蔡嘉荣 王顺意
摘 要: 电网公司电力营销系统是一个直接面向客户、覆盖营销全过程、省级集中部署的核心业务系统。系统规模庞大,需要借助中间件平台以及集群技术来保证其性能和可靠性。随着基础软件国产化进程的推进,电力营销系统也在国产中间件上进行了部署研究。本文首先介绍了电力营销系统的架构和技术要求;然后分析了国产中间件的现状和发展趋势,以及InforSuite中间件与WebLogic的性能对比情况;最后着重讲解了如何利用集群配置、客户端负载均衡、缓存等技术实现电力营销系统在InforSuite集群上的部署,设计出了电力营销系统在InforSuite集群上的部署方案。
关键词: 国产中间件; InforSuite; 电力营销系统; 集群技术
中图分类号: 文献标志码:
Research on Power Marketing System Cluster Technology Based on
Domestic Middleware InforSuite
CAI Jiarong, WANG Shunyi
(Information Center, Guangdong Power Grid Co. Ltd., Guangzhou 510062)
Abstract: The power grid marketing system is a core business system that directly targets customers, covers the whole process of marketing, and is deployed at the provincial level. The system is large in scale and requires middleware platforms and clustering technologies to ensure its performance and reliability. With the advancement of the localization process of basic software, the power marketing system has also carried out deployment research on domestic middleware. This paper first introduces the architecture and technical requirements of the power marketing system; then analyzes the current status and development trend of domestic middleware, and the performance comparison between InforSuite middleware and WebLogic; finally focuses on how to use cluster configuration, client load balancing, Cache and other technologies to realize the deployment of the power marketing system on the InforSuite cluster, and designs the deployment plan of the power marketing system on the InforSuite cluster.
Key words: Domestic middleware; InforSuite; Power marketing system; Cluster technology
0 引言
随着社会的快速发展,人口的不断增长,供电企业面临的要求也越来越严格,为了给客户提供更好的服务,供电企业必须积极完善企业内部制度,采取有效的管理来应对日益严峻的挑战,而在信息化技术日新月异的今天,电力营销信息管理系统已成為供电企业的不可缺少的必备工具,它直接面向用户、覆盖电力营销的全过程,是供电企业的核心处理系统。电网公司在“十二五”信息化规划中也提出了建立一体化、集约化、全闭环的电力营销信息体系,用统一的信息技术促进全网实现营销业务的标准化,全面提升全网营销业务的管理、质量和服务水平,最终达成为客户全方位服务的目标。遵循“统一管理、分工负责;统一标准、统一设计;试点先行、分步推广”的建设管理原则,由电网公司统一组织建设成全省统一版本,业务数据全省集中,业务流程分级分类管控,网、省、地、县四级机构全方位覆盖的电力营销系统。
省级集中后的电力营销系统规模庞大,需要借助硬件、软件相结合的集群技术来保证系统的性能和可靠性。而中间件[1]作为承上启下的中间层,起着至关重要的作用。
电网公司电力营销系统最初使用Oracle公司的Weblogic12C中间件,随着国家对基础软件“自主可控”的政策推行,国产操作系统、国产数据库作为各大组织信息化的基础应用,不同行业纷纷制定政策,开始向国产化倾斜,以金融行业为首,银行IT采购出新规,发出了“国进洋退”的积极信号。随着斯诺登事件的曝光和事态延续,信息安全已经上升为国家战略高度,引起全社会的关注。大力推进信息基础设施国产化工作已成为当前中央关于加强信息安全建设的重要工作精神。电网公司深入贯彻中央精神,大力推进信息系统基础支撑软件的国产化工作。本文的主要内容是对现有电力营销系统进行中间件的国产化改造,提出了一套较为完整的在国产中间件InforSuite分布式集群环境中进行应用构建的实现方案。
1 电力营销系统架构
电网公司电力营销系统是一个省级集中部署的系统,系统的高效、稳定、易维护是技术架构设计的核心,经过对多种技术路线的选型,最终采用了基于SOA的多层架构技术[2],将表示逻辑、业务逻辑与数据逻辑相分离,以提高系统的并行操作、网络计算能力;引入SOA内部总线技术,采用基于接口、面向组件服务的内部SOA模式,以提升系统的灵活性;系统基于软件分层设计思想,以降低组件的耦合度,增强软件的可维护性、可扩展性。技術架构如图1所示。
电力营销系统一共分四层[4],自上而下后依次为:前端展现层、接入服务层、服务组件层和数据存储层。
前端展现采用B/S模式的瘦客户端,通过JSP+Ajax技术实现富客户端用户体验;接入服务层通过Servlet响应前端的HTTP请求,调用服务组件层的组件完成业务逻辑操作。接入服务层部署在多个Weblogic中间件集群上,客户端请求通过负载均衡器分发到不同的Weblogic中间件集群里。接入服务层负责服务的接入控制、服务路由和协议适配,由电力营销系统开发商实现。服务组件层集中了电力营销系统所有业务逻辑的实现及数据处理,是SOA系统的核心层[3]。计算量和数据吞吐量都很大,对硬件设备性能要求也最高,也要求很好的横向扩展性。Java服务组件也部署在Weblogic集群上。数据存储层用于存储电力营销系统涉及的全部数据,同时对服务组件层提供数据访问服务,采用的是Oracle数据库。
2 中间件技术介绍
借用IDC对中间件的表述为:中间件是一种独立的系统软件,位于客户机服务器的操作系统上,管理计算资源和网络通信,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件具有平台化、应用支撑性、软件复用、降低耦合关系和提高软件复用度等功能。根据中间件的支撑作用和架构的定位可以分为三类产品:应用服务类中间件、应用集成类中间件、业务架构类中间件。其中应用服务类中间件为应用系统提供一个综合的计算环境和支撑平台,包括对象请求代理(ORB)中间件、事务监控交易中间件、Java应用服务器中间件等。由于电网公司的电力营销系统采用了JavaEE的技术体系,所以本文主要介绍Java应用服务器中间件。JAVA应用服务器中间件为企业应用提供Web服务、数据访问、部署、远程对象调用、消息通信、安全服务、监控服务、集群服务等强化应用支撑的服务。因为本文要论述的是对集群技术的研究,所以此处重点介绍集群服务。
集群是指一组相互独立、通过高速网络互联的计算机,他们组成了一个组,并以单一系统模式加以管理,具有伸缩性、高可用性、负载均衡、容错、失效转移和幂等性。集中技术要解决两个问题:负载均衡和失效转移。当有许多客户端向目标对象同时发送请求时,需要将请求分发到集群中不同的节点上,这就是负载均衡。Web应用中大都需要会话状态,会话状态是存储在服务器的某个地方并与当前浏览器会话相关联,当再次请求时就能重新获取会话中保持的信息。负载均衡的最佳的方案就是利用会话粘滞技术将请求分发到上次相同的服务器实例中以保持会话信息。如果请求中间这个服务器实例失效了,需要检测到这次失败并将请求重定向到另一个可用的服务器实例中,会话复制技术会保证另一个服务器实例中有会话信息,这即是失效转移,集群通过这种方式获得容错能力。Web负载均衡大都是在浏览器和Web服务器之间插入一个负载均衡器,负载均衡器可以是一台硬件,如F5负载均衡器,也可以用软件来充当。
典型的Java应用服务器产品包括IBM公司的Websphere和Oracle公司的 Weblogic。本文提到的电力营销系统就是部署在Weblogic 应用服务器集群中。中间件技术是在国外发展起来的,他们起步早、发展速度快、发展水平高。国内中间件厂商经过近十几年的不断发展,进步很快,逐渐赢得了一些市场,但和国外的中间件产品比,还是存在一些差距。
电网公司采购的国产中间是中创InforSuite服务器,为了验证电力营销系统在其上能否稳定、高效运行,对InforSuite环境中的电力营销系统做了性能测试,并和WebLogic进行了对比。测试所用的WebLogic和Inforsuite集群采用同样的硬件和资源配置,部署了相同版本的电力营销系统,连接相同的业务数据库。采用LoadRuuner压测工具,利用nmon同步抓取了CPU、内存、网络等系统资源使用情况。
测试结果如表1所示:
分析测试结果,我们可以看出与Weblogic 相比,InforSuite在性能上相差不大,但在资源利率上存在不小的差距。要想在电力营销系统的生产环境中使用国产中间件,就必须对InforSuite集群技术进行深入研究,扬长避短,给出科学合理的迁移和部署方案,保证国产中间件集群满足电力营销系统的要求。
3 集群技术研究
电力营销系统国产中间件的迁移改造涉及多方面的工作,本文重点从集群配置策略[4]和缓存两个方面来讲解电力营销系统向InforSuite迁移的部署方案和优化工作。
3.1 集群配置策略
电力营销系统一共配置了4台WEB服务器,为了充分利用这4台WEB服务器的资源和提高系统的可靠性,对这4台WEB服务器的配置策略如下。
在这4台服务器上一共创建4个Domain,就需要有4个Admin Server,即每台服务器都安装1个Admin Server。因为每台服务器的配置都很高,32核CPU和256G内存,为了充分利用这些资源,在每台服务器上都创建16个Server,一共有64个受管Server,每个Domain有16个受管Server。为了提高系统的可靠性,让每个Domain的受管Server都平均分布在4台Server上。即每个Domain都是跨服务器的集群。同时在集群上启用会话复制。如图2所示。
在InforSuite服务器集群前端配置有F5硬件负载均衡器,根据IP地址将不同地域的请求路由到4个集群中的某一个集群上。当集群中的某个受管Server失败后,负载均衡器会将新的客户端请求发送到集群内其他的受管Server上。由于启动了会话复制,Session信息不会失效,因此客户端不需要重新登录。
服務组件层的Java组件服务器也采用了同样的配置策略,但考虑到系统的规模而采用了8台硬件服务器。同样创建4个Domain,每个Domain包括1个管理Server和16个受管Server,16个受管Server平均分布在8台服务器上并组成集群,配置方式如图3所示。
采用跨服务器集群配置策略,即使有一台硬件服务器宕机,只会造成这台机器的16个处理节点失效,不影响任何一个集群,就是说每个集群虽然节点少了,但集群的服务还在。
每个WEB集群的请求都发送到一个对应的Java组件服务器的集群中,由于Java组件服务使用EJB技术实现,因此采用EJB自带的负载均衡技术。
3.2 集群下缓存的优化
电力营销系统为了提高运行效率,采用了缓存技术[5],但集群的环境对缓存的刷新和同步有影响。
系统中采用的缓存设备有两种:本地缓存和集中式缓存。本地缓存优点是效率高,操作简单;缺点是一旦集群中某个节点对数据进行了更改,就需要通知其它节点对缓存进行刷新。集中式缓存则利用网络和内存库技术将信息存放在外部设备中,如内存对象缓存系统Memcached,集群中所有节点都访问相同的缓存服务器,其优点是数据刷新简单,某节点对数据进行修改能为大家所共享;缺点是效率相对较低,特别是在缓存数据量大的情况下,信息的序列化和传输也会损失部分性能。就是说本地缓存和集中式缓存各有优缺点,如何能够扬长避短,有效的提高电力营销系统在InforSuite集群环境中的运行效率是个问题。
为了解决上述问题,作者对电力营销系统进行了改进,最终采用了两种缓存结合的方式,充分发挥每种方式的优点。具体方式如下:将要缓存的数据放在本地内存中,并且给数据的缓存对象增加一个数据加载时间的标记,同时在集中式缓存中记录数据的最近修改时间。当节点访问本地缓存数据时,通过对比数据加载时间标记和最近修改时间来判断本地缓存是否过期。利用这种方式不仅减轻了集中式缓存的网络压力,同时也解决了集群间缓存的同步和刷新问题,使系统运行效率得到了较大的提升。
4 总结
利用论文研究成果对电力营销系统进行了优化和改进,改造后的电力营销系统已经在InforSuite集群环境中成功部署并稳定运行,在性能和可靠性方面满足生产环境的要求。
分布式集群环境下的系统运维和监控工作是个很大的挑战,另外随着网上营业厅、掌上营业厅、微信客服平台等客户服务渠道的不断扩展,对电力营销系统集群的弹性部署、智能监控等方面提出了更高的要求。因此如何实现电力营销系统的自动弹性部署、智能日志监控与异常预警将是今后的重点研究工作。
参考文献
[1] 张云勇.中间件技术原理与应用[M]. 北京:清华大学出版社, 2004.
[2] 毛新生. SOA原理方法实践[M].北京:电子工业出版社, 2007.
[3] Dirk Krafzig, Karl Banke, Dirk Slama. Enterprise SOA[M].北京:清华大学出版社, 2006.
[4] 葛五祥,陈志刚.基于三层B/S模式的分布式系统设计[J].北京:计算机技术与自动化, 2004.
[5] 郭欣.构建高性能Web站点[M]. 北京:电子工业出版社,2009.
(收稿日期: 2019.06.17)
作者简介:蔡嘉荣(1986-),男,硕士研究生,工程师,研究方向:软件工程、电力营销信息化。
王顺意(1983-),男,湖北人,大学本科,工程师,研究方向:电力营销信息化。文章编号:1007-757X(2020)02-0124-04