基于CORBA的異構電力信息系統的集成與數據交換
目前國內的電力公司大多有幾個異構的電力信息系統,各系統相互獨立,具有很強的獨立性和“自治性”,但各系統間資源不能共享,信息不能交換。本文在介紹CORBA常識的基礎上,提出了基于CORBA的異構電力信息集成與數據交換的方法,實現了多個異構電力信息系統的整合和信息交換,并且利用異構數據庫開發了一些新功能。?
??? 關鍵詞:公共對象請求代理體系結構;系統集成;異構數據庫?
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? 引言
??? 隨著電力系統信息化和自動化程度一步步的提高,各地電力公司都建成了多個異構的電力信息系統,主要包括調度自動化系統、負荷控制和用電管理系統、管理信息系統(MIS)和配網地理信息系統等。這些系統關心電力對象的不同方面,對于不同的電力對象采用了不同的建模方法,相互之間很少設計成能夠進行自由的數據交換,而且采用的開發工具以及后臺的數據庫都有可能不一致,使得各個應用系統在信息上成為相對孤立的“自動化島”。為了滿足用戶對信息集成的需求,異構電力信息集成與交換系統(以下簡稱異構集成系統)對屬于不同管理部門的多個異構電力信息系統進行整合,溝通信息渠道,建立橫向聯系,向電力公司各個職能部門提供較全面的服務。
??? 要建成異構集成系統,必須解決一系列兼容性問題,譬如跨平臺、跨操作系統、跨語言、跨協議和跨版本等。而CORBA作為分布式對象的主要標準,已成為應用系統集成和即插即用的主要技術。基于CORBA的應用系統集成可以為企業提供支持多廠商、多平臺、異構網絡、不同操作系統和已有的傳統應用系統的集成和即插即用的環境,實現多個異構系統的集成和信息交換。
1 CORBA的相關概念
??? 公共對象請求代理體系結構CORBA(Common Object Request Broker Architecture)是由OMG(Object Management Group)組織制定的一個工業標準。CORBA是OMA(Object Management Architecture)的一個重要組成部分。OMG即對象管理體系結構,由對象模型和引用模型組成,對象模型定義了如何描述分布在異構環境中的對象,而對象引用模型則規定了這些對象如何進行互操作。圖1描述了OMA引用模型的各組成部分。
??? OMA的重點在于對象請求代理(即ORB),這是非常必要的。因為客戶端向對象請求執行某一任務,必須通過ORB實現客戶端和對象之間的通訊。CORBA則詳細規定了ORB的接口和特征,OMG給CORBA的定義是:通過ORB一個客戶程序可以透明地激活服務器對象的一個方法。這個服務器對象可以和客戶程序在同一臺機器上,也可以位于網絡上的另一臺機器,ORB截獲調用請求,然后尋找該服務器對象,向其傳遞參數,激活相應的方法并返回執行結果,客戶程序不必知道服務器對象的位置、它的編程語言、所處的操作系統及其它任何非對象接口方面的系統信息。這樣,ORB提供分布式異構環境中不同機器上應用程序的互操作和多對象系統的無縫連接。CORBA定義了創建軟件組件的面向對象的方法,你可以在應用程序間重用和共享這些軟件組件,每個對象的內部實現細節都被封裝起來,只對編程人員展現出一個定義好的接口,從而減少了程序的復雜性。
2 CORBA應用于異構電力信息系統的集成
2.1 系統接口
??? 為了將電力公司的多個異構的電力信息系統集成起來,主要是要設計異構集成系統與這些系統的接口,也就是CORBA的中間件。CORBA中間件借助IDL(接口定義語言)來描述對象接口,一個接口可包含若干相關方法和屬性,這就實現了CORBA與語言無關的獨立性。CORBA IDL是一種描述接口,可以映射到不同的語言。本文主要利用Delphi提供的Type Library定義接口。其IDL文本文件如下:
??? VisiBroker會自動根據IDL文件生成相應的CORBA的客戶端代理Stub和CORBA服務器端的Skeleton。比如說在管理信息系統(MIS)要獲取調度自動化系統的信息,由Stub來處理這種請求后再向對象請求代理(ORB)發送調用請求,然后由ORB負責攔截請求調用,負責找到可以實現請求的對象,即調度自動化系統,在這個系統上有CORBA服務器端的Skeleton,它負責處理完請求后返回請求結果,這樣通過這種接口定義即成功實現了系統的集成。
2.2 對象服務
??? 在原有電力公司的某個電力信息系統內,存在著很多需要局內另一個電力信息系統的數據的情況。比如說屬于用電管理系統的市場營銷部需要調度自動化系統的一些實時數據,即供電局調度日報表和電網運行情況日報表的數據。對供電局調度日報表,主要需要系統、省網、直供三個方面的96個點的有功、無功數據,以報表的形式給出,并具要有一定的圖形分析功能。對電網運行情況日報表,要求數據以文本文件的形式給出。
??? 以往這些數據資料都有人工來傳送,用電管理系統和調度自動化系統雖然都在一個局域網內,但也不能實現資源和數據的互通。通過異構集成系統就可以通過網絡來實現,節省了大量的人力物力,提高了實時性和可靠性。這些功能通過上面定義的接口,主要由CORBA的對象服務來完成。當用電管理系統需要數據時,就可以根據情況,選擇相應時間和內容,主動讀取數據。
3 利用CORBA實現異種數據庫集成
??? 電力公司的多個信息系統大多依賴于不同的數據庫管理系統的數據,要實現網絡環境下的信息共享,就必須聯合各個異構數據庫建立合理高效的海量異構數據庫。異構數據庫系統是指異構的多數據庫系統,即組成它的成員數據庫具有的硬件、系統軟件例如操作系統或通信支持不同,或者成員數據庫不同或具有不同的數據語義。
??? CORBA采用一種中性的接口定義語言(IDL)來規定一個分布式對象的邊界以及它與潛在客戶的合同接口,寫入IDL中的分布式對象應當可以跨語言、工具、操作系統和網絡進行訪問,從而也就實現了對異構數據庫的集成。異構的多數據庫系統主要由三大部分組成:全局數據庫(GDB:Global Database)、多庫系統事務管理器(MOTM:Multidatabase Object Transaction Manager)和局部數據庫(LDB:Local Database),如圖2所示。其中全局數據庫接受全局事務,把它分解為針對每個LDB的子事務后交給MOTM;MOTM負責把全局事務的所有子事務交予相應的LDB站點執行,并負責維護全局事務,同時負責負荷平衡、安全管理等問題;LDB接受MOTM交下來的子事務并執行相應的操作。異構的多數據庫系統把應用的表現邏輯、業務邏輯和資源的管理分離開來,在頂層為用戶提供了一個統一的視圖,用戶可以像使用一種數據庫一樣使用多庫系統,底層數據庫的分布和異構對頂層用戶是透明的。
??? 基于CORBA的異構數據庫的集成,可以為最終用戶提供一個統一的友好的數據庫應用接口,并屏蔽掉各種網絡中的異構成分,包括數據庫管理系統的異構、網絡操作系統的異構,硬件平臺的異構以及網絡拓撲結構的異構等。這使得使用異構數據庫的數據像使用單個的數據庫系統的數據一樣方便。
4 利用異構數據庫開發新功能
??? CORBA提供了一個很好的模式來封裝和構建各種異構數據庫的應用,它能提供訪問各種異構數據庫,尤其是Web數據庫時所需要的各種特性:面向對象性、模塊性、靈活性和分布性等。基于以上特性,異構集成系統還開發了下面幾項新功能:
4.1 綜合信息發布模塊
??? 面對原有幾個系統數據庫構成的異構數據庫中的海量數據,如何保證數據的一致性和標準性顯得很重要。該模塊主要是完成電力公司異構信息系統的標準數據的發布工作,主要包括臺帳信息、運行數據和事件信息三大類。臺帳信息主要包括生產臺帳信息和經營臺帳信息;運行數據的對象是臺帳信息的所有對象,也分為生產運行數據和經營運行數據;根據事故性質不同而產生的新對象,這些構成了事件信息。信息的發布內容除以表格的形式表現,所有內容可以打印出來之外,還配以圖形分析實現對數據的生動直觀表達和有效分析。用戶可以根據需要選擇圖形的類型有:線圖、柱圖、餅圖、點圖、三維線圖、三維柱圖、三維餅圖、三維點圖等。
4.2 智能報表模塊
??? 電力公司的日常工作中要用到大量的報表,智能報表模塊主要是完成利用電力公司原有幾個系統的數據制作生產經營所需各種報表工作。其特色在于:
??? (1) 不同源系統的數據可以根據需要制成在一張報表上;
??? (2) 表格的格式和數據來源可以隨用戶需要定制,并可以隨時根據需要更改;
??? (3) 表格所需原始數據的處理模式如統計、合并、計算等可由用戶在設計模板階段定義并保存,無須生成中間報表;
??? (4) 支持一般電子表格軟件所具有的絕大部分功能;
??? (5) 以模板形式保存所有表格信息,格式數據均可變,對一般用戶,只需點擊報表生成按鈕即可得到報表,對高級用戶,可自由開發自己需要的任何報表模板。
4.3 用戶電費網上查詢模塊
??? 該模塊主要是電費用戶在互聯網上根據用電管理系統中的相關電量電費數據查詢自己的電量電費情況。其特色在于:用戶可以在互聯網上查詢自已最新的電量電費情況,減輕了用戶和供電工作人員的工作。用戶在互聯網上根據用戶名、戶標識號、密碼、年月進入查詢用戶電費界面,可以查詢的數據包括:總電量、總電費、峰電量、峰電費、平電量、平電費等在內的各項數據,使用戶用電用得稱心滿意。
4.4 用戶網上報裝申請模塊
??? 該模塊主要是用戶在互聯網上申請報裝,并輸入相關的報裝申請資料,電力公司工作人員根據網上的報裝申請進行審核,所有接受的網上申請進入正式的業務報裝的業務流程。所有流程軍在網上進行。每個申請提交成功時,返回申請號,一般在供電工作人員審核后,報裝申請用戶在互聯網上根據業擴變更系統中的相關報裝進度數據查詢自己的報裝進度。
5 結語
??? 異構集成系統對于電力公司提高設備的使用效率,減少不必要的網絡信息傳輸,降低數字傳輸的費用,提高信息傳輸的可靠性、實時性和正確性;在給定權限下,實現相應的功能共享,提高系統集成的整體性能和實用性具有重要意義,此外還可以降低成本和提高效率。該系統已在江西吉安供電局投入運行,反映良好。
參考文獻
[1] 賀寶權,陳欣,吳玲達(He Bao-quan, Chen Xin, Wu Ling-da). CORBA規范及其發展(The criterion and development of CORBA). 計算機應用研究(Computer Application and Rearch),1999(1):18-21
[2] 黃汝維 陳寧江 蘇德富(Huang Ru-wei, Chen Ning-jiang, Su De-fu). Delphi中三層結構與CORBA的應用研究(The Application of 3-Tier Architecture and CORBA in Delphi). 計算機應用研究(Computer Application and Rearch),2002(8):94-96
[3] 李維(Li Wei). Delphi5.x分布式多層應用系統篇(Distributed Multi-tier Application of Delphi5.x ). 北京:機械工業出版社(Beijing: Mechanic Industrial Press),2000
[4] 高鵬, 李懷香(Gao Peng, Li Huai-chun). 一個基于CORBA的異構數據庫集成查詢系統(A CORBA-based Heterogeneous Database Integration System for Query). 微機發展(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
評論
查看更多