一种应用运行方法以及相关设备技术

技术编号:37181441 阅读:43 留言:0更新日期:2023-04-20 22:47
本申请提供了一种应用运行方法,方法包括:第一终端设备在运行目标应用时,获取第二终端设备的设备信息和/或软件运行环境;第一终端设备基于第二终端设备的设备信息和/或软件运行环境满足目标应用第一任务的执行要求,将第一任务的任务运行信息传递至第二终端设备,且第一终端设备不执行第一任务;第二终端设备根据第一任务相关的任务运行信息执行第一任务。本申请在第二终端设备可以执行目标应用的一部分任务的前提下,将目标应用的一部分任务转移到第二终端设备上执行,可以降低第一终端设备的运算负载。终端设备的运算负载。终端设备的运算负载。

【技术实现步骤摘要】
一种应用运行方法以及相关设备
[0001]本申请是分案申请,原申请的申请号是202111236221.5,原申请日是2021年10月22日,原申请的全部内容通过引用结合在本申请中。


[0002]本申请涉及计算机领域,尤其涉及一种应用运行方法以及相关设备。

技术介绍

[0003]当前应用发展越来越大型化、复杂化,比如视频应用从显示1080P的实时画面发展到2K、4K未来还会出现8K等更高画质,对于设备算力有更高需求。
[0004]近年来随着智能手机的普及,移动应用发展迅速,但是当前移动应用的开发与运行方式主要是基于单个设备设计的,单设备运行应用存在性能瓶颈与体验瓶颈,主要问题如下:由于受到CPU核心频率和GPU核心频率的限制,因此单个设备的计算能力有限,相比于大型服务器设计者需要在计算能力与体积、成本因素间做平衡,类似的其存储与通信能力也受到设备本身的设计限制,无法无限制满足上层应用对性能的要求。

技术实现思路

[0005]本申请实施例提供了一种应用的分布式运行方法,所述方法应用于第一终端设备,所述第一终端设备与所述第二终端设备通信连接,第二终端设备终端设备可以在本地也可以在远端,所述方法包括:在运行目标应用时,获取第二终端设备的设备信息和/或者软件执行环境;基于所述第二终端设备的设备信息和/或软件执行环境满足所述目标应用第一任务的执行要求,将所述第一任务相关的任务运行信息传递至所述第二终端设备,以便所述第二终端设备根据所述任务运行信息执行所述第一任务,且所述第一终端设备不执行所述第一任务。通过上述方法,在第二终端设备可以执行目标应用的一部分任务的前提下,将目标应用的一部分任务转移到第二终端设备上执行,可以降低第一终端设备的运算负载,同时如果目标应用所在的第一终端设备硬件性能,比如显示分辨率、CPU、GPU计算能力不如第二终端硬件设备的性能,则通过该方法转移后的任务可以在第二终端设备上获得更好的应用表现
[0006]应理解,这里的“在运行目标应用时”,可以理解为启动目标应用时,或者是运行目标应用的过程中。
[0007]应理解,所述第一任务可以为UI显示任务、图像渲染任务、逻辑状态更新任务、AI任务、数据处理或分析任务中的一种。第一任务还可以是其他需要耗费较大运算资源和/或存储资源和或通信资源的任务。第一任务可以是第一终端设备当前可用的运算资源和/或存储资源或通信资源不足时待运行的任务,例如,第一终端设备能否正常运行第一任务(例如是否会卡顿、是否需要花费大量时间等),或者是第一终端设备运行第一任务时是否会对其他任务造成影响,或者是运行第一终端设备运行第一任务时是否会发烫等等。
[0008]应理解,第一任务可以是预先划分好的任务类别,例如,游戏应用中预先划分为逻
辑状态更新任务以及渲染任务,或者是将渲染任务拆分为多个子任务等。又例如:微信中文字聊天和视频电话是两个可拆分的子任务,在单机中一般一次只能执行一个任务,在本例中则可以拆开为两个子任务,将其中一个转移到第二终端设备运行。
[0009]应理解,第一终端设备还可以将多个任务转移到第二终端设备,或者是将多个任务转移到不同的终端设备上执行,这里并不限定。
[0010]应理解,第二终端设备可以不仅仅是根据第一任务的任务信息来执行第一任务,还可以考虑到第二终端设备的状态、应用执行效果及用户体验等信息之间平衡,例如显示效果与设备动态资源利用率之间的平衡,最后达成最佳显示,第二终端设备在执行第一任务的执行效果以及执行效率等可以相比第一设备有所增强。
[0011]应理解,设备信息和软件运行环境可以根据应用场景的变化而变化,但是也有不变量,比如设备的电量、CPU、内存占用情况、网络负载状态,当前设备上的应用进程的运行时状态;变化的部分包括但不限于,例如第一设备的目标应用分割后的子任务中,可能包含UI窗口信息,则第一设备也需要收集第二设备上的窗口信息。
[0012]在一种可能的实现中,所述第一终端设备和所述第二终端设备之间既可以通过近场通信也可以通过远场通信、即Internet网络、WIFI、蓝牙、超宽带、紫蜂ZigBee、RFID、4G、5G、LoRa、SIGFOX、Z

Wave以及NB

loT中的至少一种方式通信。例如,所述第一终端设备和所述第二终端设备之间通过Internet网络、WIFI、蓝牙、超宽带、紫蜂ZigBee、RFID、4G、5G、LoRa、SIGFOX、Z

Wave以及NB

loT中的多种方式连接。
[0013]应理解,第一终端设备和所述第二终端设备之间还可以通过其他时延较低的无线连接方式(例如3GPP、non

3GPP以及基于短距技术实现的连接方式)进行连接,这里并不限定。
[0014]应理解,在第一任务为渲染任务时,在一些场景中,第一终端设备的显示设备的显示参数(例如刷新率、屏幕大小、刷新率等)和第二终端设备的显示设备的显示参数不同,第二终端设备可以根据所述第一任务相关的任务运行信息,以及所述第二终端设备的显示设备的显示参数(例如显示设备的分辨率、屏幕刷新率等等),执行所述第一任务,进而可以显示和第二终端设备的显示设备相适配的显示内容。
[0015]在一种可能的实现中,所述将所述第一任务相关的任务运行信息传递至所述第二终端设备之前,所述方法还包括:呈现第一选择信息,所述第一选择信息指示所述目标应用至少一个任务,所述第二终端设备的设备信息和/或软件执行环境满足所述至少一个任务的执行要求,并接收到用户根据所述第一选择信息反馈的第一输入;基于所述第一输入包括所述第一任务,使能所述将所述第一任务相关的任务运行信息传递至所述第二终端设备的动作。目标任务可以包括多个子任务,第一终端设备可以基于至少一个任务和第二终端设备的设备信息和/或软件执行环境,从多个子任务中确定出适合转移到第二终端设备上的任务(至少一个任务),并呈现给用户,由用户进行选择。
[0016]在一种可能的实现中,所述将第一任务相关的任务运行信息传递至所述第二终端设备之后,所述方法还包括:将所述第一任务相关的状态数据传递至所述第二终端设备;所述状态数据为所述第二终端设备执行所述第一任务时所需的状态数据。例如,在投屏场景中,状态数据可以为UI引擎的中间状态、或者是应用本身的数据状态信息。该状态数据可以为用户在第一终端设备上输入的,也可以是第一终端设备自身生成的,
[0017]在一种可能的实现中,第一终端设备可以获取到存在通信连接的终端设备的设备信息,并基于对设备信息的分析来确定该终端设备是否具备运行要转移的任务的能力,以及确定将哪部分任务转移到终端设备。
[0018]以转移对象为第一任务为例,在一种可能的实现中,所述软件运行环境信息包括组件信息,所述组件信息用于指示所述第二终端设备是否部署有所述目标应用的运行组件,所述运行组件被配置为具备执行所述第一任务的能力,
[0019]运行组件可以为AI引擎,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用运行方法,其特征在于,所述方法应用于第一终端设备,所述第一终端设备与所述第二终端设备通信连接,所述方法包括:在运行目标应用时,获取第二终端设备的设备信息和/或软件执行环境;在所述第二终端设备的设备信息和/或软件执行环境满足所述目标应用第一任务的执行要求时,将所述第一任务相关的任务运行信息传递至所述第二终端设备,以便所述第二终端设备根据所述任务运行信息执行所述第一任务,且所述第一终端设备不执行所述第一任务。2.根据权利要求1所述的方法,其特征在于,所述目标应用还包括第二任务;所述方法还包括:在所述第二终端设备根据所述任务运行信息执行所述第一任务时,在所述第一终端设备上保持所述第二任务的执行。3.根据权利要求1或2所述的方法,其特征在于,所述将所述第一任务相关的任务运行信息传递至所述第二终端设备之前,所述方法还包括:接收到用户的第一输入,所述第一输入指示将所述第一任务相关的任务运行信息传递至所述第二终端设备。4.根据权利要求3所述的方法,其特征在于,所述将所述第一任务相关的任务运行信息传递至所述第二终端设备之前,所述方法还包括:呈现第一选择信息,所述第一选择信息指示所述目标应用至少一个任务,所述第二终端设备的设备信息和/或软件执行环境满足所述至少一个任务的执行要求;所述接收到用户的第一输入,包括:接收到用户根据所述第一选择信息反馈的第一输入;所述第一输入包括所述第一任务。5.根据权利要求1至4任一所述的方法,其特征在于,所述将第一任务相关的任务运行信息传递至所述第二终端设备之后,所述方法还包括:将所述第一任务相关的状态数据传递至所述第二终端设备;所述状态数据为所述第二终端设备执行所述第一任务时所需的状态数据。6.根据权利要求1至5任一所述的方法,其特征在于,所述第一终端设备和所述第二终端设备之间通过近场通信、Internet网络、WIFI、蓝牙、超宽带、紫蜂ZigBee、RFID、4G、5G、LoRa、SIGFOX、Z

Wave以及NB

loT中的至少一种方式通信。7.根据权利要求1至6任一所述的方法,其特征在于,所述软件执行环境包括:组件信息,所述组件信息用于指示所述第二终端设备是否部署有所述目标应用的运行组件,所述运行组件被配置为具备执行所述第一任务的能力;所述执行要求,包括:所述第二终端设备部署有所述运行组件。8.根据权利要求1至7任一所述的方法,其特征在于,所述设备信息包括如下信息的至少一种:电源信息、处理器信息、内存信息、传输带宽、输入设备信息、输出设备信息、网络负载。9.根据权利要求7或8所述的方法,其特征在于,所述软件执行环境包括:所述终端设备的设备状态和/或所述运行组件的运行状态;
在所述设备状态指示所述第二终端设备处于下电、休眠、息屏或者锁屏的情况下,所述第一任务相关的任务运行信息包括第一指示信息,所述第一指示信息用于指示如下信息的至少一个:所述第二终端设备上电、结束休眠、结束息屏或者解除锁屏、指示所述第二终端设备运行所述运行组件、以及通过所述运行组件执行所述第一任务;或者,在所述设备状态指示所述第二终端设备启动、且所述运行状态指示所述第二终端设备未运行所述运行组件的情况下,所述第一任务相关的任务运行信息包括第二指示信息,所述第二指示信息用于指示如下信息的至少一个所述第二终端设备运行所述运行组件、以及通过所述运行组件执行所述第一任务;或者,在所述设备状态指示所述第二终端设备启动、且在所述运行状态指示所述第二终端设备运行所述运行组件的情况下,所述第一任务相关的任务运行信息包括第三指示信息,所述第三指示信息用于指示所述第二终端设备通过所述运行组件执行所述第一任务。10.根据权利要求1至9任一所述的方法,其特征在于,所述获取第二终端设备的设备信息,包括:获取与所述第一终端设备连接的多个终端设备的设备信息,所述多个终端设备包括所述第二终端设备;所述将所述第一任务的任务运行信息传递至所述第二终端设备之前,所述方法还包括:使能针对于所述多个终端设备中所述第二设备的选择。11.根据权利要求10所述的方法,其特征在于,所述使能针对于所述多个终端设备中所述第二设备的选择,包括:接收到用户的第二输入,所述第二输入指示从所述多个终端设备中选择所述第二设备。12.根据权利要求11所述的方法,其特征在于,所述将所述第一任务的任务运行信息传递至所述第二终端设备之前,所述方法还包括:呈现第二选择信息,所述第二选择信息用于指示用户从所述多个终端设备进行选择;所述接收到用户的第二输入,包括:接收到用户根据所述第二选择信息反馈的第二输入;所述第二输入包括所述第二终端设备。13.根据权利要求10所述的方法,其特征在于,所述使能针对于所述多个终端设备中所述第二设备的选择,包括:基于所述第二终端设备的设备信息为所述多个终端设备中选择最符合所述第一任务的执行要求的设备信息,使能针对于所述多个终端设备中所述第二设备的选择。14.根据权利要求1至13任一所述的方法,其特征在于,所述第一任务相关的任务运行信息,包括:执行数据以及所述执行数据的索引信息;其中,所述执行数据为执行所述第一任务所需的数据,所述索引信息包括内存地址,所述内存地址为所述第二终端设备上可用的存储空间的地址,所述索引信息用于指示所述第二终端设备将所述执行数据存储至所述内存内存地址对应的内存空间中。15.根据权利要求1至14任一所述的方法,其特征在于,所述第一任务为UI显示任务、图像渲染任务、逻辑状态更新任务、AI任务、数据处理或分析任务中的一种。
16.一种应用运行方法,其特征在于,所述方法应用于目标系统,所述目标系统包括第一终端设备和第二终端设备,所述第一终端设备与所述第二终端设备通信连接,所述方法包括:所述第一终端设备在运行目标应用时,获取第二终端设备的设备信息和/或软件执行环境;所述第一终端设备基于所述第二终端设备的设备信息和/或软件执行环境满足所述目标应用第一任务的执行要求,将所述第一任务的任务运行信息传递至所述第二终端设备,且所述第一终端设备不执行所述第一任务;所述第二终端设备根据所述第一任务相关的任务运行信息执行所述第一任务。17.根据权利要求16所述的方法,其特征在于,所述目标应用还包括第二任务;所述方法还包括:在所述第二终端设备根据所述任务运行信息执行所述第一任务时,所述第一终端设备保持所述第二任务的执行。18.根据权利要求17所述的方法,其特征在于,所述将所述第一任务相关的任务运行信息传递至所述第二终端设备之前,所述方法还包括:所述第一终端设备接收到用户的第一输入,所述第一输入指示将所述第一任务相关的任务运...

【专利技术属性】
技术研发人员:王伟欧阳黜霏林俊如
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1