郭学英,佘国诚,姜 颖
(中国民航大学a.基础实验中心;b.航空工程学院,天津 300300)
一体化环境下部署数据管理系统的设计与实现
郭学英a,佘国诚a,姜 颖b
(中国民航大学a.基础实验中心;b.航空工程学院,天津 300300)
针对信息系统运行需要部署数据作为支撑和系统在安装时通过导入安装配置文件,自动填充部署信息完成安装可以提高部署效率的情况,提出一体化环境下,使用部署数据管理系统以提供数据同步及安装配置文件输出功能。介绍了系统开发框架及相关技术,通过需求分析对系统功能进行设计,并对主要模块进行了详细设计与实现,通过测试及结果分析,表明该系统可以作为一个通用工具被应用在一体化环境下。
部署数据;数据同步;Web服务;XML
随着信息一体化在政府机关、企业、高校等单位的不断深入,部署数据逐渐成为信息系统运行的支撑性数据。另外,在信息系统推广部署期间,实施人员在进行系统安装过程中需要手动填写许多部署信息,例如系统安装IP地址、商用软件信息等,这些信息不但复杂,而且极容易出错,导致安装失败。在这样的背景下,设计开发了部署数据管理系统,该系统的应用提高了一体化环境下信息系统推广部署的实施效率,降低了差错率,为信息系统的运行提供了数据保障功能。
1.1 系统功能设计
通过部署数据管理系统在一体化环境下的需求,确定其业务功能分为4大部分:系统基础管理、部署数据同步、安装配置文件输出及数据库。其中系统基础管理又包括6个子功能模块:系统管理、信息系统定义管理、部署节点管理、部署数据模板管理、部署数据初始化、部署数据管理,如图1所示。
1)系统基础管理 为整个部署数据管理系统提供基础保障,包括信息系统定义管理、部署节点管理、部署数据管理等,其中部署数据初始化是将系统中模板型部署数据转化为某一部署节点下的实际部署数据。
2)安装配置文件输出 提供信息系统安装时需要导入的安装配置文件。
3)部署数据同步 向信息系统提供数据同步功能,保障信息系统中部署数据的一致性。
图1 部署数据管理系统功能建模图Fig.1 Function model diagram of deployment data management system
4)数据库 存储系统需要的数据。
1.2 部署数据同步模块的设计
1.2.1 解决方案
在信息一体化建设过程中,所开发出来的信息系统可能需要不同类型的操作系统和数据库,Web服务可以在各种异构平台基础上附加一个通用的、开放的、与平台无关的Web服务接口,该接口可以被各种不同平台的应用层进行调用,从而实现各个系统之间的信息共享[1]。部署数据管理系统以Web服务接口的形式向其他系统提供部署数据同步功能,有效保证了信息系统间部署数据状态的一致性。
部署数据管理系统向其他信息系统提供的部署数据采用XML作为数据内容的载体,XML是Internet环境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具[2],可以方便地转化数据库中的数据存储到XML中。
1.2.2 结构设计
部署数据同步模块按照功能共划分了4个层次,分别为变化数据获取层、数据包装层、数据转换层、数据同步服务接口层,如图2所示。
图2 数据同步模块结构示意图Fig.2 Schematic diagram of data synchronization module
1)变化数据获取层 变化数据获取层是系统对外同步的部署数据的提供者,采用触发器机制和变化审计表对数据库需要同步的变化数据进行捕获。首先为同步源表创建一个审计表,审计表中包含源表的主键字段和一些基本的控制信息,审计表结构如表1所示。在源表上建立插入、修改和删除3种触发器,当源表中某个记录发生更改时,审计表中同主键的记录也被修改,触发器自动将源表的相应信息记录在审计表里,进行同步时,只需要根据审计表就可以知道源表的变化数据。
表1 审计表结构Tab.1 Audit table structure
2)数据包装层 数据包装层是将获取的变化数据按照操作类型(如增加、修改、删除)分别封装到不同的数据集合中。
3)数据转换层 数据转换层是将封装在不同数据集合中的变化数据进行格式转换,实现从数据库到XML字符串的映射。
4)数据同步服务接口层 部署数据管理系统对外提供的数据同步功能是以Web服务接口的形式提供的,根据一体化环境下信息系统的需求定义相应的数据同步接口。
1.3 安装配置文件输出模块的设计
1.3.1 解决方案
部署数据管理系统提供的安装配置文件采用XML形式,在Web项目中,基于Freemarker[3]模板输出XML文件是最常用的一种方法。但Freemarker模板技术在应用过程中,其模板中的变量必须要赋值,如果不赋值,就会抛出异常。
部署数据管理系统提出了一种输出安装配置文件的方法,该方法的流程为:首先依据每个系统安装时需要导入的信息,设计制作一个统一的安装配置文件模板;然后在安装配置文件输出路径下新建与模板内容一致的安装配置文件;最后解析安装配置文件,查询部署数据,将数据替换文件中的占位符,形成附有具体数据的系统安装配置文件。
1.3.2 结构设计
图3为安装配置文件输出方法的结构示意图,整体结构分为4个模块:安装配置文件模板设计;新建安装配置文件;解析安装配置文件;数据查询、组织及替换文件中占位符。
图3 安装配置文件输出方法结构示意图Fig.3 Schematic diagram of installation and configuration file output method
1)安装配置文件模板设计 安装配置文件模板采用XML形式,基于XML的语法规则和信息系统安装时需要导入的信息,设计安装配置文件模板,模板中需要填充数据的地方预留替换占位符,这里的预留占位符设计为以$符号开头的字符串,$符号后面的字符串与数据库中相应表的字段名对应。某TYSFSQ系统的安装配置文件模板信息片段,如图4所示。
图4 安装配置文件模板信息片段Fig.4 Information of installation and configuration file template
2)新建安装配置文件 在安装配置文件输出路径下,新建与模板内容一致的安装配置文件。
3)解析安装配置文件 基于Dom4j技术解析安装配置文件,程序逻辑比较简单,性能上比较占有优势。
4)数据查询、组织及替换文件中占位符 依据安装配置文件中标记的含义进行相应的数据查询,并将查询出来的部署数据封装成Map类型,其中key值为数据库中相应表的字段名,value为数据库中该字段对应的数值。key值与模板中的预留占位符是相对应的,因此可以利用key/value来定位并替换模板中的预留占位符,当某value值为空的时候,预留占位符将被空串替换,因此不会抛异常。安装配置文件信息片段,如图5所示。
图5 安装配置文件信息片段Fig.5 Information of installation and configuration file
系统采用S2SH技术进行研发,S2SH即Struts2、Spring和Hibernate当前主流的J2EE轻量级框架技术,用户界面层采用Struts2以及Ajax技术实现,业务逻辑层采用Spring技术实现,数据访问层和数据实体层通过Hibernate技术实现[4]。服务器结构采用服务器/浏览器(B/S)模式,数据库采用SQL Server2008,Web服务器采用Weblogic,能够支持很大的用户并发访问量。
2.1 数据同步服务实现
Apache CXF是一个开放源代码框架,用于方便地构建和开发Web服务的可靠基础架构,部署数据管理系统基于CXF与Spring整合框架进行数据同步服务的开发和部署,简化了服务的部署工作。在spring-cxf. xml文件中配置发布的Web Service,代码如下:
2.1.1 服务接口的实现
部署数据管理系统对外提供的数据同步接口共8个,如图6所示,包括最大审计流水号获取,部署数据获取等接口。其中部署数据获取接口的返回值封装为一个类对象,为了对异构信息系统提供不同的适应性,通用的情况是将增加和修改记录封装在一起,但有的系统需要分开封装,因此在返回对象上进行了多种处理。返回对象包含的属性描述如图7所示。
图6 部署数据同步服务提供的接口Fig.6 Service interface of deployment data synchronization
图7 部署数据同步接口返回值的封装Fig.7 Return value package of deployment data synchronization interface
2.1.2 批量同步的实现
在一体化项目建设过程中,随着大量信息系统上线运行,部署数据管理系统的业务量将会明显提高,数据同步服务的压力也将会逐渐增大,为了避免信息系统在大规模并发调用数据同步服务时,出现内存溢出及服务器宕机等问题,系统对数据同步模块进行了优化,信息系统在进行部署数据同步时会涉及到大量的本地化保存操作,因此占用数据同步服务连接资源的时间就比较长,部署数据管理系统采取了分批同步机制,每批同步的部署数据量可以通过配置文件进行配置,这样可以通过配置较小的数据同步量来降低一次同步数据所占用服务资源的时间,同时也降低了同时刻数据同步服务的并发访问量。批量数据同步流程,如图8所示。
图8 批量数据同步流程Fig.8 Flow chart of batch data synchronization
2.1.3 XML字符串封装的实现
数据同步服务返回的部署数据为XML字符串格式,将数据对象转换为XML字符串,为了获取数据字段,采取了Java反射技术。Java反射机制是在运行状态中,对于任意一个对象,都能够知道这个对象的所有属性和方法,这在构建XML字符串上带来了很大的便利。XML字符串封装流程图,如图9所示。
图9 XML字符串封装流程图Fig.9 Flow chart of XML string package
2.2 安装配置文件输出模块实现
在安装配置文件输出模块的开发过程中遇到了一些问题,大部分系统的部署方式为三级或两级部署,安装时有时需要同级、上级或最高级其他系统的部署信息,因此在安装配置文件模板中建立关联参数节点
将部署数据管理系统及数据库部署在一台DELL服务器上,该服务器的硬件配置:Intel双核(主频3.4 GHz);内存4 G;服务器操作系统:Windows Server 2008;硬盘:500 GB。
图10 安装配置文件输出流程图Fig.10 Flow chart of installation and configuration file output
在稳定性测试方面,利用Loadrunner 11.0对部署数据管理系统的基础模块(包括系统定义增加、部署节点增加、部署数据模板增加、部署数据初始化、安装配置文件生成、部署数据同步)分别进行脚本录制及自动化测试,每个模块的测试设置:并发用户为100个、执行时间为0.5 h。测试执行期间,DELL服务器的系统资源消耗情况如图11所示,图中曲线自下而上分别表示磁盘利用率、CPU利用率、所有进程工作集内存、系统可用内存。由图11部署数据管理系统未见明显异常,服务器的CPU利用率低于50%,比较稳定,系统可用内存率无明显降低,磁盘利用率无明显上升现象(操作日志在不断记录),系统运行比较稳定。
性能测试主要测试部署数据同步服务的并发访问情况,针对queryDataByIDstable接口进行压力测试,设置并发用户为100个,每批同步的部署数据量为100条。测试结果如图12所示,部署数据同步模块在并发用户量为100个时,运行比较稳定,响应时间控制在11 s以内,系统没有出现内存溢出情况,全部执行成功,表明数据同步服务可支持100个并发访问量。
图11 服务器资源监控图Fig.11 Monitoring of server resource
图12 数据同步接口并发测试结果Fig.12 Concurrent test result of data synchronization interface
针对一体化系统在推广部署时存在的问题,设计和研发了部署数据管理系统,并对该系统的主要模块进行了测试,表明部署数据管理系统的设计与实现是合理的,可满足一体化环境下信息系统对部署数据的需求,大大简化了系统的安装过程,降低了差错率,提高了信息系统推广部署的效率。该系统已在消防一体化生产环境下部署运行,并可作为一个通用的部署数据管理工具而被应用到其他一体化环境下。
[1]贾青梅.基于WebService的数据同步[D].北京:北京邮电大学,2010.
[2]徐瑞雪.基于JAVA/XML的分布式数据同步系统的设计和实现[D].大连:大连海事大学,2011.
[3]耿晓君,陈章其.Struts2下基于FreeMarker的XML数据输出与ExtJS的解析实现[J].江苏广播电视大学学报,2009(5):59-62.
[4]黄大秀,梁 弼.基于S2SH的大学生综合素质评测系统的设计与实现[J].软件导刊,2013,12(1):86-88.
[5]郑扬飞,金 辉,张 勇,等.消防一体化环境下的信息交换平台关键技术研究[J].计算机工程与应用,2012,48(7):1-4.
[6]石 勇.Web服务安全问题及其对策研究[D].北京:北京师范大学,2008.
[7]胡 博.通用数据采集的研究及基于规则的数据转发的设计和实现[D].长春:吉林大学,2006.
[8]黄健荣,郭昌言,于萧榕.基于SOA的房产信息系统研究和应用[J].现代电子技术,2010(6):67-70.
[9]夏威威.基于XML的内外网数据同步系统的设计与实现[D].大连:大连海事大学,2011.
[10]李亦飞.基于B/S架构的轻量级Web框架的设计与实现[D].苏州:苏州大学,2008.
[11]刁书滨.Web系统间信息交换接口的设计与实现[D].长春:吉林大学,2011.
(责任编辑:党亚茹)
Design and implementation of deployment data management system in integration environment
GUO Xue-yinga,SHE Guo-chenga,JIANG Yingb
(a.Basic Experiment Center;b.College of Aeronautical Engineering,CAUC,Tianjin 300300,China)
The operation of information system requires deployment data as support in integration environment;system fills deployment information automatically by importing installation and configuration files,in which way the deployment efficiency can be improved.Deployment data management system is proposed to achieve data synchronization and perform installation configuration file output function.System development framework and related technologies are introduced.System functions are planed through needs analysis.Main modules are designed and implemented in details.Test results show that the current system can be applied in integrated environments as a general tool.
deployment data;data synchronization;Web service;XML
TP311
:A
:1674-5590(2014)08-0031-05
2014-01-06;
:2014-03-02
中央高校基本科研业务费专项资金(ZXH2012D003)
郭学英(1983-),女,河北邯郸人,助理实验师,硕士,研究方向为信息系统管理、计算机网络技术.