[发明专利]基于文件内容哈希值的分布式存储方法在审
申请号: | 201711274018.0 | 申请日: | 2017-12-06 |
公开(公告)号: | CN108011956A | 公开(公告)日: | 2018-05-08 |
发明(设计)人: | 唐文建 | 申请(专利权)人: | 易居(中国)企业集团股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L9/32 |
代理公司: | 上海骁象知识产权代理有限公司 31315 | 代理人: | 赵峰 |
地址: | 200072 上海市静*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 文件 内容 哈希值 分布式 存储 方法 | ||
一种基于文件内容哈希值的分布式存储方法,包括:步骤1,客户端通过哈希算法得到所要上传的文件内容的第一哈希值,向文件应用服务器发送带有第一哈希值的写请求;步骤2,文件应用服务器接收来自客户端带有第一哈希值的写请求,查找文件记录数据库中的映射表;步骤3,文件应用服务器通过哈希算法得到该文件内容的第二哈希值,并将第二哈希值与第一哈希值进行比较;步骤4,文件应用服务器查找文件存储数据库中的映射表;若己存在该文件的映射记录,则向客户端返回该文件已上传过的结果;若不存在该文件的映射记录,则将该文件写入文件存储数据库。本发明具有如下优势:节省存储空间;有效降低机器负载,大大提高文件存储系统吞吐量。
技术领域
本发明涉及计算机存储技术领域,特别是一种基于文件内容哈希值的分布式存储方法。
背景技术
在互联网应用中,文件存储是比较常用的一个服务模块,无论是图片、音频、视频、Excel或PDF文档都会用到文件存储服务,由此可见,文件存储服务模块在互联网应用的广泛性和重要性。而传统的文件存储方法是按照文件上传日期创建目录存储,文件存储的位置比较集中,这样对磁盘的读写压力比较大,文件存储服务器负载也会很高,造成文件存储吞吐量低,在文件读或写高峰的时候,容易达到系统瓶颈。
发明内容
针对上述技术缺陷,本发明的目的在于提供一种解决上述技术问题的基于文件内容哈希值的分布式存储方法。
为解决上述技术问题,本发明提供的基于文件内容哈希值的分布式存储方法,包括:步骤1,客户端通过哈希算法得到所要上传的文件内容的第一哈希值,向文件应用服务器发送带有第一哈希值的写请求;
步骤2,文件应用服务器接收来自客户端带有第一哈希值的写请求,查找文件记录数据库中的映射表;若己存在该文件的映射记录,则向客户端返回该文件已上传过的结果及该文件在文件存储数据库中的访问地址;若不存在该文件的映射记录,则同意客户端向文件应用服务器上传该文件;
步骤3,文件应用服务器通过哈希算法得到该文件内容的第二哈希值,并将第二哈希值与第一哈希值进行比较;若第二哈希值与第一哈希值的值不同,则将第二哈希值与第一哈希值的值不同的结果返回客户端并返回步骤1,若第二哈希值与第一哈希值的值相同,则进入步骤4;
步骤4,文件应用服务器查找文件存储数据库中的映射表;若己存在该文件的映射记录,则向客户端返回该文件已上传过的结果;若不存在该文件的映射记录,则将该文件写入文件存储数据库。
步骤4包括:
步骤4.1,文件应用服务器计算得到文件存储数据库中可写入的存储目录;
步骤4.2,文件应用服务器将该文件写入该存储目录并向客户端返回结果。
步骤4.1包括:
步骤4.1.1,文件应用服务器根据该文件的第二哈希值或第一哈希值的前2位字符和文件存储数据库中的文件存储服务器的ID和存储空间情况,计算得到可写入的文件存储服务器;
步骤4.1.2,文件应用服务器根据该文件的第二哈希值或第一哈希值的前3位至6位字符计算得到该文件存储服务器中用于写入该文件的存储目录。
步骤4.2中,将该文件写入该存储目录下;若写入失败,则向客户端返回写入失败的结果,若写入成功,则向客户端返回写入成功的结果。
步骤4.2中,将该文件以哈希值为名字写入该存储目录下。
步骤4.2中,将该文件写入该存储目录下,写入的最大尝试次数为三次。
步骤4.2中,写入成功的结果包括该文件内容的哈希值,文件存储服务器的ID、存储目录、保存成功的结果和该文件的访问地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于易居(中国)企业集团股份有限公司,未经易居(中国)企业集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711274018.0/2.html,转载请声明来源钻瓜专利网。
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法