網盤進化史就這樣(上)——原理簡析

網盤至今已經發展多年,依稀記得從12年開始的網絡上出現了大量的網盤服務,好比以115網盤爲表明的各種網盤,那個時候能叫得上號的公司都開展本身的網盤服務,在互聯網服務中刷刷存在感,後來又紛紛倒閉,想一想看,如今還存活的網盤服務還有哪些呢,百度網盤、華爲雲盤、騰訊微雲等。這些大廠還在提供這些服務,那什麼是網盤呢?這款產品真的離咱們這麼遠嗎?那倒未必,且看咱們來詳細體驗網盤進化史。php

網盤是啥?

這玩意真的是一個網絡大盤子?那倒不是,其實這個也是雲服務中的一種,其原本的面目準確的說這個應該是一個網絡存儲系統,其名爲即NAS,Network Area Storage。這麼高大上的名詞暫時擱置一邊,咱們先將目光拉回來,思考一個問題,拍照以後咱們的手機怎麼存一張照片?快門咔嚓一聲以後,感光模塊造成圖像,手機的CPU會對圖像進行處理,造成一份文件,以後從內存中讀取出來,保存在手機存儲空間中後綴爲.jpg。
網盤進化史就這樣(上)——原理簡析
這個過程看起來挺簡單的,使用到的功能是計算機軟件系統組成中的一部分稱爲文件管理系統,這個系統在至今還是很是重要的存儲管理工具,固然了這個工具和前面提到的NAS有着重要的借鑑意義,由於在這個將圖片(文件)存到手機存儲的過程,IT工程師們就起了個名字,本地存儲。那麼咱們當本地存儲滿了以後怎麼辦咧,只能清除舊圖片呀,否則怎麼繼續存?可是小仙女們是很傲嬌的,照片這麼珍貴,每一張都是精品怎麼能夠說刪就刪?既然手機存不了那麼多,那就換手機啊,換個更大的不就好了?換更大的過程,存儲工程師,起名爲縱向升級,開發工程師則是說迭代升級,這些其實都是說同一件事。嗯,就這一點我也以爲IT人有點無聊了。那沒錢怎麼辦吶,我還想各類升級啊!那我插存儲卡行不行啊,一張卡8g、16g我買啊,嗯,在手機有拓展槽的前提下,確實能夠這麼作,在存儲工程中,這個操做稱爲橫向升級。可,問題又來了,如今有多少手機帶擴展槽?不急不急,還有新的操做。java

放雲上

雲在哪?天上呀,那圖片怎麼上天呀,經過網絡呀,咱們剛纔看圖會知道這個.jpg文件會從內存保存到本地上,如今會經過網絡傳輸,再也不到本地啦,跑去天上了,其實就是網絡服務商(Internet Service Provider,好比百度,騰訊)的電腦(其實就是服務器)上。從手機到雲這個傳輸和存到人家設備上的過程就須要依靠一個簡單的網絡,網絡工程師們對這個過程起了個名字,網絡區域存儲Network Area Storage。
網盤進化史就這樣(上)——原理簡析
現今雲的概念愈來愈充實,你們均可以使用的叫作公有云,只有你和你的朋友才能夠用的叫作私有云,固然了,你贊成部分空間分享給你們一塊兒用就是叫作混合雲啦。雲一望無際,時而在東時而西,咱壓根就不知道這些精美圖片(文件)存放在哪。各位看官,你用起來放心嘛?
爲什麼不本身動手來搭建一個雲盤呢?python

實現思路

計算機網絡發展數十年,仍然離不開TCP/IP協議棧,網盤亦然,手機和雲之間的底層鏈接仍然是一個TCP的服務端和客戶端的溝通,這個溝通的過程起名三次握手。
網盤進化史就這樣(上)——原理簡析
這簡單的三句對話,就是握手的過程啦(是否是有種打嘴炮的感受~~),打過招呼以後固然就能夠是發圖(文件)啦,這在30年前確定是這麼作的, 可是呢,這個過程真的煩。發送和接收方都要考慮不少事情,好比,發送的圖片會不會太大,太大了是否是能夠切小一些,若是切小了的話對方,收到了怎麼拼回去呀,我怎麼知道對方有沒有收到圖啊……這些問題在每一份文件的傳輸過程都要考慮,你說煩不煩,反正考慮多了,確定會禿的。因而網絡工程師們通過多方努力,將這些交流過程所有打包,放在一個大盒子裏面,稱爲http,好了,如今咱們知道了http說tcp的傳輸升級版,青出於藍而勝於藍,http能夠更加方便的發送文件了,要不要切小文件,發送多快這些事情通通不用考慮了,這產品給你辦好了。
接着影響世界進程的程序猿來了,他們用雙手,指揮http自動的發送發送和接受各類各樣不可描述的文件。程序猿一多確定會吵架,你看那個php不是最優秀的語言這個梗玩了多少年了,還不是在繼續吵着,因而一羣糟老頭跳出來講,別吵,咱們所有要遵照一個約定,你好,他好,你們好,纔是真的好,約定名稱爲RESF,大家你要作的就是各自實現RESFful API,OK?
嘿,還別說交流規範一些,溝通成本低了,java、python、go……這些語言工具搭建的http服務端均可以好好說話了。然而,問題又來了,這羣怪蜀黍,其餘人怎麼知道程序猿說的都是啥啊,呵,難怪說世界上只有10種人,一種懂二進制,一種不懂。咱們只用這個就能夠完成數據的傳輸發送,但沒辦法啊,生存仍是要的,得把大家服務好了,纔會心甘情願給咱們發工資啊。大家纔是老闆好很差Orz
網盤進化史就這樣(上)——原理簡析
咱們經過終端,點擊若干按鈕就能夠實現文件的遠程上傳和下載,然而面對非程序猿來講,這樣的操做真的有些無奈的。
網盤進化史就這樣(上)——原理簡析
因此爲了讓大家看的舒服,操做愉快,體驗和免費同在,程序猿們把這個過程又從新包裝了一下,說這個是大盤子,大家啥東西都能放進去,保證安全,隨時取用,空間暫時給大家2T,要是充錢,還能戴上皇冠,上傳更快和下載更強
網盤進化史就這樣(上)——原理簡析
這些都是最終的開發工程師們代碼的勞動成果,也是產品經理們的設計結晶,更是服務商提供的給用戶的良好體驗的做品,那,若是咱們本身動手作一個是否是會很刺激呢?讀到這裏想必你們都會猜到了,其實所謂雲盤對於應用開發來講就是隨時等待你訪問的服務器,猶如一位資深管家,隨時等待各位看官的召喚,咱們所要作的就是上網,登錄賬號剩下的操做,好比自動上傳保存,文件持久化管理、重複文件的刪除等操做,都由管家來完成。
好啦,網盤的進化史回顧大體就這樣啦,說白了就是從本地磁盤到網絡磁盤的過程的變遷,這個依賴於計算機網絡的發展,設想一下,當5G時代的到來,在網絡質量良好的前提下,咱們的手機統統不用再須要存儲了,拍照的話以爲喜歡直接就存到網盤上,想要回顧的話,就去網盤找,下載的應用直接就存網盤上啦,想要運行就去網盤上運行,這樣的暢想其實就是所謂雲桌面的應用啦,對於網速愈來愈快的,帶寬愈來愈寬的暢想,嘻嘻,將來可期。安全

下回講簡單源碼實現

囉囉嗦嗦說了這麼多,下篇文章分享簡單代碼實現服務器

相關文章
相關標籤/搜索