專利名稱:移動終端與服務(wù)器之間的數(shù)據(jù)同步方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)同步方法,尤其是一種在移動終端和服務(wù)器之間進行數(shù)據(jù)上行同步及下行同步的方法。
背景技術(shù):
個人信息管理(Personal Information Management,簡稱PIM)業(yè)務(wù)是指客戶將移動終端中的信息,以無線或有線方式與電腦或移動網(wǎng)絡(luò)服務(wù)器保持一致,并能用多種終端、多種接入手段查詢和管理信息的業(yè)務(wù)。
個人信息管理的內(nèi)容通常是通訊錄、日程安排、記事簿等。以往的移動終端用戶的個人信息管理是基于本機或PC機進行的,與網(wǎng)絡(luò)無關(guān)。隨著移動終端換機率的不斷增長,有必要在移動網(wǎng)絡(luò)側(cè)提供PIM業(yè)務(wù)系統(tǒng),使移動終端的用戶可以通過空中信道,將自己的PIM數(shù)據(jù)備份到網(wǎng)絡(luò)側(cè)的服務(wù)器上,或?qū)⒕W(wǎng)絡(luò)側(cè)服務(wù)器的PIM信息同步到移動終端,最終達到移動終端和網(wǎng)絡(luò)服務(wù)器的個人信息同步的目的。
由于目前移動終端和PC上的通信錄都是采用國際標準組織定義的VCard格式,但是該規(guī)范文件為了保證終端廠家實現(xiàn)的可擴展性,定義的格式內(nèi)容非常靈活,并且還定義了大量終端廠家可以擴展的字段。這就造成目前大量終端的通信錄格式不統(tǒng)一,而PIM業(yè)務(wù)又經(jīng)常出現(xiàn)將A終端的內(nèi)容同步到服務(wù)器,再同步到B終端的情況,這樣就可能造成由于格式不統(tǒng)一,通信錄數(shù)據(jù)丟失的問題。
在現(xiàn)有技術(shù)中,解決由于格式不統(tǒng)一而引起的數(shù)據(jù)丟失問題的方法是,服務(wù)器保存A終端的同步數(shù)據(jù),B終端同步不了的數(shù)據(jù)仍然保存在服務(wù)器。從表面上看,該方案解決了通信錄數(shù)據(jù)不丟失的問題,但是仍存在許多問題。
例如,用戶A的通信錄為王二 移動電話XXXX,辦公電話XXXX,住宅電話XXXX,傳真號碼XXXX張三 移動電話XXXX,辦公電話XXXX,住宅電話XXXX,傳真號碼XXXX李四 移動電話XXXX,辦公電話XXXX,住宅電話XXXX,傳真號碼XXXX如圖1所示,為通信錄映射的Vcard結(jié)構(gòu),通信錄包括多個記錄,而每個記錄又包括多個條目。例如,與用戶A的通信錄相對應,張三及其所有信息就是該結(jié)構(gòu)中的一條記錄,記錄中有多個條目,即張三的移動電話、辦公電話、住宅電話、傳真號碼。而在不同終端中,相同的條目可能采用不同的“屬性;參數(shù)”組合標識,例如,移動電話就可以用“TEL;Cell”或“TEL;Voice;Cell”標識,并且不同終端支持的條目也可能不同,終端通信錄格式的不統(tǒng)一可能造成信息丟失的問題(1)在不同移動終端中,相同的條目可能使用不同的“屬性;參數(shù)”組合標識,例如,在A終端中,“移動電話”條目是用“TEL;Cell”進行標識,而在B終端中,“移動電話”是用“TEL;Voice;Cell”進行標識。用戶將A終端的通信錄同步到服務(wù)器,服務(wù)器接收同步內(nèi)容并保存,移動電話條目用“TEL;Cell”來保存。當用戶更換B終端,請求服務(wù)器將通信錄同步到終端時,由于服務(wù)器仍將標識“TEL;Cell”同步給B終端,但是B終端無法識別,從而導致信息丟失。并且,在這種情況下,服務(wù)器必須能夠識別條目與所有“屬性;參數(shù)”組合的一對多對應關(guān)系,否則服務(wù)器也可能丟失用戶數(shù)據(jù)。
(2)某些終端的條目對應的“屬性;參數(shù)”是在標準的“屬性;參數(shù)”之后增加一些對條目沒有影響的附加參數(shù),如表示優(yōu)先級的PREF參數(shù)。目前的服務(wù)器對這些參數(shù)不作處理,從而將造成由于無法匹配到合適的條目而引起信息丟失或者無法在網(wǎng)頁上顯示給用戶。即使服務(wù)器保存了這些參數(shù)信息,當用戶更換B終端再進行通信錄同步時,也會出現(xiàn)無法識別這些字段的情況,從而引起信息的丟失。
(3)不同終端支持的條目可能不同,例如,A終端支持的條目為條目1(移動電話)、條目2(辦公電話)和條目3(住宅電話),而B終端僅支持條目2(辦公電話)和條目3(住宅電話)。用戶用A終端同步通信錄到服務(wù)器,服務(wù)器接收同步內(nèi)容并保存。當用戶更換B終端,服務(wù)器將條目2和條目3同步給用戶,但是條目1只能保存在服務(wù)器上。如果用戶在B終端上對通信錄中某個記錄的條目2或條目3做了修改,就會產(chǎn)生與服務(wù)器之間的同步,由于目前同步操作是針對記錄進行的,因此服務(wù)器中的該記錄就要被替換,原來該記錄下的條目1也將隨之被清除。當用戶再次換回A終端,進行數(shù)據(jù)同步時,將無法得到該記錄下的條目1信息。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)所存在的信息丟失問題,提供一種移動終端與服務(wù)器之間的數(shù)據(jù)同步方法,針對通信錄中的各個條目進行操作,根據(jù)移動終端的支持情況對通信錄條目屬性及參數(shù)進行適配,根據(jù)條目屬性及參數(shù)的含義對各條目進行映射,從而有效防止由于條目屬性及參數(shù)不匹配及針對記錄操作而導致的信息丟失。
為了實現(xiàn)上述目的,本發(fā)明提供了一種移動終端與服務(wù)器之間的數(shù)據(jù)上行同步方法,其中包括以下步驟步驟1、移動終端向服務(wù)器發(fā)送通信錄的上行同步請求;步驟2、服務(wù)器向移動終端返回通信錄的上行同步請求響應;步驟3、移動終端向服務(wù)器發(fā)送需要同步的通信錄數(shù)據(jù);步驟4、服務(wù)器根據(jù)移動終端的號碼判斷服務(wù)器中是否存在該號碼的通信錄數(shù)據(jù),若存在,執(zhí)行步驟5;否則,執(zhí)行步驟6;
步驟5、服務(wù)器根據(jù)接收到的通信錄數(shù)據(jù),逐條目地修改服務(wù)器保存的通信錄數(shù)據(jù),執(zhí)行步驟7;步驟6、服務(wù)器保存接收到的通信錄數(shù)據(jù);步驟7、結(jié)束。
在所述步驟7中的結(jié)束之前還包括服務(wù)器將其保存的通信錄數(shù)據(jù)中的條目屬性及參數(shù)信息映射到條目標識,為各條目添加條目標識。其中在所述的服務(wù)器將其保存的通信錄數(shù)據(jù)中的各條目屬性及參數(shù)信息映射到條目標識前,先對條目屬性及參數(shù)信息中的附加參數(shù)進行過濾。
所述步驟5可具體為步驟501、服務(wù)器判斷接收到的通信錄數(shù)據(jù)中的第一條記錄是否存在于服務(wù)器保存的通信錄數(shù)據(jù)中,若存在,執(zhí)行步驟502;否則,執(zhí)行步驟508;步驟502、服務(wù)器判斷第一條記錄的第一個條目是否可以映射到服務(wù)器保存的通信錄中的條目,若可以,執(zhí)行步驟503,否則,執(zhí)行步驟506;步驟503、服務(wù)器從第一個條目中提取內(nèi)容數(shù)據(jù)信息,并用該內(nèi)容數(shù)據(jù)信息替代相應條目的內(nèi)容數(shù)據(jù)信息;步驟504、服務(wù)器判斷第一個條目的屬性及參數(shù)信息與相應條目的屬性及參數(shù)信息是否相同,若相同,執(zhí)行步驟507,否則,執(zhí)行步驟505;步驟505、服務(wù)器根據(jù)第一個條目的屬性及參數(shù)信息修改相應條目的屬性及參數(shù)信息,執(zhí)行步驟507;步驟506、服務(wù)器將第一個條目保存于服務(wù)器保存的通信錄的相應記錄下;步驟507、服務(wù)器將第一個條目從接收到的通信錄數(shù)據(jù)第一條記錄中刪除,判斷第一條記錄中是否還存在條目,若存在執(zhí)行步驟502,否則,執(zhí)行步驟509,步驟508、服務(wù)器將第一條記錄保存到服務(wù)器保存的通信錄中;步驟509、服務(wù)器將第一條記錄從接收到的通信錄數(shù)據(jù)中刪除,判斷接收到的通信錄數(shù)據(jù)中是否還存在記錄,若存在執(zhí)行步驟501,否則,執(zhí)行步驟7。
為了實現(xiàn)上述目的,本發(fā)明還提供了一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法,其中執(zhí)行以下步驟步驟1、移動終端向服務(wù)器發(fā)送通信錄的下行同步請求,該下行同步請求中攜帶有該移動終端的號碼信息以及支持的通信錄條目屬性及參數(shù)信息;步驟2、服務(wù)器接收到該下行同步請求后,根據(jù)移動終端的號碼判斷服務(wù)器中是否存在該號碼的通信錄數(shù)據(jù),若存在,執(zhí)行步驟3,否則,執(zhí)行步驟6;步驟3、服務(wù)器根據(jù)移動終端支持的條目屬性及參數(shù)信息,逐條目地修改通信錄數(shù)據(jù)中的各條目的屬性及參數(shù)信息;步驟4、服務(wù)器向移動終端發(fā)送通信錄數(shù)據(jù);步驟5、移動終端存儲接收到的通信錄數(shù)據(jù),執(zhí)行步驟7;步驟6、服務(wù)器向移動終端返回錯誤信息;步驟7、結(jié)束。
所述步驟3可具體為步驟301、服務(wù)器從通信錄中提取待修改的第一條記錄;步驟302、服務(wù)器從第一條記錄中提取待修改第一個條目;步驟303、服務(wù)器判斷該第一個條目的屬性及參數(shù)信息是否可映射到移動終端支持的條目屬性及參數(shù)信息,若可以,執(zhí)行步驟304,否則,執(zhí)行步驟305;步驟304、服務(wù)器根據(jù)移動終端支持的條目屬性及參數(shù)信息修改該條目的屬性及參數(shù)信息;步驟305、服務(wù)器判斷當前記錄中是否存在待修改的條目,若存在,執(zhí)行步驟302,否則,執(zhí)行步驟306;步驟306、服務(wù)器判斷是否有待修改的記錄,若存在,執(zhí)行步驟301,否則,執(zhí)行步驟4。
其中,在步驟304中,服務(wù)器可先判斷該條目的屬性及參數(shù)信息與移動終端支持的條目屬性及參數(shù)信息是否一致,若一致,執(zhí)行步驟305;否則,根據(jù)移動終端支持的條目屬性及參數(shù)信息修改該條目的屬性及參數(shù)信息,執(zhí)行步驟305。
所述步驟4可具體為服務(wù)器根據(jù)移動終端支持的條目屬性及參數(shù)信息,向移動終端發(fā)送通信錄數(shù)據(jù)中移動終端支持的通信錄條目數(shù)據(jù)。
移動終端可針對條目對接收到的通信錄數(shù)據(jù)進行存儲。
本發(fā)明還提供了另一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法,其中執(zhí)行以下步驟步驟1、移動終端向服務(wù)器接發(fā)送通信錄數(shù)據(jù)下行同步請求,該下行同步請求中攜帶有該移動終端的號碼信息及支持的通信錄條目屬性及參數(shù)信息;步驟2、服務(wù)器接收到該下行同步請求后,根據(jù)移動終端的號碼判斷服務(wù)器中是否存在該號碼的通信錄數(shù)據(jù),若存在,執(zhí)行步驟3,否則,執(zhí)行步驟5;步驟3、服務(wù)器將該號碼的通信錄數(shù)據(jù)發(fā)送給移動終端;步驟4、移動終端根據(jù)接收到的通信錄數(shù)據(jù),逐條目地修改移動終端保存的通信錄數(shù)據(jù),執(zhí)行步驟6;步驟5、服務(wù)器向移動終端返回錯誤信息;步驟6、結(jié)束。
所述步驟4可具體為步驟401、移動終端從接收到的通信錄數(shù)據(jù)中提取出第一條記錄;步驟402、移動終端判斷該移動終端的通信錄中是否存在該第一條記錄,若存在,執(zhí)行步驟404,否則執(zhí)行步驟403;步驟403、移動終端在通信錄中新建一條記錄;
步驟404、移動終端從該第一條記錄中提取出第一個條目,判斷該第一個條目是否可以映射到移動終端保存的通信錄中的條目,若是,執(zhí)行步驟405;否則,執(zhí)行步驟406;步驟405、移動終端從該第一個條目中獲取內(nèi)容數(shù)據(jù),并存儲到移動終端通信錄相應條目的內(nèi)容數(shù)據(jù)部分;步驟406、移動終端將第一個條目從第一條記錄中刪除,判斷第一條記錄中是否存在條目數(shù)據(jù),若存在,執(zhí)行步驟404,否則,執(zhí)行步驟407;步驟407、移動終端將第一條記錄從接收到的通信錄數(shù)據(jù)中刪除,判斷接收到的通信錄數(shù)據(jù)中是否存在記錄數(shù)據(jù),若存在,執(zhí)行步驟401,否則,結(jié)束。
本發(fā)明的技術(shù)方案實現(xiàn)了針對通信錄中的各個條目進行操作,并能夠根據(jù)移動終端的具體支持情況對通信錄條目屬性及參數(shù)進行適配,根據(jù)屬性及參數(shù)的含義對各條目進行映射,從而能夠有效防止由于條目屬性及參數(shù)不匹配及針對記錄操作而導致的信息丟失。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
圖1為通信錄格式示意圖。
圖2為本發(fā)明的一種移動終端與服務(wù)器之間的數(shù)據(jù)上行同步方法的流程圖。
圖3為本發(fā)明的一種移動終端與服務(wù)器之間的數(shù)據(jù)上行同步方法中服務(wù)器逐條目修改通信錄數(shù)據(jù)的方法一具體實施例流程圖。
圖4為本發(fā)明的一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法的流程圖。
圖5為本發(fā)明的一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法中服務(wù)器逐條目修改通信錄數(shù)據(jù)的方法一具體實施例流程圖。
圖6為本發(fā)明的另一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法流程圖。
圖7為本發(fā)明的另一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法中移動終端逐條目修改通信錄數(shù)據(jù)的方法一具體實施例流程圖。
具體實施例方式
本發(fā)明是針對條目進行通信錄的上行同步和下行同步,以避免由于同步引起的數(shù)據(jù)丟失。
如圖2所示,為本發(fā)明的移動終端與服務(wù)器之間的數(shù)據(jù)上行同步方法的流程圖,該方法包括如下步驟步驟1100、移動終端向服務(wù)器發(fā)送上行同步請求;移動終端與服務(wù)器的同步可分為上行同步和下行同步,上行同步是將移動終端的信息備份到服務(wù)器上,而下行同步是將服務(wù)器的信息保存到移動終端中。上行同步請求可由用戶主動發(fā)起,也可能是在用戶修改終端上通信錄時,由終端提示用戶發(fā)起的。
步驟1200、服務(wù)器向移動終端返回上行同步請求響應;服務(wù)器會對發(fā)送同步請求的移動終端進行鑒權(quán),若鑒權(quán)通過,向移動終端發(fā)送上行同步請求響應,若沒有通過,發(fā)送錯誤提示。
步驟1300、移動終端向服務(wù)器發(fā)送需要同步的通信錄數(shù)據(jù);步驟1400、服務(wù)器根據(jù)移動終端的號碼判斷在服務(wù)器中,是否存在移動終端的通信錄數(shù)據(jù),若存在,執(zhí)行步驟1500;否則,執(zhí)行步驟1600;步驟1500、服務(wù)器根據(jù)接收到的通信錄數(shù)據(jù),逐條目地修改服務(wù)器保存的通信錄數(shù)據(jù),執(zhí)行步驟1700;由于服務(wù)器中存在該通信錄,為了避免數(shù)據(jù)的丟失,針對通信錄中的各個條目進行修改,如圖3所示,為服務(wù)器逐條目修改通信錄數(shù)據(jù)的方法一具體實施例流程圖,包括如下步驟
步驟1501、服務(wù)器判斷接收到的通信錄數(shù)據(jù)中的第一條記錄是否存在于服務(wù)器保存的通信錄數(shù)據(jù)中,若是,執(zhí)行步驟1502;否則,執(zhí)行步驟1508;步驟1502、服務(wù)器判斷第一條記錄的第一個條目是否可以映射到服務(wù)器保存的通信錄數(shù)據(jù)中的相應條目,若可以,執(zhí)行步驟1503;否則,執(zhí)行步驟1506;服務(wù)器中存儲了國際標準組織定義的各種標識方式,并按照含義分類,如“移動電話”對應“TEL;Cell”或“TEL;Voice;Cell”;(TEL是屬性,Voice及Cell是參數(shù)標識表明該條目是某人的移動電話)“辦公電話”對應“TEL;Work”或“TEL;Voice;Work”;“住宅電話”對應“TEL;Home”或“TEL;Voice;Home”“電話號碼”對應“TEL”或“TEL;Voice”;“電子郵件”對應“EMAIL;INTERNET”或“EMAIL”。
在服務(wù)器判斷是否能夠映射到相應條目時,會根據(jù)屬性及參數(shù)信息進行查找,例如,當前記錄下有一個條目的屬性及參數(shù)信息為“TEL;Work”,那么,服務(wù)器就會在存儲的通信錄中的相應記錄下查找屬性及參數(shù)信息為“TEL;Work”或“TEL;Voice;Work”的條目。
對于存在的條目,要根據(jù)接收到的數(shù)據(jù)對服務(wù)器中的數(shù)據(jù)進行修改,修改可有兩種方式,一種是對條目進行整體的替換,該方法速度快,但可能會丟失信息,這是由于國際標準組織定義的格式非常靈活,有些終端在標準條目標識后加入了附加參數(shù),如表明優(yōu)先級的PREF參數(shù),當服務(wù)器進行整體條目替換時,若第一個條目中沒有附加參數(shù)信息,那么服務(wù)器中原來存儲的該信息就會丟失。因此采用了另一種修改方法,針對各條目的屬性及參數(shù)信息以及內(nèi)容數(shù)據(jù)分別進行修改。
步驟1503、服務(wù)器從第一個條目中提取內(nèi)容數(shù)據(jù)信息,并用該內(nèi)容數(shù)據(jù)信息替代相應條目的內(nèi)容數(shù)據(jù)信息;
條目的內(nèi)容數(shù)據(jù)信息指的是條目的具體數(shù)據(jù)內(nèi)容,例如,具體的電話號碼“12345678900”。
步驟1504、服務(wù)器判斷第一個條目的屬性及參數(shù)信息與相應條目的屬性及參數(shù)信息是否相同,若相同,執(zhí)行步驟1507,否則,執(zhí)行步驟1505;步驟1505、服務(wù)器根據(jù)第一個條目的屬性及參數(shù)信息修改相應條目的屬性及參數(shù)信息,執(zhí)行步驟1507;在修改屬性及參數(shù)信息時,若服務(wù)器中相應條目具有附加參數(shù),而第一個條目中沒有,那么仍會保留該附加參數(shù);若服務(wù)器中相應條目沒有附加參數(shù),而第一個條目中有,那么就將該附加參數(shù)也保存到相應條目中;若服務(wù)器中相應條目的附加參數(shù)與第一個條目的附加參數(shù)不同,那么也將第一條目中的該附加參數(shù)保存到服務(wù)器的相應條目中。例如,服務(wù)器中保存的條目的屬性及參數(shù)為“TEL;Voice;Work”及“PREF”,其中的“PREF”表明的是聯(lián)系人工作電話的優(yōu)先級,第一個條目的屬性及參數(shù)為“TEL;Work”,那么,就將“TEL;Voice;Work”修改為“TEL;Work”,而附加參數(shù)“PREF”不變。當?shù)谝粋€條目的屬性及參數(shù)具有附加參數(shù)“PREF”,而服務(wù)器中保存的條目沒有該附加參數(shù)時,服務(wù)器會將該參數(shù)保存到相應條目中。
步驟1506、服務(wù)器將第一個條目保存于服務(wù)器保存的通信錄的相應記錄下;服務(wù)器中沒有相應的條目信息,那么可直接保存該條目。
步驟1507、服務(wù)器將第一個條目從第一條記錄中刪除,判斷第一條記錄中是否還存在條目,若存在,執(zhí)行步驟1502,否則,執(zhí)行步驟1509;步驟1508、服務(wù)器將第一條記錄保存到服務(wù)器保存的通信錄中;當服務(wù)器中沒有第一條記錄時,可直接保存該記錄。
步驟1509、服務(wù)器將第一條記錄從接收到的通信錄數(shù)據(jù)中刪除,判斷接收到的通信錄數(shù)據(jù)中是否還存在記錄,若存在執(zhí)行步驟1501,否則,執(zhí)行步驟1700。
步驟1600、服務(wù)器保存接收到的通信錄數(shù)據(jù);若服務(wù)器中沒有相應的通信錄,可直接保存接收到的通信錄數(shù)據(jù)。
步驟1700、結(jié)束。
上述步驟完成了將通信錄備份到服務(wù)器上,在進行上行同步時,為了防止由于記錄修改而引起的用戶信息丟失,針對條目更新服務(wù)器上的通信錄數(shù)據(jù),從而,在通信錄數(shù)據(jù)上行同步中,可以有效的避免數(shù)據(jù)的丟失。
為了方便用戶查看通信錄,用戶可以通過互聯(lián)網(wǎng)登陸服務(wù)器,查看和修改通信錄。在用戶通過互聯(lián)網(wǎng)查看通信錄時,應該顯示每個條目的屬性及參數(shù)信息對應的中文標識以及條目的具體數(shù)據(jù)內(nèi)容,因此,還應對各條目進行映射,將各條目的屬性及參數(shù)信息映射到相應的條目標識,并為各條目添加條目標識。從而在用戶通過互聯(lián)網(wǎng)查看通信錄時,可以清楚地看到電話是聯(lián)系人的辦公電話、移動電話還是住宅電話,而不會顯示屬性參數(shù)信息,例如,條目屬性參數(shù)為“TEL;WORK”,那么就將其映射為“辦公電話”。條目標識可以是文字,也可以是圖形等形式。
在進行參數(shù)映射時,由于可能存在附加參數(shù),若對整個條目的所有屬性及參數(shù)進行映射,會出現(xiàn)找不到相應條目標識的情況。因此,在進行參數(shù)映射之前,先對屬性及參數(shù)信息進行處理,對附加參數(shù)進行過濾,然后對過濾后的屬性及參數(shù)進行匹配映射,從而可以在網(wǎng)頁上將相應信息顯示給用戶。例如,終端上報的標識為“TEL;CELL;HOME;PREF”,那么服務(wù)器在進行參數(shù)映射時,先將附加參數(shù)“PREF”過濾掉以后,對剩下的“TEL;CELL;HOME”進行匹配映射,映射到“住宅電話”。從而,用戶可以通過互聯(lián)網(wǎng)訪問服務(wù)器時看到通信錄中的所有記錄。服務(wù)器上保存的通信錄中,仍保存著附加參數(shù),以避免數(shù)據(jù)丟失。
如圖4所示,為本發(fā)明的移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法的流程圖,該方法包括如下步驟步驟2100、移動終端向服務(wù)器發(fā)送通信錄的下行同步請求,該下行同步請求中攜帶有發(fā)送下行同步請求的移動終端支持的通信錄條目屬性及參數(shù)信息;下行同步請求可能是用戶通過移動終端主動發(fā)起的,也可能用戶通過互聯(lián)網(wǎng)修改服務(wù)器上的通信錄時由網(wǎng)絡(luò)側(cè)提示用戶發(fā)起的。
步驟2200、服務(wù)器接收到通信錄的下行同步請求后,根據(jù)移動終端的號碼判斷服務(wù)器中是否存在該號碼的通信錄數(shù)據(jù),若存在,執(zhí)行步驟2300,否則,執(zhí)行步驟2600;步驟2300、服務(wù)器根據(jù)移動終端支持的條目屬性及參數(shù)信息,逐條目地修改通信錄數(shù)據(jù)中的各條目的屬性及參數(shù)信息;如圖5所示,為服務(wù)器逐條目修改通信錄數(shù)據(jù)的方法一具體實施例流程圖,該實施例包括步驟2301、服務(wù)器從通信錄中提取待修改的第一條記錄;步驟2302、服務(wù)器從第一條記錄中提取待修改第一個條目;步驟2303、服務(wù)器判斷該第一個條目的屬性及參數(shù)信息是否可映射到移動終端支持的條目屬性及參數(shù)信息,若可以,執(zhí)行步驟2304,否則,執(zhí)行步驟2305;由于條目屬性及參數(shù)格式的多樣性,發(fā)起下行同步請求的移動終端可能不支持服務(wù)器中存儲的通信錄的標識格式,因此,要根據(jù)移動終端支持的條目屬性及參數(shù)信息修改服務(wù)器中的通信錄?!翱梢杂成涞揭苿咏K端支持的條目屬性及參數(shù)信息”說明移動終端中存在與當前條目屬性及參數(shù)信息含義相同的屬性及參數(shù)信息,那么可根據(jù)移動終端支持的格式修改服務(wù)器通信錄數(shù)據(jù)?!安豢捎成洹闭f明移動終端不具備與當前條目屬性及參數(shù)信息含義相同的屬性及參數(shù)信息,因此不進行修改。例如,當前條目屬性及參數(shù)信息為“TEL;CELL;HOME;X-MOT-RINGID”,其含義是住宅電話的特定鈴音,說明當前條目的內(nèi)容數(shù)據(jù)為當前記錄中的住宅電話設(shè)定的鈴音的標識(可能是鈴音的名稱或鈴音存儲的位置等信息),而移動終端不支持為住宅電話設(shè)置特定鈴音,那么當前條目就無法映射到移動終端支持的屬性及參數(shù)信息。擴展參數(shù)會改變條目的含義,“TEL;CELL;HOME;X-MOT-RINGID”和“TEL;CELL;HOME”,一個是住宅電話鈴音標識,一個是住宅電話,從而,對于具有擴展參數(shù)的條目屬性及參數(shù)可作為含義不統(tǒng)一的條目對待。附加參數(shù)對條目的內(nèi)容數(shù)據(jù)沒有影響,“TEL;CELL”和“TEL;CELL;PREF”都是移動電話,二者的含義是一致的,只是后者具有優(yōu)先級參數(shù),可先對附加參數(shù)進行過濾,然后再進行映射。
步驟2304、服務(wù)器根據(jù)移動終端支持的條目屬性及參數(shù)信息修改服務(wù)器保存的通信錄數(shù)據(jù)的條目屬性及參數(shù)信息;例如,服務(wù)器保存的通信錄中采用“TEL;Cell”的格式,而移動終端支持的是“TEL;Voice;Cell”格式。服務(wù)器會根據(jù)其存儲的多種屬性及參數(shù)格式,查找服務(wù)器通信錄當前條目的屬性及參數(shù)信息與移動終端支持的哪個條目屬性及參數(shù)信息的含義是相同的,根據(jù)移動終端所支持的相應格式修改通信錄數(shù)據(jù),例如,將服務(wù)器通信錄中的“TEL;Cell”修改為“TEL;Voice;Cell”。當服務(wù)器的條目及屬性參數(shù)具有附加參數(shù)時,而移動終端不支持時,服務(wù)器應保留保存的附加參數(shù),例如,當前條目采用“TEL;Cell;PREF”,移動終端支持的是“TEL;Voice;Cell”,那么就將“TEL;Cell;PREF”修改為“TEL;Voice;Cell;PREF”,以保證數(shù)據(jù)不丟失。
為了避免不必要的參數(shù)修改,可先判斷當前條目的屬性及參數(shù)信息與移動終端支持的相應屬性及參數(shù)信息是否一致,即在附加參數(shù)過濾后,屬性及參數(shù)信息的格式是否相同,若相同,則不需修改,若不相同,則要根據(jù)上述方法修改。
步驟2305、服務(wù)器判斷當前記錄中是否存在待修改的條目,若存在,執(zhí)行步驟2302,否則,執(zhí)行步驟2306;步驟2306、服務(wù)器判斷是否有待修改的記錄,若存在,執(zhí)行步驟2301,否則,執(zhí)行步驟2400。
步驟2400、服務(wù)器向移動終端發(fā)送通信錄數(shù)據(jù);步驟2500、移動終端存儲接收到的通信錄數(shù)據(jù),執(zhí)行步驟2700;與上行同步中,與服務(wù)器逐條目保存通信錄數(shù)據(jù)相類似,在進行下行同步時,移動終端也可針對條目保存通信錄數(shù)據(jù),以防止由于針對記錄修改而導致的信息丟失。
步驟2600、服務(wù)器向移動終端返回錯誤信息;步驟2700、結(jié)束。
上述移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法案實現(xiàn)了在發(fā)起下行同步請求的移動終端不支持服務(wù)器存儲的通信錄標識格式時,根據(jù)移動終端支持的標識格式對通信錄進行修改,從而有效的防止了因?qū)傩约皡?shù)不匹配而導致的信息丟失。
在進行下行同步時,發(fā)起下行同步的移動終端可能不支持附加參數(shù),那么在這種情況下,就無需將附加參數(shù)發(fā)送到移動終端,從而,在向發(fā)起下行同步請求的移動終端發(fā)送通信錄信息時,服務(wù)器可根據(jù)通信錄支持的條目屬性及參數(shù)信息,向發(fā)送所述下行同步請求的移動終端發(fā)送該移動終端支持的通信錄中各條目數(shù)據(jù),例如,當移動終端不支持附加參數(shù)時,只發(fā)送條目數(shù)據(jù)中除附加參數(shù)之外的其他數(shù)據(jù),再如,當移動終端不支持擴展參數(shù)時,就不發(fā)送擴展參數(shù)條目,這樣可以減少不必要的數(shù)據(jù)傳輸。
移動終端可能支持多個重復的條目,例如,移動終端允許用戶為一個聯(lián)系人輸入多個移動電話號碼。在進行通信錄的上行同步時,服務(wù)器可依然按照上述方式對通信錄進行保存和更新。在進行通信錄的下行同步時,移動終端支持的重復條目數(shù)可能與服務(wù)器中的通信錄的重復條目數(shù)目不同,當移動終端支持的重復條目多時,可按上述步驟向移動終端發(fā)送通信錄,當移動終端支持的重復條目少時,可按照存儲的順序進行適配并發(fā)送,例如,服務(wù)器的通信錄中的某個聯(lián)系人有3個移動電話號碼,但發(fā)起下行同步請求的移動終端只支持一個移動電話號碼,那么就將服務(wù)器通信錄中該聯(lián)系人的第一個移動電話號碼進行適配并發(fā)送。由于當通信錄允許存儲多個含義相同的條目時,往往會有優(yōu)先級參數(shù),因此也可根據(jù)優(yōu)先級參數(shù)選擇條目進行適配和發(fā)送。
由于服務(wù)器會在一個號碼的通信錄中保存所有使用過該號碼的移動終端的所有條目,隨著用戶更換終端的增多,可能造成服務(wù)器上保存的用戶數(shù)據(jù)越來越多。為了避免此類碎片信息長期占用服務(wù)器空間,服務(wù)器需要給這類數(shù)據(jù)賦予一定生命周期,如果數(shù)據(jù)到期后,服務(wù)器將通知用戶清理數(shù)據(jù),如果用戶不能及時刪除超時數(shù)據(jù),服務(wù)器就刪除數(shù)據(jù)。
在下行同步過程中,對條目標識的適配也可由移動終端來完成,如圖6所示,為本發(fā)明的另一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法的流程圖,該方法包括以下步驟步驟3100、移動終端向服務(wù)器接發(fā)送通信錄數(shù)據(jù)下行同步請求,該下行同步請求中攜帶有該移動終端的號碼信息及支持的通信錄條目屬性及參數(shù)信息;下行同步請求可能是用戶主動發(fā)起的,也可能用戶通過互聯(lián)網(wǎng)修改服務(wù)器上的通信錄時由網(wǎng)絡(luò)側(cè)提示用戶發(fā)起的。
步驟3200、服務(wù)器接收到該下行同步請求后,根據(jù)移動終端的號碼判斷服務(wù)器中是否存在該號碼的通信錄數(shù)據(jù),若存在,執(zhí)行步驟3300,否則,執(zhí)行步驟3500;步驟3300、服務(wù)器將該號碼的通信錄數(shù)據(jù)發(fā)送給移動終端;步驟3400、移動終端根據(jù)接收到的通信錄數(shù)據(jù),逐條目地修改移動終端保存的通信錄數(shù)據(jù),該修改針對條目進行,執(zhí)行步驟3600;步驟3500、服務(wù)器向移動終端返回錯誤信息;步驟3600、結(jié)束。
移動終端在修改通信錄數(shù)據(jù)時,針對每個條目進行操作,如圖7所示,為移動終端逐條目修改通信錄數(shù)據(jù)的方法一具體實施例流程圖,包括如下步驟步驟3401、移動終端從接收到的通信錄數(shù)據(jù)中提取出第一條記錄;步驟3402、移動終端判斷該移動終端的通信錄中是否存在該第一條記錄,若存在,執(zhí)行步驟3404,否則執(zhí)行步驟3403;判斷是根據(jù)記錄的標識信息進行,例如記錄的“姓名”是否相同。
步驟3403、移動終端在其保存的通信錄中新建一條記錄;當移動終端不存在第一條記錄時,要根據(jù)第一條記錄的標識信息新建一記錄,在新建記錄后,該記錄下會有移動終端支持的各條目,但是各條目是不完整的,只具有屬性及參數(shù)信息,沒有內(nèi)容數(shù)據(jù)。
步驟3404、移動終端從該第一條記錄中提取出第一個條目,移動終端判斷該第一個條目是否可以映射到移動終端保存的通信錄中的條目,若可以,執(zhí)行步驟3405;否則,執(zhí)行步驟3406;在移動終端中存儲國際標準組織定義的各種標識方式,移動終端根據(jù)提取出的條目的屬性及參數(shù)信息,在移動終端的通信錄中的相應記錄下查找是否存在相應的條目。“映射”指的是條目的含義相同,例如,“TEL;Cell”與“TEL;Voice;Cell”的含義相同,均為移動電話;“TEL;Cell;PREF”與“TEL;Voice;Cell”的含義也認為是相同的。
當“可以”時,說明移動終端具有含義相同的條目,直接將內(nèi)容數(shù)據(jù)存儲到相應條目,若“無法映射”,那么說明移動終端不支持該含義條目,不進行存儲。
步驟3405、移動終端從該第一個條目中獲取內(nèi)容數(shù)據(jù),并存儲到移動終端的通信錄中相應條目的內(nèi)容數(shù)據(jù)部分;移動終端通信錄中相應條目的內(nèi)容數(shù)據(jù)部分可能是有數(shù)據(jù)的,也可能是空的;當有數(shù)據(jù)時,可用第一個條目的內(nèi)容數(shù)據(jù)替代移動終端中相應條目的內(nèi)容數(shù)據(jù),當空時,直接將第一個條目的內(nèi)容數(shù)據(jù)存儲到移動終端相應條目的內(nèi)容數(shù)據(jù)部分。
步驟3406、移動終端將第一個條目從第一條記錄中刪除,判斷第一條記錄中是否存在條目數(shù)據(jù),若存在,執(zhí)行步驟3404,否則,執(zhí)行步驟3407;步驟3407、移動終端將第一條記錄從接收到的通信錄數(shù)據(jù)中刪除,判斷接收到的通信錄數(shù)據(jù)中是否存在記錄數(shù)據(jù),若存在,執(zhí)行步驟3401,否則,結(jié)束。
移動終端通過逐條目進行通信錄的修改,并在修改中進行參數(shù)映射,從而可以有效避免由于逐記錄操作及屬性參數(shù)不一致而導致的信息丟失問題。
最后應當說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制;盡管參照較佳實施例對本發(fā)明進行了詳細的說明,所屬領(lǐng)域的普通技術(shù)人員應當理解,依然可以對本發(fā)明的具體實施方式
進行修改或者對部分技術(shù)特征進行等同替換;而不脫離本發(fā)明技術(shù)方案的精神,其均應涵蓋在本發(fā)明請求保護的技術(shù)方案范圍當中。
權(quán)利要求
1.一種移動終端與服務(wù)器之間的數(shù)據(jù)上行同步方法,其中包括以下步驟步驟1、移動終端向服務(wù)器發(fā)送通信錄的上行同步請求;步驟2、服務(wù)器向移動終端返回通信錄的上行同步請求響應;步驟3、移動終端向服務(wù)器發(fā)送需要同步的通信錄數(shù)據(jù);步驟4、服務(wù)器根據(jù)移動終端的號碼判斷服務(wù)器中是否存在該號碼的通信錄數(shù)據(jù),若存在,執(zhí)行步驟5;否則,執(zhí)行步驟6;步驟5、服務(wù)器根據(jù)接收到的通信錄數(shù)據(jù),對服務(wù)器保存的通信錄數(shù)據(jù)進行逐條目修改,執(zhí)行步驟7;步驟6、服務(wù)器保存接收到的通信錄數(shù)據(jù);步驟7、結(jié)束。
2.根據(jù)權(quán)利要求1所述的方法,其中所述步驟5具體為步驟501、服務(wù)器判斷接收到的通信錄數(shù)據(jù)中的第一條記錄是否存在于服務(wù)器保存的通信錄數(shù)據(jù)中,若存在,執(zhí)行步驟502;否則,執(zhí)行步驟508;步驟502、服務(wù)器判斷第一條記錄的第一個條目是否可以映射到服務(wù)器保存的通信錄中的條目,若可以,執(zhí)行步驟503,否則,執(zhí)行步驟506;步驟503、服務(wù)器從第一個條目中提取內(nèi)容數(shù)據(jù)信息,并用該內(nèi)容數(shù)據(jù)信息替代相應條目的內(nèi)容數(shù)據(jù)信息;步驟504、服務(wù)器判斷第一個條目的屬性及參數(shù)信息與相應條目的屬性及參數(shù)信息是否相同,若相同,執(zhí)行步驟507,否則,執(zhí)行步驟505;步驟505、服務(wù)器根據(jù)第一個條目的屬性及參數(shù)信息修改相應條目的屬性及參數(shù)信息,執(zhí)行步驟507;步驟506、服務(wù)器將第一個條目保存于服務(wù)器保存的通信錄的相應記錄下;步驟507、服務(wù)器將第一個條目從接收到的通信錄數(shù)據(jù)第一條記錄中刪除,判斷第一條記錄中是否還存在條目,若存在執(zhí)行步驟502,否則,執(zhí)行步驟509,步驟508、服務(wù)器將第一條記錄保存到服務(wù)器保存的通信錄中;步驟509、服務(wù)器將第一條記錄從接收到的通信錄數(shù)據(jù)中刪除,判斷接收到的通信錄數(shù)據(jù)中是否還存在記錄,若存在,執(zhí)行步驟501,否則,執(zhí)行步驟7。
3.根據(jù)權(quán)利要求1所述的方法,其中在所述步驟7中的結(jié)束之前還包括服務(wù)器將其保存的通信錄數(shù)據(jù)中的條目屬性及參數(shù)信息映射到條目標識,為各條目添加條目標識。
4.根據(jù)權(quán)利要求3所述的方法,其中在所述的服務(wù)器將其保存的通信錄數(shù)據(jù)中的各條目屬性及參數(shù)信息映射到條目標識前,先對條目屬性及參數(shù)信息中的附加參數(shù)進行過濾。
5.一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法,其中包括以下步驟步驟1、移動終端向服務(wù)器發(fā)送通信錄的下行同步請求,該下行同步請求中攜帶有該移動終端的號碼信息以及支持的通信錄條目屬性及參數(shù)信息;步驟2、服務(wù)器接收到該下行同步請求后,根據(jù)移動終端的號碼判斷服務(wù)器中是否存在該號碼的通信錄數(shù)據(jù),若存在,執(zhí)行步驟3,否則,執(zhí)行步驟6;步驟3、服務(wù)器根據(jù)移動終端支持的條目屬性及參數(shù)信息,逐條目地修改通信錄數(shù)據(jù)中的各條目的屬性及參數(shù)信息;步驟4、服務(wù)器向移動終端發(fā)送通信錄數(shù)據(jù);步驟5、移動終端存儲接收到的通信錄數(shù)據(jù),執(zhí)行步驟7;步驟6、服務(wù)器向移動終端返回錯誤信息;步驟7、結(jié)束。
6.根據(jù)權(quán)利要求5所述的方法,其中在所述步驟3具體為步驟301、服務(wù)器從通信錄中提取待修改的第一條記錄;步驟302、服務(wù)器從第一條記錄中提取待修改第一個條目;步驟303、服務(wù)器判斷該第一個條目的屬性及參數(shù)信息是否可映射到移動終端支持的條目屬性及參數(shù)信息,若可以,執(zhí)行步驟304,否則,執(zhí)行步驟305;步驟304、服務(wù)器根據(jù)移動終端支持的條目屬性及參數(shù)信息修改該條目的屬性及參數(shù)信息;步驟305、服務(wù)器判斷當前記錄中是否存在待修改的條目,若存在,執(zhí)行步驟302,否則,執(zhí)行步驟306;步驟306、服務(wù)器判斷是否有待修改的記錄,若存在,執(zhí)行步驟301,否則,執(zhí)行步驟4。
7.根據(jù)權(quán)利要求6所述的方法,其中所步驟304具體為服務(wù)器判斷該條目的屬性及參數(shù)信息與移動終端支持的條目屬性及參數(shù)信息是否一致,若一致,執(zhí)行步驟305;否則,根據(jù)移動終端支持的條目屬性及參數(shù)信息修改該條目的屬性及參數(shù)信息,執(zhí)行步驟305。
8.根據(jù)權(quán)利要求5所述的方法,其中在所述步驟1之前,服務(wù)器根據(jù)用戶通過互聯(lián)網(wǎng)的操作修改通信錄,并向相應的移動終端發(fā)送提示用戶進行通信錄的下行同步的信息,用戶輸入下行同步指令。
9.根據(jù)權(quán)利要求5所述的方法,其中所述步驟4具體為服務(wù)器根據(jù)移動終端支持的條目屬性及參數(shù)信息,向移動終端發(fā)送通信錄數(shù)據(jù)中移動終端支持的通信錄條目數(shù)據(jù)。
10.根據(jù)權(quán)利要求5-9任一所述的方法,其中在所述步驟5中,移動終端針對條目對接收到的通信錄數(shù)據(jù)進行存儲。
11.一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法,其中包括以下步驟步驟1、移動終端向服務(wù)器接發(fā)送通信錄數(shù)據(jù)下行同步請求,該下行同步請求中攜帶有該移動終端的號碼信息及支持的通信錄條目屬性及參數(shù)信息;步驟2、服務(wù)器接收到該下行同步請求后,根據(jù)移動終端的號碼判斷服務(wù)器中是否存在該號碼的通信錄數(shù)據(jù),若存在,執(zhí)行步驟3,否則,執(zhí)行步驟5;步驟3、服務(wù)器將該號碼的通信錄數(shù)據(jù)發(fā)送給移動終端;步驟4、移動終端根據(jù)接收到的通信錄數(shù)據(jù),逐條目地修改移動終端保存的通信錄數(shù)據(jù),執(zhí)行步驟6;步驟5、服務(wù)器向移動終端返回錯誤信息;步驟6、結(jié)束。
12.根據(jù)權(quán)利要求11所述的方法,其中所述步驟4具體為步驟401、移動終端從接收到的通信錄數(shù)據(jù)中提取出第一條記錄;步驟402、移動終端判斷該移動終端的通信錄中是否存在該第一條記錄,若存在,執(zhí)行步驟404,否則執(zhí)行步驟403;步驟403、移動終端在其保存的通信錄中新建一條記錄;步驟404、移動終端從該第一條記錄中提取出第一個條目;判斷該第一個條目是否可以映射到移動終端保存的通信錄中的條目,若是,執(zhí)行步驟405;否則,執(zhí)行步驟406;步驟405、移動終端從該第一個條目中獲取內(nèi)容數(shù)據(jù),并存儲到移動終端的通信錄中相應條目的內(nèi)容數(shù)據(jù)部分;步驟406、移動終端將第一個條目從第一條記錄中刪除,判斷第一條記錄中是否存在條目數(shù)據(jù),若存在,執(zhí)行步驟404,否則,執(zhí)行步驟407;步驟407、移動終端將第一條記錄從接收到的通信錄數(shù)據(jù)中刪除,判斷接收到的通信錄數(shù)據(jù)中是否存在記錄數(shù)據(jù),若存在,執(zhí)行步驟401,否則,結(jié)束。
13.根據(jù)權(quán)利要求11或12所述的方法,其中在所述步驟1之前,服務(wù)器根據(jù)用戶通過互聯(lián)網(wǎng)的操作修改通信錄,并向相應的移動終端發(fā)送提示用戶進行通信錄的下行同步的信息,用戶輸入下行同步指令。
全文摘要
本發(fā)明涉及一種移動終端與服務(wù)器之間的數(shù)據(jù)上行同步方法,服務(wù)器對其存儲的通信錄數(shù)據(jù)進行逐條目修改。還涉及一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法,服務(wù)器在向請求下行同步的移動終端發(fā)送通信錄數(shù)據(jù)前,根據(jù)該移動終端支持條目屬性及參數(shù)對通信錄數(shù)據(jù)進行逐條目適配。又一種移動終端與服務(wù)器之間的數(shù)據(jù)下行同步方法,移動終端根據(jù)接收到的通信錄數(shù)據(jù)對其存儲的通信錄進行逐條目修改。本發(fā)明實現(xiàn)了針對通信錄中的各個條目進行操作,并能夠根據(jù)移動終端的具體情況對通信錄條目屬性及參數(shù)進行適配,根據(jù)屬性及參數(shù)的含義對各條目進行映射,從而能夠有效防止由于屬性及參數(shù)不一致以及針對記錄操作而導致的信息丟失。
文檔編號H04L29/06GK1805446SQ20061000275
公開日2006年7月19日 申請日期2006年1月25日 優(yōu)先權(quán)日2006年1月25日
發(fā)明者朱春梅, 武威, 于川 申請人:中國移動通信集團公司