一种报文关键字匹配方法、装置、设备及存储介质与流程
未命名
07-23
阅读:85
评论:0
1.本发明涉及网络数据处理技术领域,尤其涉及一种报文关键字匹配方法、装置、设备及存储介质。
背景技术:
2.现有网络数据流量处理设备中,常利用三态内容寻址存储器芯片(ternary content addressable memory,tcam)对网络数据报文进行浮动规则匹配。而随着具备关键字筛选需求的网络流量日益增加,对执行报文关键字匹配的设备的功能和性能要求也不断提升,在设备性能有限的基础上尽可能提升匹配效率。
3.目前利用tcam技术实现的网络数据报文匹配,主要存在两种匹配形式:全包浮动规则匹配和窗口浮动规则匹配,可分别支持网络数据报文关键字匹配的不同需求。
4.然而,由于两种匹配规则的执行方式不同,为执行不同匹配规则输入至tcam中进行匹配的报文表现形式应不同。若对两种匹配规则采用相同的报文输入,则可能出现待匹配报文的起点在窗口范围内而结束值位于窗口范围外的情况。且一般情况下一个报文关键字匹配设备仅会存储一种类型的匹配规则,以保证报文匹配的正确率,若需进行不同匹配规则的报文匹配,则需通过两次查找tcam的方式实现,降低了报文关键字匹配的效率。
技术实现要素:
5.本发明提供了一种报文关键字匹配方法、装置、设备及存储介质,可通过一次报文发送实现不同关键字匹配规则的匹配,且可避免规则匹配异常,提升了报文关键字匹配效率。
6.第一方面,本发明实施例提供了一种报文关键字匹配方法,包括:
7.获取待匹配报文,并通过布隆预测确定待匹配报文中的关键字起始位置;
8.根据关键字起始位置、预设窗口范围和预设最大关键字长度对待匹配报文进行重编码,确定重编码报文;
9.将重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;
10.其中,关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,第一关键字匹配规则和第二关键字匹配规则的掩码规则不同;重编码报文的编码格式与关键字匹配规则的编码格式相同。
11.可选的,根据关键字起始位置和预设窗口范围对待匹配报文进行重编码,确定重编码报文,包括:
12.将待匹配报文中以关键字起始位置为首字节,长度为预设最大关键字长度的报文确定为目标报文;
13.根据关键字起始位置、预设窗口范围和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文;
14.将目标报文与范围位图报文相结合,确定为重编码报文。
15.上述技术方案通过待匹配关键字在待匹配报文中的起始位置,预设窗口范围,确定需要进行匹配的报文,同时对确定出的报文进行重编码,使其与预先下发的关键字匹配规则结构相同,由于本发明实施例中对不同类型的关键字匹配规则的编码格式进行了统一,使得重编码后的重编码报文可直接与关键字匹配规则进行匹配,避免了针对不同类型匹配规则的多次待匹配报文发送。
16.可选的,根据关键字起始位置、预设窗口范围和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文,包括:
17.若关键字起始位置位于预设窗口范围之外,则生成长度为预设最大关键字长度,且各范围位图均被置位为一的范围位图报文;
18.若关键字起始位置位于预设窗口范围之内,则根据关键字起始位置、预设最大关键字长度和预设窗口范围的窗口结束位置确定起始范围位图,根据起始范围位图和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文。
19.上述技术方案通过关键字起始位置与预设窗口范围的关系,对应设置用于掩码计算的范围位图报文,通过范围位图报文表明待匹配报文中关键字被匹配的可行性,避免因窗口范围超出而导致的规则匹配异常,提升了报文匹配的准确性和匹配效率。
20.可选的,根据关键字起始位置、预设最大关键字长度和预设窗口范围的窗口结束位置确定起始范围位图,包括:
21.将窗口结束位置与关键字起始位置之差确定为第一差值;
22.将预设最大关键字长度与第一差值之差确定为第二差值,并将第二差值加一确定为起始范围位图。
23.上述技术方案明确了起始范围位图的确定方式,以通过标明起始范围位图的方式对重编码报文的掩码进行设置,进以明确待匹配报文中待匹配关键字是否可被后续匹配规则命中,提升了报文匹配的准确性和匹配效率。
24.可选的,根据起始范围位图和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文,包括:
25.若起始范围位图大于预设最大关键字长度,则生成长度为预设最大关键字长度,且各范围位图均被置位为零的范围位图报文;
26.否则,生成长度为预设最大关键字长度,起始范围位图被置位为一,其他范围位图均被置位为零的范围位图报文。
27.上述技术方案通过确定出的起始范围位图与预设最大关键字长度的关系,对重编码报文中各范围位图进行置位,明确待匹配报文中待匹配关键字是否可被后续匹配规则命中,提升了报文匹配的准确性和匹配效率。
28.可选的,在获取待匹配报文之前,还包括:
29.获取待匹配关键字和匹配规则类型;
30.根据待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建关键字匹配规则,并下发关键字匹配规则。
31.上述技术方案通过待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建编码格式一致的关键字匹配规则,由于对报文关键字匹配过程中的规则格式进行统一,仅通过设置不同的掩码规则实现规则命中的确定,使得不同匹配规
则类型可同时存储于同一设备,并可在一次待匹配报文发送中进行不同规则的命中。
32.可选的,根据待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建关键字匹配规则,包括:
33.构建包含待匹配关键字,长度为预设最大关键字长度的规则关键字报文;
34.若匹配规则类型为全包匹配规则类型,则构建长度为预设最大关键字长度的第一规则范围位图报文,并将第一规则范围位图报文中各第一规则范围位图置位为掩码不关心;
35.若匹配规则类型为窗口匹配规则类型,则根据待匹配关键字的关键字长度和预设最大关键字长度确定关键字不可至范围,并根据关键字不可至范围构建长度为预设最大关键字长度的第二规则范围位图报文;其中,第二规则范围位图报文中与关键字不可至范围对应的各第二规则范围位图被置位为零且掩码关心,其余第二规则范围位图被置位为掩码不关心;
36.将规则关键字报文与第一规则范围位图报文相结合,确定为第一关键字匹配规则;
37.将规则关键字报文与第二规则范围位图报文相结合,确定为第二关键字匹配规则。
38.上述技术方案通过对关键字匹配规则的规则范围位图进行不同的置位,以及掩码关心与否的设置,同步了报文匹配过程中规则与报文的编码格式,并避免了规则匹配异常,提升了报文关键字匹配效率。
39.可选的,将重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果,包括:
40.将重编码报文与关键字匹配规则进行掩码运算;
41.若运算结果为完全一致,则将关键字匹配结果确定为规则命中;
42.否则,将关键字匹配结果确定为规则未命中。
43.上述技术方案通过掩码运算方式实现对重编码报文和关键字匹配规则的命中确定,由于不同关键字匹配规则中掩码状态的不同,实现了一次重编码报文发送与关键字匹配规则的精准命中,避免了规则匹配异常,提升了报文关键字匹配效率。
44.第二方面,本发明实施例还提供了一种报文关键字匹配装置,包括:
45.报文获取模块,用于获取待匹配报文,并通过布隆预测确定待匹配报文中的关键字起始位置;
46.报文重编码模块,用于根据关键字起始位置、预设窗口范围和预设最大关键字长度对待匹配报文进行重编码,确定重编码报文;
47.关键字匹配模块,用于将重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;
48.其中,关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,第一关键字匹配规则和第二关键字匹配规则的掩码规则不同;重编码报文的编码格式与关键字匹配规则的编码格式相同。
49.第三方面,本发明实施例还提供了一种报文关键字匹配设备,包括:
50.至少一个处理器;以及
51.与至少一个处理器通信连接的存储器;其中,
52.存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明实施例提供的报文关键字匹配方法。
53.第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行本发明实施例提供的报文关键字匹配方法。
54.本发明实施例的技术方案,通过对待匹配报文的重编码,统一了待匹配报文与关键字匹配规则的编码格式,通过不同的掩码规则对关键字匹配规则的匹配规则类型进行区分,使得不同匹配规则类型的关键字匹配规则可同时存在与设备中,重编码后的重编码报文可直接与关键字匹配规则进行匹配,并依据对应设置的掩码精准命中需要进行匹配的规则,避免了针对不同类型匹配规则的多次待匹配报文发送,且可避免规则匹配异常,提升了报文关键字匹配效率。
55.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
56.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
57.图1为本发明实施例提供的一种报文关键字匹配方法的流程图;
58.图2为本发明实施例提供的另一种报文关键字匹配方法的流程图;
59.图3为本发明实施例提供的一种根据待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建关键字匹配规则的流程示例图;
60.图4为本发明实施例提供的一种报文关键字匹配装置的结构示意图;
61.图5为本发明实施例提供的一种报文关键字匹配设备的结构示意图。
具体实施方式
62.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
63.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品
或设备固有的其它步骤或单元。
64.图1为本发明实施例提供的一种报文关键字匹配方法的流程图,本发明实施例可适用于对网络数据流量处理过程中,对报文中存在的关键字进行匹配查找的情况,该方法可以由报文关键字匹配装置来执行,该报文关键字匹配装置可以采用软件和/或硬件的形式来实现,该报文关键字匹配装置可配置于报文关键字匹配设备中,该报文关键字匹配设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。
65.在本发明实施例中,报文关键字匹配方法可由现场可编程逻辑门阵列(field programmable gate array,fpga)和tcam芯片结合实现,通过fpga实现对待匹配报文的提取和重编码等处理,并将处理后的报文发送至tcam中,由预先下发至tcam中的关键字匹配规则对所接收到的报文进行命中匹配。需要明确的是,由于tcam中每个比特可表示三个值:0、1和x,也即实际上tcam中每个比特在物理上是两个比特,也即在实际值上海包含一个对应的掩码状态值。基于tcam芯片的特性,实现了针对同样待匹配关键字不同匹配规则类型的关键字匹配规则,可同时被下发至tcam中以进行后续匹配的目的。
66.如图1所示,本发明实施例提供的一种报文关键字匹配方法,具体包括如下步骤:
67.s101、获取待匹配报文,并通过布隆预测确定待匹配报文中的关键字起始位置。
68.在本实施例中,待匹配报文具体可理解为网络数据流量中筛选得到的,需确定其中是否包含有特定关键字的报文。布隆预测(bloom filter)具体可理解为一种大数据排重算法,可用于对报文中的关键信息进行过滤,在本发明实施例中将布隆预测算法应用于对待匹配报文中关键字的首字符位置查找。关键字起始位置具体可理解为需要被匹配到的待匹配关键字的首字符,在待匹配报文中所处的位置。
69.具体的,在需要对网络数据流量进行处理时,fpga获取需要进行关键字匹配的待匹配报文,并通过布隆预测算法确定待匹配关键字的首字符在待匹配报文中的位置,将该位置确定为关键字起始位置。
70.示例性的,假设待匹配报文为一个200字符的报文,待匹配关键字为6个字符的组合,位于待匹配报文中的第94-99字符,则关键字起始位置为待匹配报文的第94个字符。
71.s102、根据关键字起始位置、预设窗口范围和预设最大关键字长度对待匹配报文进行重编码,确定重编码报文。
72.其中,重编码报文的编码格式与关键字匹配规则的编码格式相同。
73.在本实施例中,预设窗口范围具体可理解为根据用户实际需求预先设置的,用以表明用户希望在待匹配报文进行关键字查找报文范围的信息。示例性的,假设待匹配报文为一个200字符的报文,用户希望对其中第25字符至第140字符范围内的报文进行关键字匹配,则可认为预设窗口范围即为第25-140字符,而无需对超出该窗口范围的报文进行关键字匹配及后续的关键字规则匹配。预设最大关键字长度具体可理解为根据实际情况预先设置的,所需匹配关键字的最大长度。重编码报文具体可理解为根据预先下发的关键字匹配规则对应编码格式,将待匹配报文中的报文信息依据对应编码格式进行重新编码后生成的报文。
74.具体的,fpga根据关键字起始位置和预设最大关键字长度确定需要被传入tcam与关键字匹配规则进行匹配的报文,进而根据预设窗口范围确定需要进行匹配的报文是否全部位于窗口范围内,为确定出的报文配置对应掩码,将报文原文和掩码信息进行组合,重编
码为与预下发的关键字匹配规则编码格式相同的报文,得到重编码报文。
75.在本发明实施例中,通过将待匹配报文进行重编码,使得编码后得到的重编码报文与tcam中预下发的关键字匹配规则具有相同的编码格式,使得fpga无需根据tcam中不同类型的关键字匹配规则向tcam发送不同报文,同时由于重编码报文中包括依据预设窗口范围、关键字起始位置和预设最大关键字长度配置的掩码信息,避免了规则匹配异常,且由于有预设窗口范围的限制,减少了需要发送至tcam中报文的长度,提升了报文关键字的匹配效率。
76.s103、将重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果。
77.其中,关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,第一关键字匹配规则和第二关键字匹配规则的掩码规则不同。
78.在本实施例中,关键字匹配规则具体可理解为用于查询指定关键字在网络报文中是否出现的规则。
79.具体的,在报文关键字匹配设备投入使用之前,可根据需要进行匹配的不同关键字,以及对网络报文查询位置的需求生成不同掩码规则的关键字匹配规则,并将关键字匹配规则下发至tcam中进行存储。示例性的,可将实现关键字在网络报文任意位置匹配查询的关键字匹配规则确定为第一关键字匹配规则,并根据对应编码格式设置第一关键字匹配规则的掩码状态;可将实现关键字在网络报文指定范围位置进行匹配查询的关键字匹配规则确定为第二关键字匹配规则,并根据对应变码格式设置第二关键字匹配规则的掩码状态。tcam在接收到fpga发送的重编码报文时,根据重编码报文需要匹配的关键字内容由预下发的多个关键字匹配规则中确定需要进行匹配的规则,进而将重编码报文的掩码信息和需要进行匹配的关键字匹配规则中的掩码信息进行匹配,将重编码报文与关键字匹配规则的命中情况确定为关键字匹配结果。
80.本发明实施例提供了一种报文关键字匹配方法,通过获取待匹配报文,并通过布隆预测确定待匹配报文中的关键字起始位置;根据关键字起始位置、预设窗口范围和预设最大关键字长度对待匹配报文进行重编码,确定重编码报文;将重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;其中,关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,第一关键字匹配规则和第二关键字匹配规则的掩码规则不同;重编码报文的编码格式与关键字匹配规则的编码格式相同。通过采用上述技术方案,对待匹配报文的重编码,统一了待匹配报文与关键字匹配规则的编码格式,通过不同的掩码规则对关键字匹配规则的匹配规则类型进行区分,使得不同匹配规则类型的关键字匹配规则可同时存在与设备中,重编码后的重编码报文可直接与关键字匹配规则进行匹配,并依据对应设置的掩码精准命中需要进行匹配的规则,避免了针对不同类型匹配规则的多次待匹配报文发送,且可避免规则匹配异常,提升了报文关键字匹配效率。
81.图2为本发明实施例提供的另一种报文关键字匹配方法的流程图,本发明实施例的技术方案在上述各可选技术方案的基础上进一步细化,明确了关键字匹配规则和重编码报文的编码格式,以及编码格式中两部分报文分别的确定方式,基于预设窗口范围、关键字起始位置和预设最大关键字长度确定范围位图报文中各范围位图的置位信息,以便在后续tcam中进行掩码运算。通过统一规则与报文的编码格式,实现了一次重编码报文发送与关键字匹配规则的精准命中,避免了规则匹配异常,提升了报文关键字匹配效率。
82.如图2所示,本发明实施例提供的一种报文关键字匹配方法,具体包括如下步骤:
83.s201、获取待匹配报文,并通过布隆预测确定待匹配报文中的关键字起始位置。
84.s202、将待匹配报文中以关键字起始位置为首字节,长度为预设最大关键字长度的报文确定为目标报文。
85.在本实施例中,目标报文具体可理解为由待匹配报文中提取的,需要发送至tcam中进行关键字匹配的报文原文。
86.具体的,为减少发送至tcam中进行关键字匹配报文的长度,同时为保证确定出的报文能够容纳待匹配关键字,由于预设最大关键字长度为关键字匹配规则中可进行关键字匹配的报文最大长度,也为关键字匹配规则编码格式中关键字报文部分的规定长度,fpga在通过布隆算法确定出关键字起始位置后,可将关键字起始位置作为需要发送至tcam进行关键字匹配报文的首字节,将自该字节后且包含该字节在内的,长度为预设最大关键字长度的报文确定为需要发送至tcam进行关键字匹配的目标报文。
87.示例性的,假设待匹配报文为一个200字符的报文,预设最大关键字长度为20字节,确定出的关键字起始位置为第94个字符,则生成的目标报文为待匹配报文中的第94-113个字符的报文。
88.s203、根据关键字起始位置、预设窗口范围和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文。
89.在本实施例中,范围位图报文具体可理解为用以表明目标报文中各字节对应掩码状态的报文,也可理解为用以表明目标报文中预测得到的关键字起始位置是否可出现在对应范围位图的报文。
90.具体的,通过比对关键字起始位置与预设窗口范围间的关系,可明确目标报文是否为用户需要查找的报文,也可明确目标报文中是否包含用户实际需要查找的待匹配关键字,在此基础上考虑预设最大关键字长度,可明确目标报文是否可命中预先下发至tcam中的关键字匹配规则的信息,本发明实施例中通过设置与目标报文对应的范围位图报文,依据关键字起始位置、预设窗口范围和预设最大关键字长度确定与目标报文对应各范围位图的掩码状态,以满足后续关键字匹配规则命中的需求。
91.在本发明实施例的一个实施方式中,根据关键字起始位置、预设窗口范围和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文,具体可分为如下两种情况:
92.a)若关键字起始位置位于预设窗口范围之外,则生成长度为预设最大关键字长度,且各范围位图均被置位为一的范围位图报文。
93.具体的,在关键字起始位置位于预设窗口范围之外时,可认为用户需要进行匹配的窗口范围内不存在待匹配关键字,也即tcam中一定不存在可命中发送至其中重编码报文的关键字匹配规则。由于tcam中的关键字匹配规则在掩码关心情况下所设置的范围位图均会被置位为零,此时通过生成长度与目标报文相同,且各范围位图均被置位为一的范围位图报文以保证不被规则命中。
94.b)若关键字起始位置位于预设窗口范围之内,则根据关键字起始位置、预设最大关键字长度和预设窗口范围的窗口结束位置确定起始范围位图,根据起始范围位图和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文。
95.在本实施例中,窗口结束位置具体可理解为用户希望在待匹配报文进行关键字查找报文范围的最后一个字节对应的位置。起始范围位图具体可理解为关键字起始位置在窗口范围内出现位置对应的范围位图。
96.具体的,若关键字起始位置位于预设窗口范围之内,则目标报文中的待匹配关键字可能完全位于预设窗口范围内,也可能部分位于预设窗口范围之外,为保证命中规则的重编码报文中待匹配关键字的结束值一定位于窗口范围之内,可根据关键字起始位置、预设最大关键字长度和预设窗口范围的窗口结束位置,确定关键字起始位置出现在预设最大关键字长度内位置的范围位图,将其作为起始范围位图,进而依据预设最大关键字长度判断起始范围位图是否在预设最大关键字长度范围内,以确定范围位图报文对应的目标报文是否全部处于可命中状态,进而依据起始范围位图生成长度为预设最大关键字长度的范围位图报文。
97.本发明实施例中,通过待匹配关键字在待匹配报文中的起始位置,预设窗口范围,确定需要进行匹配的报文,同时对确定出的报文进行重编码,使其与预先下发的关键字匹配规则结构相同,由于本发明实施例中对不同类型的关键字匹配规则的编码格式进行了统一,使得重编码后的重编码报文可直接与关键字匹配规则进行匹配,避免了针对不同类型匹配规则的多次待匹配报文发送。
98.在本发明实施例的一个实施方式中,根据关键字起始位置、预设最大关键字长度和预设窗口范围的窗口结束位置确定起始范围位图,具体通过如下方式实现:
99.将窗口结束位置与关键字起始位置之差确定为第一差值;将预设最大关键字长度与第一差值之差确定为第二差值,并将第二差值加一确定为起始范围位图。
100.示例性的,假设预设窗口范围对应的窗口起始位置和窗口结束位置字节分别为ln和lm,其中ln《lm,关键字起始位置字节为bs,预设最大关键字长度为n,则在ln《bs《lm时,需对目标报文中待匹配关键字是否全包含于预设窗口范围进行确定,将关键字起始位置在窗口范围内出现位置对应的范围位图确定为起始范围位图m,m可通过下式表示:
101.m=[n-(lm-bs)+1]
[0102]
在本发明实施例的一个实施方式中,根据起始范围位图和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文,具体分为如下两种情况:
[0103]
若起始范围位图大于预设最大关键字长度,则生成长度为预设最大关键字长度,且各范围位图均被置位为零的范围位图报文;
[0104]
否则,生成长度为预设最大关键字长度,起始范围位图被置位为一,其他范围位图均被置位为零的范围位图报文。
[0105]
具体的,若起始范围位图大于预设最大关键字长度,则可认为范围位图报文中没有关键字起始位置在窗口范围内不可出现位置对应的范围位图,此时生成长度为预设最大关键字长度的范围位图报文,并将其中各范围位图均被置位为零。若起始范围位图小于或等于预设最大关键字长度,则生成长度为预设最大关键字长度的范围位图报文,并将其中起始范围位图置位为一,将其他范围位图置位为零。
[0106]
接上述示例,若m》n,则将生成的长度为n的范围位图报文全部置位为零;否则,将第m个范围位图置位为一,其余n-1个范围位图置位为零。
[0107]
s204、将目标报文与范围位图报文相结合,确定为重编码报文。
[0108]
接上述示例,将包含n个字节的目标报文和包含n个字节的范围位图报文相结合,构成长度为2n的重编码报文。重编码报文的编码格式如下表所示:
[0109][0110]
s205、将重编码报文与关键字匹配规则进行掩码运算。
[0111]
具体的,在tcam初步确定与重编码报文具有相同待匹配关键字的关键字匹配规则,将重编码报文中的范围位图报文,与确定出的关键字匹配规则对应范围位图报文进行掩码运算,得到对应的运算结果。
[0112]
s206、判断运算结果是否完全一致,若是,则执行步骤s207;若否,则执行步骤s208。
[0113]
s207、将关键字匹配结果确定为规则命中。
[0114]
具体的,在掩码运算的结果为完全一致时,可认为重编码报文命中了关键字匹配规则,也即重编码报文的目标报文中包括待匹配关键字,此时可生成对应包含待匹配关键字在目标报文中信息的关键字匹配结果。
[0115]
s208、将关键字匹配结果确定为规则未命中。
[0116]
具体的,在掩码运算的结果不是完全一致时,可认为重编码报文并未命中tcam中的任一关键字匹配规则,也即重编码报文的目标报文中不包括待匹配关键字,此时可生成规则未命中的关键字匹配结果。
[0117]
在本发明实施例的一个实施方式中,在获取待匹配报文之前,还包括:获取待匹配关键字和匹配规则类型;根据待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建关键字匹配规则,并下发关键字匹配规则。
[0118]
在本实施例中,待匹配关键字具体可理解为预先设置的需要在报文中查找匹配的关键字。匹配规则类型具体可理解为根据网络报文中所需进行关键字查询范围划分的,不同关键字匹配规则的类型;匹配规则类型可分为全包匹配规则类型和窗口匹配规则类型,全包匹配规则类型具体可理解为需对关键字是否出现在输入网络报文中任意位置进行匹配的规则类型,窗口匹配规则类型具体可理解为需对关键字是否出现在输入网络报文指定位置范围进行匹配的规则类型。待匹配关键字的关键字长度具体可理解为待匹配关键字的字节数,需要明确的是,待匹配关键字的关键字长度应小于预设最大关键字长度。
[0119]
具体的,在报文关键字匹配设备投入使用之前,需对tcam中用于进行报文关键字匹配的关键字匹配规则进行下发。此时通过首先获取待匹配关键字和匹配规则类型完成关键字匹配规则的构建,根据待匹配关键字和预设最大关键字长度构建与重编码报文中目标报文对应的规则关键字报文,利用关键字长度、匹配规则类型和预设最大关键字长度确定待匹配关键字的首字节在预设最大关键字长度中不可出现的范围,进以构建与重编码报文中范围位图报文对应的规则范围位图报文,使得确定出的关键字匹配规则既可区分匹配规则类型,又与重编码报文具有相同的编码结构。将构建完成的关键字规则下发至tcam中进行存储,以供后续规则匹配。
[0120]
本发明实施例中,针对待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建编码格式一致的关键字匹配规则,由于对报文关键字匹配过程
中的规则格式进行统一,仅通过设置不同的掩码规则实现规则命中的确定,使得不同匹配规则类型可同时存储于同一设备,并可在一次待匹配报文发送中进行不同规则的命中。
[0121]
可选的,图3为本发明实施例提供的一种根据待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建关键字匹配规则的流程示例图,如图3所示,具体可包括如下步骤:
[0122]
s301、构建包含待匹配关键字,长度为预设最大关键字长度的规则关键字报文。
[0123]
具体的,为保证重编码报文与关键字匹配规则的编码格式统一,且待匹配关键字的关键字长度必小于或等于预设最大关键字长度,在进行关键字规则构建时,可生成长度为预设最大关键字长度,内容包括待匹配关键字的规则关键字。
[0124]
s302、若匹配规则类型为全包匹配规则类型,则构建长度为预设最大关键字长度的第一规则范围位图报文,并将第一规则范围位图报文中各第一规则范围位图置位为掩码不关心,并执行步骤s304。
[0125]
具体的,若接收到的匹配规则类型为全包匹配规则类型,则可理解为该规则可针对接收到的报文中所有位置进行关键字匹配,也即此时关键字匹配规则中没有关键字起始位置不可出现的位置,也即不论重编码报文中的范围位图报文内容是什么,均可命中与其待匹配关键字对应的全包匹配规则,此时可构建一个长度为预设最大关键字长度的第一规则范围位图报文,并将第一规则范围位图报文中各第一规则范围位图均置位为掩码不关心,以保证重编码报文的范围位图报文在进行掩码计算时的命中。并在构建第一规则范围位图报文后执行步骤s304。
[0126]
s303、若匹配规则类型为窗口匹配规则类型,则根据待匹配关键字的关键字长度和预设最大关键字长度确定关键字不可至范围,并根据关键字不可至范围构建长度为预设最大关键字长度的第二规则范围位图报文,并执行步骤s305。
[0127]
其中,第二规则范围位图报文中与关键字不可至范围对应的各第二规则范围位图被置位为零且掩码关心,其余第二规则范围位图被置位为掩码不关心。
[0128]
具体的,若接收到的匹配规则类型为窗口匹配规则类型,则可理解为该规则仅支持对接收到的报文中部分位置进行关键字匹配,也即此时关键字匹配规则中存在关键字起始位置不可出现的位置。在已经明确待匹配关键字的关键字长度基础上,为使得待匹配关键字全部位于窗口范围内,则自窗口范围中结束位置前关键字长度的范围为关键字不可至范围,此时可构建长度为预设最大关键字长度的第二规则范围位图报文,并将其对应关键字不可至范围内的第二规则范围位图置位为零,并将其掩码状态置位为掩码关心,将其余第二规则范围位图置位为掩码不关心,以保证重编码报文的范围位图报文在进行掩码计算时,若范围位图报文中的起始范围位图落于第二规则范围位图报文中的不可至范围内,则重编码报文无法命中。并在构建第二规则范围位图报文后执行步骤s305。
[0129]
s304、将规则关键字报文与第一规则范围位图报文相结合,确定为第一关键字匹配规则。
[0130]
s305、将规则关键字报文与第二规则范围位图报文相结合,确定为第二关键字匹配规则。
[0131]
示例性的,假设预设最大关键字长度为n,则规则关键字报文的长度为n,第一规则范围位图报文和第二规则范围位图报文的长度均为n。由于关键字匹配规则与重编码的编
码格式相同,则生成的第一关键字匹配规则和第二关键字匹配规则的编码格式如下表所示:
[0132][0133]
本发明实施例中,分别给出了全包匹配和窗口匹配条件下,所生成关键字匹配规则中掩码规则的设置法方法,同步了报文匹配过程中规则与报文的编码格式,并避免了规则匹配异常,提升了报文关键字匹配效率。
[0134]
图4为本发明实施例提供的一种报文关键字匹配装置的结构示意图。该报文关键字匹配装置包括:报文获取模块41、报文重编码模块42和关键字匹配模块43。
[0135]
其中,报文获取模块41,用于获取待匹配报文,并通过布隆预测确定待匹配报文中的关键字起始位置;报文重编码模块42,用于根据关键字起始位置、预设窗口范围和预设最大关键字长度对待匹配报文进行重编码,确定重编码报文;关键字匹配模块43,用于将重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;其中,关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,第一关键字匹配规则和第二关键字匹配规则的掩码规则不同;重编码报文的编码格式与关键字匹配规则的编码格式相同。
[0136]
本实施例的技术方案,通过对待匹配报文的重编码,统一了待匹配报文与关键字匹配规则的编码格式,通过不同的掩码规则对关键字匹配规则的匹配规则类型进行区分,使得不同匹配规则类型的关键字匹配规则可同时存在与设备中,重编码后的重编码报文可直接与关键字匹配规则进行匹配,并依据对应设置的掩码精准命中需要进行匹配的规则,避免了针对不同类型匹配规则的多次待匹配报文发送,且可避免规则匹配异常,提升了报文关键字匹配效率。
[0137]
进一步地,报文重编码模块42,包括:
[0138]
目标报文确定单元,用于将待匹配报文中以关键字起始位置为首字节,长度为预设最大关键字长度的报文确定为目标报文;
[0139]
范围报文确定单元,用于根据关键字起始位置、预设窗口范围和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文;
[0140]
重编码报文确定单元,用于将目标报文与范围位图报文相结合,确定为重编码报文。
[0141]
可选的,范围报文确定单元,具体用于:
[0142]
若关键字起始位置位于预设窗口范围之外,则生成长度为预设最大关键字长度,且各范围位图均被置位为一的范围位图报文;
[0143]
若关键字起始位置位于预设窗口范围之内,则根据关键字起始位置、预设最大关键字长度和预设窗口范围的窗口结束位置确定起始范围位图,根据起始范围位图和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文。
[0144]
可选的,根据关键字起始位置、预设最大关键字长度和预设窗口范围的窗口结束位置确定起始范围位图,包括:
[0145]
将窗口结束位置与关键字起始位置之差确定为第一差值;
[0146]
将预设最大关键字长度与第一差值之差确定为第二差值,并将第二差值加一确定为起始范围位图。
[0147]
可选的,根据起始范围位图和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文,包括:
[0148]
若起始范围位图大于预设最大关键字长度,则生成长度为预设最大关键字长度,且各范围位图均被置位为零的范围位图报文;
[0149]
否则,生成长度为预设最大关键字长度,起始范围位图被置位为一,其他范围位图均被置位为零的范围位图报文。
[0150]
可选的,关键字匹配模块43,包括:
[0151]
掩码运算单元,用于将重编码报文与关键字匹配规则进行掩码运算;
[0152]
匹配结果确定单元,用于若运算结果为完全一致,则将关键字匹配结果确定为规则命中;否则,将关键字匹配结果确定为规则未命中。
[0153]
可选的,报文关键字匹配装置,还包括:匹配规则构建模块。
[0154]
匹配规则构建模块,用于获取待匹配关键字和匹配规则类型;根据待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建关键字匹配规则,并下发关键字匹配规则。
[0155]
可选的,匹配规则构建模块,具体用于:
[0156]
构建包含待匹配关键字,长度为预设最大关键字长度的规则关键字报文;
[0157]
若匹配规则类型为全包匹配规则类型,则构建长度为预设最大关键字长度的第一规则范围位图报文,并将第一规则范围位图报文中各第一规则范围位图置位为掩码不关心;
[0158]
若匹配规则类型为窗口匹配规则类型,则根据待匹配关键字的关键字长度和预设最大关键字长度确定关键字不可至范围,并根据关键字不可至范围构建长度为预设最大关键字长度的第二规则范围位图报文;其中,第二规则范围位图报文中与关键字不可至范围对应的各第二规则范围位图被置位为零且掩码关心,其余第二规则范围位图被置位为掩码不关心;
[0159]
将规则关键字报文与第一规则范围位图报文相结合,确定为第一关键字匹配规则;
[0160]
将规则关键字报文与第二规则范围位图报文相结合,确定为第二关键字匹配规则。
[0161]
本发明实施例所提供的报文关键字匹配装置可执行如本发明任意实施例所提供的报文关键字匹配方法,具备执行方法相应的功能模块和有益效果。
[0162]
图5为本发明实施例提供的一种报文关键字匹配设备的结构示意图。报文关键字匹配设备10可为电子设备,旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实
现。
[0163]
如图5所示,报文关键字匹配设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储报文关键字匹配设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
[0164]
报文关键字匹配设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许报文关键字匹配设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0165]
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如报文关键字匹配方法。
[0166]
在一些实施例中,报文关键字匹配方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到报文关键字匹配设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的报文关键字匹配方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行报文关键字匹配方法。
[0167]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0168]
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0169]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算
机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0170]
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0171]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0172]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0173]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0174]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:
1.一种报文关键字匹配方法,其特征在于,包括:获取待匹配报文,并通过布隆预测确定所述待匹配报文中的关键字起始位置;根据所述关键字起始位置、预设窗口范围和预设最大关键字长度对所述待匹配报文进行重编码,确定重编码报文;将所述重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;其中,所述关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,所述第一关键字匹配规则和所述第二关键字匹配规则的掩码规则不同;所述重编码报文的编码格式与所述关键字匹配规则的编码格式相同。2.根据权利要求1所述的方法,其特征在于,所述根据所述关键字起始位置和预设窗口范围对所述待匹配报文进行重编码,确定重编码报文,包括:将所述待匹配报文中以所述关键字起始位置为首字节,长度为所述预设最大关键字长度的报文确定为目标报文;根据所述关键字起始位置、所述预设窗口范围和所述预设最大关键字长度,生成长度为所述预设最大关键字长度的范围位图报文;将所述目标报文与所述范围位图报文相结合,确定为重编码报文。3.根据权利要求2所述的方法,其特征在于,所述根据所述关键字起始位置、所述预设窗口范围和所述预设最大关键字长度,生成长度为所述预设最大关键字长度的范围位图报文,包括:若所述关键字起始位置位于所述预设窗口范围之外,则生成长度为所述预设最大关键字长度,且各范围位图均被置位为一的范围位图报文;若所述关键字起始位置位于所述预设窗口范围之内,则根据所述关键字起始位置、所述预设最大关键字长度和所述预设窗口范围的窗口结束位置确定起始范围位图,根据所述起始范围位图和所述预设最大关键字长度,生成长度为所述预设最大关键字长度的范围位图报文。4.根据权利要求3所述的方法,其特征在于,所述根据所述关键字起始位置、所述预设最大关键字长度和所述预设窗口范围的窗口结束位置确定起始范围位图,包括:将所述窗口结束位置与所述关键字起始位置之差确定为第一差值;将所述预设最大关键字长度与所述第一差值之差确定为第二差值,并将所述第二差值加一确定为起始范围位图。5.根据权利要求3所述的方法,其特征在于,所述根据所述起始范围位图和所述预设最大关键字长度,生成长度为所述预设最大关键字长度的范围位图报文,包括:若所述起始范围位图大于所述预设最大关键字长度,则生成长度为所述预设最大关键字长度,且各范围位图均被置位为零的范围位图报文;否则,生成长度为所述预设最大关键字长度,所述起始范围位图被置位为一,其他范围位图均被置位为零的范围位图报文。6.根据权利要求1所述的方法,其特征在于,在所述获取待匹配报文之前,还包括:获取待匹配关键字和匹配规则类型;根据所述待匹配关键字、所述待匹配关键字的关键字长度、所述匹配规则类型和所述预设最大关键字长度构建关键字匹配规则,并下发所述关键字匹配规则。
7.根据权利要求6所述的方法,其特征在于,所述根据所述待匹配关键字、所述待匹配关键字的关键字长度、所述匹配规则类型和所述预设最大关键字长度构建关键字匹配规则,包括:构建包含所述待匹配关键字,长度为所述预设最大关键字长度的规则关键字报文;若所述匹配规则类型为全包匹配规则类型,则构建长度为所述预设最大关键字长度的第一规则范围位图报文,并将所述第一规则范围位图报文中各第一规则范围位图置位为掩码不关心;若所述匹配规则类型为窗口匹配规则类型,则根据所述待匹配关键字的关键字长度和所述预设最大关键字长度确定关键字不可至范围,并根据所述关键字不可至范围构建长度为所述预设最大关键字长度的第二规则范围位图报文;其中,所述第二规则范围位图报文中与所述关键字不可至范围对应的各第二规则范围位图被置位为零且掩码关心,其余第二规则范围位图被置位为掩码不关心;将所述规则关键字报文与所述第一规则范围位图报文相结合,确定为第一关键字匹配规则;将所述规则关键字报文与所述第二规则范围位图报文相结合,确定为第二关键字匹配规则。8.根据权利要求1所述的方法,其特征在于,所述将所述重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果,包括:将所述重编码报文与所述关键字匹配规则进行掩码运算;若运算结果为完全一致,则将关键字匹配结果确定为规则命中;否则,将关键字匹配结果确定为规则未命中。9.一种报文关键字匹配装置,其特征在于,包括:报文获取模块,用于获取待匹配报文,并通过布隆预测确定所述待匹配报文中的关键字起始位置;报文重编码模块,用于根据所述关键字起始位置、预设窗口范围和预设最大关键字长度对所述待匹配报文进行重编码,确定重编码报文;关键字匹配模块,用于将所述重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;其中,所述关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,所述第一关键字匹配规则和所述第二关键字匹配规则的掩码规则不同;所述重编码报文的编码格式与所述关键字匹配规则的编码格式相同。10.一种报文关键字匹配设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序能被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的报文关键字匹配方法。11.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8任一项所述的报文关键字匹配方法。
技术总结
本发明公开了一种报文关键字匹配方法、装置、设备及存储介质。该方法包括:获取待匹配报文,并通过布隆预测确定待匹配报文中的关键字起始位置;根据关键字起始位置、预设窗口范围和预设最大关键字长度对待匹配报文进行重编码,确定重编码报文;将重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;其中,关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,第一关键字匹配规则和第二关键字匹配规则的掩码规则不同;重编码报文的编码格式与关键字匹配规则的编码格式相同。通过采用上述技术方案,避免了针对不同类型匹配规则的多次待匹配报文发送,且可避免规则匹配异常,提升了报文关键字匹配效率。字匹配效率。字匹配效率。
技术研发人员:金良辰 石娜 何晓航
受保护的技术使用者:曙光网络科技有限公司
技术研发日:2023.03.21
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
