一种获取应用程序耗电量的方法、装置及服务器与流程

文档序号:11918131阅读:252来源:国知局
一种获取应用程序耗电量的方法、装置及服务器与流程
本发明涉及电子
技术领域
,尤其涉及一种获取应用程序耗电量的方法、装置及服务器。
背景技术
:随着科技的发展和进步,智能手机已经融入到了生活的方方面面,人们的生活已经离不开智能手机。然而智能手机目前面临的一大挑战就是手机续航问题。对比传统的非智能手机,智能手机的续航能力大大降低。导致智能手机耗电过快的主要原因是智能手机上安装的应用程序(Application,APP)。手机中运行的这些APP能方便用户生活,但同时,也不断的消耗了手机的电量。因此,在使用手机时,用户有了解各个应用程序耗电量的需求,以便更好的管理手机中的应用程序的运行情况。现有技术中,手机厂商在手机出场时,会提供相关硬件的耗电信息。例如,音频电路(Audio)的耗电参数是:125mA/h,Wi-Fi扫描模块的耗电参数是:150mA/h等等。通常为了计算出APP的耗电量,现有技术需要根据APP运行时占用的硬件时间和硬件耗电参数计算其耗电量。例如,假设运行APP1导致CPU运行,CPU运行时间:t,CPU单位时间的耗电参数:wmA,最后结合CPU运行时的恒定电压U,计算出APP1的耗电量为:W=U*I*t(U:电压值,I:电流值),其中,I=w*t。由此可见,现有技术中,利用硬件的耗电参数来计算APP耗电量的方法并不简单,尤其当APP的运行与多个硬件相关时,APP耗电量与各个硬件的耗电情况均相关,计算十分复杂。技术实现要素:本发明实施例提供了一种获取应用程序耗电量的方法及装置,通过获取N 个终端发送的N份用户数据,其中,每一个终端发送的用户数据包括:所述终端中停止运行的应用程序,在停止运行所述应用程序之前所述终端的单位时间耗电量,在停止运行所述应用程序之后所述终端的单位时间耗电量,并根据所述N份用户数据计算出所述N个终端中停止运行的应用程序的单位时间耗电量,可实现简单便捷的获取到应用程序的单位时间耗电量。本发明实施例第一方面提供了一种获取应用程序耗电量的方法,包括:获取N个终端发送的N份用户数据,其中,所述用户数据包括:应用程序标识、第一耗电数值和第二耗电数值;所述应用程序标识用于表征所述用户数据对应的终端中停止运行的应用程序,所述第一耗电数值用于表征在停止运行所述应用程序之前所述终端的单位时间耗电量,所述第二耗电数值用于表征在停止运行所述应用程序之后所述终端的单位时间耗电量;所述终端中停止运行的应用程序的单位时间总耗电量=所述第一耗电数值-所述第二耗电数值;从所述N份用户数据中筛选出包含应用程序标识最少的用户数据;计算出:筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量=筛选出的所述用户数据中的第一耗电数值-筛选出的所述用户数据中的第二耗电数值;根据所述筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量逐轮计算出剩下的用户数据所包含的应用程序标识所表征的应用程序的单位时间耗电量;所述剩下的用户数据是所述N份用户数据中除了所述筛选出的用户数据外的用户数据;其中,N为正整数。结合第一方面,在第一种可能的实现方式中,所述根据所述筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量逐轮计算出剩下的用户数据所包含的应用程序标识所表征的应用程序的单位时间耗电量,包括:在第i+1轮中,根据第i轮统计出的单位时间耗电量已知的应用程序,从所述剩下的用户数据中选取出包含有一个单位时间耗电量未知的应用程序标识的用户数据;计算出:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量=第i+1轮选取出的所述用户数据中的第一耗电数值 -第i+1轮选取出的所述用户数据中的第二耗电数值-第i+1轮选取出的所述用户数据中的单位时间耗电量已知的应用程序的单位时间耗电量;将第i轮统计出的单位时间耗电量已知的应用程序和第i+1轮计算出单位时间耗电量的应用程序作为第i+1轮统计出的单位时间耗电量已知的应用程序;其中,当i=1时,第i轮统计出的单位时间耗电量已知的应用程序即是所述包含应用程序标识最少的用户数据所包含的应用程序标识所表征的应用程序;i是正整数。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述包含应用程序标识最少的用户数据包含:1个应用程序标识或至少2个应用程序标识;如果所述包含应用程序标识最少的用户数据包含至少2个应用程序标识;所述方法,还包括:计算出所述筛选出的所述用户数据中的每一个应用程序标识表征的应用程序的单位时间耗电量。结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,在所述计算出:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量=第i+1轮选取出的所述用户数据中的第一耗电数值-第i+1轮选取出的所述用户数据中的第二耗电数值-第i+1轮选取出的所述用户数据中的单位时间耗电量已知的应用程序的单位时间耗电量时,还包括:判断所述计算结果是否小于或等于0,如果是,则判定所述用户数据是不可信的用户数据。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,在所述判定所述用户数据是不可信的用户数据之后,还包括:在第i+1轮选取出的所述用户数据中,判断是否存在多于预设个数的所述不可信的用户数据包含相同的应用程序标识,如果存在,则判定所述相同的应用程序标识所表征的应用程序是不可信的应用程序。结合第一方面,在第五种可能的实现方式中,所述获取N个终端发送的N份用户数据包括:获取N个同一类型终端发送的N份用户数据。本发明实施例第二方面提供了一种获取应用程序耗电量的装置,包括:获取单元,用于获取N个终端发送的N份用户数据,其中,所述用户数据包括:应用程序标识、第一耗电数值和第二耗电数值;所述应用程序标识用于 表征所述用户数据对应的终端中停止运行的应用程序,所述第一耗电数值用于表征在停止运行所述应用程序之前所述终端的单位时间耗电量,所述第二耗电数值用于表征在停止运行所述应用程序之后所述终端的单位时间耗电量;所述终端中停止运行的应用程序的单位时间总耗电量=所述第一耗电数值-所述第二耗电数值;筛选单元,用于从所述N份用户数据中筛选出包含应用程序标识最少的用户数据;第一计算单元,用于计算出:筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量=筛选出的所述用户数据中的第一耗电数值-筛选出的所述用户数据中的第二耗电数值;第二计算单元,用于根据所述筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量逐轮计算出剩下的用户数据所包含的应用程序标识所表征的应用程序的单位时间耗电量;所述剩下的用户数据是所述N份用户数据中除了所述筛选出的用户数据外的用户数据;其中,N为正整数。结合第二方面,在第一种可能的实现方式中,所述第二计算单元包括:选取单元、第三计算单元和统计单元,其中:所述选取单元,用于在第i+1轮中,根据第i轮统计出的单位时间耗电量已知的应用程序,从所述剩下的用户数据中选取出包含有一个单位时间耗电量未知的应用程序标识的用户数据;所述第三计算单元,用于计算出:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量=第i+1轮选取出的所述用户数据中的第一耗电数值-第i+1轮选取出的所述用户数据中的第二耗电数值-第i+1轮选取出的所述用户数据中的单位时间耗电量已知的应用程序的单位时间耗电量;所述统计单元,用于将第i轮统计出的单位时间耗电量已知的应用程序和第i+1轮计算出单位时间耗电量的应用程序作为第i+1轮统计出的单位时间耗电量已知的应用程序;其中,当i=1时,第i轮统计出的单位时间耗电量已知的应用程序即是所述包含应用程序标识最少的用户数据所包含的应用程序标识所表征的应用程序;i 是正整数。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述包含应用程序标识最少的用户数据包含:1个应用程序标识或至少2个应用程序标识;如果所述包含应用程序标识最少的用户数据包含至少2个应用程序标识;所述装置,还包括:第四计算单元,用于计算出所述筛选出的所述用户数据中的每一个应用程序标识表征的应用程序的单位时间耗电量。结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:第一判断单元,用于在所述第三计算单元计算出:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量=第i+1轮选取出的所述用户数据中的第一耗电数值-第i+1轮选取出的所述用户数据中的第二耗电数值-第i+1轮选取出的所述用户数据中的单位时间耗电量已知的应用程序的单位时间耗电量时,判断所述计算结果是否小于或等于0,如果是,则判定所述用户数据是不可信的用户数据。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述装置还包括:第二判断单元,用于在所述第一判断单元判定所述用户数据是不可信的用户数据之后,在第i+1轮选取出的所述用户数据中,判断是否存在多于预设个数的所述不可信的用户数据包含相同的应用程序标识,如果存在,则判定所述相同的应用程序标识所表征的应用程序是不可信的应用程序。结合第二方面,在第五种可能的实现方式中,所述获取单元,具体用于:获取N个同一类型终端发送的N份用户数据。本发明实施例第三方面提供了一种服务器,包括:收发装置、存储器以及与所述存储器耦合的处理器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:通过所述收发装置获取N个终端发送的N份用户数据;从所述N份用户数据中筛选出包含应用程序标识最少的用户数据;计算出:筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量=筛选出的所述用户数据中的第一耗电数值-筛选出的所述用户数据中的第二耗电数值;根据所述筛选出的所述用户数据包含的应用程序标识所表征的应用程序的 单位时间耗电量逐轮计算出剩下的用户数据所包含的应用程序标识所表征的应用程序的单位时间耗电量;所述剩下的用户数据是所述N份用户数据中除了所述筛选出的用户数据外的用户数据;其中,N为正整数。结合第三方面,在一些可能的实现方式中,所述处理器执行的具体步骤还可以是第一方面描述的获取应用程序耗电量的方法。实施本发明实施例,通过获取N个终端发送的N份用户数据,其中,每一个终端发送的用户数据包括:所述终端中停止运行的应用程序,在停止运行所述应用程序之前所述终端的单位时间耗电量,在停止运行所述应用程序之后所述终端的单位时间耗电量,并根据所述N份用户数据计算出所述N个终端中停止运行的应用程序的单位时间耗电量,可实现简单便捷的获取到应用程序的单位时间耗电量。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的获取应用程序耗电量的方法的流程图;图2是本发明实施例涉及的通信系统的示意图图3是本发明实施例提供的一种逐轮计算出应用程序耗电量的示意图;图4是本发明实施例提供的另一种逐轮计算出应用程序耗电量的示意图;图5是本发明实施例提供的一种计算图4的第1轮筛选出的用户数据中的每一个应用程序耗电量的数学计算式的示意图;图6是本发明实施例提供的获取应用程序耗电量的装置的第一实施例的结构示意图;图7是本发明实施例提供的获取应用程序耗电量的装置的第二实施例的结构示意图;图8是本发明实施例提供的获取应用程序耗电量的装置的第三实施例的结构示意图;图9是本发明实施例提供的服务器的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供的获取应用程序耗电量的方法,通过获取N个终端发送的N份用户数据,其中,每一个终端发送的用户数据包括:所述终端中停止运行的应用程序,在停止运行所述应用程序之前所述终端的单位时间耗电量,在停止运行所述应用程序之后所述终端的单位时间耗电量,并根据所述N份用户数据计算出所述N个终端中停止运行的应用程序的单位时间耗电量,可实现简单便捷的获取到应用程序的单位时间耗电量。下面结合附图进行详细说明。参见图1,是本发明实施例提供的获取应用程序耗电量的方法的流程图。如图1所示,该方法包括:步骤S101:获取N个终端发送的N份用户数据。这里,N是正整数。步骤S103:从所述N份用户数据中筛选出包含应用程序标识最少的用户数据。步骤S105:计算出:筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量=筛选出的所述用户数据中的第一耗电数值-筛选出的所述用户数据中的第二耗电数值。步骤S107:根据所述筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量逐轮计算出剩下的用户数据所包含的应用程序标识所表征的应用程序的单位时间耗电量。这里,所述剩下的用户数据是所述N份用户数据中除了步骤S103中筛选出的用户数据外的用户数据应当理解的,执行本发明方案的主体是服务器。服务器接收所述N个终端发送的N份用户数据。具体的,服务器与所述N个终端之间的通信交互可如图2所示,其中,服务器201用于与所述N个终端202通信,接收所述N个终端202发送的用户数据。具体实现中,服务器201与终端202之间可以通过Wi-Fi、GPRS等无线的数据通信方式进行通信交互,实际应用中,服务器201与终端 202之间也可以通过其他通信方式进行通信交互,例如,蓝牙、Zigbee等,这里不作限制。需要说明的,服务器201与终端202之间还可以通过有线通信链路进行通信,本发明实施例不作限制。在一种常见的应用场景中,图2中的服务器201可以是云端服务器,终端202可以是任意的能访问所述云端服务器的终端。本发明实施例中,每一个终端可以发送一份用户数据到服务器。每一个终端发送的用户数据可至少包括:应用程序标识、第一耗电数值和第二耗电数值;其中,所述应用程序标识用于表征所述终端中停止运行的应用程序,所述第一耗电数值用于表征在停止运行所述应用程序之前所述终端的单位时间耗电量,所述第二耗电数值用于表征在停止运行所述应用程序之后所述终端的单位时间耗电量。可以理解的,所述终端中停止运行的应用程序的单位时间总耗电量=所述第一耗电数值-所述第二耗电数值。具体实现中,所述用户数据可如表1所示:设备标识设备类型第一耗电数值第二耗电数值APPIDDEV_1TYPE_15%1%APP1、APP2表1可选的,如表1所示,所述用户数据还可以包括终端的设备标识、设备类型等信息。从表1所示的用户数据可知,APP1的单位时间耗电量+APP2的单位时间耗电量=(5%-1%)/h。本发明实施例中,所述单位时间耗电量是指在单位时间内的耗电量。通常,终端的耗电量可以通过电量百分比来表示。例如,终端的单位时间耗电量是5%。如果终端的电池是1000mA,那么表明终端在单位时间内的耗电量为50mA。在这种应用场景下,为了避免不同设备类型的终端的电池电量不同而造成的耗电量单位不一致,所述N份用户数据需要是同一设备类型的N个终端发送的。这里,所述同一设备类型的终端可以是指具有相同的电池容量的终端。需要说明的,实际应用中,终端的耗电量还可以通过其他形式来表示,例如电量,其单位可以包括:毫安时(mA*h)、毫安分(mA*min)和毫安秒(mA*s)等等,本发明实施例不作限制。本发明实施例中,所述N是一个较大的数值。也即是说,服务器处理的所述N份用户数据是一个大数据量。因此,可以理解的,在所述N份用户数据中,应用程序标识重复的概率较大,服务器能够利用所述N份数据计算出所述N份数据中的应用程序标识所表征的应用程序的单位时间耗电量。下面结合图3,详细描述推算所述N份用户数据中的应用程序单位时间耗电量的过程:(1)服务器可以从所述N份用户数据中筛选出包含应用程序标识最少的用户数据。如图3所示,所述包含应用程序标识最少的用户数据是:用户2、用户3,均只包含1个应用程序标识。并且,服务器可以计算出:用户2中的APP2的单位时间耗电量=用户2中的第一耗电数值-用户2中的第二耗电数值;用户3中的APP3的单位时间耗电量=用户3中的第一耗电数值-用户3中的第二耗电数值。优选的,如果筛选出多份只包含APP2或APP3的用户数据,服务器可以对所述多份用户数据的计算结果进行平均。例如,除了用户2,仅包含APP2的用户数据还包括:用户11。那么,可以将这2份用户数据的计算结果进行平均:APP2的单位时间耗电量=(用户2中的APP2的单位时间耗电量+用户11中的APP2的单位时间耗电量)/2,其中,用户11中的APP2的单位时间耗电量=用户11中的第一耗电数值-用户11中的第二耗电数值。(2)服务器可以将所述包含应用程序标识最少的用户数据(用户2和用户3)所包含的应用程序标识所表征的应用程序(APP2和APP3)统计为初始的单位时间耗电量已知的应用程序,即第1轮统计出的单位时间耗电量已知的应用程序。如图3,第1轮中虚线框选中的应用程序即是第1轮统计出的单位时间耗电量已知的应用程序。可选的,如图3所示,可以将单位时间耗电量已知的应用程序从后续轮次的计算过程中删除。(3)在第2轮中,服务器可以根据第1轮统计出的单位时间耗电量已知的应用程序,从所述剩下的用户数据(除了用户2和用户3外)中选取出包含有一个单位时间耗电量未知的应用程序标识的用户数据。如图3所示,在第2轮中,所述包含有一个单位时间耗电量未知的应用程 序标识的用户数据是:用户7,用户7除了包含单位时间耗电量已知的APP2和APP3外,还包括1个单位时间耗电量未知的APP8。并且,服务器可以计算出:APP8的单位时间耗电量=用户7中的第一耗电数值-第二耗电数值-APP2的单位时间耗电量-APP3的单位时间耗电量。如图3,第2轮中虚线框选中的应用程序即是第2轮计算出单位时间耗电量的应用程序。(4)服务器将第1轮统计出的单位时间耗电量已知的应用程序和第2轮计算出单位时间耗电量的应用程序共同作为第2轮统计出的单位时间耗电量已知的应用程序。即,第2轮统计出的单位时间耗电量已知的应用程序是:APP2、APP3和APP8。(5)依此类推,在第i+1轮中,服务器可以根据第i轮统计出的单位时间耗电量已知的应用程序,从所述剩下的用户数据中选取出包含有一个单位时间耗电量未知的应用程序标识的用户数据。并且,服务器可以计算出:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量=第i+1轮选取出的所述用户数据中的第一耗电数值-第i+1轮选取出的所述用户数据中的第二耗电数值-第i+1轮选取出的所述用户数据中的单位时间耗电量已知的应用程序的单位时间耗电量。如图3,第i+1轮中虚线框选中的应用程序即是第i+1轮计算出单位时间耗电量的应用程序。优选的,服务器可以在计算:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量时,判断所述计算结果是否小于或等于0,如果是,则判定所述用户数据是不可信的用户数据。例如,在第3轮中,用户6中的APP9的单位时间耗电量=用户6中的第一耗电数值-用户6中的第二耗电数值–APP8的单位时间耗电量,如果计算结果小于0,则表明用户6是不可信的用户数据。实际应用中,服务器可以舍弃所述不可信的用户数据,即不利用所述不可信的用户数据来实施本发明方案。进一步的,在判定所述用户数据是不可信的用户数据之后,服务器还可以:在第i+1轮选取出的所述用户数据中,判断是否存在多于预设个数的所述不可信 的用户数据包含相同的应用程序标识,如果存在,则判定所述相同的应用程序标识所表征的应用程序是不可信的应用程序。例如,在第3轮中,用户6和用户8都是不可信的用户数据。由于用户6和用户8均包含APP8,因此,服务器可以判定APP8是不可信的应用程序。实际应用中,服务器可以舍弃APP8涉及的所有用户数据。这里所述预设个数可以根据统计经验得出,本发明实施例不作具体限制。(6)服务器可以将第i轮统计出的单位时间耗电量已知的应用程序和第i+1轮计算出单位时间耗电量的应用程序作为第i+1轮统计出的单位时间耗电量已知的应用程序。可以理解的,根据图3所示的推算过程可知,基于第1轮筛选出的用户数据中单位时间耗电量已知的应用程序,服务器可以逐轮计算出更多的应用程序的单位时间耗电量,最终获取到所述N份用户数据中每一个应用程序的单位时间耗电量。在一种应用场景下,如图4所示,通过步骤S103筛选出的所述包含应用程序标识最少的用户数据是包含2个应用程序标识的用户数据。也即是说,所述N份用户数据中不存在仅包含1个应用程序标识的用户数据。需要说明的,所述包含应用程序标识最少的用户数据还可以是包含2个以上应用程序标识的用户数据。如图4所示,筛选出的所述包含应用程序标识最少的用户数据是:用户2、用户3,分别包含2个应用程序标识,其中,用户2包含APP2和APP3,用户3包含APP4和APP6。在具体实现中,服务器可以将APP2和APP3作为一个整体,将APP4和APP6作为一个整体,并计算出:APP2和APP3的单位时间总耗电量=用户2中的第一耗电数值-用户2中的第二耗电数值;APP4和APP6的单位时间总耗电量=用户3中的第一耗电数值-用户3中的第二耗电数值。在具体实现中,服务器可以将APP2和APP3视为一个新的应用程序、将APP4和APP6视为一个新的应用程序,利用二者计算出的单位时间耗电量推算出其他应用程序的单位时间耗电量。如图4所示,第1轮中虚线框选中的应用 程序集合即是第1轮统计出的单位时间耗电量已知的应用程序。具体实现中,基于第1轮中统计出的APP2和APP3的单位时间总耗电量、APP4和APP6的单位时间总耗电量,服务器可以参考上述图3中的(3)-(6)逐轮推算出所述剩下的用户数据中的应用程序的单位时间耗电量。进一步的,在推算出剩下的用户数据中的应用程序的单位时间耗电量外,服务器还可以计算筛选出的所述用户数据中的每一个应用程序标识表征的应用程序的单位时间耗电量。具体的,服务器可以通过解所述筛选出的所述用户数据对应的方程组来获得所述筛选出的所述用户数据中的每一个应用程序标识表征的应用程序的单位时间耗电量。例如,所述筛选出的所述用户数据对应的方程组可如图5所示,各个方程等号左边表示从所述N份用户数据中筛选出的包含2个应用程序标识的用户数据。各个方程等号右边表示筛选出的所述用户数据包含的2个应用程序的单位时间总耗电量,其值等于:筛选出的所述用户数据中的第一耗电数值-筛选出的所述用户数据中的第二耗电数值。应当理解的,由于所述N份用户数据的数据量庞大,因此,筛选出的用户数据也是大数据量,即图5所示的多元一次方程组的方程个数能远远大于等式左边的变量的个数,根据行列式有解的条件可知,服务器能够计算出等式左边的变量的值。在本发明的一种实施方式中,步骤S101中的所述N份用户数据可以来自同一设备类型的N个终端。即,服务器可以对不同设备类型的用户数据分别实施本发明方案。可以理解的,由于不同设备类型的终端的硬件配置(如CPU等)不同,因此,不同设备类型的终端执行同一段计算机指令所需要消耗的电量可能存在出入。也即是说,不同设备类型的终端运行相同的应用程序所需要消耗的电量也可能会不同。具体实现中,在执行步骤S101之前,服务器可以按照设备类型对接收到的多份用户数据进行分类,以便对不同设备类型的用户数据分别实施本发明方案,可实现帮助用户进一步的了解应用程序耗电量与终端的设备类型之间的关系。例如,服务器接收到10000个终端发送的10000份用户数据,将这10000份用 户数据按照设备类型分类得到5种设备类型的用户数据,并对这5种设备类型的用户数据分别实施本发明方案,最终得到应用程序运行在这5种设备类型的终端中时的耗电量。这里,所述设备类型可以指终端的品牌机型。所述设备类型也可以指终端对应的硬件配置的类型。例如,配置ARM9架构主板的终端和配置ARM11架构主板的终端属于2种不同的设备类型。示例仅仅是本发明实施例的一种实现方式,实际应用中还可以根据CPU性能区分终端的设备类型,还可以根据上述分类条件中的几种结合划分设备类型,不应构成限定。实施本发明实施例,通过获取N个终端发送的N份用户数据,其中,每一个终端发送的用户数据包括:所述终端中停止运行的应用程序,在停止运行所述应用程序之前所述终端的单位时间耗电量,在停止运行所述应用程序之后所述终端的单位时间耗电量,并根据所述N份用户数据计算出所述N个终端中停止运行的应用程序的单位时间耗电量,可实现简单便捷的获取到应用程序的单位时间耗电量。参见图6,是本发明提供的获取应用程序耗电量的装置的第一实施例的结构示意图。如图6所示的装置60可包括:获取单元601、筛选单元603、第一计算单元605以及第二计算单元607,其中:获取单元601,用于获取N个终端发送的N份用户数据,其中,所述用户数据包括:应用程序标识、第一耗电数值和第二耗电数值;所述应用程序标识用于表征所述用户数据对应的终端中停止运行的应用程序,所述第一耗电数值用于表征在停止运行所述应用程序之前所述终端的单位时间耗电量,所述第二耗电数值用于表征在停止运行所述应用程序之后所述终端的单位时间耗电量;所述终端中停止运行的应用程序的单位时间总耗电量=所述第一耗电数值-所述第二耗电数值;筛选单元603,用于从所述N份用户数据中筛选出包含应用程序标识最少的用户数据;第一计算单元605,用于计算出:筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量=筛选出的所述用户数据中的第一耗电数值-筛选出的所述用户数据中的第二耗电数值;第二计算单元607,用于根据筛选单元603筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量逐轮计算出剩下的用户数据所包含的应用程序标识所表征的应用程序的单位时间耗电量;所述剩下的用户数据是所述N份用户数据中除了所述筛选出的用户数据外的用户数据;其中,N为正整数。本发明实施例中,所述单位时间耗电量是指在单位时间内的耗电量。通常,终端的耗电量可以通过电量百分比来表示。例如,终端的单位时间耗电量是5%。如果终端的电池是1000mA,那么表明终端在单位时间内的耗电量为50mA。在这种应用场景下,为了避免不同设备类型的终端的电池电量不同而造成的耗电量单位不一致,所述N份用户数据需要是同一设备类型的N个终端发送的。这里,所述同一设备类型的终端主要是指具有相同的电池容量的终端。需要说明的,实际应用中,终端的耗电量还可以通过其他形式来表示,例如电量,其单位可以包括:毫安时(mA·h)、毫安分(mA·min)和毫安秒(mA·s)等等,本发明实施例不作限制。本发明实施例中,所述N份用户数据是一个大数据量。因此,可以理解的,在所述N份用户数据中,应用程序标识重复的概率较大,第二计算单元607能够利用筛选单元603筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量逐轮计算出所述剩下的用户数据所包含的应用程序标识所表征的应用程序的单位时间耗电量。本发明实施例中,第二计算单元607可如图7所示进一步的包括:选取单元6071、第三计算单元6073和统计单元6075,其中:选取单元6071可用于:在第i+1轮中,根据统计单元6075在第i轮统计出的单位时间耗电量已知的应用程序,从所述剩下的用户数据中选取出包含有一个单位时间耗电量未知的应用程序标识的用户数据;第三计算单元6073可用于计算出:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量=第i+1轮选取出的所述用户数据中的第一耗电数值-第i+1轮选取出的所述用户数据中的第二耗电数值-第i+1轮选取出的所述用户数据中的单位时间耗电量已知的应用程序的单位时间耗电量;统计单元6075可用于将第i轮统计出的单位时间耗电量已知的应用程序和第i+1轮计算出单位时间耗电量的应用程序作为第i+1轮统计出的单位时间耗电量已知的应用程序;其中,当i=1时,统计单元6075在第i轮统计出的单位时间耗电量已知的应用程序即是所述包含应用程序标识最少的用户数据所包含的应用程序标识所表征的应用程序;i是正整数。更进一步的,如图7所示,装置60在包括:获取单元601、筛选单元603、第一计算单元605以及第二计算单元607外,还可包括:第一判断单元609,用于在第三计算单元6073计算出:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量=第i+1轮选取出的所述用户数据中的第一耗电数值-第i+1轮选取出的所述用户数据中的第二耗电数值-第i+1轮选取出的所述用户数据中的单位时间耗电量已知的应用程序的单位时间耗电量时,判断所述计算结果是否小于或等于0,如果是,则判定所述用户数据是不可信的用户数据。例如,在图3的第3轮中,用户6中的APP9的单位时间耗电量=用户6中的第一耗电数值-用户6中的第二耗电数值–APP8的单位时间耗电量,如果计算结果小于0,则表明用户6是不可信的用户数据。更进一步的,如图7所示,装置60在包括:获取单元601、筛选单元603、第一计算单元605、第二计算单元607和第一判断单元609外,还可包括:第二判断单元611,用于在第一判断单元609判定所述用户数据是不可信的用户数据之后,在第i+1轮选取出的所述用户数据中,判断是否存在多于预设个数的所述不可信的用户数据包含相同的应用程序标识,如果存在,则判定所述相同的应用程序标识所表征的应用程序是不可信的应用程序。例如,在第3轮中,用户6和用户8都是不可信的用户数据。由于用户6和用户8均包含APP8,因此,第二判断单元611可以判定APP8是不可信的应用程序。在一种应用场景下,如图4所示,筛选单元603筛选出的所述包含应用程序标识最少的用户数据是包含2个应用程序标识的用户数据。也即是说,所述N份用户数据中不存在仅包含1个应用程序标识的用户数据。需要说明的,筛选单元603筛选出的所述包含应用程序标识最少的用户数据还可以是包含2个以 上应用程序标识的用户数据。具体的,如图8所示,装置60在包括:获取单元601、筛选单元603、第一计算单元605和第二计算单元607外,还可包括:第四计算单元613,用于计算出所述筛选出的所述用户数据中的每一个应用程序标识表征的应用程序的单位时间耗电量。具体实现中,第四计算单元613可以通过解所述筛选出的所述用户数据对应的方程组来获得所述筛选出的所述用户数据中的每一个应用程序标识表征的应用程序的单位时间耗电量。例如,所述筛选出的所述用户数据对应的方程组可如图5所示,各个方程等号左边表示从所述N份用户数据中筛选出的包含2个应用程序标识的用户数据。各个方程等号右边表示筛选出的所述用户数据包含的2个应用程序的单位时间总耗电量,其值等于:筛选出的所述用户数据中的第一耗电数值-筛选出的所述用户数据中的第二耗电数值。应当理解的,由于所述N份用户数据的数据量庞大,因此,筛选出的用户数据也是大数据量,即图5所示的多元一次方程组的方程个数能远远大于等式左边的变量的个数,根据行列式有解的条件可知,第四计算单元613能够计算出等式左边的变量的值。在本发明的一种实施方式中,获取单元601获取的所述N份用户数据可以来自同一设备类型的N个终端。即,装置60可以对不同设备类型的用户数据分别实施本发明方案。具体实现中,在获取单元601接收所述N份用户数据之前,装置60可以按照设备类型对接收到的多份用户数据进行分类,以便对不同设备类型的用户数据分别实施本发明方案,可实现帮助用户进一步的了解应用程序耗电量与终端的设备类型之间的关系。可以理解的,装置60中的各个模块的功能的实现方式还可参考图1实施例中的方法,这里不再赘述。为了便于实施本发明实施例,本发明提供了一种服务器,用于实现图1实施例所述的获取应用程序耗电量的方法。参见图9,服务器100可包括:输入装置1003、输出装置1004、收发装置1006、存储器1005和与存储器1005耦合的处理 器1001(服务器100中的处理器1001的数量可以是一个或多个,图9中以一个处理器为例)。在本发明的一些实施例中,输入装置1003、输出装置1004、收发装置1006、存储器1005和处理器1001可通过总线或者其它方式连接,其中,图9中以通过总线连接为例。其中,输入装置1003,用于接收外部的输入数据。具体实现中,输入装置101可包括触摸式输入装置、声音输入装置、键盘、鼠标、光电输入装置、扫描仪等。输出装置1004,用于对外输出数据。具体实现中,输出装置1004可包括显示器、扬声器、打印机等。具体实现中,收发装置1006可包括无线收发模块、有线收发模块等收发器件。存储器1005用于存储程序代码,具体实现中,存储器1005可以采用只读存储器(ReadOnlyMemory,ROM)。处理器1001,例如CPU,用于调用存储于存储器1005中的耗电量获取程序执行如下步骤:通过收发装置1006获取N个终端发送的N份用户数据。这里,N是正整数。从所述N份用户数据中筛选出包含应用程序标识最少的用户数据。计算出:筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量=筛选出的所述用户数据中的第一耗电数值-筛选出的所述用户数据中的第二耗电数值。根据所述筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量逐轮计算出剩下的用户数据所包含的应用程序标识所表征的应用程序的单位时间耗电量。这里,所述剩下的用户数据是所述N份用户数据中除了步骤S103中筛选出的用户数据外的用户数据具体的,服务器100与所述N个终端之间可以通过Wi-Fi、GPRS等无线的数据通信方式进行通信交互,即收发装置1006可以是Wi-Fi模块、GPRS模块等无线模块。实际应用中,服务器100与所述N个终端之间也可以通过其他通信方式进行通信交互,例如,蓝牙、Zigbee等,即收发装置1006也可以是蓝牙模块。Zigbee模块等,这里不作限制。需要说明的,服务器100与所述N个终端之间还可以通过有线通信链路进行通信,即收发装置1006可以是有线通信模块,本发明实施例不作限制。本发明实施例中,所述N是一个较大的数值。也即是说,处理器1001处理的所述N份用户数据是一个大数据量。因此,可以理解的,在所述N份用户数据中,应用程序标识重复的概率较大,处理器1001能够利用所述N份数据计算 出所述N份数据中的应用程序标识所表征的应用程序的单位时间耗电量。本发明实施例中,处理器1001可以根据所述筛选出的所述用户数据包含的应用程序标识所表征的应用程序的单位时间耗电量逐轮计算出剩下的用户数据所包含的应用程序标识所表征的应用程序的单位时间耗电量。具体的,在第i+1轮中,处理器1001可以根据第i轮统计出的单位时间耗电量已知的应用程序,从所述剩下的用户数据中选取出包含有一个单位时间耗电量未知的应用程序标识的用户数据;并且,处理器1001可以计算出:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量=第i+1轮选取出的所述用户数据中的第一耗电数值-第i+1轮选取出的所述用户数据中的第二耗电数值-第i+1轮选取出的所述用户数据中的单位时间耗电量已知的应用程序的单位时间耗电量;之后,处理器1001可以将第i轮统计出的单位时间耗电量已知的应用程序和第i+1轮计算出单位时间耗电量的应用程序作为第i+1轮统计出的单位时间耗电量已知的应用程序;其中,当i=1时,第i轮统计出的单位时间耗电量已知的应用程序即是所述包含应用程序标识最少的用户数据所包含的应用程序标识所表征的应用程序;i是正整数。进一步的,在计算出:第i+1轮选取出的用户数据中的所述一个单位时间耗电量未知的应用程序的单位时间耗电量=第i+1轮选取出的所述用户数据中的第一耗电数值-第i+1轮选取出的所述用户数据中的第二耗电数值-第i+1轮选取出的所述用户数据中的单位时间耗电量已知的应用程序的单位时间耗电量时,处理器1001还可以:判断所述计算结果是否小于或等于0,如果是,则判定所述用户数据是不可信的用户数据。如果所述用户数据被判定是不可信的用户数据,处理器1001还可以在第i+1轮选取出的所述用户数据中,判断是否存在多于预设个数的所述不可信的用户数据包含相同的应用程序标识,如果存在,则判定所述相同的应用程序标识所表征的应用程序是不可信的应用程序。在一种应用场景下,处理器1001筛选出的所述包含应用程序标识最少的用户数据是包含1个应用程序标识或至少2个应用程序标识。如果所述包含应用程序标识最少的用户数据包含至少2个应用程序标识。那么,处理器1001还可以计算出所述筛选出的所述用户数据中的每一个应用程序标识表征的应用程序的单位时间耗电量。具体实现中,处理器1001可以通过解所述筛选出的所述用户数据对应的方程组来获得所述筛选出的所述用户数据中的每一个应用程序标识表征的应用程序的单位时间耗电量。例如,所述筛选出的所述用户数据对应的方程组可如图5所示,各个方程等号左边表示从所述N份用户数据中筛选出的包含2个应用程序标识的用户数据。各个方程等号右边表示筛选出的所述用户数据包含的2个应用程序的单位时间总耗电量,其值等于:筛选出的所述用户数据中的第一耗电数值-筛选出的所述用户数据中的第二耗电数值。应当理解的,由于所述N份用户数据的数据量庞大,因此,筛选出的用户数据也是大数据量,即图5所示的多元一次方程组的方程个数能远远大于等式左边的变量的个数,根据行列式有解的条件可知,处理器1001能够计算出等式左边的变量的值。在本发明的一种实施方式中,所述N份用户数据可以来自同一设备类型的N个终端。即,处理器1001可以对不同设备类型的用户数据分别实施本发明方案。可以理解的,由于不同设备类型的终端的硬件配置(如CPU的主频等)不同,因此,不同设备类型的终端执行同一段计算机指令所需要消耗的电量可能存在出入。也即是说,不同设备类型的终端运行相同的应用程序所需要消耗的电量也可能会不同。具体实现中,在获取所述N份用户数据之前,处理器1001可以按照设备类型对接收到的多份用户数据进行分类,以便对不同设备类型的用户数据分别实施本发明方案,可实现帮助用户进一步的了解应用程序耗电量与终端的设备类型之间的关系。这里,所述设备类型可以指终端的品牌机型。所述设备类型也可以指终端对应的硬件配置的类型。例如,配置ARM9架构主板的终端和配置ARM11架构主板的终端属于2种不同的设备类型。示例仅仅是本发明实施例的一种实现方式,实际应用中还可以根据CPU性能区分终端的设备类型,不应构成限定。可理解的是,处理器1001执行的步骤还可以参考上述图1方法实施例中的具体实现方式,这里不再赘述。综上所述,通过获取N个终端发送的N份用户数据,其中,每一个终端发送的用户数据包括:所述终端中停止运行的应用程序,在停止运行所述应用程序之前所述终端的单位时间耗电量,在停止运行所述应用程序之后所述终端的单位时间耗电量,并根据所述N份用户数据计算出所述N个终端中停止运行的应用程序的单位时间耗电量,可实现简单便捷的获取到应用程序的单位时间耗电量。本发明所有实施例中的模块或子模块,可以通过通用集成电路,例如CPU(CentralProcessingUnit,中央处理器),或通过ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)来实现。本发明实施例的方法的步骤顺序可以根据实际需要进行调整、合并或删减。本发明实施例的终端的模块可以根据实际需要进行整合、进一步划分或删减。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1