CN110221927A - 异步消息处理方法和装置 - Google Patents
异步消息处理方法和装置 Download PDFInfo
- Publication number
- CN110221927A CN110221927A CN201910474992.4A CN201910474992A CN110221927A CN 110221927 A CN110221927 A CN 110221927A CN 201910474992 A CN201910474992 A CN 201910474992A CN 110221927 A CN110221927 A CN 110221927A
- Authority
- CN
- China
- Prior art keywords
- message
- asynchronous
- processing
- asynchronous message
- postposition
- 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)
Abstract
本发明提供一种异步消息处理方法和装置,该异步消息处理方法包括:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息,即:通过预先设定的消息处理依赖规则,识别消息的前置、后置处理依赖关系,确保前置消息处理后,才处理后置消息,从而能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性,降低了业务系统开发的复杂度。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种异步消息处理方法和装置。
背景技术
目前,异步消息的数据传递方式在各类大型系统中应用广泛。通过异步消息交互机制可以有效地降低不同系统间的耦合度,降低系统开发复杂度,且通过高并发处理提升系统处理性能。
然而,也正是这种处理方式是异步的,且存在高并发的情况,从而导致消息传递之前不能保证有序性,例如A消息比B消息先到达,但是由于消息是异步并发处理,处理B消息的线程可能比处理A消息的线程更快,从而导致无法保证消息的按序处理。对于一些复杂的业务处理系统,业务的按序处理是业务正常执行的基础。
发明内容
有鉴于此,本发明提供一种异步消息处理方法和装置、电子设备以及计算机可读存储介质,能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性。
为了实现上述目的,本发明采用如下技术方案:
第一方面,提供一种异步消息处理方法,包括:
根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;
根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息。
进一步地,该根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息,包括:
当该当前待处理异步消息存在前置依赖消息时:
根据该前置依赖消息的消息关键字查询该前置依赖消息是否处理完毕;
若是,处理该当前待处理异步消息;
若否,将该当前待处理异步消息加入消息队列;
当该当前待处理异步消息不存在前置依赖消息时:
处理该当前待处理异步消息。
进一步地,根据消息的优先级和依赖关系设有多个消息队列。
进一步地,该预设的消息处理依赖规则为消息处理依赖关系参数表,
该根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息,包括:
根据当前待处理异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前待处理异步消息是否存在前置依赖消息。
进一步地,异步消息处理方法还包括:
根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息;
若是,获取并处理该后置依赖消息。
进一步地,该预设的消息处理依赖规则为消息处理依赖关系参数表,
该根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息,包括:
根据当前处理的异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前处理的异步消息是否存在后置依赖消息。
进一步地,该获取并处理该后置依赖消息,包括:
根据该后置依赖消息的消息关键字判断该消息队列中是否存在该后置依赖消息;
若是,取出并处理该后置依赖消息。
进一步地,异步消息处理方法还包括:
检测该消息队列中是否存在等待时间超过预设阈值的异步消息;
若是,根据该异步消息的消息类型、业务类型以及消息关键字,丢弃该异步消息,或者,根据预设的容错处理规则处理该异步消息。
进一步地,异步消息处理方法还包括:
获取异步消息。
进一步地,异步消息处理方法还包括:
解析异步消息得到对应的消息类型、业务类型以及消息关键字。
第二方面,提供一种异步消息处理装置,包括:
前置依赖判断模块,根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;
处理调度模块,根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息。
进一步地,该处理调度模块包括:
第一处理单元,当该当前待处理异步消息存在前置依赖消息时,根据该前置依赖消息的消息关键字查询该前置依赖消息是否处理完毕;若是,处理该当前待处理异步消息;若否,将该当前待处理异步消息加入消息队列;
第二处理单元,当该当前待处理异步消息不存在前置依赖消息时,处理该当前待处理异步消息。
进一步地,根据消息的优先级和依赖关系设有多个消息队列。
进一步地,该预设的消息处理依赖规则为消息处理依赖关系参数表,
该前置依赖判断模块包括:
前置依赖判断单元,根据当前待处理异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前待处理异步消息是否存在前置依赖消息。
进一步地,异步消息处理装置还包括:
后置依赖判断模块,根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息;
后置处理模块,当前处理的异步消息存在后置依赖消息时,获取并处理该后置依赖消息。
进一步地,该预设的消息处理依赖规则为消息处理依赖关系参数表,
该后置依赖判断模块包括:
后置依赖判断单元,根据当前处理的异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前处理的异步消息是否存在后置依赖消息。
进一步地,该后置处理模块包括:
后置消息判断单元,根据该后置依赖消息的消息关键字判断该消息队列中是否存在该后置依赖消息;
后置消息处理单元,消息队列中存在该后置依赖消息时,取出并处理该后置依赖消息。
进一步地,异步消息处理装置还包括:
超时检测模块,检测该消息队列中是否存在等待时间超过预设阈值的异步消息;
超时处理模块,消息队列中存在等待时间超过预设阈值的异步消息时,根据该异步消息的消息类型、业务类型以及消息关键字,丢弃该异步消息,或者,根据预设的容错处理规则处理该异步消息。
进一步地,异步消息处理装置还包括:
异步消息获取模块,获取异步消息。
进一步地,异步消息处理装置还包括:
消息解析模块,解析异步消息得到对应的消息类型、业务类型以及消息关键字。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现:
根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;
根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,,该计算机程序被处理器执行时实现:
根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;
根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息。
本发明提供一种异步消息处理方法和装置、电子设备以及计算机可读存储介质,该异步消息处理方法包括:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息,即:通过预先设定的消息处理依赖规则,识别消息的前置、后置处理依赖关系,确保前置消息处理后,才处理后置消息,从而能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性,降低了业务系统开发的复杂度。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中的服务器S1与客户端设备B1之间的架构示意图;
图2为本发明实施例中的服务器S1、客户端设备B1及数据库服务器S2之间的架构示意图;
图3是本发明实施例中的异步消息处理方法的流程示意图一;
图4是本发明实施例中的异步消息处理方法的流程示意图二;
图5是本发明实施例中的异步消息处理方法的流程示意图三;
图6是本发明实施例中的异步消息处理装置的结构框图;
图7示出了多个异步消息处理装置共享消息队列单元的结构框图;
图8为本发明实施例电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
现有的消息异步并发处理机制存在高并发的情况,导致消息传递之前不能保证有序性。
为解决现有技术中的上述技术问题,本发明实施例提供一种异步消息处理方法,通过预先设定的消息处理依赖规则,识别消息的前置、后置处理依赖关系,确保前置消息处理后,才处理后置消息,从而能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性。
有鉴于此,本申请提供了一种异步消息处理装置,该装置可以为一种服务器S1,参见图1,该服务器S1可以与至少一个客户端设备B1通信连接,所述客户端设备B1可以将异步消息发送至所述服务器S1,所述服务器S1可以在线接收所述异步消息。所述服务器S1可以在线或者离线对获取的异步消息进行预处理,根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息。而后,所述服务器S1可以将处理结果存储起来或者在线发送至所述客户端设备B1。所述客户端设备B1可以在线接收所述异步消息处理结果。
另外,参见图2,所述服务器S1还可以与至少一个数据库服务器S2通信连接,所述数据库服务器S2用于存储预先设定的消息处理依赖规则,例如消息处理依赖关系参数表。所述数据库服务器S2在线将所述预先设定的消息处理依赖规则发送至所述服务器S1,所述服务器S1可以在线接收预先设定的消息处理依赖规则,应用所述预先设定的消息处理依赖规则对异步消息进行处理。
可以理解的是,所述客户端设备B1可以包括智能手机、平板电子设备、便携式计算机、台式电脑、个人数字助理(PDA)、银行自助终端等。
在实际应用中,进行异步消息处理的部分可以在如上述内容所述的服务器S1侧执行,即,如图1所示的架构,也可以所有的操作都在所述客户端设备B1中完成,且该所述客户端设备B1可以直接与数据库服务器S2进行通信连接。具体可以根据所述客户端设备B1的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备B1中完成,所述客户端设备B1还可以包括处理器,用于进行异步消息处理方法的具体处理。
所述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
图3是本发明实施例中的异步消息处理方法的流程示意图一。如图3所示,该异步消息处理方法可以包括以下内容:
步骤S100:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息。
具体地,预设的消息处理依赖规则可为消息处理依赖关系参数表,可以根据当前待处理异步消息的消息类型和/或业务类型在消息处理依赖关系参数表中查找当前待处理异步消息是否存在前置依赖消息。
其中,该消息处理依赖规则由具体业务决定。
下面,对消息处理依赖关系参数表进行举例说明:
如A、B、C 3类报文存在前后依赖关系,则根据消息类型设置依赖关系如下表(表1)所示:
表1
消息类型 | 前置消息类型 | 后置消息类型 |
A类型 | B类型 | |
B类型 | A类型 | C类型 |
C类型 | B类型 |
步骤S200:根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息。
具体地,若当前待处理异步消息存在前置依赖消息且该前置依赖消息已经处理完毕时,则无需进行等待,直接处理当前待处理异步消息;若当前待处理异步消息存在前置依赖消息且该前置依赖消息尚未处理完毕时,则需要等待该前置依赖消息处理完成后,再处理当前待处理异步消息。另外,若当前待处理异步消息不存在前置依赖消息,则也进行等待,直接处理当前待处理异步消息。
通过上述技术方案可以得知,本发明实施例提供的异步消息处理方法,通过预先设定的消息处理依赖规则,识别消息的前置、后置处理依赖关系,确保前置消息处理后,才处理后置消息,从而能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性。
图4是本发明实施例中的异步消息处理方法的流程示意图二;如图4所示,该异步消息处理方法可以包括以下内容:
步骤S100:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息。
若是,执行步骤S210;若否,执行步骤S220。
具体地,预设的消息处理依赖规则可为消息处理依赖关系参数表,可以根据当前待处理异步消息的消息类型和/或业务类型在消息处理依赖关系参数表中查找当前待处理异步消息是否存在前置依赖消息。
其中,该消息处理依赖规则由具体业务决定。
步骤S210:根据所述前置依赖消息的消息关键字查询所述前置依赖消息是否处理完毕。
若是,执行步骤S220;若否,执行步骤S230。
其中,消息关键字举例说明:主要用于关联前置后置报文,如消息ID、业务关键字。比如在票据交易业务中,通过各消息中的票号(业务关键字)、消息ID、原交易消息ID作为关联条件进行前后消息关联。
另外,在对异步消息进行处理后,会记录该异步消息及其所对应的处理结果,根据消息关键字,就可以查到该异步消息是否以及处理完毕,即记录数据中是否包含该异步消息及其所对应的处理结果。
值得说明的是,如果前置依赖消息已经处理完毕,此时,无需进行等待,直接处理当前待处理异步消息即可;如果前置依赖消息尚未处理完毕时,则需要等待该前置依赖消息处理完成后,再处理当前待处理异步消息,以便按序处理异步消息。
步骤S220:处理所述当前待处理异步消息。
步骤S230:将所述当前待处理异步消息加入消息队列。
其中,消息队列负责存在依赖关系的排队等待服务,主要提供消息的入队列、出队列功能。通过接收异步消息,并根据消息的优先级和依赖关系拆分设置多个消息队列。
图5是本发明实施例中的异步消息处理方法的流程示意图。如图5所示,该异步消息处理方法在包含图4所示异步消息处理方法的基础上,还可以包括以下内容:
步骤S300:根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息。
若是,执行步骤S400;若否,执行步骤S500。
所述预设的消息处理依赖规则为消息处理依赖关系参数表,可以根据当前处理的异步消息的消息类型和/或业务类型在消息处理依赖关系参数表中查找当前处理的异步消息是否存在后置依赖消息。
步骤S400:获取并处理所述后置依赖消息。
具体地,根据后置依赖消息的消息关键字判断消息队列中是否存在后置依赖消息;
若是,向该消息队列发送该后置依赖消息的消息关键字,从消息队列中取出后置依赖消息并处理,唤醒对该后置依赖消息的处理。
结合表1举例说明后置依赖消息处理过程:
A、B、C 3个消息存在依赖关系,假设B、C消息先到达,A未到达。此时识别B、C的前置依赖消息均未完成处理,因此,B、C消息均进入消息队列中等待。当A消息到达时,根据表1识别出A消息不存在前置依赖消息,则处理A消息,处理完成后将A消息的处理状态变为已完成,然后判断A消息是否存在后置依赖消息,并将其后置消息B的关键信息发送给消息队列,唤醒对后置消息B的处理,B消息处理完成后再唤醒C消息处理,从而完成整条链路上消息处理。
步骤S500:结束当前处理流程。
本领域技术人员可以理解的是,当前线程会在对消息进行处理后判断是否存在后置依赖消息并处理,如此循环往复,直至处理完没有后置依赖关系的最后一个异步消息。
通过采用上述方式,能够有效利用当前线程,避免多个线程同时处理有前后依赖关系的消息而造成的资源浪费,减少等待时间,提高消息处理效率和速度。
在一个可选的实施例中,本发明提供的异步消息处理方法可提供消息正常处理和异常处理两个功能,正常处理是根据解析的消息类型、业务类型进行消息处理。
但是,消息在传输过程中可能存在丢失的情况,因此有可能存在由于前置消息丢失,导致后置消息无限等待的情况。为了解决此类问题,本发明实施例设置了异步消息处理功能,对于长时间等待消息进行出队列并启动异常消息处理流程。具体消息异常处理参数和超时时间需要提前设置,如通过“消息类型设置依赖关系表”设置。
具体地,通过消息监控线程轮询各消息队列,检测所述消息队列中是否存在等待时间超过预设阈值(或称最大等待时间)的异步消息。
其中,该预设阈值根据具体的业务而定,范围在1秒~5分钟之间,例如3秒、10秒、20秒、30秒、40秒、50秒、1分钟、1分半、2分钟、2分半、3分钟、3分半、4分钟、4分半。
若是,根据异步消息的消息类型、业务类型以及消息关键字,选择丢弃所述异步消息,或者,根据预设的容错处理规则处理所述异步消息。
即该异常消息处理主要包括丢弃和容错两种方法:
1.丢弃:
例如,A、B 2个消息存在依赖关系,如果A消息一直未到达,当B消息等待A消息的时间超过“最大等待时间”则直接丢弃B消息。
此类处理适用于非核心交易场景,部分消息不处理不会对业务造成重大影响。
比如在票据交易过程中的票据基本信息查询场景,业务系统会返回A(票据基本信息)和B(票据影像信息)。如果A消息丢失,仅接收到B消息。由于B消息中无法直接与原业务关联,需要先通过A消息内容才能与原业务关联,因此当B消息等待超时时,直接对B消息采用丢弃不处理的方式处理。由于是非关键业务流程,业务办理人员可以选择重新查询或者不查询票据信息的方式进行后续业务处理。
2.容错:
例如,A、B 2个消息存在依赖关系,如果A消息丢失,当B消息等待超过“最大等待时间”则调用预先设置好的容错处理程序进行处理。
比如票据买入交易中,交易会连续收到A(成交通知)、B(资金清算通知)两类消息,如果A消息丢失,根据业务规则可以判断如果收到B消息当前交易一定是成交的,为了减少对业务处理流程的影响,当B消息等待超时时则调用预先配置好的容错处理程序进行处理(直接将原交易更新为交易成功并启动后续处理流程)。容错处理会导致部分信息丢失,如上面例子中会丢失成交单的相关信息,但是并不影响业务的后续处理。
通过上述技术方案可以得知,通过上述异常消息处理流程,能够有效防止在异步消息传输过程中因部分消息丢失导致长时间没有响应的问题,能够提高用户体验。
在一个可选的实施例中,该异步消息处理方法还可以包括:获取异步消息。
其中,该异步消息由业务处理系统发送,另外,可以通过消息收发前置并发接收异步消息。
在一个可选的实施例中,该异步消息处理方法还可以包括:解析所获取异步消息得到对应的消息类型、业务类型以及消息关键字。
值得说明的是,为了提高处理消息性能和保证高可用性,支持同时设置多个消息处理线程,执行上述异步消息处理方法的步骤,以支持并发处理。
另外,为了保证消息处理的一致性,多个消息处理线程共用消息队列。
基于同一发明构思,本申请实施例还提供了一种异步消息处理装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于异步消息处理装置解决问题的原理与上述方法相似,因此异步消息处理装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是本发明实施例中的异步消息处理装置的结构框图。如图6所示,该异步消息处理装置具体包括:前置依赖判断模块10以及处理调度模块20。
前置依赖判断模块10根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息。
其中,所述预设的消息处理依赖规则为消息处理依赖关系参数表,
所述前置依赖判断模块10包括:前置依赖判断单元。
前置依赖判断单元根据当前待处理异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前待处理异步消息是否存在前置依赖消息。
其中,该消息处理依赖规则由具体业务决定。
处理调度模块20根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息。
具体地,若当前待处理异步消息存在前置依赖消息且该前置依赖消息已经处理完毕时,则无需进行等待,直接处理当前待处理异步消息;若当前待处理异步消息存在前置依赖消息且该前置依赖消息尚未处理完毕时,则需要等待该前置依赖消息处理完成后,再处理当前待处理异步消息。另外,若当前待处理异步消息不存在前置依赖消息,则也进行等待,直接处理当前待处理异步消息。
通过上述技术方案可以得知,本发明实施例提供的异步消息处理装置,通过预先设定的消息处理依赖规则,识别消息的前置、后置处理依赖关系,确保前置消息处理后,才处理后置消息,从而能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性。
在一个可选的实施例中,该处理调度模块10包括:第一处理单元以及第二处理单元。
第一处理单元当所述当前待处理异步消息存在前置依赖消息时,根据所述前置依赖消息的消息关键字查询所述前置依赖消息是否处理完毕;若是,处理所述当前待处理异步消息;若否,将所述当前待处理异步消息加入消息队列。
另外,在对异步消息进行处理后,会记录该异步消息及其所对应的处理结果,根据消息关键字,就可以查到该异步消息是否以及处理完毕,即记录数据中是否包含该异步消息及其所对应的处理结果。
值得说明的是,如果前置依赖消息已经处理完毕,此时,无需进行等待,直接处理当前待处理异步消息即可;如果前置依赖消息尚未处理完毕时,则需要等待该前置依赖消息处理完成后,再处理当前待处理异步消息,以便按序处理异步消息。
第二处理单元当所述当前待处理异步消息不存在前置依赖消息时,处理所述当前待处理异步消息。
其中,根据消息的优先级和依赖关系设有多个消息队列。
另外,消息队列负责存在依赖关系的排队等待服务,主要提供消息的入队列、出队列功能。通过接收异步消息,并根据消息的优先级和依赖关系拆分设置多个消息队列。
在一个可选的实施例中,异步消息处理装置还可以包括:后置依赖判断模块以及后置处理模块。
后置依赖判断模块根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息。
其中,预设的消息处理依赖规则为消息处理依赖关系参数表,后置依赖判断模块可以包括:后置依赖判断单元
后置依赖判断单元根据当前处理的异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前处理的异步消息是否存在后置依赖消息。
后置处理模块在前处理的异步消息存在后置依赖消息时,获取并处理所述后置依赖消息,唤醒对该后置依赖消息的处理。
本领域技术人员可以理解的是,当前线程会在对消息进行处理后判断是否存在后置依赖消息并处理,如此循环往复,直至处理完没有后置依赖关系的最后一个异步消息。
通过采用上述方式,能够有效利用当前线程,避免多个线程同时处理有前后依赖关系的消息而造成的资源浪费,减少等待时间,提高消息处理效率和速度。
在一个可选的实施例中,该后置处理模块可以包括:后置消息判断单元以及后置消息处理单元。
后置消息判断单元根据所述后置依赖消息的消息关键字判断所述消息队列中是否存在所述后置依赖消息;
后置消息处理单元在消息队列中存在所述后置依赖消息时,取出并处理所述后置依赖消息。
在一个可选的实施例中,本发明提供的异步消息处理方法可提供消息正常处理和异常处理两个功能,正常处理是根据解析的消息类型、业务类型进行消息处理。
但是,消息在传输过程中可能存在丢失的情况,因此有可能存在由于前置消息丢失,导致后置消息无限等待的情况。为了解决此类问题,本发明实施例设置了异步消息处理功能,对于长时间等待消息进行出队列并启动异常消息处理流程。具体消息异常处理参数和超时时间需要提前设置,如通过“消息类型设置依赖关系表”设置。
具体地,该异步消息处理装置还可以包括:超时检测模块以及超时处理模块。
超时检测模块通过消息监控线程轮询各消息队列,检测所述消息队列中是否存在等待时间超过预设阈值的异步消息。
其中,该预设阈值根据具体的业务而定,范围在1秒~5分钟之间,例如3秒、10秒、20秒、30秒、40秒、50秒、1分钟、1分半、2分钟、2分半、3分钟、3分半、4分钟、4分半。
超时处理模块在消息队列中存在等待时间超过预设阈值的异步消息时,根据所述异步消息的消息类型、业务类型以及消息关键字,丢弃所述异步消息,或者,根据预设的容错处理规则处理所述异步消息。
通过上述技术方案可以得知,通过上述异常消息处理流程,能够有效防止在异步消息传输过程中因部分消息丢失导致长时间没有响应的问题,能够提高用户体验。
在一个可选的实施例中,该异步消息处理装置还可以包括:异步消息获取模块,用于获取异步消息。
其中,该异步消息由业务处理系统发送,另外,可以通过消息收发前置并发接收异步消息。
在一个可选的实施例中,该异步消息处理装置还可以包括:消息解析模块,用于解析异步消息得到对应的消息类型、业务类型以及消息关键字。
值得说明的是,为了提高处理消息性能和保证高可用性,支持同时设置多个消息处理线程,即设置多个异步消息处理装置并行工作,各异步消息处理装置结构如上所述,用于分别执行上述异步消息处理方法的步骤,以支持并发处理,参见图7。
另外,为了保证消息处理的一致性,多个异步消息处理装置共用消息队列。
上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为电子设备,具体的,电子设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的实例中电子设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现下述步骤:
根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;
根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息。
从上述描述可知,本发明实施例提供的电子设备,可用于处理异步消息,通过预先设定的消息处理依赖规则,识别消息的前置、后置处理依赖关系,确保前置消息处理后,才处理后置消息,从而能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性,降低了业务系统开发的复杂度。
下面参考图8,其示出了适于用来实现本申请实施例的电子设备600的结构示意图。
如图8所示,电子设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现下述步骤:
根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;
根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息。
从上述描述可知,本发明实施例提供的计算机可读存储介质,可用于处理异步消息,通过预先设定的消息处理依赖规则,识别消息的前置、后置处理依赖关系,确保前置消息处理后,才处理后置消息,从而能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性,降低了业务系统开发的复杂度。
在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (22)
1.一种异步消息处理方法,其特征在于,包括:
根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;
根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息。
2.根据权利要求1所述的异步消息处理方法,其特征在于,所述根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息,包括:
当所述当前待处理异步消息存在前置依赖消息时:
根据所述前置依赖消息的消息关键字查询所述前置依赖消息是否处理完毕;
若是,处理所述当前待处理异步消息;
若否,将所述当前待处理异步消息加入消息队列;
当所述当前待处理异步消息不存在前置依赖消息时:
处理所述当前待处理异步消息。
3.根据权利要求2所述的异步消息处理方法,其特征在于,根据消息的优先级和依赖关系设有多个消息队列。
4.根据权利要求1所述的异步消息处理方法,其特征在于,所述预设的消息处理依赖规则为消息处理依赖关系参数表,
所述根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息,包括:
根据当前待处理异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前待处理异步消息是否存在前置依赖消息。
5.根据权利要求1所述的异步消息处理方法,其特征在于,还包括:
根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息;
若是,获取并处理所述后置依赖消息。
6.根据权利要求5所述的异步消息处理方法,其特征在于,所述预设的消息处理依赖规则为消息处理依赖关系参数表,
所述根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息,包括:
根据当前处理的异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前处理的异步消息是否存在后置依赖消息。
7.根据权利要求5所述的异步消息处理方法,其特征在于,所述获取并处理所述后置依赖消息,包括:
根据所述后置依赖消息的消息关键字判断所述消息队列中是否存在所述后置依赖消息;
若是,取出并处理所述后置依赖消息。
8.根据权利要求2所述的异步消息处理方法,其特征在于,还包括:
检测所述消息队列中是否存在等待时间超过预设阈值的异步消息;
若是,根据所述异步消息的消息类型、业务类型以及消息关键字,丢弃所述异步消息,或者,根据预设的容错处理规则处理所述异步消息。
9.根据权利要求1所述的异步消息处理方法,其特征在于,还包括:
获取异步消息。
10.根据权利要求1所述的异步消息处理方法,其特征在于,还包括:
解析异步消息得到对应的消息类型、业务类型以及消息关键字。
11.一种异步消息处理装置,其特征在于,包括:
前置依赖判断模块,根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;
处理调度模块,根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息。
12.根据权利要求11所述的异步消息处理装置,其特征在于,所述处理调度模块包括:
第一处理单元,当所述当前待处理异步消息存在前置依赖消息时,根据所述前置依赖消息的消息关键字查询所述前置依赖消息是否处理完毕;若是,处理所述当前待处理异步消息;若否,将所述当前待处理异步消息加入消息队列;
第二处理单元,当所述当前待处理异步消息不存在前置依赖消息时,处理所述当前待处理异步消息。
13.根据权利要求12所述的异步消息处理装置,其特征在于,根据消息的优先级和依赖关系设有多个消息队列。
14.根据权利要求11所述的异步消息处理装置,其特征在于,所述预设的消息处理依赖规则为消息处理依赖关系参数表,
所述前置依赖判断模块包括:
前置依赖判断单元,根据当前待处理异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前待处理异步消息是否存在前置依赖消息。
15.根据权利要求11所述的异步消息处理装置,其特征在于,还包括:
后置依赖判断模块,根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息;
后置处理模块,当前处理的异步消息存在后置依赖消息时,获取并处理所述后置依赖消息。
16.根据权利要求15所述的异步消息处理装置,其特征在于,所述预设的消息处理依赖规则为消息处理依赖关系参数表,
所述后置依赖判断模块包括:
后置依赖判断单元,根据当前处理的异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前处理的异步消息是否存在后置依赖消息。
17.根据权利要求15所述的异步消息处理装置,其特征在于,所述后置处理模块包括:
后置消息判断单元,根据所述后置依赖消息的消息关键字判断所述消息队列中是否存在所述后置依赖消息;
后置消息处理单元,消息队列中存在所述后置依赖消息时,取出并处理所述后置依赖消息。
18.根据权利要求12所述的异步消息处理装置,其特征在于,还包括:
超时检测模块,检测所述消息队列中是否存在等待时间超过预设阈值的异步消息;
超时处理模块,消息队列中存在等待时间超过预设阈值的异步消息时,根据所述异步消息的消息类型、业务类型以及消息关键字,丢弃所述异步消息,或者,根据预设的容错处理规则处理所述异步消息。
19.根据权利要求11所述的异步消息处理装置,其特征在于,还包括:
异步消息获取模块,获取异步消息。
20.根据权利要求11所述的异步消息处理装置,其特征在于,还包括:
消息解析模块,解析异步消息得到对应的消息类型、业务类型以及消息关键字。
21.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至10任一项所述的异步消息处理方法的步骤。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10任一项所述的异步消息处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910474992.4A CN110221927B (zh) | 2019-06-03 | 2019-06-03 | 异步消息处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910474992.4A CN110221927B (zh) | 2019-06-03 | 2019-06-03 | 异步消息处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110221927A true CN110221927A (zh) | 2019-09-10 |
CN110221927B CN110221927B (zh) | 2021-11-09 |
Family
ID=67819476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910474992.4A Active CN110221927B (zh) | 2019-06-03 | 2019-06-03 | 异步消息处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110221927B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737537A (zh) * | 2019-09-24 | 2020-01-31 | 贝壳技术有限公司 | 一种合同消息处理方法、装置、电子设备和存储介质 |
CN110865891A (zh) * | 2019-09-29 | 2020-03-06 | 深圳市华力特电气有限公司 | 一种异步消息编排方法和装置 |
CN111580939A (zh) * | 2020-04-01 | 2020-08-25 | 微梦创科网络科技(中国)有限公司 | 一种分级异步处理事务的方法及装置 |
CN111880943A (zh) * | 2020-05-11 | 2020-11-03 | 紫光云技术有限公司 | 一种集群下云网络控制器的设备消息队列的处理方法 |
CN112988422A (zh) * | 2021-03-18 | 2021-06-18 | 北京京东乾石科技有限公司 | 一种异步消息处理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1236447A (zh) * | 1997-06-05 | 1999-11-24 | 微软公司 | 协调异步数据输入 |
US20060101148A1 (en) * | 2004-11-05 | 2006-05-11 | Christian Herrmann | Method, system, and program product for monitoring message flow in a message queuing system |
CN101315609A (zh) * | 2007-05-31 | 2008-12-03 | 华为技术有限公司 | 实现单进程中组件间进行通信的装置和方法 |
CN105068864A (zh) * | 2015-07-24 | 2015-11-18 | 北京京东尚科信息技术有限公司 | 处理异步消息队列的方法及系统 |
CN105389209A (zh) * | 2015-12-25 | 2016-03-09 | 中国建设银行股份有限公司 | 一种异步批量任务处理方法及系统 |
CN106126354A (zh) * | 2016-06-21 | 2016-11-16 | 中国建设银行股份有限公司 | 一种异步批量处理方法及系统 |
-
2019
- 2019-06-03 CN CN201910474992.4A patent/CN110221927B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1236447A (zh) * | 1997-06-05 | 1999-11-24 | 微软公司 | 协调异步数据输入 |
US20060101148A1 (en) * | 2004-11-05 | 2006-05-11 | Christian Herrmann | Method, system, and program product for monitoring message flow in a message queuing system |
CN101315609A (zh) * | 2007-05-31 | 2008-12-03 | 华为技术有限公司 | 实现单进程中组件间进行通信的装置和方法 |
CN105068864A (zh) * | 2015-07-24 | 2015-11-18 | 北京京东尚科信息技术有限公司 | 处理异步消息队列的方法及系统 |
CN105389209A (zh) * | 2015-12-25 | 2016-03-09 | 中国建设银行股份有限公司 | 一种异步批量任务处理方法及系统 |
CN106126354A (zh) * | 2016-06-21 | 2016-11-16 | 中国建设银行股份有限公司 | 一种异步批量处理方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737537A (zh) * | 2019-09-24 | 2020-01-31 | 贝壳技术有限公司 | 一种合同消息处理方法、装置、电子设备和存储介质 |
CN110737537B (zh) * | 2019-09-24 | 2022-09-30 | 贝壳技术有限公司 | 一种合同消息处理方法、装置、电子设备和存储介质 |
CN110865891A (zh) * | 2019-09-29 | 2020-03-06 | 深圳市华力特电气有限公司 | 一种异步消息编排方法和装置 |
CN110865891B (zh) * | 2019-09-29 | 2024-04-12 | 深圳市华力特电气有限公司 | 一种异步消息编排方法和装置 |
CN111580939A (zh) * | 2020-04-01 | 2020-08-25 | 微梦创科网络科技(中国)有限公司 | 一种分级异步处理事务的方法及装置 |
CN111580939B (zh) * | 2020-04-01 | 2023-09-01 | 微梦创科网络科技(中国)有限公司 | 一种分级异步处理事务的方法及装置 |
CN111880943A (zh) * | 2020-05-11 | 2020-11-03 | 紫光云技术有限公司 | 一种集群下云网络控制器的设备消息队列的处理方法 |
CN112988422A (zh) * | 2021-03-18 | 2021-06-18 | 北京京东乾石科技有限公司 | 一种异步消息处理方法、装置、电子设备及存储介质 |
CN112988422B (zh) * | 2021-03-18 | 2024-05-17 | 北京京东乾石科技有限公司 | 一种异步消息处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110221927B (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110221927A (zh) | 异步消息处理方法和装置 | |
US10338962B2 (en) | Use of metrics to control throttling and swapping in a message processing system | |
CN107729139B (zh) | 一种并发获取资源的方法和装置 | |
US8244822B1 (en) | Push notification delivery system | |
US10659371B1 (en) | Managing throttling limits in a distributed system | |
CN107656818A (zh) | 一种票据交易的流程实现方法及相关系统 | |
US10771365B2 (en) | Optimizing timeout settings for nodes in a workflow | |
CN109408286A (zh) | 数据处理方法、装置、系统、计算机可读存储介质 | |
CN111240812A (zh) | 任务执行方法及装置 | |
CN111881329A (zh) | 一种账户余额管理方法和系统 | |
US9426114B2 (en) | Parallel message processing on diverse messaging buses | |
CN113791876A (zh) | 用于处理任务的系统、方法和装置 | |
US20050154748A1 (en) | Analytical task execution | |
CN112508710B (zh) | 一种对账系统及相应计算机设备 | |
CN115250276A (zh) | 分布式系统及数据处理的方法和装置 | |
CN111353766A (zh) | 分布式业务系统的业务流程处理系统及方法 | |
CN111367680A (zh) | 一种作业任务分配方法、装置、服务器、系统及存储介质 | |
US9762708B2 (en) | Management of outbound transactions to an enterprise information system | |
CN114465974B (zh) | 推送消息的处理方法、装置、处理器及电子设备 | |
CN110378609B (zh) | 业务处理方法、业务处理装置、电子设备和介质 | |
CN112994894B (zh) | 基于网关的单线程请求处理方法和信息验证agent | |
CN111882118B (zh) | 一种决策系统和方法 | |
CN112579320A (zh) | 一种开放系统与zos系统之间的通信方法及装置 | |
CN116932249A (zh) | 基于分布式服务的多渠道消息推送方法、系统和装置 | |
CN117909033A (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 |