数据通信方法及装置制造方法及图纸

技术编号:14253826 阅读:100 留言:0更新日期:2016-12-22 16:16
本发明专利技术公开了一种数据通信方法,所述数据通信方法包括步骤:接收消费客户端发送的消息对应的状态值,其中,所述消费客户端在对消息进行业务逻辑处理完成时,返回处理结果的状态值,所述状态值包括成功、稍后重试、失败丢弃;当所述状态值为稍后重试时,调用延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列;在历时所述延迟消息队列对应的预设延迟时间后,将所述消息发送至重试消息队列。本发明专利技术还提出一种数据通信装置。本发明专利技术提高了消息队列服务器的消息处理效率。

【技术实现步骤摘要】

本专利技术涉及计算机通信
,尤其涉及一种数据通信方法及装置
技术介绍
消息队列系统RabbitMQ(Rabbit Message Queue)包括消息队列服务器RabbitMQ Server和消费客户端RabbitMQ Client,其中,消息队列服务器中配置有消息队列Queue。消息队列服务器在对消息进行消费处理时,将消息保存于消息队列中,供之后消费客户端消费消息队列中的消息。由于消息可能会消费成功,也可能会消费失败,在消息消费失败时,消费客户端会将消息发送至消息队列服务器,消息队列服务器在接收到消费失败的消息时,立即对该消费失败的消息重新投递至消费客户端继续进行消费处理,直至该消息消费成功,这就会造成一直对该消息进行多次消费处理,此过程中其他消息的消费处理就受到了阻碍,导致消息队列服务器的消息处理效率不高。
技术实现思路
本专利技术的主要目的在于提供一种数据通信方法和装置,旨在解决消息队列服务器的消息处理效率不高的技术问题。为实现上述目的,本专利技术提供一种数据通信方法,所述数据通信方法包括以下步骤:接收消费客户端发送的消息对应的状态值,其中,所述消费客户端在对消息进行业务逻辑处理完成时,返回处理结果的状态值,所述状态值包括成功、稍后重试、失败丢弃;当所述状态值为稍后重试时,调用延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列;在历时所述延迟消息队列对应的预设延迟时间后,将所述消息发送至重试消息队列。优选地,所述接收消费客户端发送的消息对应的状态值的步骤之前,还包括:将所述消息发送至所述消费客户端,以供所述消费客户端对所述消息进行业务逻辑处理,并通过回调函数返回处理结果的状态值;所述当所述状态值为稍后重试时,调用延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列的步骤包括:当所述状态值为稍后重试时,根据所述消息的消息头设置的重试次数,选择所述消息要发回的延迟交换机,并将所述消息发回选择的所述延迟消息交换机;调用所述延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列。优选地,所述当所述状态值为稍后重试时,根据所述消息的消息头设置的重试次数,选择所述消息要发回的延迟交换机的步骤包括:当所述状态值为稍后重试时,判断所述消息的消息头设置的重试次数是否小于预设的重试次数阈值;在所述重试次数小于所述重试次数阈值时,根据所述重试次数选择所述消息要发回的延迟交换机。优选地,所述当所述状态值为稍后重试时,判断所述消息的消息头设置的重试次数是否小于预设的重试次数阈值的步骤之后,还包括:在所述重试次数大于所述重试次数阈值时,将所述消息发送至死信消息队列。优选地,所述在历时所述延迟消息队列对应的预设延迟时间后,将所述消息发送至重试消息队列的步骤包括:在历时所述延迟消息队列对应的预设延迟时间后,将所述消息发送至所述延迟消息队列对应的重试消息交换机,并通过所述重试消息交换机将所述消息发送至所述重试消息队列。此外,为实现上述目的,本专利技术还提出一种数据通信装置,所述数据通信装置包括:接收模块,用于接收消费客户端发送的消息对应的状态值,其中,所述消费客户端在对消息进行业务逻辑处理完成时,返回处理结果的状态值,所述状态值包括成功、稍后重试、失败丢弃;发送模块,用于当所述状态值为稍后重试时,调用延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列;处理模块,用于在历时所述延迟消息队列对应的预设延迟时间后,将所述消息发送至重试消息队列。优选地,所述发送模块还用于:将所述消息发送至所述消费客户端,以供所述消费客户端对所述消息进行业务逻辑处理,并通过回调函数返回处理结果的状态值;以及当所述状态值为稍后重试时,根据所述消息的消息头设置的重试次数,选择所述消息要发回的延迟交换机,将所述消息发回选择的所述延迟消息交换机,并调用所述延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列。优选地,所述发送模块包括:判断单元,用于当所述状态值为稍后重试时,判断所述消息的消息头设置的重试次数是否小于预设的重试次数阈值;选择单元,用于在所述重试次数小于所述重试次数阈值时,根据所述重试次数选择所述消息要发回的延迟交换机。优选地,所述发送模块还用于:在所述重试次数大于所述重试次数阈值时,将所述消息发送至死信消息队列。优选地,所述处理模块用于:在历时所述延迟消息队列对应的预设延迟时间后,将所述消息发送至所述延迟消息队列对应的重试消息交换机,并通过所述重试消息交换机将所述消息发送至所述重试消息队列。本专利技术提出的数据通信方法及装置,当接收到消费客户端发送的消息对应的状态值为稍后重试时,调用延迟消息交换机将该消息发送至延迟消息交换机对应的延迟消息队列,并在历时该延迟消息队列对应的预设延迟时间后,将该消息发送至重试消息队列,供消费客户端对重试消息队列中的该消息进行消费。也即在消息消费失败时,并不是立即对该消息再次重新进行消费,直至该消息消费成功,而是经过一段延迟时间后再对该消息进行消费,在该延迟时间内,可以对其他消息进行消费处理,因此,提高了消息队列服务器的消息处理效率。附图说明图1为本专利技术数据通信方法第一实施例的流程示意图;图2为本专利技术数据通信方法第二实施例中当所述状态值为稍后重试时,调用延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列的细化流程示意图;图3为本专利技术数据通信装置第一实施例的功能模块示意图;图4为本专利技术数据通信装置第二实施例中发送模块的细化功能模块示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种数据通信方法。参照图1,图1为本专利技术数据通信方法第一实施例的流程示意图。在本实施例中,所述数据通信方法包括以下步骤:步骤S10,接收消费客户端发送的消息对应的状态值,其中,所述消费客户端在对消息进行业务逻辑处理完成时,返回处理结果的状态值,所述状态值包括成功、稍后重试、失败丢弃;消息队列系统RabbitMQ(Rabbit Message Queue)包括消息队列服务器RabbitMQ Server和消费客户端RabbitMQ Client,其中,消息队列服务器RabbitMQ Server中配置有延迟消息交换机Delay Exchange、重试消息交换机Redelivery Exchange、延迟消息队列Delay Queue、重试消息队列Retry Queue、死信消息队列Dead Letter Queue等。当消费客户端RabbitMQ Client对消息队列服务器RabbitMQ Server中的消息进行业务逻辑处理时,可能会消费成功,也有可能会消费失败。在对消息进行业务逻辑处理完成时,消费客户端RabbitMQ Client向消息队列服务器RabbitMQ Server返回对消息进行业务逻辑处理结果的状态值。其中,对消息进行业务逻辑处理结果的状态值包括成功、稍后重试、失败丢弃等等。例如,当消费客户端RabbitMQ Client消费消息失败时,消费客户端RabbitMQ Client将该消息发送至消息队列服务器RabbitMQ Server,并向消息队列服务器RabbitMQ Server返回稍后重本文档来自技高网...
数据通信方法及装置

【技术保护点】
一种数据通信方法,其特征在于,所述数据通信方法包括以下步骤:接收消费客户端发送的消息对应的状态值,其中,所述消费客户端在对消息进行业务逻辑处理完成时,返回处理结果的状态值,所述状态值包括成功、稍后重试、失败丢弃;当所述状态值为稍后重试时,调用延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列;在历时所述延迟消息队列对应的预设延迟时间后,将所述消息发送至重试消息队列。

【技术特征摘要】
1.一种数据通信方法,其特征在于,所述数据通信方法包括以下步骤:接收消费客户端发送的消息对应的状态值,其中,所述消费客户端在对消息进行业务逻辑处理完成时,返回处理结果的状态值,所述状态值包括成功、稍后重试、失败丢弃;当所述状态值为稍后重试时,调用延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列;在历时所述延迟消息队列对应的预设延迟时间后,将所述消息发送至重试消息队列。2.如权利要求1所述的数据通信方法,其特征在于,所述接收消费客户端发送的消息对应的状态值的步骤之前,还包括:将所述消息发送至所述消费客户端,以供所述消费客户端对所述消息进行业务逻辑处理,并通过回调函数返回处理结果的状态值;所述当所述状态值为稍后重试时,调用延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列的步骤包括:当所述状态值为稍后重试时,根据所述消息的消息头设置的重试次数,选择所述消息要发回的延迟消息交换机,并将所述消息发回选择的所述延迟消息交换机;调用所述延迟消息交换机将所述消息发送至所述延迟消息交换机对应的延迟消息队列。3.如权利要求2所述的数据通信方法,其特征在于,所述当所述状态值为稍后重试时,根据所述消息的消息头设置的重试次数,选择所述消息要发回的延迟交换机的步骤包括:当所述状态值为稍后重试时,判断所述消息的消息头设置的重试次数是否小于预设的重试次数阈值;在所述重试次数小于所述重试次数阈值时,根据所述重试次数选择所述消息要发回的延迟交换机。4.如权利要求3所述的数据通信方法,其特征在于,所述当所述状态值为稍后重试时,判断所述消息的消息头设置的重试次数是否小于预设的重试次数阈值的步骤之后,还包括:在所述重试次数大于所述重试次数阈值时,将所述消息发送至死信消息队列。5.如权利要求1-4任一项所述的数据通信方法,其特征在于,所述在历时所述延迟消息队列对应的预设延迟时间后,将所述消息发送至重试消息队...

【专利技术属性】
技术研发人员:张勇华朱乐超于鸿磊刘建刚
申请(专利权)人:广州唯品会信息科技有限公司
类型:发明
国别省市:广东;44

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

1