最近工作需要对公司业务大规模日志进行处理,需要进行通过正则预先匹配出符合条件的日子,经过调研Hyperscan符合预期。
如何提高大规模正则匹配的效能_360技术的博客-CSDN博客
Hyperscan是一款来自于Intel的高性能的正则表达式匹配库。它是基于X86平台以PCRE为原型而开发的,并以BSD许可开源在https://01.org/hyperscan。在支持PCRE的大部分语法的前提下,Hyperscan增加了特定的语法和工作模式来保证其在真实网络场景下的实用性。与此同时,大量高效算法及IntelSIMD*指令的使用实现了Hyperscan的高性能匹配。Hyperscan适用于部署在诸如DPI/IPS/IDS/FW等场景中,目前已经在全球多个客户网络安全方案中得到实际的应用。此外,Hyperscan还支持和开源IDS/IPS产品Snort(https://www.snort.org)和Suricata (https://suricata-ids.org)集成,使其应用更加广泛。
使用版本:
com.gliwka.hyperscan hyperscan 5.4.0-2.0.0
本地环境可以运行部署到服务器上出现报错,报错信息:
No native JavaCPP library in memory. (Has Loader.load() been called?)
缺少linux相关的包:
javacpp linux包 下载地址:
Central Repository: org/bytedeco/javacpp/1.5.4
native linux包 下载地址:
Central Repository: com/gliwka/hyperscan/native/5.4.0-1.0.0
衍生阅读: