国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)變更感知和快速同步的方法

      文檔序號:9200397閱讀:252來源:國知局
      一種數(shù)據(jù)變更感知和快速同步的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種用戶信息數(shù)據(jù)差異化更新的方法,具體涉及一種數(shù)據(jù)變更感知和快速同步的方法,屬于計算機即時通訊技術(shù)領(lǐng)域。
      【背景技術(shù)】
      [0002]在即時通信系統(tǒng)中,一個用戶會有多個設(shè)備,用戶在設(shè)備上進行登錄的時候需要能夠獲取到最新的個人信息,包括基本信息(姓名、出生日期、職務(wù)等),群組信息(群組列表、群組基本信息、群組成員信息等)、好友信息(好友列表、好友個人信息等)、白名單信息等等。這些信息中個人基本信息是有當前用戶進行維護,而群組、好友等很多信息,特別是成員的個人信息是由其他人員自己維護的;同時個人信息的相關(guān)元數(shù)據(jù)有可能會根據(jù)業(yè)務(wù)的發(fā)展進行動態(tài)調(diào)整;這些信息需要在當前用戶的所有設(shè)備上進行同步,保持數(shù)據(jù)的一致性。
      [0003]目前的即時通信系統(tǒng)中,針對個人信息數(shù)據(jù)的更新主要有以下幾種辦法:
      [0004]1、全部更新,即客戶端登錄之后向服務(wù)器獲取最新的全部數(shù)據(jù),包括人員的基本信息、該人員所屬的群組列表,每個群組的成員列表,每個群成員的個人基本信息,好友列表,好友的基本信息等。
      [0005]2.根據(jù)版本號進行差異化更新,即從服務(wù)器上獲取該人信息的最新版本,并根據(jù)設(shè)備上緩存的版本號向服務(wù)器獲取之間差異版本的變動情況,并根據(jù)變動情況進行本地數(shù)據(jù)的修改。
      [0006]在上面所述的兩種辦法中,我們可以看到第一種辦法的好處在于能夠確保數(shù)據(jù)的一致性,但是卻存在同步數(shù)據(jù)量大,比如如果一個人員的基本屬性有20項,共計數(shù)據(jù)庫約200字節(jié);該人員如果擁有20個群組(平均每個群組20人員,群的基本信息約300字節(jié))和50個好友,則總計數(shù)據(jù)量大小約為10k字節(jié)左右,如果再加上白名單等數(shù)據(jù)量會更大。對于移動設(shè)備來講在網(wǎng)絡(luò)不穩(wěn)定的情況下會多次同步數(shù)據(jù),而每次數(shù)據(jù)量累計起來會很大。
      [0007]第二種方法的好處在于如果客戶端和服務(wù)器之間的數(shù)據(jù)差異不大的情況下數(shù)據(jù)量會小很多,如果兩次同步過程之間沒有數(shù)據(jù)修改,則同步的數(shù)據(jù)主要就是版本號信息,數(shù)據(jù)量會少很多,對于移動設(shè)備來講會節(jié)省很多流量信息。
      [0008]但是這個方法的問題在于很難確保雙方數(shù)據(jù)的一致性,無論是服務(wù)器還是客戶端,如果有一次數(shù)據(jù)同步錯誤,則該數(shù)據(jù)差異不會在后續(xù)的通過過程中得到修正,累積起來數(shù)據(jù)不一致的概率會明顯增大。

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

      [0009]本發(fā)明的目的是為了克服已有技術(shù)的缺陷,為了解決數(shù)據(jù)同步過程中的數(shù)據(jù)量和一致性問題,提出一種數(shù)據(jù)變更感知和快速同步的方法。
      [0010]一種數(shù)據(jù)變更感知和快速同步的方法,其實現(xiàn)步驟如下:
      [0011]步驟一、數(shù)據(jù)變更的時候,服務(wù)器計算其屬性名和值的hash值;
      [0012]步驟二、服務(wù)器計算該數(shù)據(jù)的父級節(jié)點數(shù)據(jù)的hash值;
      [0013]步驟三、父節(jié)點在更新hash值的時候,首先將所有子節(jié)點按照屬性名稱進行字典序排序,然后將子節(jié)點的屬性名和子節(jié)點的hash值合并成一個字符串,并計算其hash值;
      [0014]步驟四、以此方式逐步計算到頂節(jié)點的hash值;
      [0015]步驟五、客戶端也以此方式計算自己的hash值,并在登錄之后將該hash值與服務(wù)器上的頂節(jié)點hash值進行對比,如果hash值一致則說明數(shù)據(jù)沒有變化,包括子節(jié)點;如果hash值不一致,則獲取原值并進行比對,找出發(fā)生變化的子節(jié)點或者屬性,然后獲取該子節(jié)點對應(yīng)的值并進行同步。
      [0016]自此,經(jīng)過同步之后,客戶端和服務(wù)器之間的hash值保持一致,數(shù)據(jù)也同時保持一致,而且實現(xiàn)了差異化的更新機制。
      [0017]有益效果:
      [0018]1、本發(fā)明通過對hash樹的快速比對,能夠快速進行差異節(jié)點的定位和同步,而不是針對所有節(jié)點進行原值的逐個比對,因此在大數(shù)據(jù)量的情況下數(shù)據(jù)處理效率高,
      [0019]2、由于采用了 hash樹,任何節(jié)點的變化都能反饋到對應(yīng)的所有父節(jié)點上,通過本發(fā)明的同步算法,在保證了 hash樹的一致性的同時,我們也能夠保證數(shù)據(jù)原值的一致性。
      【具體實施方式】
      [0020]本發(fā)明提供了一種數(shù)據(jù)變更感知和快速同步的方法,其實現(xiàn)步驟如下:
      [0021]步驟一、數(shù)據(jù)變更的時候,服務(wù)器計算其屬性名和值的hash值;
      [0022]步驟二、服務(wù)器計算該數(shù)據(jù)的父級節(jié)點數(shù)據(jù)的hash值,例如修改了電話號碼之后,還需要隨之更新該人員的hash值;
      [0023]步驟三、父節(jié)點在更新hash值的時候,首先將所有子節(jié)點按照屬性名稱進行字典序排序,然后將子節(jié)點的屬性名和子節(jié)點的hash值合并成一個字符串,并計算其hash值;
      [0024]步驟四、以此方式逐步計算到頂節(jié)點的hash值;
      [0025]步驟五、客戶端也以此方式計算自己的hash值,并在登錄之后將該hash值與服務(wù)器上的頂節(jié)點hash值進行對比,如果一致則說明數(shù)據(jù)沒有變化,包括子節(jié)點;如果hash值不一致,則獲取原值并進行比對,找出發(fā)生變化的子節(jié)點或者屬性,然后獲取該子節(jié)點對應(yīng)的值并進行同步。
      [0026]綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
      【主權(quán)項】
      1.一種數(shù)據(jù)變更感知和快速同步的方法,其特征在于,實現(xiàn)步驟如下: 步驟一、數(shù)據(jù)變更的時候,服務(wù)器計算其屬性名和值的hash值; 步驟二、服務(wù)器計算該數(shù)據(jù)的父級節(jié)點數(shù)據(jù)的hash值; 步驟三、父節(jié)點在更新hash值的時候,首先將所有子節(jié)點按照屬性名稱進行字典序排序,然后將子節(jié)點的屬性名和子節(jié)點的hash值合并成一個字符串,并計算其hash值;步驟四、以此方式逐步計算到頂節(jié)點的hash值; 步驟五、客戶端也以此方式計算自己的hash值,并在登錄之后將該hash值與服務(wù)器上的頂節(jié)點hash值進行對比,如果hash值一致則說明數(shù)據(jù)沒有變化,包括子節(jié)點;如果hash值不一致,則獲取原值并進行比對,找出發(fā)生變化的子節(jié)點或者屬性,然后獲取該子節(jié)點對應(yīng)的值并進行同步。
      【專利摘要】本發(fā)明公開了一種數(shù)據(jù)變更感知和快速同步的方法,屬于計算機即時通訊技術(shù)領(lǐng)域。首先,數(shù)據(jù)變更的時候,服務(wù)器計算其屬性名和值的hash值;服務(wù)器計算該數(shù)據(jù)的父級節(jié)點數(shù)據(jù)的hash值;父節(jié)點在更新hash值的時候,首先將所有子節(jié)點按照屬性名稱進行字典序排序,然后將子節(jié)點的屬性名和子節(jié)點的hash值合并成一個字符串,并計算其hash值;以此方式逐步計算到頂節(jié)點的hash值;客戶端也以此方式計算自己的hash值,并在登錄之后將該hash值與服務(wù)器上的頂節(jié)點hash值進行對比,如果一致說明數(shù)據(jù)無變化,如果不一致,則獲取原值并進行比對,找出變化的子節(jié)點或者屬性并獲取該子節(jié)點對應(yīng)的值并進行同步。
      【IPC分類】G06F17/30
      【公開號】CN104915381
      【申請?zhí)枴緾N201510250796
      【發(fā)明人】姜曉丹, 王雙, 呂翊, 戴宇升, 李學恩, 林明, 韓國權(quán), 黃海峰, 李慶, 袁雙
      【申請人】北京聯(lián)信永通信息技術(shù)有限公司
      【公開日】2015年9月16日
      【申請日】2015年5月18日
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1