• 沒有找到結果。

第三章 一個在不信任的環境下基於服務品質和協同過濾的兩階段網路服務發現

3.3 階段二 : 服務品質排序

經由第一階段所找到的網路服務不僅可以滿足使用者的功能需求,亦可以排 除 QoS 不正確的服務,然而,這些網路服務所提供的功能可能都是相同的,使 用者仍然很難從中選出一個好的服務。因此,為了解決服務選擇(Service Selection) 的問題,幫助使用者從這些網路服務中找到一個好的服務,第二階段會將第一階 段所篩選過後的網路服務,再依據使用者對網路服務的 QoS 需求,來排名網路 服務,做為推薦服務的依據。主要的步驟如下 :

 步驟 2.1 : 建立服務品質與網路服務矩陣

 步驟 2.2 : 正規劃服務品質數值

 步驟 2.3 : 計算服務品質分數

25

3.3.1 步驟 2.1 : 建立服務品質與網路服務矩陣

在本論文中,我們參考了過去的文獻[22,37,11]選了四個較常拿來衡量網路 服務服務品質的屬性,詳細的描述如下 :

 價格(Price) : 指的是請求網路服務的成本,單位是以次計費。

 可用度(Availability) : 指的是一段時間區段內,網路服務可用的機率為 多少,單位是一天的機率(%/1-day)。

 反應時間(Response Time) : 指的是當使用者發出請求訊息給網路服務 時,多久後可以得到正確的回應,單位為毫秒。

 總處理量(Throughput) : 指的是網路服務在一段時間區段內,網路服務 可以處理最大的請求次數,單位為一秒鐘請求的次數(requests/second)。

因此,一開始我們先針對所有提供相同功能的網路服務,以及服務提供者所 發佈相對應的服務品質資訊,建立一服務品質與網路服務的矩陣。如圖 13 所示,

代表網路服務, 為網路服務的個數。 為服務品質屬性, 為服務品質屬性 的個數。 代表網路服務 中服務品質 的數值。

另外,因為每個服務品質屬性所代表的意義都不同,因此在矩陣中 所存 的數值,亦要因為服務品質屬性的特性而有所不同。在這裡,本論文將服務品質 屬性分為兩類。第一類是服務品質屬性的數值越小所代表服務品質越好,例如,

網路服務的價格和反應時間。而第二類則是服務品質屬性的數值越大所代表服務 品質越好,例如,可用度和總處理量。因此,在矩陣中會將第一類的服務品質屬 性的原本數值以倒數的數值放到矩陣中,而第二類的服務品質屬性則是以原本的 數值放到矩陣當中。

26

圖 13、服務品質與網路服務矩陣

3.3.2 步驟 2.2 : 正規化服務品質數值

由於每項服務品質的計算單位和大小差距都不相同,因此需要將步驟 2.1 的 矩陣作正規劃的處理,使得所有的數值都在同一個比較基準之下,才能夠將網路 服務依服務品質來排序。

以圖 13 為例,為了正規劃服務品質數值 ,一開始我們必頇先找到每項服 務品質屬性 中的最大值 :

之後再將 和 相比得到正規畫的數值 ,使得所有的數值都會介於 0 到 1 之間,計算的公式如下 :

3.3.3 步驟 2.3 : 計算服務品質分數

接下來,為了能夠滿足不同使用者對網路服務的服務品質需求,在計算服務 品質分數時,針對不同的服務品質 會給予不同的權重 ,例如當使用者想要

27

找到最便宜的網路服務,那就代表使用者對價格的服務品質屬性有比較高的需求,

而應該在計算價格的服務品質上給予較高的權重。

因此,當使用者送出查詢網路服務的請求訊息時,當中的資訊會包含使用者 針對每個服務品質的重要性所做的排序,排序越高代表越重要,權重也會越高。

例如,當使用者的排序依序為價格、反應時間、總處理量、和可用度時,則在計 算分數時價格的權重會最高,而可用度的權重會最低。除此之外,權重的數值都 是介於 0 到 1 之間,而所有權重的加總則會等於 1。因此,針對步驟 2.2 的正規 劃數值 乘上相對的權重 後就會得到個別服務品質的分數 。計算的公式 如下 :

最後,將各個網路服務中所有的服務品質分數加總,就可以得到針對使用者 服務品質需求所計算而得的分數,並依照分數高低來推薦給使用者。其中,分數 越高的網路服務代表越能夠符合使用者的服務品質需求。計算的公式如下 :

而整體第二階段的流程如下 :

28

圖 14、第二階段流程圖