您好,登錄后才能下訂單哦!
在百度網(wǎng)盤中上傳文件的時候、我發(fā)現(xiàn)那上傳的速度真是一個快。
快到讓我吃驚之外、還多了一份好奇。使用百度上傳文件的時候的用戶體驗是非常不錯的
除了帶寬的問題、這其中是不是還有些別的呢。在我學(xué)習(xí)到的知識當中我自然而然的想到
了單向加密算法(MD5)。
我們知道MD5加密的一個特征就是:雪崩效應(yīng)(一旦被加密的內(nèi)容發(fā)生一丁的點變化、將引起加密結(jié)果巨大的變化)
我們不妨設(shè)想一下:
在用戶的本機電腦上有3個文件(Test1.txt | Test2.txt | Test3.txt)、用戶只是修改了其中的一個:Test3.txt
盡管另外的2個用戶并沒有做任何修改、但是用戶也把它拖入了上傳的隊列當中。
我的思考:
假設(shè)(Test1.txt | Test2.txt | Test3.txt)這3個文件服務(wù)器上已經(jīng)存在一份了、只是Test3.txt這個文件不是最新
的。為了得到最好的用戶體驗最好的做法就是跳過(Test1.txt | Test2.txt)這2個文件,直接上傳Test3.txt就行了。
但是我們首先需要解決的一個問題就是:我們知道Test3.txt被用戶修改了、但是電腦并不清楚。
此處我再次假設(shè)一下:
如果我們有一種方法可以比對(服務(wù)器上已經(jīng)存的文件 和用戶端上需要上傳的同名文件的)特征碼(即:MD5加密結(jié)果)
:如果兩者MD5加密的結(jié)果一致我們就認為該文件沒有被修改、所以不需要上傳。
:如果兩者MD5加密的結(jié)果不一致我們就認為該文件被修改了、需要上傳。
這樣一來本來需要上傳3個文件、現(xiàn)在只需上傳一個文件(被修改的那一個)就可以了、如此一來速度顯然要快上很多了。
總結(jié):
百度網(wǎng)盤上傳速度如此之快 自然離不了那些高大上的技術(shù),并非我所能了解的,此不必多說了。
我的想法有些異想天開,但不并妨礙我求知的欲望... (^V^)
下面是一個有關(guān)于MD5的一個小例子:
第1次向 1.txt 寫入的是"12345678" ;第2次向 1.txt寫入的是 "12345678 "多一個空格.
[root@Director1 wbq]# touch 1.txt
[root@Director1 wbq]#
[root@Director1 wbq]# echo "12345678" > 1.txt
[root@Director1 wbq]#
[root@Director1 wbq]# cat 1.txt
12345678
[root@Director1 wbq]#
[root@Director1 wbq]# md5sum 1.txt
23cdc18507b52418db7740cbb5543e54 1.txt
[root@Director1 wbq]#
[root@Director1 wbq]# md5sum 1.txt
23cdc18507b52418db7740cbb5543e54 1.txt
[root@Director1 wbq]#
[root@Director1 wbq]# echo "12345678 " > 1.txt
[root@Director1 wbq]#
[root@Director1 wbq]# md5sum 1.txt
0a248abc4cfd2c83de82a5748b141cea 1.txt
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。