如何使用Spark/Flink等分布式計算引擎做網絡入侵檢測

如何使用Spark/Flink等分布式計算引擎做網絡入侵檢測

  • 引言
  • 16 Distributed Abnormal Behavior Detection Approach Based on Deep Belief Network and Ensemble SVM Using Spark
  • 17 Spark configurations to optimize decision tree classification on UNSW-NB15
  • 18 A dynamic spark-based classification framework for imbalanced big data
  • 19 A review of big data in network intrusion detection system: Challenges, approaches, datasets, and tools
  • 20 A feature selection method for intrusion detection based on parallel sparrow search algorithm
  • 21 Features dimensionality reduction approaches for machine learning based network intrusion detection
  • 22 A comparison of two hybrid ensemble techniques for network anomaly detection in TEspark distributed environment
  • 23 Real-time network intrusion detection system based on deep learning
  • 24 Online Internet Traffic Monitoring and DDoS Attack Detection Using Big Data Frameworks
  • 25 Machine Learning Solutions for Investigating Streams Data using Distributed Frameworks: Literature Review
  • 26 A comprehensive survey of anomaly detection techniques for high dimensional big data
  • 27 Multi-job Merging Framework and Scheduling Optimization for Apache Flink
  • 28 Machine learning based network intrusion detection for data streaming IoT applications
  • 29 Multiple submodels parallel support vector machine on spark
  • 30 Apache Flink 概要
  • 31 Research on Parallel SVM Algorithm Based on Cascade SVM

?申明: 未經許可,禁止以任何形式轉載,若要引用,請標注鏈接地址。 全文共計3077字,閱讀大概需要3分鐘
🌈更多學習內容, 歡迎👏關注👀【文末】我的個人微信公眾號:不懂開發的程序猿
個人網站:https://jerry-jy.co/

引言

本篇博客是我在做基于Spark/Flink大數據環境下網絡入侵檢測的小論文過程中,閱讀的一些參考文獻,并把我認為對我有用的地方記錄下來,希望也能打開你的研究思路

16 Distributed Abnormal Behavior Detection Approach Based on Deep Belief Network and Ensemble SVM Using Spark

N. Marir, H. Wang, G. Feng, B. Li and M. Jia, “Distributed Abnormal Behavior Detection Approach Based on Deep Belief Network and Ensemble SVM Using Spark,” in IEEE Access, vol. 6, pp. 59657-59671, 2018, doi: 10.1109/ACCESS.2018.2875045.

選擇支持向量機作為多層集成學習的基分類器。與其他機器學習算法相比,它具有良好的泛化性能。特別是,SVM可以解決網絡入侵檢測系統中的二元分類問題。然而,SVM 對于高維網絡流量數據來說是一種高成本且耗時的模型,并且對于不平衡數據中的少數類別表現不佳

17 Spark configurations to optimize decision tree classification on UNSW-NB15

Bagui, Sikha, et al. “Spark configurations to optimize decision tree classification on UNSW-NB15.” Big data and cognitive computing 6.2 (2022): 38.

本文研究了使用大型數據集(UNSW-NB15 數據集)更改 Spark 配置參數對機器學習算法的影響。研究了優化分類過程的環境條件。要構建智能入侵檢測系統,需要深入了解環境參數。具體來說,重點關注以下環境參數:執行器內存、執行器數量、每個執行器的核心數量、執行時間以及對統計指標的影響。因此,目標是使用 Spark 優化資源使用并最大限度地減少決策樹分類的處理時間。這表明額外的資源是否會提高性能、縮短處理時間并優化計算資源。UNSW-NB15 數據集是一個大型數據集,提供足夠的數據和復雜度來查看Spark中計算資源配置的變化。主成分分析用于預處理數據集。結果表明,缺乏執行器和核心會導致資源浪費和處理時間過長。過多的資源分配并沒有改善處理時間。環境調整有顯著的影響

圖 3展示了本工作中使用的總體方法的流程圖。雖然每次都做PCA乍一看有些多余,但由于使用了SparkUI,所以每次都必須完全離開Spark環境。因此,每次都必須重新進行PCA


在這里插入圖片描述


總體結論是,隨著聲明的執行程序內存增加,執行時間減少,但核心數量保持不變。最后,Spark并行環境上的決策樹算法在分類時間、準確率和誤報率方面表現更好。

本文提出了一種基于機器學習算法、基于特征重要性的特征選擇方法和Spark框架相結合的分布式攻擊檢測系統,該系統選擇了最優的特征子集,保證了更高的準確率。提議的方法將在新南威爾士大學-NB 15數據集上進行測試和評價。
我們的工作的主要貢獻可歸納如下:

  1. 將網絡數據集的維數降到最小,同時保證了較好的入侵檢測精度。
  2. 克服了現有解決方案的不足,如不支持海量數據,限制了Apache SPark的可選性(很少選擇),同時也保證了現有大多數ID由于不分布式而缺乏的高可用性。
  3. 與現有工程相比,我們提出的方法更有效、更合適。
    為此目的,本文組織如下。在第二節中,我們介紹了有關ML、FS和ApacheSPark在IDS中的應用的相關工作。在第三節中,在描述了所選擇的數據集(UNSW-NB 15)后,我們介紹了所提出的方法,并對該方法的每一步進行了描述。最后,我們總結了我們的工作,并在第五節中描述了今后的工作。

18 A dynamic spark-based classification framework for imbalanced big data

Abdel-Hamid, Nahla B., et al. “A dynamic spark-based classification framework for imbalanced big data.” Journal of Grid Computing 16 (2018): 607-626.
Synthetic Minority Over-Sampling TEchnique (SMOTE)

在過去的十年中,不平衡大數據的分類引起了許多研究人員的廣泛考慮。標準分類方法對少數類樣本的診斷效果不佳。人們提出了幾種方法來解決大數據中的類不平衡問題,以增強分類的泛化能力。然而,這些方法大多忽略了邊界樣本對分類性能的影響;高影響邊界樣本可能會出現錯誤分類。本文提出了一種基于 Spark 的挖掘框架(SBMF)來解決數據不平衡問題。為此目的設計了兩個主要模塊。第一個是邊界處理模塊 (BHM),它對低影響的多數邊界實例進行欠采樣,并對少數類實例進行過采樣。第二個模塊是選擇性邊界實例采樣(SBI)模塊,它增強了 BHM 模塊的輸出。對 SBMF 框架的性能進行了評估,并與其他最新系統進行了比較。使用具有不同不平衡比的中等和大數據集進行了許多實驗。與最近的工作相比,從 SBMF 框架獲得的結果顯示了不同數據集和分類器的更好性能。

為了緩解班級不平衡的問題,人們做了很多嘗試。合成抽樣技術SMOTE [4]是為解決不平衡數據集的分類問題而發展起來的一種過采樣方法,它通過創建合成的少數類樣本來處理。Smote通過綜合少數民族類的新的樣本,[5]提出了改進SMOTET性能的邊界-平滑算法,比較了多數類的實例數和邊界實例的相鄰少數類的數目,然后對少數民族類的邊界樣本進行了過采樣處理,即在適當的區域內進行插值,證明了邊界平滑比平滑更好。隨著大型數據的出現,對類不平衡提出了不同的挑戰。本文提出了一種基于火花的挖掘框架(SBMF)來解決不平衡的大數據問題。SMACK[6]是一個對大數據進行分布式操作的快速集群計算平臺,它加快了數據分析的過程。


在這里插入圖片描述


在本節中,我們提出了一種基于Spark的MiningFramework SBMF,它充分利用了大數據集的全部特性,而無需犧牲常規順序處理方法中使用的部分數據,從而釋放了SPark的計算能力。SPark提供的分布式計算優勢允許充分利用所有數據集中隱藏的信息,從而有助于提高分類性能。如圖2所示,所提議的SBMF框架由以下五個主要層組成:

預處理層處理原始數據集中可能出現的噪聲或缺失數據,通過一致性檢查模塊檢查數據一致性,檢測和統計每個類中的實例數。另外,將多類數據集轉換為二進制類,確定數據集的不平衡比率,并將類存儲在寄存器類存儲庫中。
采樣應用程序層檢測邊界上的實例并識別它們的類,這一層將在下一節中詳細討論。
數據分類層:設置期望分類器,對模型進行訓練和建模,SBMF可以對大、小、不平衡的數據集進行采樣和分類。SBMF利用輔助選擇器模塊從支持向量機(SVM)、樸素貝葉斯(NB)、判別分析(DA)和隨機森林(RF)四種不同的分類器中進行選擇。在選擇分類器后,在這一層對模型進行訓練和驗證。
性能預測層:進行數據分類并對預測結果進行評價。在這一層中,通過創建一個混淆矩陣來評估分類器的性能,該矩陣的行顯示實際類的實例數,而olumns則顯示預測類的實例數。在此基礎上,計算了接收機工作特性曲線(AUC)、G-均值和f-測度下的面積,并對其進行了評價.預測的類也被存儲。


在這里插入圖片描述


19 A review of big data in network intrusion detection system: Challenges, approaches, datasets, and tools

Alshamy, Reem, and Mossa Ghurab. “A review of big data in network intrusion detection system: Challenges, approaches, datasets, and tools.” Journal of Computer Sciences and Engineering 8.7 (2020): 62-74.

?侵檢測是指披露試圖損害資源的機密性、完整性或可?性的?為[4]。?侵檢測系統(IDS)是?絡安全最基本的考慮因素,可以在攻擊之前和/或之后檢測?侵。第?個使? IDS 術語的是 20 世紀 70 年代末和 80 年代初的 James Anderson[5]。 IDS可以定義為?種?侵檢測過程,旨在發現計算機?絡中違反安全策略的事件,它通常位于?絡內部以監視所有內部流量[6]。

20 A feature selection method for intrusion detection based on parallel sparrow search algorithm

Chen, Hongwei, Xin Ma, and Song Huang. “A feature selection method for intrusion detection based on parallel sparrow search algorithm.” 2021 16th International Conference on Computer Science & Education (ICCSE). IEEE, 2021.


在這里插入圖片描述


在這里插入圖片描述


21 Features dimensionality reduction approaches for machine learning based network intrusion detection

Abdulhammed, Razan, et al. “Features dimensionality reduction approaches for machine learning based network intrusion detection.” Electronics 8.3 (2019): 322.


在這里插入圖片描述

在這里插入圖片描述


22 A comparison of two hybrid ensemble techniques for network anomaly detection in TEspark distributed environment

Kaur, Gagandeep. “A comparison of two hybrid ensemble techniques for network anomaly detection in TEspark distributed environment.” Journal of Information Security and Applications 55 (2020): 102601.


在這里插入圖片描述


23 Real-time network intrusion detection system based on deep learning

Dong, Yuansheng, Rong Wang, and Juan He. “Real-time network intrusion detection system based on deep learning.” 2019 IEEE 10th International Conference on Software Engineering and Service Science (ICSESS). IEEE, 2019.


在這里插入圖片描述


在這里插入圖片描述


在這里插入圖片描述


24 Online Internet Traffic Monitoring and DDoS Attack Detection Using Big Data Frameworks

B. Zhou, J. Li, Y. Ji and M. Guizani, “Online Internet Traffic Monitoring and DDoS Attack Detection Using Big Data Frameworks,” 2018 14th International Wireless Communications & Mobile Computing Conference (IWCMC), Limassol, Cyprus, 2018, pp. 1507-1512, doi: 10.1109/IWCMC.2018.8450335.

隨著互聯網流量的增長,傳統的單機網絡分析方法已經不再適用。現有方法利用大數據框架來提高處理效率。然而,這些方法主要集中于離線數據分析。在本文中,我們提出了一種利用 Spark Streaming 和 Flink 的在線互聯網流量監控框架。具體來說,我們基于我們的系統實現了兩個典型的用例,即TCP性能監控和DDoS攻擊檢測。我們證明了互聯網測量和監控可以被視為流分析問題,并且可以通過流處理平臺進行處理。

大量的實驗結果表明,當輸入流速率較低時,Flink 的處理速度比 Spark Streaming 更快,但吞吐量也較低。我們可以通過增加批量大小來增加 Spark Streaming 的最大吞吐量。

本文提出了流處理入侵檢測解決方案概念的一種新方法,該解決方案允許集成各種組件。它是我們先前工作[15]的擴展。解決方案能夠在Kafka主題中創建流,并實現許多機器學習算法中的一種,提供適當的警報或視圖/可視化,然后將結果傳輸到數據庫中。使用基于NetFlow的特性具有許多優點,例如減少執行網絡入侵檢測所需的處理負載。NetFlow還提供了比深度包檢查更大的隱私。NetFlow還提供網絡數據包的全面覆蓋。

25 Machine Learning Solutions for Investigating Streams Data using Distributed Frameworks: Literature Review

Kumar, Kunal, Neeraj Anand Sharma, and ABM Shawkat Ali. “Machine Learning Solutions for Investigating Streams Data using Distributed Frameworks: Literature Review.” 2021 IEEE Asia-Pacific Conference on Computer Science and Data Engineering (CSDE). IEEE, 2021.

流數據是一個術語,指的是視頻、文本、圖像等各種來源的實時數據源。近年來,由于對主動預測和緩解醫療狀況、網絡攻擊、交通擁堵、道路事故等基本問題的需求不斷增長,流數據獲得了很大的吸引力。流數據使用機器學習和統計方法提供實時數據分析,以識別和緩解時間敏感且關鍵的問題。流數據使系統能夠分析傳入的數據并立即做出關鍵預測。流數據通常是實時攝取的,但會小批量處理,足以訓練機器學習模型。
Apache Spark 是處理大數據最流行的分布式框架之一。它由加州大學伯克利分校的 AMPLab 于 2009 年創建,并作為開源 Apache 項目部署。Apache Spark,通常稱為 Spark。這是 Hadoop MapReduce 框架的巨大發展,處理速度大幅提高。在內存中執行時,Spark 處理數據的速度比 MapReduce 快一百倍,在磁盤上執行時則快十倍。Spark 的主要優點是能夠執行內存計算,從而大大減少數據查找時間。它還將數據轉換為彈性分布式數據集(RDD)它抽象了要并行處理的數據集。Spark 還采用有向無環圖來確保高效的數據處理。Spark 最初構建在 Yarn 之上,作為更快地執行 MapReduce 作業的工具。然而,Spark 并不限于 Hadoop 和 Yarn,因為它可以作為獨立應用程序部署,并可以與其他資源管理器(例如 Mesos)結合使用。Spark 擁有一個包含 Spark 引擎、Spark Streaming、機器學習庫和用于可視化的 GraphX 的生態系統。

26 A comprehensive survey of anomaly detection techniques for high dimensional big data

Thudumu, Srikanth, et al. “A comprehensive survey of anomaly detection techniques for high dimensional big data.” Journal of Big Data 7 (2020): 1-30.

檢測高維空間中的異常的傳統技術很復雜,因為異常很少見,并且通常出現在維度子集或子空間的分數視圖中[27 ]。Aggarwal 也建議了這一點 [ 28] 幾乎所有基于鄰近概念的異常檢測算法在高維空間中都會出現質量下降;因此,重新定義算法是必要的。此外,隨著維度的增加,傳統方法變得越來越沒有意義,因為它們使用的策略對數據相對較低的維度做出某些假設[ 29 ]。此外,對于高維數據集來說,可能只有一小部分數據點提供信息[ 28 ]。
解決高維問題的異常檢測可以應用于在線或離線模式。在離線模式下,在歷史數據集中檢測異常,稱為“批處理”。這與大數據的“體量”特征有關。相比之下,在在線模式下,在檢測異常情況時不斷引入新的數據點(稱為“數據流”)。這與大數據的“速度”特性有關。許多現有的調查和評論強調了機器學習和數據挖掘等各個領域的高維問題。
高維是指可用于分析的數據中具有大量自變量、組件、特征或屬性的數據集[ 41 ]。數據分析的復雜性隨著維度數量的增加而增加,需要更復雜的方法來處理數據。數據集的樣本大小n不斷增長,但維度m不斷增長。同時,在大數據時代,m通常被誤解為高維,因為數千維是很常見的。如果一個數據集有n個樣本和m個維度(或特征),那么該數據可以稱為m-維度。一般來說,當維數為m導致“維數災難”效應時,數據集可以稱為高維數據集
“維數災難”一詞首先由貝爾曼[ 58 ]引入,用于描述因維數或輸入變量數量增加而引起的問題。當數據維數增加時,數據規模也成比例增加,導致數據稀疏,稀疏數據難以分析。維度的詛咒會影響異常檢測技術,因為相對于維度增加的異常性質的水平可能會被不必要的屬性所掩蓋甚至隱藏[ 27 ]。由于異常值被定義為稀疏區域中的數據實例,因此在高維空間的幾乎同樣稀疏的位置中觀察到了不充分的判別區域[ 28 ]。

維度的增加使得數據點分散和孤立,并且難以找到數據集的全局最優值。添加到數據集中的維度越多,它就會變得越復雜,因為每個添加的維度都會帶來大量的誤報[ 42 ]。圖 3說明了一維、二維和三維投影時數據的稀疏性。維數災難是指在高維空間中分析和組織數據時出現的許多情況。這些現象的本質是,每當維度增加時,空間體積就會成比例增加,從而導致所有其他數據點變得稀疏。這種稀疏性對于任何需要統計值的技術來說都是一個挑戰。此外,它還會產生與其他噪聲水平相關的許多復雜情況,這些噪聲水平可能是不相關的特征或不必要的屬性,這可能會使數據實例復雜化甚至隱藏[ 29]]。這是許多算法難以處理高維數據的主要原因。隨著維數的增加,諸如距離測量之類的統計方法變得不太有用,因為由于維數災難,點彼此之間幾乎等距。

高維數據需要大量的計算內存并帶來巨大的計算負擔。對于高維數據,識別有用的見解或模式變得復雜且具有挑戰性。處理高維問題的最簡單方法是最小化特征,并且可以通過研究數據集的內在維數或嵌入維數來更好地理解特征。理解內在維度和嵌入維度之間的細微差別至關重要。內在維度是覆蓋數據完整表示的最小特征種類;嵌入維數是整個數據空間的特征或列的數量的表示。
隨著世界變得越來越數據驅動,并且沒有通用的大數據異常檢測方法,高維問題在許多應用領域是不可避免的。此外,隨著數據量的增加,準確性的損失更大,計算也更復雜。識別具有高維問題的大型數據集中的異常數據點是一項研究挑戰。本次調查全面概述了與數據量和速度等大數據特征相關的異常檢測技術,并具有:研究了解決高維問題的策略。顯然,需要進一步研究和評估解決高維問題的大數據異常檢測策略。為了解決這個研究問題,我們提出了構建一個新穎的框架的未來研究方向,該框架能夠在具有高維問題的大量數據中識別異常數據點。主要貢獻將是改善高維問題大數據異常檢測的性能和準確性之間的平衡。


在這里插入圖片描述


27 Multi-job Merging Framework and Scheduling Optimization for Apache Flink

Ji, Hangxu, et al. “Multi-job Merging Framework and Scheduling Optimization for Apache Flink.” Database Systems for Advanced Applications: 26th International Conference, DASFAA 2021, Taipei, Taiwan, April 11–14, 2021, Proceedings, Part I 26. Springer International Publishing, 2021.

隨著大數據技術的普及,分布式計算系統不斷發展和成熟,為海量數據的查詢和分析做出了實質性的貢獻。然而,系統資源利用率不足是分布式計算引擎固有的問題。特別是,當更多作業導致執行阻塞時,即使集群中還有許多剩余資源,系統也會按照先來先執行(FCFE)的原則調度多個作業。因此,資源利用的優化是提高多作業執行效率的關鍵。我們研究了多作業執行優化領域,設計了多作業合并框架和調度優化算法,并在最新一代分布式計算系統 Apache Flink 中實現。綜上所述,我們工作的優點突出如下:(1)該框架使Flink能夠支持多作業收集、合并和執行順序的動態調整,并且這些功能的選擇是可定制的。(2)通過多作業合并和優化,總運行時間比傳統順序執行可減少31%。(3)多作業調度優化算法可帶來28%的性能提升,平均情況下可減少集群閑置資源61%。與傳統順序執行相比,總運行時間可減少31%。(3)多作業調度優化算法可帶來28%的性能提升,平均情況下可減少集群閑置資源61%。與傳統順序執行相比,總運行時間可減少31%。(3)多作業調度優化算法可帶來28%的性能提升,平均情況下可減少集群閑置資源61%。
Apache Flink [ 2 ]是最新一代的分布式計算系統,在處理海量數據時表現出高吞吐量和低延遲。它可以緩存中間數據并使用自己的優化器支持增量迭代。由于Flink的眾多優勢,許多基于Flink的實驗研究、優化技術和應用平臺不斷涌現。例如,在Flink誕生初期,大部分研究都集中在Flink和Spark的比較[10,11,15 ] ,并指出Flink更適合未來的數據計算。隨著Flink的流行,最近的研究包括基于Flink的測試工具[ 9 ]、多查詢優化技術[16 ]、推薦系統[ 5 ]等。

然而,大多數分布式計算系統都存在硬件資源利用率不足的問題。雖然 Flink 通過引入 TaskSlot 隔離內存來最大化資源利用率,但由于傳統順序執行時部分 Operator 并行度較低,因此也存在空閑資源。此外,當用戶提交多個作業時,Flink 僅以先到先執行(FCFE)的方式運行它們,這無法使作業共享 Slots。更糟糕的情況是,如果作業A正在執行,之后的作業B因剩余資源不足而不滿足執行條件,那么即使作業B之后的作業C滿足執行條件,作業C也無法提前執行,造成嚴重的后果。資源浪費。這些運行多個作業的 FCFE 策略只能確保作業級別的公平性,但不是用戶想要的。在大多數情況下,用戶只需要所有作業的最小總執行時間。通過同時執行多個作業,動態調整作業執行順序,使滿足執行條件的作業提前執行,可以解決上述問題。
在本次研究中,我們回顧了由于Flink不支持多個作業同時執行以及執行順序優化而導致的系統資源利用不足的問題,然后重點研究了增加Slot占用所帶來的多作業效率提升速度。其基本思想是通過多作業合并實現同時執行,并通過多作業調度動態調整執行順序,本文的貢獻總結如下。
(1)
我們提出了一個突破性的框架,可以支持 Flink 中的多作業合并和調度。它可以收集并解析多個待執行的作業,并通過多作業合并和調度兩種優化方法生成新的作業執行計劃,并提交給 Flink 執行。
(2)
為了同時執行多個作業,我們提出了基于子圖同構和啟發式策略的多作業合并算法,以使多個作業能夠共享槽。兩種算法在實驗過程中都能提高效率并適應不同的工作場景。
(3)
為了動態調整作業執行順序,我們提出了基于最大并行度的多作業調度算法,使滿足剩余資源的作業提前執行。實驗結果表明,該算法能夠提高效率并減少空閑資源。


在這里插入圖片描述


28 Machine learning based network intrusion detection for data streaming IoT applications

Yahyaoui, Aymen, et al. “Machine learning based network intrusion detection for data streaming IoT applications.” 2021 21st ACIS International Winter Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD-Winter). IEEE, 2021.

在本文中,我們為物聯網流應用程序設計了一種入侵檢測系統架構。該系統基于我們使用機器學習技術開發的檢測組件。我們將我們的系統的部署與大數據領域兩個領先的流處理框架(Apache Flink 和 Apache Spark Streaming)進行測試和比較。前者帶來了相當大的吞吐量(每秒處理超過 196,000 個數據包)。此外,我們獲得了很高的檢測精度(超過99.9%)。我們這項工作主要關注異常網絡入侵。然而,我們的解決方案可以處理其他類型的異常。我們使用兩個不同的數據集比較不同機器學習算法的性能。此外,我們還將我們的結果與最近的研究工作進行比較。結果證明了我們系統的效率。
該系統的主要目的是實時分析來自物聯網節點的傳入流量,并在大數據環境中高精度檢測異常情況(在我們的例子中為入侵)。考慮到這一目標,我們設計了如圖1所示的三層架構IDS,由數據采集層、流處理層以及存儲和可視化層組成。
首先,數據包被發布到 MQTT 代理。MQTT 協議并不是為高可擴展性而設計的,這就是為什么我們使用其插件 Kafka connect 將其與 Kafka 消息傳遞框架配對的原因。其次,捕獲的流量被發送到流處理框架,該框架將提取特征并使用已經訓練的 ML 模型對接收到的流量的性質進行預測。然后,流處理引擎將結果發送到數據庫,網絡活動的統計數據可以在儀表板上可視化。
流處理層以數據流的形式接收來自Kafka集群的數據并進行實時分析。大多數繁重的處理都是在這一層完成的:特征提取、數據訓練、模型生成以及更新和預測。因此,一旦數據分析速度更快,該層就負責最大限度地減少延遲。有不同的流處理框架。最著名的是 Apache Flink、Apache Spark Streaming、Apache Storm、Apache Heron、Akka 和 Samza [15]。在這項工作中,我們考慮比較兩個領先的框架:Apache Flink 和 Apache Spark Streaming。
對于Flink流處理,我們使用Java編程和Weka 3.6.10來實現機器學習算法。我們在單節點設置環境中使用 Apache Flink 1.10.0,使用 flink-kafka 連接器和 Apache Kafka 2.4.1。對于 Spark Streaming,我們使用 python 編程語言(pyspark)和 MLlib 庫來實現機器學習算法。我們在單節點設置環境中使用spark-2.4.4,使用spark-streaming-kafka-0-8- assembly 2.11-2.1.0連接器和Apache Kafka 2.4.1。對于這兩種解決方案,均使用 Cassandra 3.11.6.1 和 Grafana 6.7.3 來構建存儲和可視化層


在這里插入圖片描述


在這項工作中,我們設計了一個架構,開發并部署了一個基于機器學習算法的物聯網流應用程序的入侵檢測系統(IDS)。我們根據不同的特征數量、機器學習算法、機器性能進行了多次測試,并報告了兩個指標:準確性和吞吐量。與 Apache Spark Streaming 相比,Apache Flink 流引擎提供了高吞吐量。與兩個相關工作系統相比,IDS 被證明是高效的。作為未來的工作,我們的目標是使用其他指標來評估其他流處理引擎。此外,我們還將推廣這項工作以檢測其他類型的異常,這些異常可能是有趣的事件以及網絡攻擊。

29 Multiple submodels parallel support vector machine on spark

Liu, Chang, et al. “Multiple submodels parallel support vector machine on spark.” 2016 IEEE International Conference on Big Data (Big Data). IEEE, 2016.

支持向量機(SVM)是一種經典的分類算法,有著廣泛的應用。通過核函數,SVM可以處理在原始特征空間中不可線性分離的數據集,使其在實際使用中比線性模型更加靈活。然而,其訓練的復雜性是大規模數據集處理的障礙。本文提出了 Spark 上的多子模型并行 SVM(MSM-SvM),以利用計算機集群加速非線性 SVM 的訓練。利用SVM的模型理論,引入基于聚類的數據分割方法,以實現并行訓練過程并用多個局部子模型逼近全局解。我們還通過“一對一”策略涵蓋多分類。實驗表明,MSM-SVM不僅在二分類上表現良好,而且在多類分類上也表現良好。在預測二進制情況的準確性方面,它優于 Spark MLlib 中的 SVM With MiniBatch SGD 工具。對于我們幾乎所有的實驗數據集,MSM-SVM 提供了與 LIBSVM 相似的預測性能,同時花費的時間少得多。

30 Apache Flink 概要

Apache Flink 是一個框架和分布式處理引擎,用于在無邊界和有邊界數據流上進行有狀態的計算。Flink 能在所有常見集群環境中運行,并能以內存速度和任意規模進行計算。
1、處理無界和有界數據
Apache Flink 擅長處理無界和有界數據集 精確的時間控制和狀態化使得 Flink 的運行時(runtime)能夠運行任何處理無界流的應用。有界流則由一些專為固定大小數據集特殊設計的算法和數據結構進行內部處理,產生了出色的性能。數據集是有界流,網絡實時處理是無界流,未來展望中
2、部署應用到任意地方
Apache Flink 是一個分布式系統,它需要計算資源來執行應用程序。Flink 集成了所有常見的集群資源管理器,例如 Hadoop YARN、 Apache Mesos 和 Kubernetes,但同時也可以作為獨立集群運行。
3、運行任意規模應用
Flink 旨在任意規模上運行有狀態流式應用。因此,應用程序被并行化為可能數千個任務,這些任務分布在集群中并發執行。所以應用程序能夠充分利用無盡的 CPU、內存、磁盤和網絡 IO。而且 Flink 很容易維護非常大的應用程序狀態。其異步和增量的檢查點算法對處理延遲產生最小的影響,同時保證精確一次狀態的一致性。
4、利用內存性能
有狀態的 Flink 程序針對本地狀態訪問進行了優化。任務的狀態始終保留在內存中,如果狀態大小超過可用內存,則會保存在能高效訪問的磁盤數據結構中。任務通過訪問本地(通常在內存中)狀態來進行所有的計算,從而產生非常低的處理延遲。Flink 通過定期和異步地對本地狀態進行持久化存儲來保證故障場景下精確一次的狀態一致性。

在Flink中,由于處理時間比較簡單,早期版本默認的時間語義是處理時間(系統時間);而考慮到事件時間在實際應用中更為廣泛,從Flink1.12版本開始,Flink已經將事件時間作為默認的時間語義了。如果按照處理時間,數據到達時可能不是按序到達的,網絡傳輸存在亂序的情況,因此,后面的Flink版本改為按事件時間處理數據


在這里插入圖片描述


一般的實時流處理場景中,事件時間基本與處理時間同步,只是略微延遲
由于不同的slot在計算資源上是物理隔離的,所以Flink能管理的狀態在并行任務間是無法共享的,每個狀態只能針對當前子任務的實例有效
Flink需要用戶進行初始資源配置,該配置在作業開始后不再改變,除非重啟任務

31 Research on Parallel SVM Algorithm Based on Cascade SVM

Cheng, Yi. “Research on Parallel SVM Algorithm Based on Cascade SVM.” arXiv preprint arXiv:2203.05768 (2022).

級聯SVM(CSVM)可以并行對數據集進行分組并訓練子集,從而大大減少了訓練時間和內存消耗。但使用該方法得到的模型精度與直接訓練相比存在一定誤差。為了減少誤差,我們分析分組訓練中出現誤差的原因,總結出理想條件下無誤差的分組。提出一種平衡級聯支持向量機(BCSVM)算法,平衡分組后子集中的樣本比例,保證子集中的樣本比例與原始數據集相同。同時證明BCSVM算法得到的模型精度高于CSVM。最后使用兩個常見的數據集進行實驗驗證,

–end–

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37273.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37273.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37273.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SOLIDWORKS PDM—文件版本的管控

SOLIDWORKS產品數據管理 (PDM) 解決方案可幫助您控制設計數據,并且從本質上改進您的團隊就產品開發進行管理和協作的方式。使用 SOLIDWORKS PDM Professional,您的團隊能夠:1. 安全地存儲和索引設計數據以實現快速檢索;2. 打消關于…

使用QT可視化設計對話框詳細步驟與代碼

一、創建對話框基本步驟 創建并初始化子窗口部件把子窗口部件放到布局中設置tab鍵順序建立信號-槽之間的連接實現對話框中的自定義槽 首先前面三步在這里是通過ui文件里面直接進行的,剩下兩步則是通過代碼來實現 二、項目創建詳細步驟 創建新項目 為項目命名 為…

深度思考rpc框架面經系列之二

此篇總結是接上一篇做的,當然,獨立看也是可以的,這幾個系列講解的是rpc框架的不同方面 4 序列化和反序列化(阿里一面) 4.1 為什么要序列化呢,解決什么問題呢?序列化和反序列化也是要消耗一定性…

VScode如何設置中文教程

前言:打開VSCode軟件,可以看到剛剛安裝的VSCode軟件默認使用的是英文語言環境,但網上都是vscode中文界面教你怎么設置中文,可能不利于小白閱讀,所以重裝vscode,手摸手從英文變成中文。 設置為中文 打開VS…

CDH6.3.2搭建HIVE ON TEZ

參考 https://blog.csdn.net/ly8951677/article/details/124152987 ----配置hive運行引擎 在/etc/hive/conf/hive-site.xml中修改如下: hive.execution.engine mr–>tez hive.execution.engine 設為tez或者運行代碼的時候: set hive.execution.eng…

android app控制ros機器人五(百度地圖)

半吊子改安卓,新增了標簽頁,此標簽頁需要顯示百度地圖 按照官方教程注冊信息,得到訪問應用AK,步驟也可以參照下面csdn Android地圖SDK | 百度地圖API SDK 【Android】實現百度地圖顯示_賓有為的博客-CSDN博客 本人使用的是aar開…

區分多個鼠標的滾輪滾動消息

實現功能:電腦插了兩個或多個鼠標,程序中需要區分不同鼠標的滾輪滾動消息。 實現方式:直接上代碼,復制粘貼可用,具體處理邏輯可以根據實際需求進行修改和擴展,請注意,這段代碼是在Windows操作系…

Python 圖形界面框架TkInter(第八篇:理解pack布局)

前言 tkinter圖形用戶界面框架提供了3種布局方式,分別是 1、pack 2、grid 3、place 介紹下pack布局方式,這是我們最常用的布局方式,理解了pack布局,絕大多數需求都能滿足。 第一次使用pack() import …

學習筆記整理-DOM-02-事件監聽

一、什么是"事件監聽" DOM允許書寫JavaScript代碼以讓HTML元素對事件作出反應什么是"事件": 用戶與網頁的交互動作當用戶點擊元素時當鼠標移動到元素上時當文本框的內容被改變時當鍵盤在文本框中被按下時當網頁已加載完畢時… “監聽”,顧名思義…

開學季電容筆怎么選?iPad第三方電容筆了解下

不少的學生黨開學必備清單里都少不了電容筆,可見其的重要性。自從蘋果發布了ipad的原裝電容筆以來,這款電容筆在目前市面上就一直很受歡迎,不過由于Apple Pencil的售價實在是太貴了,使得大部分人都買不起。于是,市面上…

leetcode做題筆記78子集

給你一個整數數組 nums ,數組中的元素 互不相同 。返回該數組所有可能的子集(冪集)。 解集 不能 包含重復的子集。你可以按 任意順序 返回解集。 思路一:回溯 void backtracking(int* nums, int numsSize, int** res, int* ret…

在 Linux 虛擬機上使用 Azure 自定義腳本擴展版本

參考 azure創建虛擬機,創建虛擬機注意入站端口規則開放80端口、 2.轉到資源,點擊擴展應用程序,創建存儲賬戶,創建容器,上傳文件,選擇文件,會自動執行部署。 apt-get update -y && apt-get insta…

ROS訂閱相機圖像消息,并將圖像保存為視頻幀

需求 需要編寫一個Python程序,訂閱電腦外接的深度相機發出的視頻消息,錄制視頻并逐幀保存為圖片到本地,用于采集制作數據集的圖片信息 運行環境 Ubuntu18.04 ROS Melodic Python2.7 Python程序 #!/usr/bin/env python # -*- coding: u…

Vue-day03 組件

1.組件機制 組件 (Component) 是 Vue.js 最強大的功能之一。組件可以擴展HTML元素,封裝可重用的代碼。在較高層面上,組件是自定義元素,Vue的編譯器為它添加特殊功能。在有些情況下,組件也可以表現為用is特性進行了擴展的原生 HTML…

chatgpt和xmind結合起來幫你制作精美的思維導圖

介紹 chatgpt和xmind結合起來幫你制作精美的思維導圖。 1.輸出Markdown格式 2.xmind導入.md文件

web集群學習:nginx+keepalived實現負載均衡高可用性

目錄 項目架構 一,環境介紹 二,項目部署 在Web服務器上配置Web測試頁面 nginx負載均衡配置 配置Nginx_Master 通過vrrp_script實現對集群資源的監控(1>通過killall命令探測服務運行狀態) 通過vrrp_script實現對集群資源…

div輸入框的文字超過指定行數用省略號表示css

實現效果:超過四行用省略號表示 實現方法: .text{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 4; // 自定義行數-webkit-box-orient: vertical; }

Go和Java實現外觀模式

Go和Java實現外觀模式 下面我們通過一個構造各種形狀的案例來說明外觀模式的使用。 1、外觀模式 外觀模式隱藏系統的復雜性,并向客戶端提供了一個客戶端可以訪問系統的接口。這種類型的設計模式屬于結構型 模式,它向現有的系統添加一個接口&#xff…

【設計模式】代理模式

在代理模式(Proxy Pattern)中,一個類代表另一個類的功能。這種類型的設計模式屬于結構型模式。 在代理模式中,我們創建具有現有對象的對象,以便向外界提供功能接口。 介紹 意圖:為其他對象提供一種代理以…

【面試問題】事務中執行了異步任務分發數據,由于事務未提交,導致異步任務無法執行

文章目錄 問題描述:解決辦法: 問題描述: OverrideTransactional(rollbackFor Exception.class)public ServiceResponse ctsqCallbackProcess(OaFlowRecord params) {// 查詢任務單數據// 更新任務單信息// 異步分發數據到CRMS系統}客戶數據分…