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