本發(fā)明涉及嵌入式定時(shí)任務(wù)管理,特別指一種嵌入式定時(shí)任務(wù)日志管理方法及系統(tǒng)。
背景技術(shù):
1、?嵌入式定時(shí)任務(wù)?是指在嵌入式系統(tǒng)中,通過預(yù)設(shè)的時(shí)間間隔或特定時(shí)間點(diǎn),執(zhí)行預(yù)定義的任務(wù),這種任務(wù)通常用于實(shí)現(xiàn)周期性或一次性的操作,如數(shù)據(jù)采集、系統(tǒng)監(jiān)控、設(shè)備狀態(tài)檢查等,定時(shí)任務(wù)對(duì)于確保嵌入式系統(tǒng)的正常運(yùn)行和性能優(yōu)化至關(guān)重要。?嵌入式定時(shí)任務(wù)在執(zhí)行過程中,會(huì)產(chǎn)生相應(yīng)的運(yùn)行日志,需要對(duì)這些運(yùn)行日志進(jìn)行管理,針對(duì)運(yùn)行日志的管理,傳統(tǒng)上存在如下方法:
2、1、在?嵌入式定時(shí)任務(wù)框架中,在調(diào)度器和執(zhí)行器外獨(dú)立出部分資源來額外部署定時(shí)任務(wù)的中間件,該模式下調(diào)度器與執(zhí)行器通過長連接來進(jìn)行心跳報(bào)活并上報(bào)運(yùn)行日志,強(qiáng)行綁定了調(diào)度器與執(zhí)行器的關(guān)聯(lián)關(guān)系,不能有效的均衡分散調(diào)度器的壓力,當(dāng)調(diào)度器壓力過大時(shí)將直接影響運(yùn)行日志的管理效率。
3、2、依附于?嵌入式定時(shí)任務(wù)的服務(wù)本身,充分利用計(jì)算資源并節(jié)約運(yùn)維成本,但缺少運(yùn)行日志上報(bào)功能,日志管理的便捷性不佳,且無法均衡地分散執(zhí)行器的執(zhí)行壓力,當(dāng)執(zhí)行器壓力過大時(shí)將直接影響運(yùn)行日志的管理效率。
4、3、運(yùn)行日志僅是簡單的存儲(chǔ)在指定路徑下,未對(duì)運(yùn)行日志采取相應(yīng)的安全措施,存在被竊取和篡改的安全風(fēng)險(xiǎn)。
5、因此,如何提供一種嵌入式定時(shí)任務(wù)日志管理方法及系統(tǒng),實(shí)現(xiàn)提升嵌入式定時(shí)任務(wù)日志管理的效率、便捷性以及安全性,成為一個(gè)亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題,在于提供一種嵌入式定時(shí)任務(wù)日志管理方法及系統(tǒng),實(shí)現(xiàn)提升嵌入式定時(shí)任務(wù)日志管理的效率、便捷性以及安全性。
2、第一方面,本發(fā)明提供了一種嵌入式定時(shí)任務(wù)日志管理方法,包括如下步驟:
3、步驟s1、創(chuàng)建集成嵌入式定時(shí)任務(wù)的業(yè)務(wù)服務(wù)節(jié)點(diǎn),將各所述業(yè)務(wù)服務(wù)節(jié)點(diǎn)同時(shí)在服務(wù)發(fā)現(xiàn)中間件中注冊(cè)為調(diào)度器節(jié)點(diǎn)和執(zhí)行器節(jié)點(diǎn),所述服務(wù)發(fā)現(xiàn)中間件基于注冊(cè)的調(diào)度器節(jié)點(diǎn)更新預(yù)先創(chuàng)建的調(diào)度器節(jié)點(diǎn)列表,基于注冊(cè)的所述執(zhí)行器節(jié)點(diǎn)更新預(yù)先創(chuàng)建的執(zhí)行器節(jié)點(diǎn)列表;
4、所述服務(wù)發(fā)現(xiàn)中間件為nacos;所述調(diào)度器節(jié)點(diǎn)列表設(shè)有各調(diào)度器節(jié)點(diǎn)的響應(yīng)時(shí)長,所述響應(yīng)時(shí)長用于記錄加密數(shù)據(jù)包上報(bào)后的操作時(shí)間;
5、步驟s2、所述調(diào)度器節(jié)點(diǎn)基于嵌入式定時(shí)任務(wù)向執(zhí)行器節(jié)點(diǎn)發(fā)送任務(wù)執(zhí)行指令;
6、步驟s3、所述執(zhí)行器節(jié)點(diǎn)從服務(wù)發(fā)現(xiàn)中間件獲取調(diào)度器節(jié)點(diǎn)列表,對(duì)所述調(diào)度器節(jié)點(diǎn)列表進(jìn)行本地緩存,基于接收的所述任務(wù)執(zhí)行指令執(zhí)行嵌入式定時(shí)任務(wù),實(shí)時(shí)記錄所述嵌入式定時(shí)任務(wù)執(zhí)行過程中產(chǎn)生的運(yùn)行日志;
7、步驟s4、所述執(zhí)行器節(jié)點(diǎn)基于rc6算法和xtea算法將記錄的各運(yùn)行日志加密為加密日志,獲取當(dāng)前的時(shí)間戳以及執(zhí)行器標(biāo)識(shí),對(duì)所述加密日志、時(shí)間戳以及執(zhí)行器標(biāo)識(shí)進(jìn)行hmac計(jì)算得到hmac值,將所述加密日志、時(shí)間戳、執(zhí)行器標(biāo)識(shí)以及hmac值打包為加密數(shù)據(jù)包;
8、步驟s5、所述執(zhí)行器節(jié)點(diǎn)基于調(diào)度器節(jié)點(diǎn)列表選擇其中一個(gè)調(diào)度器節(jié)點(diǎn)建立短連接,將所述加密數(shù)據(jù)包通過http請(qǐng)求上報(bào)至調(diào)度器節(jié)點(diǎn);
9、步驟s6、所述調(diào)度器節(jié)點(diǎn)對(duì)接收的加密數(shù)據(jù)包進(jìn)行校驗(yàn)后,進(jìn)行分類存儲(chǔ)。
10、進(jìn)一步的,所述步驟s2具體為:
11、所述調(diào)度器節(jié)點(diǎn)基于嵌入式定時(shí)任務(wù),通過分布式鎖控制,實(shí)時(shí)向執(zhí)行器節(jié)點(diǎn)發(fā)送至少攜帶嵌入式定時(shí)任務(wù)以及調(diào)度器標(biāo)識(shí)的任務(wù)執(zhí)行指令。
12、進(jìn)一步的,所述步驟s4具體為:
13、所述執(zhí)行器節(jié)點(diǎn)通過rc6算法對(duì)所述運(yùn)行日志進(jìn)行加密得到一級(jí)加密數(shù)據(jù),通過預(yù)設(shè)的映射規(guī)則對(duì)所述一級(jí)加密數(shù)據(jù)中的各字符進(jìn)行映射得到二級(jí)加密數(shù)據(jù),將所述二級(jí)加密數(shù)據(jù)中的字符u和字符v進(jìn)行對(duì)調(diào)得到三級(jí)加密數(shù)據(jù),通過xtea算法對(duì)所述三級(jí)加密數(shù)據(jù)進(jìn)行加密得到四級(jí)加密數(shù)據(jù),將所述四級(jí)加密數(shù)據(jù)進(jìn)行二進(jìn)制轉(zhuǎn)換后,將連續(xù)的“11”與連續(xù)的“111”進(jìn)行對(duì)調(diào)得到加密日志;
14、所述執(zhí)行器節(jié)點(diǎn)獲取當(dāng)前的時(shí)間戳以及執(zhí)行器標(biāo)識(shí),對(duì)所述加密日志、時(shí)間戳以及執(zhí)行器標(biāo)識(shí)進(jìn)行hmac計(jì)算得到hmac值,通過aes-kw算法將所述加密日志、時(shí)間戳、執(zhí)行器標(biāo)識(shí)以及hmac值封裝為加密數(shù)據(jù)包。
15、進(jìn)一步的,所述步驟s5具體為:
16、所述執(zhí)行器節(jié)點(diǎn)判斷本地緩存的調(diào)度器節(jié)點(diǎn)列表中,是否存在響應(yīng)時(shí)長為空的所述調(diào)度器節(jié)點(diǎn),若存在,則從響應(yīng)時(shí)長為空的各所述調(diào)度器節(jié)點(diǎn)隨機(jī)選擇一個(gè)建立短連接;若不存在,則選擇響應(yīng)時(shí)長最短的所述調(diào)度器節(jié)點(diǎn)建立短連接;
17、所述執(zhí)行器節(jié)點(diǎn)將加密數(shù)據(jù)包通過http請(qǐng)求上報(bào)至建立短連接的調(diào)度器節(jié)點(diǎn)。
18、進(jìn)一步的,所述步驟s6具體為:
19、所述調(diào)度器節(jié)點(diǎn)實(shí)時(shí)接收加密數(shù)據(jù)包,通過aes-kw算法對(duì)所述加密數(shù)據(jù)包進(jìn)行解封裝得到加密日志、時(shí)間戳、執(zhí)行器標(biāo)識(shí)以及hmac值,通過所述hmac值對(duì)加密日志、時(shí)間戳以及執(zhí)行器標(biāo)識(shí)進(jìn)行完整性校驗(yàn)后,通過所述時(shí)間戳進(jìn)行時(shí)效校驗(yàn),再基于所述執(zhí)行器標(biāo)識(shí)將加密數(shù)據(jù)包分類存儲(chǔ)至分布式存儲(chǔ)容器,并更新所述業(yè)務(wù)服務(wù)節(jié)點(diǎn)的調(diào)度器節(jié)點(diǎn)列表的響應(yīng)時(shí)長。
20、第二方面,本發(fā)明提供了一種嵌入式定時(shí)任務(wù)日志管理系統(tǒng),包括如下模塊:
21、節(jié)點(diǎn)注冊(cè)模塊,用于創(chuàng)建集成嵌入式定時(shí)任務(wù)的業(yè)務(wù)服務(wù)節(jié)點(diǎn),將各所述業(yè)務(wù)服務(wù)節(jié)點(diǎn)同時(shí)在服務(wù)發(fā)現(xiàn)中間件中注冊(cè)為調(diào)度器節(jié)點(diǎn)和執(zhí)行器節(jié)點(diǎn),所述服務(wù)發(fā)現(xiàn)中間件基于注冊(cè)的調(diào)度器節(jié)點(diǎn)更新預(yù)先創(chuàng)建的調(diào)度器節(jié)點(diǎn)列表,基于注冊(cè)的所述執(zhí)行器節(jié)點(diǎn)更新預(yù)先創(chuàng)建的執(zhí)行器節(jié)點(diǎn)列表;
22、所述服務(wù)發(fā)現(xiàn)中間件為nacos;所述調(diào)度器節(jié)點(diǎn)列表設(shè)有各調(diào)度器節(jié)點(diǎn)的響應(yīng)時(shí)長,所述響應(yīng)時(shí)長用于記錄加密數(shù)據(jù)包上報(bào)后的操作時(shí)間;
23、任務(wù)執(zhí)行指令發(fā)送模塊,用于所述調(diào)度器節(jié)點(diǎn)基于嵌入式定時(shí)任務(wù)向執(zhí)行器節(jié)點(diǎn)發(fā)送任務(wù)執(zhí)行指令;
24、運(yùn)行日志記錄模塊,用于所述執(zhí)行器節(jié)點(diǎn)從服務(wù)發(fā)現(xiàn)中間件獲取調(diào)度器節(jié)點(diǎn)列表,對(duì)所述調(diào)度器節(jié)點(diǎn)列表進(jìn)行本地緩存,基于接收的所述任務(wù)執(zhí)行指令執(zhí)行嵌入式定時(shí)任務(wù),實(shí)時(shí)記錄所述嵌入式定時(shí)任務(wù)執(zhí)行過程中產(chǎn)生的運(yùn)行日志;
25、運(yùn)行日志加密模塊,用于所述執(zhí)行器節(jié)點(diǎn)基于rc6算法和xtea算法將記錄的各運(yùn)行日志加密為加密日志,獲取當(dāng)前的時(shí)間戳以及執(zhí)行器標(biāo)識(shí),對(duì)所述加密日志、時(shí)間戳以及執(zhí)行器標(biāo)識(shí)進(jìn)行hmac計(jì)算得到hmac值,將所述加密日志、時(shí)間戳、執(zhí)行器標(biāo)識(shí)以及hmac值打包為加密數(shù)據(jù)包;
26、加密數(shù)據(jù)包上報(bào)模塊,用于所述執(zhí)行器節(jié)點(diǎn)基于調(diào)度器節(jié)點(diǎn)列表選擇其中一個(gè)調(diào)度器節(jié)點(diǎn)建立短連接,將所述加密數(shù)據(jù)包通過http請(qǐng)求上報(bào)至調(diào)度器節(jié)點(diǎn);
27、加密數(shù)據(jù)包存儲(chǔ)模塊,用于所述調(diào)度器節(jié)點(diǎn)對(duì)接收的加密數(shù)據(jù)包進(jìn)行校驗(yàn)后,進(jìn)行分類存儲(chǔ)。
28、進(jìn)一步的,所述任務(wù)執(zhí)行指令發(fā)送模塊具體用于:
29、所述調(diào)度器節(jié)點(diǎn)基于嵌入式定時(shí)任務(wù),通過分布式鎖控制,實(shí)時(shí)向執(zhí)行器節(jié)點(diǎn)發(fā)送至少攜帶嵌入式定時(shí)任務(wù)以及調(diào)度器標(biāo)識(shí)的任務(wù)執(zhí)行指令。
30、進(jìn)一步的,所述運(yùn)行日志加密模塊具體用于:
31、所述執(zhí)行器節(jié)點(diǎn)通過rc6算法對(duì)所述運(yùn)行日志進(jìn)行加密得到一級(jí)加密數(shù)據(jù),通過預(yù)設(shè)的映射規(guī)則對(duì)所述一級(jí)加密數(shù)據(jù)中的各字符進(jìn)行映射得到二級(jí)加密數(shù)據(jù),將所述二級(jí)加密數(shù)據(jù)中的字符u和字符v進(jìn)行對(duì)調(diào)得到三級(jí)加密數(shù)據(jù),通過xtea算法對(duì)所述三級(jí)加密數(shù)據(jù)進(jìn)行加密得到四級(jí)加密數(shù)據(jù),將所述四級(jí)加密數(shù)據(jù)進(jìn)行二進(jìn)制轉(zhuǎn)換后,將連續(xù)的“11”與連續(xù)的“111”進(jìn)行對(duì)調(diào)得到加密日志;
32、所述執(zhí)行器節(jié)點(diǎn)獲取當(dāng)前的時(shí)間戳以及執(zhí)行器標(biāo)識(shí),對(duì)所述加密日志、時(shí)間戳以及執(zhí)行器標(biāo)識(shí)進(jìn)行hmac計(jì)算得到hmac值,通過aes-kw算法將所述加密日志、時(shí)間戳、執(zhí)行器標(biāo)識(shí)以及hmac值封裝為加密數(shù)據(jù)包。
33、進(jìn)一步的,所述加密數(shù)據(jù)包上報(bào)模塊具體用于:
34、所述執(zhí)行器節(jié)點(diǎn)判斷本地緩存的調(diào)度器節(jié)點(diǎn)列表中,是否存在響應(yīng)時(shí)長為空的所述調(diào)度器節(jié)點(diǎn),若存在,則從響應(yīng)時(shí)長為空的各所述調(diào)度器節(jié)點(diǎn)隨機(jī)選擇一個(gè)建立短連接;若不存在,則選擇響應(yīng)時(shí)長最短的所述調(diào)度器節(jié)點(diǎn)建立短連接;
35、所述執(zhí)行器節(jié)點(diǎn)將加密數(shù)據(jù)包通過http請(qǐng)求上報(bào)至建立短連接的調(diào)度器節(jié)點(diǎn)。
36、進(jìn)一步的,所述加密數(shù)據(jù)包存儲(chǔ)模塊具體用于:
37、所述調(diào)度器節(jié)點(diǎn)實(shí)時(shí)接收加密數(shù)據(jù)包,通過aes-kw算法對(duì)所述加密數(shù)據(jù)包進(jìn)行解封裝得到加密日志、時(shí)間戳、執(zhí)行器標(biāo)識(shí)以及hmac值,通過所述hmac值對(duì)加密日志、時(shí)間戳以及執(zhí)行器標(biāo)識(shí)進(jìn)行完整性校驗(yàn)后,通過所述時(shí)間戳進(jìn)行時(shí)效校驗(yàn),再基于所述執(zhí)行器標(biāo)識(shí)將加密數(shù)據(jù)包分類存儲(chǔ)至分布式存儲(chǔ)容器,并更新所述業(yè)務(wù)服務(wù)節(jié)點(diǎn)的調(diào)度器節(jié)點(diǎn)列表的響應(yīng)時(shí)長。
38、本發(fā)明的優(yōu)點(diǎn)在于:
39、1、通過創(chuàng)建集成嵌入式定時(shí)任務(wù)的業(yè)務(wù)服務(wù)節(jié)點(diǎn),將各業(yè)務(wù)服務(wù)節(jié)點(diǎn)同時(shí)在服務(wù)發(fā)現(xiàn)中間件中注冊(cè)為調(diào)度器節(jié)點(diǎn)和執(zhí)行器節(jié)點(diǎn),服務(wù)發(fā)現(xiàn)中間件基于注冊(cè)的調(diào)度器節(jié)點(diǎn)更新預(yù)先創(chuàng)建的調(diào)度器節(jié)點(diǎn)列表,基于注冊(cè)的執(zhí)行器節(jié)點(diǎn)更新預(yù)先創(chuàng)建的執(zhí)行器節(jié)點(diǎn)列表,調(diào)度器節(jié)點(diǎn)列表設(shè)有各調(diào)度器節(jié)點(diǎn)的響應(yīng)時(shí)長;接著調(diào)度器節(jié)點(diǎn)基于嵌入式定時(shí)任務(wù)向執(zhí)行器節(jié)點(diǎn)發(fā)送任務(wù)執(zhí)行指令,執(zhí)行器節(jié)點(diǎn)從服務(wù)發(fā)現(xiàn)中間件獲取調(diào)度器節(jié)點(diǎn)列表,基于任務(wù)執(zhí)行指令執(zhí)行嵌入式定時(shí)任務(wù),實(shí)時(shí)記錄嵌入式定時(shí)任務(wù)執(zhí)行過程中產(chǎn)生的運(yùn)行日志;執(zhí)行器節(jié)點(diǎn)基于rc6算法和xtea算法將記錄的各運(yùn)行日志加密為加密日志,獲取當(dāng)前的時(shí)間戳以及執(zhí)行器標(biāo)識(shí),對(duì)加密日志、時(shí)間戳以及執(zhí)行器標(biāo)識(shí)進(jìn)行hmac計(jì)算得到hmac值,將加密日志、時(shí)間戳、執(zhí)行器標(biāo)識(shí)以及hmac值打包為加密數(shù)據(jù)包,基于調(diào)度器節(jié)點(diǎn)列表選擇其中一個(gè)調(diào)度器節(jié)點(diǎn)建立短連接,將加密數(shù)據(jù)包通過http請(qǐng)求上報(bào)至調(diào)度器節(jié)點(diǎn),最后調(diào)度器節(jié)點(diǎn)對(duì)加密數(shù)據(jù)包進(jìn)行校驗(yàn)后,進(jìn)行分類存儲(chǔ);即執(zhí)行器節(jié)點(diǎn)通過短連接向調(diào)度器節(jié)點(diǎn)上報(bào)運(yùn)行日志,解綁了執(zhí)行器節(jié)點(diǎn)與調(diào)度器節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系,執(zhí)行器節(jié)點(diǎn)可選擇未被訪問過(響應(yīng)時(shí)長為空)的調(diào)度器節(jié)點(diǎn)或者響應(yīng)時(shí)長最短的調(diào)度器節(jié)點(diǎn)來進(jìn)行運(yùn)行日志的管理,以有效的均衡分散調(diào)度器節(jié)點(diǎn)的壓力;通過設(shè)置執(zhí)行器節(jié)點(diǎn)來上報(bào)運(yùn)行日志,不僅能均衡地分散執(zhí)行器節(jié)點(diǎn)的執(zhí)行壓力,還便于運(yùn)行日志的統(tǒng)一管理;且運(yùn)行日志上報(bào)前進(jìn)行了加密,避免被竊取和篡改,進(jìn)而極大的提升了嵌入式定時(shí)任務(wù)日志管理的效率、便捷性以及安全性。
40、2、通過分布式鎖控制向執(zhí)行器節(jié)點(diǎn)發(fā)送任務(wù)執(zhí)行指令,即爭奪到鎖的調(diào)度器節(jié)點(diǎn)才能對(duì)任務(wù)執(zhí)行指令進(jìn)行下發(fā)操作,保證同一時(shí)間嵌入式定時(shí)任務(wù)只會(huì)被觸發(fā)一次,實(shí)現(xiàn)單點(diǎn)調(diào)度。
41、3、通過rc6算法對(duì)運(yùn)行日志進(jìn)行加密得到一級(jí)加密數(shù)據(jù),通過映射規(guī)則對(duì)一級(jí)加密數(shù)據(jù)中的各字符進(jìn)行映射得到二級(jí)加密數(shù)據(jù),將二級(jí)加密數(shù)據(jù)中的字符u和字符v進(jìn)行對(duì)調(diào)得到三級(jí)加密數(shù)據(jù),通過xtea算法對(duì)三級(jí)加密數(shù)據(jù)進(jìn)行加密得到四級(jí)加密數(shù)據(jù),將四級(jí)加密數(shù)據(jù)進(jìn)行二進(jìn)制轉(zhuǎn)換后,將連續(xù)的“11”與連續(xù)的“111”進(jìn)行對(duì)調(diào)得到加密日志;接著獲取當(dāng)前的時(shí)間戳以及執(zhí)行器標(biāo)識(shí),對(duì)加密日志、時(shí)間戳以及執(zhí)行器標(biāo)識(shí)進(jìn)行hmac計(jì)算得到hmac值,通過aes-kw算法將加密日志、時(shí)間戳、執(zhí)行器標(biāo)識(shí)以及hmac值封裝為加密數(shù)據(jù)包;后續(xù)可通過hmac值進(jìn)行完整性校驗(yàn),且hmac計(jì)算基于密鑰,相對(duì)于普通的哈希計(jì)算擁有更高的安全性,可通過時(shí)間戳進(jìn)行時(shí)效校驗(yàn),而運(yùn)行日志經(jīng)過多級(jí)加密和多重?cái)?shù)據(jù)變換,前后采取至少8重安全措施(rc6算法、映射規(guī)則、字符對(duì)調(diào)、xtea算法、二進(jìn)制數(shù)據(jù)變換、時(shí)間戳、hmac計(jì)算、aes-kw算法),極大的提升了運(yùn)行日志上報(bào)和存儲(chǔ)的安全性。
42、4、通過執(zhí)行器標(biāo)識(shí)將加密數(shù)據(jù)包分類存儲(chǔ)至分布式存儲(chǔ)容器,不僅便于后期檢索,還可保障存儲(chǔ)的可靠性。