[发明专利]用于网络数据包的处理方法、装置及电子设备有效
申请号: | 201810017420.9 | 申请日: | 2018-01-09 |
公开(公告)号: | CN110022330B | 公开(公告)日: | 2022-01-21 |
发明(设计)人: | 石博 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L67/1097 | 分类号: | H04L67/1097;H04L47/10 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁;窦晓慧 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 网络 数据包 处理 方法 装置 电子设备 | ||
本申请公开了一种用于网络数据包的处理方法,包括:根据预先确定的流量分配算法构造发送网络数据包,选择网卡队列发送该网络数据包;将接收到的网络数据包与所述流量分配算法进行匹配;根据匹配结果将接收网络数据包转发到符合所述流量分配算法的网卡队列,从而解决网络数据包的发送工作线程和接收工作线程不一致而导致的用户态处理网络数据包的性能降低的问题。
技术领域
本申请涉及网络数据处理领域,具体涉及一种用于网络数据包的处理方法及装置。本申请同时涉及一种用于客户端网络数据包的处理方法及装置。本申请同时涉及一种用于服务端网络数据包的处理方法及装置。本申请同时涉及一种用于网络数据包的处理系统以及一种用于实现所述用于网络数据包的处理方法的电子设备。
背景技术
在信息技术和分布式系统高速发展的时代,无论是硬件,如CPU、网卡等,还是软件层面,都在并行运算上不断革新。CPU性能的扩展通过多核的方式进行演进,使得通用处理器可以并行地处理网络负载,为了充分发挥多核处理器的优势,应用程序的进程、线程也随之扩展。以太网接口技术从曾经的千兆网、万兆网到现在的25G、100G超高速技术,网卡的收发包性能日益提高。硬件的发展,推动着软件的大幅度创新。在云计算领域,分布式系统的低延迟、高吞吐量性能,频繁受限于内核驱动、内核协议栈、内核调度等模块,因而多核环境中开发用户态网络库是提高系统性能及并行计算能力有效手段。相比于传统的内核网络模块,由Intel公司开发的基于多核处理器的高性能数据包处理平台 DPDK(Data PlaneDevelopment Kit,或数据面开发套件),在用户态完成对网络数据包的收发、处理,可避免如下问题:高并发流量时会造成调度模块繁忙,如CPU由于频繁处理软中断导致机器负载升高;大量的系统调用带来额外开销;线程切换的开销;应用程序和内核协议栈之间存在数据拷贝等。
将DPDK技术引入到工业应用中,在分布式存储系统中构建高性能系统,仍然存在如下问题:网络数据包的发送和接收线程存在不一致,从而降低了用户态处理网络数据包的性能。
发明内容
本申请提供一种用于网络数据包的处理方法,以解决网络数据包的发送和接收工作线程不一致而导致的用户态处理网络数据包的性能降低的问题。
本申请还提供一种用于客户端网络数据包的处理方法。
本申请还提供一种用于服务端网络数据包的处理方法。
本申请还提供一种用于网络数据包的处理装置。
本申请还提供一种用于客户端网络数据包的处理装置。
本申请还提供一种用于服务端网络数据包的处理装置。
本申请还提供一种用于网络数据包的处理系统。
本申请还提供一种实现所述用于网络数据包的处理方法的电子设备。
本申请提供一种用于网络数据包的处理方法,包括:
根据预先确定的流量分配算法构造发送网络数据包,选择网卡队列发送该网络数据包;
将接收到的网络数据包与所述流量分配算法进行匹配;
根据匹配结果将接收网络数据包转发到符合所述流量分配算法的网卡队列。
可选的,所述网卡队列,为绑定了工作线程的网卡队列;其中,所述工作线程,为与CPU物理核进行预先绑定的网络数据包处理线程。
可选的,所述根据匹配结果将接收网络数据包转发到符合所述流量分配算法的网卡队列,此步骤之后,还包括下述处理:
通过该网卡队列预先绑定的工作线程从所述网卡队列读取网络数据包进行线程内处理;其中,所述网卡队列预先绑定的工作线程,与构造发送网络数据包的工作线程为同一线程。
可选的,所述工作线程,是基于DPDK的工作线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810017420.9/2.html,转载请声明来源钻瓜专利网。