本技术涉及通信,特别涉及一种实现容灾的业务通信方法、装置及系统。
背景技术:
1、软件即服务(software as a service,saas)是云计算的主要模式之一。saas模式下,供应商通过互联网提供软件,用户可以向供应商订购软件,然后通过网页(web)或供应商应用程序接口(application program interface,api)访问业务节点。业务节点用于提供软件服务。在saas模式下,具有共性需求的同一类用户被称为租户,用户最终以租户为单位租用软件。
2、用户侧通过终端设备访问业务节点的流程包括:用户在终端设备上登录时,终端设备基于登录操作获取用户的身份验证信息,然后向服务节点发送包含该身份验证信息的登录请求。服务节点对该身份验证信息验证通过之后,向终端设备发送业务凭证。终端设备基于该业务凭证访问业务节点。业务节点向服务节点验证来自终端设备的业务凭证是否真实有效。如果该业务凭证真实有效,业务节点向终端设备提供相应权限的软件服务。
3、目前为了避免单节点故障造成业务不可用,通常会对服务节点进行容灾部署。在一个服务节点故障时,由另一个服务节点接管业务,已保证在线业务的正常运行。如何在一个服务节点故障时,将用户侧业务平滑地切换到另一个服务节点上,是目前亟需解决的问题。
技术实现思路
1、本技术提供了一种实现容灾的业务通信方法、装置及系统,可以实现在一个服务节点故障时,将用户侧业务平滑地切换到另一个服务节点上。
2、第一方面,提供了一种实现容灾的业务通信方法。该方法应用于容灾系统。容灾系统包括第一服务节点和第二服务节点。第二服务节点为第一服务节点的应用级灾备节点。该方法包括:第一服务节点接收来自终端设备的登录请求,该登录请求包括身份验证信息。如果第一服务节点对身份验证信息验证通过,第一服务节点生成第一凭证信息。第一凭证信息包括第一业务凭证和第一鉴权凭证。第一业务凭证用于终端设备访问业务节点。第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名。第一鉴权信息包括与身份验证信息相匹配的用户身份信息。第一服务节点向终端设备发送登录请求对应的登录响应,该登录响应包括第一凭证信息。
3、本技术中,用户在终端设备上登录时,第一服务节点向终端设备提供业务凭证和鉴权凭证。该鉴权凭证能够用于终端设备在第一服务节点发生通信故障时,向第二服务节点进行身份验证,以获取第二服务节点提供的业务凭证。这样,当第一服务节点发生通信故障时,终端设备能够自动将业务切换至第二服务节点,实现用户侧业务在主备节点之间的平滑切换,整个切换过程用户无感知,可以保证用户体验。另外,本技术方案不受用户登录方式以及数据库性能的限制,应用局限性低。
4、可选地,第一鉴权信息还包括签名算法、对第一鉴权凭证的有效期的指示或第一随机数中的一个或多个。
5、可选地,第二服务节点接收来自终端设备的鉴权请求,该鉴权请求包括第一鉴权凭证。第二服务节点采用第二密钥对第一鉴权凭证中的签名进行验证。如果第二服务节点对第一鉴权凭证中的签名验证通过,第二服务节点生成第二凭证信息。第二凭证信息包括第二业务凭证和第二鉴权凭证。第二业务凭证用于终端设备访问业务节点。第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名。第二鉴权信息包括第一鉴权信息中的用户身份信息。第二服务节点向终端设备发送鉴权请求对应的鉴权响应,该鉴权响应包括第二凭证信息。
6、本技术中,第二服务节点接收到来自终端设备的鉴权请求之后,能够基于该鉴权请求中的鉴权凭证对终端设备进行身份验证,再向验证通过的终端设备提供新的业务凭证,以保证终端设备上的业务能够持续运行,提高用户体验。
7、可选地,第二鉴权信息还包括签名算法、对第二鉴权凭证的有效期的指示或第二随机数中的一个或多个。
8、可选地,第一密钥和第二密钥为共享密钥。或者,第一密钥为私钥,第二密钥为公钥。
9、第二方面,提供了一种实现容灾的业务通信方法。该方法应用于容灾系统。容灾系统包括第一服务节点和第二服务节点。第二服务节点为第一服务节点的应用级灾备节点。该方法包括:终端设备向第一服务节点发送登录请求,该登录请求包括身份验证信息。终端设备接收来自第一服务节点的登录请求对应的登录响应。该登录响应包括第一凭证信息。第一凭证信息包括第一业务凭证和第一鉴权凭证。第一业务凭证用于终端设备访问业务节点。第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名。第一鉴权信息包括与身份验证信息相匹配的用户身份信息。
10、本技术中,用户在终端设备上登录时,终端设备会接收到第一服务节点提供的业务凭证和鉴权凭证。该鉴权凭证能够用于终端设备在第一服务节点发生通信故障时,向第二服务节点进行身份验证,以获取第二服务节点提供的业务凭证。这样,当第一服务节点发生通信故障时,终端设备能够自动将业务切换至第二服务节点,实现用户侧业务在主备节点之间的平滑切换,整个切换过程用户无感知,可以保证用户体验。另外,本技术方案不受用户登录方式以及数据库性能的限制,应用局限性低。
11、可选地,当第一服务节点发生通信故障时,终端设备向第二服务节点发送鉴权请求,该鉴权请求包括第一鉴权凭证。终端设备接收来自第二服务节点的鉴权请求对应的鉴权响应,该鉴权响应包括第二凭证信息。第二凭证信息包括第二业务凭证和第二鉴权凭证。第二业务凭证用于终端设备访问业务节点。第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名。第二鉴权信息包括用户身份信息。
12、本技术中,终端设备只需存储服务节点提供的鉴权凭证,当服务节点发生通信故障时,终端设备能够基于该鉴权凭证自动向另一个服务节点进行身份验证,以维持业务运行,此过程用户无感知,可以提高用户体验。另外终端设备无需存储类似于用户账号和密码等身份验证信息,因此本技术方案实施安全性较高。
13、可选地,当第一服务节点和第二服务节点均发生通信故障时,终端设备向业务节点发送访问请求,该访问请求包括终端设备接收到的最新鉴权凭证。
14、本技术中,当容灾系统中的多个服务节点同时发生通信故障时,业务节点可以接管鉴权服务,实现业务节点本地逃生能力,维持在线业务的持续运行,提高业务通信可靠性,进而可以提升用户体验。
15、可选地,访问请求还包括用户身份信息对应的用户权限信息。
16、第三方面,提供了一种容灾系统中的第一服务节点,该容灾系统还包括第二服务节点,第二服务节点为第一服务节点的应用级灾备节点。第一服务节点包括:接收模块,用于接收来自终端设备的登录请求,登录请求包括身份验证信息。生成模块,用于如果对身份验证信息验证通过,生成第一凭证信息,第一凭证信息包括第一业务凭证和第一鉴权凭证,第一业务凭证用于终端设备访问业务节点,第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名,第一鉴权信息包括与身份验证信息相匹配的用户身份信息。发送模块,用于向终端设备发送登录请求对应的登录响应,登录响应包括第一凭证信息。
17、可选地,第一鉴权信息还包括签名算法、对第一鉴权凭证的有效期的指示或随机数中的一个或多个。
18、第四方面,提供了一种容灾系统中的第二服务节点,容灾系统还包括第一服务节点,第二服务节点为第一服务节点的应用级灾备节点。第二服务节点包括:接收模块,用于接收来自终端设备的鉴权请求,鉴权请求包括第一鉴权凭证,第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名,第一鉴权信息包括用户身份信息。验证模块,用于采用第二密钥对第一鉴权凭证中的签名进行验证。生成模块,用于如果对第一鉴权凭证中的签名验证通过,根据第一鉴权信息中的用户身份信息生成第二凭证信息,第二凭证信息包括第二业务凭证和第二鉴权凭证,第二业务凭证用于终端设备访问业务节点,第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名,第二鉴权信息包括用户身份信息。发送模块,用于向终端设备发送鉴权请求对应的鉴权响应,鉴权响应包括第二凭证信息。
19、可选地,第二鉴权信息还包括签名算法、对第二鉴权凭证的有效期的指示或随机数中的一个或多个。
20、可选地,第一密钥和第二密钥为共享密钥;或者,第一密钥为私钥,第二密钥为公钥。
21、第五方面,提供了一种终端设备。终端设备包括:发送模块,用于向容灾系统中的第一服务节点发送登录请求,登录请求包括身份验证信息,容灾系统还包括第二服务节点,第二服务节点为第一服务节点的应用级灾备节点。接收模块,用于接收来自第一服务节点的登录请求对应的登录响应,登录响应包括第一凭证信息,第一凭证信息包括第一业务凭证和第一鉴权凭证,第一业务凭证用于终端设备访问业务节点,第一鉴权凭证包括第一鉴权信息以及第一服务节点采用第一密钥生成的对第一鉴权信息的签名,第一鉴权信息包括与身份验证信息相匹配的用户身份信息。
22、可选地,发送模块,还用于当第一服务节点发生通信故障时,向第二服务节点发送鉴权请求,鉴权请求包括第一鉴权凭证。接收模块,还用于接收来自第二服务节点的鉴权请求对应的鉴权响应,鉴权响应包括第二凭证信息,第二凭证信息包括第二业务凭证和第二鉴权凭证,第二业务凭证用于终端设备访问业务节点,第二鉴权凭证包括第二鉴权信息以及第二服务节点采用第一密钥生成的对第二鉴权信息的签名,第二鉴权信息包括用户身份信息。
23、可选地,发送模块,还用于当第一服务节点和第二服务节点均发生通信故障时,向业务节点发送访问请求,访问请求包括终端设备接收到的最新鉴权凭证。
24、可选地,访问请求还包括用户身份信息对应的用户权限信息。
25、第六方面,提供了一种实现容灾的业务通信系统。该业务通信系统包括:容灾系统和终端设备。容灾系统包括如第三方面所述的第一服务节点以及如第四方面所述的第二服务节点,第二服务节点为第一服务节点的应用级灾备节点。终端设备为如第五方面所述的终端设备。
26、可选地,业务通信系统还包括业务节点。终端设备用于当第一服务节点和第二服务节点均发生通信故障时,向业务节点发送访问请求,访问请求包括终端设备接收到的最新鉴权凭证,最新鉴权凭证包括鉴权信息以及第一服务节点或第二服务节点采用第一密钥生成的对鉴权信息的签名,鉴权信息包括用户身份信息。业务节点用于采用第二密钥对最新鉴权凭证中的签名进行验证。如果对最新鉴权凭证中的签名验证通过,业务节点还用于根据用户身份信息对应的用户权限信息,向终端设备提供与用户权限信息相匹配的业务。
27、可选地,业务节点还用于在第一服务节点和/或第二服务节点恢复通信之后,向终端设备发送访问模式切换指令,访问模式切换指令用于指示终端设备向恢复通信的服务节点重新鉴权。
28、第七方面,提供了一种实现容灾的业务通信装置,包括:处理器和收发器。
29、处理器,用于调用计算机程序,协同收发器实现如第一方面及其各实施方式或第二方面及其各实施方式中第一服务节点、第二服务节点或终端设备执行的动作。
30、具体地,当业务通信装置为第一服务节点,处理器用于调用计算机程序,协同收发器实现如第一方面及其各实施方式中第一服务节点执行的动作。当业务通信装置为第二服务节点,处理器用于调用计算机程序,协同收发器实现如第一方面及其各实施方式中第二服务节点执行的动作。当业务通信装置为终端设备,处理器用于调用计算机程序,协同收发器实现如第二方面及其各实施方式中终端设备执行的动作。
31、第八方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有指令,当指令被处理器执行时,实现如第一方面及其各实施方式或第二方面及其各实施方式中第一服务节点、第二服务节点或终端设备执行的动作。
32、第九方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现如第一方面及其各实施方式或第二方面及其各实施方式中第一服务节点、第二服务节点或终端设备执行的动作。
33、第十方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现如第一方面及其各实施方式或第二方面及其各实施方式中第一服务节点、第二服务节点或终端设备执行的动作。