基于CORBA的異構(gòu)電力信息系統(tǒng)的集成與數(shù)據(jù)交換
目前國內(nèi)的電力公司大多有幾個異構(gòu)的電力信息系統(tǒng),各系統(tǒng)相互獨(dú)立,具有很強(qiáng)的獨(dú)立性和“自治性”,但各系統(tǒng)間資源不能共享,信息不能交換。本文在介紹CORBA常識的基礎(chǔ)上,提出了基于CORBA的異構(gòu)電力信息集成與數(shù)據(jù)交換的方法,實(shí)現(xiàn)了多個異構(gòu)電力信息系統(tǒng)的整合和信息交換,并且利用異構(gòu)數(shù)據(jù)庫開發(fā)了一些新功能。?
??? 關(guān)鍵詞:公共對象請求代理體系結(jié)構(gòu);系統(tǒng)集成;異構(gòu)數(shù)據(jù)庫?
The system integration and data exchange of heterogeneous configuration electric information system based on CORBA
Zhang Zhi-liu, Li Xiao-ming, Zhang Lian-mei
(Wuhan University, Wuhan, 430072)
??? Abstract: There are several heterogeneous configuration electric information systems in China at the present time. Each system is self-governed. The resource can't be shared as well as information can't be exchanged each other in systems. The article introduces some general knowledge of CORBA, and puts forward a method based on CORBA, which carries out information integration and data exchange between several heterogeneous configuration electric information systems. Some functions have been developed based on heterogeneous database.
??? Key words:CORBA, System integration, Heterogeneous-configuration database
0? 引言
??? 隨著電力系統(tǒng)信息化和自動化程度一步步的提高,各地電力公司都建成了多個異構(gòu)的電力信息系統(tǒng),主要包括調(diào)度自動化系統(tǒng)、負(fù)荷控制和用電管理系統(tǒng)、管理信息系統(tǒng)(MIS)和配網(wǎng)地理信息系統(tǒng)等。這些系統(tǒng)關(guān)心電力對象的不同方面,對于不同的電力對象采用了不同的建模方法,相互之間很少設(shè)計成能夠進(jìn)行自由的數(shù)據(jù)交換,而且采用的開發(fā)工具以及后臺的數(shù)據(jù)庫都有可能不一致,使得各個應(yīng)用系統(tǒng)在信息上成為相對孤立的“自動化島”。為了滿足用戶對信息集成的需求,異構(gòu)電力信息集成與交換系統(tǒng)(以下簡稱異構(gòu)集成系統(tǒng))對屬于不同管理部門的多個異構(gòu)電力信息系統(tǒng)進(jìn)行整合,溝通信息渠道,建立橫向聯(lián)系,向電力公司各個職能部門提供較全面的服務(wù)。
??? 要建成異構(gòu)集成系統(tǒng),必須解決一系列兼容性問題,譬如跨平臺、跨操作系統(tǒng)、跨語言、跨協(xié)議和跨版本等。而CORBA作為分布式對象的主要標(biāo)準(zhǔn),已成為應(yīng)用系統(tǒng)集成和即插即用的主要技術(shù)?;贑ORBA的應(yīng)用系統(tǒng)集成可以為企業(yè)提供支持多廠商、多平臺、異構(gòu)網(wǎng)絡(luò)、不同操作系統(tǒng)和已有的傳統(tǒng)應(yīng)用系統(tǒng)的集成和即插即用的環(huán)境,實(shí)現(xiàn)多個異構(gòu)系統(tǒng)的集成和信息交換。
1 CORBA的相關(guān)概念
??? 公共對象請求代理體系結(jié)構(gòu)CORBA(Common Object Request Broker Architecture)是由OMG(Object Management Group)組織制定的一個工業(yè)標(biāo)準(zhǔn)。CORBA是OMA(Object Management Architecture)的一個重要組成部分。OMG即對象管理體系結(jié)構(gòu),由對象模型和引用模型組成,對象模型定義了如何描述分布在異構(gòu)環(huán)境中的對象,而對象引用模型則規(guī)定了這些對象如何進(jìn)行互操作。圖1描述了OMA引用模型的各組成部分。
??? OMA的重點(diǎn)在于對象請求代理(即ORB),這是非常必要的。因?yàn)榭蛻舳讼驅(qū)ο笳埱髨?zhí)行某一任務(wù),必須通過ORB實(shí)現(xiàn)客戶端和對象之間的通訊。CORBA則詳細(xì)規(guī)定了ORB的接口和特征,OMG給CORBA的定義是:通過ORB一個客戶程序可以透明地激活服務(wù)器對象的一個方法。這個服務(wù)器對象可以和客戶程序在同一臺機(jī)器上,也可以位于網(wǎng)絡(luò)上的另一臺機(jī)器,ORB截獲調(diào)用請求,然后尋找該服務(wù)器對象,向其傳遞參數(shù),激活相應(yīng)的方法并返回執(zhí)行結(jié)果,客戶程序不必知道服務(wù)器對象的位置、它的編程語言、所處的操作系統(tǒng)及其它任何非對象接口方面的系統(tǒng)信息。這樣,ORB提供分布式異構(gòu)環(huán)境中不同機(jī)器上應(yīng)用程序的互操作和多對象系統(tǒng)的無縫連接。CORBA定義了創(chuàng)建軟件組件的面向?qū)ο蟮姆椒ǎ憧梢栽趹?yīng)用程序間重用和共享這些軟件組件,每個對象的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)都被封裝起來,只對編程人員展現(xiàn)出一個定義好的接口,從而減少了程序的復(fù)雜性。
2 CORBA應(yīng)用于異構(gòu)電力信息系統(tǒng)的集成
2.1 系統(tǒng)接口
??? 為了將電力公司的多個異構(gòu)的電力信息系統(tǒng)集成起來,主要是要設(shè)計異構(gòu)集成系統(tǒng)與這些系統(tǒng)的接口,也就是CORBA的中間件。CORBA中間件借助IDL(接口定義語言)來描述對象接口,一個接口可包含若干相關(guān)方法和屬性,這就實(shí)現(xiàn)了CORBA與語言無關(guān)的獨(dú)立性。CORBA IDL是一種描述接口,可以映射到不同的語言。本文主要利用Delphi提供的Type Library定義接口。其IDL文本文件如下:
??? VisiBroker會自動根據(jù)IDL文件生成相應(yīng)的CORBA的客戶端代理Stub和CORBA服務(wù)器端的Skeleton。比如說在管理信息系統(tǒng)(MIS)要獲取調(diào)度自動化系統(tǒng)的信息,由Stub來處理這種請求后再向?qū)ο笳埱蟠?ORB)發(fā)送調(diào)用請求,然后由ORB負(fù)責(zé)攔截請求調(diào)用,負(fù)責(zé)找到可以實(shí)現(xiàn)請求的對象,即調(diào)度自動化系統(tǒng),在這個系統(tǒng)上有CORBA服務(wù)器端的Skeleton,它負(fù)責(zé)處理完請求后返回請求結(jié)果,這樣通過這種接口定義即成功實(shí)現(xiàn)了系統(tǒng)的集成。
2.2 對象服務(wù)
??? 在原有電力公司的某個電力信息系統(tǒng)內(nèi),存在著很多需要局內(nèi)另一個電力信息系統(tǒng)的數(shù)據(jù)的情況。比如說屬于用電管理系統(tǒng)的市場營銷部需要調(diào)度自動化系統(tǒng)的一些實(shí)時數(shù)據(jù),即供電局調(diào)度日報表和電網(wǎng)運(yùn)行情況日報表的數(shù)據(jù)。對供電局調(diào)度日報表,主要需要系統(tǒng)、省網(wǎng)、直供三個方面的96個點(diǎn)的有功、無功數(shù)據(jù),以報表的形式給出,并具要有一定的圖形分析功能。對電網(wǎng)運(yùn)行情況日報表,要求數(shù)據(jù)以文本文件的形式給出。
??? 以往這些數(shù)據(jù)資料都有人工來傳送,用電管理系統(tǒng)和調(diào)度自動化系統(tǒng)雖然都在一個局域網(wǎng)內(nèi),但也不能實(shí)現(xiàn)資源和數(shù)據(jù)的互通。通過異構(gòu)集成系統(tǒng)就可以通過網(wǎng)絡(luò)來實(shí)現(xiàn),節(jié)省了大量的人力物力,提高了實(shí)時性和可靠性。這些功能通過上面定義的接口,主要由CORBA的對象服務(wù)來完成。當(dāng)用電管理系統(tǒng)需要數(shù)據(jù)時,就可以根據(jù)情況,選擇相應(yīng)時間和內(nèi)容,主動讀取數(shù)據(jù)。
3 利用CORBA實(shí)現(xiàn)異種數(shù)據(jù)庫集成
??? 電力公司的多個信息系統(tǒng)大多依賴于不同的數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù),要實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下的信息共享,就必須聯(lián)合各個異構(gòu)數(shù)據(jù)庫建立合理高效的海量異構(gòu)數(shù)據(jù)庫。異構(gòu)數(shù)據(jù)庫系統(tǒng)是指異構(gòu)的多數(shù)據(jù)庫系統(tǒng),即組成它的成員數(shù)據(jù)庫具有的硬件、系統(tǒng)軟件例如操作系統(tǒng)或通信支持不同,或者成員數(shù)據(jù)庫不同或具有不同的數(shù)據(jù)語義。
??? CORBA采用一種中性的接口定義語言(IDL)來規(guī)定一個分布式對象的邊界以及它與潛在客戶的合同接口,寫入IDL中的分布式對象應(yīng)當(dāng)可以跨語言、工具、操作系統(tǒng)和網(wǎng)絡(luò)進(jìn)行訪問,從而也就實(shí)現(xiàn)了對異構(gòu)數(shù)據(jù)庫的集成。異構(gòu)的多數(shù)據(jù)庫系統(tǒng)主要由三大部分組成:全局?jǐn)?shù)據(jù)庫(GDB:Global Database)、多庫系統(tǒng)事務(wù)管理器(MOTM:Multidatabase Object Transaction Manager)和局部數(shù)據(jù)庫(LDB:Local Database),如圖2所示。其中全局?jǐn)?shù)據(jù)庫接受全局事務(wù),把它分解為針對每個LDB的子事務(wù)后交給MOTM;MOTM負(fù)責(zé)把全局事務(wù)的所有子事務(wù)交予相應(yīng)的LDB站點(diǎn)執(zhí)行,并負(fù)責(zé)維護(hù)全局事務(wù),同時負(fù)責(zé)負(fù)荷平衡、安全管理等問題;LDB接受MOTM交下來的子事務(wù)并執(zhí)行相應(yīng)的操作。異構(gòu)的多數(shù)據(jù)庫系統(tǒng)把應(yīng)用的表現(xiàn)邏輯、業(yè)務(wù)邏輯和資源的管理分離開來,在頂層為用戶提供了一個統(tǒng)一的視圖,用戶可以像使用一種數(shù)據(jù)庫一樣使用多庫系統(tǒng),底層數(shù)據(jù)庫的分布和異構(gòu)對頂層用戶是透明的。
??? 基于CORBA的異構(gòu)數(shù)據(jù)庫的集成,可以為最終用戶提供一個統(tǒng)一的友好的數(shù)據(jù)庫應(yīng)用接口,并屏蔽掉各種網(wǎng)絡(luò)中的異構(gòu)成分,包括數(shù)據(jù)庫管理系統(tǒng)的異構(gòu)、網(wǎng)絡(luò)操作系統(tǒng)的異構(gòu),硬件平臺的異構(gòu)以及網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的異構(gòu)等。這使得使用異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)像使用單個的數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)一樣方便。
4 利用異構(gòu)數(shù)據(jù)庫開發(fā)新功能
??? CORBA提供了一個很好的模式來封裝和構(gòu)建各種異構(gòu)數(shù)據(jù)庫的應(yīng)用,它能提供訪問各種異構(gòu)數(shù)據(jù)庫,尤其是Web數(shù)據(jù)庫時所需要的各種特性:面向?qū)ο笮?、模塊性、靈活性和分布性等。基于以上特性,異構(gòu)集成系統(tǒng)還開發(fā)了下面幾項新功能:
4.1 綜合信息發(fā)布模塊
??? 面對原有幾個系統(tǒng)數(shù)據(jù)庫構(gòu)成的異構(gòu)數(shù)據(jù)庫中的海量數(shù)據(jù),如何保證數(shù)據(jù)的一致性和標(biāo)準(zhǔn)性顯得很重要。該模塊主要是完成電力公司異構(gòu)信息系統(tǒng)的標(biāo)準(zhǔn)數(shù)據(jù)的發(fā)布工作,主要包括臺帳信息、運(yùn)行數(shù)據(jù)和事件信息三大類。臺帳信息主要包括生產(chǎn)臺帳信息和經(jīng)營臺帳信息;運(yùn)行數(shù)據(jù)的對象是臺帳信息的所有對象,也分為生產(chǎn)運(yùn)行數(shù)據(jù)和經(jīng)營運(yùn)行數(shù)據(jù);根據(jù)事故性質(zhì)不同而產(chǎn)生的新對象,這些構(gòu)成了事件信息。信息的發(fā)布內(nèi)容除以表格的形式表現(xiàn),所有內(nèi)容可以打印出來之外,還配以圖形分析實(shí)現(xiàn)對數(shù)據(jù)的生動直觀表達(dá)和有效分析。用戶可以根據(jù)需要選擇圖形的類型有:線圖、柱圖、餅圖、點(diǎn)圖、三維線圖、三維柱圖、三維餅圖、三維點(diǎn)圖等。
4.2 智能報表模塊
??? 電力公司的日常工作中要用到大量的報表,智能報表模塊主要是完成利用電力公司原有幾個系統(tǒng)的數(shù)據(jù)制作生產(chǎn)經(jīng)營所需各種報表工作。其特色在于:
??? (1) 不同源系統(tǒng)的數(shù)據(jù)可以根據(jù)需要制成在一張報表上;
??? (2) 表格的格式和數(shù)據(jù)來源可以隨用戶需要定制,并可以隨時根據(jù)需要更改;
??? (3) 表格所需原始數(shù)據(jù)的處理模式如統(tǒng)計、合并、計算等可由用戶在設(shè)計模板階段定義并保存,無須生成中間報表;
??? (4) 支持一般電子表格軟件所具有的絕大部分功能;
??? (5) 以模板形式保存所有表格信息,格式數(shù)據(jù)均可變,對一般用戶,只需點(diǎn)擊報表生成按鈕即可得到報表,對高級用戶,可自由開發(fā)自己需要的任何報表模板。
4.3 用戶電費(fèi)網(wǎng)上查詢模塊
??? 該模塊主要是電費(fèi)用戶在互聯(lián)網(wǎng)上根據(jù)用電管理系統(tǒng)中的相關(guān)電量電費(fèi)數(shù)據(jù)查詢自己的電量電費(fèi)情況。其特色在于:用戶可以在互聯(lián)網(wǎng)上查詢自已最新的電量電費(fèi)情況,減輕了用戶和供電工作人員的工作。用戶在互聯(lián)網(wǎng)上根據(jù)用戶名、戶標(biāo)識號、密碼、年月進(jìn)入查詢用戶電費(fèi)界面,可以查詢的數(shù)據(jù)包括:總電量、總電費(fèi)、峰電量、峰電費(fèi)、平電量、平電費(fèi)等在內(nèi)的各項數(shù)據(jù),使用戶用電用得稱心滿意。
4.4 用戶網(wǎng)上報裝申請模塊
??? 該模塊主要是用戶在互聯(lián)網(wǎng)上申請報裝,并輸入相關(guān)的報裝申請資料,電力公司工作人員根據(jù)網(wǎng)上的報裝申請進(jìn)行審核,所有接受的網(wǎng)上申請進(jìn)入正式的業(yè)務(wù)報裝的業(yè)務(wù)流程。所有流程軍在網(wǎng)上進(jìn)行。每個申請?zhí)峤怀晒r,返回申請?zhí)?,一般在供電工作人員審核后,報裝申請用戶在互聯(lián)網(wǎng)上根據(jù)業(yè)擴(kuò)變更系統(tǒng)中的相關(guān)報裝進(jìn)度數(shù)據(jù)查詢自己的報裝進(jìn)度。
5 結(jié)語
??? 異構(gòu)集成系統(tǒng)對于電力公司提高設(shè)備的使用效率,減少不必要的網(wǎng)絡(luò)信息傳輸,降低數(shù)字傳輸?shù)馁M(fèi)用,提高信息傳輸?shù)目煽啃?、?shí)時性和正確性;在給定權(quán)限下,實(shí)現(xiàn)相應(yīng)的功能共享,提高系統(tǒng)集成的整體性能和實(shí)用性具有重要意義,此外還可以降低成本和提高效率。該系統(tǒng)已在江西吉安供電局投入運(yùn)行,反映良好。
參考文獻(xiàn)
[1] 賀寶權(quán),陳欣,吳玲達(dá)(He Bao-quan, Chen Xin, Wu Ling-da). CORBA規(guī)范及其發(fā)展(The criterion and development of CORBA). 計算機(jī)應(yīng)用研究(Computer Application and Rearch),1999(1):18-21
[2] 黃汝維 陳寧江 蘇德富(Huang Ru-wei, Chen Ning-jiang, Su De-fu). Delphi中三層結(jié)構(gòu)與CORBA的應(yīng)用研究(The Application of 3-Tier Architecture and CORBA in Delphi). 計算機(jī)應(yīng)用研究(Computer Application and Rearch),2002(8):94-96
[3] 李維(Li Wei). Delphi5.x分布式多層應(yīng)用系統(tǒng)篇(Distributed Multi-tier Application of Delphi5.x ). 北京:機(jī)械工業(yè)出版社(Beijing: Mechanic Industrial Press),2000
[4] 高鵬, 李懷香(Gao Peng, Li Huai-chun). 一個基于CORBA的異構(gòu)數(shù)據(jù)庫集成查詢系統(tǒng)(A CORBA-based Heterogeneous Database Integration System for Query). 微機(jī)發(fā)展(Microcomputer Development),2001(6):47-50
[5] Michael Stal,Worldwide CORBA:Distributed Objects and the Net A standard For painless software integration,OBJECT Magazine,MAY,1998
評論
查看更多