本發(fā)明涉及云備份技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)方法和裝置。
背景技術(shù):
云備份是一種新興的云計(jì)算業(yè)務(wù),云備份服務(wù)提供商通過(guò)虛擬化、分布式處理和寬帶網(wǎng)絡(luò)等技術(shù),將網(wǎng)絡(luò)中海量、異構(gòu)的存儲(chǔ)設(shè)備集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)備份服務(wù)。用戶可以通過(guò)移動(dòng)互聯(lián)網(wǎng)和寬帶互聯(lián)網(wǎng)接入,實(shí)現(xiàn)對(duì)終端上大量和分散的文件或文件夾的集中存儲(chǔ)、安全保管。
其中,云備份數(shù)據(jù)同步是將終端中的數(shù)據(jù)同步備份至云端服務(wù)器,使得云端服務(wù)器存儲(chǔ)有與終端相同的數(shù)據(jù)。比如,將終端中的短信消息同步備份至云端服務(wù)器中,以使得云端服務(wù)器存儲(chǔ)有與終端相同的短信消息。
現(xiàn)有云備份數(shù)據(jù)同步方式中,當(dāng)終端中某個(gè)需要同步的數(shù)據(jù)發(fā)生變化,則需要與云端服務(wù)器進(jìn)行相應(yīng)的數(shù)據(jù)同步。例如,當(dāng)終端有新短信消息時(shí),需要與云端服務(wù)器進(jìn)行短信消息同步。
然而,由于終端中某些需要同步的數(shù)據(jù)(如通話記錄數(shù)據(jù)等數(shù)據(jù))變化比較頻繁,因此,需要頻繁地與云端服務(wù)器進(jìn)行數(shù)據(jù)同步,因此,導(dǎo)致云端服務(wù)器的負(fù)載比較高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種數(shù)據(jù)同步方法和裝置,可以降低云端服務(wù)器的負(fù)載。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)同步方法,包括:
確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型;
判斷所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型;
若是,則將所述目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域;
在間隔預(yù)設(shè)時(shí)間段之后,將所述數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
相應(yīng)地,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)同步裝置,包括:
第一確定單元,用于確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型;
第一判斷單元,用于判斷所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型
添加單元,用于在第一判斷單元判斷所述數(shù)據(jù)類型為預(yù)設(shè)數(shù)據(jù)類型時(shí),將所述目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域;
第一同步單元,用于在間隔預(yù)設(shè)時(shí)間段之后,將所述數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
本發(fā)明實(shí)施例采用確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型,然后,判斷該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型,若否,則將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域,在間隔預(yù)設(shè)時(shí)間段之后將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。該方案可以將特定數(shù)據(jù)類型的待同步數(shù)據(jù)添加到數(shù)據(jù)緩存區(qū)域,在間隔預(yù)設(shè)時(shí)間段后再與云端服務(wù)器進(jìn)行該特定數(shù)據(jù)類型的數(shù)據(jù)的同步,減少了針對(duì)該特定數(shù)據(jù)類型的數(shù)據(jù)與云端服務(wù)器進(jìn)行數(shù)據(jù)同步的次數(shù),因此,相對(duì)于現(xiàn)有技術(shù)而言,可以降低云端服務(wù)器的負(fù)載。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步方法的流程圖。
圖2是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步系統(tǒng)的場(chǎng)景示意圖。
圖3是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步方法的另一種流程圖。
圖4是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步裝置的第一種結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步裝置的第二種結(jié)構(gòu)示意圖;
圖6是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步裝置的第三種結(jié)構(gòu)示意圖;
圖7是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步裝置的第四種結(jié)構(gòu)示意圖;
圖8是本發(fā)明實(shí)施例提供的終端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)同步方法和裝置,以下將分別進(jìn)行詳細(xì)說(shuō)明。
實(shí)施例一、
本實(shí)施例將從數(shù)據(jù)同步裝置角度進(jìn)行描述,該數(shù)據(jù)同步裝置具體可以集成終端或者其他需要進(jìn)行數(shù)據(jù)同步的設(shè)備中,該終端可以為手機(jī)、平板電腦等。
其中,該數(shù)據(jù)同步裝置集成在終端中的方式可以有多種,比如,可以以終端應(yīng)用的形式安裝在終端中。
一種數(shù)據(jù)同步方法,包括:確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型,然后,判斷該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型,若否,則將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域,在間隔預(yù)設(shè)時(shí)間段之后將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
如圖1所示,一種該數(shù)據(jù)同步方法,具體流程如下:
101、確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型。
具體地,步驟“確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型”可以包括:
接收數(shù)據(jù)同步指令,該數(shù)據(jù)同步指令指示待同步的目標(biāo)數(shù)據(jù);
根據(jù)該數(shù)據(jù)同步指令確定該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型。
其中,該數(shù)據(jù)同步指令可以當(dāng)由某個(gè)事件觸發(fā),比如可以由數(shù)據(jù)發(fā)生變化自動(dòng)觸發(fā),具體地,當(dāng)檢測(cè)到某個(gè)數(shù)據(jù)(如某個(gè)指定備份的數(shù)據(jù))發(fā)生變化時(shí),則觸發(fā)發(fā)送數(shù)據(jù)同步指令,此時(shí)數(shù)據(jù)同步裝置便可以對(duì)該數(shù)據(jù)同步指令進(jìn)行接收。例如,當(dāng)檢測(cè)到指定備份的短信消息數(shù)據(jù)發(fā)生變化(增加、刪除或者改變)時(shí),則發(fā)出觸發(fā)發(fā)送數(shù)據(jù)同步指令。該數(shù)據(jù)同步指令可以由系統(tǒng)自動(dòng)觸發(fā),比如,每隔預(yù)設(shè)時(shí)長(zhǎng)自動(dòng)觸發(fā)發(fā)送數(shù)據(jù)同步指令。
此外,該數(shù)據(jù)同步指令還可以通過(guò)觸發(fā)終端中預(yù)設(shè)觸發(fā)鍵或輸入框等觸發(fā)接口來(lái)進(jìn)行觸發(fā),比如,當(dāng)用戶點(diǎn)擊或劃過(guò)同步界面上某個(gè)同步圖標(biāo)時(shí),則觸發(fā)生成該數(shù)據(jù)同步指令,此時(shí)數(shù)據(jù)同步裝置便可以對(duì)該數(shù)據(jù)同步指令進(jìn)行接收。
本實(shí)施例中數(shù)據(jù)類型可以采用多種分類方式對(duì)數(shù)據(jù)進(jìn)行分類得到,可選地,可以根據(jù)數(shù)據(jù)變化的頻率或者次數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分類,得到數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型。也即在步驟101之前,本實(shí)施例方法還可以包括:
根據(jù)數(shù)據(jù)變化的頻率或者次數(shù)對(duì)數(shù)據(jù)進(jìn)行分類,得到數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型。
在實(shí)際應(yīng)用中,本實(shí)施例可以對(duì)需要備份的數(shù)據(jù)進(jìn)行分類,即指定備份的數(shù)據(jù)進(jìn)行分類,如對(duì)指定備份的短信數(shù)據(jù)、通訊錄數(shù)據(jù)、通話記錄數(shù)據(jù)以及照片數(shù)據(jù)等數(shù)據(jù)進(jìn)行分類。
其中,按照數(shù)據(jù)變化的頻率或者次數(shù)進(jìn)行分類的情況下,可以將數(shù)據(jù)分為變化頻繁、變化較少、變化一般等類型的數(shù)據(jù),也即數(shù)據(jù)類型可以包括:數(shù)據(jù)變化頻繁型、數(shù)據(jù)變化較少型、數(shù)據(jù)變化一般型等等數(shù)據(jù)類型。
例如,將短信數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型劃分為數(shù)據(jù)化頻繁型,將通訊錄數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型劃分為數(shù)據(jù)變化較少型,將通話記錄數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型劃分為數(shù)據(jù)變化頻繁型,將照片數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型劃分為數(shù)據(jù)變化一般型。
另外,本實(shí)施例還可以根據(jù)數(shù)據(jù)的屬性(如大小等),或者根據(jù)數(shù)據(jù)的重要程度對(duì)數(shù)據(jù)進(jìn)行分類,比如,可以將數(shù)據(jù)分為非常重要數(shù)據(jù)、重要數(shù)據(jù)、一般數(shù)據(jù)、比較重要數(shù)據(jù)等數(shù)據(jù),也即數(shù)據(jù)類型可以包括:非常重要型、重要型、一般重要型、比較重要型等等。其中,數(shù)據(jù)的重要程度可以根據(jù)數(shù)據(jù)所屬的應(yīng)用程序的類型來(lái)獲取,比如,金融支付類的應(yīng)用程序的數(shù)據(jù)重要程度比較高、社交類的應(yīng)用的數(shù)據(jù)重要程度一般等等。
其中,待同步的目標(biāo)數(shù)據(jù)可以為指定需要同步的數(shù)據(jù),如聊天記錄數(shù)據(jù)、通話記錄數(shù)據(jù)、照片數(shù)據(jù)等。在數(shù)據(jù)變化觸發(fā)數(shù)據(jù)同步時(shí),該目標(biāo)數(shù)據(jù)可以為變化后的數(shù)據(jù)。
102、判斷該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型,若是,執(zhí)行步驟103,若否,則執(zhí)行步驟105。
具體地,可以將目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型進(jìn)行對(duì)比,若相同,則判定未預(yù)設(shè)數(shù)據(jù)類型,否則,則判定不為預(yù)設(shè)數(shù)據(jù)類型。
其中,預(yù)設(shè)數(shù)據(jù)類型可以根據(jù)用戶的實(shí)際需求設(shè)定;如,以根據(jù)數(shù)據(jù)變化的頻率或者次數(shù)對(duì)數(shù)據(jù)分類為例;考慮到變化頻率比較高的數(shù)據(jù)會(huì)頻繁與云端服務(wù)器進(jìn)行數(shù)據(jù)同步,為了減少與云端服務(wù)器進(jìn)行該類數(shù)據(jù)的同步,本實(shí)施例可以先將該類數(shù)據(jù)放置在數(shù)據(jù)緩存區(qū)內(nèi),過(guò)段時(shí)間在進(jìn)行數(shù)據(jù)同步,也即預(yù)設(shè)數(shù)據(jù)類型可以包括:數(shù)據(jù)變化頻繁型、或者數(shù)據(jù)變化一般型等等。此時(shí),若目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型為數(shù)據(jù)變化頻繁型,則判斷目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)量類型為預(yù)設(shè)數(shù)據(jù)類型。
又比如,以根據(jù)數(shù)據(jù)的重要程度對(duì)數(shù)據(jù)分類為例,為了減少與云端服務(wù)器進(jìn)行數(shù)據(jù)同步的此時(shí),本實(shí)施例可以將重要程度比較低的數(shù)據(jù)區(qū)域內(nèi),過(guò)段時(shí)間在進(jìn)行數(shù)據(jù)同步;也即該預(yù)設(shè)數(shù)據(jù)類型可以包括:一般重要型或者比較重要型,此時(shí),若目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型為一般重要型則判斷目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)量類型為預(yù)設(shè)數(shù)據(jù)類型。
103、將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域。
該數(shù)據(jù)緩存區(qū)域可以在數(shù)據(jù)同步之前由終端創(chuàng)建,如,可以在接收到數(shù)據(jù)同步指令之前創(chuàng)建數(shù)據(jù)緩存區(qū)域。具體地,在接收到數(shù)據(jù)同步指令或者確定數(shù)據(jù)類型之前,本實(shí)施例方法還可以包括:接收緩存區(qū)域創(chuàng)建請(qǐng)求,根據(jù)該緩存區(qū)域創(chuàng)建請(qǐng)求創(chuàng)建相應(yīng)的數(shù)據(jù)緩存區(qū)域。具體地,該緩存區(qū)域創(chuàng)建請(qǐng)求劃分一緩存區(qū)域,或者指定某個(gè)緩存區(qū)域。
具體地,步驟“將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域”可以包括:對(duì)該目標(biāo)數(shù)據(jù)進(jìn)行復(fù)制,并將復(fù)制后的目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域,將目標(biāo)數(shù)據(jù)復(fù)制到數(shù)據(jù)緩存區(qū)域。以下實(shí)施例中目標(biāo)數(shù)據(jù)可以為目標(biāo)數(shù)據(jù)的復(fù)制數(shù)據(jù)或者為目標(biāo)數(shù)據(jù)本身
為了提高數(shù)據(jù)傳輸速度以及數(shù)據(jù)同步速率,本實(shí)施例中不僅僅是將目標(biāo)數(shù)據(jù)復(fù)制到數(shù)據(jù)緩存區(qū)域,還可以對(duì)目標(biāo)數(shù)據(jù)進(jìn)行切分若干數(shù)據(jù)塊,并預(yù)先將數(shù)據(jù)塊組裝成服務(wù)器可以識(shí)別的同步指令,這樣在數(shù)據(jù)同步時(shí),只需從數(shù)據(jù)緩存區(qū)域提取同步指令發(fā)送給服務(wù)器即可,無(wú)需在進(jìn)行數(shù)據(jù)組裝,提高了數(shù)據(jù)同步速率。也即步驟“將該目標(biāo)數(shù)據(jù)添加至該數(shù)據(jù)緩存區(qū)域”,或者步驟“將復(fù)制后的目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域”可以包括:
將該目標(biāo)數(shù)據(jù)切割成多個(gè)數(shù)據(jù)塊;
對(duì)該數(shù)據(jù)塊進(jìn)行組裝,得到該云端服務(wù)器可識(shí)別的同步命令或者同步請(qǐng)求;
將該同步命令或者同步請(qǐng)求添加至該數(shù)據(jù)存儲(chǔ)區(qū)域。
其中,切割的方式可以有多種,比如可以將目標(biāo)數(shù)據(jù)切割成多個(gè)大小相同的數(shù)據(jù)塊等。本實(shí)施例對(duì)數(shù)據(jù)塊進(jìn)行組裝,得到該云端服務(wù)器可識(shí)別的同步命令,也就是將數(shù)據(jù)塊組裝成符合終端與服務(wù)器之間的通訊協(xié)議的命令或者數(shù)據(jù)包,通訊協(xié)議可以為TCP/IP協(xié)議。步驟“對(duì)該數(shù)據(jù)塊進(jìn)行組裝”可以包括:
獲取與該云端服務(wù)器通訊協(xié)議文件;
根據(jù)該通訊協(xié)議文件對(duì)數(shù)據(jù)塊進(jìn)行組裝。
為提升同步數(shù)據(jù)的安全性,本實(shí)施例也對(duì)目標(biāo)同步數(shù)據(jù)進(jìn)行加密,比如,可以先對(duì)目標(biāo)數(shù)據(jù)進(jìn)行加密,然后在對(duì)加密后的目標(biāo)數(shù)據(jù)進(jìn)行切割,也即步驟“將該目標(biāo)數(shù)據(jù)切割成多個(gè)數(shù)據(jù)塊”可以包括:對(duì)該目標(biāo)數(shù)據(jù)進(jìn)行加密,并將加密后的目標(biāo)數(shù)據(jù)切割成多個(gè)數(shù)據(jù)塊。
又比如,可以先對(duì)目標(biāo)數(shù)據(jù)進(jìn)行切割,然后對(duì)數(shù)據(jù)塊進(jìn)行加密,也即步驟“對(duì)該數(shù)據(jù)塊進(jìn)行組裝”可以包括:對(duì)該數(shù)據(jù)塊進(jìn)行加密,并對(duì)加密后的數(shù)據(jù)塊進(jìn)行組裝。
又比如,可以先進(jìn)行切割和組裝,然后,對(duì)同步命令進(jìn)行加密,此時(shí),步驟“將該同步命令添加至該數(shù)據(jù)存儲(chǔ)區(qū)域”可以包括:對(duì)該同步命令進(jìn)行加密,并將加密后的同步命令添加至該數(shù)據(jù)存儲(chǔ)區(qū)域。
本實(shí)施例中對(duì)數(shù)據(jù)加密可以采用與云端服務(wù)器約定的密鑰。
104、在間隔預(yù)設(shè)時(shí)間段之后將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
比如,在間隔預(yù)設(shè)時(shí)間段之后,向云端服務(wù)器發(fā)送攜帶目標(biāo)數(shù)據(jù)的數(shù)據(jù)同步請(qǐng)求,以將目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
其中,預(yù)設(shè)時(shí)間段可以根據(jù)實(shí)際需求設(shè)定,比如,1分鐘、10分鐘、5分鐘、1個(gè)小時(shí)等等。該預(yù)設(shè)時(shí)間段的時(shí)間起點(diǎn)可以為將目標(biāo)數(shù)據(jù)完全添加到數(shù)據(jù)緩存區(qū)域時(shí),或者將所有同步指令安全添加到數(shù)據(jù)緩存區(qū)域時(shí),在實(shí)際應(yīng)用中該時(shí)間起點(diǎn)可以在判斷數(shù)據(jù)類型是為預(yù)設(shè)數(shù)據(jù)類型之后的任一時(shí)刻。
步驟“在間隔預(yù)設(shè)時(shí)間段之后,將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器”可以包括:
在將目標(biāo)數(shù)據(jù)添加到數(shù)據(jù)存儲(chǔ)區(qū)域時(shí),開始計(jì)時(shí);
當(dāng)計(jì)時(shí)的時(shí)長(zhǎng)達(dá)到預(yù)設(shè)時(shí)長(zhǎng)時(shí),則將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
將目標(biāo)數(shù)據(jù)添加數(shù)據(jù)存儲(chǔ)區(qū)域包括:將數(shù)據(jù)切割成數(shù)據(jù)塊,并對(duì)數(shù)據(jù)進(jìn)行組裝得到同步命令時(shí),步驟“將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器”可以包括:將該數(shù)據(jù)緩存區(qū)域內(nèi)的同步命令發(fā)送給云端服務(wù)器。
105、向該云端服務(wù)器發(fā)送攜帶該目標(biāo)數(shù)據(jù)的數(shù)據(jù)同步請(qǐng)求,以將該目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
本實(shí)施例在目標(biāo)數(shù)據(jù)的數(shù)據(jù)類型不為預(yù)設(shè)數(shù)據(jù)類型時(shí),可以實(shí)時(shí)與云端服務(wù)器進(jìn)行數(shù)據(jù)同步,即直接向云端服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求進(jìn)行數(shù)據(jù)同步;比如,當(dāng)目標(biāo)數(shù)據(jù)的數(shù)據(jù)類型為變化一般型,預(yù)設(shè)數(shù)據(jù)類型為變化頻繁型時(shí),此時(shí),可以直接與該服務(wù)器進(jìn)行數(shù)據(jù)同步,無(wú)需在本地緩存目標(biāo)數(shù)據(jù)。
考慮到由于數(shù)據(jù)同步失敗時(shí)可能需要多次重試數(shù)據(jù)同步,導(dǎo)致頻繁訪問(wèn)云端服務(wù)器,提高了云端服務(wù)器的負(fù)載;為了克服此問(wèn)題,本實(shí)施例可以當(dāng)數(shù)據(jù)同步失敗時(shí)將本次同步數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域內(nèi),之后再重新進(jìn)行數(shù)據(jù)同步,以減少訪問(wèn)云端服務(wù)器的次數(shù),降低服務(wù)器的負(fù)載。也即本實(shí)施例方法還可以包括:
當(dāng)該數(shù)據(jù)同步請(qǐng)求發(fā)送失敗時(shí),確定該數(shù)據(jù)同步請(qǐng)求發(fā)送失敗的失敗原因;
判斷該失敗原因是否滿足預(yù)設(shè)條件;
若滿足預(yù)設(shè)條件,則將該目標(biāo)數(shù)據(jù)添加至該數(shù)據(jù)緩存區(qū)域;
將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
該數(shù)據(jù)同步請(qǐng)求為在判斷目標(biāo)數(shù)據(jù)的數(shù)據(jù)類型不為預(yù)設(shè)數(shù)據(jù)類型的情況下進(jìn)行數(shù)據(jù)同步的數(shù)據(jù)同步請(qǐng)求;也即步驟105中的數(shù)據(jù)同步請(qǐng)求。
其中,數(shù)據(jù)同步失敗即數(shù)據(jù)同步請(qǐng)求發(fā)送失敗的失敗原因可以有多種,比如失敗原因可以包括:
網(wǎng)絡(luò)狀態(tài)異常或者不穩(wěn)定;該原因的確定手段為:可以獲取網(wǎng)絡(luò)狀態(tài)的參數(shù)信息,根據(jù)該參數(shù)信息檢測(cè)網(wǎng)絡(luò)狀態(tài)是否穩(wěn)定,其中,網(wǎng)絡(luò)狀態(tài)的參數(shù)信息可以包括:網(wǎng)絡(luò)延遲、丟包率、抖動(dòng)、(Quality of Service,服務(wù)質(zhì)量)。
云端服務(wù)器的負(fù)載過(guò)大;該原因的確定手段為:可以獲取云端服務(wù)器的負(fù)載,判斷該負(fù)載是否大于預(yù)設(shè)閾值,若是,則確定云端服務(wù)器的負(fù)載過(guò)大。
終端的可用資源過(guò)少;該原因的確定手段為:可以獲取終端的處理器的使用率、存儲(chǔ)空間的占用率等資源參數(shù),然后,根據(jù)該資源參數(shù)確定終端的可用資源是否過(guò)少。
本實(shí)施例方法可以當(dāng)數(shù)據(jù)同步請(qǐng)求發(fā)送失敗時(shí),通過(guò)上述原因的確定手段來(lái)確定數(shù)據(jù)同步請(qǐng)求的發(fā)送失敗的失敗原因。
本實(shí)施例預(yù)設(shè)條件可以有多種,其可以根據(jù)實(shí)際需求設(shè)定。比如,由于網(wǎng)絡(luò)不穩(wěn)定或者服務(wù)器負(fù)載多大造成的數(shù)據(jù)同步失敗,會(huì)引發(fā)多次同步重試,導(dǎo)致服務(wù)器的負(fù)載較大,因此為了降低服務(wù)器的負(fù)載,可以設(shè)置預(yù)設(shè)條件包括:該失敗原因?yàn)榫W(wǎng)絡(luò)狀態(tài)異?;蛘咴贫朔?wù)器的負(fù)載過(guò)大;也即步驟“判斷該失敗原因是否滿足預(yù)設(shè)條件”可以包括:
當(dāng)該失敗原因?yàn)榫W(wǎng)絡(luò)狀態(tài)異常或者云端服務(wù)器的負(fù)載過(guò)大時(shí),則確定該失敗原因滿足預(yù)設(shè)條件。
此時(shí),在數(shù)據(jù)同步請(qǐng)求發(fā)送失敗的情況下的步驟“將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器”可以包括:在該網(wǎng)絡(luò)狀態(tài)恢復(fù)正?;蛘咴撛贫朔?wù)器的負(fù)載小于預(yù)設(shè)閾值時(shí),將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
本實(shí)施例可以通過(guò)失敗原因以及預(yù)設(shè)條件來(lái)確定當(dāng)前數(shù)據(jù)同步失敗為是否會(huì)引發(fā)同步重發(fā)機(jī)制的同步失敗,進(jìn)而可以針對(duì)該類同步失敗,將同步數(shù)據(jù)緩存至數(shù)據(jù)緩存區(qū)域內(nèi),之后進(jìn)行重新同步;不僅可以減少與云端服務(wù)器的同步次數(shù),降低云端服務(wù)器的負(fù)載,又可以保證其他同步失敗的數(shù)據(jù)可以及時(shí)同步到服務(wù)器,提高了數(shù)據(jù)同步的及時(shí)性。
可選地,為了保證同步數(shù)據(jù)的準(zhǔn)確性和一致性,在判斷數(shù)據(jù)類型為預(yù)設(shè)數(shù)據(jù)類型,且將目標(biāo)數(shù)據(jù)添加到數(shù)據(jù)存儲(chǔ)區(qū)域,在間隔預(yù)設(shè)時(shí)間段之后進(jìn)行數(shù)據(jù)同步的情況下,如果在預(yù)設(shè)時(shí)間段內(nèi)目標(biāo)數(shù)據(jù)發(fā)生變化,則更新數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的目標(biāo)數(shù)據(jù);也即在判斷數(shù)據(jù)類型為預(yù)設(shè)數(shù)據(jù)類型情況下,步驟“將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域”與步驟“將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器”之間,還可以包括:
在該預(yù)設(shè)時(shí)間段內(nèi),若檢測(cè)到該目標(biāo)數(shù)據(jù)發(fā)生變化,則根據(jù)變化后的目標(biāo)數(shù)據(jù)更新該數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)。
在將數(shù)據(jù)添加到數(shù)據(jù)緩存區(qū)域包括將同步命令添加至數(shù)據(jù)存儲(chǔ)區(qū)域的情況下,步驟“根據(jù)變化后的目標(biāo)數(shù)據(jù)更新該數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)”可以包括:
將該變化后的目標(biāo)數(shù)據(jù)切割成多個(gè)新數(shù)據(jù)塊,并對(duì)該新數(shù)據(jù)塊進(jìn)行組裝,得到該云端服務(wù)器可識(shí)別的新同步命令
根據(jù)該新同步命令更新數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的同步命令。如可以將數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的同步命令刪除,然后,將新同步命令添加至數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi),以達(dá)到更新同步命令更新。
由上可知,本發(fā)明實(shí)施例采用確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型,然后,判斷該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型,若否,則將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域,在間隔預(yù)設(shè)時(shí)間段之后將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。該方案可以將特定數(shù)據(jù)類型的待同步數(shù)據(jù)添加到數(shù)據(jù)緩存區(qū)域,在間隔預(yù)設(shè)時(shí)間段后再與云端服務(wù)器進(jìn)行該特定數(shù)據(jù)類型的數(shù)據(jù)的同步,減少了針對(duì)該特定數(shù)據(jù)類型的數(shù)據(jù)與云端服務(wù)器進(jìn)行數(shù)據(jù)同步的次數(shù),以及減少對(duì)同步模塊的訪問(wèn),因此,相對(duì)于現(xiàn)有技術(shù)而言,可以降低云端服務(wù)器的負(fù)載以及降低了對(duì)同步模塊頻繁訪問(wèn)帶來(lái)的交互風(fēng)險(xiǎn)。
此外,本發(fā)明實(shí)施例還可以在由于網(wǎng)絡(luò)狀態(tài)不穩(wěn)定或者服務(wù)器負(fù)載較大導(dǎo)致數(shù)據(jù)同步失敗時(shí),將同步數(shù)據(jù)添加到數(shù)據(jù)緩存區(qū)域內(nèi),并且在網(wǎng)絡(luò)狀態(tài)恢復(fù)或者服務(wù)器負(fù)載下降時(shí)再次將數(shù)據(jù)緩存區(qū)域內(nèi)的數(shù)據(jù)同步至服務(wù)器,避免了數(shù)據(jù)同步失敗時(shí)頻繁與服務(wù)器進(jìn)行數(shù)據(jù)同步,進(jìn)一步降低了云端服務(wù)器的負(fù)載。
實(shí)施例二、
本實(shí)施例將在實(shí)施例一所述方法的基礎(chǔ)上作進(jìn)一步描述。
本實(shí)施例以實(shí)施例一的數(shù)據(jù)同步裝置集成在終端為例來(lái)作詳細(xì)說(shuō)明。
參考圖2,本實(shí)施例提供了一種數(shù)據(jù)同步系統(tǒng),該系統(tǒng)包括:服務(wù)器以及數(shù)據(jù)同步裝置,其中,該數(shù)據(jù)同步裝置具體可以集成在終端中,該終端可以手機(jī)、平板電腦、筆記本電腦等設(shè)備。該服務(wù)器與終端可通過(guò)有線或無(wú)線網(wǎng)絡(luò)連接。
以下基于該數(shù)據(jù)同步系統(tǒng)來(lái)詳細(xì)介紹本發(fā)明的數(shù)據(jù)同步方法,如圖3所示,一種數(shù)據(jù)同步方法,具體流程如下:
301、終端確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型。
比如,終端接收數(shù)據(jù)同步指令,根據(jù)數(shù)據(jù)同步指令確定目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型,該數(shù)據(jù)同步指令指示需要同步的目標(biāo)數(shù)據(jù)。該數(shù)據(jù)同步指令可以由數(shù)據(jù)發(fā)生變化觸發(fā),也可以由用戶進(jìn)行操作觸發(fā)等等。
其中,目標(biāo)數(shù)據(jù)可以為短信數(shù)據(jù)、通話記錄數(shù)據(jù)、通訊錄數(shù)據(jù)等等。
其中,數(shù)據(jù)類型可以采用多種分類方式對(duì)數(shù)據(jù)進(jìn)行分類得到,可選地,可以根據(jù)數(shù)據(jù)變化的頻率或者次數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分類,得到數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型。
比如,數(shù)據(jù)類型可以包括:數(shù)據(jù)變化頻繁型、數(shù)據(jù)變化較少型、數(shù)據(jù)變化一般型等等數(shù)據(jù)類型。
302、終端判斷該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型,若是,則執(zhí)行步驟303,若否,則執(zhí)行步驟305。
其中,預(yù)設(shè)數(shù)據(jù)類型可以根據(jù)用戶的實(shí)際需求設(shè)定;如,以根據(jù)數(shù)據(jù)變化的頻率或者次數(shù)對(duì)數(shù)據(jù)分類為例;為了減少與云端服務(wù)器進(jìn)行該類數(shù)據(jù)的同步,預(yù)設(shè)數(shù)據(jù)類型可以包括:數(shù)據(jù)變化頻繁型、或者數(shù)據(jù)變化一般型等等;此時(shí),若目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型為數(shù)據(jù)變化頻繁型,則判斷目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)量類型為預(yù)設(shè)數(shù)據(jù)類型。
303、終端將該目標(biāo)數(shù)據(jù)切割成多個(gè)數(shù)據(jù)塊,對(duì)該數(shù)據(jù)塊進(jìn)行組裝,得到該云端服務(wù)器可識(shí)別的同步命令,并將同步命令添加至數(shù)據(jù)存儲(chǔ)區(qū)域。
比如,終端可以復(fù)制一份目標(biāo)數(shù)據(jù),并將復(fù)制的目標(biāo)數(shù)據(jù)切割成多個(gè)數(shù)據(jù)塊。以下本實(shí)施例該的目標(biāo)數(shù)據(jù)可以為目標(biāo)數(shù)據(jù)的復(fù)制數(shù)據(jù),也可以為目標(biāo)數(shù)據(jù)本身。
其中,切割的方式可以有多種,比如可以將目標(biāo)數(shù)據(jù)切割成多個(gè)大小相同或者不相同的數(shù)據(jù)塊。
為了加快數(shù)據(jù)同步速度,本實(shí)施例可以預(yù)先對(duì)數(shù)據(jù)塊進(jìn)行協(xié)議組裝,將其組裝成服務(wù)器可識(shí)別的同步命令,比如,可以獲取與該云端服務(wù)器通訊協(xié)議文件,根據(jù)該通訊協(xié)議文件對(duì)數(shù)據(jù)塊進(jìn)行組裝。
304、在間隔預(yù)設(shè)時(shí)間段之后,終端將數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的同步命令發(fā)送給服務(wù)器。
比如,在間隔預(yù)設(shè)時(shí)間段之后,向云端服務(wù)器發(fā)送同步命令,以將目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
其中,預(yù)設(shè)時(shí)間段可以根據(jù)實(shí)際需求設(shè)定,比如,2分鐘、8分鐘、半個(gè)小時(shí)、2個(gè)小時(shí)等等。該預(yù)設(shè)時(shí)間段的時(shí)間起點(diǎn)可以是判斷數(shù)據(jù)類型是為預(yù)設(shè)數(shù)據(jù)類型之后的任一時(shí)刻。
可選地,為提高數(shù)據(jù)同步的準(zhǔn)確性,本實(shí)施例若在預(yù)設(shè)時(shí)間段內(nèi)檢測(cè)到目標(biāo)數(shù)據(jù)發(fā)生變化,則根據(jù)變化后的目標(biāo)數(shù)據(jù)對(duì)同步命令進(jìn)行更新。比如,復(fù)制一份變化后的目標(biāo)數(shù)據(jù),然后,根據(jù)復(fù)制的目標(biāo)數(shù)據(jù)對(duì)數(shù)據(jù)緩存區(qū)域內(nèi)的同步命令進(jìn)行更新。
具體地,將該變化后的目標(biāo)數(shù)據(jù)(可以為變化后目標(biāo)數(shù)據(jù)的復(fù)制數(shù)據(jù))切割成多個(gè)新數(shù)據(jù)塊,并對(duì)該新數(shù)據(jù)塊進(jìn)行組裝,得到該云端服務(wù)器可識(shí)別的新同步命令,根據(jù)該新同步命令更新數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的同步命令。如可以將數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的同步命令替換為新同步命令。
305、終端向服務(wù)器發(fā)送攜帶目標(biāo)數(shù)據(jù)的數(shù)據(jù)同步請(qǐng)求。
本實(shí)施例在判斷數(shù)據(jù)類型不為預(yù)設(shè)數(shù)據(jù)類型時(shí)可以實(shí)時(shí)與云端服務(wù)器進(jìn)行數(shù)據(jù)同步,以保證數(shù)據(jù)同步的及時(shí)性。
服務(wù)器可以根據(jù)數(shù)據(jù)同步請(qǐng)求對(duì)目標(biāo)數(shù)據(jù)進(jìn)行存儲(chǔ)。
306、當(dāng)數(shù)據(jù)請(qǐng)求發(fā)送失敗時(shí),終端確定該數(shù)據(jù)同步請(qǐng)求發(fā)送失敗的失敗原因。
其中,數(shù)據(jù)同步失敗即數(shù)據(jù)同步請(qǐng)求發(fā)送失敗的失敗原因可以有多種,比如失敗原因可以包括:網(wǎng)絡(luò)狀態(tài)異?;蛘卟环€(wěn)定、云端服務(wù)器的負(fù)載過(guò)大、終端的可用資源過(guò)少、服務(wù)器超時(shí)等等。
307、終端判斷該失敗原因是否為網(wǎng)絡(luò)狀態(tài)異?;蛘叻?wù)器負(fù)載過(guò)大,若是,則執(zhí)行步驟308,若否,則執(zhí)行步驟310。
308、終端將該目標(biāo)數(shù)據(jù)切割成多個(gè)數(shù)據(jù)塊,對(duì)該數(shù)據(jù)塊進(jìn)行組裝,得到該云端服務(wù)器可識(shí)別的同步命令,并將同步命令添加至數(shù)據(jù)存儲(chǔ)區(qū)域。
為避免數(shù)據(jù)同步失敗進(jìn)行多次重試同步導(dǎo)致頻繁訪問(wèn)云端服務(wù)器的問(wèn)題,本實(shí)施例當(dāng)數(shù)據(jù)同步失敗時(shí)將本次同步數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域內(nèi),之后再重新進(jìn)行數(shù)據(jù)同步,以減少訪問(wèn)云端服務(wù)器的次數(shù),降低服務(wù)器的負(fù)載。
309、終端在該網(wǎng)絡(luò)狀態(tài)恢復(fù)正常或者該云端服務(wù)器的負(fù)載小于預(yù)設(shè)閾值時(shí),將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
310、終端重新向服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求。
由上可知,本發(fā)明實(shí)施例采用確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型,然后,判斷該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型,若否,則將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域,在間隔預(yù)設(shè)時(shí)間段之后將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。該方案可以將特定數(shù)據(jù)類型的待同步數(shù)據(jù)添加到數(shù)據(jù)緩存區(qū)域,在間隔預(yù)設(shè)時(shí)間段后再與云端服務(wù)器進(jìn)行該特定數(shù)據(jù)類型的數(shù)據(jù)的同步,減少了針對(duì)該特定數(shù)據(jù)類型的數(shù)據(jù)與云端服務(wù)器進(jìn)行數(shù)據(jù)同步的次數(shù),以及減少對(duì)同步模塊的訪問(wèn),因此,相對(duì)于現(xiàn)有技術(shù)而言,可以降低云端服務(wù)器的負(fù)載以及降低了對(duì)同步模塊頻繁訪問(wèn)帶來(lái)的交互風(fēng)險(xiǎn)。
此外,本發(fā)明實(shí)施例還可以在由于網(wǎng)絡(luò)狀態(tài)不穩(wěn)定或者服務(wù)器負(fù)載較大導(dǎo)致數(shù)據(jù)同步失敗時(shí),將同步數(shù)據(jù)添加到數(shù)據(jù)緩存區(qū)域內(nèi),并且在網(wǎng)絡(luò)狀態(tài)恢復(fù)或者服務(wù)器負(fù)載下降時(shí)再次將數(shù)據(jù)緩存區(qū)域內(nèi)的數(shù)據(jù)同步至服務(wù)器,避免了數(shù)據(jù)同步失敗時(shí)頻繁與服務(wù)器進(jìn)行數(shù)據(jù)同步,進(jìn)一步降低了云端服務(wù)器的負(fù)載。
實(shí)施例三、
為了更好地實(shí)施以上方法,本發(fā)明實(shí)施例還提供一種數(shù)據(jù)同步裝置40,如圖4所示,該數(shù)據(jù)同步裝置40包括第一確定單元401、第一判斷單元402、添加單元403和第一同步單元404,如下:
第一確定單元401,用于確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型;
第一判斷單元402,用于判斷該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型
添加單元403,用于在第一判斷單元402判斷該數(shù)據(jù)類型為預(yù)設(shè)數(shù)據(jù)類型時(shí),將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域;
第一同步單元404,用于在間隔預(yù)設(shè)時(shí)間段之后,將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
可選地,參考圖5,為保證數(shù)據(jù)實(shí)時(shí)同步,本實(shí)施例數(shù)據(jù)同步裝置還包括:第二同步單元405;
該第二同步單元,用于在該第一判斷單元判斷該數(shù)據(jù)類型不為預(yù)設(shè)數(shù)據(jù)類型時(shí),向該云端服務(wù)器發(fā)送攜帶該目標(biāo)數(shù)據(jù)的數(shù)據(jù)同步請(qǐng)求,以將該目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
可選地,參考圖6,為了減少因同步失敗導(dǎo)致頻繁與服務(wù)器進(jìn)行重試同步的次數(shù),降低服務(wù)器負(fù)載,本實(shí)施例數(shù)據(jù)庫(kù)同步裝置還可以包括:第二確定單元406、第二判斷單元407以及第三同步單元408;
該第二確定單元406,用于當(dāng)該數(shù)據(jù)同步請(qǐng)求發(fā)送失敗時(shí),確定該數(shù)據(jù)同步請(qǐng)求發(fā)送失敗的失敗原因;
該第二判斷單元407,用于判斷該失敗原因是否滿足預(yù)設(shè)條件;
該第三同步單元408,用于在第二判斷單元407判斷失敗原因滿足預(yù)設(shè)條件時(shí),將該目標(biāo)數(shù)據(jù)添加至該數(shù)據(jù)緩存區(qū)域,將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
具體地,該第二判斷單元407,具體用于當(dāng)該失敗原因?yàn)榫W(wǎng)絡(luò)狀態(tài)異?;蛘咴贫朔?wù)器的負(fù)載過(guò)大時(shí),則確定該失敗原因滿足預(yù)設(shè)條件;
此時(shí),第三同步單元408,具體用于在該網(wǎng)絡(luò)狀態(tài)恢復(fù)正?;蛘咴撛贫朔?wù)器的負(fù)載小于預(yù)設(shè)閾值時(shí),將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
可選地,為了提高數(shù)據(jù)同步速率,本實(shí)施例中添加單元403,可以具體用于:
將該目標(biāo)數(shù)據(jù)切割成多個(gè)數(shù)據(jù)塊;
對(duì)該數(shù)據(jù)塊進(jìn)行組裝,得到該云端服務(wù)器可識(shí)別的同步命令;
將該同步命令添加至該數(shù)據(jù)存儲(chǔ)區(qū)域;
該第一同步單元,具體用于將該數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的同步命令發(fā)送給該云端服務(wù)器。
可選地,為提高數(shù)據(jù)同步的準(zhǔn)確性,參考圖7,本實(shí)施例數(shù)據(jù)同步裝置還可以包括更新單元409;
該更新單元409,用于在該添加單元403該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域之后,該第一同步單元404將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器之前,在該預(yù)設(shè)時(shí)間段內(nèi),若檢測(cè)到該目標(biāo)數(shù)據(jù)發(fā)生變化,則根據(jù)變化后的目標(biāo)數(shù)據(jù)更新該數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)。
具體實(shí)施時(shí),以上各個(gè)單元可以作為獨(dú)立的實(shí)體來(lái)實(shí)現(xiàn),也可以進(jìn)行任意組合,作為同一或若干個(gè)實(shí)體來(lái)實(shí)現(xiàn),以上各個(gè)單元的具體實(shí)施可參見前面的方法實(shí)施例,在此不再贅述。
該數(shù)據(jù)同步裝置具體可以集成終端中,比如集成在手機(jī)、筆記本電腦、平板電腦等設(shè)備中。
由上可知,本發(fā)明實(shí)施例采用第一確定單元401確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型,然后,由第一判斷單元402判斷該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型,若否,則由添加單元403將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域,由第一同步單元404在間隔預(yù)設(shè)時(shí)間段之后將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。該方案可以將特定數(shù)據(jù)類型的待同步數(shù)據(jù)添加到數(shù)據(jù)緩存區(qū)域,在間隔預(yù)設(shè)時(shí)間段后再與云端服務(wù)器進(jìn)行該特定數(shù)據(jù)類型的數(shù)據(jù)的同步,減少了針對(duì)該特定數(shù)據(jù)類型的數(shù)據(jù)與云端服務(wù)器進(jìn)行數(shù)據(jù)同步的次數(shù),以及減少對(duì)同步模塊的訪問(wèn),因此,相對(duì)于現(xiàn)有技術(shù)而言,可以降低云端服務(wù)器的負(fù)載以及降低了對(duì)同步模塊頻繁訪問(wèn)帶來(lái)的交互風(fēng)險(xiǎn)。
此外,本發(fā)明實(shí)施例還可以在由于網(wǎng)絡(luò)狀態(tài)不穩(wěn)定或者服務(wù)器負(fù)載較大導(dǎo)致數(shù)據(jù)同步失敗時(shí),將同步數(shù)據(jù)添加到數(shù)據(jù)緩存區(qū)域內(nèi),并且在網(wǎng)絡(luò)狀態(tài)恢復(fù)或者服務(wù)器負(fù)載下降時(shí)再次將數(shù)據(jù)緩存區(qū)域內(nèi)的數(shù)據(jù)同步至服務(wù)器,避免了數(shù)據(jù)同步失敗時(shí)頻繁與服務(wù)器進(jìn)行數(shù)據(jù)同步,進(jìn)一步降低了云端服務(wù)器的負(fù)載。
實(shí)施例四、
本發(fā)明還提供一種終端,如平板電腦、手機(jī)等移動(dòng)終端,請(qǐng)參閱圖8,圖8為本發(fā)明實(shí)施例提供的移動(dòng)終端結(jié)構(gòu)示意圖。該移動(dòng)終端500可以包括射頻(RF,Radio Frequency)電路501、包括有一個(gè)或一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的存儲(chǔ)器502、輸入單元503、顯示單元504、傳感器504、音頻電路506、無(wú)線保真(WiFi,Wireless Fidelity)模塊507、包括有一個(gè)或者一個(gè)以上處理核心的處理器508、以及電源509等部件。本領(lǐng)域技術(shù)人員可以理解,圖8中示出的移動(dòng)終端結(jié)構(gòu)并不構(gòu)成對(duì)移動(dòng)終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
射頻電路501可用于收發(fā)信息,或通話過(guò)程中信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個(gè)或者一個(gè)以上處理器508處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,射頻電路501包括但不限于天線、至少一個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、用戶身份模塊(SIM,Subscriber Identity Module)卡、收發(fā)信機(jī)、耦合器、低噪聲放大器(LNA,Low Noise Amplifier)、雙工器等。此外,射頻電路501還可以通過(guò)無(wú)線通信與網(wǎng)絡(luò)和其他設(shè)備通信。該無(wú)線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(GSM,Global System of Mobile communication)、通用分組無(wú)線服務(wù)(GPRS,General Packet Radio Service)、碼分多址(CDMA,Code Division Multiple Access)、寬帶碼分多址(WCDMA,Wideband Code Division Multiple Access)、長(zhǎng)期演進(jìn)(LTE,Long Term Evolution)、電子郵件、短消息服務(wù)(SMS,Short Messaging Service)等。
存儲(chǔ)器502可用于存儲(chǔ)應(yīng)用程序和數(shù)據(jù)。存儲(chǔ)器502存儲(chǔ)的應(yīng)用程序中包含有可執(zhí)行代碼。應(yīng)用程序可以組成各種功能模塊。處理器508通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器502的應(yīng)用程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器502可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)移動(dòng)終端的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器502可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。相應(yīng)地,存儲(chǔ)器502還可以包括存儲(chǔ)器控制器,以提供處理器508和輸入單元503對(duì)存儲(chǔ)器502的訪問(wèn)。
輸入單元503可用于接收輸入的數(shù)字、字符信息或用戶特征信息(比如指紋),以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號(hào)輸入。具體地,在一個(gè)具體的實(shí)施例中,輸入單元503可包括觸敏表面以及其他輸入設(shè)備。觸敏表面,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面上或在觸敏表面附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置。可選的,觸敏表面可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器508,并能接收處理器508發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸敏表面。除了觸敏表面,輸入單元503還可以包括其他輸入設(shè)備。具體地,其他輸入設(shè)備可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、指紋識(shí)別模組、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元504可用于顯示由用戶輸入的信息或提供給用戶的信息以及移動(dòng)終端的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來(lái)構(gòu)成。顯示單元504可包括顯示面板??蛇x的,可以采用液晶顯示器(LCD,Liquid Crystal Display)、有機(jī)發(fā)光二極管(OLED,Organic Light-Emitting Diode)等形式來(lái)配置顯示面板。進(jìn)一步的,觸敏表面可覆蓋顯示面板,當(dāng)觸敏表面檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器508以確定觸摸事件的類型,隨后處理器508根據(jù)觸摸事件的類型在顯示面板上提供相應(yīng)的視覺輸出。雖然在圖8中,觸敏表面與顯示面板是作為兩個(gè)獨(dú)立的部件來(lái)實(shí)現(xiàn)輸入和輸入功能,但是在某些實(shí)施例中,可以將觸敏表面與顯示面板集成而實(shí)現(xiàn)輸入和輸出功能。
移動(dòng)終端還可包括至少一種傳感器505,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來(lái)調(diào)節(jié)顯示面板的亮度,接近傳感器可在移動(dòng)終端移動(dòng)到耳邊時(shí),關(guān)閉顯示面板和/或背光。作為運(yùn)動(dòng)傳感器的一種,重力加速度傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于移動(dòng)終端還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路506可通過(guò)揚(yáng)聲器、傳聲器提供用戶與移動(dòng)終端之間的音頻接口。音頻電路506可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換成電信號(hào),傳輸?shù)綋P(yáng)聲器,由揚(yáng)聲器轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路506接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器508處理后,經(jīng)射頻電路501以發(fā)送給比如另一移動(dòng)終端,或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器502以便進(jìn)一步處理。音頻電路506還可能包括耳塞插孔,以提供外設(shè)耳機(jī)與移動(dòng)終端的通信。
無(wú)線保真(WiFi)屬于短距離無(wú)線傳輸技術(shù),移動(dòng)終端通過(guò)無(wú)線保真模塊507可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)和訪問(wèn)流式媒體等,它為用戶提供了無(wú)線的寬帶互聯(lián)網(wǎng)訪問(wèn)。雖然圖8示出了無(wú)線保真模塊507,但是可以理解的是,其并不屬于移動(dòng)終端的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器508是移動(dòng)終端的控制中心,利用各種接口和線路連接整個(gè)移動(dòng)終端的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器502內(nèi)的應(yīng)用程序,以及調(diào)用存儲(chǔ)在存儲(chǔ)器502內(nèi)的數(shù)據(jù),執(zhí)行移動(dòng)終端的各種功能和處理數(shù)據(jù),從而對(duì)移動(dòng)終端進(jìn)行整體監(jiān)控??蛇x的,處理器508可包括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器508可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器508中。
移動(dòng)終端還包括給各個(gè)部件供電的電源509(比如電池)。優(yōu)選的,電源可以通過(guò)電源管理系統(tǒng)與處理器508邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。電源509還可以包括一個(gè)或一個(gè)以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測(cè)電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
盡管圖8中未示出,移動(dòng)終端還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。
具體在本實(shí)施例中,移動(dòng)終端中的處理器508會(huì)按照如下的指令,將一個(gè)或一個(gè)以上的應(yīng)用程序的進(jìn)程對(duì)應(yīng)的可執(zhí)行代碼加載到存儲(chǔ)器502中,并由處理器508來(lái)運(yùn)行存儲(chǔ)在存儲(chǔ)器502中的應(yīng)用程序,從而實(shí)現(xiàn)各種功能:
確定待同步的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型,然后,判斷該目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型是否為預(yù)設(shè)數(shù)據(jù)類型,若否,則將該目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域,在間隔預(yù)設(shè)時(shí)間段之后將該數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
處理器508還用于實(shí)現(xiàn)以下功能:當(dāng)所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)類型不為預(yù)設(shè)數(shù)據(jù)類型時(shí),向所述云端服務(wù)器發(fā)送攜帶所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)同步請(qǐng)求,以將所述目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
在某些實(shí)施方式中,處理器508還用于實(shí)現(xiàn)以下功能:當(dāng)所述數(shù)據(jù)同步請(qǐng)求發(fā)送失敗時(shí),確定所述數(shù)據(jù)同步請(qǐng)求發(fā)送失敗的失敗原因;
判斷所述失敗原因是否滿足預(yù)設(shè)條件;
若滿足預(yù)設(shè)條件,則將所述目標(biāo)數(shù)據(jù)添加至所述數(shù)據(jù)緩存區(qū)域;
將所述數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器。
在某些實(shí)施方式中,處理器508可以將所述目標(biāo)數(shù)據(jù)切割成多個(gè)數(shù)據(jù)塊;對(duì)所述數(shù)據(jù)塊進(jìn)行組裝,得到所述云端服務(wù)器可識(shí)別的同步命令;將所述同步命令添加至所述數(shù)據(jù)存儲(chǔ)區(qū)域,所述數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的同步命令發(fā)送給所述云端服務(wù)器。
在某些實(shí)施方式中,處理器508還用于實(shí)現(xiàn)以下功能:在將所述目標(biāo)數(shù)據(jù)添加至數(shù)據(jù)緩存區(qū)域之后,將所述數(shù)據(jù)緩存區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)同步至云端服務(wù)器之前,在所述預(yù)設(shè)時(shí)間段內(nèi),若檢測(cè)到所述目標(biāo)數(shù)據(jù)發(fā)生變化,則根據(jù)變化后的目標(biāo)數(shù)據(jù)更新所述數(shù)據(jù)存儲(chǔ)區(qū)域內(nèi)的目標(biāo)數(shù)據(jù)。
在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見上文針對(duì)數(shù)據(jù)同步方法的詳細(xì)描述,此處不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存取記憶體(RAM,Random Access Memory)、磁盤或光盤等。
以上對(duì)本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)同步方法和裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。