一种云端存储文件的方法和系统的制作方法

文档序号:8925268阅读:337来源:国知局
一种云端存储文件的方法和系统的制作方法
【技术领域】
[0001] 本发明属于云存储领域,尤其设及一种云端存储文件的方法和系统。
【背景技术】
[0002] 云存储技术是近几年在云计算的概念上延伸和发展出来的一个新概念。云存储主 要用于企业、个人的数据备份,W此可W减轻用户在数据存储方面的投资。虽然云存储技术 带来了廉价的存储服务,然后云存储的安全性、可靠性却让很多企业用户和个人用户对云 存储技术望而却步。据相关数据统计,当前国内一线云存储服务商每天新增的用户数据已 经达到PB单位级,可W用户对云存储的需求是十分巨大的。云存储的未来隐患是十分值得 我们思考的:
[0003] 1、数据保密性差,用户的数据和文件在云存储服务器上大都W明文的方式存在, 就很容易导致用户的数据被非法用户W非正常手段窃取(如icloud明星艳照口事件)甚 至被云存储服务商非法盗用。
[0004] 2、数据可靠性差,墨菲定律指出任何事情如果存在变坏的可能,则不管该种概率 多小,它一定会发生。所W-旦云服务器的软硬件发生故障,则极有可能造成用户数据的丢 失。该种后果是非常可怕的。
[0005] 3、数据传输效率低,目前市场上的云服务对上传文件和数据的去重率极低甚至未 进行去重,该必然导致数据的传输效率低的问题。

【发明内容】

[0006] 鉴于此,本发明提供一种云端存储文件的方法和系统,W解决现有技术存储效率 慢、数据保密性差的技术问题。
[0007] 本发明实施例是该样实现的,一种云端存储文件的方法,所述方法包括W下步 骤:
[000引通过Balancer进程对MongoDB系统的所有存储服务器中的存储的数据块进行扫 描,根据所述数据块的数量确定需要进行负载均衡的存储服务器和每个数据块的访问操作 的类型和次数;
[0009] 对待存储文件进行切块,获取多个明文块;
[0010] 对所述明文块进行明文块去重;
[0011] 将所述经过明文块去重的明文块加密为密文块;
[0012] 对所述密文块进行密文块去重;
[0013] 通过冗余算法将经过去重的密文块随机存储到多个云存储服务器。
[0014] 本发明实施例还提供一种云端存储文件的系统,所述系统包括:
[0015] 明文块获取单元,用于对待存储文件进行切块,获取多个明文块;
[0016] 明文块去重单元,用于对所述明文块获取单元获取的明文块进行明文块去重;
[0017] 密文块获取单元,用于将经过所述明文块去重单元去重的明文块加密为密文块;
[0018] 密文块去重单元,用于对所述密文块获取单元获取的密文块进行密文块去重;
[0019] 存储单元,用于通过冗余算法将经过所述密文块去重单元去重的密文块随机存储 到多个云存储服务器。
[0020] 本发明实施例,对待存储文件进行切块,获取多个明文块,对明文块进行明文块去 重,将经过明文块去重的明文块加密为密文块,对密文块进行密文块去重,通过冗余算法将 密文块随机存储到多个云存储服务器,通过切块和去重,提高了云端存储的存储效率,且通 过加密提高了云存储的安全性。
【附图说明】
[0021] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描 述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一 些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可W根据该 些附图获得其他的附图。
[0022] 图1是本发明实施例提供的云端存储文件方法的流程图;
[0023] 图2a是本发明实施例提供的计算明文哈希值的示意图;
[0024] 图化是本发明实施例提供的明文块去重的示意图;
[0025] 图2c是本发明实施例提供的密文块去重的示意图;
[0026] 图2d是本发明实施例提供的文件上传的示意图;
[0027] 图2e是本发明实施例提供的下载文件的流程图;
[002引图3是本发明实施例提供的云端存储文件系统的结构图。
【具体实施方式】
[0029] 为了使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用W解释本发明,并 不用于限定本发明。
[0030] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0031] 实施例一
[0032] 如图1所示为本发明实施例提供的云端存储文件方法的流程图,所述方法包括W 下步骤:
[0033] 步骤S101,对待存储文件进行切块,获取多个明文块。
[0034] 在本发明实施例中,首先对待处理文件进行切块处理,将该待处理文件切割为多 个明文块,明文块的大小可W根据实际应用的需要而进行设置,在此不做限定。
[0035] 步骤S102,对所述明文块进行明文块去重。
[0036] 在本发明实施例中,由于存储到云端的文件可能有多个相同的明文块,而存储多 个相同的明文块则会降低云端存储的效率,因此需要对明文块进行明文块去重处理。所述 对所述明文块进行明文块去重,具体为:
[0037] 1、对所述明文块进行哈希计算,获取所述明文块的明文哈希值;
[003引 2、根据所述明文哈希值对所述明文块进行明文块去重。
[0039] 在本发明实施例中,首先对明文块进行哈希计算,即可获取该明文块的明文哈希 值,然后将该明文哈希值进行去重对比,如果有多个明文哈希值相同的明文块,则只保留其 中的一个。
[0040] 步骤S103,将所述经过明文块去重的明文块加密为密文块。
[0041] 在本发明实施例中,在将去重后的文件存储到云端之前,需要对文件进行加密,W 使文件在存储的过程中不会被泄露出去。所述将所述经过明文块去重的明文块加密为密文 块的步骤,具体为:
[0042] 将所述明文哈希值作为密钥,对所述明文块进行对称加密,获取密文块。
[0043] 在本发明实施例中,W明文哈希值作为密钥,对明文块进行堆成加密,即可获取密 文块。
[0044] 步骤S104,对所述密文块进行密文块去重。
[0045] 在本发明实施例中,由于存储到云端的文件可能有多个相同的密文块,而存储多 个相同的密文块则会降低云端存储的效率,因此需要对密文块进行密文块去重处理。所述 对所述密文块进行密文块去重,具体为:
[0046] 1、对所述密文块进行哈希计算,获取所述密文块的密文哈希值;
[0047] 2、根据所述密文哈希值对所述密文块进行密文块去重。
[0048] 存储到云端的密文哈希值是唯一的,因此可W通过该密文哈希值进行密文块去 重。
[0049] 步骤S105,通过冗余算法将经过去重的密文块随机存储到多个云存储服务器。
[0化0] 在本发明实施例中,经过去重的密文块即可存储到云存储服务器。通过冗余算法 将所述密文块随机存储到多个云存储服务器,具体为:
[0化1] 将所述密文哈希值作为云存储文件名,通过冗余算法将所述密文块随机存储到 多个云存储服务器。
[0052] 本发明实施例,对待存储文件进行切块,获取多个明文块,对明文块进行明文块去 重,将经过明文块去重的明文块加密为密文块,对密文块进行密文块去重,通过冗余算法将 密文块随机存储到多个云存储服务器,通过切块和去重,提高了云端存储的存储效率,且通 过加密提高了云存储的安全性。
[0化3] 作为本发明的一个可选实施例,在所述通过冗余算法将所述密文块随机存储到多 个云存储服务器的步骤之后,所述方法还包括:
[0化4] 向云端服务器发送下载请求,从所述云端服务器获取待下载文件。
[0055] 在本发明实施例中,云端服务器端获取文件的步骤,具体为:
[0化6] 1、通过密文哈希值从云存储服务器获取待下载文件;
[0化7] 2、通过密文哈希值对比确定所述待下载文件是否完整,如果不完整,则从其他云 存储服务器获取待下载文件;
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1