数据报文的分配方法及装置的制造方法_3

文档序号:9455839阅读:来源:国知局
以包括:更新模块90,用于在第二级索引中存储的分流信息中将原先分配的处理数据报文的第一 VCPU更新为第二 VCPU。
[0085]下面将结合图7所示的优选实施方式对上述优选实施过程作进一步的描述。
[0086]图7是根据本发明优选实施例的多核数据采集设备的结构示意图。如图7所示,该多核数据采集设备可以包括:分流模块、一级处理模块、二级处理模块和更多级处理模块,其中,分流模块负责确定分流关系以及完成分流功能,将输入数据按照IP地址分流至后续各个VCPU处理。在对数据进行采集后,由于数据处理的复杂性可能需要经过多级处理,各级处理模块完成各自特定的功能,然后将数据交由下一级处理模块继续加以处理,每级处理模块都会分配多个VCPU进行处理,因而,数据在各级处理模块间进行传递时即需要分流。在该优选实施例中,分流模块可以包括:查表分流单元、初始分流单元、流量动态调整单元。
[0087]查表分流单元,负责按照IP地址进行分流,IP地址的前2个字节与后2个字节共同组成两级索引。
[0088]初始分流单元,负责采集设备第一次采集到该IP数据时,确定分流关系。确定分流关系的过程如下:首先依据各VCPU处理流量的实时统计结果,确定各处理模块中处理流量最小的VCPU,然后校验各VCPU的处理流量加上该IP数据的估算流量(所谓估算流量通常为经验值或平均值)是否大于禁止分配阈值;如果大于禁止分配阈值,则丢弃该数据并上报告警;如果小于或等于禁止分配阈值,则分配各处理模块中处理流量最小的VCPU处理该IP数据,并将分流关系保存至二级索引表中。
[0089]流量动态调整单元,负责对于已经分配完成的IP数据,经常出现流量增大或减少的情形,此时可能会造成各个VCPU流量出现新的不均衡现象,因此,需要动态监测并调整分流关系。流量动态调整可以分为将流量从当前VCPU中调出和将流量调入新的VCPU两个过程,即首先依据各个VCPU处理流量的实时统计结果,校验各个VCPU的处理流量是否大于分流关系调整阈值;如果大于分流关系调整阈值,则需要调整分流关系;如果小于或等于分流关系调整阈值,则不再需要调整。而当决定对特定的VCPU进行流量调整时,调入新的VCPU的流量需要通过禁止分配阈值的判定。
[0090]采用上述多核数据采集设备,既支持按IP地址快速查表分流,也支持按流量大小动态均衡分流,从而确保多核处理器中各个VCPU处理的负荷动态均衡,以充分发挥多核硬件资源,从而确保数据采集性能的稳定。
[0091]从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些效果是某些优选实施例可以达到的效果):采用本发明实施例所提供的技术方案,既可以按照IP地址的数量进行均衡分流,也可以按照流量大小进行均衡分流。通过直接寻址的查表分流方法可以提升查找速度和节省设备内存。另外,采用本发明实施例所提供的技术方案,还能够自动适应数据流量的变化,由此克服多核处理设备由于流量变化而导致的数据处理丢包的问题,从而保证了数据采集的稳定性。不仅如此,通过使用禁止分配阈值与分流关系调整阈值这两级阈值来实现分流流量的准确控制,确保流量在再分配时进行精确调配和数据零丢失。
[0092]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0093]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种数据报文的分配方法,其特征在于,包括: 获取数据报文的分流信息,其中,所述分流信息用于确定对所述数据报文进行处理的第一虚拟处理器VCPU,所述第一 VCPU当前处理的数据流量与所述数据报文的估算流量之和小于第一预设阈值; 按照所述分流信息将所述数据报文分配至所述第一 VCPU。2.根据权利要求1所述的方法,其特征在于,获取所述分流信息包括: 获取与所述数据报文对应的互联网协议IP地址; 根据所述IP地址的前N个字节在预设索引结构的第一级索引中查找第二级索引的起始地址信息,其中,N为正整数; 通过所述起始地址信息在所述第二级索引中查找与所述IP地址的后N个字节对应的所述分流信息。3.根据权利要求2所述的方法,其特征在于,在获取所述分流信息之前,还包括: 根据所述前N个字节在所述第一级索引确定所述第二级索引的起始地址信息; 在通过所述起始地址信息未能从所述第二级索引中查找到与所述后N个字节对应的所述分流信息的情况下,从当前处理不同数据流量的多个VCPU中选取处理数据流量最小的 VCPU ; 根据选取结果确定所述分流信息,并将所述分流信息填充至与所述后N个字节对应的位置。4.根据权利要求3所述的方法,其特征在于,在将所述数据报文发送至所述第一VCPU之后,还包括: 对所述第一 VCPU在接收所述数据报文后处理的数据流量进行实时统计; 判断所述统计结果是否大于第二预设阈值,其中,所述第一预设阈值小于所述第二预设阈值; 如果是,则将所述统计结果中的部分数据流量分配至第二 VCPU,其中,所述部分数据流量的源IP地址和/或目的IP地址相同,且在将所述部分数据流量分配至所述第二 VCPU之后,所述第一 VCPU处理的剩余数据流量小于所述第二预设阈值,所述第二 VCPU在接收所述部分数据流量后处理的数据流量小于所述第一预设阈值。5.根据权利要求4所述的方法,其特征在于,在将所述数据报文发送至所述第一VCPU之后,还包括: 在所述第二级索引中存储的所述分流信息中将原先分配的处理所述数据报文的第一VCPU更新为所述第二 VCPU。6.一种数据报文的分配装置,其特征在于,包括: 获取模块,用于获取数据报文的分流信息,其中,所述分流信息用于确定对所述数据报文进行处理的第一虚拟处理器VCPU,所述第一 VCPU当前处理的数据流量与所述数据报文的估算流量之和小于第一预设阈值; 第一分配模块,用于按照所述分流信息将所述数据报文分配至所述第一 VCPU。7.根据权利要求6所述的装置,其特征在于,所述获取模块包括: 获取单元,用于获取与所述数据报文对应的互联网协议IP地址; 第一查找单元,用于根据所述IP地址的前N个字节在预设索引结构的第一级索引中查找第二级索引的起始地址信息,其中,N为正整数; 第二查找单元,用于通过所述起始地址信息在所述第二级索引中查找与所述IP地址的后N个字节对应的所述分流信息。8.根据权利要求7所述的装置,其特征在于,所述装置还包括: 确定模块,用于根据所述前N个字节在所述第一级索引确定所述第二级索引的起始地址信息; 选取模块,用于在通过所述起始地址信息未能从所述第二级索引中查找到与所述后N个字节对应的所述分流信息的情况下,从当前处理不同数据流量的多个VCPU中选取处理数据流量最小的VCPU ; 处理模块,用于根据选取结果确定所述分流信息,并将所述分流信息填充至与所述后N个字节对应的位置。9.根据权利要求8所述的装置,其特征在于,所述装置还包括: 统计模块,用于对所述第一 VCPU在接收所述数据报文后处理的数据流量进行实时统计; 判断模块,用于判断所述统计结果是否大于第二预设阈值,其中,所述第一预设阈值小于所述第二预设阈值; 第二分配模块,用于在所述判断模块输出为是时,将所述统计结果中的部分数据流量分配至第二 VCPU,其中,所述部分数据流量的源IP地址和/或目的IP地址相同,且在将所述部分数据流量分配至所述第二 VCPU之后,所述第一 VCPU处理的剩余数据流量小于所述第二预设阈值,所述第二 VCPU在接收所述部分数据流量后处理的数据流量小于所述第一预设阈值。10.根据权利要求9所述的装置,其特征在于,所述装置还包括: 更新模块,用于在所述第二级索引中存储的所述分流信息中将原先分配的处理所述数据报文的第一 VCPU更新为所述第二 VCPU。
【专利摘要】本发明公开了一种数据报文的分配方法及装置,在上述方法中,获取数据报文的分流信息,其中,分流信息用于确定对数据报文进行处理的第一VCPU,第一VCPU当前处理的数据流量与数据报文的估算流量之和小于第一预设阈值;按照分流信息将数据报文分配至第一VCPU。根据本发明提供的技术方案,实现了流量的均衡分流,确保了数据采集的稳定性。
【IPC分类】H04L12/803, H04L12/741
【公开号】CN105207948
【申请号】CN201410307552
【发明人】汪承研, 胡芳华, 陈仕波, 刘胜强, 占治国
【申请人】中兴通讯股份有限公司
【公开日】2015年12月30日
【申请日】2014年6月30日
【公告号】WO2016000385A1
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1