本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種web應(yīng)用集群緩存利用方法和系統(tǒng)。
背景技術(shù):
隨著科技的發(fā)展和普及,人們的生活方式也逐漸發(fā)生變化,其中,電子交易逐漸增多,相應(yīng)的數(shù)據(jù)分析型應(yīng)用也逐漸增多,隨著數(shù)據(jù)量的急劇膨脹,需要相應(yīng)的web應(yīng)用集群具備更有效的緩存利用能力,以提高數(shù)據(jù)處理速度。比如,目前各銀行內(nèi)部的營(yíng)銷管理系統(tǒng)、財(cái)會(huì)分析系統(tǒng)等等,這些系統(tǒng)都是在銀行海量數(shù)據(jù)中進(jìn)行數(shù)據(jù)挖掘和提煉,需要web應(yīng)用集群具備強(qiáng)大緩存利用能力,以加快數(shù)據(jù)挖掘和提煉的效率,確保業(yè)務(wù)可以更有序的開展。
因此,如何有效提高web應(yīng)用集群的緩存利用能力變得很有必要。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種web應(yīng)用集群緩存利用方法和系統(tǒng),能夠有效提高web應(yīng)用集群的緩存利用能力。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種web應(yīng)用集群緩存利用方法,包括:
負(fù)載均衡服務(wù)器獲取用戶請(qǐng)求;
依據(jù)從數(shù)據(jù)分析服務(wù)器得到的設(shè)定分類標(biāo)準(zhǔn),確定所述用戶請(qǐng)求的請(qǐng)求類別;所述設(shè)定分類標(biāo)準(zhǔn)為同一所述請(qǐng)求類別的所述用戶請(qǐng)求需訪問的數(shù)據(jù)表相同,包括各個(gè)所述請(qǐng)求類別以及每個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的所述用戶請(qǐng)求;
以所述請(qǐng)求類別作為哈希函數(shù)的輸入,計(jì)算所述哈希函數(shù)的輸出值;
將所述輸出值與WEB服務(wù)器集群中每臺(tái)WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值相比較,確定目標(biāo)WEB服務(wù)器;所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值大于所述輸出值,且所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值減所述輸出值的差最小;所述預(yù)設(shè)標(biāo)號(hào)值的取值范圍為(0,100],呈均勻分布;
將所述用戶請(qǐng)求發(fā)送至所述目標(biāo)WEB服務(wù)器,以使所述目標(biāo)WEB服務(wù)器處理所述用戶請(qǐng)求。
優(yōu)選的,還包括:
所述數(shù)據(jù)分析服務(wù)器獲取歷史數(shù)據(jù)庫(kù)的日志記錄中與所述用戶請(qǐng)求相對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),確定所述請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的所述數(shù)據(jù)表;
確定訪問數(shù)據(jù)庫(kù)中相同所述數(shù)據(jù)表的所述用戶請(qǐng)求為同一類請(qǐng)求類別,記錄各個(gè)所述請(qǐng)求類別以及每個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的所述用戶請(qǐng)求,生成所述設(shè)定分類標(biāo)準(zhǔn)。
優(yōu)選的,還包括:
所述數(shù)據(jù)分析服務(wù)器統(tǒng)計(jì)所述歷史數(shù)據(jù)庫(kù)的日志記錄中所述用戶請(qǐng)求的次數(shù),計(jì)算各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求的第一總次數(shù);
按照所述第一總次數(shù)從高到低進(jìn)行排序,若所述第一總次數(shù)相同,則計(jì)算所述第一總次數(shù)相同的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)的第一總數(shù)據(jù)量,按照所述第一總數(shù)據(jù)量從高到低進(jìn)行排序;
將排序后的前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別發(fā)送至所述目標(biāo)WEB服務(wù)器;
則所述目標(biāo)WEB服務(wù)器的操作包括,從數(shù)據(jù)庫(kù)中讀取并加載所述排序后的前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的第一常用數(shù)據(jù)表到內(nèi)存中。
優(yōu)選的,還包括:
所述目標(biāo)WEB服務(wù)器計(jì)算預(yù)設(shè)時(shí)間內(nèi)接收到的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求的第二總次數(shù);
按照所述第二總次數(shù)從高到低進(jìn)行排序,若所述第二總次數(shù)相同,則計(jì)算所述第二總次數(shù)相同的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)的第二總數(shù)據(jù)量,按照所述第二總數(shù)據(jù)量從高到低進(jìn)行排序;
從數(shù)據(jù)庫(kù)中讀取并加載排序后前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的第二常用數(shù)據(jù)表到內(nèi)存中。
優(yōu)選的,還包括:
監(jiān)控所述WEB服務(wù)器集群中每臺(tái)所述WEB服務(wù)器的狀態(tài),若第一WEB服務(wù)器的CPU占用率和/或內(nèi)存占用率超過預(yù)設(shè)數(shù)值,將所述第一WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值降低預(yù)設(shè)數(shù)值;
則若所述哈希函數(shù)的輸出值大于每臺(tái)所述WEB服務(wù)器的所述預(yù)設(shè)標(biāo)號(hào)值,確定所述預(yù)設(shè)標(biāo)號(hào)值最小的所述WEB服務(wù)器為所述目標(biāo)WEB服務(wù)器。
優(yōu)選的,所述將所述輸出值與WEB服務(wù)器集群中每臺(tái)WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值相比較,確定目標(biāo)WEB服務(wù)器之前,還包括:
為所述WEB服務(wù)器集群中每臺(tái)所述WEB服務(wù)器設(shè)置所述預(yù)設(shè)標(biāo)號(hào)值。
一種web應(yīng)用集群緩存利用系統(tǒng),包括:
負(fù)載均衡服務(wù)器、數(shù)據(jù)分析服務(wù)器和WEB服務(wù)器集群,所述WEB服務(wù)器集群包括多個(gè)WEB服務(wù)器;
所述負(fù)載均衡服務(wù)器的操作包括:獲取用戶請(qǐng)求;依據(jù)從數(shù)據(jù)分析服務(wù)器得到的設(shè)定分類標(biāo)準(zhǔn),確定所述用戶請(qǐng)求的請(qǐng)求類別;所述設(shè)定分類標(biāo)準(zhǔn)為同一所述請(qǐng)求類別的所述用戶請(qǐng)求需訪問的數(shù)據(jù)表相同,包括各個(gè)所述請(qǐng)求類別以及每個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的所述用戶請(qǐng)求;以所述請(qǐng)求類別作為哈希函數(shù)的輸入,計(jì)算所述哈希函數(shù)的輸出值;將所述輸出值與WEB服務(wù)器集群中每臺(tái)WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值相比較,確定目標(biāo)WEB服務(wù)器;所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值大于所述輸出值,且所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值減所述輸出值的差最??;所述預(yù)設(shè)標(biāo)號(hào)值的取值范圍為(0,100],呈均勻分布;將所述用戶請(qǐng)求發(fā)送至所述目標(biāo)WEB服務(wù)器,以使所述目標(biāo)WEB服務(wù)器處理所述用戶請(qǐng)求。
優(yōu)選的,所述數(shù)據(jù)分析服務(wù)器的操作包括:
獲取歷史數(shù)據(jù)庫(kù)的日志記錄中與所述用戶請(qǐng)求相對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),確定所述請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的所述數(shù)據(jù)表;
確定訪問數(shù)據(jù)庫(kù)中相同所述數(shù)據(jù)表的所述用戶請(qǐng)求為同一類請(qǐng)求類別,記錄各個(gè)所述請(qǐng)求類別以及每個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的所述用戶請(qǐng)求,生成所述設(shè)定分類標(biāo)準(zhǔn)。
優(yōu)選的,所述數(shù)據(jù)分析服務(wù)器的操作還包括:
所述數(shù)據(jù)分析服務(wù)器統(tǒng)計(jì)所述歷史數(shù)據(jù)庫(kù)的日志記錄中所述用戶請(qǐng)求的次數(shù),計(jì)算各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求的第一總次數(shù);
按照所述第一總次數(shù)從高到低進(jìn)行排序,若所述第一總次數(shù)相同,則計(jì)算所述第一總次數(shù)相同的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)的第一總數(shù)據(jù)量,按照所述第一總數(shù)據(jù)量從高到低進(jìn)行排序;
將排序后的前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別發(fā)送至所述目標(biāo)WEB服務(wù)器;
則所述目標(biāo)WEB服務(wù)器的操作還包括,從數(shù)據(jù)庫(kù)中讀取并加載所述排序后的前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的第一常用數(shù)據(jù)表到內(nèi)存中。
優(yōu)選的,所述目標(biāo)WEB服務(wù)器的操作還包括:
計(jì)算預(yù)設(shè)時(shí)間內(nèi)接收到的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求的第二總次數(shù);
按照所述第二總次數(shù)從高到低進(jìn)行排序,若所述第二總次數(shù)相同,則計(jì)算所述第二總次數(shù)相同的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)的第二總數(shù)據(jù)量,按照所述第二總數(shù)據(jù)量從高到低進(jìn)行排序;
從數(shù)據(jù)庫(kù)中讀取并加載排序后前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的第二常用數(shù)據(jù)表到內(nèi)存中。
優(yōu)選的,所述負(fù)載均衡服務(wù)器的操作還包括:
監(jiān)控所述WEB服務(wù)器集群中每臺(tái)所述WEB服務(wù)器的狀態(tài),若第一WEB服務(wù)器的CPU占用率和/或內(nèi)存占用率超過預(yù)設(shè)數(shù)值,將所述第一WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值降低預(yù)設(shè)數(shù)值;
則若所述哈希函數(shù)的輸出值大于每臺(tái)所述WEB服務(wù)器的所述預(yù)設(shè)標(biāo)號(hào)值,確定所述預(yù)設(shè)標(biāo)號(hào)值最小的所述WEB服務(wù)器為所述目標(biāo)WEB服務(wù)器。
經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種web應(yīng)用集群緩存利用方法和系統(tǒng)。本發(fā)明提供的技術(shù)方案,負(fù)載均衡服務(wù)器依據(jù)從數(shù)據(jù)分析服務(wù)器得到的設(shè)定分類標(biāo)準(zhǔn),通過所述設(shè)定分類標(biāo)準(zhǔn)能夠確定所述用戶請(qǐng)求的請(qǐng)求類別,然后以所述請(qǐng)求類別作為哈希函數(shù)的輸入,計(jì)算所述哈希函數(shù)的輸出值,將所述輸出值與WEB服務(wù)器集群中每臺(tái)WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值相比較,確定目標(biāo)WEB服務(wù)器,最后將所述用戶請(qǐng)求發(fā)送至所述目標(biāo)WEB服務(wù)器,所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值大于所述輸出值,且所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值減所述輸出值的差最小,所述預(yù)設(shè)標(biāo)號(hào)值的取值范圍為(0,100],呈均勻分布,從而使分發(fā)到各WEB服務(wù)器的用戶請(qǐng)求相對(duì)均衡,由于哈希函數(shù)在輸入值相同時(shí),其輸出值也相同,因此為同一請(qǐng)求類別的用戶請(qǐng)求所分配的是相同的WEB服務(wù)器,而同一請(qǐng)求類別的用戶請(qǐng)求需訪問的數(shù)據(jù)表相同,因此,WEB服務(wù)器緩存中數(shù)據(jù)表能夠被同一類別的多個(gè)用戶請(qǐng)求所訪問,不必每次獲取到用戶請(qǐng)求后都從數(shù)據(jù)庫(kù)中調(diào)取數(shù)據(jù)表,從而能夠有效提高緩存利用率,提高對(duì)用戶請(qǐng)求的處理效率。因此,本發(fā)明提供的技術(shù)方案,能夠有效提高web應(yīng)用集群的緩存利用能力。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種web應(yīng)用集群緩存利用方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種web應(yīng)用集群緩存利用系統(tǒng)的結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
實(shí)施例
請(qǐng)參閱圖1,圖1為本發(fā)明實(shí)施例提供的一種web應(yīng)用集群緩存利用方法的流程圖。如圖1所示,該方法包括:
步驟S101,負(fù)載均衡服務(wù)器獲取用戶請(qǐng)求;
步驟S102,依據(jù)從數(shù)據(jù)分析服務(wù)器得到的設(shè)定分類標(biāo)準(zhǔn),確定所述用戶請(qǐng)求的請(qǐng)求類別;
具體的,所述設(shè)定分類標(biāo)準(zhǔn)為同一所述請(qǐng)求類別的所述用戶請(qǐng)求需訪問的數(shù)據(jù)表相同,所述設(shè)定分類標(biāo)準(zhǔn)包括:各個(gè)所述請(qǐng)求類別以及每個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的所述用戶請(qǐng)求。
步驟S103,以所述請(qǐng)求類別作為哈希函數(shù)的輸入,計(jì)算所述哈希函數(shù)的輸出值;
具體的,同一所述請(qǐng)求類別的輸入,其對(duì)應(yīng)的哈希函數(shù)的輸出值是唯一的。需要說(shuō)明的是,對(duì)于任一所述請(qǐng)求類別的輸入,對(duì)應(yīng)的哈希函數(shù)的輸出值均位于(0,100)區(qū)間內(nèi),而所有所述請(qǐng)求類別的輸入,其對(duì)應(yīng)的哈希函數(shù)的輸出值在(0,100)區(qū)間內(nèi)呈均勻分布。
步驟S104,將所述輸出值與WEB服務(wù)器集群中每臺(tái)WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值相比較,確定目標(biāo)WEB服務(wù)器;
具體的,所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值大于所述輸出值,且所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值減所述輸出值的差最小。具體的,所述預(yù)設(shè)標(biāo)號(hào)值的取值范圍為(0,100],呈均勻分布,比如,WEB服務(wù)器集群中有5臺(tái)WEB服務(wù)器,那么這5臺(tái)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值可以分別為20,40,60,80和100。
步驟S105,將所述用戶請(qǐng)求發(fā)送至所述目標(biāo)WEB服務(wù)器,以使所述目標(biāo)WEB服務(wù)器處理所述用戶請(qǐng)求;
具體的,由于所有所述請(qǐng)求類別的輸入,其對(duì)應(yīng)的哈希函數(shù)的輸出值在(0,100)區(qū)間內(nèi)呈均勻分布,且WEB服務(wù)器的所述預(yù)設(shè)標(biāo)號(hào)值的取值范圍為(0,100],呈均勻分布,因此,所述請(qǐng)求類別(包括多個(gè)所述用戶請(qǐng)求)會(huì)比較均衡地分發(fā)到各個(gè)所述WEB服務(wù)器。
需要說(shuō)明的是,所述步驟S101~所述步驟S105由所述負(fù)載均衡服務(wù)器執(zhí)行。
本發(fā)明實(shí)施例提供的技術(shù)方案,負(fù)載均衡服務(wù)器依據(jù)從數(shù)據(jù)分析服務(wù)器得到的設(shè)定分類標(biāo)準(zhǔn),通過所述設(shè)定分類標(biāo)準(zhǔn)能夠確定所述用戶請(qǐng)求的請(qǐng)求類別,然后以所述請(qǐng)求類別作為哈希函數(shù)的輸入,計(jì)算所述哈希函數(shù)的輸出值,將所述輸出值與WEB服務(wù)器集群中每臺(tái)WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值相比較,確定目標(biāo)WEB服務(wù)器,最后將所述用戶請(qǐng)求發(fā)送至所述目標(biāo)WEB服務(wù)器,所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值大于所述輸出值,且所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值減所述輸出值的差最小,所述預(yù)設(shè)標(biāo)號(hào)值的取值范圍為(0,100],呈均勻分布,從而使分發(fā)到各WEB服務(wù)器的用戶請(qǐng)求相對(duì)均衡,由于哈希函數(shù)在輸入值相同時(shí),其輸出值也相同,因此為同一請(qǐng)求類別的用戶請(qǐng)求所分配的是相同的WEB服務(wù)器,而同一請(qǐng)求類別的用戶請(qǐng)求需訪問的數(shù)據(jù)表相同,因此,WEB服務(wù)器緩存中數(shù)據(jù)表能夠被同一類別的多個(gè)用戶請(qǐng)求所訪問,不必每次獲取到用戶請(qǐng)求后都從數(shù)據(jù)庫(kù)中調(diào)取數(shù)據(jù)表,從而能夠有效提高緩存利用率,提高對(duì)用戶請(qǐng)求的處理效率。因此,本發(fā)明實(shí)施例提供的技術(shù)方案,能夠有效提高web應(yīng)用集群的緩存利用能力。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的技術(shù)方案,還包括:
所述數(shù)據(jù)分析服務(wù)器獲取歷史數(shù)據(jù)庫(kù)的日志記錄中與所述用戶請(qǐng)求相對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),確定所述請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的所述數(shù)據(jù)表;
確定訪問數(shù)據(jù)庫(kù)中相同所述數(shù)據(jù)表的所述用戶請(qǐng)求為同一類請(qǐng)求類別,記錄各個(gè)所述請(qǐng)求類別以及每個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的所述用戶請(qǐng)求,生成所述設(shè)定分類標(biāo)準(zhǔn)。
具體的,所述數(shù)據(jù)分析服務(wù)器也可以為數(shù)據(jù)分析服務(wù)器集群,可選的,若為數(shù)據(jù)分析服務(wù)器集群,則可以采用Spark處理框架(基于內(nèi)存的快速并行計(jì)算框架),能夠有效提高在海量數(shù)據(jù)環(huán)境下數(shù)據(jù)處理的快速響應(yīng),同時(shí)保證了高容錯(cuò)性,成本低廉。
具體的,所述歷史數(shù)據(jù)庫(kù)可以為Hadoop的分布式文件系統(tǒng)HDFS,即海量的用戶操作數(shù)據(jù)被采集到Hadoop的分布式文件系統(tǒng)HDFS上,形成歷史數(shù)據(jù),存儲(chǔ)效率要優(yōu)于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù),而且對(duì)設(shè)備要求的標(biāo)準(zhǔn)很低,極大節(jié)省了資源成本。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的技術(shù)方案,還包括:
所述數(shù)據(jù)分析服務(wù)器統(tǒng)計(jì)所述歷史數(shù)據(jù)庫(kù)的日志記錄中所述用戶請(qǐng)求的次數(shù),計(jì)算各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求的第一總次數(shù);
按照所述第一總次數(shù)從高到低進(jìn)行排序,若所述第一總次數(shù)相同,則計(jì)算所述第一總次數(shù)相同的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)的第一總數(shù)據(jù)量,按照所述第一總數(shù)據(jù)量從高到低進(jìn)行排序;
將排序后的前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別發(fā)送至所述目標(biāo)WEB服務(wù)器;
則所述目標(biāo)WEB服務(wù)器的操作包括,從數(shù)據(jù)庫(kù)中讀取并加載所述排序后的前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的第一常用數(shù)據(jù)表到內(nèi)存中。
本發(fā)明實(shí)施例提供的技術(shù)方案,能夠使WEB服務(wù)器加載經(jīng)常用到的數(shù)據(jù)表到內(nèi)存中,即提供靜態(tài)內(nèi)存,能夠避免獲取到用戶請(qǐng)求后需要到數(shù)據(jù)庫(kù)中查找數(shù)據(jù)表的操作,可以直接讀取內(nèi)存中的數(shù)據(jù)表,從而能夠有效提高緩存利用率,使處理速度得到明顯提升。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的技術(shù)方案,還包括:
所述目標(biāo)WEB服務(wù)器計(jì)算預(yù)設(shè)時(shí)間內(nèi)接收到的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求的第二總次數(shù);
按照所述第二總次數(shù)從高到低進(jìn)行排序,若所述第二總次數(shù)相同,則計(jì)算所述第二總次數(shù)相同的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)的第二總數(shù)據(jù)量,按照所述第二總數(shù)據(jù)量從高到低進(jìn)行排序;
從數(shù)據(jù)庫(kù)中讀取并加載排序后前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的第二常用數(shù)據(jù)表到內(nèi)存中。
本實(shí)施例提供的技術(shù)方案與上一實(shí)施例提供的技術(shù)方案類似,區(qū)別在于,本實(shí)施例提供的技術(shù)方案中各WEB服務(wù)器專門統(tǒng)計(jì)自身所常用的數(shù)據(jù)表,以有效提高緩存利用率,使處理速度得到明顯提升,而上一實(shí)施例提供的技術(shù)方案是針對(duì)所有WEB服務(wù)器(即WEB服務(wù)器集群)所常用的數(shù)據(jù)表,因此,相對(duì)于上一實(shí)施例提供的技術(shù)方案,本實(shí)施例提供的技術(shù)方案針對(duì)性更強(qiáng)。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的技術(shù)方案,還包括:
所述負(fù)載均衡服務(wù)器監(jiān)控所述WEB服務(wù)器集群中每臺(tái)所述WEB服務(wù)器的狀態(tài),若第一WEB服務(wù)器的CPU占用率和/或內(nèi)存占用率超過預(yù)設(shè)數(shù)值,將所述第一WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值降低預(yù)設(shè)數(shù)值;
則若所述哈希函數(shù)的輸出值大于每臺(tái)所述WEB服務(wù)器的所述預(yù)設(shè)標(biāo)號(hào)值,確定所述預(yù)設(shè)標(biāo)號(hào)值最小的所述WEB服務(wù)器為所述目標(biāo)WEB服務(wù)器。
本實(shí)施例提供的技術(shù)方案,旨在實(shí)現(xiàn)動(dòng)態(tài)負(fù)載均衡,若任一WEB服務(wù)器的CPU占用率和/或內(nèi)存占用率較高,則可以降低該WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值,這樣,便能夠?qū)崿F(xiàn)原本發(fā)送至該WEB服務(wù)器的用戶請(qǐng)求,發(fā)往其他WEB服務(wù)器來(lái)處理,從而減輕CPU占用率和/或內(nèi)存占用率較高的WEB服務(wù)器的壓力。比如,WEB服務(wù)器集群中有5臺(tái)WEB服務(wù)器,那么這5臺(tái)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值可以分別為20,40,60,80和100,若某用戶請(qǐng)求的請(qǐng)求類別所對(duì)應(yīng)的所述哈希函數(shù)的輸出值為59,那么,該用戶請(qǐng)求將發(fā)送至(預(yù)設(shè)標(biāo)號(hào)值為)60所對(duì)應(yīng)的WEB服務(wù)器;若(預(yù)設(shè)標(biāo)號(hào)值為)60所對(duì)應(yīng)的WEB服務(wù)器的CPU占用率和/或內(nèi)存占用率較高,想要減輕其負(fù)載壓力,則應(yīng)用本實(shí)施例提供的技術(shù)方案,可以將原預(yù)設(shè)標(biāo)號(hào)值為60所對(duì)應(yīng)的WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值調(diào)整為59(或58等),那么按照本發(fā)明實(shí)施例提供的技術(shù)方案,該用戶請(qǐng)求(其請(qǐng)求類別所對(duì)應(yīng)的所述哈希函數(shù)的輸出值為59)將發(fā)送至預(yù)設(shè)標(biāo)號(hào)值為80對(duì)應(yīng)的WEB服務(wù)器來(lái)處理,從而能夠減輕原預(yù)設(shè)標(biāo)號(hào)值為60所對(duì)應(yīng)的WEB服務(wù)器的負(fù)載壓力。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的技術(shù)方案,所述步驟S104之前還包括:
負(fù)載均衡服務(wù)器為所述WEB服務(wù)器集群中每臺(tái)所述WEB服務(wù)器設(shè)置所述預(yù)設(shè)標(biāo)號(hào)值。
為了更加全面地闡述本發(fā)明提供的技術(shù)方案,對(duì)應(yīng)于本發(fā)明實(shí)施例提供的web應(yīng)用集群緩存利用方法,本發(fā)明公開一種web應(yīng)用集群緩存利用系統(tǒng)。
請(qǐng)參閱圖2,圖2為本發(fā)明實(shí)施例提供的一種web應(yīng)用集群緩存利用系統(tǒng)的結(jié)構(gòu)圖。如圖2所示,該系統(tǒng)包括:
負(fù)載均衡服務(wù)器201、數(shù)據(jù)分析服務(wù)器202和WEB服務(wù)器集群203,所述WEB服務(wù)器集群203包括多個(gè)WEB服務(wù)器;
所述負(fù)載均衡服務(wù)器201的操作包括:
獲取用戶請(qǐng)求;依據(jù)從數(shù)據(jù)分析服務(wù)器得到的設(shè)定分類標(biāo)準(zhǔn),確定所述用戶請(qǐng)求的請(qǐng)求類別;所述設(shè)定分類標(biāo)準(zhǔn)為同一所述請(qǐng)求類別的所述用戶請(qǐng)求需訪問的數(shù)據(jù)表相同,包括各個(gè)所述請(qǐng)求類別以及每個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的所述用戶請(qǐng)求;以所述請(qǐng)求類別作為哈希函數(shù)的輸入,計(jì)算所述哈希函數(shù)的輸出值;將所述輸出值與WEB服務(wù)器集群中每臺(tái)WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值相比較,確定目標(biāo)WEB服務(wù)器;所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值大于所述輸出值,且所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值減所述輸出值的差最??;所述預(yù)設(shè)標(biāo)號(hào)值的取值范圍為(0,100],呈均勻分布;將所述用戶請(qǐng)求發(fā)送至所述目標(biāo)WEB服務(wù)器,以使所述目標(biāo)WEB服務(wù)器處理所述用戶請(qǐng)求。
可選的,所述數(shù)據(jù)分析服務(wù)器202為大數(shù)據(jù)分析服務(wù)器。
應(yīng)用本發(fā)明實(shí)施例提供的web應(yīng)用集群緩存利用系統(tǒng),能夠有效提高web應(yīng)用集群的緩存利用能力,從而提高對(duì)用戶請(qǐng)求的處理效率,。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的web應(yīng)用集群緩存利用系統(tǒng),所述數(shù)據(jù)分析服務(wù)器的操作包括:
獲取歷史數(shù)據(jù)庫(kù)的日志記錄中與所述用戶請(qǐng)求相對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),確定所述請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的所述數(shù)據(jù)表;
確定訪問數(shù)據(jù)庫(kù)中相同所述數(shù)據(jù)表的所述用戶請(qǐng)求為同一類請(qǐng)求類別,記錄各個(gè)所述請(qǐng)求類別以及每個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的所述用戶請(qǐng)求,生成所述設(shè)定分類標(biāo)準(zhǔn)。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的web應(yīng)用集群緩存利用系統(tǒng),所述數(shù)據(jù)分析服務(wù)器的操作還包括:
所述數(shù)據(jù)分析服務(wù)器統(tǒng)計(jì)所述歷史數(shù)據(jù)庫(kù)的日志記錄中所述用戶請(qǐng)求的次數(shù),計(jì)算各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求的第一總次數(shù);
按照所述第一總次數(shù)從高到低進(jìn)行排序,若所述第一總次數(shù)相同,則計(jì)算所述第一總次數(shù)相同的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)的第一總數(shù)據(jù)量,按照所述第一總數(shù)據(jù)量從高到低進(jìn)行排序;
將排序后的前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別發(fā)送至所述目標(biāo)WEB服務(wù)器;
則所述目標(biāo)WEB服務(wù)器的操作還包括,從數(shù)據(jù)庫(kù)中讀取并加載所述排序后的前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的第一常用數(shù)據(jù)表到內(nèi)存中。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的web應(yīng)用集群緩存利用系統(tǒng),所述目標(biāo)WEB服務(wù)器的操作還包括:
計(jì)算預(yù)設(shè)時(shí)間內(nèi)接收到的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求的第二總次數(shù);
按照所述第二總次數(shù)從高到低進(jìn)行排序,若所述第二總次數(shù)相同,則計(jì)算所述第二總次數(shù)相同的各個(gè)所述請(qǐng)求類別中所有所述用戶請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)的第二總數(shù)據(jù)量,按照所述第二總數(shù)據(jù)量從高到低進(jìn)行排序;
從數(shù)據(jù)庫(kù)中讀取并加載排序后前預(yù)設(shè)數(shù)目個(gè)所述請(qǐng)求類別各自對(duì)應(yīng)的第二常用數(shù)據(jù)表到內(nèi)存中。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的web應(yīng)用集群緩存利用系統(tǒng),所述負(fù)載均衡服務(wù)器的操作還包括:
監(jiān)控所述WEB服務(wù)器集群中每臺(tái)所述WEB服務(wù)器的狀態(tài),若第一WEB服務(wù)器的CPU占用率和/或內(nèi)存占用率超過預(yù)設(shè)數(shù)值,將所述第一WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值降低預(yù)設(shè)數(shù)值;
則若所述哈希函數(shù)的輸出值大于每臺(tái)所述WEB服務(wù)器的所述預(yù)設(shè)標(biāo)號(hào)值,確定所述預(yù)設(shè)標(biāo)號(hào)值最小的所述WEB服務(wù)器為所述目標(biāo)WEB服務(wù)器。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的web應(yīng)用集群緩存利用系統(tǒng),所述負(fù)載均衡服務(wù)器的操作還包括:
所述將所述輸出值與WEB服務(wù)器集群中每臺(tái)WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值相比較,確定目標(biāo)WEB服務(wù)器之前,為所述WEB服務(wù)器集群中每臺(tái)所述WEB服務(wù)器設(shè)置所述預(yù)設(shè)標(biāo)號(hào)值。
經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種web應(yīng)用集群緩存利用方法和系統(tǒng)。本發(fā)明提供的技術(shù)方案,負(fù)載均衡服務(wù)器依據(jù)從數(shù)據(jù)分析服務(wù)器得到的設(shè)定分類標(biāo)準(zhǔn),通過所述設(shè)定分類標(biāo)準(zhǔn)能夠確定所述用戶請(qǐng)求的請(qǐng)求類別,然后以所述請(qǐng)求類別作為哈希函數(shù)的輸入,計(jì)算所述哈希函數(shù)的輸出值,將所述輸出值與WEB服務(wù)器集群中每臺(tái)WEB服務(wù)器的預(yù)設(shè)標(biāo)號(hào)值相比較,確定目標(biāo)WEB服務(wù)器,最后將所述用戶請(qǐng)求發(fā)送至所述目標(biāo)WEB服務(wù)器,所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值大于所述輸出值,且所述目標(biāo)WEB服務(wù)器對(duì)應(yīng)的所述預(yù)設(shè)標(biāo)號(hào)值減所述輸出值的差最小,所述預(yù)設(shè)標(biāo)號(hào)值的取值范圍為(0,100],呈均勻分布,從而使分發(fā)到各WEB服務(wù)器的用戶請(qǐng)求相對(duì)均衡,由于哈希函數(shù)在輸入值相同時(shí),其輸出值也相同,因此為同一請(qǐng)求類別的用戶請(qǐng)求所分配的是相同的WEB服務(wù)器,而同一請(qǐng)求類別的用戶請(qǐng)求需訪問的數(shù)據(jù)表相同,因此,WEB服務(wù)器緩存中數(shù)據(jù)表能夠被同一類別的多個(gè)用戶請(qǐng)求所訪問,不必每次獲取到用戶請(qǐng)求后都從數(shù)據(jù)庫(kù)中調(diào)取數(shù)據(jù)表,從而能夠有效提高緩存利用率,提高對(duì)用戶請(qǐng)求的處理效率。因此,本發(fā)明提供的技術(shù)方案,能夠有效提高web應(yīng)用集群的緩存利用能力。
最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的系統(tǒng)而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說(shuō)明即可。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
對(duì)所公開的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。