CN104301203A - 一种消息推送方法和设备 - Google Patents
一种消息推送方法和设备 Download PDFInfo
- Publication number
- CN104301203A CN104301203A CN201410457788.9A CN201410457788A CN104301203A CN 104301203 A CN104301203 A CN 104301203A CN 201410457788 A CN201410457788 A CN 201410457788A CN 104301203 A CN104301203 A CN 104301203A
- Authority
- CN
- China
- Prior art keywords
- message
- timestamp
- message content
- equipment
- propelling movement
- 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.)
- Granted
Links
Abstract
本发明实施例公开了一种消息推送方法,包括:接收服务端发送的推送消息;推送消息包括应用标识、目标用户标识,以及消息内容;将消息内容存储到同时与该应用标识和目标用户标识对应的消息队列中,并将消息队列中消息内容的时间戳设置为消息内容的接收时间;根据应用标识和目标用户标识确定当前在线的目标用户设备;目标用户设备为利用目标用户标识登陆应用标识所属的应用的用户设备;根据自身记录的针对目标用户设备的推送时间戳,将消息队列中时间戳晚于推送时间戳的消息内容发送给目标用户设备。本发明实施例还公开了一种消息推送设备。实施本发明实施例,可以在用户拥有多用户设备的消息推送场景中,提高消息推送的完整性和准确性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种消息推送方法和设备。
背景技术
移动互联网是当今世界发展最快、市场潜力最大、前景最诱人的划时代产业,正逐渐改变人们的生活与工作方式。移动互联网与传统互联网行业最大的不同是移动的特性,而消息推送是移动应用最重要的功能之一,是实现移动业务实时、精准地传递信息给有效客户群的最好方式。
目前,一个用户拥有多个用户设备已经变得越来越普及,当用户在多个用户设备中安装同一款APP软件,并用同一个账户进行登录时,就需要保证用户的各种用户设备都能够收到(或者有选择的收到)APP的新推送消息,以及当用户离线时对推送消息进行缓存而不丢失。
在实现本发明的过程中,发明人发现现有技术中至少存在以下技术问题:
现有技术中,针对用户拥有多用户设备的消息推送场景,只保证在线的用户设备中的一个用户设备收到推送消息,其他用户设备不进行推送,可能会导致多用户设备间消息上下文混乱;此外,推送消息发送给用户设备后,丢弃该推送消息,当前不在线的用户设备将无法再接收到该推送消息,无法保证用户设备接收到的推送消息的完整性。
发明内容
本发明实施例公开了一种消息推送方法和设备,能够在用户拥有多用户设备的消息推送场景中,提高消息推送的完整性和准确性。
本发明实施例第一方面公开了一种消息推送方法,包括:
接收服务端发送的推送消息;所述推送消息包括应用标识、目标用户标识,以及消息内容;
将所述消息内容存储到同时与所述应用标识和目标用户标识对应的消息队列中,并将所述消息队列中所述消息内容的时间戳设置为所述消息内容的接收时间;
根据所述应用标识和目标用户标识确定当前在线的目标用户设备;所述目标用户设备为利用所述目标用户标识登陆所述应用标识所属的应用的用户设备;
根据自身记录的针对所述目标用户设备的推送时间戳,将所述消息队列中时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备,并将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间。
本发明实施例第二方面公开了一种消息推送设备,包括:
第一接收模块,用于接收服务端发送的推送消息;所述推送消息包括应用标识、目标用户标识,以及消息内容;
存储模块,用于将所述消息内容存储到同时与所述应用标识和目标用户标识对应的消息队列中,并将所述消息队列中所述消息内容的时间戳设置为所述消息内容的接收时间;
确定模块,用于根据所述应用标识和目标用户标识确定当前在线的目标用户设备;所述目标用户设备为利用所述目标用户标识登陆所述应用标识所属的应用的用户设备;
第一发送模块,用于根据所述设备记录的针对所述目标用户设备的推送时间戳,将所述消息队列中时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备;
第一记录模块,用于将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间。
实施本发明实施例,具有如下有益效果:
当接收到服务端发送的推送消息时,一方面根据推送消息包括的应用标识和目标用户标识查询对应的消息队列,并将推送消息中包括的消息内容存储到该消息队列中,且将该消息队列中该消息内容的时间戳设置为该消息内容的接收时间;另一方面根据应用标识和目标用户标识确定当前在线的目标用户设备,并查询自身记录的针对该目标用户设备的推送时间戳,从而将消息队列中时间戳晚于该推送时间戳的消息内容发送给该目标用户设备,在用户拥有多用户设备的消息推动场景中,提高了消息推送的完整性和准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种消息推送方法的流程示意图;
图2为本发明实施例提供的另一种消息推送方法的流程示意图;
图3为本发明实施例提供的另一种消息推送方法的流程示意图;
图4为本发明实施例提供的一种具体应用场景的架构示意图;
图5为本发明实施例提供的一种消息推送设备的结构示意图;
图6为本发明实施例提供的另一种消息推送设备的结构示意图;
图7为本发明实施例提供的另一种消息推送设备的结构示意图;
图8为本发明实施例提供的另一种消息推送设备的结构示意图;
图9为本发明实施例提供的另一种消息推送设备的结构示意图;
图10为本发明实施例提供的另一种消息推送设备的结构示意图;
图11为本发明实施例提供的另一种消息推送设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种消息推送方法的流程示意图,可以包括以下步骤:
S101、接收服务端发送的推送消息,该推送消息包括应用标识、目标用户标识,以及消息内容。
本发明实施例中,服务端可以为硬件实现的服务端,如服务器,也可以是软件实现的服务端,如服务系统,本发明实施例不做限定。
本发明实施例中,推送消息可以为用户之间的交互信息,即UGC(UserGenerated Content,用户创造内容),如用户A(源用户)发送给用户B(目标用户)的消息,也可以是应用内消息,如广告等。
本发明实施例中,消息内容中可以包括但不限于:源用户标识(即发送消息的用户的用户标识,当消息为应用内消息时,消息内容中可不包括源用户标识)、消息生成时间(即源用户发送该消息的时间)、消息的具体内容。
举例来说,假设应用A的用户1在2014年1月1日6:00给该应用的用户B发送的一条消息“今天下班后一起回家”,则应用A的服务器接收到用户1发送的该消息,并通过本发明实施例提供的消息推送设备发送给用户B时,推送消息中可以包括:应用A的应用标识、用户2的用户标识(即目标用户标识),以及消息内容;其中,该消息内容可以包括:用户1的用户标识(即源用户标识)、消息生成时间(即2014年1月1日6:00),以及消息的具体内容(即“今天下班后一起回家”)。
S102、将该消息内容存储到同时与该应用标识和目标用户标识对应的该消息队列中,并将该消息队列中该消息内容的时间戳设置为该消息内容的接收时间。
本发明实施例中,设置有消息队列,用于缓存服务端发送的推送消息;其中,该消息队列可以同时对应用户标识和应用标识设置,即一个应用的一个用户标识关联一个消息队列。
本发明实施例中,接收到服务端发送的推送消息时,可以根据该推送消息包括的应用标识和目标用户标识为依据,查询同时与该应用标识和目标用户标识对应的消息队列,并将该推送消息包括的消息内容存储到该消息队列中,且将该消息队列中该消息内容的时间戳设置为该消息内容的接收时间(即接收到推送消息的时间)。
举例来说,对于应用A,本发明实施例提供的消息推送设备可以为该应用A中的每一个用户设置一个消息队列,例如,应用A中的用户1对应消息队列1,应用A中的用户2对应消息队列2。基于该设置,假设本发明实施例提供的消息推送设备在2014年1月2日8:00接收到应用A的服务器发送的推送消息,该推送消息包括的目标用户标识为用户1和用户2的用户标识,该消息推送设备可以根据该推送消息中包括的应用标识(即应用A的应用标识),以及目标用户标识(即用户1和用户2的用户标识)查询对应的消息队列,即同时与应用A的应用标识和用户1的用户标识对应的消息队列1,以及同时与应用A的应用标识和用户2的用户标识对应的消息队列2,并将该推送消息包括的消息内容分别存储到消息队列1和消息队列2中,且分别将该消息内容在消息队列1和消息队列2中的时间戳设置为该消息内容的接收时间(即2014年1月2日8:00)。
S103、根据该应用标识和目标用户标识确定当前在线的目标用户设备,该目标用户设备为利用该目标用户标识登陆该应用标识所属的应用的用户设备。
本发明实施例中,当接收到服务端发送的推送消息,并将该推送消息包括的消息内容存储到对应的消息队列中后,可以根据该推送消息包括的应用标识和目标用户标识确定当前在线的目标用户设备。
作为一种可选的实施方式,上述步骤S104中,根据该应用标识和目标用户标识确定当前在线的目标用户设备可以包括以下步骤:
步骤11)、以该应用标识和目标用户标识为依据,查询自身记录的同时与该应用标识和目标用户标识匹配的目标用户设备的心跳时间戳;
步骤12)、当该目标用户设备的心跳时间戳与当前时间的时间间隔未超过预设阈值时,确定该目标用户设备为当前在线的目标用户设备。
在该实施方式中,用户设备登陆应用后,可以周期性地向消息推送设备发送心跳报文;该消息推送设备接收到该心跳报文时,可以根据接收到心跳报文的时间实时更新该用户设备对应的心跳时间戳,该心跳时间戳作为用来判断用户设备是否在线的依据,当记录的心跳时间戳与当前时间的时间间隔超过预设阈值(该预设阈值可以为n个心跳周期的时间和)时,确定用户设备不在线,否则,确定用户设备在线。
其中,消息推送设备接收心跳报文,并根据接收到心跳报文的时间更新用户设备对应的心跳时间戳,可以包括以下步骤:
步骤21)、接收用户设备发送的心跳报文;其中,该心跳报文中携带有用户标识、用户设备的UID(Unique Identifier,唯一标识符)以及应用标识;
步骤22)、判断自身是否记录有同时与该用户标识、UID以及应用标识对应的心跳时间戳;
步骤23)、若判断为是,将该心跳时间戳更新为该心跳报文的接收时间;
步骤24)、若判断为否,将该心跳报文的接收时间作为同时与用户标识、UID,以及应用标识对应的心跳时间戳。
本发明实施例中,为了使消息推送设备能够识别以同一用户标识登陆同一应用的不同用户设备,当用户设备首次登陆应用时,需要进行用户设备注册,其具体实现可以包括以下步骤:
步骤31)、接收用户设备发送的用户设备注册请求,该用户设备注册请求中包括用户标识、用户设备信息,以及应用标识;
其中,该用户设备信息可以包括但不限于:用户设备的IMEI(InternationalMobile Equipment Identity,国际移动设备识别码)、device token(设备令牌)、系统和设备型号等。
步骤32)、根据该用户标识和用户设备信息生成用户设备的UID;其中,该UID唯一标识该应用标识所属的应用所在的该用户设备;
例如,假设用户1拥有用户设备1和用户设备2,且该用户设备1和用户设备2上均安装了应用A,则通过用户设备注册,消息推送设备可以分别为应用A所在的用户设备1和用户设备2生成UID(如UID1和UID2),即UID1唯一标识应用A所在的用户设备1,UID2唯一标识应用A所在的用户设备2。
举例来说,消息推送设备可以根据用户设备的IMEI、用户名和注册时间,通过生成MD5值,作为该用户设备的UID。
步骤33)、向用户设备返回响应消息,该响应消息中携带该UID。
其中,用户设备接收到该响应消息后,可以保存该UID,当用户设备以该用户标识登陆该应用时,需要在登陆请求中携带该UID。
S104、根据自身记录的针对该目标用户设备的推送时间戳,将消息队列中时间戳晚于该推送时间戳的消息内容发送给该目标用户设备,并将针对该目标用户的推送时间戳更新为该时间戳晚于该推送时间戳的消息内容的发送时间。
本发明实施例中,根据应用标识和目标用户标识确定当前在线的目标用户设备后,还可以进一步查询针对该目标用户设备的推送时间戳,该推送时间戳表示上一次向该目标用户设备发送推送消息的时间。基于该推送时间戳,可以获知消息队列中的各消息内容中已经向该目标用户设备发送的消息内容和尚未向该目标用户设备发送的消息内容。
举例来说,假设根据应用标识(应用标识A)和目标用户标识(用户标识1)查询到当前在线的目标用户设备包括设备1、设备2和设备3(即用户使用用户标识1分别在设备1、设备2和设备3上登陆了应用标识A所属的应用),且自身记录的针对设备1、设备2和设备3的推送时间戳分别为2014年1月1日6:00、2014年1月2日8:00、2014年1月3日8:00,即上一次向设备1发送推送消息的时间为2014年1月1日6:00,向设备2发送推送消息的时间为2014年1月2日8:00,向设备3发送推送消息的时间为2014年1月3日8:00,基于该推送时间戳,可以获知,对于设备1,消息队列(同时与应用标识A和用户标识1对应的消息队列)中时间戳晚于2014年1月1日6:00的消息内容未向设备1发送,其余消息内容已向设备1发送;对于设备2,消息队列中时间戳晚于2014年1月2日8:00的消息内容未向设备2发送,其余消息内容已向设备2发送;对于设备3,消息队列中时间戳晚于2014年1月3日8:00的消息内容未向设备3发送,其余消息已向设备3发送。
本发明实施例中,根据应用标识和目标用户标识确定当前在线的目标用户设备,并查询到针对该目标用户设备的推送时间戳后,可以将消息队列中时间戳晚于该推送时间戳的消息内容发送给该目标用户设备,并将针对该目标用户设备的推送时间戳更新为该时间戳晚于该推送时间戳的消息内容的发送时间。
例如,对于上述设备1、设备2和设备3,可以分别将消息队列中时间戳晚于2014年1月1日6:00的消息内容发送给设备1,将消息队列中时间戳晚于2014年1月2日8:00的消息内容发送给设备2,将消息队列中时间戳晚于2014年1月3日8:00的消息内容发送给设备3,并将自身记录的设备1、设备2和设备3的推送时间戳更新为消息内容的发送时间(假设消息内容的发送时间为2014年1月5日11点,则可以将设备1、设备2和设备3的推送时间戳更新为2014年1月5日11点)。
本发明实施例中,消息推送设备将时间戳晚于自身记录的针对该目标用户设备的推送时间戳的消息内容发送给目标用户设备时,可以以数据包的形式发送,即将满足条件的消息内容合并为数据包,一起发送给目标用户设备。
其中,由于同一目标用户标识和应用标识对应的不同的目标用户设备的推送时间戳可能并不相同,但其对应的消息队列中的消息内容是唯一的,因此,发送给同一用户同时在线的不同用户设备的数据包可能是不同的,因此对于不同的目标用户设备,需要分别进行组包处理。
在图1所描述的方法中,通过将接收到的推送消息中的消息内容缓存到对应的消息队列中,并根据消息队列中消息内容的时间戳,以及目标用户设备的推送时间戳确定需要推送的消息内容,保证了在用户拥有多用户设备的消息推送场景中,各用户设备均能完整、准确地接收到推送消息,提高了消息推送的完整性和准确性。
如图2所示,为本发明实施例提供的另一种消息推送方法的流程示意图,在该实施例中,以推送服务器为推送服务器为例进行描述,该方法可以包括以下步骤:
S201、推送服务器接收服务端发送的推送消息,该推送消息包括应用标识、目标用户标识,以及消息内容。
S202、推送服务器根据该应用标识和目标用户标识查询对应的消息队列。
S203、推送服务器将该消息内容存储到该消息队列中,并将该消息队列中该消息内容的时间戳设置为该消息内容的接收时间。
本发明实施例中,设置有消息队列,用于缓存服务端发送的推送消息;其中,该消息队列可以同时对应用户标识和应用标识设置,即一个应用的一个用户标识关联一个消息队列。
本发明实施例中,接收到服务端发送的推送消息时,可以根据该推送消息包括的应用标识和目标用户标识为依据,查询同时与该应用标识和目标用户标识对应的消息队列,并将该推送消息包括的消息内容存储到该消息队列中,且将该消息队列中该消息内容的时间戳设置为该消息内容的接收时间(即接收到推送消息的时间)。
举例来说,对于应用A,推送服务器可以为该应用A中的每一个用户设置一个消息队列,例如,应用A中的用户1对应消息队列1,应用A中的用户2对应消息队列2。基于该设置,假设本发明实施例提供的推送服务器在2014年1月2日8:00接收到应用A的服务器发送的推送消息,该推送消息包括的目标用户标识为用户1和用户2的用户标识,该推送服务器可以根据该推送消息中包括的应用标识(即应用A的应用标识),以及目标用户标识(即用户1和用户2的用户标识)查询对应的消息队列,即同时与应用A的应用标识和用户1的用户标识对应的消息队列1,以及同时与应用A的应用标识和用户2的用户标识对应的消息队列2,并将该推送消息包括的消息内容分别存储到消息队列1和消息队列2中,且分别将该消息内容在消息队列1和消息队列2中的时间戳设置为该消息内容的接收时间(即2014年1月2日8:00)。
作为一种可选的实施方式,可以预先设置消息队列中消息内容的有效时间,当消息队列中的消息内容过期时,即消息队列中消息内容的时间戳与当前时间的时间间隔大于预设的时间阈值时,将该消息内容删除。
在该实施方式中,推送服务器可以周期性判断消息队列中是否存在过期的消息内容,并当判断为是时,删除该过期的消息内容。
作为另一种可选的实施方式,可以预先设置消息队列中消息内容的数量阈值,当消息队列消息内容的数量大于预设的数量阈值时,可以删除该消息队列中指定数量的消息内容,该指定数量大于或等于消息队列中当前消息内容的数量与预设的数量阈值的差值。
在该实施方式中,推送服务器可以在接收到服务端发送的推送消息时,判断该推送消息包括的应用标识和目标用户标识对应的消息队列中消息内容的数量是否达到预设的数量阈值,若判断为是,则可以按照消息队列中消息内容的时间戳从早到晚的顺序删除该消息队列中指定数量的消息内容。
S204、推送服务器根据该应用标识和目标用户标识确定当前在线的目标用户设备,该目标用户设备为利用该目标用户标识登陆该应用标识所属的应用的用户设备。
S205、推送服务器查询自身记录的针对该目标用户设备的推送时间戳。
本发明实施例中,为了使推送服务器能够识别以同一用户标识登陆同一应用的不同用户设备,当用户设备首次登陆应用时,需要进行用户设备注册,以使推送服务器为该用户设备分配一个标识(如UID),该UID用于唯一标识该应用所在的该用户设备。
举例来说,用户通过在用户设备上完成APP软件安装后,当用户第一次登录APP时,需要完成用户名注册。此时用户设备本地APP中没有该用户登录过的信息,则APP的客户端会把用户标识(如用户账号)和可获得的设备信息,如包括设备IMEI、device token(ios系统设备含有),系统和设备型号等作为登录请求数据发送到推送服务器进行用户设备注册,获取该APP所在设备的唯一UID。
在用户设备注册完成后,用户设备再次登录该APP时,需携带用户设备注册过程中分配好并存储在用户设备本地的UID发送登录请求。当用户设备本地没有UID信息,或UID因其他原因丢失了,APP客户端会重新进行用户设备注册,获取新的设备UID;然后继续登陆流程,即UID是用户设备正常登陆必须的条件之一。
推送服务器接收到用户设备发送的用户设备注册请求时,可以根据该用户设备注册请求中包括的用户标识和用户设备信息生成该用户设备的UID,并返回给该用户设备,由用户设备将该UID记录在APP本地文件中,待下次登陆时使用。由于同一个用户在不同用户设备上登陆相同APP(使用相同的用户标识)后具有不同的UID,保证进行消息推送时能区分不同用户设备。其中,推送服务器中对各用户设备的UID的存储方式可以如表1所示:
表1
其中,设备信息包括用户设备的IMEI、device token、系统和设备型号等;ptime(push_time)为推送时间戳,即推送服务器上一次向用户设备发送推送消息的时间;htime(heartbeat_time)为心跳时间戳,即推送服务器上一次接收到用户设备发送的心跳报文的时间。
可见,在本发明实施例中,当同一用户使用相同的用户标识(如用户账号)在不同用户设备上登陆同一应用时,推送服务器可以根据UID区分各不同用户设备。
基于上述表1中所示的信息,当推送服务器接收到服务端发送的推送消息时,推送服务器可以根据该推送消息包括的目标用户标识和应用标识查询使用该目标用户标识登陆过该应用标识所属应用的用户设备(一个或多个),并确定该用户设备当前是否在线,以及确定针对该用户设备的推送时间戳。
其中,用户设备登陆应用后,可以周期性地向推送服务器发送心跳报文,该心跳报文中携带有应用标识、用户标识,以及UID;推送服务器接收到该心跳报文后更新同时与该应用标识、用户标识以及UID对应的心跳时间戳,该心跳时间戳作为用来判断用户是否在线的依据:推送服务器可以比较当前时间与自身记录的心跳时间戳,若相差的时间间隔超过n(n值由业务制定)个心跳时间周期的时间和,则认为该用户设备不在线。
举例来说,假设用户设备向推送服务器发送的心跳报文的周期为T,在时刻t1,推送服务器查询到自身记录的UID1对应的用户设备的心跳时间戳为htime1,则当t1-htime1>nT时,推送服务器判断该UID1对应的用户设备不在线;当t1-htime1≤nT时,推送服务器判断该UDI1对应的用户设备在线。
S206、推送服务器将消息队列中时间戳晚于该推送时间戳的消息内容发送给目标用户设备。
S207、推送服务器判断是否接收到目标用户设备返回的接收确认响应消息,若判断为是,转至S208;否则,转至S206。
S208、推送服务器将针对该目标用户设备的推送时间戳更新为该时间戳晚于该推送时间戳的消息内容的发送时间。
本发明实施例中,当推送服务器确定当前在线的目标用户设备,并查询到该目标用户设备的推送时间戳时,可以根据该目标用户设备的推送时间戳,将对应的消息队列中时间戳晚于该推送时间戳的消息内容发送给该目标用户设备。
本发明实施例中,目标用户设备接收到推送服务器发送的推送消息时,需要向推送服务器返回确认接收响应消息;推送服务器接收到目标用户设备返回的该确认接收响应消息时,将针对该目标用户设备的推送时间戳更新为发送该推送消息的时间
需要注意的是,因无线移动网络很大程度依赖于运营商的情况和用户所处环境,出现消息丢失和用户无法连接网络的情况比较频繁(如天气影响,或用户进入电梯、地下室、体育馆等引起信号突然中断的场所)。为了确保用户的推送消息成功发送给目标用户设备,可以引入消息重发机制,即当推送服务器向目标用户设备发送推送消息后,若未接收到目标用户设备返回的确认接收响应消息,则认为推送消息发送失败,再次向目标用户设备发送推送消息,直至接收到目标用户设备返回的确认接收响应消息。其中,在引入消息重发机制的场景中,上述步骤S208中,时间戳晚于推送时间戳的消息内容的发送时间具体为最后一次发送(即成功发送)该时间戳晚于推送时间戳的消息内容的发送时间。
作为一种可选的实施方式,本发明实施例中,可以预先设置推送服务器向目标用户设备发送推送消息的次数阈值,当推送服务器向目标用户设备发送推送消息的次数达到次数阈值时,即使推送消息发送失败,推送服务器也不再向目标用户设备发送推送消息。
在该实施方式中,确定当前在线的目标用户设备之后,推送消息的发送流程可以包括以下步骤:
步骤41)、将消息队列中时间戳晚于该推送时间戳的消息内容发送给该目标用户设备;
步骤42)、判断是否接收到该目标用户设备返回的确认接收响应消息;
步骤43)、若判断为是,将针对该目标用户设备的推送时间戳更新为该时间戳晚于推送时间戳的消息内容的发送时间;
步骤44)、若判断为否,再次将时间戳晚于该推送时间戳的消息内容发送给该目标用户设备,直至发送次数达到预设次数阈值为止。
在该实施方式中,当推送服务器向目标用户设备发送推送消息之后,会判断是否接收到该目标用户设备返回的确认接收响应消息。具体实现时,可以设置一个时间阈值,如2S,并判断是否在该时间阈值内接收到目标用户设备返回的确认响应消息。
当推送服务器未接收到目标用户设备返回的确认接收响应消息时,推送服务器可以判断该推送消息的发送次数是否达到预设的次数阈值(如10次),若未达到,则进行消息重发,再次向目标用户设备发送该推送消息,直至发送次数达到预设的次数阈值,若此时,仍未接收到目标用户设备返回的确认接收响应消息,则确认推送消息发送失败,不再继续向该目标用户设备发送该推送消息;若在发送次数达到预设的次数阈值或之前,接收到目标用户设备返回的确认响应消息,则确认推送消息发送成功,将自身记录的针对该目标用户设备的推送时间戳(如表1中的ptime)更新为该推送消息的发送时间(最后一次发送推送消息的发送时间)。
作为另一种可选的实施方式,本发明实施例中,可以预先设置推送服务器向目标用户设备发送推送消息的时间阈值,当当前时间与接收到服务端发送的推送消息的时间之间的时间间隔大于该时间阈值时,即使推送消息发送失败,推送服务器也不再向目标用户设备发送推送消息。
在该实施方式中,确定当前在线的目标用户设备之后,推送消息的发送流程可以包括以下步骤:
步骤51)、将消息队列中时间戳晚于该推送时间戳的消息内容发送给该目标用户设备;
步骤52)、判断是否接收到该目标用户设备返回的确认接收响应消息;
步骤53)、若判断为是,将针对该目标用户设备的推送时间戳更新为该时间戳晚于推送时间戳的消息内容的发送时间;
步骤54)、若判断为否,再次将时间戳晚于该推送时间戳的消息内容发送给该目标用户设备,直至当前时间与接收到所述服务端发送的所述推送消息的时间之间的时间间隔大于预设时间阈值为止。
在该实施方式中,当推送服务器向目标用户设备发送推送消息之后,会判断是否接收到该目标用户设备返回的确认接收响应消息。具体实现时,可以设置一个时间阈值,如2S,并判断是否在该时间阈值内接收到目标用户设备返回的确认响应消息。
当推送服务器未接收到目标用户设备返回的确认接收响应消息时,推送服务器可以判断当前时间与接收到服务端发送的推送消息的时间的时间间隔是否大于预设的时间阈值(如1分钟),若不大于,则进行消息重发,再次向目标用户设备发送该推送消息,直至当前时间与接收到服务端发送的推送消息的时间的时间间隔达到预设的时间阈值,若此时,仍未接收到目标用户设备返回的确认接收响应消息,则确认推送消息发送失败,不再继续向该目标用户设备发送该推送消息;若在当前时间与接收到服务端发送的推送消息的时间的时间间隔达到预设的时间阈值或之前,接收到目标用户设备返回的确认响应消息,则确认推送消息发送成功,将自身记录的针对该目标用户设备的推送时间戳(如表1中的ptime)更新为该推送消息的发送时间(最后一次发送推送消息的发送时间)。
本发明实施例中,当推送服务器接收到服务端发送的推送消息时,可以以该推送消息包括的应用标识和目标用户标识为依据,查询同时与该应用标识和目标用户标识相对应的记录(如表1所示的信息表中的表项),该记录中包括了使用该目标用户标识登陆过该应用标识所属的应用的所有用户设备信息;推送服务器可以遍历该记录中每一个用户设备的心跳时间戳字段,判断该用户设备当前是否在线;对于判断为当前在线的用户设备,可以将该用户设备的UID和该目标用户标识等一起作为一个节点添加到消息树中,例如,假设该用户有3个用户设备记录,其中2个用户设备根据心跳时间判断为在线,则将该两个用户设备的信息(如UID、目标用户标识等)作为新节点加入消息树。其中,考虑到节点添加、查询和删除的效率,该消息树可以为红黑树。
消息树中的节点添加成功后,则开始组织即将发送的数据包:即将消息队列中时间戳晚于用户设备的UID对应推送时间戳(上一次成功发送推送消息的时间,如表1中的ptime)的消息内容,合并成数据包,一起发送给用户设备。因为在用户多用户设备同时在线的场景中,针对每一个用户设备记录的ptime是不同的,但是消息队列中存储的消息内容是唯一的,所以发往同一个用户同时在线的不同用户设备的数据包可能是不同的,需要分别进行组包处理。
当用户设备接收到推送消息后,返回确认接收响应消息给推送服务器;推送服务器向用户设备发送推送消息后,若接收到该确认接收响应消息时,更新自身记录的该用户设备对应的推送时间戳,同时删除消息树中该用户设备对应的节点;若未接收到用户设备返回的确认接收响应消息,则对消息树进行定时遍历,重新对那些依然存在的节点进行组包发送推送消息,当用户设备返回确认接收响应消息后,从消息树中删除该节点。否则继续重发,直到用户设备返回确认接收响应消息。
在图2所描述的方法中,通过引入消息重发机制,避免了用户设备因网络突然中断等原因而导致的无法接收推送消息,能够提高推送消息发送的成功率。
如图3所示,为本发明实施例提供的另一种消息推送方法的流程示意图,可以包括以下步骤:
S301、接收用户设备发送的针对应用的登陆请求,该登陆请求中包括用户标识、用户设备的UID,以及应用的应用标识。
S302、根据该用户标识和应用的应用标识查询对应的消息队列,并根据该用户标识、用户设备的UID,以及该应用的应用标识查询自身记录的针对该用户设备的推送时间戳。
S303、将该消息队列中时间戳晚于该推送时间戳的消息内容发送给该用户设备,并将针对该用户设备的推送时间戳更新为该时间戳晚于该推送时间戳的消息内容的发送时间。
本发明实施例中,推送消息的发送除了可以由服务端(如APP服务器)发送推送消息触发外,还可以由用户设备登陆触发。
本发明实施例中,当用户设备登陆应用时,无线接入层可以将用户设备的登陆请求透传给消息推送设备,该登陆请求中至少包括但不限于:用户标识(用户设备登陆应用时使用的用户标识,如用户账号)、应用标识(用户设备登陆的应用的应用标识)、用户设备的UID(唯一标识该应用所在的该用户设备的UID)。
本发明实施例中,当消息推送设备接收到用户设备发送的登陆请求时,可以根据该登陆请求中包括的用户标识和应用标识查询对应的消息队列,并根据该用户标识、应用标识,以及登陆请求中包括的UID查询该针对该用户设备的推送时间戳(如表1中的ptime)。
当确定用户设备登陆成功时,如接收到该用户设备发送的心跳报文,消息推送设备可以将查询到的消息队列中时间戳晚于查询到的推送时间的消息内容发送给该用户设备,并将自身记录的针对该用户设备的推送时间戳更新为发送该推送消息的时间。
需要注意的是,在本发明实施例提供的技术方案中,无线接入层将用户设备的登陆请求透传给消息推送设备并不影响用户设备的现有登陆流程,如应用服务器对用户设备的身份验证等。
本发明实施例中,为了提高发送推送消息的成功率,可以引入消息重发机制。即当消息推送设备向用户设备发送推送消息后,若未接收到用户设备返回的确认接收响应消息,则认为推送消息发送失败,再次向用户设备发送推送消息,直至接收到用户设备返回的确认接收响应消息。
作为一种可选的实施方式,本发明实施例中,可以预先设置消息推送设备向用户设备发送推送消息的次数阈值,当消息推送设备向用户设备发送推送消息的次数达到次数阈值时,即使推送消息发送失败,消息推送设备也不再向用户设备发送推送消息。
在该实施方式中,确定当前在线的用户设备之后,推送消息的发送流程可以包括以下步骤:
步骤61)、将消息队列中时间戳晚于该推送时间戳的消息内容发送给该用户设备;
步骤62)、判断是否接收到该用户设备返回的确认接收响应消息;
步骤63)、若判断为是,将针对该用户设备的推送时间戳更新为该时间戳晚于推送时间戳的消息内容的发送时间;
步骤64)、若判断为否,再次将时间戳晚于该推送时间戳的消息内容发送给该用户设备,直至发送次数达到预设次数阈值为止。
在该实施方式中,当消息推送设备向用户设备发送推送消息之后,会判断是否接收到该用户设备返回的确认接收响应消息。具体实现时,可以设置一个时间阈值,如2S,并判断是否在该时间阈值内接收到用户设备返回的确认响应消息。
当消息推送设备未接收到用户设备返回的确认接收响应消息时,消息推送设备可以判断该推送消息的发送次数是否达到预设的次数阈值(如10次),若未达到,则进行消息重发,再次向用户设备发送该推送消息,直至发送次数达到预设的次数阈值,若此时,仍未接收到用户设备返回的确认接收响应消息,则确认推送消息发送失败,不再继续向该用户设备发送该推送消息;若在发送次数达到预设的次数阈值或之前,接收到用户设备返回的确认响应消息,则确认推送消息发送成功,将自身记录的针对该用户设备的推送时间戳(如表1中的ptime)更新为该推送消息的发送时间(最后一次发送推送消息的发送时间)。
作为另一种可选的实施方式,本发明实施例中,可以预先设置消息推送设备向用户设备发送推送消息的时间阈值,当当前时间与接收到服务端发送的推送消息的时间之间的时间间隔大于该时间阈值时,即使推送消息发送失败,消息推送设备也不再向用户设备发送推送消息。
在该实施方式中,确定当前在线的用户设备之后,推送消息的发送流程可以包括以下步骤:
步骤71)、将消息队列中时间戳晚于该推送时间戳的消息内容发送给该用户设备;
步骤72)、判断是否接收到该用户设备返回的确认接收响应消息;
步骤73)、若判断为是,将针对该用户设备的推送时间戳更新为该时间戳晚于推送时间戳的消息内容的发送时间;
步骤74)、若判断为否,再次将时间戳晚于该推送时间戳的消息内容发送给该用户设备,直至当前时间与接收到所述服务端发送的所述推送消息的时间之间的时间间隔大于预设时间阈值为止。
在该实施方式中,当消息推送设备向用户设备发送推送消息之后,会判断是否接收到该用户设备返回的确认接收响应消息。具体实现时,可以设置一个时间阈值,如2S,并判断是否在该时间阈值内接收到用户设备返回的确认响应消息。
当消息推送设备未接收到用户设备返回的确认接收响应消息时,消息推送设备可以判断当前时间与接收到服务端发送的推送消息的时间的时间间隔是否大于预设的时间阈值(如1分钟),若不大于,则进行消息重发,再次向用户设备发送该推送消息,直至当前时间与接收到服务端发送的推送消息的时间的时间间隔达到预设的时间阈值,若此时,仍未接收到用户设备返回的确认接收响应消息,则确认推送消息发送失败,不再继续向该用户设备发送该推送消息;若在当前时间与接收到服务端发送的推送消息的时间的时间间隔达到预设的时间阈值或之前,接收到用户设备返回的确认响应消息,则确认推送消息发送成功,将自身记录的针对该用户设备的推送时间戳(如表1中的ptime)更新为该推送消息的发送时间(最后一次发送推送消息的发送时间)。
在图3所描述的方法中,当用户设备登陆应用后,可以触发消息推送设备将对应的消息队列中未发送给该用户设备的消息内容发送给该用户设备,保证了用户设备及时、完整地接收推送消息。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行描述。
在该实施例中,以支持多设备同时登陆的移动游戏场景为例,其架构示意图可以参见图4。
如图4所示,为本发明实施例提供的一种具体应用场景的架构示意图,可以包括推送服务器401、移动游戏服务器402、以及至用户设备403(如智能手机、平板电脑等);其中:
当移动游戏服务器402有推送消息(包括用户间交互消息、或系统消息)需要推送给用户设备403时,可以将该消息发送给推送服务器401。
推送服务器401接收到移动游戏服务器402发送的推送消息时,一方面,可以根据该推送消息中包括的目标用户标识和应用标识查询对应的消息队列,将该推送消息中包括的消息内容存储到该消息队列中,并将该消息队列中该消息内容的时间戳设置为该消息内容的接收时间;另一方面,推送消息服务器401可以根据该推送消息中包括的应用标识和目标用户标识确定当前在线的目标用户设备;从而推送消息服务器可以根据自身记录的针对该目标用户设备的推送时间戳,将该消息队列中时间戳晚于该推送时间戳的消息内容发送给目标用户设备,并将针对目标用户设备的推送时间戳更新为时间戳晚于该推送时间戳的消息内容的发送时间。
同时,在该实施例中,当用户设备403登陆上述移动游戏时,无线接入层可以将用户设备403发送给移动游戏服务器402的登陆请求透传给推送服务器401,推送服务器401接收到该用户设备401发送的针对上述移动游戏的登陆请求后,若确定用户设备401登陆成功,一方面,可以根据该登陆请求中包括的用户标识(如游戏账号)和上述移动游戏的应用标识查询对应的消息队列;另一方面,可以根据登陆请求中包括的用户标识、用户设备UID,以及应用标识查询自身记录的针对该用户设备401的推送时间戳;从而,推送服务器401可以将该消息队列中时间戳晚于该推送时间戳的消息内容发送给用户设备,并将针对该用户设备的推送时间戳更新为该时间戳晚于该推送时间戳的消息内容的发送时间。
通过以上描述可以看出,在本发明实施例提供的技术方案中,当接收到服务端发送的推送消息时,一方面根据推送消息包括的应用标识和目标用户标识查询对应的消息队列,并将推送消息中包括的消息内容存储到该消息队列中,且将该消息队列中该消息内容的时间戳设置为该消息内容的接收时间;另一方面根据应用标识和目标用户标识确定当前在线的目标用户设备,并查询自身记录的针对该目标用户设备的推送时间戳,从而将消息队列中时间戳晚于该推送时间戳的消息内容发送给该目标用户设备,在用户拥有多用户设备的消息推动场景中,提高了消息推送的完整性和准确性。
基于上述方法实施例相同的技术构思,本发明实施例还提供了一种消息推送设备,可以应用于上述方法实施例中。
如图5所示,为本发明实施例提供的一种消息推送设备的结构示意图,可以包括:
第一接收模块501,用于接收服务端发送的推送消息;所述推送消息包括应用标识、目标用户标识,以及消息内容;
存储模块502,用于将所述消息内容存储到同时与所述应用标识和目标用户标识对应的消息队列中,并将所述消息队列中所述消息内容的时间戳设置为所述消息内容的接收时间;
确定模块503,用于根据所述应用标识和目标用户标识确定当前在线的目标用户设备;所述目标用户设备为利用所述目标用户标识登陆所述应用标识所属的应用的用户设备;
第一发送模块504,用于根据所述设备记录的针对所述目标用户设备的推送时间戳,将所述消息队列中时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备;
第一记录模块505,用于将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间。
请一并参阅图6,图6是本发明实施例公开的另一种消息推送设备的结构示意图。其中,图6所示的消息推送设备是由图5所示的消息推送设备进行优化得到的,与图5所示的消息推送设备相比,图6所示的消息推送设备中,确定模块503可以包括:
查询单元5031,用于以所述应用标识和目标用户标识为依据,查询所述设备记录的同时与所述应用标识和目标用户标识匹配的所述目标用户设备的心跳时间戳;
确定单元5032,用于当所述目标用户设备的心跳时间戳与当前时间的时间间隔未超过预设阈值时,确定所述目标用户设备为当前在线的目标用户设备。
作为一种可选的实施方式,图6所示的消息推送设备中还可以包括:
第二接收模块506,用于接收用户设备发送的心跳报文,其中,所述心跳报文是所述用户设备登陆所述应用标识所属的应用后周期性地发送的,所述心跳报文中携带有用户标识、所述用户设备的唯一标识符UID以及所述应用标识;
第一判断模块507,用于判断所述设备是否记录有同时与所述用户标识、UID以及应用标识对应的心跳时间戳;
第二记录模块508,用于当所述第一判断模块507判断为是时,将所述心跳时间戳更新为所述心跳报文的接收时间;当所述第一判断模块507判断为否时,将所述心跳报文的接收时间作为同时与所述用户标识、UID,以及应用标识对应的心跳时间戳。
作为一种可选的实施方式,图6所示的消息推送设备中还可以包括:
第三接收模块509,用于接收用户设备发送的用户设备注册请求,其中,所述用户设备注册请求中包括用户标识、用户设备信息,以及应用标识;
生成模块510,用于根据所述用户标识和用户设备信息生成所述用户设备的UID;
第二发送模块511,用于向所述用户设备返回响应消息,该响应消息中携带有所述UID。
请一并参阅图7,图7是本发明实施例公开的另一种消息推送设备的结构示意图。其中,图7所示的消息推送设备是由图5所示的消息推送设备进行优化得到的,与图5所示的消息推送设备相比,图7所示的消息推送设备还可以包括:
第二判断模块512,用于判断是否接收到所述目标用户设备返回的确认接收响应消息;
相应地,所述第一记录模块505可以具体用于,当所述第二判断模块512判断为是时,将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间;
所述第一发送模块504还可以用于,当所述第二判断模块512判断为否时,再次将所述时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备,直至发送次数达到预设次数阈值为止。
请一并参阅图8,图8是本发明实施例公开的另一种消息推送设备的结构示意图。其中,图8所示的消息推送设备是由图5所示的消息推送设备进行优化得到的,与图5所示的消息推送设备相比,图8所示的消息推送设备还可以包括:
第三判断模块513,用于判断是否接收到所述目标用户设备返回的确认接收响应消息;
相应地,所述第一记录模块505具体用于,当所述第三判断模块513判断为是时,将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间;
所述第一发送模块504还可以用于,当所述第三判断模块513判断为否时,再次将所述时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备,直至当前时间与接收到所述服务端发送的所述推送消息的时间之间的时间间隔大于预设时间阈值为止。
请一并参阅图9,图9是本发明实施例公开的另一种消息推送设备的结构示意图。其中,图9所示的消息推送设备是由图5所示的消息推送设备进行优化得到的,与图5所示的消息推送设备相比,图9所示的消息推送设备还可以包括:
第四接收模块514,用于接收用户设备发送的针对应用的登陆请求;其中,所述登陆请求中包括用户标识、用户设备的UID,以及所述应用的应用标识;
第一查询模块515,用于根据所述登陆请求中包括的用户标识和所述应用的应用标识查询对应的消息队列;
第二查询模块516,用于根据所述用户标识、用户设备的UID,以及所述应用的应用标识,查询所述设备记录的针对所述用户设备的推送时间戳;
相应地,所述第一发送模块406还可以用于,将该消息队列中时间戳晚于该推送时间戳的消息内容发送给所述用户设备;
所述第一记录模块407还可以用于,将针对该用户设备的推送时间戳更新为所述时间戳晚于该推送时间戳的消息内容的发送时间。
请一并参阅图10,图10是本发明实施例公开的另一种消息推送设备的结构示意图。其中,图10所示的消息推送设备是由图5所示的消息推送设备进行优化得到的,与图5所示的消息推送设备相比,图10所示的消息推送设备还可以包括:
第四判断模块517,用于根据消息队列中消息内容的时间戳,判断所述消息队列中是否存在过期的消息内容;其中,所述过期的消息内容为时间戳与当前时间的时间间隔大于预设的时间阈值的消息内容;
相应地,所述存储模块502还可以用于,当所述第四判断模块517判断为是时,删除所述过期的消息内容。
请一并参阅图11,图11是本发明实施例公开的另一种消息推送设备的结构示意图。其中,图11所示的消息推送设备是由图5所示的消息推送设备进行优化得到的,与图5所示的消息推送设备相比,图11所示的消息推送设备还可以包括:
第五判断模块518,用于判断消息队列中消息内容的数量是否大于预设的数量阈值;
相应地,所述存储模块502还可以用于,当所述第五判断模块判断为是时,按照所述消息队列中消息内容的时间戳从早到晚的顺序删除所述消息队列中指定数量的消息内容;其中,所述指定数量大于或等于所述消息队列中当前消息内容的数量与所述预设的数量阈值的差值。
通过以上描述可以看出,在本发明实施例提供的技术方案中,当接收到服务端发送的推送消息时,一方面根据推送消息包括的应用标识和目标用户标识查询对应的消息队列,并将推送消息中包括的消息内容存储到该消息队列中,且将该消息队列中该消息内容的时间戳设置为该消息内容的接收时间;另一方面根据应用标识和目标用户标识确定当前在线的目标用户设备,并查询自身记录的针对该目标用户设备的推送时间戳,从而将消息队列中时间戳晚于该推送时间戳的消息内容发送给该目标用户设备,在用户拥有多用户设备的消息推动场景中,提高了消息推送的完整性和准确性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (18)
1.一种消息推送方法,其特征在于,包括:
接收服务端发送的推送消息;所述推送消息包括应用标识、目标用户标识,以及消息内容;
将所述消息内容存储到同时与所述应用标识和目标用户标识对应的消息队列中,并将所述消息队列中所述消息内容的时间戳设置为所述消息内容的接收时间;
根据所述应用标识和目标用户标识确定当前在线的目标用户设备;所述目标用户设备为利用所述目标用户标识登陆所述应用标识所属的应用的用户设备;
根据自身记录的针对所述目标用户设备的推送时间戳,将所述消息队列中时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备,并将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间。
2.如权利要求1所述的方法,其特征在于,所述根据所述应用标识和目标用户标识确定当前在线的目标用户设备包括:
以所述应用标识和目标用户标识为依据,查询自身记录的同时与所述应用标识和目标用户标识匹配的所述目标用户设备的心跳时间戳;
当所述目标用户设备的心跳时间戳与当前时间的时间间隔未超过预设阈值时,确定所述目标用户设备为当前在线的目标用户设备。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
接收用户设备发送的心跳报文,其中,所述心跳报文是所述用户设备登陆所述应用标识所属的应用后周期性地发送的,所述心跳报文中携带有用户标识、所述用户设备的唯一标识符UID以及所述应用标识;
判断自身是否记录有同时与所述用户标识、UID以及应用标识对应的心跳时间戳;
若判断为是,将所述心跳时间戳更新为所述心跳报文的接收时间;
若判断为否,将所述心跳报文的接收时间作为同时与所述用户标识、UID,以及应用标识对应的心跳时间戳。
4.如权利要求3所述的方法,其特征在于,该方法还包括:
接收用户设备发送的用户设备注册请求,其中,所述用户设备注册请求中包括用户标识、用户设备信息,以及应用标识;
根据所述用户标识和用户设备信息生成所述用户设备的UID;
向所述用户设备返回响应消息,该响应消息中携带有所述UID。
5.如权利要求1所述的方法,其特征在于,所述将所述消息队列中时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备之后,将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间之前,还包括:
判断是否接收到所述目标用户设备返回的确认接收响应消息;
若判断为是,执行所述将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间的步骤;
若判断为否,再次将所述时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备,直至发送次数达到预设次数阈值为止。
6.如权利要求1所述的方法,其特征在于,所述将所述消息队列中时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备之后,将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间之前,还包括:
判断是否接收到所述目标用户设备返回的确认接收响应消息;
若判断为是,执行所述将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间的步骤;
若判断为否,再次将所述时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备,直至当前时间与接收到所述服务端发送的所述推送消息的时间之间的时间间隔大于预设时间阈值为止。
7.如权利要求1所述的方法,其特征在于,该方法还包括:
接收用户设备发送的针对应用的登陆请求;其中,所述登陆请求中包括用户标识、用户设备的UID,以及所述应用的应用标识;
根据所述登陆请求中包括的用户标识和所述应用的应用标识查询对应的消息队列,并根据所述用户标识、用户设备的UID,以及所述应用的应用标识,查询自身记录的针对所述用户设备的推送时间戳;
将该消息队列中时间戳晚于该推送时间戳的消息内容发送给所述用户设备,并将针对该用户设备的推送时间戳更新为所述时间戳晚于该推送时间戳的消息内容的发送时间。
8.如权利要求1所述的方法,其特征在于,还包括:
根据消息队列中消息内容的时间戳,判断所述消息队列中是否存在过期的消息内容;其中,所述过期的消息内容为时间戳与当前时间的时间间隔大于预设的时间阈值的消息内容;
若判断为是,删除所述过期的消息内容。
9.如权利要求1所述的方法,其特征在于,还包括:
判断消息队列中消息内容的数量是否大于预设的数量阈值;
若判断为是,按照所述消息队列中消息内容的时间戳从早到晚的顺序删除所述消息队列中指定数量的消息内容;其中,所述指定数量大于或等于所述消息队列中当前消息内容的数量与所述预设的数量阈值的差值。
10.一种消息推送设备,其特征在于,包括:
第一接收模块,用于接收服务端发送的推送消息;所述推送消息包括应用标识、目标用户标识,以及消息内容;
存储模块,用于将所述消息内容存储到同时与所述应用标识和目标用户标识对应的消息队列中,并将所述消息队列中所述消息内容的时间戳设置为所述消息内容的接收时间;
确定模块,用于根据所述应用标识和目标用户标识确定当前在线的目标用户设备;所述目标用户设备为利用所述目标用户标识登陆所述应用标识所属的应用的用户设备;
第一发送模块,用于根据所述设备记录的针对所述目标用户设备的推送时间戳,将所述消息队列中时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备;
第一记录模块,用于将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间。
11.如权利要求10所述的设备,其特征在于,所述确定模块包括:
查询单元,用于以所述应用标识和目标用户标识为依据,查询所述设备记录的同时与所述应用标识和目标用户标识匹配的所述目标用户设备的心跳时间戳;
确定单元,用于当所述目标用户设备的心跳时间戳与当前时间的时间间隔未超过预设阈值时,确定所述目标用户设备为当前在线的目标用户设备。
12.如权利要求11所述的设备,其特征在于,还包括:
第二接收模块,用于接收用户设备发送的心跳报文,其中,所述心跳报文是所述用户设备登陆所述应用标识所属的应用后周期性地发送的,所述心跳报文中携带有用户标识、所述用户设备的唯一标识符UID以及所述应用标识;
第一判断模块,用于判断所述设备是否记录有同时与所述用户标识、UID以及应用标识对应的心跳时间戳;
第二记录模块,用于当所述第一判断模块判断为是时,将所述心跳时间戳更新为所述心跳报文的接收时间;当所述第一判断模块判断为否时,将所述心跳报文的接收时间作为同时与所述用户标识、UID,以及应用标识对应的心跳时间戳。
13.如权利要求12所述的设备,其特征在于,还包括:
第三接收模块,用于接收用户设备发送的用户设备注册请求,其中,所述用户设备注册请求中包括用户标识、用户设备信息,以及应用标识;
生成模块,用于根据所述用户标识和用户设备信息生成所述用户设备的UID;
第二发送模块,用于向所述用户设备返回响应消息,该响应消息中携带有所述UID。
14.如权利要求10所述的设备,其特征在于,还包括:
第二判断模块,用于判断是否接收到所述目标用户设备返回的确认接收响应消息;
所述第一记录模块具体用于,当所述第二判断模块判断为是时,将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间;
所述第一发送模块还用于,当所述第二判断模块判断为否时,再次将所述时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备,直至发送次数达到预设次数阈值为止。
15.如权利要求10所述的设备,其特征在于,还包括:
第三判断模块,用于判断是否接收到所述目标用户设备返回的确认接收响应消息;
所述第一记录模块具体用于,当所述第三判断模块判断为是时,将针对所述目标用户设备的推送时间戳更新为所述时间戳晚于所述推送时间戳的消息内容的发送时间;
所述第一发送模块还用于,当所述第三判断模块判断为否时,再次将所述时间戳晚于所述推送时间戳的消息内容发送给所述目标用户设备,直至当前时间与接收到所述服务端发送的所述推送消息的时间之间的时间间隔大于预设时间阈值为止。
16.如权利要求10所述的设备,其特征在于,还包括:
第四接收模块,用于接收用户设备发送的针对应用的登陆请求;其中,所述登陆请求中包括用户标识、用户设备的UID,以及所述应用的应用标识;
第一查询模块,用于根据所述登陆请求中包括的用户标识和所述应用的应用标识查询对应的消息队列;
第二查询模块,用于根据所述用户标识、用户设备的UID,以及所述应用的应用标识,查询所述设备记录的针对所述用户设备的推送时间戳;
所述第一发送模块还用于,将该消息队列中时间戳晚于该推送时间戳的消息内容发送给所述用户设备;
所述第一记录模块还用于,将针对该用户设备的推送时间戳更新为所述时间戳晚于该推送时间戳的消息内容的发送时间。
17.如权利要求10所述的设备,其特征在于,还包括:
第四判断模块,用于根据消息队列中消息内容的时间戳,判断所述消息队列中是否存在过期的消息内容;其中,所述过期的消息内容为时间戳与当前时间的时间间隔大于预设的时间阈值的消息内容;
所述存储模块还用于,当所述第四判断模块判断为是时,删除所述过期的消息内容。
18.如权利要求10所述的设备,其特征在于,还包括:
第五判断模块,用于判断消息队列中消息内容的数量是否大于预设的数量阈值;
所述存储模块还用于,当所述第五判断模块判断为是时,按照所述消息队列中消息内容的时间戳从早到晚的顺序删除所述消息队列中指定数量的消息内容;其中,所述指定数量大于或等于所述消息队列中当前消息内容的数量与所述预设的数量阈值的差值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410457788.9A CN104301203B (zh) | 2014-09-10 | 2014-09-10 | 一种消息推送方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410457788.9A CN104301203B (zh) | 2014-09-10 | 2014-09-10 | 一种消息推送方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104301203A true CN104301203A (zh) | 2015-01-21 |
CN104301203B CN104301203B (zh) | 2016-04-27 |
Family
ID=52320780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410457788.9A Active CN104301203B (zh) | 2014-09-10 | 2014-09-10 | 一种消息推送方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301203B (zh) |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187474A (zh) * | 2015-06-05 | 2015-12-23 | 成都凌凯通信技术有限公司 | 一种信息处理方法及服务器 |
CN105471964A (zh) * | 2015-11-16 | 2016-04-06 | 中国建设银行股份有限公司 | 用于数据推送的方法、服务器、客户端以及系统 |
CN105656762A (zh) * | 2016-01-26 | 2016-06-08 | 四川长虹电器股份有限公司 | 用于移动办公软件的消息推送方法与系统 |
WO2016127884A1 (zh) * | 2015-02-12 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 消息推送方法及装置 |
CN106162582A (zh) * | 2016-07-22 | 2016-11-23 | 努比亚技术有限公司 | 一种基于多用户的消息隔离推送方法及其系统 |
CN106412103A (zh) * | 2016-10-28 | 2017-02-15 | 努比亚技术有限公司 | 推送信息的显示装置及方法 |
CN106412119A (zh) * | 2016-11-17 | 2017-02-15 | 交控科技股份有限公司 | 一种数据分发方法和装置 |
CN106487714A (zh) * | 2015-08-28 | 2017-03-08 | 国网智能电网研究院 | 一种变电站共网共口网络的延时抖动控制方法及系统 |
CN106506328A (zh) * | 2016-10-18 | 2017-03-15 | 江西博瑞彤芸科技有限公司 | 消息的推送方法 |
CN106790716A (zh) * | 2017-03-14 | 2017-05-31 | 南京海獭软件有限责任公司 | 基于锁屏状态的图片推送方法与系统 |
CN106777403A (zh) * | 2017-03-28 | 2017-05-31 | 百度在线网络技术(北京)有限公司 | 信息推送方法和装置 |
WO2017088607A1 (zh) * | 2015-11-25 | 2017-06-01 | 腾讯科技(深圳)有限公司 | 信息推送方法和装置 |
CN107071019A (zh) * | 2017-04-05 | 2017-08-18 | 广东欧珀移动通信有限公司 | 数据处理方法、装置和计算机设备 |
CN107193674A (zh) * | 2017-06-29 | 2017-09-22 | 武汉斗鱼网络科技有限公司 | 在线推送消息的处理方法及装置 |
CN107734076A (zh) * | 2017-11-29 | 2018-02-23 | 湖北三新文化传媒有限公司 | 消息推送方法、装置及存储介质 |
CN108092847A (zh) * | 2017-11-28 | 2018-05-29 | 南瑞集团有限公司 | 一种电力lte无线终端远程在线监控方法 |
CN108121580A (zh) * | 2016-11-28 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 应用程序通知服务的实现方法及装置 |
CN108234599A (zh) * | 2017-12-06 | 2018-06-29 | 链家网(北京)科技有限公司 | 一种消息重发方法及系统 |
CN108243155A (zh) * | 2016-12-26 | 2018-07-03 | 北京云中融信网络科技有限公司 | 一种发送通讯信息的方法和装置 |
CN108243088A (zh) * | 2016-12-26 | 2018-07-03 | 北京云中融信网络科技有限公司 | 一种管理通讯信息的方法和装置 |
CN108322501A (zh) * | 2017-12-22 | 2018-07-24 | 创新科软件技术(深圳)有限公司 | 一种消息推送方法和装置 |
CN108337296A (zh) * | 2018-01-12 | 2018-07-27 | 深圳壹账通智能科技有限公司 | 消息推送处理方法、装置、计算机设备和存储介质 |
CN108696420A (zh) * | 2017-04-10 | 2018-10-23 | 北京雪球信息科技有限公司 | 通讯网络中的消息推送方法和装置 |
CN108768775A (zh) * | 2018-05-30 | 2018-11-06 | 努比亚技术有限公司 | 信息处理方法、电子设备及计算机存储介质 |
CN108769157A (zh) * | 2018-05-16 | 2018-11-06 | 北京奇虎科技有限公司 | 消息弹窗的展示方法、装置、计算设备及计算机存储介质 |
CN109032723A (zh) * | 2018-06-28 | 2018-12-18 | 北京潘达互娱科技有限公司 | 一种界面跳转方法、装置及设备 |
CN109067864A (zh) * | 2018-07-25 | 2018-12-21 | 网易(杭州)网络有限公司 | 通知消息推送方法、装置及电子设备 |
CN109391692A (zh) * | 2018-10-23 | 2019-02-26 | 深圳壹账通智能科技有限公司 | 基于缓冲池策略的批量数据集中化处理方法及系统 |
CN110149363A (zh) * | 2019-04-15 | 2019-08-20 | 深圳壹账通智能科技有限公司 | 一种消息推送方法、装置及存储介质 |
CN110213390A (zh) * | 2019-07-08 | 2019-09-06 | 北京百佑科技有限公司 | 信息推送方法 |
CN110521187A (zh) * | 2017-04-12 | 2019-11-29 | 微软技术许可有限责任公司 | 活动馈送服务 |
CN110661889A (zh) * | 2019-11-06 | 2020-01-07 | 杭州涂鸦信息技术有限公司 | 一种iOS端的推送消息同步与补偿方法及系统 |
CN110855548A (zh) * | 2019-10-18 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 一种消息推送方法及装置 |
WO2020062674A1 (zh) * | 2018-09-26 | 2020-04-02 | 深圳壹账通智能科技有限公司 | 一种更新数据包的推送方法及服务器 |
CN111510469A (zh) * | 2019-01-31 | 2020-08-07 | 上海哔哩哔哩科技有限公司 | 一种消息处理方法和装置 |
CN111611090A (zh) * | 2020-05-13 | 2020-09-01 | 浙江创邻科技有限公司 | 分布式消息处理方法及系统 |
CN114328319A (zh) * | 2021-12-30 | 2022-04-12 | 苏州盛科科技有限公司 | 一种过滤无效事件上报消息的方法、装置及存储介质 |
CN114465971A (zh) * | 2022-02-11 | 2022-05-10 | 北京有竹居网络技术有限公司 | 消息推送方法、系统、可读存储介质和电子设备 |
CN114968611A (zh) * | 2021-07-13 | 2022-08-30 | 中移互联网有限公司 | 消息传输方法、消息服务器、终端及电子设备 |
CN115361356A (zh) * | 2022-08-25 | 2022-11-18 | 中国银行股份有限公司 | 一种文件控制方法、装置以及电子设备 |
US11580088B2 (en) | 2017-08-11 | 2023-02-14 | Microsoft Technology Licensing, Llc | Creation, management, and transfer of interaction representation sets |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133115A (zh) * | 2017-05-15 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种消息队列的消息插入时间的方法及拦截器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102740273A (zh) * | 2007-11-13 | 2012-10-17 | 华为技术有限公司 | 一种多终端时业务消息处理方法、系统和装置 |
CN103501486A (zh) * | 2013-09-29 | 2014-01-08 | 华为软件技术有限公司 | 一种消息推送方法及推送服务器 |
KR101398785B1 (ko) * | 2013-03-22 | 2014-05-27 | 주식회사 엘지유플러스 | 푸쉬 서비스를 위한 통신 단말기 및 그 제어방법과, 이를 위한 기록 매체 |
-
2014
- 2014-09-10 CN CN201410457788.9A patent/CN104301203B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102740273A (zh) * | 2007-11-13 | 2012-10-17 | 华为技术有限公司 | 一种多终端时业务消息处理方法、系统和装置 |
KR101398785B1 (ko) * | 2013-03-22 | 2014-05-27 | 주식회사 엘지유플러스 | 푸쉬 서비스를 위한 통신 단말기 및 그 제어방법과, 이를 위한 기록 매체 |
CN103501486A (zh) * | 2013-09-29 | 2014-01-08 | 华为软件技术有限公司 | 一种消息推送方法及推送服务器 |
Cited By (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016127884A1 (zh) * | 2015-02-12 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 消息推送方法及装置 |
US10812314B2 (en) | 2015-02-12 | 2020-10-20 | Alibaba Group Holding Limited | Methods and apparatuses for pushing a message |
CN105187474A (zh) * | 2015-06-05 | 2015-12-23 | 成都凌凯通信技术有限公司 | 一种信息处理方法及服务器 |
CN106487714A (zh) * | 2015-08-28 | 2017-03-08 | 国网智能电网研究院 | 一种变电站共网共口网络的延时抖动控制方法及系统 |
CN106487714B (zh) * | 2015-08-28 | 2020-10-27 | 国网智能电网研究院 | 一种变电站共网共口网络的延时抖动控制方法及系统 |
CN105471964A (zh) * | 2015-11-16 | 2016-04-06 | 中国建设银行股份有限公司 | 用于数据推送的方法、服务器、客户端以及系统 |
CN105471964B (zh) * | 2015-11-16 | 2019-02-01 | 中国建设银行股份有限公司 | 用于数据推送的方法、服务器、客户端以及系统 |
WO2017088607A1 (zh) * | 2015-11-25 | 2017-06-01 | 腾讯科技(深圳)有限公司 | 信息推送方法和装置 |
US10554774B2 (en) | 2015-11-25 | 2020-02-04 | Tencent Technology (Shenzhen) Company Limited | Information pushing method and apparatus |
CN105656762A (zh) * | 2016-01-26 | 2016-06-08 | 四川长虹电器股份有限公司 | 用于移动办公软件的消息推送方法与系统 |
CN106162582A (zh) * | 2016-07-22 | 2016-11-23 | 努比亚技术有限公司 | 一种基于多用户的消息隔离推送方法及其系统 |
CN106506328A (zh) * | 2016-10-18 | 2017-03-15 | 江西博瑞彤芸科技有限公司 | 消息的推送方法 |
CN106412103A (zh) * | 2016-10-28 | 2017-02-15 | 努比亚技术有限公司 | 推送信息的显示装置及方法 |
CN106412119A (zh) * | 2016-11-17 | 2017-02-15 | 交控科技股份有限公司 | 一种数据分发方法和装置 |
CN108121580A (zh) * | 2016-11-28 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 应用程序通知服务的实现方法及装置 |
CN108121580B (zh) * | 2016-11-28 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 应用程序通知服务的实现方法及装置 |
CN108243155A (zh) * | 2016-12-26 | 2018-07-03 | 北京云中融信网络科技有限公司 | 一种发送通讯信息的方法和装置 |
CN108243088A (zh) * | 2016-12-26 | 2018-07-03 | 北京云中融信网络科技有限公司 | 一种管理通讯信息的方法和装置 |
CN108243155B (zh) * | 2016-12-26 | 2021-09-28 | 北京云中融信网络科技有限公司 | 一种发送通讯信息的方法和装置 |
CN106790716B (zh) * | 2017-03-14 | 2020-06-19 | 南京海獭软件有限责任公司 | 基于锁屏状态的图片推送方法与系统 |
CN106790716A (zh) * | 2017-03-14 | 2017-05-31 | 南京海獭软件有限责任公司 | 基于锁屏状态的图片推送方法与系统 |
CN106777403B (zh) * | 2017-03-28 | 2020-07-28 | 百度在线网络技术(北京)有限公司 | 信息推送方法和装置 |
CN106777403A (zh) * | 2017-03-28 | 2017-05-31 | 百度在线网络技术(北京)有限公司 | 信息推送方法和装置 |
CN107071019A (zh) * | 2017-04-05 | 2017-08-18 | 广东欧珀移动通信有限公司 | 数据处理方法、装置和计算机设备 |
CN107071019B (zh) * | 2017-04-05 | 2019-08-16 | Oppo广东移动通信有限公司 | 数据处理方法、装置和计算机设备 |
CN108696420A (zh) * | 2017-04-10 | 2018-10-23 | 北京雪球信息科技有限公司 | 通讯网络中的消息推送方法和装置 |
CN108696420B (zh) * | 2017-04-10 | 2020-09-11 | 雪球(北京)技术开发有限公司 | 通讯网络中的消息推送方法和装置 |
CN110521187A (zh) * | 2017-04-12 | 2019-11-29 | 微软技术许可有限责任公司 | 活动馈送服务 |
CN110521187B (zh) * | 2017-04-12 | 2022-09-13 | 微软技术许可有限责任公司 | 活动馈送服务 |
CN107193674A (zh) * | 2017-06-29 | 2017-09-22 | 武汉斗鱼网络科技有限公司 | 在线推送消息的处理方法及装置 |
CN107193674B (zh) * | 2017-06-29 | 2020-01-03 | 武汉斗鱼网络科技有限公司 | 在线推送消息的处理方法及装置 |
US11580088B2 (en) | 2017-08-11 | 2023-02-14 | Microsoft Technology Licensing, Llc | Creation, management, and transfer of interaction representation sets |
CN108092847A (zh) * | 2017-11-28 | 2018-05-29 | 南瑞集团有限公司 | 一种电力lte无线终端远程在线监控方法 |
CN107734076A (zh) * | 2017-11-29 | 2018-02-23 | 湖北三新文化传媒有限公司 | 消息推送方法、装置及存储介质 |
CN108234599A (zh) * | 2017-12-06 | 2018-06-29 | 链家网(北京)科技有限公司 | 一种消息重发方法及系统 |
CN108322501A (zh) * | 2017-12-22 | 2018-07-24 | 创新科软件技术(深圳)有限公司 | 一种消息推送方法和装置 |
CN108322501B (zh) * | 2017-12-22 | 2021-04-27 | 深圳创新科软件技术有限公司 | 一种消息推送方法和装置 |
CN108337296A (zh) * | 2018-01-12 | 2018-07-27 | 深圳壹账通智能科技有限公司 | 消息推送处理方法、装置、计算机设备和存储介质 |
CN108337296B (zh) * | 2018-01-12 | 2021-01-01 | 深圳壹账通智能科技有限公司 | 消息推送处理方法、装置、计算机设备和存储介质 |
CN108769157A (zh) * | 2018-05-16 | 2018-11-06 | 北京奇虎科技有限公司 | 消息弹窗的展示方法、装置、计算设备及计算机存储介质 |
CN108769157B (zh) * | 2018-05-16 | 2021-03-19 | 北京奇虎科技有限公司 | 消息弹窗的展示方法、装置、计算设备及计算机存储介质 |
CN108768775B (zh) * | 2018-05-30 | 2022-01-14 | 努比亚技术有限公司 | 信息处理方法、电子设备及计算机存储介质 |
CN108768775A (zh) * | 2018-05-30 | 2018-11-06 | 努比亚技术有限公司 | 信息处理方法、电子设备及计算机存储介质 |
CN109032723A (zh) * | 2018-06-28 | 2018-12-18 | 北京潘达互娱科技有限公司 | 一种界面跳转方法、装置及设备 |
CN109067864A (zh) * | 2018-07-25 | 2018-12-21 | 网易(杭州)网络有限公司 | 通知消息推送方法、装置及电子设备 |
CN109067864B (zh) * | 2018-07-25 | 2021-03-05 | 网易(杭州)网络有限公司 | 通知消息推送方法、装置及电子设备 |
WO2020062674A1 (zh) * | 2018-09-26 | 2020-04-02 | 深圳壹账通智能科技有限公司 | 一种更新数据包的推送方法及服务器 |
CN109391692A (zh) * | 2018-10-23 | 2019-02-26 | 深圳壹账通智能科技有限公司 | 基于缓冲池策略的批量数据集中化处理方法及系统 |
CN111510469A (zh) * | 2019-01-31 | 2020-08-07 | 上海哔哩哔哩科技有限公司 | 一种消息处理方法和装置 |
CN110149363A (zh) * | 2019-04-15 | 2019-08-20 | 深圳壹账通智能科技有限公司 | 一种消息推送方法、装置及存储介质 |
CN110213390A (zh) * | 2019-07-08 | 2019-09-06 | 北京百佑科技有限公司 | 信息推送方法 |
CN110855548A (zh) * | 2019-10-18 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 一种消息推送方法及装置 |
CN110661889A (zh) * | 2019-11-06 | 2020-01-07 | 杭州涂鸦信息技术有限公司 | 一种iOS端的推送消息同步与补偿方法及系统 |
CN111611090B (zh) * | 2020-05-13 | 2021-12-28 | 浙江创邻科技有限公司 | 分布式消息处理方法及系统 |
CN114138520A (zh) * | 2020-05-13 | 2022-03-04 | 浙江创邻科技有限公司 | 分布式消息处理方法及系统 |
CN111611090A (zh) * | 2020-05-13 | 2020-09-01 | 浙江创邻科技有限公司 | 分布式消息处理方法及系统 |
CN114968611A (zh) * | 2021-07-13 | 2022-08-30 | 中移互联网有限公司 | 消息传输方法、消息服务器、终端及电子设备 |
CN114968611B (zh) * | 2021-07-13 | 2023-10-27 | 中移互联网有限公司 | 消息传输方法、消息服务器、终端及电子设备 |
CN114328319A (zh) * | 2021-12-30 | 2022-04-12 | 苏州盛科科技有限公司 | 一种过滤无效事件上报消息的方法、装置及存储介质 |
CN114465971A (zh) * | 2022-02-11 | 2022-05-10 | 北京有竹居网络技术有限公司 | 消息推送方法、系统、可读存储介质和电子设备 |
CN114465971B (zh) * | 2022-02-11 | 2023-09-19 | 北京有竹居网络技术有限公司 | 消息推送方法、系统、可读存储介质和电子设备 |
CN115361356A (zh) * | 2022-08-25 | 2022-11-18 | 中国银行股份有限公司 | 一种文件控制方法、装置以及电子设备 |
CN115361356B (zh) * | 2022-08-25 | 2024-02-27 | 中国银行股份有限公司 | 一种文件控制方法、装置以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104301203B (zh) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104301203B (zh) | 一种消息推送方法和设备 | |
CN110910165B (zh) | 多渠道归因方法及相关设备 | |
US20200259879A1 (en) | Interaction method and device for mobile terminal and cloud platform of unmanned aerial vehicle | |
DE60019640D1 (de) | Digitales Rechnersystem und Verfahren zur Beantwortung von über ein externes Netzwerk empfangenen Anfragen | |
CN105337961A (zh) | 和客户端进行通信的方法以及服务器 | |
CN103327119B (zh) | 远程控制方法、装置及系统 | |
CN106713495B (zh) | Ip地理位置的上传方法及访问方法、装置及访问系统 | |
CN106506715A (zh) | 域名解析方法及装置 | |
CN104394126A (zh) | 信息推荐方法、服务器、客户端及系统 | |
CN102904903B (zh) | 通信系统和通信方法 | |
CN102655515B (zh) | 一种信息发送的方法、系统及设备 | |
CN106713392B (zh) | 数据同步方法、装置和系统 | |
CN104038473A (zh) | 用于插播音频广告的方法、装置、设备和系统 | |
CN112016030B (zh) | 消息推送的方法、装置、服务器和计算机存储介质 | |
CN102420857A (zh) | 操作指令传送和处理方法、传送和缓存服务器及存储系统 | |
CN110311959A (zh) | 消息推送与页面更新的方法、装置及数据处理系统 | |
CN112398797B (zh) | 数据传输方法、接收装置、发送装置、介质、设备及系统 | |
CN104144223A (zh) | 一种数据获取方法及装置 | |
CN104917844B (zh) | 一种数据同步方法、装置及系统 | |
CN108959401A (zh) | 一种信息传播的监测分析方法、系统、服务器及存储介质 | |
CN104320766A (zh) | 垃圾短信识别方法、装置及设备 | |
CN113489786B (zh) | 一种长连接网络弱网重连方法、重发方法 | |
CN109922123B (zh) | 服务器间调用关系的展示方法及展示装置 | |
CN104301806A (zh) | 视频识别方法、装置和系统 | |
CN106161563A (zh) | 消息推送方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |