基于统计的HybridFA:高效AC自动机空间优化

0 下载量 57 浏览量 更新于2024-08-29 收藏 1.37MB PDF 举报
HybridFA是一种创新的高级Aho-Corasick (AC)自动机空间优化技术,旨在解决高级AC自动机在提升串匹配速度过程中产生的空间浪费问题。AC自动机是多模式串匹配的重要工具,它通过构建一个图结构,可以在多个字符串中同时查找特定模式,提高了搜索效率。然而,这种高效性是以牺牲存储空间为代价的,因为每个输入字符可能触发多个状态转移,导致自动机的节点数量增加。 熊刚等人在2015年的《通信学报》上发表的研究指出,他们通过对数据流中自动机节点的实际访问模式进行深入分析,发现了数据访问的统计规律。他们提出了HybridFA算法,该算法利用这些访问特征对AC自动机的部分节点进行优化,通过基于访问频率和访问层次的节点完全化策略,实现了空间的有效节省。访问频率是指一个节点被访问的次数,而访问层次则反映了节点在自动机中的深度和连通性。 首先,他们单独研究了基于访问频率的节点完全化方法,这种方法倾向于保留那些频繁被访问的节点,而忽略不常出现或很少关联到其他节点的节点。接着,他们又考虑了访问层次,即优先处理那些在搜索过程中起关键作用、处于高层节点的节点。将这两种策略结合起来,他们开发了一种改进算法,这种算法既能保持较高的匹配速度,又能更好地适应不同数据集的特性,从而实现存储空间的显著降低,具体表现为比高级AC自动机节省约5%的存储空间。 在Snort(网络安全系统)、ClamAV(反病毒软件)和URL(统一资源定位符)等实际应用中的实验验证了HybridFA算法的优势。实验结果显示,除了节省存储空间外,该算法在处理大规模数据流时,其性能表现和数据适应性均优于传统的高级AC自动机。这项工作对于那些对空间效率有较高要求的多模式串匹配场景,如实时监控和恶意软件检测,具有重要的实践价值。 HybridFA算法通过统计分析和智能选择,有效地平衡了多模式串匹配的速度与空间消耗,展示了在高级AC自动机设计中引入统计策略的巨大潜力。这对于优化资源利用,提高系统性能和扩展到更广泛的领域都有着积极的影响。