[发明专利]基于延时队列的分布式任务轮询的方法在审

专利信息
申请号: 201910550710.4 申请日: 2019-06-24
公开(公告)号: CN110262910A 公开(公告)日: 2019-09-20
发明(设计)人: 李家鹏 申请(专利权)人: 四川新网银行股份有限公司
主分类号: G06F9/54 分类号: G06F9/54
代理公司: 成都智言知识产权代理有限公司 51282 代理人: 濮云杉
地址: 610094 四川省成都市成都*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 轮询 队列 业务数据 延时 读取 分布式调度 队列消息 轮询请求 时间结束 数据分组 数据重复 系统处理 消息队列 扩展性 复杂度 相等 延迟 过期 投递 时机 退出 转换 服务
【说明书】:

发明涉及基于延时队列的分布式任务轮询的方法,包括:A.根据消息队列的消息过期与死信投递机制,建立业务延时队列;B.在微服务中建立用于接收任务轮询请求的任务轮询队列;C.将需要轮询的业务数据转换为队列消息,并将其投入到所述的业务延时队列中,在指定的延迟时间结束后,将所述需要轮询的业务数据自动投入到所述的任务轮询队列中;D.由系统处理任务轮询队列中的业务数据,并根据处理结果判断业务数据是否退出任务轮询队列。本发明能够使每个任务的执行间隔相等,任务的处理时机相对公平,并且在不采用数据分组方式的情况下,解决了数据重复读取的问题,减少了分布式调度程序的复杂度,同时具有良好的扩展性。

技术领域

本发明涉及分布式任务调度的方法,具体的讲是基于延时队列的分布式任务轮询的方法。

背景技术

微服务架构是一项在云中部署应用和服务的新技术,微服务的架构模式在互联网分布式技术领域已经逐步占据主流地位。在将应用模块拆分成微服务后,每个微服务在做高可用 (High Availability)部署时,必须是无状态的,这样才能方便扩展。而调度作业程序除了是无状态的以外,在做高可用分布式部署的时候,还要解决在执行某个作业时,多份程序同时从一个数据库中抽取某个状态的数据时,数据重复的问题。常用的任务调度机制不再适用于分布式场景,如何优雅、低开销的实现分布式场景下的任务轮询,直接决定了一个分布式系统将来的可扩展性。

在现有的一些微服务任务轮询技术中,常采用将数据库数据分组的方式来解决不再重复读取数据的问题。但在一些只需要轮询业务结果状态的任务中,使用数据库分组轮询技术就显的比较笨重。例如:在一个支付系统的场景中,支付的结果状态存在三种,交易处理中、交易已完成、交易失败,任何一个交易请求都可能返回交易处理中,而且返回结果的时间是不可预估的,我们需要将支付的最终结果推送给上游系统,常用的解决方案是设计一个定时轮询的作业来查询最终的支付结果,并返回给上游。在分布式场景下,每一个分布式调度作业,都需要先根据ID取模等于某个数字,且状态是处理中的条件来读取数据,比如调度作业 A读取数据的取模规则为模数等于1,调度作业B的取模规则为模数等于2,这样就避免了重复读取同一份数据的问题。

这个方案可行,但存在很大的局限性。首先,程序本身不够灵活,在程序开发时需要先开发一套针对调度的配置规则,在程序部署时,运维人员必须要了解并修改一个任务的调度配置规则才可以部署,这将不利于自动化部署,且增加了额外的学习成本。第二,定时作业由于读取数据时,采用了一个固定的周期来执行,任务粒度过粗,没有根据每一个任务的创建时间来订制调度周期,缺乏一定的公平性的,后来的请求有可能在最近的一个调度周期内被执行,在业务高峰期,交易处理往往会有一定程度的延迟,在这个周期内查询刚发生的交易结果,往往是徒劳无功的,反而增加了下游系统的压力。第三,分布式调度作业需要独立部署,这将占用额外的硬件资源。

发明内容

针对上述问题,本发明提供了一种基于延时队列的分布式任务轮询的方法,使每个任务的执行间隔相等,任务的处理时机相对公平,并且在不采用数据分组方式的情况下,解决数据重复读取的问题,减少分布式调度程序的复杂度。

本发明基于延时队列的分布式任务轮询的方法,包括:

A.根据消息队列的消息过期与死信投递机制,建立业务延时队列;

B.在微服务中建立用于接收任务轮询请求的任务轮询队列;

C.将需要轮询的业务数据转换为队列消息,并将其投入到所述的业务延时队列中,在指定的延迟时间结束后,将所述需要轮询的业务数据自动投入到所述的任务轮询队列中;

D.由系统处理任务轮询队列中的业务数据,并根据处理结果判断业务数据是否退出任务轮询队列。

通过消息队列的方式能够实现每个任务的执行间隔相等的公平机制,减少系统无谓的符载压力,同时也能够减少分布式调度程序的复杂度。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910550710.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top