消息处理方法、装置及系统制造方法及图纸

技术编号:17195869 阅读:21 留言:0更新日期:2018-02-03 22:39
本申请实施例公开了一种消息处理方法、装置及系统,用以实现异构系统间消息的可靠传递。所述方法包括:接收消息生产者发送的携带有序列标识信息的消息,所述序列标识信息由所述消息生产者根据所述消息的生成时间所生成;根据所述消息对应的序列标识信息对所述消息进行排序,得到各消息对应的消息序列;按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者,以使所述消息消费者根据所述消息执行相关业务。该技术方案确保了消息的消费和发送在顺序上的一致性,进而确保消息在异构系统间的可靠传递,避免消息的消费顺序和发送顺序不一致时导致相关业务紊乱的情况。

【技术实现步骤摘要】
消息处理方法、装置及系统
本专利技术涉及通信
,尤其涉及一种消息处理方法、装置及系统。
技术介绍
消息中间件是一套系统(或平台),用于应用程序之间进行通信,该系统通过消息传递完成各应用程序之间的交互。消息生产者作为消息产生和发送的应用,消息消费者作为接收及处理消息的应用,二者通过消息中间件的消息传递机制完成对消息的消费。目前的消息传递机制仍然不够完善,主要体现在以下几个方面:第一,消息的消费顺序与发送顺序不一致;第二,由于网络危险期的存在,消息生产者与消息中间件之间、消息中间件与消息消费者之间可能存在消息重复投递的情况,导致消息被重复消费,从而增加消息消费者的工作压力。因此,需要一种更加完善的消息传递机制解决上述问题。
技术实现思路
本申请实施例的目的是提供一种消息处理方法、装置及系统,用以实现异构系统间消息的可靠传递。为解决上述技术问题,本申请实施例是这样实现的:一方面,本申请实施例提供一种消息处理方法,应用于消息中间件,包括:接收消息生产者发送的携带有序列标识信息的消息,所述序列标识信息由所述消息生产者根据所述消息的生成时间所生成;根据所述消息对应的序列标识信息对所述消息进行排序,得到各消息对应的消息序列;按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者,以使所述消息消费者根据所述消息执行相关业务。可选地,所述序列标识信息由所述消息生产者从预定数值开始、并根据所述消息的生成时间采用自增长方式生成。可选地,所述消息还携带有业务标识信息;所述消息中间件预先创建有至少一个消息队列;根据所述消息对应的序列标识信息对所述消息进行排序,得到各消息对应的消息序列,包括:根据所述业务标识信息确定所述消息对应的消息队列;在所述消息队列中,根据所述消息对应的序列标识信息对所述消息进行排序,得到所述消息队列中的各消息对应的消息序列。可选地,根据所述业务标识信息确定所述消息对应的消息队列,包括:对所述业务标识信息进行取模运算,得到取模结果;将具有相同取模结果的业务标识信息所对应的消息分配至同一消息队列。可选地,按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者,包括:按照所述消息序列中所述各消息的顺序,将所述各消息中的第一消息转发至所述消息消费者;响应于接收到来自所述消息消费者的用于标识所述第一消息已被成功接收的反馈信息,继续将所述各消息中的第二消息转发至所述消息消费者,所述第二消息为与所述第一消息相邻的、排序在所述第一消息之后的消息。可选地,按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者,还包括:若预设时长内未接收到所述反馈信息,则再次将所述第一消息转发至所述消息消费者,直至接收到所述反馈信息;若重复转发所述第一消息预设次数之后、仍未接收到所述反馈信息,则停止对所述第一消息的转发操作,继续将所述第二消息转发至所述消息消费者。另一方面,本申请实施例提供一种消息处理方法,应用于消息消费者,包括:接收消息中间件发送的携带有序列标识信息的消息,所述序列标识信息由消息生产者根据所述消息的生成时间所生成;根据所述消息对应的序列标识信息,将所述消息按序存储至预先创建的消息日志表中;按照所述消息日志表中各消息的顺序,依次执行所述消息对应的相关业务。可选地,将所述消息按序存储至预先创建的消息日志表中之后,所述方法还包括:在所述消息日志表中,根据所述消息对应的序列标识信息对所述消息进行去重处理。再一方面,本申请实施例提供一种消息处理装置,应用于消息中间件,包括:第一接收模块,用于接收消息生产者发送的携带有序列标识信息的消息,所述序列标识信息由所述消息生产者根据所述消息的生成时间所生成;排序模块,用于根据所述消息对应的序列标识信息对所述消息进行排序,得到各消息对应的消息序列;转发模块,用于按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者,以使所述消息消费者根据所述消息执行相关业务。再一方面,本申请实施例提供一种消息处理装置,应用于消息消费者,包括:第二接收模块,用于接收消息中间件发送的携带有序列标识信息的消息,所述序列标识信息由消息生产者根据所述消息的生成时间所生成;存储模块,用于根据所述消息对应的序列标识信息,将所述消息按序存储至预先创建的消息日志表中;执行模块,用于按照所述消息日志表中各消息的顺序,依次执行所述消息对应的相关业务。再一方面,本申请实施例提供一种消息处理系统,包括:消息生产者,用于生成消息,以及根据所述消息的生成时间为所述消息生成序列标识信息;将携带有所述序列标识信息的消息发送至消息中间件;所述消息中间件,用于接收所述消息生产者发送的携带有所述序列标识信息的消息;根据所述消息对应的序列标识信息对所述消息进行排序,得到各消息对应的消息序列;按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者;所述消息消费者,用于接收所述消息中间件发送的携带有所述序列标识信息的消息;根据所述消息对应的序列标识信息,将所述消息按序存储至预先创建的消息日志表中;按照所述消息日志表中各消息的顺序,依次执行所述消息对应的相关业务。采用本专利技术实施例的技术方案,当接收到消息生产者发送的携带有序列标识信息的消息时,能够根据消息对应的序列标识信息对消息进行排序,得到各消息对应的消息序列,进而按照消息序列中各消息的顺序依次将各消息转发至消息消费者。因此,该技术方案能够在消息发送至消息中间件时,由消息中间件对消息进行排序后按序转发,以确保消息的消费和发送在顺序上的一致性,进而确保消息在异构系统间的可靠传递,避免消息的消费顺序和发送顺序不一致时导致相关业务紊乱的情况。进一步地,该技术方案中,消息消费者能够根据消息对应的序列标识信息对消息进行去重处理,从而避免消息的重复投递现象。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术一实施例的一种消息处理系统的示意性框图;图2是根据本专利技术一实施例的一种消息处理方法的示意性流程图;图3是根据本专利技术一实施例的一种消息处理方法中消息队列的示意性框图;图4是根据本专利技术另一实施例的一种消息处理方法的示意性流程图;图5是根据本专利技术另一实施例的一种消息处理方法的示意性流程图;图6是根据本专利技术一实施例的一种消息处理装置的示意性框图;图7是根据本专利技术另一实施例的一种消息处理装置的示意性框图。具体实施方式本申请实施例提供一种消息处理方法、装置及系统,用以实现异构系统间消息的可靠传递。为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。图1是根据本专利技术一实施例的一种消息处理系统的示意性框图。如图1所示,消息处理系统包括消息生产者110、消息中间本文档来自技高网
...
消息处理方法、装置及系统

【技术保护点】
一种消息处理方法,其特征在于,应用于消息中间件,包括:接收消息生产者发送的携带有序列标识信息的消息,所述序列标识信息由所述消息生产者根据所述消息的生成时间所生成;根据所述消息对应的序列标识信息对所述消息进行排序,得到各消息对应的消息序列;按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者,以使所述消息消费者根据所述消息执行相关业务。

【技术特征摘要】
1.一种消息处理方法,其特征在于,应用于消息中间件,包括:接收消息生产者发送的携带有序列标识信息的消息,所述序列标识信息由所述消息生产者根据所述消息的生成时间所生成;根据所述消息对应的序列标识信息对所述消息进行排序,得到各消息对应的消息序列;按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者,以使所述消息消费者根据所述消息执行相关业务。2.根据权利要求1所述的方法,其特征在于,所述序列标识信息由所述消息生产者从预定数值开始、并根据所述消息的生成时间采用自增长方式生成。3.根据权利要求1所述的方法,其特征在于,所述消息还携带有业务标识信息;所述消息中间件预先创建有至少一个消息队列;根据所述消息对应的序列标识信息对所述消息进行排序,得到各消息对应的消息序列,包括:根据所述业务标识信息确定所述消息对应的消息队列;在所述消息队列中,根据所述消息对应的序列标识信息对所述消息进行排序,得到所述消息队列中的各消息对应的消息序列。4.根据权利要求3所述的方法,其特征在于,根据所述业务标识信息确定所述消息对应的消息队列,包括:对所述业务标识信息进行取模运算,得到取模结果;将具有相同取模结果的业务标识信息所对应的消息分配至同一消息队列。5.根据权利要求1所述的方法,其特征在于,按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者,包括:按照所述消息序列中所述各消息的顺序,将所述各消息中的第一消息转发至所述消息消费者;响应于接收到来自所述消息消费者的用于标识所述第一消息已被成功接收的反馈信息,继续将所述各消息中的第二消息转发至所述消息消费者,所述第二消息为与所述第一消息相邻的、排序在所述第一消息之后的消息。6.根据权利要求5所述的方法,其特征在于,按照所述消息序列中所述各消息的顺序,依次将所述各消息转发至消息消费者,还包括:若预设时长内未接收到所述反馈信息,则再次将所述第一消息转发至所述消息消费者,直至接收到所述反馈信息;若重复转发所述第一消息预设次数之后、仍未接收到所述反馈信息,则停止对所述第一消息的转发操作,继续将所述第二消息转发至所述消息消费者。7.一种消息处理方法,其...

【专利技术属性】
技术研发人员:张甫何继远杨光润张恒吴定彭小波
申请(专利权)人:上海艾融软件股份有限公司
类型:发明
国别省市:上海,31

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

1