本發(fā)明涉及電子技術領域,尤其涉及一種服務請求處理方法、裝置及計算機可讀存儲介質。
背景技術:
服務雪崩效應是一種因服務提供者的不可用導致服務調用者的不可用、并將不可用逐漸放大的過程。目前,為了防止服務器雪崩,通過限制單個ip的請求數(shù)或者請求流量,來達到限流的目的。例如,通過記錄每個用戶的請求數(shù)或請求流量,并且預先配置限制閾值,判斷每個用戶的請求數(shù)或請求流量是否超過限制閾值,如果超過,則對該用戶的請求數(shù)和請求流量進行限制。但是,在這種情況下,服務器仍然會很多無效的請求,如果在大流量的情況下,也會造成服務雪崩,導致系統(tǒng)癱瘓。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種服務請求處理方法、裝置及計算機可讀存儲介質。可以解決現(xiàn)有技術方案中容易造成服務雪崩的問題。
第一方面,本發(fā)明實施例提供了一種服務請求處理方法,包括:
接收用戶設備發(fā)送的服務請求,記錄所述服務請求的接收時間點,并將所述服務請求寫入共享內(nèi)存;
從所述共享內(nèi)存讀取所述服務請求,并記錄所述服務請求的處理時間點;
根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理;
若確定對所述服務請求進行處理,向所述用戶設備發(fā)送回復信息。
其中,所述根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理包括:
將所述處理時間點減去所述接收時間點,計算所述服務請求的等待時間;
判斷所述服務請求的等待時間是否大于預設時長;
根據(jù)判斷結果,確定是否對所述服務請求進行處理。
其中,所述根據(jù)判斷結果,確定是否對所述服務請求進行處理包括:
若所述服務請求的等待時間大于所述預設時長,則刪除所述服務請求;或
若所述服務請求的等待時間不大于所述預設時長,則確定對所述服務請求進行處理。
其中,所述接收用戶設備發(fā)送的服務請求,記錄所述服務請求的接收時間點,并將所述服務請求寫入共享內(nèi)存之后,還包括:
通過代理服務器向控制中心發(fā)送所述服務請求。
其中,所述從所述共享內(nèi)存讀取所述服務請求,并記錄所述服務請求的處理時間點之后,還包括:
從所述控制中心獲取所述服務請求的控制信息;
根據(jù)所述控制信息,確定是否對所述服務請求進行處理。
其中,所述控制信息包括預設門限值,
所述根據(jù)所述控制信息,確定是否對所述服務請求進行處理包括:
確定當前并行處理的所述服務請求的條數(shù)是否大于所述預設門限值;
若當前并行處理的所述服務請求的條數(shù)不大于所述預設門限值,則確定對所述服務請求進行處理。
其中,所述控制信息包括訪問權限,所述根據(jù)所述控制信息,確定是否對所述服務請求進行處理包括:
確定所述服務請求是否具有所述訪問權限;
若所述服務請求具有所述訪問權限,則確定對所述服務請求進行處理。
其中,所述根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理之后,還包括:
若確定暫停對所述服務請求進行處理,在等待預設時間間隔后獲取服務器的運行狀態(tài);
若所述服務器的運行狀態(tài)為空閑狀態(tài),則開始對所述服務請求進行處理。
第二方面,本發(fā)明實施例提供了一種服務請求處理裝置,包括:
信息接收模塊,用于接收用戶設備發(fā)送的服務請求,記錄所述服務請求的接收時間點,并將所述服務請求寫入共享內(nèi)存;
信息獲取模塊,用于從所述共享內(nèi)存讀取所述服務請求,并記錄所述服務請求的處理時間點;
信息處理模塊,用于根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理;
信息發(fā)送模塊,用于若確定對所述服務請求進行處理,向所述用戶設備發(fā)送回復信息。
其中,所述信息處理模塊具體用于:
將所述處理時間點減去所述接收時間點,計算所述服務請求的等待時間;
判斷所述服務請求的等待時間是否大于預設時長;
根據(jù)判斷結果,確定是否對所述服務請求進行處理。
其中,所述信息處理模塊具體用于:
若所述服務請求的等待時間大于所述預設時長,則刪除所述服務請求;或
若所述服務請求的等待時間不大于所述預設時長,則確定對所述服務請求進行處理。
其中,所述信息發(fā)送模塊,還用于通過代理服務器向控制中心發(fā)送所述服務請求。
其中,所述信息處理模塊,還用于從所述控制中心獲取所述服務請求的控制信息;根據(jù)所述控制信息,確定是否對所述服務請求進行處理。
其中,所述信息處理模塊具體用于:
確定當前并行處理的所述服務請求的條數(shù)是否大于所述預設門限值;
若當前并行處理的所述服務請求的條數(shù)不大于所述預設門限值,則確定對所述服務請求進行處理。
其中,所述信息處理模塊具體用于:
確定所述服務請求是否具有所述訪問權限;
若所述服務請求具有所述訪問權限,則確定對所述服務請求進行處理。
第三方面,本發(fā)明實施例提供了一種服務請求處理裝置,所述裝置包括接口電路、存儲器以及處理器,其中,存儲器中存儲一組程序代碼,且處理器用于調用存儲器中存儲的程序代碼,用于執(zhí)行以下操作:
接收用戶設備發(fā)送的服務請求,記錄所述服務請求的接收時間點,并將所述服務請求寫入共享內(nèi)存;
從所述共享內(nèi)存讀取所述服務請求,并記錄所述服務請求的處理時間點;
根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理;
若確定對所述服務請求進行處理,向所述用戶設備發(fā)送回復信息。
本申請的又一方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有多條指令,所述指令適于由處理器加載并執(zhí)行上述各方面所述的方法。
本申請的又一方面提供了一種包含指令的計算機程序產(chǎn)品,當其在計算機上運行時,使得計算機執(zhí)行上述各方面所述的方法。
實施本發(fā)明實施例,首先接收用戶設備發(fā)送的服務請求,記錄所述服務請求的接收時間點,并將所述服務請求寫入共享內(nèi)存;然后從所述共享內(nèi)存讀取所述服務請求,并記錄所述服務請求的處理時間點;其次根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理;最后若確定對所述服務請求進行處理,向所述用戶設備發(fā)送回復信息。通過判斷接收時間點和處理時間點之間的時間差值來確定是否丟棄服務請求,來防止服務雪崩。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提出的一種服務請求處理系統(tǒng)的架構示意圖;
圖2是本發(fā)明實施例提供的一種服務請求處理方法的流程示意圖;
圖3是本發(fā)明實施例提供的一種應用服務器的結構示意圖;
圖4是本發(fā)明另一實施例提供的一種服務請求處理方法的流程示意圖;
圖5是本發(fā)明實施例提供的一種服務請求處理裝置的結構示意圖;
圖6是本發(fā)明另一實施例提供的一種服務請求處理裝置的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參考圖1,圖1是本發(fā)明實施例提出的一種服務請求處理系統(tǒng)的架構示意圖。如圖所示,本發(fā)明實施例中的系統(tǒng)可以包括應用服務器、代理服務器、控制中心以及數(shù)據(jù)庫,其中,應用服務器用于接收用戶設備的服務請求,并向用戶設備返回回復信息,代理服務器用于將服務器的請求信息轉發(fā)給控制中心,控制中心用于匯總所有服務器上報的請求信息,用戶可以在控制中心提供的前端頁面上查看或者修改信息,數(shù)據(jù)庫用于保存控制中心接收到的請求信息。當然,應用服務器可以直接向控制中心上報請求信息,而不需要通過代理服務器向控制中心上報請求信息。其中,上述應用服務器可以具體為即時通信應用的后臺服務器或云端服務設備。
請參考圖2,圖2是本發(fā)明實施例提供的一種服務請求處理方法的流程示意圖。如圖所示,本發(fā)明實施例中的方法包括:
s201,接收用戶設備發(fā)送的服務請求,記錄所述服務請求的接收時間點,并將所述服務請求寫入共享內(nèi)存。
具體實現(xiàn)中,如圖3所示,圖3本發(fā)明實施例提供的一種應用服務器的結構示意圖。該應用服務器可以包括代理節(jié)點proxy、共享內(nèi)存以及工作節(jié)點worker。其中,代理節(jié)點可以用于接收用戶設備發(fā)送的服務請求或向用戶設備返回回復信息,共享內(nèi)存可以用于存儲服務請求,工作節(jié)點可以用于處理服務請求。用戶設備可以單位時間內(nèi)向服務器發(fā)送一個服務請求,也可以在單位時間內(nèi)連續(xù)向服務器發(fā)送的多個服務請求。應用服務器可以首先加載配置文件,獲取監(jiān)聽端口,進行初始化,同時監(jiān)聽多個用戶設備發(fā)送的服務請求,在接收到服務請求時,記錄該服務請求的接收時間點,然后將該服務請求寫入共享內(nèi)存,放入請求陣列中等待處理。
s202,從所述共享內(nèi)存讀取所述服務請求,并記錄所述服務請求的處理時間點。
具體實現(xiàn)中,應用服務器可以從請求陣列中同時讀取多個服務請求,也可以從請求陣列中讀取一個服務請求,在讀取服務請求之后開始對服務請求進行處理,并記錄每個服務請求的處理時間點。
s203,根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理。
具體實現(xiàn)中,應用服務器可以將所述處理時間點減去所述接收時間點,計算所述服務請求的等待時間;判斷所述服務請求的等待時間是否大于預設時長;根據(jù)判斷結果,確定是否對所述服務請求進行處理。
進一步的,若所述服務請求的等待時間大于所述預設時長,則舍棄所述服務請求或暫停處理該服務請求;或若所述服務請求的等待時間不大于所述預設時長,則確定對所述服務請求進行處理。
需要說明的是,對于等待時間大于所述預設時長的服務請求,應用服務器可以判定該服務請求為無效請求,直接舍棄該服務請求,從而減少了應用服務器所需要處理的服務請求的數(shù)量。
s204,若確定對所述服務請求進行處理,向所述用戶設備發(fā)送回復信息。
具體實現(xiàn)中,若確定對所述服務請求進行處理,應用服務器可以根據(jù)服務請求分別確定處理后的回復信息,并將回復信息放入共享內(nèi)存,然后從共享內(nèi)存中讀取回復信息,并向用戶設備發(fā)送回復信息。
可選的,在所述根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理之后,若確定暫停對所述服務請求進行處理,在等待預設時間間隔后獲取應用服務器的運行狀態(tài);若所述應用服務器的運行狀態(tài)為空閑狀態(tài),則開始對所述服務請求進行處理。若所述應用服務器的運行狀態(tài)為繁忙狀態(tài),則不再對該服務請求進行處理,并向用戶設備發(fā)送提示信息以提醒用戶該服務請求失敗。
可選的,可以預先建立服務請求的類型與優(yōu)先級的對應關系(如,個人發(fā)送的服務請求對應第一優(yōu)先級,運營商群發(fā)的服務請求對應第二優(yōu)先級),若確定暫停對所述服務請求進行處理,可以獲取服務請求的類型進而確定所述服務請求的優(yōu)先級,可以根據(jù)所述優(yōu)先級確定是否對所述服務請求進行舍棄,若所述服務請求的優(yōu)先級低,例如:所述優(yōu)先級低于預設優(yōu)先級等,則直接舍棄該服務請求,若所述服務請求的優(yōu)先級高,例如:所述優(yōu)先級高于預設優(yōu)先級等,重新對該服務請求進行處理,可選的,還可以對優(yōu)先級高的服務請求歸類為優(yōu)先處理、一般處理,延后處理等處理順序,可以依據(jù)服務請求的優(yōu)先級的處理順序依次進行處理。
在本發(fā)明實施例中,在高并發(fā)請求情況下,無效的請求越積越多,容易導致影響正常的請求進行優(yōu)化。本發(fā)明實施例通過對每個請求進行追蹤,記錄每個請求的接收時間點和處理時間點,確定出無效請求,進而定時清理掉無效的請求,防止應用服務器雪崩。
請參考圖4,圖4是本發(fā)明實施例提供的另一種服務請求處理方法的流程示意圖。如圖所示,本發(fā)明實施例中的方法包括:
s401,接收用戶設備發(fā)送的服務請求,記錄所述服務請求的接收時間點,并將所述服務請求寫入共享內(nèi)存。
具體實現(xiàn)中,如圖3所示,圖3本發(fā)明實施例提供的一種應用服務器的結構示意圖。該應用服務器可以包括代理節(jié)點proxy、共享內(nèi)存以及工作節(jié)點worker。其中,代理節(jié)點可以用于接收用戶設備發(fā)送的服務請求或向用戶設備返回回復信息,共享內(nèi)存可以用于存儲服務請求,工作節(jié)點可以用于處理服務請求。用戶設備可以單位時間內(nèi)向服務器發(fā)送一個服務請求,也可以在單位時間內(nèi)連續(xù)向服務器發(fā)送的多個服務請求。應用服務器可以首先加載配置文件,獲取監(jiān)聽端口,進行初始化,同時監(jiān)聽多個用戶設備發(fā)送的服務請求,在接收到服務請求時,記錄該服務請求的接收時間點,然后將該服務請求寫入共享內(nèi)存,放入請求陣列中等待處理。
s402,通過代理服務器向控制中心發(fā)送所述服務請求。
s403,從所述共享內(nèi)存讀取所述服務請求,并記錄所述服務請求的處理時間點。
具體實現(xiàn)中,應用服務器可以從請求陣列中同時讀取多個服務請求,也可以從請求陣列中讀取一個服務請求,在讀取服務請求之后開始對服務請求進行處理,并記錄每個服務請求的處理時間點。
s404,根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理。
具體實現(xiàn)中,可以將所述處理時間點減去所述接收時間點,計算所述服務請求的等待時間;判斷所述服務請求的等待時間是否大于預設時長;根據(jù)判斷結果,確定是否對所述服務請求進行處理。
進一步的,若所述服務請求的等待時間大于所述預設時長,則舍棄所述服務請求或暫停處理該服務請求;或若所述服務請求的等待時間不大于所述預設時長,則確定對所述服務請求進行處理。
需要說明的是,對于等待時間大于所述預設時長的服務請求,應用服務器可以判定該服務請求為無效請求,直接舍棄該服務請求,從而減少了應用服務器所需要處理的服務請求的數(shù)量,并從請求隊列中讀取其他服務請求進行處理。
s405,若是,從所述控制中心獲取所述服務請求的控制信息。
具體實現(xiàn)中,控制中心收到應用服務器發(fā)送的服務請求之后,對所有應用服務器發(fā)送的服務請求進行匯總,控制中心通過前端網(wǎng)頁對匯總信息進行顯示,用戶可以查看匯總信息,對應用服務器的運行狀態(tài)進行監(jiān)控,并設置或修改相關的控制信息,以便有效控制應用服務器的運行,實現(xiàn)良好的運行狀態(tài)。其中,所述控制信息可以包括預設門限值或/和訪問權限,預設門限值可以包括網(wǎng)絡連接數(shù)的門限值、網(wǎng)絡流量的門限值或并發(fā)請求門限值等等,訪問權限可以包括白名單黑名單或用戶密碼等等。另外,控制中心在接收到應用服務器發(fā)送的服務請求之后,可以將所有服務請求放入數(shù)據(jù)庫。
s406,根據(jù)所述控制信息,確定是否對所述服務請求進行處理。
具體實現(xiàn)中,可以確定當前并行處理的所述服務請求的條數(shù)是否大于所述預設門限值;若當前并行處理的所述服務請求的條數(shù)不大于所述預設門限值,則確定對所述服務請求進行處理。若當前并行處理的所述服務請求的條數(shù)大于所述預設門限值,則將服務請求返回到共享內(nèi)存。在服務請求放回共享內(nèi)存之后,如果再次讀取到該服務請求,也可以通過計算該服務請求的等待時間來丟棄該服務請求。
可選的,可以確定所述服務請求是否具有所述訪問權限;若所述服務請求具有所述訪問權限,則確定對所述服務請求進行處理。若所述服務請求不具有所述訪問權限,則將服務請求返回到共享內(nèi)存。例如,可以確定服務請求對應的ip地址是否具有訪問權限,或者發(fā)送服務請求的用戶是白名單用戶或是黑名單用戶。
需要說明的是,本發(fā)明實施例不僅限于包括上述兩種判斷方式,還可以包括其他判斷方式,此處不再贅述。
s407,若確定對所述服務請求進行處理,向所述用戶設備發(fā)送回復信息。
具體實現(xiàn)中,若確定對所述服務請求進行處理,應用服務器可以根據(jù)服務請求分別確定處理后的回復信息,并將回復信息放入共享內(nèi)存,然后從共享內(nèi)存中讀取回復信息,并向用戶設備發(fā)送回復信息。
在本發(fā)明實施例中,在高并發(fā)請求情況下,無效的請求越積越多,容易導致影響正常的請求進行優(yōu)化,本發(fā)明實施例通過對每個請求進行追蹤,記錄每個請求的接收時間點和處理時間點,判斷出無效請求,進而定時清理掉無效的請求,并結合控制中心來對服務器的流量進行控制,實現(xiàn)對應用服務器的流量限制,從而更加有效防止服務器雪崩。
請參考圖5,圖5是本發(fā)明實施例提供的一種服務請求處理裝置的結構示意圖。該裝置可以為應用服務器,如圖所示,本發(fā)明實施例中的裝置包括:
信息接收模塊501,用于接收用戶設備發(fā)送的服務請求,記錄所述服務請求的接收時間點,并將所述服務請求寫入共享內(nèi)存。
具體實現(xiàn)中,用戶設備可以單位時間內(nèi)向服務器發(fā)送一個服務請求,也可以在單位時間內(nèi)連續(xù)向應用服務器發(fā)送的多個服務請求。應用服務器可以首先加載配置文件,獲取監(jiān)聽端口,進行初始化,同時監(jiān)聽多個用戶設備發(fā)送的服務請求,在接收到服務請求時,記錄該服務請求的接收時間點,然后將該服務請求寫入共享內(nèi)存,放入請求陣列中等待處理。
可選的,在接收用戶設備發(fā)送的服務請求之后,可以通過代理服務器向控制中心發(fā)送所述服務請求。控制中心在接收到服務器發(fā)送的服務請求之后,可以將所有服務請求放入數(shù)據(jù)庫。
信息獲取模塊502,用于從所述共享內(nèi)存讀取所述服務請求,并記錄所述服務請求的處理時間點。
具體實現(xiàn)中,可以從請求陣列中同時讀取多個服務請求,也可以從請求陣列中讀取一個服務請求,在讀取服務請求之后開始對服務請求進行處理,并記錄每個服務請求的處理時間點。
信息處理模塊503,用于根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理。
具體實現(xiàn)中,可以將所述處理時間點減去所述接收時間點,計算所述服務請求的等待時間;判斷所述服務請求的等待時間是否大于預設時長;根據(jù)判斷結果,確定是否對所述服務請求進行處理。
進一步的,若所述服務請求的等待時間大于所述預設時長,則舍棄所述服務請求或暫停處理該服務請求;或若所述服務請求的等待時間不大于所述預設時長,則確定對所述服務請求進行處理。
需要說明的是,對于等待時間大于所述預設時長的服務請求,可以判定該服務請求為無效請求,直接舍棄該服務請求,從而減少了應用服務器所需要處理的服務請求的數(shù)量,并從請求隊列中讀取其他服務請求進行處理。
可選的,在根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理之后,可以從所述控制中心獲取所述服務請求的控制信息,根據(jù)所述控制信息,確定是否對所述服務請求進行處理。
進一步的,控制中心收到應用服務器發(fā)送的服務請求之后,對所有應用服務器發(fā)送的服務請求進行匯總,控制中心通過前端網(wǎng)頁對匯總信息進行顯示,用戶可以查看匯總信息,對應用服務器的運行狀態(tài)進行監(jiān)控,并設置或修改相關的控制信息,以便有效控制應用服務器的運行,實現(xiàn)良好的運行狀態(tài)。其中,所述控制信息可以包括預設門限值或/和訪問權限,預設門限值可以包括網(wǎng)絡連接數(shù)的門限值、網(wǎng)絡流量的門限值或并發(fā)請求門限值等等,訪問權限可以包括白名單黑名單或用戶密碼等等。
進一步的,可以確定當前并行處理的所述服務請求的條數(shù)是否大于所述預設門限值;若當前并行處理的所述服務請求的條數(shù)不大于所述預設門限值,則確定對所述服務請求進行處理。若當前并行處理的所述服務請求的條數(shù)大于所述預設門限值,則將服務請求返回到共享內(nèi)存。在服務請求放回共享內(nèi)存之后,如果再次讀取到該服務請求,也可以通過計算該服務請求的等待時間來丟棄該服務請求。
進一步的,可以確定所述服務請求是否具有所述訪問權限;若所述服務請求具有所述訪問權限,則確定對所述服務請求進行處理。若所述服務請求不具有所述訪問權限,則將服務請求返回到共享內(nèi)存。例如,可以確定服務請求對應的ip地址是否具有訪問權限,或者發(fā)送服務請求的用戶是白名單用戶或是黑名單用戶。
需要說明的是,本發(fā)明實施例不僅限于包括上述兩種判斷方式,還可以包括其他判斷方式,此處不再贅述。
信息發(fā)送模塊504,用于若確定對所述服務請求進行處理,向所述用戶設備發(fā)送回復信息。
具體實現(xiàn)中,若確定對所述服務請求進行處理,根據(jù)服務請求分別確定處理后的回復信息,并將回復信息放入共享內(nèi)存,然后從共享內(nèi)存中讀取回復信息,并向用戶設備發(fā)送回復信息。
可選的,在所述根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理之后,若確定暫停對所述服務請求進行處理,在等待預設時間間隔后獲取應用服務器的運行狀態(tài);若所述應用服務器的運行狀態(tài)為空閑狀態(tài),則開始對所述服務請求進行處理,若所述應用服務器的運行狀態(tài)為繁忙狀態(tài),則不再對該服務請求進行處理,并向用戶設備發(fā)送提示信息以提醒用戶該服務請求失敗。
可選的,可以預先建立服務請求的類型與優(yōu)先級的對應關系(如,個人發(fā)送的服務請求對應第一優(yōu)先級,運營商群發(fā)的服務請求對應第二優(yōu)先級),若確定暫停對所述服務請求進行處理,可以獲取服務請求的類型進而確定所述服務請求的優(yōu)先級,可以根據(jù)所述優(yōu)先級確定是否對所述服務請求進行舍棄,若所述服務請求的優(yōu)先級低,例如:所述優(yōu)先級低于預設優(yōu)先級等,則直接舍棄該服務請求,若所述服務請求的優(yōu)先級高,例如:所述優(yōu)先級高于預設優(yōu)先級等,重新對該服務請求進行處理,可選的,還可以對優(yōu)先級高的服務請求歸類為優(yōu)先處理、一般處理,延后處理等處理順序,可以依據(jù)服務請求的優(yōu)先級的處理順序依次進行處理。
在本發(fā)明實施例中,在高并發(fā)請求情況下,無效的請求越積越多,容易導致影響正常的請求進行優(yōu)化,本發(fā)明實施例通過對每個請求進行追蹤,記錄每個請求的接收時間點和處理時間點,判斷出無效請求,進而定時清理掉無效的請求,并結合控制中心來對服務器的流量進行控制,實現(xiàn)對服務器的流量限制,從而更加有效防止應用服務器雪崩。
請繼續(xù)參考圖6,圖6是本發(fā)明實施例提出的另一種服務請求處理裝置的結構示意圖。如圖所示,該裝置可以包括:至少一個處理器601,例如cpu,至少一個通信接口602,至少一個存儲器603和至少一個通信總線604。其中,通信總線604用于實現(xiàn)這些組件之間的連接通信。其中,本申請實施例中設備的通信接口602用于與其他節(jié)點設備進行信令或數(shù)據(jù)的通信。存儲器603可以是高速ram存儲器,也可以是非不穩(wěn)定的存儲器(non-volatilememory),例如至少一個磁盤存儲器。存儲器603可選的還可以是至少一個位于遠離前述處理器601的存儲裝置。存儲器603中存儲一組程序代碼,且處理器601執(zhí)行存儲器603中上述終端所執(zhí)行的程序。
接收用戶設備發(fā)送的服務請求,記錄所述服務請求的接收時間點,并將所述服務請求寫入共享內(nèi)存;
從所述共享內(nèi)存讀取所述服務請求,并記錄所述服務請求的處理時間點;
根據(jù)所述服務請求的所述接收時間點和所述處理時間點,確定是否對所述服務請求進行處理;
若確定對所述服務請求進行處理,向所述用戶設備發(fā)送回復信息。
其中,處理器601還用于執(zhí)行如下操作步驟:
將所述處理時間點減去所述接收時間點,計算所述服務請求的等待時間;
判斷所述服務請求的等待時間是否大于預設時長;
根據(jù)判斷結果,確定是否對所述服務請求進行處理。
其中,處理器601還用于執(zhí)行如下操作步驟:
若所述服務請求的等待時間大于所述預設時長,則刪除所述服務請求;或
若所述服務請求的等待時間不大于所述預設時長,則確定對所述服務請求進行處理。
其中,處理器601還用于執(zhí)行如下操作步驟:
通過代理服務器向控制中心發(fā)送所述服務請求。
其中,處理器601還用于執(zhí)行如下操作步驟:
從所述控制中心獲取所述服務請求的控制信息;
根據(jù)所述控制信息,確定是否對所述服務請求進行處理。
其中,處理器601還用于執(zhí)行如下操作步驟:
確定當前并行處理的所述服務請求的條數(shù)是否大于所述預設門限值;
若當前并行處理的所述服務請求的條數(shù)不大于所述預設門限值,則確定對所述服務請求進行處理。
其中,處理器601還用于執(zhí)行如下操作步驟:
確定所述服務請求是否具有所述訪問權限;
若所述服務請求具有所述訪問權限,則確定對所述服務請求進行處理。
其中,處理器601還用于執(zhí)行如下操作步驟:
若確定暫停對所述服務請求進行處理,在等待預設時間間隔后獲取應用服務器的運行狀態(tài);
若所述應用服務器的運行狀態(tài)為空閑狀態(tài),則開始對所述服務請求進行處理。
在上述實施例中,可以全部或部分地通過軟件、硬件、固件或者其任意組合來實現(xiàn)。當使用軟件實現(xiàn)時,可以全部或部分地以計算機程序產(chǎn)品的形式實現(xiàn)。所述計算機程序產(chǎn)品包括一個或多個計算機指令。在計算機上加載和執(zhí)行所述計算機程序指令時,全部或部分地產(chǎn)生按照本申請實施例所述的流程或功能。所述計算機可以是通用計算機、專用計算機、計算機網(wǎng)絡、或者其他可編程裝置。所述計算機指令可以存儲在計算機可讀存儲介質中,或者從一個計算機可讀存儲介質向另一個計算機可讀存儲介質傳輸,例如,所述計算機指令可以從一個網(wǎng)站站點、計算機、服務器或數(shù)據(jù)中心通過有線(例如同軸電纜、光纖、數(shù)字用戶線(dsl))或無線(例如紅外、無線、微波等)方式向另一個網(wǎng)站站點、計算機、服務器或數(shù)據(jù)中心進行傳輸。所述計算機可讀存儲介質可以是計算機能夠存取的任何可用介質或者是包含一個或多個可用介質集成的服務器、數(shù)據(jù)中心等數(shù)據(jù)存儲設備。所述可用介質可以是磁性介質,(例如,軟盤、硬盤、磁帶)、光介質(例如,dvd)、或者半導體介質(例如固態(tài)硬盤solidstatedisk(ssd))等。
需要說明的是,對于前述的各個方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某一些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳細描述的部分,可以參見其他實施例的相關描述。
以上對本發(fā)明實施例所提供的內(nèi)容下載方法及相關設備、系統(tǒng)進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。