技术新讯 > 电子通信装置的制造及其应用技术 > 流表更新方法、装置、设备、介质及程序产品与流程  >  正文

流表更新方法、装置、设备、介质及程序产品与流程

  • 国知局
  • 2024-08-02 14:13:44

本申请实施例涉及数据处理领域,特别涉及一种流表更新方法、装置、设备、介质及程序产品。

背景技术:

1、目前,以开源虚拟交换机(open vswitch,ovs)为代表的虚拟交换机以其灵活而丰富的功能支持,被各种云软件提供商用作卸载裸机和虚拟解决方案。ovs提供了两种在虚拟化环境中远程管理的协议:一个是openflow管理协议,是通过流表管理交换机;另一个是,开放虚拟交换机数据库管理协议(open vswitch database management protocol,ovsdb),用于暴露交换机的端口状态。

2、相关技术中,在openflow管理协议下,一个流表包括多个流表项,每个流表项对应一条流,用于在流表中存储的该流所对应的五元组、转发信息、统计信息、状态信息等内容。针对有状态流表,一条流使用相同的锁标识(identity,id),某条流的数据包需要先使用该流的锁id申请锁,并在申请到锁后才可以访问该流表。

3、若该流的前一个数据包正在更新流表,则该锁会被占用,当前数据包无法申请到该流对应的锁,因此当前数据包必须等待前一个数据包更新完流表后释放锁,才可以申请到该流的锁并进行流表更新过程。因此锁标识的方式受限于前一数据包的更新过程,从而导致流表的更新效率较差。

技术实现思路

1、本申请实施例提供了一种流表更新方法、装置、设备、介质及程序产品,能够借助流标识将第一元数据合并至第二元数据,采用合并后的第二元数据对第一流表项进行更新,提高流表更新效率以及数据包的处理效率。所述技术方案如下。

2、一方面,提供了一种流表更新方法,所述方法包括:

3、接收多个数据包,并基于所述多个数据包的接收时刻,将所述多个数据包分别对应的元数据以流式缓存方式缓存在缓存空间内,所述元数据具有对应的流标识,所述流标识用于指示所述元数据对应的数据包在流表中所属的流表项,所述流表用于对所述多个数据包进行统计;

4、确定所述缓存空间内位于第一缓存位置的第一元数据,所述第一元数据标注有第一流标识;

5、从所述缓存空间内确定标注有所述第一流标识且缓存位置与所述第一缓存位置最近的第二元数据,所述第二元数据位于第二缓存位置,所述第一缓存位置的缓存时刻早于所述第二缓存位置的缓存时刻;

6、将所述第一元数据合并至所述第二元数据,得到合并后的第二元数据;

7、通过所述合并后的第二元数据对所述第一流标识对应的第一流表项进行更新,并得到更新后的流表。

8、另一方面,提供了一种流表更新装置,所述装置包括:

9、数据接收模块,用于接收多个数据包,并基于所述多个数据包的接收时刻,将所述多个数据包分别对应的元数据以流式缓存方式缓存在缓存空间内,所述元数据具有对应的流标识,所述流标识用于指示所述元数据对应的数据包在流表中所属的流表项,所述流表用于对所述多个数据包进行统计;

10、第一确定模块,用于确定所述缓存空间内位于第一缓存位置的第一元数据,所述第一元数据标注有第一流标识;

11、第二确定模块,用于从所述缓存空间内确定标注有所述第一流标识且缓存位置与所述第一缓存位置最近的第二元数据,所述第二元数据位于第二缓存位置,所述第一缓存位置的缓存时刻早于所述第二缓存位置的缓存时刻;

12、数据合并模块,用于将所述第一元数据合并至所述第二元数据,得到合并后的第二元数据;

13、流表更新模块,用于通过所述合并后的第二元数据对所述第一流标识对应的第一流表项进行更新,并得到更新后的流表。

14、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述流表更新方法。

15、另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的流表更新方法。

16、另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的流表更新方法。

17、本申请实施例提供的技术方案带来的有益效果至少包括:

18、基于多个数据包的接收时刻将多个数据包分别对应的元数据缓存在缓存空间后,确定缓存空间内位于第一缓存位置的第一元数据,并从缓存空间内确定标注有第一流标识且缓存位置与第一缓存位置最近的第二元数据;将第一元数据合并至第二元数据,得到合并后的第二元数据,从而通过合并后的第二元数据对第一流标识对应的第一流表项进行更新以得到更新后的流表。借助流标识确定与第一元数据属于同一条流的第二元数据,从而在更新第一流表项前,避免依次申请流标识锁所带来的低效问题,将第一元数据合并至第二元数据,从而使得第一元数据无需进行流标识锁的申请过程,而采用合并后的第二元数据对第一流表项进行更新,提高流表更新效率,大大提升了数据包的处理效率。

技术特征:

1.一种流表更新方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述将所述第一元数据合并至所述第二元数据,得到合并后的第二元数据,包括:

3.根据权利要求1所述的方法,其特征在于,所述通过所述合并后的第二元数据对所述第一流标识对应的第一流表项进行更新,并得到更新后的流表,包括:

4.根据权利要求1至3任一所述的方法,其特征在于,所述将所述第一元数据合并至所述第二元数据,得到合并后的第二元数据之后,还包括:

5.根据权利要求4所述的方法,其特征在于,所述响应于所述第二缓存位置与所述第一缓存位置相邻,将所述合并后的第二元数据移动至所述第一缓存位置,包括:

6.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1至3任一所述的方法,其特征在于,所述通过所述合并后的第二元数据对所述第一流标识对应的第一流表项进行更新,并得到更新后的流表,包括:

9.根据权利要求8所述的方法,其特征在于,所述响应于所述合并后的第二元数据移动至所述第一缓存位置上,通过所述合并后的第二元数据对所述第一流标识对应的第一流表项进行更新,并得到所述更新后的流表,包括:

10.根据权利要求1至3任一所述的方法,其特征在于,所述基于所述多个数据包的接收时刻,将所述多个数据包分别对应的元数据以流式缓存方式缓存在缓存空间内,包括:

11.一种流表更新装置,其特征在于,所述装置包括:

12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至10任一所述的流表更新方法。

13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至10任一所述的流表更新方法。

14.一种计算机程序产品,其特征在于,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现如权利要求1至10任一所述的流表更新方法。

技术总结本申请公开了一种流表更新方法、装置、设备、介质及程序产品,涉及数据处理领域。该方法包括:基于多个数据包的接收时刻将多个数据包分别对应的元数据以流式缓存方式缓存在缓存空间内;确定缓存空间内位于第一缓存位置的第一元数据,第一元数据标注有第一流标识;从缓存空间内确定标注有第一流标识且缓存位置与第一缓存位置最近的第二元数据;将第一元数据合并至第二元数据,并通过合并后的第二元数据对第一流标识对应的第一流表项进行更新。通过以上方式,能够借助流标识将第一元数据合并至第二元数据,采用合并后的第二元数据对流表进行更新,提高流表更新效率和数据包处理效率。本申请可应用于云技术下的各种数据批量处理场景中。技术研发人员:梁嘉俊受保护的技术使用者:腾讯科技(深圳)有限公司技术研发日:技术公布日:2024/7/23

本文地址:https://www.jishuxx.com/zhuanli/20240801/242107.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。