CN112463544A - 程序的运行监控方法、装置、设备及存储介质 - Google Patents

程序的运行监控方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112463544A
CN112463544A CN202011496512.3A CN202011496512A CN112463544A CN 112463544 A CN112463544 A CN 112463544A CN 202011496512 A CN202011496512 A CN 202011496512A CN 112463544 A CN112463544 A CN 112463544A
Authority
CN
China
Prior art keywords
memory
program
preset
data
target program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011496512.3A
Other languages
English (en)
Other versions
CN112463544B (zh
Inventor
莫海峰
李盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ruan Niu Technology Group Co ltd
Original Assignee
Afirstsoft Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Afirstsoft Co Ltd filed Critical Afirstsoft Co Ltd
Priority to CN202011496512.3A priority Critical patent/CN112463544B/zh
Publication of CN112463544A publication Critical patent/CN112463544A/zh
Application granted granted Critical
Publication of CN112463544B publication Critical patent/CN112463544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

程序的运行监控方法、装置、设备及存储介质
技术领域
本发明涉及内存监控领域,尤其涉及一种程序的运行监控方法、装置、设备及存储介质。
背景技术
目前,对程序的监控与控制,主要是针对是介于启动与退出之间的判断,在程序启动的监控过程中,现有技术的监控程序都需要进行内存开辟以实现内存的监控,但是这会对内存资源进行占用,需要一种能减少内存资源占用的程序监控技术。
发明内容
本发明的主要目的在于解决监控程序在监控程序时对内存进行占用过多的技术问题。
本发明第一方面提供了一种程序的运行监控方法,包括步骤:
通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;
扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
判断所述映射虚拟地址集中是否存在所述虚拟地址;
若存在,则发送所述目标程序的内存占用信息至预置管理端口处;
若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。
可选的,在本发明第一方面的第一种实现方式中,在所述通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址之前,还包括:
调用预置状态查询函数,读取预置共享内存区的状态设置值;
判断所述状态设置值是否为零;
若不为零,则发送目标程序的无法占用内存信息至预置管理端口;
若为零,则访问预置程序接口。
可选的,在本发明第一方面的第二种实现方式中,在所述发送所述目标程序的内存占用信息至预置管理端口处之后,还包括:
根据预置监控时长,定时扫描所述共享内存区中的内存数据;
判断所述内存数据中所述目标程序对应的内存占用数据是否被移除;
若被移除,则发送所述目标程序的关闭信息至所述管理端口处。
可选的,在本发明第一方面的第三种实现方式中,所述判断所述内存数据中所述目标程序对应的内存占用数据是否被移除包括:
调用预置进程查询函数,读取所述内存数据中内存占用数据对应的返回值;若所述返回值为空,则确定所述内存占用数据被移除;
若所述返回值不为空,则确定所述内存占用数据未被移除。
可选的,在本发明第一方面的第四种实现方式中,所述根据预置监控时长,定时扫描所述共享内存区中的内存数据包括:
读取并存储所述内存占用数据对应的目标标识值;
根据预置监控时长,定时读取所述共享内存区中所有的内存标识值,得到内存标识值集。
可选的,在本发明第一方面的第五种实现方式中,所述判断所述内存数据中所述目标程序对应的内存占用数据是否被移除包括:
判断所述目标标识值是否存在于所述内存标识值集中;
若存在,则所述目标程序对应的内存占用数据确认为未被移除;若不存在,则所述目标程序对应的内存占用数据确认为被移除。
可选的,在本发明第一方面的第六种实现方式中,所述根据预置重置时长,循环扫描所述共享内存区中的内存数据包括:
读取预置重置时长、预置循环阈值N、循环统计值M,其中,M、N为正整数,N不小于M;
根据所述重置时长,扫描所述共享内存区中的内存数据,并对所述循环统计值M的赋值增加1,得到新的循环统计值M;
判断所述循环统计值M是否等于所述循环阈值N;
若等于,则停止循环扫描所述共享内存区中的内存数据;
若不等于,则基于所述重置时长,进行重新计时。
本发明第二方面提供了一种程序的运行监控装置,包括:
获取模块,用于通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;
查询模块,用于扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
判断模块,用于判断所述映射虚拟地址集中是否存在所述虚拟地址;
发送模块,用于若存在,则发送所述目标程序的内存占用信息至预置管理端口处;
循环模块,用于若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。
本发明第三方面提供了一种程序的运行监控设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述程序的运行监控设备执行上述的程序的运行监控方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的程序的运行监控方法。
附图说明
图1为本发明实施例中程序的运行监控方法的第一个实施例示意图;
图2为本发明实施例中程序的运行监控方法的第二个实施例示意图;
图3为本发明实施例中程序的运行监控方法的第三个实施例示意图;
图4为本发明实施例中程序的运行监控装置的一个实施例示意图;
图5为本发明实施例中程序的运行监控装置的另一个实施例示意图;
图6为本发明实施例中程序的运行监控设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种程序的运行监控方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中程序的运行监控方法的第一个实施例包括:
101、通过预置程序接口,访问待监控的目标程序,并获取目标程序的虚拟地址;
在本实施例中,接口API是Windows系统内部有关程序读取的现有设置,在访问目标程序时,通过进程间通信IPC进行访问,也可以根据注册表对目标程序进行查询访问,访问目标程序在整个Windows系统中的逻辑地址也即虚拟地址{0x0vffv2000-0x7FFFFFFF}。
102、扫描预置共享内存区中的内存数据,查询内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
在本实施例中,在扫描共享内存数据时,可以使用IPC-CREAT函数也可以使用IPC-EXCL函数进行扫描,还可以基于目标数据的名称通过pathname id调用ftok()将进程间通信打开,或者使用write()、send()、read()、msgsnd()等函数查询到共享内存位置,并读取内存数据。在内存数据的管理表格中查找内存的所有映射的地址,映射地址集合构成{0x005230-0x7FFFFFFF、0x00556320-0x7FFFFgfggF、0x0ggg5230-0x7FFFFFFF}映射虚拟地址集。
103、判断映射虚拟地址集中是否存在虚拟地址;
在本实施例中,虚拟地址为{0x0vffv2000-0x7FFFFFFF},使用正则法则判断在映射虚拟地址集{0x005230-0x7FFFFFFF、0x00556320-0x7FFFFgfggF、0x0ggg5230-0x7FFFFFFF}中是存在相匹配的数据。
在另一中实施例,可以设置虚拟地址的字符进行浮点值转换,映射虚拟地址集中每个地址也进行浮点值转换,最后判定虚拟地址的浮点值是否存在映射虚拟地址集相同的浮点值,如果不存相同则认为映射虚拟地址集中不存在目标程序的虚拟地址。
104、若存在,则发送目标程序的内存占用信息至预置管理端口处;
在本实施例中,如果得到相同的判断则将{id目标程序已经开启内存占用}发送到预先设置的管理端口处,管理端口可以是无线连接,也可以是有限连接,目的是为了连接显示屏幕将整个信息显示,提醒用户监控信息,在实现提醒过程中可以调用语音提醒功能,也可以调用手机震动模块提醒用户监控信息。
105、若不存在,则根据预置重置时长,循环扫描共享内存区中的内存数据。
在本实施例中,预置重置时长为15秒,设置出15秒的计时器,每隔15秒扫描共享内存区中的映射虚拟地址集,根据新的映射虚拟地址集,进行读取判断是否存在虚拟地址{0x0vffv2000-0x7FFFFFFF}。
本发明实施例中,读取共享内存中各个内存数据的映射地址,根据映射地址的不同数据进行判断是否存在目标程序的虚拟地址,地址不匹配则未占用内存,地址匹配则占用内存,使得监控程序能占用更少的内存资源完成程序监控任务。
请参阅图2,本发明实施例中程序的运行监控方法的第二个实施例包括:
201、调用预置状态查询函数,读取预置共享内存区的状态设置值;
在本实施例中,调用函数查询shmflg的状态设置值。
202、判断状态设置值是否为零;
在本实施例中,状态值存在两种,一种为SHM-RDONLY表明是可以读但内存不可以写入,另一中为0,表明共享内存可写可读。
203、若不为零,则发送目标程序的无法占用内存信息至预置管理端口;
在本实施例中,如果不为零,则认定为SHM-RDONLY,将{内存无法占用}发送至显示端口处。
204、若为零,则访问预置程序接口;
在本实施例中,状态值为0,则直接访问API接口,读取目标程序。
205、通过预置程序接口,访问待监控的目标程序,并获取目标程序的虚拟地址;
206、扫描预置共享内存区中的内存数据,查询内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
207、判断映射虚拟地址集中是否存在虚拟地址;
208、若存在,则发送目标程序的内存占用信息至预置管理端口处;
205-208实施例在第一个实施例中已经说明,可以参考前述说明,在此不做赘述。
209、根据预置监控时长,定时扫描共享内存区中的内存数据;
在本实施例中,在确定目标程序在内存区开辟内存后,则可以获得内存区的返回的Key值也即是返回值,每个返回值都是独一无二的,扫描内存数据就是为了查询内存返回的Key值。
210、调用预置进程查询函数,读取内存数据中内存占用数据对应的返回值;
在本实施例中,调用ftok()查询函数查询返回值。
211、若返回值为空,则确定内存占用数据被移除;
在本实施例中,若返回值为IPC-CREAT或是IPC-EXCL为“NULL”,则说明内存已经被移除,下一步是新开辟一个内存,开辟过程可以取消。
212、发送目标程序的关闭信息至管理端口处;
在本实施例中,没有移除将{内存占用已经被移除}发送至显示设备也即是管理设备的端口处。
213、若返回值不为空,则确定内存占用数据未被移除;
在本实施例中,若返回值为IPC-CREAT或是IPC-EXCL是存在的,则说明内存没有移除。
214、若不存在,则根据预置重置时长,循环扫描共享内存区中的内存数据。
本实施例在第一个实施例中已经说明,可以参考前述说明,在此不做赘述。
本发明实施例中,读取共享内存中各个内存数据的映射地址,根据映射地址的不同数据进行判断是否存在目标程序的虚拟地址,地址不匹配则未占用内存,地址匹配则占用内存,使得监控程序能占用更少的内存资源完成程序监控任务。
请参阅图3,本发明实施例中程序的运行监控方法的第三个实施例包括:
301、通过预置程序接口,访问待监控的目标程序,并获取目标程序的虚拟地址;
302、扫描预置共享内存区中的内存数据,查询内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
303、判断映射虚拟地址集中是否存在虚拟地址;
304、若存在,则发送目标程序的内存占用信息至预置管理端口处;
301-304实施例在第一个实施例中已经说明,可以参考前述说明,在此不做赘述。
305、读取并存储内存占用数据对应的目标标识值;
在本实施例中,在监控目标程序在开辟程序后在内存区占用的后,都会给予一个特定键值。
306、根据预置监控时长,定时读取共享内存区中所有的内存标识值,得到内存标识值集;
在本实施例中,读取共享内存区中的分发的所有键值,并将所有键值组合为一个整体的内存标识值集。
307、判断目标标识值是否存在于内存标识值集中;
在本实施例中,目标程序的键值是否为键值集合中的数据。
308、若存在,则目标程序对应的内存占用数据确认为未被移除;
在本实施例中,将目标程序标记为“1233”,“1233”即对应占用数据未被移除。
309、若不存在,则目标程序对应的内存占用数据确认为被移除;
在本实施例中,将目标程序标记为“153”,“153”即对应内存占用数据已经成功被移除。
310、若被移除,则发送目标程序的关闭信息至管理端口处;
本实施例在第二个实施例中已经说明,可以参考前述说明,在此不做赘述。
311、若不存在,则读取预置重置时长、预置循环阈值N、循环统计值M,其中,M、N为正整数,N不小于M;
在本实施例中,重置时长为50秒,循环阈值为60次,循环统计值的初始值为40。
312、根据重置时长,扫描共享内存区中的内存数据,并对循环统计值M的赋值增加1,得到新的循环统计值M;
在本实施例中,隔50秒扫描一次共享内存区里所有内存数据,并在40的基础上加1,循环统计值为41。再隔50秒扫描一次共享内存区里所有内存数据,并在41的基础上加1,循环统计值为42,循环至循环统计值等于循环阈值。
313、判断循环统计值M是否等于循环阈值N;
在本实施例中,循环统计值40不等于循环阈值60,则继续循环,若等于则停止扫描。
314、若等于,则停止循环扫描共享内存区中的内存数据;
在本实施例中,当循环统计值60等于循环阈值60则退出循环结束整个监控进程。
315、若不等于,则基于重置时长,进行重新计时。
在本实施例中,循环统计值56不等于循环阈值60则继续进行循环监控。
本发明实施例中,读取共享内存中各个内存数据的映射地址,根据映射地址的不同数据进行判断是否存在目标程序的虚拟地址,地址不匹配则未占用内存,地址匹配则占用内存,使得监控程序能占用更少的内存资源完成程序监控任务。
上面对本发明实施例中程序的运行监控方法进行了描述,下面对本发明实施例中程序的运行监控装置进行描述,请参阅图4,本发明实施例中程序的运行监控装置一个实施例包括:
获取模块401,用于通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;
查询模块402,用于扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
判断模块403,用于判断所述映射虚拟地址集中是否存在所述虚拟地址;
发送模块404,用于若存在,则发送所述目标程序的内存占用信息至预置管理端口处;
循环模块405,用于若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。
本发明实施例中,读取共享内存中各个内存数据的映射地址,根据映射地址的不同数据进行判断是否存在目标程序的虚拟地址,地址不匹配则未占用内存,地址匹配则占用内存,使得监控程序能占用更少的内存资源完成程序监控任务。
请参阅图5,本发明实施例中程序的运行监控装置的另一个实施例包括:
获取模块401,用于通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;
查询模块402,用于扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
判断模块403,用于判断所述映射虚拟地址集中是否存在所述虚拟地址;
发送模块404,用于若存在,则发送所述目标程序的内存占用信息至预置管理端口处;
循环模块405,用于若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。
其中,所述程序的运行监控装置还包括状态检测模块406,所述状态检测模块406具体用于:
调用预置状态查询函数,读取预置共享内存区的状态设置值;
判断所述状态设置值是否为零;
若不为零,则发送目标程序的无法占用内存信息至预置管理端口;
若为零,则访问预置程序接口。
其中,所述程序的运行监控装置还包括移除监控模块407,所述移除监控模块407包括:
扫描单元4071,用于根据预置监控时长,定时扫描所述共享内存区中的内存数据;
判断单元4072,用于判断所述内存数据中所述目标程序对应的内存占用数据是否被移除;
信息发送单元4073,用于若被移除,则发送所述目标程序的关闭信息至所述管理端口处。
其中,所述判断单元4072具体用于:
调用预置进程查询函数,读取所述内存数据中内存占用数据对应的返回值;
若所述返回值为空,则确定所述内存占用数据被移除;
若所述返回值不为空,则确定所述内存占用数据未被移除。
其中,所述扫描单元4071具体用于:
读取并存储所述内存占用数据对应的目标标识值;
根据预置监控时长,定时读取所述共享内存区中所有的内存标识值,得到内存标识值集。
其中,所述判断单元4072还可以具体用于:
判断所述目标标识值是否存在于所述内存标识值集中;
若存在,则所述目标程序对应的内存占用数据确认为未被移除;若不存在,则所述目标程序对应的内存占用数据确认为被移除。
其中,所述循环模块405具体用于:
读取预置重置时长、预置循环阈值N、循环统计值M,其中,M、N为正整数,N不小于M;
根据所述重置时长,扫描所述共享内存区中的内存数据,并对所述循环统计值M的赋值增加1,得到新的循环统计值M;
判断所述循环统计值M是否等于所述循环阈值N;
若等于,则停止循环扫描所述共享内存区中的内存数据;
若不等于,则基于所述重置时长,进行重新计时。
本发明实施例中,读取共享内存中各个内存数据的映射地址,根据映射地址的不同数据进行判断是否存在目标程序的虚拟地址,地址不匹配则未占用内存,地址匹配则占用内存,使得监控程序能占用更少的内存资源完成程序监控任务。
上面图4和图5从模块化功能实体的角度对本发明实施例中的程序的运行监控装置进行详细描述,下面从硬件处理的角度对本发明实施例中程序的运行监控设备进行详细描述。
图6是本发明实施例提供的一种程序的运行监控设备的结构示意图,该程序的运行监控设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对程序的运行监控设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在程序的运行监控设备600上执行存储介质630中的一系列指令操作。
基于程序的运行监控设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的程序的运行监控设备结构并不构成对基于程序的运行监控设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述程序的运行监控方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种程序的运行监控方法,其特征在于,包括步骤:
通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;
扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
判断所述映射虚拟地址集中是否存在所述虚拟地址;
若存在,则发送所述目标程序的内存占用信息至预置管理端口处;
若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。
2.根据权利要求1所述的程序的运行监控方法,在所述通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址之前,还包括:
调用预置状态查询函数,读取预置共享内存区的状态设置值;
判断所述状态设置值是否为零;
若不为零,则发送目标程序的无法占用内存信息至预置管理端口;
若为零,则访问预置程序接口。
3.根据权利要求1所述的程序的运行监控方法,其特征在于,在所述发送所述目标程序的内存占用信息至预置管理端口处之后,还包括:
根据预置监控时长,定时扫描所述共享内存区中的内存数据;
判断所述内存数据中所述目标程序对应的内存占用数据是否被移除;
若被移除,则发送所述目标程序的关闭信息至所述管理端口处。
4.根据权利要求3所述的程序的运行监控方法,其特征在于,所述判断所述内存数据中所述目标程序对应的内存占用数据是否被移除包括:
调用预置进程查询函数,读取所述内存数据中内存占用数据对应的返回值;
若所述返回值为空,则确定所述内存占用数据被移除;
若所述返回值不为空,则确定所述内存占用数据未被移除。
5.根据权利要求3所述的程序的运行监控方法,其特征在于,所述根据预置监控时长,定时扫描所述共享内存区中的内存数据包括:
读取并存储所述内存占用数据对应的目标标识值;
根据预置监控时长,定时读取所述共享内存区中所有的内存标识值,得到内存标识值集。
6.根据权利要求5所述的程序的运行监控方法,其特征在于,所述判断所述内存数据中所述目标程序对应的内存占用数据是否被移除包括:
判断所述目标标识值是否存在于所述内存标识值集中;
若存在,则所述目标程序对应的内存占用数据确认为未被移除;若不存在,则所述目标程序对应的内存占用数据确认为被移除。
7.根据权利要求1所述的程序的运行监控方法,其特征在于,所述根据预置重置时长,循环扫描所述共享内存区中的内存数据包括:
读取预置重置时长、预置循环阈值N、循环统计值M,其中,M、N为正整数,N不小于M;
根据所述重置时长,扫描所述共享内存区中的内存数据,并对所述循环统计值M的赋值增加1,得到新的循环统计值M;
判断所述循环统计值M是否等于所述循环阈值N;
若等于,则停止循环扫描所述共享内存区中的内存数据;
若不等于,则基于所述重置时长,进行重新计时。
8.一种程序的运行监控装置,其特征在于,所述程序的运行监控装置包括:
获取模块,用于通过预置程序接口,访问待监控的目标程序,并获取所述目标程序的虚拟地址;
查询模块,用于扫描预置共享内存区中的内存数据,查询所述内存数据中所有的映射虚拟地址,生成映射虚拟地址集;
判断模块,用于判断所述映射虚拟地址集中是否存在所述虚拟地址;
发送模块,用于若存在,则发送所述目标程序的内存占用信息至预置管理端口处;
循环模块,用于若不存在,则根据预置重置时长,循环扫描所述共享内存区中的内存数据。
9.一种程序的运行监控设备,其特征在于,所述程序的运行监控设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述程序的运行监控设备执行如权利要求1-7中任一项所述的程序的运行监控方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的程序的运行监控方法。
CN202011496512.3A 2020-12-17 2020-12-17 程序的运行监控方法、装置、设备及存储介质 Active CN112463544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011496512.3A CN112463544B (zh) 2020-12-17 2020-12-17 程序的运行监控方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011496512.3A CN112463544B (zh) 2020-12-17 2020-12-17 程序的运行监控方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112463544A true CN112463544A (zh) 2021-03-09
CN112463544B CN112463544B (zh) 2023-05-02

Family

ID=74803621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011496512.3A Active CN112463544B (zh) 2020-12-17 2020-12-17 程序的运行监控方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112463544B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161614A1 (en) * 2009-12-30 2011-06-30 International Business Machines Corporation Pre-leak detection scan to identify non-pointer data to be excluded from a leak detection scan
WO2012119446A1 (zh) * 2011-09-20 2012-09-13 华为技术有限公司 一种内存监控方法及装置
CN104751050A (zh) * 2015-04-13 2015-07-01 成都睿峰科技有限公司 一种客户端应用程序管理方法
CN106560798A (zh) * 2015-09-30 2017-04-12 杭州华为数字技术有限公司 一种内存访问方法、装置及计算机系统
CN107562586A (zh) * 2017-08-16 2018-01-09 努比亚技术有限公司 一种内存检测方法、设备及计算机存储介质
US10552308B1 (en) * 2017-06-23 2020-02-04 Square, Inc. Analyzing attributes of memory mappings to identify processes running on a device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161614A1 (en) * 2009-12-30 2011-06-30 International Business Machines Corporation Pre-leak detection scan to identify non-pointer data to be excluded from a leak detection scan
WO2012119446A1 (zh) * 2011-09-20 2012-09-13 华为技术有限公司 一种内存监控方法及装置
CN104751050A (zh) * 2015-04-13 2015-07-01 成都睿峰科技有限公司 一种客户端应用程序管理方法
CN106560798A (zh) * 2015-09-30 2017-04-12 杭州华为数字技术有限公司 一种内存访问方法、装置及计算机系统
US10552308B1 (en) * 2017-06-23 2020-02-04 Square, Inc. Analyzing attributes of memory mappings to identify processes running on a device
CN107562586A (zh) * 2017-08-16 2018-01-09 努比亚技术有限公司 一种内存检测方法、设备及计算机存储介质

Also Published As

Publication number Publication date
CN112463544B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
CN108683720B (zh) 一种容器集群服务配置方法及装置
CN107104824B (zh) 一种网络拓扑确定方法和装置
CN109800204B (zh) 数据分配方法及相关产品
CN107783829B (zh) 任务处理方法、装置、存储介质和计算机设备
CN108415925B (zh) 电子装置、数据调用日志生成及查询方法及存储介质
CN108446171B (zh) 电子装置、分布式系统执行任务分配方法及存储介质
US20240007346A1 (en) Method and Apparatus for Monitoring Application Service, Electronic Device, and Readable Storage Medium
CN111597553A (zh) 病毒查杀中的进程处理方法、装置、设备及存储介质
CN112463544A (zh) 程序的运行监控方法、装置、设备及存储介质
CN114637656B (zh) 基于Redis的监控方法、装置、存储介质和设备
CN115658156A (zh) 一种基于linux系统的定时任务实现方法和装置
CN110855525A (zh) 流量统计方法、电子设备、系统及介质
CN114070755B (zh) 虚拟机网络流量确定方法、装置、电子设备和存储介质
CN112130900B (zh) 一种bmc的用户信息管理方法、系统、设备以及介质
CN113342270A (zh) 卷卸载方法、装置和电子设备
CN114662102A (zh) 一种文件处理方法、装置及存储介质
CN111352710B (zh) 进程管理方法及装置、计算设备、存储介质
CN113849135A (zh) 日志的访问方法、装置及服务器
CN109150993B (zh) 一种获取网络请求切面的方法、终端装置及存储介质
CN111984341B (zh) 项目监测方法、装置、电子设备和存储介质
CN117193979B (zh) 基于独立中断栈的任务处理方法、装置、终端设备及介质
CN114356517B (zh) 一种串行总线资源管理方法、系统、电子设备及存储介质
CN113419864B (zh) 一种应用内存管理方法、装置、设备以及存储介质
CN116185642B (zh) 容器内存的优化方法及装置、存储介质、电子装置
CN113064793B (zh) 总线设备位置信息轮询收集方法、系统、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000

Patentee after: Shenzhen Ruan Niu Technology Group Co.,Ltd.

Address before: No.2903, 15-3, Haitian Road, building C, excellence Times Plaza, n23, Haiwang community, Xin'an street, Bao'an District, Shenzhen City, Guangdong Province

Patentee before: AFIRSTSOFT CO.,LTD.

CP03 Change of name, title or address