任务执行方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:38151701 阅读:14 留言:0更新日期:2023-07-13 09:16
本申请的实施例揭示了一种任务执行方法、装置、电子设备及计算机可读存储介质。上述方法包括:响应于任务触发指令,确定待执行任务;获取待执行任务对应的任务树;任务树包括一个或多个任务节点;从任务树的根节点开始,通过深度遍历的方式,遍历任务树,执行遍历到的任务节点对应的内容。本申请通过深度遍历的方式,遍历任务树中的任务节点以执行相应的任务内容,可以降低任务树的开发难度,提高任务树的扩展性和复用性。而且,通过深度遍历的方式遍历任务树中的任务节点,并不会循环遍历部分任务节点,可以避免出现死循环的情况,从而提高电子设备的可靠性。高电子设备的可靠性。高电子设备的可靠性。

【技术实现步骤摘要】
任务执行方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及计算机领域,具体涉及一种任务执行方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]电子设备(例如自移动设备)在执行任务的过程中,可能需要执行许多不同的操作。在相关技术中,通常是将不同的操作对应的执行程序封装成状态,利用状态机对不同的状态进行管理,约束状态之间的跳转关系,使得自移动设备可以通过运行状态机的方式,执行任务中的各个操作。
[0003]但是,状态机中不同状态之间的跳转关系取决于状态的进入条件和退出条件。当状态个数较多时,状态间的跳转关系极其复杂,当研发人员想要对状态机进行更改,例如增加、删除、修改部分状态时,往往需要考虑变更的部分是否会与状态机中的其他状态的进入条件和退出条件产生冲突,这使得状态机的研发难度高,且扩展性和复用性较差。而且,当状态的进入条件和退出条件设置不合理时,容易出现状态死循环的情况,使得电子设备无法正常工作。

技术实现思路

[0004]为解决上述技术问题,本申请的实施例提供了一种任务执行方法、装置、电子设备及计算机可读存储介质,以快速执行待执行任务。
[0005]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0006]根据本申请实施例的一个方面,提供了一种任务执行方法,应用于电子设备,包括:响应于任务触发指令,确定待执行任务;
[0007]获取所述待执行任务对应的任务树;所述任务树包括一个或多个任务节点;
[0008]从所述任务树的根节点开始,通过深度遍历的方式,遍历所述任务树,执行遍历到的任务节点对应的内容;所述根节点只有子节点,没有父节点。
[0009]根据本申请实施例的一个方面,提供了一种任务执行装置,包括:响应模块,用于响应于任务触发指令,确定待执行任务;获取模块,用于获取所述待执行任务对应的任务树;所述任务树包括一个或多个任务节点;遍历模块,用于从所述任务树的根节点开始,通过深度遍历的方式,遍历所述任务树,执行遍历到的任务节点对应的内容;所述根节点只有子节点,没有父节点。
[0010]在另一实施例中,所述遍历模块包括:第一遍历单元,用于若当前所处节点为顺序节点,则继续遍历当前所处节点的子节点;所述顺序节点有一个父节点和一个子节点;第二遍历单元,用于若当前所处节点为顺序节点,且接收到子节点反馈的执行信息,则将所述执行信息反馈给所述顺序节点的父节点。
[0011]在另一实施例中,所述遍历模块包括:第三遍历单元,用于若当前所处节点为选择
节点,则从当前所处节点的最左边的子节点开始遍历;所述选择节点有一个父节点和多个子节点;第四遍历单元,用于若当前所处节点为选择节点,且接收到子节点反馈的执行成功信息,则停止遍历,反馈所述执行成功信息给所述选择节点的父节点;第五遍历单元,用于若当前所处节点为选择节点,且接收到子节点反馈的执行失败信息,则继续遍历所述选择节点的下一个子节点,直至接收到最后一个子节点反馈的执行失败信息时,向所述选择节点的父节点反馈所述执行失败信息。
[0012]在另一实施例中,所述遍历模块包括:第六遍历单元,用于若当前所处节点为执行节点,则执行所述执行节点对应的内容,并反馈执行信息给所述执行节点的父节点;所述执行节点只有一个父节点,没有子节点;所述执行信息包括执行成功信息和执行失败信息。
[0013]在另一实施例中,所述执行节点包括动作节点;所述第六遍历单元包括:第一执行板块,用于若当前所处节点为动作节点,则执行所述动作节点对应的动作内容,并反馈所述动作内容的执行信息给所述执行节点的父节点。
[0014]在另一实施例中,所述执行节点包括条件节点;所述第六遍历单元包括:第二执行板块,用于若当前所处节点为条件节点,则根据所述电子设备的设备信息和所述条件节点对应的条件内容确定执行信息,并反馈所述执行信息给所述条件节点的父节点。
[0015]根据本申请实施例的一个方面,提供了一种电子设备,包括:控制器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述控制器执行时,以执行上述的任务执行方法。
[0016]根据本申请实施例的一个方面,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被电子设备的处理器执行时,使电子设备执行上述的任务执行方法。
[0017]根据本申请实施例的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述的任务执行方法。
[0018]在本申请的实施例所提供的技术方案中,响应于任务触发指令,确定待执行任务;获取待执行任务对应的任务树;任务树包括一个或多个任务节点;从任务树的根节点开始,通过深度遍历的方式,遍历任务树,执行遍历到的任务节点对应的内容。本申请通过深度遍历的方式,遍历任务树中的任务节点以执行相应的任务内容,可以降低任务树的开发难度,提高任务树的扩展性和复用性。而且,通过深度遍历的方式遍历任务树中的任务节点,并不会循环遍历部分任务节点,可以避免出现死循环的情况,从而提高电子设备的可靠性。
[0019]应理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0020]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0021]图1是本申请一示例性实施例示出的一种任务执行方法的流程图;
[0022]图2是本申请一示例性实施例示出的待执行任务对应的任务树的结构示意图;
[0023]图3是基于图1所示实施例提出的另一任务执行方法的流程图;
[0024]图4是基于图1所示实施例提出的另一任务执行方法的流程图;
[0025]图5是本申请一示例性实施例示出的选择节点的结构示意图;
[0026]图6是基于图1所示实施例提出的另一任务执行方法的流程图;
[0027]图7是基于图6所示实施例提出的另一任务执行方法的流程图;
[0028]图8是基于图6所示实施例提出的另一任务执行方法的流程图;
[0029]图9是本申请一示例性实施例示出的任务执行装置的结构示意图;
[0030]图10是本申请的一示例性实施例示出的电子设备的结构示意图。
具体实施方式
[0031]这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务执行方法,其特征在于,应用于电子设备,包括:响应于任务触发指令,确定待执行任务;获取所述待执行任务对应的任务树;所述任务树包括一个或多个任务节点;从所述任务树的根节点开始,通过深度遍历的方式,遍历所述任务树,执行遍历到的任务节点对应的内容;所述根节点只有子节点,没有父节点。2.根据权利要求1所述的方法,其特征在于,所述通过深度遍历的方式,遍历所述任务树,执行遍历到的任务节点对应的内容,包括:若当前所处节点为顺序节点,则继续遍历当前所处节点的子节点;所述顺序节点有一个父节点和一个子节点;若当前所处节点为顺序节点,且接收到子节点反馈的执行信息,则将所述执行信息反馈给所述顺序节点的父节点。3.根据权利要求1所述的方法,其特征在于,所述通过深度遍历的方式,遍历所述任务树,执行遍历到的任务节点对应的内容,包括:若当前所处节点为选择节点,则从当前所处节点的最左边的子节点开始遍历;所述选择节点有一个父节点和多个子节点;若当前所处节点为选择节点,且接收到子节点反馈的执行成功信息,则停止遍历,反馈所述执行成功信息给所述选择节点的父节点;若当前所处节点为选择节点,且接收到子节点反馈的执行失败信息,则继续遍历所述选择节点的下一个子节点,直至接收到最后一个子节点反馈的执行失败信息时,向所述选择节点的父节点反馈所述执行失败信息。4.根据权利要求1所述的方法,其特征在于,所述通过深度遍历的方式,遍历所述任务树,执行遍历到的任务节点对应的内容,包括:若当前所处节点为执行节点,则执行所述执行节点对应的内容,并反馈执行信息给所述执行节点的父节点;所述执行节点只有一个父节点,没有子节点;所述执行信息包括执行成功信息和执行失败信息。5.根据权利要求4所述的方法,其特征在于,所述执行节点包括动作节点;...

【专利技术属性】
技术研发人员:余悦泳刘元财张泫舜陈浩宇
申请(专利权)人:深圳市正浩创新科技股份有限公司
类型:发明
国别省市:

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

1