对象存储系统中的对象数据的更新方法和更新装置制造方法及图纸

技术编号:15009298 阅读:95 留言:0更新日期:2017-04-04 14:57
本申请公开了对象存储系统中的对象数据的更新方法和更新装置。所述方法的一具体实施方式包括:接收用户的对象数据更新请求,其中,对象数据更新请求包括更新请求的类型和待更新的对象数据的身份信息;基于待更新的对象数据的身份信息获取待更新的对象数据的元数据;基于更新请求的类型对待更新的对象数据的元数据执行第一预定操作;基于待更新的对象数据的身份信息获取待更新的对象数据的实际数据;以及基于更新请求的类型对待更新的对象数据的实际数据执行第二预定操作。该实施方式实现了对象存储系统中对象数据的高效删除/复制。

【技术实现步骤摘要】

本申请涉及计算机
,具体涉及数据存储
,尤其涉及对象存储系统中的对象数据的更新方法和更新装置
技术介绍
在云计算服务中,对象存储服务是一个非常重要的基础服务。对象存储服务将数据作为对象写在用户的存储区域中,用户可以写入、读取和删除该存储区域中的对象。在现有的对象存储系统中,可以支持的最大单个对象数据的大小为5T。现有的对象存储系统在进行数据存储时,通常采用将数据切分成小块存储,并使用元数据(metadata)来维护对象和各小块数据之间的关系。一般而言,用户对数据的操作包括复制操作和删除操作。对删除操作而言,现有的技术方案可以概括为两种:1、直接删除:用户发起删除对象的操作之后,系统就直接删除该对象相关的数据块和metadata。2、垃圾回收:删除时并不立即释放物理空间,而是采用惰性策略,在周期性的常规垃圾扫描才回收物理空间。对复制操作而言,现有技术的方案为直接复制。对于现有的直接复制和直接删除操作,其处理逻辑复杂,容易失败。特别地,当对象数据较大时,甚至会涉及到几十万个数据块的复制/删除,若处理过程中出现异常或失败,不仅可能导致垃圾数据或者数据不完整的情况发生,还容易导致metadata数据不一致的情况发生。此外,当对象数据较大时,复制/删除操作的过程时间长,导致对象存储系统压力较大。若多个用户同时发起大量的复制/删除操作,容易使系统负载陡然上升,甚至无法执行相应的操作。对于现有的删除操作中的垃圾回收的方案,其主要缺点是对存储空间的浪费。
技术实现思路
本申请的目的在于提出一种改进的对象存储系统中的对象数据的更新方法和更新装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种对象存储系统中的对象数据更新方法,其中,对象存储系统中存储有多个对象数据,每个对象数据包括元数据和分片存储的实际数据,方法包括:接收用户的对象数据更新请求,其中,对象数据更新请求包括更新请求的类型和待更新的对象数据的身份信息;基于待更新的对象数据的身份信息获取待更新的对象数据的元数据;基于更新请求的类型对待更新的对象数据的元数据执行第一预定操作;基于待更新的对象数据的身份信息获取待更新的对象数据的实际数据;以及基于更新请求的类型对待更新的对象数据的实际数据执行第二预定操作。在一些实施例中,更新请求的类型包括复制请求,待更新的对象数据包括待复制对象数据,待复制对象数据的身份信息包括复制对象数据的源存储地址信息和目标存储地址信息;基于更新请求的类型对待更新的对象数据的元数据执行第一预定操作包括:将待复制对象数据的元数据作为目标对象数据的元数据存储至目标存储地址;基于更新请求的类型对待更新的对象数据的实际数据执行第二预定操作包括:将待复制对象数据的实际数据作为目标对象数据的实际数据存储到目标存储地址。在一些实施例中,将待复制对象数据的元数据作为目标对象数据的元数据存储至目标存储地址包括:在待复制对象数据的元数据中,添加复制任务标识。在一些实施例中,待复制对象数据的元数据包括待复制对象数据的实际数据的当前分片信息;在将待复制对象数据的实际数据复制到目标存储地址,生成目标对象数据的实际数据之后,方法还包括:删除复制任务标识;以及更新目标对象数据的元数据,使得目标对象数据的元数据包括目标对象数据的实际数据的当前分片信息。在一些实施例中,更新请求的类型包括删除请求;待更新的对象数据包括待删除对象数据;待删除对象数据的元数据包括待删除对象数据的实际数据的当前分片信息以及待删除对象数据的实际数据的历史分片信息;基于更新请求的类型对待更新的对象数据的元数据执行第一预定操作包括:删除待删除对象数据的实际数据的当前分片信息;基于更新请求的类型对待更新的对象数据的实际数据执行第二预定操作包括:删除待删除对象数据的实际数据。在一些实施例中,在删除待删除对象数据的实际数据之后,方法还包括:删除待删除对象数据的元数据中的历史分片信息。在一些实施例中,对象数据更新请求包括用户身份信息;接收用户的对象数据更新请求包括:基于用户身份信息确定用户的操作权限;基于待更新的对象数据的身份信息获取待更新的对象数据的元数据包括:基于用户具有预定操作权限,获取待更新的对象数据的元数据;基于待更新的对象数据的身份信息获取待更新的对象数据的实际数据包括:基于用户具有预定操作权限,获取待更新的对象数据的实际数据。第二方面,本申请提供了一种对象存储系统中的对象数据更新装置,其中,对象存储系统中存储有多个对象数据,每个对象数据包括元数据和分片存储的实际数据,装置包括:接收模块,配置用于接收用户的对象数据更新请求,其中,对象数据更新请求包括更新请求的类型和待更新的对象数据的身份信息;第一获取模块,配置用于基于待更新的对象数据的身份信息获取待更新的对象数据的元数据;第一执行模块,配置用于基于更新请求的类型对待更新的对象数据的元数据执行第一预定操作;第二获取模块,配置用于基于待更新的对象数据的身份信息获取待更新的对象数据的实际数据;以及第二执行模块,配置用于基于更新请求的类型对待更新的对象数据的实际数据执行第二预定操作。在一些实施例中,更新请求的类型包括复制请求,待更新的对象数据包括待复制对象数据;待复制对象数据的身份信息包括待复制对象数据的存储地址信息和目标存储地址信息;第一执行模块包括第一复制单元,配置用于将待复制对象数据的元数据作为目标对象数据的元数据存储至目标存储地址;第二执行模块包括第二复制单元,配置用于将待复制对象数据的实际数据作为目标对象数据的实际数据存储到目标存储地址。在一些实施例中,第一复制单元进一步配置用于:在待复制对象数据的元数据中,添加复制任务标识。在一些实施例中,待复制对象数据的元数据包括待更新的对象数据的实际数据的当前分片信息;装置还包括元数据更新模块,配置用于:在第二复制单元将待复制对象数据的实际数据作为目标对象数据的实际数据存储到目标存储地址之后,删除复制任务标识,以及更新目标对象数据的元数据,使得目标对象数据的元数据包括目标对象数据的实际数据的当前分片信息。在一些实施例中,更新请求的类型包括删除请求;待更新的对象数据包括待删除对象数据;待删除对象数据的元数据包括待删除对象数据的实际数据的当前分片信息以及待删除对象数据的实际本文档来自技高网
...

【技术保护点】
一种对象存储系统中的对象数据更新方法,其中,所述对象存储系统中存储有多个所述对象数据,每个所述对象数据包括元数据和分片存储的实际数据;其特征在于,所述方法包括:接收用户的对象数据更新请求,其中,所述对象数据更新请求包括更新请求的类型和待更新的对象数据的身份信息;基于所述待更新的对象数据的身份信息获取所述待更新的对象数据的元数据;基于所述更新请求的类型对所述待更新的对象数据的元数据执行第一预定操作;基于所述待更新的对象数据的身份信息获取所述待更新的对象数据的实际数据;以及基于所述更新请求的类型对所述待更新的对象数据的实际数据执行第二预定操作。

【技术特征摘要】
1.一种对象存储系统中的对象数据更新方法,其中,所述对象存
储系统中存储有多个所述对象数据,每个所述对象数据包括元数据和
分片存储的实际数据;其特征在于,所述方法包括:
接收用户的对象数据更新请求,其中,所述对象数据更新请求包
括更新请求的类型和待更新的对象数据的身份信息;
基于所述待更新的对象数据的身份信息获取所述待更新的对象数
据的元数据;
基于所述更新请求的类型对所述待更新的对象数据的元数据执行
第一预定操作;
基于所述待更新的对象数据的身份信息获取所述待更新的对象数
据的实际数据;以及
基于所述更新请求的类型对所述待更新的对象数据的实际数据执
行第二预定操作。
2.根据权利要求1所述的方法,其特征在于,所述更新请求的类
型包括复制请求,所述待更新的对象数据包括待复制对象数据;所述
待复制对象数据的身份信息包括待复制对象数据的源存储地址信息和
目标存储地址信息;
所述基于所述更新请求的类型对所述待更新的对象数据的元数据
执行第一预定操作包括:将所述待复制对象数据的元数据作为目标对
象数据的元数据存储至目标存储地址;
所述基于所述更新请求的类型对所述待更新的对象数据的实际数
据执行第二预定操作包括:将所述待复制对象数据的实际数据作为目
标对象数据的实际数据存储到目标存储地址。
3.根据权利要求2所述的方法,其特征在于,将所述待复制对象
数据的元数据作为目标对象数据的元数据存储至目标存储地址包括:
在所述待复制对象数据的元数据中,添加复制任务标识。
4.根据权利要求3所述的方法,其特征在于,所述待复制对象数
据的元数据包括所述待复制对象数据的实际数据的当前分片信息;
在将所述待复制对象数据的实际数据复制到目标存储地址,生成
目标对象数据的实际数据之后,所述方法还包括:
删除所述复制任务标识;以及
更新所述目标对象数据的元数据,使得所述目标对象数据的元数
据包括所述目标对象数据的实际数据的当前分片信息。
5.根据权利要求1所述的方法,其特征在于,所述更新请求的类
型包括删除请求,所述待更新的对象数据包括待删除对象数据;
所述待删除对象数据的元数据包括所述待删除对象数据的实际数
据的当前分片信息以及所述待删除对象数据的实际数据的历史分片信
息;
所述基于所述更新请求的类型对所述待更新的对象数据的元数据
执行第一预定操作包括:删除所述待删除对象数据的实际数据的当前
分片信息;
所述基于所述更新请求的类型对所述待更新的对象数据的实际数
据执行第二预定操作包括:
删除所述待删除对象数据的实际数据。
6.根据权利要求5所述的方法,其特征在于,在所述删除所述待
删除对象数据的实际数据之后,所述方法还包括:
删除所述待删除对象数据的元数据中的所述历史分片信息。
7.根据权利要求1所述的方法,其特征在于,所述对象数据更新
请求包括用户身份信息;
所述接收用户的对象数据更新请求包括:基于所述用户身份信息
确定用户的操作权限;
所述基于所述待更新的对象数据的身份信息获取所述待更新的对

\t象数据的元数据包括:基于所述用户具有预定操作权限,获取所述待
更新的对象数据的元数据;
所述基于所述待更新的对象数据的身份信息获取所述待更新的对
象数据的实际数据包括:基于所述用户具有预定操作权限,获取所...

【专利技术属性】
技术研发人员:张晨杨奋强
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1