本發(fā)明涉及電數(shù)字數(shù)據(jù)處理,尤其涉及熱重載的計算機系統(tǒng)。
背景技術(shù):
1、當前企業(yè)生產(chǎn)過程中,需要操作員通過執(zhí)行日常各種復雜的、高危的操作來滿足工廠運行的基本活動。然而,操作員通常在復雜、嚴酷的環(huán)境下執(zhí)行操作并且缺少相應(yīng)的規(guī)范指導,一旦發(fā)生故障可能導致系統(tǒng)停機、生產(chǎn)中斷、產(chǎn)品質(zhì)量不合格,甚至會出現(xiàn)惡性生產(chǎn)事故,危及人員的生命財產(chǎn)安全,所造成的直接經(jīng)濟損失十分巨大,間接損失和社會影響更是難以估量。為降低工廠的運行成本,使利潤達到最大化,電子操作規(guī)程/電子sop運用直觀的操作程序工作流圖,將手動操作步驟標準化、模板化和自動化。在確保安全的前提下,有效降低操作人員的勞動強度;還可以結(jié)合實際工藝條件和操作經(jīng)驗,對操作流程進行不斷的優(yōu)化和完善,從而達到一個良性的工藝效益改進循環(huán)。然而,在工作流修改調(diào)試過程中,工作流無法立即生效。常見的技術(shù)方案會對工作流進行版本控制,當前正在運行的工作流版本由工作流運行時決定,如果要更新工作流,需要先完成、停止、作廢當前工作流,再重新啟動使用新版本的工作流。
2、例如,公開號為cn117813586a的中國專利,公開了對具有未保存的源代碼更改的正在運行的應(yīng)用進行熱重載,提供了以下技術(shù)方案,對具有未保存的源代碼更改的正在運行的應(yīng)用進行熱重載。標識與項目類型相關(guān)聯(lián)的正在運行的軟件應(yīng)用的源代碼的代碼更改。代碼更改存儲在存儲器中的編輯器緩存內(nèi)并且未被提交給任何源代碼文件。確定代碼更改能夠使用熱重載而被應(yīng)用到正在運行的軟件應(yīng)用。標識與項目類型相關(guān)聯(lián)的(多個)熱重載代理。使用(多個)熱重載代理,將代碼更改傳遞給與正在運行的軟件應(yīng)用相關(guān)聯(lián)的應(yīng)用運行時。正在運行的軟件應(yīng)用的至少一個進程調(diào)用與代碼更改相對應(yīng)的新編譯代碼實體。但是,上述的對具有未保存的源代碼更改的正在運行的應(yīng)用進行熱重載,重點主要在于軟件代碼方向,難以通過其對工作流進行修改、調(diào)試、更新以達到提高調(diào)試、組態(tài)工作流效率,提升工作流靈活性,適應(yīng)多變現(xiàn)場需求的需求。
技術(shù)實現(xiàn)思路
1、本發(fā)明解決了現(xiàn)有技術(shù)中需要停止運行后進行更新、工作流效率低和靈活性差的問題,提出了一種對工作流進行熱重載的方法,達成了靈活性高、適應(yīng)多變現(xiàn)場需求和工作流效率高的目的。
2、為實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
3、一種對工作流進行熱重載的方法,包括以下步驟:
4、s1:收到新版本工作流熱重載需調(diào)用的指令,解析并獲得需要更新的工作流數(shù)據(jù);
5、s2:對動態(tài)數(shù)據(jù)和步游標進行刪除的步處理;
6、s3:對靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)進行新增的步處理;
7、s4:對靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)以及步游標進行修改的步處理;
8、s5:判斷并確保更新后的工作流數(shù)據(jù)是否與新版本要求的一致。
9、這樣設(shè)計的好處在于,可以確保在進行工作流熱重載時,各項數(shù)據(jù)都能得到正確更新和處理,保證新版本工作流的正確性和一致性。
10、作為優(yōu)選,所述步驟s1包括:
11、s1.1:收到新版本工作流熱重載需調(diào)用的指令;
12、s1.2:解析舊工作流,建立步id與步對象和上游步以及下游步的字典關(guān)系;
13、s1.3:解析新工作流,建立步id與步對象和上游步以及下游步的字典關(guān)系;
14、s1.4:判斷舊工作流步id與新工作流步id之間是否有區(qū)別,若是,則進入步驟s1.5,若否,則進入步驟s1.6;
15、s1.5:識別需刪除步集合和需新增步集合;
16、s1.6:判斷新舊工作流步id相同的步的數(shù)據(jù)結(jié)構(gòu)是否有區(qū)別,若是,則識別修改靜態(tài)數(shù)據(jù)的步集合,若否,則直接進入步驟s2。
17、這樣設(shè)計的好處在于,通過詳細解析新舊工作流的差異,可以精準識別需要刪除、新增以及修改的步,確保工作流在熱重載過程中不出現(xiàn)遺漏或錯誤。
18、作為優(yōu)選,所述步驟s2中,對所述動態(tài)數(shù)據(jù)進行刪除的步處理具體為,由于步已刪除,刪除的步原動態(tài)數(shù)據(jù)可以刪除或不處理;對所述步游標進行刪除的步處理具體為,若當前步游標未指向已刪除的步,則不處理,
19、若當前步游標指向已刪除的步,則由于當前步游標消失,不再繼續(xù)執(zhí)行直至手動指定當前步并發(fā)起啟動步命令。
20、這樣設(shè)計的好處在于,針對已經(jīng)刪除的步,可以靈活處理其動態(tài)數(shù)據(jù)和步游標狀態(tài),進一步提高了系統(tǒng)的魯棒性和靈活性。
21、作為優(yōu)選,所述步驟s3中,對于步游標處理不涉及;對動態(tài)數(shù)據(jù)進行新增的步處理中,對于歷史數(shù)據(jù)處理不涉及。
22、這樣設(shè)計的好處在于,可以減少不必要的數(shù)據(jù)處理,簡化新增步的處理流程,提高系統(tǒng)的性能和響應(yīng)速度。
23、作為優(yōu)選,所述步驟s4包括:
24、s4.1:應(yīng)用修改后的步的靜態(tài)數(shù)據(jù)覆蓋原步,執(zhí)行器應(yīng)用更新后的靜態(tài)數(shù)據(jù);
25、s4.2:對動態(tài)數(shù)據(jù)中的參數(shù)進行修改處理;
26、s4.3:對于步游標處理保持與原步游標一致。
27、這樣設(shè)計的好處在于,能夠確保在修改步時,靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)都能得到正確更新,并且步游標狀態(tài)保持一致,保證工作流的連貫性和一致性。
28、作為優(yōu)選,所述步驟s4.2包括:
29、s4.21:比較參數(shù)組態(tài)與參數(shù)運行數(shù)據(jù),比較參數(shù)的名稱和類型以及描述;
30、s4.22:判斷參數(shù)名是否相同,若是,則進入步驟s4.23,若否,則進入步驟s4.24;
31、s4.23:判斷數(shù)據(jù)類型是否相同,若是,則數(shù)據(jù)與原數(shù)據(jù)保持一致,若否,則初始化成默認值;s4.24:判斷參數(shù)名組態(tài)中是否存在,若是,則進入步驟s4.25,若否,則原數(shù)據(jù)刪除或不處理;
32、s4.25:判斷參數(shù)名運行中是否存在,若是,則進行相應(yīng)修改步處理,若否,則初始化成默認值。
33、這樣設(shè)計的好處在于,通過詳細比較參數(shù)的名稱、類型和描述,可以精準定位需要修改的參數(shù),并確保參數(shù)數(shù)據(jù)的一致性和正確性。
34、作為優(yōu)選,所述步驟s5中包括:判斷更新后的工作流數(shù)據(jù)是否與新版本要求的一致,若是,則工作流正常運行,若否,則返回步驟s1.2。
35、這樣設(shè)計的好處在于,能夠通過驗證更新后的工作流數(shù)據(jù),確保其滿足新版本的要求,從而保證工作流的正常運行和穩(wěn)定性。
36、作為優(yōu)選,所述步驟s3中,對靜態(tài)數(shù)據(jù)進行新增的步處理具體為增加新增步的靜態(tài)數(shù)據(jù);對動態(tài)數(shù)據(jù)進行新增的步處理具體為將步狀態(tài)初始化至默認值,將參數(shù)初始化至默認值。
37、這樣設(shè)計的好處在于,在新增步時,能夠正確初始化靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù),確保新增步的狀態(tài)和參數(shù)都處于默認值,防止出現(xiàn)不一致的數(shù)據(jù)狀態(tài)。
38、作為優(yōu)選,所述步驟s4.2中,對于歷史數(shù)據(jù)處理不涉及,對于步狀態(tài)則與原步狀態(tài)保持一致,對于參數(shù)描述以新數(shù)據(jù)為準。
39、這樣設(shè)計的好處在于,可以減少不必要的歷史數(shù)據(jù)處理,確保步狀態(tài)與原步一致,同時參數(shù)描述以新數(shù)據(jù)為準,提高數(shù)據(jù)更新的效率和準確性。
40、作為優(yōu)選,所述步驟s2中,若存在多個游標時,則逐個根據(jù)步游標的情況按方案執(zhí)行;對于靜態(tài)數(shù)據(jù)不涉及。
41、這樣設(shè)計的好處在于,能夠有效處理多個步游標的情況,確保每個游標都能得到正確處理,而靜態(tài)數(shù)據(jù)不受影響,簡化了數(shù)據(jù)處理流程。
42、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
43、1.本發(fā)明通過詳細解析新舊工作流的差異,精準識別需要刪除、新增以及修改的步,確保在熱重載過程中不出現(xiàn)遺漏或錯誤,從而保證工作流的正確性和一致性。這樣設(shè)計能夠有效避免由于步識別不準確導致的系統(tǒng)問題,提高整個系統(tǒng)的穩(wěn)定性。
44、2.本發(fā)明通過靈活處理刪除步的動態(tài)數(shù)據(jù)和步游標狀態(tài),可以進一步提高系統(tǒng)的魯棒性和靈活性。對于新增步,簡化了新增步的處理流程,不涉及步游標和歷史數(shù)據(jù)處理,減少不必要的數(shù)據(jù)處理,提高系統(tǒng)的性能和響應(yīng)速度,這樣能夠確保新增步的狀態(tài)和參數(shù)都處于默認值,防止數(shù)據(jù)狀態(tài)不一致。
45、3.本發(fā)明通過對靜態(tài)和動態(tài)數(shù)據(jù)的修改則確保了數(shù)據(jù)的一致性和正確性。步驟s4詳細比較參數(shù)的名稱、類型和描述,精準定位需要修改的參數(shù),并確保參數(shù)數(shù)據(jù)正確更新。同時,驗證更新后的工作流數(shù)據(jù)與新版本要求的一致性,保證工作流的正常運行和穩(wěn)定性,大大提高了數(shù)據(jù)更新的效率和準確性。