?

多變體系統服務質量及損耗評估方法

2023-03-24 13:25陳玉枚扈紅超王亞文
計算機應用 2023年3期
關鍵詞:變體異構服務質量

陳玉枚,扈紅超,王亞文

(戰略支援部隊信息工程大學 信息技術研究所,鄭州 450001)

0 引言

隨著軟件和應用程序的廣泛應用以及網絡中服務數量的幾何級增長,漏洞攻擊和動態防御呈攻防博弈之勢[1]。多變體系統是防止零日漏洞攻擊的有效解決方案,該系統由多個具有相同功能邏輯的軟件執行體構成,這些執行體同時或輪流執行相同任務,以實現容錯和偽裝。典型的多變體系統有多變體執行環境(Multi-Variant Execution Environment,MVEE)[2-3]、N 變體系統[4-5]、拜占庭容錯系統[6-7]、基于擬態防御的多變體系統[8-11]和基于移動目標防御(Moving Target Defense,MTD)[12]的多變體系統。

實現同種功能的服務類別下存有大量不同服務質量(Quality of Service,QoS)的服務,QoS 評估是服務計算領域重要的研究問題之一。QoS 被描述為每個服務對應的向量,通過計算這些向量的距離、相似度或加權計算服務屬性值可得到QoS值[13-14]。多變體系統的一些性能指標造成了一定的負面影響[15-16]。多樣性指標對安全防御能力有一定程度的增益,這些因素可以被視為多變體機制對于QoS 的影響。對多變體系統的QoS 進行量化研究充滿挑戰性。

多變體系統將多個功能等價的服務冗余執行,可以借鑒現有的基于QoS 的Web 服務組合(Web Service Composition,WSC)技術[17-18]的量化思路。該技術通過組合順序以創建出功能更加強大、質量更高的服務提供給用戶[19-20],比如服務組合算法有窮舉算法[21]、貪婪算法[22]、遺傳算法[23-24]、粒子群優化算法[25]、蟻群優化算法[26]和融合算法[27-28]等。這些算法的核心是基于QoS 屬性的Web 服務量化,雖然難以直接將這些算法和它們的量化評估方法直接應用于執行體數量有限的多變體系統,但可以借鑒這些算法中對QoS 的量化方法。

在多變體系統QoS 的度量評估中,評估方法和指標的設計主要用于驗證多變體機制帶來的性能損耗以及多樣性與安全性帶來的QoS 增益。文獻[15-16]中研究了擬態構造的多變體Web 服務器的性能損耗,但沒有提出評價QoS 的方法。文獻[29]中提出了一種擬態構造Web 服務器QoS 的量化評估方法,為擬態QoS 評估做出了開創性貢獻。該方法可以有效地量化異構、冗余、分發和表決機制對Web 服務器QoS 造成的影響和損耗,但是沒有考慮執行體的動態調度、多樣性與安全性等因素對系統QoS 的影響;同時它使用等屬性權重進行衡量,無法突顯出各QoS 屬性的重要程度。當前研究對 QoS 各維屬性賦權過程多使用專家系統或直接用戶指定[30],這些方法存在主觀性過強的問題,同時無法發現在實際中對服務整體表現有重大影響的QoS 屬性維度。

因此,本文針對多變體系統較少涉及QoS 的量化評估問題,提出一種多變體系統QoS 及損耗評估方法。首先針對多變體系統進行形式化建模,將該系統定義為各功能模塊的服務組合;然后,基于加權計算QoS 屬性的方法計算多變體系統的QoS 值,并基于客觀賦權法中的熵權法確定QoS 多維屬性的權值;最后通過均方根誤差(Root Mean Square Error,RMSE)和損失函數評估多變體系統中各功能模塊比如執行體集、分發裁決以及切換操作帶來的QoS 損耗。本文構建了一些典型的多變體系統測試實例,設計并選取了影響多變體系統性能和安全性的QoS 屬性,量化評估了系統的QoS 屬性權重、QoS 值、QoS 差異損耗。評估結果表明多變體機制存在一定的QoS 損耗,但它的安全屬性帶來了一定程度的QoS 增益。最后,本文對于如何構造高QoS 以及低QoS 損耗的多變體系統提供了一些參考。

1 多變體系統

多變體系統采用多樣化、動態冗余等技術實現入侵預防、檢測容忍以及防御。該系統使用不同的軟硬件來執行相同的功能,通過輸入分發、響應裁決提供一致性和透明性,并采用策略調度機制動態改變系統攻擊面,多變體系統的典型構造如圖1 所示。

圖1 多變體系統典型構造Fig.1 Typical structure of multi-variant system

這些軟硬件差異即多樣化技術將減少多個組件中存在共同漏洞的可能性,攻擊者很難同時利用具有不同漏洞的組件,從而保證了系統安全??梢詫⒍鄻踊夹g分為5 個不同的領域[31-32]:1)動態數據[33],主要涉及數據表示或格式的改變;2)動態軟件[34],包括改變應用程序代碼;3)動態環境[35],改變執行環境;4)動態平臺[36],修改平臺屬性;5)動態網絡[37],改變網絡配置和屬性。針對處理器、操作系統、虛擬化平臺容器等應用開發平臺環境,可以構建功能等價但實現邏輯不同的執行體,以增加攻擊者成本或攻擊難度。此外,在保證健壯性服務的同時,依靠動態改變平臺屬性(網絡空間硬件或軟件屬性)即動態切換執行體以降低系統風險、預防攻擊。這在多變體系統中有大量應用,如擬態防御中的動態異構冗余(Dynamic Heterogeneous Redundancy,DHR)架構[38]、拜占庭系統中的重新配置協議[39]、MVEE 中的檢查點/恢復機制[40]等??傊?,多樣化技術和動態冗余方法在很大程度上為多變體系統提供了防御已知和未知威脅的潛力。

本文采用形式化語言定義多變體系統。

定義1執行體。多變體系統中提供服務的實體稱為執行體,記為Ei(1 ≤i≤n),其中n為執行體的個數。若執行體完全相同,則Ei=Ek(1 ≤i≤k≤n);若執行體間存在異構性,則Ei≠Ek(1 ≤i<k≤n)。執行體在不同層次上由一系列能夠實現冗余、異構和功能等效的屬性組成。

定義2執行體屬性矩陣。執行體與它的屬性構成一個執行體屬性矩陣,記為E,又稱為執行體集:

E中存在n≥2 個冗余異構的執行體,每個執行體由m≥1 類屬性組成。即每列Ei=[c1n,c2n,…,cmn]T(1 ≤i≤n)代表一個執行體,每行Cj(1 ≤j≤m)代表組成執行體集的某類功能相同但實現邏輯不同的屬性。

定義3多變體系統組件向量。多變體系統在結構層次上由一系列功能模塊組成,記為:

S=(M1,M2,…,Mx,…,Mt);1 ≤x≤t

記t為組成多變體系統功能組件Mx的個數。對于多變體系統結構,可使用一些有代表性的功能模塊形成組件向量。例如,多變體系統主要由輸入代理/策略分發模塊、輸出代理/策略裁決模塊、執行體集以及動態切換模塊組成。

2 QoS評估模型

本章針對多變體系統進行QoS 評估模型建模,包括系統QoS 評估方法、QoS 屬性權重計算方式,以及多執行體、分發裁決切換等模塊引發的QoS 損耗評估。該評估模型給出了完整的QoS 評價方案,能夠就如何構建高QoS 的多變體系統提供一些指導意見。

2.1 評估模型

相較于單一軟件系統,多變體系統存在多執行體并行運行、消息請求分發、輸出響應裁決以及執行體動態調度等機制。對多變體系統進行QoS 評估將考慮這些機制帶來的影響(損耗或增益)。本節給出關于QoS 屬性相關的一些定義,然后針對多變體系統進行QoS 評估建模并給出評估流程。

定義4QoS 屬性向量。QoS 屬性向量是能夠量化一個組件服務質量的屬性集合,記為:

其中:pxj是Mx的一個QoS 屬性,如響應時間、吞吐量;m為它的QoS 屬性數量,表示多變體系統提供服務時,與它行為相關的質量屬性集合。反映了QoS 的特點,即QoS 由一些非功能屬性組成。QoS 的評價指標包括服務執行價格、響應時間、可用性、可靠性、信譽度等。

QoS 指標可按照趨優方向分為成本型和效益型,成本型包括服務價格、響應時間等,為負向屬性,數值越小則服務質量越好;效益型包括可靠性、可用性、信譽度等,為正向屬性,數值越大則服務質量越好。

因此,在測量出某服務第j項的QoS 屬性測量值pxj后,要對QoS 屬性進行歸一化處理如式(1)、(2)所示,進而得到能夠統一量化的無量綱的QoS 屬性值。服務QoS 數據無量綱化指將各維QoS 屬性去掉量綱,通過數值計算消除量綱和數量級對服務QoS 的影響,將所有的屬性轉化為評價屬性。效益型的極大型正向屬性使用式(1)進行無量綱化,成本型的極小型負向屬性使用式(2)進行無量綱化。

定義5執行體QoS 屬性矩陣。QoS 屬性矩陣為同一功能類別的n個服務、m個屬性評價指標所對應的QoS 屬性向量矩陣:

其中:qEi j(1 ≤j≤m,1 ≤i≤n)表示第j個屬性評價指標、n個同功能服務中第i個實例所對應的QoS;Ei特指執行體,它是t組件之一。

定義6執行體集QoS 屬性值。執行體集ME的第j種QoS 屬性值定義為

同種功能的服務的QoS 屬性值的大小并不取決于這些服務的該種QoS 屬性的最大值,而取決于最小值。因此,使用定義6 計算某種服務的第j種QoS 屬性值,其中n為相同功能的服務的數量。對于執行體集ME而言,它測量的是每個執行體的QoS 屬性向量。

定義7QoS 屬性權重矩陣。QoS的m維質量屬性向量所對應的權重是一組離散隨機變量,設為矩陣QW:

其中:w(q)=[w1,w2,…,wm]為矩陣q對應的權重向量;0 ≤為相應QoS 屬性的權值,表示該QoS 屬性的重要程度。QoS 屬性值以及對應權重的乘積表示為該屬性的QoS,各屬性QoS 的和表示該功能模塊的QoS。

為了評估多變體系統的QoS 和各功能模塊的QoS 損耗,首先,對系統QoS 評估進行建模。根據多變體系統典型構造以及定義3 得知,多變體系統由多個功能模塊組成。對組織架構進行拆分和組合,將多變體系統劃分為3 個主要功能組件:執行體集(ME)、分發裁決組件(MB)以及動態調度模塊(MD)。這些功能組件對系統性能和安全有一定的影響,從而影響系統QoS??梢詼y出多變體系統3 個主要功能組件的QoS,分別記為,根據木桶原理[29]以及定義6 的擴展得知,多變體系統的QoS 取決于它們的最小值,即QS=。將多變體系統根據動態調度的特性分為2 種狀態:系統執行體集的初始狀態即系統無切換狀態(MS');系統執行體集經動態調度后的末狀態即系統有切換狀態(MS)。

其次,針對系統功能組件的QoS 損耗評估進行建模。多變體系統的QoS 損耗來源主要有:1)n個冗余執行體同步運行相較于單一執行體帶來的并行開銷;2)分發裁決操作分發請求、統一響應結果的等待開銷;3)動態調度執行體存在狀態的恢復和同步開銷。異構冗余執行體和動態調度實現了安全增益,對多變體系統QoS 也存在相應的增益。

本文主要使用差值法計算這些功能組件的QoS 損耗。因此,在執行體集QoS 損耗方面,通過單個執行體QEi與執行體集QE進行評估,即;在分發裁決損耗方面,在沒有動態切換操作前提下,即系統QoS為QS'=時,和QE進行評估,即LossB=QS-QS';對于動態調度損耗方面,損耗為LossD=QE-QS-LossB,此時QS考慮分發裁決模塊和動態調度模塊即且以調度后最終執行體集為測量基準。本文在2.4 節詳細介紹QoS 差異和損耗的評估方法。

最后,圖2 顯示了總體評估流程。1)對多變體系統進行功能組件拆分,并選取QoS 屬性指標;2)測量各QoS 屬性值包括執行體Ei,帶功能組件E和MB的系統S'以及帶E、MB和MD的系統S;3)根據QoS 屬性值數據計算各屬性的權重;4)計算QoS 并評估多變體系統各功能組件帶來的QoS 差異和損耗;5)針對多變體機制是否造成QoS 瓶頸做出結論。

圖2 多變體系統QoS評估流程Fig.2 QoS evaluation flow of multi-variant system

2.2 屬性權重

同功能屬性的服務間進行質量評價排序需要對服務QoS 各維屬性進行綜合考量,在此過程中如何確定各維屬性的權值成為一個重要的問題。若屬性更能凸顯出不同服務上的質量差別,就賦予更高的權重。比如n個相同服務的服務質量間具有更大的差異性,則賦予該維度屬性更高的權重。本文使用熵權法為具有較大區別度的QoS 屬性賦予較高的權重,正是這些差異性大的服務更能突出不同服務之間的質量差別。

信息熵用于衡量隨機系統的無序程度,熵值大小與事件發生的概率有關。多變體系統中每個功能組件的QoS 屬性發生的概率如式(3)所示,信息熵如式(4)所示:

其中:k=ln-1t,是的最大值。通過k值進行歸一化,使ej的范圍為[0,1]。數據差異越大,信息熵越小,即數據差異與信息熵成反比。

在服務質量綜合決策過程中,某維屬性指標的差異程度越大,代表它對于服務整體性能的影響也就越多,在綜合決策中所起的作用就越大,因而該指標的權重也應相應增大。在某維度屬性上的值與該維度上的最優值間的差異越小,越接近最優值。

在計算權重時,衡量指標數據離散程度的統計量應為極大型指標,即統計量越大,數據離散度越高。根據分析,該熵值為極小型指標,因此,本文將熵值進行極大化處理,引入信息熵冗余度如式(5)所示:

將信息熵冗余度歸一化后,即可得到指標權重:

2.3 QoS評估

2.1 節介紹了多變體系統QoS 屬性的定義以及QoS 評估和損耗評估模型。本節根據該模型可以得到各功能模塊的QoS。執行體同功能服務中第i個實例的QoS 如式(7)所示,組件Mx的QoS 如式(8)所示,系統S的服務質量如式(9)所示:

2.4 QoS差異和損耗評估

在一定程度上,多變體系統由于本身的架構設計將引發性能和服務質量的損耗,如:多執行體并行運行將消耗系統資源和處理性能,分發裁決機制對數據進行冗余加工處理,動態切換模塊存在狀態復制與恢復開銷等。本節提出多變體系統相較于非冗余系統的QoS 差異評估方法。

本文使用RMSE 對QoS 差異進行評估。對分布p(x)和q(x)差值的平方求和后平均再開方,如式(10)所示:

在本文中由于數據歸一化,該公式的范圍是[0,1],IRMSE越小表示P(x)和Q(x)的分布越接近;當P(x)和Q(x)完全相同時,IRMSE=0。

執行體集E相較于單個執行體Ei的QoS 差異函數如式(11)所示,執行體集的QoS 平均差異如式(12)所示:

執行體集E相較于單個執行體Εi的QoS 損失函數如式(13)所示,執行體集的QoS 平均損失如式(14)所示:

其中:qEi j表示執行體Ei的第j個QoS 屬性;QEj=,或者通過執行體集特性計算,它表示執行體集E組件的第j個QoS 屬性;wj表示執行體集E組件的第j個QoS 屬性的QoS 權重。

同理,n個冗余系統S相較于執行體集E的QoS 差異函數如式(15)所示,冗余系統S相較于E的QoS 損失函數如式(16)所示。同時它們分別表示多變體系統S由于分發裁決以及動態切換等功能引起的QoS 差異和損耗。

其中:S表示執行體集為E組成的冗余系統;QSj分別表示n個冗余系統的第j種QoS 屬性值,且可以通過定義5 和定義6實測得到。最后,通過控制切換操作模塊可以分別得到由分發裁決和切換引起的QoS 差異和損耗。

3 實驗與結果分析

3.1 測試系統QoS屬性向量

3.1.1 測試系統構建

本文構建了一個典型的多變體系統,包括執行體集、屬性池、請求分發、響應裁決以及動態控制模塊,如圖3 所示。

圖3 多變體系統測試架構Fig.3 Multi-variant system test structure

該系統基于主機的層次化結構,在硬件層、系統層、虛擬化層等層次上實現了多變體架構。硬件處理器為上層軟件提供運算和控制核心;服務器操作系統是軟件的一部分,為容器提供完整的操作系統內核;容器是一種輕量級操作系統層面的虛擬機,它為應用軟件及其依賴組件提供了一個資源獨立的沙盒運行環境。這些平臺屬性共同構建成為一個執行體,多個執行體將構成執行體集。在系統接收用戶信息和返回信息給客戶端處,設置了請求分發和響應裁決模塊,在擬態防御中該部分統稱為括號[41]。通過給各執行體分發用戶請求實現相同功能同步執行,通過表決算法如大數裁決、先到先裁決等返回唯一的響應輸出。屬性池是執行體屬性的冗余備選池,用來替換下線的屬性類型,通常具有較低的風險分數。動態控制模塊接收并處理括號反饋的同步執行體相關信息,如對響應不一致的執行體執行修復或替換操作。

該系統中執行體由處理器、操作系統、容器等屬性構建,利用自然多樣性和可控多樣性作為異構的基礎。理想情況下,每個執行體應該在相互隔離的環境中,以便實現以下幾點:1)故障隔離,如果一個執行體的某個屬性存在故障,所造成的影響應該僅發生在該執行體內部;2)性能隔離,連續的硬件活動不會干擾到執行體的性能;3)軟件隔離,每個執行體都運行在自己的軟件環境中;4)切換隔離,執行體進行切換操作時,保存和恢復上下文不影響整體系統運行。不同執行體的同種屬性可由多樣化的屬性類型組成,這些屬性類型提供一致的邏輯功能,如執行體的處理器可分別由Inter、AMD、ARM 構成。同時假設執行體的不同屬性不會互相影響,容器OS 與服務器OS 雖然使用相同的組件,但由于其邏輯功能不同,使得不同屬性間相互獨立。

根據多變體系統的架構,隨機選取執行體實例進行QoS數據測試的實驗。本文選取的3 種Web 服務器、6 種操作系統、4 種處理器分別為:IIS(S)、Nginx(N)、Apache(A);Win 03(W03)、Win 08(W08)、Win 12(W12)、Ubuntu(U)、Debian(D)、RedHat(RH);Intel(I)、ARM(R)、AMD(M)、LoongSon(LS),括號內為簡體。

3.1.2 QoS屬性向量

多變體機制在一定程度上影響QoS,這是由于冗余異構特性、分發裁決操作和動態調度引發了性能損耗,但同時也由于多樣性和動態混淆實現了安全增益,所以本文主要考慮性能和安全性相關的QoS 屬性指標。表1 給出了常見信息系統的QoS 評估方法以及相應的QoS 屬性指標,不同的信息系統或評估方法所對應的QoS 屬性指標具有相似性但不完全一致。本文根據多變體測試系統架構特性以及QoS 評估模型,結合Web 服務器、防火墻等網絡設備、操作系統和處理器等軟硬件性能測試,選取了能夠體現其服務性能和安全的QoS 屬性。

本文從表1 中選取了能夠體現服務性能的客觀QoS 屬性來構成它的QoS 屬性集,包括每秒事務處理次數、最大TCP并發連接數、吞吐量和響應時間。這些指標都可以通過本文定義實測而得來。此外,執行體集具有多樣性和冗余性,本文利用通用漏洞評分系統(Common Vulnerability Scoring System,CVSS)[7]衡量,它是一個成本型的QoS 屬性,通過漏洞風險可以反映執行體的安全性和多樣性。對于不同的多變體系統可以選取不同的QoS 屬性向量。這些屬性向量具體的定義如下。

表1 信息系統QoS評估方法以及QoS屬性指標Tab.1 QoS evaluation methods and QoS attribute indicators of information system

1)每秒事務處理次數:每秒鐘系統能夠處理事務的數量。它是衡量系統處理能力的重要指標[42],單位為transactions/s。2)最大TCP 并發連接數:穿過網關的主機之間或主機與網關之間能同時建立的最大TCP 連接數[43],單位為connections。3)吞吐量:網絡設備的數據包轉發能力,即單位時間內成功轉發數據的數量[44],單位為kb/s。4)響應時間:客戶端發出請求到得到響應的整個過程的時間[45],單位為ms。5)多樣性和安全漏洞風險屬性[7]:本文根據執行體全部漏洞的CVSS 來計算單個執行體的CVSS 屬性,如式(17)所示;根據共同漏洞的得分來計算執行體集的綜合CVSS 屬性,如式(18)所示。式(17)表示執行體Ei的所有漏洞CVSS分數之和,式(18)匯總了任意一對執行體屬性即cji,cjk∈Cj的共同漏洞的分數。利用CVE(Common Vulnerabilities and Exposures)和CNVD(China National Vulnerability Database)網站提供的數據,可以統計執行體漏洞數及各屬性類型間的共同漏洞數。除此之外,為簡化統計與計算,根據漏洞分數的中位數(取值為5)進行計算。

其中:V(cji,cjk)為執行體某類屬性Cj的cji和cjk的共同漏洞。

3.2 QoS評估結果

執行體集作為多變體系統的服務實體,n個異構冗余的執行體作為一個整體向外提供服務。針對客戶端發出的請求,代理將請求復制分發給n個異構冗余的執行體去相互獨立地做出響應,并根據響應進行裁決輸出給客戶端。同時,為了進一步保證多變體系統的安全性,將定期切換執行體從而改變攻擊面干擾攻擊行為。執行體集由于并行運行以及多樣性和冗余度將會帶來一定程度的QoS 損耗,分發和裁決以及切換行為將會影響服務響應的速度,所以根據多變體系統中執行體集的配置,計算執行體集、分發裁決以及切換操作的QoS 差異和損耗,能夠反映出異構冗余機制對服務質量的影響以及分發裁決和切換對系統服務質量的影響。首先根據構建的多變體系統,選擇了如下的同構和異構5 組實例進行測試:

其中:箭頭前后表示初始執行體集和最終執行體集。執行體虛擬機各版本如下:Inter CPU x5650、ARMv7、AMD、IIS 6.0、Nginx1.7.4、Apache 2.3.9、Ubuntu 16.04。分配核心線程和內存單位均為1。各主機型號,操作系統版本,服務器軟件版本等配置對應相同。本文用了5 種QoS 屬性對多變體系統的服務質量進行量化評估,多樣性屬性平衡了多變體系統性能和安全性的評估。分別測量了執行體、執行體集(ME)、系統無切換狀態(MS')以及系統有切換狀態時(MS)的各QoS 屬性值,并量化了各組件的QoS 以及差異損耗。

3.2.1 多變體QoS 與屬性權重

圖4 顯示了根據式(8)得到的5 個測試系統QoS 值以及文獻[29]的QoS 值。由圖4 可知,對于執行體集而言,測試系統S1具有同構冗余的執行體,它的執行體集的QoS 達到0.786 3,而其他異構冗余執行體構成的測試系統的服務質量相對較低。這是因為同構執行體具有相近的QoS 屬性值,而異構的執行體QoS 屬性值相差較大。定義6 說明執行體的各項QoS 屬性值越相近,執行體集的QoS 值越大。對于無切換狀態的系統而言,各測試系統的QoS 有明顯的下降。此時,在保持原執行體集未改變多樣性和安全性的條件下,在一定程度上降低了系統的性能,這是由于多變體系統的輸入分發和裁決響應操作引起的。對于有切換狀態的系統而言,S3和S5的QoS 有輕微降低,其余系統的QoS 有一定程度的增加。切換操作引起了執行體的動態變換,增加了響應時延以及并發數等性能QoS 屬性的降低,但更換為更異構的執行體提高了多樣性和安全性QoS 屬性值,它抵消了切換操作引起的性能損耗并從整體上提高了QoS。

圖4 多變體系統QoS值Fig.4 QoS values of multi-variant systems

同構的執行體的相同QoS 屬性的測量值可能存在差異,因此,同構的執行體的服務質量也可能存在差異;異構執行體的QoS 屬性性能明顯不同,且異構執行體組成的多變體系統服務質量存在顯著差異。文獻[29]的QoS 測試值與本文趨勢一致,但它使用等概率的屬性權值進行衡量,在QoS 值評估層面比本文測試值偏高。此外,它僅考慮了影響QoS 的一些性能因素,沒有考慮系統的多樣性和安全性QoS 屬性,所以在冗余執行體集基礎上引入的其他功能都會顯著降低系統QoS 值。而本文引入了多樣性和安全性QoS 屬性,QoS甚至會高于它的執行體的服務質量,如S1、S2和S4。由QoS平均值可以看出,多樣性和安全性屬性對于整體的QoS 值有一定程度的提高。

圖5 根據2.2 節計算了各QoS 屬性值的權值,權值較高的代表QoS 屬性值變化區間更大,其重要程度也就越大。其中,并發數和響應時間兩個QoS 屬性的權值在5 組測試實例中幾乎處于峰值狀態,說明并發數和響應時間是影響多變體系統性能的重要因素,分發裁決以及切換機制的使用有一定的性能代價。事務處理速率和CVSS 屬性的權值也較高,事務處理速率體現在本身系統的性能以及切換操作帶來的負面影響,CVSS 值體現了系統的多樣性和安全性,隨著使用的冗余執行體變化而變化。文獻[29]中使用了前4 個QoS 屬性等額的權值表現方式,無法表現出各QoS 屬性對于系統QoS 的重要程度。

圖5 多變體系統各QoS屬性權值Fig.5 Weights of QoS attributes in multi-variant systems

3.2.2 QoS差異和損耗

對執行體集而言,理想狀態下,當所有執行體的各項QoS 屬性值相同時,執行體集服務質量最大,損耗為0。然而實際應用中不存在理想狀態,即使相同的處理器、虛擬或物理主機、相同的服務應用,各項QoS 屬性的測量值也不會相同,因此各項QoS 屬性值也不會相同,選擇同構的執行體組成的執行體集,QoS 也存在損耗。執行體集的平均差異和損耗評估如圖6 所示,平均差異和損耗趨勢一致,說明執行體集與單個執行體間QoS 數據差異越大,執行體集的QoS 損耗越大。同構情況下,如S1測試實例,執行體集與各執行體的QoS 屬性值平均差異為0.040 3,平均損耗為0.122 8;而異構情況下S2平均差異0.143 3,平均損耗為0.312 2。其他異構測試集的損耗和差異也相應比同構的更大,異構冗余機制會對多變體系統的服務質量造成損耗:執行體集的平均損耗為26.63 個百分點,性能屬性平均損耗6.66 個百分點。文獻[29]中的執行體集平均損耗由最低0.030 7 增加到最高0.249 8。由此可知,異構冗余的執行體將會帶來一定的QoS損失。若選取各項QoS 屬性值相近的異構冗余執行體,且執行體的各項QoS 屬性值越相近,執行體集服務的質量就越高,損耗就越低。

圖6 執行體集的QoS平均差異和損耗Fig.6 Average QoS difference and loss in executor set

根據式(5),如果分發裁決和切換操作的QoS 值小于執行體集的QoS,即則系統的QoS為;若文獻[29]通過該理論判定這些功能模塊是否對系統造成了QoS 瓶頸。通常情況下,分發裁決和切換操作都會有一定程度的性能損耗,即在不考慮多樣性安全性等非性能QoS 屬性時,通常都滿足本文通過它們的損耗值來判定它們是否對系統QoS 造成了瓶頸:若QoS 損耗值不小于執行體集的QoS 損耗,即,分發表決和切換模塊成為了多變體系統服務質量的瓶頸;反之,分發表決和切換模塊沒有成為多變體系統服務質量的瓶頸。

圖7 顯示了分發裁決引起的QoS 差異和損耗。由于系統引入了請求分發、裁決響應,QoS 損耗更加明顯。分發裁決模塊的并發數和響應時間屬性降低趨勢明顯,根據式(5)定義,系統S1的QoS 受相關模塊的影響較大。系統S與執行體集E的差異至少達到0.189 0,損耗至少達到0.559 3,平均損耗為36.79 個百分點,性能屬性平均損耗9.20 個百分點。這是因為該同構的執行體的QoS 屬性值遠優于分發裁決的屬性值。其他異構情況下,分發裁決的損耗相對較小,分發和表決模塊沒有成為多變體系統服務質量的瓶頸。

圖7 分發裁決的QoS差異和損耗Fig.7 QoS difference and loss of distribution and decision module

圖8 顯示了切換操作引起的QoS 差異和損耗,圖9 顯示了多變體系統各模塊QoS 損耗對比。由圖8 可知,切換操作雖然引起了執行體的切換操作,并沒有引入額外的QoS 損耗,因為引入異構的執行體提高了多樣性和安全性,在安全層面,它抵消了切換操作引起的其他損耗,并從整體上提高了QoS。文獻[29]中未量化CVSS,切換操作在性能QoS 屬性層面有一定損耗,這與本文表現的結果一致。另一方面,在異構情況下,由于異構執行體的QoS 屬性相差較大,切換操作引起的最大差異為0.076,最大損耗為0.006 4。最大差異對應的損耗值-0.230 4 代表切換操作沒有引起整體的QoS損耗,反而帶來了QoS 的增益,由圖9 可得,性能屬性平均損耗15.86 個百分點,安全屬性增益4.98 個百分點。由此可知,多變體系統中若,由分發裁決和切換操作引起的QoS 損耗具有放大效果,即一點微小的性能差異都會對系統產生影響,從圖9 來看,僅有S1的分發裁決操作造成了系統QoS 瓶頸,這是因為分發裁決模塊的QoS 屬性值遠低于執行體集;而時,冗余的執行體本身對系統QoS 影響相較于其他因素較大,從而說明多樣化是影響QoS的主要原因,此時分發和表決以及切換模塊沒有成為多變體系統服務質量的瓶頸。分發、表決和切換機制會影響多變體系統的服務質量,在設計分發、表決和切換模塊時,應提升這些模塊的性能,盡量使之不成為多變體系統服務質量的瓶頸。它們性能越高,則系統服務質量的損耗值越低。

圖8 切換操作的QoS差異和損耗Fig.8 QoS difference and loss of switching operation

圖9 多變體系統各功能模塊的QoS損耗Fig.9 QoS loss of functional modules in multi-variant system

4 局限性與未來工作

本文著重研究多變體系統的QoS 評估,以及異構、冗余、分發裁決以及切換操作等機制帶來的QoS 差異和損耗。此外,通過性能和安全相關的QoS 屬性分析,以及QoS 屬性重要程度評估,對于如何構造多變體系統以達到最低QoS 損耗,本文給出了建設性的意見。在實際應用中,這部分工作當然取決于特定的方案和測量目標。例如,多變體系統各功能模塊組成方案,以及其他常見的QoS 測量屬性(可用性、可靠性、可維護性、成本、用戶體驗、信譽度等)。除此之外,本文使用特定的實例進行實驗驗證,具有實際操作性但是數據量不具有代表性尤其是動態調度層面(切換次數較少)。在接下來的工作中,本文將對應用多樣性的系統進行更詳細的研究。例如,改進和完善動態調度策略,使用大量的測試實例來分析討論多變體機制對其服務質量的影響。

本文提出的多變體系統服務質量及損耗評估方法可以有效地對比執行體集、分發裁決以及動態調度帶來的QoS 差異和損耗,并對系統性能和安全的平衡部署給出參考。但是目前不涉及多變體系統異構執行體QoS 的排序匹配問題,比如在最優解集中選擇一組綜合服務質量最高的異構執行體來提供服務[48]。除此之外,在QoS 屬性權重方面,熵權法客觀性強、易于理解,但它沒有考慮用戶的主觀需求,確定的權重可能會缺少個性化[30]。在接下來的研究中,將綜合考慮上述局限性,改進度量方法以應用于實際工程并在實際應用中驗證該方法。

除了局限性外,還有一些結論可供實際部署多變體系統時參考。首先,多變體機制在增加安全性的同時,一定程度上會造成性能的損耗,尤其是異構冗余執行體的并行運行;其次,在滿足安全性的同時,選取QoS 屬性值相近的執行體,將有助于減少多變體系統的QoS 損耗;最后,盡量提高分發裁決以及切換調度相關模塊的性能,使其損耗低于執行體集的損耗,而切換操作有可能增加安全增益,能進一步減少QoS 損耗。

5 結語

針對難以量化多變體機制造成的服務質量影響問題,本文提出了多變體系統服務質量及QoS 損耗評估方法?;诙嘧凅w系統功能模塊組合技術,將執行體集、分發裁決機制以及動態切換策略納入評估范圍,量化了這些模塊造成的QoS 損耗;除此之外,使用熵權法確定了影響系統性能和安全性的QoS 屬性權重,權重越大表示它影響系統QoS 的程度越高。通過對系統定量分析可以得出結論,該方法可以有效地量化異構、冗余、分發表決機制和動態策略對多變體系統服務質量造成的影響和損耗;同時表明多變體機制存在服務質量損耗,但其安全屬性帶來了一定程度的服務質量增益,所以,在產生安全增益方面如何利用多樣性技術和動態調度策略非常重要。最后,根據結論和分析,給出了構建高服務質量以及低QoS 損耗的多變體系統的建議,并討論了所提度量方法和仿真實驗的局限性。

猜你喜歡
變體異構服務質量
基于DDPG算法的變體飛行器自主變形決策
試論同課異構之“同”與“異”
論如何提升博物館人性化公共服務質量
非仿射參數依賴LPV模型的變體飛行器H∞控制
異構醇醚在超濃縮洗衣液中的應用探索
overlay SDN實現異構兼容的關鍵技術
LTE異構網技術與組網研究
耀變體噴流高能電子譜的形成機制
傾聽患者心聲 提高服務質量
堅持履職盡責 提升服務質量
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合