设备仲裁的方法和设备与流程

文档序号:12375787阅读:554来源:国知局
设备仲裁的方法和设备与流程

本发明涉及通信领域,尤其涉及一种设备仲裁的方法和设备。



背景技术:

随着信息技术的发展,数据的处理越来越集中,对数据安全的要求也越来越高,双活系统是一种节约资源的计算机灾备(Disaster Recovery)方案,其实现模式是让两个数据中心同时承担用户的业务,两个数据中心互为备份,并且进行实时备份。

当双活系统的两个数据中心之间的通信断开后,两个数据中心会各自向仲裁服务器发送仲裁请求消息,请求接管主机业务,仲裁服务器保存有两个数据中心的注册信息,当仲裁服务器确定其中一个数据中心可以接管主机业务后会删除另外一个数据中心的注册信息,从而避免两个数据中心同时接管主机业务导致对外提供的主机业务不一致的情况。然而,根据现有技术的方案,如果注册信息被删除的数据中心再次发起注册请求以及仲裁请求,仲裁服务器会保存该数据中心的注册信息,并根据其保存的该数据中心的注册信息判定该数据中心可以接管主机业务,这样,就会出现两个数据中心同时接管主机业务的情况,从而会出现对外提供的主机业务不一致的情况。



技术实现要素:

有鉴于此,本发明实施例提供了一种设备仲裁的方法和设备,可以防止仲裁失败的设备再次进行注册和抢占操作,从而可以提高系统的容错能力、可靠性和安全性。

一方面,本发明实施例提供了一种设备仲裁的方法,所述方法应用于存储系统中,所述存储系统包括第一存储设备、第二存储设备和仲裁服务器,该方法包括:当第一存储设备和第二存储设备之间的通信链路发生故障时,所述第一存储设备向所述仲裁服务器发送仲裁请求消息,所述仲裁请求消息包括所述第一存储设备的标识信息以及业务接管信息,所述业务接管信息用于指示所述第一存储设备要求接管主机业务;所述仲裁服务器根据所述第一存储设备的仲裁请求消息、所述第一存储设备的注册信息以及所述第二存储设备未接管主机业务,向所述第一存储设备发送指示所述第一存储设备接管主机业务的指示消息,并删除所述仲裁服务器保存的所述第二存储设备的注册信息,其中,所述仲裁服务器预先保存有所述第一存储设备的注册信息和所述第二存储设备的注册信息;所述第一存储设备根据所述指示消息接管主机业务,并向所述仲裁服务器发送预留请求消息,所述预留请求消息包括所述第一存储设备的标识信息以及预留指示信息,所述预留指示信息用于指示所述仲裁服务器禁止所述第二存储设备进行注册;所述仲裁服务器从所述第二存储设备接收注册请求消息,所述注册请求消息包括所述第二存储设备的注册信息;所述仲裁服务器根据所述预留指示信息,拒绝所述第二存储设备进行注册。

根据本发明实施例提供的设备仲裁的方法,仲裁服务器可以根据第一存储设备的仲裁请求消息、第一存储设备的注册信息和当前第二存储设备没有接管主机业务的情况,将第一存储设备确定为唯一接管主机业务的设备,从而可以确保第一阵列为唯一接管主机业务的设备,避免可能出现的多个阵列同时接管主机业务导致的数据不同步的情况,提高了系统的容错能力、可靠性和安全性。

可选地,所述仲裁服务器从所述第一存储设备接收所述预留请求消息之后,所述方法还包括:当所述第一存储设备和所述第二存储设备之间的通信链路恢复正常后,所述第一存储设备向所述仲裁服务器发送预留清除消息,所述预留清除消息用于请求所述仲裁服务器删除所述预留指示信息,以便于所述第二存储设备进行注册;所述仲裁服务器根据所述预留清除消息删除所述预留指示信息。

根据本发明实施例提供的设备仲裁的方法,仲裁服务器可以根据第一存储设备发送的预留清除消息删除第一存储设备的预留指示信息,以便于第二存储设备进行注册,从而可以在不同存储设备之间通信恢复正常后使用多个存储设备处理主机业务,提高系统的可靠性和安全性。

可选地,所述仲裁服务器从所述第一存储设备接收所述预留请求消息之后,所述方法还包括:所述第二存储设备向所述仲裁服务器发送预留清除消息,所述预留清除消息用于请求所述仲裁服务器删除所述预留指示信息;所述仲裁服务器根据所述预留指示信息拒绝清除所述预留清除消息的请求,其中,所述预留指示信息用于指示所述仲裁服务器拒绝所述第二存储设备的删除请求。

根据本发明实施例提供的设备仲裁的方法,仲裁服务器可以根据第一存储设备的预留指示信息拒绝第二存储设备发送的预留清除消息的请求,从而可以防止仲裁失败的设备再次进行注册和抢占操作,从而可以提高系统的容错能力、可靠性和安全性。

另一方面,本发明实施例提供了一种设备仲裁的方法,所述方法应用于存储系统中,所述存储系统包括第一存储设备、第二存储设备和仲裁服务器,该方法包括:当第一存储设备和第二存储设备之间的通信链路发生故障时,所述第一存储设备向所述仲裁服务器发送仲裁请求消息,所述仲裁请求消息包括所述第一存储设备的标识信息、业务接管信息和预留指示信息,其中,所述业务接管信息用于指示所述第一存储设备要求接管主机业务,所述预留指示信息用于指示所述仲裁服务器禁止所述第二存储设备进行注册;所述仲裁服务器根据所述第一存储设备的仲裁请求消息、所述第一存储设备的注册信息以及所述第二存储设备未接管主机业务,向所述第一存储设备发送指示所述第一存储设备接管主机业务的指示消息,并删除所述仲裁服务器保存的所述第二存储设备的注册信息,其中,所述仲裁服务器预先保存有所述第一存储设备的注册信息和所述第二存储设备的注册信息;所述仲裁服务器从所述第二存储设备接收注册请求消息,所述注册请求消息包括所述第二存储设备的注册信息;所述仲裁服务器根据所述预留指示信息,拒绝所述第二存储设备进行注册。

根据本发明实施例提供的设备仲裁的方法,仲裁服务器可以根据第一存储设备发送的携带预留指示信息的仲裁请求消息、第一存储设备的注册信息和当前第二存储设备没有接管主机业务的情况,删除第二存储设备的注册信息,从而可以确保第一存储设备为唯一接管主机业务的设备,避免可能出现的多个存储设备同时接管主机业务导致的数据不同步的情况,提高了系统的容错能力、可靠性和安全性,同时还可以节省信令开销。

可选地,所述仲裁服务器从所述第一存储设备接收所述仲裁请求消息之后,所述方法还包括:当所述第一存储设备和所述第二存储设备之间的通信链路恢复正常后,所述第一存储设备向所述仲裁服务器发送预留清除消息,所述预留清除消息用于请求所述仲裁服务器删除所述预留指示信息,以便于所述第二存储设备进行注册;所述仲裁服务器根据所述预留清除消息删除所述预留指示信息。

根据本发明实施例提供的设备仲裁的方法,仲裁服务器可以根据第一存储设备发送的预留清除消息删除第一存储设备的预留指示信息,以便于第二存储设备进行注册,从而可以在不同存储设备之间通信恢复正常后使用多个存储设备处理主机业务,提高系统的可靠性和安全性。

可选地,所述仲裁服务器从所述第一存储设备接收所述仲裁请求消息之后,所述方法还包括:所述仲裁服务器从所述第二存储设备接收预留清除消息,所述预留清除消息用于请求所述仲裁服务器删除所述预留指示信息;所述仲裁服务器根据所述预留指示信息拒绝所述预留清除消息的请求,其中,所述预留指示信息用于指示所述仲裁服务器拒绝所述第二存储设备的删除请求。

根据本发明实施例提供的设备仲裁的方法,仲裁服务器可以根据第一存储设备的预留指示信息拒绝第二存储设备发送的预留清除消息的请求,从而可以防止仲裁失败的设备再次进行注册和抢占操作,从而可以提高系统的容错能力、可靠性和安全性。

再一方面,本发明实施例提供了一种设备仲裁的仲裁服务器,该仲裁服务器可以实现上述方面所涉及方法中仲裁服务器所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的单元或模块。

在一种可能的设计中,该仲裁服务器的结构中包括处理器和通信接口,该处理器被配置为支持该仲裁服务器执行上述方法中相应的功能。该通信接口用于支持该仲裁服务器与其它网元之间的通信。该仲裁服务器还可以包括存储器,该存储器用于与处理器耦合,其保存该仲裁服务器必要的程序指令和数据。

再一方面,本发明实施例提供了一种设备仲裁的第一存储设备,该第一存储设备可以实现上述方面所涉及方法中第一存储设备所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的单元或模块。

在一种可能的设计中,该第一存储设备的结构中包括处理器和通信接口,该处理器被配置为支持该仲裁服务器执行上述方法中相应的功能。该通信接口用于支持该第一存储设备与其它网元之间的通信。该第一存储设备还可以包括存储器,该存储器用于与处理器耦合,其保存该第一存储设备必要的程序指令和数据。

再一方面,本发明实施例提供了一种通信系统,该通信系统包括上述方面所述的仲裁服务器和第一存储设备。

再一方面,本发明实施例提供了一种计算机存储介质,用于存储上述仲裁服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

再一方面,本发明实施例提供了一种计算机存储介质,用于存储上述第一存储设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

相比于现有技术,根据本发明实施例提供的设备仲裁的方法,仲裁服务器可以根据第一存储设备发送的请求消息、第一存储设备的注册信息以及当前没有其它存储设备接管主机业务的情况,确定第一存储设备为唯一接管主机业务的设备,并且,仲裁服务器根据第一存储设备唯一接管主机业务的状态拒绝其它存储设备的注册请求或仲裁请求,从而可以确保第一存储设备为唯一接管主机业务的设备,避免可能出现的多个设备同时接管主机业务导致的数据不同步,提高了双活仲裁系统的容错能力、可靠性和安全性,此外,第一存储设备的唯一接管主机业务的状态只能由第一存储设备发送的消息清除,进一步提高了双活仲裁系统的安全性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是适用本发明实施例的一种可能的存储系统的示意性架构图;

图2是本发明实施例提供的一种设备仲裁的方法的通信示意图;

图3是本发明实施例提供的另一种设备仲裁的方法的通信示意图;

图4是本发明实施例提供的再一种设备仲裁的方法的通信示意图;

图5是本发明实施例提供的再一种设备仲裁的方法的通信示意图;

图6A是本发明实施例提供的一种可能的仲裁服务器的结构示意图;

图6B是本发明实施例提供的另一种可能的仲裁服务器的结构示意图;

图7A是本发明实施例提供的一种可能的存储设备的结构示意图;

图7B是本发明实施例提供的另一种可能的存储设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明实施例的设备仲裁的方法和设备,可以对双活系统的阵列或阵列上的逻辑存储单元(Logic Unit Number,LUN)进行仲裁,也可以对其它需要进行仲裁的设备或单元进行仲裁,下面,以阵列为例对本发明实施例进行详细说明,本发明实施例不限于此,根据本发明实施例的设备仲裁的方法还可以应用于其它存储设备。

为了便于理解本发明实施例,首先,对本发明实施例的应用场景进行简要介绍。图1示出了适用本发明实施例的一种可能的存储系统的示意图。

如图1所示,存储系统包括:主机或主机集群110、阵列120、阵列130和仲裁服务器140,主机集群110同时和阵列120、阵列130连接,阵列120、阵列130间相互连接,阵列120、阵列130同时和仲裁服务器140连接。当双活系统正常运行时,主机集群110可同时对阵列120和阵列130下发读写业务,其对阵列120下发写业务的流程如下:

1.主机集群110向阵列120下发写数据业务;

2.阵列120将下发的数据同时写到阵列120和阵列130;

3.阵列120和阵列130的写数据均完成;

4.阵列120向主机集群110发送写数据完成的消息。

主机集群110对阵列130的写数据基本流程类似,如步骤1’、2’、3’和4’所示。当阵列120与阵列130之间的通信链路发生故障(即,脑裂)时,为了避免业务不同步,只能由阵列120与阵列130中的一个阵列接管主机业务,由于此时阵列120与阵列130之间不能进行通信,因此需要由仲裁服务器140来确定谁来接管主机业务。阵列120与阵列130会分别向仲裁服务器140发起仲裁请求,如果仲裁服务器140先接收到阵列120发送的仲裁请求消息,则仲裁服务器可以根据阵列120的注册信息以及阵列120的仲裁请求消息确定阵列120获胜,将阵列120确定为接管主机业务的阵列,并将阵列130的注册信息清除。

由于仲裁服务器140仅能被动接受阵列120和阵列130的注册信息,因此,当阵列130出现逻辑错误时,阵列130可能再进行一次注册,然后再发起仲裁,则阵列130也会获胜,从而导致阵列120和阵列130同时单独对外提供业务,并且会出现数据不一致的情况。

根据本发明实施例的设备仲裁的方法,阵列120在仲裁获胜后向仲裁服务器发送预留请求消息,该预留请求消息包括阵列120的标识以及预留指示信息,该预留请求消息用于请求仲裁服务器140禁止阵列130进行注册,从而可以避免阵列130仲裁获胜。或者阵列120也可以想仲裁服务器140发送包括预留指示信息的仲裁请求消息,请求接管主机业务并请求仲裁服务器140禁止阵列130进行注册。

图2示出了本发明实施例提供的设备仲裁的方法的示意性流程图。如图2所示,该方法200包括:

S201,第一存储设备向仲裁服务器发送仲裁请求消息,该仲裁请求消息包括该第一存储设备的标识信息以及业务接管信息,该业务接管信息用于指示该第一存储设备要求接管主机业务。

S202,仲裁服务器根据第一存储设备发送的仲裁请求消息、第一存储设备的注册信息以及第二存储设备未接管主机业务,删除仲裁服务器保存的第二存储设备的注册信息,其中,仲裁服务器预先保存有第一存储设备的注册信息和第二存储设备的注册信息。

S203,仲裁服务器向第一存储设备发送指示第一存储设备接管主机业务的指示消息。

S204,第一存储设备根据该指示消息接管主机业务,并向仲裁服务器发送预留请求消息,该预留请求消息包括第一存储设备的标识信息以及预留指示信息,该预留指示信息用于指示仲裁服务器禁止第二存储设备进行注册。

S205,仲裁服务器从第二存储设备接收注册请求消息,该注册请求消息包括第二存储设备的注册信息。

S206,仲裁服务器根据预留指示信息,拒绝第二存储设备进行注册。

第一存储设备可以是第一阵列,第一阵列可以在发现其与第二阵列(即,第二存储设备)的通信链路断开时生成仲裁请求信息,该仲裁请求信息用于请求接管主机业务;仲裁服务器可以根据本地存储的第一阵列的注册信息,以及当前没有其它阵列接管主机业务的情况将第一阵列确定为接管主机业务的阵列,并向第一阵列发送指示消息,通知第一阵列仲裁获胜;第一阵列可以根据其仲裁胜利生成预留请求信息,该预留请求消息用于指示仲裁服务器禁止第二阵列注册,例如,该预留请求消息可以请求仲裁服务器将第一阵列的注册信息修改为预留信息,该预留信息表示第一阵列为唯一接管主机业务的设备;仲裁服务器接收到预留请求信息后根据该预留请求信息将第一阵列的注册信息修改为预留信息,仲裁服务器可以根据该预留信息拒绝第二阵列的仲裁请求、注册请求或者清除该预留信息的请求,从而可以确保第一阵列为唯一接管主机业务的设备,避免可能出现的多个阵列同时接管主机业务导致的数据不同步。

上述实施例仅是举例说明,本发明实施例不限于此,例如,仲裁服务器可以根据第一阵列发送的预留请求信息在第一阵列的注册信息中添加标识,该标识用于禁止第二阵列注册。

可选地,仲裁服务器从第一存储设备接收预留请求消息后,方法200还包括:

S207,当第一存储设备和第二存储设备之间的通信链路恢复正常后,第一存储设备向仲裁服务器发送预留清除消息,该预留清除消息用于请求仲裁服务器删除预留指示消息,以便于第二存储设备进行注册。

S208,仲裁服务器根据该预留清除消息删除所述预留指示信息。

当第一存储设备与第二存储设备之间的通信链路恢复正常后,第一存储设备可以向仲裁服务器发送预留清除消息,请求清除预留指示信息,仲裁服务器清除掉预留指示信息后,第二存储设备就可以向仲裁服务器发送注册请求消息,请求进行注册,此时,仲裁服务器就可以保存第二存储设备的注册信息,第二存储设备注册成功后,就可以与第一存储设备共同接管主机业务并且同步数据,继续执行双活系统的安全备份功能。

可选地,方法200还包括:

S209,第二存储设备向仲裁服务器发送预留清除消息,所述预留清除消息用于请求仲裁服务器删除第一存储设备的预留指示信息。

S210,仲裁服务器根据该预留指示信息拒绝第二存储设备的预留清除消息的请求,其中,该预留指示信息用于指示仲裁服务器拒绝第二存储设备的删除请求。

第一存储设备的预留指示信息只能由第一存储设备主动清除,其它设备不能清除该状态,从而可以避免病毒入侵、软件bug等问题导致的第一阵列的预留指示信息被删除,提高安全性。

图2中仅举例示出了两个存储设备,根据本发明实施例的设备仲裁的方法还可应用于包括大于两个存储设备的存储系统,因此,根据本发明实施例的设备仲裁的方法200,存储设备在仲裁获胜后向仲裁服务器发送预留请求信息,请求将该存储设备确定为唯一接管主机业务的设备,避免软件bug、用户误操作、网络传输故障、病毒入侵等问题导致的不同存储设备分别对外提供业务,从而避免了对外提供数据不一致的情况,提高了双活仲裁系统的容错能力、可靠性和安全性。

图3示出了本发明实施例提供的设备仲裁的方法的示意性流程图。如图3所示,该方法300包括:

S301,当第一存储设备和第二存储设备之间的通信链路发生故障时,第一存储设备向仲裁服务器发送仲裁请求消息,该仲裁请求消息包括第一存储设备的标识信息、业务接管信息和预留指示信息,其中,所述业务接管信息用于指示第一存储设备要求接管主机业务,所述预留指示信息用于指示所述仲裁服务器禁止第二存储设备进行注册。

S302,仲裁服务器根据第一存储设备的仲裁请求消息、该第一存储设备的注册信息以及第二存储设备未接管主机业务,删除仲裁服务器保存的第二存储设备的注册信息,其中,仲裁服务器预先保存有第一存储设备和第二存储设备的注册信息。

S303,仲裁服务器向第一存储设备发送指示消息,该指示消息用于指示第一存储设备可以接管主机业务。

S304,仲裁服务器从第二存储设备接收注册请求消息,该注册请求消息包括第二存储设备的注册信息。

S305,仲裁服务器根据第一存储设备的预留指示信息,拒绝第二存储设备进行注册。

第一存储设备可以是第一阵列,第一阵列可以在发现其与第二阵列(即,第二存储设备)的通信链路断开时生成仲裁请求信息,该仲裁请求信息用于请求接管主机业务,该仲裁请求消息还包括预留指示信息,该预留指示信息指示仲裁服务器禁止第二阵列进行注册;仲裁服务器可以根据本地存储的第一阵列的注册信息,以及当前没有其它阵列接管主机业务的情况将第一阵列确定为接管主机业务的阵列,并向第一阵列发送指示消息,通知第一阵列仲裁获胜,仲裁服务器还可以根据该预留指示信息将第一阵列预留在仲裁服务器中的注册信息修改为预留信息,仲裁服务器可以根据该预留信息拒绝第二阵列的仲裁请求、注册请求或者清除该预留信息的请求,从而可以确保第一阵列为唯一接管主机业务的设备,避免可能出现的多个阵列同时接管主机业务导致的数据不同步,根据本发明实施例的设备仲裁的方法还可以节省信令开销。

图4示出了本发明另一实施例提供的设备仲裁的方法的示意性流程图。如图4所示,该方法400包括:

S401,阵列410发现阵列410与阵列420之间的通信链路断开(即,脑裂)。

S402,阵列410向仲裁设备(例如,仲裁服务器430)发起仲裁请求,请求接管主机业务;

S403,仲裁服务器430确定本地是否存储有阵列410的注册信息A;

阵列410在自身具有处理主机业务能力时向仲裁服务器430进行注册,以便于在脑裂发生后仲裁服务器430能够确定阵列410具有接管主机业务的能力,当阵列410发现自己失去处理业务的能力时,向仲裁服务器430发送清除注册信息A的信息。

S404,仲裁服务器430判定阵列410仲裁获胜,并清除阵列420的注册信息B,其中,仲裁服务器430只有在确定本地存储有阵列410的注册信息A时,才会处理阵列410发送的仲裁请求,判定阵列仲裁胜利的方法可以是先到先得原则,即,仲裁服务器将接收到的第一个仲裁请求所指示的阵列确定为仲裁胜利的阵列,判定仲裁胜利的方法也可以是其它方法,本发明实施例对此不作限定。

S405,仲裁服务器430向阵列410发送仲裁胜利消息,通知阵列410仲裁获胜。

S406,阵列410向仲裁服务器430发送预留请求信息,请求仲裁服务器430将注册信息A修改为预留信息A,预留信息A用于表示阵列410对主机业务的接管具有独占性,在阵列410接管主机业务期间,仲裁服务器430拒绝其它阵列的预留、注册、仲裁请求等操作,将注册信息A修改为预留信息A仅是举例说明,本发明实施例不限于此,可选地,阵列410可以向仲裁服务器430发送独占请求信息,请求仲裁服务器430对注册信息A添加标识,该标识用于表示阵列410对主机业务的接管具有独占性。

S407,仲裁服务器430根据阵列410发送的预留请求信息,将注册信息A修改为预留信息A,仲裁服务器430可以根据预留信息A清除阵列420的注册信息B。

S408,阵列420发现阵列420与阵列410之间的通信断开(即,脑裂)。

S409,阵列420向仲裁服务器430发送注册请求信息。

S410,仲裁服务器430根据本地存储的预留信息A,禁止阵列420进行注册。

S411,仲裁服务器430向阵列420发送拒绝注册的消息。

S412,阵列420向仲裁服务器430发送仲裁请求消息,请求接管主机业务。

S413,仲裁服务器430根据本地没有存储阵列420的注册信息B,判定阵列420仲裁失败。

S414,仲裁服务器430向阵列420发送仲裁失败消息。

S415,阵列410根据阵列410与阵列420之间的通信链路恢复,向阵列420发起数据同步任务。

S416,阵列410根据阵列410与阵列420的数据同步完成,向仲裁服务器430发送清除消息,该清除消息用于请求仲裁服务器430清除阵列410的唯一接管主机业务的状态。

S417,仲裁服务器430根据阵列410发送的清除消息,将预留信息A修改为注册信息A。

S418,阵列420向仲裁服务器430发送注册请求消息,请求处理主机业务。

S419,仲裁服务器430根据本地没有存储预留信息,确定阵列420可以处理主机业务,并保存阵列420的注册信息B。

S420,仲裁服务器430向阵列420发送注册成功消息,通知阵列420可以处理主机业务。

根据本发明实施例的设备仲裁的方法400,存储设备在仲裁获胜后向仲裁服务器发送预留请求信息,请求将该存储设备确定为唯一接管主机业务的设备,避免软件bug、用户误操作、网络传输故障、病毒入侵等问题导致的不同存储设备分别接管主机业务,从而避免了对外提供数据不一致的情况,提高了双活仲裁系统的容错能力、可靠性和安全性。

图5示出了本发明另一实施例提供的设备仲裁的方法的示意性流程图。如图5所示,该方法500包括:

S501,阵列510发现阵列510与阵列520之间的通信链路断开(即,脑裂)。

S502,阵列510向仲裁设备(例如,仲裁服务器530)发起仲裁请求,请求接管主机业务,并请求仲裁服务器330将注册信息A修改为预留信息A,预留信息A用于表示阵列310对主机业务的接管具有独占性,在阵列310接管主机业务期间,仲裁服务器330拒绝其它阵列的预留、注册、仲裁请求等操作,将注册信息A修改为预留信息A仅是举例说明,本发明实施例不限于此;

S503,仲裁服务器530确定本地是否存储有阵列510的注册信息A;

S504,仲裁服务器530判定阵列510仲裁获胜,并清除阵列520的注册信息B,其中,仲裁服务器530只有在确定本地存储有阵列510的注册信息A时,才会处理阵列510发送的仲裁请求,判定阵列仲裁胜利的方法可以是先到先得原则,即,仲裁服务器将接收到的第一个仲裁请求所指示的阵列确定为仲裁胜利的阵列,判定仲裁胜利的方法也可以是其它方法,本发明实施例对此不作限定。

S505,仲裁服务器530根据仲裁请求消息将注册信息A修改为预留信息A。

S506,仲裁服务器530向阵列510发送仲裁胜利消息,通知阵列510仲裁获胜。

S507,阵列520发现阵列520与阵列510之间的通信断开(即,脑裂)。

S508,阵列520向仲裁服务器530发送注册请求信息。

S509,仲裁服务器530根据本地存储的预留信息A,禁止阵列520进行注册。

S510,仲裁服务器530向阵列520发送拒绝注册的消息。

S511,阵列520向仲裁服务器530发送仲裁请求消息,请求接管主机业务。

S512,仲裁服务器530根据本地没有存储阵列520的注册信息B,判定阵列520仲裁失败。

S513,仲裁服务器530向阵列520发送仲裁失败消息。

S514,阵列510根据阵列510与阵列520之间的通信链路恢复,向阵列520发起数据同步任务。

S515,阵列510根据阵列510与阵列520的数据同步完成,向仲裁服务器530发送清除消息,该清除消息用于请求仲裁服务器530清除阵列510的唯一接管主机业务的状态。

S516,仲裁服务器530根据阵列510发送的清除消息,将预留信息A修改为注册信息A。

S517,阵列520向仲裁服务器530发送注册请求消息,请求处理主机业务。

S518,仲裁服务器530根据本地没有存储预留信息,确定阵列520可以处理主机业务,并保存阵列520的注册信息B。

S519,仲裁服务器530向阵列520发送注册成功消息,通知阵列520可以处理主机业务。

根据本发明实施例的设备仲裁的方法500,存储设备通过向仲裁服务器发送包括预留请求信息的仲裁请求信息,请求将该存储设备确定为唯一接管主机业务的设备,节省了信令开销,避免软件bug、用户误操作、网络传输故障、病毒入侵等问题导致的不同存储设备分别接管主机业务,从而避免了对外提供数据不一致的情况,提高了双活仲裁系统的容错能力、可靠性和安全性。

上述实施例主要从各个网元之间交互的角度对本发明实施例的方案进行了介绍。可以理解的是,各个网元,例如仲裁服务器、第一存储设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本发明实施例可以根据上述方法示例对仲裁服务器、第一存储设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用集成的单元的情况下,图6A示出了上述实施例中所涉及的仲裁服务器的一种可能的结构示意图。仲裁服务器600包括:处理单元602和通信单元603。处理单元602用于对仲裁服务器600的动作进行控制管理,例如,处理单元602用于支持仲裁服务器600执行图2的S202和S206,处理单元602还可以用于支持仲裁服务器600执行图3的S302和S305,和/或用于本文所描述的技术的其它过程。通信单元603用于支持仲裁服务器600与其它网络实体的通信,例如与图2中示出的第一存储设备之间的通信。仲裁服务器600还可以包括存储单元601,用于存储仲裁服务器600的程序代码和数据。

其中,处理单元602可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元603可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。存储单元601可以是存储器。

当处理单元602为处理器,通信单元603为通信接口,存储单元601为存储器时,本发明实施例所涉及的仲裁服务器可以为图6B所示的仲裁服务器。

参阅图6B所示,该仲裁服务器610包括:处理器612、通信接口613、存储器611。可选的,仲裁服务器610还可以包括总线614。其中,通信接口613、处理器612以及存储器611可以通过总线614相互连接;总线614可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。所述总线614可以分为地址总线、数据总线、控制总线等。为便于表示,图6B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

因此,本发明实施例提供的仲裁服务器,根据第一存储设备在仲裁获胜后发送的预留请求信息,或者根据第一存储设备发送的包括预留指示信息的仲裁请求消息,可以将第一存储设备的注册信息修改为预留信息,从而可以避免第二存储设备再次注册成功并接管主机业务,此外,该预留信息只能根据第一存储设备发送的预留清除消息删除,提高了仲裁系统的安全性。

在采用集成的单元的情况下,图7A示出了上述实施例中所涉及的第一存储设备的一种可能的结构示意图。第一存储设备700包括:处理单元702和通信单元703。处理单元702用于对第一存储设备700的动作进行控制管理,例如,处理单元702用于通过通信单元703支持第一存储设备700执行图2的S201和S204,处理单元702还可以用于支持第一存储设备700执行图3的S301,和/或用于本文所描述的技术的其它过程。通信单元703用于支持第一存储设备700与其它网络实体的通信,例如与图2或图3中示出的仲裁服务器之间的通信。第一存储设备700还可以包括存储单元701,用于存储第一存储设备700的程序代码和数据。

其中,处理单元702可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元703可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。存储单元701可以是存储器。

当处理单元702为处理器,通信单元703为通信接口,存储单元701为存储器时,本发明实施例所涉及的第一存储设备可以为图7B所示的第一存储设备。

参阅图7B所示,该第一存储设备710包括:处理器712、通信接口713、存储器711。可选的,第一存储设备710还可以包括总线714。其中,通信接口713、处理器712以及存储器711可以通过总线714相互连接;总线714可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。所述总线714可以分为地址总线、数据总线、控制总线等。为便于表示,图7B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

因此,本发明实施例提供的第一存储设备,通过在仲裁获胜后向仲裁服务器发送预留请求消息,该预留请求消息用于请求仲裁服务器拒绝第二存储设备进行注册,或者直接向仲裁服务器发送包括预留指示信息的仲裁请求消息,请求接管主机业务并请求拒绝第二存储设备进行注册,从而可以避免第二存储设备再次注册成功并接管主机业务,此外,该预留信息只能根据第一存储设备发送的预留清除消息删除,提高了仲裁系统的安全性。

在本发明实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于仲裁服务器或第一存储设备中。当然,处理器和存储介质也可以作为分立组件存在于仲裁服务器或第一存储设备中。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1