本发明专利技术公开了一种网络数据报文分流方法及装置,方法包括:对从网络中获取的数据报文进行解析,获得数据报文的源网络协议地址和目的网络协议地址;以数据报文的源网络协议地址和目的网络协议地址形成网络协议地址对,根据形成的网络协议地址对,将数据报文分配到缓存区中与网络协议地址对对应的队列中。本发明专利技术网络数据报文分流方法及装置,根据网络数据报文的源网络协议地址和目的网络协议地址形成的网络协议地址对进行分流,保证了同一连接的数据报文被分流到同一队列中,使得对网络数据报文的分流更加均衡。
【技术实现步骤摘要】
本专利技术涉及网络数据传输
,特别是涉及一种网络数据报文分流方法及装置。
技术介绍
在现有的网络数据传输中采用零拷贝技术,即在某网络节点的数据报文收发过程中并不通过在内存间拷贝数据进行,发送时数据包由应用程序的用户缓冲区直接经过网络接口到达外部网络,同理,接收时网络接口直接将数据包送入用户缓冲区。该技术优点是通过用户层和网络接口交互,避免了内存间的数据拷贝,可缩短数据包的行走路径,节省CPU开销,减轻CPU负载,提高网络性能。在现有的基于零拷贝技术的网络数据传输中,网络数据报文按照网络协议地址(即IP地址)进行分流存储在环形共享缓存中,不同的流绑定不同的CPU进行数据处理,可以达到负载均衡的结果。在对数据报文进行分流时,是以源IP或者目的IP为依据,将相同IP地址的数据报文存放到缓冲区同一个环形队列中,然而这种分流方法存在如下问题:同一个连接上不同方向的数据报文会被分到两个不同的流上,这样每一个连接会被分成两个流,如果网络连接数量很多,也会造成CPU负载过大的问题。
技术实现思路
鉴于此,本专利技术提供一种网络数据报文分流方法及装置,能够使同一连接的数据报文被分流到同一队列中,使得对网络数据报文的分流更加均衡。为实现上述目的,本专利技术提供如下技术方案:一种网络数据报文分流方法,包括:对从网络中获取的数据报文进行解析,获得所述数据报文的源网络协议地址和目的网络协议地址;以所述数据报文的源网络协议地址和目的网络协议地址形成网络协议地址对,根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中。可选地,所述根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中包括:将所述网络协议地址对中的两个网络协议地址作比较,将取值小的网络协议地址或者取值大的网络协议地址作为依据,对所述数据报文进行分配。可选地,采用哈希算法,根据所述网络协议地址对对所述数据报文进行分配。可选地,所述缓存区中的队列与相应的数据处理单元绑定,所述数据处理单元用于对队列中的数据报文进行处理。一种网络数据报文分流装置,包括:解析模块,用于对从网络中获取的数据报文进行解析,获得所述数据报文的源网络协议地址和目的网络协议地址;分流模块,用于以所述数据报文的源网络协议地址和目的网络协议地址形成网络协议地址对,根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中。可选地,所述分流模块用于根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中包括:所述分流模块具体用于将所述网络协议地址对中的两个网络协议地址作比较,将取值小的网络协议地址或者取值大的网络协议地址作为依据,对所述数据报文进行分配。可选地,采用哈希算法,根据所述网络协议地址对对所述数据报文进行分配。可选地,还包括:缓存区;与所述缓存区中的队列对应绑定的数据处理单元,用于对队列中的数据报文进行处理。由上述技术方案可知,本专利技术所提供的网络数据报文分流方法及装置,从网络中捕获到数据报文后,对数据报文进行解析获得数据报文的源网络协议地址和目的网络协议地址,将数据报文的源网络协议地址和目的网络协议地址形成网络协议地址对,根据所述网络协议地址对将所述数据报文分配到缓存区中与该网络协议地址对对应的队列中。本专利技术网络数据报文分流方法及装置,根据网络数据报文的源网络协议地址和目的网络协议地址形成的网络协议地址对进行分流,保证了同一连接的数据报文被分流到同一队列中,使得对网络数据报文的分流更加均衡。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种网络数据报文分流方法的流程图;图2为本专利技术实施例提供的一种网络数据报文分流装置的示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。本专利技术实施例提供一种网络数据报文分流方法,包括:对从网络中获取的数据报文进行解析,获得所述数据报文的源网络协议地址和目的网络协议地址;以所述数据报文的源网络协议地址和目的网络协议地址形成网络协议地址对,根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中。可以看出,本实施例网络数据报文分流方法,从网络中捕获到数据报文后,对数据报文进行解析获得数据报文的源网络协议地址和目的网络协议地址,将数据报文的源网络协议地址和目的网络协议地址形成网络协议地址对,根据所述网络协议地址对将所述数据报文分配到缓存区中与该网络协议地址对对应的队列中。本专利技术网络数据报文分流方法,根据网络数据报文的源网络协议地址和目的网络协议地址形成的网络协议地址对进行分流,保证了同一连接的数据报文被分流到同一队列中,使得对网络数据报文的分流更加均衡。下面结合具体实施方式对本实施例网络数据报文分流方法进行详细说明。请参考图1,本实施例网络数据报文分流方法包括:S10:对从网络中获取的数据报文进行解析,获得所述数据报文的源网络协议地址和目的网络协议地址。从网络中捕获到数据报文后,对数据报文进行解析,首先会解析所述数据报文的网络协议类型,并进一步解析获得所述数据报文的源网络协议地址和目的网络协议地址。S11:以所述数据报文的源网络协议地址和目的网络协议地址形成网络协议地址对,根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中。将所述数据报文的源网络协议地址和目的网络协议地址组成网络协议地址对,根据所述网络协议地址对,将该数据报文分配到缓存区中与所述网络协议地址对对应的队列中。在缓存区中,每一队列对应于网路数据传输的一路分流,每一路分流对应于同一网络连接,在同一网络连接中传输的所有网络数据报文,由源网络协议地址和目的网络协议地址组成的网络协议地址对是一致的,因此对于捕获的数据报文,根据其网络协议地址对进行分配,能够保证在同一连接传输的数据报文分配到同一队列中,分配到同一分流中。可选的,在一种实施方式中,根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中具体包括:将所述网络协议地址对中的两个网络协议地址作比较,将取值小的网络协议地址或者取值大的网络协议地址作为依据,对所述数据报文进行分配。具体采用哈希算法,根据所述网络协议地址对对所述数据报文进行分配。在上述实施方式中,根据分流依据相应修改哈希算法的key值,通过哈希算法对数据报文进行分流。本实施例网络数据报文分流方法中,所述缓存区中的队列与相应的数据处理单元绑定,所述数据处理单元用于对队列中的数据报文进行处理,由相应的数据处理单元对缓存区对应队列中的数据报文进行处理。本实施例网络数据本文档来自技高网...
【技术保护点】
一种网络数据报文分流方法,其特征在于,包括:对从网络中获取的数据报文进行解析,获得所述数据报文的源网络协议地址和目的网络协议地址;以所述数据报文的源网络协议地址和目的网络协议地址形成网络协议地址对,根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中。
【技术特征摘要】
1.一种网络数据报文分流方法,其特征在于,包括:对从网络中获取的数据报文进行解析,获得所述数据报文的源网络协议地址和目的网络协议地址;以所述数据报文的源网络协议地址和目的网络协议地址形成网络协议地址对,根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中。2.根据权利要求1所述的网络数据报文分流方法,其特征在于,所述根据形成的网络协议地址对,将所述数据报文分配到缓存区中与所述网络协议地址对对应的队列中包括:将所述网络协议地址对中的两个网络协议地址作比较,将取值小的网络协议地址或者取值大的网络协议地址作为依据,对所述数据报文进行分配。3.根据权利要求2所述的网络数据报文分流方法,其特征在于,采用哈希算法,根据所述网络协议地址对对所述数据报文进行分配。4.根据权利要求1所述的网络数据报文分流方法,其特征在于,所述缓存区中的队列与相应的数据处理单元绑定,所述数据处理单元用于对队列中的数据报文进行处理。5.一种网络数据报文分流...
【专利技术属性】
技术研发人员:成金祥,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。