本文涉及但不限于云計(jì)算技術(shù)和虛擬化技術(shù),尤指一種實(shí)現(xiàn)資源預(yù)留的方法和裝置。
背景技術(shù):
網(wǎng)絡(luò)(web)服務(wù)作為目前最流行的分布式計(jì)算方式之一,提供了一種與操作系統(tǒng)無關(guān)、與程序設(shè)計(jì)語言無關(guān)、與機(jī)器類型無關(guān)、與運(yùn)行環(huán)境無關(guān)的開放平臺(tái),實(shí)現(xiàn)網(wǎng)絡(luò)資源的協(xié)作與共享。云計(jì)算平臺(tái)集成的資源多以web服務(wù)的形式向用戶提供,許多計(jì)算任務(wù)往往需要大量的計(jì)算資源(包括中央處理器(cpu,centralprocessingunit)資源和內(nèi)存資源)和存儲(chǔ)資源協(xié)同工作來完成,有效地控制和保障這類計(jì)算任務(wù)的服務(wù)質(zhì)量(qos,qualityofservice)成為云計(jì)算面臨的重要議題之一。由于云計(jì)算環(huán)境下資源的可獲得性和性能的動(dòng)態(tài)變化,未來預(yù)留時(shí)間段內(nèi)資源的可獲得性和性能難以得到保證,因此,將資源的提前預(yù)留作為一種qos的保障機(jī)制引入到云計(jì)算環(huán)境下面臨著挑戰(zhàn)。全球網(wǎng)絡(luò)論壇(ggf,globalgridforum)將資源提前預(yù)留定義為:用戶與資源所有者經(jīng)過協(xié)商,在指定時(shí)間段內(nèi)獲得的對(duì)資源的限制性訪問權(quán)限。實(shí)際上,提前預(yù)留可以看作是云計(jì)算平臺(tái)的一種承諾,在指定時(shí)間段內(nèi)可以獲得特定水平的服務(wù)。
相關(guān)技術(shù)中,實(shí)現(xiàn)資源預(yù)留的方法大致包括:
數(shù)據(jù)中心的管理服務(wù)器接收到來自用戶的預(yù)留請(qǐng)求,判斷出數(shù)據(jù)中心中的可用資源中存在預(yù)留請(qǐng)求中的全部資源,從可用資源中為用戶分配資源并向用戶返回分配的資源。
相關(guān)技術(shù)中,當(dāng)判斷出數(shù)據(jù)中心中的可用資源中不存在預(yù)留請(qǐng)求中的全部資源時(shí),管理服務(wù)器向用戶返回拒絕消息,使得數(shù)據(jù)中心在資源不足時(shí),預(yù)留請(qǐng)求的拒絕率較高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提出了一種實(shí)現(xiàn)資源預(yù)留的方法和裝置,能夠降低預(yù)留請(qǐng)求的拒絕率。
本發(fā)明實(shí)施例提出了一種實(shí)現(xiàn)資源預(yù)留的方法,包括:
聯(lián)合服務(wù)器接收到來自用戶的預(yù)留請(qǐng)求,獲取多個(gè)數(shù)據(jù)中心中的可用資源;
聯(lián)合服務(wù)器判斷出不存在滿足預(yù)設(shè)條件的數(shù)據(jù)中心,根據(jù)獲得的多個(gè)數(shù)據(jù)中心中的可用資源將預(yù)留請(qǐng)求分解為多個(gè)數(shù)據(jù)中心對(duì)應(yīng)的簡(jiǎn)單預(yù)留請(qǐng)求;其中,預(yù)設(shè)條件包括數(shù)據(jù)中心的可用資源中包括預(yù)留請(qǐng)求中的全部資源;
聯(lián)合服務(wù)器將每一個(gè)簡(jiǎn)單預(yù)留請(qǐng)求發(fā)送給對(duì)應(yīng)的數(shù)據(jù)中心的服務(wù)器;
聯(lián)合服務(wù)器向用戶返回接收到的來自多個(gè)數(shù)據(jù)中心的服務(wù)器的分配的資源。
可選的,該方法還包括:
當(dāng)所述聯(lián)合服務(wù)器判斷出存在滿足所述預(yù)設(shè)條件的一個(gè)或多個(gè)數(shù)據(jù)中心時(shí),所述聯(lián)合服務(wù)器將預(yù)留請(qǐng)求發(fā)送給滿足所述預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器;
所述聯(lián)合服務(wù)器向所述用戶返回接收到的來自所述滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器的分配的資源。
可選的,所述聯(lián)合服務(wù)器將預(yù)留請(qǐng)求發(fā)送給滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器包括:
所述聯(lián)合服務(wù)器按照公式
其中,ε1為所述偏差程度,m1為所述預(yù)留請(qǐng)求中的資源包含的需求參數(shù)的個(gè)數(shù),q1i1為所述數(shù)據(jù)中心中的資源的第i1個(gè)需求參數(shù),r1i1為所述預(yù)留請(qǐng)求中的資源的第i1個(gè)需求參數(shù)。
可選的,該方法還包括:
所述聯(lián)合服務(wù)器將所述用戶的提前預(yù)留狀態(tài)更改為預(yù)定狀態(tài)。
可選的,該方法還包括:
所述聯(lián)合服務(wù)器向所述用戶返回所述分配的資源后,生成預(yù)留消息并放入預(yù)留隊(duì)列中;
當(dāng)所述預(yù)留消息中的預(yù)留開始時(shí)間到達(dá)時(shí),所述聯(lián)合服務(wù)器判斷出所述預(yù)留消息中分配的資源均可用,將所述用戶的提前預(yù)留狀態(tài)更改為活躍狀態(tài),通知用戶已綁定所需資源,通知分配資源的數(shù)據(jù)中心將分配給所述用戶的資源置為不可用。
可選的,該方法還包括:
當(dāng)所述聯(lián)合服務(wù)器判斷出所述預(yù)留消息中分配的資源中的部分或全部資源不可用時(shí),所述聯(lián)合服務(wù)器繼續(xù)執(zhí)行所述獲取一個(gè)或多個(gè)數(shù)據(jù)中心中的可用資源的步驟。
可選的,該方法還包括:
當(dāng)所述預(yù)留消息中的預(yù)留結(jié)束時(shí)間到達(dá)時(shí),所述聯(lián)合服務(wù)器將所述用戶的提前預(yù)留狀態(tài)更改為完成狀態(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源;
或者,當(dāng)所述聯(lián)合服務(wù)器判斷出滿足預(yù)設(shè)終止條件時(shí),所述聯(lián)合服務(wù)器將所述用戶的提前預(yù)留狀態(tài)更改為終止?fàn)顟B(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源。
可選的,該方法還包括:
所述聯(lián)合服務(wù)器接收到來自所述用戶的修改預(yù)留請(qǐng)求,繼續(xù)執(zhí)行獲取一個(gè)或多個(gè)數(shù)據(jù)中心中的可用資源的步驟。
可選的,該方法還包括:
所述聯(lián)合服務(wù)器接收到來自所述用戶的修改預(yù)留請(qǐng)求后,將所述用戶的提前預(yù)留狀態(tài)更改為預(yù)定重協(xié)商狀態(tài)或活躍重協(xié)商狀態(tài);
所述聯(lián)合服務(wù)器向所述用戶返回重新協(xié)商后分配的資源后,將所述用戶的提前預(yù)留狀態(tài)更改為預(yù)定狀態(tài)或活躍狀態(tài)。
可選的,該方法還包括:
所述聯(lián)合服務(wù)器接收到來自所述用戶的撤銷請(qǐng)求,將所述用戶的提前預(yù)留狀態(tài)更改為撤銷狀態(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源。
本發(fā)明實(shí)施例還提出了一種實(shí)現(xiàn)資源預(yù)留的裝置,包括:
獲取模塊,用于接收到來自用戶的預(yù)留請(qǐng)求,獲取多個(gè)數(shù)據(jù)中心中的可用資源;接收到來自多個(gè)數(shù)據(jù)中心的服務(wù)器的分配的資源;
處理模塊,用于判斷出不存在滿足預(yù)設(shè)條件的數(shù)據(jù)中心,根據(jù)獲得的多個(gè)數(shù)據(jù)中心中的可用資源將預(yù)留請(qǐng)求分解為多個(gè)數(shù)據(jù)中心對(duì)應(yīng)的簡(jiǎn)單預(yù)留請(qǐng)求;其中,預(yù)設(shè)條件包括數(shù)據(jù)中心的可用資源中包括預(yù)留請(qǐng)求中的全部資源;將每一個(gè)簡(jiǎn)單預(yù)留請(qǐng)求發(fā)送給對(duì)應(yīng)的數(shù)據(jù)中心的服務(wù)器;
返回模塊,用于向用戶返回接收到的來自多個(gè)數(shù)據(jù)中心的服務(wù)器的分配的資源。
可選的,所述處理模塊還用于:
當(dāng)判斷出存在滿足所述預(yù)設(shè)條件的一個(gè)或多個(gè)數(shù)據(jù)中心時(shí),所述聯(lián)合服務(wù)器將預(yù)留請(qǐng)求發(fā)送給滿足所述預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器;
所述獲取模塊還用于:
接收到來自所述滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器的分配的資源;
所述返回模塊還用于:
向所述用戶返回接收到的來自所述滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器的分配的資源。
可選的,所述處理模塊還用于:
將所述用戶的提前預(yù)留狀態(tài)更改為預(yù)定狀態(tài)。
可選的,所述返回模塊還用于:
向所述用戶返回所述分配的資源后,向所述處理模塊發(fā)送第一通知消息;
所述處理模塊還用于:
接收到第一通知消息,生成預(yù)留消息并放入預(yù)留隊(duì)列中;當(dāng)所述預(yù)留消息中的預(yù)留開始時(shí)間到達(dá)時(shí),判斷出所述預(yù)留消息中分配的資源均可用,將所述用戶的提前預(yù)留狀態(tài)更改為活躍狀態(tài)通知用戶已綁定所需資源,通知分配資源的數(shù)據(jù)中心將分配給所述用戶的資源置為不可用。
可選的,所述處理模塊還用于:
當(dāng)判斷出所述預(yù)留消息中分配的資源中的部分或全部資源不可用時(shí),向所述獲取模塊發(fā)送第二通知消息;
所述獲取模塊還用于:
接收到所述第二通知消息,繼續(xù)執(zhí)行所述獲取一個(gè)或多個(gè)數(shù)據(jù)中心中的可用資源的步驟。
可選的,所述處理模塊還用于:
當(dāng)所述預(yù)留消息中的預(yù)留結(jié)束時(shí)間到達(dá)時(shí),將所述用戶的提前預(yù)留狀態(tài)更改為完成狀態(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源;
或者,當(dāng)所述聯(lián)合服務(wù)器判斷出滿足預(yù)設(shè)終止條件時(shí),將所述用戶的提前預(yù)留狀態(tài)更改為終止?fàn)顟B(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源。
可選的,所述獲取模塊還用于:
接收到來自所述用戶的修改預(yù)留請(qǐng)求,繼續(xù)執(zhí)行獲取一個(gè)或多個(gè)數(shù)據(jù)中心中的可用資源的步驟。
可選的,所述獲取模塊還用于:
接收到來自所述用戶的修改預(yù)留請(qǐng)求后,向所述處理模塊發(fā)送第三通知消息;
所述返回模塊還用于:
向所述用戶返回重新協(xié)商后分配的資源后,向所述處理模塊發(fā)送第四通知消息;
所述處理模塊還用于:
接收到所述第三通知消息,將所述用戶的提前預(yù)留狀態(tài)更改為預(yù)定重協(xié)商狀態(tài)或活躍重協(xié)商狀態(tài);接收到所述第四通知消息,將所述用戶的提前預(yù)留狀態(tài)更改為預(yù)定狀態(tài)或活躍狀態(tài)。
可選的,所述獲取模塊還用于:
接收到來自所述用戶的撤銷請(qǐng)求,向所述處理模塊發(fā)送第五通知消息;
所述處理模塊還用于:
接收到所述第五通知消息,將所述用戶的提前預(yù)留狀態(tài)更改為撤銷狀態(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源。
與相關(guān)技術(shù)相比,本發(fā)明實(shí)施例的技術(shù)方案包括:聯(lián)合服務(wù)器接收到來自用戶的預(yù)留請(qǐng)求,獲取多個(gè)數(shù)據(jù)中心中的可用資源;聯(lián)合服務(wù)器判斷出不存在滿足預(yù)設(shè)條件的數(shù)據(jù)中心,根據(jù)獲得的多個(gè)數(shù)據(jù)中心中的可用資源將預(yù)留請(qǐng)求分解為多個(gè)數(shù)據(jù)中心對(duì)應(yīng)的簡(jiǎn)單預(yù)留請(qǐng)求;其中,預(yù)設(shè)條件包括數(shù)據(jù)中心的可用資源中包括預(yù)留請(qǐng)求中的全部資源;聯(lián)合服務(wù)器將每一個(gè)簡(jiǎn)單預(yù)留請(qǐng)求發(fā)送給對(duì)應(yīng)的數(shù)據(jù)中心的服務(wù)器;聯(lián)合服務(wù)器向用戶返回接收到的來自多個(gè)數(shù)據(jù)中心的服務(wù)器的分配的資源。通過本發(fā)明實(shí)施例的方案,通過聯(lián)合服務(wù)器實(shí)現(xiàn)多個(gè)數(shù)據(jù)中心的可用資源的請(qǐng)求,在一個(gè)數(shù)據(jù)中心資源不足時(shí),從多個(gè)數(shù)據(jù)中心中為用戶分配資源,降低了預(yù)留請(qǐng)求的拒絕率。
附圖說明
下面對(duì)本發(fā)明實(shí)施例中的附圖進(jìn)行說明,實(shí)施例中的附圖是用于對(duì)本發(fā)明的進(jìn)一步理解,與說明書一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限制。
圖1為本發(fā)明實(shí)施例實(shí)現(xiàn)資源預(yù)留的方法的流程圖;
圖2為本發(fā)明實(shí)施例實(shí)現(xiàn)資源預(yù)留的系統(tǒng)的結(jié)構(gòu)組成示意圖;
圖3為本發(fā)明實(shí)施例用戶的提前預(yù)留狀態(tài)變化示意圖;
圖4為本發(fā)明實(shí)現(xiàn)資源預(yù)留的裝置的結(jié)構(gòu)組成示意圖。
具體實(shí)施方式
為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描述,并不能用來限制本發(fā)明的保護(hù)范圍。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的各種方式可以相互組合。
參見圖1,本發(fā)明實(shí)施例提出了一種實(shí)現(xiàn)資源預(yù)留的方法,包括:
步驟100、聯(lián)合服務(wù)器接收到來自用戶的預(yù)留請(qǐng)求,獲取多個(gè)數(shù)據(jù)中心中的可用資源。
本步驟中,預(yù)留請(qǐng)求包括:預(yù)留開始時(shí)間、預(yù)留結(jié)束時(shí)間、qos需求參數(shù)、請(qǐng)求預(yù)留的資源。
其中,qos需求參數(shù)包括用戶希望達(dá)到的服務(wù)水平,即每一種資源對(duì)應(yīng)的需求參數(shù)。例如,虛擬cpu核數(shù)、內(nèi)存大小、磁盤空間、網(wǎng)卡數(shù)、端口數(shù)、網(wǎng)絡(luò)帶寬、互聯(lián)網(wǎng)協(xié)議(ip,internetprotocol)地址、媒體訪問控制(mac,mediaaccesscontrol)地址等。
其中,請(qǐng)求預(yù)留的資源包括以下的任意一種或多種:計(jì)算資源、存儲(chǔ)資源、網(wǎng)絡(luò)資源等。
其中,計(jì)算資源包括中央處理器(cpu,centerprocessunit)資源和內(nèi)存資源,網(wǎng)絡(luò)資源包括網(wǎng)絡(luò)帶寬資源等。
本步驟中,圖2為本發(fā)明實(shí)施例實(shí)現(xiàn)資源預(yù)留的系統(tǒng)的結(jié)構(gòu)組成示意圖。如圖2所示,聯(lián)合服務(wù)器可以從全局信息中心中獲取一個(gè)或多個(gè)數(shù)據(jù)中心中的可用資源,具體可以采用向全局信息中心發(fā)送查詢可用資源的指令的方式來獲取。其中,全局信息中心可以是一個(gè)服務(wù)器。
聯(lián)合服務(wù)器也可以從每一個(gè)數(shù)據(jù)中心中獲取數(shù)據(jù)中心中的可用資源。具體可以采用向每一個(gè)數(shù)據(jù)中心發(fā)送查詢可用資源的指令的方式來獲取,并對(duì) 每一個(gè)數(shù)據(jù)中心的可用資源進(jìn)行整合。
每一個(gè)數(shù)據(jù)中心包括服務(wù)器和一個(gè)或多個(gè)資源所在的設(shè)備。在每一個(gè)數(shù)據(jù)中心中,可以在數(shù)據(jù)中心的服務(wù)器中采用虛擬資源容器(vrc,virtualresourcecontainer)將相同種類的資源進(jìn)行歸類,形成虛擬資源列表,虛擬資源列表中的每一個(gè)表項(xiàng)包括每一種資源的可用狀態(tài),即該種資源在當(dāng)前是否可用。
每一個(gè)數(shù)據(jù)中心能夠自動(dòng)檢測(cè)資源的動(dòng)態(tài)加入和退出,例如資源所在的設(shè)備的啟動(dòng)與關(guān)閉等。當(dāng)檢測(cè)到資源的動(dòng)態(tài)加入和退出時(shí),數(shù)據(jù)中心的服務(wù)器自動(dòng)更新vrc中的虛擬資源列表。
vrc通過提前預(yù)留接口接收來自聯(lián)合服務(wù)器的查詢可用資源的指令,并通過提前預(yù)留接口將自身的可用的資源返回給聯(lián)合服務(wù)器。
步驟101、聯(lián)合服務(wù)器判斷出不存在滿足預(yù)設(shè)條件的數(shù)據(jù)中心,根據(jù)獲得的多個(gè)數(shù)據(jù)中心中的可用資源將預(yù)留請(qǐng)求分解為多個(gè)數(shù)據(jù)中心對(duì)應(yīng)的簡(jiǎn)單預(yù)留請(qǐng)求。
本步驟中,預(yù)設(shè)條件包括數(shù)據(jù)中心的可用資源中包括預(yù)留請(qǐng)求中的全部資源。
本步驟中,簡(jiǎn)單預(yù)留請(qǐng)求包括:預(yù)留開始時(shí)間、預(yù)留結(jié)束時(shí)間、qos需求參數(shù)、請(qǐng)求預(yù)留的資源。
其中,簡(jiǎn)單預(yù)留請(qǐng)求中請(qǐng)求預(yù)留的資源為預(yù)留請(qǐng)求中請(qǐng)求預(yù)留的資源的一部分。
本步驟中,根據(jù)獲得的多個(gè)數(shù)據(jù)中心中的可用資源將預(yù)留請(qǐng)求分解為多個(gè)數(shù)據(jù)中心對(duì)應(yīng)的簡(jiǎn)單預(yù)留請(qǐng)求時(shí),可以根據(jù)預(yù)留請(qǐng)求中的資源的種類分別查看每一個(gè)數(shù)據(jù)中心中是否有可用資源。例如,預(yù)留請(qǐng)求中包括計(jì)算資源、存儲(chǔ)資源、網(wǎng)絡(luò)資源,則可以將預(yù)留請(qǐng)求分解多三個(gè)簡(jiǎn)單預(yù)留請(qǐng)求,分別為計(jì)算資源對(duì)應(yīng)的簡(jiǎn)單預(yù)留請(qǐng)求、存儲(chǔ)資源對(duì)應(yīng)的簡(jiǎn)單預(yù)留請(qǐng)求、網(wǎng)絡(luò)資源對(duì)應(yīng)的簡(jiǎn)單預(yù)留請(qǐng)求,然后根據(jù)每一個(gè)數(shù)據(jù)中心中的可用資源判斷每一個(gè)數(shù)據(jù)中心是否有可用的請(qǐng)求的計(jì)算資源、可用的請(qǐng)求的存儲(chǔ)資源、可用的請(qǐng)求的網(wǎng)絡(luò)資源,如果有,則將分解后的簡(jiǎn)單預(yù)留請(qǐng)求發(fā)送給對(duì)應(yīng)的數(shù)據(jù)中心。
對(duì)于每一個(gè)簡(jiǎn)單預(yù)留請(qǐng)求中請(qǐng)求的資源,如果有多個(gè)數(shù)據(jù)中心均有可用的請(qǐng)求的資源,可以按照公式
其中,ε2為所述偏差程度,m2為所述預(yù)留請(qǐng)求中的一種資源包含的需求參數(shù)的個(gè)數(shù),q2i2為所述數(shù)據(jù)中心中的一種資源的第i2個(gè)需求參數(shù),r2i2為所述預(yù)留請(qǐng)求中的一種資源的第i2個(gè)需求參數(shù)。
例如,計(jì)算資源的需求參數(shù)包括cpu核數(shù)和內(nèi)存大小,則m取2,存儲(chǔ)資源的需求參數(shù)包括存儲(chǔ)空間大小,則m取1。
步驟102、聯(lián)合服務(wù)器將每一個(gè)簡(jiǎn)單預(yù)留請(qǐng)求發(fā)送給對(duì)應(yīng)的數(shù)據(jù)中心的服務(wù)器。
本步驟中,每一個(gè)數(shù)據(jù)中心的服務(wù)器接收到簡(jiǎn)單預(yù)留請(qǐng)求后,為用戶分配簡(jiǎn)單預(yù)留請(qǐng)求中請(qǐng)求預(yù)留的資源,將分配的資源返回給聯(lián)合服務(wù)器。
步驟103、聯(lián)合服務(wù)器向用戶返回接收到的來自多個(gè)數(shù)據(jù)中心的服務(wù)器的分配的資源。
通過本發(fā)明實(shí)施例的方案,通過聯(lián)合服務(wù)器實(shí)現(xiàn)多個(gè)數(shù)據(jù)中心的可用資源的請(qǐng)求,在一個(gè)數(shù)據(jù)中心資源不足時(shí),從多個(gè)數(shù)據(jù)中心中為用戶分配資源,降低了預(yù)留請(qǐng)求的拒絕率。
可選的,該方法還包括:
當(dāng)聯(lián)合服務(wù)器判斷出存在滿足預(yù)設(shè)條件的一個(gè)或多個(gè)數(shù)據(jù)中心時(shí),聯(lián)合服務(wù)器將預(yù)留請(qǐng)求發(fā)送給滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器;聯(lián)合服務(wù)器向用戶返回接收到的來自滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器的分配的資源。
其中,可以將預(yù)留請(qǐng)求發(fā)送給滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的任意一個(gè)服務(wù)器,也可以將預(yù)留請(qǐng)求發(fā)送給滿足預(yù)設(shè)條件的數(shù)據(jù)中心中空閑資源最多的一個(gè)數(shù)據(jù)中心。
或者,聯(lián)合服務(wù)器按照公式
其中,ε1為所述偏差程度,m1為所述預(yù)留請(qǐng)求中的資源包含的需求參數(shù)的個(gè)數(shù),q1i1為所述數(shù)據(jù)中心中的資源的第i1個(gè)需求參數(shù),r1i1為所述預(yù)留請(qǐng)求中的資源的第i1個(gè)需求參數(shù)。
可選的,該方法還包括:
聯(lián)合服務(wù)器接收到來自用戶的預(yù)留請(qǐng)求時(shí),將用戶的提前預(yù)留狀態(tài)設(shè)置為請(qǐng)求預(yù)留協(xié)商狀態(tài);聯(lián)合服務(wù)器向用戶返回分配的資源后,將用戶的提前預(yù)留狀態(tài)更改為預(yù)定狀態(tài)。
圖3為本發(fā)明實(shí)施例用戶的提前預(yù)留狀態(tài)變化示意圖。如圖3所示,當(dāng)聯(lián)合服務(wù)器接收到來自用戶的預(yù)留請(qǐng)求時(shí),用戶的提前預(yù)留狀態(tài)為請(qǐng)求預(yù)留協(xié)商狀態(tài);聯(lián)合服務(wù)器向用戶返回分配的資源后,即成功協(xié)商,用戶的提前預(yù)留狀態(tài)變更為預(yù)定狀態(tài)。
可選的,該方法還包括:
聯(lián)合服務(wù)器向用戶返回分配的資源后,生成預(yù)留消息并放入預(yù)留隊(duì)列中;當(dāng)預(yù)留消息中的預(yù)留開始時(shí)間到達(dá)時(shí),聯(lián)合服務(wù)器判斷出預(yù)留消息中分配的資源均可用,將用戶的提前預(yù)留狀態(tài)更改為活躍狀態(tài),通知用戶已綁定所需資源,通知分配資源的服務(wù)器將分配給所述用戶的資源置為不可用。
可選的,當(dāng)預(yù)留消息中的預(yù)留開始時(shí)間到達(dá)時(shí),如果判斷出用戶當(dāng)前的提前預(yù)留狀態(tài)為預(yù)定狀態(tài),則判斷預(yù)留消息中分配的資源是否可用,并繼續(xù)執(zhí)行后續(xù)流程。
其中,如果判斷出用戶當(dāng)前的提前預(yù)留狀態(tài)為終止?fàn)顟B(tài)或撤銷狀態(tài),則結(jié)束本流程。
如圖3所示,預(yù)留開始時(shí)間到達(dá)時(shí),用戶的提前預(yù)留狀態(tài)變更為活躍狀態(tài)。
其中,預(yù)留消息包括預(yù)留開始時(shí)間、預(yù)留結(jié)束時(shí)間、qos需求參數(shù)、預(yù)留類型、預(yù)留標(biāo)識(shí)、每一個(gè)數(shù)據(jù)中心分配的資源。
其中,預(yù)留類型規(guī)定了預(yù)留消息是簡(jiǎn)單預(yù)留消息還是聯(lián)合預(yù)留消息,簡(jiǎn)單預(yù)留消息只需一個(gè)數(shù)據(jù)中心的資源即可完成,聯(lián)合預(yù)留消息則需多個(gè)數(shù)據(jù)中心的資源協(xié)同完成。
預(yù)留標(biāo)識(shí)為聯(lián)合服務(wù)器向用戶返回分配的資源后為用戶分配的標(biāo)識(shí)。
其中,當(dāng)預(yù)留消息中的預(yù)留開始時(shí)間到達(dá)時(shí),聯(lián)合服務(wù)器重新獲取每一個(gè)數(shù)據(jù)中心可用的資源,根據(jù)重新獲得的可用的資源判斷分配的資源是否可用,即在重新獲得的可用的資源中查找是否存在分配的資源。
采用上述方法后,聯(lián)合服務(wù)器可以采用并行的方法處理預(yù)留請(qǐng)求,提高處理速度,從而提高用戶的體驗(yàn)度。
可選的,該方法還包括:
當(dāng)聯(lián)合服務(wù)器判斷出預(yù)留消息中分配的資源中的部分或全部資源不可用時(shí),聯(lián)合服務(wù)器繼續(xù)執(zhí)行獲取一個(gè)或多個(gè)數(shù)據(jù)中心中的可用資源的步驟。
可選的,該方法還包括:
當(dāng)預(yù)留消息中的預(yù)留結(jié)束時(shí)間到達(dá)時(shí),聯(lián)合服務(wù)器將用戶的提取預(yù)留狀態(tài)更改為完成狀態(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給用戶的資源;
或者,當(dāng)聯(lián)合服務(wù)器判斷出滿足預(yù)設(shè)終止條件時(shí),聯(lián)合服務(wù)器將用戶的提前預(yù)留狀態(tài)更改為終止?fàn)顟B(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給用戶的資源。
其中,聯(lián)合服務(wù)器判斷出滿足預(yù)設(shè)終止條件包括:
聯(lián)合服務(wù)器接收到來自用戶的終止請(qǐng)求。
或者,可以預(yù)先在聯(lián)合服務(wù)器中設(shè)置終止條件,當(dāng)滿足時(shí),則將用戶的提前預(yù)留狀態(tài)更改為終止?fàn)顟B(tài)。終止條件可以是任意條件。
可選的,該方法還包括:
聯(lián)合服務(wù)器接收到來自用戶的修改預(yù)留請(qǐng)求,繼續(xù)執(zhí)行獲取一個(gè)或多個(gè) 數(shù)據(jù)中心中的可用資源的步驟。
其中,在判斷是否存在滿足預(yù)設(shè)條件的數(shù)據(jù)中心時(shí),應(yīng)判斷數(shù)據(jù)中心的可用資源中是否包括修改預(yù)留請(qǐng)求中的全部資源。
可選的,該方法還包括:
聯(lián)合服務(wù)器接收到來自用戶的修改預(yù)留請(qǐng)求后,將用戶的提前預(yù)留狀態(tài)更改為預(yù)定重協(xié)商狀態(tài)或活躍重協(xié)商狀態(tài);聯(lián)合服務(wù)器向用戶返回重新協(xié)商后分配的資源后,將用戶的提前預(yù)留狀態(tài)更改為預(yù)定狀態(tài)或活躍狀態(tài)。
具體的,當(dāng)用戶的提前預(yù)留狀態(tài)在聯(lián)合服務(wù)器接收到來自用戶的修改預(yù)留請(qǐng)求之前為預(yù)定狀態(tài)時(shí),聯(lián)合服務(wù)器接收到來自用戶的修改預(yù)留請(qǐng)求后,將用戶的提前預(yù)留狀態(tài)更改為預(yù)定重協(xié)商狀態(tài);聯(lián)合服務(wù)器向用戶返回重新協(xié)商后分配的資源后,將用戶的提前預(yù)留狀態(tài)更改為預(yù)定狀態(tài)。
當(dāng)用戶的提前預(yù)留狀態(tài)在聯(lián)合服務(wù)器接收到來自用戶的修改預(yù)留請(qǐng)求之前為活躍狀態(tài)時(shí),聯(lián)合服務(wù)器接收到來自用戶的修改預(yù)留請(qǐng)求后,將用戶的提前預(yù)留狀態(tài)更改為活躍重協(xié)商狀態(tài);聯(lián)合服務(wù)器向用戶返回重新協(xié)商后分配的資源后,將用戶的提前預(yù)留狀態(tài)更改為活躍狀態(tài)。
可選的,該方法還包括:
聯(lián)合服務(wù)器接收到來自用戶的撤銷請(qǐng)求,將用戶的提前預(yù)留狀態(tài)更改為撤銷狀態(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源。
可選的,該方法還包括:
當(dāng)聯(lián)合服務(wù)器判斷出所有數(shù)據(jù)中心的可用資源不包括預(yù)留請(qǐng)求中的全部資源時(shí),聯(lián)合服務(wù)器向用戶返回拒絕消息。
可選的,聯(lián)合服務(wù)器將用戶的提前預(yù)留狀態(tài)更改為拒絕狀態(tài)。
參見圖4,本發(fā)明實(shí)施例還提出了一種實(shí)現(xiàn)資源預(yù)留的裝置,包括:
獲取模塊,用于接收到來自用戶的預(yù)留請(qǐng)求,獲取多個(gè)數(shù)據(jù)中心中的可用資源;接收到來自多個(gè)數(shù)據(jù)中心的服務(wù)器的分配的資源;
處理模塊,用于判斷出不存在滿足預(yù)設(shè)條件的數(shù)據(jù)中心,根據(jù)獲得的多 個(gè)數(shù)據(jù)中心中的可用資源將預(yù)留請(qǐng)求分解為多個(gè)數(shù)據(jù)中心對(duì)應(yīng)的簡(jiǎn)單預(yù)留請(qǐng)求;其中,預(yù)設(shè)條件包括數(shù)據(jù)中心的可用資源中包括預(yù)留請(qǐng)求中的全部資源;將每一個(gè)簡(jiǎn)單預(yù)留請(qǐng)求發(fā)送給對(duì)應(yīng)的數(shù)據(jù)中心的服務(wù)器;
返回模塊,用于向用戶返回接收到的來自多個(gè)數(shù)據(jù)中心的服務(wù)器的分配的資源。
本發(fā)明實(shí)施例的裝置中,處理模塊還用于:
當(dāng)判斷出存在滿足預(yù)設(shè)條件的一個(gè)或多個(gè)數(shù)據(jù)中心時(shí),聯(lián)合服務(wù)器將預(yù)留請(qǐng)求發(fā)送給滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器;
獲取模塊還用于:
接收到來自滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器的分配的資源;
返回模塊還用于:
向用戶返回接收到的來自滿足預(yù)設(shè)條件的數(shù)據(jù)中心中的一個(gè)的服務(wù)器的分配的資源。
本發(fā)明實(shí)施例的裝置中,處理模塊還用于:
將用戶的提前預(yù)留狀態(tài)更改為預(yù)定狀態(tài)。
本發(fā)明實(shí)施例的裝置中,返回模塊還用于:
向用戶返回分配的資源后,向處理模塊發(fā)送第一通知消息;
處理模塊還用于:
接收到第一通知消息,生成預(yù)留消息并放入預(yù)留隊(duì)列中;當(dāng)預(yù)留消息中的預(yù)留開始時(shí)間到達(dá)時(shí),判斷出預(yù)留消息中分配的資源均可用,將用戶的提前預(yù)留狀態(tài)更改為活躍狀態(tài),通知用戶已綁定所需資源,通知分配資源的數(shù)據(jù)中心將分配給所述用戶的資源置為不可用。
本發(fā)明實(shí)施例的裝置中,處理模塊還用于:
當(dāng)判斷出預(yù)留消息中分配的資源中的部分或全部資源不可用時(shí),向獲取模塊發(fā)送第二通知消息;
獲取模塊還用于:
接收到第二通知消息,繼續(xù)執(zhí)行獲取一個(gè)或多個(gè)數(shù)據(jù)中心中的可用資源的步驟。
本發(fā)明實(shí)施例的裝置中,處理模塊還用于:
當(dāng)預(yù)留消息中的預(yù)留結(jié)束時(shí)間到達(dá)時(shí),將用戶的提前預(yù)留狀態(tài)更改為完成狀態(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源;
或者,當(dāng)聯(lián)合服務(wù)器判斷出滿足預(yù)設(shè)終止條件時(shí),將用戶的提前預(yù)留狀態(tài)更改為終止?fàn)顟B(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源。
本發(fā)明實(shí)施例的裝置中,獲取模塊還用于:
接收到來自用戶的修改預(yù)留請(qǐng)求,繼續(xù)執(zhí)行獲取一個(gè)或多個(gè)數(shù)據(jù)中心中的可用資源的步驟。
本發(fā)明實(shí)施例的裝置中,獲取模塊還用于:
接收到來自用戶的修改預(yù)留請(qǐng)求后,向處理模塊發(fā)送第三通知消息;
返回模塊還用于:
向用戶返回重新協(xié)商后分配的資源后,向處理模塊發(fā)送第四通知消息;
處理模塊還用于:
接收到第三通知消息,將用戶的提前預(yù)留狀態(tài)更改為預(yù)定重協(xié)商狀態(tài)或活躍重協(xié)商狀態(tài);接收到第四通知消息,將用戶的提前預(yù)留狀態(tài)更改為預(yù)定狀態(tài)或活躍狀態(tài)。
本發(fā)明實(shí)施例的裝置中,獲取模塊還用于:
接收到來自用戶的撤銷請(qǐng)求,向處理模塊發(fā)送第五通知消息;
處理模塊還用于:
接收到第五通知消息,將用戶的提前預(yù)留狀態(tài)更改為撤銷狀態(tài),并通知分配資源的數(shù)據(jù)中心釋放分配給所述用戶的資源。
需要說明的是,以上所述的實(shí)施例僅是為了便于本領(lǐng)域的技術(shù)人員理解 而已,并不用于限制本發(fā)明的保護(hù)范圍,在不脫離本發(fā)明的發(fā)明構(gòu)思的前提下,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明所做出的任何顯而易見的替換和改進(jìn)等均在本發(fā)明的保護(hù)范圍之內(nèi)。