網(wǎng)盤容量背后的技術(shù)秘密

想要為每個(gè)用戶提供1G的網(wǎng)絡(luò)存儲(chǔ)空間。

如果服務(wù)器上有一顆1000G的硬盤可以全部為用戶提供數(shù)據(jù)儲(chǔ)存兼蜈,如果每個(gè)用戶分配1G的最大儲(chǔ)存空間攘残,那么能非配給多少個(gè)用戶使用呢?

你一定說是1000/1=1000個(gè)用戶。

但事實(shí)上你這么分配了为狸,你會(huì)發(fā)現(xiàn)每個(gè)用戶平時(shí)根本不會(huì)上傳1G的東西將容量占的漫漫的歼郭,有多又少,但平均用戶平時(shí)只上傳50M的文件辐棒,也就是說病曾,你將1000G的硬盤分給1000個(gè)人使用,但只有效利用了其中的50M*1000=50G的空間漾根,剩余950G的空間基本都完全浪費(fèi)了泰涂。

那么怎么解決呢?

你可以變通一下,將這1000G的空間分配給20000個(gè)用戶使用辐怕,每個(gè)人的上傳上限容量還是1G逼蒙,但每人平時(shí)還是平均上傳50M的數(shù)據(jù),那么20000*50M=1000G寄疏,這下子就把寶貴的服務(wù)器上的存儲(chǔ)空間充分利用了是牢。但你又怕這樣分配給20000個(gè)人后顶考,萬一某一刻人們突然多上傳點(diǎn)數(shù)據(jù),那么用戶不是就覺察出來你分給人家的1G空間是假的了嗎?所以可以不分配那么多人妖泄,只分配給19000人驹沿,剩下一些空間做應(yīng)急之用。

突然發(fā)現(xiàn)一下子將可分配的用戶數(shù)量翻了19倍啊蹈胡,了不起渊季。那還有買有辦法更加有效的利用一下呢?

如果我有1000個(gè)以上的服務(wù)器,一個(gè)服務(wù)器上有1000G空間罚渐,那么我們個(gè)服務(wù)器上都要留下50G的空白空間以備用戶突然上傳大數(shù)據(jù)時(shí)導(dǎo)致數(shù)據(jù)塞滿的情況却汉,呢么我這1000個(gè)服務(wù)器上就空出了1000臺(tái)*50G=50000G的空間被浪費(fèi)了,所么可惜荷并。所以我們發(fā)明了計(jì)存儲(chǔ)集群合砂,使得一個(gè)用戶的數(shù)據(jù)可以被分配在多個(gè)服務(wù)器上存儲(chǔ),但在用戶那看起來只是一個(gè)1G的連續(xù)空間源织,那么就沒必要在每個(gè)服務(wù)器上預(yù)留出應(yīng)急的空間了翩伪,甚至可以充分的將前一個(gè)服務(wù)器塞滿后,在將數(shù)據(jù)往下一個(gè)服務(wù)器中塞谈息。這樣保證了服務(wù)器空間的最大利用缘屹,如果某一刻管理員發(fā)現(xiàn)用戶都在瘋狂上傳數(shù)據(jù)(在一個(gè)大規(guī)模用戶群下,這樣的概率少之又少)導(dǎo)致我現(xiàn)有提供的空間不夠了侠仇,沒關(guān)系轻姿,只需要隨手加幾塊硬盤或者服務(wù)器就解決了。

好吧逻炊,這下子我們的服務(wù)器空間利用高多了互亮,可以將一定量的空間分配給最多的用戶使用了。但有沒有更好的改進(jìn)方案呢?

管理員有一天發(fā)現(xiàn)余素,即使每個(gè)用戶平局下來只存儲(chǔ)50M的東西豹休,但這50M也不是一蹴而就的,是隨著1-2年的使用慢慢的達(dá)到這個(gè)數(shù)量的溺森,也就是說慕爬,一個(gè)新的用戶剛剛注冊(cè)我的網(wǎng)絡(luò)空間時(shí)窑眯,不會(huì)上傳東西屏积,或者只上傳一點(diǎn)非常小的東西。那么我為每一個(gè)用戶都初始分配了50M的空間磅甩,即使將來2年后他們會(huì)填滿這50M炊林,但這期間的這空間就有很多時(shí)浪費(fèi)的啊。所以聰明的工程師說:既然我們可以分布式卷要、集群式存儲(chǔ)渣聚,一個(gè)用戶的數(shù)據(jù)可以分布在多個(gè)服務(wù)器上独榴,那么我們就假設(shè)一開始就給一個(gè)新注冊(cè)的用戶提供0M的空間,將來他用多少奕枝,我就給他提供多少存儲(chǔ)空間棺榔,這樣就徹底的保證硬盤的利用了。但用戶的前端還是要顯示1G的隘道。

工程師的這個(gè)點(diǎn)子症歇,使得我在建立網(wǎng)盤初期能用1臺(tái)1000G的服務(wù)器提供了大約1000000人來注冊(cè)和使用,隨著注冊(cè)的人多了谭梗,我也有錢了忘晤,也可以不斷增加服務(wù)器以提供他們后期的存貯了。同時(shí)因?yàn)橐徊糠址?wù)器完了一年多購買激捏,我的購買成本也下來了设塔。

那么…這結(jié)束了嗎?

若是郵箱提供商的話,這樣的利用率夠高了远舅。但網(wǎng)盤就不一樣了闰蛔。

聰明的工程師發(fā)現(xiàn):不同于郵箱,大家的內(nèi)容的附件絕大多數(shù)都是自創(chuàng)的和不同的图柏。但網(wǎng)盤上大家上傳的東西很多都是重復(fù)的钞护。

比如:張三今天下載了一部《TOKYO HOT》上傳上傳到了自己的網(wǎng)盤上,李四在三天后也下載了一模一樣的《TOKYO HOT》上傳到了網(wǎng)絡(luò)硬盤上爆办,隨著用戶的增多难咕,你會(huì)發(fā)現(xiàn)總計(jì)有1000個(gè)人上傳了1000份一模一樣的文件到你寶貴的服務(wù)器空間上,所以工程師想出一個(gè)辦法距辆,既然是一樣的文件余佃,我就只存一份不久好啦,然后在用戶的前端顯示是沒人都有一份不久行啦跨算。當(dāng)某些用戶要?jiǎng)h除這個(gè)文件的時(shí)候爆土,我并不真的刪除,只需要在前端顯示似乎刪除了诸蚕,但后端一直保留著以供其他擁有此文件的用戶下載步势。直到所有使用此文件的用戶都刪除了這個(gè)文件我再真的將其刪除吧。

這樣子隨著存儲(chǔ)的數(shù)據(jù)越來越多背犯,注冊(cè)的用戶越來越多坏瘩,其上傳的重復(fù)數(shù)據(jù)越來越多。你發(fā)現(xiàn)這樣的檢測(cè)重復(fù)文件存儲(chǔ)的效率越來越大漠魏。這樣算下來似乎每個(gè)人上傳的不重復(fù)的文件只能平均1M/用戶倔矾。這下子你可以提供超過50倍的用戶使用您這有限的空間了。

但伴隨這使用,你又發(fā)現(xiàn)一個(gè)規(guī)律:

張三上傳的《TOKYO HOT N0124》和李四上傳的《TH n124》是同一個(gè)文件哪自,只不過文件名不一樣丰包,難道我就不能識(shí)別出他們是一個(gè)文件,然后只將其分別給不同的用戶保存成不同的文件名不久行啦?確實(shí)可行壤巷,但這要利用一些識(shí)別文件相同性的算法邑彪,例如MD5值等。只要兩個(gè)文件的MD5值一樣胧华,文件大小一樣锌蓄,我就認(rèn)為它們是相同的文件,只需要保存一份文件并給不同的用戶記作不同的文件名就好了撑柔。

有一天你發(fā)現(xiàn)瘸爽,因?yàn)槊恳粋€(gè)文件都需要計(jì)算MD5值,導(dǎo)致CPU負(fù)荷很大铅忿,而且本來一樣的文件非要浪費(fèi)帶寬上傳回來才可以檢測(cè)一致性剪决,能改進(jìn)一下嗎?

聰明的工程師寫了個(gè)小軟件/.小插件,美其名曰“上傳控件”檀训,將計(jì)算MD5的工作利用這個(gè)軟件交給了上傳用戶的點(diǎn)老來完成柑潦,一旦計(jì)算出用戶要上傳的數(shù)據(jù)和服務(wù)器上已經(jīng)存儲(chǔ)的某個(gè)數(shù)據(jù)是一樣的,就干脆不用上傳了峻凫,直接在用戶那里標(biāo)記上這個(gè)文件已經(jīng)按照XX文件名上傳成功了渗鬼。這個(gè)過程幾乎是瞬間搞定了,并給其起了個(gè)高富帥的名字“秒傳”!

通過以上這么多步驟荧琼,你發(fā)現(xiàn)本來你只能給1000用戶提供網(wǎng)絡(luò)空間的譬胎,這么多改進(jìn)辦法后,在用戶端顯示1G空間不變的情況下命锄,近乎可以為1000000個(gè)用戶提供網(wǎng)絡(luò)空間了堰乔。

這樣若是您哪天心情好,對(duì)外宣傳說:我要將每個(gè)用戶的存儲(chǔ)空間上限提升到1TB脐恩。那么每個(gè)用戶平均還是只上傳50M數(shù)據(jù)镐侯,只有極個(gè)別極個(gè)別的用戶上傳了突破1G原始空間的數(shù)據(jù),你會(huì)發(fā)現(xiàn)所付出的成本近乎是微乎其微的驶冒。

辛勤的工程師還在為如何更有效率的利用服務(wù)器提供的磁盤空間在不屑努力和挖掘著……

我隱約想到了無限容量的某虎郵箱~

至于dropbox苟翻,人家才是真正的網(wǎng)盤,國(guó)內(nèi)的云諾好像也是這樣子的骗污。

其實(shí)我只想說一句崇猫,上傳速度15KB/S我們都感動(dòng)的哭了

網(wǎng)盤的興起產(chǎn)生了一系列的網(wǎng)盤搜索引擎,他們就是抓取如:http://pan.baidu.com/s/1hsO5XQk的資源公開分享鏈接身堡。想想也在情理之中邓尤,像這樣子的搜索引擎有:

去轉(zhuǎn)盤網(wǎng)(http://www.quzhuanpan.com);號(hào)稱3000萬資源拍鲤,也是略叼贴谎!

西林街(http://www.xilinjie.com/);采用google自定義搜素汞扎,基本30分鐘搞定。

找文件(http://www.zhaofile.com/)擅这;找文件資源很方便澈魄,其他一般。

等等~~~

碼字碼了半天仲翎,不知道友友們看懂了沒痹扇?網(wǎng)盤存儲(chǔ)的興起是物聯(lián)網(wǎng)的必然趨勢(shì),網(wǎng)盤搜索引擎也是其附屬產(chǎn)物溯香■旯梗科技就是方便人們的生活,讓大佬們?nèi)ネ诰騽?chuàng)造來方便廣大群眾吧玫坛。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末结笨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子湿镀,更是在濱河造成了極大的恐慌炕吸,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勉痴,死亡現(xiàn)場(chǎng)離奇詭異赫模,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蒸矛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門瀑罗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人雏掠,你說我怎么就攤上這事廓脆。” “怎么了磁玉?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵停忿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我蚊伞,道長(zhǎng)席赂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任时迫,我火速辦了婚禮颅停,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘掠拳。我一直安慰自己癞揉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著喊熟,像睡著了一般柏肪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芥牌,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天烦味,我揣著相機(jī)與錄音,去河邊找鬼壁拉。 笑死谬俄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弃理。 我是一名探鬼主播溃论,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼痘昌!你這毒婦竟也來了蔬芥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤控汉,失蹤者是張志新(化名)和其女友劉穎笔诵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姑子,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乎婿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了街佑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谢翎。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖沐旨,靈堂內(nèi)的尸體忽然破棺而出森逮,到底是詐尸還是另有隱情,我是刑警寧澤磁携,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布褒侧,位于F島的核電站,受9級(jí)特大地震影響谊迄,放射性物質(zhì)發(fā)生泄漏闷供。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一统诺、第九天 我趴在偏房一處隱蔽的房頂上張望歪脏。 院中可真熱鬧,春花似錦粮呢、人聲如沸婿失。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豪硅。三九已至哩照,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間舟误,已是汗流浹背葡秒。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工姻乓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嵌溢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓蹋岩,卻偏偏與公主長(zhǎng)得像赖草,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子剪个,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容