劉國華 西北電力設(shè)計院
[摘 要]隨著電力系統(tǒng)的發(fā)展和自動化水平的提高,用戶往往要運(yùn)行多套系統(tǒng),每套系統(tǒng)中要運(yùn)行多個應(yīng)用,這些應(yīng)用和系統(tǒng)常常是分步實(shí)施的,必然存在系統(tǒng)的更新升級,帶來軟件穩(wěn)定性、重復(fù)建設(shè)等問題。為此,介紹了中間件技術(shù)的概念、中間件的分類和中間件技術(shù)在電網(wǎng)調(diào)度自動化系統(tǒng)中的應(yīng)用。
[關(guān)鍵詞] 中間件技術(shù) 電網(wǎng)調(diào)度自動化系統(tǒng)
隨著電力系統(tǒng)的發(fā)展和自動化水平的提高,用戶往往要運(yùn)行多套系統(tǒng),每套系統(tǒng)中要運(yùn)行多個應(yīng)用,這些應(yīng)用和系統(tǒng)常常是分步實(shí)施的,必然存在系統(tǒng)的更新升級。傳統(tǒng)的應(yīng)用系統(tǒng)升級存在以下問題:(1)當(dāng)用戶對老的系統(tǒng)更新?lián)Q代時,由于運(yùn)行平臺不兼容,用戶原來的一些運(yùn)行穩(wěn)定可靠的軟件不能再運(yùn)行,用戶長期積累的數(shù)據(jù)資料和二次開發(fā)的工作不能再保留;(2)當(dāng)用戶對系統(tǒng)中的某一部分的功能進(jìn)行擴(kuò)展時,如果用第三方軟件,由于接口專用,要重復(fù)建設(shè)一些軟件,如一些用戶運(yùn)行有多家應(yīng)用軟件,浪費(fèi)了用戶的資金和時間;(3)當(dāng)用戶進(jìn)行后期功能的招標(biāo)時,由于第三方軟件的接口問題,往往使用戶選擇原來系統(tǒng)的廠家,不能選擇最好的應(yīng)用軟件。因此,應(yīng)用中間件技術(shù)對用戶的意義是深遠(yuǎn)的。
一 什么是中間件
計算機(jī)技術(shù)迅速發(fā)展。從硬件技術(shù)看,CPU速度越來越高,處理能力越來越強(qiáng);從軟件技術(shù)看,應(yīng)用程序的規(guī)模不斷擴(kuò)大,特別是Internet及WWW的出現(xiàn),使計算機(jī)的應(yīng)用范圍更為廣闊,許多應(yīng)用程序需在網(wǎng)絡(luò)環(huán)境的異構(gòu)平臺上運(yùn)行。這一切都對新一代的軟件開發(fā)提出了新的需求。在這種分布異構(gòu)環(huán)境中,通常存在多種硬件系統(tǒng)平臺(如PC,工作站,小型機(jī)等),在這些硬件平臺上又存在各種各樣的系統(tǒng)軟件(如不同的操作系統(tǒng)、數(shù)據(jù)庫、語言編譯器等),以及多種風(fēng)格各異的用戶界面,這些硬件系統(tǒng)平臺還可能采用不同的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)體系結(jié)構(gòu)連接。如何把這些系統(tǒng)集成起來并開發(fā)新的應(yīng)用是一個非,F(xiàn)實(shí)而困難的問題。
為解決分布異構(gòu)問題,人們提出了中間件(middleware)的概念。中間件是位于平臺(硬件和操作系統(tǒng))和應(yīng)用之間的通用服務(wù),如圖1所示,這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,它們可以有符合接口和協(xié)議規(guī)范的多種實(shí)現(xiàn)。

圖1 中間件
中間件應(yīng)具有如下的一些特點(diǎn):
滿足大量應(yīng)用的需要;運(yùn)行于多種硬件和OS平臺;支持分布計算,提供跨網(wǎng)絡(luò)、硬件和OS平臺的透明性的應(yīng)用或服務(wù)的交互
支持標(biāo)準(zhǔn)的協(xié)議;支持標(biāo)準(zhǔn)的接口 ;由于標(biāo)準(zhǔn)接口對于可移植性和標(biāo)準(zhǔn)協(xié)議對于互操作性的重要性,中間件已成為許多標(biāo)準(zhǔn)化工作的主要部分。對于應(yīng)用軟件開發(fā),中間件遠(yuǎn)比操作系統(tǒng)和網(wǎng)絡(luò)服務(wù)更為重要,中間件提供的程序接口定義了一個相對穩(wěn)定的高層應(yīng)用環(huán)境,不管底層的計算機(jī)硬件和系統(tǒng)軟件怎樣更新?lián)Q代,只要將中間件升級更新,并保持中間件對外的接口定義不變,應(yīng)用軟件幾乎不需任何修改,從而保護(hù)了企業(yè)在應(yīng)用軟件開發(fā)和維護(hù)中的重大投資。
二 中間件的類型
目前中間件技術(shù)的應(yīng)用非常廣泛。在不同的應(yīng)用領(lǐng)域,中間件所提供的功能不盡相同。
目前流行的中間件有以下幾種:
1、面向消息的中間件
消息中間件是一種基于消息傳遞的通信軟件,基于TCP/IP或其他網(wǎng)絡(luò)協(xié)議,在一個分布式網(wǎng)絡(luò)環(huán)境中,提供各種端到端的數(shù)據(jù)通信服務(wù)。 包括實(shí)時數(shù)據(jù)傳輸(同步、異步)、可靠隊列、事件服務(wù)、消息生命周期等各種功能。適應(yīng)各種網(wǎng)絡(luò)結(jié)構(gòu)和通信媒介。
消息中間件適用于需要進(jìn)行數(shù)據(jù)交換的各種網(wǎng)絡(luò)應(yīng)用系統(tǒng)當(dāng)中。
2、交易管理中間件
交易管理中間件是一個分布式應(yīng)用系統(tǒng)開發(fā)、部署和管理的支撐平臺,在一個分布式聯(lián)機(jī)事務(wù)處理系統(tǒng)中,對業(yè)務(wù)處理流程、系統(tǒng)資源、應(yīng)用程序進(jìn)行有效的管理,從而保證數(shù)據(jù)一致性,提高系統(tǒng)效率和可靠性,使應(yīng)用系統(tǒng)便以擴(kuò)展,并縮短開發(fā)周期。
交易管理中間件是開發(fā)三層結(jié)構(gòu)應(yīng)用系統(tǒng)的基礎(chǔ)支撐平臺。適用于各種并發(fā)處理大量業(yè)務(wù)系統(tǒng)中。
3、對象中間件
對象中間件是一種基于面向?qū)ο蠹夹g(shù)實(shí)現(xiàn)的中間件,同時支持各種分布式對象的應(yīng)用開發(fā)。主要用于解決面向?qū)ο蟆⑿阅堋?shù)據(jù)一致性、應(yīng)用集成等關(guān)鍵任務(wù)需求。對象中間件將面向?qū)ο蠹夹g(shù)與分布式計算結(jié)合起來,用戶可以方便地在復(fù)雜的分布式環(huán)境中建立自己的面向?qū)ο髴?yīng)用。
對象中間件適合應(yīng)用在各種分布式對象處理系統(tǒng)中。
4、應(yīng)用服務(wù)器(web 中間件)
應(yīng)用服務(wù)器是為了滿足目前日益增長的Internet應(yīng)用的需要。Internet應(yīng)用,尤其是以Internet為基礎(chǔ)的電子商務(wù)應(yīng)用,要求實(shí)現(xiàn)信息的采集、管理、發(fā)布、交換、處理等。傳統(tǒng)的Internet技術(shù)不能很好的滿足要求,需要一個支撐平臺完成對Internet應(yīng)用的開發(fā)、管理和部署。
三 中間件在電網(wǎng)調(diào)度自動化系統(tǒng)(SCADA/EMS/DMS)中的應(yīng)用
許多新的SCADA系統(tǒng)采用基于網(wǎng)絡(luò)的分層結(jié)構(gòu)實(shí)現(xiàn),并獨(dú)立出來數(shù)據(jù)采集系統(tǒng)和數(shù)據(jù)處理系統(tǒng),系統(tǒng)將在一個廣域網(wǎng)環(huán)境中實(shí)現(xiàn)對電網(wǎng)調(diào)度的集中安全監(jiān)控和管理,因此如果SCADA系統(tǒng)能夠基于中間件實(shí)現(xiàn)成三層結(jié)構(gòu)的應(yīng)用模式,將會在系統(tǒng)的開發(fā)周期,效率、安全、可靠性、擴(kuò)展性方面得到很大的提高。并會對以此為基礎(chǔ)的EMS和DMS系統(tǒng)提供更好的支撐。
SCADA系統(tǒng)數(shù)據(jù)類型一般都有以下幾種:實(shí)時數(shù)據(jù)、歷史數(shù)據(jù)、日志和報警、事故追憶、裝置報告等事件記錄。網(wǎng)絡(luò)上的遠(yuǎn)程數(shù)據(jù)服務(wù)常有3種模式:“同步請求—應(yīng)答”模式、“數(shù)據(jù)訂閱”模式、“事件變化通知”模式。在數(shù)據(jù)的服務(wù)過程中, HMI(Human Machine Interface)始終是服務(wù)的接收方(客戶),服務(wù)任務(wù)始終是服務(wù)的提供方,中間件負(fù)責(zé)屏蔽數(shù)據(jù)的多重來源。對于上層顯示而言,不用關(guān)心面對的是哪個服務(wù)任務(wù)以及任務(wù)運(yùn)行在何處。
中間件在一臺計算機(jī)上只存在一個,但可以為一個或者多個HMI應(yīng)用任務(wù)提供數(shù)據(jù)服務(wù)功能,如圖2所示。

對應(yīng)于SCADA系統(tǒng)提供的三種數(shù)據(jù)訪問模式,中間件在組成上由多個COM組件構(gòu)成,相應(yīng)的包容器包括:實(shí)時數(shù)據(jù)遠(yuǎn)程服務(wù)組件、歷史數(shù)據(jù)遠(yuǎn)程服務(wù)組件、事件信息遠(yuǎn)程服務(wù)組件。包容器除了支持基于DCOM的組件外,還包含SOCKET網(wǎng)絡(luò)連接等其它功能,以便于和采集站進(jìn)行數(shù)據(jù)通訊。中間件只向上層應(yīng)用任務(wù)公開訪問接口。包容器之間相互完全獨(dú)立,只是在歷史數(shù)據(jù)服務(wù)組件和事件信息服務(wù)組件中將調(diào)用實(shí)時數(shù)據(jù)服務(wù)組件提供的某些功能,但調(diào)用方式與上層應(yīng)用任務(wù)完全相同。
總的來說,中間件的實(shí)現(xiàn)增強(qiáng)了SCADA系統(tǒng)的開放性和可配置性,具有以下特點(diǎn):
1) 技術(shù)成熟性:數(shù)據(jù)訪問中間件的實(shí)現(xiàn)采用比較成熟的軟件組件技術(shù)(DCOM),不僅實(shí)現(xiàn)了整個系統(tǒng)配置的靈活性,同時,也由于技術(shù)的成熟性而一定保證了整個系統(tǒng)的穩(wěn)定性能。
2) 系統(tǒng)擴(kuò)展性:中間件的實(shí)現(xiàn)給系統(tǒng)帶來的靈活的配置性,保證了整個系統(tǒng)的柔韌性和靈活性,也給系統(tǒng)后期良好的擴(kuò)展性帶來了可能。
3) HMI應(yīng)用的實(shí)現(xiàn):中間件的實(shí)現(xiàn)屏蔽了網(wǎng)絡(luò)細(xì)節(jié)和數(shù)據(jù)來源,使得上層HMI應(yīng)用可以只專注于數(shù)據(jù)的處理,給上層HMI任務(wù)的實(shí)現(xiàn)帶來了很大的方便。
四 結(jié)束語
綜上所述,中間件技術(shù)的日趨完善,為電網(wǎng)調(diào)度自動化系統(tǒng)軟件的體系結(jié)構(gòu)注入了新鮮的活力,改變了傳統(tǒng)的客戶/服務(wù)器的兩層應(yīng)用模式,簡化了應(yīng)用程序的開發(fā)復(fù)雜性,提高了軟件可重用性、可移植性,節(jié)約了投資,將對分布式SCADA系統(tǒng)應(yīng)用系統(tǒng)的開發(fā)、管理和部署帶來巨大好處,在不久的將來,中間件將會成為象操作系統(tǒng)和數(shù)據(jù)庫一樣,成為開發(fā)各種電網(wǎng)調(diào)度自動化系統(tǒng)的必選基礎(chǔ)軟件。
參考文獻(xiàn):
[1] 何克忠,李偉,《計算機(jī)控制系統(tǒng)》,清華大學(xué)出版社
[2] 潘愛民,《COM原理與應(yīng)用》,清華大學(xué)出版社