一种自动化营销系统分布式任务调度的实现方法技术方案

技术编号:27058913 阅读:24 留言:0更新日期:2021-01-15 14:38
本发明专利技术公开了一种自动化营销系统分布式任务调度的实现方法,涉及计算机DAG分布式任务调度管理技术领域;包括Task‑Schedule和Task‑Executor,所述Task‑Schedule基于DAG有向无环图的数据结构来动态维护任务之间的调用链关系,所述Task‑Executor实现执行任务的分布式调度,其内设置有开始节点、筛选节点、延时节点、执行节点和结束节点。本发明专利技术通过拆分为Task‑Schedule和Task‑Executor两个子项目,其中Task‑Schedule基于DAG有向无环图的数据结构来动态维护任务之间的调用链关系,实现了任务与调度的接口,增加了灵活性。

【技术实现步骤摘要】
一种自动化营销系统分布式任务调度的实现方法
本专利技术涉及计算机DAG分布式任务调度管理
,尤其涉及一种自动化营销系统分布式任务调度的实现方法。
技术介绍
随着企业业务规模的发展,系统设计的架构也逐渐由传统的单服务一体化架构向微服务分布式架构演进,任务之间的依赖关系也逐渐复杂,如果才用传统的自身系统中调度的方式来管理任务,一方面增加了任务与本身系统之间逻辑的耦合度,不利于扩展,另一方面也不利于任务之间复杂关系的维护。Elastic-Job当前开源方案解决分布式任务调度问题中比较常用的框架之一,基于Zookeeper、Quartz实现,包含Elastic-Job-Lite和Elastic-Job-Cloud两个独立的子项目,使用jar包的形式提供分布式任务的协调服务,实现包含作业分片、弹性扩容、失效转移、并发调度等功能。但是包括Elastic-Job在内的大部分分布式任务调度框架目前只关系调度本身的内容,但没有办法解决任务之间的依赖关系,交由要发者自己在业务中维护,比如两个独立的任务:发放卡券A和发放卡券B,要想实现发放卡券A三天之后发放卡券B这种任务,只能重新编写一个组合任务并实现延时逻辑,无法实现动态任务组合和实时调整,无法适应当前多变的营销需求。
技术实现思路
本专利技术的目的是为了解决现有技术中存在的缺点,而提出的一种自动化营销系统分布式任务调度的实现方法。为了实现上述目的,本专利技术采用了如下技术方案:一种自动化营销系统分布式任务调度的实现方法,包括Task-Schedule和Task-Executor,所述Task-Schedule基于DAG有向无环图的数据结构来动态维护任务之间的调用链关系,所述Task-Executor实现执行任务的分布式调度,其内设置有开始节点、筛选节点、延时节点、执行节点和结束节点,该自动化营销系统分布式任务调度的实现方法具体步骤如下:S1:Task-Schedule触发任务执行,开始检索开始节点,并记录执行日志;S2:查询开始节点后的执行节点,通过执行策略分配执行器调用注册的任务进行异步任务执行触发;S3:任务执行完成后再通知执行器进行下一步操作。优选地:所述S2中,执行策略包括轮训、随机、LRU和LFU。优选地:所述S3中,执行器本身也维护了一个定时任务轮训获取任务的执行状态,一旦任务执行失败,则所有子节点的任务都将跳过执行,并且调度器支持暂停功能,暂停后没有执行的节点支持重新编辑操作。优选地:所述S3中,执行中的任务如果发现配置错误,也可以进行中断。优选地:所述开始节点负责标识任务的开始,并且整个流程只能有一个开始节点。优选地:所述筛选节点负责为执行节点进行执行结果集筛选。优选地:所述延时节点负责提供延时执行功能。优选地:所述执行节点负责抽象任务执行,调用具体业务执行器。优选地:所述结束节点负责标识任务流程结束。本专利技术的有益效果为:1.本专利技术通过拆分为Task-Schedule和Task-Executor两个子项目,其中Task-Schedule基于DAG有向无环图的数据结构来动态维护任务之间的调用链关系,Task-Executor项目在现有比较成熟的分布式任务调度方案的基础上,进行改进和封装,实现执行任务的分布式调度,调用方只需要实现自己业务的查询任务和执行任务,整体任务的组合和调度交由调度系统来处理,实现了任务与调度的接口,增加了灵活性。附图说明图1为本专利技术提出的一种自动化营销系统分布式任务调度的实现方法中的工作流程结构示意图;具体实施方式下面结合具体实施方式对本专利的技术方案作进一步详细地说明。在本专利的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“设置”应做广义理解,例如,可以是固定相连、设置,也可以是可拆卸连接、设置,或一体地连接、设置。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利中的具体含义。实施例1:一种自动化营销系统分布式任务调度的实现方法,包括Task-Schedule和Task-Executor,所述Task-Schedule基于DAG有向无环图的数据结构来动态维护任务之间的调用链关系,所述Task-Executor实现执行任务的分布式调度,其内设置有开始节点、筛选节点、延时节点、执行节点和结束节点,该自动化营销系统分布式任务调度的实现方法具体步骤如下:S1:Task-Schedule触发任务执行,开始检索开始节点,并记录执行日志;S2:查询开始节点后的执行节点,通过执行策略分配执行器调用注册的任务进行异步任务执行触发;S3:任务执行完成后再通知执行器进行下一步操作。所述S2中,执行策略包括轮训、随机、LRU和LFU。所述S3中,执行器本身也维护了一个定时任务轮训获取任务的执行状态,一旦任务执行失败,则所有子节点的任务都将跳过执行,并且调度器支持暂停功能,暂停后没有执行的节点支持重新编辑操作。所述S3中,执行中的任务如果发现配置错误,也可以进行中断。实施例2:一种自动化营销系统分布式任务调度的实现方法,包括Task-Schedule和Task-Executor,所述Task-Schedule基于DAG有向无环图的数据结构来动态维护任务之间的调用链关系,所述Task-Executor实现执行任务的分布式调度,其内设置有开始节点、筛选节点、延时节点、执行节点和结束节点,该自动化营销系统分布式任务调度的实现方法具体步骤如下:S1:Task-Schedule触发任务执行,开始检索开始节点,并记录执行日志;S2:查询开始节点后的执行节点,通过执行策略分配执行器调用注册的任务进行异步任务执行触发;S3:任务执行完成后再通知执行器进行下一步操作。所述S2中,执行策略包括轮训、随机、LRU和LFU。所述S3中,执行器本身也维护了一个定时任务轮训获取任务的执行状态,一旦任务执行失败,则所有子节点的任务都将跳过执行,并且调度器支持暂停功能,暂停后没有执行的节点支持重新编辑操作。所述S3中,执行中的任务如果发现配置错误,也可以进行中断。所述开始节点负责标识任务的开始,并且整个流程只能有一个开始节点。所述筛选节点负责为执行节点进行执行结果集筛选。所述延时节点负责提供延时执行功能。所述执行节点负责抽象任务执行,调用具体业务执行器。所述结束节点负责标识任务流程结束。以上所述,仅为本专利技术较佳的具体实施方式,但本专利技术的保护范围并不局限于此,任何熟悉本
的技术人员在本专利技术揭露的技术范围内,根据本专利技术的技术方案及其专利技术构思加以等同替换或改变,都应涵盖在本专利技术的保护范围之内。本文档来自技高网
...

【技术保护点】
1.一种自动化营销系统分布式任务调度的实现方法,其特征在于,包括Task-Schedule和Task-Executor,所述Task-Schedule基于DAG有向无环图的数据结构来动态维护任务之间的调用链关系,所述Task-Executor实现执行任务的分布式调度,其内设置有开始节点、筛选节点、延时节点、执行节点和结束节点,该自动化营销系统分布式任务调度的实现方法具体步骤如下:/nS1:Task-Schedule触发任务执行,开始检索开始节点,并记录执行日志;/nS2:查询开始节点后的执行节点,通过执行策略分配执行器调用注册的任务进行异步任务执行触发;/nS3:任务执行完成后再通知执行器进行下一步操作。/n

【技术特征摘要】
1.一种自动化营销系统分布式任务调度的实现方法,其特征在于,包括Task-Schedule和Task-Executor,所述Task-Schedule基于DAG有向无环图的数据结构来动态维护任务之间的调用链关系,所述Task-Executor实现执行任务的分布式调度,其内设置有开始节点、筛选节点、延时节点、执行节点和结束节点,该自动化营销系统分布式任务调度的实现方法具体步骤如下:
S1:Task-Schedule触发任务执行,开始检索开始节点,并记录执行日志;
S2:查询开始节点后的执行节点,通过执行策略分配执行器调用注册的任务进行异步任务执行触发;
S3:任务执行完成后再通知执行器进行下一步操作。


2.根据权利要求1所述的一种自动化营销系统分布式任务调度的实现方法,其特征在于,所述S2中,执行策略包括轮训、随机、LRU和LFU。


3.根据权利要求1所述的一种自动化营销系统分布式任务调度的实现方法,其特征在于,所述S3中,执行器本身也维护了一个定时任务轮训获取任务的执行状态,一旦任务执行失败,则所有子节点的任务...

【专利技术属性】
技术研发人员:吴超越
申请(专利权)人:上海容易网电子商务股份有限公司
类型:发明
国别省市:上海;31

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

1