[发明专利]一种网络云盘的数据存储方法有效

专利信息
申请号: 201611209515.8 申请日: 2016-12-23
公开(公告)号: CN108243207B 公开(公告)日: 2019-03-15
发明(设计)人: 熊兆;黄玉甫;安西民 申请(专利权)人: 中科星图股份有限公司
主分类号: H04L29/08 分类号: H04L29/08;G06F3/06
代理公司: 北京安博达知识产权代理有限公司 11271 代理人: 徐国文
地址: 101399 北京市顺义区临空经济核*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种网络云盘的数据存储方法,该方法包括:客户端登录网络云盘,并从本地获取需要存储的数据文件,上传其哈希值,云盘服务器根据哈希值判断该数据文件是否已存储,如果已存储,则通知该客户端不用上传,方法结束;如果未存储,则通知该客户端上传该数据文件至所述云盘服务器;云盘服务器按照预定的算法对该数据文件划分数据块并存储。
搜索关键词: 云盘 数据文件 存储 上传 服务器 数据存储 客户端 哈希 客户端登录 网络 数据块 算法
【主权项】:
1.一种网络云盘的数据存储方法,其特征在于,该方法所应用的系统包括客户端、云盘服务器和多个存储服务器,所述云盘服务器提供网络云盘的Web页面,并管理整个云盘的文件存储,用户使用所述客户端访问该云盘服务器,获取该Web页面,通过该Web页面上传和下载数据文件,所述存储服务器是用于存储数据的后台服务器;该方法包括以下步骤:步骤100:客户端登录网络云盘,并从本地获取需要存储的数据文件;所述客户端计算该数据文件的哈希值,并发送给云盘服务器;所述云盘服务器根据该哈希值判断该数据文件是否存储;如果已存储,则通知该客户端不用上传,方法结束;如果未存储,则通知该客户端上传该数据文件至所述云盘服务器;步骤200:在该数据文件的长度未超过预定长度时,所述云盘服务器直接将该数据文件发送给相应存储服务器存储,方法结束;否则,所述云盘服务器将该数据文件按照M种方式划分数据块,由相应存储服务器检查不同划分方式的数据重复量;步骤300:所述云盘服务器从M种方式选择数据重复量最大的n种方式作为最终的数据存储方式;所述方法的具体步骤如下:步骤1:客户端登录云盘服务器,并从本地获取需要存储到网络云盘的数据文件;所述客户端计算该数据文件的哈希值,并将该哈希值发送到云盘服务器,所述云盘服务器根据该哈希值检测该数据文件是否已经存储,如果已经存储,则只记录该数据文件的相关信息,同时通知该客户端不用上传该数据文件,方法结束;如果未存储,则通知该客户端,由该客户端将该数据文件上传到云盘服务器;客户端是用户操作的接口,用户通过客户端指定需要上传到网络云盘的数据文件,并负责采用后续的步骤将该数据文件存储到网络云盘中;每个用户使用其各自的客户端,客户端的数目有多个;另外,其中的云盘服务器也可以是多个;步骤2:所述云盘服务器检查所述数据文件的长度L,如果L小于预定义的最小数据块长度MinBlockLength,则提取该数据文件的最后一个字节B,转到步骤3;如果L≥MinBlockLength,则转到下述步骤5;上述长度都是以字节为单位,一个字节为8位,0≤B≤255; 所述最小数据块长度是对文件分块时的最小长度 MinBlockLength=1024字节;步骤3:预先给系统中的256个存储服务器编号,分别命名为Server(i),其中0≤i≤255,所述云盘服务器将该数据文件发送到Server(B),同时保存该数 据文件的相关信息;其中根据数据块结尾的字节,对数据块进行分类,将数据块分成256类,并且对应的分配到256个存储服务器,每个存储服务器的编号与其负责的数据块的分类或结尾字节的值相同;所述数据文件的相关信息包括数据文件的名字、大小、哈希值、存储服务器的编号,云盘服务器由此查询到该数据文件;步骤4:所述Server(B)计算该数据文件的哈希值,根据该哈希值判断该数据文件是否已存储在存储服务器中,如果已存储,则该数据文件是重复数据,仅为该数据文件保留一个指针,指向已存储的数据即可;如果并未存储,则Server(B) 存储该数据文件和其哈希值,方法结束;保存了每个存储的数据文件或数据块的哈希值的存储服务器将该 数据文件的哈希值与已有哈希值进行比较,就可以判断该数据文件是否是重复数据,如果是重复数据,就不用再次存储整个数据文件;步骤5:所述云盘服务器准备对该数据文件进行数据分块,首先设置初始的分块向量V=0;步骤6:所述云盘服务器从该数据文件的第MinBlockLength个字节开始向后扫描,当扫描某个字节等于分块向量时,记录该字节的位置P1,然后再从 P1+MinBlockLength的位置开始扫描,寻找并记录下一个等于分块向量的字节位 置,如此循环,直到数据文件的末尾;每一次扫描的开始位置与上一次记录位置的距离都是MinBlockLength,直到达到数据文件的末尾;步骤7:根据步骤6的所记录的位置,将每个位置作为一个数据块的结尾,云盘服务器对数据文件进行分块,由此可以得到一个或多个数据块,设得到了KV 个数据块;步骤7得到的数据块可能有两类,第一类是以分块向量V结尾的数据块, 第二类是数据文件的最后一个数据块,即以B结尾的数据块;其中第二类的数据块的数量只能是1或者0,第一类数据块的数据量也可能为0,这取决于数据文件的具体内容;步骤8:分块向量V增加1,如果V≤255,则返回步骤6,否则继续步骤9;上述步骤6‑8是一个循环,基于0到255的每个分块向量值进行文件扫描,从而获得了多种数据块分割形式,数量从K0到K255;步骤9:云盘服务器对K0到K255按照从大到小进行排序,如果有相等的KV,则将下标大的排在前面,获取排在最前的5个最大的值KV1,KV2,KV3, KV4,KV5;步骤10:按照V1到V5五个分块向量对该数据文件的分块结果,云盘服务器将各个数据块按照其结尾字节发送到相应的存储服务器进行重复性检测;如果一个数据块的结尾字节是X,则将该数据块发送到 Server(X);步骤11:每个存储服务器对接收到的每个数据块,计算其哈希值,根据该哈希值判断该数据块是否是重复数据或该数据块与已存储的数据块相同,将判断结果发送给云盘服务器;步骤12:所述云盘服务器根据步骤11接收到的判断结果,从五种分块方式中 选择重复数据量最多的两种,如果重复数据量相同,则随机选择;根据这两种分块方式,通知相应的存储服务器进行存储;云盘服务器自身保存该数据文件的相关信息,包括其两种分块方式和相应的存储服务器;存储服务器的存储方式与步骤4相同,如果是重复的数据块,则只保留指针和相应的哈希值,如果是不重复的数据块,则保存该数据块和相应的哈希值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科星图股份有限公司,未经中科星图股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201611209515.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top