CN112579275A - 任务执行方法、装置、设备及存储介质 - Google Patents

任务执行方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112579275A
CN112579275A CN202011513375.XA CN202011513375A CN112579275A CN 112579275 A CN112579275 A CN 112579275A CN 202011513375 A CN202011513375 A CN 202011513375A CN 112579275 A CN112579275 A CN 112579275A
Authority
CN
China
Prior art keywords
executed
task
tasks
execution
logic
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.)
Pending
Application number
CN202011513375.XA
Other languages
English (en)
Inventor
刘耀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou 360 Intelligent Security Technology Co Ltd
Original Assignee
Suzhou 360 Intelligent Security Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou 360 Intelligent Security Technology Co Ltd filed Critical Suzhou 360 Intelligent Security Technology Co Ltd
Priority to CN202011513375.XA priority Critical patent/CN112579275A/zh
Publication of CN112579275A publication Critical patent/CN112579275A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及计算机技术领域,公开了一种任务执行方法、装置、设备及存储介质,所述方法包括:获取多个待执行任务,并获取各待执行任务之间的执行顺序;基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;根据所述待执行任务流进行任务执行。从而通过各待执行任务之间的执行顺序和逻辑关系,将多个待执行任务组合成一条待执行任务流来进行任务执行,以降低任务执行难度。

Description

任务执行方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务执行方法、装置、设备及存储介质。
背景技术
目前,在某些场景下进行任务执行时可能需要经历若干步骤,因此需要连续执行多个任务,但是各任务之间耦合性大,代码复杂度高,难于调试。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提出一种任务执行方法、装置、设备及存储介质,旨在解决如何降低任务执行难度的技术问题。
为实现上述目的,本发明提供一种任务执行方法,所述任务执行方法包括以下步骤:
获取多个待执行任务,并获取各待执行任务之间的执行顺序;
基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;
基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;
根据所述待执行任务流进行任务执行。
所述基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系之前,还包括:
获取各待执行任务对应的任务信息;
相应地,所述基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系,具体包括;
基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。
所述基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系,具体包括:
对所述待执行任务进行遍历,将遍历到的待执行任务作为第一待执行任务;
根据各待执行任务之间的执行顺序确定与所述第一待执行任务相邻的第二待执行任务,其中,所述第一待执行任务的执行顺序在所述第二待执行任务的执行顺序之前;
根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;
对所述待处理逻辑关系进行遍历,根据遍历到的待处理逻辑关系确定各待执行任务之间的逻辑关系。
所述根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系,具体包括:
从所述任务信息中选取所述第一待执行任务对应的目标任务信息;
从所述目标任务信息中提取目标任务逻辑;
根据所述目标任务逻辑确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
所述根据所述目标任务逻辑确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系,具体包括:
判断所述目标任务逻辑是否为第一预设逻辑或第二预设逻辑;
在所述目标任务逻辑为所述第一预设逻辑时,将第一预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;
在所述目标任务逻辑为所述第二预设逻辑时,将第二预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
所述获取多个待执行任务,并获取各待执行任务之间的执行顺序之前,还包括:
查找待处理任务对应的任务属性;
将所述任务属性添加至所述待处理任务中,获得待执行任务;
相应地,所述基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系,具体包括:
从所述待执行任务中提取所述任务属性;
根据各待执行任务之间的执行顺序和所述任务属性确定各待执行任务之间的逻辑关系。
所述基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流,具体包括:
根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;
根据所述任务链表生成待执行任务流。
所述获取多个待执行任务,并获取各待执行任务之间的执行顺序之前,还包括:
获取目标使用场景,并根据所述目标使用场景确定目标操作流程;
相应地,所述获取多个待执行任务,并获取各待执行任务之间的执行顺序,具体包括:
从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序。
所述从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序,具体包括:
从所述目标操作流程中提取待操作动作,以及所述待操作动作对应的操作顺序;
根据所述待操作动作确定多个待执行任务;
根据所述操作顺序确定各待执行任务之间的执行顺序。
所述获取目标使用场景,并根据所述目标使用场景确定目标操作流程,具体包括:
获取目标使用场景;
在所述目标使用场景为补丁场景时,查找所述补丁场景对应的补丁操作流程;
将所述补丁操作流程作为目标操作流程。
所述从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序,具体包括:
从所述目标操作流程中提取多个补丁任务;
将所述补丁任务作为待执行任务;
根据所述目标操作流程确定各待执行任务之间的执行顺序。
此外,为实现上述目的,本发明还提出一种任务执行装置,所述任务执行装置包括:
信息获取模块,用于获取多个待执行任务,并获取各待执行任务之间的执行顺序;
逻辑关系模块,用于基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;
任务流模块,用于基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;
任务执行模块,用于根据所述待执行任务流进行任务执行。
可选地,所述信息获取模块,还用于获取各待执行任务对应的任务信息;
所述逻辑关系模块,还用于基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。
可选地,所述逻辑关系模块,还用于对所述待执行任务进行遍历,将遍历到的待执行任务作为第一待执行任务;
所述逻辑关系模块,还用于根据各待执行任务之间的执行顺序确定与所述第一待执行任务相邻的第二待执行任务,其中,所述第一待执行任务的执行顺序在所述第二待执行任务的执行顺序之前;
所述逻辑关系模块,还用于根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;
所述逻辑关系模块,还用于对所述待处理逻辑关系进行遍历,根据遍历到的待处理逻辑关系确定各待执行任务之间的逻辑关系。
可选地,所述逻辑关系模块,还用于从所述任务信息中选取所述第一待执行任务对应的目标任务信息;
所述逻辑关系模块,还用于从所述目标任务信息中提取目标任务逻辑;
所述逻辑关系模块,还用于根据所述目标任务逻辑确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
可选地,所述信息获取模块,还用于查找待处理任务对应的任务属性;将所述任务属性添加至所述待处理任务中,获得待执行任务;
所述逻辑关系模块,还用于从所述待执行任务中提取所述任务属性;根据各待执行任务之间的执行顺序和所述任务属性确定各待执行任务之间的逻辑关系。
可选地,所述任务流模块,还用于根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;根据所述任务链表生成待执行任务流。
可选地,所述信息获取模块,还用于获取目标使用场景,并根据所述目标使用场景确定目标操作流程;
所述信息获取模块,还用于从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序。
此外,为实现上述目的,本发明还提出一种任务执行设备,所述任务执行设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务执行程序,所述任务执行程序配置有实现如上所述的任务执行方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有任务执行程序,所述任务执行程序被处理器执行时实现如上文所述的任务执行方法的步骤。
本发明提出的任务执行方法,通过获取多个待执行任务,并获取各待执行任务之间的执行顺序;基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;根据所述待执行任务流进行任务执行。从而通过各待执行任务之间的执行顺序和逻辑关系,将多个待执行任务组合成一条待执行任务流来进行任务执行,以降低任务执行难度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的任务执行设备结构示意图;
图2为本发明任务执行方法第一实施例的流程示意图;
图3为本发明任务执行方法第一实施例的待执行任务流结构图;
图4为本发明任务执行方法第二实施例的流程示意图;
图5为本发明任务执行方法第三实施例的流程示意图;
图6为本发明任务执行方法第四实施例的流程示意图;
图7为本发明任务执行装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的任务执行设备结构示意图。
如图1所示,该任务执行设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如按键,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对任务执行设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及任务执行程序。
在图1所示的任务执行设备中,网络接口1004主要用于连接外网,与其他网络设备进行数据通信;用户接口1003主要用于连接用户设备,与所述用户设备进行数据通信;本发明设备通过处理器1001调用存储器1005中存储的任务执行程序,并执行本发明实施例提供的任务执行方法。
基于上述硬件结构,提出本发明任务执行方法实施例。
参照图2,图2为本发明任务执行方法第一实施例的流程示意图。
在第一实施例中,所述任务执行方法包括以下步骤:
步骤S10,获取多个待执行任务,并获取各待执行任务之间的执行顺序。
需要说明的是,本实施例的执行主体可为任务执行设备,还可为其他可实现相同或相似功能的设备,本实施例对此不作限制,在本实施例中,以任务执行设备为例进行说明。
需要说明的是,所述任务执行设备可为台式电脑、笔记本电脑、平板电脑、手机等终端设备,也可为其他终端设备,其中,以上电脑除了可为个人电脑外,还可为服务器,本实施例对此不作限制。
应当理解的是,在进行任务执行时是存在执行顺序的,在存在多个待执行任务时,需要根据执行顺序来确定先执行哪个任务、后执行哪个任务。可先获取多个待执行任务,然后获取各待执行任务之间的执行顺序,其中,执行顺序为各待执行任务之间的执行先后顺序。
在具体实现中,例如,可获取A、B、C、D四个待执行任务,然后获取这四个待执行任务的执行顺序依次为:A、B、C、D,也就是说,首先执行A,在A执行完成后,再执行B;在B执行完成后,再执行C;在C执行完成后,再执行D。
可以理解的是,每个待执行任务都有对应的任务属性,可读取待执行任务中的任务属性,根据任务属性来确定各待执行任务之间的执行顺序,还可为其他方式,本实施例对此不作限制。
步骤S20,基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。
应当理解的是,在确定各待执行任务之间的执行顺序后,还可基于各待执行任务之间的执行顺序确定各执行任务之间的逻辑关系,其中,逻辑关系包括“与”和“或”,还可为其他逻辑关系,本实施例对此不作限制。
需要说明的是,由于各待执行任务之间的逻辑关系是所有待执行任务的一个整体的逻辑关系,而这个整体的逻辑关系可由每两个相邻的待执行任务之间的逻辑关系构成。在两个相邻的待执行任务之间的逻辑关系为“与”时,表示两个待执行任务之间具有与的关系,只有前一个待处理任务执行成功才能执行后一个待执行任务;在两个相邻的待执行任务之间的逻辑关系为“或”时,表示两个待执行任务之间具有或的关系,后一个待执行任务不管前一个待执行任务是否执行成功,都照样执行。
在具体实现中,要想确定A、B、C、D这四个待执行任务之间的逻辑关系,可先分别确定A与B、B与C、C与D之间的逻辑关系,例如,在A与B之间的逻辑关系为“与”、B与C之间的关系为“或”、C与D之间的关系“与”时,表示只有在A执行成功后才执行B,在执行B时,不管B是否执行成功,只要B的步骤执行完了便开始执行C,然后,只有在C执行成功后才执行D,在D执行完成后表示任务结束。
因此,根据以上每两个相邻的待执行任务之间的逻辑关系可确定各待执行任务之间的逻辑关系,例如,在以上例子中,各待执行任务之间的逻辑关系为:先执行A,在A执行成功后执行B,在B执行完成后执行C,在C执行成功后执行D,在D执行完成后任务结束。
步骤S30,基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流。
应当理解的是,在确定各待执行任务之间的逻辑关系后,可基于待执行任务及各待执行任务之间的逻辑关系生成待执行任务流,后续只需要根据待执行任务流便可进行任务执行,而不需要考虑单个待执行任务以及单个待执行任务对应的逻辑,从而达到降低任务执行难度的效果。
进一步地,所述步骤S30,包括:
根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;根据所述任务链表生成待执行任务流。
需要说明的是,在本实施例中可根据各待执行任务之间的逻辑关系对待执行任务进行组合,获得一个任务链表,通过任务链表来生成待执行任务流,也可通过其他方式来生成待执行任务流,本实施例对此不作限制,在本实施例中,以通过任务链表来生成待执行任务流为例进行说明。
在具体实现中,可用操作符“and”来表示“与”,用“follow”表示“或”,生成如图3所示的待执行任务流结构图,在图3中有A、B、C、D四个待执行任务,并且各待执行任务之间存在逻辑关系,根据各待执行任务之间的逻辑关系生成的一条待执行任务流,图3所示的待执行任务流结构图,可清晰的表示各待执行任务的逻辑,并且便于任务执行。
应当理解的是,各待执行任务之间除了存在执行顺序和逻辑关系之外,每个待执行任务还可能包含各种属性,比如重试,循环等。可结合这些属性生成待执行任务流,从而使生成的待执行任务流具备更多的任务属性,提高任务执行的多样性。
在具体实现中,例如,在以上例子的基础上,A包含的属性为循环两次,B包含的属性为在执行失败时重试三次,那么整体执行流程应为:先循环执行A两次,在A执行成功后执行B,在B执行失败时,重试执行B三次后执行C,在C执行成功后执行D,在D执行完成后任务结束。
在本实施例中,通过根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;根据所述任务链表生成待执行任务流。从而对待执行任务进行组合获得任务链表,进而生成待执行任务流,提高了生成待执行任务流的效率。
步骤S40,根据所述待执行任务流进行任务执行。
应当理解的是,在生成待执行任务流后,不需要考虑单个待执行任务,也不需要考虑单个待执行任务的逻辑,只需要根据待执行任务流便可进行任务执行,从而将复杂的任务流程简化,降低了任务执行难度。
在具体实现中,可将以上任务执行方案应用在多种应用场景,比如说:在软件工程中可以用到,例如日常的手机扫码,首先需要调用手机的摄像头,然后将图像的数据点取出,取完之后需要对数据点进行本地的解析,确定需要连接的URL,再通过云端(例如:网盾)判断该URL是否为恶意的,然后返回本地端,根据不同的类型进行收集UI的展示,当然,可能还有很多相关联的任务,用这种模式可以将这些任务都串联起来。每一个可能还具有若干种属性,有些任务需要进行重试,比如扫码时请求网络信息,可能会因为网络原因失败,属性可设置类似于重试的次数和重试的条件等参数,每一个任务都包含了各种属性和模式,每个任务之间还有对应的接口,通过接口可以确定任务执行成功状态或失败的原因,所以后期的调试就可以很清晰,可判断是由什么原因导致的问题。
本实施例中通过获取多个待执行任务,并获取各待执行任务之间的执行顺序;基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;根据所述待执行任务流进行任务执行。从而通过各待执行任务之间的执行顺序和逻辑关系,将多个待执行任务组合成一条待执行任务流来进行任务执行,以降低任务执行难度。
在一实施例中,如图4所示,基于第一实施例提出本发明任务执行方法第二实施例,所述步骤S20之前,还包括:
步骤S101,获取各待执行任务对应的任务信息。
需要说明的是,在确定各待执行任务之间的逻辑关系之前,可先获取各待执行任务对应的任务信息,所述任务信息为用来描述待执行任务的信息,例如,在待执行任务为调用摄像头时,对应的任务信息为调用摄像头相关的信息,比如说,要调用哪个摄像头,如何调用摄像头,以及是否只有在该任务完成后才能执行下一任务等信息。
相应地,所述步骤S20,包括:
步骤S201,基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。
应当理解的是,在获取各待执行任务的任务信息,并确定了各待执行任务之间的执行顺序后,可根据任务信息和待执行任务之间的执行顺序来确定各待执行任务之间的逻辑关系。
可以理解的是,根据执行顺序可知各待执行任务之间的执行先后顺序,根据任务信息可确定各待执行任务的具体任务情况,将各待执行任务的具体任务情况以及各待执行任务之间的执行先后顺序相结合,便可确定整体的任务执行框架,从而确定各待执行任务之间的逻辑关系。
进一步地,所述步骤S201,包括:
对所述待执行任务进行遍历,将遍历到的待执行任务作为第一待执行任务。
需要说明的是,由于在一个整体的任务执行流程中,存在多个待执行任务,因此,可先对待执行任务进行遍历,将遍历到的待执行任务作为第一待执行任务,先分别分析单个的待执行任务与相邻的待执行任务之间的待处理逻辑关系,然后再根据这些待处理逻辑关系来确定整体的逻辑关系,可提高整体逻辑关系的准确性。
根据各待执行任务之间的执行顺序确定与所述第一待执行任务相邻的第二待执行任务,其中,所述第一待执行任务的执行顺序在所述第二待执行任务的执行顺序之前。
应当理解的是,由于在之前的步骤中已经确定了各待执行任务之间的执行顺序,因此,可根据执行顺序来确定与第一待执行任务相邻的第二待执行任务。并且第一待执行任务的执行顺序在第二待执行任务的执行顺序之前,也就是说,第二待执行任务是在第一待执行任务之后的接下来的一个待执行步骤。
根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
需要说明的是,第一待执行任务和第二待执行任务之间的执行顺序已经确定了,是先执行第一待执行任务,然后再执行第二待执行任务,因此,只需要根据任务信息便可确定第一待执行任务和第二待执行任务之间的待处理逻辑关系。
对所述待处理逻辑关系进行遍历,根据遍历到的待处理逻辑关系确定各待执行任务之间的逻辑关系。
可以理解的是,在上述步骤中已经确定相邻的各待执行任务之间的待处理逻辑关系,因此,可对待处理逻辑关系进行遍历,根据遍历到的待处理逻辑关系来确定各待执行任务之间的整体的逻辑关系。
在具体实现中,例如,有A、B、C、D四个待执行任务,可对这四个待执行任务进行遍历,在遍历到A时,将A作为第一待执行任务,然后通过这四个待执行任务之间的执行顺序可确定与A相邻、且在A下一步执行的任务为B,因此,将B作为第二待执行任务,然后便可根据任务信息确定A与B之间的待处理逻辑;在遍历到B时,将B作为第一待执行任务,然后通过这四个待执行任务之间的执行顺序可确定C为第二待执行任务,根据任务信息确定B与C之间的待处理逻辑关系;在遍历到C时,将C作为第一待执行任务,然后通过这四个待执行任务之间的执行顺序可确定D为第二待执行任务,然后通过这四个待执行任务之间的执行顺序可确定D为第二待执行任务,根据任务信息确定C与D之间的待处理逻辑关系;在遍历到D时,根据这四个待执行任务之间的执行顺序可知,D是最后执行的待执行任务,其后已经不存在其他待执行任务了,因此任务结束。
此时,在上述步骤中得到了三个待处理逻辑关系,可对这三个待处理逻辑关系进行遍历,将遍历到的待处理逻辑关系来确定各待执行任务之间的整体的逻辑关系。
在本实施例中,通过对所述待执行任务进行遍历,将遍历到的待执行任务作为第一待执行任务;根据各待执行任务之间的执行顺序确定与所述第一待执行任务相邻的第二待执行任务,其中,所述第一待执行任务的执行顺序在所述第二待执行任务的执行顺序之前;根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;对所述待处理逻辑关系进行遍历,根据遍历到的待处理逻辑关系确定各待执行任务之间的逻辑关系。从而通过遍历的方式,分别确定相邻的各待执行任务之间的待处理逻辑关系,然后再根据这些待处理逻辑关系来确定各代行任务之间的逻辑关系,提高了逻辑关系确定的准确性。
进一步地,所述根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系的步骤,包括:
从所述任务信息中选取所述第一待执行任务对应的目标任务信息。
需要说明的是,由于之前获取的任务信息是各待执行任务对应的任务信息,可从任务信息中选取与第一待执行任务对应的目标任务信息。
从所述目标任务信息中提取目标任务逻辑。
应当理解的是,任务信息中包含有任务逻辑,任务逻辑用来表示该待执行任务与相邻的下一待执行任务之间的关系,其中,逻辑关系包括“与”和“或”,还可为其他逻辑关系,本实施例对此不作限制。
在两个相邻的待执行任务之间的逻辑关系为“与”时,表示两个待执行任务之间具有与的关系,只有前一个待处理任务执行成功才能执行后一个待执行任务;在两个相邻的待执行任务之间的逻辑关系为“或”时,表示两个待执行任务之间具有或的关系,后一个待执行任务不管前一个待执行任务是否执行成功,都照样执行。
因此,在确定第一待执行任务对应的目标任务信息后,可从目标任务信息中提取第一待执行任务对应的目标任务逻辑。
判断所述目标任务逻辑是否为第一预设逻辑或第二预设逻辑。
应当理解的是,本实施例中的第一预设逻辑可为执行成功后再执行下一任务、第二预设逻辑可为执行完成后再执行下一任务,在获得目标任务逻辑后,可判断目标任务逻辑是否为第一预设逻辑或第二预设逻辑,当然,也可为其他逻辑,本实施例对此不作限制。在本实施例中,以逻辑为两种,分别为执行成功后再执行下一任务、执行完成后再执行下一任务,并分别与第一预设逻辑、第二预设逻辑对应为例进行说明。
可以理解的是,执行成功后再执行下一任务与执行完成后再执行下一任务的区别为,执行成功是该待执行任务执行完成且执行成功,执行完成是该待执行任务执行完成即可。
在所述目标任务逻辑为所述第一预设逻辑时,将第一预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
在所述目标任务逻辑为所述第二预设逻辑时,将第二预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
需要说明的是,本实施例中的第一预设关系可为“与”,第二预设关系可为“或”,第一预设关系与第一预设逻辑对应,第二预设关系与第二预设逻辑对应。
可以理解的是,在第一待执行任务的目标任务逻辑为第一预设逻辑时,可将第一预设关系作为第一待执行任务和第二待执行任务之间的待处理逻辑关系,在目标任务逻辑为第二预设逻辑时,将第二预设关系作为第一待执行任务和第二待执行任务之间的待处理逻辑关系。
在本实施例中,通过从所述任务信息中选取所述第一待执行任务对应的目标任务信息;从所述目标任务信息中提取目标任务逻辑;判断所述目标任务逻辑是否为第一预设逻辑或第二预设逻辑;在所述目标任务逻辑为所述第一预设逻辑时,将第一预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;在所述目标任务逻辑为所述第二预设逻辑时,将第二预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。从而通过目标任务信息确定目标任务逻辑,进而确定第一待执行任务和第二待执行任务之间的待处理逻辑关系,提高了第一待执行任务和第二待执行任务之间的准确性。
本实施例中通过获取各待执行任务对应的任务信息;基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。从而获取任务信息,进而根据任务信息及执行顺序来确定各待执行任务之间的逻辑关系,提高了确定各待执行任务之间的逻辑关系的准确性。
在一实施例中,如图5所示,基于第一实施例或第二实施例提出本发明任务执行方法第三实施例,在本实施例中,基于第一实施例进行说明,所述步骤S10之前,还包括:
步骤S01,查找待处理任务对应的任务属性。
需要说明的是,可提前设置在一个使用场景下需要使用的待处理任务,并分别给这些待处理任务设置对应的任务属性,任务属性可由用户实时输入,也可为预先输入并存储在数据库中,本实施例对此不作限制。
步骤S02,将所述任务属性添加至所述待处理任务中,获得待执行任务。
应当理解的是,待处理任务是没有携带任务属性的,在查找到待处理任务对应的任务属性后,将任务属性添加至待处理任务中,获得待执行任务,因此,所述待执行任务中携带有任务属性。
需要说明的是,将任务属性添加至待处理任务中的方式有多种,在本实施例中,是通过如下方式来实现的:每个任务其实都是通过一个类来实现的,可通过一个基类来秒速任务框架,基类中可能会有任务开始的函数,任务结束的函数,任务成功的回调等基本共用的操作,然后在这个基类之下还可包含多个子类,有一些子类是属于二元的类,它继承了前面所提到的基类,同时,其具有一些额外的方法,这些二元的类的额外方法比如,可以组织“and,follow”的操作符,and可以添加子任务,例如两个关联的任务,二元的类下面有可能会涉及到具体的操作,比如重试,重新构建一个重试的类,这样一层一层的构建起来。
因此,在确定待处理任务,并查找到待处理任务对应的任务属性后,可设定一个合适的基类,并根据待处理任务的数量来确定对应的子类数量,因此,可在基类下创建多个子类,每个子类对应一个待处理任务,将以上任务属性分别添加至各个子类中,从而形成各个子类对应的执行对象,可根据这些由待处理任务和任务属性组成的执行对象确定待执行任务。
相应地,所述步骤S20,包括:
步骤S201',从所述待执行任务中提取所述任务属性。
需要理解的是,可从待执行任务中提取待执行任务对应的任务属性,然后提取的任务属性确定各待执行任务之间的逻辑关系。
步骤S202',根据各待执行任务之间的执行顺序和所述任务属性确定各待执行任务之间的逻辑关系。
应当理解的是,在确定了待执行任务之间的执行顺序,以及各待执行任务对应的任务属性之后,可从根据各待执行任务之间的执行顺序和任务属性确定各待执行任务之间的逻辑关系。
本实施例中通过查找待处理任务对应的任务属性,将所述任务属性添加至所述待处理任务中,获得待执行任务,从所述待执行任务中提取所述任务属性,根据各待执行任务之间的执行顺序和所述任务属性确定各待执行任务之间的逻辑关系。从而使得待执行任务中包含任务属性,通过提取任务属性的方式来确定各待执行任务之间的逻辑关系,提高了逻辑关系确定的效率。
在一实施例中,如图6所示,基于第一实施例或第二实施例提出本发明任务执行方法第四实施例,在本实施例中,基于第一实施例进行说明,所述步骤S10之前,还包括:
步骤S03,获取目标使用场景,并根据所述目标使用场景确定目标操作流程。
需要说明的是,可能会有多种使用场景,例如,手机扫码场景、补丁场景等,还可为其他使用场景,本实施例对此不作限制。并且,每个使用场景都有对应的操作流程,例如,手机扫码场景可对应第一操作流程,补丁场景可对应第二操作流程,显然,第一操作流程和第二操作流程是不相同的。因此可获取目标使用场景,并根据目标使用场景确定目标操作流程,例如,在目标使用场景为补丁场景时,目标操作流程为第二操作流程。
应当理解的是,以上使用场景和操作流程只是为了便于说明举的例子,还可为其他使用场景,以及其他使用场景对应的操作流程,本实施例对此不作限制。
相应地,所述步骤S10,包括:
步骤S10',从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序。
进一步地,所述从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序的步骤,包括:
从所述目标操作流程中提取待操作动作,以及所述待操作动作对应的操作顺序;根据所述待操作动作确定多个待执行任务;根据所述操作顺序确定各待执行任务之间的执行顺序。
需要说明的是,一个操作流程中包含有多个操作动作及这些操作动作对应的操作顺序,因此可从目标操作流程中提取待操作动作以及待操作动作对应的操作顺序,然后可将一个待操作动作作为一个待执行任务,因此,在确定了多个待操作动作的情况下,可获得多个待执行任务,然后由于待操作动作与待执行任务是对应的,因此待操作动作对应的操作顺序与待执行任务对应的执行顺序是也是对应的,因此,可根据操作顺序确定各待执行任务之间的执行顺序。
在本实施例中,通过从所述目标操作流程中提取待操作动作,以及所述待操作动作对应的操作顺序;根据所述待操作动作确定多个待执行任务;根据所述操作顺序确定各待执行任务之间的执行顺序。从而根据目标操作流程确定待执行任务,并确定各待执行任务之间的执行顺序,提高了可靠性。
进一步地,所述从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序的步骤,还可为:
获取目标使用场景;在所述目标使用场景为补丁场景时,查找所述补丁场景对应的补丁操作流程;将所述补丁操作流程作为目标操作流程。
进而可从目标操作流程中提取多个补丁任务,将补丁任务作为待执行任务,根据目标操作流程确定各待执行任务之间的执行顺序。
需要说明的是,在目标使用场景为补丁场景,具体为内核热补丁场景时,实现从用户层向内核打补丁需要经历若干待操作动作,分别对应若干待操作任务,组成一个操作流程,例如,可为:请求后台拉取key任务、补丁下载任务、应用补丁任务,打点信息上报任务等,并且有些任务需要重试,有些需要执行多次,本实施例对此不作限制。
本实施例中通过获取目标使用场景,并根据所述目标使用场景确定目标操作流程;从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序。从而根据目标使用场景来确定待执行任务并确定各待执行任务之间的执行顺序,提高了方案的可靠性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有任务执行程序,所述任务执行程序被处理器执行时实现如上文所述的任务执行方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,参照图7,本发明实施例还提出一种任务执行装置,所述任务执行装置包括:
信息获取模块10,用于获取多个待执行任务,并获取各待执行任务之间的执行顺序。
应当理解的是,在进行任务执行时是存在执行顺序的,在存在多个待执行任务时,需要根据执行顺序来确定先执行哪个任务、后执行哪个任务。可先获取多个待执行任务,然后获取各待执行任务之间的执行顺序,其中,执行顺序为各待执行任务之间的执行先后顺序。
在具体实现中,例如,可获取A、B、C、D四个待执行任务,然后获取这四个待执行任务的执行顺序依次为:A、B、C、D,也就是说,首先执行A,在A执行完成后,再执行B;在B执行完成后,再执行C;在C执行完成后,再执行D。
可以理解的是,每个待执行任务都有对应的任务属性,可读取待执行任务中的任务属性,根据任务属性来确定各待执行任务之间的执行顺序,还可为其他方式,本实施例对此不作限制。
逻辑关系模块20,用于基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。
应当理解的是,在确定各待执行任务之间的执行顺序后,还可基于各待执行任务之间的执行顺序确定各执行任务之间的逻辑关系,其中,逻辑关系包括“与”和“或”,还可为其他逻辑关系,本实施例对此不作限制。
需要说明的是,由于各待执行任务之间的逻辑关系是所有待执行任务的一个整体的逻辑关系,而这个整体的逻辑关系可由每两个相邻的待执行任务之间的逻辑关系构成。在两个相邻的待执行任务之间的逻辑关系为“与”时,表示两个待执行任务之间具有与的关系,只有前一个待处理任务执行成功才能执行后一个待执行任务;在两个相邻的待执行任务之间的逻辑关系为“或”时,表示两个待执行任务之间具有或的关系,后一个待执行任务不管前一个执行成功与否,都照样执行。
在具体实现中,要想确定A、B、C、D这四个待处理任务之间的逻辑关系,可先分别确定A与B、B与C、C与D之间的逻辑关系,例如,在A与B之间的逻辑关系为“与”、B与C之间的关系为“或”、C与D之间的关系“与”时,表示只有在A执行成功后才执行B,在执行B时,不管B是否执行成功,只要B的步骤执行完了便开始执行C,然后,只有在C执行成功后才执行D,在D执行完成后表示任务结束。
因此,根据以上每两个相邻的待执行任务之间的逻辑关系可确定各待执行任务之间的逻辑关系,例如,在以上例子中,各待执行任务之间的逻辑关系为:先执行A,在A执行成功后执行B,在B执行完成后执行C,在C执行成功后执行D,在D执行完成后任务结束。
任务流模块30,用于基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流。
应当理解的是,在确定各待执行任务之间的逻辑关系后,可基于待执行任务及各待执行任务之间的逻辑关系生成待执行任务流,后续只需要根据待执行任务流便可进行任务执行,而不需要考虑单个待执行任务以及单个待执行任务对应的逻辑,从而达到降低任务执行难度的效果。
进一步地,所述任务流模块30还用于根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;根据所述任务链表生成待执行任务流。
需要说明的是,在本实施例中可根据各待执行任务之间的逻辑关系对待执行任务进行组合,获得一个任务链表,通过任务链表来生成待执行任务流,也可通过其他方式来生成待执行任务流,本实施例对此不作限制,在本实施例中,以通过任务链表来生成待执行任务流为例进行说明。
在具体实现中,可用操作符“and”来表示“与”,用“follow”表示“或”,生成如图3所示的待执行任务流结构图,在图3中有A、B、C、D四个待执行任务,并且各待执行任务之间存在逻辑关系,根据各待执行任务之间的逻辑关系生成的一条待执行任务流,图3所示的待执行任务流结构图,可清晰的表示各待执行任务的逻辑,并且便于任务执行。
应当理解的是,各待执行任务之间除了存在执行顺序和逻辑关系之外,每个待执行任务还可能包含各种属性,比如重试,循环等。可结合这些属性生成待执行任务流,从而使生成的待执行任务流具备更多的任务属性,提高任务执行的多样性。
在具体实现中,例如,在以上例子的基础上,A包含的属性为循环两次,B包含的属性为在执行失败时重试三次,那么整体执行流程应为:先循环执行A两次,在A执行成功后执行B,在B执行失败时,重试执行B三次后执行C,在C执行成功后执行D,在D执行完成后任务结束。
在本实施例中,通过根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;根据所述任务链表生成待执行任务流。从而对待执行任务进行组合获得任务链表,进而生成待执行任务流,提高了生成待执行任务流的效率。
任务执行模块40,用于根据所述待执行任务流进行任务执行。
应当理解的是,在生成待执行任务流后,不需要考虑单个待执行任务,也不需要考虑单个待执行任务的逻辑,只需要根据待执行任务流便可进行任务执行,从而将复杂的任务流程简化,降低了任务执行难度。
在具体实现中,可将以上任务执行方案应用在多种应用场景,比如说:在软件工程中可以用到,例如日常的手机扫码,首先需要调用手机的摄像头,然后将图像的数据点取出,取完之后需要对数据点进行本地的解析,确定需要连接的URL,再通过云端(例如:网盾)判断该URL是否为恶意的,然后返回本地端,根据不同的类型进行收集UI的展示,当然,可能还有很多相关联的任务,用这种模式可以将这些任务都串联起来。每一个可能还具有若干种属性,有些任务需要进行重试,比如扫码时请求网络信息,可能会因为网络原因失败,属性可设置类似于重试的次数和重试的条件等参数,每一个任务都包含了各种属性和模式,每个任务之间还有对应的接口,通过接口可以确定任务执行成功状态或失败的原因,所以后期的调试就可以很清晰,可判断是由什么原因导致的问题。
本实施例中通过获取多个待执行任务,并获取各待执行任务之间的执行顺序;基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;根据所述待执行任务流进行任务执行。从而通过各待执行任务之间的执行顺序和逻辑关系,将多个待执行任务组合成一条待执行任务流来进行任务执行,以降低任务执行难度。
在一实施例中,所述信息获取模块10,还用于获取各待执行任务对应的任务信息;所述逻辑关系模块20,还用于基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。
在一实施例中,所述逻辑关系模块20,还用于对所述待执行任务进行遍历,将遍历到的待执行任务作为第一待执行任务;根据各待执行任务之间的执行顺序确定与所述第一待执行任务相邻的第二待执行任务,其中,所述第一待执行任务的执行顺序在所述第二待执行任务的执行顺序之前;根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;对所述待处理逻辑关系进行遍历,根据遍历到的待处理逻辑关系确定各待执行任务之间的逻辑关系。
在一实施例中,所述逻辑关系模块20,还用于从所述任务信息中选取所述第一待执行任务对应的目标任务信息;从所述目标任务信息中提取目标任务逻辑;根据所述目标任务逻辑确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
在一实施例中,所述逻辑关系模块20,还用于判断所述目标任务逻辑是否为第一预设逻辑或第二预设逻辑;在所述目标任务逻辑为所述第一预设逻辑时,将第一预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;在所述目标任务逻辑为所述第二预设逻辑时,将第二预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
在一实施例中,所述信息获取模块10,还用于查找待处理任务对应的任务属性;将所述任务属性添加至所述待处理任务中,获得待执行任务;所述逻辑关系模块20,还用于从所述待执行任务中提取所述任务属性;根据各待执行任务之间的执行顺序和所述任务属性确定各待执行任务之间的逻辑关系。
在一实施例中,所述任务流模块30,还用于根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;根据所述任务链表生成待执行任务流。
在一实施例中,所述信息获取模块10,还用于获取目标使用场景,并根据所述目标使用场景确定目标操作流程;从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序。
在一实施例中,所述信息获取模块10,还用于从所述目标操作流程中提取待操作动作,以及所述待操作动作对应的操作顺序;根据所述待操作动作确定多个待执行任务;根据所述操作顺序确定各待执行任务之间的执行顺序。
在一实施例中,所述信息获取模块10,还用于获取目标使用场景;在所述目标使用场景为补丁场景时,查找所述补丁场景对应的补丁操作流程;将所述补丁操作流程作为目标操作流程。
在一实施例中,所述信息获取模块10,还用于从所述目标操作流程中提取多个补丁任务;将所述补丁任务作为待执行任务;根据所述目标操作流程确定各待执行任务之间的执行顺序。
在本发明所述任务执行装置的其他实施例或具体实现方法可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该估算机软件产品存储在如上所述的一个估算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台智能设备(可以是手机,估算机,任务执行设备,或者网络任务执行设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
本发明公开了A1、一种任务执行方法,所述任务执行方法包括以下步骤:
获取多个待执行任务,并获取各待执行任务之间的执行顺序;
基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;
基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;
根据所述待执行任务流进行任务执行。
A2、如A1所述的任务执行方法,所述所述基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系之前,还包括:
获取各待执行任务对应的任务信息;
相应地,所述基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系,具体包括;
基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。
A3、如A2所述的任务执行方法,所述基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系,具体包括:
对所述待执行任务进行遍历,将遍历到的待执行任务作为第一待执行任务;
根据各待执行任务之间的执行顺序确定与所述第一待执行任务相邻的第二待执行任务,其中,所述第一待执行任务的执行顺序在所述第二待执行任务的执行顺序之前;
根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;
对所述待处理逻辑关系进行遍历,根据遍历到的待处理逻辑关系确定各待执行任务之间的逻辑关系。
A4、如A3所述的任务执行方法,所述根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系,具体包括:
从所述任务信息中选取所述第一待执行任务对应的目标任务信息;
从所述目标任务信息中提取目标任务逻辑;
根据所述目标任务逻辑确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
A5、如A4所述的任务执行方法,所述根据所述目标任务逻辑确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系,具体包括:
判断所述目标任务逻辑是否为第一预设逻辑或第二预设逻辑;
在所述目标任务逻辑为所述第一预设逻辑时,将第一预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;
在所述目标任务逻辑为所述第二预设逻辑时,将第二预设关系作为所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
A6、如A1~A5中任一项所述的任务执行方法,所述获取多个待执行任务,并获取各待执行任务之间的执行顺序之前,还包括:
查找待处理任务对应的任务属性;
将所述任务属性添加至所述待处理任务中,获得待执行任务;
相应地,所述基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系,具体包括:
从所述待执行任务中提取所述任务属性;
根据各待执行任务之间的执行顺序和所述任务属性确定各待执行任务之间的逻辑关系。
A7、如A1~A5中任一项所述的任务执行方法,所述基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流,具体包括:
根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;
根据所述任务链表生成待执行任务流。
A8、如A1~A5中任一项所述的任务执行方法,所述获取多个待执行任务,并获取各待执行任务之间的执行顺序之前,还包括:
获取目标使用场景,并根据所述目标使用场景确定目标操作流程;
相应地,所述获取多个待执行任务,并获取各待执行任务之间的执行顺序,具体包括:
从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序。
A9、如A8所述的任务执行方法,所述从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序,具体包括:
从所述目标操作流程中提取待操作动作,以及所述待操作动作对应的操作顺序;
根据所述待操作动作确定多个待执行任务;
根据所述操作顺序确定各待执行任务之间的执行顺序。
A10、如A9所述的任务执行方法,所述获取目标使用场景,并根据所述目标使用场景确定目标操作流程,具体包括:
获取目标使用场景;
在所述目标使用场景为补丁场景时,查找所述补丁场景对应的补丁操作流程;
将所述补丁操作流程作为目标操作流程。
A11、如A10所述的任务执行方法,所述从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序,具体包括:
从所述目标操作流程中提取多个补丁任务;
将所述补丁任务作为待执行任务;
根据所述目标操作流程确定各待执行任务之间的执行顺序。
本发明还公开了B12、一种任务执行装置,所述任务执行装置包括:
信息获取模块,用于获取多个待执行任务,并获取各待执行任务之间的执行顺序;
逻辑关系模块,用于基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;
任务流模块,用于基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;
任务执行模块,用于根据所述待执行任务流进行任务执行。
B13、如B12所述的任务执行装置,所述信息获取模块,还用于获取各待执行任务对应的任务信息;
所述逻辑关系模块,还用于基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。
B14、如B13所述的任务执行装置,所述逻辑关系模块,还用于对所述待执行任务进行遍历,将遍历到的待执行任务作为第一待执行任务;
所述逻辑关系模块,还用于根据各待执行任务之间的执行顺序确定与所述第一待执行任务相邻的第二待执行任务,其中,所述第一待执行任务的执行顺序在所述第二待执行任务的执行顺序之前;
所述逻辑关系模块,还用于根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;
所述逻辑关系模块,还用于对所述待处理逻辑关系进行遍历,根据遍历到的待处理逻辑关系确定各待执行任务之间的逻辑关系。
B15、如B14所述的任务执行装置,所述逻辑关系模块,还用于从所述任务信息中选取所述第一待执行任务对应的目标任务信息;
所述逻辑关系模块,还用于从所述目标任务信息中提取目标任务逻辑;
所述逻辑关系模块,还用于根据所述目标任务逻辑确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系。
B16、如B12所述的任务执行装置,所述信息获取模块,还用于查找待处理任务对应的任务属性;将所述任务属性添加至所述待处理任务中,获得待执行任务;
所述逻辑关系模块,还用于从所述待执行任务中提取所述任务属性;根据各待执行任务之间的执行顺序和所述任务属性确定各待执行任务之间的逻辑关系。
B17、如B12所述的任务执行装置,所述任务流模块,还用于根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;根据所述任务链表生成待执行任务流。
B18、如B12所述的任务执行装置,所述信息获取模块,还用于获取目标使用场景,并根据所述目标使用场景确定目标操作流程;
所述信息获取模块,还用于从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序。
本发明还公开了C19、一种任务执行设备,所述任务执行设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务执行程序,所述任务执行程序配置有实现如上所述的任务执行方法的步骤。
本发明还公开了D20、一种存储介质,所述存储介质上存储有任务执行程序,所述任务执行程序被处理器执行时实现如上所述的任务执行方法的步骤。

Claims (10)

1.一种任务执行方法,其特征在于,所述任务执行方法包括以下步骤:
获取多个待执行任务,并获取各待执行任务之间的执行顺序;
基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;
基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;
根据所述待执行任务流进行任务执行。
2.如权利要求1所述的任务执行方法,其特征在于,所述基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系之前,还包括:
获取各待执行任务对应的任务信息;
相应地,所述基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系,具体包括;
基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系。
3.如权利要求2所述的任务执行方法,其特征在于,所述基于所述任务信息和各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系,具体包括:
对所述待执行任务进行遍历,将遍历到的待执行任务作为第一待执行任务;
根据各待执行任务之间的执行顺序确定与所述第一待执行任务相邻的第二待执行任务,其中,所述第一待执行任务的执行顺序在所述第二待执行任务的执行顺序之前;
根据所述任务信息确定所述第一待执行任务和所述第二待执行任务之间的待处理逻辑关系;
对所述待处理逻辑关系进行遍历,根据遍历到的待处理逻辑关系确定各待执行任务之间的逻辑关系。
4.如权利要求1所述的任务执行方法,其特征在于,所述获取多个待执行任务,并获取各待执行任务之间的执行顺序之前,还包括:
查找待处理任务对应的任务属性;
将所述任务属性添加至所述待处理任务中,获得待执行任务;
相应地,所述基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系,具体包括:
从所述待执行任务中提取所述任务属性;
根据各待执行任务之间的执行顺序和所述任务属性确定各待执行任务之间的逻辑关系。
5.如权利要求1所述的任务执行方法,其特征在于,所述基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流,具体包括:
根据各待执行任务之间的逻辑关系对所述待执行任务进行组合,获得任务链表;
根据所述任务链表生成待执行任务流。
6.如权利要求1所述的任务执行方法,其特征在于,所述获取多个待执行任务,并获取各待执行任务之间的执行顺序之前,还包括:
获取目标使用场景,并根据所述目标使用场景确定目标操作流程;
相应地,所述获取多个待执行任务,并获取各待执行任务之间的执行顺序,具体包括:
从所述目标操作流程中提取多个待执行任务,并根据所述目标操作流程确定各待执行任务之间的执行顺序。
7.如权利要求6所述的任务执行方法,其特征在于,所述获取目标使用场景,并根据所述目标使用场景确定目标操作流程,具体包括:
获取目标使用场景;
在所述目标使用场景为补丁场景时,查找所述补丁场景对应的补丁操作流程;
将所述补丁操作流程作为目标操作流程。
8.一种任务执行装置,其特征在于,所述任务执行装置包括:
信息获取模块,用于获取多个待执行任务,并获取各待执行任务之间的执行顺序;
逻辑关系模块,用于基于各待执行任务之间的执行顺序确定各待执行任务之间的逻辑关系;
任务流模块,用于基于所述待执行任务及各待执行任务之间的逻辑关系生成待执行任务流;
任务执行模块,用于根据所述待执行任务流进行任务执行。
9.一种任务执行设备,其特征在于,所述任务执行设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务执行程序,所述任务执行程序配置有实现如权利要求1至7中任一项所述的任务执行方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有任务执行程序,所述任务执行程序被处理器执行时实现如权利要求1至7中任一项所述的任务执行方法的步骤。
CN202011513375.XA 2020-12-23 2020-12-23 任务执行方法、装置、设备及存储介质 Pending CN112579275A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011513375.XA CN112579275A (zh) 2020-12-23 2020-12-23 任务执行方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011513375.XA CN112579275A (zh) 2020-12-23 2020-12-23 任务执行方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112579275A true CN112579275A (zh) 2021-03-30

Family

ID=75136335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011513375.XA Pending CN112579275A (zh) 2020-12-23 2020-12-23 任务执行方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112579275A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721712A (zh) * 2022-06-09 2022-07-08 北京精雕科技集团有限公司 任务执行方法、装置、电子设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597611A (zh) * 2019-09-19 2019-12-20 中国银行股份有限公司 任务调度方法及装置
CN110716748A (zh) * 2019-09-24 2020-01-21 深圳中集智能科技有限公司 业务处理方法、装置、计算机可读介质及电子设备
CN111782207A (zh) * 2020-06-23 2020-10-16 北京青云科技股份有限公司 任务流代码生成方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597611A (zh) * 2019-09-19 2019-12-20 中国银行股份有限公司 任务调度方法及装置
CN110716748A (zh) * 2019-09-24 2020-01-21 深圳中集智能科技有限公司 业务处理方法、装置、计算机可读介质及电子设备
CN111782207A (zh) * 2020-06-23 2020-10-16 北京青云科技股份有限公司 任务流代码生成方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721712A (zh) * 2022-06-09 2022-07-08 北京精雕科技集团有限公司 任务执行方法、装置、电子设备以及存储介质

Similar Documents

Publication Publication Date Title
CN109542399B (zh) 软件开发方法、装置、终端设备及计算机可读存储介质
CN107526623B (zh) 一种数据处理方法及装置
CN112256318B (zh) 一种用于依赖产品的构建方法及设备
CN111694733A (zh) 一种软件开发工具包sdk的api测试方法以及测试装置
CN113326030A (zh) 一种业务请求的处理方法和装置
CN107526636B (zh) 资源识别方法及装置
CN110990008B (zh) 更新页面的方法、装置、存储介质以及电子设备
CN112579275A (zh) 任务执行方法、装置、设备及存储介质
CN110619204A (zh) 一种邀请码生成方法、装置、终端设备及存储介质
CN110704099B (zh) 联盟链的构建方法、装置和电子设备
CN107621939B (zh) 一种应用优化方法及装置
CN111158777A (zh) 组件调用方法、装置及计算机可读存储介质
CN108595160B (zh) Js调用原生对象的方法、存储介质
CN110852603A (zh) 高吞吐量的风控数据处理方法、装置、设备及存储介质
CN110825622A (zh) 软件测试方法、装置、设备和计算机可读介质
CN115756494A (zh) 一种业务数据处理方法、装置、电子设备及存储介质
CN113495723B (zh) 一种调用功能组件的方法、装置及存储介质
CN111124386B (zh) 基于Unity的动画事件处理方法、装置、设备和存储介质
CN112540813B (zh) 一种基于工作流引擎的应用生成方法
CN110262790B (zh) 组件生成方法、装置、存储介质及终端设备
CN114443306A (zh) 资源处理方法、装置、电子设备及计算机可读存储介质
CN112069236A (zh) 关联文件的展示方法、装置、设备及存储介质
CN106775629B (zh) 搜索文件生成方法及装置
CN113792247B (zh) 基于代码特征生成功能流程图的方法、装置、设备和介质
CN116301758B (zh) 基于事件时机点的规则编辑方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination