实现Session共享的系统、方法、服务器和集群设备技术方案

技术编号:15519813 阅读:164 留言:0更新日期:2017-06-04 09:33
本文公布一种实现Session共享的系统、方法、服务器和集群设备,该方法包括:主用处理器接收到服务器发送的第一通知,根据所述第一通知删除自身、本地内存区域以及每个辅助处理器中预先对应存储的第一会话标识SessionID和与该第一SessionID对应的第一Session数据,并通知服务器创建与用户请求对应的第二SessionID;主用处理器接收到所述服务器发送的第二通知,根据所述第二通知在本地第一存储单元中对应存储与用户请求对应的第二Session数据和第二SessionID,并且将对应存储的第二Session数据和第二SessionID同步至多个辅助处理器中。本发明专利技术实施例提升了Session数据的安全性。

System, method, server and cluster device for implementing Session sharing

This paper reported an implementation of Session sharing system, method, server and cluster device, the method includes: the main processor receives the first notification sent by the server, according to the first notice, delete their own local memory area and each auxiliary processor first session identifier SessionID corresponding pre storage and the corresponding first and the first SessionID the Session data, and notifies the server and create user request corresponding to the second SessionID; the main processor receives second notifications sent by the server, according to the second notice of corresponding storage and user request in the first local storage unit corresponding to the second Session and second SessionID data, and the corresponding stored data second Session and second SessionID a plurality of auxiliary processor synchronization. The embodiment of the invention improves the security of the Session data.

【技术实现步骤摘要】
实现Session共享的系统、方法、服务器和集群设备
本专利技术实施例涉及但不限于智能终端技术,尤指一种实现会话(Session)共享的系统、方法、服务器和集群设备。
技术介绍
随着互联网的日益壮大,网站的页面浏览量(PV,PageView)和独立访客(UV,UniqueVisitor)成线性或者指数倍的增加,因此,单服务器单数据库早已经不能满足实际需求。目前,大多数大型网站的服务器都采用了分布式服务的部署方式,解决大并发、大数据量造成的瓶颈问题。目前,有关于分布式Session数据的共享基本上都是基于Memcached服务器的,其中,Memcached本质上是一个内存缓存系统。因此,如果发生网络故障或是Memcached服务器宕机,则存储在这台Memcached服务器上的所有Session数据都将不可访问,并且由于Session数据是存储在内存中的,一旦重启Memcached服务器,就会导致Session数据全部丢失。
技术实现思路
本申请提供了一种实现会话(Session)共享的系统、方法、服务器和集群设备,能够提升Session数据的安全性。为了达到本申请目的,本专利技术实施例提供了一种实现会话Session共享的系统,包括:一个或多个服务器和集群设备;集群设备包括一个主用处理器和多个辅助处理器;其中,服务器,用于接收到客户端发送的用户请求,判断该用户请求携带的cookie中是否存在第一会话标识SessionID;当判断出用户请求携带的cookie中存在第一SessionID时,在本地内存区域中查找与该第一SessionID对应的第一Session数据;判断查找到的第一Session数据是否是有效数据;当判断出查找到的第一Session数据是无效数据时,则向主用处理器发送第一通知;接收到主用处理器发送的通知,为与所述用户请求对应的Session创建第二SessionID,并向主用处理器发送第二通知;主用处理器,用于接收到服务器发送的第一通知,根据第一通知删除自身、本地内存区域以及每个辅助处理器中预先对应存储的该第一SessionID和与该第一SessionID对应的第一Session数据;通知服务器创建与用户请求对应的第二SessionID;接收到服务器发送的第二通知,根据第二通知在本地第一存储单元中对应存储与用户请求对应的第二Session数据和第二SessionID,并且将对应存储的第二Session数据和第二SessionID同步至多个辅助处理器中;辅助处理器,用于预先对应存储第一SessionID和与第一SessionID对应的第一Session数据;对应存储主用处理器同步过来的第二Session数据和第二SessionID。可选地,所述服务器,还用于当判断出所述用户请求携带的cookie中不存在所述第一SessionID时,为与所述用户请求对应的Session创建第三SessionID作为所述第一SessionID;向所述主用处理器发送第三通知;相应地,所述主用处理器,还用于接收到服务器发送的所述第三通知,在所述本地第一存储单元中对应存储与所述用户请求对应的第三Session数据和所述第一SessionID,并且将对应存储的所述第三Session数据和所述第一SessionID同步至多个辅助处理器中;相应地,所述辅助处理器,还用于对应存储所述主用处理器同步过来的所述第三Session数据和所述第一SessionID。可选地,所述服务器中用于在本地内存区域中查找与该第一SessionID对应的第一Session数据包括:根据所述第一SessionID判断本地内存区域中是否有所述第一Session数据;当判断出所述本地内存区域中有所述第一Session数据,从所述本地内存区域中读取所述第一Session数据;当判断出所述本地内存区域中没有所述第一Session数据,向所述主用处理器发送第四通知;从所述本地内存区域中读取所述第一Session数据;相应地,所述主用处理器,还用于接收到所述服务器发送的所述第四通知,查找与所述第一SessionID对应的Session数据;将查找到的Session数据同步至所述本地内存区域中。可选地,所述主用处理器中用于查找与所述第一SessionID对应存储的Session数据包括:在所述多个辅助处理器中确定满足预设条件的一个辅助处理器并通知满足所述预设条件的一个辅助处理器;接收来自所述满足所述预设条件的一个辅助处理器发送的查找到的与所述第一SessionID对应存储的Session数据并将接收到的所述Session数据作为与所述第一SessionID对应的Session数据;相应地,所述满足所述预设条件的一个辅助处理器,用于在本地第二存储单元中查找与所述第一SessionID对应存储的Session数据;将查找到的与所述第一SessionID对应存储的Session数据发送给所述主用处理器。可选地,所述服务器,还用于当判断出查找到的所述第一Session数据是有效数据时,向所述主用处理器发送第五通知;相应地,所述主用处理器,还用于接收到所述服务器发送的所述第五通知,更新自身、所述本地内存区域以及每个辅助处理器中存储的所述第一Session数据中的最后访问时间。可选地,所述服务器中用于判断查找到的第一Session数据是否是有效数据包括:获取当前时间;计算获得的当前时间和所述第一Session数据中的最后访问时间之间的差值;判断所述差值是否大于预设时长阈值;当判断出所述差值大于预设时长阈值,判断出所述第一Session数据是无效数据;当判断出所述差值小于或等于预设时长阈值,判断出所述第一Session数据是有效数据。可选地,所述服务器,还用于在所述为与所述用户请求对应的Session创建第二SessionID之后,将创建的所述第二SessionID作为所述第一SessionID存储至所述cookie中并将存储了所述第一SessionID的cookie返回给用户。本专利技术实施例还提供了一种实现会话Session共享的方法,包括:主用处理器接收到服务器发送的第一通知,根据所述第一通知删除自身、本地内存区域以及每个辅助处理器中预先对应存储的该第一会话标识SessionID和与该第一SessionID对应的第一Session数据,并通知服务器创建与用户请求对应的第二SessionID;主用处理器接收到服务器发送的第二通知,根据所述第二通知在本地第一存储单元中对应存储与用户请求对应的第二Session数据和第二SessionID,并且将对应存储的第二Session数据和第二SessionID同步至多个辅助处理器中。可选地,在所述主用处理器接收到服务器发送的第一通知之前,该方法还包括:所述服务器接收到客户端发送的用户请求,判断该用户请求携带的cookie中是存在所述第一SessionID;当判断出用户请求携带的cookie中存在第一SessionID时,所述服务器在本地内存区域中查找与该第一SessionID对应的第一Session数据;所述服务器判断查找到的第一Session数据是否是有效数据;当判断出查找到的第一Session数据是无效数据时,则向主用处理器发送所述第本文档来自技高网...
实现Session共享的系统、方法、服务器和集群设备

【技术保护点】
一种实现会话Session共享的系统,其特征在于,包括:一个或多个服务器和集群设备;集群设备包括一个主用处理器和多个辅助处理器;其中,服务器,用于接收到客户端发送的用户请求,判断该用户请求携带的cookie中是否存在第一会话标识SessionID;当判断出用户请求携带的cookie中存在第一SessionID时,在本地内存区域中查找与该第一SessionID对应的第一Session数据;判断查找到的第一Session数据是否是有效数据;当判断出查找到的第一Session数据是无效数据时,则向主用处理器发送第一通知;接收到主用处理器发送的通知,为与所述用户请求对应的Session创建第二SessionID,并向主用处理器发送第二通知;主用处理器,用于接收到服务器发送的第一通知,根据第一通知删除自身、本地内存区域以及每个辅助处理器中预先对应存储的该第一SessionID和与该第一SessionID对应的第一Session数据;通知服务器创建与用户请求对应的第二SessionID;接收到服务器发送的第二通知,根据第二通知在本地第一存储单元中对应存储与用户请求对应的第二Session数据和第二SessionID,并且将对应存储的第二Session数据和第二SessionID同步至多个辅助处理器中;辅助处理器,用于预先对应存储第一SessionID和与第一SessionID对应的第一Session数据;对应存储主用处理器同步过来的第二Session数据和第二SessionID。...

【技术特征摘要】
1.一种实现会话Session共享的系统,其特征在于,包括:一个或多个服务器和集群设备;集群设备包括一个主用处理器和多个辅助处理器;其中,服务器,用于接收到客户端发送的用户请求,判断该用户请求携带的cookie中是否存在第一会话标识SessionID;当判断出用户请求携带的cookie中存在第一SessionID时,在本地内存区域中查找与该第一SessionID对应的第一Session数据;判断查找到的第一Session数据是否是有效数据;当判断出查找到的第一Session数据是无效数据时,则向主用处理器发送第一通知;接收到主用处理器发送的通知,为与所述用户请求对应的Session创建第二SessionID,并向主用处理器发送第二通知;主用处理器,用于接收到服务器发送的第一通知,根据第一通知删除自身、本地内存区域以及每个辅助处理器中预先对应存储的该第一SessionID和与该第一SessionID对应的第一Session数据;通知服务器创建与用户请求对应的第二SessionID;接收到服务器发送的第二通知,根据第二通知在本地第一存储单元中对应存储与用户请求对应的第二Session数据和第二SessionID,并且将对应存储的第二Session数据和第二SessionID同步至多个辅助处理器中;辅助处理器,用于预先对应存储第一SessionID和与第一SessionID对应的第一Session数据;对应存储主用处理器同步过来的第二Session数据和第二SessionID。2.根据权利要求1所述的系统,其特征在于,所述服务器,还用于当判断出所述用户请求携带的cookie中不存在所述第一SessionID时,为与所述用户请求对应的Session创建第三SessionID作为所述第一SessionID;向所述主用处理器发送第三通知;相应地,所述主用处理器,还用于接收到服务器发送的所述第三通知,在所述本地第一存储单元中对应存储与所述用户请求对应的第三Session数据和所述第一SessionID,并且将对应存储的所述第三Session数据和所述第一SessionID同步至多个辅助处理器中;相应地,所述辅助处理器,还用于对应存储所述主用处理器同步过来的所述第三Session数据和所述第一SessionID。3.根据权利要求1或2所述的系统,其特征在于,所述服务器中用于在本地内存区域中查找与该第一SessionID对应的第一Session数据包括:根据所述第一SessionID判断本地内存区域中是否有所述第一Session数据;当判断出所述本地内存区域中有所述第一Session数据,从所述本地内存区域中读取所述第一Session数据;当判断出所述本地内存区域中没有所述第一Session数据,向所述主用处理器发送第四通知;从所述本地内存区域中读取所述第一Session数据;相应地,所述主用处理器,还用于接收到所述服务器发送的所述第四通知,查找与所述第一SessionID对应的Session数据;将查找到的Session数据同步至所述本地内存区域中。4.根据权利要求3所述的系统,其特征在于,所述主用处理器中用于查找与所述第一SessionID对应存储的Session数据包括:在所述多个辅助处理器中确定满足预设条件的一个辅助处理器并通知满足所述预设条件的一个辅助处理器;接收来自所述满足所述预设条件的一个辅助处理器发送的查找到的与所述第一SessionID对应存储的Session数据并将接收到的所述Session数据作为与所述第一SessionID对应的Session数据;相应地,所述满足所述预设条件的一个辅助处理器,用于在本地第二存储单元中查找与所述第一SessionID...

【专利技术属性】
技术研发人员:朱文进
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

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

1