專利名稱:移動通訊終端的數(shù)據(jù)同步方法
技術領域:
本發(fā)明涉及一種移動通訊終端的數(shù)據(jù)同步方法,尤其涉及一種移動通信終端通過
網(wǎng)絡與服務器同步數(shù)據(jù)的方法。
背景技術:
在當今信息充斥的社會中,我們的日常工作、生活中需要傳遞各種數(shù)據(jù)信息。然而
不同通信設備完成數(shù)據(jù)信息的交互時,要求我們存儲于不同設備中的同一信息要時刻保持
更新,這就是數(shù)據(jù)同步。SyncML同步協(xié)議提供了包括同步數(shù)據(jù)表示、同步規(guī)則、傳輸協(xié)議綁
定、系統(tǒng)開發(fā)框架在內(nèi)的一整套數(shù)據(jù)同步解決方案,是PIM業(yè)務的主要技術手段。 PIM業(yè)務,從實現(xiàn)上來講,就是通過SyncML協(xié)議將移動終端的個人信息備份到網(wǎng)
絡側的服務器上,或從網(wǎng)絡側的服務器獲取個人信息同步到移動終端,最終達到移動終端
和網(wǎng)絡服務器的個人信息同步的目的。從概念上,我們這里所說的PIM業(yè)務是指一種無線
增值業(yè)務,通過空中信道實現(xiàn)數(shù)據(jù)傳輸,比如中國移動的"號簿管家"業(yè)務、中國電信的"備
份"業(yè)務,都可以叫做PM業(yè)務。 PIM系統(tǒng)主要分為兩個部分同步客戶端和同步服務器。PIM客戶端通常指終端設 備和客戶端軟件,它向服務器端發(fā)送終端的個人信息和同步數(shù)據(jù),并且接收網(wǎng)絡服務器端 的響應消息。在PM系統(tǒng)中,客戶端設備通常是手機、PDA等移動終端。同步服務器通常包 括一個服務器和一個同步引擎,同步服務器等待終端連接到服務器,接收終端的數(shù)據(jù)修改 信息,并對這些信息進行處理,最后將修改信息發(fā)送給終端。 SyncML數(shù)據(jù)同步協(xié)議中定義了客戶端和服務器之間消息的交互過程。協(xié)議定義 了 7種基本的同步類型雙向同步、慢同步、客戶端單向同步、服務器端單向同步、客戶端刷 新同步、服務器端刷新同步、服務器端通告同步。 以一次完整的雙向同步為例,圖1反映了客戶端和服務器端數(shù)據(jù)交互的全過程。
從圖1中可以看出,一次最基本的同步經(jīng)過了 3次交互的過程,共發(fā)送了 6個 Package 。 Package #1和Package #2傳輸初始化消息,同步雙方建立連接,進行安全驗證并 協(xié)商同步類型。Package #3和Package #4傳輸同步數(shù)據(jù),同步雙方根據(jù)SyncML協(xié)議,將需 要同步的數(shù)據(jù)封裝成xml/wbxml數(shù)據(jù)包發(fā)送。Package #5和Package恥傳輸LUID(本地 唯一標識符)-GUID (全局唯一標識符)之間的映射關系,服務器端保存該映射關系,并反饋 給客戶端結果。 在實際應用中,一次同步需要傳輸?shù)臄?shù)據(jù)量往往很大,受移動終端處理能力、服務 器承載能力尤其是網(wǎng)絡傳輸能力的限制,無法一次完成整個Package的傳輸,需要分割為 多個Message進行交互?;驹硎桥袛嗝總€Message最后是否含有〈/Final〉標志,含有 〈/Final〉標識符,認為一個Package已經(jīng)結束。對于每個Message的大小,一般綜合考慮終 端處理能力、服務器承載能力和網(wǎng)絡傳輸能力后,設定一個折衷值(經(jīng)驗值),在初始化階 段和服務器端協(xié)商,整個同步過程均使用該值對Package進行分割。
從上述介紹中看出,現(xiàn)有技術存在以下缺點
1、沒有考慮網(wǎng)絡變化對同步過程的影響。PIM業(yè)務主要應用在無線網(wǎng)絡環(huán)境, 現(xiàn)有的移動終端,多數(shù)都工作在多種網(wǎng)絡模式下,不同的網(wǎng)絡模式(如GSM、 TD-SCDMA、 CDMA2000、WCDMA、EVD0等)傳輸速率相差很大。如果傳輸速率很小,但每次傳輸?shù)腗essage 數(shù)據(jù)包很大,很容易造成數(shù)據(jù)丟失,進而引起同步失敗,降低同步成功率;如果網(wǎng)絡傳輸速 率很大,但分割后的Message數(shù)據(jù)包很小,會增加同步交互過程中收發(fā)的數(shù)據(jù)包總個數(shù),進 而增加同步時間,降低同步效率。 2、沒有考慮服務器吞吐能力對同步過程的影響。PIM業(yè)務是由電信運營商發(fā)起 的無線增值業(yè)務。業(yè)務用戶數(shù)可能在千萬以上,在不同時刻,發(fā)起同步的客戶端數(shù)目不同。 受服務器承載能力的影響,從單個客戶端來看,每次發(fā)起同步時,服務器的處理能力是不同 的,因此固定數(shù)據(jù)包的大小無法最大限度的利用服務器的處理能力,進而影響同步的效率。
中國專利申請?zhí)?200910003734.4",名稱為"設備間數(shù)據(jù)同步的方法和系統(tǒng)"的專 利文本中,提供了一種用于三個以上聯(lián)網(wǎng)設備的數(shù)據(jù)同步方法,所述聯(lián)網(wǎng)設備包括至少一 個客戶端和一個服務器,所述方法用于在支持同步標記語言(SYNCML)協(xié)議的多個設備之 間有效率地對數(shù)據(jù)進行同步。所述數(shù)據(jù)同步方法包括當服務器接收到第一客戶端發(fā)送的 同步請求消息時,確定同步請求消息中包含的同步信息所指示的數(shù)據(jù)項是否存在于服務器 的更改日志表中;以及,如果同步信息所指示的數(shù)據(jù)項不存在,則通過添加同步信息所指示 的數(shù)據(jù)項來更新更改日志表,并向第二客戶端發(fā)送包含數(shù)據(jù)標識符和所述數(shù)據(jù)項的更改日 志的同步請求消息,否則通過向第一客戶端發(fā)送包含狀態(tài)信息的同步響應消息來結束數(shù)據(jù) 同步
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種移動通訊終端的數(shù)據(jù)同步的方法,該方法結合服務器 負載能力、移動終端處理能力以及網(wǎng)絡傳輸能力,動態(tài)調(diào)整每個數(shù)據(jù)包的大小,從而縮減同 步時間,提高數(shù)據(jù)同步業(yè)務作為一個系統(tǒng)的工作效率。 本發(fā)明的另一目的在于揭示一種移動通訊終端的數(shù)據(jù)同步的方法,在同步交互過 程中,系統(tǒng)可自動計算可支持的合適的數(shù)據(jù)包大小,并同步通知服務器端,以最大限度的利 用網(wǎng)絡傳輸能力和服務器實時處理能力。 —種移動通訊終端的數(shù)據(jù)同步方法,用于至少兩個同步設備之間的數(shù)據(jù)同步,包 括 第一同步設備發(fā)送數(shù)據(jù)包i + l (i > 0)到第二同步設備;
第二同步設備接收并處理第一同步設備發(fā)送的數(shù)據(jù)包i + l ;
第二同步設備發(fā)送確認信息到第一同步設備;
判斷是否是同步的最后一個數(shù)據(jù)包;
如是,則結束數(shù)據(jù)包的同步;
如否,則同步下個數(shù)據(jù)包i+2 ; 其特征在于,還包括計算同步下個數(shù)據(jù)包i+2的最大值Si+2并置于所述的數(shù)據(jù)包 i+l中。 在本發(fā)明一個較佳實施例中,還包括第二同步設備發(fā)送確認信息到第一同步設 備的同時,還發(fā)送需同步的數(shù)據(jù)包i + l至第一同步設備,第一同步設備接收并處理第二同步設備發(fā)送的數(shù)據(jù)包i + l,之后第一同步設備更新數(shù)據(jù)庫。 在本發(fā)明一個較佳實施例中,所述的下次同步的數(shù)據(jù)包i+2的最大值Si+2根據(jù)當 前網(wǎng)絡狀態(tài)及第一同步設備和第二同步設備的處理能力計算得到。 在本發(fā)明一個較佳實施例中,記錄第一同步設備與第二同步設備同步數(shù)據(jù)包i的 時間1\與同步數(shù)據(jù)包i+1的時間Ti+1并計算時間間隔|Ti+1_Ti| ,根據(jù)此時間差|Ti+1_Ti|判 斷網(wǎng)絡狀態(tài)和第二同步設備的處理能力,并據(jù)此動態(tài)調(diào)整第一同步設備下次同步的數(shù)據(jù)包 i+2的最大值Si+2。 在本發(fā)明 一個較佳實施例中,設定時間間隔的最小值A T,當記錄的時間間隔 Ti+1_Ti| > AT,則判斷需調(diào)整下次同步的數(shù)據(jù)包i+2的最大值S^;否則,下次同步的數(shù)據(jù) 包i+2的最大值Si+2 = Si+1。 在本發(fā)明一個較佳實施例中,設定數(shù)據(jù)包最小有效間隔AS,若記錄的時間間隔 > AT,則下次同步的數(shù)據(jù)包i+2的最大值Si+2的計算公式為,
Ti+1_T
在本發(fā)明一個較佳實施例中,設定每次同步的數(shù)據(jù)包的上下限Smax和Smin,如 Smin《Si+2《Smax,則判斷本次Si+2有效,否則取Smax或Smin作為下次同步的數(shù)據(jù)包的最
大值Si+2。 在本發(fā)明一個較佳實施例中,還包括更新初始參考數(shù)據(jù)包的最大值S。,其中S。的 計算公式為, 5"0=——J , 公式中K為IOO。 〖+ l , 在本發(fā)明一個較佳實施例中,如判斷是最后一個同步的數(shù)據(jù)包,則存儲最后一次 計算得到的S。,作為下次同步時的數(shù)據(jù)包初始參考值。 在本發(fā)明一個較佳實施例中,還包括第一同步設備和第二同步設備之間進行初始 化,第一同步設備讀取初始數(shù)據(jù)包的初始大小值S。,設定第一個同步的數(shù)據(jù)包的最大值S工 =S0。 本發(fā)明在客戶端處理能力確定的情況下,根據(jù)當前網(wǎng)絡狀態(tài)和服務器實時處理能 力,動態(tài)調(diào)整每個Message數(shù)據(jù)包的大小,最大限度的利用網(wǎng)絡傳輸能力和服務器處理能 力,從而在整體上減少同步時間,提高同步效率。
圖1是本發(fā)明背景技術中雙向同步數(shù)據(jù)交互流程示意圖;
圖2是本發(fā)明實施例中數(shù)據(jù)同步流程的示意圖。
具體實施例方式
下面結合附圖對本發(fā)明的較佳實施例進行詳細闡述,以使本發(fā)明的優(yōu)點和特征能 更易于被本領域技術人員理解,從而對本發(fā)明的保護范圍做出更為清楚明確的界定。
本發(fā)明實施例中,以手機與服務器的數(shù)據(jù)雙向交互同步為例來說明本發(fā)明的主要 構思,但本發(fā)明同樣可以應用在其他產(chǎn)品的數(shù)據(jù)同步上,包括多個設備之間的數(shù)據(jù)同步,以及數(shù)據(jù)單向、雙向或者多向的數(shù)據(jù)同步。 在本發(fā)明實施例中,當PIM業(yè)務同步開始后,首先在前一個或者兩個數(shù)據(jù)包中,進 行初始化,協(xié)商同步類型并交互雙方的處理能力。在后面的數(shù)據(jù)包中,僅進行同步數(shù)據(jù)和映 射關系的傳輸確認。當然,此過程并不是必須的,視實際同步需求而定。 本發(fā)明實施例的主要構思在于,在客戶端發(fā)給服務器的每一個數(shù)據(jù)包的消息頭 (SyncHdr)部分,除目的地址、源地址等基本信息外,添加了 一個Max MsgSize元素,通過 Max Msg Size標識符通知對方自己能夠支持的最大數(shù)據(jù)包的大小。移動終端發(fā)送的每個數(shù) 據(jù)包的大小,不能超過該值。服務器下發(fā)給移動終端的數(shù)據(jù)包,大小也不能超過該值。也就 是說,同步雙方可以通過Max Msg Size標識符,限定下一次交互過程中數(shù)據(jù)包的大小。這 樣,同步過程中就可以根據(jù)同步時的網(wǎng)絡狀態(tài)、服務器處理能力,結合本地移動終端的處理 能力,動態(tài)調(diào)整每個數(shù)據(jù)包的大小,從而最大限度的利用網(wǎng)絡傳輸能力和服務器處理能力, 減少同步時間,提高同步效率。 確認數(shù)據(jù)包大小的基本思想是假設本地移動終端的處理能力確定,同步時間僅 受網(wǎng)絡傳輸能力和服務器處理能力的影響,且同步時間和網(wǎng)絡傳輸能力及服務器處理能力 成反比。通過記錄開始發(fā)送一個數(shù)據(jù)包和接收完畢服務器反饋數(shù)據(jù)包的時間,計算一次交 互過程的時間間隔,與上一數(shù)據(jù)包同步的時間間隔做比較,從而判斷出這一小段時間內(nèi)的 網(wǎng)絡狀態(tài)和服務器處理能力狀況,據(jù)此推算下一小段時間內(nèi)的相關狀態(tài),并動態(tài)調(diào)整下一 次數(shù)據(jù)交互限定的數(shù)據(jù)包的最大值。 下面描述每個數(shù)據(jù)包最大值的限定策略。為描述方便,我們做如下約定 數(shù)據(jù)包的最大值(Message Size)用字母S表示,每一個數(shù)據(jù)包的最大值用St表
示,i^0,每個數(shù)據(jù)包用i表示; 同步一個數(shù)據(jù)包所用的時間,即手機發(fā)送數(shù)據(jù)包到服務器且手機接收完畢從服務 器發(fā)送的數(shù)據(jù)包的時間差用字母T表示,每個數(shù)據(jù)包的時間差用1\表示,i > 0 ;
將同步本次數(shù)據(jù)包所需花費的時間和同步上次數(shù)據(jù)包所需花費的時間差定義為 時間間隔; 最小有效時間間隔用A T表示; 每個數(shù)據(jù)包最大值的最小有效間隔用AS表示。 如圖2所示,通過流程圖可以看出,一次同步過程可以分為以下具體步驟 Pl讀取初始數(shù)據(jù)包大小S。,此處假設移動終端的處理能力確定,受計算速度,存
儲能力等的限制,數(shù)據(jù)包最大不能超過S^;如果每個數(shù)據(jù)包過小,將增加同步交互的過
程,增加同步數(shù)據(jù)包的個數(shù),增加同步時間,所以設定數(shù)據(jù)包最小不能超過Smin;讀取初始
Message數(shù)據(jù)包大小S。,并且確認第一個數(shù)據(jù)包的大小并通知服務器端,令S工=S。。 P2記錄數(shù)據(jù)包開始發(fā)送的時間,服務器開始接收數(shù)據(jù)包,然后服務器發(fā)送數(shù)據(jù)包
至手機; P3記錄接收完畢服務器發(fā)送的數(shù)據(jù)包的時間,記錄本次同步數(shù)據(jù)包所需要的時間 為L 通過P2和P3步驟每次記錄每次交互同步的數(shù)據(jù)包所需花費的時間T"T2.....1\、
Ti+1.…, P4計算時間間隔并判斷是否需要更新下一次同步的數(shù)據(jù)包的最大值,本發(fā)明實施例中選用的規(guī)則為,如果|Ti+1_Ti| > AT,則需要重新計算下一個數(shù)據(jù)包的最大值,否則仍 然使用上一個同步的數(shù)據(jù)包的最大值,即轉到步驟P0,設定下一個數(shù)據(jù)包的最大值等于本 次數(shù)據(jù)包的最大值; P5計算下一個同步的數(shù)據(jù)包的最大值,通用計算公式為
:T —J7S!+2 = S.+i +~~x AS
1 AT , i=l, 2, 3, 4,5... P6判斷該數(shù)據(jù)包最大值的有效性,有效取值范圍為Smin《Si+2《S^,超出有效范 圍,取邊界值。否則判斷為有效; P7更新初始參考數(shù)據(jù)包的最大值,計算公式為, ~~J , '+2 ,2, 3, 4, 5... 其中k為整數(shù),取一經(jīng)驗值,比如100 ; P8判斷是否是最后一個數(shù)據(jù)包,如是,則進入P10步驟,然后結束同步過程,否則 進入P9步驟; P9繼續(xù)發(fā)送下一個數(shù)據(jù)包,并記錄時間差,然后重復P2 P7,直至同步結束。 P10存儲最后一次計算得到的S。,作為下次同步時的初始參考值。 本發(fā)明實施例中,采用的是雙向的數(shù)據(jù)同步方式,因此每一個交互過程中需要交
互兩次數(shù)據(jù)包,但只計算一次數(shù)據(jù)包的最大值,確定下次交互過程中兩個數(shù)據(jù)包的最大值;
如果是單向同步,則通過記錄發(fā)送數(shù)據(jù)包的時間與接收到確認信息的時間差來計算下次同
步的數(shù)據(jù)包的最大值,因此只有一個數(shù)據(jù)包在同步過程中同步,實際操作中,把確認信息也
當做一個同步數(shù)據(jù)包,從而使得本發(fā)明的計算公式能夠通用。相應的,如果涉及到多個同步
設備的數(shù)據(jù)包同步,原理相同,此處不再贅述。 本發(fā)明揭示的數(shù)據(jù)同步方法,主要涉及一種動態(tài)更新并交換最大傳輸能力的應用
方案;通過建立動態(tài)調(diào)整數(shù)據(jù)包大小的數(shù)學模型,來動態(tài)確認最大傳輸能力。 相比現(xiàn)有的技術方案,本發(fā)明充分考慮了實時網(wǎng)絡狀態(tài)以及服務器處理能力對同
步過程的影響,通過動態(tài)調(diào)整每個數(shù)據(jù)包的大小,最大限度的利用了網(wǎng)絡傳輸能力,服務器
實時處理能力,縮短了同步時間,提高了成功率和同步效率。 以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本領域的技術人員在本發(fā)明所揭露的技術范圍內(nèi),可不經(jīng)過創(chuàng)造性勞動想到的變化或 替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權利要求書所限 定的保護范圍為準。
權利要求
一種移動通訊終端的數(shù)據(jù)同步方法,用于至少兩個同步設備之間的數(shù)據(jù)同步,包括第一同步設備發(fā)送數(shù)據(jù)包i+1(i≥0)到第二同步設備;第二同步設備接收并處理第一同步設備發(fā)送的數(shù)據(jù)包i+1;第二同步設備發(fā)送確認信息到第一同步設備;判斷是否是同步的最后一個數(shù)據(jù)包;如是,則結束數(shù)據(jù)包的同步;如否,則同步下個數(shù)據(jù)包i+2;其特征在于,還包括計算同步下個數(shù)據(jù)包i+2的最大值Si+2并置于所述的數(shù)據(jù)包i+1中。
2. 根據(jù)權利要求1所述的移動通訊終端的數(shù)據(jù)同步方法,其特征在于,還包括第二同步設備發(fā)送確認信息到第一同步設備的同時,還發(fā)送需同步的數(shù)據(jù)包i + 1至第一同步設備,第一同步設備接收并處理第二同步設備發(fā)送的數(shù)據(jù)包i + l,之后第一同步設備更新數(shù)據(jù)庫。
3. 根據(jù)權利要求1或2所述的移動通訊終端的數(shù)據(jù)同步方法,其特征在于,所述的下次同步的數(shù)據(jù)包i+2的最大值S^根據(jù)當前網(wǎng)絡狀態(tài)及第一同步設備和第二同步設備的處理能力計算得到。
4. 根據(jù)權利要求3所述的移動通訊終端的數(shù)據(jù)同步方法,其特征在于,記錄第一同步設備與第二同步設備同步數(shù)據(jù)包i的時間l與同步數(shù)據(jù)包i+1的時間Ti+1并計算時間間隔Tw-Til,根據(jù)此時間差|Ti+1-Ti|判斷網(wǎng)絡狀態(tài)和第二同步設備的處理能力,并據(jù)此動態(tài)調(diào)整第一同步設備下次同步的數(shù)據(jù)包i+2的最大值Si+2。
5. 根據(jù)權利要求4所述的移動通訊終端的數(shù)據(jù)同步方法,其特征在于,設定時間間隔的最小值AT,當記錄的時間間隔|Ti+1_Ti| > AT,則判斷需調(diào)整下次同步的數(shù)據(jù)包i+2的最大值Si+2 ;否則,下次同步的數(shù)據(jù)包i+2的最大值Si+2 = Si+1。
6. 根據(jù)權利要求5所述的移動通訊終端的數(shù)據(jù)同步方法,其特征在于,設定數(shù)據(jù)包最小有效間隔AS,若記錄的時間間隔|Ti+1_Ti| > AT,則下次同步的數(shù)據(jù)包i+2的最大值S^的計算公式為,<formula>formula see original document page 2</formula>
7. 根據(jù)權利要求6所述的移動通訊終端的數(shù)據(jù)同步方法,其特征在于,設定每次同步的數(shù)據(jù)包的上下限Smax和Smin,如Smin《Si+2《Smax,則判斷本次Si+2有效,否則取Smax或Smin作為下次同步的數(shù)據(jù)包的最大值Si+2。
8. 根據(jù)權利要求7所述的移動通訊終端的數(shù)據(jù)同步方法,其特征在于,還包括更新初始參考數(shù)據(jù)包的最大值S。,其中S。的計算公式為,<formula>formula see original document page 2</formula>
9. 根據(jù)權利要求8所述的移動通訊終端的數(shù)據(jù)同步方法,其特征在于,如判斷是最后一個同步的數(shù)據(jù)包,則存儲最后一次計算得到的S。,作為下次同步時的數(shù)據(jù)包初始參考值。
10.根據(jù)權利要求9所述的移動通訊終端的數(shù)據(jù)同步方法,其特征在于,還包括第一同步設備和第二同步設備之間進行初始化,第一同步設備讀取初始數(shù)據(jù)包的初始大小值S。,設定第一個同步的數(shù)據(jù)包的最大值S工=S。。
全文摘要
一種移動通訊終端的數(shù)據(jù)同步方法,用于至少兩個同步設備之間的數(shù)據(jù)同步,包括第一同步設備發(fā)送數(shù)據(jù)包i+1(i≥0)到第二同步設備;第二同步設備接收并處理第一同步設備發(fā)送的數(shù)據(jù)包i+1;第二同步設備發(fā)送確認信息到第一同步設備;判斷是否是同步的最后一個數(shù)據(jù)包;如是,則結束數(shù)據(jù)包的同步;如否,則同步下個數(shù)據(jù)包i+2;還包括計算同步下個數(shù)據(jù)包i+2的最大值Si+2并置于所述的數(shù)據(jù)包i+1中。本發(fā)明揭示的移動通訊終端的數(shù)據(jù)同步方法,能最大限度的利用網(wǎng)絡傳輸能力和服務器處理能力,從而在整體上減少同步時間,提高同步效率。
文檔編號H04L1/00GK101707785SQ20091018528
公開日2010年5月12日 申請日期2009年10月31日 優(yōu)先權日2009年10月31日
發(fā)明者王曉林 申請人:青島海信移動通信技術股份有限公司