CN117318969A - 实现容灾的业务通信方法、装置及系统 - Google Patents

实现容灾的业务通信方法、装置及系统 Download PDF

Info

Publication number
CN117318969A
CN117318969A CN202210718976.7A CN202210718976A CN117318969A CN 117318969 A CN117318969 A CN 117318969A CN 202210718976 A CN202210718976 A CN 202210718976A CN 117318969 A CN117318969 A CN 117318969A
Authority
CN
China
Prior art keywords
service node
authentication
credential
service
information
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.)
Pending
Application number
CN202210718976.7A
Other languages
English (en)
Inventor
周学艺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202210718976.7A priority Critical patent/CN117318969A/zh
Publication of CN117318969A publication Critical patent/CN117318969A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种实现容灾的业务通信方法、装置及系统,属于通信技术领域。第一服务节点接收来自终端设备的包含身份验证信息的登录请求。如果第一服务节点对身份验证信息验证通过,第一服务节点生成第一凭证信息。第一凭证信息包括第一业务凭证和第一鉴权凭证。第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名。第一鉴权信息包括与身份验证信息相匹配的用户身份信息。第一服务节点向终端设备发送登录请求对应的包含第一凭证信息的登录响应。终端设备基于服务节点提供的鉴权凭证,在该服务节点发生通信故障时,向另一服务节点进行身份验证,以获取新的业务凭证,实现用户侧业务在主备节点之间的平滑切换。

Description

实现容灾的业务通信方法、装置及系统
技术领域
本申请涉及通信技术领域,特别涉及一种实现容灾的业务通信方法、装置及系统。
背景技术
软件即服务(software as a service,SaaS)是云计算的主要模式之一。SaaS模式下,供应商通过互联网提供软件,用户可以向供应商订购软件,然后通过网页(web)或供应商应用程序接口(application program interface,API)访问业务节点。业务节点用于提供软件服务。在SaaS模式下,具有共性需求的同一类用户被称为租户,用户最终以租户为单位租用软件。
用户侧通过终端设备访问业务节点的流程包括:用户在终端设备上登录时,终端设备基于登录操作获取用户的身份验证信息,然后向服务节点发送包含该身份验证信息的登录请求。服务节点对该身份验证信息验证通过之后,向终端设备发送业务凭证。终端设备基于该业务凭证访问业务节点。业务节点向服务节点验证来自终端设备的业务凭证是否真实有效。如果该业务凭证真实有效,业务节点向终端设备提供相应权限的软件服务。
目前为了避免单节点故障造成业务不可用,通常会对服务节点进行容灾部署。在一个服务节点故障时,由另一个服务节点接管业务,已保证在线业务的正常运行。如何在一个服务节点故障时,将用户侧业务平滑地切换到另一个服务节点上,是目前亟需解决的问题。
发明内容
本申请提供了一种实现容灾的业务通信方法、装置及系统,可以实现在一个服务节点故障时,将用户侧业务平滑地切换到另一个服务节点上。
第一方面,提供了一种实现容灾的业务通信方法。该方法应用于容灾系统。容灾系统包括第一服务节点和第二服务节点。第二服务节点为第一服务节点的应用级灾备节点。该方法包括:第一服务节点接收来自终端设备的登录请求,该登录请求包括身份验证信息。如果第一服务节点对身份验证信息验证通过,第一服务节点生成第一凭证信息。第一凭证信息包括第一业务凭证和第一鉴权凭证。第一业务凭证用于终端设备访问业务节点。第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名。第一鉴权信息包括与身份验证信息相匹配的用户身份信息。第一服务节点向终端设备发送登录请求对应的登录响应,该登录响应包括第一凭证信息。
本申请中,用户在终端设备上登录时,第一服务节点向终端设备提供业务凭证和鉴权凭证。该鉴权凭证能够用于终端设备在第一服务节点发生通信故障时,向第二服务节点进行身份验证,以获取第二服务节点提供的业务凭证。这样,当第一服务节点发生通信故障时,终端设备能够自动将业务切换至第二服务节点,实现用户侧业务在主备节点之间的平滑切换,整个切换过程用户无感知,可以保证用户体验。另外,本申请方案不受用户登录方式以及数据库性能的限制,应用局限性低。
可选地,第一鉴权信息还包括签名算法、对第一鉴权凭证的有效期的指示或第一随机数中的一个或多个。
可选地,第二服务节点接收来自终端设备的鉴权请求,该鉴权请求包括第一鉴权凭证。第二服务节点采用第二密钥对第一鉴权凭证中的签名进行验证。如果第二服务节点对第一鉴权凭证中的签名验证通过,第二服务节点生成第二凭证信息。第二凭证信息包括第二业务凭证和第二鉴权凭证。第二业务凭证用于终端设备访问业务节点。第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名。第二鉴权信息包括第一鉴权信息中的用户身份信息。第二服务节点向终端设备发送鉴权请求对应的鉴权响应,该鉴权响应包括第二凭证信息。
本申请中,第二服务节点接收到来自终端设备的鉴权请求之后,能够基于该鉴权请求中的鉴权凭证对终端设备进行身份验证,再向验证通过的终端设备提供新的业务凭证,以保证终端设备上的业务能够持续运行,提高用户体验。
可选地,第二鉴权信息还包括签名算法、对第二鉴权凭证的有效期的指示或第二随机数中的一个或多个。
可选地,第一密钥和第二密钥为共享密钥。或者,第一密钥为私钥,第二密钥为公钥。
第二方面,提供了一种实现容灾的业务通信方法。该方法应用于容灾系统。容灾系统包括第一服务节点和第二服务节点。第二服务节点为第一服务节点的应用级灾备节点。该方法包括:终端设备向第一服务节点发送登录请求,该登录请求包括身份验证信息。终端设备接收来自第一服务节点的登录请求对应的登录响应。该登录响应包括第一凭证信息。第一凭证信息包括第一业务凭证和第一鉴权凭证。第一业务凭证用于终端设备访问业务节点。第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名。第一鉴权信息包括与身份验证信息相匹配的用户身份信息。
本申请中,用户在终端设备上登录时,终端设备会接收到第一服务节点提供的业务凭证和鉴权凭证。该鉴权凭证能够用于终端设备在第一服务节点发生通信故障时,向第二服务节点进行身份验证,以获取第二服务节点提供的业务凭证。这样,当第一服务节点发生通信故障时,终端设备能够自动将业务切换至第二服务节点,实现用户侧业务在主备节点之间的平滑切换,整个切换过程用户无感知,可以保证用户体验。另外,本申请方案不受用户登录方式以及数据库性能的限制,应用局限性低。
可选地,当第一服务节点发生通信故障时,终端设备向第二服务节点发送鉴权请求,该鉴权请求包括第一鉴权凭证。终端设备接收来自第二服务节点的鉴权请求对应的鉴权响应,该鉴权响应包括第二凭证信息。第二凭证信息包括第二业务凭证和第二鉴权凭证。第二业务凭证用于终端设备访问业务节点。第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名。第二鉴权信息包括用户身份信息。
本申请中,终端设备只需存储服务节点提供的鉴权凭证,当服务节点发生通信故障时,终端设备能够基于该鉴权凭证自动向另一个服务节点进行身份验证,以维持业务运行,此过程用户无感知,可以提高用户体验。另外终端设备无需存储类似于用户账号和密码等身份验证信息,因此本申请方案实施安全性较高。
可选地,当第一服务节点和第二服务节点均发生通信故障时,终端设备向业务节点发送访问请求,该访问请求包括终端设备接收到的最新鉴权凭证。
本申请中,当容灾系统中的多个服务节点同时发生通信故障时,业务节点可以接管鉴权服务,实现业务节点本地逃生能力,维持在线业务的持续运行,提高业务通信可靠性,进而可以提升用户体验。
可选地,访问请求还包括用户身份信息对应的用户权限信息。
第三方面,提供了一种容灾系统中的第一服务节点,该容灾系统还包括第二服务节点,第二服务节点为第一服务节点的应用级灾备节点。第一服务节点包括:接收模块,用于接收来自终端设备的登录请求,登录请求包括身份验证信息。生成模块,用于如果对身份验证信息验证通过,生成第一凭证信息,第一凭证信息包括第一业务凭证和第一鉴权凭证,第一业务凭证用于终端设备访问业务节点,第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名,第一鉴权信息包括与身份验证信息相匹配的用户身份信息。发送模块,用于向终端设备发送登录请求对应的登录响应,登录响应包括第一凭证信息。
可选地,第一鉴权信息还包括签名算法、对第一鉴权凭证的有效期的指示或随机数中的一个或多个。
第四方面,提供了一种容灾系统中的第二服务节点,容灾系统还包括第一服务节点,第二服务节点为第一服务节点的应用级灾备节点。第二服务节点包括:接收模块,用于接收来自终端设备的鉴权请求,鉴权请求包括第一鉴权凭证,第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名,第一鉴权信息包括用户身份信息。验证模块,用于采用第二密钥对第一鉴权凭证中的签名进行验证。生成模块,用于如果对第一鉴权凭证中的签名验证通过,根据第一鉴权信息中的用户身份信息生成第二凭证信息,第二凭证信息包括第二业务凭证和第二鉴权凭证,第二业务凭证用于终端设备访问业务节点,第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名,第二鉴权信息包括用户身份信息。发送模块,用于向终端设备发送鉴权请求对应的鉴权响应,鉴权响应包括第二凭证信息。
可选地,第二鉴权信息还包括签名算法、对第二鉴权凭证的有效期的指示或随机数中的一个或多个。
可选地,第一密钥和第二密钥为共享密钥;或者,第一密钥为私钥,第二密钥为公钥。
第五方面,提供了一种终端设备。终端设备包括:发送模块,用于向容灾系统中的第一服务节点发送登录请求,登录请求包括身份验证信息,容灾系统还包括第二服务节点,第二服务节点为第一服务节点的应用级灾备节点。接收模块,用于接收来自第一服务节点的登录请求对应的登录响应,登录响应包括第一凭证信息,第一凭证信息包括第一业务凭证和第一鉴权凭证,第一业务凭证用于终端设备访问业务节点,第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名,第一鉴权信息包括与身份验证信息相匹配的用户身份信息。
可选地,发送模块,还用于当第一服务节点发生通信故障时,向第二服务节点发送鉴权请求,鉴权请求包括第一鉴权凭证。接收模块,还用于接收来自第二服务节点的鉴权请求对应的鉴权响应,鉴权响应包括第二凭证信息,第二凭证信息包括第二业务凭证和第二鉴权凭证,第二业务凭证用于终端设备访问业务节点,第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名,第二鉴权信息包括用户身份信息。
可选地,发送模块,还用于当第一服务节点和第二服务节点均发生通信故障时,向业务节点发送访问请求,访问请求包括终端设备接收到的最新鉴权凭证。
可选地,访问请求还包括用户身份信息对应的用户权限信息。
第六方面,提供了一种实现容灾的业务通信系统。该业务通信系统包括:容灾系统和终端设备。容灾系统包括如第三方面所述的第一服务节点以及如第四方面所述的第二服务节点,第二服务节点为第一服务节点的应用级灾备节点。终端设备为如第五方面所述的终端设备。
可选地,业务通信系统还包括业务节点。终端设备用于当第一服务节点和第二服务节点均发生通信故障时,向业务节点发送访问请求,访问请求包括终端设备接收到的最新鉴权凭证,最新鉴权凭证包括鉴权信息以及第一服务节点或第二服务节点采用第一密钥生成的对鉴权信息的签名,鉴权信息包括用户身份信息。业务节点用于采用第二密钥对最新鉴权凭证中的签名进行验证。如果对最新鉴权凭证中的签名验证通过,业务节点还用于根据用户身份信息对应的用户权限信息,向终端设备提供与用户权限信息相匹配的业务。
可选地,业务节点还用于在第一服务节点和/或第二服务节点恢复通信之后,向终端设备发送访问模式切换指令,访问模式切换指令用于指示终端设备向恢复通信的服务节点重新鉴权。
第七方面,提供了一种实现容灾的业务通信装置,包括:处理器和收发器。
处理器,用于调用计算机程序,协同收发器实现如第一方面及其各实施方式或第二方面及其各实施方式中第一服务节点、第二服务节点或终端设备执行的动作。
具体地,当业务通信装置为第一服务节点,处理器用于调用计算机程序,协同收发器实现如第一方面及其各实施方式中第一服务节点执行的动作。当业务通信装置为第二服务节点,处理器用于调用计算机程序,协同收发器实现如第一方面及其各实施方式中第二服务节点执行的动作。当业务通信装置为终端设备,处理器用于调用计算机程序,协同收发器实现如第二方面及其各实施方式中终端设备执行的动作。
第八方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有指令,当指令被处理器执行时,实现如第一方面及其各实施方式或第二方面及其各实施方式中第一服务节点、第二服务节点或终端设备执行的动作。
第九方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现如第一方面及其各实施方式或第二方面及其各实施方式中第一服务节点、第二服务节点或终端设备执行的动作。
第十方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现如第一方面及其各实施方式或第二方面及其各实施方式中第一服务节点、第二服务节点或终端设备执行的动作。
附图说明
图1是本申请实施例提供的一种容灾场景示意图;
图2是本申请实施例提供的一种实现容灾的业务通信方法;
图3是本申请实施例提供的一种容灾系统中的第一服务节点的结构示意图;
图4是本申请实施例提供的一种容灾系统中的第二服务节点的结构示意图;
图5是本申请实施例提供的一种终端设备的结构示意图;
图6是本申请实施例提供的一种实现容灾的业务通信装置的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种容灾场景示意图。如图1所示,该容灾场景包括:容灾系统101、多个业务节点102A-102C(统称为业务节点102)和终端设备103。容灾系统101包括多个服务节点。该多个服务节点包括服务节点101A和服务节点101B。服务节点101A与服务节点101B之间通过有线网络或无线网络连接。图1中各类设备的数量仅用作示例性说明,不作为对本申请实施例提供的容灾场景的限制。
可选地,一个服务节点可以是一个计算设备,或者可以是由多个计算设备组成的计算设备集群。计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。可选地,容灾系统101部署在云平台上。
在图1示出的容灾场景中,服务节点101A和服务节点101B部署在不同区域(region),即服务节点101A和服务节点101B异地部署。例如,服务节点101A部署在区域A,服务节点101B部署在区域B。可选地,服务节点101A是容灾生产中心(简称主节点)。服务节点101B是异地灾备中心(简称备节点)。服务节点101B为服务节点101A的应用级灾备节点。也即是,容灾系统101能够实现应用级容灾。应用级容灾以数据级容灾为基础进行构建。在应用级容灾中,主备节点之间通过同步或异步复制技术实现数据库同步,并且备节点构建有一套与主节点相同的应用系统。这样当主节点发生故障时,一些在线业务可快速切换至备节点,使得一些重要或关键的业务在允许的时间范围内恢复运行,尽可能减少灾难带来的损失,让用户基本感受不到灾难的发生,这样使得容灾系统所提供的服务是完整的、可靠的和安全的。容灾生产中心和异地灾备中心之间可以通过广域网实现数据传输。本申请实施例中,主备节点之间同步的数据包括用户相关信息,包括但不限于身份验证信息、用户身份信息和用户权限信息。例如在线会议服务场景中,用户权限信息包括共享会议资源权限、共享桌面权限、发言权限等。
可选地,请继续参见图1,服务节点101A和服务节点101B包括多个服务功能模块,包括鉴权服务(authentication service)功能模块、状态管理服务(status managerservice)功能模块和数据管理服务(data manager service)功能模块。其中,鉴权服务功能模块用于对终端设备103进行身份验证,即为终端设备103进行登录鉴权,并为通过验证的终端设备103签发凭证信息,该凭证信息包括业务凭证。区别于现有技术,本申请实施例中的凭证信息还包括鉴权凭证,对鉴权凭证的具体解释详见以下方法实施例的相关介绍。鉴权服务功能模块还用于为业务节点102验证来自终端设备103的业务凭证的真实性和有效性,即为业务节点102进行业务凭证鉴权。状态管理服务功能模块用于监控和维护自身状态,并基于监控状态仲裁容灾切换策略。容灾切换后主备节点状态切换,具体表现为主节点降备,备节点升主。例如,服务节点101A发生故障后,服务节点101B中的状态管理服务功能模块将服务节点101B切换为容灾生产中心,后续服务节点101A启动之后,服务节点101A中的状态管理服务功能模块将服务节点101A切换为异地灾备中心,也即是,容灾切换后,服务节点101A和服务节点101B的主备身份互换,服务节点101A为服务节点101B的应用级灾备节点。主节点中的数据管理服务功能模块用于将管理的用户数据、组织数据、租户数据和业务配置数据等通过数据库跨域binlog同步到备节点,实现业务相关基础静态持久化数据实时同步。容灾切换后,主备节点状态切换,相应地,数据库反向进行同步,确保容灾后变更数据也能实时同步刷新。
可选地,容灾系统中的服务节点统一运行网络时间协议(network timeprotocol,NTP),以实现主备节点的时间同步。
可选地,容灾系统可以采用异地容灾部署或者两地三中心容灾部署。采用异地容灾部署的容灾系统包括容灾生产中心和异地灾备中心。若容灾生产中心发生灾难,可在异地灾备中心实现业务切换。采用两地三中心容灾部署的容灾系统包括容灾生产中心、同城灾备中心和异地灾备中心。若容灾生产中心发生灾难,可在同城灾备中心实现业务切换,并保持与异地灾备中心的容灾关系;若容灾生产中心和同城灾备中心均发生灾难,可在异地灾备中心实现业务切换。本申请实施例以容灾系统采用异地容灾部署为例进行说明,例如参见图1。
可选地,业务节点102可以是一个服务器,或者可以是由多个服务器组成的服务器集群。业务节点102用于为用户提供相应权限的软件服务,包括但不限于对业务逻辑和用户权限进行控制和管理。业务节点102能够向服务节点进行业务凭证鉴权,以确定用户权限等信息。多个业务节点102A-102C可以分别部署在多个区域中。例如参见图1,业务节点102A部署在区域1,业务节点102B部署在区域2,业务节点102C部署在区域3。
可选地,终端设备103可以是手机、电脑或智能可穿戴设备等。终端设备103上安装有客户端。终端设备103能够基于其上安装的客户端向服务节点进行登录鉴权,在获取服务节点签发的业务凭证之后,基于该业务凭证向业务节点102发起访问请求,以享用对应的应用服务。应用服务指:通过各个类型的应用(application,APP)为终端设备提供的服务,比如计算处理服务,应用上线服务,内容存储服务,在线会议服务,等等。
用户侧通过终端设备访问业务节点的流程包括:用户在终端设备上登录时,终端设备基于登录操作获取用户的身份验证信息,然后向服务节点发送包含该身份验证信息的登录请求。服务节点对该身份验证信息验证通过之后,向终端设备发送业务凭证。终端设备基于该业务凭证访问业务节点。业务节点向服务节点验证来自终端设备的业务凭证是否真实有效。如果该业务凭证真实有效,业务节点向终端设备提供相应权限的软件服务。
由于服务节点发生故障后,该服务节点无法再为业务节点验证来自终端设备的业务凭证是否真实有效,因此业务节点会中断为终端设备提供的软件服务,此时终端设备无法再依赖于该服务节点继续访问业务节点。针对服务节点的容灾部署场景,相关技术提供了将用户侧业务从主节点切换到备节点的两种方案。
一种方案应用于用户登录时使用的身份验证信息是长久性凭证的情况,例如该身份验证信息为已注册的用户账号和密码。用户在终端设备上采用用户账号和密码登录时,终端设备保存用户账号和密码。当终端设备检测到主节点发生故障时,终端设备向备节点发送包含该用户账号和密码的登录请求,备节点对该用户账号和密码验证通过之后,向终端设备发送新的业务凭证。终端设备基于该新的业务凭证继续访问业务节点。业务节点向备节点验证来自终端设备的业务凭证是否真实有效。如果该业务凭证真实有效,业务节点向终端设备继续提供相应权限的软件服务。但是这种方案仅适用于用户登录时使用的身份验证信息是长久性凭证的情况,对于用户登录时使用例如动态验证码或二维码扫描信息等一次性凭证的身份验证信息的情况,这种方案无法实现用户侧业务在主备节点之间的自动切换,此时需要用户在终端设备上重新登录,因此这种方案的应用局限性较高。另外使用这种方案时,终端设备始终需要保存用户账号和密码,安全风险较大。
另一种方案是主备节点之间通过数据库同步备份业务凭证。主节点将生成的用于向终端设备发送的业务凭证通过数据库同步备份到备节点。当主节点发生故障时,终端设备基于主节点发送的业务凭证继续访问业务节点。业务节点向备节点验证来自终端设备的业务凭证是否真实有效。由于备节点中存储有主节点签发的业务凭证,因此备节点也能够判定来自终端设备的该业务凭证是否真实有效。但是由于大量终端设备的频繁登录操作,会导致主备节点之间通过数据库同步备份业务凭证时,涉及大量数据库输入/输出(input/output,I/O)访问,会影响数据库访问性能。
基于此,本申请实施例提供了一种实现容灾的业务通信方法。第一服务节点接收到来自终端设备的登录请求之后,如果第一服务节点对该登录请求中的身份验证信息验证通过,第一服务节点生成包含业务凭证和鉴权凭证的凭证信息,并向终端设备发送包含该凭证信息的登录响应。其中,业务凭证用于终端设备访问业务节点。鉴权凭证包括鉴权信息以及第一服务节点采用第一密钥生成的对鉴权信息的签名,该鉴权信息包括与该登录请求中的身份验证信息相匹配的用户身份信息。该鉴权凭证能够用于终端设备在第一服务节点发生通信故障时,向第二服务节点进行身份验证,以获取第二服务节点提供的业务凭证。这样,当第一服务节点发生通信故障时,终端设备能够自动将业务切换至第二服务节点,实现用户侧业务在主备节点之间的平滑切换,整个切换过程用户无感知,可以保证用户体验。另外,本申请方案不受用户登录方式以及数据库性能的限制,应用局限性低。
下面对本申请实施例的方法流程举例说明。
图2是本申请实施例提供的一种实现容灾的业务通信方法200的流程示意图。方法200应用于容灾系统,该容灾系统包括第一服务节点和第二服务节点。第二服务节点为第一服务节点的应用级灾备节点。如图2所示,该方法200包括步骤201至步骤211。
可选地,该容灾系统采用异地容灾部署。方法200中的第一服务节点为容灾生产中心,方法200中的第二服务节点为异地灾备中心。例如,该方法200可以应用于如图1所示的容灾场景,方法200中的容灾系统可以是容灾系统101,方法200中的第一服务节点可以是服务节点101A,方法200中的第二服务节点可以是服务节点101B,方法200中的业务节点可以是业务节点102,方法200中的终端设备可以是终端设备103。
或者,该容灾系统也可以采用两地三中心容灾部署。方法200中的第一服务节点为容灾生产中心,方法200中的第二服务节点为同城灾备中心。或者,方法200中的第一服务节点为同城灾备中心,方法200中的第二服务节点为异地灾备中心。
步骤201、终端设备向第一服务节点发送登录请求,该登录请求包括身份验证信息。
可选地,用户在终端设备上执行登录操作后,终端设备向第一服务节点发送登录请求。该登录操作例如可以是输入用户账号和密码,输入动态验证码(例如短信验证码),或者扫描二维码等。相应地,身份验证信息可以是用户账号和密码、动态验证码或者二维码扫描信息。身份验证信息还可以是其它能够验证身份的信息,本申请实施例对此不做限定。
步骤202、第一服务节点对该身份验证信息进行验证。
可选地,第一服务节点中预先存储有已注册的合法用户的身份验证信息。第一服务节点对登录请求中的身份验证信息进行验证,也即是,第一服务节点判断第一服务节点中是否存储有与该登录请求中的身份验证信息相匹配的身份验证信息。如果第一服务节点中存储有与该登录请求中的身份验证信息相匹配的身份验证信息,则第一服务节点判定对该身份验证信息验证通过,即在终端设备执行登录操作的用户为已注册的合法用户,此时第一服务节点允许用户登录。第一服务节点允许用户登录之后,可以继续执行以下步骤203至步骤204。如果第一服务节点中未存储有与该登录请求中的身份验证信息相匹配的身份验证信息,则第一服务节点判定对该身份验证信息验证未通过,即在终端设备执行登录操作的用户为非法用户,此时第一服务节点拒绝用户登录。
步骤203、如果第一服务节点对该身份验证信息验证通过,第一服务节点生成第一凭证信息,第一凭证信息包括第一业务凭证和第一鉴权凭证。
第一业务凭证用于终端设备访问业务节点。第一业务凭证为进行业务节点访问的授权凭证。终端设备基于第一业务凭证访问业务节点时,业务节点向第一服务节点请求对第一业务凭证进行鉴权,也即是请求验证第一业务凭证是否真实有效。第一服务节点对第一业务凭证鉴权通过之后,可以向业务节点返回与第一业务凭证相关联的用户身份数据和用户关联租户数据等,业务节点再基于鉴权结果对用户进行业务权限控制。本申请实施例中,租户指软件订购方,用户指软件使用方。一个租户可以包括一个或多个用户。
第一鉴权凭证为容灾后进行离线鉴权的凭证。第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名。第一鉴权信息包括与登录请求中的身份验证信息相匹配的用户身份信息。容灾系统中的服务节点存储有身份验证信息与用户身份信息的对应关系,第一服务节点对登录请求中的身份验证信息验证通过之后,可以获取该身份验证信息相匹配的用户身份信息,并根据该用户身份信息生成第一鉴权凭证。用户身份信息包括但不限于用户标识和/或用户关联的租户标识。这里使用的用户身份信息可以是能够在容灾系统中标识用户身份的相关脱敏数据(区别于用户账号和密码),与上述相关技术的第一种方案中终端设备直接保存用户账号和密码相比,终端设备获取并保存能够标识用户身份的相关脱敏数据,可以提高用户数据的安全性。
可选地,第一鉴权信息还包括签名算法、对第一鉴权凭证的有效期的指示或第一随机数中的一个或多个。对第一鉴权凭证的有效期的指示包括但不限于第一鉴权凭证的产生时间戳加有效时长,或者第一鉴权凭证的失效时间戳。通过在鉴权信息中携带随机数,能够用于验证消息新鲜性,有助于防范重放攻击。例如,第一鉴权凭证的发送结构如下。
“eyJhbGciOiJIbWFjU0hBMjU2IiwidXNlcklkIjoieHh4IiwidGVuYW50SWQiOiJ4eHgiLCJ0aW1lc3RhbXAiOjE1NTc5MDUzMDgsIm5vbmNlIjoieHh4eHh4eCJ9.xxxxxxxxx”
该发送结构对应的解析结构为:
{"alg":"HmacSHA256","userId":"xxx","tenantId":"xxx","timestamp":1557905308,"nonce":"xxxxxxx"}.signature
其中,"alg"表示签名算法。"userId"表示用户标识。"tenantId"表示租户标识。"timestamp"表示第一鉴权凭证的失效时间戳。"nonce"表示随机数。signature表示签名。
本申请实施例中,第一服务节点和第二服务节点中预置有相同的签名密钥。该签名密钥可以是共享密钥,或者也可以是一个密钥对,密钥对包括公钥和私钥。第一密钥可以是共享密钥,或者也可以是密钥对中的私钥。例如第一服务节点和第二服务节点内置有相同证书,第一密钥可以是证书私钥。或者,容灾系统中的服务节点也可以不依赖于证书,相互协商使用的密钥对。
可选地,容灾系统中的服务节点定期更新使用的签名密钥,以提高信息安全性。
可选地,第一凭证信息还包括第一刷新凭证。第一刷新凭证用于终端设备向第一服务节点请求刷新业务凭证和鉴权凭证。通过刷新凭证能够实现业务凭证和鉴权凭证的更新保活,解决终端设备长时间维持或者唤醒APP自动登录能力。刷新凭证的有效期通常比业务凭证和鉴权凭证的有效期要长。例如刷新凭证的有效期为1周,业务凭证的有效期为24小时。业务凭证和鉴权凭证的有效期可以相同,或者也可以不同。在业务凭证和鉴权凭证的有效期相同的情况下,当业务凭证和鉴权凭证即将到期时,终端设备可以基于刷新凭证向服务节点请求同时刷新业务凭证和鉴权凭证。在业务凭证和鉴权凭证的有效期不同的情况下,当业务凭证即将到期时,终端设备可以基于刷新凭证向服务节点请求刷新业务凭证。当鉴权凭证即将到期时,终端设备可以基于刷新凭证向服务节点请求刷新鉴权凭证。也即是,终端设备可以基于刷新凭证向服务节点请求单独刷新业务凭证或鉴权凭证。或者,当业务凭证或鉴权凭证即将到期时,终端设备也可以基于刷新凭证向服务节点请求同时刷新业务凭证和鉴权凭证。
可选地,当刷新凭证即将到期时,终端设备可以基于原有的刷新凭证向服务节点请求更新刷新凭证。或者,刷新凭证不支持自动刷新,则刷新凭证到期后,终端设备可以提示用户重新登录以向服务节点进行身份验证。本申请实施例中,刷新一个凭证包括刷新该凭证的有效期。
步骤204、第一服务节点向终端设备发送该登录请求对应的登录响应,该登录响应包括第一凭证信息。
终端设备接收到登录响应之后,可以基于第一业务凭证访问业务节点。具体地,终端设备可以向业务节点发送访问请求,该访问请求包括第一业务凭证。然后业务节点向第一服务节点请求对第一业务凭证鉴权。鉴权通过后,第一服务节点可以向业务节点发送用户权限信息,业务节点向终端设备提供相应权限的软件服务。
可选地,第一凭证信息包括第一刷新凭证。终端设备基于第一刷新凭证向第一服务节点请求刷新业务凭证和鉴权凭证。例如,第一业务凭证即将到期时,终端设备可以基于第一刷新凭证向第一服务节点发送凭证刷新请求,该凭证刷新请求包括第一刷新凭证,该凭证刷新请求用于请求刷新业务凭证。然后终端设备接收来自第一服务节点的凭证刷新响应,该凭证刷新响应包括更新后的业务凭证。终端设备采用更新后的业务凭证替换原有的业务凭证。又例如,第一鉴权凭证即将到期时,终端设备可以基于第一刷新凭证向第一服务节点发送凭证刷新请求,该凭证刷新请求包括第一刷新凭证,该凭证刷新请求用于请求刷新鉴权凭证。然后终端设备接收来自第一服务节点的凭证刷新响应,该凭证刷新响应包括更新后的鉴权凭证。终端设备采用更新后的鉴权凭证替换原有的鉴权凭证。
可选地,当终端设备检测到第一服务节点发生通信故障,可以继续执行以下步骤205至步骤208。终端设备判定第一服务节点发生通信故障的方式有多种,本申请实施例对此不做限定。例如,若终端设备在向第一服务节点发送凭证刷新请求后的预设时长内未接收到来自第一服务节点的凭证刷新响应,则终端设备确定第一服务节点发生通信故障。或者,终端设备与第一服务节点之间建立有长连接,若终端设备在预设时长内未接收到来自第一服务节点的心跳包,则终端设备确定第一服务节点发生通信故障。又或者,若终端设备接收到来自业务节点的访问失败响应,该访问失败响应指示第一服务节点通信故障,则终端设备确定第一服务节点发生通信故障。
步骤205、当第一服务节点发生通信故障时,终端设备向第二服务节点发送鉴权请求,该鉴权请求包括第一鉴权凭证。
第一服务节点发生通信故障之后,第二服务节点升级为主节点,用于提供鉴权服务。
步骤206、第二服务节点采用第二密钥对第一鉴权凭证中的签名进行验证。
可选地,第一密钥和第二密钥为共享密钥,即第一密钥和第二密钥为相同密钥。或者,第一密钥为私钥,第二密钥为公钥。例如第一密钥为证书私钥,第二密钥为证书公钥。
一种实现方式,第一密钥和第二密钥为共享密钥。第一服务节点采用第一密钥生成对第一鉴权信息的签名的实现方式为,第一服务节点采用第一密钥和加密算法计算第一鉴权信息的消息认证码(message authentication code,MAC)值,也即是该签名为MAC值。相应地,第二服务节点采用第二密钥对第一鉴权凭证中的签名进行验证的实现方式为,第二服务节点采用第二密钥和该加密算法计算接收到的第一鉴权凭证中的第一鉴权消息的MAC值。如果第二服务节点计算得到的MAC值与第一鉴权凭证中携带的MAC值相同,则说明第一鉴权信息未被篡改,此时第二服务节点确定对第一鉴权凭证中的签名验证通过。反之,如果第二服务节点计算得到的MAC值与第一鉴权凭证中携带的MAC值不同,则说明第一鉴权信息被篡改,此时第二服务节点确定对第一鉴权凭证中的签名验证不通过。其中,加密算法例如可以是HmacSHA256,本申请实施例对加密算法不做限定。
另一种实现方式,第一密钥为私钥,第二密钥为公钥。第一服务节点采用第一密钥生成对第一鉴权信息的签名的实现方式为,第一服务节点采用哈希算法计算得到第一鉴权信息的摘要值,然后采用第一密钥对第一鉴权信息的摘要值进行加密得到签名。相应地,第二服务节点采用第二密钥对第一鉴权凭证中的签名进行验证的实现方式为,第二服务节点采用第二密钥对签名进行解密,得到摘要值,并使用相同的哈希算法计算接收到的第一鉴权凭证中的第一鉴权消息的摘要值。如果第二服务节点计算得到的摘要值与解密得到的摘要值相同,则说明第一鉴权信息未被篡改,此时第二服务节点确定对第一鉴权凭证中的签名验证通过。反之,如果第二服务节点计算得到的摘要值与解密得到的摘要值不同,则说明第一鉴权信息被篡改,此时第二服务节点确定对第一鉴权凭证中的签名验证不通过。
步骤207、如果第二服务节点对第一鉴权凭证中的签名验证通过,第二服务节点生成第二凭证信息,第二凭证信息包括第二业务凭证和第二鉴权凭证。
第二业务凭证用于终端设备访问业务节点。第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名。第二鉴权信息包括第一鉴权信息中的用户身份信息。可选地,第二鉴权信息还包括签名算法、对第二鉴权凭证的有效期的指示或第二随机数中的一个或多个。
可选地,第二凭证信息还包括第二刷新凭证。第二刷新凭证用于终端设备向第二服务节点请求刷新业务凭证和鉴权凭证。
此步骤207中关于对第二业务凭证、第二鉴权凭证和第二刷新凭证的解释可分别参考上述步骤203中对第一业务凭证、第一鉴权凭证和第一刷新凭证的相关解释,本申请实施例在此不再赘述。
可选地,第一鉴权信息包括对第一鉴权凭证的有效期的指示。如果第一鉴权凭证处于有效期内,第二服务节点生成第二凭证信息。如果第一鉴权凭证超出有效期,第二服务节点可以向终端设备发送鉴权失败指示,该鉴权失败指示用于提示用户重新登录。
可选地,第一鉴权凭证中的用户身份信息为用户标识和/或用户关联的租户标识。第二服务节点可以根据用户标识和/或租户标识查询本地数据库以获取用户完整信息。
步骤208、第二服务节点向终端设备发送该鉴权请求对应的鉴权响应,该鉴权响应包括第二凭证信息。
终端设备接收到鉴权响应之后,可以基于第二业务凭证继续访问业务节点。具体地,终端设备可以向业务节点发送访问请求,该访问请求包括第二业务凭证。然后业务节点向第二服务节点请求对第二业务凭证鉴权。鉴权通过后,第二服务节点可以向业务节点发送用户权限信息,业务节点向终端设备提供相应权限的软件服务。
本申请实施例中,用户在终端设备上登录时,第一服务节点向终端设备提供业务凭证和鉴权凭证。该鉴权凭证能够用于终端设备在第一服务节点发生通信故障时,向第二服务节点进行身份验证,以获取第二服务节点提供的业务凭证。这样,当第一服务节点发生通信故障时,终端设备能够自动将业务切换至第二服务节点,实现用户侧业务在主备节点之间的平滑切换,整个切换过程用户无感知,可以保证用户体验。另外,本申请方案不受用户登录方式以及数据库性能的限制,应用局限性低。
可选地,后续如果第一服务节点恢复正常通信,第一服务节点可以作为第二服务节点的应用级灾备节点。或者,终端设备可以执行类似步骤205的动作,向第一服务节点发送包括第二鉴权凭证的鉴权请求,以将业务切换回第一服务节点。
可选地,业务节点中预置有与容灾系统中的服务节点相同的签名密钥。该签名密钥可以是共享密钥,或者也可以是一个密钥对,密钥对包括公钥和私钥。第一密钥可以是共享密钥,或者也可以是密钥对中的私钥。例如业务节点与容灾系统中的服务节点内置有相同证书,第一密钥可以是证书私钥。或者,业务节点与容灾系统中的服务节点也可以不依赖于证书,相互协商使用的密钥对。可选地,业务节点与容灾系统中的服务节点定期更新使用的签名密钥,以提高信息安全性。
可选地,当终端设备检测到第一服务节点和第二服务节点均发生通信故障,可以继续执行以下步骤209至步骤211。终端设备判定服务节点发生通信故障的方式可参考上述步骤204的相关内容,本申请实施例在此不再赘述。
步骤209、当第一服务节点和第二服务节点均发生通信故障时,终端设备向业务节点发送访问请求,该访问请求包括终端设备接收到的最新鉴权凭证。
可选地,该访问请求还包括用户身份信息对应的用户权限信息。该用户权限信息可以通过扩展字段的方式添加在鉴权凭证中。结合上述步骤201至步骤208,终端设备接收到的最新鉴权凭证为第二鉴权凭证。例如,第一服务节点先发生通信故障,第一服务节点提供的业务凭证失效,终端设备将业务切换至第二服务节点。若第二服务节点发生通信故障,并且第一服务节点还未恢复正常通信,此时第二服务节点提供的业务凭证也失效,终端设备可以向业务节点发送携带有第二服务节点发送的鉴权凭证的访问请求。
步骤210、业务节点采用第二密钥对该最新鉴权凭证中的签名进行验证。
此步骤210的实现方式可参考上述步骤206的实现方式,本申请实施例在此不再赘述。
步骤211、如果业务节点对该最新鉴权凭证中的签名验证通过,业务节点根据用户身份信息对应的用户权限信息,向终端设备提供与用户权限信息相匹配的业务。
本申请实施例中,当容灾系统中的多个服务节点同时发生通信故障时,业务节点可以接管鉴权服务,实现业务节点本地逃生能力,维持在线业务的持续运行,提高业务通信可靠性,进而可以提升用户体验。
可选地,在第一服务节点和/或所述第二服务节点恢复通信之后,业务节点向终端设备发送访问模式切换指令,该访问模式切换指令用于指示终端设备向恢复通信的服务节点重新鉴权。可选地,业务节点在监测到服务节点恢复通信之后,可以通过websocket链路通知终端设备向恢复通信的服务节点重新鉴权。终端设备向服务节点重新鉴权的流程可参考上述步骤205至步骤208,本申请实施例在此不再赘述。
综上所述,在本申请实施例提供的实现容灾的业务通信方法中,用户在终端设备上登录时,第一服务节点向终端设备提供业务凭证和鉴权凭证。该鉴权凭证能够用于终端设备在第一服务节点发生通信故障时,向第二服务节点进行身份验证,以获取第二服务节点提供的业务凭证。这样,当第一服务节点发生通信故障时,终端设备能够自动将业务切换至第二服务节点,实现用户侧业务在主备节点之间的平滑切换,整个切换过程用户无感知,可以保证用户体验。另外,本申请方案不受用户登录方式以及数据库性能的限制,应用局限性低。进一步地,当容灾系统中的多个服务节点同时发生通信故障时,业务节点可以接管鉴权服务,实现业务节点本地逃生能力,维持在线业务的持续运行,提高业务通信可靠性,进而可以提升用户体验。
本申请实施例提供的实现容灾的业务通信方法的步骤的先后顺序能够进行适当调整,步骤也能够根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内。
下面对本申请实施例的虚拟装置举例说明。
例如,图3是本申请实施例提供的一种容灾系统中的第一服务节点的结构示意图。该容灾系统还包括第二服务节点。第二服务节点为第一服务节点的应用级灾备节点。如图3所示,第一服务节点300包括:接收模块301、生成模块302和发送模块303。
接收模块301,用于接收来自终端设备的登录请求,该登录请求包括身份验证信息。
生成模块302,用于如果对身份验证信息验证通过,生成第一凭证信息,第一凭证信息包括第一业务凭证和第一鉴权凭证,第一业务凭证用于终端设备访问业务节点,第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名,第一鉴权信息包括与身份验证信息相匹配的用户身份信息。
发送模块303,用于向终端设备发送登录请求对应的登录响应,该登录响应包括第一凭证信息。
这里,接收模块301、生成模块302和发送模块303的详细工作过程请参照前面方法实施例中的描述。例如,接收模块301的工作方式可参考上述方法200中的步骤201。生成模块302的工作方式可参考上述方法200中的步骤203。发送模块303的工作方式可参考上述方法200中的步骤204。本申请实施例在此不再重复描述。
可选地,第一鉴权信息还包括签名算法、对第一鉴权凭证的有效期的指示或随机数中的一个或多个。
例如,图4是本申请实施例提供的一种容灾系统中的第二服务节点的结构示意图。该容灾系统还包括第一服务节点。第二服务节点为第一服务节点的应用级灾备节点。如图4所示,第二服务节点400包括:接收模块401、验证模块402、生成模块403和发送模块404。
接收模块401,用于接收来自终端设备的鉴权请求,该鉴权请求包括第一鉴权凭证,第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名,第一鉴权信息包括用户身份信息。
验证模块402,用于采用第二密钥对第一鉴权凭证中的签名进行验证。
生成模块403,用于如果对第一鉴权凭证中的签名验证通过,根据第一鉴权信息中的用户身份信息生成第二凭证信息,第二凭证信息包括第二业务凭证和第二鉴权凭证,第二业务凭证用于终端设备访问业务节点,第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名,第二鉴权信息包括用户身份信息。
发送模块404,用于向终端设备发送鉴权请求对应的鉴权响应,该鉴权响应包括第二凭证信息。
这里,接收模块401、验证模块402、生成模块403和发送模块404的详细工作过程请参照前面方法实施例中的描述。例如,接收模块401的工作方式可参考上述方法200中的步骤205。验证模块402的工作方式可参考上述方法200中的步骤206。生成模块403的工作方式可参考上述方法200中的步骤207。发送模块404的工作方式可参考上述方法200中的步骤208。本申请实施例在此不再重复描述。
可选地,第二鉴权信息还包括签名算法、对第二鉴权凭证的有效期的指示或随机数中的一个或多个。
可选地,第一密钥和第二密钥为共享密钥;或者,第一密钥为私钥,第二密钥为公钥。
值的说明的是,第一服务节点300可以具备第二服务节点400的功能,第二服务节点400也可以具备第一服务节点300的功能。也即是,本申请实施例提供的容灾系统中的服务节点可以同时具备第一服务节点300的功能和第二服务节点400的功能。这样每个服务节点既可以作为容灾生产中心,或者又可以作为灾备中心。
例如,图5是本申请实施例提供的一种终端设备的结构示意图。如图5所示,终端设备500包括:发送模块501和接收模块502。
发送模块501,用于向容灾系统中的第一服务节点发送登录请求,该登录请求包括身份验证信息,容灾系统还包括第二服务节点,第二服务节点为第一服务节点的应用级灾备节点。
接收模块502,用于接收来自第一服务节点的登录请求对应的登录响应,该登录响应包括第一凭证信息,第一凭证信息包括第一业务凭证和第一鉴权凭证,第一业务凭证用于终端设备访问业务节点,第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名,第一鉴权信息包括与身份验证信息相匹配的用户身份信息。
这里,发送模块501和接收模块502的详细工作过程请参照前面方法实施例中的描述。例如,发送模块501的工作方式可参考上述方法200中的步骤201。接收模块502的工作方式可参考上述方法200中的步骤204。本申请实施例在此不再重复描述。
可选地,发送模块501,还用于当第一服务节点发生通信故障时,向第二服务节点发送鉴权请求,该鉴权请求包括第一鉴权凭证。接收模块502,还用于接收来自第二服务节点的鉴权请求对应的鉴权响应,该鉴权响应包括第二凭证信息,第二凭证信息包括第二业务凭证和第二鉴权凭证,第二业务凭证用于终端设备访问业务节点,第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名,第二鉴权信息包括用户身份信息。这里,发送模块501的工作方式可参考上述方法200中的步骤205。接收模块502的工作方式可参考上述方法200中的步骤208。本申请实施例在此不再重复描述。
可选地,发送模块501,还用于当第一服务节点和第二服务节点均发生通信故障时,向业务节点发送访问请求,该访问请求包括终端设备接收到的最新鉴权凭证。这里,发送模块501的工作方式可参考上述方法200中的步骤209。
可选地,访问请求还包括用户身份信息对应的用户权限信息。
下面对本申请实施例的系统举例说明。
例如,本申请实施例提供的一种实现容灾的业务通信系统可以应用于如图1所示的容灾场景。该业务通信系统包括:容灾系统和终端设备。容灾系统包括如图3所示的第一服务节点以及如图4所示的第二服务节点。第二服务节点为第一服务节点的应用级灾备节点。终端设备为如图5所示的终端设备。第一服务节点、第二服务节点与终端设备之间的交互流程可参考上述方法200中的步骤201至步骤208,本申请实施例在此不再赘述。
可选地,业务通信系统还包括业务节点。终端设备用于当第一服务节点和第二服务节点均发生通信故障时,向业务节点发送访问请求。访问请求包括终端设备接收到的最新鉴权凭证。最新鉴权凭证包括鉴权信息以及第一服务节点或第二服务节点采用第一密钥生成的对鉴权信息的签名。鉴权信息包括用户身份信息。业务节点用于采用第二密钥对最新鉴权凭证中的签名进行验证。如果对最新鉴权凭证中的签名验证通过,业务节点还用于根据用户身份信息对应的用户权限信息,向终端设备提供与用户权限信息相匹配的业务。
可选地,业务节点还用于在第一服务节点和/或第二服务节点恢复通信之后,向终端设备发送访问模式切换指令,该访问模式切换指令用于指示终端设备向恢复通信的服务节点重新鉴权。
这里,终端设备与业务节点的交互流程可参考上述方法200中的步骤209至步骤211,本申请实施例在此不再赘述。
下面对本申请实施例的硬件结构举例说明。
本申请实施例还提供了一种实现容灾的业务通信装置。包括:处理器和收发器。所述处理器,用于调用计算机程序,协同所述收发器实现上述方法200中第一服务节点、第二服务节点、终端设备或业务节点执行的动作。
例如,图6是本申请实施例提供的一种实现容灾的业务通信装置的硬件结构示意图。该业务通信装置可以是容灾系统中的任一服务节点,或者是终端设备,又或者是业务节点。如图6所示,业务通信装置600包括处理器601和存储器602,存储器601与存储器602通过总线603连接。图6以处理器601和存储器602相互独立说明。可选地,处理器601和存储器602集成在一起。
其中,存储器602用于存储计算机程序,计算机程序包括操作系统和程序代码。存储器602是各种类型的存储介质,例如只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)、闪存、光存储器、寄存器、光盘存储、光碟存储、磁盘或者其它磁存储设备。
其中,处理器601是通用处理器或专用处理器。处理器601可能是单核处理器或多核处理器。处理器601包括至少一个电路,以执行本申请实施例提供的上述方法200中第一服务节点、第二服务节点、终端设备或业务节点执行的动作。
可选地,业务通信装置600还包括网络接口604,网络接口604通过总线603与处理器601和存储器602连接。网络接口604能够实现业务通信装置600与其它设备通信。例如服务节点的处理器601能够通过网络接口604与终端设备交互实现对终端设备的身份验证。服务节点的处理器601还能够通过网络接口604与业务节点交互实现为业务节点对业务凭证进行鉴权。
可选地,业务通信装置600还包括I/O接口605,I/O接口605通过总线603与处理器601和存储器602连接。处理器601能够通过I/O接口605接收输入的命令或数据等。I/O接口605用于业务通信装置600连接输入设备,这些输入设备例如是键盘、鼠标等。可选地,在一些可能的场景中,上述网络接口604和I/O接口605被统称为通信接口。
可选地,业务通信装置600还包括显示器606,显示器606通过总线603与处理器601和存储器602连接。显示器606能够用于显示处理器601执行上述方法产生的中间结果和/或最终结果等。在一种可能的实现方式中,显示器606是触控显示屏,以提供人机交互接口。
其中,总线603是任何类型的,用于实现业务通信装置600的内部器件互连的通信总线。例如系统总线。本申请实施例以业务通信装置600内部的上述器件通过总线603互连为例说明,可选地,业务通信装置600内部的上述器件采用除了总线603之外的其他连接方式彼此通信连接,例如业务通信装置600内部的上述器件通过业务通信装置600内部的逻辑接口互连。
上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。
图6所示的业务通信装置600仅仅是示例性的,在实现过程中,业务通信装置600包括其他组件,本文不再一一列举。图6所示的业务通信装置600可以通过执行上述实施例提供的方法中第一服务节点、第二服务节点、终端设备或业务节点的全部或部分步骤来实现业务通信。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现上述方法200中第一服务节点、第二服务节点或终端设备执行的动作。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现上述方法200中第一服务节点、第二服务节点或终端设备执行的动作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的身份验证信息、用户身份信息、用户权限信息等都是在充分授权的情况下获取的。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (24)

1.一种实现容灾的业务通信方法,其特征在于,应用于容灾系统,所述容灾系统包括第一服务节点和第二服务节点,所述第二服务节点为所述第一服务节点的应用级灾备节点,所述方法包括:
所述第一服务节点接收来自终端设备的登录请求,所述登录请求包括身份验证信息;
如果所述第一服务节点对所述身份验证信息验证通过,所述第一服务节点生成第一凭证信息,所述第一凭证信息包括第一业务凭证和第一鉴权凭证,所述第一业务凭证用于所述终端设备访问业务节点,所述第一鉴权凭证包括第一鉴权信息以及所述第一服务节点采用第一密钥生成的对所述第一鉴权信息的签名,所述第一鉴权信息包括与所述身份验证信息相匹配的用户身份信息;
所述第一服务节点向所述终端设备发送所述登录请求对应的登录响应,所述登录响应包括所述第一凭证信息。
2.根据权利要求1所述的方法,其特征在于,所述第一鉴权信息还包括签名算法、对所述第一鉴权凭证的有效期的指示或第一随机数中的一个或多个。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第二服务节点接收来自所述终端设备的鉴权请求,所述鉴权请求包括所述第一鉴权凭证;
所述第二服务节点采用第二密钥对所述第一鉴权凭证中的签名进行验证;
如果所述第二服务节点对所述第一鉴权凭证中的签名验证通过,所述第二服务节点生成第二凭证信息,所述第二凭证信息包括第二业务凭证和第二鉴权凭证,所述第二业务凭证用于所述终端设备访问所述业务节点,所述第二鉴权凭证包括第二鉴权信息以及所述第二服务节点采用所述第一密钥生成的对所述第二鉴权信息的签名,所述第二鉴权信息包括所述第一鉴权信息中的用户身份信息;
所述第二服务节点向所述终端设备发送所述鉴权请求对应的鉴权响应,所述鉴权响应包括所述第二凭证信息。
4.根据权利要求3所述的方法,其特征在于,所述第二鉴权信息还包括签名算法、对所述第二鉴权凭证的有效期的指示或第二随机数中的一个或多个。
5.根据权利要求3或4所述的方法,其特征在于,所述第一密钥和所述第二密钥为共享密钥;或者,所述第一密钥为私钥,所述第二密钥为公钥。
6.一种实现容灾的业务通信方法,其特征在于,应用于容灾系统,所述容灾系统包括第一服务节点和第二服务节点,所述第二服务节点为所述第一服务节点的应用级灾备节点,所述方法包括:
终端设备向所述第一服务节点发送登录请求,所述登录请求包括身份验证信息;
所述终端设备接收来自所述第一服务节点的所述登录请求对应的登录响应,所述登录响应包括第一凭证信息,所述第一凭证信息包括第一业务凭证和第一鉴权凭证,所述第一业务凭证用于所述终端设备访问业务节点,所述第一鉴权凭证包括第一鉴权信息以及所述第一服务节点采用第一密钥生成的对所述第一鉴权信息的签名,所述第一鉴权信息包括与所述身份验证信息相匹配的用户身份信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述第一服务节点发生通信故障时,所述终端设备向所述第二服务节点发送鉴权请求,所述鉴权请求包括所述第一鉴权凭证;
所述终端设备接收来自所述第二服务节点的所述鉴权请求对应的鉴权响应,所述鉴权响应包括第二凭证信息,所述第二凭证信息包括第二业务凭证和第二鉴权凭证,所述第二业务凭证用于所述终端设备访问所述业务节点,所述第二鉴权凭证包括第二鉴权信息以及所述第二服务节点采用所述第一密钥生成的对所述第二鉴权信息的签名,所述第二鉴权信息包括所述用户身份信息。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
当所述第一服务节点和所述第二服务节点均发生通信故障时,所述终端设备向所述业务节点发送访问请求,所述访问请求包括所述终端设备接收到的最新鉴权凭证。
9.根据权利要求8所述的方法,其特征在于,所述访问请求还包括所述用户身份信息对应的用户权限信息。
10.一种容灾系统中的第一服务节点,其特征在于,所述容灾系统还包括第二服务节点,所述第二服务节点为所述第一服务节点的应用级灾备节点,所述第一服务节点包括:
接收模块,用于接收来自终端设备的登录请求,所述登录请求包括身份验证信息;
生成模块,用于如果对所述身份验证信息验证通过,生成第一凭证信息,所述第一凭证信息包括第一业务凭证和第一鉴权凭证,所述第一业务凭证用于所述终端设备访问业务节点,所述第一鉴权凭证包括第一鉴权信息以及所述第一服务节点采用第一密钥生成的对所述第一鉴权信息的签名,所述第一鉴权信息包括与所述身份验证信息相匹配的用户身份信息;
发送模块,用于向所述终端设备发送所述登录请求对应的登录响应,所述登录响应包括所述第一凭证信息。
11.根据权利要求10所述的第一服务节点,其特征在于,所述第一鉴权信息还包括签名算法、对所述第一鉴权凭证的有效期的指示或随机数中的一个或多个。
12.一种容灾系统中的第二服务节点,其特征在于,所述容灾系统还包括第一服务节点,所述第二服务节点为所述第一服务节点的应用级灾备节点,所述第二服务节点包括:
接收模块,用于接收来自终端设备的鉴权请求,所述鉴权请求包括第一鉴权凭证,所述第一鉴权凭证包括第一鉴权信息以及所述第一服务节点采用第一密钥生成的对所述第一鉴权信息的签名,所述第一鉴权信息包括用户身份信息;
验证模块,用于采用第二密钥对所述第一鉴权凭证中的签名进行验证;
生成模块,用于如果对所述第一鉴权凭证中的签名验证通过,根据所述第一鉴权信息中的用户身份信息生成第二凭证信息,所述第二凭证信息包括第二业务凭证和第二鉴权凭证,所述第二业务凭证用于所述终端设备访问所述业务节点,所述第二鉴权凭证包括第二鉴权信息以及所述第二服务节点采用所述第一密钥生成的对所述第二鉴权信息的签名,所述第二鉴权信息包括所述用户身份信息;
发送模块,用于向所述终端设备发送所述鉴权请求对应的鉴权响应,所述鉴权响应包括所述第二凭证信息。
13.根据权利要求12所述的第二服务节点,其特征在于,所述第二鉴权信息还包括签名算法、对所述第二鉴权凭证的有效期的指示或随机数中的一个或多个。
14.根据权利要求12或13所述的第二服务节点,其特征在于,所述第一密钥和所述第二密钥为共享密钥;或者,所述第一密钥为私钥,所述第二密钥为公钥。
15.一种终端设备,其特征在于,所述终端设备包括:
发送模块,用于向容灾系统中的第一服务节点发送登录请求,所述登录请求包括身份验证信息,所述容灾系统还包括第二服务节点,所述第二服务节点为所述第一服务节点的应用级灾备节点;
接收模块,用于接收来自所述第一服务节点的所述登录请求对应的登录响应,所述登录响应包括第一凭证信息,所述第一凭证信息包括第一业务凭证和第一鉴权凭证,所述第一业务凭证用于所述终端设备访问业务节点,所述第一鉴权凭证包括第一鉴权信息以及所述第一服务节点采用第一密钥生成的对所述第一鉴权信息的签名,所述第一鉴权信息包括与所述身份验证信息相匹配的用户身份信息。
16.根据权利要求15所述的终端设备,其特征在于,
所述发送模块,还用于当所述第一服务节点发生通信故障时,向所述第二服务节点发送鉴权请求,所述鉴权请求包括所述第一鉴权凭证;
所述接收模块,还用于接收来自所述第二服务节点的所述鉴权请求对应的鉴权响应,所述鉴权响应包括第二凭证信息,所述第二凭证信息包括第二业务凭证和第二鉴权凭证,所述第二业务凭证用于所述终端设备访问所述业务节点,所述第二鉴权凭证包括第二鉴权信息以及所述第二服务节点采用所述第一密钥生成的对所述第二鉴权信息的签名,所述第二鉴权信息包括所述用户身份信息。
17.根据权利要求15或16所述的终端设备,其特征在于,
所述发送模块,还用于当所述第一服务节点和所述第二服务节点均发生通信故障时,向所述业务节点发送访问请求,所述访问请求包括所述终端设备接收到的最新鉴权凭证。
18.根据权利要求17所述的终端设备,其特征在于,所述访问请求还包括所述用户身份信息对应的用户权限信息。
19.一种实现容灾的业务通信系统,其特征在于,所述业务通信系统包括:容灾系统和终端设备,所述容灾系统包括如权利要求10或11所述的第一服务节点以及如权利要求12至14任一所述的第二服务节点,所述第二服务节点为所述第一服务节点的应用级灾备节点,所述终端设备为如权利要求15或16所述的终端设备。
20.根据权利要求19所述的业务通信系统,其特征在于,所述业务通信系统还包括业务节点;
所述终端设备用于当所述第一服务节点和所述第二服务节点均发生通信故障时,向所述业务节点发送访问请求,所述访问请求包括所述终端设备接收到的最新鉴权凭证,所述最新鉴权凭证包括鉴权信息以及所述第一服务节点或所述第二服务节点采用第一密钥生成的对所述鉴权信息的签名,所述鉴权信息包括用户身份信息;
所述业务节点用于采用第二密钥对所述最新鉴权凭证中的签名进行验证;
如果对最新鉴权凭证中的签名验证通过,所述业务节点还用于根据所述用户身份信息对应的用户权限信息,向所述终端设备提供与所述用户权限信息相匹配的业务。
21.根据权利要求20所述的业务通信系统,其特征在于,
所述业务节点还用于在所述第一服务节点和/或所述第二服务节点恢复通信之后,向所述终端设备发送访问模式切换指令,所述访问模式切换指令用于指示所述终端设备向恢复通信的服务节点重新鉴权。
22.一种实现容灾的业务通信装置,其特征在于,包括:处理器和收发器;
所述处理器,用于调用计算机程序,协同所述收发器实现如权利要求1至9任一所述的方法中第一服务节点、第二服务节点或终端设备执行的动作。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现如权利要求1至9任一所述的方法中第一服务节点、第二服务节点或终端设备执行的动作。
24.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至9任一所述的方法中第一服务节点、第二服务节点或终端设备执行的动作。
CN202210718976.7A 2022-06-23 2022-06-23 实现容灾的业务通信方法、装置及系统 Pending CN117318969A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210718976.7A CN117318969A (zh) 2022-06-23 2022-06-23 实现容灾的业务通信方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210718976.7A CN117318969A (zh) 2022-06-23 2022-06-23 实现容灾的业务通信方法、装置及系统

Publications (1)

Publication Number Publication Date
CN117318969A true CN117318969A (zh) 2023-12-29

Family

ID=89295901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210718976.7A Pending CN117318969A (zh) 2022-06-23 2022-06-23 实现容灾的业务通信方法、装置及系统

Country Status (1)

Country Link
CN (1) CN117318969A (zh)

Similar Documents

Publication Publication Date Title
AU2019236667B2 (en) System and method for decentralized identity management, authentication and authorization of applications
US11038873B2 (en) Time-based one time password (TOTP) for network authentication
CN112422532B (zh) 业务通信方法、系统、装置及电子设备
CN101981890B (zh) 安全工作组管理和通信的系统和方法
JP4304055B2 (ja) クライアントセッションフェイルオーバーを提供する方法および構造
US8971537B2 (en) Access control protocol for embedded devices
US20090158394A1 (en) Super peer based peer-to-peer network system and peer authentication method thereof
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
KR20150052261A (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
EP2248018A1 (en) Method and apparatus for authentication service application processes during service reallocation in high availability clusters
CN114338242B (zh) 一种基于区块链技术的跨域单点登录访问方法及系统
CN113424161A (zh) 用于使用区块链来认证用户的方法、系统和介质
US10791119B1 (en) Methods for temporal password injection and devices thereof
US11695751B2 (en) Peer-to-peer notification system
CN113259350A (zh) 一种基于密钥生成算法的密码学用户授权认证系统
US20060129815A1 (en) Generation of identities and authentication thereof
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
CN112261103A (zh) 一种节点接入方法及相关设备
CN112804063B (zh) 一种级联方法及相关装置
CN111600884B (zh) 一种网络认证智能卡及方法
CN117318969A (zh) 实现容灾的业务通信方法、装置及系统
CN114417309A (zh) 一种双向身份验证方法、装置、设备及存储介质
JP2007036845A (ja) チケット型メンバ認証装置及び方法
EP3815297B1 (en) Authentication through secure sharing of digital secrets previously established between devices
CN117395027A (zh) 基于分解光网络的区块链访问控制方法以及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication