亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器及其數(shù)據(jù)適配方法

文檔序號:6507602閱讀:682來源:國知局
一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器及其數(shù)據(jù)適配方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器,包括控制器和與所述控制器通信連接的寫線程模塊、緩沖管理器和讀線程模塊,所述控制器用于接收控制指令、發(fā)送適配器狀態(tài)并加載配置信息進行源數(shù)據(jù)庫和目標數(shù)據(jù)庫的連接;所述寫線程模塊用于從數(shù)據(jù)源中讀取所需數(shù)據(jù),并將讀取的數(shù)據(jù)寫入緩沖管理器;所述緩沖管理器包括數(shù)據(jù)緩沖池,用于存儲臨時數(shù)據(jù);所述讀線程模塊用于從數(shù)據(jù)緩沖池讀取數(shù)據(jù),按預定的要求進行規(guī)約化處理,并將處理好的數(shù)據(jù)寫入目標數(shù)據(jù)庫。本發(fā)明還提供了一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配方法。本發(fā)明解決實時數(shù)據(jù)快速到達與處理之間的速度不匹配問題,使數(shù)據(jù)接收和數(shù)據(jù)處理能夠并行執(zhí)行,提高數(shù)據(jù)采集任務執(zhí)行的性能和效率。
【專利說明】一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器及其數(shù)據(jù)適配方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)適配器及其數(shù)據(jù)適配方法,具體涉及一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器及其數(shù)據(jù)適配方法。
【背景技術(shù)】
[0002]近年來,隨著信息技術(shù)的發(fā)展,各類應用系統(tǒng)在電網(wǎng)企業(yè)得到了廣泛的應用,如:電力調(diào)度SCADA/EMS系統(tǒng)、生產(chǎn)管理系統(tǒng)、OA系統(tǒng)、電力營銷系統(tǒng)、財務管控系統(tǒng)等。這些系統(tǒng)都是針對具體的業(yè)務進行條塊劃分、設(shè)計和開發(fā)的,很好地實現(xiàn)了業(yè)務管理的信息化,但同時又在企業(yè)內(nèi)部形成了一個個信息孤島。這就提出了對企業(yè)內(nèi)部多種數(shù)據(jù)整合的需求,將當前企業(yè)各應用子系統(tǒng)中的數(shù)據(jù)進行規(guī)范化的處理和轉(zhuǎn)儲形成視圖,建立企業(yè)級數(shù)據(jù)倉庫。在此基礎(chǔ)上,企業(yè)能夠針對自身需求建立主題數(shù)據(jù)庫,進行數(shù)據(jù)挖掘,最終形成一個統(tǒng)一、透明的數(shù)據(jù)共享服務。
[0003]數(shù)據(jù)整合過程中最基礎(chǔ)、最重要同時也是最困難的環(huán)節(jié),就是將不同數(shù)據(jù)類型、不同時間響應要求的數(shù)據(jù)安全的、完整的采集到目標數(shù)據(jù)庫。目前國內(nèi)外主流的數(shù)據(jù)采集實施方式可以為兩大類,一類是使用專業(yè)供應商提供的產(chǎn)品,比如Informatica公司研發(fā)的DataStage> Ascential 公司研發(fā)的 DataStageXE, Sagent 公司研發(fā)的 Solution 等,這類產(chǎn)品一般價格較為昂貴,對于各類異構(gòu)數(shù)據(jù)源支持較好,提供的功能也較為完善,但是存在著數(shù)據(jù)采集任務的配置定義復雜繁瑣,數(shù)據(jù)處理過程較為機械和執(zhí)行效率不高的問題,并且難以全部滿足用戶所關(guān)注的數(shù)據(jù)處理的細節(jié)問題,此外對于用戶不夠透明,提供的二次開發(fā)接口有限;第二類是使用數(shù)據(jù)倉庫整體解決方案供應商提供的數(shù)據(jù)采集工具,比如IBM公司的 Warehouse Manager、Oracle 公司的 Warehouse Builder 等,Microsoft 公司的 DTS等,這類工具往往是作為數(shù)據(jù)倉庫整體解決方案的一部分,對自身廠商產(chǎn)品有較好的支持,而對來自其它廠商的異構(gòu)數(shù)據(jù)源的支持有限,部分產(chǎn)品無法跨平臺運行。
[0004]因此針對上述情況需要建立一種關(guān)注用戶核心業(yè)務的實現(xiàn),靈活性強,數(shù)據(jù)采集任務執(zhí)行的性能和效率可以根據(jù)實際情況做不同的優(yōu)化,滿足不同數(shù)據(jù)類型、不同時間響應要求的數(shù)據(jù)采集、同時滿足安全性、完整性要求的數(shù)據(jù)適配器。

【發(fā)明內(nèi)容】

[0005]發(fā)明目的:本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器,解決實時數(shù)據(jù)快速到達與處理之間的速度不匹配問題,使數(shù)據(jù)接收和數(shù)據(jù)處理能夠并行執(zhí)行,提高數(shù)據(jù)采集任務執(zhí)行的性能和效率。
[0006]同時,本發(fā)明還提供一種解決上述問題的數(shù)據(jù)采集過程中的數(shù)據(jù)適配方法。
[0007]技術(shù)方案:本發(fā)明所述的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器,包括控制器和與所述控制器通信連接的寫線程模塊、緩沖管理器和讀線程模塊,
[0008]所述控制器用于接收控制指令、發(fā)送適配器狀態(tài)并加載配置信息進行源數(shù)據(jù)庫和目標數(shù)據(jù)庫的連接;[0009]所述寫線程模塊用于從數(shù)據(jù)源中讀取所需數(shù)據(jù),并將讀取的數(shù)據(jù)寫入緩沖管理器;
[0010]所述緩沖管理器包括數(shù)據(jù)緩沖池,用于存儲臨時數(shù)據(jù);
[0011]所述讀線程模塊用于從數(shù)據(jù)緩沖池讀取數(shù)據(jù),按預定的要求進行規(guī)約化處理,并將處理好的數(shù)據(jù)寫入目標數(shù)據(jù)庫。
[0012]本發(fā)明技術(shù)方案的進一步限定為,所述緩沖管理器采用Util.Concurrent并發(fā)線程包所提供的模型,包括的并發(fā)構(gòu)件為:線程鎖、互斥、隊列、線程池、輕量級任務。
[0013]進一步地,所述緩沖管理器通過Util, concurrent包提供Executor接口、Callable 接口和 Future 接 P,
[0014]所述Executor接口,用于提供任務執(zhí)行方法,實現(xiàn)任務的submit O和shutdown O操作;
[0015]所述Callable接口,用于獲得任務拋出的異常和返回結(jié)果;
[0016]所述Future接口,用于獲取任務的句柄,得到任務執(zhí)行的中間結(jié)果,終止任務的執(zhí)行,對任務執(zhí)行過程進行全生命周期的監(jiān)控。
[0017]進一步地,所述數(shù)據(jù)緩沖池為ConcurrentLinkedQueue類型,所述數(shù)據(jù)緩沖池的大小由配置文件的約定的大小來初始化。
[0018]本發(fā)明提供的另一技術(shù)方案為:一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器的數(shù)據(jù)適配方法,按如下步驟進行:
[0019]S1、啟動數(shù)據(jù)適配器,控制器加載配置信息進行源數(shù)據(jù)庫和目標數(shù)據(jù)庫的連接;
[0020]S2、寫線程模塊從源數(shù)據(jù)庫中讀取所需數(shù)據(jù),并將讀取的數(shù)據(jù)寫入數(shù)據(jù)緩沖池;
[0021]S3、緩沖管理器將接收到的臨時數(shù)據(jù)進行存儲;
[0022]S4、讀線程模塊用于從數(shù)據(jù)緩沖池讀取數(shù)據(jù),按預定的要求進行規(guī)約化處理,并將處理好的數(shù)據(jù)寫入目標數(shù)據(jù)庫。
[0023]本技術(shù)方案的進一步限定為,步驟SI中,啟動數(shù)據(jù)適配器后,緩沖管理器根據(jù)配置文件的約定的大小初始化數(shù)據(jù)緩沖池。
[0024]進一步地,數(shù)據(jù)適配器進行讀寫數(shù)據(jù)的過程中,控制器實時輸出當前適配器狀態(tài),并檢測控制指令,當檢測到終止指令時,關(guān)閉數(shù)據(jù)適配器。
[0025]進一步地,步驟S2中,寫線程模塊向數(shù)據(jù)緩沖池中寫入數(shù)據(jù)時,判斷數(shù)據(jù)緩沖池是否已經(jīng)寫滿,如果未滿,則將數(shù)據(jù)寫入緩沖池并重置緩沖池大小,如果已經(jīng)寫滿,則退出寫數(shù)據(jù)操作。
[0026]進一步地,步驟S4中,讀線程模塊從數(shù)據(jù)緩沖池讀取數(shù)據(jù)時,判斷緩沖池是否為空,如果為空,則退出讀數(shù)據(jù)操作,如果不為空,則從數(shù)據(jù)緩沖池中讀取數(shù)據(jù)并重置緩沖池大小。
[0027]有益效果:本發(fā)明提供的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器及其數(shù)據(jù)適配方法,采用數(shù)據(jù)緩沖池解決實時數(shù)據(jù)快速到達與處理之間的速度不匹配問題,并能使數(shù)據(jù)接收和數(shù)據(jù)處理能夠并行執(zhí)行;所述適配器實現(xiàn)了源數(shù)據(jù)模式與目標數(shù)據(jù)模式的翻譯轉(zhuǎn)換,對不同的數(shù)據(jù)源開放,能夠適用于不同級別實時性要求的數(shù)據(jù)采集過程;本發(fā)明關(guān)注用戶核心業(yè)務的實現(xiàn),靈活性強,數(shù)據(jù)采集任務執(zhí)行的性能和效率可以根據(jù)實際情況做不同的優(yōu)化,滿足不同數(shù)據(jù)類型、不同時間響應要求的數(shù)據(jù)采集、同時滿足安全性、完整性要求的數(shù)據(jù)適配器;本發(fā)明可應用于企業(yè)普通數(shù)據(jù)遷移,也能滿足電網(wǎng)實時數(shù)據(jù)、銀行業(yè)務數(shù)據(jù)等高實時性要求的諸多領(lǐng)域,具有廣泛的應用前景。
【專利附圖】

【附圖說明】
[0028]圖1為本發(fā)明所述的數(shù)據(jù)采集過程中的數(shù)據(jù)適配器的結(jié)構(gòu)示意圖。
[0029]圖2為本發(fā)明所述的數(shù)據(jù)采集過程中數(shù)據(jù)適配方法的流程示意圖。
[0030]圖3為本發(fā)明所述的寫線程模塊的工作流程示意圖。
[0031]圖4為本發(fā)明所述的讀線程模塊的工作流程示意圖。
【具體實施方式】
[0032]下面對本發(fā)明技術(shù)方案進行詳細說明,但是本發(fā)明的保護范圍不局限于所述實施例。
[0033]實施例:本發(fā)明提供一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器,其結(jié)構(gòu)示意圖如圖1所示,包括控制器和與所述控制器通信連接的寫線程模塊、緩沖管理器和讀線程模塊。
[0034]所述控制器用于接收控制指令、發(fā)送適配器狀態(tài)并加載配置信息進行源數(shù)據(jù)庫和目標數(shù)據(jù)庫的連接。
[0035]所述寫線程模塊用于從數(shù)據(jù)源中讀取所需數(shù)據(jù),并將讀取的數(shù)據(jù)寫入緩沖管理器。
[0036]所述緩沖管理器包括數(shù)據(jù)緩沖池,用于存儲臨時數(shù)據(jù)。
[0037]所述讀線程模塊用于從數(shù)據(jù)緩沖池讀取數(shù)據(jù),按預定的要求進行規(guī)約化處理,并將處理好的數(shù)據(jù)寫入目標數(shù)據(jù)庫。
[0038]所述緩沖管理器采用Util.Concurrent并發(fā)線程包所提供的模型,包括的并發(fā)構(gòu)件為:線程鎖、互斥、隊列、線程池、輕量級任務。所述緩沖管理器通過Util, concurrent包提供Executor接口、Callable接口和Future接口,所述Executor接口,用于提供任務執(zhí)行方法,實現(xiàn)任務的submitO和shutdownO操作;所述Callable接口,用于獲得任務拋出的異常和返回結(jié)果;所述Future接口,用于獲取任務的句柄,得到任務執(zhí)行的中間結(jié)果,終止任務的執(zhí)行,對任務執(zhí)行過程進行全生命周期的監(jiān)控。所述數(shù)據(jù)緩沖池為ConcurrentLinkedQueue類型,所述數(shù)據(jù)緩沖池的大小由配置文件的約定的大小來初始化,通過add ( )、remove ()方法來操作緩沖池。
[0039]上述數(shù)據(jù)采集過程中的數(shù)據(jù)適配器的數(shù)據(jù)適配方法,其流程圖如圖2所示,按如下步驟進行:
[0040]步驟101,數(shù)據(jù)適配器啟動。
[0041]步驟102,控制器讀取元數(shù)據(jù)配置文件,加載配置信息。
[0042]步驟103,控制器按照配置信息進行源數(shù)據(jù)庫、目的數(shù)據(jù)庫的連接。
[0043]步驟104,緩沖管理器根據(jù)配置文件的約定的大小初始化數(shù)據(jù)緩沖池。
[0044]步驟105,啟動寫進程、讀進程,并設(shè)置進程鎖。
[0045]步驟106,適配器開始進行數(shù)據(jù)采集工作,控制器實時輸出當前適配器狀態(tài),并檢測控制指令。
[0046]步驟107,如果收到終止指令,進行步驟108,否則轉(zhuǎn)到步驟106。[0047]步驟108,關(guān)閉數(shù)據(jù)適配器。
[0048]上述步驟102中,元數(shù)據(jù)配置文件包括數(shù)據(jù)庫的驅(qū)動信息、用戶名、密碼、連接URL、表、列的屬性(類型,格式、約束條件等)、源數(shù)據(jù)到目標數(shù)據(jù)字段間的映射關(guān)系、數(shù)據(jù)的轉(zhuǎn)換規(guī)則、任務的參數(shù)定義等等。以下給出了一個字段間映射關(guān)系XML片段:
[0049]
【權(quán)利要求】
1.一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器,其特征在于,包括控制器和與所述控制器通信連接的寫線程模塊、緩沖管理器和讀線程模塊, 所述控制器用于接收控制指令、發(fā)送適配器狀態(tài)并加載配置信息進行源數(shù)據(jù)庫和目標數(shù)據(jù)庫的連接; 所述寫線程模塊用于從數(shù)據(jù)源中讀取所需數(shù)據(jù),并將讀取的數(shù)據(jù)寫入緩沖管理器; 所述緩沖管理器包括數(shù)據(jù)緩沖池,用于存儲臨時數(shù)據(jù); 所述讀線程模塊用于從數(shù)據(jù)緩沖池讀取數(shù)據(jù),按預定的要求進行規(guī)約化處理,并將處理好的數(shù)據(jù)寫入目標數(shù)據(jù)庫。
2.根據(jù)權(quán)利要求1所述的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器,其特征在于,所述緩沖管理器采用Util.Concurrent并發(fā)線程包所提供的模型,包括的并發(fā)構(gòu)件為:線程鎖、互斥、隊列、線程池、輕量級任務。
3.根據(jù)權(quán)利要求2所述的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器,其特征在于,所述緩沖管理器通過 Util, concurrent 包提供 Executor 接口、Callable 接口和 Future 接 口, 所述Executor接口,用于提供任務執(zhí)行方法,實現(xiàn)任務的submit O和shutdown O操作; 所述Callable接口,用于獲得任務拋出的異常和返回結(jié)果; 所述Future接口,用于獲取任務的句柄,得到任務執(zhí)行的中間結(jié)果,終止任務的執(zhí)行,對任務執(zhí)行過程進行全生命周期的監(jiān)控。
4.根據(jù)權(quán)利要求1所述的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器,其特征在于,所述數(shù)據(jù)緩沖池為ConcurrentLinkedQueue類型,所述數(shù)據(jù)緩沖池的大小由配置文件的約定的大小來初始化。
5.根據(jù)權(quán)利要求1所述的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配器的數(shù)據(jù)適配方法,其特征在于,按如下步驟進行: 51、啟動數(shù)據(jù)適配器,控制器加載配置信息進行源數(shù)據(jù)庫和目標數(shù)據(jù)庫的連接; 52、寫線程模塊從源數(shù)據(jù)庫中讀取所需數(shù)據(jù),并將讀取的數(shù)據(jù)寫入數(shù)據(jù)緩沖池; 53、緩沖管理器將接收到的臨時數(shù)據(jù)進行存儲; 54、讀線程模塊用于從數(shù)據(jù)緩沖池讀取數(shù)據(jù),按預定的要求進行規(guī)約化處理,并將處理好的數(shù)據(jù)寫入目標數(shù)據(jù)庫。
6.根據(jù)權(quán)利要求5所述的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配方法,其特征在于,步驟SI中,啟動數(shù)據(jù)適配器后,緩沖管理器根據(jù)配置文件的約定的大小初始化數(shù)據(jù)緩沖池。
7.根據(jù)權(quán)利要求5所述的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配方法,其特征在于,數(shù)據(jù)適配器進行讀寫數(shù)據(jù)的過程中,控制器實時輸出當前適配器狀態(tài),并檢測控制指令,當檢測到終止指令時,關(guān)閉數(shù)據(jù)適配器。
8.根據(jù)權(quán)利要求5所述的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配方法,其特征在于,步驟S2中,寫線程模塊向數(shù)據(jù)緩沖池中寫入數(shù)據(jù)時,判斷數(shù)據(jù)緩沖池是否已經(jīng)寫滿,如果未滿,則將數(shù)據(jù)寫入緩沖池并重置緩沖池大小,如果已經(jīng)寫滿,則退出寫數(shù)據(jù)操作。
9.根據(jù)權(quán)利要求5所述的一種數(shù)據(jù)采集過程中的數(shù)據(jù)適配方法,其特征在于,步驟S4中,讀線程模塊從數(shù)據(jù)緩沖池讀取數(shù)據(jù)時,判斷緩沖池是否為空,如果為空,則退出讀數(shù)據(jù)操作,如果不為空,則從數(shù)據(jù)緩沖池中讀取數(shù)據(jù)并重置緩沖池大小。
【文檔編號】G06F17/30GK103440279SQ201310350093
【公開日】2013年12月11日 申請日期:2013年8月13日 優(yōu)先權(quán)日:2013年8月13日
【發(fā)明者】吳克河, 朱亞運, 黨芳芳 申請人:江蘇華大天益電力科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1