本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,特別涉及一種業(yè)務(wù)數(shù)據(jù)同步方法。本發(fā)明同時(shí)還涉及一種數(shù)據(jù)同步設(shè)備。
背景技術(shù):
:隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,數(shù)據(jù)庫(kù)已經(jīng)在信息
技術(shù)領(lǐng)域:
有了廣泛的應(yīng)用。在社會(huì)生活的各個(gè)部門幾乎都有各種各樣的數(shù)據(jù)庫(kù)保存著與人們的生活息息相關(guān)的各種數(shù)據(jù)。為了對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理以提供更好的服務(wù),數(shù)據(jù)倉(cāng)庫(kù)應(yīng)運(yùn)而生。數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)面向主題的(SubjectOriented)、集成的(Integrated)、相對(duì)穩(wěn)定的(Non-Volatile)、反映歷史變化(TimeVariant)的數(shù)據(jù)集合,用于支持管理決策(DecisionMakingSupport),出于分析性報(bào)告和決策支持目的而創(chuàng)建。為需要業(yè)務(wù)智能的企業(yè),提供指導(dǎo)業(yè)務(wù)流程改進(jìn)、監(jiān)視時(shí)間、成本、質(zhì)量以及控制。數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是在對(duì)原有分散的數(shù)據(jù)庫(kù)數(shù)據(jù)抽取、清理的基礎(chǔ)上經(jīng)過系統(tǒng)加工、匯總和整理得到的,在使用數(shù)據(jù)倉(cāng)庫(kù)的過程中必須消除源數(shù)據(jù)中的不一致性,以保證數(shù)據(jù)倉(cāng)庫(kù)內(nèi)的信息是關(guān)于整個(gè)企業(yè)的一致的全局信息。在目前的工作中,數(shù)據(jù)倉(cāng)庫(kù)經(jīng)常需要同步一些系統(tǒng)的日切數(shù)據(jù),即將源系統(tǒng)日切之后到數(shù)據(jù)同步到數(shù)據(jù)倉(cāng)庫(kù)?,F(xiàn)有技術(shù)中的數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)同步工作一般事先由數(shù)據(jù)倉(cāng)庫(kù)的接口人員與業(yè)務(wù)系統(tǒng)的接口人員口頭約定好,日切大約什么時(shí)間完成,倉(cāng)庫(kù)在這個(gè)約定的完成時(shí)間之后的某一時(shí)間去同步日切數(shù)據(jù),即數(shù)據(jù)倉(cāng)庫(kù)定時(shí)同步日切數(shù)據(jù)。然而,本申請(qǐng)發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),從源系統(tǒng)同步的日切數(shù)據(jù)是否正確,取決于數(shù)據(jù)倉(cāng)庫(kù)同步日切數(shù)據(jù)之前,源系統(tǒng)日切是否已經(jīng)結(jié) 束。例如,當(dāng)由于一些特殊的原因(例如業(yè)務(wù)促銷等)而導(dǎo)致某一天需要同步的數(shù)據(jù)量特別大時(shí),由于源系統(tǒng)日切這一動(dòng)作耗費(fèi)的時(shí)間會(huì)大大增加,導(dǎo)致系統(tǒng)可能無法及時(shí)地完成數(shù)據(jù)同步。這樣日切的完成時(shí)間與往常相比將會(huì)大幅度延時(shí);或者日切程序出現(xiàn)異常發(fā)生錯(cuò)誤或是崩潰時(shí),將會(huì)導(dǎo)致日切延遲或者失敗。當(dāng)出現(xiàn)這些列舉的特定情況時(shí),同步到數(shù)據(jù)倉(cāng)庫(kù)的日切數(shù)據(jù)將會(huì)產(chǎn)生異常,從而影響數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)使用。由此可見,如何針對(duì)數(shù)據(jù)倉(cāng)庫(kù)檢測(cè)源系統(tǒng)日切數(shù)據(jù)是否就緒,從而確認(rèn)所同步到倉(cāng)庫(kù)的日切數(shù)據(jù)是否可用,成為本領(lǐng)域技術(shù)人員亟待解決的技術(shù)問題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供了一種業(yè)務(wù)數(shù)據(jù)同步方法,旨在解決現(xiàn)有技術(shù)中由于業(yè)務(wù)系統(tǒng)的數(shù)據(jù)處理任務(wù)失敗而導(dǎo)致所同步至數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)不準(zhǔn)確的問題,保證數(shù)據(jù)倉(cāng)庫(kù)中同步的數(shù)據(jù)準(zhǔn)確可用。該方法應(yīng)用于包括業(yè)務(wù)系統(tǒng)以及數(shù)據(jù)倉(cāng)庫(kù)的同步系統(tǒng)中,包括:當(dāng)?shù)竭_(dá)預(yù)設(shè)的同步周期時(shí),獲取所述業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)的狀態(tài)信息;根據(jù)所述狀態(tài)信息判斷所述數(shù)據(jù)處理任務(wù)是否完成;當(dāng)根據(jù)所述狀態(tài)信息確認(rèn)所述數(shù)據(jù)處理任務(wù)已完成時(shí),將所述業(yè)務(wù)系統(tǒng)在完成所述數(shù)據(jù)處理任務(wù)后生成的數(shù)據(jù)同步至所述數(shù)據(jù)倉(cāng)庫(kù)。優(yōu)選地,當(dāng)根據(jù)所述狀態(tài)信息判斷所述數(shù)據(jù)同步任務(wù)未完成時(shí),在預(yù)設(shè)的時(shí)間間隔后重新獲取所述業(yè)務(wù)系統(tǒng)中的所述數(shù)據(jù)處理任務(wù)的狀態(tài)信息,并根據(jù)重新獲取的狀態(tài)信息判斷所述數(shù)據(jù)處理任務(wù)是否完成。優(yōu)選地,所述同步系統(tǒng)中預(yù)設(shè)數(shù)據(jù)處理任務(wù)狀態(tài)表,所述數(shù)據(jù)處理任務(wù)狀態(tài)表包含所述業(yè)務(wù)系統(tǒng)當(dāng)前所有數(shù)據(jù)處理任務(wù)的狀態(tài)信息與所述業(yè)務(wù)系統(tǒng) 的標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,獲取所述業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)的狀態(tài)信息,具體為:在所述數(shù)據(jù)處理任務(wù)狀態(tài)表中查詢當(dāng)前與所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)對(duì)應(yīng)的所有數(shù)據(jù)處理任務(wù)的狀態(tài)信息,所述狀態(tài)信息包括所述數(shù)據(jù)處理任務(wù)的完成時(shí)間;根據(jù)各所述數(shù)據(jù)處理任務(wù)的狀態(tài)信息中的完成時(shí)間確定距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù),并獲取與所述數(shù)據(jù)處理任務(wù)對(duì)應(yīng)的狀態(tài)信息。優(yōu)選地,所述狀態(tài)信息還包括與所述數(shù)據(jù)處理任務(wù)的完成時(shí)間對(duì)應(yīng)的完成標(biāo)識(shí);根據(jù)所述狀態(tài)信息判斷所述數(shù)據(jù)處理任務(wù)是否完成,具體為:讀取所述狀態(tài)信息中完成標(biāo)識(shí)的狀態(tài);若所述完成標(biāo)識(shí)的狀態(tài)為是,則確認(rèn)所述數(shù)據(jù)處理任務(wù)完成;若所述完成標(biāo)識(shí)的狀態(tài)為否,則確認(rèn)所述數(shù)據(jù)處理任務(wù)未完成。優(yōu)選地,在獲取所述業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)的狀態(tài)信息之前,還包括:獲取所述業(yè)務(wù)系統(tǒng)處理結(jié)束的數(shù)據(jù)處理任務(wù)的完成時(shí)間,以及判斷所述數(shù)據(jù)處理任務(wù)是否完成;若所述數(shù)據(jù)處理任務(wù)未完成,生成狀態(tài)為否的完成標(biāo)識(shí),并將所述完成標(biāo)識(shí)與所述完成時(shí)間作為所述狀態(tài)信息;若所述數(shù)據(jù)處理任務(wù)完成,生成狀態(tài)為是的完成標(biāo)識(shí),并將所述完成標(biāo)識(shí)與所述完成時(shí)間作為所述狀態(tài)信息。優(yōu)選地,在獲取所述業(yè)務(wù)系統(tǒng)處理結(jié)束的數(shù)據(jù)處理任務(wù)的完成時(shí)間以及判斷所述數(shù)據(jù)處理任務(wù)是否完成之前,還包括:創(chuàng)建與所述業(yè)務(wù)系統(tǒng)對(duì)應(yīng)的數(shù)據(jù)處理任務(wù)狀態(tài)表,所述同步任務(wù)狀態(tài)表 包括所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)與所述狀態(tài)信息之間的對(duì)應(yīng)關(guān)系。相應(yīng)地,本發(fā)明還提出了一種業(yè)務(wù)數(shù)據(jù)同步設(shè)備,應(yīng)用于包括業(yè)務(wù)系統(tǒng)以及數(shù)據(jù)倉(cāng)庫(kù)的同步系統(tǒng)中,包括:獲取模塊,在當(dāng)?shù)竭_(dá)預(yù)設(shè)的同步周期時(shí),獲取所述業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)的狀態(tài)信息;判斷模塊,根據(jù)所述狀態(tài)信息判斷所述數(shù)據(jù)處理任務(wù)是否完成;同步模塊,在所述判斷模塊根據(jù)所述狀態(tài)信息確認(rèn)所述數(shù)據(jù)處理任務(wù)已完成時(shí)將所述業(yè)務(wù)系統(tǒng)在完成所述數(shù)據(jù)處理任務(wù)后生成的數(shù)據(jù)同步至所述數(shù)據(jù)倉(cāng)庫(kù)。優(yōu)選地,還包括重獲取模塊,在所述判斷模塊根據(jù)所述狀態(tài)信息判斷所述數(shù)據(jù)同步任務(wù)未完成時(shí),在預(yù)設(shè)的時(shí)間間隔后重新獲取所述業(yè)務(wù)系統(tǒng)中的所述數(shù)據(jù)處理任務(wù)的狀態(tài)信息,并根據(jù)重新獲取的狀態(tài)信息判斷所述數(shù)據(jù)處理任務(wù)是否完成。優(yōu)選地,所述同步系統(tǒng)中預(yù)設(shè)數(shù)據(jù)處理任務(wù)狀態(tài)表,所述數(shù)據(jù)處理任務(wù)狀態(tài)表包含所述業(yè)務(wù)系統(tǒng)當(dāng)前所有數(shù)據(jù)處理任務(wù)的狀態(tài)信息與所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,所述獲取模塊具體用于:在所述數(shù)據(jù)處理任務(wù)狀態(tài)表中查詢當(dāng)前與所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)對(duì)應(yīng)的所有數(shù)據(jù)處理任務(wù)的狀態(tài)信息;根據(jù)各所述數(shù)據(jù)處理任務(wù)的狀態(tài)信息中的完成時(shí)間確定距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù),并獲取與所述數(shù)據(jù)處理任務(wù)對(duì)應(yīng)的狀態(tài)信息;所述狀態(tài)信息包括所述數(shù)據(jù)處理任務(wù)的完成時(shí)間。優(yōu)選地,所述狀態(tài)信息還包括與所述數(shù)據(jù)處理任務(wù)的完成時(shí)間對(duì)應(yīng)的完成標(biāo)識(shí);所述判斷模塊具體用于讀取所述狀態(tài)信息中完成標(biāo)識(shí)的狀態(tài);若所述完成標(biāo)識(shí)的狀態(tài)為是,所述判斷模塊確認(rèn)所述數(shù)據(jù)處理任務(wù)完成;若所述完成標(biāo)識(shí)的狀態(tài)為否,所述判斷模塊確認(rèn)所述數(shù)據(jù)處理任務(wù)未完成。優(yōu)選地,還包括:生成模塊,獲取所述業(yè)務(wù)系統(tǒng)處理結(jié)束的數(shù)據(jù)處理任務(wù)的完成時(shí)間,以及判斷所述數(shù)據(jù)處理任務(wù)是否完成;若所述數(shù)據(jù)處理任務(wù)未完成,所述生成模塊生成狀態(tài)為否的完成標(biāo)識(shí),并將所述完成標(biāo)識(shí)與所述完成時(shí)間作為所述狀態(tài)信息;若所述數(shù)據(jù)處理任務(wù)完成,所述生成模塊生成狀態(tài)為是的完成標(biāo)識(shí),并將所述完成標(biāo)識(shí)與所述完成時(shí)間作為所述狀態(tài)信息。優(yōu)選地,還包括:創(chuàng)建模塊,創(chuàng)建與所述業(yè)務(wù)系統(tǒng)對(duì)應(yīng)的數(shù)據(jù)處理任務(wù)狀態(tài)表,所述同步任務(wù)狀態(tài)表包括所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)與所述狀態(tài)信息之間的對(duì)應(yīng)關(guān)系。由此可見,通過應(yīng)用本發(fā)明的技術(shù)方案,通過在到達(dá)預(yù)設(shè)的同步周期時(shí)獲取業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)的狀態(tài)信息,并根據(jù)狀態(tài)信息判斷數(shù)據(jù)處理任務(wù)是否完成,在確認(rèn)數(shù)據(jù)處理任務(wù)已完成后才將業(yè)務(wù)系統(tǒng)在完成數(shù)據(jù)處理任務(wù)后生成的數(shù)據(jù)同步至數(shù)據(jù)倉(cāng)庫(kù)。從而保證數(shù)據(jù)倉(cāng)庫(kù)中所同步的由業(yè)務(wù)系統(tǒng)處理的數(shù)據(jù)準(zhǔn)確可用,保障了數(shù)據(jù)同步的及時(shí)性。附圖說明圖1為本發(fā)明提出的一種業(yè)務(wù)數(shù)據(jù)同步方法的流程示意圖。圖2為本發(fā)明提出的一種數(shù)據(jù)同步設(shè)備的結(jié)構(gòu)示意圖具體實(shí)施方式目前,數(shù)據(jù)倉(cāng)庫(kù)所同步的業(yè)務(wù)系統(tǒng)數(shù)據(jù)以及業(yè)務(wù)系統(tǒng)的數(shù)據(jù)主要為交易數(shù)據(jù)所衍生的其他數(shù)據(jù)。交易數(shù)據(jù)隨著交易產(chǎn)生而生成,而這部分其他數(shù)據(jù)則是在產(chǎn)生交易數(shù)據(jù)之后額外加工得到的。舉例來說,交易系統(tǒng)會(huì)記錄每一筆交易,賬戶系統(tǒng)會(huì)記錄每一筆賬,當(dāng)一個(gè)賬戶一天發(fā)生多筆賬務(wù),這個(gè)賬戶當(dāng)天結(jié)束時(shí)的賬戶余額即為該賬戶的交易數(shù)據(jù)所衍生出的其他數(shù)據(jù)。賬戶發(fā)生時(shí)間發(fā)生金額A2015-01-2309:00:004A2015-01-2311:40:0015.5A2015-01-2312:10:00150A2015-01-2323:59:00-130表1某一賬戶于2015年01月23日發(fā)生的金額變動(dòng)匯總?cè)缟媳?所示,為某一賬戶于2015年01月23日發(fā)生的金額變動(dòng)匯總,當(dāng)需要知道該賬戶這一天的“流入金額、流出金額、流入筆數(shù)、流出筆數(shù)、當(dāng)日末余額”這些指標(biāo)時(shí),就需要對(duì)上面的數(shù)據(jù)進(jìn)行一些加工,而基于一些時(shí)效性要求,這部分計(jì)算沒有放到數(shù)據(jù)倉(cāng)庫(kù)來處理,而是在業(yè)務(wù)數(shù)據(jù)產(chǎn)生后由業(yè)務(wù)系統(tǒng)處理。業(yè)務(wù)系統(tǒng)對(duì)上述產(chǎn)生的數(shù)據(jù)進(jìn)行加工的這個(gè)過程稱之為“日切”,把依賴于日切動(dòng)作產(chǎn)生的數(shù)據(jù)表稱之為“日切表”?,F(xiàn)有的日切表與數(shù)據(jù)倉(cāng)庫(kù)之間進(jìn)行同步時(shí)存在時(shí)間上的特殊性,數(shù)據(jù)倉(cāng)庫(kù)同步數(shù)據(jù)一般都是定時(shí)任務(wù),如過了凌晨0點(diǎn)就可以同步上一天及以前的數(shù)據(jù),這是因?yàn)檫@些數(shù)據(jù)都是系統(tǒng)產(chǎn)生的,而非計(jì)算的,過了0點(diǎn)數(shù)據(jù)就無法再進(jìn)行處理了。舉例來說,假設(shè)當(dāng)前有一筆交易在23:59:00創(chuàng)建的,業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)里就有了這筆交易數(shù)據(jù),而該筆交易對(duì)應(yīng)的日切數(shù)據(jù)則是基于業(yè)務(wù)系統(tǒng)產(chǎn)生的數(shù)據(jù)計(jì)算所得,也就是說有一個(gè)計(jì)算的過程。這個(gè)計(jì)算過程的保障沒有核心系統(tǒng)那么高,而且計(jì)算所耗費(fèi)的時(shí)間可能受一些因素的影響,不一定能在短時(shí)間內(nèi)即刻生成,且生成的延后時(shí)間有時(shí)難以確定,這樣即會(huì) 導(dǎo)致數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)發(fā)生偏差或是錯(cuò)誤。有鑒于上述技術(shù)問題,本發(fā)明提出了一種業(yè)務(wù)數(shù)據(jù)同步方法,用以保證數(shù)據(jù)倉(cāng)庫(kù)中從業(yè)務(wù)系統(tǒng)所同步過來的數(shù)據(jù)處理任務(wù)的相關(guān)數(shù)據(jù)準(zhǔn)確可用。如圖1所示,該方法應(yīng)用于包括業(yè)務(wù)系統(tǒng)以及數(shù)據(jù)倉(cāng)庫(kù)的同步系統(tǒng)中,包括以下步驟:S101,當(dāng)?shù)竭_(dá)預(yù)設(shè)的同步周期時(shí),獲取所述業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)的狀態(tài)信息。由于本申請(qǐng)的主要目的在于保證數(shù)據(jù)倉(cāng)庫(kù)中由業(yè)務(wù)系統(tǒng)所同步過來的數(shù)據(jù)準(zhǔn)確可靠,而這些同步數(shù)據(jù)都是由業(yè)務(wù)系統(tǒng)在運(yùn)行數(shù)據(jù)處理任務(wù)后所生產(chǎn)的,因此數(shù)據(jù)處理任務(wù)的正確執(zhí)行與否成為了判斷數(shù)據(jù)是否準(zhǔn)確可靠的重要依據(jù)。而為了準(zhǔn)確記錄業(yè)務(wù)系統(tǒng)各個(gè)數(shù)據(jù)處理任務(wù)的狀態(tài)信息,本申請(qǐng)?jiān)谕较到y(tǒng)中預(yù)設(shè)了與數(shù)據(jù)處理任務(wù)對(duì)應(yīng)的狀態(tài)表,該數(shù)據(jù)處理任務(wù)狀態(tài)表包含了業(yè)務(wù)系統(tǒng)當(dāng)前所有數(shù)據(jù)處理任務(wù)的狀態(tài)信息與業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。需要說明的是,該數(shù)據(jù)處理任務(wù)狀態(tài)表進(jìn)行本申請(qǐng)為記錄業(yè)務(wù)系統(tǒng)中各個(gè)數(shù)據(jù)處理任務(wù)執(zhí)行狀態(tài)的具體化表現(xiàn)之一,在此基礎(chǔ)上本領(lǐng)域技術(shù)人員可以通過其他的形式或方法記錄數(shù)據(jù)處理任務(wù)的執(zhí)行狀態(tài)。在本申請(qǐng)的一個(gè)優(yōu)選實(shí)施例中,當(dāng)進(jìn)行初始化處理時(shí)預(yù)先創(chuàng)建與業(yè)務(wù)系統(tǒng)對(duì)應(yīng)的數(shù)據(jù)處理任務(wù)狀態(tài)表,該同步任務(wù)狀態(tài)表包括所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)與所述狀態(tài)信息之間的對(duì)應(yīng)關(guān)系。相應(yīng)地,當(dāng)需要通過該表獲取業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)的狀態(tài)信息時(shí),可在所述數(shù)據(jù)處理任務(wù)狀態(tài)表中查詢當(dāng)前與所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)對(duì)應(yīng)的所有數(shù)據(jù)處理任務(wù)的狀態(tài)信息,隨后根據(jù)各所述數(shù)據(jù)處理任務(wù)的狀態(tài)信息中的完成時(shí)間確定距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù),并獲取與所述數(shù)據(jù)處理任務(wù)對(duì)應(yīng)的狀態(tài)信息。由于狀態(tài)信息包括數(shù)據(jù)處理任務(wù)的完成時(shí)間,因此通過上述步驟可以準(zhǔn)確地確 定最近一次的數(shù)據(jù)處理任務(wù)是否順利完成。其中,業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù),包括:距離當(dāng)前時(shí)刻最近的數(shù)據(jù)處理任務(wù),或者,距離當(dāng)前時(shí)刻在一定時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)。舉個(gè)例子,如果業(yè)務(wù)系統(tǒng)的同步周期是每天的00:30,那么,可以設(shè)置預(yù)設(shè)時(shí)間范圍是30分鐘內(nèi),即距離00:30在30分鐘內(nèi)的數(shù)據(jù)處理任務(wù),包括每天00:00到00:30的數(shù)據(jù)處理任務(wù)。預(yù)設(shè)時(shí)間范圍可以根據(jù)實(shí)際的應(yīng)用需求進(jìn)行調(diào)整。結(jié)合日切表的實(shí)際技術(shù)問題,本申請(qǐng)的具體實(shí)施例在源數(shù)據(jù)系統(tǒng)(即業(yè)務(wù)系統(tǒng))增加一張預(yù)設(shè)的日切情況表作為數(shù)據(jù)處理任務(wù)狀態(tài)表(為便于闡述,后續(xù)統(tǒng)稱為cutoff_status表),相應(yīng)地,該日切情況表中的日切任務(wù)實(shí)際上就是上文所提及的數(shù)據(jù)處理任務(wù)。為以減少對(duì)業(yè)務(wù)系統(tǒng)的影響,該cutoff_status表的記錄數(shù)以及字段被設(shè)置的盡可能少,同時(shí)也能夠在最短(一般是毫秒級(jí)別)最不耗資源的情況下將該表同步到數(shù)據(jù)倉(cāng)庫(kù)。無論是日切任務(wù)成功或者日切任務(wù)失敗,都會(huì)根據(jù)實(shí)際的完成時(shí)間插入一條記錄至cutoff_status表。如下表2所示:日切完成時(shí)間系統(tǒng)名完成標(biāo)志2015-03-0102:03:25AY2015-03-0104:23:56BY2015-03-0202:10:25AY2015-03-0204:25:26BY2015-03-0303:45:38AY2015-03-0305:03:12BN表2上表1中的記錄2015-03-0303:45:38AY2015-03-0305:03:12BN表示A系統(tǒng)在2015-03-0303:45:38成功地完成了日切任務(wù);表1中的這條記錄2015-03-0303:45:38AY2015-03-0305:03:12BN表示B系統(tǒng)在2015-03-0305:03:12日切任務(wù)失敗而未完成。此外,需要說明的是,由于現(xiàn)有技術(shù)中一個(gè)數(shù)據(jù)倉(cāng)庫(kù)可能會(huì)對(duì)應(yīng)多個(gè)業(yè)務(wù)系統(tǒng),因此該數(shù)據(jù)倉(cāng)庫(kù)在接收多個(gè)業(yè)務(wù)系統(tǒng)同步的數(shù)據(jù)的同時(shí),也會(huì)針對(duì)多個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)處理任務(wù)生成一個(gè)統(tǒng)一的數(shù)據(jù)處理任務(wù)狀態(tài)表,或是針對(duì)各個(gè)業(yè)務(wù)系統(tǒng)單獨(dú)生成與之對(duì)應(yīng)的數(shù)據(jù)處理任務(wù)狀態(tài)表,這些都屬于本申請(qǐng)的保護(hù)范圍。S102,根據(jù)所述狀態(tài)信息判斷所述數(shù)據(jù)處理任務(wù)是否完成。為了清楚記錄業(yè)務(wù)系統(tǒng)的各個(gè)數(shù)據(jù)處理任務(wù)是否完成,本申請(qǐng)的優(yōu)選實(shí)施例通過標(biāo)識(shí)的形式針對(duì)各個(gè)數(shù)據(jù)處理任務(wù)進(jìn)行標(biāo)記,具體地,該優(yōu)選實(shí)施例在狀態(tài)信息中設(shè)置與所述數(shù)據(jù)處理任務(wù)的完成時(shí)間對(duì)應(yīng)的完成標(biāo)識(shí),在判斷數(shù)據(jù)處理任務(wù)是否完成時(shí),讀取所述狀態(tài)信息中完成標(biāo)識(shí)的狀態(tài);若所述完成標(biāo)識(shí)的狀態(tài)為是,則確認(rèn)所述數(shù)據(jù)處理任務(wù)完成;若所述完成標(biāo)識(shí)的狀態(tài)為否,則確認(rèn)所述數(shù)據(jù)處理任務(wù)未完成。以S101的具體實(shí)施例繼續(xù)進(jìn)行說明,本申請(qǐng)具體實(shí)施例通過ETL(Extract-Transform-Load,抽取轉(zhuǎn)換加載)的方式完成上述流程。ETL是構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的重要一環(huán),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終按照預(yù)先定義好的數(shù)據(jù)倉(cāng)庫(kù)模型,將數(shù)據(jù)加載到數(shù)據(jù)倉(cāng)庫(kù)中去。該具體實(shí)施例通過在數(shù)據(jù)倉(cāng)庫(kù)定義一個(gè)ETL任務(wù),該ETL任務(wù)用于同步業(yè)務(wù)系統(tǒng)的日切情況表cutoff_status,存儲(chǔ)在odps下并命名為ods_cutoff_status。同時(shí)在數(shù)據(jù)倉(cāng)庫(kù)定義一個(gè)ETL任務(wù),該ETL任務(wù)用于在同步完畢后讀取表ods_cutoff_status內(nèi)容,判斷當(dāng)日的日切是否完成。若未完成則等待3分鐘(此時(shí)間可調(diào)整)后重新從第2步重復(fù),若完成,則進(jìn)入下一步,即啟動(dòng)數(shù)據(jù)倉(cāng) 庫(kù)同步日切數(shù)據(jù)的ETL任務(wù)。S103,當(dāng)根據(jù)所述狀態(tài)信息確認(rèn)所述數(shù)據(jù)處理任務(wù)已完成時(shí),將所述業(yè)務(wù)系統(tǒng)在完成所述數(shù)據(jù)處理任務(wù)后生成的數(shù)據(jù)同步至所述數(shù)據(jù)倉(cāng)庫(kù)。在當(dāng)根據(jù)所述狀態(tài)信息判斷所述數(shù)據(jù)同步任務(wù)未完成時(shí),在預(yù)設(shè)的時(shí)間間隔后重新獲取所述數(shù)據(jù)處理任務(wù)的狀態(tài)信息,并根據(jù)重新獲取的狀態(tài)信息判斷所述數(shù)據(jù)處理任務(wù)是否完成。以上方案闡述了如何基于數(shù)據(jù)處理任務(wù)狀態(tài)表獲取狀態(tài)信息,而在業(yè)務(wù)系統(tǒng)的每個(gè)數(shù)據(jù)處理任務(wù)完成時(shí),也同樣需要將其記錄至數(shù)據(jù)處理任務(wù)狀態(tài)表中,在本申請(qǐng)優(yōu)選的實(shí)施例中,該步驟獲取所述業(yè)務(wù)系統(tǒng)處理結(jié)束的數(shù)據(jù)處理任務(wù)的完成時(shí)間,以及判斷所述數(shù)據(jù)處理任務(wù)是否完成;若所述數(shù)據(jù)處理任務(wù)未完成,生成狀態(tài)為否的完成標(biāo)識(shí),并將所述完成標(biāo)識(shí)與所述完成時(shí)間作為所述狀態(tài)信息;若所述數(shù)據(jù)處理任務(wù)完成,生成狀態(tài)為是的完成標(biāo)識(shí),并將所述完成標(biāo)識(shí)與所述完成時(shí)間作為所述狀態(tài)信息。本申請(qǐng)通過在到達(dá)預(yù)設(shè)的同步周期時(shí)獲取業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)的狀態(tài)信息,并根據(jù)狀態(tài)信息判斷數(shù)據(jù)處理任務(wù)是否完成,在確認(rèn)數(shù)據(jù)處理任務(wù)已完成后才將業(yè)務(wù)系統(tǒng)在完成數(shù)據(jù)處理任務(wù)后生成的數(shù)據(jù)同步至數(shù)據(jù)倉(cāng)庫(kù)。從而保證數(shù)據(jù)倉(cāng)庫(kù)中所同步的由業(yè)務(wù)系統(tǒng)處理的數(shù)據(jù)準(zhǔn)確可用,保障了數(shù)據(jù)同步的及時(shí)性。相應(yīng)地,本發(fā)明還提出了一種業(yè)務(wù)數(shù)據(jù)同步設(shè)備,應(yīng)用于包括業(yè)務(wù)系統(tǒng)以及數(shù)據(jù)倉(cāng)庫(kù)的同步系統(tǒng)中,如圖2所示,包括:獲取模塊210,在當(dāng)?shù)竭_(dá)預(yù)設(shè)的同步周期時(shí),獲取業(yè)務(wù)系統(tǒng)中距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù)的狀態(tài)信息;判斷模塊220,根據(jù)所述狀態(tài)信息判斷所述數(shù)據(jù)處理任務(wù)是否完成;同步模塊230,在所述判斷模塊根據(jù)所述狀態(tài)信息確認(rèn)所述數(shù)據(jù)處理任務(wù)已完成時(shí)將所述業(yè)務(wù)系統(tǒng)在完成所述數(shù)據(jù)處理任務(wù)后生成的數(shù)據(jù)同步至所述數(shù)據(jù)倉(cāng)庫(kù)。在具體應(yīng)用場(chǎng)景下,還包括重獲取模塊,在所述判斷模塊根據(jù)所述狀態(tài)信息判斷所述數(shù)據(jù)同步任務(wù)未完成時(shí),在預(yù)設(shè)的時(shí)間間隔后重新獲取所述業(yè)務(wù)系統(tǒng)中的所述數(shù)據(jù)處理任務(wù)的狀態(tài)信息,并根據(jù)重新獲取的狀態(tài)信息判斷所述數(shù)據(jù)處理任務(wù)是否完成。在具體應(yīng)用場(chǎng)景下,所述同步系統(tǒng)中預(yù)設(shè)數(shù)據(jù)處理任務(wù)狀態(tài)表,所述數(shù)據(jù)處理任務(wù)狀態(tài)表包含所述業(yè)務(wù)系統(tǒng)當(dāng)前所有數(shù)據(jù)處理任務(wù)的狀態(tài)信息與所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,所述獲取模塊具體用于:在所述數(shù)據(jù)處理任務(wù)狀態(tài)表中查詢當(dāng)前與所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)對(duì)應(yīng)的所有數(shù)據(jù)處理任務(wù)的狀態(tài)信息;根據(jù)各所述數(shù)據(jù)處理任務(wù)的狀態(tài)信息中的完成時(shí)間確定距離當(dāng)前時(shí)刻在預(yù)設(shè)時(shí)間范圍內(nèi)的數(shù)據(jù)處理任務(wù),并獲取與所述數(shù)據(jù)處理任務(wù)對(duì)應(yīng)的狀態(tài)信息;所述狀態(tài)信息包括所述數(shù)據(jù)處理任務(wù)的完成時(shí)間。在具體應(yīng)用場(chǎng)景下,所述狀態(tài)信息還包括與所述數(shù)據(jù)處理任務(wù)的完成時(shí)間對(duì)應(yīng)的完成標(biāo)識(shí);所述判斷模塊具體用于讀取所述狀態(tài)信息中完成標(biāo)識(shí)的狀態(tài);若所述完成標(biāo)識(shí)的狀態(tài)為是,所述判斷模塊確認(rèn)所述數(shù)據(jù)處理任務(wù)完成;若所述完成標(biāo)識(shí)的狀態(tài)為否,所述判斷模塊確認(rèn)所述數(shù)據(jù)處理任務(wù)未完成。在具體應(yīng)用場(chǎng)景下,還包括:生成模塊,獲取所述業(yè)務(wù)系統(tǒng)處理結(jié)束的數(shù)據(jù)處理任務(wù)的完成時(shí)間,以及判斷所述數(shù)據(jù)處理任務(wù)是否完成;若所述數(shù)據(jù)處理任務(wù)未完成,所述生成模塊生成狀態(tài)為否的完成標(biāo)識(shí),并將所述完成標(biāo)識(shí)與所述完成時(shí)間作為所述狀態(tài)信息;若所述數(shù)據(jù)處理任務(wù)完成,所述生成模塊生成狀態(tài)為是的完成標(biāo)識(shí),并將所述完成標(biāo)識(shí)與所述完成時(shí)間作為所述狀態(tài)信息。在具體應(yīng)用場(chǎng)景下,還包括:創(chuàng)建模塊,創(chuàng)建與所述業(yè)務(wù)系統(tǒng)對(duì)應(yīng)的數(shù)據(jù)處理任務(wù)狀態(tài)表,所述同步任務(wù)狀態(tài)表包括所述業(yè)務(wù)系統(tǒng)的標(biāo)識(shí)與所述狀態(tài)信息之間的對(duì)應(yīng)關(guān)系。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM,U盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施場(chǎng)景所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施場(chǎng)景的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施場(chǎng)景中的裝置中的模塊可以按照實(shí)施場(chǎng)景描述進(jìn)行分布于實(shí)施場(chǎng)景的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施場(chǎng)景的一個(gè)或多個(gè)裝置中。上述實(shí)施場(chǎng)景的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明序號(hào)僅僅為了描述,不代表實(shí)施場(chǎng)景的優(yōu)劣。以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施場(chǎng)景,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。當(dāng)前第1頁(yè)1 2 3