CN108280150A - 一种分布式异步业务分发方法及系统 - Google Patents

一种分布式异步业务分发方法及系统 Download PDF

Info

Publication number
CN108280150A
CN108280150A CN201810011357.8A CN201810011357A CN108280150A CN 108280150 A CN108280150 A CN 108280150A CN 201810011357 A CN201810011357 A CN 201810011357A CN 108280150 A CN108280150 A CN 108280150A
Authority
CN
China
Prior art keywords
task
processing
database
asynchronous
distributed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810011357.8A
Other languages
English (en)
Other versions
CN108280150B (zh
Inventor
魏巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bao Fu Network Technology (shanghai) Co Ltd
Original Assignee
Bao Fu Network Technology (shanghai) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bao Fu Network Technology (shanghai) Co Ltd filed Critical Bao Fu Network Technology (shanghai) Co Ltd
Priority to CN201810011357.8A priority Critical patent/CN108280150B/zh
Publication of CN108280150A publication Critical patent/CN108280150A/zh
Application granted granted Critical
Publication of CN108280150B publication Critical patent/CN108280150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式异步业务分发方法,其为业务系统分发要处理的任务,其包括以下步骤:S10:将所述任务存储于数据库中,并将所述任务的状态设置为待处理;S20:从所述数据库中分布式异步获取任务,并更新所述任务的状态为处理中;S30:将获取的任务分发给所述业务系统处理;S40:将处理完成的任务放入处理完成队列;S50:基于所述处理完成队列更新所述数据库中任务的状态为处理完。此外,还公开了相应的系统。本发明数据可追溯核对,具有完整的一致性保障机制,解决因各种因素的异常引发的业务影响,具有高性能、高并发以及高稳定性等特点,可满足现有业务例如支付类业务场景。

Description

一种分布式异步业务分发方法及系统
技术领域
本发明涉及一种业务分发方法及系统,尤其涉及一种异步业务分发方法及系统。
背景技术
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作,例如网页浏览、搜索和其他用户的行动是在现代网络上的许多社会功能的一个关键因素。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。
RabbitMQ是一个可复用的企业消息系统。MQ(Message Queue,消息队列)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。
现有的消息分发系统如Kafka、RabbitMQ,消息只是流经分发到下层,并没有重试、延迟发送、状态存储,且数据无法核对,无法满足现有业务例如支付类业务场景。
发明内容
针对目前存在的问题,本发明提供了一种分布式异步业务分发方法,其具有状态存储功能,数据可追溯核对。
本发明第一个方面提供了一种分布式异步业务分发方法,其为业务系统分发要处理的任务,其包括以下步骤:
S10:将所述任务存储于数据库中,并将所述任务的状态设置为待处理;
S20:从所述数据库中分布式异步获取任务,并更新所述任务的状态为处理中;
S30:将获取的任务分发给所述业务系统处理;
S40:将处理完成的任务放入处理完成队列;
S50:基于所述处理完成队列更新所述数据库中任务的状态为处理完。
本发明所述的分布式异步业务分发方法,其基于数据库操作任务数据,所述任务具有状态属性,因此具有状态存储功能,并且数据可追溯核对。
本发明中,步骤S20中所述分布式异步获取任务通常是通过分布式的程序/线程以异步的方式扫描数据库获取任务,被获取的任务的状态被设为处理中,以防止被其它程序/线程重复获取。
本发明中,步骤S30中所述分发通常为动态分发,即将所述任务在线匹配分发给对应的业务处理程序。
本发明中,步骤S40中所述处理完成队列通常是一个文件,其及时记录处理完成的任务,从而保证处理进度的精准性。步骤S50通常为批量提交,从而提高更新速度,减少资源消耗。
综上,本发明具有完整的一致性保障机制,解决因各种因素的异常引发的业务影响,具有高性能、高并发以及高稳定性等特点,具有重试、延迟发送功能,状态可存储,数据可追溯核对,可满足现有业务例如支付类业务场景。
本发明中,所述任务也叫消息。对应消费-生产者模型,生产者往数据库中写入消息,数据库中的消息被分发给消费者处理。
进一步地,本发明所述的分布式异步业务分发方法的步骤S20中,所述分布式异步获取为分布式异步批量获取。
上述方案中,分布式的程序/线程以异步的方式扫描数据库批量获取任务,例如在10万个任务的数据库中,每个线程每次获取100个任务。批量获取大大提高了分发性能,例如以100个/次,则性能比1个/次提高了100倍。
进一步地,本发明所述的分布式异步业务分发方法的步骤S20中,所述分布式异步获取包括抢锁机制,以防止分布式异步获取相同的任务。
上述方案中,所述抢锁机制是指锁定获取权限的机制,即每次只允许一个获取方,例如程序/线程进行获取,以防止后续扫描数据库的程序/线程重复获取。
进一步地,本发明所述的分布式异步业务分发方法的步骤S20中,所述分布式异步获取通过异步线程扫描实现。
上述方案中,通过扫描获取状态和处理时间符合要求的一定数量的任务。
更进一步地,上述分布式异步业务分发方法的步骤S20中,所述异步线程扫描按照预设的周期进行扫描。
上述方案中,通常根据资源使用情况合理设置扫描周期。
进一步地,本发明所述的分布式异步业务分发方法的步骤S40中,将处理异常的任务的状态更新为待处理。
更进一步地,上述分布式异步业务分发方法的步骤S40中,设置所述处理异常的任务的下次处理时间。
上述方案中,通常根据资源使用情况合理设置下次处理时间。
更进一步地,上述分布式异步业务分发方法的步骤S40中,设置所述处理异常的任务的处理次数上限。
上述方案中,通常根据资源使用情况合理设置处理次数上限。
进一步地,本发明所述的分布式异步业务分发方法的步骤S10还包括预处理步骤,该预处理步骤包括判断所述程序是否第一次启动,若是则初始化数据库表信息,并初始化系统参数。
更进一步地,上述分布式异步业务分发方法中,所述预处理步骤判断所述程序是否第一次启动,若否则判断是否有遗留的待处理任务,若有则先处理遗留的待处理任务,若没有则初始化系统参数。
在本发明的一种优选实施例中,所述分布式异步业务分发方法包括:
用户登录后,首先判断该用户是否为第一次登陆,如果判断为是,则初始化任务数据库表信息,初始化系统参数,将任务录入数据库,如果判断为否,则判断是否有遗留任务;如果判断有遗留任务,则处理遗留任务,处理后初始化该用户的系统参数,如果判断没有遗留任务,则初始化该用户系统参数,将新的任务录入数据库;将写入数据库的任务的状态设置为待处理;
从所述数据库中分布式异步获取任务,并更新所述任务的状态为处理中;
将获取的任务分发给所述业务系统处理;
将处理完成的任务放入处理完成队列;
基于所述处理完成队列更新所述数据库中任务的状态为处理完。
在本发明的一种优选实施例中,所述分布式异步业务分发方法包括:
用户登录后,首先判断该用户是否为第一次登陆,如果判断为是,则初始化任务数据库表信息,初始化系统参数,将任务录入数据库,如果判断为否,则初始化该用户系统参数,将新的任务录入数据库;将写入数据库的任务的状态设置为待处理;
从所述数据库中分布式异步获取任务,并更新所述任务的状态为处理中;
将获取的任务分发给所述业务系统处理;
判断任务处理是否完成,将处理完成的任务放入处理完成队列,基于所述处理完成队列更新所述数据库中任务的状态为处理完;如果判断任务处理未完成,则更新所述任务的状态为处理中,并分发给所述业务系统重新处理。
在本发明的一种优选实施例中,所述分布式异步业务分发方法包括:
用户登录后,首先判断该用户是否为第一次登陆,如果判断为是,则初始化任务数据库表信息,初始化系统参数,将任务录入数据库,如果判断为否,则初始化该用户系统参数,将新的任务录入数据库;将写入数据库的任务的状态设置为待处理;
从所述数据库中分布式异步获取任务,并更新所述任务的状态为处理中;
将获取的任务分发给所述业务系统处理;
判断任务处理是否完成,将处理完成的任务放入处理完成队列,基于所述处理完成队列更新所述数据库中任务的状态为处理完;如果判断任务处理未完成,则更新所述任务的状态为处理中,并分发给所述业务系统重新处理;如果重新处理的任务仍旧被判断为处理未完成,则判断重新处理次数是否达到预设重新处理次数上限,如果达到上限,则停止处理,待预设时间后进行处理,如果未达到上限,则更新所述任务的状态为处理中,并分发给所述业务系统重新处理。
在本发明的一种优选实施例中,所述分布式异步业务分发方法包括:
用户登录后,首先判断该用户是否为第一次登陆,如果判断为是,则初始化任务数据库表信息,初始化系统参数,将任务录入数据库,如果判断为否,则判断是否有遗留任务;如果判断有遗留任务,则处理遗留任务,处理后初始化该用户的系统参数,如果判断没有遗留任务,则初始化该用户系统参数,将新的任务录入数据库;将写入数据库的任务的状态设置为待处理;
从所述数据库中分布式异步获取任务,并更新所述任务的状态为处理中;
将获取的任务分发给所述业务系统处理;
判断任务处理是否完成,将处理完成的任务放入处理完成队列,基于所述处理完成队列更新所述数据库中任务的状态为处理完;如果判断任务处理未完成,则更新所述任务的状态为处理中,并分发给所述业务系统重新处理;如果重新处理的任务仍旧被判断为处理未完成,则判断重新处理次数是否达到预设重新处理次数上限,如果达到上限,则记录为遗留任务,待该用户下次登录时进行是否有遗留任务之后进行处理,如果未达到上限,则更新所述任务的状态为处理中,并分发给所述业务系统重新处理。
本发明第二个方面提供了一种分布式异步业务分发系统,其为业务系统分发要处理的任务,其中,所述系统包括执行上述任一方案的方法的程序,以及运行该程序的硬件。
本发明所述的分布式异步业务分发方法及系统,其具有以下优点和有益效果:
1)具有完整的一致性保障机制,解决因各种因素的异常引发的业务影响,具有高性能、高并发以及高稳定性等特点。
2)具有重试、延迟发送功能,状态可存储,数据可追溯核对,可满足现有业务例如支付类业务场景。
附图说明
图1为本发明所述的分布式异步业务分发方法的基本流程示意图。
图2为本发明的实施例1的分布式异步业务分发系统的结构示意图。
图3为本发明的实施例2的分布式异步业务分发方法的流程示意图。
图4为本发明的实施例3的分布式异步业务分发方法的流程示意图。
图5为本发明的实施例4的分布式异步业务分发方法的流程示意图。
具体实施方式
下面结合说明书附图及实施例进一步说明本发明所述的技术方案。
图1示意了本发明所述的分布式异步业务分发方法的基本流程。图2示意了本发明实施例1的分布式异步业务分发系统的结构。图3-图5分别示意了本发明实施例2-实施例4的分布式异步业务分发方法的流程。
如图1所示,本发明所述的分布式异步业务分发方法为业务系统分发要处理的任务,其包括以下步骤:
S10:将任务存储于数据库中,并将任务的状态设置为待处理;
S20:从数据库中分布式异步获取任务,并更新任务的状态为处理中;
S30:将获取的任务分发给业务系统处理;
S40:将处理完成的任务放入处理完成队列;
S50:基于处理完成队列更新数据库中任务的状态为处理完。
在某些实施方式中,步骤S20中,分布式异步获取为分布式异步批量获取。可以是分布式的程序/线程以异步的方式扫描数据库批量获取任务,例如在10万个任务的数据库中,每个线程每次获取100个任务。
在某些实施方式中,步骤S20中,分布式异步获取包括抢锁机制,以防止分布式异步获取相同的任务。所述抢锁机制是指锁定获取权限的机制,即每次只允许一个获取方,例如程序/线程进行获取,以防止被其它程序/线程重复获取。
在某些实施方式中,步骤S20中,分布式异步获取通过异步线程扫描实现。其中,异步线程扫描按照预设的周期进行扫描,通过扫描获取状态和处理时间符合要求的一定数量的任务。
在某些实施方式中,步骤S40中,将处理异常的任务的状态更新为待处理。其中,步骤S40中,根据资源使用情况合理设置处理异常的任务的下次处理时间和处理次数上限。
实施例1
如图2所示,本实施例的分布式异步业务分发系统的结构包括生产者A1、生产者A2……生产者An,数据库B,消费者C1、消费者C2……消费者Cn。其中生产者为数据写入单元,其向数据库中写入任务;消费者为数据获取和分发单元,其从数据库中获取任务、发送给后续业务系统执行、更新数据库任务状态。
实施例2
如图3所示,本实施例的分布式异步业务分发方法的流程基于实施例1的系统实现,包括以下步骤(消费者部分):
步骤1:预处理。包括以下步骤:
步骤1-1:判断所述程序是否第一次启动,若是则初始化任务数据库表信息,然后初始化系统参数,若否则进入步骤1-2;
步骤1-2:判断是否有遗留的待处理任务,若是则先处理遗留的待处理任务,然后初始化系统参数,若否则直接初始化系统参数。启动批量提交异步线程。
步骤2:消费者C1、消费者C2……消费者Cn从数据库B中分布式异步获取任务,并更新任务的状态为处理中。包括以下步骤:
步骤2-1:消费者C1、消费者C2……消费者Cn抢锁;
步骤2-2:消费者C1、消费者C2……消费者Cn中没有抢到的在一个扫描周期后继续抢锁;
步骤2-3:消费者C1、消费者C2……消费者Cn中抢到锁的按照预设的批量规格批量获取数据库B中的任务,并更新相应的任务状态为处理中;
步骤3:将获取的任务动态分发给业务系统处理,即执行任务。
步骤4:判断任务是否完成,将处理完成的任务放入处理完成队列。
步骤5:基于处理完成队列更新数据库中任务的状态为处理完。
步骤6:返回循环执行步骤2-步骤5。
实施例3
如图4所示,本实施例的分布式异步业务分发方法的流程基于实施例1的系统实现,包括以下步骤(消费者部分):
步骤1:预处理。包括以下步骤:
步骤1-1:判断所述程序是否第一次启动,若是则初始化任务数据库表信息,然后初始化系统参数,若否则进入步骤1-2;
步骤1-2:判断是否有遗留的待处理任务,若是则先处理遗留的待处理任务,然后初始化系统参数,若否则直接初始化系统参数。启动批量提交异步线程。
步骤2:消费者C1、消费者C2……消费者Cn从数据库B中分布式异步获取任务,并更新任务的状态为处理中。包括以下步骤:
步骤2-1:消费者C1、消费者C2……消费者Cn抢锁;
步骤2-2:消费者C1、消费者C2……消费者Cn中没有抢到的在一个扫描周期后继续抢锁;
步骤2-3:消费者C1、消费者C2……消费者Cn中抢到锁的按照预设的批量规格批量获取数据库B中的任务,并更新相应的任务状态为处理中;
步骤3:将获取的任务动态分发给业务系统处理,即执行任务。
步骤4:判断任务是异常还是完成,将处理完成的任务放入处理完成队列,将处理异常的任务写入下次执行时间,并更新其任务状态为待处理,等待下次执行。
步骤5:基于处理完成队列更新数据库中任务的状态为处理完。
步骤6:返回循环执行步骤2-步骤5。
实施例4
如图5所示,本实施例的分布式异步业务分发方法的流程基于实施例1的系统实现,包括以下步骤(消费者部分):
步骤1:预处理。包括以下步骤:
步骤1-1:判断所述程序是否第一次启动,若是则初始化任务数据库表信息,然后初始化系统参数,若否则进入步骤1-2;
步骤1-2:判断是否有遗留的待处理任务,若是则先处理遗留的待处理任务,然后初始化系统参数,若否则直接初始化系统参数。启动批量提交异步线程。
步骤2:消费者C1、消费者C2……消费者Cn从数据库B中分布式异步获取任务,并更新任务的状态为处理中。包括以下步骤:
步骤2-1:消费者C1、消费者C2……消费者Cn抢锁;
步骤2-2:消费者C1、消费者C2……消费者Cn中没有抢到的在一个扫描周期后继续抢锁;
步骤2-3:消费者C1、消费者C2……消费者Cn中抢到锁的按照预设的批量规格批量获取数据库B中的任务,并更新相应的任务状态为处理中;
步骤3:将获取的任务动态分发给业务系统处理,即执行任务。
步骤4:判断任务是异常还是完成,将处理完成的任务放入处理完成队列,将处理异常的任务写入下次执行时间和处理次数上限,当重试次数超过处理次数上限时,更新其任务状态为待处理,等待下次执行。
步骤5:基于处理完成队列更新数据库中任务的状态为处理完。
步骤6:返回循环执行步骤2-步骤5。
应用实例
一种应用场景是手机话费充值。在手机话费充值APP流程中嵌入本发明系统,话费充值业务通常在同一时间会有很多同时进行的充值业务,本发明系统按照上述实施例4方法将这些业务对应的任务存储入数据库,设置其状态为待处理;启动异步线程分布式异步获取这些任务,更新其状态为处理中,然后将其动态发送给相应的业务处理系统处理;将处理完成的任务放入处理完成队列,将处理异常的任务写入下次执行时间和处理次数上限,当重试次数超过处理次数上限时,更新其任务状态为待处理,等待下次执行;基于处理完成队列更新数据库中任务的状态为处理完。该方案具有完整的一致性保障机制,解决因各种因素的异常引发的充值业务影响,具有高性能、高并发以及高稳定性等特点,具有重试、延迟发送功能,状态可存储,数据可追溯核对,可满足现有充值业务场景。
需要说明的是,本发明的保护范围中现有技术部分并不局限于本申请文件所给出的实施例,所有不与本发明的方案相矛盾的现有技术,包括但不局限于在先专利文献、在先公开出版物,在先公开使用等等,都可纳入本发明的保护范围。
另外,还需要说明的是,本案中各技术特征的组合方式并不限本案权利要求中所记载的组合方式或是具体实施例所记载的组合方式,本案所记载的所有技术特征可以以任何方式进行自由组合或结合,除非相互之间产生矛盾。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种分布式异步业务分发方法,其为业务系统分发要处理的任务,其特征在于,包括以下步骤:
S10:将所述任务存储于数据库中,并将所述任务的状态设置为待处理;
S20:从所述数据库中分布式异步获取任务,并更新所述任务的状态为处理中;
S30:将获取的任务分发给所述业务系统处理;
S40:将处理完成的任务放入处理完成队列;
S50:基于所述处理完成队列更新所述数据库中任务的状态为处理完。
2.如权利要求1所述的分布式异步业务分发方法,其特征在于:
步骤S20中,所述分布式异步获取为分布式异步批量获取。
3.如权利要求1所述的分布式异步业务分发方法,其特征在于:
步骤S20中,所述分布式异步获取包括抢锁机制,以防止分布式异步获取相同的任务。
4.如权利要求1所述的分布式异步业务分发方法,其特征在于:步骤S10中,用户登录后,首先判断该用户是否为第一次登陆,如果判断为是,则初始化任务数据库表信息,初始化系统参数,将任务录入数据库,如果判断为否,则初始化该用户系统参数,将新的任务录入数据库;将写入数据库的任务的状态设置为待处理。
5.如权利要求4所述的分布式异步业务分发方法,其特征在于:步骤S50中,
判断任务处理是否完成,将处理完成的任务放入处理完成队列,基于所述处理完成队列更新所述数据库中任务的状态为处理完;如果判断任务处理未完成,则更新所述任务的状态为处理中,并分发给所述业务系统重新处理;如果重新处理的任务仍旧被判断为处理未完成,则判断重新处理次数是否达到预设重新处理次数上限,如果达到上限,则停止处理,待预设时间后进行处理,如果未达到上限,则更新所述任务的状态为处理中,并返回步骤S30分发给所述业务系统进行重新处理。
6.如权利要求5所述的分布式异步业务分发方法,其特征在于:
步骤S40和/或S50中,设置所述未完成处理任务的下次处理时间。
7.如权利要求5所述的分布式异步业务分发方法,其特征在于:
步骤S40和/或S50中,设置所述未完成处理任务的处理次数上限。
8.如权利要求5所述的分布式异步业务分发方法,其特征在于:
步骤S10中,用户登录后,首先判断该用户是否为第一次登陆,如果判断为是,则初始化任务数据库表信息,初始化系统参数,将任务录入数据库,如果判断为否,则判断是否有遗留任务;如果判断有遗留任务,则处理遗留任务,处理后初始化该用户的系统参数,如果判断没有遗留任务,则初始化该用户系统参数,将新的任务录入数据库;将写入数据库的任务的状态设置为待处理;
步骤S50中,判断任务处理是否完成,将处理完成的任务放入处理完成队列,基于所述处理完成队列更新所述数据库中任务的状态为处理完;如果判断任务处理未完成,则更新所述任务的状态为处理中,并分发给所述业务系统重新处理;如果重新处理的任务仍旧被判断为处理未完成,则判断重新处理次数是否达到预设重新处理次数上限,如果达到上限,则记录为遗留任务,待该用户下次登录时进行是否有遗留任务之后进行处理,如果未达到上限,则更新所述任务的状态为处理中,并分发给所述业务系统重新处理。
9.如权利要求1所述的分布式异步业务分发方法,其特征在于:
步骤S20中,所述分布式异步获取为分布式异步批量获取,即:分布式的程序/线程以异步的方式扫描数据库批量获取任务,
所述分布式异步获取包括抢锁机制,每次只允许一个获取方,以防止后续扫描数据库的程序/线程重复获取。
10.一种分布式异步业务分发系统,其为业务系统分发要处理的任务,其特征在于,所述系统包括执行权利要求1-9中任意一项的所述方法的程序,以及运行该程序的硬件。
CN201810011357.8A 2018-01-05 2018-01-05 一种分布式异步业务分发方法及系统 Active CN108280150B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810011357.8A CN108280150B (zh) 2018-01-05 2018-01-05 一种分布式异步业务分发方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810011357.8A CN108280150B (zh) 2018-01-05 2018-01-05 一种分布式异步业务分发方法及系统

Publications (2)

Publication Number Publication Date
CN108280150A true CN108280150A (zh) 2018-07-13
CN108280150B CN108280150B (zh) 2023-03-28

Family

ID=62803208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810011357.8A Active CN108280150B (zh) 2018-01-05 2018-01-05 一种分布式异步业务分发方法及系统

Country Status (1)

Country Link
CN (1) CN108280150B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241106A (zh) * 2018-08-01 2019-01-18 口碑(上海)信息技术有限公司 基于限流操作的可重入分布式处理方法及装置
CN109788024A (zh) * 2018-12-05 2019-05-21 成都长城开发科技有限公司 高可用高并发高性能分布式远程抄表采集服务器解决方法
CN109815291A (zh) * 2018-12-28 2019-05-28 北京城市网邻信息技术有限公司 数据同步方法、装置、电子设备及存储介质
CN109976895A (zh) * 2019-04-09 2019-07-05 苏州浪潮智能科技有限公司 一种数据库的多任务并发处理方法和装置
CN110704208A (zh) * 2019-09-19 2020-01-17 深圳证券交易所 多个系统的消息处理方法、服务器及存储介质
CN110890975A (zh) * 2018-09-11 2020-03-17 北京京东金融科技控股有限公司 数据任务管理自动化方法、系统、电子设备、存储介质
CN111932235A (zh) * 2019-05-13 2020-11-13 中国移动通信集团湖北有限公司 业务处理的方法、数据访问器、状态管理器及计算设备
CN113179304A (zh) * 2021-04-22 2021-07-27 平安消费金融有限公司 消息下发方法、系统、设备及存储介质
CN114979187A (zh) * 2022-05-17 2022-08-30 北京京东拓先科技有限公司 一种数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120130853A1 (en) * 2010-11-24 2012-05-24 Digital River, Inc. In-Application Commerce System and Method with Fraud Detection
CN104503845A (zh) * 2015-01-14 2015-04-08 北京邮电大学 一种任务分发方法和系统
CN106130868A (zh) * 2016-06-02 2016-11-16 腾讯科技(深圳)有限公司 一种回调消息的处理方法和队列管理系统
CN106250250A (zh) * 2016-08-09 2016-12-21 广州唯品会信息科技有限公司 数据通信方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120130853A1 (en) * 2010-11-24 2012-05-24 Digital River, Inc. In-Application Commerce System and Method with Fraud Detection
CN104503845A (zh) * 2015-01-14 2015-04-08 北京邮电大学 一种任务分发方法和系统
CN106130868A (zh) * 2016-06-02 2016-11-16 腾讯科技(深圳)有限公司 一种回调消息的处理方法和队列管理系统
CN106250250A (zh) * 2016-08-09 2016-12-21 广州唯品会信息科技有限公司 数据通信方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241106A (zh) * 2018-08-01 2019-01-18 口碑(上海)信息技术有限公司 基于限流操作的可重入分布式处理方法及装置
CN110890975A (zh) * 2018-09-11 2020-03-17 北京京东金融科技控股有限公司 数据任务管理自动化方法、系统、电子设备、存储介质
CN109788024A (zh) * 2018-12-05 2019-05-21 成都长城开发科技有限公司 高可用高并发高性能分布式远程抄表采集服务器解决方法
CN109788024B (zh) * 2018-12-05 2021-08-24 成都长城开发科技有限公司 高可用高并发高性能分布式远程抄表采集服务器解决方法
CN109815291B (zh) * 2018-12-28 2021-08-20 北京城市网邻信息技术有限公司 数据同步方法、装置、电子设备及存储介质
CN109815291A (zh) * 2018-12-28 2019-05-28 北京城市网邻信息技术有限公司 数据同步方法、装置、电子设备及存储介质
CN109976895A (zh) * 2019-04-09 2019-07-05 苏州浪潮智能科技有限公司 一种数据库的多任务并发处理方法和装置
CN111932235A (zh) * 2019-05-13 2020-11-13 中国移动通信集团湖北有限公司 业务处理的方法、数据访问器、状态管理器及计算设备
CN111932235B (zh) * 2019-05-13 2024-04-19 中国移动通信集团湖北有限公司 业务处理的方法、数据访问器、状态管理器及计算设备
CN110704208A (zh) * 2019-09-19 2020-01-17 深圳证券交易所 多个系统的消息处理方法、服务器及存储介质
CN110704208B (zh) * 2019-09-19 2023-03-14 深圳证券交易所 多个系统的消息处理方法、服务器及存储介质
CN113179304A (zh) * 2021-04-22 2021-07-27 平安消费金融有限公司 消息下发方法、系统、设备及存储介质
CN114979187A (zh) * 2022-05-17 2022-08-30 北京京东拓先科技有限公司 一种数据处理方法及装置
CN114979187B (zh) * 2022-05-17 2024-05-17 北京京东拓先科技有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN108280150B (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
CN108280150A (zh) 一种分布式异步业务分发方法及系统
US11758006B2 (en) Provisioning multiple network resources
CN105760221B (zh) 分布式计算框架的任务调派系统
CN109639521B (zh) 区块链性能的测试方法、装置、设备及存储介质
CN102592198B (zh) 一种支持组合业务的工作流引擎
CN103701934B (zh) 一种资源优化调度方法及虚拟机宿主机优化选择方法
CN105095327A (zh) 一种分布式etl系统及调度方法
zur Muehlen et al. BPAF: A standard for the interchange of process analytics data
US10162674B2 (en) Apparatus and method for serializing process instance access to information stored redundantly in at least two datastores
CN105224541B (zh) 数据的唯一性控制方法、信息存储方法及装置
CN105912740A (zh) 一种基于云计算的cae分布式协同工作方法
CN102214094B (zh) 经由异步编程模型执行操作
CN107678856B (zh) 一种处理业务实体中增量信息的方法及装置
CN102147750A (zh) 作业处理方法和系统
CN103873343A (zh) 资源管理方法、客户端及系统
CN116737348B (zh) 一种多方任务的处理方法、装置及计算机设备、存储介质
CN113947391B (zh) 基于web的采招系统管理方法、装置、设备及存储介质
CN111324472B (zh) 对待检测信息作垃圾项目判断的方法和装置
CN106293923A (zh) 一种基于hadoop系统的数据处理和分发方法和系统
Rodrigues et al. Web services composition through data events approach
CN117764728A (zh) 一种区块链跨合约调用方法、装置、设备及存储介质
CN114942848A (zh) 一种利用人工智能的计算资源调度系统及调度方法
EP1850227A1 (en) Data processing system and metod for providing a status management service
CN114240383A (zh) 一种业务需求管理方法及装置
CN117291406A (zh) 业务处理方法、装置、计算机设备、存储介质和程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant