CN105446854A - 功耗检测方法、系统及终端 - Google Patents

功耗检测方法、系统及终端 Download PDF

Info

Publication number
CN105446854A
CN105446854A CN201510755513.8A CN201510755513A CN105446854A CN 105446854 A CN105446854 A CN 105446854A CN 201510755513 A CN201510755513 A CN 201510755513A CN 105446854 A CN105446854 A CN 105446854A
Authority
CN
China
Prior art keywords
power consumption
terminal
event
external cable
test script
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
CN201510755513.8A
Other languages
English (en)
Other versions
CN105446854B (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.)
Beijing Xiaomi Technology Co Ltd
Xiaomi Inc
Original Assignee
Xiaomi Inc
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 Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201510755513.8A priority Critical patent/CN105446854B/zh
Publication of CN105446854A publication Critical patent/CN105446854A/zh
Application granted granted Critical
Publication of CN105446854B publication Critical patent/CN105446854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring 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/3062Monitoring 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
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

本公开实施例提供了一种功耗检测方法、系统及终端,所述方法包括:接收通过外接线缆发送的功耗测试脚本,当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断,按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件,记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。本公开采用的该方法,可以避免功耗检测的结果中包含终端与检测主机进行数据传输时的额外耗电,模拟用户使用终端时的动态场景,能够还原用户使用终端时终端真实的耗电情况,进而实现精准有效的评估和测量终端的功耗。

Description

功耗检测方法、系统及终端
技术领域
本公开涉及功耗检测技术领域,尤其涉及功耗检测方法、系统及终端。
背景技术
随着目前智能手机的飞速发展,智能手机具有更大的显示屏、更多核的处理器、更多样化的无线连接技术等,这些会增加手机的耗电量。同时,手机的功能也越来越多,使得手机被使用的次数也越来越频繁。
因此,如何精准有效的测量和评估手机的功耗,对帮助手机厂商改进手机问题,提高手机的性能具有重要意义。
发明内容
为克服相关技术中存在的问题,本公开提供一种功耗检测方法、系统及终端。
根据本公开实施例的第一方面,提供一种功耗检测方法,应用于终端,包括:
接收通过外接线缆发送的功耗测试脚本,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件;
当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断;
按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件;
记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
本公开通过接收通过外接线缆发送的功耗测试脚本,当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断,按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件,可以记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
本公开采用的该方法,可以通过断开外接线缆的数据通道,避免功耗检测的结果中包含终端与检测主机进行数据传输时的额外耗电,模拟用户使用终端时的动态场景,能够还原用户使用终端时终端真实的耗电情况,进而实现精准有效的评估和测量终端的功耗。
可选地,所述方法还包括:
在所述控制与所述外接线缆的数据通道中断之前,检测是否接收到忽略中断命令;
当接收到所述忽略中断命令时,判断是否检测到与所述外接线缆的数据通道中断的中断信号;
当接收到所述中断信号时,根据所述忽略中断命令忽略所述中断信号,以执行所述按照所述功耗测试脚本执行每个所述模拟操作组合中的模拟操作的步骤。
本公开通过在所述控制与所述外接线缆的数据通道中断之前,检测是否接收到忽略中断命令,当接收到所述忽略中断命令时,判断是否检测到与所述外接线缆的数据通道中断的中断信号,当接收到所述中断信号时,可以根据所述忽略中断命令忽略所述中断信号,以执行所述按照所述功耗测试脚本执行每个所述模拟操作组合中的模拟操作的步骤。
本公开提供的该方法,可以实现在检测主机与终端连接断开时,终端可以独立进行功耗检测,提供功耗检测的精确度。
可选地,所述功耗测试脚本中还包括:预设事件数量;
所述在系统事件被触发时采集一次系统功耗,包括:
判断连续被触发的系统事件的数量是否等于预设事件数量的整数倍;
当连续被触发的系统事件的数量等于预设事件数量的整数倍时,采集一次系统功耗。
本公开通过判断连续被触发的系统事件的数量是否等于预设事件数量的整数倍,当连续被触发的系统事件的数量等于预设事件数量的整数倍时,可以采集一次系统功耗。
本公开采用的该方法,能够在保证功耗测量的精确度的前提下尽量降低CPU资源的占用率,提高终端运行速度,节省测试时间。
可选地,所述方法还包括:
按照时间分布排列触发的所有系统事件与采集的系统功耗;
将位于当前系统功耗的采集时刻和前一次系统功耗的采集时刻之间的系统事件,与,所述当前系统功耗建立对应关系。
所述方法还包括:
根据系统功耗以及系统功耗的采集时刻生成功耗趋势图;
将所述功耗趋势图中超过预设阈值的系统功耗确定为异常功耗;
将触发时刻位于所述异常功耗的采集时刻与前一次系统功耗的采集时刻之间的系统事件,确定为与所述异常功耗相关联的可疑系统事件。
本公开通过按照时间分布排列触发的所有系统事件与采集的系统功耗,可以将位于当前系统功耗的采集时刻和前一次系统功耗的采集时刻之间的系统事件,与,所述当前系统功耗建立对应关系,判断采集得到的所有系统功耗中是否出现异常功耗,当出现异常功耗时,将触发时刻位于所述异常功耗的采集时刻与前一次系统功耗的采集时刻之间的系统事件,确定为与所述异常功耗相关联的可疑系统事件。
本公开实施例采用的该方法,可以通过按时间分布排列系统事件与系统功耗,并在系统事件与系统功耗之间建立对应关系,可以辅助分析功耗的总体情况,方便定位功耗异常的原因。
根据本公开实施例的第二方面,提供一种功耗检测方法,应用于检测主机,包括:
获取待检测终端中安装的测试应用的标识;
生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本;
将所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端;
当所述功耗测试脚本发送完成后,通过所述外接线缆向所述待检测终端发送脚本执行命令。
本公开通过获取待检测终端中安装的测试应用的标识,生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本,可以将所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端,当所述功耗测试脚本发送完成后,可以通过所述外接线缆向所述待检测终端发送脚本执行命令。
本公开采用的该方法,可以测试应用模拟测试应用的动态场景,并将模拟的测试操作写入功耗测试脚本中,以便终端能够根据功耗测试脚本模拟用户使用终端时的动态场景,能够还原用户使用终端时终端真实的耗电情况,进而实现精准有效的评估和测量终端的功耗。
可选地,包括:
获取预设事件数量;
将所述预设事件数量作为采样间隔存储至所述功耗测试脚本中。
本公开通过获取预设事件数量,可以将所述预设事件数量作为采样间隔存储至所述功耗测试脚本中。
本公开提供的该方法能够通过设置预设事件数量,便于终端在进行测试时降低CPU占用率,节省测试时间。
可选地,包括:
检测是否接收到忽略中断操作;
当接收到忽略中断操作时,生成忽略中断命令并通过所述外接线缆发送给所述待检测终端。
本公开通过检测是否接收到忽略中断操作,当接收到忽略中断操作时,可以生成忽略中断命令并通过所述外接线缆发送给所述待检测终端。
本公开采用的该方法,能够便于控制终端在断开与检测主机连接时,忽略中断信号。
根据本公开实施例提供的第三方面,提供一种功耗检测系统,应用于终端,包括:
接收存储单元,用于接收通过外接线缆发送的功耗测试脚本,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件;
中断控制单元,用于当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断;
执行触发单元,用于在所述中断控制单元控制所述终端与所述外接线缆的数据通道中断后,按照所述接收存储单元接收到的所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件;
时刻记录单元,用于记录每个被所述执行触发单元触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
可选地,所述系统还包括:
命令检测单元,用于在所述中断控制单元控制与所述外接线缆的数据通道中断之前,检测是否接收到忽略中断命令;
信号判断单元,用于当命令检测单元接收到所述忽略中断命令时,判断是否检测到与所述外接线缆的数据通道中断的中断信号;
忽略单元,用于当信号判断单元接收到所述中断信号时,根据所述忽略中断命令忽略所述中断信号,以使所述执行触发单元按照所述功耗测试脚本执行每个所述模拟操作组合中的模拟操作。
可选地,所述功耗测试脚本中还包括:预设事件数量;
所述时刻记录单元,包括:
数量判断模块,用于判断连续被触发的系统事件的数量是否等于预设事件数量的整数倍;
功耗采集模块,用于当数量判断模块判断得到连续被触发的系统事件的数量等于预设事件数量的整数倍时,采集一次系统功耗。
可选地,所述系统还包括:
排列单元,用于按照时间分布排列触发的所有系统事件与采集的系统功耗;
建立单元,用于根据排列单元的排列结果将位于当前系统功耗的采集时刻和前一次系统功耗的采集时刻之间的系统事件,与,所述当前系统功耗建立对应关系。
可选地,所述系统还包括:
趋势图生成单元,用于根据系统功耗以及系统功耗的采集时刻生成功耗趋势图;
功耗确定单元,用于将所述功耗趋势图中超过预设阈值的系统功耗确定为异常功耗;
事件确定单元,用于将触发时刻位于所述异常功耗的采集时刻与前一次系统功耗的采集时刻之间的系统事件,确定为与所述异常功耗相关联的可疑系统事件。
根据本公开实施例提供的第四方面,提供一种功耗检测系统,应用于检测主机,包括:
标识获取单元,用于获取待检测终端中安装的测试应用的标识;
脚本生成单元,用于根据标识获取单元获取的标识生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本;
脚本发送单元,用于将所述脚本生成单元生成的所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端;
命令发送单元,用于当所述脚本发送单元将所述功耗测试脚本发送完成后,通过所述外接线缆向所述待检测终端发送脚本执行命令。
可选地,所述系统还包括:
数量获取单元,用于获取预设事件数量;
存储单元,用于将数量获取单元获取的所述预设事件数量作为采样间隔存储至所述功耗测试脚本中。
可选地,所述系统还包括:
操作检测单元,用于检测是否接收到忽略中断操作;
生成发送单元,用于当操作检测单元接收到忽略中断操作时,生成忽略中断命令并通过所述外接线缆发送给所述待检测终端。
根据本公开实施例提供的第五方面,提供一种终端,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收通过外接线缆发送的功耗测试脚本,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件;
当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断;
按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件;
记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
根据本公开实施例提供的第六方案,提供一种检测主机,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取待检测终端中安装的测试应用的标识;
生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本;
将所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端;
当所述功耗测试脚本发送完成后,通过所述外接线缆向所述待检测终端发送脚本执行命令。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开通过接收通过外接线缆发送的功耗测试脚本,当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断,按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件,可以记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
本公开采用的该方法,可以通过断开外接线缆的数据通道,避免功耗检测的结果中包含终端与检测主机进行数据传输时的额外耗电,模拟用户使用终端时的动态场景,能够还原用户使用终端时终端真实的耗电情况,进而实现精准有效的评估和测量终端的功耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本公开一示例性实施例示出的一种场景示意图;
图2是根据一示例性实施例示出的一种功耗检测方法的一种流程图;
图3是根据一示例性实施例示出的一种功耗检测方法的另一种流程图;
图4是图1中步骤S204的流程图;
图5A是根据一示例性实施例示出的一种功耗检测方法的一种流程图;
图5B是根据一示例性实施例构建的趋势图;
图6是根据一示例性实施例示出的另一种功耗检测方法的一种流程图;
图7是根据一示例性实施例示出的另一种功耗检测方法的另一种流程图;
图8是根据一示例性实施例示出的另一种功耗检测方法的另一种流程图;
图9是根据一示例性实施例示出的一种功耗检测系统的一种结构图;
图10是根据一示例性实施例示出的一种功耗检测系统的另一种结构图;
图11是图9中时刻记录单元904的结构图;
图12是根据一示例性实施例示出的一种功耗检测系统的另一种结构图;
图13是根据一示例性实施例示出的另一种功耗检测系统的一种结构图;
图14是根据一示例性实施例示出的另一种功耗检测系统的另一种结构图;
图15是根据一示例性实施例示出的另一种功耗检测系统的另一种结构图;
图16是根据一示例性实施例示出的终端的框图;
图17是根据一示例性实施例示出的检测主机的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种场景示意图,图中包括终端1、检测主机2和外接线缆3。
终端1可以为手机或平板电脑等,终端1上可以预先设置至少一个测试应用,这些测试应用可以是android应用商店下载量排行中包含游戏类、通讯类、新闻类等在内的用户下载量最大的应用,也可以是手机生产商在手机中预装的应用等等。
检测主机2可以为台式电脑等,检测主机2中可预先设置dex2jar工具和用于向终端1发送命令的命令终端(shell)等。
外接线缆3可以为数据线等,用于将终端1与检测主机2相连接,以便进行数据文件传输等。
另外,图1所示仅为本公开的一种场景示意图,图中终端1的数量,终端1、检测主机2和外接线缆3的详细结构以及三者之间的位置、相对关系都不作限定,本领域技术人员可以根据设计或现场需要自由布局各部分位置以及相对关系。
为了精准有效的评估和测量终端的功耗,如图2所示,在本公开的一个实施例中,提供一种功耗检测方法,应用于终端,包括以下步骤。
在步骤S201中,接收通过外接线缆发送的功耗测试脚本。
在本公开实施例中,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件。
模拟操作执行文件中可以包括关于多个测试应用的至少一个模拟操作代码段组合,每个测试应用可以对应至少一个测试操作代码段组合,每个测试操作代码段组合对应测试应用的一个应用场景,测试应用可以为腾讯QQ、微信、手机淘宝和支付宝等。
以微信为例,微信的应用场景可以包括发消息和发朋友圈等等,当应用场景为发朋友圈时,在实际使用中,用户发朋友圈会手动按下触摸屏上“发现-朋友圈-相机图形-选择照片或小视频-拍照-确定-发送”,为了模拟用户发朋友圈的场景,模拟操作执行文件中可以包括模拟用户进行“发现-朋友圈-相机图形-选择照片或小视频-拍照-确定-发送”等一系列模拟操作。
在该步骤中,终端可以接收检测主机通过外接线缆发送的功耗测试脚本并存储。
当接收到脚本执行命令时,在步骤S202中,控制与所述外接线缆的数据通道中断。
在该步骤之前,终端可以检测与外接线缆连接的端口来判断是否接收到脚本执行命令,例如:当与外接线缆连接的端口接收到脚本执行命令,且传输结束标志位为传输结束状态时,可以确定接收到脚本执行命令。
在该步骤中,可以由用户手动断开外接线缆与终端的连接或者手动断开外接线缆与检测主机的连接,也可以通过软件实现数据通道的断开。
在步骤S203中,按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件。
在本公开实施例中,系统事件可以为传感器采集数据、触摸屏检测、键盘检测和调用摄像头等等。
在实际应用中,用户手动按下“发现-朋友圈-相机图形-选择照片或小视频-拍照-确定-发送”的操作时,会触发一系列的系统事件,因此在该步骤中,每个模拟操作在执行时也会触发至少一个系统事件,例如:当模拟操作为用户在触摸屏依次点击“发现-朋友圈-相机图形”的区域时,会触发触摸屏显示不同内容的系统事件,当模拟操作为用户在触摸屏点击“选择照片或小视频-拍照”时,会触发调用摄像头的系统事件等等。
在步骤S204中,记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
在该步骤中,触发时刻可以为15时21分35秒等,系统功耗可以为系统在15时21分35秒时消耗的电能,如0.05W等,可以在系统事件被触发的同时记录触发时刻,在系统事件被触发后记录被触发的系统事件,在系统事件被触发后、系统事件在发生时采集系统功耗,并记录采集时刻。
本公开通过接收通过外接线缆发送的功耗测试脚本,当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断,按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件,可以记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
本公开实施例采用的该方法,可以通过断开外接线缆的数据通道,避免功耗检测的结果中包含终端与检测主机进行数据传输时的额外耗电,模拟用户使用终端时的动态场景,能够还原用户使用终端时终端真实的耗电情况,进而实现精准有效的评估和测量终端的功耗。
在实际应用中,在检测主机与终端的连接中断时,作为从设备的终端一般会无法继续进行功耗检测工作,这样会导致在对终端进行功耗检测的同时必须与检测主机进行有线连接或者无线连接,然而与检测主机连接可能会导致额外耗电的产生,为此,如图3所示,在本公开的又一实施例中,所述方法还包括以下步骤。
在所述控制与所述外接线缆的数据通道中断之前,在步骤S301中,检测是否接收到忽略中断命令。
在该步骤中,可以通过检测与外接线缆连接的端口检测是否接收到忽略终端命令等。
当接收到所述忽略中断命令时,在步骤S302中,判断是否检测到与所述外接线缆的数据通道中断的中断信号。
在该步骤中,在断开外接线缆的数据通道时,与外接线缆连接的两端都会产生中断信号,因此,终端中的处理器也会产生中断信号,当处理器产生中断信号时,确定接收到中断信号。
当接收到所述中断信号时,在步骤S303中,根据所述忽略中断命令忽略所述中断信号,以执行所述按照所述功耗测试脚本执行每个所述模拟操作组合中的模拟操作的步骤。
在该步骤中,忽略所述中断信号可以为CPU不在发生中断时执行中断程序,而是继续执行当前正在执行的程序等。
本公开通过在所述控制与所述外接线缆的数据通道中断之前,检测是否接收到忽略中断命令,当接收到所述忽略中断命令时,判断是否检测到与所述外接线缆的数据通道中断的中断信号,当接收到所述中断信号时,可以根据所述忽略中断命令忽略所述中断信号,以执行所述按照所述功耗测试脚本执行每个所述模拟操作组合中的模拟操作的步骤。
本公开实施例提供的该方法,可以实现在检测主机与终端连接断开时,终端可以独立进行功耗检测,提供功耗检测的精确度。
在进行功耗测试时,如果采集功耗的频率过高可能会占用大量CPU资源,导致整个终端运行缓慢,进而导致整个测试过程过长,而且测试结果也可能会不准确,为此,如图4所示,在本公开的又一实施例中,所述功耗测试脚本中还包括:预设事件数量。
所述步骤S204包括以下步骤。
在步骤S401中,判断连续被触发的系统事件的数量是否等于预设事件数量的整数倍。
在该步骤中,所述预设事件数量可以为10个,可以利用计数器记录被触发的系统事件的数量,然后将计数器每次计数之后得到的数量与预设事件数量进行对比,当计数器每次计数之后得到的数量与预设事件数量的整数倍相同时,即:计数器得到的数量为10、20、30等等的时候可以确定连续被触发的系统事件的数量等于预设事件数量的整数倍。
当连续被触发的系统事件的数量等于预设事件数量的整数倍时,在步骤S402中,采集一次系统功耗。
本公开通过判断连续被触发的系统事件的数量是否等于预设事件数量的整数倍,当连续被触发的系统事件的数量等于预设事件数量的整数倍时,可以采集一次系统功耗。
本公开实施例采用的该方法,能够在保证功耗测量的精确度的前提下尽量降低CPU资源的占用率,提高终端运行速度,节省测试时间。
目前进行功耗测试时,一般都是自动测试手机的功耗,得到的是功耗随时间变化的情况,但是这可能导致在功耗由于一些原因升高或降低,测试人员并不能知晓是什么原因导致的功耗变化,不利于定位功耗异常的原因,为此,如图5A所示,在本公开的又一实施例中,所述方法还包括以下步骤。
在步骤S501中,按照时间分布排列触发的所有系统事件与采集的系统功耗。
在该步骤中,可以根据采集时刻、系统事件与系统功耗绘制趋势图,也可以按照时间顺序构建系统事件与对应的系统功耗的表格,表格可参见如下表1。
表1
采集时刻 系统事件(第n个) 系统功耗
15时21分35秒 第10个 0.045W
15时21分36秒 第20个 0.051W
15时21分37秒 第30个 0.03W
…… …… ……
在步骤S502中,将位于当前系统功耗的采集时刻和前一次系统功耗的采集时刻之间的系统事件,与,所述当前系统功耗建立对应关系。
在该步骤中,可以将15时21分35秒与15时21分36秒之间的系统事件与当前功耗建立对应关系,例如:可以第1个至第9个系统事件与0.045W建立对应关系。
在步骤S503中,根据系统功耗以及系统功耗的采集时刻生成功耗趋势图。
在该步骤中,构建的趋势图可以如图5B所示。
在步骤S504中,将所述功耗趋势图中超过预设阈值的系统功耗确定为异常功耗。
在该步骤中,可以将趋势图中超过代表预设阈值0.05W的横线以上的功耗-时间曲线上的功耗确定为异常功耗。
在步骤S505中,将触发时刻位于所述异常功耗的采集时刻与前一次系统功耗的采集时刻之间的系统事件,确定为与所述异常功耗相关联的可疑系统事件。
在该步骤中,如图5B所示,图中t1-t6时刻为多个系统功耗的采集时刻,由于t1-t5每个时刻采集的系统功耗均为该时刻与前一时刻之间系统事件所产生的系统功耗,所以,对于t5时刻采集的系统功耗而言,是位于t4时刻和t5时刻之间所有系统事件产生的系统功耗。
因此,当确定t5时刻对应的系统功耗被确定为异常功耗时,那么位于t4时刻和t5时刻之间所有系统事件都将被确定为可疑系统事件。
本公开通过按照时间分布排列触发的所有系统事件与采集的系统功耗,可以将位于当前系统功耗的采集时刻和前一次系统功耗的采集时刻之间的系统事件,与,所述当前系统功耗建立对应关系,判断采集得到的所有系统功耗中是否出现异常功耗,当出现异常功耗时,将触发时刻位于所述异常功耗的采集时刻与前一次系统功耗的采集时刻之间的系统事件,确定为与所述异常功耗相关联的可疑系统事件。
本公开实施例采用的该方法,可以通过按时间分布排列系统事件与系统功耗,并在系统事件与系统功耗之间建立对应关系,可以辅助分析功耗的总体情况,方便定位功耗异常的原因。
如图6所示,在本公开的又一实施例中,提供一种功耗检测方法,应用于检测主机,包括以下步骤。
在步骤S601中,获取待检测终端中安装的测试应用的标识。
在该步骤中,所述测试应用的标识可以为测试应用的名字或编号等等。
在步骤S602中,生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本。
在该步骤中,可以分别模拟每个测试应用的在用户输入不同的测试操作组合时对应的应用场景,并将每个测试应用对应的测试操作组合存储至功耗测试脚本。
在步骤S603中,将所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端。
当所述功耗测试脚本发送完成后,在步骤S604中,通过所述外接线缆向所述待检测终端发送脚本执行命令。
本公开通过获取待检测终端中安装的测试应用的标识,生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本,可以将所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端,当所述功耗测试脚本发送完成后,可以通过所述外接线缆向所述待检测终端发送脚本执行命令。
本公开实施例采用的该方法,可以测试应用模拟测试应用的动态场景,并将模拟的测试操作写入功耗测试脚本中,以便终端能够根据功耗测试脚本模拟用户使用终端时的动态场景,能够还原用户使用终端时终端真实的耗电情况,进而实现精准有效的评估和测量终端的功耗。
如图7所示,在本公开的又一实施例中,所述方法还包括:
在步骤S701中,获取预设事件数量。
在该步骤中,检测主机可以通过预设的dex3jar工具反编译待测试应用,解析每个测试操作组合触发的系统事件,根据解析的系统事件确定预设事件数量,预设事件数量可以为10个。
在步骤S702中,将所述预设事件数量作为采样间隔存储至所述功耗测试脚本中。
本公开通过获取预设事件数量,可以将所述预设事件数量作为采样间隔存储至所述功耗测试脚本中。
本公开实施例提供的该方法能够通过设置预设事件数量,便于终端在进行测试时降低CPU占用率,节省测试时间。
如图8所示,在本公开的又一实施例中,所述方法还包括以下步骤。
在步骤S801中,检测是否接收到忽略中断操作。
在该步骤中,可以通过检测用户是否利用键盘或鼠标输入忽略终端操作。
当接收到忽略中断操作时,在步骤S802中,生成忽略中断命令并通过所述外接线缆发送给所述待检测终端。
本公开通过检测是否接收到忽略中断操作,当接收到忽略中断操作时,可以生成忽略中断命令并通过所述外接线缆发送给所述待检测终端。
本公开实施例采用的该方法,能够便于控制终端在断开与检测主机连接时,忽略中断信号。
为了精准有效的评估和测量终端的功耗,如图9所示,在本公开的又一实施例中,提供一种功耗检测系统,应用于终端,包括:接收存储单元901、中断控制单元902、执行触发单元903和时刻记录单元904。
接收存储单元901,被配置为接收通过外接线缆发送的功耗测试脚本,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件。
在本公开实施例中,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件。
模拟操作执行文件中可以包括关于多个测试应用的至少一个模拟操作代码段组合,每个测试应用可以对应至少一个测试操作代码段组合,每个测试操作代码段组合对应测试应用的一个应用场景,测试应用可以为腾讯QQ、微信、手机淘宝和支付宝等。
以微信为例,微信的应用场景可以包括发消息和发朋友圈等等,当应用场景为发朋友圈时,在实际使用中,用户发朋友圈会手动按下触摸屏上“发现-朋友圈-相机图形-选择照片或小视频-拍照-确定-发送”,为了模拟用户发朋友圈的场景,模拟操作执行文件中可以包括模拟用户进行“发现-朋友圈-相机图形-选择照片或小视频-拍照-确定-发送”等一系列模拟操作。
在执行该单元时,终端可以接收检测主机通过外接线缆发送的功耗测试脚本并存储。
中断控制单元902,被配置为当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断。
在执行该单元之前,终端可以检测与外接线缆连接的端口来判断是否接收到脚本执行命令,例如:当与外接线缆连接的端口接收到脚本执行命令,且传输结束标志位为传输结束状态时,可以确定接收到脚本执行命令。
在执行该单元时,可以由用户手动断开外接线缆与终端的连接或者手动断开外接线缆与检测主机的连接,也可以通过软件实现数据通道的断开。
执行触发单元903,被配置为在所述中断控制单元控制所述终端与所述外接线缆的数据通道中断后,按照所述接收存储单元接收到的所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件。
在本公开实施例中,系统事件可以为传感器采集数据、触摸屏检测、键盘检测和调用摄像头等等。
在实际应用中,用户手动按下“发现-朋友圈-相机图形-选择照片或小视频-拍照-确定-发送”的操作时,会触发一系列的系统事件,因此在该步骤中,每个模拟操作在执行时也会触发至少一个系统事件,例如:当模拟操作为用户在触摸屏依次点击“发现-朋友圈-相机图形”的区域时,会触发触摸屏显示不同内容的系统事件,当模拟操作为用户在触摸屏点击“选择照片或小视频-拍照”时,会触发调用摄像头的系统事件等等。
时刻记录单元904,被配置为记录每个被所述执行触发单元触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
在执行该单元时,触发时刻可以为15时21分35秒等,系统功耗可以为系统在15时21分35秒时消耗的电能,如0.05W等,可以在系统事件被触发的同时记录触发时刻,在系统事件被触发后记录被触发的系统事件,在系统事件被触发后、系统事件在发生时采集系统功耗,并记录采集时刻。
本公开通过接收通过外接线缆发送的功耗测试脚本,当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断,按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件,可以记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
本公开实施例采用的该系统,可以通过断开外接线缆的数据通道,避免功耗检测的结果中包含终端与检测主机进行数据传输时的额外耗电,模拟用户使用终端时的动态场景,能够还原用户使用终端时终端真实的耗电情况,进而实现精准有效的评估和测量终端的功耗。
在实际应用中,在检测主机与终端的连接中断时,作为从设备的终端一般会无法继续进行功耗检测工作,这样会导致在对终端进行功耗检测的同时必须与检测主机进行有线连接或者无线连接,然而与检测主机连接可能会导致额外耗电的产生,为此,如图10所示,在本公开的又一实施例中,所述系统还包括:命令检测单元1001、信号判断单元1002和忽略单元1003。
命令检测单元1001,被配置为在所述中断控制单元控制与所述外接线缆的数据通道中断之前,检测是否接收到忽略中断命令。
在执行该单元时,可以通过检测与外接线缆连接的端口检测是否接收到忽略终端命令等。
信号判断单元1002,被配置为当命令检测单元接收到所述忽略中断命令时,判断是否检测到与所述外接线缆的数据通道中断的中断信号。
在执行该单元时,在断开外接线缆的数据通道时,与外接线缆连接的两端都会产生中断信号,因此,终端中的处理器也会产生中断信号,当处理器产生中断信号时,确定接收到中断信号。
忽略单元1003,被配置为当信号判断单元接收到所述中断信号时,根据所述忽略中断命令忽略所述中断信号,以使所述执行触发单元按照所述功耗测试脚本执行每个所述模拟操作组合中的模拟操作。
在执行该单元时,忽略所述中断信号可以为CPU不在发生中断时执行中断程序,而是继续执行当前正在执行的程序等。
本公开通过在所述控制与所述外接线缆的数据通道中断之前,检测是否接收到忽略中断命令,当接收到所述忽略中断命令时,判断是否检测到与所述外接线缆的数据通道中断的中断信号,当接收到所述中断信号时,可以根据所述忽略中断命令忽略所述中断信号,以使所述按照所述功耗测试脚本执行每个所述模拟操作组合中的模拟操作。
本公开实施例提供的该系统,可以实现在检测主机与终端连接断开时,终端可以独立进行功耗检测,提供功耗检测的精确度。
在进行功耗测试时,如果采集功耗的频率过高可能会占用大量CPU资源,导致整个终端运行缓慢,进而导致整个测试过程过长,而且测试结果也可能会不准确,为此,如图11所示,在本公开的又一实施例中,所述功耗测试脚本中还包括:预设事件数量;
所述时刻记录单元904,包括:数量判断模块1101和功耗采集模块1102。
数量判断模块1101,被配置为判断连续被触发的系统事件的数量是否等于预设事件数量的整数倍。
在执行该单元时,所述预设事件数量可以为10个,可以利用计数器记录被触发的系统事件的数量,然后将计数器每次计数之后得到的数量与预设事件数量进行对比,当计数器每次计数之后得到的数量与预设事件数量的整数倍相同时,即:计数器得到的数量为10、20、30等等的时候可以确定连续被触发的系统事件的数量等于预设事件数量的整数倍。
功耗采集模块1102,被配置为当数量判断模块判断得到连续被触发的系统事件的数量等于预设事件数量的整数倍时,采集一次系统功耗。
本公开通过判断连续被触发的系统事件的数量是否等于预设事件数量的整数倍,当连续被触发的系统事件的数量等于预设事件数量的整数倍时,可以采集一次系统功耗。
本公开实施例采用的该系统,能够在保证功耗测量的精确度的前提下尽量降低CPU资源的占用率,提高终端运行速度,节省测试时间。
目前进行功耗测试时,一般都是自动测试手机的功耗,得到的是功耗随时间变化的情况,但是这可能导致在功耗由于一些原因升高或降低,测试人员并不能知晓是什么原因导致的功耗变化,不利于定位功耗异常的原因,为此,如图12所示,在本公开的又一实施例中,所述系统还包括:排列单元1201、建立单元1202、趋势图生成单元1203、功耗确定单元1204和事件确定单元1205。
排列单元1201,被配置为按照时间分布排列触发的所有系统事件与采集的系统功耗。
在执行该单元时,可以根据采集时刻、系统事件与系统功耗绘制趋势图,也可以按照时间顺序构建系统事件与对应的系统功耗的表格,表格可参见如下表1。
表1
采集时刻 系统事件(第n个) 系统功耗
15时21分35秒 第10个 0.045W
15时21分36秒 第20个 0.051W
15时21分37秒 第30个 0.03W
…… …… ……
建立单元1202,被配置为根据排列单元的排列结果将位于当前系统功耗的采集时刻和前一次系统功耗的采集时刻之间的系统事件,与,所述当前系统功耗建立对应关系。
在执行该单元时,可以将15时21分35秒与15时21分36秒之间的系统事件与当前功耗建立对应关系,例如:可以第1个至第9个系统事件与0.045W建立对应关系。
趋势图生成单元1203,被配置为根据系统功耗以及系统功耗的采集时刻生成功耗趋势图。
在执行该单元时,构建的趋势图可以如图5B所示。
功耗确定单元1204,被配置为将所述功耗趋势图中超过预设阈值的系统功耗确定为异常功耗。
在执行该单元时,可以将趋势图中超过代表预设阈值0.05W的横线以上的功耗-时间曲线上的功耗确定为异常功耗。
事件确定单元1205,被配置为当出现异常功耗时,将触发时刻位于所述异常功耗的采集时刻与前一次系统功耗的采集时刻之间的系统事件,确定为与所述异常功耗相关联的可疑系统事件。
在执行该单元时,可以将趋势图中超过与功耗-时间曲线的交点确定为产生异常功耗的触发时刻,例如:预设阈值可以为0.05W,如图5B所示,代表预设阈值0.05W的横线与功耗-时间曲线的交点对应的触发时刻为T,T位于采集时刻t5和采集时刻t5之间,所以可以将在采集时刻t5和采集时刻t5之间的系统事件确定为与异常功耗相关联的可以系统事件。
另外,由于采集时刻t5和采集时刻t6之间的系统功耗也位于代表预设阈值0.05W的横线之上,所以采集时刻t5和采集时刻t6之间的系统事件也可以被确定为与异常功耗相关联的可以系统事件。
本公开通过按照时间分布排列触发的所有系统事件与采集的系统功耗,可以将位于当前系统功耗的采集时刻和前一次系统功耗的采集时刻之间的系统事件,与,所述当前系统功耗建立对应关系,判断采集得到的所有系统功耗中是否出现异常功耗,当出现异常功耗时,将触发时刻位于所述异常功耗的采集时刻与前一次系统功耗的采集时刻之间的系统事件,确定为与所述异常功耗相关联的可疑系统事件。
本公开实施例采用的该系统,可以通过按时间分布排列系统事件与系统功耗,并在系统事件与系统功耗之间建立对应关系,可以辅助分析功耗的总体情况,方便定位功耗异常的原因。
如图13所示,在本公开的又一实施例中,一种功耗检测系统,应被配置为检测主机,包括:标识获取单元1301、脚本生成单元1302、脚本发送单元1303和命令发送单元1304。
标识获取单元1301,被配置为获取待检测终端中安装的测试应用的标识。
在执行该单元时,所述测试应用的标识可以为测试应用的名字或编号等等。
脚本生成单元1302,被配置为根据标识获取单元获取的标识生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本。
在执行该单元时,可以分别模拟每个测试应用的在用户输入不同的测试操作组合时对应的应用场景,并将每个测试应用对应的测试操作组合存储至功耗测试脚本。
脚本发送单元1303,被配置为将所述脚本生成单元生成的所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端。
命令发送单元1304,被配置为当所述脚本发送单元将所述功耗测试脚本发送完成后,通过所述外接线缆向所述待检测终端发送脚本执行命令。
本公开通过获取待检测终端中安装的测试应用的标识,生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本,可以将所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端,当所述功耗测试脚本发送完成后,可以通过所述外接线缆向所述待检测终端发送脚本执行命令。
本公开实施例采用的该系统,可以测试应用模拟测试应用的动态场景,并将模拟的测试操作写入功耗测试脚本中,以便终端能够根据功耗测试脚本模拟用户使用终端时的动态场景,能够还原用户使用终端时终端真实的耗电情况,进而实现精准有效的评估和测量终端的功耗。
如图14所示,在本公开的又一实施例中,所述系统还包括:数量获取单元1401和存储单元1402。
数量获取单元1401,被配置为获取预设事件数量。
在执行该单元时,检测主机可以通过预设的dex3jar工具反编译待测试应用,解析每个测试操作组合触发的系统事件,根据解析的系统事件确定预设事件数量,预设事件数量可以为10个。
存储单元1402,被配置为将数量获取单元获取的所述预设事件数量作为采样间隔存储至所述功耗测试脚本中。
本公开通过获取预设事件数量,可以将所述预设事件数量作为采样间隔存储至所述功耗测试脚本中。
本公开实施例提供的该系统能够通过设置预设事件数量,便于终端在进行测试时降低CPU占用率,节省测试时间。
如图15所示,在本公开的又一实施例中,所述系统还包括:操作检测单元1501和生成发送单元1502。
操作检测单元1501,被配置为检测是否接收到忽略中断操作。
在执行该单元时,可以通过检测用户是否利用键盘或鼠标输入忽略终端操作。
生成发送单元1502,被配置为当操作检测单元接收到忽略中断操作时,生成忽略中断命令并通过所述外接线缆发送给所述待检测终端。
本公开通过检测是否接收到忽略中断操作,当接收到忽略中断操作时,可以生成忽略中断命令并通过所述外接线缆发送给所述待检测终端。
本公开实施例采用的该系统,能够便于控制终端在断开与检测主机连接时,忽略中断信号。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图16是根据一示例性实施例示出的一种用于功耗检测的终端的框图。例如,该终端1600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图16,终端1600可以包括以下一个或多个组件:处理组件1602,存储器1604,电源组件1606,多媒体组件1608,音频组件1610,输入/输出(I/O)的接口1612,传感器组件1614,以及通信组件1616。
处理组件1602通常控制终端1600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1602可以包括一个或多个处理器1620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1602可以包括一个或多个模块,便于处理组件1602和其他组件之间的交互。例如,处理组件1602可以包括多媒体模块,以方便多媒体组件1608和处理组件1602之间的交互。
存储器1604被配置为存储各种类型的数据以支持在设备1600的操作。这些数据的示例包括用于在终端1600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1606为终端1600的各种组件提供电力。电源组件1606可以包括电源管理系统,一个或多个电源,及其他与为终端1600生成、管理和分配电力相关联的组件。
多媒体组件1608包括在所述终端1600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1608包括一个前置摄像头和/或后置摄像头。当终端1600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1610被配置为输出和/或输入音频信号。例如,音频组件1610包括一个麦克风(MIC),当终端1600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1604或经由通信组件1616发送。在一些实施例中,音频组件1610还包括一个扬声器,用于输出音频信号。
I/O接口1612为处理组件1602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1614包括一个或多个传感器,用于为终端1600提供各个方面的状态评估。例如,传感器组件1614可以检测到设备1600的打开/关闭状态,组件的相对定位,例如所述组件为终端1600的显示器和小键盘,传感器组件1614还可以检测终端1600或终端1600一个组件的位置改变,用户与终端1600接触的存在或不存在,终端1600方位或加速/减速和终端1600的温度变化。传感器组件1614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1616被配置为便于终端1600和其他设备之间有线或无线方式的通信。终端1600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端1600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行终端侧的上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1604,上述指令可由终端1600的处理器1620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开还公开了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行一种功耗检测方法,所述方法包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收通过外接线缆发送的功耗测试脚本,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件;
当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断;
按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件;
记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
图17是根据一示例性实施例示出的一种用于功耗检测的检测主机的框图。例如,该检测主机1700可以被提供为一服务器。
参照图17,检测主机1700包括处理组件1722,其进一步包括一个或多个处理器,以及由存储器1732所代表的存储器资源,用于存储可由处理组件1722的执行的指令,例如应用程序。存储器1732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1722被配置为执行指令,以执行上述服务器侧的方法。
检测主机1700还可以包括一个电源组件1726被配置为执行检测主机1700的电源管理,一个有线或无线网络接口1750被配置为将检测主机1700连接到网络,和一个输入输出(I/O)接口1758。检测主机1700可以操作基于存储在存储器1732的操作系统,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本公开还公开了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行一种功耗检测方法,所述方法包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取待检测终端中安装的测试应用的标识;
生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本;
将所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端;
当所述功耗测试脚本发送完成后,通过所述外接线缆向所述待检测终端发送脚本执行命令。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (18)

1.一种功耗检测方法,应用于终端,其特征在于,包括:
接收通过外接线缆发送的功耗测试脚本,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件;
当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断;
按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件;
记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
2.根据权利要求1所述的功耗检测方法,其特征在于,所述方法还包括:
在所述控制与所述外接线缆的数据通道中断之前,检测是否接收到忽略中断命令;
当接收到所述忽略中断命令时,判断是否检测到与所述外接线缆的数据通道中断的中断信号;
当接收到所述中断信号时,根据所述忽略中断命令忽略所述中断信号,以执行所述按照所述功耗测试脚本执行每个所述模拟操作组合中的模拟操作的步骤。
3.根据权利要求1所述的功耗检测方法,其特征在于,所述功耗测试脚本中还包括:预设事件数量;
所述在系统事件被触发时采集一次系统功耗,包括:
判断连续被触发的系统事件的数量是否等于预设事件数量的整数倍;
当连续被触发的系统事件的数量等于预设事件数量的整数倍时,采集一次系统功耗。
4.根据权利要求1或3所述的功耗检测方法,其特征在于,所述方法还包括:
按照时间分布排列触发的所有系统事件与采集的系统功耗;
将位于当前系统功耗的采集时刻和前一次系统功耗的采集时刻之间的系统事件,与,所述当前系统功耗建立对应关系。
5.根据权利要求4所述的功耗检测方法,其特征在于,所述方法还包括:
根据系统功耗以及系统功耗的采集时刻生成功耗趋势图;
将所述功耗趋势图中超过预设阈值的系统功耗确定为异常功耗;
将触发时刻位于所述异常功耗的采集时刻与前一次系统功耗的采集时刻之间的系统事件,确定为与所述异常功耗相关联的可疑系统事件。
6.一种功耗检测方法,应用于检测主机,其特征在于,包括:
获取待检测终端中安装的测试应用的标识;
生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本;
将所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端;
当所述功耗测试脚本发送完成后,通过所述外接线缆向所述待检测终端发送脚本执行命令。
7.根据权利要求6所述的功耗检测方法,其特征在于,所述方法还包括:
获取预设事件数量;
将所述预设事件数量作为采样间隔存储至所述功耗测试脚本中。
8.根据权利要求6所述的功耗检测方法,其特征在于,所述方法还包括:
检测是否接收到忽略中断操作;
当接收到忽略中断操作时,生成忽略中断命令并通过所述外接线缆发送给所述待检测终端。
9.一种功耗检测系统,应用于终端,其特征在于,包括:
接收存储单元,用于接收通过外接线缆发送的功耗测试脚本,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件;
中断控制单元,用于当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断;
执行触发单元,用于在所述中断控制单元控制所述终端与所述外接线缆的数据通道中断后,按照所述接收存储单元接收到的所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件;
时刻记录单元,用于记录每个被所述执行触发单元触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
10.根据权利要求9所述的功耗检测系统,其特征在于,所述系统还包括:
命令检测单元,用于在所述中断控制单元控制与所述外接线缆的数据通道中断之前,检测是否接收到忽略中断命令;
信号判断单元,用于当命令检测单元接收到所述忽略中断命令时,判断是否检测到与所述外接线缆的数据通道中断的中断信号;
忽略单元,用于当信号判断单元接收到所述中断信号时,根据所述忽略中断命令忽略所述中断信号,以使所述执行触发单元按照所述功耗测试脚本执行每个所述模拟操作组合中的模拟操作。
11.根据权利要求9所述的功耗检测系统,其特征在于,所述功耗测试脚本中还包括:预设事件数量;
所述时刻记录单元,包括:
数量判断模块,用于判断连续被触发的系统事件的数量是否等于预设事件数量的整数倍;
功耗采集模块,用于当数量判断模块判断得到连续被触发的系统事件的数量等于预设事件数量的整数倍时,采集一次系统功耗。
12.根据权利要求9或11所述的功耗检测系统,其特征在于,所述系统还包括:
排列单元,用于按照时间分布排列触发的所有系统事件与采集的系统功耗;
建立单元,用于根据排列单元的排列结果将位于当前系统功耗的采集时刻和前一次系统功耗的采集时刻之间的系统事件,与,所述当前系统功耗建立对应关系。
13.根据权利要求12所述的功耗检测系统,其特征在于,所述系统还包括:
趋势图生成单元,用于根据系统功耗以及系统功耗的采集时刻生成功耗趋势图;
功耗确定单元,用于将所述功耗趋势图中超过预设阈值的系统功耗确定为异常功耗;
事件确定单元,用于将触发时刻位于所述异常功耗的采集时刻与前一次系统功耗的采集时刻之间的系统事件,确定为与所述异常功耗相关联的可疑系统事件。
14.一种功耗检测系统,应用于检测主机,其特征在于,包括:
标识获取单元,用于获取待检测终端中安装的测试应用的标识;
脚本生成单元,用于根据标识获取单元获取的标识生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本;
脚本发送单元,用于将所述脚本生成单元生成的所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端;
命令发送单元,用于当所述脚本发送单元将所述功耗测试脚本发送完成后,通过所述外接线缆向所述待检测终端发送脚本执行命令。
15.根据权利要求14所述的功耗检测系统,其特征在于,所述系统还包括:
数量获取单元,用于获取预设事件数量;
存储单元,用于将数量获取单元获取的所述预设事件数量作为采样间隔存储至所述功耗测试脚本中。
16.根据权利要求14所述的功耗检测系统,其特征在于,所述系统还包括:
操作检测单元,用于检测是否接收到忽略中断操作;
生成发送单元,用于当操作检测单元接收到忽略中断操作时,生成忽略中断命令并通过所述外接线缆发送给所述待检测终端。
17.一种终端,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收通过外接线缆发送的功耗测试脚本,所述功耗测试脚本包括:所述终端中至少一个测试应用的模拟操作执行文件;
当接收到脚本执行命令时,控制与所述外接线缆的数据通道中断;
按照所述功耗测试脚本执行每个所述模拟操作执行文件,每个所述模拟操作执行文件在执行时触发至少一个系统事件;
记录每个被触发的系统事件以及触发时刻,以及,在系统事件被触发时采集一次系统功耗且记录系统功耗的采集时刻。
18.一种检测主机,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取待检测终端中安装的测试应用的标识;
生成包含至少一个所述测试应用的模拟操作执行文件的功耗测试脚本;
将所述功耗测试脚本通过外接线缆发送给一个或多个所述待检测终端;
当所述功耗测试脚本发送完成后,通过所述外接线缆向所述待检测终端发送脚本执行命令。
CN201510755513.8A 2015-11-09 2015-11-09 功耗检测方法、系统及终端 Active CN105446854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510755513.8A CN105446854B (zh) 2015-11-09 2015-11-09 功耗检测方法、系统及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510755513.8A CN105446854B (zh) 2015-11-09 2015-11-09 功耗检测方法、系统及终端

Publications (2)

Publication Number Publication Date
CN105446854A true CN105446854A (zh) 2016-03-30
CN105446854B CN105446854B (zh) 2018-03-20

Family

ID=55557086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510755513.8A Active CN105446854B (zh) 2015-11-09 2015-11-09 功耗检测方法、系统及终端

Country Status (1)

Country Link
CN (1) CN105446854B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106507340A (zh) * 2016-11-01 2017-03-15 西安易朴通讯技术有限公司 手机续航的测试方法及测试系统
CN106610873A (zh) * 2016-11-17 2017-05-03 北京大学(天津滨海)新代信息技术研究院 一种Android设备上应用程序能耗预测方法
CN108226628A (zh) * 2016-12-14 2018-06-29 联芯科技有限公司 终端功耗实时测试装置及方法
CN107870841B (zh) * 2016-09-26 2020-09-01 展讯通信(上海)有限公司 移动终端功耗分析方法及系统
CN114168432A (zh) * 2022-02-11 2022-03-11 为准(北京)电子科技有限公司 应用程序的功耗检测方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120235963A1 (en) * 2011-03-16 2012-09-20 Kyocera Corporation Electronic device, control method, and storage medium storing control program
CN103425574A (zh) * 2012-05-25 2013-12-04 腾讯科技(深圳)有限公司 一种测试应用程序的方法及装置
CN103857019A (zh) * 2012-11-30 2014-06-11 辉达公司 一种在移动终端中用于省电的方法
CN104699598A (zh) * 2013-12-09 2015-06-10 腾讯科技(深圳)有限公司 自动化测试方法、装置、设备及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120235963A1 (en) * 2011-03-16 2012-09-20 Kyocera Corporation Electronic device, control method, and storage medium storing control program
CN103425574A (zh) * 2012-05-25 2013-12-04 腾讯科技(深圳)有限公司 一种测试应用程序的方法及装置
CN103857019A (zh) * 2012-11-30 2014-06-11 辉达公司 一种在移动终端中用于省电的方法
CN104699598A (zh) * 2013-12-09 2015-06-10 腾讯科技(深圳)有限公司 自动化测试方法、装置、设备及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870841B (zh) * 2016-09-26 2020-09-01 展讯通信(上海)有限公司 移动终端功耗分析方法及系统
CN106507340A (zh) * 2016-11-01 2017-03-15 西安易朴通讯技术有限公司 手机续航的测试方法及测试系统
CN106507340B (zh) * 2016-11-01 2019-12-13 西安易朴通讯技术有限公司 手机续航的测试方法及测试系统
CN106610873A (zh) * 2016-11-17 2017-05-03 北京大学(天津滨海)新代信息技术研究院 一种Android设备上应用程序能耗预测方法
CN108226628A (zh) * 2016-12-14 2018-06-29 联芯科技有限公司 终端功耗实时测试装置及方法
CN114168432A (zh) * 2022-02-11 2022-03-11 为准(北京)电子科技有限公司 应用程序的功耗检测方法、装置、电子设备及存储介质
CN114168432B (zh) * 2022-02-11 2022-05-10 为准(北京)电子科技有限公司 应用程序的功耗检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN105446854B (zh) 2018-03-20

Similar Documents

Publication Publication Date Title
CN105306931A (zh) 智能电视异常检测方法及装置
CN109359056B (zh) 一种应用程序测试方法及装置
CN105446854A (zh) 功耗检测方法、系统及终端
US20170013456A1 (en) Method and device for testing a terminal
CN105530372A (zh) 消息显示方法、装置及终端设备
CN105095345A (zh) 推送消息的提示方法及装置
CN104866409A (zh) 内存泄露监控方法和装置
CN103888601B (zh) 信息提醒方法、装置及终端
CN105095081A (zh) 应用程序的功能测试方法及装置
CN106253996B (zh) 灵敏度衰减测试方法及装置
CN105353901A (zh) 对触摸操作进行有效性判断的方法及装置
CN105323152A (zh) 消息的处理方法、装置及设备
CN105491576A (zh) 采集网络测试数据的方法和装置
CN104035673A (zh) 对象控制方法及相关装置
CN105511777A (zh) 触控显示屏上的会话显示方法及装置
CN104702756A (zh) 一种通话无声的检测方法及装置
CN107562500B (zh) 调试装置、方法及设备
CN104572875A (zh) 推广信息投放有效性确定方法及装置
CN104581615A (zh) 服务提供方法及装置
CN105204713A (zh) 来电响应方法及装置
CN105573747A (zh) 用户界面的测试方法及装置
CN105227660A (zh) 一种提醒方法及装置
CN104601921A (zh) 系统配置方法及装置
CN106330581A (zh) 通信接口测试方法及装置
CN105404454A (zh) 通知处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant