本發(fā)明涉及一種在異構(gòu)的數(shù)據(jù)庫(kù)/文件系統(tǒng)之間高速交換數(shù)據(jù)的數(shù)據(jù)交換系統(tǒng)及其交換方法。
背景技術(shù):
當(dāng)下互聯(lián)網(wǎng)時(shí)代數(shù)據(jù)云集,技術(shù)繁多,眾多汽車廠商都在紛紛部署自己的大數(shù)據(jù)平臺(tái),用大數(shù)據(jù)分析和云計(jì)算技術(shù)來(lái)快速挖掘客戶需求和市場(chǎng)需求,形成產(chǎn)品快速市場(chǎng)。而面對(duì)多種類型的數(shù)據(jù)源,怎樣讓不同格式不同類型的數(shù)據(jù)融會(huì)貫通,使之成為有價(jià)值的數(shù)據(jù),這是行業(yè)決策者最為關(guān)注的。試設(shè)想如果有6種數(shù)據(jù)源類型(比如Oracle、MySQL、SQL Server、文件、RCFile、SequenceFile),如果僅僅考慮一一對(duì)應(yīng)的情況,最多有P(6,2)=30種之多,換言之,如果開發(fā)單獨(dú)的工具就要開發(fā)30款之多;這個(gè)數(shù)字還將隨著數(shù)據(jù)源類型的增加呈幾何級(jí)的增長(zhǎng)。因此,數(shù)據(jù)交換勢(shì)必就成為了當(dāng)下大數(shù)據(jù)技術(shù)領(lǐng)域一個(gè)必不可少的系統(tǒng)工具。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的發(fā)明目的在于提供一種數(shù)據(jù)交換系統(tǒng),該數(shù)據(jù)交換系統(tǒng)可以方便的在不同數(shù)據(jù)源之間完成數(shù)據(jù)交換,目前已有的接口包括mysql,sqlserver,oracle,hdfs,hive,file,文件等多種數(shù)據(jù)源,后續(xù)也可以方便地插入新數(shù)據(jù)源的接口。
本發(fā)明的發(fā)明目的通過(guò)以下技術(shù)方案實(shí)現(xiàn):
一種數(shù)據(jù)交換系統(tǒng),包含一框架和插件組,其特征在于:
所述插件組包含若干個(gè)數(shù)據(jù)源插件,每個(gè)數(shù)據(jù)源插件對(duì)應(yīng)一種類型的數(shù)據(jù) 源進(jìn)行讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入目的地;
所述框架包含數(shù)據(jù)交換預(yù)處理組件、源插件組件、目標(biāo)插件組件和數(shù)據(jù)交換后處理組件;
所述數(shù)據(jù)交換預(yù)處理組件用于讀取XML參數(shù)配置文件,根據(jù)XML參數(shù)配置文件中的內(nèi)容進(jìn)行預(yù)處理并申請(qǐng)包含進(jìn)程、內(nèi)存在內(nèi)的系統(tǒng)資源,以及啟動(dòng)源插件組件、目標(biāo)插件組件;其中XML參數(shù)配置文件用于定義任務(wù),包括任務(wù)讀/寫的并發(fā)度、源插件和目標(biāo)插件所需調(diào)用的數(shù)據(jù)源插件名稱、源數(shù)據(jù)源和目標(biāo)數(shù)據(jù)源的路徑、以及源數(shù)據(jù)源和目標(biāo)數(shù)據(jù)源的具體屬性;
所述源插件組件用于根據(jù)任務(wù)的具體信息,對(duì)源數(shù)據(jù)源的路徑進(jìn)行解析,根據(jù)進(jìn)程并發(fā)調(diào)用相應(yīng)數(shù)據(jù)源插件從源數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),并放入內(nèi)存;
所述目標(biāo)插件組件用于根據(jù)任務(wù)的具體信息,對(duì)目標(biāo)數(shù)據(jù)源的路徑進(jìn)行解析,根據(jù)進(jìn)程調(diào)用相應(yīng)數(shù)據(jù)源插件讀取內(nèi)存的數(shù)據(jù),并寫入目標(biāo)數(shù)據(jù)源,直到隊(duì)列數(shù)據(jù)為空或目標(biāo)插件組件出錯(cuò)之后啟動(dòng)數(shù)據(jù)交換后處理組件;
所述任務(wù)后處理組件用于在收到目標(biāo)插件組件的啟動(dòng)指令后,釋放之前申請(qǐng)的系統(tǒng)資源。
優(yōu)選地,所述數(shù)據(jù)源插件包含數(shù)據(jù)庫(kù)插件、本地文件插件、HDFSRC文件插件、HDFS文本文件插件;
所述數(shù)據(jù)庫(kù)插件用于處理關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù);所述本地文件插件用于處理本地文件中的數(shù)據(jù);所述HDFSRC文件插件用于處理以RCFILE格式保存的HDFS中的數(shù)據(jù);所述HDFS文本文件插件用于處理以文本方式保存的HDFS中的數(shù)據(jù)。
優(yōu)選地,所述數(shù)據(jù)庫(kù)插件包含Oracle切分器,所述Oracle切分器用于從
Oracle數(shù)據(jù)庫(kù)讀取數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)進(jìn)行切分。
優(yōu)選地,所述各數(shù)據(jù)源插件中分別包含一個(gè)或者多個(gè)數(shù)據(jù)轉(zhuǎn)換器,所述數(shù)據(jù)轉(zhuǎn)換器用于完成源數(shù)據(jù)源與目標(biāo)數(shù)據(jù)源之間的數(shù)據(jù)轉(zhuǎn)換。
優(yōu)選地,所述XML參數(shù)配置文件通過(guò)手動(dòng)編寫任務(wù)生成,或者通過(guò)頁(yè)面調(diào)用從關(guān)系型數(shù)據(jù)庫(kù)中讀取。
優(yōu)選地,所述數(shù)據(jù)交換預(yù)處理組件根據(jù)XML參數(shù)配置文件中的源插件和目標(biāo)插件的名稱進(jìn)行預(yù)處理,預(yù)處理內(nèi)容包含對(duì)數(shù)據(jù)庫(kù)連接是否正常、文件路徑是否正常、shell命令是否正常、文件讀寫操作是否正常進(jìn)行判斷。
優(yōu)選地,所述數(shù)據(jù)交換預(yù)處理組件包含數(shù)據(jù)庫(kù)預(yù)處理組件,shell腳本預(yù)處理組件和文件預(yù)處理組件。
優(yōu)選地,所述任務(wù)后處理組件包含數(shù)據(jù)庫(kù)后處理組件,shell腳本后處理組件和文件后處理組件。
優(yōu)選地,所述數(shù)據(jù)交換系統(tǒng)還包含wget插件,所述wget插件用于在源插件組件讀取的源數(shù)據(jù)源為FTP文件服務(wù)器時(shí)實(shí)時(shí)監(jiān)控源數(shù)據(jù)源的讀取進(jìn)度。
優(yōu)選地,所述數(shù)據(jù)交換系統(tǒng)還包含字段驗(yàn)證器,所述字段驗(yàn)證器用于在源插件組件讀取源數(shù)據(jù)源時(shí)以及目標(biāo)插件組件寫入目標(biāo)數(shù)據(jù)源時(shí)對(duì)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行正確性驗(yàn)證,如果不符合規(guī)則,則由字段驗(yàn)證器強(qiáng)行過(guò)濾掉,并輸出為擴(kuò)展名為“.bad”錯(cuò)誤日志文件。
進(jìn)一步,所述XML參數(shù)配置文件中還包含錯(cuò)誤數(shù)據(jù)容忍閥值,所述寫插入組件還用于定時(shí)掃描當(dāng)前錯(cuò)誤日志文件的條數(shù),當(dāng)錯(cuò)誤日志文件的條數(shù)超過(guò)錯(cuò)誤數(shù)據(jù)容忍閥值時(shí),啟動(dòng)數(shù)據(jù)交換后處理組件。
優(yōu)選地,所述框架的各組件分別包含有JMS消息服務(wù)接口,所述JMS消息
服務(wù)接口用于將各組件執(zhí)行任務(wù)的狀況輸出給第三方應(yīng)用。
優(yōu)選地,所述源插件組件、目標(biāo)插件組件分別包含有RPC客戶端調(diào)用接口,所述RPC客戶端調(diào)用接口用于當(dāng)源/目標(biāo)插件組件訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)時(shí)實(shí)現(xiàn)與RPC服務(wù)端進(jìn)行通信。
本發(fā)明還提供了所述的數(shù)據(jù)交換系統(tǒng)的交換方法,包含以下步驟:
步驟一、數(shù)據(jù)交換預(yù)處理組件讀取XML參數(shù)配置文件啟動(dòng)任務(wù);其中XML參數(shù)配置文件用于定義任務(wù),包括任務(wù)讀/寫的并發(fā)度、源插件和目標(biāo)插件所需調(diào)用的數(shù)據(jù)源插件名稱、源數(shù)據(jù)源和目標(biāo)數(shù)據(jù)源的路徑、以及源數(shù)據(jù)源和目標(biāo)數(shù)據(jù)源的具體屬性;
步驟二、數(shù)據(jù)交換預(yù)處理組件根據(jù)XML參數(shù)配置文件中的所需調(diào)用的數(shù)據(jù)源插件進(jìn)行預(yù)處理,同時(shí)根據(jù)XML參數(shù)配置文件中的任務(wù)讀/寫的并發(fā)度申請(qǐng)進(jìn)程數(shù)以及內(nèi)存;
步驟三、源插件組件根據(jù)源數(shù)據(jù)源的路徑以及相應(yīng)的數(shù)據(jù)源插件通過(guò)源插件工作進(jìn)程獲取源數(shù)據(jù),轉(zhuǎn)換后保存在內(nèi)存空間里;然后再通過(guò)數(shù)據(jù)傳遞進(jìn)程將內(nèi)存中的數(shù)據(jù)傳遞出去;
步驟四、目標(biāo)插件組件通過(guò)通道插件工作進(jìn)程不斷接受數(shù)據(jù)傳遞進(jìn)程傳過(guò)來(lái)的數(shù)據(jù),并保存在通道插件隊(duì)列中,再根據(jù)目標(biāo)數(shù)據(jù)源的路徑以及相應(yīng)的數(shù)據(jù)源插件通過(guò)目標(biāo)插件工作進(jìn)程定期讀取通道插件隊(duì)列中的數(shù)據(jù),并寫入目標(biāo)端的數(shù)據(jù)源,直到通道插件隊(duì)列中的數(shù)據(jù)為空或者目標(biāo)插件組件出錯(cuò),啟動(dòng)數(shù)據(jù)交換后處理組件。
步驟五、數(shù)據(jù)交換后處理組件釋放之前申請(qǐng)的各種系統(tǒng)資源。
進(jìn)一步,所述步驟四中還包含通過(guò)字段驗(yàn)證器對(duì)源插件組件讀取的源數(shù)據(jù) 源以及目標(biāo)插件組件寫入的目標(biāo)數(shù)據(jù)源進(jìn)行正確性驗(yàn)證,如果不符合規(guī)則,則由字段驗(yàn)證器強(qiáng)行過(guò)濾掉,并輸出為擴(kuò)展名為“.bad”錯(cuò)誤日志文件。
進(jìn)一步,所述步驟四中還包含寫插入組件定時(shí)掃描當(dāng)前錯(cuò)誤日志文件的條數(shù),當(dāng)錯(cuò)誤日志文件的條數(shù)超過(guò)錯(cuò)誤數(shù)據(jù)容忍閥值時(shí),啟動(dòng)數(shù)據(jù)交換后處理組件。
本發(fā)明的有益效果在于實(shí)現(xiàn)了以下功能:
1.支持多種類型的數(shù)據(jù)源數(shù)據(jù)抽取
2.支持多種類型的目的數(shù)據(jù)源加載
3.支持多種類型的數(shù)據(jù)交換
4.支持插件式開發(fā)
5.實(shí)現(xiàn)了讀寫線程分離
6.實(shí)現(xiàn)了數(shù)據(jù)傳輸?shù)牧髁拷y(tǒng)計(jì)
7.實(shí)現(xiàn)Bad文件記錄監(jiān)控
8.實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)換與校驗(yàn)
9.支持Oracle數(shù)據(jù)切分
10.支持不同文件系統(tǒng)路徑解析
11.實(shí)現(xiàn)了JMS消息服務(wù)接口
12.實(shí)現(xiàn)了RPC客戶端調(diào)用接口
附圖說(shuō)明
圖1為本發(fā)明一種數(shù)據(jù)庫(kù)交換系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明的實(shí)施流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
在本實(shí)施例中,一種數(shù)據(jù)庫(kù)交換系統(tǒng),包含框架和插件組,所述插件組包含若干個(gè)數(shù)據(jù)源插件。每個(gè)具體的數(shù)據(jù)源插件都既可以作為源插件,也可以作為目標(biāo)插件,每個(gè)數(shù)據(jù)源插件對(duì)應(yīng)一種類型的數(shù)據(jù)源。
在本實(shí)施例中數(shù)據(jù)源插件設(shè)計(jì)了數(shù)據(jù)庫(kù)插件(具體包括oracle,mysql和sqlserver三種關(guān)系型數(shù)據(jù)庫(kù))、本地文件插件、HDFSRC文件插件、HDFS文本文件插件。所述數(shù)據(jù)庫(kù)插件用于處理關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù);所述本地文件插件用于處理本地文件中的數(shù)據(jù);所述HDFSRC文件插件用于處理以RCFILE格式保存的HDFS中的數(shù)據(jù);所述HDFS文本文件插件用于處理以文本方式保存的HDFS中的數(shù)據(jù)。數(shù)據(jù)源插件根據(jù)數(shù)據(jù)類型的需要可以不斷進(jìn)行增加。
在數(shù)據(jù)庫(kù)插件中配置Oracle切分器,所述Oracle切分器用于從Oracle數(shù)據(jù)庫(kù)讀取數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)進(jìn)行切分,以提高數(shù)據(jù)獲取效率。
在數(shù)據(jù)源插件中配置數(shù)據(jù)轉(zhuǎn)換器,數(shù)據(jù)轉(zhuǎn)換器(DataTransformer)是一種能夠?qū)⒃紨?shù)據(jù)做轉(zhuǎn)換的工具。如有需要,每個(gè)數(shù)據(jù)源插件可以配置一個(gè)或多個(gè)數(shù)據(jù)轉(zhuǎn)換器,每個(gè)數(shù)據(jù)轉(zhuǎn)換器負(fù)責(zé)處理不同類型的數(shù)據(jù)轉(zhuǎn)換,按照順序依次進(jìn)行轉(zhuǎn)換。
所述框架包含數(shù)據(jù)交換預(yù)處理組件、源插件組件、目標(biāo)插件組件和數(shù)據(jù)交換后處理組件;
所述數(shù)據(jù)交換預(yù)處理組件用于讀取XML參數(shù)配置文件,根據(jù)XML參數(shù)配置文件中的內(nèi)容進(jìn)行預(yù)處理并申請(qǐng)包含進(jìn)程、內(nèi)存在內(nèi)的系統(tǒng)資源,以及啟動(dòng)源插件組件、目標(biāo)插件組件。
其中XML參數(shù)配置文件用于定義任務(wù),括該任務(wù)讀/寫的并發(fā)度(確定該 任務(wù)同時(shí)啟動(dòng)多少個(gè)進(jìn)程并行讀寫);源/目標(biāo)插件需調(diào)用的數(shù)據(jù)源插件名稱亦即任務(wù)類型(比如調(diào)用本地文件插件,則名稱為com.snda.sdo.datasync.plugins.FilePlugin);源/目標(biāo)數(shù)據(jù)源的路徑;以及相關(guān)數(shù)據(jù)源中的具體屬性,比如本地文件插件,屬性可能包括字段列數(shù),字段分隔符等,再比如HDFSRC文件插件,屬性可能包括字段列數(shù),分隔符,壓縮方式,字符集編碼等。XML參數(shù)配置文件可以通過(guò)獨(dú)立運(yùn)行和頁(yè)面調(diào)用兩種模式生成,二者區(qū)別在于獨(dú)立運(yùn)行時(shí)需要手動(dòng)編寫任務(wù)的配置文件,而正常情況則采用頁(yè)面調(diào)用模式從關(guān)系型數(shù)據(jù)庫(kù)中讀取配置文件。
所述數(shù)據(jù)交換預(yù)處理組件具體可以分為三種,分別是數(shù)據(jù)庫(kù)預(yù)處理插件,shell腳本預(yù)處理插件和文件預(yù)處理插件,數(shù)據(jù)交換預(yù)處理組件根據(jù)XML參數(shù)配置文件中的所需調(diào)用的數(shù)據(jù)源插件的名稱進(jìn)行預(yù)處理,預(yù)處理內(nèi)容包含對(duì)數(shù)據(jù)庫(kù)連接是否正常(用于數(shù)據(jù)庫(kù)插件)、文件路徑是否正常(用于本地文件插件)、shell命令是否正常(用于HDFSRC文件插件)、文件讀寫操作是否正常進(jìn)行判斷(HDFS文本文件插件)。
所述源插件組件用于根據(jù)任務(wù)的具體信息,對(duì)源數(shù)據(jù)源的路徑進(jìn)行解析,根據(jù)進(jìn)程調(diào)用源插件和相應(yīng)數(shù)據(jù)庫(kù)插件從源數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),并放入內(nèi)存。
優(yōu)選地,數(shù)據(jù)交換系統(tǒng)還包含wget插件,所述源插件組件讀取的源數(shù)據(jù)源為FTP文件服務(wù)器時(shí),啟動(dòng)wget插件,所述wget插件用于實(shí)時(shí)監(jiān)控源數(shù)據(jù)源的讀取進(jìn)度。
所述目標(biāo)插件組件用于根據(jù)任務(wù)的具體信息,對(duì)目標(biāo)數(shù)據(jù)源的路徑進(jìn)行解析,根據(jù)進(jìn)程調(diào)用目標(biāo)插件和相應(yīng)數(shù)據(jù)庫(kù)插件讀取內(nèi)存的數(shù)據(jù),并寫入目標(biāo)數(shù)據(jù)源,直到隊(duì)列數(shù)據(jù)為空或目標(biāo)插件組件出錯(cuò)之后啟動(dòng)數(shù)據(jù)交換后處理組件。
以本地文件到關(guān)系型數(shù)據(jù)庫(kù)為例,源插件組件先告知源插件對(duì)應(yīng)的數(shù)據(jù)源 插件是本地文件插件,由源插件調(diào)用本地文件插件根據(jù)源數(shù)據(jù)源的路徑讀取數(shù)據(jù)并轉(zhuǎn)換,同理目標(biāo)插件組件告知目標(biāo)插件對(duì)應(yīng)的數(shù)據(jù)源插件是關(guān)系型數(shù)據(jù)庫(kù)插件,由目標(biāo)插件調(diào)用關(guān)系型數(shù)據(jù)庫(kù)插件根據(jù)目的數(shù)據(jù)源的路徑寫入數(shù)據(jù)。
優(yōu)選地,數(shù)據(jù)交換系統(tǒng)還包含字段驗(yàn)證器,所述字段驗(yàn)證器用于在源插件組件讀取源數(shù)據(jù)源時(shí)以及目標(biāo)插件組件寫入目標(biāo)數(shù)據(jù)源時(shí)對(duì)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行正確性驗(yàn)證,如果不符合規(guī)則,則強(qiáng)行過(guò)濾掉,并輸出為擴(kuò)展名為“.bad”錯(cuò)誤日志文件。通過(guò)在XML參數(shù)配置文件中設(shè)置錯(cuò)誤數(shù)據(jù)容忍閥值,寫插入組件定時(shí)掃描當(dāng)前錯(cuò)誤日志文件的條數(shù),當(dāng)錯(cuò)誤日志文件的條數(shù)超過(guò)錯(cuò)誤數(shù)據(jù)容忍閥值時(shí),啟動(dòng)數(shù)據(jù)交換后處理組件。
優(yōu)選地,所述源插件組件、目標(biāo)插件組件分別包含有RPC客戶端調(diào)用接口,所述RPC客戶端調(diào)用接口用于當(dāng)讀/目標(biāo)插件組件訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)時(shí)實(shí)現(xiàn)與RPC服務(wù)端進(jìn)行通信。
所述數(shù)據(jù)交換后處理組件用于在收到目標(biāo)插件組件的啟動(dòng)指令后,釋放之前申請(qǐng)的系統(tǒng)資源。與數(shù)據(jù)交換預(yù)處理處理組件相同,所述任務(wù)后處理組件包含數(shù)據(jù)庫(kù)后處理組件,shell腳本后處理組件和文件后處理組件
優(yōu)選地,所述框架的各組件分別包含有JMS消息服務(wù)接口,所述JMS消息服務(wù)接口用于將各組件執(zhí)行任務(wù)的狀況輸出給第三方應(yīng)用。
如圖2所示,是本發(fā)明的具體實(shí)施流程,包含以下步驟:
1、任務(wù)啟動(dòng)
數(shù)據(jù)交換預(yù)處理組件讀取XML參數(shù)配置文件啟動(dòng)任務(wù)。
2、任務(wù)預(yù)處理
數(shù)據(jù)交換預(yù)處理組件根據(jù)XML參數(shù)配置文件中的所需調(diào)用的數(shù)據(jù)源插件 進(jìn)行預(yù)處理,根據(jù)所需調(diào)用的數(shù)據(jù)源插件從數(shù)據(jù)庫(kù)、腳本和文件三種處理方式選擇所需的方式進(jìn)行預(yù)處理,主要是對(duì)數(shù)據(jù)格式的一些判斷處理。對(duì)數(shù)據(jù)庫(kù)連接是否正常(用于數(shù)據(jù)庫(kù)插件)、文件路徑是否正常(用于本地文件插件)、shell命令是否正常(用于HDFSRC文件插件)、文件讀寫操作是否正常進(jìn)行判斷(HDFS文本文件插件)。同時(shí)根據(jù)XML參數(shù)配置文件中的任務(wù)讀/寫的并發(fā)度申請(qǐng)進(jìn)程數(shù)以及內(nèi)存,為后續(xù)的操作做好準(zhǔn)備。啟動(dòng)源插件組件和目標(biāo)插件組件。
3、從源數(shù)據(jù)源讀取數(shù)據(jù)
根據(jù)任務(wù)的具體信息,確定此處具體啟動(dòng)的數(shù)據(jù)源插件。以本地文件到關(guān)系型數(shù)據(jù)庫(kù)為例,源插件組件調(diào)用的是本地文件插件,目標(biāo)插件組件調(diào)用的是關(guān)系型數(shù)據(jù)庫(kù)插件。
源插件組件根據(jù)源數(shù)據(jù)源的路徑以及相應(yīng)的數(shù)據(jù)源插件通過(guò)源插件工作進(jìn)程獲取源數(shù)據(jù),轉(zhuǎn)換后保存在內(nèi)存空間里;然后再通過(guò)數(shù)據(jù)傳遞進(jìn)程將內(nèi)存中的數(shù)據(jù)傳遞出去;
4、寫入數(shù)據(jù)到目標(biāo)數(shù)據(jù)源
目標(biāo)插件組件通過(guò)通道插件工作進(jìn)程不斷接受數(shù)據(jù)傳遞進(jìn)程傳過(guò)來(lái)的數(shù)據(jù),并保存在通道插件隊(duì)列中,再根據(jù)目標(biāo)數(shù)據(jù)源的路徑以及相應(yīng)的數(shù)據(jù)源插件通過(guò)目標(biāo)插件工作進(jìn)程定期讀取通道插件隊(duì)列中的數(shù)據(jù),并寫入目標(biāo)端的數(shù)據(jù)源,直到通道插件隊(duì)列中的數(shù)據(jù)為空或者目標(biāo)插件組件出錯(cuò),啟動(dòng)數(shù)據(jù)交換后處理組件。
進(jìn)一步,在本步驟中還可以通過(guò)字段驗(yàn)證器對(duì)源插件組件讀取的源數(shù)據(jù)源以及目標(biāo)插件組件寫入的目標(biāo)數(shù)據(jù)源進(jìn)行正確性驗(yàn)證,如果不符合規(guī)則,則由 字段驗(yàn)證器強(qiáng)行過(guò)濾掉,并輸出為擴(kuò)展名為“.bad”錯(cuò)誤日志文件。
寫插入組件定時(shí)掃描當(dāng)前錯(cuò)誤日志文件的條數(shù),當(dāng)錯(cuò)誤日志文件的條數(shù)超過(guò)錯(cuò)誤數(shù)據(jù)容忍閥值時(shí),啟動(dòng)數(shù)據(jù)交換后處理組件。
5、任務(wù)后處理
任務(wù)結(jié)束之后,數(shù)據(jù)交換后處理組件釋放之前申請(qǐng)的各種資源。
可以理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。