冯 扬,张立新,廖明耀,齐志超
(北京中电普华信息技术有限公司, 北京 100192)
摘 要: 为了保障国家电网数据(灾备)中心的安全建设,通过对比国内外中间件产品的技术现状,提出了一套适合国家电网的中间件应用服务器的基本框架和主要功能,并对交易服务、快照服务和日志服务三个模块做出了详细介绍。之后,搭建了测试环境,对功能和性能做出了测试,结果满足设计要求和国家电网的要求。对该产品的进一步研发有助于提升数据(灾备)中心的应用服务自我恢复能力和数据(灾备)中心的建设,起到了基础应用软件支持的作用。
关键词: 数据(灾备)中心; 中间件; 交易服务;快照服务;日志服务
0 引言
数据(灾备)中心建设按照国家公司集中式数据中心建设发展要求,已经审议通过。在集中式数据中心建设方案中明确提出要进一步提高IT软硬件资源利用率,降低整体建设及运维成本,满足不断快速调优需求,提升可控和在控、安全可靠运行、容灾和恢复的能力[1]。
数据(灾备)中心建设一方面为国网私有云的建设提供了数据安全存储和备份的保障,另一方面因体系中包含中间件,云环境采用X86集群[2]方式实现会大量应用中间件。现有的应用中间件,由于没有统一的标准,配置、管理方式千差万别,每个系统都独立部署,且难以统一使用、复用和维护。国家电网公司迫切需要一个统一高效安全的中间件产品来实现对数据(灾备)中心建设的支持。
1 背景概述
1.1 研究背景
国网的安全体系中,网络层面安全已经非常规范和细粒度,做到了网络隔离、传输加密、统一权限、单点登录等。而应用中间件层次、数据库中间件层次的加密技术和安全架构仍然较模糊,此项目可以通过对中间件级别的安全技术研发,来实现更底层的安全防护。
1.2 研究现状
现有公司的中间件组件的使用均采用国外产品,版本不统一,且每个系统都需要独立采购。从历史上看应用中间件在国际上已经形成了标准,同时国网的已建成项目在开发中也遵循了这些共通标准。国内外的研究现状具体情况如表1所示。
1.2.1 Oracle WebLogic Server
WebLogic是美国Oracle公司出品的一个Application Server,确切地说是一个基于Java(J2EE)架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,也是国网部署最广泛的的应用服务中间件之一。
1.2.2 IBM WebSphere Application Server
IBM WebSphere Application Server提供了一个面向服务架构(Service-Oriented Architecture,SOA)需要的安全可扩展的应用程序基础架构。并通过J2EE 5认证,支持Java Development Kit (JDK) 6.0、EJB 3.0 和Java Persistence API(JPA),为构建可重用的持久性对象提供了简化的编程模式;对WebSphere MQ的预置支持和对WebSphere ESB的高度整合,这些产品的组合能够构成一个强大的企业服务总线(Enterprise Service Bus),可以整合多种类的应用程序和环境。
1.2.3 东方通TongWeb应用服务器
TongWeb应用服务器也是一个获得Java EE 5认证的Java应用服务器,它实现了Java EE 5规范、最新的Web服务标准和主流的互操作标准。它提供高级消息传输、Web服务、高可用性、集群和多平台支持。通过配置TongWeb应用服务器集群,可以实现负载均衡,增强应用的扩展性。通过将高度优化的会话服务器添加到TongWeb应用服务器标准版,TongWeb应用服务器企业版的集群提供从一个服务器至另一个服务器的无缝移植以及故障切换,从而可确保关键应用和服务的持续运行,帮助企业应对应用程序宕机或者服务意外无法访问等情况。
1.2.4 Red Hat JBoss EAP
JBoss的企业应用平台(JBoss EAP)是市场领先的、开源的企业级Java创新性和可扩展的Java应用程序开发和部署平台。基于企业用户对企业版JBoss的巨大需求,红帽公司作为开源解决方案厂商中的佼佼者,推出了企业版JBoss产品—JBoss EAP,得到了广大企业级、电信级客户的认同。红帽资深JBoss专家表示,企业版JBoss在JBoss AS的基础上,进行了大幅度改进,二者的差异主要体现在产品、技术、安全性、可管理性、服务支持、软件责任风险与法律问题等方面。
1.3 问题分析
从产品的延续性和兼容性上来说要求应用中间件应用服务器既能符合国际标准,又能适用于云平台。能够承载服务化的应用是对应用中间件的最大要求[3],这两种需求的难点也体现在目前国网的云平台环境尚未完全建成(中间件本身也是云平台的核心之一),在开发中如何能与云平台的建设保持同步,甚至超前是在制定业务目标时需要着重考虑的。
对比国内外常用的四种中间件产品和采用技术,需确定哪一种更能方便云平台的在变化中的构建模式,更适合在国家电网海量的不同类型的应用服务器上部署和运用。通过各方面全面分析和对比,最终采用了Jboss中间件技术,它能够便捷、低成本地实现目前建设所需的功能和性能指标。
2 关键技术和服务
2.1 中间件架构
Jboss中间件架构全面实现了Java EE 5的规范、最新的Web服务标准和主流的互操作标准,它提供高级消息传输、Web服务、高可用性、高稳定性,并提供对多种主流平台的全面支持[4]。各种模块以服务形式体现,架构如图1所示。
核心8个服务中有3个是根据现有需求改进和开发的,分别是交易服务、快照服务和日志服务。
2.2 交易服务
交易服务属于SG-APS中间件的一个功能模块,开启此功能可以处理因宕机等非正常运行而产生的中断的事务。在事务开始时、事务准备提交时以及提交后都有日志记录,如果服务器意外不能正常工作,在服务器重新启动的时候会分析不能正常工作前的日志记录,复原事务现场,提交不能正常工作前中断的事务。此模块适用于standalone场景。
2.3 日志服务
日志服务实现日志模块配置、日志级别设置、日志轮转设置、日志输出方式配置并可实现自定义日志扩展[5]。日志管理内容包括执行日志记录、获取模块描述、读取xml文件元素、解析日志元素、解析根日志元素、添加资源属性描述、添加设置参数描述、覆盖服务。
2.4 快照服务
快照服务记录了系统不同时间的工作状态,可以根据需要定制快照模式,也可以在系统出现故障时,根据原记录来恢复和回放。快照工具的主要功能包括:文件快照定制、文件快照生成、快照文件回放、快照文件存储[6、7]和管理。
3 实现流程
3.1 系统启动
3.1.1 客户端日志启动
客户端日志启动后,发送日志配送文件。日志发送配置文件包括发送文件存在的路径及发送的目的地。配置文件读取模块加载配置文件,接下来发送日志数据,包括请求发送、确定上次发送的位置。将读入的文件内容发送到服务端。
3.1.2 日志服务端管理
包括参数管理、日志数据接收和日志查询下载功能。服务端的配置文件参数包括文件的存储路径定义。
配置文件主要是对上传的日志文件存储位置的定义,此外还有日志记录解析格式的定义。格式包括如何区分不同日志和日志如何解析。
3.1.3 日志数据处理
服务端提供的服务主要包括:查询上次的传输位置,生成通信id;接收传输的数据,服务端系统时间。
系统收到的每一个日志文件有一个对应的信息文件,记录相关的记录数。
系统控制文件对应最后的信息文件,如果通信正常,则控制文件指向最后这个文件。如果不是,则说明通信异常,最后的这个文件就应该是上次完成的文件。如果不存在,则取最新文件的前一个文件。
为了确保操作的可控,控制文件先将记录当前位置的文件改名,再建立新的传输控制文件。
3.2 事务记录与恢复
在系统启动之后可以开启中间件服务器,开始事务模块的运行,并生成事务日志。日志生成记录事务工作情况,正常启动流程如图2所示。
当系统发生异常状态关闭时,再次启动后将出现事务异常的提示,需要开启数据恢复服务,根据事务日志恢复到最近标记过的正常状态,从而实现中间件的启动。恢复过程如图3所示。
3.3 快照定制和回放
通过快照的定制和回放,实现系统和程序的定期备份和追溯,按时间记录当天、一周前、一个月前等的记录和回放以及快照存储、增量备份、冗余删除等[8]。管理员快照操作的权限如图4所示.
4 测试与结果
4.1 测试环境
搭建测试环境包括硬件环境和软件环境。
硬件环境:CPU: 至少2GHz,内存:至少需要1GMB的内存,硬盘空间:至少需要2GMB磁盘空间,监视器:图形界面安装需要256色,字符界面安装没有色彩要求,浏览器:Microsoft IE7或Firefox3.0及以上版本。软件环境:JDK1.6,开发IDE工具:Eclipse 4.4、Maven 3.0.2,操作系统:Windows 7,数据库:mySQL 5.2,中间件:Jboss 7.1.1 Final。
4.2 数据库恢复结果
首先安装开发测试Java环境,搭建maven(Jboss的构建方式)工程,在standalone模式下启动Jboss集群,创建Mysql数据库,并创建测试数据。客户端添加日志。然后,突然关闭应用服务器,模拟服务器故障,数据库数据断电丢失。重新开机启动交易恢复模块,数据库数据恢复成功。数据恢复前界面如图4,恢复成功后界面如图5。
4.3 快照回放和删除
快照回放,根据快照记录恢复历史状态下的系统或程序。删除功能可以删除历史快照。功能显示如图7所示。
4.4 日志下载查询
管理用户可以通过网络远程对收到的日志文件进行查询,同时提供下载。
对于后台日志10 min建立一个文件,如果一次只能看10 min的内容,将会很不方便,因此系统提供可以跨时间段的多文件查询。日志下载界面如图8所示。
5 结束语
通过实验和测试得出了该中间件产品能够实现预期功能,经测试后的性能指标能够满足目前云平台和设计要求。具体指标参数见表2。
为提高云计算平台数据(灾备)中心的高可用(靠)性,应用中间件对应用提供自我恢复的能力管控,即知道应用是否有问题,以及支撑的Java容器是否出现故障,对出现问题的应用进程和组件提供分析、恢复、重启的能力。可以根据不同的定制策略,选择性重新启动恢复。并对数据(灾备)中心建设提供了安全的基础应用软件支持。
参考文献:
[1]姜可.浅析企业数据灾备系统的建设[J].计算机光盘软件与应用,2013(1):111-112.
[2]冯扬 云安全技术研究.电力信息与通信技术[J]. 2014,12(1).
[3]魏勇,张权.中间件技术研究[J].电子技术应用,2004,30(11):1-4.
[4]李捷.基于SOA应用JMX和JMS技术的RFID中间件设计[J].电子技术应用,2010,36(4):119-122.
[5]陈莉君,康华,贾威威.云存储日志文件系统中快照的设计与实现[J].计算机应用与软件,2013,30(7):205-208.
[6]周炜,谭怀亮,易乐天.基于带外存储虚拟化的逻辑卷高性能快照[J].计算机研究与发展,2012,49(3):637-643.
[7]阳小珊,朱立谷,罗洪元.IP网络存储的日志系统研究[J].计算机研究与发展,2011,48(z1):366-369.
[8]赵志恒,罗宇.基于细粒度快照的远程容灾系统的设计与实现[J].计算机工程与科学,2008,30(7):151-154.