亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法

文檔序號:8258166閱讀:288來源:國知局
一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及任務(wù)調(diào)度技術(shù)領(lǐng)域,特別是一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法。
【背景技術(shù)】
[0002]近年來,隨著互聯(lián)網(wǎng)領(lǐng)域的高速發(fā)展,互聯(lián)網(wǎng)所依賴的任務(wù)機(jī)(服務(wù)器)規(guī)模也越來越龐大。并且隨著應(yīng)用領(lǐng)域的不斷擴(kuò)展,用戶的多個應(yīng)用往往會在不同的任務(wù)機(jī)上執(zhí)行。因此如何對這些跨機(jī)器應(yīng)用的服務(wù)關(guān)系進(jìn)行管理、維護(hù)及調(diào)度,就成為一個亟待解決的問題。
[0003]對于大量而且的復(fù)雜的任務(wù),垂直提升電腦的配置已經(jīng)不能滿足任務(wù)的運(yùn)行要求。水平擴(kuò)展是解決問題的最佳方法。在現(xiàn)有的分布式調(diào)度系統(tǒng)中存在以下問題:
[0004]1.不能根據(jù)機(jī)器綜合性能合理分配任務(wù),都是競爭或者等量分配任務(wù)。
[0005]2.不能做到實(shí)時控制任務(wù)。很多框架設(shè)計(jì)都是任務(wù)分配到機(jī)器之后,不能在其運(yùn)行過程中對其做刪改查等操作。
[0006]3.不能自動監(jiān)控整個系統(tǒng)、監(jiān)控任務(wù)的運(yùn)行狀態(tài)和整個系統(tǒng)的任務(wù)承載力。
[0007]中國發(fā)明專利CN 102387208A公開了一種分布式任務(wù)調(diào)度方法,包括以下步驟:任務(wù)表分發(fā)器向多個任務(wù)機(jī)發(fā)送任務(wù)表;多個任務(wù)機(jī)分別根據(jù)任務(wù)表中的對應(yīng)的任務(wù)及依賴關(guān)系表確定自身是否為起始任務(wù)機(jī);起始任務(wù)機(jī)根據(jù)任務(wù)表執(zhí)行起始任務(wù)機(jī)所對應(yīng)的任務(wù);在對應(yīng)的任務(wù)執(zhí)行完成后,起始任務(wù)機(jī)根據(jù)依賴關(guān)系表通知起始任務(wù)機(jī)的后繼任務(wù)機(jī)執(zhí)行相應(yīng)的任務(wù)。

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

[0008]本發(fā)明需要解決的技術(shù)問題提供一種能夠合理分配任務(wù)且系統(tǒng)調(diào)度可靠性高的任務(wù)調(diào)度方法。
[0009]為解決上述的技術(shù)問題,本發(fā)明一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,包括以下步驟:
[0010]將創(chuàng)建的任務(wù)加入到任務(wù)隊(duì)列中,等待加載;每次加載任務(wù)隊(duì)列中的一個任務(wù)到分布式內(nèi)存中;通過監(jiān)控模塊了解任務(wù)機(jī)的使用情況和使用率,另外通過監(jiān)控模塊了解每項(xiàng)任務(wù)的執(zhí)行情況;將每次加載的任務(wù)分配到使用率較小的任務(wù)機(jī)中。
[0011]進(jìn)一步的,通過操作模塊修改分布式內(nèi)存中任務(wù)執(zhí)行狀態(tài)和任務(wù)執(zhí)行參數(shù)。
[0012]更進(jìn)一步的,當(dāng)監(jiān)控模塊發(fā)現(xiàn)某任務(wù)執(zhí)行過程中出現(xiàn)任務(wù)暫?;蛘邉h除操作,該任務(wù)及時做出與操作相符的響應(yīng),操作模塊修改該任務(wù)執(zhí)行狀態(tài)和任務(wù)執(zhí)行參數(shù)。
[0013]進(jìn)一步的,所述每個任務(wù)機(jī)的最大任務(wù)執(zhí)行數(shù)可以手動配置并保存到分布式內(nèi)存中。
[0014]進(jìn)一步的,所述任務(wù)機(jī)的使用情況包括用來判斷機(jī)器是否正常運(yùn)行的心跳。
[0015]更進(jìn)一步的,當(dāng)監(jiān)控模塊檢測到某任務(wù)機(jī)心跳停止后,該任務(wù)機(jī)分配到的任務(wù)移動到其他任務(wù)機(jī)繼續(xù)運(yùn)行。
[0016]進(jìn)一步的,每次加載任務(wù)隊(duì)列中的一個任務(wù)到分布式內(nèi)存中時判斷該任務(wù)是否已經(jīng)加載過,如果重復(fù)加載,則忽略該任務(wù);如果該任務(wù)沒有加載,則開始調(diào)度該任務(wù)。
[0017]采用上述方法后,本發(fā)明可以動態(tài)的橫向擴(kuò)展和縮小,不影響系統(tǒng)的正常運(yùn)行,及時控制任務(wù)的執(zhí)行狀態(tài)和修改任務(wù)相關(guān)參數(shù)。合理分配任務(wù),避免各機(jī)器超載執(zhí)行任務(wù)。提供完整的系統(tǒng)監(jiān)控接口,及時了解整個系統(tǒng)的運(yùn)行狀況。該系統(tǒng)調(diào)度可靠性高,系統(tǒng)穩(wěn)定性強(qiáng)。
【附圖說明】
[0018]下面將結(jié)合附圖和【具體實(shí)施方式】對本作進(jìn)一步詳細(xì)的說明。
[0019]圖1為本發(fā)明一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法的流程圖。
[0020]圖2為本發(fā)明任務(wù)調(diào)度系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0021]如圖2所示,本發(fā)明所采用的系統(tǒng)包括若干任務(wù)機(jī)、分布式內(nèi)存框架、監(jiān)控模塊和操作模塊。本發(fā)明利用分布式內(nèi)存框架為中介,控制各臺機(jī)器的資源。對進(jìn)入到分布式內(nèi)存中的任務(wù)隊(duì)列合理的分配到各臺機(jī)器中去執(zhí)行,并且通過分布式內(nèi)存監(jiān)控和控制各個任務(wù)。其中,每臺任務(wù)機(jī)分別連接分布式內(nèi)存框架系統(tǒng),將以下參數(shù)保存到分布式內(nèi)存中。
[0022]a)機(jī)器綜合的性能指標(biāo)(任務(wù)最大執(zhí)行數(shù)),手動配置。
[0023]b)心跳:用來判斷機(jī)器是否正常運(yùn)行,當(dāng)該機(jī)器停止心跳之后,該機(jī)器的任務(wù)移到其他機(jī)器繼續(xù)運(yùn)行。
[0024]c)任務(wù)狀態(tài),可以用來與應(yīng)用聯(lián)系。例如:當(dāng)任務(wù)狀態(tài)為"刪除"時,則分布式系統(tǒng)中停止運(yùn)行該任務(wù)并且刪除該任務(wù)。
[0025]d)任務(wù)基本參數(shù),可以用來與應(yīng)用聯(lián)系。例如:任務(wù)開始時間等。
[0026]另外,分布式內(nèi)存框架是整個調(diào)度任務(wù)的核心,使各臺機(jī)器之間通信、機(jī)器集群和應(yīng)用的通信。通過相應(yīng)的監(jiān)控模塊和操作模塊來完成監(jiān)控和操作任務(wù)。
[0027]如圖1所示,本發(fā)明一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,通過以下步驟來實(shí)現(xiàn)。
[0028]步驟SlOl:將創(chuàng)建的任務(wù)加入到任務(wù)隊(duì)列中,等待加載。
[0029]步驟S102:每次加載任務(wù)隊(duì)列中的一個任務(wù)到分布式內(nèi)存中,通過分布式內(nèi)存來調(diào)度任務(wù)。在每次加載任務(wù)隊(duì)列中的一個任務(wù)時,為了防止出現(xiàn)重復(fù)加載的情況,先判斷該任務(wù)是否已經(jīng)加載過;如果重復(fù)加載,則忽略該任務(wù);如果該任務(wù)沒有加載,則開始調(diào)度該任務(wù)。
[0030]步驟S103:通過監(jiān)控模塊了解任務(wù)機(jī)的使用情況和使用率,另外通過監(jiān)控模塊了解每項(xiàng)任務(wù)的執(zhí)行情況。每項(xiàng)任務(wù)的執(zhí)行情況和任務(wù)機(jī)的使用情況都存儲在分布式內(nèi)存中,監(jiān)控模塊通過分布式內(nèi)存監(jiān)控任務(wù)機(jī)的使用情況和每項(xiàng)任務(wù)的執(zhí)行情況。了解任務(wù)機(jī)的使用情況和使用率是為了便于分布式內(nèi)存將新加載的任務(wù)分配到使用率較小的任務(wù)機(jī)中。其中任務(wù)機(jī)的使用情況還包括任務(wù)機(jī)是否能夠正常運(yùn)行,本實(shí)施方式中采用心跳這一狀態(tài)來表示任務(wù)機(jī)的正常運(yùn)行情況。當(dāng)監(jiān)控模塊檢測到某任務(wù)機(jī)心跳停止后,分布式內(nèi)存首先會恢復(fù)該任務(wù),然后將任務(wù)重新進(jìn)入到任務(wù)隊(duì)列中,并將該任務(wù)移動到其他任務(wù)機(jī)繼續(xù)運(yùn)行。另外,監(jiān)控模塊還通過分布式內(nèi)存了解每項(xiàng)任務(wù)的執(zhí)行情況;當(dāng)通過操作模塊修改任務(wù)執(zhí)行狀態(tài)和任務(wù)執(zhí)行相關(guān)參數(shù)時,包括任務(wù)暫停或者刪除等操作,操作模塊將這下操作指令發(fā)送給分布式內(nèi)存后,分布式內(nèi)存將通過任務(wù)機(jī)停止運(yùn)行該任務(wù)或刪除該任務(wù)。
[0031]步驟S104:分布式內(nèi)存通過監(jiān)控模塊獲得各個任務(wù)機(jī)的使用情況和使用率,將新加載的任務(wù)分配到使用率較小的任務(wù)機(jī)中,合理分配任務(wù),避免各機(jī)器超載執(zhí)行任務(wù)。
[0032]雖然以上描述了本發(fā)明的【具體實(shí)施方式】,但是本領(lǐng)域熟練技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說明,可以對本實(shí)施方式作出多種變更或修改,而不背離發(fā)明的原理和實(shí)質(zhì),本發(fā)明的保護(hù)范圍僅由所附權(quán)利要求書限定。
【主權(quán)項(xiàng)】
1.一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,其特征在于,包括以下步驟: 將創(chuàng)建的任務(wù)加入到任務(wù)隊(duì)列中,等待加載; 每次加載任務(wù)隊(duì)列中的一個任務(wù)到分布式內(nèi)存中; 通過監(jiān)控模塊了解任務(wù)機(jī)的使用情況和使用率,另外通過監(jiān)控模塊了解每項(xiàng)任務(wù)的執(zhí)行情況; 將每次加載的任務(wù)分配到使用率較小的任務(wù)機(jī)中。
2.按照權(quán)利要求1所述的一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,其特征在于:通過操作模塊修改分布式內(nèi)存中任務(wù)執(zhí)行狀態(tài)和任務(wù)執(zhí)行參數(shù)。
3.按照權(quán)利要求2所述的一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,其特征在于:當(dāng)監(jiān)控模塊發(fā)現(xiàn)某任務(wù)執(zhí)行過程中出現(xiàn)任務(wù)暫?;蛘邉h除操作,該任務(wù)及時做出與操作相符的響應(yīng),操作模塊修改該任務(wù)執(zhí)行狀態(tài)和任務(wù)執(zhí)行參數(shù)。
4.按照權(quán)利要求1所述的一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,其特征在于:所述每個任務(wù)機(jī)的最大任務(wù)執(zhí)行數(shù)可以手動配置并保存到分布式內(nèi)存中。
5.按照權(quán)利要求1所述的一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,其特征在于:所述任務(wù)機(jī)的使用情況包括用來判斷機(jī)器是否正常運(yùn)行的心跳。
6.按照權(quán)利要求5所述的一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,其特征在于:當(dāng)監(jiān)控模塊檢測到某任務(wù)機(jī)心跳停止后,該任務(wù)機(jī)分配到的任務(wù)移動到其他任務(wù)機(jī)繼續(xù)運(yùn)行。
7.按照權(quán)利要求1所述的一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,其特征在于??每次加載任務(wù)隊(duì)列中的一個任務(wù)到分布式內(nèi)存中時判斷該任務(wù)是否已經(jīng)加載過,如果重復(fù)加載,則忽略該任務(wù);如果該任務(wù)沒有加載,則開始調(diào)度該任務(wù)。
【專利摘要】本發(fā)明涉及任務(wù)調(diào)度技術(shù)領(lǐng)域,特別是一種基于分布式內(nèi)存集群的任務(wù)調(diào)度方法,將創(chuàng)建的任務(wù)加入到任務(wù)隊(duì)列中,等待加載;每次加載任務(wù)隊(duì)列中的一個任務(wù)到分布式內(nèi)存中;通過監(jiān)控模塊了解任務(wù)機(jī)的使用情況和使用率,另外通過監(jiān)控模塊了解每項(xiàng)任務(wù)的執(zhí)行情況;將每次加載的任務(wù)分配到使用率較小的任務(wù)機(jī)中。采用上述方法后,發(fā)明可以動態(tài)的橫向擴(kuò)展和縮小,不影響系統(tǒng)的正常運(yùn)行,及時控制任務(wù)的執(zhí)行狀態(tài)和修改任務(wù)相關(guān)參數(shù)。合理分配任務(wù),避免各機(jī)器超載執(zhí)行任務(wù)。提供完整的系統(tǒng)監(jiān)控接口,及時了解整個系統(tǒng)的運(yùn)行狀況。該系統(tǒng)調(diào)度可靠性高,系統(tǒng)穩(wěn)定性強(qiáng)。
【IPC分類】G06F9-50, G06F9-48
【公開號】CN104572286
【申請?zhí)枴緾N201510047784
【發(fā)明人】何冰
【申請人】湖南蟻坊軟件有限公司
【公開日】2015年4月29日
【申請日】2015年1月30日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1