基于不同操作系統(tǒng)的網(wǎng)絡(luò)處理結(jié)構(gòu)設(shè)計
隨著科學(xué)技術(shù)的快速發(fā)展,大量數(shù)據(jù)的處理對于計算機(jī)的性能要求越來越高,一般的計算機(jī)很難滿足快速處理數(shù)據(jù)的要求,同時,計算機(jī)病毒的肆虐對數(shù)據(jù)安全構(gòu)成嚴(yán)重的威脅。本文設(shè)計一種基于不同操作系統(tǒng)的網(wǎng)絡(luò)化的處理系統(tǒng)用于解決這些問題。
1 系統(tǒng)概述
該系統(tǒng)是一個包含不同體系結(jié)構(gòu)的計算機(jī)和操作系統(tǒng)的異構(gòu)系統(tǒng)。在系統(tǒng)中數(shù)據(jù)庫服務(wù)器、存儲服務(wù)器和數(shù)據(jù)處理服務(wù)器為運行Linux操作系統(tǒng)的服務(wù)器,控制服務(wù)器為運行Windows Server 2003的服務(wù)器,終端計算機(jī)為運行Windows XP操作系統(tǒng)的工作站。從系統(tǒng)工作流程的角度來看,一個工作流程的實現(xiàn)往往需要多個服務(wù)器的參與,由此可見,系統(tǒng)本身是一個分布式的系統(tǒng)。系統(tǒng)中的軟件和軟件之間常常存在相互調(diào)用的關(guān)系,一部分調(diào)用關(guān)系通過分系統(tǒng)的任務(wù)調(diào)度完成,另一部分則通過軟件模塊與軟件模塊之間的直接調(diào)用完成。服務(wù)器端軟件和客戶端軟件通過千兆以太網(wǎng)通信,采用TCP/IP協(xié)議,相互之間傳遞的消息采用XML(擴(kuò)展標(biāo)記語言)格式描述。
2 系統(tǒng)設(shè)計與工作原理
在系統(tǒng)的設(shè)計中,采用運行控制、數(shù)據(jù)處理和系統(tǒng)監(jiān)控彼此相對獨立的機(jī)制。系統(tǒng)的人機(jī)交互采用“分布式部署,集中式操作”的原則進(jìn)行設(shè)計。在處理系統(tǒng)的實際運行中,大部分產(chǎn)品生產(chǎn)流程由在后臺運行的服務(wù)程序完成。用戶通過終端計算機(jī)對運行在其他服務(wù)器上的服務(wù)程序進(jìn)行監(jiān)控,在必要的情況下進(jìn)行人工干預(yù),這一過程通過遠(yuǎn)程調(diào)用實現(xiàn)。一般情況下,用戶不需要登錄各服務(wù)器分別執(zhí)行監(jiān)控和管理操作,只通過終端工作站即可完成整個處理系統(tǒng)的監(jiān)控和管理。系統(tǒng)總體結(jié)構(gòu)設(shè)計如圖1所示。其設(shè)計功能的主要說明見表1。
PNode(數(shù)據(jù)處理服務(wù)器)通過千兆以太網(wǎng)絡(luò)與CNode(控制服務(wù)器)、DNode(數(shù)據(jù)庫服務(wù)器)相連接,并通過光纖網(wǎng)絡(luò)和SNode(存儲服務(wù)器)相連接。各種數(shù)據(jù)處理軟件以服務(wù)的形式運行在各個處理服務(wù)器上,對應(yīng)于每一種類型的數(shù)據(jù)處理任務(wù),控制服務(wù)器上會有對應(yīng)的消息隊列,而各種數(shù)據(jù)處理軟件時刻監(jiān)視著對應(yīng)的消息隊列,當(dāng)有任務(wù)來到時,對應(yīng)的處理軟件會將此任務(wù)取到本地計算機(jī)上進(jìn)行處理。在處理此任務(wù)的過程中,處理軟件通過千兆以太網(wǎng)訪問DNode來獲得元數(shù)據(jù)信息(如存儲地址、處理狀態(tài)等),通過光纖網(wǎng)絡(luò)從SNode上來獲取原始數(shù)據(jù)并進(jìn)行處理。在處理完成后,處理軟件將新產(chǎn)生的元數(shù)據(jù)信息通過千兆以太網(wǎng)存儲到DNode上的數(shù)據(jù)庫中,而將產(chǎn)品數(shù)據(jù)通過光纖網(wǎng)絡(luò)存儲到SNode上的存儲系統(tǒng)中。
3系統(tǒng)之間通信的實現(xiàn)
在不同的操作系統(tǒng)之間的通信是本系統(tǒng)的關(guān)鍵環(huán)節(jié),這里采用消息隊列的形式通過消息傳輸中間件來實現(xiàn)。消息隊列為構(gòu)造以同步或異步方式實現(xiàn)的分布式應(yīng)用提供了松耦合方法。消息隊列的API調(diào)用被嵌入到新的或現(xiàn)存的應(yīng)用中,通過消息發(fā)送到內(nèi)存或基于磁盤的隊列或從它讀出而提供信息交換。消息隊列可用在應(yīng)用中以執(zhí)行多種功能,比如要求服務(wù)、交換信息或異步處理等。
消息傳輸中間件消息中間件(MOM)是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用系統(tǒng)借助這種軟件在不同的技術(shù)之間共享資源,管理計算資源和網(wǎng)絡(luò)通訊。它在計算機(jī)系統(tǒng)中是一個關(guān)鍵軟件,能實現(xiàn)應(yīng)用的互連和互操作性,且保證系統(tǒng)安全、可靠、高效地運行。MOM位于用戶應(yīng)用和操作系統(tǒng)及網(wǎng)絡(luò)軟件之間,它為應(yīng)用提供了公用的通信手段,并且獨立于網(wǎng)絡(luò)和操作系統(tǒng)。中間件簡化了應(yīng)用之間數(shù)據(jù)的傳輸,屏蔽底層異構(gòu)操作系統(tǒng)和網(wǎng)絡(luò)平臺,為開發(fā)者提供一致的通訊標(biāo)準(zhǔn)和應(yīng)用程序接口,當(dāng)應(yīng)用程序中嵌入其函數(shù)調(diào)用,它便可利用其運行的特定操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境的功能,為應(yīng)用執(zhí)行通信功能。消息中間件有很多種,其中IBM消息中間件MQ以其獨特的安全機(jī)制、可擴(kuò)展性和跨平臺性,以及強(qiáng)大的事務(wù)處理能力和消息通訊能力,成為消息中間件產(chǎn)品的佼佼者。
MQ(消息中間件的一種,由IBM公司開發(fā))的基本原理如圖2所示。
首先來看本地通訊的情況,應(yīng)用程序A和應(yīng)用程序B運行于同一系統(tǒng)A,它們之間可以借助消息隊列技術(shù)進(jìn)行彼此的通訊:應(yīng)用程序A向隊列1發(fā)送一條信息,而當(dāng)應(yīng)用程序B需要時就可以得到該信息。
其次是遠(yuǎn)程通訊的情況,如果信息傳輸?shù)哪繕?biāo)改為在系統(tǒng)B上的應(yīng)用程序C,這種變化不會對應(yīng)用程序A產(chǎn)生影響,應(yīng)用程序A向隊列2發(fā)送一條信息,系統(tǒng)A的MQ發(fā)現(xiàn)消息隊列2所指向的目的隊列實際上位于系統(tǒng)B,它將信息放到本地的一個特殊隊列——傳輸隊列(Transmission Queue)。建立一條從系統(tǒng)A到系統(tǒng)B的消息通道,消息通道代理將從傳輸隊列中讀取消息,并傳遞這條信息到系統(tǒng)B,然后等待確認(rèn)。只有MQ接到系統(tǒng)B成功收到信息的確認(rèn)之后,它才從傳輸隊列中真正將該信息刪除。如果通訊線路不通,或系統(tǒng)B不在運行,信息會留在傳輸隊列中,直到被成功地傳送到目的地。這是MQ最基本、最重要的技術(shù),能確保信息傳輸,并且是一次且僅一次(once and only once)的傳遞。通過消息傳輸中間件MQ就能實現(xiàn)服務(wù)器之間的通信。
4結(jié) 語
通過該設(shè)計能夠確保裝有不同操作系統(tǒng)的各種服務(wù)器能夠在本系統(tǒng)中正常工作,同時使用消息隊列實現(xiàn)系統(tǒng)模塊之間的通信便于擴(kuò)展系統(tǒng)的處理能力,能大大提升數(shù)據(jù)處理速度。最重要的是異構(gòu)系統(tǒng)的設(shè)計使工作站中的基于Windows XP操作系統(tǒng)的各種*很難在Linux處理系統(tǒng)的服務(wù)器上發(fā)揮作用,保證了數(shù)據(jù)的安全,所以具有較高的安全性。