專利名稱:一種海量小文件的存儲裝置的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及一種文件存儲裝置,特別是一種海量小文件的存儲裝置,屬于計 算機網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
在網(wǎng)絡(luò)服務(wù)領(lǐng)域,尤其是提供了照片托管服務(wù)的網(wǎng)絡(luò)服務(wù),存在大量的小文件操 作。小文件是指文件大小在512K (512K字節(jié),IK字節(jié)=1024字節(jié)=1024*8比特)以內(nèi)的由 用戶上傳的文件。這里的小文件,不僅僅是從尺寸上而言的,而是從功能上也有限定,比如 程序文件、系統(tǒng)資源文件,盡管尺寸在小文件的范圍之內(nèi),也不是本文討論范圍之內(nèi)的小文 件。僅僅是用戶通過上傳產(chǎn)生的頭像、照片、日記附加照片等文件,才是小文件。在傳統(tǒng)的 技術(shù)中,從文件的上傳到存儲以及存儲到分發(fā),以及備份,用的都是簡單的網(wǎng)絡(luò)文件復(fù)制方 式。這種簡單的網(wǎng)絡(luò)文件復(fù)制方式,在訪問壓力小的壓力下,尚且可行,只要訪問壓力稍大, 服務(wù)器的資源就會被大量的網(wǎng)絡(luò)復(fù)制進程所占用,因為每傳輸一個文件,不但整個過程需 要經(jīng)歷建立連接等操作,而且,在客戶端和服務(wù)器端,都得啟動一個文件復(fù)制進程,在多的 時候,不但傳輸速度會大幅下降。而且會導(dǎo)致服務(wù)器資源最后被用光,甚至導(dǎo)致本文件服務(wù) 或者其他不相干服務(wù)也受到影響。在傳統(tǒng)地技術(shù)實現(xiàn)中,對于這種小文件的備份方式是全 目錄備份,全目錄備份一次往往需要比較長時間,并且產(chǎn)生了很多無效的備份操作。以Linux操作系統(tǒng)的操作為例,在傳統(tǒng)的存儲系統(tǒng)中,文件上傳到中轉(zhuǎn)服務(wù)器之 后,一般由中轉(zhuǎn)服務(wù)器的程序,啟動一個rsync進程,由rsync本地文件到存儲服務(wù)器。存 儲服務(wù)器在接收文件時,也要啟動一個到幾個rsync進程來接收文件。如果同時有多個文 件,從不同的中轉(zhuǎn)服務(wù)器傳到存儲,就會導(dǎo)致存儲服務(wù)器上啟動大量進程,占用大量資源, 處理能力急劇下降。甚至導(dǎo)致服務(wù)器不能響應(yīng)更多的連接請求。
實用新型內(nèi)容本實用新型的目的在于,提供一種海量小文件的存儲裝置。它可以解決小文件傳 輸存儲過程中占用大量系統(tǒng)資源、影響其他服務(wù)的問題。本實用新型的技術(shù)方案一種海量小文件的存儲裝置,其特征在于,它包括在網(wǎng)頁頁面上設(shè)有上傳入口的上傳模塊;中轉(zhuǎn)服務(wù)器,用于存儲上傳文件后發(fā)送文件至存儲服務(wù)器;存儲服務(wù)器,用于存儲上傳文件;緩存服務(wù)器,分發(fā)存儲服務(wù)器上的文件時,用于緩存文件;備份服務(wù)器,用于備份存儲服務(wù)器上的更新文件。前述的海量小文件的存儲裝置中,所述中轉(zhuǎn)服務(wù)器上設(shè)有接收模塊,用于響應(yīng)用戶的上傳請求,并接收用戶數(shù)據(jù);校驗?zāi)K,用于校驗上傳文件的合法性;[0015]存儲模塊,在校驗?zāi)K對文件的合法性進行校驗之后,結(jié)合上傳者的身份信息,訪 問應(yīng)該保存此文件的存儲服務(wù)器上的存儲服務(wù),將此文件連同相關(guān)的元數(shù)據(jù)信息發(fā)給該存 儲服務(wù),進而進行存儲。前述的海量小文件的存儲裝置中,所述緩存服務(wù)器上設(shè)有辨識模塊,用于辨識用戶請求文件是否在緩存服務(wù)器中;緩存模塊,用于緩存存儲服務(wù)器分發(fā)的文件數(shù)據(jù)并輸出給用戶。前述的海量小文件的存儲裝置中,所述存儲服務(wù)器上還設(shè)有監(jiān)控模塊,用于監(jiān)控 存儲服務(wù)器中存儲文件的變化,并將發(fā)生變化的文件名記錄成文件列表。前述的海量小文件的存儲裝置中,所述備份服務(wù)器上設(shè)有列表獲取模塊,用于定 期去取得監(jiān)控模塊獲得的文件列表,將發(fā)生變化的文件從存儲服務(wù)器取到備份服務(wù)器的相 應(yīng)目錄下。與現(xiàn)有技術(shù)相比,本實用新型的中轉(zhuǎn)服務(wù)器和緩存服務(wù)器,在上傳和分發(fā)文件時 可以避免使用網(wǎng)絡(luò)文件復(fù)制方式,從而避免了在網(wǎng)絡(luò)訪問壓力較大時服務(wù)器的資源被大量 的網(wǎng)絡(luò)復(fù)制進程所占用,因此上傳和分發(fā)的傳輸速度比較快。存儲服務(wù)器端也無須啟動任 何新進程來處理。在存儲上的文件更新發(fā)生變化時,通過監(jiān)控模塊監(jiān)控存儲文件的變化; 將發(fā)生變化的文件從存儲服務(wù)器取到備份服務(wù)器的相應(yīng)目錄下。而對沒有發(fā)生變化的文 件,就可以不做備份。從而,大大提高了備份的效率。在傳統(tǒng)的技術(shù)中,一般是全目錄同步備 份,或者是在中轉(zhuǎn)服務(wù)器就往多個地方,分發(fā)文件。全目錄備份速度相當慢,以20,000,000 個較小文件為例,1個文件平均為101(,20,000,000個文件,占用空間2006。全目錄備份,需 要至少12個小時。這么長的時間,其實大部分操作都浪費在根本沒有變化的目錄列表對比 分析上面了,不但是對資源的浪費,而且實時性很差,比如遇到主庫當機。那么備份庫當主 庫用,這時,數(shù)據(jù)相差至少半天以上,這也是不理想的。而在本實用新型中,備份服務(wù)器工作 時,只備份真正更新過的文件,直截了當。這樣備份數(shù)據(jù)與主庫的數(shù)據(jù)相差只差5分鐘以內(nèi) 的數(shù)據(jù)。而在本實用新型之前,用的全目錄備份,這樣主庫和備份庫差半天數(shù)據(jù),如果主庫 出問題,啟用備份庫,主庫跟備份庫數(shù)據(jù)是不一致的,導(dǎo)致用戶最近半天的修改全部沒有記 錄下來。
圖1是本實用新型的結(jié)構(gòu)示意圖;圖2是本實用新型實施例的上傳工作流程圖;圖3是本實用新型實施例的備份工作流程圖;圖4是本實用新型實施例的分發(fā)工作流程圖。附圖中的標記1-上傳模塊,2-中轉(zhuǎn)服務(wù)器,3-存儲服務(wù)器,4-緩存服務(wù)器,5-備 份服務(wù)器,6-接收模塊,7-校驗?zāi)K,8-存儲模塊,9-辨識模塊,10-緩存模塊,11-監(jiān)控模 塊,12-列表獲取模塊。
具體實施方式
以下結(jié)合附圖和實施例對本實用新型作進一步的說明,但并不作為對本實用新型 限制的依據(jù)。實施例一種海量小文件的存儲裝置,結(jié)構(gòu)如圖1所示,它包括在網(wǎng)頁頁面上設(shè)有上傳入口的上傳模塊1 ;中轉(zhuǎn)服務(wù)器2,用于存儲上傳文件后發(fā)送文件至存儲服務(wù)器3 ;存儲服務(wù)器3,用于存儲上傳文件;緩存服務(wù)器4,分發(fā)存儲服務(wù)器3上的文件時,用于緩存文件;備份服務(wù)器5,用于備份存儲服務(wù)器3上的更新文件。所述中轉(zhuǎn)服務(wù)器2上設(shè)有接收模塊6,用于響應(yīng)用戶的上傳請求,并接收用戶數(shù)據(jù);校驗?zāi)K7,用于校驗上傳文件的合法性;存儲模塊8,在校驗?zāi)K7對文件的合法性進行校驗之后,結(jié)合上傳者的身份信 息,訪問應(yīng)該保存此文件的存儲服務(wù)器3上的存儲服務(wù),將此文件連同相關(guān)的元數(shù)據(jù)信息 發(fā)給該存儲服務(wù),進而進行存儲。所述緩存服務(wù)器4上設(shè)有辨識模塊9,用于辨識用戶請求文件是否在緩存服務(wù)器4中;緩存模塊10,用于緩存存儲服務(wù)器3分發(fā)的文件數(shù)據(jù)并輸出給用戶。所述存儲服務(wù)器3上還設(shè)有監(jiān)控模塊11,用于監(jiān)控存儲服務(wù)器3中存儲文件的變 化,并將發(fā)生變化的文件名記錄成文件列表。所述備份服務(wù)器5上設(shè)有列表獲取模塊12,用于定期去取得監(jiān)控模塊11獲得的文 件列表,將發(fā)生變化的文件從存儲服務(wù)器3取到備份服務(wù)器5的相應(yīng)目錄下。本實用新型的上傳工作流程(如圖2)步驟S101,用戶請求上傳文件;步驟S102,中轉(zhuǎn)服務(wù)器2的接收模塊6接收文件;步驟S103,中轉(zhuǎn)服務(wù)器2的校驗?zāi)K7校驗文件是否合法;步驟S104,如果文件不合法,返回出錯,在界面上提示給用戶;步驟S105,如果文件合法,則將文件發(fā)送至存儲服務(wù)器3進行存儲。本實用新型的備份工作流程(如圖3)步驟S201,監(jiān)控模塊11監(jiān)控存儲服務(wù)器3中的存儲文件的變化,并將發(fā)生變化的 文件名記錄成文件列表;步驟S202,備份服務(wù)器5的列表獲取模塊12定時向存儲服務(wù)器獲取變化的文件 列表;步驟S203,備份服務(wù)器5根據(jù)文件列表備份變化的文件。本實用新型的分發(fā)工作流程(如圖4)步驟S301,用戶向緩存服務(wù)器請求分發(fā)(下載)文件;步驟S302,辨識模塊9辨識所請求文件是否在緩存服務(wù)器4中;步驟S303,如果文件在緩存服務(wù)器4中,緩存服務(wù)器4直接向用戶輸出該文件;步驟S304,如果文件不在緩存服務(wù)器4,則由緩存服務(wù)器4的緩存模塊10向存儲 服務(wù)器3的存儲服務(wù)請求下載此文件,存儲服務(wù)根據(jù)需求,直接輸出此文件至緩存服務(wù)器;
5[0058] 步驟S305,緩存服務(wù)器4向用戶輸出文件。
權(quán)利要求一種海量小文件的存儲裝置,其特征在于,它包括在網(wǎng)頁頁面上設(shè)有上傳入口的上傳模塊(1);中轉(zhuǎn)服務(wù)器(2),用于存儲上傳文件后發(fā)送文件至存儲服務(wù)器(3);存儲服務(wù)器(3),用于存儲上傳文件;緩存服務(wù)器(4),分發(fā)存儲服務(wù)器(3)上的文件時,用于緩存文件;備份服務(wù)器(5),用于備份存儲服務(wù)器(3)上的更新文件。
2.根據(jù)權(quán)利要求1所述的海量小文件的存儲裝置,其特征在于所述中轉(zhuǎn)服務(wù)器(2)上設(shè)有接收模塊(6),用于響應(yīng)用戶的上傳請求,并接收用戶數(shù)據(jù); 校驗?zāi)K(7),用于校驗上傳文件的合法性;存儲模塊(8),在校驗?zāi)K(7)對文件的合法性進行校驗之后,結(jié)合上傳者的身份信 息,訪問應(yīng)該保存此文件的存儲服務(wù)器(3)上的存儲服務(wù),將此文件連同相關(guān)的元數(shù)據(jù)信息 發(fā)給該存儲服務(wù),進而進行存儲。
3.根據(jù)權(quán)利要求1所述的海量小文件的存儲裝置,其特征在于所述緩存服務(wù)器(4)上設(shè)有辨識模塊(9),用于辨識用戶請求文件是否在緩存服務(wù)器(4)中; 緩存模塊(10),用于緩存存儲服務(wù)器(3)分發(fā)的文件數(shù)據(jù)并輸出給用戶。
4.根據(jù)權(quán)利要求1所述的海量小文件的存儲裝置,其特征在于所述存儲服務(wù)器(3)上 還設(shè)有監(jiān)控模塊(11),用于監(jiān)控存儲服務(wù)器(3)中存儲文件的變化,并將發(fā)生變化的文件 名記錄成文件列表。
5.根據(jù)權(quán)利要求1所述的海量小文件的存儲裝置,其特征在于所述備份服務(wù)器(5)上 設(shè)有列表獲取模塊(12),用于定期去取得監(jiān)控模塊(11)獲得的文件列表,將發(fā)生變化的文 件從存儲服務(wù)器(3 )取到備份服務(wù)器(5 )的相應(yīng)目錄下。
專利摘要本實用新型公開了一種海量小文件的存儲裝置,其特征在于,它包括在網(wǎng)頁頁面上設(shè)有上傳入口的上傳模塊(1);中轉(zhuǎn)服務(wù)器(2),用于存儲上傳文件后發(fā)送文件至存儲服務(wù)器(3);存儲服務(wù)器(3),用于存儲上傳文件;緩存服務(wù)器(4),分發(fā)存儲服務(wù)器(3)上的文件時,用于緩存文件;備份服務(wù)器(5),用于備份存儲服務(wù)器(3)上的更新文件。本實用新型可以解決小文件傳輸存儲過程中占用大量系統(tǒng)資源、影響其他服務(wù)的問題。
文檔編號G06F17/30GK201654784SQ201020205750
公開日2010年11月24日 申請日期2010年5月27日 優(yōu)先權(quán)日2010年5月27日
發(fā)明者伍星, 熊家貴 申請人:開心人網(wǎng)絡(luò)科技(北京)有限公司