[發明專利]一種分布式數據同步系統及方法有效
| 申請號: | 201010624118.3 | 申請日: | 2010-12-31 |
| 公開(公告)號: | CN102088489A | 公開(公告)日: | 2011-06-08 |
| 發明(設計)人: | 李侃;包成剛 | 申請(專利權)人: | 北京理工大學 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100081 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 數據 同步 系統 方法 | ||
1.一種分布式數據同步系統,其特征在于,包括通過網絡連接的多個節點,其中每個節點均包括數據庫、節點狀態表以及數據同步模塊,其中節點狀態表包括網絡中每個節點的IP地址、最高版本號和節點類型,最高版本號在節點第一次上線時設置為0,每執行一次對數據庫的修改操作最高版本號加1,節點類型分為決策節點、備份節點和普通節點;網絡中每個節點包括的數據庫均擁有相同的數據庫名、數據表名和數據表結構;數據同步模塊具體包括:
節點上線初始化模塊:負責在節點新上線時通過節點類型選擇模塊,確定新上線節點類型,然后向網絡中其他節點發送上線消息,上線消息包括本節點的IP地址、最高版本號和節點類型;在節點狀態表中增加本節點信息;
節點狀態維護模塊:負責接收網絡中其它節點的上線消息,修改節點狀態表,并每隔一定時間在網絡中廣播本節點的IP地址、最高版本號和節點類型;
節點類型選擇模塊:根據設置的節點類型選擇策略確定本節點的節點類型;
同步請求生成模塊:在本節點有數據同步請求時,生成數據同步操作序列;
同步請求發送模塊:負責向網絡中其他在線節點發送本節點的數據同步操作序列;
串行化調度模塊:負責接收網絡中所有節點的數據同步操作序列,并將這些操作序列串行化,形成串行化操作序列,序列中每個操作均對應一個版本號;
決策調控模塊:如果是決策節點,則在有新上線節點且其最高版本號與決策節點不一致時,向該節點發送使其最高版本號與決策節點一致的串行化操作序列;在網絡中有數據同步請求時,將決策節點最高版本號之后的串行化操作序列發送給網絡中其他節點;
同步更新接收模塊:接收從決策節點發送來的串行化操作序列;
同步更新重發模塊:負責向決策節點發送重發串行化操作序列的請求,決策節點也使用該模塊接收其他節點發送的重發串行化操作序列的請求;
同步更新執行模塊:網絡中的節點根據接收的決策節點發送來的串行化操作序列執行本地數據庫操作,并更新最高版本號以及本地的串行化操作序列。
2.根據權利要求1所述的一種分布式數據同步系統,其特征在于,所述節點還包括共享內存,所述數據同步模塊還包括共享內存管理模塊,共享內存管理模塊負責管理共享內存的讀寫;共享內存用于緩存本地節點的同步請求,存放數據同步操作序列以及串行化操作序列。
3.根據權利要求1或2所述的一種分布式數據同步系統,其特征在于,所述數據同步模塊還包括日志處理模塊,負責維護日志文件,日志文件記錄運行過程中的數據執行消息和錯誤消息。
4.一種分布式數據同步方法,該方法使用權利要求1所述系統實現分布式數據同步,其特征在于,網絡中有數據同步請求時,實現數據同步的步驟包括:
步驟一、網絡中有節點發起分布式數據同步請求,通過同步請求生成模塊生成數據同步操作序列;
步驟二、所有發起數據同步請求的節點通過同步請求發送模塊向網絡中其他在線節點發送本節點的數據同步操作序列;
步驟三、網絡中所有節點通過串行化調度模塊接收網絡中所有節點的數據同步操作序列,并將接收到的數據同步操作序列串行化,形成串行化操作序列;
步驟四、決策節點通過決策調控模塊將串行化操作序列發送給網絡中其他節點;
步驟五、網絡中的在線節點通過同步更新接收模塊接收從決策節點發送來的串行化操作序列;
步驟六、網絡中的在線節點將接收到的串行化操作序列中的版本號與本地節點的最高版本號進行比較,如果串行化操作序列中的版本號是從本地節點的最高版本號+1開始,并且版本號連續,則說明接收到的串行化操作序列正確,轉到步驟九;否則轉到步驟七;
步驟七、在線節點通過同步更新重發模塊向決策節點發送重發串行化操作序列的請求;
步驟八、決策節點收到重發串行化操作序列的請求后,重新向該請求重發的節點發送對應的串行化操作序列,轉到步驟五;
步驟九、在線節點通過同步更新執行模塊根據接收的決策節點發送來的串行化操作序列執行本地數據庫操作,并更新最高版本號以及本地的串行化操作序列。
5.根據權利要求4所述的一種分布式數據同步方法,其特征在于,還包括節點新上線時的數據同步方法,包括以下步驟:
步驟一、節點新上線時,通過節點上線初始化模塊確定新上線節點類型,向網絡中其他節點發送上線消息,在節點狀態表中增加本節點信息;
步驟二、新上線節點比較自身節點與決策節點的最高版本號信息,并進行判斷,如果新上線節點最高版本號小于決策節點最高版本號,則轉到步驟三,否則轉到步驟十;
步驟三、新上線節點通過同步更新重發模塊請求決策節點發送新上線節點最高版本號之后的串行化操作序列;
步驟四、決策節點通過決策調控模塊將版本號從新上線節點最高版本號+1開始到決策節點最高版本號的串行化操作序列發送給新上線節點;
步驟五、新上線節點通過同步更新接收模塊接收從決策節點發送來的串行化操作序列;
步驟六、新上線節點將接收到的串行化操作序列中的版本號與本地節點和決策節點的最高版本號進行比較,如果串行化操作序列中的版本號是從本地節點的最高版本號+1開始,并且版本號連續,直到版本號為決策節點的最高版本號為止,則說明接收到的串行化操作序列正確,轉到步驟九;否則轉到步驟七;
步驟七、新上線節點通過同步更新重發模塊向決策節點發送重發串行化操作序列的請求;
步驟八、決策節點收到重發串行化操作序列的請求后,重新向新上線節點發送對應的串行化操作序列,轉到步驟五;
步驟九、新上線節點通過同步更新執行模塊根據接收的決策節點發送來的串行化操作序列執行本地數據庫操作,并更新最高版本號以及本地的串行化操作序列;
步驟十、新上線節點通過節點狀態維護模塊每隔一定時間在網絡中廣播本節點的IP地址、最高版本號和節點類型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京理工大學,未經北京理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010624118.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:監控彩信內容的網絡終端裝置
- 下一篇:一種多載波配置方法、基站和用戶設備
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





