视频文件上传如何排重?

例如网盘、视频等网站,当用户上传文件时,有可能传的是同一个文件,如何在存储层对其进行排重,这里涉及到文件的存储方式及校验。我再说明一下吧,例如:A用户上传了一部10G的《阿凡达》高清电影,然后B用户也上传了一部一模一样的《阿凡达》高清(前提是一模一样),这时如何解决校验(如何判断B上传的文件和A上传的文件是一样的呢?)及排重的问题?

还有一种情况是:用户A传了一部高清《阿凡达》完整的电影,B用户传了一部没有片头的高清《阿凡达》电影,其它内容一样,或者是没有片尾的《阿凡达》,这时如何排重?

大家可以根据自己的经验和理解说说自己的想法,我不要从百度、Google等搜索引擎Copy过来的答案,请不要粘贴......

Geo5
Geo5
463
编辑于2012-03-20
评论 (0)链接2012-03-20 

对大文件进行一遍hash确实很耗时, 可以采用取病毒特征码的方式, 先比较文件大小, 然后从文件随机取几段内容进行hash, 如果一样的话, 就可以认为是同一个文件。如果能容忍低错误率的话, 可以采用这个方案。

该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (3)链接 • 2012-03-20
  • 0 支持
    就像你说的,这个解决方案如果对容错率较宽的话是可以考虑,不过就像我说的第二种方式的文件,可能就会被归为两个不同的文件,这样对存储可能会很不利。很感谢您的回答。 – 浪际天涯 2012-03-20
  • 0 支持
    需要用指纹算法,不过也会不准,google youtube的指纹算法就闹了一笑话,把人录制的小鸟的叫声,识别成有版权保护的歌曲。 – Geo5 2012-03-20
  • 1 支持