两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于隊列的分布式多級調(diào)度方法

文檔序號:10470993閱讀:424來源:國知局
一種基于隊列的分布式多級調(diào)度方法
【專利摘要】本發(fā)明提供一種基于隊列的分布式多級調(diào)度方法,屬于分布式調(diào)度領(lǐng)域,本發(fā)明包括,調(diào)度管理器根據(jù)調(diào)度類型分發(fā)調(diào)度任務(wù),負載均衡;調(diào)度觸發(fā)器根據(jù)類型分布式觸發(fā)各種任務(wù);調(diào)度觸發(fā)器任務(wù)分發(fā)至隊列;任務(wù)執(zhí)行器獲取隊列任務(wù)執(zhí)行;任務(wù)執(zhí)行器執(zhí)行完畢返回至隊列;調(diào)度回調(diào)統(tǒng)一處理器處理隊列回調(diào)消息;調(diào)度部署管理器對各類調(diào)度觸發(fā)器做增減等維護;本申請還提供了對應(yīng)的系統(tǒng)。本申請通過一系列的閉環(huán)處理,將各種類型的任務(wù),根據(jù)各類調(diào)度觸發(fā)器的資源情況,負載均衡,分發(fā)任務(wù),最大限度的利用了資源,并提高了任務(wù)觸發(fā)的性能。
【專利說明】
一種基于隊列的分布式多級調(diào)度方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及分布式調(diào)度技術(shù),尤其涉及一種基于隊列的分布式多級調(diào)度方法。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)和電子商務(wù)領(lǐng)域,大數(shù)據(jù)量、高并發(fā)已經(jīng)是急需解決的問題。消耗時間相對較長的業(yè)務(wù)邏輯都會從用戶行為中剝離出來以便對其進行異步處理。這樣不僅能夠提升用戶體驗,而且能夠增加系統(tǒng)的可擴展性。因此分布式任務(wù)調(diào)度得到了非常廣泛的應(yīng)用。而當(dāng)下任務(wù)調(diào)度面臨新的挑戰(zhàn),一個是,高并發(fā)任務(wù)多,另一個是,任務(wù)種類多?,F(xiàn)有技術(shù)下,分布式調(diào)度系統(tǒng)更多的是單一的時間調(diào)度。

【發(fā)明內(nèi)容】

[0003]為了解決該問題,本發(fā)明提出了一種基于隊列的分布式多級調(diào)度方法,提出了擴容,滿足當(dāng)下一些需求,即,基于隊列,統(tǒng)一接口的,多種類調(diào)度,可是ftp,可是各種事件。本發(fā)明保證各種調(diào)度任務(wù)負載均衡,各自不沖突,各自根據(jù)自己機制觸發(fā)任務(wù),并能做到閉環(huán)處理
本發(fā)明提供的技術(shù)方案如下:
一種基于隊列的分布式多級調(diào)度方法,包括:
調(diào)度管理器根據(jù)調(diào)度類型分發(fā)調(diào)度任務(wù),負載均衡;
調(diào)度觸發(fā)器根據(jù)類型分布式觸發(fā)各種任務(wù);
調(diào)度觸發(fā)器任務(wù)分發(fā)至隊列;
任務(wù)執(zhí)行器獲取隊列任務(wù)執(zhí)行;
任務(wù)執(zhí)行器執(zhí)行完畢返回至隊列;
調(diào)度回調(diào)統(tǒng)一處理器處理隊列回調(diào)消息;
調(diào)度部署管理器對各類調(diào)度觸發(fā)器做增減等維護。
[0004]其中,調(diào)度管理器,全局控制任務(wù)觸發(fā)器的分發(fā),而非任務(wù)觸發(fā)的分發(fā)。之所以稱之為多級,即在于此,任務(wù)不僅僅限于時間調(diào)度,此處可根據(jù)相應(yīng)情況擴展任務(wù)類型。
[0005]其中,調(diào)度觸發(fā)器,負責(zé)觸發(fā)任務(wù),此處類型有:時間調(diào)度觸器、文件采集調(diào)度觸發(fā)器、事件調(diào)度觸發(fā)器,且事件可自定義擴展。
[0006]其中,調(diào)度觸發(fā)器分發(fā)任務(wù)至隊列。時間調(diào)度:依賴于Cron表達式觸發(fā)時間任務(wù),并統(tǒng)一發(fā)到redis等隊列;文件采集調(diào)度:依賴于被檢測的ftp接口,可ftp協(xié)議,可sftp協(xié)議,配置相應(yīng)篩選條件,目錄,過濾,文件生成時間,依據(jù)頻度掃描ftp接口,滿足條件,觸發(fā)此類任務(wù),并統(tǒng)一發(fā)到redis等隊列;事件調(diào)度:此處依賴于自定義的事件,滿足事件的規(guī)貝1J,分發(fā)任務(wù)到redis隊列。
[0007]其中,任務(wù)執(zhí)行器獲取隊列任務(wù)執(zhí)行,調(diào)度以外的執(zhí)行器從隊列中取消息執(zhí)行,并反饋執(zhí)行結(jié)果至隊列
其中,調(diào)度回調(diào)統(tǒng)一處理器處理隊列回調(diào)消息,隊列中消息被任務(wù)執(zhí)行器執(zhí)行后反饋的消息,此處理器會統(tǒng)一處理,做到任務(wù)的閉環(huán)。
[0008]其中,調(diào)度部署管理器對各類調(diào)度觸發(fā)器做增減等維護,涉及到,調(diào)度觸發(fā)器的分布式部署。
[0009]( I )每種任務(wù)配置時,對應(yīng)一個類型,并保存,以便標示任務(wù)是時間的,還是事件的,還是其他。每種類型,除了公用的一些屬性外,各自具有各自特有的屬性。
[0010](2)每種調(diào)度觸發(fā)器,同樣也需要把其機器等信息配置,并保存。
[0011](3)調(diào)度管理器啟動時,會從配置中讀取所有任務(wù)。
[0012](4)調(diào)度管理器啟動時,會從配置中讀取所有調(diào)度器的信息。
[0013](5)調(diào)度管理器,依次去檢測所有觸發(fā)器運行情況、包括內(nèi)存、cpu等資源情況,并把所有任務(wù),根據(jù)類型,分發(fā)到調(diào)度觸發(fā)器上,并做到負載均衡,分發(fā)任務(wù)時,調(diào)度管理器會對分發(fā)任務(wù)的具體情況,做記錄。
[0014](6)調(diào)度管理器,除了要做這種初始化分發(fā)任務(wù)以外,還有一個重要的角色,S卩,定期檢測每個調(diào)度觸發(fā)器的運行情況,以及其上運行的任務(wù)的情況,一旦發(fā)現(xiàn)某個觸發(fā)器死掉或任務(wù)異常,需要作出響應(yīng)。
[0015](7)針對(6)提出的容災(zāi)響應(yīng),可以這么做,分情況:觸發(fā)器死掉時,為了保障其上的任務(wù)的執(zhí)行,自動重啟該觸發(fā)器,并把之前指定給它的任務(wù)重新指定并執(zhí)行;觸發(fā)器正常,某個任務(wù)因為各種原因異常時,需要外部強制殺掉此任務(wù),并重新運行該任務(wù)。
[0016](8)調(diào)度觸發(fā)器的作用,在于觸發(fā)任務(wù),以時間調(diào)度為例,根據(jù)定義的時間,到時間后觸發(fā)相應(yīng)任務(wù),并發(fā)送到隊列中待執(zhí)行。
[0017](9)任務(wù)執(zhí)行端取走消息任務(wù),具體執(zhí)行,執(zhí)行完畢反饋消息至隊列。
[0018](10)調(diào)度回調(diào)處理器,從隊列中回調(diào)消息,并做相應(yīng)處理,這樣一個任務(wù)的閉環(huán)就結(jié)束了。
[0019]本發(fā)明的有益效果這種方法的優(yōu)勢,在于:
(I)各個部分相互獨立,互不干擾,有一端發(fā)生問題,不影響其他端。例如,調(diào)度觸發(fā)器某一個發(fā)生故障,其他調(diào)度觸發(fā)器正常工作;任務(wù)執(zhí)行端發(fā)生故障時,隊列消息不會丟,待故障恢復(fù)后,隊列消息可以繼續(xù)執(zhí)行。同時,也不影響調(diào)度觸發(fā)器觸發(fā)任務(wù)產(chǎn)生消息。
[0020](2)觸發(fā)出的消息,可以從頭至尾閉關(guān)跟蹤,無論哪一步環(huán)節(jié)出現(xiàn)問題,都可以做到有章可循。
[0021](3)調(diào)度觸發(fā)器可以無限制根據(jù)現(xiàn)實情況擴展,這部分的擴展包括:機器等硬件環(huán)境的擴展;調(diào)度觸發(fā)器可以根據(jù)任務(wù)類型的業(yè)務(wù)擴展。
【附圖說明】
[0022]圖1是本方案實施的架構(gòu)圖;
圖2是本方案使用的緩存層-任務(wù)彳g息;
圖3是本方案使用的緩存層-機器信息;
圖4是本方案使用的任務(wù)消息隊列結(jié)構(gòu)。
【具體實施方式】
[0023]為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和【具體實施方式】對本申請作進一步詳細的說明。參照圖1,出示了本方案實施的架構(gòu)圖。本發(fā)明實施例提供的一種任務(wù)分布式調(diào)度方法,包括如下,糾于
【發(fā)明內(nèi)容】
中對方案做了闡述,此處會對其中一些細節(jié)的實施做說明:
(O為了系統(tǒng)的兼容性,推薦使用java開發(fā),能做到跨平臺,所有任務(wù)的配置,以及觸發(fā)器服務(wù)器的配置等信息的存儲,采取緩存加持久層的方式,緩存我們可以采用redis,redis的數(shù)據(jù)結(jié)構(gòu),我們采用hash結(jié)構(gòu)(參照圖2、3),持久層采用關(guān)系型數(shù)據(jù)庫oracle。之所以采用這種結(jié)構(gòu)是,調(diào)度過程中會頻繁訪問數(shù)據(jù)庫,會對數(shù)據(jù)庫造成務(wù)必要的壓力,所以,降配置緩存至緩存層,當(dāng)緩存層讀取不到時,再去持久層讀取。
[0024](2)各個端,代碼或功能為了保持獨立,采用單獨服務(wù)方式編寫。對于調(diào)度觸發(fā)器,可以根據(jù)業(yè)務(wù)類型,自擴展,每種擴展,可以直接復(fù)制的方式部署,可以同一機器多個服務(wù),也可以部署到不同服務(wù)器。
[0025](3)調(diào)度管理器,為了防止也出現(xiàn)異常,此處需要做Ha容災(zāi),使用兩個調(diào)度管理器,分主從,正常時使用主調(diào)度管理器,從調(diào)度管理器待命,主發(fā)生異常時,被檢測到,自動切換到從調(diào)度管理器。
[0026](4)調(diào)度管理器對調(diào)度觸發(fā)器分配任務(wù),采用RMI方式通信。
[0027](5)調(diào)度觸發(fā)器,觸發(fā)產(chǎn)生任務(wù)后,組織消息,發(fā)送到redis中,隊列層,采用redis的I i st數(shù)據(jù)結(jié)構(gòu),Ipush入隊列。隊列結(jié)構(gòu),可參照圖4。
[0028](6)任務(wù)執(zhí)行端,輪詢訪問redis,只要redis中有消息任務(wù),就rpop出,并根據(jù)消息內(nèi)容執(zhí)行。
[0029](7)任務(wù)執(zhí)行端執(zhí)行完后,會反饋執(zhí)行結(jié)構(gòu)再至redis隊列,約定的消息結(jié)構(gòu)可參照圖4結(jié)構(gòu)。
[0030](8)調(diào)度回調(diào)處理器,專門負責(zé)處理回調(diào)消息,輪詢讀取redis中關(guān)于回調(diào)的隊列,rpop出,并執(zhí)行,至此,閉環(huán)完成。
[0031]以上對本申請所提供的一種任務(wù)分布式調(diào)度方法和系統(tǒng),進行了詳細介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
【主權(quán)項】
1.一種基于隊列的分布式多級調(diào)度方法,其特征在于,包括: 調(diào)度管理器根據(jù)調(diào)度類型分發(fā)調(diào)度任務(wù),負載均衡; 調(diào)度觸發(fā)器根據(jù)類型分布式觸發(fā)各種任務(wù); 調(diào)度觸發(fā)器任務(wù)分發(fā)至隊列; 任務(wù)執(zhí)行器獲取隊列任務(wù)執(zhí)行; 任務(wù)執(zhí)行器執(zhí)行完畢返回至隊列; 調(diào)度回調(diào)統(tǒng)一處理器處理隊列回調(diào)消息; 調(diào)度部署管理器對各類調(diào)度觸發(fā)器做增減。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,調(diào)度管理器,全局控制任務(wù)觸發(fā)器的分發(fā),而非任務(wù)觸發(fā)的分發(fā)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,調(diào)度觸發(fā)器,負責(zé)觸發(fā)任務(wù),此處類型有:時間調(diào)度觸器、文件采集調(diào)度觸發(fā)器、事件調(diào)度觸發(fā)器,且事件可自定義擴展。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,調(diào)度觸發(fā)器分發(fā)任務(wù)至隊列;時間調(diào)度:依賴于Cron表達式觸發(fā)時間任務(wù),并統(tǒng)一發(fā)到redis等隊列;文件采集調(diào)度:依賴于被檢測的ftp接口,可ftp協(xié)議,可Sftp協(xié)議,配置相應(yīng)篩選條件,目錄,過濾,文件生成時間,依據(jù)頻度掃描ftp接口,滿足條件,觸發(fā)此類任務(wù),并統(tǒng)一發(fā)到redis等隊列;事件調(diào)度:此處依賴于自定義的事件,滿足事件的規(guī)則,分發(fā)任務(wù)到redis隊列。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,任務(wù)執(zhí)行器獲取隊列任務(wù)執(zhí)行,調(diào)度以外的執(zhí)行器從隊列中取消息執(zhí)行,并反饋執(zhí)行結(jié)果至隊列。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,調(diào)度回調(diào)統(tǒng)一處理器處理隊列回調(diào)消息,隊列中消息被任務(wù)執(zhí)行器執(zhí)行后反饋的消息,此處理器會統(tǒng)一處理,做到任務(wù)的閉環(huán)。
【文檔編號】G06F9/48GK105824697SQ201610167717
【公開日】2016年8月3日
【申請日】2016年3月23日
【發(fā)明人】趙勇
【申請人】浪潮通信信息系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
镇宁| 祁连县| 亳州市| 滨州市| 老河口市| 屏边| 思茅市| 景德镇市| 明水县| 潢川县| 广元市| 腾冲县| 伊通| 衢州市| 寿光市| 肇州县| 普定县| 万源市| 沙河市| 昭觉县| 嘉义县| 星座| 深水埗区| 老河口市| 镇沅| 神池县| 阿瓦提县| 古丈县| 盖州市| 哈密市| 志丹县| 富锦市| 县级市| 绵阳市| 台湾省| 镇雄县| 同仁县| 九龙城区| 河西区| 公主岭市| 平远县|