本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種在分布式資源系統(tǒng)中用戶請(qǐng)求的調(diào)度方法、裝置和系統(tǒng)。
背景技術(shù):在分布式資源系統(tǒng)中,存在多個(gè)資源提供實(shí)體。資源,包括中央處理單元(CentralProcessingUnit,CPU)計(jì)算能力、硬盤空間、內(nèi)存和網(wǎng)絡(luò)帶寬等,資源可以是物理資源也可以是虛擬資源。資源提供實(shí)體根據(jù)用戶請(qǐng)求提供資源時(shí),用戶之間會(huì)發(fā)生資源競(jìng)爭(zhēng),因此對(duì)用戶請(qǐng)求進(jìn)行調(diào)度,保證用戶性能變得非常重要。如圖1所示的一種用戶請(qǐng)求調(diào)度方案,在圖1所示的分布式資源系統(tǒng)為分布式文件系統(tǒng),包括用戶代理A、用戶代理B、調(diào)度器A、調(diào)度器B、資源提供實(shí)體A和資源提供實(shí)體B,并且用戶代理A和用戶代理B之間不通信。用戶代理A根據(jù)用戶A請(qǐng)求查詢分布式文件系統(tǒng)元數(shù)據(jù)服務(wù)器,用戶代理A根據(jù)查詢到的信息,判斷將用戶A請(qǐng)求發(fā)送到圖1所示的哪一個(gè)調(diào)度器;同理,用戶代理A根據(jù)用戶B請(qǐng)求查詢分布式文件系統(tǒng)元數(shù)據(jù)服務(wù)器,用戶代理B根據(jù)查詢到的信息,判斷將用戶B請(qǐng)求發(fā)送到圖1所示的哪一個(gè)調(diào)度器。資源提供實(shí)體A和資源提供實(shí)體B為文件系統(tǒng)。其中,資源提供實(shí)體A用于提供資源A,資源A具體為提供每秒鐘進(jìn)行輸入輸出操作數(shù)量(Input/OutputOperationsPerSecond,IOPS)的能力,資源提供實(shí)體B用于提供資源B,資源B具體為提供IOPS的能力。用戶A和用戶B分別向分布式資源系統(tǒng)中發(fā)送請(qǐng)求。例如,用戶A通過用戶代理A分別向資源提供實(shí)體A和資源提供實(shí)體B發(fā)送用戶A請(qǐng)求,則資源提供實(shí)體A為用戶A請(qǐng)求提供資源A,資源提供實(shí)體B為用戶A請(qǐng)求提供資源B。用戶B通過用戶代理B分別向資源提供實(shí)體A和資源提供實(shí)體B發(fā)送用戶B請(qǐng)求,資源提供實(shí)體A和資源提供實(shí)體B為用戶B請(qǐng)求提供資源。用戶A向資源提供實(shí)體A和資源提供實(shí)體B分別發(fā)送用戶A請(qǐng)求,在圖1的實(shí)施方式中,資源提供實(shí)體A和資源提供實(shí)體B向用戶A提供的資源均為IOPS能力。同理,資源提供實(shí)體A和資源提供實(shí)體B向用戶B提供的資源也均為IOPS能力。圖1所示的分布式資源系統(tǒng)中,為用戶A和用戶B分別分配資源權(quán)重,如用戶A的資源權(quán)重為2,用戶B的資源權(quán)重為1。用戶的資源權(quán)重表示分布式資源系統(tǒng)為用戶分配的資源份額。用戶代理A統(tǒng)計(jì)用戶A發(fā)送到調(diào)度器A和調(diào)度器B的用戶A請(qǐng)求數(shù)量,用戶代理B統(tǒng)計(jì)用戶B發(fā)送到調(diào)度器A和調(diào)度器B的用戶B請(qǐng)求數(shù)量。調(diào)度器A根據(jù)用戶A的資源權(quán)重、用戶代理A發(fā)送到調(diào)度器A和調(diào)度器B的用戶A請(qǐng)求的數(shù)量為用戶A請(qǐng)求從資源提供實(shí)體A分配資源。調(diào)度器A根據(jù)用戶B的資源權(quán)重、用戶代理B發(fā)送到調(diào)度器A和調(diào)度器B的用戶B請(qǐng)求的數(shù)量為用戶B請(qǐng)求從資源提供實(shí)體A分配資源。同理,調(diào)度器B根據(jù)用戶A的資源權(quán)重、用戶代理A發(fā)送到調(diào)度器A和調(diào)度器B的用戶A請(qǐng)求的數(shù)量為用戶A請(qǐng)求從資源提供實(shí)體B分配資源。調(diào)度器B根據(jù)用戶B的資源權(quán)重、用戶代理B發(fā)送到調(diào)度器A和調(diào)度器B的用戶B請(qǐng)求的數(shù)量為用戶B請(qǐng)求從資源提供實(shí)體B分配資源。由于用戶代理A和用戶代理B只適用于分布式文件系統(tǒng)場(chǎng)景,因此,圖1所示架構(gòu)中的方案不能夠廣泛應(yīng)用于分布式資源系統(tǒng)中調(diào)度用戶請(qǐng)求的場(chǎng)景。
技術(shù)實(shí)現(xiàn)要素:第一方面,本發(fā)明實(shí)施例提供了一種分布式資源系統(tǒng)中用戶請(qǐng)求的調(diào)度方法,所述分布式資源系統(tǒng)包括調(diào)度器Sx,資源提供實(shí)體Rx和協(xié)調(diào)器Gy,其中x為1到M連續(xù)的自然數(shù),M≥2;y為1到Y(jié)連續(xù)的自然數(shù),Y為自然數(shù);Sx與Rx通信,Gy與任一Sx通信;所述方法包括:在Tn+1周期,Sd從用戶z的協(xié)調(diào)器Gk獲取在Tn周期用戶z請(qǐng)求消耗的資源Cz(Tn),其中,d和k為自然數(shù),1≤d≤M,1≤k≤Y;所述用戶z的資源權(quán)重為φz;Cz,x(Tn)為Sx在Tn周期接收的Nz,x(Tn)個(gè)用戶z請(qǐng)求消耗的Rx提供的資源;z表示所述用戶的標(biāo)識(shí);Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,Piz,d為Sd接收的第i個(gè)用戶z請(qǐng)求,Cz,d(Tn)為Sd在Tn周期接收的Nz,d(Tn)個(gè)用戶z請(qǐng)求消耗的Rd提供的資源。結(jié)合本發(fā)明實(shí)施例第一方面,在第一種可能的實(shí)施方式中,Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用所述調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,具體包括:Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)計(jì)算Piz,d的起始虛擬時(shí)間S(Piz,d)和結(jié)束虛擬時(shí)間F(Piz,d),將Piz,d加入調(diào)度隊(duì)列;所述調(diào)度隊(duì)列根據(jù)用戶請(qǐng)求的起始虛擬時(shí)間的大小對(duì)所述用戶請(qǐng)求進(jìn)行排序。結(jié)合本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)施方式,在第二種可能的實(shí)施方式中,S(Piz,d)=max{v(Piz,d),F(Pi-1z,d)},v(Piz,d)表示Sd接收Piz,d時(shí)Sd的虛擬時(shí)間,c(Piz,d)表示Piz,d消耗的Rd提供的資源。結(jié)合本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)施方式,在第三種可能的實(shí)施方式中,v(Piz,d)表示Sd接收Piz,d時(shí)Sd的虛擬時(shí)間,c(Piz,d)表示Piz,d消耗的Rd提供的資源。第二方面,本發(fā)明實(shí)施例提供了調(diào)度器Sd,所述調(diào)度器Sd應(yīng)用于分布式資源系統(tǒng),所述分布式資源系統(tǒng)包括調(diào)度器Sx,資源提供實(shí)體Rx和協(xié)調(diào)器Gy,其中x為1到M連續(xù)的自然數(shù),M≥2,d為x中的一個(gè);y為1到Y(jié)連續(xù)的自然數(shù);Sx與Rx通信,Cy與任一Sx通信;所述調(diào)度器Sd包括中央處理單元和存儲(chǔ)器,所述中央處理單元執(zhí)行所述存儲(chǔ)器中的可執(zhí)行指令以執(zhí)行本發(fā)明實(shí)施例第一方面至第一方面的第三種可能實(shí)施方式中的任一種方法。第三方面,本發(fā)明實(shí)施例提供了調(diào)度器Sd,所述調(diào)度器Sd應(yīng)用于分布式資源系統(tǒng),所述分布式資源系統(tǒng)包括調(diào)度器Sx,資源提供實(shí)體Rx和協(xié)調(diào)器Gy,其中x為1到M連續(xù)的自然數(shù),M≥2,d為x中的一個(gè);y為1到Y(jié)連續(xù)的自然數(shù);Sx與Rx通信,Cy與任一Sx通信;所述調(diào)度器Sd包括獲取單元和調(diào)度單元;其中,所述獲取單元用于在Tn+1周期,從用戶z的協(xié)調(diào)器Gk獲取在Tn周期用戶z請(qǐng)求消耗的資源Cz(Tn),其中,k為自然數(shù),1≤k≤Y;所述用戶z的資源權(quán)重為φz;Cz,x(Tn)為Sx在Tn周期接收的Nz,x(Tn)個(gè)用戶z請(qǐng)求消耗的Rx提供的資源;z表示所述用戶的標(biāo)識(shí);所述調(diào)度單元用于根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,Piz,d為Sd接收的第i個(gè)用戶z請(qǐng)求,Cz,d(Tn)為Sd在Tn周期接收的Nz,d(Tn)個(gè)用戶z請(qǐng)求消耗的Rd提供的資源。第四方面,本發(fā)明實(shí)施例提供了一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令用于執(zhí)行分布式資源系統(tǒng)中的用戶請(qǐng)求的調(diào)度,所述分布式資源系統(tǒng)包括調(diào)度器Sx,資源提供實(shí)體Rx和協(xié)調(diào)器Gy,其中x為1到M連續(xù)的自然數(shù),M≥2;y為1到Y(jié)連續(xù)的自然數(shù),Y為自然數(shù);Sx與Rx通信,Cy與任一Sx通信;調(diào)度器Sd執(zhí)行所述計(jì)算機(jī)指令用于執(zhí)行本發(fā)明實(shí)施例第一方面至第一方面的第三種可能實(shí)施方式中的任一種方法;其中,d為x中的一個(gè)。第五方面,本發(fā)明實(shí)施例提供了一種分布式資源系統(tǒng),所述分布式資源系統(tǒng)包括調(diào)度器Sx,資源提供實(shí)體Rx和協(xié)調(diào)器Gy,其中x為1到M連續(xù)的自然數(shù),M≥2;y為1到Y(jié)連續(xù)的自然數(shù),Y為自然數(shù);Sx與Rx通信,Gy與任一Sx通信;用戶z的協(xié)調(diào)器Gk用于在Tn+1周期,向調(diào)度器Sd提供在Tn周期用戶z請(qǐng)求消耗的資源Cz(Tn),其中,d和k為自然數(shù),1≤d≤M,1≤k≤Y;所述用戶z的資源權(quán)重為φz;Cz,x(Tn)為Sx在Tn周期接收的Nz,x(Tn)個(gè)用戶z請(qǐng)求消耗的Rx提供的資源;z表示所述用戶的標(biāo)識(shí);所述調(diào)度器Sd用于根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,Piz,d為Sd接收的第i個(gè)用戶z請(qǐng)求,Cz,d(Tn)為Sd在Tn周期接收的Nz,d(Tn)個(gè)用戶z請(qǐng)求消耗的Rd提供的資源。第六方面,本發(fā)明實(shí)施例提供了一種分布式資源系統(tǒng)中資源調(diào)度方法,所述分布式資源系統(tǒng)包括多個(gè)調(diào)度器,所述多個(gè)調(diào)度器中的第一調(diào)度器從所述第一用戶的協(xié)調(diào)器獲取在上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和;所述第一調(diào)度器根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量對(duì)第一用戶的用戶請(qǐng)求進(jìn)行調(diào)度。結(jié)合第六方面,在第一種可能的實(shí)施方式中,所述第一調(diào)度器根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量對(duì)第一用戶的用戶請(qǐng)求進(jìn)行調(diào)度,具體包括:所述第一調(diào)度器根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量,計(jì)算所述第一用戶的用戶請(qǐng)求的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,將所述第一用戶的用戶請(qǐng)求加入調(diào)度隊(duì)列;所述調(diào)度隊(duì)列根據(jù)用戶請(qǐng)求的起始虛擬時(shí)間的大小對(duì)所述第一用戶的用戶請(qǐng)求進(jìn)行排序。第七方面,本發(fā)明實(shí)施例提供了一種分布式資源系統(tǒng),所述分布式資源系統(tǒng)包括多個(gè)調(diào)度器,其中,所述多個(gè)調(diào)度器中的第一調(diào)度器包括獲取單元和調(diào)度單元;所述獲取單元用于從所述第一用戶的協(xié)調(diào)器獲取在上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和;所述調(diào)度單元用于根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量對(duì)第一用戶的用戶請(qǐng)求進(jìn)行調(diào)度。結(jié)合第七方面,在第一種可能的實(shí)施方式中,所述調(diào)度單元具體用于根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量,計(jì)算所述第一用戶的用戶請(qǐng)求的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,將所述第一用戶的用戶請(qǐng)求加入調(diào)度隊(duì)列;所述調(diào)度隊(duì)列根據(jù)用戶請(qǐng)求的起始虛擬時(shí)間的大小對(duì)所述第一用戶的用戶請(qǐng)求進(jìn)行排序。本發(fā)明實(shí)施例提供的分布式資源系統(tǒng)中用戶請(qǐng)求的調(diào)度方法、裝置及系統(tǒng),在Tn+1周期,Sd從用戶z的協(xié)調(diào)器Gk獲取在Tn周期用戶z請(qǐng)求消耗的資源Cz(Tn),Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,不需要依賴用戶代理,即可對(duì)用戶z請(qǐng)求進(jìn)行調(diào)度,并且Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,從而實(shí)現(xiàn)用戶z請(qǐng)求的全局調(diào)度,保證用戶z的性能需求。附圖說明為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,還可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)分布式資源調(diào)度系統(tǒng)示意圖;圖2為本發(fā)明實(shí)施例分布式資源系統(tǒng)示意圖;圖3a為調(diào)度器A、資源提供實(shí)體A和協(xié)調(diào)器A關(guān)系圖;圖3b為調(diào)度器A、資源提供實(shí)體A和協(xié)調(diào)器A關(guān)系圖;圖4為本發(fā)明實(shí)施例方法示意圖;圖5為本發(fā)明實(shí)施例分布式資源系統(tǒng)狀態(tài)示意圖;圖6為調(diào)度隊(duì)列中用戶請(qǐng)求狀態(tài)示意圖;圖7為調(diào)度隊(duì)列中用戶請(qǐng)求狀態(tài)示意圖;圖8為本發(fā)明實(shí)施例分布式資源系統(tǒng)狀態(tài)示意圖;圖9為調(diào)度隊(duì)列中用戶請(qǐng)求狀態(tài)示意圖;圖10為調(diào)度隊(duì)列中用戶請(qǐng)求狀態(tài)示意圖;圖11為本發(fā)明實(shí)施例分布式資源系統(tǒng)架構(gòu)圖;圖12為本發(fā)明實(shí)施例調(diào)度器結(jié)構(gòu)示意圖。具體實(shí)施例下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述。顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明提供的實(shí)施例所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。如圖2所示,本發(fā)明實(shí)施例提供了一種分布式資源系統(tǒng)。分布式資源系統(tǒng),包括調(diào)度器A、調(diào)度器B、資源提供實(shí)體A、資源提供實(shí)體B、協(xié)調(diào)器A和協(xié)調(diào)器B。調(diào)度器A與資源提供實(shí)體A通信,用于調(diào)度發(fā)送到資源提供實(shí)體A的用戶請(qǐng)求。調(diào)度器B與資源提供實(shí)體B通信,用于調(diào)度發(fā)送到資源提供實(shí)體B的用戶請(qǐng)求。協(xié)調(diào)器A分別與調(diào)度器A和調(diào)度器B通信,協(xié)調(diào)器B與分別與調(diào)度器A和調(diào)度器B通信。本發(fā)明實(shí)施例中的資源可以為物理資源,也可以為虛擬資源,如CPU計(jì)算能力、硬盤空間、內(nèi)存和網(wǎng)絡(luò)帶寬等。本發(fā)明實(shí)施例中的用戶,可以指客戶端,虛擬機(jī)、應(yīng)用進(jìn)程等,本發(fā)明實(shí)施例不作具體限定。資源提供實(shí)體為用戶A請(qǐng)求分配的資源和為用戶B請(qǐng)求分配的資源為同一類型的資源。資源提供實(shí)體A與資源提供實(shí)體B為用戶A請(qǐng)求提供的資源與資源提供實(shí)體A與資源提供實(shí)體B為用戶B提供的資源為同一類型的資源。本發(fā)明實(shí)施例中,資源提供實(shí)體為用戶請(qǐng)求分配的資源和資源提供實(shí)體為用戶請(qǐng)求提供資源具有相同的含義,還可以表述為用戶請(qǐng)求消耗的資源提供實(shí)體的資源或者用戶請(qǐng)求消耗的資源提供實(shí)體提供的資源。用戶請(qǐng)求消耗的資源提供實(shí)體提供的資源是指用戶請(qǐng)求需要消耗的資源,具體包括已經(jīng)消耗的資源,如果用戶請(qǐng)求已經(jīng)由資源提供實(shí)體處理,也包括調(diào)度器接收用戶請(qǐng)求后,還未經(jīng)資源提供實(shí)體處理的用戶請(qǐng)求需要消耗的資源。其中一種實(shí)現(xiàn)方式,調(diào)度器接收到用戶請(qǐng)求,即可計(jì)算出用戶請(qǐng)求需要消耗的資源提供實(shí)體提供的資源量。例如,一個(gè)周期,調(diào)度器A接收100個(gè)用戶請(qǐng)求,則這100個(gè)用戶請(qǐng)求消耗的資源提供實(shí)體提供的資源即可根據(jù)每個(gè)用戶請(qǐng)求需要消耗的資源提供實(shí)體提供的資源求和算出。本發(fā)明實(shí)施例以資源為IOPS能力,資源提供實(shí)體A為存儲(chǔ)陣列A,資源提供實(shí)體B為存儲(chǔ)陣列B為例進(jìn)行說明。在對(duì)本發(fā)明實(shí)施例進(jìn)一步描述之前,需要說明的是,圖2中所示的調(diào)度器A、協(xié)調(diào)器A和資源提供實(shí)體A的之間關(guān)系只是邏輯上的呈現(xiàn),具體實(shí)現(xiàn)中,可如圖3a所示,資源提供實(shí)體A、調(diào)度器A和協(xié)調(diào)器A位于同一裝置內(nèi);或者如圖3b所示,資源提供實(shí)體A和調(diào)度器A位于同一裝置內(nèi),而協(xié)調(diào)器A獨(dú)立于資源提供實(shí)體A和調(diào)度器A,或者其他實(shí)現(xiàn)方式,具體實(shí)現(xiàn)方式在此不作限定。同理,圖2中所示的調(diào)度器B、協(xié)調(diào)器B和資源提供實(shí)體B的之間關(guān)系可參照?qǐng)D3a和圖3b。調(diào)度器可以為獨(dú)立的設(shè)備或者硬件模塊。調(diào)度器的功能還可以由處理器執(zhí)行特定的計(jì)算機(jī)指令來(lái)實(shí)現(xiàn)。如調(diào)度器A、協(xié)調(diào)器A與資源提供實(shí)體A均由處理器執(zhí)行特定的計(jì)算機(jī)指令來(lái)實(shí)現(xiàn),則調(diào)度器A與協(xié)調(diào)器A間通信,調(diào)度器A與資源提供實(shí)體A之間通信,可以表現(xiàn)為指令的調(diào)用,或不同程序模塊的鏈接等;同理,協(xié)調(diào)器可以為獨(dú)立的設(shè)備或者硬件模塊。協(xié)調(diào)器的功能還可以由處理器執(zhí)行特定的計(jì)算機(jī)指令來(lái)實(shí)現(xiàn),本發(fā)明實(shí)施例對(duì)此不作限定。本發(fā)明實(shí)施例中的調(diào)度器所實(shí)施的方法步驟,具體的一種實(shí)現(xiàn),可以由計(jì)算機(jī)的處理器執(zhí)行存儲(chǔ)器中的計(jì)算機(jī)指令來(lái)實(shí)現(xiàn)。在此不再贅述。如圖2所示的分布式資源系統(tǒng)中,用戶A向存儲(chǔ)陣列A和存儲(chǔ)陣列B發(fā)送用戶A請(qǐng)求,則存儲(chǔ)陣列A和存儲(chǔ)陣列B在處理用戶A請(qǐng)求時(shí),均需要消耗IOPS能力。同理,用戶B向存儲(chǔ)陣列A和存儲(chǔ)陣列B發(fā)送用戶B請(qǐng)求,也需要消耗存儲(chǔ)陣列A和存儲(chǔ)陣列B的IOPS能力。特別地,當(dāng)存儲(chǔ)陣列A中的IOPS能力不能夠滿足同時(shí)處理用戶A請(qǐng)求和用戶B請(qǐng)求,則需要調(diào)度器A對(duì)接收到的用戶A請(qǐng)求和用戶B請(qǐng)求根據(jù)調(diào)度算法進(jìn)行調(diào)度;當(dāng)存儲(chǔ)陣列B中的IOPS能力不能夠滿足同時(shí)處理用戶A請(qǐng)求和用戶B請(qǐng)求,則需要調(diào)度器B對(duì)接收到的用戶A請(qǐng)求和用戶B請(qǐng)求根據(jù)調(diào)度算法進(jìn)行調(diào)度。用戶A與用戶B為存在資源競(jìng)爭(zhēng)關(guān)系的用戶,為保證各用戶的性能,通常分布式資源系統(tǒng)中,會(huì)給每個(gè)用戶分配資源權(quán)重。本發(fā)明實(shí)施例以用戶A和用戶B為例,用戶A的資源權(quán)重φA為2,用戶B的資源權(quán)重φB為1。則用戶A和用戶B的資源權(quán)重比為2:1。在調(diào)度器A上配置用戶A和用戶B的資源權(quán)重,在調(diào)度器B上配置用戶A和用戶B的資源權(quán)重。具體可由用戶A向調(diào)度器A和調(diào)度器B分別下發(fā)用戶A的資源權(quán)重,用戶B向調(diào)度器A和調(diào)度器B分別下發(fā)用戶B的資源權(quán)重,調(diào)度器A和調(diào)度器B進(jìn)行上述配置。資源權(quán)重并不限于本發(fā)明實(shí)施例所示的形式,也可以用戶A的資源權(quán)重φA為2/3,用戶B的資源權(quán)重φB為1/3。調(diào)度器A接收用戶A發(fā)送的用戶A請(qǐng)求,調(diào)度器A接收用戶B發(fā)送的用戶B請(qǐng)求。用戶A請(qǐng)求和用戶B請(qǐng)求均需要存儲(chǔ)陣列A提供IOPS能力,或者說用戶A請(qǐng)求和用戶B請(qǐng)求均消耗存儲(chǔ)陣列A提供的IOPS能力。同樣,調(diào)度器B接收用戶A發(fā)送的用戶A請(qǐng)求,調(diào)度器B接收用戶B發(fā)送的用戶B請(qǐng)求。當(dāng)存儲(chǔ)陣列A的IOPS能力能夠滿足用戶A請(qǐng)求和用戶B請(qǐng)求時(shí),則調(diào)度器A不需要將接收到的用戶A請(qǐng)求和用戶B請(qǐng)求根據(jù)調(diào)度算法進(jìn)行調(diào)度,當(dāng)存儲(chǔ)陣列B的IOPS能力能夠滿足用戶A請(qǐng)求和用戶B請(qǐng)求時(shí),調(diào)度器B也不需要將接收到的用戶A請(qǐng)求和用戶B請(qǐng)求根據(jù)調(diào)度算法進(jìn)行調(diào)度。調(diào)度器A只需要根據(jù)調(diào)度算法計(jì)算接收到的用戶請(qǐng)求的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,同理,調(diào)度器B也只需要根據(jù)調(diào)度算法計(jì)算接收到的用戶請(qǐng)求的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間。關(guān)于起始虛擬時(shí)間和結(jié)束虛擬時(shí)間的含義,請(qǐng)參見起始時(shí)間公平序列(Start-timefairnessqueuing,SFQ)算法。在需要對(duì)用戶請(qǐng)求進(jìn)行調(diào)度時(shí),調(diào)度器A需要根據(jù)調(diào)度算法將接收到的用戶A請(qǐng)求和用戶B請(qǐng)求加入調(diào)度器A的調(diào)度隊(duì)列進(jìn)行調(diào)度,調(diào)度器B也需要根據(jù)調(diào)度算法將接收到的用戶A請(qǐng)求和用戶B請(qǐng)求加入調(diào)度器B的調(diào)度隊(duì)列進(jìn)行調(diào)度。如圖4所示:步驟401,在Tn+1周期,調(diào)度器A從用戶A的歸屬協(xié)調(diào)器A獲取在Tn周期用戶A請(qǐng)求消耗的資源CA(Tn),以及從用戶B的歸屬協(xié)調(diào)器B獲取在Tn周期用戶B請(qǐng)求消耗的資源CB(Tn)。其中Tn表示第n個(gè)周期,Tn+1表示第n+1個(gè)周期;CA(Tn)表示在Tn周期,調(diào)度器A接收的NA,A(Tn)個(gè)用戶A請(qǐng)求消耗的資源提供實(shí)體A提供的資源CA,A(Tn)和調(diào)度器B接收的NA,B(Tn)個(gè)用戶A請(qǐng)求消耗資源提供實(shí)體B提供的資源CA,B(Tn)之和;CB(Tn)表示在Tn周期,調(diào)度器A接收的NB,A(Tn)個(gè)用戶B請(qǐng)求消耗的資源提供實(shí)體A提供的資源CB,A(Tn)和調(diào)度器B接收NB,B(Tn)個(gè)用戶B請(qǐng)求消耗的資源提供實(shí)體B提供的資源CB,B(Tn)之和。其中,用戶A的歸屬協(xié)調(diào)器A是指獲取在Tn周期分布式資源系統(tǒng)中調(diào)度器A處理用戶A請(qǐng)求消耗存儲(chǔ)陣列A的資源和調(diào)度器B處理用戶A請(qǐng)求消耗存儲(chǔ)陣列A的資源之和的協(xié)調(diào)器。用戶A的歸屬協(xié)調(diào)器A也稱為用戶A的協(xié)調(diào)器A,同理用戶的歸屬協(xié)調(diào)器也稱為用戶的協(xié)調(diào)器。調(diào)度器A在Tn周期根據(jù)接收的每個(gè)用戶A請(qǐng)求消耗的資源提供實(shí)體A提供的資源獲得調(diào)度器A在Tn周期處理的NA,A(Tn)個(gè)用戶A請(qǐng)求消耗的資源提供實(shí)體A提供的資源CA,A(Tn);調(diào)度器A在Tn周期根據(jù)接收的每個(gè)用戶B請(qǐng)求消耗的資源提供實(shí)體A提供的資源,獲得調(diào)度器A在Tn周期處理的NB,A(Tn)個(gè)用戶B請(qǐng)求消耗的資源提供實(shí)體A提供的資源CB,A(Tn);同理,調(diào)度器B在Tn周期根據(jù)接收的每個(gè)用戶A請(qǐng)求消耗的資源提供實(shí)體B提供的資源,獲得調(diào)度器B在Tn周期處理的NA,B(Tn)個(gè)用戶A請(qǐng)求消耗的資源提供實(shí)體B提供的資源CA,B(Tn);調(diào)度器B在Tn周期根據(jù)接收的每個(gè)用戶B請(qǐng)求消耗的資源提供實(shí)體B提供的資源獲得調(diào)度器B在Tn周期處理的NB,B(Tn)個(gè)用戶B請(qǐng)求消耗的資源提供實(shí)體B提供的資源CB,B(Tn)。在Tn周期處理用戶A請(qǐng)求消耗的資源CA(Tn)=CA,A(Tn)+CA,B(Tn),處理用戶B請(qǐng)求消耗的資源CB(Tn)=CB,A(Tn)+CB,B(Tn)。具體地,協(xié)調(diào)器A獲取CA,A(Tn)和CA,B(Tn),一種實(shí)現(xiàn)方式為調(diào)度器A主動(dòng)向協(xié)調(diào)器A發(fā)送CA,A(Tn),調(diào)度器B主動(dòng)向協(xié)調(diào)器A發(fā)送CA,B(Tn)。另一種實(shí)現(xiàn)方式,協(xié)調(diào)器A向調(diào)度器A請(qǐng)求獲取CA,A(Tn),協(xié)調(diào)器A向調(diào)度器B請(qǐng)求獲取CA,B(Tn)。具體地,協(xié)調(diào)器A可以一次獲得CA,A(Tn)和CA,B(Tn),協(xié)調(diào)器A也可以實(shí)時(shí)與調(diào)度器A和調(diào)度器B通信,從而實(shí)時(shí)獲取調(diào)度器A接收的每個(gè)用戶A請(qǐng)求消耗的資源提供實(shí)體A提供的資源,實(shí)時(shí)獲取調(diào)度器B接收的每個(gè)用戶A請(qǐng)求消耗的資源提供實(shí)體B提供的資源。同時(shí),協(xié)調(diào)器B獲取處理用戶B請(qǐng)求消耗的資源CB(Tn)的方式請(qǐng)參照協(xié)調(diào)器A,在此不再贅述。調(diào)度器A從用戶A的歸屬協(xié)調(diào)器A獲取在Tn周期用戶A請(qǐng)求消耗的資源CA(Tn),以及從用戶B的歸屬協(xié)調(diào)器B獲取在Tn周期用戶B請(qǐng)求消耗的資源CB(Tn),一種實(shí)現(xiàn)方式,在Tn+1周期,協(xié)調(diào)器A分別向調(diào)度器A和調(diào)度器B發(fā)送CA(Tn),協(xié)調(diào)器B分別向調(diào)度器A和調(diào)度器B發(fā)送CB(Tn);另一種實(shí)現(xiàn)方式,在Tn+1周期,調(diào)度器A向協(xié)調(diào)器A請(qǐng)求CA(Tn),調(diào)度器A向協(xié)調(diào)器B請(qǐng)求CB(Tn);調(diào)度器B向協(xié)調(diào)器A請(qǐng)求CA(Tn),調(diào)度器B向協(xié)調(diào)器B請(qǐng)求CB(Tn)。以上兩種方式皆稱為:在Tn+1周期,調(diào)度器A從用戶A的歸屬協(xié)調(diào)器A獲取在Tn周期用戶A請(qǐng)求消耗的資源CA(Tn),以及從用戶B的歸屬協(xié)調(diào)器B獲取在Tn周期用戶B請(qǐng)求消耗的資源CB(Tn)。無(wú)論上述任一種實(shí)現(xiàn)方式,通過上述描述可知,調(diào)度器A存儲(chǔ)NA,A(Tn)、NB,A(Tn)、CA,A(Tn)和CB,A(Tn),調(diào)度器B存儲(chǔ)NA,B(Tn)、NB,B(Tn)、CA,B(Tn)和CB,B(Tn)。關(guān)于用戶的歸屬協(xié)調(diào)器的確定,一種方式可以配置協(xié)調(diào)器為某一用戶的歸屬協(xié)調(diào)器;或者在用戶標(biāo)識(shí)為整數(shù)時(shí),根據(jù)用戶標(biāo)識(shí)對(duì)協(xié)調(diào)器總個(gè)數(shù)取模確定用戶的歸屬協(xié)調(diào)器,還可以使用哈希函數(shù)對(duì)用戶標(biāo)識(shí)計(jì)算得到哈希值,再用哈希值對(duì)協(xié)調(diào)器總個(gè)數(shù)取模確定用戶的歸屬協(xié)調(diào)器。如有100個(gè)用戶,有20個(gè)協(xié)調(diào)器,用戶的標(biāo)識(shí)分別為1到100,對(duì)20個(gè)協(xié)調(diào)器從1到20分別編號(hào),根據(jù)用戶標(biāo)識(shí)對(duì)協(xié)調(diào)器總個(gè)數(shù)取模確定每個(gè)用戶的歸屬協(xié)調(diào)器,本發(fā)明對(duì)此不作限定。協(xié)調(diào)器的總個(gè)數(shù)可以小于或者等于調(diào)度器的數(shù)量,并且每一個(gè)協(xié)調(diào)器與任一調(diào)度器均可通信。步驟402,調(diào)度器A根據(jù)φA、CA(Tn)、CA,A(Tn)和NA,A(Tn)使用調(diào)度算法對(duì)接收的用戶A請(qǐng)求進(jìn)行調(diào)度;調(diào)度器A根據(jù)φB、CB(Tn)、CB,A(Tn)和NB,A(Tn),使用調(diào)度算法對(duì)接收的用戶B請(qǐng)求進(jìn)行調(diào)度。同理,調(diào)度器B根據(jù)φA、CA(Tn)、CA,B(Tn)和NA,B(Tn)使用調(diào)度算法對(duì)接收的用戶A請(qǐng)求進(jìn)行調(diào)度;調(diào)度器B根據(jù)φB、CB(Tn)、CB,B(Tn)和NB,B(Tn),使用調(diào)度算法對(duì)接收的用戶B請(qǐng)求進(jìn)行調(diào)度。根據(jù)圖4所示的方法對(duì)調(diào)度器上的用戶請(qǐng)求進(jìn)行調(diào)度時(shí),調(diào)度器A根據(jù)從協(xié)調(diào)器A獲得的上一周期用戶A請(qǐng)求在分布式資源系統(tǒng)中消耗的資源量、用戶A的資源權(quán)重、上一周期用戶調(diào)度器A接收的用戶A請(qǐng)求的個(gè)數(shù)以及上一周期用戶調(diào)度器A接收的用戶A請(qǐng)求消耗的資源實(shí)體A提供的資源進(jìn)行調(diào)度,在沒有現(xiàn)有技術(shù)中的用戶代理的架構(gòu)下,使用協(xié)調(diào)器獲得上一周期用戶A請(qǐng)求在分布式資源系統(tǒng)中消耗的資源量,從而不需要調(diào)度器A進(jìn)行額外的操作,能夠減少調(diào)度器A的資源,并且調(diào)度器根據(jù)φA、CA(Tn)、CA,A(Tn)和NA,A(Tn)對(duì)用戶A請(qǐng)求進(jìn)行調(diào)度,從而實(shí)現(xiàn)用戶A請(qǐng)求的全局調(diào)度,保證用戶z的性能需求。調(diào)度器A對(duì)用戶B請(qǐng)求調(diào)度,或調(diào)度器B對(duì)用戶A請(qǐng)求進(jìn)行調(diào)度,或者調(diào)度器B對(duì)用戶B請(qǐng)求調(diào)度,同樣達(dá)到上述效果?,F(xiàn)有技術(shù)中基于用戶代理架構(gòu),調(diào)度器只能夠獲得一個(gè)用戶代理發(fā)送的用戶請(qǐng)求及用戶請(qǐng)求的統(tǒng)計(jì)信息,因此,難以實(shí)現(xiàn)同一用戶請(qǐng)求的全局調(diào)度。本發(fā)明實(shí)施例中,以調(diào)度器A調(diào)度用戶A請(qǐng)求為例,用戶A請(qǐng)求的全局調(diào)度是調(diào)度器A不僅需要考慮上一周期φA、CA,A(Tn)和NA,A(Tn),還要考慮CA(Tn),從而實(shí)現(xiàn)用戶A請(qǐng)求的調(diào)度,進(jìn)而保證用戶A的性能。具體地,本發(fā)明實(shí)施例中,PiA,A表示調(diào)度器A接收用戶A發(fā)送的第i個(gè)用戶A請(qǐng)求,由存儲(chǔ)陣列A為PiA,A提供資源;PiA,B表示調(diào)度器B接收用戶A發(fā)送的第i個(gè)用戶A請(qǐng)求,由存儲(chǔ)陣列B為PiA,B提供資源。PkB,A表示調(diào)度器A接收用戶B發(fā)送的第k個(gè)用戶B請(qǐng)求,由存儲(chǔ)陣列A為PkB,A提供資源,PkB,B表示調(diào)度器B接收用戶B發(fā)送的第k個(gè)用戶B請(qǐng)求,由存儲(chǔ)陣列B為PkB,B提供資源。本發(fā)明實(shí)施例中,φA=2,φB=1。在Tn周期,當(dāng)調(diào)度器A接收的用戶A請(qǐng)求和用戶B請(qǐng)求的數(shù)量小于存儲(chǔ)陣列A的IOPS能力時(shí),則不需要對(duì)調(diào)度器A接收的用戶A請(qǐng)求和用戶B請(qǐng)求使用調(diào)度算法進(jìn)行調(diào)度,直接由存儲(chǔ)陣列A處理。調(diào)度器B接收到的用戶A請(qǐng)求和用戶B請(qǐng)求的數(shù)量小于存儲(chǔ)陣列B的IOPS能力時(shí),也不需要對(duì)調(diào)度器B接收的用戶A請(qǐng)求和用戶B請(qǐng)求使用調(diào)度算法進(jìn)行調(diào)度,直接由存儲(chǔ)陣列B處理。但用戶A的歸屬協(xié)調(diào)器A需要獲取周期Tn各調(diào)度器接收的用戶A請(qǐng)求的消耗的資源。本發(fā)明實(shí)施例中,用戶A的歸屬協(xié)調(diào)器A獲取Tn周期調(diào)度器A和調(diào)度器B接收的用戶A請(qǐng)求的消耗的資源為CA(Tn)。同時(shí),用戶B的歸屬協(xié)調(diào)器B獲取Tn周期調(diào)度器A和調(diào)度器B接收的用戶B請(qǐng)求消耗的資源為CB(Tn)。協(xié)調(diào)器A將CA(Tn)發(fā)送給調(diào)度器A和調(diào)度器B,協(xié)調(diào)器B將CB(Tn)發(fā)送給調(diào)度器A和調(diào)度器B。調(diào)度器A在Tn周期接收用戶A請(qǐng)求的數(shù)量為NA,A(Tn),消耗存儲(chǔ)陣列A提供的資源為CA,A(Tn);調(diào)度器A在Tn周期接收用戶B請(qǐng)求的數(shù)量為NB,A(Tn),消耗存儲(chǔ)陣列A提供的資源為NB,A(Tn)。調(diào)度器B在Tn周期接收用戶A請(qǐng)求的數(shù)量為NA,B(Tn),消耗存儲(chǔ)陣列B提供的資源為CA,B(Tn);調(diào)度器B在Tn周期接收用戶B請(qǐng)求的數(shù)量為NB,B(Tn),消耗存儲(chǔ)陣列B提供的資源為CB,B(Tn)。在Tn+1周期,以調(diào)度器A為例,調(diào)度器A從用戶A的歸屬協(xié)調(diào)器A獲取Tn周期用戶A請(qǐng)求消耗的資源CA(Tn)。在Tn+1周期,當(dāng)存儲(chǔ)陣列A的IOPS能力不能夠滿足用戶A請(qǐng)求和用戶B請(qǐng)求時(shí),調(diào)度器A對(duì)接收的用戶A請(qǐng)求和用戶B請(qǐng)求使用調(diào)度算法加入調(diào)度器A的調(diào)度隊(duì)列進(jìn)行調(diào)度。調(diào)度器A接收到用戶A請(qǐng)求和用戶B請(qǐng)求時(shí),分別計(jì)算用戶A請(qǐng)求和用戶B請(qǐng)求起始虛擬時(shí)間和結(jié)束虛擬時(shí)間。將用戶A請(qǐng)求和用戶B請(qǐng)求加入調(diào)度隊(duì)列,將用戶A請(qǐng)求和用戶B請(qǐng)求按照起始虛擬時(shí)間由小到大的順序在調(diào)度隊(duì)列中排序等待處理。起始虛擬時(shí)間最小的用戶請(qǐng)求排在調(diào)度隊(duì)列的隊(duì)首,起始虛擬時(shí)間最大的用戶請(qǐng)求排列在調(diào)度隊(duì)列的隊(duì)尾。其中,調(diào)度隊(duì)列的隊(duì)首是指調(diào)度隊(duì)列中存儲(chǔ)陣列A最先進(jìn)行用戶請(qǐng)求處理的位置。存儲(chǔ)陣列A在處理用戶請(qǐng)求時(shí),從調(diào)度隊(duì)列的隊(duì)首取用戶請(qǐng)求進(jìn)行處理,即先處理起始虛擬時(shí)間最小的用戶請(qǐng)求。存儲(chǔ)陣列A從調(diào)度隊(duì)列中按用戶請(qǐng)求的起始虛擬時(shí)間由小到大的順序處理用戶請(qǐng)求。第一種實(shí)現(xiàn)方式,調(diào)度器A接收的PiA,A的起始虛擬時(shí)間用S(PiA,A)表示,PiA,A的結(jié)束虛擬時(shí)間用F(PiA,A)表示。S(PiA,A)=max{v(PiA,A),F(Pi-1A,A)};其中,v(PiA,A)表示調(diào)度器A接收PiA,A時(shí)調(diào)度器A的虛擬時(shí)間;F(Pi-1A,A)表示Pi-1A,A的結(jié)束虛擬時(shí)間;max{v(PiA,A),F(Pi-1A,A)}表示v(PiA,A)和F(Pi-1A,A)中的最大值。關(guān)于起始虛擬時(shí)間S(PiA,A)、結(jié)束虛擬時(shí)間F(PiA,A)和虛擬時(shí)間v(PiA,A)的含義,請(qǐng)參見起始時(shí)間公平序列(Start-timefairnessqueuing,SFQ)算法,本發(fā)明實(shí)施例不再贅述。其中,c(PiA,A)表示PiA,A消耗存儲(chǔ)陣列A提供的資源,本發(fā)明實(shí)施例為1個(gè)IOPS;d(PA,A(Tn+1))表示在Tn+1周期,調(diào)度器A接收的每個(gè)用戶A請(qǐng)求的延遲值,同理,調(diào)度器A接收的PkB,A的起始虛擬時(shí)間用S(PkB,A)表示,PkB,A的結(jié)束虛擬時(shí)間用F(PkB,A)表示。S(PkB,A)=max{v(PkB,A),F(Pk-1B,A)};其中,v(PkB,A)表示調(diào)度器A接收PkB,A時(shí)調(diào)度器A的虛擬時(shí)間;F(Pk-1B,A)表示Pk-1B,A的結(jié)束虛擬時(shí)間;max{v(PkB,A),F(Pk-1B,A)}表示v(PkB,A)和F(Pk-1B,A)中的最大值。其中,c(PkB,A)表示PkB,A消耗存儲(chǔ)陣列B提供的資源,本發(fā)明實(shí)施例為1個(gè)IOPS;d(PB,A(Tn+1))表示在Tn+1周期,調(diào)度器A接收的每個(gè)用戶B請(qǐng)求的延遲值,調(diào)度器B接收的PiA,B的起始虛擬時(shí)間用S(PiA,B)表示,PiA,B的結(jié)束虛擬時(shí)間用F(PiA,B)表示。S(PiA,B)=max{v(PiA,B),F(Pi-1A,B)},其中,v(PiA,B)表示調(diào)度器B接收PiA,B時(shí)調(diào)度器B的虛擬時(shí)間;F(Pi-1A,B)表示Pi-1A,B的結(jié)束虛擬時(shí)間;max{v(PiA,B),F(Pi-1A,B)}表示v(PiA,B)和F(Pi-1A,B)中的最大值。其中,c(PiA,B)表示PiA,B消耗存儲(chǔ)陣列B提供的資源,在本發(fā)明實(shí)施例為1個(gè)IOPS;d(PA,B(Tn+1))表示在Tn+1周期,調(diào)度器B接收的每個(gè)用戶A請(qǐng)求的延遲值,同理,調(diào)度器B接收的PkB,B的起始虛擬時(shí)間用S(PkB,B)表示,PkB,B的結(jié)束虛擬時(shí)間用F(PkB,B)表示。S(PkB,B)=max{v(PkB,B),F(Pk-1B,B)},其中,v(PkB,B)表示調(diào)度器B接收PiB,B時(shí)調(diào)度器B的虛擬時(shí)間;F(Pk-1B,B)表示Pk-1B,B的結(jié)束虛擬時(shí)間;max{v(PkB,B),F(Pk-1B,B)}表示v(PkB,B)和F(Pk-1B,B)中的最大值。其中,c(PkB,B)表示PkB,B消耗存儲(chǔ)陣列B提供的資源,在本發(fā)明實(shí)施例中為1個(gè)IOPS;d(PB,B(Tn+1))表示在Tn+1周期,調(diào)度器B接收的每個(gè)用戶B請(qǐng)求的延遲值,第二種實(shí)現(xiàn)方法,調(diào)度器A接收的PiA,A的起始虛擬時(shí)間用S(PiA,A)表示,PiA,A的結(jié)束虛擬時(shí)間用F(PiA,A)表示。S(PiA,A)=max{v(PiA,A),其中,v(PiA,A)表示調(diào)度器A接收PiA,A時(shí)調(diào)度器A的虛擬時(shí)間,d(PA,A(Tn+1))表示在Tn+1周期,調(diào)度器A接收的每個(gè)用戶A請(qǐng)求的延遲值,F(xiàn)(Pi-1A,A)表示Pi-1A,A的結(jié)束虛擬時(shí)間;表示v(PiA,A)和中的最大值。關(guān)于起始虛擬時(shí)間S(PiA,A)、結(jié)束虛擬時(shí)間F(PiA,A)和虛擬時(shí)間v(PiA,A)的含義,請(qǐng)參見起始時(shí)間公平序列(Start-timefairnessqueuing,SFQ)算法,本發(fā)明實(shí)施例不再贅述。其中,c(PiA,A)表示PiA,A消耗存儲(chǔ)陣列A提供的資源,在本發(fā)明實(shí)施例中為1個(gè)IOPS;同理,調(diào)度器A接收的PkB,A的起始虛擬時(shí)間用S(PkB,A)表示,PkB,A的結(jié)束虛擬時(shí)間用F(PkB,A)表示。其中,v(PkB,A)表示調(diào)度器A接收PkB,A時(shí)調(diào)度器A的虛擬時(shí)間;d(PB,A(T))表示在Tn+1周期,調(diào)度器A接收的每個(gè)用戶B請(qǐng)求的延遲值,F(xiàn)(Pk-1B,A)表示Pk-1B,A的結(jié)束虛擬時(shí)間;表示v(PkB,A)和中的最大值。其中,其中,c(PkB,A)表示PkB,A消耗存儲(chǔ)陣列B提供的資源,在本發(fā)明實(shí)施例中為1個(gè)IOPS。調(diào)度器B接收的PiA,B的起始虛擬時(shí)間用S(PiA,B)表示,PiA,B的結(jié)束虛擬時(shí)間用F(PiA,B)表示。其中,v(PiA,B)表示調(diào)度器B接收PiA,B時(shí)調(diào)度器B的虛擬時(shí)間,d(PA,B(Tn+1))表示在Tn+1周期,調(diào)度器B接收的每個(gè)用戶A請(qǐng)求的延遲值,F(xiàn)(Pi-1A,B)表示Pi-1A,B的結(jié)束虛擬時(shí)間;表示v(PiA,B)和中的最大值。其中,c(PiA,B)表示PiA,B消耗存儲(chǔ)陣列B提供的資源,在本發(fā)明實(shí)施例為1個(gè)IOPS。同理,調(diào)度器B接收的PkB,B的起始虛擬時(shí)間用S(PkB,B)表示,PkB,B的結(jié)束虛擬時(shí)間用F(PkB,B)表示。S(PkB,B)=max{v(PkB,B),其中,v(PkB,B)表示調(diào)度器B接收PiB,B時(shí)調(diào)度器B的虛擬時(shí)間;d(PB,B(Tn+1))表示在Tn+1周期,接收的每個(gè)用戶B請(qǐng)求在調(diào)度器A上的延遲值,F(xiàn)(Pk-1B,B)表示Pk-1B,B的結(jié)束虛擬時(shí)間;表示v(PkB,B)和F(Pk-1B,B)中的最大值。其中,c(PkB,B)表示PkB,B消耗存儲(chǔ)陣列B提供的資源,在本發(fā)明實(shí)施例中為1個(gè)IOPS。以第一種計(jì)算用戶請(qǐng)求起始虛擬時(shí)間和結(jié)束虛擬時(shí)間方式為例,如圖5所示,本實(shí)施例以分布式資源系統(tǒng)初始化后,在Tn+1周期,調(diào)度器A接收的用戶A請(qǐng)求PiA,A依次分別為P1A,A、P2A,A、P3A,A、P4A,A和P5A,A,共5個(gè)。調(diào)度器B接收用戶A請(qǐng)求PiA,B為0個(gè)。調(diào)度器A接收的用戶B請(qǐng)求PkB,A依次分別為P1B,A、P2B,A、P3B,A和P4B,A,共4個(gè)。調(diào)度器B接收用戶B請(qǐng)求PkB,B依次分別為P1B,B、P2B,B、P3B,B、P4B,B和P5B,B,共5個(gè)。在本發(fā)明實(shí)施例中,Tn+1周期實(shí)際為第一個(gè)周期。P1A,A,為調(diào)度器A接收的第1個(gè)用戶A請(qǐng)求。此時(shí)需要對(duì)接收到的P1A,A根據(jù)調(diào)度算法加入調(diào)度器A的調(diào)度隊(duì)列進(jìn)行調(diào)度。首先,計(jì)算P1A,A的起始虛擬時(shí)間S(P1A,A)=max{v(P1A,A),F(Pi-1A,A)},由于Tn+1周期實(shí)際為第一個(gè)周期,即調(diào)度器A之前沒有接收到任何PiA,A,因此F(P0A,A)為空,調(diào)度器A初始化完成即接收P1A,A,則S(P1A,A)=v(P1A,A)=0。計(jì)算P1A,A的結(jié)束虛擬時(shí)間S(P1A,A)=0,c(PiA,A)=1,φA=2,CA,B(Tn)=0,NA,A(Tn)=0,則d(PA,A(Tn+1))=0,同理,P2A,A的起始虛擬時(shí)間為0.5,結(jié)束虛擬時(shí)間為1;P3A,A的起始虛擬時(shí)間為1,結(jié)束虛擬時(shí)間為1.5;P4A,A的起始虛擬時(shí)間為1.5,結(jié)束虛擬時(shí)間為2;P5A,A的起始虛擬時(shí)間為2,結(jié)束虛擬時(shí)間為2.5。其中,圖5中表示P1A,A的起始虛擬時(shí)間為0,結(jié)束虛擬時(shí)間為0.5,圖5及后面其他圖中的相類及類似標(biāo)識(shí)請(qǐng)參考的含義,不再贅述。對(duì)調(diào)度器A接收到的用戶B請(qǐng)求,P1B,A,計(jì)算P1B,A的起始虛擬時(shí)間S(P1B,A)=max{v(P1B,A),F(P0B,A)}。由于Tn+1周期實(shí)際為第一個(gè)周期,即調(diào)度器A之前沒有接收到任何PkB,A,因此F(P0B,A)為空,調(diào)度器A初始化完成即接收P1B,A,v(P1B,A)=0。P1B,A的結(jié)束虛擬時(shí)間c(P1B,A)=1,CB,B(Tn)=0,NB,A(Tn)=0,則d(PB,A(Tn+1))=0,φB=1,F(xiàn)(P1B,A)=1。同理,P2B,A的起始虛擬時(shí)間為1,結(jié)束虛擬時(shí)間為2;P3B,A的起始虛擬時(shí)間為2,結(jié)束虛擬時(shí)間為3;P4B,A的起始虛擬時(shí)間為3,結(jié)束虛擬時(shí)間為4。對(duì)調(diào)度器B接收到的用戶B請(qǐng)求,P1B,B,此時(shí)需要對(duì)接收到的P1B,B進(jìn)行調(diào)度,計(jì)算P1B,B的起始虛擬時(shí)間S(P1B,B)=max{v(P1B,B),F(P0B,B)},由于Tn+1周期實(shí)際為第一個(gè)周期,即調(diào)度器B之前沒有接收到任何PkB,B,因此F(P0B,B)為空,調(diào)度器B初始化完成即接收P1B,B,v(P1B,B)=0。BB1的結(jié)束虛擬時(shí)間c(P1B,B)=1,CB,A(Tn)=0,NB,B(Tn)=0,d(PB,B(Tn+1))=0,φB=1,F(xiàn)(P1B,B)=1。同理,P2B,B的起始虛擬時(shí)間為1,結(jié)束虛擬時(shí)間為2;P3B,B的起始虛擬時(shí)間為2,結(jié)束虛擬時(shí)間為3;P4B,B的起始虛擬時(shí)間為3,結(jié)束虛擬時(shí)間為4;P5B,B的起始虛擬時(shí)間為4,結(jié)束虛擬時(shí)間為5。調(diào)度器A對(duì)P1A,A、P2A,A、P3A,A、P4A,A和P5A,A分別計(jì)算起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,對(duì)P1B,A、P2B,A、P3B,A和P4B,A分別計(jì)算起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,根據(jù)調(diào)度器A接收的用戶請(qǐng)求的起始虛擬時(shí)間,將用戶請(qǐng)求按起始虛擬時(shí)間由小到大的順序在調(diào)度隊(duì)列排序等待處理,即調(diào)度隊(duì)列中按隊(duì)首到隊(duì)尾的順序依次為P1A,A、P2A,A、P1B,A、P3A,A、P4A,A、P2B,A、P5A,A、P3B,A和P4B,A,如圖6所示。存儲(chǔ)陣列A處理用戶請(qǐng)求時(shí),按P1A,A、P2A,A、P1B,A、P3A,A、P4A,A、P2B,A、P5A,A、P3B,A和P4B,A的順序進(jìn)行處理。如圖6所,在用戶A請(qǐng)求與用戶B請(qǐng)求存在資源競(jìng)爭(zhēng)時(shí),調(diào)度隊(duì)列中一組用戶請(qǐng)求P1A,A、P2A,A和P1B,A按照2:1的關(guān)系消耗存儲(chǔ)陣列A提供的IOPS。調(diào)度隊(duì)列中另一組用戶請(qǐng)求P3A,A、P4A,A和P2B,A也滿足該要求。調(diào)度器B對(duì)P1B,B、P2B,B、P3B,B、P4B,B和P5B,B分別計(jì)算起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,根據(jù)調(diào)度器B接收的所有用戶請(qǐng)求的起始虛擬時(shí)間,將用戶請(qǐng)求按起始虛擬時(shí)間由小到大的順序在調(diào)度隊(duì)列中排序等待處理,即調(diào)度隊(duì)列中按隊(duì)首到隊(duì)尾的順序依次為P1B,B、P2B,B、P3B,B、P4B,B和P5B,BBB5,如圖7所示。存儲(chǔ)陣列B處理用戶請(qǐng)求時(shí),按P1B,B、P2B,B、P3B,B、P4B,B和P5B,B的順序進(jìn)行處理。由于調(diào)度器B上只有用戶B請(qǐng)求,不存在資源競(jìng)爭(zhēng),因此按照用戶B請(qǐng)求的起始虛擬時(shí)間由小到大順序處理用戶B請(qǐng)求。在Tn+1周期內(nèi),本領(lǐng)域技術(shù)人員可知,在具體實(shí)現(xiàn)中,調(diào)度器A和調(diào)度器B接收的用戶請(qǐng)求數(shù)量可能會(huì)遠(yuǎn)遠(yuǎn)大于實(shí)施例中提供的用戶請(qǐng)求數(shù)量。用戶也不僅僅限于兩個(gè)。本發(fā)明實(shí)施例只是為描述方便,在Tn+1周期內(nèi),調(diào)度器A接收用戶A請(qǐng)求依次為P1A,A、P2A,A、P3A,A、P4A,A和P5A,A,調(diào)度器A接收用戶B請(qǐng)求依次為P1B,A、P2B,A、P3B,A和P4B,A;調(diào)度器B接收用戶B請(qǐng)求依次為P1B,B、P2B,B、P3B,B、P4B,B和P5B,B。根據(jù)前面描述的方式,調(diào)度器A計(jì)算在Tn+1周期接收的NA,A(Tn+1)個(gè)用戶A請(qǐng)求消耗的存儲(chǔ)陣列A提供的資源CA,A(Tn+1),以及接收的NB,A(Tn+1)個(gè)用戶B請(qǐng)求消耗的存儲(chǔ)陣列A提供的的資源CB,A(Tn)。調(diào)度器A在計(jì)算在Tn+1周期接收的NA,A(Tn+1)個(gè)用戶A請(qǐng)求消耗的存儲(chǔ)陣列A提供的資源CA,A(Tn+1),具體為在本發(fā)明實(shí)施例中,1個(gè)用戶A請(qǐng)求消耗1個(gè)IOPS,則調(diào)度器A根據(jù)在Tn+1周期接收的用戶A請(qǐng)求個(gè)數(shù)NA,A(Tn+1)=5,則消耗的存儲(chǔ)陣列A提供的資源CA,A(Tn+1)為5個(gè)IOPS。同理,調(diào)度器A在Tn+1周期接收的用戶B請(qǐng)求個(gè)數(shù)NB,A(Tn+1)=4,則消耗的存儲(chǔ)陣列A提供的資源CB,A(Tn+1)為4個(gè)IOPS。調(diào)度器B在Tn+1周期接收的用戶A請(qǐng)求個(gè)數(shù)NA,B(Tn+1)=0,則消耗的存儲(chǔ)陣列B提供的資源CA,B(Tn+1)為0個(gè)IOPS。同理,調(diào)度器B在Tn+1周期接收的用戶B請(qǐng)求個(gè)數(shù)NB,B(Tn+1)=5,則消耗的存儲(chǔ)陣列B提供的資源CB,B(Tn+1)為5個(gè)IOPS。協(xié)調(diào)器A分別獲得調(diào)度器A在Tn+1周期處理用戶A請(qǐng)求消耗存儲(chǔ)陣列A提供的資源CA,A(Tn+1)為5個(gè)IOPS,調(diào)度器B在Tn+1周期處理用戶A請(qǐng)求消耗存儲(chǔ)陣列B提供的資源CA,B(Tn+1)為0個(gè)IOPS;則在Tn+1周期,用戶A請(qǐng)求消耗的資源總量CA(Tn+1)=CA,A(Tn+1)+CA,B(Tn+1),CA(Tn+1)=5個(gè)IOPS。同理,協(xié)調(diào)器B獲得在Tn+1周期,用戶B請(qǐng)求消耗的資源總量CB(Tn+1)=CB,A(Tn+1)+CB,B(Tn+1),CB(Tn+1)=9個(gè)IOPS。協(xié)調(diào)器A分別向調(diào)度器A和調(diào)度器B發(fā)送消息,消息中攜帶CA(Tn+1),從而調(diào)度器A和調(diào)度器B分別從協(xié)調(diào)器A獲得在Tn+1周期用戶A請(qǐng)求消耗IOPS數(shù)量為5。同理,協(xié)調(diào)器B分別向調(diào)度器A和調(diào)度器B發(fā)送消息,消息中攜帶CB(Tn+1),從而調(diào)度器A和調(diào)度器B分別從協(xié)調(diào)器B獲得在Tn+1周期用戶B請(qǐng)求消耗IOPS數(shù)量為9。如圖8所示,在Tn+2周期內(nèi),調(diào)度器A接受第一個(gè)用戶A請(qǐng)求P6A,A,P6A,A的起始虛擬時(shí)間為S(P6A,A)=max{v(P6A,A),F(P5A,A)},v(P6A,A)=F(P5A,A)=2.5,因此,在Tn+1周期,CA,B(Tn+1)=0,NA,A(Tn+1)=5,則d(PA,A(Tn+2))=0,c(P6A,A)=1,φA=2,因此,F(xiàn)(P6A,A)=3。同理,P7A,A的起始虛擬時(shí)間為3,結(jié)束虛擬時(shí)間為3.5;P8A,A的起始虛擬時(shí)間為3.5,結(jié)束虛擬時(shí)間為4;P9A,A的起始虛擬時(shí)間為4,結(jié)束虛擬時(shí)間為4.5。在Tn+2周期內(nèi),調(diào)度器A接收第一個(gè)用戶B請(qǐng)求P5B,A,S(P5B,A)=max{v(P5B,A),F(P4B,A)},v(P5B,A),=F(P4B,A)=4,因此,S(P5B,A)=4。P5B,A的結(jié)束虛擬時(shí)間c(P5B,A)=1,CB,B(Tn+1)=5,NB,A(Tn+1)=4,d(PB,A(Tn+2))=1.25,φB=1,F(xiàn)(P5B,A)=6.25。同理,P6B,A的起始虛擬時(shí)間為6.25,結(jié)束虛擬時(shí)間為8.5;P7B,A的起始虛擬時(shí)間為8.5,結(jié)束虛擬時(shí)間為10.75;P8B,A的起始虛擬時(shí)間為10.75,結(jié)束虛擬時(shí)間為13。調(diào)度器A依次計(jì)算P6A,A、P7A,A、P8A,A和P9A,A的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,調(diào)度器A依次計(jì)算P5B,A、P6B,A、P7B,A和P8B,A的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,根據(jù)調(diào)度器A接收的用戶請(qǐng)求的起始虛擬時(shí)間,將用戶請(qǐng)求按起始虛擬時(shí)間由小到大的順序在調(diào)度隊(duì)列中排序等待處理,即調(diào)度隊(duì)列中按隊(duì)首到隊(duì)尾的順序依次為P6A,A、P7A,A、P8A,A、P9A,A、P5B,A、P6B,A、P7B,A和P8B,A,如圖9所示。存儲(chǔ)陣列A處理用戶請(qǐng)求時(shí),從按P6A,A、P7A,A、P8A,A、P9A,A、P5B,A、P6B,A、P7B,A和P8B,A的順序進(jìn)行處理。在Tn+2周期內(nèi),調(diào)度器B接收第一個(gè)用戶A請(qǐng)求P1A,B和第一個(gè)用戶B請(qǐng)求P6B,B。假設(shè)調(diào)度器B在相同時(shí)刻接收到P1A,B和P6B,B。P6B,B的起始虛擬時(shí)間S(P6B,B)=max{v(P6B,B),F(P5B,B)},v(P6B,B)=F(P5B,B)=5,因此,S(P6B,B)=5。P6B,B的結(jié)束虛擬時(shí)間c(P6B,B)=1,φB=1,F(xiàn)(P6B,B)=6.8。同理,P7B,B的起始虛擬時(shí)間為6.8,結(jié)束虛擬時(shí)間為8.6;P8B,B的起始虛擬時(shí)間為8.6,結(jié)束虛擬時(shí)間為10.4。P1A,B的起始虛擬時(shí)間S(P1A,B)=max{v(P1A,B),F(P0A,B)},F(xiàn)(P0A,B)=0,v(P1A,B)=v(P6B,B)=5,因此,S(P1A,B)=5。P1A,B的結(jié)束虛擬時(shí)間c(P1A,B)=1,CA,A(Tn+1)=5,NA,A(Tn+1)=0,則d(PA,B(Tn+2))=0,φA=2,F(xiàn)(P1A,B)=5.5。同理,P2A,B的起始虛擬時(shí)間為5.5,結(jié)束虛擬時(shí)間為6;P3A,B的起始虛擬時(shí)間為6,結(jié)束虛擬時(shí)間為6.5。調(diào)度器B將用戶請(qǐng)求加入調(diào)度隊(duì)列,在調(diào)度隊(duì)列中用戶請(qǐng)求的按起始虛擬時(shí)間由小到大進(jìn)行排序,即調(diào)度隊(duì)列中按隊(duì)首到隊(duì)尾的順序依次為P1A,B、P6B,B、P2A,B、P3A,B、P7B,B和P8B,B,如圖10所示。存儲(chǔ)陣列B處理用戶請(qǐng)求時(shí),按P1A,B、P6B,B、P2A,B、P3A,B、P7B,B和P8B,B的順序進(jìn)行處理。本發(fā)明實(shí)施例提供的分布式資源系統(tǒng)用戶請(qǐng)求的調(diào)度方法,進(jìn)一步地,可以應(yīng)用如圖11所示的場(chǎng)景,包括用戶1到用戶H,調(diào)度器S1到調(diào)度器SM,資源提供實(shí)體R1到資源提供實(shí)體RM,協(xié)調(diào)器G1到協(xié)調(diào)器GY。其中,H為不小于2的自然數(shù),M為不小于2的自然數(shù),N為自然數(shù)。調(diào)度器Sx與資源提供實(shí)體Rx通信,x為1到M的任一自然數(shù),任一用戶z可以向任一調(diào)度器Sx發(fā)送用戶z請(qǐng)求,Rx為Sx接收的用戶請(qǐng)求提供資源,協(xié)調(diào)器Gy與任一Rx通信,y為1到Y(jié)的任一自然數(shù),Y的取值可以小于等于M,也可大于M。Y也可以為1,即分布式資源系統(tǒng)中只有一個(gè)協(xié)調(diào)器。協(xié)調(diào)器的個(gè)數(shù)可以由調(diào)度器的數(shù)量決定,也可以由用戶數(shù)量決定,本發(fā)明實(shí)施例對(duì)于不限定。對(duì)任一用戶z,在Tn+1周期,向調(diào)度器Sd發(fā)送第i個(gè)用戶z請(qǐng)求Piz,d,i為自然數(shù),d為自然數(shù),1≤d≤M,Sd表示S1到SM中的一個(gè)。當(dāng)Sd需要對(duì)接收的用戶請(qǐng)求進(jìn)行調(diào)度時(shí),執(zhí)行如下步驟:步驟1201:在Tn+1周期,Sd從用戶z的協(xié)調(diào)器Gk獲取在Tn周期用戶z請(qǐng)求消耗的資源Cz(Tn),其中,d和k為自然數(shù),1≤d≤M,1≤k≤Y;所述用戶z的資源權(quán)重為φz;Cz,x(Tn)為Sx在Tn周期接收的Nz,x(Tn)個(gè)用戶z請(qǐng)求消耗的Rx提供的資源;z表示所述用戶的標(biāo)識(shí);表示在Tn周期S1至SM接收的用戶z請(qǐng)求消耗R1至RM提供的資源之和。步驟1201中,Cz,x(Tn)具體包括Sx在Tn周期接收的Nz,x(Tn)個(gè)用戶z請(qǐng)求消耗的Rx提供的資源之和。Nz,x(Tn)表示Sx在Tn周期Sx接收的用戶z請(qǐng)求的個(gè)數(shù)。Sx將Cz,x(Tn)發(fā)送給Gk,Gk根據(jù)獲得Cz(Tn)。Gk獲得Cz(Tn)的一種方式為Sx將Cz,x(Tn)主動(dòng)發(fā)送給Gk,另一種方式為Sx接收Gk請(qǐng)求,根據(jù)Gk請(qǐng)求,將Cz,x(Tn)發(fā)送給Gk。Gk根據(jù)得到Cz,x(Tn)。Sx存儲(chǔ)Nz,x(Tn)和Cz,x(Tn)。步驟1202:Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,Piz,d為Sd接收的第i個(gè)用戶z請(qǐng)求,Cz,d(Tn)為Sd在Tn周期接收的Nz,d(Tn)個(gè)用戶z請(qǐng)求消耗的Rd提供的資源。Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用所述調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,從而實(shí)現(xiàn)用戶z請(qǐng)求的全局調(diào)度,保證用戶z的性能需求。其中,步驟1202具體包括:Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用所述調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,具體包括:Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)計(jì)算Piz,d的起始虛擬時(shí)間S(Piz,d)和結(jié)束虛擬時(shí)間F(Piz,d),將Piz,d加入調(diào)度隊(duì)列;所述調(diào)度隊(duì)列根據(jù)用戶請(qǐng)求的起始虛擬時(shí)間的大小對(duì)所述用戶請(qǐng)求進(jìn)行排序。S(Piz,d)=max{v(Piz,d),F(Pi-1z,d)},v(Piz,d)表示Sd接收Piz,d時(shí)Sd的虛擬時(shí)間,c(Piz,d)表示Piz,d消耗Rd提供的資源?;蛘?,v(Piz,d)表示Sd接收Piz,d時(shí)Sd的虛擬時(shí)間,c(Piz,d)表示Piz,d消耗Rd提供的資源。關(guān)于起始虛擬時(shí)間S(PiA,A)、結(jié)束虛擬時(shí)間F(PiA,A)和虛擬時(shí)間v(PiA,A)的含義,請(qǐng)參見起始時(shí)間公平序列(Start-timefairnessqueuing,SFQ)算法,本發(fā)明實(shí)施例不再贅述。其中,d(Pz,d(Tn+1))表示在Tn+1周期,Sd接收的每個(gè)Piz,d的延遲值。當(dāng)Cz(Tn)-Cz,d(Tn)和Nz,d(Tn)中任一個(gè)為0,則d(Pz,d(Tn+1))=0。其中,c(Piz,d)具體可為Piz,d消耗的IOPS或帶寬長(zhǎng)度。步驟1201具體包括:Gk是根據(jù)z%Y=k確定的,其中z%Y表示用z對(duì)Y取模,或者,Gk是根據(jù)Hash(z)%Y=k確定的,其中Hash(z)表示對(duì)z使用哈希函數(shù)計(jì)算,Hash(z)%Y表示對(duì)z使用哈希函數(shù)計(jì)算得到的值對(duì)Y取模。圖11所示的應(yīng)用場(chǎng)景中,CK用于向每一個(gè)調(diào)度器Sx發(fā)送Cz(Tn)。圖11所示的應(yīng)用場(chǎng)景中,Sd使用調(diào)度算法對(duì)用戶z請(qǐng)求調(diào)度的方法適用于本發(fā)明實(shí)施例的分布式資源系統(tǒng)中任一用戶請(qǐng)求的調(diào)度。在Sd中可對(duì)兩個(gè)或兩個(gè)以上用戶的請(qǐng)求進(jìn)行調(diào)度。圖11所示的應(yīng)用場(chǎng)景中,調(diào)度器Sd根據(jù)用戶z在整個(gè)分布式資源系統(tǒng)中在Tn周期的Cz(Tn)、Cz,d(Tn)和Nz,d(Tn),結(jié)合用戶的權(quán)重φz,將用戶z請(qǐng)求Piz,d根據(jù)調(diào)度算法進(jìn)行調(diào)度,從而實(shí)現(xiàn)用戶z請(qǐng)求的全局調(diào)度,保證用戶z的性能需求。本發(fā)明實(shí)施例的系統(tǒng)架構(gòu)不需要依賴用戶代理,即可對(duì)用戶z請(qǐng)求進(jìn)行調(diào)度。本發(fā)明實(shí)施例中,以資源為IOPS為例,通常1個(gè)用戶請(qǐng)求消耗1個(gè)IOPS。以資源為網(wǎng)絡(luò)帶寬為例,1個(gè)用戶請(qǐng)求消耗的資源為用戶請(qǐng)求的網(wǎng)絡(luò)帶寬。當(dāng)用戶請(qǐng)求消耗的資源為網(wǎng)絡(luò)帶寬時(shí),每個(gè)用戶請(qǐng)求消耗資源提供實(shí)體提供的資源的大小由用戶請(qǐng)求決定。本發(fā)明實(shí)施例中,使用調(diào)度算法對(duì)用戶請(qǐng)求進(jìn)行調(diào)度包括根據(jù)本發(fā)明實(shí)施例中的調(diào)度算法計(jì)算用戶請(qǐng)求的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,將用戶請(qǐng)求加入調(diào)度隊(duì)列,根據(jù)用戶請(qǐng)求的起始虛擬時(shí)間大小,在調(diào)度隊(duì)列中排序。在用戶請(qǐng)求不需要調(diào)度時(shí),則需要根據(jù)本發(fā)明實(shí)施例的調(diào)度算法計(jì)算用戶請(qǐng)求的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,不需要加入調(diào)度隊(duì)列排序。本發(fā)明實(shí)施例中,Sd、Sx、Rx、Gy和Gk只是用來(lái)標(biāo)識(shí)某一具體設(shè)備,這里的設(shè)備可以指實(shí)體設(shè)備也可以指邏輯設(shè)備,同理,也可以用第一、第二這種方式來(lái)表述,具體只是表示方式的差異,不構(gòu)成對(duì)本發(fā)明方案的限定。如圖12所示,本發(fā)明實(shí)施例提供了一種調(diào)度器Sd,調(diào)度器Sd應(yīng)用于分布式資源系統(tǒng),所述分布式資源系統(tǒng)包括調(diào)度器Sx,資源提供實(shí)體Rx和協(xié)調(diào)器Gy,其中x為1到M連續(xù)的自然數(shù),M≥2,d為x中的一個(gè);y為1到Y(jié)連續(xù)的自然數(shù);Sx與Rx通信,Cy與任一Sx通信;所述調(diào)度器Sd包括獲取單元1301和調(diào)度單元1302;其中,所述獲取單元1301用于在Tn+1周期,從用戶z的協(xié)調(diào)器Gk獲取在Tn周期用戶z請(qǐng)求消耗的資源Cz(Tn),其中,k為自然數(shù),1≤k≤Y;所述用戶z的資源權(quán)重為φz;Cz,x(Tn)為Sx在Tn周期接收的Nz,x(Tn)個(gè)用戶z請(qǐng)求消耗的Rx提供的資源;z表示所述用戶的標(biāo)識(shí);所述調(diào)度單元1302用于根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,Piz,d為Sd接收的第i個(gè)用戶z請(qǐng)求,Cz,d(Tn)為Sd在Tn周期接收的Nz,d(Tn)個(gè)用戶z請(qǐng)求消耗的Rd提供的資源。具體地,調(diào)度單元1302用于根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,具體包括:根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)計(jì)算Piz,d的起始虛擬時(shí)間S(Piz,d)和結(jié)束虛擬時(shí)間F(Piz,d),將Piz,d加入調(diào)度隊(duì)列;所述調(diào)度隊(duì)列根據(jù)用戶請(qǐng)求的起始虛擬時(shí)間的大小對(duì)所述用戶請(qǐng)求進(jìn)行排序。具體地,S(Piz,d)=max{v(Piz,d),F(Pi-1z,d)},v(Piz,d)表示Sd接收Piz,d時(shí)Sd的虛擬時(shí)間,c(Piz,d)表示Piz,d消耗的Rd提供的資源。具體地,v(Piz,d)表示Sd接收Piz,d時(shí)Sd的虛擬時(shí)間,c(Piz,d)表示Piz,d消耗的Rd提供的資源。關(guān)于起始虛擬時(shí)間S(PiA,A)、結(jié)束虛擬時(shí)間F(PiA,A)和虛擬時(shí)間v(PiA,A)的含義,請(qǐng)參見起始時(shí)間公平序列(Start-timefairnessqueuing,SFQ)算法,本發(fā)明實(shí)施例不再贅述。具體地,當(dāng)Cz(Tn)-Cz,d(Tn)和Nz,d(Tn)中任一個(gè)為0,則d(Pz,d(Tn+1))=0。Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,不需要依賴用戶代理,即可對(duì)用戶z請(qǐng)求進(jìn)行調(diào)度,并且Sd根據(jù)φz、Cz(Tn)、Cz,d(Tn)和Nz,d(Tn)使用調(diào)度算法對(duì)Piz,d進(jìn)行調(diào)度,從而實(shí)現(xiàn)用戶z請(qǐng)求的全局調(diào)度,保證用戶z的性能需求。在另一種分布式資源系統(tǒng)中資源調(diào)度方法實(shí)施方式中,分布式資源系統(tǒng)包括多個(gè)調(diào)度器,所述多個(gè)調(diào)度器中的第一調(diào)度器從所述第一用戶的協(xié)調(diào)器獲取在上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和;所述第一調(diào)度器根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量對(duì)第一用戶的用戶請(qǐng)求進(jìn)行調(diào)度。進(jìn)一步地,所述第一調(diào)度器根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量對(duì)第一用戶的用戶請(qǐng)求進(jìn)行調(diào)度,具體包括:所述第一調(diào)度器根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量,計(jì)算所述第一用戶的用戶請(qǐng)求的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,將所述第一用戶的用戶請(qǐng)求加入調(diào)度隊(duì)列;所述調(diào)度隊(duì)列根據(jù)用戶請(qǐng)求的起始虛擬時(shí)間的大小對(duì)所述第一用戶的用戶請(qǐng)求進(jìn)行排序。在另一種分布式資源系統(tǒng),分布式資源系統(tǒng)包括多個(gè)調(diào)度器,其中,如圖12所示,所述多個(gè)調(diào)度器中的第一調(diào)度器包括獲取單元1301和調(diào)度單元1302;所述獲取單元1301用于從所述第一用戶的協(xié)調(diào)器獲取在上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和;所述調(diào)度單元1302用于用于根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一個(gè)周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量對(duì)第一用戶的用戶請(qǐng)求進(jìn)行調(diào)度。進(jìn)一步地,所述調(diào)度單元1302具體用于根據(jù)所述第一用戶的資源權(quán)重、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述多個(gè)調(diào)度器消耗的資源總和、在所述上一周期所述第一用戶的用戶請(qǐng)求在所述第一調(diào)度器消耗的資源和在所述上一周期所述第一調(diào)度器接收所述第一用戶的用戶請(qǐng)求的數(shù)量,計(jì)算所述第一用戶的用戶請(qǐng)求的起始虛擬時(shí)間和結(jié)束虛擬時(shí)間,將所述第一用戶的用戶請(qǐng)求加入調(diào)度隊(duì)列;所述調(diào)度隊(duì)列根據(jù)用戶請(qǐng)求的起始虛擬時(shí)間的大小對(duì)所述第一用戶的用戶請(qǐng)求進(jìn)行排序。本發(fā)明實(shí)施例提供的技術(shù)方案也可以應(yīng)用到其他場(chǎng)景,例如,分布式資源系統(tǒng)為分布式計(jì)算系統(tǒng),資源提供實(shí)體為用戶請(qǐng)求提供計(jì)算資源;分布式資源系統(tǒng)也可以為分布式網(wǎng)絡(luò)系統(tǒng),資源提供實(shí)體為用戶請(qǐng)求提供網(wǎng)絡(luò)帶寬;資源提供實(shí)體還可為用戶請(qǐng)求提供內(nèi)存資源。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所公開的系統(tǒng)、方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取非易失性存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的非易失性存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。