本發(fā)明屬于流程編排,具體涉及一種基于動(dòng)態(tài)依賴管理的流水線編排方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、基于devops工具(devops為(開發(fā)?(dev)?和運(yùn)營(yíng)?(ops)的復(fù)合詞))集成的多應(yīng)用項(xiàng)目的流水線編排方法,在現(xiàn)有技術(shù)中,應(yīng)用現(xiàn)狀是使用容器編排調(diào)度系統(tǒng)如kubernetes來構(gòu)建云原生應(yīng)用的流水線?,F(xiàn)有的技術(shù)主要依賴于以下幾個(gè)關(guān)鍵點(diǎn):
2、基礎(chǔ)設(shè)施管理(iac):利用devops工具實(shí)現(xiàn)基礎(chǔ)設(shè)施管理的自動(dòng)化,這包括中間件的自動(dòng)化安裝、管理等任務(wù);
3、價(jià)值流分析:對(duì)價(jià)值流進(jìn)行分析和整理,形成內(nèi)部端到端的、完整的、有序的、可落地實(shí)施的工作流程。持續(xù)集成/持續(xù)交付(ci/cd):這是devops實(shí)踐中非常重要的一環(huán),目的是縮短系統(tǒng)變更從提交到部署至生產(chǎn)環(huán)境的時(shí)間,同時(shí)保證高質(zhì)量;
4、測(cè)試節(jié)點(diǎn):在流水線編排時(shí)考慮各類測(cè)試節(jié)點(diǎn),包括靜態(tài)代碼檢查、自動(dòng)化的單元測(cè)試以及人工的測(cè)試驗(yàn)證,以實(shí)現(xiàn)與qa/qc的協(xié)同工作。
5、但上述編排方法在實(shí)際應(yīng)用中還至少存在以下缺陷:
6、1、復(fù)雜性管理:隨著項(xiàng)目數(shù)量和規(guī)模的增加,管理多個(gè)應(yīng)用之間的依賴關(guān)系和協(xié)調(diào)它們的構(gòu)建、測(cè)試和部署過程變得更加復(fù)雜;
7、2、靈活性和可擴(kuò)展性:現(xiàn)有的流水線編排方法可能不夠靈活,難以適應(yīng)快速變化的業(yè)務(wù)需求和技術(shù)環(huán)境;
8、3、成本控制:自動(dòng)化工具和流程的實(shí)施可能會(huì)帶來額外的成本,特別是在資源分配和優(yōu)化方面;
9、4、安全性問題:自動(dòng)化流程可能會(huì)引入新的安全漏洞,需要確保流水線的安全性得到充分考慮和加強(qiáng)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種基于動(dòng)態(tài)依賴管理的流水線編排方法、裝置、設(shè)備及介質(zhì),用以解決現(xiàn)有技術(shù)中存在著多應(yīng)用項(xiàng)目流程的復(fù)雜性較高、靈活性較差、成本較高和安全性較低的問題。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
3、第一方面,本發(fā)明提供了一種基于動(dòng)態(tài)依賴管理的流水線編排方法,所述方法包括:
4、對(duì)多應(yīng)用項(xiàng)目流程進(jìn)行任務(wù)提取,得到任務(wù)集,所述任務(wù)集中包括多個(gè)任務(wù);
5、對(duì)多個(gè)任務(wù)進(jìn)行關(guān)系分析,得到各任務(wù)之間的依賴關(guān)系;
6、基于各任務(wù)之間的依賴關(guān)系,構(gòu)建動(dòng)態(tài)依賴模型,所述動(dòng)態(tài)依賴模型用于描述各任務(wù)之間的動(dòng)態(tài)約束和各任務(wù)的執(zhí)行順序;
7、監(jiān)測(cè)各任務(wù)之間的依賴關(guān)系的變化,基于變化后的依賴關(guān)系動(dòng)態(tài)調(diào)整多應(yīng)用項(xiàng)目流程的執(zhí)行順序;
8、在任意任務(wù)執(zhí)行完成后,獲取執(zhí)行反饋信息,基于執(zhí)行反饋信息對(duì)動(dòng)態(tài)依賴模型進(jìn)行優(yōu)化。
9、優(yōu)選地,所述動(dòng)態(tài)調(diào)整多應(yīng)用項(xiàng)目流程的執(zhí)行順序包括:?jiǎn)?dòng)執(zhí)行新任務(wù)、暫停當(dāng)前任務(wù)、跳過當(dāng)前任務(wù)或重復(fù)執(zhí)行當(dāng)前任務(wù)。
10、優(yōu)選地,基于各任務(wù)之間的依賴關(guān)系,構(gòu)建動(dòng)態(tài)依賴模型,包括:
11、基于各任務(wù)之間的依賴關(guān)系,確定各任務(wù)之間的依賴系數(shù);
12、基于各任務(wù)之間的依賴關(guān)系,確定各任務(wù)之間的延時(shí)時(shí)長(zhǎng);
13、基于各任務(wù)之間的依賴系數(shù)、各任務(wù)之間的依賴關(guān)系和各任務(wù)之間的延時(shí)時(shí)長(zhǎng),構(gòu)建動(dòng)態(tài)依賴模型。
14、優(yōu)選地,基于各任務(wù)之間的依賴關(guān)系,確定各任務(wù)之間的依賴系數(shù),包括:
15、對(duì)于任意一個(gè)任務(wù),提取該任務(wù)在任務(wù)集合中與該任務(wù)具有依賴關(guān)系的其他任務(wù);
16、確定該任務(wù)和與該任務(wù)具有依賴關(guān)系的其他任務(wù)之間的公共參數(shù)和私有參數(shù);
17、根據(jù)公共參數(shù)的數(shù)量和私有參數(shù)的數(shù)量,確定該任務(wù)和與該任務(wù)具有依賴關(guān)系的其他任務(wù)之間的依賴系數(shù)。
18、優(yōu)選地,在所述任務(wù)集中的任意一個(gè)任務(wù)與一個(gè)其他任務(wù)之間存在依賴關(guān)系時(shí),所述動(dòng)態(tài)依賴模型的表達(dá)式為:
19、;
20、式中, a表示任務(wù) a, b表示任務(wù) b,表示任務(wù) b的執(zhí)行開始時(shí)間,表示任務(wù) a的執(zhí)行結(jié)束時(shí)間,表示任務(wù) a與任務(wù) b之間的依賴系數(shù),為任務(wù) a與任務(wù) b之間的依賴關(guān)系,表示任務(wù) a與任務(wù) b之間的延時(shí)時(shí)長(zhǎng)。
21、優(yōu)選地,在所述任務(wù)集中的任意一個(gè)任務(wù)與至少兩個(gè)其他任務(wù)之間存在依賴關(guān)系時(shí),所述動(dòng)態(tài)依賴模型的表達(dá)式為:
22、;
23、式中,表示第 i個(gè)任務(wù)的執(zhí)行開始時(shí)間,表示第 j個(gè)任務(wù)的執(zhí)行結(jié)束時(shí)間, j表示與第 i個(gè)任務(wù)存在依賴關(guān)系的其他任務(wù)的總數(shù),表示第 i個(gè)任務(wù)與第 j個(gè)其他任務(wù)之間的依賴系數(shù),表示第 i個(gè)任務(wù)與第 j個(gè)其他任務(wù)之間的依賴關(guān)系,表示第 i個(gè)任務(wù)與第 j個(gè)其他任務(wù)之間的延時(shí)時(shí)長(zhǎng);其中, i=1,2,…, i, i表示任務(wù)集中任務(wù)的總數(shù), j為與第 i個(gè)任務(wù)存在依賴關(guān)系的第 j個(gè)其他任務(wù), j< i,且 i≠ j。
24、優(yōu)選地,基于執(zhí)行反饋信息對(duì)動(dòng)態(tài)依賴模型進(jìn)行優(yōu)化,包括:
25、根根據(jù)執(zhí)行反饋信息,調(diào)整各任務(wù)之間的依賴系數(shù)和各任務(wù)之間的依賴關(guān)系,得到調(diào)整后的各任務(wù)之間的依賴系數(shù)和調(diào)整后的各任務(wù)之間的依賴關(guān)系;
26、根據(jù)調(diào)整后的各任務(wù)之間的依賴系數(shù)和調(diào)整后的各任務(wù)之間的依賴關(guān)系對(duì)動(dòng)態(tài)依賴模型進(jìn)行重構(gòu)。
27、第二方面,本發(fā)明提供了一種基于動(dòng)態(tài)依賴管理的流水線編排裝置,用于實(shí)現(xiàn)上述的基于動(dòng)態(tài)依賴管理的流水線編排方法,所述裝置包括:
28、任務(wù)提取模塊,用于對(duì)多應(yīng)用項(xiàng)目流程進(jìn)行任務(wù)提取,得到任務(wù)集,所述任務(wù)集中包括多個(gè)任務(wù);
29、關(guān)系分析模塊,用于對(duì)多個(gè)任務(wù)進(jìn)行關(guān)系分析,得到各任務(wù)之間的依賴關(guān)系;
30、模型構(gòu)建模塊,用于基于各任務(wù)之間的依賴關(guān)系,構(gòu)建動(dòng)態(tài)依賴模型,所述動(dòng)態(tài)依賴模型用于描述各任務(wù)之間的動(dòng)態(tài)約束和各任務(wù)的執(zhí)行順序;
31、關(guān)系監(jiān)測(cè)模塊,用于監(jiān)測(cè)各任務(wù)之間的依賴關(guān)系的變化,基于變化后的依賴關(guān)系動(dòng)態(tài)調(diào)整多應(yīng)用項(xiàng)目流程的執(zhí)行順序;
32、模型優(yōu)化模塊,用于在任意任務(wù)執(zhí)行完成后,獲取執(zhí)行反饋信息,基于執(zhí)行反饋信息對(duì)動(dòng)態(tài)依賴模型進(jìn)行優(yōu)化。
33、第三方面,本發(fā)明提供了一種電子設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述的基于動(dòng)態(tài)依賴管理的流水線編排方法。
34、第四方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的基于動(dòng)態(tài)依賴管理的流水線編排方法。
35、有益效果:
36、1、提高了流程效率:通過實(shí)時(shí)感知依賴關(guān)系的變化,能夠更高效地安排和執(zhí)行任務(wù),避免不必要的等待和延誤,提高整體流程的效率;
37、2、增強(qiáng)了靈活性:根據(jù)依賴關(guān)系動(dòng)態(tài)調(diào)整多應(yīng)用項(xiàng)目流程的執(zhí)行,能夠靈活應(yīng)對(duì)各種情況,例如任務(wù)的新增、變更或延遲,從而更好地適應(yīng)業(yè)務(wù)需求的變化;
38、3、降低風(fēng)險(xiǎn):及時(shí)發(fā)現(xiàn)和處理依賴沖突或異常情況,可以減少錯(cuò)誤和故障的發(fā)生,降低項(xiàng)目風(fēng)險(xiǎn);
39、4、提升質(zhì)量:確保任務(wù)按照正確的順序執(zhí)行,有助于提高產(chǎn)品或服務(wù)的質(zhì)量;
40、5、更好的資源利用:根據(jù)任務(wù)的依賴關(guān)系和實(shí)時(shí)需求,合理分配資源,提高資源的利用率;
41、6、可視化和監(jiān)控:通過構(gòu)建動(dòng)態(tài)依賴模型,能夠更清晰地了解整個(gè)流程,便于監(jiān)控和管理;
42、7、快速響應(yīng)變化:在動(dòng)態(tài)的業(yè)務(wù)環(huán)境中,能夠快速響應(yīng)市場(chǎng)變化和客戶需求,提高企業(yè)的競(jìng)爭(zhēng)力。