[發明專利]代碼質量評估方法及裝置有效
| 申請號: | 202010730407.5 | 申請日: | 2020-07-27 |
| 公開(公告)號: | CN111930615B | 公開(公告)日: | 2023-08-04 |
| 發明(設計)人: | 陳肇權;王雨超;馬澤政;黃裕建 | 申請(專利權)人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京三友知識產權代理有限公司 11127 | 代理人: | 單曉雙;董驍毅 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 質量 評估 方法 裝置 | ||
1.一種代碼質量評估方法,其特征在于,所述方法包括:
提取生產日志中涉及數據庫操作的日志片段,將所述日志片段解析為數據庫訪問行為的結構化行為描述信息;
利用聚類算法,對數據庫訪問行為的結構化行為描述信息進行聚類,確定數據庫中各字段的查詢頻度及字段組合的查詢頻度;
采集并分析所述數據庫的多維度數據特征,確定所述數據庫中各字段不同取值對應的區分度;
根據所述各字段的查詢頻度、字段組合的查詢頻度及所述區分度,對數據庫操作代碼進行質量評估;
其中,所述提取生產日志中涉及數據庫操作的日志片段,將所述日志片段解析為數據庫訪問行為的結構化行為描述信息包括:
獲取生產日志,所述生產日志包括業務日志及中間件日志;根據關鍵要素,提取所述生產日志中涉及數據庫操作的日志片段,所述關鍵要素包括訪問的表、條件篩選的字段及篩選字段的取值;將所述日志片段解析為數據庫訪問行為的結構化行為描述信息;
或者,所述結構化行為描述信息還可以通過以下步驟獲得:
遍歷待評估工程的源碼文件,將所述源碼文件解析為抽象語法樹;遍歷所述抽象語法樹,提取所述待評估工程中涉及數據庫操作的代碼片段;將所述代碼片段解析為結構化的代碼片段行為描述信息。
2.根據權利要求1所述的方法,其特征在于,所述采集并分析所述數據庫的多維度數據特征,確定所述數據庫中各字段不同取值對應的區分度包括:
根據預設采集規則,采集多維度數據特征,所述多維度數據特征包括數據庫總數據量、每日增量、字段組成、索引組成及索引數據分布;
利用所述多維度數據特征,統計所述數據庫中各字段不同取值對應的區分度。
3.根據權利要求1所述的方法,其特征在于,所述根據所述各字段的查詢頻度、字段組合的查詢頻度及所述區分度,對數據庫操作代碼進行質量評估包括:
利用所述代碼片段行為描述信息、所述各字段的查詢頻度及字段組合的查詢頻度,確定條件熱度估值;
根據所述條件熱度估值及其對應的預設質量閾值,對數據庫操作代碼進行質量評估。
4.根據權利要求1所述的方法,其特征在于,所述根據所述各字段的查詢頻度、字段組合的查詢頻度及所述區分度,對數據庫操作代碼進行質量評估包括:
利用所述代碼片段行為描述信息及所述區分度,確定條件區分度估值;
根據所述條件區分度估值及其對應的預設質量閾值,對數據庫操作代碼進行質量評估。
5.一種代碼質量評估裝置,其特征在于,所述裝置包括:
日志挖掘模塊,用于提取生產日志中涉及數據庫操作的日志片段,將所述日志片段解析為數據庫訪問行為的結構化行為描述信息;
聚類計算模塊,用于利用聚類算法,對數據庫訪問行為的結構化行為描述信息進行聚類,確定數據庫中各字段的查詢頻度及字段組合的查詢頻度;
區分度確定模塊,用于采集并分析所述數據庫的多維度數據特征,確定所述數據庫中各字段不同取值對應的區分度;
質量評估模塊,用于根據所述各字段的查詢頻度、字段組合的查詢頻度及所述區分度,對數據庫操作代碼進行質量評估;
其中,所述日志挖掘模塊包括:日志獲取單元,用于獲取生產日志,所述生產日志包括業務日志及中間件日志;片段選取單元,用于根據關鍵要素,提取所述生產日志中涉及數據庫操作的日志片段,所述關鍵要素包括訪問的表、條件篩選的字段及篩選字段的取值;日志解析單元,用于將所述日志片段解析為數據庫訪問行為的結構化行為描述信息;
或者,裝置還包括:行為描述信息模塊,用于遍歷待評估工程的源碼文件,將所述源碼文件解析為抽象語法樹;遍歷所述抽象語法樹,提取所述待評估工程中涉及數據庫操作的代碼片段;將所述代碼片段解析為結構化的代碼片段行為描述信息。
6.根據權利要求5所述的裝置,其特征在于,所述區分度確定模塊包括:
數據特征采集單元,用于根據預設采集規則,采集多維度數據特征,所述多維度數據特征包括數據庫總數據量、每日增量、字段組成、索引組成及索引數據分布;
區分度確定單元,用于利用所述多維度數據特征,統計所述數據庫中各字段不同取值對應的區分度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國工商銀行股份有限公司,未經中國工商銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010730407.5/1.html,轉載請聲明來源鉆瓜專利網。





