[发明专利]一种海量数据的存储方法无效
| 申请号: | 201310359614.4 | 申请日: | 2013-08-16 |
| 公开(公告)号: | CN103412929A | 公开(公告)日: | 2013-11-27 |
| 发明(设计)人: | 柯宗贵;柯宗庆;杨育斌;曹兴财 | 申请(专利权)人: | 蓝盾信息安全技术股份有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 510665 广东省广州市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 海量 数据 存储 方法 | ||
技术领域
本发明涉及数据存储技术领域,尤其涉及一种海量数据的存储方法。
背景技术
在海量数据存储系统中,大量重复数据的存在,不但增加了开支,而且降低了检索的效率,删除重复数据,进而缩减存储空间,是一个亟待解决的问题。多副本的存在保证了系统的可靠性,当单节点出现故障时,其它节点的副本可以继续提供服务,维持系统的正常运转。副本数量的增加,会使维护副本的一致增加了开销,而且多个副本的同步,也增加了带宽。要考虑到数据可靠性的同时,应该合理的对副本来布局。
现有技术中linux源端重删技术,将文件分成若干小块,先对文件作简单的校验值比较,果然不匹配,然后进行md5值比较。
HDFS采用完全备份策略,默认为每个文件创建3份备份,并且将3个备份的副本分散地放置,防止了可能出现的单点故障。
但是海量数据中,靠文件名来识别文件不太可靠,系统中可能存在不同名,但是文件内容一致的数据。如果对大文件分成的多个小数据块逐个比较,计算时间又太慢。由于系统文件的差异性,访问频率是不同的,如果所有的文件都采用相同的备份策略,并不能高效地利用存储空间。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种海量数据的存储方法,该方法的具体流程为:
用户请求提交文件时,服务端将接收到的md5值作为索引值,判断文件是否已经存在,如果有相同的md5值存在,对于切片的文件,继续比较md5值,如果已经存在了相同的文件,则更新记录数据块;如果切片与数据块记录的md5值不同,则将源文件切片和md5值信息上传,服务端更新记录数据块相关信息。
在上述方法中判断文件是否已经存在于存储空间中的判断策略流程具体为:
如果源文件字节大小为size,给定常数m_size作为判断基数,当size小于或者等于m_size时,对整个文件进行md5运算,计算完后将md5值和源文件长度传给服务端;如果源文件字节大小大于m_size,以m_length常数作为计算长度,对源文件头、中、尾三部分的内容计算md5值;将这三个md5和源文件长度连接生成字符串,并计算字符串md5值,将md5值和源文件长度发送给服务端。
本发明技术方案带来的有益效果:
通过本发明不仅改善了海量数据存储时,重复数据验证上传的效率,而且动态调整副本,改善了存储空间的分配。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的方法流程图;
图2是本发明中文件判断策略流程图;
图3是本发明中记录完全文件的存储结构图;
图4是本发明中文件取回流程图;
图5是本发明中多副本淘汰流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种海量数据的存储方法,其所要解决的问题,一是改善提交文件时,重复数据验证的效率,二是动态调整副本,合理利用硬盘空间。
本发明的方法流程如图1所示,具体为:
S1:用户请求提交文件时,服务端将接收到的md5值作为索引值,判断文件是否已经存在,如果有相同的md5值存在,对于切片的文件,继续比较md5值,如果已经存在了相同的文件,则更新记录数据块。
S2:如果切片与数据块记录的md5值不同,则将源文件切片和md5值信息上传,服务端更新记录数据块相关信息。
在上述方法中判断文件是否已经存在于存储空间中的判断策略流程如图2所示,具体如下:
如果源文件字节大小为size,给定常数m_size作为判断基数,当size小于或者等于m_size时,对整个文件进行md5运算,计算完后,将md5值和源文件长度传给服务端;如果源文件字节大小大于m_size,以m_length常数作为计算长度,对源文件头、中、尾三部分的内容计算md5值。将这三个md5和源文件长度连接生成字符串,并计算字符串md5值,将md5值和源文件长度发送给服务端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蓝盾信息安全技术股份有限公司,未经蓝盾信息安全技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310359614.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于时间轴的数据显示方法和装置
- 下一篇:压电式动态力传感器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





