本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種提高web處理并發(fā)請(qǐng)求的方法及使用其的服務(wù)站。
背景技術(shù):
現(xiàn)有技術(shù)中,客戶端發(fā)出并發(fā)請(qǐng)求(1秒鐘內(nèi)發(fā)出的請(qǐng)求數(shù)量,一般1秒鐘內(nèi)會(huì)發(fā)出上萬(wàn)條請(qǐng)求)后;然后,網(wǎng)關(guān)接收并發(fā)請(qǐng)求,網(wǎng)關(guān)將請(qǐng)求隨機(jī)地分配給某一臺(tái)業(yè)務(wù)服務(wù)器;再后,各個(gè)服務(wù)器根據(jù)信息組的請(qǐng)求信息逐個(gè)處理,處理時(shí)直接在各自的內(nèi)層底層數(shù)據(jù)庫(kù)根據(jù)請(qǐng)求信息獲得傳回信息,然后從底層數(shù)據(jù)庫(kù)中調(diào)用傳回信息返回給各個(gè)服務(wù)器上層;最后,服務(wù)器上層發(fā)送傳回信息給網(wǎng)關(guān),網(wǎng)關(guān)傳回客戶端。該處理方法的缺點(diǎn)為:由于在底層數(shù)據(jù)庫(kù)根據(jù)請(qǐng)求信息計(jì)算得到傳回信息計(jì)算量本身較大,并且單位時(shí)間內(nèi)發(fā)出的請(qǐng)求信息過(guò)多,容易出現(xiàn)當(dāng)機(jī)現(xiàn)象,導(dǎo)致正常的請(qǐng)求得不到回應(yīng),降低用戶的使用興趣。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中所存在的不足,本發(fā)明提供了一種提高web處理并發(fā)請(qǐng)求的方法及使用其的服務(wù)站,避免了有1秒鐘內(nèi)有上萬(wàn)條請(qǐng)求同時(shí)發(fā)出時(shí)服務(wù)站發(fā)生當(dāng)機(jī)現(xiàn)象。
為實(shí)現(xiàn)上述目的,本發(fā)明采用了如下的技術(shù)方案:
一種提高web處理并發(fā)請(qǐng)求的方法,包括:
步驟一、網(wǎng)關(guān)獲得客戶端發(fā)送的并發(fā)請(qǐng)求數(shù)據(jù)串;
步驟二、每個(gè)業(yè)務(wù)服務(wù)器的接口服務(wù)隨機(jī)地接收來(lái)自網(wǎng)關(guān)的并發(fā)請(qǐng)求數(shù)據(jù)串、將并發(fā)請(qǐng)求數(shù)據(jù)串中剝離出單獨(dú)的請(qǐng)求并為每個(gè)單獨(dú)的請(qǐng)求找到對(duì)應(yīng)的特征值;
步驟三、每個(gè)業(yè)務(wù)服務(wù)器依次根據(jù)每個(gè)請(qǐng)求的特征值進(jìn)行處理,具體處理方式均按以下步驟進(jìn)行:
A、業(yè)務(wù)服務(wù)器詢問(wèn)公共緩存池,判斷公共緩存池是否已有該特征值對(duì)應(yīng)的需求數(shù)據(jù),若有,則執(zhí)行B;若無(wú),則執(zhí)行步驟C;
B、業(yè)務(wù)服務(wù)器從公共緩存池中調(diào)用與該特征值對(duì)應(yīng)的需求數(shù)據(jù)并將該需求數(shù)據(jù)返回給接口服務(wù),然后執(zhí)行步驟E;
C、業(yè)務(wù)服務(wù)器根據(jù)該特征值詢問(wèn)底層數(shù)據(jù)庫(kù),以獲取該特征值對(duì)應(yīng)的需求數(shù)據(jù);
D、業(yè)務(wù)服務(wù)器將從底層數(shù)據(jù)庫(kù)中獲取的需求數(shù)據(jù)返回給接口服務(wù),同時(shí)業(yè)務(wù)服務(wù)器將該對(duì)特征值及該需求數(shù)據(jù)緩存入公共緩存池;
E、業(yè)務(wù)服務(wù)器的接口服務(wù)通過(guò)網(wǎng)關(guān)將該需求數(shù)據(jù)返回給客戶端。
本發(fā)明還提供一種使用上述的提高web處理并發(fā)請(qǐng)求的方法的服務(wù)站,包括:
網(wǎng)絡(luò)接收裝置,其內(nèi)設(shè)置有網(wǎng)關(guān),網(wǎng)關(guān)用于接收獲得客戶端發(fā)送的并發(fā)請(qǐng)求數(shù)據(jù)串;
若干個(gè)服務(wù)器,所有服務(wù)器均與網(wǎng)關(guān)相連,每個(gè)服務(wù)器均包括接口服務(wù),接口服務(wù)用于接收來(lái)自網(wǎng)關(guān)的并發(fā)請(qǐng)求數(shù)據(jù)串、將并發(fā)請(qǐng)求數(shù)據(jù)串中剝離出單獨(dú)的請(qǐng)求、為每個(gè)單獨(dú)的請(qǐng)求找到對(duì)應(yīng)的特征值并將各個(gè)請(qǐng)求對(duì)應(yīng)的需求數(shù)據(jù)通過(guò)網(wǎng)關(guān)返回給客戶端,所有業(yè)務(wù)服務(wù)器之間共享有公共緩存池,公共緩存池用于緩存最近處理的特征值及該特征值對(duì)應(yīng)的需求數(shù)據(jù),所有服務(wù)器之間還共享形成有底層數(shù)據(jù)庫(kù),底層數(shù)據(jù)庫(kù)用于存儲(chǔ)原始數(shù)據(jù)。
相比于現(xiàn)有技術(shù),本發(fā)明具有如下有益效果:
通過(guò)在每個(gè)服務(wù)器前端建立公共緩存池,實(shí)現(xiàn)將近期時(shí)間內(nèi)已經(jīng)處理的請(qǐng)求信息及其對(duì)應(yīng)的傳回信息緩存,以在收到同樣請(qǐng)求內(nèi)容時(shí)直接調(diào)用公共緩存池緩存的傳回信息,充分利用服務(wù)器的存儲(chǔ)空間,為業(yè)務(wù)服務(wù)器和底層數(shù)據(jù)庫(kù)減壓,避免因并發(fā)請(qǐng)求過(guò)多而造成業(yè)務(wù)服務(wù)器以及底層數(shù)據(jù)庫(kù)當(dāng)機(jī);同時(shí)建立公共緩存池使得各個(gè)服務(wù)器近期查找的特征值和需求信息之間共享,避免在已經(jīng)有服務(wù)器在近期時(shí)間內(nèi)已經(jīng)處理同樣請(qǐng)求內(nèi)容,而造成服務(wù)器的再次工作,進(jìn)一步提高處理效率,進(jìn)一步為服務(wù)器減壓,進(jìn)而達(dá)到避免了有1秒鐘內(nèi)有上萬(wàn)條請(qǐng)求同時(shí)發(fā)出時(shí)服務(wù)站發(fā)生當(dāng)機(jī)現(xiàn)象,保證各個(gè)請(qǐng)求均能得到回應(yīng),提高用戶的使用興趣。
附圖說(shuō)明
圖1為提高web處理并發(fā)請(qǐng)求的方法的流程圖;
圖2為使用提高web處理并發(fā)請(qǐng)求的方法的服務(wù)站的框圖。
具體實(shí)施方式
如圖1所示,本實(shí)施例首先提出一種提高web處理并發(fā)請(qǐng)求的方法,包括:
步驟一、網(wǎng)關(guān)獲得客戶端發(fā)送的并發(fā)請(qǐng)求數(shù)據(jù)串;
步驟二、每個(gè)業(yè)務(wù)服務(wù)器的接口服務(wù)隨機(jī)地接收來(lái)自網(wǎng)關(guān)的并發(fā)請(qǐng)求數(shù)據(jù)串、將并發(fā)請(qǐng)求數(shù)據(jù)串中剝離出單獨(dú)的請(qǐng)求并為每個(gè)單獨(dú)的請(qǐng)求找到對(duì)應(yīng)的特征值;
步驟三、每個(gè)業(yè)務(wù)服務(wù)器依次根據(jù)每個(gè)請(qǐng)求的特征值進(jìn)行處理,具體處理方式均按以下步驟進(jìn)行:
A、業(yè)務(wù)服務(wù)器詢問(wèn)公共緩存池,判斷公共緩存池是否已有該特征值對(duì)應(yīng)的需求數(shù)據(jù),若有,則執(zhí)行B;若無(wú),則執(zhí)行步驟C;
B、業(yè)務(wù)服務(wù)器從公共緩存池中調(diào)用與該特征值對(duì)應(yīng)的需求數(shù)據(jù)并將該需求數(shù)據(jù)返回給接口服務(wù),然后執(zhí)行步驟E;
C、業(yè)務(wù)服務(wù)器根據(jù)該特征值詢問(wèn)底層數(shù)據(jù)庫(kù),以獲取該特征值對(duì)應(yīng)的需求數(shù)據(jù);
D、業(yè)務(wù)服務(wù)器將從底層數(shù)據(jù)庫(kù)中獲取的需求數(shù)據(jù)返回給接口服務(wù),同時(shí)業(yè)務(wù)服務(wù)器將該對(duì)特征值及該需求數(shù)據(jù)緩存入公共緩存池;
E、業(yè)務(wù)服務(wù)器的接口服務(wù)通過(guò)網(wǎng)關(guān)將該需求數(shù)據(jù)返回給客戶端。
本實(shí)施例還提供一種使用上述的提高web處理并發(fā)請(qǐng)求的方法的服務(wù)站,包括:
網(wǎng)絡(luò)接收裝置,其內(nèi)設(shè)置有網(wǎng)關(guān),網(wǎng)關(guān)用于接收獲得客戶端發(fā)送的并發(fā)請(qǐng)求數(shù)據(jù)串;
若干個(gè)服務(wù)器,所有服務(wù)器均與網(wǎng)關(guān)相連,每個(gè)服務(wù)器均包括接口服務(wù),接口服務(wù)用于接收來(lái)自網(wǎng)關(guān)的并發(fā)請(qǐng)求數(shù)據(jù)串、將并發(fā)請(qǐng)求數(shù)據(jù)串中剝離出單獨(dú)的請(qǐng)求、為每個(gè)單獨(dú)的請(qǐng)求找到對(duì)應(yīng)的特征值并將各個(gè)請(qǐng)求對(duì)應(yīng)的需求數(shù)據(jù)通過(guò)網(wǎng)關(guān)返回給客戶端,所有業(yè)務(wù)服務(wù)器之間共享有公共緩存池,公共緩存池用于緩存最近處理的特征值及該特征值對(duì)應(yīng)的需求數(shù)據(jù),所有服務(wù)器之間還共享形成有底層數(shù)據(jù)庫(kù),底層數(shù)據(jù)庫(kù)用于存儲(chǔ)原始數(shù)據(jù)。
下面舉例說(shuō)明,若網(wǎng)關(guān)將信息分流后A請(qǐng)求信息是向服務(wù)器1發(fā)送的,首先,業(yè)務(wù)服務(wù)器1接收到A請(qǐng)求;然后,業(yè)務(wù)服務(wù)器1根據(jù)A請(qǐng)求(鏈接)找到其對(duì)應(yīng)的T特征值;再后,業(yè)務(wù)服務(wù)器1在公共緩存池查找,以判斷公共緩存池中是否已經(jīng)有了該T特征值對(duì)應(yīng)的需求信息,若有則可以直徑調(diào)用公共緩存池中的該T特征值對(duì)應(yīng)的需求信息,此時(shí)就不用再到底層數(shù)據(jù)庫(kù)中去尋找需求信息,因?yàn)榈讓訑?shù)據(jù)庫(kù)存儲(chǔ)的信息較多,業(yè)務(wù)服務(wù)器1去尋找需要占用大量的計(jì)算資源,容易出現(xiàn)當(dāng)機(jī)的問(wèn)題,若公共緩存池中沒(méi)有與該T特征值對(duì)應(yīng)的需求信息組需要進(jìn)入到底層的底層數(shù)據(jù)庫(kù)中尋找,隨后業(yè)務(wù)服務(wù)器1根據(jù)T特征值在底層數(shù)據(jù)庫(kù)中尋找需求信息,并得到需求信息,得到需求信息后,業(yè)務(wù)服務(wù)器1將得到的需求信息返回給網(wǎng)關(guān),網(wǎng)關(guān)返回給客戶端,實(shí)現(xiàn)對(duì)請(qǐng)求的應(yīng)答,同時(shí)業(yè)務(wù)服務(wù)器1將該對(duì)T特征值和需求信息同時(shí)緩存到公共緩存池中,以待短時(shí)間內(nèi)有針對(duì)通過(guò)T特征值的請(qǐng)求時(shí)直接從公共緩存池中調(diào)用,公共緩存池每隔一段預(yù)定時(shí)間后會(huì)自動(dòng)清除其內(nèi)緩存的信息。由于網(wǎng)關(guān)是隨機(jī)將任一請(qǐng)求發(fā)送至業(yè)務(wù)服務(wù)器中的,因此不同業(yè)務(wù)服務(wù)器之間是極有可能在短時(shí)間受到有對(duì)應(yīng)共同需求的請(qǐng)求的,然而將私有緩存池共享成公共緩存池就能避免此缺陷,例如下例:在上述A請(qǐng)求對(duì)應(yīng)的T特征值和需求信息緩存到公共緩存池中短時(shí)間內(nèi),網(wǎng)關(guān)將B請(qǐng)求分發(fā)到了業(yè)務(wù)服務(wù)器2中,業(yè)務(wù)服務(wù)器2根據(jù)B請(qǐng)求找到的也是T特征值,這時(shí)如果私有緩存池沒(méi)有共享,那么業(yè)務(wù)服務(wù)器2仍然會(huì)在底層數(shù)據(jù)庫(kù)中去尋找和計(jì)算,這就導(dǎo)致了業(yè)務(wù)服務(wù)器2計(jì)算資源的浪費(fèi),加大了業(yè)務(wù)服務(wù)器2運(yùn)行壓力,而本實(shí)施例中已經(jīng)私有緩存池之間共享成公共緩存池,業(yè)務(wù)服務(wù)器2同樣判斷公共緩存池中是否已有T特征值對(duì)應(yīng)的需求數(shù)據(jù),由于在之前已經(jīng)有業(yè)務(wù)服務(wù)器1將該對(duì)T特征值和需求信息同時(shí)緩存到公共緩存池中,故此時(shí)業(yè)務(wù)服務(wù)器1直接從公共緩存池中調(diào)用后返回網(wǎng)關(guān),實(shí)現(xiàn)B請(qǐng)求的應(yīng)答,進(jìn)而大大減少了業(yè)務(wù)服務(wù)器訪問(wèn)底層數(shù)據(jù)庫(kù)的計(jì)算資源的消耗。
最后說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的宗旨和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。