一种分布式营销大数据计算任务调度方法及系统技术方案

技术编号:37117531 阅读:20 留言:0更新日期:2023-04-01 05:12
本发明专利技术提供了一种分布式营销大数据计算任务调度方法及系统。分布式营销大数据计算任务调度方法包括:步骤S1:执行器通过发送心跳指令的方式动态注册到调度器集群,从而使调度器集群发现可用执行器并将可用执行器名单更新到业务数据库中的可用执行器列表中;步骤S2:调度器集群中的部分或全部分别同时向业务数据库请求全局锁,仅有其中一个调度器获得业务数据库分配的全局锁;步骤S3:获得全局锁的调度器从可用执行器列表中选择一个或多个执行器并分发任务;步骤S4:调度器集群回收任务执行状态并将任务执行状态更新到分析数据库中。本系统中的调度器和执行器以集群方式分布式部署,能够应对高并发量的任务同时调度,从而保证高可用性。而保证高可用性。而保证高可用性。

【技术实现步骤摘要】
一种分布式营销大数据计算任务调度方法及系统


[0001]本专利技术涉及数字化营销及大数据计算领域。

技术介绍

[0002]随着技术的不断成熟,大数据计算已经深入运用于各个行业及业务
,其中丰富的人群数据是数字化营销最重要的资产。如何能把人群大数据计算高效准确地加工计算是数字化营销成功的重要一环。但是人群数据量是海量的。单个品牌的用户数量少则几百万上千万,多则上亿;每个用户的订单、行为数据更是要乘以几十倍上百倍的规模。每天要如何在有效时间内导入、加工存储、并利用这些海量数据做营销决策、分析、触达,涉及到大量任务的高效调度和协作。这就需要有一个高效的任务调度系统来协调任务的有序运行,但目前市面上缺少现成的能够完成营销大数据计算整个链路的任务调度系统。

技术实现思路

[0003]为了克服上述技术缺陷,本专利技术的第一个方面提供一种分布式营销大数据计算任务调度方法,其包括:
[0004]步骤S1:执行器通过发送心跳指令的方式动态注册到调度器集群,从而使调度器集群发现可用执行器并将可用执行器名单更新到业务数据库中的可用执行器列表中,同时将若干执行器中的超时没有心跳的执行器从可用执行器列表中删除;
[0005]步骤S2:调度器集群中的部分或全部分别同时向业务数据库请求全局锁,仅有其中一个调度器获得业务数据库分配的全局锁;
[0006]步骤S3:获得全局锁的调度器从可用执行器列表中选择一个或多个执行器,并向该一个或多个执行器分发任务;
[0007]步骤S4:调度器集群回收任务执行状态并将任务执行状态更新到分析数据库中。
[0008]进一步地,在步骤S3中,获得全局锁的调度器从可用执行器列表中选择一个或多个执行器的方式为顺序、随机、或者按负载比例顺序/随机。
[0009]进一步地,在步骤S3中,获得全局锁的调度器按照有向无环图的逻辑分发任务,并智能检测任务运行依赖关系中是否有环。
[0010]进一步地,在步骤S4中,调度器集群通过配置开关来控制使用kafka方式或者redis方式回收任务执行状态。
[0011]进一步地,分布式营销大数据计算任务调度方法进一步包括步骤:通过轮询方式监控营销大数据计算,当出现异常情况时,发出异常报警并发送给监控平台。
[0012]本申请的第二个方面提供一种分布式营销大数据计算任务调度系统,其包括:
[0013]业务数据库,所述业务数据库用于存储可用执行器列表,还用于向调度器分配全局锁;
[0014]执行器,所述执行器用于向调度器集群发送心跳指令,
[0015]调度器集群,所述调度器集群用于将接收到心跳指令对应的执行器标记为可用执
行器,并将可用执行器名单更新到业务数据库中的可用执行器列表中,同时将若干执行器中的超时没有心跳的执行器从可用执行器列表中删除;还用于部分或全部分别同时向业务数据库请求全局锁,仅有其中一个调度器获得业务数据库分配的全局锁;获得全局锁的调度器用于从可用执行器列表中选择一个或多个执行器,并向该一个或多个执行器分发任务;还用于回收任务执行状态并将任务执行状态更新到分析数据库中;
[0016]分析数据库,所述分析数据库用于接收并存储任务执行状态。
[0017]进一步地,获得全局锁的调度器用于从可用执行器列表中选择一个或多个执行器的方式为顺序、随机、或者按负载比例顺序/随机。
[0018]进一步地,获得全局锁的调度器用于按照有向无环图的逻辑分发任务,并智能检测任务运行依赖关系中是否有环。
[0019]进一步地,所述调度器集群用于通过配置开关来控制使用kafka方式或者redis方式回收任务执行状态。
[0020]进一步地,分布式营销大数据计算任务调度系统进一步包括监控模块和报警模块,所述监控模块通过轮询方式监控营销大数据计算,所述报警模块用于当出现异常情况时发出异常报警并发送给监控平台。
[0021]采用了上述技术方案后,与现有技术相比,具有以下有益效果:
[0022]本专利提出的这个营销大数据分布式调度系统,是以集群方式分布式部署,调度器和执行器分离,能够应对高并发量的任务同时调度,从而保证高可用性;并能以有向无环图的形式编排整个营销大数据计算任务组,并能有效检测任务依赖中的“环”;在运行过程中,能及时智能感知上一个任务的完成状态并触发下游依赖的任务;有多样化的任务触发方式;能对数据的计算过程进行监控和报警。支持各种异常处理:超时控制、重试、以及出错后的任务恢复。从而完成整个营销数据从数据导入、身份计算、标签群组计算、直到数据输出的整个数字化营销客户大数据处理过程。
附图说明
[0023]图1营销大数据计算任务组流程示意图;
[0024]图2为分布式营销大数据计算任务调度系统的部署架构图;
[0025]图3为分布式营销大数据计算任务调度系统中的调度器和执行器分布式部署和协作及高可用设计原理图;
[0026]图4为有向无环图的编排示意图;
[0027]图5为有向无环图的编排示意图;
[0028]图6为任务运行依赖关系中是否有环的检测原理示意图。
具体实施方式
[0029]以下结合附图与具体实施例进一步阐述本专利技术的优点。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本专利技术的保护范围。
[0030]本实施例以图1所示的营销大数据计算任务组流程为例,营销大数据的整个数字化过程包含数据的导入、数据的加工、身份计算、标签群组计算以及数据的输出这些相互依赖的任务组。这些相互依赖的任务组的每一个任务的顺利执行都需要有序的任务调度。
[0031]如图2所示,本实施例提供一套完整的任务调度系统,本实施例的分布式营销大数据计算任务调度系统包括:业务数据库、分析数据库、执行器、调度器集群、监控模块和报警模块。该分布式营销大数据计算任务调度系统连接于大数据资源管理平台(例如kyuubi)和大数据平台(例如yarn)。
[0032]如图3所示,采用上述系统进行任务调度的方法如步骤1

步骤5:
[0033]步骤1:执行器通过发送心跳指令的方式动态注册到调度器集群,从而使调度器集群发现可用执行器并将可用执行器名单更新到业务数据库中的可用执行器列表中,同时将若干执行器中的超时没有心跳的执行器从可用执行器列表中删除。
[0034]所有执行器中的在线执行器能够向调度器集群发送心跳指令。调度器集群将接收到心跳指令对应的执行器标记为可用执行器,并将可用执行器的名单更新到业务数据库中的可用执行器列表中,同时将执行器中的超时没有心跳的执行器(即不在线的不可用执行器)名单从可用执行器列表中删除,被添加到不可用执行器列表记录中。具体地,存储于业务数据库中的执行器列表记录包含“可用执行器列表记录”和“不可用执行器列表记录”。可用执行器列表和不可用执行器列表中的执行器记录是动态更新的。
[0035]步骤2:调度器集群中的部分或全部本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式营销大数据计算任务调度方法,其特征在于,包括:步骤S1:执行器通过发送心跳指令的方式动态注册到调度器集群,从而使调度器集群发现可用执行器并将可用执行器名单更新到业务数据库中的可用执行器列表中,同时将若干执行器中的超时没有心跳的执行器从可用执行器列表中删除;步骤S2:调度器集群中的部分或全部分别同时向业务数据库请求全局锁,仅有其中一个调度器获得业务数据库分配的全局锁;步骤S3:获得全局锁的调度器从可用执行器列表中选择一个或多个执行器,并向该一个或多个执行器分发任务;步骤S4:调度器集群回收任务执行状态并将任务执行状态更新到分析数据库中。2.如权利要求1所述的分布式营销大数据计算任务调度方法,其特征在于,在步骤S3中,获得全局锁的调度器从可用执行器列表中选择一个或多个执行器的方式为顺序、随机、或者按负载比例顺序/随机。3.如权利要求1所述的分布式营销大数据计算任务调度方法,其特征在于,在步骤S3中,获得全局锁的调度器按照有向无环图的逻辑分发任务,并智能检测任务运行依赖关系中是否有环。4.如权利要求1所述的分布式营销大数据计算任务调度方法,其特征在于,在步骤S4中,调度器集群通过配置开关来控制使用kafka方式或者redis方式回收任务执行状态。5.如权利要求1所述的分布式营销大数据计算任务调度方法,其特征在于,进一步包括步骤:通过轮询方式监控营销大数据计算,当出现异常情况时,发出异常报警并发送给监控平台。6.一种分布式营销大数据计算任务调度系统,其特征在于,包括:业务数据库,所述业务数据...

【专利技术属性】
技术研发人员:周巍
申请(专利权)人:上海欣兆阳信息科技有限公司
类型:发明
国别省市:

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

1