CN111082901B - 一种智能消息发送方法、装置、计算机设备及存储介质 - Google Patents
一种智能消息发送方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111082901B CN111082901B CN201911147059.2A CN201911147059A CN111082901B CN 111082901 B CN111082901 B CN 111082901B CN 201911147059 A CN201911147059 A CN 201911147059A CN 111082901 B CN111082901 B CN 111082901B
- Authority
- CN
- China
- Prior art keywords
- message
- time
- sending
- retransmission
- unit
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种智能消息发送方法、装置、计算机设备及存储介质,其中,所述智能消息发送方法包括:根据消息键值查询对应消息在防重发时间区间的当前发送次数;若当前发送次数小于所述可重发次数时,则调用消息发送程序发送消息;若当前发送次数等于所述可重发次数时,则禁止调用消息发送程序发送消息;如发送失败则将当前发送次数加1,并重新根据消息键值查询对应消息的当前发送次数。该方法在每次发送消息后均对当前发送次数进行更新,这样在下一次要发送消息时会先与可重发次数进行比较,从而确认是否可重发消息,该方法实现了支持指定时间范围和指定次数的消息防重发机制,避免出现消息轰炸现象,提升了用户体验。
Description
技术领域
本发明涉及消息系统技术领域,特别涉及一种智能消息发送方法、装置、计算机设备及存储介质。
背景技术
现有技术中,一般消息系统(包括邮件、短信系统)发送消息都是通过业务触发点或定时器执行发送操作,但并没有很好的防重发机制,一旦消息系统异常或调用方异常,经常会出现消息轰炸现象,影响用户体验,严重情况还会拖垮服务器。
发明内容
本发明的目的是提供一种智能消息发送方法、装置、计算机设备及存储介质,旨在解决现有技术中消息系统不具有较好的防重发机制的问题。
本发明实施例提供一种可防重发的智能消息发送方法,其中,包括:
当接收到消息发送请求时,对所述消息发送请求进行解析,获取消息键值、防重发时间区间和可重发次数;
根据所述消息键值查询对应消息在所述防重发时间区间的当前发送次数;
若当前发送次数为0时,则调用消息发送程序发送消息;
若当前发送次数小于所述可重发次数时,则调用消息发送程序发送消息;
若当前发送次数等于所述可重发次数时,则禁止调用消息发送程序发送消息;
在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,并重新根据消息键值查询对应消息的当前发送次数,并继续根据查询结果进行对应的处理,直至成功发送消息或者在当前发送次数等于所述可重发次数时禁止调用消息发送程序发送消息。
优选的,根据所述消息键值查询对应消息在所述防重发时间区间的当前发送次数,包括:
对所述防重发时间区间进行格式转换,以将所述防重发时间区间转换为防重发起始时间;
根据所述消息键值查询在所述防重发起始时间之后的发送次数并作为当前发送次数。
优选的,所述对所述防重发时间区间进行格式转换,以将所述防重发时间区间转换为防重发起始时间,包括:
将所述防重发时间区间的当前时间单位转换为标准时间单位,得到在所述标准时间单位下的单位数;
将当前时间的时间戳减去所述单位数得到防重发起始时间。
优选的,所述防重发时间区间的当前时间单位为天、小时或分钟,所述标准时间单位为毫秒。
优选的,还包括:
在禁止调用消息发送程序发送消息之后,进行延时等待处理;
当延时等待至指定时间时,将所述当前发送次数清零,并继续进行查询和处理。
优选的,所述当延时等待至指定时间时,将所述当前发送次数清零,并继续进行查询和处理,包括:
获取当前时间至最后一次发送失败时的时间的时间差;
当延时等待至所述时间差超过时间阈值时,则将所述当前发送次数清零,并继续进行查询和处理。
优选的,所述在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,还包括:
在调用消息发送程序发送消息后,如发送失败则记录发送消息的时间。
本发明实施例还提供一种可防重发的智能消息发送装置,其包括:
解析单元,用于当接收到消息发送请求时,对所述消息发送请求进行解析,获取消息键值、防重发时间区间和可重发次数;
查询单元,用于根据所述消息键值查询对应消息在所述防重发时间区间的当前发送次数;
第一调用单元,用于若当前发送次数为0时,则调用消息发送程序发送消息;
第二调用单元,用于若当前发送次数小于所述可重发次数时,则调用消息发送程序发送消息;
禁止调用单元,用于若当前发送次数等于所述可重发次数时,则禁止调用消息发送程序发送消息;
循环单元,用于在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,并重新根据消息键值查询对应消息的当前发送次数,并继续根据查询结果进行对应的处理,直至成功发送消息或者在当前发送次数等于所述可重发次数时禁止调用消息发送程序发送消息。
本发明实施例还提供一种计算机设备,其中,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的可防重发的智能消息发送方法。
本发明实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的可防重发的智能消息发送方法。
本发明实施例提供了一种智能消息发送方法、装置、计算机设备及存储介质,其中,所述智能消息发送方法包括:当接收到消息发送请求时,对所述消息发送请求进行解析,获取消息键值、防重发时间区间和可重发次数;根据所述消息键值查询对应消息在所述防重发时间区间的当前发送次数;若当前发送次数为0时,则调用消息发送程序发送消息;若当前发送次数小于所述可重发次数时,则调用消息发送程序发送消息;若当前发送次数等于所述可重发次数时,则禁止调用消息发送程序发送消息;在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,并重新根据消息键值查询对应消息的当前发送次数,并继续根据查询结果进行对应的处理,直至成功发送消息或者在当前发送次数等于所述可重发次数时禁止调用消息发送程序发送消息。该方法在每次发送消息后均对当前发送次数进行更新,这样在下一次要发送消息时会先与可重发次数进行比较,从而确认是否可重发消息,该方法实现了支持指定时间范围和指定次数的消息防重发机制,避免出现消息轰炸现象,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可防重发的智能消息发送方法的流程示意图;
图2为本发明实施例提供的一种可防重发的智能消息发送装置的示意性框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的一种可防重发的智能消息发送方法的流程示意图,该方法可以包括步骤S101~S106:
S101、当接收到消息发送请求时,对所述消息发送请求进行解析,获取消息键值、防重发时间区间和可重发次数;
本步骤中,在接收到消息发送请求时,先对消息发送请求进行解析,解析的目的是获取其中的信息。其中的信息包含消息键值、防重发时间区间和可重发次数。
其中的消息键值是用来标识消息,每一消息都有对应的消息键值。其中的防重发时间区间是指防重发机制的时间,即防重发机制是在该防重发时间区间内生效。所述可重发次数是指该消息可以重发的次数,在本发明实施例中,所述可重发次数是指发送次数的阈值,即一共可以发送的次数。
S102、根据所述消息键值查询对应消息在所述防重发时间区间的当前发送次数;
在解析得到消息键值后,可以根据该消息键值确认需要查询的消息,然后可具体查询该消息在防重发时间区间的当前发送次数。即本发明实施例不是查询该消息的所有发送次数,而是查询其在防重发时间区间的当前发送次数,因为本发明实施例的防重发机制是基于防重发时间区间为基准的,所以
在一实施例中,所述步骤S102包括:
对所述防重发时间区间进行格式转换,以将所述防重发时间区间转换为防重发起始时间;
根据所述消息键值查询在所述防重发起始时间之后的发送次数并作为当前发送次数。
本实施例中,先对防重发时间区间进行格式转换,以便将防重发时间区间转换为防重发起始时间。然后查询在所述防重发起始时间之后的发送次数,将该发送次数作为当前发送次数。
在一实施例中,所述对所述防重发时间区间进行格式转换,以将所述防重发时间区间转换为防重发起始时间,包括:
将所述防重发时间区间的当前时间单位转换为标准时间单位,得到在所述标准时间单位下的单位数;
将当前时间的时间戳减去所述单位数得到防重发起始时间。
在本实施例中,进行格式转换的方式具体为,将防重发时间区间的当前时间单位转换为标准时间单位,从而得到在标准时间单位下的单位数,然后将当前时间的时间戳减去单位数就可以得到防重发起始时间(也就是防重发起始时间的时间戳)。
具体的,所述防重发时间区间的当前时间单位为天、小时或分钟,所述标准时间单位为毫秒。
例如防重发时间区间的当前时间单位为天,标准时间单位为毫秒。假设防重发时间区间为3天,那么其转换为标准时间单位后,可以得到在所述标准单位下的单位数为:3600*1000*24*3,然后将当前时间的时间戳(毫秒)减去3600*1000*24*3,即可得到防重发起始时间。
又或者,防重发时间区间的当前时间单位为小时,标准时间单位为毫秒。假设防重发时间区间为2小时,那么其转换为标准时间单位后,可以得到在所述标准单位下的单位数为:3600*1000*2,然后将当前时间的时间戳(毫秒)减去3600*1000*2,即可得到防重发起始时间。
又或者,防重发时间区间的当前时间单位为分钟,标准时间单位为毫秒。假设防重发时间区间为10分钟,那么其转换为标准时间单位后,可以得到在所述标准单位下的单位数为:60*1000*10,然后将当前时间的时间戳(毫秒)减去60*1000*10,即可得到防重发起始时间。
S103、若当前发送次数为0时,则调用消息发送程序发送消息;
本步骤中,如果当前发送次数为0,说明本次为第一次发送消息,所以可直接调用消息发送程序发送消息。
S104、若当前发送次数小于所述可重发次数时,则调用消息发送程序发送消息;
本步骤中,如果当前发送次数小于所述可重发次数,说明还有剩余的发送次数供消息发送,所以也可以调用消息发送程序发送消息。
S105、若当前发送次数等于所述可重发次数时,则禁止调用消息发送程序发送消息;
本步骤中,如果当前发送次数等于所述可重发次数,则说明当前发送次数0已经达到了次数阈值,本步骤不能继续调用发送程序发送消息,所以可禁止调用消息发送程序发送消息。
S106、在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,并重新根据消息键值查询对应消息的当前发送次数,并继续根据查询结果进行对应的处理,直至成功发送消息或者在当前发送次数等于所述可重发次数时禁止调用消息发送程序发送消息。
在本发明实施例中,调用消息发送程序发送消息后,其结果可能有发送成功和发送失败。当发送成功,则本发明实施例的流程结束。当发送失败时,则需要将当前发送次数加1,即对当前发送次数进行更新,便于下一次需要对消息进行重发时,判断是否可继续发送消息。
具体的,更新了当前发送次数后,若再次接收到消息发送请求,则重新对消息发送请求进行解析,并继续进行查询等步骤,即返回到步骤S101继续进行防重发机制的判断,也就是根据更新后的当前发送次数判断是否可以再次发送消息,例如当前发送次数仍小于可重发次数,那么可继续发送消息,若当前发送次数等于所述可重发次数,则禁止调用消息发送程序发送消息。
本发明实施例中,反复执行上述的流程,直至成功发送消息,或者在当前发送次数等于所述可重发次数时禁止调用消息发送程序发送消息,即本发明实施例的结果要么是成功发送消息,要么是禁止继续发送消息。
在一实施例中,所述可防重发的智能消息发送方法还包括:
在禁止调用消息发送程序发送消息之后,进行延时等待处理;
当延时等待至指定时间时,将所述当前发送次数清零,并继续进行查询和处理。
由于本发明实施例的防重发机制是基于防重发时间区间实现的,所以在该防重发时间区间内按照上述流程执行防重发机制。但在禁止调用发送消息程序发送消息之后,如果不解除禁止,就无法继续发送消息。所以本发明实施例中,在禁止调用消息发送程序发送消息之后,进行延时等待处理,当延时等待到指定时间后,将当前发送次数清零,然后继续进行查询和处理,此处提到的继续进行查询和处理是指解除禁止调用消息发送程序发送消息,即可以继续调用消息发送程序发送消息。
当然,在将当前发送次数清零后,仍需要对解析得到的防重发时间区间进行格式转换,以将所述防重发时间区间转换为防重发起始时间。并基于该防重发起始时间来更新当前发送次数。
在一实施例中,所述当延时等待至指定时间时,将所述当前发送次数清零,并继续进行查询和处理,包括:
获取当前时间至最后一次发送失败时的时间的时间差;
当延时等待至所述时间差超过时间阈值时,则将所述当前发送次数清零,并继续进行查询和处理。
在本实施例中,将当前时间与最后一次发送失败时的时间进行做差处理,得到时间差,当延时等待至所述时间差超过时间阈值时,即可将当前发送次数清零,然后继续进行查询和处理。
在一实施例中,所述在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,还包括:
在调用消息发送程序发送消息后,如发送失败则记录发送消息的时间。
为了方便统计和计算所述时间差,本发明实施例中,可以在每次消息发送失败时就记录发送消息的时间。
优选的,所述可防重发的智能消息发送还包括:
对单位时间内接收到的消息发送请求的数量进行统计,若所述消息发送请求的数量超过数量阈值,则控制第一次消息发送请求生效。
本发明实施例中,由于消息系统异常或者调用方异常,可能导致在单位时间内消息发送请求数量骤增,显然对于此情况,可以判定为异常情况,所以可以仅控制第一次消息发送请求生效,即只对该单位时间内第一次接收到的消息发送请求进行解析,并执行后续步骤。而对于该单位时间内其他的消息发送请求可以不做处理。这样可以有效避免消息轰炸等现象,避免占用过多资源和拖垮服务器,提升用户使用体验。
更优选的,所述对单位时间内接收到的消息发送请求的数量进行统计,若所述消息发送请求的数量超过数量阈值,则控制第一次消息发送请求生效,包括:
保留所述单位时间内其他的消息发送请求,并按时间顺序将所述消息发送请求分为多个时间段的消息发送请求,并控制每一时间段的消息发送请求于指定时间生效。
本发明实施例中,由于不同时间下,服务器资源占用情况不同,例如工作日服务器资源占用较多,而非工作日服务器占用资源较少,或者白天服务器资源占用较多,而夜间服务器资源占用较少。所以利用上述规律,可以将单位时间内其他的消息发送请求在服务器资源占用较少的时间进行处理。
具体地,由于单位时间内的消息发送请求较多,即使在服务器资源占用较少的时间集中处理,也可能会造成服务器资源占用骤增,所以本发明实施例中,对单位时间内的消息发送请求进行平摊处理,即将单位时间分为多个时间段,每一时间段可以包含多个消息发送请求,时间段的划分方式优选是平分,划分的数量可以根据指定时间的数量,例如可以使单位时间的时间段的数量与一个周期内指定时间的数量相同。将每一时间段的消息发送请求在对应的指定时间生效,例如第一个时间段的消息发送请求在第一个指定时间生效,第二个时间段的消息发送请求在第二个指定时间生效,第三个时间段的消息发送请求在第三个指定时间生效,以此类推,各时间段与指定时间一一对应。
其中的指定时间可以是时间点,也可以是时间区间。本发明实施例优选的是时间区间,即在该时间区间内进行消息发送。
所述的单位时间可以根据实际情况来确定,例如单位时间可以是1s或1min。
本发明实施例中,对于一个单位时间内各时间段的消息发送请求,可以控制在一个周期内的各指定时间生效。例如,所述的指定时间可以是1天中的21:00-22:00,22:00-23:00,23:00-24:00,24:00-1:00,1:00-2:00,2:00-3:00,3:00-4:00,4:00-5:00,5:00-6:00,这9个时间区间。那么一个单位时间内各时间段的消息发送请求应在1天中的这9个时间区间生效。具体地,可以将单位时间9等分,然后获得9个时间段,再将这9个时间段的消息发送请求分别控制于上述9个时间区间生效,并且时间段和时间区间是按照时间顺序一一对应的,例如第一个时间段对应21:00-22:00这个时间区间,第二个时间段对应22:00-23:00这个时间区间,以此类推。这样一个单位时间的消息发送请求就会分摊在各个时间区间生效并执行前面的消息发送流程。这样可以达到在不同时间区间尝试发送消息的目的,提高发送成功率。
请参阅图2,图2为本发明实施例提供的一种可防重发的智能消息发送装置的示意性框图,该装置200可以包括:
解析单元201,用于当接收到消息发送请求时,对所述消息发送请求进行解析,获取消息键值、防重发时间区间和可重发次数;
查询单元202,用于根据所述消息键值查询对应消息在所述防重发时间区间的当前发送次数;
第一调用单元203,用于若当前发送次数为0时,则调用消息发送程序发送消息;
第二调用单元204,用于若当前发送次数小于所述可重发次数时,则调用消息发送程序发送消息;
禁止调用单元205,用于若当前发送次数等于所述可重发次数时,则禁止调用消息发送程序发送消息;
循环单元206,用于在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,并重新根据消息键值查询对应消息的当前发送次数,并继续根据查询结果进行对应的处理,直至成功发送消息或者在当前发送次数等于所述可重发次数时禁止调用消息发送程序发送消息。
在一实施例中,所述查询单元202包括:
格式转换单元,用于对所述防重发时间区间进行格式转换,以将所述防重发时间区间转换为防重发起始时间;
次数查询单元,用于根据所述消息键值查询在所述防重发起始时间之后的发送次数并作为当前发送次数。
在一实施例中,所述格式转换单元包括:
单位转换单元,用于将所述防重发时间区间的当前时间单位转换为标准时间单位,得到在所述标准时间单位下的单位数;
计算单元,用于将当前时间的时间戳减去所述单位数得到防重发起始时间。
在一实施例中,所述防重发时间区间的当前时间单位为天、小时或分钟,所述标准时间单位为毫秒。
在一实施例中,所述可防重发的智能消息发送装置200还包括:
延时等待单元,用于在禁止调用消息发送程序发送消息之后,进行延时等待处理;
清零单元,用于当延时等待至指定时间时,将所述当前发送次数清零,并继续进行查询和处理。
在一实施例中,所述清零单元包括:
时间差获取单元,用于获取当前时间至最后一次发送失败时的时间的时间差;
判定单元,用于当延时等待至所述时间差超过时间阈值时,则将所述当前发送次数清零,并继续进行查询和处理。
在一实施例中,所述循环单元206还包括:
记录单元,用于在调用消息发送程序发送消息后,如发送失败则记录发送消息的时间。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的可防重发的智能消息发送方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的可防重发的智能消息发送方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (5)
1.一种可防重发的智能消息发送方法,其特征在于,包括:
当接收到消息发送请求时,对所述消息发送请求进行解析,获取消息键值、防重发时间区间和可重发次数;
根据所述消息键值查询对应消息在所述防重发时间区间的当前发送次数;
若当前发送次数为0时,则调用消息发送程序发送消息;
若当前发送次数小于所述可重发次数时,则调用消息发送程序发送消息;
若当前发送次数等于所述可重发次数时,则禁止调用消息发送程序发送消息;
在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,并重新根据消息键值查询对应消息的当前发送次数,并继续根据查询结果进行对应的处理,直至成功发送消息或者在当前发送次数等于所述可重发次数时禁止调用消息发送程序发送消息;
根据所述消息键值查询对应消息在所述防重发时间区间的当前发送次数,包括:
对所述防重发时间区间进行格式转换,以将所述防重发时间区间转换为防重发起始时间;
根据所述消息键值查询在所述防重发起始时间之后的发送次数并作为当前发送次数;
所述对所述防重发时间区间进行格式转换,以将所述防重发时间区间转换为防重发起始时间,包括:
将所述防重发时间区间的当前时间单位转换为标准时间单位,得到在所述标准时间单位下的单位数;
将当前时间的时间戳减去所述单位数得到防重发起始时间;
所述防重发时间区间的当前时间单位为天、小时或分钟,所述标准时间单位为毫秒;
还包括:
在禁止调用消息发送程序发送消息之后,进行延时等待处理;
当延时等待至指定时间时,将所述当前发送次数清零,并继续进行查询和处理;
所述当延时等待至指定时间时,将所述当前发送次数清零,并继续进行查询和处理,包括:
获取当前时间至最后一次发送失败时的时间的时间差;
当延时等待至所述时间差超过时间阈值时,则将所述当前发送次数清零,并继续进行查询和处理。
2.根据权利要求1所述的可防重发的智能消息发送方法,其特征在于,所述在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,还包括:
在调用消息发送程序发送消息后,如发送失败则记录发送消息的时间。
3.一种可防重发的智能消息发送装置,其特征在于,包括:
解析单元,用于当接收到消息发送请求时,对所述消息发送请求进行解析,获取消息键值、防重发时间区间和可重发次数;
查询单元,用于根据所述消息键值查询对应消息在所述防重发时间区间的当前发送次数;
第一调用单元,用于若当前发送次数为0时,则调用消息发送程序发送消息;
第二调用单元,用于若当前发送次数小于所述可重发次数时,则调用消息发送程序发送消息;
禁止调用单元,用于若当前发送次数等于所述可重发次数时,则禁止调用消息发送程序发送消息;
循环单元,用于在调用消息发送程序发送消息后,如发送失败则将当前发送次数加1,并重新根据消息键值查询对应消息的当前发送次数,并继续根据查询结果进行对应的处理,直至成功发送消息或者在当前发送次数等于所述可重发次数时禁止调用消息发送程序发送消息;
所述查询单元包括:
格式转换单元,用于对所述防重发时间区间进行格式转换,以将所述防重发时间区间转换为防重发起始时间;
次数查询单元,用于根据所述消息键值查询在所述防重发起始时间之后的发送次数并作为当前发送次数;
所述格式转换单元包括:
单位转换单元,用于将所述防重发时间区间的当前时间单位转换为标准时间单位,得到在所述标准时间单位下的单位数;
计算单元,用于将当前时间的时间戳减去所述单位数得到防重发起始时间;
在一实施例中,所述防重发时间区间的当前时间单位为天、小时或分钟,所述标准时间单位为毫秒;
所述可防重发的智能消息发送装置还包括:
延时等待单元,用于在禁止调用消息发送程序发送消息之后,进行延时等待处理;
清零单元,用于当延时等待至指定时间时,将所述当前发送次数清零,并继续进行查询和处理;
所述清零单元包括:
时间差获取单元,用于获取当前时间至最后一次发送失败时的时间的时间差;
判定单元,用于当延时等待至所述时间差超过时间阈值时,则将所述当前发送次数清零,并继续进行查询和处理。
4.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至2任一项所述的可防重发的智能消息发送方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至2任一项所述的可防重发的智能消息发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147059.2A CN111082901B (zh) | 2019-11-21 | 2019-11-21 | 一种智能消息发送方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147059.2A CN111082901B (zh) | 2019-11-21 | 2019-11-21 | 一种智能消息发送方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111082901A CN111082901A (zh) | 2020-04-28 |
CN111082901B true CN111082901B (zh) | 2022-05-13 |
Family
ID=70311456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911147059.2A Active CN111082901B (zh) | 2019-11-21 | 2019-11-21 | 一种智能消息发送方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111082901B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691614B (zh) * | 2021-08-23 | 2023-07-18 | 城云科技(中国)有限公司 | 资讯处理方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980111A (zh) * | 2005-12-03 | 2007-06-13 | 华为技术有限公司 | 一种在通信网络中实现消息发送调度控制的方法 |
CN101083821A (zh) * | 2006-05-30 | 2007-12-05 | 华为技术有限公司 | 针对poc业务异常的处理方法及poc服务器 |
EP2234307A1 (en) * | 2003-03-20 | 2010-09-29 | Lucent Technologies Inc. | Transmission methods for communication systems supporting a multicast mode |
CN102802261A (zh) * | 2011-05-23 | 2012-11-28 | 中兴通讯股份有限公司 | 寻呼消息多次重发的方法及装置 |
WO2015085735A1 (en) * | 2013-12-09 | 2015-06-18 | Tencent Technology (Shenzhen) Company Limited | Information requesting method and system |
CN108234599A (zh) * | 2017-12-06 | 2018-06-29 | 链家网(北京)科技有限公司 | 一种消息重发方法及系统 |
CN108572874A (zh) * | 2018-04-26 | 2018-09-25 | 掌阅科技股份有限公司 | 基于有序集合的数据重发方法、电子设备及存储介质 |
CN109245867A (zh) * | 2018-08-14 | 2019-01-18 | 深圳壹账通智能科技有限公司 | 一种消息发送方法、计算机可读存储介质及终端设备 |
CN109560900A (zh) * | 2017-09-27 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 数据发送方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3346656B2 (ja) * | 1994-08-30 | 2002-11-18 | 京セラ株式会社 | 自動ダイヤル電話機 |
US7873070B2 (en) * | 2004-09-16 | 2011-01-18 | Alcatel-Lucent Usa Inc. | Determining a number of automatic request retransmissions based on block size |
KR101533870B1 (ko) * | 2012-10-25 | 2015-07-06 | 삼성에스디에스 주식회사 | 메시지 전송 시스템에서의 메시지 재전송 장치 및 방법 |
CN107528677A (zh) * | 2017-10-11 | 2017-12-29 | 杭州若联科技有限公司 | 信息发送失败缓冲方法以及装置 |
CN109408251B (zh) * | 2018-09-28 | 2020-11-03 | 北京龙拳风暴科技有限公司 | 消息发送方法与装置、消息接收处理方法与装置 |
-
2019
- 2019-11-21 CN CN201911147059.2A patent/CN111082901B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2234307A1 (en) * | 2003-03-20 | 2010-09-29 | Lucent Technologies Inc. | Transmission methods for communication systems supporting a multicast mode |
CN1980111A (zh) * | 2005-12-03 | 2007-06-13 | 华为技术有限公司 | 一种在通信网络中实现消息发送调度控制的方法 |
CN101083821A (zh) * | 2006-05-30 | 2007-12-05 | 华为技术有限公司 | 针对poc业务异常的处理方法及poc服务器 |
CN102802261A (zh) * | 2011-05-23 | 2012-11-28 | 中兴通讯股份有限公司 | 寻呼消息多次重发的方法及装置 |
WO2015085735A1 (en) * | 2013-12-09 | 2015-06-18 | Tencent Technology (Shenzhen) Company Limited | Information requesting method and system |
CN109560900A (zh) * | 2017-09-27 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 数据发送方法和装置 |
CN108234599A (zh) * | 2017-12-06 | 2018-06-29 | 链家网(北京)科技有限公司 | 一种消息重发方法及系统 |
CN108572874A (zh) * | 2018-04-26 | 2018-09-25 | 掌阅科技股份有限公司 | 基于有序集合的数据重发方法、电子设备及存储介质 |
CN109245867A (zh) * | 2018-08-14 | 2019-01-18 | 深圳壹账通智能科技有限公司 | 一种消息发送方法、计算机可读存储介质及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111082901A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109697535B (zh) | 取件提醒方法、装置、设备及存储介质 | |
CN106096975B (zh) | 一种在线客服系统及方法 | |
CN110336848B (zh) | 一种访问请求的调度方法及调度系统、设备 | |
EP1122917A3 (en) | System and method for exchanging network management data | |
CA2249558A1 (en) | Method and system for optimized scheduling | |
CN111082901B (zh) | 一种智能消息发送方法、装置、计算机设备及存储介质 | |
CN104021141A (zh) | 数据处理和云服务的方法、装置及系统 | |
CN112019384A (zh) | 带宽预测方法、装置、设备及存储介质 | |
CN110224848B (zh) | 告警的播报方法及装置 | |
CN106970696B (zh) | 一种电子设备管理方法及电子设备 | |
CN111104257A (zh) | 一种备份日志数据的防超时方法、装置、设备及介质 | |
WO2021118332A3 (ko) | 포인트 보상 기반의 그릇을 회수하기 위한 방법 및 이를 위한 장치 | |
CN111931110A (zh) | 一种消息推送处理方法、装置及系统 | |
CN113419852B (zh) | 微服务的请求响应方法、装置、设备及存储介质 | |
CN113242149B (zh) | 长连接配置方法、装置、设备、存储介质和程序产品 | |
CN116546079A (zh) | 用于进行数据交互的方法及装置、电子装置及交互系统 | |
CN112004161A (zh) | 地址资源的处理方法、装置、终端设备和存储介质 | |
CN111352746A (zh) | 消息限流方法、存储介质 | |
CN108234658B (zh) | 一种感知服务器集群健康状况的方法、装置和服务器 | |
US11909839B2 (en) | Event notification method, system, server device, and computer storage medium | |
CN113411828B (zh) | 通话质量的感知方法、装置、设备及计算机可读存储介质 | |
CN114598662A (zh) | 消息队列集群联邦管理系统以及方法 | |
CN111726394B (zh) | 设备离线检测方法及其相关装置 | |
CN113608960A (zh) | 一种服务监控方法、装置、电子设备及存储介质 | |
CN109918577B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |