CN112702371A - 一种消息发送方法、装置及智能终端 - Google Patents
一种消息发送方法、装置及智能终端 Download PDFInfo
- Publication number
- CN112702371A CN112702371A CN201911007607.1A CN201911007607A CN112702371A CN 112702371 A CN112702371 A CN 112702371A CN 201911007607 A CN201911007607 A CN 201911007607A CN 112702371 A CN112702371 A CN 112702371A
- Authority
- CN
- China
- Prior art keywords
- message
- sent
- preset
- sending
- storage area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供的消息发送方法、装置及智能终端,应用于互联网技术领域,该方法在获取待发送消息之后,首先将待发送消息持久化至预设存储区,然后发送待发送消息至目标消息中间件,该目标消息中间件在对该待发送消息进行持久化处理后,反馈第一预设消息,如果未收到第一预设消息且未达到预设结束条件,则重新发送预设存储区中存储的待发送消息。本发明提供的方法,首先对待发送消息进行持久化处理,进一步的,如果没有接收到目标消息中间件反馈的第一预设消息,则重新发送预设存储区中存储的待发送消息,直至消息发送成功或达到预设结束条件,本方法基于持久化处理以及在预设条件下对待发送消息的重发处理,可以有效提高消息成功发送的几率。
Description
技术领域
本发明属于互联网技术领域,尤其涉及一种消息发送方法、装置及智能终端。
背景技术
消息中间件利用高效可靠的消息传递机制进行平台无关的数据传递,能在不同平台之间通信,常被用来屏蔽掉各种平台及协议之间的特性,实现应用程序之间的协同,为应用系统提供高效、灵活的消息同步和异步传输处理,并在大规模分布式环境下确保消息安全、可靠、高效送达。
一般情况下,消息中间件服务器在接收到消息发送方发送的消息之后,会将所得消息暂存于内存之中,如果消息中间件服务器突然发生宕机,存储于内存中的消息将全部丢失,造成消息发送失败,当然,如果在消息发送至消息中间件的过程中,消息中间件服务器宕机,同样也会造成消息发送失败。
因此,如何提高消息成功发送的几率,成为本领域技术人员亟待解决的技术问题之一。
发明内容
有鉴于此,本发明的目的在于提供一种消息发送方法、装置及智能终端,对待发送消息进行持久化处理,并在预设情况下重新发送待发送消息,从而提高消息成功发送的几率,具体方案如下:
第一方面,本发明提供一种消息发送方法,包括:
获取待发送消息;
将所述待发送消息持久化至预设存储区;
发送所述待发送消息至目标消息中间件;
在未接收到第一预设消息且未达到预设结束条件的情况下,重新发送所述预设存储区中存储的所述待发送消息,其中,所述第一预设消息由所述目标消息中间件在持久化所述待发送消息的情况下反馈。
可选的,在所述发送所述待发送消息至目标消息中间件之前,所述方法还包括:
标记所述预设存储区中的所述待发送消息的状态为发送中。
可选的,所述重新发送所述预设存储区中存储的所述待发送消息,包括:
按照预设重发周期读取所述预设存储区中,状态为发送中的待发送消息,并重新发送所述状态为发送中的待发送消息。
可选的,本发明实施例提供的消息发送方法,还包括:若接收到所述第一预设消息,删除所述预设存储区中的所述待发送消息。
可选的,本发明实施例提供的消息发送方法,还包括:若接收到所述目标消息中间件在接收所述待发送消息失败的情况下反馈的第二预设消息,发送表征发送失败的预设提示信息;
或者,删除所述预设存储区中的所述待发送消息;
或者,执行所述重新发送所述预设存储区中存储的所述待发送消息步骤,直至接收到所述第一预设消息或达到所述预设结束条件。
可选的,判断达到所述预设结束条件的过程,包括:
统计重新发送所述预设存储区中存储的所述待发送消息的次数,得到重发次数;
若所述重发次数达到预设重发次数阈值,判定达到所述预设结束条件。
第二方面,本发明提供一种消息发送装置,包括:
获取单元,用于获取待发送消息;
持久化单元,用于将所述待发送消息持久化至预设存储区;
发送单元,用于发送所述待发送消息至目标消息中间件;
重发单元,用于在未接收到第一预设消息且未达到预设结束条件的情况下,重新发送所述预设存储区中存储的所述待发送消息,其中,所述第一预设消息由所述目标消息中间件在持久化所述待发送消息的情况下反馈。
可选的,本发明第二方面提供的消息发送装置,还包括:
标记单元,用于标记所述预设存储区中的所述待发送消息的状态为发送中。
可选的,所述重发单元,用于重新发送所述预设存储区中存储的所述待发送消息时,具体包括:
按照预设重发周期读取所述预设存储区中,状态为发送中的待发送消息,并重新发送所述状态为发送中的待发送消息。
第三方面,本发明提供一种智能终端,包括:存储器和处理器;所述存储器存储有适于所述处理器执行的程序,以实现本发明第一方面任一项所述的消息发送方法。
基于上述技术方案,本发明提供的消息发送方法,在获取待发送消息之后,首先将待发送消息持久化至预设存储区,然后发送待发送消息至目标消息中间件,该目标消息中间件在接收到待发送消息后会对该待发送消息进行持久化处理,并反馈第一预设消息,如果未收到目标消息中间件反馈的第一预设消息且未达到预设结束条件,则重新发送预设存储区中存储的待发送消息。本发明提供的消息发送方法,首先对待发送消息进行持久化处理,确保待发送消息可以重复获取,进一步的,如果没有接收到目标消息中间件反馈的第一预设消息,判定目标消息中间件没有成功的持久化该待发送消息,即消息发送失败,则重新发送预设存储区中存储的待发送消息,直至消息发送成功或达到预设结束条件,结束对待发送消息的发送过程,本方法基于持久化处理以及在预设条件下对待发送消息的重发处理,可以有效提高消息成功发送的几率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种消息发送方法的流程图;
图2是本发明实施例提供的消息发送方法中采用snowflake算法生成消息的ID标识的示意图;
图3是本发明实施例提供的一种消息发送装置的结构框图;
图4是本发明实施例提供的另一种消息发送装置的结构框图;
图5是本发明实施例提供的再一种消息发送装置的结构框图;
图6是本发明实施例提供的又一种消息发送装置的结构框图;
图7是本发明实施例提供的一种智能终端的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的消息发送方法流程图,该方法可应用于可应用于电子设备,该电子设备可选如笔记本电脑、智能手机、PC(个人计算机)等具有消息发送能力的终端设备,显然,该电子设备在某些情况下也可选用网络侧的服务器实现;参照图1,本发明实施例提供的消息发送方法,可以包括:
步骤S100,获取待发送消息。
可选的,作为执行本发明实施例提供的消息发送方法的智能终端,其所获取的待发送消息可以来源于第三方消息生产者,当然,智能终端本身也可以作为消息生产者,根据智能终端使用者的操作或者输入的指令,直接生成待发送消息。
其中,对于待发送消息来源于第三方消息生产者的情况,可以采用现有技术中的消息获取方法进行获取,本发明实施例对于待发送消息的具体获取方法不做限定。
步骤S110,将待发送消息持久化至预设存储区。
在获取得到待发送消息后,即可对待发送消息进行本地持久化处理,即将待发送消息存储至预设存储区中。通过对待发送消息的持久化处理,不仅可以实现待发送消息的可靠存储,即使在发送待发送消息的过程中,智能终端因意外突然出现宕机或其他故障,导致存储于内存中的待发送消息丢失,依然可以在智能终端恢复正常后,从预设存储区中读取待发送消息,进而实现待发送消息的重复获取,同时,对待发送消息进行持久化处理,还可以节省重发待发送消息时,获取待发送消息的耗时,提高消息发送的效率。
可选的,对于预设存储区的选取,可以选用Redis Server或数据库。进一步的,建议优先选用Redis Server,以充分利用Redis Server中高性能、低资源消耗的数据存储服务。
步骤S120,发送待发送消息至目标消息中间件。
在完成待发送消息在本地的持久化处理后,即可执行发送操作,将待发送消息发送至目标消息中间件。其中,本发明实施例中述及的目标消息中间件,指的是与智能终端建立消息传递通道、能够进行消息传递的任意一个或多个消息中间件。
需要说明的是,对于智能终端发送待发送消息至目标消息中间件的方法,可以参照现有技术中的实现方式实现,本发明对于待发送消息的发送过程不做限定。
步骤S130,判断是否接收到第一预设消息或达到预设结束条件,若否,执行S140,若是,执行S150。
目标消息中间件在接收到智能终端发送的待发送消息后,同样会对所接收的待发送消息进行持久化处理,即将待发送消息从内存中存储至磁盘当中。由于在成功转发待发送消息之前,目标消息中间件所接收的待发送消息存储于目标消息中间件的服务器的内存之中,如果中间件的服务器突然宕机,必然会造成存储于内存中的待发送消息丢失,因此,在发明实施例中,目标消息中间件在接收到智能终端发送的待发送消息后,同样针对待发送消息进行持久化处理,并在持久化完成后向智能终端反馈第一预设消息,通知智能终端已完成待发送消息的持久化处理。
进一步的,由于本发明实施例所提供的消息发送方法,对于判定发送失败的待发送消息,还会进行重新发送处理,为防止重发过程进入死循环,还设置有预设退出条件。对于是否满足预设退出条件的判断,后续内容再行详细展开,此处暂不详述。
如果智能终端未接收到第一预设消息且未达到预设结束条件,则执行S140,重新发送预设存储区中存储的待发送消息;相反的,如果智能终端接收到第一预设消息或达到预设结束条件,则执行S150,结束发送过程。
需要说明的是,未接收到目标消息中间件反馈的第一预设消息的情况可能有多种,比如,目标消息中间件在持久化待发送消息的过程中出现故障,持久化过程无法进行,或者,目标消息中间已经完成待发送消息的持久化处理,在反馈第一预设消息的过程中目标消息中间件服务器突然宕机,造成智能终端无法收到第一预设消息,当然,还包括实际应用中其他可能造成目标消息中间件无法反馈第一预设消息的情况,此处暂不一一详述。
步骤S140,重新发送预设存储区中存储的待发送消息。
在未接收到目标消息中间件反馈的第一预设消息且未达到预设结束条件的情况下,需要重新发送预设存储区中存储的待发送消息。
可选的,为确保预设存储区中存储的待发送消息的可靠发送,本发明实施例还提供一种重新发送预设存储区中存储的待发送消息的方法。首先,在智能终端发送待发送消息至目标消息中间件之前,将持久化至预设存储区中的待发送消息的状态标记为发送中,然后按照预设的重发周期读取预设存储区域中,状态为发送中的待发送消息,然后重发所得状态为发送中的待发送消息。
需要说明的是,对于预设存储区中待发送消息发送中状态的标记,可以参照现有技术中的方法实现,比如,设置与预设存储区域中各个待发送消息向对应的数组,并用1或0来表示待发送消息处于发送中状态。当然,还可以采用现有技术中的其他方法来标记待发送消息的状态,本发明实施例对于待发送消息状态的标记方法不做限定。
步骤S150,结束发送过程。
如果接收到目标消息中间件反馈的第一预设消息,或者达到预设技术条件,则结束发送过程。
可选的,为防止消息发送过程进入死循环,即无休止的重发待发送消息,可以对预设存储区中存储的同一条待发送消息的重发次数进行统计,得到任意一条待发送消息的重发次数,当重发次数达到预设重发次数阈值时,判定达到预设结束条件,不再重发对应的待发送消息。
可选的,在接收到目标消息中间件反馈的第一预设消息后,即可将预设存储区中的相应的待发送消息删除,相应的,还应一并删除该待发送消息的状态信息。
结合上述消息发送过程,可以想到的是,目标消息中间件反馈第一预设消息的情况有两种,其一是,待发送消息首次发送即发送成功,目标消息中间件直接反馈第一预设消息;其二是,经过至少一次重发后,目标消息中间件才成功接收到待发送消息,并反馈第一预设消息。相应的,对于待发送消息的删除操作也有对应两种时机,即首次发送后即删除,和经过至少一次重发后删除。
综上所述,通过本发明实施例提供的消息发送方法,首先对待发送消息进行持久化处理,确保待发送消息可以重复获取,进一步的,如果没有接收到目标消息中间件反馈的第一预设消息,判定目标消息中间件没有成功的持久化该待发送消息,即消息发送失败,则重新发送预设存储区中存储的待发送消息,直至消息发送成功或达到预设结束条件,结束对待发送消息的发送过程,本方法基于持久化处理以及在预设条件下对待发送消息的重发处理,可以有效提高消息成功发送的几率。
可选的,目标消息中间件如果没有成功接收待发送消息,还会向应用本发明实施例所提供的消息发送方法的智能终端反馈第二预设消息,对于智能终端在接收到第二预设消息后的处理方式可以有多种,可以根据具体的业务需求进行选择。
可选的,可以在接收到第二预设消息后,发送表征发送失败的预设提示信息,以提醒智能终端使用者进行相关处理。
可选的,也可以在接收到第二预设消息后,直接删除预设存储区中的待发送消息。当然,在此种情况下,还可以结合上述方法,发送表征发送失败的预设提示信息。
可选的,还可以在接收到第二预设消息后,按照上述实施例提供的重发机制,对发送失败的待发送消息进行重新方法,直至接收到目标消息中间件反馈的第一预设消息或达到预设退出条件。
基于上述实施例提供的消息发送方法,已经可以极大的提高消息成功发送的几率。但对于目标消息中间件而言,还面临新的问题。根据上述内容可知,有一种可能情况,即目标消息中间件已经成功将待发送消息持久化,在反馈第一预设消息的过程中出现故障,导致智能终端因未能接收到第一预设消息而重新发送待发送消息,此种情况下,目标消息中间件将接收到多个相同的待发送消息,因此,有必要确保目标消息中间件只对多个相通的待发送消息中的一个进行处理。
可选的,本发明实施例还提供一种基于幂等性的待发送消息处理方法。要保证幂等性主要需要考虑以下三点内容:
1、对于每个服务请求或待发送消息而言,具备一个唯一的标识。比如,对于订单支付请求,就至少需要包含唯一的订单id,在处理每一个订单支付请求是,相同的订单id最多支付一次。
2、在每次处理完服务请求之后,必须有一个对应的处理记录,用于记录相应的服务请求已经处理过了。比如,可以在数据库中记录处理信息等。
3、每次接收到服务请求或待发送消息时,都需要判断之前是否处理过。比如,如果有一个订单已经支付,数据库中就已经存在一条对应的支付流水,在这种情况下,如果再次接收到相同的订单支付请求,则不再予以处理。
基于上述基本原则,本发明实施例提供的方案就是利用唯一的ID标识,并配合指纹码解决目标消息中间件接收到多个相同待发送消息的问题。其原理就是利用数据库主键去重,待发送消息处理完成后插入主键标识,其ID标识是每次操作时都产生的唯一ID值。
在上述前提下,目标消息中间件在每次处理接收得到的待发送消息时,查询该待发送消息的记录信息,如果返回结果为0,则表示没有操作过,如果返回结果大于0,则表示操作过,则不再对该待发送消息进行处理。相应的,对于处理过的待发送消息,还需要修改对应的ID标识和指纹码。
可选的,可以选用snowflake算法生成各待发送消息的唯一的ID标识,参见图2,图2是本发明实施例提供的消息发送方法中采用snowflake算法生成消息的ID标识的示意图,snowflake算法生成64位的二进制正整数,然后转换成10进制的数。其中,64位二进制数即由图2所示内容构成。其中各个二进制位的含义如下:
1位标识符:始终是0。
41位时间戳:41位时间戳存储当前时间的时间戳,而不是存储时间戳的差值(当前时间戳-开始时间戳)得到的值,因为差值会依赖机器的时钟,如果服务器时钟回拨,从而导致重复ID值生成。直接使用从世界标准时间开始流逝的秒数。
10位机器标识码:可以部署在1024个节点,如果机器分机房(IDC)部署,这10位可以由5位机房ID+5位机器ID组成。
12位序列:毫秒内的计数,12位的计数顺序号支持每个节点每毫秒(同一机器,同一时间戳)产生4096个ID序号。
由此可见,使用snowflake算法生成的ID值可保证其唯一性,从而确保消息的唯一性,只要接收并被处理过就能查到其对应的记录、从而避免消息的重复消费。
而对于指纹码则可以按照现有技术中的方式实现,本发明对于指纹码的实现方式不做限定。
下面对本发明实施例提供的消息发送装置进行介绍,下文描述的消息发送装置可以认为是为实现本发明实施例提供的消息发送方法,在中央设备中需设置的功能模块架构;下文描述内容可与上文相互参照。
图3为本发明实施例提供的一种消息发送装置的结构框图,参照图3,该装置可以包括:
获取单元10,用于获取待发送消息;
持久化单元20,用于将所述待发送消息持久化至预设存储区;
发送单元30,用于发送所述待发送消息至目标消息中间件;
重发单元40,用于在未接收到第一预设消息且未达到预设结束条件的情况下,重新发送所述预设存储区中存储的所述待发送消息,其中,所述第一预设消息由所述目标消息中间件在持久化所述待发送消息的情况下反馈。
可选的,所述重发单元40,用于重新发送所述预设存储区中存储的所述待发送消息时,具体包括:
按照预设重发周期读取所述预设存储区中,状态为发送中的待发送消息,并重新发送所述状态为发送中的待发送消息。
可选的,参见图4,图4是本发明实施例提供的另一种消息发送装置的结构框图,在图3所示实施例的基础上,本发明实施例提供的消息发送装置,还包括:
标记单元50,用于标记所述预设存储区中的所述待发送消息的状态为发送中。
可选的,参见图5,图5是本发明实施例提供的再一种消息发送装置的结构框图,在图3所示实施例的基础上,本发明实施例提供的消息发送装置,还包括:
删除单元60,用于若接收到所述第一预设消息,删除所述预设存储区中的所述待发送消息。
可选的,参见图6,图6是本发明实施例提供的又一种消息发送装置的结构框图,在图3所示实施例的基础上,本发明实施例提供的消息发送装置,还包括:
处理单元70,用于若接收到所述目标消息中间件在接收所述待发送消息失败的情况下反馈的第二预设消息,发送表征发送失败的预设提示信息;
或者,删除所述预设存储区中的所述待发送消息;
或者,执行所述重新发送所述预设存储区中存储的所述待发送消息步骤,直至接收到所述第一预设消息或达到所述预设结束条件。
图7为本发明实施例提供的智能终端的硬件结构图,参见图7所示,包括:可以包括:至少一个处理器100,至少一个通信接口200,至少一个存储器300和至少一个通信总线400;
在本发明实施例中,处理器100、通信接口200、存储器300、通信总线400的数量为至少一个,且处理器100、通信接口200、存储器300通过通信总线400完成相互间的通信;显然,图7所示的处理器100、通信接口200、存储器300和通信总线400所示的通信连接示意仅是可选的;
可选的,通信接口200可以为通信模块的接口,如GSM模块的接口;
处理器100可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器300可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器100具体用于实现上述所述的消息发送方法的任一实施例。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种消息发送方法,其特征在于,包括:
获取待发送消息;
将所述待发送消息持久化至预设存储区;
发送所述待发送消息至目标消息中间件;
在未接收到第一预设消息且未达到预设结束条件的情况下,重新发送所述预设存储区中存储的所述待发送消息,其中,所述第一预设消息由所述目标消息中间件在持久化所述待发送消息的情况下反馈。
2.根据权利要求1所述消息发送方法,其特征在于,在所述发送所述待发送消息至目标消息中间件之前,所述方法还包括:
标记所述预设存储区中的所述待发送消息的状态为发送中。
3.根据权利要求2所述消息发送方法,其特征在于,所述重新发送所述预设存储区中存储的所述待发送消息,包括:
按照预设重发周期读取所述预设存储区中,状态为发送中的待发送消息,并重新发送所述状态为发送中的待发送消息。
4.根据权利要求1所述消息发送方法,其特征在于,还包括:若接收到所述第一预设消息,删除所述预设存储区中的所述待发送消息。
5.根据权利要求1所述的消息发送方法,其特征在于,还包括:若接收到所述目标消息中间件在接收所述待发送消息失败的情况下反馈的第二预设消息,发送表征发送失败的预设提示信息;
或者,删除所述预设存储区中的所述待发送消息;
或者,执行所述重新发送所述预设存储区中存储的所述待发送消息步骤,直至接收到所述第一预设消息或达到所述预设结束条件。
6.根据权利要求1-5任一项所述的消息发送方法,其特征在于,判断达到所述预设结束条件的过程,包括:
统计重新发送所述预设存储区中存储的所述待发送消息的次数,得到重发次数;
若所述重发次数达到预设重发次数阈值,判定达到所述预设结束条件。
7.一种消息发送装置,其特征在于,包括:
获取单元,用于获取待发送消息;
持久化单元,用于将所述待发送消息持久化至预设存储区;
发送单元,用于发送所述待发送消息至目标消息中间件;
重发单元,用于在未接收到第一预设消息且未达到预设结束条件的情况下,重新发送所述预设存储区中存储的所述待发送消息,其中,所述第一预设消息由所述目标消息中间件在持久化所述待发送消息的情况下反馈。
8.根据权利要求7所述消息发送装置,其特征在于,还包括:
标记单元,用于标记所述预设存储区中的所述待发送消息的状态为发送中。
9.根据权利要求8所述消息发送装置,其特征在于,所述重发单元,用于重新发送所述预设存储区中存储的所述待发送消息时,具体包括:
按照预设重发周期读取所述预设存储区中,状态为发送中的待发送消息,并重新发送所述状态为发送中的待发送消息。
10.一种智能终端,其特征在于,包括:存储器和处理器;所述存储器存储有适于所述处理器执行的程序,以实现权利要求1至6任一项所述的消息发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911007607.1A CN112702371A (zh) | 2019-10-22 | 2019-10-22 | 一种消息发送方法、装置及智能终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911007607.1A CN112702371A (zh) | 2019-10-22 | 2019-10-22 | 一种消息发送方法、装置及智能终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112702371A true CN112702371A (zh) | 2021-04-23 |
Family
ID=75504696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911007607.1A Pending CN112702371A (zh) | 2019-10-22 | 2019-10-22 | 一种消息发送方法、装置及智能终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702371A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244899A (zh) * | 2021-12-02 | 2022-03-25 | 上海微盟企业发展有限公司 | 一种消息传递方法、装置及可读存储介质 |
CN114244899B (zh) * | 2021-12-02 | 2024-05-17 | 上海微盟企业发展有限公司 | 一种消息传递方法、装置及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030058656A (ko) * | 2001-12-31 | 2003-07-07 | 주식회사 케이티 | 통신 망 상의 메시지 전송 장치 및 그 방법 |
CN1822533A (zh) * | 2006-03-27 | 2006-08-23 | 阿里巴巴公司 | 一种可靠的系统间消息通知方法和系统 |
CN104731912A (zh) * | 2015-03-24 | 2015-06-24 | 浪潮集团有限公司 | 一种消息中间件mq的消息传输方法和装置 |
-
2019
- 2019-10-22 CN CN201911007607.1A patent/CN112702371A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030058656A (ko) * | 2001-12-31 | 2003-07-07 | 주식회사 케이티 | 통신 망 상의 메시지 전송 장치 및 그 방법 |
CN1822533A (zh) * | 2006-03-27 | 2006-08-23 | 阿里巴巴公司 | 一种可靠的系统间消息通知方法和系统 |
CN104731912A (zh) * | 2015-03-24 | 2015-06-24 | 浪潮集团有限公司 | 一种消息中间件mq的消息传输方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244899A (zh) * | 2021-12-02 | 2022-03-25 | 上海微盟企业发展有限公司 | 一种消息传递方法、装置及可读存储介质 |
CN114244899B (zh) * | 2021-12-02 | 2024-05-17 | 上海微盟企业发展有限公司 | 一种消息传递方法、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347598B (zh) | 校验码处理方法、电子设备及存储介质 | |
CN105681002B (zh) | 组播数据的传输控制方法、装置、系统和通信设备 | |
CN107645531B (zh) | 数据同步方法及系统 | |
CN109660451A (zh) | 一种发送消息的方法、装置及消息收发系统 | |
CN109561145B (zh) | 文件处理方法、装置、电子设备及存储介质 | |
CN103731499A (zh) | 终端和文件传输方法 | |
JP6188867B2 (ja) | パケットを復元するための方法及びシステム | |
CN105242975A (zh) | 一种消息传输的方法和消息中间件 | |
CN103684707A (zh) | 服务端、用户端消息传输处理方法、消息传输方法及系统 | |
CN113810769A (zh) | 数据传输方法及系统 | |
CN112817602A (zh) | 一种json格式数据发送、接收方法、设备及介质 | |
CN109194521B (zh) | 一种流量转发方法及设备 | |
CN112702371A (zh) | 一种消息发送方法、装置及智能终端 | |
CN107645357B (zh) | 传输文件不完整的恢复方法及装置 | |
CN111385062B (zh) | 基于wdm的数据传输方法、装置、系统及存储介质 | |
US11489623B2 (en) | Error correction in network packets | |
CN108880994B (zh) | 一种重发邮件的方法和装置 | |
CN111010441B (zh) | 一种区块链跨链方法、系统及电子设备 | |
CN112491513A (zh) | 一种spi通信方法、装置及系统 | |
CN107889089B (zh) | 一种移动终端及其处理蓝牙数据的方法 | |
CN114157674A (zh) | 无线通信方法、装置、系统、服务器以及介质 | |
CN112995260A (zh) | 一种会话消息交互方法、装置及计算机可读存储介质 | |
CN115220877B (zh) | 一种业务处理方法及装置 | |
KR101889032B1 (ko) | 사물 인터넷 통신 시스템과 그 시스템에서의 수신 데이터 처리 방법 | |
CN115348254B (zh) | 文件打包下载方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |