[发明专利]数据传输方法、电子设备和计算机可读存储介质在审
| 申请号: | 202211065639.9 | 申请日: | 2022-08-31 |
| 公开(公告)号: | CN115442319A | 公开(公告)日: | 2022-12-06 |
| 发明(设计)人: | 刘会潮;祖静 | 申请(专利权)人: | 北京天融信网络安全技术有限公司;北京天融信科技有限公司;北京天融信软件有限公司 |
| 主分类号: | H04L49/90 | 分类号: | H04L49/90;H04L49/9047 |
| 代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 梁韬 |
| 地址: | 100085 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据传输 方法 电子设备 计算机 可读 存储 介质 | ||
本发明的实施例提供了一种数据传输方法、电子设备和计算机可读存储介质,涉及通信领域。其中,数据传输方法,包括:设置SKB缓冲池,在所述SKB缓冲池中设置若干SKB;将网卡的接收缓存区映射到所述SKB的数据区;将所述网卡接收到的数据包根据映射关系填充至所述SKB的数据区,形成带包SKB;将所述带包SKB输送至数据处理器。与现有技术相比,本发明实施例所提供的数据传输方法、电子设备和计算机可读存储介质具有提高收包效率的优点。
技术领域
本发明涉及通信领域,具体而言,涉及一种数据传输方法、电子设备和计算机可读存储介质。
背景技术
随着互联网技术的快速发展,网络带宽也越来越大,网络设备面临更大的流量处理压力,收发包性能是网络设备性能提高的关键点之一,所以需要对传统收发包方式进行改进以适应大流量的收发包需求。linux系统中网卡驱动程序作为数据包收取的第一软件入口点,对于整个linux网络子系统处理数据包的效率至关重要。
目前大多数网卡驱动在收到数据包时都会使用SKB(Struct sk_buffer,套接字缓冲区)进行数据包的转送工具,并采用数据包拷贝的方式将数据从网卡的缓存区放入SKB中。然而,由于此种方式的收发包需要在内核模块和应用程序间进行多次数据拷贝,导致传统收发包方式性能低下,收包效率低。
发明内容
本发明的目的包括,例如,提供了一种数据传输方法、电子设备和计算机可读存储介质,其能够减少申请SKB的次数、减少数据包在传输过程中的拷贝次数,提升收包效率。
本发明的实施例可以这样实现:
第一方面,本发明提供一种数据传输方法,包括:设置SKB缓冲池,在所述SKB缓冲池中设置若干SKB;将网卡的接收缓存区映射到所述SKB的数据区;将所述网卡接收到的数据包根据映射关系填充至所述SKB的数据区,形成带包SKB;将所述带包SKB输送至数据处理器。
第二方面,本发明提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述实施方式中任意一项所述的数据传输方法。
第三方面,本发明提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行实现前述实施方式中任意一项所述的数据传输方法。
本发明实施例的有益效果包括,例如:预先设置SKB缓冲池、并在SKB缓冲池中预先设置有若干SKB,网卡的接收缓存区映射到SKB的数据区;网卡在接收到数据包后,可以根据接收缓存区与SKB数据区的映射关系,将原本应该存储在接收缓存区中的数据包直接填充到SKB的数据区中,而无需经过将接收的数据包存储在接收缓存区,然后将接收缓存区中存储的数据包拷贝到SKB的数据区中这一拷贝动作,有效的提升了收包效率。同时,相较于现有技术中将接收缓存区中存储的数据包拷贝到SKB的数据区中这的技术方案,根据接收缓存区与SKB数据区的映射关系,将原本应该存储在接收缓存区中的数据包直接填充到SKB的数据区中这一过程无需中央处理器的参与,可以节省中央处理器资源,使得中央处理器有更多的能力处理进行其它操作,可以从整体上提升电子设备的工作能力。此外,由于SKB预设在SKB缓冲池内,且网卡接收到数据包后可以直接填充到SKB的数据区中,无需即时申请SKB进行数据包的运输,减少对SKB的申请次数,同样可以提升收包效率。
在可选的实施方式中,所述将所述带包SKB输送至数据处理器前,所述方法还包括:解除所述带包SKB与所述接收缓存区的映射关系。解除带包SKB与接收缓存区的映射关系一方面可以避免后续接收的数据包持续向带包SKB中进行填充,导致带包SKB中原本存储的数据包损坏或者丢失等问题的发生,提升收包准确率;另一方面还可以释放与带包SKB映射的接收缓存区的内存空间,使得与带包SKB映射的接收缓存区的内存空间不被无法继续填充数据包的带包SKB占用,进一步的提升收包效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天融信网络安全技术有限公司;北京天融信科技有限公司;北京天融信软件有限公司,未经北京天融信网络安全技术有限公司;北京天融信科技有限公司;北京天融信软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211065639.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑工程安全监测监管装置
- 下一篇:一种动力电池的测试系统及测试方法





