趙 靜,史天運,李 平
( 中國鐵道科學研究院電子計算技術研究所,北京100081 )
鐵路信息化經(jīng)過多年建設,初步建成了覆蓋客貨營銷、經(jīng)營管理、調度指揮3個業(yè)務領域的多個業(yè)務信息系統(tǒng),實現(xiàn)多個異構、異域、分布的業(yè)務信息系統(tǒng)之間的信息共享和資源共享亟待解決。
信息共享平臺是鐵路業(yè)務信息系統(tǒng)間信息交換和共享的樞紐,是為鐵道部、鐵路局和主要站段的業(yè)務信息系統(tǒng)間、業(yè)務信息系統(tǒng)與公用基礎信息平臺間、業(yè)務信息系統(tǒng)與鐵路門戶間提供信息交換服務、信息共享服務和功能共享服務的平臺。該平臺具有一定信息加工、數(shù)據(jù)轉換和處理能力,采用優(yōu)先級服務機制,優(yōu)先滿足實時性要求高的交換和共享請求,并保證信息交換和共享的安全性和可靠性[1]。
鐵路信息共享平臺的主要功能包括數(shù)據(jù)抽取、數(shù)據(jù)處理、數(shù)據(jù)存儲管理、數(shù)據(jù)共享管理、服務共享管理、系統(tǒng)監(jiān)控、安全保障。這些功能的實現(xiàn)都依賴于數(shù)據(jù)的集成,而數(shù)據(jù)集成是通過建立共享數(shù)據(jù)庫完成的。由于數(shù)據(jù)集成在共享平臺中的重要地位,決定了共享數(shù)據(jù)庫是整個平臺建設的核心。
文中提出共享數(shù)據(jù)庫的總體結構,并對共享數(shù)據(jù)庫進行設計,研究數(shù)據(jù)聯(lián)邦機制、ETL數(shù)據(jù)集成機制、基于中間件的數(shù)據(jù)集成機制等關鍵共享技術,給出具體的實現(xiàn)方法。
基于鐵路各業(yè)務信息系統(tǒng)的松耦合性質,可以利用數(shù)據(jù)驅動模型和查詢驅動模型,建立一個共享數(shù)據(jù)庫,把各個系統(tǒng)需要的共享數(shù)據(jù)抽取到共享數(shù)據(jù)庫中。數(shù)據(jù)源為鐵路各業(yè)務系統(tǒng)的基礎數(shù)據(jù)和業(yè)務數(shù)據(jù),為共享數(shù)據(jù)庫提供主要的源數(shù)據(jù),同時又從共享數(shù)據(jù)庫中得到本系統(tǒng)所需要的數(shù)據(jù)。
共享數(shù)據(jù)庫采用鐵道部和鐵路局兩級部署和維護機制,最終要形成共享信息資源的統(tǒng)一采集管理、統(tǒng)一存儲管理、統(tǒng)一利用管理和基于共享信息資源的應用系統(tǒng)管理,形成相應的技術和管理規(guī)范,保障業(yè)務信息資源的有效共享。
共享數(shù)據(jù)庫的總體結構見圖1。
整個共享中心可以分為3個層次:數(shù)據(jù)源層、共享數(shù)據(jù)庫層和主題分析庫層。

圖1 共享數(shù)據(jù)庫總體結構
數(shù)據(jù)源層是各個應用系統(tǒng)的內部數(shù)據(jù)庫,它為共享數(shù)據(jù)庫提供主要的源數(shù)據(jù),同時又從共享數(shù)據(jù)庫中得到自己需要的數(shù)據(jù)。
共享數(shù)據(jù)庫層是整個系統(tǒng)的核心,它一方面從數(shù)據(jù)源中抽取共享數(shù)據(jù),一方面為主題數(shù)據(jù)庫和OLAP數(shù)據(jù)庫提供源數(shù)據(jù)。
主題分析庫層包括OLAP數(shù)據(jù)庫和主題數(shù)據(jù)庫。OLAP庫是一個數(shù)據(jù)倉庫,它的數(shù)據(jù)源是歷史庫,OLAP庫從歷史庫中抽取出用于查詢、統(tǒng)計和分析的各種數(shù)據(jù)。主題數(shù)據(jù)庫是共享數(shù)據(jù)中心應用的基礎,它直接從共享數(shù)據(jù)庫中抽取數(shù)據(jù),通過一定的規(guī)則進行組合后形成一個應用主題所需要的數(shù)據(jù)集成,以Portal發(fā)布。
根據(jù)共享數(shù)據(jù)庫的總體結構可知,共享數(shù)據(jù)庫除業(yè)務系統(tǒng)的數(shù)據(jù)源外,主要包括核心數(shù)據(jù)庫、歷史數(shù)據(jù)庫、主題數(shù)據(jù)庫和OLAP庫。
歷史數(shù)據(jù)庫用于存放共享數(shù)據(jù)庫的歷史記錄,以便系統(tǒng)出現(xiàn)問題的時候進行查詢。
核心共享數(shù)據(jù)庫中的數(shù)據(jù)可以分為7個部分:基本數(shù)據(jù)庫、業(yè)務數(shù)據(jù)庫、數(shù)據(jù)字典庫、統(tǒng)計數(shù)據(jù)庫、管理信息庫、標準庫和平臺日志庫,如圖2。
(1)基本數(shù)據(jù)庫:基本數(shù)據(jù)是數(shù)據(jù)共享服務系統(tǒng)中最為基礎的數(shù)據(jù)。它包含了統(tǒng)一的公用基礎編碼、鐵路空間信息、運輸基礎信息等公用共享信息。各鐵路單位的基本信息、鐵路運營規(guī)章、制度信息、鐵路質量安全控制信息、機車車輛相關信息、客運貨運站基本信息、信息化規(guī)劃、標準、規(guī)范和路網(wǎng)規(guī)劃等鐵路大部分業(yè)務系統(tǒng)均需使用、共享程度很高的數(shù)據(jù)信息。
(2)業(yè)務數(shù)據(jù)庫:業(yè)務數(shù)據(jù)庫中存放的是各業(yè)務信息系統(tǒng)在日常業(yè)務工作中直接產(chǎn)生的原始業(yè)務數(shù)據(jù),是各類信息查詢和分析的基礎,數(shù)據(jù)量將隨著時間和業(yè)務量的增長而增加。這些數(shù)據(jù)是整個共享數(shù)據(jù)庫最核心的數(shù)據(jù),對它們的統(tǒng)計與分析構成了系統(tǒng)的業(yè)務要求,也是構建共享數(shù)據(jù)庫的最終目的。
(3)數(shù)據(jù)字典庫:數(shù)據(jù)字典共享庫存放描述共享數(shù)據(jù)庫中的數(shù)據(jù)。主要包括:共享數(shù)據(jù)的元數(shù)據(jù)、數(shù)據(jù)的來源、數(shù)據(jù)的用戶、應用系統(tǒng)庫的描述信息,信息共享平臺數(shù)據(jù)庫中各節(jié)點的配置信息、安全權限驗證信息、基本數(shù)據(jù)集結構信息等。
(4)統(tǒng)計數(shù)據(jù)庫:鐵路信息共享平臺的數(shù)據(jù)共享服務除了提供基本業(yè)務數(shù)據(jù)外,就是統(tǒng)計業(yè)務數(shù)據(jù)。它們是在各項基本數(shù)據(jù)和基本業(yè)務數(shù)據(jù)基礎上通過各種統(tǒng)計分析手段,根據(jù)地域性、時間段或其它限制條件得出的二次數(shù)據(jù),它們不是直接由業(yè)務系統(tǒng)產(chǎn)生的數(shù)據(jù)結果,是基本數(shù)據(jù)和基本業(yè)務數(shù)據(jù)的衍生物,是大量業(yè)務報表和統(tǒng)計工作的具體反映,在確定了產(chǎn)生方式時,可以根據(jù)現(xiàn)存的基本數(shù)據(jù)和基本業(yè)務數(shù)據(jù)推出,其準確性依賴于基本數(shù)據(jù)和基本業(yè)務數(shù)據(jù)的準確性和真實性。統(tǒng)計數(shù)據(jù)也由基本數(shù)據(jù)集的標準進行規(guī)范。對于基本數(shù)據(jù)集中未進行規(guī)范化的統(tǒng)計和分析,可以在相應的各層次的數(shù)據(jù)共享應用中根據(jù)底層存儲的基本數(shù)據(jù)和基本業(yè)務數(shù)據(jù)進行統(tǒng)計和分析,滿足不同情況的需要。
(5)管理信息庫:管理信息庫主要存放管理共享數(shù)據(jù)庫所需要的數(shù)據(jù),包括各業(yè)務系統(tǒng)作為用戶的注冊信息、權限信息和其它信息,各個業(yè)務系統(tǒng)共享數(shù)據(jù)的提供和使用情況等。
(6)標準庫:主要包括國際、國家信息化標準,鐵路內部的行業(yè)標準及規(guī)范,以及由此制定的鐵路信息系統(tǒng)基礎數(shù)據(jù)編碼規(guī)范。
(7)平臺日志庫:平臺日志庫存放的主要內容是數(shù)據(jù)交換過程中產(chǎn)生的一系列信息。
數(shù)據(jù)聯(lián)邦(Data Federation)能夠提供數(shù)據(jù)訪問、移動數(shù)據(jù)、轉換數(shù)據(jù)等諸如此類的服務。數(shù)據(jù)聯(lián)邦或企業(yè)信息集成,可一次查詢訪問多個數(shù)據(jù)源。它的運行方式就像是虛擬數(shù)據(jù)倉庫:被查詢的數(shù)據(jù)仍保留在原地而不是被復制到中央信息庫中。數(shù)據(jù)聯(lián)邦軟件在下面承擔協(xié)調數(shù)據(jù)格式、保護數(shù)據(jù)完整性和建立信息的聚合視圖等多種任務。
數(shù)據(jù)聯(lián)邦機制提供了組織、訪問和更新共享信息的邏輯方法,是多個自治的成員數(shù)據(jù)庫系統(tǒng)的集合。集成各個應用系統(tǒng),提供統(tǒng)一、透明的全局操作的同時,仍能保持各個應用系統(tǒng)具有的高度自治。它不采用一個全局的模式,各成員數(shù)據(jù)庫可以自由加入或集成框架,以及以不同的程度集成到集成框架中去。聯(lián)邦系統(tǒng)結構主要包括通信接口、數(shù)據(jù)字典、數(shù)據(jù)組裝模塊、數(shù)據(jù)映射模塊和中心虛擬數(shù)據(jù)庫[2],如圖2。

圖2 數(shù)據(jù)聯(lián)邦結構
中心虛擬數(shù)據(jù)庫是業(yè)務操作的數(shù)據(jù)庫,由業(yè)務根據(jù)需要結合數(shù)據(jù)字典構造,集成各業(yè)務系統(tǒng)的數(shù)據(jù);數(shù)據(jù)字典記錄對各業(yè)務系統(tǒng)數(shù)據(jù)的集體描述,包括所有的業(yè)務系統(tǒng)數(shù)據(jù)庫中表和數(shù)據(jù)項的定義等,是構造中心虛擬數(shù)據(jù)庫和語法分析模塊的基礎;數(shù)據(jù)映射模塊根據(jù)應用需求,將中心虛擬數(shù)據(jù)的構造與操作映射為對各業(yè)務系統(tǒng)數(shù)據(jù)庫的 SQL 操作;數(shù)據(jù)組裝模塊負責將由通信接口取回的分組數(shù)據(jù)“組裝”至中心虛擬數(shù)據(jù)庫;通信接口負責進行操作命令與數(shù)據(jù)的傳送與通信。
ETL數(shù)據(jù)集成技術主要用于數(shù)據(jù)庫級數(shù)據(jù)共享,要求業(yè)務系統(tǒng)數(shù)據(jù)庫能夠保持與共享平臺數(shù)據(jù)庫之間的聯(lián)通,并且開放訪問權限。根據(jù)集成數(shù)據(jù)的不同特征,將采用不同的集成技術。ETL中3個字母分別代表的是Extract(抽取)、Transform(轉換)、Load(加載[3]),如圖3。
(1)數(shù)據(jù)抽取:從業(yè)務數(shù)據(jù)庫抽取需要共享的數(shù)據(jù)。
(2)數(shù)據(jù)轉換:將從業(yè)務數(shù)據(jù)庫獲取的共享數(shù)據(jù)按照共享數(shù)據(jù)模式,轉換成共享數(shù)據(jù)庫存儲的形式,并對錯誤、不一致的數(shù)據(jù)進行清洗和加工。

圖3 采用ETL技術數(shù)據(jù)集成框圖
(3)數(shù)據(jù)加載:將轉換后的數(shù)據(jù)裝載到共享數(shù)據(jù)庫。
業(yè)務數(shù)據(jù)庫由于網(wǎng)絡或安全原因不能夠直接連接的情況下,比較適宜采用中間件數(shù)據(jù)集成技術。業(yè)務源系統(tǒng)將需要共享的數(shù)據(jù)轉換成文件的形式,通過中間件傳輸?shù)叫畔⒐蚕砥脚_。
基于中間件的數(shù)據(jù)集成系統(tǒng)主要包括中間件、接口適配器和數(shù)據(jù)轉換組件, 根據(jù)業(yè)務系統(tǒng)的需求提供文件適配器、消息適配器等傳輸不同形式的數(shù)據(jù)。中間件通過接口適配器和數(shù)據(jù)源交互。數(shù)據(jù)轉換組件根據(jù)共享平臺共享數(shù)據(jù)管理的要求,將業(yè)務源數(shù)據(jù)進行處理轉換入庫,如圖4。

圖4 數(shù)據(jù)集成中間件
文章主要研究鐵路信息共享平臺中共享數(shù)據(jù)庫,提出共享數(shù)據(jù)庫的總體結構,對核心數(shù)據(jù)庫的內容進行設計,研究了數(shù)據(jù)聯(lián)邦、ETL數(shù)據(jù)集成和基于中間件的數(shù)據(jù)集成技術及實現(xiàn)策略。通過實驗室仿真環(huán)境的驗證,在數(shù)據(jù)共享方面取到了很好的效果。
[1] 史天運,李平,裴坤壽. 鐵路信息共享平臺體系結構研究[J] .鐵路計算機應用,2008,17(9).
[2] 繆嘉嘉,鄧 蘇,劉青寶. E T L綜述[J] . 計算機工程,2004,30(3).