基于对象存储系统的数据传输方法及系统技术方案

技术编号:39670712 阅读:15 留言:0更新日期:2023-12-11 18:36
本发明专利技术实施例涉及存储管理技术领域,公开了一种基于对象存储系统的数据传输方法,包括:在客户端向服务端上传对象之前,向服务端发送数据请求指令;接收服务端基于数据请求指令返回的数据,若数据为空数据集,则向服务端上传对象的完整数据集;若数据为非空数据集,则接收服务端返回的对象旧版本数据分布摘要,并根据数据分布摘要在客户端对待上传对象进行扫描匹配,再根据匹配结果构建待上传对象的数据块列表;最后根据数据块列表将相应的数据块发送至服务端

【技术实现步骤摘要】
基于对象存储系统的数据传输方法及系统


[0001]本专利技术涉及存储管理
,具体涉及一种基于对象存储系统的数据传输方法及系统


技术介绍

[0002]目前,数据存储方式主要包括块(
block


文件(
file
)和对象(
object
)三种,这三种方式对应三种不同的存储系统

块存储是指将数据分成固定大小的块(通常是几
KB
或几
MB
),并将每个块存储在一个或多个存储设备上

块存储通常用于高性能

低延迟的应用场景,如数据库和虚拟化存储

文件存储是指将数据组织成一个个文件,文件通常包含一个或多个数据块,文件和目录形成一个树形结构

文件存储常用于桌面和服务器应用程序

对象存储是指将数据组织成独立的对象,并将对象存储在分布式存储设备上

对象存储常用于云存储和备份

[0003]相比于传统的文件系统或块存储系统,对象存储系统将数据作为对象进行存储和管理,每个对象都有一个唯一的标识符,也称为键(
key
),而不是按照文件夹或目录来存储

对象存储适用于存储海量非结构化数据,例如图像

音频

视频

日志和文档等

[0004]支持多版本的对象存储系统是指该系统能够存储同一对象的多个版本,当对象被更新时,新版本会被存储,旧版本会被保留,用户可以随时访问以前的版本

这种功能对于需要追踪数据更改历史记录的应用程序非常有用,例如文档管理系统

协作工具和版本控制工具

[0005]对于支持多版本的对象存储系统,对每次只作小部分修改的对象,传输整个对象的内容会造成网络带宽不必要的浪费

因此,设计一种能够节省网络带宽以提高写入性能的方案成为本领域技术人员亟待解决的技术问题


技术实现思路

[0006]针对所述缺陷,本专利技术实施例公开了一种基于对象存储系统的数据传输方法,其能够提高多版本对象存储系统用户的写入性能

[0007]本专利技术实施例第一方面公开了基于对象存储系统的数据传输方法,包括:在客户端向服务端上传对象之前,向所述服务端发送第一数据分布摘要请求指令;接收所述服务端基于所述数据请求指令返回的数据,若所述数据为空数据集,则向所述服务端上传所述对象的完整数据集,在所述服务端构建与所述对象关联的第二数据分布摘要,并对所述第二数据分布摘要进行数据存储;若所述数据为非空数据集,则接收所述服务端反馈的第一数据分布摘要,并在客户端读取待上传更新对象以构建第三数据分布摘要,并将所述第三数据分布摘要与所述第一数据分布摘要进行比较以构建待上传更新对象的数据块列表;根据所述数据块列表将相应的数据块发送至服务端,并在所述服务端生成所述更
新对象的数据分布摘要并进行数据存储

[0008]作为一种可选的实施方式,在本专利技术实施例第一方面中,所述若所述数据为非空数据集,则接收所述服务端反馈的第一数据分布摘要,并在客户端读取待上传更新对象以构建第三数据分布摘要,并将所述第三数据分布摘要与所述第一数据分布摘要进行比较以构建待上传更新对象的数据块列表,包括:若所述数据为非空数据集,接收从服务端返回的数据块的大小以及三元组数据,并从所述三元组数据中获得相应的起始数据列表;提取所述起始数据列表中的第一起始数据,并根据所述第一起始数据对待上传对象自起始处进行字节比较扫描以寻找与所述第一起始数据匹配的数据,若两者数据匹配,则计算所述起始数据对应的数据块哈希值并与服务端返回的该起始数据对应的数据块哈希值进行比对;当两者哈希值相同时,则将相应数据块确定为不需要上传的数据,数据块编号定为相应起始数据所在起始数据列表的编号,然后从所述起始数据列表中提取下一起始数据继续与待上传对象余下的数据进行匹配比较;当两者哈希值不同时,则继续与待上传对象的未匹配数据进行匹配比较,若匹配到对象末尾仍未匹配上,从所述起始数据列表中提取下一起始数据与待上传对象最后一个不需上传的数据块的结束位置的下一字节继续进行匹配比较,假如此时未确定不需上传的数据块,则从待上传对象起始处重新进行匹配比较;当所述起始数据列表所有的起始数据均已进行匹配比较或待上传对象确认不需上传的数据块已达对象结束位置,匹配完成;待上传对象不需上传的数据块形成不需上传数据块列表,该列表包括每个不需上传数据块在待上传对象中的字节起始位置

结束位置

该数据块对应起始数据所在起始数据列表的编号;待上传对象不需上传数据块的余下数据形成需上传数据块列表,该列表包括每个需上传数据块在待上传对象中的字节起始位置与结束位置;根据不需上传数据块列表与需上传数据块列表,合并形成发送列表,该列表由一个或多个四元组组成,当标记字段为0时,代表待上传对象在该位置区间数据块不需上传,此时内容字段为该数据块对应起始数据所在起始数据列表的编号;当标记字段为1时,代表待上传对象在该位置区间数据块需要上传,此时内容字段为空

[0009]作为一种可选的实施方式,在本专利技术实施例第一方面中,所述根据所述数据块列表将相应的数据块发送至服务端,并在所述服务端生成所述更新对象的数据分布摘要并进行数据存储,包括:客户端向服务端传输所述发送列表,并在发送过程中,对标记字段为1的四元组,读取待上传对象在该位置区间数据,填入内容字段后再发送,并在所述服务端生成所述对象的数据分布摘要并进行数据存储

[0010]作为一种可选的实施方式,在本专利技术实施例第一方面中,所述在所述服务端生成所述对象的数据分布摘要并进行数据存储,包括:在所述服务端按照数据块的大小来读取整个对象以得到与所述对象关联的数据块集;计算所述数据块集中各个数据块的哈希值,并提取各个数据块中预设长度的标识
数据;基于所述数据块的区块号

哈希值以及标识数据来生成三元组列表,并将所述三元组列表存储至数据库中

[0011]作为一种可选的实施方式,在本专利技术实施例第一方面中,所述提取各个数据块中预设长度的标识数据,包括:提取各个数据块中起始位置中预设长度的数据作为起始标识数据,所述预设长度与数据块大小相关,对于数
MB
或更大的块,预设长度可设为数据块大小的
1/1024。
[0012]作为一种可选的实施方式,在本专利技术实施例第一方面中,在所述计算所述数据块集中各个数据块的哈希值之后,还包括:若末尾的数据块中数据不满块,则忽略该数据块的计算

[0013]作为一种可选的实施方式,在本专利技术实施例第一方面中,在所述客户端与所述服务端均采用
MD5

SHA1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于对象存储系统的数据传输方法,其特征在于,包括:在客户端向服务端上传对象之前,向所述服务端发送第一数据分布摘要请求指令;接收所述服务端基于所述数据请求指令返回的数据,若所述数据为空数据集,则向所述服务端上传所述对象的完整数据集,在所述服务端构建与所述对象关联的第二数据分布摘要,并对所述第二数据分布摘要进行数据存储;若所述数据为非空数据集,则接收所述服务端反馈的第一数据分布摘要,并在客户端读取待上传更新对象以构建第三数据分布摘要,并将所述第三数据分布摘要与所述第一数据分布摘要进行比较以构建待上传更新对象的数据块列表;根据所述数据块列表将相应的数据块发送至服务端,并在所述服务端生成所述更新对象的数据分布摘要并进行数据存储
。2.
如权利要求1所述的基于对象存储系统的数据传输方法,其特征在于,所述若所述数据为非空数据集,则接收所述服务端反馈的第一数据分布摘要,并在客户端读取待上传更新对象以构建第三数据分布摘要,并将所述第三数据分布摘要与所述第一数据分布摘要进行比较以构建待上传更新对象的数据块列表,包括:若所述数据为非空数据集,接收从服务端返回的数据块的大小以及三元组数据,并从所述三元组数据中获得相应的起始数据列表;提取所述起始数据列表中的第一起始数据,并根据所述第一起始数据对待上传对象自起始处进行字节比较扫描以寻找与所述第一起始数据匹配的数据,若两者数据匹配,则计算所述起始数据对应的数据块哈希值并与服务端返回的该起始数据对应的数据块哈希值进行比对;当两者哈希值相同时,则将相应数据块确定为不需要上传的数据,数据块编号定为相应起始数据所在起始数据列表的编号,然后从所述起始数据列表中提取下一起始数据继续与待上传对象余下的数据进行匹配比较;当两者哈希值不同时,则继续与待上传对象的未匹配数据进行匹配比较,若匹配到对象末尾仍未匹配上,从所述起始数据列表中提取下一起始数据与待上传对象最后一个不需上传的数据块的结束位置的下一字节继续进行匹配比较,假如此时未确定不需上传的数据块,则从待上传对象起始处重新进行匹配比较;当所述起始数据列表所有的起始数据均已进行匹配比较或待上传对象确认不需上传的数据块已达对象结束位置,匹配完成;待上传对象不需上传的数据块形成不需上传数据块列表,该列表包括每个不需上传数据块在待上传对象中的字节起始位置

结束位置

该数据块对应起始数据所在起始数据列表的编号;待上传对象不需上传数据块的余下数据形成需上传数据块列表,该列表包括每个需上传数据块在待上传对象中的字节起始位置与结束位置;根据不需上传数据块列表与需上传数据块列表,合并形成发送列表,该列表由一个或多个四元组组成,当标记字段为0时,代表待上传对象在该位置区间数据块不需上传,此时内容字段为该数据块对应起始数据所在起始数据列表的编号;当标记字段为1时,代表待上传对象在该位置区间数据块需要上传,此时内容字段为空
。3.
如权利要求1所述的基于对象存储系统的数据传输方法,其特征在于,所述根据所述数据块列表将...

【专利技术属性】
技术研发人员:刘国良陈业友邓单
申请(专利权)人:广州番禺职业技术学院
类型:发明
国别省市:

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

1