做過數(shù)據(jù)庫的都是知道,每一個數(shù)據(jù)都有一個唯一的ID,通過這個ID我們可以唯一的得到想要的數(shù)據(jù),這種情況在只有一個數(shù)據(jù)庫系統(tǒng)的情況下是沒有問題的,但是兩個不同的設(shè)備或者在無線終端和服務(wù)器之間的數(shù)據(jù)是如何進行標(biāo)示的呢?這在SyncML里面非常重要,因為要保持?jǐn)?shù)據(jù)的一致,某種程度上來說,就是要保持這個ID的一致,我們就需要一種方法或者說是一種協(xié)議來維護Client和Server當(dāng)中的數(shù)據(jù)的ID的一致性,否則在有大量數(shù)據(jù)的情況下,沒有ID,或者ID不一致,要使兩邊的數(shù)據(jù)保持一致,是非常困難的。
一般來說ID的處理辦法有如下幾種:
1.定義一種生成ID的標(biāo)準(zhǔn)或者叫scheme,然后client和server都遵守這個標(biāo)準(zhǔn)來生成ID;
2.由server來負責(zé)生成ID,client無條件接受;
3.由client來負責(zé)生成ID,client無條件接受;
4.cient和server都采用各自的方法來生成自己的ID,然后定義一個映射關(guān)系,來將這兩種ID進行對應(yīng)。SyncML采用的就是這一種方法。client生成的ID稱為LUID,server生成的ID稱為GUID。
SyncML采用了第四種方法之后,導(dǎo)致的結(jié)果就是client和server都要維護一個map表,來將兩邊的數(shù)據(jù)一一對應(yīng)。