新四季網

基於消息機制的集群任務自調度系統與方法

2023-07-05 04:21:26 1

專利名稱:基於消息機制的集群任務自調度系統與方法
技術領域:
本發明屬於計算機網絡領域,具體涉及 一種基於消息機制的集群任務自調度系統與方法。
背景技術:
隨著雲計算和網際網路技術的高速發展,伺服器集群的規模也在不斷的擴大,在大規模的應用中,集群中伺服器節點的個數已經上萬,並以指數倍的速度持續增長。因此,運維人員面臨的運維壓力與日俱增,運維工作陷入瓶頸,主要表現在以下幾個方面(I)運維複雜度高。集群規模的擴大,伺服器節點角色的增加,導致集群運維的複雜程度不斷提升,運維管理員清楚的掌握所有伺服器的配置情況幾乎不可能。(2)運維自動化程度低。大量的維護工作還由運維管理員手動完成,針對伺服器的一個較小的控制維護工作也因集群規模的龐大變成一個浩大工程。而一些自動化工具也受限於支持的規模無法將集群統一管理。(3)定期的重複工作量大。運維人員會面臨大量定期執行的重複任務和工作,這些重複工作消耗了大量人力資源。針對以上運維過程中的問題,出現了一些自動化集群運維工具,例如Puppet,Control Tire等,這些自動化運維工具在一定程度上能緩解運維人員的工作壓力,但是仍然存在許多問題。現有的運維自動化大多採用一個管理端,多個被管理端的集中式管理方式。管理端與被管理端的通信、調度機制是決定運維工作效率的核心。而現有的自動化運維系統主要存在以下幾個問題(I)大規模集群執行任務時效率低下。主要原因是管理節點和被管理節點間採用同步通信機制,這樣管理節點會依次向被管理節點分發任務,並等待任務分發或執行結果。個別節點的異常情況會造成管理節點處於等待狀態,管理節點此時無法對其他節點進行任務的下發及調度,從而造成集群任務執行效率的降低。(2)管理節點調度壓力過大。集群中被管理節點的所有任務都由管理節點定期調度,造成管理節點的壓力過大。限制了一個管理節點可管理的伺服器規模。缺少對集群所有伺服器任務調度執行情況的跟蹤。大多集群自動化運維系統只提供了管理端到被管理端的任務調度功能,而各被管理節點的任務執行情況不會反饋給管理端。這樣,運維人員無法輕易的得到所有任務調度節點的任務執行結果情況。

發明內容
為克服上述缺陷,本發明提供了一種基於消息機制的集群任務自調度系統與方法,使集群管理節點與被管理節點通過消息機制進行異步通信,實現任務的下發和任務執行結果的收集。提高了集群管理節點的處理能力;而且伺服器任務自調度模式,將集群任務的調度由管理端轉移到被管理端,實現一次分發,長久自調度。降低了集群管理端的負載,從而提升管理端的管理規模。為實現上述目的,本發明提供一種基於消息機制的集群任務自調度系統,包括資料庫,其改進之處在於,所述系統包括依次進行數據交互的管理單元、消息中間件和代理單元;所述資料庫與所述管理單元進行數據交互。本發明提供的優選技術方案中,所述管理單元,包括任 務發送模塊和結果接收模塊。本發明提供的第二優選技術方案中,所述任務發送模塊,提供統一的任務定義接口,並根據實際配置的任務策略,將任務下發給所述代理單元;結果接收模塊,實時接收代理單元發來的任務執行結果,並對結果進行歸併及存儲,並提供任務監控查詢接口。本發明提供的第三優選技術方案中,所述消息中間件,包括任務隊列模塊和執行結果隊列模塊;所述任務隊列模塊存儲有任務隊列,所述執行結果隊列模塊存儲有執行結果隊列。本發明提供的第四優選技術方案中,所述任務發送模塊通過所述任務隊列模塊向所述代理單元傳輸任務;所述結果接收模塊通過所述執行結果隊列模塊接收所述代理單元傳輸的任務執行結果。本發明提供的第五優選技術方案中,所述消息中間件採用ActiveMQ。本發明提供的第六優選技術方案中,所述代理單元,包括依次進行數據通信的存儲模塊、任務執行模塊和執行結果反饋模塊。本發明提供的第七優選技術方案中,所述存儲模塊,接收並存儲所述管理單元傳輸的任務;所述任務執行模塊,根據接收到的任務的調度策略定期或定時的執行任務;所述執行結果反饋模塊,將執行完任務的結果反饋給所述管理單元。本發明提供的第八優選技術方案中,提供一種基於消息機制的集群任務自調度方法,其改進之處在於,所述方法包括如下步驟(I).管理單元向代理單元分配任務;(2).代理單元對分配的任務進行調度和執行;(3).管理單元對已執行的任務結果進行收集。本發明提供的第九優選技術方案中,所述步驟I包括如下步驟(1-1).管理單元的任務發送模塊定義任務的基本信息;(1-2).管理單元將任務的基本信息保存到資料庫中,作為任務的元數據;(1-3).管理單元將任務封裝成不同的消息,發送到消息中間件的任務隊列模塊中;(1-4).各個代理單元監聽消息中間件上的任務隊列,接收與自己對應的消息,並通知消息中間件從任務隊列中刪除消息;(1-5).代理單元將接收的任務消息進行解析,並封裝成XML格式的文件進行存儲。本發明提供的第十優選技術方案中,任務的基本信息,包括任務名稱、任務描述、任務內容、任務執行策略和目標伺服器節點;其中,任務內容包括伺服器具體要進行的操作,啟停服務和執行腳本。本發明提供的較優選技術方案中,所述步驟2包括如下步驟
(2-1).代理單元加載所有本地XML格式任務模型,並轉換為可執行的任務;(2-2).代理單元根據任務執行時間策略,定期或定時執行任務;(2-3).代理單元將任務執行結果封裝為消息,發送到消息中間件的執行結果隊列模塊中;其中,消息攜帶了所在代理單元的唯一標識。本發明提供的第二較優選技術方案中,任務執行時間策略包括定時任務指定時間,完成一次操作;循環任務一個循環周期內的特定時間點,完成一次操作,循環周期包括每小時、每天、每周、每月和每年;立即執行任務接受時立即執行;和自定義策略多個具體時間。本發明提供的第三較優選技術方案中,所述步驟3包括如下步驟
(3-1).管理單元監聽執行結果隊列,接收進入隊列的消息,接收完成後,消息隊列刪除已被接收的消息;(3-2).管理單元解析消息,根據消息中代理單元的唯一標識,將任務執行結果保存到資料庫中,完成執行結果的收集;(3-3).管理單元將所有任務執行結果進行歸併,並提供統一的查詢和瀏覽任務執行結果的接口。與現有技術比,本發明提供的一種基於消息機制的集群任務自調度系統與方法,提供了管理集群的統一入口,運維人員可以輕鬆的通過管理端對整合集群做管理和配置操作;提供了集群任務收集功能,並向運維人員開放了統一的查詢瀏覽入口,使得運維人員輕鬆的了解集群的任務執行情況;而且完善了任務執行策略及伺服器自調度模式,運維人員所做的定期重複工作將由伺服器自己完成;再者,集群管理端與被管理端的異步通信機制,增強了管理端管控伺服器的規模。


圖I為基於消息機制的集群任務自調度系統的結構示意圖。圖2為基於消息機制的集群任務自調度方法的流程圖。圖3為基於消息機制的集群任務自調度方法的任務結果收集流程圖。
具體實施例方式如圖I所示,一種基於消息機制的集群任務自調度系統,包括資料庫、依次進行數據交互的管理單元、消息中間件和代理單元;所述資料庫與所述管理單元進行數據交互。所述管理單元,包括任務發送模塊和結果接收模塊。所述任務發送模塊,提供統一的任務定義接口,並根據實際配置的任務策略,將任務下發給所述代理單元;結果接收模塊,實時接收代理單元發來的任務執行結果,並對結果進行歸併及存儲,並提供任務監控查詢接口。所述消息中間件,包括任務隊列模塊和執行結果隊列模塊;所述任務隊列模塊存儲有任務隊列,所述執行結果隊列模塊存儲有執行結果隊列。所述任務發送模塊通過所述任務隊列模塊向所述代理單元傳輸任務;所述結果接收模塊通過所述執行結果隊列模塊接收所述代理單元傳輸的任務執行結果。所述消息中間件採用ActiveMQ。
所述代理單元,包括依次進行數據通信的存儲模塊、任務執行模塊和執行結果反饋模塊。所述存儲模塊,接收並存儲所述管理單元傳輸的任務;所述任務執行模塊,根據接收到的任務的調度策略定期或定時的執行任務;所述執行結果反饋模塊,將執行完任務的結果反饋給所述管理單元。如圖2所示,一種基於消息機制的集群任務自調度方法,所述方法包括如下步驟(I).管理單元向代理單元分配任務;(2).代理單元對分配的任務進行調度和執行;·
(3).管理單元對已執行的任務結果進行收集。所述步驟I包括如下步驟(1-1).管理單元的任務發送模塊定義任務的基本信息;(1-2).管理單元將任務的基本信息保存到資料庫中,作為任務的元數據;(1-3).管理單元將任務封裝成不同的消息,發送到消息中間件的任務隊列模塊中;(1-4).各個代理單元監聽消息中間件上的任務隊列,接收與自己對應的消息,並通知消息中間件從任務隊列中刪除消息;(1-5).代理單元將接收的任務消息進行解析,並封裝成XML格式的文件進行存儲。任務的基本信息,包括任務名稱、任務描述、任務內容、任務執行策略和目標伺服器節點;其中,任務內容包括伺服器具體要進行的操作,如啟停服務和執行腳本等。所述步驟2包括如下步驟(2-1).代理單元加載所有本地XML格式任務模型,並轉換為可執行的任務;(2-2).代理單元根據任務執行時間策略,定期或定時執行任務;(2-3).代理單元將任務執行結果封裝為消息,發送到消息中間件的執行結果隊列模塊中;其中,消息攜帶了所在代理單元的唯一標識。任務執行時間策略包括定時任務指定時間,完成一次操作;循環任務一個循環周期內的特定時間點,完成一次操作,循環周期包括每小時、每天、每周、每月和每年;立即執行任務接受時立即執行;和自定義策略多個具體時間。所述步驟3包括如下步驟(3-1).管理單元監聽執行結果隊列,接收進入隊列的消息,接收完成後,消息隊列刪除已被接收的消息;(3-2).管理單元解析消息,根據消息中代理單元的唯一標識,將任務執行結果保存到資料庫中,完成執行結果的收集;(3-3).管理單元將所有任務執行結果進行歸併,並提供統一的查詢和瀏覽任務執行結果的接口。通過實施例對基於消息機制的集群任務自調度系統與方法做進一步描述。系統的核心主要由管理端程序(Server App)、消息中間件(MON)和代理端程序(Agent App)三部分構成管理端程序管理端程序部署在管理節點上,它一方面為運維人員提供統一的任務定義接口,並根據實際配置的任務策略,將任務下發給所有的任務執行者(需要執行操作的伺服器)。另一方面,管理端程序會實時接收代理端程序發來的任務執行結果,並對結果進行歸併及存儲,同時提供給運維人員統一的任務監控查詢接口,供運維人員跟蹤集群的任務下發及執行情況。代理端程序它部署在所有被管理的伺服器節點上。首先它負責接收管理端下發的任務,並對任務進行持久化存儲。其次會根據接收到的任務的調度策略進行定期或定時的執行任務操作,實現代理端自調度功能。另外,代理端程序在每 次任務執行完畢後,會將任務的執行結果反饋給管理端。消息中間件消息中間件可以部署在獨立的伺服器上,也可以與管理端部署在同一伺服器上。它是管理端與代理端的溝通的橋梁。管理端與代理端不會直接通信,所有的任務下發及任務執行結果的反饋都是通過消息中間件完成的。採用兩個消息隊列,實現了集群管理節點與被管理節點的異步通信。本專利中採用的是ActiveMQ作為消息中間件。基於消息機制的集群任務自調度方法的流程如下任務分發流程I.運維人員通過Server App提供的任務配置接口定義任務任務名稱、任務描述、任務內容(伺服器具體要進行的操作,啟停服務、執行腳本等)、任務執行策略、目標伺服器節點。2. Server App會將任務的基本信息保存到資料庫中,作為任務的元數據。3. Server App將任務封裝成針對不同目標伺服器節點的消息,發送到消息中間件中的任務隊列中。4.所有的Agent App會監聽消息中間件上的任務隊列,並過濾出目標為自己的消息進行接收,接收後刪除任務隊列中的該條消息。5. Agent App將接收的任務消息進行解析,並封裝成XML格式的文件存儲到本地,完成任務的接收。任務調度流程I. Agent App啟動時加載所有本地XML格式任務模型,並轉換為可執行的任務。2. Agent App根據可執行任務執行時間策略,定期或定時執行。其中任務執行時間策略主要有以下幾種定時任務指定時間,完成一次操作。循環任務一個循環周期內的特定時間點,完成一次操作,循環周期包括每小時、每天、每周、每月、每年等。立即執行任務接受時立即執行。自定義策略多個具體時間。3. Agent App將任務執行結果封裝為消息,發送到消息中間件的執行結果隊列中。其中消息攜帶了 Agent所在伺服器的唯一標識。任務調度流程的詳細流程圖如圖3所示。任務結果收集流程I. Server App監聽執行結果隊列,一旦有消息進入隊列,就接收消息,接收完成後,消息隊列將刪除已接收的消息。
2. Server App解析消息,根據消息中伺服器的唯一標識,將任務執行結果保存到資料庫中,完成執行結果的收集。3. Server App將所有伺服器任務執行結果進行歸併,為運維人員提供統一的查詢和瀏覽接口。
需要聲明的是,本發明內容及具體實施方式
意在證明本發明所提供技術方案的實際應用,不應解釋為對本發明保護範圍的限定。本領域技術人員在本發明的精神和原理啟發下,可作各種修改、等同替換、或改進。但這些變更或修改均在申請待批的保護範圍內。
權利要求
1.一種基於消息機制的集群任務自調度系統,其特徵在於,所述系統包括依次進行數據交互的管理單元、消息中間件和代理單元;所述資料庫與所述管理單元進行數據交互。
2.根據權利要求I所述的系統,其特徵在於,所述管理單元,包括任務發送模塊和結果接收模塊。
3.根據權利要求2所述的系統,其特徵在於,所述任務發送模塊,提供統一的任務定義接口,並根據實際配置的任務策略,將任務下發給所述代理單元;結果接收模塊,實時接收代理單元發來的任務執行結果,並對結果進行歸併及存儲,並提供任務監控查詢接口。
4.根據權利要求I所述的系統,其特徵在於,所述消息中間件,包括任務隊列模塊和執行結果隊列模塊;所述任務隊列模塊存儲有任務隊列,所述執行結果隊列模塊存儲有執行結果隊列。
5.根據權利要求4所述的系統,其特徵在於,所述任務發送模塊通過所述任務隊列模塊向所述代理單元傳輸任務;所述結果接收模塊通過所述執行結果隊列模塊接收所述代理單元傳輸的任務執行結果。
6.根據權利要求4或者5所述的系統,其特徵在於,所述消息中間件採用ActiveMQ。
7.根據權利要求I所述的系統,其特徵在於,所述代理單元,包括依次進行數據通信的存儲模塊、任務執行模塊和執行結果反饋模塊。
8.根據權利要求7所述的系統,其特徵在於,所述存儲模塊,接收並存儲所述管理單元傳輸的任務;所述任務執行模塊,根據接收到的任務的調度策略定期或定時的執行任務;所述執行結果反饋模塊,將執行完任務的結果反饋給所述管理單元。
9.一種基於消息機制的集群任務自調度方法,其特徵在於,所述方法包括如下步驟 (1).管理單元向代理單元分配任務; (2).代理單元對分配的任務進行調度和執行; (3).管理單元對已執行的任務結果進行收集。
10.根據權利要求9所述的方法,其特徵在於,所述步驟I包括如下步驟 (1-1).管理單元的任務發送模塊定義任務的基本信息; (1-2).管理單元將任務的基本信息保存到資料庫中,作為任務的元數據; (1-3).管理單元將任務封裝成不同的消息,發送到消息中間件的任務隊列模塊中; (1-4).各個代理單元監聽消息中間件上的任務隊列,接收與自己對應的消息,並通知消息中間件從任務隊列中刪除消息; (1-5).代理單元將接收的任務消息進行解析,並封裝成XML格式的文件進行存儲。
11.根據權利要求10所述的方法,其特徵在於,任務的基本信息,包括任務名稱、任務描述、任務內容、任務執行策略和目標伺服器節點;其中,任務內容包括伺服器具體要進行的操作,啟停服務和執行腳本。
12.根據權利要求9所述的方法,其特徵在於,所述步驟2包括如下步驟 (2-1).代理單元加載所有本地XML格式任務模型,並轉換為可執行的任務; (2-2).代理單元根據任務執行時間策略,定期或定時執行任務; (2-3).代理單元將任務執行結果封裝為消息,發送到消息中間件的執行結果隊列模塊中;其中,消息攜帶了所在代理單元的唯一標識。
13.根據權利要求12所述的方法,其特徵在於,任務執行時間策略包括定時任務指定時間,完成一次操作;循環任務一個循環周期內的特定時間點,完成一次操作,循環周期包括每小時、每天、每周、每月和每年;立即執行任務接受時立即執行;和自定義策略多個具體時間。
14.根據權利要求9所述的方法,其特徵在於,所述步驟3包括如下步驟 (3-1).管理單元監聽執行結果隊列,接收進入隊列的消息,接收完成後,消息隊列刪除已被接收的消息; (3-2).管理單元解析消息,根據消息中代理單元的唯一標識,將任務執行結果保存到資料庫中,完成執行結果的收集; (3-3).管理單元將所有任務執行結果進行歸併,並提供統一的查詢和瀏覽任務執行結果的接口。·
全文摘要
本發明提供了一種基於消息機制的集群任務自調度系統和方法,系統包括資料庫,依次進行數據交互的管理單元、消息中間件和代理單元;所述資料庫與所述管理單元進行數據交互;方法,包括如下步驟(1).管理單元向代理單元分配任務;(2).代理單元對分配的任務進行調度和執行;(3).管理單元對已執行的任務結果進行收集。本發明提供的基於消息機制的集群任務自調度系統和方法,使集群管理節點與被管理節點通過消息機制進行異步通信,實現任務的下發和任務執行結果的收集。提高了集群管理節點的處理能力;而且伺服器任務自調度模式,將集群任務的調度由管理端轉移到被管理端,實現一次分發,長久自調度。降低了集群管理端的負載,從而提升管理端的管理規模。
文檔編號H04L29/08GK102904746SQ20121033955
公開日2013年1月30日 申請日期2012年9月13日 優先權日2012年9月13日
發明者李帥, 趙歡, 龔文, 王明 申請人:曙光信息產業(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀