[發明專利]一種令牌的處理方法及裝置有效
| 申請號: | 201410550612.8 | 申請日: | 2014-10-16 |
| 公開(公告)號: | CN104468302B | 公開(公告)日: | 2018-03-30 |
| 發明(設計)人: | 何萬剛 | 申請(專利權)人: | 深圳市金證科技股份有限公司 |
| 主分類號: | H04L12/433 | 分類號: | H04L12/433;H04L12/703;H04L12/757 |
| 代理公司: | 深圳中一專利商標事務所44237 | 代理人: | 張全文 |
| 地址: | 518057 廣東省深圳市南山區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 令牌 處理 方法 裝置 消息 集群 | ||
技術領域
本發明屬于網絡技術領域,尤其涉及一種令牌的處理方法、裝置及消息處理集群。
背景技術
隨著網絡規模的不斷擴展,分布式系統被廣泛應用,同時也帶來了分布式協商一致性的問題。一致性問題主要表現為數據一致性、邏輯一致性和時序一致性,解決一致性問題主要是確保分布式系統在同時訪問和控制一個資源時, 能夠協調一致,保證訪問的正確性(無死鎖和無饑餓現象)。互斥是分布式系統解決一致性問題的關鍵。通常分布式系統使用的互斥算法有:集中式算法、分布式算法和令牌環算法。
集中式算法選擇一個進程作為協調器,用于協調臨界區的進入。
特點:協調器在同一時間只允許一個進程進入臨界區,故能保證互斥。因為請求消息是順序排隊得,不會出現“餓死”現象。但是單一的協調器是其瓶頸。
分布式算法的思想是:對想進入臨界區的進程首先建立一個消息,該消息包括待進入的臨界區名、進程名和時間戳。一個進程接收到消息后,會有如下操作:如果不在臨界區內且不想進入臨界區則回復一個消息;如果在臨界區內則不回復消息,將請求消息放入隊列,如果不在臨界區,但想進入臨界區,則比較想進入臨界區的進程的時間戳,時間戳小的進程進入臨界區。
特點:算法復雜,易出現“餓死”現象,且系統不健壯;但它從理論上表明了算法的可行性,必將發展出實際可行的算法。
令牌環算法的思想是:整個系統只有一塊令牌,只有令牌持有者才具有進入臨界區的資格。當進程i從進程i-1接到令牌時,它檢查是否想進入臨界區, 如果是,則進入,待其推出后,將令牌傳遞給進程i+1;如果不想進入,則直接把令牌向下傳遞。
特點:一是令牌易丟失,事實上檢測令牌丟失是很困難的;二是容易出現進程故障,且進程故障比較不容易恢復。
發明內容
本發明實施例提供了一種令牌的處理方法、裝置及消息處理集群,旨在解決現有技術提供的互斥算法,令牌丟失難以監控、進程崩潰難以恢復的問題。
一方面,提供一種令牌的處理方法,所述方法包括:
在消息處理集群的應用層建立令牌環路;
當節點加入或者退出令牌環路時,采用簡單多數投票算法產生或銷毀令牌;
在令牌的傳遞過程中,監測令牌環路中的各個節點上次傳出令牌的時間戳,若監測到有節點上次傳出令牌的時間戳與當前時間的時間差超出設定的回環時間,則發起路由發現過程,重建令牌環路。
進一步地,所述簡單多數投票算法產生或銷毀令牌包括:
預設消息處理集群中的節點數量為N,N為大于等于1的整數;
當監測到有節點加入由消息處理集群中的N個節點組成的令牌環路或者退出所述令牌環路時,動態計算所述令牌環路內的節點數量P;
當P大于(N+2)/2舍尾取整值時,若令牌環路內無令牌,則自動產生新的令牌;
若令牌環路內有令牌,則維持原令牌;
當P小于等于(N+2)/2舍尾取整值時,若令牌環路內有令牌,則銷毀該令牌。
進一步地,在所述當P小于等于(N+2)/2舍尾取整值時,還包括:
若令牌環路內無令牌,則系統掛起,等待新的節點加入所述消息處理集群中。
進一步地,所述消息處理集群中的節點包括投票站節點、普通站節點和監控站節點。
另一方面,提供一種令牌的處理裝置,所述裝置包括:
令牌環路建立單元,用于在消息處理集群的應用層建立令牌環路;
令牌產生或者銷毀單元,用于當節點加入或者退出令牌環路時,采用簡單多數投票算法產生或銷毀令牌;
令牌回環時間監測單元,用于在令牌的傳遞過程中,監測令牌環路中的各個節點上次傳出令牌的時間戳,若監測到有節點上次傳出令牌的時間戳與當前時間的時間差超出設定的回環時間,則發起路由發現過程,重建令牌環路。
進一步地,所述令牌產生或者銷毀單元包括:
節點數量預設模塊,用于預設消息處理集群中的節點數量為N,N為大于等于1的整數;
節點數量統計模塊,用于當監測到有節點加入由消息處理集群中的N個節點組成的令牌環路或者退出所述令牌環路時,動態計算所述令牌環路內的節點數量P;
令牌產生模塊,用于當P大于(N+2)/2舍尾取整值時,若令牌環路內無令牌,則自動產生新的令牌;
令牌維持模塊,用于若令牌環路內有令牌,則維持原令牌;
令牌銷毀模塊,用于當P小于等于(N+2)/2舍尾取整值時,若令牌環路內有令牌,則銷毀該令牌。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市金證科技股份有限公司,未經深圳市金證科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410550612.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于虛擬機的實時通信系統
- 下一篇:一種智能家居系統





