移動終端中群組數據與非群組數據同步的方法和裝置的制造方法
【專利摘要】本發明實施例提供一種移動終端中群組數據與非群組數據同步的方法和裝置,方法包括:如果查詢到新群組數據,為新群組數據生成Parent-sourceid,在新群組數據上傳到服務器后,將新群組數據的Parent-sourceid更新到客戶端數據庫的主表中;如果查詢到新非群組數據,為新非群組數據生成sourceid,在新非群組數據上傳到服務器后,將新非群組數據的sourceid更新到客戶端數據庫的子表中;當從服務器上下載新群組數據和新非群組數據時,根據子表的sourceid查找對應主表的Parent-sourceid,關聯新群組數據和新非群組數據。本發明實施例能夠在群組數據與非群組數據同步時,簡化客戶端的處理。
【專利說明】
移動終端中群組數據與非群組數據同步的方法和裝置
技術領域
[0001]本發明實施例涉及移動終端技術領域,尤其涉及一種移動終端中群組數據與非群組數據同步的方法和裝置。
【背景技術】
[0002]近年來,隨著移動通信技術的飛速發展和移動終端智能化趨勢的加快,人們正走入一個新的移動互聯網時代。多種多樣具備網絡連接能力的移動終端,諸如手機、平板電腦、電紙書等的出現,帶給人們隨時隨地訪問互聯網的便捷。Android的出現,更是將移動終端推向了以應用和數據為主導的時代。今天的移動終端平臺具備了辦公、娛樂、社交等多種功能,其存儲的數據也變得更加豐富,例如圖片、音樂、視頻、動畫等等。
[0003]用戶在享受不同類型移動終端帶來的便捷時,也遇到了多終端存儲的數據統一性管理的問題。多終端數據同步的現有方案之一可以基于SyncML(Synchronizat1n MarkupLanguage)協議進行,SyncML是通用的移動數據同步化協議,可以在兼容的設備、程序及網絡進行數據同步。
[0004]此外,移動終端上的原有同步架構可以處理同步事件,使登錄了一個賬號的移動終端能夠保持數據的同步。
[0005]例如:
[0006]A、B兩個移動終端登錄同一賬號的情況下,
[0007]當A新增一個便簽,同步后,B也會得到這個新增的便簽;
[0008]當A改變一個便簽的內容,同步后,B也會改變這個便簽;
[0009]當A刪除一個便簽,同步后,B也會刪除這個便簽。
[0010]因此,對于單個數據的處理,現有的同步架構是很方便的。
[0011]但是,客戶端的數據很多是以文件與文件夾形式出現的。例如,便簽應用的便簽和便簽夾、聯系人應用的群組和聯系人。同步不僅要保證數據正確完整,文件與文件夾的關系也要正確維護,文件與文件夾的關系,是一項重要的數據項,不能丟失或搞錯。
[0012]例如:A在聯系人里面創建一個群組G,G里面有一個聯系人C,同步之后要求其他的客戶端,例如B,不但要有G和c,而且G和c的關系還要存在。
[0013]現有的同步架構不支持文件與文件夾的關系同步,所以同步聯系人群組的時候,需要在具體應用的客戶端用內容提供者contentproviders去寫邏輯。
[0014]例如,便簽應用的內容提供者contentprovider來維護便簽(文件)與便簽夾(文件夾)的關系。Contentprovider需要很多的字段,邏輯去維護便簽和便簽夾的群組關系,所有的新增、修改、刪除邏輯都在contentprovider中判斷。
[0015]如果同步有多個同步資源,每個同步資源都對應一個應用。比如便簽應用、書簽應用、聯系人應用、音樂.....,那么所有這些應用都要在contentprovider (內容提供者)中處理文件和文件夾的復雜邏輯關系,則至少會存在以下問題:
[00??]文件與文件夾的關系增加了內容提供者contentprovider的復雜度;
[0017]每個應用都要寫自己的邏輯,例如便簽寫了一遍,聯系人又要重寫,書簽也要重寫,一些可以復用的邏輯都要重復;
[0018]加深了同步對應用的依賴,且同步不能靈活的調整文件與文件夾的關系。
【發明內容】
[0019]本發明實施例提供一種移動終端中群組數據與非群組數據同步的方法和裝置,能夠在群組數據與非群組數據同步時,簡化客戶端的處理。
[0020]本發明實施例提供一種移動終端中群組數據與非群組數據同步的方法,包括:
[0021 ] 如果查詢到新群組數據,為所述新群組數據生成Parent-source id,在所述新群組數據上傳到服務器后,將所述新群組數據的Parent-sourceid更新到客戶端數據庫的主表中;
[0022]如果查詢到新非群組數據,為所述新非群組數據生成sourceid,在所述新非群組數據上傳到服務器后,將所述新非群組數據的sourceid更新到客戶端數據庫的子表中;
[0023]當從服務器上下載新群組數據和新非群組數據時,根據子表的sourceid查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據。
[0024]本發明實施例提供一種用于群組數據與非群組數據同步的移動終端,包括:
[0025]第一處理模塊,用于如果查詢到新群組數據,為所述新群組數據生成Parent-sourceid, 在所述新群組數據上傳到服務器后 ,將所述新群組數據的Parent-sourceid 更新到客戶端數據庫的主表中;
[0026]第二處理模塊,用于如果查詢到新非群組數據,為所述新非群組數據生成sourceid,在所述新非群組數據上傳到服務器后,將所述新非群組數據的sourceid更新到客戶端數據庫的子表中;
[0027]第三處理模塊,用于當從服務器上下載新群組數據和新非群組數據時,根據子表的sourceid查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據。
[0028]和現有技術相比,本發明實施例通過加入群組數據的邏輯,群組數據的設置使得所有的群組數據和非群組數據的處理都在同步框架中實現,不需要客戶端在處理,簡化了客戶端的結構。
【附圖說明】
[0029]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0030]圖1為本發明的一個具體實施例中移動終端中群組數據與非群組數據同步的方法的流程示意圖;
[0031]圖2為本發明的一個具體實施例中移動終端中群組數據與非群組數據同步的方法的詳細流程示意圖;
[0032]圖3為本發明的一個具體實施例中向服務器新增數據的流程示意圖;
[0033]圖4為本發明的一個具體實施例中從服務器獲取數據的流程示意圖;
[0034]圖5為本發明的一個具體實施例中用于群組數據與非群組數據同步的移動終端的結構示意圖。
【具體實施方式】
[0035]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0036]同步數據的時候,數據可能在多個客戶端展現,不同的數據用sourceid來唯一標示。Sourceid是可以在同步向服務器新增數據的時候,給數據生成的唯一的字符串。服務器也是用sourceid來表示一個數據,數據在服務器插入成功后,可以同時把數據對應的sourceid更新到數據庫中。
[0037]Source id是非群組數據的唯一標示。
[0038]Parent-source id是群組數據的 source id
[0039]在本發明實施例中,群組數據等同于文件夾,例如便簽夾,聯系人群組,郵件組等等;非群組數據等同于文件,例如便簽,聯系人,郵件等等。
[0040]實施例一:
[0041]圖1為本發明的一個具體實施例中移動終端中群組數據與非群組數據同步的方法的流程示意圖。
[0042]如圖1所示,該方法應用于移動終端上,包括:
[0043]步驟Sll,如果查詢到新群組數據,為所述新群組數據生成Parent-sourceid,在所述新群組數據上傳到服務器后,將所述新群組數據的Parent-sourceid更新到客戶端數據庫的主表中;
[0044]步驟S12,如果查詢到新非群組數據,為所述新非群組數據生成sourceid,在所述新非群組數據上傳到服務器后,將所述新非群組數據的sourceid更新到客戶端數據庫的子表中;
[0045]步驟S13,當從服務器上下載新群組數據和新非群組數據時,根據子表的sourceid查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據。
[0046]實施例二:
[0047]圖2為本發明的一個具體實施例中移動終端中群組數據與非群組數據同步的方法的詳細流程示意圖。
[0048]如圖2所示,該方法應用于移動終端上,包括:
[0049]步驟S21,向服務器上傳新群組數據和新非群組數據。
[0050]本步驟的具體流程如圖3所示,包括:
[0051 ] 步驟S211,查詢新群組數據,為新群組數據生成Parent-sourceid,并上傳到服務器。
[0052]在本步驟中,sourceid是同步向服務器新增或修改數據的時候才會生成,沒有同步過的數據sourceid是空。
[0053]如果由用戶引發的數據庫操作,進行新增或修改操作時會把新群組數據在客戶端數據庫的主表中dirty設置為I,表示這個群組數據為新群組數據。
[0054]在客戶端數據庫的主表中查詢dirty為l,Parent_sourceid為空的數據。如果查詢到,則為新群組數據,可以為新群組數據生成Parent-sourceid,并將新群組數據上傳到服務器。
[0055]步驟S212,將新群組數據的Parent-sourceid更新到客戶端數據庫的主表中。
[0056]在本步驟中,為了提高同步的效率,預先設置同時更新的數量,等上傳到服務器的群組數據達到設置的數量時,例如100個,再統一把這些新群組數據的Parent-sourceid寫到客戶端數據庫的主表中。
[0057]步驟S213,查詢新非群組數據,為新非群組數據生成sourceid,并上傳到服務器。
[0058]在本步驟中,在客戶端數據庫的子表中查詢dirty為I,sourceid為空的數據。如果查詢到,則為新非群組數據,可以為新群組數據生成sourceid,并將新非群組數據上傳到服務器。
[0059]由于所有的群組數據已經同步過,所以可以查到子表的sourceid對應的主表的Parent-sourceidο
[0060]步驟S214,將新非群組數據的sourceid更新到客戶端數據庫的子表中。
[0061 ]步驟S22,從服務器獲取群組數據和非群組數據。
[0062 ] 本步驟的具體流程如圖4所示,包括:
[0063]步驟S221,根據群組數據的Parent-sourceid,從服務器上將群組數據下載到客戶端數據庫的主表中。
[0064]步驟S222,根據非群組數據sourceid,從服務器上將非群組數據下載到客戶端數據庫的子表中。
[0065]步驟S223,根據子表的sourceid查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據。
[0066]值得注意的是,維護主子表的關系不僅可以放到子表數據中,讓子表數據記住它的主表數據的Parent-sourceid,也可以讓主表信息維護一個子表數據sourceid的集合。
[0067]實施例三:
[0068]圖5為本發明的一個具體實施例中用于群組數據與非群組數據同步的移動終端的結構示意圖。
[0069 ]如圖5所示,本發明的移動終端包括:
[0070]第一處理模塊51,用于如果查詢到新群組數據,為所述新群組數據生成Parent-sourceid, 在所述新群組數據上傳到服務器后 ,將所述新群組數據的Parent-sourceid 更新到客戶端數據庫的主表中;
[0071]第二處理模塊52,用于如果查詢到新非群組數據,為所述新非群組數據生成sourceid,在所述新非群組數據上傳到服務器后,將所述新非群組數據的sourceid更新到客戶端數據庫的子表中;
[0072]53,用于當從服務器上下載新群組數據和新非群組數據時,根據子表的sourceid查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據。
[0073]具體地,
[0074]所述第一處理模塊查詢新群組數據,具體為:
[0075]所述新群組數據包括新增或修改的群組數據;
[0076]當對群組數據進行新增或修改時,將所述新群組數據在客戶端數據庫的主表中dirty設置為第一值;
[0077]在所述客戶端數據庫的主表中查詢到dirty為I且Parent-source id為空的數據,則為所述新群組數據。
[0078]所述第一處理模塊將所述新群組數據的Parent-sourceid更新到客戶端數據庫的主表中,具體為:
[0079]當上傳到服務器的新群組數據的數量達到預設值時,將新群組數據的Parent-sourceid統一更新到客戶端數據庫的主表中。
[0080]所述第二處理模塊查詢新非群組數據,具體為:
[0081 ]所述新非群組數據包括新增或修改的非群組數據;
[0082]當對非群組數據進行新增或修改時,將所述新非群組數據在客戶端數據庫的子表中dirty設置為第一值;
[0083]在所述客戶端數據庫的子表中查詢到dirty為I且sourceid為空的數據,則為所述新非群組數據。
[0084]所述第三處理模塊,具體用于:
[0085]根據群組數據的Parent-sourceid,從服務器上將群組數據下載到客戶端數據庫的主表中;
[0086]根據非群組數據sourceid,從服務器上將非群組數據下載到客戶端數據庫的子表中;
[0087]根據子表的source id查找對應主表的Parent-source id,關聯所述新群組數據和所述新非群組數據。
[0088]本發明實施例通過在現有的同步框架中加入了群組數據的邏輯,群組數據的設置使得所有的群組數據和非群組數據的處理都在同步框架中實現,不需要客戶端在處理,簡化了客戶端的結構。
[0089]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性的勞動的情況下,即可以理解并實施。
[0090]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件。基于這樣的理解,上述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行各個實施例或者實施例的某些部分所述的方法。
[0091]最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。
【主權項】
1.一種移動終端中群組數據與非群組數據同步的方法,其特征在于,包括: 如果查詢到新群組數據,為所述新群組數據生成Parent-source id,在所述新群組數據上傳到服務器后,將所述新群組數據的Parent-sourceid更新到客戶端數據庫的主表中; 如果查詢到新非群組數據,為所述新非群組數據生成sourceid,在所述新非群組數據上傳到服務器后,將所述新非群組數據的sourceid更新到客戶端數據庫的子表中; 當從服務器上下載新群組數據和新非群組數據時,根據子表的sourceid查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據。2.根據權利要求1所述的移動終端中群組數據與非群組數據同步的方法,其特征在于,所述如果查詢到新群組數據的步驟包括: 所述新群組數據包括新增或修改的群組數據; 當對群組數據進行新增或修改時,將所述新群組數據在客戶端數據庫的主表中dirty設置為第一值; 在所述客戶端數據庫的主表中查詢到dirty為I且Parent-sourceid為空的數據,貝Ij為所述新群組數據。3.根據權利要求2所述的移動終端中群組數據與非群組數據同步的方法,其特征在于,所述將所述新群組數據的Parent-sourceid更新到客戶端數據庫的主表中的步驟包括: 當上傳到服務器的新群組數據的數量達到預設值時,將新群組數據的Parent-sourceid統一更新到客戶端數據庫的主表中。4.根據權利要求1所述的移動終端中群組數據與非群組數據同步的方法,其特征在于,所述如果查詢到新非群組數據的步驟包括: 所述新非群組數據包括新增或修改的非群組數據; 當對非群組數據進行新增或修改時,將所述新非群組數據在客戶端數據庫的子表中dirty設置為第一值; 在所述客戶端數據庫的子表中查詢到dirty為I且sourceid為空的數據,則為所述新非群組數據。5.根據權利要求1?4中任一項所述的移動終端中群組數據與非群組數據同步的方法,其特征在于,所述當從服務器上下載新群組數據和新非群組數據時,根據子表的sourceid查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據的步驟包括: 根據群組數據的Parent-sourceid,從服務器上將群組數據下載到客戶端數據庫的主表中; 根據非群組數據sourceid,從服務器上將非群組數據下載到客戶端數據庫的子表中; 根據子表的source id查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據。6.—種用于群組數據與非群組數據同步的移動終端,其特征在于,包括: 第一處理模塊,用于如果查詢到新群組數據,為所述新群組數據生成Parent-sourceid, 在所述新群組數據上傳到服務器后 ,將所述新群組數據的Parent-sourceid 更新到客戶端數據庫的主表中; 第二處理模塊,用于如果查詢到新非群組數據,為所述新非群組數據生成sourceid,在所述新非群組數據上傳到服務器后,將所述新非群組數據的sourceid更新到客戶端數據庫的子表中; 第三處理模塊,用于當從服務器上下載新群組數據和新非群組數據時,根據子表的sourceid查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據。7.根據權利要求6所述的用于群組數據與非群組數據同步的移動終端,其特征在于,所述第一處理模塊查詢新群組數據,具體為: 所述新群組數據包括新增或修改的群組數據; 當對群組數據進行新增或修改時,將所述新群組數據在客戶端數據庫的主表中dirty設置為第一值; 在所述客戶端數據庫的主表中查詢到dirty為I且Parent-sourceid為空的數據,貝Ij為所述新群組數據。8.根據權利要求7所述的用于群組數據與非群組數據同步的移動終端,其特征在于,所述第一處理模塊將所述新群組數據的Parent-sourceid更新到客戶端數據庫的主表中,具體為: 當上傳到服務器的新群組數據的數量達到預設值時,將新群組數據的Parent-sourceid統一更新到客戶端數據庫的主表中。9.根據權利要求6所述的用于群組數據與非群組數據同步的移動終端,其特征在于,所述第二處理模塊查詢新非群組數據,具體為: 所述新非群組數據包括新增或修改的非群組數據; 當對非群組數據進行新增或修改時,將所述新非群組數據在客戶端數據庫的子表中dirty設置為第一值; 在所述客戶端數據庫的子表中查詢到dirty為I且sourceid為空的數據,則為所述新非群組數據。10.根據權利要求6?9中任一項所述的用于群組數據與非群組數據同步的移動終端,其特征在于,所述第三處理模塊,具體用于: 根據群組數據的Parent-sourceid,從服務器上將群組數據下載到客戶端數據庫的主表中; 根據非群組數據sourceid,從服務器上將非群組數據下載到客戶端數據庫的子表中; 根據子表的source id查找對應主表的Parent-sourceid,關聯所述新群組數據和所述新非群組數據。
【文檔編號】H04W8/20GK105916121SQ201510921289
【公開日】2016年8月31日
【申請日】2015年12月12日
【發明人】江丹, 楊丹
【申請人】樂視移動智能信息技術(北京)有限公司