一种面向多云架构的网络性能提升方法

文档序号:9251042阅读:250来源:国知局
一种面向多云架构的网络性能提升方法
【技术领域】
[0001] 本发明属于云计算领域,具体涉及一种面向多云架构的网络性能提升方法。
【背景技术】
[0002] 随着互联网技术的飞速发展,用户所拥有的网络终端设备也不断增长,网盘作为 一种为用户提供多设备文件存储和同步的云存储产品逐渐风靡起来。通过安装在用户设备 上的客户端,用户本地同步文件夹中的文件能自动地储存到云存储服务器,并且同步到他 所拥有的其他设备上。网盘这种新兴的云存储产品一经推出就立刻吸引了大量的用户,其 中的典型代表Dropbox,在2014年5月已经拥有了超过3亿用户。而像谷歌和微软这样的 IT巨头,也纷纷加入竞争并推出了类似的云存储产品。
[0003] 与AmazonS3这种具有明确服务水平协议的企业级云存储产品不同,网盘往往是 免费提供或者仅收取很少量的费用,但同时也缺乏足够的服务质量保证。因此用户在使用 网盘的过程中往往会遇到诸如服务中断、文件传输速度缓慢和文件失窃等问题。据著名科 技博客thenextweb报道,微软的OneDrive网盘曾在2013年8月经历了长达三天的服务 中断。此外,也有研宄指出,Dropbox的同步速度正随着它用户量的增长而不断下降。
[0004] 多云联合概念的提出弥补了单一云存储产品所存在的不足。通过将数据冗余地储 存在多个云存储服务器上,多云架构的系统能达到更高的可靠性和安全性,并且能有效地 降低运营商锁定风险。现有的多云架构系统往往面向企业级云存储产品,它们没有考虑到 不同云存储服务器之间的性能差异,而是直接将冗余数据均匀地分布在多个云存储服务 器上。这种简单的数据传输方法无法获得很好的网络性能,甚至无法超越其中性能最好的 云存储服务器。除了数据存储,网盘还需要面向终端用户提供额外的同步功能,其面对的网 络条件相较于企业级云存储产品也更加复杂多变。因此,传统的多云架构系统难以满足适 应新兴的网盘产品的需求。
[0005] 为便于理解本发明,以下对相关术语进行解释:
[0006] 本发明中,客户端整合N个云存储服务器,N> 1,
[0007] 文件数据:在同步过程中,本地同步文件夹中的文件被切分成一个或多个文件 段,每个文件段由k个原始数据块通过纠删码编码生成(k-l)N个冗余的编码数据块,1 <k< 20,这些编码数据块被称作文件数据,它是本地同步文件夹中的文件在客户端和多 个云存储服务器之间进行文件上传和下载的基本单位,利用其中任何k个编码数据块都能 恢复出原始文件段;
[0008] 在可靠性方面,客户端通过所使用的纠删码保证当N个云存储服务器中有不少于 心个可以正常运行,0 <L彡N,则用户的文件能够正常进行同步,S卩,能容忍最多N-L个云
[0009] 在安全性方面,客户端保证任何单个云存储服务器被攻击者攻破,攻击者都无法 恢复原始文件;因此,每个云存储服务器最多能储存k-1个数据块以满足安全性要求;
[0010] 元数据:元数据记录着本地同步文件夹的目录结构以及所有文件的元信息,每一 个文件的元信息包括文件路径、增加或修改时间、文件大小以及对应的文件数据元信息,文 件数据元信息包括该文件所有编码数据块的本地路径和储存各编码数据块的云存储服务 器的名称;
[0011] 客户端储存的元数据,称为本地元数据;云存储服务器中储存的元数据称为云端 元数据,同一元数据将在所有云存储服务器中保存备份。

【发明内容】

[0012] 本发明提供一种面向多云架构的网络性能提升方法,解决传统多云架构系统未考 虑不同云存储服务器之间性能差异的问题,以提升网络性能。
[0013] 本发明所提供的一种面向多云架构的网络性能提升方法,包括以下步骤:
[0014] (1)客户端收集本地同步文件夹的本地变更记录e,包括文件的增加、修改和删除 记录;增加、修改和删除记录分别均包括文件路径和发生时间;
[0015] (2)将本地变更记录e应用于本地缓存的本地元数据V。,从而得到本地新元数据 V1;
[0016] (3)从多个云存储服务器中下载云端元数据V。,并通过云端元数据V。的增加或 修改时间,判断云端元数据V。是否曾被其它客户端更新,是则进行步骤(4),否则转步骤 (10);
[0017] (4)将本地元数据V。与云端元数据V。进行比较找出二者的差异,得到从V。变更到 V。所需的云端变更记录e';
[0018] (5)将云端变更记录e'应用于本地新元数据V1,从而更新本地新元数据V1;
[0019] (6)客户端判断云端变更记录e'中是否存在文件增加或修改记录,是则进行步 骤(7),否则转步骤(8);
[0020] (7)客户端根据云端变更记录e'中的文件增加或修改记录,将其对应文件的编 码数据块从多个云存储服务器中下载到本地,并通过纠删码解码后还原成原始文件,进行 步骤(8);
[0021] (8)客户端判断云端变更记录e'中是否存在文件删除记录,是则进行步骤(9), 否则转步骤(10);
[0022] (9)客户端根据云端变更记录e'中的文件删除记录,将其对应的文件从本地同 步文件夹中删除,进行步骤(10);
[0023] (10)客户端判断本地变更记录e中是否存在文件增加或修改记录,是则进行步骤 (11),否则转步骤(12);
[0024] (11)客户端根据本地变更记录e中的文件增加或修改记录,将其对应文件进行切 分和纠删码编码,生成冗余的编码数据块,然后将它们从本地上传到多个云存储服务器中; 进行步骤(12);
[0025] (12)客户端判断本地变更记录e中是否存在文件删除记录,是则进行步骤(13), 否则转步骤(14);
[0026] (13)客户端根据本地变更记录e中的文件删除记录,向多个云存储服务器提出文 件删除请求;由多个云存储服务器分别将文件删除记录对应文件的编码数据块删除;
[0027] (14)客户端通过向多个云存储服务器中上传锁文件,获取对云端元数据V。的更新 权限;
[0028] (15)客户端将本地新元数据V1上传到所有云存储服务器中,将云端元数据V。的 内容更新为V1;
[0029] (16)客户端向多个云存储服务器提出文件删除请求,由多个云存储服务器分别将 该客户端上传的锁文件删除,从而释放对云端元数据V。的更新权限,完成本地-云端同步。
[0030] 所述步骤(7)包括以下子步骤:
[0031] (7. 1)根据云端变更记录e'中的文件增加或修改记录,将其对应文件的所有文 件段依序构成下载队列;
[0032] (7. 2)将所有云存储服务器依据其所有下载连接通道的平均下载速度从高到低进 行排序;
[0033] (7. 3)从头依序遍历所述下载队列,对于每一个文件段,依次将排序后的每个云存 储服务器的可用下载连接通道分配给该文件段并进行编码数据块的下载,可用下载连接通 道数量不超过该云存储服务器所存储的文件段的编码数据块数量,直到该文件段共分配 了k个下载连接通道为止,I<k< 20 ;每下载一个编码数据块,就释放其对应的云存储服 务器的下载连接通道,当一个文件段完成了k个编码数据块的下载,即从下载队列中删除 该文件段;
[0034] (7. 4)通过纠删码将所述文件段的编码数据块解码,恢复出原始文件段;
[0035] (7. 5)重复子步骤(7. 2)~(7. 4)直到下载队列为空,一个文件的所有文件段都恢 复成原始文件段,将它们重新拼接形成原始文件。
[0036] 传输过程中不断依据正在下载的数据块的传输速度评估各个云存储服务器的下 载性能,从而能够利用下载性能较好的云存储服务器尽可能多地下载数据块,极大地缩短 了文件下载时间,提升了网络性能。
[0037] 所述步骤(11)包括以下子步骤:
[0038] (II. 1)根据本地变更记录e中的文件增加或修改记录,将其对应文件按照4MB的 大小切分成一个或多个文件段,所有文件段依序构成上传队列;
[0039] (11. 2)对于每一个文件段,使用纠删码对文件进行编码,每个文件段由k个原始 数据块通过纠删码编码生成(k-1)N个冗余的编码数据块,I<k< 20,N> 1 ;
[0040] (11. 3)每个文件段的编码数据块被提交到上传队列的相应文件段中;
[0041] (11.4)从头依序遍历上传队列,对于每一个文件段,从各个云存储服务器中
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1