任务调度方法、装置、可读介质和电子设备与流程

未命名 08-26 阅读:92 评论:0


1.本技术涉及通信领域,特别涉及一种任务调度方法、装置、可读介质和电子设备。


背景技术:

2.随着数字化时代的到来,在通用的硬件系统及其配套操作系统中,为了强调任务的公平性,现有的任务调度算法尽量让不同任务公平的轮流占用设备的系统资源,而现实中,很多应用具有特定的实时性要求,即要求在规定的时间内完成任务,并对随机发生的外部事件做出响应和处理。对于这类应用,普通的强调任务公平性的软硬件调度算法难以满足要求,必须采用具有实时性保证的任务调度算法。


技术实现要素:

3.本技术实施例提供了一种任务调度方法、装置、可读介质和电子设备。
4.第一方面,本技术实施例提供了一种任务调度方法,用于第一电子设备,包括:获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息。确定根据待执行任务的第一执行信息完成待执行任务所需的第一系统资源需求。当前能够用于执行待执行任务的第一系统资源不满足第一系统资源需求时,第一电子设备将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息。其中,根据正在执行任务的第二执行信息完成正在执行任务时,能够用于执行待执行任务的第二系统资源满足第一系统资源需求。
5.例如,本技术的任务调度方法可以应用于单个电子设备上,也可以用于分布式系统中的一个电子设备上。可以理解,第一电子设备可以是车载设备、手机、计算机、可穿戴设备、智慧大屏、智能音箱、虚拟现实眼镜等中的一个,还可以是分布式系统中的车载设备、手机、计算机、可穿戴设备、智慧大屏、智能音箱、虚拟现实眼镜等中的一个。完成待执行任务所需的第一系统资源需求可以是下文中的待执行任务所需的系统资源,当前能够用于执行待执行任务的第一系统资源可以是下文中的可用系统资源。
6.例如,第一电子设备根据当前场景,获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、可用系统资源、正在执行任务占用的系统资源、待执行任务所需的系统资源。其中,待执行任务所需的系统资源可以是根据待执行任务以及待执行任务的第一执行信息,预测得到的待执行任务所需的系统资源。在可用系统资源不满足预测的待执行任务所需的系统资源的情况下,将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息,从而更加符合目标,调整的方式包括并不限于减少正在执行任务所占用的系统资源,以增加可用系统资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施。从而保证待执行任务的调度处理,提升用户体验。
7.在上述第一方面的一种可能的实现中,上述方法还包括:第一系统资源为第一电子设备的系统资源。第一电子设备将正在执行任务的第一执行信息调整为正在执行任务的
第二执行信息之后,方法还包括:第一电子设备根据正在执行任务的第二执行信息执行正在执行任务,根据待执行任务的第一执行信息执行待执行任务。
8.例如,第一电子设备为终端设备或车载设备,第一系统资源为终端设备或车载设备的可用系统资源。终端设备或车载设备对应于将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息,以正在执行任务的第二执行信息执行正在执行任务,并且以待执行任务的第一执行信息执行待执行任务。
9.在上述第一方面的一种可能的实现中,上述方法还包括:第一系统资源包括至少一个第二电子设备的系统资源。第一电子设备将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息之后,方法还包括:第一电子设备基于正在执行任务的第二执行信息以及待执行任务的第一执行信息,向至少一个第二电子设备发送第一执行指令,使得至少一个第二电子设备基于第一执行指令,以正在执行任务的第二执行信息执行正在执行任务,并且以待执行任务的第一执行信息执行待执行任务。
10.例如,分布式系统包括一个第一电子设备和至少一个第二电子设备,第一系统资源包括分布式系统中的多个第二电子设备的系统资源,分布式系统中的第一电子设备基于正在执行任务的第二执行信息以及待执行任务的第一执行信息,向分布式系统中的至少一个第二电子设备发送第一执行指令,使得分布式系统中的至少一个第二电子设备基于第一执行指令,以正在执行任务的第二执行信息执行正在执行任务,并且以待执行任务的第一执行信息执行待执行任务。
11.在上述第一方面的一种可能的实现中,上述方法还包括:还包括:第一电子设备根据待执行任务的第一执行信息执行待执行任务之后,方法还包括:生成待执行任务的第一执行结果。待执行任务的第一执行结果不满足待执行任务的第一执行信息时,将正在执行任务的第二执行信息调整为正在执行任务的第三执行信息,其中,根据正在执行任务的第三执行信息完成正在执行任务时,能够用于执行待执行任务的第三系统资源大于第二系统资源,且第三系统资源满足第一系统资源需求。
12.例如,待执行任务的第一执行结果可以是第一电子设备对待执行任务进行调度处理生成待执行任务的处理结果。第一电子设备在待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,可以将正在执行任务的第一执行信息或正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。以正在执行任务的第三执行信息完成正在执行任务对应于用于执行待执行任务的第三系统资源,第三系统资源大于第二系统资源,并且第三系统资源满足第一系统资源需求。从而进一步满足对待执行任务进行调度处理所需的系统资源,从而使得对待执行任务进行调度时满足待执行任务的第一执行信息,符合待执行任务的执行要求。从而保证待执行任务的调度处理,提升用户体验。
13.在上述第一方面的一种可能的实现中,上述方法还包括:至少一个第二电子设备根据待执行任务的第一执行信息执行待执行任务的第一执行结果不满足待执行任务的第一执行信息时,方法还包括:第一电子设备将正在执行任务的第二执行信息调整为正在执行任务的第三执行信息,第一电子设备向至少一个第二电子设备发送第二执行指令,使得至少一个第二电子设备基于第二执行指令,以正在执行任务的第三执行信息执行正在执行任务,并且以待执行任务的第一执行信息执行待执行任务,其中,至少一个第二电子设备以正在执行任务的第三执行信息完成正在执行任务时,能够用于执行待执行任务的第三系统
资源大于第二系统资源,且第三系统资源满足第一系统资源需求。
14.例如,待执行任务的第一执行结果可以是分布式系统中的第一电子设备对待执行任务进行调度处理生成待执行任务的处理结果。分布式系统中的第一电子设备在待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,可以将正在执行任务的第一执行信息或正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。分布式系统中的第一电子设备向分布式系统中的至少一个第二电子设备发送第二执行指令,使得分布式系统中的至少一个第二电子设备基于第二执行指令,以正在执行任务的第三执行信息执行正在执行任务,并且以待执行任务的第一执行信息执行待执行任务,其中,分布式系统中的至少一个第二电子设备以正在执行任务的第三执行信息完成正在执行任务时,能够用于执行待执行任务的第三系统资源大于第二系统资源,且第三系统资源满足第一系统资源需求。从而进一步满足对待执行任务进行调度处理所需的系统资源,从而使得对待执行任务进行调度时满足待执行任务的第一执行信息,符合待执行任务的执行要求。从而保证待执行任务的调度处理,提升用户体验。
15.在上述第一方面的一种可能的实现中,上述方法还包括:当前能够用于执行待执行任务的第一系统资源满足第一系统资源需求时,以正在执行任务的第一执行信息执行正在执行任务。
16.例如,在可用系统资源(第一系统资源)满足预测的待执行任务所需的系统资源(第一系统资源需求)的情况下,根据待执行任务的第一执行信息,对待执行任务进行调度处理,生成待执行任务的处理结果。
17.在上述第一方面的一种可能的实现中,上述方法还包括:正在执行任务的第一执行信息、正在执行任务的第二执行信息、待执行任务的第一执行信息包括以下至少一个:调度优先级、执行时间范围、执行频率范围、显示分辨率、显示刷新率、时延抖动范围、可靠性、可信安全环境、隔离度。
18.在上述第一方面的一种可能的实现中,上述方法还包括:将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息包括以下至少一项:将正在执行任务的第一执行信息包括的第一调度优先级调整为第二调度优先级。将正在执行任务的第一执行信息包括的第一执行时间范围调整为第二执行时间范围。将正在执行任务的第一执行信息包括的第一执行频率范围调整为第二执行频率范围。将正在执行任务的第一执行信息包括的第一显示分辨率调整为第二显示分辨率。将正在执行任务的第一执行信息包括的第一显示刷新率调整为第二显示刷新率。将正在执行任务的第一执行信息包括的第一时延抖动范围调整为第二时延抖动范围。将正在执行任务的第一执行信息包括的第一可靠性调整为第二可靠性。将正在执行任务的第一执行信息包括的第一可信安全环境调整为第二可信安全环境。将正在执行任务的第一执行信息包括的第一隔离度调整为第二隔离度。
19.在上述第一方面的一种可能的实现中,上述方法还包括:第一系统资源、第一系统资源需求、或第二系统资源需求中的系统资源包括下列中的至少一项:综合计算能力、网络带宽。
20.第二方面,本技术实施里提供了一种任务调度装置,其特征在于,包括:场景感知模块,用于获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息。场景感知模块,还用于确定根据待执行任务的第一执行信息完成待
执行任务所需的第一系统资源需求。目标统筹模块,用于当前能够用于执行待执行任务的第一系统资源不满足第一系统资源需求时,将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息。其中,根据正在执行任务的第二执行信息完成正在执行任务时,能够用于执行待执行任务的第二系统资源满足第一系统资源需求。
21.例如,场景感知模块根据当前场景,获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、可用系统资源、正在执行任务占用的系统资源、待执行任务所需的系统资源。其中,待执行任务所需的系统资源可以是场景感知模块根据待执行任务以及待执行任务的第一执行信息,预测得到的待执行任务所需的系统资源。目标统筹模块在可用系统资源不满足预测的待执行任务所需的系统资源的情况下,目标统筹模块将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息,从而更加符合目标,调整的方式包括并不限于减少正在执行任务所占用的系统资源,以增加可用系统资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施。从而保证待执行任务的调度处理,提升用户体验。
22.在上述第二方面的一种可能的实现中,上述装置还包括:任务调度和处理模块,用于根据待执行任务的第一执行信息执行待执行任务,生成待执行任务的第一执行结果。预测和补偿模块,用于待执行任务的第一执行结果不满足待执行任务的第一执行信息时,将正在执行任务的第二执行信息调整为正在执行任务的第三执行信息,其中,根据正在执行任务的第三执行信息完成正在执行任务时,能够用于执行待执行任务的第三系统资源大于第二系统资源,且第三系统资源满足第一系统资源需求。
23.例如,目标统筹模块再将待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块。任务调度和处理模块对待执行任务进行调度处理生成待执行任务的处理结果。预测和补偿模块在待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,可以将正在执行任务的第一执行信息或正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。从而进一步符合目标,调整的方式包括并不限于减少正在执行任务所占用的系统资源,以增加可用系统资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施。从而保证待执行任务的调度处理,提升用户体验。
24.第三方面,本技术实施例提供了一种可读介质,可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行上述第一方面以及第一方面的各种可能实现中的任意一种任务调度方法。
25.第四方面,本技术实施例提供了一种第一电子设备,包括:
26.存储器,用于存储由第一电子设备的一个或多个处理器执行的指令,以及
27.处理器,是第一电子设备的处理器之一,用于执行上述第一方面以及第一方面的各种可能实现中的任意一种任务调度方法。
28.在上述第四方面的一种可能的实现中,上述第一电子设备为车载设备、手机、计算机、可穿戴设备、智慧大屏、智能音箱、虚拟现实眼镜中一个。
29.第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述第一方面以及第一方面的各种可能实现中的任意一种任务调度方法。
30.第六方面,本技术还提供了一种芯片,包括处理器,所述处理器与存储器耦合,用
于读取并执行所述存储器中存储的程序指令,以使所述芯片实现上述第一方面以及第一方面的各种可能实现中的任意一种任务调度方法。
31.上述第三方面至第六方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
32.图1a根据本技术的一些实施例,示出了一种用户驾驶车辆出行的场景图;
33.图1b根据本技术的一些实施例,示出了一种车辆在抬头显示器上显示车辆行驶信息的场景图;
34.图2根据本技术的一些实施例,示出了一种智慧家居场景图;
35.图3根据本技术的一些实施例,示出了一种智慧手机场景图;
36.图4根据本技术的一些实施例,示出了一种任务调度装置的架构示意图;
37.图5根据本技术的一些实施例,示出了一种任务调度方法的交互图;
38.图6根据本技术的一些实施例,示出了另一种任务调度方法的交互图;
39.图7根据本技术的一些实施例,示出了另一种任务调度方法的交互图;
40.图8根据本技术的一些实施例,示出了一种车载设备或分布式系统中的一个电子设备或终端设备的结构示意图;
41.图9本技术的一些实施例,示出了一种车载设备或分布式系统中的一个电子设备或终端设备的软件结构框图。
具体实施方式
42.本技术的说明性实施例包括但不限于任务调度方法、装置、可读介质和电子设备。
43.为了解决上述技术问题,本技术提供了一种任务调度装置,该任务调度装置包括场景感知模块、目标统筹模块、任务调度和处理模块、预测和补偿模块、预置调度模块等。
44.具体地,场景感知模块根据当前场景,获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、可用系统资源、正在执行任务占用的系统资源、待执行任务所需的系统资源。其中,待执行任务所需的系统资源可以是场景感知模块根据待执行任务以及待执行任务的第一执行信息,预测得到的待执行任务所需的系统资源。目标统筹模块在可用系统资源不满足预测的待执行任务所需的系统资源的情况下,目标统筹模块将正在执行任务的第一执行信息调整为对应的第二执行信息,从而更加符合目标,调整的方式包括并不限于减少正在执行任务所占用的系统资源,以增加可用系统资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施。从而保证待执行任务的调度处理,提升用户体验。
45.然后,目标统筹模块再将待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块。任务调度和处理模块对待执行任务进行调度处理生成待执行任务的处理结果。
46.预测和补偿模块在待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,可以将正在执行任务的第一执行信息或正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。从而进一步符合目标,调整的方式包括并不限于减少正在执行
任务所占用的系统资源,以增加可用系统资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施。从而保证待执行任务的调度处理,提升用户体验。
47.可选的,预测和补偿模块在待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,还可以通过提高中央处理器的处理频率增加可用系统资源,以保证待执行任务的调度处理。
48.可以理解,在本技术提供的任务调度装置中,目标统筹模块可以根据场景感知模块获取的任务以及任务相关信息,实现有目的对待执行任务进行调度和处理,并且在可用系统资源不足的情况下,在不影响用户体验的前提下,主动对正在执行任务的第一执行信息进行调整,从而更加符合目标,调整的方式包括并不限于减少正在执行任务所占用的系统资源,以增加可用系统资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施。并且,预测和补偿模块在待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,主动对正在执行任务的第一执行信息或第二执行信息进行调整,从而更加符合目标,调整的方式包括并不限于减少正在执行任务所占用的系统资源,以增加可用系统资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施,从而保证待执行任务的调度处理,提升用户体验。
49.需要说明的是,本技术的待执行任务可以是一个任务,也可以是多个任务。本技术的正在执行任务可以是一个任务,也可以是多个任务。对正在执行任务的第一执行信息或第二执行信息进行调整时,可以调整一个任务的第一执行信息或第二执行信息,也可以调整多个任务对应的第一执行信息或第二执行信息。可以根据实际应用的不同场景进行调整,本技术在此不做具体限定。
50.需要说明的是,本技术的待执行任务的第一执行信息可以包括以下至少一个:待执行任务的第一调度优先级、待执行任务的第一执行时间范围、待执行任务的第一执行频率范围、待执行任务的第一显示分辨率、待执行任务的第一显示刷新率、待执行任务的第一时延抖动范围、待执行任务的第一可靠性、待执行任务的第一可信安全环境、待执行任务的第一隔离度等。可以理解,本技术的待执行任务的第一执行信息用于描述任务调度和处理模块对待执行任务进行调度和处理时的执行要求,待执行任务的第一执行信息取决于实际应用的不同场景以及待执行任务的不同的任务类型,本技术对待执行任务的第一执行信息不做具体限定。
51.需要说明的是,本技术的正在执行任务的第一执行信息可以包括以下至少一个:正在执行任务的第一调度优先级、正在执行任务的第一执行时间范围、正在执行任务的第一执行频率范围、正在执行任务的第一显示分辨率、正在执行任务的第一显示刷新率、正在执行任务的第一时延抖动范围、正在执行任务的第一可靠性、正在执行任务的第一可信安全环境、正在执行任务的第一隔离度等。可以理解,本技术的正在执行任务的第一执行信息用于描述任务调度和处理模块对正在执行任务进行调度和处理时的执行要求,正在执行任务的第一执行信息取决于实际应用的不同场景以及正在执行任务的不同的任务类型,本技术对正在执行任务的第一执行信息不做具体限定。
52.同理,本技术的正在执行任务的第一执行信息对应的第二执行信息也用于描述任务调度和处理模块对正在执行任务进行调度和处理时的执行要求,相较于任务调度和处理模块根据正在执行任务的第一执行信息对正在执行任务进行调度和处理,任务调度和处理
模块根据正在执行任务的第二执行信息对正在执行任务进行调度和处理时,更有助于达成待执行任务的目标时延、或其他执行目标。可以理解,正在执行任务的第二执行信息取决于实际应用的不同场景以及正在执行任务的不同的任务类型,本技术对正在执行任务的第二执行信息不做具体限定。
53.同理,本技术的正在执行任务的第一执行信息或第二执行信息对应的第三执行信息也用于描述任务调度和处理模块对正在执行任务进行调度和处理时的执行要求,相较于任务调度和处理模块根据正在执行任务的第一执行信息或第二执行信息对正在执行任务进行调度和处理,任务调度和处理模块根据正在执行任务的第三执行信息对正在执行任务进行调度和处理时,更有助于达成待执行任务的目标时延、或其他执行目标。可以理解,正在执行任务的第三执行信息取决于应用的不同场景以及正在执行任务的不同的任务类型,本技术对正在执行任务的第三执行信息不做具体限定。
54.需要说明的是,运行本技术的任务调度装置的设备,可以是单个电子设备,也可以是多个电子设备组成的分布式系统。例如,电子设备可以是车载设备、膝上型计算机、台式计算机、平板计算机、手机、可穿戴设备、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备、智能手表、手环、首饰(例如,做成诸如耳环、手镯等装饰性物品的设备)、服务器或眼镜等电子设备。可以理解,本技术对运行本技术的任务调度装置的设备不做具体限定。
55.为使本技术的目的、技术方案和优点更加清楚,下面结合图1至图9详细说明本技术的技术方案。
56.图1a示出了一种用户驾驶车辆出行的场景图,图1的场景包括正在驾驶车辆100,车辆100上安装有车载设备10,其中,车载设备10可以为车辆100提供包括行车数据采集、行驶轨迹记录、车辆状态监测、驾驶行为分析等车辆控制服务,还可以为车辆100提供包括实时导航、网页浏览、视频观看等服务。
57.如图1a所示,车载设备10包括抬头显示器(head up display,hud)11、麦克风12、中控屏13、行车记录摄像头14、仪表屏15以及副驾驶屏16等。例如,仪表屏15可以为用户提供行车轨迹相关数据显示。行车记录摄像头14可以用于行车数据采集。中控屏13可以为用户提供导航地图显示。麦克风12可以采集用户的语音数据,车载设备10可以根据麦克风12采集的语音数据对用户语音进行识别处理。抬头显示器11可以用于显示行车路径指示、车速等。
58.图1b示出了一种车辆100在抬头显示器11上显示车辆行驶信息的场景图,如图1b所示,抬头显示器11显示实时导航信息,具体包括:图标110显示的该路段限速60max,图标111显示的当前行驶速度为16km/h,图标112显示的车辆100距离下一个可以右转弯的路口300m。
59.下面以车载设备10的待执行任务为抬头显示器11显示实时导航信息任务为例,简要说明任务调度装置对抬头显示器11显示实时导航信息任务进行任务调度的过程。
60.例如,场景感知模块基于图1b的车辆行驶场景,获取的待执行任务为抬头显示器11显示导航信息任务,抬头显示器11显示导航信息任务的第一执行信息包括:抬头显示器11显示导航信息任务的第一执行时间范围不大于10ms、抬头显示器11显示导航信息任务的第一执行频率范围不大于50ms、抬头显示器11显示导航信息任务的第一显示分辨率为4k、
抬头显示器11显示导航信息任务的第一显示刷新率为60fps。
61.场景感知模块基于图1b的场景,获取的正在运行任务包括4个任务,分别是:摄像头14采集图像并生成行车记录任务、车辆状态监测任务、中控屏13显示导航地图任务、仪表屏15显示车辆行驶速度和距离任务。以正在运行任务中的仪表屏15显示车辆行驶速度和距离任务和中控屏13显示导航地图任务为例,仪表屏15显示车辆行驶速度和距离任务的第一执行信息包括:仪表屏15显示车辆行驶速度和距离任务的第一调度优先级高于抬头显示器11显示实时导航信息任务的调度优先级、仪表屏15显示车辆行驶速度和距离任务的第一显示刷新率为80fps。中控屏13显示导航地图任务的第一执行信息包括:中控屏13显示导航地图任务的第一调度优先级高于抬头显示器11显示导航信息任务的调度优先级、中控屏13显示导航地图任务的第一显示刷新率为100fps。
62.场景感知模块获取车载设备10的可用资源,并且基于抬头显示器11显示导航信息任务以及抬头显示器11显示导航信息任务的第一执行信息,预测抬头显示器11显示导航信息任务所需的系统资源。
63.目标统筹模块在车载设备10的可用资源不满足抬头显示器11显示导航信息任务所需的系统资源的情况下,可以将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息。相较于根据正在执行任务的第一执行信息对正在执行任务进行调度处理,根据正在执行任务的第二执行信息对正在执行任务进行调度处理所占用的资源更少。从而减少了正在执行任务的资源占用,释放更多的可用系统资源用于抬头显示器11显示导航信息任务的调度处理,保证抬头显示器11显示导航信息任务的完成,在系统资源不足的情况下,也能实现抬头显示器11显示分辨率为4k图像、抬头显示器11的显示刷新率为60fps,从而提升用户体验。
64.例如,目标统筹模块可以将仪表屏15显示车辆行驶速度和距离任务的第一调度优先级调整为第二调度优先级,调整后的第二调度优先级低于抬头显示器11显示实时导航信息任务的调度优先级。还可以将仪表屏15显示车辆行驶速度和距离任务的第一显示刷新率调整为第二显示刷新率,调整后的第二显示刷新率为30fps。又例如,目标统筹模块还可以将中控屏13显示导航地图任务的第一调度优先级调整为第二调度优先级,调整后的第二调度优先级低于抬头显示器11显示实时导航信息任务的调度优先级。再例如,目标统筹模块还可以将中控屏13显示导航地图任务的第一显示刷新率调整为第二显示刷新率,调整后的第二显示刷新率可以为80fps。
65.目标统筹模块将中控屏13显示导航地图任务的第一显示刷新率(100fps)调整为第二显示刷新率(80fps)后,任务调度和处理模块对抬头显示器11显示导航信息任务进行调度处理,生成抬头显示器11显示导航信息任务的处理结果。在抬头显示器11显示导航信息任务的处理结果仍然不满足抬头显示器11以60fps显示刷新率显示导航信息的情况下,预测和补偿模块将中控屏13显示导航地图任务的第二显示刷新率(80fps)调整为第三显示刷新率(60fps)。调整后的中控屏13显示导航地图任务所占用的系统资源变少,从而进一步释放更多的系统资源用于抬头显示器11显示导航信息任务的调度处理,保证抬头显示器11以60fps显示刷新率显示导航信息,进一步提升用户体验。
66.可选的,在抬头显示器11显示导航信息任务的处理结果不满足抬头显示器11以60fps显示刷新率显示导航信息的情况下,预测和补偿模块还可以通过提高车载设备10的
中央处理器的处理频率、图形处理器的处理频率、存储器的运行频率等,以增加车载设备10的可用系统资源,进而使得车载设备10的可用系统资源能够满足抬头显示器11显示导航信息任务的调度处理。
67.图2示出了一种智慧家居场景图,图2的场景包括分布式系统20,分布式系统20包括:智慧大屏201、智能音箱202、摄像头203、虚拟现实(virtual reality,vr)眼镜204、手机206。
68.基于图2的场景,用户头戴vr眼镜204转头观看vr视频,基于该场景,分布式系统20检测到用户1的转头动作,则场景感知模块获取的分布式系统20的待执行任务为vr眼镜204环景360度视频显示任务。场景感知模块还可以获取vr眼镜204环景360度视频显示任务的第一执行信息,其中,vr眼镜204环景360度视频显示任务的第一执行信息可以包括:第一显示分辨率为16k。场景感知模块根据vr眼镜204环景360度视频显示任务的第一显示分辨率预测vr眼镜204环景360度视频显示任务所需的系统资源。
69.在系统可用资源不满足vr眼镜204环景360度视频显示任务所需的系统资源的情况下,目标统筹模块可以将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息,相较于根据正在执行任务的第一执行信息对正在执行任务进行调度处理,根据正在执行任务的第二执行信息对正在执行任务进行调度处理所占用的资源更少,从而减少正在执行任务所占用的系统资源,释放更多的系统资源用于vr眼镜204环景360度视频显示任务的调度处理,保证vr眼镜204环景360度视频显示任务实现16k显示分辨率,从而使得在系统资源不足的情况下,也能实现用户转头时观看到16k显示分辨率的视频,提升用户体验。
70.例如,场景感知模块获取的分布式系统20的正在执行任务可以是智慧大屏201的教育网站视频显示任务,其中,对应的,场景感知模块获取的智慧大屏201的教育网站视频显示任务的第一执行信息可以包括第一显示刷新率为100fps。目标统筹模块可以将智慧大屏201的教育网站视频显示任务的第一显示刷新率(100fps)调整为第二显示刷新率(60fps)。不难看出,相较于任务调度和处理模块基于智慧大屏201的教育网站视频显示任务的第一显示刷新率对智慧大屏201的教育网站视频显示任务进行调度处理,任务调度和处理模块基于智慧大屏201的教育网站视频显示任务的第二显示刷新率对智慧大屏201的教育网站视频显示任务进行调度处理时,占用的系统资源更少。
71.进一步地,目标统筹模块将智慧大屏201的教育网站视频显示任务的第一显示刷新率(100fps)调整为第二显示刷新率(60fps)后,任务调度和处理模块对vr眼镜204环景360度视频显示任务进行调度处理,生成vr眼镜204环景360度视频显示任务的处理结果为8k显示分辨率。vr眼镜204环景360度视频显示任务的8k显示分辨率仍然不满足vr眼镜204环景360度视频显示16k显示分辨率的情况下,预测和补偿模块将第二显示刷新率(60fps)调整为第三显示刷新率(50fps)。调整后的正在执行任务所占用的系统资源变少,从而进一步释放更多的系统资源用于vr眼镜204环景360度视频显示任务的调度处理,保证vr眼镜204环景360度视频显示任务实现16k显示分辨率,从而使得在系统资源不足的情况下,也能实现用户转头时观看到16k显示分辨率的视频,提升用户体验。
72.可选的,在vr眼镜204环景360度视频显示任务的8k显示分辨率不满足vr眼镜204环景360度视频显示16k显示分辨率的情况下,预测和补偿模块还可以通过提高分布式系统20的中央处理器的处理频率、图形处理器的处理频率、存储器的运行频率等,以增加分布式
系统20的可用系统资源,进而使得分布式系统20的可用系统资源能够满足vr眼镜204环景360度视频显示任务实现16k显示分辨率。
73.可以理解,本技术的任务调度装置不仅适用于图1中的车载设备10或图2中的包含多个电子设备的分布式系统20的场景,本技术的任务调度装置还适用于单个电子设备的应用场景,下面以电子设备为手机30为例进行说明。
74.图3示出了一种智慧手机场景图,图3的场景包括手机30,如图3所示,手机30的显示界面上显示用户通过即时通讯软件进行视频通话。
75.如图3所示,场景感知模块获取的待执行任务为视频通话任务,场景感知模块获取的正在执行任务包括地图导航任务、投屏任务等。场景感知模块还获取待执行任务的第一执行信息、正在执行任务的第一执行信息、手机30的可用系统资源等。场景感知模块根据手机30的视频通话任务以及视频通话任务的第一执行信息,预测手机30的视频通话任务所需的系统资源。
76.在系统可用资源不满足视频通话任务所需的系统资源的情况下,目标统筹模块可以将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息。相较于根据手机30的正在执行任务的第一执行信息对正在执行任务进行调度处理,根据手机30的正在执行任务的第二执行信息对正在执行任务进行调度处理所占用的资源更少。从而减少了手机30的正在执行任务的资源占用,释放更多的系统资源用于视频通话任务的调度处理,保证视频通话任务的完成,在系统资源不足的情况下,也能完成视频通话任务的调度处理,从而提升用户体验。
77.目标统筹模块将手机30的正在执行任务的第一执行信息调整为正在执行任务的第二执行信息后,任务调度和处理模块对手机30的视频通话任务进行调度处理,生成手机30的视频通话任务的处理结果。在手机30的视频通话任务的处理结果仍然不满足视频通话任务的第一执行信息的情况下,预测和补偿模块可以将手机30的正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。调整后的手机30的正在执行任务所占用的系统资源变少,从而进一步释放更多的系统资源用于手机30的视频通话任务的调度处理,进一步提升用户体验。
78.可选的,在手机30的视频通话任务的处理结果不满足视频通话任务的第一执行信息的情况下,预测和补偿模块还可以通过提高手机30的中央处理器的处理频率、图形处理器的处理频率、存储器的运行频率等,以增加手机30的可用系统资源,进而使得手机30的可用系统资源能够满足对手机30的视频通话任务进行调度处理时能够实现视频通话任务的第一执行信息。
79.基于图1至图3的场景,在本技术的实施例中,车载设备10或包含多个电子设备的分布式系统20或单个电子设备(例如,手机30)上可以通过运行任务调度装置以实现本技术的任务调度方法。
80.图4示出了一种任务调度装置40的架构示意图,如图4所示,任务调度装置40具体包括场景感知模块41、目标统筹模块42、任务调度和处理模块43、预测和补偿模块44、预置调度模块45、度量和监控模块46以及时钟同步和硬周期模块47。
81.场景感知模块41:用于获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、正在执行任务占用的系统资源以及可用系统资
源,场景感知模块41还用于基于待执行任务的第一执行信息,预测待执行任务所需的系统资源。
82.场景感知模块41还用于将待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源以及可用系统资源、正在执行任务占用的系统资源发送给目标统筹模块42。
83.目标统筹模块42:用于接收场景感知模块41发送的待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源以及可用系统资源、正在执行任务占用的系统资源。
84.目标统筹模块42还用于判断可用系统资源是否满足待执行任务所需的系统资源,在可用系统资源不满足待执行任务所需的系统资源的情况下,根据正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源,正在执行任务占用的系统资源以及可用系统资源,调整正在执行任务的第一执行信息,生成正在执行任务的第二执行信息。
85.目标统筹模块42还用于待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。
86.任务调度和处理模块43:用于接收待执行任务以及待执行任务的第一执行信息,并根据待执行任务以及待执行任务的第一执行信息,对待执行任务进行调度处理,生成待执行任务的处理结果。
87.在一些实施例中,任务调度和处理模块43可以通过优先级队列调度、批处理、或休眠省电等多种方式,对待执行任务进行调度处理,生成待执行任务的处理结果。
88.可选的,随着时延确定性需求的发展,任务调度和处理模块43还可以用于对低时延要求或低抖动要求的待执行任务所在的队列进行优先调度。例如,低时延要求的待执行任务所在的队列可以通过准确时钟的硬中断来及时触发和优先处理该队列的待处理报文。低抖动要求的待执行任务所在的队列如果要消除任务过程中的抖动,需要经过一个缓冲来对准时间周期。不难理解,在待处理任务的调度和处理的过程中,待执行任务所在的队列的低时延要求和待执行任务所在的队列的低抖动要求可以都进行考虑。此外,对于有可靠性需求的待执行任务所在的队列,可以挑选可用的计算资源,或者通过冗余计算和校验来完成。
89.预测和补偿模块44:用于获取待执行任务的处理结果,确定待执行任务的处理结果是否满足待执行任务的第一执行信息,在待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,将正在执行任务的第一执行信息或第二执行信息调整为正在执行任务的第三执行信息。
90.预置调度模块45:用于预先设置待执行任务的第一执行信息以及正在执行任务的第一执行信息。其中,待执行任务的第一执行信息可以包括以下至少一个:待执行任务的第一调度优先级、待执行任务的第一执行时间范围、待执行任务的第一执行频率范围、待执行任务的第一显示分辨率、待执行任务的第一显示刷新率。正在执行任务的第一执行信息包括以下至少一个:正在执行任务的第一调度优先级、正在执行任务的第一执行时间范围、正在执行任务的第一执行频率范围、正在执行任务的第一显示分辨率、正在执行任务的第一显示刷新率。
91.度量和监控模块46:用于统计和度量任务调度和处理模块43实际对每个任务的处
理时延、以及后续引发的任务处理后果(通过界面交互判断是否成功等),从而获得任务处理的度量和反馈,以及系统资源有效性的度量。
92.时钟同步和硬周期模块47:用于完成低时延任务时对各环节进行时钟同步;如果是高确定性任务,则为了防止软件累计时延,可以使用硬中断直接优先调度确定性任务,也可以打断和挂起现有低优先级任务,进行指定高确定性任务调度,保证处理时延和周期。例如,如图1b所示的场景,待执行任务为抬头显示器11显示实时导航信息任务(高确定性任务),抬头显示器11显示实时导航信息任务的第一显示刷新率为100fps,即抬头显示器11显示实时导航信息的硬周期为10ms。为了实现抬头显示器11能够按照100fps的显示刷新率显示实时导航信息,可以使用硬中断直接优先调度抬头显示器11显示实时导航信息任务,从而保证抬头显示器11能够按照100fps的显示刷新率显示实时导航信息。
93.基于图1的用户驾驶车辆出行的场景,下面通过图4中的任务调度装置中的各模块之间的交互过程,详细描述本技术的任务调度方法的执行过程。
94.图5示出了一种任务调度方法的交互图,具体包括:
95.s501:场景感知模块41基于当前场景,获取车载设备10的待执行任务以及待执行任务的第一执行信息。
96.在一些实施例中,车载设备10的待执行任务可以是基于用户操作或用户的动作生成的。其中,待执行任务的第一执行信息可以是预置调度模块45预先设置的待执行任务的第一执行信息。在一些实施例中,如图1a所示的智慧出行场景,当前场景可以是车辆100驾驶场景,也可以是车辆100驻车场景,还可以是车辆100转弯场景等。本技术对当前场景不做具体限定。
97.在一些实施例中,场景感知模块41获取车载设备10的待执行任务可以包括一个任务或多个任务,取决于实际应用的不同场景,本技术对待执行任务的任务数量不做具体限定。例如,当前场景为图1b的用户驾驶车辆出行的场景,基于图1b的用户驾驶车辆出行的场景,车载设备10检测到用户启动抬头显示器11,则场景感知模块41获取的车载设备10待执行任务可以是抬头显示器11显示导航信息任务,场景感知模块41获取的抬头显示器11显示导航信息任务的第一执行信息包括:抬头显示器11显示导航信息任务的第一调度优先级、抬头显示器11显示导航信息任务的第一执行时间范围、抬头显示器11显示导航信息任务的第一执行频率范围、抬头显示器11显示导航信息任务的第一显示分辨率、抬头显示器11显示导航信息任务的第一显示刷新率。例如,抬头显示器11显示导航信息任务的第一显示刷新率为100fps。
98.在其他一些实施例中,当前场景也可以是用户在中控屏13上启动导航应用场景,基于该场景,车载设备10检测到用户在中控屏13上启动导航应用的操作,则场景感知模块41获取的车载设备10的待执行任务可以是中控屏13显示导航地图任务,中控屏13显示导航地图任务的第一显示刷新率可以是60fps。不难理解,智慧出行场景中的待执行任务取决于实际应用的不同场景以及待执行任务的不同的任务类型,本技术对智慧出行场景中的待执行任务不做具体限定。
99.在其他一些实施例中,车载设备10的待执行任务的第一执行信息还可以包括第一时延抖动范围、第一可靠性、第一可信安全环境、第一隔离度等。可以理解,智慧出行场景中的待执行任务的第一执行信息用于描述任务调度和处理模块对待执行任务进行调度和处
理时的执行要求,待执行任务的第一执行信息取决于实际应用的不同场景以及待执行任务的不同的任务类型,本技术的实施例对智慧出行场景中的待执行任务的第一执行信息不做具体限定。
100.s502:场景感知模块41基于当前场景,获取车载设备10的正在执行任务以及正在执行任务的第一执行信息。
101.在一些实施例中,正在执行任务可以是基于车辆100的当前运行的场景,确定的车载设备10正在执行任务以及正在执行任务的第一执行信息。其中,车载设备10的正在执行任务的第一执行信息可以是预置调度模块45预先设置的正在执行任务的第一执行信息。
102.在其他一些实施例中,车载设备10的正在执行任务的第一执行信息还可以包括第一时延抖动范围、第一可靠性、第一可信安全环境、第一隔离度等。可以理解,智慧出行场景中的正在执行任务的第一执行信息用于描述正在执行任务的执行要求,其取决于实际应用的不同场景以及正在执行任务的不同的任务类型,本技术的实施例对智慧出行场景中的正在执行任务的第一执行信息不做具体限定。
103.在一些实施例中,获取车载设备10的正在执行任务可以包括一个任务或多个任务,取决于实际应用的不同场景,本技术对正在执行任务的任务数量不做具体限定。例如,当前场景为图1b的用户驾驶车辆出行的场景,基于图1b的用户驾驶车辆出行的场景,场景感知模块41检测到正在运行的任务包括4个任务,分别是:仪表屏15显示行车轨迹相关数据任务、行车记录摄像头14采集行车数据任务、中控屏13显示导航地图任务、麦克风12采集语音数据的任务。例如,仪表屏15显示行车轨迹相关数据任务包括以下至少一个:仪表屏15显示行车轨迹相关数据任务的第一调度优先级、仪表屏15显示行车轨迹相关数据任务的第一执行时间范围、仪表屏15显示行车轨迹相关数据任务的第一执行频率范围、仪表屏15显示行车轨迹相关数据任务的第一显示分辨率、仪表屏15显示行车轨迹相关数据任务的第一显示刷新率。
104.s503:场景感知模块41基于当前场景,获取车载设备10的可用系统资源。
105.在一些实施例中,场景感知模块41基于当前场景,获取车载设备10的可用系统资源,车载设备10的可用系统资源即为车载设备10可以用于处理待执行任务的系统资源。车载设备10的可用系统资源具体包括:车载设备10的系统可用的综合计算能力、网络带宽等。车载设备10的系统可用的综合计算能力具体可以包括:内存容量、中央处理器处理能力、图形处理器处理能力等。
106.s504:场景感知模块41基于当前场景,获取车载设备10的正在执行任务占用的系统资源。
107.在一些实施例中,场景感知模块41基于当前场景,获取正在执行任务占用的系统资源。例如,当正在执行任务为单个任务,可以获取单个任务所占用的系统资源。当正在执行任务为多个任务,可以分别获取正在运行任务中每个任务所占用的系统资源。
108.在一些实施例中,车载设备10的正在执行任务占用的系统资源可以包括以下至少一个:综合计算能力、网络带宽。
109.s505:场景感知模块41根据车载设备10的待执行任务以及待执行任务的第一执行信息,预测待执行任务所需的系统资源。
110.在一些实施例中,待执行任务所需的系统资源可以是任务调度和处理模块43对待
执行任务进行调度处理以实现待执行任务的第一执行信息,所需的系统资源。
111.不难理解,车载设备10的待执行任务所需的系统资源可以是当前时刻任务调度和处理模块43对待执行任务进行调度和处理时所需的系统资源,还可以是未来预设时间段内任务调度和处理模块43对待执行任务进行调度和处理时所需的系统资源。可以理解,根据车载设备10的待执行任务的不同的任务类型,本技术对车载设备10的待执行任务所需的系统资源的具体时间要求不做限定。
112.在一些实施例中,场景感知模块41可以通过统计规律算法、专家系统算法、机器学习算法等,根据待执行任务以及待执行任务的第一执行信息,预测待执行任务所需的系统资源。
113.示例性的,场景感知模块41可以根据待执行任务的第一执行信息,通过机器学习算法,预测待执行任务所需的系统资源,生成预测的待执行任务所需的系统资源。其中,该机器学习算法可以是车载设备10通过预先收集的数据集对机器学习算法进行预训练,生成的机器学习算法。该预先收集的数据集可以是过去预设时间段内,车载设备10对待执行任务进行调度并实现待执行任务的第一执行信息,所消耗的系统资源的数据。
114.可以理解,本技术的实施例中,可以采用机器学习算法等预测待执行任务所需的系统资源。
115.不难理解,本技术的任务调度方法并不仅限于上述的步骤s501至步骤s505的执行顺序,也可以同时执行步骤s501和步骤s502,例如,同时获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息,或者先执行步骤s502再执行步骤s501,或者先执行步骤s501,再执行步骤s505,再执行步骤s502至步骤s504等。本技术对步骤s501至步骤s505的执行顺序不做具体限定。
116.s506:场景感知模块41向目标统筹模块42发送车载设备10的待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源以及可用系统资源、正在执行任务占用的系统资源。
117.s507:目标统筹模块42判断车载设备10的可用系统资源是否满足预测的车载设备10的待执行任务所需的系统资源。在车载设备10的可用系统资源满足车载设备10的待执行任务所需的系统资源的情况下,执行步骤s508以及步骤s511。在车载设备10的可用系统资源不满足车载设备10的待执行任务所需的系统资源的情况下,执行步骤s509、步骤s510以及步骤s511。
118.s508:在车载设备10的可用系统资源满足车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42将车载设备10的待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。
119.s509:在车载设备10的可用系统资源不满足车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42根据正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源,正在执行任务占用的系统资源以及车载设备10的可用系统资源,调整正在执行任务的第一执行信息,生成正在执行任务的第二执行信息。
120.不难理解,在车载设备10的可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42根据车载设备10待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息,对待执行任务进行调度
处理时,会优先满足高优先级的正在运行任务的调度和处理,这将导致待执行任务的优先级比较低的情况下,连续较长时间内未做处理,影响用户体验。例如,抬头显示器11显示导航信息任务的优先级较低,在可用系统资源不满足预测的抬头显示器11显示导航信息任务所需的系统资源的情况下,可能会出现抬头显示器11上显示的导航信息2分钟未刷新的情形,这将导致抬头显示器11上显示导航信息与用户实际看到的路况不符,从而影响用户体验。
121.因此,在一些实施例中,为了不影响用户体验,在可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42可以将正在执行任务的第一执行信息调整为第二执行信息。正在执行任务的第二执行信息可以包括以下至少一个:正在执行任务的第一调度优先级对应的第二调度优先级、正在执行任务的第一执行时间范围对应的第二执行时间范围、正在执行任务的第一执行频率范围对应的第二执行频率范围、正在执行任务的第一显示分辨率对应的第二显示分辨率、正在执行任务的第一显示刷新率对应的第二显示刷新率。
122.例如,在可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42可以将正在执行任务中的至少一个任务的第一显示刷新率调整为第二显示刷新率。
123.具体地,如图1b所示的场景中,车辆100驾驶场景下的正在执行任务可以包括:中控屏13显示导航地图任务、摄像头14采集图像并生成行车记录任务、仪表屏15实时显示车辆行驶速度和距离任务等。中控屏13显示导航地图任务的第一刷新率为100fps。在可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42可以将中控屏13显示导航地图任务的第一刷新率100fps调整为第二显示刷新率60fps。
124.不难理解,目标统筹模块42可以将中控屏13显示导航地图任务的第一刷新率100fps调整为第二显示刷新率60fps,从而减少中控屏13显示导航地图任务所占用的系统资源,增加系统可用资源,保证待执行任务的调度处理,提升用户体验。
125.同理,在可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42还可以执行以下一项或多项:将中控屏13显示导航地图任务的第一执行时间范围调整为第二执行时间范围,中控屏13显示导航地图任务的第一执行频率范围调整为第二执行频率范围,或者中控屏13显示导航地图任务的第一显示分辨率调整为第二显示分辨率。从而减少中控屏13显示导航地图任务所占用的系统资源,增加系统可用资源,即预留出更多的可用系统资源用于调度待执行任务,保证待执行任务的任务调度处理,提升用户体验。
126.不难理解,目标统筹模块42还可以通过将正在运行任务中的仪表屏15显示车辆行驶速度和距离任务、或摄像头14采集图像并生成行车记录任务、或仪表屏15实时显示车辆行驶速度和距离任务的第一执行信息调整为对应的第二执行信息,从而减少正在执行任务所占用的系统资源,增加系统可用资源,即预留出更多的可用系统资源用于调度待执行任务,从而保证待执行任务的任务调度处理,提升用户体验。
127.例如,在可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42可以将正在执行任务中的至少一个任务的第一调度优先级调整为第二调度优先级。
128.具体的,如图1b所示的场景中,车辆100驾驶场景下的正在执行任务可以包括:中控屏13显示导航地图任务、摄像头14采集图像并生成行车记录任务、仪表屏15实时显示车辆行驶速度和距离任务等,待执行任务为抬头显示器11显示实时导航信息任务。其中,中控屏13显示导航地图任务的第一调度优先级高于抬头显示器11显示实时导航信息任务的调度优先级。在可用系统资源不足的情况下,可以将中控屏13显示导航地图任务的第一调度优先级调整为第二调度优先级。调整后的中控屏13显示导航地图任务的第二调度优先级低于抬头显示器11显示实时导航信息任务的调度优先级。
129.不难理解,目标统筹模块42通过将中控屏13显示导航地图任务的第一调度优先级调整为第二调度优先级,从而使得在系统可用资源不足的情况下,任务调度和处理模块43优先调度处理抬头显示器11显示实时导航信息任务,保证了抬头显示器11显示实时导航信息任务(待执行任务)的任务调度处理,提升用户体验。
130.在本技术的其他一些实施例中,在车载设备10的可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42还可以根据正在执行任务的第一执行信息,关闭低优先级的正在执行任务。例如,若正在执行任务包括语音识别任务,在用户暂时不使用车辆100的语音识别功能或者语音识别任务的优先级较低的情况下,目标统筹模块42可以通过关闭语音识别任务,来减少正在执行任务所占用的系统资源,从而释放更多的可用系统资源以用于待执行任务的调度处理,从而保证待执行任务的调度处理,提升用户体验。
131.不难理解,在步骤s505中,车载设备10的待执行任务所需的系统资源的具体时间要求可以是当前时刻任务调度和处理模块43对待执行任务进行调度和处理时所需的系统资源,也可以是未来预设时间段内任务调度和处理模块43对待执行任务进行调度和处理时所需的系统资源。因此,对应的系统可用资源可以是当前时刻的系统可用资源,也可以是未来预设时间段内的系统可用资源,在系统可用资源不满足对应时刻的待执行任务所需的系统资源的情况下,目标统筹模块42可以在对应时刻或对应时刻即将到来时,将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息。可以理解,调整时间取决于实际的应用的不同场景以及待执行任务的不同的任务类型,本技术对目标统筹模块42将正在执行任务的第一执行信息调整为正在执行任务的第二执行信息的具体时间不做限定。
132.在其他一些实施例中,车载设备10的正在执行任务的第一执行信息对应的第二执行信息(车载设备10的正在执行任务的第二执行信息)还可以包括第二时延抖动范围、第二可靠性、第二可信安全环境、第二隔离度等。可以理解,智慧出行场景的正在执行任务的第二执行信息用于描述任务调度和处理模块对正在执行任务进行调度和处理时的执行要求。相较于任务调度和处理模块根据正在执行任务的第一执行信息对正在执行任务进行调度和处理,任务调度和处理模块根据正在执行任务的第二执行信息对正在执行任务进行调度和处理时,更有助于达成待执行任务的目标时延、或其他执行目标。正在执行任务的第二执行信息取决于实际应用的不同场景以及正在执行任务的不同的任务类型,本技术的实施例对智慧出行场景中的正在执行任务的第二执行信息不做具体限定。
133.在一些实施例中,在存在多个待执行任务,并且车载设备10的可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42可以将每个待执行任务以及每个待执行任务对应的第一执行信息,发送给任务调度和处理模块43,任
务调度和处理模块43根据每个待执行任务以及每个待执行任务对应的第一执行信息,对每个待执行任务进行调度处理。
134.在其他一些实施例中,在存在多个待执行任务,并且车载设备10的可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42也可以根据车载设备10的每个待执行任务对应的第一调度优先级,将较高优先级的待执行任务以及较高优先级的待执行任务对应的第一执行信息发送给任务调度和处理模块43,任务调度和处理模块43根据较高优先级的待执行任务以及其对应的第一执行信息,优先对较高优先级的待执行任务进行调度处理。在车载设备10的可用系统资源满足预测的车载设备10的待执行任务所需的系统资源的情况下,再将较低优先级的待执行任务以及较低优先级的待执行任务对应的第一执行信息,发送给任务调度和处理模块43,任务调度和处理模块43根据较低优先级的待执行任务以及其对应的第一执行信息,对较低优先级的待执行任务进行调度处理。
135.具体的,例如,如图1b所示的场景中,车辆100驾驶场景下的待执行任务可以包括:抬头显示器11显示导航信息任务、副驾驶屏16显示图像任务,其中,抬头显示器11显示导航信息任务的第一调度优先级高于副驾驶屏16显示图像任务的第一调度优先级。在车载设备10的可用系统资源不满足预测的车载设备10的抬头显示器11显示导航信息任务和副驾驶屏16显示图像任务所需的系统资源的情况下,目标统筹模块42可以先将抬头显示器11显示导航信息任务以及抬头显示器11显示导航信息任务的第一执行信息发送给任务调度和处理模块43,任务调度和处理模块43根据抬头显示器11显示导航信息任务以及抬头显示器11显示导航信息任务的第一执行信息,优先对抬头显示器11显示导航信息任务进行调度处理。在车载设备10的可用系统资源满足预测的车载设备10的抬头显示器11显示导航信息任务和副驾驶屏16显示图像任务所需的系统资源的情况下,目标统筹模块42再将副驾驶屏16显示图像任务以及副驾驶屏16显示图像任务的第一执行信息发送给任务调度和处理模块43,任务调度和处理模块43根据副驾驶屏16显示图像任务以及副驾驶屏16显示图像任务的第一执行信息,对副驾驶屏16显示图像任务进行调度处理。
136.s510:目标统筹模块42将车载设备10待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。
137.s511:任务调度和处理模块43根据待执行任务的第一执行信息,对待执行任务进行调度处理,生成待执行任务的处理结果。
138.在一些实施例中,在可用系统资源满足预测的车载设备10的待执行任务所需的系统资源的情况下,任务调度和处理模块43根据正在执行任务的第一执行信息以及待执行任务的第一执行信息,对待执行任务进行调度处理,生成待执行任务的处理结果。在可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42根据车载设备10待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源,正在执行任务占用的系统资源以及可用系统资源,调整正在执行任务的第一执行信息,生成正在执行任务的第一执行信息对应的第二执行信息。任务调度和处理模块43根据正在执行任务的第二执行信息以及待执行任务的第一执行信息,对待执行任务进行调度处理,生成待执行任务的处理结果。
139.s512:预测和补偿模块44从任务调度和处理模块43获取待执行任务的处理结果。
140.s513:预测和补偿模块44在待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,将正在执行任务的第一执行信息或正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。
141.在一些实施例中,预测和补偿模块44在待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,将正在执行任务的第一执行信息或正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。其中,正在执行任务的第三执行信息包括以下至少一个:正在执行任务的第三调度优先级、正在执行任务的第三执行时间范围、正在执行任务的第三执行频率范围、正在执行任务的第三显示分辨率、正在执行任务的第三显示刷新率。
142.为了保证用户体验。在可用系统资源满足预测的车载设备10的待执行任务所需的系统资源,并且,待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,预测和补偿模块44可以将正在执行任务的第一执行信息调整为正在执行任务的第三执行信息。
143.例如,如图1b所示的场景中,待执行任务为抬头显示器11显示实时导航信息任务,正在运行任务为中控屏13显示导航地图任务,其中,抬头显示器11显示实时导航信息任务的第一显示刷新率为60fps,中控屏13显示导航地图任务的第一显示刷新率为100fp。
144.由于可用系统资源满足预测的车载设备10的待执行任务所需的系统资源,并且,待执行任务的处理结果不满足待执行任务的第一执行信息,具体的,抬头显示器11显示实时导航信息任务的处理结果为显示刷新率20fps,抬头显示器11显示实时导航信息任务的第一显示刷新率为60fps,抬头显示器11显示实时导航信息任务的处理结果不满足抬头显示器11显示实时导航信息任务的第一显示刷新率。预测和补偿模块44可以将中控屏13显示导航地图任务的第一显示刷新率(100fp)调整为中控屏13显示导航地图任务的第三显示刷新率(60fps)。
145.不难理解,预测和补偿模块44将中控屏13显示导航地图任务的第一刷新率100fps调整为第三显示刷新率60fps,从而减少中控屏13显示导航地图任务所占用的系统资源,增加系统可用资源,保证了抬头显示器11显示实时导航信息任务的调度处理,提升用户体验。
146.在其他一些实施例中,为了保证用户体验,在可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源,并且,待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,预测和补偿模块44可以将正在执行任务的第一执行信息调整为正在执行任务的第三执行信息。
147.例如,如图1b所示的场景中,待执行任务为抬头显示器11显示实时导航信息任务,正在运行任务为中控屏13显示导航地图任务,其中,抬头显示器11显示实时导航信息任务的第一显示刷新率为60fps,中控屏13显示导航地图任务的第二显示刷新率为80fp。由于可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源,并且,待执行任务的处理结果不满足待执行任务的第一执行信息,具体的,抬头显示器11显示实时导航信息任务的处理结果为显示刷新率20fps,抬头显示器11显示实时导航信息任务的第一显示刷新率为60fps,抬头显示器11显示实时导航信息任务的处理结果不满足抬头显示器11显示实时导航信息任务的第一显示刷新率。预测和补偿模块44可以将中控屏13显示导航地图任务的第二显示刷新率(80fp)调整为中控屏13显示导航地图任务的第三显示刷新率(30fps)。
148.不难理解,预测和补偿模块44将中控屏13显示导航地图任务的第二刷新率80fps
调整为第三显示刷新率60fps,从而减少中控屏13显示导航地图任务所占用的系统资源,增加系统可用资源,保证了抬头显示器11显示实时导航信息任务的调度处理,提升用户体验。
149.在其他一些实施例中,车载设备10的正在执行任务的第三执行信息还可以包括第三时延抖动范围、第三可靠性、第三可信安全环境、第三隔离度等。可以理解,智慧出行场景的正在执行任务的第三执行信息用于描述任务调度和处理模块对正在执行任务进行调度和处理时的执行要求。相较于任务调度和处理模块根据正在执行任务的第一执行信息或第二执行信息对正在执行任务进行调度和处理,任务调度和处理模块根据正在执行任务的第三执行信息对正在执行任务进行调度和处理时,更有助于达成待执行任务的目标时延、或其他执行目标。正在执行任务的第三执行信息取决于实际应用的不同场景以及正在执行任务的不同的任务类型,本技术的实施例对智慧出行场景中的正在执行任务的第三执行信息不做具体限定。
150.在本技术的其他一些实施例中,在待执行任务的处理结果不满足在待执行任务的第一执行信息的情况下,预测和补偿模块44还可以提高中央处理器的运行频率以提高中央处理器处理能力、提高图形处理器的运行频率以提高图形处理器处理能力、提高存储器的运行频率以提升数据读取能力,从而增加车载设备10的可用系统资源,进而增加车载设备10的可用系统资源,保证待执行任务的调度处理,提升用户体验。
151.在本技术的其他一些实施例中,在待执行任务的处理结果不满足在待执行任务的第一执行信息的情况下,预测和补偿模块44还可以根据正在执行任务的第一执行信息或的第二执行信息,关闭低优先级的低优先级的正在执行任务。以此来减少正在执行任务所占用的系统资源,从而释放更多的可用系统资源以用于待执行任务的调度处理,从而保证待执行任务的调度处理,提升用户体验。
152.由上述描述不难看出,场景感知模块41根据当前场景,获取车载设备10待执行任务以及待执行任务的第一执行信息、车载设备10正在执行任务以及正在执行任务的第一执行信息、车载设备10的可用系统资源、正在执行任务占用的系统资源。场景感知模块41还根据待执行任务以及待执行任务的第一执行信息,预测待执行任务所需的系统资源。目标统筹模块42判断车载设备10的可用系统资源是否满足预测的车载设备10的待执行任务所需的系统资源,在车载设备10的可用系统资源满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42将车载设备10待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。在车载设备10的可用系统资源不满足预测的车载设备10的待执行任务所需的系统资源的情况下,目标统筹模块42将正在执行任务的第一执行信息调整为对应的第二执行信息。从而更加符合目标,包括并不限于减少正在执行任务所占用的系统资源,以增加车载设备10的可用系统资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施。从而保证待执行任务的调度处理,提升用户体验。
153.然后,目标统筹模块42再将车载设备10的待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。任务调度和处理模块43对车载设备10的待执行任务进行调度处理生成待执行任务的处理结果。预测和补偿模块44在车载设备10的待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,将车载设备10的正在执行任务的第一执行信息或正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。从而进一步符合目标,包括并不限于减少正在执行任务所占用的系统资源,以增加车载设备10的
可用系统资源,或者标识进入特定调度队列以满足时延目标,或者其他措施。保证车载设备10的待执行任务的调度处理,提升用户体验。
154.可以理解,车载设备10通过运行任务调度装置,目标统筹模块42根据场景感知模块41获取的任务以及任务相关信息,实现有目的地对车载设备10的待执行任务进行调度和处理,并且在可用系统资源不足的情况下,在不影响用户体验的前提下,主动对车载设备10的正在执行任务的第一执行信息进行调整,减少车载设备10的正在执行任务的资源消耗,保证车载设备10的待执行任务的调度处理,提升用户体验。并且,预测和补偿模块44在车载设备10的待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,主动对车载设备10的正在执行任务的第一执行信息或第二执行信息进行调整,进一步减少车载设备10的正在执行任务的资源消耗,保证待执行任务的调度处理,提升用户体验。
155.基于图2的智慧家居场景,下面通过图4中的任务调度装置中的各模块之间的交互过程,详细描述本技术的另一种任务调度方法的执行过程。
156.图6示出了另一种任务调度方法的交互图,相较于图5的任务调度方法,本技术的任务调度方法还可以应用于分布式系统20,具体包括:
157.s601:场景感知模块41基于当前场景,获取分布式系统20的待执行任务以及待执行任务的第一执行信息。
158.在一些实施例中,分布式系统20的待执行任务可以是基于用户操作或用户的动作生成的。其中,待执行任务的第一执行信息可以是预置调度模块45预先设置的待执行任务的第一执行信息。
159.在一些实施例中,如图2所示的智慧家居场景,智慧大屏201、智能音箱202、摄像头203、vr眼镜204、手机206等形成了分布式系统20。则当前场景可以用户1正在打开vr眼镜204,并且用户2正在与智能音箱202通话、用户3正在观看智慧大屏201正在播放教育网站视频等场景。当前还可以是用户4使用手机206浏览网页的场景。可以理解,本技术对当前场景不做具体限定。
160.例如,当前场景为图2的智慧家居场景中的用户1头戴vr眼镜204转头的场景,基于该场景,分布式系统20检测到用户1的转头动作,则场景感知模块41获取的分布式系统20的待执行任务可以是vr眼镜204环景360度视频显示任务,场景感知模块41获取的vr眼镜204环景360度视频显示任务的第一执行信息包括以下至少一个:vr眼镜204环景360度视频显示任务的第一调度优先级、vr眼镜204环景360度视频显示任务的第一执行时间范围、vr眼镜204环景360度视频显示任务的第一执行频率范围、vr眼镜204环景360度视频显示任务的第一显示分辨率、vr眼镜204环景360度视频显示任务的第一显示刷新率。例如,vr眼镜204环景360度视频显示任务的第一显示分辨率为16k分辨率。
161.在其他一些实施例中,当前场景也可以是用户3启动智慧大屏201显示教育网站视频的场景,基于该场景,分布式系统20检测到用户3的启动智慧大屏201的操作,则场景感知模块41获取的分布式系统20的待执行任务可以是智慧大屏201正在播放教育网站视频任务。不难理解,智慧家居场景中的待执行任务取决于实际应用的不同场景以及待执行任务的不同的类型,本技术对智慧家居场景中的待执行任务不做具体限定。
162.在其他一些实施例中,分布式系统20的待执行任务的第一执行信息还可以包括第一时延抖动范围、第一可靠性、第一可信安全环境、第一隔离度等。可以理解,分布式系统20
的待执行任务的第一执行信息用于描述任务调度和处理模块对待执行任务进行调度和处理时的执行要求,待执行任务的第一执行信息根据实际应用的不同场景以及待执行任务的不同的任务类型,本技术的实施例对智慧家居场景中的中的待执行任务的第一执行信息不做具体限定。
163.s602:场景感知模块41基于当前场景,获取分布式系统20的正在执行任务以及正在执行任务的第一执行信息。
164.在一些实施例中,正在执行任务可以是基于分布式系统20的当前的应用场景,确定的分布式系统20正在执行任务以及正在执行任务的第一执行信息。其中,分布式系统20的正在执行任务的第一执行信息可以是预置调度模块45预先设置的正在执行任务的第一执行信息。
165.在一些实施例中,获取分布式系统20的正在执行任务可以包括一个任务或多个任务,其取决于实际应用的不同场景,本技术对正在执行任务的任务数量不做具体限定。
166.例如,当前场景为图2的智慧家居场景,基于图2的智慧家居场景,场景感知模块41可以检测到正在运行的任务包括4个任务,分别是:智慧大屏201的教育网站视频显示任务、智能音箱202的语音识别任务、手机206的网页刷新任务、摄像头203的监控任务。例如,智慧大屏201的教育网站视频显示任务包括以下至少一个:智慧大屏201的教育网站视频显示任务的第一调度优先级、智慧大屏201的教育网站视频显示任务的第一执行时间范围、智慧大屏201的教育网站视频显示任务的第一执行频率范围、智慧大屏201的教育网站视频显示任务的第一显示分辨率、智慧大屏201的教育网站视频显示任务的第一显示刷新率。例如,智慧大屏201的教育网站视频显示任务的第一显示刷新率为100fps。
167.s603:场景感知模块41基于当前场景,获取分布式系统20的可用系统资源。
168.在一些实施例中,场景感知模块41基于当前场景,获取分布式系统20的可用系统资源,分布式系统20的可用系统资源即为分布式系统20中各电子设备可以用于处理待执行任务的综合系统资源。分布式系统20的可用系统资源具体包括:分布式系统20的系统可用的综合计算能力、网络带宽等。分布式系统20的系统可用的综合计算能力具体可以包括:内存容量、中央处理器处理能力、图形处理器处理能力等。
169.s604:场景感知模块41基于当前场景,获取分布式系统20的正在执行任务占用的系统资源。
170.在一些实施例中,场景感知模块41基于当前场景,获取分布式系统20的正在执行任务占用的系统资源。例如,分布式系统20的正在执行任务为单个任务,可以获取分布式系统20的单个任务所占用的系统资源。当分布式系统20的正在执行任务为多个任务时,可以分别获取分布式系统20的正在运行任务中每个任务所占用的系统资源。
171.在一些实施例中,分布式系统20的正在执行任务占用的系统资源可以包括以下至少一个:综合计算能力、网络带宽。
172.s605:场景感知模块41根据分布式系统20的待执行任务以及待执行任务的第一执行信息,预测分布式系统20的待执行任务所需的系统资源。具体内容参考步骤s505,在此不做赘述。
173.在一些实施例中,分布式系统20的待执行任务所需的系统资源可以是任务调度和处理模块43对待执行任务进行调度处理以实现待执行任务的第一执行信息,所需的系统资
源。
174.不难理解,分布式系统20的待执行任务所需的系统资源可以是当前时刻任务调度和处理模块43对待执行任务进行调度和处理时所需的系统资源,也可以是未来预设时间段时任务调度和处理模块43对待执行任务进行调度和处理时所需的系统资源。例如,待执行任务为vr眼镜204环景360度视频显示任务,vr眼镜204环景360度视频显示任务所需的系统资源可以是未来10ms时任务调度和处理模块43对vr眼镜204环景360度视频显示任务进行调度处理以实现16k显示分辨率所需的系统资源。本技术对分布式系统20的待执行任务所需的系统资源的具体时间要求不做限定。
175.不难理解,在本技术的任务调度方法并不仅限于上述的步骤s601至步骤s605的执行顺序,也可以同时执行步骤s601和步骤s602,例如,同时获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息,或者先执行步骤s602再执行步骤s601,或者先执行步骤s601,再执行步骤s605,再执行步骤s602至步骤s604等。本技术对步骤s601至步骤s605的执行顺序不做具体限定。
176.s606:场景感知模块41向目标统筹模块42发送分布式系统20的待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源以及可用系统资源、正在执行任务占用的系统资源。
177.s607:目标统筹模块42判断分布式系统20的可用系统资源是否满足预测的分布式系统20的待执行任务所需的系统资源。在分布式系统20的可用系统资源满足分布式系统20的待执行任务所需的系统资源的情况下,执行步骤s608以及步骤s611。在分布式系统20的可用系统资源不满足分布式系统20的待执行任务所需的系统资源的情况下,执行步骤s609、步骤s610以及步骤s611。
178.s608:在分布式系统20的可用系统资源满足分布式系统20的待执行任务所需的系统资源的情况下,目标统筹模块42将分布式系统20待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。
179.s609:在分布式系统20的可用系统资源不满足分布式系统20的待执行任务所需的系统资源的情况下,目标统筹模块42根据分布式系统20待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源,正在执行任务占用的系统资源以及分布式系统20的可用系统资源,调整正在执行任务的第一执行信息,生成正在执行任务的第二执行信息。
180.在一些实施例中,为了不影响用户体验,在可用系统资源不满足预测的分布式系统20的待执行任务所需的系统资源的情况下,目标统筹模块42可以将分布式系统20的正在执行任务的第一执行信息调整为对应的第二执行信息。分布式系统20的正在执行任务的第二执行信息可以包括以下至少一个:正在执行任务的第一调度优先级对应的第二调度优先级、正在执行任务的第一执行时间范围对应的第二执行时间范围、正在执行任务的第一执行频率范围对应的第二执行频率范围、正在执行任务的第一显示分辨率对应的第二显示分辨率、正在执行任务的第一显示刷新率对应的第二显示刷新率。具体内容参考图5的s509,在此不做赘述。
181.不难理解,在步骤s605中,分布式系统20的待执行任务所需的系统资源的具体时间要求可以是当前时刻任务调度和处理模块43对待执行任务进行调度和处理时所需的系
统资源,也可以是未来预设时间段时任务调度和处理模块43对待执行任务进行调度和处理时所需的系统资源。因此,对应的系统可用资源可以是当前时刻的系统可用资源,也可以是未来预设时间段时的系统可用资源,在系统可用资源不满足对应时刻的待执行任务所需的系统资源的情况下,目标统筹模块42在对应时刻或对应时刻即将到来时,将正在执行任务的第一执行信息调整为对应的第二执行信息。可以理解,调整时间取决于实际的应用的不同场景以及待执行任务的不同的任务类型,本技术对目标统筹模块42将正在执行任务的第一执行信息调整为对应的第二执行信息的具体时间不做限定。
182.在其他一些实施例中,分布式系统20的正在执行任务的第一执行信息对应的第二执行信息(分布式系统20的正在执行任务的第二执行信息)还可以包括第二时延抖动范围、第二可靠性、第二可信安全环境、第二隔离度等。可以理解,智慧家居场景的正在执行任务的第二执行信息用于描述任务调度和处理模块对正在执行任务进行调度和处理时的执行要求,相较于任务调度和处理模块根据正在执行任务的第一执行信息对正在执行任务进行调度和处理,任务调度和处理模块根据正在执行任务的第二执行信息对正在执行任务进行调度和处理时,更有助于达成待执行任务的目标时延、或其他执行目标。正在执行任务的第二执行信息取决于实际应用的不同场景以及正在执行任务的不同的任务类型,本技术的实施例对智慧家居场景中的正在执行任务的第二执行信息不做具体限定。
183.s610:目标统筹模块42将分布式系统20的待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。
184.s611:任务调度和处理模块43根据分布式系统20的待执行任务的第一执行信息,对待执行任务进行调度处理,生成分布式系统20的待执行任务的处理结果。
185.s612:预测和补偿模块44从任务调度和处理模块43获取分布式系统20的待执行任务的处理结果。
186.s613:预测和补偿模块44在分布式系统20的待执行任务的处理结果不满足分布式系统20的待执行任务的第一执行信息的情况下,将分布式系统20的正在执行任务的第一执行信息或分布式系统20的正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。具体内容参考步骤s513,在此不做赘述。
187.由上述描述不难看出,场景感知模块41根据当前场景,获取分布式系统20的待执行任务以及待执行任务的第一执行信息、分布式系统20的正在执行任务以及正在执行任务的第一执行信息、分布式系统20的可用系统资源、正在执行任务占用的系统资源。场景感知模块41还根据待执行任务以及待执行任务的第一执行信息,预测待执行任务所需的系统资源。目标统筹模块42判断分布式系统20的可用系统资源是否满足预测的分布式系统20的待执行任务所需的系统资源,在分布式系统20的可用系统资源满足预测的分布式系统20的待执行任务所需的系统资源的情况下,目标统筹模块42将分布式系统20的待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。在分布式系统20的可用系统资源不满足预测的分布式系统20的待执行任务所需的系统资源的情况下,目标统筹模块42将正在执行任务的第一执行信息调整为对应的第二执行信息。从而更加符合目标,包括并不限于减少正在执行任务所占用的系统资源,以增加分布式系统20的可用系统资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施。从而保证待执行任务的调度处理,提升用户体验。
188.然后,目标统筹模块42再将分布式系统20的待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。任务调度和处理模块43对分布式系统20的待执行任务进行调度处理生成待执行任务的处理结果。预测和补偿模块44在分布式系统20的待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,将分布式系统20的正在执行任务的第一执行信息或正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。从而进一步减少正在执行任务的系统资源的占用,增加系统可用资源。进一步保证待执行任务的调度处理,提升用户体验。
189.可以理解,分布式系统20通过运行任务调度装置,目标统筹模块42根据场景感知模块41获取的任务以及任务相关信息,实现有目的地对待执行任务进行调度和处理,并且在可用系统资源不足的情况下,在不影响用户体验的前提下,主动对分布式系统20的正在执行任务的第一执行信息进行调整,减少正在执行任务的资源消耗,保证分布式系统20的待执行任务的调度处理,提升用户体验。并且,预测和补偿模块44在分布式系统20的待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,主动对正在执行任务的第一执行信息或第二执行信息进行调整,进一步符合目标,包括并不限于减少正在执行任务所占用的系统资源,以增加分布式系统20的可用系统资源,或者标识进入特定调度队列以满足时延目标,或者其他措施,保证分布式系统20的待执行任务的调度处理,提升用户体验。
190.结合图3的智慧手机场景,下面通过图4中的任务调度装置中的各模块之间的交互过程,详细描述本技术的另一种任务调度方法的执行过程。
191.图7示出了另一种任务调度方法的交互图,相较于图5的任务调度方法,本技术的任务调度方法还可以应用于单个电子设备(例如手机30),具体包括:
192.s701:场景感知模块41基于当前场景,获取当前设备的待执行任务以及待执行任务的第一执行信息。
193.在一些实施例中,当前设备的待执行任务可以是基于用户操作或用户的动作生成的。其中,待执行任务的第一执行信息可以是预置调度模块45预先设置的待执行任务的第一执行信息。
194.在一些实施例中,如图3所示的智慧手机场景,当前设备为手机30,当前场景可以是手机30通过即时通讯软件进行视频通话,并且手机30后台运行地图导航应用、视频应用播放视屏投屏到电视等场景。
195.例如,当前场景为图3的智慧手机场景中的用户打开手机30的即时通讯软件进行视频通话的场景,基于该场景,手机30检测到用户打开手机30的即时通讯软件并进行视频通话的操作,基于该操作,场景感知模块41获取手机30的待执行任务可以是视频通话任务,场景感知模块41获取的视频通话任务的第一执行信息包括以下至少一个:视频通话任务的第一调度优先级、视频通话任务的第一执行时间范围、视频通话任务的第一执行频率范围、视频通话任务的第一显示分辨率、视频通话任务的第一显示刷新率。例如,视频通话任务的第一显示分辨率为2k分辨率,视频通话任务的第一显示刷新率为30fps。
196.在其他一些实施例中,当前场景也可以是用户启动手机30导航应用的场景,基于该场景,手机30检测到用户启动手机30导航应用的操作,则场景感知模块41获取的手机30的待执行任务可以是手机30显示导航地图任务。手机30显示导航地图任务的第一显示刷新率为80fps。不难理解,待执行任务的第一执行信息取决于实际应用的不同场景以及待执行
任务的不同的任务类型,本技术对智慧手机场景中的待执行任务以及待执行任务的第一执行信息不做具体限定。
197.s702:场景感知模块41基于当前场景,获取当前设备的正在执行任务以及正在执行任务的第一执行信息。
198.在一些实施例中,当前设备的正在执行任务的第一执行信息包括以下至少一个:正在执行任务的第一调度优先级、正在执行任务的第一执行时间范围、正在执行任务的第一执行频率范围、正在执行任务的第一显示分辨率、正在执行任务的第一显示刷新率。
199.在一些实施例中,获取当前设备的正在执行任务可以包括一个任务或多个任务,其取决于实际应用的不同场景,本技术对正在执行任务的任务数量不做具体限定。
200.例如,当前场景为图3的智慧手机场景,基于图3的智慧手机场景,场景感知模块41可以检测到正在运行的任务包括4个任务,分别是:导航任务、视频播放任务、网页刷新任务、拍照任务。例如,导航任务的第一执行信息包括以下至少一个:导航任务的第一调度优先级、导航任务的第一执行时间范围、导航任务的第一执行频率范围、导航任务的第一显示分辨率、导航任务的第一显示刷新率。例如,导航任务的第一显示刷新率为80fps。
201.s703:场景感知模块41基于当前场景,获取当前设备的可用系统资源。
202.在一些实施例中,场景感知模块41基于当前场景,获取当前设备的可用系统资源,当前设备的可用系统资源即为当前设备可以用于处理待执行任务的系统资源。当前设备的可用系统资源具体包括:当前设备的系统可用的综合计算能力、网络带宽等。当前设备的系统可用的综合计算能力具体可以包括:内存容量、中央处理器处理能力、图形处理器处理能力等。
203.s704:场景感知模块41基于当前场景,获取当前设备的正在执行任务占用的系统资源。
204.在一些实施例中,场景感知模块41基于当前场景,获取当前设备的正在执行任务占用的系统资源。例如,当前设备的正在执行任务为单个任务,可以获取当前设备的单个任务所占用的系统资源。当当前设备的正在执行任务为多个任务时,可以分别获取当前设备的正在运行任务中每个任务所占用的系统资源。
205.在一些实施例中,当前设备的正在执行任务占用的系统资源可以包括以下至少一个:综合计算能力、网络带宽。
206.s705:场景感知模块41根据当前设备的待执行任务以及待执行任务的第一执行信息,预测当前设备的待执行任务所需的系统资源。具体内容参考步骤s505,在此不做赘述。
207.不难理解,在本技术的任务调度方法并不仅限于上述的步骤s701至步骤s705的执行顺序,也可以同时执行步骤s701和步骤s702,例如,同时获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息,或者先执行步骤s502再执行步骤s501,或者先执行步骤s501,再执行步骤s505,再执行步骤s502至步骤s504等。本技术对步骤s701至步骤s705的执行顺序不做具体限定。
208.s706:场景感知模块41向目标统筹模块42发送当前设备的待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源以及可用系统资源、正在执行任务占用的系统资源。
209.s707:目标统筹模块42判断当前设备的可用系统资源是否满足预测的当前设备的
待执行任务所需的系统资源。在当前设备的可用系统资源满足当前设备的待执行任务所需的系统资源的情况下,执行步骤s708以及步骤s711。在当前设备的可用系统资源不满足当前设备的待执行任务所需的系统资源的情况下,执行步骤s709、步骤s710以及步骤s711。
210.s708:在当前设备的可用系统资源满足当前设备的待执行任务所需的系统资源的情况下,目标统筹模块42将当前设备待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。
211.s709:在当前设备的可用系统资源不满足当前设备的待执行任务所需的系统资源的情况下,目标统筹模块42根据当前设备待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、待执行任务所需的系统资源,正在执行任务占用的系统资源以及当前设备的可用系统资源,调整正在执行任务的第一执行信息,生成正在执行任务的第二执行信息。
212.在一些实施例中,为了不影响用户体验,在可用系统资源不满足预测的当前设备的待执行任务所需的系统资源的情况下,目标统筹模块42可以将当前设备的正在执行任务的第一执行信息调整为对应的第二执行信息。当前设备的正在执行任务的第二执行信息可以包括以下至少一个:正在执行任务的第一调度优先级对应的第二调度优先级、正在执行任务的第一执行时间范围对应的第二执行时间范围、正在执行任务的第一执行频率范围对应的第二执行频率范围、正在执行任务的第一显示分辨率对应的第二显示分辨率、正在执行任务的第一显示刷新率对应的第二显示刷新率。具体内容参考图5的s509,在此不做赘述。
213.s710:目标统筹模块42将当前设备的待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。
214.s711:任务调度和处理模块43根据当前设备的待执行任务的第一执行信息,对待执行任务进行调度处理,生成当前设备的待执行任务的处理结果。
215.s712:预测和补偿模块44从任务调度和处理模块43获取当前设备的待执行任务的处理结果。
216.s713:预测和补偿模块44在当前设备的待执行任务的处理结果不满足当前设备的待执行任务的第一执行信息的情况下,将当前设备的正在执行任务的第一执行信息或当前设备的正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。具体内容参考步骤s513,在此不做赘述。
217.由上述描述不难看出,场景感知模块41根据当前场景,获取当前设备的待执行任务以及待执行任务的第一执行信息、当前设备的正在执行任务以及正在执行任务的第一执行信息、当前设备的可用系统资源、正在执行任务占用的系统资源。场景感知模块41还根据待执行任务以及待执行任务的第一执行信息,预测待执行任务所需的系统资源。目标统筹模块42判断当前设备的可用系统资源是否满足预测的当前设备的待执行任务所需的系统资源,在当前设备的可用系统资源满足预测的当前设备的待执行任务所需的系统资源的情况下,目标统筹模块42将当前设备的待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。在当前设备的可用系统资源不满足预测的当前设备的待执行任务所需的系统资源的情况下,目标统筹模块42将正在执行任务的第一执行信息调整为对应的第二执行信息。从而更加符合目标,包括并不限于减少正在执行任务的系统资源的占用,以增
加系统可用资源,或者标识待执行任务进入特定调度队列以满足时延目标,或者其他措施。保证待执行任务的调度处理,提升用户体验。
218.然后,目标统筹模块42再将当前设备的待执行任务以及待执行任务的第一执行信息发送给任务调度和处理模块43。任务调度和处理模块43对当前设备的待执行任务进行调度处理生成待执行任务的处理结果。预测和补偿模块44在当前设备的待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,将当前设备的正在执行任务的第一执行信息或正在执行任务的第二执行信息调整为正在执行任务的第三执行信息。从而进一步符合目标,包括并不限于减少正在执行任务的系统资源的占用,以增加系统可用资源,或者标识进入特定调度队列以满足时延目标,或者其他措施。进一步保证待执行任务的调度处理,提升用户体验。
219.可以理解,当前设备通过运行任务调度装置,目标统筹模块42根据场景感知模块41获取的任务以及任务相关信息,实现有目的地对待执行任务进行调度和处理,并且在可用系统资源不足的情况下,在不影响用户体验的前提下,主动对当前设备的正在执行任务的第一执行信息进行调整,减少正在执行任务的资源消耗,保证当前设备的待执行任务的调度处理,提升用户体验。并且,预测和补偿模块44在当前设备的待执行任务的处理结果不满足待执行任务的第一执行信息的情况下,主动对正在执行任务的第一执行信息或第二执行信息进行调整,进一步减少当前设备的正在执行任务的资源消耗,保证当前设备的待执行任务的调度处理,提升用户体验。
220.图8示出了适用于本技术实施例的一种车载设备10、或分布式系统20中的一个电子设备、或终端设备30的结构示意图。
221.如图8所示,车载设备10或分布式系统20或终端设备30可以包括:音频模块210,扬声器210a,麦克风210b,屏幕220,处理器230,内部存储器240,外部存储器接口250,电源管理模块260,传感器270,按键280,天线1,天线2,移动通信模块294,无线通信模块295等。
222.车载设备10或分布式系统20中的一个电子设备或终端设备30可以通过音频模块210,扬声器210a,受话器210b,麦克风210c,耳机接口110d,以及应用处理器等实现音频功能。本技术实施例中,车载设备10或分布式系统20中的一个电子设备或终端设备30可以通过扬声器210a可以通过语音的方式向用户提示地图应用中的地图信息;
223.音频模块210用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块210还可以用于对音频信号编码和解码。在一些实施例中,音频模块210可以设置于处理器230中,或将音频模块210的部分功能模块设置于处理器230中。
224.扬声器210a,也称“喇叭”,用于将音频电信号转换为声音信号。
225.麦克风210b,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
226.屏幕220,可以是由触摸传感器与显示屏组成触摸屏,也称“触控屏”,用于检测作用于其上或附近的手势操作。屏幕220可以将检测到的手势操作传递给处理器230,以确定手势操作的类型。在本技术实施例中,屏幕220用于显示地图应用的显示界面。
227.处理器230可以包括一个或多个处理单元,例如:处理器230可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字
信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
228.内部存储器240可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器240可以包括存储程序区和存储数据区。处理器230通过运行存储在内部存储器240的指令,和/或存储在设置于处理器中的存储器的指令,执行车载设备10或分布式系统20中的一个电子设备或终端设备30的各种功能应用以及数据处理。在本发明的实施例中,内部存储器240可以用于存储本技术实施例中的地图应用的地图信息。
229.外部存储器接口250可以用于连接外部存储卡,例如micro sd卡,实现扩展车载设备10或分布式系统20中的一个电子设备或终端设备30的存储能力。外部存储卡通过外部存储器接口250与处理器230通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
230.例如,电源管理模块260用于从车辆100的供电设备对车载设备10进行电源输入。
231.传感器270可以包括位置传感器(如:gps(global positioning system,全球定位系统)、惯性测量单元(imu,inertial measurement unit)、雷达传感器、光检测和测距(lidar,light detection and ranging)传感器、图像传感器、里程传感器、温度/湿度传感器、红外传感器、大气压力传感器、接近传感器、照度传感器、磁传感器、加速度传感器或陀螺仪传感器。
232.按键280包括开机键,音量键等。按键290可以是机械按键。也可以是触摸式按键。车载设备10或分布式系统20中的一个电子设备或终端设备30可以接收按键输入,产生与车载设备10或分布式系统20中的一个电子设备或终端设备30的用户设置以及功能控制有关的键信号输入。
233.车载设备10或分布式系统20中的一个电子设备或终端设备30的无线通信功能可以通过天线1,天线2,移动通信模块194,无线通信模块195,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。
234.移动通信模块294可以提供应用在车载设备10或分布式系统20中的一个电子设备或终端设备30上的包括2g/3g/4g/5g等无线通信的解决方案。
235.无线通信模块295可以提供应用在车载设备10或分布式系统20中的一个电子设备或终端设备30上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等的无线通信的解决方案。无线通信模块295经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器230。
236.图9是本技术一些实施例公开的车载设备10或分布式系统20中的一个电子设备或终端设备30的软件结构框图。
237.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
238.应用程序层可以包括一系列应用程序包。
239.如图9所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
240.如图9所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
241.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
242.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
243.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
244.电话管理器用于提供车载设备10或分布式系统20中的一个电子设备或终端设备30的通信功能。例如通话状态的管理(包括接通,挂断等)。
245.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
246.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。
247.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
248.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
249.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
250.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
251.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
252.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
253.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
254.2d图形引擎是2d绘图的绘图引擎。
255.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
256.本技术公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本技术的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
257.可将程序代码应用于输入指令,以执行本技术描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(digital signal processor,dsp)、微控制器、专用集成电路(application specific integrated circuit,asic)或微处理器之类的处理器的任何系统。
258.程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本技术中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
259.在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(cd-roms)、磁光盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
260.应当理解的是,虽然在本文中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了进行区分,而不能理解为指示或暗示相对重要性。举例来说,在不背离示例性实施例的范围的情况下,第一特征可以被称为第二特征,并且类似地第二特征可以被称为第一特征。
261.此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个彼此分离的操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖描述的顺序,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序也可以被重新安排。当所描述的操作完成时,所述处理可以被终止,但是还可以具有未包括在附图中的附加操作。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
262.说明书中对“一个实施例”,“实施例”,“说明性实施例”等的引用表示所描述的实施例可以包括特定特征、结构或性质,但是每个实施例也可能或不是必需包括特定的特征、结构或性质。而且,这些短语不一定是针对同一实施例。此外,当结合具体实施例描述特定特征,本领域技术人员的知识能够影响到这些特征与其他实施例的结合,无论这些实施例是否被明确描述。
263.除非上下文另有规定,否则术语“包含”、“具有”和“包括”是同义词。短语“a/b”表示“a或b”。短语“a和/或b”表示“(a)、(b)或(a和b)”。
264.如本文所使用的,术语“模块”可以指代,作为其中的一部分,或者包括:用于运行一个或多个软件或固件程序的存储器(共享、专用或组),专用集成电路(asic),电子电路和/或处理器(共享、专用或组),组合逻辑电路,和/或提供所述功能的其他合适组件。
265.在附图中,可能以特定布置和/或顺序示出了一些结构或方法特征。然而,应当理解的是,这样的特定布置和/或排序不是必需的。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来进行说明。另外,特定附图中所包含得结构或方法特征并不意味着所有实施例都需要包含这样的特征,在一些实施例中,可以不包含这些特征,或者可以将这些特征与其他特征进行组合。
266.在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
267.需要说明的是,本技术各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本技术所提出的技术问题的关键。此外,为了突出本技术的创新部分,本技术上述各设备实施例并没有将与解决本技术所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
268.需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
269.虽然通过参照本技术的某些优选实施例,已经对本技术进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
270.上面结合附图对本技术的实施例做了详细说明,但本技术技术方案的使用不仅仅局限于本专利实施例中提及的各种应用,各种结构和变型都可以参考本技术技术方案轻易地实施,以达到本文中提及的各种有益效果。在本领域普通技术人员所具备的知识范围内,在不脱离本技术宗旨的前提下做出的各种变化,均应归属于本技术专利涵盖范围。

技术特征:
1.一种任务调度方法,用于第一电子设备,其特征在于,包括:获取待执行任务以及所述待执行任务的第一执行信息、正在执行任务以及所述正在执行任务的第一执行信息;确定根据所述待执行任务的第一执行信息完成所述待执行任务所需的第一系统资源需求;当前能够用于执行所述待执行任务的第一系统资源不满足所述第一系统资源需求时,所述第一电子设备将所述正在执行任务的第一执行信息调整为正在执行任务的第二执行信息;其中,根据所述正在执行任务的第二执行信息完成所述正在执行任务时,能够用于执行所述待执行任务的第二系统资源满足所述第一系统资源需求。2.根据权利要求1所述的方法,其特征在于,所述第一系统资源为所述第一电子设备的系统资源;所述第一电子设备将所述正在执行任务的第一执行信息调整为正在执行任务的第二执行信息之后,所述方法还包括:所述第一电子设备根据所述正在执行任务的第二执行信息执行所述正在执行任务,根据所述待执行任务的第一执行信息执行所述待执行任务。3.根据权利要求1所述的方法,其特征在于,所述第一系统资源包括至少一个第二电子设备的系统资源;所述第一电子设备将所述正在执行任务的第一执行信息调整为所述正在执行任务的第二执行信息之后,所述方法还包括:所述第一电子设备基于所述正在执行任务的第二执行信息以及所述待执行任务的第一执行信息,向所述至少一个第二电子设备发送第一执行指令,使得所述至少一个第二电子设备基于所述第一执行指令,以所述正在执行任务的第二执行信息执行所述正在执行任务,并且以所述待执行任务的第一执行信息执行所述待执行任务。4.根据权利要求2所述的方法,其特征在于,所述第一电子设备根据所述待执行任务的第一执行信息执行所述待执行任务之后,所述方法还包括:生成所述待执行任务的第一执行结果;所述待执行任务的第一执行结果不满足所述待执行任务的第一执行信息时,将所述正在执行任务的第二执行信息调整为正在执行任务的第三执行信息,其中,根据所述正在执行任务的第三执行信息完成所述正在执行任务时,能够用于执行所述待执行任务的第三系统资源大于所述第二系统资源,且所述第三系统资源满足所述第一系统资源需求。5.根据权利要求3所述的方法,其特征在于,所述至少一个第二电子设备根据所述待执行任务的第一执行信息执行所述待执行任务的第一执行结果不满足所述待执行任务的第一执行信息时,所述方法还包括:所述第一电子设备将所述正在执行任务的第二执行信息调整为正在执行任务的第三执行信息,所述第一电子设备向所述至少一个第二电子设备发送第二执行指令,使得所述至少一个第二电子设备基于所述第二执行指令,以所述正在执行任务的第三执行信息执行所述正在执行任务,并且以所述待执行任务的第一执行信息执行所述待执行任务,其中,所述至少一个第二电子设备以所述正在执行任务的第三执行信息完成所述正在执行任务时,能够用于执行所述待执行任务的第三系统资源大于所述第二系统资源,且所述第三系统资源满足所述第一系统资源需求。6.根据权利要求1所述的方法,其特征在于,当前能够用于执行所述待执行任务的第一
系统资源满足所述第一系统资源需求时,所述第一电子设备以所述正在执行任务的第一执行信息执行所述正在执行任务。7.根据权利要求1所述的方法,其特征在于,所述正在执行任务的第一执行信息、所述正在执行任务的第二执行信息、所述待执行任务的第一执行信息包括以下至少一个:调度优先级、执行时间范围、执行频率范围、显示分辨率、显示刷新率、时延抖动范围、可靠性、可信安全环境、隔离度。8.根据权利要求7所述的方法,其特征在于,所述第一电子设备将所述正在执行任务的第一执行信息调整为正在执行任务的第二执行信息,包括以下至少一项:所述第一电子设备将所述正在执行任务的第一执行信息包括的第一调度优先级调整为第二调度优先级;所述第一电子设备将所述正在执行任务的第一执行信息包括的第一执行时间范围调整为第二执行时间范围;所述第一电子设备将所述正在执行任务的第一执行信息包括的第一执行频率范围调整为第二执行频率范围;所述第一电子设备将所述正在执行任务的第一执行信息包括的第一显示分辨率调整为第二显示分辨率;所述第一电子设备将所述正在执行任务的第一执行信息包括的第一显示刷新率调整为第二显示刷新率;所述第一电子设备将所述正在执行任务的第一执行信息包括的第一时延抖动范围调整为第二时延抖动范围;所述第一电子设备将所述正在执行任务的第一执行信息包括的第一可靠性调整为第二可靠性;所述第一电子设备将所述正在执行任务的第一执行信息包括的第一可信安全环境调整为第二可信安全环境;所述第一电子设备将所述正在执行任务的第一执行信息包括的第一隔离度调整为第二隔离度。9.根据权利要求1所述的方法,其特征在于,所述第一系统资源、第一系统资源需求、或所述第二系统资源需求中的系统资源包括综合计算能力和/或网络带宽。10.一种任务调度装置,其特征在于,包括:场景感知模块,用于获取待执行任务以及所述待执行任务的第一执行信息、正在执行任务以及所述正在执行任务的第一执行信息;场景感知模块,还用于确定根据所述待执行任务的第一执行信息完成所述待执行任务所需的第一系统资源需求;目标统筹模块,用于当前能够用于执行所述待执行任务的第一系统资源不满足所述第一系统资源需求时,将所述正在执行任务的第一执行信息调整为正在执行任务的第二执行信息;其中,根据所述正在执行任务的第二执行信息完成所述正在执行任务时,能够用于执行所述待执行任务的第二系统资源满足所述第一系统资源需求。11.根据权利要求1所述的装置,其特征在于,还包括:任务调度和处理模块,用于根据所述待执行任务的第一执行信息执行所述待执行任
务,生成待执行任务的第一执行结果;预测和补偿模块,用于所述待执行任务的第一执行结果不满足所述待执行任务的第一执行信息时,将所述正在执行任务的第二执行信息调整为正在执行任务的第三执行信息,其中,根据所述正在执行任务的第三执行信息完成所述正在执行任务时,能够用于执行所述待执行任务的第三系统资源大于所述第二系统资源,且所述第三系统资源满足所述第一系统资源需求。12.一种第一电子设备,其特征在于,包括:存储器,用于存储由所述第一电子设备的一个或多个处理器执行的指令,以及处理器,是所述第一电子设备的所述一个或多个处理器之一,用于执行权利要求1至9中任一项所述任务调度方法。13.根据权利要求12所述的第一电子设备,其特征在于,所述第一电子设备为车载设备、手机、计算机、可穿戴设备、智慧大屏、智能音箱、或虚拟现实眼镜。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令在被所述计算机调用时用于使所述计算机执行如权利要求1至9中任一项所述的任务调度方法。15.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至9中任一项所述任务调度方法。16.一种芯片,其特征在于,所述芯片与存储器耦合,用于读取并执行所述存储器中存储的程序指令,以实现如权利要求1至9中任一项所述的任务调度方法。

技术总结
本申请涉及通信领域,公开了一种任务调度方法、装置、可读介质和电子设备。本申请的任务调度方法包括:获取待执行任务以及待执行任务的第一执行信息、正在执行任务以及正在执行任务的第一执行信息、可用系统资源、正在执行任务占用的系统资源、待执行任务所需的系统资源。其中,待执行任务所需的系统资源可以是根据待执行任务以及待执行任务的第一执行信息,预测得到的待执行任务所需的系统资源。在可用系统资源不满足预测的待执行任务所需的系统资源的情况下,将正在执行任务的第一执行信息调整为对应的第二执行信息,从而保证待执行任务的调度处理,提升用户体验。提升用户体验。提升用户体验。


技术研发人员:周艳 姚鑫
受保护的技术使用者:华为技术有限公司
技术研发日:2022.02.11
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐