亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架的制作方法

文檔序號(hào):6518162閱讀:274來(lái)源:國(guó)知局
一種基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架的制作方法
【專利摘要】本發(fā)明公開一種基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,該框架針對(duì)軌道交通監(jiān)控系統(tǒng)中,數(shù)據(jù)規(guī)模龐大,監(jiān)控?cái)?shù)據(jù)存在內(nèi)在語(yǔ)義關(guān)聯(lián),工作站以實(shí)時(shí)數(shù)據(jù)查詢?yōu)橹鞯忍卣鳎谌哂鄬?shí)時(shí)庫(kù)的分布、同步和故障容錯(cuò)等各方面分別采用了各種適合的策略,通過(guò)混合使用單播通信和組播通信分別實(shí)時(shí)傳輸不同性質(zhì)的數(shù)據(jù),解決由于規(guī)模擴(kuò)張帶來(lái)的同步通訊數(shù)據(jù)量迅速增長(zhǎng)等問(wèn)題,通過(guò)采用合理的策略滿足了監(jiān)控?cái)?shù)據(jù)內(nèi)在語(yǔ)義關(guān)聯(lián)對(duì)實(shí)時(shí)庫(kù)同步的時(shí)序一致性要求,有效實(shí)現(xiàn)了分布式多冗余實(shí)時(shí)庫(kù)框架下的故障容錯(cuò),更有效的實(shí)現(xiàn)了監(jiān)控系統(tǒng)中分布式實(shí)時(shí)庫(kù)的多冗余,相比于常規(guī)的雙冗余框架更有力的保障了實(shí)時(shí)庫(kù)的可靠性和可用性,為軌道交通監(jiān)控系統(tǒng)的穩(wěn)定運(yùn)行奠定基礎(chǔ)。
【專利說(shuō)明】一種基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架
【技術(shù)領(lǐng)域】
[0001]本技術(shù)發(fā)明涉及軌道交通自動(dòng)化領(lǐng)域,尤其涉及分布式監(jiān)控系統(tǒng)領(lǐng)域,本技術(shù)發(fā)明可廣泛適用于電氣化鐵路和城市軌道交通各專業(yè)監(jiān)控系統(tǒng)以及綜合監(jiān)控系統(tǒng)等應(yīng)用。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)科學(xué)和自動(dòng)化技術(shù)的迅速發(fā)展,在軌道交通的各個(gè)領(lǐng)域,例如電氣化鐵路和城市軌道交通等領(lǐng)域,監(jiān)控系統(tǒng)已經(jīng)從傳統(tǒng)的小型桌面系統(tǒng)向現(xiàn)代的分布式復(fù)雜系統(tǒng)發(fā)展,其控制的地域范圍,流程規(guī)模等都迅速增加。而且由于傳統(tǒng)采用的分立監(jiān)控系統(tǒng)模式,即存在信號(hào)、PSCADA (電力監(jiān)控)、BAS (環(huán)控)等多個(gè)獨(dú)立的監(jiān)控系統(tǒng)并各有專員進(jìn)行操作,具有運(yùn)營(yíng)成本高,多個(gè)系統(tǒng)的信息難以共享等問(wèn)題,集各子系統(tǒng)功能于一身的綜合監(jiān)控系統(tǒng)逐漸成為新的發(fā)展趨勢(shì)。在綜合監(jiān)控系統(tǒng)中,各個(gè)子系統(tǒng)通過(guò)集成或互聯(lián),實(shí)現(xiàn)由同一個(gè)上位系統(tǒng)進(jìn)行監(jiān)控,從而使得信息可以有效共享,并且減少工作量,降低運(yùn)營(yíng)成本。
[0003]分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù):無(wú)論是分立監(jiān)控系統(tǒng)還是綜合監(jiān)控系統(tǒng),實(shí)時(shí)數(shù)據(jù)庫(kù)都是監(jiān)控系統(tǒng)的數(shù)據(jù)核心,實(shí)時(shí)數(shù)據(jù)庫(kù),常又簡(jiǎn)稱為實(shí)時(shí)庫(kù),其中存放了軌道交通運(yùn)營(yíng)現(xiàn)場(chǎng)的各種實(shí)時(shí)數(shù)據(jù)。監(jiān)控系統(tǒng)通過(guò)采集或者I/o模塊從設(shè)備或者子系統(tǒng)獲得最新的現(xiàn)場(chǎng)狀態(tài)數(shù)據(jù)并實(shí)時(shí)更新實(shí)時(shí)庫(kù)中的相關(guān)數(shù)據(jù)(人機(jī)界面)模塊從實(shí)時(shí)庫(kù)獲取實(shí)時(shí)數(shù)據(jù),以人性化的方式展現(xiàn)給操作員;告警模塊依據(jù)實(shí)時(shí)庫(kù)中實(shí)時(shí)狀態(tài)數(shù)據(jù)觸發(fā)相應(yīng)的報(bào)警;趨勢(shì)模塊定時(shí)從實(shí)時(shí)庫(kù)獲取最新數(shù)據(jù)并以曲線形式呈現(xiàn);而操作員根據(jù)各種實(shí)際情況,通過(guò)實(shí)時(shí)庫(kù)及時(shí)的發(fā)出指令,進(jìn)行實(shí)時(shí)控制。實(shí)時(shí)庫(kù)作為監(jiān)控系統(tǒng)的實(shí)時(shí)數(shù)據(jù)中樞實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的統(tǒng)一管理并為系統(tǒng)的其它模塊提供一致的實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù),從而使得監(jiān)控系統(tǒng)作為一個(gè)有機(jī)整體持續(xù)穩(wěn)定的可靠運(yùn)行,正確實(shí)現(xiàn)軌道交通運(yùn)營(yíng)的監(jiān)控功能。
[0004]由于各種軌道交通應(yīng)用,無(wú)論是電氣化鐵路還是地鐵或者輕軌,都涉及大規(guī)模人身安全,因此監(jiān)控系統(tǒng)具有嚴(yán)格的可靠性要求,而作為系統(tǒng)實(shí)時(shí)數(shù)據(jù)核心的實(shí)時(shí)庫(kù),是整個(gè)系統(tǒng)賴以可靠運(yùn)行的基礎(chǔ),其可靠性無(wú)疑是重中之重。冗余是保障可靠性的有效技術(shù)。因此,軌道交通的監(jiān)控系統(tǒng)通常在各方面采用冗余技術(shù),從而盡可能的保障系統(tǒng)的可靠性和可用性。例如,常規(guī)配置中,在監(jiān)控系統(tǒng)的局域網(wǎng)內(nèi),不會(huì)只運(yùn)行一臺(tái)服務(wù)器,而是同時(shí)運(yùn)行兩臺(tái)互為備用的冗余服務(wù)器,并配置若干臺(tái)工作站,通過(guò)合理的通信實(shí)現(xiàn)冗余,如圖1所示。同樣,冗余也是保障實(shí)時(shí)庫(kù)可靠性的有效技術(shù)。常規(guī)配置中,在局域網(wǎng)內(nèi)的雙冗余服務(wù)器上會(huì)同時(shí)運(yùn)行相同的實(shí)時(shí)庫(kù),確保當(dāng)一臺(tái)服務(wù)器上的實(shí)時(shí)庫(kù)因?yàn)榉?wù)器宕機(jī)等原因失效時(shí),另一臺(tái)服務(wù)器上的實(shí)時(shí)庫(kù)仍然可以為系統(tǒng)提供正常的實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù),從而實(shí)現(xiàn)實(shí)時(shí)庫(kù)的雙冗余,以保障實(shí)時(shí)庫(kù)的可靠性和可用性。這就意味著監(jiān)控系統(tǒng)中的實(shí)時(shí)庫(kù)采用的是分布式冗余框架。由于實(shí)時(shí)庫(kù)中存放了實(shí)時(shí)數(shù)據(jù)的最新狀態(tài),并用于提供實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù),因此,分布式冗余框架中的所有實(shí)時(shí)庫(kù)必須通過(guò)合理的實(shí)時(shí)通信保持?jǐn)?shù)據(jù)實(shí)時(shí)一致,這樣才能保證從任一實(shí)時(shí)庫(kù)訪問(wèn)的實(shí)時(shí)數(shù)據(jù)數(shù)值都是實(shí)時(shí)一致的,這稱為同步,反之稱為失步。
[0005]近來(lái),軌道交通行業(yè)的一些重大事故,如溫州動(dòng)車追尾事故,以及一些嚴(yán)重影響軌道交通運(yùn)營(yíng)的大型災(zāi)害,如汶川地震等,使得人們對(duì)軌道交通應(yīng)用的安全可靠更為關(guān)注,因而對(duì)軌道交通監(jiān)控系統(tǒng)的可靠性和可用性也提出了更高的要求。這使得監(jiān)控系統(tǒng)在一些更為關(guān)鍵、需要更可靠的場(chǎng)合采用了比常規(guī)雙冗余具有更高可靠性的多冗余框架。例如在武漢等高鐵中樞的調(diào)度指揮中心,監(jiān)控系統(tǒng)往往配置多臺(tái)互為備用的服務(wù)器,如圖2所示,從而確保在超過(guò)一臺(tái)服務(wù)器發(fā)生故障時(shí)系統(tǒng)仍然可以正確運(yùn)行;而在很多城市,特別是地處災(zāi)害易發(fā)地區(qū)如地震帶的城市,地鐵監(jiān)控系統(tǒng)除了在運(yùn)營(yíng)控制中心配置了雙冗余服務(wù)器和若干臺(tái)工作站,同時(shí)在一定距離外建有災(zāi)備中心,并提供相同的配置,如圖3所示。平時(shí)通過(guò)通信維持?jǐn)?shù)據(jù)一致,一旦運(yùn)營(yíng)控制中心因發(fā)生大型災(zāi)害而無(wú)法使用,則轉(zhuǎn)移至災(zāi)備中心維持監(jiān)控功能。在多冗余的配置中,系統(tǒng)中存在一臺(tái)主服務(wù)器和多臺(tái)備用的服務(wù)器,在每臺(tái)服務(wù)器同時(shí)運(yùn)行相同的實(shí)時(shí)庫(kù),并通過(guò)合理的實(shí)時(shí)通信保持實(shí)時(shí)同步。從而保障即使有多臺(tái)服務(wù)器上的實(shí)時(shí)庫(kù)因?yàn)榉?wù)器宕機(jī)等故障而失效,只要還有至少一臺(tái)服務(wù)器上的實(shí)時(shí)庫(kù)是有效的,就可以為系統(tǒng)提供實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù),從而更大限度的實(shí)現(xiàn)實(shí)時(shí)庫(kù)的故障容錯(cuò),更有力的保障監(jiān)控系統(tǒng)的可靠性。

【發(fā)明內(nèi)容】

[0006]針對(duì)現(xiàn)有技術(shù)中所存在的問(wèn)題,本發(fā)明提出一種適用于軌道交通監(jiān)控系統(tǒng)的分布式冗余實(shí)時(shí)庫(kù)框架,該框架針對(duì)軌道交通監(jiān)控系統(tǒng)中,數(shù)據(jù)規(guī)模龐大,監(jiān)控?cái)?shù)據(jù)存在內(nèi)在語(yǔ)義關(guān)聯(lián),工作站以實(shí)時(shí)數(shù)據(jù)查詢?yōu)橹鞯忍卣?,在冗余?shí)時(shí)庫(kù)的分布、同步和故障容錯(cuò)等各方面分別采用了各種適合的策略,通過(guò)混合使用單播通信和組播通信分別實(shí)時(shí)傳輸不同性質(zhì)的數(shù)據(jù),解決由于規(guī)模擴(kuò)張帶來(lái)的同步通訊數(shù)據(jù)量迅速增長(zhǎng)等問(wèn)題,通過(guò)采用合理的策略滿足了監(jiān)控?cái)?shù)據(jù)內(nèi)在語(yǔ)義關(guān)聯(lián)對(duì)實(shí)時(shí)庫(kù)同步的要求,并以適合的方式有效實(shí)現(xiàn)了多冗余分布式實(shí)時(shí)庫(kù)框架下的故障容錯(cuò),從而更有效的實(shí)現(xiàn)了監(jiān)控系統(tǒng)中實(shí)時(shí)庫(kù)的多冗余,相比于常規(guī)的雙冗余更有力的保障了實(shí)時(shí)庫(kù)的可靠性和可用性,為系統(tǒng)穩(wěn)定、可靠的持續(xù)運(yùn)行提供了更為堅(jiān)實(shí)的基礎(chǔ)。
[0007]本發(fā)明的技術(shù)方案為:一種基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,包括:實(shí)時(shí)數(shù)據(jù)訪問(wèn)模塊;分布式多冗余實(shí)時(shí)庫(kù)框架;冗余實(shí)時(shí)庫(kù)同步模塊;分布式多冗余實(shí)時(shí)庫(kù)的故障容錯(cuò)模塊。
[0008]所述實(shí)時(shí)數(shù)據(jù)訪問(wèn)模塊:在監(jiān)控系統(tǒng)中,實(shí)時(shí)庫(kù)中保存了軌道交通運(yùn)營(yíng)現(xiàn)場(chǎng)的狀態(tài)信息的最新數(shù)據(jù),并且不斷實(shí)時(shí)更新以保證及時(shí)反映現(xiàn)場(chǎng)的當(dāng)前狀況,從而作為實(shí)時(shí)數(shù)據(jù)中樞為系統(tǒng)的其它模塊提供實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù);實(shí)時(shí)數(shù)據(jù)訪問(wèn)分為查詢?cè)L問(wèn)和更新訪問(wèn);所述查詢?cè)L問(wèn)是指時(shí)庫(kù)中獲取實(shí)時(shí)數(shù)據(jù)的最新數(shù)值,以滿足應(yīng)用需求,查詢?cè)L問(wèn)不會(huì)改變實(shí)時(shí)庫(kù)中實(shí)時(shí)數(shù)據(jù)的數(shù)值;更新訪問(wèn)是指依據(jù)應(yīng)用需求,更新實(shí)時(shí)庫(kù)中實(shí)時(shí)數(shù)據(jù)的數(shù)值,更新訪問(wèn)會(huì)改變實(shí)時(shí)庫(kù)中的實(shí)時(shí)數(shù)據(jù)的數(shù)值。
[0009]所述分布式多冗余實(shí)時(shí)庫(kù)模塊:為了保障監(jiān)控系統(tǒng)中實(shí)時(shí)庫(kù)的可靠性,通常在所有冗余的服務(wù)器上同時(shí)運(yùn)行相同的實(shí)時(shí)庫(kù),以實(shí)現(xiàn)實(shí)時(shí)庫(kù)的冗余;工作站則可分為兩種方式:一種是工作站上不運(yùn)行實(shí)時(shí)庫(kù),而所有的實(shí)時(shí)數(shù)據(jù)訪問(wèn),都通過(guò)通信由服務(wù)器上的實(shí)時(shí)庫(kù)提供遠(yuǎn)程實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù);另一種則是在工作站上運(yùn)行本地實(shí)時(shí)庫(kù)。文中的分布式冗余實(shí)時(shí)庫(kù)框架采用了第二種方式,即在工作站上運(yùn)行實(shí)時(shí)庫(kù),這樣可以直接對(duì)這些查詢?cè)L問(wèn)提供本地服務(wù),而不需要籍由通信提供遠(yuǎn)程服務(wù)。這一方面避免了由此帶來(lái)的繁重網(wǎng)絡(luò)通信負(fù)載,更重要的是,由于完全沒(méi)有通信時(shí)延,本地提供查詢?cè)L問(wèn)服務(wù)的實(shí)時(shí)性能要明顯優(yōu)于遠(yuǎn)程服務(wù),從而可以更為及時(shí)、流暢的向操作員顯示現(xiàn)場(chǎng)的當(dāng)前狀況。
[0010]所述冗余實(shí)時(shí)庫(kù)同步模塊:監(jiān)控系統(tǒng)中的實(shí)時(shí)庫(kù)在內(nèi)存中保存了所有運(yùn)營(yíng)現(xiàn)場(chǎng)的當(dāng)前狀態(tài)的實(shí)時(shí)數(shù)據(jù),分布式冗余框架中的所有實(shí)時(shí)庫(kù)必須始終維持實(shí)時(shí)同步。這里主要考慮當(dāng)更新訪問(wèn)修改了實(shí)時(shí)庫(kù)中的數(shù)據(jù)時(shí),冗余框架中原來(lái)同步的分布式實(shí)時(shí)庫(kù)如何維持同步,包括主實(shí)時(shí)庫(kù)的更新訪問(wèn)、備實(shí)時(shí)庫(kù)的更新訪問(wèn)和冗余實(shí)時(shí)庫(kù)的工作流程。
[0011]所述分布式多冗余實(shí)時(shí)庫(kù)的故障容錯(cuò)模塊:采用多冗余的方式將比雙冗余能夠更有力的保障實(shí)時(shí)庫(kù)的可靠性,保證了即使框架中超過(guò)一臺(tái)服務(wù)器的實(shí)時(shí)庫(kù)失效,只要還有不少于一臺(tái)的服務(wù)器上的實(shí)時(shí)庫(kù)正常運(yùn)行,就仍然能夠?yàn)橄到y(tǒng)提供實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù),從而比雙冗余實(shí)時(shí)庫(kù)框架更有效地實(shí)現(xiàn)實(shí)時(shí)庫(kù)的故障容錯(cuò),具備更高的可靠性。
【專利附圖】

【附圖說(shuō)明】
[0012]圖1為現(xiàn)有技術(shù)中的雙冗余服務(wù)器配置示意圖。
[0013]圖2為現(xiàn)有技術(shù)中的多冗余服務(wù)器配置示意圖。
[0014]圖3為現(xiàn)有技術(shù)中具有災(zāi)備中心的多冗余服務(wù)器配置示意圖。
[0015]圖4為本發(fā)明的分布式多冗余實(shí)時(shí)庫(kù)框架示意圖。
[0016]圖5為本發(fā)明主實(shí)時(shí)庫(kù)的更新訪問(wèn)請(qǐng)求的同步策略示意圖。
[0017]圖6為本發(fā)明備實(shí)時(shí)庫(kù)的更新訪問(wèn)請(qǐng)求的同步策略示意圖。
[0018]圖7為本發(fā)明備實(shí)時(shí)庫(kù)運(yùn)行流程示意圖。
【具體實(shí)施方式】
[0019]以下結(jié)合相關(guān)附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)闡述。
[0020]I)實(shí)時(shí)數(shù)據(jù)訪問(wèn)模塊:監(jiān)控系統(tǒng)中對(duì)實(shí)時(shí)庫(kù)的實(shí)時(shí)數(shù)據(jù)訪問(wèn)總體可以分為兩類:一類是查詢?cè)L問(wèn)單元,從實(shí)時(shí)庫(kù)中獲取實(shí)時(shí)數(shù)據(jù)的最新數(shù)值,以滿足應(yīng)用需求,例如=HMI模塊從實(shí)時(shí)庫(kù)中查詢最新數(shù)據(jù),并動(dòng)態(tài)顯示給操作員;告警模塊從實(shí)時(shí)庫(kù)中查詢當(dāng)前的數(shù)據(jù),如異常則報(bào)警;趨勢(shì)模塊從實(shí)時(shí)庫(kù)中周期性查詢數(shù)據(jù),并以曲線形式呈現(xiàn)。另一類是更新訪問(wèn)單元,依據(jù)應(yīng)用需求,更新實(shí)時(shí)庫(kù)中實(shí)時(shí)數(shù)據(jù)的數(shù)值,例如:采集或者I/O模塊從設(shè)備或者子系統(tǒng)獲得運(yùn)營(yíng)現(xiàn)場(chǎng)的最新狀態(tài)數(shù)據(jù)后會(huì)對(duì)實(shí)時(shí)庫(kù)中的相關(guān)數(shù)據(jù)進(jìn)行實(shí)時(shí)更新,并同時(shí)更新其獲得時(shí)間,而操作員做出的控制指示,常常也首先寫入實(shí)時(shí)庫(kù),并經(jīng)由實(shí)時(shí)庫(kù)知會(huì)控制模塊執(zhí)行。
[0021]2)分布式多冗余實(shí)時(shí)庫(kù)模塊:為了保障監(jiān)控系統(tǒng)中實(shí)時(shí)庫(kù)的可靠性,通常在所有冗余的服務(wù)器上同時(shí)運(yùn)行相同的實(shí)時(shí)庫(kù),以實(shí)現(xiàn)實(shí)時(shí)庫(kù)的冗余。工作站則可分為兩種方式,一種是工作站上不運(yùn)行實(shí)時(shí)庫(kù),而所有的實(shí)時(shí)數(shù)據(jù)訪問(wèn),都通過(guò)通信由服務(wù)器上的實(shí)時(shí)庫(kù)提供遠(yuǎn)程實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù);另一種則是在工作站上運(yùn)行本地實(shí)時(shí)庫(kù)。由于工作站主要用于提供界面和操作員交互,因此如HMI模塊、告警界面模塊、趨勢(shì)模塊等都需要頻繁的訪問(wèn)實(shí)時(shí)庫(kù)獲得最新狀態(tài)數(shù)值并刷新界面以將運(yùn)營(yíng)現(xiàn)場(chǎng)的狀況實(shí)時(shí)展現(xiàn)給操作員,這些主要都依靠查詢?cè)L問(wèn),只有在必要情況下,操作員做出適當(dāng)?shù)目刂撇僮鲿r(shí),會(huì)涉及更新訪問(wèn),可見(jiàn),工作站的實(shí)時(shí)數(shù)據(jù)訪問(wèn)中,絕大多數(shù)為查詢?cè)L問(wèn),因而本實(shí)施例中的分布式冗余實(shí)時(shí)庫(kù)框架采用了第二種方式,即在工作站上運(yùn)行實(shí)時(shí)庫(kù),這樣可以直接對(duì)這些查詢?cè)L問(wèn)提供本地服務(wù),而不需要籍由通信提供遠(yuǎn)程服務(wù),這一方面避免了由此帶來(lái)的繁重網(wǎng)絡(luò)通信負(fù)載,更重要的是,由于完全沒(méi)有通信時(shí)延,本地提供查詢?cè)L問(wèn)服務(wù)的實(shí)時(shí)性能要明顯優(yōu)于遠(yuǎn)程服務(wù),從而可以更為及時(shí)、流暢的向操作員顯示現(xiàn)場(chǎng)的當(dāng)前狀況。當(dāng)然,為了實(shí)現(xiàn)這一點(diǎn),必須采用適合的策略使得工作站的實(shí)時(shí)庫(kù)也和服務(wù)器的實(shí)時(shí)庫(kù)保持實(shí)時(shí)同步,并使用合理的通信方式避免由于工作站實(shí)時(shí)庫(kù)的同步通信導(dǎo)致的同步通信數(shù)據(jù)量劇增的問(wèn)題。
[0022]如圖4所示,圖4為分布式多冗余實(shí)時(shí)庫(kù)模塊的示意圖。在本實(shí)施例的分布式多冗余實(shí)時(shí)庫(kù)模塊中,主服務(wù)器、所有的備服務(wù)器和工作站上均運(yùn)行實(shí)時(shí)庫(kù),并且通過(guò)適合的實(shí)時(shí)通信方式保持實(shí)時(shí)同步,為了便于描述,分別將主、備服務(wù)器和工作站上的實(shí)時(shí)庫(kù)稱為主實(shí)時(shí)庫(kù)、備實(shí)時(shí)庫(kù) 和客戶實(shí)時(shí)庫(kù),依次用Ra,Rs和R。表示;每一臺(tái)服務(wù)器上的實(shí)時(shí)庫(kù)具有自己唯一的優(yōu)先級(jí),用Pt,t=l, 2,3,…表示,t為服務(wù)器上的實(shí)時(shí)庫(kù)的編號(hào);其中,虛線表示組播通信,在所有的實(shí)時(shí)庫(kù),包括主實(shí)時(shí)庫(kù)、全部的備實(shí)時(shí)庫(kù)以及全部的客戶實(shí)時(shí)庫(kù)之間建立組播通信連接以實(shí)現(xiàn)組播通信,有所區(qū)別的是,主實(shí)時(shí)庫(kù)和各備實(shí)時(shí)庫(kù)既通過(guò)組播連接發(fā)送數(shù)據(jù),也從組播連接接收數(shù)據(jù),而所有的客戶實(shí)時(shí)庫(kù)僅從組播連接接收數(shù)據(jù),不向組播連接發(fā)送數(shù)據(jù);實(shí)線表示單播通信,所有的備實(shí)時(shí)庫(kù)以及所有的客戶實(shí)時(shí)庫(kù)均分別和主實(shí)時(shí)庫(kù)建立獨(dú)立的單播通信連接,以實(shí)現(xiàn)各自的單播通信。
[0023]3)冗余實(shí)時(shí)庫(kù)同步模塊:監(jiān)控系統(tǒng)中的實(shí)時(shí)庫(kù)在內(nèi)存中保存了所有運(yùn)營(yíng)現(xiàn)場(chǎng)的當(dāng)前狀態(tài)的實(shí)時(shí)數(shù)據(jù),這里將其稱為實(shí)時(shí)庫(kù)的當(dāng)前狀態(tài),用Si, i=l, 2,3,…表示,分布式冗余框架中的所有實(shí)時(shí)庫(kù)必須始終維持實(shí)時(shí)同步,由于查詢?cè)L問(wèn)不修改實(shí)時(shí)庫(kù)中的實(shí)時(shí)數(shù)據(jù),因此不會(huì)導(dǎo)致實(shí)時(shí)庫(kù)狀態(tài)變更,僅在本地實(shí)時(shí)庫(kù)執(zhí)行就可以完成。這里主要考慮當(dāng)更新訪問(wèn)修改了實(shí)時(shí)庫(kù)中的數(shù)據(jù)時(shí),冗余框架中原來(lái)同步的分布式實(shí)時(shí)庫(kù)如何維持同步。
[0024]主實(shí)時(shí)庫(kù)的更新訪問(wèn):如圖5所示,圖5為主實(shí)時(shí)庫(kù)的更新訪問(wèn)請(qǐng)求的同步策略示意圖。假設(shè)冗余框架中所有實(shí)時(shí)庫(kù)中實(shí)時(shí)數(shù)據(jù)均為運(yùn)營(yíng)現(xiàn)場(chǎng)的最新狀態(tài)數(shù)據(jù),實(shí)時(shí)庫(kù)已經(jīng)實(shí)現(xiàn)同步,狀態(tài)均為Si,然后主服務(wù)器上的數(shù)據(jù)采集模塊獲得了新的狀態(tài)數(shù)據(jù),并提請(qǐng)更新訪問(wèn)請(qǐng)求D,以更新實(shí)時(shí)庫(kù)中的相關(guān)數(shù)據(jù)到最新,為了維持分布式冗余框架中的所有實(shí)時(shí)庫(kù)同步,這里采用這樣一種策略,首先由主實(shí)時(shí)庫(kù)執(zhí)行更新訪問(wèn)請(qǐng)求D,將自身的相關(guān)數(shù)據(jù)更新,從而主實(shí)時(shí)庫(kù)的狀態(tài)從Si變更為Si+1 ;然后將同步信息Mi = < Ra, Pt, i+1, Di >通過(guò)通信分發(fā)給所有的備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù),其中Ra表示角色為主實(shí)時(shí)庫(kù),Pt為當(dāng)前主實(shí)時(shí)庫(kù)的優(yōu)先級(jí),i+1為主實(shí)時(shí)庫(kù)最新狀態(tài)編號(hào),Di為更新訪問(wèn)請(qǐng)求,備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)在接收到同步信息后,通過(guò)執(zhí)行更新訪問(wèn)請(qǐng)求Di也從狀態(tài)Si變更到Si+1,從而維持和主實(shí)時(shí)庫(kù)同步。所有的服務(wù)器上的實(shí)時(shí)庫(kù),即主實(shí)時(shí)庫(kù)和所有備實(shí)時(shí)庫(kù),保存最后執(zhí)行的k個(gè)更新請(qǐng)求,即Di_k至Dp
[0025]同步通信是分布式冗余框架中的實(shí)時(shí)庫(kù)之間的主要通信。由于軌道交通應(yīng)用地域分布廣泛,監(jiān)控系統(tǒng)的實(shí)時(shí)庫(kù)數(shù)據(jù)量較大,特別是綜合監(jiān)控系統(tǒng)集成和互聯(lián)了諸多專業(yè),其實(shí)時(shí)庫(kù)的數(shù)據(jù)量更是遠(yuǎn)超分立監(jiān)控系統(tǒng),相應(yīng)的,軌道交通監(jiān)控系統(tǒng)的實(shí)時(shí)庫(kù)的同步通信涉及的通信數(shù)據(jù)量較大;由于分布式多冗余實(shí)時(shí)庫(kù)框架中存在多個(gè)備實(shí)時(shí)庫(kù),并且所有的工作站上都存在客戶實(shí)時(shí)庫(kù),如果采用單播通信,那么每一個(gè)備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)都需要一份同步通信數(shù)據(jù),這會(huì)導(dǎo)致同步通信數(shù)據(jù)隨分布式冗余框架中的實(shí)時(shí)庫(kù)規(guī)模增加而迅速增長(zhǎng),從而很容易耗盡通信帶寬,嚴(yán)重延誤自身以及其它通信中重要數(shù)據(jù)的傳輸,這就使得通信帶寬成為實(shí)時(shí)庫(kù)規(guī)模擴(kuò)展的嚴(yán)重約束;由于同步通信中發(fā)送給備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)的其實(shí)是同樣的數(shù)據(jù),因此,為了避免同步通信數(shù)據(jù)的劇增問(wèn)題,這里使用組播通信替代單播通信,即主實(shí)時(shí)庫(kù)使用組播通信同時(shí)向所有的備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)發(fā)送同步信息;由于組播的通信量不會(huì)隨著數(shù)據(jù)接收方數(shù)量的增加而迅速增長(zhǎng),從而避免了通信帶寬對(duì)框架中實(shí)時(shí)庫(kù)數(shù)量的約束,實(shí)時(shí)庫(kù)數(shù)量可以依據(jù)應(yīng)用的需求自如的增加,具有了良好的可擴(kuò)展性;由于主實(shí)時(shí)庫(kù)通過(guò)組播通信同時(shí)向所有的備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)發(fā)送同步信息,因此,如果一個(gè)備實(shí)時(shí)庫(kù)或者客戶實(shí)時(shí)庫(kù)未能成功接收或者正確處理同步信息,就不可以要求主實(shí)時(shí)庫(kù)再次通過(guò)組播通信發(fā)送該同步信息,以免其它的實(shí)時(shí)庫(kù)重復(fù)接收和處理,為此該實(shí)時(shí)庫(kù)將單獨(dú)通過(guò)單播通信以信息編號(hào)為標(biāo)記從主實(shí)時(shí)庫(kù)重新獲取保存的同步通信信息并處理,從而維持和主實(shí)時(shí)庫(kù)的同步。
[0026]備實(shí)時(shí)庫(kù)的更新訪問(wèn):如圖6所示,圖6為備實(shí)時(shí)庫(kù)的更新訪問(wèn)請(qǐng)求的同步策略示意圖。在一臺(tái)備服務(wù)器上的更新訪問(wèn)請(qǐng)求是否可以采用和主服務(wù)器類似的模式,先由本地實(shí)時(shí)庫(kù),即對(duì)應(yīng)的備實(shí)時(shí)庫(kù)執(zhí)行,然后分發(fā)給主實(shí)時(shí)庫(kù),其它備實(shí)時(shí)庫(kù)以及所有的客戶實(shí)時(shí)庫(kù)執(zhí)行以維持同步呢?這在軌道交通的監(jiān)控系統(tǒng)中是不可以的。因?yàn)檫@樣做可能造成冗余框架內(nèi)各實(shí)時(shí)庫(kù)中數(shù)據(jù)的更新順序不一致,而監(jiān)控系統(tǒng)中的數(shù)據(jù)存在內(nèi)在語(yǔ)義關(guān)聯(lián),因此這是不允許的。舉一個(gè)軌道交通應(yīng)用中供電專業(yè)的示意性的例子,供電裝置的電流突變數(shù)據(jù)在主服務(wù)器產(chǎn)生一個(gè)更新訪問(wèn)請(qǐng)求,而對(duì)應(yīng)的保護(hù)裝置的跳閘信號(hào)在差不多的時(shí)刻在一臺(tái)備服務(wù)器產(chǎn)生一個(gè)更新訪問(wèn)請(qǐng)求,如果對(duì)應(yīng)的主、備實(shí)時(shí)庫(kù)都采取先本地執(zhí)行而后分發(fā)的策略,那么由于通信時(shí)延的存在,兩個(gè)更新請(qǐng)求在本地實(shí)時(shí)庫(kù)執(zhí)行完成后分發(fā)到對(duì)方執(zhí)行時(shí),對(duì)方更新請(qǐng)求的本地執(zhí)行已經(jīng)在此之前完成。因此,雖然最終這兩個(gè)實(shí)時(shí)庫(kù)中數(shù)據(jù)狀態(tài)是一致的,但是主實(shí)時(shí)庫(kù)反映的信息是電流突變導(dǎo)致之后的跳閘,而那個(gè)備實(shí)時(shí)庫(kù)反映的情況正好相反,是跳閘后出現(xiàn)電流突變。由于通信的復(fù)雜性,其它備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)中可能是兩種情況中的任意一種。這兩種情況對(duì)于監(jiān)控系統(tǒng)的操作員而言是不同類型的故障,需要采用不同的應(yīng)對(duì)措施,而責(zé)任認(rèn)定也是不一樣的。因此,這在軌道交通應(yīng)用的監(jiān)控系統(tǒng)中是不能接受的。為了避免這種問(wèn)題,這里對(duì)于備實(shí)時(shí)庫(kù)的更新訪問(wèn)請(qǐng)求采用了這樣一種同步策略。被訪問(wèn)的備實(shí)時(shí)庫(kù)將得到的更新訪問(wèn)請(qǐng)求通過(guò)單播通信轉(zhuǎn)發(fā)給主實(shí)時(shí)庫(kù)執(zhí)行,然后執(zhí)行結(jié)果也通過(guò)單播通信返回。該備實(shí)時(shí)庫(kù)其實(shí)是充當(dāng)了一個(gè)“二傳手”的角色將請(qǐng)求傳遞給了主實(shí)時(shí)庫(kù),本身并沒(méi)有本地執(zhí)行,直到主實(shí)時(shí)庫(kù)執(zhí)行后將同步信息通過(guò)組播通信分發(fā)給所有備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)時(shí),該備實(shí)時(shí)庫(kù)才執(zhí)行以維持同步。這就迫使所有的更新訪問(wèn)請(qǐng)求必須首先在主實(shí)時(shí)庫(kù)順序執(zhí)行而后依次分發(fā),從而確保冗余框架中的所有實(shí)時(shí)庫(kù)內(nèi)的數(shù)據(jù)的更新順序是完全一致的。
[0027]這樣做不會(huì)顯著增加監(jiān)控系統(tǒng)的通信壓力,這是因?yàn)橹鲗?shí)時(shí)庫(kù)向備實(shí)時(shí)庫(kù)分發(fā)同步信息的通信量主要在主實(shí)時(shí)庫(kù)到備實(shí)時(shí)庫(kù)的方向上,而備實(shí)時(shí)庫(kù)向主實(shí)時(shí)庫(kù)傳遞更新訪問(wèn)請(qǐng)求的通信量基本集中在相反方向上,由于監(jiān)控系統(tǒng)中的通信通道一般是全雙工的,因此這樣并不會(huì)造成明顯的通信壓力增加。這種同步策略的一個(gè)優(yōu)點(diǎn)是備實(shí)時(shí)庫(kù)通過(guò)通信透明傳遞了更新訪問(wèn)請(qǐng)求,從而使得備服務(wù)器上的實(shí)時(shí)數(shù)據(jù)訪問(wèn)就像在主服務(wù)器上一樣完成,因而可以將訪問(wèn)實(shí)時(shí)庫(kù)的模塊相對(duì)均勻的分布于主服務(wù)器和多個(gè)備服務(wù)器運(yùn)行。對(duì)于軌道交通監(jiān)控系統(tǒng)這種功能復(fù)雜的大規(guī)模系統(tǒng),這樣可以有效的均衡負(fù)載,例如數(shù)據(jù)采集模塊在主服務(wù)器運(yùn)行;數(shù)據(jù)維護(hù)模塊在一臺(tái)備服務(wù)器運(yùn)行以確保充足的CPU等計(jì)算資源;而告警模塊和聯(lián)動(dòng)模塊在另一臺(tái)備服務(wù)器運(yùn)行,從而在出現(xiàn)緊急狀況時(shí)不會(huì)因?yàn)橘Y源受限而影響及時(shí)應(yīng)對(duì)。
[0028]客戶實(shí)時(shí)庫(kù)的更新訪問(wèn)請(qǐng)求的處理策略和備實(shí)時(shí)庫(kù)一致。。
[0029]冗余實(shí)時(shí)庫(kù)的工作流程:如圖7所示,圖7為備實(shí)時(shí)庫(kù)運(yùn)行流程示意圖。實(shí)時(shí)庫(kù)持續(xù)提供實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù)是軌道交通應(yīng)用的監(jiān)控系統(tǒng)穩(wěn)定可靠運(yùn)行的基礎(chǔ),為了實(shí)現(xiàn)多臺(tái)服務(wù)器上實(shí)時(shí)庫(kù)的冗余,每一臺(tái)服務(wù)器上的實(shí)時(shí)庫(kù)開始運(yùn)行時(shí)首先建立組播連接,通過(guò)監(jiān)聽組播通信檢測(cè)是否已經(jīng)有主實(shí)時(shí)庫(kù)在運(yùn)行,如果沒(méi)有則自身作為主實(shí)時(shí)庫(kù)運(yùn)行,如果已經(jīng)存在,無(wú)論其優(yōu)先級(jí)是否高于自身,自己都作為備實(shí)時(shí)庫(kù)運(yùn)行,這是為了維持分布式冗余框架中實(shí)時(shí)庫(kù)間已建立的同步通信的穩(wěn)定。服務(wù)器上的實(shí)時(shí)庫(kù)作為備實(shí)時(shí)庫(kù)運(yùn)行時(shí),首先建立和主實(shí)時(shí)庫(kù)的單播連接,并通過(guò)單播通信獲取主實(shí)時(shí)庫(kù)的所有狀態(tài)數(shù)據(jù)從而實(shí)現(xiàn)和主實(shí)時(shí)庫(kù)的同步,然后在持續(xù)執(zhí)行主實(shí)時(shí)庫(kù)分發(fā)的同步信息以維持同步的同時(shí),為本地的各種實(shí)時(shí)數(shù)據(jù)訪問(wèn)提供服務(wù)。如前所述,查詢?cè)L問(wèn)在本地執(zhí)行,而更新訪問(wèn)透明傳遞給主實(shí)時(shí)庫(kù)。
[0030]需要注意的是,備實(shí)時(shí)庫(kù)雖然也和主實(shí)時(shí)庫(kù)一樣保存最后的k個(gè)更新訪問(wèn)請(qǐng)求,但是在執(zhí)行完每一個(gè)更新訪問(wèn)請(qǐng)求后并不會(huì)通過(guò)組播通信分發(fā),以免其它實(shí)時(shí)庫(kù)重復(fù)接收和執(zhí)行。正常運(yùn)行時(shí),主實(shí)時(shí)庫(kù)和所有的備實(shí)時(shí)庫(kù)都會(huì)周期性通過(guò)組播通信分發(fā)狀態(tài)信息M' =R,Pt,i+l,D',給其它實(shí)時(shí)庫(kù),其中R表示角色,主實(shí)時(shí)庫(kù)的狀態(tài)信息中為Ra,表示角色為主實(shí)時(shí)庫(kù),備實(shí)時(shí)庫(kù)的狀態(tài)信息中為Rs,表示角色為備實(shí)時(shí)庫(kù),t為該實(shí)時(shí)庫(kù)編號(hào),Pt為該實(shí)時(shí)庫(kù)的優(yōu)先級(jí),i+1為該實(shí)時(shí)庫(kù)最新狀態(tài)編號(hào),D’為狀態(tài)信息,從而通知分布式冗余框架中的其它實(shí)時(shí)庫(kù),該實(shí)時(shí)庫(kù)依然正常運(yùn)行。客戶實(shí)時(shí)庫(kù)的流程與備實(shí)時(shí)庫(kù)類似,但需要注意的是,客戶實(shí)時(shí)庫(kù)僅從組播連接接收數(shù)據(jù),而不通過(guò)組播連接發(fā)送任何數(shù)據(jù),既不分發(fā)同步信息,也不分發(fā)狀態(tài)信息,而且客戶實(shí)時(shí)庫(kù)也不保存任何更新請(qǐng)求。
[0031]4)分布式多冗余實(shí)時(shí)庫(kù)的故障容錯(cuò)模塊:分布式冗余實(shí)時(shí)庫(kù)的故障容錯(cuò)模塊是軌道交通監(jiān)控系統(tǒng)冗余體系的關(guān)鍵之一,作為監(jiān)控系統(tǒng)的實(shí)時(shí)數(shù)據(jù)中樞的實(shí)時(shí)庫(kù)一旦不能提供實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù),整個(gè)系統(tǒng)將陷入癱瘓。而采用多冗余的方式將比雙冗余能夠更有力的保障實(shí)時(shí)庫(kù)的可靠性,在分布式多冗余實(shí)時(shí)庫(kù)框架中,主服務(wù)器和所有備服務(wù)器上同時(shí)運(yùn)行各自的主、備實(shí)時(shí)庫(kù)并保持實(shí)時(shí)同步,當(dāng)主實(shí)時(shí)庫(kù)失效后,多個(gè)備實(shí)時(shí)庫(kù)中的一個(gè)轉(zhuǎn)換作為主實(shí)時(shí)庫(kù)替代原先的主實(shí)時(shí)庫(kù)運(yùn)行,其余備實(shí)時(shí)庫(kù)保持和新的主實(shí)時(shí)庫(kù)同步;如果一段時(shí)間后,新的主實(shí)時(shí)庫(kù)又因?yàn)楣收系仍蚴?,則再由其它正常運(yùn)行的備實(shí)時(shí)庫(kù)中的一臺(tái)替代作為主實(shí)時(shí)庫(kù)運(yùn)行,備實(shí)時(shí)庫(kù)和最新的主實(shí)時(shí)庫(kù)同步。這樣就保證了即使框架中超過(guò)一臺(tái)服務(wù)器的實(shí)時(shí)庫(kù)失效,只要還有不少于一臺(tái)的服務(wù)器上的實(shí)時(shí)庫(kù)正常運(yùn)行,就仍然能夠?yàn)橄到y(tǒng)提供實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù),從而比雙冗余實(shí)時(shí)庫(kù)框架更有效地實(shí)現(xiàn)實(shí)時(shí)庫(kù)的故障容錯(cuò),具備更高的可靠性。由于在冗余框架中,客戶實(shí)時(shí)庫(kù)保持與主實(shí)時(shí)庫(kù)同步,備實(shí)時(shí)庫(kù)失效對(duì)冗余框架的影響不大,這里主要討論主實(shí)時(shí)庫(kù)的故障容錯(cuò)。
[0032]當(dāng)分布式冗余框架中的主實(shí)時(shí)庫(kù)失效后,多個(gè)備實(shí)時(shí)庫(kù)中的一個(gè)將迅速接管,作為主實(shí)時(shí)庫(kù)繼續(xù)提供實(shí)時(shí)數(shù)據(jù)服務(wù),而其余的備實(shí)時(shí)庫(kù)和所有的客戶實(shí)時(shí)庫(kù)要實(shí)現(xiàn)并維持和新主實(shí)時(shí)庫(kù)的同步。由于軌道交通監(jiān)控系統(tǒng)中通信體系的結(jié)構(gòu)復(fù)雜,故障多樣,因此,當(dāng)原主實(shí)時(shí)庫(kù)失效時(shí),其最后的同步信息,可能已經(jīng)分發(fā)給了所有的備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù),也可能只分發(fā)給了其中的一部分,或者根本沒(méi)來(lái)及分發(fā),所以當(dāng)一臺(tái)備實(shí)時(shí)庫(kù)作為新主實(shí)時(shí)庫(kù)運(yùn)行后,其余的備實(shí)時(shí)庫(kù)以及客戶實(shí)時(shí)庫(kù)與新主實(shí)時(shí)庫(kù)可能是同步的,也可能是失步的,為了保證同步,其余的備實(shí)時(shí)庫(kù)和所有的客戶實(shí)時(shí)庫(kù)必須通過(guò)單播通信獲取新主實(shí)時(shí)庫(kù)的所有狀態(tài)數(shù)據(jù)重新實(shí)現(xiàn)同步,然而,這樣做的一個(gè)問(wèn)題是,由于軌道交通監(jiān)控系統(tǒng)的實(shí)時(shí)庫(kù)的數(shù)據(jù)量很大,獲取實(shí)時(shí)庫(kù)中全部狀態(tài)數(shù)據(jù)會(huì)導(dǎo)致很大的通信負(fù)載,而故障容錯(cuò)過(guò)程中的同一時(shí)間段內(nèi)所有備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)同時(shí)通過(guò)單播通信獲取全部狀態(tài)數(shù)據(jù)將對(duì)監(jiān)控系統(tǒng)的通信網(wǎng)絡(luò)帶來(lái)極為繁重的網(wǎng)絡(luò)負(fù)載沖擊,從而嚴(yán)重延誤自身及其它通信中重要數(shù)據(jù)的傳輸,甚至造成通信阻塞。 [0033]為了避免這一狀況,這里采用了這樣一種策略,正常運(yùn)行時(shí),分布式冗余實(shí)時(shí)庫(kù)框架中的主、備實(shí)時(shí)庫(kù)會(huì)通過(guò)組播通信分發(fā)狀態(tài)信息,從而可以確定框架中當(dāng)前正常運(yùn)行的主、備實(shí)時(shí)庫(kù)及其對(duì)應(yīng)的角色和優(yōu)先級(jí)。如果主實(shí)時(shí)庫(kù)由于主服務(wù)器宕機(jī)等原因失效,那么分布式冗余框架中優(yōu)先級(jí)最高的備實(shí)時(shí)庫(kù)將升格為主實(shí)時(shí)庫(kù),但在角色變更前,該實(shí)時(shí)庫(kù)通過(guò)組播通信向框架中的其它所有實(shí)時(shí)庫(kù)分發(fā)保存的最后k個(gè)更新請(qǐng)求,即將同步信息Mj=< Rs, Pt, j+1, Dj >,其中j = i' -k-1, -k,..., _1通過(guò)組播通信分發(fā)給其它備實(shí)時(shí)庫(kù)和所有客戶實(shí)時(shí)庫(kù),其中i’為該備實(shí)時(shí)庫(kù)轉(zhuǎn)換為主實(shí)時(shí)庫(kù)之前的最終狀態(tài)編號(hào),即作為主實(shí)時(shí)庫(kù)運(yùn)行的初始狀態(tài)編號(hào);RS表示角色即將由備實(shí)時(shí)庫(kù)轉(zhuǎn)為主實(shí)時(shí)庫(kù);Pt為該備實(shí)時(shí)庫(kù)的優(yōu)先級(jí)%為同步信息中的更新訪問(wèn)請(qǐng)求;j+l為執(zhí)行這一訪問(wèn)請(qǐng)求后該備實(shí)時(shí)庫(kù)的狀態(tài)編號(hào);在發(fā)送完保存的更新請(qǐng)求后,該備實(shí)時(shí)庫(kù)將轉(zhuǎn)換為主實(shí)時(shí)庫(kù)從編號(hào)為i’的狀態(tài)開始運(yùn)行,其它備實(shí)時(shí)庫(kù)和所有的客戶實(shí)時(shí)庫(kù)從組播通信接收到這些同步信息后,將原主實(shí)時(shí)庫(kù)失效后的自身狀態(tài)編號(hào)與之進(jìn)行比較,以其它備實(shí)時(shí)庫(kù)和所有客戶實(shí)時(shí)庫(kù)的其中之一為例,例如該實(shí)時(shí)庫(kù)最終狀態(tài)的編號(hào)為i”,通常有P _k≤i' ' Si'。此時(shí),通過(guò)組播接收到編號(hào)為i’ -k-ι到i”-l的同步通信報(bào)文中包含的是該實(shí)時(shí)庫(kù)已從原主實(shí)時(shí)庫(kù)獲得并執(zhí)行過(guò)的更新請(qǐng)求,直接丟棄。編號(hào)為i”到i’ -1的同步通信報(bào)文中包含的是該實(shí)時(shí)庫(kù)在原主實(shí)時(shí)庫(kù)失效時(shí)丟失的更新請(qǐng)求,通過(guò)依次執(zhí)行這些更新訪問(wèn)請(qǐng)求使得該實(shí)時(shí)庫(kù)的狀態(tài)逐漸更新至編號(hào)i’,從而使得該實(shí)時(shí)庫(kù)和新主實(shí)時(shí)庫(kù)最初的運(yùn)行狀態(tài)同步,然后該實(shí)時(shí)庫(kù)和新主實(shí)時(shí)庫(kù)建立單播通信連接,基于混合通信維持和新主實(shí)時(shí)庫(kù)的同步。
[0034]如果不滿足i' _k≤i',Si',說(shuō)明該實(shí)時(shí)庫(kù)由于恰好在故障前的較長(zhǎng)時(shí)間段內(nèi)通信失效等特殊原因而無(wú)法通過(guò)這種方式和新主實(shí)時(shí)庫(kù)實(shí)現(xiàn)同步,此時(shí)只能在和新主實(shí)時(shí)庫(kù)建立單播連接之后,通過(guò)單播通信從新主實(shí)時(shí)庫(kù)獲取全部狀態(tài)數(shù)據(jù),重新實(shí)現(xiàn)同步,然后基于混合通信維持同步,不過(guò)這種情況很少發(fā)生。這樣,最終原優(yōu)先級(jí)最高的備實(shí)時(shí)庫(kù)作為新主實(shí)時(shí)庫(kù)運(yùn)行,而其余的備實(shí)時(shí)庫(kù)和所有的客戶實(shí)時(shí)庫(kù)和新主實(shí)時(shí)庫(kù)新建獨(dú)立的單播連接,依據(jù)上述的過(guò)程實(shí)現(xiàn)并維持和新主實(shí)時(shí)庫(kù)同步,實(shí)現(xiàn)故障容錯(cuò)。采用這一策略,盡可能避免了其它備實(shí)時(shí)庫(kù)和所有客戶實(shí)時(shí)庫(kù)在沒(méi)有必要的情況下也通過(guò)獲取全部狀態(tài)數(shù)據(jù)來(lái)重新實(shí)現(xiàn)和新主實(shí)時(shí)庫(kù)同步而產(chǎn)生的繁重通信負(fù)載和巨大時(shí)間開銷,從而盡可能降低該過(guò)程中,大量實(shí)時(shí)庫(kù)同時(shí)獲取全部狀態(tài)數(shù)據(jù)對(duì)監(jiān)控系統(tǒng)的通信網(wǎng)絡(luò)帶來(lái)的短時(shí)繁重網(wǎng)絡(luò)負(fù)載沖擊,有效的實(shí)現(xiàn)了多冗余實(shí)時(shí)庫(kù)的故障容錯(cuò),充分的保障了分布式冗余框架中實(shí)時(shí)庫(kù)的可靠性和可用性。
[0035]以上實(shí)施例只是對(duì)于本發(fā)明的部分功能進(jìn)行描述,但實(shí)施例和附圖并不是用來(lái)限定本發(fā)明的。在不脫離本發(fā)明之精神和范圍內(nèi),所做的任何等效變化或潤(rùn)飾,同樣屬于本發(fā)明之保護(hù)范圍,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以本申請(qǐng)的權(quán)利要求所界定的內(nèi)容為標(biāo)準(zhǔn)。
【權(quán)利要求】
1.一種基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,其特征在于,包括:實(shí)時(shí)數(shù)據(jù)訪問(wèn)模塊;分布式多冗余實(shí)時(shí)庫(kù)模塊;冗余實(shí)時(shí)庫(kù)同步模塊;分布式多冗余實(shí)時(shí)庫(kù)的故障容錯(cuò)模塊。
2.根據(jù)權(quán)利要求1所述的基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,其特征在于:所述實(shí)時(shí)數(shù)據(jù)訪問(wèn)模塊分為查詢?cè)L問(wèn)單元和更新訪問(wèn)單元;所述查詢?cè)L問(wèn)單元是指從實(shí)時(shí)庫(kù)中獲取實(shí)時(shí)數(shù)據(jù)的最新數(shù)值,以滿足應(yīng)用需求,查詢?cè)L問(wèn)不會(huì)改變實(shí)時(shí)庫(kù)中實(shí)時(shí)數(shù)據(jù)的數(shù)值;所述更新訪問(wèn)單元是指依據(jù)應(yīng)用需求,更新實(shí)時(shí)庫(kù)中實(shí)時(shí)數(shù)據(jù)的數(shù)值,更新訪問(wèn)會(huì)改變實(shí)時(shí)庫(kù)中的實(shí)時(shí)數(shù)據(jù)的數(shù)值。
3.根據(jù)權(quán)利要求1所述的基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,其特征在于:所述分布式多冗余實(shí)時(shí)庫(kù)模塊是指為了保障監(jiān)控系統(tǒng)中實(shí)時(shí)庫(kù)的可靠性,在所有冗余的服務(wù)器上同時(shí)運(yùn)行相同的實(shí)時(shí)庫(kù),以實(shí)現(xiàn)實(shí)時(shí)庫(kù)的冗余。
4.根據(jù)權(quán)利要求3所述的基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,其特征在于:所述分布式多冗余實(shí)時(shí)庫(kù)模塊中,主服務(wù)器、所有的備服務(wù)器和工作站上均運(yùn)行實(shí)時(shí)庫(kù),在所有的實(shí)時(shí)庫(kù),包括主實(shí)時(shí)庫(kù)、全部的備實(shí)時(shí)庫(kù)以及全部的客戶實(shí)時(shí)庫(kù)之間建立組播通信連接以實(shí)現(xiàn)組播通信,所有的備實(shí)時(shí)庫(kù)以及所有的客戶實(shí)時(shí)庫(kù)均分別和主實(shí)時(shí)庫(kù)建立獨(dú)立的單播通信連接,以實(shí)現(xiàn)各自的單播通信。
5.根據(jù)權(quán)利要求1所述的基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,其特征在于:所述冗余實(shí)時(shí)庫(kù)同步模塊是指分布式冗余框架中的所有實(shí)時(shí)庫(kù)必須始終維持實(shí)時(shí)同步。
6.根據(jù)權(quán)利要求5所述的基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,其特征在于:所述冗余實(shí)時(shí)庫(kù)同步模塊中,主實(shí)時(shí)庫(kù)使用組播通信同時(shí)向所有的備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)發(fā)送同步信息。
7.根據(jù)權(quán)利要求6所述的基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,其特征在于:所述冗余實(shí)時(shí)庫(kù)同步模塊中,被訪問(wèn)的備實(shí)時(shí)庫(kù)和客戶實(shí)時(shí)庫(kù)將得到的更新訪問(wèn)請(qǐng)求通過(guò)單播通信轉(zhuǎn)發(fā)給主實(shí)時(shí)庫(kù)執(zhí)行,然后執(zhí)行結(jié)果也通過(guò)單播通信返回。
8.根據(jù)權(quán)利要求1所述的基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,其特征在于:所述分布式多冗余實(shí)時(shí)庫(kù)的故障容錯(cuò)模塊是指即使框架中超過(guò)一臺(tái)服務(wù)器的實(shí)時(shí)庫(kù)失效,只要還有不少于一臺(tái)的服務(wù)器上的實(shí)時(shí)庫(kù)正常運(yùn)行,就仍然能夠?yàn)橄到y(tǒng)提供實(shí)時(shí)數(shù)據(jù)訪問(wèn)服務(wù),從而比雙冗余實(shí)時(shí)庫(kù)框架更有效地實(shí)現(xiàn)實(shí)時(shí)庫(kù)的故障容錯(cuò),具備更高的可靠性。
9.根據(jù)權(quán)利要求8所述的基于混合通信的分布式冗余實(shí)時(shí)數(shù)據(jù)庫(kù)框架,其特征在于:所述分布式多冗余實(shí)時(shí)庫(kù)的故障容錯(cuò)模塊中,正常運(yùn)行時(shí),主實(shí)時(shí)庫(kù)、備實(shí)時(shí)庫(kù)會(huì)通過(guò)組播通信分發(fā)狀態(tài)信息,從而確定框架中當(dāng)前正常運(yùn)行的主實(shí)時(shí)庫(kù)、備實(shí)時(shí)庫(kù)及其對(duì)應(yīng)的角色和優(yōu)先級(jí);如果主實(shí)時(shí)庫(kù)由于主服務(wù)器宕機(jī)原因失效,角色變更前,該主實(shí)時(shí)庫(kù)將同步信息通過(guò)組播通信向框架中的其它所有實(shí)時(shí)庫(kù)和所有客戶實(shí)時(shí)庫(kù)分發(fā)保存的更新請(qǐng)求,優(yōu)先級(jí)最聞的備實(shí)時(shí)庫(kù)將升格為主實(shí)時(shí)庫(kù),從而使得該主實(shí)時(shí)庫(kù)和新主實(shí)時(shí)庫(kù)最初的運(yùn)行狀態(tài)同步,然后該主實(shí)時(shí)庫(kù)和新主實(shí)時(shí)庫(kù)建立單播通信連接,基于混合通信維持和新主實(shí)時(shí)庫(kù)的同步,其余的備實(shí)時(shí)庫(kù)和所有的客戶實(shí)時(shí)庫(kù)和新主實(shí)時(shí)庫(kù)新建獨(dú)立的單播連接,實(shí)現(xiàn)并維持和新主實(shí)時(shí)庫(kù)同步,實(shí)現(xiàn)故障容錯(cuò)。
【文檔編號(hào)】G06F17/30GK103559104SQ201310549119
【公開日】2014年2月5日 申請(qǐng)日期:2013年11月7日 優(yōu)先權(quán)日:2013年11月7日
【發(fā)明者】戴宏斌, 經(jīng)玉健, 吳小俊 申請(qǐng)人:南京國(guó)電南自軌道交通工程有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1