消息处理方法和系统技术方案

技术编号:23164003 阅读:60 留言:0更新日期:2020-01-21 22:26
本申请涉及数据处理技术,提供了一种消息处理方法和系统。该方法包括:消息比对服务器根据所获取到的已发送消息和已处理消息确定目标消息,将根据目标消息的目标消息标识生成的消息重发指令发送至消息发送设备;消息发送设备根据解析消息重发指令得到的目标消息标识确定消息存储服务器,通过消息发送客户端将目标消息发送至消息存储服务器;消息存储服务器将目标消息存储至消息主题;消息调度服务器通过已订阅消息主题的虚拟消息处理方实例读取目标消息,并将目标消息推送至消息处理设备;消息调度服务器在接收到消息处理设备反馈的提示信息时将目标消息确定为已处理消息并存储。采用本方法能够提高数据处理的可靠性。

【技术实现步骤摘要】
消息处理方法和系统
本申请涉及互联网
,特别是涉及一种消息处理方法和系统。
技术介绍
随着计算机技术和互联网技术的不断发展,互联网业务逐渐发展起来,随着互联网业务量的剧增,分布式系统应运而生,为互联网业务提供了可靠的保障。传统的分布式系统,消息发送设备直接将消息发送至消息处理设备,该种消息发送方式消息发送设备和消息处理设备之间的耦合度比较高,系统的伸缩性和可用性较低,且存在消息容易丢失的问题。如何保障分布式系统中消息的可靠性是值得关注的问题。目前,在分布式系统中引入了消息中间件,用于在消息发送设备和消息处理设备之间存储并传递消息,实现了消息的异步传递、系统解耦和流量的削峰平谷,提高了系统的可用性和可伸缩性。但是,目前采用的消息中间件,比如ActiveMQ和kafka,在异常情况下也均存在消息丢失的问题,使得部分消息不能被有效的处理,从而降低了消息处理的可靠性。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高消息处理的可靠性的消息处理方法和系统。一种消息处理方法,所述方法包括:消息比对服务器获取已发送消息和已处理消息,根据所述已发送消息和所述已处理消息确定待重发的目标消息,将根据所述目标消息所对应的目标消息标识生成的消息重发指令发送至消息发送设备;所述消息发送设备解析所述消息重发指令得到所述目标消息标识,根据所述目标消息标识确定预配置的消息存储服务器,并通过消息发送客户端将所述目标消息发送至所述消息存储服务器;所述消息存储服务器将接收到的目标消息存储至相应的消息主题;消息调度服务器通过已订阅所述消息主题的虚拟消息处理方实例,从所述消息主题中读取所述目标消息,将读取的所述目标消息推送至消息处理设备;所述消息调度服务器在接收到所述消息处理设备针对所述目标消息反馈的提示信息时,将所述目标消息确定为已处理消息并进行存储。在其中一个实施例中,所述方法还包括:所述消息发送设备获取业务请求,根据所述业务请求获取业务数据,根据所述业务数据进行业务处理,并触发生成消息;所述消息发送设备将所述业务数据存储至业务表,将所述消息存储至消息表,并实时检测所述业务处理的处理结果;当所述处理结果为处理成功时,所述消息发送设备将所述业务数据对应的业务处理状态更新至所述业务表,并将所述业务数据写入数据库;在将所述业务数据成功写入所述数据库后,所述消息发送设备通过所述消息发送客户端将所述消息发送至相应的消息存储服务器。在其中一个实施例中,所述消息发送设备通过所述消息发送客户端将所述消息发送至相应的消息存储服务器之后,所述方法还包括:所述消息发送设备实时检测所述消息的发送结果;当所述发送结果为发送成功时,所述消息发送设备将消息发送状态对应于所述消息更新至所述消息表;当所述发送结果为发送失败时,所述消息发送设备借助于所述消息发送客户端将所述消息重新发送至相应的所述消息存储服务器。在其中一个实施例中,所述消息发送设备通过所述消息发送客户端将所述消息发送至相应的消息存储服务器,包括:所述消息发送设备确定所述业务请求的消息发送类型,当所述消息发送类型为延迟消息发送类型时,将所述消息缓存至消息延迟队列,并实时统计所述消息的缓存时长;当统计的所述缓存时长达到所述业务请求所对应的预设延迟时长时,所述消息发送设备通过所述消息发送客户端从所述消息延迟队列中读取缓存的所述消息,并将读取的所述消息发送至相应的消息存储服务器。在其中一个实施例中,所述将读取的所述目标消息推送至消息处理设备之后,所述方法还包括:所述消息调度服务器接收所述消息处理设备针对所述目标消息反馈的消息送达结果,当所述消息送达结果为异常送达或报错时,将所述目标消息再次推送至所述消息处理设备;所述消息调度服务器实时统计所述消息送达结果的反馈等待时长,当统计的所述反馈等待时长达到预设等待时长时,将所述目标消息再次推送至所述消息处理设备。在其中一个实施例中,所述将读取的所述目标消息推送至消息处理设备之后,所述方法还包括:所述消息处理设备将所述目标消息所对应的目标消息标识与预存储的消息标识列表进行匹配;当匹配失败时,所述消息处理设备对所述目标消息进行处理,在所述目标消息处理完毕后将所述目标消息标识更新至所述消息标识列表中,并向所述消息调度服务器反馈提示信息。在其中一个实施例中,所述消息存储服务器多于一个;所述方法还包括:所述消息发送设备接收监控服务器推送的更新的配置文件,并通过所述消息发送客户端根据所述更新的配置文件更新预配置的消息存储服务器;所述更新的配置文件,是所述监控服务器在监听到多于一个的消息存储服务器中存在运行异常的消息存储服务器时,触发生成的配置文件。一种消息处理系统,所述系统包括:消息比对服务器、消息发送设备、消息存储服务器、消息调度服务器和消息处理设备;所述消息比对服务器,用于获取已发送消息和已处理消息,根据所述已发送消息和所述已处理消息确定待重发的目标消息,将根据所述目标消息所对应的目标消息标识生成的消息重发指令发送至所述消息发送设备;所述消息发送设备,用于解析所述消息重发指令得到所述目标消息标识,根据所述目标消息标识确定预配置的所述消息存储服务器,并通过消息发送客户端将所述目标消息发送至所述消息存储服务器;所述消息存储服务器,用于将接收到的目标消息存储至相应的消息主题;所述消息调度服务器,用于通过已订阅所述消息主题的虚拟消息处理方实例,从所述消息主题中读取所述目标消息,将读取的所述目标消息推送至所述消息处理设备;所述消息处理设备,用于对接收到的所述目标消息进行处理,并针对所述目标消息向所述消息调度服务器反馈提示信息;所述消息调度服务器,还用于在接收到所提示信息时,将所述目标消息确定为已处理消息并进行存储。在其中一个实施例中,所述消息发送设备,还用于获取业务请求,根据所述业务请求获取业务数据,根据所述业务数据进行业务处理,并触发生成消息;将所述业务数据存储至业务表,将所述消息存储至消息表,并实时检测所述业务处理的处理结果;当所述处理结果为处理成功时,将所述业务数据对应的业务处理状态更新至所述业务表,并将所述业务数据写入数据库;在将所述业务数据成功写入所述数据库后,通过所述消息发送客户端将所述消息发送至相应的消息存储服务器。在其中一个实施例中,所述消息存储服务器多于一个;所述系统还包括:监控服务器;所述监控服务器,用于监听多于一个的消息存储服务器的运行状态,在监听到所述多于一个的消息存储服务器中存在运行异常的消息存储服务器时,触发生成更新的配置文件;所述消息发送设备,还用于接收所述监控服务器推送的所述更新的配置文件,并通过所述消息发送客户端根据所述更新的配置文件更新预配置的消息存储服务器。上述消息处理方法和系统,消息比对服务器基于已发送消息和已处理消息确定待重发的目标消息,并针对该目标消本文档来自技高网...

【技术保护点】
1.一种消息处理方法,所述方法包括:/n消息比对服务器获取已发送消息和已处理消息,根据所述已发送消息和所述已处理消息确定待重发的目标消息,将根据所述目标消息所对应的目标消息标识生成的消息重发指令发送至消息发送设备;/n所述消息发送设备解析所述消息重发指令得到所述目标消息标识,根据所述目标消息标识确定预配置的消息存储服务器,并通过消息发送客户端将所述目标消息发送至所述消息存储服务器;/n所述消息存储服务器将接收到的目标消息存储至相应的消息主题;/n消息调度服务器通过已订阅所述消息主题的虚拟消息处理方实例,从所述消息主题中读取所述目标消息,将读取的所述目标消息推送至消息处理设备;/n所述消息调度服务器在接收到所述消息处理设备针对所述目标消息反馈的提示信息时,将所述目标消息确定为已处理消息并进行存储。/n

【技术特征摘要】
1.一种消息处理方法,所述方法包括:
消息比对服务器获取已发送消息和已处理消息,根据所述已发送消息和所述已处理消息确定待重发的目标消息,将根据所述目标消息所对应的目标消息标识生成的消息重发指令发送至消息发送设备;
所述消息发送设备解析所述消息重发指令得到所述目标消息标识,根据所述目标消息标识确定预配置的消息存储服务器,并通过消息发送客户端将所述目标消息发送至所述消息存储服务器;
所述消息存储服务器将接收到的目标消息存储至相应的消息主题;
消息调度服务器通过已订阅所述消息主题的虚拟消息处理方实例,从所述消息主题中读取所述目标消息,将读取的所述目标消息推送至消息处理设备;
所述消息调度服务器在接收到所述消息处理设备针对所述目标消息反馈的提示信息时,将所述目标消息确定为已处理消息并进行存储。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述消息发送设备获取业务请求,根据所述业务请求获取业务数据,根据所述业务数据进行业务处理,并触发生成消息;
所述消息发送设备将所述业务数据存储至业务表,将所述消息存储至消息表,并实时检测所述业务处理的处理结果;
当所述处理结果为处理成功时,所述消息发送设备将所述业务数据对应的业务处理状态更新至所述业务表,并将所述业务数据写入数据库;
在将所述业务数据成功写入所述数据库后,所述消息发送设备通过所述消息发送客户端将所述消息发送至相应的消息存储服务器。


3.根据权利要求2所述的方法,其特征在于,所述消息发送设备通过所述消息发送客户端将所述消息发送至相应的消息存储服务器之后,所述方法还包括:
所述消息发送设备实时检测所述消息的发送结果;
当所述发送结果为发送成功时,所述消息发送设备将消息发送状态对应于所述消息更新至所述消息表;
当所述发送结果为发送失败时,所述消息发送设备借助于所述消息发送客户端将所述消息重新发送至相应的所述消息存储服务器。


4.根据权利要求2所述的方法,其特征在于,所述消息发送设备通过所述消息发送客户端将所述消息发送至相应的消息存储服务器,包括:
所述消息发送设备确定所述业务请求的消息发送类型,当所述消息发送类型为延迟消息发送类型时,将所述消息缓存至消息延迟队列,并实时统计所述消息的缓存时长;
当统计的所述缓存时长达到所述业务请求所对应的预设延迟时长时,所述消息发送设备通过所述消息发送客户端从所述消息延迟队列中读取缓存的所述消息,并将读取的所述消息发送至相应的消息存储服务器。


5.根据权利要求1所述的方法,其特征在于,所述将读取的所述目标消息推送至消息处理设备之后,所述方法还包括:
所述消息调度服务器接收所述消息处理设备针对所述目标消息反馈的消息送达结果,当所述消息送达结果为异常送达或报错时,将所述目标消息再次推送至所述消息处理设备;
所述消息调度服务器实时统计所述消息送达结果的反馈等待时长,当统计的所述反馈等待时长达到预设等待时长时,将所述目标消息再次推送至所...

【专利技术属性】
技术研发人员:李貌
申请(专利权)人:上海陆家嘴国际金融资产交易市场股份有限公司
类型:发明
国别省市:上海;31

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

1