数据流分类方法、系统、设备及可读存储介质与流程

文档序号:37811252发布日期:2024-04-30 17:21阅读:6来源:国知局
数据流分类方法、系统、设备及可读存储介质与流程

本发明属于网络通信,具体涉及一种数据流分类方法、系统、设备及可读存储介质。


背景技术:

1、随着互联网业务高速发展,运营商在互联网骨干网上广泛采用了网络行为分析系统,其业务模块主要分为:网络游戏分析、在线视频分析、voip监测分析、p2p监测分析以及邮件检测分析等。另外随着金融网络规模的日益剧增,基于网络旁路部署的安全设备及流量分析设备也在逐渐增多。

2、在多种互联网业务中,均需要感知网络中的所有流量,然后根据一定的采样比例对流量采样,复制一份送后端dpi分析。对于此种需求,目前尚无完美的解决方案。现有技术大多采用cpu进行处理,但由于网络流量巨大,可能有几百gb,甚至tb级别的,普通的cpu几乎处理不过来,需要高性能的cpu,高性能的cpu价格昂贵,会导致整体成本提高;另外cpu处理比较耗时,性能上也相对较差。

3、因此,针对上述技术问题,有必要提供一种改良的数据流分类方法。

4、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现思路

1、本发明的目的在于提供一种数据流分类方法、系统、设备及可读存储介质,其能够实现低成本高性能的实时数据流分类及采样功能。

2、为了实现上述目的,本发明一具体实施例提供的技术方案如下:

3、第一方面,本发明提供了一种数据流分类方法,其包括:

4、获取交换芯片输入端口侧数据流的key信息,基于所述key信息计算所述数据流的哈希值,所述key信息包括所述数据流的源ip地址,源端口,目的ip地址,目的端口以及传输层协议;

5、基于所述哈希值索引交换芯片侧的第一acl表,若在所述第一acl表中所述哈希值对应为空白表项,则将所述key信息上报至cpu侧,获取所述cpu下发的操作指令,将所述操作指令与所述key信息写入所述哈希值对应的空白表项并将所述空白表项的老化标签设置为活跃状态;

6、若所述第一acl表中所述哈希值对应的表项不为空白表项,则索引对应表项中的操作指令并更新所述第一acl表中所述key信息对应表项的老化标签为活跃状态。

7、在本发明的一个或者多个实施方式中,所述方法还包括:

8、基于预设的老化周期,扫描所述第一acl表,每间隔一个所述老化周期,恰好完成一次对所述第一acl表的扫描;

9、若所述第一acl表中被扫描的条目的老化标签为活跃状态,则将所述老化标签置为老化状态;

10、若所述第一acl表中被扫描的条目的老化标签为老化状态,则删除所述被扫描的条目中的数据。

11、在本发明的一个或者多个实施方式中,所述方法还包括:

12、每间隔预设的更新时间,所述cpu感知第一acl表中表项的总数;

13、基于预设的采样比例,更新所述第一acl表中各个表项的操作指令为丢弃或重定向至后端,所述采样比例为所述第一acl表项中操作指令为丢弃的条目数与所述操作指令为重定向至后端的条目数的比值。

14、在本发明的一个或者多个实施方式中,所述方法还包括:

15、cpu侧设置与所述第一acl表相同的第二acl表;

16、若所述第一acl表中新增表项,则所述第二acl表中相同哈希值对应的条目上增加相同表项;

17、若所述第一acl表中删除表项,则将删除的表项信息上传至cpu,删除所述第二acl表中与所述上传的表项信息相同的所述表项。

18、在本发明的一个或者多个实施方式中,初始化第一acl表项包括:

19、在交换芯片创建第一acl表,所述第一acl表包括含有多个条目的key表以及ad表,所述key表表项与所述ad表表项一一对应;

20、cpu调用交换芯片的驱动软件下发key信息以及所述key信息对应的操作指令,基于所述key信息计算对应的哈希值;

21、基于所述哈希值索引第一acl表中的表项,将所述key信息写入所述key表表项,将所述key信息对应的操作指令写入所述key表表项对应的ad表表项。

22、在本发明的一个或者多个实施方式中,所述驱动软件使用的哈希算法和交换芯片使用的哈希算法一致。

23、在本发明的一个或者多个实施方式中,上报cpu使用直接内存访问。

24、在本发明的一个或者多个实施方式中,所述获取输入端口侧数据流的key信息,包括:

25、配置key模版,所述key模版用于指定所述key表中存放的信息类型;

26、解析所述输入端口数据流的流信息,基于所述key模版取出指定的key信息。

27、第二方面,本发明提供一种数据流分类系统,其包括:

28、计算模块,用于获取交换芯片输入端口侧数据流的key信息,基于所述key信息计算所述数据流的哈希值,所述key信息包括所述数据流的源ip地址,源端口,目的ip地址,目的端口以及传输层协议;

29、学习模块,用于基于所述哈希值索引交换芯片侧的第一acl表,若在所述第一acl表中所述哈希值对应为空白表项,则将所述key信息上报至cpu侧,获取所述cpu下发的操作指令,将所述操作指令与所述key信息写入所述哈希值对应的空白表项并将所述空白表项的老化标签设置为活跃状态;

30、老化模块,用于若所述第一acl表中所述哈希值对应的表项不为空白表项,则索引对应表项中的操作指令并更新所述第一acl表中所述key信息对应表项的老化标签为活跃状态。

31、第三方面,本发明提供了一种计算机设备,其包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行所述的数据流分类方法。

32、第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行所述的数据流分类方法。

33、与现有技术相比,本发明提供的数据流分类方法,通过使用交换芯片代替中央处理器实现hash acl功能,并在此功能的基础上增加了新流学习,新流上报、老化机制、老化上报逻辑,以较低的成本,完美的实现实时的流采样功能。同时新流上报,和老化上报都通过dma控制器来完成,dma是直接内存操作,在突发流量时,可以确保上报的实时性。另外交换芯片是asic架构,相比于cpu的处理性能更高,提高了tap的采样能力,同时节约了大量cpu计算资源。



技术特征:

1.一种数据流分类方法,其特征在于,包括:

2.根据权利要求1所述的数据流分类方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的数据流分类方法,其特征在于,所述方法还包括:

4.根据权利要求3所述的数据流分类方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的数据流分类方法,其特征在于,初始化第一acl表项包括:

6.根据权利要求1所述的数据流分类方法,其特征在于,上报cpu使用直接内存访问。

7.根据权利要求1所述的数据流分类方法,其特征在于,所述获取输入端口侧数据流的key信息,包括:

8.一种数据流分类系统,其特征在于,包括:

9.一种计算机设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的数据流分类方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的数据流分类方法。


技术总结
本发明公开了一种数据流分类方法、系统、设备及可读存储介质。该方法包括:获取交换芯片输入端口侧数据流的KEY信息,基于KEY信息计算数据流的哈希值,KEY信息包括数据流的源IP地址,源端口,目的IP地址,目的端口以及传输层协议;基于哈希值索引交换芯片侧的第一ACL表,若在第一ACL表中哈希值对应为空白表项,则将KEY信息上报至CPU侧,获取CPU下发的操作指令,将操作指令与KEY信息写入哈希值对应的空白表项并将对应老化标签设置为活跃状态;若第一ACL表中哈希值对应的表项不为空白表项,则索引对应表项中的操作指令并更新第一ACL表中对应的老化标签为活跃状态。本方法以较低的成本,完美的实现实时的流采样功能。在突发流量时,也可以确保上报的实时性。

技术研发人员:胥平春,童智博
受保护的技术使用者:苏州盛科通信股份有限公司
技术研发日:
技术公布日:2024/4/29
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1