本發(fā)明涉及圖片存儲領(lǐng)域,尤其是一種基于web的圖片分布式存儲系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,許多大中型的網(wǎng)站都保存了大量的圖片資源,用戶在訪問這些圖片資源異常豐富的網(wǎng)站時,網(wǎng)頁中的圖片信息占據(jù)了頁面數(shù)據(jù)流量的很大部分,從而出現(xiàn)以下問題:
1、由于受客戶端瀏覽器限制,無法從一臺服務(wù)器上同時下載頁面中所有圖片信息;
2、由于圖片保存在物理服務(wù)器上,訪問圖片需要頻繁進(jìn)行i/o操作:因此當(dāng)并發(fā)用戶數(shù)越來越多時,i/o操作就會成為整個系統(tǒng)的性能瓶頸;
3、由于受操作系統(tǒng)的限制,一個目錄中能存放的圖片文件數(shù)量也是有限的:隨著圖片資源不斷增加,如何有效管理和維護(hù)圖片也是一個難題。
對于少數(shù)大型網(wǎng)站系統(tǒng),由于自身具有雄厚的資金和人力資源,可采用nfs、cdn、lighttpd、反向代理、負(fù)載均衡等技術(shù)提高用戶訪問速度,但是,這些技術(shù)需要龐大的資金來支持。
對于小型網(wǎng)站,由于數(shù)據(jù)規(guī)模小,可以把網(wǎng)站所有頁面和圖片統(tǒng)一存放在一個主目錄下,這樣的網(wǎng)站對系統(tǒng)架構(gòu)、性能要求都很簡單。但大中型網(wǎng)站都保存有海量級的圖片文件,所采用的技術(shù)更是涉及廣泛,從硬件到軟件、編程語言、數(shù)據(jù)庫、web服務(wù)器、防火墻等各個領(lǐng)域都有較高要求。因此,有必要設(shè)立單獨(dú)的圖片服務(wù)器來專門存放圖片,把圖片數(shù)據(jù)的流量從web服務(wù)器上分離開,這樣的架構(gòu)可以有效緩解web服務(wù)器的i/o性能瓶頸,提升用戶的訪問速度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的發(fā)明目的在于:針對上述存在的問題,提供一種適用于中等規(guī)模商務(wù)網(wǎng)站的海量圖片數(shù)據(jù)分布式動態(tài)存儲及負(fù)載均衡的基于web的圖片分布式存儲系統(tǒng),只需增加很少的
硬件成本,即可提升網(wǎng)站的訪問速度,并且可以根據(jù)需要動態(tài)調(diào)整圖片服務(wù)器的數(shù)量及圖片的存儲目錄,確保系統(tǒng)具有可擴(kuò)展性和伸縮性。
本發(fā)明采用的技術(shù)方案如下:
本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),包括客戶端、地址分析服務(wù)器、web服務(wù)器集群、數(shù)據(jù)庫接口映射服務(wù)器和圖片服務(wù)器集群;所述客戶端,用于接收該頁面并根據(jù)頁面中的圖片url路徑自動從不同的圖片服務(wù)器下載并顯示相應(yīng)圖片;所述地址分析服務(wù)器,用于對圖片服務(wù)集群中的圖片服務(wù)器進(jìn)行監(jiān)控,動態(tài)的返回最優(yōu)的ip地址給調(diào)用者;所述web服務(wù)器集群部署網(wǎng)站的web頁面,用于響應(yīng)客戶端用戶的請求;所述數(shù)據(jù)庫接口映射服務(wù)器,用于記錄所有圖片的編號以及圖片的存放位置等信息,同時需要記錄所有圖片服務(wù)器的配置及當(dāng)前狀態(tài)信息;所述圖片服務(wù)器集群,用于存放網(wǎng)站的所有圖片信息。
以上結(jié)構(gòu)中地址分析服務(wù)器的設(shè)置可以實(shí)現(xiàn)一個企業(yè)中如果有多個系統(tǒng)要使用圖片的分布式存儲,只需要調(diào)用映射服務(wù)接口即可,不需要再重新編寫代碼實(shí)現(xiàn);提高代碼通用性和復(fù)用性,減少代碼量。
本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),所述web服務(wù)器集群響應(yīng)客戶端用戶的請求的方法:當(dāng)用戶瀏覽網(wǎng)頁時,web服務(wù)器響應(yīng)請求并訪問數(shù)據(jù)庫接口映射服務(wù)器,獲得網(wǎng)頁中所有圖片的url路徑,然后生成頁面并返回給客戶端。
本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),還包括基于web的圖片分布式存儲方法;所述基于web的圖片分布式存儲方法為:s1:客戶端通過瀏覽器訪問網(wǎng)站url地址;s2:url通過dns解析和地址映射,從web服務(wù)器集群中訪問站點(diǎn),服務(wù)器根據(jù)數(shù)據(jù)庫接口映射服務(wù)獲取真實(shí)存儲圖片的地址,并獲取到圖片資源,顯示到瀏覽器,返回給客戶端;s3:用戶在客戶端上傳圖片,根據(jù)數(shù)據(jù)庫接口映射服務(wù)器找到可用性高的圖片服務(wù)器,然后將圖片上傳至圖片服務(wù)器,并記錄到數(shù)據(jù)庫接口映射服務(wù)器中。
本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),所述圖片采用base64編碼,直接存儲到圖片服務(wù)器集群中。
原來的圖片存儲系統(tǒng)直接存儲圖片文件到服務(wù)器目錄中,數(shù)據(jù)庫中記錄文件的物理路徑地址;而本發(fā)明將圖片采用base64編碼,直接存儲到圖片服務(wù)器集群中,而不是直接存儲圖片文件;當(dāng)服務(wù)器出現(xiàn)故障時遷移網(wǎng)站非常方便,不用去拷貝圖片文件,因?yàn)樵诜?wù)器之間拷貝超過g容量的圖片文件會非常慢并且一旦數(shù)據(jù)丟失,將很難恢復(fù),采用數(shù)據(jù)庫編碼后存儲可以更好的解決這一問題,當(dāng)數(shù)量達(dá)到一定程度,只需要新添加庫即可。
本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),所述數(shù)據(jù)庫接口映射服務(wù)器中設(shè)有圖片服務(wù)器配置映射表。
綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
1、本發(fā)明的圖片分布式存儲系統(tǒng)可以在不增加服務(wù)器硬件的情況下最大限度利用服務(wù)器資源,降低企業(yè)軟件成本;只需增加很少的硬件成本,即可提升網(wǎng)站的訪問速度,并且可以根據(jù)需要動態(tài)調(diào)整圖片服務(wù)器的數(shù)量及圖片的存儲目錄,確保系統(tǒng)具有可擴(kuò)展性和伸縮性。
2、本發(fā)明的圖片分布式存儲系統(tǒng)可以有效減低網(wǎng)絡(luò)io,提高web系統(tǒng)的效應(yīng)效率。
3、通過分布式技術(shù),降低圖片保存失敗的幾率,提高瀏覽器瀏覽圖片的速度。
4、將web服務(wù)器和圖片服務(wù)器分離,減低系統(tǒng)之間的耦合性,減少關(guān)聯(lián)和依賴。
附圖說明
本發(fā)明將通過例子并參照附圖的方式說明,其中:
圖1是本發(fā)明一種基于web的圖片分布式存儲系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
本說明書(包括任何附加權(quán)利要求、摘要)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。
如圖1,本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),包括客戶端、地址分析服務(wù)器、web服務(wù)器集群、數(shù)據(jù)庫接口映射服務(wù)器和圖片服務(wù)器集群;所述客戶端,用于接收該頁面并根據(jù)頁面中的圖片url路徑自動從不同的圖片服務(wù)器下載并顯示相應(yīng)圖片;所述地址分析服務(wù)器,用于對圖片服務(wù)集群中的圖片服務(wù)器進(jìn)行監(jiān)控,動態(tài)的返回最優(yōu)的ip地址給調(diào)用者;所述web服務(wù)器集群部署網(wǎng)站的web頁面,用于響應(yīng)客戶端用戶的請求;所述數(shù)據(jù)庫接口映射服務(wù)器,用于記錄所有圖片的編號以及圖片的存放位置等信息,同時需要記錄所有圖片服務(wù)器的配置及當(dāng)前狀態(tài)信息;所述圖片服務(wù)器集群,用于存放網(wǎng)站的所有圖片信息。
以上結(jié)構(gòu)中地址分析服務(wù)器的設(shè)置可以實(shí)現(xiàn)一個企業(yè)中如果有多個系統(tǒng)要使用圖片的分布式存儲,只需要調(diào)用映射服務(wù)接口即可,不需要再重新編寫代碼實(shí)現(xiàn);提高代碼通用性和復(fù)用性,減少代碼量。
本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),所述web服務(wù)器集群響應(yīng)客戶端用戶的請求的方法:當(dāng)用戶瀏覽網(wǎng)頁時,web服務(wù)器響應(yīng)請求并訪問數(shù)據(jù)庫接口映射服務(wù)器,獲得網(wǎng)頁中所有圖片的url路徑,然后生成頁面并返回給客戶端。
本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),還包括基于web的圖片分布式存儲方法;所述基于web的圖片分布式存儲方法為:s1:客戶端通過瀏覽器訪問網(wǎng)站url地址;s2:url通過dns解析和地址映射,從web服務(wù)器集群中訪問站點(diǎn),服務(wù)器根據(jù)數(shù)據(jù)庫接口映射服務(wù)獲取真實(shí)存儲圖片的地址,并獲取到圖片資源,顯示到瀏覽器,返回給客戶端;s3:用戶在客戶端上傳圖片,根據(jù)數(shù)據(jù)庫接口映射服務(wù)器找到可用性高的圖片服務(wù)器,然后將圖片上傳至圖片服務(wù)器,并記錄到數(shù)據(jù)庫接口映射服務(wù)器中。
本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),所述圖片采用base64編碼,直接存儲到圖片服務(wù)器集群中。
原來的圖片存儲系統(tǒng)直接存儲圖片文件到服務(wù)器目錄中,數(shù)據(jù)庫中記錄文件的物理路徑地址;而本發(fā)明將圖片采用base64編碼,直接存儲到圖片服務(wù)器集群中,而不是直接存儲圖片文件;當(dāng)服務(wù)器出現(xiàn)故障時遷移網(wǎng)站非常方便,不用去拷貝圖片文件,因?yàn)樵诜?wù)器之間拷貝超過g容量的圖片文件會非常慢并且一旦數(shù)據(jù)丟失,將很難恢復(fù),采用數(shù)據(jù)庫編碼后存儲可以更好的解決這一問題,當(dāng)數(shù)量達(dá)到一定程度,只需要新添加庫即可。
本發(fā)明一種基于web的圖片分布式存儲系統(tǒng),所述數(shù)據(jù)庫接口映射服務(wù)器中設(shè)有圖片服務(wù)器配置映射表。
本發(fā)明并不局限于前述的具體實(shí)施方式。本發(fā)明擴(kuò)展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。