隨著科學技術(shù)的快速發(fā)展,大量數(shù)據(jù)的處理對于計算機的性能要求越來越高,一般的計算機很難滿足快速處理數(shù)據(jù)的要求,同時,計算機病毒的肆虐對數(shù)據(jù)安全構(gòu)成嚴重的威脅。本文設計一種基于不同操作系統(tǒng)的網(wǎng)絡化的處理系統(tǒng)用于解決這些問題。
1 系統(tǒng)概述
該系統(tǒng)是一個包含不同體系結(jié)構(gòu)的計算機和操作系統(tǒng)的異構(gòu)系統(tǒng)。在系統(tǒng)中數(shù)據(jù)庫服務器、存儲服務器和數(shù)據(jù)處理服務器為運行Linux操作系統(tǒng)的服務器,控制服務器為運行Windows Server 2003的服務器,終端計算機為運行Windows XP操作系統(tǒng)的工作站。從系統(tǒng)工作流程的角度來看,一個工作流程的實現(xiàn)往往需要多個服務器的參與,由此可見,系統(tǒng)本身是一個分布式的系統(tǒng)。系統(tǒng)中的軟件和軟件之間常常存在相互調(diào)用的關(guān)系,一部分調(diào)用關(guān)系通過分系統(tǒng)的任務調(diào)度完成,另一部分則通過軟件模塊與軟件模塊之間的直接調(diào)用完成。服務器端軟件和客戶端軟件通過千兆以太網(wǎng)通信,采用TCP/IP協(xié)議,相互之間傳遞的消息采用XML(擴展標記語言)格式描述。
2 系統(tǒng)設計與工作原理
在系統(tǒng)的設計中,采用運行控制、數(shù)據(jù)處理和系統(tǒng)監(jiān)控彼此相對獨立的機制。系統(tǒng)的人機交互采用“分布式部署,集中式操作”的原則進行設計。在處理系統(tǒng)的實際運行中,大部分產(chǎn)品生產(chǎn)流程由在后臺運行的服務程序完成。用戶通過終端計算機對運行在其他服務器上的服務程序進行監(jiān)控,在必要的情況下進行人工干預,這一過程通過遠程調(diào)用實現(xiàn)。一般情況下,用戶不需要登錄各服務器分別執(zhí)行監(jiān)控和管理操作,只通過終端工作站即可完成整個處理系統(tǒng)的監(jiān)控和管理。系統(tǒng)總體結(jié)構(gòu)設計如圖1所示。其設計功能的主要說明見表1。


PNode(數(shù)據(jù)處理服務器)通過千兆以太網(wǎng)絡與CNode(控制服務器)、DNode(數(shù)據(jù)庫服務器)相連接,并通過光纖網(wǎng)絡和SNode(存儲服務器)相連接。各種數(shù)據(jù)處理軟件以服務的形式運行在各個處理服務器上,對應于每一種類型的數(shù)據(jù)處理任務,控制服務器上會有對應的消息隊列,而各種數(shù)據(jù)處理軟件時刻監(jiān)視著對應的消息隊列,當有任務來到時,對應的處理軟件會將此任務取到本地計算機上進行處理。在處理此任務的過程中,處理軟件通過千兆以太網(wǎng)訪問DNode來獲得元數(shù)據(jù)信息(如存儲地址、處理狀態(tài)等),通過光纖網(wǎng)絡從SNode上來獲取原始數(shù)據(jù)并進行處理。在處理完成后,處理軟件將新產(chǎn)生的元數(shù)據(jù)信息通過千兆以太網(wǎng)存儲到DNode上的數(shù)據(jù)庫中,而將產(chǎn)品數(shù)據(jù)通過光纖網(wǎng)絡存儲到SNode上的存儲系統(tǒng)中。
3系統(tǒng)之間通信的實現(xiàn)
在不同的操作系統(tǒng)之間的通信是本系統(tǒng)的關(guān)鍵環(huán)節(jié),這里采用消息隊列的形式通過消息傳輸中間件來實現(xiàn)。消息隊列為構(gòu)造以同步或異步方式實現(xiàn)的分布式應用提供了松耦合方法。消息隊列的API調(diào)用被嵌入到新的或現(xiàn)存的應用中,通過消息發(fā)送到內(nèi)存或基于磁盤的隊列或從它讀出而提供信息交換。消息隊列可用在應用中以執(zhí)行多種功能,比如要求服務、交換信息或異步處理等。
消息傳輸中間件消息中間件(MOM)是一種獨立的系統(tǒng)軟件或服務程序,分布式應用系統(tǒng)借助這種軟件在不同的技術(shù)之間共享資源,管理計算資源和網(wǎng)絡通訊。它在計算機系統(tǒng)中是一個關(guān)鍵軟件,能實現(xiàn)應用的互連和互操作性,且保證系統(tǒng)安全、可靠、高效地運行。MOM位于用戶應用和操作系統(tǒng)及網(wǎng)絡軟件之間,它為應用提供了公用的通信手段,并且獨立于網(wǎng)絡和操作系統(tǒng)。中間件簡化了應用之間數(shù)據(jù)的傳輸,屏蔽底層異構(gòu)操作系統(tǒng)和網(wǎng)絡平臺,為開發(fā)者提供一致的通訊標準和應用程序接口,當應用程序中嵌入其函數(shù)調(diào)用,它便可利用其運行的特定操作系統(tǒng)和網(wǎng)絡環(huán)境的功能,為應用執(zhí)行通信功能。消息中間件有很多種,其中IBM消息中間件MQ以其獨特的安全機制、可擴展性和跨平臺性,以及強大的事務處理能力和消息通訊能力,成為消息中間件產(chǎn)品的佼佼者。
MQ(消息中間件的一種,由IBM公司開發(fā))的基本原理如圖2所示。

首先來看本地通訊的情況,應用程序A和應用程序B運行于同一系統(tǒng)A,它們之間可以借助消息隊列技術(shù)進行彼此的通訊:應用程序A向隊列1發(fā)送一條信息,而當應用程序B需要時就可以得到該信息。
其次是遠程通訊的情況,如果信息傳輸?shù)哪繕烁臑樵谙到y(tǒng)B上的應用程序C,這種變化不會對應用程序A產(chǎn)生影響,應用程序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,然后等待確認。只有MQ接到系統(tǒng)B成功收到信息的確認之后,它才從傳輸隊列中真正將該信息刪除。如果通訊線路不通,或系統(tǒng)B不在運行,信息會留在傳輸隊列中,直到被成功地傳送到目的地。這是MQ最基本、最重要的技術(shù),能確保信息傳輸,并且是一次且僅一次(once and only once)的傳遞。通過消息傳輸中間件MQ就能實現(xiàn)服務器之間的通信。
4結(jié) 語
通過該設計能夠確保裝有不同操作系統(tǒng)的各種服務器能夠在本系統(tǒng)中正常工作,同時使用消息隊列實現(xiàn)系統(tǒng)模塊之間的通信便于擴展系統(tǒng)的處理能力,能大大提升數(shù)據(jù)處理速度。最重要的是異構(gòu)系統(tǒng)的設計使工作站中的基于Windows XP操作系統(tǒng)的各種*很難在Linux處理系統(tǒng)的服務器上發(fā)揮作用,保證了數(shù)據(jù)的安全,所以具有較高的安全性。
