CN112905399B - 数据处理方法、异常情况预测方法及相关产品 - Google Patents
数据处理方法、异常情况预测方法及相关产品 Download PDFInfo
- Publication number
- CN112905399B CN112905399B CN202110130634.9A CN202110130634A CN112905399B CN 112905399 B CN112905399 B CN 112905399B CN 202110130634 A CN202110130634 A CN 202110130634A CN 112905399 B CN112905399 B CN 112905399B
- Authority
- CN
- China
- Prior art keywords
- time
- representing
- log
- parameter
- parameters
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- 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/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种数据处理方法、异常情况预测方法及相关产品,该数据处理方法包括以下步骤:获取日志文件,该日志文件中包括至少一条日志;根据与异常情况对应的关键字信息,从该日志文件中获取至少一条目标日志;根据该至少一条目标日志确定目标特征向量,该目标特征向量用于训练异常情况预测模型。本申请实施例有利于提高异常情况分析的准确性。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种数据处理方法、异常情况预测方法及相关产品。
背景技术
应用程序无响应(Application Not Responding,ANR)问题,是Android平台上一类常见的稳定性问题。引发该类问题的因素很多,在对ANR这类异常情况进行分析时,传统的基于人工分析的方法往往会受限于工程师的个人经验,因此容易出现误判,异常情况分析的准确性较低。
发明内容
本申请实施例提供了一种数据处理方法、异常情况预测方法及相关产品,以期提高异常情况分析的准确性。
第一方面,本申请实施例提供了一种数据处理方法,应用于第一电子设备,所述方法包括:
获取日志文件,所述日志文件中包括至少一条日志;
根据与异常情况对应的关键字信息,从所述日志文件中获取至少一条目标日志;
根据所述至少一条目标日志确定目标特征向量,所述目标特征向量用于训练异常情况预测模型。
第二方面,本申请实施例提供了一种异常情况预测方法,应用于第二电子设备,所述方法包括:
获取待检测日志文件,所述待检测日志文件中包括至少一条待检测日志;
根据所述至少一条待检测日志获取所述待检测日志文件的特征向量;
调用预设的异常情况预测模型对所述待检测日志文件的特征向量进行处理,得到异常情况预测结果;其中,所述预设的异常情况预测模型根据目标特征向量训练得到,所述目标特征向量是根据至少一条目标日志确定的,所述至少一条目标日志是根据与异常情况对应的关键字信息从日志文件中获取的。
第三方面,本申请实施例提供了一种数据处理装置,应用于第一电子设备,所述装置包括:第一获取单元、第二获取单元和确定单元,其中,
所述第一获取单元,用于获取日志文件,所述日志文件中包括至少一条日志;
所述第二获取单元,用于根据与异常情况对应的关键字信息,从所述日志文件中获取至少一条目标日志;
所述确定单元,用于根据所述至少一条目标日志确定目标特征向量,所述目标特征向量用于训练异常情况预测模型。
第四方面,本申请实施例提供了一种异常情况检测装置,应用于第二电子设备,所述装置包括:第一获取单元、第二获取单元和处理单元,其中,
所述第一获取单元,用于获取待检测日志文件,所述待检测日志文件中包括至少一条待检测日志;
所述第二获取单元,用于根据所述至少一条待检测日志获取所述待检测日志文件的特征向量;
所述处理单元,用于调用预设的异常情况预测模型对所述待检测日志文件的特征向量进行处理,得到异常情况预测结果;其中,所述预设的异常情况预测模型根据目标特征向量训练得到,所述目标特征向量是根据至少一条目标日志确定的,所述至少一条目标日志是根据与异常情况对应的关键字信息从日志文件中获取的。
第五方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请实施例第一方面或第二方面中的步骤的指令。
第六方面,本申请实施例提供了一种计算机存储介质,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本实施例第一方面或第二方面中所描述的部分或全部步骤。
第七方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面或第二方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
第八方面,本申请实施例提供了一种芯片,所述芯片,用于获取日志文件,所述日志文件中包括至少一条日志;以及根据与异常情况对应的关键字信息,从所述日志文件中获取至少一条目标日志;以及根据所述至少一条目标日志确定目标特征向量,所述目标特征向量用于训练异常情况预测模型。
第九方面,本申请实施例提供了一种芯片,所述芯片,用于获取待检测日志文件,所述待检测日志文件中包括至少一条待检测日志;以及根据所述至少一条待检测日志获取所述待检测日志文件的特征向量;以及调用预设的异常情况预测模型对所述待检测日志文件的特征向量进行处理,得到异常情况预测结果;其中,所述预设的异常情况预测模型根据目标特征向量训练得到,所述目标特征向量是根据至少一条目标日志确定的,所述至少一条目标日志是根据与异常情况对应的关键字信息从日志文件中获取的。
本申请实施例中,第一电子设备先获取包括至少一条日志的日志文件,然后再根据与异常情况对应的关键字信息,从该日志文件中获取至少一条目标日志,最后根据该至少一条目标日志确定出用于训练异常情况预测模型的目标特征向量;可见,本申请实施例中,对日志文件进行处理,进而确定出用于训练异常预测模型的目标特征向量,由于该目标特征向量是根据与异常情况相关联的目标日志确定的,根据该目标特征向量训练得到的异常情况预测模型的异常情况预测结果准确性较高,有利于提高异常情况预分析的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种数据处理系统的架构示例图;
图1B是本申请实施例提供的一种电子设备的组成示例图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3是本申请实施例提供的一种异常情况预测方法的流程示意图;
图4A是本申请实施例提供的一种数据处理装置的功能单元组成框图;
图4B是本申请实施例提供的另一种数据处理装置的功能单元组成框图;
图5A是本申请实施例提供的一种异常情况预测装置的功能单元组成框图;
图5B是本申请实施例提供的另一种异常情况预测装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面结合附图对本申请的实施例进行说明。
请参阅图1A,图1A是本申请实施例提供的一种数据处理系统的架构图,该数据处理系统中包括第一电子设备和第二电子设备,第一电子设备可以执行本申请所描述的数据处理方法,第二电子设备可以执行本申请所描述的异常情况预测方法。
如图1A中(a)部分所示,第一电子设备和第二电子设备可以是两个不同的电子设备。第一电子设备可以执行数据处理方法,确定用于训练异常情况预测模型的目标特征向量。第二电子设备可以调用预设的异常情况预测模型对待检测日志文件的特征向量进行处理,得到异常情况预测结果,其中,预设的异常情况预测模型根据目标特征向量训练得到。第一电子设备和第二电子设备可以通信连接,预设异常情况预测模型可以是第一电子设备通过目标特征向量训练得到的,第一电子设备可以将该异常情况预测模型发送给第二电子设备;或者第一电子设备可以将目标特征向量发送给第二电子设备,由第二电子设备训练得到异常情况预测模型。
或者如图1A中(b)部分所示,第一电子设备和第二电子设备可以是同一个电子设备,一个电子设备既可执行数据处理方法,确定用于训练异常情况预测模型的目标特征向量,又可执行异常情况预测方法,调用异常情况处理模型得到异常情况预测结果。第一电子设备和第二电子设备为同一电子设备时,则一个第一电子设备/第二电子设备则可确定特征向量并建立可供后续调用的异常情况预测模型。
此外,对于(a)、(b)两种情况而言,数据处理系统中还可以包括其他电子设备,第一电子设备将特征目标特征向量发送给其他电子设备,由其他设备训练得到异常情况预测模型并发送给第二电子设备。
请参阅图1B,本申请实施例提供的一种电子设备(可以是本申请实施例所描述的第一电子设备或第二电子设备)的组成结构可以如图1B所示,电子设备包括处理器110、存储器120、通信接口130以及一个或多个程序121,其中,所述一个或多个程序121被存储在上述存储器120中,且被配置由上述处理器110执行,所述一个或多个程序121包括用于执行下述方法实施例中任一步骤的指令。
其中,通信接口130用于支持电子设备与其他设备的通信。处理器110例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(DigitalSignal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
存储器120可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
具体实现中,所述处理器110用于执行下述方法实施例中由第一电子设备/第二电子设备执行的任一步骤,且在执行诸如发送等数据传输时,可选择的调用所述通信接口130来完成相应操作。
需要注意的是,上述电子设备的结构示意图仅为示例,具体包含的器件可以更多或更少,此处不做唯一限定。
请参阅图2,图2是本申请实施例提供的一种数据处理方法的流程示意图,该方法可以应用在如图1A所示的第一电子设备上,如图2所示,该数据处理方法包括以下步骤:
S201,第一电子设备获取日志文件,所述日志文件中包括至少一条日志。
其中,获取的日志文件可以是发生异常情况的电子设备的日志文件。异常情况可以是电子设备的操作系统发生的异常情况。
S202,第一电子设备根据与异常情况对应的关键字信息,从所述日志文件中获取至少一条目标日志。
具体实现中,电子设备日志文件中记录的日志信息数量较大,且并非每条日志都与电子设备异常情况相关,若直接提取电子设备的日志文件进行特征提取,由于存在大量无效信息的干扰,会对处理效率带来影响。因此,第一电子设备获取到发生异常情况的电子设备的日志文件时,可先根据异常情况对应的关键字信息,定位日志文件中与异常情况相关的目标日志,然后提取目标日志进行数据处理。
S203,第一电子设备根据所述至少一条目标日志确定目标特征向量。
其中,所述目标特征向量用于训练异常情况预测模型。
具体实现中,第一电子设备可以获取多个目标特征向量,不同的目标特征向量可能对应异常情况中的不同问题,可以通过机器学习算法根据获取到的多个目标特征向量进行模型的学习训练,进而得到可以对该异常情况进行分析预测的模型。利用机器学习算法训练用于异常情况分析的预测模型,相较于人工分析的方式,分析结果的准确性较高。
本申请实施例中,第一电子设备先获取包括至少一条日志的日志文件,然后再根据与异常情况对应的关键字信息,从该日志文件中获取至少一条目标日志,最后根据该至少一条目标日志确定出用于训练异常情况预测模型的目标特征向量;可见,本申请实施例中,对日志文件进行处理,进而确定出用于训练异常预测模型的目标特征向量,由于该目标特征向量是根据与异常情况相关联的目标日志确定的,根据该目标特征向量训练得到的异常情况预测模型的异常情况预测结果准确性较高,有利于提高异常情况预分析的准确性。
在一个可能的示例中,所述根据与异常情况对应的关键字信息,从所述日志文件中获取至少一条目标日志,包括:根据所述关键字信息确定所述异常情况的发生时间;根据所述发生时间从所述日志文件中获取所述至少一条目标日志,所述至少一条目标日志为所述发生时间之前预设时间间隔内的日志。
具体实现中,异常情况可以是应用程序无响应ANR,其对应的ANR关键字例如可以是关键字“am_anr”或者关键字“ANR in”,通过前述关键字可以找到ANR问题的发生时间(具体的时刻),然后可以截取日志文件中ANR问题发生时间前预设时间间隔内的日志,例如截取ANR问题发生时间前1分钟的日志。
其中,预设时间间隔可以由用户进行设置,此处不做唯一限定。
可见,本示例中,第一电子设备先根据关键字信息确定异常情况发生时间,再根据发生时间从日志文件中获取至少一条目标日志,有利于提高数据处理的效率。
在一个可能的示例中,所述根据所述至少一条目标日志确定目标特征向量,包括:根据所述至少一条目标日志确定至少一个特征值;根据所述至少一个特征值确定所述目标特征向量。
具体实现中,在获取到至少一条目标日志之后,第一电子设备可以根据预设的特征值计算规则确定至少一个特征值,具体的,预设的特征值计算规则中可以包括预设的至少一个特征,以及每个特征对应的特征值计算方法,第一电子设备可以先从至少一条目标日志中确定出与预设的至少一个特征对应的日志,然后,根据每个特征对应的特征值计算方法以及每个特征对应的日志,确定出每个特征对应的特征值,即得到上述至少一个特征值,然后进一步可确定出对应的目标特征向量。
可见,本示例中,第一电子设备先根据至少一条目标日志确定至少一个特征值,再根据该至少一个特征值确定目标特征向量,有利于提高特征向量确定的准确性。
在一个可能的示例中,所述异常情况包括应用程序无响应ANR问题,所述至少一个特征值包括以下至少一项:用于表征系统输入输出性能的参数、用于表征系统内存状态的参数、用于表征系统中央处理器(central processing unit,CPU)负载的参数、用于表征系统图像处理器(Graphics Processing Unit,GPU)性能的参数、用于表征系统服务状态的参数、用于表征应用程序主线程设计合理性的参数。
具体实现中,特征值的确定(特征向量的确定)影响着异常情况预测模型的预测精度,对于ANR问题,考虑到其通常与系统的输出性能、内存状态、CPU负载、GPU性能、系统服务状态和应用程序主线程设计合理性相关,因此,可以从上述多个方面进行特征值的确定。
可见,本示例中,对于ANR问题,第一电子设备确定的至少一个特征值包括用于表征系统输入输出性能、系统内存状态、系统、CPU负载、GPU性能、服务状态、应用程序主线程设计合理性的多个参数,有利于提高特征值确定的全面性,进而提高异常情况预测模型的预测结果准确性。
在一个可能的示例中,所述用于表征系统输入输出性能的参数包括以下至少一项:用于表征t1时间内CPU的输入输出操作等待时间iowait均值的参数、用于表征t1时间内CPU小核的iowait均值的参数、用于表征t1时间内操作系统内核平均每t2时间间隔输出日志数量的参数、用于表征t1时间内操作系统平均每t2时间间隔输出日志数量的参数、用于表征t3时间内预设存储设备使用容量增长情况的参数、用于表征t3时间内系统预设存储区域使用容量增长情况的参数;t1时间和t3时间在异常情况的发生时间之前。
其中,CPU可以是多核CPU,具体还可包括大核和小核。iowait即系统由于io操作导致的进程等待时间,可作为CPU等待io的指标,可通过百分比的形式表示,即磁盘访问占整个CPU运行的百分比。CPU的iowait均值即t1时间内整个CPU的iowait的平均值,CPU小核的iowait均值即t1时间内CPU中小核的iowait的平均值。
操作系统内核可以是linux内核,操作系统可以是安卓操作系统Android。平均每t2时间间隔输出日志数量可以是平均每t2时间输出日志行数。
预设存储设备可以是SD卡(Secure Digital Memory Card,安全数字存储卡),预设存储区域可以是data分区(系统盘,用于存放系统文件),使用容量增长情况即t3时间内使用容量的增长量。
具体实现中,t1时间可以是发生时间之前的30秒时间间隔(t1时间内CPU的iowait均值即ANR问题发生前30s内CPU的iowait的平均值)、t2可以是1秒、t3时间可以是发生时间之前的1分钟时间间隔,具体可以由用户进行设置,此处不做唯一限定。
可见,本示例中,用于表征系统输入输出性能的参数可以包括:用于表征异常情况ANR发生时间之前预设时间间隔内iowait均值、CPU小核的iowait均值、操作系统内核平均每t2时间间隔输出日志数量、操作系统平均每t2时间间隔输出日志数量、预设存储设备使用容量增长情况、系统预设存储区域使用容量增长情况的参数,考虑了系统多种输入输出性能,有利于提高特征值确定的全面性。
在一个可能的示例中,所述用于表征系统内存的参数包括以下至少一项:用于表征t4时间系统剩余内存容量的参数、用于表征t4时间系统交换分区剩余率的参数、用于表征t4时间内存页面错误majorfault变量值的参数、用于表征t4时间内存回收lmk工作的最小被回收优先级adj的参数、用于表征t4时间系统中预设大小内存块的数量的参数、用于表征t4时间系统内存管理器中内存消耗量的参数;t4时间为所述发生时间。
其中,内存即物理内存。交换分区是一定磁盘空间(分区或文件),用于将部分内存中的数据换下来,以腾出内存空间,一个系统中物理内存的容量是有限的,当内存快用完时,操作系统会使用交换分区,将一部分最近没使用的内存页面保存到交换分区,从而为需要内存的程序留出足够的内存空间。
majorfault是一个变量,当CPU在执行指令时,如果发现下一条要执行的指令不在实际的物理内存中时,该majorfault变量即加一。
内存回收(low memory killer,lmk)是Android操作系统中一种内存回收技术,adj是Android操作系统中用于评估一个应用在低内存情况下被回收的优先级参数,adj值越大越容易被系统杀死以回收内存。
具体实现中,t4时间可以是ANR问题的发生时间点。预设大小内存块可以是8K大小内存块。交换分区剩余率可以是剩余交换分区占总交换分区的百分比。t4时间内存回收lmk工作的最小被回收优先级adj的参数,即ANR问题发生时内存回收工作的最小adj值。
内存管理器可以是ION(Android系统中的一种内存管理器)。
可见,本示例中,用于表征系统内存的参数可以包括:用于表征预设时间点系统剩余内存容量、系统交换分区剩余、majorfault变量值、lmk工作的最小adj、用于系统中预设大小内存块的数量、用于系统内存管理器中内存消耗量的参数,考虑了反映内存状态的多种参数,有利于提高特征值确定的全面性。
在一个可能的示例中,所述用于表征CPU负载的参数包括以下至少一项:用于表征t5时间内CPU总负载的参数、用于表征t5时间内发生ANR的进程的CPU占用率的参数、用于表征t5时间内发生ANR的进程在第一状态CPU的占用率的参数、用于表征t5时间内发生ANR的进程在第二状态CPU的占用率的参数、用于表征t5时间内内存页交换进程kswapd0的CPU占用率的参数、用于表征t5时间内语言编译进程dex2oat的CPU占用率的参数、用于表征t5时间内第一进程的CPU占用率的参数、用于表征t1时间内CPU平均占用率的参数、用于表征t1时间内CPU小核平均占用率的参数;所述第一进程为t5时间内CPU占用率最高的进程,t5时间在所述发生时间之前。
其中,第一状态CPU即内核态(kernel态)的CPU,第二状态CPU即用户态的CPU。内核态和用户态是CPU的两种工作状态,系统中既有操作系统的程序,也有普通用户程序即应用程序。为了安全性和稳定性,操作系统的程序不能随便访问,即内核态。需要执行操作系统的程序需要转换到内核态才能执行,内核态可以使用计算机所有的硬件资源。而用户态不能直接使用系统资源,也不能改变CPU的工作状态,只能访问这个用户程序自己的存储空间。
kswapd0是linux操作系统内核中的一个常驻进程,负责内存页交换。
dex2oat是Android操作系统中负责java语言编译的进程。
具体实现中,t5时间可以是发生时间之前的15秒时间间隔,t1时间内CPU平均占用率即t1时间内CPU占用率的平均值。
可见,本示例中,用于表征CPU负载的参数可以包括:用于表征预设时间间隔CPU总负载、发生ANR的进程的CPU占用率、发生ANR的进程在不同状态CPU的占用率、kswapd0的CPU占用率、dex2oat的CPU占用率、第一进程的CPU占用率、CPU平均占用率、CPU小核平均占用率的参数,考虑了反映CPU负载的多种参数,有利于提高特征值确定的全面性。
在一个可能的示例中,所述用于表征GPU性能的参数包括:用于表征t3时间内GPU是否存在异常日志输出的参数。
具体实现中,t3时间内CPU有异常日志输出可以对应第一参数值,t3时间内CPU无异常日志输出可以对应第二参数值。参数值可以由用户设置,例如第一参数为0、第二参数为1,或者第一参数为1、第二参数为0,此处不做具体限定。
可见,本示例中,特征值包括用于表征ANR问题发生前预设时间间隔内GPU是否存在异常日志输出的参数,有利于提高特征值确定的全面性。
在一个可能的示例中,所述用于表征系统服务状态的参数包括以下至少一项:用于表征t5时间内系统广播积压数量的参数、用于表征t5时间内系统广播处理最大耗时的参数。
其中,系统广播是所有应用程序都可通过监听获取的信息,操作系统可以广播各种系统状态信息,例如电量变化等。
可见,本示例中,用于表征系统服务状态的参数可以包括:用于表征预设时间间隔内用于系统广播积压数量、系统广播处理最大耗时的参数,考虑了反映系统服务状态的多种参数,有利于提高特征值确定的全面性。
在一个可能的示例中,所述用于表征应用程序主线程设计合理性的参数包括以下至少一项:用于表征t4时间发生ANR的进程的主线程的调用栈类型的参数、用于表征t5时间内系统虚拟机垃圾回收最大耗时的参数、用于表征t5时间内系统应用窗口销毁次数的参数。
其中,系统虚拟机可以是ART虚拟机,ART虚拟机是Android平台上使用的一种Java虚拟机。
具体实现中,可以为不同的调用栈类型设置相应的参数值,参数值和调用栈类型可以是一一对应的关系。
可见,本示例中,特征值包括用于表征ANR问题发生前预设时间间隔内,用于表征发生ANR的进程的主线程的调用栈类型、表征系统虚拟机垃圾回收最大耗时、系统应用窗口销毁次数的参数,有利于提高特征值确定的全面性。
在一个可能的示例中,用于训练所述异常情况预测模型的单个数据包括:所述目标特征向量、与所述目标特征向量对应的分类标签。
具体实现中,可以通过支持向量机SVM(Support Vector Machine)根据多个数据进行学习训练,其中,每个数据中包括一个目标特征向量和其对应的分类标签,其中,分类标签可以对应异常情况的不用发生原因,训练得到的模型则可用于预测异常情况发生的原因。
可见,本示例中,用于训练异常情况预测模型的单个数据包括:目标特征向量和其对应的分类标签,通过该数据对异常情况预测模型进行训练,有利于提高异常情况预测模型的预测结果准确性。
在一个可能的示例中,所述异常情况包括ANR问题,所述分类标签包括以下至少一种:系统输入输出性能不足、系统内存不足、系统中央处理器CPU负载过高、系统图像处理器GPU性能不足、系统服务阻塞、应用程序设计不合理。
具体实现中,分类标签可以设置为ANR问题发生的原因,将ANR问题发生原因进行分类,具体可以包括系统输入输出性能不足、系统内存不足、系统中央处理器CPU负载过高、系统图像处理器GPU性能不足、系统服务阻塞、应用程序设计不合理等多个方面,通过分类标签对异常情况预测模型进行训练后,异常情况预测模型的预测结果则可包括上述多个预测分类标签。
具体的,分类标签的表现形式可以是设置的具体数值,例如上述六个分类标签分别对应数值0、1、2、3、4、5。
可见,本示例中,分类标签包括系统输入输出性能不足、系统内存不足、系统中央处理器CPU负载过高、系统图像处理器GPU性能不足、系统服务阻塞、应用程序设计不合理等多个ANR问题发生原因,有利于提高异常情况预测模型的预测结果的全面性。
下面结合具体示例和测试结果进行说明。
根据目标日志确定的特征值具体可以包括以下27项:
X1:ANR发生前15秒的cpu总负载
X2:ANR发生前15秒,发生ANR的进程的cpu占用率
X3:ANR发生前15秒,发生ANR的进程在kernel态的cpu占用率
X4:ANR发生前15秒,发生ANR的进程在kernel态的cpu占用率
X5:ANR发生前15秒,kswapd0的cpu占用率
X6:ANR发生前15秒,dex2oat的cpu占用率
X7:ANR发生前15秒,占用cpu最高的进程的cpu占用率
X8:ANR发生前30秒,cpu占用率平均值
X9:ANR发生前30秒,小核的cpu占用率平均值
X10:ANR发生时的剩余内存
X11:ANR发生时,剩余交换分区占总交换分区的百分比
X12:ANR发生时,内存majorfault值
X13:ANR发生时,lmk工作的最小adj
X14:ANR发生时,系统中8k大小内存块的数量
X15:ANR发生时,ION内存消耗量
X16:ANR发生前30秒,linux内核平均每秒输出log行数
X17:ANR发生前30秒,Android平均每秒输出log行数
X18:ANR发生前1分钟,sd卡使用容量的增长量
X19:ANR发生前1分钟,data分区使用容量的增长量
X20:ANR发生前30秒,iowait平均值
X21:ANR发生前30秒,小核的iowait平均值
X22:ANR发生前1分钟,gpu模块是否有异常log输出
X23:ANR发生时,ANR进程主线程的调用栈类型
X24:ANR发生前15秒,ART虚拟机垃圾回收的最大耗时
X25:ANR发生前15秒,应用窗口销毁的次数
X26:ANR发生前15秒,系统广播积压的个数
X27:ANR发生前15秒,系统广播处理的最大耗时。
一个样本数据中的目标特征向量可以由具体的27个特征值确定。ANR问题的特征值样例可以如下表所示。
表1特征值示例表
在对上述特征值选取是否有效进行测试时,可以选取219个ANR问题作为历史数据,即用于训练异常情况预测模型的训练数据,针对每个问题对应的日志文件提取上述27个特征值用于确定目标特征向量,然后采用SVM进行学习训练,得到一个可以用于预测ANR问题发生原因的模型(模型输出结果为ANR问题的不同分类,不同参数值对应不同类型的ANR问题),之后再使用这219个问题作为测试数据进行测试,具体测试报告如下:
classification report(分类报告):
y_pred(预测值):
[1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 0 5 0
5 5 0 5 5 5 2 2 2 2 2 2 0 2 0 2 2 2 0 2 2 2 2 0 2 0 2 2 2 1 1 2 1 2 0 0 0
0 3 1 3 3 3 3 3 3 3 3 3 3 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]
params(计算机函数,表示函数的参数是可变个数的):gamma(一种参数,通过调整该参数可优化训练模型)=1.6669999999999998
Accuracy(准确率):100.0%
准确率为100%,即该目标特征向量是有效的。
请参阅图3,图3是本申请实施例提供的一种异常情况预测方法的流程示意图,该方法可以应用在如图1A所示的第二电子设备上,如图3所示,该异常情况预测方法包括以下步骤:
S301,第二电子设备获取待检测日志文件,所述待检测日志文件中包括至少一条待检测日志。
其中,待检测日志文件可以是发生异常情况需要进行异常情况分析的电子设备的日志文件。
至少一条待检测日志的获取方式可以是:根据与异常情况对应的关键字信息,从待检测日志文件中获取该至少一条待检测日志。
具体的,可以是根据关键字信息确定异常情况的发生时间,然后再根据发生时间从待检测日志文件中获取该至少一条待检测日志。其中,至少一条待检测日志为发生时间之前预设时间间隔内的日志。
S302,第二电子设备根据所述至少一条待检测日志获取所述待检测日志文件的特征向量。
具体的,获取待检测日志文件的特征向量的方式可以是:根据至少一条待检测日志确定至少一个待检测特征值,根据该至少一个待检测特征值确定该待检测日志文件的特征向量。
其中,该至少一个待检测特征值可以通过如下方式获取:获取目标特征向量的特征值计算规则,根据该特征值计算规则和该至少一个待检测日志确定该待检测日志文件的特征向量。
S303,第二电子设备调用预设的异常情况预测模型对所述待检测日志文件的特征向量进行处理,得到异常情况预测结果。
其中,所述预设的异常情况预测模型根据目标特征向量训练得到,所述目标特征向量是根据至少一条目标日志确定的,所述至少一条目标日志是根据与异常情况对应的关键字信息从日志文件中获取的。
本申请实施例中,第二电子设备先获取待检测日志文件,然后根据至少一条待检测日志获取所述待检测日志文件的特征向量,然后调用根据目标特征向量训练得到的异常情况预测模型对待检测日志文件的特征向量进行处理,得到异常情况预测结果。其中,目标特征向量是根据与异常情况的关键字信息对应的目标日志确定的。可见,本申请实施例中,通过异常情况预测模型对待检测日志文件的特征向量进行处理,得到异常处理结果,而异常情况预测模型是根据的目标特征向量训练得到的,有利于提高异常情况分析结果的准确性。
在一个可能的示例中,所述待检测日志文件的特征向量根据至少一个特征值确定,所述异常情况包括ANR问题,所述至少一个特征值包括以下至少一项:用于表征系统输入输出性能的参数、用于表征系统内存状态的参数、用于表征系统中央处理器CPU负载的参数、用于表征系统图像处理器GPU性能的参数、用于表征系统服务状态的参数、用于表征应用程序主线程设计合理性的参数。
可见,本示例中,对于ANR问题而言,第二电子设备获取的至少一个特征值包括用于表征系统输入输出性能、系统内存状态、系统、CPU负载、GPU性能、服务状态、应用程序主线程设计合理性的多个参数,有利于提高特征值确定的全面性,进而提高异常情况预测模型的预测结果准确性。
本申请可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图4A,图4A是本申请实施例提供的一种数据处理装置的功能单元组成框图。该数据处理装置40可以应用于如图1A所示的第一电子设备中,该数据处理装置40包括:第一获取单元401、第二获取单元402和确定单元403,其中,
所述第一获取单元401,用于获取日志文件,所述日志文件中包括至少一条日志;
所述第二获取单元402,用于根据与异常情况对应的关键字信息,从所述日志文件中获取至少一条目标日志;
所述确定单元403,用于根据所述至少一条目标日志确定目标特征向量,所述目标特征向量用于训练异常情况预测模型。
在一个可能的示例中,所述第二获取单元402具体用于:根据所述关键字信息确定所述异常情况的发生时间;根据所述发生时间从所述日志文件中获取所述至少一条目标日志,所述至少一条目标日志为所述发生时间之前预设时间间隔内的日志。
在一个可能的示例中,所述确定单元403具体用于:根据所述至少一条目标日志确定至少一个特征值;根据所述至少一个特征值确定所述目标特征向量。
在一个可能的示例中,所述异常情况包括应用程序无响应ANR问题,所述至少一个特征值包括以下至少一项:用于表征系统输入输出性能的参数、用于表征系统内存状态的参数、用于表征系统中央处理器CPU负载的参数、用于表征系统图像处理器GPU性能的参数、用于表征系统服务状态的参数、用于表征应用程序主线程设计合理性的参数。
在一个可能的示例中,用于表征t1时间内CPU的输入输出操作等待时间iowait均值的参数、用于表征t1时间内CPU小核的iowait均值的参数、用于表征t1时间内操作系统内核平均每t2时间间隔输出日志数量的参数、用于表征t1时间内操作系统平均每t2时间间隔输出日志数量的参数、用于表征t3时间内预设存储设备使用容量增长情况的参数、用于表征t3时间内系统预设存储区域使用容量增长情况的参数;t1时间和t3时间在异常情况的发生时间之前。
在一个可能的示例中,所述用于表征系统内存的参数包括以下至少一项:用于表征t4时间系统剩余内存容量的参数、用于表征t4时间系统交换分区剩余率的参数、用于表征t4时间内存页面错误majorfault变量值的参数、用于表征t4时间内存回收lmk工作的最小被回收优先级adj的参数、用于表征t4时间系统中预设大小内存块的数量的参数、用于表征t4时间系统内存管理器中内存消耗量的参数;t4时间为所述发生时间。
在一个可能的示例中,所述用于表征CPU负载的参数包括以下至少一项:用于表征t5时间内CPU总负载的参数、用于表征t5时间内发生ANR的进程的CPU占用率的参数、用于表征t5时间内发生ANR的进程在第一状态CPU的占用率的参数、用于表征t5时间内发生ANR的进程在第二状态CPU的占用率的参数、用于表征t5时间内内存页交换进程kswapd0的CPU占用率的参数、用于表征t5时间内语言编译进程dex2oat的CPU占用率的参数、用于表征t5时间内第一进程的CPU占用率的参数、用于表征t1时间内CPU平均占用率的参数、用于表征t1时间内CPU小核平均占用率的参数;所述第一进程为t5时间内CPU占用率最高的进程,t5时间在所述发生时间之前。
在一个可能的示例中,所述用于表征GPU性能的参数包括:用于表征t3时间内GPU是否存在异常日志输出的参数。
在一个可能的示例中,所述用于表征系统服务状态的参数包括以下至少一项:用于表征t5时间内系统广播积压数量的参数、用于表征t5时间内系统广播处理最大耗时的参数。
在一个可能的示例中,所述用于表征应用程序主线程设计合理性的参数包括以下至少一项:用于表征t4时间发生ANR的进程的主线程的调用栈类型的参数、用于表征t5时间内系统虚拟机垃圾回收最大耗时的参数、用于表征t5时间内系统应用窗口销毁次数的参数。
在一个可能的示例中,用于训练所述异常情况预测模型的单个数据包括:所述目标特征向量、与所述目标特征向量对应的分类标签。
在一个可能的示例中,所述异常情况包括ANR问题,所述分类标签包括以下至少一种:系统输入输出性能不足、系统内存不足、系统中央处理器CPU负载过高、系统图像处理器GPU性能不足、系统服务阻塞、应用程序设计不合理。
在采用集成的单元的情况下,本申请实施例提供的数据处理装置的功能单元组成框图如图4B所示。在图4B中,数据处理装置包括:处理模块410和通信模块411。处理模块410用于对数据处理装置的动作进行控制管理,例如,第一获取单元401,第二获取单元402,确定单元403执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块411用于支持数据处理装置与其他设备之间的交互。如图4B所示,数据处理装置还可以包括存储模块412,存储模块412用于存储数据处理装置的程序代码和数据。
其中,处理模块410可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块411可以是收发器、RF电路或通信接口等。存储模块412可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述数据处理装置均可执行上述图2所示的数据处理方法中第一电子设备所执行的步骤。
请参阅图5A,图5A是本申请实施例提供的一种异常情况预测装置的功能单元组成框图。该异常情况预测装置50可以应用于如图1A所示的第二电子设备中,该异常情况预测装置50包括:第一获取单元501、第二获取单元502和处理单元503,其中,
所述第一获取单元501,用于获取待检测日志文件,所述待检测日志文件中包括至少一条待检测日志;
所述第二获取单元502,用于根据所述至少一条待检测日志获取所述待检测日志文件的特征向量;
所述处理单元503,用于调用预设的异常情况预测模型对所述待检测日志文件的特征向量进行处理,得到异常情况预测结果;其中,所述预设的异常情况预测模型根据目标特征向量训练得到,所述目标特征向量是根据至少一条目标日志确定的,所述至少一条目标日志是根据与异常情况对应的关键字信息从日志文件中获取的。
在一个可能的示例中,所述待检测日志文件的特征向量根据至少一个特征值确定,所述异常情况包括ANR问题,所述至少一个特征值包括以下至少一项:用于表征系统输入输出性能的参数、用于表征系统内存状态的参数、用于表征系统中央处理器CPU负载的参数、用于表征系统图像处理器GPU性能的参数、用于表征系统服务状态的参数、用于表征应用程序主线程设计合理性的参数。
在采用集成的单元的情况下,本申请实施例提供的异常情况预测装置的功能单元组成框图如图5B所示。在图5B中,异常情况预测装置包括:处理模块510和通信模块511。处理模块510用于对数据处理装置的动作进行控制管理,例如,第一获取单元501,第二获取单元502,处理单元503执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块511用于支持数据处理装置与其他设备之间的交互。如图5B所示,数据处理装置还可以包括存储模块512,存储模块512用于存储数据处理装置的程序代码和数据。
其中,处理模块510可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块511可以是收发器、RF电路或通信接口等。存储模块512可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述数据处理装置均可执行上述图3所示的异常情况预测方法中第二电子设备所执行的步骤。
本申请实施例提供一种芯片,所述芯片,用于获取日志文件,所述日志文件中包括至少一条日志;以及根据与异常情况对应的关键字信息,从所述日志文件中获取至少一条目标日志;以及根据所述至少一条目标日志确定目标特征向量,所述目标特征向量用于训练异常情况预测模型。
本申请实施例提供一种芯片,所述芯片,用于获取待检测日志文件,所述待检测日志文件中包括至少一条待检测日志;以及根据所述至少一条待检测日志获取所述待检测日志文件的特征向量;以及调用预设的异常情况预测模型对所述待检测日志文件的特征向量进行处理,得到异常情况预测结果;其中,所述预设的异常情况预测模型根据目标特征向量训练得到,所述目标特征向量是根据至少一条目标日志确定的,所述至少一条目标日志是根据与异常情况对应的关键字信息从日志文件中获取的。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种数据处理方法,其特征在于,应用于第一电子设备,所述方法包括:
获取日志文件,所述日志文件中包括至少一条日志;
根据与异常情况对应的关键字信息,从所述日志文件中获取至少一条目标日志;
根据所述至少一条目标日志确定目标特征向量,所述目标特征向量用于训练异常情况预测模型;
其中,所述根据所述至少一条目标日志确定目标特征向量,包括:根据所述至少一条目标日志确定至少一个特征值;根据所述至少一个特征值确定所述目标特征向量;所述异常情况包括应用程序无响应ANR问题,所述至少一个特征值包括:用于表征系统输入输出性能的参数、用于表征系统内存状态的参数、用于表征系统中央处理器CPU负载的参数、用于表征系统图像处理器GPU性能的参数、用于表征系统服务状态的参数、用于表征应用程序主线程设计合理性的参数;所述用于表征系统输入输出性能的参数包括:用于表征t1时间内CPU的输入输出操作等待时间iowait均值的参数、用于表征t1时间内CPU小核的iowait均值的参数、用于表征t1时间内操作系统内核平均每t2时间间隔输出日志数量的参数、用于表征t1时间内操作系统平均每t2时间间隔输出日志数量的参数、用于表征t3时间内预设存储设备使用容量增长情况的参数、用于表征t3时间内系统预设存储区域使用容量增长情况的参数;t1时间和t3时间在异常情况的发生时间之前,t1时间的时长不等于t3时间的时长。
2.根据权利要求1所述的方法,其特征在于,所述用于表征系统内存的参数包括以下至少一项:
用于表征t4时间系统剩余内存容量的参数、用于表征t4时间系统交换分区剩余率的参数、用于表征t4时间内存页面错误majorfault变量值的参数、用于表征t4时间内存回收lmk工作的最小被回收优先级adj的参数、用于表征t4时间系统中预设大小内存块的数量的参数、用于表征t4时间系统内存管理器中内存消耗量的参数;
t4时间为所述发生时间。
3.根据权利要求1所述的方法,其特征在于,所述用于表征CPU负载的参数包括以下至少一项:
用于表征t5时间内CPU总负载的参数、用于表征t5时间内发生ANR的进程的CPU占用率的参数、用于表征t5时间内发生ANR的进程在第一状态CPU的占用率的参数、用于表征t5时间内发生ANR的进程在第二状态CPU的占用率的参数、用于表征t5时间内内存页交换进程kswapd0的CPU占用率的参数、用于表征t5时间内语言编译进程dex2oat的CPU占用率的参数、用于表征t5时间内第一进程的CPU占用率的参数、用于表征t1时间内CPU平均占用率的参数、用于表征t1时间内CPU小核平均占用率的参数;
所述第一进程为t5时间内CPU占用率最高的进程,t5时间在所述发生时间之前。
4.根据权利要求1所述的方法,其特征在于,所述用于表征GPU性能的参数包括:用于表征t3时间内GPU是否存在异常日志输出的参数。
5.根据权利要求1所述的方法,其特征在于,所述用于表征系统服务状态的参数包括以下至少一项:
用于表征t5时间内系统广播积压数量的参数、用于表征t5时间内系统广播处理最大耗时的参数。
6.根据权利要求1所述的方法,其特征在于,所述用于表征应用程序主线程设计合理性的参数包括以下至少一项:
用于表征t4时间发生ANR的进程的主线程的调用栈类型的参数、用于表征t5时间内系统虚拟机垃圾回收最大耗时的参数、用于表征t5时间内系统应用窗口销毁次数的参数。
7.根据权利要求1所述的方法,其特征在于,用于训练所述异常情况预测模型的单个数据包括:所述目标特征向量、与所述目标特征向量对应的分类标签。
8.根据权利要求7所述的方法,其特征在于,所述异常情况包括ANR问题,所述分类标签包括以下至少一种:系统输入输出性能不足、系统内存不足、系统中央处理器CPU负载过高、系统图像处理器GPU性能不足、系统服务阻塞、应用程序设计不合理。
9.一种异常情况预测方法,其特征在于,应用于第二电子设备,所述方法包括:
获取待检测日志文件,所述待检测日志文件中包括至少一条待检测日志;
根据所述至少一条待检测日志获取所述待检测日志文件的特征向量;
调用预设的异常情况预测模型对所述待检测日志文件的特征向量进行处理,得到异常情况预测结果;其中,所述预设的异常情况预测模型根据目标特征向量训练得到,所述目标特征向量是根据至少一条目标日志确定的,所述至少一条目标日志是根据与异常情况对应的关键字信息从日志文件中获取的;
其中,所述异常情况包括ANR问题,所述待检测日志文件的特征向量是根据以下特征值确定的:用于表征系统输入输出性能的参数、用于表征系统内存状态的参数、用于表征系统中央处理器CPU负载的参数、用于表征系统图像处理器GPU性能的参数、用于表征系统服务状态的参数、用于表征应用程序主线程设计合理性的参数;所述用于表征系统输入输出性能的参数包括:用于表征t1时间内CPU的输入输出操作等待时间iowait均值的参数、用于表征t1时间内CPU小核的iowait均值的参数、用于表征t1时间内操作系统内核平均每t2时间间隔输出日志数量的参数、用于表征t1时间内操作系统平均每t2时间间隔输出日志数量的参数、用于表征t3时间内预设存储设备使用容量增长情况的参数、用于表征t3时间内系统预设存储区域使用容量增长情况的参数;t1时间和t3时间在异常情况的发生时间之前,t1时间的时长不等于t3时间的时长。
10.一种数据处理装置,其特征在于,应用于第一电子设备,所述装置包括:第一获取单元、第二获取单元和确定单元,其中,
所述第一获取单元,用于获取日志文件,所述日志文件中包括至少一条日志;
所述第二获取单元,用于根据与异常情况对应的关键字信息,从所述日志文件中获取至少一条目标日志;
所述确定单元,用于根据所述至少一条目标日志确定目标特征向量,所述目标特征向量用于训练异常情况预测模型;
其中,所述确定单元具体用于:根据所述至少一条目标日志确定至少一个特征值;根据所述至少一个特征值确定所述目标特征向量;所述异常情况包括应用程序无响应ANR问题,所述至少一个特征值包括:用于表征系统输入输出性能的参数、用于表征系统内存状态的参数、用于表征系统中央处理器CPU负载的参数、用于表征系统图像处理器GPU性能的参数、用于表征系统服务状态的参数、用于表征应用程序主线程设计合理性的参数;所述用于表征系统输入输出性能的参数包括:用于表征t1时间内CPU的输入输出操作等待时间iowait均值的参数、用于表征t1时间内CPU小核的iowait均值的参数、用于表征t1时间内操作系统内核平均每t2时间间隔输出日志数量的参数、用于表征t1时间内操作系统平均每t2时间间隔输出日志数量的参数、用于表征t3时间内预设存储设备使用容量增长情况的参数、用于表征t3时间内系统预设存储区域使用容量增长情况的参数;t1时间和t3时间在异常情况的发生时间之前,t1时间的时长不等于t3时间的时长。
11.一种异常情况预测装置,其特征在于,应用于第二电子设备,所述装置包括:第一获取单元、第二获取单元和处理单元,其中,
所述第一获取单元,用于获取待检测日志文件,所述待检测日志文件中包括至少一条待检测日志;
所述第二获取单元,用于根据所述至少一条待检测日志获取所述待检测日志文件的特征向量;
所述处理单元,用于调用预设的异常情况预测模型对所述待检测日志文件的特征向量进行处理,得到异常情况预测结果;其中,所述预设的异常情况预测模型根据目标特征向量训练得到,所述目标特征向量是根据至少一条目标日志确定的,所述至少一条目标日志是根据与异常情况对应的关键字信息从日志文件中获取的;
其中,所述异常情况包括ANR问题,所述待检测日志文件的特征向量是根据以下特征值确定的:用于表征系统输入输出性能的参数、用于表征系统内存状态的参数、用于表征系统中央处理器CPU负载的参数、用于表征系统图像处理器GPU性能的参数、用于表征系统服务状态的参数、用于表征应用程序主线程设计合理性的参数;所述用于表征系统输入输出性能的参数包括:用于表征t1时间内CPU的输入输出操作等待时间iowait均值的参数、用于表征t1时间内CPU小核的iowait均值的参数、用于表征t1时间内操作系统内核平均每t2时间间隔输出日志数量的参数、用于表征t1时间内操作系统平均每t2时间间隔输出日志数量的参数、用于表征t3时间内预设存储设备使用容量增长情况的参数、用于表征t3时间内系统预设存储区域使用容量增长情况的参数;t1时间和t3时间在异常情况的发生时间之前,t1时间的时长不等于t3时间的时长。
12.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-9任一项所述的方法中的步骤的指令。
13.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110130634.9A CN112905399B (zh) | 2021-01-29 | 2021-01-29 | 数据处理方法、异常情况预测方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110130634.9A CN112905399B (zh) | 2021-01-29 | 2021-01-29 | 数据处理方法、异常情况预测方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905399A CN112905399A (zh) | 2021-06-04 |
CN112905399B true CN112905399B (zh) | 2023-04-07 |
Family
ID=76121682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110130634.9A Active CN112905399B (zh) | 2021-01-29 | 2021-01-29 | 数据处理方法、异常情况预测方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905399B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722479B (zh) * | 2021-08-10 | 2023-12-05 | 深圳开源互联网安全技术有限公司 | 一种日志的检测方法、装置及存储介质 |
CN115118582B (zh) * | 2022-06-15 | 2024-04-16 | 合肥移瑞通信技术有限公司 | 日志分析的方法和装置 |
CN115174557B (zh) * | 2022-07-01 | 2024-03-01 | 济南浪潮数据技术有限公司 | 一种日志下载的调度方法、装置以及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068930A (zh) * | 2015-08-07 | 2015-11-18 | 天津市康凯特软件科技有限公司 | 移动终端测试生成数据的智能分析方法及装置 |
CN106940679B (zh) * | 2017-02-23 | 2020-10-02 | 中科创达软件股份有限公司 | 数据处理方法及装置 |
CN109491860A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 应用程序的异常检测方法、终端设备及介质 |
CN109284269B (zh) * | 2018-10-17 | 2021-03-02 | Oppo广东移动通信有限公司 | 异常日志分析方法、装置、存储介质及服务器 |
CN109376056A (zh) * | 2018-10-17 | 2019-02-22 | Oppo广东移动通信有限公司 | 异常日志分析方法、装置、存储介质、移动终端及服务器 |
CN109474483A (zh) * | 2019-01-08 | 2019-03-15 | Oppo广东移动通信有限公司 | 一种设备异常情况的检测方法、检测装置及终端设备 |
-
2021
- 2021-01-29 CN CN202110130634.9A patent/CN112905399B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112905399A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905399B (zh) | 数据处理方法、异常情况预测方法及相关产品 | |
CN110287163B (zh) | 安全日志采集解析方法、装置、设备及介质 | |
CN105607986A (zh) | 用户行为日志数据采集方法及装置 | |
EP3885911A1 (en) | Method and system for tuning graphics processing unit (gpu) parameters of a gpu kernel | |
CN114095567A (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
US8010834B2 (en) | Failure information monitoring apparatus and failure information monitoring method | |
CN113190417A (zh) | 微服务状态检测方法、模型的训练方法、设备及存储介质 | |
CN108599774B (zh) | 一种压缩方法、系统、装置及计算机可读存储介质 | |
CN115145806A (zh) | 一种数据采集方法、装置、以及计算机可读存储介质 | |
CN111459682B (zh) | 频率调整方法、装置、电子设备以及存储介质 | |
CN111159009B (zh) | 一种日志服务系统的压力测试方法及装置 | |
CN110442439B (zh) | 任务进程处理方法、装置和计算机设备 | |
CN110069217B (zh) | 一种数据存储方法及装置 | |
CN113992378B (zh) | 一种安全监测方法、装置、电子设备及存储介质 | |
CN114520808A (zh) | 请求处理方法、装置、电子设备及计算机可读存储介质 | |
CN113014601A (zh) | 一种通信检测方法、装置、设备和介质 | |
CN112631577A (zh) | 一种模型的调度方法、模型调度器以及模型安全测试平台 | |
CN113051143A (zh) | 服务负载均衡服务器的探测方法、装置、设备和存储介质 | |
CN111400156A (zh) | 日志分析方法和装置 | |
CN110955579A (zh) | 一种基于Ambari的大数据平台的监测方法 | |
CN116827694B (zh) | 一种数据安全性检测方法及系统 | |
CN115858324B (zh) | 基于ai的it设备故障处理方法、装置、设备和介质 | |
US11431349B2 (en) | Method, electronic device and computer program product for processing data | |
CN113076178B (zh) | 报文存储方法、装置及设备 | |
CN108664311B (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 |