[发明专利]一种缓存管理的方法及装置有效
申请号: | 201710464931.0 | 申请日: | 2017-06-19 |
公开(公告)号: | CN107315622B | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 胡军;任红军;秦正 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/50 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 管理 方法 装置 | ||
本申请提供一种缓存管理的方法及装置,应用于搭载Linux系统的网络设备,所述方法包括:目标CPU在处理完成所述套接字缓存的指针指向的内存中的数据包后,回收所述套接字缓存;读取所述套接字缓存的标识字段,确定所述套接字缓存是否为所述目标CPU对应的套接字缓存;其中,所述标识字段携带所述套接字缓存所属的CPU的标识;如果否,基于所述标识字段中的CPU的标识,将所述套接字缓存加入到对应的CPU的所述第二软件队列中;如果是,将所述套接字缓存加入到所述目标CPU对应的所述第一软件队列中。本申请的技术方案,极大地减少了网络设备在对软件队列加锁、解锁过程中产生的系统开销,从而提高了网络设备对数据包的处理性能。
技术领域
本申请涉及计算机技术领域,特别涉及一种缓存管理的方法及装置。
背景技术
在搭载Linux系统的网络设备中,socket buffer(套接字缓存)是最重要的数据结构,Linux网络中的所有数据包的封装以及解封装都在这个数据结构的基础上进行。Linux系统在处理数据包的流程中,通过套接字缓存的指针来传递数据包信息。
对于搭载Linux系统的多核CPU的网络设备而言,各CPU被预先分配一条软件队列,其中,各软件队列中分别存放若干个套接字缓存。网络设备的网卡对应多条硬件队列,其中,各硬件队列分别对应一条软件队列。
当网卡接收到数据包时,可以基于预设的算法计算该数据包的五元组,确定存放该数据包的硬件队列,然后将数据包存放到该硬件队列中,并基于CPU从对应于该硬件队列的软件队列分配的套接字缓存,将数据包存放到该套接字缓存的指针指向的内存中。然后上述软件队列对应的CPU可以处理该数据包。
如果CPU成功处理该数据包,则CPU可以回收上述套接字缓存,并将上述套接字缓存加入到上述软件队列中。
如果CPU处理该数据包时失败,则可以基于预设的算法计算该数据包的五元组,确定处理该数据包的指定的CPU,然后将上述套接字缓存上送网络设备中的指定的CPU来处理。上述指定的CPU在处理完成上述套接字缓存的指针指向的内存中的数据包后,可以回收上述套接字缓存,并将上述套接字缓存加入到上述软件队列中。
当指定的CPU在往上述软件队列加入上述套接字缓存时,上述软件队列对应的CPU可能同时在操作上述软件队列。多个CPU针对同一软件队列并发操作时,可能产生错误。
在现有技术中,通过引入锁机制来解决并发操作可能产生错误的问题。当任一CPU针对软件队列进行操作时,为该软件队列加锁,以防其它CPU对该软件队列并发操作;在操作完成后,该CPU对该软件队列解锁。
然而,在实际应用中,锁机制增加了网络设备的系统开销,严重影响了网络设备对数据包的处理性能。
发明内容
有鉴于此,本申请提供一种缓存管理的方法及装置,用以解决通过锁机制避免并发操作可能产生错误时,锁机制增加了网络设备的系统开销,严重影响网络设备对数据包的处理性能的问题。
具体地,本申请是通过如下技术方案实现的:
一种缓存管理的方法,应用于搭载Linux系统的网络设备,所述网络设备搭载多核CPU和网卡,各CPU被预先分配对应的第一软件队列和第二软件队列,其中,所述第一软件队列中存放若干套接字缓存;所述网卡对应多条硬件队列,其中,各硬件队列分别对应一个CPU,包括:
目标CPU在处理完成所述套接字缓存的指针指向的内存中的数据包后,回收所述套接字缓存;
读取所述套接字缓存的标识字段,确定所述套接字缓存是否为所述目标CPU对应的套接字缓存;其中,所述标识字段携带所述套接字缓存所属的CPU的标识;
如果否,基于所述标识字段中的CPU的标识,将所述套接字缓存加入到对应的CPU的所述第二软件队列中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710464931.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动灌装镜像的方法及装置
- 下一篇:一种上报统计数据的方法和装置