[發(fā)明專利]基于字節(jié)碼注入的代碼故障分析方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 202011128519.X | 申請日: | 2020-10-21 |
| 公開(公告)號: | CN112181784A | 公開(公告)日: | 2021-01-05 |
| 發(fā)明(設(shè)計)人: | 黃俊文;楊卓俊;陸斌;項旗立 | 申請(專利權(quán))人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F11/34;G06F11/36 |
| 代理公司: | 北京三友知識產(chǎn)權(quán)代理有限公司 11127 | 代理人: | 任默聞;孫乳筍 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 字節(jié) 注入 代碼 故障 分析 方法 系統(tǒng) | ||
本發(fā)明提供了一種基于字節(jié)碼注入的代碼故障分析方法及系統(tǒng),所述方法包含:通過字節(jié)碼技術(shù)監(jiān)控程序運行,采集程序運行時的代碼運行邏輯數(shù)據(jù)、性能監(jiān)控數(shù)據(jù)和日志數(shù)據(jù);根據(jù)所述代碼運行邏輯數(shù)據(jù)、所述性能監(jiān)控數(shù)據(jù)和所述日志數(shù)據(jù)獲得程序監(jiān)控數(shù)據(jù)矩陣,利用預(yù)設(shè)周期內(nèi)的多個所述程序監(jiān)控數(shù)據(jù)矩陣通過卷積神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練構(gòu)建程序分析模型;獲取程序故障狀態(tài)下的性能監(jiān)控數(shù)據(jù)和日志數(shù)據(jù),根據(jù)性能監(jiān)控數(shù)據(jù)和日志數(shù)據(jù)通過所述程序分析模型獲得代碼運行邏輯數(shù)據(jù),根據(jù)代碼運行邏輯數(shù)據(jù)定位代碼故障發(fā)生位置。
技術(shù)領(lǐng)域
本發(fā)明涉及程序監(jiān)測領(lǐng)域,可適用于金融領(lǐng)域和其他領(lǐng)域,尤指一種基于字節(jié)碼注入的代碼故障分析方法及系統(tǒng)。
背景技術(shù)
隨著軟件系統(tǒng)的不斷演進,軟件系統(tǒng)愈發(fā)成熟,IT行業(yè)在各個領(lǐng)域都在走向普遍化和智能化。用戶需求也呈現(xiàn)爆炸式的增長,隨便快速交付,devops等理念的提出,傳統(tǒng)的一個季度或者一個月度更新的月季度系統(tǒng)版本更新已經(jīng)無法滿足日益增長的用戶需求。快速的迭代交付模式下,在測試人員比例下降,但是對于軟件的穩(wěn)定性,可靠性卻有了更高的要求。對系統(tǒng)的分析診斷提出了更高的要求。如何在測試環(huán)境能夠高效的分析系統(tǒng)程序,并自動化的提供整改建議。快速定位程序問題,優(yōu)化程序結(jié)構(gòu)和性能是一個很好的優(yōu)化軟件設(shè)計結(jié)構(gòu)方向。這不僅可以加快研發(fā)測試效能,也可以提升開發(fā)測試能力輸出。
當(dāng)一個開發(fā)階段進入測試流程時,才會暴露出很多的程序問題。當(dāng)出現(xiàn)功能流程問題時,開發(fā)一般需要跟具日志去分析問題原因,如果遇到的是一些專項性問題,比如性能測試問題,安全測試問題。一般定位問題都需要花費較長的周期和時間去找出問題的所在原因。這往往需要花費大量的時間和成本,由于開發(fā)人員測試人員的技術(shù)能力參差不齊。對于一些技術(shù)性難題,目前都是靠個人經(jīng)驗技術(shù)經(jīng)驗去進行一些技術(shù)分析解決,如打javacore和heapdump,查詢技術(shù)資料定位問題。人員成熟度不高的團隊就更難解決較為復(fù)雜的代碼問題。
綜上,目前沒有合理高效的解決代碼分析定位修復(fù)這個問題的方案,因此,如何提供一種新的方案,是否能從技術(shù)方法去解決上述問題是本領(lǐng)域亟待解決的技術(shù)難題。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種基于字節(jié)碼注入的代碼故障分析方法,幫助工作惹怒愛快速定位問題代碼。
為達(dá)上述目的,本發(fā)明所提供的基于字節(jié)碼注入的代碼故障分析方法,具體包含:通過字節(jié)碼技術(shù)監(jiān)控程序運行,采集程序運行時的代碼運行邏輯數(shù)據(jù)、性能監(jiān)控數(shù)據(jù)和日志數(shù)據(jù);根據(jù)所述代碼運行邏輯數(shù)據(jù)、所述性能監(jiān)控數(shù)據(jù)和所述日志數(shù)據(jù)獲得程序監(jiān)控數(shù)據(jù)矩陣,利用預(yù)設(shè)周期內(nèi)的多個所述程序監(jiān)控數(shù)據(jù)矩陣通過卷積神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練構(gòu)建程序分析模型;獲取程序故障狀態(tài)下的性能監(jiān)控數(shù)據(jù)和日志數(shù)據(jù),根據(jù)性能監(jiān)控數(shù)據(jù)和日志數(shù)據(jù)通過所述程序分析模型獲得代碼運行邏輯數(shù)據(jù),根據(jù)代碼運行邏輯數(shù)據(jù)定位代碼故障發(fā)生位置。
在上述基于字節(jié)碼注入的代碼故障分析方法中,優(yōu)選的,通過字節(jié)碼技術(shù)監(jiān)控程序運行包含:通過將agent程序部署于待監(jiān)控的程序中執(zhí)行監(jiān)控程序運行。
在上述基于字節(jié)碼注入的代碼故障分析方法中,優(yōu)選的,根據(jù)所述代碼運行邏輯數(shù)據(jù)、所述性能監(jiān)控數(shù)據(jù)和所述日志數(shù)據(jù)獲得程序監(jiān)控數(shù)據(jù)矩陣包含:對所述代碼運行邏輯數(shù)據(jù)、所述性能監(jiān)控數(shù)據(jù)和所述日志數(shù)據(jù)進行預(yù)定規(guī)則的清洗處理;根據(jù)特征值對清洗后的所述代碼運行邏輯數(shù)據(jù)、所述性能監(jiān)控數(shù)據(jù)和所述日志數(shù)據(jù)進行數(shù)值結(jié)構(gòu)化處理生成程序監(jiān)控數(shù)據(jù)矩陣。
在上述基于字節(jié)碼注入的代碼故障分析方法中,優(yōu)選的,根據(jù)性能監(jiān)控數(shù)據(jù)和日志數(shù)據(jù)通過所述程序分析模型獲得代碼運行邏輯數(shù)據(jù),根據(jù)代碼運行邏輯數(shù)據(jù)定位代碼故障發(fā)生位置包含:根據(jù)性能監(jiān)控數(shù)據(jù)和日志數(shù)據(jù)通過所述程序分析模型獲得程序正常狀態(tài)下的代碼運行邏輯數(shù)據(jù);比較程序正常狀態(tài)下和故障狀態(tài)下的代碼運行邏輯數(shù)據(jù),獲得代碼故障發(fā)生位置。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國工商銀行股份有限公司,未經(jīng)中國工商銀行股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011128519.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





