[发明专利]一种共享会话数据的系统和方法有效
申请号: | 201510020027.1 | 申请日: | 2015-01-15 |
公开(公告)号: | CN104580226B | 公开(公告)日: | 2017-07-11 |
发明(设计)人: | 高宝文 | 申请(专利权)人: | 上海瀚之友信息技术服务有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/58 |
代理公司: | 上海正旦专利代理有限公司31200 | 代理人: | 陆飞,盛志范 |
地址: | 200003 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 共享 会话 数据 系统 方法 | ||
1.一种共享会话数据的系统,其特征在于包括:
至少一个Web应用服务器;
一个缓存服务器A14;
所述Web应用服务器,用于处理客户端的HTTP请求并完成该HTTP请求的业务逻辑;
所述Web应用服务器包括:共享会话处理请求过滤器A11、会话数据处理单元A12、会话数据临时存储单元A13和以及业务逻辑处理单元A15;
所述缓存服务器A14,用于存放会话数据;
所述Web应用服务器接收到由客户端发送的HTTP请求后,把请求的HTTP数据转换成为请求对象,并将该请求对象交由共享会话处理请求过滤器A11进行处理;
所述Web应用服务器程序中通过请求对象获取会话数据,所述共享会话处理请求过滤器A11在拦截到请求对象后,从请求对象中获取会话数据的逻辑进行改写,所述共享会话处理请求过滤器A11将会话数据在所述Web应用服务器内存中进行读写操作的默认行为,更改为在独立的缓存服务器中进行,并将请求会话数据存放至缓存服务器A14中;
所述会话数据处理单元A12,用于与所述缓存服务器A14针对会话数据进行交互操作,并向A11提供会话数据操作指令;
所述会话数据临时存取单元A13,用于临时存储当前HTTP请求中所述会话数据处理单元A12向所述缓存服务器A14获取的会话数据;
所述业务逻辑处理单元A15是用于处理所述Web应用服务器接收到的http请求所表示的业务逻辑,接收共享会话处理请求过滤器A11输出的包含会话数据的请求对象。
2.根据权利要求1所述的共享会话数据的系统,其特征在于所述会话数据处理单元A12包括缓存服务器读写模块A121和会话数据序列化模块A122;
所述缓存服务器读写模块A121,用于Web应用服务器与缓存服务器14进行数据通信,管理Web应用服务器与缓存服务器14之间的数据通信连接;
所述会话数据序列化模块A122,用于将以对象形式表现的会话数据序列化成为在缓存服务器14中存储的字节数据,同时也能将缓存服务器14中存储的字节数据反序列化成为应用程序中的对象。
3.根据权利要求1所述的共享会话数据的系统,其特征在于:所述缓存服务器以键值为存储结构,对缓存数据设置有过期时间并对过期数据进行自动清理。
4.根据权利要求1所述的共享会话数据的系统,其特征在于:所述Web应用服务器使用一个请求线程处理一个客户端的HTTP请求,所述会话数据临时存取单元A13的内存空间与请求线程相关,不同的访问请求在所述内存空间各自独立、互不影响。
5.一种基于权利要求4所述的共享会话数据系统的共享会话数据的方法,包括HTTP客户端与HTTP服务端的Web应用服务器之间的交互;HTTP客户端是Web浏览器、手机应用APP基于HTTP协议的客户端;对于Web浏览器,需要开启浏览器客户端的Cookie存储,以便于将会话标识存储于Cookie当中;对于手机应用APP非Web浏览器的客户端,需要有存放应用数据的空间,以便于存储会话标识;其特征在于包括以下步骤S201~S208:
S201、Web浏览器客户端或手机应用APP客户端通过HTTP协议向Web应用服务器发送基于HTTP的请求,以使得Web应用服务器处理业务逻辑给客户端数据响应;
S202、HTTP客户端发送的HTTP请求通过在Web应用服务器的共享会话处理HTTP请求过滤器,该过滤器将从HTTP协议名为Cookie的HTTP请求头中获取会话标识,或者从HTTP请求参数或者自定义的HTTP请求头中获取会话标识;是否可以从请求数据中获取会话标识,由以下步骤S203、S204进行处理;
S203、若共享会话处理HTTP请求过滤器能从HTTP请求中获取会话标识,通过该会话标识从缓存服务器中查找与该会话标识所对应的会话数据;
S204、若共享会话处理HTTP请求过滤器无法从HTTP请求中获取会话标识,将生成新的会话标识,待HTTP请求处理完成后将该会话标识通过HTTP响应写入或者告知客户端;基于Web浏览器的客户端,将该会话标识存储于指定名称、域名和路径下的Cookie中;基于手机应用的客户端,将会话标识存储于当前手机应用的存储空间中,以便于下一次的HTTP请求时能获取该会话标识并发送请求;
上述步骤S203通过会话标识是否能在缓存服务器中查找到会话数据,需要有S205和S206两个步骤处理:
S205、通过会话标识能从缓存服务器中获取会话数据时,则将从缓存中读取该数据,并将其反序列化成为应用中所能识别的数据对象;
当同一个请求需要再次获取会话数据时,将优先从当前请求线程相关的内存空间中获取会话数据,而不需要再次从缓存服务器中通过会话标识去读取会话数据;
S206、若通过会话标识无法从缓存服务器获取会话数据时,则将在当前请求线程相关的内存空间中新创建一个空的会话数据对象,以便于该请求的后续操作对该会话数据进行读写;
上述步骤S204在产生新的会话标识后,进行步骤S206处理,通过这个新的会话标识在当前请求的内存空间中新创建一个空的会话数据对象;
S207、上述步骤S205、S206处理完成后,当前请求需要使用会话数据或者修改会话数据内容时,将直接从当前请求的内存空间中获取会话数据进行读写;
在本步骤中,从请求内存中每读取一次会话数据,都会更新该会话数据的最后访问时间,该时间用于判断会话数据是否在一定的时间段内没有被访问时,能将该会话数据进行失效处理;
S208、在HTTP请求的业务逻辑处理完成,在HTTP响应给客户端之前,共享会话处理HTTP请求过滤器从当前请求的内存空间中获取会话数据;在获取会话数据后,将该会话数据对象序列化成为可以在缓存服务器中存储的字节数据,之后通过该会话数据的会话标识将序列化后的会话数据对象写入缓存服务器当中;在写入缓存服务器时,需要设置写入会话数据在缓存服务器中的过期时间,设置过期时间的目的是为了让该会话数据在指定的时间段内没有被访问时,该会话数据将自动失效;所设置的过期时间由Web应用服务器在服务启动时,在配置文件中读取,并作为全局的配置项保存在Web应用服务器的内存中;
共享会话处理HTTP请求过滤器在会话数据写入缓存服务器完成之后,将当前请求内存空间中的会话数据清除,以便于该请求线程可以为其他的HTTP请求服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海瀚之友信息技术服务有限公司,未经上海瀚之友信息技术服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510020027.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:真空阀
- 下一篇:一种用于粉料输送或搅拌除尘系统的压力调节装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置