CN112468386B - 一种重复消息的处理方法及终端 - Google Patents
一种重复消息的处理方法及终端 Download PDFInfo
- Publication number
- CN112468386B CN112468386B CN202011282957.1A CN202011282957A CN112468386B CN 112468386 B CN112468386 B CN 112468386B CN 202011282957 A CN202011282957 A CN 202011282957A CN 112468386 B CN112468386 B CN 112468386B
- Authority
- CN
- China
- Prior art keywords
- message
- retransmitted
- receiver
- client
- list
- 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
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/234—Monitoring or handling of messages for tracking messages
-
- 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/55—Push-based network 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种重复消息的处理方法及终端,若发送消息后未接收到客户端返回的消息送达信号,则标记消息为需重发消息;获取需重发消息所对应的接收者标识,判断失败消息缓存队列中是否保存有接收者标识,若否,则将所述接收者标识存入所述失败消息缓存队列;若是,则将需重发消息添加至所述失败消息缓存队列中接收者标识的需重发消息列表;逐一获取所述失败消息缓存队列中的所述接收者标识,发送所述接收者标识所对应的所有所述需重发消息;本发明以客户端维度存储未发送消息,针对单个客户端的所有未发送消息一次性批量发送,取代逐条发送,节约了服务端资源。
Description
技术领域
本发明涉及消息推送领域,尤其涉及一种重复消息的处理方法及终端。
背景技术
移动互联网蓬勃发展的今天,大部分的手机APP都提供了消息推送功能,如新闻客户端的热点新闻推荐,IM(Instant Messaging,即时通讯)工具的聊天消息提醒,电商产品促销信息,企业应用的通知和审批流程等等;进行消息推送对于提高产品活跃度、提高功能模块使用率、提升用户粘性及提升用户留存率起到了重要作用。
现有消息推送的主要实现流程为:客户端预先访问服务端路由地址列表接口获取可以正常接入的路由地址,选择其中一个地址进行长链接的建立;当成功建立起长链接之后,服务端与客户端将会进行正常的消息通讯;通常是服务端把对应的消息通过该长链接发送至客户端,客户端接收到消息后返回服务端接收成功或者失败的状态码,若失败,服务端会执行重试策略即重新发送客户端接收失败的消息直至客户端成功接收消息。
正常场景之下,当服务端推送消息后,客户端会返回是否已接收到消息的应答信息,若服务端未收到应答消息,可能是客户端未接收到消息,也可能是客户端已接收到消息,但是应答信息未成功发送至服务端。无论哪种场景下,服务端均判断为客户端未成功接收到该条消息。后续服务端将会执行消息重发机制,即一条消息以固定频率或者一定的策略执行消息重发机制。该重发机制会针对每一条未接收到的消息进行重发操作,如果某个用户存在多条的未确认消息,将会针对该用户进行每条未确认消息进行重复发送,每次重复发送都是整条消息发送,占用了带宽以及服务器资源,同一个用户的多条未确认消息,将会执行多次的重复发送,同时,客户端接收到消息后也都需要进行去重判断处理。
发明内容
本发明所要解决的技术问题是:提供一种重复消息的处理方法及终端,实现对重复消息的批量发送。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种重复消息的处理方法,包括步骤:
S1、若发送消息后未接收到客户端返回的消息送达信号,则标记所述消息为需重发消息;
S2、获取所述需重发消息所对应的接收者标识,判断失败消息缓存队列中是否保存有所述接收者标识,若否,则执行S3,若是,则将所述需重发消息添加至所述失败消息缓存队列中所述接收者标识的需重发消息列表;
S3、将所述接收者标识存入所述失败消息缓存队列;
S4、逐一获取所述失败消息缓存队列中的所述接收者标识,发送所述接收者标识所对应的所有所述需重发消息。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种重复消息的处理终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、若发送消息后未接收到客户端返回的消息送达信号,则标记所述消息为需重发消息;
S2、获取所述需重发消息所对应的接收者标识,判断失败消息缓存队列中是否保存有所述接收者标识,若否,则执行S3,若是,则将所述需重发消息添加至所述失败消息缓存队列中所述接收者标识的需重发消息列表;
S3、将所述接收者标识存入所述失败消息缓存队列;
S4、逐一获取所述失败消息缓存队列中的所述接收者标识,发送所述接收者标识所对应的所有所述需重发消息。
本发明的有益效果在于:若发送消息后未接收到客户端返回的消息送达信号,则将该消息所对应的接收者的接受者标识记录在缓存中,若缓存中已存在此接收者标识,则更新其对应的需重发消息列表,在进行消息重发时根据缓存的接收者标识,一次性发送其对应的所有需重发消息,以接收者作为需重发消息发送时的关键字,实现重复消息的批量发送,替代现有技术对发送失败的消息进行逐条重试的方法,提高了消息发送的效率。
附图说明
图1为本发明实施例的一种重复消息的处理方法的步骤流程图;
图2为本发明实施例的一种重复消息的处理终端的结构示意图;
标号说明:
1、一种重复消息的处理终端;2、处理器;3、存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种重复消息的处理方法,包括步骤:
S1、若发送消息后未接收到客户端返回的消息送达信号,则标记所述消息为需重发消息;
S2、获取所述需重发消息所对应的接收者标识,判断失败消息缓存队列中是否保存有所述接收者标识,若否,则执行S3,若是,则将所述需重发消息添加至所述失败消息缓存队列中所述接收者标识的需重发消息列表;
S3、将所述接收者标识存入所述失败消息缓存队列;
S4、逐一获取所述失败消息缓存队列中的所述接收者标识,发送所述接收者标识所对应的所有所述需重发消息。
从上述描述可知,本发明的有益效果在于:若发送消息后未接收到客户端返回的消息送达信号,则将该消息所对应的接收者的接受者标识记录在缓存中,若缓存中已存在此接收者标识,则更新其对应的需重发消息列表,在进行消息重发时根据缓存的接收者标识,一次性发送其对应的所有需重发消息,以接收者作为需重发消息发送时的关键字,实现重复消息的批量发送,替代现有技术对发送失败的消息进行逐条重试的方法,提高了消息发送的效率。
进一步的,所述S2中的所述失败消息缓存队列中的所述接收者标识按照预设的时间标识的先后进行优先级排序;
所述S4具体为:
S41、获取所述失败消息缓存队列中排在第一位的第一接收者标识所对应的所有所述需重发消息,得到第一需重发消息列表,所述需重发消息列表包括每一个需重发消息的消息摘要;
S42、将所述第一需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的所述消息送达信号,若是,则执行S43;否则,执行S44;
S43、将所述需重发消息列表所对应的所述第一接收者标识从所述失败消息缓存队列中删除并返回所述S41;
S44、降低所述第一接收者标识的优先级并对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41。
由上述描述可知,在缓存队列中将接收者标识按照预设的时间标识的先后进行优先级排序,根据排序进行需重发消息列表的发送,并且需重发消息列表中只包括消息摘要,对发送方可以一次性针对一个用户实现批量发送。若接收方需重发的消息数量较多,则能够通过消息摘要减少资源损耗且更保证用户能快速获取消息的主要内容,避免出现消息数量较多时展示消息的详细内容会造成信息量较大使得接收者无法快速获取关键信息的问题。
进一步的,所述S42还包括:
S421、将所述需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的消息拉取信号,若是,则执行S422;
S422、将所述需重发消息列表中的第一预设数量的所述需重发消息的详细内容推送给所述客户端,并获取客户端的已接收消息列表,判断所述已接收消息列表是否为空,若否,则执行S423;
S423、判断所述需重发消息列表中的需重发消息是否存在与所述已接收消息列表中的消息相同的第一消息,若是,则将所述第一消息从所述需重发消息列表中删除并执行所述S421。
由上述描述可知,在推送仅有消息摘要的需重发消息列表至接收者后,若客户端发送消息拉取信号,则发送对应消息的详细内容给客户端,在批量发送包含消息摘要的需重发消息列表使得客户端能够快速确认重要消息的同时,也实现了将客户所请求的消息详细内容进行发送,满足用户的多维度需求。
进一步的,所述失败消息缓存队列为redis。
由上述描述可知,采用redis作为失败消息缓存队列,redis为有序集合,能够根据相应标识自动排序其中成员,并且不允许重复成员,适用于本申请失败消息缓存队列中接收者标识不重复及按照预设的时间标识进行排序的情形。
进一步的,所述S44具体为:
将预设的所述时间标识的值改变第一预设值以使得所述第一重发消息列表所对应的所述第一接收者标识的优先级下降;
判断改变后第一预设值后的所述时间标识的值是否超过阈值,若是,则将所述第一需重发消息列表所对应的第一接收者标识从所述失败消息缓存队列中删除并返回所述S41,否则,对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41。
由上述描述可知,在需重发消息列表发送失败后,改变该需重发消息列表所对应的第一接收者标识的优先级,使得其优先级下降,具体通过改变预设的时间标识实现,并判断时间标识的值是否超过阈值,若超过则说明与接收者(客户端)之间的连接长时间不稳定,此时将第一接收者标识从缓存中删除,不再对其进行消息重发。
请参照图2,一种重复消息的处理终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、若发送消息后未接收到客户端返回的消息送达信号,则标记所述消息为需重发消息;
S2、获取所述需重发消息所对应的接收者标识,判断失败消息缓存队列中是否保存有所述接收者标识,若否,则执行S3,若是,则将所述需重发消息添加至所述失败消息缓存队列中所述接收者标识的需重发消息列表;
S3、将所述接收者标识存入所述失败消息缓存队列;
S4、逐一获取所述失败消息缓存队列中的所述接收者标识,发送所述接收者标识所对应的所有所述需重发消息。
本发明的有益效果在于:若发送消息后未接收到客户端返回的消息送达信号,则将该消息所对应的接收者的接受者标识记录在缓存中,若缓存中已存在此接收者标识,则更新其对应的需重发消息列表,在进行消息重发时根据缓存的接收者标识,一次性发送其对应的所有需重发消息,以接收者作为需重发消息发送时的关键字,实现重复消息的批量发送,替代现有技术对发送失败的消息进行逐条重试的方法,提高了消息发送的效率。
进一步的,所述S2中的所述失败消息缓存队列中的所述接收者标识按照预设的时间标识的先后进行优先级排序;
所述S4具体为:
S41、获取所述失败消息缓存队列中排在第一位的第一接收者标识所对应的所有所述需重发消息,得到第一需重发消息列表,所述需重发消息列表包括每一个需重发消息的消息摘要;
S42、将所述第一需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的所述消息送达信号,若是,则执行S43;否则,执行S44;
S43、将所述需重发消息列表所对应的所述第一接收者标识从所述失败消息缓存队列中删除并返回所述S41;
S44、降低所述第一接收者标识的优先级并对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41。
由上述描述可知,在缓存队列中将接收者标识按照预设的时间标识的先后进行优先级排序,根据排序进行需重发消息列表的发送,并且需重发消息列表中只包括消息摘要,对发送方可以一次性针对一个用户实现批量发送。若接收方需重发的消息数量较多,则能够通过消息摘要减少资源损耗且更保证用户能快速获取消息的主要内容,避免出现消息数量较多时展示消息的详细内容会造成信息量较大使得接收者无法快速获取关键信息的问题。
进一步的,所述S42还包括:
S421、将所述需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的消息拉取信号,若是,则执行S422;
S422、将所述需重发消息列表中的第一预设数量的所述需重发消息的详细内容推送给所述客户端,并获取客户端的已接收消息列表,判断所述已接收消息列表是否为空,若否,则执行S423;
S423、判断所述需重发消息列表中的需重发消息是否存在与所述已接收消息列表中的消息相同的第一消息,若是,则将所述第一消息从所述需重发消息列表中删除并执行所述S421。
由上述描述可知,在推送仅有消息摘要的需重发消息列表至接收者后,若客户端发送消息拉取信号,则发送对应消息的详细内容给客户端,在批量发送包含消息摘要的需重发消息列表使得客户端能够快速确认重要消息的同时,也实现了将客户所请求的消息详细内容进行发送,满足用户的多维度需求。
进一步的,所述失败消息缓存队列为redis。
由上述描述可知,采用redis作为失败消息缓存队列,redis为有序集合,能够根据相应标识自动排序其中成员,并且不允许重复成员,适用于本申请失败消息缓存队列中接收者标识不重复及按照预设的时间标识进行排序的情形。
进一步的,所述S44具体为:
将预设的所述时间标识的值改变第一预设值以使得所述第一重发消息列表所对应的所述第一接收者标识的优先级下降;
判断改变后第一预设值后的所述时间标识的值是否超过阈值,若是,则将所述第一需重发消息列表所对应的第一接收者标识从所述失败消息缓存队列中删除并返回所述S41,否则,对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41。
由上述描述可知,在需重发消息列表发送失败后,改变该需重发消息列表所对应的第一接收者标识的优先级,使得其优先级下降,具体通过改变预设的时间标识实现,并判断时间标识的值是否超过阈值,若超过则说明与接收者(客户端)之间的连接长时间不稳定,此时将第一接收者标识从缓存中删除,不再对其进行消息重发。
请参照图1,本发明的实施例一为:
一种重复消息的处理方法,包括步骤:
S1、若发送消息后未接收到客户端返回的消息送达信号,则标记所述消息为需重发消息;
S2、获取所述需重发消息所对应的接收者标识,判断失败消息缓存队列中是否保存有所述接收者标识,若否,则执行S3,若是,则将所述需重发消息添加至所述失败消息缓存队列中所述接收者标识的需重发消息列表;
其中,所述失败消息缓存队列中的所述接收者标识按照预设的时间标识的先后进行优先级排序;
在一种可选的实施方式中,失败消息缓存队列为redis,缓存格式为sortset格式,其中key存储固定内容msg_key,表示该条缓存的唯一标识;score存储预设的时间标识,初始值为0;value存储接收者标识(userID),接收者标识用于标识接收消息的客户端;sortset会自动根据score值排序队列,使得能够快速查询出满足条件的数据;
S3、将所述接收者标识存入所述失败消息缓存队列;
S4、逐一获取所述失败消息缓存队列中的所述接收者标识,判断所述接收者标识所对应的客户端是否在线,若不在线,则将接收者标识从失败消息缓存队列中删除,若在线,则发送所述接收者标识所对应的所有所述需重发消息;
具体为:
S41、获取所述失败消息缓存队列中排在第一位的第一接收者标识所对应的所有所述需重发消息,得到第一需重发消息列表,所述需重发消息列表包括每一个需重发消息的消息摘要;
S42、将所述第一需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的所述消息送达信号,若是,则执行S43;否则,执行S44;
S43、将所述需重发消息列表所对应的所述第一接收者标识从所述失败消息缓存队列中删除并返回所述S41;
S44、降低所述第一接收者标识的优先级并对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41;具体为:将预设的所述时间标识的值改变第一预设值以使得所述第一重发消息列表的优先级下降;判断改变后第一预设值后的所述时间标识的值是否超过阈值,若是,则将所述第一需重发消息列表所对应的第一接收者标识从所述失败消息缓存队列中删除并返回所述S41,否则,对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41;
在服务端与客户端所有长链接通信消息中,都会存在一个标识消息类型的字段,该字段表示消息的具体类型,如登录消息类型(标识为1),建立长链接消息类型(标识为2),消息应答类型(标识为3),等;在本实施例中新建一独立的消息类型表示重发消息,可以为其分配任意字符串标识如标识为4,则客户端只需要获取到消息类型为4的消息,则表示是重发消息,需要进行后续的获取失败消息的操作;
此种方式可有效节省带宽流量;在进行消息重新发送时:A、获取score中的值为0的接收者标识所对应的需重发消息列表进行发送,直接删除收到对应消息送达信号的接收者标识,对于未接收到消息送达信号的接收者标识,将score中的值修改为当前时间+5分钟的时间戳;B、获取score中的值为当前时间至当前时间+5分钟之间的接收者标识所对应的需重发消息列表进行发送,直接删除收到对应消息送达信号的接收者标识,对于未接收到消息送达信号的接收者标识,将score中的值修改为当前时间+30分钟的时间戳;C、获取score中的值为当前时间至当前时间+30分钟之间的接收者标识所对应的需重发消息列表进行发送后,直接删除接收者标识,不再进行重新发送。
其中,所述S3与所述S4为异步执行。
本发明的实施例二为:
一种重复消息的处理方法,其与实施例一的不同之处在于:
还包括:若发送消息后接收到客户端返回的消息送达信号,获取消息对应的接收者标识,判断失败消息缓存队列中是否保存有所述接收者标识,若是,则发送所述接收者标识所对应的需重发消息列表;
S42还包括:
S421、将所述需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的消息拉取信号,若是,则执行S422;
其中将需重发消息列表推送给客户端具体为:调用分页接口,分页推送需重发消息列表,分页接口的参数包括页大小参数及客户端已接收消息列表参数;页大小参数可调整设定每次推送需重发消息列表中消息的数量,客户端已接收消息列表参数接收客户端返回的已接收消息标识,并在需重发消息列表中删除相应已接收消息标识所对应的消息;
S422、将所述需重发消息列表中的第一预设数量的所述需重发消息的详细内容推送给所述客户端,并获取客户端的已接收消息列表,判断所述已接收消息列表是否为空,若否,则执行S423;
S423、判断所述需重发消息列表中的需重发消息是否存在与所述已接收消息列表中的消息相同的第一消息,若是,则将所述第一消息从所述需重发消息列表中删除并执行所述S421。
请参照图2,本发明的实施例三为:
一种重复消息的处理终端1,包括处理器2、存储器3及存储在存储器3上并可在所述处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现实施例一或实施例二中的各个步骤。
综上所述,本发明提供了一种重复消息的处理方法及终端,若在发送消息后未接收到消息送达信号,则将消息标记为需重发消息,并获取该消息所对应的接收者标识,若接收者标识已存在于缓存中,则将该需重发消息更新到接收者标识所对应的需重发消息列表中,若缓存中没有该接收者标识,则将接收者标识存储到缓存中并将该需重发消息更新到接收者标识所对应的需重发消息列表中;因在缓存中只存储有接收者标识,在重发消息时根据接收者标识获取其需重发消息列表,实现需重发消息列表中所有需重发消息的一次发送,无需多次调动发送接口,大大减小了对服务端资源的占用;在发送过程中,需重发消息列表只包含消息的简单标识而不发送完整的消息内容,当客户端请求查看详细内容时,才发送对应消息的详细内容,在消息通知较多的情况下能够使用户一目了然获取消息信息,并且也能够提供消息详细内容的查看;利用redis中sortset数据格式的特性进行接收者标识的缓存,使得总体的效率进一步提升。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种重复消息的处理方法,其特征在于,包括步骤:
S1、若发送消息后未接收到客户端返回的消息送达信号,则标记所述消息为需重发消息;
S2、获取所述需重发消息所对应的接收者标识,判断失败消息缓存队列中是否保存有所述接收者标识,若否,则执行S3,若是,则将所述需重发消息添加至所述失败消息缓存队列中所述接收者标识的需重发消息列表;
S3、将所述接收者标识存入所述失败消息缓存队列;
S4、逐一获取所述失败消息缓存队列中的所述接收者标识,发送所述接收者标识所对应的所有所述需重发消息;
所述S2中的所述失败消息缓存队列中的所述接收者标识按照预设的时间标识的先后进行优先级排序;
所述S4具体为:
S41、获取所述失败消息缓存队列中排在第一位的第一接收者标识所对应的所有所述需重发消息,得到第一需重发消息列表,所述需重发消息列表包括每一个需重发消息的消息摘要;
S42、将所述第一需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的所述消息送达信号,若是,则执行S43;否则,执行S44;
S43、将所述需重发消息列表所对应的所述第一接收者标识从所述失败消息缓存队列中删除并返回所述S41;
S44、降低所述第一接收者标识的优先级并对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41。
2.根据权利要求1所述的一种重复消息的处理方法,其特征在于,所述S42还包括:
S421、将所述需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的消息拉取信号,若是,则执行S422;
S422、将所述需重发消息列表中的第一预设数量的所述需重发消息的详细内容推送给所述客户端,并获取客户端的已接收消息列表,判断所述已接收消息列表是否为空,若否,则执行S423;
S423、判断所述需重发消息列表中的需重发消息是否存在与所述已接收消息列表中的消息相同的第一消息,若是,则将所述第一消息从所述需重发消息列表中删除并执行所述S421。
3.根据权利要求1所述的一种重复消息的处理方法,其特征在于,所述失败消息缓存队列为redis。
4.根据权利要求1所述的一种重复消息的处理方法,其特征在于,所述S44具体为:
将预设的所述时间标识的值改变第一预设值以使得所述第一需重发消息列表所对应的所述第一接收者标识的优先级下降;
判断改变后第一预设值后的所述时间标识的值是否超过阈值,若是,则将所述第一需重发消息列表所对应的第一接收者标识从所述失败消息缓存队列中删除并返回所述S41,否则,对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41。
5.一种重复消息的处理终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、若发送消息后未接收到客户端返回的消息送达信号,则标记所述消息为需重发消息;
S2、获取所述需重发消息所对应的接收者标识,判断失败消息缓存队列中是否保存有所述接收者标识,若否,则执行S3,若是,则将所述需重发消息添加至所述失败消息缓存队列中所述接收者标识的需重发消息列表;
S3、将所述接收者标识存入所述失败消息缓存队列;
S4、逐一获取所述失败消息缓存队列中的所述接收者标识,发送所述接收者标识所对应的所有所述需重发消息;
所述S2中的所述失败消息缓存队列中的所述接收者标识按照预设的时间标识的先后进行优先级排序;
所述S4具体为:
S41、获取所述失败消息缓存队列中排在第一位的第一接收者标识所对应的所有所述需重发消息,得到第一需重发消息列表,所述需重发消息列表包括每一个需重发消息的消息摘要;
S42、将所述第一需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的所述消息送达信号,若是,则执行S43;否则,执行S44;
S43、将所述需重发消息列表所对应的所述第一接收者标识从所述失败消息缓存队列中删除并返回所述S41;
S44、降低所述第一接收者标识的优先级并对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41。
6.根据权利要求5所述的一种重复消息的处理终端,其特征在于,所述S42还包括:
S421、将所述需重发消息列表推送给客户端,并判断是否接收到所述客户端发送的消息拉取信号,若是,则执行S422;
S422、将所述需重发消息列表中的第一预设数量的所述需重发消息的详细内容推送给所述客户端,并获取客户端的已接收消息列表,判断所述已接收消息列表是否为空,若否,则执行S423;
S423、判断所述需重发消息列表中的需重发消息是否存在与所述已接收消息列表中的消息相同的第一消息,若是,则将所述第一消息从所述需重发消息列表中删除并执行所述S421。
7.根据权利要求5所述的一种重复消息的处理终端,其特征在于,所述失败消息缓存队列为redis。
8.根据权利要求5所述的一种重复消息的处理终端,其特征在于,所述S44具体为:
将预设的所述时间标识的值改变第一预设值以使得所述第一需重发消息列表所对应的所述第一接收者标识的优先级下降;
判断改变后第一预设值后的所述时间标识的值是否超过阈值,若是,则将所述第一需重发消息列表所对应的第一接收者标识从所述失败消息缓存队列中删除并返回所述S41,否则,对所述失败消息缓存队列中的接收者标识进行重新排序,之后返回所述S41。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011282957.1A CN112468386B (zh) | 2020-11-17 | 2020-11-17 | 一种重复消息的处理方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011282957.1A CN112468386B (zh) | 2020-11-17 | 2020-11-17 | 一种重复消息的处理方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112468386A CN112468386A (zh) | 2021-03-09 |
CN112468386B true CN112468386B (zh) | 2022-09-06 |
Family
ID=74837055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011282957.1A Active CN112468386B (zh) | 2020-11-17 | 2020-11-17 | 一种重复消息的处理方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112468386B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113988927A (zh) * | 2021-10-29 | 2022-01-28 | 北京明略软件系统有限公司 | 一种商机要素缺失提醒方法、系统、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539514A (zh) * | 2014-12-17 | 2015-04-22 | 广州酷狗计算机科技有限公司 | 消息过滤方法和装置 |
CN105530278A (zh) * | 2014-09-30 | 2016-04-27 | 博雅网络游戏开发(深圳)有限公司 | 消息推送方法和装置 |
CN106161190A (zh) * | 2015-04-02 | 2016-11-23 | 北大方正集团有限公司 | 点对点即时通信方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2632080A1 (en) * | 2012-02-27 | 2013-08-28 | Mycelium S.A. | System to communicate messages locally |
CN103973419A (zh) * | 2013-01-31 | 2014-08-06 | 中兴通讯股份有限公司 | 一种短消息服务中心及短消息重发的方法 |
CN104378280B (zh) * | 2013-08-16 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 消息发送和接收方法、服务器、客户端和系统 |
CN105657000A (zh) * | 2015-12-25 | 2016-06-08 | 北京奇虎科技有限公司 | 消息传送方法及装置 |
JP6236510B1 (ja) * | 2016-10-31 | 2017-11-22 | Line株式会社 | 情報処理システム、情報処理方法、および、プログラム |
CN108234599A (zh) * | 2017-12-06 | 2018-06-29 | 链家网(北京)科技有限公司 | 一种消息重发方法及系统 |
CN109743142A (zh) * | 2018-09-30 | 2019-05-10 | 比亚迪股份有限公司 | 消息通信方法及装置 |
CN110719318B (zh) * | 2019-09-06 | 2022-06-21 | 未鲲(上海)科技服务有限公司 | 消息处理方法和系统 |
-
2020
- 2020-11-17 CN CN202011282957.1A patent/CN112468386B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530278A (zh) * | 2014-09-30 | 2016-04-27 | 博雅网络游戏开发(深圳)有限公司 | 消息推送方法和装置 |
CN104539514A (zh) * | 2014-12-17 | 2015-04-22 | 广州酷狗计算机科技有限公司 | 消息过滤方法和装置 |
CN106161190A (zh) * | 2015-04-02 | 2016-11-23 | 北大方正集团有限公司 | 点对点即时通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112468386A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5246332B2 (ja) | 拡張されたメッセージングプラットフォーム | |
US20180375814A1 (en) | Tracking and controlling mass communications | |
KR100677497B1 (ko) | 단말기의 중복 통보 메시지 처리 방법 | |
EP1273135B1 (en) | System and method for bundling information | |
CN108200544B (zh) | 短信下发方法和短信平台 | |
EP2149092B1 (en) | Synchronizing email messages between an external and/or local email server and/or a wireless device | |
EP2211273B1 (en) | Method and system for distributing electronic messages to a wireless data processing device | |
US5210869A (en) | Method and system for automated transmission of failure of delivery message in a data processing system | |
US8271683B2 (en) | Content push service | |
CN109451032B (zh) | 一种消息传递系统 | |
CN111030784A (zh) | 一种信息同步方法和装置 | |
EP2149091A1 (en) | Apparatus and method for caching email messages within a wireless data service | |
US20110016190A1 (en) | Method and apparatus for realizing message service | |
WO2012029374A1 (ja) | メール転送システム、メールゲートウェイ及びデータストアサーバ | |
CN112468386B (zh) | 一种重复消息的处理方法及终端 | |
CN107786607B (zh) | 一种消息重传方法、消息重传服务器及用户设备 | |
CN110719145B (zh) | 已读回执发送方法、装置及计算机可读存储介质 | |
CN110971535B (zh) | 一种通信拥塞控制方法及装置、设备和存储介质 | |
CN113794622A (zh) | 消息处理方法、装置、电子设备及存储介质 | |
CN101378538B (zh) | 一种群发消息处理方法及系统 | |
CN113365231A (zh) | 一种发送短信的方法和装置 | |
CN112351072B (zh) | 一种消息推送方法及终端 | |
CN113938846B (zh) | 一种消息延迟发送方法及终端 | |
CN115334466B (zh) | 一种消息的发送方法、装置、电子设备及存储介质 | |
WO2023279361A1 (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 |