[发明专利]一种共享会话数据的系统和方法有效
申请号: | 201510020027.1 | 申请日: | 2015-01-15 |
公开(公告)号: | CN104580226B | 公开(公告)日: | 2017-07-11 |
发明(设计)人: | 高宝文 | 申请(专利权)人: | 上海瀚之友信息技术服务有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/58 |
代理公司: | 上海正旦专利代理有限公司31200 | 代理人: | 陆飞,盛志范 |
地址: | 200003 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 共享 会话 数据 系统 方法 | ||
技术领域
本发明属于计算机应用技术领域,特别涉及一种共享会话数据的系统和方法。
背景技术
网络应用都是无状态的,对于这些应用而言,无法对客户端进行标识,因而无法得知使用该应用的客户端访问状态。为了保证应用客户端在访问是可标识、有状态的,目前,大多数的网络应用都会使用到会话。
在网络应用中会话指的是,用户通过互联网应用的客户端(比如:浏览器)打开一个应用开始直至关闭这个客户端的这段时间内,网络应用使用会话标识来标记客户端,而网络应用则使用会话标识对应的会话数据来记录客户端的状态数据。通过会话数据,网络应用可以保持客户端的状态数据(常见的状态数据有登录数据、购物车数据等)。
就目前常用的技术,会话标识是打开客户端访问应用时,由应用产生一个全局的唯一串,这个唯一串通过网格协议写入客户端的存储区域中(比如:浏览器的Cookie、手机客户端存放数据的目录)。与此同时,应用在服务器的内存为这个会话标识创建一块独立的空间,用于存放客户端的特定的数据。当客户端产生状态变化(比如进行了登录操作)后,应用在服务器这个客户端会话标识的内存空间中,将该客户端登录后的数据(如:用户名、登录时间等)放入该空间。等下一次客户端访问应用时,通过客户端会话标识应用可以知道当前客户端登录的数据。
为了能支持更大的访问量,应用服务器一般会采用服务器集群,由多台服务器一起提供服务,以分散每台服务器的访问压力。由于客户端的会话数据是存放在服务器内存中的,如果当前存储客户端会话数据在一台服务器上,该用户下次访问到另外一台服务器上时就无法获取该客户端的会话数据。目前常用技术而言,解决集群环境中会话数据各节点之间共享的方式,主要有以下几种:
1、黏性会话,即在客户端会话标识上添加上服务器集群的节点编号、或者根据客户端的源IP地址通过哈希算法算出一个数值,再通过该数值计算应该访问哪个服务器集群的节点,使得同一客户端的访问均由同一台服务器进行处理,这样可以避免同一客户端的不同请求由不同的服务器进行处理,而带来的会话数据不一致的情况。但这种方式使得会话数据占用的内存在各台服务器分布不均匀。对于用户而言,只有一个节点为其提供服务,若该节点宕机,将导致被分配到该节点的会话数据会部丢失,存在单点故障风险。
2、会话复制,在服务器集群节点间同步客户端的会话数据,使用客户端的会话数据在服务器集群节点的内存中保持一致,这样无论是客户端访问到哪一台服务器,均可以获取自己的会话数据。该方式需要使用内存数据同步等技术手段对各节点内存中的会话数据进行同步,来保证每个服务器节点内存中的会话数据是一致的,但同步需要耗费一定的网络资源,势必会造成数据同步的延迟,使用时效率和性能较差。另外,若会话数据很多,会占用大量的节点内存资源,如果会话数据量超出节点内存的大小,将会导致节点宕机,甚至整个服务器集群宕机。
3、利用于Web应用服务器自带的功能,将会话数据存放至Memcached之类的缓存服务器中,从而实现会话数据的共享,但是该方式只能应用在某一Web应用服务器中,对于应用服务器升级或者替换存在一定的风险。
从上述几种处理共享会话数据的方式来看,都存在着不足,因而现有技术是有待改进和提高的。
发明内容
本发明的目的在于提供一种高扩展性和高性能的共享会话数据的系统和方法。
本发明提供的共享会话数据的系统,其结构框图如图1所示。该共享会话数据系统包括:
至少一个Web应用服务器;
一个缓存服务器A14。
所述Web应用服务器,用于处理客户端的HTTP请求并完成所述HTTP请求业务逻辑;本发明中,Web应用服务器是基于Java的Servlet容器,所述Web应用服务器包括:共享会话处理请求过滤器A11、会话数据处理单元A12、会话数据临时存储单元A13和以及业务逻辑处理单元A15;
所述缓存服务器A14,用于存放会话数据;会话数据一般是有过期时间的,因此,本发明中的缓存服务器需要具备以下这些特性:以键值为存储结构,缓存数据的读写性能高,缓存数据有过期时间,过期数据的能自动清理;
所述Web应用服务器接收到由客户端发送的HTTP请求后,把请求的HTTP数据转换成为请求对象,并将该请求对象交由共享会话处理请求过滤器A11进行处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海瀚之友信息技术服务有限公司,未经上海瀚之友信息技术服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510020027.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:真空阀
- 下一篇:一种用于粉料输送或搅拌除尘系统的压力调节装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置