CN111698299A - Session对象复制方法、装置、分布式微服务架构及介质 - Google Patents
Session对象复制方法、装置、分布式微服务架构及介质 Download PDFInfo
- Publication number
- CN111698299A CN111698299A CN202010469580.4A CN202010469580A CN111698299A CN 111698299 A CN111698299 A CN 111698299A CN 202010469580 A CN202010469580 A CN 202010469580A CN 111698299 A CN111698299 A CN 111698299A
- Authority
- CN
- China
- Prior art keywords
- session object
- target
- request
- authentication
- authentication node
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及云部署技术,提供一种Session对象复制方法。该方法能够确定用户请求的类型,当类型为数据请求类型时,提取第一Session对象,并将第一Session对象发送至与自身相通信的目标鉴权节点,当目标鉴权节点接收到第一Session对象时,提取身份识别码,并检测身份识别码是否存在于对象列表中,当身份识别码存在于对象列表中时,将对象列表中与身份识别码对应的Session对象确定为第二Session对象,当所述第二Session对象未过期时,提取目标有效期,根据目标有效期生成更新请求,获取与自身连接的其他鉴权节点,并根据更新请求执行对其他鉴权节点及自身中的第二Session对象的更新。此外,本发明还涉及区块链技术,所述身份识别码存储于区块链中。
Description
技术领域
本发明涉及云部署技术领域,尤其涉及一种Session对象复制方法、装置、分布式微服务架构及介质。
背景技术
在分布式网络应用中,Session被称之为会话控制,为了对用户的登录信息进行鉴权,Session对象共享的方案应运而生。在现有的Session对象共享方案中,基于存储设备保存Session对象的方式是将在分布式系统中生成的所有Session对象存储于存储设备中,当分布式系统中的节点需要对用户的登录信息进行鉴权时,该节点将从存储设备中获取Session对象,然而,这种方式不仅受制于存储设备,在对Session对象进行增删查等操作时,还加大了节点与存储设备之间通信的繁杂性。基于cookie保存Session对象的方式是将生成的Session对象存储于客户端的cookie中,在对用户的登录信息进行鉴权时,将Session对象发送至鉴权节点进行鉴权,然而,由于客户端的存储容量较小,这种方式不适用于存储大量的Session对象,另外,由于将Session对象存储在客户端中,Session对象被泄露的可能性提高,此外,这种方式加大了客户端与节点之间的传输带宽。
由此,目前的Session对象共享方案是将Session对象存储于单个节点中,然而,这种方式在需要鉴权时从该节点中获取Session对象,增加了该节点与分布式系统中的节点之间通信的繁杂性,另外,这种方式受制于该节点的工作时限。
因此,有必要提供一种Session对象复制方法,以克服Session对象存储于单个节点的缺陷。
发明内容
鉴于以上内容,有必要提供一种Session对象复制方法、装置、分布式微服务架构及介质,不仅能够提高Session对象的复制速度,还能够减少鉴权节点与存储节点之间通信的繁杂性,同时,确保了Session对象的健壮性。
一种Session对象复制方法,所述方法包括:
当接收到用户请求时,微服务网关确定所述用户请求的类型;
当所述类型为数据请求类型时,所述微服务网关从所述用户请求中提取第一Session对象;
所述微服务网关将所述第一Session对象发送至与自身相通信的目标鉴权节点;
当所述目标鉴权节点接收到所述第一Session对象时,所述目标鉴权节点从所述第一Session对象中提取身份识别码,并检测所述身份识别码是否存在于对象列表中;
当所述身份识别码存在于所述对象列表中时,所述目标鉴权节点将所述对象列表中与所述身份识别码对应的Session对象确定为第二Session对象;
所述目标鉴权节点检测所述第二Session对象是否过期;
当所述第二Session对象未过期时,所述目标鉴权节点从所述第一Session对象中提取目标有效期,并根据所述目标有效期生成更新请求;
所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点,并根据所述更新请求执行对所述其他鉴权节点及自身中的所述第二Session对象的更新。
根据本发明优选实施例,所述微服务网关确定所述用户请求的类型包括:
所述微服务网关获取所述用户请求的请求体,并检测所述请求体所携带的信息;
当检测到所述信息中含有登录标识时,所述微服务网关将所述用户请求的类型确定为所述登录请求类型;或者
当检测到所述信息中含有注销标识时,所述微服务网关将所述用户请求的类型确定为所述注销请求类型;或者
当检测到所述信息中含有数据请求信息时,所述微服务网关将所述用户请求的类型确定为所述数据请求类型。
根据本发明优选实施例,所述方法还包括:
所述微服务网关获取与自身相通信的鉴权节点,并获取所述鉴权节点的系统参数及所述鉴权节点的当前线程;
所述微服务网关确定所述鉴权节点执行所述当前线程所需的目标时间;
所述微服务网关根据所述系统参数及所述目标时间确定所述鉴权节点的权重值;
所述微服务网关将权重值最大的鉴权节点确定为所述目标鉴权节点。
根据本发明优选实施例,所述方法还包括:
当所述身份识别码存在于所述对象列表中,及所述第二Session对象未过期时,将鉴权结果确定为鉴权成功;或者
当所述身份识别码不存在于所述对象列表中,或者所述第二Session对象过期时,将所述鉴权结果确定为鉴权失败。
根据本发明优选实施例,在根据所述目标有效期生成更新请求之后,所述方法还包括:
所述目标鉴权节点获取所述用户请求的请求编号及目标鉴权结果,并根据所述请求编号及所述目标鉴权结果生成提示信息;
所述目标鉴权节点采用对称加密技术加密所述提示信息,得到密文,并将所述密文发送至所述微服务网关;
当所述微服务网关在预设时间内接收到来自所述目标鉴权节点的密文时,所述微服务网关对所述密文进行解密;
当所述密文被所述微服务网关解密成功时,所述微服务网关读取解密后的密文;
当所述微服务网关读取到所述目标鉴权结果为鉴权成功时,所述微服务网关将所述用户请求发送至与自身相通信的应用服务器。
根据本发明优选实施例,在所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点之前,所述方法还包括:
所述目标鉴权节点向所述其他鉴权节点发送建立连接的请求;
基于所述其他鉴权节点发出的建立连接的反馈确认信息,所述目标鉴权节点与所述所有鉴权节点建立连接;
所述目标鉴权节点监听与所述所有鉴权节点间的连接状态;
当监听到连接状态为异常时,所述目标鉴权节点将连接状态为异常的鉴权节点确定为异常鉴权节点;
所述任意鉴权节点向所述异常鉴权节点重新发送建立连接的请求。
根据本发明优选实施例,所述身份识别码可存储于区块链中,所述方法还包括:
当所述类型为登录请求类型时,所述微服务网关将所述用户请求发送至与自身相通信的任意鉴权节点,所述任意鉴权节点从所述用户请求中提取账号及密码,并验证所述账号及所述密码,当所述账号及所述密码验证通过时,所述任意鉴权节点生成与所述用户请求对应的目标Session对象,并封装所述目标Session对象,得到生成请求,所述任意鉴权节点从所述连接池中获取与自身连接的其他鉴权节点,将所述生成请求发送至所述其他鉴权节点,以使所述其他鉴权节点完成所述目标Session对象的生成;及/或
当所述类型为注销请求类型时,所述微服务网关从所述用户请求中获取所述目标Session对象,并从所述目标Session对象中提取目标身份识别码,所述微服务网关将所述目标身份识别码发送至与自身通信的任意鉴权节点,所述任意鉴权节点根据所述目标身份识别码生成删除请求,并从连接池中获取与自身连接的其他鉴权节点,所述任意鉴权节点根据所述删除请求执行对所述其他鉴权节点及自身中的所述目标Session对象的删除。
一种Session对象复制装置,所述装置包括:
确定单元,用于当接收到用户请求时,确定所述用户请求的类型;
提取单元,用于当所述类型为数据请求类型时,从所述用户请求中提取第一Session对象;
发送单元,用于将所述第一Session对象发送至与微服务网关相通信的目标鉴权节点;
执行单元,用于当所述目标鉴权节点接收到所述第一Session对象时,从所述第一Session对象中提取身份识别码,并检测所述身份识别码是否存在于对象列表中;
所述确定单元,还用于当所述身份识别码存在于所述对象列表中时,将所述对象列表中与所述身份识别码对应的Session对象确定为第二Session对象;
检测单元,用于检测所述第二Session对象是否过期;
生成单元,用于当所述第二Session对象未过期时,从所述第一Session对象中提取目标有效期,并根据所述目标有效期生成更新请求;
更新单元,用于从连接池中获取与自身连接的其他鉴权节点,并根据所述更新请求执行对所述其他鉴权节点及自身中的所述第二Session对象的更新。
根据本发明优选实施例,所述确定单元确定所述用户请求的类型包括:
所述微服务网关获取所述用户请求的请求体,并检测所述请求体所携带的信息;
当检测到所述信息中含有登录标识时,所述微服务网关将所述用户请求的类型确定为所述登录请求类型;或者
当检测到所述信息中含有注销标识时,所述微服务网关将所述用户请求的类型确定为所述注销请求类型;或者
当检测到所述信息中含有数据请求信息时,所述微服务网关将所述用户请求的类型确定为所述数据请求类型。
根据本发明优选实施例,所述装置还包括:
获取单元,用于获取与所述微服务网关相通信的鉴权节点,并获取所述鉴权节点的系统参数及所述鉴权节点的当前线程;
所述确定单元,还用于确定所述鉴权节点执行所述当前线程所需的目标时间;
所述确定单元,还用于根据所述系统参数及所述目标时间确定所述鉴权节点的权重值;
所述确定单元,还用于将权重值最大的鉴权节点确定为所述目标鉴权节点。
根据本发明优选实施例,所述确定单元,还用于当所述身份识别码存在于所述对象列表中,及所述第二Session对象未过期时,将鉴权结果确定为鉴权成功;或者
所述确定单元,还用于当所述身份识别码不存在于所述对象列表中,或者所述第二Session对象过期时,将所述鉴权结果确定为鉴权失败。
根据本发明优选实施例,所述生成单元,还用于在根据所述目标有效期生成更新请求之后,获取所述用户请求的请求编号及目标鉴权结果,并根据所述请求编号及所述目标鉴权结果生成提示信息;
所述装置还包括:
加密单元,用于采用对称加密技术加密所述提示信息,得到密文,并将所述密文发送至所述微服务网关;
解密单元,用于当所述微服务网关在预设时间内接收到来自所述目标鉴权节点的密文时,对所述密文进行解密;
读取单元,用于当所述密文被所述微服务网关解密成功时,读取解密后的密文;
所述发送单元,还用于当所述微服务网关读取到所述目标鉴权结果为鉴权成功时,将所述用户请求发送至与所述微服务网关相通信的应用服务器。
根据本发明优选实施例,所述发送单元,还用于在所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点之前,向所述其他鉴权节点发送建立连接的请求;
所述装置还包括:
建立单元,用于基于所述其他鉴权节点发出的建立连接的反馈确认信息,与所述所有鉴权节点建立连接;
监听单元,用于所述目标鉴权节点监听与所述所有鉴权节点间的连接状态;
所述确定单元,还用于当监听到连接状态为异常时,所述目标鉴权节点将连接状态为异常的鉴权节点确定为异常鉴权节点;
所述发送单元,还用于向所述异常鉴权节点重新发送建立连接的请求。
根据本发明优选实施例,所述身份识别码可存储于区块链中,所述执行单元,还用于当所述类型为登录请求类型时,将所述用户请求发送至与自身相通信的任意鉴权节点,从所述用户请求中提取账号及密码,并验证所述账号及所述密码,当所述账号及所述密码验证通过时,生成与所述用户请求对应的目标Session对象,并封装所述目标Session对象,得到生成请求,从所述连接池中获取与自身连接的其他鉴权节点,将所述生成请求发送至所述其他鉴权节点,以使所述其他鉴权节点完成所述目标Session对象的生成;及/或
所述执行单元,还用于当所述类型为注销请求类型时,从所述用户请求中获取所述目标Session对象,并从所述目标Session对象中提取目标身份识别码,将所述目标身份识别码发送至与自身通信的任意鉴权节点,根据所述目标身份识别码生成删除请求,并从连接池中获取与自身连接的其他鉴权节点,根据所述删除请求执行对所述其他鉴权节点及自身中的所述目标Session对象的删除。
一种分布式微服务架构,所述分布式微服务架构包括:
存储器,存储至少一个指令;及
处理器,获取所述存储器中存储的指令以实现所述Session对象复制方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被分布式微服务架构中的处理器获取以实现所述Session对象复制方法。
由以上技术方案可以看出,本发明通过长连接的方式对Session对象进行复制,由于节省了建立通道的时间,因此提高了Session对象的复制速度,另外,通过将Session对象存储在分布式微服务架构中的所有鉴权节点中,避免了鉴权节点从存储节点中获取Session对象,进而减少了鉴权节点与存储节点之间通信的繁杂性,此外,Session对象的获取也不再受制于存储节点的工作时限,Session对象的复制采用了主主复制的原则,确保了Session对象的健壮性。
附图说明
图1是本发明Session对象复制方法的较佳实施例的流程图。
图2是本发明Session对象复制方法的较佳实施例的示意图。
图3是本发明Session对象复制装置的较佳实施例的功能模块图。
图4是本发明实现Session对象复制方法的较佳实施例的分布式微服务架构的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明Session对象复制方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述Session对象复制方法应用于一个或者多个分布式微服务架构中,所述分布式微服务架构是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述分布式微服务架构可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述分布式微服务架构还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述分布式微服务架构所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
在一实施例中,应用于分布式微服务架构中,所述分布式微服务架构中存储有连接池,所述分布式微服务架构包括微服务网关、鉴权节点,所述微服务网关与所述鉴权节点相通信,所述Session对象复制方法包括:
S10,当接收到用户请求时,所述微服务网关确定所述用户请求的类型。
在本发明的至少一个实施例中,所述用户请求是用户通过客户端采用诸如超文本传输协议(HyperTextTransferProtocol,HTTP)等向所述微服务网关发送的请求。
在本发明的至少一个实施例中,所述类型包括登录请求类型、数据请求类型、注销请求类型。
在本发明的至少一个实施例中,所述微服务网关确定所述用户请求的类型包括:
所述微服务网关获取所述用户请求的请求体,并检测所述请求体所携带的信息,当检测到所述信息中含有登录标识时,所述微服务网关将所述用户请求的类型确定为所述登录请求类型,当检测到所述信息中含有注销标识时,所述微服务网关将所述用户请求的类型确定为所述注销请求类型,当检测到所述信息中含有数据请求信息时,所述微服务网关将所述用户请求的类型确定为所述数据请求类型。
通过检测用户请求中请求体携带的信息,能够准确地确定所述用户请求的类型。
S11,当所述类型为数据请求类型时,所述微服务网关从所述用户请求中提取第一Session对象。
在本发明的至少一个实施例中,当所述用户请求的类型为所述数据请求类型时,所述用户请求所携带的信息可以包括,但不限于:请求编号、所述第一Session对象、数据请求信息等。
在本发明的至少一个实施例中,所述第一Session对象中的信息可以包括,但不限于:身份识别码、用户名、有效期等。其中,所述身份识别码是在响应类型为所述登录请求类型的用户请求后生成的,可以理解的是,在每次用户名对应的账号登录成功时,都会生成用户名对应的身份识别码。进一步地,所述有效期是根据登录时间与阈值确定的,例如,登录时间为10月12日,阈值为10天,则所述有效期为10月22日。
在本发明的至少一个实施例中,所述微服务网关确定目标标签,进一步地,所述微服务网关从所述用户请求中所携带的信息中提取与所述目标标签对应的信息,作为所述第一Session对象。
其中,所述目标标签为预先定义好的标签,例如,name。
例如:用户请求甲为“标签A:请求编号100;标签B:查询数据;标签C:Session对象200”,所述微服务网关确定目标标签为标签C,进一步地,所述微服务网关从“标签A:请求编号100;标签B:查询数据;标签C:Session对象200”中提取与所述标签C对应的“Session对象200”,作为第一Session对象。
S12,所述微服务网关将所述第一Session对象发送至与自身相通信的目标鉴权节点。
在本发明的至少一个实施例中,所述目标鉴权节点是所述微服务网关从与所述微服务网关自身相通信的鉴权节点中选取的,选取方式主要依据鉴权节点执行自身的当前线程所需的时间及鉴权节点自身的系统参数,进一步地,所述系统参数是指鉴权节点能够同时处理的线程数量。
在本发明的至少一个实施例中,所述方法还包括:
所述微服务网关获取与自身相通信的鉴权节点,并获取所述鉴权节点的系统参数及所述鉴权节点的当前线程,所述微服务网关确定所述鉴权节点执行所述当前线程所需的目标时间,进一步地,所述微服务网关根据所述系统参数及所述目标时间确定所述鉴权节点的权重值,并将权重值最大的鉴权节点确定为所述目标鉴权节点。
在本发明的至少一个实施例中,结合图2,在数据请求阶段的步骤2中,所述微服务网关采用JSON技术封装所述第一Session对象及所述目标标签,得到目标字符串,并将所述目标字符串发送至所述目标鉴权节点。
通过上述实施方式,将所述第一Session对象封装为所述目标字符串,使所述第一Session对象能够随着所述目标字符串发送到所述目标鉴权节点进行处理。
S13,当所述目标鉴权节点接收到所述第一Session对象时,所述目标鉴权节点从所述第一Session对象中提取身份识别码,并检测所述身份识别码是否存在于对象列表中。
在本发明的至少一个实施例中,每个鉴权节点均对应一个对象列表,进一步地,所述对象列表中存储着至少一个Session对象。
在本发明的至少一个实施例中,结合图2,在数据请求阶段的步骤3中,所述目标鉴权节点检测所述身份识别码是否存在于对象列表中,即,所述目标鉴权节点检测所述身份识别码对应的账号是否为合法账号。
在本发明的至少一个实施例中,当所述身份识别码不存在于所述对象列表时,即,所述身份识别码对应的账号为不合法账号,进而所述目标鉴权节点以无权限为响应结果响应所述用户请求。
S14,当所述身份识别码存在于所述对象列表中时,所述目标鉴权节点将所述对象列表中与所述身份识别码对应的Session对象确定为第二Session对象。
在本发明的至少一个实施例中,所述身份识别码存在于所述对象列表中表征所述身份识别码对应的账号为合法账号。
S15,所述目标鉴权节点检测所述第二Session对象是否过期。
在本发明的至少一个实施例中,所述目标鉴权节点检测所述第二Session对象的有效期是否过期表征检测所述第二Session对象对应的账号在所述分布式微服务架构中是否登录超时。
在本发明的至少一个实施例中,所述目标鉴权节点检测所述第二Session对象是否过期包括:
所述目标鉴权节点获取所述第二Session对象的有效期,并将获取到的有效期与当前时刻进行对比,若所述有效期在所述当前时刻之前,所述目标鉴权节点确定所述第二Session对象过期,若所述有效期在所述当前时刻之后,所述目标鉴权节点确定所述第二Session对象未过期。
在本发明的至少一个实施例中,当所述第二Session对象过期时,所述目标鉴权节点将所述第二Session对象从所述对象列表中删除。
S16,当所述第二Session对象未过期时,所述目标鉴权节点从所述第一Session对象中提取目标有效期,并根据所述目标有效期生成更新请求。
在本发明的至少一个实施例中,所述第二Session对象的有效期未过期表征所述第二Session对象对应的账号在所述分布式微服务架构中登录未超时。
在本发明的至少一个实施例中,所述更新请求所携带的信息包括,但不限于:所述目标有效期、所述身份识别码等。
在本发明的至少一个实施例中,所述方法还包括:
(1)当所述身份识别码存在于所述对象列表中,及所述第二Session对象未过期时,将鉴权结果确定为鉴权成功。
(2)当所述身份识别码不存在于所述对象列表中,或者所述第二Session对象过期时,将所述鉴权结果确定为鉴权失败。
在本发明的至少一个实施例中,所述目标鉴权节点从所述第一Session对象中提取目标有效期的方式与所述微服务网关从所述用户请求中提取第一Session对象的方式相同,本发明在此不作重复阐述。
在本发明的至少一个实施例中,在根据所述目标有效期生成更新请求之后,所述方法还包括:
所述目标鉴权节点获取所述用户请求的请求编号及目标鉴权结果,并根据所述请求编号及所述目标鉴权结果生成提示信息,进一步地,所述目标鉴权节点采用对称加密技术加密所述提示信息,得到密文,并将所述密文发送至所述微服务网关,当所述微服务网关在预设时间内接收到来自所述目标鉴权节点的密文时,所述微服务网关对所述密文进行解密,当所述密文被所述微服务网关解密成功时,所述微服务网关读取解密后的密文,当所述微服务网关读取到所述目标鉴权结果为鉴权成功时,所述微服务网关将所述用户请求发送至与自身相通信的应用服务器。
通过上述实施方式,能够在所述用户请求对应的账号鉴权成功时,将所述用户请求发送至所述应用服务器上执行响应,避免不具有请求权限的用户访问所述应用服务器。
在本发明的至少一个实施例中,当所述微服务网关在预设时间内接收到来自所述目标鉴权节点的密文时,所述微服务网关生成反馈包,并将所述反馈包发送至所述目标鉴权节点。
S17,所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点,并根据所述更新请求执行对所述其他鉴权节点及自身中的所述第二Session对象的更新。
在本发明的至少一个实施例中,所述连接池存在于所述分布式微服务架构中,所述连接池中存储有所述目标鉴权节点与所述其他鉴权节点的长连接、所述微服务网关与鉴权节点的长连接。
在本发明的至少一个实施例中,在所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点之前,所述方法还包括:
所述目标鉴权节点向所述其他鉴权节点发送建立连接的请求,基于所述其他鉴权节点发出的建立连接的反馈确认信息,所述目标鉴权节点与所述所有鉴权节点建立连接,所述目标鉴权节点监听与所述所有鉴权节点间的连接状态,当监听到连接状态为异常时,所述目标鉴权节点将连接状态为异常的鉴权节点确定为异常鉴权节点,所述任意鉴权节点向所述异常鉴权节点重新发送建立连接的请求。
通过长连接的建立,能够在下次传输数据时节省建立通道的时间,提高了所述更新请求的发送速度。
结合图2,在数据请求阶段的步骤4中,所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点。进一步地,结合图2,在数据请求阶段的步骤5中,所述目标鉴权节点对所述其他鉴权节点及自身中的所述第二Session对象的更新。
在本发明的至少一个实施例中,所述方法还包括:
(1)结合图2,在用户登录阶段中,当所述类型为登录请求类型时,所述微服务网关将所述用户请求发送至与自身相通信的任意鉴权节点,所述任意鉴权节点从所述用户请求中提取账号及密码,并验证所述账号及所述密码,当所述账号及所述密码验证通过时,所述任意鉴权节点生成与所述用户请求对应的目标Session对象,并封装所述目标Session对象,得到生成请求,所述任意鉴权节点从所述连接池中获取与自身连接的其他鉴权节点,将所述生成请求发送至所述其他鉴权节点,以使所述其他鉴权节点完成所述目标Session对象的生成。
(2)结合图2,在用户注销阶段中,当所述类型为注销请求类型时,所述微服务网关从所述用户请求中获取所述目标Session对象,并从所述目标Session对象中提取目标身份识别码,所述微服务网关将所述目标身份识别码发送至与自身通信的任意鉴权节点,所述任意鉴权节点根据所述目标身份识别码生成删除请求,并从连接池中获取与自身连接的其他鉴权节点,所述任意鉴权节点根据所述删除请求执行对所述其他鉴权节点及自身中的所述目标Session对象的删除。
需要强调的是,为进一步保证上述身份识别码的私密和安全性,上述身份识别码还可以存储于一区块链的节点中。
由以上技术方案可以看出,本发明能够通过长连接的方式对Session对象进行复制,由于节省了建立通道的时间,因此提高了Session对象的复制速度,另外,通过将Session对象存储在分布式微服务架构中的所有鉴权节点中,避免了鉴权节点从存储节点中获取Session对象,进而减少了鉴权节点与存储节点之间通信的繁杂性,此外,Session对象的获取也不再受制于存储节点的工作时限,Session对象的复制采用了主主复制的原则,确保了Session对象的健壮性。
如图3所示,是本发明Session对象复制装置的较佳实施例的功能模块图。所述Session对象复制装置11包括确定单元110、提取单元111、发送单元112、执行单元113、检测单元114、生成单元115、更新单元116、获取单元117、加密单元118、解密单元119、读取单元120、建立单元121、监听单元122及删除单元123。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
在一实施例中,运行于分布式微服务架构中,所述分布式微服务架构中存储有连接池,所述分布式微服务架构包括微服务网关、鉴权节点,所述微服务网关与所述鉴权节点相通信。
当接收到用户请求时,确定单元110确定所述用户请求的类型。
在本发明的至少一个实施例中,所述用户请求是用户通过客户端采用诸如超文本传输协议(HyperTextTransferProtocol,HTTP)等向所述微服务网关发送的请求。
在本发明的至少一个实施例中,所述类型包括登录请求类型、数据请求类型、注销请求类型。
在本发明的至少一个实施例中,所述确定单元110确定所述用户请求的类型包括:
所述确定单元110获取所述用户请求的请求体,并检测所述请求体所携带的信息,当检测到所述信息中含有登录标识时,所述确定单元110将所述用户请求的类型确定为所述登录请求类型,当检测到所述信息中含有注销标识时,所述确定单元110将所述用户请求的类型确定为所述注销请求类型,当检测到所述信息中含有数据请求信息时,所述确定单元110将所述用户请求的类型确定为所述数据请求类型。
通过检测用户请求中请求体携带的信息,能够准确地确定所述用户请求的类型。
当所述类型为数据请求类型时,提取单元111从所述用户请求中提取第一Session对象。
在本发明的至少一个实施例中,当所述用户请求的类型为所述数据请求类型时,所述用户请求所携带的信息可以包括,但不限于:请求编号、所述第一Session对象、数据请求信息等。
在本发明的至少一个实施例中,所述第一Session对象中的信息可以包括,但不限于:身份识别码、用户名、有效期等。其中,所述身份识别码是在响应类型为所述登录请求类型的用户请求后生成的,可以理解的是,在每次用户名对应的账号登录成功时,都会生成用户名对应的身份识别码。进一步地,所述有效期是根据登录时间与阈值确定的,例如,登录时间为10月12日,阈值为10天,则所述有效期为10月22日。
在本发明的至少一个实施例中,所述提取单元111确定目标标签,进一步地,所述提取单元111从所述用户请求中所携带的信息中提取与所述目标标签对应的信息,作为所述第一Session对象。
其中,所述目标标签为预先定义好的标签,例如,name。
例如:用户请求甲为“标签A:请求编号100;标签B:查询数据;标签C:Session对象200”,所述提取单元111确定目标标签为标签C,进一步地,所述提取单元111从“标签A:请求编号100;标签B:查询数据;标签C:Session对象200”中提取与所述标签C对应的“Session对象200”,作为第一Session对象。
发送单元112将所述第一Session对象发送至与所述微服务网关相通信的目标鉴权节点。
在本发明的至少一个实施例中,所述目标鉴权节点是从与所述微服务网关自身相通信的鉴权节点中选取的,选取方式主要依据鉴权节点执行自身的当前线程所需的时间及鉴权节点自身的系统参数,进一步地,所述系统参数是指鉴权节点能够同时处理的线程数量。
在本发明的至少一个实施例中,获取单元117获取与所述微服务网关相通信的鉴权节点,并获取所述鉴权节点的系统参数及所述鉴权节点的当前线程,所述确定单元110确定所述鉴权节点执行所述当前线程所需的目标时间,进一步地,所述确定单元110根据所述系统参数及所述目标时间确定所述鉴权节点的权重值,并将权重值最大的鉴权节点确定为所述目标鉴权节点。
在本发明的至少一个实施例中,结合图2,在数据请求阶段的步骤2中,所述发送单元112采用JSON技术封装所述第一Session对象及所述目标标签,得到目标字符串,并将所述目标字符串发送至所述目标鉴权节点。
通过上述实施方式,将所述第一Session对象封装为所述目标字符串,使所述第一Session对象能够随着所述目标字符串发送到所述目标鉴权节点进行处理。
当所述目标鉴权节点接收到所述第一Session对象时,执行单元113从所述第一Session对象中提取身份识别码,并检测所述身份识别码是否存在于对象列表中。
在本发明的至少一个实施例中,每个鉴权节点均对应一个对象列表,进一步地,所述对象列表中存储着至少一个Session对象。
在本发明的至少一个实施例中,结合图2,在数据请求阶段的步骤3中,所述执行单元113检测所述身份识别码是否存在于对象列表中,即,所述执行单元113检测所述身份识别码对应的账号是否为合法账号。
在本发明的至少一个实施例中,当所述身份识别码不存在于所述对象列表时,即,所述身份识别码对应的账号为不合法账号,进而所述执行单元113以无权限为响应结果响应所述用户请求。
当所述身份识别码存在于所述对象列表中时,所述确定单元110将所述对象列表中与所述身份识别码对应的Session对象确定为第二Session对象。
在本发明的至少一个实施例中,所述身份识别码存在于所述对象列表中表征所述身份识别码对应的账号为合法账号。
检测单元114检测所述第二Session对象是否过期。
在本发明的至少一个实施例中,所述检测单元114检测所述第二Session对象的有效期是否过期表征检测所述第二Session对象对应的账号在所述分布式微服务架构中是否登录超时。
在本发明的至少一个实施例中,所述检测单元114检测所述第二Session对象是否过期包括:
所述检测单元114获取所述第二Session对象的有效期,并将获取到的有效期与当前时刻进行对比,若所述有效期在所述当前时刻之前,所述检测单元114确定所述第二Session对象过期,若所述有效期在所述当前时刻之后,所述检测单元114确定所述第二Session对象未过期。
在本发明的至少一个实施例中,当所述第二Session对象过期时,删除单元123将所述第二Session对象从所述对象列表中删除。
当所述第二Session对象未过期时,生成单元115从所述第一Session对象中提取目标有效期,并根据所述目标有效期生成更新请求。
在本发明的至少一个实施例中,所述第二Session对象的有效期未过期表征所述第二Session对象对应的账号在所述分布式微服务架构中登录未超时。
在本发明的至少一个实施例中,所述更新请求所携带的信息包括,但不限于:所述目标有效期、所述身份识别码等。
在本发明的至少一个实施例中,(1)当所述身份识别码存在于所述对象列表中,及所述第二Session对象未过期时,所述确定单元110将鉴权结果确定为鉴权成功。(2)当所述身份识别码不存在于所述对象列表中,或者所述第二Session对象过期时,所述确定单元110将所述鉴权结果确定为鉴权失败。
在本发明的至少一个实施例中,所述生成单元115从所述第一Session对象中提取目标有效期的方式与所述提取单元111从所述用户请求中提取第一Session对象的方式相同,本发明在此不作重复阐述。
在本发明的至少一个实施例中,在根据所述目标有效期生成更新请求之后,所述获取单元117获取所述用户请求的请求编号及目标鉴权结果,并根据所述请求编号及所述目标鉴权结果生成提示信息,进一步地,加密单元118采用对称加密技术加密所述提示信息,得到密文,并将所述密文发送至所述微服务网关,当所述微服务网关在预设时间内接收到来自所述目标鉴权节点的密文时,解密单元119对所述密文进行解密,当所述密文被所述微服务网关解密成功时,读取单元120读取解密后的密文,当所述微服务网关读取到所述目标鉴权结果为鉴权成功时,所述发送单元112将所述用户请求发送至与所述微服务网关相通信的应用服务器。
通过上述实施方式,能够在所述用户请求对应的账号鉴权成功时,将所述用户请求发送至所述应用服务器上执行响应,避免不具有请求权限的用户访问所述应用服务器。
在本发明的至少一个实施例中,当所述微服务网关在预设时间内接收到来自所述目标鉴权节点的密文时,所述生成单元115生成反馈包,所述发送单元112将所述反馈包发送至所述目标鉴权节点。
更新单元116从连接池中获取与自身连接的其他鉴权节点,并根据所述更新请求执行对所述其他鉴权节点及自身中的所述第二Session对象的更新。
在本发明的至少一个实施例中,所述连接池存在于所述分布式微服务架构中,所述连接池中存储有所述目标鉴权节点与所述其他鉴权节点的长连接、所述微服务网关与鉴权节点的长连接。
在本发明的至少一个实施例中,在从连接池中获取与自身连接的其他鉴权节点之前,所述发送单元112向所述其他鉴权节点发送建立连接的请求,基于所述其他鉴权节点发出的建立连接的反馈确认信息,建立单元121与所述所有鉴权节点建立连接,监听单元122监听与所述所有鉴权节点间的连接状态,当监听到连接状态为异常时,所述确定单元110将连接状态为异常的鉴权节点确定为异常鉴权节点,所述发送单元112向所述异常鉴权节点重新发送建立连接的请求。
通过长连接的建立,能够在下次传输数据时节省建立通道的时间,提高了所述更新请求的发送速度。
结合图2,在数据请求阶段的步骤4中,所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点。进一步地,结合图2,在数据请求阶段的步骤5中,所述目标鉴权节点对所述其他鉴权节点及自身中的所述第二Session对象的更新。
在本发明的至少一个实施例中,(1)结合图2,在用户登录阶段中,当所述类型为登录请求类型时,所述执行单元113将所述用户请求发送至与自身相通信的任意鉴权节点,所述执行单元113从所述用户请求中提取账号及密码,并验证所述账号及所述密码,当所述账号及所述密码验证通过时,所述执行单元113生成与所述用户请求对应的目标Session对象,并封装所述目标Session对象,得到生成请求,所述执行单元113从所述连接池中获取与自身连接的其他鉴权节点,将所述生成请求发送至所述其他鉴权节点,以使所述其他鉴权节点完成所述目标Session对象的生成。(2)结合图2,在用户注销阶段中,当所述类型为注销请求类型时,所述执行单元113从所述用户请求中获取所述目标Session对象,并从所述目标Session对象中提取目标身份识别码,所述执行单元113将所述目标身份识别码发送至与自身通信的任意鉴权节点,所述执行单元113根据所述目标身份识别码生成删除请求,并从连接池中获取与自身连接的其他鉴权节点,所述执行单元113根据所述删除请求执行对所述其他鉴权节点及自身中的所述目标Session对象的删除。
需要强调的是,为进一步保证上述身份识别码的私密和安全性,上述身份识别码还可以存储于一区块链的节点中。
由以上技术方案可以看出,本发明通过长连接的方式对Session对象进行复制,由于节省了建立通道的时间,因此提高了Session对象的复制速度,另外,通过将Session对象存储在分布式微服务架构中的所有鉴权节点中,避免了鉴权节点从存储节点中获取Session对象,进而减少了鉴权节点与存储节点之间通信的繁杂性,此外,Session对象的获取也不再受制于存储节点的工作时限,Session对象的复制采用了主主复制的原则,确保了Session对象的健壮性。
如图4所示,是本发明实现Session对象复制方法的较佳实施例的分布式微服务架构的结构示意图。
在本发明的一个实施例中,所述分布式微服务架构1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如Session对象复制程序。
本领域技术人员可以理解,所述示意图仅仅是分布式微服务架构1的示例,并不构成对分布式微服务架构1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述分布式微服务架构1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述分布式微服务架构1的运算核心和控制中心,利用各种接口和线路连接整个分布式微服务架构1的各个部分,及获取所述分布式微服务架构1的操作系统以及安装的各类应用程序、程序代码等。
所述处理器13获取所述分布式微服务架构1的操作系统以及安装的各类应用程序。所述处理器13获取所述应用程序以实现上述各个Session对象复制方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13获取,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述分布式微服务架构1中的获取过程。例如,所述计算机程序可以被分割成确定单元110、提取单元111、发送单元112、执行单元113、检测单元114、生成单元115、更新单元116、获取单元117、加密单元118、解密单元119、读取单元120、建立单元121、监听单元122及删除单元123。
所述存储器12可用于存储所述计算机程序和/或模块,所述处理器13通过运行或获取存储在所述存储器12内的计算机程序和/或模块,以及调用存储在存储器12内的数据,实现所述分布式微服务架构1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据分布式微服务架构的使用所创建的数据等。此外,存储器12可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述存储器12可以是分布式微服务架构1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述分布式微服务架构1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器获取时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可获取文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
结合图1,所述分布式微服务架构1中的所述存储器12存储多个指令以实现一种Session对象复制方法,所述处理器13可获取所述多个指令从而实现:当接收到用户请求时,微服务网关确定所述用户请求的类型;当所述类型为数据请求类型时,所述微服务网关从所述用户请求中提取第一Session对象;所述微服务网关将所述第一Session对象发送至与自身相通信的目标鉴权节点;当所述目标鉴权节点接收到所述第一Session对象时,所述目标鉴权节点从所述第一Session对象中提取身份识别码,并检测所述身份识别码是否存在于对象列表中;当所述身份识别码存在于所述对象列表中时,所述目标鉴权节点将所述对象列表中与所述身份识别码对应的Session对象确定为第二Session对象;所述目标鉴权节点检测所述第二Session对象是否过期;当所述第二Session对象未过期时,所述目标鉴权节点从所述第一Session对象中提取目标有效期,并根据所述目标有效期生成更新请求;所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点,并根据所述更新请求执行对所述其他鉴权节点及自身中的所述第二Session对象的更新。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种Session对象复制方法,其特征在于,所述Session对象复制方法包括:
当接收到用户请求时,微服务网关确定所述用户请求的类型;
当所述类型为数据请求类型时,所述微服务网关从所述用户请求中提取第一Session对象;
所述微服务网关将所述第一Session对象发送至与自身相通信的目标鉴权节点;
当所述目标鉴权节点接收到所述第一Session对象时,所述目标鉴权节点从所述第一Session对象中提取身份识别码,并检测所述身份识别码是否存在于对象列表中;
当所述身份识别码存在于所述对象列表中时,所述目标鉴权节点将所述对象列表中与所述身份识别码对应的Session对象确定为第二Session对象;
所述目标鉴权节点检测所述第二Session对象是否过期;
当所述第二Session对象未过期时,所述目标鉴权节点从所述第一Session对象中提取目标有效期,并根据所述目标有效期生成更新请求;
所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点,并根据所述更新请求执行对所述其他鉴权节点及自身中的所述第二Session对象的更新。
2.如权利要求1所述的Session对象复制方法,其特征在于,所述微服务网关确定所述用户请求的类型包括:
所述微服务网关获取所述用户请求的请求体,并检测所述请求体所携带的信息;
当检测到所述信息中含有登录标识时,所述微服务网关将所述用户请求的类型确定为所述登录请求类型;或者
当检测到所述信息中含有注销标识时,所述微服务网关将所述用户请求的类型确定为所述注销请求类型;或者
当检测到所述信息中含有数据请求信息时,所述微服务网关将所述用户请求的类型确定为所述数据请求类型。
3.如权利要求1所述的Session对象复制方法,其特征在于,所述Session对象复制方法还包括:
所述微服务网关获取与自身相通信的鉴权节点,并获取所述鉴权节点的系统参数及所述鉴权节点的当前线程;
所述微服务网关确定所述鉴权节点执行所述当前线程所需的目标时间;
所述微服务网关根据所述系统参数及所述目标时间确定所述鉴权节点的权重值;
所述微服务网关将权重值最大的鉴权节点确定为所述目标鉴权节点。
4.如权利要求1所述的Session对象复制方法,其特征在于,所述Session对象复制方法还包括:
当所述身份识别码存在于所述对象列表中,及所述第二Session对象未过期时,将鉴权结果确定为鉴权成功;或者
当所述身份识别码不存在于所述对象列表中,或者所述第二Session对象过期时,将所述鉴权结果确定为鉴权失败。
5.如权利要求1所述的Session对象复制方法,其特征在于,在根据所述目标有效期生成更新请求之后,所述Session对象复制方法还包括:
所述目标鉴权节点获取所述用户请求的请求编号及目标鉴权结果,并根据所述请求编号及所述目标鉴权结果生成提示信息;
所述目标鉴权节点采用对称加密技术加密所述提示信息,得到密文,并将所述密文发送至所述微服务网关;
当所述微服务网关在预设时间内接收到来自所述目标鉴权节点的密文时,所述微服务网关对所述密文进行解密;
当所述密文被所述微服务网关解密成功时,所述微服务网关读取解密后的密文;
当所述微服务网关读取到所述目标鉴权结果为鉴权成功时,所述微服务网关将所述用户请求发送至与自身相通信的应用服务器。
6.如权利要求1所述的Session对象复制方法,其特征在于,在所述目标鉴权节点从连接池中获取与自身连接的其他鉴权节点之前,所述Session对象复制方法还包括:
所述目标鉴权节点向所述其他鉴权节点发送建立连接的请求;
基于所述其他鉴权节点发出的建立连接的反馈确认信息,所述目标鉴权节点与所述所有鉴权节点建立连接;
所述目标鉴权节点监听与所述所有鉴权节点间的连接状态;
当监听到连接状态为异常时,所述目标鉴权节点将连接状态为异常的鉴权节点确定为异常鉴权节点;
所述任意鉴权节点向所述异常鉴权节点重新发送建立连接的请求。
7.如权利要求1所述的Session对象复制方法,其特征在于,所述身份识别码存储于区块链中,所述Session对象复制方法还包括:
当所述类型为登录请求类型时,所述微服务网关将所述用户请求发送至与自身相通信的任意鉴权节点,所述任意鉴权节点从所述用户请求中提取账号及密码,并验证所述账号及所述密码,当所述账号及所述密码验证通过时,所述任意鉴权节点生成与所述用户请求对应的目标Session对象,并封装所述目标Session对象,得到生成请求,所述任意鉴权节点从所述连接池中获取与自身连接的其他鉴权节点,将所述生成请求发送至所述其他鉴权节点,以使所述其他鉴权节点完成所述目标Session对象的生成;及/或
当所述类型为注销请求类型时,所述微服务网关从所述用户请求中获取所述目标Session对象,并从所述目标Session对象中提取目标身份识别码,所述微服务网关将所述目标身份识别码发送至与自身通信的任意鉴权节点,所述任意鉴权节点根据所述目标身份识别码生成删除请求,并从连接池中获取与自身连接的其他鉴权节点,所述任意鉴权节点根据所述删除请求执行对所述其他鉴权节点及自身中的所述目标Session对象的删除。
8.一种Session对象复制装置,其特征在于,所述Session对象复制装置包括:
确定单元,用于当接收到用户请求时,确定所述用户请求的类型;
提取单元,用于当所述类型为数据请求类型时,从所述用户请求中提取第一Session对象;
发送单元,用于将所述第一Session对象发送至与微服务网关相通信的目标鉴权节点;
执行单元,用于当所述目标鉴权节点接收到所述第一Session对象时,从所述第一Session对象中提取身份识别码,并检测所述身份识别码是否存在于对象列表中;
所述确定单元,还用于当所述身份识别码存在于所述对象列表中时,将所述对象列表中与所述身份识别码对应的Session对象确定为第二Session对象;
检测单元,用于检测所述第二Session对象是否过期;
生成单元,用于当所述第二Session对象未过期时,从所述第一Session对象中提取目标有效期,并根据所述目标有效期生成更新请求;
更新单元,用于从连接池中获取与自身连接的其他鉴权节点,并根据所述更新请求执行对所述其他鉴权节点及自身中的所述第二Session对象的更新。
9.一种分布式微服务架构,其特征在于,所述分布式微服务架构包括:
存储器,存储至少一个指令;及
处理器,获取所述存储器中存储的指令以实现如权利要求1至7中任意一项所述的Session对象复制方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被分布式微服务架构中的处理器获取以实现如权利要求1至7中任意一项所述的Session对象复制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469580.4A CN111698299B (zh) | 2020-05-28 | 2020-05-28 | Session对象复制方法、装置、分布式微服务架构及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469580.4A CN111698299B (zh) | 2020-05-28 | 2020-05-28 | Session对象复制方法、装置、分布式微服务架构及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111698299A true CN111698299A (zh) | 2020-09-22 |
CN111698299B CN111698299B (zh) | 2023-08-01 |
Family
ID=72478571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010469580.4A Active CN111698299B (zh) | 2020-05-28 | 2020-05-28 | Session对象复制方法、装置、分布式微服务架构及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111698299B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812351A (zh) * | 2016-02-23 | 2016-07-27 | 平安科技(深圳)有限公司 | 实现会话共享的方法和系统 |
CN108681662A (zh) * | 2018-05-17 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 一种安装程序的方法及装置 |
US20180324173A1 (en) * | 2017-05-03 | 2018-11-08 | International Business Machines Corporation | Stateful session manager |
CN109150936A (zh) * | 2017-06-19 | 2019-01-04 | 北京宝兰德软件股份有限公司 | 一种分布式集群中会话对象Session的共享方法及装置 |
CN109413032A (zh) * | 2018-09-03 | 2019-03-01 | 中国平安人寿保险股份有限公司 | 一种单点登录方法、计算机可读存储介质及网关 |
CN110086822A (zh) * | 2019-05-07 | 2019-08-02 | 北京智芯微电子科技有限公司 | 面向微服务架构的统一身份认证策略的实现方法及系统 |
-
2020
- 2020-05-28 CN CN202010469580.4A patent/CN111698299B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812351A (zh) * | 2016-02-23 | 2016-07-27 | 平安科技(深圳)有限公司 | 实现会话共享的方法和系统 |
US20180324173A1 (en) * | 2017-05-03 | 2018-11-08 | International Business Machines Corporation | Stateful session manager |
CN109150936A (zh) * | 2017-06-19 | 2019-01-04 | 北京宝兰德软件股份有限公司 | 一种分布式集群中会话对象Session的共享方法及装置 |
CN108681662A (zh) * | 2018-05-17 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 一种安装程序的方法及装置 |
CN109413032A (zh) * | 2018-09-03 | 2019-03-01 | 中国平安人寿保险股份有限公司 | 一种单点登录方法、计算机可读存储介质及网关 |
CN110086822A (zh) * | 2019-05-07 | 2019-08-02 | 北京智芯微电子科技有限公司 | 面向微服务架构的统一身份认证策略的实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111698299B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230237132A1 (en) | System and Method for Memetic Authentication and Identification | |
US10057282B2 (en) | Detecting and reacting to malicious activity in decrypted application data | |
US9866567B2 (en) | Systems and methods for detecting and reacting to malicious activity in computer networks | |
US20200328885A1 (en) | Enhanced monitoring and protection of enterprise data | |
US8245037B1 (en) | Encryption key management | |
US10382424B2 (en) | Secret store for OAuth offline tokens | |
JP2021504865A (ja) | ゲートウェイ装置に接続された非ipエンドポイントデバイスと接続されたサービスとの間のデータ転送を安全にするためのシステム及び方法 | |
CN111949953A (zh) | 基于区块链的身份认证方法、系统、装置和计算机设备 | |
KR101686167B1 (ko) | 사물 인터넷 기기의 인증서 배포 장치 및 방법 | |
CN112738117A (zh) | 数据传输方法、装置、系统和存储介质及电子装置 | |
US11716312B1 (en) | Platform for optimizing secure communications | |
CN109040079A (zh) | 直播链接地址的组建和验证方法及相应装置 | |
CN111130798A (zh) | 一种请求鉴权方法及相关设备 | |
JP2022534677A (ja) | ブロックチェーンを使用するオンラインアプリケーションおよびウェブページの保護 | |
US8051470B2 (en) | Consolidation of user directories | |
WO2017029708A1 (ja) | 個人認証システム | |
US20220353081A1 (en) | User authentication techniques across applications on a user device | |
JP7191999B2 (ja) | ミニプログラムパッケージ送信方法、装置、電子機器コンピュータ可読媒体およびコンピュータプログラム製品 | |
CN111698299B (zh) | Session对象复制方法、装置、分布式微服务架构及介质 | |
CN115115384A (zh) | 激励事件的处理方法、装置、电子设备及存储介质 | |
KR20020083551A (ko) | 멀티에이전트 기반 다단계 사용자 인증 시스템 개발과운용 방법 | |
CN111404901A (zh) | 信息验证方法及装置 | |
CN106790164B (zh) | L2tp的密码修改方法及装置 | |
CN114629671B (zh) | 一种数据检测系统 | |
CN112311551A (zh) | 保护可证明的资源所有权 |
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 |