??? 關(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)境,實現(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的重點在于對象請求代理(即ORB),這是非常必要的。因為客戶端向?qū)ο笳埱髨?zhí)行某一任務(wù),必須通過ORB實現(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)部實現(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)方法和屬性,這就實現(xiàn)了CORBA與語言無關(guān)的獨立性。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é)找到可以實現(xiàn)請求的對象,即調(diào)度自動化系統(tǒng),在這個系統(tǒng)上有CORBA服務(wù)器端的Skeleton,它負(fù)責(zé)處理完請求后返回請求結(jié)果,這樣通過這種接口定義即成功實現(xiàn)了系統(tǒng)的集成。
2.2 對象服務(wù)
??? 在原有電力公司的某個電力信息系統(tǒng)內(nèi),存在著很多需要局內(nèi)另一個電力信息系統(tǒng)的數(shù)據(jù)的情況。比如說屬于用電管理系統(tǒng)的市場營銷部需要調(diào)度自動化系統(tǒng)的一些實時數(shù)據(jù),即供電局調(diào)度日報表和電網(wǎng)運行情況日報表的數(shù)據(jù)。對供電局調(diào)度日報表,主要需要系統(tǒng)、省網(wǎng)、直供三個方面的96個點的有功、無功數(shù)據(jù),以報表的形式給出,并具要有一定的圖形分析功能。對電網(wǎng)運行情況日報表,要求數(shù)據(jù)以文本文件的形式給出。
??? 以往這些數(shù)據(jù)資料都有人工來傳送,用電管理系統(tǒng)和調(diào)度自動化系統(tǒng)雖然都在一個局域網(wǎng)內(nèi),但也不能實現(xiàn)資源和數(shù)據(jù)的互通。通過異構(gòu)集成系統(tǒng)就可以通過網(wǎng)絡(luò)來實現(xiàn),節(jié)省了大量的人力物力,提高了實時性和可靠性。這些功能通過上面定義的接口,主要由CORBA的對象服務(wù)來完成。當(dāng)用電管理系統(tǒng)需要數(shù)據(jù)時,就可以根據(jù)情況,選擇相應(yīng)時間和內(nèi)容,主動讀取數(shù)據(jù)。
3 利用CORBA實現(xiàn)異種數(shù)據(jù)庫集成
??? 電力公司的多個信息系統(tǒng)大多依賴于不同的數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù),要實現(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)行訪問,從而也就實現(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站點執(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ā)布工作,主要包括臺帳信息、運行數(shù)據(jù)和事件信息三大類。臺帳信息主要包括生產(chǎn)臺帳信息和經(jīng)營臺帳信息;運行數(shù)據(jù)的對象是臺帳信息的所有對象,也分為生產(chǎn)運行數(shù)據(jù)和經(jīng)營運行數(shù)據(jù);根據(jù)事故性質(zhì)不同而產(chǎn)生的新對象,這些構(gòu)成了事件信息。信息的發(fā)布內(nèi)容除以表格的形式表現(xiàn),所有內(nèi)容可以打印出來之外,還配以圖形分析實現(xiàn)對數(shù)據(jù)的生動直觀表達(dá)和有效分析。用戶可以根據(jù)需要選擇圖形的類型有:線圖、柱圖、餅圖、點圖、三維線圖、三維柱圖、三維餅圖、三維點圖等。
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ù)均可變,對一般用戶,只需點擊報表生成按鈕即可得到報表,對高級用戶,可自由開發(fā)自己需要的任何報表模板。
4.3 用戶電費網(wǎng)上查詢模塊
??? 該模塊主要是電費用戶在互聯(lián)網(wǎng)上根據(jù)用電管理系統(tǒng)中的相關(guān)電量電費數(shù)據(jù)查詢自己的電量電費情況。其特色在于:用戶可以在互聯(lián)網(wǎng)上查詢自已最新的電量電費情況,減輕了用戶和供電工作人員的工作。用戶在互聯(lián)網(wǎng)上根據(jù)用戶名、戶標(biāo)識號、密碼、年月進(jìn)入查詢用戶電費界面,可以查詢的數(shù)據(jù)包括:總電量、總電費、峰電量、峰電費、平電量、平電費等在內(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用,提高信息傳輸?shù)目煽啃?、實時性和正確性;在給定權(quán)限下,實現(xiàn)相應(yīng)的功能共享,提高系統(tǒng)集成的整體性能和實用性具有重要意義,此外還可以降低成本和提高效率。該系統(tǒng)已在江西吉安供電局投入運行,反映良好。
評論
查看更多