一种对象存储方法和装置制造方法及图纸

技术编号:12784720 阅读:60 留言:0更新日期:2016-01-28 09:39
本发明专利技术实施例公开了一种对象存储方法和装置,该方法可包括:获取待存储对象的元数据,并向主节点发送携带所述元数据的写入请求,由所述主节点根据所述写入请求将所述元数据写入本地,并由所述主节点向至少一个备节点发送携带所述元数据的写入请求,以使所述至少一个备节点将所述元数据写入本地;获取所述待存储对象的数据,并向至少一个存储节点发送携带有所述数据的写入请求,以使所述至少一个存储节点将所述数据写入本地。本发明专利技术实施例可以减少写操作的时延。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及一种对象存储方法和装置
技术介绍
随着存储技术的发展,分布式存储系统应用得到广泛应用。其中,目前分布式存储系统在存储对象进行存储时,主要通过如下方式进行存储:当客户端接收请请求后,根据路由获取复制状态机(Replicat1n StateMachine,RSM)的主节点,发送写请求到主节点;主节点先写本地,若写失败,则返回失败给客户端,若成功,则并发向两个备节点发送写请求,备节点写入后,返回结果给主节点,主节点返回结果给客户端。然而,上述技术中存储对象的所有内容都是从客户端到主节点要经过一次路由,同时主节点与备节点是顺序写,写操作的时延较大。
技术实现思路
本专利技术实施例提供了一种对象存储方法和装置,可以减少写操作的时延。第一方面,本专利技术实施例提供一种对象存储方法,包括:获取待存储对象的元数据,并向主节点发送携带所述元数据的写入请求,由所述主节点根据所述写入请求将所述元数据写入本地,并由所述主节点向至少一个备节点发送携带所述元数据的写入请求,以使所述至少一个备节点将所述元数据写入本地;获取所述待存储对象的数据,并向至少一个存储节点发送携带有所述数据的写入请求,以使所述至少一个存储节点将所述数据写入本地。在第一方面的第一种可能的实现方式中,所述方法还包括:接收所述至少一个存储节点中每个存储节点发送的第一写入结果,其中,所述第一写入结果用于表示所述数据写入是否成功;判断接收到的表示写入成功的第一写入结果的数量是否大于或者等于预设阈值时,若是,则确定所述待存储对象的数据写入成功。结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还包括:接收所述主节点发送的用于表示所述元数据写入是否成功的第二写入结果,以及接收所述主节点发送的第三写入结果,其中,所述第三写入结果包括所述至少一个备节点中每个备节点发送的用于表示所述元数据写入是否成功的写入结果;判断接收的所述第二写入结果和所述第三写入结果中是否存在表示所述元数据写入失败的写入结果,若是,则确定所述待存储对象的元数据写入失败,若否,则确定所述待存储对象的元数据写入成功。结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:在生成所述待存储对象的元数据时,在所述元数据中添加标记信息;所述获取待存储对象的元数据,并向主节点发送携带所述元数据的写入请求,包括:获取待存储对象的添加所述标记信息的元数据,并向主节点发送携带所述添加所述标记信息的元数据的写入请求。结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述获取所述待存储对象的数据,并向至少一个存储节点发送携带有所述数据的写入请求,包括:获取所述待存储对象的数据,并确定所述数据为无需更新操作的数据时,向至少一个存储节点发送携带有所述数据的写入请求。第二方面,本专利技术实施例提供一种对象存储装置,包括:获取单元、第一写入单元和第二写入单元,其中:所述获取单元,用于获取待存储对象的元数据;所述第一写入单元,用于向主节点发送携带所述元数据的写入请求,由所述主节点根据所述写入请求将所述元数据写入本地,并由所述主节点向至少一个备节点发送携带所述元数据的写入请求,以使所述至少一个备节点将所述元数据写入本地;所述获取单元还用于获取所述待存储对象的数据;所述第二写入单元,用于向至少一个存储节点发送携带有所述数据的写入请求,以使所述至少一个存储节点将所述数据写入本地。在第二方面的第一种可能的实现方式中,所述装置还包括:第一接收单元,用于接收所述至少一个存储节点中每个存储节点发送的第一写入结果,其中,所述第一写入结果用于表示所述数据写入是否成功;第一判断单元,用于判断接收到的表示写入成功的第一写入结果的数量是否大于或者等于预设阈值时,若是,则确定所述待存储对象的数据写入成功。结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括:第二接收单元,用于接收所述主节点发送的用于表示所述元数据写入是否成功的第二写入结果,以及接收所述主节点发送的第三写入结果,其中,所述第三写入结果包括所述至少一个备节点中每个备节点发送的用于表示所述元数据写入是否成功的写入结果;第二判断单元,用于判断接收的所述第二写入结果和所述第三写入结果中是否存在表示所述元数据写入失败的写入结果,若是,则确定所述待存储对象的元数据写入失败,若否,则确定所述待存储对象的元数据写入成功。结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述装置还包括:添加单元,用于在生成所述待存储对象的元数据时,在所述元数据中添加标记信息;所述获取单元用于获取待存储对象的添加所述标记信息的元数据;所述第一写入单元用于向主节点发送携带所述添加所述标记信息的元数据的写入请求。结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二写入单元用于确定所述数据为无需更新操作的数据时,向至少一个存储节点发送携带有所述数据的写入请求。上述技术方案中,获取待存储对象的元数据,并向主节点发送携带所述元数据的写入请求,由所述主节点根据所述写入请求将所述元数据写入本地,并由所述主节点向至少一个备节点发送携带所述元数据的写入请求,以使所述至少一个备节点将所述元数据写入本地;获取所述待存储对象的数据,并向至少一个存储节点发送携带有所述数据的写入请求,以使所述至少一个存储节点将所述数据写入本地。这样可以实现只有存储对象的元数据是从主节点到备节点的顺序写的,而存储对象的数据则是直接写至存储节点的,从而相比现有技术,本专利技术实施例可以减少写操作的时延。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种对象存储方法的流程示意图;图2是本专利技术实施例提供的另一种对象存储方法的流程示意图;图3是本专利技术实施例提供的一种对象存储逻辑示意图;图4是本专利技术实施例提供的一种对象存储装置的结构示意图;图5是本专利技术实施例提供的另一种对象存储装置的结构示意图;图6是本专利技术实施例提供的另一种对象存储装置的结构示意图;图7是本专利技术实施例提供的另一种对象存储装置的结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,图1是本专利技术实施例提供的一种对象存储方法的流程示意图,如图1所示,包括以下步骤:101、获取待存储对象的元数据,并向主节点发送携带所述元数据的写入请求,由所述主节点根据所述写入请求将所述元数据写入本地,并由所述主节点向本文档来自技高网...

【技术保护点】
一种对象存储方法,其特征在于,包括:获取待存储对象的元数据,并向主节点发送携带所述元数据的写入请求,由所述主节点根据所述写入请求将所述元数据写入本地,并由所述主节点向至少一个备节点发送携带所述元数据的写入请求,以使所述至少一个备节点将所述元数据写入本地;获取所述待存储对象的数据,并向至少一个存储节点发送携带有所述数据的写入请求,以使所述至少一个存储节点将所述数据写入本地。

【技术特征摘要】

【专利技术属性】
技术研发人员:罗治文文松张立蔡勇
申请(专利权)人:成都华为技术有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1