一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法

一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法

《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》是北京和利時系統工程股份有限公司於2005年11月4日申請的發明專利,該專利申請號為200510115559,公布號為CN1753377A,專利公布日為2006年3月29日,發明人是賀學文、趙雲飛。

《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》套用於冗餘主站系統,主站雙機之間可以相互通信,包括下述步驟:(a)熱機進行數據採集處理,組包向設備下發數據請求、採集數據並處理數據,備機處於靜默狀態;(b)每隔一段時間進行一次備機的狀態檢測過程,由熱機組包向備機傳送一個數據請求,備機將該請求下發到從站設備,進行一次數據採集,判斷備機的線上離線狀態並作出標識,此時熱機為靜默狀態;(c)備機將數據採集結果傳送給熱機,由熱機進行數據處理,備機轉為靜默狀態,熱機繼續執行步驟(a)。該方法能保證主從應答規約中從站設備為單通道時,冗餘主站不會同時對設備執行操作。

2010年11月15日,《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》獲得第十二屆中國專利獎優秀獎。

(概述圖為《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》的摘要附圖)

基本介紹

  • 中文名:一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法
  • 公布號:CN1753377A
  • 公布日:2006年3月29日
  • 申請號:200510115559
  • 申請日:2005年11月4日
  • 申請人:北京和利時系統工程股份有限公司
  • 地址:北京市海淀區西三旗建材城中路10號
  • 發明人:賀學文、趙雲飛
  • 代理機構:北京安信方達智慧財產權代理有限公司
  • 代理人:龍洪、霍育棟
  • Int.Cl.:H04L12/24(2006.01)I
  • 類別:發明專利
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,權利要求,實施方式,榮譽表彰,

專利背景

冗餘技術計算機系統可靠性設計中常用的一種技術,雙機冗餘熱備結構更是被廣泛套用於許多過程控制領域的各種監控系統中。這種結構的冗餘主站與從站之間具有雙通道,圖1是這種結構的一個示例,其中作為主站的兩個冗餘IO站中的主機和從機分別通過一根串列匯流排或者其它類型的匯流排與作為從站的設備相連。主機和從機同時採集設備的數據,由主機對設備發出控制指令,此時不會產生對串列匯流排鏈路的訪問衝突。
然而,2005年11月之前,中國一些設備的通信只支持單通道,冗餘主站(如IO站)的主機和從機只通過一根串列匯流排連線到設備,其結構如圖2所示。此時,必須保證主機和從機不會同時向設備傳送數據請求、控制指令等,否則將會導致鏈路數據混亂,通信失敗。但是,主機和從機又都需要通過與設備的不斷通訊來驗證與設備間的通訊是否正常。因此,如果作為從站的設備和作為主站的IO站之間的通信規約採用主從應答方式,就必須對主機和從機對匯流排鏈路的訪問加以管理。

發明內容

專利目的

《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》即是針對上述2005年11月之前技術中存在的缺點而提出的一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法,該方法能夠保證冗餘主站的雙機與設備間採用單通道時,不會同時對設備執行操作。

技術方案

《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》套用於冗餘主站系統,所述冗餘主站中雙機通過一根串列匯流排鏈路與作為從站的設備連線,雙機之間可以相互通信,其特徵在於,該方法包括下述步驟:(a)熱機進行數據採集處理,組包向設備下發數據請求、採集數據並處理數據,備機處於靜默狀態;(b)每隔一段時間進行一次備機的狀態檢測過程,由熱機組包向備機傳送一個數據請求,備機將該請求下發到從站設備,進行一次數據採集,判斷備機的線上離線狀態並作出標識,此時熱機為靜默狀態;(c)備機將數據採集結果傳送給熱機,由熱機進行數據處理,備機轉為靜默狀態,熱機繼續執行步驟(a)。
進一步地,所述冗餘主站中的雙機分別配置為默認主機和默認從機,所述的步驟(b)中,備機的狀態檢測過程由默認主機發起,若默認主機為熱機,則其定時向默認從機傳送一個數據請求;若默認主機為備機,則其定時向默認從機發出啟動檢測請求,由默認從機回復一個數據請求給默認主機。進一步地,所述冗餘主站中的雙機分別配置為默認主機和默認從機,所述的步驟(b)中,備機的狀態檢測過程由默認從機發起,若默認從機為熱機,則其定時向默認主機傳送一個數據請求;若默認從機為備機,則其定時向默認主機發出啟動檢測請求,由默認主機回復一個數據請求給默認從機。進一步地,所述步驟(b)中,由熱機來觸發備機的狀態檢測過程,即確認自己為熱機後,每隔一段時間向備機傳送一次數據請求。進一步地,所述的步驟(b)中,所述熱機傳送數據請求後,等待從機返回數據採集結果的靜默時間為一次採集逾時時間的1.5~2.5倍。進一步地,判斷熱機或備機的線上離線狀態是通過下述方法實現的:若熱機或備機與設備能夠正常通信,則線上,若不能夠正常通信,則為離線。進一步地,所述熱機在採集處理過程中還檢測與設備間的線上離線狀態,當其由線上狀態變為離線狀態時,雙機實現熱備轉換。

改善效果

《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》主站的冗餘雙方數據採集時互為熱備機,保證 只有一方對從站進行操作,保證從站的測試數據在主站能夠得到處理,並且能夠隨時檢測熱機和備機的線上或離線狀態,適於從站設備為單通道設備使用。

附圖說明

圖1為《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》的示意圖。
圖2為該發明實施例中冗餘雙機通過單通道與設備連線的示意圖。
圖3為該發明實施例中系統啟動後默認主機的工作流程圖。
圖4為該發明實施例中系統啟動後默認從機的工作流程圖。

權利要求

1、《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》套用於冗餘主站系統,所述冗餘主站中雙機通過一根串列匯流排鏈路與作為從站的設備連線,雙機之間可以相互通信,其特徵在於,該方法包括下述步驟:(a)熱機進行數據採集處理,組包向設備下發數據請求、採集數據並處理數據,備機處於靜默狀態;(b)每隔一段時間進行一次備機的狀態檢測過程,由熱機組包向備機傳送一個數據請求,備機將該請求下發到從站設備,進行一次數據採集,判斷備機的線上離線狀態並作出標識,此時熱機為靜默狀態;(c)備機將數據採集結果傳送給熱機,由熱機進行數據處理,備機轉為靜默狀態,熱機繼續執行步驟(a)。
2、如權利要求1所述的一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法,其特徵在於:所述冗餘主站中的雙機分別配置為默認主機和默認從機,所述的步驟(b)中,備機的狀態檢測過程由默認主機發起,若默認主機為熱機,則其定時向默認從機傳送一個數據請求;若默認主機為備機,則其定時向默認從機發出啟動檢測請求,由默認從機回復一個數據請求給默認主機。
3、如權利要求1所述的一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法,其特徵在於:所述冗餘主站中的雙機分別配置為默認主機和默認從機,所述的步驟(b)中,備機的狀態檢測過程由默認從機發起,若默認從機為熱機,則其定時向默認主機傳送一個數據請求;若默認從機為備機,則其定時向默認主機發出啟動檢測請求,由默認主機回復一個數據請求給默認從機。
4、如權利要求1所述的一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法,其特徵在於:所述步驟(b)中,由熱機來觸發備機的狀態檢測過程,即確認自己為熱機後,每隔一段時間向備機傳送一次數據請求。
5、如權利要求1所述的一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法,其特徵在於:所述的步驟(b)中,所述熱機傳送數據請求後,等待從機返回數據採集結果的靜默時間為一次採集逾時時間的1.5~2.5倍。
6、如權利要求1所述的一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法,其特徵在於:判斷熱機或備機的線上離線狀態是通過下述方法實現的:若熱機或備機與設備能夠正常通信,則線上,若不能夠正常通信,則為離線。
7、如權利要求1所述的一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法,其特徵在於:所述熱機在採集處理過程中還檢測與設備間的線上離線狀態,當其由線上狀態變為離線狀態時,雙機實現熱備轉換。

實施方式

一個冗餘主站的監控系統中,冗餘雙方分別為IO站A機和IO站B機,設定A機為默認主機,B機默認從機,從站為待監控設備。該系統中,A機和B機通過串列匯流排鏈路分別與作為從站的設備連線,同時A機和B機之間設定乙太網或者專用串口通道連線,也可以如圖2所示在A機和B機之間同時設定乙太網或者串列通道,並確定它們的優先權的方式實現連線。
首先說明的是,在下述論述中,IO站A機和IO站B機的線上狀態或者離線狀態是指其與某個設備的連線狀態,認為IO站A機和IO站B機之間的通信狀態始終保持正常。
在該實施例中,該監控系統啟動後,設定A機為熱機,B機為備機,A機不斷循環進行數據的採集處理過程,包括組包,向從站設備傳送數據請求,接收來自從站設備的數據並進行處理等操作。同時,A機每隔30秒啟動一次備機(此時為B機)的狀態檢測過程,將組包的數據請求傳送到B機,由B機向設備下發一次請求,接收數據,以檢測B機和設備間的線上/離線狀態,並將接收到的數據返回A機,由A機進行處理。如果因A機離線或其它原因需要將B機切換為熱機後,則改由B機循環進行數據的採集處理 過程,但仍由A機啟動備機(此時為A機)的狀態檢測過程,每隔30秒向B機傳送一次啟動檢測的請求,由B機將此次組包後的數據請求傳送到A機,A機再下發到相應設備,進行一次數據採集,並將此次數據採集的結果返回到B機,由B機進行處理。當A機正常後或根據策略需要將A機切換為熱機時,B機會自動轉換為備機,此時A機恢復為熱機。
參考圖3所示的A機的工作流程圖。A機為默認主機;設定第一定時器的定時時間為30秒,用於設定A機向B機傳送請
求命令的時間間隔。A機啟動後,執行下述步驟:步驟100:第一定時器清零,重新啟動,根據A機的線上離線標識,判斷A機是否為熱機,如果A機標識為線上,則為熱機,執行步驟101,如果A機的標識為離線,則A不是熱機,為備機,執行步驟107;步驟101:A機進行一次採集處理過程,包括:組包、向從站設備發請求,採集數據和處理數據;步驟102:判斷A機是否線上,如果是,執行步驟103,如果否,更新A機的線上離線標識,並通知B機,返回執行步驟100;若在步驟101中,A機與從站設備通信時,若發現通道不通,則表明A機對應於相應的設備為離線狀態,反之,A機線上;步驟103:判斷第一定時器是否計時到30秒,如果是,則執行步驟104,如果否,則返回執行步驟101;步驟104:A機與B機通信,組包後向B機傳送數據請求;步驟105:A機進入靜默狀態,等待時間為採集周期逾時時間的2倍,以保證B機能有足夠的處理時間;步驟106:A機接收到B機返回的此次數據採集結果,處理數據,返回步驟100。步驟107:A機等待30秒,向B機傳送一個啟動檢測的請求;步驟108:A機接收到B機回復的一個數據請求;步驟109:A機接收到的B機回復的請求後,下發設備,執行一次數據採集過程,同時根據設備的應答情況確定A機線上離線狀態;步驟110:更新A機的線上離線標識;步驟111:A機將此次數據採集的結果返回給B機,再返回執行步驟100。
以上流程中,熱機是在每次採集處理過程後就判斷一次線上離線狀態,其反應比較靈敏。但在另一實施例中,也可以在進行了多次採集處理過程並根據設備的應答判斷其狀態不變時,再置線上離線標誌識,這樣比較穩定。備機的處理也是一樣的。
參考圖4所示的本系統中,B機的工作流程圖。B機為默認從機,執行下述步驟:步驟200:判斷B機是否為備機,如果是,則執行步驟201,如果否,B則為熱機,執行步驟205;在B機工作過程中,可以根據A機的狀態變化通知來設定自己是熱機或備機的標誌,當A機作為熱機時,B機為備機,A機從熱機切換為備機時,則B機從備機切換為熱機。步驟201:判斷是否接收到A機的數據請求,如果是,則執行步驟202,如果否,則繼續執行步驟201;步驟202:B機將接收到的A機的數據請求下發設備,執行一次採集過程,並根據設備應答情況判斷B機線上狀態;當B機與從站設備通信時,若發現通道不通,則表明B機對應於相應的設備為離線狀態,反之,B機線上;步驟203:更新B機線上離線標誌;步驟204:B機將此次數據採集的結果返回給A機,再返回執行步驟200。步驟205:B機進行一次採集處理過程,包括:組包、向從站設備發數據請求,採集數據,處理數據,並根據設備應答情況判斷B機的線上離線狀態並置B機的線上離線標誌,如果線上,執行下一步,否則,作異常處理;步驟206:判斷是否接收到A機傳送的啟動檢測請求,如果是,執行 步驟207,如果否,返回執行步驟205;步驟207:B機組包,向A機回復一個數據請求;步驟208:B機處於靜默狀態,等待時間為採集周期逾時時間的2倍,以保證A機能有足夠的處理時間;在此步驟208進行過程中,相應的A機執行步驟109和步驟110;步驟209:B機接收到A機的返回數據,進行數據處理,返回執行步驟200。
上述實施例中,熱機在循環採集處理的過程中,每隔一段時間向備機傳送一次數據請求,等待備機完成此次數據採集並返回數據。這樣,即達到了避免熱機和備機發生匯流排鏈路訪問衝突,同時,也沒有擾亂正常的數據採集過程。和通過傳送專門的檢測包相比,簡化了處理流程,並且不會因為等待檢測包回響而導致設備上傳的重要事件丟失。
需要說明的是,備機的狀態檢測過程由誰來觸發並不局限於實施例中由默認主機觸發的方式。在另一實施例中,同樣可以由默認從機觸發,即默認從機為熱機時,每隔一段時間向備機傳送數據請求,由備機下發到設備並完成一次數據採集,返回到熱機。默認從機為備機時,則每隔一段時間向熱機傳送一次啟動檢測請求,由熱機返回一個數據請求,再下發到設備。
或者,在另一實施例中,由熱機來觸發備機的狀態檢測過程,即確認自己為熱機後,每隔一段時間向備機傳送一次數據請求,由備機下發到設備並完成一次數據採集,返回到熱機。
另外,熱機和備機的切換策略也不僅僅局限於實施例中的方式,即默認主機線上時為熱機,離線時將默認從機切換為熱機。在另一實施例中,可以不設定兩台機子為默認主機或默認從機,在雙機均線上時,可以根據其各自所帶的線上設備的多少來確定是作為熱機還是備機。

榮譽表彰

2010年11月15日,《一種避免冗餘主站對串列匯流排鏈路訪問衝突的方法》獲得第十二屆中國專利獎優秀獎。

相關詞條

熱門詞條

聯絡我們