關于騰訊QQ中轉站數據安全的討論,見前一篇博文, http://blog.csdn.net/Jhzyz/archive/2009/09/17/4564723.aspx
剛才,我發現還有另外一種錯誤,以壓縮文件為例,就是出現“不可預見的檔案文件末端”,這和壓縮包內文件CRC error不同,壓縮文件完全被破壞掉了。
騰訊在設計QQ中轉站時,為了節約硬盤空間和上傳帶寬,如果在上傳時,發現有MD5碼相同的文件,會自動引用,就是所謂的快速上傳。
問題來了,這也是我要說的Bug,在服務器上文件被損壞時,最原始的上傳者刪掉自己的中轉站文件重新上傳,如果這個文件分享給朋友,朋友轉入中轉站保存,這個文件仍然會在服務器上。
此時,當服務器的文件被損壞后,最初的上傳者再次上傳正確的完好文件時,會被系統“快速上傳”完成,造成服務器上的錯誤文件始終不能被更新!如圖:
要解決這個Bug,第一要保證服務器上的文件絕對不能出錯,但這是不可能的!??!所以,必須要在文件信息中保存第1個上傳者的ID,允許第1個上傳者完全上傳更新服務器上的文件!
看來QQ中轉站在解決管理和技術問題之前,要少用了,重點轉向Raysource、Namipan和CTdisk等網盤了。
續:
看到有朋友回復提出意見,把解釋補充到這兒。
(希望騰訊的相關技術或管理人員能看到)
-------------- 但是這兩個文件應該是不一樣的啊 md5值也是不同的哦 你那個估計是下載的時候,比如網絡差,沒有下載完整重新下載下呢?
csc已經不同,md5怎么可能相同呢?
------------------------------------------------
這就是騰訊設計上的問題,最初上傳文件它在服務器上的MD5碼是當時保存的,文件被破壞后,再次上傳時并不是重新生成MD5碼,而是用重新上傳的文件,檢測最初的MD5碼,認為相同就被快速上傳。
所以騰訊要改變這個Bug,另一個選擇就是上傳時在服務器實時檢測已存在文件的MD5碼,但這會占用太多的服務器資料,這是開發者不愿意看到的。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
