CN106571968B - 一种业务切换方法和系统 - Google Patents
一种业务切换方法和系统 Download PDFInfo
- Publication number
- CN106571968B CN106571968B CN201610992280.8A CN201610992280A CN106571968B CN 106571968 B CN106571968 B CN 106571968B CN 201610992280 A CN201610992280 A CN 201610992280A CN 106571968 B CN106571968 B CN 106571968B
- Authority
- CN
- China
- Prior art keywords
- server
- target
- handle information
- client
- identifier
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种业务切换方法和系统,涉及通信领域,用以解决现有技术中在服务器出现故障时不支持业务切换的问题,应用于集群系统中,集群系统包括源服务器、目标服务器和客户端,包括:源服务器向所述目标服务器发送目标句柄信息;源服务器向客户端发送目标句柄信息的标识,标识用于唯一识别所述目标句柄信息;当源服务器故障或者源服务器与所述客户端之间的网络断开时,目标服务器根据客户端发送的标识提供所述目标句柄信息。本发明实施例应用于源服务器故障场景或者源服务器与客户端之间的网络断开的场景中。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种业务切换方法和系统。
背景技术
SMB(Server Message Block,服务消息块)协议(例如,SMB2.0)主要用于在计算机间共享文件、打印机、串口等。SMB典型应用组网如图1所示。
SMB的SMB2.0协议的业务切换功能仅适用于网络故障(例如,网络闪断,即客户端201和服务器101之间的网络断开时间小于预设时间或者等于预设时间),而不适用于服务器出现故障(例如,crash)。因此,在如图1所示的SMB组网中,当服务器101发生故障时,客户端201和服务器101之间的业务就会中断。当SMB组网的网络故障时,业务切换具体过程为:服务器101接收客户端201发送的用于表明客户端201以预设方式打开目标文件的第一指令;服务器101根据该第一指令生成与该目标文件的Durable Handle(持久的句柄),并向客户端201发送该Durable Handle的标识(例如,ID);服务器101在确定服务器101和客户端201之间的网络故障时,服务器101清理其内存中除Durable Handle以外的其余资源,并将Durable Handle保留预设时间(例如,60S),若服务器101确定在预设时间与客户端201重新建立连接,且服务器101接收到客户端201发送的Durable Handle的标识,则服务器101根据Durable Handle的标识从内存中找回Durable handle进行恢复,并根据Durable handle所包括的期望权限打开Durable handle,以使得客户端201和服务器101之间的业务得以恢复。
但是,上述业务切换方法只能在客户端201和服务器101之间的网络出现闪断情况下进行业务切换,因此,若在预设时间内客户端201与服务器101未能成功连接,则在预设时间后服务器101会删掉其内存中的Durable Handle,使得客户端201无法通过DurableHandle的标识获取Durable Handle,对Durable Handle进行恢复,使得客户端201和服务器101之间的业务发生中断,同时如果服务器101完全故障了,则客户端201和服务器101之间的业务会发生中断。
发明内容
本发明的实施例提供一种业务切换方法和系统,用以解决现有技术中在服务器出现故障时不支持业务切换的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种业务切换方法,该方法应用于集群系统中,该集群系统包括源服务器、目标服务器和客户端,本发明实施例提供的方法包括:源服务器向目标服务器发送目标句柄信息;源服务器向客户端发送用于唯一识别目标句柄信息的标识,当源服务器故障或者源服务器与客户端之间的网络断开时,目标服务器根据客户端发送的标识提供目标句柄信息。
本发明实施例提供一种业务切换方法,通过源服务器将目标句柄信息发送至目标服务器,以将目标句柄信息在目标服务器中进行备份,这样,可以通过目标服务器接替目标句柄信息,当源服务器故障或者源服务器与客户端之间的网络断开时,由于客户端重新连接的服务器(例如目标服务器)有可能不是源服务器,因此,当目标服务器和客户端重新建立连接时,使得目标服务器可以根据客户端发送的标识提供目标句柄信息,以供后续可以根据客户端发送的访问请求消息按照目标句柄信息对目标文件进行恢复,从而使得客户端可以继续访问目标文件,实现了客户端和集群系统之间的业务(读数据操作/写数据操作)持续而不中断。
结合第一方面,在第一方面的第一种可能的实现方式中,集群系统还包括第一服务器,本发明实施例提供的方法还包括:第一服务器接收客户端发送的标识;第一服务器根据标识在本地查询是否保存有目标句柄信息;当第一服务器中未保存有目标句柄信息时,第一服务器向目标服务器发送携带有客户端发送的标识的第一请求消息,以从目标服务器中获取目标句柄信息。由于在集群系统中与客户端建立重新连接的服务器也有可能不是目标服务器,例如,第一服务器,因此在与客户端建立连接之后,第一服务器在确定本地不存在目标句柄信息时,可以通过与目标服务器进行交互,以获取目标句柄信息,这样可以通过第一服务器接替目标句柄信息,使得客户端在与源服务器断开之后,通过访问第一服务器实现对目标句柄信息的访问,从而实现业务的恢复。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,目标句柄信息中至少包括期望权限,期望权限用于指示访问目标句柄信息的服务器以第一预设方式打开目标文件;第一服务器从目标服务器中获取目标句柄信息之后,本发明实施例提供的方法还包括:第一服务器从目标句柄信息中获取期望权限;第一服务器以第一预设方式打开目标文件。
结合第一方面至第一方面的第二种可能的实现方式中任意一种可能的实现方式,在第一方面的第三种可能的实现方式中,第一服务器为与客户端请求访问的域名对应的服务器;或者,第一服务器中至少包括第一端口,该第一端口为源服务器上与客户端建立连接的端口。
结合第一方面至第一方面的第三种可能的实现方式中任意一种可能的实现方式,在第一方面的第四种可能的实现方式中,在源服务器向目标服务器发送目标句柄信息之后,本发明实施例提供的方法还包括:当源服务器故障或者源服务器与客户端之间的网络断开时,源服务器向集群系统发送用于指示集群系统中的每个服务器对标识所指示的目标句柄信息进行预设处理的第一广播消息;相应的,在目标服务器根据客户端发送的标识提供目标句柄信息之前,本发明实施例提供的方法还包括:目标服务器接收源服务器发送的用于指示集群系统中的每个服务器对标识所指示的目标句柄信息进行预设处理的第一广播消息。源服务器通过发送第一广播消息可以使得集群系统内每个服务器均接收到该第一广播消息所指示的内容。
结合第一方面至第一方面的第四种可能的实现方式中任意一种可能的实现方式,在第一方面的第五种可能的实现方式中,预设处理包括在预设时间之后删除存储在每个服务器中标识所指示的目标句柄信息,以及拒绝除客户端之外的其余客户端访问存储在每个服务器中标识所指示的目标句柄信息;相应的,目标服务器在接收源服务器发送的第一广播消息之后,本发明实施例提供的方法还包括:目标服务器若确定在预设时间内未接收到客户端发送的标识,则目标服务器在预设时间之后删掉存储在目标服务器中的标识所指示的目标句柄信息;目标服务器若确定在预设时间内存在除客户端之外的其他客户端请求访问存储在目标服务器中标识所指示的目标句柄信息,则目标服务器向其他客户端发送用于提示其他客户端无权限访问存储在所述目标服务器中的目标句柄信息的第一提示消息。本发明实施例中源服务器通过第一广播消息来指示集群系统中的其余服务器对目标句柄信息进行预设处理一方面可以使得若在预设时间之内无客户端访问目标文件信息,这样目标服务器在预设时间之后删掉存储在该目标服务器中的目标句柄信息,防止目标句柄信息泄露,另一方面可以阻止其他客户端发送的访问请求抢掉了客户端请求访问的目标句柄信息,以避免其由于目标句柄信息被抢掉造成的目标句柄信息恢复失败。
结合第一方面至第一方面的第五种可能的实现方式中任意一种可能的实现方式,在第一方面的第六种可能的实现方式中,在源服务器向目标服务器发送目标句柄信息之前,本发明实施例提供的方法还包括:源服务器从集群系统包括的至少两个服务器中确定源服务器的目标服务器,该目标服务器用于存储源服务器发送的目标句柄信息,本发明实施例通过确定目标服务器,以供源服务器将目标句柄信息备份至目标服务器上,这样可以使得源服务器在满足切换条件时,使得客户端和集群系统之间的业务持续不中断。
结合第一方面至第一方面的第六种可能的实现方式中任意一种可能的实现方式,在第一方面的第七种可能的实现方式中,源服务器从集群系统包括的至少两个服务器中确定源服务器的目标服务器,包括:源服务器获取用于确定目标服务器的目标标识;源服务器将至少两个服务器中与目标标识存在对应关系的服务器,确定为源服务器的目标服务器。本发明实施例通过获取目标标识,使得源服务器可以根据目标标识快速准确的从至少两个服务器中获取与目标标识存在对应关系的服务器,这样提高了集群系统的处理效率。
结合第一方面至第一方面的第七种可能的实现方式中任意一种可能的实现方式,在第一方面的第八种可能的实现方式中,源服务器获取用于确定目标服务器的目标标识,包括:源服务器向控制器发送用于指示控制器确定目标标识的第二请求消息;源服务器接收控制器发送的包括目标标识的第一响应消息;或者,源服务器从预设映射表中,获取目标标识;该预设映射表中至少存储有与源服务器对应的目标服务器的目标标识。本发明通过源服务器与控制器之间进行交互,可以确定目标标识,或者通过查询预设映射表来确定目标标识,这样可以快速的确定目标标识,以为后续确定目标服务器提供了可靠的保证。
第二方面,本发明实施例提供一种集群系统,该集群系统包括:源服务器、目标服务器和客户端,其中,源服务器用于向目标服务器发送目标句柄信息;以及用于向客户端发送用于唯一识别目标句柄信息的标识;当源服务器故障或者源服务器与客户端之间的网络断开时,目标服务器用于根据客户端发送的标识提供目标句柄信息。
结合第二方面,在第二方面的第一种可能的实现方式中,本发明实施例提供的集群系统还包括:第一服务器,用于接收客户端发送的标识;以及用于根据标识在本地查询是否保存有目标句柄信息;以及用于当第一服务器中未保存有目标句柄信息时,向目标服务器发送携带有客户端发送的标识的第一请求消息,以从目标服务器中获取目标句柄信息。
结合第二方面或第二方面的第一种可能的实现方式中,在第二方面的第二种可能的实现方式中,目标句柄信息中至少包括用于指示访问目标句柄信息的服务器以第一预设方式打开目标文件,第一服务器还用于:从目标句柄信息中获取期望权限;以及用于以第一预设方式打开目标文件。
结合第二方面至第二方面的第二种可能的实现方式中任意一种可能的实现方式,在第二方面的第三种可能的实现方式中,第一服务器为与客户端请求访问的域名对应的服务器;或者,第一服务器中至少包括第一端口,第一端口为源服务器上与客户端建立连接的端口。
结合第二方面至第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,当源服务器故障或者源服务器与客户端之间的网络断开时,源服务器还用于:向集群系统发送用于指示集群系统中的每个服务器对标识所指示的目标句柄信息进行预设处理的第一广播消息;相应的,目标服务器还用于:接收源服务器发送的用于指示集群系统中的每个服务器对标识所指示的目标句柄信息进行预设处理的第一广播消息。
结合第二方面至第二方面的第四种可能的实现方式中任意一种可能的实现方式,在第二方面的第五种可能的实现方式中,预设处理包括在预设时间之后删除存储在每个服务器中标识所指示的目标句柄信息,以及拒绝除客户端之外的其余客户端访问存储在每个服务器中标识所指示的目标句柄信息;相应的,目标服务器具体用于:若确定在预设时间内未接收到客户端发送的标识,则在预设时间之后删掉存储在目标服务器中的标识所指示的目标句柄信息;以及用于若确定在预设时间内存在除客户端之外的其他客户端请求访问存储在目标服务器中标识所指示的目标句柄信息,则向其他客户端发送用于提示其他客户端无权限访问存储在所述目标服务器中的目标句柄信息的第一提示消息。
结合第二方面至第二方面的第五种可能的实现方式中任意一种可能的实现方式,在第二方面的第六种可能的实现方式中,本发明实施例提供的源服务器还用于:从集群系统包括的至少两个服务器中确定源服务器的目标服务器,该目标服务器用于存储源服务器发送的目标句柄信息。
结合第二方面至第二方面的第六种可能的实现方式中任意一种可能的实现方式,在第二方面的第七种可能的实现方式中,源服务器具体用于获取用于指示确定目标服务器的目标标识;以及用于将至少两个服务器中与目标标识存在对应关系的服务器,确定为源服务器的目标服务器。本发明实施例通过获取目标标识,使得源服务器可以根据目标标识快速准确的从至少两个服务器中获取与目标标识存在对应关系的服务器,这样提高了集群系统的处理效率。
结合第一方面至第一方面的第七种可能的实现方式中任意一种可能的实现方式,在第一方面的第八种可能的实现方式中,源服务器获取用于指示确定目标服务器的目标标识,包括:源服务器向控制器发送用于指示控制器确定目标标识的第二请求消息;源服务器接收控制器发送的包括目标标识的第一响应消息;或者,源服务器从预设映射表中,获取目标标识;该预设映射表中至少存储有与源服务器对应的目标服务器的目标标识。本发明实施例中源服务器与控制器之间进行交互,可以确定目标标识,或者通过查询预设映射表来确定目标标识,这样可以快速的确定目标标识,以为后续确定目标服务器提供了可靠的保证。
第三方面,本发明实施例提供一种源服务器,该源服务器,包括:第一发送单元,用于向目标服务器发送目标句柄信息;第二发送单元,用于向客户端发送用于唯一识别目标句柄信息的标识。
结合第三方面,在第三方面的第一种可能的实现方式中,该源服务器还包括:
第三发送单元,用于当源服务器故障或者源服务器与客户端之间的网络断开时,向集群系统发送用于指示集群系统中的每个服务器对标识所指示的目标句柄信息进行预设处理的第一广播消息。
结合第三方面或者第三方面的第一种可能的实现方式中,在第三方面的第二种可能的实现方式中,预设处理包括在预设时间之后删除存储在每个服务器中标识所指示的目标句柄信息,以及拒绝除客户端之外的其余客户端访问存储在每个服务器中标识所指示的目标句柄信息。
结合第三方面至第三方面的第二种可能的实现方式中任意一种可能的实现方式,在第三方面的第三种可能的实现方式中,源服务器还包括:确定单元,用于从集群系统包括的至少两个服务器中确定源服务器的目标服务器,这个目标服务器用于存储源服务器发送的目标句柄信息。
结合第三方面至第三方面的第三种可能的实现方式中任意一种可能的实现方式,在第三方面的第四种可能的实现方式中,确定单元,包括:获取模块,用于获取确定目标服务器的目标标识;确定模块,用于将至少两个服务器中与目标标识存在对应关系的服务器,确定为源服务器的目标服务器。
结合第三方面至第三方面的第四种可能的实现方式中任意一种可能的实现方式,在第三方面的第五种可能的实现方式中,获取模块具体用于:向控制器发送用于指示控制器确定目标标识的第一请求消息;接收控制器发送的包括目标标识的第一响应消息;或者,从预设映射表中,获取目标标识;该预设映射表中至少存储有与源服务器对应的目标服务器的目标标识。
第四方面,本发明实施例提供一种源服务器,该源服务器包括:处理器、存储器和通信总线,该处理器和存储器通过通信总线连接,该存储器用于存储软件程序以及模块,该处理器用于运行软件程序以及模块,从而执行:向目标服务器发送目标句柄信息;以及向客户端发送用于唯一识别目标句柄信息的标识。
结合第四方面,在第四方面的第一种可能的实现方式中,本发明实施例提供的源服务器的处理器还用于:当源服务器故障或者源服务器与客户端之间的网络断开时,向集群系统发送用于指示集群系统中的每个服务器对标识所指示的目标句柄信息进行预设处理的第一广播消息。
结合第四方面或者第四方面的第一种可能的实现方式中,在第四方面的第二种可能的实现方式中,预设处理包括在预设时间之后删除存储在每个服务器中标识所指示的目标句柄信息,以及拒绝除客户端之外的其余客户端访问存储在每个服务器中标识所指示的目标句柄信息。
结合第四方面至第四方面的第二种可能的实现方式中任意一种可能的实现方式,在第四方面的第三种可能的实现方式中,本发明实施例提供的源服务器的处理器还用于:从集群系统包括的至少两个服务器中确定源服务器的目标服务器,这个目标服务器用于存储源服务器发送的目标句柄信息。
结合第四方面至第四方面的第三种可能的实现方式中任意一种可能的实现方式,在第四方面的第四种可能的实现方式中,本发明实施例提供的源服务器的处理器还用于:获取确定目标服务器的目标标识;以及将至少两个服务器中与目标标识存在对应关系的服务器,确定为源服务器的目标服务器。
结合第四方面至第四方面的第四种可能的实现方式中任意一种可能的实现方式,在第四方面的第五种可能的实现方式中,本发明实施例提供的源服务器的处理器还用于:向控制器发送用于指示控制器确定目标标识的第一请求消息,以及接收控制器发送的包括目标标识的第一响应消息;或者,从预设映射表中,获取目标标识;该预设映射表中至少存储有与源服务器对应的目标服务器的目标标识。
第五方面,本发明实施例提供一种目标服务器,该目标服务器包括:接收单元,用于接收源节点发送的目标句柄信息;存储单元,用于存储目标句柄信息;提供单元,用于根据客户端发送的标识,提供目标句柄信息。
结合第五方面,在第五方面的第一种可能的实现方式中,本发明实施例提供的目标服务器,包括:第二接收单元,用于接收第一服务器发送的携带有客户端发送的标识的第一请求消息,该第一请求消息用于指示目标服务器将标识所指示的目标句柄信息发送给第一服务器。提供单元,用于在确定第二接收单元接收到第一服务器发送的第一请求消息之后,向第一服务器提供标识所指示的目标句柄信息。
结合第五方面或第五方面的第一种可能的实现方式中,在第五方面的第二种可能的实现方式中,本发明实施例提供的目标服务器,包括:第三接收单元,用于接收客户端发送的携带有标识的第一访问请求消息,该第一访问请求消息用于指示对标识所指示的目标句柄信息进行恢复。恢复单元,用于根据该标识从提供单元处获取标识所指示的目标句柄信息,并打开目标句柄信息,以对目标句柄信息进行恢复。
第六方面,本发明实施例提供一种目标服务器,包括:处理器、存储器和通信总线,该处理器和存储器通过通信总线连接,该存储器用于存储软件程序以及模块,该处理器用于运行软件程序以及模块,从而执行:接收源节点发送的目标句柄信息,以及根据客户端发送的标识,提供目标句柄信息。
结合第六方面,在第六方面的第一种可能的实现方式中,本发明实施例提供的目标服务器的处理器还用于:接收第一服务器发送的携带有客户端发送的标识的第一访问请求消息,该第一访问请求消息用于指示目标服务器将标识所指示的目标句柄信息发送给第一服务器,以及在确定第二接收单元接收到第一服务器发送的第一访问请求消息之后,向第一服务器提供标识所指示的目标句柄信息。
结合第六方面或第六方面的第一种可能的实现方式中,在第六方面的第二种可能的实现方式中,本发明实施例提供的目标服务器的处理器用于:接收客户端发送的携带有标识的第一访问请求消息,该第一访问请求消息用于指示对标识所指示的目标句柄信息进行恢复,以及根据该标识从提供单元处获取标识所指示的目标句柄信息,并打开目标句柄信息,以对目标句柄信息进行恢复。
第七方面,本发明实施例提供一种服务器,该服务器包括:第一接收单元,用于接收客户端发送的携带有用于唯一识别目标句柄信息的标识的第一访问请消息。判断单元,用于根据标识在本地查询是否保存有目标句柄信息。获取单元,用于在确定本地未保存有目标句柄信息时,向目标服务器发送第一请求消息,以从目标服务器中获取目标句柄信息。
结合第七方面,在第七方面的第一种可能的实现方式中,目标句柄信息中至少包括用于指示访问所述目标句柄信息的服务器以第一预设方式打开目标文件的期望权限;该服务器还用于:从目标句柄信息中获取期望权限;以及用于以第一预设方式打开所述目标文件。
结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,该服务器为与客户端请求访问的域名对应的服务器;或者,该服务器中至少包括第一端口,该第一端口为源服务器上与客户端建立连接的端口。
结合第七方面至第七方面的第二种可能的实现方式,在第七方面的第三种可能的实现方式中,该服务器还包括:确定单元,用于从集群系统包括的至少两个服务器中确定存储有标识所指示的目标句柄信息的目标服务器。
结合第七方面至第七方面的第三种可能的实现方式中任意一种可能的实现方式,在第七方面的第四种可能的实现中,该确定单元包括:获取模块,用于获取用于确定目标服务器的目标标识;以及用于将至少两个服务器中与目标标识存在对应关系的服务器,确定为目标服务器。
结合第七方面至第七方面的第四种可能的实现方式中任意一种可能的实现方式,在第七方面的第五种可能的实现中,获取模块具体用于:向控制器发送用于指示控制器确定目标标识的第一请求消息,以及用于接收控制器发送的包括目标标识的第一响应消息;或者,从预设映射表中获取目标标识;该预设映射表中至少存储有与源服务器对应的目标服务器的目标标识。
结合第七方面至第七方面的第五种可能的实现方式中任意一种可能的实现方式,在第七方面的第六种可能的实现方式中,该服务器还包括:第二接收单元,用于接收源服务器发送的用于指示集群系统中的每个服务器对标识所指示的目标句柄信息进行预设处理的第一广播消息。
第八方面,本发明实施例提供一种服务器包括:处理器、存储器和通信总线,该处理器和存储器通过通信总线连接,该存储器用于存储软件程序以及模块,该处理器用于运行软件程序以及模块,从而执行:接收客户端发送的携带有用于唯一识别目标句柄信息的标识的第一访问请消息,第一访问请消息用于指示对标识所指示的目标句柄信息进行恢复,以及根据标识在本地查询是否保存有目标句柄信息,以及在确定本地未保存有目标句柄信息时,向目标服务器发送第一请求消息,以从目标服务器中获取目标句柄信息。
结合第八方面,在第八方面的第一种可能的实现方式中,目标句柄信息中至少包括用于指示访问目标句柄信息的服务器以第一预设方式打开目标文件的期望权限,该服务器的处理器还用于:从目标句柄信息中获取期望权限;以及用于以第一预设方式打开目标文件。
结合第八方面或第八方面的第一种可能的实现方式,在第八方面的第二种可能的实现方式中,该服务器为与客户端请求访问的域名对应的服务器;或者,该服务器中至少包括第一端口,该第一端口为源服务器上与客户端建立连接的端口。
结合第八方面至第八方面的第二种可能的实现方式,在第八方面的第三种可能的实现方式中,该服务器的处理器还用于:从集群系统包括的至少两个服务器中确定存储有标识所指示的目标句柄信息的目标服务器。
结合第八方面至第八方面的第三种可能的实现方式中任意一种可能的实现方式,在第八方面的第四种可能的实现中,该服务器的处理器还用于:获取用于确定目标服务器的目标标识;以及用于将至少两个服务器中与目标标识存在对应关系的服务器,确定为目标服务器。
结合第八方面至第八方面的第四种可能的实现方式中任意一种可能的实现方式,在第八方面的第五种可能的实现中,该服务器的处理器还用于:向控制器发送用于指示控制器确定目标标识的第一请求消息,以及用于接收控制器发送的包括目标标识的第一响应消息;或者,从预设映射表中获取目标标识;该预设映射表中至少存储有与源服务器对应的目标服务器的目标标识。
结合第八方面至第八方面的第五种可能的实现方式中任意一种可能的实现方式,在第八方面的第六种可能的实现方式中,该服务器的处理器还用于:接收源服务器发送的用于指示集群系统中的每个服务器对标识所指示的目标句柄信息进行预设处理的第一广播消息。
第九方面,本发明实施例提供一种客户端,该客户端包括:第一接收单元,用于接收源服务器发送的目标句柄信息的标识;第一发送单元,用于在源节点故障时,或者客户端与源节点在之间的网络断开时,向第一服务器发送携带有用于唯一识别目标句柄信息的标识的第一访问请求消息,该第一访问请求消息用于指示对标识所指示的目标句柄信息进行恢复。
第十方面,本发明实施例提供一种客户端,包括:处理器、存储器和通信总线,该处理器和存储器通过通信总线连接,该存储器用于存储软件程序以及模块,该处理器用于运行软件程序以及模块,从而执行:接收源服务器发送的目标句柄信息的标识;以及在源节点故障时,或者客户端与源节点在之间的网络断开时,向第一服务器发送携带有用于唯一识别目标句柄信息的标识的第一访问请求消息,该第一访问请求消息用于指示对标识所指示的目标句柄信息进行恢复。
第十一方面,本发明实施例提供一种集群系统,该集群系统包括第一服务器、源服务器、目标服务器和客户端,其中,源服务器采用第三方面至第三方面的第五种可能的实现方式中任意一种实现方式所描述的源服务器,目标服务器采用如第五方面至第五方面的第二种可能的实现方式中任意一种可能的实现方式所描述的目标服务器以及第七方面至第七方面的第六种可能的实现方式中任意一种可能的实现方式所描述的服务器,客户端采用本发明实施例第十一方面所描述的客户端。
第十二方面,本发明实施例提供一种集群系统,该集群系统包括第一服务器、源服务器、目标服务器和客户端,其中,源服务器采用第四方面至第四方面的第五种可能的实现方式中任意一种实现方式所描述的源服务器,目标服务器采用如第六方面至第六方面的第二种可能的实现方式中任意一种可能的实现方式所描述的目标服务器以及第八方面至第八方面的第六种可能的实现方式中任意一种可能的实现方式所描述的服务器,客户端采用本发明实施例第十二方面所描述的客户端。
第十三方面,本发明实施例提供了一种计算机存储介质,用于储存为第一方面所描述的业务切换方法所用的计算机软件指令,其包含用于执行第十二方面或第十三方面所描述的集群系统所设计的程序。
附图说明
图1为现有技术提供的SMB典型应用组网结构示意图;
图2a为本发明实施例提供的一种集群系统的结构示意图一;
图2b为本发明实施例提供的一种服务器的结构示意图;
图2c为本发明实施例提供的一种客户端的结构示意图;
图3为本发明实施例提供的一种业务切换方法的流程示意图一;
图4a为本发明实施例提供的一种集群系统的结构示意图二;
图4b为本发明实施例提供的一种集群系统的结构示意图三;
图5为本发明实施例提供的一种业务切换方法的流程示意图二;
图6为本发明实施例提供的一种业务切换方法的流程示意图三;
图7为本发明实施例提供的一种业务切换方法的流程示意图四;
图8为本发明实施例提供的一种集群系统的结构示意图四;
图9为本发明实施例提供的一种业务切换方法的流程示意图五;
图10为本发明实施例提供的一种业务切换方法的流程示意图六;
图11为本发明实施例提供的一种业务切换方法的流程示意图七;
图12a为本发明实施例提供的一种源服务器的结构示意图一;
图12b为本发明实施例提供的一种源服务器的结构示意图二;
图12c为本发明实施例提供的一种源服务器的硬件结构示意图;
图13a为本发明实施例提供的一种目标服务器的结构示意图一;
图13b为本发明实施例提供的一种目标服务器的结构示意图二;
图13c为本发明实施例提供的一种目标服务器的硬件结构示意图;
图14a为本发明实施例提供的一种服务器的结构示意图一;
图14b为本发明实施例提供的一种服务器的结构示意图二;
图14c为本发明实施例提供的一种服务器的硬件结构示意图。
具体实施方式
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本发明实施例提供一种集群系统,如图2a所示,图2a示出了可用于实现本发明实施例提供的一种业务切换方法的集群系统。该集群系统包括一个或多个服务器(例如,服务器203、服务器204和服务器205)以及一个或多个客户端(例如,客户端201和客户端202)。客户端201和客户端202通过网络与一个或多个服务器进行通信。在各实施例中,网络可以是因特网(又称:互联网,internet)、WAN(广域网,Wide Area Network)、LAN(局域网,LocalArea Network)或本领域已知的任何其他类型的网络。该一个或多个服务器上存储有一个或多个客户端请求访问的资源。一个或多个客户端与一个或多个服务器之间通过建立会话以访问一个或多个服务器上存储的资源。尽管在图2a中,仅有客户端201和客户端202被示为与一个或多个服务器进行通信,但是在其他实施例中,可以存在两个以上客户端从一个或多个服务器中访问资源。在各实施例中,有客户端201和客户端202可根据SMB2.0协议来访问一个或多个服务器或与其通信。在图2a中仅示出了三个服务器(服务器203、服务器204和服务器205),但是可以理解的是本发明实施例提供的集群系统还可以包括三个以上的服务器。
需要说明的是,本发明实施例中的集群系统还可以包括文件系统、数据库和控制器,该文件系统在逻辑上与一个或多个服务器连接在一起,使得该一个或多个服务器可以从组成该文件系统的一个或多个存储盘中获取资源,这样该一个或多个服务器之间能够通过文件系统共享资源。该集群系统中的数据库包括一个或多个服务器中的每一个服务器能够访问的一个或多个数据。
在逻辑上和至少一个或多个服务器集群在一起的文件系统确保作为集群系统的一部分,集群系统的每个服务器能访问该集群系统的任何资源,该资源可以是集群系统中提供的应用、文件、对象、数据或任何其他类型的资源,文件系统允许该一个或多个客户端访问和/或以其他方式操作该文件系统上的任何资源,而不论该客户端是否与一个或多个服务器建立连接。
在客户端尝试与集群系统中的服务器建立连接时,客户端可通过访问名称解析机制(例如,DNS(域名系统,Domain Name System)服务器,图2a中未示出)来获得其请求访问的服务器的地址。例如,客户端201向DNS服务器(需要说明的是,该DNS服务器可以是集群系统的一部分,也可以在集群系统外部。该集群系统将该一个或多个服务器注册在该DNS服务器中,这样DNS服务器可以向客户端返回其请求访问的域名对应的服务器的地址,该地址可以是IP地址、URL、URI或者本领域熟知的其他任何类型的地址)发送请求访问的域名,DNS服务器对该域名进行解析,并返回该域名对应的服务器的地址(该域名对应的服务器的地址可以为一个或多个),例如,DNS服务器向该客户端201返回的域名对应的服务器地址为203、204以及205。当DNS服务器向客户端201返回的IP地址包括多个时,客户端201可以选择连接到其从DNS服务器中接收到的多个地址中的第一地址所指示的服务器,但是在实际过程中,客户端201可能难以连接到该第一地址所标识的服务器(例如,服务器203),因为集群系统中的每个服务器都能够向客户端提供类似功能,所以客户端201也可以决定连接到该多个服务器中的另一个服务器(例如,服务器204),若客户端201不能成功连接到服务器203,则在第一预设时间之后客户端201可以决定连接到集群系统中的另一个服务器(例如,服务器204)。
在集群系统中,一旦客户端201连接到该集群系统中的服务器203,客户端201就保持连接到该服务器203,虽然每个服务器共享在逻辑上集群在一起的文件系统,但该客户端201的会话状态可以由其所连接的服务器203处理。客户端201可确保它保持连接到同一服务器,例如,如果客户端201和服务器203连接,则该客户端201可尝试确保它的所有连接和资源使用(例如,打开文件)都在服务器203上,这样,如果客户端201和服务器203之间的连接断开,则在它重新与集群系统中的服务器建立连接,可以连接到服务器203,也可以连接到服务器204或者服务器205,但是只有服务器203上保存有该客户端201的会话信息,因此,当客户端201重连的服务器不是服务器203时,则会导致客户端201的会话断开。同时,若服务器203故障后,则客户端201在预设时间内将无法连接到该服务器203上,这样会导致客户端201和服务器203之间的会话终止,从而导致客户端201和服务器203之间的业务中止。
因此,本发明实施例可以将服务器203上的会话信息备份至第一服务器(例如,服务器204)上,这样即使在服务器203故障或者客户端201与服务器203之间的网络断开,客户端201重新与集群系统建立连接时连接的服务器不是服务器203时,也可以通过服务器203备份在服务器204中的会话信息对客户端201的会话进行恢复。
需要说明的时,本发明实施例中服务器203备份至服务器204上的会话信息为目标句柄信息,该目标句柄信息是持久性的。该目标句柄信息为客户端201以第一预设方式访问访问服务器203时,服务器203向文件系统请求以该第一预设方式打开目标文件后生成的。
其中,如图2a中所描述的任意一个服务器也可以称为节点,至少一个服务器为可以为客户端201提供服务的网络设备,比如,服务器203、服务器204以及服务器205可以是具有服务器功能的计算机等。由于每个服务器的硬件结构相同,本发明实施例以服务器203为例介绍图2a所示的集群系统中每个服务器的硬件架构,参见图2b,服务器203包括存储器2031、处理器2032、系统总线2033、电源组件2034、输入\输出接口2035和通信组件2036等。其中,存储器2031可用于存储数据、软件程序以及模块,主要包括存储程序区和存储数据区,存储程序区可存储操作系统、至少一个功能所需的应用程序等,存储数据区可存储服务器203的使用所创建的数据等。处理器2032通过运行或执行存储在存储器2031内的软件程序和/或模块,以及调用存储在存储器2031内的数据,执行服务器203的各种功能和处理数据。系统总线2033包括地址总线、数据总线、控制总线,用于传输数据和指令;电源组件2034用于为服务器203的各个组件提供电源;输入\输出接口2035为处理器2032和外围接口模块之间提供接口;通信组件2036用于为服务器203和其他设备之间进行有线或无线方式的通信。在通信系统中,服务器203承担着数据的存储、转发、发布等关键任务,是各类基于客户机/服务器(Client/Server,简称:C/S)模式或者浏览器/服务器(Browser/Server,简称:B/S)模式网络中不可或缺的重要组成部分。
任意一个服务器为存储厂商提供的存储系统,该存储系统需要支持SMB2.0协议。该SMB2.0协议能被用于Warp连接和客户端与服务器之间的信息沟通。通过SMB2.0协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过SMB2.0协议,应用程序可以访问远程服务器端的文件、以及打印机、邮件槽(mailslot)、命名管道(named pipe)等资源。
一个或多个客户端201作为集群系统中被服务的对象,为客户提供本地服务,该客户端可以包括一个或者多个终端,只要该终端可以支持上述描述的WINDOWS操作系统以及Mac系统即可,参见图2c,该终端可以包括:存储器20111、处理器20112、输入单元20114、显示单元20115、电源20116以及一个或多个网卡20113等部件。其中,存储器20111可用于存储数据、软件程序以及模块,主要包括存储程序区和存储数据区,存储程序区可存储操作系统、至少一个功能所需的应用程序等。电源组件20116用于为客户端的各个组件提供电源;输入单元20114用于向客户端输入用户的操作指令;一个或多个网卡20113用于在服务器的网卡和客户端的网卡之间形成会话通道,以便传输业务。
本发明实施例对客户端具体的操作系统不进行限定,示例性的,该客户端的操作系统应该支持SMB2.0协议,示例性的,该客户端的操作系统可以是windows、MAC、Linux、solaris等各种操作系统。当然,其余支持SMB2.0协议的客户端也是可以作为本发明实施例提供的客户端。
基于上述的描述,如图3所示,本发明实施例提供一种业务切换方法,该方法应用于如图2a所示的集群系统中,该集群系统包括客户端、源服务器以及至少一个服务器,该方法包括:
S101、客户端向源服务器发送访问请求消息,该访问请求消息用于指示源服务器以第一预设方式打开目标文件。
S102、源服务器在内存中对该目标文件生成一个目标句柄信息。
具体的,在源服务器接收到该访问请求消息之后,向源服务器解析该访问请求消息,然后向文件系统请求打开目标文件(其中,文件系统中存储有很多的文件,集群系统中的每个服务器均可以根据客户端发送的访问请求中携带的目标地址访问存储在文件系统中该目标地址对应的目标文件),源服务器在成功打开目标文件后在源服务器的内存中生成一个句柄信息Handle(也即本发明实施例中提到的目标句柄信息),在该目标句柄信息中会记录源服务器请求打开该目标文件时的权限,排他权限以及范围锁等信息。这样在源服务器故障时,客户端可以通过其他的服务器以该目标句柄信息所记录的方式打开目标文件。
S103、源服务器向客户端发送用于获取目标句柄信息的标识,该标识用于唯一识别目标句柄信息。
S104、源服务器向目标服务器发送目标句柄信息;该目标服务器为至少一个服务器中源服务器的备份服务器。
S105、在客户端与源服务器之间的网络断开或者源服务器故障时,目标服务器根据客户端发送的标识提供所述目标句柄信息。
本发明实施例提供一种业务切换方法,通过源服务器将目标句柄信息发送至目标服务器,以将目标句柄信息在目标服务器中进行备份,这样,可以通过目标服务器接替目标句柄信息,当源服务器故障或者源服务器与客户端之间的网络断开时,由于客户端重新连接的服务器(例如目标服务器)有可能不是源服务器,因此,当目标服务器和客户端重新建立连接时,使得目标服务器可以根据客户端发送的标识提供目标句柄信息,以供后续可以根据客户端发送的访问请求消息按照目标句柄信息对目标文件进行恢复,从而使得客户端可以继续访问目标文件,实现了客户端和集群系统之间的业务(读数据操作/写数据操作)持续而不中断。
本发明实施例中的源服务器是指客户端在网络断开前与该集群系统中的服务器建立会话连接的服务器。目标服务器是指源服务器用于备份目标句柄信息的备份服务器。示例性的,如图2a所示,当该客户端连接到该集群系统中的服务器203时,则源服务器指服务器203。目标服务器是源服务器通过与集群系统中的设备(例如,用于确定每个服务器的备份服务器标识的控制器)或者与集群系统外的设备(例如,用于确定每个服务器的备份服务器标识的控制器)或者源服务器内存储的用于确定源服务器的备份服务器标识的预设映射表中获取的。例如,如图2a所示,源服务器为服务器203时,则源服务器的备份服务器可以是服务器204或者服务器202。
本发明实施例中的目标句柄信息指客户端以第一预设方式请求源服务器打开文件系统中的目标文件时,源服务器以第一预设方式打开该目标文件,并在其内存中对该目标文件产生的一个Durable Handle(持久句柄)。本发明实施例中,源服务器可以对该目标句柄信息附上标识,并返回给客户端,以使得在源服务器和客户端之间的网络断开或者源服务器故障时,客户端可以向其重新连接的服务器发送该标识,然后其重新连接的服务器根据目标句柄信息的标识重新获取目标句柄信息,以实现客户端对目标文件的继续访问。
本发明实施例中的第一预设方式指Durable Handle(持久句柄)方式。
本发明实施例中的目标句柄信息还可以包括排他权限,该排他权限用于指示拒绝除客户端之外的其余客户端访问该目标句柄信息。
本发明实施例中的目标句柄信息还包括范围锁,该范围锁用于对目标句柄信息所指示的文件进行加密,例如,对1-200kb进行加密。
本发明实施例中的标识为任何可以唯一标识该目标句柄信息的标识,例如,该目标句柄信息的ID或者IP。本发明实施例对此不进行限定。
可选的,本发明实施例中,由于客户端和源服务器之间的网络断开或者源服务器故障之后,客户端会重新与集群系统中的其他服务器(例如下述的第一服务器)建立连接,该客户端与集群系统中的其他服务器建立连接时,可以通过以下两种方式实现:
A、客户端通过IP地址与集群系统中的第一服务器建立连接,该IP地址为源服务器中第一端口的IP地址。
需要说明的是,在源服务器故障后,集群系统利用IP地址漂移技术将该源服务器的所有端口的IP地址漂移至该集群系统中的其余服务器。通常情况下,每台服务器都具有一个或多个网卡,每个网卡都具有一个IP地址,同时,还应该有一个漂移IP地址,该地址为工作IP地址。通过IP地址漂移技术,当本地进行服务器切换与路由切换,使客户端的发送和接收端没有感觉到本地接的服务器地址变化,保证了通信的连续性,起到断点保护的功效,使得网络能够正常运行。
例如,如图4a所示,客户端401在与服务器A之间的连接断开之后,服务器A(例如,上述的源服务器)的第一端口的IP漂移至服务器C(例如,上述的第一服务器),则当客户端401和集群系统中的服务器建立连接时,其可以通过该IP连接到服务器C上。
B1、如图4b所示,客户端401向DNS服务器发送请求消息,该请求消息用于指示请求访问第一域名;该第一域名为客户端访问源服务器时的域名;
B2、该DNS服务器对该第一域名进行解析后,向客户端返回该域名对应的一个或多个服务器的标识。
其中,服务器的标识可以指代该服务器的IP地址。
此时,该DNS服务器向该客户端返回的一个或多个服务器中可以包括如图4b所示的服务器A、服务器B和服务器C的标识,由于服务器A故障,因此,客户端可以选择与服务器C或者与服务器B重新建立连接。若服务器A没有故障,则客户端也可以选择同服务器A连接,也可以选择不与服务器A连接。
当该DNS服务器向该客户端返回的服务器的标识中只包括服务器C的标识时,则该客户端与服务器C建立连接。
B3、客户端与该DNS返回的一个或多个服务器的标识指示的一个或多个服务器中的一个服务器建立连接。
可选的,如图5所示,本发明实施例提供的业务切换方法,还包括:
S106、第一服务器接收客户端发送的标识。
S107、第一服务器根据标识在本地查询是否保存有目标句柄信息。
S108、当第一服务器中未保存有目标句柄信息时,第一服务器向目标服务器发送携带有客户端发送的标识的第一请求消息,以从目标服务器中获取目标句柄信息。
本发明实施例中步骤S107具体可以通过以下方式实现:
本发明实施例中第一服务器可以通过客户端发送的标识在其存储中进行查找,可以理解的是,每个服务器的存储单元中均会存储一个对应表,该对应表中包括一个或多个目标句柄信息以及该目标句柄信息对应的标识,第一服务器可以根据客户端发送的标识为索引,在对应表中查询该标识对应的目标句柄信息,若查找到该标识指示的目标句柄信息,则确定该第一服务器中存在目标句柄信息,若通过该标识在其存储中未查找到该标识指示的目标句柄信息,则确定该第一服务器中不存在目标句柄信息。
可选的,为了实现对业务的恢复,如图6所示,本发明实施例在步骤S108之后,还包括:
S109、第一服务器从目标句柄信息中获取期望权限。
具体的,第一服务器可以对该目标句柄信息进行解析,以从中获取目标句柄信息中包括的期望权限,范围锁,以及排他权限等信息。
S110、第一服务器以第一预设方式打开目标文件。
需要说明的是,该第一服务器若确定第一服务器中存在目标句柄信息(即客户端和源服务器断开之后,再次连接的第一服务器为源服务器将目标句柄信息所备份的目标服务器,也即客户端和源服务器断开之后,再次连接的服务器为目标服务器),则第一服务器可以直接根据标识从其内存中获取标识所指示的目标句柄信息,然后从该标识所指示的目标句柄信息中获取期望权限,然后以该期望权限打开目标文件。
可选的,如图7所示,在步骤S108之前,本发明实施例还包括:
S111、第一服务器确定存储有标识所指示的目标句柄信息的目标服务器。
示例性的,本发明实施例提供的步骤S111具体可以通过以下方式实现:
S1111、第一服务器获取存储有标识所指示的目标句柄信息的服务器的标识;该服务器的标识用于指示确定目标服务器。
其中,服务器的标识用于唯一识别一个服务器,可以为该服务器的IP地址或者服务器的MAC地址或者服务器的产品编号。
S1112、第一服务器将至少两个服务器中与该服务器的标识存在对应关系的服务器,确定为目标服务器。
具体的,本发明实施例中的步骤S1111可以通过以下方式实现:
一方面,第一服务器向控制器发送第一查询消息,该第一查询消息用于指示控制器确定该存储有标识所指示的目标句柄信息的服务器的标识,该第一请求消息中携带有标识。
第一服务器接收该控制器发送的第一响应消息,该第一响应消息中携带有服务器的标识,该服务器的标识用于指示确定目标服务器。
具体的,本发明实施例提供的用于唯一识别目标文件句柄信息的标识的结构中携带有生成该目标句柄信息的服务器的标识,例如,本发明实施例中是源服务器生成的目标句柄信息,因此,该目标句柄信息的标识的结构中携带有源服务器的标识。
在第一服务器在接收到用于唯一识别目标文件句柄信息的标识之后对该标识进行解析,以确定源服务器的标识,然后向控制器发送第一请求消息,该第一请求消息中携带有源服务器的标识,该第一请求消息用于指示控制器确定源服务器的备份服务器的标识,即目标服务器的标识或者,确定该存储有标识所指示的目标句柄信息的服务器的标识。
本发明实施例提供的集群系统还包括控制器,该控制器用于确定每个服务器对应的备份服务器的标识。该控制器可以位于集群系统内部,也可以位于集群系统外。
示例性的,该控制器可以通过以下方式获取每个服务器对应的第一服务器的标识:
1A、该控制器中存储有关系视图,该关系视图包括每个服务器对应的备份服务器的标识。
示例性的,该关系视图可以为环形关系视图,服务器A,服务器B,服务器C以及服务器D,该四个服务器形成一个环形配对关系,服务器A->服务器B->服务器C->服务器D->服务器A,即服务器A将所有目标句柄信息备份至服务器B上,服务器B将所有目标句柄信息备份至服务器C上,依次类推。
该关系视图可以为Hash型关系视图,该控制器根据该目标句柄信息的key计算该目标句柄信息被存储的目标服务器的标识。
2A、该控制器从该关系视图中获取标识所指示的目标句柄信息所备份的目标服务器的标识。
以上通过第一服务器和控制器的交互,第一服务器即可确定目标服务器的标识。
1B、该控制器根据该第一服务器跟随文件系统的主备关系,选取文件系统的备份服务器作为目标服务器。
另一方面,该第一服务器中存储有预设映射表。
该第一服务器从该预设映射表中通过源服务器的标识确定该用于存储标识所指示的目标句柄信息的目标服务器的标识。
示例性的,该预设映射表可以如表1所示:
表1预设映射表
服务器标识 | 第一服务器标识 |
服务器1 | 服务器2 |
服务器2 | 服务器3 |
服务器3 | 服务器1 |
需要说明的是,该预设映射表中可以只包括该第一服务器对应的备份服务器的标识,也可以包括集群系统内每个服务器对应的备份服务器的标识。例如,源服务器的预设映射表中存储有源服务器对应的备份服务器的标识,即目标服务器的标识。
示例性的,如图8,图8与图4a的区别在于,图8在服务器C(即本发明实施例描述的第一服务器,也即客户端重新连接的服务器)确定目标服务器为服务器B之后,服务器C向该服务器B发送第一请求消息,然后服务器C接收服务器B发送的目标句柄信息。可以理解的是,在图4b所示的结构中,当服务器C确定目标服务器为服务器B之后,服务器C向该服务器B发送第一请求消息,然后服务器C接收服务器B发送的目标句柄信息。
可选的,如图9所示,本发明实施例在步骤S104之前还包括:
S104A、源服务器从至少一个服务器中确定源服务器对应的目标服务器,该目标服务器用于存储源服务器发送的目标句柄信息。
本发明实施例中集群系统可以有两个服务器,即源服务器和目标服务器,那么在源服务器故障时或者源服务器与客户端之间的网络断开之后,客户端重新连接的第一服务器就是目标服务器,当然,该集群系统中还可以有三个服务器,分别为源服务器、目标服务器和第一服务器,当然,还可以有三个以上的服务器。
具体的,步骤S104A具体可以通过以下步骤S104A1-S104A2来实现:
S104A1、源服务器获取目标服务器的标识;该目标服务器的标识用于指示确定目标服务器。
需要说明的是,在集群系统中可以对每个服务器设置唯一标识,以便其他服务器可以通过该标识确定该标识所指示的服务器。
S104A2、源服务器将至少一个服务器中与目标服务器的标识存在对应关系的服务器,确定为源服务器对应的备份服务器,也即目标服务器。
一方面,步骤S104A1可以通过以下步骤S104A11A-S104A12A来实现:
S104A11A、源服务器向控制器发送第二请求消息,第二请求消息用于指示控制器确定目标服务器的标识。
S104A12A、源服务器接收控制器发送的第一响应消息,该第一响应消息包括目标服务器的标识。
另一方面,步骤S104A具体可以通过以下步骤S104A11B来实现:
S104A11B、源服务器从预设映射表中,获取目标服务器的标识;预设映射表中至少存储有与源服务器对应的目标服务器的标识。
本发明实施例中每个服务器中均可以存储有预设映射表,该预设映射表中可以包括每个服务器的标识与该服务器对应的备份服务器的标识之间的对应关系,也可以只包括该服务器的标识与该服务器对应的备份服务器的标识之间的对应关系,例如,服务器A中存储的预设映射表中可以只包括该服务器A对应的备份服务器的标识。
可选的,如图10所示,在步骤S104之后,本发明实施例提供的方法还包括:
S112、源服务器故障或者源服务器与所述客户端之间的网络断开时,源服务器向集群系统发送用于指示集群系统中的每个服务器对标识所指示的目标句柄信息进行预设处理第一广播消息。
本发明实施例对该第一广播消息的形式不进行限定,任何只要能够在集群系统中进行传播信息的方式均可以作为本发明实施例中第一广播消息的形式。可以理解的是,本发明实施例中的第一广播消息中携带有目标句柄信息的标识。
相应的,在步骤S105之前,以集群系统中的一个服务器(例如下述的目标服务器)为例,)本发明实施例提供的方法还包括:
S113、目标服务器接收源服务器发送的第一广播消息。
可选的,本发明实施例提供的预设处理包括在预设时间之后删除存储在服务器中的目标句柄信息,以及拒绝除客户端之外的其余客户端访问存储在服务器中的目标句柄信息。
相应的,如图10所示,以至少一个服务器中的一个服务器(例如下述的目标服务器)为例,)在步骤S113之后,本发明实施例提供的方法还包括:
S114、目标服务器若确定在预设时间内未接收到客户端发送的标识,则目标服务器在预设时间之后删掉存储在所述目标服务器中的标识所指示的目标句柄信息。
S115、目标服务器若确定在预设时间内存在除客户端之外的其他客户端请求访问存储在目标服务器中的目标句柄信息,则目标服务器向其他客户端发送第一提示消息,第一提示消息用于提示其他客户端无权限访问存储在目标服务器中的目标句柄信息。
本发明实施例对上述预设时间不进行限定,该预设时间可以根据实际需要进行设置,例如,该预设时间可以为60S。
需要说明的是,本发明实施例中未收到客户端发送的标识,可以理解为目标服务器未直接接收到客户端发送的目标句柄信息的标识,也即客户端未和目标服务器建立连接,或者目标服务器没有间接的接收到客户端发送的目标句柄信息的标识,也即目标服务器未收到集群系统中除目标服务器之外的其余服务器发送的携带有客户端发送的标识的请求,以从目标服务器处获取标识所指示的目标句柄信息。
当然,需要说明的是,本发明实施例中不仅仅只有目标服务器判断是否在预设时间内未与客户端建立连接,第一服务器也可以判断,由于第一服务器中存储有目标句柄信息,若在预设时间内未与客户端建立连接请求,或者在预设时间内没有其他服务器访问该目标句柄信息,则该第一服务器删除存储在其内存中的目标句柄信息,同时若在预设时间内存在除客户端之外的其余客户端请求访问该目标句柄信息,则该第一服务器删掉存储在其内存中的目标句柄信息。
需要说明的是,本发明实施例中每个服务器均可以将其目标文件句柄信息进行备份,以供后续恢复目标文件。
下面结合具体实施例说明本发明实施例提供的业务切换方法,如图11所示:
S901、客户端向源服务器发送访问请求消息,该访问请求消息用于指示源服务器以第一预设方式打开该访问请求消息请求访问的目标文件。
具体的,该第一预设方式为持久句柄方式。该访问请求消息中携带有请求访问的目标文件的地址或者标识。
S902、源服务器向文件系统请求以第一预设方式打开目标文件,并生成该目标文件的目标句柄信息。
S903、源服务器向客户端发送用于获取目标句柄信息的标识。
S904、源服务器从至少一个服务器中确定目标服务器。
具体的,源服务器确定第一服务器的方式可以参见上述步骤S111的描述,本发明实施例在此不再赘述。
S905、源服务器向目标服务器发送目标句柄信息。
S906、目标服务器将目标句柄信息保存在其内存中。
S907、在源服务器故障或者源服务器与客户端之间的网络断开之后,源服务器向集群系统内除源服务器之外的其余服务器发送第一广播消息。
S908、在预设时间内,第一服务器接收客户端发送的第一访问请求消息,该第一访问请求消息中携带有目标句柄信息的标识,该第一访问请求消息用于请求访问目标文件。
S909、第一服务器判断该目标句柄信息的标识所指示的目标句柄信息是否存储在其内存中;若是则执行步骤S910,若否则执行步骤S911。
S910、第一服务器以目标句柄信息的期望权限请求文件系统打开目标文件。
S911、第一服务器确定标识所指示的目标句柄信息所存储的目标服务器。
S912、第一服务器向目标服务器发送第一请求消息,该第一请求消息用于指示获取目标句柄信息。
S913、第一服务器接收目标服务器发送的目标句柄信息。
S914、第一服务器对目标句柄信息进行解析,以获取目标句柄信息中的期望权限;
S915、第一服务器以期望权限向文件系统请求打开目标文件。
本发明实施例提供一种业务切换方法,通过源服务器将目标句柄信息发送至目标服务器,以将目标句柄信息在目标服务器中进行备份,这样,可以通过目标服务器接替目标句柄信息,当源服务器故障或者源服务器与客户端之间的网络断开时,由于客户端重新连接的服务器(例如目标服务器)有可能不是源服务器,因此,当目标服务器和客户端重新建立连接时,使得目标服务器可以根据客户端发送的标识提供目标句柄信息,以供后续可以根据客户端发送的访问请求消息按照目标句柄信息对目标文件进行恢复,从而使得客户端可以继续访问目标文件,实现了客户端和集群系统之间的业务(读数据操作/写数据操作)持续而不中断。
上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如源服务器、第一服务器、目标服务器等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对源服务器、目标服务器和第一服务器等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图12a示出了上述实施例中所涉及的源服务器的一种可能的结构示意图,源服务器10包括:生成单元1201,第一发送单元1202,第二发送单元1203,生成单元1201用于支持源服务器执行图3中的过程S102;图5中的过程S102,图6中的过程S102;图7中的过程S102,以及图9中的过程S102;图10中的过程S102以及图11中的过程S902;第一发送单元1202用于支持源服务器执行图3中的过程S103,图5中的过程S103,图6中的过程S103;图7中的过程S103,以及图9中的过程S103;图10中的过程S103以及图11中的过程S903;第二发送单元103用于支持源服务器10执行图3中的过程S104,图5中的过程S104,图6中的过程S104;图7中的过程S104,以及图9中的过程S104;图10中的过程S104以及图11中的过程S905。当然,源服务器10还包括确定单元,该确定单元用于指示源服务器执行图5中的过程S104A、图6中的过程S104A,图7中的过程S104A,图9中的过程S104A,以及图10中的过程S104A,图11中的过程S904;第三发送单元,用于支持源服务器执行图10中的过程S112、图11中的过程S907。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图12b示出了上述实施例中所涉及的源服务器的一种可能的结构示意图。源服务器120包括:处理模块1002和通信模块1003。处理模块1002用于对源服务器100的动作进行控制管理,例如,处理模块1002用于支持源服务器100执行图3中的过程S102,图5中的过程S102和过程S104A,图6中的过程S102和过程S104A;图7中的过程S102和过程S104A,图9中的过程S102和过程S104A,和/或用于本文所描述的技术的其它过程。通信模块1003用于支持源服务器100与其他网络实体的通信,例如与图2a至图9中示出的功能模块或网络实体之间的通信(例如,客户端、第一服务器、目标服务器等),通信模块1003用于支持源服务器100执行如图3中的过程S103以及过程S104;图5中的过程S103以及过程S104,图6中的过程S103以及过程S104,图7中的过程S103以及过程S104,图9中的过程S103和S104,图10中的过程S103以及过程S104、过程S112,以及图11中的过程S903、过程S904以及过程S907。源服务器100还可以包括存储模块1001,用于存储源服务器120的程序代码和数据。
其中,处理模块1002可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1003可以是收发器、收发电路或通信接口1102等。存储模块1003可以是存储器。
当处理模块1002为处理器,通信模块1003为通信接口1102,存储模块1001为存储器时,本发明实施例所涉及的源服务器可以为图12c所示的源服务器。
参阅图12c所示,该源服务器110包括:处理器1101、通信接口1102、存储器1103以及总线1104。其中,通信接口1102、处理器1101以及存储器1103通过总线1104相互连接;总线1104可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在采用对应各个功能划分各个功能模块的情况下,图13a示出了上述实施例中所涉及的目标服务器的一种可能的结构示意图,目标服务器包括:接收单元110,存储单元111,提供单元112。提供单元112用于支持目标服务器执行图3中的过程S105,图5中的过程S105,图6中的过程S105,图6中的过程S105,图7中的过程S105,图9中的过程S109,图10中的过程S105,图11中的过程S912A,存储单元111用于支持目标服务器执行图11中的过程S906,接收单元110用于支持目标服务器执行图10中的步骤S113,当然,目标服务器还包括处理单元,用于执行图10中的过程S114和过程S115。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图13b示出了上述实施例中所涉及的目标服务器的一种可能的结构示意图。目标服务器800包括:处理模块802和通信模块803。处理模块802用于对目标服务器的动作进行控制管理,例如,处理模块802用于支持目标服务器执行图3中的过程S105,图5中的过程S105,图6中的过程S105,图7中的过程S105,图8中的过程S105,以及图10中的过程S105、S114以及S115,以及图11中的过程S912A,和/或用于本文所描述的技术的其它过程。通信模块803用于支持目标服务器与其他网络实体的通信,例如与图4a、图4b中示出的功能模块或网络实体之间的通信,例如,服务器B、服务器A以及客户端401。目标服务器还可以包括存储模块801,用于存储目标服务器的程序代码和数据。
其中,处理模块802可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块803可以是收发器、收发电路或通信接口813等。存储模块801可以是存储器。
当处理模块802为处理器,通信模块803为通信接口813,存储模块801为存储器时,本发明实施例所涉及的目标服务器可以为图13c所示的目标服务器。
参阅图13c所示,该目标服务器810包括:处理器812、通信接口813、存储器811以及总线814。其中,通信接口813、处理器812以及存储器811通过总线814相互连接;总线814可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在采用对应各个功能划分各个功能模块的情况下,图14a示出了上述实施例中所涉及的服务器的一种可能的结构示意图,服务器包括:第一接收单元120,判断单元121以及获取单元122。第一接收单元120用于支持服务器执行图5中的过程S106、图6中的过程S106、图7中的过程S106、图9中的过程S106以及图10中的过程S106,判断单元121用于支持服务器执行图5的过程S107、图6中的过程S107、图7中的过程S107、图9中的过程S107以及图10中的过程S107,发送单元122用于支持服务器执行图5中的过程S108,图6中的过程S108、图7中的过程S108、图9中的过程S108,图10中的过程S108以及图11中的过程S912。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图14b示出了上述实施例中所涉及的服务器的一种可能的结构示意图。服务器120包括:处理模块1202和通信模块1203。处理模块1202用于对服务器120的动作进行控制管理,例如,处理模块1202用于支持服务器120执行图5中的过程S106、过程S107以及过程S108;图6中的过程S106、过程S107、过程S108、过程S109以及过程S110,图7中的过程S106、过程S107、过程S108、过程S109、过程S110以及过程S111以及图9中的过程S106、过程S107、过程S108、过程S109、过程S110以及过程S111,图10中的过程S106、过程S107、过程S108、过程S109、过程S110以及过程S111,以及图11中的过程S909、S910、S911、S912、S913、S914以及S915,和/或用于本文所描述的技术的其它过程。通信模块1203用于支持服务器120与其他网络实体的通信,例如,与图4a和图4b中示出的功能模块或网络实体之间的通信(例如,服务器A和服务器C等),通信模块1203用于支持服务器120接收第一广播消息以及接收目标句柄信息。服务器120还可以包括存储模块1201,用于存储服务器120的程序代码和数据。
其中,处理模块1202可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1203可以是收发器、收发电路或通信接口1202等。存储模块1201可以是存储器。
当处理模块1202为处理器,通信模块1204为通信接口1202,存储模块1201为存储器时,本发明实施例所涉及的服务器可以为图14c所示的服务器。
参阅图14c所示,该服务器1210包括:处理器1201、通信接口1202、存储器1203以及总线1204。其中,通信接口1202、处理器1201以及存储器1203通过总线1204相互连接;总线1204可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例提供一种集群系统,该集群系统中的各个组成部分具体可以参见图2a所示,包括源服务器、第一服务器以及目标服务器,其中,目标服务器采用如图13a-13c所示的目标服务器,源服务器采用如图12a-12c所示的源服务器,第一服务器采用如图14a-14c所示的服务器。
本发明实施例提供了一种计算机存储介质,用于储存为本发明实施例如图3、图5、图6、图7、图9、图10、图11中所描述的业务切换方法所用的计算机软件指令,其包含用于执行如图2a所示的集群系统所设计的程序。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(ReadOnly Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。所述存储介质是非短暂性(英文:non-transitory)介质,包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种业务切换方法,其特征在于,所述方法应用于集群系统中,所述集群系统包括源服务器、目标服务器和客户端,所述方法包括:
所述源服务器向所述目标服务器发送目标句柄信息,所述目标句柄信息用于恢复目标文件;
所述源服务器向所述客户端发送所述目标句柄信息的标识,所述标识用于唯一识别所述目标句柄信息;
当所述源服务器故障或者所述源服务器与所述客户端之间的网络断开时,所述目标服务器根据客户端发送的标识提供所述目标句柄信息。
2.根据权利要求1所述的方法,其特征在于,所述集群系统还包括第一服务器,所述方法还包括:
所述第一服务器接收所述客户端发送的所述标识;
所述第一服务器根据所述标识在本地查询是否保存有所述目标句柄信息;
当所述第一服务器中未保存有所述目标句柄信息时,所述第一服务器向所述目标服务器发送第一请求消息,以从所述目标服务器中获取所述目标句柄信息,所述第一请求消息中携带有所述客户端发送的所述标识。
3.根据权利要求2所述的方法,其特征在于,所述目标句柄信息中至少包括期望权限,所述期望权限用于指示访问所述目标句柄信息的服务器以第一预设方式打开目标文件;
所述第一服务器向所述目标服务器发送第一请求消息,以从所述目标服务器中获取所述目标句柄信息之后,所述方法还包括:
所述第一服务器从所述目标句柄信息中获取期望权限;
所述第一服务器以所述第一预设方式打开所述目标文件。
4.根据权利要求2或3所述的方法,其特征在于,所述第一服务器为与所述客户端请求访问的域名对应的服务器;或者,
所述第一服务器中至少包括第一端口,所述第一端口为所述源服务器上与所述客户端建立连接的端口。
5.根据权利要求1-3任意一项所述的方法,其特征在于,在所述源服务器向目标服务器发送所述目标句柄信息之后,所述方法还包括:
当所述源服务器故障或者所述源服务器与所述客户端之间的网络断开时,所述源服务器向所述集群系统发送第一广播消息;所述第一广播消息用于指示所述集群系统中的每个服务器对所述标识所指示的目标句柄信息进行预设处理;
相应的,在所述目标服务器根据客户端发送的标识提供所述目标句柄信息之前,所述方法还包括:
所述目标服务器接收所述源服务器发送的第一广播消息,所述第一广播消息用于指示所述集群系统中的每个服务器对所述标识所指示的目标句柄信息进行预设处理。
6.根据权利要求5所述的方法,其特征在于,所述预设处理包括在预设时间之后删除存储在每个所述服务器中所述标识所指示的目标句柄信息,以及拒绝除所述客户端之外的其余客户端访问存储在每个所述服务器中所述标识所指示的目标句柄信息;
相应的,所述目标服务器在接收所述源服务器发送的第一广播消息之后,所述方法还包括:
所述目标服务器若确定在预设时间内未接收到所述客户端发送的标识,则所述目标服务器在所述预设时间之后删掉存储在所述目标服务器中的所述标识所指示的目标句柄信息;
所述目标服务器若确定在预设时间内存在除所述客户端之外的其他客户端请求访问存储在所述目标服务器中所述标识所指示的目标句柄信息,则所述目标服务器向所述其他客户端发送第一提示消息,所述第一提示消息用于提示所述其他客户端无权限访问存储在所述目标服务器中的目标句柄信息。
7.一种集群系统,其特征在于,所述集群系统包括:源服务器、目标服务器和客户端,其中,
所述源服务器用于向所述目标服务器发送目标句柄信息,所述目标句柄信息用于恢复目标文件;以及用于向所述客户端发送所述目标句柄信息的标识,所述标识用于唯一识别所述目标句柄信息;
当所述源服务器故障或者所述源服务器与所述客户端之间的网络断开时,所述目标服务器用于根据客户端发送的标识提供所述目标句柄信息。
8.根据权利要求7所述的集群系统,其特征在于,所述集群系统还包括:
第一服务器,用于接收所述客户端发送的所述标识;以及用于根据所述标识在本地查询是否保存有所述目标句柄信息;以及用于当所述第一服务器中未保存有所述目标句柄信息时,向所述目标服务器发送第一请求消息,以从所述目标服务器中获取所述目标句柄信息,所述第一请求消息中携带有所述客户端发送的所述标识。
9.根据权利要求8所述的集群系统,其特征在于,所述目标句柄信息中至少包括期望权限,所述期望权限用于指示访问所述目标句柄信息的服务器以第一预设方式打开目标文件;
所述第一服务器还用于:从所述目标句柄信息中获取期望权限;以及用于以所述第一预设方式打开所述目标文件。
10.根据权利要求8或9所述的集群系统,其特征在于,所述第一服务器为与所述客户端请求访问的域名对应的服务器;或者,
所述第一服务器中至少包括第一端口,所述第一端口为所述源服务器上与所述客户端建立连接的端口。
11.根据权利要求8或9所述的集群系统,其特征在于,
当所述源服务器故障或者所述源服务器与所述客户端之间的网络断开时,所述源服务器还用于:向所述集群系统发送第一广播消息;所述第一广播消息用于指示所述集群系统中的每个服务器对所述标识所指示的目标句柄信息进行预设处理;
相应的,所述目标服务器还用于:
接收所述源服务器发送的第一广播消息,所述第一广播消息用于指示所述集群系统中的每个服务器对所述标识所指示的目标句柄信息进行预设处理。
12.根据权利要求11所述的集群系统,其特征在于,所述预设处理包括在预设时间之后删除存储在每个所述服务器中所述标识所指示的目标句柄信息,以及拒绝除所述客户端之外的其余客户端访问存储在每个所述服务器中所述标识所指示的目标句柄信息;
相应的,所述目标服务器具体用于:
若确定在预设时间内未接收到所述客户端发送的标识,则在所述预设时间之后删掉存储在所述目标服务器中的所述标识所指示的目标句柄信息;以及用于若确定在预设时间内存在除所述客户端之外的其他客户端请求访问存储在所述目标服务器中所述标识所指示的目标句柄信息,则向所述其他客户端发送第一提示消息,所述第一提示消息用于提示所述其他客户端无权限访问存储在所述目标服务器中的目标句柄信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610992280.8A CN106571968B (zh) | 2016-11-10 | 2016-11-10 | 一种业务切换方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610992280.8A CN106571968B (zh) | 2016-11-10 | 2016-11-10 | 一种业务切换方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106571968A CN106571968A (zh) | 2017-04-19 |
CN106571968B true CN106571968B (zh) | 2020-02-21 |
Family
ID=58541217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610992280.8A Active CN106571968B (zh) | 2016-11-10 | 2016-11-10 | 一种业务切换方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106571968B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965362B (zh) * | 2017-05-19 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、服务器及存储介质 |
CN108199885A (zh) * | 2017-12-30 | 2018-06-22 | 创新科软件技术(深圳)有限公司 | 服务器节点网口的ip漂移方法、装置及系统 |
CN112749142B (zh) * | 2019-10-31 | 2023-09-01 | 上海哔哩哔哩科技有限公司 | 句柄管理方法和系统 |
CN112131533A (zh) * | 2020-08-27 | 2020-12-25 | 北京云动智效网络科技有限公司 | 一种文档保护方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624542A (zh) * | 2010-12-10 | 2012-08-01 | 微软公司 | 在文件系统中提供透明故障切换 |
CN103636165A (zh) * | 2011-06-30 | 2014-03-12 | 微软公司 | 透明故障转移 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7539722B2 (en) * | 2003-10-24 | 2009-05-26 | Microsoft Corporation | Method and system for accessing a file |
-
2016
- 2016-11-10 CN CN201610992280.8A patent/CN106571968B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624542A (zh) * | 2010-12-10 | 2012-08-01 | 微软公司 | 在文件系统中提供透明故障切换 |
CN103636165A (zh) * | 2011-06-30 | 2014-03-12 | 微软公司 | 透明故障转移 |
Also Published As
Publication number | Publication date |
---|---|
CN106571968A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11088903B2 (en) | Hybrid cloud network configuration management | |
CN105282126B (zh) | 登录认证方法、终端及服务器 | |
US10445197B1 (en) | Detecting failover events at secondary nodes | |
EP2933986B1 (en) | Computer-implemented method and computer program product for processing named entity queries using a cached functionality in a domain name system | |
US9021264B2 (en) | Method and system for cloud based storage | |
CN106571968B (zh) | 一种业务切换方法和系统 | |
CN111064569B (zh) | 可信计算集群的集群密钥获取方法及装置 | |
CN112363991B (zh) | 区块链数据登记方法和装置 | |
CN104767775A (zh) | 网页应用消息推送方法及系统 | |
CN111447133B (zh) | 消息传输方法和装置、存储介质及电子装置 | |
CN110602216A (zh) | 多终端使用单账号的方法、装置、云服务器及存储介质 | |
US10581923B2 (en) | System and method for configuration of a connected device connection | |
CN110247758B (zh) | 密码管理的方法、装置及密码管理器 | |
US11849053B2 (en) | Automation of user identity using network protocol providing secure granting or revocation of secured access rights | |
CN111108736B (zh) | 用于计算设备的自动地址故障切换的方法和系统 | |
US20200287974A1 (en) | System and method for switching between publish/subscribe services | |
CN110971702A (zh) | 服务调用方法、装置、计算机设备及存储介质 | |
JP2016144186A (ja) | 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム | |
JP5678893B2 (ja) | 属性情報連携提供システム、アクセス情報管理装置、アクセス情報代理管理装置、方法、およびプログラム | |
CN109460182A (zh) | 一种数据存储、读取方法及装置 | |
CN106713214B (zh) | 一种在多个授权系统之间进行身份鉴别的方法及系统 | |
CN107667518B (zh) | 电子设备的自动发现和上线 | |
CN108600255A (zh) | Mock服务管理方法、装置、计算机设备以及存储介质 | |
CN104753755A (zh) | 系统接入方法、装置、应用客户端和im后台系统 | |
JP2009122898A (ja) | コミュニティ通信ネットワーク、通信制御方法、ユーザ端末、端末制御方法、およびプログラム |
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 |