桶状态处理方法与装置制造方法

文档序号:6522731阅读:213来源:国知局
桶状态处理方法与装置制造方法
【专利摘要】本发明提供一种桶状态处理方法与装置,包括:主数据中心接收用户发送的桶处理请求;主数据中心将本地的桶处理状态设置为准备处理状态,并向从数据中心发送桶处理开始请求;主数据中心若接收到从数据中心发送的桶处理开始成功响应,则将桶处理状态从准备处理状态切换为正在处理状态;主数据中心向从数据中心发送完成处理请求;主数据中心若接收到从数据中心发送的桶处理完成成功响应,则将桶处理状态从正在处理状态切换为完成处理状态。本发明实施例,通过保持主从数据中心桶处理状态的一致,克服了主从数据中心上桶处理状态不一致导致用户访问桶对象不一致的问题。
【专利说明】桶状态处理方法与装置
【技术领域】
[0001]本发明涉及存储技术,尤其涉及一种基于对象存储的桶状态处理方法与装置。
【背景技术】
[0002]在多数据中心(Data Center,简称:DC)存储系统中,部分资源要跨数据中心保持一致,如用户信息,文件系统,对象存储(Object-Based Storage)中用来存放对象(Object)的桶(Bucket)。
[0003]现有技术中,用户进行对象操作和访问时,需要在不同的DC上创建相应的桶,该桶在不同的DC上的读写权限不同。通常,用户对主DC上的桶具有读写权限,而从DC上的桶对主DC上的桶起备份作用,只具有读权限,而不具有写权限。以I个主DC(DC1),2个从DC (DC2、DC3)为例来说,现有技术创建桶的过程为:DC1接收用户创建桶的请求,首先将该请求发送给DC2和DC3,若接收到DC2、DC3返回的创建桶的响应消息均为成功响应,则DCl进行桶的创建,若DC2、DC3返回的创建桶的响应消息只要有一个为失败响应,则DCl不进行桶的创建;删除桶的过程为,DCl接收用户删除桶的请求,首先删除自身的桶,然后发送删除桶的请求到DC2、DC3,指示DC2和DC3删除桶。
[0004]上述现有技术中,针对创建桶的过程,可能存在,DC2创建成功,DC3创建未成功,DCl不进行桶的创建,因此,DC2上就会存在残留桶。针对删除桶的过程,可能存在,DCl成功删除桶,DC2成功删除桶,而DC3没有成功删除桶,因此,DC3上就会存在残留桶。一旦存在残留桶,就会造成主DC和从DC上的桶不一致,进而导致用户在不同的DC上访问对象时出现不一致的问题。

【发明内容】

[0005]鉴于此,本发明实施例提供一种桶状态处理方法与装置,以克服现有技术中多数据中心间的桶不一致而导致用户访问桶对象时出现不一致的问题。
[0006]第一方面,本发明提供一种桶状态处理方法,包括:
[0007]主数据中心接收用户发送的桶处理请求;
[0008]所述主数据中心将本地的桶处理状态设置为准备处理状态,并向从数据中心发送桶处理开始请求;
[0009]所述主数据中心若接收到所述从数据中心发送的桶处理开始成功响应,则将所述桶处理状态从准备处理状态更改为正在处理状态;
[0010]所述主数据中心向所述从数据中心发送完成处理请求;
[0011]所述主数据中心若接收到所述从数据中心发送的桶处理完成成功响应,则将所述桶处理状态从正在处理状态更改为完成处理状态。
[0012]在第一方面的第一种可能的实现方式中,还包括:
[0013]所述主数据中心若接收到所述从数据中心发送的桶处理开始失败响应或未接收到所述从数据中心发送的桶处理开始响应,则将桶处理状态保持为准备处理状态。[0014]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述将桶处理状态保持为准备处理状态之后,还包括:
[0015]所述主数据中心,向所述从数据中心发送回退请求;
[0016]所述主数据中心若接收到所述从数据中心发送的回退成功响应,则进行所述桶的回退处理;或者
[0017]所述主数据中心若接收到所述从数据中心发送的桶回退失败响应或未接收到所述从数据中心发送的桶回退响应,则将所述桶处理状态保持为准备处理状态。
[0018]结合第一方面或第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:
[0019]所述主数据中心若接收到所述从数据中心发送的桶处理完成失败响应或未接收到所述从数据中心发送的桶处理完成响应,则将桶处理状态保持为正在处理状态。
[0020]结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述将桶处理状态保持为正在处理状态之后,还包括:
[0021]所述主数据中心向所述从数据中心发送修复请求;
[0022]所述主数据中心若接收到所述从数据中心发送的修复成功响应,则将桶处理状态从正在处理状态更改为完成处理状态;或者
[0023]所述主数据中心若接收到所述从数据中心发送的修复失败响应或未接收到所述从数据中心发送的修复响应,则将桶处理状态保持为正在处理状态。
[0024]结合第一方面或第一方面的第一到第四任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述桶处理为桶创建、桶删除或者桶状态切换。
[0025]第二方面,本发明提供一种桶状态处理方法,包括:
[0026]从数据中心根据主数据中心发送的桶处理开始请求开始进行桶处理;
[0027]所述从数据中心将本地的桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应;
[0028]所述从数据中心根据所述主数据中心发送的完成处理请求进行完成桶处理;
[0029]所述从数据中心将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应。
[0030]在第二方面的第一种可能的实现方式中,还包括:
[0031]所述从数据中心根据所述主数据中心发送的回退请求进行桶的回退处理,并向所述主数据中心发送回退成功响应;或者
[0032]所述从数据中心根据所述主数据中心发送的修复请求进行桶的修复处理,并向所述主数据中心发送修复成功响应。
[0033]结合第二方面或第二方面的第一种可能的实现方式,在第二方面第二种可能的实现方式中,所述从数据中心根据主数据中心发送的桶处理开始请求开始进行桶处理之后,并且所述从数据中心将本地的桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应之前,还包括:
[0034]所述从数据中心根据主数据中心发送的桶处理开始请求开始进行桶处理失败,向所述主数据中心发送桶处理开始失败响应;
[0035]所述从数据中心根据所述主数据中心发送的完成处理请求进行完成桶处理之后,所述从数据中心将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应之前,还包括:
[0036]所述从数据中心根据主数据中心发送的完成处理请求进行完成桶处理失败,向所述主数据中心发送处理完成失败响应,并保持所述桶处理状态为正在处理状态。
[0037]结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述从数据中心根据所述主数据中心发送的回退请求进行桶的回退处理,并向所述主数据中心发送回退成功响应,包括:
[0038]所述从数据中心根据所述主数据中心发送的回退请求查看是否已开始桶处理;
[0039]若否,则直接向所述主数据中心发送回退成功响应;
[0040]若是,则根据所述主数据中心发送的回退请求进行桶的回退处理;
[0041]若回退失败,则向所述主数据中心发送回退失败响应;
[0042]若回退成功,则向所述主数据中心发送回退成功响应。
[0043]结合第二方面的第一到第三任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述从数据中心根据所述主数据中心发送的修复请求进行桶的修复处理,并向所述主数据中心发送修复成功响应,包括:
[0044]所述从数据中心根据所述主数据中心发送的修复请求查看所述桶处理状态是否为完成处理状态;
[0045]若是,则直接向所述主数据中心发送修复成功响应;
[0046]若否,则根据所述主数据中心发送的修复请求进行修复桶处理;
[0047]若修复桶处理失败,则向所述主数据中心发送修复失败响应,并保持所述桶处理状态为正在处理状态;
[0048]若修复桶处理成功,则将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送修复成功响应。
[0049]第三方面,本发明提供一种桶状态处理装置,包括:
[0050]准备处理模块,用于接收用户发送的桶处理请求;
[0051]将本地的桶处理状态设置为准备处理状态,并向从数据中心发送桶处理开始请求;
[0052]正在处理模块,用于若接收到所述从数据中心发送的桶处理开始成功响应,则将所述桶处理状态从准备处理状态更改为正在处理状态;
[0053]完成处理模块,用于向所述从数据中心发送完成处理请求;
[0054]若接收到所述从数据中心发送的桶处理完成成功响应,则将所述桶处理状态从正在处理状态更改为完成处理状态。
[0055]在第三方面的第一种可能的实现方式中,所述准备处理模块,还用于:
[0056]若接收到所述从数据中心发送的桶处理开始失败响应或未接收到所述从数据中心发送的桶处理开始响应,则将桶处理状态保持为准备处理状态。
[0057]结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,还包括:
[0058]回退模块,用于所述准备处理模块将桶处理状态保持为准备处理状态之后,向所述从数据中心发送回退请求;[0059]若接收到所述从数据中心发送的回退成功响应,则进行所述桶的回退处理;或者
[0060]若接收到所述从数据中心发送的桶回退失败响应或未接收到所述从数据中心发送的桶回退响应,则将所述桶处理状态保持为准备处理状态。
[0061]结合第三方面或第三方面的第一种或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述正在处理模块,还用于:
[0062]若接收到所述从数据中心发送的桶处理完成失败响应或未接收到所述从数据中心发送的桶处理完成响应,则将桶处理状态保持为正在处理状态。
[0063]结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,还包括:
[0064]修复模块,用于所述正在处理模块将桶处理状态保持为正在处理状态之后,向所述从数据中心发送修复请求;
[0065]若接收到所述从数据中心发送的修复成功响应,则将桶处理状态从正在处理状态更改为完成处理状态;或者
[0066]若接收到所述从数据中心发送的修复失败响应或未接收到所述从数据中心发送的修复响应,则将桶处理状态保持为正在处理状态。
[0067]第四方面,本发明提供一种桶状态处理装置,包括:
[0068]准备处理响应模块,用于根据主数据中心发送的桶处理开始请求开始进行桶处理;
[0069]将本地的桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应;
[0070]正在处理响应模块,用于根据所述主数据中心发送的完成处理请求完成桶处理;
[0071]将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应。
[0072]在第四方面的第一种可能的实现方式中,还包括:
[0073]回退响应模块,用于根据所述主数据中心发送的回退请求进行桶的回退处理,并向所述主数据中心发送回退成功响应;或者
[0074]修复响应模块,用于根据所述主数据中心发送的修复请求进行桶的修复处理,并向所述主数据中心发送修复成功响应。
[0075]结合第四方面或第四方面的第一种可能的实现方式,在第四方面第二种可能的实现方式中,所述准备处理响应模块根据主数据中心发送的桶处理开始请求开始进行桶处理之后,以及将桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应之前,还用于:
[0076]根据主数据中心发送的桶处理开始请求开始进行桶处理失败,向所述主数据中心发送桶处理开始失败响应;
[0077]所述正在处理响应模块根据所述主数据中心发送的完成处理请求进行完成桶处理之后,以及将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应之前,还用于:
[0078]根据主数据中心发送的完成处理请求进行完成桶处理失败,向所述主数据中心发送处理完成失败响应,并保持所述桶处理状态为正在处理状态。[0079]结合第四方面的第一种或第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述回退响应模块,具体用于:
[0080]根据所述主数据中心发送的回退请求查看是否已开始桶处理;
[0081]若否,则直接向所述主数据中心发送回退成功响应;
[0082]若是,则根据所述主数据中心发送的回退请求进行桶的回退处理;
[0083]若所述桶的回退处理失败,则向所述主数据中心发送回退失败响应;
[0084]若所述桶的回退处理成功,则向所述主数据中心发送回退成功响应。
[0085]结合第四方面的第一到第三任一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述修复响应模块,具体用于:
[0086]根据所述主数据中心发送的修复请求查看所述桶处理状态是否为完成处理状态;
[0087]若是,则直接向所述主数据中心发送修复成功响应;
[0088]若否,则根据所述主数据中心发送的修复请求进行桶的修复处理;
[0089]若所述桶的修复处理失败,则向所述主数据中心发送修复失败响应,并保持所述桶处理状态为正在处理状态;
[0090]若所述桶的修复处理成功,则将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送修复成功响应。
[0091]本发明实施例提供的桶状态处理方法、装置和系统,通过主数据中心在从数据中心的桶处理状态为完成处理状态之后更改本地桶处理状态为完成处理状态,从而保持主从数据中心桶处理状态的一致,克服了主从数据中心上桶处理状态不一致导致用户访问桶对象不一致的问题。并且通过增加主从数据中心的桶处理的中间状态,使得主数据中心可以定期后台扫描中间状态的桶,并根据桶的中间状态进行回退处理或者修复处理,从而使得主从数据中心上相应的桶处理状态最终一致。
【专利附图】

【附图说明】
[0092]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0093]图1为本发明提供的桶状态处理方法实施例一的流程图;
[0094]图2为本发明提供的桶状态处理方法实施例二的流程图;
[0095]图3为本发明提供的桶状态处理方法实施例三的信令流程图;
[0096]图4为本发明提供的桶状态处理方法实施例四的信令流程图;
[0097]图5为本发明提供的桶状态处理方法实施例五的信令流程图;
[0098]图6为本发明提供的桶状态处理装置实施例一的结构示意图;
[0099]图7为本发明提供的桶状态处理装置实施例二的结构示意图;
[0100]图8为本发明提供的桶状态处理系统实施例的结构示意图。
【具体实施方式】
[0101]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
[0102]图1为本发明提供的桶状态处理方法实施例一的流程图,如图1所示,该方法包括以下步骤:
[0103]S101、主数据中心接收用户发送的桶处理请求;
[0104]其中,所述桶处理为可以为桶创建、桶删除或者桶状态切换,后续不再赘述。
[0105]S102、所述主数据中心将本地的桶处理状态设置为准备处理状态,并向从数据中心发送桶处理开始请求;
[0106]S103、所述主数据中心若接收到所述从数据中心发送的桶处理开始成功响应,则将所述桶处理状态从准备处理状态更改为正在处理状态;
[0107]其中,所述主数据中心若接收到所述从数据中心发送的桶处理开始失败响应或未接收到所述从数据中心发送的桶处理开始响应,则将所述桶处理状态保持为准备处理状态。
[0108]S104、所述主数据中心向所述从数据中心发送完成处理请求;
[0109]其中,所述主数据中心若接收到所述从数据中心发送的桶处理完成失败响应或未接收到所述从数据中心发送的桶处理完成响应,则将桶处理状态保持为正在处理状态。
[0110]S105、所述主数据中心若接收到所述从数据中心发送的桶处理完成成功响应,则将桶处理状态从正在处理状态更改为完成处理状态。
[0111]优选地,所述将桶处理状态保持为准备处理状态之后,还包括:
[0112]所述主数据中心,向所述从数据中心发送回退请求;
[0113]所述主数据中心若接收到所述从数据中心发送的回退成功响应,则进行所述桶的回退处理;或者
[0114]所述主数据中心若接收到所述从数据中心发送的桶回退失败响应或未接收到所述从数据中心发送的桶回退响应,则将所述桶处理状态保持为准备处理状态。
[0115]优选地,所述将桶处理状态保持为正在处理状态之后,还包括:
[0116]所述主数据中心向所述从数据中心发送修复请求;
[0117]所述主数据中心若接收到所述从数据中心发送的修复成功响应,则将桶处理状态从正在处理状态更改为完成处理状态;或者
[0118]所述主数据中心若接收到所述从数据中心发送的修复失败响应或未接收到所述从数据中心发送的修复响应,则将桶处理状态保持为正在处理状态。
[0119]具体来说,主数据中心DCl接收到用户的桶处理请求,首先在本地开始桶处理,并将本地的桶处理状态设置为准备处理状态,之后向从数据中心DC2、DC3发送开始桶处理请求,以使DC2和DC3接收到DCl发送的开始桶处理请求后开始桶处理,设置本地的桶处理状态为正在处理状态,并向DCl返回开始桶处理的响应。若DCl接收到DC2和DC3开始桶处理的响应均为成功响应,则将桶处理状态更改为正在处理状态,并向DC2、DC3发送完成处理请求,以使DC2和DC3接收到DCl发送的完成处理请求后完成桶处理,将桶处理状态更改为完成处理状态,并向DCl返回完成处理的响应。若DCl接收到DC2和/或DC3的开始桶处理的响应为失败响应或者未接收到DC2和/或DC3的开始桶处理的响应,则DCl保持桶的处理状态为准备处理状态,并向用户返回不确定响应,即不确定桶处理成功或处理失败,此处不再赘述。若DCl接收到DC2、DC3完成处理响应均为成功响应,则将桶处理状态更改为完成处理状态,并向用户返回桶处理成功响应。若DCl接收到DC2和/或DC3的完成桶处理的响应为失败响应或者未接收到DC2和/或DC3的完成桶处理的响应,则DCl保持桶处理状态为正在处理状态,并向用户返回不确定响应。
[0120]对于DCl中桶处理状态保持在准备处理状态的桶,DC2和/或DC3上可能存在相应的正在处理状态的桶;对于DCl中桶处理状态保持在正在处理状态的桶,DC2和/或DC3上可能存在相应的完成处理状态的桶。
[0121]对于DCl中处于准备处理状态和正在处理状态的桶,DCl可以定期后台周期性扫描,并进行回退处理或者修复处理。对于处于准备处理状态的桶,DCl中向DC2和DC3发送回退请求,以使DC2和DC3在接收到回退请求后,对相应的处于正在处理状态的桶进行回退处理,回退到开始桶处理之前的状态;当DC2和DC3均回退成功后,DCl再进行本地桶的回退处理,使得主从DC上的桶的状态均回退到开始桶处理之前的状态,即清除相应的桶处理。对于处于正在处理状态的桶,DCl向DC2和DC3发送修复请求,以使DC2和DC3在收到修复请求后,对相应的桶进行修复处理,继续完成桶处理,当DC2和DC3均完成处理成功后,DCl再进行本地桶的完成处理,并将桶处理状更改为完成处理状态,使得主从DC上的桶处理状态均为完成处理状态。
[0122]需说明的是,本发明提供的实施例,也适用于从数据中心大于2个的场景,在此不再赘述。
[0123]具体实现时,主数据中心首先在本地数据库,记录桶的处理状态;并发送开始桶处理请求或完成处理请求到从数据中心。从数据中心接收到主数据中心的开始桶处理请求或完成处理请求后,进行开始桶的处理和完成桶的处理,在本地数据库记录桶的处理状态,并向主数据中心返回相应的处理响应。主数据中心根据从数据中心的响应,更改桶处理状态。对于主数据中心处于中间状态的桶,即桶处理状态为准备处理状态或正在处理状态,主数据中心定期后台扫描,向从数据中心发送回退或修复处理请求,并根据从数据中心对其上存在的中间状态的桶,即正在处理状态的桶的回退或修复响应,进行本地回退或修复处理,也即清除桶处理或者完成桶处理。
[0124]该方法实施例,通过主数据中心在从数据中心的桶处理状态为完成处理状态之后更改本地桶处理状态为完成处理状态,从而保持主从数据中心桶处理状态的一致,克服了主从数据中心上桶处理状态不一致导致用户访问桶对象不一致的问题。并且通过增加主从数据中心的桶处理的中间状态,使得主数据中心可以定期后台扫描中间状态的桶,并根据桶的中间状态进行回退处理或者修复处理,从而使得主从数据中心上相应的桶处理状态最终一致。
[0125]图2为本发明提供的桶状态处理方法实施例二的流程图,如图2所示,该方法包括以下步骤:
[0126]S201、从数据中心根据主数据中心发送的桶处理开始请求开始进行桶处理;
[0127]S202、所述从数据中心将本地的桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应;
[0128]其中,从数据中心根据主数据中心发送的桶处理开始请求开始进行桶处理之后,将桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应之前,还包括:所述从数据中心根据主数据中心发送的桶处理开始请求开始进行桶处理失败,向所述主数据中心发送桶处理开始失败响应。
[0129]S203、所述从数据中心根据所述主数据中心发送的完成处理请求进行完成桶处理;
[0130]S204、所述从数据中心将所述桶处理状态切换到完成处理状态,并向所述主数据中心发送处理完成成功响应。
[0131]其中,所述从数据中心根据所述主数据中心发送的完成处理请求进行完成桶处理之后,所述从数据中心将所述桶处理状态切换到完成处理状态,并向所述主数据中心发送处理完成成功响应之前,还包括:所述从数据中心根据主数据中心发送的完成处理请求进行完成桶处理失败,向所述主数据中心发送处理完成失败响应,并保持所述桶处理状态为正在处理状态。
[0132]优选地,该方法实施例,还包括:
[0133]所述从数据中心根据所述主数据中心发送的回退请求进行桶的回退处理,并向所述主数据中心发送回退成功响应;
[0134]所述从数据中心根据所述主数据中心发送的修复请求进行桶的修复处理,并向所述主数据中心发送修复成功响应。
[0135]其中,所述从数据中心根据所述主数据中心发送的回退请求进行桶的回退处理,并向所述主数据中心发送回退成功响应,包括:
[0136]所述从数据中心根据所述主数据中心发送的回退请求查看是否已开始桶处理;
[0137]若否,则直接向所述主数据中心发送回退成功响应;
[0138]若是,则根据所述主数据中心发送的回退请求进行桶的回退处理;
[0139]若回退失败,则向所述主数据中心发送回退失败响应;
[0140]若回退成功,则向所述主数据中心发送回退成功响应。
[0141]所述从数据中心根据所述主数据中心发送的修复请求进行桶的修复处理,并向所述主数据中心发送修复成功响应,包括:
[0142]所述从数据中心根据所述主数据中心发送的修复请求查看所述桶处理状态是否为完成处理状态;
[0143]若是,则直接向所述主数据中心发送修复成功响应;
[0144]若否,则根据所述主数据中心发送的修复请求进行修复桶处理;
[0145]若修复桶处理失败,则向所述主数据中心发送修复失败响应,并保持所述桶处理状态为正在处理状态;
[0146]若修复桶处理成功,则将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送修复成功响应。
[0147]具体来说,从数据中心在接收到开始桶处理请求,若具备桶处理的能力,则开始桶处理,设置桶处理状态为正在处理状态,并向主数据中心返回开始桶处理成功的响应,否则直接向主数据中心返回开始桶处理失败的响应;从数据中心接收到桶的完成处理请求,进行完成桶的处理,若桶完成处理成功,更改桶处理状态为完成处理状态,并向主数据中心返回完成处理成功响应,否则向主数据中心返回完成处理失败响应,并保持桶的处理状态为正在处理状态;从数据中心接收到桶的回退处理请求,首先确定自身是否已开始桶的处理,若开始桶的处理失败,则直接向主数据中心返回回退成功的响应,否则进行桶的回退处理,将桶的状态回退到开始桶处理之前,并向主数据中心返回回退响应,该回退响应可能为回退成功响应也可能为回退失败响应,使得主数据中心根据该回退响应进行相应的回退处理,此处与图1所示方法实施例类似,不再赘述;从数据中心接收到桶的修复处理请求,首先确定自身是否已完成桶的处理,即相应的桶的状态是否为完成处理状态,若是,则直接向主数据中心返回修复成功响应,否则进行完成桶处理,并向主数据中心返回修复响应,该修复响应可能为修复成功响应也可能为修复失败响应,使得主数据中心根据该修复响应进行相应的修复处理,此处与图1所示方法实施例类似,不再赘述。
[0148]需说明的是,对于从数据中心上处于正在处理状态的桶,有可能被要求回退处理,因此从数据中心可以设置对于从数据中心上处于正在处理状态也即中间状态的桶,不允许用户进行操作,否则存在丢失用户操作的风险。
[0149]该方法实施例,通过从数据中心接收主数据中心开始桶处理请求和完成处理请求以开始进行桶的处理和完成桶的处理,并增加桶的正在处理状态的中间状态,使得用户对主从数据中心上桶的对象的访问一致,并且从数据中心根据回退处理请求或修复处理请求进行相应的桶的操作,及时清除本地残留的桶或者完成桶的处理,使得从数据中心和主数据中心上桶的状态最终一致,充分利用桶资源。
[0150]下面分别以桶创建、桶删除和桶状态切换为具体实施例来对本发明桶状态处理方法进行说明。
[0151]图3为本发明提供的桶状态处理方法实施例三的信令流程图,该实施例针对桶处理为桶创建的场景进行说明主从数据中心间的信令交互,如图3所示,该方法包括以下步骤:
[0152]S301、用户向主数据中心DCl发送创建桶请求;
[0153]S302、主数据中心DCl设置桶处理状态准备创建状态;
[0154]S303、主数据中心DCl向从数据中心DC2发送开始桶创建请求;
[0155]S304、主数据中心DCl向从数据中心DC3发送开始桶创建请求;
[0156]S305、从数据中心DC2开始桶创建,设置桶处理状态为正在创建状态;
[0157]S306、从数据中心DC2向主数据中心DCl发送开始桶创建响应;
[0158]S307、从数据中心DC3开始桶创建,设置桶处理状态为正在创建状态;
[0159]S308、从数据中心DC3向主数据中心DCl发送开始桶创建响应;
[0160]S309、主数据中心DCl更改桶处理状态为正在创建状态;
[0161]S310、主数据中心DCl向从数据中心DC2发送完成创建请求;
[0162]S311、主数据中心DCl向从数据中心DC3发送完成创建请求;
[0163]S312、从数据中心DC2完成创建桶,更改桶处理状态为完成创建状态;
[0164]S313、从数据中心DC2向主数据中心DCl发送完成创建响应;
[0165]S314、从数据中心DC3完成创建桶,更改桶处理状态为完成创建状态;
[0166]S315、从数据中心DC3向主数据中心DCl发送完成创建响应;
[0167]S316、主数据中心DCl更改桶处理状态为完成创建状态;
[0168]S317、主数据中心DCl向用户返回创建桶响应。
[0169]具体来说,DCl接收用户创建桶的请求,并设置桶的状态为准备创建状态,若S303?S308中任何一个步骤工作异常,DCl上的桶都处于准备创建状态,不再执行步骤S309?S316,直接执行S317可以向用户返回创建桶响应,该响应为不确定响应,此时DC2和/或DC3上可能存在残留的正在创建的桶;若步骤S310?S315中任何一个步骤工作异常,DCl上的桶都处于正在创建状态,不再执行步骤S316,直接执行S317可以向用户返回创建桶响应,该响应为不确定响应,此时DC2和/或DC3上可能存在残留的完成创建的桶。对于DC2和/或DC3上可能存在的正在创建的桶或完成创建的桶,都与DCl上对应的准备创建的桶和正在创建的桶的状态不一致。对于DC2和/或DC3上的桶,DC2和DC3可以设置对于正在创建的桶,禁止用户写操作。S317之后,DCl后台周期性查找处于非完成状态的桶,若DCl上桶为准备创建状态,可以向DC2和DC3发回退请求,删除正在创建的桶,之后DCl再删除自身准备创建的桶;若DCl上桶为正在创建状态,可以向DC2和DC3发送修复请求,将处于正在创建的桶继续创建完成,得到完成创建的桶,之后,DCl再将自身处于正在创建的桶继续创建完成。若回退或修复过程中,DC2和DC3发送的响应为失败响应,则DCl维持桶的准备创建状态或者正在创建状态,下一次周期性查找时,再进行回退或者修复处理,最后达到DC1、DC2和DC3上桶的状态一致,都清除该桶或者都完成创建该桶。
[0170]需说明的是,对于上述方法流程中所述主数据中心向从数据中心DC2和DC3发送的各种请求,可以为同时发送,也可以先后发送,对此本发明不作限定,后续不再赘述。例如步骤S303和S304,所述主数据中心可以同时向从数据中心DC2和DC3发送开始桶创建请求,也可以先向数据中心DC2发送开始桶创建请求,或者先向数据中心DC3发送开始桶创建请求。
[0171 ] 现有技术中,DC2和DC3上若创建过程中有失败,DCl本地不记录桶的信息,也不进行后续对残留桶的处理,使得DC2和/或DC3上残留的桶长期与主数据中心不一致;并且主数据中心不记录该桶,使得下一个用户有可能以相同的名称在其他从数据中心上创建桶成功,导致多数据中心上的桶不符合全局唯一规则。
[0172]本实施例,通过对要求创建的桶设置准备创建状态和正在创建状态,使得主数据中心可以根据查找这两种状态的桶,并对其进行回退或者修复处理,使得主从数据中心上创建桶达到一致,并且主数据中心首先自身记录桶的信息,使得多数据中心上的桶符合全局唯一规则。
[0173]图4为本发明提供的桶状态处理方法实施例四的信令流程图,该实施例针对桶处理为桶删除的场景进行说明主从数据中心间的信令交互,如图4所示,该方法包括以下步骤:
[0174]S401、用户向主数据中心DCl发送删除桶请求;
[0175]S402、主数据中心DCl设置桶处理状态准备删除状态;
[0176]S403、主数据中心DCl向从数据中心DC2发送开始桶删除请求;
[0177]S404、主数据中心DCl向从数据中心DC3发送开始桶删除请求;
[0178]S405、从数据中心DC2开始桶删除,设置桶处理状态为正在删除状态;
[0179]S406、从数据中心DC2向主数据中心DCl发送开始桶删除响应;
[0180]S407、从数据中心DC3开始桶删除,设置桶处理状态为正在删除状态;
[0181]S408、从数据中心DC3向主数据中心DCl发送开始桶删除响应;
[0182]S409、主数据中心DCl更改桶处理状态为正在删除状态;[0183]S410、主数据中心DCl向从数据中心DC2发送完成删除请求;
[0184]S411、主数据中心DCl向从数据中心DC3发送完成删除请求;
[0185]S412、从数据中心DC2完成删除桶,更改桶处理状态为完成删除状态;
[0186]S413、从数据中心DC2向主数据中心DCl发送完成删除响应;
[0187]S414、从数据中心DC3完成删除桶,更改桶处理状态为完成删除状态;
[0188]S415、从数据中心DC3向主数据中心DCl发送完成删除响应;
[0189]S416、主数据中心DCl更改桶处理状态为完成删除状态;
[0190]S417、主数据中心DCl向用户返回删除桶响应。
[0191]具体来说,删除桶的信息交互过程与创建桶的过程类似,不再赘述。对于DC2和/或DC3上的桶,由于DC2和DC3可以设置对于正在删除的桶,禁止用户写操作,S417之后,DCl后台周期性查找处于中间状态的桶,若DCl上桶为准备删除状态,可以向DC2和DC3发回退请求,清除桶的正在删除状态继续保留该桶,之后DCl清除该桶的准备删除状态,保留该桶;若DCl上桶为正在删除状态,可以向DC2和DC3发送修复请求,将处于正在删除的桶继续完成删除,不保留该桶,之后,DCl再将本地处于正在删除的桶继续完成删除,不保留该桶。若回退和修复过程中,DC2和DC3发送的响应为失败响应,则DCl维持桶的准备删除状态或者正在删除状态,使得下次周期性查找时,作进一步的回退或者修复处理,最后达到DC1、DC2和DC3上桶的状态一致,都完成删除该桶或者都保留该桶。
[0192]需说明的是,对于上述方法流程中所述主数据中心向从数据中心DC2和DC3发送的各种请求,可以为同时发送,也可以先后发送,对此本发明不作限定,后续不再赘述。例如步骤S403和S404,所述主数据中心可以同时向从数据中心DC2和DC3发送开始桶删除请求,也可以先向数据中心DC2发送开始桶删除请求,或者先向数据中心DC3发送开始桶删除请求。
[0193]现有技术中,删除桶时,DCl首先删除自身的桶,使得DC2和DC3上可能有残留的桶长期不会发现,使得DC2和/或DC3上残留的桶长期与主数据中心不一致,并且DCl删除自身桶成功后直接向用户返回删除的信息,并不保留该桶的信息,使得下一个用户有可能以相同的名称在其他从数据中心上创建桶成功,导致多数据中心上的桶不符合全局唯一规则。
[0194]本实施例,通过对要求删除的桶设置准备删除状态和正在删除状态,使得主数据中心可以根据查找这两种中间状态的桶,并对其进行回退或者修复处理,使得主从数据中心上删除桶达到一致,并且主数据中心在从数据上的桶删除成功之后才删除本地的桶并且不保留该桶的信息,使得多数据中心上的桶符合全局唯一规则。
[0195]图5为本发明提供的桶状态处理方法实施例五的信令流程图,该实施例针对桶处理为桶状态切换的场景进行说明主从数据中心间的信令交互,如图5所示,该方法包括以下步骤:
[0196]S501、用户向主数据中心DCl发送切换桶状态请求;
[0197]S502、主数据中心DCl设置桶处理状态准备切换状态;
[0198]S503、主数据中心DCl向从数据中心DC2发送开始桶状态切换请求;
[0199]S504、主数据中心DCl向从数据中心DC3发送开始桶状态切换请求;
[0200]S505、从数据中心DC2开始桶状态切换,设置桶处理状态为正在切换状态;[0201]S506、从数据中心DC2向主数据中心DCl发送开始桶状态切换响应;
[0202]S507、从数据中心DC3开始桶状态切换,设置桶处理状态为正在切换状态;
[0203]S508、从数据中心DC3向主数据中心DCl发送开始桶状态切换响应;
[0204]S509、主数据中心DCl更改桶处理状态为正在切换状态;
[0205]S510、主数据中心DCl向从数据中心DC2发送完成状态切换请求;
[0206]S511、主数据中心DCl向从数据中心DC3发送完成状态切换请求;
[0207]S512、从数据中心DC2完成切换桶状态,更改桶处理状态为完成切换状态;
[0208]S513、从数据中心DC2向主数据中心DCl发送完成状态切换响应;
[0209]S514、从数据中心DC3完成切换桶状态,更改桶处理状态为完成切换状态;
[0210]S515、从数据中心DC3向主数据中心DCl发送完成状态切换响应;
[0211]S516、主数据中心DCl更改桶处理状态为完成切换状态;
[0212]S517、主数据中心DCl向用户返回桶状态切换响应。
[0213]具体来说,该实施例中桶的状态的切换指桶自身的工作状态,通常情况下,桶具有三种工作状态:未开启状态A、开启状态B和挂起状态C。桶的工作状态,可以由A切换到B,然后B和C之间进行互相切换。桶的状态切换和桶的创建过程类似,不再赘述。若切换过程失败,则主从数据中心上桶的工作状态不一致。举例来说,DCl接收用户桶的状态切换请求,要求将桶的工作状态从B切换到C,若桶的状态过程中有失败,存在DCl和DC2和/或DC3上桶的工作状态不一致。DCl后台周期性查找处于非完成切换状态的桶,若DCl上桶为准备切换状态,可以向DC2和DC3发回退请求,将桶的工作状态由C回退到B,之后DCl再将自身的桶的工作状态由C回退到B ;gDCl上桶为正在切换状态,可以向DC2和DC3发送修复请求,将处于正在切换的桶的工作状态切换到C,之后,DCl再将自身处于正在切换的桶切换到C。若回退和修复过程中,DC2和DC3发送的响应为失败响应,则DCl维持桶的准备切换状态或者正在切换状态,使得下次周期性查找时,作进一步的回退或者修复处理,最后达到DC1、DC2和DC3上桶自身的工作状态一致,都为B或者都为C状态。
[0214]需说明的是,对于上述方法流程中所述主数据中心向从数据中心DC2和DC3发送的各种请求,可以为同时发送,也可以先后发送,对此本发明不作限定,后续不再赘述。例如步骤S503和S504,所述主数据中心可以同时向从数据中心DC2和DC3发送开始桶状态切换请求,也可以先向数据中心DC2发送开始桶状态切换请求,或者先向数据中心DC3发送开始桶状态切换请求。
[0215]现有技术中,桶的状态切换和桶的创建过程也类似,不再赘述,对于DC2和DC3上的桶工作状态不一致,DCl不会主动发现并修复。
[0216]需说明的是,本实施例提供的方法,适用于任何其它分布式系统,对于创建、删除或者状态切换不是很频繁,但系统之间一致性要求较高的资源。
[0217]本实施例,通过对要求状态切换的桶设置准备切换状态和正在切换状态,使得主数据中心可以根据查找这两种状态的桶,并对其进行回退或者修复处理,使得主从数据中心上桶状态切换达到一致。
[0218]图6为本发明提供的桶状态处理装置实施例一的结构示意图,如图6所示,该桶处理装置600,包括:准备处理模块601、正在处理模块602、完成处理模块603、回退模块604和修复模块605。[0219]其中,准备处理模块601,用于接收用户发送的桶处理请求;以及
[0220]将桶处理状态设置为准备处理状态,并向从数据中心发送桶处理开始请求;
[0221]正在处理模块602,用于若接收到所述从数据中心发送的桶处理开始成功响应,则将桶处理状态从准备处理状态更改为正在处理状态;
[0222]完成处理模块603,用于向所述从数据中心发送完成处理请求;并且,
[0223]若接收到所述从数据中心发送的桶处理完成成功响应,则将桶处理状态从正在处理状态更改为完成处理状态。
[0224]回退模块604,用于所述准备处理模块将桶处理状态保持为准备处理状态之后,向所述从数据中心发送回退请求;
[0225]若接收到所述从数据中心发送的回退成功响应,则进行所述桶的回退处理;或者
[0226]若接收到所述从数据中心发送的桶回退失败响应或未接收到所述从数据中心发送的桶回退响应,则将所述桶处理状态保持为准备处理状态。
[0227]修复模块605,用于所述正在处理模块将桶处理状态保持为正在处理状态之后,向所述从数据中心发送修复请求;
[0228]若接收到所述从数据中心发送的修复成功响应,则将桶处理状态从正在处理状态更改为完成处理状态;或者
[0229]若接收到所述从数据中心发送的修复失败响应或未接收到所述从数据中心发送的修复响应,则将桶处理状态保持为正在处理状态。
[0230]进一步地,该准备处理模块601,还用于:
[0231]若接收到所述从数据中心发送的桶处理开始失败响应或未接收到所述从数据中心发送的桶处理开始响应,则将桶处理状态保持为准备处理状态。
[0232]进一步地,正在处理模块602,还用于:
[0233]若接收到所述从数据中心发送的桶处理完成失败响应或未接收到所述从数据中心发送的桶处理完成响应,则将桶处理状态保持为正在处理状态。
[0234]可选地,所述桶处理为桶创建、桶删除或者桶状态切换。
[0235]本实施例提供的桶处理装置600,可以用来执行图1所示方法实施例的技术方案或者图3?图5所示实施例相应的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0236]图7为本发明提供的桶状态处理装置实施例二的结构示意图,如图7所示,该同处理装置700,包括:准备处理响应模块701、正在处理响应模块702、回退响应模块703和修复响应模块704。
[0237]其中,准备处理响应模块701,用于根据主数据中心发送的桶处理开始请求开始进行桶处理;以及将本地的桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应;
[0238]正在处理响应模块702,用于根据所述主数据中心发送的完成处理请求完成桶处理;以及将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应。
[0239]回退响应模块703,用于根据所述主数据中心发送的回退请求进行桶的回退处理,并向所述主数据中心发送回退成功响应;
[0240]修复响应模块704,用于根据所述主数据中心发送的修复请求进行桶的修复处理,并向所述主数据中心发送修复成功响应。
[0241]进一步地,所述准备处理响应模块701根据主数据中心发送的桶处理开始请求开始进行桶处理之后,以及将桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应之前,还用于:
[0242]根据主数据中心发送的桶处理开始请求开始进行桶处理失败,向所述主数据中心发送桶处理开始失败响应;
[0243]所述正在处理响应模块702,根据所述主数据中心发送的完成处理请求进行完成桶处理之后,以及将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应之前,还用于:
[0244]根据主数据中心发送的完成处理请求进行完成桶处理失败,向所述主数据中心发送处理完成失败响应,并保持所述桶处理状态为正在处理状态。
[0245]进一步地,所述回退响应模块703,具体用于:
[0246]根据所述主数据中心发送的回退请求查看是否已开始桶处理;
[0247]若否,则直接向所述主数据中心发送回退成功响应;
[0248]若是,则根据所述主数据中心发送的回退请求进行桶的回退处理;
[0249]若所述桶的回退处理失败,则向所述主数据中心发送回退失败响应;
[0250]若所述桶的回退处理成功,则向所述主数据中心发送回退成功响应。
[0251]进一步地,所述修复响应模块704,具体用于:
[0252]根据所述主数据中心发送的修复请求查看所述桶处理状态是否为完成处理状态;
[0253]若是,则直接向所述主数据中心发送修复成功响应;
[0254]若否,则根据所述主数据中心发送的修复请求进行桶的修复处理;
[0255]若所述桶的修复处理失败,则向所述主数据中心发送修复失败响应,并保持所述桶处理状态为正在处理状态;
[0256]若所述桶的修复处理成功,则将所述桶处理状态切换到完成处理状态,并向所述主数据中心发送修复成功响应。
[0257]本实施例提供的桶处理装置700,可以用来执行图2所示方法实施例的技术方案和图3?图5所示方法实施例中相应的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0258]图8为本发明提供的桶状态处理系统实施例的结构示意图,如图8所示,该桶处理系统800包括图6和图7所示桶处理装置中的模块601?605和701?704,其中相应的模块分别可以执行图1和图2所示方法实施例相应的技术方案,并且该桶处理系统800可以用来执行图3?图5所示方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0259]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种桶状态处理方法,其特征在于,包括: 主数据中心接收用户发送的桶处理请求; 所述主数据中心将本地的桶处理状态设置为准备处理状态,并向从数据中心发送桶处理开始请求; 所述主数据中心若接收到所述从数据中心发送的桶处理开始成功响应,则将所述桶处理状态从准备处理状态更改为正在处理状态; 所述主数据中心向所述从数据中心发送完成处理请求; 所述主数据中心若接收到所述从数据中心发送的桶处理完成成功响应,则将所述桶处理状态从正在处理状态更改为完成处理状态。
2.根据权利要求1所述的方法,其特征在于,还包括: 所述主数据中心若接收到所述从数据中心发送的桶处理开始失败响应或未接收到所述从数据中心发送的桶处理开始响应,则将桶处理状态保持为准备处理状态。
3.根据权利要求2所述的方法,其特征在于,所述将桶处理状态保持为准备处理状态之后,还包括: 所述主数据中心,向所述从数据中心发送回退请求; 所述主数据中心若接收到所述从数据中心发送的回退成功响应,则进行所述桶的回退处理;或者 所述主数据中心若接收到所述从数据中心发送的桶回退失败响应或未接收到所述从数据中心发送的桶回退响应,则将所述桶处理状态保持为准备处理状态。
4.根据权利要求1~3中任一项所述的方法,其特征在于,还包括: 所述主数据中心若接收到所述从数据中心发送的桶处理完成失败响应或未接收到所述从数据中心发送的桶处理完成响应,则将桶处理状态保持为正在处理状态。
5.根据权利要求4所述的方法,其特征在于,所述将桶处理状态保持为正在处理状态之后,还包括: 所述主数据中心向所述从数据中心发送修复请求; 所述主数据中心若接收到所述从数据中心发送的修复成功响应,则将桶处理状态从正在处理状态更改为完成处理状态;或者 所述主数据中心若接收到所述从数据中心发送的修复失败响应或未接收到所述从数据中心发送的修复响应,则将桶处理状态保持为正在处理状态。
6.根据权利要求1~5中任一项所述的方法,其特征在于,所述桶处理为桶创建、桶删除或者桶状态切换。
7.一种桶状态处理方法,其特征在于,包括: 从数据中心根据主数据中心发送的桶处理开始请求开始进行桶处理; 所述从数据中心将本地的桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应; 所述从数据中心根据所述主数据中心发送的完成处理请求进行完成桶处理; 所述从数据中心将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应。
8.根据权利要求7所述的方法,其特征在于,还包括:所述从数据中心根据所述主数据中心发送的回退请求进行桶的回退处理,并向所述主数据中心发送回退成功响应;或者 所述从数据中心根据所述主数据中心发送的修复请求进行桶的修复处理,并向所述主数据中心发送修复成功响应。
9.根据权利要求7或8所述的方法,其特征在于,所述从数据中心根据主数据中心发送的桶处理开始请求开始进行桶处理之后,并且所述从数据中心将本地的桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应之前,还包括: 所述从数据中心根据主数据中心发送的桶处理开始请求开始进行桶处理失败,向所述主数据中心发送桶处理开始失败响应; 所述从数据中心根据所述主数据中心发送的完成处理请求进行完成桶处理之后,所述从数据中心将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应之前,还包括: 所述从数据中心根据主数据中心发送的完成处理请求进行完成桶处理失败,向所述主数据中心发送处理完成失败响应,并保持所述桶处理状态为正在处理状态。
10.根据权利要求8或9任一项所述的方法,其特征在于,所述从数据中心根据所述主数据中心发送的回退请求进行桶的回退处理,并向所述主数据中心发送回退成功响应,包括: 所述从数据中心根据所述主数据中心发送的回退请求查看是否已开始桶处理; 若否,则直接向所述主数据中心发送回退成功响应;` 若是,则根据所述主数据中心发送的回退请求进行桶的回退处理; 若回退失败,则向所述主数据中心发送回退失败响应; 若回退成功,则向所述主数据中心发送回退成功响应。
11.根据权利要求8~10中任一项所述的方法,其特征在于,所述从数据中心根据所述主数据中心发送的修复请求进行桶的修复处理,并向所述主数据中心发送修复成功响应,包括: 所述从数据中心根据所述主数据中心发送的修复请求查看所述桶处理状态是否为完成处理状态; 若是,则直接向所述主数据中心发送修复成功响应; 若否,则根据所述主数据中心发送的修复请求进行修复桶处理; 若修复桶处理失败,则向所述主数据中心发送修复失败响应,并保持所述桶处理状态为正在处理状态; 若修复桶处理成功,则将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送修复成功响应。
12.一种桶状态处理装置,其特征在于,包括: 准备处理模块,用于接收用户发送的桶处理请求;以及将本地的桶处理状态设置为准备处理状态,并向从数据中心发送桶处理开始请求; 正在处理模块,用于若接收到所述从数据中心发送的桶处理开始成功响应,则将所述桶处理状态从准备处理状态更改为正在处理状态; 完成处理模块,用于向所述从数据中心发送完成处理请求;若接收到所述从数据中心发送的桶处理完成成功响应,则将所述桶处理状态从正在处理状态更改为完成处理状态。
13.根据权利要求12所述的装置,其特征在于,所述准备处理模块,还用于: 若接收到所述从数据中心发送的桶处理开始失败响应或未接收到所述从数据中心发送的桶处理开始响应,则将桶处理状态保持为准备处理状态。
14.根据权利要求13所述的装置,其特征在于,还包括: 回退模块,用于所述准备处理模块将桶处理状态保持为准备处理状态之后,向所述从数据中心发送回退请求; 若接收到所述从数据中心发送的回退成功响应,则进行所述桶的回退处理;或者若接收到所述从数据中心发送的桶回退失败响应或未接收到所述从数据中心发送的桶回退响应,则将所述桶处理状态保持为准备处理状态。
15.根据权利要求12~14中任一项所述的装置,其特征在于,所述正在处理模块,还用于: 若接收到所述从数据中心发送的桶处理完成失败响应或未接收到所述从数据中心发送的桶处理完成响应,则将桶处理状态保持为正在处理状态。
16.根据权利要求15所述的装置,其特征在于,还包括: 修复模块,用于所述正 在处理模块将桶处理状态保持为正在处理状态之后,向所述从数据中心发送修复请求; 若接收到所述从数据中心发送的修复成功响应,则将桶处理状态从正在处理状态更改为完成处理状态;或者 若接收到所述从数据中心发送的修复失败响应或未接收到所述从数据中心发送的修复响应,则将桶处理状态保持为正在处理状态。
17.一种桶状态处理装置,其特征在于,包括: 准备处理响应模块,用于根据主数据中心发送的桶处理开始请求开始进行桶处理;将本地的桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应; 正在处理响应模块,用于根据所述主数据中心发送的完成处理请求完成桶处理; 将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应。
18.根据权利要求17所述的装置,其特征在于,还包括: 回退响应模块,用于根据所述主数据中心发送的回退请求进行桶的回退处理,并向所述主数据中心发送回退成功响应;或者 修复响应模块,用于根据所述主数据中心发送的修复请求进行桶的修复处理,并向所述主数据中心发送修复成功响应。
19.根据权利要求17或18所述的装置,其特征在于,所述准备处理响应模块根据主数据中心发送的桶处理开始请求开始进行桶处理之后,以及将桶处理状态设置为正在处理状态,并向所述主数据中心发送桶处理开始成功响应之前,还用于: 根据主数据中心发送的桶处理开始请求开始进行桶处理失败,向所述主数据中心发送桶处理开始失败响应;所述正在处理响应模块根据所述主数据中心发送的完成处理请求进行完成桶处理之后,以及将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送处理完成成功响应之前,还用于: 根据主数据中心发送的完成处理请求进行完成桶处理失败,向所述主数据中心发送处理完成失败响应,并保持所述桶处理状态为正在处理状态。
20.根据权利要求18或19任一项所述的装置,其特征在于,所述回退响应模块,具体用于: 根据所述主数据中心发送的回退请求查看是否已开始桶处理; 若否,则直接向所述主数据中心发送回退成功响应; 若是,则根据所述主数据中心发送的回退请求进行桶的回退处理; 若所述桶的回退处理失败,则向所述主数据中心发送回退失败响应; 若所述桶的回退处理成功,则向所述主数据中心发送回退成功响应。
21.根据权利要求 18~20中任一项所述的装置,其特征在于,所述修复响应模块,具体用于: 根据所述主数据中心发送的修复请求查看所述桶处理状态是否为完成处理状态; 若是,则直接向所述主数据中心发送修复成功响应; 若否,则根据所述主数据中心发送的修复请求进行桶的修复处理; 若所述桶的修复处理失败,则向所述主数据中心发送修复失败响应,并保持所述桶处理状态为正在处理状态; 若所述桶的修复处理成功,则将所述桶处理状态更改为完成处理状态,并向所述主数据中心发送修复成功响应。
【文档编号】G06F17/30GK103678561SQ201310659174
【公开日】2014年3月26日 申请日期:2013年12月6日 优先权日:2013年12月6日
【发明者】刘权章 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1