一種自定義聊天工具的聯系人標簽同步方法和裝置的制造方法
【專利摘要】本發明實施例提供一種自定義聊天工具的聯系人標簽同步方法和裝置,包括:在服務器上預先設置URI存儲對應關系表,URI存儲對應關系表包括scheme列、Scheme-specific-part列和fragment列;當新增和修改的聯系人時,如果聯系人標簽中存在自定義聊天工具,將聯系人標簽中的聊天數據存儲在URI存儲對應關系表中,其中聊天工具的名字存儲在所述Scheme-specific-part列,聊天工具的賬號存儲在所述fragment列;當同步聯系人時,從服務器上獲取所述URI存儲對應關系表,從Scheme-specific-part列解析出聊天工具的名字,從fragment列解析出聊天工具的賬號,并將解析出的聯系人更新到本地數據庫。本發明實施例能夠保證了自定義聊天工具的聯系人標簽同步。
【專利說明】
一種自定義聊天工具的聯系人標簽同步方法和裝置
技術領域
[0001]本發明實施例涉及移動終端技術領域,尤其涉及一種自定義聊天工具的聯系人標簽同步方法和裝置。
【背景技術】
[0002]近年來,隨著移動通信技術的飛速發展和移動終端智能化趨勢的加快,人們正走入一個新的移動互聯網時代。多種多樣具備網絡連接能力的移動終端,諸如手機、平板電腦、電紙書等的出現,帶給人們隨時隨地訪問互聯網的便捷。
[0003]兩大移動平臺Apple1S與Google Android的出現,更是將移動終端推向了以應用和數據為主導的時代。今天的移動終端平臺具備了辦公、娛樂、社交等多種功能,其存儲的數據也變得更加豐富,例如圖片、音樂、視頻、動畫等等。
[0004]用戶在享受不同類型移動終端帶來的便捷時,也遇到了多終端存儲的數據統一性管理的問題。
[0005]多終端數據同步可以基于SyncML(Synchronizat1nMarkup Language)協議進行,SyncML是通用的移動數據同步化協議,可以在兼容的設備、程序及網絡進行數據同步。
[0006]多終端數據同步中很重要的一項是聯系人的同步,如果多個終端登陸了同一個賬號,那么當其中一個終端對聯系人進行新增、刪除、修改等操作,那么數據的最新狀態會被同步到服務器上,服務器完成信息更新后,會通知其他終端登陸同意賬號的手機,促使終端通過同步獲取這些數據更新。這樣,同一賬號的終端上的聯系人數據就保持一致了。
[0007]這是非常必要的,例如,某人的賬號開啟了同步的功能,那么他的數據就總在服務器上面存著。如果他換了新手機,或者忘了帶手機,他只需要在別的手機上登陸賬號,通過同步,就把他自己的聯系人數據給找回來了。
[0008]聯系人標簽中有一個非常重要的數據,即聊天工具,例如,skype,qq,環聊,自定義等,要想聯系人同步成功,必須要保證聊天工具數據正常同步。
[0009]現有技術的方法可以利用工具包ezvcard.property中的即時消息傳遞和在線檢測協議(Impp,instant messaging and Presence Protocol)類,Impp類定義一個聯系人的聊天工具在同步中的格式,用來構建一個具有空間接收、發布能力的即時信息系統。
[0010]聊天工具被表示為統一資源標識符(URI ,Uniform Resource Identifier)的格式為:“〈協議 >:〈處理〉”。
[0011]例如,聊天工具雅虎:
[0012]賬號是johndoeOyaho0.com;
[0013]生成的URI是:"ymsgr:johndoeiyaho0.com";
[0014]URI的格式為:[scheme: ]scheme-specif ic-part[Sfragment];
[0015]其中,聊天工具的名字存在URI的scheme中,聊天工具的賬號放到URI的scheme-specific-part中。
[0016]但是,由于Impp類在URI中存儲的方式所限,聊天工具的名字受到URI中scheme的有效字符的限制。例如,scheme中不可以存某些標點符號,例如冒號,V,以及表情符號,所以用戶自定義聊天工具的時候如果不小心輸入了冒號和表情符號,就會導致聯系人的聊天工具無法同步成功。
【發明內容】
[0017]本發明實施例提供一種自定義聊天工具的聯系人標簽同步方法和裝置,能夠支持帶標點和表情符號的自定義聊天工具的聯系人標簽同步。
[0018]本發明實施例提供一種自定義聊天工具的聯系人標簽同步方法,包括:
[0019]在服務器上預先設置URI存儲對應關系表,所述URI存儲對應關系表包括scheme列、Scheme-specif ic-part列和fragment列;
[0020]當新增和修改的聯系人時,如果聯系人標簽中存在自定義聊天工具,將所述自定義聊天工具的聊天數據存儲在所述URI存儲對應關系表中,其中所述聊天工具的名字存儲在所述Scheme-specific-part列,聊天工具的賬號存儲在所述fragment列;
[0021]當同步聯系人時,從服務器上獲取所述URI存儲對應關系表,從所述Scheme-specif ic-part 列解析出聊天工具的名字, 從所述 fragment 列解析出聊天工具的賬號 ,并將解析出的聯系人的數據更新到本地數據庫。
[0022]本發明實施例提供一種用于聯系人標簽中自定義聊天工具同步的移動終端,包括:
[0023]第一處理模塊,用于當新增和修改的聯系人時,如果聯系人標簽中存在自定義聊天工具,將所述聯系人標簽中的聊天數據存儲在所述URI存儲對應關系表中,所述URI存儲對應關系表預先在服務器上進行設置,所述聯系人使用的聊天工具的名字存儲在所述Scheme-specif ic-part列,所述聯系人使用的聊天工具的賬號存儲在所述fragment列;
[0024]第二處理模塊,用于當同步聯系人時,從服務器上獲取所述URI存儲對應關系表,從所述Scheme-specif ic-part列解析出聯系人使用的聊天工具的名字,從所述fragment列解析出聯系人使用的聊天工具的賬號,并將解析出的聯系人更新到本地數據庫。
[0025]本發明實施例提供的自定義聊天工具的聯系人標簽同步方法和裝置,通過對I_p類在URI中的存儲方式進行改進,既然URI的格式為:[scheme: ] scheme-specif ic-part [#fragment],并且scheme-specif ic-part可以存標點和表情符號,那么可以利用URI的scheme-specif ic-part部分來存儲聊天工具的名稱,fragment來存儲聊天工具的賬號,使得用戶自定義聊天工具在同步時,不再存在字符限制,從而保證了自定義聊天工具的聯系人標簽冋步。
【附圖說明】
[0026]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0027]圖1為本發明的一個具體實施例中自定義聊天工具的聯系人標簽同步方法的流程示意圖;
[0028]圖2為本發明的一個具體實施例中自定義聊天工具的聯系人標簽同步方法的詳細流程示意圖;
[0029]圖3為本發明和現有技術中聯系人聊天工具同步類Impp中URI的存儲關系對應表對比的示意圖。
[0030]圖4為本發明的一個具體實施例中用于聯系人標簽中自定義聊天工具同步的移動終端的結構示意圖。
【具體實施方式】
[0031]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0032]字符串形式的URI引用語法如下:
[0033][scheme:]scheme-specific-part[Sfragment]
[0034]其中,方括號[...]用于描述可選組成部分;
[0035]Scheme 為方案名;
[0036]scheme-specif ic-part:方案名對應的具體部分;
[0037]Fragment 為片段;
[0038]字符“:”和“#,,代表它們自身ο
[0039]RFC 2396精確指出URI引用中的各個不同組成部分允許使用的字符包括:alphaUS-ASCII字母字符,'A'到'Z'以及到;digit US-ASCII十進制數字符,'到'Y ;alphanum所有alpha和digit字符;unreserved所有alphanum字符及字符串〃__!.?’ ()*〃中包含的字符;punct字符串〃,;:$&+= 〃中包含的字符;reserved所有punct字符及字符串〃?/[]@〃中包含的字符;escaped轉義八位組,即三部分組合:百分號Γ 后跟兩個十六進制數Γ 」97 /A7」F7和'a7」f7 );other未包含在US-ASCII字符集中的Unicode字符不是控制字符(根據Character.isISOControl方法),并且不是空格字符。
[0040]一個具體的URI實例如下:
[0041 ] www.java2s.com: 8080/yourpath/fiIeName.htm?stove = 10&path = 32&id = 4#harvic
[0042]其中:
[0043]sheme:是http;
[0044]scheme-specific-part:是包含在 scheme和 fragment之間的部分,/ /www.java2s.com: 8080/yourpath/f iIeName.htm?stove = 10&path = 32&id = 4,注意要帶上//,因為除了[scheme: HP[#fragment]部分全部都是scheme-specific-part;
[0045]fragment:是harvicο
[0046]從上面的分解可以看出,如果聊天工具的URI,聊天工具的名字存在URI的scheme中,聊天工具的賬號放到URI的scheme-specif ic-part中。
[0047]現有技術中,由于Impp類在URI中存儲的方式所限,聊天工具的名字受到URI中scheme的有效字符的限制,所以用戶自定義聊天工具時如果不小心輸入了受限制的字符,就會導致聯系人的聊天工具無法同步成功。
[0048]本發明對Immp類在URI中的存儲方式進行改進,既然URI的格式為:[scheme:]scheme-specif ic-part [ Sfragment ],并且 scheme-specif ic-part 可以存標點和表情符號,那么可以利用URI的scheme-specif ic-part部分來存儲聊天工具的名稱,fragment來存儲聊天工具的賬號,使得用戶自定義聊天工具在同步時,不再存在字符限制,從而保證了自定義聊天工具的聯系人標簽同步。
[0049]實施例一:
[0050]圖1為本發明的一個具體實施例中自定義聊天工具的聯系人標簽同步方法的流程示意圖。
[0051 ] 如圖1所示,該方法應用于移動終端上,包括:
[0052]步驟Sll,在服務器上預先設置URI存儲對應關系表,所述URI存儲對應關系表包括scheme列、Scheme-specif ic-part 列和fragment 列。
[0053]步驟S12,當新增和修改的聯系人時,如果聯系人標簽中存在自定義聊天工具,將所述自定義聊天工具的數據存儲在URI存儲對應關系表中,其中所述自定義聊天工具的聊天數據中的聊天工具的名字存儲在Scheme-specif ic-part列,聊天工具的賬號存儲在fragment列。
[0054]步驟S13,當同步聯系人時,從服務器上獲取URI存儲對應關系表,從Scheme-specif ic-part 列解析出聊天工具的名字 ,從fragment 列解析出聊天工具的賬號 ,并將解析出的聯系人的數據更新到本地數據庫。
[0055]實施例二:
[0056]圖2為本發明的一個具體實施例中聯系人標簽的同步方法的詳細流程示意圖。
[0057]如圖2所示,該方法應用于移動終端上,包括:
[0058]步驟S21,預先設置自定義聊天工具的URI存儲對應關系表。
[0059]在本步驟中,預先在服務器上設置自定義聊天工具的URI存儲對應關系表,字符串形式的URI為:[scheme: ]scheme-specific-part[#fragment],因此,所述URI存儲對應關系表包括scheme列、Scheme-specif ic-part 列和fragment 列。
[0060]步驟S22,新增和修改的聯系人,并填充聯系人聊天工具同步類Impp中URI的存儲關系對應表。
[0061]在本步驟中,當新增和修改的聯系人時,獲取需要新增和修改的聯系人,查找聯系人標簽中的聊天數據,判斷聊天數據使用的聊天工具類型是否是自定義類型。
[0062]如果聯系人標簽中存在自定義聊天工具,根據自定義聊天工具的聊天數據構造URI,并存儲在服務器上的URI存儲對應關系表中。
[0063]現有技術和本發明的實施例中聯系人聊天工具同步類Impp中URI的存儲關系對應表如圖3所示。
[0064]在現有的方案中,URI存儲對應關系表中的scheme列用于存儲聊天工具的名字,Scheme-specif ic-part列用于聊天工具的賬號,fragment列為空。
[0065]在本發明的實施例中,URI存儲對應關系表中scheme用于存儲字符串常量,Scheme-specif ic-part用于存儲聊天工具的名字,fragment用于存儲聊天工具的賬號。
[0066]由于URI的scheme-specif ic-part字段比scheme字段擁有更多的合法字符。Scheme用大寫/小寫字母開頭,后面為空或者跟著更多的大寫/小寫字母、數字、加號、減號和點號。很多常用的符號比如V和表情符號都不滿足Scheme的格式。而V和表情符號都可以在scheme-specif ic-part中存儲。如此,本發明實施例中Scheme用于存儲不包含限制字符的字符串常量,Scheme-specif ic-part用于存儲聊天工具的名字,fragment用于存儲聊天工具的賬號,對Impp改動最少也最好理解,且能夠依然用URI來存儲數據。
[0067]根據URI存儲對應關系表中的數據生成聯系人聊天工具同步類Impp對象。
[0068]步驟S23,把填充好的聯系人上傳到服務器上。
[0069]在本步驟中,將生成的聯系人聊天工具同步類Impp對象存儲在服務器上的電子名片(vcard)中。
[0070]步驟S24,如果需要同步聯系人,從服務器上獲取聯系人的數據。
[0071]在本步驟中,當需要同步聯系人時,從服務器的電子名片中獲取Impp對象。
[0072]步驟S25,解析聯系人的數據。
[0073]在本步驟中,對Impp對象進行解析獲得URI存儲對應關系表的聯系人,從聯系人對應的URI存儲對應關系表中的Scheme-specif ic-part列解析出該聯系人使用的聊天工具的名字,從fragment列解析出該聯系人使用的聊天工具的賬號。
[0074]步驟S26,將解析出的聯系人更新到本地數據庫。
[0075]實施例三:
[0076]圖4為本發明的一個具體實施例中用于聯系人標簽同步的移動終端的結構示意圖。
[0077]如圖4所示,本發明的移動終端包括:
[0078]第一處理模塊41,用于當新增和修改的聯系人時,如果聯系人標簽中存在自定義聊天工具,將所述自定義聊天工具的聊天數據存儲在所述URI存儲對應關系表中,所述URI存儲對應關系表預先在服務器上進行設置,將所述聊天工具的名字存儲在所述Scheme-specific-part列,聊天工具的賬號存儲在所述fragment列;
[0079]第二處理模塊42,用于當同步聯系人時,從服務器上獲取所述URI存儲對應關系表,從所述Scheme-specific-part列解析出聯系人使用的聊天工具的名字,從所述fragment列解析出聯系人使用的聊天工具的賬號,并將解析出的聯系人的數據更新到本地數據庫。
[0080]具體地,
[0081]第一處理模塊41用于:取需要新增和修改的聯系人,查找聯系人標簽中的聊天數據,判斷聊天數據使用的聊天工具類型是否是自定義類型;如果聯系人標簽中存在自定義聊天工具,根據聯系人標簽中的聊天數據構造URI,并存儲在服務器上的URI存儲對應關系表中;根據URI存儲對應關系表中的聯系人生成聯系人聊天工具同步類Impp對象;將生成的Impp對象存儲在服務器上的電子名片中。
[0082]第二處理模塊42用于:當需要同步聯系人時,從服務器的電子名片中獲取Impp對象;對Impp對象進行解析獲得URI存儲對應關系表的聯系人;從聯系人對應的URI存儲對應關系表中的Scheme-specif ic-part列解析出所述聯系人使用的聊天工具的名字,從fragment列解析出所述聯系人使用的聊天工具的賬號。
[0083]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性的勞動的情況下,即可以理解并實施。
[0084]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件。基于這樣的理解,上述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行各個實施例或者實施例的某些部分所述的方法。
[0085]最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。
【主權項】
1.一種自定義聊天工具的聯系人標簽同步方法,其特征在于,包括: 在服務器上預先設置URI存儲對應關系表,所述URI存儲對應關系表包括scheme列、Scheme-specific-part列和fragment列; 當新增和修改的聯系人時,如果聯系人標簽中存在自定義聊天工具,將所述聯系人標簽中的聊天數據存儲在所述URI存儲對應關系表中,其中所述聯系人使用的聊天工具的名字存儲在所述Scheme-specific-part列,所述聯系人使用的聊天工具的賬號存儲在所述fragment列; 當同步聯系人時,從服務器上獲取所述URI存儲對應關系表,從所述Scheme-specif ic-part列解析出聯系人使用的聊天工具的名字,從所述fragment列解析出聯系人使用的聊天工具的賬號,并將解析出的聯系人更新到本地數據庫。2.根據權利要求1所述的自定義聊天工具的聯系人標簽同步方法,其特征在于,所述當新增和修改的聯系人時,如果聯系人標簽中存在自定義聊天工具,將所述聯系人標簽中的聊天數據存儲在所述URI存儲對應關系表中的步驟包括: 獲取需要新增和修改的聯系人,查找聯系人標簽中的聊天數據,判斷聊天數據使用的聊天工具類型是否是自定義類型; 如果聯系人標簽中存在自定義聊天工具,根據聯系人標簽中的聊天數據構造URI,并存儲在服務器上的URI存儲對應關系表中。3.根據權利要求2所述的自定義聊天工具的聯系人標簽同步方法,其特征在于,所述方法還包括: 根據URI存儲對應關系表中的聯系人生成聯系人聊天工具同步類Impp對象; 將生成的Impp對象存儲在服務器上的電子名片中。4.根據權利要求1所述的自定義聊天工具的聯系人標簽同步方法,其特征在于,所述當同步聯系人時,從服務器上獲取所述URI存儲對應關系表,從所述Scheme-specif ic-part列解析出聯系人使用的聊天工具的名字,從所述fragment列解析出聯系人使用的聊天工具的賬號的步驟包括: 當需要同步聯系人時,從服務器的電子名片中獲取Impp對象; 對Impp對象進行解析獲得URI存儲對應關系表的聯系人; 從聯系人對應的URI存儲對應關系表中的Scheme-specif ic-part列解析出所述聯系人使用的聊天工具的名字,從fragment列解析出所述聯系人使用的聊天工具的賬號。5.根據權利要求1?4中任一項所述的自定義聊天工具的聯系人標簽同步方法,其特征在于,所述URI存儲對應關系表中的Scheme列用于存儲不包含限制字符的字符串常量。6.一種用于聯系人標簽同步的移動終端,其特征在于,包括: 第一處理模塊,用于當新增和修改的聯系人時,如果聯系人標簽中存在自定義聊天工具,將所述聯系人標簽中的聊天數據存儲在所述URI存儲對應關系表中,所述URI存儲對應關系表預先在服務器上進行設置,所述聯系人使用的聊天工具的名字存儲在所述Scheme-specific-part 列 ,所述聯系人使用的聊天工具的賬號存儲在所述 fragment 列 ; 第二處理模塊,當同步聯系人時,從服務器上獲取所述URI存儲對應關系表,從所述Scheme-specif ic-part列解析出聯系人使用的聊天工具的名字,從所述fragment列解析出聯系人使用的聊天工具的賬號,并將解析出的聯系人更新到本地數據庫。7.根據權利要求6所述的用于聯系人標簽同步的移動終端,其特征在于,所述第一處理模塊,具體用于: 獲取需要新增和修改的聯系人,查找聯系人標簽中的聊天數據,判斷聊天數據使用的聊天工具類型是否是自定義類型; 如果聯系人標簽中存在自定義聊天工具,根據聯系人標簽中的聊天數據構造URI,并存儲在服務器上的URI存儲對應關系表中。8.根據權利要求7所述的用于聯系人標簽同步的移動終端,其特征在于,所述第一處理模塊,還用于: 根據URI存儲對應關系表中的聯系人生成聯系人聊天工具同步類Impp對象; 將生成的Impp對象存儲在服務器上的電子名片中。9.根據權利要求8所述的用于聯系人標簽同步的移動終端,其特征在于,所述第二處理模塊,具體用于: 當需要同步聯系人時,從服務器的電子名片中獲取Impp對象; 對Impp對象進行解析獲得URI存儲對應關系表的聯系人; 從聯系人對應的URI存儲對應關系表中的Scheme-specif ic-part列解析出所述聯系人使用的聊天工具的名字,從fragment列解析出所述聯系人使用的聊天工具的賬號。10.根據權利要求6?9中任一項所述的用于聯系人標簽同步的移動終端,其特征在于,所述URI存儲對應關系表中的Scheme列用于存儲不包含限制字符的字符串常量。
【文檔編號】H04L29/08GK105915431SQ201510921273
【公開日】2016年8月31日
【申請日】2015年12月12日
【發明人】江丹, 楊丹
【申請人】樂視移動智能信息技術(北京)有限公司