基于消息队列的业务请求重传方法、装置及可读存储介质制造方法及图纸

技术编号:19702861 阅读:21 留言:0更新日期:2018-12-08 14:21
本申请公开一种基于消息队列的业务请求重传方法、装置及可读存储介质。该方法包括:发送业务消息队列中的业务请求;以及当在一预设的时间阈值内未收到所述业务请求的响应消息或者检测到所述业务请求发送失败时,根据预设的配置文件链,将所述业务请求放入多个重试消息队列中的第一重试消息队列中;其中,所述多个重试消息队列具有不同的消息过期时间;所述配置文件链用于确定所述业务请求在所述多个重试消息队列中的路由顺序。该方法能够实现不同频率的重发请求,且可以降低业务服务器的负载及提高消息安全性。

【技术实现步骤摘要】
基于消息队列的业务请求重传方法、装置及可读存储介质
本专利技术涉及计算机网络应用技术,具体而言,涉及一种基于消息队列的业务请求重传方法、装置、设备及可读存储介质。
技术介绍
在电商系统中,多个系统平台之间需要进行通信,当第一次通信失败后,可能需要间隔不同时间频率发起重试。例如台账反查业务。台账反查是指用户在网上商城平台充值手机话费时,用户选择对应面值并进行支付后,支付平台会将用户支付结果通知网上商城平台,之后网上商城平台再根据用户支付结果进行后续充值动作。而如果用户支付完成后,支付平台没有及时将用户支付结果通知网上商城平台,则网上商城平台会主动通过接口方式去支付平台进行用户支付结果的查询。目前,网上商城平台是通过定时任务查询缓存,循环不同时间段支付未确认信息来进行台账反查的。但通过该种方法每次查询时都需要循环缓存,会大幅增加业务服务器的开销,即使当前时间段内没有需要反查的订单,定时任务也会被启动去扫描缓存。此外,待反查订单暂缓在JVM(JavaVirtualMachine,JAVA虚拟机)缓存中,存在数据安全的问题。在所述
技术介绍
部分公开的上述信息仅用于加强对本专利技术的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本专利技术提供一种基于消息队列的业务请求重传方法、装置、设备及可读存储介质,能够实现不同频率的重发请求,且可以降低业务服务器的负载及提高消息安全性。本专利技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本专利技术的实践而习得。根据本专利技术的一方面,提供一种基于消息队列的业务请求重传方法,包括:发送业务消息队列中的业务请求;以及当在一预设的时间阈值内未收到所述业务请求的响应消息或者检测到所述业务请求发送失败时,根据预设的配置文件链,将所述业务请求放入多个重试消息队列中的第一重试消息队列中;其中,所述多个重试消息队列具有不同的消息过期时间;所述配置文件链用于确定所述业务请求在所述多个重试消息队列中的路由顺序。根据本专利技术的一实施方式,上述方法还包括:当所述业务请求在所述第一重试消息队列中的消息过期时间到期时,将所述业务请求放入到重分发总消息队列中;根据所述业务请求的属性,将所述业务请求从所述重分发总消息队列中路由到所述业务消息队列中;以及重发所述业务消息队列中的所述业务请求。根据本专利技术的一实施方式,在所述重发所述业务消息队列中的所述业务请求之后,上述方法还包括:当在所述时间阈值内未收到所述业务请求的响应消息或者检测到所述业务请求重发失败时,根据预设的配置文件链,将所述业务请求放入所述多个重试消息队列中的第二重试消息队列中;其中,所述第二重试消息队列的消息过期时间长于所述第一重试消息队列的消息过期时间。根据本专利技术的一实施方式,所述多个重试消息队列均为死信队列。根据本专利技术的一实施方式,上述方法还包括:将接收到的所述业务请求放入到接收总消息队列中;以及根据所述业务请求的属性,将所述业务请求从所述接收总消息队列中路由到所述业务消息队列中。根据本专利技术的另一个方面,提供一种基于消息队列的业务请求重传装置,包括:业务请求发送模块,用于发送业务消息队列中的业务请求;以及业务请求处理模块,用于当在一预设的时间阈值内未收到所述业务请求的响应消息或者检测到所述业务请求发送失败时,根据预设的配置文件链,将所述业务请求放入多个重试消息队列中的第一重试消息队列中;其中,所述多个重试消息队列具有不同的消息过期时间;所述配置文件链用于确定所述业务请求在所述多个重试消息队列中的路由顺序。根据本专利技术的一实施方式,上述装置还包括:业务请求重分发模块,用于当所述业务请求在所述第一重试消息队列中的消息过期时间到期时,将所述业务请求放入到重分发总消息队列中;业务请求路由模块,用于根据所述业务请求的属性,将所述业务请求从所述重分发总消息队列中路由到所述业务消息队列中;以及业务请求重发模块,用于重发所述业务消息队列中的所述业务请求。根据本专利技术的一实施方式,所述业务请求处理模块还用于:在所述业务请求重发模块重发所述业务消息队列中的所述业务请求之后,当在所述时间阈值内未收到所述业务请求的响应消息或者检测到所述业务请求重发失败时,根据预设的配置文件链,将所述业务请求放入所述多个重试消息队列中的第二重试消息队列中;其中,所述第二重试消息队列的消息过期时间长于所述第一重试消息队列的消息过期时间。根据本专利技术的一实施方式,所述多个重试消息队列均为死信队列。根据本专利技术的一实施方式,上述装置还包括:业务请求接收模块,用于将接收到的所述业务请求放入到接收总消息队列中;其中,所述业务请求路由模块还用于根据所述业务请求的属性,将所述业务请求从所述接收总消息队列中路由到所述业务消息队列中。根据本专利技术的再一个方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任意一种方法。根据本专利技术的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行如上述任意一种基于消息队列的业务请求重传方法的步骤。根据本专利技术实施方式的基于消息队列的业务请求重传方法,利用设置具有不同的消息过期时间的重试消息队列,可实现不同频率的重发请求,且将业务请求放到消息队列中,可以降低业务服务器的负载及提高消息安全性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本专利技术。附图说明通过参照附图详细描述其示例实施例,本专利技术的上述和其它目标、特征及优点将变得更加显而易见。图1是根据一示例性实施方式示出的本专利技术方法的应用场景。图2是根据一示例性实施方式示出的一种基于消息队列的业务请求重传方法的流程图。图3是根据一示例性实施方式示出的应用于本专利技术方法的系统的架构图。图4是根据一示例性实施方式示出的另一种基于消息队列的业务请求重传方法的流程图。图5是根据一示例示出的业务请求的路由示意图。图6是根据一示例示出的业务请求流向示意图。图7是根据一示例性实施方式示出的一种基于消息队列的业务请求重传装置的框图。图8是根据一示例性实施方式示出的一种电子设备的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本专利技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本专利技术的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本专利技术的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本专利技术的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本专利技术的各方面变得模糊。消息队列(MessageQueue,MQ)是一种存放消息的队列,其以同步或异步方式为分布式应用提供了松耦合方法。消息队列可用在应用中以执行多种功能,比如本文档来自技高网...

【技术保护点】
1.一种基于消息队列的业务请求重传方法,其特征在于,包括:发送业务消息队列中的业务请求;以及当在一预设的时间阈值内未收到所述业务请求的响应消息或者检测到所述业务请求发送失败时,根据预设的配置文件链,将所述业务请求放入多个重试消息队列中的第一重试消息队列中;其中,所述多个重试消息队列具有不同的消息过期时间;所述配置文件链用于确定所述业务请求在所述多个重试消息队列中的路由顺序。

【技术特征摘要】
1.一种基于消息队列的业务请求重传方法,其特征在于,包括:发送业务消息队列中的业务请求;以及当在一预设的时间阈值内未收到所述业务请求的响应消息或者检测到所述业务请求发送失败时,根据预设的配置文件链,将所述业务请求放入多个重试消息队列中的第一重试消息队列中;其中,所述多个重试消息队列具有不同的消息过期时间;所述配置文件链用于确定所述业务请求在所述多个重试消息队列中的路由顺序。2.根据权利要求1所述的方法,其特征在于,还包括:当所述业务请求在所述第一重试消息队列中的消息过期时间到期时,将所述业务请求放入到重分发总消息队列中;根据所述业务请求的属性,将所述业务请求从所述重分发总消息队列中路由到所述业务消息队列中;以及重发所述业务消息队列中的所述业务请求。3.根据权利要求2所述的方法,其特征在于,在所述重发所述业务消息队列中的所述业务请求之后,所述方法还包括:当在所述时间阈值内未收到所述业务请求的响应消息或者检测到所述业务请求重发失败时,根据预设的配置文件链,将所述业务请求放入所述多个重试消息队列中的第二重试消息队列中;其中,所述第二重试消息队列的消息过期时间长于所述第一重试消息队列的消息过期时间。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述多个重试消息队列均为死信队列。5.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:将接收到的所述业务请求放入到接收总消息队列中;以及根据所述业务请求的属性,将所述业务请求从所述接收总消息队列中路由到所述业务消息队列中。6.一种基于消息队列的业务请求重传装置,其特征在于,包括:业务请求发送模块,用于发送业务消息队列中的业务请求;以及业务请求处理模块,用于当在一预设的时间阈值内未收到所述业务请求的响应消息或者检测到所述业务请求发送失败时,根据预设的配置文件链,将所述业务请求放入多个重...

【专利技术属性】
技术研发人员:董志强
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1