CN108833521B - 消息推送方法、装置、系统、计算机设备和存储介质 - Google Patents
消息推送方法、装置、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108833521B CN108833521B CN201810574825.2A CN201810574825A CN108833521B CN 108833521 B CN108833521 B CN 108833521B CN 201810574825 A CN201810574825 A CN 201810574825A CN 108833521 B CN108833521 B CN 108833521B
- Authority
- CN
- China
- Prior art keywords
- user information
- information
- target
- push
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 22
- 238000012795 verification Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种信息推送方法、系统、计算机设备和存储介质。所述方法包括:获取待推送的目标信息,所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。采用本方法能够保证集群里的各个服务器之间推送消息的准确可靠。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种消息推送方法、装置、系统、计算机设备和存储介质。
背景技术
在现有网络中,业务后台会通过服务器向web客户端设备主动推送通知消息。消息推送是指将信息及时送达至相关订阅的用户,并与用户持续友好的互动,可以大幅提升用户活跃度和留存率。
在很多使用场景中,随着用户不断的增长,不可避免的需要进行集群(多机)部署。那么,如何保证集群里的各个服务器之间推送消息的准确可靠成为亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够保证集群里的各个服务器之间推送消息的准确可靠的信息推送方法、装置、计算机设备和存储介质。
一种信息推送方法,所述方法包括:
获取待推送的目标信息,所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。
在其中一个实施例中,上述的消息推送方法还包括:接收业务服务器产生并发布的目标信息,将所述目标信息存储在数据库设备中;
上述的获取待推送的目标信息的步骤包括:向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。
在其中一个实施例中,上述的消息推送方法,在所述将所述第一用户信息分别与各第二用户信息进行比较的步骤之前,还包括:在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道。
在其中一个实施例中,上述的在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道的步骤,包括:
接收所述目标客户端设备发送登录请求,所述登录请求携带有所述目标客户端设备的用户信息;
在对所述目标客户端设备发送的用户信息验证通过时,向所述目标客户端设备返回访问标识信息;
接收所述目标客户端设备发送的通道建立请求,所述通道建立请求中携带有所述访问标识信息;
在所述通道建立请求携带有的访问标识信息与发送给所述目标客户端设备的访问标识信息一致时,与所述目标客户端设备建立所述推送通道,并将所述目标客户端设备发送的用户信息确定为第二用户信息。
在其中一个实施例中,上述的消息推送方法,还包括:在接收到当前客户端设备发送的登录请求时,根据当前接收到登录请求所携带的的用户信息以及预设的用户信息和推送服务器的关联关系,确定所述当前客户端设备所需连接的推送服务器,将所述当前客户端设备分配给所述当前客户端设备所需连接的推送服务器进行推送通道的建立。
在其中一个实施例中,上述的推送服务器集群包括Socket.IO服务器集群,所述数据库设备包括Redis数据库设备或者Redis数据库集群设备。
一种消息推送装置,所述装置包括:
获取模块,用于获取待推送的目标信息,所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
比较模块,用于将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
推送模块,用于在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。
一种消息推送系统,所述系统包括推送服务器集群,所述推送服务器集群至少包括两台推送服务器;
各所述推送服务器用于分别获取待推送的目标信息,所述目标信息中携带有第一用户信息,将所述第一用户信息分别与对应的第二用户信息进行比较;
在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备;
其中,所述第一用户信息为所述目标信息对应的待推送用户的用户信息,所述第二用户信息为对应的推送服务器所连接的客户端设备对应的用户信息。
在其中一个实施例中,上述的消息推送系统,还包括数据库设备;
所述数据库设备用于在接收业务服务器产生并发送的目标信息后,存储所述目标信息;
各所述推送服务器向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。
在其中一个实施例中,上述的消息推送系统,还包括负载均衡服务器;
所述负载均衡服务器用于在接收到当前客户端设备发送的用户信息时,根据当前接收到的用户信息以及预设的用户信息和推送服务器的关联关系,确定所述当前客户端设备所需连接的推送服务器,将所述当前客户端设备分配给所述当前客户端设备所需连接的推送服务器进行推送通道的建立。
在其中一个实施例中,上述的消息推送系统,还包括业务服务器,所述业务服务器用于产生并发布所述目标信息。
在其中一个实施例中,上述的消息推送系统,所述推送服务器集群包括Socket.IO服务器集群,所述数据库设备包括Redis数据库设备或者Redis数据库设备集群。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待推送的目标信息,所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待推送的目标信息,所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。
上述信息推送方法、装置、计算机设备和存储介质,由于待推送的目标信息中携带有第一用户信息,且由于在获取待推送的目标信息后,会将该第一用户信息分别与推送服务器集群中的各个推送服务器对应第二用户信息进行比较,并在当前推送服务器所对应的第二用户信息中和第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备,如此,可以保证集群里的各个推送服务器之间推送消息的准确可靠。
附图说明
图1为一个实施例中信息推送方法的应用环境图;
图2为一个实施例中信息推送方法的流程示意图;
图3为一个实施例中推送通道建立步骤的流程示意图;
图4为一个实施例中业务推送装置的结构框图;
图5为另一个实施例中业务推送装置的结构框图;
图6为一个实施例中业务推送系统的结构框图;
图7为一个实施例中Web客户端与Socket.IO建立连接的验证过程的的流程示意图;
图8为另一个实施例中信息推送方法的流程示意图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的信息推送方法,可以应用于如图1所示的应用环境中。其中,业务服务器集101与推送服务器集群102通过网络进行通信,推送服务器集群102与各客户端设备集群103通过网络进行通信。其中,客户端设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,业务服务器101用独立的服务器或者可以用多个业务服务器组成的服务器集群来实现,推送服务器集群102可以用多个推送服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种信息推送方法,以该方法应用于图1中的推送服务器集群为例进行说明,包括以下步骤:
步骤S201:获取待推送的目标信息,所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
这里,用户信息可以是用户标识信息,例如,用户账号信息。
这里,待推送用户可以是产生该目标信息的业务服务器或者业务服务器集群设定的需要将所述目标信息推送给的用户;待推送用户数量可以不受限制。
具体地,推送服务器集群可以直接,也可以间接从业务服务器或者业务服务器集群获取待推送的目标信息。
步骤S202:将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
这里,所述推送通道为在推送服务器和客户端设备之间建立并保持通信连接的连接通道。
步骤S203:在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备;
这里,当前推送服务器可以是推送服务器集群中各个推送服务器中的任意一个。
需要说明的是,待推送用户的数量可以大于当前推送服务器当前推送的用户的数量。
上述信息推送方法中,由于待推送的目标信息中携带有第一用户信息,且由于在获取待推送的目标信息后,会将该第一用户信息分别与推送服务器集群中的各个推送服务器对应第二用户信息进行比较,并在当前推送服务器所对应的第二用户信息中和第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备,如此,可以保证集群里的各个推送服务器之间推送消息的准确可靠。
在其中一个实施例中,本发明的消息推送方法还可以包括:接收业务服务器产生并发布的目标信息,将所述目标信息存储在数据库设备中;所述获取待推送的目标信息的步骤包括:向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。
这里,业务服务器可以是独立的用独立的服务器或者是多个服务器组成的服务器集群来实现。一般地,随着发布信息需求的增长,可以部署业务服务器集群,业务服务器集群可以包括至少两台业务服务器。上述的接收业务服务器产生并发布的目标信息可以包括:接收业务服务器集群中的任意一台业务服务器产生并发布的目标信息。
这里,数据库设备可以是独立的数据库设备也可以是用多个数据库组成的数据集群设备来实现。
其中,业务服务器是实时信息的发送者,当有相关的信息变更需要推送时,业务服务器可以通过连接数据库设备,将需要推送的信息(例如,如上的目标信息)业发布到数据库设备中。推送服务器集群可以向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。其中,可以是推送服务器集群的各个推送服务器分别向所述数据库设备发送数据订阅请求,并分别接收所述数据库设备返回的所述目标信息,也可以是,推送服务器集群的任意一台推送服务器向所述数据库设备发送数据订阅请求,并接收所述数据库设备返回的所述目标信息,然后将接收到的目标信息分享给推送服务器集群中的剩余推送服务器。
本实施例中的方案,由于先将所述目标信息存储在数据库设备中,且由于是向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息,如此,将原本在一台服务器实现的业务后台和推送服务进行了解耦,可以使得目标信息的推送服务变得可集群分流处理,针对后续增长的推送压力只需要增加部署相应服务器即可解决压力,例如,在业务服务器压力较大,而推送服务器压力不大时,可以只仅增加业务服务器,而不需要像未解耦前一样同时增加业务服务器和推送服务器,造成推送服务器的浪费。采用本实施例中的方案,可以提升信息推送系统的可扩展能力。
在其中一个实施例中,在所述将所述第一用户信息分别与各第二用户信息进行比较的步骤之前,消息推送方法还可以包括:在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道。如此,所述当前推送服务器可以通过该推送通道将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。其中,在所述当前推送服务器和所述目标客户端设备之间建立推送通道可以采用任意可以实现的方式。
在其中一个实施例中,如图3所示,上述的在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道的步骤,可以包括:
步骤S301:接收所述目标客户端设备发送登录请求,所述登录请求携带有所述目标客户端设备的用户信息;
这里,用户信息可以是用户标识信息,例如,用户名和密码。
步骤S302:在对所述目标客户端设备发送的用户信息验证通过时,向所述目标客户端设备返回访问标识信息;
这里,用户信息验证可以是验证用户信息中用户名是否为已存储的合法用户列表中的用户名,若是,则验证所述用户信息中的密码是否是与所述合法用户列表中对应的用户名所绑定的密码一致,若是,则所述用户信息验证通过。若用户信息中用户名不是已存储的合法用户列表中的用户名,或者在所述用户信息中的密码与所述合法用户列表中对应的用户名所绑定的密码不一致,则对所述目标客户端设备发送的用户信息验证不通过。
步骤S303:接收所述目标客户端设备发送的通道建立请求,所述通道建立请求中携带有所述访问标识信息;
步骤S304:在所述通道建立请求携带有的访问标识信息与发送给所述目标客户端设备的访问标识信息一致时,与所述目标客户端设备建立所述推送通道,并将所述目标客户端设备发送的用户信息确定为第二用户信息。
在其中一个实施例中,本发明的消息推送方法,还可以包括:在接收到当前客户端设备发送的登录请求时,根据当前接收到登录请求所携带的的用户信息以及预设的用户信息和推送服务器的关联关系,确定所述当前客户端设备所需连接的推送服务器,将所述当前客户端设备分配给所述当前客户端设备所需连接的推送服务器进行推送通道的建立。
在其中一个实施例中,上述的推送服务器集群包括Socket.IO服务器集群。
由于Socket.IO统一了通信的API(Application Programming Interface,应用程序编程接口),在内部实现上支持WebSocket、长轮询等方式,Socket.IO会根据环境来选择适合的通信方式,比如在不支持使用WebSocket的浏览器上能够自动切换为兼容使用的长轮询方式。因此,本实施例中采用Socket.IO服务器集群作为推送服务器集群可以实现对各种浏览器的兼容。
此外需要说明的是,传统方式中,在Socket.IO服务器一般都是是单机部署的,而没有本实施例中的这种使用集群(多机)部署的方式。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种业务推送装置,包括:获取模块401、比较模块402和推送模块403,其中:
获取模块401,用于获取待推送的目标信息,所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
比较模块402,用于将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
推送模块403,用于在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。
在其中一个实施例中,如图5所示,本发明的业务推送装置还可以包括:存储模块501,存储模块501用于接收业务服务器产生并发布的目标信息,将所述目标信息存储在数据库设备中;获取模块401向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。
在其中一个实施例中,如图5所示,本发明的业务推送装置还可以包括:通道建立模块502,通道建立模块502用于在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道。
在其中一个实施例中,通道建立模块502可以接收所述目标客户端设备发送登录请求,所述登录请求携带有所述目标客户端设备的用户信息,在对所述目标客户端设备发送的用户信息验证通过时,向所述目标客户端设备返回访问标识信息,接收所述目标客户端设备发送的通道建立请求,所述通道建立请求中携带有所述访问标识信息,在所述通道建立请求携带有的访问标识信息与发送给所述目标客户端设备的访问标识信息一致时,与所述目标客户端设备建立所述推送通道,并将所述目标客户端设备发送的用户信息确定为第二用户信息。
在其中一个实施例中,如图5所示,本发明的业务推送装置还可以包括负载均衡模块503,负载均衡模块503用于在接收到当前客户端设备发送的登录请求时,根据当前接收到登录请求所携带的的用户信息以及预设的用户信息和推送服务器的关联关系,确定所述当前客户端设备所需连接的推送服务器,将所述当前客户端设备分配给所述当前客户端设备所需连接的推送服务器进行推送通道的建立。
在其中一个实施例中,所述推送服务器集群包括Socket.IO服务器集群,所述数据库设备包括Redis数据库设备或者Redis数据库集群设备。
关于业务推送装置的具体限定可以参见上文中对于信息推送方法的限定,在此不再赘述。上述业务推送装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明还提供一种消息推送系统,以下就本发明的消息推送系统的各个实施例进行详细说明。图6中示出了本发明的消息推送系统的一个较佳实施例的结构示意图。依据不同的考虑因素,在具体实现本发明的消息推送系统时,可以包含图6中所示的全部,也可以只包含图6中所示的其中一部分,以下就针对其中的几个消息推送系统的具体实施例进行详细说明。
在其中一个实施例中,本发明提供的消息推送系统可以包括推送服务器集群600,推送服务器集群600包括至少两台推送服务器601;
各推送服务器601用于分别获取待推送的目标信息,所述目标信息中携带有第一用户信息,将所述第一用户信息分别与对应的第二用户信息进行比较;
在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备;
其中,所述第一用户信息为所述目标信息对应的待推送用户的用户信息,所述第二用户信息为对应的推送服务器所连接的客户端设备对应的用户信息。
在其中一个实施例中,本发明提供的消息推送系统还可以包括数据库设备;
数据库设备用于在接收到业务服务器产生并发送的目标信息后,存储所述目标信息;
各推送服务器向数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。
在其中一个实施例中,本发明提供的消息推送系统还可以包括负载均衡服务器;
所述负载均衡服务器用于在接收到当前客户端设备发送的用户信息时,根据当前接收到的用户信息以及预设的用户信息和推送服务器的关联关系,确定所述当前客户端设备所需连接的推送服务器,将所述当前客户端设备分配给所述当前客户端设备所需连接的推送服务器进行推送通道的建立。
在其中一个实施例中,本发明提供的的消息推送系统还可以包括业务服务器集;
所述业务服务器用于产生所述目标信息,并将所述目标信息发布得到数据库设备。其中,业务服务器可以是一台也可以是多台。
在其中一个实施例中,本发明的推送服务器集群可以包括Socket.IO服务器集群,所述数据库设备可以包括Redis数据库设备或者Redis数据库集群设备。
以下以推送服务器集群为Socket.IO服务器集群,数据库设备为Redis数据库集群设备为例对本发明方案进行说明。
如图6所示,为一个实施例中的,以推送服务器集群为Socket.IO服务器集群,数据库设备为Redis数据库集群设备的消息推送系统的组成架构示意图。其中:
业务服务器集群600:其是实时消息(相当于上述的目标信息)的发送者,当有相关的消息变更需要推送时,业务服务器集群600通过连接Redis数据库集群设备610将需要推送的信息发布(Pub)到Redis数据库集群设备610中。其中,业务服务器集群600可以包括至少两台业务服务器601。需要说明的是,在本实施例中,是以包括至少两台业务服务器601为例,但业务服务器601的台数也可以为1。
Redis数据库集群设备610:主要利用其发布订阅(pub/sub)的消息通信模式将业务服务器集群600的业务发布服务和Socket.IO服务器集群的推送服务解耦,使得这两者相互不影响,这样处理还有利于两边服务器集群根据业务和负载压力扩展相应的服务器。
Socket.IO服务器集群620:这里是业务实时消息的订阅者以及推送者。基于Java环境搭建的Socket.IO服务器集群,它通过向Redis数据库集群设备订阅(Sub)业务服务器集群里发布的实时消息,并将消息推送到对应与其建立连接的Web客户端。这里,Web客户端相当于前述的客户端设备。Socket.IO服务器集群620可以包括至少两台Socket.IO服务器621。
负载均衡服务器630:负载均衡服务器630的作用是将Web客户端A~D各个客户端群分发连接到Socket.IO服务器集群620中的各个相应应Socket.IO服务器A~D。
Web客户端-A~D群:这里指代的是跟对应Socket.IO服务器建立推送通信的各个Web客户端群体,Web客户端-A~D群中的每个Web客户端分别跟Socket.IO集群中的A~D服务器中的一个Socket.IO服务器建立通信连接,当Socket.IO服务A收到关于Web客户端-A群里的用户的变更信息时,会推送服务到指定的Web客户端。
需要说明的是,根据实际需要,消息推送系统可以仅包括图6中的业务服务器集群600、Redis数据库集群设备610、Socket.IO服务器集群620和负载均衡服务器630中的一部分或者全部。
Web客户端与Socket.IO服务器建立连接的验证方式可以如图7所示,具体地:
首先,Web客户端想获取对应的实时推送消息,需要先与Socket.IO服务器建立消息推送的连接通道,这个时候就需要先将能识别当前用户的Token(在业务后台中登录成功获取的可以验证获取当前用户信息的值)传给Socket.IO服务器,并且Socket.IO服务器会获取当前与Web浏览器建立连接的会话ID(会话标识)。
其次,Socket.IO服务器获取到建立连接的请求,验证Token的用户信息成功后会返回一个当前建立连接的accessToken(访问标识信息)给客户端。该accessToken是随机生成的唯一ID,比如使用UUID(Universally Unique Identifier,通用唯一识别码)生成获取,用户绑定当前建立连接的用户和会话。
接着,Web客户端在获取到申请的用于建立连接的accessToken后开始与Socket.IO服务器进行消息推送通道的建立。
最后,accessToken验证成功后会建立推送连接通道,验证失败后则返回连接失败,需要重新申请accessToken再建立连接。
如图8所示,消息推送流程如下:
首先,业务服务器集群会产生需要实时推送的数据,利用Redis数据库集群设备的订阅/发布的通信方案,将数据以约定的格式(比如JSON)发布到Redis数据库集群设备中,这里发布的数据也会对应携带需要推送到的指定的用户信息。这时Socket.IO服务器会从Redis数据库集群设备里面订阅获取到需要实时推送的消息,并且检查需要推送的用户是否与当前的Socket.IO已经建立推送通道,只有建立推送通道的Web客户端才会收到对应推送的实时消息,比如,图中用户A2与Socket.IO服务A建立了连接,那么如果Socket.IO服务器A收到从Redis数据库集群设备订阅获取到的关于用户A2的消息,这个时候用户A2会收到消息,其他用户是不会收到消息的。
关于业务推送系统的具体限定可以参见上文中对于信息推送方法的限定,在此不再赘述。上述业务推送装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储业务推送数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种信息推送方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取待推送的目标信息,所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收业务服务器产生并发布的目标信息,将所述目标信息存储在数据库设备中;
处理器在执行计算机程序实现获取待推送的目标信息的步骤时,具体实现以下步骤:向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在所述将所述第一用户信息分别与各第二用户信息进行比较的步骤之前,在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道。
在一个实施例中,处理器执行计算机程序实现在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道的步骤时,具体实现以下步骤:接收所述目标客户端设备发送登录请求,所述登录请求携带有所述目标客户端设备的用户信息;在对所述目标客户端设备发送的用户信息验证通过时,向所述目标客户端设备返回访问标识信息;接收所述目标客户端设备发送的通道建立请求,所述通道建立请求中携带有所述访问标识信息;在所述通道建立请求携带有的访问标识信息与发送给所述目标客户端设备的访问标识信息一致时,与所述目标客户端设备建立所述推送通道,并将所述目标客户端设备发送的用户信息确定为第二用户信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在接收到当前客户端设备发送的登录请求时,根据当前接收到登录请求所携带的的用户信息以及预设的用户信息和推送服务器的关联关系,确定所述当前客户端设备所需连接的推送服务器,将所述当前客户端设备分配给所述当前客户端设备所需连接的推送服务器进行推送通道的建立。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待推送的目标信息,所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收业务服务器产生并发布的目标信息,将所述目标信息存储在数据库设备中;
计算机程序被处理器执行所述获取待推送的目标信息的步骤时,具体实现以下步骤:向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在所述将所述第一用户信息分别与各第二用户信息进行比较的步骤之前,在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道。
在一个实施例中,计算机程序被处理器执行所述在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道的步骤时,具体实现以下步骤:接收所述目标客户端设备发送登录请求,所述登录请求携带有所述目标客户端设备的用户信息;在对所述目标客户端设备发送的用户信息验证通过时,向所述目标客户端设备返回访问标识信息;接收所述目标客户端设备发送的通道建立请求,所述通道建立请求中携带有所述访问标识信息;在所述通道建立请求携带有的访问标识信息与发送给所述目标客户端设备的访问标识信息一致时,与所述目标客户端设备建立所述推送通道,并将所述目标客户端设备发送的用户信息确定为第二用户信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在接收到当前客户端设备发送的登录请求时,根据当前接收到登录请求所携带的的用户信息以及预设的用户信息和推送服务器的关联关系,确定所述当前客户端设备所需连接的推送服务器,将所述当前客户端设备分配给所述当前客户端设备所需连接的推送服务器进行推送通道的建立。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种消息推送方法,其特征在于,所述方法包括:
获取待推送的目标信息,其中,推送服务器集群中的任意一个推送服务器接收数据库设备返回的目标信息,并将所述目标信息分享给所述推送服务器集群中的剩余推送服务器;所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。
2.根据权利要求1所述的消息推送方法,其特征在于:
所述方法还包括:接收业务服务器产生并发布的目标信息,将所述目标信息存储在数据库设备中;
所述获取待推送的目标信息的步骤包括:向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。
3.根据权利要求1或2所述的消息推送方法,其特征在于,在所述将所述第一用户信息分别与各第二用户信息进行比较的步骤之前,所述方法还包括:
在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道。
4.根据权利要求3所述的消息推送方法,其特征在于,所述在所述当前推送服务器和所述目标客户端设备之间建立用于推送信息的推送通道的步骤,包括:
接收所述目标客户端设备发送登录请求,所述登录请求携带有所述目标客户端设备的用户信息;
在对所述目标客户端设备发送的用户信息验证通过时,向所述目标客户端设备返回访问标识信息;
接收所述目标客户端设备发送的通道建立请求,所述通道建立请求中携带有所述访问标识信息;
在所述通道建立请求携带有的访问标识信息与发送给所述目标客户端设备的访问标识信息一致时,与所述目标客户端设备建立所述推送通道,并将所述目标客户端设备发送的用户信息确定为第二用户信息。
5.根据权利要求4所述的消息推送方法,其特征在于,所述方法还包括:
在接收到当前客户端设备发送的登录请求时,根据当前接收到登录请求所携带的的用户信息以及预设的用户信息和推送服务器的关联关系,确定所述当前客户端设备所需连接的推送服务器,将所述当前客户端设备分配给所述当前客户端设备所需连接的推送服务器进行推送通道的建立。
6.根据权利要求2所述的消息推送方法,其特征在于,所述推送服务器集群包括Socket.IO服务器集群,所述数据库设备包括Redis数据库设备或者Redis数据库集群设备。
7.一种消息推送装置,其特征在于,所述装置包括:
获取模块,用于获取待推送的目标信息,其中,推送服务器集群中的任意一个推送服务器接收数据库设备返回的目标信息,并将所述目标信息分享给所述推送服务器集群中的剩余推送服务器;所述目标信息中携带有第一用户信息,所述第一用户信息为所述目标信息对应的待推送用户的用户信息;
比较模块,用于将所述第一用户信息分别与各第二用户信息进行比较,各所述第二用户信息分别为已与推送服务器集群中的任意一个推送服务器建立推送通道的客户端设备对应的用户信息;
推送模块,用于在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,通过所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备。
8.一种消息推送系统,其特征在于,所述系统包括推送服务器集群,所述推送服务器集群至少包括两台推送服务器;
各所述推送服务器用于分别获取待推送的目标信息,其中,推送服务器集群中的任意一个推送服务器接收数据库设备返回的目标信息,并将所述目标信息分享给所述推送服务器集群中的剩余推送服务器;所述目标信息中携带有第一用户信息,将所述第一用户信息分别与对应的第二用户信息进行比较;
在当前推送服务器所对应的第二用户信息中和所述第一用户信息中存在一致的用户信息时,所述当前推送服务器将所述目标信息发送给所述存在一致的用户信息对应的目标客户端设备;
其中,所述第一用户信息为所述目标信息对应的待推送用户的用户信息,所述第二用户信息为对应的推送服务器所连接的客户端设备对应的用户信息。
9.根据权利要求8所述的消息推送系统,其特征在于,所述系统还包括数据库设备;
所述数据库设备用于在接收业务服务器产生并发送的目标信息后,存储所述目标信息;
各所述推送服务器向所述数据库设备发送数据订阅请求,接收所述数据库设备返回的所述目标信息。
10.根据权利要求8所述的消息推送系统,其特征在于,所述系统还包括
负载均衡服务器;
所述负载均衡服务器用于在接收到当前客户端设备发送的用户信息时,根据当前接收到的用户信息以及预设的用户信息和推送服务器的关联关系,确定所述当前客户端设备所需连接的推送服务器,将所述当前客户端设备分配给所述当前客户端设备所需连接的推送服务器进行推送通道的建立。
11.根据权利要求9所述的消息推送系统,其特征在于,所述系统还包括业务服务器,所述业务服务器用于产生并发布所述目标信息。
12.根据权利要求8所述的消息推送系统,其特征在于,所述推送服务器集群包括Socket.IO服务器集群,所述数据库设备包括Redis数据库设备或者Redis数据库设备集群。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810574825.2A CN108833521B (zh) | 2018-06-06 | 2018-06-06 | 消息推送方法、装置、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810574825.2A CN108833521B (zh) | 2018-06-06 | 2018-06-06 | 消息推送方法、装置、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108833521A CN108833521A (zh) | 2018-11-16 |
CN108833521B true CN108833521B (zh) | 2021-01-08 |
Family
ID=64143487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810574825.2A Active CN108833521B (zh) | 2018-06-06 | 2018-06-06 | 消息推送方法、装置、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108833521B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109862073B (zh) * | 2018-12-29 | 2021-07-16 | 浙江口碑网络技术有限公司 | 通知消息的推送方法及装置、存储介质、电子装置 |
CN110032612B (zh) * | 2019-04-10 | 2021-04-13 | 珠海市岭南大数据研究院 | 信息推送方法和装置 |
CN109995877B (zh) * | 2019-04-12 | 2021-10-12 | 上海连尚网络科技有限公司 | 信息推送方法和装置 |
CN111970315A (zh) * | 2019-05-20 | 2020-11-20 | 北京车和家信息技术有限公司 | 推送消息的方法、装置及系统 |
CN110300050B (zh) * | 2019-05-23 | 2023-02-07 | 中国平安人寿保险股份有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN110505275A (zh) * | 2019-07-16 | 2019-11-26 | 北京奇艺世纪科技有限公司 | 数据传输方法、系统、服务器及计算机可读存储介质 |
CN110460665A (zh) * | 2019-08-15 | 2019-11-15 | 阳光易购(湖南)科技有限公司 | 一种订单页面实时刷新的方法 |
CN113238808B (zh) * | 2020-01-22 | 2024-09-20 | 北京沃东天骏信息技术有限公司 | 一种消息推送方法和装置 |
CN111447185B (zh) * | 2020-03-10 | 2023-07-28 | 平安科技(深圳)有限公司 | 一种推送信息的处理方法及相关设备 |
CN111680223B (zh) * | 2020-04-22 | 2024-03-29 | 上海平安智慧教育科技有限公司 | 跨平台课程推送方法、装置、电子设备、存储介质 |
CN113765774B (zh) * | 2020-11-16 | 2023-05-02 | 西安京迅递供应链科技有限公司 | 消息实时同步方法、装置、电子设备及介质 |
CN112269941A (zh) * | 2020-11-25 | 2021-01-26 | 北京明略软件系统有限公司 | 业务实时推送方法、系统、电子设备及存储介质 |
CN113190778A (zh) * | 2021-04-30 | 2021-07-30 | 深圳壹账通创配科技有限公司 | 业务数据推送方法、系统、计算机设备及计算机存储介质 |
CN113596147B (zh) * | 2021-07-27 | 2023-10-24 | 奇安信科技集团股份有限公司 | 消息推送方法、装置、设备与存储介质 |
CN116055777B (zh) * | 2023-01-03 | 2024-02-23 | 北京流金岁月传媒科技股份有限公司 | 一种多路机顶盒远程控制系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045831A (zh) * | 2015-06-30 | 2015-11-11 | 北京奇艺世纪科技有限公司 | 一种消息推送方法及装置 |
CN105634932A (zh) * | 2016-03-16 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 一种消息推送方法、装置和系统 |
CN107426322A (zh) * | 2017-07-31 | 2017-12-01 | 深圳市金立通信设备有限公司 | 一种推送消息目标匹配方法、服务器、终端以及计算机可读存储介质 |
CN107689988A (zh) * | 2017-08-18 | 2018-02-13 | 广州市百果园信息技术有限公司 | 一种消息推送的方法、装置、电子设备及终端设备 |
CN107734076A (zh) * | 2017-11-29 | 2018-02-23 | 湖北三新文化传媒有限公司 | 消息推送方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107920103B (zh) * | 2016-10-11 | 2021-02-26 | 阿里巴巴集团控股有限公司 | 一种信息推送的方法和系统及客户端和服务器 |
-
2018
- 2018-06-06 CN CN201810574825.2A patent/CN108833521B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045831A (zh) * | 2015-06-30 | 2015-11-11 | 北京奇艺世纪科技有限公司 | 一种消息推送方法及装置 |
CN105634932A (zh) * | 2016-03-16 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 一种消息推送方法、装置和系统 |
CN107426322A (zh) * | 2017-07-31 | 2017-12-01 | 深圳市金立通信设备有限公司 | 一种推送消息目标匹配方法、服务器、终端以及计算机可读存储介质 |
CN107689988A (zh) * | 2017-08-18 | 2018-02-13 | 广州市百果园信息技术有限公司 | 一种消息推送的方法、装置、电子设备及终端设备 |
CN107734076A (zh) * | 2017-11-29 | 2018-02-23 | 湖北三新文化传媒有限公司 | 消息推送方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
"基于MQTT协议的消息推送集群系统的设计与实现";任亨;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108833521A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833521B (zh) | 消息推送方法、装置、系统、计算机设备和存储介质 | |
CN110781482B (zh) | 登陆方法、装置、计算机设备和存储介质 | |
CN107135218B (zh) | 登录态获取、发送方法、凭证配置方法、客户端及服务器 | |
CN104869143A (zh) | 资料分享方法、装置、客户端和服务器 | |
CN109040263B (zh) | 基于分布式系统的业务处理方法及装置 | |
CN104580406A (zh) | 一种同步登录状态的方法和装置 | |
CN106657259B (zh) | 一种用于服务器集群的路由服务器及路由服务方法 | |
CN108966159B (zh) | 短信撤回方法、系统、计算机设备和存储介质 | |
CN106254319B (zh) | 一种轻应用登录控制方法和装置 | |
CN110647540A (zh) | 业务数据查询方法、装置、计算机设备和存储介质 | |
CN104660409A (zh) | 集群环境下系统登录的方法和认证服务器集群 | |
CN111259356B (zh) | 授权方法、辅助授权组件、管理服务器和计算机可读介质 | |
CN106210155A (zh) | 连接应用服务器的方法和装置 | |
CN113904847B (zh) | 物联网卡的云平台绑定方法、系统、设备及介质 | |
CN113190778A (zh) | 业务数据推送方法、系统、计算机设备及计算机存储介质 | |
CN108289074B (zh) | 用户账号登录方法及装置 | |
CN109118291B (zh) | 广告任务推广中用户认证方法、装置和计算机设备 | |
CN105812413B (zh) | 通信方法及设备 | |
CN106411713B (zh) | 一种状态通知方法及服务器 | |
CN109088918B (zh) | 一种交互方法、客户端设备及服务端设备 | |
CN102724165A (zh) | 终端通信的控制方法和装置、以及管理服务器 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN111787048B (zh) | 一种终端设备的连接方法、调度服务器及物联网系统 | |
CN108021459B (zh) | 跨进程发送打点日志的方法及装置 | |
CN114070824B (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 |