Archive

Archive for January, 2011

zpack:一个简单的文件打包格式

January 18th, 2011 5 comments

最近实现了一个简单的文件打包格式

一向很喜欢简单高效的东西,所以非必要的加密,压缩功能一概欠奉。反正也开源了,用户很容易自行添加。

文件以文件名的hash作为检索,为了防止hash冲突的情况,除了用来建立hash table的主hash以外,索引表里还另外保存了两个用不同算法算出来的hash值。这样一来,读取包内文件时并不需要原始的文件名信息,只要根据输入的文件名算出来的3个hash值都和hash table里保存的相应值一致,就基本可以认定是用户所需要的。当然,对于32bit的hash来说冲突的情况实际上很少,而计算hash也有一定开销(虽然和磁盘io相比基本可以忽略),如果包内文件又很少,可以只比较两个,甚至一个hash值。 Read more…

Categories: 程序/算法 Tags: