[发明专利]分布式session服务系统及方法有效
申请号: | 201110096246.X | 申请日: | 2011-04-18 |
公开(公告)号: | CN102752323A | 公开(公告)日: | 2012-10-24 |
发明(设计)人: | 钱超 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 隆天国际知识产权代理有限公司 72003 | 代理人: | 章侃铱;张浴月 |
地址: | 开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 session 服务 系统 方法 | ||
技术领域
本申请涉及互联网技术领域,尤其涉及一种针对多应用下session解决方案的分布式服务系统及方法。
背景技术
“session”在计算机领域,尤其是在web(网络)应用中,通常称为“会话”。具体到web中的session是指用户在浏览某个网站时从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。从上述含义可以看出,session实际上可以理解成一个特定的时间概念。就功能方面来看,session在web应用中主要是被用户用来保持会话期间的一些有用信息;例如登录session用来存放用户的登录状态,而登录失败次数则对应放在存储登录失败次数的session中等等。
目前针对session的解决方案一般包括客户端存储和服务器存储两种。对于前者,客户端一般是将session放在cookie中,然而由于cookie本身的特点这种方式也会存在相应的问题:首先,目前cookie每条记录的大小有所限制(不能超过4k),并且一个域名下最多只能存放20条(IE6)cookie记录,因而存放的session对象也有数量和大小的限制;其次,如果session存储在cookie中,那么用户每次使用浏览器访问网站时,便要将所有的cookie记录提交至服务器,但这些cookie对于服务器来说并不是全部都有用,所以这种提交cookie记录的行为会对用户访问网页的速度造成不必要的影响;cookie记录中存放登录密码等敏感信息时需要加密(例如MD5加密),而session对象中又有大量这种类似的敏感信息,如此一来需要进行的客户端加密和服务器解密操作不仅会影响机器性能(主要针对要承受大量访问的服务器来说)也会影响访问效率。对于客户端存储,业内还出现了Flash存储和HTML5本地存储的解决方案,但两者对于浏览器都有特殊的要求,因此都不能实现通用化的应用。
至于session的服务器存储解决方案,目前对于少应用、小访问量的情况,一般采取的做法是将session直接放在服务器内存中进行存储,但是如果访问量聚增的话,内存可能就不够用。另一方面,对于多应用、大访问量的情况,可以采用由N个服务器节点同时对客户端提供session服务的分布式解决方案,此时必须要考虑的是各节点之间的session共享问题,目前通常是采用session的同步复制来实现共享,即每个节点都需要保持一份session并且要随时将本节点的session变化同步到其他所有节点上,如此一来随着节点的增加势必造成服务器性能的显著消耗,而且容易引起广播风暴。
发明内容
本申请的实施例旨在提供一种分布式session服务系统及方法,以解决现有技术中session服务方案存在的上述问题。
为实现上述目的,本申请的实施例提供了一种分布式session服务系统,用在基于用户终端的访问而提供网络页面服务的若干个web应用服务器一侧;该系统包括session客户端及session服务器,其中,
所述session客户端设置在各个所述web应用服务器中,用于在所述用户终端发起访问请求时受所述web应用服务器的调用,在所述session服务器和/或所述用户终端中进行session记录的读写操作;
所述session服务器包括:
配置推送装置,用于在所述web应用服务器启动服务时,将预设的session读写策略发送给所述session客户端;
数据层装置,用于存储由所述session客户端进行读写操作的session记录;以及
权限控制装置,用于在所述web应用服务器调用所述session客户端根据所述session读写策略对所述数据层装置存储的session记录进行读写操作时,控制与各个所述web应用服务器对应的session客户端对特定类型的session记录的读写权限。
本申请的实施例还提供一种分布式session服务方法,应用在基于用户终端的访问而提供网络页面服务的若干个web应用服务器一侧,且对应于所述web应用服务器设置有session客户端,以及对应于所述session客户端设置有session服务器;该方法包括以下步骤:
在所述web应用服务器启动服务时,由所述session服务器将预设的session读写策略发送给所述session客户端;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110096246.X/2.html,转载请声明来源钻瓜专利网。