[發明專利]一種基于Spark的大規模數據流分析方法及系統有效
| 申請號: | 202110711332.0 | 申請日: | 2021-06-25 |
| 公開(公告)號: | CN113434548B | 公開(公告)日: | 2022-06-17 |
| 發明(設計)人: | 計衛星;張宗毓;景德江;王一拙;高玉金;石峰 | 申請(專利權)人: | 北京理工大學 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/2458;G06F9/54 |
| 代理公司: | 北京東方盛凡知識產權代理事務所(普通合伙) 11562 | 代理人: | 張雪 |
| 地址: | 100081 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 spark 大規模 數據流 分析 方法 系統 | ||
本發明公開一種基于Spark的大規模數據流分析方法及系統,方法包括,基于Spark構建分布式計算框架,通過分布式計算框架對目標代碼進行分布式數據流分析,其中,分布式數據流分析,包括,過程內預處理階段,分布式過程間數據整合階段;系統包括,數據采集模塊,數據處理模塊,數據分析模塊,數據存儲模塊,數據顯示模塊;本發明采取兩級并行策略,多入口地進行并行計算,具有高度的可擴展性,同時考慮了分布式計算的負載均衡問題,能夠充分利用分布式集群算力優勢,加速靜態數據流分析。
技術領域
本發明涉及代碼數據流分析領域,具體涉及一種基于Spark的大規模數據流分析方法及系統。
背景技術
隨著軟件不斷發展迭代,軟件規模也在飛速增長,隨之而來的問題就是軟件漏洞也逐漸增多。大規模(百萬行)的程序中由于存在復雜的過程間調用,大大增加了整體分析的時間和難度。而且過程間數據流分析需要通過上下文敏感來保證分析的有效性,因此需要產生和保留許多不同的調用上下文。然而隨著程序規模的不斷增加,使得分析時計算和內存資源吃緊。因此大規模程序的靜態分析尤其是數據流分析當前仍然是一個很有挑戰性的問題。針對這種現狀,急需一種分布式大規模代碼數據流分析算法,滿足上述的技術需求。
發明內容
本發明的目的在于在當前的軟件規模日漸增大的環境下,充分利用分布式的計算資源,準確而又快速的完成對于百萬行甚至是千萬行級別代碼量的程序的分析。
根據上述技術目的,本發明提供了一種基于Spark的大規模數據流分析方法,包括以下步驟:
基于Spark構建分布式計算框架,通過分布式計算框架對目標代碼進行分布式數據流分析,其中,
分布式數據流分析,包括,
分布式過程內預處理階段:將分布式數據集在計算節點的任務執行器中并行地進行所有函數的過程內數據流計算;
分布式過程間數據整合階段:利用過程間調用信息迭代地更新過程內現有的數據流狀態。當數據流狀態穩定時停止迭代。
優選地,Master節點對目標代碼進行單機分析,創建過程間調用圖和過程內控制流圖。
優選地,在對目標代碼進行單機分析后,基于分布式數據流分析任務集合,通過對分布式過程的函數級別進行任務劃分,構建分布式數據集。
將所述分布式數據集分發到若干個所述計算節點,并通過廣播方式,傳輸函數控制流圖集合到若干個所述計算節點的所述任務執行器中并行計算;其中,在廣播的過程中,對分布式數據集進行裁剪,舍棄與計算無關的部分。
優選地,在基于Spark構建分布式計算框架的過程中,基于函數任務集合構建Spark的RDD。
優選地,在分布式過程間數據整合階段中,Master節點將計算任務委派給分布式計算框架的Slaves集群,分布式計算框架的Redis集群通過與Slaves集群進行數據交互,獲得集群計算結果,其中,Master節點用于對分布式計算框架進行全局控制,Slaves集群用于任務計算與結果返回,Redis集群用于通過在分布式環境中實現內存的共享,實現整個計算集群的狀態一致。
優選地,在分布式環境中,對于中間數據流邊保存,使用基于內存的分布式數據庫Redis作為緩存,分布式計算框架生成的數據流邊存儲到分布式數據庫Redis中。
一種基于Spark的大規模數據流分析系統,包括,
數據采集模塊,用于獲得目標代碼;
數據處理模塊,用于通過構建分布式計算框架,根據目標代碼獲得分布式數據集;
數據分析模塊,用于根據分布式數據集進行并行分布式計算,獲得目標代碼的數據流分析結果;
數據存儲模塊,用于存儲中間數據流分析結果;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京理工大學,未經北京理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110711332.0/2.html,轉載請聲明來源鉆瓜專利網。





