(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211322774.7
(22)申请日 2022.10.27
(71)申请人 浪潮云信息技 术股份公司
地址 250100 山东省济南市高新区浪潮路
1036号浪潮科技园S01号楼
(72)发明人 孙光涛 张永皋
(74)专利代理 机构 济南信达专利事务所有限公
司 37100
专利代理师 冯春连
(51)Int.Cl.
H04L 67/55(2022.01)
H04L 67/141(2022.01)
H04L 67/145(2022.01)
H04L 9/40(2022.01)
(54)发明名称
一种动态数据的订阅和推送方法及系统
(57)摘要
本发明公开一种动态数据的订阅和推送方
法, 涉及数据应用技术领域, 包括: 用户通过客户
端向订阅网关发起数据订阅请求; 订阅网关接收
到请求后, 首先判断当前用户是否具有订阅权
限, 然后判断是否已经超 过当前用户允许的最大
订阅连接数, 最后根据登陆客户端用户的QoS选
择服务端, 被选中的服务端通过websocket与客
户端建立连接; 连接成功后, 服务端根据请求向
客户端推送数据; 客户端接收数据, 首先判断客
户端当前数据列表中是否已经存在该数据, 若有
则更新, 若无则新增, 然后判断该数据的类型, 并
根据判断结果操作客户端当前数据列表。 本发明
还提供一种动态数据的订阅和推送系统, 其用于
实现前述方法, 可以提高数据订阅和推送的安全
性, 灵活控制客户端的订阅。
权利要求书2页 说明书6页 附图3页
CN 115550432 A
2022.12.30
CN 115550432 A
1.一种动态数据的订阅和推送方法, 其特 征在于,包括如下步骤:
用户通过客户端向订阅网关发起数据订阅请求;
订阅网关接收到请求后, 首先判断当前用户是否具有订阅权限, 然后判断是否已经超
过当前用户允许的最大订阅连接数, 最后根据登陆客户端用户的QoS从所有服务端中选择
一个满足当前用户Q oS的服务端, 被选中的服 务端通过websocket与客户端建立连接;
服务端与客户端建立连接之后, 服 务端根据请求向客户端推送数据;
客户端收到数据后, 首先判断客户端当前数据列表中是否已经存在该数据, 若有则更
新, 若无则新增, 然后判断该 数据的类型, 并根据判断结果操作客户端当前 数据列表。
2.根据权利要求1所述的一种动态数据的订 阅和推送方法, 其特征在于, 用户通过客户
端向订阅网关发起数据订阅请求, 服务端根据请求向客户端推送数据, 其中, 所述数据为动
态数据, 具有如下 特征:
具有明显的时变性;
属于特定的所有者;
数据的所有者在不同时刻可能不同;
具有属性表征 数据的所有者变为当前 数据所有者的时刻以及属于当前者的累计时长 。
3.根据权利要求1所述的一种动态数据的订 阅和推送方法, 其特征在于, 用户通过客户
端向订阅网关发起数据订阅请求的过程中:
客户端生成唯一的websocket连接ID, 标识本次连接,
客户端将websocket连接ID放到连接请求的URL路径参数中,
客户端从用户认证中心keycloak中获取用户登录token, 并将用户登录token放到
websocket的协议头中,
客户端利用websocket的协议头传递客户端认证信息, 认证信息中包含当前客户端订
阅数据时使用的用户信息 。
4.根据权利要求3所述的一种动态数据的订 阅和推送方法, 其特征在于, 用户通过客户
端向订阅网关发起数据订阅请求, 被选中的服务端通过websocket与客户端建立连接, 这一
过程中,
客户端向所有服务端分别发送心跳包, 所有服务端接收心跳包, 并利用心跳包接收时
间和心跳包发送时间的时延大小确定客户端和服 务端之间的网络通信质量,
订阅网关根据当前客户端用户的QoS, 以及客户端和服务端的网络通信质量, 从所有服
务端中选择一个满足当前用户Q oS的服务端;
同一个服务端与多个客户端建立连接后, 服务端根据请求优先将数据推送到QoS等级
高的用户客户端上。
5.根据权利要求1所述的一种动态数据的订 阅和推送方法, 其特征在于, 服务端和客户
端建立连接之后, 服 务端通知订阅网关, 订阅网关将对应用户已经建立的连接数加1;
服务端和客户端断开连接之后, 服务端通知订阅网关, 订阅网关将对应用户已经建立
的连接数减1。
6.根据权利要求1所述的一种动态数据的订 阅和推送方法, 其特征在于, 客户端探测到
和服务端的网络连接中断之后, 在websocket的close事件处理程序中启动一个定时器, 用
来重新发起订阅连接建立请求, 请求成功后, 客户端通过订阅网关重新向服务端请求订阅权 利 要 求 书 1/2 页
2
CN 115550432 A
2数据的全量数据, 以避免由于采用增量推送导致的网络中 断后部分数据丢失或者和服务端
数据状态不 一致。
7.一种动态数据的订阅和推送系统, 其特 征在于, 其结构包括:
客户端, 一方面用于向订阅网关发起数据订阅请求, 另一方面用于接收服务端的推送
数据, 并首先判断客户端当前数据列表中是否已经存在该数据, 若有则更新, 若无则新增,
然后判断该 数据的类型, 并根据判断结果操作客户端当前 数据列表;
订阅网关, 用于接收用户发起的请求, 随后判断当前用户是否具有订阅权限, 判断是否
已经超过当前用户允许的最大订阅连接数, 最后根据登陆客户端用户的QoS从所有服务端
中选择一个满足当前用户QoS的服务端, 被选中的服务端通过websocket与客户端建立连
接;
服务端, 用于与客户端建立连接, 并在连接成功后向客户端推送数据。
8.根据权利要求7所述的一种动态数据的订 阅和推送系统, 其特征在于, 用户通过客户
端向订阅网关发起数据订阅请求, 服务端根据请求向客户端推送数据, 其中, 所述数据为动
态数据, 具有如下 特征:
具有明显的时变性;
属于特定的所有者;
数据的所有者在不同时刻可能不同;
具有属性表征 数据的所有者变为当前 数据所有者的时刻以及属于当前者的累计时长 。
9.根据权利要求7所述的一种动态数据的订 阅和推送系统, 其特征在于, 用户通过客户
端向订阅网关发起数据订阅请求, 被选中的服务端通过websocket与客户端建立连接, 这一
过程中,
(1)客户端生成唯一的websocket连接ID, 标识本次连接,
客户端将websocket连接ID放到连接请求的URL路径参数中,
客户端从用户认证中心keycloak中获取用户登录token, 并将用户登录token放到
websocket的协议头中,
客户端利用websocket的协议头传递客户端认证信息, 认证信息中包含当前客户端订
阅数据时使用的用户信息;
(2)客户端向所有服务端分别发送心跳包, 所有服务端接收心跳包, 并利用心跳包接收
时间和心跳包发送时间的时延大小确定客户端和服 务端之间的网络通信质量,
订阅网关根据当前客户端用户的QoS, 以及客户端和服务端的网络通信质量, 从所有服
务端中选择一个满足当前用户Q oS的服务端;
(3)同一个服务端与多个客户端建立连接后, 服务端根据请求优先将数据推送到QoS等
级高的用户客户端上。
10.根据权利要求7所述的一种动态数据的订阅和推送系统, 其特征在于, 客户端探测
到和服务端的网络连接中断之后, 在websocket的close事件处理程序中启动一个定时器,
用来重新发起订阅连接建立请求, 请求成功后, 客户端通过订阅网关重新向服务端请求订
阅数据的全量数据, 以避免由于采用增量推送导致的网络中 断后部分数据丢失或者和服务
端数据状态不 一致。权 利 要 求 书 2/2 页
3
CN 115550432 A
3
专利 一种动态数据的订阅和推送方法及系统
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 16:38:52上传分享