一种WEB会话管理系统及管理方法与流程

文档序号:15819713发布日期:2018-11-02 22:59阅读:719来源:国知局
一种WEB会话管理系统及管理方法与流程

本发明属于web会话管理技术领域,具体涉及一种web会话管理系统及管理方法。

背景技术

会话(session)管理是当前web服务程序中相当重要的组成部分。目前web服务的会话管理由web服务器生成,开发者无法自己管理,所以服务器宕机会导致会话信息丢失,服务器重启后所有已登录用户还被迫重新登录,另一方面,由于无法自己管理会话,所以系统无法将会话信息备份和做成集群,使系统的可靠性和可扩展性大大降低。为了解决这些问题,迫切需要重新设计会话管理模块来解决这些问题。



技术实现要素:

本发明的目的在于:解决上述现有技术中的不足,提供一种web会话管理系统及管理方法,通过自建web会话管理组件,将耦合在web服务器的会话管理从web服务器中独立出来,实现对会话管理模块的自由修改、裁剪及做成集群。

为了实现上述目的,本发明的技术方案为:

一种web会话管理系统,它包括控制模块,控制模块分别与客户端、会话模块和配置模块连接,会话模块与缓存模块连接,控制模块用于生成用户唯一性标识,会话模块用于管理会话超时信息,缓存模块用于保存用户唯一性标识,配置模块用于配置所述缓存模块的ip地址和端口信息。

进一步的,上述缓存模块为redis,所述redis用于存取用户唯一性标识并设置该标识的超时时间。

一种web会话管理方法,应用上述的web会话管理系统,它包括以下步骤:

步骤一:用户初次登录系统时,系统生成标识该用户的id并保存至缓存模块中,然后将该用户的id添加到http响应中;

步骤二:当该用户访问系统时,系统从http响应中读取该用户的id,根据该用户的id标识从缓存中读取该用户的登录信息;

步骤三:当该用户退出系统时,控制模块从缓存模块中删除相应的会话信息。

进一步的,上述的该用户的id的格式为2字节公司id+4字节用户id+12字节用户登录时间字符串+随机16字节的字符串,所述12字节用户登录时间字符串包括用户登录时的年、月、日、小时、分钟和秒,所述随机16字节的字符串只包括随机数字和随机字母。

进一步的,上述步骤一包括以下步骤:

步骤101:用户初次登录系统时,控制模块生成标识该用户的id;

步骤102:通过redis的存取命令将该命令字符串存入redis中;

步骤103:将该用户的id添加到http响应中。

进一步的,上述步骤103具体为将该用户的id以cookie的形式添加到http响应中。

进一步的,上述步骤102还包括利用redis的命令设置该用户id的超时时间,所述步骤二中,系统自动删除缓存中超过超时时间的会话并保留超时信息。

进一步的,上述步骤二中,当用户访问系统时会话已超时,系统自动显示超时信息。

进一步的,上述步骤一还包括以下步骤:

步骤201:规划若干个redis服务器,设置每个redis服务器的ip地址和与其相关的业务信息;

步骤202:选取其中两台redis服务器用以存储会话列表的相关信息,所述的两台redis服务器分别配置为主服务器和备服务器,其它redis服务器配置为子服务器;

步骤203:用户初次登录系统时,系统生成标识该用户的id并同时将该用户的id和会话列表的相关信息写入主服务器和备服务器,然后按访问时间写入相应的子服务器;

步骤204:所述步骤二中,当多个用户同时访问redis服务器时,每个用户独自访问存有自己id的子服务器,并从子服务器中取出会话列表的相关信息。

进一步的,上述步骤204中,当用户访问的子服务器宕机时,自动为该用户分配其它存有该用户的id和会话列表的相关信息的redis服务器。

由于采用了上述技术方案,本发明的有益效果是:

本发明的web会话管理系统及管理方法,通过自建web会话管理组件,将耦合在web服务器的会话管理从web服务器中独立出来,实现对会话管理模块的自由修改、裁剪及做成集群,提高了系统的稳定性,具有很强的适用性和可扩展性;

本发明将用户唯一性标识存入缓存中,不易丢失,抗风险能力强;

本发明的系统设有主备服务器和多个子服务器,当其中的一个服务器宕机的时候,可访问其它的服务器来取得信息,从而不会发生用户信息丢失的情况。提高系统的稳定性和可靠性;

本发明的会话管理方法中,当用户同时访问服务器的时候,可独自访问自己所属的子服务器,并从中取出相关信息。这样不会造成服务器的堵塞现象,减轻了主服务器的压力,同时也提高用户体验;

本发明的配置模块可采用文本文件,xml,json等多种格式配置redis服务器ip地址和端口信息,配置简单易用,易于整合到现有系统中;

附图说明

图1为本发明的web会话管理组件示意图。

图2为本发明的用户访问系统流程示意图。

具体实施方式

参照附图1-2,对本发明的实施方式做具体的说明。

一种web会话管理系统,它包括控制模块,控制模块分别与客户端、会话模块和配置模块连接,会话模块与缓存模块连接,控制模块用于生成用户唯一性标识,会话模块用于管理会话超时信息,缓存模块用于保存用户唯一性标识,配置模块用于配置所述缓存模块的ip地址和端口信息。

进一步的,上述缓存模块为redis,所述redis用于存取用户唯一性标识并设置该标识的超时时间。

一种web会话管理方法,应用上述的web会话管理系统,它包括以下步骤:

步骤一:用户初次登录系统时,系统生成标识该用户的id并保存至缓存模块中,然后将该用户的id添加到http响应中;

步骤二:当该用户访问系统时,系统从http响应中读取该用户的id,根据该用户的id标识从缓存中读取该用户的登录信息;

步骤三:当该用户退出系统时,控制模块从缓存模块中删除相应的会话信息。

进一步的,上述的该用户的id的格式为2字节公司id+4字节用户id+12字节用户登录时间字符串+随机16字节的字符串,所述12字节用户登录时间字符串包括用户登录时的年、月、日、小时、分钟和秒,所述随机16字节的字符串只包括随机数字和随机字母。

进一步的,上述步骤一包括以下步骤:

步骤101:用户初次登录系统时,控制模块生成标识该用户的id;

步骤102:通过redis的存取命令将该命令字符串存入redis中;

步骤103:将该用户的id添加到http响应中。

进一步的,上述步骤103具体为将该用户的id以cookie的形式添加到http响应中。

进一步的,上述步骤102还包括利用redis的命令设置该用户id的超时时间,所述步骤二中,系统自动删除缓存中超过超时时间的会话并保留超时信息。

进一步的,上述步骤二中,当用户访问系统时会话已超时,系统自动显示超时信息。

进一步的,上述步骤一还包括以下步骤:

步骤201:规划若干个redis服务器,设置每个redis服务器的ip地址和与其相关的业务信息;

步骤202:选取其中两台redis服务器用以存储会话列表的相关信息,所述的两台redis服务器分别配置为主服务器和备服务器,其它redis服务器配置为子服务器;

步骤203:用户初次登录系统时,系统生成标识该用户的id并同时将该用户的id和会话列表的相关信息写入主服务器和备服务器,然后按访问时间写入相应的子服务器;

步骤204:所述步骤二中,当多个用户同时访问redis服务器时,每个用户独自访问存有自己id的子服务器,并从子服务器中取出会话列表的相关信息。

进一步的,上述步骤204中,当用户访问的子服务器宕机时,自动为该用户分配其它存有该用户的id和会话列表的相关信息的redis服务器。

在本发明的一个实施例中,用户登录系统时,控制模块生成标识该用户的id并保存到redis中,然后将该用户的id以cookie的形式添加到http响应中。当该用户访问系统时,控制模块从http请求中取出保存到cookie中的id信息。并以该id标识从缓存中读取该用户的登录信息,然后检测该用户是否登录和是否已超时,若未登录,重复上述步骤,若超时,则提示会话信息已删除。当用户退出系统时,控制模块从缓存中删除相应的会话信息。会话的超时信息由会话模块来控制,当相应的会话超时后,将从缓存中自动删除登录信息,当用户再次请求服务时控制模块会检测到超时信息。

本发明的web会话管理系统及管理方法,通过自建web会话管理组件,将耦合在web服务器的会话管理从web服务器中独立出来,实现对会话管理模块的自由修改、裁剪及做成集群,提高了系统的稳定性,具有很强的适用性和可扩展性;

本发明将用户唯一性标识存入缓存中,不易丢失,抗风险能力强;

本发明的系统设有主备服务器和多个子服务器,当其中的一个服务器宕机的时候,可访问其它的服务器来取得信息,从而不会发生用户信息丢失的情况。提高系统的稳定性和可靠性;

本发明的会话管理方法中,当用户同时访问服务器的时候,可独自访问自己所属的子服务器,并从中取出相关信息。这样不会造成服务器的堵塞现象,减轻了主服务器的压力,同时也提高用户体验;

本发明的配置模块可采用文本文件,xml,json等多种格式配置redis服务器ip地址和端口信息,配置简单易用,易于整合到现有系统中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1