亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種移動設(shè)備上基于增量更新的異構(gòu)數(shù)據(jù)同步方案的制作方法

文檔序號:9352890閱讀:743來源:國知局
一種移動設(shè)備上基于增量更新的異構(gòu)數(shù)據(jù)同步方案的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于移動電子設(shè)備數(shù)據(jù)處理領(lǐng)域,可用于服務(wù)器與移動電子設(shè)備之間的高效數(shù)據(jù)同步。
技術(shù)背景
[0002]移動電子設(shè)備經(jīng)常會有需要同服務(wù)器保持?jǐn)?shù)據(jù)同步的需求,通常這是通過TCP或者HTTP協(xié)議來進(jìn)行數(shù)據(jù)傳遞,并且在此之上實(shí)現(xiàn)一種業(yè)務(wù)層協(xié)議來達(dá)到目的。之前的一些解決方案以及本文的解決方案都是一種建立在網(wǎng)絡(luò)、傳輸層或者應(yīng)用層之上的業(yè)務(wù)層協(xié)議。與本發(fā)明最接近的現(xiàn)有技術(shù)有全量更新技術(shù)方案和簡單的增量同步技術(shù)方案。
[0003]全量更新的解決方案是指每次同步都需要把全部數(shù)據(jù)從服務(wù)器拉下來,直接覆蓋本地數(shù)據(jù)以達(dá)到數(shù)據(jù)同步的目的。此方案一般采取分頁的方式來減少每次的等待時間和傳輸數(shù)據(jù)量,有一種變形的全量同步方案是每次分頁拉取極少的核心數(shù)據(jù),例如:數(shù)據(jù)的ID,這樣來進(jìn)一步減少等待時間和數(shù)據(jù)量。其優(yōu)點(diǎn)是,容錯性高。其缺點(diǎn)是:每次更新數(shù)據(jù)量大,等待時間長,服務(wù)器和移動設(shè)備計算壓力都比較大。
[0004]簡單的增量同步方案是指每次同步只是拉取變化了的數(shù)據(jù),例如,增加的、刪除的或變更的數(shù)據(jù)條目。該方法只作用于一種數(shù)據(jù),無法同時進(jìn)行多種數(shù)據(jù)的同步,并且在極端情況下會出現(xiàn)單次更新巨量數(shù)據(jù)以及數(shù)據(jù)錯誤無法恢復(fù)的情況。

【發(fā)明內(nèi)容】

[0005]本發(fā)明要解決的技術(shù)問題是,建立在簡單增量同步的方案之上,解決多種異構(gòu)數(shù)據(jù)同時進(jìn)行數(shù)據(jù)同步、每次更新數(shù)據(jù)規(guī)??煽亍⑻峁┤蒎e。
[0006]為解決上述技術(shù)問題,本發(fā)明提供一種移動設(shè)備上基于增量更新的異構(gòu)數(shù)據(jù)同步方案設(shè)備端同步方法,主要包括以下幾個步驟:
(11)在設(shè)備端取出待更新同步數(shù)據(jù)列表,并從中獲取待同步數(shù)據(jù);
(12)確定待同步數(shù)據(jù)的數(shù)據(jù)類型、更新方向,并在設(shè)備端本地數(shù)據(jù)庫中的獲取已同步數(shù)據(jù)的最早或最晚時間,構(gòu)建待同步數(shù)據(jù)參數(shù);
(13)將待同步數(shù)據(jù)參數(shù)按照協(xié)議要求發(fā)送至服務(wù)器端,并接收服務(wù)器端數(shù)據(jù)響應(yīng);
(14)根據(jù)服務(wù)器端數(shù)據(jù)響應(yīng)判斷是否有clear標(biāo)識,若無則將待同步數(shù)據(jù)與已同步數(shù)據(jù)直接合并為同步數(shù)據(jù),若有則需先清理已同步數(shù)據(jù)后在進(jìn)行合并;
(15)根據(jù)服務(wù)器端數(shù)據(jù)響應(yīng)判斷是否有結(jié)束標(biāo)識,若有則同步數(shù)據(jù)向前更新結(jié)束,若無則繼續(xù)下一步判斷;
(16)判斷數(shù)據(jù)條數(shù)是否為0,若是則同步數(shù)據(jù)暫時更新結(jié)束,否則繼續(xù)下一步判斷;
(17)判斷數(shù)據(jù)條數(shù)是否全部為0,若是同步數(shù)據(jù)更新結(jié)束,否則繼續(xù)循環(huán)步驟(11)到步驟(17)。
[0007]進(jìn)一步,步驟(13)主要包括以下幾個步驟:
(21)服務(wù)器端收到設(shè)備端數(shù)據(jù)同步請求; (22)循環(huán)同步請求中的待同步數(shù)據(jù)參數(shù);
(23)查找待同步數(shù)據(jù)更新方向;
若向前,判斷是否已有傳入時間,若無則返回步驟(22),若有則以待同步數(shù)據(jù)類型和傳入時間向前查詢100條數(shù)據(jù),取出所查數(shù)據(jù)的最早同步時間,并告知設(shè)備端向前更新是否完成;
若向后,判斷是否已有傳入時間,若有則以待同步數(shù)據(jù)類型和傳入時間向后查詢100條數(shù)據(jù),取出所查數(shù)據(jù)的最晚同步時間;若無則取一月前的時間作為傳入時間以待同步數(shù)據(jù)類型和傳入時間向后查詢100條數(shù)據(jù),取出所查數(shù)據(jù)的最晚同步時間;
(24)以最早同步時間及最晚同步時間對待同步數(shù)據(jù)進(jìn)行查詢,組成數(shù)據(jù)列表;
(25)獲取外部clear指令同數(shù)據(jù)列表構(gòu)建服務(wù)器端數(shù)據(jù)響應(yīng);
(26)將數(shù)據(jù)響應(yīng)返回設(shè)備端。
[0008]進(jìn)一步,服務(wù)器端僅記錄數(shù)據(jù)最終的狀態(tài)并不用記錄待同步數(shù)據(jù)變化的過程,對于每條待同步數(shù)據(jù),僅記錄變化的時間。
[0009]進(jìn)一步,服務(wù)器端的數(shù)據(jù)響應(yīng)中clear標(biāo)識,表明設(shè)備端受到數(shù)據(jù)響應(yīng)后是否需要清理已同步數(shù)據(jù)。
[0010]進(jìn)一步,服務(wù)器端傳回clear標(biāo)識情況包括:
服務(wù)器端時間進(jìn)行了人為的修改,或?qū)е聲r間異常的錯誤;
設(shè)備端上傳的最早時間比服務(wù)器端當(dāng)前時間至少早三個月。
[0011]進(jìn)一步,步驟(14)中,設(shè)備端清理已同步數(shù)據(jù)情況包括:
用戶手動清除數(shù)據(jù)緩存;
接收到服務(wù)器端的clear標(biāo)識。
[0012]進(jìn)一步,分別給服務(wù)器端和設(shè)備端一種清理數(shù)據(jù)的機(jī)制,即可達(dá)到容錯的目的。
[0013]本方法與現(xiàn)有簡單增量同步的方案相比,具有以下幾點(diǎn)優(yōu)勢:采用數(shù)據(jù)完全獨(dú)立的方式進(jìn)行多數(shù)據(jù)同步,如果不進(jìn)行獨(dú)立,在服務(wù)器端必須構(gòu)建一個時間索引,復(fù)雜程度過高;采用分頁加補(bǔ)全的方式來保證數(shù)據(jù)量可控,并且保證數(shù)據(jù)完整;采用兩端皆可進(jìn)行數(shù)據(jù)清空的方式,來避免增量更新中數(shù)據(jù)錯誤無法糾正的情況。完善地解決了增量更新在異構(gòu)數(shù)據(jù)同步中的應(yīng)用,并且?guī)砹巳蒎e性和交互中的數(shù)據(jù)量可控??梢詰?yīng)用于多種需要數(shù)據(jù)同步的場景。
[0014]結(jié)合附圖閱讀本發(fā)明實(shí)施方式的詳細(xì)描述后,本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)將變得更加清楚。
【附圖說明】
[0015]下面結(jié)合附圖與【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明:
圖1為一種移動設(shè)備上基于增量更新的異構(gòu)數(shù)據(jù)同步方案設(shè)備端數(shù)據(jù)同步方法的流程圖;
圖2為一種移動設(shè)備上基于增量更新的異構(gòu)數(shù)據(jù)同步方案服務(wù)器端數(shù)據(jù)同步方法的流程圖。
【具體實(shí)施方式】
[0016]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將對本發(fā)明的【具體實(shí)施方式】作進(jìn)一步的詳細(xì)描述。
[0017]參見圖1,本實(shí)施例的適用于一種移動設(shè)備上基于增量更新的異構(gòu)數(shù)據(jù)同步方案設(shè)備端數(shù)據(jù)同步方法的流程圖。流程圖包括以下幾個步驟:
(11)在設(shè)備端取出待更新同步數(shù)據(jù)列表,并從中獲取待同步數(shù)據(jù);
例如:有A,B, C三種數(shù)據(jù)需要同步,取出待更新同步數(shù)據(jù)列表得到A,B, C三種待同步數(shù)據(jù)。
[0018](12)確定待同步數(shù)據(jù)的數(shù)據(jù)類型、更新方向,并在設(shè)備端本地數(shù)據(jù)庫中的獲取已同步數(shù)據(jù)的最早或最晚時間,構(gòu)建待同步數(shù)據(jù)參數(shù);
待同步數(shù)據(jù)參數(shù)可以定義為:[{數(shù)據(jù):A,方向:向前,時間:1435455566},{數(shù)據(jù):B,方向:向前,時間:14354644774},{數(shù)據(jù):C,方向:向前,時間:1435455856},]。
[0019](13)將待同步數(shù)據(jù)參數(shù)按照協(xié)議要求發(fā)送至服務(wù)器端,并接收服務(wù)器端數(shù)據(jù)響應(yīng);
(14)根據(jù)服務(wù)器端數(shù)據(jù)響應(yīng)判斷是否有clear標(biāo)識,若無則將待同步數(shù)據(jù)與已同步數(shù)據(jù)直接合并為同步數(shù)據(jù),若有則需先清理已同步數(shù)據(jù)后在進(jìn)行合并;
設(shè)備端清理已同步數(shù)據(jù)情況包括:
用戶手動清除數(shù)據(jù)緩存;接收到服務(wù)器端的clear標(biāo)識。
[0020](15)根據(jù)服務(wù)器端數(shù)據(jù)響應(yīng)判斷是否有結(jié)束標(biāo)識,若有則同步數(shù)據(jù)
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1