CN111222074A - 一种基于Websocket协议的消息推送方法及系统 - Google Patents
一种基于Websocket协议的消息推送方法及系统 Download PDFInfo
- Publication number
- CN111222074A CN111222074A CN202010020494.5A CN202010020494A CN111222074A CN 111222074 A CN111222074 A CN 111222074A CN 202010020494 A CN202010020494 A CN 202010020494A CN 111222074 A CN111222074 A CN 111222074A
- Authority
- CN
- China
- Prior art keywords
- message
- module
- foreground
- server
- websocket
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000012858 packaging process Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 abstract description 4
- 230000006854 communication Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 abstract description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种基于Websocket协议的消息推送方法,涉及消息推送技术领域,包括:在前台服务器和后台服务器之间建立Websocket服务;在用户通过前台服务器向后台服务器发送浏览记录时:后台服务器向Websocket服务推送相关消息,Websocket服务接收推送消息并发送至前台服务器,前台服务器监听并接收Websocket服务推送的消息,前台服务器自行处理消息,并实时推送给用户。本发明还提供了一种基于Websocket协议的消息推送系统,其通过Websocket服务模块实现了后台模块与前台模块之间的通信,其与前述方法都可以让用户更加快速、更高效率的获取到自己所需要的信息,提高了用户的信息提取速率,增加了用户体验。
Description
技术领域
本发明涉及消息推送技术领域,具体的说是一种基于Websocket协议的消息推送方法及系统。
背景技术
很多网站为了实现推送技术,所用的技术都是轮询。
轮询是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。
而比较新的技术去做轮询的效果是Comet,这种技术虽然可以双向通信,但依然需要反复发出请求;而且在Comet中,普遍采用的长链接,也会消耗服务器资源。在这种情况下,HTML5定义了Websocket协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。
Websocket是独立的、创建在TCP上的协议。连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小只有2至10字节(和数据包长度有关);对于客户端到服务器的内容,此头部还需要加上额外的4字节的掩码。相对于HTTP请求每次都要携带完整的头部,此项开销显著减少了。由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于HTTP请求需要等待客户端发起请求服务端才能响应,延迟明显更少;即使是和Comet等类似的长轮询比较,其也能在短时间内更多次地传递数据。与HTTP不同的是,Websocket需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息。而HTTP请求可能需要在每个请求都携带状态信息(如身份认证等)。Websocket定义了扩展,用户可以扩展协议、实现部分自定义的子协议。如部分浏览器支持压缩等,相对于HTTP压缩,Websocket在适当的扩展支持下,可以沿用之前内容的上下文,在传递类似的数据时,可以显著地提高压缩率。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种基于Websocket协议的消息推送方法及系统,可以让用户更加快速、更高效率的获取到自己所需要的信息,提高了用户的信息提取速率,增加了用户体验。
首先,本发明提供一种基于Websocket协议的消息推送方法,解决上述技术问题采用的技术方案如下:
一种基于Websocket协议的消息推送方法,该方法的实现过程包括:
在前台服务器和后台服务器之间建立Websocket服务;
在前台服务器和后台服务器之间建立Websocket服务;
在用户通过前台服务器向后台服务器发送浏览记录时:
后台服务器向Websocket服务推送相关消息,
Websocket服务接收推送消息并发送至前台服务器,
前台服务器监听并接收Websocket服务推送的消息,前台服务器自行处理消息,并实时推送给用户。
可选的,所涉及后台服务器向Websocket服务推送相关消息具体过程包括:
后台服务器将消息封装为json数据,封装过程中,还会封装消息的名称;
后台服务器将封装后包含消息名称的json数据推送至Websocket服务。
可选的,所涉及Websocket服务接收后台服务器推送的json数据,并通过广播的形式将其发送至前台服务器。
可选的,当后台服务器与Websocket服务建立连接时,在前台服务器通过注册消息名称的方式监听Websocket服务,注册的消息名称与后台服务器封装的消息名称相同;
随后,当前台服务器接收到Websocket服务推送的消息时,基于前台服务器注册的消息名称,对消息进行处理,同时对无用的消息进行过滤;
最后,将处理后的消息实时推送至用户。
可选的,在前台服务器,最多只能注册一个消息名称;
若前台服务器需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。
其次,本发明还提供一种基于Websocket协议的消息推送系统,解决上述技术问题采用的技术方案如下:
一种基于Websocket协议的消息推送系统,其包括:Websocket服务模块、后台模块和前台模块;
后台模块和前台模块之间通过Websocket服务模块建立连接;
在用户通过前台模块向后台模块发送浏览记录时:
后台模块向Websocket服务模块推送消息,
Websocket服务模块接收后台模块推送的消息,并发送至前台服务器,
前台模块监听并接收Websocket服务模块推送的消息,且前台模块自行处理消息,并实时推送给用户。
可选的,所涉及后台模块将消息封装为json数据,封装过程中,还会封装消息的名称;
后台模块将封装后包含消息名称的json数据推送至Websocket服务模块。
可选的,所涉及Websocket服务模块接收后台模块推送的json数据,并通过广播的形式将其发送至前台模块。
可选的,所涉及后台模块与Websocket服务模块建立连接时,在前台模块通过注册消息名称的方式监听Websocket服务模块,注册的消息名称与后台模块封装的消息名称相同;
前台模块接收到Websocket服务模块推送的消息时,基于前台模块注册的消息名称,对消息进行处理,同时对无用的消息进行过滤;
前台模块,将处理后的消息实时推送至用户。
优选的,所涉及前台模块最多只能注册一个消息名称;
若前台模块需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。
本发明的一种基于Websocket协议的消息推送方法及系统,与现有技术相比具有的有益效果是:
本发明采用Websocket协议,Websocket协议是独立的、创建在TCP上的协议,在前台服务器和后台服务器之间交换数据时,用于协议控制的数据包头部相对较小,服务传送消息的开销减少,后台服务器可以随时主动给前台服务器下发数据,可以让用户更加快速、更高效率的获取到自己所需要的信息,提高了用户的信息提取速率,增加了用户体验。
附图说明
附图1是本发明实施例一的流程示意图;
附图2是本发明实施例二的连接框图。
附图中各标号信息表示:
1、Websocket服务模块,2、后台模块,3、前台模块。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
实施例一:
结合附图1,本实施例提出一种基于Websocket协议的消息推送方法,该方法的实现过程包括:
在前台服务器和后台服务器之间建立Websocket服务;
在用户通过前台服务器向后台服务器发送浏览记录时:
后台服务器向Websocket服务推送相关消息,
Websocket服务接收推送消息并发送至前台服务器,
前台服务器监听并接收Websocket服务推送的消息,前台服务器自行处理消息,并实时推送给用户。
在本实施例中,所涉及后台服务器向Websocket服务推送相关消息具体过程包括:
后台服务器将消息封装为json数据,封装过程中,还会封装消息的名称;
后台服务器将封装后包含消息名称的json数据推送至Websocket服务。
在本实施例中,所涉及Websocket服务接收后台服务器推送的json数据,并通过广播的形式将其发送至前台服务器。
在本实施例中,当后台服务器与Websocket服务建立连接时,在前台服务器通过注册消息名称的方式监听Websocket服务,注册的消息名称与后台服务器封装的消息名称相同;
随后,当前台服务器接收到Websocket服务推送的消息时,基于前台服务器注册的消息名称,对消息进行处理,同时对无用的消息进行过滤;
最后,将处理后的消息实时推送至用户。
在本实施例中,在前台服务器,最多只能注册一个消息名称;
若前台服务器需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。
实施例二:
结合附图2,本实施例提出一种基于Websocket协议的消息推送系统,其包括:Websocket服务模块1、后台模块2和前台模块3。
后台模块2和前台模块3之间通过Websocket服务模块1建立连接;
在用户通过前台模块3向后台模块2发送浏览记录时:
后台模块2向Websocket服务模块1推送消息,
Websocket服务模块1接收后台模块2推送的消息,并发送至前台服务器,
前台模块3监听并接收Websocket服务模块1推送的消息,且前台模块3自行处理消息,并实时推送给用户。
在本实施例中,所涉及后台模块2将消息封装为json数据,封装过程中,还会封装消息的名称;
后台模块2将封装后包含消息名称的json数据推送至Websocket服务模块1。
在本实施例中,所涉及Websocket服务模块1接收后台模块2推送的json数据,并通过广播的形式将其发送至前台模块3。
在本实施例中,所涉及后台模块2与Websocket服务模块1建立连接时,在前台模块3通过注册消息名称的方式监听Websocket服务模块1,注册的消息名称与后台模块2封装的消息名称相同;
前台模块3接收到Websocket服务模块1推送的消息时,基于前台模块3注册的消息名称,对消息进行处理,同时对无用的消息进行过滤;
前台模块3,将处理后的消息实时推送至用户。
在本实施例中,所涉及前台模块3最多只能注册一个消息名称;
若前台模块3需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。
综上可知,采用本发明的一种基于Websocket协议的消息推送方法及系统,可以让用户更加快速、更高效率的获取到自己所需要的信息,提高了用户的信息提取速率,增加了用户体验。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (10)
1.一种基于Websocket协议的消息推送方法,其特征在于,该方法的实现过程包括:
在前台服务器和后台服务器之间建立Websocket服务;
在用户通过前台服务器向后台服务器发送浏览记录时:
后台服务器向Websocket服务推送相关消息,
Websocket服务接收推送消息并发送至前台服务器,
前台服务器监听并接收Websocket服务推送的消息,前台服务器自行处理消息,并实时推送给用户。
2.根据权利要求1所述的一种基于Websocket协议的消息推送方法,其特征在于,后台服务器向Websocket服务推送相关消息具体过程包括:
后台服务器将消息封装为json数据,封装过程中,还会封装消息的名称;
后台服务器将封装后包含消息名称的json数据推送至Websocket服务。
3.根据权利要求2所述的一种基于Websocket协议的消息推送方法,其特征在于,Websocket服务接收后台服务器推送的json数据,并通过广播的形式将其发送至前台服务器。
4.根据权利要求3所述的一种基于Websocket协议的消息推送方法,其特征在于,当后台服务器与Websocket服务建立连接时,在前台服务器通过注册消息名称的方式监听Websocket服务,注册的消息名称与后台服务器封装的消息名称相同;
随后,当前台服务器接收到Websocket服务推送的消息时,基于前台服务器注册的消息名称,对消息进行处理,同时对无用的消息进行过滤;
最后,将处理后的消息实时推送至用户。
5.根据权利要求4所述的一种基于Websocket协议的消息推送方法,其特征在于,在前台服务器,最多只能注册一个消息名称;
若前台服务器需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。
6.一种基于Websocket协议的消息推送系统,其特征在于,其包括:Websocket服务模块、后台模块和前台模块;
所述后台模块和前台模块之间通过Websocket服务模块建立连接;
在用户通过所述前台模块向所述后台模块发送浏览记录时:
所述后台模块向所述Websocket服务模块推送消息,
所述Websocket服务模块接收所述后台模块推送的消息,并发送至前台服务器,
所述前台模块监听并接收所述Websocket服务模块推送的消息,且所述前台模块自行处理消息,并实时推送给用户。
7.根据权利要求6所述的一种基于Websocket协议的消息推送系统,其特征在于,所述后台模块将消息封装为json数据,封装过程中,还会封装消息的名称;
所述后台模块将封装后包含消息名称的json数据推送至所述Websocket服务模块。
8.根据权利要求7所述的一种基于Websocket协议的消息推送系统,其特征在于,所述Websocket服务模块接收所述后台模块推送的json数据,并通过广播的形式将其发送至所述前台模块。
9.根据权利要求6所述的一种基于Websocket协议的消息推送系统,其特征在于,所述后台模块与所述Websocket服务模块建立连接时,在所述前台模块通过注册消息名称的方式监听所述Websocket服务模块,注册的消息名称与所述后台模块封装的消息名称相同;
所述前台模块接收到所述Websocket服务模块推送的消息时,基于所述前台模块注册的消息名称,对消息进行处理,同时对无用的消息进行过滤;
所述前台模块,将处理后的消息实时推送至用户。
10.根据权利要求6所述的一种基于Websocket协议的消息推送系统,其特征在于,所述前台模块最多只能注册一个消息名称;
若所述前台模块需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020494.5A CN111222074A (zh) | 2020-01-09 | 2020-01-09 | 一种基于Websocket协议的消息推送方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020494.5A CN111222074A (zh) | 2020-01-09 | 2020-01-09 | 一种基于Websocket协议的消息推送方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111222074A true CN111222074A (zh) | 2020-06-02 |
Family
ID=70832238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010020494.5A Pending CN111222074A (zh) | 2020-01-09 | 2020-01-09 | 一种基于Websocket协议的消息推送方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111222074A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766010A (zh) * | 2021-08-09 | 2021-12-07 | 深圳前海爱客风信息技术有限公司 | 数据流处理方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546584A (zh) * | 2013-11-13 | 2014-01-29 | 深圳市中兴移动通信有限公司 | 信息推送方法和系统 |
CN104463670A (zh) * | 2014-11-05 | 2015-03-25 | 浪潮软件集团有限公司 | 一种基于Websocket的银行前置交易系统的搭建方法 |
CN105407180A (zh) * | 2015-12-29 | 2016-03-16 | 曙光信息产业(北京)有限公司 | 服务器的消息推送方法和装置 |
CN106357697A (zh) * | 2016-11-14 | 2017-01-25 | 威创软件南京有限公司 | 一种基于WebSocket属性同步的多终端页面同步方法 |
CN108156223A (zh) * | 2017-12-06 | 2018-06-12 | 深圳市猫投鹰信息科技有限公司 | 一种基于websocket的消息精准推送系统及方法 |
CN108809821A (zh) * | 2018-09-04 | 2018-11-13 | 四川长虹电器股份有限公司 | 一种基于消息云的即时通信方法 |
CN109889454A (zh) * | 2019-02-26 | 2019-06-14 | 浪潮软件集团有限公司 | 一种微服务架构的消息推送装置及方法 |
CN110062055A (zh) * | 2019-05-31 | 2019-07-26 | 四川长虹电器股份有限公司 | 基于websocket的单用户多地登录分布式推送的方法 |
-
2020
- 2020-01-09 CN CN202010020494.5A patent/CN111222074A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546584A (zh) * | 2013-11-13 | 2014-01-29 | 深圳市中兴移动通信有限公司 | 信息推送方法和系统 |
CN104463670A (zh) * | 2014-11-05 | 2015-03-25 | 浪潮软件集团有限公司 | 一种基于Websocket的银行前置交易系统的搭建方法 |
CN105407180A (zh) * | 2015-12-29 | 2016-03-16 | 曙光信息产业(北京)有限公司 | 服务器的消息推送方法和装置 |
CN106357697A (zh) * | 2016-11-14 | 2017-01-25 | 威创软件南京有限公司 | 一种基于WebSocket属性同步的多终端页面同步方法 |
CN108156223A (zh) * | 2017-12-06 | 2018-06-12 | 深圳市猫投鹰信息科技有限公司 | 一种基于websocket的消息精准推送系统及方法 |
CN108809821A (zh) * | 2018-09-04 | 2018-11-13 | 四川长虹电器股份有限公司 | 一种基于消息云的即时通信方法 |
CN109889454A (zh) * | 2019-02-26 | 2019-06-14 | 浪潮软件集团有限公司 | 一种微服务架构的消息推送装置及方法 |
CN110062055A (zh) * | 2019-05-31 | 2019-07-26 | 四川长虹电器股份有限公司 | 基于websocket的单用户多地登录分布式推送的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766010A (zh) * | 2021-08-09 | 2021-12-07 | 深圳前海爱客风信息技术有限公司 | 数据流处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546794B (zh) | 浏览器客户端与后端服务器直通的方法、网关和通信系统 | |
KR102110698B1 (ko) | 단말기 상호 연결 방법, 장치 및 저장 매체 | |
CN113132376B (zh) | 媒体数据处理方法及装置、系统、电子设备和存储介质 | |
CN102790776B (zh) | 心跳连接归一处理方法、终端、服务器及通信系统 | |
CN106034084B (zh) | 一种数据传输方法及装置 | |
EP2869533B1 (en) | Data distribution method and device | |
JP2006501578A5 (zh) | ||
CN102904959A (zh) | 网络加速方法和网关 | |
CN103516785A (zh) | 网页代理系统及其通信方法 | |
CN109889454A (zh) | 一种微服务架构的消息推送装置及方法 | |
WO2014008793A1 (zh) | 一种tcp数据传输方法、tcp卸载引擎及系统 | |
CN112565214A (zh) | 基于WebSocket的数据传输方法、系统和介质 | |
US20150296014A1 (en) | Picture download method and apparatus | |
CN107368334B (zh) | 一种业务插件交互系统及方法 | |
WO2013120325A1 (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
CN103873443A (zh) | 信息处理方法、本地代理服务器和网络代理服务器 | |
EP2819375B1 (en) | Method and device for data access | |
CN111222074A (zh) | 一种基于Websocket协议的消息推送方法及系统 | |
CN106657039B (zh) | Portal页面获取方法、无线AP及Portal服务器 | |
CN114416275A (zh) | 一种实现多个管理客户端同步虚拟机状态的方法及系统 | |
CN114363427A (zh) | 一种基于浏览器实时获取主机设备信息的方法 | |
CN111935316B (zh) | 一种前端设备目录获取方法及装置 | |
WO2010022671A1 (zh) | 数据传输的方法、代理装置和系统 | |
CN113852666B (zh) | 一种通过ftp协议实时获取http资源的方法 | |
CN111431778B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200602 |