Page 201 - 数码世界6月整本
P. 201
技术交流
低时延网盘同步系统的设计与实现
周景才 张沪寅
摘要:随着云存储技术的迅速发展,越来越多的用户选择用网盘来存储个人信息。 但受 ADSL 技术的限制,网络上传速度往往要远低于
下载的速度,严重制约了网盘同步文件到服务器端的性能,影响网盘用户的体验。针对该问题,提出了低时延网盘同步系统 (L2NDUS)。
该系统自动将网盘服务器端的数据切割成一定大小的数据块,并通过 SHA-1 算法为每块数据计算指纹。在客户端同步文件到服务器之前,
系统先比对本地文件的数据块指纹是否已经在服务器端的指纹库中存在,如果存在则不上传该数据块,从而达到降低系统同步时延的目标。
测试实验表明,随着本地同步次数的增加,系统同步时延显著下降。 特别是在移动设备的通讯录同步应用中,与传统系统相比 L2NDUS
系统可以算短 80% 的时延。
1 引言 多客户端是其重要特点之一,这就带来了多租户下的数
据指纹隐私保护以及客户端指纹库获取等问题。
随着云存储的迅速发展,面向大众的网盘产品也越
来越丰富如:Dropbox、Google Drive、SkyDrive、阿 3 L2NDUS 架构与设计实现
里云、盛大云等。也吸引了越来越多的用户选择用网盘
网盘客户端同步本地文件到服务器的过程类似于文
来存储个人信息。 网盘客户端则是用来协助用户上传、
件中所描述的系统。 如果网盘客户端能在本地消除不
下载和同步本地文件到服务器端的专业工具。 当客户
必要上传的数据,则网盘系统中文件同步功能的时延会
需要同步本地文件到服务器端时,客户端会自动地将整
得到大幅度的降低,从而实现一个低时延的网盘同步系
个本地文件通过标准接口协议上传到服务器。 而在现
统。 但在该系统中,必须同时满足下面两个基本要求:
实场景中,需要同步到服务器端的文件经常与服务器端
关注隐私保护。不同用户之间的数据互不影响,即
已经存在的文件只存在部分差异,如果整文件同步上传
使是数据指纹也应该在不同用户之间隔离;
将造成大量带宽浪费。 特别是在当前 ADSL 技术中,上
低时延。系统增加的新模块带来的网络开销应该小
传带宽仅有下载带宽的 15% 左右,大量重复数据的上传
于改进后系统减少的网络开销,新系统的总时延应该低
将迅速增加网盘同步文件操作的时延,降低用户体验。
于原来系统的时延。
2 相关工作 3.1 L2NDUS 系统文件同步处理总流程
云存储因其具有价格低廉、移动方便等特点正迅速 为了满足上述要求,L2NDUS 系统设计成了一个支
成为个人用户备份重要资料的有效途径之一。云存储数 持在客户端自动删除重复数据的系统。该系统初始化时
据中心所保存的数据中高达 60% 是冗余的,备份和归档 将自动扫描服务端该用户空间下的所有文件,并将扫描
存储系统中的重复数据比例更是高达 80% ~ 90%,而 到的所有文件按固定大小 ( 或变长 ) 切成若干个小数据
且随着时间的推移重复比例不断提升。论述了文件系统 块,然后通过信息摘要算法为每个数据片建立指纹信息,
中存在大量重复数据这一事实,并试图通过不同的方法 并将数据块编号与指纹信息按对应关系保存在服务器端
去消除重复数据的存储。 实验结果表明通过一定的技 指纹信息库中。
术手段消除重复数据的存储可以减少存储阵列的容量需 指纹信息文件版本号与更新记录文件,主要保存当
求。 但是,现有的重复数据删除技术却无法直接应用 前指纹信息的版本号以及当前版本与上一版本的差异点
在网盘中。各类重复数据删除系统架构一样,现有的重 ( 仅记录增加指纹和删除指纹的操作记录 )。 在客户端
删系统都是在一个封闭的、非移动的系统内实现。 因此, 进行同步文件操作前,需要先从服务器端下载该文件到
客户端和服务器端都是固定不变的,不需要考虑隐私问 本地,并对比服务器端版本与本地版本是否一致,如果
题,客户端也可以直接获取指纹库中的指纹数据。 但 不一致则需要重新下载 " 指纹信息库 " 到客户端,否
在云存储系统中,网盘的客户端往往是部署在移动设备 则不需要。 通过该方法可以解决移动终端的指纹库与
中,例如:智能手机、平板电脑、笔记本等。 多用户、 服务器端的一致性问题。
102... ...103