[發明專利]一種基于代理的分布式系統狀態控制方法和系統有效
| 申請號: | 201210392897.8 | 申請日: | 2012-10-16 |
| 公開(公告)號: | CN103731461B | 公開(公告)日: | 2018-09-04 |
| 發明(設計)人: | 錢承君 | 申請(專利權)人: | 百度在線網絡技術(北京)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京鴻德海業知識產權代理事務所(普通合伙) 11412 | 代理人: | 倪志華 |
| 地址: | 100085 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 代理 分布式 系統 狀態 控制 方法 | ||
本發明提供了一種基于代理的分布式系統狀態控制方法和系統,預先設置代理模塊與分布式系統中的單機節點一一對應,代理模塊的初始狀態配置為:接管分布式系統中中間節點與代理模塊自身對應的單機節點之間的通信以及代理模塊自身對應的單機節點與其他單機節點之間的通信;在進行狀態控制時,用戶接口向中控模塊發送控制指令;中控模塊將控制指令下發給該控制指令所針對的單機節點對應的代理模塊;代理模塊接收到控制指令后,按照控制指令對報文執行相應的處理邏輯。本發明并不受限于特定的應用場景,且不影響分布式系統的完整性。
【技術領域】
本發明涉及計算機應用技術領域,特別涉及一種基于代理的分布式系統狀態控制方法和系統。
【背景技術】
在一個分布式系統中,一組獨立的計算機展現給用戶的是一個統一的整體,就好像是一個系統似的。系統擁有多種通用的物理和邏輯資源,可以動態的分配任務,分散的物理和邏輯資源通過計算機網絡實現信息交換。
圖1為一個典型的分布式系統,由唯一的中心節點和兩個以上的單機節點構成,中心節點負責發送控制指令與維護集群狀態,單機節點負責執行單機邏輯。在這些節點中,典型的交互是:中心節點向單機節點發送控制指令,單機節點向中心節點發送各類響應,單機節點之間進行各種協議通信。
在分布式系統的開發測試過程中有這樣的常見需求:精確控制分布式系統狀態,使得分布式系統內各類事件受控交疊,例如某一節點在分布式協議進行到特定中間狀態時發生宕機事件。現有技術中主要存在以下幾種控制分布式系統狀態的方式:
方式一、直接通過諸如斷網、終止進程等物理分割的方式造成節點間通信中斷,使協議流轉并停留在特定狀態。這種方式雖然能夠模擬簡單的通信丟包,但不適用于出現鏈路復用的復雜場景。
方式二、通過鏈路接管的方式中斷特定鏈路的節點間通信,使協議停留在特定狀態。這種方式的應用場景同樣受限,僅適用于主從通信,不適用于節點間通信。
方式三、通過模擬分布式系統控制協議停留在特定狀態,例如通過樁程序、通信包回放等方式,但這種方式需要編寫模擬代碼或進行包回放,會影響分布式系統完整性,且在復雜協議下需要很高的實現成本。
【發明內容】
有鑒于此,本發明提供了一種基于代理的分布式系統狀態控制方法和系統,以便于具有更廣的應用場景,且不影響分布式系統的完整性。
具體技術方案如下:
一種基于代理的分布式系統狀態控制方法,其特征在于,預先設置代理模塊與分布式系統中的單機節點一一對應,代理模塊的初始狀態配置為:接管分布式系統中中間節點與代理模塊自身對應的單機節點之間的通信以及代理模塊自身對應的單機節點與其他單機節點之間的通信;該狀態控制方法包括:
用戶接口向中控模塊發送控制指令;
中控模塊將控制指令下發給該控制指令所針對的單機節點對應的代理模塊;
代理模塊接收到控制指令后,按照控制指令對報文執行相應的處理邏輯。
根據本發明一優選實施例,該狀態控制方法還包括預先對所述分布式系統進行初始配置:
在單機節點上配置對應的代理模塊地址作為中心節點地址,代理模塊中配置真實的中心節點地址。
根據本發明一優選實施例,所述初始狀態具體包括:
接收到來自中心節點或代理模塊自身對應的單機節點的報文后,將報文的源地址修改為代理模塊自身地址后轉發;
接收到來自非代理模塊自身對應的單機節點的其他單機節點的報文后,則將源地址修改為發送該報文的單機節點對應的代理模塊地址后轉發;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于百度在線網絡技術(北京)有限公司,未經百度在線網絡技術(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210392897.8/2.html,轉載請聲明來源鉆瓜專利網。





