[發明專利]負載平衡方法和裝置有效
| 申請號: | 201110406395.1 | 申請日: | 2011-12-06 |
| 公開(公告)號: | CN103150213A | 公開(公告)日: | 2013-06-12 |
| 發明(設計)人: | 周萍萍 | 申請(專利權)人: | 北大方正集團有限公司;北京北大方正電子有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京英賽嘉華知識產權代理有限責任公司 11204 | 代理人: | 王達佐 |
| 地址: | 100871 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 負載 平衡 方法 裝置 | ||
技術領域
本發明涉及軟件開發領域,具體而言,涉及一種負載平衡方法和裝置。
背景技術
引擎是運行于網絡中,通用的、可伸縮的,用于處理耗時耗資源的任務的框架系統。服務器通過運行引擎,向客戶端提供各種服務。
在多任務系統中,用戶向服務器提出多個任務請求,服務器應當以合理的機制調度合適的引擎運行相應的任務,以避免任務擁塞。
例如,現有出版流程重復性勞動多、效率低,各臺設備之間沒有協調和調度,更談不上整個設備集群調度的資源優化和負載平衡,結果造成了設備和人力資源的浪費。
發明內容
本發明旨在提供一種負載平衡方法和裝置,以解決任務擁塞的問題。
在本發明的實施例中,提供了一種負載平衡方法,包括:從任務隊列的隊首中取出一個任務;從與任務的業務類型相對應的引擎中選擇處理能力最強的引擎;將任務分配給所選引擎,并將所選引擎的當前處理的任務數加1。
在本發明的實施例中,提供了一種負載平衡裝置,包括:取任務模塊,用于從任務隊列的隊首中取出一個任務;選擇模塊,用于從與任務的業務類型相對應的引擎中選擇處理能力最強的引擎;分配模塊,用于將任務分配給所選引擎,并將所選引擎的當前處理的任務數加1。
本發明上述實施例的負載平衡方法和裝置因為合理地調度引擎,所以克服了任務擁塞的問題,提高了引擎的運行效率。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
圖1示出了根據本發明實施例的負載平衡方法的流程圖;
圖2示出了根據本發明優選實施例的負載平衡方法的流程圖;
圖3示出了根據本發明實施例的負載平衡裝置的示意圖;
圖4示出了根據本發明優選實施例的任務調度和負載平衡的系統的示意圖。
具體實施方式
下面將參考附圖并結合實施例,來詳細說明本發明。
圖1示出了根據本發明實施例的負載平衡方法的流程圖,包括:
步驟S10,從任務隊列的隊首中取出一個任務;
步驟S20,從與任務的業務類型相對應的引擎中選擇處理能力最強的引擎;
步驟S30,將任務分配給所選引擎,并將所選引擎的當前處理的任務數加1。
本方法在滿足給定的任務執行順序的前提下,可以有效地利用資源,快速完成任務處理。
優選地,步驟S20包括:確定與任務的業務類型相對應的引擎;獲取各個相對應的引擎當前的處理能力;確定其中空閑任務數最多的引擎。
業務類型具體的可以為文檔轉換執行引擎、抽圖執行引擎、圖像轉換執行引擎等,負責處理相應的業務。本優選實施例以比較簡單地方法確定了處理能力最強的引擎。
優選地,空閑任務數為引擎的最大任務處理數減去其當前處理的任務數。
優選地,本方法還包括:確定所有相對應的引擎均不具備處理能力;使任務保持等待,直到確定一個相對應的引擎空閑。例如,獲取等待任務隊列中的第一個任務的業務類型,尋找各執行引擎的業務類型與之匹配的引擎,如果相同則判斷執行引擎正在處理的任務個數是否小于CPU內核數,如果是則說明引擎還可以處理任務,如果大于CPU內核數,則說明引擎忙,不可以處理任務。
優選地,本方法還包括:預先從客戶端接收要處理的任務;將要處理的任務插入任務隊列的隊尾。該方法比較簡單,用隊列數據結構即可實現。
圖2示出了根據本發明優選實施例的負載平衡方法的流程圖,包括:
步驟S201,收到任務請求時,將任務存儲到等待執行任務隊列中。
通過循環監測等待執行任務隊列中的情況,一旦發現等待任務隊列中有任務,開始執行步驟S202;否則不斷地監測等待執行任務隊列中的任務情況。
步驟S202,監測各執行引擎的能力、負載以及處理任務情況、業務處理數目;
向各個執行引擎發送消息,獲取各執行引擎的CPU內核數、CPU使用率、正在處理的任務個數以及業務類型等;
獲取等待任務隊列中的第一個任務的業務類型,尋找各執行引擎的業務類型與之匹配的引擎,如果相同則判斷執行引擎正在處理的任務個數是否小于CPU內核數,如果是則說明引擎還可以處理任務,執行步驟S203;否則繼續監測;
該執行引擎同時處理的任務數,不超過CPU的內核數量。
步驟S203,將當前符合該任務業務請求類型的空閑執行引擎存儲到可用引擎隊列中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北大方正集團有限公司;北京北大方正電子有限公司,未經北大方正集團有限公司;北京北大方正電子有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110406395.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于液罐車罐體的蝶形板拼焊的固定裝置
- 下一篇:一種圓孔雙向倒角刀具





