CN105320555B - 在终端上执行任务的方法及装置 - Google Patents
在终端上执行任务的方法及装置 Download PDFInfo
- Publication number
- CN105320555B CN105320555B CN201410271487.7A CN201410271487A CN105320555B CN 105320555 B CN105320555 B CN 105320555B CN 201410271487 A CN201410271487 A CN 201410271487A CN 105320555 B CN105320555 B CN 105320555B
- Authority
- CN
- China
- Prior art keywords
- task
- processor
- thread
- parallel
- chipset
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种在终端上执行任务的方法及装置。其中,该方法包括:获取待执行的任务;至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务;在判断出并行地执行所获取的任务的情况下,并行地执行所获取的任务。采用本发明,解决了现有技术中对电脑进行电脑体检耗时长的问题,实现了在终端上快速执行任务的效果。
Description
技术领域
本发明涉及终端控制领域,具体而言,涉及一种在终端上执行任务的方法及装置。
背景技术
现有技术中,对电脑的体检包括硬件体检、软件体检、网络状态体检、性能体检等多个方面的体检以对用户的计算机性能进行全面检查。目前,用户一般通过安全软件对电脑进行体检,这些安全软件(安全软件是一种可以对病毒、木马等一切已知的对计算机有危害的程序代码进行清除的程序工具)对用户电脑的体检一般是在用户设定的固定时间对电脑进行体检。然而,不同的用户使用不同的电脑,不同的电脑的配置不同,电脑的性能也不同。相对于低配机器而言,高配机器使用与低配机器相同的体检方法,同样在固定的时间进行电脑体检,需要很长的时间才能完成体检,这样浪费了大量的时间。
针对上述的对电脑进行电脑体检耗时长的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种在终端上执行任务的方法及装置,以至少解决对高配置电脑进行电脑体检耗时长的技术问题。
根据本发明实施例的一个方面,提供了一种在终端上执行任务的方法,该方法包括:获取待执行的任务;至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务;在判断出并行地执行所获取的任务的情况下,并行地执行所获取的任务。
根据本发明实施例的另一方面,还提供了一种在终端上执行任务的装置,该装置包括:获取模块,用于获取待执行的任务;第一判断模块,用于至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务;执行模块,用于在判断出并行地执行所获取的任务的情况下,并行地执行所获取的任务。
采用本发明实施例,至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务,在判断出并行地执行所获取的任务的情况下,并行地执行所获取的任务,从而可以根据终端的处理器的芯片组的数据确定终端性能,并在可以并行执行任务的终端上,并行执行任务,并行执行任务可以加快执行的速度,在对电脑进行电脑体检时可以提高电脑体检的效率,缩短体检的时间,从而解决了现有技术中对电脑进行电脑体检耗时长的问题,实现了在终端上快速执行任务(如电脑体检的任务)的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的在终端上执行任务的方法流程图;以及
图2是根据本发明实施例的在终端上执行任务的装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种在终端上执行任务的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种在终端上执行任务的方法,如图1所示,该方法可以通过如下步骤实现:
步骤S102:获取待执行的任务。
步骤S104:至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务。
步骤S106:在判断出并行地执行所获取的任务的情况下,并行地执行所获取的任务。
采用本发明,至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务,在判断出并行地执行所获取的任务的情况下,并行地执行所获取的任务,从而可以根据终端的处理器的芯片组的数据确定终端性能,并在可以并行执行任务的终端上,并行执行任务,并行执行任务可以加快执行的速度,在对电脑进行电脑体检时可以提高电脑体检的效率,缩短体检的时间,从而解决了现有技术中对电脑进行电脑体检耗时长的问题,实现了在终端上快速执行任务(如电脑体检的任务)的效果。
其中,上述实施例中的任务可以包括:运行终端上的安全应用时所需执行的任务,如,电脑体检的任务,具体地,可以为监控扫描磁盘、病毒查杀、清理垃圾、修复漏洞等的体检任务。
上述实施例中的终端可以为个人电脑、移动终端(如手机、平板电脑),也即上述实施例可以应用于对上述的终端的安全体检中。
在执行上述实施例中的步骤S102之前,可以通过API接口(即应用程序编程接口)获取终端的处理器的芯片组的数量(即处理器的核数),然后再判断是否并行地执行所获取的任务。
下面以对个人电脑进行电脑体检为场景详细介绍本发明。在该应用场景中可以通过安全软件(如电脑管家)对电脑进行电脑体检。
用户通过个人电脑上的客户端启动电脑体检,该电脑体检可以包括多个待执行的任务。在启动电脑体检之后,可以通过个人电脑系统的API接口(即应用程序编程接口)获取到个人电脑的处理器的芯片组的数量(即处理器的核数),然后至少依据处理器的芯片组的核数判断是否并行执行所获取的任务(如上述的监控扫描磁盘、病毒查杀、清理垃圾、修复漏洞等的体检任务),在判断出并行执行所获取的任务的情况下,并行执行上述任务,提高了处理时间。
在本发明的上述实施例中,至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务可以包括:判断芯片组的数量是否大于第一预设阈值;在芯片组的数量大于第一预设阈值时,判断出并行地执行所获取的任务。
具体地,判断处理器的芯片组的数量是否大于第一预设阈值(该第一预设阈值可以为2),在芯片组的数量大于第一预设阈值时,判断出并行地执行所获取的任务,也即个人电脑的处理器大于2核(如4核或者8核的处理器)则确定可以对该个人电脑进行并行体检。
需要进一步说明的是,在本发明的上述实施例中,在判断芯片组的数量是否大于第一预设阈值之后,在芯片组的数量小于或等于第一预设阈值时,判断出不并行(如串行)地执行所获取的任务。具体地,在本发明实施例应用于对个人电脑进行电脑体检的场景中时,对于处理器的核数低于第一预设阈值的个人电脑不进行并行体检。
通过本发明上述实施例,通过检测终端(如个人电脑、移动终端)的CPU(即上述实施例中的处理器)的核数确认机器性能,在用户的低配机上(即上述实施例中的处理器的芯片组的数量小于或等于第一预设阈值的终端)不进行并行体检,在高配机器(即上述实施例中的处理器的芯片组的数量大于第一预设阈值的终端)上进行并行体检,缩短电脑体检的时间,并且对于低配置机器在使用电脑体检时又不会处理很慢,提高了用户进行电脑体检的体验。
在本发明的上述实施例中,在判断出并行执行待执行的任务之后,可以根据处理器的芯片组的数量确定并行执行的线程的数量。
具体地,可以对处理器的芯片组的数量进行加权计算得到线程的数量。例如,可以获取预先设置的线程权重(如1.5),计算线程权重与芯片组的数量(如该芯片组的数量为4)的乘积:1.5*4,则线程的数量为4。
为了保证终端始终快速执行待执行的任务,可以为该线程的数量设置一个线程阈值,如该线程阈值为6,如果计算得到的线程的数量大于线程阈值,则将该线程的数量确定为该线程阈值的值。例如,芯片组的数量为8,预设的线程权重为1,则计算得到的线程的数量为8,为了保证系统维持在一个快速的处理速度上,将该线程的数量确定为线程阈值的值,则最终得到的线程的数量为6。
在本发明另外一个可选的实施例中,在判断芯片组的数量是否大于第一预设阈值之后,在芯片组的数量小于或等于第一预设阈值时,获取处理器的使用率,判断处理器的使用率是否低于第四预设阈值,在处理器的使用率低于第四预设阈值时,判断出并行地执行所获取的任务。
具体地,判断处理器的芯片组的数量是否大于第一预设阈值(该第一预设阈值可以为2),在芯片组的数量不大于第一预设阈值时(如该处理器的芯片组的数量为1,也即该处理器为单核处理器),判断处理器的使用率是否低于第四预设阈值(如5%),如果该处理器的使用率低于第四预设阈值,则判断出并行地执行所获取的任务,也即个人电脑的处理器不大于2核(单核处理器),在其处理器的使用率极低(如1%)的情况下,也可以对该个人电脑进行并行体检。
通过本发明上述实施例,通过检测终端(如个人电脑、移动终端)的CPU(即上述实施例中的处理器)的核数确认机器性能,在用户的低配机上(即上述实施例中的处理器的芯片组的数量小于或等于第一预设阈值的终端)当时处理器使用率很低的情况下,也可以对其进行并行体检,从而可以合理利用处理器资源,缩短电脑体检的时间,同时还可以保证对低配置机器进行电脑体检时的处理速度,提高了用户进行电脑体检的体验。
在本发明的上述实施例中,在判断出并行执行待执行的任务之后,可以根据处理器的芯片组的数量和处理器的使用率确定并行执行的线程的数量。
具体地,可以对处理器的芯片组的数量和处理器的使用率进行加权计算得到线程的数量。例如,可以获取预先设置的线程权重(如2)和数据表中对应的使用率加权参数(如对应使用率1%的加权参数为100),计算线程权重和芯片组的数量(如该芯片组的数量为1)的第一乘积:2*1=2,计算使用率加权参数与处理器的使用率的第二乘积:1*1=1,将该第二乘积作为第一乘积的权重计算线程的数量:1*2=2,对计算得到的线程的数量进行取整处理得到最终的线程的数量为2。
为了保证终端始终快速执行待执行的任务,在该实施例中同样可以为该线程的数量设置一个线程阈值,如该线程阈值为2,由于在低配置机器上并行体检,线程值最多为2。
在本发明一个可选的实施例中,至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务可以包括:判断芯片组的数量是否大于第一预设阈值、且处理器的使用率是否小于第二预设阈值;在芯片组的数量大于第一预设阈值、且处理器的使用率小于第二预设阈值时,判断出并行地执行所获取的任务。
在该实施例中,可以结合终端的处理器的芯片组的数量和处理器的使用率判断是否并行地执行所获取的任务,由于在该实施例中判断是否并行地执行所获取的任务时,不仅结合终端的设备性能,还考虑到了终端的当前系统的处理状况和能力,从而可以使得判断更加准确,判断结果也更加符合当前终端的处理情况,从而可以进一步地缩短处理时间,并且可以保证终端数据处理的稳定性。
具体地,判断处理器的芯片组的数量是否大于第一预设阈值(该第一预设阈值可以为2)、且处理器的使用率是否小于第二预设阈值(如该第二预设阈值可以为50%),在芯片组的数量大于第一预设阈值且处理器的使用率大于第二预设阈值时,则判断出并行地执行所获取的任务,也即个人电脑的处理器大于2核(如4核或者8核的处理器)且该终端的处理器当前使用率低于50%,则确定可以对该个人电脑进行并行体检。
需要进一步说明的是,在本发明的上述实施例中,在判断芯片组的数量是否大于第一预设阈值、且处理器的使用率是否小于第二预设阈值之后,在芯片组的数量小于或等于第一预设阈值,或处理器的使用率大于或等于第二预设阈值时,判断出不并行(如串行)地执行所获取的任务。具体地,在本发明实施例应用于对个人电脑进行电脑体检的场景中时,对于处理器的核数低于等于第一预设阈值,或终端处理器使用率高于等于第二预设阈值的个人电脑不进行并行体检。
通过本发明上述实施例,通过检测终端(如个人电脑、移动终端)的CPU(即上述实施例中的处理器)的核数确认机器性能,在用户的低配机或处理器使用率高(即操作系统处理繁忙的终端)上(即上述实施例中的处理器的芯片组的数量小于或等于第一预设阈值的终端)不进行并行体检,在高配机器(即上述实施例中的处理器的芯片组的数量大于第一预设阈值的终端)或处理器使用率低(即操作系统处理繁忙的终端)上进行并行体检,合理地利用时间和处理器资源,进一步地缩短电脑体检的时间,提高了用户进行电脑体检的体验。
在本发明的上述实施例中,在判断出并行执行待执行的任务之后,可以根据处理器的芯片组的数量和处理器的使用率确定并行执行的线程的数量。
具体地,可以对处理器的芯片组的数量和处理器的使用率进行加权计算得到线程的数量。例如,可以获取预先设置的线程权重(如2)和预先设置好的使用率加权参数(如加权参数为2),计算线程权重和芯片组的数量(如该芯片组的数量为4)的第一乘积:2*4=8,计算使用率加权参数与处理器的使用率(如40%)的第二乘积:0.4*2=0.8,将该第二乘积作为第一乘积的权重计算线程的数量:0.8*8=6.4,对计算得到的线程的数量进行取整处理得到最终的线程的数量为6。
为了保证终端始终快速执行待执行的任务,在该实施例中同样可以为该线程的数量设置一个线程阈值,如该线程阈值为6,如果计算得到的线程的数量大于线程阈值,则将该线程的数量确定为该线程阈值的值。假如,上述实施例中最终确定的线程的数量为8,为了保证系统维持在一个快速的处理速度上,将该线程的数量确定为线程阈值的值,则最终得到的线程的数量为6。
根据本发明的上述实施例,并行地执行所获取的任务可以包括:判断处理器的使用率是否小于第三预设阈值;若判断出处理器的使用率小于第三预设阈值,则将任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用线程,以完成对所分配的任务的并行执行。
其中,本发明实施例中的处理器的使用率可以通过API接口实时监控处理器的使用率来实现。
具体地,在获取到处理器的使用率之后,可以判断处理器的使用率是否小于第三预设阈值(如70%);若判断出处理器的使用率(如50%)小于第三预设阈值,则将任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用线程,以完成对所分配的任务的并行执行。
例如,对应该电脑体检的任务共有100个,尚未执行的有86个,假设在对该个人电脑进行电脑体检开启的线程有6个,如果获取处理器的使用率为50%,该处理器的使用率小于第三预设阈值(如70%),则继续为线程池中的6个线程分配尚未被执行的86个任务中的一个或多个,更具体地,在该分配任务的过程中,可以一个一个地为线程分配,然后并行地调用6个线程,以执行各个线程中的待执行任务。
需要进一步说明的是,在判断处理器的使用率是否小于第三预设阈值之后,方法还可以包括:若判断出处理器的使用率大于或等于第三预设阈值,则停止将任务中尚未被执行的一个或多个任务分配给线程池中的线程,直到处理器的使用率小于第三预设阈值;在处理器的使用率小于第三预设阈值时,将任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用线程,以完成对所分配的任务的并行执行。
具体地,在判断处理器的使用率是否小于第三预设阈值之后,本发明的上述实施例还可以包括如下步骤:若判断出处理器的使用率大于或等于第三预设阈值(如70%),则停止将任务中尚未被执行的一个或多个任务分配给线程池中的线程,然后,持续监测处理器的使用率直到处理器的使用率小于第三预设阈值;在处理器的使用率小于第三预设阈值时,将任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用线程,以完成对所分配的任务的并行执行。
例如,对应该电脑体检的任务共有100个,尚未执行的有86个,假设在对该个人电脑进行电脑体检开启的线程有6个,如果获取处理器的使用率为75%,该处理器的使用率大于第三预设阈值(如70%),则暂时停止将获取到的任务中尚未被执行86个任务中的一个或多个任务分配给线程池中的线程。然后,持续监测处理器的使用率,并判断处理器的使用率是否小于第三预设阈值,直至该处理器的使用率低于第三预设阈值,再为线程池中的6个线程分配尚未被执行的86个任务中的一个或多个,更具体地,在该分配任务的过程中,可以一个一个地为线程分配,然后并行地调用6个线程,以执行各个线程中的待执行任务。
通过本发明的上述实施例,实时监控CPU的使用率以控制线程池中执行的任务数目,例如,当CPU使用率大于70%时,这时不再抛任务到线程池里,减少安全软件(如电脑管家)的体检任务数;当CPU使用率小于70%之后,继续将任务抛到线程池。通过上述实施例,可以达到平衡CPU使用率的效果,这样当用户使用电脑时,利用电脑管家进行体检,可以根据其CPU的使用率确定体检的任务数,从而最大化的节省用户的时间,为用户提供价值。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种在终端上执行任务的装置,该装置可以通过在实施例中涉及的在终端上执行任务的方法来实现,下面对本申请的实施过程进行详细描述。
图2是根据本发明实施例的在终端上执行任务的装置示意图。如图2所示,该装置可以包括:获取模块10、第一判断模块20以及执行模块30。
其中,获取模块10,用于获取待执行的任务。
第一判断模块20,用于至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务。
执行模块30,用于在判断出并行地执行所获取的任务的情况下,并行地执行所获取的任务。
采用本发明,至少根据终端的处理器的芯片组的数量判断是否并行地执行所获取的任务,在判断出并行地执行所获取的任务的情况下,并行地执行所获取的任务,从而可以根据终端的处理器的芯片组的数据确定终端性能,并在可以并行执行任务的终端上,并行执行任务,并行执行任务可以加快执行的速度,在对电脑进行电脑体检时可以提高电脑体检的效率,缩短体检的时间,从而解决了现有技术中对电脑进行电脑体检耗时长的问题,实现了在终端上快速执行任务(如电脑体检的任务)的效果。
其中,上述实施例中的任务可以包括:运行终端上的安全应用时所需执行的任务,如,电脑体检的任务,具体地,可以为监控扫描磁盘、病毒查杀、清理垃圾、修复漏洞等的体检任务。
上述实施例中的终端可以为个人电脑、移动终端(如手机、平板电脑),也即上述实施例可以应用于对上述的终端的安全体检中。
在执行上述实施例中的过程中,可以通过API接口(即应用程序编程接口)获取终端的处理器的芯片组的数量(即处理器的核数),然后再判断是否并行地执行所获取的任务。
下面以对个人电脑进行电脑体检为场景详细介绍本发明。在该应用场景中可以通过安全软件(如电脑管家)对电脑进行电脑体检。
用户通过个人电脑上的客户端启动电脑体检,该电脑体检可以包括多个待执行的任务。在启动电脑体检之后,可以通过个人电脑系统的API接口(即应用程序编程接口)获取到个人电脑的处理器的芯片组的数量(即处理器的核数),然后至少依据处理器的芯片组的核数判断是否并行执行所获取的任务(如上述的监控扫描磁盘、病毒查杀、清理垃圾、修复漏洞等的体检任务),在判断出并行执行所获取的任务的情况下,并行执行上述任务,提高了处理时间。
本发明上述实施例中的各个处理模块与方法实施例中对应步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
在本发明的上述实施例中,第一判断模块可以包括:第一判断子模块,用于判断芯片组的数量是否大于第一预设阈值;第一确定模块,用于在芯片组的数量大于第一预设阈值时,判断出并行地执行所获取的任务。
具体地,判断处理器的芯片组的数量是否大于第一预设阈值(该第一预设阈值可以为2),在芯片组的数量大于第一预设阈值时,判断出并行地执行所获取的任务,也即个人电脑的处理器大于2核(如4核或者8核的处理器)则确定可以对该个人电脑进行并行体检。
需要进一步说明的是,在本发明的上述实施例中,在判断芯片组的数量是否大于第一预设阈值之后,在芯片组的数量小于或等于第一预设阈值时,判断出不并行(如串行)地执行所获取的任务。具体地,在本发明实施例应用于对个人电脑进行电脑体检的场景中时,对于处理器的核数低于第一预设阈值的个人电脑不进行并行体检。
通过本发明上述实施例,通过检测终端(如个人电脑、移动终端)的CPU(即上述实施例中的处理器)的核数确认机器性能,在用户的低配机上(即上述实施例中的处理器的芯片组的数量小于或等于第一预设阈值的终端)不进行并行体检,在高配机器(即上述实施例中的处理器的芯片组的数量大于第一预设阈值的终端)上进行并行体检,缩短电脑体检的时间,并且对于低配置机器在使用电脑体检时又不会处理很慢,提高了用户进行电脑体检的体验。
在本发明的上述实施例中,在判断出并行执行待执行的任务之后,可以根据处理器的芯片组的数量确定并行执行的线程的数量。
具体地,可以对处理器的芯片组的数量进行加权计算得到线程的数量。例如,可以获取预先设置的线程权重(如1.5),计算线程权重与芯片组的数量(如该芯片组的数量为4)的乘积:1.5*4,则线程的数量为4。
为了保证终端始终快速执行待执行的任务,可以为该线程的数量设置一个线程阈值,如该线程阈值为6,如果计算得到的线程的数量大于线程阈值,则将该线程的数量确定为该线程阈值的值。例如,芯片组的数量为8,预设的线程权重为1,则计算得到的线程的数量为8,为了保证系统维持在一个快速的处理速度上,将该线程的数量确定为线程阈值的值,则最终得到的线程的数量为6。
在本发明另外一个可选的实施例中,第一判断模块还可以包括第三判断子模块,用于在判断芯片组的数量是否大于第一预设阈值之后,在芯片组的数量小于或等于第一预设阈值时,获取处理器的使用率,并判断处理器的使用率是否低于第四预设阈值,第一确定模块还用于在处理器的使用率低于第四预设阈值时,判断出并行地执行所获取的任务。
具体地,判断处理器的芯片组的数量是否大于第一预设阈值(该第一预设阈值可以为2),在芯片组的数量不大于第一预设阈值时(如该处理器的芯片组的数量为1,也即该处理器为单核处理器),判断处理器的使用率是否低于第四预设阈值(如5%),如果该处理器的使用率低于第四预设阈值,则判断出并行地执行所获取的任务,也即个人电脑的处理器不大于2核(单核处理器),在其处理器的使用率极低(如1%)的情况下,也可以对该个人电脑进行并行体检。
通过本发明上述实施例,通过检测终端(如个人电脑、移动终端)的CPU(即上述实施例中的处理器)的核数确认机器性能,在用户的低配机上(即上述实施例中的处理器的芯片组的数量小于或等于第一预设阈值的终端)当时处理器使用率很低的情况下,也可以对其进行并行体检,从而可以合理利用处理器资源,缩短电脑体检的时间,同时还可以保证对低配置机器进行电脑体检时的处理速度,提高了用户进行电脑体检的体验。
在本发明的上述实施例中,在判断出并行执行待执行的任务之后,可以根据处理器的芯片组的数量和处理器的使用率确定并行执行的线程的数量。
具体地,可以对处理器的芯片组的数量和处理器的使用率进行加权计算得到线程的数量。例如,可以获取预先设置的线程权重(如2)和数据表中对应的使用率加权参数(如对应使用率1%的加权参数为100),计算线程权重和芯片组的数量(如该芯片组的数量为1)的第一乘积:2*1=2,计算使用率加权参数与处理器的使用率的第二乘积:1*1=1,将该第二乘积作为第一乘积的权重计算线程的数量:1*2=2,对计算得到的线程的数量进行取整处理得到最终的线程的数量为2。
为了保证终端始终快速执行待执行的任务,在该实施例中同样可以为该线程的数量设置一个线程阈值,如该线程阈值为2,由于在低配置机器上并行体检,线程值最多为2。
根据本发明的一个可选实施例,第一判断模块可以包括:第二判断子模块,用于判断芯片组的数量是否大于第一预设阈值、且处理器的使用率是否小于第二预设阈值;第二确定模块,用于在芯片组的数量大于第一预设阈值、且处理器的使用率小于第二预设阈值时,判断出并行地执行所获取的任务。
在该实施例中,可以结合终端的处理器的芯片组的数量和处理器的使用率判断是否并行地执行所获取的任务,由于在该实施例中判断是否并行地执行所获取的任务时,不仅结合终端的设备性能,还考虑到了终端的当前系统的处理状况和能力,从而可以使得判断更加准确,判断结果也更加符合当前终端的处理情况,从而可以进一步地缩短处理时间,并且可以保证终端数据处理的稳定性。
具体地,判断处理器的芯片组的数量是否大于第一预设阈值(该第一预设阈值可以为2)、且处理器的使用率是否小于第二预设阈值(如该第二预设阈值可以为50%),在芯片组的数量大于第一预设阈值且处理器的使用率大于第二预设阈值时,则判断出并行地执行所获取的任务,也即个人电脑的处理器大于2核(如4核或者8核的处理器)且该终端的处理器当前使用率低于50%,则确定可以对该个人电脑进行并行体检。
需要进一步说明的是,在本发明的上述实施例中,在判断芯片组的数量是否大于第一预设阈值、且处理器的使用率是否小于第二预设阈值之后,在芯片组的数量小于或等于第一预设阈值,或处理器的使用率大于或等于第二预设阈值时,判断出不并行(如串行)地执行所获取的任务。具体地,在本发明实施例应用于对个人电脑进行电脑体检的场景中时,对于处理器的核数低于等于第一预设阈值,或终端处理器使用率高于等于第二预设阈值的个人电脑不进行并行体检。
通过本发明上述实施例,通过检测终端(如个人电脑、移动终端)的CPU(即上述实施例中的处理器)的核数确认机器性能,在用户的低配机或处理器使用率高(即操作系统处理繁忙的终端)上(即上述实施例中的处理器的芯片组的数量小于或等于第一预设阈值的终端)不进行并行体检,在高配机器(即上述实施例中的处理器的芯片组的数量大于第一预设阈值的终端)或处理器使用率低(即操作系统处理繁忙的终端)上进行并行体检,合理地利用时间和处理器资源,进一步地缩短电脑体检的时间,提高了用户进行电脑体检的体验。
在本发明的上述实施例中,在判断出并行执行待执行的任务之后,可以根据处理器的芯片组的数量和处理器的使用率确定并行执行的线程的数量。
具体地,可以对处理器的芯片组的数量和处理器的使用率进行加权计算得到线程的数量。例如,可以获取预先设置的线程权重(如2)和预先设置好的使用率加权参数(如加权参数为2),计算线程权重和芯片组的数量(如该芯片组的数量为4)的第一乘积:2*4=8,计算使用率加权参数与处理器的使用率(如40%)的第二乘积:0.4*2=0.8,将该第二乘积作为第一乘积的权重计算线程的数量:0.8*8=6.4,对计算得到的线程的数量进行取整处理得到最终的线程的数量为6。
为了保证终端始终快速执行待执行的任务,在该实施例中同样可以为该线程的数量设置一个线程阈值,如该线程阈值为6,如果计算得到的线程的数量大于线程阈值,则将该线程的数量确定为该线程阈值的值。假如,上述实施例中最终确定的线程的数量为8,为了保证系统维持在一个快速的处理速度上,将该线程的数量确定为线程阈值的值,则最终得到的线程的数量为6。
在本发明的上述实施例中,执行模块可以包括:第二判断模块,用于判断处理器的使用率是否小于第三预设阈值;第一执行子模块,用于若判断出处理器的使用率小于第三预设阈值,则将任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用线程,以完成对所分配的任务的并行执行。
其中,本发明实施例中的处理器的使用率可以通过API接口实时监控处理器的使用率来实现。
具体地,在获取到处理器的使用率之后,可以判断处理器的使用率是否小于第三预设阈值(如70%);若判断出处理器的使用率(如50%)小于第三预设阈值,则将任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用线程,以完成对所分配的任务的并行执行。
例如,对应该电脑体检的任务共有100个,尚未执行的有86个,假设在对该个人电脑进行电脑体检开启的线程有6个,如果获取处理器的使用率为50%,该处理器的使用率小于第三预设阈值(如70%),则继续为线程池中的6个线程分配尚未被执行的86个任务中的一个或多个,更具体地,在该分配任务的过程中,可以一个一个地为线程分配,然后并行地调用6个线程,以执行各个线程中的待执行任务。
需要进一步说明的是,装置还可以包括:第三确定模块,用于若判断出处理器的使用率大于或等于第三预设阈值,则停止将任务中尚未被执行的一个或多个任务分配给线程池中的线程,直到处理器的使用率小于第三预设阈值;第二执行子模块,用于在处理器的使用率小于第三预设阈值时,将任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用线程,以完成对所分配的任务的并行执行。
具体地,在判断处理器的使用率是否小于第三预设阈值之后,本发明的上述实施例还可以包括如下步骤:若判断出处理器的使用率大于或等于第三预设阈值(如70%),则停止将任务中尚未被执行的一个或多个任务分配给线程池中的线程,然后,持续监测处理器的使用率直到处理器的使用率小于第三预设阈值;在处理器的使用率小于第三预设阈值时,将任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用线程,以完成对所分配的任务的并行执行。
例如,对应该电脑体检的任务共有100个,尚未执行的有86个,假设在对该个人电脑进行电脑体检开启的线程有6个,如果获取处理器的使用率为75%,该处理器的使用率大于第三预设阈值(如70%),则暂时停止将获取到的任务中尚未被执行86个任务中的一个或多个任务分配给线程池中的线程。然后,持续监测处理器的使用率,并判断处理器的使用率是否小于第三预设阈值,直至该处理器的使用率低于第三预设阈值,再为线程池中的6个线程分配尚未被执行的86个任务中的一个或多个,更具体地,在该分配任务的过程中,可以一个一个地为线程分配,然后并行地调用6个线程,以执行各个线程中的待执行任务。
通过本发明的上述实施例,实时监控CPU的使用率以控制线程池中执行的任务数目,例如,当CPU使用率大于70%时,这时不再抛任务到线程池里,减少安全软件(如电脑管家)的体检任务数;当CPU使用率小于70%之后,继续将任务抛到线程池。通过上述实施例,可以达到平衡CPU使用率的效果,这样当用户使用电脑时,利用电脑管家进行体检,可以根据其CPU的使用率确定体检的任务数,从而最大化的节省用户的时间,为用户提供价值。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种在终端上执行任务的方法,其特征在于,包括:
获取待执行的任务;
至少根据所述终端的处理器的芯片组的数量判断是否并行地执行所获取的所述任务;其中,所述至少根据所述终端的处理器的芯片组的数量判断是否并行地执行所获取的所述任务包括:结合所述终端的处理器的芯片组的数量和所述处理器的使用率判断是否并行地执行所获取的所述任务;
在判断出并行地执行所获取的所述任务的情况下,并行地执行所获取的所述任务。
2.根据权利要求1所述的方法,其特征在于,至少根据所述终端的处理器的芯片组的数量判断是否并行地执行所获取的所述任务包括:
判断所述芯片组的数量是否大于第一预设阈值;
在所述芯片组的数量大于所述第一预设阈值时,判断出并行地执行所获取的所述任务。
3.根据权利要求1所述的方法,其特征在于,至少根据所述终端的处理器的芯片组的数量判断是否并行地执行所获取的所述任务包括:
判断所述芯片组的数量是否大于第一预设阈值、且所述处理器的使用率是否小于第二预设阈值;
在所述芯片组的数量大于所述第一预设阈值、且所述处理器的使用率小于所述第二预设阈值时,判断出并行地执行所获取的所述任务。
4.根据权利要求1所述的方法,其特征在于,所述并行地执行所获取的所述任务包括:
判断所述处理器的使用率是否小于第三预设阈值;
若判断出所述处理器的使用率小于所述第三预设阈值,则将所述任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用所述线程,以完成对所分配的任务的并行执行。
5.根据权利要求4所述的方法,其特征在于,在判断所述处理器的使用率是否小于第三预设阈值之后,所述方法还包括:
若判断出所述处理器的使用率大于或等于所述第三预设阈值,则停止将所述任务中尚未被执行的一个或多个任务分配给线程池中的线程,直到所述处理器的使用率小于所述第三预设阈值;
在所述处理器的使用率小于所述第三预设阈值时,将所述任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用所述线程,以完成对所分配的任务的并行执行。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述任务包括:运行所述终端上的安全应用时所需执行的任务。
7.一种在终端上执行任务的装置,其特征在于,包括:
获取模块,用于获取待执行的任务;
第一判断模块,用于至少根据所述终端的处理器的芯片组的数量判断是否并行地执行所获取的所述任务;其中,所述至少根据所述终端的处理器的芯片组的数量判断是否并行地执行所获取的所述任务包括:结合所述终端的处理器的芯片组的数量和所述处理器的使用率判断是否并行地执行所获取的所述任务;
执行模块,用于在判断出并行地执行所获取的所述任务的情况下,并行地执行所获取的所述任务。
8.根据权利要求7所述的装置,其特征在于,所述第一判断模块包括:
第一判断子模块,用于判断所述芯片组的数量是否大于第一预设阈值;
第一确定模块,用于在所述芯片组的数量大于所述第一预设阈值时,判断出并行地执行所获取的所述任务。
9.根据权利要求7所述的装置,其特征在于,所述第一判断模块包括:
第二判断子模块,用于判断所述芯片组的数量是否大于第一预设阈值、且所述处理器的使用率是否小于第二预设阈值;
第二确定模块,用于在所述芯片组的数量大于所述第一预设阈值、且所述处理器的使用率小于所述第二预设阈值时,判断出并行地执行所获取的所述任务。
10.根据权利要求7所述的装置,其特征在于,所述执行模块包括:
第二判断模块,用于判断所述处理器的使用率是否小于第三预设阈值;
第一执行子模块,用于若判断出所述处理器的使用率小于所述第三预设阈值,则将所述任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用所述线程,以完成对所分配的任务的并行执行。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于若判断出所述处理器的使用率大于或等于所述第三预设阈值,则停止将所述任务中尚未被执行的一个或多个任务分配给线程池中的线程,直到所述处理器的使用率小于所述第三预设阈值;
第二执行子模块,用于在所述处理器的使用率小于所述第三预设阈值时,将所述任务中尚未被执行的一个或多个任务分配给线程池中的线程,并行地调用所述线程,以完成对所分配的任务的并行执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271487.7A CN105320555B (zh) | 2014-06-17 | 2014-06-17 | 在终端上执行任务的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271487.7A CN105320555B (zh) | 2014-06-17 | 2014-06-17 | 在终端上执行任务的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105320555A CN105320555A (zh) | 2016-02-10 |
CN105320555B true CN105320555B (zh) | 2019-05-24 |
Family
ID=55247980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410271487.7A Active CN105320555B (zh) | 2014-06-17 | 2014-06-17 | 在终端上执行任务的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105320555B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763011B (zh) * | 2018-03-27 | 2021-09-07 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | SoC芯片核数检测方法、装置、系统及存储介质 |
CN108984297A (zh) * | 2018-06-28 | 2018-12-11 | 中国建设银行股份有限公司 | 任务执行方法及装置 |
CN113391887B (zh) * | 2020-03-11 | 2024-03-12 | 北京国电智深控制技术有限公司 | 一种处理工业数据的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393839A (zh) * | 2011-11-30 | 2012-03-28 | 中国工商银行股份有限公司 | 并行数据处理系统及方法 |
CN102722417A (zh) * | 2012-06-07 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种扫描任务的分配方法和装置 |
CN103559443A (zh) * | 2013-11-01 | 2014-02-05 | 北京奇虎科技有限公司 | 多核设备的病毒扫描方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5900061B2 (ja) * | 2012-03-19 | 2016-04-06 | 富士通株式会社 | 試験方法、試験装置及びプログラム |
-
2014
- 2014-06-17 CN CN201410271487.7A patent/CN105320555B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393839A (zh) * | 2011-11-30 | 2012-03-28 | 中国工商银行股份有限公司 | 并行数据处理系统及方法 |
CN102722417A (zh) * | 2012-06-07 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种扫描任务的分配方法和装置 |
CN103559443A (zh) * | 2013-11-01 | 2014-02-05 | 北京奇虎科技有限公司 | 多核设备的病毒扫描方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105320555A (zh) | 2016-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104410543B (zh) | 基于云资源的自动化测试方法和系统 | |
CN101610209B (zh) | 一种多核并行的网络业务流处理方法及设备 | |
CN106293950B (zh) | 一种面向集群系统的资源优化管理方法 | |
CN109586952B (zh) | 服务器扩容方法、装置 | |
CN104468547B (zh) | 建立长连接的方法、装置及系统 | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN109491784A (zh) | 降低内存占用量的方法、装置、电子设备、可读存储介质 | |
CN105320555B (zh) | 在终端上执行任务的方法及装置 | |
CN110457138A (zh) | 游戏服务器集群的管理方法、装置及电子设备 | |
CN107465562B (zh) | 一种ctdb自定义分配虚拟ip的方法、装置、设备 | |
CN108183950A (zh) | 一种网络设备建立连接的方法及装置 | |
CN108681481A (zh) | 业务请求的处理方法及装置 | |
CN111149325A (zh) | 用于选择区块链事务的事务选择设备 | |
CN109491788A (zh) | 一种虚拟化平台负载均衡实现方法及装置 | |
CN105517123B (zh) | 一种通信终端的载波聚合模式设定方法及通信终端 | |
CN110187960A (zh) | 一种分布式资源调度方法及装置 | |
CN106034040B (zh) | 扫描节点的控制方法、装置及系统 | |
CN107888706A (zh) | 云产品故障处理方法、装置、设备及计算机可读存储介质 | |
CN107977302A (zh) | 一种cpu使用率输出方法及装置 | |
CN109697090A (zh) | 一种控制终端设备的方法、终端设备及存储介质 | |
CN104408372B (zh) | 一种基于系统重载的拟态安全实现系统及方法 | |
CN107864187A (zh) | 终端设备联机任务执行方法及服务器 | |
CN109450724A (zh) | 一种nfs内存优化功能的测试方法及相关装置 | |
CN105843675A (zh) | 线程退出方法和装置 | |
CN105955747B (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 |