胡金龍,柏 屏,朱海波,曹 帥
(1. 江蘇省水文水資源勘測局,江蘇 南京 210029 ;2. 江蘇省水文水資源勘測局南京分局,江蘇 南京 210029)
基于數(shù)據(jù)中心的數(shù)據(jù)交互及應用服務技術研究
胡金龍1,柏 屏1,朱海波2,曹 帥1
(1. 江蘇省水文水資源勘測局,江蘇 南京 210029 ;2. 江蘇省水文水資源勘測局南京分局,江蘇 南京 210029)
介紹基于數(shù)據(jù)中心的數(shù)據(jù)匯集、共享、服務技術研究的目標和內(nèi)容,制定總體技術路線,通過多種通信技術的融合、封裝,解決多種分布式通信模式下異構系統(tǒng)或數(shù)據(jù)庫之間頻繁的大量數(shù)據(jù)匯集問題,利用 JMS、適配器、數(shù)據(jù)定向回滾等技術,解決數(shù)據(jù)中心不同用戶節(jié)點之間的數(shù)據(jù)共享問題,采用接口和服務重用、事件驅(qū)動模型、微內(nèi)核插件式等設計的混合模式,實現(xiàn)對不同業(yè)務需求的數(shù)據(jù)中心應用服務,構建省級水利數(shù)據(jù)中心模型,形成一套較為完整的數(shù)據(jù)中心建設解決方案,供后續(xù)數(shù)據(jù)中心建設參考。
數(shù)據(jù)中心;數(shù)據(jù)交互;通信技術融合與封裝;數(shù)據(jù)定向回滾技術;混合設計;數(shù)據(jù)匯集;應用服務
現(xiàn)今,信息已成為市場經(jīng)濟不可或缺的重要組成部分,基于數(shù)據(jù)中心的信息匯集、交換、服務體系的建設已成為各企事業(yè)單位實現(xiàn)現(xiàn)代化的重要指標?!督K省水利信息化發(fā)展“十二五”規(guī)劃》已明確要開展江蘇省水利數(shù)據(jù)中心建設,數(shù)據(jù)中心的建設目的很明確,就是要做到數(shù)據(jù)收集規(guī)范化、集中化,數(shù)據(jù)訪問標準化、接口化,應用服務多元化、透明化,從而實現(xiàn)資源存儲、共享的最優(yōu)化。水文信息作為江蘇省水利數(shù)據(jù)中心基礎性信息,開展基于企業(yè)服務總線架構的數(shù)據(jù)匯集[1]、共享及應用服務平臺解決方案研究,一方面,是解決目前日益增長的水利水文數(shù)據(jù)的共享交換完整性、時效性及規(guī)則制定需求;另一方面,也是建設數(shù)據(jù)中心,實現(xiàn)數(shù)據(jù)整合、匯集、共享的前期方案探索和技術儲備。
該項課題以水文業(yè)務為依托,研究基于數(shù)據(jù)中心的數(shù)據(jù)匯集、共享及應用服務,旨在為江蘇水利數(shù)據(jù)中心建設設計一套數(shù)據(jù)匯集、交換及共享的總體架構技術方案,具體達到下述目標:
1)研究分析各種水文數(shù)據(jù)的數(shù)據(jù)結構,結合信息應用需求,對水文信息進行收集、分類、整合;
2)開發(fā)江蘇省水文數(shù)據(jù)交換共享平臺,實現(xiàn)異構和異源數(shù)據(jù)的匯集、交換及共享,實現(xiàn)水文信息的初步整合、匯集。
3)構建江蘇省水文信息查詢系統(tǒng),實現(xiàn)水文信息“一平臺”展示。
在查閱與參考國內(nèi)外水文行業(yè)熱點及數(shù)據(jù)交換共享方面新技術、新方法的前提下,確定研究主題,進一步研究新技術和新方法在數(shù)據(jù)中心的數(shù)據(jù)匯集、交換及共享方面的應用。通過對信息的收集、整合、擴展,依托企業(yè)服務總線構建數(shù)據(jù)交換共享平臺,實現(xiàn)水文信息全面、統(tǒng)一的展示。
1.1 信息收集
針對以往信息采集系統(tǒng)建設和共享存在的問題,按照水文業(yè)務應用的實際需要,研究各類水文信息的綜合采集技術,積極引進物聯(lián)網(wǎng)技術,建設統(tǒng)一的水文信息采集接收平臺,達到滿足各類水文信息采集和加工的需要,并可以動態(tài)擴充,為水文業(yè)務應用全面提供數(shù)據(jù)支撐。
按水文業(yè)務的基本分類,水文數(shù)據(jù)包括歷史水文、水雨情、水資源、水質(zhì)、地下水、水土保持、水文站網(wǎng)、空間、元數(shù)據(jù)等數(shù)據(jù)。
1.2 信息資源整合擴展
在充分利用和整合現(xiàn)有數(shù)據(jù)庫信息資源的基礎上,補充收集整編全江蘇省水文工作所必需的水雨情、水資源、地下水、水質(zhì)、水土保持、水文站網(wǎng)等基本數(shù)據(jù),形成數(shù)據(jù)中心統(tǒng)一的數(shù)據(jù)資源,為后續(xù)數(shù)據(jù)深入分析、應用、服務、數(shù)據(jù)挖掘搭建數(shù)據(jù)環(huán)境。
1.3 水文數(shù)據(jù)交換平臺
開展數(shù)據(jù)交換平臺研究,實現(xiàn)省中心及各分中心之間水文數(shù)據(jù)及時、準確、穩(wěn)定地傳輸和交換,并擴展至其他相關機構和部門,最終實現(xiàn)跨系統(tǒng)、數(shù)據(jù)庫、業(yè)務的數(shù)據(jù)匯集及交換共享服務。
1.4 服務層架構
服務層應可部署實現(xiàn)具體業(yè)務所必須的服務,包括運維管理服務與集成業(yè)務應用所必須的訪問控制服務,以及數(shù)據(jù)共享交換平臺等。這些服務具有標準調(diào)用接口,開放性好,可擴展,可復用。當然,對于所有服務接口的調(diào)用過程是有嚴格的用戶權限控制的。開發(fā)服務層的目的是為業(yè)務應用層提供強有力的服務支撐。
1.5 應用服務展示
基于服務層架構應用服務,實現(xiàn)水情、雨情、蒸發(fā)、地下水、水質(zhì)、墑情、氣象、水文地理空間等信息查詢服務;水文業(yè)務所必須的數(shù)據(jù)綜合分析、對比;水情防汛決策所需的氣象信息查詢服務;成果發(fā)布。
2.1 SOA 服務體系架構
水利數(shù)據(jù)中心要建設成一個開放的服務平臺,而面向水利的服務又是多樣的,各部門或用戶的需求也是多樣的,這就要求在建設水利數(shù)據(jù)中心服務平臺時,要充分考慮服務的可擴展性,采用面向服務的體系結構(SOA)無疑是目前最好的架構方式。
SOA 是一個組件模型,將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言,這使得構建在各種這樣的系統(tǒng)中的服務可以以一種統(tǒng)一和通用的方式進行交互。
2.2 JAVA EE 規(guī)范
水利行業(yè)多年的信息化建設造成了諸多的“應用孤島”和“服務孤島”,這些“孤島”由于沒有統(tǒng)一的編程規(guī)范,想要集成整合幾乎不可能,作為水利數(shù)據(jù)中心統(tǒng)一服務平臺的建設就不能再出現(xiàn)這樣的“孤島”。為保證平臺高可用性、高可靠性和可擴展性,系統(tǒng)須選擇支持企業(yè)級計算的成熟技術路線。能夠滿足這些條件的技術首推 JAVA EE 企業(yè)標準,采用 JAVA 語言,確保服務和支撐環(huán)境可跨平臺運行。
2.3 中間件軟件技術
隨著水利部門的應用需求不斷增加,部門與部門之間的數(shù)據(jù)、服務交互日益加大,水利數(shù)據(jù)中心服務平臺上的服務亦會不斷增多,服務與服務之間的組合、封裝形式將會多樣化,如何解決這些服務的分布式計算,服務、接口的標準化,中間件技術顯然是解決這些問題的成熟的技術手段。中間件有支持分布式計算,支持標準的協(xié)議和接口,可跨平臺運行等特點。以大量 API 服務,實現(xiàn)異構環(huán)境的通訊,從而屏蔽異構系統(tǒng)中復雜的操作系統(tǒng)和網(wǎng)絡協(xié)議。以符合接口和協(xié)議規(guī)范的多種標準化服務方式,解決不同操作系統(tǒng)和硬件平臺的服務接入和引用。
2.4 企業(yè)服務總線技術
通過調(diào)研,企業(yè)服務總線技術(ESB)是上述 3 種技術路線的完美體現(xiàn),它不但是一個數(shù)據(jù)交換平臺,同時也是一個服務架構平臺。ESB 的 ETL(extract,transform,load)組件提供了歷史數(shù)據(jù)的遷移、同步、合并等功能,可以實現(xiàn)不同數(shù)據(jù)源(file,database)的數(shù)據(jù)實時訪問[2]?;?ESB 總線進行服務集成,再通過服務進行應用集成,集成示意圖如圖 1 所示。信息系統(tǒng)之間的交互通過總線進行,這樣可以降低應用系統(tǒng)、各個組件及相關技術的耦合度,消除應用系統(tǒng)點對點集成瓶頸,降低集成開發(fā)難度,提高復用,增進系統(tǒng)開發(fā)和運行效率,便于業(yè)務系統(tǒng)靈活重構,快速適應業(yè)務及流程變化需要。
2.5 異構系統(tǒng)適配器服務
圖1 基于 ESB 總線的應用服務集成示意圖
異構系統(tǒng)適配器服務是數(shù)據(jù)交換系統(tǒng)的基礎服務部件,是各信息系統(tǒng)接入 ESB 的橋梁,是從數(shù)據(jù)層面實現(xiàn)水利“信息孤島”之間數(shù)據(jù)交互共享的紐帶,是多種異構系統(tǒng)之間互連互通及互操作的服務單元。適配器應遵循國際級行業(yè)標準,提供標準的XML 數(shù)據(jù)對象、服務接口、服務操作方法,真正實現(xiàn)信息系統(tǒng)服務重用,架構圖如圖 2 所示。適配器服務分為提供和消費 2 種服務者,既可以提供服務消費,也可以消費其他服務??梢詫崿F(xiàn)信息系統(tǒng)常用文件、數(shù)據(jù)庫、通訊等技術適配能力,并可以按照特定規(guī)范進行適配器服務定制,滿足可擴展需要。
圖2 異構系統(tǒng)適配器架構圖
2.6 消息隊列技術
作為數(shù)據(jù)、服務的集散中心,水利數(shù)據(jù)中心要時刻響應大量用戶的數(shù)據(jù)或服務請求,為實現(xiàn)大數(shù)據(jù)服務的并發(fā)壓力控制[3]、網(wǎng)絡上大數(shù)據(jù)的可靠傳輸,平臺將實現(xiàn)數(shù)據(jù)與消息的適配器服務的編排,解決多部門、信息系統(tǒng)之間數(shù)據(jù)發(fā)送和接收過程中的可靠傳輸保障需求。
消息隊列技術基于點對點的隊列通訊通道,確保信息系統(tǒng)之間的數(shù)據(jù)有且僅有 1 次完整傳輸給對方,并為適配器服務提供異步數(shù)據(jù)緩存機制,提高適配器服務的數(shù)據(jù)并發(fā)壓力承載能力。
3.1 數(shù)據(jù)匯集技術
隨著水利水文自動測報軟件技術的不斷演變和進化,信息采集、傳輸實現(xiàn)方式的多元化,系統(tǒng)軟件研發(fā)各自為陣,不同程度地影響了新建系統(tǒng)與已建系統(tǒng)的正常集成和各級網(wǎng)絡的互連互通,信息資源得不到有效共享,信息“孤島”日益增多,如何實現(xiàn)這些數(shù)據(jù)的匯集是水利數(shù)據(jù)中心建設首先要解決的問題。在對其他行業(yè)數(shù)據(jù)中心建設成功經(jīng)驗分析的基礎上,采用多種通信技術的融合、封裝,解決了多種分布式通信模式下異構系統(tǒng)或數(shù)據(jù)庫之間頻繁的大量數(shù)據(jù)匯集問題。
該項目利用多種公認、成熟和可靠的通信技術,來支撐上層數(shù)據(jù)傳輸?shù)亩喾N模式。在 CORBA及 JMS 技術的基礎上,同時支持同步和異步通信模式。在異步模式中,將多種通信模式融為一體,其中包括目標通信(Message Channel)、點對點通信(Point-to-Point)、發(fā)布/訂閱通信(Publish-Subscribe)、擴展的發(fā)布/訂閱集群(P/S Cluster)等模式,并支持通信過程中的加密、壓縮、斷點續(xù)傳等重要保障功能[4]。依托企業(yè)服務總線,將多種通信方式有機封裝成一個整體,并通過 CORBA IDL,SOAP,JMS 等標準接口方式對外進行發(fā)布,從而使得基于企業(yè)服務總線構建的不同應用能夠以透明、一致、高效的方式應用不同的底層通信機制。
3.2 數(shù)據(jù)共享技術
水利數(shù)據(jù)中心數(shù)據(jù)的來源不唯一,同樣,用戶群體、數(shù)據(jù)需求亦不唯一,如何解決不同用戶群體之間不同數(shù)據(jù)的交互、服務的共享也是水利數(shù)據(jù)中心建設需要解決的技術難點之一,本項目利用JMS、適配器、數(shù)據(jù)定向回滾等技術,解決了數(shù)據(jù)中心不同用戶節(jié)點之間的數(shù)據(jù)共享問題。
通過 JMS 和適配器等技術將原有網(wǎng)絡服務組件、應用系統(tǒng)和數(shù)據(jù)庫系統(tǒng)進行封裝,并開發(fā)統(tǒng)一的、可重用的接口供不同應用或服務調(diào)用,實現(xiàn)多系統(tǒng)之間的互連互通;同時,還支持事務和連接的管理??紤]到數(shù)據(jù)災難恢復,通過對線程工作原理的分析,平臺利用數(shù)據(jù)定向回滾技術解決了各服務節(jié)點之間的數(shù)據(jù)重傳問題。在重傳過程中數(shù)據(jù)傳輸源、目標、量均由用戶自行控制。
通過建立交換服務網(wǎng)絡群,形成全局的服務倉庫,通過路由策略的定制,將并發(fā)的請求分擔群集中各節(jié)點的服務上,以達到負載均衡的能力;整個交換服務網(wǎng)絡中各節(jié)點可以配置 master/slave 關系,保證高性能、容錯的服務能力;傳輸?shù)男畔⒖梢猿志帽4嬖谠O備上,保證了服務的可靠性。線程池的使用提高了數(shù)據(jù)匯集、交換、共享并發(fā)響應的能力[5]。
3.3 應用服務架構技術
隨著水利水文信息量的成倍增長,各級水行政部門、社會公眾對水利水文信息的需求日益變化[6],這就要求水利數(shù)據(jù)中心提供的服務快速化、多元化,如何對這些需求進行拆分、合并,使服務更具個性化、易擴展是水利數(shù)據(jù)中心要解決的重點難題。采用接口和服務重用、事件驅(qū)動模型、微內(nèi)核插件式等設計的混合模式,實現(xiàn)對不同業(yè)務需求的數(shù)據(jù)中心應用服務是一種不錯的解決方案。
SOA 方式直接提高了重用程度,降低了維護難度,因而降低了系統(tǒng)的總體擁有成本。項目設計支持每個組件的通信、互連、轉換、移植性和安全性標準。使運行業(yè)務的過程變得平滑,節(jié)約時間、人力和集成支持這些業(yè)務過程的組件的費用。允許利用已經(jīng)可供整合的組件,根據(jù)具體要求快速、方便地構建新的應用,可節(jié)約技術投資,減少開發(fā)時間和提高現(xiàn)有軟件資產(chǎn)的重用程度。
事件驅(qū)動模式是對服務提供者和消費者之間的交互進行解耦,使得集成環(huán)境中的各個 IT 系統(tǒng)可以異步、多對多、基于事件地通訊,同時也是對 SOA模式的一種補充。整個設計將事件驅(qū)動的方法和面向服務的方法結合使用,可簡化業(yè)務系統(tǒng)的集成;中間件是異類系統(tǒng)進行通訊的中介,部署到中間件上的服務可由服務提供者或事件觸發(fā)。同時支持同步和異步方式,可以使服務一對一和多對多通信。
微內(nèi)核[7]插件式的設計思想將服務組件完成的功能從應用系統(tǒng)內(nèi)核中剝離出來,組件功能和核心總線以松散耦合的方式結合,降低了內(nèi)核的復雜度。集成項目中費用最高的部分是對遺留系統(tǒng)的定制,可以在總線上很容易開發(fā)、部署所需的插件,并對內(nèi)核和其他插件的運行沒有任何影響。采用插件式應用框架開發(fā)技術,具有模塊化、可重用性、可擴展性、簡單性和可維護性等特點,這種開發(fā)方式能大大提高開發(fā)效率,又能輕松實現(xiàn)系統(tǒng)功能的擴展和提高系統(tǒng)的穩(wěn)定性。開發(fā)時先設計 1 個系統(tǒng)應用框架,然后按照這個框架所制定的標準開發(fā)各種應用功能(在程序編寫中表現(xiàn)為插件),最后通過這個系統(tǒng)應用框架加載開發(fā)的應用功能。整個設計思想是將系統(tǒng)功能以插件對象的形式通過系統(tǒng)應用框架統(tǒng)一管理。
3.4 數(shù)據(jù)中心架構技術
基于數(shù)據(jù)中心的數(shù)據(jù)匯集、數(shù)據(jù)共享、應用服務等架構技術,可構建省級水利數(shù)據(jù)中心模型[8-9]。主要采用 3 層體系對水利數(shù)據(jù)中心進行架構,可使整個平臺結構更加清晰,核心服務層更易擴展,復用性更高,面向具體水利水文業(yè)務部門或用戶的業(yè)務應用服務更易組合和封裝。3 層體系具體如下:
1)數(shù)據(jù)層。數(shù)據(jù)層設計涵蓋所有水利要素信息(本項目匯集了水文所有要素數(shù)據(jù)),以及開展業(yè)務所必須的地理空間、工程、站網(wǎng)等信息,以及元數(shù)據(jù);
2)服務層。采用企業(yè)服務總線作為架構基礎,一方面解決數(shù)據(jù)匯集、交換共享,另一方面本著標準化、可復用原則,依據(jù)實際業(yè)務需求,開發(fā)和部署相應的應用服務、邏輯關系、計算方法,以及運維管理、集成業(yè)務應用所必須的訪問控制服務等。
3)業(yè)務應用層。通過服務層提供的服務組件進行組合、封裝,實現(xiàn)業(yè)務應用系統(tǒng)的個性化需求。
作為水文信息化的標志工程,江蘇省水利數(shù)據(jù)中心建設必須做到以下 2 點:1)對全省水文信息進行規(guī)范化分類、整合、匯集、存儲;2)根據(jù)不同業(yè)務應用,對數(shù)據(jù)中心服務進行合理化分類。這樣可使共性的服務不需重復建設,特殊的業(yè)務需求或邏輯特殊對待;另外,也使相關的服務多元化、透明化,使用戶在調(diào)用服務時一目了然,有什么服務可調(diào),怎么調(diào),都很清楚。
經(jīng)過努力,基于數(shù)據(jù)中心的數(shù)據(jù)匯集、交換及應用服務相關技術研究已經(jīng)完成,形成了一套較為完整的數(shù)據(jù)中心建設解決方案,并有部分原型實現(xiàn),可供后續(xù)數(shù)據(jù)中心建設參考。
[1]曹張治. 空間環(huán)境科學數(shù)據(jù)匯集及關鍵技術研究[D]. 北京:中國地質(zhì)大學,2010.
[2]薛濤,崔健,楊帆. 基于 ESB 的企業(yè)應用集成[EB/OL]. (2008-04-09)[2013-12-15]. http://www.vsharing.com/k/SOA/2008-4/610214.html.
[3]李志強. 大型數(shù)據(jù)庫并發(fā)訪問的控制與實現(xiàn)[J]. 中原工學院學報,2004,15 (6): 24-27.
[4]張錦珠. 數(shù)據(jù)中心平臺的一種設計與實現(xiàn)[J]. 信息安全與技術,2011 (12): 46-49.
[5]楊開杰,劉秋菊,徐汀榮. 線程池的多線程并發(fā)控制技術研究[J]. 計算機應用與軟件,2010, 27 (1): 168-170,179.
[6]胡金龍,莫曉聰,高祥濤,等. 基于不同遙測終端的水文自動測報系統(tǒng)研究[J]. 長江科學院院報,2013, 10 (30): 118-122.
[7]諶桂枝,沈曉建,龔興艷. 基于 Spring 框架的 IoC 微內(nèi)核的實現(xiàn)機制與應用[J]. 湖南工業(yè)大學學報,2009, 23 (3): 50-53.
[8]朱利偉,曹播. 數(shù)據(jù)中心的模型分析與研究[J]. 智能建筑與城市信息,2010 (3): 45-51.
[9]沈燕,雷蕾. 一種面向領域 Web 服務的數(shù)據(jù)中心模型[J].計算機系統(tǒng)應用,2013 (6): 67-70.
Technology Research of Data Exchange and Application Service Based on Data Center
HU Jinlong1, BAI Ping1, ZHU Haibo2, CAO Shuai1
(1. Jiangsu Provincial Hydrology and Water Resource Survey Bureau, Nanjing 210029, China;2. Nanjing Branch of Jiangsu Province Hydrology and Water Resource Survey Bureau, Nanjing 210029, China)
The article introduces the research goal and content of techniques of data collection, sharing, and service based on data center, makes the overall technique route, and solves the problem of data influx in heterogeneous systems and databases through integrating and packaging communication technologies. It solves the problem of data sharing between different user nodes in data center, through techniques of JMS, and software-adapter, and data oriented rollback. It achieves the data center application service of different business needs, constructs a provincial water data center model, and forms a solution of data center construction, through the model of mix design mode of the interface and service reuse, event driven model design, micro kernel plug-in. It offers reference for data center construction in future.
integrate and package of communication technology; data oriented rollback technology; mixed design; data center; data exchanging; data influx; application service
TP393
A
1674-9405(2014)02-0005-04
2013-12-27
胡金龍(1976-),男,江蘇南京人,高級工程師,主要從事水利信息化的規(guī)劃、設計及建設管理等工作。