[原创]基于rsync算法的目的性改进-RexSync
摘要:rsync是一种文件差异传输的算法,特点是高效且相似块识别率较高。具体算法这边就不赘述,网上很多,官方文档也描述的很清楚。rsync提高文件比对效率的一个核心算法之一就是rolling checksum,官方使用的是Alder32 Hash算法。在我经历的一个项目中,我们在Windows Azure中实现文件差异传输模块,我使用rsync时发现在本地测试速度非常理想,但一旦放到实际环境中则让人完全无法接受。于是走上了漫长而痛苦的优化之路。。。。。。除了外部的一些调优,最终我还是决定在rsync的算法上开刀。经过冥思(真的就只是坐着不动,连续几个小时的思考),有一个想法跳了出来 -- Jump
阅读全文
posted @
2014-01-14 10:57
極
阅读(1353)
推荐(0)
HASH碰撞
摘要:如果两个输入串的hash函数的值一样,则称这两个串是一个碰撞(Collision)。既然是把任意长度的字符串变成固定长度的字符串,所以必有一个输出串对应无穷多个输入串,碰撞是必然存在的。一个优良的hash函数 f 应当满足以下三个条件:(1)对于任意y,寻找x,使得f(x)=y,在计算上是不可行的。(2)给定x1∈A,找x2∈B,,使得f(x1)=f(x2),在计算上是不可能的,这也就是弱无碰撞性。(3)寻找x1,x2,使得f(x1)=f(x2),在计算上也是不可行的,这也就是强无碰撞性。这样就称为安全保密的Hash函数,除了枚举外不可能有别的更快的方法。如第3条,根据生日定理,要想找到这样的
阅读全文
posted @
2012-09-20 14:07
極
阅读(8773)
推荐(0)
生日悖论
摘要:生日悖论,指如果一个房间里有23个或23个以上的人,那么至少有两个人的生日相同的概率要大于50%。这就意味着在一个典型的标准小学班级(30人)中,存在两人生日相同的可能性更高。对于60或者更多的人,这种概率要大于99%。从引起逻辑矛盾的角度来说生日悖论并不是一种悖论,从这个数学事实与一般直觉相抵触的意义上,它才称得上是一个悖论。大多数人会认为,23人中有2人生日相同的概率应该远远小于50%。计算与此相关的概率被称为生日问题,在这个问题之后的数学理论已被用于设计著名的密码攻击方法:生日攻击。http://baike.baidu.com/view/859474.htm
阅读全文
posted @
2012-09-20 12:15
極
阅读(391)
推荐(0)