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