黎玉琴
(平?jīng)鲂畔⒐こ虒W校 平?jīng)?744000)
隨著Web服務的迅速發(fā)展,在Internet這種開放的網(wǎng)絡環(huán)境中涌現(xiàn)了大量的功能相同的Web服務,如何在眾多的服務中選取最符合用戶需求的服務成為其中一個急需解決的問題。Web服務的服務質量QoS(Quality of Service)在Web服務發(fā)現(xiàn)和選擇過程中扮演著重要的角色。現(xiàn)有的Web服務體系結構完成了服務注冊、發(fā)現(xiàn)、綁定等,但對QoS考慮較少。針對QoS的研究目前已經(jīng)提出了大量的模型,這些研究包括文獻[1~2]提出的Web服務模型及體系結構,文獻[3~6]提出的QoS驅動的服務選擇。國內的學者也就該問題展開了較多的研究。
綜觀這些成果,它們的研究都基于兩種基本思想:1)引入某個新的基礎設施來解決Web服務的QoS問題。2)擴展UDDI的功能,進行QoS參數(shù)管理。在Web服務選擇算法中,對這些QoS參數(shù)按照權重逐個匹配,最后返回滿足消費者需求的服務。上述模型和算法存在一個重要的缺陷:Web服務發(fā)現(xiàn)過程和相應的體系結構變得復雜,服務選擇復雜度高。一方面,執(zhí)行服務發(fā)現(xiàn)和選擇算法過程中,要求其了解所有QoS參數(shù)及其屬性,增加了算法復雜度,降低了匹配的成功率。另一方面,匹配過程漫長,消費者本身關心的參數(shù)可能是所有參數(shù)中的少數(shù)幾個。本文針對現(xiàn)有的Web服務體系結構,就解決傳統(tǒng)QoS處理中的缺陷,提出了一個基于QoS參數(shù)的Web服務選擇優(yōu)化模型。
Web 服務的 QoS 參數(shù)如圖 1[7~8]所示,Shuping Ran在文獻[1]中將其分為五類:運行時間相關的QoS、事務支持相關的QoS、結構管理相關的QoS、費用相關的QoS和安全相關的QoS。
設服務S的綜合QoS參數(shù)為OverallQoS,由該服務的m個QoS參數(shù)來刻畫,即
在不同的定義和實現(xiàn)中,不同參數(shù)有著不同的表達形式和數(shù)值范圍,而且有些QoS參數(shù)對于服務評價產(chǎn)生負面影響,其值越大服務的QoS評價就應該越低,如服務費用、響應時間等;而有些QoS參數(shù)對服務評價產(chǎn)生正面影響,其值越大服務的QoS評價就應該越高,如可用性、可靠性等,為了進行綜合評價,需要對QoS參數(shù)進行歸一化處理,使得所有QoS參數(shù)取值在[0,1]之間。歸一化采用如下線性方法:
設服務 Si的第j個QoS參數(shù)取值最大為最小為當前值為則歸一化的表示為
假設服務Si的所有QoS參數(shù)經(jīng)過了歸一化處理,采用加權和綜合評價模型:

在Web服務中,支撐QoS模型的體系結構由四部分構成:服務消費者、服務提供者、服務注冊中心以及QoS管理中心。其中,QoS管理中心是在現(xiàn)有Web服務體系結構中引入的一個新的基礎設施,它負責對QoS相關參數(shù)的獲取、管理和綜合參數(shù)的評價。其構成如圖2所示。

圖2 QoS體系結構
服務消費者在查找某個服務時,提供功能性參數(shù)和QoS參數(shù),以實現(xiàn)服務的選擇。服務提供者實現(xiàn)對服務的發(fā)布和調用以及配合QoS評價的需要提供其所保證的QoS。
在QoS管理中心,實現(xiàn)各種服務QoS參數(shù)的管理和維護,為評價和服務選擇提供支撐;評價算法依據(jù)QoS參數(shù)數(shù)據(jù),實現(xiàn)對參數(shù)的歸一化處理、綜合參數(shù)的計算。
QoS參數(shù)的獲取和評價在時間上應當是同步的,每當QoS管理中心獲取一次數(shù)據(jù),便可進行一次評價。在該模型中,QoS參數(shù)的獲取和評價采用事件驅動的方式,它以導致一次評價活動的數(shù)據(jù)變化為依據(jù),在基于QoS參數(shù)的Web服務模型中可能導致QoS參數(shù)數(shù)據(jù)變化的事件有:服務提供者的注冊和注銷;Web服務的發(fā)布和注銷以及一次Web服務使用結束等。采用事件驅動避免了評價的滯后性,使得更新反映及時、準確。
QoS參數(shù)綜合的服務選擇算法中,首先依據(jù)服務消費者所需服務的功能產(chǎn)生候選資源集合,再按照對應的所保證的綜合參數(shù)對其排序,形成候選服務有序集合S。針對S包含的服務,在QoS管理中心獲取相應綜合參數(shù)值OverallQoS,選擇所需資源。設某消費者C提出的功能性參數(shù)為FC,綜合參數(shù)為OverallQoSC,算法描述如下:

上述算法在集合S中,就綜合參數(shù)選擇了OverallQoSC≤OverallQoSj,且 (OverallQoSj-OverallQoSC)的值最小,實現(xiàn)了服務在綜合參數(shù)上的合理選擇,不再選擇OverallQoS參數(shù)最大的而形成服務的浪費,從而將具有高質量保證的服務提供給對QoS需求更高的消費者,達到負載平衡。
1)負載均衡。將評價轉移到另一基礎設施中去完成,可實現(xiàn)系統(tǒng)整體的負載均衡。
2)服務選擇過程優(yōu)化。由于采用了綜合參數(shù)處理,QoS綜合參數(shù)算法服務選擇過程得到了優(yōu)化,減少了在QoS參數(shù)上逐個匹配而導致的迭代過程。
3)服務利用率最大化。QoS綜合參數(shù)算法不再針對單個QoS最好的服務,而是在滿足請求要求的范圍內試圖使整個系統(tǒng)服務利用最大化。即選擇服務時,在候選服務中尋找綜合參數(shù)上滿足OverallQoSC≤OverallQoSj,且 min(OverallQoSj-OverallQoSC)的服務。
文章通過對服務的各個QoS參數(shù)進行綜合處理,形成綜合參數(shù),在該參數(shù)的基礎上實現(xiàn)服務的選擇和調用。一方面,它減少了服務選擇的復雜度,提高了服務匹配效率,實現(xiàn)了調用的優(yōu)化。另一方面,算法選擇了最優(yōu)服務,即能滿足服務消費者的功能性需求和QoS需求又最接近QoS需求的服務,實現(xiàn)了服務的整體優(yōu)化。
目前,服務選擇與不同的服務領域特性相結合是提高選擇效率與準確性的一種思路,已有相關成果出現(xiàn)[9~11]。在今后的研究中逐漸將此方法擴展到服務領域,以更好地服務于基于QoS的Web服務選擇。