消息重发方法及装置制造方法及图纸

技术编号:14693212 阅读:33 留言:0更新日期:2017-02-23 16:06
本公开是关于一种消息重发方法及装置,包括:步骤S101服务器向终端发送至少一条应用消息,并对每条应用消息从发送时刻开始计时;步骤S102服务器判断第一条应用消息的计时时间是否达到第一预设时间,若是,则服务器判断是否要重发第一条应用消息,并且将第二条应用消息作为新的第一条应用消息,继续判断新的第一条应用消息的计时时间是否达到第一预设时间,若是,则服务器判断是否要重发新的第一条应用消息,直至判断完是否要重发最后一条应用消息为止;步骤S103若服务器需要重发至少一条应用消息时,则对需要重发的应用消息继续执行步骤S101至步骤S103;否则,则服务器停止重发,从而提高应用消息重发效率。

【技术实现步骤摘要】

本公开涉及通信领域,尤其涉及一种消息重发方法及装置
技术介绍
目前,随着计算机软件技术的发展,终端中的应用(Application,简称APP)越来越多,从而丰富用户的日常生活。APP对应的运营商服务器经常需要向用户推送各种应用消息,例如:更新消息、优惠消息等。但是由于移动网络环境的影响,可能会存在有些消息无法发送至用户,从而降低通信可靠性,为了提高消息的到达率,服务器可以采取重发消息的方式,通常服务器推送的消息数量庞大,因此如何重发应用消息至关重要。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种消息重发方法及装置。所述技术方案如下:根据本公开实施例的第一方面,提供一种消息重发方法,包括:步骤S101:服务器向至少一个终端发送至少一条应用消息,并对至少一条应用消息中的每条应用消息从发送时刻开始计时;步骤S102:服务器判断第一条应用消息的计时时间是否达到第一预设时间,若是,则服务器判断是否要重发第一条应用消息,并且将第二条应用消息作为新的第一条应用消息,继续判断新的第一条应用消息的计时时间是否达到第一预设时间,若是,则服务器判断是否要重发新的第一条应用消息,直至判断完是否要重发最后一条应用消息为止;步骤S103:若服务器需要重发至少一条应用消息时,则对需要重发的至少一条应用消息继续执行步骤S101至步骤S103;否则,则服务器停止重发。本公开的实施例提供的技术方案可以包括以下有益效果:现有技术中服务器不区分应用消息的先后发送顺序,周期性的或者非周期性的要对所有应用消息的计时时间进行判断,当任一条应用消息的计时时间达到预设时间,则判断是否重发该应用消息。本公开实施例中,由于当服务器确定第一条应用消息的计时时间达到第一预设时间时,才继续判断第二条应用消息的计时时间是否达到第一预设时间,依次类推,当服务器确定倒数第二条应用消息的计时时间达到第一预设时间时,才继续判断倒数第一条应用消息的计时时间是否达到第一预设时间,从而可以提高重发效率。可选地,还包括:服务器将至少一条应用消息按照发送顺序依次存储至第一队列的对尾中;相应的,服务器向至少一个终端发送至少一条应用消息,包括:服务器按照第一队列从对头到对尾的顺序依次发送至少一条应用消息。可选地,还包括:服务器将需要重发的至少一条应用消息按照发送顺序依次存储至第二队列的对尾中;相应的,服务器向至少一个终端发送所述需要重发的至少一条应用消息,包括:服务器按照所述第二队列从对头到对尾的顺序依次发送所述需要重发的至少一条应用消息。可选地,服务器判断是否要重发第一条应用消息,包括:服务器判断是否接收到第一条应用消息对应的确认Ack消息;若服务器未接收到第一条应用消息对应的确认Ack消息,则服务器判断第一条应用消息的计时时间是否小于第二预设时间,其中第二预设时间大于第一预设时间;或者,判断第一条应用消息的重发次数是否小于预设次数。通过该方法可以有效判断是否要重发第一条应用消息。可选地,服务器向至少一个终端发送至少一条应用消息之前,还包括:服务器生成每条应用消息的序列号,将序列号携带至所述每条应用消息中,序列号包括:每条应用消息的待发送时间和待发送时间内服务器为每条应用消息设置的编号。可选地,判断是否接收到第一条应用消息对应的确认Ack消息之前,还包括:服务器接收至少一个终端发送的至少一个确认Ack消息;服务器将所述至少一个确认Ack消息以哈希表的形式存储至本地数据库中,哈希表的每一项包括:每条应用消息对应的序列号和用于表示每条应用消息是否被成功接收的标识信息;相应的,判断是否接收到第一条应用消息对应的确认Ack消息,包括:服务器查询哈希表判断是否接收到第一条应用消息对应的确认Ack消息。通过哈希表存储方式可以提高查询效率,进而提高重发效率。可选地,判断是否接收到第一条应用消息对应的确认Ack消息之前,还包括:服务器接收至少一个终端发送的至少一个确认Ack消息;服务器将至少一个确认Ack消息以位图的形式存储至本地数据库中,位图的每一项包括:用于表示每条应用消息是否被成功接收的标识信息;相应的,判断是否接收到第一条应用消息对应的确认Ack消息,包括:服务器查询位图判断是否接收到第一条应用消息对应的确认Ack消息。通过位图方式可以达到节省内存空间的目的。下面将介绍专利技术实施例提供一种消息重发装置,其中装置部分与上述消息重发方法对应,对应技术效果相同,在此不再赘述。根据本公开实施例的第二方面,提供一种消息重发装置,包括:发送模块,被配置为执行步骤S101:向至少一个终端发送至少一条应用消息,并对至少一条应用消息中的每条应用消息从发送时刻开始计时;判断模块,被配置为执行步骤S102:判断第一条应用消息的计时时间是否达到第一预设时间,若是,则判断是否要重发所述第一条应用消息,并且将第二条应用消息作为新的第一条应用消息,继续判断新的第一条应用消息的计时时间是否达到所述第一预设时间,若是,则判断是否要重发所述新的第一条应用消息,直至判断完是否要重发最后一条应用消息为止;发送模块,还被配置为执行步骤S103:当需要重发至少一条应用消息时,则发送模块和判断模块继续执行步骤S101至步骤S103;否则,则发送模块停止重发。可选地,还包括:第一存储模块,被配置为将至少一条应用消息按照发送顺序依次存储至第一队列的对尾中;相应的,发送模块,具体被配置为按照第一队列从对头到对尾的顺序依次发送至少一条应用消息。可选地,还包括:第二存储模块,被配置为将需要重发的至少一条应用消息按照发送顺序依次存储至第二队列的对尾中;相应的,发送模块,具体被配置为按照第二队列从对头到对尾的顺序依次发送所述需要重发的至少一条应用消息。可选地,判断模块具体被配置为:判断是否接收到所述第一条应用消息对应的确认Ack消息;若判断未接收到所述第一条应用消息对应的确认Ack消息,则判断所述第一条应用消息的计时时间是否小于第二预设时间,其中所述第二预设时间大于所述第一预设时间;或者,判断所述第一条应用消息的重发次数是否小于预设次数。可选地,还包括:生成模块,被配置为生成所述每条应用消息的序列号,将所述序列号携带至所述每条应用消息中,所述序列号包括:所述每条应用消息的待发送时间和所述待发送时间内所述装置为所述每条应用消息设置的编号。可选地,还包括:第一接收模块,被配置为接收所述至少一个终端发送的至少一个确认Ack消息;第三存储模块,被位置为将所述至少一个确认Ack消息以哈希表的形式存储至本地数据库中,所述哈希表的每一项包括:所述每条应用消息对应的序列号和用于表示所述每条应用消息是否被成功接收的标识信息;相应的,所述判断模块,具体被配置为查询所述哈希表判断是否接收到所述第一条应用消息对应的确认Ack消息。可选地,还包括:第二接收模块,被配置为接收所述至少一个终端发送的至少一个确认Ack消息;第四存储模块,被配置为将所述至少一个确认Ack消息以位图的形式存储至本地数据库中,所述位图的每一项包括:用于表示所述每条应用消息是否被成功接收的标识信息;相应的,所述判断模块,具体被配置为查询所述位图判断是否接收到所述第一条应用消息对应的确认Ack消息。根据本公开实施例的第三方面,提供一种消息重发装置,包括:处理器、发送器和用于存储所本文档来自技高网...
消息重发方法及装置

【技术保护点】
一种消息重发方法,其特征在于,包括:步骤S101:服务器向至少一个终端发送至少一条应用消息,并对所述至少一条应用消息中的每条应用消息从发送时刻开始计时;步骤S102:所述服务器判断第一条应用消息的计时时间是否达到第一预设时间,若是,则所述服务器判断是否要重发所述第一条应用消息,并且将第二条应用消息作为新的第一条应用消息,继续判断所述新的第一条应用消息的计时时间是否达到所述第一预设时间,若是,则所述服务器判断是否要重发所述新的第一条应用消息,直至判断完是否要重发最后一条应用消息为止;步骤S103:若所述服务器需要重发至少一条应用消息时,则对需要重发的至少一条应用消息继续执行步骤S101至步骤S103;否则,则所述服务器停止重发。

【技术特征摘要】
1.一种消息重发方法,其特征在于,包括:步骤S101:服务器向至少一个终端发送至少一条应用消息,并对所述至少一条应用消息中的每条应用消息从发送时刻开始计时;步骤S102:所述服务器判断第一条应用消息的计时时间是否达到第一预设时间,若是,则所述服务器判断是否要重发所述第一条应用消息,并且将第二条应用消息作为新的第一条应用消息,继续判断所述新的第一条应用消息的计时时间是否达到所述第一预设时间,若是,则所述服务器判断是否要重发所述新的第一条应用消息,直至判断完是否要重发最后一条应用消息为止;步骤S103:若所述服务器需要重发至少一条应用消息时,则对需要重发的至少一条应用消息继续执行步骤S101至步骤S103;否则,则所述服务器停止重发。2.根据权利要求1所述的方法,其特征在于,还包括:所述服务器将所述至少一条应用消息按照发送顺序依次存储至第一队列的对尾中;相应的,所述服务器向至少一个终端发送至少一条应用消息,包括:所述服务器按照所述第一队列从对头到对尾的顺序依次发送所述至少一条应用消息。3.根据权利要求1或2所述的方法,其特征在于,还包括:所述服务器将所述需要重发的至少一条应用消息按照发送顺序依次存储至第二队列的对尾中;相应的,所述服务器向至少一个终端发送所述需要重发的至少一条应用消息,包括:所述服务器按照所述第二队列从对头到对尾的顺序依次发送所述需要重发的至少一条应用消息。4.根据权利要求1或2所述的方法,其特征在于,所述服务器判断是否要重发所述第一条应用消息,包括:所述服务器判断是否接收到所述第一条应用消息对应的确认Ack消息;若所述服务器未接收到所述第一条应用消息对应的确认Ack消息,则所述服务器判断所述第一条应用消息的计时时间是否小于第二预设时间,其中所述第二预设时间大于所述第一预设时间;或者,判断所述第一条应用消息的重发次数是否小于预设次数。5.根据权利要求4所述的方法,其特征在于,所述服务器向至少一个终端发送至少一条应用消息之前,还包括:所述服务器生成所述每条应用消息的序列号,将所述序列号携带至所述每条应用消息中,所述序列号包括:所述每条应用消息的待发送时间和所述待发送时间内所述服务器为所述每条应用消息设置的编号。6.根据权利要求5所述的方法,其特征在于,所述判断是否接收到所述第一条应用消息对应的确认Ack消息之前,还包括:所述服务器接收所述至少一个终端发送的至少一个确认Ack消息;所述服务器将所述至少一个确认Ack消息以哈希表的形式存储至本地数据库中,所述哈希表的每一项包括:所述每条应用消息对应的序列号和用于表示所述每条应用消息是否被成功接收的标识信息;相应的,所述判断是否接收到所述第一条应用消息对应的确认Ack消息,包括:所述服务器查询所述哈希表判断是否接收到所述第一条应用消息对应的确认Ack消息。7.根据权利要求5所述的方法,其特征在于,所述判断是否接收到所述第一条应用消息对应的确认Ack消息之前,还包括:所述服务器接收所述至少一个终端发送的至少一个确认Ack消息;所述服务器将所述至少一个确认Ack消息以位图的形式存储至本地数据库中,所述位图的每一项包括:用于表示所述每条应用消息是否被成功接收的标识信息;相应的,所述判断是否接收到所述第一条应用消息对应的确认Ack消息,包括:所述服务器查询所述位图判断是否接收到所述第一条应用消息对应的确认Ack消息。8.一种消息重发装置,其特征在于,包括:发送模块,被配置为执行步骤S101:向至少一个终端发送至少一条应用消息,并对所述至少一条应用消息中的每条应用消息从发送时刻开始计时;判断模块,被配置为执行步骤S102:判断第一条应用...

【专利技术属性】
技术研发人员:尹智宇张黎明郑志光
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京;11

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

1