黎玉琴
(平涼信息工程學校 平涼 744000)
隨著Web服務的迅速發展,在Internet這種開放的網絡環境中涌現了大量的功能相同的Web服務,如何在眾多的服務中選取最符合用戶需求的服務成為其中一個急需解決的問題。Web服務的服務質量QoS(Quality of Service)在Web服務發現和選擇過程中扮演著重要的角色?,F有的Web服務體系結構完成了服務注冊、發現、綁定等,但對QoS考慮較少。針對QoS的研究目前已經提出了大量的模型,這些研究包括文獻[1~2]提出的Web服務模型及體系結構,文獻[3~6]提出的QoS驅動的服務選擇。國內的學者也就該問題展開了較多的研究。
綜觀這些成果,它們的研究都基于兩種基本思想:1)引入某個新的基礎設施來解決Web服務的QoS問題。2)擴展UDDI的功能,進行QoS參數管理。在Web服務選擇算法中,對這些QoS參數按照權重逐個匹配,最后返回滿足消費者需求的服務。上述模型和算法存在一個重要的缺陷:Web服務發現過程和相應的體系結構變得復雜,服務選擇復雜度高。一方面,執行服務發現和選擇算法過程中,要求其了解所有QoS參數及其屬性,增加了算法復雜度,降低了匹配的成功率。另一方面,匹配過程漫長,消費者本身關心的參數可能是所有參數中的少數幾個。本文針對現有的Web服務體系結構,就解決傳統QoS處理中的缺陷,提出了一個基于QoS參數的Web服務選擇優化模型。
Web 服務的 QoS 參數如圖 1[7~8]所示,Shuping Ran在文獻[1]中將其分為五類:運行時間相關的QoS、事務支持相關的QoS、結構管理相關的QoS、費用相關的QoS和安全相關的QoS。
設服務S的綜合QoS參數為OverallQoS,由該服務的m個QoS參數來刻畫,即
在不同的定義和實現中,不同參數有著不同的表達形式和數值范圍,而且有些QoS參數對于服務評價產生負面影響,其值越大服務的QoS評價就應該越低,如服務費用、響應時間等;而有些QoS參數對服務評價產生正面影響,其值越大服務的QoS評價就應該越高,如可用性、可靠性等,為了進行綜合評價,需要對QoS參數進行歸一化處理,使得所有QoS參數取值在[0,1]之間。歸一化采用如下線性方法:
設服務 Si的第j個QoS參數取值最大為最小為當前值為則歸一化的表示為
假設服務Si的所有QoS參數經過了歸一化處理,采用加權和綜合評價模型:
在Web服務中,支撐QoS模型的體系結構由四部分構成:服務消費者、服務提供者、服務注冊中心以及QoS管理中心。其中,QoS管理中心是在現有Web服務體系結構中引入的一個新的基礎設施,它負責對QoS相關參數的獲取、管理和綜合參數的評價。其構成如圖2所示。
圖2 QoS體系結構
服務消費者在查找某個服務時,提供功能性參數和QoS參數,以實現服務的選擇。服務提供者實現對服務的發布和調用以及配合QoS評價的需要提供其所保證的QoS。
在QoS管理中心,實現各種服務QoS參數的管理和維護,為評價和服務選擇提供支撐;評價算法依據QoS參數數據,實現對參數的歸一化處理、綜合參數的計算。
QoS參數的獲取和評價在時間上應當是同步的,每當QoS管理中心獲取一次數據,便可進行一次評價。在該模型中,QoS參數的獲取和評價采用事件驅動的方式,它以導致一次評價活動的數據變化為依據,在基于QoS參數的Web服務模型中可能導致QoS參數數據變化的事件有:服務提供者的注冊和注銷;Web服務的發布和注銷以及一次Web服務使用結束等。采用事件驅動避免了評價的滯后性,使得更新反映及時、準確。
QoS參數綜合的服務選擇算法中,首先依據服務消費者所需服務的功能產生候選資源集合,再按照對應的所保證的綜合參數對其排序,形成候選服務有序集合S。針對S包含的服務,在QoS管理中心獲取相應綜合參數值OverallQoS,選擇所需資源。設某消費者C提出的功能性參數為FC,綜合參數為OverallQoSC,算法描述如下:
上述算法在集合S中,就綜合參數選擇了OverallQoSC≤OverallQoSj,且 (OverallQoSj-OverallQoSC)的值最小,實現了服務在綜合參數上的合理選擇,不再選擇OverallQoS參數最大的而形成服務的浪費,從而將具有高質量保證的服務提供給對QoS需求更高的消費者,達到負載平衡。
1)負載均衡。將評價轉移到另一基礎設施中去完成,可實現系統整體的負載均衡。
2)服務選擇過程優化。由于采用了綜合參數處理,QoS綜合參數算法服務選擇過程得到了優化,減少了在QoS參數上逐個匹配而導致的迭代過程。
3)服務利用率最大化。QoS綜合參數算法不再針對單個QoS最好的服務,而是在滿足請求要求的范圍內試圖使整個系統服務利用最大化。即選擇服務時,在候選服務中尋找綜合參數上滿足OverallQoSC≤OverallQoSj,且 min(OverallQoSj-OverallQoSC)的服務。
文章通過對服務的各個QoS參數進行綜合處理,形成綜合參數,在該參數的基礎上實現服務的選擇和調用。一方面,它減少了服務選擇的復雜度,提高了服務匹配效率,實現了調用的優化。另一方面,算法選擇了最優服務,即能滿足服務消費者的功能性需求和QoS需求又最接近QoS需求的服務,實現了服務的整體優化。
目前,服務選擇與不同的服務領域特性相結合是提高選擇效率與準確性的一種思路,已有相關成果出現[9~11]。在今后的研究中逐漸將此方法擴展到服務領域,以更好地服務于基于QoS的Web服務選擇。