CN103854056B - 正则表达式分组方法及装置 - Google Patents

正则表达式分组方法及装置 Download PDF

Info

Publication number
CN103854056B
CN103854056B CN201410099132.4A CN201410099132A CN103854056B CN 103854056 B CN103854056 B CN 103854056B CN 201410099132 A CN201410099132 A CN 201410099132A CN 103854056 B CN103854056 B CN 103854056B
Authority
CN
China
Prior art keywords
individuality
fitness
chromosome
individual
regular expression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410099132.4A
Other languages
English (en)
Other versions
CN103854056A (zh
Inventor
付哲
王凯
李军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201410099132.4A priority Critical patent/CN103854056B/zh
Publication of CN103854056A publication Critical patent/CN103854056A/zh
Application granted granted Critical
Publication of CN103854056B publication Critical patent/CN103854056B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种正则表达式分组方法及装置,将多条待分组正则表达式随机分组,得到至少一组表达式分组序列,根据至少一组表达式序列分组确定相应的至少一条染色体,并根据至少一条染色体确定相应的至少一个个体;确定至少一个个体中每个个体的适应度,并根据每个个体的适应度与适应度阈值的比较结果获得较高适应度序列;从较高适应度序列中任意选取两个适应度,确定被选取适应度的对应染色体,并对对应染色体进行交叉操作;对经交叉操作后的染色体进行变异操作,获得变异染色体,并根据变异染色体确定对应的新一代个体;判断是否到达预置收敛次数。能够在保证匹配效率的同时,减少DFA的状态膨胀引起的空间消耗。

Description

正则表达式分组方法及装置
技术领域
本发明涉及计算机领域,尤其是一种正则表达式分组方法及装置。
背景技术
深度检测技术是一种基于应用层的流量监测和控制技术,其克服了传统的网包过滤和状态检测技术只能检测包头而不能检测数据载荷的缺点,通过与事先设定的规则集进行匹配,能够识别、分类或阻止具有特殊数据或者特定载荷的网包,在对抗病毒、垃圾邮件、非法入侵等方面发挥着重要作用。随着网络的发展,深度检测变得越来越复杂。因此,作为深度检测的核心技术之一,正则表达式匹配逐渐取代功能单一的精确字符串匹配,成为深度检测中规则语言的首选。
正则表达式被通过转换成等价的非确定型有限自动机(NFA)或确定型有限自动机(DFA)来实现模式匹配。NFA状态总数小,存储空间高效,但是在最坏情况下处理每个字符的时间复杂度为o(n)(n为NFA的状态数目),对存储带宽要求很高,匹配效率低下。DFA在匹配过程中的任意时刻,对于每一字符仅有一种状态跳转可能,匹配效率高,但存在着存储空间开销较大等缺点。随着网络流量的不断增加,对正则表达式匹配引擎的速度要求越来越高;同时,实际网络环境中网包可能乱序到达,在匹配之前必须进行重组,这就要求匹配引擎能够保存中间状态。在一些情况下,DFA存在状态膨胀的问题。例如,由于“.{n}”、“.*”等语法的存在,在将含有这类语法的正则表达式规则合并生成同一个DFA时,状态数会远大于每个规则单独生成的DFA的状态数之和。在最坏情况下,DFA的状态数目甚至呈指数爆炸。
因此,如何在保证匹配效率的同时,减少DFA的状态膨胀引起的空间消耗,是实现高效匹配算法需要考虑的关键问题。
发明内容
本发明的目的是,提供一种正则表达式分组方法及装置,能够在保证匹配效率的同时,减少DFA的状态膨胀引起的空间消耗。
本发明采用如下技术方案
一种正则表达式分组方法,包括:
101、将多条待分组正则表达式随机分组,得到至少一组表达式分组序列,根据所述至少一组表达式序列分组确定相应的至少一条染色体,并根据所述至少一条染色体确定相应的至少一个个体;
102、确定所述至少一个个体中每个个体的适应度,并根据每个个体的适应度与适应度阈值的比较结果获得较高适应度序列;
103、从所述较高适应度序列中任意选取两个适应度,确定被选取适应度的对应染色体,并对所述对应染色体进行交叉操作;
104、对经交叉操作后的染色体进行变异操作,获得变异染色体,并根据所述变异染色体确定对应的新一代个体;
105、判断是否到达预置收敛次数;
若是,则将所述新一代个体中的最优值作为问题的最优解;若否,则对所述新一代个体重复执行步骤102-105,直至到达预置收敛次数。
可选的,所述步骤104和步骤105之间还包括:
1041、获取所述较高适应度序列中最高适应度对应的个体,替换所述新一代个体中适应度最差的个体,并获得新一代个体。
可选的,所述步骤102中确定所述至少一个个体中每个个体的适应度包括:
对于每一代个体,找出最大DFA状态数和最小DFA状态数,并以最大DFA状态数和最小DFA状态数的和与各个个体的DFA状态数之差作为此个体的适应度。
可选的,所述步骤104中对经交叉操作后的染色体进行变异操作,获得变异染色体包括:
对于每一个个体,随机选择其染色体上的一个基因位,以变异概率pm进行变异,获得变异染色体。
可选的,所述步骤104中根据所述变异染色体确定对应的新一代个体之后,还包括:
每产生一代新个体后,找出其适应度最差的个体,并用上一代个体中适应度最优的个体取代新一代个体中适应度最差的个体。
基于上述技术方案,将多条待分组正则表达式随机分组,得到至少一组表达式分组序列,根据至少一组表达式序列分组确定相应的至少一条染色体,并根据至少一条染色体确定相应的至少一个个体;确定至少一个个体中每个个体的适应度,并根据每个个体的适应度与适应度阈值的比较结果获得较高适应度序列;从较高适应度序列中任意选取两个适应度,确定被选取适应度的对应染色体,并对对应染色体进行交叉操作;对经交叉操作后的染色体进行变异操作,获得变异染色体,并根据变异染色体确定对应的新一代个体;判断是否到达预置收敛次数。能够在保证匹配效率的同时,减少DFA的状态膨胀引起的空间消耗。
附图说明
图1为本发明实施例提供的一种正则表达式分组方法的流程图;
图2为本发明实施例提供的一种种群的初始化示意图;
图3为本发明实施例提供的一种交叉前的染色体示意图;
图4为本发明实施例提供的一种交叉后的染色体示意图;
图5为本发明实施例提供的一种进行变异操作后形成的四条新的染色体示意图;
图6为本发明实施例提供的另一种正则表达式分组方法的流程图;
图7为本发明实施例提供的一种正则表达式分组装置的结构图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明实施例提供一种正则表达式分组方法,包括:
101、将多条待分组正则表达式随机分组,得到至少一组表达式分组序列,根据所述至少一组表达式序列分组确定相应的至少一条染色体,并根据所述至少一条染色体确定相应的至少一个个体;
102、确定所述至少一个个体中每个个体的适应度,并根据每个个体的适应度与适应度阈值的比较结果获得较高适应度序列;
103、从所述较高适应度序列中任意选取两个适应度,确定被选取适应度的对应染色体,并对所述对应染色体进行交叉操作;
104、对经交叉操作后的染色体进行变异操作,获得变异染色体,并根据所述变异染色体确定对应的新一代个体;
105、判断是否到达预置收敛次数;
若是,则将所述新一代个体中的最优值作为问题的最优解;若否,则对所述新一代个体重复执行步骤102-105,直至到达预置收敛次数。
可选的,所述步骤104和步骤105之间还包括:
1041、获取所述较高适应度序列中最高适应度对应的个体,替换所述新一代个体中适应度最差的个体,并获得新一代个体。
可选的,所述步骤102中确定所述至少一个个体中每个个体的适应度包括:
对于每一代个体,找出最大DFA状态数和最小DFA状态数,并以最大DFA状态数和最小DFA状态数的和与各个个体的DFA状态数之差作为此个体的适应度。
可选的,所述步骤104中对经交叉操作后的染色体进行变异操作,获得变异染色体包括:
对于每一个个体,随机选择其染色体上的一个基因位,以变异概率pm进行变异,获得变异染色体。
可选的,所述步骤104中根据所述变异染色体确定对应的新一代个体之后,还包括:
每产生一代新个体后,找出其适应度最差的个体,并用上一代个体中适应度最优的个体取代新一代个体中适应度最差的个体。
本发明实施例的方法,将多条待分组正则表达式随机分组,得到至少一组表达式分组序列,根据至少一组表达式序列分组确定相应的至少一条染色体,并根据至少一条染色体确定相应的至少一个个体;确定至少一个个体中每个个体的适应度,并根据每个个体的适应度与适应度阈值的比较结果获得较高适应度序列;从较高适应度序列中任意选取两个适应度,确定被选取适应度的对应染色体,并对对应染色体进行交叉操作;对经交叉操作后的染色体进行变异操作,获得变异染色体,并根据变异染色体确定对应的新一代个体;判断是否到达预置收敛次数。能够在保证匹配效率的同时,减少DFA的状态膨胀引起的空间消耗。
下面详细介绍本发明实施例的正则表达式分组方法。
目前多核设备的计算单元数目往往是固定的。若分组数目大于计算单元数目,即生成的DFA数目多于并行计算单元数目,DFA匹配引擎的时间处理效率未能达到最优;若分组数目小于单元数目,即生成的DFA数目少于并行计算单元数目,发生计算单元空闲,未能完全利用资源。因此,最适宜的分组数目往往需要视具体情况而定。若多核设备的核心数目为k,正则表达式规则集中的规则数目为N,则分组数确定的优化问题可以描述为:
对于规模为N的正则表达式集合S={r1,r2,...,ri,...},i∈[1,N],分组数k已知,求k个互不相交的子集R1,R2,...Rk使得其中表示正则表达式集合Rj编译成一个DFA生成的状态总数。
若k=2,则有种分组方法,其中不重复的分组方法有2N/2!=2N-1种。以此类推,对于规模为N的正则表达式集合,待分组组数为k,共有kN/k!种不同的分组方法。对于实际应用中的规则集,以L7-filter为例,其由111条正则表达式组成,若分为两组,则所有的分组方法有2111/2!=2110≈1033种。若规则集规模更大,或者待分组数更多,分组方法的数目会继续呈指数上升。因此,采用蛮力的方法遍历求解是不可行,无法实现全局最优的分组。
遗传算法(Genetic Algorithm)是模拟生物在自然环境中“优胜劣汰、适者生存”的遗传和进化过程而形成的一种概率搜索算法,其最主要的特点是能够直接对对象进行优化而不需要目标函数具有可导或连续性等性质,并能够自动调整进化的方向;同时,遗传算法具有内在的隐并行性,并且具有全局寻优的能力。本发明实施例基于遗传算法,此发明设计了GABG(Grouping Algorithm Based on Gene)智能分组算法,以解决分组数确定优化空间消耗的问题。
首先需要从目标问题里抽象出遗传算法中对应的概念。对于N条正则表达式分为k组的分组问题,做出以下定义:
染色体:表示当前个体对应的分组情况。染色体的长度为N。
基因:染色体上每一位的数值,范围为[1,k]。染色体上的基因按顺序排列,基因的值分别对应每条正则表达式对应的分组的序号。
个体:除携带有表示分组情况的染色体外,还携带有此个体对应分组结果的DFA总状态数、此个体的种群适应度(与DFA总状态数呈负相关关系)、该个体轮盘选择选中的概率。
种群:大量个体的集合。
以6条正则表达式分为3组,求最优分组举例说明。如图2所示,6个圆形小球分别对应6条正则表达式。首先进行种群初始化,即将各条正则表达式随机分入某一组中。不同的颜色表示正则表达式分入不同的组中,即:序号为4,6(蓝色)的正则表达式分入第一组,序号为1,5(黄色)的正则表达式分入第二组,序号为2,3(灰色)的正则表达式分入第三组。圆形小球下方的浅绿色表格表示分组情况的索引,即每个小球属于的分组的编号。这样一个索引可以看作第一个个体的染色体,染色体上的数字即为基因。与此类似,可以产生另外3个个体,如第2,3,4行所示。
初始化完毕后,计算所有个体的适应度,进行自然选择操作。“轮盘选择”是遗传算法中广泛应用的选择方法,其基本思路是将全体个体的适应度由一张饼状图表示,若一个个体的适应度越高,则其在饼状图中所占面积越大。由于个体的适应度与个体所对应的DFA状态总数呈负相关关系,因此对于每一代个体,找出最大DFA状态数和最小DFA状态数,并以它们的和与各个个体的DFA状态数之差作为此个体的适应度。DFA状态总数越小的个体适应度越高,在饼状图中所占的面积越大,因此将轮盘旋转后选中此个体的概率也越大。
通过轮盘选择选择两条适应度较高的个体,即选择两种分组方法(为叙述简单,以第一条和第二条为例)后,随机选择染色体上的一个位置,以交叉概率pc(probability ofperforming crossover)进行交叉操作。图3中选择了第一条和第二条染色体的第四基因位和第五基因位之间的位置。同理,再选择两条适应度较高的个体(以第三条和第四条为例),随机选择染色体上的一个位置(图中选择了第三基因位和第四基因位之间的位置),以交叉概率pc进行交叉操作。交叉后的个体情况如图4所示。这样,就得到了两种新的分组方法。
之后是变异操作。对于每一个个体,随机选择其染色体上的一个基因位,以变异概率pm(probability of mutation)进行变异(基因位突变为[1,3]中的整数随机值)。如图,第一、三、四个体的第三、一、四号基因位均发生了突变,而第二个个体未发生突变。经过以上步骤,形成了四个新个体,如图5所示。为了保证优良特性能够遗传,除了以上操作外,本文还采用了“精英保留”的策略。其具体操作为:每产生一代新个体后,找出其适应度最差的个体(即空间消耗最大的分组方法),并用上一代个体中适应度最优的个体(即空间消耗最小的分组方法)取代新一代个体中适应度最差的个体。经过此操作,可以保证从进化开始出现的最优分组方法不会被丢失或者破坏,提高算法的全局收敛能力。
经过以上步骤,产生一代新个体后,若达到指定的收敛次数,则迭代停止,以最后一代个体中的最优值作为问题的最优解;否则,对此代个体进行评价、选择、交叉变异等操作,开始下一轮的迭代,直到满足停止条件。综上所述,GABG智能分组算法的流程图6所示:
GABG算法的交叉、变异操作保证了算法避免陷入局部最优解;精英保留提高了算法的全局收敛能力。
本发明实例需要大量的计算进行比较和迭代,若每次均计算DFA真实状态数,不仅耗时长、效率低,而且可能因为算法过程中发生的状态爆炸,影响算法求出最终结果。因此,为了满足智能优化算法大量计算的要求,保证能得到近似最优解并且运算高效,需要引入一个近似假设的方法,以预测每种分组情况对应的状态数。具体阐述如下:
对于规模为N的正则表达式集合S,首先定义冲突系数ai,i∈{1..N},表示当正则表达式i编译成DFA后的内存消耗。定义冲突系数bi,j,i,j∈{1..N},表示当正则表达式i和j编译成同一个DFA后的内存消耗。考虑到bi,j=bj,i,以及bi,i=ai,因此,需要计算N个ai个bi,j,共需要预先计算个冲突系数。在确定以上规则间冲突系数的基础上,定义正则表达式i和j的距离mi,j=bi,j-ai-aj。mi,j可以解释为当两个正则表达式i和j编译成同一个DFA时内存消耗的增量。此外,定义了两两规则之间的膨胀率i,j∈{1..N},并且规定ρi,j≥0,i,j∈{1..N}。将一条正则表达式加入一组后,预测增加的状态数不仅与正则表达式间的冲突系数有关,还与正则表达式间的膨胀率有关,特别是当正则表达式组数较多地情况下。若将一条正则表达式l添加到分组Rm那么分组Rm增加的内存消耗近似为
Σ r i ∈ R m ( Σ r k ∈ R m , k ≠ i , l ρ i , k + Σ r k ∈ R m , k ≠ i , l ρ l , k ) m i , l
由此可以推出,对于分组Rm,可以得出其近似的内存消耗
T ( R m ) = &Sigma; r i &Element; R m a i + &Sigma; r i &Element; R m , i < j ( &Sigma; r k &Element; R m , k &NotEqual; i , j &rho; i , k + &Sigma; r k &Element; R m , k &NotEqual; i , j &rho; j , k ) m i , j
对于规模为N的正则表达式集合S,若划分为k个分组,并且将每组中的正则表达式编译成同一个DFA,那么此种分组情况的近似内存消耗为
T ( S ) = &Sigma; m = 1 k T ( R m ) = &Sigma; m = 1 k &Sigma; r i &Element; R m a i + &Sigma; m = 1 k &Sigma; r i &Element; R m , i < j ( &Sigma; r k &Element; R m , k &NotEqual; i , j &rho; i , k + &Sigma; r k &Element; R m , k &NotEqual; i , j &rho; j , k ) m i , j = &Sigma; i = 1 N a i + &Sigma; m = 1 k &Sigma; r i &Element; R m , i < j ( &Sigma; r k &Element; R m , k &NotEqual; i , j &rho; i , j + &Sigma; r k &Element; R m , k &NotEqual; i , j &rho; j , k ) m i , j
基于以上假设的预测处理,可以将每一种分组情况对应的DFA实际内存消耗计算过程转换为快速加法运算,得到最优分组结果之后再进行DFA实际状态总数的计算,大大减少了计算时间,提高了效率。
如图7所示,本发明实施例提供一种正则表达式分组装置,包括:
第一模块71,用于将多条待分组正则表达式随机分组,得到至少一组表达式分组序列,根据所述至少一组表达式序列分组确定相应的至少一条染色体,并根据所述至少一条染色体确定相应的至少一个个体;
第二模块72,用于确定所述至少一个个体中每个个体的适应度,并根据每个个体的适应度与适应度阈值的比较结果获得较高适应度序列;
第三模块73,用于从所述较高适应度序列中任意选取两个适应度,确定被选取适应度的对应染色体,并对所述对应染色体进行交叉操作;
第四模块74,用于对经交叉操作后的染色体进行变异操作,获得变异染色体,并根据所述变异染色体确定对应的新一代个体;
第五模块75,用于判断是否到达预置收敛次数;
若是,则将所述新一代个体中的最优值作为问题的最优解;若否,则对所述新一代个体重复执行步骤102-105,直至到达预置收敛次数。
可选的,还包括:
第六模块76,用于获取所述较高适应度序列中最高适应度对应的个体,替换所述新一代个体中适应度最差的个体,并获得新一代个体。
可选的,所述第二模块72具体用于,对于每一代个体,找出最大DFA状态数和最小DFA状态数,并以最大DFA状态数和最小DFA状态数的和与各个个体的DFA状态数之差作为此个体的适应度。
可选的,所述第四模块74具体用于,对于每一个个体,随机选择其染色体上的一个基因位,以变异概率pm进行变异,获得变异染色体。
可选的,所述第四模块74具体用于,每产生一代新个体后,找出其适应度最差的个体,并用上一代个体中适应度最优的个体取代新一代个体中适应度最差的个体。
本发明实施例的正则表达式分组装置,将多条待分组正则表达式随机分组,得到至少一组表达式分组序列,根据至少一组表达式序列分组确定相应的至少一条染色体,并根据至少一条染色体确定相应的至少一个个体;确定至少一个个体中每个个体的适应度,并根据每个个体的适应度与适应度阈值的比较结果获得较高适应度序列;从较高适应度序列中任意选取两个适应度,确定被选取适应度的对应染色体,并对对应染色体进行交叉操作;对经交叉操作后的染色体进行变异操作,获得变异染色体,并根据变异染色体确定对应的新一代个体;判断是否到达预置收敛次数。能够在保证匹配效率的同时,减少DFA的状态膨胀引起的空间消耗。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种正则表达式分组方法,其特征在于,包括:
101、将多条待分组正则表达式随机分组,得到至少一组表达式分组序列,根据所述至少一组表达式序列分组确定相应的至少一条染色体,并根据所述至少一条染色体确定相应的至少一个个体;
102、确定所述至少一个个体中每个个体的适应度,并根据每个个体的适应度与适应度阈值的比较结果获得较高适应度序列;
103、从所述较高适应度序列中任意选取两个适应度,确定被选取适应度的对应染色体,并对所述对应染色体进行交叉操作;
104、对经交叉操作后的染色体进行变异操作,获得变异染色体,并根据所述变异染色体确定对应的新一代个体;
105、判断是否到达预置收敛次数;
若是,则将所述新一代个体中的最优值作为问题的最优解;若否,则对所述新一代个体重复执行步骤102-105,直至到达预置收敛次数;
所述步骤102中确定所述至少一个个体中每个个体的适应度包括:
对于每一代个体,找出最大DFA状态数和最小DFA状态数,并以最大DFA状态数和最小DFA状态数的和与各个个体的DFA状态数之差作为此个体的适应度。
2.根据权利要求1所述的正则表达式分组方法,其特征在于,所述步骤104和步骤105之间还包括:
1041、获取所述较高适应度序列中最高适应度对应的个体,替换所述新一代个体中适应度最差的个体,并获得新一代个体。
3.根据权利要求1所述的正则表达式分组方法,其特征在于,所述步骤104中对经交叉操作后的染色体进行变异操作,获得变异染色体包括:
对于每一个个体,随机选择其染色体上的一个基因位,以变异概率pm进行变异,获得变异染色体。
4.根据权利要求1所述的正则表达式分组方法,其特征在于,所述步骤104中根据所述变异染色体确定对应的新一代个体之后,还包括:
每产生一代新个体后,找出其适应度最差的个体,并用上一代个体中适应度最优的个体取代新一代个体中适应度最差的个体。
5.一种正则表达式分组装置,其特征在于,包括:
第一模块,用于将多条待分组正则表达式随机分组,得到至少一组表达式分组序列,根据所述至少一组表达式序列分组确定相应的至少一条染色体,并根据所述至少一条染色体确定相应的至少一个个体;
第二模块,用于确定所述至少一个个体中每个个体的适应度,并根据每个个体的适应度与适应度阈值的比较结果获得较高适应度序列;
第三模块,用于从所述较高适应度序列中任意选取两个适应度,确定被选取适应度的对应染色体,并对所述对应染色体进行交叉操作;
第四模块,用于对经交叉操作后的染色体进行变异操作,获得变异染色体,并根据所述变异染色体确定对应的新一代个体;
第五模块,用于判断是否到达预置收敛次数;
若是,则将所述新一代个体中的最优值作为问题的最优解;若否,则对所述新一代个体重复执行步骤102-105,直至到达预置收敛次数;
所述第二模块具体用于,对于每一代个体,找出最大DFA状态数和最小DFA状态数,并以最大DFA状态数和最小DFA状态数的和与各个个体的DFA状态数之差作为此个体的适应度。
6.根据权利要求5所述的正则表达式分组装置,其特征在于,还包括:
第六模块,用于获取所述较高适应度序列中最高适应度对应的个体,替换所述新一代个体中适应度最差的个体,并获得新一代个体。
7.根据权利要求5所述的正则表达式分组装置,其特征在于,所述第四模块具体用于,对于每一个个体,随机选择其染色体上的一个基因位,以变异概率pm进行变异,获得变异染色体。
8.根据权利要求5所述的正则表达式分组装置,其特征在于,所述第四模块具体用于,每产生一代新个体后,找出其适应度最差的个体,并用上一代个体中适应度最优的个体取代新一代个体中适应度最差的个体。
CN201410099132.4A 2014-03-17 2014-03-17 正则表达式分组方法及装置 Active CN103854056B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410099132.4A CN103854056B (zh) 2014-03-17 2014-03-17 正则表达式分组方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410099132.4A CN103854056B (zh) 2014-03-17 2014-03-17 正则表达式分组方法及装置

Publications (2)

Publication Number Publication Date
CN103854056A CN103854056A (zh) 2014-06-11
CN103854056B true CN103854056B (zh) 2016-11-16

Family

ID=50861686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410099132.4A Active CN103854056B (zh) 2014-03-17 2014-03-17 正则表达式分组方法及装置

Country Status (1)

Country Link
CN (1) CN103854056B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105391688A (zh) * 2015-10-13 2016-03-09 北京锐安科技有限公司 数据连接的识别方法和装置
CN114694755B (zh) * 2022-03-28 2023-01-24 中山大学 基因组组装方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111405A (zh) * 2010-12-17 2011-06-29 国家计算机网络与信息安全管理中心 一种均衡分两组编译正则表达式的方法
US8156247B2 (en) * 2007-04-30 2012-04-10 Lsi Corportion Systems and methods for reducing network performance degradation
CN102521356A (zh) * 2011-12-13 2012-06-27 曙光信息产业(北京)有限公司 基于确定有限状态自动机的正则表达式匹配设备和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156247B2 (en) * 2007-04-30 2012-04-10 Lsi Corportion Systems and methods for reducing network performance degradation
CN102111405A (zh) * 2010-12-17 2011-06-29 国家计算机网络与信息安全管理中心 一种均衡分两组编译正则表达式的方法
CN102521356A (zh) * 2011-12-13 2012-06-27 曙光信息产业(北京)有限公司 基于确定有限状态自动机的正则表达式匹配设备和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"一种正则表达式的高效分组算法";肖武德;《计算机安全》;20100415(第04期);全文 *
"一种用于深度包检测的正则表达式分组算法";杜江,王希;《现代计算机(专业版)》;20120625(第18期);全文 *
"基于遗传算法的Web信息抽取技术";郭银蕊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090915(第09期);第22页第1段、23页第1段、27页4.1、35-36页4.5.1、37页第1段及4.5.3、38页第1段及4.5.4、39页4.5.5 *
"基于遗传算法的模糊控制器的优化和研究";张志刚;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20060315(第03期);第17页第5段、第26页第3段 *

Also Published As

Publication number Publication date
CN103854056A (zh) 2014-06-11

Similar Documents

Publication Publication Date Title
CN102411687B (zh) 未知恶意代码的深度学习检测方法
CN102609714B (zh) 基于信息增益和在线支持向量机的新型分类器及分类方法
CN112929205B (zh) 一种基于元胞自动机的蜂群无人机故障传播方法
CN103413174A (zh) 基于深度学习方法的短期风速多步预测方法
CN104539601B (zh) 动态网络攻击过程可靠性分析方法及系统
CN111224966A (zh) 基于演化网络博弈的最优防御策略选取方法
Ren Learning fuzzy cognitive maps by a hybrid method using nonlinear hebbian learning and extended great deluge algorithm
CN109412161A (zh) 一种电力系统概率潮流计算方法及系统
CN103854056B (zh) 正则表达式分组方法及装置
Xiao et al. Network security situation prediction method based on MEA-BP
Liu et al. Optimal network defense strategy selection method based on evolutionary network game
CN103559538A (zh) Bp神经网络结构优化方法
CN107196808A (zh) 一种双层网络模型构建的方法
Han et al. An efficient genetic algorithm for optimization problems with time-consuming fitness evaluation
CN105469644B (zh) 飞行冲突解脱方法及设备
Meng et al. An improved community detection algorithm based on the distance dynamics
Pahlavani et al. A hybrid algorithm of simulated annealing and tabu search for graph colouring problem
Liu et al. Crowd intelligence evolution based on complex network
Yu et al. A Combined Neural and Genetic Algorithm Model for Data Center Temperature Control.
Ursani et al. Use of reliability engineering concepts in machine learning for classification
CN106878289A (zh) 基于多维模板有限自动机tmfa的正则表达式匹配方法及其装置
Jun An improved genetic algorithm for Intelligent test paper generation
CN104899447B (zh) 电力大数据预处理的属性约简方法
CN116319363B (zh) 具有mimo子系统的结构化网络能控性分析方法及装置
Dong et al. High performance and low latency mapping for neural network into network on chip architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant