一种移动终端的多任务分配方法与流程

文档序号:12818779阅读:309来源:国知局
一种移动终端的多任务分配方法与流程

本发明涉及移动通信技术领域,特别涉及一种移动终端的多任务分配方法。



背景技术:

随着移动通信技术的蓬勃发展,智能手机用户数量也迅速增长,智能手机以其丰富的应用程序为人们的日常生活带来了极大的便利性,如今已经成为人们生活中必不可少的通信工具。

然而,随着移动应用程序越来越丰富,用户和市场对智能手机的硬件要求也越来越高。智能手机的形成经历了多次大跃进的发展,从单核处理器到四核甚至最新的八核。多核处理器的设计初衷是为了提高大性能运算的效率,但也带来了如高能耗等的诸多问题。由于核心越多,产品的功耗就会越大,这显然是人们不愿意看到的。此外,虽然多核智能手机的功能已经显著增强,但对于运行复杂的应用程序,例如大型工程运算,还远远不能满足人们的需求,无论是硬件性能,还是电池容量都会受到限制。



技术实现要素:

本发明的主要目的在于克服现有技术的缺陷,提供一种移动终端的任务分配方法,可降低对本地移动终端的硬件要求,同时提升了运算速度、续航时间。

为达成上述目的,本发明提供一种移动终端的任务分配方法,包括以下步骤:

s1:在本地移动终端和至少一个其它移动终端之间建立连接,所述本地移动终端及所述至少一个其它移动终端均包含多个处理器核心且至少一个所述其它移动终端包含至少一个空闲处理器核心;

s2:将所述本地移动终端的一个任务分解为多个子任务;

s3:将至少部分的所述多个子任务分配至所述其它移动终端;以及

s4:将各所述子任务的执行结果在所述本地移动终端汇总。

优选的,步骤s3还包括:

s31:所述本地移动终端向所述其它移动终端发出任务分配请求及子任务信息;

s32:所述本地移动终端根据所述其它移动终端的反馈信息确认待分配任务的空闲处理器核心,所述反馈信息包括空闲处理器核心的数量和预计完成时长;其中所述待分配任务的空闲处理器核心至少包括一个其它移动终端的空闲处理器核心;

s22:所述本地移动终端所述多个子任务分配至所述待分配任务的空闲处理器核心。

优选的,步骤s32包括:

s321:所述本地移动终端根据所述子任务的数量和全部空闲处理器核心的数量确定待分配子任务的空闲处理器核心的数量为n个,其中n为子任务的数量和空闲处理器核心的数量的较小者;

步骤s322:根据预定规则选择全部所述空闲处理器核心中的n个作为待分配任务的空闲处理器核心;

步骤s33中所述本地移动终端以每个所述待分配任务的空闲处理器核心被分配至少一个子任务的方式将所述多个子任务分配至所述待分配任务的空闲处理器核心。

优选的,所述子任务的数量为p个,全部空闲处理器核心的数量为q个,所述预定规则为:当p小于q时,选择预计完成时长最短的i个其它移动终端的空闲处理器核心和预计完成时长最短的j个本地移动终端的空闲处理器核心作为待分配任务的移动终端的处理器核心,其中i+j=p;或选择预计完成时长最短的p个其它移动终端的空闲处理器核心作为待分配任务的移动终端的处理器核心;当p大于等于q时,将全部空闲处理器核心作为待分配任务的移动终端的处理器核心;其中i和j均为大于等于1的正整数,p为大于等于2的正整数,q为大于等于1的正整数。

优选的,步骤s33还包括:

s331:对每一所述子任务分配优先级;

s332:根据每一所述子任务的优先级将所述多个子任务分配至待分配任务的空闲处理器核心。

优选的,步骤s332中所述本地移动终端将优先级最高的子任务分配至待分配任务的空闲处理器核心中预计完成时长最短的一个。

本发明还提供了一种移动终端的任务分配系统,该任务分配系统包括一个本地移动终端和与所述本地移动终端相连的至少一个其它移动终端,所述本地移动终端及所述至少一个移动终端均包含多个处理器核心且至少一个所述其它移动终端包含至少一个空闲处理器核心;其中,所述本地移动终端用于将其自身的一个任务分解为多个子任务并将至少部分的所述多个子任务分配至所述其它移动终端;所述其它移动终端用于执行分配的子任务并将执行结果发送至所述本地移动终端。

优选的,所述本地移动终端包括:分解单元,用于将其自身的一个任务分解为所述多个子任务;第一通信单元,用于向所述其它移动终端发出任务分配请求、子任务信息,以及分配的子任务;任务分配确认单元,用于根据所述其它移动终端的反馈信息确认待分配任务的空闲处理器核心,所述反馈信息包括空闲处理器核心的数量和预计完成时长;其中所述待分配任务的空闲处理器核心至少包括一个其它移动终端的空闲处理器核心;任务分配执行单元,用于将所述多个子任务分配至所述待分配任务的空闲处理器核心;汇总单元,用于将各所述子任务的执行结果汇总。

优选的,所述其它移动终端包括第二通信单元和计算单元,所述第二通信单元用于接收所述任务分配请求及子任务信息,并发送所述反馈信息;所述计算单元用于计算子任务的预计完成时长。

优选的,所述任务分配确认单元包括第一模块和第二模块,其中第一模块根据所述子任务的数量和全部空闲处理器核心的数量确定待分配子任务的空闲处理器核心的数量为n个,其中n为子任务的数量和空闲处理器核心的数量的较小者;所述第二模块根据预定规则选择全部所述空闲处理器核心中的n个作为待分配任务的空闲处理器核心;所述任务分配执行单元以每个所述待分配任务的空闲处理器核心被分配至少一个子任务的方式将所述多个子任务分配至所述待分配任务的空闲处理器核心。

优选的,所述子任务的数量为p个,全部空闲处理器核心的数量为q个,所述预定规则为:当p小于q时,选择预计完成时长最短的i个其它移动终端的空闲处理器核心和预计完成时长最短的j个本地移动终端的空闲处理器核心作为待分配任务的移动终端的处理器核心,其中i+j=p;或选择预计完成时长最短的p个其它移动终端的空闲处理器核心作为待分配任务的移动终端的处理器核心;当p大于等于q时,将全部空闲处理器核心作为待分配任务的移动终端的处理器核心;其中i和j均为大于等于1的正整数,p为大于等于2的正整数,q为大于等于1的正整数。

优选的,所述任务分配系统还包括识别单元,用于识别所述多个子任务的优先级;所述任务分配执行单元根据所述多个子任务的优先级将所述多个子任务分配至所述待分配任务的空闲处理器核心。

优选的,所述任务分配执行单元将优先级最高的子任务分配至所述待分配任务的空闲处理器核心中预计完成时长最短的一个。

相较于现有技术,本发明通过将本地移动终端的任务分解为多个子任务并分配至其它移动终端,实现将复杂的任务或计算迁移至其它移动终端,由此对本地移动终端的硬件要求以及本地移动终端的能耗都可以显著降低,对于用户来说也可以把更多精力放在移动终端的体验上。

附图说明

图1所示为本发明一实施例的移动终端的任务分配方法的流程图;

图2所示为本发明一实施例的移动终端的任务分配系统的示意图;

图3所示为本发明一实施例的移动终端的任务分配系统中本地移动终端和其它移动终端的方块图。

具体实施方式

为使本发明的内容更加清楚易懂,以下结合说明书附图,对本发明的内容作进一步说明。当然本发明并不局限于该具体实施例,本领域内的技术人员所熟知的一般替换也涵盖在本发明的保护范围内。

图1所示为本发明的移动终端的任务分配方法的流程图,该任务分配方法包括以下步骤:

s1:在本地移动终端和至少一个其它移动终端之间建立连接,所述本地移动终端及其它移动终端均包含多个处理器核心且至少其它移动终端包含至少一个空闲处理器核心。

请参见图2,其所示为本实施例的移动终端任务分配系统的示意图,本实施例以系统包括本地移动终端和3个其它移动终端为例,本地移动终端10和其它移动终端20,30,40相连。本地移动终端与其它移动终端之间的连接可以是通过无线网络连接,也可以通过蓝牙连接。其中,本地移动终端10和其它移动终端20,30,40均具有多个处理器核心。其它移动终端20,30,40中至少有一个空闲处理器核心。处理器核心配置用于执行任务,其中,处理器核心可以是中央处理单元或其它处理元件。每个移动终端的多核可以是同步多核(smp),也可以是异步多核(asmp)。

s2:将本地移动终端的一个任务分解为多个子任务。

本步骤中,将本地移动终端的一个任务拆分成多个子任务。可选地,这些子任务之间没有交叠部分,以避免子任务被部分重复执行。

s3:将至少部分的多个子任务分配至其它移动终端。

本步骤中,首先本地移动终端将任务分配请求和分解后的子任务信息发送给其它移动终端。当有其它移动终端响应该任务分配请求时,本地移动终端根据响应该任务分配请求的其它移动终端所发出的反馈信息确认待分配任务的空闲处理器核心,其中待分配任务的空闲处理器核心至少包括一个其它移动终端的空闲处理器核心。反馈信息包括该其它移动终端的空闲处理器核心的数量和预计完成时长。其中,预计完成时长可以是该其它移动终端每个空闲处理器核心可完成每个子任务的预计完成时长(如该移动终端为异步多核时),也可以是该移动终端的全部空闲处理器核心可完成子任务的预计完成时长(如该移动终端为同步多核时)。然后,本地移动终端将子任务分配至待分配任务的空闲处理器核心。对于执行子任务的移动终端来说,其构成一个任务执行网络,对这些子任务进行异步处理;而对于本地移动终端来说,通过将任务分配出去可以显著降低对本地移动终端的硬件要求以及功耗。

接下来,将对本地移动终端如何进行子任务分配加以详细描述。假设本实施例中本地移动终端将任务分解为3个子任务a、b、c,将这3个子任务的信息和任务分配请求发送给其它移动终端20,30和40。若移动终端20和30响应该任务分配请求而移动终端40未响应,则移动终端40将不参与后续的子任务的处理。而响应任务分配请求的移动终端20和30将空闲处理器核心的数量和预计完成时长发送给本地移动终端10。

实施例一

子任务的分配包括两个过程,首先确定待分配子任务的空闲处理器核心,之后再将多个子任务分配至待分配子任务的空闲处理器核心上。

一确定待分配子任务的空闲处理器核心

本地移动终端10根据子任务的数量和全部空闲处理器核心的数量确定待分配子任务的空闲处理器核心的数量,然后根据预定规则选择全部空闲处理器核心中的多个作为待分配任务的空闲处理器核心。假设本实施例中,移动终端20和30反馈的空闲处理器核心的数量一共为4个,本地移动终端本身的空闲处理器核心例如为1个,则全部空闲处理器核心的数量为5个,大于子任务的数量,那么本地移动终端确定待分配任务的空闲处理器核心数量为3个。

之后,本地移动终端10可以根据预定规则选择5个空闲处理器核心中的3个作为待分配任务的处理器核心。可选地,本地移动终端10根据运行速度来选择待分配任务的处理器核心。例如,假设本地移动终端10有1个空闲处理器核心可完成1个子任务,完成子任务a耗时t11,完成子任务b耗时t12,完成子任务c耗时t13;移动终端20有2个空闲处理器核心可完成2个子任务,完成子任务a+b最长耗时t21,完成子任务a+c最长耗时t22,完成子任务b+c最长耗时t23;移动终端30有2个空闲处理器核心可同时完成2个子任务,完成子任务a+b最长耗时t31,完成子任务a+c最长耗时t32,完成子任务b+c最长耗时t33。需要注意的是,这里所说的最长耗时指的是执行可完成子任务所需的最长时间,对于同步多核处理器核心指的是完成2个子任务的总时长,对于异步多核处理器核心指的是并行处理两个任务时耗时较长的时长。

假设完成3个子任务的预计完成时长最短的排列组合为以以本地移动终端10和移动终端20完成3个子任务,则本地移动终端选择子任务完成时长最短的3个空闲处理器核心,即本地移动终端10的1个处理器核心和移动终端20的2个处理器核心作为待分配任务的空闲处理器核心。在后续子任务分配过程中,将子任务a分配给自己的一个处理器核心,将子任务b和c分配给移动终端20的2个处理器核心,本地移动终端10和其它移动终端20同时进行子任务的执行动作,实现不同移动终端不同核的异步处理,从而降低本地移动终端的功耗。

需要注意的是,本地移动终端10应至少将一个子任务分配至一个其它移动终端的空闲处理器核心。因此,当出现本地移动终端10的空闲处理器核心大于等于子任务数量且其空闲处理器核心的运行速度均大于其它移动终端20和30的空闲处理器核心时,本地移动终端10并不会将自己的空闲处理器核心全部作为待分配任务的空闲处理器核心,而是仍然选择至少部分的其它移动终端中运行速度最快的空闲处理器核心作为待分配任务的空闲处理器核心。而本地移动终端和其它移动终端的待分配任务的空闲处理器核心的具体数量则可根据本地移动终端对功耗或硬件的需求设定。

在另一可选的实施例中,本地移动终端也可将子任务全部分配给其它移动处理终端,自己不执行。具体地,本地移动终端选择子任务完成时长最短的3个其它移动终端的空闲处理器核心,例如移动终端20的2个处理器核心和移动终端3的1个处理器核心作为待分配任务的空闲处理器核心。在后续子任务分配过程中,将子任务a分配给移动终端30的1个处理器核心,将子任务b和c分配给移动终端20的2个处理器核心,移动终端20和30同时进行子任务的执行动作,实现不同移动终端不同核的异步处理。由于本地移动终端本身不参与子任务的处理,可以进一步释放本地移动终端的内存,以进行其它操作。

二将多个子任务分配至待分配子任务的空闲处理器核心

在确定待分配任务的空闲处理器核心后,本地移动终端将多个子任务分配至待分配任务的空闲处理器核心。需要注意的是,对于本实施的空闲处理器核心数量大于子任务数量的情况,本地移动终端在确定待分配任务的空闲处理器核心后,将多个子任务以一对一的方式分配至同样数量的待分配任务的空闲处理器核心,以避免同一个待分配任务的空闲处理器处理多个子任务而增加其功耗。优选地,本地移动终端以所有子任务总预计完成时长最短的方式将多个子任务以一对一的方式分配至空闲处理器核心。

进一步可选地,每个子任务分配有一个优先级,而本地移动终端10根据子任务的优先级来将子任务分配至待分配的空闲处理器核心上。

在本实施例中,优先级可根据子任务的类型或执行状态确定。例如,可将计算类型的子任务的优先级识别为高于下载类型的子任务的优先级,将当前正在执行的子任务的优先级识别为高于等待执行的子任务的优先级,将本地移动终端用户界面正在运行的子任务的优先级识别为高于后台运行的子任务的优先级,将具有先后执行顺序的多个子任务中先执行的子任务的优先级识别为高于后执行的子任务的优先级,等等,最终本地移动终端可对全部子任务根据其优先级排序。

在确定了待分配子任务的空闲处理器核心后,本地移动终端将优先级最高的子任务分配到运行速度最快,即预计完成时长最短的待分配任务的空闲处理器核心,而将优先级较低的子任务分配到运行速度较慢、预计完成时长较长的待分配任务的空闲处理器核心上。

实施例二

一确定待分配子任务的空闲处理器核心

本地移动终端10根据子任务的数量和全部空闲处理器核心的数量确定待分配子任务的空闲处理器核心的数量,然后根据预定规则选择全部空闲处理器核心中的多个作为待分配任务的空闲处理器核心。假设本实施例中,移动终端20和30反馈的空闲处理器核心的数量各为1个,本地移动终端本身的空闲处理器核心例如为0个,则全部空闲处理器核心的数量为2个,小于子任务的数量,那么本地移动终端确定待分配任务的空闲处理器核心的数量为2个,并选择移动终端20和30的空闲处理器核心作为待分配任务的空闲处理器核心。

此外,对于全部空闲处理器核心的数量等于子任务的数量,也将全部空闲处理器核心作为待分配任务的空闲处理器核心。

二将多个子任务分配至待分配子任务的空闲处理器核心

在确定待分配任务的空闲处理器核心后,本地移动终端将多个子任务分配至待分配任务的空闲处理器核心。需要注意的是,由于本实施的空闲处理器核心数量小于子任务数量,因此至少有一个空闲处理器核心要处理两个或以上的子任务。

而对于全部空闲处理器核心的数量等于子任务的数量,在分配子任务时则是以一对一的方式分配,确保每个待分配任务的空闲处理器核心处理一个子任务。

为了更快速地处理全部的子任务,每个子任务可分配有一个优先级,而本地移动终端10根据子任务的优先级来将子任务分配至待分配的空闲处理器核心上。

在本实施例中,优先级可根据子任务的类型或执行状态确定。例如,可将计算类型的子任务的优先级识别为高于下载类型的子任务的优先级,将当前正在执行的子任务的优先级识别为高于等待执行的子任务的优先级,将本地移动终端用户界面正在运行的子任务的优先级识别为高于后台运行的子任务的优先级,将具有先后执行顺序的多个子任务中先执行的子任务的优先级识别为高于后执行的子任务的优先级,等等,最终本地移动终端可对全部子任务根据其优先级排序。

对于排序后的子任务,本地移动终端根据优先级从高较低将子任务分配到运行速度由快到慢的待分配任务的空闲处理器核心,而多出的子任务其不能立即被执行,也根据其优先级从高较低将子任务分配到运行速度由快到慢的待分配任务的空闲处理器核心上。

可选地,本地移动终端还可以基于优先级将一个任务拆分成多个子任务,优先级可由任务类型和执行状态来确定。例如将用户界面当前正在运行的进程设置为具有第一优先级,将其作为一个独立的子任务;将后台运行的进程根据其类型设置为具有其它优先级并相应拆分为多个子任务等。

s4:将各子任务的执行结果在本地移动终端汇总。

被分配子任务的其它移动终端同时执行被分配的子任务,在执行完成子任务后,将执行结果发送回本地移动终端,本地移动终端将所有执行结果(包括其自己的执行结果)汇总起来,可输出给用户显示。

请参看图3,其所示为本发明的移动终端任务分配系统中本地移动终端和其它移动终端的方块图。

如图所示,本地移动终端包括分解单元310、通信单元311、任务分配单元312和汇总单元313。其中,分解单元310用于将其自身的一个任务分解为多个子任务。通信单元312用于向其它移动终端发出任务分配请求及子任务信息,以及将分配好的子任务发送给其它移动终端。任务分配单元313包括任务分配确认单元和任务分配执行单元,其中任务分配确认单元用于根据其它移动终端的反馈信息确认待分配任务的空闲处理器核心,任务分配执行单元用于将多个子任务分配至待分配任务的空闲处理器核心。其中,任务分配确认单元包括第一模块和第二模块,第一模块根据子任务的数量和全部空闲处理器核心的数量确定待分配子任务的空闲处理器核心的数量为子任务的数量和空闲处理器核心的数量的较小者;第二模块根据预定规则选择全部空闲处理器核心中的n个作为待分配任务的空闲处理器核心。汇总单元314用于将各子任务的执行结果汇总起来。可选的,本地移动终端还配置一识别单元,用于识别分配好的子任务的优先级;相应的分解单元可基于优先级将本地移动终端的一个任务分解为多个子任务。

其它移动终端包括通信单元321和计算单元322。通信单元321用于接收来自本地移动终端的任务分配请求及子任务信息,并发送反馈信息;计算单元322用于计算子任务的预计完成时长。

综上所述,本发明通过将本地移动终端的任务分解为多个子任务并分配至其它移动终端,实现将复杂的任务或计算迁移至其它移动终端,由此对本地移动终端的硬件要求以及本地移动终端的能耗都可以显著降低,对于用户来说也可以把更多精力放在移动终端的体验上。

虽然本发明已以较佳实施例揭示如上,然所述诸多实施例仅为了便于说明而举例而已,并非用以限定本发明,本领域的技术人员在不脱离本发明精神和范围的前提下可作若干的更动与润饰,本发明所主张的保护范围应以权利要求书所述为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1