一种数据流处理方法和装置与流程

文档序号:15170070发布日期:2018-08-14 17:52阅读:129来源:国知局

本发明涉及数字通信技术领域,特别涉及一种数据流处理方法和装置。



背景技术:

随着数字通信技术的发展,利用不同规则对数据流进行多次匹配的需求越来越高。

目前,当利用不同规则分别对数据流进行匹配时,前一次匹配完成后,需要对匹配结果进行分析,并根据匹配结果决定是否进行后次匹配。

但是,该方法的匹配延迟较大。



技术实现要素:

本发明实施例提供了一种数据流处理方法和装置,能够减小匹配延迟。

第一方面,本发明实施例提供了一种数据流处理方法,包括:

获取数据流,其中,所述数据流中包括至少一个报文;

针对每一个所述报文,均执行:判断当前报文是否为ip报文,如果是,从所述当前报文中提取报文信息;按照预先设置的匹配阈值对所述报文信息进行复制,得到至少两个报文信息;

确定各个所述报文信息的匹配顺序;

根据各个所述报文信息的匹配顺序,依次对各个所述报文信息进行匹配;

确定各个所述报文信息对应的匹配结果;

对各个所述报文信息对应的匹配结果进行分析。

优选地,

所述根据各个所述报文信息的匹配顺序,依次对各个所述报文信息进行匹配,包括:

根据各个所述报文信息的匹配顺序、预先设置的报文信息的匹配顺序与匹配规则的对应关系,确定各个所述报文信息对应的匹配规则,依次利用相应的匹配规则,对各个所述报文信息进行匹配。

优选地,

所述对各个所述报文信息对应的匹配结果进行分析,包括:

a1:将排在第一位的匹配结果作为当前匹配结果,其中,各个所述报文信息对应的匹配结果按照所述匹配顺序排列;

a2:判断所述当前匹配结果是否满足预先设置的匹配要求,如果是,执行a3,否则,执行a4;

a3:将排在所述当前匹配结果之后的匹配结果删除;

a4:判断所述当前匹配结果是否排在最后一位,如果否,将排在所述当前匹配结果后一位的匹配结果更新为当前匹配结果,并执行a2。

优选地,

所述报文信息,包括:五元组信息。

第二方面,本发明实施例提供了一种数据流处理装置,包括:

处理单元,用于获取数据流,其中,所述数据流中包括至少一个报文;针对每一个所述报文,均执行:判断当前报文是否为ip报文,如果是,从所述当前报文中提取报文信息;按照预先设置的匹配阈值对所述报文信息进行复制,得到至少两个报文信息;

排序单元,用于确定所述处理单元得到的各个所述报文信息的匹配顺序;

tcam(ternarycontentaddressablememory,三态内容寻址存储器),用于根据所述排序单元确定的各个所述报文信息的匹配顺序,依次对各个所述报文信息进行匹配;

对齐单元,用于确定各个所述报文信息对应的匹配结果;

分析单元,用于对各个所述报文信息对应的匹配结果进行分析。

优选地,

所述tcam,用于根据各个所述报文信息的匹配顺序、预先设置的报文信息的匹配顺序与匹配规则的对应关系,确定各个所述报文信息对应的匹配规则,依次利用相应的匹配规则,对各个所述报文信息进行匹配。

优选地,

所述分析单元,用于a1:将排在第一位的匹配结果作为当前匹配结果,其中,各个所述报文信息对应的匹配结果按照所述匹配顺序排列;a2:判断所述当前匹配结果是否满足预先设置的匹配要求,如果是,执行a3,否则,执行a4;a3:将排在所述当前匹配结果之后的匹配结果删除;a4:将排在所述当前匹配结果后一位的匹配结果更新为当前匹配结果,并执行a2。

优选地,

所述报文信息,包括:五元组信息。

第三方面,本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述任一实施例所述的方法。

第四方面,本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;

所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述任一实施例所述的方法。

本发明实施例提供了一种数据流处理方法和装置,其中,该方法对需要进行多次匹配的报文信息进行复制、排序,并按照确定的匹配顺序依次进行匹配。在该方法中,匹配结果依次输出的延迟间隔远小于现有技术中后次匹配等待前次匹配结果的延迟,能够较小或消除后次匹配需要等待前次匹配结果的延迟时间,对前后匹配关系进行解耦合。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种数据流处理方法的流程图;

图2是本发明一个实施例提供的一种数据流处理装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种数据流处理方法,该方法可以包括以下步骤:

步骤101:获取数据流,其中,数据流中包括至少一个报文;

步骤102:针对每一个报文,均执行:判断当前报文是否为ip报文,如果是,执行步骤103;

步骤103:从当前报文中提取报文信息;

步骤104:按照预先设置的匹配阈值对报文信息进行复制,得到至少两个报文信息;

步骤105:确定各个报文信息的匹配顺序;

步骤106:根据各个报文信息的匹配顺序,依次对各个报文信息进行匹配;

步骤107:确定各个报文信息对应的匹配结果;

步骤108:对各个报文信息对应的匹配结果进行分析。

该方法对需要进行多次匹配的报文信息进行复制、排序,并按照确定的匹配顺序依次进行匹配。在该方法中,匹配结果依次输出的延迟间隔远小于现有技术中后次匹配等待前次匹配结果的延迟,能够较小或消除后次匹配需要等待前次匹配结果的延迟时间,对前后匹配关系进行解耦合。

其中,数据流可以是网络流量的数据包,也可以是认证系统的认证数据流。

在本发明的一个实施例中,根据各个报文信息的匹配顺序,依次对各个报文信息进行匹配,包括:

根据各个报文信息的匹配顺序、预先设置的报文信息的匹配顺序与匹配规则的对应关系,确定各个报文信息对应的匹配规则,依次利用相应的匹配规则,对各个报文信息进行匹配。

该匹配过程通过tcam实现,其中,tcam内部划分多个区域,对应不同的匹配规则,进而满足不同匹配规则的需求。

在实际应用场景中,tcam的前次匹配结果决定后次匹配是否进行,前后匹配过程存在紧耦合关系,为使多次匹配效率能够更加接近单次匹配效率,从而提高整个分析系统的性能,该方法对前后匹配过程进行解耦合。

在本发明的一个实施例中,对各个报文信息对应的匹配结果进行分析,包括:

a1:将排在第一位的匹配结果作为当前匹配结果,其中,各个报文信息对应的匹配结果按照匹配顺序排列;

a2:判断当前匹配结果是否满足预先设置的匹配要求,如果是,执行a3,否则,执行a4;

a3:将排在当前匹配结果之后的匹配结果删除;

a4:判断当前匹配结果是否排在最后一位,如果否,将排在当前匹配结果后一位的匹配结果更新为当前匹配结果,并执行a2。

以两个报文信息为例,通过匹配过程会先后接收到两个匹配结果,若前次结果表明后次无需再匹配,则系统直接丢弃后次匹配的结果,若前次结果表明需要进行后次匹配,则系统可直接获取后次匹配结果,无需返回是否进行后次匹配的决策信息。

在本发明的一个实施例中,报文信息,包括:五元组信息。

其中,五元组信息包括:源ip地址、源端口、目的ip地址、目的端口和传输层协议。

需要说明的是,根据实际需要,提取的报文信息除了为五元组信息,还可以为报文中的数据等其他信息。

在本发明的一个实施例中,以提取的报文信息为五元组信息为例,对数据源处理方法进行详细地说明,该方法包括:

获取数据流,其中,数据流中包括三个报文,从三个报文中筛选出一个ip报文。

对ip报文进行解析,经过解析后的报文分离出五元组信息,对五元组信息进行一次复制,并在扩展位标记需要匹配的次数,然后按一定延迟前后输入tcam。

前后排序的五元组信息依次输入至tcam进行匹配,首先进入的五元组信息根据自身标记在第一规则区进行匹配,后面进去的五元组信息根据自身标记在第二规则区进行匹配,得到两次匹配结果。

将匹配结果与所对应的五元组信息保持对齐,然后进行匹配结果分析。若出现五元组信息或匹配结果丢失时,为不影响后续匹配,触发复位信号,将该匹配结果和对应的五元组信息丢弃。

在匹配结果分析过程中,首先处理前次匹配的结果,做出是否需要进行后次匹配的必要,若需要进行后次匹配,则直接读取后次匹配的结果进行分析;若不需要进行后次匹配,则将后次匹配结果读出并做丢弃处理。

如图2所示,本发明实施例提供了一种数据流处理装置,包括:

处理单元201,用于获取数据流,其中,数据流中包括至少一个报文;针对每一个报文,均执行:判断当前报文是否为ip报文,如果是,从当前报文中提取报文信息;按照预先设置的匹配阈值对报文信息进行复制,得到至少两个报文信息;

排序单元202,用于确定处理单元得到的各个报文信息的匹配顺序;

tcam203,用于根据排序单元202确定的各个报文信息的匹配顺序,依次对各个报文信息进行匹配;

对齐单元204,用于确定各个报文信息对应的匹配结果;

分析单元205,用于对各个报文信息对应的匹配结果进行分析。

在本发明的一个实施例中,tcam203,用于根据各个报文信息的匹配顺序、预先设置的报文信息的匹配顺序与匹配规则的对应关系,确定各个报文信息对应的匹配规则,依次利用相应的匹配规则,对各个报文信息进行匹配。

在本发明的一个实施例中,分析单元,用于a1:将排在第一位的匹配结果作为当前匹配结果,其中,各个报文信息对应的匹配结果按照匹配顺序排列;a2:判断当前匹配结果是否满足预先设置的匹配要求,如果是,执行a3,否则,执行a4;a3:将排在当前匹配结果之后的匹配结果删除;a4:将排在当前匹配结果后一位的匹配结果更新为当前匹配结果,并执行a2。

在本发明的一个实施例中,报文信息,包括:五元组信息。

本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行执行指令时,存储控制器执行上述任一实施例的方法。

本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;

存储器用于存储执行指令,处理器与存储器通过总线连接,当存储控制器运行时,处理器执行存储器存储的执行指令,以使存储控制器执行上述任一实施例的方法。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

综上,本发明各个实施例至少具有如下效果:

1、在本发明实施例中,该方法对需要进行多次匹配的报文信息进行复制、排序,并按照确定的匹配顺序依次进行匹配。在该方法中,匹配结果依次输出的延迟间隔远小于现有技术中后次匹配等待前次匹配结果的延迟,能够较小或消除后次匹配需要等待前次匹配结果的延迟时间,对前后匹配关系进行解耦合,提高数据流处理效率。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1