CN105207948A - 数据报文的分配方法及装置 - Google Patents

数据报文的分配方法及装置 Download PDF

Info

Publication number
CN105207948A
CN105207948A CN201410307552.7A CN201410307552A CN105207948A CN 105207948 A CN105207948 A CN 105207948A CN 201410307552 A CN201410307552 A CN 201410307552A CN 105207948 A CN105207948 A CN 105207948A
Authority
CN
China
Prior art keywords
vcpu
data
data message
message
threshold value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410307552.7A
Other languages
English (en)
Other versions
CN105207948B (zh
Inventor
汪承研
胡芳华
陈仕波
刘胜强
占治国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201410307552.7A priority Critical patent/CN105207948B/zh
Priority to PCT/CN2014/091290 priority patent/WO2016000385A1/zh
Publication of CN105207948A publication Critical patent/CN105207948A/zh
Application granted granted Critical
Publication of CN105207948B publication Critical patent/CN105207948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage

Abstract

本发明公开了一种数据报文的分配方法及装置,在上述方法中,获取数据报文的分流信息,其中,分流信息用于确定对数据报文进行处理的第一VCPU,第一VCPU当前处理的数据流量与数据报文的估算流量之和小于第一预设阈值;按照分流信息将数据报文分配至第一VCPU。根据本发明提供的技术方案,实现了流量的均衡分流,确保了数据采集的稳定性。

Description

数据报文的分配方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种数据报文的分配方法及装置。
背景技术
随着第四代移动通信技术(4G)逐步进入商用,采用多核技术的大流量数据采集设备得到广泛使用,但多核的数据采集设备通常会存在如下两个问题:
问题一、进入采集设备的数据如何按照预设规则快速保序地分流到多个虚拟处理器(VCPU)中处理。
问题二、在各个VCPU中处理的数据,由于处理负荷的不均衡,硬件资源得不到充分使用,从而严重影响采集性能,并造成负荷过高的VCPU丢失数据。
针对上述第一个问题,通常都要求按照互联网协议(IP)地址进行分流,而在大多数设备上卷采用Hash分流的方式。采用该方式能够保证分流的简单快速,但却无法保证分流的均衡。为此,相关技术中提供了一种解决方案,依据报文源端口、目的端口、源IP、目的IP和协议内容进行Hash运算,然后依据Hash结果进行分流。但是因为Hash值的结果难以控制,所以会造成分流的不均衡。
针对上述第二个问题,需要依据流量大小进行分流,主要存在以下两种情况:
情况一、在初始分流时,需要依据流量大小进行分流,以确保各个VCPU中处理的负荷均衡;
情况二、对于已分流数据,需要定期检测是否存在流量突变,从而导致各个VCPU处理的流量不均衡。
为此,相关技术中虽然提供了一种依据所设阈值与流量大小进行流量动态调整的方法,但是其对流量动态调整的依据在于是否出现处理丢包,即设备检测到存在丢包现象发生才能够启用流量动态调整机制,所以此种动态分流调整方法无法保证数据处理过程中不出现丢包。
发明内容
本发明提供了一种数据报文的分配方法及装置,以至少解决相关技术中所采用的数据分流方式易造成各个VCPU处理的负荷不均衡的问题。
根据本发明的一个方面,提供了一种数据报文的分配方法。
根据本发明实施例的数据报文的分配方法包括:获取数据报文的分流信息,其中,分流信息用于确定对数据报文进行处理的第一VCPU,第一VCPU当前处理的数据流量与数据报文的估算流量之和小于第一预设阈值;按照分流信息将数据报文分配至第一VCPU。
优选地,获取分流信息包括:获取与数据报文对应的IP地址;根据IP地址的前N个字节在预设索引结构的第一级索引中查找第二级索引的起始地址信息,其中,N为正整数;通过起始地址信息在第二级索引中查找与IP地址的后N个字节对应的分流信息。
优选地,在获取分流信息之前,还包括:根据前N个字节在第一级索引确定第二级索引的起始地址信息;在通过起始地址信息未能从第二级索引中查找到与后N个字节对应的分流信息的情况下,从当前处理不同数据流量的多个VCPU中选取处理数据流量最小的VCPU;根据选取结果确定分流信息,并将分流信息填充至与后N个字节对应的位置。
优选地,在将数据报文发送至第一VCPU之后,还包括:对第一VCPU在接收数据报文后处理的数据流量进行实时统计;判断统计结果是否大于第二预设阈值,其中,第一预设阈值小于第二预设阈值;如果是,则将统计结果中的部分数据流量分配至第二VCPU,其中,部分数据流量的源IP地址和/或目的IP地址相同,且在将部分数据流量分配至第二VCPU之后,第一VCPU处理的剩余数据流量小于第二预设阈值,第二VCPU在接收部分数据流量后处理的数据流量小于第一预设阈值。
优选地,在将数据报文发送至第一VCPU之后,还包括:在第二级索引中存储的分流信息中将原先分配的处理数据报文的第一VCPU更新为第二VCPU。
根据本发明的另一方面,提供了一种数据报文的分配装置。
根据本发明实施例的数据报文的分配装置包括:获取模块,用于获取数据报文的分流信息,其中,分流信息用于确定对数据报文进行处理的第一VCPU,第一VCPU当前处理的数据流量与数据报文的估算流量之和小于第一预设阈值;第一分配模块,用于按照分流信息将数据报文分配至第一VCPU。
优选地,获取模块包括:获取单元,用于获取与数据报文对应的IP地址;第一查找单元,用于根据IP地址的前N个字节在预设索引结构的第一级索引中查找第二级索引的起始地址信息,其中,N为正整数;第二查找单元,用于通过起始地址信息在第二级索引中查找与IP地址的后N个字节对应的分流信息。
优选地,上述装置还包括:确定模块,用于根据前N个字节在第一级索引确定第二级索引的起始地址信息;选取模块,用于在通过起始地址信息未能从第二级索引中查找到与后N个字节对应的分流信息的情况下,从当前处理不同数据流量的多个VCPU中选取处理数据流量最小的VCPU;处理模块,用于根据选取结果确定分流信息,并将分流信息填充至与后N个字节对应的位置。
优选地,上述装置还包括:统计模块,用于对第一VCPU在接收数据报文后处理的数据流量进行实时统计;判断模块,用于判断统计结果是否大于第二预设阈值,其中,第一预设阈值小于第二预设阈值;第二分配模块,用于在判断模块输出为是时,将统计结果中的部分数据流量分配至第二VCPU,其中,部分数据流量的源IP地址和/或目的IP地址相同,且在将部分数据流量分配至第二VCPU之后,第一VCPU处理的剩余数据流量小于第二预设阈值,第二VCPU在接收部分数据流量后处理的数据流量小于第一预设阈值。
优选地,上述装置还包括:更新模块,用于在第二级索引中存储的分流信息中将原先分配的处理数据报文的第一VCPU更新为第二VCPU。
通过本发明实施例,采用获取数据报文的分流信息,其中,分流信息用于确定对数据报文进行处理的第一VCPU,第一VCPU当前处理的数据流量与数据报文的估算流量之和小于第一预设阈值;按照分流信息将数据报文分配至第一VCPU,解决了相关技术中所采用的数据分流方式易造成各个VCPU处理的负荷不均衡的问题,从而实现了流量的均衡分流,确保了数据采集的稳定性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据报文的分配方法的流程图;
图2是根据本发明优选实施例的实现查表分流功能所使用的二级索引表的示意图;
图3是根据本发明优选实施例的支持流量动态均衡的多核数据采集设备正常分流的流程图;
图4是根据本发明优选实施例的支持流量动态均衡的多核数据采集设备流量动态调整的流程图;
图5是根据本发明实施例的数据报文的分配装置的结构框图;
图6是根据本发明优选实施例的数据报文的分配装置的结构框图;
图7是根据本发明优选实施例的多核数据采集设备的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的数据报文的分配方法的流程图。如图1所示,该方法可以包括以下处理步骤:
步骤S102:获取数据报文的分流信息,其中,分流信息用于确定对数据报文进行处理的第一VCPU,第一VCPU当前处理的数据流量与数据报文的估算流量之和小于第一预设阈值;
步骤S104:按照分流信息将数据报文分配至第一VCPU。
相关技术中所采用的数据分流方式易造成各个VCPU处理的负荷不均衡。采用如图1所示的方法,通过对数据报文进行估计获取到的估算流量与各个VCPU当前处理的数据流量之和与第一预设阈值进行比较,选取满足当前处理的数据流量与估算流量之和小于第一预设阈值的VCPU对上述数据报文进行处理。由此,解决了相关技术中所采用的数据分流方式易造成各个VCPU处理的负荷不均衡的问题,从而实现了流量的均衡分流,确保了数据采集的稳定性。
在优选实施过程中,上述第一VCPU是当前各个VCPU中处理数据流量最小的VCPU。
优选地,在步骤S102中,获取分流信息可以包括以下操作:
步骤S1:获取与数据报文对应的IP地址;
步骤S2:根据IP地址的前N个字节在预设索引结构的第一级索引中查找第二级索引的起始地址信息,其中,N为正整数;
步骤S3:通过起始地址信息在第二级索引中查找与IP地址的后N个字节对应的分流信息。
图2是根据本发明优选实施例的实现查表分流功能所使用的二级索引表的示意图。如图2所示,首先分配一级索引存储空间(即分配0XFFFF个,建立索引号0~0XFFFF,其需要内存0X10000*8=524K),一级索引中存储的是二级索引的起始地址(字节数为8),该起始地址动态分配,初始为空。二级索引表中存储的是分流信息,即该IP数据处理的各级处理VCPU号。采用该二级分流索引表既能够快速分配确定分流关系又能够实现快速查找。当然,采用一个大小为0XFFFFFFFF的数组也可以实现该功能,但该数组的存储空间消耗巨大,至少需要3G以上的内存,而采用该二级索引的存储结构,由于一个设备处理的IP地址段较少,那么动态分配的二级索引表也较少,从而节省存储空间。
优选地,在步骤S102,获取分流信息之前,还可以包括以下步骤:
步骤S4:根据前N个字节在第一级索引确定第二级索引的起始地址信息;
步骤S5:在通过起始地址信息未能从第二级索引中查找到与后N个字节对应的分流信息的情况下,从当前处理不同数据流量的多个VCPU中选取处理数据流量最小的VCPU;
步骤S6:根据选取结果确定分流信息,并将分流信息填充至与后N个字节对应的位置。
作为本发明的一个优选实施例,图3是根据本发明优选实施例的支持流量动态均衡的多核数据采集设备正常分流的流程图。如图3所示,该流程可以包括以下处理步骤:
步骤S302:接收输入数据,获取数据的IP地址的前2个字节;
步骤S304:在二级索引表结构中,根据数据的IP地址的前2个字节在一级索引表中查找二级索引表地址,如没有找到,则要分配新的二级索引表;如果能够找到,则继续执行步骤S306;
步骤S306:获取数据的IP地址的后2个字节;
步骤S308:依据数据IP地址的后2个字节继续在二级索引表中查找分流关系;
步骤S310:判断分流关系是否已经分配完成;如果是,则转到步骤S318;如果否,则继续执行步骤S312;
步骤S312:如果分流关系未分配,则说明该IP数据为第一次采集,在初始分流时,先查找处理流量最小的VCPU;
步骤S314:判断该VCPU流量与该IP数据估算流量之和是否大于禁止分配阈值(相当于上述第一预设阈值),如果是,则转到步骤S320;如果否,则继续执行步骤S316;
步骤S316:将IP数据分配至该VCPU进行处理,并在第二级索引的IP地址后2个字节的位置上填充处于IP数据的上述VCPU的信息;
步骤S318:按照分配完成的分流关系进行分流;流程结束;
步骤S320:超过VCPU的处理能力则发出告警,丢弃数据;流程结束。
因此,在该优选实施例中,既可以按照IP地址的数量进行均衡分流,也可以按照流量大小进行均衡分流。通过直接寻址的查表分流方法可以提升查找速度和节省设备内存。
优选地,在步骤S104,将数据报文发送至第一VCPU之后,还可以包括以下操作:
步骤S7:对第一VCPU在接收数据报文后处理的数据流量进行实时统计;
步骤S8:判断统计结果是否大于第二预设阈值,其中,第一预设阈值小于第二预设阈值;
步骤S9:如果是,则将统计结果中的部分数据流量分配至第二VCPU,其中,部分数据流量的源IP地址和/或目的IP地址相同,且在将部分数据流量分配至第二VCPU之后,第一VCPU处理的剩余数据流量小于第二预设阈值,第二VCPU在接收部分数据流量后处理的数据流量小于第一预设阈值。
在优选实施例中,可以采用二级阈值控制,其分别为禁止分配阈值(相当于上述第一预设阈值)和分流关系调整阈值(相当于上述第二预设阈值)。
禁止分配阈值是指当VCPU的实际处理性能超过该禁止分配阈值时,不能将新IP数据分配至该VCPU处理,以便为流量的动态调整留有余地。该禁止分配阈值应当接近该VCPU正常处理的流量值。
分流关系调整阈值是指当VCPU的实际处理性能超过该分流关系调整阈值时,需要调整属于应该由该VCPU采集的IP数据,将其中的部分IP数据调整至其它处理流量较小的VCPU进行处理,直至该VCPU的实际处理性能小于该分流关系调整阈值。该分流关系调整阈值应当接近该VCPU能够处理的最大流量值并留有余地。
禁止分配阈值小于分流关系调整阈值并且两者之间存在一定的间隔,以适应已分流数据的流量波动。当初始分配时,如果特定VCPU超过禁止分配阈值,则不再向该VCPU分配新的IP数据,而留出一定的余量以适应流量波动。而在设备运行过程中,定期实时查看各VCPU处理的流量信息,发现存在特定VCPU处理流量超过分流关系调整阈值时,则需要及时将超过的流量数据以IP地址为单位重新分流至其它流量小的VCPU处理。这样就能够实现流量的动态分配,自动适应各IP数据的流量波动,以便在不超过设备总处理性能的前提下,稳定采集数据而不丢失数据。
优选地,在步骤S104,将数据报文发送至第一VCPU之后,还可以包括以下步骤:
步骤S10:在第二级索引中存储的分流信息中将原先分配的处理数据报文的第一VCPU更新为第二VCPU。
作为本发明的又一个优选实施例,图4是根据本发明优选实施例的支持流量动态均衡的多核数据采集设备流量动态调整的流程图。如图4所示,该流程可以包括以下处理步骤:
步骤S402:检测各个VCPU当前的处理流量;
步骤S404:判断编号为VCPU_A的处理流量是否大于分流关系调整阈值;如果否,则流程结束;如果是,则继续执行步骤S406;
步骤S406:开始调整该VCPU_A的处理流量,查找出当前处理流量最小的VCPU,其编号为VCPU_B;
步骤S408:准备将VCPU_A中处理的流量分配一部分至VCPU_B加以处理,查找出VCPU_A中流量最大的IP数据;
步骤S410:判断VCPU_B流量与该IP数据流量之和是否大于禁止分配阈值;如果否,则继续执行步骤S412;如果是,则转到步骤S416;
步骤S412:将该IP数据重新分流给VCPU_B处理;
步骤S414:如果已经对流量进行了动态调整,则需要在二级索引表中更新分流关系,以便后续到来的数据可以按照新的分流关系进行分流处理;转到步骤S404,再次查看对VCPU_A中流量进行调整后,其处理流量是否依旧超过分流关系调整阈值,如果超过,则需要按上述步骤继续调整;如果没有超过,则流程结束;
步骤S416:上报超过处理能力告警;流程结束。
通过上述优选实施例,能够自动适应数据流量的变化,由此克服多核处理设备由于流量变化而导致的数据处理丢包的问题,从而保证了数据采集的稳定性。
图5是根据本发明实施例的数据报文的分配装置的结构框图。如图5所示,该数据报文的分配装置可以包括:获取模块10,用于获取数据报文的分流信息,其中,分流信息用于确定对数据报文进行处理的第一VCPU,第一VCPU当前处理的数据流量与数据报文的估算流量之和小于第一预设阈值;第一分配模块20,用于按照分流信息将数据报文分配至第一VCPU。
采用如图5所示的装置,解决了相关技术中所采用的数据分流方式易造成各个VCPU处理的负荷不均衡的问题,从而实现了流量的均衡分流,确保了数据采集的稳定性。
优选地,如图6所示,获取模块10可以包括:获取单元100,用于获取与数据报文对应的IP地址;第一查找单元102,用于根据IP地址的前N个字节在预设索引结构的第一级索引中查找第二级索引的起始地址信息,其中,N为正整数;第二查找单元104,用于通过起始地址信息在第二级索引中查找与IP地址的后N个字节对应的分流信息。
优选地,如图6所示,上述装置还可以包括:确定模块30,用于根据前N个字节在第一级索引确定第二级索引的起始地址信息;选取模块40,用于在通过起始地址信息未能从第二级索引中查找到与后N个字节对应的分流信息的情况下,从当前处理不同数据流量的多个VCPU中选取处理数据流量最小的VCPU;处理模块50,用于根据选取结果确定分流信息,并将分流信息填充至与后N个字节对应的位置。
优选地,如图6所示,上述装置还可以包括:统计模块60,用于对第一VCPU在接收数据报文后处理的数据流量进行实时统计;判断模块70,用于判断统计结果是否大于第二预设阈值,其中,第一预设阈值小于第二预设阈值;第二分配模块80,用于在判断模块输出为是时,将统计结果中的部分数据流量分配至第二VCPU,其中,部分数据流量的源IP地址和/或目的IP地址相同,且在将部分数据流量分配至第二VCPU之后,第一VCPU处理的剩余数据流量小于第二预设阈值,第二VCPU在接收部分数据流量后处理的数据流量小于第一预设阈值。
优选地,如图6所示,上述装置还可以包括:更新模块90,用于在第二级索引中存储的分流信息中将原先分配的处理数据报文的第一VCPU更新为第二VCPU。
下面将结合图7所示的优选实施方式对上述优选实施过程作进一步的描述。
图7是根据本发明优选实施例的多核数据采集设备的结构示意图。如图7所示,该多核数据采集设备可以包括:分流模块、一级处理模块、二级处理模块和更多级处理模块,其中,分流模块负责确定分流关系以及完成分流功能,将输入数据按照IP地址分流至后续各个VCPU处理。在对数据进行采集后,由于数据处理的复杂性可能需要经过多级处理,各级处理模块完成各自特定的功能,然后将数据交由下一级处理模块继续加以处理,每级处理模块都会分配多个VCPU进行处理,因而,数据在各级处理模块间进行传递时即需要分流。在该优选实施例中,分流模块可以包括:查表分流单元、初始分流单元、流量动态调整单元。
查表分流单元,负责按照IP地址进行分流,IP地址的前2个字节与后2个字节共同组成两级索引。
初始分流单元,负责采集设备第一次采集到该IP数据时,确定分流关系。确定分流关系的过程如下:首先依据各VCPU处理流量的实时统计结果,确定各处理模块中处理流量最小的VCPU,然后校验各VCPU的处理流量加上该IP数据的估算流量(所谓估算流量通常为经验值或平均值)是否大于禁止分配阈值;如果大于禁止分配阈值,则丢弃该数据并上报告警;如果小于或等于禁止分配阈值,则分配各处理模块中处理流量最小的VCPU处理该IP数据,并将分流关系保存至二级索引表中。
流量动态调整单元,负责对于已经分配完成的IP数据,经常出现流量增大或减少的情形,此时可能会造成各个VCPU流量出现新的不均衡现象,因此,需要动态监测并调整分流关系。流量动态调整可以分为将流量从当前VCPU中调出和将流量调入新的VCPU两个过程,即首先依据各个VCPU处理流量的实时统计结果,校验各个VCPU的处理流量是否大于分流关系调整阈值;如果大于分流关系调整阈值,则需要调整分流关系;如果小于或等于分流关系调整阈值,则不再需要调整。而当决定对特定的VCPU进行流量调整时,调入新的VCPU的流量需要通过禁止分配阈值的判定。
采用上述多核数据采集设备,既支持按IP地址快速查表分流,也支持按流量大小动态均衡分流,从而确保多核处理器中各个VCPU处理的负荷动态均衡,以充分发挥多核硬件资源,从而确保数据采集性能的稳定。
从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些效果是某些优选实施例可以达到的效果):采用本发明实施例所提供的技术方案,既可以按照IP地址的数量进行均衡分流,也可以按照流量大小进行均衡分流。通过直接寻址的查表分流方法可以提升查找速度和节省设备内存。另外,采用本发明实施例所提供的技术方案,还能够自动适应数据流量的变化,由此克服多核处理设备由于流量变化而导致的数据处理丢包的问题,从而保证了数据采集的稳定性。不仅如此,通过使用禁止分配阈值与分流关系调整阈值这两级阈值来实现分流流量的准确控制,确保流量在再分配时进行精确调配和数据零丢失。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

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。
CN201410307552.7A 2014-06-30 2014-06-30 数据报文的分配方法及装置 Active CN105207948B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410307552.7A CN105207948B (zh) 2014-06-30 2014-06-30 数据报文的分配方法及装置
PCT/CN2014/091290 WO2016000385A1 (zh) 2014-06-30 2014-11-17 数据报文的分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410307552.7A CN105207948B (zh) 2014-06-30 2014-06-30 数据报文的分配方法及装置

Publications (2)

Publication Number Publication Date
CN105207948A true CN105207948A (zh) 2015-12-30
CN105207948B CN105207948B (zh) 2019-05-31

Family

ID=54955390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410307552.7A Active CN105207948B (zh) 2014-06-30 2014-06-30 数据报文的分配方法及装置

Country Status (2)

Country Link
CN (1) CN105207948B (zh)
WO (1) WO2016000385A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106385385A (zh) * 2016-09-29 2017-02-08 东软集团股份有限公司 资源分配方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6159540A (ja) * 1984-08-30 1986-03-27 Fujitsu Ltd デイスパツチング処理方式
CN1945543A (zh) * 2006-11-13 2007-04-11 杭州华为三康技术有限公司 多核处理器的业务流处理方法及多核处理器
CN101354663A (zh) * 2007-07-25 2009-01-28 联想(北京)有限公司 应用于虚拟机系统的真实cpu资源的调度方法及调度装置
CN101576831A (zh) * 2008-05-07 2009-11-11 万德洪 一种分布式计算系统及实现方法
CN102317917A (zh) * 2011-06-30 2012-01-11 华为技术有限公司 热点域虚拟机cpu调度方法及虚拟机系统
CN102546441A (zh) * 2012-02-29 2012-07-04 杭州华三通信技术有限公司 一种报文分流方法和网络设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101924679A (zh) * 2009-06-12 2010-12-22 中兴通讯股份有限公司 一种以太网口报文限速方法、装置及数据通信设备
CN101656677B (zh) * 2009-09-18 2011-11-16 杭州迪普科技有限公司 一种报文分流处理方法及装置
CN103514043B (zh) * 2012-06-29 2017-09-29 华为技术有限公司 多处理器系统及该系统的数据处理方法
CN103067302B (zh) * 2013-01-11 2018-09-25 中兴通讯股份有限公司 一种实现双速率漏桶模型的方法及装置
CN103595577B (zh) * 2013-10-31 2017-02-15 赛尔网络有限公司 Isp间互联口超过阈值流量监控系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6159540A (ja) * 1984-08-30 1986-03-27 Fujitsu Ltd デイスパツチング処理方式
CN1945543A (zh) * 2006-11-13 2007-04-11 杭州华为三康技术有限公司 多核处理器的业务流处理方法及多核处理器
CN101354663A (zh) * 2007-07-25 2009-01-28 联想(北京)有限公司 应用于虚拟机系统的真实cpu资源的调度方法及调度装置
CN101576831A (zh) * 2008-05-07 2009-11-11 万德洪 一种分布式计算系统及实现方法
CN102317917A (zh) * 2011-06-30 2012-01-11 华为技术有限公司 热点域虚拟机cpu调度方法及虚拟机系统
CN102546441A (zh) * 2012-02-29 2012-07-04 杭州华三通信技术有限公司 一种报文分流方法和网络设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106385385A (zh) * 2016-09-29 2017-02-08 东软集团股份有限公司 资源分配方法及装置

Also Published As

Publication number Publication date
CN105207948B (zh) 2019-05-31
WO2016000385A1 (zh) 2016-01-07

Similar Documents

Publication Publication Date Title
US11032210B2 (en) Software load balancer to maximize utilization
CN109617986B (zh) 一种负载均衡方法及网络设备
CN107466079B (zh) 自动中继切换方法及装置
CN110401657B (zh) 一种访问日志的处理方法及装置
CN110138756B (zh) 一种限流方法及系统
CN102045321B (zh) 软件下载的流量控制方法及流量控制系统
CN113132249A (zh) 一种负载均衡方法和设备
CN110581801B (zh) 内容分发网络的网络调整方法以及装置
CN105516347A (zh) 一种流媒体服务器的负载均衡调配的方法及装置
CN110198332B (zh) 内容分发网络节点的调度方法、装置及存储介质
CN107203477A (zh) 内存分配方法、装置、电子设备及可读存储介质
CN102916903A (zh) 缓存调整方法及装置
US20190260686A1 (en) Allocation of processors for processing packets
CN110955512A (zh) 缓存处理方法、装置、存储介质、处理器及计算设备
CN106936926B (zh) 访问数据节点的方法及系统
CN104580008A (zh) 基于硬件提高多队列随机丢弃报文精度的方法及装置
CN103595736A (zh) 视频监控系统中的访问请求处理方法和装置
CN104618157A (zh) 网络管理方法、设备及系统
US20190207853A1 (en) Selection of inputs for lookup operations
CN105207948A (zh) 数据报文的分配方法及装置
CN106790411B (zh) 虚拟交换机与物理交换机的非聚合端口级联系统及方法
CN110460486B (zh) 服务节点的监控方法及系统
CN109714269B (zh) 一种数据处理方法及网络设备
CN115794423B (zh) 一种智能机房的管理方法、装置、电子设备及存储介质
CN111465052B (zh) 核心网映射及映射表生成方法、装置、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant