蔡嘉榮 王順意
摘 要: 電網(wǎng)公司電力營銷系統(tǒng)是一個直接面向客戶、覆蓋營銷全過程、省級集中部署的核心業(yè)務系統(tǒng)。系統(tǒng)規(guī)模龐大,需要借助中間件平臺以及集群技術來保證其性能和可靠性。隨著基礎軟件國產(chǎn)化進程的推進,電力營銷系統(tǒng)也在國產(chǎn)中間件上進行了部署研究。本文首先介紹了電力營銷系統(tǒng)的架構和技術要求;然后分析了國產(chǎn)中間件的現(xiàn)狀和發(fā)展趨勢,以及InforSuite中間件與WebLogic的性能對比情況;最后著重講解了如何利用集群配置、客戶端負載均衡、緩存等技術實現(xiàn)電力營銷系統(tǒng)在InforSuite集群上的部署,設計出了電力營銷系統(tǒng)在InforSuite集群上的部署方案。
關鍵詞: 國產(chǎn)中間件; InforSuite; 電力營銷系統(tǒng); 集群技術
中圖分類號: ? ? ? 文獻標志碼:
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 引言
隨著社會的快速發(fā)展,人口的不斷增長,供電企業(yè)面臨的要求也越來越嚴格,為了給客戶提供更好的服務,供電企業(yè)必須積極完善企業(yè)內部制度,采取有效的管理來應對日益嚴峻的挑戰(zhàn),而在信息化技術日新月異的今天,電力營銷信息管理系統(tǒng)已成為供電企業(yè)的不可缺少的必備工具,它直接面向用戶、覆蓋電力營銷的全過程,是供電企業(yè)的核心處理系統(tǒng)。電網(wǎng)公司在“十二五”信息化規(guī)劃中也提出了建立一體化、集約化、全閉環(huán)的電力營銷信息體系,用統(tǒng)一的信息技術促進全網(wǎng)實現(xiàn)營銷業(yè)務的標準化,全面提升全網(wǎng)營銷業(yè)務的管理、質量和服務水平,最終達成為客戶全方位服務的目標。遵循“統(tǒng)一管理、分工負責;統(tǒng)一標準、統(tǒng)一設計;試點先行、分步推廣”的建設管理原則,由電網(wǎng)公司統(tǒng)一組織建設成全省統(tǒng)一版本,業(yè)務數(shù)據(jù)全省集中,業(yè)務流程分級分類管控,網(wǎng)、省、地、縣四級機構全方位覆蓋的電力營銷系統(tǒng)。
省級集中后的電力營銷系統(tǒng)規(guī)模龐大,需要借助硬件、軟件相結合的集群技術來保證系統(tǒng)的性能和可靠性。而中間件[1]作為承上啟下的中間層,起著至關重要的作用。
電網(wǎng)公司電力營銷系統(tǒng)最初使用Oracle公司的Weblogic12C中間件,隨著國家對基礎軟件“自主可控”的政策推行,國產(chǎn)操作系統(tǒng)、國產(chǎn)數(shù)據(jù)庫作為各大組織信息化的基礎應用,不同行業(yè)紛紛制定政策,開始向國產(chǎn)化傾斜,以金融行業(yè)為首,銀行IT采購出新規(guī),發(fā)出了“國進洋退”的積極信號。隨著斯諾登事件的曝光和事態(tài)延續(xù),信息安全已經(jīng)上升為國家戰(zhàn)略高度,引起全社會的關注。大力推進信息基礎設施國產(chǎn)化工作已成為當前中央關于加強信息安全建設的重要工作精神。電網(wǎng)公司深入貫徹中央精神,大力推進信息系統(tǒng)基礎支撐軟件的國產(chǎn)化工作。本文的主要內容是對現(xiàn)有電力營銷系統(tǒng)進行中間件的國產(chǎn)化改造,提出了一套較為完整的在國產(chǎn)中間件InforSuite分布式集群環(huán)境中進行應用構建的實現(xiàn)方案。
1 電力營銷系統(tǒng)架構
電網(wǎng)公司電力營銷系統(tǒng)是一個省級集中部署的系統(tǒng),系統(tǒng)的高效、穩(wěn)定、易維護是技術架構設計的核心,經(jīng)過對多種技術路線的選型,最終采用了基于SOA的多層架構技術[2],將表示邏輯、業(yè)務邏輯與數(shù)據(jù)邏輯相分離,以提高系統(tǒng)的并行操作、網(wǎng)絡計算能力;引入SOA內部總線技術,采用基于接口、面向組件服務的內部SOA模式,以提升系統(tǒng)的靈活性;系統(tǒng)基于軟件分層設計思想,以降低組件的耦合度,增強軟件的可維護性、可擴展性。技術架構如圖1所示。
電力營銷系統(tǒng)一共分四層[4],自上而下后依次為:前端展現(xiàn)層、接入服務層、服務組件層和數(shù)據(jù)存儲層。
前端展現(xiàn)采用B/S模式的瘦客戶端,通過JSP+Ajax技術實現(xiàn)富客戶端用戶體驗;接入服務層通過Servlet響應前端的HTTP請求,調用服務組件層的組件完成業(yè)務邏輯操作。接入服務層部署在多個Weblogic中間件集群上,客戶端請求通過負載均衡器分發(fā)到不同的Weblogic中間件集群里。接入服務層負責服務的接入控制、服務路由和協(xié)議適配,由電力營銷系統(tǒng)開發(fā)商實現(xiàn)。服務組件層集中了電力營銷系統(tǒng)所有業(yè)務邏輯的實現(xiàn)及數(shù)據(jù)處理,是SOA系統(tǒng)的核心層[3]。計算量和數(shù)據(jù)吞吐量都很大,對硬件設備性能要求也最高,也要求很好的橫向擴展性。Java服務組件也部署在Weblogic集群上。數(shù)據(jù)存儲層用于存儲電力營銷系統(tǒng)涉及的全部數(shù)據(jù),同時對服務組件層提供數(shù)據(jù)訪問服務,采用的是Oracle數(shù)據(jù)庫。
2 中間件技術介紹
借用IDC對中間件的表述為:中間件是一種獨立的系統(tǒng)軟件,位于客戶機服務器的操作系統(tǒng)上,管理計算資源和網(wǎng)絡通信,分布式應用軟件借助這種軟件在不同的技術之間共享資源。中間件具有平臺化、應用支撐性、軟件復用、降低耦合關系和提高軟件復用度等功能。根據(jù)中間件的支撐作用和架構的定位可以分為三類產(chǎn)品:應用服務類中間件、應用集成類中間件、業(yè)務架構類中間件。其中應用服務類中間件為應用系統(tǒng)提供一個綜合的計算環(huán)境和支撐平臺,包括對象請求代理(ORB)中間件、事務監(jiān)控交易中間件、Java應用服務器中間件等。由于電網(wǎng)公司的電力營銷系統(tǒng)采用了JavaEE的技術體系,所以本文主要介紹Java應用服務器中間件。JAVA應用服務器中間件為企業(yè)應用提供Web服務、數(shù)據(jù)訪問、部署、遠程對象調用、消息通信、安全服務、監(jiān)控服務、集群服務等強化應用支撐的服務。因為本文要論述的是對集群技術的研究,所以此處重點介紹集群服務。
集群是指一組相互獨立、通過高速網(wǎng)絡互聯(lián)的計算機,他們組成了一個組,并以單一系統(tǒng)模式加以管理,具有伸縮性、高可用性、負載均衡、容錯、失效轉移和冪等性。集中技術要解決兩個問題:負載均衡和失效轉移。當有許多客戶端向目標對象同時發(fā)送請求時,需要將請求分發(fā)到集群中不同的節(jié)點上,這就是負載均衡。Web應用中大都需要會話狀態(tài),會話狀態(tài)是存儲在服務器的某個地方并與當前瀏覽器會話相關聯(lián),當再次請求時就能重新獲取會話中保持的信息。負載均衡的最佳的方案就是利用會話粘滯技術將請求分發(fā)到上次相同的服務器實例中以保持會話信息。如果請求中間這個服務器實例失效了,需要檢測到這次失敗并將請求重定向到另一個可用的服務器實例中,會話復制技術會保證另一個服務器實例中有會話信息,這即是失效轉移,集群通過這種方式獲得容錯能力。Web負載均衡大都是在瀏覽器和Web服務器之間插入一個負載均衡器,負載均衡器可以是一臺硬件,如F5負載均衡器,也可以用軟件來充當。
典型的Java應用服務器產(chǎn)品包括IBM公司的Websphere和Oracle公司的 Weblogic。本文提到的電力營銷系統(tǒng)就是部署在Weblogic 應用服務器集群中。中間件技術是在國外發(fā)展起來的,他們起步早、發(fā)展速度快、發(fā)展水平高。國內中間件廠商經(jīng)過近十幾年的不斷發(fā)展,進步很快,逐漸贏得了一些市場,但和國外的中間件產(chǎn)品比,還是存在一些差距。
電網(wǎng)公司采購的國產(chǎn)中間是中創(chuàng)InforSuite服務器,為了驗證電力營銷系統(tǒng)在其上能否穩(wěn)定、高效運行,對InforSuite環(huán)境中的電力營銷系統(tǒng)做了性能測試,并和WebLogic進行了對比。測試所用的WebLogic和Inforsuite集群采用同樣的硬件和資源配置,部署了相同版本的電力營銷系統(tǒng),連接相同的業(yè)務數(shù)據(jù)庫。采用LoadRuuner壓測工具,利用nmon同步抓取了CPU、內存、網(wǎng)絡等系統(tǒng)資源使用情況。
測試結果如表1所示:
分析測試結果,我們可以看出與Weblogic 相比,InforSuite在性能上相差不大,但在資源利率上存在不小的差距。要想在電力營銷系統(tǒng)的生產(chǎn)環(huán)境中使用國產(chǎn)中間件,就必須對InforSuite集群技術進行深入研究,揚長避短,給出科學合理的遷移和部署方案,保證國產(chǎn)中間件集群滿足電力營銷系統(tǒng)的要求。
3 集群技術研究
電力營銷系統(tǒng)國產(chǎn)中間件的遷移改造涉及多方面的工作,本文重點從集群配置策略[4]和緩存兩個方面來講解電力營銷系統(tǒng)向InforSuite遷移的部署方案和優(yōu)化工作。
3.1 集群配置策略
電力營銷系統(tǒng)一共配置了4臺WEB服務器,為了充分利用這4臺WEB服務器的資源和提高系統(tǒng)的可靠性,對這4臺WEB服務器的配置策略如下。
在這4臺服務器上一共創(chuàng)建4個Domain,就需要有4個Admin Server,即每臺服務器都安裝1個Admin Server。因為每臺服務器的配置都很高,32核CPU和256G內存,為了充分利用這些資源,在每臺服務器上都創(chuàng)建16個Server,一共有64個受管Server,每個Domain有16個受管Server。為了提高系統(tǒng)的可靠性,讓每個Domain的受管Server都平均分布在4臺Server上。即每個Domain都是跨服務器的集群。同時在集群上啟用會話復制。如圖2所示。
在InforSuite服務器集群前端配置有F5硬件負載均衡器,根據(jù)IP地址將不同地域的請求路由到4個集群中的某一個集群上。當集群中的某個受管Server失敗后,負載均衡器會將新的客戶端請求發(fā)送到集群內其他的受管Server上。由于啟動了會話復制,Session信息不會失效,因此客戶端不需要重新登錄。
服務組件層的Java組件服務器也采用了同樣的配置策略,但考慮到系統(tǒng)的規(guī)模而采用了8臺硬件服務器。同樣創(chuàng)建4個Domain,每個Domain包括1個管理Server和16個受管Server,16個受管Server平均分布在8臺服務器上并組成集群,配置方式如圖3所示。
采用跨服務器集群配置策略,即使有一臺硬件服務器宕機,只會造成這臺機器的16個處理節(jié)點失效,不影響任何一個集群,就是說每個集群雖然節(jié)點少了,但集群的服務還在。
每個WEB集群的請求都發(fā)送到一個對應的Java組件服務器的集群中,由于Java組件服務使用EJB技術實現(xiàn),因此采用EJB自帶的負載均衡技術。
3.2 集群下緩存的優(yōu)化
電力營銷系統(tǒng)為了提高運行效率,采用了緩存技術[5],但集群的環(huán)境對緩存的刷新和同步有影響。
系統(tǒng)中采用的緩存設備有兩種:本地緩存和集中式緩存。本地緩存優(yōu)點是效率高,操作簡單;缺點是一旦集群中某個節(jié)點對數(shù)據(jù)進行了更改,就需要通知其它節(jié)點對緩存進行刷新。集中式緩存則利用網(wǎng)絡和內存庫技術將信息存放在外部設備中,如內存對象緩存系統(tǒng)Memcached,集群中所有節(jié)點都訪問相同的緩存服務器,其優(yōu)點是數(shù)據(jù)刷新簡單,某節(jié)點對數(shù)據(jù)進行修改能為大家所共享;缺點是效率相對較低,特別是在緩存數(shù)據(jù)量大的情況下,信息的序列化和傳輸也會損失部分性能。就是說本地緩存和集中式緩存各有優(yōu)缺點,如何能夠揚長避短,有效的提高電力營銷系統(tǒng)在InforSuite集群環(huán)境中的運行效率是個問題。
為了解決上述問題,作者對電力營銷系統(tǒng)進行了改進,最終采用了兩種緩存結合的方式,充分發(fā)揮每種方式的優(yōu)點。具體方式如下:將要緩存的數(shù)據(jù)放在本地內存中,并且給數(shù)據(jù)的緩存對象增加一個數(shù)據(jù)加載時間的標記,同時在集中式緩存中記錄數(shù)據(jù)的最近修改時間。當節(jié)點訪問本地緩存數(shù)據(jù)時,通過對比數(shù)據(jù)加載時間標記和最近修改時間來判斷本地緩存是否過期。利用這種方式不僅減輕了集中式緩存的網(wǎng)絡壓力,同時也解決了集群間緩存的同步和刷新問題,使系統(tǒng)運行效率得到了較大的提升。
4 總結
利用論文研究成果對電力營銷系統(tǒng)進行了優(yōu)化和改進,改造后的電力營銷系統(tǒng)已經(jīng)在InforSuite集群環(huán)境中成功部署并穩(wěn)定運行,在性能和可靠性方面滿足生產(chǎn)環(huán)境的要求。
分布式集群環(huán)境下的系統(tǒng)運維和監(jiān)控工作是個很大的挑戰(zhàn),另外隨著網(wǎng)上營業(yè)廳、掌上營業(yè)廳、微信客服平臺等客戶服務渠道的不斷擴展,對電力營銷系統(tǒng)集群的彈性部署、智能監(jiān)控等方面提出了更高的要求。因此如何實現(xiàn)電力營銷系統(tǒng)的自動彈性部署、智能日志監(jiān)控與異常預警將是今后的重點研究工作。
參考文獻
[1] 張云勇.中間件技術原理與應用[M]. 北京:清華大學出版社, 2004.
[2] 毛新生. SOA原理方法實踐[M].北京:電子工業(yè)出版社, 2007.
[3] Dirk Krafzig, Karl Banke, Dirk Slama. Enterprise SOA[M].北京:清華大學出版社, 2006.
[4] 葛五祥,陳志剛.基于三層B/S模式的分布式系統(tǒng)設計[J].北京:計算機技術與自動化, 2004.
[5] 郭欣.構建高性能Web站點[M]. 北京:電子工業(yè)出版社,2009.
(收稿日期: 2019.06.17)
作者簡介:蔡嘉榮(1986-),男,碩士研究生,工程師,研究方向:軟件工程、電力營銷信息化。
王順意(1983-),男,湖北人,大學本科,工程師,研究方向:電力營銷信息化。文章編號:1007-757X(2020)02-0124-04