[发明专利]一种报文缓冲区管理方法及装置有效
申请号: | 201810666218.9 | 申请日: | 2018-06-22 |
公开(公告)号: | CN109062781B | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 林振彬 | 申请(专利权)人: | 北京星网锐捷网络技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/07;G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100036 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报文 缓冲区 管理 方法 装置 | ||
本发明公开了一种报文缓冲区管理方法,该方法包括:当业务进程申请报文缓冲区时,为所述业务进程分配总报文缓冲区中的空闲报文缓冲区,并将所述空闲报文缓冲区的持有者信息更新为所述业务进程的标识ID,将所述空闲报文缓冲区的时间戳更新为当前最新时间;按照预设周期对所述总报文缓冲区进行检测;当所述总报文缓冲区中的第一报文缓冲区的持有者信息不是预设持有者信息且所述第一报文缓冲区的时间戳超过第一预设时长而未被更新时,则回收所述第一报文缓冲区。本发明能够解决现有技术中报文缓冲区无法高效回收造成系统异常的问题。
技术领域
本发明涉及计算机技术领域,尤指一种报文缓冲区管理方法及装置。
背景技术
报文缓冲区是指报文的载体,是用来缓存网卡收到的报文帧的一段内存。报文缓冲区分配方式按分配的时机分类,可分为动态分配方式和预先分配方式。其中,动态分配方式是指在准备接收下一新帧时通过操作系统提供的报文缓冲区申请接口,为接收描述符分配缓冲区;需要缓冲区时才进行分配,具有内存开销小的优点,但需要动态地分配内存,因此CPU开销比较大。预先分配方式是指在网络初始化时预先分配一定数量的报文缓冲区放入缓冲区池中,准备接收下一新帧时,从缓冲池中为接收描述符分配缓冲区;这种实现方式因为采用预留内存的方式,启机阶段内存使用率会高一些,但是缓冲区的分配性能会更好。
报文缓冲区资源泄露,是指报文缓冲区在使用完后,没有回收到空闲缓冲区池中或者是没有回收内存,相当于内存泄露。
目前最常用的报文缓冲管理方法有Linux系统下的报文缓冲区管理和数据平面开发套件(Data Plane Development Kit,DPDK)。
Linux的报文处理在内核,驱动每接收到一个报文,都是直接调用skb_alloc接口,从专用缓冲区中申请一个报文缓冲区,其是采用动态分配报文缓冲区的机制。Linux的转发系统如果发生套接字缓冲区(socket buffer,SKB)泄露,就会导致系统内存泄露,内存使用率上升,最后系统没空闲的内存可用,导致系统异常。
DPDK是运行在用户空间的数据平面开发套件,这个开发套件提供了报文缓冲区(mbuf)的报文缓冲区管理机制。DPDK的驱动收到数据包时,经DPDK重载的网卡驱动不会通过中断通知CPU,而是直接将数据包存入mbuf所对应的内存,mbuf是采用预先分配的方式。基于DPDK实现的报文转发系统,如果mbuf资源在使用后,没有被及时回收,导致mbuf空闲池中没有可用的mbuf,就会导致系统报文转发异常。
然而,无论对于预先分配方式还是动态分配方式的报文缓冲区管理方式,目前都没有高效的内存回收技术以防止内存泄露造成的系统异常。
发明内容
本发明实施例提供一种报文缓冲区管理方法及装置,用以解决现有技术中报文缓冲区无法高效回收造成系统异常的问题。
一种报文缓冲区管理方法,所述方法包括:
当业务进程申请报文缓冲区时,为所述业务进程分配总报文缓冲区中的空闲报文缓冲区,并将所述空闲报文缓冲区的持有者信息更新为所述业务进程的标识ID,将所述空闲报文缓冲区的时间戳更新为当前最新时间;
按照预设周期对所述总报文缓冲区进行检测;
当所述总报文缓冲区中的第一报文缓冲区的持有者信息不是预设持有者信息且所述第一报文缓冲区的时间戳超过第一预设时长而未被更新时,则回收所述第一报文缓冲区。
进一步地,所述方法,还包括:
扩展所述总报文缓冲区的控制信息,增加持有者信息字段和时间戳字段;
将所述持有者信息字段初始化为预设持有者信息;
其中,所述持有者信息字段,用于记录当前持有对应的报文缓冲区的业务信息;所述时间戳字段,用于记录最近一次更新对应的报文缓冲区的时间戳。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京星网锐捷网络技术有限公司,未经北京星网锐捷网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810666218.9/2.html,转载请声明来源钻瓜专利网。