The present invention discloses a distributed asynchronous service distribution method, which distributes the tasks to be handled for the business system, which includes the following steps: S10: storing the task in the database and setting the state of the task to be treated; S20: the asynchronous acquisition of tasks from the database and the update of the tasks described in the database. The state of the service is processed; S30: the acquired task is distributed to the business system; S40: put the completed task into the processing completion queue; S50: the state of the task in the database described in the queue update based on the processing is finished. In addition, the corresponding system is also disclosed. The data can be traced and checked, has a complete consistency guarantee mechanism, solves the business impact caused by various factors and has high performance, high concurrency and high stability, and can meet the existing services such as the payment class service scene.
【技术实现步骤摘要】
一种分布式异步业务分发方法及系统
本专利技术涉及一种业务分发方法及系统,尤其涉及一种异步业务分发方法及系统。
技术介绍
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作,例如网页浏览、搜索和其他用户的行动是在现代网络上的许多社会功能的一个关键因素。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。RabbitMQ是一个可复用的企业消息系统。MQ(MessageQueue,消息队列)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。现有的消息分发系统如Kafka、RabbitMQ,消息只是流经分发到下层,并没有重试、延迟发送、状态存储,且数据无法核对,无法满足现有业务例如支付类业务场景。
技术实现思路
针对目前存在的问题,本专利技术提供了一种分布式异步业务分发方法,其具有状态存储功能,数据可追溯核对。本专利技术第一个方面提供了一种分布式异步业务分发方法,其为业务系统分发要处理的任务,其包括以下步骤:S10:将所述任务存储于数据库中,并将所述任务的状态设置为待处理;S ...
【技术保护点】
1.一种分布式异步业务分发方法,其为业务系统分发要处理的任务,其特征在于,包括以下步骤:S10:将所述任务存储于数据库中,并将所述任务的状态设置为待处理;S20:从所述数据库中分布式异步获取任务,并更新所述任务的状态为处理中;S30:将获取的任务分发给所述业务系统处理;S40:将处理完成的任务放入处理完成队列;S50:基于所述处理完成队列更新所述数据库中任务的状态为处理完。
【技术特征摘要】
1.一种分布式异步业务分发方法,其为业务系统分发要处理的任务,其特征在于,包括以下步骤:S10:将所述任务存储于数据库中,并将所述任务的状态设置为待处理;S20:从所述数据库中分布式异步获取任务,并更新所述任务的状态为处理中;S30:将获取的任务分发给所述业务系统处理;S40:将处理完成的任务放入处理完成队列;S50:基于所述处理完成队列更新所述数据库中任务的状态为处理完。2.如权利要求1所述的分布式异步业务分发方法,其特征在于:步骤S20中,所述分布式异步获取为分布式异步批量获取。3.如权利要求1所述的分布式异步业务分发方法,其特征在于:步骤S20中,所述分布式异步获取包括抢锁机制,以防止分布式异步获取相同的任务。4.如权利要求1所述的分布式异步业务分发方法,其特征在于:步骤S10中,用户登录后,首先判断该用户是否为第一次登陆,如果判断为是,则初始化任务数据库表信息,初始化系统参数,将任务录入数据库,如果判断为否,则初始化该用户系统参数,将新的任务录入数据库;将写入数据库的任务的状态设置为待处理。5.如权利要求4所述的分布式异步业务分发方法,其特征在于:步骤S50中,判断任务处理是否完成,将处理完成的任务放入处理完成队列,基于所述处理完成队列更新所述数据库中任务的状态为处理完;如果判断任务处理未完成,则更新所述任务的状态为处理中,并分发给所述业务系统重新处理;如果重新处理的任务仍旧被判断为处理未完成,则判断重新处理次数是否达到预设重新处理次数上限,如果达到上限,则停止处理,待预设时间后进行处理,如果未达到上限,则更新所述任务的状态为处理中,并返回步骤S30分发给所述业务系统进行重新处理。6.如权利要求5所述的分布式异步业务分发方法,其特征在...
【专利技术属性】
技术研发人员:魏巍,
申请(专利权)人:宝付网络科技上海有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。