一種便於規約擴展的採集系統的前置冗餘架構及方法
2023-10-17 22:43:39 4
專利名稱::一種便於規約擴展的採集系統的前置冗餘架構及方法
技術領域:
:本發明涉及計算機控制領域中的數據採集監控系統,尤其涉及一種便於規約擴展的採集系統的前置冗餘架構及方法。
背景技術:
:在數據採集監控系統中,一般數據採集功能均由前置機實現,出於前置計算機穩定性等其他考慮,經常採用主備用雙前置進行採集功能的保障。主備用雙前置機的工作方式的好處在於主前置機因為某種原因需要停止工作,或者出現故障的情況下,備前置機可以自動升級為主前置機完成系統中數據採集等功能。現有的主備用雙前置冗餘架構在實現上一般採用兩種方式綜合型基本情況是前置中各個數據採集程序將讀取的信息放入到統一數據結構中,如數據表,公共隊列等等,然後再進行信息上傳。採用這種方式的控制系統的內部數據結構複雜,因統一數據結構要考慮各種不同規約信息的存儲,對不同規約的適應差。新增一種數據結構和傳輸信息,就有可能會引起上傳信息結構的改變。從而導致系統擴展性差。DC0M型基本情況是各個掃描程序直接通過DCOM形式的函數調用,將數據上傳,這種情況掃由於沒有了統一數據結構,信息環節減少,系統內部的複雜性降低。但是依然沒有解決擴展性的問題。特別是當一些信息由於信息不全在前置端無法解釋,如保護信息等。
發明內容有鑑於此,本發明的主要目的在於提供一種便於規約擴展的採集系統的前置冗餘架構。本發明進一步所要解決的技術問題是提供一種便於規約擴展的採集系統的前置冗餘架構方法。為解決上述技術問題,本發明採用如下技術方案一種便於規約擴展的採集系統的前置冗餘架構,包括主機管理模塊、前置管理模塊、狀態管理模塊。主機管理模塊啟動實時採集系統端的接入服務進程;主動告知主前置;與主前置機上的前置管理模塊進程通信;完成對定時、設備、通道、前置狀態等管理。前置管理模塊提供前置的冗餘狀態;若被主主機管理模塊指定為主前置,則立即啟動規約掃描框架進程;若被指定為備前置,則立即停止各規約掃描框架進程;監控規約掃描框架進程;接受來自主機管理模塊(或前置狀態接口模塊)的"指定為主前置"的命令,主備前置機都跟主機管理模塊通信;向主機管理模塊報告前置的狀態。主機管理模塊、前置管理模塊的狀態管理數據結構如下typedefstruct{4chars_szName[30];ints—nSta;)腳E一STA;typedefstruct{NODE—STAs一sMasterl;NODE—STAs—sMaster2;NODE—STAs一sQzl;NODE—STAs—sQz2;ints—nAllSysSta;ints一nSysCfgType;}SYSSTATUS;〃機器名〃狀態〃主機1的狀態信息〃主機2的狀態信息〃前置1的狀態信息〃前置2的狀態信息〃整個系統狀態〃系統節點配置類型狀態管理模塊-提供前置機狀態獲取的調用接口,其他模塊通過調用這些接口,獲取本前置的當前狀態;顯示前置機當前的冗餘狀態,提供進行狀態切換的工具;對數據採集的設備狀態進行管理,設備狀態包括設備初始狀態、設備當前狀態;對數據採集通道狀態的管理,通道狀態包括信道編號、原始主通道名、原始備通道名、原始主通道初始狀態、原始備通道初始狀態、原始主通道當前地位、原始備通道當前地位、原始主通道當前運行狀態、原始備通道當前運行狀態、原始主通道誤碼率、原始備通道誤碼率。狀態管理模塊使用的數據結構如下//設備結構定義typedefstruct{BYTEbDevInit;BYTEbDevSta;}DEVINF0;//初始狀態〃本設備的狀態〃通道結構定義typedefstruct{BYTEbComlnit;BYTEbComSta;BYTEbComLev;floatfComErr;BYTEbManSet;}C0MINF0;〃初始狀態〃本通道的狀態〃本通道的地位//本通道的誤碼率〃本通道手工設置為主15〃信道結構定義typedefstruct{intnChnNum;intnCom;charszCom[MAXCOM][30];C0MINF0Com[MAXC0M];〃本信道編號〃本信道支持的通道數//各個通道的名稱〃各個通道的定義結構intnDev;charszDev[MAXDEV][30];DEVINFODev[MAXDEV];iCHA剛ELINFO;〃本通道支持的設備數〃各個設備的名稱〃各個設備的定義結構〃規約協議結構定義typedefstruct(intnChn;charszChn隨CHN][30];C畫NELINFOChn[MAXCHN];intnSta[MAXCHN];}PR0T0CALINF0;//本規約支持的信道數//各個信道的名稱〃各個信道的定義結構//各個信道的狀態(手工、自動判優)〃前置系統配置結構typedefstruct{charszMasterQz[30];charszSlaveQz[30]:intnPro;charszPro[MAXPRO][30];PR0T0CALINF0Gy[MAXPRO];}QZSYSINF0;//主前置〃備前置〃支持規約個數//各個規約的名稱〃各個規約的結構本發明還公開一種便於規約擴展的採集系統的前置冗餘架構的實現方法,其特徵在於,所述方法包括以下歩驟1、建立主機管理模塊進行主備採集系統端控制管理。主機管理模塊控制方法:tableseeoriginaldocumentpage62、建立前置管理模塊進行主備前置機端的控制管理。主備前置機的確認方法__成為主前置的方式成為備前置的方式1、接受主機管理模塊告知稱為主前置機1、接受主前置機的告知成為備前置機2、通過狀態顯示轉換模塊手工設置為主前置機3、備前置切機為主前置主備前置機的控制管理方法:主前置機備前置1、響應主、備數據採集系統的告知1、響應主前置的告知,置本機為備前置2、啟動協議掃描程序2、回答本機信息給主前置3、記錄主、備數據採集系統的f曰息3、同歩前置數據表4、尋找備前置的信息4、停止所有協議掃描程序5、根據各個節點的信息判斷系統狀態6、判斷本前置是否可以下發控制7、響應主備數據採集系統的其他功能8、同歩備前置的數據表9、兩個前置之間的功能10、雙主前置時的解決方案11、切機處理3、建立狀態管理模塊進行主備前置機冗餘狀態管理、採集設備、採集通道狀態管理。主備前置冗餘狀態錯誤處理方法雙主前置出現的解決方法1、網絡斷時無法解決處理。2、網絡正常時,兩個前置相互發現對方也是主前置,兩個前置的前置名進行字符串比較,前置名小的成為主機。切機處理1、單前置或另一個前置關機時不進行切機。2、切機動作只能在主前置上進行,本主前置先進入切機狀態,停止掃描框架程序,告知對方前置成為主前置,告知成功本機變為備前置。下控操作處理無主實時採集系統時不支持下控操作。採,設備狀態包括設備的初始狀態設備的當前狀態採,通道狀態包括:_主通道的初始化狀態_主通道的當前運行狀態_主通道的誤碼率_備通道的初始化狀態_備通道的當前運行狀態_備通道的誤碼率_本發明的其他優點、目標,和特徵在某種程度上將在隨後的說明書中進行闡述,並且在某種程度上,基於對下文的考察研究對本領域技術人員而言將是顯而易見的,或者可以從本發明的實踐中得到教導。本發明的目標和其他優點可以通過下面的說明書,權利要求書,以及附圖中所特別指出的結構來實現和獲得。為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步的詳細描述,其中圖1是本發明一種便於規約擴展的採集系統的架構圖。圖2是本發明前置冗餘架構圖。圖3是本發明規約擴展說明圖。圖4是一種便於規約擴展的採集系統的前置冗餘架構處理流程圖。具體實施例方式下面結合附圖對本發明的具體實施方式作進一歩的詳細描述。需要注意的是,根據本發明的便於規約擴展的採集系統的前置冗餘架構的實施方式僅僅作為例子,但本發明不限於該具體實施方式。請參閱圖1,本發明的一種便於規約擴展的採集系統的前置冗餘架構圖,主要包括主機系統、冗餘前置(雙機)、信道、設備。其中主機系統上運行有主機管理模塊,用8於啟動實時採集系統端的接入服務進程,進行主動設置主前置操作,與主前置機上的前置管理模塊進程通信,實現前置狀態冗餘管理。冗餘前置(雙機)進行設備、通道的狀態管理,同時實現前置機的冗餘功能,啟動數據採集程序進行現場數據採集。信道為前置機與數據採集設備進行數據採集通信的通道,分為主通道、備通道。設備為數據採集設備,可以將現場的數據採集到設備中,然後通過信道與採集規約進行數據交互,發送數據給前置上的數據採集程序。請參閱圖2,本發明的前置冗餘架構圖,其中在實時採集系統一側的主機管理模塊。功能如下1、根據本機的狀態,對主機側的規約接入程序進行控制。如停止或建立連接。2、與前置側的前置管理模塊進行傳遞一些信息。如對時命令、狀態通知等。3、搜集本機的各個規約接入程序的運行狀態。在前置機一側的前置管理模塊的功能如下1、提供前置冗餘狀態。2、響應實時採集系統的告知命令,設置本前置的前置狀態。3、響應主實時採集系統的對時命令。主前置管理模塊特殊功能啟動本機作為主前置時啟動的任務,停止本機作為主前置時應停止的任務。獲取另一前置的的狀態,判定整個系統的運行狀態。根據主備選擇的策略,在前置系統狀態不正常時,進行前置主、備狀態的設置。響應切機請求,將本機狀態切換為備前置,通知另一個前置成為主前置。備前置管理模塊特殊功能-啟動本機作為備前置時啟動的任務,停止本機作為備前置時應停止的任務。響應主前置的狀態請求,提供本前置的狀態給主前置。在前置側,狀態管理模塊的功能如下1、顯示本前置當前所處的狀態,提供狀態切換功能2、調用"掃描"提供的通道、設備狀態接口獲取設備狀態、通道狀態。3、響應本機其他任務對前置狀態的請求,回答當前前置狀態。主前置狀態管理模塊特殊功能-調用"掃描"提供的接口獲取設備狀態、通道狀態。發送給主、備實時採集系統,同時也發送給備前置。備前置狀態管理模塊特殊功能接收主前置發送來的設備狀態、通道狀態,在前置狀態由備前置變化為主前置時,按照從主前置接收到的設備狀態、通道狀態信息,通過調用"掃描"提供的接口,設置設備的狀態、通道的狀態,進行前置的設備狀態信息、通道狀態信息同步。保證主前置9上進行的對設備的設置操作,在切機後也保持,保證系統的一致性。冗餘管理邏輯如下1、前置初始啟動都為"空狀態"2、前置管理模塊接收到主機管理模塊的"主前置告知",成為主前置。3、前置管理模塊接收到主前置機管理模塊的"備前置告知",成為備前置。4、手工前置狀態切換時只有是空前置狀態才可以把狀態切換為主前置狀態;主前置狀態切換為備前置。5、出現兩個主前置的容錯,前置名進行字符串比較,前置名小的前置成為主前置。切換過程主實時採集系統與前置系統建立連接過程得到當前的系統情況~^判斷現在的主前置(如已經存在,用當前主前置.如不存在,根據預定的順序)與[當前的主前置]建立連接成功^§-將目前的主機信息下送[主前置管理模塊]接受[主-的'置管理模塊]返回信息進行確認通知["fe入"]與["掃描"]建立連接返回[成功成為主前置確認信息]系統冗餘情況通知[備實時採集系統的主機管理模塊][備前置的前置管理模塊]10備實時採集系統與前置系統建立連接過程[備實時採集系統的主機管理模塊]得到當前的系統情況_與[主前置管理模塊]建立連接I通知[備實時採集系統的"接入"]與[主前置的"掃描"]建立連接.前置主機切換過程,,備前置升級為主前置操作。此時,主採集系統的主機管理模塊進入主實時採集系統與前置系統建立連接過程自動完成切換,請參閱圖3,具體描述了本發明的規約擴展。本發明的規約擴展方便體現在,每新增一個新的採集設備的掃描規約,均可以獨立進行開發,而不影響前置冗餘架構中的其他模塊的功能。系統的結構清晰,要新增加一個掃描規約,需開發兩個運行程序。一個在前置端運行,既掃描程序,對採集設備進行數據規約掃描採集,一個在實時採集系統機上運行,既接口程序,接受掃描程序提供採集數據供系統處理使用。接口程序也可以運行在系統的任何接點上。這樣可以通過接口程序搜集主機上的資料庫信息,例如保護的解釋定義等,結合採集信息與保護的解釋定義可以構成完整的保護解釋信息。例如對保護信息的解釋說明等等。還可以將解釋完成的各種信息存入到各種數據的源中。例如將保護的解釋信息寫入到關係資料庫中。掃描程序和接口程序之間的信息交換的種類和方式有較大的自由性,這也充分體現11了擴展性。請參閱圖4,一種便於規約擴展的採集系統的前置冗餘架構處理流程圖,以下詳述其工作流程首先運行在主備實時採集系統機上的主機管理模塊獲取本機的主備狀態,如果根據獲取的主備狀態判斷本機為主機則進行以下操作啟動接入服務程序,用於同主前置機上的協議掃描程序通信,獲取主前置機獲取的採集數據,然後進行主前置機的設置,設置方式為如果前置冗餘架構中存在主前置機則保持其為主前置,否則設置發現的第一個空前置機為主前置。如果根據獲取的主備狀態判斷本機為備機則進行以下操作啟動接入服務程序,用於從主前置機獲取採集的數據,然後進行主前置機的査找,同前置冗餘架構中的前置機上的前置管理模塊通信,請求其狀態信息。運行在主備前置機上的前置管理模塊接受主機管理模塊的設置主前置操作,如果本前置機被主機管理模塊設置成為主前置,則啟動現場數據的協議掃描程序,採集現場數據發送給主備實時採集系統機上的接入服務程序,然後將本主前置機的數據表發送給備前置機進行主備前置機之間的實時數據同步,最後進行主備前置機的切機處理。如果本前置機成為備前置,則停止現場數據的協議掃描程序,接受主前置機的發送過來的數據表數據進行數據同步,最後響應主前置機的切機處理。本發明通過一種便於規約擴展的採集系統的前置冗餘架構及方法,有效的實現了採集系統中,主備用雙前置機的工作方式,同時在規約擴展方面據有方便、靈活的特點,為保障採集系統地安全高效運行提供了保障。以上所述僅為本發明的優選實施例而已,並不用於限制本發明,顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。權利要求1.一種便於規約擴展的採集系統的前置冗餘架構,包括主機管理模塊,用於啟動實時採集系統端的接入服務進程;主動告知主前置;與主前置機上的前置管理模塊進程通信;完成對定時、設備、通道、前置狀態等管理;前置管理模塊,用於提供前置的冗餘狀態;若被主主機管理模塊指定為主前置,則立即啟動規約掃描框架進程;若被指定為備前置,則立即停止各規約掃描框架進程;監控規約掃描框架進程;接受來自主機管理模塊或前置狀態接口模塊的「指定為主前置」的命令,主備前置機都跟主機管理模塊通信;向主機管理模塊報告前置的狀態;狀態管理模塊,用於提供前置機狀態獲取的調用接口;顯示前置機當前的冗餘狀態,提供進行狀態切換的工具;對數據採集的設備狀態進行管理;對數據採集通道狀態進行管理。2.根據權利要求1的前置冗餘架構,其中所述調用接口由其他模塊調用,以獲取本前置的當前狀態。3.根據權利要求1的前置冗餘架構,其中所述設備狀態包括設備初始狀態、設備當前狀態。4.根據權利要求1的前置冗餘架構,其中所述通道狀態包括信道編號、原始主通道名、原始備通道名、原始主通道初始狀態、原始備通道初始狀態、原始主通道當前地位、原始備通道當前地位、原始主通道當前運行狀態、原始備通道當前運行狀態、原始主通道誤碼率、原始備通道誤碼率中的至少其中之一。5.—種便於規約擴展的採集系統的前置冗餘架構處理方法,包括以下步驟運行在主備實時採集系統機上的主機管理模塊獲取本機的主備狀態;如果根據獲取的主備狀態判斷本機為主機,則啟動接入服務程序,用於同主前置機上的協議掃描程序通信,獲取主前置機獲取的採集數據,然後進行主前置機的設置,設置方式為如果前置冗餘架構中存在主前置機則保持其為主前置,否則設置發現的第一個空前置機為主前置;如果根據獲取的主備狀態判斷本機為備機,貝廿啟動接入服務程序,用於從主前置機獲取採集的數據,然後進行主前置機的查找,同前置冗餘架構中的前置機上的前置管理模塊通信,請求其狀態信息;運行在主備前置機上的前置管理模塊接受主機管理模塊的設置主前置操作;如果本前置機被主機管理模塊設置成為主前置,則啟動現場數據的協議掃描程序,採集現場數據發送給主備實時採集系統機上的接入服務程序,然後將本主前置機的數據表發送給備前置機進行主備前置機之間的實時數據同步,最後進行主備前置機的切機處理;如果本前置機成為備前置,則停止現場數據的協議掃描程序,接受主前置機的發送過來的數據表數據進行數據同歩,最後響應主前置機的切機處理。全文摘要本發明公開一種便於規約擴展的採集系統的前置冗餘架構,用於控制系統中進行數據採集的前置機的冗餘功能實現。它包括主機管理模塊、前置管理模塊、狀態管理模塊。本發明還公開一種數據採集系統的前置冗餘架構實現的方法。採用本發明的技術方案形成的數據採集系統的前置冗餘架構可以使數據採集系統在增加新的不同類別的採集設備時,具有良好的擴展性。系統的結構清晰,可以有效的實現主備用雙前置機切換,新增採集規約時,可以獨立開發,不影響前置架構中其他的模塊、其他採集規約的功能,不影響數據採集系統地正常使用。文檔編號G05B19/048GK101498919SQ20081000714公開日2009年8月5日申請日期2008年2月2日優先權日2008年2月2日發明者史乃彪,尚晉鋼,張乃靖,邵英浩,郭樂深申請人:北京城市學院