[發明專利]程序數據流的分析方法、裝置、電子設備及可讀存儲介質在審
| 申請號: | 202110694741.4 | 申請日: | 2021-06-22 |
| 公開(公告)號: | CN113419740A | 公開(公告)日: | 2021-09-21 |
| 發明(設計)人: | 何子南;王凱;邢培康;李炯 | 申請(專利權)人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 李春偉 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序 數據流 分析 方法 裝置 電子設備 可讀 存儲 介質 | ||
1.一種程序數據流的分析方法,包括:
構建解析模塊,所述解析模塊用于對所述程序數據流的源代碼進行解析;
調用所述解析模塊對目標程序數據流的源代碼進行處理,生成第一信息;
序列化所述第一信息以生成序列化對象,將所述序列化對象持久化;
識別所述序列化對象的語法信息,并根據所述語法信息確定所述序列化對象涉及的變量和/或關聯變量信息;
根據所述變量和/或關聯變量信息生成程序數據流分析鏈表,所述程序數據流分析鏈表用于表示目標程序數據流在程序中的使用和存儲關系。
2.根據權利要求1所述的分析方法,其中,所述解析模塊包括策略鏈和多個解析器,所述多個解析器設置在所述策略鏈上;
所述解析器用于對所述程序數據流的源代碼的語法進行解析。
3.根據權利要求2所述的分析方法,其中,所述第一信息包括第一子信息和第二子信息;
所述調用所述解析模塊對目標程序數據流的源代碼進行處理,生成第一信息包括:
依次調用所述策略鏈上的解析器對所述目標程序數據流的源代碼的語法進行逐句的語法解析;
若所述解析器能夠識別所述語法,則生成所述第一子信息;
若所述解析器無法識別所述語法,則生成所述第二子信息,所述第二子信息包括所述目標程序數據流的源代碼。
4.根據權利要求3所述的分析方法,其中,所述序列化所述第一信息以生成序列化對象,將所述序列化對象持久化包括:
序列化所述第一子信息生成第一序列化對象,將所述第一序列化對象使用一般類存儲持久化;
其中,所述第一序列化對象包括項目對象、記錄對象、函數對象以及結構化查詢語言對象中的一種或多種。
5.根據權利要求4所述的分析方法,其中,所述識別所述序列化對象的語法信息,并根據所述語法信息確定所述序列化對象涉及的變量和/或關聯變量信息包括:
識別所述第一序列化對象的語法類型,獲取與所述語法類型相對應的變量,若獲取的所述變量中包括需要跟蹤的跟蹤變量,則獲取所述跟蹤變量的關聯變量信息。
6.根據權利要求5所述的分析方法,其中,所述第一序列化對象包括函數對象,所述語法類型包括賦值語法和調用語法;
所述識別所述第一序列化對象的語法類型,獲取與所述語法類型相對應的變量,若獲取的所述變量中包括需要跟蹤的跟蹤變量,則獲取所述跟蹤變量的關聯變量信息包括:
識別所述函數對象的賦值語法,獲取所述賦值語法的變量和操作符,若所述變量中包括需要跟蹤的跟蹤變量,則獲取所述跟蹤變量的變量數值和傳遞關系;
識別所述函數對象的調用語法,獲取所述調用語法的調用程序信息,若所述調用程序信息中包括需要跟蹤的跟蹤變量,則獲取跟蹤變量的變量數值和傳遞關系。
7.根據權利要求5所述的分析方法,其中,所述第一序列化對象包括結構化查詢語言對象;
所述識別所述第一序列化對象的語法類型,獲取與所述語法類型相對應的變量,若獲取的所述變量中包括需要跟蹤的跟蹤變量,則獲取所述跟蹤變量的關聯變量信息包括:
識別所述結構化查詢語言對象的賦值語句,獲取所述結構化查詢語言對象的賦值語句中的變量,若所述變量包括需要跟蹤的跟蹤變量,則獲取所述跟蹤變量實際操作的數據庫信息。
8.根據權利要求3所述的分析方法,其中,所述序列化所述第一信息以生成序列化對象,將所述序列化對象持久化還包括:
序列化所述第二子信息,生成第二序列化對象,將所述第二序列化對象使用特定類存儲持久化。
9.根據權利要求3所述的分析方法,其中,所述分析方法還包括:構建新解析器以對所述第二子信息進行解析,將所述新解析器添加至所述策略鏈上,以更新所述解析模塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國工商銀行股份有限公司,未經中國工商銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110694741.4/1.html,轉載請聲明來源鉆瓜專利網。





