您的位置: 首页 > 技术文档 > 网络编程 > 数据同步算法研究
vs 2010 web部署 回到列表 25个最佳最闪亮的Eclipse开发项目
 数据同步算法研究

作者:刘爱贵 时间: 2010-08-12 文档类型:转载 来自:CSDN

第 1 页 数据同步算法研究 [1]
第 2 页 数据同步算法研究 [2]
第 3 页 数据同步算法研究 [3]
第 4 页 数据同步算法研究 [4]

Dedupe技术目前主要应用于数据备份,因此对数据进行多次备份后,存在大量重复数据,非常适合这种技术。事实上,dedupe技术可以用于很多场合,包括在线数据、近线数据、离线数据存储系统,甚至可以在文件系统、卷管理器、NAS、SAN中实施。也可以用于网络数据传输,当然也可以应用于数据打包技术。Dedupe技术可以帮助众多应用降低数据存储量,节省网络带宽,提高存储效率、减小备份窗口,绿色节能。

4、数据同步算法

如Rsync假设现在有两台计算机Alpha和Beta ,计算机Alpha能够访问A文件,计算机Beta能够访问B文件,文件A和B非常相似,计算机Alpha和Beta通过低速网络互联。基于dedupe技术的数据同步算法大致流程与Rsync相似,简单描述如下:

1、Beta采用数据切分算法,如FSP(fixed-size partition)、CDC(content-defined chuking),将文件B分割成大小相等或不等的数据块;

2、Beta对于每一个数据块,计算一个类似rsync弱校验值和md5强校验值,并记录数据块长度len和在文件B中的偏移量offset;

3、Beta将这将数据块信息发送给Alpha;

4、Alpha采用同样的数据块切分技术将文件A切成大小相等或不等的数据块,并与Beta发过来的数据信息进行搜索匹配,生成差异编码信息;

5、Alpha将差异编码信息发送给Beta,并同时发送重构文件A的指令;

6、Beta根据差异编码信息和文件B重构文件A。

上面算法描述中,有几个关键问题需要解决,即文件切分、切分数据块信息描述、差异编码、差异编码信息描述、文件同步。文件切分、差异编码、文件同步将在后续部分介绍,这里对切分数据块信息描述和差异编码信息描述作说明。

切分数据块信息的数据文件布局由文件头(chunk_file_header)和数据块描述(chunk_block_entry)实体集组成,具体定义如下。其中,文件头定义了文件B的数据块大小、数据块总数。文件头后紧随一组数据块描述实体,每个实体代表一个数据块,定义了块长度、块在文件B中的偏移、弱校验值和强md5校验值。 

view plaincopy to clipboardprint?
/* define chunk file header and block entry */ 
typedef struct _chunk_file_header {  
        uint32_t block_sz;  
        uint32_t block_nr;  
} chunk_file_header;  
#define CHUNK_FILE_HEADER_SZ    (sizeof(chunk_file_header))  
typedef struct _chunk_block_entry {  
        uint64_t offset;  
        uint32_t len;  
        uint8_t  md5[16 + 1];  
        uint8_t  csum[10 + 1];  
} chunk_block_entry;  
#define CHUNK_BLOCK_ENTRY_SZ    (sizeof(chunk_block_entry)) 
/* define chunk file header and block entry */
typedef struct _chunk_file_header {
        uint32_t block_sz;
        uint32_t block_nr;
} chunk_file_header;
#define CHUNK_FILE_HEADER_SZ    (sizeof(chunk_file_header))
typedef struct _chunk_block_entry {
        uint64_t offset;
        uint32_t len;
        uint8_t  md5[16 + 1];
        uint8_t  csum[10 + 1];
} chunk_block_entry;
#define CHUNK_BLOCK_ENTRY_SZ    (sizeof(chunk_block_entry))

出处:CSDN
责任编辑:bluehearts

上一页 数据同步算法研究 [1] 下一页 数据同步算法研究 [3]

◎进入论坛网络编程版块参加讨论

关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule
>> 分页 首页 前页 后页 尾页 页次:2/41个记录/页 转到 页 共4个记录

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2