[發明專利]基于JAVA的項目源碼掃描分析方法、系統及存儲介質在審
| 申請號: | 202011362102.X | 申請日: | 2020-11-27 |
| 公開(公告)號: | CN112416787A | 公開(公告)日: | 2021-02-26 |
| 發明(設計)人: | 劉鑫宇;劉浩;馮輝 | 申請(專利權)人: | 平安普惠企業管理有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F16/22;G06F16/2455;G06F16/2458 |
| 代理公司: | 北京鴻元知識產權代理有限公司 11327 | 代理人: | 王守梅;袁文婷 |
| 地址: | 518000 廣東省深圳市前海深港合作區前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 java 項目 源碼 掃描 分析 方法 系統 存儲 介質 | ||
本發明涉及大數據處理技術,揭露了一種基于JAVA的項目源碼掃描分析方法,方法包括通過前端線程、后端線程和SQL線程,多線程并行掃描所述項目源碼文件的項目源碼,以獲取所需的關鍵信息;對所獲取的關鍵信息進行數據結構處理生成數據對象,并對所生成的數據對象進行持久化存儲;根據不同的統計分析需求,對所持久化存儲的數據庫數據以及JSON文件,編寫制定相應的數據統計邏輯,生成分析結果。本發明還涉及區塊鏈技術,數據存儲于區塊鏈中,本發明的項目源碼分析方法可以實現關聯數據庫,還可以獲取足夠的項目信息,并將分析結果進行多形式的展現,達到了提升源碼分析效率的技術效果。
技術領域
本發明涉及大數據處理,尤其涉及一種基于JAVA的項目源碼掃描分析方法、系統及存儲介質。
背景技術
在代碼流量較大的項目中,如果進行項目代碼分析,需要通過加載開發環境IDE并完成配置,再進行IDE編譯后,才可以查詢查看Java項目代碼分析和查看調用關系;如果借助第三方工具(比如firebug等工具)進行質量排查,但是排查也僅限于獨立代碼的編碼合法性和合規性的校驗,并不包含版本對類、方法、變量的被調用情況的動態統計。排查的片面性導致項目代碼可用性分析結果具有很大局限性。
現有的代碼掃描工具存在的弊端如下:
1)只能根據字節碼或源碼掃描,無法對代碼的結構進行分析、記錄和輸出;
2)只能對項目代碼的單個類進行合規性判斷,無法對關聯項目進行聯動判斷,也無法對整個項目代碼生成關系圖譜。
所以,亟需一種可以實現對代碼進行全面掃描分析的代碼分析方法。
發明內容
本發明提供一種基于JAVA的項目源碼掃描分析方法、系統及計算機可讀存儲介質,其主要解決了代碼分析與數據庫無關聯的問題。
為實現上述目的,本發明提供一種基于JAVA的項目源碼掃描分析方法,應用于電子裝置,方法包括:
獲取項目源碼文件;
多線程并行掃描所述項目源碼文件的項目源碼,以獲取所需的關鍵信息;其中,多線程包括前端線程、后端線程和SQL線程,所述關鍵信息至少包括點擊或者跳轉事件組件編號、事件內容描述信息、文件中的常量類信息以及操作數據表、字段、操作類型信息;
對所獲取的關鍵信息進行數據結構處理生成數據對象,并對所生成的數據對象進行持久化存儲;其中,所述持久化存儲包括直接存儲為數據庫數據和存儲為JSON文件;
根據不同的統計分析需求,對所持久化存儲的數據庫數據以及JSON文件,編寫制定相應的數據統計邏輯,生成分析結果。
進一步,可選的,在獲取項目源碼文件步驟之后,還包括:
判斷是否有網絡或數據庫;
若確定沒有數據庫或網絡時,則按照預設的依賴關系執行順序,將緩存在本地的JSON文件加載后進行遍歷篩選和匹配;
重新生成B+樹結構的數據對象,將重新生成的B+樹結構的數據對象持久化存儲為JSON文件;
對所存儲的JSON文件,根據不同的統計分析需求,對所述JSON文件編寫制定相應的數據統計邏輯,生成分析結果。
進一步,可選的,所述預設的依賴關系執行順序依次為前端HTML/JS/JSP文件、后端JAVA文件以及SQL文件。
進一步,可選的,所述多線程并行掃描所述項目源碼文件的項目源碼的步驟包括:
將所獲取的項目源碼文件進行遞歸遍歷,并動態識別所述項目源碼文件的類型;
根據項目源碼文件的類型進行相應規則的掃描。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于平安普惠企業管理有限公司,未經平安普惠企業管理有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011362102.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:超高、超大空間斜筒柱的建造方法
- 下一篇:一種可攜帶的藥草采集收納裝置





