基于CORBA的異構電力信息系統的集成與數據交換
目前國內的電力公司大多有幾個(gè)異構的電力信息系統,各系統相互獨立,具有很強的獨立性和“自治性”,但各系統間資源不能共享,信息不能交換。本文在介紹CORBA常識的基礎上,提出了基于CORBA的異構電力信息集成與數據交換的方法,實(shí)現了多個(gè)異構電力信息系統的整合和信息交換,并且利用異構數據庫開(kāi)發(fā)了一些新功能。
關(guān)鍵詞:公共對象請求代理體系結構;系統集成;異構數據庫
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 引言
隨著(zhù)電力系統信息化和自動(dòng)化程度一步步的提高,各地電力公司都建成了多個(gè)異構的電力信息系統,主要包括調度自動(dòng)化系統、負荷控制和用電管理系統、管理信息系統(MIS)和配網(wǎng)地理信息系統等。這些系統關(guān)心電力對象的不同方面,對于不同的電力對象采用了不同的建模方法,相互之間很少設計成能夠進(jìn)行自由的數據交換,而且采用的開(kāi)發(fā)工具以及后臺的數據庫都有可能不一致,使得各個(gè)應用系統在信息上成為相對孤立的“自動(dòng)化島”。為了滿(mǎn)足用戶(hù)對信息集成的需求,異構電力信息集成與交換系統(以下簡(jiǎn)稱(chēng)異構集成系統)對屬于不同管理部門(mén)的多個(gè)異構電力信息系統進(jìn)行整合,溝通信息渠道,建立橫向聯(lián)系,向電力公司各個(gè)職能部門(mén)提供較全面的服務(wù)。
要建成異構集成系統,必須解決一系列兼容性問(wèn)題,譬如跨平臺、跨操作系統、跨語(yǔ)言、跨協(xié)議和跨版本等。而CORBA作為分布式對象的主要標準,已成為應用系統集成和即插即用的主要技術(shù)?;贑ORBA的應用系統集成可以為企業(yè)提供支持多廠(chǎng)商、多平臺、異構網(wǎng)絡(luò )、不同操作系統和已有的傳統應用系統的集成和即插即用的環(huán)境,實(shí)現多個(gè)異構系統的集成和信息交換。
1 CORBA的相關(guān)概念
公共對象請求代理體系結構CORBA(Common Object Request Broker Architecture)是由OMG(Object Management Group)組織制定的一個(gè)工業(yè)標準。CORBA是OMA(Object Management Architecture)的一個(gè)重要組成部分。OMG即對象管理體系結構,由對象模型和引用模型組成,對象模型定義了如何描述分布在異構環(huán)境中的對象,而對象引用模型則規定了這些對象如何進(jìn)行互操作。圖1描述了OMA引用模型的各組成部分。
OMA的重點(diǎn)在于對象請求代理(即ORB),這是非常必要的。因為客戶(hù)端向對象請求執行某一任務(wù),必須通過(guò)ORB實(shí)現客戶(hù)端和對象之間的通訊。CORBA則詳細規定了ORB的接口和特征,OMG給CORBA的定義是:通過(guò)ORB一個(gè)客戶(hù)程序可以透明地激活服務(wù)器對象的一個(gè)方法。這個(gè)服務(wù)器對象可以和客戶(hù)程序在同一臺機器上,也可以位于網(wǎng)絡(luò )上的另一臺機器,ORB截獲調用請求,然后尋找該服務(wù)器對象,向其傳遞參數,激活相應的方法并返回執行結果,客戶(hù)程序不必知道服務(wù)器對象的位置、它的編程語(yǔ)言、所處的操作系統及其它任何非對象接口方面的系統信息。這樣,ORB提供分布式異構環(huán)境中不同機器上應用程序的互操作和多對象系統的無(wú)縫連接。CORBA定義了創(chuàng )建軟件組件的面向對象的方法,你可以在應用程序間重用和共享這些軟件組件,每個(gè)對象的內部實(shí)現細節都被封裝起來(lái),只對編程人員展現出一個(gè)定義好的接口,從而減少了程序的復雜性。
2 CORBA應用于異構電力信息系統的集成
2.1 系統接口
為了將電力公司的多個(gè)異構的電力信息系統集成起來(lái),主要是要設計異構集成系統與這些系統的接口,也就是CORBA的中間件。CORBA中間件借助IDL(接口定義語(yǔ)言)來(lái)描述對象接口,一個(gè)接口可包含若干相關(guān)方法和屬性,這就實(shí)現了CORBA與語(yǔ)言無(wú)關(guān)的獨立性。CORBA IDL是一種描述接口,可以映射到不同的語(yǔ)言。本文主要利用Delphi提供的Type Library定義接口。其IDL文本文件如下:
VisiBroker會(huì )自動(dòng)根據IDL文件生成相應的CORBA的客戶(hù)端代理Stub和CORBA服務(wù)器端的Skeleton。比如說(shuō)在管理信息系統(MIS)要獲取調度自動(dòng)化系統的信息,由Stub來(lái)處理這種請求后再向對象請求代理(ORB)發(fā)送調用請求,然后由ORB負責攔截請求調用,負責找到可以實(shí)現請求的對象,即調度自動(dòng)化系統,在這個(gè)系統上有CORBA服務(wù)器端的Skeleton,它負責處理完請求后返回請求結果,這樣通過(guò)這種接口定義即成功實(shí)現了系統的集成。
2.2 對象服務(wù)
在原有電力公司的某個(gè)電力信息系統內,存在著(zhù)很多需要局內另一個(gè)電力信息系統的數據的情況。比如說(shuō)屬于用電管理系統的市場(chǎng)營(yíng)銷(xiāo)部需要調度自動(dòng)化系統的一些實(shí)時(shí)數據,即供電局調度日報表和電網(wǎng)運行情況日報表的數據。對供電局調度日報表,主要需要系統、省網(wǎng)、直供三個(gè)方面的96個(gè)點(diǎn)的有功、無(wú)功數據,以報表的形式給出,并具要有一定的圖形分析功能。對電網(wǎng)運行情況日報表,要求數據以文本文件的形式給出。
以往這些數據資料都有人工來(lái)傳送,用電管理系統和調度自動(dòng)化系統雖然都在一個(gè)局域網(wǎng)內,但也不能實(shí)現資源和數據的互通。通過(guò)異構集成系統就可以通過(guò)網(wǎng)絡(luò )來(lái)實(shí)現,節省了大量的人力物力,提高了實(shí)時(shí)性和可靠性。這些功能通過(guò)上面定義的接口,主要由CORBA的對象服務(wù)來(lái)完成。當用電管理系統需要數據時(shí),就可以根據情況,選擇相應時(shí)間和內容,主動(dòng)讀取數據。
3 利用CORBA實(shí)現異種數據庫集成
電力公司的多個(gè)信息系統大多依賴(lài)于不同的數據庫管理系統的數據,要實(shí)現網(wǎng)絡(luò )環(huán)境下的信息共享,就必須聯(lián)合各個(gè)異構數據庫建立合理高效的海量異構數據庫。異構數據庫系統是指異構的多數據庫系統,即組成它的成員數據庫具有的硬件、系統軟件例如操作系統或通信支持不同,或者成員數據庫不同或具有不同的數據語(yǔ)義。
CORBA采用一種中性的接口定義語(yǔ)言(IDL)來(lái)規定一個(gè)分布式對象的邊界以及它與潛在客戶(hù)的合同接口,寫(xiě)入IDL中的分布式對象應當可以跨語(yǔ)言、工具、操作系統和網(wǎng)絡(luò )進(jìn)行訪(fǎng)問(wèn),從而也就實(shí)現了對異構數據庫的集成。異構的多數據庫系統主要由三大部分組成:全局數據庫(GDB:Global Database)、多庫系統事務(wù)管理器(MOTM:Multidatabase Object Transaction Manager)和局部數據庫(LDB:Local Database),如圖2所示。其中全局數據庫接受全局事務(wù),把它分解為針對每個(gè)LDB的子事務(wù)后交給MOTM;MOTM負責把全局事務(wù)的所有子事務(wù)交予相應的LDB站點(diǎn)執行,并負責維護全局事務(wù),同時(shí)負責負荷平衡、安全管理等問(wèn)題;LDB接受MOTM交下來(lái)的子事務(wù)并執行相應的操作。異構的多數據庫系統把應用的表現邏輯、業(yè)務(wù)邏輯和資源的管理分離開(kāi)來(lái),在頂層為用戶(hù)提供了一個(gè)統一的視圖,用戶(hù)可以像使用一種數據庫一樣使用多庫系統,底層數據庫的分布和異構對頂層用戶(hù)是透明的。
評論