CN108334440A - 一种获取应用性能测试结果的处理方法及装置、客户端 - Google Patents
一种获取应用性能测试结果的处理方法及装置、客户端 Download PDFInfo
- Publication number
- CN108334440A CN108334440A CN201710038773.2A CN201710038773A CN108334440A CN 108334440 A CN108334440 A CN 108334440A CN 201710038773 A CN201710038773 A CN 201710038773A CN 108334440 A CN108334440 A CN 108334440A
- Authority
- CN
- China
- Prior art keywords
- application
- parameter
- intended application
- test result
- performance
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种获取应用性能测试结果的处理方法及装置、客户端。所述方法包括:在目标应用处于运行状态时,应用测试模块基于接收到的测试触发指令,获取目标应用预设性能参数的参数值,所述应用测试模块与所述目标应用相耦合;根据所述预设性能参数以及对应的参数值,所述应用测试模块计算得到所述目标应用在所述运行状态下的测试结果,所述测试结果包括硬件测试结果、操作系统测试结果、应用测试结果。利用本申请方法或装置实施例,可以获取所述目标应用在运行状态下的性能数据,真实地反应所述目标应用性能的动态变化,计算得到更加准确、可靠的测试结果。
Description
技术领域
本申请涉及应用性能测试技术领域,特别涉及一种获取应用性能测试结果的处理方法及装置、客户端。
背景技术
随着计算机通信以及互联网技术的发展,电子设备的应用越来越广泛,而安装于电子设备中的各类应用(Application,英文缩写为App)也越来越多。应用的运行需要消耗电子设备的资源,例如电量资源、内存资源、CPU资源等。而电子设备的总体可利用资源一般是有限的,随着安装的应用的数量增多,电子设备的资源消耗量也相对越大。因此,为了合理利用电子设备的有限资源,需要对应用的资源利用进行优化,而资源优化的基础在于获取应用的性能数据。
目前,最常用的性能方法是获取电子设备的硬件参数值,例如设备品牌、CPU核数等,或者所述电子设备的操作系统的参数值,例如CPU利用率、剩余内存等。通过上述测试方法获取的测试结果可以用于获取电子设备以及整个操作系统的性能,但是,无法用于获取预设应用动态变化的性能,因而无法根据用于程序的性能数据对应用进行资源优化。
因此,现有技术中亟需一种获取目标应用性能测试结果的处理方法,可以实时获取目标应用的性能,以根据所述目标应用的实时性能,对目标应用的资源进行动态优化。
发明内容
本申请实施例的目的在于,提供一种获取应用性能测试结果的处理方法及装置、客户端,可以获取更加准确、可靠的应用测试结果。
本申请实施例提供的一种获取应用性能测试结果的处理方法及装置、客户端具体是这样实现的:
一种获取应用性能测试结果的处理方法,包括:
在目标应用处于运行状态时,应用测试模块基于接收到的测试触发指令,获取所述目标应用预设性能参数的参数值,所述应用测试模块与所述目标应用相耦合;
根据所述预设性能参数以及对应的参数值,所述应用测试模块计算得到所述目标应用在所述运行状态下的测试结果,所述测试结果包括硬件测试结果、操作系统测试结果、应用测试结果。
一种获取应用性能测试结果的处理方法,包括:
在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用第一预设性能参数的参数值;
将所述第一预设性能参数以及对应的参数值发送至服务器;
接收与所述第一预设性能参数相关联的第二预设性能参数的参数值以及所述目标应用的测试结果。
一种获取应用性能测试结果的处理方法,包括:
在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用预设性能参数的参数值;
将所述预设性能参数以及对应的参数值发送至服务器;
接收所述目标应用的测试结果。
一种获取应用性能测试结果的处理装置,包括:
性能数据获取单元,用于在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用预设性能参数的参数值;
测试结果计算单元,用于根据所述预设性能参数以及对应的参数值,计算得到所述目标应用在所述运行状态下的测试结果。
一种客户端,包括:
第一性能数据获取单元,用于基于触发的测试指令,获取目标应用在运行状态时第一预设性能参数的参数值;
参数值发送单元,用于将所述第一预设性能参数以及对应的参数值发送至服务器;
测试结果接收单元,用于接收与所述第一预设性能参数相关联的第二预设性能参数的参数值以及所述目标应用的测试结果。
一种客户端,包括:
性能数据获取单元,用于在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用预设性能参数的参数值;
性能数据发送单元,用于将所述预设性能参数以及对应的参数值发送至服务器;
测试结果接收单元,用于接收所述目标应用的测试结果。
本申请提供的获取应用性能测试结果的处理方法及装置、客户端,可以基于测试触发指令,获取目标应用在运行状态下的预设性能参数的参数值,根据所述预设性能参数以及对应的参数值,计算得到所述目标应用在所述运行状态下的测试结果。本申请提供的获取应用测试结果的方法可以将应用测试模块耦合至目标应用中,无需安装第三方软件,即可以实现对目标应用的测试功能。另外,所述应用模块具有通用性与可移植性,可以不限于应用的类别,对应用进行性能测试。本实施例中,由于所述操作系统、所述目标应用的性能随着所述目标应用的运行而变化,因此,获取的所述目标应用在运行状态下的性能数据,不仅可以真实地反应所述目标应用性能的动态变化,计算得到的测试结果更加准确、可靠,后续还可以基于所述目标应用在运行状态时的性能数据,动态调整所述目标应用的资源调度。现对于现有技术而言,现有技术中获取的硬件性能测试结果、操作系统测试结果已经不能满足目标应用对资源优化的数据要求,本申请提供的实施例方法针对目标应用,可以根据获取的所述目标应用的测试结果,对所述目标应用进行动态地资源优化,从而将电子设备的资源优化具体到应用级别,提高电子设备的资源优化效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的获取应用性能测试结果处理方法的一个应用场景图;
图2是本申请提供的测试结果的数据结构图;
图3是本申请提供的展示XX应用测试结果的示意图;
图4是本申请提供的展示XX应用测试结果的示意图;
图5是本申请提供的获取应用性能测试结果处理方法的一种实施例的方法流程图;
图6是本申请提供的硬件测试结果、操作系统测试结果、应用测试结果之间的关系图;
图7是本申请提供的计算所述目标应用测试结果的一种实施例的流程图;
图8是本申请提供的资源调整方法的一种实施例的方法流程图;
图9是本申请提供的资源调整方法的一种实施例的方法流程图;
图10是本申请提供资源调整的场景示意图;
图11是本申请提供的获取应用性能测试结果处理装置的一种实施例的模块结构示意图;
图12是本申请提供的获取应用性能测试结果处理方法的另一种实施例的方法流程图;
图13是本申请提供的客户端的一种实施例的模块结构示意图;
图14是本申请提供的获取应用性能测试结果处理方法的另一种实施例的方法流程图;
图15是本申请提供的客户端的一种实施例的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了方便本领域技术人员理解本申请实施例提供的技术方案,下面先对技术方案实现的技术环境进行说明。
在普通的客户端中,若要获取客户端的性能数据,通常的做法是在客户端操作系统中安装具有性能测试功能的第三方应用,该第三方应用可以通过客户端操作系统的预设接口读取操作系统当前的运行数据。第三方应用在获取操作系统当前的运行数据之后,可以按照一定的算法计算得到客户端的性能数据。
在一个具体的应用场景中,用户从第三方获取的性能数据往往只包括客户端的硬件性能数据和操作性能数据,很多第三方应用通过下述示例向用户展示相应的性能数据:“硬件:85分(良)”、“操作系统:90分(优)”等等。如上所述,用户获取客户端性能数据的一个重要作用在于对客户端进行资源优化,合理利用客户端设备的有限资源。基于此,若用户通过第三方展示的性能数据,发现客户端性能评分较低,则可以通过第三方应用对客户端进行整体的资源优化,例如,清理内存垃圾、关闭资源消耗最大的进程等,或者,用户还可以访问常用的应用,分别对各个常用应用进行资源优化。
结合上述的技术环境与应用场景,可以发现现有技术中获取客户端性能数据的方法不能获取操作系统中各个应用的性能数据,因此,具有诸如以下技术问题:
(1)第三方应用在生成客户端性能数据过程中,一般只能通过预设接口访问操作系统的文件获取运行数据,而操作系统中记录的运行数据只是系统的整体运行数据,不包括每个应用的运行数据。并且,由于访问权限问题,第三方应用不能获取所有应用详细的应用数据,因此,通过对第三方应用对客户端进行资源优化只能达到操作系统层级,无法到达应用层级。如果对客户端的资源优化只局限于操作系统层级,则不能满足目前客户端设备对资源优化的需求;
(2)用户在获取第三方应用的性能数据之后,可以手动对各个常用应用进行内存清理。显然,该方法对于用户来说,操作复杂,目的性不强,用户甚至不能正确定位消耗资源最多的应用。另外,用户对应用的优化局限于内存清理如此简单的动作,而不能进一步地对应用中进程、线程等底层数据进行管理。
基于类似于上述描述的实际技术需求,发明人提出了能够获取应用性能数据的方案,该方案在不需要第三方应用的前提下,能够获取目标应用实时动态的性能数据,进而可以将客户端的资源优化具体到应用层级。
本申请实施例提供的技术方案应用于客户端,客户端可以是独立的应用,还可以是嵌入在应用中的功能模块等,例如,可以是“天猫”、“淘宝”等移动终端App中的功能模块,等等。接下来对本申请实施例提供的具体实现方案进行详细介绍。
本实施例的实施主体可以为应用测试模块,所述应用测试模块可以实现对应用进行性能测试的功能。本实施例中,可以将所述应用与所述应用测试模块进行耦合,具体耦合方式可以包括在所述应用上注册所述应用测试模块,并通过所述应用测试模块的预设接口将所述应用测试模块与所述应用连接。将所述应用与所述应用测试模块耦合之后,所述应用可以实现对应用进行性能测试的功能。
下面通过图1所示的一个具体的应用场景说明所述应用测试模块在所述应用中实现性能测试的方法。
本实施例中,所述应用测试模块可以包括软件开发工具包(SDK),所述SDK可以包括实现所述目标应用测试功能所需的接口、工具以及数据资源等。在其他实施例中,所述应用测试模块还可以包括任何能够实现目标应用测试功能的客户端等。本实施例中的所述目标应用可以包括对客户端设备或者操作系统性能要求较高的应用,例如各种购物应用、即时通信应用、搜索应用等。当然,在其他实施例中,所述目标应用还可以为安装于客户端设备中任何其他应用。图1是本申请提供的目标应用与应用测试模块之间的交互图,如图1的步骤1所示,在所述目标应用中注册所述应用测试模块的服务,并通过所述应用测试模块的预设接口将所述应用测试模块与所述目标应用连接。
所述目标应用注册所述应用测试模块的服务之后,所述应用测试模块可以基于测试触发指令,获取所述目标应用的预设性能参数的参数值。在本申请的一个实施例中,可以设置在用户启动所述目标应用的时刻生成所述测试触发指令。在本申请的另一个实施例中,可以设置在所述目标应用处于运行状态时,每隔预设时间段生成一次所述测试触发指令,例如,所述预设时间段可以为30秒、1分钟、5分钟、7分钟等。
所述应用测试模块在获取所述预设性能参数的参数值后,可以根据所述预设性能参数的参数值,计算得到所述目标应用在所述运行状态下的测试结果。图2是本申请提供的测试结果的数据结构图。如图2所示,所述目标应用的测试结果可以包括三个组成部分:硬件测试结果、操作系统测试结果、应用测试结果。
所述硬件测试结果可以根据目标应用所在设备的硬件参数计算得到,如图2所示,例如,所述硬件参数可以包括CPU核数、CPU型号、总内存、GPU版本、GPU供应商等参数。在本实施例中,所述应用测试模块可以从所述目标应用中获取上述硬件参数的值,例如,在Linux操作系统中,所述CPU信息可以通过读取文件“/proc/cpuinfo”获取,所述内存信息可以通过读取文件“/proc/meminfo”获取。在其他实施例中,所述应用测试模块还可以通过其他系统接口获取所述硬件参数的参数值,本申请在此不做限制。根据所述硬件参数以及对应的参数值,可以计算得到所述目标应用所在设备的硬件评分。在本申请的一个实施例中,可以采用加权和方法计算得到所述硬件评分,例如,在本场景中,设置CPU核数、CPU型号、总内存、GPU版本、GPU供应商对应的权重值分别为0.4、0.1、0.2、0.1、0.2。以满分为100分的评分制计算,当CPU核数为4核时,设置评分为90,当CPU型号为MTK-XXX时,设置评分为80,当内存为4G时,设置评分为90,当GPU版本为Mali-XX时,设置评分为70,当GPU供应商为ARM时,设置评分为70。将所述硬件参数值以及相应的权重值加权和之后,可以计算得到所述目标应用所在硬件设备的硬件测试结果为80分。
本实施例中,在计算所述操作系统测试结果时,由于所述操作系统的性能基于所在设备的硬件性能,因此,可以将所述硬件测试结果作为所述操作系统测试结果加权和的一部分,再使用与上述同样的方法,计算得到所述操作系统测试结果为94分。
同样地,所述目标应用的性能基于所在设备的硬件性能、操作系统性能,因此,在计算所述应用测试结果时,可以将所述硬件测试结果、操作系统测试结果作为所述操作系统测试结果加权和的一部分,再使用与上述同样的方法,计算得到所述操作系统测试结果为70分。
在本申请的一个实施例中,在计算得到所述目标应用的测试结果后,可以将所述测试结果展示于所述目标应用的用户界面上。图3是本申请提供的展示XX应用测试结果的示意图,如图3所示,当用户启动XX应用时,所述应用测试模块可以对所述XX应用进行性能测试,并生成实时的测试结果。如图3的左图所示,可以在XX应用的用户页面的指定位置处展示测试结果的提醒图标“测试结果”,用户点击所述提醒图标“测试结果”可以跳转至如图3右图所示的“XX应用的测试结果”用户界面。在所述用户界面中,用户可以了解到所述目标应用当前的实时测试结果。进一步地,通过点击各个测试结果的“查看详情”,可以分别获取计算得到各个测试结果所需预设性能参数的参数值等。在本申请的另一个实施例中,如图4所示,还可以在所述XX应用用户界面的指定位置处直接展示所述XX应用的测试结果,这样,用户可以在用户界面上很容易地获取所述XX应用的实时测试结果。
相对于现有技术的测试方法,本申请提供的获取应用测试结果的方法,可以利用应用测试模块对所述应用进行性能测试,对目标应用的资源优化产生诸多积极的作用。诸如但不限于:
一、现有技术中的测试方法通过第三方软件实现测试功能,用户只有安装所述第三方软件,才能够获取测试结果,而本申请提供的获取应用测试结果的方法可以将应用测试模块耦合至目标应用中,无需安装第三方软件,即可以实现对目标应用的测试功能。另外,所述应用模块具有通用性与可移植性,可以不限于应用的类别,对应用进行性能测试。
二、现有技术中无法获取指定的目标应用在运行状态时的性能数据,本申请提供的获取应用测试结果的方法可以计算得到目标应用在运行状态时的性能数据,真实地反应所述目标应用性能的动态变化,计算得到的测试结果更加准确、可靠。
三、现有技术中往往根据获取的硬件性能测试结果和操作系统测试结果对设备性能进行整体优化,不能将电子设备的优化具体到应用级别。本申请提供的实施例方法针对目标应用,可以根据获取的所述目标应用的测试结果,对所述目标应用进行资源优化,从而将电子设备的资源优化具体到应用级别,提高电子设备的资源优化效率。
下面结合附图对本申请所述获取应用性能测试结果的处理方法进行详细的说明。图5是本申请提供的获取应用性能测试结果处理方法的一种实施例的方法流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际中的获取应用性能测试结果处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
具体的本申请提供的获取应用性能测试结果处理方法的一种实施例如图5所示,所述方法可以包括:
S51:在目标应用处于运行状态时,应用测试模块基于接收到的测试触发指令,获取目标应用预设性能参数的参数值,所述应用测试模块与所述目标应用相耦合。
本实施例的实施主体可以为与目标应用相耦合的应用测试模块,所述应用测试模块可以用于接收测试触发指令,并基于所述测试触发指令,对所述目标应用进行性能测试。本实施例中,可以将启动目标应用作为生成所述测试触发指令的触发事件。本实施例中,由于所述目标应用的性能测试结果可能会随着所述目标应用的运行而变化,为了能够实时、动态地获取所述目标应用的性能数据,可以设置在所述目标应用处于运行状态时,每隔预设时间段对运行中的所述目标应用进行性能测试,也就是,所述目标应用可以每隔所述预设时间段产生一次测试触发指令,例如,所述预设时间段可以为30秒、1分钟、5分钟、7分钟等。
所述应用测试模块在接收到所述测试触发指令后,可以基于所述测试触发指令,获取所述目标应用在预设性能参数的参数值。在本申请的一个实施例中,所述预设性能参数可以包括所述目标应用的第一性能参数以及参数值。
本实施例中,所述目标应用的所述第一性能参数可以包括下述中的至少一种:输入/输出等待时间、输入/输出等待次数、CPU占用率、内存使用率、剩余可用内存、最大的线程数、同时运行的线程数、内存回收导致停顿的次数、同步锁引起停顿的次数、线程调度的最大等待时间、线程调度的累计等待时间、线程调度的累计等待次数。
一般地,应用与进程具有对应关系,本实施例中,所述目标应用与目标进程相对应。上述第一性能参数中,所述目标进程的输入/输出等待时间、输入/输出等待次数、线程调度的最大等待时间、线程调度的累计等待时间、线程调度的累计等待次数等参数可以反映所述目标应用的输入/输出性能。当所述目标进程的输入/输出等待时间越短,输入/输出等待次数越少,所述目标应用的输入/输出性能越好。所述CPU占用率可以用于获取所述目标应用的CPU资源占用信息。所述内存使用率、可用内存可以用于获取所述目标应用的内存使用信息。所述最大的线程数、同时运行的线程数可以用于获取所述目标进程的线程使用信息,通过所述线程使用信息可以进一步了解所述目标应用是否发生线程堵塞。所述内存回收导致停顿的次数可以用于获取所述目标应用的内存回收对操作系统产生的卡顿影响信息。
在本申请的另一个实施例中,所述预设性能参数还可以包括所述目标应用所在设备的硬件参数、所述设备的操作系统的第二性能参数。
所述目标应用所在设备具体可以包括移动智能电话、计算机(包括笔记本电脑,台式电脑)、平板电子设备、个人数字助理(PDA)或者智能可穿戴设备等。所述设备的硬件参数可以包括下述中的至少一种:CPU最高频率、CPU最低频率、CPU核数、CPU工艺、CPU架构、CPU型号、CPU缓存大小、CPU供应商,GPU频率、GPU供应商、GPU品牌、操作系统的版本、硬件总内存、剩余可用内存、设备屏幕大小、设备屏幕密度、最大允许进程内存、开放图形库的版本、设备品牌、使用年限。
在上述硬件参数中,设备的CPU信息可以包括CPU最高频率、CPU最低频率、CPU核数、CPU的工艺、CPU架构、CPU型号、CPU缓存大小、CPU供应商等,在Linux操作系统中,所述CPU信息可以通过读取文件“/proc/cpuinfo”获取。设备的内存信息可以包括硬件总内存、可用内存,在Linux操作系统中,所述内存信息可以通过读取文件“/proc/meminfo”获取。其他的硬件参数例如GPU频率、GPU供应商、GPU品牌、操作系统的版本、设备屏幕大小、设备屏幕密度、最大允许进程内存、开放图形库的版本、设备品牌、使用年限等参数可以通过所述设备的操作系统的预设接口或者操作系统的信息文件获取。
本实施例中的硬件参数种类较多,因而可以从多个方面获取所述目标应用所在设备的硬件性能数据。举例说明,对于具有相同CPU核数、CPU架构、CPU缓存大小、CPU频率的两台设备来说,可能由于CPU工艺、设备品牌的不同而产生较大的性能差异。再如,两台具有相同品牌、相同型号的设备可能由于使用年限的不同而产生较大的性能差异。
所述设备的操作系统例如可以包括安卓、iOS、Windows、Linux、Unix等系统。所述操作系的第二性能参数包括下述中的至少一种:输入/输出等待时间、输入/输出等待次数、CPU使用率、内存使用率、可用内存、进程数量、服务数量、进程CPU占用率、服务CPU占用率、系统调度的负载、CPU负载、进程调度的最大等待时间、进程调度的累计等待时间、进程调度的累计等待次数。
在上述第二性能参数中,所述操作系统的CPU使用信息可以包括CPU使用率、进程数量、服务数量、进程CPU占用率、服务CPU占用率等参数。在Linux操作系统中,可以通过读取文件“/proc/”获取操作系统的进程和服务的数量,以及各个进程、服务的ID值。根据进程、服务的ID值,通过读取文件“/proc/进程ID=pid1/sched、meminfo、fd、task”,可以获取ID=pid1的进程的调度信息、内存信息、打开文件信息、包含线程信息等。本实施例中,所述输入/输出等待时间、输入/输出等待次数、进程调度的最大等待时间、进程调度的累计等待时间、进程调度的累计等待次数等参数可以反映所述操作系统的输入/输出性能。所述系统调度的负载、CPU负载可以用于获取整个系统的负载以及每个CPU的负载信息,还可以进一步获取CPU的负载均衡性。
本实施例中,所述设备的操作系统性能关系到系统运行的流畅程度,进而关系到用户使用的体验感。通过从操作系统的输入/输出性能、CPU使用信息、内存使用信息等方面获取所述操作系统的性能数据,对于获取目标应用的性能测试结果具有基础性作用。
另外,在本申请的一个实施例中,所述预设性能参数可以被设置成与所述目标应用的业务类型相匹配。一般地,所述目标应用可以分为多种类型,例如视频类应用、文件管理类应用、游戏类应用、文字处理类应用、计算器类应用等。其中,不同种类的应用对资源的需求不相同,例如,视频类应用对于设备GPU性能的要求较高,文件管理类应用对于输入/输出性能、硬件内存要求较高,而游戏类应用对于设备GPU性能、电源管理性能要求较高,计算器类应用对于操作系统的CPU性能要求较高。因此,在本申请的一个实施例中,可以将所述预设性能参数设置成与所述目标应用的业务类型相匹配。例如,对于视频类应用,可以设置所述预设性能数据包括与GPU相关的性能参数。对于文件管理类应用,可以设置所述预设性能数据包括与输入/输出性能相关的性能参数、硬件内存等。
需要说明的是,在本申请的另一个实施例中,所述预设性能参数还可以包括所述与所述目标应用相关联的应用的性能参数以及参数值。当然,所述预设性能参数不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
本实施例中,所述目标应用运行之后,所述操作系统、所述目标应用的性能都随着所述目标应用的运行而变化。获取所述目标应用在运行状态下的预设性能参数,不仅可以获取所述目标应用性能的动态变化,后续还可以基于所述目标应用在运行状态时的预设性能参数,动态调整所述目标应用的资源调度。
S52:根据所述预设性能参数以及对应的参数值,所述应用测试模块计算得到所述目标应用在所述运行状态下的测试结果。
本实施例中,所述应用测试模块可以根据所述预设性能参数以及对应的参数值,计算得到所述目标应用在所述运行状态下的测试结果。在本申请的一个实施例中,所述测试结果可以包括硬件测试结果、操作系统测试结果、应用测试结果。图6是本申请提供的硬件测试结果、操作系统测试结果、应用测试结果之间的关系图,如图6所示,在本申请的一个实施例中,所述硬件测试结果可以基于所述硬件参数以及参数值计算得到,所述操作系统测试结果可以基于所述硬件测试结果、所述第二性能参数以及参数值计算得到,所述应用测试结果可以基于所述硬件测试结果、所述操作系统测试结果、所述第一性能参数以及参数值计算得到。所述操作系统测试结果与所述设备的硬件测试结果相关联,设备硬件的性能可以对所述操作系统的性能产生较大影响。因此,在计算所述操作系统测试结果的过程中,将所述设备的硬件测试结果作为基础,可以计算得到更加准确、可靠的操作系统测试结果。所述目标应用的测试结果与所述硬件测试结果、所述操作系统测试结果相关联,设备硬件的性能、操作系统的性能可以对应用性能产生较大影响。因此,在计算所述应用测试结果的过程中,将所述硬件测试结果、所述操作系统测试结果作为基础,可以计算得到更加准确、可靠的应用测试结果。
在本申请的一个实施例中,所述测试结果根据所述预设性能参数以及对应的参数值计算得到,图7是本申请提供的计算所述目标应用测试结果的一种实施例的流程图,如图7所示,所述计算得到所述目标应用在所述运行状态下的测试结果可以包括:
S71:从预先设置的权重对应关系中获取所述第一性能参数、所述硬件参数、所述第二性能参数对应的权重值。
本实施例中,可以从预先设置的权重对应关系中获取所述第一性能参数、所述硬件参数、所述第二性能参数对应的权重值。在本申请的一个实施例中,所述权重值被设置成与所述目标应用的业务类型相匹配。由上所述,所述目标应用可以分为多种类型,不同种类的应用对资源的需求不相同。因此,在本申请的一个实施例中,所述权重值的设置可以与所述目标应用的业务类型相匹配。例如,表1是本申请提供的不同应用种类的参数-权重值关系对应表,如表1所示,对于不同业务类型的应用而言,所述参数对应的权重值不相同。当然,所述权重对应关系不限于表1所示的关系表对应关系,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
表1不同应用种类的参数-权重值关系对应表
S72:基于所述第一性能参数、所述硬件参数、所述第二性能参数对应的权重值、参数值,采用预设计算方法计算得到所述目标应用在所述运行状态下的测试结果。
本实施例中,在获取所述第一性能参数、所述硬件参数、所述第二性能参数对应的权重值、参数值之后,可以采用预设计算方法计算得到所述目标应用在所述运行状态下的测试结果。在本申请的一个实施例中,所述预设计算方法可以包括加权算法。在本申请的其他实施例中,所述预设计算方法还可以包括神经网络算法、聚类算法等,本申请在此不作限制。下面以加权算法举例说明,当所述测试结果包括硬件测试结果、操作系统测试结果、应用测试结果时,所述硬件测试结果、操作系统测试结果、应用测试结果的计算表达式可以分别为:
其中,M为硬件参数的个数,Hwi为第i个硬件参数,Xi为第i个硬件参数对应的权重值;N为第二性能参数的个数,Opei为第i个第二性能参数,Yi为第i个第二性能参数对应的权重值;P为第一性能参数的个数,Appi为第i个第一性能参数,Zi为第i个第一性能参数对应的权重值。
应用由多个功能模块组成,各个功能模块负责相应功能的实现,例如,界面管理模块负责应用中页面的展示和优化,线程管理模块负责应用中线程的分配和管理。现有技术中,应用在开发完成之后,各个功能模块的实现方式一般是固定不变的,当页面中添加动画视频播放时,界面管理模块负责展示所述动画视频,而不用管应用当前的性能状态。在一种实际应用场景中,如果应用的当前性能状态较差,甚至连页面中的图片加载都发生卡顿现象,但是页面中已添加弹窗式的动画视频,若页面管理模块按照应用开发时设置的实现方式加载并播放所述动画视频,势必会进一步降低应用的性能,严重时可能导致应用发生崩溃,影响应用的正常使用和用户的使用体验。在另一种场景中,线程管理模块给每一种数据加载模块分配预设数量的线程个数,如果在某一时间段内图片加载模块中线程数量不足,导致页面发生卡顿,但是视频加载模块中还存在过量的线程没有使用。可以发现,若按照应用开发时设置的线程管理实现方式,可能导致应用中线程数量分配的不均衡,降低数据加载的效率。
基于类似于上文描述的实际技术需求,发明人在获取所述目标应用在运行状态下的测试结果之后,可以利用所述测试结果,在不修改应用的基本结构的情况下,通过所述应用测试模块通知各个应用中功能模块的方式,使得各个功能模块根据所述测试结果调整对应用的资源调度。
基于此,在本申请的一个实施例中,所述应用测试模块可以提取出异常的预设性能参数和/或测试结果,并根据所述异常的预设性能参数和/或测试结果,生成资源调整策略。图8是本申请提供的资源调整方法的一种实施例的方法流程图,如图8所示,所述资源调整方法可以包括:
S81:所述应用测试模块提取出发生异常的预设性能参数和/或测试结果;
S82:所述应用测试模块根据所述异常的预设性能参数和/或测试结果,生成至少一个资源调整策略;
S83:所述应用测试模块将所述资源调整策略发送至与所述资源调整策略相关联的目标应用中的至少一个功能模块;
S84:所述功能模块根据所述资源调整策略进行资源调整。
本实施例中,所述异常的预设性能参数和/或测试结果可以包括下述中的至少一种情况:预设性能参数值过高或者过低、测试结果不能满足预设要求等。本实施例中,可以在所述应用测试模块中预先存储预设性能参数对应的极限值或者标准值范围,例如设置CPU利用率的上限值为95%、剩余可用内存的下限值为30M、线程总并发数量的上限值为60,等等。根据所述预先存储的预设性能参数对应的极限值或者标准值范围,所述应用测试模块可以通过对比、分析的方式,提取出发生异常的预设性能参数和/或测试结果。
在本实施例中,所述应用测试模块还可以根据所述异常的预设性能参数和/或测试结果,生成至少一个资源调整策略,例如,当所述预设性能参数过高时,可以通过所述资源调整策略降低所述预设性能参数。在一个示例中,当CPU利用率超过上限时,所述资源调整策略可以包括减少进程并发数量、关闭某些线程、降低某些线程优先级等。
所述资源调整策略与所述目标应用中的一个或者多个功能模块相关联,如果线程的处理与线程管理模块相关联,图像、音频数据的加载与界面管理模块相关联。所述应用测试模块可以根据所述资源调整策略,将所述资源调整策略以通知的形式发送至与所述资源调整策略相关联的一个或者多个功能模块。所述功能模块在接收到包含所述资源调整策略的通知之后,可以根据所述资源调整策略进行资源调整。
在本申请的另一个实施例中,所述应用测试模块还可以将所述异常的预设性能参数和/或测试结果发送至与所述异常的预设性能参数和/或测试结果相关联的目标应用的至少一个功能模块。所述功能模块根据所述异常的预设性能参数和/或测试结果,生成至少一个资源调整策略。图9是本申请提供的资源调整方法的一种实施例的方法流程图,如图9所示,所述资源调整方法可以包括:
S91:所述应用测试模块提取出发生异常的预设性能参数和/或测试结果;
S92:所述应用测试模块将所述异常的预设性能参数和/或测试结果发送至与所述异常的预设性能参数和/或测试结果相关联的目标应用的至少一个功能模块;
S93:所述功能模块根据所述异常的预设性能参数和/或测试结果,生成至少一个资源调整策略;
S94:所述功能模块根据所述资源调整策略进行资源调整。
在本实施例中,可以将所述预设性能参数和/或测试结果与所述目标应用中的功能模块相关联。当所述预设性能参数和/或测试结果发生异常时,可以将所述异常的预设性能参数和/或测试结果发送至所述相关联的功能模块中。所述功能模块可以根据所述异常的预设性能参数和/或测试结果,生成至少一个资源调整策略,并根据所述资源调整策略进行资源调整。
基于上述资源调整的两种实施方式,本申请列举目标应用中多个功能模块与资源调整策略之间的对应关系,为了能够清楚地示出所述对应关系,本申请中提供如表2所示的功能模块与资源调整策略的对应关系表。如表2所示,所述功能模块与资源调整策略的对应关系表中不仅介绍了各个功能模块在目标应用中的功能,还清楚地示出了资源调整策略所对应的各种异常情况。需要说明的是,表2中只列举了部分功能模块及其对应的部分资源调整策略,当然,功能模块与资源调整策略关联的方式不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
表2功能模块与资源调整策略的对应关系表
下面通过一个具体的场景说明上述资源调度的方法。用户登录手机天猫APP时,耦合于天猫APP中的应用测试模块立即计算得到手机硬件的性能、手机操作系统的性能、天猫APP的性能。应用测试模块在计算得到性能结果之后,可以以图3或者图4的方式向用户展示测试结果。当应用测试模块检测到测试结果偏低或者某些性能参数发生异常时,可以生成针对天猫APP中各个功能模块的资源调整策略。
图10是本申请提供资源调整的场景示意图,如图10所示,在本场景中,应用测试模块检测到手机当前的可用内存小于80M,低于预先设置的标准值100M。为了提高手机的可用内存,保证手机的正常运行,在天猫APP的后台,所述应用测试模块将可用内存偏低的消息通知天猫APP中的界面管理和内存管理两个功能模块。所述内存管理模块接收到消息之后,立即清理天猫APP中的缓存数据,释放一部分内存。所述界面管理模块在接收到所述消息之后,开始监测与界面相关的内存消耗。如图10所示,所述界面管理模块监测到天猫APP正在加载用户点击浏览的一张图片。在数据库中,该图片具有三种大小,分别为高清图片500K、普通图片100K、压缩图片50K。为了尽可能地降低所述目标应用占用手机内存的大小,可以选择展示内存最小的压缩图片,不仅可以降低对操作系统可用内存的消耗,还可以保证所述目标应用的正常运行。
通过对上述资源调度方法以及场景的描述,可以发现,本实施例的资源调度方法可以充分利用目标应用的性能测试结果,将资源调整具体到目标应用中的各个功能模块中,实现功能模块的性能优化。如上所述,本申请可以按照预设时间间隔获取目标应用的性能测试结果,若每次在获取性能测试结果之后均可以进行资源调整,则可以实现对功能模块的实时动态的性能优化,进而实现整个目标应用的实时性能优化。
下面通过几个实施例具体描述目标应用的异常情况与资源调整策略之间的关系。在本申请的一个实施例中,当所述硬件测试结果发生异常时,所述资源调整策略可以包括下述中的至少一种:调整线程并发数量、调整线程优先级、调整线程的运行或者停止、调整内存占用、设备传感器的开启或者关闭、输入/输出读写模块的运行或者停止、调整网络的访问、调整数据下载、预设功能的开启或者关闭。
本实施例中,可以根据所述硬件测试结果,对所述目标应用执行下述动作中的至少一种:调整线程并发数量、调整线程优先级、调整线程的运行或者停止、调整内存占用。例如,当所述硬件测试结果反映所述设备的硬件性能较差时,可以停止消耗内存较多的线程,或者降低已有线程的并发数量,或者部分线程的优先级。在本申请的另一个实施例中,可以根据所述硬件测试结果以及设备剩余可用内存,调整所述目标应用的初始化缓存,当所述设备的硬件性能较高、设备剩余可用内存较大时,可以增加所述目标应用的初始化缓存值。在本申请的另一个实施例中,可以根据所述硬件测试结果,调整设备传感器的开启或者关闭,或者输入/输出读写模块的运行或者停止,或者调整网络的访问,或者调整数据下载,或者调整预设功能的开启或者关闭。例如,在某些应用的页面中,由于业务需求,经常弹出视频或者图像等信息,当计算得到的硬件性能较低时,为了节省所述设备的资源,可以关闭自动弹出视频或者图片等占用设备资源较多的预设功能。本领域技术人员还可以理解到其他多种调整方式,在此不做限制和累述。
在本申请的另一个实施例中,当所述操作系统测试结果和/或所述应用测试结果发生异常时,所述资源调整策略包括调整所述目标应用的下述参数中的至少一种:线程池大小、线程的总并发数量、预设种类线程的并发数量、预设种类线程的优先级。
本实施例中,可以将所述操作系统测试结果和所述应用测试结果应用于结构简单的目标应用中。例如,若所述目标应用中包含的线程池数量较少,则可以根据所述系统测试结果和/或所述应用测试结果,调整所述目标应用的下述参数中的至少一种:线程池大小、线程的总并发数量、预设种类线程的并发数量、优先级等。所述预设种类线程可以包括图片下载线程、解码线程等。例如,在本申请的一个实施例中,若测试结果表明所述目标应用的操作系统性能和/或应用性能较低,则可以降低线程池中线程的总并发数量。在本申请的另一个实施例中,可以降低图片下载线程、解码线程等消耗资源较多的线程的并发数量。在其他实施例中,还可以降低所述图片下载线程、解码线程等线程的优先级。本领域技术人员还可以理解到其他多种调整方式,在此不做限制和累述。
在本申请的另一个实施例中,当所述操作系统的CPU使用率高于第一阈值时,所述资源调整策略可以包括:
SS3-1:当所述操作系统的CPU使用率高于第一阈值时,获取所述目标应用中CPU占用率大于第二阈值的线程;
SS3-2:对所述CPU占用率高于第二阈值的线程执行下述动作中的至少一种:减少并发数量、降低优先级、执行停止。
本实施例中,还可以根据所述操作系统的第二性能参数,调整对所述目标应用的资源调度。CPU使用率作为操作系统的重要参数之一,对所述操作系统的性能具有较大影响。本实施例中,当所述操作系统的CPU使用率大于第一阈值时,可以获取所述目标应用中CPU占用率大于第二阈值的线程,并执行下述动作中的至少一个:减少所述线程的并发数量、降低所述线程的优先级、对所述线程执行停止。本实施例中,所述第一阈值不小于80%。在本申请的另一个实施例中,所述第二阈值不小于10%。本领域技术人员还可以理解到其他多种调整方式,在此不做限制和累述。
在本申请的另一个实施例中,当所述操作系统的可用内存小于第三阈值,和/或所述目标应用的可用内存小于第四阈值时,所述资源调整策略可以包括:
清理所述目标应用的缓存数据、减少线程数量、减少预设种类线程的并发数量、减小大块内存的申请大小、减小显示图片的大小、关闭预设音视频资源的播放、调整用户操作界面的界面路径。
本实施例中,可以根据所述操作系统和/或所述目标应用的可用内存,调整对所述目标应用的资源调度。可用内存对于操作系统和目标应用同样具有较大影响。本实施例中,当所述操作系统和/或所述目标应用的可用内存小于预设阈值时,可以对所述目标应用执行下述动作中的至少一种:清理所述目标应用的缓存数据、减少线程数量、减少预设种类线程的并发数量、减小大块内存的申请大小、减小显示图片的大小、关闭预设音频资源的播放、调整用户界面的界面路径。在本申请的一个实施例中,可以通过调整用户界面的界面路径,降低目标应用的可用内存。例如,我们在购物应用中浏览商品时,经常在详情页面和商品页面进行反复地切换,页面之间的反复切换往往会导致界面路径的循环,界面路径的循环将导致内存的快速消耗。当可用内存小于预设阈值时,若不对目标应用进行资源调整,则目标应用很可能发生崩溃。本实施例中,当检测到界面路径处于循环状态时,可以调整所述界面路径,例如,切断当前的循环链路,释放界面内存,或者改变界面之间的链路方式等,释放界面内存,保证目标应用运行的稳定性。本领域技术人员还可以理解到其他多种调整方式,在此不做限制和累述。
在本申请的另一个实施例中,当所述设备的电量小于第五阈值时,所述资源调整策略包括:延迟目标应用中预设自行业务的执行时间、减少线程数量、减少预设种类线程的并发数量、关闭预设功能模块。
本实施例中,可以根据电量参数,调整对所述目标应用的资源调整,具体的调整方式可以包括下述中的至少一种:延迟预设自行业务的执行时间、减少线程数量、减少预设种类线程的并发数量、关闭预设功能模块。在本申请的一个实施例中,所述目标应用中包括至少一项预设自行业务,所述预设自行业务例如自行上传预设数据等,所述预设数据可以包括数据采样日志、设备性能报告等。当所述设备的电量小于第五阈值时,可以延迟所述自行业务的执行时间。在一个具体的示例中,当所述设备的电量小于16%时,可以暂停数据采样日志的上传,等到所述设备连接至充电设备或者所述设备的电量大于16%时,再继续上传所述数据采样日志。所述预设功能模块可以包括所述目标应用中使用输入/输出接口较频繁的模块,例如文件下载模块、数据库操作模块、文件读写模块、图片下载模块、缓存读取模块等。当所述设备的电量小于第五阈值时,可以将上述预设功能模块中的至少一个执行关闭,以降低设备电量的消耗速度。本领域技术人员还可以理解到其他多种调整方式,在此不做限制和累述。
在本申请的另一个实施例中,当所述操作系统和/或所述目标应用的输入/输出性能小于第六阈值时,所述资源调整策略可以包括:
减少目标应用中预设种类线程的并发数量、减少预设功能模块的资源使用率。
本实施例中,还可以根据所述操作系统和/或所述目标应用的输入/输出性能,调整对所述目标应用的资源调度。所述输入/输出性能可以包括输入/输出等待时间、输入/输出等待次数。在本申请的一个实施例中,当所述操作系统和/或所述目标应用的输入/输出性能小于第六阈值时,可以减少预设功能模块的资源使用率,如上所述,所述预设功能模块可以包括所述目标应用中使用输入/输出接口较频繁的模块,例如文件下载模块、数据库操作模块、文件读写模块、图片下载模块、缓存读取模块等。本领域技术人员还可以理解到其他多种调整方式,在此不做限制和累述。
本申请另一方面还提供一种与上述获取应用性能测试结果处理方法相对应的装置,图11是本申请提供的获取应用性能测试结果处理装置的一种实施例的模块结构示意图,如图11所示,所述装置110可以包括:
性能数据获取单元111,用于在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用预设性能参数的参数值;
测试结果计算单元112,用于根据所述预设性能参数以及对应的参数值,计算得到所述目标应用在所述运行状态下的测试结果。
本申请提供的获取应用性能测试结果的处理装置,可以基于测试触发指令,获取目标应用在运行状态下的预设性能参数的参数值,根据所述预设性能参数以及对应的参数值,计算得到所述目标应用在所述运行状态下的测试结果。本申请提供的获取应用测试结果的方法可以将应用测试模块耦合至目标应用中,无需安装第三方软件,即可以实现对目标应用的测试功能。另外,所述应用模块具有通用性与可移植性,可以不限于应用的类别,对应用进行性能测试。本实施例中,由于所述操作系统、所述目标应用的性能随着所述目标应用的运行而变化,因此,获取的所述目标应用在运行状态下的性能数据,不仅可以真实地反应所述目标应用性能的动态变化,计算得到的测试结果更加准确、可靠,后续还可以基于所述目标应用在运行状态时的性能数据,动态调整所述目标应用的资源调度。相对于现有技术而言,现有技术中获取的硬件性能测试结果、操作系统测试结果已经不能满足目标应用对资源优化的数据要求,本申请提供的实施例方法针对目标应用,可以根据获取的所述目标应用的测试结果,对所述目标应用进行资源优化,从而将电子设备的资源优化具体到应用级别,提高电子设备的资源优化效率。
本申请另一方面还从客户端角度提出一种获取应用性能测试结果的处理方法,图12是本申请提供的获取应用性能测试结果处理方法的另一种实施例的方法流程图,如图12所示,所述方法可以包括:
S121:基于触发的测试指令,获取目标应用在运行状态时第一预设性能参数的参数值;
S122:将所述第一预设性能参数以及对应的参数值发送至服务器;
S123:接收与所述第一预设性能参数相关联的第二预设性能参数的参数值以及所述目标应用的测试结果。
本实施例中,客户端在获取所述目标应用在运行状态时的第一预设性能参数以及参数值后,可以将所述第一预设性能参数以及参数值发送至服务器。所述服务器可以根据所述第一预设性能参数以及参数值,从预设数据库中匹配得到与所述第一预设性能参数相关联的第二预设性能参数的参数值,以及所述目标应用的测试结果。例如,所述第一预设性能参数可以包括设备的品牌、型号等参数,那么,所述第二预设性能参数可以包括所述设备的GPU性能数据、CPU性能数据等。本实施例中,所述预设数据库中可以存储有所述目标应用的历史性能数据和/或测试结果,所述历史性能数据和/或测试结果可以包括所述服务器从客户端处获取得到。例如,所述客户端可以将每次采用上述实施例方法S51-S52获取的目标应用的性能参数及参数值、测试结果上传至服务器,所述服务器将所述性能参数及参数值、测试结果存储至预设数据库中。
例如,在一个实际的应用场景中,用户在手机客户端登录淘宝APP,所述应用测试模块随着APP被启动之后,可以立即获取所述手机客户端以及所述淘宝APP的相关参数,诸如手机品牌、手机型号、APP版本等。由于在本实施例中所述客户端每次在获取目标应用的性能参数和测试结果之后,都会上传至服务器中进行存储。若淘宝客户端都将数据上传至服务器中,则服务器中将存储有海量的手机参数与手机性能对应数据。例如,应用测试模块检测到用户使用的是128G内存的iPhone 6s手机、6.2.9版本的淘宝APP,将手机品牌和APP版本上传至服务器后,服务器可以立即给出与之相关的性能参数和测试结果,甚至可以提前给出可能发生的异常情况,并将所述异常情况发送至所述应用测试模块。所述应用测试模块可以根据所述异常情况生成资源调整策略,或者,所述应用测试模块将所述异常情况转发至各个功能模块,由功能模块生成资源调整策略。
例如,通过上传的历史数据发现,对于安装于128G内存iPhone 6s手机上的6.2.9版本的淘宝APP,在观看淘宝直播的过程中易使手机CPU使用率急剧升高,甚至发生卡顿,影响手机的正常使用。那么,所述应用测试模块可以根据上述异常情况生成相应的资源调整策略,如关闭淘宝视频展示的入口、降低直播视频的画质等等,避免CPU使用率的急剧升高,影响手机的正常使用。
另外,所述服务器还可以具有统计、分析的功能。所述服务器可以根据获取的所述目标应用的性能参数数据,统计分析所述目标应用在不同时刻的性能数据以及测试结果。所述服务器可以根据多次获取的第一预设性能参数以及参数值,若所述第一预设性能参数值发生较大的波动,所述服务器可以统计分析得到所述第一预设性能参数值发生波动的原因,进而可以对所述目标应用作进一步调整。例如,依然基于上述的举例场景,当用户在安装于128G iPhone 6s手机上的6.2.9版本淘宝APP上观看淘宝直播时,所述应用测试模块在进行性能测试的过程中发现,手机CPU的利用率高达97%,大于92%的参考值。所述应用测试模块将测得的手机品牌、手机型号、淘宝版本、CPU利用率等数据上传至服务器之后,所述服务器根据统计的历史数据发现,iPhone 6s手机CPU的急剧上升可能是由6.2.9版本淘宝APP中的视频直播引起的,并将异常起因发送至所述应用测试模块。进一步地,所述应用测试模块可以根据所述异常起因生成资源调整策略,对淘宝APP的相关功能模块进行调整。综上,服务器的统计、分析功能可以总结得到不同品牌、不同型号客户端设备在不同版本的APP中可能存在的异常情况,并生成可以参考的历史数据。基于所述历史数据,可以快速地发现不同客户端设备、不同客户端操作系统、不同APP所存在的异常,及时解决问题,增强客户端性能。
所述服务器还可以绘制多种设备的性能分布图,定期发布设备性能报告,不仅可以指导消费者、制造商、应用开发人员对设备硬件性能的全面了解,还可以进一步了解不同应用对系统资源的影响,比通过现有技术中硬件评测软件发布的少数几款设备性能更有说服力。
在对应的应用场景中,所述服务器可以绘制出各个APP在不同操作系统、不同手机品牌上的性能分布图,例如,总结各个APP在三星手机、华为手机、小米手机等安装安卓操作系统客户端上的性能分布数据。根据所述性能分布图,APP的开发者可以全面了解APP在用户使用过程中容易产生的异常,从而对APP的版本进行改进、更新。手机制造商也可以全面了解手机设备在使用过程中经常发生的异常情况,如电量消耗太快、视频画质较差等,在了解到上述异常情况之后,手机制造商可以增大手机电池容量,改善GPU的工艺或者更换GPU供应商等等,提高手机的用户使用体验。
对应地,本申请还提供一种客户端,图13是本申请提供的客户端的一种实施例的模块结构示意图,如图13所示,所述客户端130可以包括:
第一性能数据获取单元131,用于基于触发的测试指令,获取目标应用在运行状态时第一预设性能参数的参数值;
参数值发送单元132,用于将所述第一预设性能参数以及对应的参数值发送至服务器;
测试结果接收单元133,用于接收与所述第一预设性能参数相关联的第二预设性能参数的参数值以及所述目标应用的测试结果。
本申请还从客户端角度提出获取应用测试结果的另一种实施例方法,图14是本申请提供的获取应用性能测试结果处理方法的另一种实施例的方法流程图,如图14所示,所述方法可以包括:
S141:在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用预设性能参数的参数值;
S142:将所述预设性能参数以及对应的参数值发送至服务器;
S143:接收所述目标应用的测试结果。
本实施例中,客户端还可以将所述预设性能参数以及对应的参数值发送至服务器,由服务器根据所述预设性能参数以及对应的参数值计算所述目标应用在运行状态下的测试结果,从而将测试结果的计算任务转移至服务器,可以减少客户端的处理负担,有利于对所述目标应用的资源优化。
相应地,本申请还提供一种客户端,图15是本申请提供的客户端的一种实施例的模块结构示意图,如图15所示,所述客户端150可以包括:
性能数据获取单元151,用于在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用预设性能参数的参数值;
性能数据发送单元152,用于将所述预设性能参数以及对应的参数值发送至服务器;
测试结果接收单元153,用于接收所述目标应用的测试结果。
尽管本申请内容中提到实施例中的调整资源调度、计算测试结果、执行预设动作等之类的数据计算、设置、处理描述,但是,本申请并不局限于必须是完全符合行业编程语言设计标准或实施例所描述的数据展示、处理的情况。某些页面设计语言或实施例描述的基础上略加修改后的实施方案也可以实行上述实施例相同、等同或相近、或变形后可预料的实施效果。当然,即使不采用上数据计算、设置、处理的方式,只要符合本申请上述各实施例的调整资源调度、计算测试结果、执行预设动作方式,仍然可以实现相同的申请,在此不再赘述。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的单元、装置,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,本申请中所述的某一单元模块也可以将实现同一功能的模块由多个子模块或子模块的组合实现。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (23)
1.一种获取应用性能测试结果的处理方法,其特征在于,包括:
在目标应用处于运行状态时,应用测试模块基于接收到的测试触发指令,获取所述目标应用预设性能参数的参数值,所述应用测试模块与所述目标应用相耦合;
根据所述预设性能参数以及对应的参数值,所述应用测试模块计算得到所述目标应用在所述运行状态下的测试结果,所述测试结果包括硬件测试结果、操作系统测试结果、应用测试结果。
2.根据权利要求1所述的方法,其特征在于,在所述计算得到所述目标应用在所述运行状态下的测试结果之后,所述方法还包括:
在所述目标应用的预设位置处展示所述测试结果。
3.根据权利要求1所述的方法,其特征在于,所述预设性能参数包括所述目标应用的第一性能参数、所述目标应用所在设备的硬件参数、所述设备的操作系统的第二性能参数。
4.根据权利要求3所述的方法,其特征在于,
所述硬件测试结果基于所述硬件参数以及参数值计算得到;
所述操作系统测试结果基于所述硬件测试结果、所述第二性能参数以及参数值计算得到;
所述应用测试结果基于所述硬件测试结果、所述操作系统测试结果、所述第一性能参数以及参数值计算得到。
5.根据权利要求1所述的方法,其特征在于,在所述计算所述目标应用在所述运行状态下的测试结果之后,还包括:
所述应用测试模块提取出发生异常的预设性能参数和/或测试结果;
所述应用测试模块根据所述异常的预设性能参数和/或测试结果,生成至少一个资源调整策略;
所述应用测试模块将所述资源调整策略发送至与所述异常的预设性能参数和/或测试结果相关联的目标应用的至少一个功能模块;
所述功能模块根据所述资源调整策略进行资源调整。
6.根据权利要求1所述的方法,其特征在于,在所述计算所述目标应用在所述运行状态下的测试结果之后,还包括:
所述应用测试模块提取出发生异常的预设性能参数和/或测试结果;
所述应用测试模块将所述异常的预设性能参数和/或测试结果发送至与所述异常的预设性能参数和/或测试结果相关联的目标应用的至少一个功能模块;
所述功能模块根据所述异常的预设性能参数和/或测试结果,生成至少一个资源调整策略;
所述功能模块根据所述资源调整策略进行资源调整。
7.根据权利要求3或4所述的方法,其特征在于,所述计算得到所述目标应用在所述运行状态下的测试结果包括:
从预先设置的权重对应关系中获取所述第一性能参数、所述硬件参数、所述第二性能参数所对应的权重值;
基于所述第一性能参数、所述硬件参数、所述第二性能参数所对应的权重值、参数值,采用预设计算方法计算得到所述目标应用在所述运行状态下的测试结果。
8.根据权利要求7所述的方法,其特征在于,所述权重值被设置成与所述目标应用的业务类型相匹配。
9.根据权利要求3或4所述的方法,其特征在于,所述硬件参数包括下述中的至少一种:CPU最高频率、CPU最低频率、CPU核数、CPU的工艺和架构、CPU型号、CPU缓存大小、CPU供应商,GPU频率、GPU供应商、GPU品牌、操作系统的版本、硬件总内存、剩余可用内存、设备屏幕大小、设备屏幕密度、最大允许进程内存、开放图形库的版本、设备品牌、使用年限。
10.根据权利要求3或4所述的方法,其特征在于,所述第二性能参数包括下述中的至少一种:输入/输出等待时间、输入/输出等待次数、CPU使用率、内存使用率、剩余可用内存、进程数量、服务数量、进程CPU占用率、服务CPU占用率、系统调度的负载、CPU负载、进程调度的最大等待时间、进程调度的累计等待时间、进程调度的累计等待次数。
11.根据权利要求3或4所述的方法,其特征在于,所述第一性能参数包括下述中的至少一种:输入/输出等待时间、输入/输出等待次数、CPU占用率、内存使用率、可用内存、最大的线程数、同时运行的线程数、内存回收导致停顿的次数、同步锁引起停顿的次数、线程调度的最大等待时间、线程调度的累计等待时间、线程调度的累计等待次数。
12.根据权利要求5或6所述的方法,其特征在于,当所述硬件测试结果发生异常时,所述资源调整策略包括下述中的至少一种:调整线程并发数量、调整线程优先级、调整线程的运行或者停止、调整内存占用、设备传感器的开启或者关闭、输入/输出读写模块的运行或者停止、调整网络的访问、调整数据下载、预设功能的开启或者关闭。
13.根据权利要求5或6所述的方法,其特征在于,
当所述操作系统测试结果和/或所述应用测试结果发生异常时,所述资源调整策略包括调整所述目标应用的下述参数中的至少一种:线程池大小、线程的总并发数量、预设种类线程的并发数量、预设种类线程的优先级。
14.根据权利要求5或6所述的方法,其特征在于,
当所述操作系统的CPU使用率高于第一阈值时,所述资源调整策略包括:
获取所述目标应用中CPU占用率高于第二阈值的线程;
对所述CPU占用率高于第二阈值的线程执行下述动作中的至少一种:减少并发数量、降低优先级、执行停止。
15.根据权利要求5或6所述的方法,其特征在于,当所述操作系统的可用内存小于第三阈值,和/或所述目标应用的可用内存小于第四阈值时,所述资源调整策略包括:
对所述目标应用执行下述动作中的至少一种:清理所述目标应用的缓存数据、减少线程数量、减少预设种类线程的并发数量、减小大块内存的申请大小、减小显示图片的大小、关闭预设音视频资源的播放、调整用户操作界面的界面路径。
16.根据权利要求5或6所述的方法,其特征在于,
当所述设备的电量小于第五阈值时,所述资源调整策略包括:
对所述目标应用执行下述动作中的至少一种:延迟目标应用中预设自行业务的执行时间、减少线程数量、减少预设种类线程的并发数量、关闭预设功能模块。
17.根据权利要求5或6所述的方法,其特征在于,
当所述操作系统和/或所述目标应用的输入/输出性能小于第六阈值时,所述资源调整策略包括:
对所述目标应用执行下述动作中的至少一种:减少目标应用中预设种类线程的并发数量、减少预设功能模块的资源使用率。
18.一种获取应用性能测试结果的处理方法,其特征在于,包括:
在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用第一预设性能参数的参数值;
将所述第一预设性能参数以及对应的参数值发送至服务器;
接收与所述第一预设性能参数相关联的第二预设性能参数的参数值以及所述目标应用的测试结果。
19.根据权利要求18所述的方法,其特征在于,所述第二预设性能参数的参数值以及所述目标应用的测试结果包括所述服务器根据所述第一预设性能参数以及对应的参数值,从预设数据库中匹配得到。
20.一种获取应用性能测试结果的处理方法,其特征在于,包括:
在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用预设性能参数的参数值;
将所述预设性能参数以及对应的参数值发送至服务器;
接收所述目标应用的测试结果。
21.一种获取应用性能测试结果的处理装置,其特征在于,包括:
性能数据获取单元,用于在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用预设性能参数的参数值;
测试结果计算单元,用于根据所述预设性能参数以及对应的参数值,计算得到所述目标应用在所述运行状态下的测试结果。
22.一种客户端,其特征在于,包括:
第一性能数据获取单元,用于基于触发的测试指令,获取目标应用在运行状态时第一预设性能参数的参数值;
参数值发送单元,用于将所述第一预设性能参数以及对应的参数值发送至服务器;
测试结果接收单元,用于接收与所述第一预设性能参数相关联的第二预设性能参数的参数值以及所述目标应用的测试结果。
23.一种客户端,其特征在于,包括:
性能数据获取单元,用于在目标应用处于运行状态时,基于接收到的测试触发指令,获取目标应用预设性能参数的参数值;
性能数据发送单元,用于将所述预设性能参数以及对应的参数值发送至服务器;
测试结果接收单元,用于接收所述目标应用的测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038773.2A CN108334440A (zh) | 2017-01-19 | 2017-01-19 | 一种获取应用性能测试结果的处理方法及装置、客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038773.2A CN108334440A (zh) | 2017-01-19 | 2017-01-19 | 一种获取应用性能测试结果的处理方法及装置、客户端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108334440A true CN108334440A (zh) | 2018-07-27 |
Family
ID=62921612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710038773.2A Pending CN108334440A (zh) | 2017-01-19 | 2017-01-19 | 一种获取应用性能测试结果的处理方法及装置、客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108334440A (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344049A (zh) * | 2018-08-17 | 2019-02-15 | 华为技术有限公司 | 测试数据处理系统的方法和装置 |
CN109383567A (zh) * | 2018-10-11 | 2019-02-26 | 北京市地铁运营有限公司 | 一种地铁综合监控系统检测方法和装置 |
CN109739762A (zh) * | 2018-12-29 | 2019-05-10 | 微梦创科网络科技(中国)有限公司 | 一种应用程序的性能测试方法与装置 |
CN109831585A (zh) * | 2019-02-22 | 2019-05-31 | 维沃移动通信有限公司 | 一种运行参数调整方法及移动终端 |
CN110232008A (zh) * | 2019-05-31 | 2019-09-13 | 口碑(上海)信息技术有限公司 | 一种应用性能数据的采集方法及装置 |
CN110413510A (zh) * | 2019-06-28 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及设备 |
CN111026632A (zh) * | 2018-10-10 | 2020-04-17 | 武汉斗鱼网络科技有限公司 | 一种性能测试方法、存储介质、电子设备及系统 |
CN111159038A (zh) * | 2019-12-30 | 2020-05-15 | 北京声智科技有限公司 | 一种模拟cpu负载的方法及电子设备 |
CN111193636A (zh) * | 2019-10-21 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 测试单机可用性的方法及装置 |
CN111258841A (zh) * | 2018-12-03 | 2020-06-09 | 中兴通讯股份有限公司 | 应用热补丁监控方法及装置 |
CN111259994A (zh) * | 2020-05-07 | 2020-06-09 | 上海飞旗网络技术股份有限公司 | 一种基于时序特征学习的数据流分类方法及装置 |
CN111723015A (zh) * | 2020-06-24 | 2020-09-29 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种软件测试方法、装置及电子设备 |
CN111966642A (zh) * | 2020-08-28 | 2020-11-20 | 维沃移动通信有限公司 | 图片管理方法、装置及电子设备 |
CN112148559A (zh) * | 2020-09-16 | 2020-12-29 | 上海中通吉网络技术有限公司 | 移动app功耗测试方法、装置、系统及采集端、测试端 |
CN112380088A (zh) * | 2020-11-09 | 2021-02-19 | 北京字节跳动网络技术有限公司 | 测试方法、装置和电子设备 |
TWI731580B (zh) * | 2019-04-02 | 2021-06-21 | 日商東洋體系股份有限公司 | 電池殘餘價值顯示裝置 |
CN113032278A (zh) * | 2021-04-19 | 2021-06-25 | 上海哔哩哔哩科技有限公司 | 应用程序的运行方式、终端设备的等级确认方法及装置 |
CN113254333A (zh) * | 2021-05-14 | 2021-08-13 | 成都安恒信息技术有限公司 | 基于机器学习识别第三方应用结果自动化测试方法 |
WO2021159359A1 (zh) * | 2020-02-12 | 2021-08-19 | 深圳元戎启行科技有限公司 | 无人驾驶车辆操作系统的数据采集方法和装置 |
CN113485805A (zh) * | 2021-07-01 | 2021-10-08 | 曙光信息产业(北京)有限公司 | 基于异构加速平台的分布式计算调整方法、装置及设备 |
CN113535536A (zh) * | 2020-04-20 | 2021-10-22 | 阿里巴巴集团控股有限公司 | 测试、配置、安装、运行方法、装置、电子设备和存储介质 |
CN113553267A (zh) * | 2021-07-22 | 2021-10-26 | 招商银行股份有限公司 | 应用性能测试方法、设备、介质及计算机程序产品 |
CN113628358A (zh) * | 2021-07-27 | 2021-11-09 | 北京优奥创思科技发展有限公司 | 一种会议签到硬件性能测试方法、系统及存储介质 |
CN113672489A (zh) * | 2021-10-25 | 2021-11-19 | 国家超级计算天津中心 | 超级计算机的资源性能等级确定方法及设备 |
WO2022062964A1 (en) * | 2020-09-25 | 2022-03-31 | International Business Machines Corporation | Detecting performance degradation in remotely deployed applications |
CN114564315A (zh) * | 2022-03-15 | 2022-05-31 | 维沃移动通信有限公司 | 内存分配方法、装置、电子设备及介质 |
CN114640700A (zh) * | 2020-11-30 | 2022-06-17 | 腾讯科技(深圳)有限公司 | 一种调用频次控制方法及装置 |
CN114911537A (zh) * | 2022-05-10 | 2022-08-16 | 声呐天空资讯顾问有限公司 | 参数配置方法及系统、存储介质 |
CN115037953A (zh) * | 2021-03-05 | 2022-09-09 | 上海哔哩哔哩科技有限公司 | 基于直播的标记方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904755A (zh) * | 2012-09-27 | 2013-01-30 | 北京邮电大学 | 一种移动互联网业务用户体验质量测量方法和装置 |
CN104834529A (zh) * | 2015-05-25 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 一种应用的性能优化的方法及装置 |
CN104866416A (zh) * | 2014-02-25 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 实现应用程序性能分析的方法和装置 |
EP2960797A1 (en) * | 2014-06-27 | 2015-12-30 | Intel Corporation | Identification of software phases using machine learning |
CN105446845A (zh) * | 2015-11-24 | 2016-03-30 | 成都奇鲁科技有限公司 | 一种智能终端rom流畅度评测方法及系统 |
CN105786692A (zh) * | 2014-12-24 | 2016-07-20 | 远光软件股份有限公司 | 一种软件运行期性能分析方法 |
-
2017
- 2017-01-19 CN CN201710038773.2A patent/CN108334440A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904755A (zh) * | 2012-09-27 | 2013-01-30 | 北京邮电大学 | 一种移动互联网业务用户体验质量测量方法和装置 |
CN104866416A (zh) * | 2014-02-25 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 实现应用程序性能分析的方法和装置 |
EP2960797A1 (en) * | 2014-06-27 | 2015-12-30 | Intel Corporation | Identification of software phases using machine learning |
CN105786692A (zh) * | 2014-12-24 | 2016-07-20 | 远光软件股份有限公司 | 一种软件运行期性能分析方法 |
CN104834529A (zh) * | 2015-05-25 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 一种应用的性能优化的方法及装置 |
CN105446845A (zh) * | 2015-11-24 | 2016-03-30 | 成都奇鲁科技有限公司 | 一种智能终端rom流畅度评测方法及系统 |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344049A (zh) * | 2018-08-17 | 2019-02-15 | 华为技术有限公司 | 测试数据处理系统的方法和装置 |
CN111026632A (zh) * | 2018-10-10 | 2020-04-17 | 武汉斗鱼网络科技有限公司 | 一种性能测试方法、存储介质、电子设备及系统 |
CN109383567A (zh) * | 2018-10-11 | 2019-02-26 | 北京市地铁运营有限公司 | 一种地铁综合监控系统检测方法和装置 |
CN111258841A (zh) * | 2018-12-03 | 2020-06-09 | 中兴通讯股份有限公司 | 应用热补丁监控方法及装置 |
CN109739762A (zh) * | 2018-12-29 | 2019-05-10 | 微梦创科网络科技(中国)有限公司 | 一种应用程序的性能测试方法与装置 |
CN109831585A (zh) * | 2019-02-22 | 2019-05-31 | 维沃移动通信有限公司 | 一种运行参数调整方法及移动终端 |
TWI731580B (zh) * | 2019-04-02 | 2021-06-21 | 日商東洋體系股份有限公司 | 電池殘餘價值顯示裝置 |
CN110232008A (zh) * | 2019-05-31 | 2019-09-13 | 口碑(上海)信息技术有限公司 | 一种应用性能数据的采集方法及装置 |
CN110413510A (zh) * | 2019-06-28 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及设备 |
CN110413510B (zh) * | 2019-06-28 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及设备 |
CN111193636A (zh) * | 2019-10-21 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 测试单机可用性的方法及装置 |
CN111159038A (zh) * | 2019-12-30 | 2020-05-15 | 北京声智科技有限公司 | 一种模拟cpu负载的方法及电子设备 |
CN111159038B (zh) * | 2019-12-30 | 2023-07-14 | 北京声智科技有限公司 | 一种模拟cpu负载的方法及电子设备 |
WO2021159359A1 (zh) * | 2020-02-12 | 2021-08-19 | 深圳元戎启行科技有限公司 | 无人驾驶车辆操作系统的数据采集方法和装置 |
CN113535536A (zh) * | 2020-04-20 | 2021-10-22 | 阿里巴巴集团控股有限公司 | 测试、配置、安装、运行方法、装置、电子设备和存储介质 |
CN111259994A (zh) * | 2020-05-07 | 2020-06-09 | 上海飞旗网络技术股份有限公司 | 一种基于时序特征学习的数据流分类方法及装置 |
CN111259994B (zh) * | 2020-05-07 | 2020-07-17 | 上海飞旗网络技术股份有限公司 | 一种基于时序特征学习的数据流分类方法及装置 |
CN111723015A (zh) * | 2020-06-24 | 2020-09-29 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种软件测试方法、装置及电子设备 |
CN111966642A (zh) * | 2020-08-28 | 2020-11-20 | 维沃移动通信有限公司 | 图片管理方法、装置及电子设备 |
CN112148559A (zh) * | 2020-09-16 | 2020-12-29 | 上海中通吉网络技术有限公司 | 移动app功耗测试方法、装置、系统及采集端、测试端 |
US11797416B2 (en) | 2020-09-25 | 2023-10-24 | International Business Machines Corporation | Detecting performance degradation in remotely deployed applications |
GB2614672A (en) * | 2020-09-25 | 2023-07-12 | Ibm | Detecting performance degradation in remotely deployed applications |
WO2022062964A1 (en) * | 2020-09-25 | 2022-03-31 | International Business Machines Corporation | Detecting performance degradation in remotely deployed applications |
CN112380088A (zh) * | 2020-11-09 | 2021-02-19 | 北京字节跳动网络技术有限公司 | 测试方法、装置和电子设备 |
CN114640700A (zh) * | 2020-11-30 | 2022-06-17 | 腾讯科技(深圳)有限公司 | 一种调用频次控制方法及装置 |
CN115037953A (zh) * | 2021-03-05 | 2022-09-09 | 上海哔哩哔哩科技有限公司 | 基于直播的标记方法及装置 |
CN113032278A (zh) * | 2021-04-19 | 2021-06-25 | 上海哔哩哔哩科技有限公司 | 应用程序的运行方式、终端设备的等级确认方法及装置 |
CN113032278B (zh) * | 2021-04-19 | 2023-09-26 | 上海哔哩哔哩科技有限公司 | 应用程序的运行方式、终端设备的等级确认方法及装置 |
CN113254333A (zh) * | 2021-05-14 | 2021-08-13 | 成都安恒信息技术有限公司 | 基于机器学习识别第三方应用结果自动化测试方法 |
CN113485805B (zh) * | 2021-07-01 | 2024-02-06 | 中科曙光(南京)计算技术有限公司 | 基于异构加速平台的分布式计算调整方法、装置及设备 |
CN113485805A (zh) * | 2021-07-01 | 2021-10-08 | 曙光信息产业(北京)有限公司 | 基于异构加速平台的分布式计算调整方法、装置及设备 |
CN113553267A (zh) * | 2021-07-22 | 2021-10-26 | 招商银行股份有限公司 | 应用性能测试方法、设备、介质及计算机程序产品 |
CN113553267B (zh) * | 2021-07-22 | 2024-08-13 | 招商银行股份有限公司 | 应用性能测试方法、设备、介质及计算机程序产品 |
CN113628358B (zh) * | 2021-07-27 | 2023-02-10 | 北京优奥创思科技发展有限公司 | 一种会议签到硬件性能测试方法、系统及存储介质 |
CN113628358A (zh) * | 2021-07-27 | 2021-11-09 | 北京优奥创思科技发展有限公司 | 一种会议签到硬件性能测试方法、系统及存储介质 |
CN113672489B (zh) * | 2021-10-25 | 2022-01-25 | 国家超级计算天津中心 | 超级计算机的资源性能等级确定方法及设备 |
CN113672489A (zh) * | 2021-10-25 | 2021-11-19 | 国家超级计算天津中心 | 超级计算机的资源性能等级确定方法及设备 |
CN114564315A (zh) * | 2022-03-15 | 2022-05-31 | 维沃移动通信有限公司 | 内存分配方法、装置、电子设备及介质 |
CN114911537A (zh) * | 2022-05-10 | 2022-08-16 | 声呐天空资讯顾问有限公司 | 参数配置方法及系统、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108334440A (zh) | 一种获取应用性能测试结果的处理方法及装置、客户端 | |
Pramanik et al. | Power consumption analysis, measurement, management, and issues: A state-of-the-art review of smartphone battery and energy usage | |
Pathak et al. | Where is the energy spent inside my app? Fine Grained Energy Accounting on Smartphones with Eprof | |
US11694299B2 (en) | Methods and apparatus to emulate graphics processing unit instructions | |
US8458116B2 (en) | Generating a power model for an electronic device | |
CN103096385B (zh) | 一种流量控制的方法、装置及终端 | |
US20130117855A1 (en) | Apparatus for automatically inspecting security of applications and method thereof | |
CN109213539A (zh) | 一种内存回收方法及装置 | |
CN106293914B (zh) | 一种任务调度的方法及终端 | |
CN110308782A (zh) | 功耗预测、控制方法、设备及计算机可读存储介质 | |
CN109514586A (zh) | 实现智能客服机器人的方法及系统 | |
CN108616653A (zh) | 信息处理方法、装置、移动终端和计算机可读存储介质 | |
CN109992965A (zh) | 进程处理方法和装置、电子设备、计算机可读存储介质 | |
CN106021054A (zh) | 一种对bmc升降级稳定性进行测试的方法及装置 | |
Yoon et al. | Accurate power modeling of modern mobile application processors | |
US10121210B2 (en) | Tracking power states of a peripheral device | |
KR102329473B1 (ko) | 프로세서와 이를 포함하는 반도체 장치 | |
CN112672405B (zh) | 功耗计算方法、装置、存储介质、电子设备以及服务器 | |
Djedidi et al. | Power profiling and monitoring in embedded systems: A comparative study and a novel methodology based on NARX neural networks | |
Tu et al. | Unveiling energy efficiency in deep learning: Measurement, prediction, and scoring across edge devices | |
CN117234859B (zh) | 一种性能事件监控方法、装置、设备和存储介质 | |
CN107168859A (zh) | 用于安卓设备的能耗分析方法 | |
CN117873690A (zh) | 运算器芯片功耗管理方法、计算子系统以及智能计算平台 | |
CN116028108B (zh) | 一种依赖包安装用时分析方法、装置、设备及存储介质 | |
CN115658083A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180727 |