返回
Performance Comparison of Python-Based Complex Event Processing Engines for IoT Intrusion Detection: Faust Versus Streamz
DOI:10.3390/computers15030200.png)
摘要
En 中文
物联网设备的激增加剧了对高效实时异常和入侵检测的需求,使得选择合适的复杂事件处理(CEP)引擎成为面向安全的数据管道的关键架构决策。基于Python的CEP框架通过无缝集成数据科学和机器学习生态系统提供了显著优势;然而,在真实的物联网安全工作负载下对这些框架的严格比较评估在文献中仍属空白。本研究首次对Faust和Streamz两种代表根本不同架构理念的Python原生CEP引擎进行了系统的比较评估,特别是在物联网网络入侵检测的背景下。Faust因其基于Actor的有状态处理模型、原生Kafka集成和分布式表支持而被选用,而Streamz因其面向反应式、轻量级管道设计、针对高吞吐量无状态处理而被选用,使它们成为Python流处理中两种主导范式的代表。尽管这两个引擎针对不同的应用领域,但它们在真实CEP工作负载下的性能特征从未被严格比较,导致实践者缺乏实证指导。主要评估采用了一个包含83种异构设备583,485个事件的物联网网络入侵数据集。为评估观察到的性能特征是否特定于此单一数据集或能在不同工作负载配置文件中泛化,包含了一个次要的物联网相关基准:PaySim金融交易数据集(640万条记录),因其事件模式、欺诈模式的时序结构和数量与入侵数据集存在显著差异,提供了跨工作负载鲁棒性的压力测试,而非声称领域等效性。我们承认审稿人提出的有效观点,即第二个物联网特定入侵数据集(如TON_IoT或Bot-IoT)将构成更直接可比的验证;这被确定为未来工作的重点。可扩展性实验中使用的负载水平(最高5000事件/秒)有意超过数据集的自然速率,以压力测试每个引擎的架构上限并识别与大规模或多传感器物联网部署相关的饱和阈值。我们进行了受控实验并进行了全面的统计分析。结果表明,Streamz在4450事件/秒时实现89%效率的高吞吐量,资源消耗极低(40 MB内存,12 ms中位延迟),而Faust提供93-98%准确率的稳健入侵模式检测,资源利用率稳定且可预测(1.4% CPU标准差)。包括Apache Kafka Streams和离线scikit-learn基线的多框架比较证实,Faust的检测质量可与JVM基线竞争(Faust: 96.2%;Kafka Streams: 96.8%;绝对差异0.6个百分点,在p = 0.318时无统计学显著性),同时保留Python生态系统的优势。统计分析证实所有指标存在显著性能差异(p < 0.001,Cohen's d > 0.8)。确定了关键可扩展性阈值:Streamz在3500事件/秒以下保持95%以上效率,而Faust在2500事件/秒以上性能下降。这些发现为物联网安全工程师和系统架构师提供了行动性、实证支持的CEP引擎选择指导,建立了适用于未来基于Python的流处理评估的可复现基准方法,并推进了有状态与无状态Python CEP架构中准确率-吞吐量权衡的理论理解。
Keyword:
complex event processing
IoT intrusion detection
stream processing
performance evaluation
Python
Faust
Streamz
benchmarking
real-time systems
anomaly detection
scalability
Kafka
期刊
C
IF:
4.2
论文数:
1.5K
被引数:
3.3K
机构
引用论文
Towards Deep-Learning-Driven Intrusion Detection for the Internet of Things面向物联网的深度学习入侵检测
SENSORS
IF3.5

