CN113051128B - 功耗检测方法、装置、电子设备及存储介质 - Google Patents
功耗检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113051128B CN113051128B CN201911382911.4A CN201911382911A CN113051128B CN 113051128 B CN113051128 B CN 113051128B CN 201911382911 A CN201911382911 A CN 201911382911A CN 113051128 B CN113051128 B CN 113051128B
- Authority
- CN
- China
- Prior art keywords
- power consumption
- data
- consumption data
- terminal
- dimension
- 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/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
- G06F11/3062—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
-
- 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)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本申请公开了一种功耗检测方法、装置、电子设备及存储介质,属于数据检测技术领域。所述方法由服务器执行,所述方法包括:接收各个终端发送的功耗数据,根据第一筛选规则,从功耗数据中选择各个目标功耗数据,各个目标功耗数据分别是功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,根据各个目标功耗数据,获取第一归一化数据,通过人工智能检测算法检测归一化数据,确定各个目标功耗数据中的异常功耗数据。本申请可以减少功耗数据的检测步骤,提高了功耗数据的检测效率。
Description
技术领域
本申请实施例涉及数据检测技术领域,特别涉及一种功耗检测方法、装置、电子设备及存储介质。
背景技术
随着科技的进步,终端中安装的应用程序越来越多,终端中各个应用程序都会对终端产生耗电情况,在终端中对各个应用程序产生的功耗进行检测是提升终端续航能力的重要方面之一。
目前,对终端中各个应用程序产生的功耗情况进行检测时,往往需要人工抓取功耗数据,并且通过人工分析数据的方式,对各个应用程序的功耗进行分析,从而实现对终端中的功耗数据的检测。比如,通过人工分析数据的方式得到前台时间阈值、占用资源时间阈值、使用频率阈值,当终端的功耗数据中的前台时间小于前台时间阈值,且占用资源时间大于占用资源时间阈值或使用频率大于使用频率阈值,则将该功耗数据确定为异常的功耗数据。
其中,对于终端各个应用程序运行时调用其他应用程序时,其他应用程序对终端的功耗该如何进行检测,目前尚未有完善的解决方案。
发明内容
本申请实施例提供了一种功耗检测方法、装置、电子设备及存储介质,可以对终端各个应用程序运行时调用其他应用程序时,其他应用程序对终端的功耗进行检测,提高功耗数据的检测效率。所述技术方案如下:
一方面,本申请实施例提供了一种功耗检测方法,所述方法由服务器执行,所述方法包括:
接收各个终端发送的功耗数据,所述功耗数据是所述各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据,其中,N为大于等于2的整数;
根据第一筛选规则,从所述功耗数据中选择各个目标功耗数据,所述各个目标功耗数据分别是所述功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,其中,第M位是前N位中的任意一个位置,所述第一类型应用程序是所述各个终端中被其他应用程序调用的应用程序;
根据所述各个目标功耗数据,获取第一归一化数据,所述第一归一化数据是所述各个目标功耗数据的归一化数据,所述第一归一化数据是按照所述各个目标功耗数据的第一数据维度,将所述各个目标功耗数据的第二数据维度进行归一化处理后得到的数据,所述第一数据维度是所述各个目标功耗数据中包含的任意一个数据维度,所述第二数据维度是所述各个目标功耗数据中包含的另一个数据维度;
通过人工智能检测算法检测所述归一化数据,确定所述各个目标功耗数据中的异常功耗数据。
另一方面,本申请实施例提供了一种功耗检测装置,所述装置用于服务器中,所述装置包括:
数据接收模块,用于接收各个终端发送的功耗数据,所述功耗数据是所述各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据,其中,N为大于等于2的整数;
第一数据选择模块,用于根据第一筛选规则,从所述功耗数据中选择各个目标功耗数据,所述各个目标功耗数据分别是所述功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,其中,第M位是前N位中的任意一个位置,所述第一类型应用程序是所述各个终端中被其他应用程序调用的应用程序;
第一数据获取模块,用于根据所述各个目标功耗数据,获取第一归一化数据,所述第一归一化数据是所述各个目标功耗数据的归一化数据,所述第一归一化数据是按照所述各个目标功耗数据的第一数据维度,将所述各个目标功耗数据的第二数据维度进行归一化处理后得到的数据,所述第一数据维度是所述各个目标功耗数据中包含的任意一个数据维度,所述第二数据维度是所述各个目标功耗数据中包含的另一个数据维度;
第一数据确定模块,用于通过人工智能检测算法检测所述归一化数据,确定所述各个目标功耗数据中的异常功耗数据。
另一方面,本申请实施例提供了一种电子设备,所述终端包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述一个方面所述的功耗检测方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述一个方面的功耗检测方法。
本申请实施例提供的技术方案可以至少包含如下有益效果:
接收各个终端发送的功耗数据,功耗数据是各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据,根据第一筛选规则,从功耗数据中选择各个目标功耗数据,各个目标功耗数据分别是功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,第一类型应用程序是各个终端中被其他应用程序调用的应用程序;根据各个目标功耗数据,获取第一归一化数据,通过人工智能检测算法检测归一化数据,确定各个目标功耗数据中的异常功耗数据。本申请通过服务器从各个终端的功耗数据中选择各个目标功耗数据,并对各个目标功耗数据进行归一化处理,结合人工智能检测算法确定异常功耗数据,减少了功耗数据的检测步骤,提高了功耗数据的检测效率。
附图说明
图1是本申请一示例性实施例提供的一种应用场景的场景示意图;
图2是本申请一示例性实施例提供的一种功耗检测方法的方法流程图;
图3是本申请一示例性实施例提供的一种功耗检测方法的方法流程图;
图4是本申请一示例性实施例涉及的一种功耗数据的频数分布示意图;
图5是本申请一示例性实施例涉及图4的一种对数变化后的功耗数据的频数分布示意图;
图6是本申请一示例性实施例涉及的一种异常功耗消息的展示界面的界面示意图;
图7是本申请一示例性实施例提供的一种功耗检测的方法流程图;
图8是本申请一示例性实施例提供的功耗检测装置的结构框图;
图9是本申请一示例性实施例提供的一种服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请提供的方案,可以用于人们在日常生活中使用终端时,需要对终端中的图像进行处理的现实场景中,为了便于理解,下面首先对本申请实施例涉及的一些名词以及应用场景进行简单介绍。
Top1结果:当存在多个结果时,一个维度上获取多个结果中最好的一个结果。比如,多个功耗数据中有各自的功耗数值,可以根据功耗数值从多个功耗数据中选择出功耗数值最大的作为Top 1结果。
TopN结果:当存在多个结果时,一个维度上获取多个结果中排在前N位的各个结果。比如,多个功耗数据中有各自的功耗数值,可以根据功耗数值从多个功耗数据中选择出功耗数值排在前N位的功耗数据作为TopN结果。
随着科学技术的发展,越来越多的终端出现在人们的日常生活中,人们可以通过终端进行工作、娱乐、学习等。另外,终端中安装的应用程序的数量也是越来越多,各个应用程序在运行时,都会在终端中产生相应的功耗数据。
请参考图1,其示出了本申请一示例性实施例提供的一种应用场景的场景示意图。如图1所示,其中包含了若干个终端110,服务器120。
可选的,终端110是安装有应用程序的终端。比如,该终端可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑、膝上型便携计算机和台式计算机等等。
可选的,服务器120可以是一台服务器,或者由若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心。
可选的,终端110与服务器120之间可以通过通信网络相连。可选的,该通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
可选的,上述终端110可以通过通信网络将自身各个应用程序的功耗数据发送给服务器120,服务器120对各个终端110的功耗数据进行检测。
为了对终端各个应用程序运行时调用其他应用程序时,其他应用程序对终端的功耗进行检测,提高功耗数据的检测效率。本申请提供了一种功耗检测方法,可以实现在不需要人工分析的情况下,对上述终端的功耗数据进行检测,完成各个终端的异常功耗数据的确定,从而提高功耗数据的检测效率。
请参考图2,其示出了本申请一示例性实施例提供的一种功耗检测方法的方法流程图。该方法可以用于图1所示的应用场景中,由该场景中的服务器执行,如图2所示,该功耗检测方法可以包括如下几个步骤。
步骤201,接收各个终端发送的功耗数据,功耗数据是各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据。
其中,N为大于等于2的整数。
可选的,本申请中提到的各个终端中可以安装有服务器对应的客户端,该客户端可以周期性的采集终端中各个应用程序的功耗数据,并将采集到的功耗数据发送给服务器,相应的,服务器可以接收各个终端发送的功耗数据。
可选的,每个终端在发送功耗数据时,可以按照终端中各个应用程序的总功耗进行排序,选择前N位的应用程序的功耗数据发送给服务器。可选的,上述周期可以是3小时、6小时、12小时、24小时、一周、一月等。
步骤202,根据第一筛选规则,从功耗数据中选择各个目标功耗数据,各个目标功耗数据分别是功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,其中,第M位是前N位中的任意一个位置,第一类型应用程序是各个终端中被其他应用程序调用的应用程序。
可选的,对于每个终端来说,终端中的各个应用程序在前台运行过程中,都可能会调用终端中的其他应用程序,且该应用程序在调用其他应用程序时,并不会将自身所调用的应用程序在前台展示出来。终端也可以相应的采集这些被调用的应用程序对终端的功耗情况。这些被调用的应用程序可以称为第一类型的应用程序。
也就是说,本步骤中,对于某个终端发送的功耗数据中,如果排在前N位中的任何一位是第一类型的应用程序,服务器可以将该终端的功耗数据作为一个目标功耗数据。比如,某个终端发送的功耗数据中,第一位是第一类型的应用程序对应的数据,第二位至第N位均为各个非第一类型的应用程序对应的数据,那么终端可以将该终端发送的功耗数据获取为一个目标功耗数据。
步骤203,根据各个目标功耗数据,获取第一归一化数据。
其中,第一归一化数据是各个目标功耗数据的归一化数据,第一归一化数据是按照各个目标功耗数据的第一数据维度,将各个目标功耗数据的第二数据维度进行归一化处理后得到的数据,第一数据维度是各个目标功耗数据中包含的任意一个数据维度,第二数据维度是各个目标功耗数据中包含的另一个数据维度。
可选的,本申请实施例中的每个目标功耗数据可以有至少两个维度,比如,对于其中一个目标功耗数据来说,该目标功耗数据可以包含N条功耗数据,每条功耗数据可以包含总功耗维度,屏幕功耗维度,CPU(Central Processing Unit,中央处理器)功耗维度,CPU时间等。其中,总功耗可以是一段时间内,该条功耗数据对应的应用程序在终端中运行时,应用程序对终端消耗的总功率,屏幕功耗可以是该应用程序在终端中运行时,显示屏对终端消耗的功率,CPU功耗可以是该应用程序在终端中运行时,CPU对终端消耗的功率,CPU时间可以是该应用程序在终端中运行时,CPU在终端中的工作时间。可选的,该一段时间可以由服务器和终端中的客户端预先设定。即,对于每个终端发送的目标功耗数据中,任何一个位置上的功耗数据,都可以描述该位置对应的应用程序在终端中运行时对终端的耗电情况。
可选的,服务器可以按照其中任意一个数据维度,将该目标功耗数据的其他一个数据维度进行归一化处理。比如,按照CPU时间维度作为第一数据维度,将其他三个维度均分别进行归一化处理,得到各个维度各自的归一化数据。本申请实施例对此并不加以限定。
步骤204,通过人工智能检测算法检测归一化数据,确定各个目标功耗数据中的异常功耗数据。
综上所述,接收各个终端发送的功耗数据,功耗数据是各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据,根据第一筛选规则,从功耗数据中选择各个目标功耗数据,各个目标功耗数据分别是功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,第一类型应用程序是各个终端中被其他应用程序调用的应用程序;根据各个目标功耗数据,获取第一归一化数据,通过人工智能检测算法检测归一化数据,确定各个目标功耗数据中的异常功耗数据。本申请通过服务器从各个终端的功耗数据中选择各个目标功耗数据,并对各个目标功耗数据进行归一化处理,结合人工智能检测算法确定异常功耗数据,减少了功耗数据的检测步骤,提高了功耗数据的检测效率。
在一种可能实现的方式中,上述各个目标功耗数据各自的数据维度中包含有前台时间,该前台时间用于指示各个终端各自的应用程序在各个终端中前台运行的时间。以服务器获取第一归一化数据时,采用的第一数据维度是前台时间为例,对上述方法实施例进行举例介绍。
请参考图3,其示出了本申请一示例性实施例提供的一种功耗检测方法的方法流程图。该方法可以用于上述图1所示的应用场景中,由该场景中的服务器执行,如图3所示,该功耗检测方法可以包括如下几个步骤。
步骤301,接收各个终端发送的功耗数据。
其中,功耗数据是各个终端各自在一个周期内总功耗在前N位的应用程序的数据,N为大于等于1的整数。
可选的,本申请中提到的各个终端中可以安装有服务器对应的客户端,该客户端可以周期性的采集终端中各个应用程序的功耗数据,并将采集到的功耗数据发送给服务器,从而使得服务器接收到采集到的功耗数据。或者,服务器也可以周期性地向客户端请求获取功耗数据,客户端接收到服务器的请求后,将自身采集到的数据发送给服务器。比如,服务器可以向客户端发送数据获取请求,该数据获取请求用于获取终端中在某个时间段内总功耗在前N位的各个应用程序的功耗数据,客户端接收到该请求后,可以将总功耗在前N位的应用程序的功耗数据发送给服务器。本申请实施例对服务器如何接收功耗数据的方式并不加以限定。
可选的,上述周期可以是3小时、6小时、12小时、24小时、一周、一月等。比如,以周期是24小时,N为10为例,服务器可以每隔24小时,获取各个终端在该周期内总功耗在前10位的应用程序的功耗数据。对于终端一来说,在该周期内,总功耗在前10位的应用程序可能是应用程序一,应用程序二,应用程序三……应用程序九,应用程序十等十个应用程序,而对应终端二来说,总功耗在前10位的应用程序可能是应用程序A,应用程序B,应用程序C……应用程序I,应用程序J等十个应用程序。即,在终端一中和终端二中各自总功耗在前10位的应用程序可以相同也可以不同。其中,服务器可以接收安装有对应客户端的各个终端发送的在24小时对各个终端自身的总功耗在Top10的应用程序的功耗数据。
步骤302,统计当前周期内各个应用程序在各个终端中的出现次数。
可选的,服务器可以对上述得到的功耗数据按照各个应用程序的应用名称进行统计,得到各个应用程序在各个终端中的出现次数。即,如果将服务器接收到的一次周期内各个终端发送的功耗数据看做是样本数据,那么,本步骤可以看做是对样本数据进行统计,得到各个应用程序在各个样本数据中出现的次数。
可选的,终端的客户端向服务器发送的功耗数据中,可以包含前N位的应用程序的应用名称,服务器可以获取到各个功耗数据中的各个应用名称,按照各个应用名称对这些功耗数据进行统计。比如,服务器在某个周期内获取到的功耗数据中包含有聊天程序一,听歌程序一等应用名称,服务器可以统计聊天程序一,听歌程序一等应用名称的应用程序在各个终端的功耗数据中的出现次数。
在一种可能实现的方式中,10万个终端向服务器在该周期内上报前N位的应用程序的功耗数据中有聊天程序一的功耗数据,8万个终端向服务器在该周期内上报前N位的应用程序的功耗数据中有听歌程序一的功耗数据,那么,此处服务器可以统计出聊天程序一,听歌程序一分别在各个终端中的出现次数分别为10万次和8万次。
步骤303,将出现次数在前K位的应用程序,确定为第一应用程序。
其中,K为大于等于1的整数。
可选的,服务器在上述完成按照各个应用程序的应用名称对各个应用程序的出现次数统计之后,服务器可以选择各个应用程序中出现次数排在前K为的应用程序,将前K位的应用程序作为目标应用程序。例如,服务器可以将该周期内的样本数据中出现次数在前100位的100个应用程序都确定为目标应用程序。也就是说,本申请实施例中,服务器可以主动对出现次数在前100位的各个应用程序的功耗数据进行异常检测。
步骤304,根据第一应用程序的应用名称,获取各个第一功耗数据。
其中,各个第一功耗数据用于描述第一应用程序在各个终端中运行时各个终端的耗电情况。
可选的,服务器通过上述步骤确定出各个第一应用程序之后,可以按照出现次数从高到低的顺序,依次获取其中每个第一应用程序的应用名称,通过第一应用程序的应用名称,获取各个第一功耗数据。或者,服务器也可以随机从前K位的应用程序中选择一个第一应用程序,根据该第一应用程序的应用名称,获取该第一应用程序出现在各个终端中对应的各个第一功耗数据。或者,服务器也可以按照出现次数从低到高的顺序,依次获取其中每个第一应用程序的应用名称,通过第一应用程序的应用名称,获取各个第一功耗数据。本申请实施例对服务器获取各个第一应用程序的方式并不加以限定。
可选的,一个第一功耗数据可以描述第一应用程序在一个终端中运行时该终端多个部分的耗电情况。
比如,请参考表1,其示出了本申请实施例涉及的一种第一功耗数据的示意表。
终端 | 应用程序 | 前台时间 | 总功耗 | 屏幕功耗 | …… |
终端一 | 应用程序一 | 5小时 | 2瓦特 | 0.5瓦特 | …… |
终端二 | 应用程序一 | 4小时 | 1瓦特 | 0.3瓦特 | …… |
表1
如表1所示,其中包含了终端名称,应用程序名称,前台时间,总功耗,屏幕功耗等组成的一条第一功耗数据。其中,每行数据都可以是服务器获取的一个第一功耗数据,即,如果服务器根据应用程序一的应用名称获取各个第一功耗数据时,服务器获取的各个第一功耗数据中可以包含上述表1所示的数据。其中,前台时间表示应用程序一在该周期内,在终端一中的前台运行的总时间;总功耗表示应用程序一在该周期内,在终端一中运行过程中对终端的总功耗;屏幕功耗表示应用程序一在该周期内,在终端一中运行过程中终端一的屏幕模组对终端一的功耗。
可选的,上述每个第一功耗数据中还可以包含对应的第一应用程序在自身的终端中运行时,该终端的CPU功耗、CPU时间、WiFi(Wireless-Fidelity,无线保真)功耗、WiFi后台功耗、WiFi流量、数据网络功耗、数据网络后台功耗、唤醒锁(Wakelock)功耗、GPS(GlobalPositioning System,全球定位系统)功耗、GPS使用时间、GPS后台使用时间、传感器(Sensor)功耗、传感器使用时间、相机(Camera)功耗、相机使用时间等多方面的功耗情况,本申请实施例对此并不加以限定。
其中,CPU时间可以表示应用程序一在该周期内,在终端一中运行时终端CPU的工作时间;WiFi功耗可以表示应用程序一在该周期内,在终端一中前台运行时终端的WiFi模组对终端的功耗;WiFi后台功耗可以表示应用程序一在该周期内,在终端一中后台运行时终端的WiFi模组对终端的功耗;WiFi流量可以表示应用程序一在该周期内,在终端一中运行时消耗的WiFi流量;数据网络功耗可以表示应用程序一在该周期内,在终端一中前台运行时数据网络对终端的功耗;数据网络后台功耗可以表示应用程序一在该周期内,在终端一中后台运行时数据网络对终端的功耗;唤醒锁功耗可以表示应用程序一在该周期内,在终端一中运行时终端的唤醒锁对终端的功耗;GPS功耗可以表示应用程序一在该周期内,在终端一中运行时终端的GPS模组对终端的功耗;GPS使用时间可以表示应用程序一在该周期内,在终端一中前台运行时终端的GPS模组的工作时间;GPS后台使用时间可以表示应用程序一在该周期内,在终端一中后台运行时终端的GPS模组的工作时间;传感器功耗可以表示应用程序一在该周期内,在终端一中运行时终端的传感器模组对终端的功耗;传感器使用时间可以表示应用程序一在该周期内,在终端一中运行时终端的传感器模组的工作时间;相机功耗可以表示应用程序一在该周期内,在终端一中运行时终端的相机模组对终端的功耗;相机使用时间可以表示应用程序一在该周期内,在终端一中运行时终端的相机模组的工作时间。
上述各个维度的数据都可以反应应用程序一在某个终端中运行时,应用程序一对该终端的功耗情况,相应的,终端中的客户端可以获取这些功耗数据,并发送给服务器。可选的,各个维度的数量可以有客户端或者服务器的开发人员预先设定,本申请实施例对此并不加以限定。
服务器根据第一应用程序的应用名称,从接收到的功耗数据中查找该第一应用程序对应的功耗数据,从而得到各个第一功耗数据。
步骤305,根据各个第一功耗数据,获取第二归一化数据。
其中,第二归一化数据是各个第一功耗数据的归一化数据,第二归一化数据是按照各个第一功耗数据的第三数据维度,将各个第一功耗数据的第四数据维度进行归一化处理后得到的数据,第三数据维度是各个第一功耗数据中包含的任意一个数据维度,第四数据维度是各个第一功耗数据中包含的另一个数据维度。
由于第一功耗数据中也是终端发送的功耗数据,因此该第一功耗数据和上述目标功耗数据中各条功耗数据类似,也拥有各个数据维度,并且各个数据维度有对应的数值。可选的,各个第一功耗数据的数据维度与目标功耗数据中的各条功耗数据的维度相同,也可以包含前台时间,上述第三数据维度是前台时间,前台时间便可以指示第一应用程序在各个终端中前台运行的时间。
在一种可能实现的方式中,服务器还可以获取各个第一功耗数据中各自第四数据维度对应的数值分别与各自第三数据维度对应的数值的比值。
在一种可能实现的方式中,如上述表1所示,各个第一功耗数据中包含前台时间,本步骤中可以选择前台时间作为第三数据维度,即,第三数据维度是前台时间,前台时间用于指示第一应用程序在各个终端中前台运行的时间。本步骤还可以选择屏幕功耗作为第四数据维度,即,第四数据维度与第三数据维度不同。
可选的,对于第一应用程序是应用程序一来说,服务器可以根据上述表1计算得到各个终端各自在前台运行应用程序一时,单位前台时间内终端的显示屏对终端的功耗。比如,服务器根据表1的第一行数据计算得到的比值是10-2(保留原第四数据维度作为该比值的量纲),该比值可以描述单位前台时间内,终端一运行应用程序一时显示屏对自身的功耗大小。依次类推,服务器可以获取到接收的功耗数据中包含有应用程序一的各个终端的屏幕功耗与前台时间的比值,此处不再赘述。
可选的,服务器在对一个第四数据维度执行完上述计算之后,还可以自动改变第四数据维度,即,服务器可以将除第三数据维度之外的其他各个数据维度依次获取,并将其他各个数据维度依次作为第四数据维度,并对各个第四数据维度依次计算与第三数据维度(前台时间)之间的比值,从而得到单位时间内,终端运行第一应用程序时第三数据维度对应的硬件设备对自身的功耗大小,本申请实施例对此并不加以限定。
需要说明的是,本步骤中采用前台时间作为第三数据维度也是示例性的,也可以采用上述提到的其他数据维度作为第三数据维度,选取除第三数据维度之外的其他一个数据维度作为第四数据维度,也可以得到第四数据维度与第三数据维度之间的比值,从而完成数据的归一化处理。
可选的,由于终端发送的功耗数据中,可能包含第一类型应用程序的功耗数据,第一类型应用程序是各个终端中不具有前台显示界面的应用程序,即终端对该类应用程序采集的功耗数据中,前台时间为0,如果按照上述方式直接比值的话,可能存在分母出现0的情况,可选的,服务器可以将各个功耗数据中的第一类型应用程序的前台时间替换为预设时间。可选的,该预设时间可以是上述的周期时间,比如,终端每隔24小时向服务器发送一份功耗数据,服务器可以将该类应用程序的前台时间统一按照24小时进行计算,从而得到各个比值,完成数据的归一化处理。
可选的,以上述终端以手机为例,第一类型应用程序可以是手机中用户身份标识(User Identification,UID)为0或者1000的应用程序。即,本申请方案可以对手机中UID为0或者1000的应用程序的总耗电量排在前N位时,并且前N位的耗电数据是其它类型的应用程序的耗电数据,服务器可以测试该手机中在本周期内,UID为0或者1000的应用程序对该手机的耗电情况。
可选的,服务器可以将上述得到的各个比值,获取为第二归一化数据。可选的,本申请实施例中,服务器可以将上述按照一个第三数据维度和一个第四数据维度进行处理后得到的各个比值,作为一组第二归一化数据。即,服务器可以按照不同的第三数据维度和不同的第四数据维度,得到多组第二归一化数据,本申请实施例对此并不加以限定。
请参考表2,其示出了本申请一示例性实施例涉及的一种第二归一化数据的示意表。
终端 | 第二归一化数据一 | 第二归一化数据二 |
终端一 | 0.01 | 0.1 |
终端二 | 0.0012 | 0.047 |
终端三 | 0.024 | 0.0046 |
…… | …… | …… |
表2
如表2所示,其中包含了终端名称,各组第二归一化数据。其中,每个第二归一化数据都代表一个第四数据维度与第三数据维度之间的比值关系。比如,表2中第二归一化数据一可以代表上述屏幕功耗与前台时间之间的比值关系,第二归一化数据二可以代表CPU功耗与前台时间之间的比值关系。可选的,服务器也可以对各个第二归一化数据生成唯一对应的编号,从而标识第四数据维度与第三数据维度之间的比值关系。比如,对表2中第二归一化数据一生成编号一,对第二归一化数据二生成编号二等。
在一种可能实现的方式中,服务器可以对上述第二归一化数据进行对数变化处理。可选的,服务器可以对得到的第二归一化数据采用log的对数变化处理。请参考图4,其示出了本申请一示例性实施例涉及的一种功耗数据的频数分布示意图。如图4所示,其中包含了各个取值区间对应的频数。其中,取值区间可以由开发人员预先设定。
可选的,对于上述获取的任意一组第二归一化数据,服务器可以判断第二归一化数据中的每个数据处于哪个取值区间,从而将该数据的终端算作在该取值区间内,最终得到每个取值区间内对应的各个终端的数量,从而可以得到上述图4。比如,以取值区间为0.02间距为例,在0.1至0.12的取值区间内,如果有5000个终端的第二归一化数据位于该取值区间内,那么,0.1至0.12对应的频数便是5000。
为了去除第二归一化数据中的拖尾现象(即,第二归一化数据中的数据过大或者过小的现象,),服务器可以对第二归一化数据进行对数变换处理。可选的,本申请实施例中采用以10为底数的log变化处理。请参考图5,其示出了本申请一示例性实施例涉及图4的一种对数变化后的功耗数据的频数分布示意图。如图5所示,其中包含了各个取值区间。其中,各个取值区间对应的频数是按照log变化后的第二归一化数据进行统计的。比如,某个第二归一化数据的值为0.1,在图4中处于0.1至0.12区间内,而在图5中,则处于-1至-0.9区间内,服务器可以将该第二归一化数据对应的终端计算在-1至-0.9的取值区间内。
步骤306,根据第二归一化数据以及标准差准则,获取异常检测阈值。
可选的,服务器可以计算第二归一化数据的平均值和标准差,并获取平均值与X倍的标准差之间的求和结果。其中,X为大于等于1的整数。
即,服务器可以对对数变化后的第二归一化数据计算其平均值和标准差,以及服务器可以对平均值与X倍的标准差进行求和。可选的,服务器可以根据第二归一化数据中使用的第三数据维度以及第四数据维度,获取X的数值。在一种可能实现的方式中,X的取值与第二归一化数据中的第三数据维度和第四数据维度有关,比如,对于上述按照前台时间作为第三数据维度,屏幕功耗作为第四数据维度,本步骤中的X=3,如果按照前台时间作为第三数据维度,CPU功耗作为第四数据维度,本步骤中的X=4,如果按照前台时间作为第三数据维度,总功耗作为第四数据维度,本步骤中的X=2等等。
在一种可能实现的方式中,服务器可以将上述得到的各个维度各自的归一化数据,按照不同的标准差准则,获取各个维度的异常检测阈值。比如,以第三数据维度是CPU时间维度,第四数据维度是屏幕功耗维度,此时,服务器可以得到一组第二归一化数据,服务器可以根据第四数据维度对应的标准差准则,获取异常检测阈值。
请参考表3,其示出了本申请实施例涉及的一种标准差准则的对应关系表。
第二数据维度 | 标准差准则 |
维度一 | 标准差准则一 |
维度二 | 标准差准则二 |
维度三 | 标准差准则三 |
…… | …… |
表3
如表3所示,其中包含了各个第四数据维度与标准差准则之间的对应关系。当得到的第二归一化数据中的第四数据维度是维度二时,服务器可以根据上述表3得到此时需要采用的标准差准则是标准差准则二,可以按照该归一化数据以及对应的标准差准则二获取对应的异常检测阈值。
在一种可能实现的方式中,服务器对各组第二归一化数据进行编号后,服务器可以根据各组第二归一化数据的编号,获取本步骤中X的值。比如,服务器中可以存储有第二归一化数据的编号与X之间的对应关系表。服务器在得到上述各组第二归一化数据之后,按照各组第二归一化数据各自的编号查询编号与X之间的对应关系表,从而得到对应的X值。
请参考表4,其示出了本申请实施例涉及的一种第二归一化数据的编号与X之间的对应关系表。
编号 | X |
0001 | 2 |
0002 | 4 |
0003 | 3 |
…… | …… |
表4
如表4所示,服务器可以根据编号为0003,通过查询表4,得到X=3。服务器对编号0003的那组第二归一化数据按照上述对数变化处理,并计算对数变化处理后的平均值以及标准差之后,在本步骤中获取该组第二归一化数据的平均值和3倍标准差之和。
可选的,服务器可以平均值与X倍的标准差之间的求和结果获取为异常检测阈值。
即,服务器将获取到的求和结果,作为对应的第四数据维度的检测阈值。服务器可以根据该求和结果,检测各个终端中第四数据维度的数据是否是异常数据。
步骤307,将第二归一化数据中大于异常检测阈值的数据,确定为各个目标功耗数据中的异常功耗数据。
可选的,服务器可以将一组第二归一化数据中的各个第二归一化数据与该组第二归一化数据的异常检测阈值进行比较,将其中大于该异常检测阈值的第二归一化数据,确定为异常功耗数据。
比如,上述目标应用程序是应用程序一,服务器得到上述表1所示的各个第一功耗数据,服务器将其中的前台时间作为第三数据维度,将屏幕功耗作为第四数据维度,得到了一组第二归一化数据,并对该第二归一化数据进行了对数变化处理。服务器根据前台时间和屏幕功耗获取到X数值后,通过上述计算得到一个异常检测阈值。服务器可以将该组第二归一化数据中的各个第二归一化数据与该异常检测阈值进行比较,将其中大于异常检测阈值的数据确定为对应终端的目标功耗数据的异常功耗数据。例如,该组第二归一化数据中,终端二的第二归一化数据大于该异常检测阈值,服务器可以将终端二的该第二归一化数据确定为终端二在运行应用程序一时的异常功耗数据。
步骤308,根据第二筛选规则,从功耗数据中选择各个第二功耗数据,各个第二功耗数据分别是功耗数据中各个终端各自前N位的应用程序的数据中均无异常的功耗数据。
比如,终端一给服务器发送了一个功耗数据,服务器在执行完上述各个步骤后,终端一的功耗数据中各自前N位的应用程序的数据中均无异常的功耗数据,此时,服务器可以将该终端一的功耗数据获取为一个第二功耗数据。例如,终端一发送了自身前10位的应用程序的数据,服务器按照上述方式检测这10个应用程序的功耗数据均正常,该终端一的功耗数据即为一个第二功耗数据。
即,第二筛选规则可以是,经过上述计算得到的各个维度的检测阈值对该终端一中各个应用程序的各个维度的数据进行检测后,发现该终端一发送的前N位的应用程序的功耗数据对应各个维度的数值均不大于各个维度的检测阈值。
步骤309,根据第一筛选规则,从各个第二功耗数据中选择各个目标功耗数据。
其中,各个目标功耗数据分别是功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,其中,第M位是前N位中的任意一个位置,第一类型应用程序是各个终端中被其他应用程序调用的应用程序。
即,上述各个第二功耗数据中,某个终端的前N为中有一个位置对应的应用程序是第一类型应用程序,其它位置对应的应用程序都是非第一类型应用程序,服务器可以将该终端的第二功耗数据获取为一个目标功耗数据。
即,第一筛选规则可以是,终端发送的前N位的应用程序的功耗数据中,某个位置的应用程序是第一类型应用程序,其余各个维度位置对应的应用程序都是非第一类型应用程序。
步骤310,根据各个目标功耗数据,获取各个目标功耗数据对应的第二归一化数据,将各个目标功耗数据对应的第二归一化数据获取为第一归一化数据。
可选的,服务器可以根据上述计算的各组第二归一化数据,得到通过上述第一筛选规则得到的各个目标功耗数据的第二归一化数据,将得到的第二归一化数据获取为第一归一化数据。
在一种可能实现的方式中,服务器也可以按照上述步骤305中的相关描述,对各个目标功耗数据直接进行归一化处理,得到第一归一化数据,此处不再赘述。
步骤311,通过人工智能检测算法检测第一归一化数据,确定各个目标功耗数据中的异常功耗数据。
可选的,人工智能检测算法可以是开发人员预先设置在服务器中的,并用于对上述得到的第一归一化数据进行检测,确定出其中的异常功耗数据。
比如,此处的人工智能检测算法可以是孤立森林算法,局部离群因子算法,密度聚类算法等中的任意一种。
可选的,此处以孤立森林算法进行举例,例如,服务器可以随机选择第一归一化数据中第五数据维度,其中,第五数据维度是第一归一化数据中包含的任意一个数据维度。服务器再针对该第五数据维度随机选择一个Value阈值,根据第五数据维度对所有第一归一化数据进行分类,把第一归一化数据中第五数据维度对应的数值小于Value阈值的第一归一化数据放在第一数据集合中,把第一归一化数据中第五数据维度对应的数值大于等于Value阈值的第一归一化数据放在第二数据集合中。
服务器可以对第一归一化数据中包含的各个数据维度进行递归,构造出第一归一化数据中包含的各个数据维度各种对应的第一数据集合和第二数据集合,直到满足预设条件,从而形成一个随机二叉树。其中,该预设条件可以是:只剩下一个第一归一化数据或者多个一样的第一归一化数据,或者,树的高度达到了限定高度。
服务器可以计算上述随机二叉树中,各个叶子节点到根节点的路径长度,从而确定其中的第一归一化数据的某个维度的数据是否是异常功耗数据,将该异常功耗数据确定上述得到的各个目标功耗数据中的异常功耗数据。
可选的,当确定出各个目标功耗数据中的异常功耗数据后,服务器还可以将第一类型应用程序确定为原因维度,原因维度用于描述异常功耗数据的原因;根据异常功耗数据以及原因维度,生成异常功耗消息;将异常功耗消息发送给异常功耗数据对应的终端。
比如,终端一发送给服务器的功耗数据中,在前N位的第一位对应的应用程序是第一类型应用程序,该第一类型应用程序是UID号为0的应用程序,其余位置都是非第一类型应用程序,服务器在对该终端一的功耗数据执行上述步骤后,在本步骤中发现该终端的功耗数据存在异常,服务器可以将原因维度确定在UID号为0的应用程序在运行时造成终端的耗电异常。
请参考图6,其示出了本申请一示例性实施例涉及的一种异常功耗消息的展示界面的界面示意图。如图6所示,在终端界面600中包含了采集周期601,异常原因602。用户可以通过图6所示的界面查看终端中各个应用程序在不同的采集周期下功耗异常的原因。
综上所述,接收各个终端发送的功耗数据,功耗数据是各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据,根据第一筛选规则,从功耗数据中选择各个目标功耗数据,各个目标功耗数据分别是功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,第一类型应用程序是各个终端中被其他应用程序调用的应用程序;根据各个目标功耗数据,获取第一归一化数据,通过人工智能检测算法检测归一化数据,确定各个目标功耗数据中的异常功耗数据。本申请通过服务器从各个终端的功耗数据中选择各个目标功耗数据,并对各个目标功耗数据进行归一化处理,结合人工智能检测算法确定异常功耗数据,减少了功耗数据的检测步骤,提高了功耗数据的检测效率。
另外,本申请依据大数据原理得到异常检测阈值对功耗数据进行检测的同时,还给出了功耗数据异常时的原因维度,也提高了对功耗数据异常的原因定位的效率。
在一种可能实现的方式中,对于上述步骤307的执行结果,服务器也可以将上述第四数据维度获取为异常功耗数据的原因维度,该原因维度用于描述异常功耗数据的原因。即,服务器确定出一个异常功耗数据,可以将该异常功耗数据进行归一化处理时采用的第四数据维度作为原因维度,从而描述此次异常功耗数据的原因。比如,对于上述将前台时间作为第三数据维度,将屏幕功耗作为第四数据维度得到的一组第二归一化数据,服务器根据步骤307得到其中的异常功耗数据后,可以将屏幕功耗作为此次异常功耗数据的原因。即,说明终端在前台运行应用程序一时,异常功耗数据的异常情况是由屏幕功耗异常导致的。
在一种可能实现的方式中,服务器还可以根据异常功耗数据以及原因维度,生成上述类似的异常功耗消息,并将异常功耗消息发送给异常功耗数据对应的终端。比如,服务器可以按照预设格式生成异常功耗消息,并将该异常功耗消息发送给客户端。可选的,该预设格式可以是提前设置在服务器中的。可选的,终端的客户端中设置有异常功耗消息提醒功能,用户激活该提醒功能后,客户端可以将异常功耗消息展示在终端中。
在一种可能实现的方式中,对于上述步骤307的检测过程,服务器还可以根据各个历史周期的功耗数据对异常检测阈值进行修正;按照修正后的异常检测阈值对接收到的下一周期内各个终端发送的功耗数据进行检测,下一周期是当前周期的下一个周期。
比如,为了提高异常检测阈值的准确性,服务器还可以将前5个周期的功耗数据与当前周期内获取到的功耗数据一起作为数据样本,以增加数据量。并对这些周期组合的数据样本按照上述方式进行处理,得到一个异常检测阈值,将按照当前周期内的功耗数据按照上述方式得到的异常检测阈值进行替换,后续按照该异常检测阈值进行检测。
可选的,为了减少服务器的计算量,服务器可以将此次得到的异常检测阈值作为下一周期的功耗数据的异常检测阈值。即,对于下一周期,服务器接收到各个终端发送的功耗数据后,可以根据各个终端各自的功耗数据与该异常检测阈值进行比较,确定出其中的异常功耗数据。比如,对于本申请实施例中,当前周期下,服务器对应用程序一的目标功耗数据进行步骤305至步骤310后,得到了在屏幕功耗与前台时间进行归一化时的异常检测阈值A,那么,如果在下一周期内,某个终端中有应用程序一的功耗数据,服务器可以根据该功耗数据中的屏幕功耗与前台时间进行归一化以及对数变化处理后得到一个数据,将该数据直接与异常检测阈值A进行比较,如果该数据大于异常检测阈值A,则将该数据确定为异常功耗数据。
需要说明的是,本申请实施例还可以根据不同的终端型号对各个目标功耗数据进行分类,从而使得服务器可以对同一型号的终端的功耗数据进行异常功耗检测,实现对同一型号的终端异常功耗检测。
以下是以服务器与终端之间的交互,对上述本申请实施例提供的功耗检测方法进行举例说明。请参考图7,其示出了本申请一示例性实施例提供的一种功耗检测的方法流程图。该方法可以用于图1所示的应用场景中,由该场景中的服务器以及终端执行,如图7所示,该功耗检测方法可以包括如下几个步骤。
步骤701,终端周期性的采集当前周期内总功耗在Top10的应用程序的功耗数据。
即,终端可以周期性的采集一个周期内,总功耗在前10位的各个应用程序的功耗数据。
步骤702,终端周期性地将采集到的功耗数据发送给服务器。
相应的,服务器接收终端发送的功耗数据。可选的,本步骤中的实现方式可以参照上步骤301中的描述,此处不再赘述。
步骤703,服务器对非第一类型的应用程序进行检测,确定是否有异常数据。
可选的,服务器可以按照应用程序的应用名称对功耗数据进行处理,服务器确定出现次数在Top100的各个应用程序,服务器按照每个应用程序的应用名称获取对应的功耗数据并进行归一化处理,服务器对归一化后的数据进行对数变化处理,服务器根据对数变化后的归一化数据以及三倍标准差准则,确定异常检测阈值,服务器根据异常检测阈值获取异常功耗数据。
步骤704,服务器通过人工智能检测算法检测终端的功耗数据。
步骤705,服务器生成异常功耗消息。
步骤706,服务器将异常功耗消息发送给终端。
相应的,终端接收服务器发送的功耗异常消息。
综上所述,服务器接收终端发送的功耗数据,功耗数据是终端在一个周期内采集的总功耗在各个应用程序中排在前N位的应用程序的数据,根据第一筛选规则,筛选该功耗数据,当通过筛选时,服务器可以通过人工智能检测算法检测功耗数据,确定功耗数据中的异常功耗数据。本申请在服务器结合人工智能检测算法确定异常功耗数据,减少了功耗数据的检测步骤,提高了功耗数据的检测效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图8,其示出了本申请一示例性实施例提供的功耗检测装置的结构框图。该功耗检测装置可以用于服务器中,以执行图2,图3或者图7所示实施例提供的方法中由服务器执行的全部或者部分步骤。
该功耗检测装置可以包括:
数据接收模块801,用于接收各个终端发送的功耗数据,所述功耗数据是所述各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据,其中,N为大于等于2的整数;
第一数据选择模块802,用于根据第一筛选规则,从所述功耗数据中选择各个目标功耗数据,所述各个目标功耗数据分别是所述功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,其中,第M位是前N位中的任意一个位置,所述第一类型应用程序是所述各个终端中被其他应用程序调用的应用程序;
第一数据获取模块803,用于根据所述各个目标功耗数据,获取第一归一化数据,所述第一归一化数据是所述各个目标功耗数据的归一化数据,所述第一归一化数据是按照所述各个目标功耗数据的第一数据维度,将所述各个目标功耗数据的第二数据维度进行归一化处理后得到的数据,所述第一数据维度是所述各个目标功耗数据中包含的任意一个数据维度,所述第二数据维度是所述各个目标功耗数据中包含的另一个数据维度;
第一数据确定模块804,用于通过人工智能检测算法检测所述第一归一化数据,确定所述各个目标功耗数据中的异常功耗数据。
综上所述,接收各个终端发送的功耗数据,功耗数据是各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据,根据第一筛选规则,从功耗数据中选择各个目标功耗数据,各个目标功耗数据分别是功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,第一类型应用程序是各个终端中被其他应用程序调用的应用程序;根据各个目标功耗数据,获取第一归一化数据,通过人工智能检测算法检测归一化数据,确定各个目标功耗数据中的异常功耗数据。本申请通过服务器从各个终端的功耗数据中选择各个目标功耗数据,并对各个目标功耗数据进行归一化处理,结合人工智能检测算法确定异常功耗数据,减少了功耗数据的检测步骤,提高了功耗数据的检测效率。
可选的,所述各个目标功耗数据中包含前台时间,所述第一数据维度是所述前台时间,所述前台时间用于指示所述各个终端各自的应用程序在所述各个终端中前台运行的时间。
可选的,所述第一类型应用程序是所述各个终端中不具有前台显示界面的应用程序,所述方法还包括:
替换模块,用于将所述各个目标功耗数据中的所述第一类型应用程序的前台时间替换为预设时间。
可选的,所述装置还包括:
第二数据获取模块,用于在所述第一数据选择模块802根据第一筛选规则,从所述功耗数据中选择各个目标功耗数据之前,根据第一应用程序的应用名称,获取各个第一功耗数据,所述各个第一功耗数据用于描述所述第一应用程序在各个终端中运行时所述各个终端的耗电情况;
第三数据获取模块,用于根据所述各个第一功耗数据,获取第二归一化数据,所述第二归一化数据是所述各个第一功耗数据的归一化数据,所述第二归一化数据是按照所述各个第一功耗数据的第三数据维度,将所述各个第一功耗数据的第四数据维度进行归一化处理后得到的数据,所述第三数据维度是所述各个第一功耗数据中包含的任意一个数据维度,所述第四数据维度是所述各个第一功耗数据中包含的另一个数据维度;
阈值获取模块,用于根据所述第二归一化数据以及标准差准则,获取异常检测阈值;
第二数据确定模块,用于将所述归一化数据中大于所述异常检测阈值的数据,确定为所述各个第一功耗数据中的异常功耗数据。
可选的,所述装置还包括:
第二数据选择模块,用于根据第二筛选规则,从所述功耗数据中选择各个第二功耗数据,所述各个第二功耗数据分别是所述功耗数据中所述各个终端各自前N位的应用程序的数据中均无异常的功耗数据;
所述第一数据选择模块802,用于根据所述第一筛选规则,从所述各个第二功耗数据中选择所述各个目标功耗数据。
可选的,所述各个第一功耗数据中包含前台时间,所述第三数据维度是所述前台时间,所述前台时间用于指示所述第一应用程序在所述各个终端中前台运行的时间,所述第一数据获取模块803,用于根据所述各个目标功耗数据,获取所述各个目标功耗数据对应的第二归一化数据,将所述各个目标功耗数据对应的第二归一化数据获取为所述第一归一化数据。
可选的,所述装置还包括:
维度确定模块,用于当确定出所述各个目标功耗数据中的异常功耗数据后,将所述第一类型应用程序确定为原因维度,所述原因维度用于描述所述异常功耗数据的原因;
消息生成模块,用于根据所述异常功耗数据以及所述原因维度,生成异常功耗消息;
消息发送模块,用于将所述异常功耗消息发送给所述异常功耗数据对应的终端。
可选的,所述第一类型应用程序是所述各个终端中用户身份标识UID为0或者1000的应用程序。
图9是本申请一示例性实施例提供的一种服务器的结构示意图。如图9所示,服务器900包括中央处理单元(Central Processing Unit,CPU)901、包括随机存取存储器(Random Access Memory,RAM)902和只读存储器(Read Only Memory,ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述计算机设备900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/OutputSystem,I/O系统)906,和用于存储操作系统912、应用程序913和其他程序模块914的大容量存储设备907。
所述基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中所述显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。所述基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读介质为计算机设备900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,带电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
计算机设备900可以通过连接在所述系统总线905上的网络接口单元911连接到互联网或者其他网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理单元901通过执行该一个或一个以上程序来实现本申请上述各个实施例提供的方法中,由服务器执行的全部或者部分步骤。
本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上各个实施例所述的功耗检测方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的功耗检测方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种功耗检测方法,其特征在于,所述方法由服务器执行,所述方法包括:
接收各个终端发送的功耗数据,所述功耗数据是所述各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据,其中,N为大于等于2的整数;
根据第一筛选规则,从所述功耗数据中选择各个目标功耗数据,所述各个目标功耗数据分别是所述功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,其中,第M位是前N位中的任意一个位置,所述第一类型应用程序是所述各个终端中被其他应用程序调用的应用程序;
根据所述各个目标功耗数据,获取第一归一化数据,所述第一归一化数据是所述各个目标功耗数据的归一化数据,所述第一归一化数据是按照所述各个目标功耗数据的第一数据维度,将所述各个目标功耗数据的第二数据维度进行归一化处理后得到的数据,所述第一数据维度是所述各个目标功耗数据中包含的任意一个数据维度,所述第二数据维度是所述各个目标功耗数据中包含的另一个数据维度;
通过人工智能检测算法检测所述第一归一化数据,确定所述各个目标功耗数据中的异常功耗数据。
2.根据权利要求1所述的方法,其特征在于,所述各个目标功耗数据中包含前台时间,所述第一数据维度是所述前台时间,所述前台时间用于指示所述各个终端各自的应用程序在所述各个终端中前台运行的时间。
3.根据权利要求2所述的方法,其特征在于,所述第一类型应用程序是所述各个终端中不具有前台显示界面的应用程序,所述方法还包括:
将所述各个目标功耗数据中的所述第一类型应用程序的前台时间替换为预设时间。
4.根据权利要求1所述的方法,其特征在于,在所述根据第一筛选规则,从所述功耗数据中选择各个目标功耗数据之前,还包括:
根据第一应用程序的应用名称,获取各个第一功耗数据,所述各个第一功耗数据用于描述所述第一应用程序在各个终端中运行时所述各个终端的耗电情况;
根据所述各个第一功耗数据,获取第二归一化数据,所述第二归一化数据是所述各个第一功耗数据的归一化数据,所述第二归一化数据是按照所述各个第一功耗数据的第三数据维度,将所述各个第一功耗数据的第四数据维度进行归一化处理后得到的数据,所述第三数据维度是所述各个第一功耗数据中包含的任意一个数据维度,所述第四数据维度是所述各个第一功耗数据中包含的另一个数据维度;
根据所述第二归一化数据以及标准差准则,获取异常检测阈值;
将所述第二归一化数据中大于所述异常检测阈值的数据,确定为所述各个第一功耗数据中的异常功耗数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据第二筛选规则,从所述功耗数据中选择各个第二功耗数据,所述各个第二功耗数据分别是所述功耗数据中所述各个终端各自前N位的应用程序的数据中均无异常的功耗数据;
所述根据第一筛选规则,从所述功耗数据中选择各个目标功耗数据,包括:
根据所述第一筛选规则,从所述各个第二功耗数据中选择所述各个目标功耗数据。
6.根据权利要求4所述的方法,其特征在于,所述各个第一功耗数据中包含前台时间,所述第三数据维度是所述前台时间,所述前台时间用于指示所述第一应用程序在所述各个终端中前台运行的时间,所述根据所述各个目标功耗数据,获取第一归一化数据,包括:
根据所述各个目标功耗数据,获取所述各个目标功耗数据对应的第二归一化数据,将所述各个目标功耗数据对应的第二归一化数据获取为所述第一归一化数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当确定出所述各个目标功耗数据中的异常功耗数据后,将所述第一类型应用程序确定为原因维度,所述原因维度用于描述所述异常功耗数据的原因;
根据所述异常功耗数据以及所述原因维度,生成异常功耗消息;
将所述异常功耗消息发送给所述异常功耗数据对应的终端。
8.根据权利要求1至7任一所述的方法,其特征在于,所述第一类型应用程序是所述各个终端中用户身份标识UID为0或者1000的应用程序。
9.一种功耗检测装置,其特征在于,所述装置用于服务器中,所述装置包括:
数据接收模块,用于接收各个终端发送的功耗数据,所述功耗数据是所述各个终端各自在一个周期内采集的总功耗在各自应用程序中排在前N位的应用程序的数据,其中,N为大于等于2的整数;
第一数据选择模块,用于根据第一筛选规则,从所述功耗数据中选择各个目标功耗数据,所述各个目标功耗数据分别是所述功耗数据中各个终端各自的第M位的应用程序是第一类型应用程序,且其余位置的应用程序是非第一类型应用程序的数据,其中,第M位是前N位中的任意一个位置,所述第一类型应用程序是所述各个终端中被其他应用程序调用的应用程序;
第一数据获取模块,用于根据所述各个目标功耗数据,获取第一归一化数据,所述第一归一化数据是所述各个目标功耗数据的归一化数据,所述第一归一化数据是按照所述各个目标功耗数据的第一数据维度,将所述各个目标功耗数据的第二数据维度进行归一化处理后得到的数据,所述第一数据维度是所述各个目标功耗数据中包含的任意一个数据维度,所述第二数据维度是所述各个目标功耗数据中包含的另一个数据维度;
第一数据确定模块,用于通过人工智能检测算法检测所述第一归一化数据,确定所述各个目标功耗数据中的异常功耗数据。
10.一种电子设备,其特征在于,所述电子设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至8任一所述的功耗检测方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至8任一所述的功耗检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382911.4A CN113051128B (zh) | 2019-12-27 | 2019-12-27 | 功耗检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382911.4A CN113051128B (zh) | 2019-12-27 | 2019-12-27 | 功耗检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113051128A CN113051128A (zh) | 2021-06-29 |
CN113051128B true CN113051128B (zh) | 2022-06-28 |
Family
ID=76507388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911382911.4A Active CN113051128B (zh) | 2019-12-27 | 2019-12-27 | 功耗检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051128B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516806B (zh) * | 2014-12-26 | 2017-12-08 | 北京奇虎科技有限公司 | 移动终端的耗电信息的检测结果展示方法及系统 |
US10281973B2 (en) * | 2016-06-02 | 2019-05-07 | Apple Inc. | Application power usage |
CN109302735A (zh) * | 2017-07-24 | 2019-02-01 | 中兴通讯股份有限公司 | 一种控制功耗的方法及移动终端 |
CN107463437B (zh) * | 2017-07-31 | 2020-01-31 | Oppo广东移动通信有限公司 | 应用管控方法、装置、存储介质及电子设备 |
CN108958932A (zh) * | 2018-06-27 | 2018-12-07 | 努比亚技术有限公司 | 一种后台应用的控制方法、终端和计算机可读存储介质 |
CN109858548B (zh) * | 2019-01-29 | 2023-04-18 | Oppo广东移动通信有限公司 | 异常耗电的判断方法及装置、存储介质、通信终端 |
CN110209260B (zh) * | 2019-04-26 | 2024-02-23 | 平安科技(深圳)有限公司 | 耗电量异常检测方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-12-27 CN CN201911382911.4A patent/CN113051128B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113051128A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884891B2 (en) | Interactive detection of system anomalies | |
AU2017101862A4 (en) | Collaborative filtering method, apparatus, server and storage medium in combination with time factor | |
CN109460432B (zh) | 一种数据处理方法及系统 | |
US20210035126A1 (en) | Data processing method, system and computer device based on electronic payment behaviors | |
CN111698303A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111581258A (zh) | 一种安全数据分析方法、装置、系统、设备及存储介质 | |
CN114265740A (zh) | 错误信息处理方法、装置、设备及存储介质 | |
CN110825466B (zh) | 一种程序卡顿的处理方法以及卡顿处理装置 | |
CN110602207A (zh) | 基于离网预测推送信息的方法、装置、服务器和存储介质 | |
CN113051128B (zh) | 功耗检测方法、装置、电子设备及存储介质 | |
CN113468076A (zh) | 应用程序的异常测试方法、装置、设备及存储介质 | |
CN115952398B (zh) | 基于物联网的数据上传统计计算方法、系统和存储介质 | |
CN110737693A (zh) | 数据挖掘处理方法、装置、设备及计算机可读存储介质 | |
CN108961071B (zh) | 自动预测组合业务收益的方法及终端设备 | |
CN113051127B (zh) | 异常功耗检测方法、装置、电子设备及存储介质 | |
CN109947803B (zh) | 一种数据处理方法、系统及存储介质 | |
CN111565311B (zh) | 网络流量特征生成方法及装置 | |
CN113836130A (zh) | 数据质量评估方法、装置、设备及存储介质 | |
CN115358772A (zh) | 一种交易风险预测方法、装置、存储介质及计算机设备 | |
CN111918323B (zh) | 数据的校准方法、装置、设备以及存储介质 | |
CN109214874B (zh) | Ip产品运营数据处理方法、装置、设备及可读存储介质 | |
CN111985651A (zh) | 业务系统运维方法和装置 | |
CN110909262B (zh) | 一种身份信息的伴随关系确定方法及装置 | |
CN118363811A (zh) | 系统运行状态监测方法、装置、计算机设备及存储介质 | |
CN115437891A (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 |