国产精品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ù)記錄的方法及裝置的制作方法

      文檔序號(hào):6606784閱讀:124來源:國(guó)知局
      專利名稱:管理終端數(shù)據(jù)記錄的方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及到通訊領(lǐng)域中終端的個(gè)人信息管理PIM(數(shù)據(jù)同步)業(yè)務(wù),特別涉及管 理終端數(shù)據(jù)記錄的方法及裝置。
      背景技術(shù)
      手機(jī)、PDA等終端個(gè)人信息、日程信息和郵件信息等的管理日益重要,已經(jīng)成為終 端信息管理的一個(gè)重要組成部分。如何安全有效的將數(shù)據(jù)備份到網(wǎng)絡(luò)服務(wù)器中,在更換終 端或者終端數(shù)據(jù)發(fā)生變化的時(shí)候,可以方便的將備份數(shù)據(jù)恢復(fù)到終端成為數(shù)據(jù)同步的主 體,SyncML協(xié)議可以實(shí)現(xiàn)終端和網(wǎng)絡(luò)等服務(wù)器的數(shù)據(jù)同步,最終使得終端和服務(wù)器上的數(shù)
      據(jù)保持一致。圖1顯示了顯示客戶端與服務(wù)器之間進(jìn)行數(shù)據(jù)同步的業(yè)務(wù),即由客戶端如手機(jī)終 端與服務(wù)器進(jìn)行數(shù)據(jù)記錄項(xiàng)的雙向同步。SyncML協(xié)議基本數(shù)據(jù)同步類型包括雙向快同步和雙向慢同步。雙向慢同步將手機(jī) 終端和服務(wù)器上的所有數(shù)據(jù)記錄項(xiàng)(如名片夾和日程表)進(jìn)行同步;雙向快同步將終端和 服務(wù)器上自上一次同步之后的所有更新進(jìn)行同步。雙向快同步是一種增量同步,它將終端和服務(wù)器自上一次同步之后至本次同步之 間數(shù)據(jù)庫(kù)的所有修改同步。Changelog,修改記錄,則是用以記錄終端/服務(wù)器自上一次同步之后至本次同步 之間數(shù)據(jù)庫(kù)所有修改信息的。傳統(tǒng)的Changelog包含每一個(gè)被更新實(shí)體的修改信息,如實(shí)體的唯一標(biāo)識(shí)符(數(shù) 據(jù)庫(kù)為實(shí)體唯一分配)、所做操作類型等。即changelog文件由一個(gè)個(gè)修改記錄項(xiàng)組成,每 一個(gè)修改記錄項(xiàng),代表一個(gè)實(shí)體被修改的信息。圖2顯示了傳統(tǒng)changelog的修改記錄項(xiàng)結(jié)構(gòu),其修改記錄項(xiàng)可以為定長(zhǎng)或變長(zhǎng), 由于需要記錄的是數(shù)據(jù)記錄的修改信息,則通常由數(shù)據(jù)記錄的唯一標(biāo)識(shí)符LUID和其他內(nèi) 容(如操作類型、修改類型等)組成。目前changelog方案存在以下問題1.若對(duì)數(shù)據(jù)庫(kù)每操作一次,changelog文件增加一個(gè)修改記錄項(xiàng),則changelog文 件將無限增長(zhǎng)。2.即使在解決無限增長(zhǎng)問題下,changelog文件也隨著被更新實(shí)體的數(shù)量越多而 越大,且changelog文件需要根據(jù)數(shù)據(jù)庫(kù)修改、同步和同步的結(jié)果不停的反復(fù)刷新和修改 以添加或修改“被修改實(shí)體的修改記錄項(xiàng)”和刪除“已同步成功實(shí)體的修改記錄項(xiàng)”。這種 對(duì)changelog文件的操作通常是根據(jù)修改記錄項(xiàng)中的數(shù)據(jù)ID進(jìn)行遍歷式查找,涉及插值或 查找算法。使得changelog文件的管理變得復(fù)雜。

      發(fā)明內(nèi)容
      本發(fā)明的目的是提供一種可降低修改記錄管理復(fù)雜度的管理終端數(shù)據(jù)記錄的方法。本發(fā)明的另一目的是提供一種可降低修改記錄管理復(fù)雜度的管理終端數(shù)據(jù)記錄 的裝置。根據(jù)本發(fā)明第一方面,管理終端數(shù)據(jù)記錄的方法包括以下步驟為終端的每一條數(shù)據(jù)記錄分配一個(gè)本地唯一標(biāo)識(shí)符LUID ;為終端的每一條數(shù)據(jù)記錄的存儲(chǔ)位置分配一個(gè)全局唯一標(biāo)識(shí)符UUID ;分別為終端的每一條數(shù)據(jù)記錄建立LUID與UUID的映射關(guān)系;在修改記錄changelog文件中的各個(gè)存放位置分別隱藏相應(yīng)的UUID ;在數(shù)據(jù)記錄非同步操作期間,使用所建立的LUID與UUID的映射關(guān)系修改 changelog文件中的修改記錄項(xiàng)的值;在數(shù)據(jù)記錄同步操作期間,使用所建立的LUID與UUID的映射關(guān)系和所述 changelog文件的修改記錄項(xiàng)的值查找待同步的數(shù)據(jù)記錄。其中,在數(shù)據(jù)記錄非同步操作期間,利用UUID與LUID的映射關(guān)系找到由LUID標(biāo) 識(shí)的數(shù)據(jù)記錄的UUID,接著修改與所找到的UUID對(duì)應(yīng)的changelog文件存放位置上的當(dāng)前 修改記錄項(xiàng)的值。其中,在對(duì)數(shù)據(jù)記錄同步操作期間,讀取changelog文件中修改記錄項(xiàng)的有效值 及其隱藏的UUID,接著利用UUID與LUID的映射關(guān)系得到LUID所標(biāo)識(shí)的數(shù)據(jù)記錄,然后再 對(duì)所得到的數(shù)據(jù)記錄進(jìn)行同步操作。其中,所述changelog文件中修改記錄項(xiàng)存放位置的序號(hào)對(duì)應(yīng)于changelog文件 的字節(jié)序號(hào),所述字節(jié)序號(hào)與所述UUID的關(guān)系為BN= (UUID-I) XBL+1,其中BN為字節(jié)序 號(hào),BL為修改記錄項(xiàng)字節(jié)長(zhǎng)度。本發(fā)明的修改記錄項(xiàng)字節(jié)長(zhǎng)度是固定的,例如為1字節(jié),在 此情況下,changelog文件中修改記錄項(xiàng)存放位置的序號(hào)等于changelog文件的字節(jié)序號(hào), 即修改記錄項(xiàng)的第N存放位置的序號(hào)為changelog文件的第N字節(jié)序號(hào),并且BN = UUID。其中,所述數(shù)據(jù)記錄非同步操作包括添加或修改數(shù)據(jù)記錄,以及數(shù)據(jù)記錄同步成 功的后續(xù)處理。所述數(shù)據(jù)記錄同步成功的后續(xù)處理包括對(duì)于已完成同步的數(shù)據(jù)記錄,利用UUID 與LUID的映射關(guān)系找到由LUID標(biāo)識(shí)的數(shù)據(jù)記錄的UUID,接著把與所找到的UUID對(duì)應(yīng)的 changelog文件存放位置上的當(dāng)前修改記錄項(xiàng)的值修改為無效。根據(jù)本發(fā)明第二方面,管理終端數(shù)據(jù)記錄的裝置包括LUID分配模塊,用于為終端的每一條數(shù)據(jù)記錄分配一個(gè)本地唯一標(biāo)識(shí)符LUID ;UUID分配模塊,用于為終端的每一條數(shù)據(jù)記錄的存儲(chǔ)位置分配一個(gè)全局唯一標(biāo)識(shí) 符 UUID ;LUID與UUID映射關(guān)系建立模塊,用于分別為終端的每一條數(shù)據(jù)記錄建立LUID與 UUID的映射關(guān)系;以及Changelog 模塊,用于1)在修改記錄changelog文件中的各個(gè)存放位置分別隱藏相應(yīng)的UUID ;2)在數(shù)據(jù)記錄非同步操作期間,使用所建立的LUID與UUID的映射關(guān)系修改 changelog文件中的修改記錄項(xiàng)的值;以及3)在數(shù)據(jù)記錄同步操作期間,使用所建立的LUID與UUID的映射關(guān)系和所述changelog文件的修改記錄項(xiàng)的值查找待同步的數(shù)據(jù)記錄。其中,在數(shù)據(jù)記錄非同步操作期間,所述Changelog模塊首先利用UUID與LUID 的映射關(guān)系找到由LUID標(biāo)識(shí)的數(shù)據(jù)記錄的UUID,然后修改與所找到的UUID對(duì)應(yīng)的 changelog文件存放位置上的當(dāng)前修改記錄項(xiàng)的值。其中,在對(duì)數(shù)據(jù)記錄同步操作期間,所述Changelog模塊首先讀取changelog文件 中修改記錄項(xiàng)的有效值及其隱藏的UUID,然后利用UUID與LUID的映射關(guān)系得到LUID所標(biāo) 識(shí)的數(shù)據(jù)記錄,然后再對(duì)所得到的數(shù)據(jù)記錄進(jìn)行同步操作。需要說明的是,本發(fā)明涉及但不限于SyncML協(xié)議同步;此外,本發(fā)明適用于所有
      增量同步。還需要說明的是,本發(fā)明適用于手機(jī)或PDA等終端,也同樣適用于服務(wù)器,因此本 發(fā)明所述的終端包括但不限于服務(wù)器客戶端、網(wǎng)絡(luò)節(jié)點(diǎn),手機(jī)或PDA等。與現(xiàn)有技術(shù)相比,本發(fā)明的有益技術(shù)效果在于由于本發(fā)明利用IUID與UUID的映 射關(guān)系來管理changelog文件中修改記錄項(xiàng),因此可以大大縮減changelog文件的長(zhǎng)度,也 就是說,本發(fā)明的changelog文件不隨被修改實(shí)體數(shù)量的增多而增大,且隨著被修改實(shí)體 數(shù)量的增多,其存儲(chǔ)空間優(yōu)勢(shì)越明顯。


      圖1是顯示客戶端與服務(wù)器之間進(jìn)行數(shù)據(jù)同步業(yè)務(wù)的示意圖;圖2是傳統(tǒng)changelog的修改記錄項(xiàng)結(jié)構(gòu)的示意圖;圖3是本發(fā)明的管理終端數(shù)據(jù)記錄的裝置的示意圖;圖4是本發(fā)明的動(dòng)態(tài)的LUID-UUID映射圖,根據(jù)該圖能查找當(dāng)前UUID (存儲(chǔ)位置) 所對(duì)應(yīng)的LUID,反之亦然;圖5a是本發(fā)明的changelog的修改記錄項(xiàng)結(jié)構(gòu)圖,其中不包括LUID和UUID ;圖5b是本發(fā)明的changelog文件示意圖,將UUID隱藏于changelog文件中;圖6是本發(fā)明的修改某一條數(shù)據(jù)記錄時(shí)對(duì)changelog文件的更新的流程圖;圖7是本發(fā)明的數(shù)據(jù)記錄同步時(shí)讀取changelog文件的流程圖;圖8是當(dāng)數(shù)據(jù)記錄為電話本時(shí)的傳統(tǒng)changelog的修改記錄項(xiàng)結(jié)構(gòu)圖;圖9是當(dāng)數(shù)據(jù)記錄為電話本時(shí)本發(fā)明的changelog的修改記錄項(xiàng)結(jié)構(gòu)圖;圖10是本發(fā)明的初始化后的空changelog文件示意圖;圖11是本發(fā)明的添加一個(gè)電話本后的changelog文件示意圖。
      具體實(shí)施例方式圖3顯示了本發(fā)明的管理終端數(shù)據(jù)記錄的裝置,本發(fā)明的終端可以是圖1所示的 客戶端即移動(dòng)終端,也可以是圖1所示的服務(wù)器。如圖3所示,本發(fā)明的管理終端數(shù)據(jù)記錄的裝置包括LUID分配模塊、UUID分配 模塊和LUID與UUID映射關(guān)系模塊。LUID分配模塊用來為終端的每一條數(shù)據(jù)記錄分配一 個(gè)本地唯一標(biāo)識(shí)符LUID ;UUID分配模塊用來為終端的每一條數(shù)據(jù)記錄的存儲(chǔ)位置分配一 個(gè)全局唯一標(biāo)識(shí)符UUID ;LUID與UUID映射關(guān)系模塊用來分別為終端的每一條數(shù)據(jù)記錄建 立LUID與UUID的映射關(guān)系;Changelog模塊則用來1)在修改記錄changelog文件中的各個(gè)存放位置分別隱藏相應(yīng)的UUID ;2)在數(shù)據(jù)記錄非同步操作期間,使用所建立的LUID與 UUID的映射關(guān)系修改changelog文件中的修改記錄項(xiàng)的值;3)在數(shù)據(jù)記錄同步操作期間, 使用所建立的LUID與UUID的映射關(guān)系和changelog文件的修改記錄項(xiàng)的值查找待同步的 數(shù)據(jù)記錄。圖4顯示了由圖3所示的映射關(guān)系模塊生成的本發(fā)明的LUID與UUID映射關(guān)系 圖,其中LUID44、85和100分別是LUID分配模塊為三條終端數(shù)據(jù)記錄分配的本地唯一標(biāo)識(shí) 符(如正整數(shù)),比如44為關(guān)于張XX電話本的數(shù)據(jù)記錄的本地唯一標(biāo)識(shí)符,85為關(guān)于 李X X電話本的數(shù)據(jù)記錄的本地唯一標(biāo)識(shí)符,100為關(guān)于王X X電話本的數(shù)據(jù)記錄的本地 唯一標(biāo)識(shí)符。與LUID44、85和100對(duì)應(yīng)的UUID1、2、3則是UUID分配模塊為L(zhǎng)UID所標(biāo)識(shí)的 數(shù)據(jù)記錄的存儲(chǔ)位置分配的全局唯一標(biāo)識(shí)。圖5a顯示了本發(fā)明的changelog文件的一條修改記錄項(xiàng)的結(jié)構(gòu),它沒有圖2所示 的傳統(tǒng)changelog文件的修改記錄項(xiàng)中的LUID。圖5b顯示了 UUID隱藏在changelog文件 中的情況,由于changelog文件由有序排列的一條條修改記錄項(xiàng)構(gòu)成,因此每一條修改記 錄項(xiàng)在changelog文件中的存放位置(其存放位置序號(hào)對(duì)應(yīng)于changelog的字節(jié)序號(hào),例 如,當(dāng)記錄項(xiàng)長(zhǎng)度為1字節(jié)時(shí),則第N存放位置的序號(hào)為changelog的第N字節(jié)序號(hào))可以 唯一地反映相應(yīng)的數(shù)據(jù)記錄的UUID,例如當(dāng)修改記錄項(xiàng)長(zhǎng)度為1字節(jié)時(shí),第3存放位置的修 改記錄項(xiàng)反映UUID為3的數(shù)據(jù)記錄的修改情況。本發(fā)明的每個(gè)修改記錄項(xiàng)的長(zhǎng)度是固定的,比如固定長(zhǎng)度為1個(gè)字節(jié),或2個(gè)字節(jié) 等,由此可見,每個(gè)修改記錄項(xiàng)的存放位置依賴于changelog文件中修改記錄項(xiàng)字節(jié)長(zhǎng)度。 因此UUID在changelog文件中的隱藏關(guān)系實(shí)際上是根據(jù)changlog文件中的字節(jié)序號(hào)確定 的存放位置與UUID的對(duì)應(yīng)關(guān)系,表示為=Changlog文件中的字節(jié)序號(hào)=(UUID-I) X修改 記錄項(xiàng)字節(jié)長(zhǎng)度+1。如果每個(gè)修改記錄項(xiàng)的固定長(zhǎng)度為1個(gè)字節(jié),那么每個(gè)修改記錄項(xiàng)只占用一個(gè)字 節(jié),因此修改記錄項(xiàng)存放位置的序號(hào)相當(dāng)于changelog文件的字節(jié)序號(hào),即修改記錄項(xiàng)存 放位置=changlog文件中的字節(jié)序號(hào)=(UUID-I) X 1+1 = UUID,例如changelog文件的 第3字節(jié)序號(hào)相當(dāng)于第3存放位置的序號(hào),使得changelog文件的第3字節(jié)的序號(hào)隱藏了 標(biāo)識(shí)符為3的UUID。如果修改記錄項(xiàng)固定長(zhǎng)度為2個(gè)字節(jié),那么每個(gè)修改記錄項(xiàng)占用兩個(gè)字節(jié),其第 一個(gè)字節(jié)的序號(hào)=(UUID-I) X 2+1 = UUID X 2-1。例如當(dāng)UUID為3時(shí),其存放修改記錄項(xiàng) 的第一字節(jié)的序號(hào)為5,存放修改記錄項(xiàng)的第二字節(jié)的序號(hào)為6,使得序號(hào)為5的changelog 文件的字節(jié)隱藏了標(biāo)識(shí)符為3的UUID。在數(shù)據(jù)記錄非同步操作期間,Changelog模塊利用UUID與LUID的映射關(guān)系找到 由LUID標(biāo)識(shí)的數(shù)據(jù)記錄的UUID,接著修改與所找到的UUID對(duì)應(yīng)的changelog文件存放位 置上的當(dāng)前修改記錄項(xiàng)的值。需要說明的是,本發(fā)明的數(shù)據(jù)記錄非同步操作包括添加或修 改數(shù)據(jù)記錄,以及數(shù)據(jù)記錄同步成功的后續(xù)處理(下面將舉例說明)。在對(duì)數(shù)據(jù)記錄同步操作期間,Changelog模塊讀取changelog文件中修改記錄項(xiàng) 的有效值及其隱藏的UUID,接著利用UUID與LUID的映射關(guān)系得到LUID所標(biāo)識(shí)的數(shù)據(jù)記 錄,然后再對(duì)所得到的數(shù)據(jù)記錄進(jìn)行同步操作。另一方面,本發(fā)明的管理終端數(shù)據(jù)記錄的方法包括以下步驟戶端或服務(wù)器)的每一條數(shù)據(jù)記錄分配一個(gè)本地唯一標(biāo)識(shí)符 LUID ;為終端的每一條數(shù)據(jù)記錄的存儲(chǔ)位置分配一個(gè)全局唯一標(biāo)識(shí)符UUID ;分別為終端的每一條數(shù)據(jù)記錄建立LUID與UUID的映射關(guān)系;在修改記錄changelog文件中的各個(gè)存放位置分別隱藏相應(yīng)的UUID ;在數(shù)據(jù)記錄非同步操作期間,使用所建立的LUID與UUID的映射關(guān)系修改 changelog文件中的修改記錄項(xiàng)的值;在數(shù)據(jù)記錄同步操作期間,使用所建立的LUID與UUID的映射關(guān)系和changelog 文件的修改記錄項(xiàng)的值查找待同步的數(shù)據(jù)記錄。在數(shù)據(jù)記錄非同步操作期間,利用UUID與LUID的映射關(guān)系找到由LUID標(biāo)識(shí)的數(shù) 據(jù)記錄的UUID,接著修改與所找到的UUID對(duì)應(yīng)的changelog文件存放位置上的當(dāng)前修改記 錄項(xiàng)的值。比如在changelog文件的修改記錄項(xiàng)長(zhǎng)度為1字節(jié)的情況下,當(dāng)添加一條LUID =85的關(guān)于趙X X的電話本記錄時(shí),利用圖4的影射圖可以查詢到其存儲(chǔ)位置的全局唯 一標(biāo)識(shí)符UUID = 2,由此得到changelog文件的存放位置為2,從而把changelog第2個(gè)存 放位置的當(dāng)前修改記錄項(xiàng)的值修改為1。本發(fā)明的數(shù)據(jù)記錄同步成功的后續(xù)處理屬于數(shù)據(jù)記錄非同步操作,它包括對(duì) 于已完成同步的數(shù)據(jù)記錄,利用UUID與LUID的映射關(guān)系找到由LUID標(biāo)識(shí)的數(shù)據(jù)記錄的 UUID,接著把與所找到的UUID對(duì)應(yīng)的changelog文件存放位置上的當(dāng)前修改記錄項(xiàng)的值修 改為無效,通常為0,以避免下次同步已同步成功的數(shù)據(jù)記錄。在對(duì)數(shù)據(jù)記錄同步操作期間,讀取changelog文件中修改記錄項(xiàng)的有效值及其隱 藏的UUID,接著利用UUID與LUID的映射關(guān)系得到LUID所標(biāo)識(shí)的數(shù)據(jù)記錄,然后再對(duì)所得 到的數(shù)據(jù)記錄進(jìn)行同步操作。下面結(jié)合圖4至圖11對(duì)本發(fā)明的管理終端數(shù)據(jù)記錄的特點(diǎn)進(jìn)行詳細(xì)說明。對(duì)于存儲(chǔ)于終端的數(shù)據(jù)記錄項(xiàng)(比如說,手機(jī)中的一條名片夾),本發(fā)明設(shè)置了一個(gè)LUID(LocallyUnique Identifier),本地唯一標(biāo)識(shí)符,該LUID 在整個(gè)終端是唯一的,并且是不斷增長(zhǎng)的。即使添加一條已刪除的相同數(shù)據(jù)記錄,為該新添 加數(shù)據(jù)記錄分配的LUID也是和原來被刪除的LUID不相同的。除 LUID 外,本發(fā)明還設(shè)置了一個(gè) UUID (Univeral Unique Identif ier),全局唯一 標(biāo)識(shí)符,標(biāo)識(shí)著該數(shù)據(jù)記錄在數(shù)據(jù)庫(kù)存儲(chǔ)空間的存儲(chǔ)位置。一條數(shù)據(jù)記錄對(duì)應(yīng)一個(gè)UUID, UUID的取值是固定的,通常為1 MAXNUM,MAXNUM為終端數(shù)據(jù)庫(kù)存儲(chǔ)容器可存儲(chǔ)的最大記 錄項(xiàng)數(shù)。UUID標(biāo)識(shí)著該條數(shù)據(jù)記錄項(xiàng)在數(shù)據(jù)庫(kù)中的相對(duì)位置,根據(jù)UUID,可找到相應(yīng)的數(shù) 據(jù)記錄內(nèi)容。本發(fā)明建立了圖4所示的LUID-UUID的映射關(guān)系,比如映射表,但其形式不局限于表。LUID-UUID映射表中,動(dòng)態(tài)地對(duì)應(yīng)著同一條數(shù)據(jù)記錄的LUID與UUID的映射關(guān)系, 通過當(dāng)前UUID可以找到該UUID存儲(chǔ)的數(shù)據(jù)記錄所對(duì)應(yīng)的LUID ;通過LUID可以對(duì)應(yīng)找到 其UUID,并通過UUID找到其存儲(chǔ)位置,取出數(shù)據(jù)。例如在圖4中,若知一條數(shù)據(jù)記錄的LUID為3,則可通過映射表找出該記錄的 UUID為100,即該條記錄被存儲(chǔ)在數(shù)據(jù)庫(kù)的第100個(gè)存儲(chǔ)位置;若知一條數(shù)據(jù)的UUID為1,
      8即在存儲(chǔ)位置1上的記錄,則可通過映射表找出其LUID為44。通常,changelog文件由一個(gè)個(gè)修改記錄項(xiàng)組成,每一個(gè)修改記錄項(xiàng),代表一個(gè)數(shù) 據(jù)記錄(實(shí)體)被修改的信息。本發(fā)明的獨(dú)特之處在于Dchangelog文件中修改記錄項(xiàng)為固定長(zhǎng)度。2)每一個(gè)數(shù)據(jù)記錄的修改只唯一對(duì)應(yīng)于一個(gè)changelog修改記錄項(xiàng),故 changelog文件長(zhǎng)度固定,其值為MAXNUMX修改記錄項(xiàng)的長(zhǎng)度。3)建立了一個(gè)LUID-UUID的映射表,通過UUID可以找到LUID,同時(shí)通過LUID也 可以找到UUID.4) changelog文件數(shù)據(jù)記錄項(xiàng)不采用LUID,也不直接采用UUID,其修改記錄項(xiàng)只 由圖5a所示的“其他內(nèi)容”組成,例如代表有效或無效的值組成。同時(shí),將數(shù)據(jù)的UUID (信息)隱藏于changelog文件修改記錄項(xiàng)的位置中,如圖5b 所示。如,當(dāng)修改記錄項(xiàng)長(zhǎng)度為1字節(jié)時(shí),修改記錄項(xiàng)4代表changelog文件中第四個(gè)修 改記錄項(xiàng),則對(duì)應(yīng)的UUID為4。當(dāng)對(duì)該條數(shù)據(jù)進(jìn)行操作時(shí),則可通過UUID,或通過UUID找 到LUID,對(duì)其操作。如此,不僅大大縮短修改記錄項(xiàng)的長(zhǎng)度(省去了每個(gè)修改記錄項(xiàng)的ID字節(jié)數(shù),將 大大減少修改記錄項(xiàng)的長(zhǎng)度,從而節(jié)省changelog的存儲(chǔ)空間);同時(shí),將UUID信息隱藏于 changelog文件本身,不僅節(jié)省了存儲(chǔ)空間,且能有效的對(duì)修改記錄項(xiàng)進(jìn)行定位,大大降低 了 changelog的操作和維護(hù)復(fù)雜度。以手機(jī)終端名片夾同步為例,假設(shè)手機(jī)終端數(shù)據(jù)庫(kù)最大容量為500條電話本。本 發(fā)明的Changelog文件中修改記錄項(xiàng)的結(jié)構(gòu)如圖9所示,僅僅含有固定長(zhǎng)度(比如占一個(gè) 字節(jié))的標(biāo)志FLAG的操作類型。圖8顯示了傳統(tǒng)changelog中修改記錄項(xiàng)的結(jié)構(gòu),其中Changelog文件中修改記 錄項(xiàng)的結(jié)構(gòu)包含具有13字節(jié)的LUID ;含標(biāo)志FLAG的操作類型,是指電話本條目被操作的 類型,如添加等。其值為0代表無效,1代表添加操作,2代表刪除操作,3代表更新操作, 1 3均代表有效,占4字節(jié)。所以傳統(tǒng)的changelog的數(shù)據(jù)記錄項(xiàng)長(zhǎng)度共17字節(jié)。對(duì)比文件圖8所示的傳統(tǒng)的changelog中修改記錄項(xiàng)結(jié)構(gòu)和圖9所示的本發(fā)明的 修改記錄項(xiàng)的結(jié)構(gòu),不難發(fā)現(xiàn)本發(fā)明大大縮短修改記錄項(xiàng)的長(zhǎng)度。圖10顯示了一個(gè)通過初始化操作后的一個(gè)空changelog文件,其中網(wǎng)格示意每一 個(gè)修改記錄項(xiàng),其長(zhǎng)度為一個(gè)字節(jié),其初始值為0,代表無效。圖6顯示了本發(fā)明的更新changelog文件的流程,用于說明數(shù)據(jù)記錄非同步操作 的一個(gè)實(shí)例。以添加一條LUID = 100的電話本記錄為例進(jìn)行說明,假設(shè)此時(shí)LUID-UUID映 射表如圖4,則1)根據(jù) LUID 查詢其 UUID = 3 ;2)根據(jù)UUID,查找對(duì)應(yīng)的修改記錄項(xiàng)所在的位置(3-1) *1 (字節(jié)長(zhǎng)度)+1 = 3。直接找到changelog中對(duì)應(yīng)的位置,即圖11所示的第3存放位置。3)在changelog文件的第3存放位置(第三個(gè)記錄項(xiàng)處)修改,操作類型為增加, 則其值為1,代表增加。
      圖7顯示了本發(fā)明的終端執(zhí)行數(shù)據(jù)記錄同步時(shí)讀取changelog文件的流程,該流 程包括1)遍歷如圖11的changelog文件,先讀取第一、第二個(gè)修改記錄項(xiàng)。其值為0,代
      表無效。2)讀取第三個(gè)記錄項(xiàng)的值,其值為1,有效。則a)根據(jù)其位置第三字節(jié),計(jì)算出UUID = (3-1)/1-1 = 3。其中1代表changelog 修改記錄項(xiàng)的長(zhǎng)度。b)根據(jù)LUID-UUID映射表,假設(shè)仍為圖1所示,則LUID = 100。c)當(dāng)同步時(shí),可將LUID = 100的電話本進(jìn)行同步。數(shù)據(jù)記錄同步成功的后續(xù)處理屬于數(shù)據(jù)記錄的非同步操作,通常根據(jù)同步成功的 響應(yīng)信號(hào)啟動(dòng)該操作,比如當(dāng)服務(wù)器發(fā)出關(guān)于LUID = 100的數(shù)據(jù)記錄同步成功響應(yīng)時(shí),客 戶端進(jìn)行如下處理(參見圖6)根據(jù)LUID 查詢其 UUID = 3 ;根據(jù)UUID,查找對(duì)應(yīng)的修改記錄項(xiàng)所在的位置(3_1)*1(字節(jié)長(zhǎng)度)+1 = 3。直 接找到changelog中對(duì)應(yīng)的位置,即圖11所示的第3存放位置。在changelog文件的第3存放位置(第三個(gè)記錄項(xiàng)處)修改,將其值修改為無效 即0,以便避免下次重復(fù)同步。綜上所述,本發(fā)明具有以下技術(shù)效果changelog文件有恒定大小,其大小為MAXNUM*修改記錄項(xiàng)的長(zhǎng)度,即無文件大小 無限增長(zhǎng)問題,且最大文件長(zhǎng)度也非常小。例如傳統(tǒng)changelog方案changelog文件隨著被修改記錄數(shù)的增加而增大,其 值為X*修改記錄項(xiàng)的長(zhǎng)度,其中X為當(dāng)前被修改記錄個(gè)數(shù);本發(fā)明的changelog長(zhǎng)度為 MAXNUM*修改記錄項(xiàng)的長(zhǎng)度。比如,終端數(shù)據(jù)庫(kù)容量為500條,對(duì)于長(zhǎng)度為17字節(jié)的傳統(tǒng)方案修改記錄項(xiàng), changelog文件需要500X17 = 8500字節(jié),而本發(fā)明changelog文件僅僅需要500X1 = 500字節(jié),也就是說,在同樣的存儲(chǔ)空間條件下,當(dāng)修改記錄數(shù)超過30(500/17 = 30)條時(shí), 本方案在存儲(chǔ)空間方面有明顯優(yōu)勢(shì)。另一方面,假設(shè)修改記錄有M個(gè),同步服務(wù)器有N個(gè)且對(duì)應(yīng)每個(gè)服務(wù)器有一套 changelog.則對(duì)于現(xiàn)有技術(shù),當(dāng)需要對(duì)changelog中的某條記錄項(xiàng)進(jìn)行修改時(shí),其復(fù)雜度 為0 (M*N),且所有操作都是文件操作。對(duì)于本方案,因changelog可以很快定位到某個(gè)修 改記錄,無需遍歷式查找,則其操作復(fù)雜度為0 (N)。故,本方案對(duì)文件的操作和維護(hù)非常簡(jiǎn)綜上所述,由于本發(fā)明利用IUID與UUID的映射關(guān)系來管理changelog文件中修 改記錄項(xiàng),因此可以大大縮減changelog文件的長(zhǎng)度,從而減小了文件存儲(chǔ)空間;此外,本 發(fā)明通過changelog文件存放位置與UUID隱藏關(guān)系,即changelog文件字節(jié)序號(hào)與UUID 的對(duì)應(yīng)關(guān)系,管理終端修改記錄或通過存放位置得到LUID標(biāo)識(shí)的修改記錄,從而大大降低 了 changelog的操作復(fù)雜度,使整個(gè)changelog文件操作和維護(hù)簡(jiǎn)單化。特別是,對(duì)于支持 與多個(gè)服務(wù)器同步的系統(tǒng),本發(fā)明可以極大地降低復(fù)雜度。具體地說,本發(fā)明的文件存儲(chǔ)空間少和管理復(fù)雜度較低的技術(shù)效果歸因于本發(fā)明的以下技術(shù)特點(diǎn)1、每個(gè)修改記錄項(xiàng)的長(zhǎng)度都大大降低;2、每個(gè)文件只包含固定個(gè)數(shù)的修改記錄項(xiàng);3、每次更新修改記錄項(xiàng)的值不需要進(jìn)行查找等操作。盡管上文對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,但是本發(fā)明不限于此,本技術(shù)領(lǐng)域技術(shù)人員 可以根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為 落入本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      一種管理終端數(shù)據(jù)記錄的方法,其特征在于包括以下步驟為終端的每一條數(shù)據(jù)記錄分配一個(gè)本地唯一標(biāo)識(shí)符LUID;為終端的每一條數(shù)據(jù)記錄的存儲(chǔ)位置分配一個(gè)全局唯一標(biāo)識(shí)符UUID;分別為終端的每一條數(shù)據(jù)記錄建立LUID與UUID的映射關(guān)系;在修改記錄changelog文件中的各個(gè)存放位置分別隱藏相應(yīng)的UUID;在數(shù)據(jù)記錄非同步操作期間,使用所建立的LUID與UUID的映射關(guān)系修改changelog文件中的修改記錄項(xiàng)的值;在數(shù)據(jù)記錄同步操作期間,使用所建立的LUID與UUID的映射關(guān)系和所述changelog文件的修改記錄項(xiàng)的值執(zhí)行數(shù)據(jù)記錄同步操作。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在數(shù)據(jù)記錄非同步操作期間,首先利用 UUID與LUID的映射關(guān)系找到由LUID標(biāo)識(shí)的數(shù)據(jù)記錄的UUID,然后修改與所找到的UUID 對(duì)應(yīng)的changelog文件存放位置上的當(dāng)前修改記錄項(xiàng)的值。
      3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在對(duì)數(shù)據(jù)記錄同步操作期間,首先讀取 changelog文件中修改記錄項(xiàng)的有效值及其隱藏的UUID,然后利用UUID與LUID的映射關(guān) 系得到LUID所標(biāo)識(shí)的數(shù)據(jù)記錄,然后再對(duì)所得到的數(shù)據(jù)記錄進(jìn)行同步操作。
      4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述changelog文件中修改記錄項(xiàng)存 放位置的序號(hào)為changelog文件的字節(jié)序號(hào),其中所述字節(jié)序號(hào)與所述UUID的關(guān)系為BN =(UUID 一 1) XBL+1,其中BN為字節(jié)序號(hào),BL為修改記錄項(xiàng)字節(jié)長(zhǎng)度。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述修改記錄項(xiàng)字節(jié)長(zhǎng)度為固定值。
      6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述數(shù)據(jù)記錄非同步操作包括添加或修 改數(shù)據(jù)記錄,以及數(shù)據(jù)記錄同步成功的后續(xù)處理。
      7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述數(shù)據(jù)記錄同步成功的后續(xù)處理包括 對(duì)于已完成同步的數(shù)據(jù)記錄,利用UUID與LUID的映射關(guān)系找到由LUID標(biāo)識(shí)的數(shù)據(jù)記錄的UUID,接著把與所找到的UUID對(duì)應(yīng)的changelog文件存放位置上的當(dāng)前修改記錄項(xiàng)的 值修改為無效。
      8.—種管理終端數(shù)據(jù)記錄的裝置,其特征在于包括LUID分配模塊,用于為終端的每一條數(shù)據(jù)記錄分配一個(gè)本地唯一標(biāo)識(shí)符LUID ; UUID分配模塊,用于為終端的每一條數(shù)據(jù)記錄的存儲(chǔ)位置分配一個(gè)全局唯一標(biāo)識(shí)符 UUID ;LUID與UUID映射關(guān)系建立模塊,用于分別為終端的每一條數(shù)據(jù)記錄建立LUID與UUID 的映射關(guān)系;以及Changelog模塊,用于1)在修改記錄changelog文件中的各個(gè)存放位置分別隱藏相應(yīng)的UUID;2)在數(shù)據(jù)記錄非同步操作期間,使用所建立的LUID與UUID的映射關(guān)系修改 changelog文件中的修改記錄項(xiàng)的值;以及3)在數(shù)據(jù)記錄同步操作期間,使用所建立的LUID與UUID的映射關(guān)系和所述 changelog文件的修改記錄項(xiàng)的值執(zhí)行數(shù)據(jù)記錄同步操作。
      9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,在數(shù)據(jù)記錄非同步操作期間,所述 Changelog模塊利用UUID與LUID的映射關(guān)系找到由LUID標(biāo)識(shí)的數(shù)據(jù)記錄的UUID,接著修改與所找到的UUID對(duì)應(yīng)的changelog文件存放位置上的當(dāng)前修改記錄項(xiàng)的值。
      10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,在對(duì)數(shù)據(jù)記錄同步操作期間,所述 Changelog模塊讀取changelog文件中修改記錄項(xiàng)的有效值及其隱藏的UUID,接著利用 UUID與LUID的映射關(guān)系得到LUID所標(biāo)識(shí)的數(shù)據(jù)記錄,然后再對(duì)所得到的數(shù)據(jù)記錄進(jìn)行同 步操作。
      11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述終端包括服務(wù)器客戶端、網(wǎng)絡(luò)節(jié) 點(diǎn)、手機(jī)或PDA之一。
      全文摘要
      本發(fā)明公開了管理終端數(shù)據(jù)記錄的方法及裝置,在本發(fā)明的方法包括為終端的每一條數(shù)據(jù)記錄分配一個(gè)本地唯一標(biāo)識(shí)符LUID;為終端的每一條數(shù)據(jù)記錄的存儲(chǔ)位置分配一個(gè)全局唯一標(biāo)識(shí)符UUID;分別為終端的每一條數(shù)據(jù)記錄建立LUID與UUID的映射關(guān)系;在修改記錄changelog文件中的各個(gè)存放位置分別隱藏相應(yīng)的UUID;在數(shù)據(jù)記錄非同步操作期間,使用所建立的LUID與UUID的映射關(guān)系修改changelog文件中的修改記錄項(xiàng)的值;在數(shù)據(jù)記錄同步操作期間,使用所建立的LUID與UUID的映射關(guān)系和所述changelog文件的修改記錄項(xiàng)的值執(zhí)行數(shù)據(jù)記錄同步操作。由于本發(fā)明利用IUID與UUID的映射關(guān)系來管理changelog文件中修改記錄項(xiàng),因此可以大大縮減changelog文件的長(zhǎng)度,大大降低changelog的操作復(fù)雜度,使整個(gè)changelog文件操作和維護(hù)簡(jiǎn)單化。
      文檔編號(hào)G06F17/30GK101923571SQ201010239970
      公開日2010年12月22日 申請(qǐng)日期2010年7月29日 優(yōu)先權(quán)日2010年7月29日
      發(fā)明者付麗琴, 何建橋, 劉大志, 練煜, 蒲競(jìng)春, 袁磊 申請(qǐng)人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1