一種云平臺上的資源伸縮方法和一種云平臺的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種云平臺上的資源伸縮方法和一種云平臺O
【背景技術(shù)】
[0002]PaaS(platform as an service)是云計算領(lǐng)域的三大服務(wù)模式之一,是把云平臺作為一種服務(wù)提供的商業(yè)模式。開發(fā)者開發(fā)各種各樣的應(yīng)用,來承載不同的業(yè)務(wù),例如,可以開發(fā)一個Web應(yīng)用來實現(xiàn)即時通信業(yè)務(wù);同時,開發(fā)者可以將開發(fā)的應(yīng)用部署到云平臺,云平臺為應(yīng)用提供的運行環(huán)境和資源,例如實例、內(nèi)存等,并且支持應(yīng)用的多實例部署,以支持高并發(fā)的外部用戶訪問。
[0003]為了保證通過部署在云平臺上的應(yīng)用為用戶提供服務(wù)時具有良好的用戶體驗,需要為應(yīng)用分配較多系統(tǒng)資源,應(yīng)用占用的系統(tǒng)資源越多,應(yīng)用的運營成本越高。目前,通常利用自動擴(kuò)容技術(shù)來為應(yīng)用動態(tài)分配系統(tǒng)資源,使得在保證業(yè)務(wù)指標(biāo)的前提下,提高云平臺系統(tǒng)資源利用率,降低應(yīng)用的運營成本。利用自動擴(kuò)容技術(shù)來為應(yīng)用動態(tài)分配系統(tǒng)資源是指,云平臺實時收集應(yīng)用的資源使用情況,例如應(yīng)用的cpu占用率、內(nèi)存占用率、應(yīng)用的并發(fā)請求數(shù)等信息等信息,根據(jù)收集信息,實時調(diào)整為應(yīng)用分配的系統(tǒng)資源。例如:如果CPU (Central Processing Unit)占用率超過80%,且持續(xù)I分鐘,增加一個應(yīng)用實例;如果CPU占用率低于20%,且持續(xù)I分鐘,則減少一個應(yīng)用實例,以降低應(yīng)用的運營成本。
[0004]但在云平臺業(yè)務(wù)流量突發(fā)的場景中,利用現(xiàn)有的自動擴(kuò)容技術(shù)來動態(tài)調(diào)整應(yīng)用的資源時,由于調(diào)整應(yīng)用占用的系統(tǒng)資源量的過程需要一定時間,不能夠快速實現(xiàn)應(yīng)用占用的系統(tǒng)資源量的增加或減少,導(dǎo)致業(yè)務(wù)流量突發(fā)場景下部分業(yè)務(wù)無法處理,影響應(yīng)用正常運行。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種云平臺上的資源伸縮方法和一種云平臺,用以實現(xiàn)為云平臺上部署的應(yīng)用動態(tài)分配資源,保證業(yè)務(wù)流量突發(fā)場景下應(yīng)用能夠正常運行。
[0006]第一方面,本發(fā)明實施例提供一種云平臺上的資源伸縮方法,用于為云平臺上部署的應(yīng)用動態(tài)分配資源,其中,該應(yīng)用用于承載相應(yīng)的業(yè)務(wù),以實現(xiàn)特定的業(yè)務(wù)功能,該方法包括:
[0007]在第一時刻,根據(jù)預(yù)測策略預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值,以得到預(yù)測的業(yè)務(wù)指標(biāo)數(shù)值,其中,預(yù)測策略用于指示業(yè)務(wù)指標(biāo)數(shù)值的預(yù)測方式,第二時刻晚于第一時刻;
[0008]根據(jù)預(yù)測的業(yè)務(wù)指標(biāo)數(shù)值,以及業(yè)務(wù)指標(biāo)數(shù)值和應(yīng)用所需資源量的映射關(guān)系,確定應(yīng)用在第二時刻所需的資源量;
[0009]在第二時刻到來之前,將應(yīng)用的資源量調(diào)整為應(yīng)用在第二時刻所需的資源量。
[0010]結(jié)合第一方面,在第一種實現(xiàn)方式中,預(yù)測策略包括:基于歷史數(shù)據(jù)的業(yè)務(wù)指標(biāo)數(shù)值預(yù)測方式;
[0011]根據(jù)預(yù)測策略預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值,包括:
[0012]獲取業(yè)務(wù)在第一時刻之前的預(yù)設(shè)時間間隔內(nèi)的業(yè)務(wù)指標(biāo)的數(shù)值;
[0013]根據(jù)獲取的數(shù)值,預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值。
[0014]結(jié)合第一方面的第一種實現(xiàn)方式,在第一方面的第二種實現(xiàn)方式中,根據(jù)獲取的數(shù)值,預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值,包括:
[0015]根據(jù)獲取的數(shù)值,確定業(yè)務(wù)在第一時刻之前的預(yù)設(shè)時間間隔內(nèi)的業(yè)務(wù)指標(biāo)數(shù)值的變化軌跡,根據(jù)變化軌跡,預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值;
[0016]其中,預(yù)設(shè)時間間隔內(nèi)包含相鄰時刻第三時刻和第四時刻,變化軌跡指示業(yè)務(wù)在第三時刻的業(yè)務(wù)指標(biāo)的數(shù)值與業(yè)務(wù)在第四時刻的業(yè)務(wù)指標(biāo)的數(shù)值之間的大小關(guān)系,以及業(yè)務(wù)在第四時刻的業(yè)務(wù)指標(biāo)的數(shù)值與業(yè)務(wù)在第三時刻的業(yè)務(wù)指標(biāo)的數(shù)值相比增加或減少的數(shù)值。
[0017]結(jié)合第一方面,在第三種實現(xiàn)方式中,預(yù)測策略包括:基于指定時間的業(yè)務(wù)指標(biāo)預(yù)測方式;
[0018]根據(jù)預(yù)測策略預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值,包括:
[0019]獲取業(yè)務(wù)在第一時刻之前的歷史時刻的業(yè)務(wù)指標(biāo)的數(shù)值,根據(jù)獲取的數(shù)值預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值;
[0020]其中,歷史時刻中包含至少一個時刻,歷史時刻中任一時刻與第二時刻之間的時間間隔為N個預(yù)設(shè)周期,N為正整數(shù)。
[0021]結(jié)合第一方面、第一方面的第一種至第三種實現(xiàn)方式,在第一方面的第四種實現(xiàn)方式中,業(yè)務(wù)的業(yè)務(wù)指標(biāo)包括以下信息之一或組合:業(yè)務(wù)的并發(fā)請求數(shù)量、業(yè)務(wù)的訪問流量、業(yè)務(wù)的超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)請求數(shù)量以及業(yè)務(wù)的用戶數(shù)量。
[0022]結(jié)合第一方面,在第五種實現(xiàn)方式中,將應(yīng)用的資源量調(diào)整為應(yīng)用在第二時刻所需的資源量,包括:
[0023]向云平臺控制器發(fā)送指令,指令用于指示云平臺控制器將應(yīng)用的資源量調(diào)整為應(yīng)用在第二時刻所需的資源量。
[0024]結(jié)合第一方面或第一方面的第五種實現(xiàn)方式,在第一方面的第六種實現(xiàn)方式中,應(yīng)用的資源量包括以下信息之一或組合:應(yīng)用部署的實例數(shù)目、應(yīng)用的中央處理器CPU占用率、應(yīng)用的內(nèi)存占用率、應(yīng)用的磁盤占用率以及應(yīng)用占用的網(wǎng)絡(luò)輸入輸出1設(shè)備吞吐量。
[0025]第一方面中,通過在第一時刻,根據(jù)預(yù)測策略預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值,以得到預(yù)測的業(yè)務(wù)指標(biāo)數(shù)值,然后根據(jù)預(yù)測的業(yè)務(wù)指標(biāo)數(shù)值,以及業(yè)務(wù)指標(biāo)數(shù)值和應(yīng)用所需資源量的映射關(guān)系,確定應(yīng)用在第二時刻所需的資源量,在第二時刻到來之前,將應(yīng)用的資源量調(diào)整為應(yīng)用在第二時刻所需的資源量,實現(xiàn)為云平臺上部署的應(yīng)用動態(tài)分配資源。第一方面中可以將業(yè)務(wù)流量突發(fā)時刻設(shè)置為第二時刻,因此,通過第一方面實現(xiàn)了在第二時刻到來之前云平臺上部署的應(yīng)用所需的資源量的動態(tài)調(diào)整,在保證高資源利用率的同時,保證業(yè)務(wù)流量突發(fā)場景下云平臺上部署的應(yīng)用分配的資源量能夠維持應(yīng)用進(jìn)行正常業(yè)務(wù)運行。
[0026]第二方面,本發(fā)明實施例提供一種云平臺上的資源伸縮方法,用于為云平臺上部署的應(yīng)用動態(tài)分配資源,其中,該應(yīng)用用于承載相應(yīng)的業(yè)務(wù),以實現(xiàn)特定的業(yè)務(wù)功能,該方法包括:
[0027]在第一時刻,根據(jù)時刻與應(yīng)用所需資源的映射關(guān)系,預(yù)測應(yīng)用在第二時刻所需的資源量,其中,第二時刻晚于第一時刻;
[0028]在第二時刻到來之前,將應(yīng)用的資源量調(diào)整為應(yīng)用在第二時刻所需的資源量。
[0029]結(jié)合第二方面,在第一種實現(xiàn)方式中,時刻與應(yīng)用所需資源量的映射關(guān)系是基于歷史時刻與應(yīng)用在歷史時刻所需的資源量設(shè)置的。
[0030]結(jié)合第二方面,在第二種實現(xiàn)方式中,將應(yīng)用的資源量調(diào)整為應(yīng)用在第二時刻所需的資源量,包括:
[0031]向云平臺控制器發(fā)送指令,指令用于指示云平臺控制器將應(yīng)用的資源量調(diào)整為應(yīng)用在第二時刻所需的資源量。
[0032]結(jié)合第二方面或第二方面的第二種實現(xiàn)方式,在第二方面的第三種實現(xiàn)方式中,應(yīng)用的資源量包括以下信息之一或組合:應(yīng)用部署的實例數(shù)目、應(yīng)用的中央處理器(Central Processing Unit,CPU)占用率、應(yīng)用的內(nèi)存占用率、應(yīng)用的磁盤占用率以及應(yīng)用占用的網(wǎng)絡(luò)輸入輸出(In Out, 10)設(shè)備吞吐量。
[0033]第二方面中,通過在第一時刻,根據(jù)時刻與應(yīng)用所需資源的映射關(guān)系,預(yù)測應(yīng)用在第二時刻所需的資源量,然后在第二時刻到來之前,將應(yīng)用的資源量調(diào)整為應(yīng)用在第二時刻所需的資源量,實現(xiàn)為云平臺上部署的應(yīng)用動態(tài)分配資源。第二方面中可以將業(yè)務(wù)流量突發(fā)時刻設(shè)置為第二時刻,因此,通過第二方面實現(xiàn)了在第二時刻到來之前云平臺上部署的應(yīng)用所需的資源量的動態(tài)調(diào)整,在保證高資源利用率的同時,保證業(yè)務(wù)流量突發(fā)場景下云平臺上部署的應(yīng)用分配的資源量能夠維持應(yīng)用進(jìn)行正常業(yè)務(wù)運行。
[0034]第三方面,本發(fā)明實施例提供一種云平臺,用于為云平臺上部署的應(yīng)用動態(tài)分配資源,其中,該應(yīng)用用于承載相應(yīng)的業(yè)務(wù),以實現(xiàn)特定的業(yè)務(wù)功能,該云平臺包括:
[0035]收集模塊,用于收集業(yè)務(wù)在第一時刻之前的業(yè)務(wù)指標(biāo)的數(shù)值;
[0036]策略模塊,用于配置業(yè)務(wù)指標(biāo)數(shù)值和應(yīng)用所需資源量的映射關(guān)系;
[0037]預(yù)測模塊,用于在第一時刻,根據(jù)收集模塊收集的業(yè)務(wù)在第一時刻之前的業(yè)務(wù)指標(biāo)的數(shù)值,預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值,以得到預(yù)測的業(yè)務(wù)指標(biāo)數(shù)值,第二時刻晚于第一時刻;根據(jù)預(yù)測的業(yè)務(wù)指標(biāo)數(shù)值,以及策略模塊配置的業(yè)務(wù)指標(biāo)數(shù)值和應(yīng)用所需資源量的映射關(guān)系,確定應(yīng)用在第二時刻所需的資源量;
[0038]執(zhí)行模塊,用于在第二時刻到來之前,將應(yīng)用的資源量調(diào)整為預(yù)測模塊確定的應(yīng)用在第二時刻所需的資源量。
[0039]結(jié)合第三方面,在第一種實現(xiàn)方式中,收集模塊,具體用于:
[0040]收集業(yè)務(wù)在第一時刻之前的預(yù)設(shè)時間間隔內(nèi)的業(yè)務(wù)指標(biāo)的數(shù)值。
[0041]結(jié)合第三方面的第一種實現(xiàn)方式,在第三方面的二種實現(xiàn)方式中,預(yù)測模塊根據(jù)收集模塊收集的業(yè)務(wù)在第一時刻之前的業(yè)務(wù)指標(biāo)的數(shù)值,預(yù)測業(yè)務(wù)在第二時刻的業(yè)務(wù)指標(biāo)的數(shù)值時,具體用于:
[0042]根據(jù)收集模塊收集的業(yè)務(wù)在第一時刻之前的預(yù)設(shè)時間間隔內(nèi)的業(yè)務(wù)指標(biāo)的數(shù)值,確定業(yè)務(wù)在第一時刻之前的預(yù)設(shè)時間間隔內(nèi)的業(yè)務(wù)指