業(yè)務請求的響應方法和裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領域,特別是涉及一種業(yè)務請求的響應方法和裝置。
【背景技術】
[0002]隨著網絡技術的發(fā)展,越來越多的用戶利用網絡從事各種活動。各種數(shù)據(jù)存儲在服務器上或數(shù)據(jù)交互需要通過服務器進行傳遞,用戶從服務器拉取數(shù)據(jù)或依賴服務器傳遞數(shù)據(jù)時,需要發(fā)送請求給服務器,等待服務器進行響應。
[0003]對于服務器來說,受制于資源有限,其在單位時間內能夠正常處理并返回的請求數(shù)量有一個最大值,在客戶端過來的請求數(shù)超過最大值之后,服務器的處理能力會過載,在這種情況下,部分請求將無法得到處理或無法在正常的處理時間內返回給調用方,服務器的最大處理能力可能會比正常情況還低,甚至完全無法正常處理請求。
[0004]對于調用方來說,通常在發(fā)起一個請求調用之后,在等待服務器的返回之前,設置一個超時時間,如果超時時間內沒有得到服務器的返回結果,則認為請求處理失敗,同時調用方可能會發(fā)起重試,這些重試又可能使得服務器當前處理的請求數(shù)增加,從而使得服務器上等待處理的請求數(shù)進一步增加,導致整體情況出現(xiàn)惡化,甚至出現(xiàn)雪崩。
【發(fā)明內容】
[0005]基于此,有必要針對業(yè)務請求數(shù)多,服務器無法正常處理請求導致服務質量差的問題,提供一種能提高服務器服務質量的業(yè)務請求的響應方法和裝置。
[0006]一種業(yè)務請求的響應方法,包括以下步驟:
[0007]接收業(yè)務請求;
[0008]獲取所述業(yè)務請求中業(yè)務優(yōu)先級和發(fā)起所述業(yè)務請求的用戶優(yōu)先級;
[0009]將所述業(yè)務請求中的業(yè)務優(yōu)先級與系統(tǒng)的業(yè)務優(yōu)先級比較,若所述業(yè)務請求中的業(yè)務優(yōu)先級高于系統(tǒng)的業(yè)務優(yōu)先級,則響應所述業(yè)務請求;若所述業(yè)務請求中的業(yè)務優(yōu)先級低于系統(tǒng)的業(yè)務優(yōu)先級,則拒絕所述業(yè)務請求;若所述業(yè)務請求中的業(yè)務優(yōu)先級等于系統(tǒng)的業(yè)務優(yōu)先級,則將發(fā)起所述業(yè)務請求的用戶優(yōu)先級與系統(tǒng)的用戶優(yōu)先級進行比較;若發(fā)起所述業(yè)務請求的用戶優(yōu)先級高于或等于系統(tǒng)的用戶優(yōu)先級,則響應所述業(yè)務請求,若發(fā)起所述業(yè)務請求的用戶優(yōu)先級低于系統(tǒng)的用戶優(yōu)先級,則拒絕所述業(yè)務請求。
[0010]一種業(yè)務請求的響應裝置,包括:
[0011]接收模塊,用于接收業(yè)務請求;
[0012]獲取模塊,用于獲取所述業(yè)務請求中業(yè)務優(yōu)先級和發(fā)起所述業(yè)務請求的用戶優(yōu)先級;
[0013]響應模塊,用于將所述業(yè)務請求中的業(yè)務優(yōu)先級與系統(tǒng)的業(yè)務優(yōu)先級比較,若所述業(yè)務請求中的業(yè)務優(yōu)先級高于系統(tǒng)的業(yè)務優(yōu)先級,則響應所述業(yè)務請求;若所述業(yè)務請求中的業(yè)務優(yōu)先級低于系統(tǒng)的業(yè)務優(yōu)先級,則拒絕所述業(yè)務請求;若所述業(yè)務請求中的業(yè)務優(yōu)先級等于系統(tǒng)的業(yè)務優(yōu)先級,則將發(fā)起所述業(yè)務請求的用戶優(yōu)先級與系統(tǒng)的用戶優(yōu)先級進行比較;若發(fā)起所述業(yè)務請求的用戶優(yōu)先級高于或等于系統(tǒng)的用戶優(yōu)先級,則響應所述業(yè)務請求,若發(fā)起所述業(yè)務請求的用戶優(yōu)先級低于系統(tǒng)的用戶優(yōu)先級,則拒絕所述業(yè)務請求。
[0014]上述業(yè)務請求的響應方法和裝置,通過獲取業(yè)務請求中的業(yè)務優(yōu)先級和用戶優(yōu)先級,對業(yè)務請求中的業(yè)務優(yōu)先級高于系統(tǒng)的業(yè)務優(yōu)先級的請求進行響應,對低于系統(tǒng)的業(yè)務優(yōu)先級的請求進行拒絕,對業(yè)務請求中的業(yè)務優(yōu)先級等于系統(tǒng)的業(yè)務優(yōu)先級的請求,比較用戶優(yōu)先級,發(fā)起業(yè)務請求的用戶優(yōu)先級高于系統(tǒng)的用戶優(yōu)先級的請求進行響應,對業(yè)務請求按照優(yōu)先級高低進行響應,保證優(yōu)先級高的優(yōu)先響應,保證服務器能較好的處理業(yè)務請求,提高了服務器的服務質量。
【附圖說明】
[0015]圖1為一個實施例中業(yè)務請求的響應方法的流程圖;
[0016]圖2為業(yè)務優(yōu)先級和用戶優(yōu)先級的關系示意圖;
[0017]圖3為一個實施例中業(yè)務請求的響應裝置的結構框圖;
[0018]圖4為另一個實施例中業(yè)務請求的響應裝置的結構框圖;
[0019]圖5為能實現(xiàn)本發(fā)明實施例的一個計算機系統(tǒng)的模塊圖。
【具體實施方式】
[0020]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0021]為了防止業(yè)務請求數(shù)增加使得服務器上等待處理的業(yè)務請求數(shù)增加,導致服務器出現(xiàn)雪崩的情況,在服務器出現(xiàn)過量請求的情況下,需要讓服務器仍然能夠最大化輸出處理能力,同時能夠快速的拒絕無法處理的請求。本發(fā)明通過對業(yè)務劃分優(yōu)先級以及對用戶劃分優(yōu)先級,并在服務器上預設響應處理的業(yè)務優(yōu)先級和用戶優(yōu)先級,將接收的業(yè)務請求中的業(yè)務優(yōu)先級與系統(tǒng)的業(yè)務優(yōu)先級進行比較,對業(yè)務優(yōu)先級高于系統(tǒng)的業(yè)務優(yōu)先級的業(yè)務請求進行響應,對業(yè)務優(yōu)先級與系統(tǒng)的業(yè)務優(yōu)先級相等的業(yè)務請求,比較發(fā)起業(yè)務請求的用戶優(yōu)先級與系統(tǒng)的用戶優(yōu)先級,若用戶優(yōu)先級高于系統(tǒng)的用戶優(yōu)先級的業(yè)務請求進行響應,盡量保持對業(yè)務優(yōu)先級高且用戶優(yōu)先級高的業(yè)務請求優(yōu)先進行處理,提高服務器的服務質量。
[0022]圖1為一個實施例中業(yè)務請求的響應方法的流程圖。如圖1所示,該業(yè)務請求的響應方法,包括以下步驟:
[0023]步驟102,接收業(yè)務請求。
[0024]具體的,服務器接收終端發(fā)送的業(yè)務請求。
[0025]步驟104,獲取該業(yè)務請求中業(yè)務優(yōu)先級和發(fā)起該業(yè)務請求的用戶優(yōu)先級。
[0026]首先,在服務器上存儲預設的業(yè)務類型與業(yè)務優(yōu)先級之間的映射關系。業(yè)務類型可根據(jù)具體的業(yè)務進行分類,例如業(yè)務可為發(fā)送消息、下載數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)等等。不同的業(yè)務類型對應不同的業(yè)務優(yōu)先級。業(yè)務類型與業(yè)務優(yōu)先級之間的映射關系可依據(jù)業(yè)務類型的重要性配置業(yè)務優(yōu)先級,重要性級別越高,業(yè)務優(yōu)先級越高。
[0027]獲取業(yè)務請求后,從業(yè)務請求中獲取業(yè)務類型,根據(jù)業(yè)務類型從預設的業(yè)務類型與業(yè)務優(yōu)先級之間的映射關系得出相對應的業(yè)務優(yōu)先級。
[0028]業(yè)務可包括多個維度,每個維度包括多個業(yè)務優(yōu)先級,每個維度的重要性進行分級,重要性級別高的維度的一個業(yè)務優(yōu)先級包括重要性級別低的維度的所有業(yè)務優(yōu)先級;業(yè)務優(yōu)先級的總數(shù)目為每個維度的優(yōu)先級數(shù)目的乘積。
[0029]具體的,例如業(yè)務優(yōu)先級由調用方、被調用的服務器的接口兩個維度來決定,若調用方的優(yōu)先級有10個,被調用方的接口的優(yōu)先級有10個,則總的業(yè)務優(yōu)先級數(shù)目為100個。
[0030]獲取業(yè)務請求后,獲取業(yè)務請求中業(yè)務的維度信息,根據(jù)維度信息得到業(yè)務請求的業(yè)務優(yōu)先級。
[0031]在一個實施例中,獲取發(fā)起該業(yè)務請求的用戶優(yōu)先級的步驟包括:獲取預先配置的發(fā)起該業(yè)務請求的用戶優(yōu)先級。
[0032]具體的,在服務器上設置指定用戶的優(yōu)先級,建立用戶標識與用戶優(yōu)先級之間的映射關系。獲取發(fā)起業(yè)務請求的用戶標識,根據(jù)該用戶標識從用戶標識與用戶優(yōu)先級的映射關系中得出對應的用戶優(yōu)先級。用戶標識可為用戶名稱或用戶編號等。例如,用戶編號越小,用戶優(yōu)先級越高。
[0033]在一個實施例中,獲取發(fā)起該業(yè)務請求的用戶優(yōu)先級的步驟包括:獲取發(fā)起該業(yè)務請求的用戶標識,根據(jù)該用戶標識計算該用戶標識所對應的用戶優(yōu)先級。
[0034]具體的,在服務器上存儲用戶標識的哈希值與用戶優(yōu)先級之間的映射關系。哈希值越小,用戶的優(yōu)先級越高,哈希值越大,用戶的優(yōu)先級越低。求取業(yè)務請求中用戶標識的哈希值,根據(jù)用戶標識的哈希值從用戶標識的哈希值與用戶優(yōu)先級之間的映射關系中得出對應的用戶優(yōu)先級。也可采用其他計算方式,例如計算用戶編號的線性函數(shù)等,線性函數(shù)值越小,則用戶優(yōu)先級越高。還可定期變換計算方式。
[0035]步驟106,將該業(yè)務請求中的業(yè)務優(yōu)先級與系統(tǒng)的業(yè)務優(yōu)先級比較。
[0036]具體的,系統(tǒng)的業(yè)務優(yōu)先級是指服務器設定的業(yè)務優(yōu)先級,將對低于該設定的業(yè)務優(yōu)先級的業(yè)務請求拒絕響應。
[0037]步驟108,若該業(yè)務請求中的業(yè)務優(yōu)先級高于系統(tǒng)的業(yè)務優(yōu)先級,則響應該業(yè)務請求;若該業(yè)務請求中的業(yè)務優(yōu)先級低于系統(tǒng)的業(yè)務優(yōu)先級,則拒絕該業(yè)務請求;若該業(yè)務請求中的業(yè)務優(yōu)先級等于系統(tǒng)的業(yè)務優(yōu)先級,則將發(fā)起該業(yè)務請求的用戶優(yōu)先級與系統(tǒng)的用戶優(yōu)先級進行比較;若發(fā)起該業(yè)務請求的用戶優(yōu)先級高于或等于系統(tǒng)的用戶優(yōu)先級,則響應該業(yè)務請求,若發(fā)起該業(yè)務請求的用戶優(yōu)先級低于系統(tǒng)的用戶優(yōu)先級,則拒絕該業(yè)務請求。
[0038]系統(tǒng)的用戶優(yōu)先級是指服務器設定的用戶優(yōu)先級,將對低于該設定的用戶優(yōu)先級的業(yè)務請求拒絕響應。
[0039]每個業(yè)務優(yōu)先級下用戶的級別包括所有用戶優(yōu)先級。例如業(yè)務優(yōu)先級為I至10級,用戶優(yōu)先級為I至1000級。業(yè)務優(yōu)先級I級別高于業(yè)務優(yōu)先級2,業(yè)務優(yōu)先級2的級別高于業(yè)務優(yōu)先級3,依此類推,業(yè)務優(yōu)先級9的級別高于業(yè)務優(yōu)先級10。業(yè)務優(yōu)先級I下用戶的優(yōu)先級分為I至1000級;業(yè)務優(yōu)先級2下用戶的優(yōu)先級分為I至1000級等。用戶優(yōu)先級I的級別高于業(yè)務優(yōu)先級2,用戶優(yōu)先級2的級別高于業(yè)務優(yōu)先級3,依此類推,用戶優(yōu)先級9的級別高于業(yè)務優(yōu)先級10。
[0040]上述業(yè)務請求的響應方法,通過獲取業(yè)務請求中的業(yè)務優(yōu)先級和用戶優(yōu)先級,對業(yè)務請求中的業(yè)務優(yōu)先級