一种内存管理方法及装置的制造方法_5

文档序号:9235348阅读:来源:国知局
装置。
[0076]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0077]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0078]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种内存管理方法,其特征在于,该方法包括: 当接收到应用模块用户申请内存的请求消息时,根据该请求消息为所述应用模块用户分配一个内存块,并且建立该内存块被该应用模块用户占用的记录信息; 当确定需要释放为所述应用模块用户分配的任一内存块时,释放该内存块,并且删除该内存块被该应用模块用户占用的记录信息; 当需要释放所述应用模块用户时,若确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息,则释放该记录信息中记录的被该应用模块用户占用的内存块,并且删除该内存块被该应用模块用户占用的记录信息。2.根据权利要求1所述的方法,其特征在于,所述根据该请求消息为所述应用模块用户分配一个内存块,并且建立该内存块被该应用模块用户占用的记录信息,具体包括: 针对为该应用模块用户分配的每一内存块:在预设的内存管理链表中存储所述应用模块用户标识与该内存块属性信息之间的对应关系,其中,所述内存管理链表中的表项与内存块一一对应,用于记录每一内存块被应用模块用户占用的记录信息,所述内存块属性信息包括内存块的标识和地址信息。3.根据权利要求2所述的方法,其特征在于,所述内存管理链表中包括忙链表和闲链表,当为应用模块用户分配一内存块时,从所述闲链表中获取一表项存储该内存块被该应用模块用户占用的记录信息,并添加到所述忙链表中。4.根据权利要求3所述的方法,其特征在于,在从所述闲链表中获取一表项存储该内存块被该应用模块用户占用的记录信息之后,该方法还包括:在预先存储的内存关系表中存储所述表项标识与内存块标识之间的对应关系; 当确定需要释放为所述应用模块用户分配的任一内存块时,释放该内存块,并且删除该内存块被该应用模块用户占用的记录信息,具体包括:当确定需要释放为所述应用模块用户分配的任一内存块时,释放该内存块,并根据所述内存关系表以及该内存块标识,确定该内存块标识对应的表项,删除该表项中存储的该内存块被该应用模块用户占用的记录信息;然后,将该表项添加到闲链表中。5.根据权利要求3所述的方法,其特征在于,通过如下方式确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息: 当所述内存管理链表的忙链表中存在所述应用模块用户标识与内存块属性信息之间的对应关系时,确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息。6.根据权利要求5所述的方法,其特征在于,所述忙链表的每一表项中还记录有应用模块用户申请的内存块所处理的业务信息; 所述确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息之后,该方法还包括:将记录有该记录信息的表项中记录的应用模块用户申请的内存块所处理的业务信息进行转存。7.根据权利要求5或6所述的方法,其特征在于,预先设置多个内存管理链表,并且,该方法还包括: 当接入多个应用模块用户时,对所述多个应用模块用户进行分组,得到多个应用模块用户组,建立所述应用模块用户组与内存管理链表之间的映射关系; 通过如下方式确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息: 确定该应用模块用户所在的应用模块用户组,并根据所述映射关系,确定所述应用模块用户对应的内存管理链表,当确定该内存管理链表的忙链表中存在所述应用模块用户标识与内存块属性信息之间的对应关系时,确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息。8.一种内存管理装置,其特征在于,包括: 内存分配单元,用于当接收到应用模块用户申请内存的请求消息时,根据该请求消息为所述应用模块用户分配一个内存块,并且建立该内存块被该应用模块用户占用的记录信息; 内存释放单元,连接至所述内存分配单元,用于当确定需要释放为所述应用模块用户分配的任一内存块时,释放该内存块,并且删除该内存块被该应用模块用户占用的记录信息; 处理单元,连接至所述内存分配单元和所述内存释放单元,用于当需要释放所述应用模块用户时,若确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息,则释放该记录信息中记录的被该应用模块用户占用的内存块,并且删除该内存块被该应用模块用户占用的记录信息。9.根据权利要求8所述的装置,其特征在于,所述内存分配单元根据该请求消息为所述应用模块用户分配一个内存块,并且建立该内存块被该应用模块用户占用的记录信息,具体用于: 针对为该应用模块用户分配的每一内存块:所述内存分配单元在预设的内存管理链表中存储所述应用模块用户标识与该内存块属性信息之间的对应关系,其中,所述内存管理链表中的表项与内存块一一对应,用于记录每一内存块被应用模块用户占用的记录信息,所述内存块属性信息包括内存块的标识和地址信息。10.根据权利要求9所述的装置,其特征在于,所述内存管理链表中包括忙链表和闲链表,当所述内存分配单元为应用模块用户分配一内存块时,从所述闲链表中获取一表项存储该内存块被该应用模块用户占用的记录信息,并添加到所述忙链表中。11.根据权利要求10所述的装置,其特征在于,所述内存分配单元从所述闲链表中获取一表项存储该内存块被该应用模块用户占用的记录信息之后,还用于:在预先存储的内存关系表中存储所述表项标识与内存块标识之间的对应关系; 所述内存释放单元具体用于:当确定需要释放为所述应用模块用户分配的任一内存块时,释放该内存块,并根据所述内存关系表以及该内存块标识,确定该内存块标识对应的表项,删除该表项中存储的该内存块被该应用模块用户占用的记录信息;然后,将该表项添加到闲链表中。12.根据权利要求10所述的装置,其特征在于,所述处理单元通过如下方式确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息: 当所述处理单元确定所述内存管理链表的忙链表中存在所述应用模块用户标识与内存块属性信息之间的对应关系时,所述处理单元确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息。13.根据权利要求12所述的装置,其特征在于,所述内存分配单元还用于:在所述忙链表的每一表项中记录应用模块用户申请的内存块所处理的业务信息; 所述处理单元确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息之后,还用于:将记录有该记录信息的表项中记录的应用模块用户申请的内存块所处理的业务信息进行转存。14.根据权利要求12或13所述的装置,其特征在于,预先设置多个内存管理链表,并且,所述处理单元还用于: 当接入多个应用模块用户时,对所述多个应用模块用户进行分组,得到多个应用模块用户组,建立所述应用模块用户组与内存管理链表之间的映射关系; 所述处理单元通过如下方式确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息: 所述处理单元确定该应用模块用户所在的应用模块用户组,并根据所述映射关系,确定所述应用模块用户对应的内存管理链表,当确定该内存管理链表的忙链表中存在所述应用模块用户标识与内存块属性信息之间的对应关系时,确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息。
【专利摘要】本发明公开了一种内存管理方法及装置,用以当存在内存泄露时,可以快速恢复泄露的内存,避免由于内存泄露导致单板故障、业务异常。所述内存管理方法,包括:当接收到应用模块用户申请内存的请求消息时,根据该请求消息为所述应用模块用户分配一个内存块,并且建立该内存块被该应用模块用户占用的记录信息;当确定需要释放为所述应用模块用户分配的任一内存块时,释放该内存块,并且删除该内存块被该应用模块用户占用的记录信息;当需要释放所述应用模块用户时,若确定还存在该应用模块用户对应的内存块被该应用模块用户占用的记录信息,则释放该记录信息中记录的被该应用模块用户占用的内存块,并且删除该内存块被该应用模块用户占用的记录信息。
【IPC分类】G06F9/50, G06F12/02
【公开号】CN104951370
【申请号】CN201510295719
【发明人】唐洪川
【申请人】大唐移动通信设备有限公司
【公开日】2015年9月30日
【申请日】2015年6月2日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1