明 利,李 彤,2,秦江龍,2,鄭 明,蔣旭東,謝仲文,2
(1.云南大學(xué) 軟件學(xué)院,昆明 650500; 2.云南省軟件工程重點(diǎn)實(shí)驗(yàn)室(云南大學(xué)),昆明 650500)
(*通信作者電子郵箱qinjianglong@ynu.edu.cn)
面向軟件即服務(wù)的負(fù)載均衡策略建模與分析
明 利1,李 彤1,2,秦江龍1,2*,鄭 明1,蔣旭東1,謝仲文1,2
(1.云南大學(xué) 軟件學(xué)院,昆明 650500; 2.云南省軟件工程重點(diǎn)實(shí)驗(yàn)室(云南大學(xué)),昆明 650500)
(*通信作者電子郵箱qinjianglong@ynu.edu.cn)
為提高軟件即服務(wù)(SaaS)應(yīng)用中資源的訪問(wèn)效率,提出支持SaaS服務(wù)重要特征的負(fù)載均衡策略。首先,結(jié)合SaaS服務(wù)的多租戶和高度可伸縮兩大特性,提出一種基于租戶請(qǐng)求分流、在局部和全局兩個(gè)層次伸縮的負(fù)載均衡策略;其次,對(duì)所提出負(fù)載均衡策略用Petri網(wǎng)進(jìn)行建模并仿真;最后,將提出的負(fù)載均衡策略與輪詢(RR)、隨機(jī)和改進(jìn)的最小連接(ILCS)負(fù)載均衡算法在總體響應(yīng)時(shí)間和總吞吐量?jī)煞矫孢M(jìn)行比較。實(shí)驗(yàn)結(jié)果表明:在請(qǐng)求速率達(dá)到500請(qǐng)求/秒后,所提策略的總體響應(yīng)時(shí)間和總吞吐量趨于穩(wěn)定并優(yōu)于另外三種算法。
軟件即服務(wù);多租戶;可伸縮性;負(fù)載均衡;Petri網(wǎng)
隨著云計(jì)算的深入發(fā)展,軟件即服務(wù)(Software as a Service, SaaS)作為一種新的軟件交付方式得到了越來(lái)越廣泛的關(guān)注。多租戶(multi-tenancy)是SaaS的核心優(yōu)勢(shì)之一[1]。隨著業(yè)務(wù)的發(fā)展及用戶訪問(wèn)量的急速增長(zhǎng),SaaS應(yīng)用必須支持可擴(kuò)展性,這樣才能有效利用系統(tǒng)資源[2]。
在云計(jì)算中,負(fù)載均衡是一項(xiàng)優(yōu)化技術(shù),是一種在服務(wù)器之間均衡地分配大量的請(qǐng)求的機(jī)制[3],是支持SaaS應(yīng)用高效分配海量請(qǐng)求的關(guān)鍵技術(shù)。它被用于提高資源利用率、減少延遲、縮短響應(yīng)時(shí)間、提高系統(tǒng)整體性能。
文獻(xiàn)[4]為了達(dá)到SaaS服務(wù)提供商的目標(biāo)——利益最大化及客戶滿意度,提出了一種性價(jià)比較高的映射和調(diào)度策略,用一臺(tái)虛擬機(jī)優(yōu)化資源分配,同時(shí)也將服務(wù)質(zhì)量(Quality of Service, QoS)參數(shù)、由不同類型的虛擬機(jī)造成的基礎(chǔ)設(shè)施異質(zhì)性及不同的服務(wù)初始時(shí)間考慮在內(nèi)。文獻(xiàn)[5]提出了一種面向租約功能類型的服務(wù)器負(fù)載模型和面向租約用戶非功能需求的執(zhí)行請(qǐng)求按需分配算法,在此基礎(chǔ)上實(shí)現(xiàn)了一個(gè)面向多租約SaaS應(yīng)用的負(fù)載均衡系統(tǒng)。文獻(xiàn)[6]提出了改進(jìn)的最小連接數(shù)算法,當(dāng)檢測(cè)到需要將某客戶端連接進(jìn)行重定向時(shí),將此重定向連接到當(dāng)前連接數(shù)最少的服務(wù)器,但是連接數(shù)最少的服務(wù)器并不一定是負(fù)載最小,所以此算法只在一定程度上實(shí)現(xiàn)了服務(wù)器之間的負(fù)載均衡問(wèn)題。同樣文獻(xiàn)[7]也提出了一種改進(jìn)的最小連接負(fù)載均衡調(diào)度算法,主要方法是實(shí)時(shí)地計(jì)算所有服務(wù)器的負(fù)載率并更新排序,當(dāng)服務(wù)器超過(guò)最大負(fù)載率的時(shí)候向用戶反饋錯(cuò)誤信息并停止服務(wù)。文獻(xiàn)[8]提出了臨界加速遞減請(qǐng)求分配策略,通過(guò)動(dòng)態(tài)監(jiān)測(cè)請(qǐng)求任務(wù)被分配后對(duì)各個(gè)服務(wù)器工作負(fù)荷造成的影響、服務(wù)器實(shí)際的工作負(fù)載狀態(tài)的反饋及設(shè)定的服務(wù)器固有處理能力進(jìn)行請(qǐng)求分配。文獻(xiàn)[9]提出的一種基于隨機(jī)理論調(diào)度模型將SaaS層描述成一種多目標(biāo)的優(yōu)化問(wèn)題。為了提高整體性能,映射規(guī)則分析器主要負(fù)責(zé)將任務(wù)分配到合適的服務(wù)副本,彈性控制器負(fù)責(zé)云服務(wù)的彈性分配,降低了請(qǐng)求的積壓量。文獻(xiàn)[10]提出了改進(jìn)的節(jié)流算法并用云端模擬器分析了其性能。文獻(xiàn)[11]使用了主動(dòng)監(jiān)控和資源感知相結(jié)合的算法,對(duì)于每一個(gè)到來(lái)的請(qǐng)求都給予有效分配并將總體請(qǐng)求時(shí)間最小化。文獻(xiàn)[3,12]的主要工作是對(duì)現(xiàn)存的啟發(fā)式負(fù)載均衡算法(比如Min-Min算法[13])進(jìn)行分類并在吞吐量、遷移時(shí)間、容錯(cuò)性等方面進(jìn)行了對(duì)比研究,并且文獻(xiàn)[3]對(duì)現(xiàn)有的蜜蜂覓食算法進(jìn)行了擴(kuò)展。
以上文獻(xiàn)中提出的算法均從不同方面實(shí)現(xiàn)了負(fù)載均衡,但是到目前為止,專門針對(duì)云計(jì)算下的SaaS軟件,并能體現(xiàn)其核心特征(如多租戶、高度可伸縮性等)的負(fù)載均衡策略尚屬鮮見(jiàn)。
SaaS環(huán)境下,一方面,一個(gè)應(yīng)用往往供多個(gè)租戶(租戶往往是一個(gè)單位或組織)同時(shí)使用,一個(gè)租戶下又擁有數(shù)量眾多的用戶,數(shù)量龐大的用戶發(fā)出海量的請(qǐng)求;另一方面,SaaS作為云計(jì)算服務(wù)棧中離用戶最近的一層,其背后有高度可伸縮的云資源的有力支持。在此背景下,如何提高SaaS軟件響應(yīng)海量請(qǐng)求的效率、如何充分利用云計(jì)算的高度可伸縮特征成為一個(gè)重要課題,如何設(shè)計(jì)負(fù)載均衡策略使之更好地發(fā)揮作用成為一個(gè)關(guān)鍵問(wèn)題。
針對(duì)上述問(wèn)題,本文立足SaaS的核心特征,提出一種基于租戶請(qǐng)求分流、在局部和全局兩個(gè)層次伸縮的面向SaaS服務(wù)的負(fù)載均衡策略,并以Petri網(wǎng)為形式化工具對(duì)策略進(jìn)行建模分析。
根據(jù)歷史監(jiān)測(cè),業(yè)務(wù)負(fù)載通常表現(xiàn)趨勢(shì)性、周期性和隨機(jī)性,如果當(dāng)系統(tǒng)在一年的某個(gè)特定時(shí)間內(nèi)遇到大量并發(fā)請(qǐng)求,負(fù)載達(dá)到峰值,其性能會(huì)降低,這時(shí)若沒(méi)有適當(dāng)?shù)脑黾酉到y(tǒng)的負(fù)載能力,系統(tǒng)的響應(yīng)時(shí)間會(huì)變長(zhǎng),業(yè)務(wù)的失效率也會(huì)增加,從而導(dǎo)致客戶滿意度下降[14],并且考慮到現(xiàn)有文獻(xiàn)[4-13]中關(guān)于負(fù)載均衡研究的主要思路,鮮有結(jié)合SaaS服務(wù)特征的策略,所以本文的策略緊扣SaaS服務(wù)的多租戶特征和云計(jì)算的高度可伸縮性特征,思路如下。
1)針對(duì)SaaS的多租戶特性。考慮到一個(gè)SaaS應(yīng)用往往供多個(gè)租戶同時(shí)使用,一個(gè)租戶下又擁有數(shù)量眾多的用戶,數(shù)量龐大的用戶發(fā)出海量的請(qǐng)求。進(jìn)一步,在SaaS環(huán)境下,不同的租戶往往處于不同的物理位置,對(duì)于部分SaaS應(yīng)用而言,不同的租戶甚至分布于不同的國(guó)家、區(qū)域。另一方面,支撐SaaS應(yīng)用的云計(jì)算技術(shù)使得響應(yīng)海量請(qǐng)求的物理服務(wù)器也分布于不同的地理位置(每個(gè)不同地理位置的服務(wù)器集群是一個(gè)相對(duì)于全局的局部)。在此背景下,理想的情況是:發(fā)出的請(qǐng)求能在負(fù)載均衡機(jī)制的支持下,在網(wǎng)絡(luò)通信代價(jià)較低的服務(wù)器上計(jì)算和響應(yīng),同時(shí)又不顯著降低負(fù)載均衡器分發(fā)請(qǐng)求的效率。傳統(tǒng)的通過(guò)動(dòng)態(tài)監(jiān)測(cè)服務(wù)器工作負(fù)荷的負(fù)載均衡策略顯然無(wú)法滿足要求,在SaaS環(huán)境下,本文提出基于租戶請(qǐng)求分流的策略:首先根據(jù)網(wǎng)絡(luò)通信代價(jià)、各個(gè)局部服務(wù)器集群的資源多少等因素建立不同租戶與各個(gè)局部服務(wù)器集群之間的較優(yōu)映射關(guān)系,然后根據(jù)不同請(qǐng)求所屬的用戶所在的租戶,將請(qǐng)求分流到與該租戶對(duì)應(yīng)的局部服務(wù)器集群。
2)針對(duì)云計(jì)算的高度可伸縮性特性。SaaS作為云計(jì)算服務(wù)棧中離用戶最近的一層,其背后有高度可伸縮的云資源的有力支持。云計(jì)算一個(gè)重要的特征和優(yōu)點(diǎn)是:資源的高度可伸縮性,對(duì)資源的需求可以根據(jù)應(yīng)用的需求動(dòng)態(tài)地增加或減少。在此背景下,理想的情況是:在基于租戶請(qǐng)求分流的策略的實(shí)施下,各個(gè)局部服務(wù)器集群都能高效地完成計(jì)算并響應(yīng),當(dāng)某個(gè)局部服務(wù)器集群資源不夠而導(dǎo)致響應(yīng)時(shí)間過(guò)長(zhǎng)時(shí),可動(dòng)態(tài)增加資源;當(dāng)某個(gè)局部服務(wù)器集群資源過(guò)剩時(shí),可動(dòng)態(tài)縮減資源。但由于云計(jì)算看似源源不斷的資源其本質(zhì)來(lái)源于虛擬化技術(shù)[15],因此受制于實(shí)際物理服務(wù)器的多少。因此,本文提出在局部和全局兩個(gè)層次伸縮的策略:依據(jù)負(fù)載情況和擁有資源的實(shí)際情況,在局部(SaaS應(yīng)用位于某個(gè)地區(qū)或?qū)iT服務(wù)于某些租戶的分部服務(wù)器集群)和全局(SaaS應(yīng)用的總部服務(wù)器集群)兩個(gè)層次進(jìn)行伸縮。首先,當(dāng)檢測(cè)到與請(qǐng)求匹配的局部服務(wù)器集群負(fù)載過(guò)重時(shí),在局部環(huán)境增加資源,即“局部伸”以提高請(qǐng)求的響應(yīng)速度;其次,雖然云在理論上是“資源無(wú)限”的,但畢竟受限于實(shí)際的物理資源,因此策略還增加了“全局伸縮”,當(dāng)某個(gè)局部環(huán)境的物理資源無(wú)法滿足要求時(shí),將任務(wù)請(qǐng)求分配到某個(gè)資源充足的全局服務(wù)器上,即“全局伸”;反之,當(dāng)檢測(cè)到某個(gè)服務(wù)器集群資源過(guò)剩時(shí),釋放部分資源,即“局部縮”和“全局縮”。
文獻(xiàn)[16]中提到了SaaS應(yīng)用的成熟度模型。SaaS應(yīng)用的成熟度模型分為四級(jí),其中在第四級(jí)中,為了更好地提高服務(wù)器集群的吞吐率并且降低響應(yīng)延遲,在第三級(jí)的基礎(chǔ)上增加了負(fù)載均衡機(jī)制,使系統(tǒng)更好地實(shí)現(xiàn)了可擴(kuò)展性。
從架構(gòu)層面分析,SaaS區(qū)別于傳統(tǒng)技術(shù)主要表現(xiàn)在多租戶模式和可伸縮性[17]。本文主要從SaaS服務(wù)具有的特性:多租戶和可伸縮兩方面著手,根據(jù)SaaS服務(wù)這兩大優(yōu)勢(shì),將不同租戶發(fā)來(lái)的任務(wù)按一定的規(guī)則進(jìn)行分配。具體過(guò)程如以下步驟所示。
1)通過(guò)多租戶特征處理多租戶的請(qǐng)求。
①將不同租戶與各個(gè)服務(wù)器集群之間建立起較優(yōu)的映射關(guān)系。
a)首先根據(jù)租戶ID判斷其物理位置:當(dāng)有來(lái)自多個(gè)租戶發(fā)來(lái)的多種請(qǐng)求時(shí),首先根據(jù)租戶ID判斷其物理位置,因?yàn)镾aaS軟件的物理服務(wù)器集群也分布于不同的地理位置,所以將物理位置一樣的租戶的請(qǐng)求分配給物理上距其最近的SaaS軟件的物理服務(wù)器集群,這樣租戶與執(zhí)行請(qǐng)求的服務(wù)器集群之間可以建立起優(yōu)化的關(guān)聯(lián)關(guān)系,減少網(wǎng)絡(luò)通信代價(jià)。
b)其次將同一物理位置的租戶的請(qǐng)求進(jìn)行分類:使用聚類的方法計(jì)算租戶請(qǐng)求的相似度值,并設(shè)定一個(gè)閾值,如果相似度值小于已設(shè)定的閾值,則可以將這些租戶的請(qǐng)求分配給與租戶請(qǐng)求匹配程度最高的服務(wù)器集群。假設(shè)來(lái)自A…N的同一物理位置的租戶的請(qǐng)求集合分別為X…Z,則相似度值μ=(X∩Y∩…∩Z)/(X∪Y∪…∪Z)。
c)計(jì)算服務(wù)器集群的當(dāng)前負(fù)載狀況:當(dāng)前等待隊(duì)列中的請(qǐng)求數(shù)量與服務(wù)器處理請(qǐng)求的速率的比值。
②建立起映射關(guān)系以后,按照服務(wù)器集群的當(dāng)前負(fù)載狀況(如果服務(wù)器集群處于正常負(fù)載水平,即還沒(méi)到達(dá)瓶頸期),并根據(jù)不同請(qǐng)求所屬的用戶所在的租戶及其請(qǐng)求的相似度,將請(qǐng)求分流到與該租戶對(duì)應(yīng)的服務(wù)器集群。
2)利用SaaS軟件的可伸縮性處理多租戶的請(qǐng)求。
①如果與租戶請(qǐng)求匹配程度最高的服務(wù)器集群達(dá)到瓶頸期,則利用SaaS的高可伸縮性這一優(yōu)勢(shì)先進(jìn)行“局部擴(kuò)展”——在局部環(huán)境增加用于處理租戶請(qǐng)求的服務(wù)器(局部備用服務(wù)器),如果局部有備用服務(wù)器處于正常負(fù)載能力范圍內(nèi)甚至是空閑,則利用局部備用服務(wù)器進(jìn)行請(qǐng)求處理以縮短響應(yīng)時(shí)間。
②雖然云資源在理論上是無(wú)限的,然而其受制于實(shí)際的物理資源,所以如果局部范圍內(nèi)沒(méi)有可利用的服務(wù)器資源或者已被占用,則要在全局環(huán)境增加用于處理租戶請(qǐng)求的服務(wù)器(全局備用服務(wù)器),進(jìn)行“全局?jǐn)U展”,如果全局環(huán)境有處于正常負(fù)載范圍內(nèi)的甚至是空閑的服務(wù)器,則放入此服務(wù)器的等待隊(duì)列中。
③如果局部及全局服務(wù)器目前都已不具備處理請(qǐng)求的能力,資源不足,則多租戶的請(qǐng)求暫停處理,直到有服務(wù)器可以處理請(qǐng)求為止。
本文中2)提到的局部擴(kuò)展及全局?jǐn)U展體現(xiàn)了云計(jì)算的核心特征之一——可伸縮性中的“伸”這一特性。
圖1為多租戶的請(qǐng)求處理方法的活動(dòng)圖。

圖1 多租戶請(qǐng)求處理活動(dòng)圖
當(dāng)然,局部和全局的服務(wù)器不可能永遠(yuǎn)處于滿載的狀態(tài),當(dāng)負(fù)載過(guò)低又被租戶占用時(shí),需要對(duì)服務(wù)器進(jìn)行釋放——即“局部縮”和“全局縮”,以便下次方便服務(wù),所以進(jìn)行資源回收并更好地處理已經(jīng)分配出去的服務(wù)器是必要的。同時(shí),資源回收要根據(jù)實(shí)際情況選擇性能較好的回收策略,否則回收程度過(guò)大或者過(guò)小都會(huì)產(chǎn)生不良影響[18]。這恰恰體現(xiàn)了云計(jì)算的核心特征之一——可伸縮性中的“縮”這一特性。
3.1 基于Petri網(wǎng)的建模思路
本文基于圖1對(duì)所提出的調(diào)度策略進(jìn)行Petri網(wǎng)建模,建模思路如下:1)選用隨機(jī)Petri網(wǎng)(StochasticPetriNet,SPN)作為建模的主要形式化工具。Petri網(wǎng)具有直觀的圖形表示,又具有嚴(yán)格的數(shù)學(xué)基礎(chǔ),而隨機(jī)Petri網(wǎng)是通過(guò)給P/T網(wǎng)的每個(gè)變遷相關(guān)聯(lián)一個(gè)實(shí)施速率得到的模型。大多數(shù)隨機(jī)Petri網(wǎng)的性能分析是建立在其狀態(tài)空間與馬爾可夫鏈同構(gòu)的基礎(chǔ)上的。2)通過(guò)引入隨機(jī)Petri中的時(shí)間變遷和瞬時(shí)變遷,可以將請(qǐng)求進(jìn)行確定性地分發(fā),而基本Petri網(wǎng)中的分發(fā)都是非確定性的。
3.2 相關(guān)定義
關(guān)于Petri網(wǎng)和隨機(jī)Petri網(wǎng)的基本知識(shí),這里只引用和本文相關(guān)的幾個(gè)概念,其他的可以參考文獻(xiàn)[19-21]。
定義1 三元組N=(S,T;F)為一個(gè)Petri網(wǎng)的充分必要條件是:
1)S∪T≠?;
2)S∩T=?;
3)F?(S×T)×(T×S);
其中:S是N的庫(kù)所有限集;T是N的變遷有限集;F是N的有向弧集,稱為N的流關(guān)系。
定義2 連續(xù)時(shí)間SPN=(S,T;F,W,M0,λ)。其中(S,T;F,W,M0)是一個(gè)P/T系統(tǒng),變遷平均實(shí)施速率的集合為λ=(λ1,λ2,…,λn)。λi是變遷ti∈T的平均實(shí)施速率,表示在可實(shí)施的情況下單位時(shí)間內(nèi)平均實(shí)施次數(shù),單位是次數(shù)/單位時(shí)間。特別地,有時(shí)實(shí)施速率可能依賴于標(biāo)識(shí),是標(biāo)識(shí)的函數(shù)。
要對(duì)系統(tǒng)性能進(jìn)行分析,首先使用隨機(jī)Petri網(wǎng)構(gòu)造出系統(tǒng)模型,然后同構(gòu)出該模型的馬爾可夫鏈(Markov Chain, MC),最后在基于MC的穩(wěn)定狀態(tài)概率下得到所要分析的系統(tǒng)性能指標(biāo)。在求得穩(wěn)態(tài)概率的基礎(chǔ)上,可進(jìn)一步分析一些性能指標(biāo)。
1)庫(kù)所中的平均token數(shù),它可以看作是租戶請(qǐng)求的隊(duì)列長(zhǎng)度,可利用此數(shù)值估算設(shè)備或者資源的利用率等:

(1)

2)token概率密度函數(shù):
(2)
其中Mj∈[M0?且Mj(s)=i。
3.3 基于多租戶和可伸縮的負(fù)載均衡SPN模型
圖2為基于多租戶和可伸縮的SPN模型。在圖2中,白色長(zhǎng)方形表示時(shí)間變遷,黑色長(zhǎng)方形表示瞬時(shí)變遷,白色圓圈表示隨機(jī)Petri網(wǎng)中的庫(kù)所,庫(kù)所中的黑色圓點(diǎn)代表token,token的數(shù)量指請(qǐng)求的隊(duì)列長(zhǎng)度,實(shí)線框1和框2表示局部備用服務(wù)器集群,虛線框1和框2表示全局備用服務(wù)器集群,根據(jù)云的特點(diǎn),其中局部備用服務(wù)器和全局備用服務(wù)器都為n臺(tái),受篇幅影響,本文在圖2的基于多租戶和可伸縮的負(fù)載均衡SPN模型中的備用服務(wù)器集群只分別畫出兩臺(tái),其他備用服務(wù)器集群用省略號(hào)表示。
首先對(duì)此模型作如下約定:1)所有服務(wù)器集群,即處理請(qǐng)求的變遷si,ri,mi,它們的處理速率是獨(dú)立指數(shù)分布的;2)租戶的請(qǐng)求不分優(yōu)先級(jí),即請(qǐng)求獲得處理的概率是相等的;3)任一類租戶請(qǐng)求的到達(dá)為泊松過(guò)程,一個(gè)到來(lái)的請(qǐng)求可以根據(jù)租戶的特征將其分配給服務(wù)器集群中處理此類請(qǐng)求的服務(wù)器,當(dāng)請(qǐng)求隊(duì)列已滿,則拒絕接收任何新到來(lái)的請(qǐng)求;4)1≤i≤n。
為不失一般性,假設(shè)租戶可以分為z類,服務(wù)器集群數(shù)為n。下面對(duì)圖2中各個(gè)庫(kù)所及變遷的具體意義進(jìn)行詳細(xì)說(shuō)明:
1)T1表示不同租戶請(qǐng)求的到達(dá),其平均到達(dá)速率為λi。考慮到SaaS租戶往往來(lái)自于不同的物理位置,并具有不同的特征,與此同時(shí),SaaS應(yīng)用的物理服務(wù)器集群往往也分布于不同的地理位置;因此,當(dāng)不同特征租戶的請(qǐng)求到達(dá)的時(shí)候,變遷T1執(zhí)行并由x1進(jìn)行分配,這樣經(jīng)租戶ID和特征分類過(guò)的多租戶請(qǐng)求能夠在較短時(shí)間內(nèi)得到處理,由此能夠在很大程度上為租戶和執(zhí)行請(qǐng)求的服務(wù)器集群之間建立起優(yōu)化的關(guān)聯(lián)關(guān)系,減少響應(yīng)時(shí)間。
2)x1表示由變遷T1執(zhí)行后到來(lái)的租戶請(qǐng)求進(jìn)行分配的庫(kù)所,它根據(jù)變遷ti所關(guān)聯(lián)的可實(shí)施謂詞及實(shí)施概率來(lái)決定將租戶請(qǐng)求放入哪個(gè)隊(duì)列。
3)ti表示對(duì)庫(kù)所x1中的所有租戶請(qǐng)求進(jìn)行分配的變遷。
4)fi表示接收經(jīng)過(guò)分類后的請(qǐng)求的庫(kù)所,它根據(jù)變遷ei和wi所關(guān)聯(lián)的可實(shí)施謂詞及實(shí)施概率來(lái)決定將租戶請(qǐng)求放入到fi的某一個(gè)隊(duì)列中,設(shè)其容量為f_buffi。
5)ei和wi表示對(duì)已經(jīng)分類好的請(qǐng)求的分配變遷,以決定是將請(qǐng)求放入與租戶請(qǐng)求匹配程度最高的服務(wù)器集群(亦或是局部服務(wù)器集群)進(jìn)行處理還是放入全局服務(wù)器集群。
6)pi表示將用局部服務(wù)器集群處理的請(qǐng)求的緩沖隊(duì)列,設(shè)其容量為p_buffi。
7)di指的是如果ri服務(wù)器處于正常負(fù)載水平,則通過(guò)di的執(zhí)行將pi中已有的租戶請(qǐng)求放入此類服務(wù)器的緩沖隊(duì)列ai。
8)ai表示與租戶請(qǐng)求匹配程度最高的服務(wù)器集群的緩沖隊(duì)列,設(shè)其容量為a_buffi。
9)bi表示局部備用服務(wù)器集群的緩沖隊(duì)列,如果pi中請(qǐng)求較多,并且ri吞吐量變低,則通過(guò)oi的執(zhí)行將請(qǐng)求放入其中,設(shè)其容量為b_buffi。
10)ri表示局部環(huán)境下可以在正常負(fù)載水平下處理租戶請(qǐng)求的服務(wù)器集群,其平均處理速率為r_vi。
11)si表示在局部環(huán)境下將對(duì)租戶請(qǐng)求進(jìn)行處理的變遷,即局部備用服務(wù)器集群,其平均處理速率為s_vi。
12)ki表示全局環(huán)境下的緩沖隊(duì)列,設(shè)其容量為k_buffi。
13)ii表示為全局范圍內(nèi)可以為租戶請(qǐng)求提供的資源,資源數(shù)為1。
14)mi表示為SaaS服務(wù)供應(yīng)商提供的全局環(huán)境下的備用服務(wù)器集群,其平均出處理速率為m_vi。
15)c1表示租戶請(qǐng)求處理結(jié)束,設(shè)其容量為c_buffi。
16)g1的含義:g1點(diǎn)火后將會(huì)把c1中的token釋放掉,防止c1中的token數(shù)量超過(guò)其容量。
為了更加具體地說(shuō)明本文提出的策略模型是如何執(zhí)行的,下面給出執(zhí)行過(guò)程的偽代碼(如圖2所示):
輸入:多租戶請(qǐng)求到達(dá)的速率、變遷(服務(wù)器集群)ri,si,mi的平均處理速率及服務(wù)器隊(duì)列長(zhǎng)度閾值。
輸出:庫(kù)所ai,bi,ki中的平均token數(shù)(隊(duì)列長(zhǎng)度)及變遷si,ri,mi吞吐量。
為了保證基于多租戶和可伸縮的負(fù)載均衡SPN模型在仿真過(guò)程中能成功執(zhí)行完所有租戶請(qǐng)求,將庫(kù)所c1與變遷T1相連,箭頭指向T1,其中在c1中設(shè)置服務(wù)器隊(duì)列長(zhǎng)度閾值16,同時(shí)將g1刪除,這樣可以構(gòu)成一個(gè)循環(huán)網(wǎng),只有當(dāng)服務(wù)器隊(duì)列中的所有租戶請(qǐng)求被執(zhí)行完成后才終止。
步驟1 變遷T1點(diǎn)火,多租戶的請(qǐng)求到達(dá)在x1;
步驟2 經(jīng)過(guò)判斷租戶的ID,識(shí)別出其所在物理位置,根據(jù)物理位置將請(qǐng)求分別分發(fā)到指定的庫(kù)所fi;
步驟3 到達(dá)fi之后判斷與租戶請(qǐng)求匹配度最高的服務(wù)器集群緩沖隊(duì)列ai中的平均token數(shù)是否小于bi和ki中的數(shù)量;
步驟4 if (N(ai) 與ai對(duì)應(yīng)的服務(wù)器集群ri處理租戶請(qǐng)求; 步驟5 if (N(bi) 與bi對(duì)應(yīng)的服務(wù)器集群si處理租戶請(qǐng)求; 步驟6 if (N(ki) 與ki對(duì)應(yīng)的服務(wù)器集群mi處理租戶請(qǐng)求; 步驟7 繼續(xù)執(zhí)行步驟2~6,直至所有請(qǐng)求被處理完畢。 3.4 基于多租戶和可伸縮的負(fù)載均衡調(diào)度策略性能指標(biāo)描述 基于多租戶和可伸縮的負(fù)載均衡SPN模型的性能可由圖2中的ti,ei,wi,oi,di的可實(shí)施謂詞及實(shí)施概率進(jìn)行描述。 1)變遷ti的可實(shí)施謂詞為:根據(jù)第2章中的相似度值μ可知: Y(ti):?i,1≤i≤n, (M(fi) 變遷ti的實(shí)施概率為: 2)變遷ei的可實(shí)施謂詞為: Y(ei):?i,1≤i≤n,M(pi) 變遷ei的實(shí)施概率為: 3)變遷wi的可實(shí)施謂詞為: Y(wi):?i,1≤i≤n, (M(ki) 變遷wi的實(shí)施概率為: 4)變遷di的可實(shí)施謂詞為: Y(di):?i,1≤i≤n,M(ai) 變遷di的實(shí)施概率為: 5)變遷oi的可實(shí)施謂詞為: Y(oi):?i,1≤i≤n, (M(ai)>a_buffi)∧ (M(bi) 變遷oi的實(shí)施概率為: 圖2 基于多租戶和可伸縮的負(fù)載均衡SPN模型 4.1 實(shí)驗(yàn)環(huán)境、參數(shù)設(shè)置及實(shí)施方案說(shuō)明 仿真程序使用JDK1.8.0_45和隨機(jī)Petri網(wǎng)建模工具SPNP[20]開發(fā),運(yùn)行在一臺(tái)CPU為IntelCorei7,主頻為3.40GHz,4GB內(nèi)存的PC上。 為了簡(jiǎn)化模型的求解,模型中參數(shù)的設(shè)置參考文獻(xiàn)[20]中的方法,服務(wù)器隊(duì)列長(zhǎng)度閾值為16(經(jīng)實(shí)驗(yàn)表明,當(dāng)隊(duì)列長(zhǎng)度閾值超過(guò)16,則會(huì)出現(xiàn)狀態(tài)空間爆炸),變遷si,ri,mi的平均處理速率均設(shè)為3.0,多租戶請(qǐng)求T1到達(dá)的速率設(shè)為9個(gè)值,分別為5.0,10.0,30.0,50.0,80.0,100.0,500.0,1 000.0,3 000.0。 實(shí)施方案:本文主要是對(duì)提出的負(fù)載均衡策略與輪詢(RoundRobin,RR)算法、隨機(jī)算法和文獻(xiàn)[11]中提出的改進(jìn)的最小連接(ImprovedLeast-ConnectionScheduling,ILCS)算法的總體響應(yīng)時(shí)間和總吞吐量進(jìn)行對(duì)比,對(duì)于這四種算法的數(shù)據(jù)獲得過(guò)程,都是用SPNP軟件首先對(duì)其進(jìn)行建模,其次用C語(yǔ)言代碼進(jìn)行實(shí)現(xiàn),并求得庫(kù)所的平均token數(shù)及時(shí)間變遷的吞吐量,其會(huì)隨著請(qǐng)求到達(dá)速率的變化而變化。進(jìn)而利用這些數(shù)據(jù),根據(jù)4.2節(jié)中的公式求得四種調(diào)度策略的總體響應(yīng)時(shí)間及總吞吐量。 本文策略所采用的模型如圖2所示,執(zhí)行過(guò)程如3.3節(jié)中的偽碼所示,由于篇幅限制,另外三種算法的模型不再畫出。對(duì)另外三種算法建模的時(shí)候,在同樣的實(shí)驗(yàn)環(huán)境下采取了與本文相同的時(shí)間變遷數(shù)量、平均處理速率、多租戶請(qǐng)求達(dá)到的速率和隊(duì)列長(zhǎng)度閾值,用C語(yǔ)言代碼對(duì)變遷的點(diǎn)火進(jìn)行控制,且C代碼的實(shí)現(xiàn)是按照這三種算法的思想具體實(shí)現(xiàn)。 4.2 模型評(píng)價(jià)標(biāo)準(zhǔn) 在一般的SPN模型中,性能指標(biāo)可以通過(guò)模型的穩(wěn)定狀態(tài)概率求得。系統(tǒng)設(shè)計(jì)者在研究一種新的調(diào)度策略的時(shí)候,一定要考慮到一系列因素,比如系統(tǒng)類型和用戶需求等,根據(jù)系統(tǒng)的類型,用戶和設(shè)計(jì)者一定希望調(diào)度策略可以達(dá)到以下目標(biāo):吞吐量最大化、避免無(wú)限推遲甚至饑餓現(xiàn)象、響應(yīng)時(shí)間和利用率之間達(dá)到一個(gè)平衡等[22]。在本文中,通過(guò)分析基于多租戶和可伸縮性的負(fù)載均衡SPN模型的總體響應(yīng)時(shí)間和吞吐量來(lái)評(píng)價(jià)系統(tǒng)的性能。總體響應(yīng)時(shí)間和吞吐量可以分別表示如下。 1)令P[M]為情態(tài)M的穩(wěn)態(tài)概率,則在穩(wěn)態(tài)下變遷t的吞吐量可以表示為: (3) 其中:E是使變遷t能夠點(diǎn)火的所有情態(tài)集,u為變遷t的實(shí)施速率,u取不同的值時(shí)則吞吐量不同。 2)根據(jù)圖2的SPN模型可以得知其總吞吐量TH為: (4) 其中:TH(t)在式(3)中求出,表示穩(wěn)態(tài)下變遷t的吞吐量,在本文中,t指si,ri,mi(1≤i≤n)。 3)圖2的SPN模型總體響應(yīng)時(shí)間RT為: 4.3 結(jié)果與分析 為了驗(yàn)證基于多租戶和可伸縮性的負(fù)載均衡策略的可行性,進(jìn)行了一組仿真實(shí)驗(yàn),將此策略與RR、隨機(jī)調(diào)度算法及ILCS算法進(jìn)行性能比較。 表1和表2分別是在穩(wěn)態(tài)概率下SPN模型中庫(kù)所的平均token數(shù)及時(shí)間變遷的吞吐量。由表1和表2可知,當(dāng)請(qǐng)求速率(每秒請(qǐng)求到達(dá)數(shù))持續(xù)增大的時(shí)候,本文策略的SPN模型中的庫(kù)所的平均token數(shù)及時(shí)間變遷的吞吐量越來(lái)越大,但是當(dāng)請(qǐng)求速率增大到一定程度時(shí)候,其保持基本平衡,這說(shuō)明本文策略的穩(wěn)定性較好,當(dāng)租戶的請(qǐng)求源源不斷的到來(lái)的時(shí)候先局部后全局的策略仍然可以保證請(qǐng)求被處理。關(guān)于RR算法、隨機(jī)調(diào)度算法和ILCS算法得到的庫(kù)所平均token數(shù)及時(shí)間變遷的吞吐量,在此只列出其總體響應(yīng)時(shí)間和總吞吐量數(shù)據(jù),如表3所示。 為了更加直觀,圖3和圖4表現(xiàn)出了四種調(diào)度策略在請(qǐng)求速率不斷增大的情況下的總體響應(yīng)時(shí)間和總吞吐量。 表1 穩(wěn)態(tài)概率下SPN模型中的平均token數(shù) 表2 穩(wěn)態(tài)概率下SPN模型中的服務(wù)器總吞吐量 表3 四種算法的總體響應(yīng)時(shí)間和總吞吐量對(duì)比結(jié)果 圖3是實(shí)施四種調(diào)度策略時(shí)隨著請(qǐng)求速率增加其總吞吐量變化的曲線。從圖3中可以看出,隨著請(qǐng)求速率的持續(xù)增加,四種調(diào)度策略的總吞吐量都在增加,但是請(qǐng)求速率達(dá)到30請(qǐng)求/s時(shí),本文調(diào)度策略的吞吐量達(dá)到基本平衡,即請(qǐng)求速率即使再不斷增大,其吞吐量呈小幅度上升,當(dāng)請(qǐng)求速率達(dá)到500請(qǐng)求/s時(shí),其吞吐量基本保持不變;然而當(dāng)請(qǐng)求速率達(dá)到100請(qǐng)求/s時(shí),RR算法和隨機(jī)算法的吞吐量大幅度下降,因?yàn)檫@兩種算法都沒(méi)有考慮到服務(wù)器當(dāng)前的連接數(shù),進(jìn)而導(dǎo)致其吞吐量不穩(wěn)定,服務(wù)器間的負(fù)載不均衡;ILCS算法的總吞吐量在請(qǐng)求速率達(dá)到100請(qǐng)求/s之前呈上升趨勢(shì),略高于本文策略的吞吐量,但是在100請(qǐng)求/s之后開始呈小幅度下降趨勢(shì),略低于本文策略的吞吐量,因?yàn)镮LCS算法定時(shí)地評(píng)估各個(gè)服務(wù)器的負(fù)載狀態(tài),處理性能極值等,同時(shí)還評(píng)估新請(qǐng)求的歸一化負(fù)載率,整體來(lái)說(shuō),ILCS算法與本文的策略的性能相差較小,在請(qǐng)求速率達(dá)到1 000請(qǐng)求/s后幾近重合。 圖4為四種調(diào)度策略的總體響應(yīng)時(shí)間對(duì)比。由圖4可知,隨著請(qǐng)求速率的持續(xù)增加,本文調(diào)度策略的響應(yīng)時(shí)間在增加,當(dāng)請(qǐng)求速率達(dá)到500請(qǐng)求/s時(shí),系統(tǒng)的響應(yīng)時(shí)間趨于穩(wěn)定,即請(qǐng)求速率即使再不斷增大,其響應(yīng)時(shí)間基本保持不變,因?yàn)楸疚牟呗钥梢詫?duì)租戶請(qǐng)求進(jìn)行更合理的分配,當(dāng)負(fù)載持續(xù)增加的時(shí)候,可以進(jìn)行局部伸縮甚至是全局伸縮,并且可以保證租戶的請(qǐng)求總是能被處理而不至于擁塞過(guò)度,從而使整體負(fù)載水平保持平衡,體現(xiàn)出了SaaS的優(yōu)勢(shì);而隨著請(qǐng)求速率的不斷增加,RR調(diào)度算法和隨機(jī)調(diào)度算法的總體響應(yīng)時(shí)間急劇上升,因?yàn)樵谶@種情況下,系統(tǒng)的處理能力逐漸達(dá)到飽和而引起更多的租戶請(qǐng)求得不到處理進(jìn)而導(dǎo)致請(qǐng)求積壓和總體響應(yīng)時(shí)間增加;ILCS算法的總體響應(yīng)時(shí)間略高于本文策略的總體響應(yīng)時(shí)間,又優(yōu)于RR和隨機(jī)算法的總體響應(yīng)時(shí)間,但是其波動(dòng)稍大,穩(wěn)定性較差。 圖3 四種調(diào)度策略的總吞吐量對(duì)比 圖4 四種調(diào)度策略的總體響應(yīng)時(shí)間對(duì)比 因此從以上分析可以得知,從整體上來(lái)說(shuō),本文提出的調(diào)度策略性能較優(yōu)于RR調(diào)度算法、隨機(jī)調(diào)度算法和ILCS算法。 隨著云計(jì)算的深入發(fā)展,SaaS必然作為一種新的軟件交付方式成為時(shí)代的潮流,并且借助負(fù)載均衡機(jī)制支持更多的租戶并實(shí)現(xiàn)更好的可擴(kuò)展性。本文介紹了一種基于隨機(jī)Petri網(wǎng)的面向SaaS服務(wù)的負(fù)載均衡機(jī)制,實(shí)現(xiàn)了針對(duì)多租戶和可伸縮性的負(fù)載均衡策略,在一定程度上提高了資源利用率并降低了系統(tǒng)開銷,縮短了執(zhí)行時(shí)間,并且避免了傳統(tǒng)的負(fù)載均衡機(jī)制的不足。同時(shí)與輪詢調(diào)度、隨機(jī)調(diào)度和ILCS算法進(jìn)行比較,結(jié)果表明,本文提出的算法的整體性能較好。如何在提高效率的同時(shí)也提高服務(wù)質(zhì)量,降低拒絕概率,并且對(duì)模型進(jìn)行精化與分解將是下一步研究課題的重點(diǎn),同時(shí)將對(duì)負(fù)載類型分類并在SaaS平臺(tái)上進(jìn)行模擬實(shí)驗(yàn)。 ) [1] 白海石.WindowsAzure實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2014:4-80.(BAIHS.WindowsAzureinAction[M].Beijing:ChinaMachinePress, 2014:4-80.) [2]GUOCJ,SUNW,HUANGY,etal.Aframeworkfornativemulti-tenancyapplicationdevelopmentandmanagement[C]//CEC2007:Proceedingsofthe9thIEEEInternationalConferenceonE-CommerceTechnology.Washington,DC:IEEEComputerSociety, 2007: 551-558. [3]PATHAKKK,YADAVPS,TIWARIR,etal.Amodifiedapproachforloadbalancingincloudcomputingusingextendedhoneybeealgorithm[J].InternationalJournalofResearchReviewinEngineeringScienceandTechnology, 2012, 3(1): 12-19. [4]WUL,GARGSK,BUYYAR.SLA-basedresourceallocationforSoftwareasaServiceprovider(SaaS)incloudcomputingenvironments[C]//Proceedingsofthe2011 11thIEEE/ACMInternationalSymposiumonCluster,CloudandGridComputing.Washington,DC:IEEEComputerSociety, 2011: 195-204. [5] 汪德帥,張一川,張斌,等.面向多租約SaaS應(yīng)用的負(fù)載均衡機(jī)制研究與實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2012,33(1):71-77.(WANGDS,ZHANGYC,ZHANGB,etal.Researchandimplementationofloadbalancingmechanismformulti-tenantSaaSapplication[J].JournalofChineseComputerSystems, 2012, 33(1): 71-77.) [6]AVERSAL,BESTAVROSA.LoadbalancingaclusterofWebservers:usingdistributedpacketrewriting[C]//IPCCC’ 00:Proceedingsofthe2000IEEEInternationalConferenceonPerformance,Computing,andCommunications.Piscataway,NJ:IEEE, 2000: 24-29. [7] 陳燕升,張贊波,任江濤.改進(jìn)的最小鏈接負(fù)載均衡調(diào)度算法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015,24(7):88-92.(CHENYS,ZHANGZB,RENJT.Improvedminimumlinkloadbalancingschedulingalgorithm[J].ComputerSystems&Applications, 2015, 24(7): 88-92.) [8] 郭成城,晏蒲柳.一種異構(gòu)Web服務(wù)器集群動(dòng)態(tài)負(fù)載均衡算法[J].計(jì)算機(jī)學(xué)報(bào),2005,28(2):179-184.(GUOCC,YANPL.Adynamicload-balancingalgorithmforheterogeneousWebservercluster[J].ChineseJournalofComputers, 2005, 28(2): 179-184.) [9] 趙少卡,李立耀,徐聰,等.基于SaaS的彈性云平臺(tái)優(yōu)化調(diào)度策略設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2014,31(2):422-425.(ZHAOSK,LILY,XUC,etal.ElasticcloudplatformoptimalschedulingstrategydesignbasedonSaaS[J].ApplicationResearchofComputers, 2014, 31(2): 422-425.) [10]DOMANALSG,REDDYGRM.Loadbalancingincloudcomputingusingmodifiedthrottledalgorithm[C]//Proceedingsofthe2013IEEEInternationalConferenceonCloudComputinginEmergingMarkets.Piscataway,NJ:IEEE, 2013: 1-5. [11]RATHORER,SHARMAV,GOLAKK.Anewapproachforloadbalancingincloudcomputing[J].InternationalJournalofEngineeringandComputerScience, 2014, 2(5): 1636-1640. [12]MEHMOODM,SATTARK,KHANAH,etal.Loadbalancingapproachincloudcomputing[J].JournalofInformationTechnology&SoftwareEngineering, 2015, 5(3): 100153. [13]KOKILAVANIT,AMALARETHINAMDIG.Loadbalancedmin-minalgorithmforstaticmeta-taskschedulingingridcomputing[J].InternationalJournalofComputerApplications, 2011, 20(2): 43-49. [14] 熊偉,李兵,陳軍,等.一種基于預(yù)測(cè)控制的SaaS系統(tǒng)自適應(yīng)方法[J].計(jì)算機(jī)學(xué)報(bào),2016,39(2):364-376.(XIONGW,LIB,CHENJ,etal.Aself-adaptionapproachbasedonpredictivecontrolforSaaS[J].ChineseJournalofComputers, 2016, 39(2): 364-376.) [15] 牟權(quán),葉保留,陸桑璐.基于云計(jì)算的普適服務(wù)集成平臺(tái)技術(shù)研究[EB/OL].[2016-03-15].http://www.itfront.cn/attachment.aspx?attachmentid=3072.(MOUQ,YEBL,LUSL.Atechnologyresearchofpervasiveserviceintegrationplatformbasedoncloudcomputing[EB/OL].[2016-03-15].http://www.itfront.cn/attachment.aspx?attachmentid=3072.) [16] 葉偉.互聯(lián)網(wǎng)時(shí)代的軟件革命:SaaS架構(gòu)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009:32-47.(YEW.TheSoftwareEvolutionoftheInternetAge:SaaSArchitectureDesign[M].Beijing:PublishingHouseofElectronicsIndustry, 2009: 32-47.). [17]TSAIWT,BAIXY,HUANGY.Software-as-a-Service(SaaS):perspectivesandchallenges[J].ScienceChinaInformationSciences, 2014, 57(5): 1-15. [18] 杜垚,郭濤,陳俊杰.云環(huán)境下機(jī)群彈性負(fù)載均衡機(jī)制[J].計(jì)算機(jī)應(yīng)用,2013,33(3):830-833.(DUY,GUOT,CHENJJ.Fleetelasticloadbalancingmechanismincloudenvironment[J].JournalofComputerApplications, 2013, 33(3): 830-833.) [19] 吳哲輝.Petri網(wǎng)導(dǎo)論[M].北京:機(jī)械工業(yè)出版社,2006:1-65.(WUZH.IntroductionofPetriNet[M].Beijing:ChinaMachinePress, 2006:1-65.) [20] 林闖.隨機(jī)PETRI網(wǎng)和系統(tǒng)性能評(píng)介[M].2版.北京:清華大學(xué)出版社,2005:19-62.(LINC.StochasticPetriNetandPerformanceEvaluationofSystems[M].2nded.Beijing:TsinghuaUniversityPress, 2005: 19-62.) [21] 李彤.軟件并行開發(fā)過(guò)程[M].北京:科學(xué)出版社,2003:11-15.(LIT.ConcurrentDevelopmentProcessesofSoftware[M].Beijing:SciencePress, 2003: 11-15.) [22]SINGHA,GOYALP,BATRAS.AnoptimizedroundrobinschedulingalgorithmforCPUscheduling[J].InternationalJournalonComputerScience&Engineering, 2010, 2(7): 2383-2385. ThisworkispartiallysupportedbytheNaturalScienceFoundationofChina(61379032, 61262024, 61462092),theScienceandTechnologyProgramofScientificResearchFoundationinEducationDepartmentofYunnanProvince(2014Y12). MING Li, born in 1989, M.S.candidate.Her research interests include software dynamic evolution, cloud computing. LI Tong, born in 1963, Ph.D., professor.His research interests include software engineering, software process. QIN Jianglong, born in 1984, Ph.D., lecturer.His research interests include software process, software evolution. ZHENG Ming, born in 1992, M.S.candidate.His research interests include software evolution, cloud computing. JIANG Xudong, born in 1986, M.S.candidate.His research interests include software evolution, software process. XIE Zhongwen, born in 1982, Ph.D., lecturer.His research interests include software dynamic evolution, cloud computing, software process. SaaS-oriented modeling and analysis of load balancing strategy MING Li1, LI Tong1,2, QIN Jianglong1,2*, ZHENG Ming1, JIANG Xudong1, XIE Zhongwen1,2 (1.SchoolofSoftware,YunnanUniversity,KunmingYunnan650500,China;2.KeyLaboratoryinSoftwareEngineeringofYunnanProvince(YunnanUniversity),KunmingYunnan650500,China) To improve the efficiency of resource access in Software as a Service (SaaS) applications, a load balancing strategy combined with the important features of SaaS service was proposed.Firstly, the load balancing strategy was proposed by combining multi-tenancy and high scalability in SaaS service based on the distribution of request and global and local scalability.Secondly, the load balancing strategy model was constructed and simulated by a Petri net.Finally, this strategy was compared with Round Robin (RR), stochastic algorithm and Improved Least-Connection Scheduling (ILCS) load balancing algorithm in response time and throughput.The experimental results show that the response time and throughput of the proposed strategy become stable and they are superior to the other three algorithms after the request rate reaches 500 per second. Software as a Service (SaaS); multi-tenancy; scalability; load balancing; Petri net 2016-07-18; 2016-08-14。 國(guó)家自然科學(xué)基金資助項(xiàng)目(61379032, 61262024, 61462092);云南省教育廳科學(xué)研究基金理(工)科資助項(xiàng)目(2014Y012)。 明利(1989—),女,河南安陽(yáng)人,碩士研究生,主要研究方向:軟件動(dòng)態(tài)演化、云計(jì)算; 李彤(1963—),男,河北石家莊人,教授,博士生導(dǎo)師,博士,CCF會(huì)員,主要研究方向:軟件工程、軟件過(guò)程; 秦江龍(1984—),男,云南安寧人,講師,博士,CCF會(huì)員,主要研究方向:軟件過(guò)程、軟件演化; 鄭明(1992—),男,安徽安慶人,碩士研究生,主要研究方向:軟件演化、云計(jì)算; 蔣旭東(1986—),男,湖南邵陽(yáng)人,碩士研究生,主要研究方向:軟件演化、軟件過(guò)程; 謝仲文(1982—),男,福建漳州人,講師,博士,CCF會(huì)員,主要研究方向:軟件動(dòng)態(tài)演化、云計(jì)算、軟件過(guò)程。 1001-9081(2017)01-0024-07DOI:10.11772/j.issn.1001-9081.2017.01.0024 TP A
4 實(shí)驗(yàn)仿真和分析







5 結(jié)語(yǔ)