用于分布式緩存系統(tǒng)的流量控制方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及通信技術(shù)領(lǐng)域,具體涉及分布式緩存技術(shù)領(lǐng)域,尤其涉及用于分布式緩存系統(tǒng)的流量控制方法和裝置。
【背景技術(shù)】
[0002]緩存(cache)具有能夠提升指令和數(shù)據(jù)讀取速度的特性,因此,在計(jì)算機(jī)系統(tǒng)從本地計(jì)算機(jī)系統(tǒng)向分布式系統(tǒng)的擴(kuò)展過程中,緩存在分布式計(jì)算領(lǐng)域中得到了廣泛的應(yīng)用,這種應(yīng)用在分布式計(jì)算中的緩存稱為分布式緩存。
[0003]在分布式緩存存儲(chǔ)服務(wù)中,為了實(shí)現(xiàn)故障時(shí),對(duì)讀寫透明路由透明,會(huì)在緩存層前面設(shè)置一層代理(proxy)服務(wù)器。當(dāng)流量異常上漲后,需要對(duì)流量進(jìn)行限制,否則代理服務(wù)器和后端的緩存服務(wù)器將無法在預(yù)期時(shí)間內(nèi)應(yīng)答所有請(qǐng)求,隨著請(qǐng)求的逐漸堆積還會(huì)出現(xiàn)雪崩效應(yīng)。然而,還需要進(jìn)一步提高分布式緩存系統(tǒng)中流量限制操作執(zhí)行時(shí)間的準(zhǔn)確性。
【發(fā)明內(nèi)容】
[0004]本申請(qǐng)的目的在于提出一種改進(jìn)的用于分布式緩存系統(tǒng)的流量控制方法和裝置,來解決以上【背景技術(shù)】部分提到的技術(shù)問題。
[0005]第一方面,本申請(qǐng)?zhí)峁┝艘环N用于分布式緩存系統(tǒng)的流量控制方法,所述方法包括:記錄分布式緩存系統(tǒng)在單位時(shí)間內(nèi)所完成的操作的總次數(shù),并獲取所述操作中延時(shí)操作的次數(shù),其中,所述操作是所述分布式緩存系統(tǒng)根據(jù)客戶端請(qǐng)求所執(zhí)行的讀操作或?qū)懖僮?,所述延時(shí)操作是時(shí)延大于預(yù)設(shè)時(shí)延閾值的操作;根據(jù)所述延時(shí)操作的次數(shù)與所述操作的總次數(shù)計(jì)算延時(shí)操作比例;比較所述延時(shí)操作比例與預(yù)設(shè)比例閾值;根據(jù)比較結(jié)果確定是否對(duì)分布式緩存系統(tǒng)執(zhí)行限流操作。
[0006]在一些實(shí)施例中,所述時(shí)延是每次操作從接收請(qǐng)求到完成應(yīng)答的時(shí)間。
[0007]在一些實(shí)施例中,所述根據(jù)比較結(jié)果確定是否執(zhí)行限流操作包括:當(dāng)所述延時(shí)操作比例大于所述預(yù)設(shè)比例閾值時(shí),執(zhí)行限流操作。
[0008]在一些實(shí)施例中,所述執(zhí)行限流操作包括:將所述分布式緩存系統(tǒng)的令牌數(shù)減少預(yù)設(shè)值,其中,所述令牌數(shù)用于表征分布式緩存系統(tǒng)容納客戶端請(qǐng)求的個(gè)數(shù)。
[0009]在一些實(shí)施例中,所述預(yù)設(shè)值為1。
[0010]第二方面,本申請(qǐng)?zhí)峁┝艘环N用于分布式緩存系統(tǒng)的流量控制裝置,所述裝置包括:記錄單元,配置用于記錄分布式緩存系統(tǒng)在單位時(shí)間內(nèi)所完成的操作的總次數(shù),并獲取所述操作中延時(shí)操作的次數(shù),其中,所述操作是所述分布式緩存系統(tǒng)根據(jù)客戶端請(qǐng)求所執(zhí)行的讀操作或?qū)懖僮?,所述延時(shí)操作是時(shí)延大于預(yù)設(shè)時(shí)延閾值的操作;計(jì)算單元,配置用于根據(jù)所述延時(shí)操作的次數(shù)與所述操作的總次數(shù)計(jì)算延時(shí)操作比例;比較單元,配置用于比較所述延時(shí)操作比例與預(yù)設(shè)比例閾值;限流單元,配置用于根據(jù)比較結(jié)果確定是否對(duì)分布式緩存系統(tǒng)執(zhí)行限流操作。
[0011 ] 在一些實(shí)施例中,所所述時(shí)延是每次操作從接收請(qǐng)求到完成應(yīng)答的時(shí)間。
[0012]在一些實(shí)施例中,所述限流單元進(jìn)一步配置用于:當(dāng)所述延時(shí)操作比例大于所述預(yù)設(shè)比例閾值時(shí),執(zhí)行限流操作。
[0013]在一些實(shí)施例中,所述限流單元進(jìn)一步配置用于:當(dāng)所述延時(shí)操作比例大于所述預(yù)設(shè)比例閾值時(shí),將所述分布式緩存系統(tǒng)的令牌數(shù)減少預(yù)設(shè)值,其中,所述令牌數(shù)用于表征分布式緩存系統(tǒng)容納客戶端請(qǐng)求的個(gè)數(shù)。
[0014]在一些實(shí)施例中,所述預(yù)設(shè)值為1。
[0015]本申請(qǐng)?zhí)峁┑挠糜诜植际骄彺嫦到y(tǒng)的流量控制方法和裝置,通過延遲操作與總操作比例判斷是否存在流量異常而需要執(zhí)行限流操作,由于延遲操作以操作時(shí)延作為判斷依據(jù)且操作時(shí)延更能反映分布式系統(tǒng)的性能能否滿足客戶端的要求,從而能準(zhǔn)確地確定執(zhí)行限流操作的時(shí)機(jī)。
【附圖說明】
[0016]通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0017]圖1是本申請(qǐng)可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
[0018]圖2是根據(jù)本申請(qǐng)的用于分布式緩存系統(tǒng)的流量控制方法的一個(gè)實(shí)施例的流程圖;
[0019]圖3是根據(jù)本申請(qǐng)的用于分布式緩存系統(tǒng)的流量控制方法的又一個(gè)實(shí)施例的流程圖;
[0020]圖4是根據(jù)本申請(qǐng)的用于分布式緩存系統(tǒng)的流量控制裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0021]圖5是適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022]下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
[0023]需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。
[0024]圖1示出了可以應(yīng)用本申請(qǐng)的用于分布式緩存系統(tǒng)的流量控制方法或裝置的實(shí)施例的示例性系統(tǒng)架構(gòu)100。
[0025]如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、103,網(wǎng)絡(luò)104、106、代理服務(wù)器105、緩存服務(wù)器107、108、109。網(wǎng)絡(luò)104、106分別用以在終端設(shè)備101、102、103和代理服務(wù)器105之間以及代理服務(wù)器105和緩存服務(wù)器107、108、109之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)104、106可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
[0026]用戶可以使用終端設(shè)備101、102、103通過網(wǎng)絡(luò)104與代理服務(wù)器105交互,以接收或發(fā)送消息等。終端設(shè)備101、102、103上可以安裝有各種通訊客戶端應(yīng)用,例如網(wǎng)頁瀏覽器應(yīng)用、購物類應(yīng)用、搜索類應(yīng)用、即時(shí)通信工具、社交平臺(tái)軟件等。
[0027]終端設(shè)備101、102、103可以是具有顯示屏并且支持網(wǎng)頁瀏覽的各種電子設(shè)備,包括但不限于智能手機(jī)、平板電腦、電子書閱讀器、MP3播放器(Moving Picture ExpertsGroup Aud1 Layer III,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、MP4 (Moving PictureExperts Group Aud1 Layer IV,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
[0028]代理服務(wù)器105可以是為終端設(shè)備101、102、103和緩存服務(wù)器107、108、109之間提供非直接連接的服務(wù)器。例如,代理服務(wù)器可接收終端設(shè)備101、102、103發(fā)送的數(shù)據(jù)讀寫請(qǐng)求并將數(shù)據(jù)讀寫請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的緩存服務(wù)器上并在緩存服務(wù)器完成相應(yīng)的請(qǐng)求后將處理結(jié)果反饋給終端設(shè)備。
[0029]緩存服務(wù)器可以是處理讀寫請(qǐng)求的存儲(chǔ)節(jié)點(diǎn)。緩存服務(wù)器在接收到代理服務(wù)器轉(zhuǎn)發(fā)的讀寫請(qǐng)求后執(zhí)行相應(yīng)的讀寫請(qǐng)求并返回處理結(jié)果給代理服務(wù)器。
[0030]需要說明的是,本申請(qǐng)實(shí)施例所提供的用于分布式緩存系統(tǒng)的流量控制方法一般由代理服務(wù)器105執(zhí)行,相應(yīng)地,用于分布式緩存系統(tǒng)的流量控制裝置一般設(shè)置于代理服務(wù)器105中。
[0031]應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目?jī)H僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
[0032]繼續(xù)參考圖2,示出了根據(jù)本申請(qǐng)的用于分布式緩存系統(tǒng)的流量控制方法的一個(gè)實(shí)施例的流程200。所述的用于分布式緩存系統(tǒng)的流量控制方法,包括以下步驟:
[0033]步驟201,記錄分布式緩存系統(tǒng)在單位時(shí)間內(nèi)所完成的操作的總次數(shù),并獲取該操作中延時(shí)操作的次數(shù)。
[0034]在本實(shí)施例中,用于分布式緩存系統(tǒng)的流量控制方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的代理服務(wù)器105)可以首先記錄分布式緩存系統(tǒng)在單位時(shí)間內(nèi)所完成的操作的總次數(shù)。其中,單位時(shí)間可以根據(jù)需要進(jìn)行設(shè)定。為了保證記錄的實(shí)時(shí)性,通常選用較短的時(shí)間作為單位時(shí)間。該操作可以是上述分布式緩存系統(tǒng)根據(jù)客戶端請(qǐng)求所執(zhí)行的讀操作或?qū)懖僮?。通常,電子設(shè)備可以將其執(zhí)行的所有操作以日志文件的形式進(jìn)行存儲(chǔ)。電子設(shè)備可以通過對(duì)日志文件的查詢獲取分布式緩存系統(tǒng)在單位時(shí)間所執(zhí)行的所有讀操作或?qū)懖僮鞯男畔?。電子設(shè)備可以對(duì)日志文件中記錄的操作進(jìn)行次數(shù)統(tǒng)計(jì),即可記錄操作的總次數(shù)。本領(lǐng)域技術(shù)人員可