1.一種基于消息隊列的異步數(shù)據(jù)備份方法,其特征在于,其實現(xiàn)過程為:
首先通過客戶端發(fā)起數(shù)據(jù)寫入請求;
然后由備份服務器讀取請求消息并生成本地文件,該本地文件為臨時文件,達到最大容量限制后輸出數(shù)據(jù)文件;
最后將本地文件上傳至ftp文件備份服務器,完成備份過程。
2.根據(jù)權利要求1所述的一種基于消息隊列的異步數(shù)據(jù)備份方法,其特征在于,在客戶端發(fā)起數(shù)據(jù)寫入請求時,首先需要通過業(yè)務接口讀取并判斷是否開啟備份開關配置,如果文件備份開關為開啟狀態(tài),則將數(shù)據(jù)寫入消息隊列中。
3.根據(jù)權利要求1所述的一種基于消息隊列的異步數(shù)據(jù)備份方法,其特征在于,備份服務器通過持續(xù)讀取消息隊列來生成本地數(shù)據(jù)文件,具體過程為:
備份服務器讀取消息隊列,判斷是否有新消息,如果沒有則休眠10s后繼續(xù)讀取,如有新消息,則讀取消息內容,調用文件寫入接口;
文件寫入接口判斷是否需要生成新文件:
如果不需要生成新文件,則追加寫入文件內容,即采用追加的方式寫入文件內容,結構化數(shù)據(jù)寫文本文件,一行寫一條數(shù)據(jù),非結構化數(shù)據(jù)寫二進制文件,以TLV格式寫入文件內容,單個數(shù)據(jù)文件寫入數(shù)據(jù)時以加鎖的方式控制并發(fā)訪問;
如果需要生成新數(shù)據(jù)文件,則需先將臨時文件輸出至本地目錄,然后將文件備份結果寫記錄,最后生成新的臨時文件,寫入文件內容。
4.根據(jù)權利要求3所述的一種基于消息隊列的異步數(shù)據(jù)備份方法,其特征在于,在上述步驟中生成的新數(shù)據(jù)文件采用如下規(guī)則命名:表名+主機ip第四段+日期+主鍵,并以后綴的方式區(qū)分臨時文件及數(shù)據(jù)文件,新生成的臨時文件以.tmp為后綴;已寫入完成的數(shù)據(jù)文件以.data為后綴。
5.根據(jù)權利要求3所述的一種基于消息隊列的異步數(shù)據(jù)備份方法,其特征在于,所述文件備份結果寫記錄在備份文件結果記錄模塊中,該模塊用于統(tǒng)計分析、數(shù)據(jù)比對,并根據(jù)存儲記錄,文件恢復時快速定位備份文件,該備份文件結果記錄模塊中記錄的內容包括ID;日期;備份文件類型;業(yè)務表名;備份文件名;文件大小,單位為MB;記錄數(shù),即文件數(shù)據(jù)條數(shù);創(chuàng)建時間,即輸出數(shù)據(jù)文件的時間;是否已上傳,即用于標識文件是否已上傳至ftp服務器,0表示否,1表示是;上傳時間;ftp文件備份服務器主機ip;文件存放主目錄;是否已刪除,用于標識文件是否已從ftp服務器刪除,0表示否,1表示是。
6.根據(jù)權利要求3所述的一種基于消息隊列的異步數(shù)據(jù)備份方法,其特征在于,將本地文件上傳至ftp文件備份服務器的具體過程為:
首先掃描本地文件目錄,判斷是否存在數(shù)據(jù)文件,如果不存在則休眠10分鐘后繼續(xù)掃描;
如果存在待上傳的數(shù)據(jù)文件,則統(tǒng)計ftp文件備份服務器存儲使用情況,判斷是否達到存儲上限;
如果達到存儲上限則刪除文件,釋放空間,實現(xiàn)數(shù)據(jù)滾動存儲,刪除規(guī)則為一次刪除一天的數(shù)據(jù),優(yōu)先刪除最早日期的數(shù)據(jù);
最后將本地數(shù)據(jù)文件上傳至ftp文件備份服務器,上傳成功后更新相關記錄信息并刪除本地文件。
7.根據(jù)權利要求6所述的一種基于消息隊列的異步數(shù)據(jù)備份方法,其特征在于,所述ftp文件備份服務器數(shù)據(jù)存儲規(guī)劃根據(jù)不同的文件類型,通過設置時間、容量兩個維度進行控制,如果存儲時間或者容量任一維度達到閾值限制,則進行滾動存儲。