本申請(qǐng)涉及分布式資源分配,尤其涉及一種任務(wù)分配方法、系統(tǒng)、電子設(shè)備、存儲(chǔ)介質(zhì)與計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、在智能家居、工業(yè)物聯(lián)網(wǎng)、智慧城市等多設(shè)備環(huán)境中,分布式任務(wù)需要多個(gè)設(shè)備協(xié)作完成,現(xiàn)有的任務(wù)調(diào)度方法通常為靜態(tài)分配,然而在實(shí)際應(yīng)用中,設(shè)備的資源狀態(tài)會(huì)隨時(shí)間、任務(wù)執(zhí)行等因素不斷變化,而靜態(tài)分配無法及時(shí)適應(yīng)這些變化,部分設(shè)備可能因過載而影響整體效率,導(dǎo)致任務(wù)分配不合理,從而影響任務(wù)調(diào)度的資源分配,因此,當(dāng)前任務(wù)調(diào)度方法中存在資源分配不智能的問題。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的主要目的在于提供一種任務(wù)分配方法、系統(tǒng)、電子設(shè)備、存儲(chǔ)介質(zhì)與計(jì)算機(jī)程序產(chǎn)品,旨在解決任務(wù)調(diào)度時(shí)資源分配不智能的技術(shù)問題。
2、為實(shí)現(xiàn)上述目的,本申請(qǐng)?zhí)岢鲆环N任務(wù)分配方法,應(yīng)用于分布式系統(tǒng),所述分布式系統(tǒng)中包含各分布式設(shè)備,所述任務(wù)分配方法包括:
3、對(duì)于所述分布式系統(tǒng)上各分布式任務(wù)中的任意一個(gè)分布式任務(wù),確定所述分布式任務(wù)的任務(wù)需求,并獲取各分布式設(shè)備的資源狀態(tài);
4、基于所述任務(wù)需求、各資源狀態(tài)和動(dòng)態(tài)加權(quán)算法計(jì)算所述各分布式設(shè)備執(zhí)行所述分布式任務(wù)的加權(quán)評(píng)分;
5、將所述分布式任務(wù)分配至所述加權(quán)評(píng)分最高的最佳設(shè)備上執(zhí)行。
6、在一實(shí)施例中,所述基于所述任務(wù)需求、各資源狀態(tài)和動(dòng)態(tài)加權(quán)算法計(jì)算所述各分布式設(shè)備執(zhí)行所述分布式任務(wù)的加權(quán)評(píng)分的步驟包括:
7、對(duì)于所述各分布式設(shè)備中的任意一個(gè)分布式設(shè)備,將所述任務(wù)需求和所述分布式設(shè)備對(duì)應(yīng)資源狀態(tài)進(jìn)行預(yù)處理;
8、根據(jù)所述分布式任務(wù)的任務(wù)類型,調(diào)整加權(quán)評(píng)分計(jì)算公式的權(quán)重;
9、基于預(yù)處理后的任務(wù)需求、各資源狀態(tài)和調(diào)整后的權(quán)重進(jìn)行加權(quán)計(jì)算,得到所述分布式設(shè)備執(zhí)行所述分布式任務(wù)的加權(quán)評(píng)分。
10、在一實(shí)施例中,所述任務(wù)需求包括計(jì)算密集度、數(shù)據(jù)傳輸量和延遲容忍度,所述根據(jù)所述分布式任務(wù)的任務(wù)類型,調(diào)整加權(quán)評(píng)分計(jì)算公式的權(quán)重的步驟包括:
11、分析所述分布式任務(wù)的任務(wù)類型;
12、在所述任務(wù)類型為計(jì)算密集型任務(wù)時(shí),增大所述計(jì)算密集度對(duì)應(yīng)權(quán)重;
13、在所述任務(wù)類型為數(shù)據(jù)密集型任務(wù)時(shí),增大所述數(shù)據(jù)傳輸量對(duì)應(yīng)權(quán)重;
14、在所述任務(wù)類型為低延遲任務(wù)時(shí),增大所述任務(wù)延遲容忍度對(duì)應(yīng)權(quán)重。
15、在一實(shí)施例中,所述將所述分布式任務(wù)分配至所述加權(quán)評(píng)分最高的最佳設(shè)備上執(zhí)行的步驟之后還包括:
16、監(jiān)控所述分布式任務(wù)的執(zhí)行狀態(tài)和所述最佳設(shè)備的資源負(fù)載;
17、在所述執(zhí)行狀態(tài)為失敗或所述資源負(fù)載高于預(yù)設(shè)負(fù)載閾值的情況下,重新計(jì)算所述各分布式設(shè)備執(zhí)行所述分布式任務(wù)的加權(quán)評(píng)分,確定新的最佳設(shè)備;
18、將所述分布式任務(wù)遷移至所述新的最佳設(shè)備中執(zhí)行。
19、在一實(shí)施例中,所述將所述分布式任務(wù)遷移至所述新的最佳設(shè)備中執(zhí)行的步驟包括:
20、保存所述分布式任務(wù)的狀態(tài)信息,并整理所述分布式任務(wù)在執(zhí)行過程中產(chǎn)生的中間數(shù)據(jù);
21、建立與所述新的最佳設(shè)備的通信連接,將所述分布式任務(wù)連同所述狀態(tài)信息和所述中間數(shù)據(jù)傳輸至所述新的最佳設(shè)備;
22、通過所述狀態(tài)信息和所述中間數(shù)據(jù)在所述新的最佳設(shè)備上恢復(fù)所述分布式任務(wù)的執(zhí)行狀態(tài),繼續(xù)執(zhí)行所述分布式任務(wù)。
23、在一實(shí)施例中,所述監(jiān)控所述分布式任務(wù)的執(zhí)行狀態(tài)和所述最佳設(shè)備的資源負(fù)載的步驟之后還包括:
24、記錄所述執(zhí)行狀態(tài)為失敗時(shí)所述分布式任務(wù)的執(zhí)行情況和所述最佳設(shè)備的負(fù)載變化情況,并存儲(chǔ)至異常故障表;
25、若在所述最佳設(shè)備上執(zhí)行時(shí)滿足所述執(zhí)行情況并且所述最佳設(shè)備滿足所述負(fù)載變化情況,則判定所述最佳設(shè)備有資源超載的風(fēng)險(xiǎn);
26、查找滿足所述分布式設(shè)備執(zhí)行需求的空閑設(shè)備,并將所述空閑設(shè)備遷移至所述空閑設(shè)備上執(zhí)行。
27、此外,為實(shí)現(xiàn)上述目的,本申請(qǐng)還提出一種任務(wù)分配系統(tǒng),所述任務(wù)分配系統(tǒng)中包含各分布式設(shè)備,所述任務(wù)分配系統(tǒng)包括:
28、數(shù)據(jù)獲取模塊,用于對(duì)于所述分布式系統(tǒng)上各分布式任務(wù)中的任意一個(gè)分布式任務(wù),確定所述分布式任務(wù)的任務(wù)需求,并獲取各分布式設(shè)備的資源狀態(tài);
29、加權(quán)評(píng)分模塊,用于基于所述任務(wù)需求、各資源狀態(tài)和動(dòng)態(tài)加權(quán)算法計(jì)算所述各分布式設(shè)備執(zhí)行所述分布式任務(wù)的加權(quán)評(píng)分;
30、設(shè)備分配模塊,用于將所述分布式任務(wù)分配至所述加權(quán)評(píng)分最高的最佳設(shè)備上執(zhí)行。
31、此外,為實(shí)現(xiàn)上述目的,本申請(qǐng)還提出一種電子設(shè)備,所述設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序配置為實(shí)現(xiàn)如上文所述的任務(wù)分配方法的步驟。
32、此外,為實(shí)現(xiàn)上述目的,本申請(qǐng)還提出一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文所述的任務(wù)分配方法的步驟。
33、此外,為實(shí)現(xiàn)上述目的,本申請(qǐng)還提供一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文所述的任務(wù)分配方法的步驟。
34、本申請(qǐng)?zhí)峁┝艘环N任務(wù)分配方法,應(yīng)用于分布式系統(tǒng),分布式系統(tǒng)中包含各分布式設(shè)備,任務(wù)分配方法包括:對(duì)于分布式系統(tǒng)上各分布式任務(wù)中的任意一個(gè)分布式任務(wù),確定分布式任務(wù)的任務(wù)需求,并獲取各分布式設(shè)備的資源狀態(tài);基于任務(wù)需求、各資源狀態(tài)和動(dòng)態(tài)加權(quán)算法計(jì)算各分布式設(shè)備執(zhí)行分布式任務(wù)的加權(quán)評(píng)分;將分布式任務(wù)分配至加權(quán)評(píng)分最高的最佳設(shè)備上執(zhí)行。
35、本申請(qǐng)通過對(duì)分布式任務(wù)的任務(wù)需求進(jìn)行細(xì)致分析,能夠準(zhǔn)確理解任務(wù)對(duì)資源的具體需求,并實(shí)時(shí)獲取各分布式設(shè)備的資源狀態(tài),為資源分配提供了準(zhǔn)確的數(shù)據(jù)支持,通過動(dòng)態(tài)加權(quán)算法綜合考慮任務(wù)需求和設(shè)備資源狀態(tài),為每個(gè)設(shè)備計(jì)算出一個(gè)加權(quán)評(píng)分,反映了其執(zhí)行特定任務(wù)的適合程度,基于加權(quán)評(píng)分,選擇最適合的設(shè)備執(zhí)行任務(wù),使得任務(wù)需求與設(shè)備相匹配,從而使設(shè)備資源得到合理應(yīng)用,不僅提高了資源利用率,還降低了任務(wù)執(zhí)行延遲和失敗率。相比相關(guān)方案基于靜態(tài)規(guī)則或簡單的優(yōu)先級(jí)進(jìn)行任務(wù)分配,缺乏靈活性,本申請(qǐng)通過動(dòng)態(tài)分析任務(wù)需求并實(shí)時(shí)監(jiān)控設(shè)備資源狀態(tài),采用動(dòng)態(tài)加權(quán)算法進(jìn)行智能評(píng)估,根據(jù)計(jì)算出的加權(quán)評(píng)分做出最優(yōu)的資源分配決策,實(shí)現(xiàn)了資源分配的高效性和靈活性,有效解決了當(dāng)前任務(wù)調(diào)度方法中資源分配不智能的問題。
1.一種任務(wù)分配方法,其特征在于,應(yīng)用于分布式系統(tǒng),所述分布式系統(tǒng)中包含各分布式設(shè)備,所述任務(wù)分配方法包括:
2.如權(quán)利要求1所述的任務(wù)分配方法,其特征在于,所述基于所述任務(wù)需求、各資源狀態(tài)和動(dòng)態(tài)加權(quán)算法計(jì)算所述各分布式設(shè)備執(zhí)行所述分布式任務(wù)的加權(quán)評(píng)分的步驟包括:
3.如權(quán)利要求2所述的任務(wù)分配方法,其特征在于,所述任務(wù)需求包括計(jì)算密集度、數(shù)據(jù)傳輸量和延遲容忍度,所述根據(jù)所述分布式任務(wù)的任務(wù)類型,調(diào)整加權(quán)評(píng)分計(jì)算公式的權(quán)重的步驟包括:
4.如權(quán)利要求1所述的任務(wù)分配方法,其特征在于,所述將所述分布式任務(wù)分配至所述加權(quán)評(píng)分最高的最佳設(shè)備上執(zhí)行的步驟之后還包括:
5.如權(quán)利要求4所述的任務(wù)分配方法,其特征在于,所述將所述分布式任務(wù)遷移至所述新的最佳設(shè)備中執(zhí)行的步驟包括:
6.如權(quán)利要求4所述的任務(wù)分配方法,其特征在于,所述監(jiān)控所述分布式任務(wù)的執(zhí)行狀態(tài)和所述最佳設(shè)備的資源負(fù)載的步驟之后還包括:
7.一種任務(wù)分配系統(tǒng),其特征在于,所述任務(wù)分配系統(tǒng)中包含各分布式設(shè)備,所述任務(wù)分配系統(tǒng)包括:
8.一種電子設(shè)備,其特征在于,所述設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序配置為實(shí)現(xiàn)如權(quán)利要求1至6中任一項(xiàng)所述的任務(wù)分配方法的步驟。
9.一種存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至6中任一項(xiàng)所述的任務(wù)分配方法的步驟。
10.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至6中任一項(xiàng)所述的任務(wù)分配方法的步驟。