線性歸一化方法至少可體現(xiàn)為W下H種中的一種:
[0134] (1)如果開銷度量的取值與網(wǎng)絡性能成正比關系,可利用公式C'。= 1〇&。杞,) 進行歸一化處理;如果開銷度量的取值與網(wǎng)絡性能成反比關系,可利用公式C' 1, =-IogiO(Cy)進行歸一化處理。
[0135] (2)如果開銷度量的取值與網(wǎng)絡性能成正比關系,可利用公式C'。= Ig(Cy)進 行歸一化處理;如果開銷度量的取值與網(wǎng)絡性能成反比關系,可利用公式C'。= -Ig(Cu) 進行歸一化處理。
[0136] (3)如果開銷度量的取值與網(wǎng)絡性能成正比關系,可利用公式C' 1,= arctan(Ci,)*(2/n)進行歸一化處理;如果開銷度量的取值與網(wǎng)絡性能成反比關系,可利 用公式 C' U = l-a;rctan(Ci.j)*(2/3T)進行歸一化處理。
[0137] 本發(fā)明實施例對應用引擎進行歸一化處理的方式可不做具體限定。
[013引 (2)應用引擎計算i = 1的服務節(jié)點的綜合開銷。
[0139] 結(jié)合上文所舉示例,i = 1的服務節(jié)點的綜合開銷為:
[0140] Cl = C' n*Wi+C' 12*胖2+〔' 13*胖3 = 1/3*0. 5+1*0. 25巧/10*0. 25 = 0. 59
[0141] 同樣地,按照上文介紹的計算綜合開銷的過程,應用引擎還可計算獲得i = 2的服 務節(jié)點的綜合開銷為Cz = 0. 83, i = 3的服務節(jié)點的綜合開銷為Cs = 0. 46, i = 4的服務 節(jié)點的綜合開銷為C4 = 0。如此,應用引擎便可確定出4個服務節(jié)點的排序。
[0142] 可選地,應用引擎可向應用程序返回各服務節(jié)點的綜合開銷值,由應用程序根據(jù) 所述綜合開銷值選取最優(yōu)服務節(jié)點;或者,應用引擎可W向應用程序返回服務節(jié)點的排序; 或者,應用引擎可W利用綜合開銷或排序選取最優(yōu)服務節(jié)點,并向應用程序返回最優(yōu)服務 節(jié)點的標識。本發(fā)明實施例對此可不做具體限定。
[0143] 綜上,本發(fā)明實施例的應用引擎即可基于多種開銷度量,計算各服務節(jié)點的綜合 開銷,為選取最優(yōu)服務節(jié)點提供一定的技術支持。本發(fā)明實施例綜合多種開銷度量選取最 優(yōu)服務節(jié)點,還有助于提高應用程序為用戶提供業(yè)務的質(zhì)量。
[0144] 參見圖3,示出了本發(fā)明實施例用于選取服務節(jié)點的方法實施例2的流程圖,可包 括:
[0145] 301,所述應用引擎獲得應用程序發(fā)送的ALTO服務請求,所述ALTO服務請求包括 所述至少兩種開銷度量的標識和/或業(yè)務的質(zhì)量要求,所述業(yè)務的質(zhì)量要求用于表示所述 業(yè)務的關鍵質(zhì)量指標(英文擊巧如ality Indicators,簡稱;KQI);所述ALTO服務請求還 包括所述至少兩個服務節(jié)點的標識。
[0146] 在需要綜合多開銷度量進行服務節(jié)點選取時,應用引擎還可從應用程序獲得ALTO 服務請求,并利用ALTO服務請求生成ALTO查詢請求,向ALTO服務器發(fā)送ALTO查詢請求。
[0147] 舉例來說,ALTO服務請求可W包括至少兩個服務節(jié)點的標識和至少兩種開銷度量 的標識?;蛘?,ALTO服務請求可W包括至少兩個服務節(jié)點的標識和業(yè)務的質(zhì)量要求?;蛘撸?ALTO服務請求可W包括至少兩個服務節(jié)點的標識、至少兩種開銷度量的標識和業(yè)務的質(zhì)量 要求。
[0148] 舉例來說,針對ALTO服務請求包括至少兩個服務節(jié)點的標識、至少兩種開銷度量 的標識和業(yè)務的質(zhì)量要求,具體可包括:
[0149] (1)所述至少兩個服務節(jié)點中的部分服務節(jié)點,對應于所述至少兩種開銷度量的 標識;且所述至少兩個服務節(jié)點中的剩余部分服務節(jié)點,對應于所述業(yè)務的質(zhì)量要求。舉例 來說,W上文所舉N = 4的示例為例,ALTO服務請求中,i = 1的服務節(jié)點、i = 2的服務節(jié) 點和i = 3的服務節(jié)點對應于至少兩種開銷度量,i = 4的服務節(jié)點對應于業(yè)務的質(zhì)量要 求。
[0150] (2)所述至少兩個服務節(jié)點中的每個服務節(jié)點,同時對應于所述至少兩種開銷度 量的標識和所述業(yè)務的質(zhì)量要求,如此,應用引擎便可利用所述至少兩種開銷度量的標識 和所述業(yè)務的質(zhì)量要求,相互進行校驗。具體地,應用引擎可W將業(yè)務的質(zhì)量要求轉(zhuǎn)換為 至少兩種開銷度量,并與ALTO服務請求中的至少兩種開銷度量相比較,實現(xiàn)相互校驗的目 的。關于將業(yè)務的質(zhì)量要求轉(zhuǎn)換為至少兩種開銷度量的方式,此處暫不詳述,具體可參見下 文所做介紹。
[0151] 舉例來說,本發(fā)明實施例中,業(yè)務的質(zhì)量要求可W為第一質(zhì)量要求,可包括;節(jié)點 的類型和業(yè)務的關鍵參數(shù)。W上文所舉觀看視頻的業(yè)務需求為例,業(yè)務的關鍵參數(shù)至少可 包括:緩沖時間、卡頓次數(shù)和分辨率等??山Y(jié)合具體業(yè)務來確定業(yè)務的關鍵參數(shù),本發(fā)明實 施例對此可不做具體限定。
[0152] 或者,舉例來說,業(yè)務的質(zhì)量要求可W為第二質(zhì)量要求,可包括:業(yè)務的類型和業(yè) 務的名稱。W上文所舉觀看視頻的業(yè)務需求為例,業(yè)務的類型至少可包括;直播和點播等; 業(yè)務的名稱至少可包括;躍頂(英文=Over The Top,簡稱;0TT)和網(wǎng)絡協(xié)定電視(英文: Internet Protocol Television,簡稱;IPTV)等??山Y(jié)合具體業(yè)務來確定業(yè)務的類型和業(yè) 務的名稱,本發(fā)明實施例對此可不做具體限定。
[0153] 或者,舉例來說,業(yè)務的質(zhì)量要求可W包括;節(jié)點的類型、業(yè)務的關鍵參數(shù)、業(yè)務的 類型和業(yè)務的名稱。本發(fā)明實施例對質(zhì)量要求的具體內(nèi)容可不做具體限定。
[0154] 可選地,相應于所述ALTO服務請求包括所述業(yè)務的質(zhì)量要求,所述應用引擎還可 將所述業(yè)務的質(zhì)量要求轉(zhuǎn)換為所述至少兩種開銷度量。舉例來說,應用引擎可通過W下方 式將業(yè)務的質(zhì)量要求轉(zhuǎn)換為至少兩種開銷度量:所述應用引擎查詢預置數(shù)據(jù)庫,所述預置 數(shù)據(jù)庫保存有所述業(yè)務的質(zhì)量要求與所述至少兩種開銷度量之間的映射關系;所述應用引 擎利用所述映射關系,將所述業(yè)務的質(zhì)量要求轉(zhuǎn)換為對應的所述至少兩種開銷度量。
[0155] 舉例來說,至少可通過經(jīng)驗數(shù)據(jù)、統(tǒng)計數(shù)據(jù)或者相關標準規(guī)定中的至少一種方式, 確定業(yè)務的質(zhì)量要求與至少兩種開銷度量之間的映射關系,本發(fā)明實施例對此可不做具體 限定。
[0156] 302,所述應用引擎向所述ALTO服務器發(fā)送ALTO查詢請求,所述ALTO查詢請求包 括所述至少兩種開銷度量和所述至少兩個服務節(jié)點的標識。
[0157] 應用引擎獲得至少兩個服務節(jié)點的標識和至少兩種開銷度量的標識后,可向ALTO 服務器發(fā)送ALTO查詢請求。舉例來說,應用引擎向ALTO服務器發(fā)送ALTO查詢請求可W包 括;應用引擎可W利用至少兩個服務節(jié)點的標識和至少兩種開銷度量的標識生成ALTO查 詢請求,并發(fā)送至ALTO服務器。具體可參見下文圖12處所做介紹,此處暫不詳述?;蛘?, 應用引擎可W調(diào)用ALTO客戶端,使ALTO客戶端利用至少兩個服務節(jié)點的標識和至少兩種 開銷度量的標識生成ALTO查詢請求,并發(fā)送至ALTO服務器。具體可參見下文圖6、圖7、圖 8、圖9和圖11處所做介紹,此處暫不詳述。
[0158] 303,所述應用引擎從應用層流量優(yōu)化ALTO服務器獲得至少兩個服務節(jié)點的開銷 集合,所述開銷集合包括每個服務節(jié)點對應于至少兩種開銷度量的取值。
[0159] 304,所述應用引擎獲得權重集合,所述權重集合包括所述至少兩種開銷度量中每 種開銷度量的權重值。
[0160] 305,所述應用引擎利用所述開銷集合和所述權重集合,計算每個服務節(jié)點的綜合 開銷,所述綜合開銷用于指示對所述至少兩個服務節(jié)點進行排序,并從所述至少兩個服務 節(jié)點中選取最優(yōu)服務節(jié)點。
[0161] 本實施例中303~305的實現(xiàn)方式,可參見上文圖2中201~203處所做介紹,此 處不再賞述。
[0162] 可選地,基于圖2、圖3所示方案,本發(fā)明實施例中的應用引擎還可在計算所述至 少兩個服務節(jié)點中每個服務節(jié)點的綜合開銷之前,對所述至少兩個服務節(jié)點進行預處理, 剔除所述至少兩個服務節(jié)點中不滿足要求的服務節(jié)點,獲得剩余服務節(jié)點集合。進而再利 用開銷集合和權重集合,計算所述剩余服務節(jié)點集合中每個服務節(jié)點的綜合開銷。關于預 處理的過程,可參考下文圖4、圖5所示實施例,此處暫不詳述。
[0163] 參見圖4,示出了本發(fā)明實施例用于選取服務節(jié)點的方法實施例3的流程圖,可包 括:
[0164] 401,所述應用引擎從應用層流量優(yōu)化ALTO服務器獲得至少兩個服務節(jié)點的開銷 集合,所述開銷集合包括每個服務節(jié)點對應于至少兩種開銷度量的取值。
[0165] 402,所述應用引擎獲得權重集合,所述權重集合包括所述至少兩種開銷度量中每 種開銷度量的權重值。
[0166] 本實施例中401、402的實現(xiàn)方式,可參見上文圖2中201、202處所做介紹,此處不 再賞述。
[0167] 403,所述應用引擎獲得所述至少兩種開銷度量中每種開銷度量的要求值。
[016引 W上文所舉示例為例,應用引擎獲得的至少兩種開銷度量的要求值可W為;帶寬 的要求值為2Mbps、時延的要求值為2s、丟包率的要求值為1%。本發(fā)明實施例中,開銷度量 的要求值可W理解為,滿足用戶的業(yè)務需求時,各項開銷度量對應的值。
[0169] 本實施例中,應用引擎至少可通過W下方式獲得所述至少兩種開銷度量的要求 值:
[0170] 方式一,應用引擎直接獲得所述至少兩種開銷度量的要求值。舉例來說,所述至少 兩種開銷度量的要求值,可W來自于應用程序,或者來自于ALTO客戶端、ALTO服務器,本發(fā) 明實施例對此可不做具體限定,只要能向應用引擎提供要求值即可。
[0171] 方式二,應用引擎查詢數(shù)據(jù)庫獲得所述至少兩種開銷度量的要求值。所述數(shù)據(jù)庫 可W為圖3所示實施例中的預置數(shù)據(jù)庫,即,預置數(shù)據(jù)庫中保存的是業(yè)務的質(zhì)量要求、至少 兩種開銷度量、每種開銷度量的要求值H者之間的映射關系,應用引擎進行業(yè)務的質(zhì)量要 求轉(zhuǎn)換時,可獲得至少兩種開銷度量的要求值?;蛘?,所述數(shù)據(jù)庫可W為一個獨立的數(shù)據(jù) 庫,即,所述數(shù)據(jù)庫保存有開銷度量的要求值,應用引擎可查詢所述數(shù)據(jù)庫,獲得至少兩種 開銷度量的要求值。
[0172] 404,所述應用引擎確定每個服務節(jié)點對應于所述至少兩種開銷度量的取值是否 符合所述要求值的要求。
[0173] 405,如果存在不符合所述要求值的要求的服務節(jié)點,所述應用引擎從所述至少兩 個服務節(jié)點中剔除所述不符合所述要求值的要求的服務節(jié)點,獲得剩余服務節(jié)點集合。
[0174] 406,所述應用引擎利用所述開銷集合和所述權重集合,計算所述剩余服務節(jié)點集 合中每個服務節(jié)點的綜合開銷,所述綜合開銷用于指示對所述至少兩個服務節(jié)點進行排 序,并從所述至少兩個服務節(jié)點中選取最優(yōu)服務節(jié)點。
[0175] 本實施例中,應用引擎計算服務節(jié)點的綜合開銷之前,可先對所述至少兩個服務 節(jié)點進行預處理。
[0176] 舉例來說,預處理可W為;利用開銷查詢獲得的Cl,進行預處理,即,從所述至少兩 個服務節(jié)點中剔除取值不滿足要求值的服務節(jié)點。舉例來說,取值不滿足要求值可W為:帶 寬低于2Mbps、時延大于2s、丟包率大于1 %,結(jié)合表1所舉示例,預處理過程中,可剔除i = 4的服務節(jié)點,對應地,剩余服務節(jié)點集合包括i = 1,2, 3共計3個服務節(jié)點。
[0177] 通常,ALTO服務器為ALTO客戶端提供的查詢服務中,未考慮各種查詢服務之間的 關聯(lián)關系。對應于此,本發(fā)明實施例提供了用于選取服務節(jié)點的方法實施例4,參見圖5,可 包括:
[0178] 501,所述應用引擎從應用層流量優(yōu)化ALTO服務器獲得至少兩個服務節(jié)點的開銷 集合,所述開銷集合包括每個服務節(jié)點對應于至少兩種開銷度量的取值。
[0179] 502,所述應用引擎獲得權重集合,所述權重集合包括所述至少兩種開銷度量中每 種開銷度量的權重值。
[0180] 本實施例中501、502的實現(xiàn)方式,可參見上文圖2中201、202處所做介紹,此處不 再賞述。
[0181] 503,所述應用引擎從所述ALTO服務器獲得所述至少兩個服務節(jié)點中每個服務節(jié) 點的節(jié)點屬性。
[0182] 舉例來說,服務節(jié)點的節(jié)點屬性至少可W包括節(jié)點的類型和節(jié)點的接入方式。 舉例來說,節(jié)點的類型可W為服務器(英文;server)、智能終端(英文;smartphone)、個 人計算機(英文;personal computer,簡稱;PC)、手機(英文;mobile)、電視機(英文: television,簡稱;TV)等等,本發(fā)明實施例對節(jié)點的類型可不做具體限定。舉例來說,節(jié)點 的接入方式可W為光纖接入、帶寬接入等等,本發(fā)明實施例對節(jié)點的接入方式可不做具體 限定。
[0183] 504,所述應用引擎根據(jù)所述節(jié)點屬性,確定所述至少兩個服務節(jié)點中是否存在不 能作為所述最優(yōu)服務節(jié)點的服務節(jié)點。
[0184] 505,如果存在不能作為所述最優(yōu)服務節(jié)點的服務節(jié)點,所述應用引擎從所述至少 兩個服務節(jié)點中剔除所述不能作為所述最優(yōu)服務節(jié)點的服務節(jié)點,獲得剩余服務節(jié)點集 合。
[0185] 506,所述應用引擎利用所述開銷集合和所述權重集合,計算所述剩余服務節(jié)點集 合中每個服務節(jié)點的綜合開銷,所述綜合開銷用于指示對所述至少兩個服務節(jié)點進行排 序,并從所述至少兩個服務節(jié)點中選取最優(yōu)服務節(jié)點。
[0186] 本實施例中,查詢服務之間的關聯(lián)關系主要指的是開銷查詢與屬性查詢之間的關 聯(lián)關系。開銷查詢至少可W為ECS,屬性查詢至少可W為EPS,本發(fā)明實施例對此可不做具 體限定。
[0187] 本實施例中,應用引擎計算服務節(jié)點的綜合開銷之前,可先對所述至少兩個服務 節(jié)點進行預處理。
[018引舉例來說,預處理可W為;利用屬性查詢獲得的節(jié)點屬性進行預處理,即,從至少 兩個服務節(jié)點中剔除屬性不能作為最優(yōu)服務節(jié)點的服務節(jié)點。如,表1所舉示例中,i = 1 的服務節(jié)點的類型為server, i = 2的服務節(jié)點的類型為server, i = 3的服務節(jié)點的類型 為PC,i = 4的服務節(jié)點的類型為smart地one。仍W業(yè)務需求為觀看視頻為例,通常不會由 smartphone作為視頻播放資源提供者,因此,預處理過程中,