存储系统的容灾方法、装置、设备及计算机可读存储介质与流程

文档序号:19471270发布日期:2019-12-21 02:20阅读:215来源:国知局
存储系统的容灾方法、装置、设备及计算机可读存储介质与流程

本申请涉及信息技术领域,尤其涉及一种存储系统的容灾方法、装置、设备及计算机可读存储介质。



背景技术:

在信息技术高速发展的时代,对数据进行有效的存储对各行各业显得尤为重要。而容灾是存储系统设计中的一个非常关键的环节,它的目的是防止因机器故障导致数据丢失或接口不可用等灾难性的突发事件发生时,可以保障数据业务不间断运行。

在现有的存储系统的容灾设计方案中,往往使用的是主备容灾方案。而在主备容灾方案中,只有主存储服务器可以进行数据读取和数据写入,备存储服务器能进行数据读取不能进行数据写入,在主存储服务器出现故障时,只有数据读取可以正常服务,数据写入的请求无法执行,从而会影响数据业务的正常运行。



技术实现要素:

本申请实施例公开了一种存储系统的容灾方法、系统以及相关设备,能够实现当存储系统只能某一台存储服务器故障情况下只能读不能写,优化到任何一台存储服务器故障的情况下仍能提供数据读写服务。

第一方面,本申请实施例公开了一种所述存储系统的容灾方法,所述容灾系统包括多个存储服务器,所述多个存储服务器都具有数据读取和数据写入功能,包括:

第一存储服务器接收业务服务器发送来的第一数据写入请求;所述第一存储服务器为所述多个存储服务器中的一个服务器;

在所述第一存储服务器根据所述第一数据写入请求完成数据写入后,向第二存储服务器发送数据同步请求;

其中,所述第二存储服务器为所述多个存储服务器中除所述第一存储服务器外的其他服务器;所述数据同步请求用于指示所述第二存储服务器完成数据同步后,所述第二存储服务器在接收到业务服务器发送来的第一数据写入请求时,根据所述第一数据写入请求完成数据写入。

在上述方法中,存储系统中有多个存储服务器,都具有数据读取和数据写入功能。通过这种方式,业务服务器向存储系统中的任一存储服务器发起数据写入请求,都可完成数据写入。

基于第一方面,在其中一种可选的实施方式中,所述第一数据写入请求携带有数据内容和数据键标识;所述第一存储服务器接收业务服务器发送来的第一数据写入请求之后,所述向第二存储服务器发送数据同步请求之前,还包括:

所述第一存储服务器根据所述第一数据写入请求判断是否存在所述数据键标识;

若所述第一存储服务器不存在所述数据键标识,则所述第一存储服务器将所述键标识写入数据键值对的键域中,将所述数据写入请求携带的数据内容写入所述数据键值对的值域中,并给所述数据内容分配数据版本标识,并向控制服务器发送数据版本标识同步请求。

在上述方法中,第一数据写入请求携带有数据键标识,通过数据键标识第一存储服务器可以判断数据是否为第一次写入,是第一次写入,就将数据内容和数据键标识进行存储,并给数据内容分配数据版本标识,可以更高效的对数据进行处理。

基于第一方面,在其中一种可选的实施方式中,若所述第一存储服务器存在所述数据键标识,则所述第一存储服务器向所述控制服务器发送数据版本标识的判断请求,其中所述判断请求携带有所述第一存储服务器中存储的与所述数据键标识对应的数据版本标识;

在所述第一存储服务器接收到所述控制服务器发送的第一判断结果的情况下,其中,所述第一判断结果表征数据版本标识一致并携带有最新的数据版本标识;所述第一存储服务器更新所述数据键值对值域中的数据内容和数据版本标识。

在所述第一存储服务器接收到所述控制服务器发送的第二判断结果的情况下,其中,所述第二判断结果表征数据版本标识不一致,所述第一存储服务器不更新数据键值对并向所述业务服务器返回数据不能写入结果。

在上述方法中,通过数据键标识第一存储服务器可以判断数据不是第一次写入,需要对数据进行更新;通过控制服务器对数据版本标识的判断可以得到是否更新数据,如数据版本标识一致则更新,数据版本标识不一致则不更新。通过这种方式,能够更有针对性的对数据进行处理。

基于第一方面,在其中一种可选的实施方式中,所述向第二存储服务器发送数据同步请求之后还包括,所述第一存储服务器收到所述第二存储服务器返回的数据同步成功或数据同步不成功结果。

第二方面,本申请实施例提供了一种存储系统的容灾方法,所述容灾系统包括控制服务器,所述方法包括:

在收到第一存储服务器发送来的数据版本标识的判断请求后,其中所述数据版本标识的判断请求携带有所述第一存储服务器存储的数据内容所对应的数据版本标识,对所述数据版本标识和在所述控制服务器上相对应的数据版本标识进行判断并将所述数据版本标识判断的结果返回给所述第一存储服务器。

在上述方法中,控制服务器对数据版本标识进行判断可以得到判断结果并将判断结果返回给第一存储服务器。

基于第二方面,在其中一种可选的实施方式中,所述控制服务器对其数据版本标识和在所述控制服务器上相对应的数据版本标识进行判断并将所述数据版本标识判断的结果返回给所述第一存储服务器包括:

所述控制服务器对其数据版本标识和在所述控制服务器上相对应的数据版本标识来判断是否一致;

若一致,所述控制服务器对当前的数据版本标识进行更新处理,并将更新后的数据版本标识和数据版本标识一致的结果返回给所述第一存储服务器;

若不一致,所述控制服务器对当前的数据版本标识不进行处理,并将数据版本标识不一致的结果返回给所述第一存储服务器。

在上述方法中,控制服务器通过对数据版本标识的判断得到判断结果,再将判断结果返回给第一存储服务器,从而能告知第一存储服务器对数据的处理方式,可以更高效地处理数据。

第三方面,在其中一种可选的实施方式中,所述存储系统的容灾系统包括业务服务器,所述方法包括:

接收到终端的数据写入请求后向第一存储服务器发送第一数据写入请求;所述第一存储服务器为所述多个存储服务器中的一个服务器;所述数据写入请求携带有数据内容,所述第一数据写入请求携带有数据内容和数据键标识;

收到所述第一存储服务器返回的数据写入不成功结果时,所述业务服务器向存储系统中除所述第一存储服务器以外的其他任一存储服务器发送第一数据写入请求。

在上述方法中,业务服务器可以向存储系统中的任一存储服务器发送第一数据写入请求,并在收到第一存储服务器返回的数据写入不成功结果时,可以向存储系统中的其他存储服务器发送第一数据写入请求。通过这种方式,可以实现在存储系统中任一台存储服务器不能进行数据写入的情况下,向其他存储服务器发送第一数据写入请求,保证数据写入成功。

基于第三方面,在其中一种可选的实施方式中,所述方法还包括:

所述业务服务器在向第二存储服务器发送第一数据写入请求后,所述第二存储服务器没有返回结果,说明所述第二存储服务器发生故障,所述业务服务器向除所述第二存储服务器外的其他任一存储服务器发送第一数据写入请求。

在上述方法中,可以实现在存储系统中第二存储服务器发生故障无法进行数据写入的情况下,向其他存储服务器发送第一数据写入请求,保证数据写入成功。

第四方面,本申请实施例提供了一种存储系统的容灾方法,包括:

业务服务器在收到终端发来的数据写入请求后向第一存储服务器发送第一数据写入请求,所述数据写入请求携带有数据内容,所述第一数据写入请求携带有所述数据内容和数据键标识;所述第一存储服务器为所述多个存储服务器中的一个服务器;

第一存储服务器接收业务服务器发来的第一数据写入请求;

在所述第一存储服务器根据所述第一数据写入请求完成数据写入后,向第二存储服务器发送数据同步请求;

其中,所述第二存储服务器为所述多个存储服务器中除所述第一存储服务器外的其他服务器;所述数据同步请求用于指示所述第二存储服务器完成数据同步后,所述第二存储服务器在接收到业务服务器发送来的第一数据写入请求时,根据所述第一数据写入请求完成数据写入。

需要说明的是,第四方面的实现方式及相应的有益效果可以参照第一方面或第二方面或第三方面以及相应实现方式中的描述,此处不再赘述。

第五方面,本申请实施例提供了一种存储系统的容灾装置,包括:

接收单元,用于接收业务服务器发送来的第一数据写入请求;

发送单元,用于在所述第一存储服务器根据所述第一数据写入请求完成数据写入后,向第二存储服务器发送数据同步请求;

需要说明的是,第五方面的实现方式及相应的有益效果可以参照第一方面以及相应实现方式中的描述,此处不再赘述。

第六方面,本申请实施例提供了一种存储系统的容灾装置,包括:

判断单元,用于在收到第一存储服务器发送来的数据版本标识的判断请求后,其中所述判断请求携带有所述第一存储服务器中存储的与所述数据内容对应的数据版本标识,对所述数据版本标识和在所述控制服务器上相对应的数据版本标识进行判断;

发送单元,用于将所述数据版本标识判断的结果返回给所述第一存储服务器。

需要说明的是,第六方面的实现方式及相应的有益效果可以参照第二方面以及相应实现方式中的描述,此处不再赘述。

第七方面,本申请实施例提供了一种存储系统的容灾装置,包括:

发送单元,用于接收到终端的数据写入请求后向第一存储服务器发送第一数据写入请求;所述第一存储服务器为所述多个存储服务器中的一个服务器;

所述发送单元还用于,在收到所述第一存储服务器返回的数据写入不成功结果时,所述业务服务器向存储系统中除所述第一存储服务器以外的其他任一存储服务器发送第一数据写入请求。

需要说明的是,第七方面的实现方式及相应的有益效果可以参照第三方面以及相应实现方式中的描述,此处不再赘述。

第八方面,本申请实施例提供了一种存储系统的容灾设备,包括存储器、处理器以及通信模块;所述存储器用于存储计算机程序,所述通信模块用于与外部设备进行数据通信,所述处理器执行所述存储器中的计算机程序,执行如权利要求1-8任一项所述的方法。

需要说明的是,第八方面的实现方式及相应的有益效果可以参照第一方面或第二方面或第三方面以及相应实现方式中的描述,此处不再赘述。

第九方面,本申请实施例提供了一种存储系统的容灾系统,所述系统包括存储服务器、控制服务器和业务服务器,其中,

所述存储服务器用于执行如权利要求1-4任一项所述方法的步骤;

所述控制服务器用于执行如权利要求5或6所述方法的步骤;

所述业务服务器用于执行如权利要求7或8所述方法的步骤。

第十方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序指令,所述程序指令当被处理器执行时使所述处理器执行第一方面或第二方面或第三方面所述的方法。

需要说明的是,第十方面的实现方式及相应的有益效果可以参照第一方面至或第二方面或三方面以及相应实现方式中的描述,此处不再赘述。

附图说明

为了说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作介绍。

图1是本申请实施例提供的一种存储系统的容灾系统的架构示意图;

图2是本申请实施例提供的一种存储系统的容灾方法的流程示意图;

图3是本申请实施例提供的一种存储系统的数据结构图;

图4是本申请实施例提供的另一种存储系统的容灾方法的流程示意图;

图5是本申请实施例提供的另一种存储系统的容灾方法的流程示意图;

图6是本申请实施例提供的另一种存储系统的容灾方法的流程示意图;

图7是本申请实施例提供的另一种存储系统的容灾方法的流程示意图;

图8是本申请实施例提供的一种存储系统的容灾装置的结构示意图;

图9是本申请实施例提供的另一种存储系统的容灾装置的结构示意图;

图10是本申请实施例提供的另一种存储系统的容灾装置的结构示意图;

图11是本申请实施例提供的一种存储系统的容灾设备的结构示意图;

图12是本申请实施例提供的另一种存储系统的容灾设备的结构示意图;

图13是本申请实施例提供的另一种存储系统的容灾设备的结构示意图。

具体实施方式

下面将结合附图对本申请实施例中的技术方案进行描述。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。在本申请说明书中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本说明书中使用的术语“设备”、“单元”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,设备可以是但不限于,处理器,数据处理平台,计算设备,计算机,2个或更多个计算机等。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

为了更好的理解本申请实施例提供的一种存储系统的容灾方法、系统、装置及计算机可读存储介质,如图1所示,其为本申请实施例提供的一种存储系统的容灾系统的架构示意图,该存储系统的容灾系统包括第一存储服务器101、第二存储服务器102、第三存储服务器103、业务服务器104、控制服务器105,第一存储服务器101、第二存储服务器102、第三存储服务器103和业务服务器104通过网络或其他通讯方式实现互相通信,第一存储服务器101、第二存储服务器102、第三存储服务器103和控制服务器105通过网络或者其他通讯方式实现相互通信。

在其中一种可能的实施方式中,存储服务器可以为区块链节点服务器。即第一存储服务器101、第二存储服务器102、第三存储服务器103都可以为区块链节点服务器。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。

区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

下面结合图2就本申请的存储系统的容灾方法进行说明,如图2所示,其为本申请实施例提供的一种存储系统的容灾方法的流程示意图,表明第一次数据写入时的情况,该方法可基于图2所示的系统架构或者其他架构来实现,该方法可以包括但不限于以下步骤:

步骤s201,终端向业务服务器发送第一数据写入请求;

具体地,用户操作终端向业务服务器发送数据写入请求,其中数据写入请求携带有数据内容;

步骤s202,业务服务器向第一存储服务器发送第一数据写入请求;

具体地,业务服务器在收到终端发送的数据写入请求后,向第一存储服务器发送第一数据写入请求,其中第一数据写入请求携带有数据内容和数据键标识,数据键标识可以为体现数据实际含义的标识,如区块标识或事务标识等。

步骤s203,第一存储服务器接收到第一数据写入请求后,进行数据存储;

具体地,第一存储服务器接收到业务服务器发来的第一数据写入请求后,将数据内容存入数据键值对的值域,将数据键标识存入数据键值对的键域,并给数据内容分配数据版本标识,其中数据版本标识存储在数据键值对的值域中。如图3所示为存储系统的数据结构描述,从图3可以看出,每种数据都有与之对应的数据键标识和数据版本标识,数据键标识和数据内容存储在不同的空间,而数据版本标识与数据内容存储在一个空间;

其中,数据版本标识指本次第一数据写入请求中需处理的数据所使用的数据版本标识,数据版本标识可以是随机生成的,也可以是按设定规则生成的,如可以是流水号或流水号+区块标识/事务标识。为了便于存储,本实施例优选按设定规则生成版本标识。

步骤s204,第一存储服务器将存储的数据键值对同步给第二存储服务器以及其他存储服务器;

具体地,第一存储服务器将数据键标识、数据内容以及数据版本标识同步给第二存储服务器以及存储系统中的其他存储服务器。

步骤s205,第二存储服务器以及其他存储服务器向第一存储服务器返回数据同步成功结果;

具体地,第二存储服务器和存储系统中的其他存储服务器在收到第一存储服务器发来的数据同步请求后对其数据键值对进行存储,存储成功后向第一存储服务器发送数据同步成功结果。

步骤s206,第一存储服务器将数据版本标识同步给控制服务器;

具体地,第一存储服务器将给数据内容分配的数据版本标识同步给控制服务器。

步骤s207,控制服务器向第一存储服务器返回数据版本标识同步成功结果;

具体地,控制服务器在收到第一存储服务器发来的数据版本标识同步请求后,对数据版本标识进行存储并向第一存储服务器返回数据版本标识同步成功结果。

步骤s208,第一存储服务器向业务服务器返回第一数据写入成功结果;

具体地,第一存储服务器在收到业务服务器发来的第一数据写入请求后,对数据内容进行存储并向业务服务器返回第一数据写入成功结果;

步骤s209,业务服务器向终端返回数据写入成功结果;

具体地,业务服务器在收到第一存储服务器发来的第一数据写入成功结果后向终端返回第一数据写入成功结果。

需要说明的是,步骤s204至步骤s207执行没有先后顺序,可以先执行步骤s204至步骤s205,也可以先执行步骤s206至步骤s207,也可以同步执行步骤s204至步骤s205和步骤s206至步骤s207。

在本实施例中第一存储服务器和第二存储服务器为存储系统中的任一存储服务器,所述存储系统中的存储服务器都具有数据写入和数据读取功能,通过本申请实施例可以完成在存储服务器第一次的数据写入操作。

下面结合图4就本申请的存储系统的容灾方法进行说明,如图4所述,其为本申请实施例提供的另一种存储系统的容灾方法的流程示意图,表明是第n次(n大于1)进行数据写入,即数据更新。该方法可基于图1所示的系统架构或者其他架构来实现,该方法可以包括但不限于以下步骤:

s401,终端向业务服务器发送数据写入请求;

需要说明的是,具体内容可参照步骤s201,此处不再赘述。

s402,业务服务器向第一存储服务器发送第一数据写入请求;

需要说明的是,具体内容可参照步骤s202,此处不再赘述。

s403,所述第一存储服务器接收到第一数据写入请求后,向控制服务器发送数据版本标识判断请求,其中所述数据版本判断请求携带有第一存储服务器上存储的数据版本标识;

s404,所述控制服务器收到所述数据版本标识判断请求后,对存储在所述第一存储服务器上的数据版本标识和存储在所述控制服务器上的数据版本标识进行判断,得到数据版本标识一致的结果,所述控制服务器对该数据版本标识进行更新,更新方式为进行加一处理;

其中,所述加一处理如是,数据版本标识为整数值,确定新的数据版本标识是在前一版本标识的基础上加一。

s405,控制服务器向第一存储服务器返回第一判断结果,其中,第一判断结果表征数据版本标识一致并携带有最新的数据版本标识;

s406,第一存储服务器在收到控制服务器返回的第一判断结果后存储业务服务器发送来的第一数据写入请求中携带数据键值对并写入最新的数据版本标识;

s407,第一存储服务器将存储的数据键值对同步给第二存储服务器以及其他存储服务器;

s408,第二存储服务器以及其他存储服务器收到第一存储服务器发来的数据同步成功的结果后存储第一存储服务器发来的数据键值对后向第一存储服务器返回数据同步成功结果;

s409,第一存储服务器收到第二存储服务器以及其他存储服务器发来的数据同步成功结果后向业务服务器返回数据写入成功结果;

s410,业务服务器在收到第一存储服务器返回的数据写入成功结果后向终端返回数据写入成功结果。

在本实施例中第一存储服务器和第二存储服务器为存储系统中的任一存储服务器,所述存储系统中的存储服务器都具有数据写入和数据读取功能,通过本申请实施例可以完成在存储服务器上的数据更新操作。

下面结合图5就本申请的存储系统的容灾方法进行说明,如图5所述,其为本申请实施例提供的另一种存储系统的容灾方法的流程示意图,表明在第一存储服务器发生故障的情况下,进行数据写入的方法,该方法可基于图5所示的系统架构或者其他架构来实现,该方法可以包括但不限于以下步骤:

s501,终端向业务服务器发送数据写入请求;

需要说明的是,具体内容可参照步骤s201,此处不再赘述。

s502,业务服务器向第一存储服务器发送第一数据写入请求;

需要说明的是,具体内容可参照步骤s202,此处不再赘述。

s503,第一存储服务器因为故障无法进行数据写入,也无法向业务服务器返回结果;

s504,业务服务器没有收到第一存储服务器返回的结果,业务服务器向第二存储服务器发起第一数据写入请求;

s505,所述第二存储服务器接收到第一数据写入请求后,向控制服务器发送数据版本标识判断请求;

s506,控制服务器收到第二存储服务器发来的数据版本标识判断请求后,对存储在第二存储服务器上的数据版本标识和存储在控制服务器上的数据版本标识进行判断,得到数据版本标识一致的结果,控制服务器对该数据版本标识进行更新,更新方式为进行加一处理;

需要说明的是,具体更新方式可参照步骤s404,此处不再赘述。

s507,控制服务器向第二存储服务器返回第一判断结果,其中所第一判断结果表征数据版本标识一致并携带有最新的数据版本标识;

s508,第二存储服务器收到控制服务器发来的第一判断结果后存储所述业务服务器发送来的数据键值对并写入最新的数据版本标识;

s509,第三存储服务器以及其他存储服务器存储第一存储服务器发来的数据键值对后向第二存储服务器返回数据同步成功结果;

s510,第二存储服务器在收到第三存服务器以及其他存储服务器发来的数据同步成功结果后向业务服务器返回数据写入成功结果;

s511,业务服务器在收到第二存储服务器法返回的写入成功结果后向终端返回数据写入成功结果;

s512,业务服务器在收到第二存储服务器返回的数据写入成功结果后向终端返回数据写入成功结果。

需要说明的是,发生故障的第一存储服务器在故障修复后可以通过存储系统的其他存储服务器来同步更新数据。

在本实施例中第一存储服务器、第二存储服务器和第三存储服务器为存储系统中的任一存储服务器,所述存储系统中的存储服务器都具有数据写入和数据读取功能。通过本申请实施例,可以在存储系统的某一存储服务器发送故障不能进行数据写入的请求,存储系统中的其他存储服务器可以提供数据写入功能。

下面结合图6就本申请的存储系统的容灾方法进行说明,如图6所述,其为本申请实施例提供的另一种存储系统的容灾方法的程示意图,表明在进行数据写入时出现数据同步失败的情况,该方法可基于图6所示的系统架构或者其他架构来实现,该方法可以包括但不限于以下步骤:

s601,终端向业务服务器发送数据写入请求;

需要说明的是,具体内容可参照步骤s201,此处不再赘述。

s602,业务服务器向第一存储服务器发送第一数据写入请求;

需要说明的是,具体内容可参照步骤s202,此处不再赘述。

s603,所述第一存储服务器接收到第一数据写入请求后,向控制服务器发送数据版本标识判断请求;

需要说明的是,数据版本标识的具体内容可参照步骤s403,此处不再赘述。

s604,需要说明的是,具体内容可参照步骤s404,此处不再赘述。

s605,需要说明的是,具体内容可参照步骤s405,此处不再赘述。

s606,需要说明的是,具体内容可参照步骤s406,此处不再赘述。

s607,需要说明的是,具体内容可参照步骤s407,此处不再赘述。

s608,第二存储服务器以及存储系统中的其他存储服务器收到第一存储服务器的同步请求后,第二存储服务器因为故障无法进行数据同步向第一存储服务器返回数据同步失败结果或不向第一存储服务器返回结果;其他存储服务器向第一存储服务器返回数据同步成功结果;

s609,第一存储服务器在收到第二存储服务器返回的数据同步失败结果或没有收到结果以及存储系统中的其他存储服务器返回数据同步成功结果后向业务服务器返回数据写入成功结果;

s610,业务服务器在收到第一存储服务器返回的数据写入成功结果后向终端返回数据写入成功结果。

需要说明的是,数据写入成功的结果可以携带有存储提示信息,用于提示业务服务器向第三存储服务发送第一数据写入请求,第三存储服务器为数据同步成功的存储服务器,或者用于提示业务服务器不向第二存储服务器发送第一数据写入请求,第二存储服务器为数据同步失败的存储服务器。

需要说明的是,发生故障的第二存储服务器在故障修复后可以通过存储系统的其他存储服务器来同步更新数据。

在本实施例中第一存储服务器和第二存储服务器为存储系统中的任一存储服务器,所述存储系统中的存储服务器都具有数据写入和数据读取功能。通过本申请实施例,可以看出在进行数据同步时存储系统中的某一存储服务器会出现数据同步失败的情况,会导致该存储服务器上没有最新的数据版本标识。

下面结合图7就本申请的存储系统的容灾方法进行说明,如图7所述,其为本申请实施例提供的另一种存储系统的容灾方法的流程示意图,表明存储系统的某一存储服务器没有最新的数据版本标识而不能进行数据写入的情况下如何进行数据写入,该方法可基于图7所示的系统架构或者其他架构来实现,该方法可以包括但不限于以下步骤:

s701,需要说明的是,具体内容可参照步骤s201,此处不再赘述。

s702,需要说明的是,具体内容可参照步骤s202,此处不再赘述。

s703,需要说明的是,具体内容可参照步骤s403,此处不再赘述。

s704,控制服务器收到数据版本标识判断请求后,对存储在第二存储服务器上的数据版本标识和存储在控制服务器上的数据版本标识进行判断,得到数据版本标识不一致的结果。

s705,控制服务器向第二存储服务器返回第二判断结果,第二判断结果表征数据版本标识不一致;

s706,第二存储服务器收到控制服务器发来的第二判断结果,第二存储服务器不能存储数据键值对;

s707,第二存储服务器向业务服务器返回数据写入失败结果;

s708,业务服务器在收到数据写入失败的结果后向存储系统中的除第二存储服务器外的第一存储服务器发起第一数据写入请求;

s709,第一存储服务器接收到第一数据写入请求后,向控制服务器发送数据版本标识判断请求,其中所述数据版本判断请求携带有第一存储服务器上存储的数据版本标识;

s710,控制服务器收到数据版本标识判断请求后,对存储在第一存储服务器上的数据版本标识和存储在控制服务器上的数据版本标识进行判断,得到数据版本标识一致的结果,控制服务器对该数据版本标识进行更新,更新方式为进行加一处理;

需要说明的是,具体更新方式可参照步骤s405,此处不再赘述。

s711,控制服务器向所述第一存储服务器返回第一判断结果,其中第一判断结果携带表征数据版本标识一致并携带有最新的数据版本标识;

s712,第二存储服务器在收到控制服务器返回的第一判断结果后存储所述业务服务器发送来的第一数据写入请求中携带的数据键值对并写入最新的数据版本标识;

s713,第二存储服务器将存储的数据键值对同步给第三存储服务器以及其他存储服务器;

s714,第三存储服务器以及其他存储服务器收到第二存储服务器发来的数据同步成功的结果后向第二存储服务器返回数据同步成功结果;

s715,第二存储服务器收到第三存储服务器以及其他存储服务器发来的数据同步成功结果后向业务服务器返回数据写入成功结果;

s716,业务服务器收到第二存储服务器发来的数据写入成功结果后向终端返回数据写入成功结果。

在本申请实施例中,第一存储服务器和第二存储服务器为存储系统中的任一存储服务器,所述存储系统中的存储服务器都具有数据写入和数据读取功能。通过本申请实施例,可以看出在存储系统中的某一存储服务器上没有存储最新的数据版本标识而导致数据无法写入的情况下,通过存储系统中的其他存储服务器进行数据写入。

在其中一种实施方式中,本申请实施例还提供了使用存储系统中的存储服务器对数据版本标识进行判断,若第一存储服务器第一次收到业务服务器发来的第一数据写入请求后,第一数据写入请求携带有数据内容和键标识,第一存储服务器将键标识写入数据键值对的键域中,将第一数据写入请求携带的数据内容写入数据键值对的值域中,并给数据内容分配数据版本标识,并将数据版本标识同步给第一存储服务器中的控制模块;若第一存储服务器第二次收到业务服务器发来的第一数据写入请求后,由第一存储服务器中的控制单元对数据版本标识进行判断,若数据判断标识一致,则由控制单元对其进行更新操作并同步给第一存储服务器,若不一致则将不一致的结果同步给第一存储服务器。

需要说明的是,若业务服务器收到终端发来的数据读取请求,则根据数据读取请求中数据所在的已有的键值对在存储系统的任一存储服务器中进行数据读取。

为了便于更好地实施本申请实施例的上述方案,本申请还对应提供了一种存储系统的容灾装置,下面结合附图来进行详细说明。

如图8所述,本申请实施例提供了一种存储系统的容灾装置80的结构示意图,包括:发送单元801、存储单元802、生成单元803和判断更新单元804。

发送单元801,用于第一存储服务器接收业务服务器发送来的数据写入请求后向业务服务器发送数据;用于第一存储服务器收到业务服务发送的第一数据写入请求后向控制服务器发送数据版本标识同步或判断;用于在第一存储服务器根据第一数据希尔请求完成数据写入后向第二存储服务器发送数据同步请求;

存储单元802,用于第一存储服务器存储业务服务器发送来的第一数据写入请求中携带的数据内容和数据键标识以及控制服务器发送来的第一判断结果中携带的最新的版本标识;

生成单元803,用于第一存储服务器生成与第一数据写入请求中携带的数据内容相对应的数据版本标识;

判断更新单元804,用于第一存储服务器对存储服务器中控制单元存储的数据版本标识与存储服务器中值域内存储的数据版本标识进行判断和更新。

需要说明的是,存储系统的容灾装置80相当于方法实施例中的存储服务器。上述各个操作的具体实现及有益效果还可以对应参照上述图1至图7中提供的实施例及其可能的实施例中存储服务器具体执行的步骤,这里不再赘述。

为了便于更好地实施本申请实施例的上述方案,本申请还对应提供了一种存储系统的容灾装置,下面结合附图来进行详细说明。

如图9所述,本申请实施例提供了一种存储系统的容灾装置90的结构示意图,包括:发送单元901、存储单元902和判断更新单元903。

发送单元901,用于控制服务器向第一存储服务器发送数据版本标识判断结果;

存储单元902,用于控制服务器存储第一存储服务器发送来的数据版本标识;

判断更新单元903,用于控制服务器对收到的数据版本标识判断请求所携带的数据版本标识与存储在控制服务器上的数据版本标识进行判断和更新。

需要说明的是,存储系统的容灾装置90相当于方法实施例中的存储服务器。上述各个操作的具体实现及有益效果还可以对应参照上述图1至图7中提供的实施例及其可能的实施例中存储服务器具体执行的步骤,这里不再赘述。

为了便于更好地实施本申请实施例的上述方案,本申请还对应提供了一种存储系统的容灾装置,下面结合附图来进行详细说明。

如图10所述,本申请实施例提供了一种存储系统的容灾装置100的结构示意图,包括:发送单元1001和接收单元1002。

发送单元1001,用于业务服务器向存储系统中的存储服务器发送数据读取和数据写入请求;

接收单元1002,用于业务服务器接收终端发送的业务请求和接收存储系统中的存储服务器返回的结果。

需要说明的是,存储系统的容灾装置100相当于方法实施例中的存储服务器。上述各个操作的具体实现及有益效果还可以对应参照上述图1至图7中提供的实施例及其可能的实施例中存储服务器具体执行的步骤,这里不再赘述。

图11是本申请实施例提供的一种存储系统的容灾设备的结构示意图。便于理解和图示方便,图11所示的是存储系统的容灾设备110,所述设备相当于方法实施例中的存储服务器,可以包括以下一个或多个组件:存储器1101、处理器1102、通信模块1103。

存储器1101可以包括一个或多个存储单元,每个单元可以包括一个或多个存储器,存储器可用于存储程序和各种数据,并能在账号登录服务器110运行过程中高速、自动地完成程序或数据的存取。当图11所示的账号登录服务器110,执行图2-图6所述方法时,存储器可以用来存储账号信息、目标账号标识信息以及其他相关数据等。

通信模块1103,也可以称为收发机,或收发器等,其中可以包括用来进行无线、有线或其他通信方式的单元。可选的,可以将1103部分中用于实现接收功能的器件视为接收单元,将用于实现发送功能的器件视为发送单元,即1103部分包括接收单元和发送单元。

处理器1102,处理器也可以称为处理单元,处理单板,处理模块,处理装置等。处理器可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。当图11所示的存储服务器110,执行图2中的方法实施例中步骤s203、步骤s204、步骤s208、图4中的方法实施例中步骤s403、图5中的方法实施例中步骤s503中的方法实施例中步骤时,所述处理器1102调用所述存储器1101的计算机程序,执行以下步骤:

通过通信模块1103接收业务服务器发送来的第一数据写入请求;所述第一存储服务器为所述多个存储服务器中的一个服务器;

在通过存储器1101根据所述第一数据写入请求完成数据写入后,通过通信模块1103向第二存储服务器发送数据同步请求。

在其中一种实施方式中,第一数据写入请求携带有数据内容和数据键标识;通过通信模块1103接收业务服务器发送来的第一数据写入请求之后,向第二存储服务器发送数据同步请求之前,还包括:

根据所述第一数据写入请求判断是否存在所述数据键标识;

若所述第一存储服务器不存在所述数据键标识,则所述第一存储服务器将所述键标识写入数据键值对的键域中,将所述第一数据写入请求携带的数据内容写入所述数据键值对的值域中,并给所述数据内容分配数据版本标识,并向控制服务器发送数据版本标识同步请求。

在其中一个实施方式中,得到第一存储服务器存在数据键标识,则第一存储服务器通过通信模块1103向所述控制服务器发送数据版本标识的判断请求,其中判断请求携带有第一存储服务器中存储的与数据内容对应的数据版本标识;

在通过通信模块1103,第一存储服务器接收到所述控制服务器发送的第一判断结果的情况下,第一存储服务器更新数据键值对值域中的数据内容和数据版本标识,其中,所述第一判断结果表征数据版本标识一致。

在第一存储服务器通过通信模块1103接收到控制服务器发送的第二判断结果的情况下,第一存储服务器不更新数据键值对并向所述业务服务器返回数据不能写入结果,其中,第二判断结果表征数据版本标识不一致。

在其中一种实施方式中,向第二存储服务器发送数据同步请求之后还包括,第一存储服务器通过通信模块1103收到第二存储服务器返回的数据同步成功或数据同步不成功结果。

图12是本申请实施例提供的另一种存储系统的容灾设备的结构示意图。便于理解和图示方便,图12所示的是存储系统的容灾设备120,所述设备相当于方法实施例中的控制服务器,可以包括以下一个或多个组件:存储器1201、处理器1202、通信模块1203。

存储器1201可以包括一个或多个存储单元,每个单元可以包括一个或多个存储器,存储器可用于存储程序和各种数据,并能在存储系统的容灾设备120运行过程中高速、自动地完成程序或数据的存取。当图12所示的存储服务器120,执行图2-图7方法时,存储器可以用来存储数据版本标识以及其他相关数据等。

通信模块1203,也可以称为收发机,或收发器等,其中可以包括用来进行无线、有线或其他通信方式的单元。可选的,可以将1203部分中用于实现接收功能的器件视为接收单元,将用于实现发送功能的器件视为发送单元,即1203部分包括接收单元和发送单元。

处理器1202,处理器也可以称为处理单元,处理单板,处理模块,处理装置等。处理器可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。当图12所示的存储系统的容灾设备120,执行图2中方法实施例中步骤s207,图4中方法实施例中步骤s404、步骤s405以及图7中方法实施例中步骤s706时,处理器1202调用存储器1201的计算机程序,执行以下步骤:

通过通信模块1203在收到第一存储服务器发送来的数据版本标识的判断请求后,其中所述数据版本标识判断请求携带有所述第一存储服务器存储的与数据内容对应的数据版本标识,对数据版本标识和在控制服务器上相对应的数据版本标识进行判断;

通过通信模块1203将数据版本标识判断的结果返回给第一存储服务器。

在其中一个实施方式中,通过处理器1202对数据版本标识和在控制服务器上相对应的数据版本标识进行判断将所述数据版本标识判断的结果返回给所述第一存储服务器包括:

对数据版本标识和在控制服务器上相对应的数据版本标识来判断是否一致;

若一致,所述控制服务器对当前的数据版本标识进行更新处理,并将更新后的数据版本标识和数据版本标识一致的结果返回给所述第一存储服务器;

若不一致,所述控制服务器对当前的数据版本标识不进行处理,并将数据版本标识不一致的结果返回给所述第一存储服务器。

图13是本申请实施例提供的另一种存储系统的容灾设备的结构示意图。便于理解和图示方便,图13所示是存储系统的容灾设备130,所述设备相当于方法实施例中的业务服务器,可以包括以下一个或多个组件:存储器1301、处理器1302、通信模块1303。

存储器1301可以包括一个或多个存储单元,每个单元可以包括一个或多个存储器,存储器可用于存储程序和各种数据,并能在存储系统的存储设备130运行过程中高速、自动地完成程序或数据的存取。当图13所示的存储系统的存储设备130,执行图2至图6方法实施例中的步骤时,存储器1301可以用来存储数据写入请求、数据写入成功请求以及其他相关数据等。

通信服务器1303,也可以称为收发机,或收发器等,其中可以包括用来进行无线、有线或其他通信方式的单元。可选的,可以将1303部分中用于实现接收功能的器件视为接收单元,将用于实现发送功能的器件视为发送单元,即1303部分包括接收单元和发送单元。

处理器1302,处理器也可以称为处理单元,处理单板,处理模块,处理装置等。处理器可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。当图13所示的存储系统的容灾设备130,执行图2中所述的方法实施例中步骤s202,执行图7中所述的方法实施例中步骤s708时,所述处理器1302调用所述存储器1301的计算机程序,执行以下步骤:

通过通信模块1303接收到终端的数据写入请求后向第一存储服务器发送第一数据写入请求;第一存储服务器为多个存储服务器中的一个服务器;数据写入请求携带有数据内容,第一数据写入请求携带有数据内容和数据键标识;

通过通信模块1303收到第一存储服务器返回的数据写入不成功结果时,向存储系统中除第一存储服务器以外的其他任一存储服务器发送第一数据写入请求。

在其中一种实施方式中,还包括:

通过通信模块1303在向第二存储服务器发送第一数据写入请求后,第二存储服务器没有返回结果,说明第二存储服务器发生故障,根据通信模块1303向除第二存储服务器外的其他任一存储服务器发送第一数据写入请求。

需要说明的是,上述各个功能单元的具体实现可以参见上述各个方法实施例中相关描述,本申请实施例不再赘述。上述各个操作的具体实现及有益效果还可以对应参照上述图1至图6中提供的实施例及其可能的实施例的相应描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

在本申请中,所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。尽管在此结合各实施例对本申请进行了描述,然而,在实施例所要求保护的本申请过程中,本领域技术人员可理解并实现公开实施例的其他变化。

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