專利名稱:多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種雙機數(shù)據(jù)采集的主從切換方法,更具體地,涉及一種多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法。
背景技術(shù):
冗余技術(shù)是計算機系統(tǒng)可靠性設(shè)計中常用的一種技術(shù),被廣泛應用于許多過程控制領(lǐng)域中。在冗余系統(tǒng)中根據(jù)處理交叉故障的程度可以分為計算機層冗余、通道層冗余或者設(shè)備層冗余,計算機層冗余只能以計算機為單位進行主從切換,適應交叉故障的能力較差;通道層冗余能以通道為單位進行主從切換,能適應通道的交叉故障;設(shè)備層冗余能以設(shè)備為單位進行主從切換,能適應設(shè)備的交叉故障。
在冗余系統(tǒng)中要求能從冗余的計算機、通道或設(shè)備中選擇一個有效的進行通信,如果當前通信的通道或設(shè)備發(fā)生故障,能及時切換到另一個通道或設(shè)備中,即主從切換。而在現(xiàn)有的冗余數(shù)據(jù)采集系統(tǒng)中,通常都采用固定的切換算法,如只能在計算機層實現(xiàn)冗余,或只在通道層實現(xiàn)冗余,或只在設(shè)備層實現(xiàn)冗余,在系統(tǒng)中不能實現(xiàn)多種冗余方式的并存,這樣在處理特殊連接方式和復雜交叉故障方面適用性不強。
發(fā)明內(nèi)容
本發(fā)明即是針對上述現(xiàn)有技術(shù)中存在的問題而提出的一種多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,該方法能夠?qū)崿F(xiàn)計算機層、通道層以及設(shè)備層的多種冗余方式并存,滿足特殊連接方式和復雜交叉故障方面的應用。
本發(fā)明是通過下述技術(shù)方案來實現(xiàn)的
一種多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,應用于雙機中實體層的主從狀態(tài)切換,所述的實體層包括計算機層、通道層和設(shè)備層,所述的切換方法包括下述步驟(a)確定系統(tǒng)的切換層;(b)調(diào)用切換層的主從狀態(tài)算法;(c)根據(jù)雙機中的實體層運行狀態(tài)計算切換層的主從狀態(tài),判斷切換層的計算主從狀態(tài)與當前實際主從狀態(tài)是否相同,如果是,則切換層當前實際主從狀態(tài)不變,如果否,執(zhí)行步驟(d);(d)將切換層的當前實際主從狀態(tài)切換為計算主從狀態(tài)。
進一步地,所述的切換層為計算機層。
進一步地,所述的切換層至少為通道層和設(shè)備層之一。
進一步地,所述的步驟(b)中調(diào)用切換層的主從狀態(tài)算法是這樣實現(xiàn)的根據(jù)狀態(tài)收集到的實體層信息,通過配置管理獲取切換層冗余算法,加載指定的所有算法,生成算法對象鏈表,然后從算法對象鏈表中調(diào)用指定的算法。
進一步地,所述的步驟(c)中,計算切換層的主從狀態(tài)次數(shù)為1-3次,判斷所有次數(shù)計算的主從狀態(tài)與當前的實際主從狀態(tài)是否均相同,如果是,則表明當前的實際主從狀態(tài)與計算主從狀態(tài)相同,如果否,則表明當前的實際主從狀態(tài)與計算主從狀態(tài)不同。
本發(fā)明還提供一種多種冗余方式并存的雙機數(shù)據(jù)采集主從切換裝置,包括均與主從切換單元連接的狀態(tài)收集單元、配置管理單元、冗余算法庫單元;所述的狀態(tài)收集單元,用于收集處理雙機中實體層的狀態(tài)信息,包括雙機中各通道連通狀態(tài)、設(shè)備在線離線狀態(tài)、默認主從狀態(tài)、當前實際主從狀態(tài);所述的配置管理單元,用于讀取配置文件,提供通道、設(shè)備的配置信息,切換層信息,提供算法名稱和使用各算法的通道名稱;所述的冗余算法庫單元是多個冗余算法的集合,所述的狀態(tài)收集單元采集的狀態(tài)通過相應的冗余算法能夠計算出切換層的主從狀態(tài);所有冗余算法以動態(tài)鏈接庫的形式存在;所述的主從切換單元,用于從狀態(tài)收集模塊和配置管理模塊中獲取實體層相關(guān)信息,根據(jù)獲取信息加載指定的所有算法,生成算法對象鏈表,然后從算法對象鏈表中調(diào)用指定的算法,計算主從狀態(tài),根據(jù)計算結(jié)果判斷出切換層的理想主從狀態(tài)。
與現(xiàn)有技術(shù)相比,本發(fā)明能夠適應雙機數(shù)據(jù)采集過程中,計算機層、通道層以及設(shè)備層多種冗余方式的并存,滿足特殊連接方式和復雜交叉故障方面的應用。
圖1為本發(fā)明具體實施例的實現(xiàn)系統(tǒng)的結(jié)構(gòu)圖。
圖2為本發(fā)明具體實施例主從切換過程的流程圖。
具體實施例方式
在具體敘述之前,首先作出如下說明在本發(fā)明所引用的雙機數(shù)據(jù)采集系統(tǒng)中具有三種不同類型的冗余實體層計算機層、通道層和設(shè)備層,其中(1)計算機層有如下狀態(tài)信息默認主從由配置設(shè)定;計算主從由冗余算法計算后設(shè)定;理想主從由主從切換單元判斷后設(shè)定。
(2)通道層有如下狀態(tài)信息默認主從由配置設(shè)定;通道好壞在運行中根據(jù)通道的打開成功與否設(shè)定;計算主從由冗余算法計算后設(shè)定;理想主從由主從切換單元判斷后設(shè)定。
(3)設(shè)備層有如下信息默認主從由配置設(shè)定;在線離線在運行中根據(jù)設(shè)備與的通信情況設(shè)定;計算主從由冗余算法計算后設(shè)定;理想主從由主從切換單元判斷后設(shè)定。
在系統(tǒng)啟動時,設(shè)定各個層次的計算主從狀態(tài)和理想主從狀態(tài)與默認主從狀態(tài)一致。
在本發(fā)明中所提出的多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,指的是該主從切換的方法可以用于計算機層、通道層和設(shè)備層的任何層次之一,但是在同一時間計算機層主從切換和通道層、設(shè)備層的主從切換不能同時加載進行。
在下述敘述過程中,計算機層雙機始終保持正常通信狀態(tài)。
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步的介紹,但不作為對本發(fā)明的限定。
一種多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法的實現(xiàn)裝置中,包括狀態(tài)收集單元、配置管理單元、主從切換單元、冗余算法庫單元,如圖1所示,其中狀態(tài)收集單元,用于收集處理雙機中實體層的狀態(tài)信息,包括雙機中各通道連通狀態(tài)、設(shè)備在線離線狀態(tài)、默認主從狀態(tài)、當前實際主從狀態(tài);雙機之間的信息通過心跳信號傳遞;配置管理單元,用于讀取配置文件或組態(tài)信息,提供各個通道、各個設(shè)備的配置信息,提供算法名稱和使用各算法的通道名稱;冗余算法庫單元是多個冗余算法的集合,狀態(tài)收集單元采集的狀態(tài)通過相應的冗余算法能夠計算出切換層的主從狀態(tài);所有冗余算法以動態(tài)鏈接庫的形式存在;但是需要說明的是不同層次的冗余可以對應不同的算法,同一層次的冗余也可以具有多種不同的算法,根據(jù)實際情況調(diào)用不同的算法即可。
主從切換單元,它從狀態(tài)收集模塊和配置管理模塊中獲取實體層相關(guān)信息,然后根據(jù)獲取信息加載指定的所有算法,生成算法對象鏈表,然后從算法對象鏈表中調(diào)用指定的算法,計算主從狀態(tài),根據(jù)計算結(jié)果判斷出切換層的理想主從狀態(tài)。
本方法實現(xiàn)過程中,首先確定要進行切換的層,主從切換單元依據(jù)配置管理模塊中指定的該層次的主從切換算法加載算法,并生成算法對象鏈表,通過狀態(tài)收集模塊收集到雙機的實體層的實際狀態(tài),再從算法對象鏈表中取得各算法計算出計算主從狀態(tài)。
參考圖2所示的流程圖,一種多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,具體為如下步驟步驟100判斷是否為計算機層冗余,如果是,執(zhí)行步驟101,如果否,執(zhí)行步驟201;步驟101通過配置管理單元獲取計算機層冗余算法對應的名稱;步驟102主從切換模塊加載計算機層的冗余算法;步驟103連續(xù)三次計算計算機層主從狀態(tài)主從切換單元從狀態(tài)收集單元和配置管理單元中獲取計算機層的相關(guān)運行信息,然后根據(jù)獲取的信息調(diào)用指定的算法,計算主從狀態(tài);判斷三次計算的主從狀態(tài)與計算機層的當前實際主從狀態(tài)是否均相同,如果是,則計算機層理想主從狀態(tài)仍為當前實際主從狀態(tài),繼續(xù)執(zhí)行步驟103,如果否,計算機層的理想主從狀態(tài)為計算主從狀態(tài),執(zhí)行下一步驟104;步驟104將計算機層的當前實際主從狀態(tài)切換為計算主從狀態(tài),返回執(zhí)行步驟103。
需要說明的是,在實現(xiàn)計算機層中從切換時,通道層和設(shè)備層的理想主從狀態(tài)按照計算機層的當前實際主從狀態(tài)設(shè)置,并進行切換。
步驟201通過配置管理單元獲取通道層和設(shè)備層冗余算法對應的名稱;步驟202主從切換模塊加載通道層和設(shè)備層的冗余算法;步驟203連續(xù)三次計算通道層主從狀態(tài)主從切換單元從狀態(tài)收集單元和配置管理單元中獲取通道層的相關(guān)運行信息,然后根據(jù)獲取的信息從算法對象鏈表中調(diào)用指定的算法,計算主從狀態(tài);判斷三次計算的主從狀態(tài)與通道層的當前實際主從狀態(tài)是否均相同,如果是,則通道層理想主從狀態(tài)仍為當前實際主從狀態(tài),繼續(xù)執(zhí)行步驟205,如果否,通道層的理想主從狀態(tài)為計算主從狀態(tài),執(zhí)行下一步驟204;步驟204將通道層的當前實際主從狀態(tài)切換為計算主從狀態(tài);步驟205連續(xù)三次計算設(shè)備層主從狀態(tài)主從切換單元從狀態(tài)收集單元和配置管理單元中獲取設(shè)備層的相關(guān)運行信息,然后根據(jù)獲取的信息從算法對象鏈表中調(diào)用指定的算法,計算主從狀態(tài);判斷三次計算的主從狀態(tài)與設(shè)備層當前實際主從狀態(tài)是否均相同,如果是,則設(shè)備層理想主從狀態(tài)仍為當前主從狀態(tài),返回執(zhí)行步驟203,如果否,設(shè)備層的理想主從狀態(tài)為計算主從狀態(tài),執(zhí)行下一步驟206;步驟206將設(shè)備層的當前實際主從狀態(tài)切換為計算主從狀態(tài),返回執(zhí)行步驟203。
在上述實施例中,計算機層、通道層和設(shè)備層的計算主從狀態(tài)均計算三次,與當前實際主從狀態(tài)比較三次,才切換理想主從狀態(tài)為計算主從狀態(tài),這樣可以有效避免狀態(tài)不穩(wěn)定導致的反復切換。
在另一個實施例中,可以指定只進行通道層的切換,但此時設(shè)備層的主從狀態(tài)由通道層的當前實際主從狀態(tài)確定。在另一實施例中,也可以指定只進行設(shè)備層的切換,其實現(xiàn)過程與上述實施例基本一致。
需要說明的是,上述步驟中,對于計算機層、通道層和設(shè)備層的主從狀態(tài)的計算方法均為現(xiàn)有技術(shù)。
權(quán)利要求
1.一種多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,應用于雙機中實體層的主從狀態(tài)切換,所述的實體層包括計算機層、通道層和設(shè)備層,所述的切換方法包括下述步驟(a)確定系統(tǒng)的切換層;(b)調(diào)用切換層的主從狀態(tài)算法;(c)根據(jù)雙機中的實體層運行狀態(tài)計算切換層的主從狀態(tài),判斷切換層的計算主從狀態(tài)與當前實際主從狀態(tài)是否相同,如果是,則切換層當前實際主從狀態(tài)不變,如果否,執(zhí)行步驟(d);(d)將切換層的當前實際主從狀態(tài)切換為計算主從狀態(tài)。
2.如權(quán)利要求1所述的多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,其特征在于所述的切換層為計算機層。
3.如權(quán)利要求1所述的多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,其特征在于所述的切換層至少為通道層和設(shè)備層之一。
4.如權(quán)利要求1所述的多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,其特征在于所述的步驟(b)中調(diào)用切換層的主從狀態(tài)算法是這樣實現(xiàn)的根據(jù)狀態(tài)收集到的實體層信息,通過配置管理獲取切換層冗余算法,加載指定的所有算法,生成算法對象鏈表,然后從算法對象鏈表中調(diào)用指定的算法。
5.如權(quán)利要求1所述的多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,其特征在于所述的步驟(c)中,計算切換層的主從狀態(tài)次數(shù)為1-3次,判斷所有次數(shù)計算的主從狀態(tài)與當前的實際主從狀態(tài)是否均相同,如果是,則表明當前的實際主從狀態(tài)與計算主從狀態(tài)相同,如果否,則表明當前的實際主從狀態(tài)與計算主從狀態(tài)不同。
6.一種多種冗余方式并存的雙機數(shù)據(jù)采集主從切換裝置,包括均與主從切換單元連接的狀態(tài)收集單元、配置管理單元、冗余算法庫單元;所述的狀態(tài)收集單元,用于收集處理雙機中實體層的狀態(tài)信息,包括雙機中各通道連通狀態(tài)、設(shè)備在線離線狀態(tài)、默認主從狀態(tài)、當前實際主從狀態(tài);所述的配置管理單元,用于讀取配置文件,提供通道、設(shè)備的配置信息,切換層信息,提供算法名稱和使用各算法的通道名稱;所述的冗余算法庫單元是多個冗余算法的集合,所述的狀態(tài)收集單元采集的狀態(tài)通過相應的冗余算法能夠計算出切換層的主從狀態(tài);所有冗余算法以動態(tài)鏈接庫的形式存在;所述的主從切換單元,用于從狀態(tài)收集模塊和配置管理模塊中獲取實體層相關(guān)信息,根據(jù)獲取信息加載指定的所有算法,生成算法對象鏈表,然后從算法對象鏈表中調(diào)用指定的算法,計算主從狀態(tài),根據(jù)計算結(jié)果判斷出切換層的理想主從狀態(tài)。
全文摘要
本發(fā)明公開了一種多種冗余方式并存的雙機數(shù)據(jù)采集主從切換方法,應用于雙機中實體層的主從狀態(tài)切換,所述的實體層包括計算機層、通道層和設(shè)備層,所述的切換方法包括下述步驟(a)確定系統(tǒng)的切換層;(b)調(diào)用切換層的主從狀態(tài)算法;(c)根據(jù)雙機中的實體層運行狀態(tài)計算切換層的主從狀態(tài),判斷切換層的計算主從狀態(tài)與當前實際主從狀態(tài)是否相同,如果是,則切換層當前實際主從狀態(tài)不變,如果否,執(zhí)行步驟(d);(d)將切換層的當前實際主從狀態(tài)切換為計算主從狀態(tài)。本發(fā)明能適應雙機數(shù)據(jù)采集過程中計算機層、通道層和設(shè)備層多種冗余方式的并存,滿足特殊連接方式和復雜交叉故障方面的應用。
文檔編號G06F11/00GK1752938SQ20051011677
公開日2006年3月29日 申請日期2005年10月28日 優(yōu)先權(quán)日2005年10月28日
發(fā)明者宋小莉, 趙云飛 申請人:北京和利時系統(tǒng)工程股份有限公司