[发明专利]一种基于NoSQL的分布式Session管理的方法及装置有效
申请号: | 201710864855.2 | 申请日: | 2017-09-22 |
公开(公告)号: | CN109547512B | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 李海传;郭岳;方炜;余兆成;罗琼;郑海朋;陈润泉;刘兆祥 | 申请(专利权)人: | 中国移动通信集团浙江有限公司;中国移动通信集团公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 310016 *** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nosql 分布式 session 管理 方法 装置 | ||
本发明实施例提供一种基于NoSQL的分布式Session管理的方法及装置,该方法包括:接收客户端发送的会话请求,并在会话请求中获取会话请求的操作类型和会话请求的sessionID;若会话请求为写操作,则将会话请求路由至集群服务器的master节点,以供所述master节点存储sessionID和会话请求携带的session数据并供所述master节点将sessionID和session数据同步到集群服务器的每个slave节点;若所述会话请求为读操作,则在判断获知所述sessionID对应的session数据已完成同步后,将所述会话请求按照预设的负载均衡策略路由至slave节点,以供所述客户端根据所述sessionID在所述slave节点上读取与所述sessionID对应的所述session数据。本发明实施例能够保证数据同步时的一致性,并且在高并发场景下也能够高性能地提供服务,业务性能高。
技术领域
本发明实施例涉及互联网通信技术领域,尤其涉及一种基于NoSQL的分布式Session管理的方法及装置。
背景技术
Session即会话控制,代表应用服务器与客户端之间的一次会话过程,一般用于控制用户登录的超时时间,以及存放用户登陆相关的信息。在单应用服务器时,Session信息可以存在应用服务器的jvm内存中,读写都是通过同一台应用服务器。但是在分布式环境下,客户端的请求会被负载均衡到多台应用服务器,因此需要有一种机制来解决应用服务器之间的Session数据共享问题。
现有分布式Session管理方案一:基于浏览器Cookie的Session共享。此方案将Session信息存储到浏览器的Cookie中,又称为客户端Session,页面发起请求时将Cookie中的内容一并发送到Web服务器。
现有分布式Session管理方案二:基于传统数据库的Session共享。此方案将Session信息存储到关系型数据库中,不同应用服务器通过访问该数据库来实现Session信息的共享。该方案实现简单,例如Tomcat的PersistentManager直接支持JDBC数据库存储。
现有分布式Session管理方案三:基于应用服务器/Servlet容器的Clustering机制。此方案将存在单台应用服务器上的Session信息,通过Session复制机制,同步给集群中的其他应用服务器。一些常用的应用服务器及Servlet容器的Clustering机制可以实现Session复制的功能,例如Tomcat Clustering/Session Replication、Jboss buddyreplication。
现有分布式Session管理方案四:基于NFS的Session共享。此方案和方案二类似,将Session信息存储到NFS中,各台服务器只需要挂载共享服务器的存储Session的磁盘即可,实现较为简单。
现有分布式Session管理方案五:基于Redis的Session共享。此方案将Session信息存到Redis内存数据库中,Redis采用一主多从的架构来保证服务的高可用,读写分别映射到主从上,主从间的数据同步通过异步方式进行。
现有方案中,方案一的缺点是Cookie只能够存储字符串、数值等基本类型的数据,并且大小、数量存在限制;由于每次请求都要传输Cookie信息,带宽及网络传输性能会有一定影响;安全性方面也有问题,容易被窃取、篡改。
方案二中,数据库服务器相对于应用服务器更难扩展且资源更为宝贵,在高并发的Web应用中,最大的性能瓶颈通常在于数据库服务器。因此如果将Session存储到数据库表,高并发操作时很容易造成数据库表争用及加锁,影响业务性能。
方案三的缺点是基于Clustering的Session复制性能较差,可扩展性不高。
方案四的缺点是NFS对高并发读写的性能不高,在硬盘I/O性能和网络带宽上存在较大瓶颈,尤其是对于Session这样的小文件频繁读写操作的场景。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团浙江有限公司;中国移动通信集团公司,未经中国移动通信集团浙江有限公司;中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710864855.2/2.html,转载请声明来源钻瓜专利网。