亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

分布式系統(tǒng)數(shù)據(jù)同步的方法及裝置的制作方法

文檔序號:6438707閱讀:176來源:國知局
專利名稱:分布式系統(tǒng)數(shù)據(jù)同步的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種分布式系統(tǒng)數(shù)據(jù)同步的方法及裝置。
背景技術(shù)
現(xiàn)在的網(wǎng)絡(luò)設(shè)備一般都是數(shù)據(jù)轉(zhuǎn)發(fā)功能和控制功能分離的分布式設(shè)備,負責控制功能的主控卡與其它設(shè)備進行協(xié)議交互從而生成數(shù)量巨大的路由信息等,并將路由信息等實時下發(fā)到各個線卡上從而實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)。傳統(tǒng)的同步方法是在主控卡上直接將這些路由信息等轉(zhuǎn)換為設(shè)備內(nèi)部的通訊消息發(fā)到各個線卡上。這種同步方法在一些場合會出現(xiàn)嚴重問題,比如外部路由信息快速震蕩從而導致設(shè)備內(nèi)部的通訊消息來不及下發(fā)到各個線卡而產(chǎn)生積壓,這種情形如果持續(xù)時間較長會導致主控卡內(nèi)存耗盡從而引起設(shè)備異常。一種改進的同步方法是不馬上將路由信息等轉(zhuǎn)換為通訊消息,而是采用類 TCP (Transmission Control Protocol,傳輸控制協(xié)議)方式,等內(nèi)部通訊窗口可用時才將路由信息等轉(zhuǎn)換為通訊消息下發(fā)到各個線卡。這種方式支持路由信息的查找,對于相同路由的變化會進行合并同步,從而防止了消息的積壓。然而這種方法仍然會在一些場合出現(xiàn)嚴重問題,比如不同的路由反復添加和刪除的震蕩場景,采用這種同步方法必須在消息下發(fā)到各個線卡前將這些路由都存儲起來,這樣仍有可能會出現(xiàn)內(nèi)存耗盡。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種分布式系統(tǒng)數(shù)據(jù)同步的方法及裝置,以避免在通訊能力不足時內(nèi)存耗盡的問題。為了解決上述技術(shù)問題,本發(fā)明提供了一種分布式系統(tǒng)數(shù)據(jù)同步的方法,包括發(fā)送端創(chuàng)建數(shù)據(jù)條目時,按序為所創(chuàng)建的數(shù)據(jù)條目分配序列號;對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理;將包括處理后的序列號信息的同步消息發(fā)送給接收端。進一步地,上述方法還具有下面特點所述對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理包括將新創(chuàng)建的數(shù)據(jù)條目和內(nèi)容發(fā)生變化的數(shù)據(jù)條目對應的序列號放入更新處理鏈表;所述將包括處理后的序列號信息的同步消息發(fā)送給接收端,包括將所述更新處理鏈表中的序列號和對應數(shù)據(jù)條目的內(nèi)容放入更新同步消息中,將所述更新同步消息發(fā)送給接收端。進一步地,上述方法還具有下面特點所述對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理包括將與刪除的數(shù)據(jù)條目的序列號最近的序列號放入刪除處理鏈表;所述將包括處理后的序列號信息的同步消息發(fā)送給接收端,包括
根據(jù)所述刪除處理表中的每一序列號與本地現(xiàn)存的序列號,分別生成一開區(qū)間數(shù)據(jù);將所述開區(qū)間數(shù)據(jù)放入刪除同步消息后發(fā)送給接收端。為了解決上述問題,本發(fā)明還提供了一種分布式系統(tǒng)數(shù)據(jù)同步的發(fā)送裝置,包括創(chuàng)建模塊,用于創(chuàng)建數(shù)據(jù)條目時,按序為所創(chuàng)建的數(shù)據(jù)條目分配序列號;處理模塊,用于對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理;發(fā)送模塊,用于將包括處理后的序列號信息的同步消息發(fā)送給接收端。進一步地,上述裝置還具有下面特點所述處理模塊,具體用于將新創(chuàng)建的數(shù)據(jù)條目和內(nèi)容發(fā)生變化的數(shù)據(jù)條目對應的序列號放入更新處理鏈表;所述發(fā)送模塊,具體用于將所述更新處理鏈表中的序列號和對應數(shù)據(jù)條目的內(nèi)容放入更新同步消息中,將所述更新同步消息發(fā)送給接收端。進一步地,上述裝置還具有下面特點所述處理模塊,具體用于將與刪除的數(shù)據(jù)條目的序列號最近的序列號放入刪除處理鏈表;所述發(fā)送模塊,具體用于根據(jù)所述刪除處理表中的每一序列號與本地現(xiàn)存的序列號,分別生成一開區(qū)間數(shù)據(jù);將所述開區(qū)間數(shù)據(jù)放入刪除同步消息后發(fā)送給接收端。為了解決上述問題,本發(fā)明還提供了一種分布式系統(tǒng)數(shù)據(jù)同步的方法,包括接收同步消息,所述同步消息至少攜帶數(shù)據(jù)條目的序列號信息;根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作。進一步地,上述方法還具有下面特點所述同步消息為更新同步消息,所述更新同步消息攜帶數(shù)據(jù)條目的序列號和內(nèi)容;所述根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作包括根據(jù)所述序列號查找本地是否存在對應的數(shù)據(jù)條目,若存在,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容修改本地存儲的對應的數(shù)據(jù)條目的內(nèi)容;若不存在,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容創(chuàng)建一條數(shù)據(jù)條目,并將所述序列號寫入所創(chuàng)建的數(shù)據(jù)條目。進一步地,上述方法還具有下面特點所述同步消息為刪除同步消息,所述刪除同步消息攜帶由序列號構(gòu)成的開區(qū)間數(shù)據(jù);所述根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作包括在本地查找在所述開區(qū)間數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)條目的序列號;將查找到的序列號對應的數(shù)據(jù)條目刪除。為了解決上述問題,本發(fā)明還提供了一種分布式系統(tǒng)數(shù)據(jù)同步的接收裝置,包括接收模塊,用于接收同步消息,所述同步消息至少攜帶數(shù)據(jù)條目的序列號信息;同步模塊,用于根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作。
進一步地,上述裝置還具有下面特點所述同步消息為更新同步消息,所述更新同步消息攜帶數(shù)據(jù)條目的序列號和內(nèi)容;所述同步模塊包括查找單元,用于根據(jù)所述序列號查找本地是否存在對應的數(shù)據(jù)條目;修改單元,用于在所述查找單元查找到存在對應的數(shù)據(jù)條目,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容修改本地存儲的對應的數(shù)據(jù)條目的內(nèi)容;創(chuàng)建單元,用于在所述查找單元查找到不存在對應的數(shù)據(jù)條目,則根據(jù)所述更新
同步消息攜帶的數(shù)據(jù)條目的內(nèi)容創(chuàng)建一條數(shù)據(jù)條目,并將所述序列號寫入所創(chuàng)建的數(shù)據(jù)條目。進一步地,上述裝置還具有下面特點所述同步消息為刪除同步消息,所述刪除同步消息攜帶由序列號構(gòu)成的開區(qū)間數(shù)據(jù);所述同步模塊包括查找單元,用于在本地查找在所述開區(qū)間數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)條目的序列號;刪除單元,用于將查找到的序列號對應的數(shù)據(jù)條目刪除。綜上,本發(fā)明提供一種分布式系統(tǒng)數(shù)據(jù)同步的方法及裝置,可以使內(nèi)存的消耗只與當前的數(shù)據(jù)信息有關(guān),而與外部環(huán)境震蕩與否、本設(shè)備處理能力等無關(guān)。本發(fā)明通過用未刪除的信息條目來表述已刪除的信息條目,避免了在通訊能力不足時內(nèi)存耗盡的可能;并且不限制通訊方式,通用性高;可以提供靈活的策略,以滿足同步快交互慢的需求,或者反過來滿足交互快同步慢的需求。


圖1為本發(fā)明實施例的分布式系統(tǒng)數(shù)據(jù)同步的發(fā)送裝置的示意圖;圖2為本發(fā)明實施例的分布式系統(tǒng)數(shù)據(jù)同步的接收裝置的示意圖;圖3為本發(fā)明一實施例的分布式系統(tǒng)數(shù)據(jù)同步的方法的流程圖;圖4為本發(fā)明另一實施例的分布式系統(tǒng)數(shù)據(jù)同步的方法的流程圖;圖5為本發(fā)明實施例的數(shù)據(jù)結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例的刪除同步的流程圖;圖7為本發(fā)明實施例的更新同步的流程圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。圖1為本發(fā)明實施例的分布式系統(tǒng)數(shù)據(jù)同步的發(fā)送裝置的示意圖,本實施例的裝置是針對數(shù)據(jù)同步的發(fā)送端而言的,如圖1所示,本實施例的裝置包括創(chuàng)建模塊,用于創(chuàng)建數(shù)據(jù)條目時,按序為所創(chuàng)建的數(shù)據(jù)條目分配序列號;處理模塊,用于對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理;
發(fā)送模塊,用于將包括處理后的序列號信息的同步消息發(fā)送給接收端。其中,所述處理模塊,具體用于將新創(chuàng)建的數(shù)據(jù)條目和內(nèi)容發(fā)生變化的數(shù)據(jù)條目對應的序列號放入更新處理鏈表;所述發(fā)送模塊,具體用于將所述更新處理鏈表中的序列號和對應數(shù)據(jù)條目的內(nèi)容放入更新同步消息中,將所述更新同步消息發(fā)送給接收端。其中,所述處理模塊,具體用于將與刪除的數(shù)據(jù)條目的序列號最近的序列號放入刪除處理鏈表;所述發(fā)送模塊,具體用于根據(jù)所述刪除處理表中的每一序列號與本地現(xiàn)存的序列號,分別生成一開區(qū)間數(shù)據(jù);將所述開區(qū)間數(shù)據(jù)放入刪除同步消息后發(fā)送給接收端。其中,所述創(chuàng)建模塊,按序為所創(chuàng)建的數(shù)據(jù)條目分配序列號包括按序為所創(chuàng)建的每一類數(shù)據(jù)條目分別獨立地分配序列號。圖2為本發(fā)明實施例的分布式系統(tǒng)數(shù)據(jù)同步的接收裝置的示意圖,本實施例的裝置是針對數(shù)據(jù)同步的接收端而言的,如圖2所示,本實施例的裝置包括接收模塊,用于接收同步消息,所述同步消息至少攜帶數(shù)據(jù)條目的序列號信息;同步模塊,用于根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作。所述同步消息可以為更新同步消息,所述更新同步消息可攜帶數(shù)據(jù)條目的序列號和內(nèi)容;所述同步模塊包括查找單元,用于根據(jù)所述序列號查找本地是否存在對應的數(shù)據(jù)條目;修改單元,用于在所述查找單元查找到存在對應的數(shù)據(jù)條目,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容修改本地存儲的對應的數(shù)據(jù)條目的內(nèi)容;創(chuàng)建單元,用于在所述查找單元查找到不存在對應的數(shù)據(jù)條目,則根據(jù)所述更新
同步消息攜帶的數(shù)據(jù)條目的內(nèi)容創(chuàng)建一條數(shù)據(jù)條目,并將所述序列號寫入所創(chuàng)建的數(shù)據(jù)條目。所述同步消息可以為刪除同步消息,所述刪除同步消息可攜帶由序列號構(gòu)成的開區(qū)間數(shù)據(jù);所述同步模塊包括查找單元,用于在本地查找在所述開區(qū)間數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)條目的序列號;刪除單元,用于將查找到的序列號對應的數(shù)據(jù)條目刪除。圖3為本發(fā)明實施例的分布式系統(tǒng)數(shù)據(jù)同步的方法的流程圖,本實施例的方法是針對數(shù)據(jù)同步的發(fā)送端而言的,如圖3所示,本實施例的方法包括下面步驟S11、發(fā)送端創(chuàng)建數(shù)據(jù)條目時,按序為所創(chuàng)建的數(shù)據(jù)條目分配序列號;S12、對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理;S13、將包括處理后的序列號信息的同步消息發(fā)送給接收端。其中,步驟Sll中,按序為所創(chuàng)建的數(shù)據(jù)條目分配序列號可以包括按序為所創(chuàng)建的每一類的數(shù)據(jù)條目分別獨立地分配序列號。其中,步驟S12可以包括將新創(chuàng)建的數(shù)據(jù)條目和內(nèi)容發(fā)生變化的數(shù)據(jù)條目對應的序列號放入更新處理鏈表;則步驟S13可以包括將所述更新處理鏈表中的序列號和對應數(shù)據(jù)條目的內(nèi)容放入更新同步消息中,將所述更新同步消息發(fā)送給接收端。
其中,步驟S12可以包括將與刪除的數(shù)據(jù)條目的序列號最近的序列號放入刪除處理鏈表;則步驟S13可以包括根據(jù)所述刪除處理表中的每一序列號與本地現(xiàn)存的序列號,分別生成一開區(qū)間數(shù)據(jù);將所述開區(qū)間數(shù)據(jù)放入刪除同步消息后發(fā)送給接收端。例如,本實施例的發(fā)送端可以實施為a、定義一個單調(diào)遞增/遞減序列號發(fā)生器;b、新建一需要同步的路由信息條目時,將序列號發(fā)生器的值賦給該條目,序列號發(fā)生器自身值加一或減一,將該條目加入一個待添加/更新處理鏈表尾部;C、若一條目內(nèi)容發(fā)生改變,則將該條目從鏈表中挪出,并再次放入待添加/更新處理鏈表尾部;d、一條目刪除時,直接釋放內(nèi)存,并且將值最近的序列號,小于或大于該釋放條目的某個條目放入待刪除處理鏈表尾部;e、在通訊可用時,先掃描待刪除處理鏈表,對每個條目生成一個序列號開區(qū)間,將該開區(qū)間放入刪除消息中發(fā)給各個線卡;待刪除處理鏈表處理完后再處理待添加/更新處理鏈表,將每個條目的序列號和內(nèi)容一起放入添加/更新消息中發(fā)給各個線卡。在所述步驟e中,如果通訊采用單播方式,則針對每個接收端的掃描可以各自獨立進行,互不相干。所述步驟b、c、d、d、0TS有順序要求,可以根據(jù)實際應用場景定義b、c、d的處理優(yōu)先級高于e也可以反過來定義。圖4為本發(fā)明另一實施例的分布式系統(tǒng)數(shù)據(jù)同步的方法的流程圖,本實施例的方法是針對數(shù)據(jù)同步的接收端而言的,如圖4所示,本實施例的方法包括下面步驟S21、接收同步消息,所述同步消息至少攜帶數(shù)據(jù)條目的序列號信息;S22、根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作。其中,所述同步消息可以為更新同步消息,所述更新同步消息攜帶數(shù)據(jù)條目的序列號和內(nèi)容;步驟S22可以包括根據(jù)所述序列號查找本地是否存在對應的數(shù)據(jù)條目,若存在,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容修改本地存儲的對應的數(shù)據(jù)條目的內(nèi)容;若不存在,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容創(chuàng)建一條數(shù)據(jù)條目,并將所述序列號寫入所創(chuàng)建的數(shù)據(jù)條目。其中,所述同步消息可以為刪除同步消息,所述刪除同步消息攜帶由序列號構(gòu)成的開區(qū)間數(shù)據(jù);步驟S22可以包括在本地查找在所述開區(qū)間數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)條目的序列號;將查找到的序列號對應的數(shù)據(jù)條目刪除。本發(fā)明實施例提供的分布式系統(tǒng)數(shù)據(jù)同步的方法,可以使內(nèi)存的消耗只與當前的數(shù)據(jù)信息有關(guān),而與外部環(huán)境震蕩與否、本設(shè)備處理能力等無關(guān)。本發(fā)明實施例通過用未刪除的信息條目來表述已刪除的信息條目,避免了在通訊能力不足時內(nèi)存耗盡的可能。并且不限制通訊方式,通用性高??梢蕴峁╈`活的策略,以滿足同步快交互慢的需求,或者反過來滿足交互快同步慢的需求。
如果通訊采用單播方式時,可以在發(fā)送端定制發(fā)送策略,應用靈活,而且不會因為某個接收端處理過慢而拖累其他接收端的同步處理。下面結(jié)合附圖和具體實施例對本發(fā)明作進一步的介紹,但不作為對本發(fā)明的限定。在本實施例中,在發(fā)送端使用了 3個鏈表來維護待同步的信息條目,分別是按照創(chuàng)建順序排序的創(chuàng)建鏈表,按照變化順序排序的變化鏈表,按照刪除順序排序的刪除鏈表。 應注意的是也可以使用其它數(shù)據(jù)結(jié)構(gòu)來維護待同步的信息條目。在接收端使用二叉樹來維護接收到的信息條目,應注意的是也可以使用其它數(shù)據(jù)結(jié)構(gòu)來維護待同步的信息條目。發(fā)送端開始時創(chuàng)建了 7個信息條目,按照序列號單調(diào)遞增原則給這7個條目分別分配了序列號1、2、3、4、5、6、7。此時創(chuàng)建鏈表鏈接方式為1->2->3->4->5->6->7 ;刪除鏈表為空;變化鏈表為1->2->3->4_>5->6->7。之后發(fā)送端條目3、7、1發(fā)生了改變導致變化鏈表變?yōu)?->4->5->6->3->7_>1。假定在某個時刻下,數(shù)據(jù)發(fā)送端在之前已經(jīng)將變化鏈表中的2->4->5->6->3掃描并同步給數(shù)據(jù)接收端,接收端生成了對應的5個條目的二叉樹結(jié)構(gòu),如圖5中的接收端數(shù)據(jù)結(jié)構(gòu)所示。之后發(fā)送端刪除了條目6、5、2,刪除條目6時需要將其從創(chuàng)建鏈和變化鏈中摘除, 并將序列號小于它的最近的條目5掛接到刪除鏈上;刪除條目5時需要將其從創(chuàng)建鏈、變化鏈和刪除鏈中摘除,并將序列號小于它的最近的條目4掛接到刪除鏈上;刪除條目2時需要將其從創(chuàng)建鏈和變化鏈中摘除,并將序列號小于它的最近的條目1掛接到刪除鏈上;最后創(chuàng)建鏈為1->3->4_>7,刪除鏈為4->1,變化鏈為4->3->7->1,如圖5中的發(fā)送端數(shù)據(jù)結(jié)構(gòu)所
7J\ ο以圖5作為開始同步的某個初始態(tài),圖6表示進行刪除同步的流程,如圖所示,該方法包括以下步驟步驟201 發(fā)送端和接收端通訊可用時,發(fā)送端按順序掃描刪除鏈表上的節(jié)點;首先處理節(jié)點4,將節(jié)點4自身的序列號4作為刪除區(qū)間的左值,在創(chuàng)建鏈表中查找到本節(jié)點的下一節(jié)點7,將節(jié)點7的序列號7作為刪除區(qū)間的右值,最后形成了刪除區(qū)間G,7),將刪除區(qū)間(4,7)填入刪除消息。步驟202 繼續(xù)掃描刪除鏈表下一個節(jié)點,處理節(jié)點1,形成刪除區(qū)間(1,3)填入到刪除消息,將消息發(fā)送到接收端。步驟203 接收端收到刪除消息,處理第一個刪除區(qū)間G,7),在本地二叉樹的數(shù)據(jù)結(jié)構(gòu)中查找序列號大于4且小于7的節(jié)點,找到的節(jié)點為5,6兩個節(jié)點,刪除5,6節(jié)點, 數(shù)據(jù)結(jié)構(gòu)從2,3,4,5,6的二叉樹變?yōu)?,3,4的二叉樹。步驟204 接收端處理下一個刪除區(qū)間(1,3),在本地二叉樹的數(shù)據(jù)結(jié)構(gòu)中查找序列號大于1且小于3的節(jié)點,找到的節(jié)點為2的節(jié)點,刪除2節(jié)點,數(shù)據(jù)結(jié)構(gòu)從2,3,4的二叉樹變?yōu)?,4的二叉樹。處理結(jié)束。刪除同步完成后,按照圖7進行添加/更新的同步流程,如圖所示,該方法包括以下步驟步驟301 發(fā)送端和接收端通訊可用時,發(fā)送端按順序掃描添加/更新鏈表上的節(jié)點;掃描到4,3,7,1節(jié)點發(fā)生了添加/更新操作。
步驟302 分別處理節(jié)點4,3,7,1,將節(jié)點的序列號和業(yè)務(wù)內(nèi)容一起填入到添加/ 更新消息中,發(fā)送消息到接收端。步驟303 接收端收到添加/更新消息,處理4,3節(jié)點消息內(nèi)容,先在本地查找是否存在這些節(jié)點,發(fā)現(xiàn)4,3節(jié)點已經(jīng)存在,僅僅更新4,3節(jié)點的業(yè)務(wù)內(nèi)容。步驟304 接收端處理7,1節(jié)點消息內(nèi)容,先在本地查找是否存在這些節(jié)點,發(fā)現(xiàn) 7,1節(jié)點不存在,創(chuàng)建生成7,1節(jié)點,二叉樹數(shù)據(jù)結(jié)構(gòu)從3,4變?yōu)?,3,4,7的二叉樹,處理結(jié)
束ο在上述實施例的基礎(chǔ)上,本發(fā)明還可以有各種變換,這些變換應當屬于本發(fā)明的保護范圍之內(nèi)。例如發(fā)送端不使用鏈表來維護創(chuàng)建鏈表,而是采用T-Tree、二叉樹、紅黑樹等有序樹方式進行維護;接收端也不使用二叉樹來維護接收的數(shù)據(jù),而是采用T-Tree、二叉樹、 紅黑樹等有序樹方式進行維護等。又如將序列號的單調(diào)遞增分配方式改為單調(diào)遞減分配方式,將刪除鏈表的掛接方式改為取序列號大于刪除節(jié)點方式掛接等。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲于計算機可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。以上僅為本發(fā)明的優(yōu)選實施例,當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種分布式系統(tǒng)數(shù)據(jù)同步的方法,包括發(fā)送端創(chuàng)建數(shù)據(jù)條目時,按序為所創(chuàng)建的數(shù)據(jù)條目分配序列號; 對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理; 將包括處理后的序列號信息的同步消息發(fā)送給接收端。
2.如權(quán)利要求1所述的方法,其特征在于所述對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理包括將新創(chuàng)建的數(shù)據(jù)條目和內(nèi)容發(fā)生變化的數(shù)據(jù)條目對應的序列號放入更新處理鏈表; 所述將包括處理后的序列號信息的同步消息發(fā)送給接收端,包括 將所述更新處理鏈表中的序列號和對應數(shù)據(jù)條目的內(nèi)容放入更新同步消息中,將所述更新同步消息發(fā)送給接收端。
3.如權(quán)利要求1所述的方法,其特征在于所述對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理包括將與刪除的數(shù)據(jù)條目的序列號最近的序列號放入刪除處理鏈表;所述將包括處理后的序列號信息的同步消息發(fā)送給接收端,包括根據(jù)所述刪除處理表中的每一序列號與本地現(xiàn)存的序列號,分別生成一開區(qū)間數(shù)據(jù);將所述開區(qū)間數(shù)據(jù)放入刪除同步消息后發(fā)送給接收端。
4.一種分布式系統(tǒng)數(shù)據(jù)同步的發(fā)送裝置,包括創(chuàng)建模塊,用于創(chuàng)建數(shù)據(jù)條目時,按序為所創(chuàng)建的數(shù)據(jù)條目分配序列號; 處理模塊,用于對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理; 發(fā)送模塊,用于將包括處理后的序列號信息的同步消息發(fā)送給接收端。
5.如權(quán)利要求4所述的裝置,其特征在于所述處理模塊,具體用于將新創(chuàng)建的數(shù)據(jù)條目和內(nèi)容發(fā)生變化的數(shù)據(jù)條目對應的序列號放入更新處理鏈表;所述發(fā)送模塊,具體用于將所述更新處理鏈表中的序列號和對應數(shù)據(jù)條目的內(nèi)容放入更新同步消息中,將所述更新同步消息發(fā)送給接收端。
6.如權(quán)利要求4所述的裝置,其特征在于所述處理模塊,具體用于將與刪除的數(shù)據(jù)條目的序列號最近的序列號放入刪除處理鏈表;所述發(fā)送模塊,具體用于根據(jù)所述刪除處理表中的每一序列號與本地現(xiàn)存的序列號, 分別生成一開區(qū)間數(shù)據(jù);將所述開區(qū)間數(shù)據(jù)放入刪除同步消息后發(fā)送給接收端。
7.一種分布式系統(tǒng)數(shù)據(jù)同步的方法,包括接收同步消息,所述同步消息至少攜帶數(shù)據(jù)條目的序列號信息; 根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作。
8.如權(quán)利要求7所述的方法,其特征在于所述同步消息為更新同步消息,所述更新同步消息攜帶數(shù)據(jù)條目的序列號和內(nèi)容; 所述根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作包括根據(jù)所述序列號查找本地是否存在對應的數(shù)據(jù)條目,若存在,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容修改本地存儲的對應的數(shù)據(jù)條目的內(nèi)容;若不存在,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容創(chuàng)建一條數(shù)據(jù)條目,并將所述序列號寫入所創(chuàng)建的數(shù)據(jù)條目。
9.如權(quán)利要求7所述的方法,其特征在于所述同步消息為刪除同步消息,所述刪除同步消息攜帶由序列號構(gòu)成的開區(qū)間數(shù)據(jù); 所述根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作包括 在本地查找在所述開區(qū)間數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)條目的序列號; 將查找到的序列號對應的數(shù)據(jù)條目刪除。
10.一種分布式系統(tǒng)數(shù)據(jù)同步的接收裝置,包括接收模塊,用于接收同步消息,所述同步消息至少攜帶數(shù)據(jù)條目的序列號信息; 同步模塊,用于根據(jù)所述序列號信息對本地的數(shù)據(jù)進行同步操作。
11.如權(quán)利要求10所述的裝置,其特征在于所述同步消息為更新同步消息,所述更新同步消息攜帶數(shù)據(jù)條目的序列號和內(nèi)容;所述同步模塊包括查找單元,用于根據(jù)所述序列號查找本地是否存在對應的數(shù)據(jù)條目; 修改單元,用于在所述查找單元查找到存在對應的數(shù)據(jù)條目,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容修改本地存儲的對應的數(shù)據(jù)條目的內(nèi)容;創(chuàng)建單元,用于在所述查找單元查找到不存在對應的數(shù)據(jù)條目,則根據(jù)所述更新同步消息攜帶的數(shù)據(jù)條目的內(nèi)容創(chuàng)建一條數(shù)據(jù)條目,并將所述序列號寫入所創(chuàng)建的數(shù)據(jù)條目。
12.如權(quán)利要求10所述的裝置,其特征在于所述同步消息為刪除同步消息,所述刪除同步消息攜帶由序列號構(gòu)成的開區(qū)間數(shù)據(jù); 所述同步模塊包括查找單元,用于在本地查找在所述開區(qū)間數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)條目的序列號; 刪除單元,用于將查找到的序列號對應的數(shù)據(jù)條目刪除。
全文摘要
本發(fā)明提供一種分布式系統(tǒng)數(shù)據(jù)同步的方法及裝置,該方法包括發(fā)送端創(chuàng)建數(shù)據(jù)條目時,按序為所創(chuàng)建的數(shù)據(jù)條目分配序列號;對發(fā)生變化的數(shù)據(jù)條目對應的序列號進行處理;將包括處理后的序列號信息的同步消息發(fā)送給接收端。本發(fā)明通過用未刪除的信息條目來表述已刪除的信息條目,避免了在通訊能力不足時內(nèi)存耗盡的可能。
文檔編號G06F17/30GK102495849SQ201110366598
公開日2012年6月13日 申請日期2011年11月18日 優(yōu)先權(quán)日2011年11月18日
發(fā)明者吳道揆, 張應平, 楊帆 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1