[發明專利]一種避免全局資源亂序的分布式系統、設備及其應用方法有效
| 申請號: | 200910131755.4 | 申請日: | 2009-04-01 |
| 公開(公告)號: | CN101504621A | 公開(公告)日: | 2009-08-12 |
| 發明(設計)人: | 劉如冰;趙海峰 | 申請(專利權)人: | 杭州華三通信技術有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 隆天國際知識產權代理有限公司 | 代理人: | 郭曉東;邢雪紅 |
| 地址: | 310053浙江省杭州市高新技術產業*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 避免 全局 資源 分布式 系統 設備 及其 應用 方法 | ||
技術領域
本發明涉及分布式系統應用技術,尤其涉及一種避免全局資源亂序的分布式系統、設備及其應用方法。
背景技術
分布式系統中需要多個設備協同進行工作,共同分擔系統的工作任務,而系統各設備間可靠快速的數據同步機制則是分布式系統協同工作的首要條件。在分布式系統上,一些全局資源由多個模塊共享,并且需要跨設備同步,用來進行備份或者相關業務設置。由于是多個模塊共享,各自任務進行相關數據同步,操作系統的任務調度算法并不能保證消息到達目標設備的順序,這樣就會導致可能出現資源亂序的問題,造成特定資源的使用錯誤。如圖1所示的分布式系統中,主控設備(Master)11用于資源分配,備用設備(Slave)12用于Master設備11?Down掉之后的業務平滑切換,業務設備(End)13用于業務處理;標號10所指為某個全局資源,其同時只能被一個模塊的業務占用;模塊A、B隸屬于不同的業務系統,其分別向Master設備11提交業務申請,業務的具體處理流程包括對資源10的占用(ALLOC)、設置(SET)及后續的釋放(FREE),另外,兩個模塊對應的消息在圖中分別以空白和陰影背景表示,以示區分。繼續如圖1所示,在Master設備11上,模塊A申請釋放資源10(FREE?10),模塊B則接續申請占用資源10(ALLOC?10),兩個資源操作信息FREE?10及ALLOC?10均由Master設備11分別同步至Slave設備12及End設備13。由于模塊A、B隸屬于兩個不同的業務系統,所以資源操作信息同步至Slave設備12及End設備13的順序不能保證,模塊A的釋放消息(FREE?10)在先、模塊B的占用消息(ALLOC10)在后的正常順序在同步時就有可能出現錯誤。在Slave設備12上,如果模塊B的占用消息(ALLOC?10)是先于模塊A的釋放消息(FREE?10)同步而至,由于Slave設備12上還保存有模塊A對資源10的占用狀態,所以會導致Slave設備12上出現資源重復占用的錯誤狀態;而后續到達的模塊A的釋放消息(FREE?10)也會導致Slave設備12上資源10出現資源釋放的錯誤狀態,因此最終Slave設備12上模塊B的占用消息ALLOC?10及模塊A的釋放消息FREE?10均不能實現正確的同步。同樣,在End設備13上也會出現類似的情況,但造成的結果更為嚴重:如果模塊B的設置消息(SET?10)是先于模塊A的釋放消息(FREE?10)同步而至,由于此時End設備13上還處于模塊A對資源10進行設置的狀態,所以會導致模塊B的設置消息(SET10)無法繼續進行處理,從而造成新的業務處理失敗,并且無法恢復。
針對上述分布式系統中進行跨設備資源同步可能出現的亂序問題,現有技術的解決方案一般是在每個設備中為每個資源維護一個用于標記資源新舊的序列號(SeqNum),Master設備上資源每分配一次則SeqNum加1。在資源進行同步時,SeqNum也一起同步到目標設備,目標設備將同步過來的資源SeqNum與本地的資源SeqNum進行比較,只有同步過來的資源較新,才能使用,否則不允許對資源進行操作。然而這種方案也存在一定的缺陷:其一,如果出現新業務覆蓋舊的業務,需要對舊業務相關資源進行難度較大的跨模塊釋放,耗時較長且容易出現差錯,從而影響新業務的使用;其二,隨著資源不斷被新的業務調用,SeqNum也不斷遞增,由于計數器有數據溢出的可能,因此還需要考慮SeqNum的翻轉問題,增加了算法設計的難度。
發明內容
本發明的實施例旨在提供能夠避免全局資源亂序的分布式系統、設備及其應用方法,以解決現有技術分布式系統中利用SeqNum避免資源亂序存在的上述缺陷。
為實現上述目的,本發明的實施例提供了一種避免全局資源亂序的分布式系統,包括主控設備及業務設備,其特征在于,
所述主控設備,根據業務請求下發資源操作信息至所述業務設備;
所述業務設備,收到所述資源操作信息后根據預設的資源占用標記查詢目標資源是否可用,并在查詢結果為可用時對所述目標資源進行占用處理。
本發明的另一實施例提供了一種避免全局資源亂序的業務設備,包括:
資源標記單元,對資源的占用狀態進行標記;
標記查詢單元,收到主控設備根據業務請求下發的資源操作信息后,在所述資源標記單元中查詢目標資源的占用狀態;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州華三通信技術有限公司,未經杭州華三通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910131755.4/2.html,轉載請聲明來源鉆瓜專利網。





