最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

一种链路层协议数据类型识别的方法

IT圈 admin 65浏览 0评论

2024年4月22日发(作者:和晴波)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.7

(22)申请日 2014.06.23

(71)申请人 中国科学技术大学

地址 230026 安徽省合肥市包河区金寨路96号

(72)发明人 薛开平 余林浩 王和洲 洪佩琳

(74)专利代理机构 北京凯特来知识产权代理有限公司

代理人 郑立明

(51)

H04L29/06

权利要求说明书 说明书 幅图

(10)申请公布号 CN 104052749 A

(43)申请公布日 2014.09.17

(54)发明名称

(57)摘要

本发明公开了一种链路层协议数据

一种链路层协议数据类型识别的方

类型识别的方法,首先将从物理层解码获

得的比特流数据和各个链路层协议相对应

的特征字段分别进行预编码,编码为相应

的目标串和多个对应不同链路层协议的模

式串;依次选取一种链路层协议类型和相

应的模式串,对从目标串中滑动窗口获取

的目标子串和该模式串进行匹配;若匹配

成功,则确定所述目标子串对应的比特流

为匹配的模式串所对应的链路层协议类

型,并对目标串剩余部分使用匹配成功的

模式串继续进行匹配,返回所有成功匹配

的目标子串相对应的在所述比特流数据中

的位置。该方法能够提高协议识别和匹配

效率,在目标数据量很大、需多次调用算

法以获取多个匹配目标时尤为显著。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种链路层协议数据类型识别的方法,其特征在于,所述方法包括:

将从物理层解码获得的比特流数据和各个链路层协议相对应的特征字段分别进行预

编码,编码为相应的目标串和多个对应不同链路层协议的模式

串;

依次选取一种链路层协议类型和相应的模式串,对从目标串中滑动窗口获取的目标

若匹配成功,则确定所述目标子串对应的比特流为匹配的模式串所对应的链路层协

议类型,并对目标串剩余部分使用匹配成功的模式串继续进行

的目标子串相对应的在所述比特流数据中

子串和该模式串进行匹配;

匹配,返回所有成功匹配

的位置;

否则,继续选取其他链路层协议类型及其相应模式串进行匹配,直到所有链路层协

2.根据权利要求1所述链路层协议数据类型识别的方法,其特征在于,所述预编码

比特流数据以及特征字段的首尾均补“1”;

按照从左至右的顺序,依次统计相邻的“1”之间的“0”个数,其中两个相邻的

“1”之间的“0”个数记为0;

的方法具体包括:

议类型匹配完毕。

统计结果中每个数字代表一个字符,将各字符串联在一起,即为编码后的结果。

3.根据权利要求1所述链路层协议数据类型识别的方法,其特征在于,所述对从目

将目标串中的滑动窗口获取的目标子串与该模式串进行匹配,若匹配成功,则记录

此时编码前比特流数据中与链路层协议相对应的特征字段匹配

滑动窗口,对滑动窗口中新的目标子串继

标串中滑动窗口获取的目标子串和该模式串进行匹配,具体包括:

的位置,并按一定的规则

续进行匹配;

否则,按照一定的规则滑动窗口并执行匹配操作,直到窗口已滑动至所述目标串的

4.根据权利要求1或3所述链路层协议数据类型识别的方法,其特征在于,在和所

若编码后的模式串长度为1,则目标串中字符数值不小于模式串字符数值时,则匹

若编码后的模式串长度大于1,若假定长为m,则设窗口大小为m,按照一定的步

成功,所有满足该条件的目标串字符位置即为匹配的位置;

模式串进行匹配的过程中,所述方法包括:

末尾,此时该链路层协议类型的匹配识别过程完全结束。

长实

匹配。

现窗口在目标串上的滑动,对窗口内的目标子串与模式串进行

说 明 书

技术领域

本发明涉及网络通信技术领域,尤其涉及一种链路层协议数据类型识别的方法。

背景技术

目前,在链路层网络协议识别中通常采用单模式匹配技术,目标数据为物理层解码

得到的比特流数据,其字符集为{0,1},根据已有的链路层协议类型

段,构建协议特征集合,通过目标数据与特征集合逐一

回目标数据中所有的匹配位置。这里,所

组特定的模式文本集合P,

的出现

确定相应的特征字

匹配确定链路层协议类型,并返

说的模式匹配就是在指定字符集Σ下,给定一

对于任意一个目标文本T,查询出P中指定模式文本在T中所有

位置,通常来说目标文本T也称为目标数据、目标串;而模式文本P也称为模式

现有技术传统的模式匹配算法中,BF(Bruce Force)算法简单但效率低下,其他的各

种算法则是利用已匹配信息扩大窗口移动距离,移动距离越大,匹配速度越

高,虽然在自然语言场景下具有很好的效率,但在链路层协议

场景下,现有技术的匹配算法却受到一定影响。

串中每个字符的可能取值视为等概

二元字符集{0,1}场

串。

快,效率越

识别中的二元字符集{0,1}

首先链路帧上层协议未知,可以将目标

率的独立事件,显然字符集越大,这个概率越小;在

景下进行字符比较匹配时,发生失配的概率比在自然语言场景下小,

另外模式串和目标串的字符集相同,现有技术中即便是具有最大窗口移动距

(Quick Search)算法,失配时目标串的下一位字符也必然包含

达到最大窗口移动距离的目的也就无法实现。

离的QS

在模式串字符集中,要

发明内容

本发明的目的是提供一种链路层协议数据类型识别的方法,该方法能够提高协议识

别 和匹配效率,在目标数据量很大、需多次调用算法以获取多个匹配位

置时尤为显著。

一种链路层协议数据类型识别的方法,所述方法包括:

将从物理层解码获得的比特流数据和各个链路层协议相对应的特征字段分别进行预

依次选取一种链路层协议类型和相应的模式串,对从目标串中滑动窗口获取的目标

若匹配成功,则确定所述目标子串对应的比特流为匹配的模式串所对应的链路层协

议类型,并对目标串剩余部分使用匹配成功的模式串继续进行匹配,

的目标子串相对应的在所述比特流数据中的位置;

子串和该模式串进行匹配;

编码,编码为相应的目标串和多个对应不同链路层协议的模式串;

返回所有成功匹配

否则,继续选取其他链路层协议类型及其相应模式串进行匹配,直到所有链路层协

由上述本发明提供的技术方案可以看出,该方法能够提高协议识别和匹配效率,在

附图说明

目标数据量很大、需多次调用算法以获取多个匹配位置时尤为显著。

议类型匹配完毕。

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的

附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的

本领域的普通技术人员来讲,在不付出创造性劳动的前

其他附图。

一些实施例,对于

提下,还可以根据这些附图获得

图1为本发明实施例所提供的链路层协议数据类型识别的方法流程示意图;

图2为本发明实施例所提供的字符串编码示意图;

图3为本发明实施例所提供的模式串与目标串的成功匹配示例图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地

描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全

本发明的实施例,本领域普通技术人员在没有做出创造

实施例,都属于本发明的保护范围。

部的实施例。基于

性劳动前提下所获得的所有其他

本发明实施例所提供的方法是在进行模式匹配之前通过编码的方式扩大字符集,提

升比较匹配过程中发生失配的概率,并且尽量使目标子串的下一位字

字符集中,这就可以使失配时的窗口移动距离加大,进

结合附图对本发明实施例作进一步地详细

层协议数据类型识别的方法

符不包含在模式串

而达到快速匹配的目的。下面将

描述,如图1所示为本发明实施例所提供的链路

流程示意图,所述方法包括:

步骤11:将从物理层解码获得的比特流数据和各个链路层协议相对应的特征字段

分 别进行预编码,编码为相应的目标串和多个对应不同链路层协议的模

式串;

在该步骤中,编码方式的选择在于扩大目标串字符集和模式串字符集之间的差异

性,使编码后的数据更接近于自然语言数据,也就更适用于经典模式匹配算

段由相应的链路层协议类型决定,可使用链路层协议帧首尾定

法;特征字

界符作为特征字段。

在具体实现过程中,如图2所示为本发明实施例所提供的字符串编码示意图,上述

比特流数据以及特征字段的首尾均补“1”;

按照从左至右的顺序,依次统计相邻的“1”之间的“0”个数,其中两个相邻的

统计结果中每个数字代表一个字符,将各字符串联在一起,即为编码后的结果。

步骤12:依次选取一种链路层协议类型和相应的模式串,对从目标串中滑动窗口

在该步骤中,如图3所示为本发明实施例所提供的模式串与目标串的成功匹配示例

图。在目标串和模式串进行匹配的过程中,若编码后的模式串长度为1,则

数值不小于模式串字符数值时,则匹配成功,所有满足

配的位置;这里可以假定目标串T为

取的目标子串和该模式串进行匹配;

“1”之间的“0”个数记为0;

编码的规则方法具体包括:

目标串中字符

该条件的目标串字符位置即为匹

t0t1...tn,长度为1编码模式串为p,成功匹配

位置为

另外,若编码后的模式串长度大于1,若假定长为m,则设窗口大小为m,按照一

tk,则原始比特串中的匹配位置起始为:

定的 方式实现窗口在目标串上的滑动,对窗口内的目标串子串与模式串进

成功并不要求模式串与目标串的子串完全匹配,而是要

字符不大于目标子串中相应位置的字符数

行匹配。这里匹配

求中间字段完全相同,同时首尾

值即可。

步骤13:若匹配成功,则确定所述目标子串对应的比特流为匹配的模式串所对应

的 链路层协议类型,并对目标串剩余部分使用匹配成功的模式串继续进

成功匹配的目标子串相对应的在比特流数据中的位置;行匹配,返回所有

步骤14:否则,继续选取其他链路层协议类型及其相应模式串进行匹配,直到所

上述步骤12-14的匹配过程具体为:

首先将目标串中的滑动窗口获取的目标子串与该模式串进行匹配,若匹配成功,则

记录此时编码前比特流数据中与链路层协议相对应的特征字段匹配的

规则滑动窗口,对滑动窗口中新的目标子串继续进行匹

链路层协议类型匹配完毕。

位置,并按一定的

配;

否则,按照一定的规则滑动窗口并执行匹配操作,直到窗口已滑动至所述目标串的

末尾,此时该链路层协议类型的匹配识别

过程完全结束。

这里,如果当前选定的编码模式串不匹配,则选取其他链路层协议及其相应模式串

重新执行上述过程,直到存在匹配,或者所有可能的数据帧格式特征

均已经进行尝试。 字段对应的模式串

以具体实例来进行说明:假定目标串T为

t0t1...tn,在当前窗口下目标子串

Tk为 tktk+1...tk+m-1

选定编码模式串P为p0p1...pm-1,其中去掉

首尾两个字符p0和pm-1之后的模式串 中间子

串p1p2...pm-2记为P*,在匹配过

程中:

1)如果目标子串Tk与模式串P匹配,即p0的数值不大于

tk,pm-1的数值不大于 tk+m-1,对于i

=1,2,...,m-2,tk+i与pi的数值相等,则记录此时比特流数

据中的匹配位置为 若tk+m-1≥p0+pm-

1,则窗口向右滑动m-1位,否则窗口移动m位;

2)如果目标子串Tk与模式串P不匹配,则若pm-1=0,定

义参数x=m-1,执行步骤3。 若pm-1>0,首先比较

tk+m与模式串P最后一个字符pm-1:如果

tk+m的数值不小于pm-1,则窗 口向右滑动1

位,即窗口的移动距离为1;否则,如果tk+m小于pm-1

定义参数x=m,执行步

3)判断tk+x是否出现在模式串中间子串P*中:当

tk+x出现在P*中,则从右往左找到最 近的与

骤3;

tk+x数值相等的字符pm-i,则窗口向右滑动x-m+i位,即

窗口移动距离为x-m+i;当 tk+x没有出现在P*中,

进一步判断tk+x和p0的大小比较,如何tk+x

数值不小于p0,则窗口向 右滑动x位,直接推进至

tk+x处,即窗口移动距离为x,如果tk+x的数值小于

p0,则窗口向

处,即窗口移动距离为x+1;

右滑动x+1位,直接推进至tk+x+1

4)判断是否已经匹配完目标串中的所有字符,若k+m>n,则匹配完目标串所有字

综上所述,本发明实施例所提供的方法能够提高协议识别和匹配效率,在目标数据

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,

任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易

换,都应涵盖在本发明的保护范围之内。因此,本发明

保护范围为准。

量很大、需多次调用算法以获取多个匹配位置时尤为显著。

符,匹配结束,返回所有匹配位置结果;反之,则重复执行以上匹配过程。

想到的变化或替

的保护范围应该以权利要求书的

2024年4月22日发(作者:和晴波)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.7

(22)申请日 2014.06.23

(71)申请人 中国科学技术大学

地址 230026 安徽省合肥市包河区金寨路96号

(72)发明人 薛开平 余林浩 王和洲 洪佩琳

(74)专利代理机构 北京凯特来知识产权代理有限公司

代理人 郑立明

(51)

H04L29/06

权利要求说明书 说明书 幅图

(10)申请公布号 CN 104052749 A

(43)申请公布日 2014.09.17

(54)发明名称

(57)摘要

本发明公开了一种链路层协议数据

一种链路层协议数据类型识别的方

类型识别的方法,首先将从物理层解码获

得的比特流数据和各个链路层协议相对应

的特征字段分别进行预编码,编码为相应

的目标串和多个对应不同链路层协议的模

式串;依次选取一种链路层协议类型和相

应的模式串,对从目标串中滑动窗口获取

的目标子串和该模式串进行匹配;若匹配

成功,则确定所述目标子串对应的比特流

为匹配的模式串所对应的链路层协议类

型,并对目标串剩余部分使用匹配成功的

模式串继续进行匹配,返回所有成功匹配

的目标子串相对应的在所述比特流数据中

的位置。该方法能够提高协议识别和匹配

效率,在目标数据量很大、需多次调用算

法以获取多个匹配目标时尤为显著。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种链路层协议数据类型识别的方法,其特征在于,所述方法包括:

将从物理层解码获得的比特流数据和各个链路层协议相对应的特征字段分别进行预

编码,编码为相应的目标串和多个对应不同链路层协议的模式

串;

依次选取一种链路层协议类型和相应的模式串,对从目标串中滑动窗口获取的目标

若匹配成功,则确定所述目标子串对应的比特流为匹配的模式串所对应的链路层协

议类型,并对目标串剩余部分使用匹配成功的模式串继续进行

的目标子串相对应的在所述比特流数据中

子串和该模式串进行匹配;

匹配,返回所有成功匹配

的位置;

否则,继续选取其他链路层协议类型及其相应模式串进行匹配,直到所有链路层协

2.根据权利要求1所述链路层协议数据类型识别的方法,其特征在于,所述预编码

比特流数据以及特征字段的首尾均补“1”;

按照从左至右的顺序,依次统计相邻的“1”之间的“0”个数,其中两个相邻的

“1”之间的“0”个数记为0;

的方法具体包括:

议类型匹配完毕。

统计结果中每个数字代表一个字符,将各字符串联在一起,即为编码后的结果。

3.根据权利要求1所述链路层协议数据类型识别的方法,其特征在于,所述对从目

将目标串中的滑动窗口获取的目标子串与该模式串进行匹配,若匹配成功,则记录

此时编码前比特流数据中与链路层协议相对应的特征字段匹配

滑动窗口,对滑动窗口中新的目标子串继

标串中滑动窗口获取的目标子串和该模式串进行匹配,具体包括:

的位置,并按一定的规则

续进行匹配;

否则,按照一定的规则滑动窗口并执行匹配操作,直到窗口已滑动至所述目标串的

4.根据权利要求1或3所述链路层协议数据类型识别的方法,其特征在于,在和所

若编码后的模式串长度为1,则目标串中字符数值不小于模式串字符数值时,则匹

若编码后的模式串长度大于1,若假定长为m,则设窗口大小为m,按照一定的步

成功,所有满足该条件的目标串字符位置即为匹配的位置;

模式串进行匹配的过程中,所述方法包括:

末尾,此时该链路层协议类型的匹配识别过程完全结束。

长实

匹配。

现窗口在目标串上的滑动,对窗口内的目标子串与模式串进行

说 明 书

技术领域

本发明涉及网络通信技术领域,尤其涉及一种链路层协议数据类型识别的方法。

背景技术

目前,在链路层网络协议识别中通常采用单模式匹配技术,目标数据为物理层解码

得到的比特流数据,其字符集为{0,1},根据已有的链路层协议类型

段,构建协议特征集合,通过目标数据与特征集合逐一

回目标数据中所有的匹配位置。这里,所

组特定的模式文本集合P,

的出现

确定相应的特征字

匹配确定链路层协议类型,并返

说的模式匹配就是在指定字符集Σ下,给定一

对于任意一个目标文本T,查询出P中指定模式文本在T中所有

位置,通常来说目标文本T也称为目标数据、目标串;而模式文本P也称为模式

现有技术传统的模式匹配算法中,BF(Bruce Force)算法简单但效率低下,其他的各

种算法则是利用已匹配信息扩大窗口移动距离,移动距离越大,匹配速度越

高,虽然在自然语言场景下具有很好的效率,但在链路层协议

场景下,现有技术的匹配算法却受到一定影响。

串中每个字符的可能取值视为等概

二元字符集{0,1}场

串。

快,效率越

识别中的二元字符集{0,1}

首先链路帧上层协议未知,可以将目标

率的独立事件,显然字符集越大,这个概率越小;在

景下进行字符比较匹配时,发生失配的概率比在自然语言场景下小,

另外模式串和目标串的字符集相同,现有技术中即便是具有最大窗口移动距

(Quick Search)算法,失配时目标串的下一位字符也必然包含

达到最大窗口移动距离的目的也就无法实现。

离的QS

在模式串字符集中,要

发明内容

本发明的目的是提供一种链路层协议数据类型识别的方法,该方法能够提高协议识

别 和匹配效率,在目标数据量很大、需多次调用算法以获取多个匹配位

置时尤为显著。

一种链路层协议数据类型识别的方法,所述方法包括:

将从物理层解码获得的比特流数据和各个链路层协议相对应的特征字段分别进行预

依次选取一种链路层协议类型和相应的模式串,对从目标串中滑动窗口获取的目标

若匹配成功,则确定所述目标子串对应的比特流为匹配的模式串所对应的链路层协

议类型,并对目标串剩余部分使用匹配成功的模式串继续进行匹配,

的目标子串相对应的在所述比特流数据中的位置;

子串和该模式串进行匹配;

编码,编码为相应的目标串和多个对应不同链路层协议的模式串;

返回所有成功匹配

否则,继续选取其他链路层协议类型及其相应模式串进行匹配,直到所有链路层协

由上述本发明提供的技术方案可以看出,该方法能够提高协议识别和匹配效率,在

附图说明

目标数据量很大、需多次调用算法以获取多个匹配位置时尤为显著。

议类型匹配完毕。

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的

附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的

本领域的普通技术人员来讲,在不付出创造性劳动的前

其他附图。

一些实施例,对于

提下,还可以根据这些附图获得

图1为本发明实施例所提供的链路层协议数据类型识别的方法流程示意图;

图2为本发明实施例所提供的字符串编码示意图;

图3为本发明实施例所提供的模式串与目标串的成功匹配示例图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地

描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全

本发明的实施例,本领域普通技术人员在没有做出创造

实施例,都属于本发明的保护范围。

部的实施例。基于

性劳动前提下所获得的所有其他

本发明实施例所提供的方法是在进行模式匹配之前通过编码的方式扩大字符集,提

升比较匹配过程中发生失配的概率,并且尽量使目标子串的下一位字

字符集中,这就可以使失配时的窗口移动距离加大,进

结合附图对本发明实施例作进一步地详细

层协议数据类型识别的方法

符不包含在模式串

而达到快速匹配的目的。下面将

描述,如图1所示为本发明实施例所提供的链路

流程示意图,所述方法包括:

步骤11:将从物理层解码获得的比特流数据和各个链路层协议相对应的特征字段

分 别进行预编码,编码为相应的目标串和多个对应不同链路层协议的模

式串;

在该步骤中,编码方式的选择在于扩大目标串字符集和模式串字符集之间的差异

性,使编码后的数据更接近于自然语言数据,也就更适用于经典模式匹配算

段由相应的链路层协议类型决定,可使用链路层协议帧首尾定

法;特征字

界符作为特征字段。

在具体实现过程中,如图2所示为本发明实施例所提供的字符串编码示意图,上述

比特流数据以及特征字段的首尾均补“1”;

按照从左至右的顺序,依次统计相邻的“1”之间的“0”个数,其中两个相邻的

统计结果中每个数字代表一个字符,将各字符串联在一起,即为编码后的结果。

步骤12:依次选取一种链路层协议类型和相应的模式串,对从目标串中滑动窗口

在该步骤中,如图3所示为本发明实施例所提供的模式串与目标串的成功匹配示例

图。在目标串和模式串进行匹配的过程中,若编码后的模式串长度为1,则

数值不小于模式串字符数值时,则匹配成功,所有满足

配的位置;这里可以假定目标串T为

取的目标子串和该模式串进行匹配;

“1”之间的“0”个数记为0;

编码的规则方法具体包括:

目标串中字符

该条件的目标串字符位置即为匹

t0t1...tn,长度为1编码模式串为p,成功匹配

位置为

另外,若编码后的模式串长度大于1,若假定长为m,则设窗口大小为m,按照一

tk,则原始比特串中的匹配位置起始为:

定的 方式实现窗口在目标串上的滑动,对窗口内的目标串子串与模式串进

成功并不要求模式串与目标串的子串完全匹配,而是要

字符不大于目标子串中相应位置的字符数

行匹配。这里匹配

求中间字段完全相同,同时首尾

值即可。

步骤13:若匹配成功,则确定所述目标子串对应的比特流为匹配的模式串所对应

的 链路层协议类型,并对目标串剩余部分使用匹配成功的模式串继续进

成功匹配的目标子串相对应的在比特流数据中的位置;行匹配,返回所有

步骤14:否则,继续选取其他链路层协议类型及其相应模式串进行匹配,直到所

上述步骤12-14的匹配过程具体为:

首先将目标串中的滑动窗口获取的目标子串与该模式串进行匹配,若匹配成功,则

记录此时编码前比特流数据中与链路层协议相对应的特征字段匹配的

规则滑动窗口,对滑动窗口中新的目标子串继续进行匹

链路层协议类型匹配完毕。

位置,并按一定的

配;

否则,按照一定的规则滑动窗口并执行匹配操作,直到窗口已滑动至所述目标串的

末尾,此时该链路层协议类型的匹配识别

过程完全结束。

这里,如果当前选定的编码模式串不匹配,则选取其他链路层协议及其相应模式串

重新执行上述过程,直到存在匹配,或者所有可能的数据帧格式特征

均已经进行尝试。 字段对应的模式串

以具体实例来进行说明:假定目标串T为

t0t1...tn,在当前窗口下目标子串

Tk为 tktk+1...tk+m-1

选定编码模式串P为p0p1...pm-1,其中去掉

首尾两个字符p0和pm-1之后的模式串 中间子

串p1p2...pm-2记为P*,在匹配过

程中:

1)如果目标子串Tk与模式串P匹配,即p0的数值不大于

tk,pm-1的数值不大于 tk+m-1,对于i

=1,2,...,m-2,tk+i与pi的数值相等,则记录此时比特流数

据中的匹配位置为 若tk+m-1≥p0+pm-

1,则窗口向右滑动m-1位,否则窗口移动m位;

2)如果目标子串Tk与模式串P不匹配,则若pm-1=0,定

义参数x=m-1,执行步骤3。 若pm-1>0,首先比较

tk+m与模式串P最后一个字符pm-1:如果

tk+m的数值不小于pm-1,则窗 口向右滑动1

位,即窗口的移动距离为1;否则,如果tk+m小于pm-1

定义参数x=m,执行步

3)判断tk+x是否出现在模式串中间子串P*中:当

tk+x出现在P*中,则从右往左找到最 近的与

骤3;

tk+x数值相等的字符pm-i,则窗口向右滑动x-m+i位,即

窗口移动距离为x-m+i;当 tk+x没有出现在P*中,

进一步判断tk+x和p0的大小比较,如何tk+x

数值不小于p0,则窗口向 右滑动x位,直接推进至

tk+x处,即窗口移动距离为x,如果tk+x的数值小于

p0,则窗口向

处,即窗口移动距离为x+1;

右滑动x+1位,直接推进至tk+x+1

4)判断是否已经匹配完目标串中的所有字符,若k+m>n,则匹配完目标串所有字

综上所述,本发明实施例所提供的方法能够提高协议识别和匹配效率,在目标数据

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,

任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易

换,都应涵盖在本发明的保护范围之内。因此,本发明

保护范围为准。

量很大、需多次调用算法以获取多个匹配位置时尤为显著。

符,匹配结束,返回所有匹配位置结果;反之,则重复执行以上匹配过程。

想到的变化或替

的保护范围应该以权利要求书的

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论