[发明专利]一种资源监控方法及系统在审
申请号: | 202110728810.9 | 申请日: | 2021-06-29 |
公开(公告)号: | CN113312243A | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 胡学锋 | 申请(专利权)人: | 胡学锋 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 成都市集智汇华知识产权代理事务所(普通合伙) 51237 | 代理人: | 罗艳 |
地址: | 610000 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 资源 监控 方法 系统 | ||
本发明涉及资源管理技术领域,实施例具体公开一种资源监控方法及系统。本申请通过初始化资源管理器;生成资源的资源监控结构;对资源进行资源监控;收到更新资源监控信息的指令,生成资源统计信息和资源使用信息的方法,能够针对某一具体资源的使用情况进行详细的记录,进一步协助业务分析和问题定位。
技术领域
本发明涉及资源管理技术领域,具体涉及一种资源监控方法及系统。
背景技术
现有技术对资源进行监控的常见方案是使用系统提供的常见工具或命令,如linux平台上,系统提供top命令,可以掌握进程资源的使用情况。windows平台上,系统提供“资源管理器”,通过资源管理器,同样可以查看某一个进程的总体资源的使用情况。但是这些对资源管理和监控都是对某一类资源(例如内存资源)最终使用总量进行的统计分析,能够为业务提供一定的数据分析,但是却不能为问题的进一步的分析和定位提供数据支持。
其次,传统的资源统计分析方法往往存在诸多负面效应。比如,1)一个资源对应一个全局的资源统计计数器,计数器往往会污染全局空间;2)多个监控资源就需要多个资源监控的全局计数器,设计累赘和复杂;3)跨模块和跨线程进行资源统计分析时,需要记住资源管理的全局计数器名字,对使用者是一种负担;4)传统的方法往往只记录数据的生成和释放情况,对资源的使用情况未见有涉及,不能提供更加详细的资源使用情况信息。
再者,虽然可以利用一些常见的工具对资源的使用情况进行分析,比如使用valgrind分析资源是否泄露,但这类工具的局限性却很强,首先一般只在测试环境下使用,其次是因为业务的复杂性,测试过程中,没有跑到的业务代码或者异常,不能被识别出来。因此我们需要一种软件全生命周期中提供资源生成与使用的统计分析的工具,帮助我们识别资源的使用情况。
综上,我们需要一种进程运行时资源分析和管理的工具,持续为我们提供细化的资源统计分析数据,比如某个具体的资源分配了多少内存,分配位置,又释放了多少资源,目前还保留了多少内存等。这些细化的资源,将为我们进一步对业务进行分析和对问题进行分析提供了数据依据。
发明内容
有鉴于此,本申请提供一种资源监控方法及系统,能够解决或者至少部分解决上述存在的问题。
为解决以上技术问题,本发明提供的技术方案是一种资源监控方法,包括:
初始化资源管理器;
生成资源的资源监控结构;
对资源进行资源监控;
收到更新资源监控信息的指令,生成资源统计信息和资源使用信息。
优选的,所述初始化资源管理器的方法包括:
从数据库中获取资源管理器上一次运行过程中的资源监控总个数M,若资源管理器初次运行,则M等于0;
获取资源管理器预设的资源监控总个数N;
取M和N中的最大值作为P,获取大于或者等于P的最小素数S;
初始化资源管理器的HASH表大小为S。
优选的,所述生成资源的资源监控结构的方法包括:
若资源为复合数据结构,则在资源中插入资源监控句柄;
若资源为独立的基本数据类型,则将资源的基本数据类型与资源监控句柄进行复合,组成复合数据结构;
所述资源监控句柄包括资源ID参数和资源使用ID参数。
优选的,所述对资源进行监控的方法包括:
当资源被创建时,检查资源是否注册资源ID,若否,则将该资源在资源管理器中注册,获取该资源的资源ID,并使用该资源ID对资源监控结构中的资源ID参数进行赋值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于胡学锋,未经胡学锋许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110728810.9/2.html,转载请声明来源钻瓜专利网。