一种基于SSE规范的消息推送方法及装置制造方法及图纸

技术编号:16236376 阅读:34 留言:0更新日期:2017-09-19 16:20
本申请公开了一种基于SSE规范的消息推送方法及装置,该方法包括:服务器与终端建立SSE长连接,实时监测当前是否存在待推送的消息,当监测到存在待推送的消息时,将待推送的消息发送给终端。通过上述方法,由于SSE规范是轻量级协议,因此,相对于Websocket协议无需进行额外部署,与此同时,技术相对于Websocket协议也比较简单,对开发者要求比较低,由于SSE规范支持服务器端跟终端的单向通信,也就是说,只要服务器端有新消息就可以推送给终端,无需终端去轮询,因此,可以保证消息的实时推送,与此同时,服务器端与终端的连接是长连接,因此,可以节约带宽。

Message push method and device based on SSE specification

The invention discloses a method and device to send push messages based on SSE specification, the method comprises: establishing SSE server and terminal connections, real-time monitoring of the current existence of the push message, when monitoring the existence to push news, will be sent to the message push terminal. By the above method, the SSE specification is a lightweight protocol, therefore, compared with the Websocket protocol without the need for additional deployment, at the same time, compared with Websocket protocol is relatively simple, relatively low requirements for developers, because the SSE specification supports the server with a one-way communication terminal, that is to say, as long as the server has a new message can be pushed to no need to go to the terminal, the terminal polling, therefore, real-time push, can guarantee the message at the same time, the server terminal is connected with the long connection, therefore, can save bandwidth.

【技术实现步骤摘要】
一种基于SSE规范的消息推送方法及装置
本申请涉及计算机
,尤其涉及一种基于SSE规范的消息推送方法及装置。
技术介绍
随着网络技术的不断发展,人们从互联网络上获取信息已经成为日常生活中不可或缺的一部分,而为了更好的为用户提供消息,向用户推送消息逐渐成为越来越重要的方式,如,向用户推送当天所发生的新闻消息。目前,由于现有的终端应用通常都是基于html5开发出来的,因此,现有的消息推送方式主要是基于html5来实现的。现有的消息推送方式主要有两种,一种是当服务器端中的消息发生变化时,可采用Websocket协议实时将消息推送到终端,另一种是采用短连接轮询的方式,也就是,终端每隔一定的时间就会向服务器端发送更新请求,服务器端在接收到更新请求后,如果当前有待更新的消息就会返回给终端。但是,第一种方式虽然可以能够实现消息推送,但是技术比较复杂,对开发者要求也高,并且Websocket协议是重量级协议,需要额外部署,第二种方式虽然也可以能够实现消息推送,但是很浪费带宽,并且不能保证消息的实时推送。
技术实现思路
本申请实施例提供一种基于SSE规范的消息推送方法及装置,用以解决现有技术中使用Websocket协议的消息推送所带来的技术比较复杂,对开发者要求也高,并且Websocket协议是重量级协议,需要额外部署的问题,以及使用短连接轮询的消息推送所带的浪费带宽,并且不能保证消息的实时推送的问题。本申请实施例提供的一种基于SSE规范的消息推送方法,包括:服务器与终端建立SSE长连接;实时监测当前是否存在待推送的消息;当监测到存在待推送的消息时,将待推送的消息发送给终端。优选地,服务器接收终端发送的SSE连接建立请求,其中,所述SSE连接请求中携带有终端的标识,服务器与终端建立SSE长连接,并记录SSE长连接的标识,建立所述终端的标识以及所述SSE长连接的标识的对应关系;将待推送的消息发送给终端,具体包括:获取待推送的消息对应的终端的标识,并根据待推送的消息对应的终端的标识以及所述终端的标识与所述SSE长连接的标识的对应关系,将待推送的消息发送给终端的标识对应的终端。优选地,所述方法还包括:所述SSE连接建立请求携带有消息的标识,其中,所述消息的标识表征消息的时序,所携带的消息的标识是终端内已有的最大的消息的标识;建立所述终端的标识以及所述SSE长连接的标识的对应关系,具体包括:建立所携带的消息的标识、所述终端的标识以及所述SSE长连接的标识三者之间的对应关系;实时监测当前是否存在待推送的消息,具体包括:根据所述终端的标识,以及所建立的所携带的消息的标识、所述终端的标识以及所述SSE长连接的标识三者之间的对应关系,确定所述终端的标识对应的消息的标识,根据确定出的所述终端的标识对应的消息的标识,实时监测所述终端的标识对应的终端当前是否存在待推送的消息。优选地,所述待推送的消息包括:消息类型以及消息类型对应的消息数量;或所述待推送的消息包括:消息的标识,消息类型以及消息内容。优选地,当所述待推送的消息包括:消息类型以及消息类型对应的消息数量时,所述方法还包括:接收终端发送的消息获取请求,其中,所述消息获取请求携带有消息的标识,根据所携带的消息的标识,确定待推送的消息内容列表,其中,所述消息内容列表包括:消息的标识,消息类型以及消息内容,将待推送的消息内容列表发送给终端。本申请实施例提供的另一种基于SSE规范的消息推送方法,包括:终端接收用户的指定操作;发送消息获取请求;接收服务器返回的第一消息内容列表,其中,所述第一消息内容列表包括:第一消息标识,消息类型以及消息内容。优选地,所述指定操作包括:消息提示图标点击操作或消息详细内容点击操作。优选地,该方法还包括:从本地获取第二消息内容列表,其中,所述第二消息内容列表包括:第二消息标识,消息类型以及消息内容,根据第一消息标识以及第二消息标识,将服务器返回的第一消息内容列表与从本地获取的第二消息内容列表进行聚合。优选地,确定第一消息标识是否与第二消息标识完全重叠,在第一消息标识未与第二消息标识完全重叠的情况下,将未在第二消息标识中出现的第一消息标识以及该未在第二消息标识中出现的第一消息标识对应的消息内容和消息类型添加到第二消息内容列表,并将该未在第二消息标识中出现的第一消息标识对应的消息内容推送给用户。本申请实施例提供的一种基于SSE规范的消息推送装置,包括:连接建立模块,用于服务器与终端建立SSE长连接;监测模块,用于实时监测当前是否存在待推送的消息;第一推送模块,用于当监测到存在待推送的消息时,将待推送的消息发送给终端。优选地,所述连接建立模块具体用于,服务器接收终端发送的SSE连接建立请求,其中,所述SSE连接请求中携带有终端的标识,服务器与终端建立SSE长连接,并记录SSE长连接的标识,建立所述终端的标识以及所述SSE长连接的标识的对应关系;所述第一推送模块具体用于,获取待推送的消息对应的终端的标识,并根据待推送的消息对应的终端的标识以及所述终端的标识与所述SSE长连接的标识的对应关系,将待推送的消息发送给终端的标识对应的终端。优选地,所述装置还包括:所述SSE连接建立请求携带有消息的标识,其中,所述消息的标识表征消息的时序,所携带的消息的标识是终端内已有的最大的消息的标识,所述连接建立模块还用于,建立所携带的消息的标识、所述终端的标识以及所述SSE长连接的标识三者之间的对应关系;所述监测模块具体用于,根据所述终端的标识,以及所建立的所携带的消息的标识、所述终端的标识以及所述SSE长连接的标识三者之间的对应关系,确定所述终端的标识对应的消息的标识,根据确定出的所述终端的标识对应的消息的标识,实时监测所述终端的标识对应的终端当前是否存在待推送的消息。优选地,所述待推送的消息包括:消息类型以及消息类型对应的消息数量;或所述待推送的消息包括:消息的标识,消息类型以及消息内容。优选地,当所述待推送的消息包括:消息类型以及消息类型对应的消息数量时,所述装置还包括:第二推送模块,用于接收终端发送的消息获取请求,其中,所述消息获取请求携带有消息的标识,据所携带的消息的标识,确定待推送的消息内容列表,其中,所述消息内容列表包括:消息的标识,消息类型以及消息内容,将待推送的消息内容列表发送给终端。本申请实施例提供的另一种基于SSE规范的消息推送装置,包括:第一接收模块,用于终端接收用户的指定操作;发送模块,用于发送消息获取请求;第二接收模块,用于接收服务器返回的第一消息内容列表,其中,所述第一消息内容列表包括:第一消息标识,消息类型以及消息内容。优选地,所述指定操作包括:消息提示图标点击操作或消息详细内容点击操作。优选地,该装置还包括:聚合模块,用于从本地获取第二消息内容列表,其中,所述第二消息内容列表包括:第二消息标识,消息类型以及消息内容,根据第一消息标识以及第二消息标识,将服务器返回的第一消息内容列表与从本地获取的第二消息内容列表进行聚合。优选地,所述聚合模块具体用于,确定第一消息标识是否与第二消息标识完全重叠,在第一消息标识未与第二消息标识完全重叠的情况下,将未在第二消息标识中出现的第一消息标识以及该未在第二消息标识中出现的第一消息标识对应的消息内容和消息类型添本文档来自技高网...
一种基于SSE规范的消息推送方法及装置

【技术保护点】
一种基于服务器推送事件SSE规范的消息推送方法,其特征在于,包括:服务器与终端建立SSE长连接;实时监测当前是否存在待推送的消息;当监测到存在待推送的消息时,将待推送的消息发送给终端。

【技术特征摘要】
1.一种基于服务器推送事件SSE规范的消息推送方法,其特征在于,包括:服务器与终端建立SSE长连接;实时监测当前是否存在待推送的消息;当监测到存在待推送的消息时,将待推送的消息发送给终端。2.如权利要求1所述的方法,其特征在于,服务器与终端建立SSE长连接,具体包括:服务器接收终端发送的SSE连接建立请求,其中,所述SSE连接请求中携带有终端的标识;服务器与终端建立SSE长连接,并记录SSE长连接的标识,建立所述终端的标识以及所述SSE长连接的标识的对应关系;将待推送的消息发送给终端,具体包括:获取待推送的消息对应的终端的标识,并根据待推送的消息对应的终端的标识以及所述终端的标识与所述SSE长连接的标识的对应关系,将待推送的消息发送给终端的标识对应的终端。3.如权利要求2所述的方法,其特征在于,所述方法还包括:所述SSE连接建立请求携带有消息的标识,其中,所述消息的标识表征消息的时序,所携带的消息的标识是终端内已有的最大的消息的标识;建立所述终端的标识以及所述SSE长连接的标识的对应关系,具体包括:建立所携带的消息的标识、所述终端的标识以及所述SSE长连接的标识三者之间的对应关系;实时监测当前是否存在待推送的消息,具体包括:根据所述终端的标识,以及所建立的所携带的消息的标识、所述终端的标识以及所述SSE长连接的标识三者之间的对应关系,确定所述终端的标识对应的消息的标识;根据确定出的所述终端的标识对应的消息的标识,实时监测所述终端的标识对应的终端当前是否存在待推送的消息。4.如权利要求1所述的方法,其特征在于,所述待推送的消息包括:消息类型以及消息类型对应的消息数量;或所述待推送的消息包括:消息的标识,消息类型以及消息内容。5.如权利要求4所述的方法,其特征在于,当所述待推送的消息包括:消息类型以及消息类型对应的消息数量时,所述方法还包括:接收终端发送的消息获取请求,其中,所述消息获取请求携带有消息的标识;根据所携带的消息的标识,确定待推送的消息内容列表,其中,所述消息内容列表包括:消息的标识,消息类型以及消息内容;将待推送的消息内容列表发送给终端。6.一种基于服务器推送事件SSE规范的消息推送方法,其特征在于,包括:终端接收用户的指定操作;发送消息获取请求;接收服务器返回的第一消息内容列表,其中,所述第一消息内容列表包括:第一消息标识,消息类型以及消息内容。7.如权利要求6所述的方法,其特征在于,所述指定操作包括:消息提示图标点击操作或消息详细内容点击操作。8.如权利要求7所述的方法,其特征在于,该方法还包括:从本地获取第二消息内容列表,其中,所述第二消息内容列表包括:第二消息标识,消息类型以及消息内容;根据第一消息标识以及第二消息标识,将服务器返回的第一消息内容列表与从本地获取的第二消息内容列表进行聚合。9.如权利要求8所述的方法,其特征在于,根据第一消息标识以及第二消息标识,将服务器返回的第一消息内容列表与从本地获取第二消息内容列表进行聚合,具体包括:确定第一消息标识是否与第二消息标识完全重叠;在第一消息标识未与第二消息标识完全重叠的情况下,将未在第二消息标识中出现的第一消息标识以及该未在第二消息标识中出现的第一消息标识对应的消息内容和消息类型添加到第二消息内容列表,并将该未在第二消息标识中出现的第一消息标识对应的消息内容推送...

【专利技术属性】
技术研发人员:黄伟
申请(专利权)人:广州华多网络科技有限公司
类型:发明
国别省市:广东,44

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

1