CN117033139A - 一种应用监控方法、装置、电子设备及存储介质 - Google Patents
一种应用监控方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117033139A CN117033139A CN202311078407.1A CN202311078407A CN117033139A CN 117033139 A CN117033139 A CN 117033139A CN 202311078407 A CN202311078407 A CN 202311078407A CN 117033139 A CN117033139 A CN 117033139A
- Authority
- CN
- China
- Prior art keywords
- target application
- memory
- target
- application
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012544 monitoring process Methods 0.000 title claims abstract description 34
- 230000006399 behavior Effects 0.000 claims abstract description 123
- 238000012806 monitoring device Methods 0.000 claims abstract description 5
- 238000012549 training Methods 0.000 claims description 81
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010801 machine learning Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种应用监控方法、装置、电子设备及存储介质,该方法包括:获取第一操作行为的第一信息,其中,第一操作行为包括在第一时间段内在目标电子设备上检测到的对目标应用的操作行为,第一信息包括检测到第一操作行为时目标应用的内存占用信息;将第一信息输入至预先确定的目标模型,输出目标应用的内存阈值,其中,内存阈值为目标应用运行过程中可占用内存的最大值;根据内存阈值,监控目标应用的运行过程。因此,本申请的实施例可以解决现有技术中通过定时器检测得到的应用的内存阈值不准确,从而无法准确监控应用的运行过程的问题。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种应用监控方法、装置、电子设备及存储介质。
背景技术
内存是电子设备的重要部件,用于暂时存放中央处理器(Central ProcessingUnit,简称CPU)中的运算数据,以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,电子设备中所有程序的运行都在内存中进行,因此,内存性能的强弱影响电子设备的整体发挥水平。
其中,可以检测电子设备上的应用的内存阈值,以便于能够及时处理应用的崩溃问题。例如可以通过定时器检测应用的内存,即每隔一定时间记录一次应用的内存占用值,直到应用崩溃,则崩溃时的内存占用值即为应用的内存阈值。但是,如果应用崩溃时,还未到达定时时间,则无法记录到实际的内存阈值,从而导致最终确定的内存阈值不准确,进而无法准确的监控应用的运行过程中是否会发生崩溃现象。
发明内容
本申请实施例提供一种应用监控方法、装置、电子设备及存储介质,以解决现有技术中通过定时器检测得到的应用的内存阈值不准确,从而无法准确监控应用的运行过程的问题。
第一方面,本申请实施例提供一种应用监控方法,所述方法包括:
获取第一操作行为的第一信息,其中,所述第一操作行为包括在第一时间段内在目标电子设备上检测到的对目标应用的操作行为,所述第一信息包括检测到所述第一操作行为时所述目标应用的内存占用信息;
将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值,其中,所述内存阈值为所述目标应用运行过程中可占用内存的最大值;
根据所述内存阈值,监控所述目标应用的运行过程。
第二方面,本申请实施例提供一种应用监控装置,所述装置包括:
信息获取模块,用于获取第一操作行为的第一信息,其中,所述第一操作行为包括在第一时间段内在目标电子设备上检测到的对目标应用的操作行为,所述第一信息包括检测到所述第一操作行为时所述目标应用的内存占用信息;
阈值获取模块,用于将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值,其中,所述内存阈值为所述目标应用运行过程中可占用内存的最大值;
监控模块,用于根据所述内存阈值,监控所述目标应用的运行过程。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的第一方面所述的应用监控方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的应用监控方法的步骤。
本申请实施例的技术方案中,能够获取第一操作行为的第一信息,从而将第一信息输入至预先确定的目标模型,输出目标应用的内存阈值,进而根据内存阈值,监控目标应用的运行过程,其中,第一操作行为包括在第一时间段内在目标电子设备上检测到的对目标应用的操作行为,第一信息包括检测到第一操作行为时目标应用的内存占用信息,内存阈值为所述目标应用运行过程中可占用内存的最大值。
由此可见,本申请的实施例,可以根据用户对目标应用的操作过程中目标应用的内存占用情况,确定目标应用的内存阈值(即目标应用运行过程中可占用内存的最大值)。其中,内存占用信息的变化是与操作行为相关联的,因此,如果目标应用因内存产生崩溃,则该崩溃情况会关联一操作行为,而本申请实施例中记录的是检测到各个操作行为时应用的内存占用信息,因此,如果目标应用因内存产生崩溃,则本申请实施例中可以记录下来检测到导致崩溃的操作行为时目标应用的内存占用信息,因此,本申请的实施例,通过上述目标模型根据上述第一信息可以更加准确的获得目标应用的内存阈值,进而可以根据该内存阈值更加准确的监控目标应用的运行过程。
附图说明
图1是本申请实施例提供的一种应用监控方法的流程图;
图2是本申请实施例提供的应用监控方法的具体实施方式的示意图;
图3是本申请实施例提供的一种应用监控装置的结构框图;
图4是本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
第一方面,参照图1,示出了本申请实施例中一种应用监控方法的步骤流程图,该方法可以包括以下步骤101至103:
步骤101:获取第一操作行为的第一信息。
其中,所述第一操作行为包括在第一时间段内在目标电子设备上检测到的对目标应用的操作行为,所述第一信息包括检测到所述第一操作行为时所述目标应用的内存占用信息。这里,内存占用信息表示目标应用所占据的内存空间的大小。
需要说明的是,对目标应用的操作行为可以包括在目标应用的显示界面中的操作行为(例如对目标应用的显示界面中的控件的点击行为,在目标应用的显示界面的滑动行为),也可以包括在目标应用的显示界面之外的区域上用于控制目标应用的操作行为(例如使得目标应用进入后台的操作行为、使得目标应用进入前台的操作行为)。
另外,在本申请实施例中,在第一时间段内,每检测到一个操作行为,则记录一次目标应用当前的内存占用信息。例如可以在检测到如表1所示的下操作行为时,记录目标应用的内存占用信息。
表1操作行为示例
序号 | 操作名称 | 含义 |
1 | click | 点击行为 |
2 | upscroll | 往上滑行为 |
3 | downscroll | 往下滑行为 |
4 | enterback | 进入后台行为 |
5 | enterfront | 进入前台行为 |
6 | zoomin | 放大行为 |
7 | zoomout | 缩小行为 |
此外,在目标应用的运行过程中,可以每隔第一预设时间间隔,检测一次目标应用的内存阈值,从而根据得到的内存阈值监控目标应用的运行过程,这样,上述第一时间段则为该第一预设时间间隔的时间段;或者,也可以仅在目标应用启动后的一个时间段,检测一次目标应用的内存阈值,此后则根据得到的该内存阈值监控目标应用的运行过程,这样,上述第一时间段即为目标应用启动后的一个时间段。
步骤102:将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值。
其中,内存阈值为目标应用运行过程中可占用内存的最大值。若目标应用在运行过程中内存占用超过内存阈值,则会导致目标应用崩溃,例如出现闪退。
另外,目标模型用于确定应用的内存阈值,即目标模型的输入为在一定时间段内检测到对一个应用的操作行为时该应用的内存占用信息,目标模型的输出为该应用的内存阈值。因此,可以将上述第一信息输入至目标模型,则可以输出目标应用的内存阈值,即可以得到目标应用运行过程中可占用内存的最大值。
步骤103:根据所述内存阈值,监控所述目标应用的运行过程。
由上述步骤101至103可知,本申请的实施例,可以根据用户对目标应用的操作过程中目标应用的内存占用情况,确定目标应用的内存阈值(即目标应用运行过程中可占用内存的最大值)。其中,内存占用信息的变化是与操作行为相关联的,因此,如果目标应用因内存产生崩溃,则该崩溃情况会关联一操作行为,而本申请实施例中记录的是检测到各个操作行为时应用的内存占用信息,因此,如果目标应用因内存产生崩溃,则本申请实施例中可以记录下来检测到导致崩溃的操作行为时目标应用的内存占用信息,因此,本申请的实施例,通过上述目标模型根据上述第一信息可以更加准确的获得目标应用的内存阈值,进而可以根据该内存阈值更加准确的监控目标应用的运行过程。
可选地,所述目标模型包括与不同设备参数对应的子模型,所述方法还包括如下步骤A-1:
步骤A-1:获取所述目标电子设备的参数;
上述步骤102“将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值”,包括如下步骤B-1:
步骤B-1:将所述第一信息输入至与所述目标电子设备的参数对应的子模型,输出所述目标应用的内存阈值。
其中,同一应用安装到不同型号的电子设备上后,该应用的内存占用情况可能不同。因此,目标模型还可以包括与不同设备参数对应的子模型,这样,可以从与多个不同设备参数对应的子模型中,获取与目标电子设备的参数对应的子模型,从而将上述第一信息输入该子模型中,进而可以得到更加准确的内存阈值。
需要说明的是,上述设备参数可以包括一种或多种设备参数,例如设备参数包括第一参数(例如设备型号)时,不同的第一参数对应不同的子模型;例如设备参数包括第二参数和第三参数(即可以表征不同型号的设备参数)时,第二参数和第三参数的不同取值可以对应不同的子模型,例如此种情况下,第一参数、第二参数、子模型的关联关系可以采用表格形式存储,这样,可以从该表格中查找与目标电子设备的第一参数和第二参数对应的子模型。
可选地,确定与不同设备参数对应的子模型的过程,包括如下步骤C-1至C-4:
步骤C-1:获取第一训练样本,其中,所述第一训练样本包括第二操作行为的第二信息以及所述第二操作行为所属的电子设备上的目标应用的内存阈值,所述第二操作行为包括在第二时间段内在具有不同设备参数的电子设备上检测到的对目标应用的操作行为,所述第二信息包括检测到所述第二操作行为时所述第二操作行为所属的电子设备上的目标应用的内存占用信息;
步骤C-2:采用机器学习算法对所述第一训练样本进行训练,获得用于输出应用的内存阈值的基础模型;
步骤C-3:获取基于具有第i种设备参数的电子设备得到的第二训练样本,其中,所述第二训练样本包括第三操作行为的第三信息,以及具有第i种设备参数的电子设备上的目标应用的内存阈值,所述第三操作行为包括在第三时间段内在具有i种设备参数的电子设备上检测到的对目标应用的操作行为,所述第三信息包括检测到所述第三操作行为时具有第i种设备参数的电子设备上的目标应用的内存占用信息,i为1至N的整数,N表示设备参数的种类数量;
步骤C-4:通过所述第二训练样本对所述基础模型进行训练,得到与第i种设备参数对应的子模型。
例如具有不同设备参数的电子设备包括设备A1、A2、A3、A4,则可以分别针对每一个设备获取上述第二信息,从而得到与设备A1对应的第一训练样本、与设备A2对应的第一训练样本、与设备A3对应的第一训练样本、与设备A4对应的第一训练样本,进而对这些第一训练样本进行训练,得到一个用于输出应用的内存阈值的基础模型,即得到可以适用于不同设备参数的电子设备的基础模型。
然而,同一应用安装到不同型号的电子设备上后,该应用的内存占用情况可能不同。因此,同一应用安装到具备不同设备参数的电子设备上,该应用的内存阈值也可能不同,则在获得上述基础模型之后,还可以针对具有不同设备参数的电子设备,分别进行模型更新,例如针对设备A1,可以重新获取在第三时间段内在设备A1上检测到对目标应用的操作行为时目标应用的内存占用信息,从而得到第二训练样本,进而基于第二训练样本,对基础模型再次进行训练,得到适用于设备A1的子模型。
其中,需要说明的是,上述第三时间段可以与第二时间段相同,也可以不同,即上述第二训练样本可以为第一训练样本中与具有第i种设备参数的电子设备对应的训练样本,也可以为重新获取的训练样本。
另外,上述机器学习算法例如可以为邻近(KNN)算法等。
可选地,所述通过所述第二训练样本对所述基础模型进行训练,得到与第i种设备参数对应的子模型之前,所述方法还包括如下步骤D-1至D-3中至少个步骤:
步骤D-1:在将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值之前,将所述第一信息中在目标场景下获取的信息剔除;
步骤D-2:在采用机器学习算法对所述第一训练样本进行训练之前,将所述第一训练样本中,在目标场景下获取的训练样本剔除;
步骤D-3:在对所述基础模型进行训练,得到与第i种设备参数对应的子模型之前,将所述第二训练样本中,在目标场景下获取的训练样本剔除;
其中,所述目标场景包括如下E-1至E-3中至少一项:
E-1项:具有i种设备参数的电子设备上的目标应用的内存占用值小于第一阈值时所述目标应用被终止运行的场景;
E-2项:具有i种设备参数的电子设备上的目标应用未产生异常的场景;
E-3项:具有i种设备参数的电子设备上的目标应用的内存占用值小于第二阈值所述目标应用却崩溃的场景。
在上述E-1项中,如果目标应用的内存占用值小于第一阈值(即内存占用值较小),且目标应用被终止运行,则表示该场景并不是目标应用的正常使用场景,例如可能属于用户的误操作导致目标应用被启动,但后续又快速退出,因此,此种场景下得到的第一信息、第一训练样本、第二训练样本中至少一项需要剔除。
在上述E-2项中,如果目标应用正常运行,并未出现异常,则内存占用并未达到最大极限值(即内存阈值),而本申请实施例的目的是确定内存阈值,因此,在此种场景下得到的第一信息、第一训练样本、第二训练样本中至少一项属于冗余数据,需要剔除。
在上述E-3项中,如果目标应用的内存占用值小于第二阈值(即内存专用值较小),但是目标应用却发生了崩溃,则说明此种场景下的崩溃情况并不属于由于内存占用较大导致的。而本申请实施例的目的是确定内存阈值,因此,在此种场景下得到的第一信息、第一训练样本、第二训练样本中至少一项属于冗余数据,需要剔除。
由上述可知,本申请实施例中,还可以对上述E-1至E-3中至少一项所述的场景下的数据进行数据清洗,从而能够得到更加准确的内存阈值。
可选地,上述步骤103“根据所述内存阈值,监控所述目标应用的运行过程”,包括如下步骤F-1:
步骤F-1:在所述目标电子设备上的目标应用的内存占用值大于或等于所述目标电子设备上的目标应用的内存阈值的情况下,执行如下至少一项:
释放所述目标电子设备上的目标应用的内存;
获取所述目标电子设备上的目标应用的内存快照。
这里,内存快照指的是某个时间点内,应用在内存中的状态的一份副本。内存快照中包含了应用的执行上下文、数据、堆栈信息等,提供了一个静态的视角来观察应用在某一时刻的运行状态。因此,通过内存快照可以在代码异常抛出、程序崩溃或内存泄漏等问题排查时提供非常有用的信息。
其中,若目标应用在运行过程中内存对象未正常释放或创建过多对象导致内存堆积,则目标应用的内存占用会超过该内存阈值,这时会导致应用崩溃产生闪退现象。在此种情况下,可以释放目标应用的内存,以解决闪退现象,或者获取内存快照,从而为解决崩溃问题提供信息依据。
可选地,在所述第一操作行为属于目标应用运行在前台时的行为的情况下,所述内存阈值为所述目标应用运行在前台时的第一内存阈值;
在所述第一操作行为属于目标应用运行在后台时的行为的情况下,所述内存阈值为所述目标应用运行在后台时的第二内存阈值。
其中,同一应用在处于前台运行状态和后台运行状态时,内存占用情况也能不同,因此,也可以分别确定在前台运行状态和后台运行状态的内存阈值。例如可以获取属于目标应用处于前台运行状态下的第一操作行为的第一信息,进而将该状态下得到的第一信息输入时目标模型,则可以输出目标应用在前台运行时的内存阈值。同理,可以获取属于目标应用处于后台运行状态下的第一操作行为的第一信息,进而将该状态下得到的第一信息输入时目标模型,则可以输出目标应用在后台运行时的内存阈值。这样,得到的内存阈值更加准确。
可选地,所述第二操作行为和所述第三操作行为均属于目标应用运行在前台时的行为;
或者,所述第二操作行为和所述第三操作行为均属于目标应用运行在后台时的行为。
其中,同一应用在处于前台运行状态和后台运行状态时,内存占用情况也能不同,因此,也可以分别确定适用于前台运行状态和后台运行状态的模型。
例如可以获取属于目标应用处于前台运行状态下的第二操作行为的第二信息和第三操作行为的第三信息,从而可以得到对应于目标应用处于前台运行状态的第一训练样本和第二训练样本,进而可以基于这些训练样本训练得到适用于目标应用处于前台运行状态的子模型;
同理,可以获取属于目标应用处于后台运行状态下的第二操作行为的第二信息和第三操作行为的第三信息,从而可以得到对应于目标应用处于后台运行状态的第一训练样本和第二训练样本,进而可以基于这些训练样本训练得到适用于目标应用处于后台运行状态的子模型。
这样,则可以分别在目标应用处于前台运行状态和后台运行状态确定不同的内存阈值,进而可以更加准确的判断目标应用是否会发生内存崩溃,并及时解决崩溃问题。
综上所述,本申请实施例的应用监控方法的具体实施方式可如图2所示,具体包括如下步骤201至210:
步骤201:用于基础模型训练的数据采集,即在进入目标应用的显示界面后,在第二时间段内监听用户的所有操作并且获取当时目标应用的内存占用值;
步骤202:生成第一训练样本,即基于步骤201中获取的数据,生成第一训练样本;
需要说明的是,上述步骤201和202可以针对不同型号的电子设备执行。
步骤203:基础模型训练,即采用机器学习算法,对步骤202中获取的第一训练样本进行训练,得到用于确定应用的内存阈值的基础模型;
步骤204:基础模型下发,即将基础模型下发至不同型号的电子设备上安装的目标应用中;
其中,对于每一种型号的电子设备,执行如下步骤205至210;
步骤205:用于模型更新的数据采集,即在目标应用的使用过程中(例如在第三时间段内),监听用户的所有操作并且获取当时目标应用的内存占用值;
步骤206:数据清洗,即将步骤205中在如下至少一项场景下采集的数据剔除:
目标应用的内存占用值小于第一阈值时目标应用被终止运行的场景;
目标应用未产生异常的场景;
目标应用的内存占用值小于第二阈值,目标应用却崩溃的场景。
步骤207:模型更新,即根据步骤206进行数据清洗后获得的数据,得到第二训练样本,从而根据第二训练样本对基础模型进行更新,得到新模型(即与设备参数对应的子模型);
步骤208:获取模型输入,即在进入目标电子设备上安装的目标应用的显示界面后,在第一时间段内监听用户的所有操作并且获取当时目标应用的内存占用值;
步骤209:得到内存阈值,即将步骤208获取的内存占用值输入至与目标电子设备的设备参数对应的子模型,输出目标电子设备上的目标应用的内存阈值;
步骤210:解决崩溃问题,即在监听到目标应用在运行过程的内存占用值达到内存阈值时,执行内存释放操作或者获取内存快照等方案来解决内存问题。
由上述可知,本申请的实施例,可以基于线上大量用户对应用实施操作行为时应用的内存占用值,训练用于确定应用的内存阈值模型,无需人工调试每台不同设备机型,也无需单独覆盖旧设备或者新增新设备。并且,通过该模型以及应用使用过程中的内存占用值,可以得到更加准确的内存阈值,进而,可以更加准确的监控内存是否发生问题,并得到解决。
第二方面,本申请实施例还提供一种应用监控装置,如图3所示,该置可以包括如下模块:
信息获取模块301,用于获取第一操作行为的第一信息,其中,所述第一操作行为包括在第一时间段内在目标电子设备上检测到的对目标应用的操作行为,所述第一信息包括检测到所述第一操作行为时所述目标应用的内存占用信息;
阈值获取模块302,用于将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值,其中,所述内存阈值为所述目标应用运行过程中可占用内存的最大值;
监控模块303,用于根据所述内存阈值,监控所述目标应用的运行过程。
可选地,所述装置还包括:
参数获取模块,用于获取所述目标电子设备的参数;
所述阈值获取模块302具体用于:
将所述第一信息输入至与所述目标电子设备的参数对应的子模型,输出所述目标应用的内存阈值。
可选地,所述装置还包括:用于确定与不同设备参数对应的子模型的模型训练模块;
其中,所述模型训练模块具体用于:
获取第一训练样本,其中,所述第一训练样本包括第二操作行为的第二信息以及所述第二操作行为所属的电子设备上的目标应用的内存阈值,所述第二操作行为包括在第二时间段内在具有不同设备参数的电子设备上检测到的对目标应用的操作行为,所述第二信息包括检测到所述第二操作行为时所述第二操作行为所属的电子设备上的目标应用的内存占用信息;
采用机器学习算法对所述第一训练样本进行训练,获得用于输出应用的内存阈值的基础模型;
获取基于具有第i种设备参数的电子设备得到的第二训练样本,其中,所述第二训练样本包括第三操作行为的第三信息,以及具有第i种设备参数的电子设备上的目标应用的内存阈值,所述第三操作行为包括在第三时间段内在具有i种设备参数的电子设备上检测到的对目标应用的操作行为,所述第三信息包括检测到所述第三操作行为时具有第i种设备参数的电子设备上的目标应用的内存占用信息,i为1至N的整数,N表示设备参数的种类数量;
通过所述第二训练样本对所述基础模型进行训练,得到与第i种设备参数对应的子模型。
可选地,所述装置还包括:
剔除模块,用于执行如下至少一项:
在将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值之前,将所述第一信息中在目标场景下获取的信息剔除;
在采用机器学习算法对所述第一训练样本进行训练之前,将所述第一训练样本中,在目标场景下获取的训练样本剔除;
在对所述基础模型进行训练,得到与第i种设备参数对应的子模型之前,将所述第二训练样本中,在目标场景下获取的训练样本剔除;
其中,所述目标场景包括如下至少一项:
具有i种设备参数的电子设备上的目标应用的内存占用值小于第一阈值时所述目标应用被终止运行的场景;
具有i种设备参数的电子设备上的目标应用未产生异常的场景;
具有i种设备参数的电子设备上的目标应用的内存占用值小于第二阈值所述目标应用却崩溃的场景。
可选地,所述监控模块303具体用于:
在所述目标电子设备上的目标应用的内存占用值大于或等于所述目标电子设备上的目标应用的内存阈值的情况下,执行如下至少一项:
释放所述目标电子设备上的目标应用的内存;
获取所述目标电子设备上的目标应用的内存快照。
可选地,在所述第一操作行为属于目标应用运行在前台时的行为的情况下,所述内存阈值为所述目标应用运行在前台时的第一内存阈值;
在所述第一操作行为属于目标应用运行在后台时的行为的情况下,所述内存阈值为所述目标应用运行在后台时的第二内存阈值。
可选地,所述第二操作行为和所述第三操作行为均属于目标应用运行在前台时的行为;
或者,所述第二操作行为和所述第三操作行为均属于目标应用运行在后台时的行为。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另一方面,本申请实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述所述的应用监控方法中的步骤。
举例如下,图4示出了一种电子设备的实体结构示意图。
如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,处理器410用于执行上述所述的应用监控方法中的步骤。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供的应用监控方法中的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种应用监控方法,其特征在于,所述方法包括:
获取第一操作行为的第一信息,其中,所述第一操作行为包括在第一时间段内在目标电子设备上检测到的对目标应用的操作行为,所述第一信息包括检测到所述第一操作行为时所述目标应用的内存占用信息;
将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值,其中,所述内存阈值为所述目标应用运行过程中可占用内存的最大值;
根据所述内存阈值,监控所述目标应用的运行过程。
2.根据权利要求1所述的方法,其特征在于,所述目标模型包括与不同设备参数对应的子模型,所述方法还包括:
获取所述目标电子设备的参数;
所述将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值,包括:
将所述第一信息输入至与所述目标电子设备的参数对应的子模型,输出所述目标应用的内存阈值。
3.根据权利要求2所述的方法,其特征在于,确定与不同设备参数对应的子模型的过程,包括:
获取第一训练样本,其中,所述第一训练样本包括第二操作行为的第二信息以及所述第二操作行为所属的电子设备上的目标应用的内存阈值,所述第二操作行为包括在第二时间段内在具有不同设备参数的电子设备上检测到的对目标应用的操作行为,所述第二信息包括检测到所述第二操作行为时所述第二操作行为所属的电子设备上的目标应用的内存占用信息;
采用机器学习算法对所述第一训练样本进行训练,获得用于输出应用的内存阈值的基础模型;
获取基于具有第i种设备参数的电子设备得到的第二训练样本,其中,所述第二训练样本包括第三操作行为的第三信息,以及具有第i种设备参数的电子设备上的目标应用的内存阈值,所述第三操作行为包括在第三时间段内在具有i种设备参数的电子设备上检测到的对目标应用的操作行为,所述第三信息包括检测到所述第三操作行为时具有第i种设备参数的电子设备上的目标应用的内存占用信息,i为1至N的整数,N表示设备参数的种类数量;
通过所述第二训练样本对所述基础模型进行训练,得到与第i种设备参数对应的子模型。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括如下至少一项:
在将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值之前,将所述第一信息中在目标场景下获取的信息剔除;
在采用机器学习算法对所述第一训练样本进行训练之前,将所述第一训练样本中,在目标场景下获取的训练样本剔除;
在对所述基础模型进行训练,得到与第i种设备参数对应的子模型之前,将所述第二训练样本中,在目标场景下获取的训练样本剔除;
其中,所述目标场景包括如下至少一项:
目标应用的内存占用值小于第一阈值时所述目标应用被终止运行的场景;
目标应用未产生异常的场景;
目标应用的内存占用值小于第二阈值所述目标应用却崩溃的场景。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述内存阈值,监控所述目标应用的运行过程,包括:
在所述目标电子设备上的目标应用的内存占用值大于或等于所述目标电子设备上的目标应用的内存阈值的情况下,执行如下至少一项:
释放所述目标电子设备上的目标应用的内存;
获取所述目标电子设备上的目标应用的内存快照。
6.根据权利要求1至4任一项所述的方法,其特征在于,在所述第一操作行为属于目标应用运行在前台时的行为的情况下,所述内存阈值为所述目标应用运行在前台时的第一内存阈值;
在所述第一操作行为属于目标应用运行在后台时的行为的情况下,所述内存阈值为所述目标应用运行在后台时的第二内存阈值。
7.根据权利要求3所述的方法,其特征在于,所述第二操作行为和所述第三操作行为均属于目标应用运行在前台时的行为;
或者,所述第二操作行为和所述第三操作行为均属于目标应用运行在后台时的行为。
8.一种应用监控装置,其特征在于,所述装置包括:
信息获取模块,用于获取第一操作行为的第一信息,其中,所述第一操作行为包括在第一时间段内在目标电子设备上检测到的对目标应用的操作行为,所述第一信息包括检测到所述第一操作行为时所述目标应用的内存占用信息;
阈值获取模块,用于将所述第一信息输入至预先确定的目标模型,输出所述目标应用的内存阈值,其中,所述内存阈值为所述目标应用运行过程中可占用内存的最大值;
监控模块,用于根据所述内存阈值,监控所述目标应用的运行过程。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7任一项所述应用监控方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述应用监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311078407.1A CN117033139A (zh) | 2023-08-24 | 2023-08-24 | 一种应用监控方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311078407.1A CN117033139A (zh) | 2023-08-24 | 2023-08-24 | 一种应用监控方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117033139A true CN117033139A (zh) | 2023-11-10 |
Family
ID=88639060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311078407.1A Pending CN117033139A (zh) | 2023-08-24 | 2023-08-24 | 一种应用监控方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117033139A (zh) |
-
2023
- 2023-08-24 CN CN202311078407.1A patent/CN117033139A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109308252A (zh) | 一种故障定位处理方法及装置 | |
CN110837432A (zh) | 服务集群中异常节点的确定方法、装置和监控服务器 | |
CN110704313A (zh) | Java虚拟机内存泄漏检测方法及装置 | |
CN113297060A (zh) | 一种数据测试方法及其装置 | |
CN112380759B (zh) | 基于深度学习和CoxPH模型的智能电表寿命预测方法 | |
CN110659147B (zh) | 一种基于模块自检行为的自修复方法和系统 | |
CN107451003B (zh) | 一种存储系统的测试方法及装置 | |
CN114548280A (zh) | 故障诊断模型的训练、故障诊断方法及电子设备 | |
EP3514680A1 (en) | Identification of changes in functional behavior and runtime behavior of a system during maintenance cycles | |
CN116909800B (zh) | 崩溃信息的定位方法、崩溃信息的定位装置及存储介质 | |
CN112100067B (zh) | 一种基于回归分析的测试方法、系统及存储介质 | |
CN116414722B (zh) | 模糊测试处理方法、装置、模糊测试系统及存储介质 | |
CN117033139A (zh) | 一种应用监控方法、装置、电子设备及存储介质 | |
CN107102938B (zh) | 测试脚本的更新方法及装置 | |
CN104035866B (zh) | 基于系统调用分析的软件行为评估方法和装置 | |
US9690639B2 (en) | Failure detecting apparatus and failure detecting method using patterns indicating occurrences of failures | |
Iqbal et al. | A software reliability growth model with two types of learning and a negligence factor | |
CN109254898B (zh) | 一种软件模块执行顺序监视方法及监视系统 | |
CN110598797A (zh) | 故障的检测方法及装置、存储介质和电子装置 | |
CN115391110A (zh) | 存储设备的测试方法、终端设备及计算机可读存储介质 | |
CN113094221A (zh) | 故障注入方法、装置、计算机设备以及可读存储介质 | |
JP6756680B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP2019164762A (ja) | 情報処理装置,機械学習装置及びシステム | |
CN116628508B (zh) | 模型训练过程异常检测方法、装置、设备及存储介质 | |
CN114844778B (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 |