消息发送方法、装置、系统、设备及介质制造方法及图纸

技术编号:33652568 阅读:21 留言:0更新日期:2022-06-02 20:31
本发明专利技术实施例涉及一种消息发送方法、装置、系统、设备及介质,该消息发送方法包括将事务触发的消息存储至数据库,在所述消息存储至数据库成功的情况下执行所述事务;在所述事务执行成功的情况下,将所述消息发送给消息中间件;以及查询所述数据库中未被成功发送的消息,将所述未被成功发送的消息重新发送给所述消息中间件。消息中间件。消息中间件。

【技术实现步骤摘要】
消息发送方法、装置、系统、设备及介质


[0001]本专利技术涉及计算机
,尤其涉及一种消息发送方法、装置、系统、设备及介质。

技术介绍

[0002]随着消息中间件在计算机技术中的广泛应用和对消息的使用的不断加重,为保证事务一致性引入了事务消息,在本地事务执行成功的前提下允许消息中间件将消息发送给远程事务,而普通消息则不具备这种特性。
[0003]在实现本专利技术构思的过程中,专利技术人发现相关技术中至少存在如下技术问题:若要在现有的系统已经接入了普通消息的情况下实现事务消息,由于普通消息和事务消息不兼容,需要大规模改造消息的生成者和消费者的代码来实现,例如,相关技术中采用二阶段提交的方式可以实现事务消息,但需要大规模改造消息的生成者和消费者的代码来,代价非常大,接入成本高,且在网络中断等情况下会导致消息丢失,无法保证消息成功发送给消息队列,无法确保消息的可靠性投递。

技术实现思路

[0004]第一方面,本专利技术的实施例提供了一种消息发送方法,上述消息发送方法包括:将事务触发的消息存储至数据库,在上述消息存储至数据本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种消息发送方法,其特征在于,包括:将事务触发的消息存储至数据库,在所述消息存储至数据库成功的情况下执行所述事务;在所述事务执行成功的情况下,将所述消息发送给消息中间件;查询所述数据库中未被成功发送的消息,将所述未被成功发送的消息重新发送给所述消息中间件。2.根据权利要求1所述的方法,其特征在于,所述将事务触发的消息存储至数据库,在所述消息存储至数据库成功的情况下执行所述事务,包括:根据预设键值结构生成所述消息对应的键值对,其中,所述预设键值结构包含表征消息的状态信息的字段;将所述消息对应的键值对存储至所述数据库,将所述消息的状态信息设置为待执行并执行所述事务。3.根据权利要求2所述的方法,其特征在于,所述在所述事务执行成功的情况下,将所述消息发送给消息中间件,包括:在所述事务执行成功的情况下,将所述消息的状态信息更新为待发送;将状态信息为待发送的消息发送给消息中间件。4.根据权利要求3所述的方法,其特征在于,所述消息对应的键值对包含所述消息的主键,还包括:在所述数据库中创建主键数据集,并将所述消息的主键存储至所述主键数据集。5.根据权利要求4所述的方法,其特征在于,在将状态信息为待发送的消息发送给消息中间件之后,还包括:根据所述消息中间件返回的发送成功通知,确定所述消息被成功发送给消息中间件;将所述消息的状态信息更新为已发送;从所述主键数据集中删除状态信息为已发送的消息的主键。6.根据权利要求5所述的方法,其特征在于,所述查询所述数据库中未被成功发送的消息,将所述未被成功发送的消息重新发送给所述消息中间件,包括:查询所述主键数据集中存储的主键,将所述主键对应的消息确定为未被成功发送的消息;将所述未被...

【专利技术属性】
技术研发人员:马江王顺达刘尧
申请(专利权)人:京东科技控股股份有限公司
类型:发明
国别省市:

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

1