CN108255620A - 一种业务逻辑处理方法、装置、业务服务器及系统 - Google Patents
一种业务逻辑处理方法、装置、业务服务器及系统 Download PDFInfo
- Publication number
- CN108255620A CN108255620A CN201810015699.7A CN201810015699A CN108255620A CN 108255620 A CN108255620 A CN 108255620A CN 201810015699 A CN201810015699 A CN 201810015699A CN 108255620 A CN108255620 A CN 108255620A
- Authority
- CN
- China
- Prior art keywords
- message
- service logic
- message queue
- service
- logic
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种业务逻辑处理方法、装置、业务服务器及系统。该方法包括:监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;当监听到所述第一消息队列中存在所述第一完成消息时,从所述第一消息队列中提取所述第一完成消息,并执行与所述第一业务逻辑相关联的第二业务逻辑。通过上述方法,将业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种业务逻辑处理方法、装置、业务服务器及系统。
背景技术
在计算机技术领域,通常,计算机程序所实现的业务流程可以认为是由各个业务逻辑和工作流(Workflow)组成。业务逻辑表示与特定业务相适应的逻辑,比如业务规则的实现、业务数据的处理等。工作流是指各个业务逻辑之间的顺序。工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,简称CSCW)的一部分。工作流框架(也称为工作流引擎)指的是可以识别工作流并执行工作流步骤的程序,它相当于工作流的调度者,监控每个工作流流程的执行情况,并将流程操作发往下一步,或者根据条件休眠或终止流程。
当前,业务流程推进通常是使用工作流引擎来实现。首先,工作流引擎会预先定义好业务流程中各个业务逻辑的执行顺序(即工作流),当一个业务逻辑执行完成后,工作流引擎会更新数据库中所记录的流程状态,然后下一个业务逻辑才会被执行,依次类推,直到整个流程结束。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
由于工作流引擎数据库与业务数据库是同一数据库,在业务执行的过程中,各个业务逻辑与工作流引擎都会从该数据库中读写数据,而数据库的并发访问量是有限的,因此在任务量大的情况下,业务逻辑和工作流引擎与数据库的交互会激增,从而会导致高并发情况下的数据库I/O(Input/Output,读/写)性能较低,例如,数据库写入操作超时。
发明内容
本发明实施例的目的在于提供一种业务逻辑处理方法、装置、业务服务器及系统,用以解决现有技术中存在的在高并发情况下的数据库I/O性能较低的技术问题。具体技术方案如下:
第一方面,本发明实施例提供了一种业务逻辑处理方法,所述方法包括:
监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;
当监听到所述第一消息队列中存在所述第一完成消息时,从所述第一消息队列中提取所述第一完成消息,并执行与所述第一业务逻辑相关联的第二业务逻辑。
可选的,所述业务逻辑处理方法还包括:
在执行完成所述第二业务逻辑之后,将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。
可选的,在执行完成所述第二业务逻辑之后,在将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中之前,所述方法还包括:
确定是否存在与所述第二业务逻辑相关联的第三业务逻辑,如果存在,执行所述将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中的步骤。
可选的,从所述第一消息队列中提取所述第一完成消息之后,还包括:
从所述第一完成消息中获取任务ID,
执行与所述第一业务逻辑相关联的第二业务逻辑,包括:
针对所述任务ID,执行与所述第一业务逻辑相关联的第二业务逻辑。
第二方面,本发明实施例提供了一种业务逻辑处理装置,所述装置包括:
监听模块,用于监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;
执行模块,用于当所述监听模块监听到所述第一消息队列中存在所述第一完成消息时,从所述第一消息队列中提取所述第一完成消息,并执行与所述第一业务逻辑相关联的第二业务逻辑。
可选的,所述业务逻辑处理装置还包括:
存储模块,用于在所述执行模块执行完成所述第二业务逻辑之后,将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。
可选的,所述业务逻辑处理装置还包括:
确定模块,用于在所述执行模块执行完成所述第二业务逻辑之后,在所述存储模块将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中之前,确定是否存在与所述第二业务逻辑相关联的第三业务逻辑,如果存在,由所述存储模块执行所述将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中的步骤。
可选的,所述业务逻辑处理装置还包括:
获取模块,用于从所述第一消息队列中提取所述第一完成消息之后,从所述第一完成消息中获取任务ID;
所述执行模块,具体用于针对所述任务ID,执行与所述第一业务逻辑相关联的第二业务逻辑。
第三方面,本发明实施例提供了一种业务服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如上所述的业务逻辑处理方法步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的业务逻辑处理方法。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的业务逻辑处理方法。
第六方面,本发明实施例提供了一种业务逻辑处理系统,所述系统包括:
用于执行第一业务逻辑的第一业务服务器和用于执行第二业务逻辑的第二业务服务器,所述第一业务逻辑与所述第二业务逻辑为需要先后执行且相关联的两个业务逻辑;
所述第一业务服务器,用于在执行完成所述第一业务逻辑之后,将用于指示所述第一业务逻辑执行完成的第一完成消息存储到第一消息队列中;
所述第二业务服务器,用于监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;当监听到所述第一消息队列中存在所述第一完成消息时,从所述第一消息队列中提取所述第一完成消息,并执行与所述第一业务逻辑相关联的第二业务逻辑。
可选的,所述系统还包括:
存储服务器,用于存储所述第一消息队列。
在本发明实施例提供的一种业务逻辑处理方法、装置、业务服务器及系统中,监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;当监听到第一消息队列中存在第一完成消息时,从第一消息队列中提取第一完成消息,并执行与第一业务逻辑相关联的第二业务逻辑。由于在本方案中,业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库来实现,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一实施例的一种业务逻辑处理方法的流程图;
图2为本发明另一实施例的一种业务逻辑处理方法的流程图;
图3为本发明再一实施例的一种业务逻辑处理方法的流程图;
图4为本发明一实施例的一种业务逻辑处理装置的结构示意图;
图5为本发明一实施例的一种业务服务器的结构示意图;
图6为本发明一实施例的一种业务逻辑处理系统的示意图。
具体实施方式
在流程控制的过程中,通常使用工作流程框架来实现,尤其是在弱流程控制的情况下,在使用工作流程框架时,服务器需要频繁的更新数据库中所记录的流程状态,对数据库读写操作,增加了数据库的I/O负担,并且数据库的I/O瓶颈会造成整个流程控制的瓶颈。
有鉴于此,本发明实施例提供了一种业务逻辑处理方法,参见图1,该方法,包括:
S100,监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息。
针对业务流程所涉及的每个业务逻辑,都存在对应的消息队列,消息队列中可以存储指示其对应的业务逻辑执行完成的完成消息,例如,第一业务逻辑执行完成的完成消息存储于第一消息队列,第二业务逻辑执行完成的消息存储于第二消息队列,第三业务逻辑执行完成的消息存储于第三消息队列等,直到该业务流程结束。指示业务逻辑执行完成的完成消息是由执行该业务逻辑的业务服务器生成并存储至该业务逻辑对应的消息队列中的。
当执行第一业务逻辑的第一业务服务器执行完第一业务逻辑后,生成指示第一业务逻辑执行完成的第一完成消息,并将该第一完成消息存储于第一消息队列。执行下一业务逻辑的服务器监听上一业务逻辑对应的消息队列,例如,第二业务服务器监听第一消息队列,第三业务服务器监听第二消息队列等,直到该业务流程结束。可选的,消息队列(例如第一消息队列、第二消息队列)可以位于不同于业务服务器的其他服务器上。
S110,当监听到第一消息队列中存在第一完成消息时,从第一消息队列中提取第一完成消息,并执行与第一业务逻辑相关联的第二业务逻辑。
在本发明实施例中,上述步骤可以由执行第二业务逻辑的第二业务服务器执行。在第二业务服务器执行上述步骤之前,第一业务服务器在执行第一业务逻辑完成之后,第一业务服务器将指示第一业务逻辑执行完成的第一完成消息发送到第一消息队列中。同时,第二业务服务器保持监听第一消息队列中是否存在第一完成消息,当监听到第一消息队列中存在第一完成消息时,从第一消息队列中提取第一完成消息,根据第一完成消息,执行与第一业务逻辑相关联的第二业务逻辑,其中,第二业务逻辑为第一业务逻辑的下一执行逻辑。
在实际应用中,第一业务服务器和第二业务服务器通常为不同的主机服务器,但是本发明实施例并不排除第一业务服务器与第二业务服务器运行在同一主机上的情况,例如,第一业务服务器和第二业务服务器分别为同一宿主机上的两个虚拟机。当然在本发明实施例中,第一业务服务器和第二业务服务器还可以为同一业务服务器。
本发明实施例中,从第一消息队列中提取该第一完成消息,可以理解为消费掉第一消息队列中的该第一完成消息,即提取之后,第一消息队列中不再存在该第一完成消息,以避免反复监控到该第一完成消息,导致重复执行相应的第二业务逻辑。
本发明的实施例所提供的技术方案,业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库来实现,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。
图2为根据本发明另一实施例的一种业务逻辑处理方法的流程图,如图2所示,该方法还包括:
S200,监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息。
S210,当监听到第一消息队列中存在第一完成消息时,从第一消息队列中提取第一完成消息,并执行与第一业务逻辑相关联的第二业务逻辑。
S220,在执行完成第二业务逻辑之后,将用于指示第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。
本发明实施例中的业务逻辑处理方法可以通过执行第二业务逻辑的第二业务服务器执行。第二业务服务器在执行完成第二业务逻辑后,将标识第二业务逻辑执行完成的第二完成消息发送到第二消息队列中,执行下一业务逻辑的服务器在第二消息队列中提取第二完成消息,减少数据库的I/O次数。
在本发明实施例中,业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库来实现,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。
图3为根据本发明再一实施例的一种业务逻辑处理方法的流程图。如图3所示,该方法还包括:
步骤S300,监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;
步骤S310,当监听到第一消息队列中存在第一完成消息时,从第一消息队列中提取第一完成消息,并执行与第一业务逻辑相关联的第二业务逻辑;
可选的,从第一消息队列中提取第一完成消息之后,从该第一完成消息中获取任务ID,针对该任务ID,执行与第一业务逻辑相关联的第二业务逻辑。
各业务服务器可以基于任务ID来查找其执行的业务逻辑所对应的业务数据,然后使用该业务数据进而执行该业务逻辑。上述任务ID为业务逻辑的全局唯一标识。具体的,执行第二业务逻辑的第二业务服务器,从第一消息队列中提取第一完成消息后,从该第一完成消息中获取到任务ID,然后可以根据该任务ID得知执行完成的第一业务逻辑具体对应的任务,进而可以查找数据库来获取与该任务ID相对应的业务数据,然后使用与该任务ID对应的业务数据来执行与第一业务逻辑相关联的第二业务逻辑。基于任务ID执行与第一业务逻辑相关联的第二业务逻辑,执行结果准确,判定效率高。
步骤S320,在执行完成第二业务逻辑之后,确定是否存在与第二业务逻辑相关联的第三业务逻辑;
步骤S330,如果存在,将用于指示第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。
如果业务流程只涉及第一业务逻辑和第二业务逻辑,那么在执行完第二业务逻辑后,则不需要将用于指示第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。业务流程中的业务逻辑是预先设定好的,业务流程确定了,那么实现该业务流程的业务逻辑也是确定的。
在本发明实施例中,业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库来实现,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。第二业务服务器判定是否需要生成第二完成消息,能够避免误生成第二完成消息,节约信令。
相应于上面的方法实施例,本发明还提供了一种业务逻辑处理装置,参见图4所示,该装置可以包括:
监听模块400,用于监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;
执行模块410,用于当监听模块监听到第一消息队列中存在第一完成消息时,从第一消息队列中提取第一完成消息,并执行与第一业务逻辑相关联的第二业务逻辑。
在本发明实施例中,业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库来实现,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。。
可选的,在本发明实施例中,上述业务逻辑处理装置还可以包括:
存储模块,用于在执行模块执行完成第二业务逻辑之后,将用于指示第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。
在本发明实施例中,在执行完成第二业务逻辑后,将标识第二业务逻辑执行完成的第二完成消息发送到第二消息队列中,执行下一业务逻辑的服务器在第二消息队列中提取第二完成消息,减少数据库的I/O次数。
可选的,在本发明实施例中,上述业务逻辑处理装置还可以包括:
确定模块,用于在执行模块执行完成第二业务逻辑之后,在存储模块将用于指示第二业务逻辑执行完成的第二完成消息存储到第二消息队列中之前,确定是否存在与第二业务逻辑相关联的第三业务逻辑,如果存在,由存储模块执行将用于指示第二业务逻辑执行完成的第二完成消息存储到第二消息队列中的步骤。
在本发明实施例中,第二业务服务器判定是否需要生成第二完成消息,能够避免误生成第二完成消息,节约信令。
可选的,在本发明实施例中,上述业务逻辑处理装置还可以包括:
获取模块,用于从第一消息队列中提取第一完成消息之后,从第一完成消息中获取任务ID;
所述执行模块,具体用于针对任务ID,执行与第一业务逻辑相关联的第二业务逻辑。
在本发明实施例中,基于任务ID执行与第一业务逻辑相关联的第二业务逻辑,执行结果准确,判定效率高。
本发明实施例还提供了一种业务服务器,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;
当监听到第一消息队列中存在第一完成消息时,从第一消息队列中提取第一完成消息,并执行与第一业务逻辑相关联的第二业务逻辑。
在本发明实施例中,业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库来实现,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。
可选的,上述处理器501用于执行存储器503上所存放的程序时,还能够实现上述任一业务逻辑处理方法。
上述业务服务器提到的通信总线可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述业务服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的业务逻辑处理方法。
在本发明实施例中,业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库来实现,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的业务逻辑处理方法。
在本发明实施例中,业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库来实现,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。
在本发明提供的又一实施例中,还提供了一种业务逻辑处理系统,参见图6,该系统包括:
用于执行第一业务逻辑的第一业务服务器600和用于执行第二业务逻辑的第二业务服务器610,第一业务逻辑与第二业务逻辑为需要先后执行且相关联的两个业务逻辑;
第一业务服务器600,用于在执行完成第一业务逻辑之后,将用于指示第一业务逻辑执行完成的第一完成消息存储到第一消息队列中;
第二业务服务器610,用于监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;当监听到上述第一消息队列中存在上述第一完成消息时,从上述第一消息队列中提取上述第一完成消息,并执行与上述第一业务逻辑相关联的第二业务逻辑。
可选的,本发明实施例的业务逻辑处理系统还可以包括:
存储服务器,用于存储第一消息队列。
在本发明实施例中,业务逻辑完成的消息存储在消息队列中,通过监听消息队列来执行相关联的后续业务逻辑,进而推进整个业务流程的执行。业务流程的推进无需通过更新和读取数据库来实现,从而避免了因为业务流程状态变更而频繁更新和读取数据库。因此,在高并发的情况下,可以很大程度上减小数据库I/O性能瓶颈,提升系统处理能力。
可选的,在本发明实施例的业务逻辑处理系统中,上述第二业务服务器610,还用于:在执行完成上述第二业务逻辑之后,将用于指示上述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。
相应的,上述存储服务器,还用于存储第二消息队列。
在本发明实施例中,在执行完成第二业务逻辑后,将标识第二业务逻辑执行完成的第二完成消息发送到第二消息队列中,执行下一业务逻辑的服务器在第二消息队列中提取第二完成消息,减少数据库的I/O次数。
可选的,在本发明实施例的业务逻辑处理系统中,上述第二业务服务器610,还用于:在执行完成上述第二业务逻辑之后,确定是否存在与上述第二业务逻辑相关联的第三业务逻辑,如果存在,将用于指示上述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。
相应的,上述存储服务器,还用于存储第二消息队列。
在本发明实施例中,第二业务服务器判定是否需要生成第二完成消息,能够避免误生成第二完成消息,节约信令。
可选的,在本发明实施例的业务逻辑处理系统中,上述第二业务服务器610,还用于:从上述第一完成消息中获取任务ID。
相应的,第二业务服务器610执行与上述第一业务逻辑相关联的第二业务逻辑,包括:第二业务服务器610针对上述任务ID,执行与上述第一业务逻辑相关联的第二业务逻辑。
在本发明实施例中,基于任务ID执行与第一业务逻辑相关联的第二业务逻辑,执行结果准确,判定效率高。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于业务逻辑处理装置、业务处理器、存储介质和业务逻辑处理系统实施例而言,由于其基本相似于业务逻辑处理方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种业务逻辑处理方法,其特征在于,所述方法包括:
监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;
当监听到所述第一消息队列中存在所述第一完成消息时,从所述第一消息队列中提取所述第一完成消息,并执行与所述第一业务逻辑相关联的第二业务逻辑。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在执行完成所述第二业务逻辑之后,将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。
3.根据权利要求2所述的方法,其特征在于,在执行完成所述第二业务逻辑之后,在将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中之前,所述方法还包括:
确定是否存在与所述第二业务逻辑相关联的第三业务逻辑,如果存在,执行所述将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中的步骤。
4.根据权利要求1-3任一所述的方法,其特征在于,从所述第一消息队列中提取所述第一完成消息之后,还包括:
从所述第一完成消息中获取任务ID,
执行与所述第一业务逻辑相关联的第二业务逻辑,包括:
针对所述任务ID,执行与所述第一业务逻辑相关联的第二业务逻辑。
5.一种业务逻辑处理装置,其特征在于,所述装置包括:
监听模块,用于监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;
执行模块,用于当所述监听模块监听到所述第一消息队列中存在所述第一完成消息时,从所述第一消息队列中提取所述第一完成消息,并执行与所述第一业务逻辑相关联的第二业务逻辑。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
存储模块,用于在所述执行模块执行完成所述第二业务逻辑之后,将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
确定模块,用于在所述执行模块执行完成所述第二业务逻辑之后,在所述存储模块将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中之前,确定是否存在与所述第二业务逻辑相关联的第三业务逻辑,如果存在,由所述存储模块执行所述将用于指示所述第二业务逻辑执行完成的第二完成消息存储到第二消息队列中的步骤。
8.根据权利要求5-7任一所述的装置,其特征在于,所述装置还包括:
获取模块,用于从所述第一消息队列中提取所述第一完成消息之后,从所述第一完成消息中获取任务ID;
所述执行模块,具体用于针对所述任务ID,执行与所述第一业务逻辑相关联的第二业务逻辑。
9.一种业务服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种业务逻辑处理系统,其特征在于,所述系统包括:
用于执行第一业务逻辑的第一业务服务器和用于执行第二业务逻辑的第二业务服务器,所述第一业务逻辑与所述第二业务逻辑为需要先后执行且相关联的两个业务逻辑;
所述第一业务服务器,用于在执行完成所述第一业务逻辑之后,将用于指示所述第一业务逻辑执行完成的第一完成消息存储到第一消息队列中;
所述第二业务服务器,用于监听第一消息队列中是否存在用于指示第一业务逻辑执行完成的第一完成消息;当监听到所述第一消息队列中存在所述第一完成消息时,从所述第一消息队列中提取所述第一完成消息,并执行与所述第一业务逻辑相关联的第二业务逻辑。
11.根据权利要求10所述的系统,其特征在于,所述系统还包括:
存储服务器,用于存储所述第一消息队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810015699.7A CN108255620B (zh) | 2018-01-08 | 2018-01-08 | 一种业务逻辑处理方法、装置、业务服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810015699.7A CN108255620B (zh) | 2018-01-08 | 2018-01-08 | 一种业务逻辑处理方法、装置、业务服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255620A true CN108255620A (zh) | 2018-07-06 |
CN108255620B CN108255620B (zh) | 2021-11-05 |
Family
ID=62726150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810015699.7A Active CN108255620B (zh) | 2018-01-08 | 2018-01-08 | 一种业务逻辑处理方法、装置、业务服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255620B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299125A (zh) * | 2018-10-31 | 2019-02-01 | 中国银行股份有限公司 | 数据库更新方法及装置 |
CN110764931A (zh) * | 2019-10-22 | 2020-02-07 | 携程计算机技术(上海)有限公司 | Ota网站上传凭证的处理方法、系统、设备和存储介质 |
CN111258774A (zh) * | 2020-01-07 | 2020-06-09 | 深圳壹账通智能科技有限公司 | 流程处理方法、装置、计算机设备及存储介质 |
CN111381977A (zh) * | 2018-12-29 | 2020-07-07 | 北大方正集团有限公司 | 消息处理方法及设备 |
CN111967855A (zh) * | 2020-08-27 | 2020-11-20 | 吉林亿联银行股份有限公司 | 业务数据处理的方法及装置、设备及计算机可读存储介质 |
CN113138868A (zh) * | 2021-04-28 | 2021-07-20 | 北京沃东天骏信息技术有限公司 | 一种消息处理方法和装置 |
CN113312184A (zh) * | 2021-06-07 | 2021-08-27 | 平安证券股份有限公司 | 一种业务数据的处理方法及相关设备 |
CN113568761A (zh) * | 2020-04-28 | 2021-10-29 | 中国联合网络通信集团有限公司 | 数据处理方法、装置、设备及存储介质 |
CN113934731A (zh) * | 2021-11-05 | 2022-01-14 | 盐城金堤科技有限公司 | 任务执行方法、装置、存储介质及电子设备 |
CN111967855B (zh) * | 2020-08-27 | 2024-10-22 | 吉林亿联银行股份有限公司 | 业务数据处理的方法及装置、设备及计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054263A1 (fr) * | 2000-12-28 | 2002-07-11 | Future System Consulting Corp. | Systeme de structure |
US7653905B1 (en) * | 2004-09-08 | 2010-01-26 | American Express Travel Related Services Company, Inc. | System and method for management of requests |
CN102957594A (zh) * | 2011-08-30 | 2013-03-06 | 深圳市金蝶友商电子商务服务有限公司 | 基于消息队列的消息处理方法、相关设备及系统 |
CN102970353A (zh) * | 2012-11-08 | 2013-03-13 | 大唐软件技术股份有限公司 | 一种业务数据处理的方法及系统 |
CN104572270A (zh) * | 2015-01-26 | 2015-04-29 | 浪潮通用软件有限公司 | 一种基于消息队列的任务执行方法及装置 |
CN104636878A (zh) * | 2015-02-17 | 2015-05-20 | 交通银行股份有限公司 | 一种银行自动处理任务的调度方法及装置 |
CN105306277A (zh) * | 2015-11-19 | 2016-02-03 | 中国建设银行股份有限公司 | 消息队列的消息调度方法及消息调度装置 |
CN105512244A (zh) * | 2015-11-30 | 2016-04-20 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN107464088A (zh) * | 2016-06-02 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 基于消息队列的业务处理系统及方法 |
-
2018
- 2018-01-08 CN CN201810015699.7A patent/CN108255620B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054263A1 (fr) * | 2000-12-28 | 2002-07-11 | Future System Consulting Corp. | Systeme de structure |
US7653905B1 (en) * | 2004-09-08 | 2010-01-26 | American Express Travel Related Services Company, Inc. | System and method for management of requests |
CN102957594A (zh) * | 2011-08-30 | 2013-03-06 | 深圳市金蝶友商电子商务服务有限公司 | 基于消息队列的消息处理方法、相关设备及系统 |
CN102970353A (zh) * | 2012-11-08 | 2013-03-13 | 大唐软件技术股份有限公司 | 一种业务数据处理的方法及系统 |
CN104572270A (zh) * | 2015-01-26 | 2015-04-29 | 浪潮通用软件有限公司 | 一种基于消息队列的任务执行方法及装置 |
CN104636878A (zh) * | 2015-02-17 | 2015-05-20 | 交通银行股份有限公司 | 一种银行自动处理任务的调度方法及装置 |
CN105306277A (zh) * | 2015-11-19 | 2016-02-03 | 中国建设银行股份有限公司 | 消息队列的消息调度方法及消息调度装置 |
CN105512244A (zh) * | 2015-11-30 | 2016-04-20 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN107464088A (zh) * | 2016-06-02 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 基于消息队列的业务处理系统及方法 |
Non-Patent Citations (3)
Title |
---|
MOHAMMED ALAWAIRDHI等: "A Business-Logic Based Framework for Evolving Software Systems", 《2009 33RD ANNUAL IEEE INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE》 * |
戚琦 等: "基于SOA的数据业务服务总线的研究设计", 《计算机科学》 * |
肖中卿 等: "基于SOA架构的新一代计费清算系统设计与实现", 《新引擎》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299125A (zh) * | 2018-10-31 | 2019-02-01 | 中国银行股份有限公司 | 数据库更新方法及装置 |
CN111381977A (zh) * | 2018-12-29 | 2020-07-07 | 北大方正集团有限公司 | 消息处理方法及设备 |
CN110764931A (zh) * | 2019-10-22 | 2020-02-07 | 携程计算机技术(上海)有限公司 | Ota网站上传凭证的处理方法、系统、设备和存储介质 |
CN110764931B (zh) * | 2019-10-22 | 2024-03-26 | 携程计算机技术(上海)有限公司 | Ota网站上传凭证的处理方法、系统、设备和存储介质 |
CN111258774A (zh) * | 2020-01-07 | 2020-06-09 | 深圳壹账通智能科技有限公司 | 流程处理方法、装置、计算机设备及存储介质 |
CN113568761B (zh) * | 2020-04-28 | 2023-06-27 | 中国联合网络通信集团有限公司 | 数据处理方法、装置、设备及存储介质 |
CN113568761A (zh) * | 2020-04-28 | 2021-10-29 | 中国联合网络通信集团有限公司 | 数据处理方法、装置、设备及存储介质 |
CN111967855A (zh) * | 2020-08-27 | 2020-11-20 | 吉林亿联银行股份有限公司 | 业务数据处理的方法及装置、设备及计算机可读存储介质 |
CN111967855B (zh) * | 2020-08-27 | 2024-10-22 | 吉林亿联银行股份有限公司 | 业务数据处理的方法及装置、设备及计算机可读存储介质 |
CN113138868A (zh) * | 2021-04-28 | 2021-07-20 | 北京沃东天骏信息技术有限公司 | 一种消息处理方法和装置 |
CN113138868B (zh) * | 2021-04-28 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 一种消息处理方法和装置 |
CN113312184A (zh) * | 2021-06-07 | 2021-08-27 | 平安证券股份有限公司 | 一种业务数据的处理方法及相关设备 |
CN113934731A (zh) * | 2021-11-05 | 2022-01-14 | 盐城金堤科技有限公司 | 任务执行方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108255620B (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255620A (zh) | 一种业务逻辑处理方法、装置、业务服务器及系统 | |
US10649838B2 (en) | Automatic correlation of dynamic system events within computing devices | |
CN105357038B (zh) | 监控虚拟机集群的方法和系统 | |
CN105786405A (zh) | 一种在线升级方法、装置及系统 | |
US8443078B2 (en) | Method of determining equivalent subsets of agents to gather information for a fabric | |
JP6030996B2 (ja) | 情報管理装置及び情報管理方法 | |
JP2012059063A (ja) | 計算機システムの管理方法、及び管理システム | |
CN105122733A (zh) | 队列监控和可视化 | |
CN110515795A (zh) | 一种大数据组件的监控方法、装置、电子设备 | |
CN107864055A (zh) | 虚拟化系统的管理方法及平台 | |
CN106557399A (zh) | 用于呈现存储集群的状态的方法和装置 | |
CN109660389A (zh) | 一种it资产管理方法及装置 | |
JP4383484B2 (ja) | メッセージ解析装置、制御方法および制御プログラム | |
CN108153654A (zh) | 一种日志收集方法及装置 | |
CN106899436A (zh) | 一种云平台故障预测诊断系统 | |
CN104407808B (zh) | 写入数据的方法和装置 | |
CN107145421A (zh) | 一种异常信息获取方法和装置 | |
CN109039695B (zh) | 业务故障处理方法、装置及设备 | |
CN107894942B (zh) | 数据表访问量的监控方法和装置 | |
CN115509853A (zh) | 一种集群数据异常检测方法及电子设备 | |
CN105760283A (zh) | 一种日志输出方法和装置 | |
CN112486953A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN111158873A (zh) | 系统状态机实现方法、装置、存储介质及处理器 | |
CN109992695A (zh) | 一种视频信息查询方法及装置 | |
US12124326B2 (en) | Automatic correlation of dynamic system events within computing devices |
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 |