帥訓波,常鑫,宋曉江,馬洋
(中國石油勘探開發研究院 廊坊分院 地球物理與信息研究所,河北 廊坊065007)
中國油氣田對外合作開發區塊作為油氣能源領域引領技術創新的重要窗口之一,其主要業務是在國家批準的中國油氣田區域內,與世界各國石油公司聯合從事油氣資源的勘探、開發和生產等。由于各跨國公司間的工作習慣和管理方法存在顯著差異,因而對綜合生產數據的管理,難以形成統一的標準規范。因此,各區塊管理的綜合生產數據存在明顯異構性,主要表現在數據格式和量綱的不一致、存儲與管理所用軟件產品或信息系統的不一致,以及各生產數據間的推算方法不完全一致等。各區塊間形成的“信息孤島”不僅嚴重制約著區塊間的公共信息充分共享,而且難以滿足中國油氣對外合作開發區塊管理職能部門對各區塊生產數據進行實時統計、對比分析與決策支持等管理需求。
信息技術應用是企業提高信息安全共享效率和優化管理的重要手段。對于解決數據源異構共享問題,當前普遍采用XML為中間件的中間數據轉換方式[1-4],XML具有良好的語義性和易擴展性,特別是Schema模式有豐富的數據類型定義和數據描述功能。面向服務架構SOA(Service-Oriented Architecture)是當前系統集成應用的熱點技術[5-9],具有統一標準、靈活配置、擴展性能良好和開發成本低等優點,通常被選用于構造企業集成應用的方法。
針對各油氣對外合作區塊間的數據異構而造成的“信息孤島”問題,筆者根據各區塊對各類綜合數據在編碼、屬性量綱和格式類型等之間的差異,采用XML標記語言建立一致性轉換過程規則,由信息系統在讀取數據時自動解釋規則,將異構數據源轉換為標準統一的規范化數據,從而建立了數據庫與XML文檔間的互映射關系,實現對各個生產區塊間的生產綜合數據動態集成,為中國油氣對外合作開發管理職能部門提供數據分析與決策支持。為了既立足于當前各區塊已有的管理信息系統功能,又解決各系統間的應用差異,采用SOA方法對現有的各系統進行集成應用,不必修改客戶端可以實現各區塊間的公共信息安全共享,從而設計了一種基于面向服務的業務動態集成應用框架。
對異構數據源進行統一集成的基本思想是應用一個公共數據模型,將各異構數據源關系模型映射到該公共模型,再將公共模型映射到關系模型。XML解決異構關系數據源可以跨平臺,而且XML的結構靈活、語言豐富,可以表達關系數據庫的結構和約束,此外,XML還具有優良的交互性和靈活性[1-2,4]。針對中國油氣對外合作開發各區塊的異構集成應用特點,為了滿足快捷方便的數據讀取,簡化規則建立過程,用于管理職能部門的宏觀統計與分析,選用XML作為異構數據統一集成的公共模型。
XML作為異構數據統一集成的公共模型,主要包括異構數據源的XML Schema全局模式、各局部數據源的XML Schema輸出模式以及全局模式與各輸出模式間的映射關系。把建立的轉換規則寫入到全局規則模式Schema模板中,由系統自動解釋XML規則模板,完成異構數據源的轉換。對轉換規則的構建主要包括編碼的轉換、屬性量綱轉換、字段名稱和類型的轉換等規則。
通過對映射規則XML文檔結構的解析,讀取數據表的相應字段定義,依據映射規則判斷,替換成具體的可執行的數據庫操作語句。具體數據流程如圖1所示。

圖1 基于映射規則的異構數據集成流程
由于業務的特殊性,各油氣區塊中存在多種應用系統并存的現狀和數據異構性,嚴重制約著公共信息的安全共享,進而影響著各區塊的綜合生產管理效率。針對該問題,采用SOA方法對現有的各系統進行集成,設計一種基于面向服務的業務集成應用框架。
SOA是一種軟件系統架構,憑借自身的松耦合和跨平臺等特性,成為當前系統集成應用的熱點技術,使得企業可以按照模塊化的方式來添加新服務或更新現有服務,以解決新的業務需要,并可以把企業現有的或已有的應用作為服務,從而保護了現有信息技術基礎建設的投資。
服務是SOA方法中基本組成單位,每個服務具有自治性和跨平臺性,服務單元之間相互通信。通過采用企業服務總線ESB(Enterprise Service Bus)的方式,用于消除多系統應用之間的異構性,促進服務跨平臺間的互操作以及不同格式數據間的共享。服務之間具有標準化 WSDL(Web Services Description Language)接口,采用標準化的HTTP和JMS傳輸方式,遵循標準化的SOAP(Simple Object Access Protocol)協議進行調用。SOA可以五元式表示,即SOA=(S,P,Re,Ri,UDDI):
1)S表示服務(Service)。由 Web服務描述語言WSDL描述,WSDL把服務抽象為一組包含在面向對象或面向過程消息上可執行的端點集合,多個相關端點構成服務。
2)P表示服務提供(Service Provider)。可通過網絡尋址的實體,接受和執行來自使用者的請求,并將已服務的和接口發布到服務注冊中心,以便服務使用者可以發現和訪問該服務。
3)Re表示服務請求(Service Requester)。該服務請求可以是應用程序、軟件模塊或需要該服務的另一個服務,并可以對注冊中心中的服務進行查詢,通過傳輸服務對綁定,并且根據接口執行該服務功能。
4)Ri表示服務注冊(Service Registry)。包含一個可用服務的存儲數據庫,并允許感興趣的服務使用者查找服務提供者的接口。
5)UDDI(Universal Description Discovery and Integration)表示 Web服務的操作(Web Operation)。主要是服務的統一描述發布、查找和綁定等。
SOA的Web體系結構如圖2所示。

圖2 SOA的Web體系結構示意
為了實現各油氣區塊數據的統計與分析,對異構數據源進行集成應用,并在此基礎上,進一步實現公共信息共享,實現中國油氣對外合作開發區塊的“立體式”信息化構建。采用SOA思想,對數據集成應用的各系統進一步服務封裝,依據業務綜合管理流程,將服務組合在一起,實現各子系統間相互提供服務,通過集成應用構建中國油氣綜合管理信息化平臺,最終將各類服務通過應用接口的方式提供給用戶。將該業務集成應用框架在邏輯上分成4層:數據層、數據集成層、服務層和業務集成應用層,如圖3所示,其中,數據集成層和服務層是該框架的核心。

圖3 業務集成應用框架
1)數據層。該層為各油氣區塊基礎數據層,保持了不同跨國油氣公司對綜合生產數據的工作習慣和管理方式。
2)數據集成層。采用XML公共數據模型,構建異構數據源的映射規則,對異構數據源進行訪問控制和管理,提供數據規范化集成應用,該層可以視為數據總線。
3)服務層。該層將各區塊的應用系統進行數據集成標準化后,進行服務封裝,為業務應用層提供各類服務,實現各個異構數據源區間的信息共享管理,在保持各區塊各自系統為該區塊提供服務的同時,各個子系統進行有序組合形成新的服務,另外服務封裝的粒度可根據業務集成應用需求而靈活調整。
4)業務集成應用層。通過應用集成相關策略和技術,將各區塊的信息系統有機整合,形成集中統一決策和管理的綜合信息化平臺。當需要改變業務集成應用時,可以通過對相應服務的重新優化組合來實現,提高平臺的可用性和靈活性。
WebService技術不僅采用了基于XML的輕量級的消息協議,WebService之間能夠交換帶結構的文檔,而且這些被交換的文檔能夠包含完整的異構數據信息,還可以同時附帶源數據,有效克服了異構系統之間的通信問題;另外WebService擁有標準的WSDL和UDDI技術,用以實現服務接口能力的描述和服務發布和查找;而服務能力的調用則根據具體的實現方式,動態采用簡單對象服務協議(SOAP),EJB,JMS,CORBA和Java等方式[10]。在UDDI注冊中心利用注冊 Model方式,建立一套服務調用方式的分類方法,用來對發布的WebService進行擴展描述。因此,筆者選用WebService技術實現基于服務的面向服務的綜合管理信息化平臺。
根據SOA基本架構特征,在所設計的面向服務的業務集成架構中,每個服務均由兩部分構成,即抽象接口和具體實現。對于服務的接口部分,采用WebService技術中WSDL文檔實現,在該文檔中記錄URL、傳輸協議、接口方法以及輸入輸出等。每個服務的實現通過WebService中的具體功能組件或應用程序完成。采用WebService技術實現業務集成所設計的架構如圖4所示。

圖4 業務集成應用框架的技術實現
根據業務管理的需求,針對中國油氣對外合作開發各區塊間“信息孤島”現狀,解決了由于數據異構而帶來的不利信息共享、難以形成信息化決策等問題,從數據集成和業務應用集成兩個層面論述了綜合管理信息化平臺的研發。首先采用XML建立異構數據間的一致性轉換過程規則,由信息系統在讀取數據時自動解釋規則,從而建立了數據庫與XML文檔間的互映射關系,實現對各個生產區塊間的生產綜合數據動態集成;然后采用SOA方法,設計了一種基于面向服務的業務動態集成應用框架,對現有的各區塊間的子系統實現業務集成應用;最后對中國油氣對外合作綜合管理信息化平臺研發的WebService關鍵技術進行論述。平臺的推廣應用效果表明,在保持各個合作開發油氣區塊對數據管理方式不改變的前提下,使各區塊的數據充分共享,綜合生產管理效率得到顯著提高。
[1]王沛.一種基于XML的異構數據庫數據轉換方法[J].西安郵電大學學報,2011,25(03):73-76.
[2]黃寬娜,劉徽.基于XML中間件的異構數據庫集成[J].西南大學學報(自然科學版),2010,32(09):141-146.
[3]彭樹青,陳德運.異構服務和分布式數據的動態集成[J].計算機科學,2010,37(10):168-170.
[4]萬靜,劉鍵,王學偉,等.基于XML的異構數據庫信息共享方法研究[J].北京化工大學學報(自然科學版),2010,37(05):130-134.
[5]王維平,王超,李群.基于面向服務架構的模型可移植性規范建模仿真框架[J].計算機集成制造系統,2011,17(12):2723-2731.
[6]吳江,趙世鈺,周銳,等.基于面向服務的多無人機輔助決策仿真集成方法[J].系統仿真學報,2012,24(12):2525-2529.
[7]甄甫,劉民,董明宇.基于面向服務架構消息中間件的業務流程系統集成方法研究[J].計算機集成制造系統,2009,15(05):968-972.
[8]張啟文.基于SOA的供應鏈異構系統集成研究[D].上海:東華大學,2011.
[9]申利民,李志偉.面向服務的柔性異構數據集成模型研究[J].燕山大學學報,2013,37(02):117-123.
[10]姜陽.基于WebService的異構數據收集與分發平臺的研究與實現[D].天津:天津工業大學,2006.