分布式多點同步系統(tǒng)及其同步方法
【專利摘要】本發(fā)明揭示了一種分布式的多點同步系統(tǒng)及其同步方法,所述系統(tǒng)由兩個以上分布式的同步終端組成;所述同步終端包括同步對象數(shù)據(jù)庫、同步消息數(shù)據(jù)庫、同步處理模塊、同步請求模塊和同步服務(wù)模塊。本發(fā)明提出的多點同步系統(tǒng)及其同步方法,實現(xiàn)了在網(wǎng)絡(luò)中多個用戶終端之間實時同步信息內(nèi)容,而無需通過中心服務(wù)器。用戶終端之間通過同步協(xié)議直接通信和交換同步內(nèi)容,不需要由同步服務(wù)器進(jìn)行內(nèi)容的中轉(zhuǎn)和分發(fā),大大提高了系統(tǒng)的可靠性和安全性。
【專利說明】分布式多點同步系統(tǒng)及其同步方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機(jī)及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,涉及一種分布式的多點同步系統(tǒng),尤其涉及 一種無中心服務(wù)器的多點同步系統(tǒng);同時,本發(fā)明還涉及上述多點同步系統(tǒng)的同步方法。
【背景技術(shù)】
[0002] 近年來,越來越多的電腦終端和手機(jī)、平板等移動設(shè)備走入人們的生活。個人和家 庭往往擁有多個電腦和移動終端,人們需要在多個終端之間自動地同步個人筆記、照片等 私人信息,也需要和朋友家人的終端之間同步共享的內(nèi)容。與此同時,在公司內(nèi)部,工作團(tuán) 隊成員之間也需要大量共享和同步信息。
[0003] 目前市場上已有多種信息共享和同步的工具,例如微軟的SkyDrive,谷歌的 GoogleDoc已經(jīng)網(wǎng)絡(luò)硬盤Box. net等。而社交網(wǎng)絡(luò)服務(wù)商也能使用戶自由地分享內(nèi)容,并自 動在用戶之間同步內(nèi)容。
[0004] 然而,所有這些同步工具和服務(wù)都要求用戶將內(nèi)容上傳到中心服務(wù)器或云服務(wù) 器,所有共享這些內(nèi)容的用戶都必須到中心服務(wù)器上自動或手動地同步下載最新的內(nèi)容。 中心服務(wù)器上始終存在內(nèi)容的最新版本。
[0005] 這種同步方式的缺點在于:
[0006] 1)要求中心服務(wù)器具備高容量的存儲和帶寬,給服務(wù)商帶來較高的成本。
[0007] 2)中心服務(wù)器的的可靠性和安全性要求很高。
[0008] 3)用戶之間很難共享高容量的內(nèi)容,如視頻。這些內(nèi)容必須上傳到服務(wù)器上,再下 傳到終端,非常耗時。
[0009] 4)用戶很難遷移:不同服務(wù)商的服務(wù)器之間無法自動做內(nèi)容遷移。
[0010] 更為嚴(yán)重的問題是用戶內(nèi)容的安全性要求。許多商業(yè)用戶無法信任公共服務(wù)器的 安全性,只好自行建立公司內(nèi)部服務(wù)器。這樣有需要購買安裝專業(yè)服務(wù)器和軟件,帶來了高 昂的初期和維護(hù)成本。
[0011] 因此,市場迫切需要一種去中心化的、分布式的多點同步技術(shù),使多個終端設(shè)備之 間可以兩兩直接通信,進(jìn)行內(nèi)容的同步更新,而不需要借助中心服務(wù)器進(jìn)行內(nèi)容的復(fù)制和 轉(zhuǎn)發(fā)。
[0012] 多點同步技術(shù)的難度在于:
[0013] 1)在多個終端上如何保持信息的一致性。由于沒有一個中心服務(wù)器永遠(yuǎn)保證信息 的最新版本,因此同步方法必須保證終端之間依靠互相通信保證最新的內(nèi)容。
[0014] 2)另一個難度在于該方法必須適應(yīng)終端之間的動態(tài)連接,即終端不可能像服務(wù)器 一樣保持始終在線,在一個網(wǎng)絡(luò)中,也并不能保證所有的終端之間都有穩(wěn)定的連接。
[0015] 3)該方法必須做到一個共享對象可以被多個用戶終端同時進(jìn)行更新,即所謂的協(xié) 同工作。在此過程中不會丟失信息,也不會造成互相沖突。
【發(fā)明內(nèi)容】
[0016] 本發(fā)明所要解決的技術(shù)問題是:提供一種多點同步的方法,實現(xiàn)了在網(wǎng)絡(luò)中的多 個終端之間直接通信同步,而不需要借助中心服務(wù)器進(jìn)行內(nèi)容的復(fù)制和轉(zhuǎn)發(fā)。
[0017] 為解決上述技術(shù)問題,本發(fā)明采用了如下技術(shù)方案:
[0018] 一種分布式多點同步系統(tǒng),所述系統(tǒng)包括兩個以上同步終端。兩兩終端之間具有 直接的或間接的通信路徑;所述同步終端包括同步對象數(shù)據(jù)庫、同步消息數(shù)據(jù)庫、同步處理 模塊、同步請求模塊、同步服務(wù)模塊。
[0019] 所述同步請求模塊負(fù)責(zé)向其他終端發(fā)送同步請求。該請求包含同步的目標(biāo)對象和 同步對象的特征域。該模塊也負(fù)責(zé)于對方終端交換同步消息。
[0020] 所述同步服務(wù)模塊負(fù)責(zé)響應(yīng)其他終端發(fā)來的同步請求,根據(jù)請求的內(nèi)容于對方終 端交換同步消息。
[0021] 所述同步處理模塊負(fù)責(zé)處理接收的同步消息,更新同步對象的內(nèi)容,存入同步對 象數(shù)據(jù)庫;該模塊也負(fù)責(zé)響應(yīng)終端內(nèi)部的同步需求,制作同步消息,由同步請求模塊和同步 服務(wù)模塊對外發(fā)送。
[0022] 所述同步對象數(shù)據(jù)庫用于存儲需要同步的對象。所述同步對象是指任何可以被共 享和同步的內(nèi)容單元,可以是如博客、文件、任務(wù)、圖片等簡單的內(nèi)容,也可以是基于不同應(yīng) 用的對象,例如日歷、財務(wù)報表、計劃、討論等。
[0023] 所述同步消息數(shù)據(jù)庫用于保存該終端接收和發(fā)送的所有同步消息。
[0024] 一種分布式多點同步系統(tǒng),所述系統(tǒng)包含了基于特征域和索引的同步對象結(jié)構(gòu)和 同步消息結(jié)構(gòu)。
[0025] 每一個同步對象由多個特征域組成。每個特征域是由特征單元組成的列表。每個 特征單元包含了索引項和內(nèi)容項。
[0026] 同步消息的結(jié)構(gòu):
[0027] ?消息ID :必須為全球唯一的標(biāo)識碼,保證消息的唯一性。
[0028] ·目標(biāo)同步對象ID :必須為全球唯一的標(biāo)識碼,保證同步對象的唯一性。
[0029] ?同步消息體:包含同步操作,即對同步對象的特征域進(jìn)行更新的操作指示。該操 作對特征域的更新是基于索引的。
[0030] ?消息生成用戶ID
[0031] ?消息生成終端ID
[0032] 本發(fā)明包含了一種上述系統(tǒng)的同步方法,所述方法包括如下步驟:
[0033] 1.同步消息的制作
[0034] 當(dāng)終端用戶對一個同步對象進(jìn)行操作,修改了該對象的內(nèi)容時,同步處理模塊將 生成一條同步消息,該同步消息被存入同步消息數(shù)據(jù)庫和同步請求隊列。
[0035] 2.同步請求隊列
[0036] 每個終端為每個同步聯(lián)系人維護(hù)一個同步請求隊列,其中存放需要與該聯(lián)系人交 換的同步消息。當(dāng)該終端與該聯(lián)系人的終端通信時,會將同步請求隊列中的同步消息發(fā)送 給對方。
[0037] 3.同步協(xié)議
[0038] 同步請求模塊和同步服務(wù)模塊負(fù)責(zé)與其他終端采用同步協(xié)議進(jìn)行通信。
[0039] 同步請求模塊
[0040] 同步請求模塊需要完成兩個任務(wù):
[0041] 任務(wù)1 :向外發(fā)送最新的同步消息
[0042] 同步請求模塊檢查同步請求隊列。當(dāng)發(fā)現(xiàn)該隊列中存在同步消息時,對每一個同 步消息采取如下步驟:
[0043] 5)檢查同步對象的來源,并主動聯(lián)系對象來源的終端,發(fā)起同步請求。該請求包含 了同步消息ID
[0044] 6)對方終端的同步服務(wù)模塊響應(yīng)請求,檢查同步消息ID,如果在其同步消息數(shù)據(jù) 庫中沒有包含該消息,則回應(yīng)要求接收該消息。
[0045] 7)同步請求方將同步消息發(fā)送給接收方。
[0046] 8)接收方將同步消息交給同步處理模塊,同步處理模塊更新對象,并將同步消息 存放到同步消息數(shù)據(jù)庫中。
[0047] 任務(wù)2 :向其他終端查詢是否有最新的同步消息
[0048]同步請求模塊向本用戶的其他終端查詢是否有最新的同步消息。
[0049] 如果本終端存放了來自其他用戶的對象,則同步請求模塊將聯(lián)系這個對象的來源 用戶的終端,查詢是否有關(guān)于該對象的同步消息。
[0050] 4)向?qū)Ψ浇K端發(fā)起同步請求。該請求包含了:
[0051] ?同步對象I D
[0052] ?在消息數(shù)據(jù)庫中最新的有關(guān)該對象的消息I D
[0053] 5)對方終端的同步服務(wù)模塊響應(yīng)請求,檢查請求中的消息ID,如果在其同步消息 數(shù)據(jù)庫中存在更新的消息,則將這些更新的同步消息發(fā)送給請求方。
[0054] 6)請求方將同步消息交給同步處理模塊,同步處理模塊更新對象,并將同步消息 存放到同步消息數(shù)據(jù)庫中。
[0055] 同步服務(wù)模塊
[0056] 同步服務(wù)模塊等待來自其他終端的同步請求,對來自其他終端同步請求模塊的請 求分別作出回應(yīng)。
[0057] 請求1 :對方終端要求發(fā)送同步消息
[0058] 4)同步服務(wù)模塊響應(yīng)請求,檢查同步消息ID,如果在其同步消息數(shù)據(jù)庫中沒有包 含該消息,則回應(yīng)要求接收該消息。
[0059] 5)從對方終端接收該消息。
[0060] 6)將同步消息交給同步處理模塊,同步處理模塊更新對象,并將同步消息存放到 同步消息數(shù)據(jù)庫中。
[0061] 請求2 :對方終端要求查詢最新同步消息
[0062] 同步服務(wù)模塊響應(yīng)查詢請求,檢查請求中的消息ID,如果在其同步消息數(shù)據(jù)庫中 存在更新的消息,則將這些更新的同步消息發(fā)送給對方終端。
[0063] 本發(fā)明中多點同步系統(tǒng)的優(yōu)越性在于:
[0064] 1)不需要中心同步服務(wù)器
[0065] 應(yīng)用此同步系統(tǒng)技術(shù)的軟件和服務(wù)不需要部署云服務(wù)或中心服務(wù)器,所有的同步 數(shù)據(jù)保存在用戶自己的終端上。網(wǎng)絡(luò)服務(wù)商省卻了巨額的帶寬和存儲成本,同時減少了可 靠性和安全性風(fēng)險。商業(yè)公司用戶不需要安裝建立獨立的中心服務(wù)器。減少了軟硬件支出 和人員開支。由于數(shù)據(jù)和內(nèi)容分散在員工的電腦上,大大提高了可靠性和安全性。
[0066] 2)更高的安全性
[0067] 由于用戶數(shù)據(jù)不保存在云端或中心服務(wù)器上,用戶不用擔(dān)心數(shù)據(jù)泄密問題。
[0068] 3)更快的同步速度
[0069] 終端之間的同步速度更快,可以保證及時通信的需要。由于終端之間之間通信,大 大方便了高容量的視頻內(nèi)容的共享。
[0070] 本發(fā)明中的多點同步方法具有如下特點:
[0071] 1)同步對象和同步消息的唯一'I"生
[0072] 由于同步對象和同步消息具備全球唯一性,保證了各個終端不會重復(fù)同步更新。 同步對象和同步消息的唯一性是解決多點同步一致性的基礎(chǔ)。
[0073] 2)基于特征域和索引的同步更新操作
[0074] 同步消息中的同步操作,包含了針對同步對象的更新操作指示。該操作是基于目 標(biāo)對象的特征域和索引,其特點是:
[0075] ?每個同步消息所指定的更新操作僅僅針對對象的某個特征域。
[0076] ?被更新的特征域是基于索引的,即僅僅特定索引項的內(nèi)容被更新。
[0077] 這種同步更新操作的好處,就是不會重寫覆蓋對象的全部內(nèi)容,而是僅僅更新對 象的特定特征域中的特定索引單元。例如,對一個數(shù)據(jù)表的更新操作,僅僅包含增加、刪除 或更新特定的數(shù)據(jù)項;對一個討論組的操作,僅僅包含一個新的帖子的增加操作。這樣,多 個終端就可以對同一個對象同時進(jìn)行更新,而不會破壞該對象的一致性。
[0078] 3)可靠的同步協(xié)議
[0079] 該方案的同步協(xié)議包含了兩個步驟,保證了通信的雙方交換各自需要的同步消 息,并保證同步消息的正確順序。在此過程中,同步雙方各自檢查對方擁有的消息和自己擁 有的消息,并僅僅接收和處理自己沒有的同步消息。這一過程保證了同步對象中每個終端 中都收到完整的消息序列。同步消息不會被遺漏,也不會被重復(fù)。
【專利附圖】
【附圖說明】
[0080] 圖1為實施例中多點同步終端的結(jié)構(gòu)示意圖。
[0081] 圖2為實施例中的同步對象結(jié)構(gòu)示意圖。
【具體實施方式】
[0082] 下面結(jié)合附圖詳細(xì)說明本發(fā)明的實施例。
[0083] 實施例:一個基于多點同步系統(tǒng)的個人筆記本SmartPage
[0084] 本實施例描述的SmartPage個人筆記本是一個安裝在P C、手機(jī)或P A D上的應(yīng) 用軟件,用于記錄用戶的筆記、文件、圖片、任務(wù)等。個人筆記本上的內(nèi)容可以以頁為單位在 用戶之間共享。共享的內(nèi)容被保存在各個用戶的設(shè)備上,通過多點同步系統(tǒng)保持自動同步。 這個同步過程不需要借助中心服務(wù)器或云服務(wù)來完成,全部依靠用戶電腦和移動終端之間 的直接通信完成。
[0085] SmartPage的內(nèi)容對象具有高度靈活性,可以是如博客、文件、任務(wù)、圖片等簡單的 內(nèi)容,也可以是基于不同應(yīng)用的對象,例如日歷、財務(wù)報表、計劃、討論等。這些對象都可以 被添加在用戶的頁面上,設(shè)置為共享,在不同用戶的頁面中復(fù)制。任何更新都會被同步到其 他終端上。用戶也可以設(shè)置某些對象為共享協(xié)作對象,即其他用戶可以更新該對象的內(nèi)容。
[0086] SmartPage全面應(yīng)用了本發(fā)明專利所述的多點同步的體系結(jié)構(gòu)和同步方法。每個 同步終端軟件都由同步對象數(shù)據(jù)庫、同步消息數(shù)據(jù)庫、同步處理模塊、同步請求模塊和同步 服務(wù)模塊組成,參見圖1.
[0087] SmartPage中的對象是建立在一個名為SmartNote的對象模型之上的。該對象模 型建立在特征域和索引單元的基礎(chǔ)上,所有的同步操作都基于這個對象模型。該對象模型 的結(jié)構(gòu)參見圖2.
[0088] 應(yīng)用本發(fā)明專利所述的多點同步協(xié)議,我們開發(fā)了一個基于SmartNote的多點同 步協(xié)議。該協(xié)議的具體描述如下:
[0089] 1)同步消息格式
[0090] 籲 ID :消息 ID
[0091] · TARGET :目標(biāo)對象 ID
[0092] 籲BODY :同步消息體,包含同步更新操作
[0093] · AUTHOR :消息生成用戶ID
[0094] · HOST :消息生產(chǎn)終端ID
[0095] 2)同步協(xié)議
[0096] ?終端A向終端B發(fā)起請求建立連接。
[0097] ?階段 1 :
[0098] i.終端A向終端B遞交"愿望清單"。愿望清單包含了終端A希望查詢的同步對 象。
[0099] 終端 AWISHLIST--"終端 B
[0100] WISHLIST :
[0101][對象發(fā)布用戶1 :[對象1 :消息索引1 ;對象2 :消息索引2..],
[0102] 對象發(fā)布用戶2 :[對象1 :消息索引1 ;對象2 :消息索引2..],
[0103]
[0104] ]
[0105] ii.終端B根據(jù)"愿望清單"檢查同步消息數(shù)據(jù)庫,返回符合清單要求(即終端A 沒有的消息)的消息列表。終端A處理這些消息,并保存到消息數(shù)據(jù)庫。
[0106] 終端A ---終端β
[0107] [對象發(fā)布用戶1 :[對象1 :消息列表1 ;對象2 :消息列表2..],
[0108] 對象發(fā)布用戶2 :[對象1 :消息列表1 ;對象2 :消息列表2..],
[0109]
[0110] ]
[0111] iii.終端Α檢查自己的同步請求隊列。如果該隊列包含需要發(fā)給終端Β的消息, 則將這些消息ID通知對方。
[0112] 終端 A STOCK LIST--"終端 Β
[0113] STOCK LIST :
[0114] [對象發(fā)布用戶1 :[對象1 :消息ID1 ;對象2 :消息ID2. ·],
[0115] 對象發(fā)布用戶2 :[對象1 :消息ID1 ;對象2 :消息ID2..],
[0116]
[0117] ]
[0118] iv.終端B檢查自己的消息數(shù)據(jù)庫,如果發(fā)現(xiàn)自己需要某些消息,則將需要消息的 ID列表發(fā)送給終端A。
[0119] 終立而A 終立而B
[0120] [對象發(fā)布用戶1 :[對象1 :消息ID1 ;對象2 :消息ID2. ·],
[0121] 對象發(fā)布用戶2 :[對象1 :消息ID1 ;對象2 :消息ID2..],
[0122]
[0123] ]
[0124] V.終端A將終端B需要的消息發(fā)送給對方。
[0125] 終端A-終端B
[0126] [對象發(fā)布用戶1 :[對象1 :消息1 ;對象2 :消息2..],
[0127] 對象發(fā)布用戶2 :[對象1 :消息1 ;對象2 :消息2..],
[0128]
[0129] ]
[0130] ?階段 2:
[0131] vi.終端A向終端B詢問是否有"愿望清單"。終端B將自己的愿望清單發(fā)送給終 端A。
[0132] 終端 A <--終端 B WISHLIST
[0133] WISHLIST :
[0134] [對象發(fā)布用戶1 :[對象1 :消息索引1 ;對象2 :消息索引2..],
[0135] 對象發(fā)布用戶2 :[對象1 :消息索引1 ;對象2 :消息索引2..],
[0136]
[0137] ]
[0138] vii.終端A根據(jù)"愿望清單"檢查同步消息數(shù)據(jù)庫,返回符合清單要求(即終端B 沒有的消息)的消息列表。終端B處理這些消息,并保存到消息數(shù)據(jù)庫。
[0139] 終端A--"終端B
[0140] [對象發(fā)布用戶1 :[對象1 :消息列表1 ;對象2 :消息列表2..],
[0141] 對象發(fā)布用戶2 :[對象1 :消息列表1 ;對象2 :消息列表2..],
[0142]
[0143] ]
[0144] viii.終端B檢查自己的同步請求隊列。如果該隊列包含需要發(fā)給終端A的消息, 則將這些消息ID通知對方。
[0145] 終端 A <--終端 B STOCK LIST
[0146] STOCK LIST :
[0147] [對象發(fā)布用戶1 :[對象1 :消息ID1 ;對象2 :消息ID2..],
[0148] 對象發(fā)布用戶2 :[對象1 :消息ID1 ;對象2 :消息ID2..],
[0149] …
[0150] ]
[0151] ix.終端A檢查自己的消息數(shù)據(jù)庫,如果發(fā)現(xiàn)自己需要某些消息,則將需要消息的 ID列表發(fā)送給終端B。
[0152] 終端A---"終端β
[0153] [對象發(fā)布用戶1 :[對象1 :消息ID1 ;對象2 :消息ID2. ·],
[0154] 對象發(fā)布用戶2 :[對象1 :消息ID1 ;對象2 :消息ID2..],
[0155]
[0156] ]
[0157] X.終端Β將終端Α需要的消息發(fā)送給對方。
[0158] 終端A <--終端β
[0159] [對象發(fā)布用戶1 :[對象1 :消息1 ;對象2 :消息2..],
[0160] 對象發(fā)布用戶2 :[對象1 :消息1 ;對象2 :消息2..],
[0161]
[0162]]
[0163] 綜上所述,本發(fā)明提供了一種多點同步的系統(tǒng)和方法,實現(xiàn)了在網(wǎng)絡(luò)中的多個終 端之間直接通信同步,而不需要借助中心服務(wù)器進(jìn)行內(nèi)容的復(fù)制和轉(zhuǎn)發(fā)。這種方法免除了 建立中心服務(wù)器或云服務(wù)的需要,減少了網(wǎng)絡(luò)服務(wù)商和商業(yè)公司的投資和運營成本。保證 了用戶數(shù)據(jù)的安全性和可靠性,提高了同步數(shù)據(jù)的實時性。
[0164] 這里本發(fā)明的描述和應(yīng)用是說明性的,并非想將本發(fā)明的范圍限制在上述實施例 中。這里所披露的實施例的變形和改變是可能的,對于那些本領(lǐng)域的普通技術(shù)人員來說實 施例的替換和等效的各種部件是公知的。本領(lǐng)域技術(shù)人員應(yīng)該清楚的是,在不脫離本發(fā)明 的精神或本質(zhì)特征的情況下,本發(fā)明可以以其它形式、結(jié)構(gòu)、布置、比例,以及用其它組件、 材料和部件來實現(xiàn)。在不脫離本發(fā)明范圍和精神的情況下,可以對這里所披露的實施例進(jìn) 行其它變形和改變。
【權(quán)利要求】
1. 一種分布式的多點同步系統(tǒng)及其同步方法,其特征在于,所述系統(tǒng)由兩個以上分布 式的同步終端組成;所述用戶終端之間通過同步協(xié)議直接通信和交換同步內(nèi)容,不需要由 同步服務(wù)器進(jìn)行內(nèi)容的中轉(zhuǎn)和分發(fā)。
2. 根據(jù)權(quán)利要求1所述的多點同步系統(tǒng),其特征在于,所述多點同步系統(tǒng)可以在多個 終端上保持同步對象的內(nèi)容。所述同步對象是指任何可以被共享和同步的內(nèi)容單元,可以 是如博客、文件、任務(wù)、圖片等簡單的內(nèi)容,也可以是基于不同應(yīng)用的對象,例如日歷、財務(wù) 報表、計劃、討論等。 所述同步對象可以由某個同步終端生成,并被其他同步終端保存。該同步對象可以被 多個終端同時更新,其更新的結(jié)果可以被同步到所有保存該對象的終端上。
3. 根據(jù)權(quán)利要求1所述的多點同步系統(tǒng),其特征在于,所述同步終端包括同步對象數(shù) 據(jù)庫、同步消息數(shù)據(jù)庫、同步處理模塊、同步請求模塊、同步服務(wù)模塊。 所述同步請求模塊負(fù)責(zé)向其他終端發(fā)送同步請求。該請求包含同步的目標(biāo)對象和同步 對象的特征域。該模塊也負(fù)責(zé)與對方終端交換同步消息。 所述同步服務(wù)模塊負(fù)責(zé)響應(yīng)其他終端發(fā)來的同步請求,根據(jù)請求的內(nèi)容于對方終端交 換同步消息。 所述同步處理模塊負(fù)責(zé)處理接收的同步消息,更新同步對象的內(nèi)容,存入同步對象數(shù) 據(jù)庫;該模塊也負(fù)責(zé)響應(yīng)終端內(nèi)部的同步需求,制作同步消息,由同步請求模塊和同步服務(wù) 模塊對外發(fā)送。 所述同步對象數(shù)據(jù)庫用于存儲需要同步的對象。所述同步對象是指任何可以被共享和 同步的內(nèi)容單元,可以是如博客、文件、任務(wù)、圖片等簡單的內(nèi)容,也可以是基于不同應(yīng)用的 對象,例如日歷、財務(wù)報表、計劃、討論等。 所述同步消息數(shù)據(jù)庫用于保存該終端接收和發(fā)送的所有同步消息。
4. 根據(jù)權(quán)利要求1所述的多點同步方法,其特征在于,所述同步終端之間交換同步消 息。每個同步消息包含了針對一個或多個同步對象的更新操作。每個同步消息具有唯一性, 即任何用戶和終端產(chǎn)生的同步消息都是唯一的。
5. 根據(jù)權(quán)利要求1所述的多點同步系統(tǒng),其特征在于,所述系統(tǒng)包含了基于特征域和 索引的同步對象結(jié)構(gòu)和同步消息結(jié)構(gòu)。 每一個同步對象由多個特征域組成。每個特征域是由特征單元組成的列表。 每個特征單元包含了索引項和內(nèi)容項。 同步消息的結(jié)構(gòu): ?消息工D :必須為全球唯一的標(biāo)識碼,保證消息的唯一性。 ?目標(biāo)同步對象ID :必須為全球唯一的標(biāo)識碼,保證同步對象的唯一性。 ?同步消息體:包含同步操作,即對同步對象的特征域進(jìn)行更新的操作指示。 該操作對特征域的更新是基于索引的。 ?消息生成用戶ID ?消息生成終端ID。
6. 根據(jù)權(quán)利要求4和要求5所述的多點同步系統(tǒng)和方法,其特征在于,所述的同步消息 包含了針對目標(biāo)對象的基于特征域和索引的更新操作指示?;谔卣饔蚝退饕母虏僮?的含義是: 1) 每個同步消息所指定的更新操作僅僅針對對象的某個特征域。 2) 被更新的特征域是基于索引的,即僅僅特定索引項的內(nèi)容被更新。
7.根據(jù)權(quán)利要求1所述的多點同步系統(tǒng)和同步方法,其特征在于,所述方法包括如下 步驟: 1) 同步消息的制作 當(dāng)終端用戶對一個同步對象進(jìn)行操作,修改了該對象的內(nèi)容時,同步處理模塊將生成 一條同步消息,該同步消息被存入同步消息數(shù)據(jù)庫和同步請求隊列。 2) 同步請求隊列 每個終端為每個同步聯(lián)系人維護(hù)一個同步請求隊列,其中存放需要與該聯(lián)系人交換的 同步消息。當(dāng)該終端與該聯(lián)系人的終端通信時,會將同步請求隊列中的同步消息發(fā)送給對 方。 3) 同步協(xié)議 同步請求模塊和同步服務(wù)模塊負(fù)責(zé)與其他終端采用同步協(xié)議進(jìn)行通信。 *同步請求模塊 同步請求模塊需要完成兩個任務(wù): 任務(wù)1 :向外發(fā)送最新的同步消息 同步請求模塊檢查同步請求隊列。當(dāng)發(fā)現(xiàn)該隊列中存在同步消息時,對每一個同步消 息采取如下步驟: 1) 檢查同步對象的來源,并主動聯(lián)系對象來源的終端,發(fā)起同步請求。該請求包含了同 步消息ID。 2) 對方終端的同步服務(wù)模塊響應(yīng)請求,檢查同步消息ID,如果在其同步消息數(shù)據(jù)庫中 沒有包含該消息,則回應(yīng)要求接收該消息。 3) 同步請求方將同步消息發(fā)送給接收方。 4) 接收方將同步消息交給同步處理模塊,同步處理模塊更新對象,并將同步消息存放 到同步消息數(shù)據(jù)庫中。 任務(wù)2 :向其他終端查詢是否有最新的同步消息。 同步請求模塊向本用戶的其他終端查詢是否有最新的同步消息。 如果本終端存放了來自其他用戶的對象,則同步請求模塊將聯(lián)系這個對象的來源用戶 的終端,查詢是否有關(guān)于該對象的同步消息。 1) 向?qū)Ψ浇K端發(fā)起同步請求。該請求包含了: ?同步對象ID ?在消息數(shù)據(jù)庫中最新的有關(guān)該對象的消息ID索引 2) 對方終端的同步服務(wù)模塊響應(yīng)請求,檢查請求中的消息ID,如果在其同步消息數(shù)據(jù) 庫中存在更新的消息,則將這些更新的同步消息發(fā)送給請求方。 3) 請求方將同步消息交給同步處理模塊,同步處理模塊更新對象,并將同步消息存放 到同步消息數(shù)據(jù)庫中。 *同步服務(wù)模塊 同步服務(wù)模塊等待來自其他終端的同步請求,對來自其他終端同步請求模塊的請求分 別作出回應(yīng)。 請求1 :對方終端要求發(fā)送同步消息 1) 同步服務(wù)模塊響應(yīng)請求,檢查同步消息ID,如果在其同步消息數(shù)據(jù)庫中沒有包含該 消息,則回應(yīng)要求接收該消息。 2) 從對方終端接收該消息。 3) 將同步消息交給同步處理模塊,同步處理模塊更新對象,并將同步消息存放到同步 消息數(shù)據(jù)庫中。 請求2 :對方終端要求查詢最新同步消息 同步服務(wù)模塊響應(yīng)查詢請求,檢查請求中的消息ID,如果在其同步消息數(shù)據(jù)庫中存在 更新的消息,則將這些更新的同步消息發(fā)送給對方終端。
【文檔編號】H04L29/08GK104052768SQ201310079934
【公開日】2014年9月17日 申請日期:2013年3月13日 優(yōu)先權(quán)日:2013年3月13日
【發(fā)明者】彭濤 申請人:彭濤