林 珠,李海威,杨柏蔼
(1.广东省科技基础条件平台中心 高性能计算重点实验室,广东 广州 510033;2.华南师范大学 计算机学院,广东 广州 510631)
基于云存储与J2EE架构的信息系统设计及应用
林 珠1,李海威1,杨柏蔼2
(1.广东省科技基础条件平台中心 高性能计算重点实验室,广东 广州 510033;2.华南师范大学 计算机学院,广东 广州 510631)
随着大数据时代的来临,云计算及其数据处理技术在信息系统中的运用越来越普及,特别在数据的存储与服务的应用方面,云计算具有大规模存储和按需服务的优势。如果将云计算技术与当前J2EE技术相结合,能够促进信息系统的高效运行和服务推广。为运用存储技术解决现阶段常见的结构化和非结构化数据共存的问题,以建设青少年创新服务平台为背景,在青少年创新服务平台需求分析的基础上,将云计算中的存储技术与现阶段流行的J2EE开发框架有机结合,设计并开发了基于云存储与SpringMVC、MyBatis架构的青少年创新服务平台系统,并运用于青少年创新资源库的存储,较好地解决了云存储与信息系统中MVC框架相结合的问题。运行结果表明,所构建的青少年创新服务平台,有效促进了广东省青少年科技工作的开展,加快了广东省青少年科技创新能力建设的进程。
创新服务平台;Spring;MVC;MyBatis;NoSQL
当今世界,科技发展继续突飞猛进,科学技术已成为经济、社会发展的主要驱动力。科技创新能力作为科技竞争力的核心和国家竞争力的基石,正以前所未有的力量左右着国际竞争的格局。国内经济发展逐步进入了一个从传统生产要素驱动向创新要素驱动的新阶段,建设创新型国家是二十一世纪国内经济发展和科技进步的重大战略[1]。青少年作为祖国未来建设的接班人,其科技创新能力直接影响着创新型国家的建设。青少年科技创新能力的培养离不开良好的创新活动环境,广东省青少年科技竞赛服务平台的建设是实施素质教育和搭建青少年科技创新环境的重要渠道和方式之一,能够将青少年科技活动的资源有机结合在一起,为青少年提供更丰富的科技教育资源,为青少年科技竞赛活动组织实施者提供开展活动所需的资源和技术支持。通过该平台的有效实施,可以提高青少年的科技创新能力,促进青少年对科学的积极态度,促进青少年跟科技工作者的分享和交流;可以提高青少年的团队合作能力;可以提高青少年学习科学知识的技能,促进青少年提高自主解决问题的能力;可以提高青少年在课外的工作技能和独立工作的能力。
因此,建设广东省青少年科技竞赛服务平台,既是保障国家科技创新人才培养的重大战略举措,也是解决广东对科技创新型人才的长久需求,确保广东经济持续发展的必然要求,具有十分深远的意义。为此,基于现阶段流行的J2EE架构,搭建了MyBatis+Spring MVC+VUE框架[2],并采用云存储方式解决青少年创新资源库的存储难题[3],设计并实现了广东省青少年科技竞赛服务平台的建设。
“广东省青少年科技竞赛服务平台”是具有信息发布、交流学习、活动申报、作品查询等功能的综合性网络服务平台,该项目整合了广东省青少年科技创新活动中所有科技创新作品资源,采用基于云计算的体系架构,建立一个面向全省青少年和青少年活动实施者的网络服务云,为服务对象提供按需自助的云服务。项目建设围绕青少年科技竞赛活动中科技竞赛项目申报和科技创新作品资源整合两部分内容开展,充分利用全省的科技创新资源有效促进青少年科技创新能力的培养。
(1)科技竞赛服务子平台。
科技竞赛服务平台为青少年提供各式各样的科技活动信息和科技活动资源,为青少年活动的实施者,包括政府、学校、研究所等活动开展工作提供方便快捷的服务。通过该科技竞赛服务平台,青少年能了解全省范围内的各种竞赛项目,以平台为桥梁参与各种竞赛活动。平台采用WEB2.0交互式应用技术,支持各类机构和人员便捷地进行活动申报与审批,作品提交与查询,网上交流和合作研究等,有效促进全省的科技创新服务工作的开展。科技竞赛服务平台主要包括信息发布、交流学习、活动申报、作品查询等功能。
信息发布的内容主要包括单位简介、新闻动态、通知文件、活动介绍、活动掠影、地方快讯、资料下载、网站链接等。主要内容围绕广东省青少年科技竞赛的主题来进行,通过平台,青少年用户和社会各界人士可以获悉组织各类竞赛的组织单位介绍,最新的关于青少年科技竞赛开展的活动信息,以及广东省内各地区开展科技竞赛的情况和成果;而组织单位可以通过平台发布相关的竞赛通知文件,详细介绍各类竞赛规则,宣传科技知识、上传科技材料等。
交流学习主要是为了促进青少年活动的实施者进行科技创新教育工作方面的交流。交流学习面向广东省青少年科技教育协会会员及其他各市县的管理人员。登陆方式选取会员登陆,然后可以使用平台的交流学习模块进行相互沟通。
活动申报系统是平台的重要组成部分,也是协助广东省范围内科技竞赛活动成功开展的有效举措。竞赛活动的申请者可以对创新大赛、机器人竞赛等各类科技创新活动进行申报,申报由省级管理者抽取项目授权号给地市管理者,而申报人员凭该授权号在申报系统中进行活动申报。申报人员通过申报系统提交需求和相关信息,提交也可以对自己以往的申请纪录进行查看,并在该申报系统中获悉最终的申报结果。
(2)创新资源库。
平台需建设高质量、具有实际应用的创新作品资源库,该库主题分明、内容齐全、标准规范化、平台稳定,同时涵盖了各年级、各学科,各种创新竞赛等多种形式的作品。创新作品资源库收集和整合的内容主要包括广东省范围内创新大赛的作品以及全省机器人竞赛创意类作品等所有全省范围内开展的青少年科技创新活动的作品资料。
创新资源库的创新之处在于该资源库并非是简单的信息统计,而是通过整合技术需要将作品进行分门别类,集资料检索、查询于一体。该资源库主要研究基于互联网的创新资源的自动监测与采集技术,实现对青少年科技创新资源信息智能分析、自动分类和自动索引,结合智能整合方式、动态感知和信息导航等多种技术,为平台高效的信息整合提供有力的技术支撑。
针对以上架构的特点,为实现快速开发、快速部署、便于维护的目标,使用B/S设计模式,其软件体系结构采用基于构件和服务的分布式计算系统结构[4],如图1所示。
平台采用四个高性能计算搭建成Hadoop集群[5],其中主节点一个,从节点三个。主节点作为分布式存储的入口,三个从节点均安装基于Hive的开源数据仓库框架的数据库集群[6]和基于Hbase技术的NoSQL存储集群[7]。
图1 广东省青少年科技竞赛服务平台架构
整个系统在分布式企业开发平台(J2EE)框架基础上进行开发,采用当前流行的MyBatis+Spring MVC+VUE框架[8],其中MyBatis用于处理结构化的数据,与Hive数据库直接关联,其非结构化部分,将采用NoSQL数据库[9]进行存储。平台最终创建了创新资源库,并在此基础上,进行信息发布、学习交流、活动申报、作品查询等,有利于青少年开展创新活动。
3.1MyBatis+SpringMVC+VUE框架
在开发过程中采用高吞吐量的MVC设计模式,框架为MyBatis+Spring MVC+VUE,如图2所示。
图2 MyBatis+Spring MVC+VUE框架
在Web应用系统里使用MVC三层架构是最普遍的方法,包括数据持久层、业务层和表示层[10]。数据持久层主要进行对数据库的操作,考虑到青少年创新资源的数据类型多样,将其分为结构化与非结构化进行存储。因此,该部分主要分为两个方面:一方面,为结构化数据提供的Mybatis技术与Hive数据库进行SQL连接;另一方面,为非结构化数据提供NoSQL连接Hbase数据库[11]。业务层主要是处理一些业务逻辑,包括对数据的计算和处理,对业务流程的实现。表示层主要处理两件事情,一件是接收和处理用户的请求,另一件是发布交易数据。
选用J2EE技术结合MVC(模型、视图、控制器)等软件设计思想来开发管理系统和应用系统,在前台采用灵活丰富的各种控件进行界面展示,为用户进行存储管理和应用提供良好的用户体验。其中Mybatis框架用来读写MySQL数据库,实现持久层功能;VUE框架用来实现各种业务逻辑,渲染界面视图;Spring MVC框架用来充当控制器核心,同时作为底层的Ioc容器,用来提供对象的依赖注入,并整合和集成Mybatis和VUE这两个框架,使其运行协调有效。
3.2以云存储的方式搭建创新作品库
项目采用云存储的方式搭建创新作品库,利用了前沿的云计算技术,将高性能计算机集群建设作为超云服务器。平台采用四个高性能计算搭建成Hadoop集群[12],其中主节点一个,从节点三个。主节点作为分布式存储的入口,协同为用户提供存储服务,三个从节点均安装基于Hive的开源数据仓库框架的数据库集群和基于Hbase技术的NoSQL存储集群。
Hive是基于Hadoop的开源数据仓库框架,具有数据量远超传统数据库、成本低廉、扩展性好、支持标准SQL查询语言等特点,但也存在不支持数据预处理、应用整合能力不足、查询延迟等问题。Hbase是在Hadoop之上构建的非关系型、面向列存储的开源分布式结构化数据存储系统,其具有数据有序稀疏数据列存储、行级别数据一致性等特点,但存在面向特定应用设计,应用代码重用度不高、缺乏统一接口标准、产品成熟度不高等问题[13]。
在数据存储和管理机制上,将在Hive、Hbase等开源工具的基础上进一步完善。在数据分布式加载框架方面,结合创新资源的预处理技术,实现并行、持续、可预处理的分布加载系统;在智能索引机制方面,将在基于数据块统计信息的查询优化实际上投入更多精力,通过创新资源存储智能分层和分类技术,优化系统性能,实现面向不同查询,根据查询代价动态选择索引,进一步缩短查询响应时间。
Hive与Hbase的结合存储,也就是SQL与NoSQL的结合存储[14]。NoSQL具有动态扩展的优势,特别适合存储创新作品这种类型的数据,然而,作为信息平台,仍需要处理和维护关系型数据,因此平台根据不同的情况采取不同的存储方式。对于结构化数据,仍按平常的方式进行存储,即采用SQL进行写入HIVE数据库,查询直接从HIVE数据库读取;对于非结构化数据,在写入Hbase数据库的同时,将基本索引信息同时写入HIVE数据库,查询时直接从Hbase数据库中读取。将非结构化的基本信息同时存入关系型数据库,保障了平台在实现信息展示、活动申报、作品审批等业务功能更容易实现,提高了系统的运行效率。
项目建设了广东省青少年科技竞赛服务平台,通过平台,带动了广东省青少年科技教育活动的发展,通过平台积极开拓,不断创新,组织开展形式多样、深受广大青少年喜爱的科技教育活动,充分利用全省的科技创新资源有效促进青少年科技创新能力的培养。形成了广东省青少年科技创新大赛、广东省青少年机器人竞赛、广东省青少年科学教育特色学校创建活动、全国青少年高校科学营广东营活动和广东省青少年科学调查体验活动等青少年科技活动品牌,活动多,普及面广,成效显著。
平台前端界面如图3所示。
图3 平台效果展示
平台进行多元化在线服务,为学生、教师、组织者、专家、家长等用户提供活动申报、专家评审、会员申请、互动交流、档案查询等功能,有效促进青少年科技创新服务的开展。
为了解决现阶段信息系统中常见的结构化存储与非结构化存储共存的问题,充分利用MyBatis+Spring MVC+VUE框架,将数据分别存入Hive与Hbase数据库,设计并构建了青少年创新服务平台。通过该平台,青少年可以自主学习科普知识,了解科技发展现状,以及同龄人所关注的科技活动,该平台所起的作用不仅仅是青少年科技资源的共享,同时也是青少年科技学习和能力培养的有效依托。平台建设完成后,有效促进了广东省青少年科技工作的开展,提高了各种竞赛的组织实施和评审工作,加快了青少年科技创新能力建设的进程。
[1] 竺 凌.在科技创新教育中应用信息技术的教学探究[J].科技创新导报,2016,13(4):144.
[2] Zhang D, Wei Z, Yang Y. Research on lightweight MVC framework based on spring MVC and Mybatis[C]//International symposium on computational intelligence & design.[s.l.]:[s.n.],2013:350-353.
[3] Chang V,Wills G.A model to compare cloud and non-cloud storage of big data[J].Future Generation Computer Systems,2016,57:56-76.
[4] Agrawal D,Bisdikian C,Calo S B,et al.Application-requirement based configuration designer for distributed computing systems[C]//International workshop on vehicle routing in practice.[s.l.]:[s.n.],2015.
[5] 彭 明,孙 峰.基于Hadoop的云存储集群的设计[J].闽南师范大学学报:自然版,2015,28(1):54-58.
[6] Maheswari N,Sivagami M.Large-scale data analytics tools:Apache Hive,Pig,and HBase[M]//Data science and big data computing.[s.l.]:[s.n.],2016.
[7] Lee C H, Zheng Y L. Automatic SQL-to-NoSQL schema transformation over the MySQL and HBase databases[C]//IEEE international conference on consumer electronics.Taiwan:IEEE,2015:426-427.
[8] 吴婉楠.基于SpringMVC和MyBatis框架的炒股比赛系统的设计与实现[D].南京:南京大学,2016.
[9] 杨 磊.基于NoSQL的多维Web数据仓库框架设计与应用[D].北京:中国科学院大学,2014.
[10] Freeman A. The MVC pattern, projects, and conventions[M]//Pro ASP.NET Core MVC.[s.l.]:Apress,2016.
[11] 谭洁清,毛锡军.Hadoop云计算基础架构的搭建和hbase和hive的整合应用[J].贵州科学,2013,31(5):32-35.
[12] 陈 伟.基于Hadoop平台的教育云存储系统的构建方法[J].中国医学教育技术,2015,29(1):29-33.
[13] 高金标,何利力,邹云阳.基于分布式存储系统的Hive与Hbase的研究[J].工业控制计算机,2015,28(12):44-45.
[14] 王 艳,董丽丽.NoSQL与关系数据库相结合的设计与实践[J].电脑知识与技术:学术交流,2014(9):1857-1859.
DesignandApplicationofInformationSystemBasedonCloudStorageandJ2EEArchitecture
LIN Zhu1,LI Hai-wei1,YANG Bai-ai2
(1.Key Lab of High Performance Computing,Guangdong Province Science and Technology Basic Condition Platform Center,Guangzhou 510033,China; 2.College of Computer,South China Normal University,Guangzhou 510631,China)
With the advent of big data era,the cloud computing and its data processing technology have become more and more popular in applications of information system.Especially in applications of data storage and service,it has advantages of large-scale storage and on-demand services.The cloud computing technology combined with the current J2EE technology can promote the efficient operation of information systems and services.In order to solve the problem of coexistence of structured and unstructured data at the present stage,with construction of youth innovation service platform as background,the analysis on requirements of that is conducted.Thus a youth innovation service platform system based on cloud storage and SpringMVC,MyBatis architecture is designed and established via integration of storage technology with currently popular J2EE development framework,which has been applied in the storage of youth innovation service platform and has solved the problem in integration of cloud storage with MVC framework.The operation results show that it has effectively promoted the expansion of science and technology among the youths in Guangdong Province,and accelerated the construction of science and technology innovation capability in Guangdong Province.
innovation service platform;Spring;MVC;MyBatis;NoSQL
TP302
A
1673-629X(2017)10-0177-04
2016-10-31
2017-02-10 < class="emphasis_bold">网络出版时间
时间:2017-07-19
广东省科研设施与仪器向社会开放共享(试点)及共享服务管理模式创新计划项目(2015B030304001);广东省科技资源数据分析与开放共享服务平台建设(2014B070706004);大型设施设计虚拟展示关键技术的研发(2015A030401052)
林 珠(1983-),女,高级工程师,硕士,研究方向为数据挖掘和人工智能、信息系统。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170719.1109.034.html
10.3969/j.issn.1673-629X.2017.10.037