[发明专利]系统资源管理方法及相关设备在审
申请号: | 202011409225.4 | 申请日: | 2020-12-03 |
公开(公告)号: | CN114595008A | 公开(公告)日: | 2022-06-07 |
发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼鱼乐网络科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F11/30 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖新技术开发区软件园东路*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 系统 资源管理 方法 相关 设备 | ||
本申请实施例提供了一种系统资源管理方法及相关设备,可以解决开发人员需要人工对每种资源释放,效率低下,以及初级开发人员还会出现不知道哪些系统资源需要释放,从而无法正确地释放系统资源问题。该方法包括:获取目标系统资源的创建系统函数和释放系统函数;建立所述创建系统函数和所述释放系统函数的对应关系;对所述目标系统资源的调用进行监控;当监控到调用所述目标系统资源的函数执行完成后,基于所述目标系统资源所属的预设类型,通过与所述目标系统资源的创建系统函数所对应的释放系统函数对所述目标系统资源进行释放。
技术领域
本申请涉及程序开发技术领域,尤其涉及一种系统资源管理方法及相关设备。
背景技术
对于程序中一些系统资源是非常宝贵的,但是存在一些开发人员由于人为疏忽而导致了资源没有释放,从而运行时间比较长时会导致程序崩溃。因而,需要对一些系统资源进行释放。
目前,开发人员需要人工对每种资源释放,效率很低,需要大量重复工作。并且,对于初级开发人员还会出现不知道哪些系统资源需要释放,从而无法正确地释放系统资源的情况。
发明内容
本申请实施例提供了一种系统资源管理方法及相关设备,可以解决开发人员需要人工对每种资源释放,效率低下,以及初级开发人员还会出现不知道哪些系统资源需要释放,从而无法正确地释放系统资源问题。
本申请实施例的第一方面提供了一种系统资源管理方法,包括:
获取目标系统资源的创建系统函数和释放系统函数;
建立所述创建系统函数和所述释放系统函数的对应关系;
对所述目标系统资源的调用进行监控;
当监控到调用所述目标系统资源的函数执行完成后,基于所述目标系统资源所属的预设类型,通过与所述目标系统资源的创建系统函数所对应的释放系统函数对所述目标系统资源进行释放。
可选地,所述获取目标系统资源的创建系统函数和释放系统函数的步骤之前,所述方法还包括:
通过预设配置模板定义系统资源的配置信息,所述配置信息包括:所述系统资源的创建系统函数、所述系统资源的创建系统函数的模块名称、所述系统资源的释放系统函数和所述系统资源的释放系统函数模块名称;
基于代码基线对代码进行增量上的自动扫描检查;
若扫描检查到匹配所述配置信息的代码,则增加所述配置信息所对应的系统资源为目标系统资源。
可选地,所述对所述目标系统资源的调用进行监控的步骤,包括:
通过独立于调用所述目标系统资源的函数的额外进程对所述目标系统资源的调用进行监控。
可选地,所述通过独立于调用所述目标系统资源的函数的额外进程对所述目标系统资源的调用进行监控的步骤,包括:
获取所述目标系统资源的分配信息和销毁信息;
将所述分配信息和所述销毁信息序列化生成消息数据;
对当前相同类型的目标系统资源的消息数据按照时间排序,并对不同类型的目标系统资源的消息数据进行分类传输。
可选地,所述获取所述目标系统资源的分配信息和销毁信息的步骤,包括:
获取当前目标系统资源的调用堆栈信息,其中,所述调用堆栈信息的获取方式包括:
通过StackWalk堆栈步方式获取,和/或,
基于汇编代码通过ebp扩展基址指针寄存器和esp扩展栈指针寄存器来回溯的方式获取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼鱼乐网络科技有限公司,未经武汉斗鱼鱼乐网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011409225.4/2.html,转载请声明来源钻瓜专利网。