[发明专利]延长会话寿命装置和延长会话寿命方法无效
申请号: | 201210224444.4 | 申请日: | 2012-06-28 |
公开(公告)号: | CN102739680A | 公开(公告)日: | 2012-10-17 |
发明(设计)人: | 刘学斌 | 申请(专利权)人: | 用友软件股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 延长 会话 寿命 装置 方法 | ||
技术领域
本发明涉及计算机技术领域,具体而言,涉及延长会话寿命装置和延长会话寿命方法。
背景技术
在电子商务应用中,客户端采用浏览器通过HTTP协议连接到服务器,执行电子商务应用提供的各种交互和业务操作。由于HTTP是无状态连接,请求-响应完毕后客户端和服务器之间的链接就会断开。在网络服务器看来,所有的HTTP请求都独立于之前的请求。但在实际电子商务应用中,往往需要通过多个HTTP请求完成一个完整的业务,例如客户购物过程,需要查询产品、加产品到购物车、输入收货信息、付款等多个HTTP请求。在当前WEB服务器的实现中,在服务器端开辟一块内存即会话(Session)记录客户操作的上下文状态,包括认证、授权、购物车等信息,并与浏览器传送的唯一编号即Cookie ID协同完成复杂的业务操作。
由于HTTP是无状态连接,客户端浏览器完全关闭的时候是没有消息发送给服务器的,服务器不能感知浏览器是否关闭,也就不知道什么时候关闭会话。在通用的实现中,往往是依据具体的应用设定一个会话的寿命,例如2小时,如果会话在设定的寿命时间内没有接到来自客户端的请求,会话就会自动关闭,并将内存交回服务端的内存垃圾回收器。从中可以看出,即使客户关闭了浏览器,服务端的会话还要在服务端停留一个寿命时间占用内存。若把会话寿命的时间设置过短,则在用户超过会话寿命的时间没有任何操作时,服务端会话就会过期销毁,会话中的状态信息会丢失,用户需要重新登录,影响用户体验;若把会话寿命时间设置过长,用户在长时间没有请求的情况下服务端的会话还是有效,用户体验虽然好了,可是耗费了服务端的内存。
发明内容
基于上述背景技术的考虑,本发明的一个目的是提供一种延长会话寿命装置,本发明的另一目的是提供一种延长会话寿命方法,既能保证在浏览器长时间没有请求时,会话不会过期;又能在浏览器关闭后服务端的会话能快速过期,节省服务器内存资源,增强了系统的稳定性。
根据本发明的一个方面,提供了一种延长会话寿命装置,包括:定时单元,设置在客户端中,在浏览器开启时,执行定时任务,向服务器发送心跳请求;寿命延长单元,设置于所述服务器,在接收到所述心跳请求后,延长在所述服务器上建立的会话的寿命,以及在没有接收到所述心跳请求时,在经过设定寿命时间后,关闭所述会话并释放所述会话占用的内存。
在用户离开客户端或长时间没有使用浏览器时,通过心跳请求来延长会话的寿命,只有在没有接收到心跳请求时才关闭会话,即保证了会话的使用寿命,又节省了服务器的内存资源,增强了系统的稳定性。
在上述技术方案中,优选的,所述定时单元按照设定时间间隔,定时向所述服务器发送所述心跳请求。例如设置每20分钟向服务器发送一次心跳请求,无需每时每刻都向服务器发送心跳请求,减少了传输网络的负担。
在上述技术方案中,优选的,所述定时单元包括计算子单元,根据需延长的寿命时间、所述设定寿命时间和所述设定时间间隔计算出所述心跳请求的次数,所述服务器接收到最后一次所述心跳请求后,经过所述设定寿命时间后关闭所述会话。
假设用户可能离开客户端半个小时,希望半个小时回来之后会话仍然存在,则可以设置需延长的寿命时间,根据心跳请求的时间间隔,便可以获取所需发送的心跳请求的次数,如果在半个小时后用户没有回来,则自动关闭该会话,避免了一直按照时间间隔来发送心跳请求的问题,减轻了服务器的负担。
在上述技术方案中,优选的,所述定时单元在所述定时任务中配置所述需延长的寿命时间、所述设定寿命时间和所述设定时间间隔。
在上述技术方案中,优选的,所述定时单元将所述心跳请求对应的定时任务嵌入Web框架页面。
当访问一个新页面时,会加载定时任务,并依照配置的时间数据计算出该定时任务的总心跳次数,每发送一次心跳请求即执行一个定时任务。
根据本发明的另一方面,还提供了一种延长会话寿命方法,包括:在客户端浏览器开启时,向服务器发送心跳请求;所述服务器接收到所述心跳请求后,延长在所述服务器上建立的会话的寿命;所述服务器在没有接收到所述心跳请求时,在经过设定寿命时间后,关闭所述会话并释放所述会话占用的内存。
在用户离开客户端或长时间没有使用浏览器时,通过心跳请求来延长会话的寿命,只有在没有接收到心跳请求时才关闭会话,即保证了会话的使用寿命,又节省了服务器的内存资源,增强了系统的稳定性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210224444.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文件的下载、上传方法及装置
- 下一篇:传感网通讯系统