一种消息中间件MQ的消息传输方法和装置制造方法及图纸

技术编号:11644875 阅读:177 留言:0更新日期:2015-06-25 04:02
本发明专利技术提供一种消息中间件MQ的传输方法和装置,其方法包括:获取所需要传输的目标消息,并确定与所述目标消息相邻的消息在日志数据库中的标记信息是否为传输失败,如果是,则将所述目标消息转存入日志数据库中,否则,对所述目标消息进行传输,并判断传输结果;在传输结果为传输失败时,将所述目标消息转存入日志数据库中,并标记所述目标消息传输失败,在传输结果为传输成功时,将所述目标消息存入消息队列,并同步到日志数据库中,并标记所述目标消息传输成功;根据预先设置的重试机制,对所述日志数据库中标记信息为传输失败的消息进行重新传输,以提高消息的可靠性。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,特别涉及一种消息中间件MQ的消息传输方法和装置
技术介绍
MQ(通信队列)作为一种消息中间件,用于将发送端的消息转发给消费端,以实现发送端与消费端之间的通信。目前,利用消息中间件MQ的消息传输方式可以包括:发送端成功将多个消息依次发送给消息中间件MQ,以使消息中间件MQ在接收到每个消息时,将接收到的消息传入消息队列中,然后将消息队列中的多个消息依次发送给消费端,以供消息消费端消费。当发送端发送消息失败时,则舍弃该发送失败的消息,或,消费端消费消息失败时,则舍弃该消费失败的消息。由于舍弃了发送失败的消息或消费失败的消息,对发送端向消费端发送消息的完整性造成了影响,因此,现有的消息中间件MQ消息传输技术使消息的可靠性较低。
技术实现思路
本专利技术提供一种消息中间件MQ的消息传输方法和装置,以提高消息的可靠性。一种消息中间件MQ的传输方法,包括:获取所需要传输的目标消息,并确定与所述目标消息相邻的消息在日志数据库中的标记信息;在确定所述标记信息为传输失败时,将所述目标消息转存入日志数据库中,并标记所述目标消息传输失败;否则,对所述目标消息进行传输,并判断传输结果;在传输结果为传输失败时,将所述目标消息转存入日志数据库中,并标记所述目标消息传输失败,在传输结果为传输成功时,将所述目标消息存入消息队列,并同步到日志数据库中,并标记所述目标消息传输成功;根据预先设置的重试机制,对所述日志数据库中标记信息为传输失败的消息进行重新传输。优选地,对所述日志数据库中标记信息为传输失败的消息进行重新传输之后,进一步包括:在所述日志表中对重新传输成功的消息所对应的标记信息修改为传输成功。优选地,所述目标消息的传输包括:发送,和/或,消费;进一步包括:所述日志数据库利用发送端日志表保存发送的目标消息以及标记信息,和/或,所述日志数据库利用消费端日志表保存消费的目标消息以及标记信息;确定与所述目标消息相邻的消息在日志数据库中的标记信息,包括:确定与所述发送状态的目标消息相邻的消息在所述发送端日志表中的标记信息,和/或,确定与所述消费状态目标消息相邻的消息在所述消费端日志表中的标记信息;将所述目标消息转存入日志数据库中,包括:将所述发送状态目标消息转存入所述发送端日志表中,和/或,将所述消费状态目标消息转存入所述消费端日志表中。优选地,所述重试机制进一步包括:定时器;在将所述目标消息进行重新传输失败时,继续等待定时器所设定的时间,并在到达定时器所设定的时间时,将所述目标消息进行重新传输;或,在将所述目标消息进行重新传输失败时,将日志数据库中其他等待重新传输的消息进行逐个传输。优选地,进一步包括:在将所述目标消息进行重新传输的次数达到重试机制中所设定的阈值次数时,调用预警接口进行预警提示。一种消息中间件MQ的传输装置,包括:确定单元,用于获取所需要传输的目标消息,并确定与所述目标消息相邻的消息在日志数据库中的标记信息;转存单元,用于在所述确定单元确定所述标记信息为传输失败时,将所述目标消息转存入日志数据库中,并标记所述目标消息传输失败;传输单元,用于在在所述确定单元确定所述标记信息为传输成功时,对所述目标消息进行传输,触发判断单元;所述判断单元,用于判断所述传输单元的传输结果,在传输结果为传输失败时,将所述目标消息转存入日志数据库中,并标记所述目标消息传输失败,在传输结果为传输成功时,将所述目标消息存入消息队列,并同步到日志数据库中,并标记所述目标消息传输成功;重试单元,用于根据预先设置的重试机制,对所述日志数据库中标记信息为传输失败的消息进行重新传输。优选地,该装置进一步包括:修改单元,所述修改单元,用于将所述重试单元重试传输成功的消息所对应的标记信息修改为传输成功。优选地,该装置进一步包括:保存单元,其中,所述目标消息的传输包括:发送,和/或,消费;所述保存单元,用于所述日志数据库利用发送端日志表保存发送的目标消息以及标记信息,和/或,所述日志数据库利用消费端日志表保存消费的目标消息以及标记信息;所述确定单元,进一步用于确定与所述发送状态的目标消息相邻的消息在所述发送端日志表中的标记信息,和/或,确定与所述消费状态目标消息相邻的消息在所述消费端日志表中的标记信息;所述转存单元,进一步用于将所述发送状态目标消息转存入所述发送端日志表中,和/或,将所述消费状态目标消息转存入所述消费端日志表中。优选地,所述重试单元,进一步用于:在将所述目标消息进行重新传输失败时,继续等待定时器所设定的时间,并在到达定时器所设定的时间时,将所述目标消息进行重新传输;或,在将所述目标消息进行重新传输失败时,将日志数据库中其他等待重新传输的消息进行逐个传输。优选地,该装置进一步包括:预警单元,所述预警单元,用于在将所述目标消息进行重新传输的次数达到重试机制中所设定的阈值次数时,调用预警接口进行预警提示。本专利技术实施例提供了一种消息中间件MQ的消息传输方法和装置,其通过获取所需要传输的目标消息,并确定与所述目标消息相邻的消息在日志数据库中的标记信息;在确定所述标记信息为传输失败时,将所述目标消息转存入日志数据库中,并标记所述目标消息传输失败;否则,对所述目标消息进行传输,并判断传输结果;在传输结果为传输失败时,将所述目标消息转存入日志数据库中,并标记所述目标消息传输失败,在传输结果为传输成功时,将所述目标消息存入消息队列,并同步到日志数据库中,并标记所述目标消息传输成功;根据预先设置的重试机制,对所述日志数据库中标记信息为传输失败的消息进行重新传输。在这一过程中,由于传输失败的消息将转存入所述日志数据库,与现有技术相比,其不会丢失所述传输失败的消息,因此,有效提高了提高消息的可靠性。本专利技术实施例通过重试机制和具有阀值的预警接口,可以将日志数据库中传输失败的消息自动重试,通过预警接口可以发送预警信息,提醒工作人员处理传输过程中的问题,也进一步提高了消息的可靠性。本专利技术实施例通过对发送端发送失败消息进行转存,可以防止发送消息的丢失,对消费端消费失败消息进行转存,不仅可有效防止消费消息丢失,而且可以有效防止消息循环造成的队列堵塞。【附图说明】图1是本专利技术实施例提供的消息中间件MQ的消息传输方法流程图;图2是本专利技术另一实施例提供的消息中间件MQ接收发送端发送消息的方法流程图;图3是本专利技术又一实施例提供的消息中间件MQ为消费端发送消费消息的方法流程图;图4是本专利技术实施例提供的消息中间件MQ的传输装置所在架构示意图;图5是本专利技术实施例提供的消息中间件MQ的传输装置结构示意图;图6是本专利技术另一实施例提供的消息中间件MQ的传输装置结构示意图;图7是本专利技术又一实施例提供的消息中间件MQ的传输装置结构示意图;图8是本专利技术又一实施例提供的消息中间件MQ的传输装置结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本当前第1页1 2 3 4 本文档来自技高网...
一种消息中间件MQ的消息传输方法和装置

【技术保护点】
一种消息中间件MQ的传输方法,其特征在于,包括:获取所需要传输的目标消息,并确定与所述目标消息相邻的消息在日志数据库中的标记信息;在确定所述标记信息为传输失败时,将所述目标消息转存入日志数据库中,并标记所述目标消息传输失败;否则,对所述目标消息进行传输,并判断传输结果;在传输结果为传输失败时,将所述目标消息转存入日志数据库中,并标记所述目标消息传输失败,在传输结果为传输成功时,将所述目标消息存入消息队列,并同步到日志数据库中,并标记所述目标消息传输成功;根据预先设置的重试机制,对所述日志数据库中标记信息为传输失败的消息进行重新传输。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘艺于振梅刘传浩张田
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

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

1