[發明專利]客戶端程序數據采集方法及系統在審
| 申請號: | 201810784703.6 | 申請日: | 2018-07-17 |
| 公開(公告)號: | CN109063040A | 公開(公告)日: | 2018-12-21 |
| 發明(設計)人: | 聞立杰;李肖赫 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩;吳歡燕 |
| 地址: | 100084 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 客戶端程序 目標函數 調用 采集 函數調用信息 函數調用 獲取數據 目標功能 數據采集 反射 客戶端界面 定義函數 定義目標 功能調用 函數執行 重新執行 返回 篩選 記錄 | ||
1.一種客戶端程序數據采集方法,其特征在于,包括:
執行客戶端程序的目標功能,并在執行過程中記錄獲得函數調用信息,所述目標功能是與所述客戶端程序獲取數據相關的功能;
對所述函數調用信息中的各函數進行篩選,獲得與獲取數據相關的目標函數,并定義所述目標函數的函數調用邏輯;
根據所述函數調用邏輯,采用反射調用的方式依次調用各所述目標函數,獲得所述目標函數的返回值。
2.根據權利要求1所述的方法,其特征在于,所述函數調用信息包括函數調用參數;相應地,所述對所述函數調用信息中的各函數進行篩選,獲得與獲取數據相關的目標函數,包括:
對所述函數調用信息中的各函數進行初步篩選,去除與所述目標功能無關的所述函數;
根據每個所述函數對應的所述函數調用參數,對所述函數進行篩選,獲得所述目標函數。
3.根據權利要求2所述的方法,其特征在于,所述函數調用信息包括函數調用日志,所述函數調用參數包括函數的類名;
相應地,所述對所述函數調用信息中的各函數進行初步篩選,去除與所述目標功能無關的所述函數,包括:
若判斷獲知所述函數的調用次數與所述函數在所述函數調用日志的出現次數不匹配,則去除所述函數;和/或,
若判斷獲知所述函數的類名與預先設置的無關函數類名庫中的類名相匹配,則去除所述函數。
4.根據權利要求2所述的方法,其特征在于,所述根據每個所述函數對應的所述函數調用信息,對所述函數進行篩選之前,還包括:
建立調用關系二叉樹,所述調用關系二叉樹用于指示經過初步篩選后的所述函數的調用關系。
5.根據權利要求1所述的方法,其特征在于,所述定義所述目標函數的函數調用邏輯,包括:
若判斷獲知所述目標函數在反射調用時需要目標參數,則獲取所述目標函數的目標參數;
根據多個所述目標函數的調用流程設置多個所述目標函數的執行順序,并為在反射調用時需要所述目標參數的所述目標函數設置所述目標參數,生成所述函數調用邏輯。
6.根據權利要求5所述的方法,其特征在于,所述獲取所述目標函數的調用參數,包括:
若所述客戶端為Java客戶端,則通過字節碼插樁法獲取所述調用參數。
7.一種客戶端程序數據采集系統,其特征在于,包括:
記錄模塊,用于執行客戶端程序的目標功能,并在執行過程中記錄獲得函數調用信息,所述目標功能是與所述客戶端程序獲取數據相關的功能;
篩選模塊,用于對所述函數調用信息中的各函數進行篩選,獲得與獲取數據相關的目標函數,并定義所述目標函數的函數調用邏輯;
調用模塊,用于根據所述函數調用邏輯,采用反射調用的方式依次調用各所述目標函數,獲得所述目標函數的返回值。
8.根據權利要求7所述的系統,其特征在于,所述函數調用信息包括函數調用參數;相應地,所述篩選模塊,包括:
第一篩選單元,用于對所述函數調用信息中的各函數進行初步篩選,去除與所述目標功能無關的所述函數;
第二篩選單元,用于根據每個所述函數對應的所述函數調用參數,對所述函數進行篩選,獲得所述目標函數。
9.一種電子設備,其特征在于,包括:
至少一個處理器;
以及與所述處理器通信連接的至少一個存儲器,其中:
所述存儲器存儲有可被所述處理器執行的程序指令,所述處理器調用所述程序指令能夠執行如權利要求1至7任一所述的方法。
10.一種非暫態計算機可讀存儲介質,其特征在于,所述非暫態計算機可讀存儲介質存儲計算機指令,所述計算機指令使所述計算機執行如權利要求1至7任一所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810784703.6/1.html,轉載請聲明來源鉆瓜專利網。





