一種請求處理方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例公開了一種請求處理方法,用于根據請求的處理時間動態(tài)地調整請求的執(zhí)行優(yōu)先級和資源分配。本發(fā)明實施例方法包括:接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,將所述RPC請求加入服務請求隊列;根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
【專利說明】一種請求處理方法、裝置及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及通信領域,尤其涉及一種請求處理方法、裝置及系統(tǒng)。
【背景技術】
[0002]互聯(lián)網應用如電子郵件、搜索、網絡購物、社交網絡、在線視頻、網絡地圖等,已經成為人們生活的一部分。這些應用往往要為上億用戶服務,意味著互聯(lián)網應用已變成一種社會公共服務,而支撐擁有海量用戶互聯(lián)網應用的數據中心也成為社會核心基礎設施。
[0003]活躍用戶數與用戶訪問量是影響互聯(lián)網公司營收的主要因素,快速的服務響應時間是讓用戶滿意、留住用戶的關鍵?;ヂ?lián)網公司一般都采用免費服務吸引用戶,所以響應時間是衡量服務質量(Quality of Service, QoS)的關鍵指標。由于互聯(lián)網應用需要同時為上億用戶提供服務,所以出于性能與擴展性的考慮,它們大都采用分布式的方式實現,將一個應用分解為許多服務部署在多個業(yè)務處理服務器上,因此一個用戶的請求最終會被分配到多個不同的業(yè)務處理服務器上進行處理。順序/依賴模式一種典型的服務聚合模式,在這種模式下,上一階段服務的輸出是下一階段服務的輸入,相鄰兩個階段的服務具有依賴關系。
[0004]受到數據中心內請求特征、網絡、后臺操作等多種因素的影響,每個服務階段的響應時間是會不斷發(fā)生波動變化的;同時互聯(lián)網公司為了追求低成本目標,在數據中心運營時通常采用資源共享方式提高資源利用率,這種共享在降低成本的同時也會帶來應用之間相互干擾問題,加劇應用響應時間的波動。更嚴重的是,上一階段服務在業(yè)務處理服務器的響應時間的延時,可能會在下一階段服務處理過程中進一步的放大,在順序/依賴服務聚合模式中,每一級的響應時間的延時會被逐級的疊加,使得最終用戶請求的響應時間存在很大的延時。這種響應時間的延時會嚴重影響許多延遲敏感型應用(如搜索、在線購物等)的服務質量。
[0005]在現有技術中,技術人員在部署共享應用之前,對大量的現有應用進行預分析和測試,選擇相互干擾最小的應用進行混合部署,從而降低應用之間的相互干擾對響應時間的影響,盡可能的避免響應時間的延時。
[0006]但是,這種現有技術在部署前需要對大量的現有應用進行預分析和測試,操作難度較大,并且,由于現有應用的種類繁多和不確定性,就算在部署前對應用進行分析,也只能降低部分應用之間的相互干擾,很多應用之間還是存在較大的干擾,避免響應時間延時的效果不佳。
【發(fā)明內容】
[0007]本發(fā)明實施例提供了一種請求處理方法,用于根據請求的處理時間動態(tài)地調整請求的執(zhí)行優(yōu)先級和資源分配。
[0008]本發(fā)明實施例第一方面提供的請求處理方法,包括:
[0009]業(yè)務處理服務器接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間;所述業(yè)務處理服務器將所述RPC請求加入服務請求隊列;所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
[0010]在第一方面的第一種可能實現的方法中,
[0011]若所述業(yè)務處理服務器能夠同時處理所述服務請求隊列中所有的RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源;
[0012]若所述業(yè)務處理服務器僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級;
[0013]若所述業(yè)務處理服務器既無法同時處理所述服務請求隊列中所有的RPC請求,也不是僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置各個RPC請求的執(zhí)行優(yōu)先級,并分配所述各個RPC請求的執(zhí)行資源。
[0014]結合第一方面或第一方面的第一種實現方法,在第一方面的第二種可能實現的方法中,當業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級時,所述根據服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,包括:
[0015]根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的約束剩余時間;根據預定義規(guī)則設置所述各個RPC請求的執(zhí)行優(yōu)先級,所述預定義規(guī)則包括:所述約束剩余時間越少,則設置的執(zhí)行優(yōu)先級越高。
[0016]結合第一方面或第一方面的第一種實現方法,在第一方面的第三種可能實現的方法中,當業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源時,所述根據服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源,包括:
[0017]根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的剩余時間;根據預定義規(guī)則分配所述各個RPC請求的執(zhí)行資源,所述預定義規(guī)則包括:所述約束剩余時間越少,則分配的執(zhí)行資源越多。
[0018]結合第一方面的第二種或第一方面的第三種實現方法,在第一方面的第四種可能實現的方法中,所述預定義規(guī)則還包括:若所述處理約束時間的剩余時間小于所述RPC請求的預測完成時間,則放棄為所述RPC請求設置執(zhí)行優(yōu)先級和分配執(zhí)行資源。
[0019]結合第一方面的第二種或第一方面的第三種實現方法,在第一方面的第五種可能實現的方法中,所述預定義規(guī)則還包括:若有兩個以上的RPC請求的約束剩余時間相等,則獲取所述約束剩余時間與所述處理約束時間的比值,為所述比值小的RPC請求設置較高的執(zhí)行優(yōu)先級,和/或分配較多的執(zhí)行資源。
[0020]結合第一方面或第一方面的第一至三任意一種實現方法,在第一方面的第六種可能實現的方法中,所述接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求之后,包括:
[0021]根據所述響應時間約束信息和緊急閾值選擇所述RPC請求的處理策略,所述處理策略包括:第一處理策略和第二處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急閾值,則選擇執(zhí)行所述第一處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急閾值,則選擇執(zhí)行所述第二處理策略,所述第一處理策略的處理復雜度大于所述第二處理策略。
[0022]結合第一方面或第一方面的第一至三任意一種實現方法,在第一方面的第七種可能實現的方法中,所述根據服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源之后,包括:
[0023]所述業(yè)務處理服務器對優(yōu)先級最高的RPC請求進行處理,記錄所述RPC請求的處理時間,并根據所述處理時間更新所述RPC請求的響應時間約束信息;所述業(yè)務處理服務器向所述業(yè)務分配服務器反饋完成處理的RPC請求的響應時間約束信息。
[0024]本發(fā)明實施例第二方面提供的請求處理方法,包括:
[0025]業(yè)務分配服務器接收用戶請求;所述業(yè)務分配服務器為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間;所述業(yè)務分配服務器根據所述用戶請求生成遠程過程調用RPC請求;所述業(yè)務分配服務器向業(yè)務處理服務器發(fā)送RPC請求,所述RPC請求攜帶有所述響應時間約束信息;使得所述業(yè)務處理服務器根據所述響應時間約束信息為所述RPC請求設置執(zhí)行優(yōu)先級,和/或分配執(zhí)行資源。
[0026]在第二方面的第一種可能實現的方法中,所述分配所述用戶請求的響應時間約束信息,包括:
[0027]根據所述響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息為所述用戶請求分配響應時間約束信息。
[0028]結合第二方面的第一種可能實現的方法,在第二方面的第二種可能實現的方法中,若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時發(fā)生了改變,則所述根據響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息為所述用戶請求分配響應時間約束信息,包括:
[0029]獲取第一處理速度與第二處理速度的比值,將所述響應時間約束信息的歷史值乘于所述比值,得到當前為所述用戶請求分配的響應時間約束信息;所述第一處理速度為當前的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度,所述第二處理速度為記錄所述響應時間約束信息的歷史值時的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度;
[0030]若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時沒有發(fā)生改變,則所述根據響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息為所述用戶請求分配響應時間約束信息,包括:
[0031]將所述響應時間約束信息的歷史值作為當前為所述用戶請求分配的響應時間約束信息。
[0032]結合第二方面或第二方面的第一至二任意一種實現方法,在第二方面的第三種可能實現的方法中,所述根據用戶請求生成遠程過程調用RPC請求,包括:
[0033]提取完成所述用戶請求所需的業(yè)務參數;根據預置的業(yè)務邏輯確定完成所述用戶請求需要執(zhí)行的步驟,根據所述需要執(zhí)行的步驟確定需要調用的業(yè)務處理服務器;分別為所述需要調用的業(yè)務處理服務器分配相應的所述業(yè)務參數,生成與所述業(yè)務處理服務器對應的RPC請求。
[0034]結合第二方面或第二方面的第一至二任意一種實現方法,在第二方面的第四種可能實現的方法中,所述向業(yè)務處理服務器發(fā)送RPC請求之后,包括:
[0035]接收所述業(yè)務處理服務器反饋的響應時間約束信息;使用所述響應時間約束信息更新相應的RPC請求的響應時間約束信息。
[0036]結合第二方面的第四種實現方法,在第二方面的第五種可能實現的方法中,所述接收所述業(yè)務處理服務器反饋的響應時間約束信息之后,包括:
[0037]根據所述響應時間約束信息和緊急分配閾值選擇所述用戶請求對應的分配處理策略,所述分配處理策略包括:第一分配處理策略和第二分配處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急處理閾值,則選擇執(zhí)行所述第一分配處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急處理閾值,則選擇執(zhí)行所述第二分配處理策略,所述第一分配處理策略的處理復雜度大于所述第二分配處理策略。
[0038]本發(fā)明實施例第三方面提供的業(yè)務處理服務器,包括:
[0039]請求接收單元,用于接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間;存儲單元,用于將所述RPC請求加入服務請求隊列;設置單元,用于根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
[0040]本發(fā)明實施例第四方面提供的業(yè)務處理服務器,包括:
[0041]用戶請求接收單元,用于接收用戶請求;信息分配單元,用于為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間;請求生成單元,用于根據所述用戶請求生成遠程過程調用RPC請求;請求發(fā)送單元,用于向業(yè)務處理服務器發(fā)送RPC請求,所述RPC請求攜帶有所述響應時間約束信息;使得所述業(yè)務處理服務器根據所述響應時間約束信息為所述RPC請求設置執(zhí)行優(yōu)先級,和/或分配執(zhí)行資源。
[0042]本發(fā)明實施例第五方面提供的業(yè)務處理服務器,包括:
[0043]業(yè)務分配服務器和業(yè)務處理服務器;
[0044]所述業(yè)務分配服務器用于接收用戶請求;為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間;根據所述用戶請求生成遠程過程調用RPC請求;向業(yè)務處理服務器發(fā)送RPC請求;所述RPC請求攜帶有所述響應時間約束信息;
[0045]所述業(yè)務處理服務器用于接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,將所述RPC請求加入服務請求隊列;根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
[0046]從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
[0047]在本發(fā)明實施例中,業(yè)務處理服務器接收的遠程過程調用(Remote ProcedureCall, RPC)請求中攜帶有響應時間約束信息,該響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間,使得業(yè)務處理服務器在處理RPC請求之前,可以根據服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行優(yōu)先級和/或執(zhí)行資源,從而使得時間緊急的RPC請求可以得到優(yōu)先處理。
【專利附圖】
【附圖說明】
[0048]圖1是本發(fā)明實施例請求處理方法的一個流程示意圖;
[0049]圖2是本發(fā)明實施例請求處理方法的另一個流程示意圖;
[0050]圖3是本發(fā)明實施例請求處理方法的另一個流程示意圖;
[0051]圖4是本發(fā)明實施例請求處理方法的另一個流程示意圖;
[0052]圖5是本發(fā)明實施例業(yè)務處理服務器的一個結構示意圖;
[0053]圖6是本發(fā)明實施例業(yè)務分配服務器的一個結構示意圖;
[0054]圖7是本發(fā)明實施例請求處理系統(tǒng)的一個結構示意圖;
[0055]圖8是本發(fā)明實施例計算機設備的結構示意圖。
【具體實施方式】
[0056]本發(fā)明實施例提供了一種請求處理方法,用于根據請求的處理時間動態(tài)地調整請求的執(zhí)行優(yōu)先級和資源分配。
[0057]請參閱圖1,本發(fā)明實施例中請求處理方法的一個實施例包括:
[0058]101、業(yè)務處理服務器接收業(yè)務分配服務器發(fā)送的RPC請求;
[0059]業(yè)務處理服務器接收業(yè)務分配服務器發(fā)送的RPC請求,所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間。
[0060]示例性的,在獲取到該響應時間約束信息之后,可以將該響應時間約束信息存儲在業(yè)務處理服務器的線程局部存儲器(Thread Local Storage, TLS)。
[0061]在實際應用中,業(yè)務分配服務器會接收用戶發(fā)送的用戶請求,并為該用戶請求分配一個響應時間約束信息,該響應時間約束信息包括有一個與該用戶請求的應用或服務相對應的處理約束時間,用于限定所述用戶請求在整個處理過程中的最大響應時間(即該用戶請求需在處理約束時間內處理完成),還有一個初始狀態(tài)為零的已發(fā)生處理時間,用于統(tǒng)計該用戶請求在各個業(yè)務處理服務器的處理階段一共產生的處理時間。
[0062]在業(yè)務分配服務器為用戶請求分配了響應時間約束信息之后,業(yè)務分配服務器根據該用戶請求生成RPC請求,并向目標的業(yè)務處理服務器(即與RPC請求所請求的應用或服務相對應的業(yè)務處理服務器)發(fā)送該RPC請求,該RPC請求中攜帶有與該用戶請求對應的響應時間約束信息,該RPC請求用于向目標的業(yè)務處理服務器請求業(yè)務處理。在實際應用中,完成一個用戶請求可能需要分多個階段進行處理,其中,業(yè)務分配服務器會為每個階段生成一個RPC請求,各個RPC請求會依次發(fā)送到相應的業(yè)務分配服務器進行處理,同時,每個階段的RPC請求都會攜帶當前的響應時間約束信息,每完成一個RPC請求,響應時間約束信息就會被更新一次,當前的響應時間約束信息同時反映了該用戶請求的處理約束時間,以及之前各個階段一共產生的處理時間。
[0063]可選的,由于處理約束時間與已發(fā)生處理時間的差值等于處理約束時間的處理剩余時間,所述已發(fā)生處理時間這個參數也可以用處理約束時間的處理剩余時間代替,參數之間顯而易見的替換不應理解為對本發(fā)明的限定。
[0064]102、業(yè)務處理服務器將所述RPC請求加入服務請求隊列;
[0065]業(yè)務處理服務器將所述RPC請求加入服務請求隊列,所述服務請求隊列用于存儲不同的RPC請求。
[0066]在實際應用中,為了降低運營的成本,提高資源利用率,一個業(yè)務處理服務器中的資源可能會被多個業(yè)務分配服務器共享利用,因此,業(yè)務處理服務器在同一時間很可能需要處理多個RPC請求,而這些RPC請求會被加入到服務請求隊列中等待分配處理。
[0067]103、業(yè)務處理服務器為RPC請求分配執(zhí)行優(yōu)先級和/或執(zhí)行資源。
[0068]業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
[0069]可選的,分配所述各個RPC請求的執(zhí)行資源可以包括:調整線程的中央處理器(Central Processing Unit, CPU)調度優(yōu)先級,調整線程的輸入/輸出(I/O)優(yōu)先級等。
[0070]在本發(fā)明實施例中,業(yè)務處理服務器接收的RPC請求中攜帶有響應時間約束信息,該響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間,使得業(yè)務處理服務器在處理RPC請求之前,可以根據服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行優(yōu)先級和/或執(zhí)行資源,從而使得時間緊急的RPC請求可以得到優(yōu)先處理。
[0071]在實際應用中,業(yè)務處理服務器根據響應時間約束信息的調控可以有多種策略,請參閱圖2,本發(fā)明實施例中請求處理方法的另一個實施例包括:
[0072]201、業(yè)務處理服務器接收業(yè)務分配服務器發(fā)送的RPC請求;
[0073]業(yè)務處理服務器接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間。
[0074]202、業(yè)務處理服務器根據所述響應時間約束信息和緊急閾值選擇所述RPC請求的處理策略;
[0075]業(yè)務處理服務器根據所述響應時間約束信息和緊急閾值選擇所述RPC請求的處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急閾值,則選擇執(zhí)行所述第一處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急閾值,則選擇執(zhí)行所述第二處理策略,所述處理策略包括:第一處理策略和第二處理策略,所述第一處理策略的處理復雜度大于所述第二處理策略。
[0076]所述緊急閾值為業(yè)務處理服務器選擇RPC請求的處理策略的判斷閾值,具體可以為一個時間閾值。
[0077]示例性的,在實際應用中,所述第一處理策略具體可以包括根據用戶的請求通過數據挖掘分析的方式推薦用戶可能關心的內容;所述第二處理策略具體可以包括直接向用戶推薦當前關注度高的內容;由于第一處理策略的處理復雜度大于第二處理策略,因此,當處理時間緊急(具體通過約束剩余時間小于或等于緊急閾值體現)時,業(yè)務處理服務器可以選擇處理復雜度較小的第二處理策略,以節(jié)省處理時間。
[0078]可以理解的是,所述第一處理策略和第二處理策略所表示的僅是處理復雜度不同的兩類策略,不特指任意兩個策略,并且,第一處理策略可以表示處理復雜度相同或相似的兩個以上的處理策略,第二處理策略也可以表示處理復雜度相同或相似的兩個以上的處理策略。
[0079]進一步的,業(yè)務處理服務器還可以設置多級的緊急閾值,以分別對應多種復雜度類型的處理策略,此處具體不作限定。
[0080]203、業(yè)務處理服務器將所述RPC請求加入服務請求隊列;
[0081]業(yè)務處理服務器將所述RPC請求加入服務請求隊列,所述服務請求隊列用于存儲不同的RPC請求。
[0082]在實際應用中,為了降低運營的成本,提高資源利用率,一個業(yè)務處理服務器中的資源可能會被多個業(yè)務分配服務器共享利用,因此,業(yè)務處理服務器在同一時間很可能需要處理多個RPC請求,而這些RPC請求會被加入到服務請求隊列中等待分配處理。
[0083]可以理解的是,本發(fā)明實施例在實際應用中,步驟202和步驟203沒有嚴格的先后關系,即也可以執(zhí)行“將所述RPC請求加入服務請求隊列”,再執(zhí)行“根據所述響應時間約束信息和緊急閾值選擇所述RPC請求的處理策略”。
[0084]204、業(yè)務處理服務器為RPC請求分配執(zhí)行優(yōu)先級和/或執(zhí)行資源;
[0085]業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
[0086]可選的,分配執(zhí)行優(yōu)先級和/或執(zhí)行資源可以通過在操作系統(tǒng)或超級管理程序(Hypervisor)調整不同請求處理線程的資源使用量的方案,如調整線程的CPU調度優(yōu)先級、調整線程的I/O優(yōu)先級等;也可以通過支持優(yōu)先級的硬件對請求處理線程的執(zhí)行優(yōu)先級進行調整,如,在CPU的高速緩存存儲器、內存控制器或系統(tǒng)總線上根據響應時間約束信息所確定的優(yōu)先級對各處理線程所使用的硬件資源進行分配。
[0087]在實際應用中,業(yè)務處理服務器在處理RPC請求之前,會根據設備自身的處理能力,以及服務請求隊列中RPC請求的數量和類型,確定RPC請求的處理方式;若所述業(yè)務處理服務器能夠同時處理所述服務請求隊列中所有的RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源;若所述業(yè)務處理服務器僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級;若所述業(yè)務處理服務器即無法同時處理所述服務請求隊列中所有的RPC請求,也不僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,并分配所述各個RPC請求的執(zhí)行資源。
[0088]進一步的,當業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級時,業(yè)務處理服務器可以根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的約束剩余時間;再根據預定義規(guī)則設置所述各個RPC請求的執(zhí)行優(yōu)先級,所述預定義規(guī)則包括:所述約束剩余時間越少,則設置的執(zhí)行優(yōu)先級越高。
[0089]當業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源時,業(yè)務處理服務器可以根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的剩余時間;根據預定義規(guī)則分配所述各個RPC請求的執(zhí)行資源,所述預定義規(guī)則包括:所述約束剩余時間越少,則分配的執(zhí)行資源越多。
[0090]再進一步的,當業(yè)務處理服務器獲取到各個RPC請求的約束剩余時間之后,若發(fā)現有兩個以上的RPC請求的約束剩余時間相等,則獲取所述約束剩余時間與所述處理約束時間的比值,為所述比值小的RPC請求設置較高的執(zhí)行優(yōu)先級,和/或分配較多的執(zhí)行資源。
[0091]再進一步的,當業(yè)務處理服務器獲取到處理約束時間的約束剩余時間之后,可以先對該約束剩余時間進行判斷,若所述處理約束時間的剩余時間小于所述RPC請求的預測完成時間,則放棄為所述RPC請求設置執(zhí)行優(yōu)先級和分配執(zhí)行資源,以節(jié)省業(yè)務處理服務器的處理資源;可選的,此時的業(yè)務處理服務器可以選擇向業(yè)務分配服務器發(fā)送請求失敗響應,業(yè)務分配服務器向用戶反饋該用戶請求的處理失敗,使得重新發(fā)送業(yè)務請求。
[0092]在實際應用中,業(yè)務處理服務器可以獲知用戶請求在各個處理階段的最小處理時間(可以由業(yè)務分配服務器告知),當前的業(yè)務處理服務器將所述用戶請求的剩余各個處理階段的最小處理時間相加,即可得到所述預測完成時間。
[0093]205、業(yè)務處理服務器向所述業(yè)務分配服務器反饋完成處理的RPC請求的響應時間約束信息。
[0094]在完成執(zhí)行優(yōu)先級的設置和/或執(zhí)行資源的分配之后,業(yè)務處理服務器對優(yōu)先級最高的RPC請求進行處理,記錄所述RPC請求的處理時間,并根據所述處理時間更新所述RPC請求的響應時間約束信息(即將所述處理時間加上響應時間約束信息中的已發(fā)生處理時間,得到更新后的已發(fā)生處理時間)。
[0095]業(yè)務處理服務器向所述業(yè)務分配服務器反饋完成處理的RPC請求的響應時間約束信息(即更新后的響應時間約束信息),使得業(yè)務分配服務器更新相應用戶請求的響應時間約束信息。
[0096]上面是從業(yè)務處理服務器的角度對本發(fā)明實施例中的請求處理方法進行了描述,下面從業(yè)務分配服務器側對本發(fā)明實施例中的請求處理方法進行描述,請參閱圖3,本發(fā)明實施例中的請求處理方法另一實施例包括:
[0097]301、業(yè)務分配服務器接收用戶請求;
[0098]業(yè)務分配服務器接收用戶請求,該用戶請求為用戶向網絡側提出的服務需求或應用需求,該服務需求或應用需求可以包括:搜索、在線購物等。
[0099]302、業(yè)務分配服務器為所述用戶請求分配響應時間約束信息;
[0100]業(yè)務分配服務器為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間。
[0101]示例性的,該響應時間約束信息可以存儲在業(yè)務分配服務器的TLS。
[0102]該響應時間約束信息包括有一個與該用戶請求的應用或服務相對應的處理約束時間,用于限定所述用戶請求在整個處理過程中的最大響應時間(即該用戶請求需在處理約束時間內處理完成),還有一個初始狀態(tài)為零的已發(fā)生處理時間,用于統(tǒng)計該用戶請求在各個業(yè)務處理服務器的處理階段一共產生的處理時間。
[0103]可選的,該響應時間約束信息可以由管理員根據不同用戶請求的服務或應用類型進行設置,當完成初始化設置后,業(yè)務分配服務器可以根據相應用戶請求的響應時間約束信息的歷史值自動進行分配。
[0104]303、業(yè)務分配服務器根據所述用戶請求生成RPC請求;
[0105]在業(yè)務分配服務器為用戶請求分配了響應時間約束信息之后,業(yè)務分配服務器根據該用戶請求生成RPC請求,該RPC請求中攜帶有與該用戶請求對應的響應時間約束信息,該RPC請求用于向目標的業(yè)務處理服務器請求業(yè)務處理。在實際應用中,完成一個用戶請求可能需要分多個階段進行處理,其中,業(yè)務分配服務器會為每個階段生成一個RPC請求,各個RPC請求會依次發(fā)送到相應的業(yè)務分配服務器進行處理,同時,每個階段的RPC請求都會攜帶當前的響應時間約束信息,每完成一個RPC請求,響應時間約束信息就會被更新一次,當前的響應時間約束信息同時反映了該用戶請求的處理約束時間,以及之前各個階段一共產生的處理時間。
[0106]304、業(yè)務分配服務器向業(yè)務處理服務器發(fā)送RPC請求。
[0107]業(yè)務分配服務器向業(yè)務處理服務器發(fā)送RPC請求,所述RPC請求攜帶有所述響應時間約束信息;使得所述業(yè)務處理服務器根據所述響應時間約束信息為所述RPC請求設置執(zhí)行優(yōu)先級,和/或分配執(zhí)行資源。
[0108]在本發(fā)明實施例中,業(yè)務分配服務器向業(yè)務處理服務器發(fā)送的RPC請求中攜帶有響應時間約束信息,該響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間,使得業(yè)務處理服務器在處理RPC請求之前,可以根據服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行優(yōu)先級和/或執(zhí)行資源,從而使得時間緊急的RPC請求可以得到優(yōu)先處理。
[0109]下面對業(yè)務分配服務器執(zhí)行請求處理方法再進行詳細描述,請參閱圖4,本發(fā)明實施例中的請求處理方法另一實施例包括:
[0110]401、業(yè)務分配服務器接收用戶請求;
[0111]業(yè)務分配服務器接收用戶請求,該用戶請求為用戶向網絡側提出的服務需求或應用需求,該服務需求或應用需求可以包括:搜索、在線購物等。
[0112]402、業(yè)務分配服務器為所述用戶請求分配響應時間約束信息;
[0113]業(yè)務分配服務器為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間;
[0114]該響應時間約束信息包括有一個與該用戶請求的應用或服務相對應的處理約束時間,用于限定所述用戶請求在整個處理過程中的最大響應時間(即該用戶請求需在處理約束時間內處理完成),還有一個初始狀態(tài)為零的已發(fā)生處理時間,用于統(tǒng)計該用戶請求在各個業(yè)務處理服務器的處理階段一共產生的處理時間。
[0115]可選的,該響應時間約束信息可以由管理員根據不同用戶請求的服務或應用類型進行設置,當完成初始化設置后,業(yè)務分配服務器可以根據相應用戶請求的響應時間約束信息的歷史值自動進行分配。
[0116]可選的,業(yè)務分配服務器可以根據所述響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息為所述用戶請求分配響應時間約束信息;具體的,若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時發(fā)生了改變,則獲取第一處理速度與第二處理速度的比值,將所述響應時間約束信息的歷史值乘于所述比值,得到當前為所述用戶請求分配的響應時間約束信息;所述第一處理速度為當前的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度,所述第二處理速度為記錄所述響應時間約束信息的歷史值時的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度;若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時沒有發(fā)生改變,則將所述響應時間約束信息的歷史值作為當前為所述用戶請求分配的響應時間約束信息。
[0117]403、業(yè)務分配服務器根據所述用戶請求生成RPC請求;
[0118]在業(yè)務分配服務器為用戶請求分配了響應時間約束信息之后,業(yè)務分配服務器根據該用戶請求生成RPC請求,該RPC請求中攜帶有與該用戶請求對應的響應時間約束信息,該RPC請求用于向目標的業(yè)務處理服務器請求業(yè)務處理。在實際應用中,完成一個用戶請求可能需要分多個階段進行處理,其中,業(yè)務分配服務器會為每個階段生成一個RPC請求,各個RPC請求會依次發(fā)送到相應的業(yè)務分配服務器進行處理,同時,每個階段的RPC請求都會攜帶當前的響應時間約束信息,每完成一個RPC請求,響應時間約束信息就會被更新一次,當前的響應時間約束信息同時反映了該用戶請求的處理約束時間,以及之前各個階段一共產生的處理時間。
[0119]示例性的,RPC請求生成方法可以為:提取完成所述用戶請求所需的業(yè)務參數(如請求類型、用戶標識、商品標識等);根據預置的業(yè)務邏輯確定完成所述用戶請求需要執(zhí)行的步驟,根據所述需要執(zhí)行的步驟確定需要調用的業(yè)務處理服務器;分別為所述需要調用的業(yè)務處理服務器分配相應的所述業(yè)務參數,生成與所述業(yè)務處理服務器對應的RPC請求。
[0120]404、業(yè)務分配服務器向業(yè)務處理服務器發(fā)送RPC請求;
[0121]業(yè)務分配服務器向業(yè)務處理服務器發(fā)送RPC請求,所述RPC請求攜帶有所述響應時間約束信息;使得所述業(yè)務處理服務器根據所述響應時間約束信息為所述RPC請求設置執(zhí)行優(yōu)先級,和/或分配執(zhí)行資源。
[0122]405、業(yè)務分配服務器接收業(yè)務處理服務器反饋的響應時間約束信息;
[0123]業(yè)務分配服務器接收業(yè)務處理服務器反饋的響應時間約束信息,并使用所述響應時間約束信息更新相應的RPC請求的響應時間約束信息。
[0124]406、業(yè)務分配服務器根據更新后的響應時間約束信息選擇相應用戶請求的分配處理策略。
[0125]業(yè)務分配服務器根據所述響應時間約束信息和緊急分配閾值選擇所述用戶請求對應的分配處理策略,所述分配處理策略包括:第一分配處理策略和第二分配處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急處理閾值,則選擇執(zhí)行所述第一分配處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急處理閾值,則選擇執(zhí)行所述第二分配處理策略,所述第一分配處理策略的處理復雜度大于所述第二分配處理策略。
[0126]所述緊急分配閾值為業(yè)務分配服務器選擇用戶請求的處理策略的判斷閾值,具體可以為一個時間閾值。
[0127]示例性的,在實際應用中,所述第一分配處理策略具體可以包括完成用戶請求所必要的業(yè)務處理流程,以及可選的用于提升服務質量的數據挖掘、統(tǒng)計、分析流程內容;所述第二分配處理策略具體可以包括只包含完成用戶請求所必要的業(yè)務處理流程內容;由于第一分配處理策略的處理復雜度大于第二分配處理策略,因此,當處理時間緊急(具體通過約束剩余時間小于或等于緊急閾值體現)時,業(yè)務分配服務器可以選擇處理復雜度較小的第二分配處理策略,以節(jié)省處理時間。
[0128]可以理解的是,所述第一分配處理策略和第二分配處理策略所表示的僅是處理復雜度不同的兩類策略,不特指任意兩個策略,并且,第一分配處理策略可以表示處理復雜度相同或相似的兩個以上的處理策略,第二分配處理策略也可以表示處理復雜度相同或相似的兩個以上的處理策略。
[0129]進一步的,業(yè)務分配服務器還可以設置多級的緊急分配閾值,以分別對應多種復雜度類型的分配處理策略,此處具體不作限定。
[0130]下面對用于執(zhí)行上述請求處理方法的本發(fā)明業(yè)務處理服務器的實施例進行說明,其邏輯結構請參考圖5,本發(fā)明實施例中的業(yè)務處理服務器一個實施例包括:
[0131]請求接收單元501,用于接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間;
[0132]存儲單元502,用于將所述RPC請求加入服務請求隊列;
[0133]設置單元503,用于根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
[0134]進一步的,本發(fā)明實施例中的設置單元具體503用于:
[0135]若所述業(yè)務處理服務器能夠同時處理所述服務請求隊列中所有的RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源;
[0136]若所述業(yè)務處理服務器僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級;
[0137]若所述業(yè)務處理服務器即無法同時處理所述服務請求隊列中所有的RPC請求,也不是僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,并分配所述各個RPC請求的執(zhí)行資源。
[0138]進一步的,本發(fā)明實施例中的所述設置單元503可以包括:
[0139]資源分配模塊5031,用于根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的約束剩余時間;根據預定義規(guī)則設置所述各個RPC請求的執(zhí)行優(yōu)先級,所述預定義規(guī)則包括:所述約束剩余時間越少,則設置的執(zhí)行優(yōu)先級越高;
[0140]優(yōu)先級設置模塊5032,用于根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的剩余時間;根據預定義規(guī)則分配所述各個RPC請求的執(zhí)行資源,所述預定義規(guī)則包括:所述約束剩余時間越少,則分配的執(zhí)行資源越多。
[0141]進一步的,本發(fā)明實施例中的業(yè)務處理服務器還可以包括:
[0142]處理策略選擇單元504,用于根據所述響應時間約束信息和緊急閾值選擇所述RPC請求的處理策略,所述處理策略包括:第一處理策略和第二處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急閾值,則選擇執(zhí)行所述第一處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急閾值,則選擇執(zhí)行所述第二處理策略,所述第一處理策略的處理復雜度大于所述第二處理策略。
[0143]進一步的,本發(fā)明實施例中的業(yè)務處理服務器還包括:
[0144]請求處理單元505,用于對優(yōu)先級最高的RPC請求進行處理,記錄所述RPC請求的處理時間,并根據所述處理時間更新所述RPC請求的響應時間約束信息;
[0145]信息反饋單元506,用于向所述業(yè)務分配服務器反饋完成處理的RPC請求的響應時間約束信息。
[0146]本發(fā)明實施例中業(yè)務分配服務器的各個單元具體的交互過程如下:
[0147]請求接收單元501接收業(yè)務分配服務器發(fā)送的RPC請求,所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間。示例性的,在獲取到該響應時間約束信息之后,可以將該響應時間約束信息存儲在業(yè)務處理服務器的線程局部存儲器。
[0148]接收到該RPC請求之后,存儲單元502將所述RPC請求加入服務請求隊列,所述服務請求隊列用于存儲不同的RPC請求。在實際應用中,為了降低運營的成本,提高資源利用率,一個業(yè)務處理服務器中的資源可能會被多個業(yè)務分配服務器共享利用,因此,業(yè)務處理服務器在同一時間很可能需要處理多個RPC請求,而這些RPC請求會被加入到服務請求隊列中等待分配處理。
[0149]可選的,在獲取到該響應時間約束信息之后,可以由處理策略選擇單元504根據所述響應時間約束信息和緊急閾值選擇所述RPC請求的處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急閾值,則選擇執(zhí)行所述第一處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急閾值,則選擇執(zhí)行所述第二處理策略,所述處理策略包括:第一處理策略和第二處理策略,所述第一處理策略的處理復雜度大于所述第二處理策略。
[0150]所述緊急閾值為業(yè)務處理服務器選擇RPC請求的處理策略的判斷閾值,具體可以為一個時間閾值。
[0151]示例性的,在實際應用中,所述第一處理策略具體可以包括根據用戶的請求通過數據挖掘分析的方式推薦用戶可能關心的內容;所述第二處理策略具體可以包括直接向用戶推薦當前關注度高的內容;由于第一處理策略的處理復雜度大于第二處理策略,因此,當處理時間緊急(具體通過約束剩余時間小于或等于緊急閾值體現)時,業(yè)務處理服務器可以選擇處理復雜度較小的第二處理策略,以節(jié)省處理時間。
[0152]在將RPC請求加入到服務請求隊列之后,設置單元503根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
[0153]具體的,在處理RPC請求之前,會根據設備自身的處理能力,以及服務請求隊列中RPC請求的數量和類型,確定RPC請求的處理方式;若所述業(yè)務處理服務器能夠同時處理所述服務請求隊列中所有的RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源;若所述業(yè)務處理服務器僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級;若所述業(yè)務處理服務器即無法同時處理所述服務請求隊列中所有的RPC請求,也不僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,并分配所述各個RPC請求的執(zhí)行資源。
[0154]進一步的,可以由設置單元503的資源分配模塊5031根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的約束剩余時間;根據預定義規(guī)則設置所述各個RPC請求的執(zhí)行優(yōu)先級,所述預定義規(guī)則包括:所述約束剩余時間越少,則設置的執(zhí)行優(yōu)先級越高;由優(yōu)先級設置模塊5032根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的剩余時間;根據預定義規(guī)則分配所述各個RPC請求的執(zhí)行資源,所述預定義規(guī)則包括:所述約束剩余時間越少,則分配的執(zhí)行資源越多。
[0155]在完成執(zhí)行優(yōu)先級的設置和/或執(zhí)行資源的分配之后,請求處理單元505對優(yōu)先級最高的RPC請求進行處理,記錄所述RPC請求的處理時間,并根據所述處理時間更新所述RPC請求的響應時間約束信息(即將所述處理時間加上響應時間約束信息中的已發(fā)生處理時間,得到更新后的已發(fā)生處理時間)。
[0156]信息反饋單元506向所述業(yè)務分配服務器反饋完成處理的RPC請求的響應時間約束信息(即更新后的響應時間約束信息),使得業(yè)務分配服務器更新相應用戶請求的響應時間約束信息。
[0157]下面對用于執(zhí)行上述請求處理方法的本發(fā)明業(yè)務分配服務器的實施例進行說明,其邏輯結構請參考圖6,本發(fā)明實施例中的業(yè)務分配服務器一個實施例包括:
[0158]用戶請求接收單元601,用于接收用戶請求;
[0159]信息分配單元602,用于為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間;
[0160]請求生成單元603,用于根據所述用戶請求生成遠程過程調用RPC請求;
[0161]請求發(fā)送單元604,用于向業(yè)務處理服務器發(fā)送RPC請求,所述RPC請求攜帶有所述響應時間約束信息;使得所述業(yè)務處理服務器根據所述響應時間約束信息為所述RPC請求設置執(zhí)行優(yōu)先級,和/或分配執(zhí)行資源。
[0162]進一步的,本發(fā)明實施例中的信息分配單元602具體用于:
[0163]根據所述響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息為所述用戶請求分配響應時間約束信息。
[0164]進一步的,本發(fā)明實施例中的信息分配單元602包括:
[0165]第一分配模塊6021,用于若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時發(fā)生了改變,則獲取第一處理速度與第二處理速度的比值,將所述響應時間約束信息的歷史值乘于所述比值,得到當前為所述用戶請求分配的響應時間約束信息;所述第一處理速度為當前的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度,所述第二處理速度為記錄所述響應時間約束信息的歷史值時的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度;
[0166]第二分配模塊6022,用于若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時沒有發(fā)生改變,則將所述響應時間約束信息的歷史值作為當前為所述用戶請求分配的響應時間約束信息。
[0167]進一步的,本發(fā)明實施例中的請求生成單元603包括:
[0168]參數提取模塊6031,用于提取完成所述用戶請求所需的業(yè)務參數;
[0169]邏輯分析模塊6032,用于根據預置的業(yè)務邏輯確定完成所述用戶請求需要執(zhí)行的步驟,根據所述需要執(zhí)行的步驟確定需要調用的業(yè)務處理服務器;
[0170]請求生成模塊6033,用于分別為所述需要調用的業(yè)務處理服務器分配相應的所述業(yè)務參數,生成與所述業(yè)務處理服務器對應的RPC請求。
[0171]進一步的,本發(fā)明實施例中的業(yè)務處理服務器還包括:
[0172]信息接收單元605,用于接收所述業(yè)務處理服務器反饋的響應時間約束信息;
[0173]信息更新單元606,用于使用所述響應時間約束信息更新相應的RPC請求的響應時間約束信息。
[0174]分配策略選擇單元607,用于根據所述響應時間約束信息和緊急分配閾值選擇所述用戶請求對應的分配處理策略,所述分配處理策略包括:第一分配處理策略和第二分配處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急處理閾值,則選擇執(zhí)行所述第一分配處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急處理閾值,則選擇執(zhí)行所述第二分配處理策略,所述第一分配處理策略的處理復雜度大于所述第二分配處理策略。
[0175]本發(fā)明實施例中業(yè)務分配服務器的各個單元具體的交互過程如下:
[0176]用戶請求接收單元601接收用戶請求,該用戶請求為用戶向網絡側提出的服務需求或應用需求,該服務需求或應用需求可以包括:搜索、在線購物。
[0177]在接收到用戶請求之后,信息分配單元602為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間。
[0178]可選的,若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時發(fā)生了改變,則第一分配模塊6021獲取第一處理速度與第二處理速度的比值,將所述響應時間約束信息的歷史值乘于所述比值,得到當前為所述用戶請求分配的響應時間約束信息;所述第一處理速度為當前的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度,所述第二處理速度為記錄所述響應時間約束信息的歷史值時的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度;若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時沒有發(fā)生改變,則第二分配模塊6022將所述響應時間約束信息的歷史值作為當前為所述用戶請求分配的響應時間約束信息。
[0179]在業(yè)務分配服務器為用戶請求分配了響應時間約束信息之后,請求生成單元603根據該用戶請求生成RPC請求,該RPC請求中攜帶有與該用戶請求對應的響應時間約束信息,該RPC請求用于向目標的業(yè)務處理服務器請求業(yè)務處理。
[0180]具體的,參數提取模塊6031提取完成所述用戶請求所需的業(yè)務參數(如請求類型、用戶標識、商品標識等);邏輯分析模塊6032根據預置的業(yè)務邏輯確定完成所述用戶請求需要執(zhí)行的步驟,根據所述需要執(zhí)行的步驟確定需要調用的業(yè)務處理服務器;請求生成模塊6033分別為所述需要調用的業(yè)務處理服務器分配相應的所述業(yè)務參數,生成與所述業(yè)務處理服務器對應的RPC請求。
[0181]在生成RPC請求之后,請求發(fā)送單元604向業(yè)務處理服務器發(fā)送RPC請求,所述RPC請求攜帶有所述響應時間約束信息;使得所述業(yè)務處理服務器根據所述響應時間約束信息為所述RPC請求設置執(zhí)行優(yōu)先級,和/或分配執(zhí)行資源。
[0182]信息接收單元605接收業(yè)務處理服務器反饋的響應時間約束信息,并觸發(fā)信息更新單元606使用所述響應時間約束信息更新相應的RPC請求的響應時間約束信息。
[0183]在更新了響應時間約束信息之后,分配策略選擇單元607根據所述響應時間約束信息和緊急分配閾值選擇所述用戶請求對應的分配處理策略,所述分配處理策略包括:第一分配處理策略和第二分配處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急處理閾值,則選擇執(zhí)行所述第一分配處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急處理閾值,則選擇執(zhí)行所述第二分配處理策略,所述第一分配處理策略的處理復雜度大于所述第二分配處理策略。
[0184]所述緊急分配閾值為業(yè)務分配服務器選擇用戶請求的處理策略的判斷閾值,具體可以為一個時間閾值。
[0185]示例性的,在實際應用中,所述第一分配處理策略具體可以包括完成用戶請求所必要的業(yè)務處理流程,以及可選的用于提升服務質量的數據挖掘、統(tǒng)計、分析流程內容;所述第二分配處理策略具體可以包括只包含完成用戶請求所必要的業(yè)務處理流程內容;由于第一分配處理策略的處理復雜度大于第二分配處理策略,因此,當處理時間緊急(具體通過約束剩余時間小于或等于緊急閾值體現)時,業(yè)務分配服務器可以選擇處理復雜度較小的第二分配處理策略,以節(jié)省處理時間。
[0186]下面對用于執(zhí)行上述請求處理方法的本發(fā)明請求處理系統(tǒng)的實施例進行說明,其邏輯結構請參考圖7,本發(fā)明實施例中的請求處理系統(tǒng)一個實施例包括:
[0187]業(yè)務分配服務器701和業(yè)務處理服務器702 ;
[0188]所述業(yè)務分配服務器701用于接收用戶請求;為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間;根據所述用戶請求生成遠程過程調用RPC請求;向業(yè)務處理服務器發(fā)送RPC請求;所述RPC請求攜帶有所述響應時間約束信息;
[0189]所述業(yè)務處理服務器702用于接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,將所述RPC請求加入服務請求隊列;根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
[0190]本發(fā)明實施例中的業(yè)務分配服務器701和業(yè)務處理服務器702所執(zhí)行的具體步驟可以參閱上述方法實施例,此處不再贅述。
[0191]本發(fā)明實施例還提供了一種計算機存儲介質,其中,該計算機存儲介質可存儲有程序,該程序執(zhí)行時包括上述方法實施例中記載的請求處理方法的部分或全部步驟。
[0192]請參見圖8,本發(fā)明實施例還提供了一種業(yè)務處理服務器,具體可包括:
[0193]接收器801,發(fā)送器802,存儲器803和處理器804 (業(yè)務處理服務器中的處理器的數量可以為一個或多個,圖8中以一個處理器為例)在本發(fā)明的一些實施例中,接收器801,發(fā)送器802,存儲器803和處理器804可通過總線或其它方式連接,其中,圖8中以通過總線連接為例。
[0194]其中,所述存儲器803可以用于存儲如下內容:
[0195]所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間;
[0196]預定義規(guī)則:所述約束剩余時間越少,則設置的執(zhí)行優(yōu)先級越高;所述約束剩余時間越少,則分配的執(zhí)行資源越多;若所述處理約束時間的剩余時間小于所述RPC請求的預測完成時間,則放棄為所述RPC請求設置執(zhí)行優(yōu)先級和分配執(zhí)行資源;若有兩個以上的RPC請求的約束剩余時間相等,則獲取所述約束剩余時間與所述處理約束時間的比值,為所述比值小的RPC請求設置較高的執(zhí)行優(yōu)先級,和/或分配較多的執(zhí)行資源。
[0197]以及第一處理策略和第二處理策略的具體內容。
[0198]接收器801用于接收接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求。
[0199]發(fā)送器802用于向所述業(yè)務分配服務器反饋完成處理的RPC請求的響應時間約束信息。
[0200]處理器804用于執(zhí)行如下步驟:
[0201 ] 在接收器801接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求之后,將所述RPC請求加入服務請求隊列;根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。具體的,可以根據預定義規(guī)則進行執(zhí)行優(yōu)先級的設置,和/或執(zhí)行資源的分配。
[0202]若所述業(yè)務處理服務器能夠同時處理所述服務請求隊列中所有的RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源;
[0203]若所述業(yè)務處理服務器僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級;
[0204]若所述業(yè)務處理服務器即無法同時處理所述服務請求隊列中所有的RPC請求,也不是僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,并分配所述各個RPC請求的執(zhí)行資源。
[0205]根據所述響應時間約束信息和緊急閾值選擇所述RPC請求的處理策略,所述處理策略包括:第一處理策略和第二處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急閾值,則選擇執(zhí)行所述第一處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急閾值,則選擇執(zhí)行所述第二處理策略,所述第一處理策略的處理復雜度大于所述第二處理策略。
[0206]還請參見圖8,本發(fā)明實施例還提供了一種業(yè)務分配服務器,具體可包括:
[0207]接收器801,發(fā)送器802,存儲器803和處理器804 (業(yè)務分配服務器中的處理器的數量可以為一個或多個,圖8中以一個處理器為例)在本發(fā)明的一些實施例中,接收器801,發(fā)送器802,存儲器803和處理器804可通過總線或其它方式連接,其中,圖8中以通過總線連接為例。
[0208]其中,業(yè)務分配服務器的存儲器803可以用于存儲如下內容:
[0209]所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間;
[0210]所述響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息。
[0211]業(yè)務分配服務器的接收器801用于接收用戶請求,以及接收所述業(yè)務處理服務器反饋的響應時間約束信息。
[0212]業(yè)務分配服務器的發(fā)送器802用于向業(yè)務處理服務器發(fā)送RPC請求。
[0213]業(yè)務分配服務器的處理器804用于執(zhí)行如下步驟:
[0214]在接收接收器801用戶請求之后;為所述用戶請求分配響應時間約束信息,根據所述用戶請求生成遠程過程調用RPC請求。
[0215]進一步的,在為所述用戶請求分配響應時間約束信息時,若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時發(fā)生了改變,則獲取第一處理速度與第二處理速度的比值,將所述響應時間約束信息的歷史值乘于所述比值,得到當前為所述用戶請求分配的響應時間約束信息;所述第一處理速度為當前的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度,所述第二處理速度為記錄所述響應時間約束信息的歷史值時的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度;若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時沒有發(fā)生改變,則將所述響應時間約束信息的歷史值作為當前為所述用戶請求分配的響應時間約束信息。
[0216]進一步的,接收所述業(yè)務處理服務器反饋的響應時間約束信息之后,根據所述響應時間約束信息和緊急分配閾值選擇所述用戶請求對應的分配處理策略,所述分配處理策略包括:第一分配處理策略和第二分配處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急處理閾值,則選擇執(zhí)行所述第一分配處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急處理閾值,則選擇執(zhí)行所述第二分配處理策略,所述第一分配處理策略的處理復雜度大于所述第二分配處理策略。
[0217]在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0218]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0219]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
[0220]所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0221]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應所述以權利要求的保護范圍為準。
【權利要求】
1.一種請求處理方法,其特征在于,包括: 業(yè)務處理服務器接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間; 所述業(yè)務處理服務器將所述RPC請求加入服務請求隊列; 所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
2.根據權利要求1所述的方法,其特征在于, 若所述業(yè)務處理服務器能夠同時處理所述服務請求隊列中所有的RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源; 若所述業(yè)務處理服務器僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級; 若所述業(yè)務處理服務器既無法同時處理所述服務請求隊列中所有的RPC請求,也不是僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置各個RPC請求的執(zhí)行優(yōu)先級,并分配所述各個RPC請求的執(zhí)行資源。
3.根據權利要求1或2所述的方法,其特征在于,當業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級時,所述根據服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,包括: 根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的約束剩余時間; 根據預定義規(guī)則設置所述各個RPC請求的執(zhí)行優(yōu)先級,所述預定義規(guī)則包括:所述約束剩余時間越少,則設置的執(zhí)行優(yōu)先級越高。
4.根據權利要求1或2所述的方法,其特征在于,當業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源時,所述根據服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源,包括: 根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的剩余時間; 根據預定義規(guī)則分配所述各個RPC請求的執(zhí)行資源,所述預定義規(guī)則包括:所述約束剩余時間越少,則分配的執(zhí)行資源越多。
5.根據權利要求3或4所述的方法,其特征在于,所述預定義規(guī)則還包括:若所述處理約束時間的剩余時間小于所述RPC請求的預測完成時間,則放棄為所述RPC請求設置執(zhí)行優(yōu)先級和分配執(zhí)行資源。
6.根據權利要求3或4所述的方法,其特征在于,所述預定義規(guī)則還包括:若有兩個以上的RPC請求的約束剩余時間相等,則獲取所述約束剩余時間與所述處理約束時間的比值,為所述比值小的RPC請求設置較高的執(zhí)行優(yōu)先級,和/或分配較多的執(zhí)行資源。
7.根據權利要求1至4任意一項所述的方法,其特征在于,所述接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求之后,包括: 根據所述響應時間約束信息和緊急閾值選擇所述RPC請求的處理策略,所述處理策略包括:第一處理策略和第二處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急閾值,則選擇執(zhí)行所述第一處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急閾值,則選擇執(zhí)行所述第二處理策略,所述第一處理策略的處理復雜度大于所述第二處理策略。
8.根據權利要求1至4任意一項所述的方法,其特征在于,所述根據服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源之后,包括: 所述業(yè)務處理服務器對優(yōu)先級最高的RPC請求進行處理,記錄所述RPC請求的處理時間,并根據所述處理時間更新所述RPC請求的響應時間約束信息; 所述業(yè)務處理服務器向所述業(yè)務分配服務器反饋完成處理的RPC請求的響應時間約束信息。
9.一種請求處理方法,其特征在于,包括: 業(yè)務分配服務器接收用戶請求; 所述業(yè)務分配服務器為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間; 所述業(yè)務分配服務器根據所述用戶請求生成遠程過程調用RPC請求; 所述業(yè)務分配服務器向業(yè)務處理服務器發(fā)送RPC請求,所述RPC請求攜帶有所述響應時間約束信息;使得所述業(yè)務處理服務器根據所述響應時間約束信息為所述RPC請求設置執(zhí)行優(yōu)先級,和/或分配執(zhí)行資源。
10.根據權利要求9所述的方法,其特征在于,所述分配所述用戶請求的響應時間約束信息,包括: 根據所述響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息為所述用戶請求分配響應時間約束信息。
11.根據權利要求10所述的方法,其特征在于, 若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時發(fā)生了改變,則所述根據響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息為所述用戶請求分配響應時間約束信息,包括: 獲取第一處理速度與第二處理速度的比值,將所述響應時間約束信息的歷史值乘于所述比值,得到當前為所述用戶請求分配的響應時間約束信息;所述第一處理速度為當前的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度,所述第二處理速度為記錄所述響應時間約束信息的歷史值時的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度; 若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時沒有發(fā)生改變,則所述根據響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息為所述用戶請求分配響應時間約束信息,包括: 將所述響應時間約束信息的歷史值作為當前為所述用戶請求分配的響應時間約束信肩、O
12.根據權利要求9至11任意一項所述的方法,其特征在于,所述根據用戶請求生成遠程過程調用RPC請求,包括: 提取完成所述用戶請求所需的業(yè)務參數; 根據預置的業(yè)務邏輯確定完成所述用戶請求需要執(zhí)行的步驟,根據所述需要執(zhí)行的步驟確定需要調用的業(yè)務處理服務器; 分別為所述需要調用的業(yè)務處理服務器分配相應的所述業(yè)務參數,生成與所述業(yè)務處理服務器對應的RPC請求。
13.根據權利要求9至11任意一項所述的方法,其特征在于,所述向業(yè)務處理服務器發(fā)送RPC請求之后,包括: 接收所述業(yè)務處理服務器反饋的響應時間約束信息; 使用所述響應時間約束信息更新相應的RPC請求的響應時間約束信息。
14.根據權利要求13所述的方法,其特征在于,所述接收所述業(yè)務處理服務器反饋的響應時間約束信息之后,包括: 根據所述響應時間約束信息和緊急分配閾值選擇所述用戶請求對應的分配處理策略,所述分配處理策略包括:第一分配處理策略和第二分配處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急處理閾值,則選擇執(zhí)行所述第一分配處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急處理閾值,則選擇執(zhí)行所述第二分配處理策略,所述第一分配處理策略的處理復雜度大于所述第二分配處理策略。
15.一種業(yè)務處理服務器,其特征在于,包括: 請求接收單元,用于接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,所述RPC請求包括:響應時間約束信息;所述響應時間約束信息用于標記與所述RPC請求對應的用戶請求的處理約束時間和已發(fā)生處理時間; 存儲單元,用于將所述RPC請求加入服務請求隊列; 設置單元,用于根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
16.根據權利要求15所述的業(yè)務處理服務器,其特征在于,所述設置單元具體用于: 若所述業(yè)務處理服務器能夠同時處理所述服務請求隊列中所有的RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息分配所述各個RPC請求的執(zhí)行資源; 若所述業(yè)務處理服務器僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級; 若所述業(yè)務處理服務器即無法同時處理所述服務請求隊列中所有的RPC請求,也不是僅能單獨處理所述服務請求隊列中的任意一個RPC請求,則所述業(yè)務處理服務器根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,并分配所述各個RPC請求的執(zhí)行資源。
17.根據權利要求15或16所述的業(yè)務處理服務器,其特征在于,所述設置單元包括: 資源分配模塊,用于根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的約束剩余時間;根據預定義規(guī)則設置所述各個RPC請求的執(zhí)行優(yōu)先級,所述預定義規(guī)則包括:所述約束剩余時間越少,則設置的執(zhí)行優(yōu)先級越高; 優(yōu)先級設置模塊,用于根據所述響應時間約束信息獲取所述各個RPC請求的處理約束時間的剩余時間;根據預定義規(guī)則分配所述各個RPC請求的執(zhí)行資源,所述預定義規(guī)則包括:所述約束剩余時間越少,則分配的執(zhí)行資源越多。
18.根據權利要求15至17任意一項所述的業(yè)務處理服務器,其特征在于,所述業(yè)務處理服務器還包括: 處理策略選擇單元,用于根據所述響應時間約束信息和緊急閾值選擇所述RPC請求的處理策略,所述處理策略包括:第一處理策略和第二處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急閾值,則選擇執(zhí)行所述第一處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急閾值,則選擇執(zhí)行所述第二處理策略,所述第一處理策略的處理復雜度大于所述第二處理策略。
19.根據權利要求15至17任意一項所述的業(yè)務處理服務器,其特征在于,所述業(yè)務處理服務器還包括: 請求處理單元,用于對優(yōu)先級最高的RPC請求進行處理,記錄所述RPC請求的處理時間,并根據所述處理時間更新所述RPC請求的響應時間約束信息; 信息反饋單元,用于向所述業(yè)務分配服務器反饋完成處理的RPC請求的響應時間約束信息。
20.一種業(yè)務分配服務器,其特征在于,包括: 用戶請求接收單元,用于接收用戶請求; 信息分配單元,用于為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間; 請求生成單元,用于根據所述用戶請求生成遠程過程調用RPC請求; 請求發(fā)送單元,用于向業(yè)務處理服務器發(fā)送RPC請求,所述RPC請求攜帶有所述響應時間約束信息;使得所述業(yè)務處理服務器根據所述響應時間約束信息為所述RPC請求設置執(zhí)行優(yōu)先級,和/或分配執(zhí)行資源。
21.根據權利要求20所述的業(yè)務分配服務器,其特征在于,所述信息分配單元具體用于: 根據所述響應時間約束信息的歷史值以及所述業(yè)務處理服務器的硬件信息為所述用戶請求分配響應時間約束信息。
22.根據權利要求21所述的業(yè)務分配服務器,其特征在于,信息分配單元包括: 第一分配模塊,用于若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時發(fā)生了改變,則獲取第一處理速度與第二處理速度的比值,將所述響應時間約束信息的歷史值乘于所述比值,得到當前為所述用戶請求分配的響應時間約束信息;所述第一處理速度為當前的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度,所述第二處理速度為記錄所述響應時間約束信息的歷史值時的業(yè)務處理服務器的硬件性能對所述RPC請求的處理速度; 第二分配模塊,用于若當前的業(yè)務處理服務器的硬件性能,相對于記錄所述響應時間約束信息的歷史值時沒有發(fā)生改變,則將所述響應時間約束信息的歷史值作為當前為所述用戶請求分配的響應時間約束信息。
23.根據權利要求20至22任意一項所述的業(yè)務分配服務器,其特征在于,所述請求生成單元包括: 參數提取模塊,用于提取完成所述用戶請求所需的業(yè)務參數; 邏輯分析模塊,用于根據預置的業(yè)務邏輯確定完成所述用戶請求需要執(zhí)行的步驟,根據所述需要執(zhí)行的步驟確定需要調用的業(yè)務處理服務器; 請求生成模塊,用于分別為所述需要調用的業(yè)務處理服務器分配相應的所述業(yè)務參數,生成與所述業(yè)務處理服務器對應的RPC請求。
24.根據權利要求20至22任意一項所述的業(yè)務分配服務器,其特征在于,所述業(yè)務處理服務器還包括: 信息接收單元,用于接收所述業(yè)務處理服務器反饋的響應時間約束信息; 信息更新單元,用于使用所述響應時間約束信息更新相應的RPC請求的響應時間約束信息。
25.根據權利要求24所述的業(yè)務分配服務器,其特征在于,所述業(yè)務分配服務器還包括: 分配策略選擇單元,用于根據所述響應時間約束信息和緊急分配閾值選擇所述用戶請求對應的分配處理策略,所述分配處理策略包括:第一分配處理策略和第二分配處理策略,若所述響應時間約束信息的約束剩余時間大于所述緊急處理閾值,則選擇執(zhí)行所述第一分配處理策略,若所述響應時間約束信息的約束剩余時間小于或等于所述緊急處理閾值,則選擇執(zhí)行所述第二分配處理策略,所述第一分配處理策略的處理復雜度大于所述第二分配處理策略。
26.—種請求處理系統(tǒng),其特征在于,包括: 業(yè)務分配服務器和業(yè)務處理服務器; 所述業(yè)務分配服務器用于接收用戶請求;為所述用戶請求分配響應時間約束信息,所述響應時間約束信息用于標記所述用戶請求的處理約束時間和已發(fā)生處理時間;根據所述用戶請求生成遠程過程調用RPC請求;向業(yè)務處理服務器發(fā)送RPC請求;所述RPC請求攜帶有所述響應時間約束信息; 所述業(yè)務處理服務器用于接收業(yè)務分配服務器發(fā)送的遠程過程調用RPC請求,將所述RPC請求加入服務請求隊列;根據所述服務請求隊列中各個RPC請求的響應時間約束信息設置所述各個RPC請求的執(zhí)行優(yōu)先級,和/或分配所述各個RPC請求的執(zhí)行資源。
【文檔編號】G06F9/54GK104243405SQ201310228246
【公開日】2014年12月24日 申請日期:2013年6月8日 優(yōu)先權日:2013年6月8日
【發(fā)明者】馬久躍, 包云崗, 隋秀峰, 任睿 申請人:華為技術有限公司, 中國科學院計算技術研究所