專利名稱:數(shù)據(jù)適配裝置和方法
技術領域:
本發(fā)明涉及一種數(shù)據(jù)適配裝置和方法,尤其涉及一種能夠接收不同數(shù)據(jù)源的數(shù)據(jù) 并提供具有標準數(shù)據(jù)格式的數(shù)據(jù)給數(shù)據(jù)整合系統(tǒng)的數(shù)據(jù)適配裝置和方法。
背景技術:
眾所周知,現(xiàn)今企業(yè)中的信息發(fā)展迅速,技術更是日新月異。然而多方面的信息建 設以及自然的延續(xù),雖然各自取得相當?shù)男б?,卻也造成了一座座的信息孤島,阻礙了進一 步的信息運用以及更大的統(tǒng)合效益。為了阻斷信息割據(jù),提高信息系統(tǒng)的運行效率,數(shù)據(jù)整 合技術成為各個企業(yè)所關心的技術。數(shù)據(jù)整合技術可將各個信息孤島的數(shù)據(jù)進行互通,將 孤立的信息整合到一起,形成最終企業(yè)需要的信息。
在數(shù)據(jù)整合技術中,其中兩種為數(shù)據(jù)文件整合方式和數(shù)據(jù)及時整合方式,下面分 別介紹
1.數(shù)據(jù)文件整合方式(PUSH方式)
圖1是數(shù)據(jù)文件整合方式的架構圖。參見圖1,所謂數(shù)據(jù)文件整合方式,是指由源 數(shù)據(jù)提供方提供一個或多個數(shù)據(jù)文件,將源數(shù)據(jù)提供方的所有數(shù)據(jù)變化一次性提供給數(shù)據(jù) 接收方,而由數(shù)據(jù)接收方對數(shù)據(jù)文件進行處理,其中文件格式比較常見的為xml、txt、exCel 等。此種方式主要應用場景是一次性導入大量數(shù)據(jù)。該方式的優(yōu)點是容易控制,便于儲存; 缺點是文件格式種類繁雜,并且文件中的數(shù)據(jù)格式也是五花八門,一旦增加一種文件格式 和數(shù)據(jù)格式,程序需要經(jīng)常做很大的改動來適應新的格式,另外由于數(shù)據(jù)量比較大,導致系 統(tǒng)的負荷大,如果整合過程中出現(xiàn)問題,容易導致整個過程失敗,需要花費很長時間再次進 行數(shù)據(jù)處理。
2.數(shù)據(jù)及時整合方式(PULL方式)
圖2是數(shù)據(jù)及時整合方式的架構圖。參見圖2,所謂數(shù)據(jù)及時整合方式,是指數(shù)據(jù) 提供方有任何數(shù)據(jù)變化,則通過數(shù)據(jù)接收方提供的及時響應方式向數(shù)據(jù)接收方通知其關心 的數(shù)據(jù)的變化,而實現(xiàn)這種響應方式的代表技術有Webservive、REST、jmS等。此種方式經(jīng) 常應用的場景是在兩個應用信息變化特別緊密的系統(tǒng)之間的信息同步上。優(yōu)點是信息同步 比較及時,及時同步的缺點是處理速度慢,對系統(tǒng)的處理能力與資源要求高,處理大量數(shù)據(jù) 處理請求時容易導致程序崩潰。
下面是數(shù)據(jù)及時整合方式的Wfebservice實現(xiàn)的說明。
Webservice是由企業(yè)發(fā)布的完成特定商務需求的在線應用服務,其它公司或應用 軟件能夠通過hternet來訪問并使用這項在線應用服務。Webservice是一種構建應用程 序的普遍模型,可以在任何支持網(wǎng)絡通信的操作系統(tǒng)中實施運行;它是一種新的web應用 程序分支,是自包含、自描述、模塊化的應用,可以發(fā)布、定位、通過web調(diào)用。Webservice還 是一個應用組件,它邏輯性地為其他應用程序提供數(shù)據(jù)與服務。各應用程序通過網(wǎng)絡協(xié)議 和規(guī)定的一些標準數(shù)據(jù)格式(Http,XML,Soap等)來訪問Webservice,通過Webservice內(nèi) 部執(zhí)行得到所需結(jié)果。Webservice可以執(zhí)行從簡單的請求到復雜商務處理的任何功能。一3旦部署以后,其他Webservice應用程序可以發(fā)現(xiàn)并調(diào)用它部署的服務。
一種數(shù)據(jù)整合的方案是對應上述兩種數(shù)據(jù)整合方式,開發(fā)兩套數(shù)據(jù)整合程序來處 理,將兩種數(shù)據(jù)整合方式簡單地組合在一起,即兩種方案并存。對于這種數(shù)據(jù)整合的方案, 存在如下缺點
1.兩種數(shù)據(jù)整合方式各有缺點對于數(shù)據(jù)文件整合方式,整合過程中出錯后,只 能再次重新進行處理;對于數(shù)據(jù)及時整合方式,處理程序的處理能力受機器本身的限制,處 理能力有限;
2.兩種數(shù)據(jù)整合方式?jīng)]有監(jiān)控功能由于兩種數(shù)據(jù)整合方式本身并不提供監(jiān)控 功能,所以很難監(jiān)控數(shù)據(jù)整合的運行情況和執(zhí)行情況,這使得數(shù)據(jù)接收方和數(shù)據(jù)發(fā)送方都 很難知道具體的數(shù)據(jù)整合情況,不容易掌握運行情況;
3.維護成本較大數(shù)據(jù)文件整合方式中數(shù)據(jù)格式繁雜,一旦新增或修改一種數(shù)據(jù) 格式,都需要修改數(shù)據(jù)整合程序。此外,數(shù)據(jù)接收方的核心數(shù)據(jù)模型(核心數(shù)據(jù)模型是指數(shù) 據(jù)接收方自己內(nèi)部的數(shù)據(jù)的結(jié)構和數(shù)據(jù)相互之間的關系)調(diào)整后,會導致兩套數(shù)據(jù)整合程 序都要做修改;
4.擴展不夠方便由于采用兩套方案,無論是水平擴展(多數(shù)據(jù)庫之間同步數(shù) 據(jù)),還是垂直擴展(多種數(shù)據(jù)源提供數(shù)據(jù))都很困難。發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明旨在減少多種數(shù)據(jù)格式對數(shù)據(jù)整合系統(tǒng)造成的維護困難、 麻煩,并可以監(jiān)控數(shù)據(jù)整合的細微變化情況。
本發(fā)明一方案提供一種數(shù)據(jù)適配裝置,用于數(shù)據(jù)整合系統(tǒng),所述數(shù)據(jù)整合系統(tǒng)用 于整合不同的數(shù)據(jù)整合方式,所述數(shù)據(jù)適配裝置包括適配模塊,用于接收不同數(shù)據(jù)源的數(shù) 據(jù),并提供具有標準數(shù)據(jù)格式的數(shù)據(jù)給所述數(shù)據(jù)整合系統(tǒng)。
本發(fā)明另一方案提供一種數(shù)據(jù)適配方法,用于數(shù)據(jù)整合系統(tǒng),所述數(shù)據(jù)整合系統(tǒng) 用于整合不同的數(shù)據(jù)整合方式,所述數(shù)據(jù)適配方法包括適配步驟,用于接收不同數(shù)據(jù)源的 數(shù)據(jù),并提供具有標準數(shù)據(jù)格式的數(shù)據(jù)給所述數(shù)據(jù)整合系統(tǒng)。
本發(fā)明再一方案提供一種配置數(shù)據(jù)適配裝置的方法,所述數(shù)據(jù)適配裝置用于數(shù)據(jù) 整合系統(tǒng),所述數(shù)據(jù)整合系統(tǒng)用于整合不同的數(shù)據(jù)整合方式,該方法包括適配模塊設置步 驟,設置適配模塊,使其接收不同數(shù)據(jù)源的數(shù)據(jù),并提供具有標準數(shù)據(jù)格式的數(shù)據(jù)給所述數(shù) 據(jù)整合系統(tǒng)。
本發(fā)明不是單純采用數(shù)據(jù)文件整合及數(shù)據(jù)及時整合兩種數(shù)據(jù)整合方式的任何一 種,而是將兩種方式有機地融為一體;靈活地適應各種情況的數(shù)據(jù)整合需求,并且提供盡可 能靈活的水平和垂直擴展功能。
通過以下參照附圖對優(yōu)選實施例的說明,本申請的上述以及其它目的、特征和優(yōu) 點將更加明顯。
圖1是數(shù)據(jù)文件整合方式的架構圖2是數(shù)據(jù)及時整合方式的架構圖3是根據(jù)本發(fā)明一實施例的數(shù)據(jù)整合系統(tǒng)的架構圖4是根據(jù)本發(fā)明一實施例的數(shù)據(jù)整合系統(tǒng)的整體流程圖5是根據(jù)本發(fā)明一實施例的數(shù)據(jù)整合方法的流程圖6是根據(jù)本發(fā)明一實施例的數(shù)據(jù)整合系統(tǒng)的水平擴展結(jié)構圖7是根據(jù)本發(fā)明一實施例的適配模塊的示意圖8是根據(jù)本發(fā)明一實施例的使用純java語言開發(fā)并基于標準jdkl. 5構建的數(shù) 據(jù)整合系統(tǒng)的示意圖。
具體實施方式
下面將詳細描述本發(fā)明的優(yōu)選實施例。應當注意,這里描述的實施例只用于舉例 說明,并不用于限制本申請。
圖3是根據(jù)本發(fā)明一實施例的數(shù)據(jù)整合系統(tǒng)的架構圖;圖4是根據(jù)本發(fā)明一實施 例的數(shù)據(jù)整合系統(tǒng)的整體流程圖。
本發(fā)明的數(shù)據(jù)整合系統(tǒng)可以通過能夠運行計算機可執(zhí)行程序的計算機等硬件來 實現(xiàn)。數(shù)據(jù)整合系統(tǒng)所包含的各個裝置、模塊、單元等可以通過能夠執(zhí)行計算機可讀程序的 具有處理功能的處理器(如CPU)等硬件來實現(xiàn)。例如,在一實施例中,數(shù)據(jù)整合系統(tǒng)可以 使用純java語言開發(fā),基于標準jdkl. 5構建。參見圖8,圖8是使用純java語言開發(fā)并基 于標準jdkl. 5構建的數(shù)據(jù)整合系統(tǒng)的示意圖。
再參見圖3,根據(jù)本發(fā)明一實施例,本發(fā)明的數(shù)據(jù)整合系統(tǒng)包括5個功能模塊初 始化模塊、適配模塊、校驗模塊、持久化模塊、監(jiān)控模塊。這些功能模塊的靈活組合即可以實 現(xiàn)數(shù)據(jù)整合系統(tǒng)對不同數(shù)據(jù)源的不同業(yè)務入庫規(guī)則的靈活變換。當其中某個模塊的功能需 要調(diào)整的時候,只需要改變單個功能模塊,將其換成具有相應功能的模塊。通過這5個模塊 的靈活組合即可實現(xiàn)將不同來源的數(shù)據(jù)統(tǒng)一整合成數(shù)據(jù)接收方的核心數(shù)據(jù)。
實例一
A系統(tǒng)(例如一提供數(shù)據(jù)的外部系統(tǒng),在此稱為A系統(tǒng))采用xml文件使用ftp方 式同步給B系統(tǒng)(根據(jù)本發(fā)明的數(shù)據(jù)整合系統(tǒng),在此稱為B系統(tǒng))關于一些用戶信息的數(shù) 據(jù),則數(shù)據(jù)整合的過程可包括如下步驟。
1、B系統(tǒng)接到A系統(tǒng)通知。
2、通知監(jiān)控模塊啟動一個數(shù)據(jù)整合流程。
3、啟動初始化模塊來使用ftp方式獲得xml文件。
4、通知監(jiān)控模塊初始化模塊執(zhí)行情況。
5、通過適配模塊的xml文件解析器將xml文件轉(zhuǎn)換為數(shù)據(jù)流(如果系統(tǒng)A是采用 txt文件傳輸數(shù)據(jù),那么解析器就使用對應的txt文件解析器),但此時的數(shù)據(jù)流是系統(tǒng)A 提供的數(shù)據(jù)格式,在系統(tǒng)B中無法直接利用。
6、通知監(jiān)控模塊解析器執(zhí)行情況。
7、通過適配模塊中的數(shù)據(jù)適配器將數(shù)據(jù)流轉(zhuǎn)換為系統(tǒng)B中可以使用的數(shù)據(jù)格式 的數(shù)據(jù)。
8、通知監(jiān)控模塊數(shù)據(jù)適配器執(zhí)行情況。
9、再通過校驗模塊來判斷數(shù)據(jù)流的數(shù)據(jù)是否合法。
10、通知監(jiān)控模塊校驗器執(zhí)行情況。
11、執(zhí)行持久化模塊來保存數(shù)據(jù)到系統(tǒng)B中。
12、通知監(jiān)控模塊持久化模塊執(zhí)行情況。
13、整個數(shù)據(jù)整合流程完成并通知監(jiān)控模塊整個流程完成。
通過實例一中幾個通知步驟,監(jiān)控模塊就可以監(jiān)控到整個數(shù)據(jù)流程的執(zhí)行情況。
以下結(jié)合上述實例具體描述本發(fā)明實施例的各個功能模塊。
初始化模塊用于為了獲取數(shù)據(jù)而作一些初始化工作。例如從各種平臺通過不 同訪問協(xié)議獲得數(shù)據(jù),接收各種不同類型的數(shù)據(jù)信息并進行對應的處理。對于數(shù)據(jù)文件整 合方式來說,初始化模塊的功能是通過各種協(xié)議獲得數(shù)據(jù)文件,并將數(shù)據(jù)文件下載到本地 應用服務器。而對于數(shù)據(jù)及時整合方式來說,初始化模塊是負責提供對外服務的程序模塊。
初始化模塊的代碼實例為
初始化接口
權利要求
1.一種數(shù)據(jù)適配裝置,用于數(shù)據(jù)整合系統(tǒng),所述數(shù)據(jù)整合系統(tǒng)用于整合不同的數(shù)據(jù)整 合方式,所述數(shù)據(jù)適配裝置包括適配模塊,用于接收不同數(shù)據(jù)源的數(shù)據(jù),并提供具有標準數(shù)據(jù)格式的數(shù)據(jù)給所述數(shù)據(jù) 整合系統(tǒng)。
2.如權利要求1所述的數(shù)據(jù)適配裝置,其中,當接收的數(shù)據(jù)的格式不是所述標準數(shù)據(jù) 格式時,所述適配模塊將其轉(zhuǎn)換成所述標準數(shù)據(jù)格式。
3.如權利要求1所述的數(shù)據(jù)適配裝置,其中所述適配模塊包括 解析單元,用于將不同數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)流;以及適配單元,用于將所述數(shù)據(jù)流轉(zhuǎn)換為具有所述數(shù)據(jù)整合系統(tǒng)能夠使用的數(shù)據(jù)格式的數(shù)據(jù)。
4.如權利要求3所述的數(shù)據(jù)適配裝置,其中所述解析單元為解析器。
5.如權利要求4所述的數(shù)據(jù)適配裝置,其中所述解析器包括xml文件解析器、txt文件 解析器、excel文件解析器、普通解析器,jms解析器中的一種或任意組合。
6.如權利要求3所述的數(shù)據(jù)適配裝置,其中所述適配單元為數(shù)據(jù)適配器。
7.一種數(shù)據(jù)適配方法,用于數(shù)據(jù)整合系統(tǒng),所述數(shù)據(jù)整合系統(tǒng)用于整合不同的數(shù)據(jù)整 合方式,所述數(shù)據(jù)適配方法包括適配步驟,用于接收不同數(shù)據(jù)源的數(shù)據(jù),并提供具有標準數(shù)據(jù)格式的數(shù)據(jù)給所述數(shù)據(jù) 整合系統(tǒng)。
8.如權利要求7所述的數(shù)據(jù)適配方法,其中,當接收的數(shù)據(jù)的格式不是所述標準數(shù)據(jù) 格式時,所述適配步驟將其轉(zhuǎn)換成所述標準數(shù)據(jù)格式。
9.如權利要求7所述的數(shù)據(jù)適配方法,其中所述適配步驟包括 解析步驟,用于將不同數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)流;以及適配步驟,用于將所述數(shù)據(jù)流轉(zhuǎn)換為具有所述數(shù)據(jù)整合系統(tǒng)能夠使用的數(shù)據(jù)格式的數(shù)據(jù)。
10.如權利要求9所述的數(shù)據(jù)適配方法,其中所述解析步驟利用xml文件解析器、txt 文件解析器、excel文件解析器、普通解析器,jms解析器中的一種解析器或任意組合。
11.一種配置數(shù)據(jù)適配裝置的方法,所述數(shù)據(jù)適配裝置用于數(shù)據(jù)整合系統(tǒng),所述數(shù)據(jù)整 合系統(tǒng)用于整合不同的數(shù)據(jù)整合方式,該方法包括適配模塊設置步驟,設置適配模塊,使其接收不同數(shù)據(jù)源的數(shù)據(jù),并提供具有標準數(shù)據(jù) 格式的數(shù)據(jù)給所述數(shù)據(jù)整合系統(tǒng)。
12.如權利要求11所述的方法,其中所述適配模塊設置步驟包括解析單元設置步驟,設置解析單元,使其將不同數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)流;以及 適配單元設置步驟,設置適配單元,使其將所述數(shù)據(jù)流轉(zhuǎn)換為具有所述數(shù)據(jù)整合系統(tǒng) 能夠使用的數(shù)據(jù)格式的數(shù)據(jù)。
13.如權利要求12所述的方法,其中所述解析單元設置步驟包括設置xml文件解析器、 txt文件解析器、excel文件解析器、普通解析器,jms解析器中的一種解析器或任意組合。
全文摘要
本發(fā)明提供一種數(shù)據(jù)適配裝置和方法,用于數(shù)據(jù)整合系統(tǒng),所述數(shù)據(jù)整合系統(tǒng)用于整合不同的數(shù)據(jù)整合方式,所述數(shù)據(jù)適配裝置包括適配模塊,用于接收不同數(shù)據(jù)源的數(shù)據(jù),并提供具有標準數(shù)據(jù)格式的數(shù)據(jù)給所述數(shù)據(jù)整合系統(tǒng)。本發(fā)明不是單純采用數(shù)據(jù)文件整合及數(shù)據(jù)及時整合這兩種數(shù)據(jù)整合方式的任何一種,而是將兩種方式有機地融為一體;靈活地適應各種情況的數(shù)據(jù)整合需求,并且提供盡可能靈活的水平和垂直擴展功能。
文檔編號G06F17/30GK102043836SQ20101056958
公開日2011年5月4日 申請日期2010年12月1日 優(yōu)先權日2010年12月1日
發(fā)明者馮濤, 劉鑫 申請人:北京迅捷英翔網(wǎng)絡科技有限公司