基于WebSocket的多用户和多类型消息的推送系统及方法技术方案

技术编号:27975902 阅读:54 留言:0更新日期:2021-04-06 14:10
本申请实施例公开了一种基于WebSocket的多用户和多类型消息的推送系统及方法,包括:客户端携带登录信息访问网站服务器;网站服务器对登录信息进行验证并生成登录令牌发送到所述客户端;客户端根据登录令牌访问WebSocket服务器;WebSocket服务器解析并处理登录令牌,以获取用户信息,并发送登录状态到所述客户端;WebSocket服务器将用户信息和接收的订阅信息生成订阅关系表存储在内存数据库,并发送订阅状态到客户端;WebSocket服务器接收到设备上传的设备事件数据,根据所述订阅关系表将设备事件数据发送到对应的客户端;本申请实施例可选择性地订阅设备及设备上传的数据,支持子客户端查看母客户端绑定的设备数据,减少不必要的数据传输,避免接收到无用数据占用带宽和性能。

【技术实现步骤摘要】
基于WebSocket的多用户和多类型消息的推送系统及方法
本申请实施例涉及数据推送
,尤其涉及一种基于WebSocket的多用户和多类型消息的推送系统及方法。
技术介绍
WebSocket协议是物联网(IOT)系统中用于实现界面显示实时数据动态刷新,它使客户端和服务端的数据交换变得简单,允许服务器主动向客户端推送数据,只需完成一次握手,两者就可以创建持久性连接,并进行双向数据传输。现有的WebSocket协议只是定义了通信方式,正常使用情况下每个登录用户可以查看当前与当前登录用户创建、绑定设备的实时数据;登录用户被动接收设备全部数据;现有的通信方式可以满足一般的需求,但是在物联网(IOT)中,系统中包含有子用户管理的支持时,子用户无法直接订阅到主用户关联的设备数据;当较多设备、频繁上传数据时,WebSocket连接用户只能被动接收所有数据,导致收到过多无用数据,占用带宽和性能。
技术实现思路
本申请实施例提供一种基于WebSocket的多用户和多类型消息的推送系统及方法,以解决现有技术中WebSocket连接本文档来自技高网...

【技术保护点】
1.一种基于WebSocket的多用户和多类型消息的推送系统,其特征在于,包括:客户端、网站服务器、WebSocket服务器和设备;/n所述客户端用于携带登录信息访问所述网站服务器;/n所述网站服务器用于对所述登录信息进行验证并生成登录令牌,将所述登录令牌发送到所述客户端;/n所述客户端还用于根据所述登录令牌访问所述WebSocket服务器;/n所述WebSocket服务器用于解析并处理所述登录令牌,以获取用户信息,并发送登录状态到所述客户端;/n所述客户端还用于发送订阅信息到所述WebSocket服务器,所述WebSocket服务器将所述用户信息和所述订阅信息生成订阅关系表存储在内存数据库,...

【技术特征摘要】
1.一种基于WebSocket的多用户和多类型消息的推送系统,其特征在于,包括:客户端、网站服务器、WebSocket服务器和设备;
所述客户端用于携带登录信息访问所述网站服务器;
所述网站服务器用于对所述登录信息进行验证并生成登录令牌,将所述登录令牌发送到所述客户端;
所述客户端还用于根据所述登录令牌访问所述WebSocket服务器;
所述WebSocket服务器用于解析并处理所述登录令牌,以获取用户信息,并发送登录状态到所述客户端;
所述客户端还用于发送订阅信息到所述WebSocket服务器,所述WebSocket服务器将所述用户信息和所述订阅信息生成订阅关系表存储在内存数据库,并发送订阅状态到所述客户端;
所述WebSocket服务器还用于接收到所述设备上传的设备事件数据时,根据所述订阅关系表将所述设备事件数据发送到对应的客户端。


2.一种基于WebSocket的多用户和多类型消息的推送方法,基于权利要求1所述的基于WebSocket的多用户和多类型消息的推送系统实现,其特征在于,所述方法包括以下步骤:
客户端携带登录信息访问网站服务器;
所述网站服务器对所述登录信息进行验证并生成登录令牌,将所述登录令牌发送到所述客户端;
所述客户端根据所述登录令牌访问WebSocket服务器;
所述WebSocket服务器解析并处理所述登录令牌,以获取用户信息,并发送登录状态到所述客户端;
所述客户端发送订阅信息到所述WebSocket服务器,所述WebSocket服务器将所述用户信息和所述订阅信息生成订阅关系表存储在内存数据库,并发送订阅状态到所述客户端;
当所述WebSocket服务器接收到设备上传的设备事件数据,根据所述订阅关系表将所述设备事件数据发送到对应的客户端。


3.根据权利要求2所述的基于WebSocket的多用户和多类型消息的推送方法,其特征在于,所述网站服务器对所述登录信息进行验证并生成登录令牌,将所述登录令牌发送到所述客户端,包括:
所述登录信息包括用户名和用户类型;
所述网站服务器对所述用户名和所述用户类型进行验证,采用Nodejs模块对所述登录信息进行加密生成登录令牌,并将所述登录令牌发送到所述客户端。


4.根据权利要求2所述的基于WebSocket的多用户和多类型消息的推送方法,其特征在于,所述WebSocket服务器解析并处理所述登录令牌,以获取用户信息,并发送登录状态到所述客户端,包括:
所述WebSocket服务器解析并处理所述登录令牌,以获取用户信息,若解析成功,则发送登录成功状态到所述客户端;若解析失败,则发送登录失败状态到所述客户端。<...

【专利技术属性】
技术研发人员:周立功陈凡
申请(专利权)人:广州致远电子有限公司
类型:发明
国别省市:广东;44

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

1