【技术实现步骤摘要】
内存申请方法、设备及存储介质
本申请涉及网络通信
,尤其涉及一种内存申请方法、设备及存储介质。
技术介绍
随着网络技术的飞速发展,越来越多的网络应用出现在人们生活中。大多数网络应用是基于传输控制协议/因特网互联协议(TransmissionControlProtocol/InternetProtocol,TCP/IP协议)进行通信,具体表现为端到端的网络连接,例如TCP连接或用户数据报协议(UserDatagramProtocol,UDP)连接,也称为数据流。在TCP/IP协议中,使用五元组(源IP地址、目的IP地址、源端口、目的端口、协议号)唯一地确定一条连接。对于通信路径中的网络设备来说,接收到报文后,根据报文的五元组计算哈希值,在连接跟踪表中进行匹配,确定报文所属的连接跟踪,然后根据匹配到的连接跟踪进行功能处理,如网络地址转换(NetworkAddressTranslation,NAT)、路由、防火墙过滤、应用识别等。当数据流的第一个报文到达网络设备时,连接跟踪表中不存在对应的连接跟踪,需要申请新的连接跟踪并插入连接跟踪表中。在这个过程中,需要为新的连接跟踪申请内存空间。在现有技术中,要么采用动态申请内存的机制,要么采用预先申请内存、动态分配表项的机制。在动态申请内存的机制中,每一条数据流都要进行内存申请和释放操作,降低了网络设备的报文转发性能;而在预先申请内存、动态分配表项的机制中,如果预先申请的内存过多,会造成大量无效的内存占用,降低了设备运行的稳定性,如果预先申请的内存不足,又会造成数据流转发中断。
技术实现思路
本申请的多个方面提供一种内存 ...
【技术保护点】
1.一种内存申请方法,适用于网络设备,其特征在于,所述方法包括:根据所述网络设备上可能并发的数据流的数量,采用静态内存申请机制预先从操作系统OS中申请静态内存;监听是否发生内存扩容事件;若监听到内存扩容事件发生,则采用动态内存申请机制向所述OS申请动态内存;其中,在使用过程中,所述动态内存可以动态缩减。
【技术特征摘要】
1.一种内存申请方法,适用于网络设备,其特征在于,所述方法包括:根据所述网络设备上可能并发的数据流的数量,采用静态内存申请机制预先从操作系统OS中申请静态内存;监听是否发生内存扩容事件;若监听到内存扩容事件发生,则采用动态内存申请机制向所述OS申请动态内存;其中,在使用过程中,所述动态内存可以动态缩减。2.根据权利要求1所述的方法,其特征在于,所述监听是否发生内存扩容事件,包括:周期性检测当前已有的内存空间中空闲表项的数量,若检测到空闲表项的数量小于设定的第一数量阈值,则监听到内存扩容事件发生;和/或,当有新的数据流需要创建时,若当前已有的内存空间中没有足够的空闲表项,则监听到内存扩容事件发生。3.根据权利要求1所述的方法,其特征在于,所述采用动态内存申请机制向所述OS申请动态内存,包括:采用动态内存申请机制,以一个内存页为单位向所述OS申请动态内存;其中,所述内存页的大小是所述静态内存和所述动态内存中需要存储的表项的大小的整数倍。4.根据权利要求1所述的方法,其特征在于,在采用动态内存申请机制向所述OS申请动态内存之前,还包括:判断监听到内存扩容事件之前采用动态内存申请机制向所述OS申请动态内存的连续失败次数是否达到设定的次数阈值;若判断结果为是,则拒绝采用动态内存申请机制向所述OS申请动态内存,并在等待设定时间后,将所述连续失败次数置为0,并重新执行所述监听是否发生内存扩容事件的操作;若判断结果为否,则采用动态内存申请机制向所述OS申请动态内存,并在成功申请到动态内存时,将所述连续失败次数置为0。5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:每当向所述OS成功申请到动态内存时,将成功申请到的动态内存作为一个内存子块,并将所述内存子块的起始地址加入内存子块索引表中;以及确定所述内存子块所属的内存块,并将所述内存子块的所有表项加入其所属的内存块的空闲链表中,所述空闲链表用于存储所述内存块中空闲表项的序号。6.根据权利要求5所述的方法,其特征在于,还包括:当接收到内存表项分配请求时,查询当前已有的内存空间所包含的各内存块对应的内存块描述符,以获取各内存块的状态,所述内存块描述符包括内存块的状态;从处于半满状态的内存块中选择一个内存块进行表项分配,所述半满状态是指内存块的空闲表项的数量小于对应的内存块包含的表项总数的状态。7.根据权利要求5所述的方法,其特征在于,还包括:监测当前已有的内存空间所包含的各内存块对应的内存块描述符,以获取各内存块的状态;若存在处于空闲状态的内存块,且所述处于空闲状态的内存块中的内存子块均属于动态内存,则释放所述处于空闲状态的内存块,所述空闲状态是指内存块的空闲表项的数量等于对应的内存块包含的表项总数的状态。8.根据权利要求7所述的方法,其特征在于,在释放所述处于空闲状态...
【专利技术属性】
技术研发人员:潘云登,
申请(专利权)人:锐捷网络股份有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。