程序的运行监控方法、装置、设备及存储介质制造方法及图纸

技术编号:27590298 阅读:18 留言:0更新日期:2021-03-10 10:07
本发明专利技术涉及内存监控领域,公开了一种程序的运行监控方法、装置、设备及存储介质。该方法包括:通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;判断所述映射虚拟地址集中是否存在所述虚拟地址;若存在,则发送所述目标程序的内存占用信息至预置管理端口处;若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。据。据。

【技术实现步骤摘要】
程序的运行监控方法、装置、设备及存储介质


[0001]本专利技术涉及内存监控领域,尤其涉及一种程序的运行监控方法、装置、设备及存储介质。

技术介绍

[0002]目前,对程序的监控与控制,主要是针对是介于启动与退出之间的判断,在程序启动的监控过程中,现有技术的监控程序都需要进行内存开辟以实现内存的监控,但是这会对内存资源进行占用,需要一种能减少内存资源占用的程序监控技术。

技术实现思路

[0003]本专利技术的主要目的在于解决监控程序在监控程序时对内存进行占用过多的技术问题。
[0004]本专利技术第一方面提供了一种程序的运行监控方法,包括步骤:
[0005]通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;
[0006]扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
[0007]判断所述映射虚拟地址集中是否存在所述虚拟地址;
[0008]若存在,则发送所述目标程序的内存占用信息至预置管理端口处;
[0009]若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。
[0010]可选的,在本专利技术第一方面的第一种实现方式中,在所述通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址之前,还包括:
[0011]调用预置状态查询函数,读取预置共享内存区的状态设置值;
[0012]判断所述状态设置值是否为零;
[0013]若不为零,则发送目标程序的无法占用内存信息至预置管理端口;
[0014]若为零,则访问预置程序接口。
[0015]可选的,在本专利技术第一方面的第二种实现方式中,在所述发送所述目标程序的内存占用信息至预置管理端口处之后,还包括:
[0016]根据预置监控时长,定时扫描所述共享内存区中的内存数据;
[0017]判断所述内存数据中所述目标程序对应的内存占用数据是否被移除;
[0018]若被移除,则发送所述目标程序的关闭信息至所述管理端口处。
[0019]可选的,在本专利技术第一方面的第三种实现方式中,所述判断所述内存数据中所述目标程序对应的内存占用数据是否被移除包括:
[0020]调用预置进程查询函数,读取所述内存数据中内存占用数据对应的返回值;若所述返回值为空,则确定所述内存占用数据被移除;
[0021]若所述返回值不为空,则确定所述内存占用数据未被移除。
[0022]可选的,在本专利技术第一方面的第四种实现方式中,所述根据预置监控时长,定时扫
描所述共享内存区中的内存数据包括:
[0023]读取并存储所述内存占用数据对应的目标标识值;
[0024]根据预置监控时长,定时读取所述共享内存区中所有的内存标识值,得到内存标识值集。
[0025]可选的,在本专利技术第一方面的第五种实现方式中,所述判断所述内存数据中所述目标程序对应的内存占用数据是否被移除包括:
[0026]判断所述目标标识值是否存在于所述内存标识值集中;
[0027]若存在,则所述目标程序对应的内存占用数据确认为未被移除;若不存在,则所述目标程序对应的内存占用数据确认为被移除。
[0028]可选的,在本专利技术第一方面的第六种实现方式中,所述根据预置重置时长,循环扫描所述共享内存区中的内存数据包括:
[0029]读取预置重置时长、预置循环阈值N、循环统计值M,其中,M、N为正整数,N不小于M;
[0030]根据所述重置时长,扫描所述共享内存区中的内存数据,并对所述循环统计值M的赋值增加1,得到新的循环统计值M;
[0031]判断所述循环统计值M是否等于所述循环阈值N;
[0032]若等于,则停止循环扫描所述共享内存区中的内存数据;
[0033]若不等于,则基于所述重置时长,进行重新计时。
[0034]本专利技术第二方面提供了一种程序的运行监控装置,包括:
[0035]获取模块,用于通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;
[0036]查询模块,用于扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
[0037]判断模块,用于判断所述映射虚拟地址集中是否存在所述虚拟地址;
[0038]发送模块,用于若存在,则发送所述目标程序的内存占用信息至预置管理端口处;
[0039]循环模块,用于若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。
[0040]本专利技术第三方面提供了一种程序的运行监控设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述程序的运行监控设备执行上述的程序的运行监控方法。
[0041]本专利技术的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的程序的运行监控方法。
附图说明
[0042]图1为本专利技术实施例中程序的运行监控方法的第一个实施例示意图;
[0043]图2为本专利技术实施例中程序的运行监控方法的第二个实施例示意图;
[0044]图3为本专利技术实施例中程序的运行监控方法的第三个实施例示意图;
[0045]图4为本专利技术实施例中程序的运行监控装置的一个实施例示意图;
[0046]图5为本专利技术实施例中程序的运行监控装置的另一个实施例示意图;
[0047]图6为本专利技术实施例中程序的运行监控设备的一个实施例示意图。
具体实施方式
[0048]本专利技术实施例提供了一种程序的运行监控方法、装置、设备及存储介质。
[0049]本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0050]为便于理解,下面对本专利技术实施例的具体流程进行描述,请参阅图1,本专利技术实施例中程序的运行监控方法的第一个实施例包括:
[0051]101、通过预置程序接口,访问待监控的目标程序,并获取目标程序的虚拟地址;
[0052]在本实施例中,接口API是Windows系统内部有关程序读取的现有设置,在访问目标程序时,通过进程间通信IPC进行访问,也可以根据注册表对目标程序进行查询访问,访问目标程序在整个Windows系统中的逻辑地址也即虚拟本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序的运行监控方法,其特征在于,包括步骤:通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;判断所述映射虚拟地址集中是否存在所述虚拟地址;若存在,则发送所述目标程序的内存占用信息至预置管理端口处;若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。2.根据权利要求1所述的程序的运行监控方法,在所述通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址之前,还包括:调用预置状态查询函数,读取预置共享内存区的状态设置值;判断所述状态设置值是否为零;若不为零,则发送目标程序的无法占用内存信息至预置管理端口;若为零,则访问预置程序接口。3.根据权利要求1所述的程序的运行监控方法,其特征在于,在所述发送所述目标程序的内存占用信息至预置管理端口处之后,还包括:根据预置监控时长,定时扫描所述共享内存区中的内存数据;判断所述内存数据中所述目标程序对应的内存占用数据是否被移除;若被移除,则发送所述目标程序的关闭信息至所述管理端口处。4.根据权利要求3所述的程序的运行监控方法,其特征在于,所述判断所述内存数据中所述目标程序对应的内存占用数据是否被移除包括:调用预置进程查询函数,读取所述内存数据中内存占用数据对应的返回值;若所述返回值为空,则确定所述内存占用数据被移除;若所述返回值不为空,则确定所述内存占用数据未被移除。5.根据权利要求3所述的程序的运行监控方法,其特征在于,所述根据预置监控时长,定时扫描所述共享内存区中的内存数据包括:读取并存储所述内存占用数据对应的目标标识值;根据预置监控时长,定时读取所述共享内存区中所有的内存标识值,得到内存标识值集。6.根据权利要求5所述的程序的运行监控方法,其特征在于,所述判断所述内存数据中所述目标程...

【专利技术属性】
技术研发人员:莫海峰李盛
申请(专利权)人:深圳软牛科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1