專利名稱:一種分布式云計算環(huán)境中信息處理服務的部署方法
技術(shù)領域:
本發(fā)明涉及一種云計算環(huán)境中的處理方法,特別是一種云計算中信息處理服務的部署方法。
背景技術(shù):
在IT商業(yè)界與產(chǎn)業(yè)界,云計算已經(jīng)受到越來越多的關注與應用。云為服務的創(chuàng)建、部署、管理和適用提供了相當多的機會。云計算的即用即付的商業(yè)模式,使得云提供商一個關鍵的驅(qū)動力就是合理地適用基礎設施資源以最優(yōu)化地滿足用戶的服務質(zhì)量需求,從而達到降低服務成本,擴大收益的目的。信息處理服務是云計算中一類應用廣泛的服務類型,如對廣域分布的連鎖超市的銷售與庫存信息的分析以指導貨物的調(diào)配,對銀行各服務網(wǎng)點的監(jiān)控信息進行處理以發(fā)現(xiàn)欺詐等行為,對網(wǎng)絡流量的探測信息進行整理以避免擁塞,對線上游戲等數(shù)據(jù)的挖掘以提升用戶體驗等等。這類服務的特點是處理的信息量大,對服務器的計算能力要求高,信息來源廣域分布。此外,很多的信息處理請求需要能夠得到及 時的響應。因此,需要結(jié)合云計算環(huán)境的網(wǎng)絡狀況,服務器的計算能力,服務部署與維護開銷等因素,合理地部署這類信息處理服務,以滿足廣域的信息源(即用戶)的服務質(zhì)量需求。然而,現(xiàn)有的服務部署技術(shù)大多追求整體服務性能的提升,從而忽略了某些用戶的服務質(zhì)量需求,這不滿足目前云計算發(fā)展的需要。此外,這些現(xiàn)有的部署技術(shù)難以適應用戶服務請求數(shù)據(jù)率隨著時間推移而增長這一云計算環(huán)境中的常見情況。
發(fā)明內(nèi)容
發(fā)明目的本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種云計算中信息處理服務的部署方法,通過選擇合適的服務器以部署信息處理服務,從而在嚴格保證分布式云計算環(huán)境中用戶的服務質(zhì)量需求的前提下,減小盡可能低的服務部署與維護開銷以滿足穩(wěn)定的用戶請求,或在指定的服務部署與維護開銷的基礎上,盡可能適應用戶請求可能的擴展情況。為了解決上述技術(shù)問題,本發(fā)明公開了一種分布式云計算環(huán)境中信息處理服務的部署方法,在確定了云計算平臺終端個體用戶的服務請求數(shù)據(jù)率相關信息及其服務質(zhì)量需求、服務器可行計算容量及其之上的服務部署與維護開銷之后,選取合適的服務器以用來部署信息處理服務,包括以下步驟網(wǎng)絡狀況監(jiān)控步驟,按照網(wǎng)絡拓撲結(jié)構(gòu)對網(wǎng)絡鏈路狀況進行監(jiān)測,從而獲取每條網(wǎng)絡鏈路上的傳輸時延;服務部署方案選擇步驟,按照網(wǎng)絡狀況以及當前服務器可行計算容量,結(jié)合終端用戶的服務請求數(shù)據(jù)率相關信息和服務質(zhì)量需求,明確服務部署方案的約束條件,并結(jié)合服務部署開銷選取最優(yōu)的服務部署方案,明確相應的用戶請求分配方案。服務部署步驟,按照最優(yōu)服務部署方案,將服務部署到相應的服務器上。本發(fā)明中,云計算平臺終端用戶的服務請求數(shù)據(jù)以數(shù)據(jù)流的形式出現(xiàn)。
本發(fā)明中,云計算平臺終端用戶的服務請求數(shù)據(jù)率相關信息以明確的數(shù)值或者以隨時間的遞增函數(shù)形式出現(xiàn)。明確的數(shù)值一般可以取[2,4000]之間的任意數(shù)值。隨時間的遞增函數(shù)形式可以是隨時間t遞增函數(shù)#。(0 = (1+入。0艮(0),其中艮(0) —般可以取[2,200]間任意數(shù)值,而λ。一般可以取[O. 1,20]間任意數(shù)值。本發(fā)明中,云計算平臺終端用戶的服務質(zhì)量需求以用戶任意數(shù)據(jù)片段發(fā)出與相應數(shù)據(jù)處理結(jié)果返回給用戶的時延不能超過給定值的形式出現(xiàn)。云計算平臺終端個體用戶的服務質(zhì)量需求定義為,云計算平臺終端個體用戶發(fā)出任意數(shù)據(jù)片段與相應數(shù)據(jù)處理結(jié)果返回給云計算平臺終端個體用戶的時延的最大閾值。最大閾值為時間值,取值范圍為自然數(shù)。本發(fā)明中,服務器可行計算容量以其單位時間可處理的服務請求數(shù)據(jù)量的形式出現(xiàn)。本發(fā)明中,終端用戶與服務器之間的傳輸時延以兩者之間最短傳輸路徑時延的形式出現(xiàn)。本發(fā)明中,服務部署方案的約束條件包括傳輸時延約束條件,即終端用戶與服務 器間的往返傳輸時延不能超過用戶服務質(zhì)量需求,和計算容量約束條件,即每個部署服務的服務器上相連的終端用戶服務請求的數(shù)據(jù)率之和不能超過該服務器的可行計算容量。本發(fā)明中如何選取最優(yōu)的服務部署方案與服務請求數(shù)據(jù)率相關信息出現(xiàn)的形式以及服務器容量信息密切相關。本發(fā)明中,當所有服務器可行計算容量充足(如服務器本身計算能力十分強大或可為服務器追加計算資源)時,最優(yōu)服務部署方案的選擇采用基于集合覆蓋的算法,包括以下子步驟確定每一對服務器與用戶間的傳輸時延,并按照服務部署方案的傳輸時延約束條件,明確每一個服務器所能處理的用戶對象;在每一個迭代過程中,以未部署服務的服務器所能處理的用戶對象個數(shù)(需排除已處理的用戶對象)與其上的服務部署與維護開銷的比值為性價比衡量指標,選取性價比最高的服務器,直到所有用戶對象均以處理或服務器均被挑選。若迭代結(jié)束時,仍有用戶對象未被處理,則返回找不到可行解。本發(fā)明中,當服務器可行計算容量受限且服務請求數(shù)據(jù)率以明確數(shù)值提供時,最優(yōu)服務部署方案的選擇采用基于背包的迭代算法,主要包括以下子步驟確定每一對服務器與用戶間的傳輸時延,并按照服務部署方案的傳輸時延約束條件,明確每一個服務器所能處理的用戶對象。在每一個迭代過程中,為每一個未部署服務的服務器按照背包問題求解算法計算該服務器可處理的最大的服務數(shù)據(jù)率之和,即以該服務器的可行計算容量為背包大小,以該服務器所能處理的用戶對象(需排除已處理的用戶對象)為物品,其數(shù)據(jù)率為物品大小,按照經(jīng)典的背包問題求解算法(如動態(tài)規(guī)劃算法等)計算出該服務器可處理的最大的服務數(shù)據(jù)率之和;再以服務器所能處理的最大服務數(shù)據(jù)率之和與其上的服務部署與維護開銷的比值為性價比衡量指標,選取性價比最高的服務器,直到所有用戶對象均以處理或服務器均被挑選。若迭代結(jié)束時,仍有用戶對象未被處理,則返回找不到可行解。 本發(fā)明中,當服務器可行計算容量一般且服務請求數(shù)據(jù)率以時間的遞增函數(shù)形式出現(xiàn)時,最優(yōu)服務部署方案的選擇采用基于結(jié)合二分法的基于背包的迭代算法,包括以下子步驟選取一個大于零的時間,計算該時間下的每個用戶的請求數(shù)據(jù)率,并采用基于背包的迭代 算法計算當前狀態(tài)下最低的服務部署與維護的總開銷;如果該開銷小于指定開銷(一般可以指定為[100,1000]內(nèi)的數(shù)值),則以二分法的方法提高該時間,如果該開銷大于指定開銷,則以二分法的方法降低該時間,并循環(huán)執(zhí)行上一子步驟,直至可行的時間最大(誤差范圍內(nèi))。有益效果本發(fā)明通過考慮云中所有用戶的服務請求情況以及用戶請求擴展情況,使得信息處理服務通過合理部署,來充分滿足每個用戶的服務質(zhì)量需求;通過對服務的容量限制,避免了服務超載擁塞等狀況;通過考慮服務的部署與維護等開銷,達到了降低成本的目的。本發(fā)明可以廣泛應用于企業(yè)的資源優(yōu)化配置、電子商務等領域,為私有云或公共云環(huán)境中的服務部署提供具有服務質(zhì)量保證的方法,支持外包資源的配置選擇,屬于計算機應用領域。
下面結(jié)合附圖和具體實施方式
對本發(fā)明做更進一步的具體說明,本發(fā)明的上述和/或其他方面的優(yōu)點將會變得更加清楚。圖Ia 圖Id為舉例說明云計算中信息服務的部署問題示意圖。圖2為本發(fā)明總體流程圖。圖3服務器容量充足時,基于集合覆蓋的算法流程圖。圖4服務器容量受限時,基于背包的迭代算法流程圖。
具體實施例方式圖Ia 圖Id為本發(fā)明通過一個簡單直觀的例子來說明該服務部署問題所關心的要素,重點說明本發(fā)明所要解決的問題??紤]一個分布式的網(wǎng)絡系統(tǒng),其含有三個服務器(用S表示)和六個客戶端(用C表示),如圖la,其客戶端比如是連鎖超市的分店,而服務器由云提供商提供并分布在各地,可以用來處理分店數(shù)據(jù)。每個客戶端會產(chǎn)生大量的分布式數(shù)據(jù),而服務器需要及時地處理這些數(shù)據(jù),并將信息反饋給客戶。在這個例子中,如果本發(fā)明假設每個客戶都必須指派到相鄰的服務器,否則會因為距離過遠而不能保證服務質(zhì)量;而且每個服務器由于容量限制只能處理三個客戶的服務請求。同時,由于需要消耗一定的資源以在服務器上部署和維護服務,本發(fā)明希望盡量減少開銷并保證每個用戶的服務質(zhì)量。圖Ib描繪了一種不能滿足需求的部署形式,圖中“X”表示由于距離過遠服務無法保證用戶的服務質(zhì)量需求。在這種部署方式中,無論如何向SI與S3分派用戶,必有某部分用戶的服務質(zhì)量不能得到滿足。在圖Ic中,用戶CfC4都被分配給了 S3,使得S3超過了負載。因此,當本發(fā)明進行服務部署與分配用戶請求的時候,需要同時考慮用戶的服務質(zhì)量保證和服務器的容量。圖Id給出了符合要求的最優(yōu)化部署與服務分配的策略。由此例可以看出,在服務部署過程中,需要考慮的因素包括用戶節(jié)點服務請求的數(shù)據(jù)率,服務的響應時間,服務器的容量限制,服務部署的開銷等。圖2給出了本發(fā)明總體流程圖,按照流程圖中的步驟分別做闡述
I.網(wǎng)絡狀況監(jiān)測考慮一個由無向圖G=(V,E)表示的分布式云計算系統(tǒng),其中V代表節(jié)點的集合,而i 是節(jié)點之間物理或者邏輯邊的集合。對于E中的每條邊,本發(fā)明可以通過網(wǎng)絡監(jiān)測獲取到其上的傳輸時延。更進一步,可以通過最短路徑算法,獲取到每一對節(jié)點U,V e V之間的最短路徑上的傳輸時延,表示為d(u,v)。2.明確服務部署約束條件本發(fā)明稱需要處理的數(shù)據(jù)源節(jié)點為用戶節(jié)點,并將用戶節(jié)點集合表示為C。每個單獨的用戶c e C的服務請求速率,本發(fā)明記為R。,該速率可能保持穩(wěn)定或者隨著時間變化。如果一個節(jié)點可以用來部署服務,本發(fā)明稱其為服務器。所有這樣的節(jié)點組成了服務器集合,由S表示。每個服務器節(jié)點s e S的可行計算容量,本發(fā)明記為Us,S卩服務器s單位時間內(nèi)能夠處理的數(shù)據(jù)量最多是Us。每個服務器s e S都有一個權(quán)重Cs,代表將指定服務部署在服務器s e S上需要的部署和維護的開銷。這個開銷包括對服務器資源(如CPU和內(nèi)存)的消耗,以及對服務的維護(如服務的更新等操作)。由于用戶產(chǎn)生的數(shù)據(jù)在很多情況下是連續(xù)性的,源源不斷地,所以數(shù)據(jù)不能被分割,否則會導致數(shù)據(jù)的丟失影響服務質(zhì)量。因此,·本發(fā)明要使得每個用戶請求對應于一個服務器。本發(fā)明的目標是將服務放置在選定的服務器上,使得每個用戶都能得到服務質(zhì)量保證,并使得服務器不會發(fā)生超載,同時盡可能地降低開銷。為了及時地為用戶提供服務以便于決策等操作,本發(fā)明需要使每個用戶都在其指定的時間范圍內(nèi)收到服務處理的反饋。具體來講,用戶請求的響應時間包括兩個部分數(shù)據(jù)傳輸時間即用戶與服務器之間的最短路徑傳輸時延。服務處理時間當數(shù)據(jù)到達某個服務器,需要等待然后進行服務的計算。通常來說,本發(fā)明需要避免服務器上接受的用戶請求量超過其可行計算容量,否則必存在某個用戶服務等待時間過長,從而該用戶請求的服務質(zhì)量需求不能滿足。而一旦該條件能夠滿足,服務器上的請求數(shù)據(jù)均能夠得到及時處理,可以把處理時間近似為O。本發(fā)明假設Qc表示用戶c能容忍的響應時間的上限(即服務質(zhì)量需求)。假設用戶C由服務器S處理,令Rss 表示分配給服務器S的用戶服務請求的總和。基于上述考慮,為了保證用戶c的服務質(zhì)量,必須滿足如下兩個限制條件(l)d(c, s) ^ Qc ;(2) RssumS Us.由上所述,當用戶數(shù)據(jù)請求數(shù)據(jù)率為明確數(shù)值(一般可以取[2,4000]之間的任意數(shù)值)時,該服務部署問題的形式化定義為給定一個無向圖G=(V,E),任何一對節(jié)點{u,V}之間的最短路徑長度d (U,V).對用戶節(jié)點集合C c: F中的每個用戶c來說,其用戶請求數(shù)據(jù)率記為R。,服務質(zhì)量需求記為Qc。對服務器節(jié)點集合S c K中的每個服務器s來說,其可行計算容量記為Us,部署維護服務的開銷記為cs。服務部署問題的目標是找到一個子集D c S和函數(shù)f:C —D,最小化EsellCs同時滿足如下兩個限制條件1)時延限制對每個用戶c e C,d(c,f (c)) ^ Qc ;2)容量限制:對每個服務器 s e D,Σ。eC:f(c) = SRC ( Us。3.用戶請求數(shù)據(jù)率與服務器容量的不同場景下的最優(yōu)化服務部署方案選擇I)如圖3所示,當服務器可行計算容量充足時,采用基于集合覆蓋的算法當服務器容量充足時,服務部署只需要考慮傳輸時延約束條件。本發(fā)明采用基于集合覆蓋的算法來解決。
用G=(V,E)表示網(wǎng)絡拓撲,C代表用戶集,S代表服務器集;對每個用戶c e C,Qc代表用戶的服務質(zhì)量要求;對每個服務器s e SyR表服務開銷。D用來保存選到的服務器集合,初始值D賦值為Φ。首先構(gòu)造一個二部圖G1= (S U C,E’),其中E’={(s,c) s e S, c e C,且d(s,c) ( QJ,即滿足每個用戶c e C的服務質(zhì)量要求。對每個服務器s e S,所有連接到該服務器的用戶節(jié)點組成一個子集,記為Cs=Ic e C|d(c, s) < QJ,Cs中元素的個數(shù)為s在匕中的度ds,性價比cs/ds。據(jù)此產(chǎn)生了集合覆蓋問題的一個實例元素的全集是C,而對每個s e S,Cs組成了 C的子集的集合。Cs的權(quán)值是cs。目標是找到一個最小總代價的可以覆蓋所有C中用戶的Cs的集合。用戶到服務器的請求分配也可以在挑選合適的服務器節(jié)點進行服務部署的過程中確定。在算法的每一輪迭代過程中,性價比最高的服務器被挑選出來,即選擇s’=argmincs/ds,由此將s’加入選出的服務器集合D中。C’為s’覆蓋的用戶集,所有可以連接到此服務器但還沒有被分配的客戶都被指派到該服務器上。將選出的服務器與服務器覆蓋的用戶從G1中去掉,并判斷用戶集C是否被全部覆蓋。如果C為空集,則選出的服務器集合為D。否則,判斷服務器是否被分配完全。如果剩余的S不是空集,SP還有沒有被分配的服務器,此時,將去掉選出的服務器與分配的用戶后的子圖進行迭代;如果S是空集,則現(xiàn)有的服務器不能滿足要求,由此需要加入新的服務器。
如圖4所示,當服務器容量受限時,且用戶請求數(shù)據(jù)率為明確數(shù)值時,采用基于背包的迭代算法用G=(V,E)表示網(wǎng)絡拓撲,C代表用戶集,S代表服務器集;對每個用戶c e C,Qc代表用戶的服務質(zhì)量要求;對每個服務器s e S,cs代表服務開銷,US代表服務器容量。D用來保存選到的服務器集合,初始值D賦值為Φ。根據(jù)每個用戶c e C的服務質(zhì)量要求建立服務器與用戶之間的連接關系。由于服務器有容量上限,因此本發(fā)明希望服務部署到的服務器節(jié)點能夠在容量范圍內(nèi)盡可能服務于更多的用戶?;诒嘲牡惴ㄅc背包問題密切相關每個服務器s相當于容積為Us的背包,而每個連接到服務器的用戶c相當于體積為Rc且收益為R。的物品。本發(fā)明可以通過背包問題的動態(tài)規(guī)劃算法或其他近似算法來獲取該服務器所能處理的最大服務請求數(shù)據(jù)率之和。在基于背包的算法的每次迭代過程中,選擇一個服務器然后首先將相連的葉子用戶(給定一個圖G,本發(fā)明稱度為I的節(jié)點為葉子節(jié)點,并稱唯一的那條連結(jié)到該節(jié)點的邊為懸掛邊。顯而易見,所有連結(jié)到懸掛邊的服務器必須部署服務,否則相應的葉子用戶的服務質(zhì)量不能滿足)都分配到該服務器,剩余的用戶根據(jù)服務器的剩余容量按照背包問題的解決方案分配到服務器。KBA的具體執(zhí)行流程見圖4。其細節(jié)介紹如下步驟1,處理葉子用戶如果存在用戶節(jié)點是葉子節(jié)點,那么它相鄰的服務器直接被選出。接著先將所有與其相連的葉子用戶都連接到該服務器上。如果服務器的容量不足以容納這些用戶,那么找不到可行解,算法終止(此時需要添加新的服務器,并不在本發(fā)明考慮范圍內(nèi))。否則,利用導出的背包問題將服務器的剩余容量分配給用戶。對于圖中其它的葉子用戶,本發(fā)明將在下一輪迭代中進行處理。步驟2,選擇一個服務器如果網(wǎng)絡中沒有葉子用戶節(jié)點存在,則選擇性價比最高的服務器,然后通過解決背包問題將所有可以裝載入該服務器的用戶去除,服務器S的性價比被定義為當s處理其能處理到的最大用戶請求(即s作為背包被裝滿)時的平均開銷,即,cs/Ps,其中Ps是作為背包問題目標函數(shù)的服務器的最大收益。
步驟3,迭代執(zhí)行完步驟I和步驟2,選到的服務器和被分配的用戶從圖中移出。每個連接到被選擇到但未被分配的用戶的度都將減1,因此一些用戶可能成為新的葉節(jié)點。迭代執(zhí)行步驟1-3,直到所有的用戶都被分配,或者算法找到一個不可能被滿足的用戶而終止。2)當服務器可行計算容量受限且服務請求數(shù)據(jù)率以時間的遞增函數(shù)形式出現(xiàn)時,采用基于結(jié)合二分法的基于背包的迭代算法本發(fā)明假設對每個用戶節(jié)點c e C來講,用戶請求RJt)隨著時間t增長,可以是隨時間遞增函數(shù)艮(0 = (1+入。0艮(0)。這種模型在現(xiàn)實中的許多應用場景中是有用的。例如,許多公司的管理者希望增長銷售額,并且會制定詳細的計劃并給出接下來一段時間內(nèi)營業(yè)額的期望增長率。一般來講,在這種場景下需要處理的數(shù)據(jù)率近似正比于營業(yè)額,則請求增長函數(shù)RJt)可以由歷史數(shù)據(jù)進行預測和評估。其中RJ0) —般可以取[2,200]間任意數(shù)值,而λ。一般可以取[O. 1,20]間任意數(shù)值。選取一個大于零的時間(如選擇時間為I個月),計算該時間下的每個用戶的請求數(shù)據(jù)率,并采用基于背包的迭代算法計算當前狀態(tài) 下最低的服務部署與維護的總開銷;如果該開銷小于指定開銷,則以二分法的方法提高該時間為原來的兩倍(由上示例即提高為2個月),如果該開銷大于指定開銷,則以二分法的方法降低該時間為原來的二分之一(由上示例則降為0.5個月),并循環(huán)執(zhí)行上一子步驟,直至可行的時間最大(誤差范圍內(nèi))。在云計算應用飛速發(fā)展的今天,個體終端用戶希望云計算平臺能夠嚴格保證他們的服務質(zhì)量需求,而云計算平臺則需要通過合理的部署信息處理服務,以降低服務提供的成本,提高經(jīng)濟收益。本發(fā)明達到以下效果(1)平臺接受的個體服務請求的服務質(zhì)量需求均能夠得到嚴格保證;(2)當個體服務請求的數(shù)據(jù)率穩(wěn)定時,平臺能夠以盡可能低的成本來部署服務;(3)當個體服務請求數(shù)據(jù)率隨時間增長時,平臺能夠在一定服務部署成本范圍內(nèi),盡可能地延長服務質(zhì)量保證的時間。實施例信息處理服務的服務器由云提供商提供并分布在各地。其用戶可以是連鎖超市的分店、金融網(wǎng)點等等,信息處理服務負責處理用戶產(chǎn)生的信息,這些需要在服務器上部署的信息處理服務多種多樣,例如,財政金融監(jiān)督中對欺詐行為的發(fā)現(xiàn),電子商務應用中對用戶點擊行為的觀察分析,因特網(wǎng)網(wǎng)絡通信流量與擁塞的監(jiān)控,以及在電信或者零售行業(yè)中的數(shù)據(jù)挖掘等等。一個具體點的應用實例如連鎖超市的各分店,會產(chǎn)生大量的數(shù)據(jù),如商品銷售狀態(tài)信息,對人為破壞的視頻監(jiān)控錄像圖像,傳感器收集的溫度濕度等信息,這些數(shù)據(jù)需要被及時的分析和處理,可以使分店之間調(diào)節(jié)庫存與鋪貨信息以防止斷貨,阻止并處理人為損壞,食物保鮮延緩腐爛變質(zhì)等。下面我們舉一種信息處理服務(處理各分店產(chǎn)生的商品銷售狀態(tài)信息,決策分店調(diào)節(jié)庫存與鋪貨的服務)的部署方法來描述本發(fā)明的內(nèi)容。首先根據(jù)超市分店節(jié)點(用戶,客戶端)與云服務器節(jié)點(服務提供者,服務端)建立網(wǎng)絡拓撲。需要獲得的參數(shù)是分店產(chǎn)生的各種商品銷售/鋪貨/貨存相關信息數(shù)據(jù)的數(shù)據(jù)率,用戶節(jié)點與服務節(jié)點的最短傳輸路徑時延,服務器的可行計算容量,服務部署與維護的開銷。下面明確服務部署的約束條件I、用戶節(jié)點可能位于世界各地,由于距離遠近、網(wǎng)絡狀態(tài)的不同,每個服務器能夠覆蓋的用戶受到服務質(zhì)量的約束。也就是說,每個用戶與服務器的傳輸時延不能超過服務質(zhì)量要求。2、服務器可行計算容量的約束,即相連用終端用戶服務請求的數(shù)據(jù)率之和不能超過該服務器的可行計算容量。對約束條件2,根據(jù)實際應用情況,從兩個方面進行方法的設計(I)當云提供商提供的服務器容量充足(如服務器本身計算能力十分強大或可為服務器追加計算資源)且服務請求數(shù)據(jù)率以明確數(shù)值提供時,最優(yōu)服務部署方案的選擇采用基于集合覆蓋的算法。該算法會根據(jù)服務器覆蓋的用戶范圍的限制,通過盡可能小的開銷覆蓋所有的用戶節(jié)點。例如如圖I的網(wǎng)絡拓撲,有3個服務器節(jié)點,由于在這種情況下不考慮服務器容量約束,因此每個服務器獲取的參數(shù)表示為SiH服務器部屬與維護的開銷}。為每個服務 器節(jié)點的參數(shù)示例如下#={150},S2= {180},S3= {200}。有6個用戶節(jié)點,每個用戶獲取的參數(shù)表示為Cf{用戶請求的數(shù)據(jù)率,用戶的服務質(zhì)量需求},其中用戶的服務質(zhì)量需求即云計算平臺終端個體用戶發(fā)出任意數(shù)據(jù)片段與相應數(shù)據(jù)處理結(jié)果返回給云計算平臺終端個體用戶的時延的最大閾值,最大閾值為時間值,取值范圍為自然數(shù)。為每個用戶節(jié)點的參數(shù)示例如下=C1=KOMBZs, 6s},C2={100MB/s, 12s} , C3= {125MB/s,16s},C4= {150MB/s, 20s},C5={100MB/s, 15s},C6={75MB/s,8s}。根據(jù)S與C之間構(gòu)成的網(wǎng)絡拓撲,Si到Cj之間的最短
Cl Cl Γ.; (.4 (\ Cr,
Si Γ 5 8 17 22 20 25~
路徑時延表示為du,其構(gòu)成矩陣D(單位秒)。i) =。 4 ]5 20 15 10 1()。那么根
,S、 10 10 15 18 20 6
據(jù)用戶的服務質(zhì)量要求,Si到C的時延小于服務質(zhì)量要求的記為1,否則記為0,得到矩
G /^f /-y /^t ,.·τ /^f
L2 C3 C4 C 5 Le
I I O O O O
陣= Λ IOOll O。由此可得,S1可以服務到的用戶C為2個,性價
夕3 O I I I O I
比為2/150=1/75 ;S2可以服務到的用戶C為3個,性價比為3/180=1/60 ;S3可以服務到的用戶C為4個,性價比為4/200=1/50,則性價比最高的是S3,那么先開通S3,服務于C2,C3, C4,
Cl C、
c6。則01將已開通與分配的&與(2,(3,(;,(6去掉,得到迭代子圖,即£>2二& Γ1 010
Si L1 1
照如上過程,開通S2,分配CpC515此輪迭代后,由于C=CK因此算法結(jié)束。最終的結(jié)果是選擇在S2,S3上部署服務;s2上分配的用戶為C1, C5 ;S3上分配的用戶為C2,C3,C4,C6。(2)當服務器容量有限且服務請求數(shù)據(jù)率以明確數(shù)值提供時,最優(yōu)服務部署方案的選擇采用基于背包的迭代算法;該算法會根據(jù)服務器容量充分裝載滿足服務質(zhì)量需求的用戶節(jié)點,以同時滿足兩個約束條件,并降低開銷。例如,同樣對于如圖I所示的網(wǎng)絡拓撲,由于此時需要考慮服務器S的容量限制,因此對每個服務器節(jié)點參數(shù)賦值如下=Si= {服務器容量(服務器每秒可以處理的最大數(shù)據(jù)量)服務器部屬與維護的開銷}。為每個服務器節(jié)點的參數(shù)示例如下=S1=USOMBZs, 150},S2= {340MB/S, 180},S3= {340MB/s, 200}。其余假設同上例,有6個用戶節(jié)點,每個用戶獲取的參數(shù)表示為4={用戶請求的數(shù)據(jù)率,用戶的服務質(zhì)量需求}。為每個用戶節(jié)點的參數(shù)示例如下=C1=KOMBZs, 6s},C2={100MB/s, 12s} , C3= {125MB/s,16s},C4= {150MB/s, 20s},C5= {ΙΟΟΜΒ/s, 15s},C6= {75MB/s, 8s}。根據(jù)S與C之間構(gòu)成的網(wǎng)絡拓撲,Si到Cj之間的最短路徑時延表示為du,其構(gòu)成矩陣D(單位秒)。那么根據(jù)用戶q的服務質(zhì)量要求,Si到的時延
Cl ('」(' Ca C CuΛ [I I O O O 0_小于服務質(zhì)量要求 的記為1,否則記為0,得到矩陣D115D1= ^ 1 0 0 t j 0 =
S:、 0 1110 1
首先遍歷用戶節(jié)點,此時存在葉子節(jié)點(即根據(jù)服務質(zhì)量要求僅能由一個服務器覆蓋到),根據(jù)節(jié)點的先后順序,首先處理葉子節(jié)點c3,由于可以滿足C3服務質(zhì)量需求的節(jié)點只有S3,因此S3為首先選擇的服務器。S3的容量為340MB/S,S3根據(jù)服務質(zhì)量要求可以覆蓋到的用戶節(jié)點為 C2={100MB/s},C3={125MB/s},C4={150MB/s},C6= {75MB/s},開通 S3,并首先將葉子節(jié)點C3,C6裝入,然后運用背包算法將S3裝滿,則根據(jù)容量限制,S3可以服務的節(jié)點為C2,C3,
r 丨 η ('
C6。則D1將已開通與分配的S3與C2,C3,C6去掉,得到迭代子圖,即"Γ1 0 Q"!。處
Si L1 1 1
理葉子節(jié)點C4,可以滿足C4服務質(zhì)量需求的節(jié)點是S2,因此S2為選擇的服務器,S2根據(jù)服務質(zhì)量要求可以覆蓋到的用戶節(jié)點為CfbOMB/s},C4={150MB/s},C5= {ΙΟΟΜΒ/s},全部裝載不超過其容量限制,因此開通S2,可以服務的節(jié)點為CpC4A5tj此輪迭代后,由于C=(K因此算法結(jié)束。最終的結(jié)果是選擇在S2,S3上部署服務;S2上分配的用戶為C1, C4, C5 ;S3上分配的用戶為c2,c3,c6。考慮到有些時候服務請求數(shù)據(jù)率會發(fā)生比較大的變化,特別是會隨著時間的推演,由于數(shù)據(jù)產(chǎn)生源業(yè)務的增長等而增長,比如分店規(guī)模擴大,商品品種增加,營業(yè)額增加等。此時,我們僅能評估當信息處理的云服務環(huán)境建立時的用戶數(shù)據(jù)請求數(shù)據(jù)率,或者學習到用戶請求數(shù)據(jù)與時間的關系。在這種情況下,服務部署后,我們希望系統(tǒng)在較長的時間內(nèi)保持穩(wěn)定,以減少由于重部署帶來的開銷,或者數(shù)據(jù)與服務請求的丟失。在對用戶進行服務部署和服務提供之前,通常有一個服務部署與維護的預算,限制服務部署總體開銷的范圍。此時給出結(jié)合二分法的基于背包的迭代算法,此算法可以在預算范圍內(nèi),即使用戶請求數(shù)據(jù)率處于增長的狀態(tài),仍在盡可能長的時間內(nèi)維持云計算中信息處理服務的穩(wěn)定提供。例如,同樣如上例的網(wǎng)絡拓撲,將用戶初始請求的數(shù)據(jù)率記為Rc(O),參數(shù)賦值為R1 (0)=50MB/s,R2(0)=100MB/s, R3(0)=125MB/s, R4(0) =150MB/s, R5(0)=100MB/s, R6(0) =75MB/s,用戶月艮務請求的數(shù)據(jù)率是隨時間線性增長的函數(shù),即為Μυ = (ι+λ。0艮(0)。假設每個月的數(shù)據(jù)增長率為10%,服務部署與維護的開銷預算為400,其余假設與上例相同。那么根據(jù)二分法,選取t=l個月時,用戶請求數(shù)據(jù)率增長到原來的I. I倍,運行上例所示基于背包的方法,可以得到開通S2與S3,開銷為380,在預算范圍內(nèi)。由此根據(jù)二分法將時間提高到原來的兩倍,t=2個月時,由于數(shù)據(jù)率增長到了原來的I. 2倍,運行基于背包的方法發(fā)現(xiàn)需要將S1S2與S3同時開通,預算超過400。因此最后所得的t在I個月與2個月之間,再根據(jù)二分法,選取t=(l+2)/2=l. 5個月運行基于背包的方法,同樣超過預算。再根據(jù)二分法選擇t=(l+l. 5)/2=1. 25個月,運行基于背包的方法,可以找到滿足要求的解。如此迭代運行二分法與基于背包結(jié)合的方法,在不超過一天的誤差范圍內(nèi),得到了在預算范圍內(nèi)開通S2與S3,S2上分配的用戶為C1, C4,C5 ;S3上分配的用戶為C2,C3,C6,可以保持最長在1,25個月之內(nèi),維持系統(tǒng)穩(wěn)定運行。超過這一時間,如果數(shù)據(jù)請求率繼續(xù)增長,需要增加預算投入,增加預算的部分不在本專利權(quán)利要求范圍內(nèi)。值得指出的是,上例給出的結(jié)果都是在節(jié)點數(shù)量較少的情況下,當網(wǎng)絡節(jié)點規(guī)模較大時,實施例的迭代過程的復雜度將大大提升,因此不再人工模擬執(zhí)行舉例。最后,將信息處理服務部署到選擇的服務器上,用來處理各分店產(chǎn)生的信息。本發(fā)明提供了一種云計算中信息處理服務的部署方法,具體實現(xiàn)該技術(shù)方案的方 法和途徑很多,以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。本實施例中未明確的各組成部分均可用現(xiàn)有技術(shù)加以實現(xiàn)。
權(quán)利要求
1.一種分布式云計算環(huán)境中信息處理服務的部署方法,在確定云計算平臺終端個體用戶的服務請求數(shù)據(jù)率、云計算平臺終端個體用戶服務質(zhì)量要求、服務器可行計算容量及服務器上的服務部署與維護開銷后,其特征在于,根據(jù)以下步驟選取服務器部署信息處理服務: 網(wǎng)絡狀況監(jiān)測步驟,按照網(wǎng)絡拓撲結(jié)構(gòu)對網(wǎng)絡鏈路狀況進行監(jiān)控,獲取每條鏈路上的傳輸時延; 服務部署方案選擇步驟,按照網(wǎng)絡鏈路狀況以及當前服務器可行計算容量,結(jié)合個體終端用戶的服務請求數(shù)據(jù)率和服務質(zhì)量要求,確定服務部署方案的約束條件,并結(jié)合服務部署與維護開銷選取最優(yōu)的服務部署方案,確定相應的云計算平臺終端個體用戶請求分配方案; 服務部署步驟,按照最優(yōu)服務部署方案,將服務部署到相應的服務器上。
2.根據(jù)權(quán)利要求I所述的分布式云計算環(huán)境中信息處理服務的部署方法,其特征在·于,云計算平臺終端個體用戶的服務請求數(shù)據(jù)為數(shù)據(jù)流的形式; 云計算平臺終端個體用戶的服務請求數(shù)據(jù)率為確定的數(shù)值或者隨時間遞增的函數(shù); 云計算平臺終端個體用戶的服務質(zhì)量需求定義為,云計算平臺終端個體用戶發(fā)出任意數(shù)據(jù)片段與相應數(shù)據(jù)處理結(jié)果返回給云計算平臺終端個體用戶的時延的最大閾值。
3.根據(jù)權(quán)利要求2所述的分布式云計算環(huán)境中信息處理服務的部署方法,其特征在于,服務器可行計算容量為其單位時間可處理的服務請求數(shù)據(jù)量; 云計算平臺終端個體用戶與服務器之間的傳輸時延為兩者之間最短傳輸路徑時延。
4.根據(jù)權(quán)利要求I所述的分布式云計算環(huán)境中信息處理服務的部署方法,其特征在于,服務部署方案的約束條件為云計算平臺終端個體用戶與服務器間的傳輸時延不超過云計算平臺終端個體用戶服務質(zhì)量需求,相連云計算平臺終端個體用戶服務請求的數(shù)據(jù)率之和不超過該服務器的可行計算容量。
5.根據(jù)權(quán)利要求I所述的分布式云計算環(huán)境中信息處理服務的部署方法,其特征在于,服務部署方案選擇步驟中包括 (O當所有服務器容量充足,即相連云計算平臺終端個體用戶服務請求的數(shù)據(jù)率之和不超過該服務器的可行計算容量,且服務請求數(shù)據(jù)率以明確數(shù)值提供時,最優(yōu)服務部署方案的選擇采用基于集合覆蓋的算法; (2)當服務器容量有限,即相連云計算平臺終端個體用戶服務請求的數(shù)據(jù)率之和大于該服務器的可行計算容量,且服務請求數(shù)據(jù)率以明確數(shù)值提供時,最優(yōu)服務部署方案的選擇采用基于背包的迭代算法; (3)當服務請求數(shù)據(jù)率以隨時間的線性增長函數(shù)形式提供時,最優(yōu)服務部署方案的選擇采用結(jié)合二分法的基于背包的迭代算法。
6.根據(jù)權(quán)利要求5所述的分布式云計算環(huán)境中信息處理服務的部署方法,其特征在于,基于集合覆蓋的算法包含如下步驟 (1)確定每一對服務器與云計算平臺終端個體用戶間的傳輸時延,并按照服務部署方案的傳輸時延約束條件,明確每一個服務器所能處理的云計算平臺終端個體用戶對象; (2)在每一個迭代過程中,在排除已處理的云計算平臺終端個體用戶對象的基礎上,以未部署服務的服務器所能處理的云計算平臺終端個體用戶對象個數(shù)與該服務器上的服務部署與維護開銷的比值為性價比衡量指標,選取性價比衡量指標最高的服務器,直到所有云計算平臺終端個體用戶對象均已處理或服務器均被挑選,若迭代結(jié)束時,仍有云計算平臺終端個體用戶對象未被處理,則判定需要加入新的服務器滿足云計算平臺終端個體用戶需求。
7.根據(jù)權(quán)利要求6所述的分布式云計算環(huán)境中信息處理服務的部署方法,其特征在于,背包的迭代算法包含如下步驟 (1)確定每一對服務器與云計算平臺終端個體用戶間的傳輸時延,并按照服務部署方案的傳輸時延約束條件,確定每一個服務器所能處理的云計算平臺終端個體用戶對象; (2)在每一個迭代過程中,為每一個未部署服務的服務器按照背包問題求解算法計算該服務器可處理的最大的服務數(shù)據(jù)率之和,即以該服務器的可行計算容量為背包大小,以該服務器所能處理的云計算平臺終端個體用戶對象為物品,其數(shù)據(jù)率為物品大小,按照背 包問題求解算法計算出該服務器可處理的最大的服務數(shù)據(jù)率之和;再以服務器所能處理的最大服務數(shù)據(jù)率之和與其上的服務部署與維護開銷的比值為性價比衡量指標,選取性價比衡量指標最高的服務器,直到所有云計算平臺終端個體用戶對象均以處理或服務器均被挑選,若迭代結(jié)束時,仍有云計算平臺終端個體用戶對象未被處理,則判定需要加入新的服務器滿足云計算平臺終端個體用戶需求。
8.根據(jù)權(quán)利要求7所述的分布式云計算環(huán)境中信息處理服務的部署方法,其特征在于,結(jié)合二分法的基于背包的迭代算法,包含如下步驟 (1)選取一個大于零的時間,計算該時間下的每個云計算平臺終端個體用戶的請求數(shù)據(jù)率,并采用基于背包的迭代算法計算當前狀態(tài)下最低的服務部署與維護的總開銷; (2)如果該總開銷小于指定開銷,則以二分法的方法提高該時間,如果該總開銷大于指定開銷,則以二分法的方法降低該時間,并循環(huán)執(zhí)行上一步驟,直至可行的時間最大。
全文摘要
本發(fā)明公開了一種分布式云計算環(huán)境中信息處理服務的部署方法,在確定了云計算平臺個體終端用戶的服務請求數(shù)據(jù)率相關信息及其服務質(zhì)量需求、服務器可行計算容量及其之上的和服務部署與維護開銷之后,選取合適的服務器以用來部署信息處理服務,包括以下步驟網(wǎng)絡狀況監(jiān)測步驟、服務部署方案選擇步驟、服務部署步驟。按照用戶服務請求數(shù)據(jù)率相關信息和服務器可行計算容量情況,服務部署方案選擇采用基于集合覆蓋的算法、基于背包的迭代算法或結(jié)合二分法的基于背包的迭代算法。本發(fā)明可以廣泛應用于企業(yè)的資源優(yōu)化配置、電子商務等領域,提供私有云或公共云環(huán)境中具有服務質(zhì)量保證的服務部署方法,支持外包資源的配置選擇,屬于計算機應用領域。
文檔編號H04L12/851GK102904969SQ20121045417
公開日2013年1月30日 申請日期2012年11月13日 優(yōu)先權(quán)日2012年11月13日
發(fā)明者游坤, 丁峰 申請人:中國電子科技集團公司第二十八研究所