王子珍,趙建新,解志斌,朱子薇,張宏映
(北方自動控制技術研究所,太原 030006)
如今信息技術正在快速發展,由于當代戰爭中的實踐應用及推廣,信息化戰爭正漸漸取代傳統形式的機械化戰爭,當今戰爭的主要作戰樣式已變為各軍兵種的聯合作戰[1],戰爭的主流早也已從原始意義中作戰部隊力量的拼殺和指揮員腦力的比拼轉變為更加重要的作戰兩方指揮信息系統之間的較量。傳統指揮信息系統采用“煙囪式”系統架構,無法實現各軍兵種分系統的互聯、互通及互操作,因此,基于SOA的新型指揮信息系統應運而生。
SOA以其松散耦合和支持業務流程隨需而變等特點,已經成為了指揮信息系統新的解決方案。服務部署是基于SOA的指揮信息系統研究的重要內容之一。隨著指揮流程的變遷、任務量的變化,導致網絡上的服務部署方案無法持續滿足用戶的QoS需求,部署優化問題亟待解決。
本文針對以上情況,在分析Web服務和QoS指標后,結合指揮信息系統架構的實際狀況,對服務部署方案進行優化,以滿足用戶的非功能性指標。
SOA(Service Oriented Architecture,面向服務的架構)是一種有效組織和利用分布式資源的架構,是一種松散耦合、可動態化和重用擴展的分布式的組件模型。SOA擁有開放的接口和協議,可靈活實現系統的重構,代表了當前指揮信息系統的發展方向。
Web服務是SOA的核心概念,服務是無狀態自包含的一種業務功能,通過對接口標準的良好定義,同時接受多方請求,并返回一個或多個的響應。Web服務之間是相互獨立的,并不依賴于其他服務,且與使用的技術無關[2]。Web服務具有以下特性:
1.1.1 Web服務是松耦合的
服務之間相互獨立,不會因一個服務變化而對另一個服務造成較大影響。服務之間交互只需提供必要的接口信息,而不用提供內部具體的功能實現信息。
1.1.2 Web服務是可組合的
通過服務之間的組合可在原有基礎服務之上構建新的服務,以滿足更復雜的需求,這正是SOA架構的一大特點[3-5]。
1.1.3 Web服務是無狀態的
服務的無狀態是指服務在滿足需求之后,將處理結果返回給使用者,其自身并不保存任何狀態結果信息。
在Web服務領域,一般認為Qos(Quality of Service,服務質量)指的是Web服務的一種能力,它能響應用戶的服務請求,以一定的服務質量完成服務的執行,并提供的服務質量符合服務提供者的宣稱和用戶的預期。目前它已經成為Web服務使用效用的重要標準,用來區分不同等級的服務提供者[6]。本文從以下角度提出了關于Qos的屬性指標:
1)響應時間:指服務的請求者向服務提供者發出調用請求到獲得其回應所需的時間間隔,包括Web服務的執行時間和服務請求者與服務提供者通信所需的時間。單位:ms。
2)可靠性:指Web服務按照它所宣稱的功能正常穩定運行的能力,它代表Web服務能正常執行的概率。通常采用平均無故障時間和平均故障恢復時間等指標來加以描述。單位:百分比。
3)信譽度:代表了該Web服務的可信程度,也就是該服務在功能屬性和服務質量等方面的實際表現與發布該服務時所宣稱狀況的相符程度。該屬性只能根據服務用戶的反饋數據求得,是一個主觀性很強的效益型指標。單位:百分比。
以上3個指標的具體量化方式如表1所示。

表1 QoS指標的量化方式
在指揮系統軟件中,用戶的請求可由多個基礎服務組合而成,這些基礎服務通過一定的規范和交互規則,共同完成用戶的調用[7]。在本研究中,服務部署問題主要解決如何選擇最佳服務及服務器來完成用戶的需求。目前為止,常用的服務部署方法有固定部署法、輪循部署法等。以上方法雖能保證系統業務功能的實現,但無法滿足服務使用者更高的需求,當服務性能相差較大時,采用現有方法無法根據用戶對當前服務的要求對服務部署流程實現個性化定制,容易造成系統負載的不平衡。
因此,本文在現有指揮系統軟件結構的基礎上,提出兩種解決方案。
1)在服務請求者與服務提供者之間增加服務部署節點計算機,并配置服務代理模塊,專門負責對所需服務進行篩選和確定,以確定最佳服務部署方案。其結構如下頁圖1所示。
采用此結構對服務部署方案進行優化會存在以下風險:首先,服務代理計算機會因故障或遭到攻擊而癱瘓,從而導致整個指揮信息系統無法正常工作,其后果不堪設想。其次,設立多臺服務代理計算機共同實現對服務部署方案的選擇,可在一定程度上避免因服務代理計算機單點失效而導致整個系統癱瘓,但設立多臺計算機會導致指揮信息系統中物理節點出現冗余,可能在較長時間內只有一臺服務代理計算機被使用,造成了節點資源的浪費[8]。

圖1 方案1的服務部署結構圖
2)在服務請求者與服務提供者之間增加服務代理模塊,該模塊在客戶端中運行,獨立于服務請求者。其結構如圖2所示。

圖2 方案2的服務部署結構圖
服務代理模塊一方面負責接收服務請求,另一方面感知服務提供者的QoS變化,將所需服務通過數學計算和合理的選擇與管理,最終確定優化的部署流程,完成服務請求。采用此種方案避免了因服務代理計算機的單點失效而造成的系統癱瘓,更適用于指揮信息系統。
服務代理的模塊構成如圖3所示。

圖3 服務代理模塊圖
隨著網絡環境的變化,指揮信息系統中關于服務的QoS指標會隨生命周期而產生一定變化,因此,需要定時對QoS指標信息進行采集,并反饋給用戶,以輔助選擇不同的服務。
QoS監控是與測量相關的技術,其有可能測量失敗,但同時也可進行可用性測量。在系統執行過程中,QoS監控用來監控各服務器的運行狀況,以及發現各服務的異常,從而進行服務狀態的預測及服務路徑的選擇,保證每一次服務請求的非功能性需求得到滿足。
在本設計中,QoS監控模塊與服務提供者建立高速傳輸通道并實現周期性反饋,即心跳監測,可實現對服務提供者的多方位和多角度監測。QoS監控模塊采用WCF技術中的“回調”實現,QoS模塊定期發送心跳包對服務提供者訪問,服務提供者在收到訪問后回調服務請求者的QoS模塊,并反饋回服務提供者的節點負載信息和服務QoS指標的數據信息。
路徑分析主要是對QoS監控模塊所獲得的數據進行處理計算,包括服務器的負載信息,以及各服務的可靠性信息等。通過對QoS數據信息處理,可作為下一服務路徑選擇的依據。
對QoS數據處理共分為以下3步:
1)個性化處理
根據指揮員對指揮信息系統中服務的不同要求,對指出的關鍵QoS屬性,確定選擇標準或閾值,服務選擇管理器以此為依據對候選服務進行精確選擇;對用戶沒能指出的關鍵屬性,系統為其設缺省值,其數值只需滿足其基本要求即可。
2)規范化處理
對各項QoS指標進行個性化處理后,可得關于QoS的約束矩陣:

其中,m為服務實例數,n為QoS指標的個數。
效益型QoS指標使用以下方式進行規范化處理:

成本型QoS指標使用以下方式進行規范化處理:

3)歸一性處理
使用唯一的QoS綜合指標對各服務實例進行選擇,并以此為依據排序。

對QoS指標的數據處理完畢之后,服務選擇管理器選擇最佳服務進行下一步訪問。重復以上過程,直至服務組合管理模塊中服務流程的每一步均訪問完畢,結束了此次訪問請求。
本節通過設計和實現感知QoS的服務部署方法,在保證用戶功能性需求的同時,優化服務部署方案,進一步滿足用戶的非功能性需求。滿足QoS約束的Web服務部署的流程如下:
1)服務請求者向服務提供者發出請求。
2)服務組合管理根據用戶提交的請求,定義服務流程,從服務注冊中心選擇目標服務。
3)多個服務器中會含有功能一樣的服務,但其提供者的QoS不同,服務選擇管理從路徑分析中選擇最佳服務提供者,保證服務流程的總體QoS。
4)路徑分析的輸入參數是對服務提供者QoS監控所獲得的信息,并根據服務分配策略,針對QoS指標進行一系列的處理,將確定執行節點反饋給服務選擇管理,最終生成當前請求的最佳服務選擇。
5)按照服務流程重復以上4步工作,生成滿足用戶非功能需求的服務部署方案。
服務部署流程如圖4所示。
滿足QoS約束的Web服務部署方法能夠從當前滿足系統需求的眾多子服務中,以QoS指標為選擇服務的標準,通過路徑分析確定當前流程中的每一個子服務,從而保證系統流程的整體QoS性能。相比較固定部署法和輪循部署法而言,滿足QoS約束的Web服務部署方法的優點在于進一步優化服務選擇方案,滿足系統非功能性需求。

圖4 滿足QoS約束的服務部署流程圖
本文提出了滿足QoS約束的Web服務部署方法,通過對QoS指標的實時性監控,和對反饋數據的統一化處理,最終得到唯一的QoS綜合指標,并將其作為服務路徑選擇的標準,對候選服務節點進行精確選擇,滿足用戶對QoS的要求。本研究下一步的工作是完善QoS的質量模型。