一种会话实现的方法、设备及系统技术方案

技术编号:8611585 阅读:169 留言:0更新日期:2013-04-20 00:00
本申请公开了一种会话实现的方法、设备及系统。该方法包括:Web服务器接收用户终端发送的携带有账户信息的登录请求,当所述账户信息验证通过后,向Session服务器发送携带有所述账户信息的Session?ID获取请求,接收Session服务器发送的Session?ID并将所述Session?ID发送至浏览器,由Session服务器存储账户信息与Session?ID的对应关系;当接收到携带Session?ID的业务请求时,Web服务器向Session服务器发送账户信息确认请求,由Session服务器根据所述Session?ID查找对应的账户信息,根据查找结果判断是否允许所述业务请求。通过Session服务器存储Session状态,提高了Web服务器的工作效率。

【技术实现步骤摘要】

本申请涉及通信领域,尤其涉及一种会话实现的方法、设备及系统
技术介绍
Session(会话)表示Web (网页)服务器与用户终端之间的一次会话过程(用户终端通过浏览器与Web服务器进行交互),该过程是连续的,也可以是时断时续的。以用户登录邮箱查看邮件为例,Session指的是用户通过用户终端登录邮箱后到离开邮箱前的过程。如果Web服务器提供的服务是面向登录用户,用户在通过用户终端登录服务器时需要首先输入账户信息,Web服务器验证通过后允许用户登录。验证通过时,Web服务器产生一个Session ID,将该Session ID作为key (键)携带在cookie中写入该用户终端的浏览器。Web服务器存储用户的Session状态,包括Session ID与该用户的账户信息的对应关系。在一次Session中,Web服务器接收浏览器发送的业务请求报文,如果报文中携带cookie,且cookie中携带Session ID,服务器根据Session ID查找对应的账户信息,如果查找成功,则判定用户为登录用户,允许用户的操作。如果报文中没有携带cookie,或者cookie中没有携带Session ID,或者根据Session ID没有找到对应的用户信息,Web服务器判定用户尚未登录,拒绝相应操作,要求用户登录。当多台Web服务器共同提供一项服务时,例如,多台Web服务器共同提供邮箱服务,此时,浏览器的Session状态存储在其第一次访问的Web服务器内,为了使浏览器后续访问其他Web服务器时不需要重复输入账户信息,多台Web服务器之间需要相互复制传递Session状态。当访问量过大时 ,需要大量Web服务器共同提供服务,此时在大量Web服务器之间相互复制传递Session状态将会影响Web服务器的工作效率。
技术实现思路
本申请提供了一种会话实现的方法、设备及系统,以提高Web服务器的工作效率。一种会话实现的方法,包括所述Web服务器接收所述浏览器发送的登录请求,当所述登录请求中携带的账户信息正确时,将所述账户信息发送至所述Session服务器,接收所述Session服务器发送的Session ID并将所述Session ID发送至所述浏览器,由所述Session服务器存储账户信息与Session ID的对应关系;所述Web服务器接收所述浏览器发送的业务请求,当所述业务请求内携带Session ID时,所述Web服务器向所述Session服务器发送账户信息获取请求,使所述Session服务器根据所述账户信息获取请求内携带的所述Session ID查找对应的账户信息,如果查找到对应的账户信息,所述Web服务器允许所述业务请求,否则,所述Web服务器拒绝所述业务请求。一种网页Web服务器,包括第一收发单元,登录处理单元,第二收发单元,业务处理单元,其中所述第一收发单元,用于接收用户终端发送的携带账户信息的登录请求以及业务请求;以及,将Session服务器返回的Session ID发送给所述用户终端;所述登录处理单元,用于当所述第一收发单元接收到的登录请求中携带的账户信息验证通过时,指示所述第二收发单元向所述Session服务器发送携带有所述账户信息的Session ID获取请求;所述第二收发单元,用于根据所述登录处理单元的指示向所述Session服务器发送Session ID获取请求,并接收所述Session服务器返回的Session ID;以及,根据所述业务处理单元的指示向所述Session服务器发送账户信息确认请求,并接收所述Session服务器的响应;其中,所述Session服务器根据所述账户信息确认请求内携带的Session ID查找对应的账户信息,如果查找到对应的账户信息,则向所述Web服务器发送确认信息;所述业务处理单元,用于当判断所述第一收发单元接收到的业务请求内携带Session ID时,指示所述第二收发单元向所述Session服务器发送携带有所述Session ID的账户信息确认请求;以及,当判断所述第二收发单元接收到的所述Session服务器的响应为确认信息时,执行所述业务请求。一种Session服务器,包括收发单元,第一处理单元,存储单元,第二处理单元,其中所述收发单元,用于接收Web服务器根据用户终端的登录请求发送的携带有账户信息的Session ID获取请求,并向所述Web服务器返回Session ID ;以及,接收Web服务器在接收到已登录用户终端发送的业务请求后所发送的携带Session ID的账户信息确认请求,并对所述账户信息确认请求进行响应;所述第一处理单 元,用于根据所述收发单元接收到的Session ID获取请求,生成与所述账户信息对应的Session ID,指示所述收发单元向所述Web服务器发送所述Session ID,并将Session ID与账户信息的对应关系存储到所述存储单元;所述存储单元,用于存储Session ID与账户信息的对应关系;所述第二处理单元,用于根据所述账户信息确认请求内携带的Session ID查找对应的账户信息,并当查找到对应的账户信息时,指示所述收发单元向所述Web服务器发送确认信息进行响应。—种会话实现的系统,包括Web服务器和Session服务器;所述Web服务器,用于接收所述用户终端发送的携带账户信息的登录请求以及业务请求;当所述登录请求中携带的账户信息验证通过时,向所述Session服务器发送携带有所述账户信息的Session ID获取请求,接收所述Session服务器返回的Session ID并将所述Session ID发送至所述用户终端,由所述Session服务器存储账户信息与SessionID的对应关系;当所述业务请求内携带Session ID时,向所述Session服务器发送携带有所述的Session ID的账户信息确认请求,并在接收到确认信息后,执行所述业务请求;所述Session服务器,用于接收所述Web服务器发送的携带账户信息的SessionID获取请求,生成并向所述Web服务器发送Session ID,存储所述Session ID与账户信息的对应关系;接收所述Web服务器发送的携带SessionID的账户信息确认请求,根据所述账户信息确认请求内携带的Session ID查找对应的账户信息,并当查找到对应的账户信息时,向所述Web服务器发送确认信息。与现有技术相比,本申请实施例至少具有以下优点Web服务器不需要存储账户信息与Session ID的对应关系,而是由Session服务器存储该对应关系并处理Session ID的生成以及账户信息的查找,使得Web服务器之间不需要复制传递Session状态,提高了 Web服务器的工作效率。附图说明图1是本申请实施例提供的会话实现的方法应用于邮箱服务场景的流程示意图;图2是本申请实施例提供的会话实现的方法应用于在线购物场景的流程示意图;图3是本申请实施例提供的Web服务器的结构示意图;图4是本申请实施例提供的Session服务器的结构示意图。具体实施例方式下面将结合本专利技术的实施例中的附图,对本专利技术的实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一本文档来自技高网
...

【技术保护点】
一种会话实现的方法,其特征在于,包括:Web服务器接收用户终端发送的携带有账户信息的登录请求,并当所述账户信息验证通过后,向Session服务器发送携带有所述账户信息的Session?ID获取请求;所述Session服务器根据所述Session?ID获取请求,生成与所述账户信息对应的Session?ID,存储所述账户信息与所生成的Session?ID的对应关系,并将所述Session?ID发送给所述Web服务器;所述Web服务器将获取到的Session?ID发送至所述用户终端;当所述Web服务器接收到所述用户终端发送的携带有Session?ID的业务请求后,向所述Session服务器发送携带有所述Session?ID的账户信息确认请求,并在接收到确认信息后,执行所述业务请求;其中,所述Session服务器根据所述账户信息确认请求中携带的Session?ID查找对应的账户信息,如果查找到对应的账户信息,则向所述Web服务器发送确认信息。

【技术特征摘要】
1.一种会话实现的方法,其特征在于,包括 Web服务器接收用户终端发送的携帯有账户信息的登录请求,并当所述账户信息验证通过后,向Session服务器发送携带有所述账户信息的Session ID获取请求; 所述Session服务器根据所述Session ID获取请求,生成与所述账户信息对应的Session ID,存储所述账户信息与所生成的Session ID的对应关系,并将所述Session ID发送给所述Web服务器; 所述Web服务器将获取到的Session ID发送至所述用户終端; 当所述Web服务器接收到所述用户终端发送的携帯有Session ID的业务请求后,向所述Session服务器发送携带有所述Session ID的账户信息确认请求,并在接收到确认信息后,执行所述业务请求; 其中,所述Session服务器根据所述账户信息确认请求中携带的Session ID查找对应的账户信息,如果查找到对应的账户信息,则向所述Web服务器发送确认信息。2.如权利要求1所述的方法,其特征在于,所述Session服务器包括多个分布式缓存; 所述Session服务器存储账户信息与Session ID的对应关系包括所述Session服务器根据一致性哈希算法确定与Session ID对应的分布式缓存,在确定出的分布式缓存中存储所述账户信息与Session ID的对应关系; 所述Session服务器根据所述账户信息确认请求内携带的所述Session ID查找对应的账户信息包括所述Session服务器根据一致性哈希算法确定与所述Session ID对应的分布式缓存,在确定出的分布式缓存内查找对应的账户信息。3.如权利要求1或2所述的方法,其特征在于,所述Web服务器接收所述用户终端发送的业务请求之后,还包括 所述Web服务器查找所述业务请求内携带的cookie,在查找失败时拒绝所述业务请求,在查找成功时判断所述cookie内是否携带Session ID,如果所述cookie内没有携带Session ID,拒绝所述业务请求。4.ー种Web服务器,其特征在干,该Web服务器包括第一收发单元,登录处理単元,第二收发单元,业务处理单元,其中 所述第一收发单元,用于接收用户终端发送的携帯账户信息的登录请求以及业务请求;以及,将Session服务器返回的Session ID发送给所述用户終端; 所述登录处理单元,用于当所述第一收发单元接收到的登录请求中携帯的账户信息验证通过时,指示所述第二收发单元向所述Session服务器发送携帯有所述账户信息的Session ID获取请求; 所述第二收发单元,用于根据所述登录处理单元的指示向所述Session服务器发送Session ID获取请求,并接收所述Session服务器返回的Session ID;以及,根据所述业务处理单元的指示向所述Session服务器发送账户信息确认请求,并接收所述Session服务器的响应;其中,所述Session服务器根据所述账户信息确认请求内携带的Session ID查找对应的账户信息,如果查找到对应的账户信息,则向所述Web服务器发送确认信息; 所述业务处理单元,用于当判断所述第一收发单元接收到的业务请求内携带SessionID时,指示所述第二收发单元向所述Sess...

【专利技术属性】
技术研发人员:段晓辉
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1