当前位置: 首页 > 专利查询>清华大学专利>正文

一种数据流处理、恢复方法以及设备和存储介质技术

技术编号:27197669 阅读:38 留言:0更新日期:2021-01-31 11:57
本申请实施例提供一种数据流处理、恢复方法以及设备和存储介质,该数据流处理方法包括:基于主哈希表所存储的计数值、以及辅哈希表所存储的计数值、状态值和辅助计数值,确定主哈希表中是否存储有不活跃数据流的流记录项信息;状态值用于表征辅哈希表存储的哈希值所表示的流标识符对应的数据流的活跃状态;辅助计数值用于记录当一个数据包导致辅哈希表存储的哈希值发生变化时,这个数据包的流标识符在主哈希表中所映射的哈希桶中存储的最大计数值;若主哈希表中存储有不活跃数据流的流记录项信息,则将不活跃数据流的流记录项信息和待处理数据包的流标识符输出至数据服务器。如此,能够提高网络测量的性能。能够提高网络测量的性能。能够提高网络测量的性能。

【技术实现步骤摘要】
一种数据流处理、恢复方法以及设备和存储介质


[0001]本申请实施例涉及但不限于互联网
,尤其涉及一种数据流处理、恢复方法以及设备和存储介质。

技术介绍

[0002]通过网络测量所产生的网络统计信息,使得网络运营商能够进行各种网络管理任务,例如网络配置错误的检测与纠正、流量工程和网络攻击检测等。
[0003]然而,在目前的基于数据流的网络测量方法中,一方面流标识符占用内存较多,另一方面,网络设备中的有限内存还会被不活跃数据流占用,导致活跃数据流被记录的机会减少,从而,降低了网络测量的性能。

技术实现思路

[0004]有鉴于此,本申请实施例提供一种数据流处理、恢复方法以及设备和存储介质,能够提高网络测量的性能。
[0005]本申请实施例主要提供如下技术方案:
[0006]第一方面,本申请实施例提供了一种数据流处理方法,包括:针对接收到的待处理数据包,获取所述待处理数据包的流标识符;当所述待处理数据包的流标识符在映射至主哈希表时发生哈希冲突,而在映射至辅哈希表时并未发生冲突时,则基于所述主哈希表所存储的计数值、以及所述辅哈希表所存储的计数值、状态值和辅助计数值,确定所述主哈希表中是否存储有不活跃数据流的流记录项信息;其中,所述状态值,用于表征所述辅哈希表存储的哈希值所表示的流标识符对应的数据流的活跃状态;所述辅助计数值,用于记录在数据包导致所述辅哈希表存储的哈希值发生变化时,所述数据包的流标识符在主哈希表中所映射的哈希桶中存储的最大计数值;若所述主哈希表中存储有不活跃数据流的流记录项信息,则将所述不活跃数据流的流记录项信息和所述待处理数据包的流标识符输出至数据服务器;其中,所述不活跃数据流的流记录项信息包括:计数值和流标识符的哈希值。
[0007]第二方面,本申请实施例提供了一种数据流恢复方法,包括:在第一时刻,接收到来自网络设备的第一流标识符;建立所述第一流标识符的哈希值到所述第一流标识符的第一映射关系,并将所述第一映射关系存入至字典中,其中,所述第一流标识符的哈希值根据所述第一流标识符进行哈希运算得到;在第二时刻,接收到来自网络设备的第二流标识符和待恢复的流记录项信息,其中,所述待恢复的流记录项信息包括:计数值和所述第一流标识符的哈希值,第二时刻在第一时刻之后;基于所述待恢复的流记录项信息,通过查询所述字典中的所述第一映射关系,获得恢复后的流记录项信息,其中,所述恢复后的流记录项信息包括:所述计数值和所述第一流标识符;建立所述第二流标识符的哈希值到所述第二流标识符的第二映射关系,并将所述第二映射关系存入至字典中,其中,所述第二流标识符的哈希值根据所述第二流标识符进行哈希运算得到。
[0008]第三方面,本申请实施例提供了一种电子设备,包括:至少一个处理器;以及与所
述处理器连接的至少一个存储器、总线;其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述实施例中的数据流处理方法的步骤,或者,以执行上述实施例中的数据流恢复方法的步骤。
[0009]第四方面,本申请实施例提供了一种计算机可读存储介质,包括:存储的程序,其中,在所述程序运行时控制所述存储介质所在电子设备执行上述实施例中的数据流处理方法的步骤,或者,以执行上述实施例中的数据流恢复方法的步骤。
[0010]本申请实施例提供的数据流处理、恢复方法以及设备和存储介质,针对接收到的待处理数据包,获取待处理数据包的流标识符;接下来,可以将待处理数据包的流标识符映射至主哈希表和辅哈希表,当待处理数据包的流标识符在映射至主哈希表时发生哈希冲突,而待处理数据包的流标识符在映射至辅哈希表时未发生冲突时,就可以基于主哈希表所存储的计数值、以及辅哈希表所存储的计数值、状态值和辅助计数值,确定主哈希表中是否存储有不活跃数据流的流记录项信息;其中,状态值,用于表征辅哈希表存储的哈希值所表示的流标识符对应的数据流的活跃状态;辅助计数值,用于记录在数据包导致辅哈希表存储的哈希值发生变化时,数据包的流标识符在主哈希表中所映射的哈希桶中存储的最大计数值;最后,在确定出主哈希表中存储有不活跃数据流的流记录项信息时,就可以将该不活跃数据流的流记录项信息和待处理数据包的流标识符输出至数据服务器,其中,该不活跃数据流的流记录项信息可以包括:计数值和流标识符的哈希值。这样,一方面,主、辅哈希表中均仅存储流标识符的哈希值,而并不存储流标识符本身,因此内存占用较少;另一方面,在检测到不活跃数据流的流记录项信息时,通过输出不活跃数据流的流记录项信息至数据服务器,网络设备中的有限内存就不会被不活跃数据流占用,因此活跃数据流被记录的机会就会增多,从而减小网络设备的内存空间的消耗。此外,本申请实施例在检测到不活跃数据流的流记录项信息时,还会输出待处理数据包的流标识符,以便于数据服务器端恢复完整的流记录项信息。如此,能够大大提高网络测量的性能。
[0011]本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
[0012]附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
[0013]图1为本申请实施例中的数据流处理方法的流程示意图;
[0014]图2A为本申请实施例中的主哈希表中哈希桶的结构示意图;
[0015]图2B为本申请实施例中的辅哈希表中哈希桶的结构示意图;
[0016]图3为本申请实施例中的数据流恢复方法的流程示意图;
[0017]图4为本申请实施例中的数据流处理方法的示例性实例的示意图;
[0018]图5为本申请实施例中的电子设备的结构示意图。
具体实施方式
[0019]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完
整地描述。
[0020]本申请实施例提供一种数据流处理方法。在实际应用中,该数据流处理方法可以应用于网络设备中。
[0021]在一种示例性实施例中,上述网路设备可以为如交换机、路由器等具有很高转发性能的电子设备。
[0022]举例来说,以网路设备为交换机为例,该网络设备可以是实体交换机,也可以是虚拟交换机。
[0023]图1为本申请实施例中的数据流处理方法的流程示意图,如图1所示,该数据流处理方法可以包括:
[0024]步骤101:针对接收到的待处理数据包,获取待处理数据包的流标识符;
[0025]步骤102:确定待处理数据包的流标识符在映射至主哈希表时是否发生哈希冲突;
[0026]在一种示例性实施例中,在获取到待处理数据包的流标识符之后,可以执行步骤102先将待处理数据包的流标识符映射至主哈希表。接下来,若待处理数据包的流标识符在映射至主哈希表时发生哈希冲突,则可以执行步骤103再将待处理数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据流处理方法,包括:针对接收到的待处理数据包,获取所述待处理数据包的流标识符;当所述待处理数据包的流标识符在映射至主哈希表时发生哈希冲突,而在映射至辅哈希表时并未发生冲突时,则基于所述主哈希表所存储的计数值、以及所述辅哈希表所存储的计数值、状态值和辅助计数值,确定所述主哈希表中是否存储有不活跃数据流的流记录项信息;其中,所述状态值,用于表征所述辅哈希表存储的哈希值所表示的流标识符对应的数据流的活跃状态;所述辅助计数值,用于记录在数据包导致所述辅哈希表存储的哈希值发生变化时,所述数据包的流标识符在主哈希表中所映射的哈希桶中存储的最大计数值;若所述主哈希表中存储有不活跃数据流的流记录项信息,则将所述不活跃数据流的流记录项信息和所述待处理数据包的流标识符输出至数据服务器;其中,所述不活跃数据流的流记录项信息包括:计数值和流标识符的哈希值。2.根据权利要求1所述的方法,其特征在于,所述基于所述主哈希表所存储的计数值、以及所述辅哈希表所存储的计数值、状态值和辅助计数值,确定所述主哈希表中是否存储有不活跃数据流的流记录项信息,包括:从所述主哈希表中的多个第一哈希桶所存储的计数值中,确定出最小计数值和最大计数值;其中,所述第一哈希桶为所述待处理的流标识符在映射至主哈希表时所映射的哈希桶;确定所述辅哈希表中的第二哈希桶所存储的计数值是否大于所述最小计数值;其中,所述第二哈希桶为所述待处理的流标识符在映射至辅哈希表时所映射的哈希桶;若所述第二哈希桶所存储的计数值不大于所述最小计数值,则基于所述最大计数值、以及所述第二哈希桶所存储的状态值和辅助计数值,确定多个第一哈希桶中与所述最大计数值对应的哈希桶所存储的流记录项信息是否为不活跃数据流的流记录项信息;基于多个第一哈希桶中与所述最大计数值对应的哈希桶所存储的流记录项信息是否为不活跃数据流的流记录项信息,确定所述主哈希表中是否存储有不活跃数据流的流记录项信息。3.根据权利要求2所述的方法,其特征在于,所述基于所述最大计数值、以及所述第二哈希桶所存储的状态值和辅助计数值,确定多个第一哈希桶中与所述最大计数值对应的哈希桶所存储的流记录项信息是否为不活跃数据流的流记录项信息,包括:计算所述最大计数值与所述第二哈希桶所存储的辅助计数值之间的差值;基于所述第二哈希桶所存储的状态值是否大于所述差值与1之和,确定多个第一哈希桶中与所述最大计数值对应的哈希桶所存储的流记录项信息是否为不活跃数据流的流记录项信息。4.根据权利要求2所述的方法,其特征在于,在所述确定所述辅哈希表中的第二哈希桶所存储的计数值是否大于所述最小计数值之后,所述方法还包括:若所述第二哈希桶所存储的计数值大于所述最小计数值,则将多个第一哈希桶中与所述最小计数值对应的哈希桶所存储的流记录项信息和所述待处理数据包的流标识符输出至数据服务器,并将多个第一哈希桶中与所述最小计数值对应的哈希桶中所存储的流记录项信息更新为所述第二哈希桶所存储的计数值和所述待处理数据包的流标识符的哈希值。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述待处理数据包的流标识符在映射至主哈希表时发生哈希冲突,且在映射至辅哈希表时发生哈希冲突时,则根据所述辅哈希表所存储的状态值,对所述辅哈希表所存储的流记录项信息进行更新。6.根据权利要求5所述的方法,其特征在于,所述根据所述辅哈希表所存储的状态值,对所述辅哈希表所存储的流记录项信息进行更新,包括:将所述辅哈希表中的第二哈希桶所存储的状态值与0进行比较;其中,所述第二哈希桶为所述待处理的流标识符在映射至辅哈希表时所映射的哈希桶;根据比较结果,对所述第二哈希桶所存储的流记录...

【专利技术属性】
技术研发人员:施新刚赵宗义尹霞王之梁
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1