[发明专利]一种网关的消息推送的方法、设备和服务器有效
申请号: | 202011225904.6 | 申请日: | 2020-11-05 |
公开(公告)号: | CN112291255B | 公开(公告)日: | 2022-12-27 |
发明(设计)人: | 代飞飞 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L12/46;H04L69/22;H04L67/55;H04L12/66 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;陈黎明 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网关 消息 推送 方法 设备 服务器 | ||
1.一种网关的消息推送的方法,其特征在于,包括在网关端执行以下步骤:
响应于接收到客户端发出的登陆网关的请求,对用户权限进行验证并创建登陆会话结构体;
响应于所述用户权限验证通过,创建所述客户端和所述网关的通信隧道,其中,响应于所述用户权限验证通过,创建所述客户端和所述网关的通信隧道包括响应于所述用户权限验证通过,所述网关为所述客户端分配虚拟地址,并将虚拟地址更新到相应的会话结构体中,所述网关创建全局的客户端虚拟地址的hash表,将所述客户端分配的虚拟地址对应到所述hash表中的一个hash节点,所述网关创建用于存放推送给用户的响应报文的下行队列;
配置待推送的消息并将所述待推送的消息封装后写入队列中;
响应于检测到所述队列不为空,将所述队列中封装的消息进行解析;
基于解析后得到的会话结构体唯一标识将所述待推送的消息经由所述通信隧道发送到所述会话结构体唯一标识对应的登陆会话结构体的客户端,其中,基于解析后得到的会话结构体唯一标识将所述待推送的消息经由所述通信隧道发送到所述会话结构体唯一标识对应的登陆会话结构体的客户端包括基于解析得到的会话结构体唯一标识找到对应的登陆会话结构体,从登陆会话结构体中取出虚拟地址并基于所述虚拟地址计算键值,基于计算得到的键值从所述hash表中获取对应的hash节点,从hash节点中获取连接信息,将共享内存中保存的消息内容发送给对应的客户端。
2.根据权利要求1所述的方法,其特征在于,响应于接收到客户端发出的登陆网关的请求,所述网关对所述用户权限进行验证并创建登陆会话结构体包括:
所述用户在客户端界面使用用户名和密码登陆所述网关;
响应于所述网关接收到所述客户端发出的用户名和密码,所述网关对所述用户名和密码进行校验;
响应于校验通过,所述网关创建登陆会话结构体并将所述用户的用户名、密码和会话结构体唯一标识保存在所述登陆会话结构体中。
3.根据权利要求1所述的方法,其特征在于,配置待推送的消息并将所述待推送的消息封装后写入队列中包括:
在用户在线列表中选择要推送的用户并将所述要推送的用户的会话结构体唯一标识和消息内容保存到共享内存中;
将待推送的消息封装私有协议头并将封装好的消息写入下行队列。
4.根据权利要求3所述的方法,其特征在于,响应于检测到所述队列不为空,将所述队列中封装的消息进行解析包括:
定时检查所述下行队列是否为空;
响应于所述下行队列不为空,从所述下行队列中取出封装的消息并判断消息类型;
响应于封装的消息的类型是推送消息,将所述封装的消息解析得到会话结构体唯一标识。
5.根据权利要求3所述的方法,其特征在于,所述私有协议头中包括消息类型和消息长度的信息。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于客户端接收到消息,判断消息类型;
响应于所述消息类型是推送消息,将所述消息显示给用户。
7.一种网关的消息推送的设备,其特征在于,所述设备包括:
验证模块,所述验证模块配置为响应于接收到客户端发出的登陆网关的请求,对用户权限进行验证并创建登陆会话结构体;
创建模块,所述创建模块配置为响应于所述用户权限验证通过,创建所述客户端和所述网关的通信隧道,所述创建模块还配置为响应于所述用户权限验证通过,所述网关为所述客户端分配虚拟地址,并将虚拟地址更新到相应的会话结构体中,所述网关创建全局的客户端虚拟地址的hash表,将所述客户端分配的虚拟地址对应到所述hash表中的一个hash节点,所述网关创建用于存放推送给用户的响应报文的下行队列;
封装模块,所述封装模块配置为配置待推送的消息并将所述待推送的消息封装后写入队列中;
解析模块,所述解析模块配置为响应于检测到所述队列不为空,将所述队列中封装的消息进行解析;
传输模块,所述传输模块配置为基于解析后得到的会话结构体唯一标识将所述待推送的消息经由所述通信隧道发送到所述会话结构体唯一标识对应的登陆会话结构体的客户端,所述传输模块还配置为基于解析得到的会话结构体唯一标识找到对应的登陆会话结构体,从登陆会话结构体中取出虚拟地址并基于所述虚拟地址计算键值,基于计算得到的键值从所述hash表中获取对应的hash节点,从hash节点中获取连接信息,将共享内存中保存的消息内容发送给对应的客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011225904.6/1.html,转载请声明来源钻瓜专利网。