一種應(yīng)用級分布系統(tǒng)綜合集成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息系統(tǒng)技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用級分布系統(tǒng)綜合集成系統(tǒng)與方法。
【背景技術(shù)】
[0002]隨著人類需求的不斷發(fā)展,系統(tǒng)提供的功能將會越來越多。為解決這種日益增長的功能需求,一種分布式系統(tǒng)集成方案應(yīng)運而生?,F(xiàn)如今的分布式系統(tǒng)集成方案是基于物理設(shè)備實現(xiàn)的。一個大型系統(tǒng)分為許多子系統(tǒng),每個子系統(tǒng)完成特定的功能。每個子系統(tǒng)由兩臺完成同樣功能的主機通過心跳線連接實現(xiàn)熱備。在兩臺主機不都出現(xiàn)故障的前提下,子系統(tǒng)能提供特定的功能。這種系統(tǒng)集成方案在一定程度上能夠有效實現(xiàn)業(yè)務(wù)功能,但同時存在著以下缺陷:
(1)系統(tǒng)緊耦合。由于現(xiàn)有的系統(tǒng)是建立在各自獨立的設(shè)備上的,即每臺主機的軟硬件一體化。因此,當(dāng)子系統(tǒng)中的某一臺主機的軟件或者硬件出現(xiàn)故障時,該主機就無法正常工作。這樣,系統(tǒng)的安全性和可靠性就大打折扣。同時,造成了巨大的資源浪費。
[0003](2)資源共享能力差。每個功能系統(tǒng)與其它功能系統(tǒng)之間相互隔離,無法實現(xiàn)資源共享。當(dāng)一個功能系統(tǒng)的兩臺主機都出現(xiàn)故障,該功能系統(tǒng)無法實現(xiàn)其功能時,無法利用其余功能系統(tǒng)的備份主機完成該系統(tǒng)的功能,這將導(dǎo)致整個系統(tǒng)的功能不完備。
[0004](3)系統(tǒng)靈活性低,功能拓展性差。當(dāng)系統(tǒng)需要新增一些功能時,就必須另外新增幾組主機對,每組主機對完成一項新增的功能。同時還需要定義新增主機對的接口。這樣一來,新增一項功能將耗費大量的人力、物力和財力。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問題在于針對現(xiàn)有技術(shù)中的缺陷,提供一種應(yīng)用級分布系統(tǒng)綜合集成系統(tǒng)與方法。
[0006]一種應(yīng)用級分布系統(tǒng)綜合集成系統(tǒng),包括:服務(wù)器,客戶機和DDS總線;
所述服務(wù)器用于監(jiān)聽客戶機,并向客戶機推送動態(tài)鏈接庫。
[0007]所述客戶機用于接收服務(wù)器推送的動態(tài)鏈接庫,并實現(xiàn)動態(tài)鏈接庫的功能;
所述客戶機采用雙機備份機制,即每個客戶機組包括兩臺客戶機:備份客戶機與主客戶機;所述備份客戶機對主客戶機進行心跳檢測。
[0008]所述DDS總線是作為服務(wù)器與客戶機、主客戶機與備份客戶機之間的通信媒介,實現(xiàn)服務(wù)器向客戶機推送動態(tài)鏈接庫,備份客戶機對主客戶機的心跳檢測的功能。
[0009]根據(jù)上述系統(tǒng),本發(fā)明還提供一種應(yīng)用級分布系統(tǒng)綜合集成方法,
包括以下步驟:
1)服務(wù)器加載動態(tài)鏈接庫,使服務(wù)器擁有完成系統(tǒng)所用功能的所有動態(tài)鏈接庫;
2)初始化客戶機的動態(tài)鏈接庫;
利用服務(wù)器卸載客戶機中現(xiàn)有的動態(tài)鏈接庫; 按照雙機備份機制,每個客戶機組包含兩臺客戶機,而且這兩臺加載相同的動態(tài)鏈接庫;
每個客戶機組的兩臺客戶機之間進行心跳檢測;由于客戶機之間的通信是通過DDS總線實現(xiàn)的,借助DDS的線條檢測機制,就能實現(xiàn)客戶機之間的心跳檢測;
3 )服務(wù)器向客戶機推送動態(tài)鏈接庫,每個客戶機組都加載不同的動態(tài)鏈接庫,直至將所有的鏈接庫都加載到不同的客戶機組中,完成動態(tài)鏈接庫從服務(wù)器到客戶機的動態(tài)迀移。
[0010]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
本發(fā)明產(chǎn)生的有益效果是:1、本發(fā)明利用動態(tài)庫開發(fā)機制實現(xiàn)應(yīng)用系統(tǒng)集成,整個系統(tǒng)由一臺服務(wù)器和多臺客戶機組成,通過DDS總線實現(xiàn)服務(wù)器與客戶機的通信。以服務(wù)器作為發(fā)布端,客戶機作為訂閱端,來實現(xiàn)服務(wù)器對客戶機的動態(tài)鏈接庫的動態(tài)迀移。以此來實現(xiàn)應(yīng)用軟件與計算機底層的松耦合,使得應(yīng)用軟件在系統(tǒng)內(nèi)的各個客戶機上能夠“即插即用”。
[0011]2、本發(fā)明利用“訂閱-發(fā)布”實時通信機制實現(xiàn)數(shù)據(jù)傳輸,同時,各客戶機間通過DDS總線能夠?qū)崿F(xiàn)信息互通,提升了各子系統(tǒng)間的信息共享能力。再者,通過在服務(wù)器上加載新增功能的動態(tài)鏈接庫,然后將動態(tài)鏈接庫推送至指定的客戶機上,完成新增功能,這樣就能很容易的實現(xiàn)系統(tǒng)的功能拓展。
[0012]
【附圖說明】
[0013]下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
圖1為基于設(shè)備的分布系統(tǒng)集成框架示意圖;
圖2為本發(fā)明的應(yīng)用級分布系統(tǒng)綜合集成框架示意圖;
圖3為本發(fā)明的應(yīng)用級分布系統(tǒng)運行工作流程圖;
圖4為本發(fā)明實現(xiàn)系統(tǒng)的功能拓展流程圖;
圖5為本發(fā)明實現(xiàn)基于動態(tài)庫的功能迀移過程示意圖。
【具體實施方式】
[0014]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0015]圖1為基于設(shè)備的分布系統(tǒng)集成框架圖,圖1中的系統(tǒng)由多個客戶機組組成,按照雙機備份機制,每個客戶機組由兩臺客戶機(主/備)組成。每臺客戶機由硬件、操作系統(tǒng)以及驅(qū)動等底層設(shè)施以及靜態(tài)連接庫構(gòu)成。圖2為本發(fā)明的應(yīng)用級分布系統(tǒng)綜合集成框架示意圖,圖2在圖1的基礎(chǔ)上作了改進。圖2增加了服務(wù)器,而且將圖1中的靜態(tài)鏈接庫更改為動態(tài)鏈接庫。同時,利用DDS實現(xiàn)服務(wù)器與客戶機以及各客戶機之間的通信。這樣一來,就實現(xiàn)了系統(tǒng)松耦合、各子系統(tǒng)信息互通以及功能拓展等功能。
[0016]如圖2所示,一種應(yīng)用級分布系統(tǒng)綜合集成系統(tǒng),包括:服務(wù)器,客戶機和DDS總線; 服務(wù)器用于監(jiān)聽客戶機,并向客戶機推送動態(tài)鏈接庫。所述服務(wù)器由硬件設(shè)備、操作系統(tǒng)、驅(qū)動等底層設(shè)施以及一系列的動態(tài)鏈接庫組成。
[0017]客戶機用于接收服務(wù)器推送的動態(tài)鏈接庫,并實現(xiàn)動態(tài)鏈接庫的功能;所述客戶機由硬件設(shè)備、操作系統(tǒng)、驅(qū)動等底層設(shè)施以及應(yīng)用軟件驅(qū)動組成。
[0018]客戶機采用雙機備份機制,即每個客戶機組包括兩臺客戶機:備份客戶機與主客戶機;所述備份客戶機對主客戶機進行心跳檢測。
[0019]DDS總線是服務(wù)器與客戶機、主客戶機與備份客戶機之間的通信媒介,實現(xiàn)服務(wù)器向客戶機推送動態(tài)鏈接庫,備份客戶機對主客戶機的心跳檢測的功能。
[0020]本發(fā)明實現(xiàn)以上功能的過程如圖3所示:
1)初始化服務(wù)器和客戶機的動態(tài)鏈接庫。服務(wù)器加載系統(tǒng)所要完成功能的所有的動態(tài)鏈接庫,同時,利用服務(wù)器卸載客戶機中現(xiàn)有的動態(tài)鏈接庫。
[0021]2)客戶機加載動態(tài)鏈接庫。服務(wù)器通過DDS向每個客戶機組的兩臺客戶機推送動態(tài)鏈接庫。每個客戶機組都加載不同的動態(tài)鏈接庫,而且所涉及所有的鏈接庫都要加載到不同的客戶機組中。
[0022]3)當(dāng)動態(tài)鏈接庫加載到指定客戶機以后,該客戶機就運行動態(tài)鏈接庫。將每個客戶機組的兩臺客戶機分為主客戶機和備份客戶機,可利用IP的尾號大小來決定。
[0023]4)備份客戶機心跳檢測主客戶機。利用DDS的心跳檢測機制,備份客戶機可周期性的向主客戶機發(fā)送心跳包,若主客戶機有響應(yīng),則正常。反之,則主客戶機出現(xiàn)故障。
[0024]5)通過檢測,判斷主客戶機底層設(shè)施是否故障。若主客戶機底層設(shè)施完好,則繼續(xù)判斷其動態(tài)鏈接庫是否故障。
[0025]情況a:主客戶機的動態(tài)鏈接庫正常,則調(diào)用其運行結(jié)果。
[0026]情況b:主客戶機的動態(tài)鏈接庫故障,則調(diào)換兩個客戶機的級別,即原備份客戶機此刻變成主客戶機,原主客戶機則作為備份機使用。接下來,就利用服務(wù)器