本申請(qǐng)屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體地說(shuō),涉及一種網(wǎng)絡(luò)資源的使用限額的控制方法、裝置及系統(tǒng)。
背景技術(shù):
在分布式系統(tǒng)或多用戶系統(tǒng)中,允許多個(gè)客戶端共同使用網(wǎng)絡(luò)系統(tǒng)資源,包括系統(tǒng)的內(nèi)存,CPU和硬盤(pán)。在默認(rèn)情況下,系統(tǒng)并不會(huì)限制每個(gè)客戶端可以使用的系統(tǒng)資源的大小,所以如果客戶端惡意使用系統(tǒng)資源,或客戶端由于疏忽,將系統(tǒng)資源全部占用,將導(dǎo)致其他客戶端無(wú)法使用系統(tǒng)資源,從而使系統(tǒng)性能下降,甚至有系統(tǒng)崩潰的危險(xiǎn)。
為了限制網(wǎng)絡(luò)系統(tǒng)資源的使用,從而有效的實(shí)現(xiàn)資源預(yù)留以及計(jì)量計(jì)費(fèi),通??梢詥?dòng)限額服務(wù)進(jìn)行網(wǎng)絡(luò)系統(tǒng)資源限額的控制?,F(xiàn)有技術(shù)中,通常對(duì)網(wǎng)絡(luò)系統(tǒng)資源的限額采用局部或全局的控制方法,例如可以使用quota命令查看各個(gè)用戶設(shè)備的當(dāng)前資源使用情況。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),現(xiàn)有技術(shù)中對(duì)網(wǎng)絡(luò)系統(tǒng)資源的限額采用局部或全局的控制方法存在控制不精確的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請(qǐng)?zhí)峁┮环N網(wǎng)絡(luò)資源的使用限額的控制方法、裝置及系統(tǒng),可以解決現(xiàn)有的網(wǎng)絡(luò)資源限額的控制方法存在控制不精確的問(wèn)題。
為了解決上述技術(shù)問(wèn)題,本申請(qǐng)第一方面提供一種網(wǎng)絡(luò)資源的使用限額的控制方法,包括:
客戶端統(tǒng)計(jì)當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度;
所述客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向服務(wù)器發(fā)送所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;以使所述服務(wù)器確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,若確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額,則向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);
所述客戶端接收所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),根據(jù)所述禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始,在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源。
可選地,所述客戶端統(tǒng)計(jì)當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度之后,還包括:
所述客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向所述服務(wù)器發(fā)送所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;以使所述服務(wù)器在確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額;
所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
可選地,所述客戶端統(tǒng)計(jì)當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度之后,還包括:
在當(dāng)前間隔時(shí)間t結(jié)束時(shí),所述客戶端將使用網(wǎng)絡(luò)資源的使用額度設(shè)置為零。
可選地,所述客戶端接收到所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng)之后,還包括:
所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),將接收到所述禁用時(shí)長(zhǎng)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止起始時(shí)間,將所述禁止起始時(shí)間開(kāi)始在所述禁用時(shí)長(zhǎng)結(jié)束時(shí)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間。
可選地,所述的方法還包括:
所述客戶端在下一次間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源時(shí),若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之后,則使用所述網(wǎng)絡(luò)資源,并統(tǒng)計(jì)使用所述網(wǎng)絡(luò)資源的使用額度;若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之前,則禁止使用所述網(wǎng)絡(luò)資源。
本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)資源的使用限額的控制方法,包括:
服務(wù)器接收客戶端發(fā)送的所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;
所述服務(wù)器確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
若確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額,則向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始,在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源。
可選地,所述服務(wù)器確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,包括:
所述服務(wù)器根據(jù)當(dāng)前時(shí)間接收的所述客戶端和其他客戶端發(fā)送的使用所述網(wǎng)絡(luò)資源的使用額度的信息,所述信息中攜帶有所述客戶端和所述其他客戶端的標(biāo)識(shí)信息,確定當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量;
所述服務(wù)器根據(jù)所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,以及當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額。
可選地,所述服務(wù)器根據(jù)所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,以及當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,包括:
根據(jù)計(jì)算公式:確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
其中,DefaultQuota表示所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限 額,aliveAgentCount表示當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,ImpactFactor是預(yù)設(shè)的常量。
可選地,服務(wù)器接收客戶端發(fā)送的所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息之后,則所述方法還包括:
所述服務(wù)器接收所述客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向所述服務(wù)器發(fā)送的所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;
所述服務(wù)器在確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額;以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)資源的使用限額的控制裝置,位于客戶端,包括:
統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度;
發(fā)送模塊,用于在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向服務(wù)器發(fā)送所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;以使所述服務(wù)器確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,若確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額,則向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);
接收模塊,用于接收所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);
禁用模塊,用于根據(jù)所述禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始,在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源。
可選地,所述發(fā)送模塊,還用于在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向所述服務(wù)器發(fā)送所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;以使所述服務(wù)器在確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額;
所述接收模塊,還用于接收服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額;
所述裝置還包括:
更新模塊,用于根據(jù)所述接收模塊接收的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
可選地,所述的裝置還包括:
設(shè)置模塊,用于在當(dāng)前間隔時(shí)間t結(jié)束時(shí),將使用網(wǎng)絡(luò)資源的使用額度設(shè)置為零。
可選地,所述禁用模塊,具體用于根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),將接收到所述禁用時(shí)長(zhǎng)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止起始時(shí)間,將所述禁止起始時(shí)間開(kāi)始在所述禁用時(shí)長(zhǎng)結(jié)束時(shí)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間。
可選地,所述的裝置還包括:
判斷模塊,用于在下一次間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源時(shí),若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之后,則使用所述網(wǎng)絡(luò)資源,并統(tǒng)計(jì)使用所述網(wǎng)絡(luò)資源的使用額度;若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之前,則禁止使用所述網(wǎng)絡(luò)資源。
本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)資源的使用限額的控制裝置,位于服務(wù)器,包括:
接收模塊,用于接收客戶端發(fā)送的所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;
確定模塊,用于確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
判斷模塊,用于確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度是否大于所述第一動(dòng)態(tài)使用限額;
發(fā)送模塊,用于在所述判斷模塊確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額時(shí),向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始,在所述禁用時(shí)長(zhǎng)內(nèi)禁止使 用所述網(wǎng)絡(luò)資源。
可選地,所述確定模塊具體用于:
根據(jù)當(dāng)前時(shí)間接收的所述客戶端和其他客戶端發(fā)送的使用所述網(wǎng)絡(luò)資源的使用額度的信息,所述信息中攜帶有所述客戶端和所述其他客戶端的標(biāo)識(shí)信息,確定當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量;
根據(jù)所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,以及當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額。
可選地,所述確定模塊具體用于:
根據(jù)計(jì)算公式:確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
其中,DefaultQuota表示所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,aliveAgentCount表示當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,ImpactFactor是預(yù)設(shè)的常量。
可選地,所述接收模塊,還用于接收所述客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向所述服務(wù)器發(fā)送的所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;
所述判斷模塊,還用于確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額是否一致;
所述發(fā)送模塊,還用于在所述判斷模塊確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額;以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)資源的使用限額的控制系統(tǒng),包括:客戶端和服務(wù)器;
所述客戶端包括上述的網(wǎng)絡(luò)資源的使用限額的控制裝置;
所述服務(wù)器包括上述的網(wǎng)絡(luò)資源的使用限額的控制裝置。
由于本發(fā)明實(shí)施例服務(wù)器的對(duì)網(wǎng)絡(luò)資源限額的控制的時(shí)間窗口大小w遠(yuǎn)遠(yuǎn)大于客戶端統(tǒng)計(jì)使用網(wǎng)絡(luò)資源的使用情況的間隔時(shí)間為t,使得客戶端默認(rèn)匯報(bào)上來(lái)的數(shù)據(jù)都落在服務(wù)器當(dāng)前對(duì)網(wǎng)絡(luò)資源限額的控制的時(shí)間窗口,且本發(fā)明實(shí)施例采用的是從客戶端接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源,而不是根據(jù)服務(wù)器下發(fā)資源禁用命令的時(shí)間作為禁止使用所述網(wǎng)絡(luò)資源的參考,因此,即使在客戶端和服務(wù)器時(shí)間不同步的時(shí)候,也可以有效地對(duì)網(wǎng)絡(luò)資源的限額進(jìn)行精確地控制;因此可以防止客戶端和服務(wù)器時(shí)間不同步導(dǎo)致的網(wǎng)絡(luò)資源的限額控制的不準(zhǔn)確。
進(jìn)一步地,本發(fā)明實(shí)施例中,服務(wù)器在接收到客戶端匯報(bào)的網(wǎng)絡(luò)資源使用額度的信息時(shí),確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,然后,將客戶端使用網(wǎng)絡(luò)資源的使用額度與當(dāng)前確定的第一動(dòng)態(tài)使用限額進(jìn)行比較,在確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額時(shí),才向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng)。由于第一動(dòng)態(tài)使用限額是服務(wù)器根據(jù)當(dāng)前所有使用網(wǎng)絡(luò)資源的客戶端和其他客戶端的數(shù)量(也可以稱(chēng)為當(dāng)前使用網(wǎng)絡(luò)資源的活躍的客戶端數(shù)量),以及該客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,該第一動(dòng)態(tài)使用限額可以有效合理地分配各客戶端使用網(wǎng)絡(luò)資源,不會(huì)導(dǎo)致網(wǎng)絡(luò)資源分配不精確造成網(wǎng)絡(luò)資源的浪費(fèi)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖;
圖2是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖;
圖3是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖;
圖4是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖;
圖5是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖;
圖6是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制裝置的結(jié)構(gòu)示意圖;
圖7是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制裝置的結(jié)構(gòu)示意圖;
圖8是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制系統(tǒng)的結(jié)構(gòu)示意圖;
圖9為本發(fā)明實(shí)施例提供的一種電子設(shè)備示意圖。
具體實(shí)施方式
以下將配合附圖及實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)的實(shí)施方式,藉此對(duì)本申請(qǐng)如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題并達(dá)成技術(shù)功效的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性?xún)?nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類(lèi)型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只 讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤(pán)只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(pán)(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤(pán)存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
如在說(shuō)明書(shū)及權(quán)利要求當(dāng)中使用了某些詞匯來(lái)指稱(chēng)特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同名詞來(lái)稱(chēng)呼同一個(gè)組件。本說(shuō)明書(shū)及權(quán)利要求并不以名稱(chēng)的差異來(lái)作為區(qū)分組件的方式,而是以組件在功能上的差異來(lái)作為區(qū)分的準(zhǔn)則。如在通篇說(shuō)明書(shū)及權(quán)利要求當(dāng)中所提及的“包含”為一開(kāi)放式用語(yǔ),故應(yīng)解釋成“包含但不限定于”。“大致”是指在可接收的誤差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問(wèn)題,基本達(dá)到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過(guò)其他裝置或耦接手段間接地電性耦接至所述第二裝置。說(shuō)明書(shū)后續(xù)描述為實(shí)施本申請(qǐng)的較佳實(shí)施方式,然所述描述乃以說(shuō)明本申請(qǐng)的一般原則為目的,并非用以限定本申請(qǐng)的范圍。本申請(qǐng)的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn)現(xiàn)有技術(shù)中,大部分系統(tǒng)(如分布式系統(tǒng)或多用戶系統(tǒng))通常對(duì)網(wǎng)絡(luò)資源限額采用局部或全局的控制方法,其中,局部控制方法就是將網(wǎng)絡(luò)資源限額按照一定規(guī)則劃分給用戶,每個(gè)用戶有自己的資源限額。局部控制方法會(huì)給用戶帶來(lái)不便,因?yàn)橛脩魧?duì)資源消費(fèi)速度不一樣,有些用戶將分配給自己的資源消費(fèi)完了,有些用戶很可能還剩余大量資源沒(méi)有消費(fèi),這就導(dǎo)致資源分配不精確會(huì)造成資源的費(fèi)問(wèn)題。
全局控制方法一般是服務(wù)器維護(hù)用戶配置的每分鐘資源使用上限,但是, 全局控制方法會(huì)重度依賴(lài)服務(wù)器和客戶端之間的時(shí)間同步,即客戶端匯報(bào)到服務(wù)器的資源使用情況會(huì)嚴(yán)格要求落在服務(wù)器資源統(tǒng)計(jì)的時(shí)間窗口內(nèi),否則匯報(bào)上來(lái)的數(shù)據(jù)會(huì)被裁減或者丟棄。此外,服務(wù)器下發(fā)資源禁用命令是以服務(wù)器的時(shí)間作為參考的,如果客戶端和服務(wù)器時(shí)間不同步也會(huì)帶來(lái)網(wǎng)絡(luò)資源限額控制不精確的問(wèn)題。
為了解決現(xiàn)有技術(shù)中存在的網(wǎng)絡(luò)資源限額控制不精確的問(wèn)題,以及如何在系統(tǒng)時(shí)間不同步的應(yīng)用場(chǎng)景中對(duì)網(wǎng)絡(luò)資源限額進(jìn)行控制,本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)資源的使用限額的控制方法,本發(fā)明實(shí)施例所提供的方法可以應(yīng)用于分布式系統(tǒng)或多用戶系統(tǒng)中,其中,每個(gè)客戶端以間隔時(shí)間t將各種資源的使用情況打包向服務(wù)器匯報(bào),服務(wù)器匯總各客戶端匯報(bào)上來(lái)的資源使用情況,計(jì)算每個(gè)客戶端使用每一種資源的動(dòng)態(tài)限額,并校驗(yàn)該客戶端匯報(bào)的該種資源使用情況是否超過(guò)計(jì)算的該種資源的動(dòng)態(tài)使用限額,如果超過(guò),則返回的響應(yīng)中會(huì)帶上對(duì)該種超限資源的禁用命令,禁用命令中包含該客戶端對(duì)該種資源禁用的時(shí)長(zhǎng),該客戶端收到禁用命令后,對(duì)于超限的資源,將當(dāng)前時(shí)間加上禁用時(shí)長(zhǎng)作為禁用到的時(shí)刻。
由此可知,本發(fā)明實(shí)施例采用的是從客戶端接收禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始在禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源,而不是根據(jù)服務(wù)器下發(fā)資源禁用命令的時(shí)間作為禁止使用網(wǎng)絡(luò)資源的參考,因此,即使在客戶端和服務(wù)器時(shí)間不同步的時(shí)候,也可以有效地對(duì)網(wǎng)絡(luò)資源的限額進(jìn)行精確地控制;因此可以防止客戶端和服務(wù)器時(shí)間不同步導(dǎo)致的網(wǎng)絡(luò)資源的限額控制的不準(zhǔn)確。
進(jìn)一步地,由于動(dòng)態(tài)使用限額是服務(wù)器根據(jù)當(dāng)前所有使用某一種網(wǎng)絡(luò)資源的客戶端的數(shù)量(也可以稱(chēng)為當(dāng)前使用網(wǎng)絡(luò)資源的活躍的客戶端數(shù)量),以及每個(gè)客戶端預(yù)設(shè)的使用某一種網(wǎng)絡(luò)資源的默認(rèn)限額,計(jì)算的每個(gè)客戶端使用該種網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額,該動(dòng)態(tài)使用限額可以有效合理地分配各客戶端使用網(wǎng)絡(luò)資源,不會(huì)導(dǎo)致網(wǎng)絡(luò)資源分配不精確造成網(wǎng)絡(luò)資源的浪費(fèi)問(wèn)題。
需要說(shuō)明的是,本發(fā)明實(shí)施例中服務(wù)器的對(duì)網(wǎng)絡(luò)資源限額的控制的時(shí)間窗口大小為w,客戶端統(tǒng)計(jì)使用網(wǎng)絡(luò)資源的使用情況的間隔時(shí)間為t,其中,w遠(yuǎn)遠(yuǎn)大于t,使得客戶端默認(rèn)匯報(bào)上來(lái)的數(shù)據(jù)都落在服務(wù)器當(dāng)前對(duì)網(wǎng)絡(luò)資源 限額的控制的時(shí)間窗口。
圖1是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖,所述方法位于客戶端執(zhí)行,如圖1所示,包括:
101、客戶端統(tǒng)計(jì)當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度;
具體地,本發(fā)明實(shí)施例中,例如,客戶端在每一個(gè)間隔時(shí)間t內(nèi)需要統(tǒng)計(jì)使用網(wǎng)絡(luò)資源的使用情況信息(如使用額度)。又如,在當(dāng)前間隔時(shí)間t結(jié)束時(shí),所述客戶端將使用網(wǎng)絡(luò)資源的使用額度設(shè)置為零。
具體地,針對(duì)每種資源,客戶端都有一個(gè)統(tǒng)計(jì)的時(shí)間窗口,該窗口時(shí)間區(qū)間內(nèi)到達(dá)的客戶端請(qǐng)求所消耗的網(wǎng)絡(luò)資源會(huì)被累計(jì)到時(shí)間窗口中,假設(shè)時(shí)間窗口是W,W時(shí)間內(nèi),客戶端會(huì)多次向服務(wù)端匯報(bào)網(wǎng)絡(luò)資源使用情況,匯報(bào)間隔t遠(yuǎn)小于W。
102、客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向服務(wù)器發(fā)送所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;以使所述服務(wù)器確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,若確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額,則向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);
具體地,例如,客戶端中設(shè)置有打包計(jì)時(shí)器,在每一個(gè)間隔時(shí)間t結(jié)束時(shí),觸發(fā)打包計(jì)時(shí)器信號(hào),這樣,客戶端將步驟101中統(tǒng)計(jì)的在間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息進(jìn)行打包,其中,打包的信息中攜帶有該網(wǎng)絡(luò)資源的標(biāo)識(shí)、客戶端的標(biāo)識(shí),該客戶端使用網(wǎng)絡(luò)資源的使用額度等情況。
對(duì)應(yīng)地,服務(wù)器接收到客戶端發(fā)送的使用所述網(wǎng)絡(luò)資源的使用額度的信息,通常,在實(shí)際應(yīng)用場(chǎng)景中,在客戶端使用該網(wǎng)絡(luò)資源的同時(shí),其他客戶端也可以使用該網(wǎng)絡(luò)資源,因此,服務(wù)器根據(jù)當(dāng)前時(shí)間接收的所述客戶端和其他客戶端發(fā)送的使用所述網(wǎng)絡(luò)資源的使用額度的信息,所述信息中攜帶有所述客戶端和所述其他客戶端的標(biāo)識(shí)信息,確定當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量;
進(jìn)一步地,服務(wù)器根據(jù)所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,以及當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,確定當(dāng)前時(shí)間所述客戶端使用網(wǎng) 絡(luò)資源的第一動(dòng)態(tài)使用限額;其中,客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額例如可以保存在數(shù)據(jù)庫(kù)中,客戶端和服務(wù)端可以共享該數(shù)據(jù)庫(kù),服務(wù)器和客戶端都可以從數(shù)據(jù)庫(kù)中獲取客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額。
進(jìn)一步地,服務(wù)器在確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額,則向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng)。其中,服務(wù)器會(huì)有一個(gè)第一動(dòng)態(tài)使用限額的統(tǒng)計(jì)窗口,一般是一分鐘,如果統(tǒng)計(jì)窗口區(qū)間內(nèi)某一時(shí)刻,網(wǎng)絡(luò)資源使用超過(guò)第一動(dòng)態(tài)使用限額,之后到達(dá)的請(qǐng)求申請(qǐng)?jiān)摼W(wǎng)絡(luò)資源會(huì)被禁用,禁用時(shí)長(zhǎng)為統(tǒng)計(jì)窗口末端時(shí)刻減去當(dāng)前時(shí)刻。
103、客戶端接收所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),根據(jù)所述禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始,在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源。
具體實(shí)現(xiàn)時(shí),舉例來(lái)說(shuō),所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),將接收到所述禁用時(shí)長(zhǎng)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止起始時(shí)間,將所述禁止起始時(shí)間開(kāi)始在所述禁用時(shí)長(zhǎng)結(jié)束時(shí)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間。
進(jìn)一步地舉例來(lái)說(shuō),當(dāng)所述客戶端在下一次間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源時(shí),若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之后,則使用所述網(wǎng)絡(luò)資源,并統(tǒng)計(jì)使用所述網(wǎng)絡(luò)資源的使用額度;若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之前,則禁止使用所述網(wǎng)絡(luò)資源。
由于本發(fā)明實(shí)施例服務(wù)器的對(duì)網(wǎng)絡(luò)資源限額的控制的時(shí)間窗口大小w遠(yuǎn)遠(yuǎn)大于客戶端統(tǒng)計(jì)使用網(wǎng)絡(luò)資源的使用情況的間隔時(shí)間為t,使得客戶端默認(rèn)匯報(bào)上來(lái)的數(shù)據(jù)都落在服務(wù)器當(dāng)前對(duì)網(wǎng)絡(luò)資源限額的控制的時(shí)間窗口,且本發(fā)明實(shí)施例采用的是從客戶端接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源,而不是根據(jù)服務(wù)器下發(fā)資源禁用命令的時(shí)間作為禁止使用所述網(wǎng)絡(luò)資源的參考,因此,即使在客戶端和服務(wù)器時(shí)間不同步的時(shí)候,也可以有效地對(duì)網(wǎng)絡(luò)資源的限額進(jìn)行精確地控制;因此可以防止客戶 端和服務(wù)器時(shí)間不同步導(dǎo)致的網(wǎng)絡(luò)資源的限額控制的不準(zhǔn)確。
進(jìn)一步地,本發(fā)明實(shí)施例中,服務(wù)器在接收到客戶端匯報(bào)的網(wǎng)絡(luò)資源使用額度的信息時(shí),確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,然后,將客戶端使用網(wǎng)絡(luò)資源的使用額度與當(dāng)前確定的第一動(dòng)態(tài)使用限額進(jìn)行比較,在確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額時(shí),才向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng)。由于第一動(dòng)態(tài)使用限額是服務(wù)器根據(jù)當(dāng)前所有使用網(wǎng)絡(luò)資源的客戶端和其他客戶端的數(shù)量(也可以稱(chēng)為當(dāng)前使用網(wǎng)絡(luò)資源的活躍的客戶端數(shù)量),以及該客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,該第一動(dòng)態(tài)使用限額可以有效合理地分配各客戶端使用網(wǎng)絡(luò)資源,不會(huì)導(dǎo)致網(wǎng)絡(luò)資源分配不精確造成網(wǎng)絡(luò)資源的浪費(fèi)問(wèn)題。
圖2是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖,所述方法位于客戶端執(zhí)行,如圖2所示,包括:
201、客戶端統(tǒng)計(jì)當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度;
具體實(shí)現(xiàn)參考圖1所示實(shí)施例中的步驟101的詳細(xì)內(nèi)容。
202、客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向服務(wù)器發(fā)送所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;以使服務(wù)器在確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額。
舉例來(lái)說(shuō),所述客戶端在上一次間隔時(shí)間t結(jié)束時(shí)(如T1時(shí)刻),向服務(wù)器發(fā)送了所述客戶端在上一次間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源的使用額度的信息,服務(wù)器在T1時(shí)刻接收到所述客戶端在上一次間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源的使用額度的信息,在T1時(shí)刻統(tǒng)計(jì)使用所述網(wǎng)絡(luò)資源的所述客戶端和其他客戶端的數(shù)量(即T1時(shí)刻使用所述網(wǎng)絡(luò)資源的活躍的客戶端數(shù)量),結(jié)合所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,計(jì)算T1時(shí)刻所述客戶端使用所述網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額(即第二動(dòng)態(tài)使用限額,在上一次間隔 時(shí)間t結(jié)束時(shí)所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額);
所述客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)(即當(dāng)前時(shí)間為T(mén)2時(shí)刻),向服務(wù)器發(fā)送了所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源的使用額度的信息,服務(wù)器在當(dāng)前時(shí)間T2時(shí)刻接收到所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源的使用額度的信息,在當(dāng)前時(shí)間T2時(shí)刻統(tǒng)計(jì)使用所述網(wǎng)絡(luò)資源的所述客戶端和其他客戶端的數(shù)量(即當(dāng)前時(shí)間T2時(shí)刻使用所述網(wǎng)絡(luò)資源的活躍的客戶端數(shù)量),結(jié)合所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,計(jì)算當(dāng)前時(shí)間T2時(shí)刻所述客戶端使用所述網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額(即第一動(dòng)態(tài)使用限額;
之后,當(dāng)服務(wù)器在確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額,即客戶端當(dāng)前時(shí)間為T(mén)2時(shí)刻(當(dāng)前間隔時(shí)間t結(jié)束時(shí))從服務(wù)器中接收到的使用所述網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;
203、客戶端根據(jù)所述服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
也就是說(shuō),第一動(dòng)態(tài)使用限額是客戶端當(dāng)前時(shí)間從服務(wù)器處接收到的所述客戶端使用所述網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;相對(duì)地,第二動(dòng)態(tài)使用限額為客戶端上一次從服務(wù)器處接收到的所述客戶端使用所述網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;當(dāng)客戶端比較第一動(dòng)態(tài)使用限額和第二動(dòng)態(tài)使用限額,若確定二者不一致,則將第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
需要說(shuō)明的是,客戶端使用所述網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額是動(dòng)態(tài)變化的原因,是因?yàn)樵诿慷螘r(shí)間使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量是變化的,服務(wù)器每隔一段時(shí)間重新計(jì)算客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額也是為了可以有效合理地分配各客戶端使用網(wǎng)絡(luò)資源,不會(huì)導(dǎo)致網(wǎng)絡(luò)資源分配不精確造成網(wǎng)絡(luò)資源的浪費(fèi)問(wèn)題。
由于本發(fā)明實(shí)施例中,服務(wù)器在接收到客戶端發(fā)送的使用網(wǎng)絡(luò)資源的使用額度的信息時(shí),都會(huì)重新計(jì)算接收到使用信息的時(shí)刻(即當(dāng)前時(shí)間)客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額,其中,動(dòng)態(tài)使用限額的作用是當(dāng)系統(tǒng)崩潰 時(shí),客戶端會(huì)將最新一次收到服務(wù)器發(fā)送的動(dòng)態(tài)使用限額將作為客戶端使用網(wǎng)絡(luò)資源的臨時(shí)資源使用限額,可以防止用戶在系統(tǒng)崩潰時(shí)濫用網(wǎng)絡(luò)資源,保證用戶的網(wǎng)絡(luò)資源使用體驗(yàn)。
圖3是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖,所述方法位于服務(wù)器執(zhí)行,如圖3所示,包括:
301、服務(wù)器接收客戶端發(fā)送的所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;
例如,客戶端在每一個(gè)間隔時(shí)間t內(nèi)需要統(tǒng)計(jì)使用網(wǎng)絡(luò)資源的使用情況信息(如使用額度)。又如,客戶端中設(shè)置有打包計(jì)時(shí)器,在每一個(gè)間隔時(shí)間t結(jié)束時(shí),觸發(fā)打包計(jì)時(shí)器信號(hào),這樣,客戶端將統(tǒng)計(jì)的在間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息進(jìn)行打包,其中,打包的信息中攜帶有該網(wǎng)絡(luò)資源的標(biāo)識(shí)、客戶端的標(biāo)識(shí),該客戶端使用網(wǎng)絡(luò)資源的使用額度等情況。
對(duì)應(yīng)地,因此,服務(wù)器根據(jù)當(dāng)前時(shí)間接收的所述客戶端和其他客戶端發(fā)送的使用所述網(wǎng)絡(luò)資源的使用額度的信息,所述信息中攜帶有所述客戶端和所述其他客戶端的標(biāo)識(shí)信息,確定當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量。
302、服務(wù)器確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
通常,在實(shí)際應(yīng)用場(chǎng)景中,在客戶端使用該網(wǎng)絡(luò)資源的同時(shí),其他客戶端也可以使用該網(wǎng)絡(luò)資源,因此,服務(wù)器接收到客戶端發(fā)送的使用所述網(wǎng)絡(luò)資源的使用額度的信息之后,服務(wù)器例如可以根據(jù)當(dāng)前時(shí)間接收的所述客戶端和其他客戶端發(fā)送的使用所述網(wǎng)絡(luò)資源的使用額度的信息,所述信息中攜帶有所述客戶端和所述其他客戶端的標(biāo)識(shí)信息,確定當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量;
進(jìn)一步地,服務(wù)器根據(jù)所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,以及當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額。具體例如可以根據(jù)計(jì)算公式:
確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
其中,DefaultQuota表示所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額;
aliveAgentCount表示當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量;
ImpactFactor是預(yù)設(shè)的常量,這個(gè)常量是經(jīng)驗(yàn)值,一般大于1,作用是放大計(jì)算結(jié)果。例如,在服務(wù)器宕機(jī)的情況下,會(huì)將DefaultQuota均分到活躍的客戶端(aliveAgent)上,但是落在哪一個(gè)客戶端上可能是不均勻的,為了保證服務(wù)質(zhì)量,每個(gè)aliveAgent上分配的資源會(huì)放大一點(diǎn)。
303、若確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額,則向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始,在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源。
舉例來(lái)說(shuō),客戶端根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),將接收到所述禁用時(shí)長(zhǎng)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止起始時(shí)間,將所述禁止起始時(shí)間開(kāi)始在所述禁用時(shí)長(zhǎng)結(jié)束時(shí)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間。
進(jìn)一步地舉例來(lái)說(shuō),當(dāng)所述客戶端在下一次間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源時(shí),若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之后,則使用所述網(wǎng)絡(luò)資源,并統(tǒng)計(jì)使用所述網(wǎng)絡(luò)資源的使用額度;若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之前,則禁止使用所述網(wǎng)絡(luò)資源。
本發(fā)明實(shí)施例采用的是從客戶端接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源,而不是根據(jù)服務(wù)器下發(fā)資源禁用命令的時(shí)間作為禁止使用所述網(wǎng)絡(luò)資源的參考,因此,即使在客戶端和服務(wù)器時(shí)間不同步的時(shí)候,也可以有效地對(duì)網(wǎng)絡(luò)資源的限額進(jìn)行精確地控制;因此可以防止客戶端和服務(wù)器時(shí)間不同步導(dǎo)致的網(wǎng)絡(luò)資源的限額控制的不準(zhǔn)確。
進(jìn)一步地,本發(fā)明實(shí)施例中,服務(wù)器在接收到客戶端匯報(bào)的網(wǎng)絡(luò)資源使用額度的信息時(shí),確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,然后,將客戶端使用網(wǎng)絡(luò)資源的使用額度與當(dāng)前確定的第一動(dòng)態(tài)使用限額進(jìn)行比較,在確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額 度大于所述第一動(dòng)態(tài)使用限額時(shí),才向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng)。由于第一動(dòng)態(tài)使用限額是服務(wù)器根據(jù)當(dāng)前所有使用網(wǎng)絡(luò)資源的客戶端和其他客戶端的數(shù)量(也可以稱(chēng)為當(dāng)前使用網(wǎng)絡(luò)資源的活躍的客戶端數(shù)量),以及該客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,該第一動(dòng)態(tài)使用限額可以有效合理地分配各客戶端使用網(wǎng)絡(luò)資源,不會(huì)導(dǎo)致網(wǎng)絡(luò)資源分配不精確造成網(wǎng)絡(luò)資源的浪費(fèi)問(wèn)題。
圖4是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖,所述方法位于服務(wù)器執(zhí)行,如圖4所示,包括:
401、服務(wù)器接收客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)發(fā)送的所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;
其中,第二動(dòng)態(tài)使用限額的計(jì)算方法可以參考步驟402中第一動(dòng)態(tài)使用限額的計(jì)算方法。
402、服務(wù)器確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
舉例來(lái)說(shuō),所述客戶端在上一次間隔時(shí)間t結(jié)束時(shí)(如T1時(shí)刻),向服務(wù)器發(fā)送了所述客戶端在上一次間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源的使用額度的信息,服務(wù)器在T1時(shí)刻接收到所述客戶端在上一次間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源的使用額度的信息,在T1時(shí)刻統(tǒng)計(jì)使用所述網(wǎng)絡(luò)資源的所述客戶端和其他客戶端的數(shù)量(即T1時(shí)刻使用所述網(wǎng)絡(luò)資源的活躍的客戶端數(shù)量),結(jié)合所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,計(jì)算T1時(shí)刻所述客戶端使用所述網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額(即第二動(dòng)態(tài)使用限額,在上一次間隔時(shí)間t結(jié)束時(shí)所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額);
所述客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)(即當(dāng)前時(shí)間為T(mén)2時(shí)刻),向服務(wù)器發(fā)送了所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源的使用額度的信息,服務(wù)器在當(dāng)前時(shí)間T2時(shí)刻接收到所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源的使用額度的信息,在當(dāng)前時(shí)間T2時(shí)刻統(tǒng)計(jì)使用所述網(wǎng)絡(luò)資源的 所述客戶端和其他客戶端的數(shù)量(即當(dāng)前時(shí)間T2時(shí)刻使用所述網(wǎng)絡(luò)資源的活躍的客戶端數(shù)量),結(jié)合所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,計(jì)算當(dāng)前時(shí)間T2時(shí)刻所述客戶端使用所述網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額(即第一動(dòng)態(tài)使用限額;
進(jìn)一步地,本實(shí)施例中,服務(wù)器例如可以根據(jù)計(jì)算公式:
確定客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;
其中,DefaultQuota表示所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,aliveAgentCount表示當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,ImpactFactor是預(yù)設(shè)的常量。
403、服務(wù)器在確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額;以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
由于本發(fā)明實(shí)施例中,服務(wù)器在接收到客戶端發(fā)送的使用網(wǎng)絡(luò)資源的使用額度的信息時(shí),都會(huì)重新計(jì)算接收到使用信息的時(shí)刻(即當(dāng)前時(shí)間)客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額,其中,動(dòng)態(tài)使用限額的作用是當(dāng)系統(tǒng)崩潰時(shí),客戶端會(huì)將最新一次收到服務(wù)器發(fā)送的動(dòng)態(tài)使用限額將作為客戶端使用網(wǎng)絡(luò)資源的臨時(shí)資源使用限額,可以防止用戶在系統(tǒng)崩潰時(shí)濫用網(wǎng)絡(luò)資源,保證用戶的網(wǎng)絡(luò)資源使用體驗(yàn)。
下面通過(guò)具體的實(shí)施方式對(duì)本發(fā)明實(shí)施例所述的方法進(jìn)行詳細(xì)的描述。具體地,本發(fā)明分為客戶端和服務(wù)器兩部分,假設(shè)有a、b、c、d四種資源,分布式系統(tǒng)中會(huì)有多個(gè)客戶端同時(shí)對(duì)a、b、c、d四種資源進(jìn)行消費(fèi),客戶端以間隔時(shí)間t將a、b、c、d四種資源的使用情況打包向服務(wù)器匯報(bào),服務(wù)器匯總客戶端匯報(bào)上來(lái)的資源使用情況,并校驗(yàn)客戶端使用某種資源的情況是否超過(guò)服務(wù)器當(dāng)前計(jì)算的該客戶端使用該資源的動(dòng)態(tài)使用限額,如果超過(guò)動(dòng)態(tài)使用限額,則向該客戶端返回的響應(yīng)中會(huì)帶上對(duì)該超限使用資源的禁用命 令,禁用命令中包含該客戶端對(duì)超限使用資源的禁用時(shí)長(zhǎng),客戶端收到禁用命令后,對(duì)于超限使用的資源,將當(dāng)前時(shí)間加上禁用時(shí)長(zhǎng)作為禁用到的時(shí)刻。
圖5是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制方法的流程示意圖,所述方法位于客戶端和服務(wù)器執(zhí)行,如圖5所示,包括:
501、客戶端向服務(wù)器匯報(bào)網(wǎng)絡(luò)資源使用信息的消息。
其中,本實(shí)施例中,客戶端是指分布式系統(tǒng)中的多個(gè)客戶端中的其中一個(gè)客戶端。網(wǎng)絡(luò)資源使用信息中包括客戶端的標(biāo)識(shí)信息,網(wǎng)絡(luò)資源的標(biāo)識(shí)信息以及網(wǎng)絡(luò)資源的使用額度等信息。
客戶端匯報(bào)到服務(wù)器的有關(guān)網(wǎng)絡(luò)資源使用信息的數(shù)據(jù)包的數(shù)據(jù)結(jié)構(gòu)如下:
struct ResourceUsage
{
int32_t resourceID;表示網(wǎng)絡(luò)資源編號(hào);
uint64_t resourceUsage;表示資源在匯報(bào)時(shí)間間隔t內(nèi)的使用情況;
uint64_t dynamicQuota;表示動(dòng)態(tài)使用限額;
};
struct RequestPackage
{
List<ResourceUsage>resourceUsages;表示網(wǎng)絡(luò)資源使用情況列表;
string agentIP;表示客戶端IP地址;
int64_t agentProcessID;表示客戶端進(jìn)程;
};
其中,ResourceUsage用于表示單個(gè)網(wǎng)絡(luò)資源的使用情況信息,不包含匯報(bào)間隔的起始和終止時(shí)刻,默認(rèn)匯報(bào)到服務(wù)器的數(shù)據(jù)落在服務(wù)器的當(dāng)前統(tǒng)計(jì)窗口中。
其中,ResourceUsage中匯報(bào)給服務(wù)器的dynamicQuota客戶端上一次收 到的服務(wù)器計(jì)算的dynamicQuota。
RequestPackage用于表示多個(gè)網(wǎng)絡(luò)資源使用情況信息的匯總;
例如當(dāng)同一臺(tái)機(jī)器上可能會(huì)有多個(gè)客戶端進(jìn)程,因此,RequestPackage中agentIP和agentProcessID用于標(biāo)識(shí)匯報(bào)的客戶端的信息。
需要說(shuō)明的是,客戶端向服務(wù)器上報(bào)網(wǎng)絡(luò)資源使用信息時(shí),網(wǎng)絡(luò)資源會(huì)被按照一定的規(guī)則劃分,落在同一個(gè)區(qū)間內(nèi)的資源會(huì)被打在同一個(gè)數(shù)據(jù)包中,所有的客戶端、服務(wù)器共用同一個(gè)劃分規(guī)則,比如按照資源標(biāo)識(shí)(resourceID)進(jìn)行數(shù)據(jù)包的劃分,例如resourceID為[0,99]打成一個(gè)數(shù)據(jù)包,resourceID為[100,199]的打成另一個(gè)數(shù)據(jù)包。如果客戶端內(nèi)被打在同一個(gè)數(shù)據(jù)包中的資源在打包時(shí)間間隔內(nèi)都沒(méi)有被使用,客戶端會(huì)將落在數(shù)據(jù)包中的第一個(gè)網(wǎng)絡(luò)資源使用信息打包,這時(shí)資源使用額度為0。
502、服務(wù)器根據(jù)客戶端匯報(bào)的網(wǎng)絡(luò)資源使用信息,計(jì)算該客戶端當(dāng)前可以使用網(wǎng)絡(luò)資源的的動(dòng)態(tài)使用限額。
具體地,服務(wù)器根據(jù)上述客戶端匯報(bào)的數(shù)據(jù)包中的客戶端的標(biāo)識(shí)信息(agentProcessID),統(tǒng)計(jì)一定時(shí)間內(nèi)使用某一網(wǎng)絡(luò)資源(例如資源a、b、c、d中的任一資源)的活躍的客戶端數(shù)量,并據(jù)此計(jì)算客戶端當(dāng)前可以使用的網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額(dynamicQuota)。
服務(wù)器計(jì)算dynamicQuota的計(jì)算公式如下:
DefaultQuota表示客戶端預(yù)設(shè)的網(wǎng)絡(luò)資源默認(rèn)的使用限額,aliveAgentCount表示一段時(shí)間內(nèi)活躍的客戶端數(shù)量,ImpactFactor是預(yù)設(shè)的常量,通常用于放大計(jì)算結(jié)果。
503、服務(wù)器向客戶端返回網(wǎng)絡(luò)資源使用的響應(yīng)消息。
具體地,例如,服務(wù)器響應(yīng)RequestPackage的消息中,當(dāng)發(fā)現(xiàn)客戶端匯報(bào)上來(lái)的dynamicQuota和服務(wù)器計(jì)算出的dynamicQuot不一致時(shí),就會(huì)將服 務(wù)器計(jì)算出的dynamicQuota發(fā)回給客戶端。
又例如,服務(wù)器響應(yīng)RequestPackage的消息中,當(dāng)發(fā)現(xiàn)客戶端在間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于計(jì)算出的dynamicQuot,則向客戶端發(fā)送該客戶端禁止使用該網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);
舉例來(lái)說(shuō),服務(wù)器的響應(yīng)消息的數(shù)據(jù)結(jié)構(gòu)如下:
struct ResourceResponse
{
int32_t resourceID;表示網(wǎng)絡(luò)資源編號(hào);
uint64_t disableDuration;表示網(wǎng)絡(luò)資源將被禁用的時(shí)間長(zhǎng)度,即表
示客戶端禁止使用該網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);
uint64_t dynamicQuota;表示服務(wù)器最新計(jì)算的動(dòng)態(tài)使用限額;
};
struct ResponsePackage
{
List<ResourceResponse>responseList;表示響應(yīng)列表
};
對(duì)應(yīng)地,步驟503之后,包括步驟503和/或504:
504、客戶端根據(jù)服務(wù)器發(fā)送的響應(yīng)消息中包括的禁用時(shí)長(zhǎng),將當(dāng)前時(shí)間加上禁用時(shí)長(zhǎng)作為資源禁用到的時(shí)刻。
505、客戶端根據(jù)服務(wù)器發(fā)送的響應(yīng)消息中包括的動(dòng)態(tài)使用限額,更新本地的動(dòng)態(tài)使用限額。
需要說(shuō)明的是,dynamicQuota的作用是當(dāng)服務(wù)器崩潰,客戶端會(huì)將服務(wù)器發(fā)送的dynamicQuota作為客戶端臨時(shí)的資源使用限額。使用dynamicQuota的好處是一方面防止用戶在服務(wù)器崩潰時(shí)濫用資源,另一方面極大程度上保證用戶的使用體驗(yàn)。
實(shí)際的應(yīng)用場(chǎng)景中,客戶端往往是前端機(jī),和服務(wù)器在同一個(gè)集群,而 資源限額的控制都是分鐘級(jí)別的,因此網(wǎng)絡(luò)延遲可以忽略。使用禁用時(shí)長(zhǎng)(disableDuration)的目的是為了防止客戶端和服務(wù)器時(shí)間不同步導(dǎo)致的控制不準(zhǔn)確。
本發(fā)明實(shí)施例中,服務(wù)器根據(jù)收到的客戶端匯報(bào)上來(lái)的數(shù)據(jù),會(huì)首先更新活躍的客戶端數(shù)量,活躍客戶端的數(shù)量統(tǒng)計(jì)是基于一定時(shí)間內(nèi)不同的客戶端標(biāo)識(shí)信息(如agentIP,agentProcessID),接著服務(wù)器更新網(wǎng)絡(luò)資源的使用情況,計(jì)算每個(gè)客戶端使用各個(gè)網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額(dynamicQuota),如果有客戶端使用網(wǎng)絡(luò)資源超過(guò)動(dòng)態(tài)使用限額,則計(jì)算該客戶端禁止使用該網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),除此以外,如果發(fā)現(xiàn)計(jì)算的某一個(gè)客戶端的動(dòng)態(tài)使用限額和該客戶端匯報(bào)上來(lái)的動(dòng)態(tài)使用限額不一致,會(huì)將計(jì)算的動(dòng)態(tài)使用限額(dynamicQuota)和禁用時(shí)長(zhǎng)信息一起返回給該客戶端。
綜上所述,本發(fā)明實(shí)施例通過(guò)返回禁用時(shí)長(zhǎng)以及默認(rèn)匯報(bào)上來(lái)的數(shù)據(jù)落在服務(wù)器當(dāng)前統(tǒng)計(jì)窗口的方法,解決了服務(wù)器和客戶端時(shí)間不同步導(dǎo)致使用限額控制不精確的問(wèn)題,同事實(shí)時(shí)動(dòng)態(tài)地計(jì)算動(dòng)態(tài)使用限額(dynamicQuota)并將該計(jì)算的動(dòng)態(tài)使用限額返回給客戶端,解決了服務(wù)器崩潰會(huì)導(dǎo)致的資源濫用的問(wèn)題。
圖6是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制裝置的結(jié)構(gòu)示意圖,位于客戶端,如圖6所示,包括:
統(tǒng)計(jì)模塊61,用于統(tǒng)計(jì)當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度;
發(fā)送模塊62,用于在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向服務(wù)器發(fā)送所述統(tǒng)計(jì)模塊統(tǒng)計(jì)的客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;以使所述服務(wù)器確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,若確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額,則向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);
接收模塊63,用于接收所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);
禁用模塊64,用于根據(jù)所述禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始, 在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源。
可選地,發(fā)送模塊61,還用于在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向所述服務(wù)器發(fā)送所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;以使所述服務(wù)器在確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額;
接收模塊63,還用于接收服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額;
所述裝置還包括:
更新模塊65,用于根據(jù)所述接收模塊63接收的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
可選地,所述的裝置還包括:
設(shè)置模塊66,用于在當(dāng)前間隔時(shí)間t結(jié)束時(shí),統(tǒng)計(jì)模塊61統(tǒng)計(jì)當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度之后,將使用網(wǎng)絡(luò)資源的使用額度設(shè)置為零。
可選地,禁用模塊64,具體用于根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),將接收到所述禁用時(shí)長(zhǎng)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止起始時(shí)間,將所述禁止起始時(shí)間開(kāi)始在所述禁用時(shí)長(zhǎng)結(jié)束時(shí)的時(shí)間設(shè)置為禁止使用所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間。
可選地,所述的裝置還包括:
判斷模塊67,用于在下一次間隔時(shí)間t內(nèi)使用所述網(wǎng)絡(luò)資源時(shí),若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之后,則使用所述網(wǎng)絡(luò)資源,并統(tǒng)計(jì)使用所述網(wǎng)絡(luò)資源的使用額度;若確定當(dāng)前時(shí)間在所述網(wǎng)絡(luò)資源的禁止結(jié)束時(shí)間之前,則禁止使用所述網(wǎng)絡(luò)資源。
圖6所示實(shí)施例所述的裝置可以用于執(zhí)行圖1和圖2所示實(shí)施例所述的方法,其實(shí)現(xiàn)原理和技術(shù)效果不再贅述。
圖7是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制裝置的結(jié)構(gòu)示意 圖,位于服務(wù)器,如圖7所示,包括:
接收模塊71,用于接收客戶端發(fā)送的所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;
確定模塊72,用于確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
判斷模塊73,用于確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度是否大于所述第一動(dòng)態(tài)使用限額;
發(fā)送模塊74,用于在所述判斷模塊73確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額時(shí),向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始,在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源。
可選地,所述確定模塊72具體用于:
根據(jù)當(dāng)前時(shí)間接收的所述客戶端和其他客戶端發(fā)送的使用所述網(wǎng)絡(luò)資源的使用額度的信息,所述信息中攜帶有所述客戶端和所述其他客戶端的標(biāo)識(shí)信息,確定當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量;
根據(jù)所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,以及當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額。
可選地,所述確定模塊72具體用于:
根據(jù)計(jì)算公式:確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
其中,DefaultQuota表示所述客戶端預(yù)設(shè)的使用所述網(wǎng)絡(luò)資源的默認(rèn)限額,aliveAgentCount表示當(dāng)前使用所述網(wǎng)絡(luò)資源的客戶端數(shù)量,ImpactFactor是預(yù)設(shè)的常量。
可選地,所述接收模塊71,還用于接收所述客戶端在當(dāng)前間隔時(shí)間t結(jié) 束時(shí)向所述服務(wù)器發(fā)送的所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;
所述判斷模塊73,還用于確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額是否一致;
所述發(fā)送模塊74,還用于在所述判斷模塊確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額;以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
圖7所示實(shí)施例所述的裝置可以用于執(zhí)行圖3和圖4所示實(shí)施例所述的方法,其實(shí)現(xiàn)原理和技術(shù)效果不再贅述。
圖8是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)資源的使用限額的控制系統(tǒng)的結(jié)構(gòu)示意圖,如圖8所示,包括:客戶端81和服務(wù)器82;
所述客戶端81包括如圖6所示實(shí)施例所述的網(wǎng)絡(luò)資源的使用限額的控制裝置;
所述服務(wù)器82包括如圖6所示實(shí)施例所述的網(wǎng)絡(luò)資源的使用限額的控制裝置。
圖8所示實(shí)施例所述的系統(tǒng)可以用于執(zhí)行圖1至圖5任一個(gè)實(shí)施例所述的方法,其實(shí)現(xiàn)原理和技術(shù)效果不再贅述。
在上述的實(shí)施例中,提供了一種網(wǎng)絡(luò)資源的使用限額的控制方法,以及與之相對(duì)應(yīng)的一種網(wǎng)絡(luò)資源的使用限額的控制裝置,本申請(qǐng)還提供一種用于實(shí)現(xiàn)上述網(wǎng)絡(luò)資源的使用限額的控制方法的電子設(shè)備,所述電子設(shè)備例如可以作為客戶端或服務(wù)器實(shí)現(xiàn)上述方法實(shí)施例中的網(wǎng)絡(luò)資源的使用限額的控制方法。
圖9為本發(fā)明實(shí)施例提供的一種電子設(shè)備示意圖。所述電子設(shè)備實(shí)施例描述得比較簡(jiǎn)單,相關(guān)的部分請(qǐng)參見(jiàn)上述方法實(shí)施例的對(duì)應(yīng)說(shuō)明即可。下述描述的所述電子設(shè)備實(shí)施例僅僅是示意性的。如圖9所示,本發(fā)明實(shí)施例所述的電子設(shè)備包括:存儲(chǔ)器91和處理器92;
其中,存儲(chǔ)器91中存儲(chǔ)有實(shí)現(xiàn)上述網(wǎng)絡(luò)資源的使用限額的控制方法的指令;
可選地,當(dāng)所述電子設(shè)備作為客戶端時(shí),所述處理器92調(diào)用存儲(chǔ)器91中的執(zhí)行令可以執(zhí)行如下步驟:
統(tǒng)計(jì)當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度;在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向服務(wù)器發(fā)送客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;以使所述服務(wù)器確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額,若確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額,則向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);
接收所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),根據(jù)所述禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始,在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源;
進(jìn)一步地,所述處理器92還可以執(zhí)行如下步驟:
在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向所述服務(wù)器發(fā)送所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;以使所述服務(wù)器在確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額;
根據(jù)所述服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
可選地,當(dāng)所述電子設(shè)備作為服務(wù)器時(shí),所述處理器92調(diào)用存儲(chǔ)器91中的執(zhí)行令可以執(zhí)行如下步驟:
接收客戶端發(fā)送的所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度的信息;
確定當(dāng)前時(shí)間所述客戶端使用網(wǎng)絡(luò)資源的第一動(dòng)態(tài)使用限額;
若確定所述客戶端在當(dāng)前間隔時(shí)間t內(nèi)使用網(wǎng)絡(luò)資源的使用額度大于所述第一動(dòng)態(tài)使用限額,則向所述客戶端發(fā)送所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng);以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述網(wǎng)絡(luò)資源的禁用時(shí)長(zhǎng),從接收所述禁用時(shí)長(zhǎng)的時(shí)刻開(kāi)始,在所述禁用時(shí)長(zhǎng)內(nèi)禁止使用所述網(wǎng)絡(luò)資源。
進(jìn)一步地,所述處理器92還可以執(zhí)行如下步驟:
接收所述客戶端在當(dāng)前間隔時(shí)間t結(jié)束時(shí)向所述服務(wù)器發(fā)送的所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額,所述第二動(dòng)態(tài)使用限額為所述服務(wù)器在上一次間隔時(shí)間t結(jié)束時(shí)計(jì)算的所述客戶端使用網(wǎng)絡(luò)資源的動(dòng)態(tài)使用限額;
在確定所述第二動(dòng)態(tài)使用限額與所述第一動(dòng)態(tài)使用限額不一致時(shí),向所述客戶端發(fā)送所述第一動(dòng)態(tài)使用限額;以使所述客戶端根據(jù)所述服務(wù)器發(fā)送的所述第一動(dòng)態(tài)使用限額,將所述客戶端使用網(wǎng)絡(luò)資源的第二動(dòng)態(tài)使用限額更新為所述第一動(dòng)態(tài)使用限額。
圖9所示實(shí)施例所述的系統(tǒng)可以用于執(zhí)行圖1至圖5任一個(gè)實(shí)施例所述的方法,其實(shí)現(xiàn)原理和技術(shù)效果不再贅述。
上述說(shuō)明示出并描述了本發(fā)明的若干優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對(duì)其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過(guò)上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí)進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。