專利名稱:大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲方法,尤其涉及一種大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法。
背景技術(shù):
為移動運營商服務(wù)的系統(tǒng),除了用戶量非常巨大外,涉及到的業(yè)務(wù)數(shù)據(jù)量也非常巨大;而且移動業(yè)務(wù)系統(tǒng)往往涉及到多個系統(tǒng)間的數(shù)據(jù)交互,需要有大量的數(shù)據(jù)進行同步和傳遞,很多業(yè)務(wù)系統(tǒng)中每天需要同步的數(shù)據(jù)量超過幾個GB,處理的業(yè)務(wù)記錄數(shù)超過千萬甚至上億。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn)大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法,其特征在于,該方法包括以下步驟1).設(shè)定一個文件傳輸協(xié)議(ftp)服務(wù)器作為數(shù)據(jù)的接收地,對每一個數(shù)據(jù)來源創(chuàng)建一個特定的帳號;2).對每一個數(shù)據(jù)源,在ftp服務(wù)器上創(chuàng)建有獨立讀寫權(quán)限的目錄作為數(shù)據(jù)交互地;3).用戶需要數(shù)據(jù)同步給本系統(tǒng)時,按照一定的規(guī)則將數(shù)據(jù)生成到一系列文件,按照命名規(guī)則將這些文件命名后上傳到ftp服務(wù)器的指定目錄下;4).數(shù)據(jù)接收系統(tǒng)按照定期輪詢的方式檢查各數(shù)據(jù)源對應(yīng)的目錄,時間間隔可以根據(jù)業(yè)務(wù)需要靈活配置,以不影響數(shù)據(jù)的實時性為限;5).接收系統(tǒng)核查到有新的數(shù)據(jù)進入系統(tǒng)后,進行數(shù)據(jù)的分析和入庫工作;6).數(shù)據(jù)處理完畢后,數(shù)據(jù)接收系統(tǒng)生成響應(yīng)結(jié)果文件并存放在相應(yīng)數(shù)據(jù)源的目錄下;7).數(shù)據(jù)源在不停進行新數(shù)據(jù)上傳的同時,也會定期核查ftp服務(wù)器相應(yīng)目錄下的響應(yīng)文件,并根據(jù)響應(yīng)文件的內(nèi)容,重新上傳數(shù)據(jù)。
所述的步驟3)中的規(guī)則包括A).文件名包括以便唯一標識的要素;B).文件的內(nèi)容按照行進行組織,每行包含一條數(shù)據(jù)記錄,數(shù)據(jù)記錄中的各字段按照指定順序排列,字段間以“,”為分隔符分隔;C).文件傳輸過程中文件名中增加temp,標識文件正在上傳中,暫時不要處理;D).文件上傳結(jié)束后對文件更名,刪除temp標識,表示文件處理完畢,可以對此文件中的內(nèi)容進行解析和處理。
所述的文件名包括以便唯一標識的要素,該要素包括A).生成時間,按照YYYYMMDDHHMMSS格式(如20060503102035,2006年5月3日10點20分35秒);B).數(shù)據(jù)特征如unsubrecordconfirm表示“退訂請求確認”確認;C).本文件在整個數(shù)據(jù)集合中的序列號,如01,表示此次數(shù)據(jù)分布在多個文件中,而本文件為第一個。
所述的步驟6)中響應(yīng)結(jié)果文件會作為數(shù)據(jù)源核對發(fā)送結(jié)果的依據(jù)。
所述的響應(yīng)結(jié)果文件包括以下部分1).文件名命名文件名包含文件生成的時間戳,用于標識對不同文件的處理結(jié)果;2).文件中包含錯誤列表,內(nèi)容包括出錯文件名、出錯記錄詳細信息、數(shù)據(jù)接收方判斷的錯誤原因;3).文件中包括處理過的文件名列表。
本發(fā)明通過自定義的協(xié)議完成大容量數(shù)據(jù)在多個系統(tǒng)間的快速轉(zhuǎn)移,并通過自定義的入庫方法保證數(shù)據(jù)轉(zhuǎn)移完成后能快速的插入數(shù)據(jù)庫。
圖1為本發(fā)明的結(jié)構(gòu)示意圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明作進一步說明。
如圖1所示,包括以下步驟1.設(shè)定一個ftp服務(wù)器作為數(shù)據(jù)的接收地,對每一個數(shù)據(jù)來源創(chuàng)建一個特定的帳號。
2.對每一個數(shù)據(jù)源,在ftp服務(wù)器上創(chuàng)建有獨立讀寫權(quán)限的目錄作為數(shù)據(jù)交互地。
3.用戶需要數(shù)據(jù)同步給本系統(tǒng)時,按照一定的規(guī)則將數(shù)據(jù)生成到一系列文件,按照命名規(guī)則將這些文件命名后上傳到ftp服務(wù)器的指定目錄下。具體規(guī)則可能包括1).文件名包括如下要素以便唯一標識a)生成時間,按照YYYYMMDDHHMMSS格式(如20060503102035,2006年5月3日10點20分35秒)。
b)數(shù)據(jù)特征如unsubrecordconfirm表示“退訂請求確認”確認c)本文件在整個數(shù)據(jù)集合中的序列號,如01,表示此次數(shù)據(jù)分布在多個文件中,而本文件為第一個。
2).文件的內(nèi)容按照行進行組織,每行包含一條數(shù)據(jù)記錄,數(shù)據(jù)記錄中的各字段按照指定順序排列,字段間以“,”為分隔符分隔。
3).文件傳輸過程中文件名中增加temp,標識文件正在上傳中,暫時不要處理。
4).文件上傳結(jié)束后對文件更名,刪除temp標識,表示文件處理完畢,可以對此文件中的內(nèi)容進行解析和處理。
4.數(shù)據(jù)接收系統(tǒng)按照定期輪詢的方式檢查各數(shù)據(jù)源對應(yīng)的目錄。時間間隔可以根據(jù)業(yè)務(wù)需要靈活配置,以不影響數(shù)據(jù)的實時性為限。
5.接收系統(tǒng)核查到有新的數(shù)據(jù)進入系統(tǒng)后,進行數(shù)據(jù)的分析和入庫工作。具體流程如下1).修改文件名,增加going標識,標明數(shù)據(jù)文件正在處理中。
2).由于數(shù)據(jù)文件內(nèi)容是按照指定的格式、順序排列的,所以可以采用數(shù)據(jù)庫批量入庫的腳本進行大批量數(shù)據(jù)一次入庫。
3).數(shù)據(jù)文件處理完畢后,進行數(shù)據(jù)備份,將處理完的數(shù)據(jù)文件從原始目錄遷移到備份目錄。
4).根據(jù)數(shù)據(jù)文件的處理結(jié)果,生成響應(yīng)文件。對文件中的錯誤數(shù)據(jù)記錄入響應(yīng)文件,對正確處理數(shù)據(jù)的統(tǒng)計結(jié)果也同時記錄入響應(yīng)文件。
6.數(shù)據(jù)處理完畢后,數(shù)據(jù)接收系統(tǒng)生成響應(yīng)結(jié)果文件并存放在相應(yīng)數(shù)據(jù)源的目錄下。響應(yīng)結(jié)果文件會作為數(shù)據(jù)源核對發(fā)送結(jié)果的依據(jù),會包括如下部分1).文件名命名文件名包含文件生成的時間戳,用于標識對不同文件的處理結(jié)果。
2).文件中包含錯誤列表,內(nèi)容包括出錯文件名、出錯記錄詳細信息、數(shù)據(jù)接收方判斷的錯誤原因。
3).文件中包括處理過的文件名列表。
7.數(shù)據(jù)源在不停進行新數(shù)據(jù)上傳的同時,也會定期核查ftp服務(wù)器相應(yīng)目錄下的響應(yīng)文件。并根據(jù)響應(yīng)文件的內(nèi)容,重新上傳數(shù)據(jù)。
權(quán)利要求
1.大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法,其特征在于,該方法包括以下步驟1).設(shè)定一個文件傳輸協(xié)議(ftp)服務(wù)器作為數(shù)據(jù)的接收地,對每一個數(shù)據(jù)來源創(chuàng)建一個特定的帳號;2).對每一個數(shù)據(jù)源,在ftp服務(wù)器上創(chuàng)建有獨立讀寫權(quán)限的目錄作為數(shù)據(jù)交互地;3).用戶需要數(shù)據(jù)同步給本系統(tǒng)時,按照一定的規(guī)則將數(shù)據(jù)生成到一系列文件,按照命名規(guī)則將這些文件命名后上傳到ftp服務(wù)器的指定目錄下;4).數(shù)據(jù)接收系統(tǒng)按照定期輪詢的方式檢查各數(shù)據(jù)源對應(yīng)的目錄,時間間隔可以根據(jù)業(yè)務(wù)需要靈活配置,以不影響數(shù)據(jù)的實時性為限;5).接收系統(tǒng)核查到有新的數(shù)據(jù)進入系統(tǒng)后,進行數(shù)據(jù)的分析和入庫工作;6).數(shù)據(jù)處理完畢后,數(shù)據(jù)接收系統(tǒng)生成響應(yīng)結(jié)果文件并存放在相應(yīng)數(shù)據(jù)源的目錄下;7).數(shù)據(jù)源在不停進行新數(shù)據(jù)上傳的同時,也會定期核查ftp服務(wù)器相應(yīng)目錄下的響應(yīng)文件,并根據(jù)響應(yīng)文件的內(nèi)容,重新上傳數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法,其特征在于,所述的步驟3)中的規(guī)則包括A).文件名包括以便唯一標識的要素;B).文件的內(nèi)容按照行進行組織,每行包含一條數(shù)據(jù)記錄,數(shù)據(jù)記錄中的各字段按照指定順序排列,字段間以“,”為分隔符分隔;C).文件傳輸過程中文件名中增加temp,標識文件正在上傳中,暫時不要處理;D).文件上傳結(jié)束后對文件更名,刪除temp標識,表示文件處理完畢,可以對此文件中的內(nèi)容進行解析和處理。
3.根據(jù)權(quán)利要求2所述的大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法,其特征在于,所述的文件名包括以便唯一標識的要素,該要素包括A).生成時間,按照YYYYMMDDHHMMSS格式(如20060503102035,2006年5月3日10點20分35秒);B).數(shù)據(jù)特征如unsubrecordconfirm表示“退訂請求確認”確認;C).本文件在整個數(shù)據(jù)集合中的序列號,如_01,表示此次數(shù)據(jù)分布在多個文件中,而本文件為第一個。
4.根據(jù)權(quán)利要求1所述的大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法,其特征在于,所述的步驟6)中響應(yīng)結(jié)果文件會作為數(shù)據(jù)源核對發(fā)送結(jié)果的依據(jù)。
5.根據(jù)權(quán)利要求1或4所述的大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法,其特征在于,所述的響應(yīng)結(jié)果文件包括以下部分1).文件名命名文件名包含文件生成的時間戳,用于標識對不同文件的處理結(jié)果;2).文件中包含錯誤列表,內(nèi)容包括出錯文件名、出錯記錄詳細信息、數(shù)據(jù)接收方判斷的錯誤原因;3).文件中包括處理過的文件名列表。
全文摘要
本發(fā)明涉及一種大量數(shù)據(jù)同步、傳輸和入數(shù)據(jù)庫的方法,該方法包括以下步驟設(shè)定一個文件傳輸協(xié)議(ftp)服務(wù)器作為數(shù)據(jù)的接收地,對每一個數(shù)據(jù)來源創(chuàng)建一個特定的帳號;在ftp服務(wù)器上創(chuàng)建一目錄作為數(shù)據(jù)交互地;將數(shù)據(jù)生成到一系列文件;數(shù)據(jù)接收系統(tǒng)定期檢查各數(shù)據(jù)源對應(yīng)的目錄,核查到有新的數(shù)據(jù)進入系統(tǒng)后,進行數(shù)據(jù)的分析和入庫工作;數(shù)據(jù)處理完畢后,數(shù)據(jù)接收系統(tǒng)生成響應(yīng)結(jié)果文件并存放在相應(yīng)數(shù)據(jù)源的目錄下;數(shù)據(jù)源在不停進行新數(shù)據(jù)上傳的同時,定期核查響應(yīng)文件以決定是否重新上傳數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明可以極高的提高數(shù)據(jù)同步的速度和效率,改善了傳統(tǒng)的實時數(shù)據(jù)接口方式的性能瓶頸。
文檔編號H04L27/26GK101094026SQ200610027738
公開日2007年12月26日 申請日期2006年6月19日 優(yōu)先權(quán)日2006年6月19日
發(fā)明者馮謐 申請人:上海全成通信技術(shù)有限公司