999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Kettle的數據轉換同步方法研究

2022-08-25 09:56:56韋亞軍張文文李冬青
軟件導刊 2022年8期
關鍵詞:數據庫作業系統

韋亞軍,張文文,李冬青

(南京國圖信息產業有限公司,江蘇南京 210000)

0 引言

隨著自然資源信息化體系的完善,各機構改革逐步落實到位。如何更加高效、安全、靈活地實現各部門、各應用系統之間的數據轉換、同步及遷移工作成為當前自然資源信息化建設面臨的重要難題[1-3]。目前數據轉換、同步工作一般采用兩種方法[4-7]:一種是借助專業的抽取—轉換—加載(Extract-Transform-Load,ETL)工具實現,如Oracle數據庫的OWB、SQL Server 2000 的DTS、達夢數據庫DTS等,該方法通常要求目標數據庫必須是指定類型,因此缺乏靈活性;另一種是通過SQL 編程的方式實現,可有效提高ETL 運行效率,但編碼復雜,難以快速構建ETL 工作環境,具有一定的應用局限性。

針對上述問題,結合自然資源信息化體系建設過程中數據多源、數據量大、結構復雜等特點,本文基于開源ETL工具Kettle 構建源數據庫轉換同步環境,并提出一種新的數據轉換同步方法。該方法充分融合集成了傳統ETL 工具與SQL 編程二者的優勢,解決了ETL 工具目標數據庫需指定類型的不足以及SQL 編程方法的局限性問題,提高了開發速度和工作效率,有效解決了自然資源信息化建設過程中多源數據到目標數據的轉換與同步難題,同時也為企業的數據集成工作提供了更多思路。

1 Kettle簡介

Kettle 是一款強大、開源的ETL 工具,又名“水壺”,意為將各種數據放到一個壺中,然后以一種指定的格式流出。Kettle 支持可視化的圖形用戶界面(Graphics User Interface,GUI),以工作流的形式流轉,無需安裝即可在Windows、Linux 及Unix 系統上運行,數據抽取、轉換、同步、過濾功能高效穩定[8-11]。

Kettle 的數據集成功能主要由轉換(Transformation)和作業(Job)兩個核心組件完成,其中轉換組件為進行數據操作的容器,數據操作即數據從輸入到輸出的過程,每一個轉換表示對一個或多個數據流進行特定的數據操作;作業組件負責將一個或多個轉換組織在一起,根據事先設定的工作流模式,協調數據源并執行轉換活動,從而完成一項特定的數據處理任務。通常情況下,一項大型任務會被分解為多個邏輯上隔離的作業,作業完成即代表該數據處理任務完成[12-15]。Kettle 的概念模型如圖1所示。

Fig.1 Kettle conceptual model diagram圖1 Kettle概念模型圖

2 應用場景

根據操作系統網絡環境的不同,Kettle 的應用場景可分為3 種[16],分別為表視圖、前置機和文件模式,具體如圖2 所示。其中,表視圖模式是數據集成處理中經常遇到的場景,即在同一網絡環境下需要對多種數據源進行抽取、篩選、轉換和加載等,如歷史數據同步、異構系統數據交互、數據對稱發布或備份;前置機模式是一種典型的數據交換模式,數據交互雙方A 和B 在網絡不通的情況下可以通過前置機C 實現連接,此時雙方可以約定好前置機C 的數據庫結構標準,通過開發應用接口將數據組織成標準結構并推送至前置機;文件模式是指當數據交互雙方A 和B完全物理隔離時,只能通過指定格式文件的方式實現數據交互,如XML 格式。該模式在應用A 中開發應用接口用于生成標準格式的文件,然后通過移動硬盤等介質在某一時間拷貝文件接入應用B,應用B 按照標準接口規范接收數據。以上3 種應用場景若均從系統層面實現數據同步轉換,無疑工作量巨大,同時涉及到一些復雜的業務和邏輯,還會產生一定的程序錯誤,增加了項目投入成本。而利用Kettle 完成數據同步轉換工作可有效減少研發工作量,提高工作效率。

3 數據同步方法

Fig.2 Kettle application scenario圖2 Kettle應用場景

基于Kettle 的數據轉換同步方法是通過Kettle 制定數據抽取、篩選、轉換規則,并以工作流的形式執行作業任務,從而實現數據轉換、同步工作。主要步驟為首先在數據同步工作前對業務需求進行分析,制定一套詳細且專業的數據同步流程和策略;然后將該同步流程和策略轉化為Kettle 可識別的轉換腳本和作業流程;最后形成基于Kettle的源數據庫轉換同步環境,實現源數據到目標數據的高效持續更新機制[17]。

3.1 業務需求分析

某自然資源與規劃局的自然資源一體化業務審批系統(以下簡稱審批系統)由我司研發并已上線運行,檔案管理系統則由另一家公司研發,兩個系統分布在不同的網絡環境中,無法直接進行交互,但可以通過前置機完成連接。現局方要求我司協助完成業務審批數據歸檔工作,每天定時將審批系統已辦結的業務數據同步至前置機數據庫(以下簡稱目標數據庫),該目標數據庫由檔案管理系統研發公司設計,檔案管理系統獲取目標數據庫中的數據進行歸檔操作。

上述業務場景為典型的前置機模式,要求歸檔的數據包括土地、礦產、林業、綜合事務等,涉及審批系統中的多個數據源(以下簡稱源數據庫)。由于系統已經上線運行,除需完成新的業務數據同步外,還需要實現歷史數據的歸檔工作。

3.2 同步流程

結合業務需求分析,本次數據同步除需完成日常增量數據同步外,還應完成歷史數據全量同步。為防止重復全量同步操作,本文設計了增量和全量數據同步流程,在啟動定時作業任務后,首先判斷目標數據庫的記錄數,確定是否已經存在歷史業務數據,若不存在,則可以先進行全量數據同步,確保歷史數據同步到目標數據庫,防止數據丟失[18-19]。數據同步流程如圖3所示。

3.3 同步策略

結合實際需求及數據同步流程,本文制定了數據結構分析、數據篩選、數據組合、數據規范、數據清理和數據校驗6個同步策略。

3.3.1 數據結構分析

數據結構分析策略主要針對源數據庫和目標數據庫的表結構、E-R 圖進行分析,形成源數據庫和目標數據庫表與表、字段與字段之間的對應關系,利用Excel 表格、思維導圖等形式整理記錄各數據庫表、字段的對應關系,具體示例如圖4所示。

3.3.2 數據篩選

根據實際業務需求,從源數據庫中篩選滿足要求的基礎數據信息,剔除目標數據庫不需要的表和字段,獲得滿足實際要求的各類業務數據信息,解決無效數據同步到目標數據庫的問題。利用Kettle 工具輸入組件完成源數據篩選,具體操作如圖5所示。

Fig.3 Data synchronization process圖3 數據同步流程

Fig.4 Data structure analysis example圖4 數據結構分析示例

Fig.5 Data screening process圖5 數據篩選操作

3.3.3 數據組合

在源數據篩選過程中建立統一的業務主鍵,建立各表之間的組合關系,完成源數據基礎數據重組,解決數據同步過程中業務缺失、關鍵信息不全等問題。

3.3.4 數據規范

根據目標數據庫標準要求,對篩選的基礎數據進行規范化處理,建立同步數據標準,解決數據規范不一致、格式不統一等問題。

3.3.5 數據清理

進行增量數據同步前,檢查并清理目標數據庫中已經存在的冗余數據,以保證目標數據庫數據的實時性、準確性。

3.3.6 數據校驗

針對目標數據庫的數據業務邏輯關系進行校驗,剔除不符合校驗規則的數據,完成數據質檢工作,解決數據質量不符合要求的問題。

根據以上數據同步策略,結合實際需求分析,本文設計了如圖6 所示的數據同步架構,構建了基于Kettle 的源數據庫轉換同步環境,形成了由源數據庫到目標數據庫的自動持續更新機制。

4 業務應用

利用基于Kettle 的數據轉換同步方法,結合源數據庫轉換同步環境,設計了本次數據轉換同步的轉換腳本和作業任務,使審批系統各項業務數據轉換為可供檔案管理系統使用、分析、決策的目標數據,并對其進行校驗。同時,開發了定時觸發腳本文件,以完成對作業任務的定時調度,實現源數據到目標數據的自動持續更新。

Fig.6 Data synchronization architecture圖6 數據同步架構

4.1 基于Kettle的作業任務

基于實際業務需求,對審批系統土地、礦產、林業、綜合事務等業務數據進行篩選、拼接,并與附件材料數據關聯、合并,對其中的非標準數據進行規范化處理,部分數據處理示例如圖7 所示。應用數據篩選、數據組合、數據規范及數據清理4 個同步策略構建審批系統業務數據轉換流程,見圖8。同時建立作業任務,集成所有轉換流程,實現對整個審批系統從源數據到目標數據同步的集成控制,維護數據同步的流程秩序。

Fig.7 Data processing example圖7 數據處理示例

Fig.8 Data transformation flow圖8 數據轉換流程

數據轉換、同步工作完成后需對結果進行數據校驗,校驗內容主要包括目標數據庫表之間的邏輯關系是否符號要求,數據庫表總數、記錄總數是否與源數據一致等。對目標數據庫部分表記錄總數進行統計校驗,結果見圖9。校驗結果表明,利用基于Kettle 的數據轉換同步方法可順利完成數據轉換、同步工作,數據轉換率、有效率、正確率均高達98%以上。

Fig.9 Data validation example圖9 數據校驗示例

4.2 定時觸發任務

定時觸發任務主要利用Kitchen 命令行控制工具編寫.bat 腳本文件,并與Kettle 工具相結合,實現系統對作業任務的定時調度,完成源數據到目標數據的持續更新工作。.bat腳本文件代碼為:

5 結語

本文針對實際業務需求,基于ETL 工具Kettle 制定了數據同步流程與策略,并在此基礎上構建了基于Kettle 的源數據庫轉換同步環境,提出新的數據轉換同步方法,利用該方法可實現對審批系統土地、礦產、林業、綜合事務等數據的高效抽取、篩選、轉換和同步。校驗結果表明,該方法數據轉換率、有效率、正確率均高達98%以上,滿足了檔案管理系統對目標數據庫的查詢、分析和決策需求。同時制定了定時觸發任務,解決了系統后臺對作業任務的定時調度問題,最終實現了源數據庫到目標數據庫的高效自動持續更新。未來將不斷完善數據規范和校驗過程,提高數據質量,優化轉換作業流程,提升數據同步效率,為企業的數據轉換、同步及遷移工作提供更多思路。

猜你喜歡
數據庫作業系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
快來寫作業
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
作業
故事大王(2016年7期)2016-09-22 17:30:08
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 国产成人综合网| 久久人人爽人人爽人人片aV东京热 | 中文纯内无码H| 国产成人一区| 91在线精品麻豆欧美在线| 毛片在线播放a| 国产理论一区| 亚洲成人动漫在线观看| 2021国产v亚洲v天堂无码| 亚洲精品少妇熟女| 99久久国产综合精品女同| 色综合狠狠操| 五月天久久综合| 亚洲二区视频| 国产微拍一区| 欧美日韩成人在线观看| 亚洲日韩精品欧美中文字幕| 一级全免费视频播放| 无遮挡一级毛片呦女视频| 第一区免费在线观看| 91精品aⅴ无码中文字字幕蜜桃| 日韩福利在线观看| 18禁黄无遮挡免费动漫网站| 综合色亚洲| 日韩欧美中文字幕在线精品| 欧美不卡在线视频| 91九色最新地址| 99伊人精品| 久草青青在线视频| 久久久久久午夜精品| 久久精品无码一区二区日韩免费| 国产无码精品在线播放| 无码区日韩专区免费系列| 久久九九热视频| 国产乱人伦偷精品视频AAA| 亚洲精品天堂自在久久77| 欧美在线精品一区二区三区| 婷婷激情亚洲| 成年人国产视频| 人妻精品久久久无码区色视| 亚洲欧美色中文字幕| 99国产精品免费观看视频| 亚洲黄色视频在线观看一区| 国产免费精彩视频| 97av视频在线观看| 国产三级a| 日韩毛片在线播放| 日本亚洲国产一区二区三区| 成人另类稀缺在线观看| 午夜a级毛片| 亚洲国产精品国自产拍A| 性色生活片在线观看| 国产成人综合亚洲欧美在| 91综合色区亚洲熟妇p| 网久久综合| 在线观看网站国产| 在线视频亚洲色图| 波多野结衣在线se| 国产无码性爱一区二区三区| 成人毛片免费观看| 天堂中文在线资源| 久久久黄色片| 欧美国产日产一区二区| 久996视频精品免费观看| 国产成人综合亚洲网址| 欧美国产在线看| 日韩精品一区二区三区中文无码| 久久五月视频| 色婷婷综合在线| 国产精品毛片一区| 亚洲第一成网站| 国产成人乱无码视频| 国产欧美精品一区aⅴ影院| 手机在线免费不卡一区二| 久久人人爽人人爽人人片aV东京热 | 91在线一9|永久视频在线| 国产精品美女在线| 久久久久亚洲AV成人网站软件| 老司国产精品视频| 国产精品蜜芽在线观看| V一区无码内射国产| 19国产精品麻豆免费观看|