本發(fā)明的實(shí)施方式涉及網(wǎng)絡(luò)訪問技術(shù)領(lǐng)域,更具體地,本發(fā)明的實(shí)施方式涉及一種網(wǎng)絡(luò)資源的請(qǐng)求量控制方法和裝置。
背景技術(shù):
本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實(shí)施方式提供背景或上下文。此處的描述不因?yàn)榘ㄔ诒静糠种芯统姓J(rèn)是現(xiàn)有技術(shù)。
服務(wù)器集群技術(shù)是指將很多服務(wù)器集中起來一起進(jìn)行同一種服務(wù),在客戶端看來就像是只有一個(gè)服務(wù)器。集群可以利用多個(gè)計(jì)算機(jī)進(jìn)行并行計(jì)算從而獲得很高的計(jì)算速度,也可以用多個(gè)計(jì)算機(jī)做備份,從而使得任何一個(gè)計(jì)算機(jī)故障整個(gè)系統(tǒng)還可以正常運(yùn)行。由于服務(wù)器集群技術(shù)在業(yè)務(wù)處理上相比于單個(gè)服務(wù)器具有不可比擬的優(yōu)勢(shì),因此,服務(wù)器集群技術(shù)被越來越多的主流網(wǎng)站特別是電子商務(wù)網(wǎng)站用于提供業(yè)務(wù)處理服務(wù)。
目前,大多數(shù)網(wǎng)站服務(wù)器在面臨大量用戶并發(fā)訪問時(shí),通過對(duì)用戶的訪問接入進(jìn)行流量限制的方法避免服務(wù)器負(fù)載過高可能導(dǎo)致的宕機(jī)等問題?,F(xiàn)有的流量訪問控制方案通常是憑借配置人員的經(jīng)驗(yàn)設(shè)置流控閾值,但是如果流控閾值設(shè)置過低,則會(huì)有資源浪費(fèi);如果流控閾值設(shè)置過高,當(dāng)用戶訪問流量突增時(shí),后臺(tái)服務(wù)器會(huì)出現(xiàn)系統(tǒng)負(fù)載過高,嚴(yán)重時(shí)甚至?xí)斐煞?wù)器宕機(jī),給用戶帶來影響。例如,電子商務(wù)網(wǎng)站中用戶在對(duì)某個(gè)熱門產(chǎn)品進(jìn)行秒殺活動(dòng)時(shí),如果用戶訪問接入量超出了服務(wù)器的流控閾值,則會(huì)認(rèn)為服務(wù)器負(fù)載較高,拒絕用戶請(qǐng)求。
技術(shù)實(shí)現(xiàn)要素:
在現(xiàn)有的針對(duì)單個(gè)服務(wù)器進(jìn)行流控的技術(shù)方案中,流控閾值可以存儲(chǔ)于需要進(jìn)行流量訪問控制的業(yè)務(wù)服務(wù)器本地,業(yè)務(wù)服務(wù)器在本地的業(yè)務(wù)處理邏輯中、根據(jù)存儲(chǔ)的流控閾值進(jìn)行訪問流量控制,而對(duì)于業(yè)務(wù)服務(wù)器集群來說,其通常由多個(gè)業(yè)務(wù)服務(wù)器組成,集群中的某一服務(wù)器流量超過流控閾值,并不能說明整個(gè)服務(wù)器集群負(fù)載過高,如果因此而拒絕用戶訪問,則會(huì)降低服務(wù)器集群的服務(wù)質(zhì)量,影響用戶體驗(yàn),因此,現(xiàn)有的流控方案無法適用于服務(wù)器集群的流控;此外,根據(jù)現(xiàn)有的流控實(shí)現(xiàn)方案,其通過在業(yè)務(wù)處理邏輯中去判斷當(dāng)前訪問是否超過流控閾值,如果超過則拒絕業(yè)務(wù)處理邏輯執(zhí)行,需要修改業(yè)務(wù)處理邏輯,這種實(shí)現(xiàn)方案對(duì)業(yè)務(wù)處理邏輯侵入性較大。因此,針對(duì)服務(wù)器集群進(jìn)行業(yè)務(wù)處理的情況,發(fā)明人發(fā)現(xiàn),可以將流控閾值和流量控制邏輯存儲(chǔ)在獨(dú)立于業(yè)務(wù)服務(wù)器集群的另外一個(gè)流控服務(wù)器上、該流控服務(wù)器用來針對(duì)業(yè)務(wù)服務(wù)器集群完成流量控制功能,由此可以克服現(xiàn)有的針對(duì)單個(gè)服務(wù)器進(jìn)行流控的技術(shù)方案應(yīng)用于服務(wù)器集群流量控制時(shí)產(chǎn)生的問題;但是,技術(shù)發(fā)明人在項(xiàng)目開發(fā)中發(fā)現(xiàn),采取上述處理方式,又會(huì)面臨一個(gè)問題,即業(yè)務(wù)服務(wù)器集群在處理完業(yè)務(wù)請(qǐng)求后,需要通知流控服務(wù)器其業(yè)務(wù)請(qǐng)求處理完畢、占用的資源已經(jīng)釋放,而在網(wǎng)絡(luò)通信中,可能會(huì)存在一些原因?qū)е峦ㄖ畔魉褪?,這樣流控服務(wù)器處維護(hù)的資源占用信息可能會(huì)不準(zhǔn)確,由此造成流量控制不準(zhǔn)確等一系列問題、影響針對(duì)服務(wù)器集群的流量控制功能、也會(huì)影響服務(wù)器集群的服務(wù)質(zhì)量。
為此,非常需要一種改進(jìn)的網(wǎng)絡(luò)資源的請(qǐng)求量控制方法,以針對(duì)服務(wù)器集群提供流量訪問控制,保證服務(wù)器集群的服務(wù)質(zhì)量。
在本上下文中,本發(fā)明的實(shí)施方式期望提供一種網(wǎng)絡(luò)資源的請(qǐng)求量控制方法和裝置。
在本發(fā)明實(shí)施方式的第一方面中,提供了一種網(wǎng)絡(luò)資源的請(qǐng)求量控制方法,為可用的網(wǎng)絡(luò)資源設(shè)置第一數(shù)值參數(shù)和第二數(shù)值參數(shù),所述第一數(shù)值參數(shù)和所述第二數(shù)值參數(shù)的初始值根據(jù)預(yù)設(shè)的流控閾值確定;以及
所述方法,包括:
接收網(wǎng)絡(luò)資源請(qǐng)求;
對(duì)當(dāng)前應(yīng)操作數(shù)值參數(shù)進(jìn)行減1操作,其中,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)為根據(jù)預(yù)設(shè)的資源切換周期確定出的,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和/或所述第二數(shù)值參數(shù);
獲取網(wǎng)絡(luò)資源以對(duì)所述網(wǎng)資源請(qǐng)求進(jìn)行處理。
在本發(fā)明實(shí)施方式的第二方面中,提供了一種網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置,包括:
配置單元,用于為可用的網(wǎng)絡(luò)資源設(shè)置第一數(shù)值參數(shù)和第二數(shù)值參數(shù),所述第一數(shù)值參數(shù)和所述第二數(shù)值參數(shù)的初始值根據(jù)預(yù)設(shè)的流控閾值確定;
接收單元,用于接收網(wǎng)絡(luò)資源請(qǐng)求;
操作單元,用于對(duì)當(dāng)前應(yīng)操作數(shù)值參數(shù)進(jìn)行減1操作,其中,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)為根據(jù)預(yù)設(shè)的資源切換周期確定出的,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和/或所述第二數(shù)值參數(shù);
獲取單元,用于獲取網(wǎng)絡(luò)資源以對(duì)所述網(wǎng)資源請(qǐng)求進(jìn)行處理。
在本發(fā)明實(shí)施方式的第三方面中,提供了一種網(wǎng)絡(luò)資源的請(qǐng)求量控制方法,例如,可以包括存儲(chǔ)器和處理器,其中,處理器可以用于讀取存儲(chǔ)器中的程序,執(zhí)行下列過程:接收網(wǎng)絡(luò)資源請(qǐng)求;對(duì)當(dāng)前應(yīng)操作數(shù)值參數(shù)進(jìn)行減1操作,其中,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)為根據(jù)預(yù)設(shè)的資源切換周期確定出的,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和/或所述第二數(shù)值參數(shù);獲取網(wǎng)絡(luò)資源以對(duì)所述網(wǎng)資源請(qǐng)求進(jìn)行處理。
在本發(fā)明實(shí)施方式的第四方面中,提供了一種程序產(chǎn)品,其包括程序代碼,當(dāng)所述程序產(chǎn)品運(yùn)行時(shí),所述程序代碼用于執(zhí)行以下過程:接收網(wǎng)絡(luò)資源請(qǐng)求;對(duì)當(dāng)前應(yīng)操作數(shù)值參數(shù)進(jìn)行減1操作,其中,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)為根據(jù)預(yù)設(shè)的資源切換周期確定出的,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和/或所述第二數(shù)值參數(shù);獲取網(wǎng)絡(luò)資源以對(duì)所述網(wǎng)資源請(qǐng)求進(jìn)行處理。
根據(jù)本發(fā)明實(shí)施方式的網(wǎng)絡(luò)資源的請(qǐng)求量控制方法和裝置,通過在專門的流控裝置為服務(wù)器集群進(jìn)行流量控制,并且為可用的網(wǎng)絡(luò)資源設(shè)置兩個(gè)數(shù)值參數(shù),并根據(jù)預(yù)設(shè)的資源切換周期對(duì)兩個(gè)數(shù)值參數(shù)輪流進(jìn)行操作,解決了針對(duì)服務(wù)器集群的流量控制過程中,由于網(wǎng)絡(luò)傳輸故障等導(dǎo)致的資源歸還失敗使得實(shí)際可用網(wǎng)絡(luò)資源減少的問題,提高了服務(wù)器集群的服務(wù)質(zhì)量,為用戶帶來了更好的體驗(yàn)。
附圖說明
通過參考附圖閱讀下文的詳細(xì)描述,本發(fā)明示例性實(shí)施方式的上述以及其他目的、特征和優(yōu)點(diǎn)將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實(shí)施方式,其中:
圖1示意性地示出了根據(jù)本發(fā)明實(shí)施方式的應(yīng)用場(chǎng)景示意圖;
圖2示意性地示出了根據(jù)本發(fā)明實(shí)施方式的網(wǎng)絡(luò)資源的請(qǐng)求量控制方法實(shí)施流程示意圖;
圖3示意性地示出了根據(jù)本發(fā)明實(shí)施方式的資源切換周期示意圖;
圖4示意性地示出了根據(jù)本發(fā)明另一實(shí)施例的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置結(jié)構(gòu)示意圖;
圖5示意性地示出了根據(jù)本發(fā)明又一實(shí)施例的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置結(jié)構(gòu)示意圖;
圖6示意性地示出了根據(jù)本發(fā)明再一實(shí)施例的網(wǎng)絡(luò)資源的請(qǐng)求量奇控制的程序產(chǎn)品示意圖;
在附圖中,相同或?qū)?yīng)的標(biāo)號(hào)表示相同或?qū)?yīng)的部分。
具體實(shí)施方式
下面將參考若干示例性實(shí)施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
本領(lǐng)域技術(shù)人員知道,本發(fā)明的實(shí)施方式可以實(shí)現(xiàn)為一種系統(tǒng)、裝置、設(shè)備、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本公開可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
根據(jù)本發(fā)明的實(shí)施方式,提出了一種網(wǎng)絡(luò)資源的訪問量控制的方法和裝置。
在本文中,需要理解的是,所涉及的術(shù)語(yǔ)中:
流控:系統(tǒng)訪問量控制,避免由于瞬時(shí)流量過大導(dǎo)致的系統(tǒng)響應(yīng)慢、宕機(jī)等問題。
流控閾值:系統(tǒng)訪問量上限值,超過該值之后的訪問會(huì)被拒絕。
單機(jī)流控:針對(duì)單臺(tái)服務(wù)器的流量控制,當(dāng)單臺(tái)服務(wù)器訪問流量超過閾值之后,后續(xù)訪問會(huì)被拒絕。
集群流控:針對(duì)某個(gè)服務(wù)器集群的流量控制,當(dāng)整個(gè)服務(wù)器集群訪問流量超過閾值之后,后續(xù)的訪問會(huì)被拒絕。
動(dòng)態(tài)流控:流控閾值可以根據(jù)需要實(shí)時(shí)做調(diào)整。
資源池:一種抽象的概念,假設(shè)針對(duì)某一類請(qǐng)求流控最大限額的閾值為100,那么可以將其抽象為一個(gè)擁有100個(gè)資源的資源池,一個(gè)請(qǐng)求開始先從資源池獲取一個(gè)資源,請(qǐng)求結(jié)束再歸還1個(gè)資源,如果資源不足則拒絕請(qǐng)求。
資源虧損:資源池中資源總量小于初始資源值則稱之為資源虧損(例如,假設(shè)一開始有100個(gè)資源,被請(qǐng)求了1個(gè),還剩99個(gè),被請(qǐng)求的1個(gè)在請(qǐng)求結(jié)束后,本應(yīng)該歸還這1個(gè)資源,但因?yàn)榫W(wǎng)絡(luò)故障原因,歸還信號(hào)沒有順利到后臺(tái)服務(wù)器側(cè),則后臺(tái)服務(wù)器側(cè)會(huì)認(rèn)為當(dāng)前可用資源是有99個(gè),小于初始設(shè)定值100,此時(shí)即為資源虧損)。
資源超額:資源池中資源總量大于初始資源值則稱之為資源超額(通過補(bǔ)償機(jī)制,在發(fā)生資源虧損時(shí),將資源的數(shù)量重置為最大限額閾值。而有可能該資源虧損并不是由于網(wǎng)絡(luò)故障原因引起的,而是的確有請(qǐng)求還在使用資源、還沒有歸還資源,在將資源的數(shù)量重置為最大限額閾值后,如果該請(qǐng)求歸還資源了,則資源池中的資源總量可能會(huì)大于初始資源值,這時(shí)為資源超額)。
此外,附圖中的任何元素?cái)?shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
下面參考本發(fā)明的若干代表性實(shí)施方式,詳細(xì)闡釋本發(fā)明的原理和精神。
發(fā)明概述
本發(fā)明人發(fā)現(xiàn),現(xiàn)有的針對(duì)單個(gè)業(yè)務(wù)服務(wù)器的流控方案,流控邏輯和業(yè)務(wù)邏輯均由業(yè)務(wù)服務(wù)器執(zhí)行,業(yè)務(wù)服務(wù)器需要在業(yè)務(wù)處理過程中進(jìn)行流量控制,這種流控方式對(duì)業(yè)務(wù)邏輯侵入性較大,而如果將業(yè)務(wù)邏輯和流控邏輯分離,業(yè)務(wù)服務(wù)器在處理完業(yè)務(wù)請(qǐng)求釋放占用的網(wǎng)絡(luò)資源后,需要向流控服務(wù)器歸還網(wǎng)絡(luò)資源以便流控服務(wù)器修改網(wǎng)絡(luò)資源占用情況,但是實(shí)際應(yīng)用中,不可避免的存在以下情況:由于網(wǎng)絡(luò)通信故障等原因?qū)е職w還信息傳送失敗,這樣,流控服務(wù)器存儲(chǔ)的網(wǎng)絡(luò)資源情況與實(shí)際不符,使得實(shí)際可用的網(wǎng)絡(luò)資源減少,降低了業(yè)務(wù)服務(wù)器的服務(wù)質(zhì)量。
為了解決上述問題,本發(fā)明中,將業(yè)務(wù)處理邏輯和流控邏輯分離,設(shè)置專門的流控服務(wù)器對(duì)業(yè)務(wù)服務(wù)器集群進(jìn)行流量控制,業(yè)務(wù)服務(wù)器集群中的任一業(yè)務(wù)服務(wù)器在接收到業(yè)務(wù)請(qǐng)求后,向流控服務(wù)器請(qǐng)求網(wǎng)絡(luò)資源以進(jìn)行業(yè)務(wù)處理,而在業(yè)務(wù)處理完成后,向流控服務(wù)器歸還網(wǎng)絡(luò)資源,流控服務(wù)器根據(jù)業(yè)務(wù)服務(wù)器請(qǐng)求資源或者歸還資源的情況維護(hù)自身存儲(chǔ)資源占用信息,為了避免由于業(yè)務(wù)服務(wù)器與流控服務(wù)器之間的通信故障導(dǎo)致的資源歸還失敗,使得流控服務(wù)器維護(hù)的資源占用信息不準(zhǔn)確的情況,本發(fā)明實(shí)施例中,為可用的網(wǎng)絡(luò)資源設(shè)置兩個(gè)數(shù)值參數(shù),根據(jù)預(yù)設(shè)的資源切換周期輪流對(duì)兩個(gè)數(shù)值參數(shù)進(jìn)行操作,這樣,在對(duì)一個(gè)數(shù)值參數(shù)進(jìn)行操作時(shí),可以對(duì)另一個(gè)數(shù)值參數(shù)進(jìn)行校驗(yàn),如果確定發(fā)生資源虧損則進(jìn)行補(bǔ)充,以保證可用資源數(shù)量;如果發(fā)生資源超額則恢復(fù)為初始值,以避免接入訪問量超過流控閾值,導(dǎo)致系統(tǒng)負(fù)載過高。
在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實(shí)施方式。
應(yīng)用場(chǎng)景總覽
首先參考圖1,其為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制方法的應(yīng)用場(chǎng)景示意圖。流控服務(wù)器11執(zhí)行流控邏輯,業(yè)務(wù)服務(wù)器集群12執(zhí)行業(yè)務(wù)處理邏輯。流控服務(wù)器根據(jù)預(yù)先配置的流控閾值對(duì)業(yè)務(wù)服務(wù)器的訪問流量進(jìn)行控制,本發(fā)明實(shí)施例中,一個(gè)流控閾值對(duì)應(yīng)兩個(gè)數(shù)值參數(shù),分別為第一數(shù)值參數(shù)和第二數(shù)值參數(shù),其中,第一數(shù)值參數(shù)和第二數(shù)值參數(shù)的初始值可以根據(jù)流控閾值確定,例如,第一數(shù)值參數(shù)和第二數(shù)值參數(shù)的初始值可以與流控閾值相同,即如果流控閾值為100,則第一數(shù)值參數(shù)和第二數(shù)值參數(shù)的初始值也為100。
流控服務(wù)器11根據(jù)預(yù)設(shè)的資源切換算法確定當(dāng)前應(yīng)操作的數(shù)值參數(shù),業(yè)務(wù)服務(wù)器集群12中的任一業(yè)務(wù)服務(wù)器在接收到業(yè)務(wù)處理請(qǐng)求時(shí),向流控服務(wù)器11請(qǐng)求網(wǎng)絡(luò)資源以對(duì)業(yè)務(wù)請(qǐng)求進(jìn)行處理。流控服務(wù)器11在接收到業(yè)務(wù)處理服務(wù)器發(fā)送的網(wǎng)絡(luò)資源獲取請(qǐng)求后,對(duì)當(dāng)前應(yīng)操作數(shù)值參數(shù)減1,以獲取網(wǎng)絡(luò)資源對(duì)網(wǎng)資源請(qǐng)求進(jìn)行處理。
示例性方法
下面結(jié)合圖1的應(yīng)用場(chǎng)景,參考圖2和圖3來描述根據(jù)本發(fā)明示例性實(shí)施方式的網(wǎng)絡(luò)資源的請(qǐng)求量控制的方法。需要注意的是,上述應(yīng)用場(chǎng)景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實(shí)施方式在此方面不受任何限制。相反,本發(fā)明的實(shí)施方式可以應(yīng)用于適用的任何場(chǎng)景。
如2所示,其為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制方法的實(shí)施流程示意圖,可以包括:
S21、接收網(wǎng)絡(luò)資源請(qǐng)求。
S22、對(duì)當(dāng)前應(yīng)操作數(shù)值參數(shù)進(jìn)行減1操作。
其中,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)為根據(jù)預(yù)設(shè)的資源切換周期確定出的,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和/或所述第二數(shù)值參數(shù)。
S23、獲取網(wǎng)絡(luò)資源以對(duì)接收到的網(wǎng)資源請(qǐng)求進(jìn)行處理。
業(yè)務(wù)服務(wù)器集群12中的任一服務(wù)器在接收到業(yè)務(wù)處理請(qǐng)求后,向流控服務(wù)器11發(fā)送網(wǎng)絡(luò)資源獲取請(qǐng)求以對(duì)業(yè)務(wù)處理請(qǐng)求進(jìn)行處理,流控服務(wù)器11在接收到網(wǎng)絡(luò)資源請(qǐng)求后,對(duì)當(dāng)前應(yīng)操作參數(shù)進(jìn)行減1操作。其中,當(dāng)前應(yīng)操作參數(shù)為根據(jù)預(yù)設(shè)的網(wǎng)絡(luò)資源切換周期確定出的。
需要說明的是,上述步驟S22和步驟S23沒有一定的先后執(zhí)行順序,步驟S22可以和步驟S23同時(shí)執(zhí)行,也可以在當(dāng)前應(yīng)操作數(shù)值參數(shù)不為0時(shí),先執(zhí)行步驟S23,在執(zhí)行步驟S22,這些都是等同的實(shí)施方式,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限定。
具體實(shí)施時(shí),當(dāng)前應(yīng)操作參數(shù)可以為接收到網(wǎng)資源請(qǐng)求后實(shí)時(shí)確定出的,也可以為預(yù)先確定出的,以下分別介紹之:
第一種方式、實(shí)時(shí)確定當(dāng)前應(yīng)操作的數(shù)值參數(shù)
網(wǎng)絡(luò)資源切換周期包括第一時(shí)間區(qū)間和第二時(shí)間區(qū)間,流控服務(wù)器在接收到網(wǎng)絡(luò)資源請(qǐng)求后,根據(jù)當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間所屬的時(shí)間區(qū)間,確定當(dāng)前應(yīng)操作的數(shù)值參數(shù)。
具體實(shí)施時(shí),如果當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第一時(shí)間區(qū)間,則確定當(dāng)前應(yīng)操作數(shù)值參數(shù)為第一數(shù)值參數(shù),如果接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第二時(shí)間區(qū)間,則確定當(dāng)前應(yīng)操作數(shù)值參數(shù)為第二數(shù)值參數(shù)。
假設(shè)預(yù)設(shè)的資源切換周期為2M(每個(gè)數(shù)值參數(shù)的使用時(shí)長(zhǎng)為M),如圖3所示,其為第一種資源切換示意圖,橫軸為時(shí)間線,假設(shè)當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間為T1,用T1模2M,則可以按照以方法確定當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間T1所屬時(shí)間區(qū)間:t1=T1mod2M,如果t1∈[0,M),則確定當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第一時(shí)間區(qū)間;如果t1∈[M,2M),則確定當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第二時(shí)間區(qū)間。
如果確定當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第一時(shí)間區(qū)間,則對(duì)第一數(shù)值參數(shù)進(jìn)行減1操作,如果確定當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第二時(shí)間區(qū)間,則對(duì)第二數(shù)值參數(shù)進(jìn)行減1操作。需要說明的是,對(duì)第一數(shù)值參數(shù)和第二數(shù)值參數(shù)從初始值開始進(jìn)行減1操作,假設(shè)當(dāng)前時(shí)間區(qū)間為第一時(shí)間區(qū)間,第一數(shù)值參數(shù)初始值為100,則第一個(gè)請(qǐng)求對(duì)第一數(shù)值參數(shù)的初始值進(jìn)行減1操作,第一數(shù)值參數(shù)當(dāng)前值變?yōu)?9,第二個(gè)請(qǐng)求對(duì)第一數(shù)值進(jìn)行減1操作(如果之前第一個(gè)請(qǐng)求尚未歸還資源),則第二請(qǐng)求對(duì)第一數(shù)值進(jìn)行減1操作之后,第一數(shù)值參數(shù)當(dāng)前值變?yōu)?8,以此類推;如果有請(qǐng)求歸還資源,則第一數(shù)值參數(shù)從當(dāng)前值進(jìn)行加1操作。如果接收到網(wǎng)絡(luò)資源請(qǐng)求時(shí)第一數(shù)值參數(shù)的值為0,則說明此時(shí)無可用網(wǎng)絡(luò)資源,將拒絕該網(wǎng)絡(luò)資源請(qǐng)求。
本發(fā)明實(shí)施例中,使用兩個(gè)數(shù)值參數(shù)的原因在于,如果只是使用一個(gè)數(shù)值參數(shù),因?yàn)闀?huì)不停的有請(qǐng)求獲取資源,占用資源;那么將無法判斷什么時(shí)候發(fā)生資源虧損或者資源超額,如果資源超額將導(dǎo)致系統(tǒng)實(shí)際放出的資源超過流控閾值,這樣,可能造成系統(tǒng)負(fù)載過高,嚴(yán)重時(shí)還可能會(huì)造成服務(wù)器宕機(jī)。如果資源虧損將導(dǎo)致系統(tǒng)實(shí)際可用的資源小于流控閾值,造成資源浪費(fèi),降低資源利用率。而使用兩個(gè)數(shù)值參數(shù),則可以輪流使用這兩個(gè)數(shù)值參數(shù),例如,先使用第一數(shù)值參數(shù),一定周期后,再使用第二數(shù)值參數(shù),在使用第二數(shù)值參數(shù)期間,之前使用第一數(shù)值參數(shù)的請(qǐng)求不斷的歸還資源,一定時(shí)間后,這些請(qǐng)求獲取的資源大概率的全部歸還完畢,此時(shí),可以對(duì)第一數(shù)值參數(shù)進(jìn)行校驗(yàn),如果第一數(shù)值參數(shù)的數(shù)值大于初始值,則確定發(fā)生資源超額。如果第一數(shù)值參數(shù)的數(shù)值小于初始值,則確定發(fā)生資源虧損。確定發(fā)生資源虧損或者資源超額后,將第一數(shù)值參數(shù)恢復(fù)為初始值。同樣,在使用第一數(shù)值參數(shù)期間,可以對(duì)第二數(shù)值參數(shù)進(jìn)行校驗(yàn)。由于在對(duì)第一數(shù)值參數(shù)或者第二數(shù)值參數(shù)進(jìn)行校驗(yàn)時(shí),需要在使用第二數(shù)值參數(shù)或者第一數(shù)值參數(shù)一定時(shí)間后進(jìn)行(以保證在使用第一數(shù)值參數(shù)或者第二數(shù)值參數(shù)期間獲取資源的請(qǐng)求大概率的歸還完畢),因此,本發(fā)明實(shí)施例在第一時(shí)間區(qū)間和第二時(shí)間切換內(nèi)設(shè)置資源恢復(fù)緩沖區(qū)間,資源恢復(fù)緩沖區(qū)間的時(shí)長(zhǎng)可以根據(jù)經(jīng)驗(yàn)值預(yù)先設(shè)定。
基于此,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制方法,還可以包括以下步驟:在當(dāng)前時(shí)間區(qū)間內(nèi),根據(jù)預(yù)設(shè)的資源恢復(fù)緩沖時(shí)長(zhǎng)對(duì)上一時(shí)間區(qū)間應(yīng)操作數(shù)值參數(shù)進(jìn)行校驗(yàn);如果根據(jù)校驗(yàn)結(jié)果確定上一時(shí)間區(qū)間應(yīng)操作數(shù)值參數(shù)的值與初始值不同,則恢復(fù)上一時(shí)間區(qū)間應(yīng)操作數(shù)值參數(shù)的值為初始值。
如圖3所示,在使用第一數(shù)值參數(shù)的時(shí)間區(qū)間內(nèi),經(jīng)過一定時(shí)間后對(duì)第二數(shù)值參數(shù)進(jìn)行恢復(fù),在使用第二數(shù)值參數(shù)的時(shí)間區(qū)間內(nèi),經(jīng)過一定時(shí)間后對(duì)第一數(shù)值參數(shù)進(jìn)行恢復(fù)。假設(shè)當(dāng)前時(shí)間為T2,預(yù)設(shè)的資源恢復(fù)緩沖時(shí)長(zhǎng)為Q,則根據(jù)本發(fā)明實(shí)施例,在當(dāng)前時(shí)間區(qū)間內(nèi),可以按照以下方法對(duì)上一時(shí)間區(qū)間應(yīng)操作數(shù)值參數(shù)進(jìn)行校驗(yàn):t2=T2mod2M,如果t2∈[Q,M),則對(duì)第二數(shù)值參數(shù)進(jìn)行校驗(yàn);如果t2∈[M+Q,2M),則對(duì)第一數(shù)值參數(shù)進(jìn)行校驗(yàn)。
具體實(shí)施時(shí),在利用獲取的網(wǎng)絡(luò)資源對(duì)網(wǎng)絡(luò)資源請(qǐng)求處理結(jié)束后,具體的,可以在接收到請(qǐng)求網(wǎng)絡(luò)資源的業(yè)務(wù)服務(wù)器發(fā)送的歸還信號(hào)后確定對(duì)網(wǎng)絡(luò)資源請(qǐng)求處理結(jié)束,對(duì)處理該網(wǎng)絡(luò)資源請(qǐng)求時(shí)進(jìn)行減1操作的數(shù)值參數(shù)進(jìn)行加1操作,以歸還網(wǎng)絡(luò)資源。
上述第一數(shù)值參數(shù)和第二數(shù)值參數(shù)沒有設(shè)置重疊使用區(qū)間,在資源切換瞬間,可能出現(xiàn)部分請(qǐng)求使用第一數(shù)值參數(shù),部分請(qǐng)求使用第二數(shù)值參數(shù),這樣,將出現(xiàn)請(qǐng)求的網(wǎng)絡(luò)資源超過流控閾值的問題。例如,假設(shè)流控閾值為100,第一數(shù)值參數(shù)初始值為100,第二數(shù)值參數(shù)初始值也為100。假設(shè)當(dāng)前時(shí)間區(qū)間內(nèi)為使用第一數(shù)值參數(shù),即流控服務(wù)器在接收到網(wǎng)絡(luò)資源請(qǐng)求后,對(duì)第一數(shù)值參數(shù)進(jìn)行減1操作,使用完畢后對(duì)第一數(shù)值參數(shù)進(jìn)行加1操作。如果在接收到網(wǎng)絡(luò)資源請(qǐng)求時(shí),根據(jù)當(dāng)前時(shí)間或者接收到請(qǐng)求的時(shí)間對(duì)第一數(shù)值參數(shù)進(jìn)行了減1操作,此時(shí)系統(tǒng)可用的剩余資源為99,但是在歸還獲取的網(wǎng)絡(luò)資源之前根據(jù)資源切換周期切換至對(duì)第二數(shù)值參數(shù)進(jìn)行操作,這樣,此后接收到網(wǎng)絡(luò)資源請(qǐng)求時(shí)將對(duì)第二數(shù)值參數(shù)進(jìn)行減1操作,而第二數(shù)值參數(shù)的初始值為100,即在接收到網(wǎng)絡(luò)資源請(qǐng)求時(shí)對(duì)第二數(shù)值參數(shù)從初始值100開始進(jìn)行減1操作,如果在對(duì)第一數(shù)值參數(shù)進(jìn)行減1操作的請(qǐng)求歸還網(wǎng)絡(luò)資源之前,第二數(shù)值參數(shù)接收到100個(gè)請(qǐng)求(假設(shè)均未歸還),則此時(shí),系統(tǒng)實(shí)際放出的網(wǎng)絡(luò)資源有101個(gè),即超過了流控閾值,這樣,造成系統(tǒng)負(fù)載過高,嚴(yán)重時(shí)還可能會(huì)造成服務(wù)器宕機(jī)。
進(jìn)一步優(yōu)化的,為了解決該問題,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制方法中,還提供了如下進(jìn)一步優(yōu)化的實(shí)施例:預(yù)設(shè)的資源切換周期還包括資源重疊時(shí)間區(qū)間,在資源重疊時(shí)間區(qū)間內(nèi),同時(shí)使用第一數(shù)值參數(shù)和第二數(shù)值參數(shù),以達(dá)到資源平滑切換的目的。即在資源重疊時(shí)間區(qū)間內(nèi)接收到網(wǎng)絡(luò)資源請(qǐng)求時(shí),分別對(duì)第一數(shù)值參數(shù)和第二數(shù)值參數(shù)進(jìn)行減1操作,相應(yīng)的,在歸還網(wǎng)絡(luò)資源時(shí),需要分別對(duì)第一數(shù)值參數(shù)和第二數(shù)值參數(shù)進(jìn)行加1操作。
較佳的,具體實(shí)施時(shí),根據(jù)當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間,可以按照以下方法確定當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間所屬的時(shí)間區(qū)間:t3=T1mod2M,如果則確定接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第一時(shí)間區(qū)間;如果則確定接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于資源重疊時(shí)間區(qū)間;如果則確定接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第二時(shí)間區(qū)間,其中,T1為當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間,2M為預(yù)設(shè)的資源切換周期,P為預(yù)設(shè)的資源重疊時(shí)間區(qū)間時(shí)長(zhǎng)。如果當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于資源重疊時(shí)間區(qū)間,則確定當(dāng)前應(yīng)操作數(shù)值參數(shù)為第一數(shù)值參數(shù)和第二數(shù)值參數(shù)。在資源重疊時(shí)間區(qū)間內(nèi),接收到網(wǎng)絡(luò)資源請(qǐng)求時(shí),分別對(duì)第一數(shù)值參數(shù)和第二數(shù)值參數(shù)進(jìn)行減1操作前,判斷第一數(shù)值參數(shù)或第二數(shù)值參數(shù)的值,只要其中一個(gè)值為0,則拒絕該網(wǎng)絡(luò)資源請(qǐng)求,這樣可以保證可用網(wǎng)絡(luò)資源數(shù)量的邏輯判斷超過流控閾值,引起資源占用過大的問題。另外,資源重疊時(shí)間區(qū)間的長(zhǎng)度可以根據(jù)統(tǒng)計(jì)結(jié)果或者經(jīng)驗(yàn)值確定,只要能夠保證在資源重疊時(shí)間區(qū)間內(nèi),在該資源重疊時(shí)間區(qū)間之前的、只對(duì)一個(gè)數(shù)值參數(shù)進(jìn)行減1操作的時(shí)間區(qū)間內(nèi)被發(fā)放的網(wǎng)絡(luò)資源,大概率被全部歸還即可。這樣可以保證在該資源重疊時(shí)間區(qū)間結(jié)束時(shí),第一數(shù)值參數(shù)和第二數(shù)值參數(shù)的值相等或很接近,這樣接下來就可以進(jìn)入只對(duì)一個(gè)數(shù)值參數(shù)進(jìn)行減1操作的時(shí)間區(qū)間了。
如果設(shè)置資源重疊時(shí)間區(qū)間,則具體實(shí)施時(shí),可以按照以下方法對(duì)第一數(shù)值參數(shù)或者第二數(shù)值參數(shù)進(jìn)行校驗(yàn):t4=T2mod2M,如果則對(duì)所述第二數(shù)值參數(shù)進(jìn)行校驗(yàn);如果則對(duì)所述第一數(shù)值參數(shù)進(jìn)行校驗(yàn),其中,Q為預(yù)設(shè)的資源恢復(fù)緩沖時(shí)長(zhǎng),T2為當(dāng)前時(shí)間。
第二種方式、預(yù)先確定當(dāng)前應(yīng)操作參數(shù)。
這種實(shí)施方式下,流控服務(wù)器11根據(jù)預(yù)設(shè)的資源切換周期預(yù)先確定當(dāng)前應(yīng)操作數(shù)值參數(shù)得到當(dāng)前應(yīng)操作數(shù)值參數(shù)列表并存儲(chǔ),在流控服務(wù)器接收到網(wǎng)絡(luò)資源請(qǐng)求時(shí),根據(jù)存儲(chǔ)的當(dāng)前應(yīng)操作數(shù)值參數(shù)列表來確定當(dāng)前應(yīng)操作數(shù)值參數(shù)。
同樣以圖3為例,假設(shè)預(yù)設(shè)的資源切換周期為2M,則針對(duì)時(shí)間為T,流控服務(wù)器12可以利用以下公式確定當(dāng)前時(shí)間所屬的時(shí)間區(qū)間:t1=Tmod2M,如果t1∈[0,M),則確定時(shí)間T屬于第一時(shí)間區(qū)間;如果t1∈[M,2M),則確定時(shí)間T屬于第二時(shí)間區(qū)間。
如果預(yù)設(shè)的資源切換周期中設(shè)置有資源重疊時(shí)間區(qū)間,假設(shè)P為預(yù)設(shè)的資源重疊時(shí)間區(qū)間時(shí)長(zhǎng),則流控服務(wù)器可以按照以下公式確定時(shí)間T所屬的時(shí)間區(qū)間:t2=Tmod2M,如果則確定時(shí)間T屬于第一時(shí)間區(qū)間;如果則確定時(shí)間T屬于資源重疊時(shí)間區(qū)間;如果則確定時(shí)間T屬于第二時(shí)間區(qū)間。
在第一時(shí)間區(qū)間內(nèi),流控服務(wù)器確定當(dāng)前應(yīng)操作數(shù)值參數(shù)列表中包含有第一數(shù)值參數(shù),在第二時(shí)間區(qū)間內(nèi),流控服務(wù)器確定當(dāng)前應(yīng)操作數(shù)值參數(shù)列表中包含有第二數(shù)值參數(shù),在資源重疊時(shí)間區(qū)間內(nèi),流控服務(wù)器確定當(dāng)前應(yīng)操作數(shù)值參數(shù)列表中含有第一數(shù)值參數(shù)和第二數(shù)值參數(shù)。在這種實(shí)施方式下,流控服務(wù)器還需要根據(jù)預(yù)設(shè)的資源切換周期對(duì)第一數(shù)值參數(shù)和第二數(shù)值參數(shù)進(jìn)行校驗(yàn)。由于具體的校驗(yàn)方式與上述實(shí)施方式一對(duì)第一數(shù)值參數(shù)和第二數(shù)值參數(shù)進(jìn)行校驗(yàn)的實(shí)施方式相同,這里不再贅述。
本發(fā)明實(shí)施提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制方法,通過設(shè)置專門的流控服務(wù)器將業(yè)務(wù)處理邏輯和流控邏輯分離,并通過可用網(wǎng)絡(luò)資源設(shè)置兩個(gè)數(shù)值參數(shù),根據(jù)預(yù)設(shè)的資源切換周期輪流對(duì)兩個(gè)數(shù)值參數(shù)進(jìn)行操作,在對(duì)其中一個(gè)數(shù)值參數(shù)進(jìn)行操作時(shí),可以對(duì)另一個(gè)參數(shù)進(jìn)行校驗(yàn),避免了由于無法對(duì)可用資源進(jìn)行校驗(yàn)而可能導(dǎo)致的系統(tǒng)負(fù)載過高或者系統(tǒng)資源利用率降低的問題,提高了服務(wù)器服務(wù)質(zhì)量。
示例性設(shè)備
在介紹了本發(fā)明示例性實(shí)施方式的方法之后,接下來,參考圖4對(duì)本發(fā)明示例性實(shí)施方式的、網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置。
如圖4所示,其為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置結(jié)構(gòu)示意圖,可以包括:
配置單元41,用于為可用的網(wǎng)絡(luò)資源池設(shè)置第一數(shù)值參數(shù)和第二數(shù)值參數(shù),所述第一數(shù)值參數(shù)和所述第二數(shù)值參數(shù)的初始值根據(jù)預(yù)設(shè)的流控閾值確定;
接收單元42,用于接收網(wǎng)絡(luò)資源請(qǐng)求;
操作單元43,用于對(duì)當(dāng)前應(yīng)操作數(shù)值參數(shù)進(jìn)行減1操作,其中,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)為根據(jù)預(yù)設(shè)的資源切換周期確定出的,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和/或所述第二數(shù)值參數(shù)。
獲取單元44,用于獲取網(wǎng)絡(luò)資源以對(duì)所述網(wǎng)資源請(qǐng)求進(jìn)行處理。
其中,資源切換周期包括第一時(shí)間區(qū)間和第二時(shí)間區(qū)間。
可選地,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置,還可以包括:
第一確定單元45,用于確定接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間所屬的時(shí)間區(qū)間;
第二確定單元46,用于如果接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于所述第一時(shí)間區(qū)間,則確定當(dāng)前應(yīng)操作數(shù)值參數(shù)為所述第一數(shù)值參數(shù);如果接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于所述第二時(shí)間區(qū)間,則確定當(dāng)前應(yīng)操作數(shù)值參數(shù)為所述第二數(shù)值參數(shù)。
可選地,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置,還可以包括:
獲得單元47,用于在所述接收單元42接收網(wǎng)絡(luò)資源請(qǐng)求之前,獲得當(dāng)前應(yīng)操作數(shù)值參數(shù)列表,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)列表中包含所述第一數(shù)值參數(shù)和/或第二數(shù)值參數(shù);
第三確定單元48,用于確定獲得的當(dāng)前應(yīng)操作數(shù)值參數(shù)列表中包含的第一數(shù)值參數(shù)和/或第二數(shù)值參數(shù)為當(dāng)前應(yīng)操作數(shù)值參數(shù)。
較佳地,操作單元43,具體用于如果當(dāng)前應(yīng)操作數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和所述第二數(shù)值參數(shù),則分別對(duì)所述第一數(shù)值參數(shù)和所述第二數(shù)值參數(shù)進(jìn)行減1操作。
可選地,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置,還可以包括:
響應(yīng)單元49,用于如果所述當(dāng)前應(yīng)操作數(shù)值參數(shù)的值為0,則拒絕所述網(wǎng)絡(luò)資源請(qǐng)求。
可選地,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置,
所述操作單元43,還用于在利用獲取的網(wǎng)絡(luò)資源對(duì)所述網(wǎng)絡(luò)資源請(qǐng)求處理結(jié)束后,對(duì)處理該網(wǎng)絡(luò)資源請(qǐng)求時(shí)進(jìn)行減1操作的數(shù)值參數(shù)進(jìn)行加1操作。
其中,所述操作單元43,具體用于如果處理該網(wǎng)絡(luò)資源請(qǐng)求時(shí)進(jìn)行減1操作的數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和所述第二數(shù)值參數(shù),則分別對(duì)所述第一數(shù)值參數(shù)和所述第二數(shù)值參數(shù)進(jìn)行加1操作。
具體實(shí)施時(shí),第一確定單元45,具體用于按照以下方法確定當(dāng)前時(shí)間或接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間所屬的時(shí)間區(qū)間:t1=T1mod2M,如果t1∈[0,M),則確定當(dāng)前時(shí)間或接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第一時(shí)間區(qū)間;如果t1∈[M,2M),則確定當(dāng)前時(shí)間或接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第二時(shí)間區(qū)間,其中,T1為當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間,2M為預(yù)設(shè)的資源切換周期。
可選地,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置,還可以包括:
第一校驗(yàn)單元410,用于在當(dāng)前時(shí)間區(qū)間內(nèi),根據(jù)預(yù)設(shè)的資源恢復(fù)緩沖時(shí)長(zhǎng)對(duì)上一時(shí)間區(qū)間應(yīng)操作數(shù)值參數(shù)進(jìn)行校驗(yàn);以及
恢復(fù)單元411,用于如果根據(jù)校驗(yàn)結(jié)果確定上一時(shí)間區(qū)間應(yīng)操作數(shù)值參數(shù)的值與所述初始值不同,則恢復(fù)上一時(shí)間區(qū)間應(yīng)操作數(shù)值參數(shù)的值為所述初始值。
其中,第一校驗(yàn)單元410,具體用于在當(dāng)前時(shí)間區(qū)間內(nèi),按照以下方法對(duì)上一時(shí)間區(qū)間應(yīng)操作數(shù)值參數(shù)進(jìn)行校驗(yàn):t2=T2mod2M,如果t2∈[Q,M),則對(duì)所述第二數(shù)值參數(shù)進(jìn)行校驗(yàn);如果t2∈[M+Q,2M),則對(duì)所述第一數(shù)值參數(shù)進(jìn)行校驗(yàn),其中,Q為預(yù)設(shè)的資源恢復(fù)緩沖時(shí)長(zhǎng),T2為當(dāng)前時(shí)間。
較佳地,所述預(yù)設(shè)資源切換周期還包括資源重疊時(shí)間區(qū)間;以及
所述第一確定單元45,具體用于按照以下方法確定當(dāng)前時(shí)間或接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間所屬的時(shí)間區(qū)間:t3=T1mod2M,如果則確定當(dāng)前時(shí)間或接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第一時(shí)間區(qū)間;如果則確定當(dāng)前時(shí)間或接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于資源重疊時(shí)間區(qū)間;如果則確定當(dāng)前時(shí)間或接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于第二時(shí)間區(qū)間,其中,T1為當(dāng)前時(shí)間或者接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間,2M為預(yù)設(shè)的資源切換周期,P為預(yù)設(shè)的資源重疊時(shí)間區(qū)間時(shí)長(zhǎng)。
可選地,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置,還可以包括:
第四確定單元412,用于如果接收到網(wǎng)絡(luò)資源請(qǐng)求的時(shí)間屬于資源重疊時(shí)間區(qū)間,則確定當(dāng)前應(yīng)操作數(shù)值參數(shù)為所述第一數(shù)值參數(shù)和所述第二數(shù)值參數(shù)。
可選地,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置,還可以包括:第二校驗(yàn)單元413,用于按照以下方法對(duì)第一數(shù)值參數(shù)或者第二數(shù)值參數(shù)進(jìn)行校驗(yàn):t4=T2mod2M,如果則對(duì)所述第二數(shù)值參數(shù)進(jìn)行校驗(yàn);如果則對(duì)所述第一數(shù)值參數(shù)進(jìn)行校驗(yàn),其中,Q為預(yù)設(shè)的資源恢復(fù)緩沖時(shí)長(zhǎng),T2為當(dāng)前時(shí)間。
在介紹了本發(fā)明示例性實(shí)施方式的方法和裝置之后,接下來,介紹根據(jù)本發(fā)明的另一示例性實(shí)施方式的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置。
所屬技術(shù)領(lǐng)域的技術(shù)人員能夠理解,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。
在一些可能的實(shí)施方式中,根據(jù)本發(fā)明的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置可以包括至少一個(gè)處理單元、以及至少一個(gè)存儲(chǔ)單元。其中,所述存儲(chǔ)單元存儲(chǔ)有程序代碼,當(dāng)所述程序代碼被所述處理單元執(zhí)行時(shí),使得所述處理單元執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實(shí)施方式的網(wǎng)絡(luò)資源的請(qǐng)求量控制方法中的各種步驟。例如,所述處理單元可以執(zhí)行如圖2中所示的步驟S21,接收網(wǎng)絡(luò)資源請(qǐng)求,步驟S22,對(duì)當(dāng)前應(yīng)操作數(shù)值參數(shù)進(jìn)行減1操作,其中,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)為根據(jù)預(yù)設(shè)的資源切換周期確定出的,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和/或所述第二數(shù)值參數(shù);以及步驟S23,獲取網(wǎng)絡(luò)資源以對(duì)所述網(wǎng)資源請(qǐng)求進(jìn)行處理。
下面參照?qǐng)D5來描述根據(jù)本發(fā)明的這種實(shí)施方式的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置50。圖5顯示的網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置僅僅是一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施例的功能和使用范圍帶來任何限制。
如圖5所示,網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置50可以以通用計(jì)算設(shè)備的形式表現(xiàn),例如其可以為服務(wù)器設(shè)備。網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置50的組件可以包括但不限于:上述至少一個(gè)處理單元51、上述至少一個(gè)存儲(chǔ)單元52、連接不同系統(tǒng)組件(包括存儲(chǔ)單元52和處理單元51)的總線53。
總線53表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器、外圍總線、處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。
存儲(chǔ)單元52可以包括易失性存儲(chǔ)器形式的可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(RAM)521和/或高速緩存存儲(chǔ)器522,還可以進(jìn)一步包括只讀存儲(chǔ)器(ROM)523。
存儲(chǔ)單元52還可以包括具有一組(至少一個(gè))程序模塊524的程序/實(shí)用工具525,這樣的程序模塊524包括但不限于:操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。
網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置50也可以與一個(gè)或多個(gè)外部設(shè)備54(例如鍵盤、指向設(shè)備等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置50交互的設(shè)備通信,和/或與使得該網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置50能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(I/O)接口55進(jìn)行。并且,網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置50還可以通過網(wǎng)絡(luò)適配器56與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器56通過總線53與網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置50的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合網(wǎng)絡(luò)資源的請(qǐng)求量控制裝置50使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。
示例性程序產(chǎn)品
在一些可能的實(shí)施方式中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當(dāng)所述程序產(chǎn)品在服務(wù)器設(shè)備上運(yùn)行時(shí),所述程序代碼用于使所述服務(wù)器設(shè)備執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實(shí)施方式的方法中的步驟,例如,所述服務(wù)器設(shè)備可以執(zhí)行如圖2中所示的步驟S21、接收網(wǎng)絡(luò)資源請(qǐng)求,和步驟S22、對(duì)當(dāng)前應(yīng)操作數(shù)值參數(shù)進(jìn)行減1操作,其中,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)為根據(jù)預(yù)設(shè)的資源切換周期確定出的,所述當(dāng)前應(yīng)操作數(shù)值參數(shù)包括所述第一數(shù)值參數(shù)和/或所述第二數(shù)值參數(shù);以及步驟S23、獲取網(wǎng)絡(luò)資源以對(duì)所述網(wǎng)資源請(qǐng)求進(jìn)行處理。
所述程序產(chǎn)品可以采用一個(gè)或多個(gè)可讀介質(zhì)的任意組合??勺x介質(zhì)可以是可讀信號(hào)介質(zhì)或者可讀存儲(chǔ)介質(zhì)??勺x存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。
如圖6所示,描述了根據(jù)本發(fā)明的實(shí)施方式的用于網(wǎng)絡(luò)資源的請(qǐng)求控制的程序產(chǎn)品60,其可以采用便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)并包括程序代碼,并可以在服務(wù)器設(shè)備上運(yùn)行。然而,本發(fā)明的程序產(chǎn)品不限于此,在本文件中,可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
可讀信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。可讀信號(hào)介質(zhì)還可以是可讀存儲(chǔ)介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、有線、光纜、RF等等,或者上述的任意合適的組合。
可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來編寫用于執(zhí)行本發(fā)明操作的程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言—諸如Java、C++等,還包括常規(guī)的過程式程序設(shè)計(jì)語(yǔ)言—諸如“C”語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶計(jì)算設(shè)備上執(zhí)行、部分地在用戶設(shè)備上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算設(shè)備上部分在遠(yuǎn)程計(jì)算設(shè)備上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算設(shè)備或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算設(shè)備的情形中,遠(yuǎn)程計(jì)算設(shè)備可以通過任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算設(shè)備,或者,可以連接到外部計(jì)算設(shè)備(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了裝置的若干單元或子單元,但是這種劃分僅僅是示例性的并非強(qiáng)制性的。實(shí)際上,根據(jù)本發(fā)明的實(shí)施方式,上文描述的兩個(gè)或更多單元的特征和功能可以在一個(gè)單元中具體化。反之,上文描述的一個(gè)單元的特征和功能可以進(jìn)一步劃分為由多個(gè)單元來具體化。
此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。附加地或備選地,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。
雖然已經(jīng)參考若干具體實(shí)施方式描述了本發(fā)明的精神和原理,但是應(yīng)該理解,本發(fā)明并不限于所公開的具體實(shí)施方式,對(duì)各方面的劃分也不意味著這些方面中的特征不能組合以進(jìn)行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。