濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 網(wǎng)站開(kāi)發(fā)中的文件存儲(chǔ)目錄結(jié)構(gòu)的探討

網(wǎng)站開(kāi)發(fā)中的文件存儲(chǔ)目錄結(jié)構(gòu)的探討

熱門(mén)標(biāo)簽:地圖標(biāo)注和圖片標(biāo)注 湖北穩(wěn)定外呼系統(tǒng) 嘟聲的電銷機(jī)器人 電銷機(jī)器人怎么收費(fèi) 滄州智能外呼系統(tǒng)收費(fèi) 洛陽(yáng)便宜外呼系統(tǒng)廠家 醫(yī)院地圖標(biāo)注 忻州外呼系統(tǒng)接口對(duì)接 語(yǔ)音平臺(tái)系統(tǒng)
對(duì)于少量用戶寫(xiě)信息,大量用戶都是在看信息的網(wǎng)站:例如CMS系統(tǒng),編輯發(fā)咨詢,用戶看,例如中小企業(yè)產(chǎn)品發(fā)布網(wǎng)站。 對(duì)于這類需求我們可以把文件專門(mén)放到一個(gè)目錄下,例如放到網(wǎng)站根目錄的upload目錄下,然后按天建文件夾,將每天的文件放到一個(gè)目錄下,文件名可采用數(shù)字生成。例如:upload/20100612/1224455.jpg;通常的情況下這種目錄結(jié)構(gòu)就可以保證每個(gè)目錄下不會(huì)有太多的文件。

對(duì)于博客,論壇應(yīng)用,需要對(duì)每個(gè)用戶分配文件存儲(chǔ)空間,如果有需求的話還要限制用戶的存儲(chǔ)空間,對(duì)于一般規(guī)模的網(wǎng)站目錄結(jié)構(gòu)可以用用戶id+日期的形式;例如upload/234/20100612/abc.jpg。如果規(guī)模較大,可以將文件分布到幾臺(tái)不同的服務(wù)器上,可以根據(jù)用戶id制定一個(gè)分布的規(guī)則,每臺(tái)服務(wù)器用不同的域名,并在數(shù)據(jù)庫(kù)中存儲(chǔ)文件的完整url地址,這種情況下的路徑結(jié)構(gòu)通常是:http://file1.abc.com/upload/234/20100612/abc.jpg。

我曾經(jīng)觀察過(guò)微軟的文件下載文件存儲(chǔ)的路徑結(jié)構(gòu),他是用guid生成的一個(gè)路徑,例如:http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe ;它這個(gè)結(jié)構(gòu)目錄是guid的前三位和guid做了一個(gè)4級(jí)的目錄,這種情況下,就保證了,每個(gè)目錄下不會(huì)有很多目錄,因?yàn)槭莋uid所以每一個(gè)文件都放到一個(gè)單一的目錄下了,這種結(jié)構(gòu)對(duì)于做下載的網(wǎng)站應(yīng)該是一種不錯(cuò)的選擇。

還有web2.0的網(wǎng)站會(huì)涉及到用戶頭像的存儲(chǔ),頭像的存儲(chǔ)比較特殊,一個(gè)用戶固定有那么幾個(gè)尺寸的圖片,我們分析一下開(kāi)心網(wǎng)和sina的頭像地址,看他們是如何做的存儲(chǔ)
1. 開(kāi)心網(wǎng)的存儲(chǔ),如下是兩對(duì)鏈接地址,每對(duì)中的第一個(gè)是頭像地址,第二個(gè)是用戶首頁(yè),首頁(yè)中的參數(shù)是用戶id

http://pic1.kaixin001.com.cn/logo/13/39/50_133973_82.jpg

http://www.kaixin001.com/home/?uid=133973

http://www.kaixin001.com/home/?uid=36131662

http://pic.kaixin001.com.cn/logo/13/16/50_36131662_2.jpg

可以看出開(kāi)心網(wǎng)的存儲(chǔ)方式是存儲(chǔ)到幾臺(tái)不同的服務(wù)器上,頭像的地址是根據(jù)用戶的id去劃分目錄做的存儲(chǔ),id的前4位被分成兩個(gè)目錄,文件名用的是包含前綴+用戶id+后綴的方式做的存儲(chǔ)。
2. 如下是兩對(duì)sina的空間地址,和博客頭像的地址

http://space.sina.com.cn/u/1642511512

http://portrait1.sinaimg.cn/1642511512/blog/180

http://space.sina.com.cn/u/1725778305

http://portrait2.sinaimg.cn/1725778305/blog/180

Sina博客頭像的存儲(chǔ)方式和開(kāi)心不同,是用戶id做一級(jí)目錄,然后加上blog(應(yīng)該是應(yīng)用的名字)再加上一個(gè)數(shù)字180(猜想可能是頭像類型的數(shù)字);sina和開(kāi)心的區(qū)別是沒(méi)有圖片擴(kuò)展名,猜想它可能是把頭像放到了一個(gè)鍵值對(duì)的數(shù)據(jù)庫(kù)中,根據(jù)url參數(shù)從鍵值對(duì)數(shù)據(jù)庫(kù)中取出頭像的圖片數(shù)據(jù),然后輸出給客戶端

從上面的分析可以猜想開(kāi)心可能是直接存的文件,而sina可能存儲(chǔ)在鍵值對(duì)數(shù)據(jù)庫(kù)中,如果數(shù)據(jù)量很大的話,應(yīng)該是新浪的方式根據(jù)伸縮性。

最后我們還得提一下為我們提供服務(wù)的博客園的存儲(chǔ)方式,如下地址:

http://pic.cnblogs.com/face/u15230.jpg

http://pic.cnblogs.com/face/u105416.png

http://pic.cnblogs.com/face/u40200.png

很簡(jiǎn)單直觀應(yīng)該是放到了一個(gè)目錄下,直接用戶id做的文件名,沒(méi)有分目錄結(jié)構(gòu),這樣在文件夾中文件過(guò)多時(shí)是否會(huì)引起性能問(wèn)題呢?

標(biāo)簽:山南 內(nèi)蒙古 定州 巴彥淖爾 宜賓 日照 防城港 96

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《網(wǎng)站開(kāi)發(fā)中的文件存儲(chǔ)目錄結(jié)構(gòu)的探討》,本文關(guān)鍵詞  網(wǎng)站開(kāi)發(fā),中的,文件,存儲(chǔ),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《網(wǎng)站開(kāi)發(fā)中的文件存儲(chǔ)目錄結(jié)構(gòu)的探討》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于網(wǎng)站開(kāi)發(fā)中的文件存儲(chǔ)目錄結(jié)構(gòu)的探討的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    峨眉山市| 鹰潭市| 平谷区| 溆浦县| 凤凰县| 西畴县| 罗江县| 湖南省| 隆昌县| 金山区| 独山县| 萨嘎县| 富阳市| 潼关县| 玉环县| 锡林郭勒盟| 宁南县| 抚顺县| 玛曲县| 绥棱县| 天柱县| 沙河市| 大庆市| 浦城县| 万宁市| 永宁县| 绥阳县| 沁水县| 陵川县| 桦甸市| 芷江| 周至县| 福贡县| 揭阳市| 永修县| 体育| 资溪县| 贺兰县| 灌南县| 隆安县| 蒙自县|