多渠道广告前端任务的同步执行控制方法、装置及设备制造方法及图纸

技术编号:37722003 阅读:12 留言:0更新日期:2023-06-02 00:21
本申请涉及一种多渠道广告前端任务的同步执行控制方法、装置及设备,该方法通过根据优先级从消息队列中获取待执行分片任务,实现任务的分布式调用;之后通过线程池的动态数据确定执行线程,并基于执行线程的任务执行参数确定是否执行待分片任务,从而实现超过执行线程的接口请求上限频率将不再调用或者推迟调用,降低接口调用失败概率,提高分片任务执行的成功率和数据同步效率,确保数据的实时性,也保证不同分片任务根据优先级进行优先处理,解决了现有广告媒体接口调用频繁而超过接口限制,导致接口调用失败率高和数据时效性低的技术问题。技术问题。技术问题。

【技术实现步骤摘要】
多渠道广告前端任务的同步执行控制方法、装置及设备


[0001]本申请涉及数据处理
,尤其涉及一种多渠道广告前端任务的同步执行控制方法、装置及设备。

技术介绍

[0002]作为广告投放平台,随着业务的快速发展,广告投放需求量的增加,对接的投放广告媒体也越来越多。对于日常数据查看与投放效果分析需求,需要从不同的投放媒体进行数据的采集,同时需要保证数据采集的正确性和实时性。
[0003]现有的数据同步方法采用的方案是通过定时任务,对每个投放广告平台的每个账户,对于不同的业务数据,简单地定时触发调用媒体的接口拉取数据。然而此数据同步方法并没有对同步任务的状态进行完整的生命周期跟踪和回溯,任务是否完整执行也无从知晓。此数据同步方法对于大批量的数据接口,还有可能导致服务的不稳定执行,执行效率低,也会影响到其他业务的执行。

技术实现思路

[0004]本申请实施例提供了一种多渠道广告前端任务的同步执行控制方法、装置及设备,用于解决现有广告媒体接口调用频繁而超过接口限制,导致接口调用失败率高和数据时效性低的技术问题。
[0005]为了实现上述目的,本申请实施例提供如下技术方案:
[0006]一种多渠道广告前端任务的同步执行控制方法,包括以下步骤:
[0007]获取多渠道广告前端的同步任务,将所述同步任务拆分成若干具有优先级的分片任务;
[0008]对每个所述分片任务进行有效性规则校验,以及将校验后的每个所述分片任务投递至消息队列;
[0009]按优先级从所述消息队列中获取待执行分片任务并传送至线程池,以及基于线程池的动态数据确定是否存在与所述待执行分片任务对应的执行线程;
[0010]若线程池存在与所述待执行分片任务对应的执行线程,获取所述执行线程的任务执行参数,并根据所述任务执行参数确定所述待执行分片任务是否被所述执行线程执行;
[0011]若所述待执行分片任务被所述执行线程执行,获取所述待执行分片任务的任务生命周期数据,并根据所述任务生命周期数据进行告警。
[0012]在一种实现方式中,所述基于线程池的动态数据确定是否存在与所述待执行分片任务对应的执行线程包括:
[0013]获取线程池的动态数据,所述动态数据包括活跃线程数量、最大线程数量、等待执行的任务数量和配置的线程池队列最大长度;
[0014]根据所述动态数据采用第一计算公式计算,得到未执行任务的剩余线程数量,若所述剩余线程数量大于0,则所述线程池中存在与所述待执行分片任务对应的执行线程;
[0015]其中,所述第一计算公式为:l=m+q

n

s,n为活跃线程数量,m为最大线程数量,s为等待执行的任务数量,q为配置的线程池队列最大长度,l为未执行任务的剩余线程数量。
[0016]在一种实现方式中,该多渠道广告前端任务的同步执行控制方法还包括:若线程池中不存在与所述待执行分片任务对应的执行线程,将所述待执行分片任务重新投掷至所述消息队列。
[0017]在一种实现方式中,所述根据所述任务执行参数确定所述待执行分片任务是否被所述执行线程执行包括:
[0018]根据所述任务执行参数的被调用总次数与其请求上限次数比较,得到该执行线程的接口请求上限结果;
[0019]若所述接口请求上限结果为执行线程的接口没有达到请求上限,则所述待执行分片任务被所述执行线程执行。
[0020]在一种实现方式中,该多渠道广告前端任务的同步执行控制方法还包括:
[0021]若所述接口请求上限结果为执行线程的接口达到请求上限,则所述待执行分片任务不会被所述执行线程执行;并根据该执行线程是否中止操作,将该执行分片任务存放至所述消息队列或数据库。
[0022]在一种实现方式中,所述将所述同步任务拆分成若干具有优先级的分片任务包括:
[0023]根据时间、账户、分页和/或记录索引,将所述同步任务拆分成若干具有优先级的分片任务。
[0024]在一种实现方式中,所述任务生命周期数据包括任务超时完成、任务异常终止、任务堆积、超时未处理任务和/或处理超时任务;
[0025]所述根据所述任务生命周期数据进行告警包括:
[0026]根据所述任务生命周期数据为任务超时完成、任务异常终止和/或任务堆积,则根据所述任务生命周期数据产生相应的告警信息;
[0027]和/或
[0028]当根据所述任务生命周期数据为超时未处理任务或处理超时任务,则将对应的分片任务重新投递至所述消息队列,并产生重新执行的告警信息。
[0029]本申请还提供一种多渠道广告前端任务的同步执行控制装置,包括任务获取模块、校验模块、执行线程获取模块、执行确认模块和执行告警模块;
[0030]所述任务获取模块,用于获取多渠道广告前端的同步任务,将所述同步任务拆分成若干具有优先级的分片任务;
[0031]所述校验模块,用于对每个所述分片任务进行有效性规则校验,以及将校验后的每个所述分片任务投递至消息队列;
[0032]所述执行线程获取模块,用于按优先级从所述消息队列中获取待执行分片任务并传送至线程池,以及基于线程池的动态数据确定是否存在与所述待执行分片任务对应的执行线程;
[0033]所述执行确认模块,用于根据线程池存在与所述待执行分片任务对应的执行线程,获取所述执行线程的任务执行参数,并根据所述任务执行参数确定所述待执行分片任务是否被所述执行线程执行;
[0034]所述执行告警模块,用于根据所述待执行分片任务被所述执行线程执行,获取所述待执行分片任务的任务生命周期数据,并根据所述任务生命周期数据进行告警。
[0035]在一种实现方式中,所述执行线程获取模块还用于:
[0036]获取线程池的动态数据,所述动态数据包括活跃线程数量、最大线程数量、等待执行的任务数量和配置的线程池队列最大长度;根据所述动态数据采用第一计算公式计算,得到未执行任务的剩余线程数量;若所述剩余线程数量大于0,则所述线程池中存在与所述待执行分片任务对应的执行线程;其中,所述第一计算公式为:l=m+q

n

s,n为活跃线程数量,m为最大线程数量,s为等待执行的任务数量,q为配置的线程池队列最大长度,l为未执行任务的剩余线程数量。
[0037]本申请还提供一种终端设备,包括处理器以及存储器;
[0038]所述存储器,用于存储程序代码,并将所述程序代码传输给所述处理器;
[0039]所述处理器,用于根据所述程序代码中的指令执行上述所述的多渠道广告前端任务的同步执行控制方法。
[0040]从以上技术方案可以看出,本申请实施例具有以下优点:该多渠道广告前端任务的同步执行控制方法、装置及设备,该方法包括获取多渠道广告前端的同步任务,将所述同步任务拆分成若干具有优先级的分片任务;对每个所述分片任务进行有效性规则校验,以及将校验后的每个分片任务投递至消息队本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多渠道广告前端任务的同步执行控制方法,其特征在于,包括以下步骤:获取多渠道广告前端的同步任务,将所述同步任务拆分成若干具有优先级的分片任务;对每个所述分片任务进行有效性规则校验,以及将校验后的每个所述分片任务投递至消息队列;按优先级从所述消息队列中获取待执行分片任务并传送至线程池,以及基于线程池的动态数据确定是否存在与所述待执行分片任务对应的执行线程;若线程池存在与所述待执行分片任务对应的执行线程,获取所述执行线程的任务执行参数,并根据所述任务执行参数确定所述待执行分片任务是否被所述执行线程执行;若所述待执行分片任务被所述执行线程执行,获取所述待执行分片任务的任务生命周期数据,并根据所述任务生命周期数据进行告警。2.根据权利要求1所述的多渠道广告前端任务的同步执行控制方法,其特征在于,所述基于线程池的动态数据确定是否存在与所述待执行分片任务对应的执行线程包括:获取线程池的动态数据,所述动态数据包括活跃线程数量、最大线程数量、等待执行的任务数量和配置的线程池队列最大长度;根据所述动态数据采用第一计算公式计算,得到未执行任务的剩余线程数量,若所述剩余线程数量大于0,则所述线程池中存在与所述待执行分片任务对应的执行线程;其中,所述第一计算公式为:l=m+q

n

s,n为活跃线程数量,m为最大线程数量,s为等待执行的任务数量,q为配置的线程池队列最大长度,l为未执行任务的剩余线程数量。3.根据权利要求1所述的多渠道广告前端任务的同步执行控制方法,其特征在于,还包括:若线程池中不存在与所述待执行分片任务对应的执行线程,将所述待执行分片任务重新投掷至所述消息队列。4.根据权利要求1所述的多渠道广告前端任务的同步执行控制方法,其特征在于,所述根据所述任务执行参数确定所述待执行分片任务是否被所述执行线程执行包括:根据所述任务执行参数的被调用总次数与其请求上限次数比较,得到该执行线程的接口请求上限结果;若所述接口请求上限结果为执行线程的接口没有达到请求上限,则所述待执行分片任务被所述执行线程执行。5.根据权利要求4所述的多渠道广告前端任务的同步执行控制方法,其特征在于,还包括:若所述接口请求上限结果为执行线程的接口达到请求上限,则所述待执行分片任务不会被所述执行线程执行;并根据该执行线程是否中止操作,将该执行分片任务存放至所述消息队列或数据库。6.根据权利要求1所述的多渠道广告前端任务的同步执行控制方法,其特征在于,所述将所述同步任务拆分成若干具有优先级的分片任务包括:根据时间、账户、分页和/或记录...

【专利技术属性】
技术研发人员:蓝梦喜唐青椿袁业航张毅
申请(专利权)人:广州趣研网络科技有限公司
类型:发明
国别省市:

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

1