賴永浜
同濟(jì)大學(xué)電子與信息工程學(xué)院,上海 201804
隨著Web服務(wù)的發(fā)展,Web服務(wù)技術(shù)已從最初的理論實驗階段逐步走向了大規(guī)模的商業(yè)應(yīng)用階段(如亞馬遜,微軟等公司),這樣的結(jié)果就是網(wǎng)絡(luò)上出現(xiàn)了大量功能相同或相似的Web服務(wù)。而這些類似的Web服務(wù),往往具有不同的諸如穩(wěn)定性、響應(yīng)時間、可靠性等非功能性屬性。這也使得我們在選擇這些Web服務(wù)時,就必須考慮他們的非功能性屬性,即服務(wù)質(zhì)量(QoS,Quality of Service)。用戶在面對網(wǎng)絡(luò)上海量的Web服務(wù),特別是面對這些功能上相同或相似的候選服務(wù)時,如何動態(tài)地選擇出最能滿足用戶需求的服務(wù)已經(jīng)成為Web服務(wù)發(fā)現(xiàn)與選擇以及組合領(lǐng)域中的一個核心問題。面對動態(tài)最優(yōu)服務(wù)選擇問題,在功能匹配前提上,考慮Web服務(wù)的服務(wù)質(zhì)量是一個行之有效的解決途徑。
我們根據(jù)Web服務(wù)質(zhì)量來動態(tài)選擇服務(wù)時,就必須對Web服務(wù)的服務(wù)質(zhì)量進(jìn)行準(zhǔn)確的評估預(yù)測。我們知道,互聯(lián)網(wǎng)具有不穩(wěn)定性、網(wǎng)絡(luò)延時,抖動等特性,因而Web服務(wù)的服務(wù)質(zhì)量是動態(tài)變化的?,F(xiàn)提出的一些Web服務(wù)質(zhì)量評估方法在服務(wù)質(zhì)量評估過程中沒有充分考慮服務(wù)質(zhì)量的動態(tài)變化,沒有建立一個比較合適合對服務(wù)質(zhì)量進(jìn)行動態(tài)評估的評估機(jī)制,不能達(dá)到對服務(wù)的表現(xiàn)進(jìn)行準(zhǔn)確預(yù)測的效果。為了克服這一局限性,本文提出了一種利用遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)對服務(wù)質(zhì)量進(jìn)行動態(tài)預(yù)測的評估方法。在此強(qiáng)調(diào)一下,本文中提出的預(yù)測評估是對服務(wù)質(zhì)量中反映服務(wù)表現(xiàn)的動態(tài)客觀屬性(如響應(yīng)時間,可靠性,可用性等)進(jìn)行預(yù)測。
BP(Back Propagation)網(wǎng)絡(luò)是由Rumelhart和McCelland為首的科學(xué)家小組于1986年提出的一種神經(jīng)網(wǎng)絡(luò)算法,具有信號向前傳遞,誤差反向傳播的特性。利用該特性結(jié)合使用大量的訓(xùn)練數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),即得到一個具有最優(yōu)權(quán)值和閾值的神經(jīng)網(wǎng)絡(luò)。遺傳算法是由J.Holland教授于1975年首先提出來的一種神經(jīng)網(wǎng)絡(luò)算法。它的最大特征就是模擬達(dá)爾文進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理,實現(xiàn)“優(yōu)勝劣汰,適者生存”,從而得到優(yōu)解。遺傳算法的核心就是把“優(yōu)勝劣汰,適者生存”的進(jìn)化論理論應(yīng)用到算法里面的具體參數(shù)當(dāng)中。它將初始的群體進(jìn)行編碼,個體之間進(jìn)行交叉和變異操作,然后按照適應(yīng)度函數(shù)對群體中的個體進(jìn)行篩選,實現(xiàn)優(yōu)勝劣汰。
本文提出的預(yù)測模型就是遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型。遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)總體可以分為三步∶第一步,利用BP神經(jīng)網(wǎng)絡(luò)來確定網(wǎng)絡(luò)結(jié)構(gòu),確切來說是根據(jù)擬合函數(shù)的輸入輸出參數(shù)個數(shù)來確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),從而確定遺傳算法中個體的編碼長度;第二步,利用遺傳算法來優(yōu)化神經(jīng)網(wǎng)絡(luò),即使用遺傳算法來不斷優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,我們在編碼時設(shè)置種群中的每個個體都包含了一個網(wǎng)絡(luò)中所有的權(quán)值和閾值,個體通過適應(yīng)度函數(shù)計算個體適應(yīng)度值,遺傳算法通過選擇,交叉和編譯操作找到最優(yōu)適應(yīng)度值的個體;最后是用前面得到的最優(yōu)BP神經(jīng)網(wǎng)絡(luò)來做Web服務(wù)服務(wù)質(zhì)量預(yù)測,以Web服務(wù)的歷史QoS數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入,經(jīng)過網(wǎng)絡(luò)的計算得到我們所需的QoS預(yù)測值,為Web服務(wù)的選擇提供依據(jù)。遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法流程如圖1所示。
圖1 算法流程示意圖
為了驗證本文提出的Web Service服務(wù)質(zhì)量預(yù)測算法,我們將采用由Zibin Zheng 和Michael R.Lyu提供的WS-DREAM dataset,這些數(shù)據(jù)是由他們以調(diào)研大量現(xiàn)實Web Service為基礎(chǔ)采集而得,在Web服務(wù)QoS領(lǐng)域具有很大的說服力與權(quán)威性。我們將采用數(shù)據(jù)集中的響應(yīng)時間(response time)來做本次仿真實驗。在實驗中,我們?nèi)ataset中id為1992的Web Service的響應(yīng)時間實驗數(shù)據(jù),BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為:輸入層2個節(jié)點,隱含層5個節(jié)點,輸出層1個節(jié)點,共有2×5+5×1=15個權(quán)值,5+1=6個閾值,因此我們可以確定遺傳算法中個體的編碼長度為15+6=21.取id為1992的Web Service響應(yīng)時間的前200個數(shù)據(jù)為訓(xùn)練數(shù)據(jù),剩余作為測試數(shù)據(jù)。我們把訓(xùn)練數(shù)據(jù)預(yù)測誤差絕對值和作為個體適應(yīng)度值,個體適應(yīng)度值越小,該個體越優(yōu)。截取實驗測試結(jié)果示圖如圖2。
圖2 試驗結(jié)果示圖
互聯(lián)網(wǎng)具有不穩(wěn)定性、網(wǎng)絡(luò)延時,抖動等特性,因而Web服務(wù)的服務(wù)質(zhì)量是動態(tài)變化的。這在一定程度上影響了我們基于服務(wù)質(zhì)量來發(fā)現(xiàn)服務(wù),選擇服務(wù)和組合服務(wù)。本文正是在這種背景下,結(jié)合BP神經(jīng)網(wǎng)絡(luò)與遺傳算法提出了一種基于服務(wù)質(zhì)量預(yù)測的Web服務(wù)動態(tài)選擇方法,并詳細(xì)介紹了基于QoS預(yù)測服務(wù)質(zhì)量預(yù)測模型,最后利用鄭子彬提供的真實Web服務(wù)QoS數(shù)據(jù)做實驗驗證前面提出的算法。下一步工作將繼續(xù)完善服務(wù)質(zhì)量預(yù)測模型,并將該預(yù)測模型應(yīng)用于我們973項目組自己開發(fā)一個Web服務(wù)平臺之中。
[1]Zibin Zheng, Hao Ma, Michael R.Lyu, Irwin King,"WSRec: A Collaborative Filtering based Web Service Recommender System", in Proceedings of the 7th IEEE International Conference on Web Services (ICWS2009),Los Angeles, CA, USA, July 6-10, 2009.
[2]袁曾任.人工神經(jīng)元網(wǎng)絡(luò)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999:66-68.
[3]楊勝文,史美林.一種支持QoS約束的Web服務(wù)發(fā)現(xiàn)模型[J].計算機(jī)學(xué)報,2005,28(4):589-594.