匹配算法研究和优化-电动数控滚圆机滚弧机折弯机张家港液压滚圆
作者:lujianjun | 来源:欧科机械 | 发布时间:2019-06-14 14:48 | 浏览次数:

模式匹配在网络安全领域有着重要的应用,随着网络环境的日益复杂,模式集合也随之增加。如何高效处理千万模式集下的字符串匹配成为网络安全的瓶颈之一。本文针对多模式匹配算法AC算法和WM算法进行了研究,采用了新型基于层次扫描和子节点数目搜索的双数组AC算法;从hash函数的选取和模式串的Tree树存储对WM算法进行了优化。能有效减少系统的内存占用,提高匹配效率每一个状态都会有一个output表,在初始化goto表时,每一个添加成功的字符串的最后一个字符状态都会添加一在构造fail表的过程中,当某一状态的失效状态是终止状态时,该状态也会添加其失效状态为outpu匹配算法研究和优化-电动数控滚圆机滚弧机折弯机张家港液压滚圆机滚弧机折弯机算法原理示例以模步骤三如图3所示,将模式his加入goto表。图3步骤三示意步骤四如图4所示,将模式hers加入goto表。图4步骤四示意图F描过程输入文本p,依次读入文本的字符,按照状态机进行状态跳转,当状态失效时,则遵照fail表发生跳转,以此类推直至扫描到最后一个字符的状态,再根据output表将匹配到的模式来发送输出。本次研究示例中的fail表和output表内容可分见表1、表2。表1fai态算法复杂度分析有穷自动机的匹配时,是从一个状态跳转到另一个状态,其突出特点就是匹配效率高,算法扫描稳定,文本字符串对算法的匹配速度无影响。对于长031智能计算机与应用第。来记录其跳转状态本文有公司网站张家港全自动切管机 网站采集转载中国知网资源整理! http://www.qieguanjixie.com,check数组记录其父节点的状态。但是在生成双数组的过程中,仍会产生部分空间浪费,在构造时就会涉及到数组数据的局部调整,从而占用过多的时间。本次研究主要从初始化时间和内存占用方面展开设计优化。通常的双数组构造都是采用基于深度优先或者广度优先的搜索方法,这种方法容易导致数组数据冲突,会生出更大的内存占用和数组调整的时间开销。为此,本文将采用基于层次遍历的方法构造双数组,并优先将子节点个数多的节点加入到数组中,如图6所示,从而减少在构造base数组中产生的冲突。优化后的DAT算法构造步骤可表述如下。(1)将所有模式集合按照字典序列从小到大循序排列。(2)初始化节点列表,把第一层所有节点加入到列表。(3)选择子节点最多的节点,计算其base表值、子节点的check表值,然后将其所有子节点加入到列表中。(4)重复(3)直到列表为空。(5)构建fail表和output表。(a)基于广度优先搜索(b)基于层次遍历和子节点数目搜索(a图6基于层次遍历和子节点数目的优化搜索法优化WM算法是基于后缀扫描的跳跃算法,主要包括利用hash函数对字符串扫描和对冲突字符串的完全扫描。这里主要将针对这2部分内容提供设计优化。研究可得过程内容如下。2.2.1hash函数选取针对不同规模的数据,不同的hash函数产生冲突的大小也不一致匹配算法研究和优化-电动数控滚圆机滚弧机折弯机张家港液压滚圆机滚弧机折弯机本文有公司网站张家港全自动切管机 网站采集转载中国知网资源整理! http://www.qieguanjixie.com