本技術(shù)屬于計(jì)算機(jī)應(yīng)用,特別是涉及一種代碼故障預(yù)警方法、裝置、終端設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在產(chǎn)品開發(fā)過程中,需要及時(shí)對(duì)更新的代碼進(jìn)行測試,但是由于測試工具通常依賴于多個(gè)第三方庫,這些庫之間可能存在復(fù)雜的依賴關(guān)系,當(dāng)這些庫的版本更新時(shí),可能會(huì)引入新的應(yīng)用程序接口變更、功能缺陷或與其他庫的兼容性問題,導(dǎo)致測試工具的執(zhí)行失敗。同時(shí),第三方庫在更新版本時(shí),可能會(huì)對(duì)其應(yīng)用程序接口進(jìn)行更改或重構(gòu),如果自動(dòng)化測試工具使用的是舊版本的api,那么在新版本的庫中這些應(yīng)用程序接口可能不再適用,導(dǎo)致無法正常的對(duì)代碼進(jìn)行測試,無法及時(shí)的進(jìn)行代碼故障預(yù)警。
2、相關(guān)技術(shù)中,可以通過測試工具集成依賴管理工具管理庫的版本,也可以通過開發(fā)人員使用虛擬環(huán)境隔離不同項(xiàng)目的依賴,但是依賴管理工具通常只關(guān)注直接依賴,忽略了間接依賴,并且為每個(gè)項(xiàng)目建立虛擬環(huán)境會(huì)增加維護(hù)成本并且流程復(fù)雜,因此,在依賴文件出現(xiàn)問題時(shí),利用現(xiàn)有技術(shù)進(jìn)行代碼故障預(yù)警,存在準(zhǔn)確性低及維護(hù)成本高的問題,從而導(dǎo)致代碼執(zhí)行效率低且產(chǎn)品質(zhì)量差的問題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)的目的在于提供一種代碼故障預(yù)警方法、裝置、終端設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),能夠解決相關(guān)技術(shù)中,通過測試工具集成依賴管理工具管理庫的版本,或者通過開發(fā)人員使用虛擬環(huán)境隔離不同項(xiàng)目的依賴,由于依賴管理工具通常只關(guān)注直接依賴,忽略了間接依賴,并且為每個(gè)項(xiàng)目建立虛擬環(huán)境會(huì)增加維護(hù)成本并且流程復(fù)雜,導(dǎo)致的當(dāng)依賴文件出現(xiàn)問題時(shí),代碼故障預(yù)警準(zhǔn)確性低、維護(hù)成本高,從而代碼執(zhí)行效率低、產(chǎn)品質(zhì)量差的問題。
2、第一方面,本技術(shù)實(shí)施例提供了一種代碼故障預(yù)警方法,包括:將測試工具生成的日志條目輸入預(yù)設(shè)日志解析器中,生成日志特征向量;對(duì)日志特征向量進(jìn)行識(shí)別,確定異常日志;將異常日志對(duì)應(yīng)的日志特征向量輸入預(yù)設(shè)大模型中,生成異常日志對(duì)應(yīng)的故障原因;將故障原因與本地緩存的差異版本依賴文件進(jìn)行匹配,確定差異版本依賴文件中與故障原因?qū)?yīng)的故障代碼,其中,差異版本依賴文件為代碼提交前后存在變更的版本依賴文件;將異常日志及異常日志對(duì)應(yīng)的故障代碼發(fā)送至測試人員,進(jìn)行故障預(yù)警。
3、在第一方面的一種可能的實(shí)現(xiàn)方式中,上述將測試工具生成的日志條目輸入預(yù)設(shè)日志解析器中,生成日志特征向量,包括:
4、將日志條目輸入預(yù)設(shè)日志解析器,識(shí)別日志條目的日志格式;
5、提取日志條目中的各個(gè)組件;
6、將各個(gè)組件轉(zhuǎn)換為特征向量;
7、對(duì)各個(gè)組件對(duì)應(yīng)的特征向量進(jìn)行拼接,生成日志特征向量。
8、可選的,在第一方面的另一種可能的實(shí)現(xiàn)方式中,上述組件包括日志級(jí)別組件、文本組件及時(shí)間組件,上述特征向量包括數(shù)值特征向量、文本特征向量及時(shí)間序列特征向量,上述將各個(gè)組件轉(zhuǎn)換為特征向量,包括:
9、當(dāng)組件包括日志級(jí)別組件時(shí),將日志級(jí)別組件轉(zhuǎn)換為數(shù)值特征向量;
10、當(dāng)組件包括文本組件時(shí),通過預(yù)設(shè)詞嵌入模型,將文本組件轉(zhuǎn)換為文本特征向量;
11、當(dāng)組件包括時(shí)間組件時(shí),將時(shí)間組件轉(zhuǎn)換為時(shí)間序列特征向量。
12、可選的,在第一方面的再一種可能的實(shí)現(xiàn)方式中,上述將測試工具生成的日志條目輸入預(yù)設(shè)日志解析器中,生成日志特征向量,還包括:
13、將日志條目輸入預(yù)設(shè)日志解析器中,通過圖神經(jīng)網(wǎng)絡(luò)構(gòu)建日志圖,并根據(jù)日志圖對(duì)日志條目進(jìn)行特征提取,生成日志特征向量。
14、可選的,在第一方面的又一種可能的實(shí)現(xiàn)方式中,上述將測試工具生成的日志條目輸入預(yù)設(shè)日志解析器中,生成日志特征向量之前,還包括:
15、對(duì)差異代碼文件進(jìn)行過濾分析,生成差異版本依賴文件并緩存至本地,其中,差異代碼文件為代碼提交前后存在變更的文件。
16、可選的,在第一方面的另一種可能的實(shí)現(xiàn)方式中,上述對(duì)差異代碼文件進(jìn)行過濾分析,生成差異版本依賴文件并緩存至本地,包括:
17、通過構(gòu)建正則表達(dá)式對(duì)差異代碼文件進(jìn)行過濾或/及分析差異代碼文件的文件擴(kuò)展名,生成差異版本依賴文件并緩存至本地;
18、上述對(duì)差異代碼文件進(jìn)行過濾分析,生成差異版本依賴文件并緩存至本地之后,還包括:
19、對(duì)差異版本依賴文件進(jìn)行分類,判斷差異版本依賴文件的差異類別,并將分類結(jié)果緩存至本地,其中,差異類別包括新增、刪除及修改。
20、可選的,在第一方面的再一種可能的實(shí)現(xiàn)方式中,上述方法還包括:
21、將異常日志對(duì)應(yīng)的日志特征向量輸入預(yù)設(shè)大模型中,生成異常日志對(duì)應(yīng)的解決方案;
22、上述將故障原因與本地緩存的差異版本依賴文件進(jìn)行匹配,確定差異版本依賴文件中與故障原因?qū)?yīng)的故障代碼之后,還包括:
23、將異常日志、異常日志對(duì)應(yīng)的故障代碼及解決方案保存至本地故障文件;
24、上述將異常日志及異常日志對(duì)應(yīng)的故障代碼發(fā)送至測試人員,進(jìn)行故障預(yù)警,包括:
25、創(chuàng)建定時(shí)預(yù)警任務(wù),讀取本地故障文件中文本內(nèi)容,并將文本內(nèi)容發(fā)送至測試人員,進(jìn)行故障預(yù)警。
26、第二方面,本技術(shù)還提供了一種代碼故障預(yù)警裝置,包括:第一生成模塊,用于將測試工具生成的日志條目輸入預(yù)設(shè)日志解析器中,生成日志特征向量;第一確定模塊,用于對(duì)日志特征向量進(jìn)行識(shí)別,確定異常日志;第二生成模塊,用于將異常日志對(duì)應(yīng)的日志特征向量輸入預(yù)設(shè)大模型中,生成異常日志對(duì)應(yīng)的故障原因;第二確定模塊,用于將故障原因與本地緩存的差異版本依賴文件進(jìn)行匹配,確定差異版本依賴文件中與故障原因?qū)?yīng)的故障代碼,其中,差異版本依賴文件為代碼提交前后存在變更的版本依賴文件;預(yù)警模塊,用于將異常日志及異常日志對(duì)應(yīng)的故障代碼發(fā)送至測試人員,進(jìn)行故障預(yù)警。
27、在第二方面的一種可能的實(shí)現(xiàn)方式中,上述第一生成模塊,包括:
28、識(shí)別單元,用于將日志條目輸入預(yù)設(shè)日志解析器,識(shí)別日志條目的日志格式;
29、提取單元,用于提取日志條目中的各個(gè)組件;
30、轉(zhuǎn)換單元,用于將各個(gè)組件轉(zhuǎn)換為特征向量;
31、第一生成單元,用于對(duì)各個(gè)組件對(duì)應(yīng)的特征向量進(jìn)行拼接,生成日志特征向量。
32、可選的,在第二方面的另一種可能的實(shí)現(xiàn)方式中,上述組件包括日志級(jí)別組件、文本組件及時(shí)間組件,上述特征向量包括數(shù)值特征向量、文本特征向量及時(shí)間序列特征向量;相應(yīng)的,上述轉(zhuǎn)換單元,具體用于:
33、當(dāng)組件包括日志級(jí)別組件時(shí),將日志級(jí)別組件轉(zhuǎn)換為數(shù)值特征向量;
34、當(dāng)組件包括文本組件時(shí),通過預(yù)設(shè)詞嵌入模型,將文本組件轉(zhuǎn)換為文本特征向量;
35、當(dāng)組件包括時(shí)間組件時(shí),將時(shí)間組件轉(zhuǎn)換為時(shí)間序列特征向量。
36、可選的,在第二方面的再一種可能的實(shí)現(xiàn)方式中,上述第一生成模塊,還包括:
37、第二生成單元,用于將日志條目輸入預(yù)設(shè)日志解析器中,通過圖神經(jīng)網(wǎng)絡(luò)構(gòu)建日志圖,并根據(jù)日志圖對(duì)日志條目進(jìn)行特征提取,生成日志特征向量。
38、可選的,在第二方面的又一種可能的實(shí)現(xiàn)方式中,上述代碼故障預(yù)警裝置,還包括:
39、第三生成模塊,用于對(duì)差異代碼文件進(jìn)行過濾分析,生成差異版本依賴文件并緩存至本地,其中,差異代碼文件為代碼提交前后存在變更的文件。
40、可選的,在第二方面的另一種可能的實(shí)現(xiàn)方式中,上述第三生成模塊,包括:
41、第三生成單元,用于通過構(gòu)建正則表達(dá)式對(duì)差異代碼文件進(jìn)行過濾或/及分析差異代碼文件的文件擴(kuò)展名,生成差異版本依賴文件并緩存至本地;
42、上述代碼故障預(yù)警裝置,還包括:
43、緩存模塊,用于對(duì)差異版本依賴文件進(jìn)行分類,判斷差異版本依賴文件的差異類別,并將分類結(jié)果緩存至本地,其中,差異類別包括新增、刪除及修改。
44、可選的,在第二方面的再一種可能的實(shí)現(xiàn)方式中,上述代碼故障預(yù)警裝置,還包括:
45、第四生成模塊,用于將異常日志對(duì)應(yīng)的日志特征向量輸入預(yù)設(shè)大模型中,生成異常日志對(duì)應(yīng)的解決方案;
46、保存模塊,用于將異常日志、異常日志對(duì)應(yīng)的故障代碼及解決方案保存至本地故障文件;
47、上述預(yù)警模塊,包括:
48、預(yù)警單元,用于創(chuàng)建定時(shí)預(yù)警任務(wù),讀取本地故障文件中文本內(nèi)容,并將文本內(nèi)容發(fā)送至測試人員,進(jìn)行故障預(yù)警。
49、第三方面,本技術(shù)還提供了一種終端設(shè)備。該終端設(shè)備包括存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器中并可在處理器上運(yùn)行的計(jì)算機(jī)程序。處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述第一方面任意一種實(shí)現(xiàn)方式的方法。
50、第四方面,本技術(shù)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面任意一種實(shí)現(xiàn)方式的方法。
51、第五方面,本技術(shù)還提供了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)計(jì)算機(jī)程序產(chǎn)品在電子設(shè)備上運(yùn)行時(shí),使得電子設(shè)備執(zhí)行上述第一方面任意一種實(shí)現(xiàn)方式的方法。
52、本技術(shù)實(shí)施例與現(xiàn)有技術(shù)相比存在的有益效果是:通過對(duì)日志條目進(jìn)行解析識(shí)別,確定異常日志,又將異常日志輸入大模型中,生成故障原因,并將故障原因、故障代碼發(fā)送至測試人員進(jìn)行主動(dòng)預(yù)警,提升了當(dāng)依賴文件出現(xiàn)問題時(shí)代碼故障預(yù)警的準(zhǔn)確性,且降低了維護(hù)成本,從而提高了代碼執(zhí)行效率及產(chǎn)品質(zhì)量。