一种软硬件结合实现动态调整报文采样率的系统和方法

文档序号:7784754阅读:250来源:国知局
专利名称:一种软硬件结合实现动态调整报文采样率的系统和方法
技术领域
本发明属于网络数据处理领域,具体涉及一种软硬件结合实现动态调整报文采样率的系统和方法。
背景技术
对网络数据进行分析的系统,往往不是对所有的报文进行分析,而是按一定的采样率(比如每100个报文采样20个,采样率为20% ),从全部网络流量中抽取部分报文进行采样分析。由于网络流量的大小会随时间变化大幅波动,所以需要报文采样率能够根据系统运行的负载情况动态调整,当系统负载较大时,可以降低采样率,当系统负载较小时, 可以提高采样率。专利号为CN201110127295. 5、名称为“一种针对报文进行采样的方法及装置”公开了一种针对报文进行采样的方法及装置,所述方法包括以下步骤端口接收到报文时,提取所述报文的特征信息,根据所述特征信息,获取与所述报文对应的预先设定门限值;端口接收到报文时,随机产生一个随机值;当所述随机值大于所述门限值时,对所述报文进行采样。本发明通过从大量进入系统的报文中,提取到需要监测的报文的特征信息,针对某种业务的报文进行采样,按照一定的采样率将报文送至分析终端进行处理,可以减少大量数据报文给分析端带来的冲击,避免无关流量带来的影响,并对正常转发的原始报文不会带来任何影响;同时,也大大降低了分析端分析和处理的复杂度。此外,专利号为CN201110106353.6、名称为“带时戳的采样数据分级传输核心器件”公开了一种带时戳的采样数据分级传输核心器件,该核心器件包括远方时钟和本地时钟,所述远方时钟用于实现目标设备的目标时钟备份;以太网端口,用于接收来自于从属设备的采样数据报文,所述采样数据报文包含采样数据,及采样数据的与本地时钟同步的当前采样时戳;存储器,用于存储所述采样数据和当前采样时戳;控制器,用于根据所述目标时钟备份将所述与本地时钟同步的当前采样时戳调整为与目标设备的目标时钟同步的目标采样时戳;并将所述目标采样时戳和相应的采样数据一起封装成目标采样数据报文后发送给目标设备。通过这种方式,使其中的采样数据与最终的目标设备的目标时钟同步,从而确保应用该器件的系统的高实时性要求,有利于远程控制。但上述系统对报文采样率需要根据系统负载动态调整时,都是在软件收包的过程中进行的,所有的报文上传到软件后,软件根据系统负载情况调整采样率,根据当前采样率,丢弃掉一部分报文。这些系统在高速网络上,大量的需要丢弃的报文通过总线传输到主机内存,占用大量的系统资源,会导致系统效率较低。

发明内容
本发明克服现有技术的不足,应用软硬结合的方式,提高动态调整报文采样率的效率。本发明提供了一种软硬件结合实现动态调整报文采样率的系统,包括报文采集硬件模块和软件模块,报文采集硬件模块包括报文统计计数器模块和保存采样率的寄存器模块。本发明提供的软硬件结合实现动态调整报文采样率的系统,软件模块包括采样率计算器模块,用于计算出合理的报文采样率,配置到硬件模块的寄存器模块中。本发明提供的软硬件结合实现动态调整报文采样率的系统,所述报文统计计数器模块对采样率计算器模块进行反馈,从而帮助软件模块动态确定采样率。本发明提供的软硬件结合实现动态调整报文采样率的系统,硬件模块包括报文采集模块,用于根据所述寄存器模块的采样率和所述报文统计计数器模块的计数,选取某些报文上传给软件模块。本发明还提供一种软硬件结合实现动态调整报文采样率的方法,报文采集网卡硬件中设置报文统计计数器和保存采样率的寄存器。软件中设置采样率计算器,定期根据系统负载,以及当前所述报文统计计数器显示的网络流量情况,计算出合理的报文采样率,配置到硬件中。当报文采集卡接收到报文后,一方面进行报文统计,另一方面根据所述软件配置的采样率和所述报文统计计数,选取某些报文上传给软件,其他报文丢弃。所述软件收取采样报文,进行处理。所述采样寄存器通过pci空间映射到软件中,软件可以根据系统负载情况实时动态修改硬件中的所述报文采样率。本发明使用软硬结合的方式,在报文采集网卡硬件中配置一个采样率寄存器,网卡根据采样率寄存器中的值,从接收到的报文中抽取部分报文上传给软件,其他报文则丢弃。采样寄存器通过PCi空间映射到软件中,软件可以根据系统负载情况实时动态修改硬件中的报文采样率。与现有技术相比,本发明的有益效果在于大量的需要丢弃的报文直接被硬件丢弃,不通过总线传输到主机内存,不会占用大量的系统资源,从而提升网络报文采样系统的效率。


图1是本发明的结构示意图。
具体实施例方式图1是本发明的结构示意图,包括报文采集硬件模块和软件模块,报文采集硬件模块包括报文统计计数器模块和保存采样率的寄存器模块。软件模块包括采样率计算器模块,用于计算出合理的报文采样率,配置到硬件模块的寄存器模块中。所述报文统计计数器模块对采样率计算器模块进行反馈,从而帮助软件模块动态确定采样率。硬件模块包括报文采集模块,用于根据所述寄存器模块的采样率和所述报文统计计数器模块的计数,选取某些报文上传给软件模块。本发明的实现方法和过程如下(1)报文采集卡中设置报文统计计数器和保存采样率的寄存器。(2)软件中设置采样率计算器,定期根据系统负载,以及当前报文统计计数器显示的网络流量情况,计算出合理的报文采样率,配置到硬件中。(3)当报文采集卡接收到报文后,一方面进行报文统计,另一方面根据软件配置的采样率和报文统计计数,选取某些报文上传给软件,其他报文丢弃。(4)软件收取采样报文,进行处理。本发明在高速网络上,大量的需要丢弃的报文无需通过总线传输到主机内存,占用大量的系统资源,从而提升网络报文采样系统的效率。以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所述领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者同等替换,而未脱离本发明精神和范围的任何修改或者等同替换, 其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种软硬件结合实现动态调整报文采样率的系统,包括报文采集硬件模块和软件模块,其特征在于,报文采集硬件模块包括报文统计计数器模块和保存采样率的寄存器模块。
2.根据权利要求1所述的系统,其特征在于软件模块包括采样率计算器模块,用于计算出合理的报文采样率,配置到硬件模块的寄存器模块中。
3.根据权利要求1-2所述的系统,其特征在于所述报文统计计数器模块对采样率计算器模块进行反馈,从而帮助软件模块动态确定采样率。
4.根据权利要求1-3所述的系统,其特征在于硬件模块包括报文采集模块,用于根据所述寄存器模块的采样率和所述报文统计计数器模块的计数,选取某些报文上传给软件模块。
5.一种软硬件结合实现动态调整报文采样率的方法,其特征在于,报文采集网卡硬件中设置报文统计计数器和保存采样率的寄存器。
6.根据权利要求5所述的方法,其特征在于,软件中设置采样率计算器,定期根据系统负载,以及当前所述报文统计计数器显示的网络流量情况,计算出合理的报文采样率,配置到硬件中。
7.根据权利要求5-6所述的方法,其特征在于,当报文采集卡接收到报文后,一方面进行报文统计,另一方面根据所述软件配置的采样率和所述报文统计计数,选取某些报文上传给软件,其他报文丢弃。
8.根据权利要求5-7所述的方法,其特征在于,所述软件收取采样报文,进行处理。
9.根据权利要求5-8所述的方法,其特征在于,所述采样寄存器通过pci空间映射到软件中,软件可以根据系统负载情况实时动态修改硬件中的所述报文采样率。
全文摘要
本发明提供一种软硬件结合实现动态调整报文采样率的系统和方法,系统由报文采集网卡硬件和软件构成,报文采集网卡硬件中设置报文统计计数器和保存采样率的寄存器,网卡根据采样率寄存器中的值,从接收到的报文中抽取部分报文上传给软件,其他报文则丢弃。采样寄存器通过pci空间映射到软件中,软件可以根据系统负载情况实时动态修改硬件中的报文采样率。与现有技术相比,本发明的有益效果在于提升网络报文采样系统的效率。
文档编号H04L12/56GK102404231SQ201110426579
公开日2012年4月4日 申请日期2011年12月19日 优先权日2011年12月19日
发明者刘朝辉, 李锋伟, 窦晓光, 纪奎, 邵宗有 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1