一种基于ActiveMQ数据总线的消息处理方法、装置及电子设备制造方法及图纸

技术编号:17265093 阅读:53 留言:0更新日期:2018-02-14 12:28
本发明专利技术实施例提供了一种基于ActiveMQ数据总线的消息处理方法、装置及电子设备,所述方法包括:接收消息生成端发送的消息,将消息保存在预设存储空间;从预设存储空间获取该消息,使用第一线程对该消息进行处理;当对该消息处理失败时,从预设存储空间再次获取该消息,使用第二线程对该消息进行处理,直至对该消息处理成功或对所该消息的处理次数达到预设数量阈值。使得当对该消息处理失败时,不再需要消息生成端重新发送消息,避免网络质量对消息接收端进行重试时的影响。

A message processing method, device and electronic device based on ActiveMQ data bus

The embodiment of the invention relates to a processing method, ActiveMQ data bus message based device and an electronic device is provided, the method comprises: receiving message generation sends a message, the message will be stored in the default storage space; from the default storage space gets the message, the use of a thread to handle the message; when the failure message processing, from the default storage space once again to get the message, using second threads to process the message, the message until the number of successful treatment or processing of the message reaches the preset threshold number. So when the message processing fails, it is no longer necessary for the message generation terminal to send messages again, so as to avoid the impact of network quality on the message receiver's retry.

【技术实现步骤摘要】
一种基于ActiveMQ数据总线的消息处理方法、装置及电子设备
本专利技术涉及计算机
,特别是涉及一种基于ActiveMQ数据总线的消息处理方法、装置及电子设备。
技术介绍
ActiveMQ是应用广泛,性能强大的数据总线软件,在应用程序之间,或分布式系统中,用于消息的传递。并且,ActiveMQ可以应用在不同编程语言构成的运行环境下,所以当需要集成不同平台不同编程语言编写应用程序的时候,ActiveMQ拥有巨大优势,多种不同编程语言构成的客户端可以通过ActiveMQ发送和接收消息。具体的,一台设备可以通过ActiveMQ作为消息生成端,生成消息,另一台设备可以作为消息接收端,通过ActiveMQ接收消息生成端生成的消息,并进行相应的处理。`在消息传输过程中,消息生成端通过网络将消息发送至消息接收端,消息接收端获取消息后对消息进行相应处理,然而,消息接收端在对消息进行处理的过程中可能会发生错误,导致消息处理失败,使得该消息丢失或失效。当消息处理失败时,ActiveMQ具有重试机制,消息生成端可以将消息重新发送至消息接收端。然而,在上述重试机制中,消息生成端在通过网络重新发送消息时,网络质量的好坏直接影响了ActiveMQ重试机制的响应速度。若网络质量不好,则消息接收端会延时收到重发的消息,进而降低了运行效率。并且,消息接收端通过ActiveMQ重试机制重新对消息进行处理时,无法对后续所获得的消息进行处理,如果发生多次重试会阻塞后续消息的及时处理,造成消息的积压。
技术实现思路
本专利技术实施例的目的在于提供一种基于ActiveMQ数据总线的消息处理方法、装置及电子设备,以避免网络质量对于ActiveMQ重试机制的影响,并且避免消息的积压。具体技术方案如下:本专利技术实施例公开了一种基于ActiveMQ数据总线的消息处理方法,应用于消息接收端,包括:接收消息生成端发送的消息,将所述消息保存在预设存储空间;从所述预设存储空间获取所述消息,使用第一线程对所述消息进行处理;当对所述消息处理失败时,从所述预设存储空间再次获取所述消息,使用第二线程对所述消息进行处理,直至对所述消息处理成功或对所述消息的处理次数达到预设数量阈值。可选的,所述使用第一线程对所述消息进行处理之后,所述方法还包括:当对所述消息处理成功时,将所述消息从所述预设存储空间删除。可选的,所述方法还包括:当所述消息接收端重新启动时,从所述预设存储空间获取预设时间段内的全部消息,并对所述全部消息进行处理。可选的,所述预设存储空间至少包括:分布式数据库或本地磁盘。可选的,接收消息生成端发送的消息之后,所述方法还包括:向所述消息生成端发送确认报文。本专利技术实施例公开了一种基于ActiveMQ数据总线的消息处理装置,应用于消息接收端,包括:保存模块,用于接收消息生成端发送的消息,将所述消息保存在预设存储空间;处理模块,从所述预设存储空间获取所述消息,使用第一线程对所述消息进行处理;重试模块,当对所述消息处理失败时,从所述预设存储空间再次获取所述消息,使用第二线程对所述消息进行处理,直至对所述消息处理成功或对所述消息的处理次数达到预设数量阈值。可选的,所述装置还包括:删除模块,用于当对所述消息处理成功时,将所述消息从所述预设存储空间删除。可选的,所述装置还包括:回放模块,用于当所述消息接收端重新启动时,从所述预设存储空间获取预设时间段内的全部消息,并对所述全部消息进行处理。可选的,所述的装置中的所述预设存储空间至少包括:分布式数据库或本地磁盘。可选的,所述装置还包括:发送模块,用于向所述消息生成端发送确认报文。本专利技术实施例公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现本专利技术实施例中的基于ActiveMQ数据总线的消息处理方法。在本专利技术实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本专利技术实施例中的基于ActiveMQ数据总线的消息处理方法。在本专利技术实施的又一方面,本专利技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本专利技术实施例中的基于ActiveMQ数据总线的消息处理方法。本专利技术实施例提供的一种基于ActiveMQ数据总线的消息处理方法、装置及电子设备,当接收到消息后将消息保存在预设存储空间,并使用第一线程对该消息进行处理,当对该消息处理失败,可以直接从预设存储空间获取消息,并且使用第二线程对该消息进行处理。从而不再需要消息生成端重新发送消息,避免网络质量对消息接收端进行重试时的影响。并且由于采用的另外的线程对需要重试的消息进行处理,使得可以同时对后续获得的消息进行同步的处理,避免消息的积压。当然,实施本专利技术的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1为本专利技术实施例提供的基于ActiveMQ数据总线的消息处理方法的流程图;图2为本专利技术实施例提供的基于ActiveMQ数据总线的消息处理方法的另一种流程图;图3为本专利技术实施例提供的基于ActiveMQ数据总线的消息处理方法的再一种流程图;图4为本专利技术实施例提供的基于ActiveMQ数据总线的消息处理方法的再一种流程图;图5为本专利技术实施例提供的基于ActiveMQ数据总线的消息处理装置的结构图;图6为应用本专利技术实施例提供的基于ActiveMQ数据总线的消息处理装置的示意图;图7为应用本专利技术实施例提供的电子设备的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行描述。本专利技术实施例中,消息接收端可以为终端、服务器等设备,只要基于ActiveMQ数据总线进行消息传输和处理的设备,都可以作为消息接收端并应用本专利技术实施例提供的消息处理方法。当消息接收端通过ActiveMQ接收到消息后,可以先将消息保存在预设存储空间,然后使用第一线程对该消息进行处理;当对该消息处理失败,发生消息丢失或失效时,可以直接从预设存储空间再次获取消息,并且使用第二线程对该消息进行处理,第二线程与第一线程为相互独立的并行的线程。从而可以实现对处理失败的消息的再次进行处理时,不会影响到对后续消息的处理,并且由于消息被存储于预设存储空间,不再需要从消息生成端重新发送该消息,避免传输消息的网络质量对消息进行重新处理时的影响。参见图1,图1为本专利技术实施例提供的基于ActiveMQ数据总线的消息处理方法的流程图,应用于消息接收端,包括:步骤101,接收消息生成端发送的消息,将消息保存在预设存储空间。消息接收端可以是能够用于数据处理的电子设备,例如个人计算机或服务器等等。消息接收端可以通过ActiveMQ数据总线接收消息生成端发送的消息。其中消息可以是各种数据信息或控制信息,可以由消息生成端产生,并由消息接收端接收并进行相应的处理。消息接收端接收到消息生成端发送的消息之后,可以将该消息首先保存在预设存储空间,而不是直接对该消息进行处理。预设存储空间本文档来自技高网...
一种基于ActiveMQ数据总线的消息处理方法、装置及电子设备

【技术保护点】
一种基于ActiveMQ数据总线的消息处理方法,其特征在于,应用于消息接收端,包括:接收消息生成端发送的消息,将所述消息保存在预设存储空间;从所述预设存储空间获取所述消息,使用第一线程对所述消息进行处理;当对所述消息处理失败时,从所述预设存储空间再次获取所述消息,使用第二线程对所述消息进行处理,直至对所述消息处理成功或对所述消息的处理次数达到预设数量阈值。

【技术特征摘要】
1.一种基于ActiveMQ数据总线的消息处理方法,其特征在于,应用于消息接收端,包括:接收消息生成端发送的消息,将所述消息保存在预设存储空间;从所述预设存储空间获取所述消息,使用第一线程对所述消息进行处理;当对所述消息处理失败时,从所述预设存储空间再次获取所述消息,使用第二线程对所述消息进行处理,直至对所述消息处理成功或对所述消息的处理次数达到预设数量阈值。2.根据权利要求1所述的方法,其特征在于,所述使用第一线程对所述消息进行处理之后,所述方法还包括:当对所述消息处理成功时,将所述消息从所述预设存储空间删除。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述消息接收端重新启动时,从所述预设存储空间获取预设时间段内的全部消息,并对所述全部消息进行处理。4.根据权利要求1所述的方法,其特征在于,所述预设存储空间至少包括:分布式数据库或本地磁盘。5.根据权利要求1-4任一项所述的方法,其特征在于,接收消息生成端发送的消息之后,所述方法还包括:向所述消息生成端发送确认报文。6.一种基于ActiveMQ数据总线的消息处理装置,其特征在于,应用于消息接收端,包括:保存模块,用于接收消息生成端发送的消息,将...

【专利技术属性】
技术研发人员:王亚洲武绍龙
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

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

1