CN111222074A - 一种基于Websocket协议的消息推送方法及系统 - Google Patents

一种基于Websocket协议的消息推送方法及系统 Download PDF

Info

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
Application number
CN202010020494.5A
Other languages
English (en)
Inventor
曹博
高翔宇
吴楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Huimao Electronic Port Co Ltd
Original Assignee
Shandong Huimao Electronic Port Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Huimao Electronic Port Co Ltd filed Critical Shandong Huimao Electronic Port Co Ltd
Priority to CN202010020494.5A priority Critical patent/CN111222074A/zh
Publication of CN111222074A publication Critical patent/CN111222074A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-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协议的消息推送方法及系统
技术领域
本发明涉及消息推送技术领域,具体的说是一种基于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协议的消息推送系统,其特征在于,所述前台模块最多只能注册一个消息名称;
若所述前台模块需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。
CN202010020494.5A 2020-01-09 2020-01-09 一种基于Websocket协议的消息推送方法及系统 Pending CN111222074A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113766010A (zh) * 2021-08-09 2021-12-07 深圳前海爱客风信息技术有限公司 数据流处理方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
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的单用户多地登录分布式推送的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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