发明内容
本发明实施例提供一种自动化任务执行方法、装置、电子设备及计算机存储介质。
第一方面,本发明实施例中提供了一种自动化任务执行方法。
具体的,所述自动化任务执行方法,包括:
获取自动化任务,其中,自动化任务中包括一个或多个事件触发组件,所述事件触发组件配置有目标事件及相应的目标事件匹配条件;
运行所述自动化任务;
响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态,并当检测到所述目标事件被触发且所述目标事件匹配条件被满足时,唤醒处于等待状态的自动化任务进入运行状态。
结合第一方面,本发明实施例在第一方面的第一种实现方式中,所述获取自动化任务,包括:
响应于接收到自动化任务执行请求,获取所述自动化任务。
结合第一方面和第一方面的第一种实现方式,本发明实施例在第一方面的第二种实现方式中,所述运行所述自动化任务,包括:
对所述自动化任务进行校验;
当所述自动化任务通过所述校验时,根据所述自动化任务进行任务资源配置,运行所述自动化任务。
结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述根据所述自动化任务进行任务资源配置,包括:
对于所述自动化任务进行拆分,根据拆分得到的自动化子任务进行任务资源配置。
结合第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述任务资源配置包括以下配置操作中的一种或多种:任务资源创建、任务资源修改、任务资源编辑、任务资源删除。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,所述响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态,并当检测到所述目标事件被触发且所述目标事件匹配条件被满足时,唤醒处于等待状态的自动化任务进入运行状态,包括:
响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态;
根据所述事件触发组件向消息队列服务器注册目标事件及相应的目标事件匹配条件,其中,所述目标事件与目标事件匹配条件均与所述事件触发组件相关;
响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,唤醒处于等待状态的自动化任务进入运行状态。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式和第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,唤醒处于等待状态的自动化任务进入运行状态,包括:
响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,创建所述处于等待状态的自动化任务的关联自动化任务,其中,所述关联自动化任务与处于等待状态的自动化任务内容相同;
运行所述关联自动化任务,并映射处于等待状态的自动化任务进入运行状态;
响应于所述关联自动化任务运行完成,将所述自动化任务设置为等待状态。
第二方面,本发明实施例中提供了一种自动化任务执行装置。
具体的,所述自动化任务执行装置,包括:
获取模块,被配置为获取自动化任务,其中,自动化任务中包括一个或多个事件触发组件,所述事件触发组件配置有目标事件及相应的目标事件匹配条件;
运行模块,被配置为运行所述自动化任务;
处理模块,被配置为响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态,并当检测到所述目标事件被触发且所述目标事件匹配条件被满足时,唤醒处于等待状态的自动化任务进入运行状态。
结合第二方面,本发明实施例在第二方面的第一种实现方式中,所述获取模块包括:
响应于接收到自动化任务执行请求,获取所述自动化任务。
结合第二方面和第二方面的第一种实现方式,本发明实施例在第二方面的第二种实现方式中,所述运行模块包括:
校验子模块,被配置为对所述自动化任务进行校验;
第一运行子模块,被配置为当所述自动化任务通过所述校验时,根据所述自动化任务进行任务资源配置,运行所述自动化任务。
结合第二方面、第二方面的第一种实现方式和第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述第一运行子模块被配置为:
对于所述自动化任务进行拆分,根据拆分得到的自动化子任务进行任务资源配置。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式和第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述任务资源配置包括以下配置操作中的一种或多种:任务资源创建、任务资源修改、任务资源编辑、任务资源删除。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式和第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,所述处理模块包括:
第一设置子模块,被配置为响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态;
注册子模块,被配置为根据所述事件触发组件向消息队列服务器注册目标事件及相应的目标事件匹配条件,其中,所述目标事件与目标事件匹配条件均与所述事件触发组件相关;
唤醒子模块,被配置为响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,唤醒处于等待状态的自动化任务进入运行状态。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式、第二方面的第四种实现方式和第二方面的第五种实现方式,本公开在第二方面的第六种实现方式中,所述唤醒子模块包括:
创建子模块,被配置为响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,创建所述处于等待状态的自动化任务的关联自动化任务,其中,所述关联自动化任务与处于等待状态的自动化任务内容相同;
第二运行子模块,被配置为运行所述关联自动化任务,并映射处于等待状态的自动化任务进入运行状态;
第二设置子模块,被配置为响应于所述关联自动化任务运行完成,将所述自动化任务设置为等待状态。
第三方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持自动化任务执行装置执行上述第一方面中自动化任务执行方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述自动化任务执行装置还可以包括通信接口,用于自动化任务执行装置与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储自动化任务执行装置所用的计算机指令,其包含用于执行上述第一方面中自动化任务执行方法为自动化任务执行装置所涉及的计算机指令。
本发明实施例提供的技术方案可包括以下有益效果:
上述技术方案通过设置配置有目标事件及相应的目标事件匹配条件的事件触发组件来控制自动化任务的进程,不需要设置循环语句来监控事件的发生,不需要单独判断事件与命令是否匹配,因此可以大大节省计算资源和存储资源,提高自动化任务运行时间和效率,即使资源需要在不同状态下执行不同的逻辑时,也很容易实现。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明实施例。
具体实施方式
下文中,将参考附图详细描述本发明实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本发明实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明实施例。
本发明实施例提供的技术方案通过设置配置有目标事件及相应的目标事件匹配条件的事件触发组件来控制自动化任务的进程,不需要设置循环语句来监控事件的发生,不需要单独判断事件与命令是否匹配,因此可以大大节省计算资源和存储资源,提高自动化任务运行时间和效率,即使资源需要在不同状态下执行不同的逻辑时,也很容易实现。
图1示出根据本发明一实施方式的自动化任务执行方法的流程图,如图1所示,所述自动化任务执行方法包括以下步骤S101-S103:
在步骤S101中,获取自动化任务,其中,自动化任务中包括一个或多个事件触发组件,所述事件触发组件配置有目标事件及相应的目标事件匹配条件;
在步骤S102中,运行所述自动化任务;
在步骤S103中,响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态,并当检测到所述目标事件被触发且所述目标事件匹配条件被满足时,唤醒处于等待状态的自动化任务进入运行状态。
上文提及,随着数据技术的发展,很多用户通过互联网平台和云平台配置自己想要实现的自动化任务。为了给用户提供多样化、可定制的配置服务,很多互联网平台和云平台都可提供一系列原子任务,用户可基于所述原子任务自行编写自动化任务文件。但在实际应用中,很多自动化任务在运行过程中都会遇到等待、阻塞等情况,为了解决该问题,现有技术中通常采用两种解决方案:一,使用while循环语句频繁检测刚刚创建的资源的工作状态;二,将自动化任务分割为多个子任务,通过设置不同的事件机制来触发不同的子任务。但无论哪种方案,均存在浪费计算资源和存储资源的缺点。
考虑到上述问题,在该实施方式中,提出一种自动化任务执行方法,该方法通过设置配置有目标事件及相应的目标事件匹配条件的事件触发组件来控制自动化任务的进程,不需要设置循环语句来监控事件的发生,不需要单独判断事件与命令是否匹配,因此可以大大节省计算资源和存储资源,提高自动化任务运行时间和效率,即使资源需要在不同状态下执行不同的逻辑时,也很容易实现。
在本发明一实施方式中,所述自动化任务指的是由一个或多个原子任务组成,且能够实现一个或多个目的的任务,其中,所述原子任务指的是最小可拆分单元的任务元素,每个原子任务在运行后都可实现一个目的。
在本发明一实施方式中,所述事件触发组件(EventTrigger)可由用户或者开发人员进行编辑,以为所述事件触发组件配置目标事件及相应的目标事件匹配条件,使得当目标事件发生且满足所述目标事件匹配条件时,能够执行相应的动作,比如自动改变任务的工作状态、触发相应命令的执行或者相应进程的启动等等,换句话说,所述事件触发组件相当于是对于所述自动化任务的事件处理逻辑进行注册,后续在检测到注册的事件发生之后,就可以根据注册的事件处理逻辑执行相应的操作。
其中,所述目标事件指的是待监测的、若发生便会影响任务的工作状态、触发与所述目标事件相应的命令的执行、触发与所述目标事件相应的进程的启动的事件,比如某一对象进入运行状态事件、某一对象进入停止状态事件、某一对象进入休眠状态事件、某一对象进入等待状态事件、某一对象发出特定信号事件、某一对象发生状态改变事件等等。
所述目标事件匹配条件指的是对于所接收到的事件或者待检测事件是否为目标事件的判断条件,比如所述目标事件匹配条件可包括目标事件相关资源的标识信息(Resource ID),事件名称(EventName)等信息。
比如,在对于某一资源设置了事件触发组件之后,若接收到与该资源相关的运行事件,就可执行与该运行事件相关的、所述资源内部的一个指令或命令;若接收到与该资源相关的停止事件,就可执行与该停止事件相关的另一组件的自动启动。
在本发明一实施方式中,所述事件触发组件可以设置为一个也可设置为多个。所述事件触发组件的数量可根据实际应用的需要以及自动化任务的特点进行设置,本公开对其不作具体限定。
在本发明一实施方式中,所述步骤S103,即响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态,并当检测到所述目标事件被触发且所述目标事件匹配条件被满足时,唤醒处于等待状态的自动化任务进入运行状态的步骤,可循环多次执行,直至所述的任务部分都执行完成。
在本发明一实施方式中,所述步骤S101,即获取自动化任务的步骤,包括:
响应于接收到自动化任务执行请求,获取所述自动化任务。
在该实施方式中,由用户等任务请求方发起自动化任务执行请求,并发送相应的自动化任务描述文件,其中,所述自动化任务描述文件用于描述所述自动化任务的组成、所要实现的目的等等。
在本发明一实施方式中,如图2所示,所述步骤S102,即运行所述自动化任务的步骤,包括以下步骤S201-S202:
在步骤S201中,对所述自动化任务进行校验;
在步骤S202中,当所述自动化任务通过所述校验时,根据所述自动化任务进行任务资源配置,运行所述自动化任务。
为了保证所述自动化任务的合法性和有效性,在获取到自动化任务之后,首先对于所述自动化任务进行校验,其中,所述校验可包括合法性校验和有效性校验。之后当所述自动化任务通过所述校验时,再根据所述自动化任务进行任务资源配置,运行所述自动化任务。
在本发明一实施方式中,所述根据所述自动化任务进行任务资源配置,可被实施为:
对于所述自动化任务进行拆分,根据拆分得到的自动化子任务进行任务资源配置。
考虑到所述自动化任务的不同组成部分所针对的资源、相关的执行命令、相关的进程设置,即不同任务组成部分的任务执行逻辑均有可能不同,因此,为了更清晰、更完整、更准确、更有效地执行所述自动化任务,需要首先对其进行拆分,然后再根据拆分得到的自动化子任务进行相应的任务资源配置,后续所述自动化子任务会根据各自的执行逻辑来执行。比如,若拆分得到3个自动化子任务,其中,第一自动化子任务与第一云服务器相关,第二自动化子任务与第二云服务器相关,第三自动化子任务与虚拟服务器相关,则在任务资源配置时,可根据这3个自动化子任务分别对于第一云服务器、第二云服务器和虚拟服务器进行配置,如上文所述,所述配置包括创建、修改、编辑、删除等操作。即在本发明一实施方式中,所述任务资源配置包括以下配置操作中的一种或多种:任务资源创建、任务资源修改、任务资源编辑、任务资源删除。
在本发明一实施方式中,如图3所示,所述步骤S103,即响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态,并当检测到所述目标事件被触发且所述目标事件匹配条件被满足时,唤醒处于等待状态的自动化任务进入运行状态的步骤,包括以下步骤S301-S303:
在步骤S301中,响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态;
在步骤S302中,根据所述事件触发组件向消息队列服务器注册目标事件及相应的目标事件匹配条件,其中,所述目标事件与目标事件匹配条件均与所述事件触发组件相关;
在步骤S303中,响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,唤醒处于等待状态的自动化任务进入运行状态。
为了能够在节约计算资源和存储资源的情况下,快速有效的执行所述自动化任务,需要对于所述自动化任务的触发条件进行及时的反应,因此,在该实施方式中,在所述自动化任务运行之后,若检测到所述自动化任务中存在事件触发组件,则先将正在运行的自动化任务设置为等待状态,根据所述事件触发组件向消息队列服务器注册所述事件触发组件配置的目标事件及相应的目标事件匹配条件;这样当所述目标事件发生后,消息队列服务器就可根据目标事件匹配条件对于接收到的事件进行筛选和过滤,确定所述目标事件,即若所述目标事件被触发且所述目标事件匹配条件被满足,则唤醒处于等待状态的自动化任务重新进入运行状态,按照预先设置的执行逻辑继续运行。
在本发明一实施方式中,如图4所示,所述步骤S303,即响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,唤醒处于等待状态的自动化任务进入运行状态的步骤,包括以下步骤S401-S403:
在步骤S401中,响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,创建所述处于等待状态的自动化任务的关联自动化任务,其中,所述关联自动化任务与处于等待状态的自动化任务内容相同;
在步骤S402中,运行所述关联自动化任务,并映射处于等待状态的自动化任务进入运行状态;
在步骤S403中,响应于所述关联自动化任务运行完成,将所述自动化任务设置为等待状态。
为了保证自动化任务的完整性,提高自动化任务执行的可控性,在该实施方式中,在检测到所述目标事件被触发且所述目标事件匹配条件被满足时,首先根据所述处于等待状态的自动化任务创建与其关联的关联自动化任务,其中,所述关联自动化任务与所述处于等待状态的自动化任务内容相同;然后运行所述关联自动化任务,同时映射所述处于等待状态的自动化任务进入运行状态,此时,所述处于等待状态的自动化任务实际上并未在运行,只是为了对于所述关联自动化任务的运行状态进行映射,以保证与所述关联自动化任务的运行一致性;最后当所述关联自动化任务运行完成之后,再将所述自动化任务重新设置为等待状态,等待下一次目标事件的触发。
在本发明一实施方式中,所述步骤S401-S403可循环多次执行,直至所述自动化任务的所有任务部分都执行完成。
下述为本发明装置实施例,可以用于执行本发明方法实施例。
图5示出根据本发明一实施方式的自动化任务执行装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部,比如可实现为自动化引擎。如图5所示,所述自动化任务执行装置包括:
获取模块501,被配置为获取自动化任务,其中,自动化任务中包括一个或多个事件触发组件,所述事件触发组件配置有目标事件及相应的目标事件匹配条件;
运行模块502,被配置为运行所述自动化任务;
处理模块503,被配置为响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态,并当检测到所述目标事件被触发且所述目标事件匹配条件被满足时,唤醒处于等待状态的自动化任务进入运行状态。
上文提及,随着数据技术的发展,很多用户通过互联网平台和云平台配置自己想要实现的自动化任务。为了给用户提供多样化、可定制的配置服务,很多互联网平台和云平台都可提供一系列原子任务,用户可基于所述原子任务自行编写自动化任务文件。但在实际应用中,很多自动化任务在运行过程中都会遇到等待、阻塞等情况,为了解决该问题,现有技术中通常采用两种解决方案:一,使用while循环语句频繁检测刚刚创建的资源的工作状态;二,将自动化任务分割为多个子任务,通过设置不同的事件机制来触发不同的子任务。但无论哪种方案,均存在浪费计算资源和存储资源的缺点。
考虑到上述问题,在该实施方式中,提出一种自动化任务执行装置,该装置通过设置配置有目标事件及相应的目标事件匹配条件的事件触发组件来控制自动化任务的进程,不需要设置循环语句来监控事件的发生,不需要单独判断事件与命令是否匹配,因此可以大大节省计算资源和存储资源,提高自动化任务运行时间和效率,即使资源需要在不同状态下执行不同的逻辑时,也很容易实现。
在本发明一实施方式中,所述自动化任务指的是由一个或多个原子任务组成,且能够实现一个或多个目的的任务,其中,所述原子任务指的是最小可拆分单元的任务元素,每个原子任务在运行后都可实现一个目的。
在本发明一实施方式中,所述事件触发组件(EventTrigger)可由用户或者开发人员进行编辑,以为所述事件触发组件配置目标事件及相应的目标事件匹配条件,使得当目标事件发生且满足所述目标事件匹配条件时,能够执行相应的动作,比如自动改变任务的工作状态、触发相应命令的执行或者相应进程的启动等等,换句话说,所述事件触发组件相当于是对于所述自动化任务的事件处理逻辑进行注册,后续在检测到注册的事件发生之后,就可以根据注册的事件处理逻辑执行相应的操作。
其中,所述目标事件指的是待监测的、若发生便会影响任务的工作状态、触发与所述目标事件相应的命令的执行、触发与所述目标事件相应的进程的启动的事件,比如某一对象进入运行状态事件、某一对象进入停止状态事件、某一对象进入休眠状态事件、某一对象进入等待状态事件、某一对象发出特定信号事件、某一对象发生状态改变事件等等。
所述目标事件匹配条件指的是对于所接收到的事件或者待检测事件是否为目标事件的判断条件,比如所述目标事件匹配条件可包括目标事件相关资源的标识信息(Resource ID),事件名称(EventName)等信息。
比如,在对于某一资源设置了事件触发组件之后,若接收到与该资源相关的运行事件,就可执行与该运行事件相关的、所述资源内部的一个指令或命令;若接收到与该资源相关的停止事件,就可执行与该停止事件相关的另一组件的自动启动。
在本发明一实施方式中,所述事件触发组件可以设置为一个也可设置为多个。所述事件触发组件的数量可根据实际应用的需要以及自动化任务的特点进行设置,本公开对其不作具体限定。
在本发明一实施方式中,所述处理模块503,可循环多次执行,直至所述的任务部分都执行完成。
在本发明一实施方式中,所述获取模块501被配置为:
响应于接收到自动化任务执行请求,获取所述自动化任务。
在该实施方式中,由用户等任务请求方发起自动化任务执行请求,并发送相应的自动化任务描述文件,其中,所述自动化任务描述文件用于描述所述自动化任务的组成、所要实现的目的等等。
在本发明一实施方式中,如图6所示,所述运行模块502包括:
校验子模块601,被配置为对所述自动化任务进行校验;
第一运行子模块602,被配置为当所述自动化任务通过所述校验时,根据所述自动化任务进行任务资源配置,运行所述自动化任务。
为了保证所述自动化任务的合法性和有效性,在获取到自动化任务之后,校验子模块601对于所述自动化任务进行校验,其中,所述校验可包括合法性校验和有效性校验。当所述自动化任务通过所述校验时,第一运行子模块602再根据所述自动化任务进行任务资源配置,运行所述自动化任务。
在本发明一实施方式中,所述第一运行子模块602可被配置为:
对于所述自动化任务进行拆分,根据拆分得到的自动化子任务进行任务资源配置。
考虑到所述自动化任务的不同组成部分所针对的资源、相关的执行命令、相关的进程设置,即不同任务组成部分的任务执行逻辑均有可能不同,因此,为了更清晰、更完整、更准确、更有效地执行所述自动化任务,所述第一运行子模块602需要首先对自动化任务进行拆分,然后再根据拆分得到的自动化子任务进行相应的任务资源配置,后续所述自动化子任务会根据各自的执行逻辑来执行。比如,若拆分得到3个自动化子任务,其中,第一自动化子任务与第一云服务器相关,第二自动化子任务与第二云服务器相关,第三自动化子任务与虚拟服务器相关,则在任务资源配置时,可根据这3个自动化子任务分别对于第一云服务器、第二云服务器和虚拟服务器进行配置,如上文所述,所述配置包括创建、修改、编辑、删除等操作。即在本发明一实施方式中,所述任务资源配置包括以下配置操作中的一种或多种:任务资源创建、任务资源修改、任务资源编辑、任务资源删除。
在本发明一实施方式中,如图7所示,所述处理模块503包括:
第一设置子模块701,被配置为响应于检测到所述自动化任务中的事件触发组件,将正在运行的自动化任务设置为等待状态;
注册子模块702,被配置为根据所述事件触发组件向消息队列服务器注册目标事件及相应的目标事件匹配条件,其中,所述目标事件与目标事件匹配条件均与所述事件触发组件相关;
唤醒子模块703,被配置为响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,唤醒处于等待状态的自动化任务进入运行状态。
为了能够在节约计算资源和存储资源的情况下,快速有效的执行所述自动化任务,需要对于所述自动化任务的触发条件进行及时的反应,因此,在该实施方式中,在所述自动化任务运行之后,若检测到所述自动化任务中存在事件触发组件,则先将正在运行的自动化任务设置为等待状态,根据所述事件触发组件向消息队列服务器注册所述事件触发组件配置的目标事件及相应的目标事件匹配条件;这样当所述目标事件发生后,消息队列服务器就可根据目标事件匹配条件对于接收到的事件进行筛选和过滤,确定所述目标事件,即若所述目标事件被触发且所述目标事件匹配条件被满足,则唤醒处于等待状态的自动化任务重新进入运行状态,按照预先设置的执行逻辑继续运行。
在本发明一实施方式中,所述消息队列服务器从另一组件事件监控组件接收事件数据,即某一事件被触发之后,相应的触发事件会经由事件监控组件推送给消息队列服务器,再由消息队列服务器根据预先注册的目标事件及相应的目标事件匹配条件对于目标事件进行筛选,最后将筛选得到的目标事件发送给自动化引擎。
在本发明一实施方式中,如图8所示,所述唤醒子模块703包括:
创建子模块801,被配置为响应于检测到所述目标事件被触发且所述目标事件匹配条件被满足,创建所述处于等待状态的自动化任务的关联自动化任务,其中,所述关联自动化任务与处于等待状态的自动化任务内容相同;
第二运行子模块802,被配置为运行所述关联自动化任务,并映射处于等待状态的自动化任务进入运行状态;
第二设置子模块803,被配置为响应于所述关联自动化任务运行完成,将所述自动化任务设置为等待状态。
为了保证自动化任务的完整性,提高自动化任务执行的可控性,在该实施方式中,在检测到所述目标事件被触发且所述目标事件匹配条件被满足时,创建子模块801根据所述处于等待状态的自动化任务创建与其关联的关联自动化任务,其中,所述关联自动化任务与所述处于等待状态的自动化任务内容相同;第二运行子模块802运行所述关联自动化任务,同时映射所述处于等待状态的自动化任务进入运行状态,此时,所述处于等待状态的自动化任务实际上并未在运行,只是为了对于所述关联自动化任务的运行状态进行映射,以保证与所述关联自动化任务的运行一致性;第二设置子模块803当所述关联自动化任务运行完成之后,再将所述自动化任务重新设置为等待状态,等待下一次目标事件的触发。
在本发明一实施方式中,所述装置801-803可循环配置,直至所述自动化任务的所有任务部分都执行完成。
本发明实施例还公开了一种电子设备,图9示出根据本发明一实施方式的电子设备的结构框图,如图9所示,所述电子设备900包括存储器901和处理器902;其中,
所述存储器901用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器902执行以实现上述任一方法步骤。
图10适于用来实现根据本发明实施方式的自动化任务执行方法的计算机系统的结构示意图。
如图10所示,计算机系统1000包括处理单元1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行上述实施方式中的各种处理。在RAM1003中,还存储有系统1000操作所需的各种程序和数据。处理单元1001、ROM1002以及RAM1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。其中,所述处理单元1001可实现为CPU、GPU、FPGA、NPU等处理单元。
特别地,根据本发明的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本发明的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述自动化任务执行方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。
附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明实施例的方法。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。