距我將全套盜墓筆記成功保存在8MB空間里已經(jīng)過(guò)去了19天58分鐘32秒,我漸漸發(fā)覺更高、更快、更強(qiáng)的絕不限于奧運(yùn)精神,也充分體現(xiàn)了人類貪婪的本質(zhì),無(wú)盡的需求催生出這光怪陸離的大千世界。
就在今天下午,我得到一個(gè)通知,要么繼續(xù)使用連續(xù)的存儲(chǔ)空間,但是只能有4MB,要么去使用不連續(xù)的存儲(chǔ)空間,總量可以仍然是8MB,那一刻,我的內(nèi)心反而是平靜的,因?yàn)槲抑溃@就是現(xiàn)實(shí),一個(gè)不夠優(yōu)秀的系統(tǒng)是無(wú)法滿足各種刁鉆的需求的,并且我并不想丟掉一半的盜墓筆記,所以我必須使用不連續(xù)的存儲(chǔ)空間,一個(gè)不算壞的消息是,就算是不連續(xù),但是每塊最小也有2048字節(jié),并且連續(xù)的存儲(chǔ)空間是2048字節(jié)對(duì)齊的,還有什么好說(shuō)的,擼起袖子加油干。
當(dāng)時(shí)我的腦海中,浮現(xiàn)出了星空的圖像,天頂中每顆閃爍的星代表的就是一段文字,我要怎么將它們串在一起呢?我想,首先要解決的是識(shí)別問(wèn)題,即眼前的這顆星屬于哪本書?是的,我需要星的索引信息,每條索引信息對(duì)應(yīng)著一段可存儲(chǔ)的空間,記錄空間在硬盤中的偏移,長(zhǎng)度,內(nèi)容是屬于哪本書,對(duì)應(yīng)內(nèi)容在書內(nèi)的偏移,這樣通過(guò)索引信息就可以在硬盤中找到存儲(chǔ)著的盜墓筆記的片段了,于是有了如下的設(shè)計(jì),
book_name用來(lái)存儲(chǔ)書名,hd_ofs存儲(chǔ)這段存儲(chǔ)空間在硬盤中的偏移,file_ofs存儲(chǔ)這段存儲(chǔ)空間存儲(chǔ)的內(nèi)容在書中的偏移,chunk_len存儲(chǔ)這段存儲(chǔ)空間的長(zhǎng)度,看起來(lái)是能工作的,那么這樣的設(shè)計(jì)夠不夠好呢,答案顯然是需要拿出工匠精神再來(lái)打磨一下了。
book_name,這里看起來(lái)很糟糕,如果書名很長(zhǎng)則無(wú)法存儲(chǔ)完整,如果書名很短則浪費(fèi)了存儲(chǔ)空間,這里真的需要存儲(chǔ)一個(gè)書名嗎?按照我的需求,盜墓筆記全套是8本書,那么第一本書,我這里記錄1即可,依次則是2,3,4,...,我只需要數(shù)字就可以進(jìn)行區(qū)分,于是新的設(shè)計(jì)出現(xiàn)了
但是,新的問(wèn)題又出現(xiàn)了,我能夠通過(guò)一個(gè)個(gè)的index對(duì)象找到數(shù)據(jù)塊,但是我該如何找到這些index對(duì)象呢?由于每個(gè)index對(duì)象占用12字節(jié),那么將index搓堆存在一個(gè)只存儲(chǔ)index的數(shù)據(jù)塊內(nèi),那么一個(gè)塊能存170個(gè)index,就像下面這樣
很好,現(xiàn)在有了一個(gè)index塊,那么170個(gè)index最多只能映射(170 * 2048)字節(jié)(340KB)的內(nèi)容,可我要存儲(chǔ)的盜墓筆記不止這么點(diǎn)內(nèi)容,所以還需要更多的index塊
很好,現(xiàn)在有了更多的index塊,我能通過(guò)index找到想要看的內(nèi)容,但是index塊也是不連續(xù)的,我要如何找到index塊在哪里呢?其實(shí),我對(duì)之前每個(gè)數(shù)據(jù)塊填充170個(gè)index對(duì)象已經(jīng)感覺難受了,因?yàn)?70個(gè)index對(duì)象只使用了2040字節(jié),這樣一個(gè)數(shù)據(jù)塊就有8字節(jié)的浪費(fèi),如果這8字節(jié)用來(lái)存儲(chǔ)另一個(gè)index塊在硬盤中的偏移位置,那么index塊之間就能串聯(lián)在一起,而我要做的就是找到那個(gè)入口
經(jīng)過(guò)了兩頓燒烤的談判,我終于贏得了硬盤第1024個(gè)數(shù)據(jù)塊的永久使用權(quán),于是第1024數(shù)據(jù)塊就成為了串起整部盜墓筆記的那個(gè)入口
-
硬盤
+關(guān)注
關(guān)注
3文章
1310瀏覽量
57317 -
文件系統(tǒng)
+關(guān)注
關(guān)注
0文章
284瀏覽量
19911 -
存儲(chǔ)空間
+關(guān)注
關(guān)注
0文章
54瀏覽量
10685
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論