异步消息处理方法和装置制造方法及图纸

技术编号:22075399 阅读:27 留言:0更新日期:2019-09-12 14:02
本发明专利技术提供一种异步消息处理方法和装置,该异步消息处理方法包括:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息,即:通过预先设定的消息处理依赖规则,识别消息的前置、后置处理依赖关系,确保前置消息处理后,才处理后置消息,从而能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性,降低了业务系统开发的复杂度。

Asynchronous Message Processing Method and Device

【技术实现步骤摘要】
异步消息处理方法和装置
本专利技术涉及信息处理
,尤其涉及一种异步消息处理方法和装置。
技术介绍
目前,异步消息的数据传递方式在各类大型系统中应用广泛。通过异步消息交互机制可以有效地降低不同系统间的耦合度,降低系统开发复杂度,且通过高并发处理提升系统处理性能。然而,也正是这种处理方式是异步的,且存在高并发的情况,从而导致消息传递之前不能保证有序性,例如A消息比B消息先到达,但是由于消息是异步并发处理,处理B消息的线程可能比处理A消息的线程更快,从而导致无法保证消息的按序处理。对于一些复杂的业务处理系统,业务的按序处理是业务正常执行的基础。
技术实现思路
有鉴于此,本专利技术提供一种异步消息处理方法和装置、电子设备以及计算机可读存储介质,能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性。为了实现上述目的,本专利技术采用如下技术方案:第一方面,提供一种异步消息处理方法,包括:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息。进一步地,该根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息,包括:当该当前待处理异步消息存在前置依赖消息时:根据该前置依赖消息的消息关键字查询该前置依赖消息是否处理完毕;若是,处理该当前待处理异步消息;若否,将该当前待处理异步消息加入消息队列;当该当前待处理异步消息不存在前置依赖消息时:处理该当前待处理异步消息。进一步地,根据消息的优先级和依赖关系设有多个消息队列。进一步地,该预设的消息处理依赖规则为消息处理依赖关系参数表,该根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息,包括:根据当前待处理异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前待处理异步消息是否存在前置依赖消息。进一步地,异步消息处理方法还包括:根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息;若是,获取并处理该后置依赖消息。进一步地,该预设的消息处理依赖规则为消息处理依赖关系参数表,该根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息,包括:根据当前处理的异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前处理的异步消息是否存在后置依赖消息。进一步地,该获取并处理该后置依赖消息,包括:根据该后置依赖消息的消息关键字判断该消息队列中是否存在该后置依赖消息;若是,取出并处理该后置依赖消息。进一步地,异步消息处理方法还包括:检测该消息队列中是否存在等待时间超过预设阈值的异步消息;若是,根据该异步消息的消息类型、业务类型以及消息关键字,丢弃该异步消息,或者,根据预设的容错处理规则处理该异步消息。进一步地,异步消息处理方法还包括:获取异步消息。进一步地,异步消息处理方法还包括:解析异步消息得到对应的消息类型、业务类型以及消息关键字。第二方面,提供一种异步消息处理装置,包括:前置依赖判断模块,根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;处理调度模块,根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息。进一步地,该处理调度模块包括:第一处理单元,当该当前待处理异步消息存在前置依赖消息时,根据该前置依赖消息的消息关键字查询该前置依赖消息是否处理完毕;若是,处理该当前待处理异步消息;若否,将该当前待处理异步消息加入消息队列;第二处理单元,当该当前待处理异步消息不存在前置依赖消息时,处理该当前待处理异步消息。进一步地,根据消息的优先级和依赖关系设有多个消息队列。进一步地,该预设的消息处理依赖规则为消息处理依赖关系参数表,该前置依赖判断模块包括:前置依赖判断单元,根据当前待处理异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前待处理异步消息是否存在前置依赖消息。进一步地,异步消息处理装置还包括:后置依赖判断模块,根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息;后置处理模块,当前处理的异步消息存在后置依赖消息时,获取并处理该后置依赖消息。进一步地,该预设的消息处理依赖规则为消息处理依赖关系参数表,该后置依赖判断模块包括:后置依赖判断单元,根据当前处理的异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前处理的异步消息是否存在后置依赖消息。进一步地,该后置处理模块包括:后置消息判断单元,根据该后置依赖消息的消息关键字判断该消息队列中是否存在该后置依赖消息;后置消息处理单元,消息队列中存在该后置依赖消息时,取出并处理该后置依赖消息。进一步地,异步消息处理装置还包括:超时检测模块,检测该消息队列中是否存在等待时间超过预设阈值的异步消息;超时处理模块,消息队列中存在等待时间超过预设阈值的异步消息时,根据该异步消息的消息类型、业务类型以及消息关键字,丢弃该异步消息,或者,根据预设的容错处理规则处理该异步消息。进一步地,异步消息处理装置还包括:异步消息获取模块,获取异步消息。进一步地,异步消息处理装置还包括:消息解析模块,解析异步消息得到对应的消息类型、业务类型以及消息关键字。第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息。第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,,该计算机程序被处理器执行时实现:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息。本专利技术提供一种异步消息处理方法和装置、电子设备以及计算机可读存储介质,该异步消息处理方法包括:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度该当前待处理异步消息,即:通过预先设定的消息处理依赖规则,识别消息的前置、后置处理依赖关系,确保前置消息处理后,才处理后置消息,从而能够将无序的异步消息按照具体业务要求按序处理,进而保证业务处理的正确性,降低了业务系统开发的复杂度。为让本专利技术的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1为本专利技术实施例中的服务器S1与客户端设备B1之间的架构示意图;图2为本专利技术实施例中的服务器S1、客户端设备B1及数据库服务器S2之间的架构示意图;图3是本专利技术实施例中的异步消息处理方法的流程示意图一;图4是本专利技术实施例中的异步消息处理方法的流程示意图二;图5是本专利技术实施例中的异步消息处理方法的流程示意图三;图6是本专利技术实施例中的异步消息处理装置的结构框图;图7示出了多个异步消息处理装置共享消息本文档来自技高网...

【技术保护点】
1.一种异步消息处理方法,其特征在于,包括:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息。

【技术特征摘要】
1.一种异步消息处理方法,其特征在于,包括:根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息。2.根据权利要求1所述的异步消息处理方法,其特征在于,所述根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息,包括:当所述当前待处理异步消息存在前置依赖消息时:根据所述前置依赖消息的消息关键字查询所述前置依赖消息是否处理完毕;若是,处理所述当前待处理异步消息;若否,将所述当前待处理异步消息加入消息队列;当所述当前待处理异步消息不存在前置依赖消息时:处理所述当前待处理异步消息。3.根据权利要求2所述的异步消息处理方法,其特征在于,根据消息的优先级和依赖关系设有多个消息队列。4.根据权利要求1所述的异步消息处理方法,其特征在于,所述预设的消息处理依赖规则为消息处理依赖关系参数表,所述根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息,包括:根据当前待处理异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前待处理异步消息是否存在前置依赖消息。5.根据权利要求1所述的异步消息处理方法,其特征在于,还包括:根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息;若是,获取并处理所述后置依赖消息。6.根据权利要求5所述的异步消息处理方法,其特征在于,所述预设的消息处理依赖规则为消息处理依赖关系参数表,所述根据预设的消息处理依赖规则识别当前处理的异步消息是否存在后置依赖消息,包括:根据当前处理的异步消息的消息类型和/或业务类型、消息处理依赖关系参数表识别当前处理的异步消息是否存在后置依赖消息。7.根据权利要求5所述的异步消息处理方法,其特征在于,所述获取并处理所述后置依赖消息,包括:根据所述后置依赖消息的消息关键字判断所述消息队列中是否存在所述后置依赖消息;若是,取出并处理所述后置依赖消息。8.根据权利要求2所述的异步消息处理方法,其特征在于,还包括:检测所述消息队列中是否存在等待时间超过预设阈值的异步消息;若是,根据所述异步消息的消息类型、业务类型以及消息关键字,丢弃所述异步消息,或者,根据预设的容错处理规则处理所述异步消息。9.根据权利要求1所述的异步消息处理方法,其特征在于,还包括:获取异步消息。10.根据权利要求1所述的异步消息处理方法,其特征在于,还包括:解析异步消息得到对应的消息类型、业务类型以及消息关键字。11.一种异步消息处理装置,其特征在于,包括:前置依赖判断模块,根据预设的消息处理依赖规则识别当前待处理异步消息是否存在前置依赖消息;处理调度模块,根据识别结果以及前置依赖消息的处理状态处理调度所述当前待处理异步消息。12.根据权利要求11所述的异步消...

【专利技术属性】
技术研发人员:胡贤明蒋忆成庞文龙吴欢
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1