[发明专利]一种回收泄露的程序运行资源的方法及装置有效
申请号: | 201510093175.6 | 申请日: | 2015-03-02 |
公开(公告)号: | CN104731661B | 公开(公告)日: | 2018-12-14 |
发明(设计)人: | 杨焕军 | 申请(专利权)人: | 大唐移动通信设备有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 刘松 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 回收 泄露 程序 运行 资源 方法 装置 | ||
本发明公开了一种回收泄露的程序运行资源的方法及装置,在该方案中,为待运行的第一程序申请程序运行资源,使得第一程序利用程序运行资源进行运行;在成功申请程序运行资源后,启动定时器;确定定时器超时,及未释放为第一程序申请的程序运行资源时,释放为第一程序申请的程序运行资源,禁止第一程序利用程序运行资源进行运行,由于在定时器超时时就将程序运行资源释放,因此,解决了现有技术中存在的系统由于程序运行资源不足而使业务受损或中断的问题。
技术领域
本发明涉及计算机技术领域,特别涉及一种回收泄露的程序运行资源方法及装置。
背景技术
程序运行资源,如内存、文件句柄、信号量、数据库连接池、线程池等是程序运行时需要的关键资源。在运行过程中,程序在需要使用程序运行资源时提出申请,在使用结束后及时释放所占用的程序运行资源;若没有及时释放已占用的程序运行资源,就会出现程序运行资源泄漏的问题。下面以内存泄漏为例,对程序运行资源泄漏的问题作具体说明。
内存泄漏是指由于设计或编码问题等造成程序没有及时释放已经不再使用的内存,导致系统的可用内存越来越少,随着程序长时间运行,内存泄漏越来越严重,最终可能导致系统由于内存不足而使业务受损或中断。内存泄漏是程序运行过程中容易出现而又难以避免的问题,随着软件规模越来越大、复杂度越来越高,系统中出现内存泄漏的概率也越来越高。
针对内存泄漏的问题,现有检测内存泄漏的方法之一是采用静态分析的方法,这种方法不需要运行程序,而是通过人工或自动化工具分析程序代码以检查代码中内存分配和释放的匹配情况。对于内存分配和释放的对应关系比较简单的情况,静态分析方法通常可以有效检测出潜在的内存泄漏。
现有检测内存泄漏的方法之二是在程序运行过程中动态监控内存的分配和释放,并结合对内存生命周期的判断来检测内存泄漏。
虽然目前可以检测出程序运行资源出现泄露的情况,但是无法实现对泄露的程序运行资源进行回收,因此,仍然未解决系统由于内存不足而使业务受损或中断的问题。
发明内容
本发明实施例提供一种回收泄露的程序运行资源的方法及装置,用以解决现有技术中存在的系统由于程序运行资源不足而使业务受损或中断的问题。
本发明实施例提供的具体技术方案如下:
一种回收泄露的程序运行资源的方法,包括:
为待运行的第一程序申请程序运行资源,使得所述第一程序利用所述程序运行资源进行运行;
在成功申请所述程序运行资源后,启动定时器;
确定所述定时器超时,及未释放为所述第一程序申请的所述程序运行资源时,释放为所述第一程序申请的所述程序运行资源,禁止所述第一程序利用所述程序运行资源进行运行。
进一步的,本发明实施例中,释放为所述第一程序申请的所述程序运行资源之后,禁止所述第一程序利用所述程序运行资源进行运行之前,还包括:
检测到所述第一程序调用所述程序运行资源时,确定所述程序运行资源的地址无效。
较佳的,本发明实施例中,确定所述程序运行资源的地址无效,具体包括:
确定第一时间点位于第二时间点之前时,确定所述程序运行资源的地址无效,所述第二时间点为第二程序成功申请所述程序运行资源的地址时的时间点,所述第一时间点为所述第一程序成功申请所述程序运行资源的地址时的时间点;或者
确定所述程序运行资源的地址未被所述程序所成功申请,确定所述程序运行资源的地址无效。
进一步的,本发明实施例中,确定所述第一时间点位于第二时间点之前之前,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510093175.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息处理方法及电子设备
- 下一篇:用于映射虚拟资源的位置信息的装置和方法