麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

服務并發訪問控制方法及裝置的制作方法

文檔序號:6382930閱讀:149來源:國知局
專利名稱:服務并發訪問控制方法及裝置的制作方法
技術領域
本發明涉及計算機技術領域,特別是涉及一種服務并發訪問控制方法及裝置。
背景技術
服務作為一種部署靈活,集成方便的應用實現,在如今的系統中應用非常普遍。
通常,對服務的訪問數量的控制,有兩種方式,一種是對并發的控制,控制的是某 個特定時刻的大訪問量,另一種是對流量的控制,控制的是時間段內的大訪問量。而下述的 方案所指的是對某個特定時刻的大訪問量的控制。
應用作為服務一旦發布后,一般可供系統內所有其他應用調用;此時,服務質量控 制的問題就突出出來,為了保證服務的服務質量,通過并發控制的機制來保證服務請求不 會在某個時刻請求過多,影響服務提供方對其他應用系統提供服務以及服務提供方的響應 速度;同時隨著應用系統的增多,提供的服務也越來越多,對某個服務在特定時刻的訪問過 多,系統資源消耗過大,從而可能會導致系統提供的其他服務受到影響,而這都是系統設計 時不希望遇到的。
另一方面,在一個大的機構里,可能有很多部門(域),每個部門又可能有多個組 (節點),對于一個服務發布以后,如果每個組,每個部門都可以平等訪問此服務,會導致一 些重要組,重要部門對服務的訪問在需要的情況下不能得到及時響應,這也是很多情況下, 希望避免的。為了避免這些情況的出現,就需要提供一種按照部門(域),組(節點)設定的組 (節點)或部門(域)的訪問請求的排隊等待及處理優先級權重的方式,實時的提供有區別的 服務處理(立即響應/排隊等待等)。
通常的服務并發控制方法都只是給服務預先設定一個閥值,在服務提供者請求服 務時,系統查看服務提供者在此刻是否已經達到了預設閥值,如果已經達到預設閥值則會 告知服務消費者服務提供者繁忙。
現有的對并發服務的控制,只控制對服務的總的共享通道數(并發訪問數),而在 總的共享通道數沒有達到的時候,不能根據請求源的不同而對不同的請求做出區別處理, 在很多情況下此種簡單的并發控制不能滿足需求。發明內容
(一)要解決的技術問題
本發明的目的是提供一種服務并發訪問控制方法及裝置,解決現有技術中并發控 制方式單一,不能對服務請求按域或節點設置處理權重,不能對請求進行排隊等待以及不 能給請求提供應急處理通道的問題。
(二)技術方案
為了解決上述技術問題,本發明提供一種服務并發訪問控制方法,其包括以下步 驟
S401,服務系統接收服務請求;
S402,判斷服務請求數量是否達到了服務系統能夠響應的最大并發數,如果是,則 執行S403,否則執行S404 ;
S403,給服務請求方返回服務系統忙的信息;
S404,根據服務請求的應急程度以及服務系統的處理通道數量,判斷服務請求是 否需要排隊,如果需要排隊,則執行S405 ;不需排隊,則執行S406 ;處理通道耗完,則執行 S407 ;
S405,服務請求進入排隊狀態,等待被喚醒執行;
S406,進入服務請求執行處理過程;
S407,給服務請求方返回處理通道耗完的信息。
其中,所述步驟S404具體包括
S302,判斷服務請求是否為應急請求,如果是,則執行S303,否則執行S305 ;
S303,判斷處理通道是否有空閑,如果有,則執行S304,否則執行S308 ;
S304,不需要排隊,直接執行處理該服務請求;
S305,根據該服務請求消息,判斷該服務請求申請的處理通道是否消耗完,如果 是,則執行S307,否則執行S306 ;
S306,將與該服務請求相對應的處理通道計數加I ;
S307,給服務請求方返回處理通道耗完的信息;
S308,該服務請求需要進入排隊狀態,等待處理通道空閑后處理。
其中,所述步驟S405具體包括
S102,查詢處理通道是否有空閑,如果有空閑處理通道,則執行S103,否則執行 S106 ;
S103,查詢應急服務請求隊列中是否有等待處理的服務請求消息,如果有,則執行 S104,否則執行S105 ;
S104,獲取服務請求隊列中的服務請求消息,根據消息中的信號激活等待處理的 服務請求,即該服務請求被喚醒;
S105,查詢應急服務請求隊列以外的候補隊列中是否有服務請求消息,如果有,則 執行S106,否則執行S107 ;
S106,從所述候補隊列中取消息,如果成功取得消息,則執行S104,否則,如果取到 的是空消息,執行S107 ;
S107,等待指定周期,執行S102進行新一輪服務請求消息隊列處理過程。
其中,所述步驟S105具體包括
S202,判斷服務系統處理域的最大通道數是否達到,如果達到最大通道數,執行 S209 ;否則執行S203 ;
S203,判斷處理節點的權重是否達到,如果達到,則執行S204 ;否則執行S206 ;
S204,判斷處理域中是否還有節點,如果有,則執行S208 ;否則執行S205 ;
S205,更新處理域為下一個域;
S206,判斷節點的候補隊列是否有服務請求消息,如果有,則執行S207 ;否則執行S208;
S207,返回節點服務請求消息;
S208,更新處理節點;
S209,返回空消息。
本發明還提供了一種服務并發訪問控制裝置,其包括
服務請求接收處理模塊,接收服務請求,并判斷服務請求數量是否達到服務系統 能夠響應的最大并發數,經過請求排隊邏輯模塊進行判斷,對服務請求進行排隊處理、或直 接執行處理、或給服務請求方返回處理通道耗完的信息;
請求排隊邏輯模塊,與所述服務請求接收處理模塊相連,根據服務請求消息,判斷 消息需要如何處理,包括排隊、直接處理、處理通道耗完三種方式;
消息隊列處理模塊,與所述服務請求接收處理模塊相連,定期檢測處理通道是否 空閑,保證有空閑處理通道的情況下,服務請求消息隊列中的服務請求消息能夠得到及時 處理;
取候補隊列消息模塊,與所述消息隊列處理模塊相連,在有空閑處理通道的情況 下,按照分配的權重比例從候補隊列中取消息。
(三)有益效果
上述技術方案所提供的服務并發訪問控制方法及裝置,能夠按照需要在控制服務 請求并發的同時,保證不同節點或節點域的訪問請求能夠按照需要的權重方式得到服務, 并且在提供應急處理通道的同時保證應急服務請求得到及時服務,從而提高服務并發控制 的精確度與效率。


圖1為本發明實施例的消息隊列處理流程圖2為本發明實施例的從消息隊列取消息的流程圖3為本發明實施例的請求排隊邏輯流程圖4為本發明實施例的并發訪問控制邏輯流程圖。
具體實施方式
下面結合附圖和實施例,對本發明的具體實施方式
作進一步詳細描述。以下實施 例用于說明本發明,但不用來限制本發明的范圍。
實施例1
參照圖1和圖4,本實施例的服務并發訪問控制方法包括以下步驟
首先,進行服務請求的接受及處理,如圖4所示,具體過程如下
S401,服務系統接收服務請求;
S402,判斷服務請求數量是否達到了服務系統能夠響應的最大并發數,如果是,則 執行S403,否則執行S404 ;
S403,給服務請求方返回服務系統忙的信息;
S404,根據服務請求的應急程度以及服務系統的處理通道數量,即根據圖3中所 示的請求排隊邏輯流程中的邏輯進行,判斷服務請求是否需要排隊,如果需要排隊,則執行 S405 ;不需排隊,則執行S406 ;處理通道耗完,則執行S407 ;
S405,服務請求進入排隊狀態,等待被喚醒執行,即被圖1中的S104喚醒,喚醒邏輯執行消息隊列處理流程;
S406,進入服務請求執行處理過程;
S407,給服務請求方返回處理通道耗完的信息。
其中,參照圖3所示,所述步驟S404具體過程如下
該過程主要執行S301 :排隊邏輯;
S302,判斷服務請求是否為應急請求,如果是,則執行S303,否則執行S305 ;
S303,判斷處理通道是否有空閑,如果有,則執行S304,否則執行S308 ;
S304,不需要排隊,直接執行處理該服務請求;
S305,根據該服務請求消息,判斷該服務請求申請的處理通道是否消耗完,如果 是,則執行S307,否則執行S306 ;
S306,將與該服務請求相對應的處理通道計數加I ;
S307,給服務請求方返回處理通道耗完的信息;
S308,該服務請求需要進入排隊狀態,等待處理通道空閑后處理。
其中,參照圖1所示,所述步驟S405具體過程如下
該過程主要執行S101,消息隊列處理;
S102,查詢處理通道是否有空閑,如果有空閑處理通道,則執行S103,否則執行 S106 ;
S103,查詢應急服務請求隊列中是否有等待處理的服務請求消息,如果有,則執行 S104,否則執行S105 ;
S104,獲取服務請求隊列中的服務請求消息,根據消息中的信號激活等待處理的 服務請求,即該服務請求被喚醒,對應圖4中的S405 ;
S105,查詢應急服務請求隊列以外的候補隊列中是否有服務請求消息,如果有,則 執行S106,否則執行S107 ;
S106,從所述候補隊列中取消息,如果成功取得消息,則執行S104,否則,如果取到 的是空消息,執行S107 ;
S107,等待指定周期(如I秒),執行S102進行新一輪服務請求消息隊列處理過程。
參照圖2所示,所述步驟S105具體過程如下
該過程主要執行S201,取候補隊列消息;
S202,判斷服務系統處理域的最大通道數是否達到,如果達到最大通道數,執行S209;否則執行S203 ;
S203,判斷處理節點的權重是否達到,如果達到,則執行S204 ;否則執行S206 ;
S204,判斷處理域中是否還有節點,如果有,則執行S208 ;否則執行S205 ;
S205,更新處理域為下一個域;
S206,判斷節點的候補隊列是否有服務請求消息,如果有,則執行S207 ;否則執行 S208 ;
S207,返回節點服務請求消息;
S208,更新處理節點;
S209,返回空消息。
上述服務并發訪問控制方法能夠按照服務請求的權重方式進行服務,提供應急處理通道以使應急服務請求及時得到處理。
實施例2
本實施例提供的服務并發訪問控制裝置包括服務請求接收處理模塊、請求排隊邏 輯模塊、消息隊列處理模塊和取候補隊列消息模塊;服務請求接收處理模塊用于接收服務 請求,并判斷服務請求數量是否達到服務系統能夠響應的最大并發數,經過請求排隊邏輯 模塊進行判斷,對服務請求進行排隊處理、或直接執行處理、或給服務請求方返回處理通道 耗完的信息;請求排隊邏輯模塊與所述服務請求接收處理模塊相連,根據服務請求消息,判 斷消息需要如何處理,包括排隊、直接處理、處理通道耗完三種方式;消息隊列處理模塊與 所述服務請求接收處理模塊相連,定期檢測處理通道是否空閑,保證有空閑處理通道的情 況下,服務請求消息隊列中的服務請求消息能夠得到及時處理;取候補隊列消息模塊與所 述消息隊列處理模塊相連,在有空閑處理通道的情況下,按照分配的權重比例從候補隊列 中取消息。
具體地,服務請求接收處理模塊接收到請求消息后,判斷是否達到了最大并發數 (即最大處理通道數),如果沒有達到,則通過排隊邏輯模塊判斷是否需要排隊,如果需要排 隊,則阻塞等待喚醒信號;否則,根據排隊結果,返回異?;蚶^續處理請求。請求排隊邏輯模 塊首先判斷接收到的請求消息不是應急請求消息,并且處理此類型消息的處理通道沒有耗 完,則進入候補隊列等待處理,如果處理通道耗完,則返回異常;如果是應急請求消息,并且 有空閑處理通道,則直接處理,否則,進入應急隊列等待處理。消息隊列處理模塊查詢是否 存在空閑處理通道,如果存在空閑處理通道,并且應急隊列中有消息,則釋放應急隊列中的 消息,否則按照配置的不同節點或節點域的訪問請求的候補隊列深度及處理優先級權重來 釋放候補隊列中的消息,提供給空閑通道處理,如果空閑通道為零,則等待下一個周期再次 查詢。取候補隊列消息模塊首先判斷正在處理域的最大通道數是否達到,如果達到,則返回 空消息;否則,判斷節點分配的權重是否達到,如果是,判斷處理的域是否還有節點,如果還 有,則取下一個節點,為處理節點;如果沒有節點,則更新域,同時更新處理節點;如果節點 分配的權重沒有達到,則判斷是否有本節點的候補消息,如果有,則取消息返回;否則,更新 處理節點,再次執行整個步驟,到返回真正消息或空消息。
由以上實施例可以看出,本發明能夠按照需要在控制并發的同時,保證不同節點 或節點域的訪問請求能夠按照需要的權重方式得到服務,并且在提供應急通道的同時保證 應急請求得到及時服務,從而提高服務并發控制的精確度與效率。
以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人 員來說,在不脫離本發明技術原理的前提下,還可以做出若干改進和替換,這些改進和替換 也應視為本發明的保護范圍。
權利要求
1.一種服務并發訪問控制方法,其特征在于,包括以下步驟S401,服務系統接收服務請求;S402,判斷服務請求數量是否達到了服務系統能夠響應的最大并發數,如果是,則執行 S403,否則執行S404 ;S403,給服務請求方返回服務系統忙的信息;S404,根據服務請求的應急程度以及服務系統的處理通道數量,判斷服務請求是否需要排隊,如果需要排隊,則執行S405 ;不需排隊,則執行S406 ;處理通道耗完,則執行S407 ; S405,服務請求進入排隊狀態,等待被喚醒執行;S406,進入服務請求執行處理過程;S407,給服務請求方返回處理通道耗完的信息。
2.如權利要求1所述的服務并發訪問控制方法,其特征在于,所述步驟S404具體包括S302,判斷服務請求是否為應急請求,如果是,則執行S303,否則執行S305 ;S303,判斷處理通道是否有空閑,如果有,則執行S304,否則執行S308 ;S304,不需要排隊,直接執行處理該服務請求;S305,根據該服務請求消息,判斷該服務請求申請的處理通道是否消耗完,如果是,則執行S307,否則執行S306 ;S306,將與該服務請求相對應的處理通道計數加I ;S307,給服務請求方返回處理通道耗完的信息;S308,該服務請求需要進入排隊狀態,等待處理通道空閑后處理。
3.如權利要求1所述的服務并發訪問控制方法,其特征在于,所述步驟S405具體包括S102,查詢處理通道是否有空閑,如果有空閑處理通道,則執行S103,否則執行S106 ; S103,查詢應急服務請求隊列中是否有等待處理的服務請求消息,如果有,則執行 S104,否則執行S105 ;S104,獲取服務請求隊列中的服務請求消息,根據消息中的信號激活等待處理的服務請求,即該服務請求被喚醒;S105,查詢應急服務請求隊列以外的候補隊列中是否有服務請求消息,如果有,則執行 S106,否則執行S107 ;S106,從所述候補隊列中取消息,如果成功取得消息,則執行S104,否則,如果取到的是空消息,執行S107 ;S107,等待指定周期,執行S102進行新一輪服務請求消息隊列處理過程。
4.如權利要求3所述的服務并發訪問控制方法,其特征在于,所述步驟S105具體包括S202,判斷服務系統處理域的最大通道數是否達到,如果達到最大通道數,執行S209 ; 否則執行S203 ;S203,判斷處理節點的權重是否達到,如果達到,則執行S204 ;否則執行S206 ;S204,判斷處理域中是否還有節點,如果有,則執行S208 ;否則執行S205 ;S205,更新處理域為下一個域;S206,判斷節點的候補隊列是否有服務請求消息,如果有,則執行S207;否則執行 S208 ;S207,返回節點服務請求消息;S208,更新處理節點;S209,返回空消息。
5.一種服務并發訪問控制裝置,其特征在于,包括服務請求接收處理模塊,接收服務請求,并判斷服務請求數量是否達到服務系統能夠響應的最大并發數,經過請求排隊邏輯模塊進行判斷,對服務請求進行排隊處理、或直接執行處理、或給服務請求方返回處理通道耗完的信息;請求排隊邏輯模塊,與所述服務請求接收處理模塊相連,根據服務請求消息,判斷消息需要如何處理,包括排隊、直接處理、處理通道耗完三種方式;消息隊列處理模塊,與所述服務請求接收處理模塊相連,定期檢測處理通道是否空閑, 保證有空閑處理通道的情況下,服務請求消息隊列中的服務請求消息能夠得到及時處理; 取候補隊列消息模塊,與所述消息隊列處理模塊相連,在有空閑處理通道的情況下,按照分配的權重比例從候補隊列中取消息。
全文摘要
本發明公開了一種服務并發訪問控制方法及裝置,該方法包括步驟S401,服務系統接收服務請求;S402,判斷服務請求數量是否達到了服務系統能夠響應的最大并發數,是則轉S403,否則轉S404;S403,給服務請求方返回服務系統忙的信息;S404,根據服務請求的應急程度以及服務系統的處理通道數量,判斷服務請求是否需要排隊,是則轉S405;否則轉S406;處理通道耗完,則轉S407;S405,服務請求排隊,等待被喚醒執行;S406,服務請求被處理;S407,返回處理通道耗完信息。本發明按照需要在控制服務請求并發的同時,保證不同節點或節點域的訪問請求能夠按照需要的權重方式得到服務,并且在提供應急處理通道的同時保證應急服務請求得到及時服務,提高服務并發控制的精確度與效率。
文檔編號G06F9/46GK102999377SQ20121050641
公開日2013年3月27日 申請日期2012年11月30日 優先權日2012年11月30日
發明者代衛興, 鄧鵬飛, 劉川 申請人:北京東方通科技股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 克东县| 南阳市| 特克斯县| 房产| 宜兰县| 信阳市| 晋城| 伊吾县| 阿勒泰市| 姚安县| 汶上县| 彭山县| 冕宁县| 襄樊市| 天津市| 拜城县| 囊谦县| 武胜县| 尚志市| 游戏| 昂仁县| 文登市| 当涂县| 时尚| 衡南县| 北票市| 古浪县| 荆州市| 五大连池市| 银川市| 扎兰屯市| 鸡西市| 郓城县| 望奎县| 昭觉县| 寿阳县| 济宁市| 白沙| 通州区| 贵溪市| 华阴市|