0157]步驟304,如果三個連續(xù)備份失敗的任務的遠程備份失敗信息均為網(wǎng)絡超時,終止任務列表的遠程備份,進入第一次等待重試狀態(tài);
[0158]步驟305,在第一次等待重試狀態(tài)對應的第一次等待重試時間閾值過后,重新對任務列表進行遠程備份;
[0159]本步驟中,設置5分鐘后,開始重新執(zhí)行任務列表的遠程數(shù)據(jù)備份。
[0160]步驟306,統(tǒng)計不連續(xù)備份失敗的次數(shù),如果超過預先設置的不連續(xù)備份失敗次數(shù)閾值,獲取不連續(xù)備份失敗的任務對應的遠程備份失敗信息;
[0161]本步驟中,不連續(xù)備份失敗次數(shù)閾值設置為5,即發(fā)生了不連續(xù)的5次任務遠程備份失敗。
[0162]5次的遠程備份失敗信息分別如下:
[0163]失敗原因1:服務器錯誤;
[0164]失敗原因2:域名解析失??;
[0165]失敗原因3:備份文件無權限讀取;
[0166]失敗原因4:云端空間不足;
[0167]失敗原因5:登錄失敗。
[0168]步驟307,查詢獲取的遠程備份失敗信息對應的重試策略,按照查詢得到的重試策略進行遠程備份重試。
[0169]本步驟中,對于上述的遠程備份失敗信息,可以設置:
[0170]對于失敗原因1,可以重試;
[0171]對于失敗原因2,可以嘗試使用不同的域名提供商的域名或IP地址直連等方法執(zhí)行重試;
[0172]對于失敗原因3、4、5,設置不可重試。
[0173]本發(fā)明實施例中,對于登錄失效和云端空間不足等情況,也可以設置不重試,但可以在用戶界面(UI,User Interface)上引導用戶解決該問題,例如,重新登錄或擴大云端空間。
[0174]本發(fā)明實施例中,經(jīng)過執(zhí)行重試策略后,因為網(wǎng)絡不穩(wěn)定導致的失敗任務大部分都會最終執(zhí)行成功。
[0175]由上述可見,本發(fā)明實施例數(shù)據(jù)備份方法,考慮到數(shù)據(jù)備份是和用戶(賬號)的客戶端相關的操作,通過分析重試的條件和失敗原因有關,獲取與用戶賬號相關的數(shù)據(jù)備份失敗原因(信息),針對不同的失敗原因,設置使用不同的解決方案,以期達到最好的重試效果,可以有效地解決數(shù)據(jù)備份時,由于網(wǎng)絡不穩(wěn)定或異常原因?qū)е碌娜蝿帐。趫?zhí)行一系列的重試策略后,最終可以使得備份成功率達到接近100%的效果,提高數(shù)據(jù)備份的網(wǎng)絡成功率,提升數(shù)據(jù)備份效率,并且對移動設備的電量影響達到最低,使得用戶環(huán)境的耗電量在可以接受的范圍內(nèi)。
[0176]圖4為本發(fā)明實施例數(shù)據(jù)備份裝置結(jié)構(gòu)示意圖。參見圖4,該裝置包括:重試策略獲取模塊401以及重試失敗處理模塊402,其中,
[0177]重試策略獲取模塊401,用于在任務列表中的第一任務映射的數(shù)據(jù)包遠程備份失敗后,獲取所述第一任務的遠程備份失敗信息,查詢預先設置的遠程備份失敗信息與重試策略的映射關系集,得到所述第一任務的遠程備份失敗信息映射的重試策略;
[0178]本發(fā)明實施例中,作為一可選實施例,遠程備份失敗信息映射的重試策略包括:
[0179]傳輸超時映射的重試策略為重試,重試次數(shù)不超過三次,超過三次進入下一任務遠程備份;
[0180]服務器錯誤映射的重試策略為重試,重試次數(shù)不超過三次,超過三次結(jié)束數(shù)據(jù)遠程備份流程(對于通過多個服務器備份數(shù)據(jù)的情形,重試次數(shù)超過三次則進入下一任務遠程備份);
[0181]域名解析失敗映射的重試策略為嘗試使用不同的域名提供商的域名或IP地址直連進行重試,重試次數(shù)不超過三次,超過三次結(jié)束數(shù)據(jù)遠程備份流程;
[0182]備份文件無權限讀取映射的重試策略為不可重試,并從任務列表中刪除該任務;
[0183]云端空間不足映射的重試策略為等待云端空間擴容通知,在接收到云端空間擴容成功通知之前,結(jié)束數(shù)據(jù)遠程備份流程(對于通過多個服務器備份數(shù)據(jù)的情形,如果某一云端空間不足則進入下一任務遠程備份);
[0184]登錄失敗映射的重試策略為重新登錄,重新登錄次數(shù)不超過三次,超過三次結(jié)束數(shù)據(jù)遠程備份流程。
[0185]重試失敗處理模塊402,用于按照得到的重試策略對所述第一任務進行遠程備份重試。
[0186]本發(fā)明實施例中,作為一可選實施例,重試失敗處理模塊402進一步用于在重試失敗后,將所述第一任務移至所述任務列表的表尾;所述裝置進一步包括:
[0187]重試重啟處理模塊403,用于在重試失敗的任務滿足預先設置的重試終止策略后,終止所述任務列表的遠程備份,并按照預先設置的任務列表重試策略重啟所述任務列表以進行遠程備份。
[0188]本發(fā)明實施例中,作為一可選實施例,任務列表重試策略是任務列表終止次數(shù)與重啟時間的映射關系,包括接入電源狀態(tài)下的任務列表重試策略以及耗電狀態(tài)下的任務列表重試策略。
[0189]作為一可選實施例,該裝置還可以進一步包括:任務列表構(gòu)建模塊404以及備份成功處理模塊405,其中,
[0190]任務列表構(gòu)建模塊404,用于接收數(shù)據(jù)遠程備份請求,獲取待備份數(shù)據(jù),依據(jù)預先設置的數(shù)據(jù)備份策略,將待備份數(shù)據(jù)分類為多個數(shù)據(jù)包,每一數(shù)據(jù)包映射一任務,構(gòu)建包含多個任務的任務列表;
[0191]本發(fā)明實施例中,作為一可選實施例,任務列表構(gòu)建模塊404包括:備份啟動單元、備份數(shù)據(jù)獲取單元、備份數(shù)據(jù)分類單元、權重配置單元以及任務列表構(gòu)建單元(圖中未示出),其中,
[0192]備份啟動單元,用于在監(jiān)測到用戶通過客戶端的按鍵按下第一熱鍵后,啟動所述客戶端的數(shù)據(jù)備份模式;
[0193]備份數(shù)據(jù)獲取單元,用于在接收到用戶通過所述客戶端的按鍵按下的第二熱鍵后,獲取所述客戶端的待備份數(shù)據(jù);
[0194]本發(fā)明實施例中,備份數(shù)據(jù)獲取單元還可以進一步用于檢查客戶端當前是否滿足預先設置的數(shù)據(jù)備份條件,如果是,執(zhí)行所述獲取所述客戶端的待備份數(shù)據(jù)的步驟,如果否,結(jié)束流程。
[0195]備份數(shù)據(jù)分類單元,用于按照待備份數(shù)據(jù)的類型,每一類型的待備份數(shù)據(jù)對應一數(shù)據(jù)包,為每一數(shù)據(jù)包設置一數(shù)據(jù)包權重;
[0196]權重配置單元,用于針對每一數(shù)據(jù)包,按照數(shù)據(jù)的重要等級,將數(shù)據(jù)包劃分為多個重要等級映射的數(shù)據(jù)子包,每一數(shù)據(jù)子包對應一數(shù)據(jù)子包權重;
[0197]任務列表構(gòu)建單元,用于將每一數(shù)據(jù)包映射一任務,構(gòu)建包含多個任務的任務列表。
[0198]本發(fā)明實施例中,可以按照數(shù)據(jù)包權重從高至低的順序,將數(shù)據(jù)包對應的任務從任務列表的表頭依次放入;也可以按照預先設置的權重計算策略,計算數(shù)據(jù)包中每一數(shù)據(jù)子包的總權重,按照數(shù)據(jù)子包的總權重從高至低的順序,將數(shù)據(jù)子包對應的任務從任務列表的表頭依次放入。
[0199]備份成功處理模塊405,用于按照所述任務列表從表頭至表尾的順序,依次進行任務映射的數(shù)據(jù)包遠程備份,并在所述任務列表中,刪除遠程備份成功的任務。
[0200]本發(fā)明實施例中,作為一可選實施例,備份成功處理模塊405包括:順序排列單元、遠程傳輸單元以及備份成功處理單元(圖中未示出),其中,
[0201]順序排列單元,用于通知遠程傳輸單元按照所述任務列表從表頭至表尾的順序進行傳輸;
[0202]遠程傳輸單元,用于按照順序排列單元的通知,依次進行任務映射的數(shù)據(jù)包遠程備份;
[0203]備份成功處理單元,用于在所述任務列表中,刪除遠程備份成功的任務。
[0204]本發(fā)明實施例中,作為一可選實施例,備份成功處理模塊405還可以進一步包括:
[0205]數(shù)據(jù)格式轉(zhuǎn)換單元,用于將所述任務列表中的任務對應的數(shù)據(jù),按照服務器存儲數(shù)據(jù)的格式要求進行格式轉(zhuǎn)換。
[0206]作為另一可選實施例,備份成功處理模塊405還可以進一步包括:
[0207]加密單元,用于利用加密算法,對所述任務列表中的任務對應的數(shù)據(jù)進行加密。
[0208]作為再一可選實施例,備份成功處理模塊405還可以進一步包括:
[0209]傳輸設置單元,用于設置客戶端與執(zhí)行數(shù)據(jù)備份的客戶端采用客戶端/服務器模式,通過套接字建立TCP連接,并設置所述服務器與客戶端之間采用FTP傳輸待備份數(shù)據(jù)。
[0210]作為另一可選實施例,該裝置還可以進一步包括:
[0211]數(shù)據(jù)恢復模塊(圖中未示出),用于向服務器發(fā)送數(shù)據(jù)恢復請求,按照所述客戶端進行遠程備份時的策略,從服務器下載備份的數(shù)據(jù)。
[0212]本發(fā)明實施例還提供了一種電子設備,可以包括:
[0213]一個或者多個處理器;
[0214]存儲器;
[0215]—個或者多個模塊,所述一個或者多個模塊存儲在所述存儲器中,當被所述一個或者多個處理器執(zhí)行時進行如下操作:
[0216]在任務列表中的第一任務映射的數(shù)據(jù)包遠程備份失敗后,獲取所述第一任務的遠程備份失敗ig息;
[0217]查詢預先設置的遠程備份失敗信息與重試策略的映射關系集,得到所述第一任務的遠程備份失敗信息映射的重試策略;
[0218]按照得到的重試策略對所述第一任務進行遠程備份重試。
[0219]本發(fā)明實施例還提供了一種存儲介質(zhì),用于存儲應用程序,所述應用程序用于執(zhí)行本發(fā)明實施例所提供的一種數(shù)據(jù)備份方法。
[0220]本發(fā)明實施例還提供了