??? 關(guān)鍵詞:公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu);系統(tǒng)集成;異構(gòu)數(shù)據(jù)庫(kù)?
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)信息化和自動(dòng)化程度一步步的提高,各地電力公司都建成了多個(gè)異構(gòu)的電力信息系統(tǒng),主要包括調(diào)度自動(dòng)化系統(tǒng)、負(fù)荷控制和用電管理系統(tǒng)、管理信息系統(tǒng)(MIS)和配網(wǎng)地理信息系統(tǒng)等。這些系統(tǒng)關(guān)心電力對(duì)象的不同方面,對(duì)于不同的電力對(duì)象采用了不同的建模方法,相互之間很少設(shè)計(jì)成能夠進(jìn)行自由的數(shù)據(jù)交換,而且采用的開(kāi)發(fā)工具以及后臺(tái)的數(shù)據(jù)庫(kù)都有可能不一致,使得各個(gè)應(yīng)用系統(tǒng)在信息上成為相對(duì)孤立的“自動(dòng)化島”。為了滿足用戶對(duì)信息集成的需求,異構(gòu)電力信息集成與交換系統(tǒng)(以下簡(jiǎn)稱異構(gòu)集成系統(tǒng))對(duì)屬于不同管理部門的多個(gè)異構(gòu)電力信息系統(tǒng)進(jìn)行整合,溝通信息渠道,建立橫向聯(lián)系,向電力公司各個(gè)職能部門提供較全面的服務(wù)。
??? 要建成異構(gòu)集成系統(tǒng),必須解決一系列兼容性問(wèn)題,譬如跨平臺(tái)、跨操作系統(tǒng)、跨語(yǔ)言、跨協(xié)議和跨版本等。而CORBA作為分布式對(duì)象的主要標(biāo)準(zhǔn),已成為應(yīng)用系統(tǒng)集成和即插即用的主要技術(shù)。基于CORBA的應(yīng)用系統(tǒng)集成可以為企業(yè)提供支持多廠商、多平臺(tái)、異構(gòu)網(wǎng)絡(luò)、不同操作系統(tǒng)和已有的傳統(tǒng)應(yīng)用系統(tǒng)的集成和即插即用的環(huán)境,實(shí)現(xiàn)多個(gè)異構(gòu)系統(tǒng)的集成和信息交換。
1 CORBA的相關(guān)概念
??? 公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)CORBA(Common Object Request Broker Architecture)是由OMG(Object Management Group)組織制定的一個(gè)工業(yè)標(biāo)準(zhǔn)。CORBA是OMA(Object Management Architecture)的一個(gè)重要組成部分。OMG即對(duì)象管理體系結(jié)構(gòu),由對(duì)象模型和引用模型組成,對(duì)象模型定義了如何描述分布在異構(gòu)環(huán)境中的對(duì)象,而對(duì)象引用模型則規(guī)定了這些對(duì)象如何進(jìn)行互操作。圖1描述了OMA引用模型的各組成部分。
??? OMA的重點(diǎn)在于對(duì)象請(qǐng)求代理(即ORB),這是非常必要的。因?yàn)榭蛻舳讼驅(qū)ο笳?qǐng)求執(zhí)行某一任務(wù),必須通過(guò)ORB實(shí)現(xiàn)客戶端和對(duì)象之間的通訊。CORBA則詳細(xì)規(guī)定了ORB的接口和特征,OMG給CORBA的定義是:通過(guò)ORB一個(gè)客戶程序可以透明地激活服務(wù)器對(duì)象的一個(gè)方法。這個(gè)服務(wù)器對(duì)象可以和客戶程序在同一臺(tái)機(jī)器上,也可以位于網(wǎng)絡(luò)上的另一臺(tái)機(jī)器,ORB截獲調(diào)用請(qǐng)求,然后尋找該服務(wù)器對(duì)象,向其傳遞參數(shù),激活相應(yīng)的方法并返回執(zhí)行結(jié)果,客戶程序不必知道服務(wù)器對(duì)象的位置、它的編程語(yǔ)言、所處的操作系統(tǒng)及其它任何非對(duì)象接口方面的系統(tǒng)信息。這樣,ORB提供分布式異構(gòu)環(huán)境中不同機(jī)器上應(yīng)用程序的互操作和多對(duì)象系統(tǒng)的無(wú)縫連接。CORBA定義了創(chuàng)建軟件組件的面向?qū)ο蟮姆椒ǎ憧梢栽趹?yīng)用程序間重用和共享這些軟件組件,每個(gè)對(duì)象的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)都被封裝起來(lái),只對(duì)編程人員展現(xiàn)出一個(gè)定義好的接口,從而減少了程序的復(fù)雜性。
2 CORBA應(yīng)用于異構(gòu)電力信息系統(tǒng)的集成
2.1 系統(tǒng)接口
??? 為了將電力公司的多個(gè)異構(gòu)的電力信息系統(tǒng)集成起來(lái),主要是要設(shè)計(jì)異構(gòu)集成系統(tǒng)與這些系統(tǒng)的接口,也就是CORBA的中間件。CORBA中間件借助IDL(接口定義語(yǔ)言)來(lái)描述對(duì)象接口,一個(gè)接口可包含若干相關(guān)方法和屬性,這就實(shí)現(xiàn)了CORBA與語(yǔ)言無(wú)關(guān)的獨(dú)立性。CORBA IDL是一種描述接口,可以映射到不同的語(yǔ)言。本文主要利用Delphi提供的Type Library定義接口。其IDL文本文件如下:
??? VisiBroker會(huì)自動(dòng)根據(jù)IDL文件生成相應(yīng)的CORBA的客戶端代理Stub和CORBA服務(wù)器端的Skeleton。比如說(shuō)在管理信息系統(tǒng)(MIS)要獲取調(diào)度自動(dòng)化系統(tǒng)的信息,由Stub來(lái)處理這種請(qǐng)求后再向?qū)ο笳?qǐng)求代理(ORB)發(fā)送調(diào)用請(qǐng)求,然后由ORB負(fù)責(zé)攔截請(qǐng)求調(diào)用,負(fù)責(zé)找到可以實(shí)現(xiàn)請(qǐng)求的對(duì)象,即調(diào)度自動(dòng)化系統(tǒng),在這個(gè)系統(tǒng)上有CORBA服務(wù)器端的Skeleton,它負(fù)責(zé)處理完請(qǐng)求后返回請(qǐng)求結(jié)果,這樣通過(guò)這種接口定義即成功實(shí)現(xiàn)了系統(tǒng)的集成。
2.2 對(duì)象服務(wù)
??? 在原有電力公司的某個(gè)電力信息系統(tǒng)內(nèi),存在著很多需要局內(nèi)另一個(gè)電力信息系統(tǒng)的數(shù)據(jù)的情況。比如說(shuō)屬于用電管理系統(tǒng)的市場(chǎng)營(yíng)銷部需要調(diào)度自動(dòng)化系統(tǒng)的一些實(shí)時(shí)數(shù)據(jù),即供電局調(diào)度日?qǐng)?bào)表和電網(wǎng)運(yùn)行情況日?qǐng)?bào)表的數(shù)據(jù)。對(duì)供電局調(diào)度日?qǐng)?bào)表,主要需要系統(tǒng)、省網(wǎng)、直供三個(gè)方面的96個(gè)點(diǎn)的有功、無(wú)功數(shù)據(jù),以報(bào)表的形式給出,并具要有一定的圖形分析功能。對(duì)電網(wǎng)運(yùn)行情況日?qǐng)?bào)表,要求數(shù)據(jù)以文本文件的形式給出。
??? 以往這些數(shù)據(jù)資料都有人工來(lái)傳送,用電管理系統(tǒng)和調(diào)度自動(dòng)化系統(tǒng)雖然都在一個(gè)局域網(wǎng)內(nèi),但也不能實(shí)現(xiàn)資源和數(shù)據(jù)的互通。通過(guò)異構(gòu)集成系統(tǒng)就可以通過(guò)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn),節(jié)省了大量的人力物力,提高了實(shí)時(shí)性和可靠性。這些功能通過(guò)上面定義的接口,主要由CORBA的對(duì)象服務(wù)來(lái)完成。當(dāng)用電管理系統(tǒng)需要數(shù)據(jù)時(shí),就可以根據(jù)情況,選擇相應(yīng)時(shí)間和內(nèi)容,主動(dòng)讀取數(shù)據(jù)。
3 利用CORBA實(shí)現(xiàn)異種數(shù)據(jù)庫(kù)集成
??? 電力公司的多個(gè)信息系統(tǒng)大多依賴于不同的數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù),要實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下的信息共享,就必須聯(lián)合各個(gè)異構(gòu)數(shù)據(jù)庫(kù)建立合理高效的海量異構(gòu)數(shù)據(jù)庫(kù)。異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)是指異構(gòu)的多數(shù)據(jù)庫(kù)系統(tǒng),即組成它的成員數(shù)據(jù)庫(kù)具有的硬件、系統(tǒng)軟件例如操作系統(tǒng)或通信支持不同,或者成員數(shù)據(jù)庫(kù)不同或具有不同的數(shù)據(jù)語(yǔ)義。
??? CORBA采用一種中性的接口定義語(yǔ)言(IDL)來(lái)規(guī)定一個(gè)分布式對(duì)象的邊界以及它與潛在客戶的合同接口,寫入IDL中的分布式對(duì)象應(yīng)當(dāng)可以跨語(yǔ)言、工具、操作系統(tǒng)和網(wǎng)絡(luò)進(jìn)行訪問(wèn),從而也就實(shí)現(xiàn)了對(duì)異構(gòu)數(shù)據(jù)庫(kù)的集成。異構(gòu)的多數(shù)據(jù)庫(kù)系統(tǒng)主要由三大部分組成:全局?jǐn)?shù)據(jù)庫(kù)(GDB:Global Database)、多庫(kù)系統(tǒng)事務(wù)管理器(MOTM:Multidatabase Object Transaction Manager)和局部數(shù)據(jù)庫(kù)(LDB:Local Database),如圖2所示。其中全局?jǐn)?shù)據(jù)庫(kù)接受全局事務(wù),把它分解為針對(duì)每個(gè)LDB的子事務(wù)后交給MOTM;MOTM負(fù)責(zé)把全局事務(wù)的所有子事務(wù)交予相應(yīng)的LDB站點(diǎn)執(zhí)行,并負(fù)責(zé)維護(hù)全局事務(wù),同時(shí)負(fù)責(zé)負(fù)荷平衡、安全管理等問(wèn)題;LDB接受MOTM交下來(lái)的子事務(wù)并執(zhí)行相應(yīng)的操作。異構(gòu)的多數(shù)據(jù)庫(kù)系統(tǒng)把應(yīng)用的表現(xiàn)邏輯、業(yè)務(wù)邏輯和資源的管理分離開(kāi)來(lái),在頂層為用戶提供了一個(gè)統(tǒng)一的視圖,用戶可以像使用一種數(shù)據(jù)庫(kù)一樣使用多庫(kù)系統(tǒng),底層數(shù)據(jù)庫(kù)的分布和異構(gòu)對(duì)頂層用戶是透明的。
??? 基于CORBA的異構(gòu)數(shù)據(jù)庫(kù)的集成,可以為最終用戶提供一個(gè)統(tǒng)一的友好的數(shù)據(jù)庫(kù)應(yīng)用接口,并屏蔽掉各種網(wǎng)絡(luò)中的異構(gòu)成分,包括數(shù)據(jù)庫(kù)管理系統(tǒng)的異構(gòu)、網(wǎng)絡(luò)操作系統(tǒng)的異構(gòu),硬件平臺(tái)的異構(gòu)以及網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的異構(gòu)等。這使得使用異構(gòu)數(shù)據(jù)庫(kù)的數(shù)據(jù)像使用單個(gè)的數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)一樣方便。
4 利用異構(gòu)數(shù)據(jù)庫(kù)開(kāi)發(fā)新功能
??? CORBA提供了一個(gè)很好的模式來(lái)封裝和構(gòu)建各種異構(gòu)數(shù)據(jù)庫(kù)的應(yīng)用,它能提供訪問(wèn)各種異構(gòu)數(shù)據(jù)庫(kù),尤其是Web數(shù)據(jù)庫(kù)時(shí)所需要的各種特性:面向?qū)ο笮浴⒛K性、靈活性和分布性等。基于以上特性,異構(gòu)集成系統(tǒng)還開(kāi)發(fā)了下面幾項(xiàng)新功能:
4.1 綜合信息發(fā)布模塊
??? 面對(duì)原有幾個(gè)系統(tǒng)數(shù)據(jù)庫(kù)構(gòu)成的異構(gòu)數(shù)據(jù)庫(kù)中的海量數(shù)據(jù),如何保證數(shù)據(jù)的一致性和標(biāo)準(zhǔn)性顯得很重要。該模塊主要是完成電力公司異構(gòu)信息系統(tǒng)的標(biāo)準(zhǔn)數(shù)據(jù)的發(fā)布工作,主要包括臺(tái)帳信息、運(yùn)行數(shù)據(jù)和事件信息三大類。臺(tái)帳信息主要包括生產(chǎn)臺(tái)帳信息和經(jīng)營(yíng)臺(tái)帳信息;運(yùn)行數(shù)據(jù)的對(duì)象是臺(tái)帳信息的所有對(duì)象,也分為生產(chǎn)運(yùn)行數(shù)據(jù)和經(jīng)營(yíng)運(yùn)行數(shù)據(jù);根據(jù)事故性質(zhì)不同而產(chǎn)生的新對(duì)象,這些構(gòu)成了事件信息。信息的發(fā)布內(nèi)容除以表格的形式表現(xiàn),所有內(nèi)容可以打印出來(lái)之外,還配以圖形分析實(shí)現(xiàn)對(duì)數(shù)據(jù)的生動(dòng)直觀表達(dá)和有效分析。用戶可以根據(jù)需要選擇圖形的類型有:線圖、柱圖、餅圖、點(diǎn)圖、三維線圖、三維柱圖、三維餅圖、三維點(diǎn)圖等。
4.2 智能報(bào)表模塊
??? 電力公司的日常工作中要用到大量的報(bào)表,智能報(bào)表模塊主要是完成利用電力公司原有幾個(gè)系統(tǒng)的數(shù)據(jù)制作生產(chǎn)經(jīng)營(yíng)所需各種報(bào)表工作。其特色在于:
??? (1) 不同源系統(tǒng)的數(shù)據(jù)可以根據(jù)需要制成在一張報(bào)表上;
??? (2) 表格的格式和數(shù)據(jù)來(lái)源可以隨用戶需要定制,并可以隨時(shí)根據(jù)需要更改;
??? (3) 表格所需原始數(shù)據(jù)的處理模式如統(tǒng)計(jì)、合并、計(jì)算等可由用戶在設(shè)計(jì)模板階段定義并保存,無(wú)須生成中間報(bào)表;
??? (4) 支持一般電子表格軟件所具有的絕大部分功能;
??? (5) 以模板形式保存所有表格信息,格式數(shù)據(jù)均可變,對(duì)一般用戶,只需點(diǎn)擊報(bào)表生成按鈕即可得到報(bào)表,對(duì)高級(jí)用戶,可自由開(kāi)發(fā)自己需要的任何報(bào)表模板。
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)識(shí)號(hào)、密碼、年月進(jìn)入查詢用戶電費(fèi)界面,可以查詢的數(shù)據(jù)包括:總電量、總電費(fèi)、峰電量、峰電費(fèi)、平電量、平電費(fèi)等在內(nèi)的各項(xiàng)數(shù)據(jù),使用戶用電用得稱心滿意。
4.4 用戶網(wǎng)上報(bào)裝申請(qǐng)模塊
??? 該模塊主要是用戶在互聯(lián)網(wǎng)上申請(qǐng)報(bào)裝,并輸入相關(guān)的報(bào)裝申請(qǐng)資料,電力公司工作人員根據(jù)網(wǎng)上的報(bào)裝申請(qǐng)進(jìn)行審核,所有接受的網(wǎng)上申請(qǐng)進(jìn)入正式的業(yè)務(wù)報(bào)裝的業(yè)務(wù)流程。所有流程軍在網(wǎng)上進(jìn)行。每個(gè)申請(qǐng)?zhí)峤怀晒r(shí),返回申請(qǐng)?zhí)枺话阍诠╇姽ぷ魅藛T審核后,報(bào)裝申請(qǐng)用戶在互聯(lián)網(wǎng)上根據(jù)業(yè)擴(kuò)變更系統(tǒng)中的相關(guān)報(bào)裝進(jìn)度數(shù)據(jù)查詢自己的報(bào)裝進(jìn)度。
5 結(jié)語(yǔ)
??? 異構(gòu)集成系統(tǒng)對(duì)于電力公司提高設(shè)備的使用效率,減少不必要的網(wǎng)絡(luò)信息傳輸,降低數(shù)字傳輸?shù)馁M(fèi)用,提高信息傳輸?shù)目煽啃浴?shí)時(shí)性和正確性;在給定權(quán)限下,實(shí)現(xiàn)相應(yīng)的功能共享,提高系統(tǒng)集成的整體性能和實(shí)用性具有重要意義,此外還可以降低成本和提高效率。該系統(tǒng)已在江西吉安供電局投入運(yùn)行,反映良好。
評(píng)論
查看更多