通过多网盘冗余存储实现可靠性的虚拟文件系统的制作方法

文档序号:6509244阅读:245来源:国知局
通过多网盘冗余存储实现可靠性的虚拟文件系统的制作方法
【专利摘要】本发明涉及一种通过多网盘冗余实现可靠性的虚拟文件系统,包括操作系统文件接口、文件分拆还原模块、文件信息数据库和上传下载模块;本发明通过对文件进行分拆,保证任何一个网盘没有完整数据,从而保证隐私安全性,即使网盘管理员或黑客拿到文件,因为文件不完整而不能恢复文件,保证了隐私不泄露,可以保证用户隐私的安全性。本发明通过冗余技术,使得即使一部分网盘故障或停止服务,系统仍然可以从剩余的网盘中把数据完整恢复,保证了数据的可靠性。
【专利说明】通过多网盘冗余存储实现可靠性的虚拟文件系统

【技术领域】
[0001] 本发明涉及一种通过多网盘冗余实现可靠性的虚拟文件系统,属于计算机信息存 储领域。

【背景技术】
[0002] 随着互联网的发展,人们开始使用网盘保存自己的数据,可以随时存取,方便共 享。这种方法有许多不安全的地方,包括:网盘的业务可能会随时中断,影响使用的连续性。 网盘的服务商可能因为种种原因中止服务,造成文件的丢失。隐私受到威胁,网盘的管理员 拥有获取所有文件的权力,可随时获得涉及用户隐私的文件。网盘很容易被黑客侵入,造成 文件被非法获取。
[0003] 中国专利申请(201210035947. 7),发明名称:一种确保文件不被盗取的网盘利用 方法, 申请人::潘燕辉;周勇兵,公布了一种通过切片和加密的方法来保证文件的安全性的 方法,该方法只考虑了文件内容的安全性,未考虑文件数据丢失导致的安全性问题。
[0004] 中国专利申请(201210176807. 1),发明名称:一种云存储环境下的安全网盘系统 的实现方法, 申请人::清华大学。该发明公布了一种用PKI加密文件的方法,用于保障存储 在网盘上的文件的安全,该方法同样只考虑了文件内容的安全性,而未考虑数据丢失导致 的安全性问题。
[0005] 传统上,在存储系统中都会使用 RAID (Redundant Arrays of Inexpensive Disks) 来实现冗余,在保证在硬盘损坏的情况下进行数据恢复。这种技术可以弥补上述两个发明 的不足。但RAID系统一般用于完全相同的硬盘之间的冗余,部署不够灵活,不适应于网盘 之间的应用。


【发明内容】

[0006] 本发明的技术解决问题是:克服现有技术的不足,提供一种虚拟文件系统,该系统 既能解决文件内容安全性的问题,又能解决数据丢失造成的文件损坏问题。
[0007] 本发明的技术方案一是:通过多网盘冗余实现可靠性的虚拟文件系统,包括操作 系统文件接口、文件分拆还原模块、文件信息数据库和上传下载模块;操作系统文件接口用 于响应用户作用在操作系统的请求,当用户请求为上传文件时,文件分拆还原模块将待上 传文件进行分片,生成冗余文件;上传下载模块通过网络与其他网盘提供商提供的网盘系 统进行通信,将所述的冗余文件分别上传到不同的网盘;文件分拆还原模块将待上传文件 以及生成的冗余文件的属性信息、分片上传信息记录到文件信息数据库;文件信息数据库 保存在所述的操作系统内;当用户请求为下载文件时,文件分拆还原模块从文件信息数据 库中提取文件的属性及分片信息,上传下载模块根据文件分拆还原模块提取的信息通过网 络从相应网盘中提取冗余文件,由文件分拆还原模块对提取的冗余文件进行还原。
[0008] 本发明的技术方案二为:通过多网盘冗余实现可靠性的虚拟文件系统,包括多个 客户端和一个互联网同步系统;一个客户端为方案一中所述的虚拟文件系统;上传文件的 客户端称为上传客户端模块,其它要同步这个文件的客户端称为同步客户端模块;上传客 户端模块完成文件上传时,将文件信息数据库内记录的信息以及用户id、客户端id存储在 互联网同步系统中,所述的文件信息数据库内记录的信息采用sql命令形式,同步客户端 模块向互联网同步系统查询,请求所有用户id与本身用户id相同,客户端id与本身客户 端id不同的所有记录,取出每条记录中对应的sql命令,在本客户端的数据库执行该sql 命令,即可得到与上传客户端相同的数据内容。
[0009] 本发明方案在文件上传之前或者上传过程中通过加密以提高安全性。
[0010] 本发明方案在文件上传或下载过程中,通过对文件本地缓存,提升访问性能。
[0011] 本系统具有以下优点:
[0012] 1.本发明通过对文件进行分拆,保证任何一个网盘没有完整数据,从而保证隐私 安全性,即使网盘管理员或黑客拿到文件,因为文件不完整而不能恢复文件,保证了隐私不 泄露,可以保证用户隐私的可靠性。
[0013] 2.本发明通过冗余技术,使得即使一部分网盘故障或停止服务,系统仍然可以从 剩余的网盘中把数据完整恢复,保证了数据的可靠性。
[0014] 3.数据库保存在用户本地,无服务器失效的影响。
[0015] 4.虚拟文件系统的数据可以通过专用的系统在不同节点,不同系统间同步,保证 多个节点可以同时使用该虚拟文件系统,并有相同的文件系统视图。
[0016] 5.可以通过使用加密的方法来提高安全性。
[0017] 6.通过对文件本地缓存,可以提升访问性能。

【专利附图】

【附图说明】:
[0018] 图1是基本系统的结构图
[0019] 图2是带同步系统的整体结构图
[0020] 图3是文件上传的流程图
[0021] 图4是文件下载及还原的流程图。

【具体实施方式】
[0022] 1.基本系统说明
[0023] 如图1,本发明虚拟文件系统包含4个模块:
[0024] 操作系统文件接口:用于响应操作系统对文件系统的请求,包括目录列表,删除文 件,增加文件,新建目录,删除目录,修改文件名等。
[0025] 文件分拆还原模块:在上传时用于将文件分拆,并生成冗余文件,并记录相关信息 到数据库。在下载时从数据库中取出文件的分片及冗余信息,对文件分片进行还原。
[0026] 文件信息数据库:记录所有文件的属性及分片信息,属性信息包括文件类型,
[0027] 尺寸,生成、修改时间等信息。数据库同时用一种类UNIX的格式记录文件和文 件夹的位置,比如/a. txt是根目录下的文件a. txt,/abc/a. txt是/abc/目录下的文件 a. txt,/abc/是指目录/abc,我们称之为虚拟文件系统的位置.
[0028] 上传下载模块:用于程序与网盘系统通信,包括把分片后的文件上传到网盘,或 者把网盘上的分片文件下载到本地计算机。上传或下载的方法可以使用网盘的公开接口 openapi 〇
[0029] 上传文件的实现过程为(图2):
[0030] 1)操作系统通过接口调用文件分拆还原模块,并给出两个参数:本机要上传的文 件全路径,比如c : \ xy. txt ;上传后在虚拟文件系统的目录位置,如/abc/。
[0031] 2)文件分拆还原模块首先把这两个参数的字符串连接,并使用散列算法(md5或 shal)生成一个完全随机的文件名,就象3C67B533F30B442740F71301B2A995。
[0032] 3)文件分拆还原模块对c : \ xy. txt进行分拆并做冗余计算(冗余算法可以采 用所罗门算法),生成三个文件(我们称之为分片文件亦称冗余文件),3C67B533F30B4427 40F71301B2A995. 1,3C67B533F30B442740F71301B2A995.2.3C67B533F30B442740F71301B2 A995. 3,保存在操作系统临时目录中。由于所罗门算法需要一些分割的信息,比如文件的分 片数,冗余数及相关参数,用于文件还原。所以,需要在文件前端记录相关信息,记录的方 法可以直接写一个结构体如下:
[0033] typedef struct { int k; int m; int w; int size; int packetsize; int buffersize; }fheader;
[0034] 其中,k为分片数,m为冗余数,w为字长,size为原始的文件大小。Packetsize为 分片大小,buffersize为分片计算的缓存大小。
[0035] 4)文件分拆模块调用上传下载模块,将临时目录中的分片文件作为参数传入。文 件上传下载模块随机选择网盘,将每一个分片文件存储到一个网盘上。文件上传下载模块 有检查机制,保证这三个文件中不会有两个文件保存到同一个网盘上。上传完成后,上传下 载模块将每个分片文件保存在哪个网盘上及在该网盘上的位置信息记录,并结合虚拟文件 系统的位置,完成地记录到文件信息数据库中。记录结果类似于:
[0036]

【权利要求】
1. 通过多网盘冗余实现可靠性的虚拟文件系统,其特征在于:包括操作系统文件接 口、文件分拆还原模块、文件信息数据库和上传下载模块;操作系统文件接口用于响应用户 作用在操作系统的请求,当用户请求为上传文件时,文件分拆还原模块将待上传文件进行 分片,生成冗余文件;上传下载模块通过网络与其他网盘提供商提供的网盘系统进行通信, 将所述的冗余文件分别上传到不同的网盘;文件分拆还原模块将待上传文件以及生成的冗 余文件的属性信息、分片上传信息记录到文件信息数据库;文件信息数据库保存在所述的 操作系统内;当用户请求为下载文件时,文件分拆还原模块从文件信息数据库中提取文件 的属性及分片信息,上传下载模块根据文件分拆还原模块提取的信息通过网络从相应网盘 中提取冗余文件,由文件分拆还原模块对提取的冗余文件进行还原。
2. 通过多网盘冗余实现可靠性的虚拟文件系统,其特征在于:包括多个客户端和一个 互联网同步系统;一个客户端为一个权利要求1所述的虚拟文件系统;上传文件的客户端 称为上传客户端模块,其它要同步这个文件的客户端称为同步客户端模块;上传客户端模 块完成文件上传时,将文件信息数据库内记录的信息以及用户id、客户端id存储在互联网 同步系统中,所述的文件信息数据库内记录的信息采用sql命令形式,同步客户端模块向 互联网同步系统查询,请求所有用户id与本身用户id相同,客户端id与本身客户端id不 同的所有记录,取出每条记录中对应的sql命令,在本客户端的数据库执行该sql命令,即 可得到与上传客户端相同的数据内容。
3. 根据权利要求1或2所述的通过多网盘冗余实现可靠性的虚拟文件系统,其特征在 于:在文件上传之前或者上传过程中通过加密以提高安全性。
4. 根据权利要求1或2所述的通过多网盘冗余实现可靠性的虚拟文件系统,其特征在 于:在文件上传或下载过程中,通过对文件本地缓存,提升访问性能。
【文档编号】G06F11/14GK104156377SQ201310382098
【公开日】2014年11月19日 申请日期:2013年8月29日 优先权日:2013年5月13日
【发明者】孙良茵 申请人:孙良茵
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1