压缩方法和系统以及云存储方法和系统的制作方法

文档序号:9304547阅读:454来源:国知局
压缩方法和系统以及云存储方法和系统的制作方法
【技术领域】
[0001] 本发明涉及云计算技术领域,特别涉及一种压缩方法和系统以及云存储方法及其 系统。
【背景技术】
[0002] 云存储是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量不 同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功 能的云计算系统。在云存储系统中,文件一般被分片(Chunk)保存在多个存储服务器(又 名ChunkServer)中。分片大小一般是固定的,例如按照64MB大小进行分片。
[0003] 在云存储系统中,为了提高存储利用率,一般会提供重复数据删除(又叫重删、消 重)和数据压缩等存储策略。重复数据删除基于文件或者分片的粒度进行,使得相同的数 据,在系统中逻辑上只保持一份。数据压缩已有很多无损压缩/解压算法,如LZO,GZIP, Zippy/Snappy等,可基于文件或者分块为单位,对数据进行压缩后保存。
[0004] 发明人发现目前云存储系统中的重删和压缩策略在使用中存在如下缺点:基本的 重删功能要求文件或者数据块完全一致,计算出的数据指纹(例如SHA-1摘要)才会一致。 数据指纹算法具有雪崩效应,只要数据有一个字节的不同,指纹就会完全不同,无法消重。 如果采用滑动窗口法或者变长分块法进行消重,一方面需要大量的计算,另一方面只要两 块数据之间略有周期性的若干字节不同,仍然无法消重。压缩策略,对某些类型或应用的数 据较有效,对另一些原本已经是压缩的数据,如H. 264的视频数据无效。此外,即使用户数 据可以压缩,对用户的单个块数据,或者以单个文件为单位进行压缩,往往效果也有限。在 现有技术中,由于消重、压缩都是消耗较多计算资源的操作,如果效果不明显,就会降低云 存储系统的存储利用率,同时降低了云存储系统的性能。

【发明内容】

[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]图1为本发明的一个实施例中基于内容相似性的云存储方法的流程示意图;
[0044] 图2为本发明的一个优选实施例中基于内容相似性的云存储系统的结构示意图;
[0045] 图3为本发明的一个优选实施例中基于内容相似性判定的云存储方法的流程示 意图;
[0046] 图4为本发明的另一个优选实施例中基于内容相似性判定的云存储方法的流程 不意图;
[0047] 图5为图3和图4中已被压缩的分片数据的读出过程的流程示意图;
[0048] 图6为图3和图4中已被压缩的分片数据的删除过程的流程示意图。
【具体实施方式】
[0049] 为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方 式对本发明作进一步详细描述。
[0050] 现有技术中,云存储系统的存储利用率主要依赖于消重及压缩策略,而消重策略 又严重依赖于对存储内容是否相同的判断效率和准确度上。由于相同性判定一般基于大量 数据的比对,只有数据或分片数据完全相同时才采取措施进行消重手段进行优化,而对分 片数据之间不考虑它们的相似性各自进行压缩,效果往往很有限,这使得现有云存储系统 可优化的余地非常有限。
[0051] 在本发明的技术方案中,优化针对的数据不仅限于相同数据,压缩手段还可进一 步应用到相似数据上,同时还采用了一定的调度手段进一步优化系统存取效率,从而实现 了存储利用率的大幅提升。
[0052] 如图1所示,在本发明的一个实施例中,基于内容相似性的云存储方法具体包括 步骤:
[0053] 将全部待存储数据划分为分片数据后保存至各存储服务器上;
[0054] 查询与第一分片数据相似的相关数据,并向元数据服务器查询所述相关数据所在 的存储服务器信息;
[0055] 根据所述元数据服务器返回的信息,指示所述第一分片数据或所述相关数据所在 的存储服务器调度数据并执行对应的压缩操作。
[0056] 本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:R〇M/RAM、磁 碟、光盘、存储卡等。因此,本领域相关技术人员应能理解,与本发明的方法相对应的,本发 明还同时包括一种基于内容相似性的云存储系统,如图2所示,与上述方法步骤一一对应 地,该系统包括:
[0057] 分片存储模块30,用于将全部待存储数据划分为分片数据后保存至各存储服务器 上;
[0058] 相似性确定模块10,用于查询与第一分片数据相似的相关数据,并向元数据服务 器查询所述相关数据所在的存储服务器信息;
[0059] 调度压缩模块20,用于根据所述元数据服务器返回的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1