CN111885148A - 会话同步方法及装置 - Google Patents
会话同步方法及装置 Download PDFInfo
- Publication number
- CN111885148A CN111885148A CN202010703941.7A CN202010703941A CN111885148A CN 111885148 A CN111885148 A CN 111885148A CN 202010703941 A CN202010703941 A CN 202010703941A CN 111885148 A CN111885148 A CN 111885148A
- Authority
- CN
- China
- Prior art keywords
- session information
- hbase
- login
- server
- session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种会话同步方法及装置,该方法包括:接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息;将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。本申请能够在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而能够提高登录认证的效率和准确性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种会话同步方法及装置。
背景技术
随着Web系统发展迅速,每天需要处理大量的用户登录过程。不论是网页登录或者是移动端的登录,都需要控制登录的安全,同时也需要保证用户迅速登录。
在现有技术中,可以在单应用服务器中同步session会话信息,但是如何在分布式系统中,实现不同应用服务器之间同步session会话信息,是当前的技术难题。目前常见的解决方案有两种:第一种是在应用服务器之间同步session会话信息(如tomcat session同步),第二种是使用cacheDB的缓存方式同步session会话信息。
第一种方法存在session会话信息不同步的问题,可能导致用户不断登入登出,影响用户的在线使用,降低登录过程的可靠性。第二种方法会加大数据库负担,受数据库性能瓶颈影响大。
发明内容
针对现有技术中的问题,本申请提出了一种会话同步方法及装置,能够在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性。
为了解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种会话同步方法,包括:
接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息;
将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。
进一步地,在所述判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息之后,还包括:若所述Hbase服务器中的预存储的历史登录会话信息集中存在与所述变更会话信息对应的历史登录会话信息,则判断所述历史登录会话信息与所述变更会话信息是否相同,若否,则应用zookeeper模块和所述变更会话信息,更新各个所述Hbase服务器中的所述预存储的历史登录会话信息集。
进一步地,所述Hbase服务器包括:唯一的Hbase主服务器和多个Hbase从服务器;相对应地,所述会话同步方法还包括:若所述Hbase主服务器存在故障,则基于所述zookeeper模块从各个所述Hbase从服务器中选举一个Hbase从服务器作为Hbase主服务器。
进一步地,所述的会话同步方法,还包括:接收第二目标用户的登录认证请求,并生成所述登录认证请求对应的登录会话信息;将所述登录会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述登录会话信息相同的历史登录会话信息,若是,则所述第二目标用户通过登录认证;其中,所述目标分布式系统中的每个Hbase服务器均设有所述预存储的历史登录会话信息集。
进一步地,在所述判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述登录会话信息相同的历史登录会话信息之前,还包括:判断所述登录会话信息是否通过对象属性检查和配置信息检查,若否,则所述第二目标用户的登录认证失败。
第二方面,本申请提供一种会话同步装置,包括:
接收模块,用于接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息;
存储模块,用于将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。
进一步地,所述的会话同步装置,还包括:更新模块,用于若所述Hbase服务器中的预存储的历史登录会话信息集中存在与所述变更会话信息对应的历史登录会话信息,则判断所述历史登录会话信息与所述变更会话信息是否相同,若否,则应用zookeeper模块和所述变更会话信息,更新各个所述Hbase服务器中的所述预存储的历史登录会话信息集。
进一步地,所述Hbase服务器包括:唯一的Hbase主服务器和多个Hbase从服务器;相对应地,所述会话同步装置还包括:选举模块,用于若所述Hbase主服务器存在故障,则基于所述zookeeper模块从各个所述Hbase从服务器中选举一个Hbase从服务器作为Hbase主服务器。
进一步地,所述的会话同步装置还包括:生成模块,用于接收第二目标用户的登录认证请求,并生成所述登录认证请求对应的登录会话信息;第一认证模块,用于将所述登录会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述登录会话信息相同的历史登录会话信息,若是,则所述第二目标用户通过登录认证;其中,所述目标分布式系统中的每个Hbase服务器均设有所述预存储的历史登录会话信息集。
进一步地,所述的会话同步装置,还包括:第二认证模块,用于判断所述登录会话信息是否通过对象属性检查和配置信息检查,若否,则所述第二目标用户的登录认证失败。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的会话同步方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的会话同步方法。
由上述技术方案可知,本申请提供一种会话同步方法及装置。其中,该方法包括:接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息;将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中,在降低数据库性能瓶颈影响的基础上,能够实现分布式系统的会话同步,高效且可靠,进而提高系统登录的效率和可靠性,能够降低数据量,保证会话信息的高可用;具体地,能够提高分布式系统中各个Hbase服务器中存储的会话信息的一致性,避免因为Hbase主服务器宕机导致的历史登录会话信息丢失的问题,提高会话同步的安全性,实现高并发情况下高效登录认证。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中会话同步方法的流程示意图;
图2是本申请另一实施例中会话同步方法的流程示意图;
图3是本申请又一实施例中会话同步方法的流程示意图;
图4是本申请实施例中会话同步方法的步骤401和步骤402的流程示意图;
图5是本申请实施例中会话同步装置的第一结构示意图;
图6是本申请实施例中会话同步装置的第二结构示意图;
图7是本申请具体应用实例中会话同步装置的结构示意图;
图8为本申请实施例的电子设备9600的系统构成示意框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供一种会话同步方法及装置,能够把session会话信息存放在分布式系统的服务器中,实现快速认证,在session会话信息更新的同时复制到从机,达到备份的目的,能够克服多个服务器之间session会话信息不一致的问题,采用Hbase+zookeeper的方式存取session会话信息,在Hbase服务器之间通过主从服务器可以共享session会话信息,从而避免服务器宕机带来的严重后果,能够实现快速存取session会话信息,进而能够提高web系统的安全性。
基于此,为了在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性,本申请实施例提供一种会话同步装置,该装置可以是一服务器或客户端设备,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备和智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表和智能手环等。
在实际应用中,进行会话同步的部分可以在如上述内容所述的服务器侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
所述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
具体通过下述各个实施例进行说明。
为了在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性,本实施例提供一种执行主体是会话同步装置的会话同步方法,该会话同步装置包括但不限于Hbase主服务器,如图1所示,该方法具体包含有如下内容:
步骤101:接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息。
具体地,所述登录信息变更请求可以是用户注册请求;也可以是变更登录信息请求,如变更密码信息;可以包含有将账号、密码信息、人机验证码信息和用户注册协议等信息进行包装后生成的加密且安全的登录信息。
步骤102:将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。
其中,步骤102可以分为:S1021:将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器;S1022:判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息;S1023:若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。
具体地,可以获取所述Hbase服务器中空闲资源数量最多的Hbase服务器,并将所述变更会话信息发送至该空闲资源数量最多的Hbase服务器,该空闲资源数量最多的Hbase服务器即所述变更会话信息唯一对应的Hbase服务器。
所述变更会话信息包含有唯一的用于区分不同登录会话信息的sessionId;可以应用Nginx负载均衡服务对sessionId进行哈希计算,得到一个固定的值,判断所述预存储的历史登录会话信息集中是否存在所述固定的值,若是,则所述预存储的历史登录会话信息集中存在与所述变更会话信息对应的历史登录会话信息,即所述登录信息变更请求为变更登录信息请求,若否,则所述预存储的历史登录会话信息集中不存在与所述变更会话信息对应的历史登录会话信息,即所述登录信息变更请求是用户注册请求。
可以理解的是,所述zookeeper模块可以是一个分布式的,开放源码的分布式应用程序协调服务。应用zookeeper模块将该变更会话信息存储至各个Hbase服务器中的预存储的历史登录会话信息集中。所述历史登录会话信息集可以是根据多个历史用户的历史登录会话信息生成的。
由上述描述可知,本实施例提供的会话同步方法,通过应用Hbase服务器能够避免会话同步过程中受到数据库瓶颈的影响,应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中,能够实现分布式系统中的会话同步,高效且可靠,进而提高登录认证的效率和准确性,提高各个Hbase服务器中的会话信息的一致性。
为了在登录信息发生变更时,在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性,在本申请一个实施例中,参见图2,在步骤1022之后,还包含有:
步骤201:若所述Hbase服务器中的预存储的历史登录会话信息集中存在与所述变更会话信息对应的历史登录会话信息,则判断所述历史登录会话信息与所述变更会话信息是否相同,若否,则应用zookeeper模块和所述变更会话信息,更新各个所述Hbase服务器中的所述预存储的历史登录会话信息集。
由上述描述可知,在本实施例中,当所述登录信息变更请求为变更登录信息请求时,将更新后的登录信息存储至各个所述Hbase服务器,能够实现在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性。
为了避免Hbase服务器故障对会话同步的影响,进而提高会话同步过程的可靠性,在本申请一个实施例中,所述Hbase服务器包括:唯一的Hbase主服务器和多个Hbase从服务器;相对应地,参见图3,所述会话同步方法还包括:
步骤301:若所述Hbase主服务器存在故障,则基于所述zookeeper模块从各个所述Hbase从服务器中选举一个Hbase从服务器作为Hbase主服务器。
具体地,可以实时或定时监控所述Hbase主服务器是否存在故障,可以通过监控Hbase主服务器的运行日志判断Hbase主服务器是否存在故障,也可以通过注册在所述Hbase主服务器中的监控器判断Hbase主服务器是否宕机,若是,则向各个所述Hbase从服务器发送选举新主服务器信息。可以理解的是,图3中步骤301的执行顺序仅为一种举例,本实施例对步骤301的执行顺序不作限制。
由上述描述可知,本实施例提供的会话同步方法,能够避免因为Hbase主服务器宕机导致的历史登录会话信息丢失的问题,进而能够保证分布式系统中会话同步过程的可靠性,提高会话同步的安全性。
为了在实现分布式系统的会话同步的基础上,提高登录认证的效率和准确性,在本申请一个实施例中,参见图4,所述的会话同步方法,还包括:
步骤401:接收第二目标用户的登录认证请求,并生成所述登录认证请求对应的登录会话信息。
步骤402:将所述登录会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述登录会话信息相同的历史登录会话信息,若是,则所述第二目标用户通过登录认证;其中,所述目标分布式系统中的每个Hbase服务器均设有所述预存储的历史登录会话信息集。
其中,所述登录会话信息唯一对应的Hbase服务器可以是当前目标分布式系统中空闲资源数量最多的Hbase服务器。所述登录认证请求可以包含有第二目标用户输入的账号、密码信息、人机验证码信息和用户注册协议等信息。所述第一目标用户和所述第二目标用户可以是同一用户也可以是不同的用户。可以理解的是,每个Hbase服务器中的历史登录会话信息集相同。
由上述描述可知,本实施例提供的会话同步方法,通过在各个Hbase服务器均设有所述预存储的历史登录会话信息集,能够避免第二目标用户无法获取最新的历史登录会话信息,造成信息不同步的问题,进而能够在实现分布式系统的会话同步的基础上,提高登录认证的效率和准确性。
为了在实现分布式系统的会话同步的基础上,提高登录认证的效率,在本申请一个实施例中,在步骤402中所述的判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述登录会话信息相同的历史登录会话信息之前,还包含有:
步骤501:判断所述登录会话信息是否通过对象属性检查和配置信息检查,若否,则所述第二目标用户的登录认证失败。
具体地,对象属性检查(包括账户、密码和协议等信息)、配置信息检查(包括登录会话的安全信息),如果登录会话信息丢失导致信息不完整,则需要重新认证,此次登录认证失败。
从软件层面来说,为了在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性,本申请提供一种用于实现所述会话同步方法中全部或部分内容的会话同步装置的实施例,参见图5,所述会话同步装置具体包含有如下内容:
接收模块51,用于接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息。
存储模块52,用于将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。
在本申请一个实施例中,参见图6,所述的会话同步装置,还包括:
更新模块61,用于若所述Hbase服务器中的预存储的历史登录会话信息集中存在与所述变更会话信息对应的历史登录会话信息,则判断所述历史登录会话信息与所述变更会话信息是否相同,若否,则应用zookeeper模块和所述变更会话信息,更新各个所述Hbase服务器中的所述预存储的历史登录会话信息集。
在本申请一个实施例中,所述的会话同步装置,所述Hbase服务器包括:唯一的Hbase主服务器和多个Hbase从服务器;相对应地,所述会话同步装置还包括:
选举模块,用于若所述Hbase主服务器存在故障,则基于所述zookeeper模块从各个所述Hbase从服务器中选举一个Hbase从服务器作为Hbase主服务器。
在本申请一个实施例中,所述的会话同步装置,还包括:
生成模块,用于接收第二目标用户的登录认证请求,并生成所述登录认证请求对应的登录会话信息。
第一认证模块,用于将所述登录会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述登录会话信息相同的历史登录会话信息,若是,则所述第二目标用户通过登录认证;其中,所述目标分布式系统中的每个Hbase服务器均设有所述预存储的历史登录会话信息集。
在本申请一个实施例中,所述的会话同步装置,还包括:
第二认证模块,用于判断所述登录会话信息是否通过对象属性检查和配置信息检查,若否,则所述第二目标用户的登录认证失败。
本说明书提供的会话同步装置的实施例具体可以用于执行上述会话同步方法的实施例的处理流程,其功能在此不再赘述,可以参照上述会话同步方法实施例的详细描述。
为了进一步说明本方案,本申请还提供一种会话同步装置的应用实例,如图7所示,本应用实例提供的会话同步装置包括:用户登录信息模块1、负载均衡模块2、多web容器模块3、session管理模块4、zookeeper调度模块5、Hbase主机模块6、Hbase从机模块7以及查找Hbase的结果模块8。其中用户登录信息模块1与负载均衡模块2相连,负载均衡模块2与多web容器模块3相连,多web容器模块3与session管理模块4相连,session管理模块4与zookeeper调度模块5相连,zookeeper调度模块5和Hbase主机模块6、Hbase从机模块7相连,Hbase主机模块6与Hbase从机模块7、查找Hbase的结果模块8相连,Hbase从机模块7与Hbase主机模块6、查找Hbase的结果模块8相连,查找Hbase的结果模块8对结果对比做出判断。具体描述如下:
用户登录信息模块1,负责读取用户登录的具体信息。以一次登录网页为例,登录用户会有账号、密码信息、人机验证码信息和协议等相关信息,包装生成加密安全的登录信息。
负载均衡模块2,负责对用户的多个请求session分配到web容器中,可以采用Nginx对sessionId进行哈希计算,得到一个固定的值,把每一个session请求分配到唯一的一个固定ip的服务器上面,做到负载平衡,充分利用web容器资源。
多web容器模块3,定位到ip服务器并且负责启用调用固定ip服务器的系统的资源,直接和环境变量交互,服务器之间的硬件区别隐藏,隔离不同系统的差异问题。
session管理模块4,负责对session信息进行分发管理,把web页面传过来的session信息进行对象属性检查(包括用户名密码和协议等信息)、配置信息检查(包括session的安全信息),如果session信息丢失导致信息的不完整,则需要重新认证,本次登录认证失败。
zookeeper调度模块5,负责调度分布式系统中的session信息存储和查询,调度存储主机和从机模块,调度查询存储主机和从机模块,其他从机则会在主机上注册一个监控器,一旦主机宕机即可监控到并通知选举新主机,选出Hbase主机直到宕机情况恢复。
具体地,本应用实例提供的Hbase服务器存取session.Hbase master主机会话信息出现故障时,通过zookeeper模块设置Hbase-slave从机为临时master主机,Hbase-master主机重新恢复后,再切换回去。其中,Hbase-master主机与Hbase-slave从机是双向同步的,能够解决Hbase单点问题,能够保证session信息在Hbase服务器中的高可用性。
Hbase主机模块6,存储session信息,对比更新后的session信息,如果两次session信息有变化,则在主机session更新的同时把信息同步到所有的Hbase从机模块7,保证全局信息的同步和唯一性。
Hbase从机模块7,作为主机session信息存储和查询的一种备份机制,查询session信息时做到信息的快速查询,不必将全部查询任务分配给主机,主机接收到任务可以把任务分发给从机查询,以使Hbase主机减少负荷,保证高并发情况下session信息的同步和快速查询。
查找Hbase的结果模块8,负责根据Hbase主机模块6和Hbase从机模块7的查询结果,判断用户的session信息是否合法,返回给用户session认证成功与否的信息;也就是说,判断是否存在session信息,若是,则认证成功,若否,则认证失败。
由上述描述可知,本申请提供的会话同步方法及装置,能够在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而能够提高登录认证的效率和准确性;具体地,可以实现会话的分布式安全共享,进而可以更快更安全地进行登录认证。解决分布式系统中会话同步的问题,解决分布式系统中缓存应用的问题,实现多个不同子域名的统一登陆以及高并发的情况下用户快速登录。
从硬件层面来说,为了在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性,本申请提供一种用于实现所述会话同步方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现所述会话同步装置以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述会话同步方法的实施例及用于实现所述会话同步装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图8为本申请实施例的电子设备9600的系统构成的示意框图。如图8所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图8是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在本申请一个或多个实施例中,会话同步功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤101:接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息。
步骤102:将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。
从上述描述可知,本申请的实施例提供的电子设备,能够在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性。
在另一个实施方式中,会话同步装置可以与中央处理器9100分开配置,例如可以将会话同步装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现会话同步功能。
如图8所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图8中所示的所有部件;此外,电子设备9600还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
上述描述可知,本申请的实施例提供的电子设备,能够在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性。
本申请的实施例还提供能够实现上述实施例中的会话同步方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的会话同步方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤101:接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息。
步骤102:将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够在降低数据库性能瓶颈影响的基础上,实现分布式系统的会话同步,高效且可靠,进而提高登录认证的效率和准确性。
本申请中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种会话同步方法,其特征在于,包括:
接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息;
将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。
2.根据权利要求1所述的会话同步方法,其特征在于,在所述判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息之后,还包括:
若所述Hbase服务器中的预存储的历史登录会话信息集中存在与所述变更会话信息对应的历史登录会话信息,则判断所述历史登录会话信息与所述变更会话信息是否相同,若否,则应用zookeeper模块和所述变更会话信息,更新各个所述Hbase服务器中的所述预存储的历史登录会话信息集。
3.根据权利要求1所述的会话同步方法,其特征在于,所述Hbase服务器包括:唯一的Hbase主服务器和多个Hbase从服务器;
相对应地,所述会话同步方法还包括:
若所述Hbase主服务器存在故障,则基于所述zookeeper模块从各个所述Hbase从服务器中选举一个Hbase从服务器作为Hbase主服务器。
4.根据权利要求1所述的会话同步方法,其特征在于,还包括:
接收第二目标用户的登录认证请求,并生成所述登录认证请求对应的登录会话信息;
将所述登录会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述登录会话信息相同的历史登录会话信息,若是,则所述第二目标用户通过登录认证;其中,所述目标分布式系统中的每个Hbase服务器均设有所述预存储的历史登录会话信息集。
5.根据权利要求4所述的会话同步方法,其特征在于,在所述判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述登录会话信息相同的历史登录会话信息之前,还包括:
判断所述登录会话信息是否通过对象属性检查和配置信息检查,若否,则所述第二目标用户的登录认证失败。
6.一种会话同步装置,其特征在于,包括:
接收模块,用于接收第一目标用户的登录信息变更请求,并生成所述登录信息变更请求对应的变更会话信息;
存储模块,用于将所述变更会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述变更会话信息对应的历史登录会话信息,若否,则应用zookeeper模块将该变更会话信息存储至所述目标分布式系统的各个Hbase服务器中。
7.根据权利要求6所述的会话同步装置,其特征在于,还包括:
更新模块,用于若所述Hbase服务器中的预存储的历史登录会话信息集中存在与所述变更会话信息对应的历史登录会话信息,则判断所述历史登录会话信息与所述变更会话信息是否相同,若否,则应用zookeeper模块和所述变更会话信息,更新各个所述Hbase服务器中的所述预存储的历史登录会话信息集。
8.根据权利要求6所述的会话同步装置,其特征在于,所述Hbase服务器包括:唯一的Hbase主服务器和多个Hbase从服务器;
相对应地,所述会话同步装置还包括:
选举模块,用于若所述Hbase主服务器存在故障,则基于所述zookeeper模块从各个所述Hbase从服务器中选举一个Hbase从服务器作为Hbase主服务器。
9.根据权利要求6所述的会话同步装置,其特征在于,还包括:
生成模块,用于接收第二目标用户的登录认证请求,并生成所述登录认证请求对应的登录会话信息;
第一认证模块,用于将所述登录会话信息发送至目标分布式系统中唯一对应的Hbase服务器,并判断该Hbase服务器中的预存储的历史登录会话信息集中是否存在与所述登录会话信息相同的历史登录会话信息,若是,则所述第二目标用户通过登录认证;其中,所述目标分布式系统中的每个Hbase服务器均设有所述预存储的历史登录会话信息集。
10.根据权利要求9所述的会话同步装置,其特征在于,还包括:
第二认证模块,用于判断所述登录会话信息是否通过对象属性检查和配置信息检查,若否,则所述第二目标用户的登录认证失败。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述的会话同步方法。
12.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至5任一项所述的会话同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010703941.7A CN111885148B (zh) | 2020-07-21 | 2020-07-21 | 会话同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010703941.7A CN111885148B (zh) | 2020-07-21 | 2020-07-21 | 会话同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111885148A true CN111885148A (zh) | 2020-11-03 |
CN111885148B CN111885148B (zh) | 2023-04-25 |
Family
ID=73154553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010703941.7A Active CN111885148B (zh) | 2020-07-21 | 2020-07-21 | 会话同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111885148B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150180859A1 (en) * | 2013-12-20 | 2015-06-25 | DeNA Co., Ltd. | Login requesting device and method for requesting login to server and storage medium storing a program used therefor |
US20170111341A1 (en) * | 2015-10-15 | 2017-04-20 | Line Corporation | Systems, apparatuses, methods, and non-transitory computer readable media for authenticating user using history of user |
CN107483418A (zh) * | 2017-07-27 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 登录处理方法、业务处理方法、装置及服务器 |
CN109450976A (zh) * | 2018-10-09 | 2019-03-08 | 网宿科技股份有限公司 | 一种业务系统的访问的方法及装置 |
CN109547512A (zh) * | 2017-09-22 | 2019-03-29 | 中国移动通信集团浙江有限公司 | 一种基于NoSQL的分布式Session管理的方法及装置 |
-
2020
- 2020-07-21 CN CN202010703941.7A patent/CN111885148B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150180859A1 (en) * | 2013-12-20 | 2015-06-25 | DeNA Co., Ltd. | Login requesting device and method for requesting login to server and storage medium storing a program used therefor |
US20170111341A1 (en) * | 2015-10-15 | 2017-04-20 | Line Corporation | Systems, apparatuses, methods, and non-transitory computer readable media for authenticating user using history of user |
CN107483418A (zh) * | 2017-07-27 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 登录处理方法、业务处理方法、装置及服务器 |
CN109547512A (zh) * | 2017-09-22 | 2019-03-29 | 中国移动通信集团浙江有限公司 | 一种基于NoSQL的分布式Session管理的方法及装置 |
CN109450976A (zh) * | 2018-10-09 | 2019-03-08 | 网宿科技股份有限公司 | 一种业务系统的访问的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111885148B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111031058A (zh) | 基于WebSocket的分布式服务器集群交互方法及装置 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN112615753B (zh) | 一种链路异常追踪方法、第一节点、第二节点以及链路 | |
CN111522809B (zh) | 数据处理方法、系统及设备 | |
CN114172662A (zh) | 区块链外部数据获取方法及装置 | |
CN111510493B (zh) | 分布式数据传输方法及装置 | |
CN111275555A (zh) | 区块链交易处理方法、交易节点以及区块链系统 | |
US10791119B1 (en) | Methods for temporal password injection and devices thereof | |
CN114726872A (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN111695098B (zh) | 多分布式集群访问方法及装置 | |
CN111666590A (zh) | 分布式文件安全传输方法、装置及系统 | |
CN111885148B (zh) | 会话同步方法及装置 | |
CN116248746A (zh) | 基于mqtt的数据处理方法、装置和计算机可读的存储介质 | |
EP3547231A1 (en) | Electronic device management | |
CN114979234A (zh) | 分布式集群系统中会话控制共享方法及系统 | |
CN109302446B (zh) | 跨平台访问方法、装置、电子设备及存储介质 | |
CN113987062A (zh) | 一种数据上链存储方法、系统、装置以及存储介质 | |
CN114697339A (zh) | 集中式架构下的负载均衡方法及装置 | |
CN113158259A (zh) | 区块链完整性验证方法及装置 | |
CN111490997B (zh) | 任务处理方法、代理系统、服务系统和电子设备 | |
CN114979097A (zh) | 基于mqtt的消息推送方法、装置及电子设备 | |
CN113050974B (zh) | 云计算基础设施在线升级方法及装置 | |
CN107004232B (zh) | 服务管理方法 | |
CN111937013B (zh) | 电子设备管理 | |
KR102235894B1 (ko) | 메시지 동기화 방법 및 이를 수행하는 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |