分布式文件存儲和查詢方法及存取系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種分布式文件存儲和查詢方法及存取系統(tǒng),所述分布式文件存儲方法,包括:向服務(wù)器上傳打包文件,所述打包文件包括原始文件和對所述原始文件進行描述的描述文件;所述服務(wù)器對所述打包文件進行解壓,并對解壓出的所述描述文件進行解析,以解析出所述描述文件的描述內(nèi)容;所述服務(wù)器將解壓出的所述原始文件傳輸?shù)椒植际轿募到y(tǒng);所述分布式文件系統(tǒng)向所述服務(wù)器返回所述原始文件存儲的網(wǎng)絡(luò)地址;所述服務(wù)器將所述原始文件存儲的網(wǎng)絡(luò)地址和解析出的所述描述內(nèi)容傳輸?shù)椒植际綌?shù)據(jù)庫。由此,可以對存儲的文件進行內(nèi)容的分類和檢索,實現(xiàn)了存儲的數(shù)據(jù)與現(xiàn)有業(yè)務(wù)數(shù)據(jù)的結(jié)合。
【專利說明】 分布式文件存儲和查詢方法及存取系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機存儲【技術(shù)領(lǐng)域】,具體涉及一種分布式文件存儲和查詢方法及存取系統(tǒng)。
【背景技術(shù)】
[0002]分布式文件存儲是對普通的文件系統(tǒng)的擴展,通過水平增加機器來實現(xiàn)數(shù)據(jù)的多點備份和存儲容量的擴充。但是僅僅實現(xiàn)靜態(tài)文件的存儲而不可以對存儲的內(nèi)容進行一個宏觀的控制和分類在現(xiàn)在這個大數(shù)據(jù)時代是有很大的局限性的。
[0003]隨著移動互聯(lián)網(wǎng)時代的到來,互聯(lián)網(wǎng)應(yīng)用由原來的瀏覽器為客戶端的應(yīng)用變成了多平臺多終端的模式,如手機客戶端、Pad客戶端等。這些終端產(chǎn)生的數(shù)據(jù)如果放在本地易丟失也不易跨終端訪問和查看,這樣的數(shù)據(jù)查看有很大的狹隘性,將這些數(shù)據(jù)全部放在服務(wù)端存儲可以解決以上的局限。但是,隨著用戶和應(yīng)用功能的增大,又會存在產(chǎn)生的數(shù)據(jù)的存儲問題。一臺服務(wù)器的存儲容量有限,如果存滿了就需要不停的加磁盤,如果機器硬件或者網(wǎng)絡(luò)發(fā)生故障,就無法訪問服務(wù)器,從而導(dǎo)致用戶體驗太差。
[0004]對于以上的存儲問題,現(xiàn)有技術(shù)中提出了很多解決辦法,比如用多臺機器進行文件的備份和增加存儲節(jié)點的方式來擴容,這種文件存儲系統(tǒng)業(yè)內(nèi)已經(jīng)有很多成熟的應(yīng)用,比如HDFS、FastDFS,MooseFS, KFS等,他們都可以實現(xiàn)文件存儲服務(wù)的高可用和高容量,但是這樣的文件存儲可擴展性不強,雖然可以存儲大量文件,但是對存儲的文件進行內(nèi)容的分類和檢索有很大的局限性;并且所存儲的數(shù)據(jù)和現(xiàn)有的業(yè)務(wù)數(shù)據(jù)很難進行結(jié)合。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題之一是對存儲的文件進行內(nèi)容的分類和檢索有很大的局限性。
[0006]為此目的,本發(fā)明提出了一種分布式文件存儲方法,包括:向服務(wù)器上傳打包文件,所述打包文件包括原始文件和對所述原始文件進行描述的描述文件;所述服務(wù)器對所述打包文件進行解壓,并對解壓出的所述描述文件進行解析,以解析出所述描述文件的描述內(nèi)容;所述服務(wù)器將解壓出的所述原始文件傳輸?shù)椒植际轿募到y(tǒng);所述分布式文件系統(tǒng)向所述服務(wù)器返回所述原始文件存儲的網(wǎng)絡(luò)地址;所述服務(wù)器將所述原始文件存儲的網(wǎng)絡(luò)地址和解析出的所述描述內(nèi)容傳輸?shù)椒植际綌?shù)據(jù)庫。
[0007]優(yōu)選地,當(dāng)所述分布式文件系統(tǒng)配置為多節(jié)點存儲時,所述服務(wù)器將解壓出的所述原始文件傳輸?shù)椒植际轿募到y(tǒng)以及所述分布式文件系統(tǒng)向所述服務(wù)器返回所述原始文件存儲的網(wǎng)絡(luò)地址包括:所述服務(wù)器向多節(jié)點存儲的所述分布式文件系統(tǒng)發(fā)送存儲指令;所述分布式文件系統(tǒng)根據(jù)容量和/或帶寬,向所述服務(wù)器發(fā)送用于存儲所述原始文件的存儲節(jié)點的信息;所述服務(wù)器將所述原始文件傳輸?shù)椒植际轿募到y(tǒng)的該存儲節(jié)點內(nèi),以進行存儲;所述分布式文件系統(tǒng)向所述服務(wù)器返回所述原始文件存儲的存儲節(jié)點及所述存儲節(jié)點內(nèi)的網(wǎng)絡(luò)地址。
[0008]優(yōu)選地,當(dāng)所述分布式數(shù)據(jù)庫配置為多節(jié)點記錄時,所述服務(wù)器將所述原始文件存儲的網(wǎng)絡(luò)地址和解析出的所述描述內(nèi)容傳輸?shù)椒植际綌?shù)據(jù)庫包括:所述服務(wù)器向多節(jié)點記錄的所述分布式數(shù)據(jù)庫發(fā)送記錄指令;所述分布式數(shù)據(jù)庫根據(jù)容量和/或帶寬,向所述服務(wù)器發(fā)送用于存儲所述原始文件存儲的網(wǎng)絡(luò)地址和解析出的描述內(nèi)容的記錄節(jié)點的信息;所述服務(wù)器將用于存儲所述原始文件存儲的網(wǎng)絡(luò)地址和解析出的描述內(nèi)容記錄在所述分布式數(shù)據(jù)庫的所述記錄節(jié)點內(nèi)。
[0009]本發(fā)明還公開了一種分布式文件查詢方法,包括:向服務(wù)器發(fā)送查詢條件;所述服務(wù)器根據(jù)接收到的查詢條件,向分布式數(shù)據(jù)庫發(fā)送查詢請求,以對所述分布式數(shù)據(jù)庫內(nèi)存儲的原始文件的描述內(nèi)容進行檢索;所述分布式數(shù)據(jù)庫根據(jù)所述查詢請求從分布式文件系統(tǒng)索取所請求的原始文件存儲的網(wǎng)絡(luò)地址并向所述服務(wù)器返回檢索結(jié)果;所述服務(wù)器返回所述檢索結(jié)果;對所述檢索結(jié)果進行解析,從所述分布式文件系統(tǒng)獲取所請求的原始文件。
[0010]優(yōu)選地,當(dāng)所述分布式數(shù)據(jù)庫配置為多節(jié)點記錄時,所述分布式數(shù)據(jù)庫根據(jù)所述查詢請求從分布式文件系統(tǒng)索取所請求的原始文件存儲的網(wǎng)絡(luò)地址并向所述服務(wù)器返回檢索結(jié)果包括:所述分布式數(shù)據(jù)庫根據(jù)所述查詢請求從記錄有所述描述內(nèi)容的記錄節(jié)點中選擇帶寬較大的記錄節(jié)點來執(zhí)行所述查詢請求;所述分布式數(shù)據(jù)庫內(nèi)所述帶寬較大的記錄節(jié)點從所述分布式文件系統(tǒng)索取所請求的原始文件存儲的網(wǎng)絡(luò)地址并向所述服務(wù)器返回檢索結(jié)果。
[0011]優(yōu)選地,當(dāng)所述分布式文件系統(tǒng)配置為多節(jié)點存儲時,所述分布式數(shù)據(jù)庫根據(jù)所述查詢請求從分布式文件系統(tǒng)索取所請求的原始文件存儲的網(wǎng)絡(luò)地址并向所述服務(wù)器返回檢索結(jié)果包括:所述分布式文件系統(tǒng)在存儲有所請求的原始文件的存儲節(jié)點中選擇帶寬較大的存儲節(jié)點,并將所述存儲節(jié)點和所述存儲節(jié)點內(nèi)所請求的原始文件的網(wǎng)絡(luò)地址發(fā)送回所述分布式數(shù)據(jù)庫;所述分布式數(shù)據(jù)庫將檢索結(jié)果返回給所述服務(wù)器;并且,從所述分布式文件系統(tǒng)獲取所請求的原始文件包括:從所述分布式文件系統(tǒng)的所述帶寬較大的存儲節(jié)點內(nèi)的所請求的原始文件的網(wǎng)絡(luò)地址獲取所請求的原始文件。
[0012]優(yōu)選地,所述查詢條件是所請求的原始文件的名稱、修改時間、上傳時間、原始文件大小、原始文件類型中的至少一項。
[0013]本發(fā)明還公開了一種分布式文件存取系統(tǒng),包括:客戶端、服務(wù)器、分布式文件系統(tǒng)和分布式數(shù)據(jù)庫,其中:所述客戶端用于向所述服務(wù)器上傳打包文件,所述打包文件包括原始文件和對所述原始文件進行描述的描述文件;所述服務(wù)器,用于對接收到的所述打包文件進行解壓,對所述描述文件進行解析,以解析出所述描述文件的描述內(nèi)容,將解壓出的原始文件傳輸?shù)椒植际轿募到y(tǒng);并將分布式文件系統(tǒng)發(fā)來的所述原始文件存儲的網(wǎng)絡(luò)地址以及解析出的所述描述內(nèi)容傳輸?shù)椒植际綌?shù)據(jù)庫;所述分布式文件系統(tǒng)用于存儲所述服務(wù)器傳輸?shù)乃鲈嘉募?,并將所述原始文件存儲的網(wǎng)絡(luò)地址返回至所述服務(wù)器;所述分布式數(shù)據(jù)庫用于存儲所述服務(wù)器傳輸?shù)乃鲈嘉募鎯Φ木W(wǎng)絡(luò)地址和解析出的所述描述內(nèi)容。
[0014]優(yōu)選地,所述服務(wù)器還用于根據(jù)所述客戶端發(fā)送的查詢條件,向所述分布式數(shù)據(jù)庫發(fā)送查詢請求,以對所述分布式數(shù)據(jù)庫內(nèi)存儲的描述內(nèi)容進行檢索;所述分布式數(shù)據(jù)庫還用于根據(jù)所述查詢請求從所述分布式文件系統(tǒng)索取所請求的原始文件的存儲節(jié)點,并向所述服務(wù)器返回檢索結(jié)果;所述客戶端還用于根據(jù)所述服務(wù)器返回的所述檢索結(jié)果,從所述分布式文件系統(tǒng)獲取所請求的原始文件。
[0015]優(yōu)選地,所述分布式文件系統(tǒng)設(shè)置為多節(jié)點存儲,所述分布式文件系統(tǒng)根據(jù)容量和/或帶寬來選擇存儲節(jié)點進行存儲和/或獲取操作;和/或所述分布式數(shù)據(jù)庫設(shè)置為多節(jié)點記錄。所述分布式數(shù)據(jù)庫根據(jù)容量和/或帶寬來選擇記錄節(jié)點進行記錄和/或查詢操作。
[0016]為了結(jié)合文件存儲實現(xiàn)可擴展的存儲,本發(fā)明基于諸如FastDFS的分布式文件系統(tǒng)和諸如Hbase的分布式數(shù)據(jù)庫的結(jié)合,使用分布式文件系統(tǒng)來存儲原始文件,使用分布式數(shù)據(jù)庫來記錄存儲文件的屬性狀態(tài)等文件附加記錄,這樣同時進行記錄和文件的存儲,使得存儲系統(tǒng)有很好的擴展性,并且可以對存儲的文件進行內(nèi)容的分類和檢索,實現(xiàn)了存儲的數(shù)據(jù)與現(xiàn)有業(yè)務(wù)數(shù)據(jù)的結(jié)合。
【專利附圖】
【附圖說明】
[0017]通過參考附圖會更加清楚的理解本發(fā)明的特征和優(yōu)點,附圖是示意性的而不應(yīng)理解為對本發(fā)明進行任何限制,在附圖中:
[0018]圖1示出了根據(jù)本發(fā)明實施例的分布式文件存儲方法;
[0019]圖2示出了根據(jù)本發(fā)明實施例的分布式文件查詢方法;
[0020]圖3示出了根據(jù)本發(fā)明另一實施例的分布式文件存儲方法;
[0021]圖4示出了根據(jù)本發(fā)明另一實施例的分布式文件查詢方法;
[0022]圖5示出了根據(jù)本發(fā)明實施例的分布式文件存取系統(tǒng)。
【具體實施方式】
[0023]下面將結(jié)合附圖對本發(fā)明的實施例進行詳細描述。
[0024]圖1示出了根據(jù)本發(fā)明實施例的分布式文件存儲方法。如圖1所示,該方法包括如下步驟:
[0025]步驟SlOl:客戶端向服務(wù)器上傳打包文件。
[0026]客戶端可以是網(wǎng)頁、移動終端,其可以通過socket將打包文件傳輸?shù)椒?wù)器,打包文件包括原始文件和對原始文件進行描述的描述文件。
[0027]步驟S102:服務(wù)器在接收到整個打包文件后對其進行解壓,并對解壓出的描述文件進行解析,以解析出描述文件的描述內(nèi)容。
[0028]步驟S103:服務(wù)器將解壓出的原始文件傳輸?shù)椒植际轿募到y(tǒng)(例如,F(xiàn)astDFS)進行存儲。
[0029]優(yōu)選地,分布式文件系統(tǒng)可以設(shè)置為多節(jié)點存儲。多節(jié)點存儲可以解決很多實際應(yīng)用場景遇到的問題,主要解決容量和帶寬問題,例如在當(dāng)前節(jié)點的存儲空間不足時,多節(jié)點存儲可以自動把未存儲的部分存放到其他存儲節(jié)點;在當(dāng)前節(jié)點訪問的用戶過多時,月艮務(wù)會告知客戶端連接其他存儲節(jié)點;還可以將同一文件在奇數(shù)號和偶數(shù)號存儲節(jié)點各放置一份,以防止單節(jié)點故障,從而實現(xiàn)可靠的存儲。
[0030]步驟S104:分布式文件系統(tǒng)向服務(wù)器返回原始文件存儲的網(wǎng)絡(luò)地址。
[0031]分布式文件系統(tǒng)中具有主機,分布式文件系統(tǒng)通過其中的主機將原始文件存儲的網(wǎng)絡(luò)地址傳輸?shù)椒?wù)器。
[0032]步驟S105:服務(wù)器向分布式數(shù)據(jù)庫(例如,Hbase)傳輸原始文件存儲的網(wǎng)絡(luò)地址和解析出的描述內(nèi)容,以便于統(tǒng)計和查找。
[0033]優(yōu)選地,分布式數(shù)據(jù)庫可以設(shè)置為多節(jié)點記錄。多節(jié)點記錄同樣也是解決容量和帶寬問題,以實現(xiàn)可靠的存儲和高效的查詢。
[0034]圖2示出了根據(jù)本發(fā)明實施例的分布式文件查詢方法。如圖2所示,該方法包括如下步驟:
[0035]步驟S201:客戶端向服務(wù)器發(fā)送查詢條件。
[0036]查詢條件可以是所需要請求的原始文件名稱或者其他過濾條件,比如修改時間、上傳時間、原始文件大小、原始文件類型等。
[0037]步驟S202:服務(wù)器根據(jù)接收到的查詢條件,向分布式數(shù)據(jù)庫發(fā)送查詢請求,以對分布式數(shù)據(jù)庫內(nèi)存儲的原始文件的描述內(nèi)容進行檢索。
[0038]步驟S203:分布式數(shù)據(jù)庫根據(jù)查詢請求從分布式文件系統(tǒng)索取所請求的原始文件存儲的網(wǎng)絡(luò)地址,并向服務(wù)器返回檢索結(jié)果。
[0039]步驟S204:服務(wù)器將檢索結(jié)果返回到客戶端。
[0040]優(yōu)選地,服務(wù)器可以將檢索結(jié)果組織成規(guī)范的json串返回到客戶端。
[0041]步驟S205:客戶端解析服務(wù)器返回的檢索結(jié)果,從分布式文件系統(tǒng)獲取所請求的原始文件,以執(zhí)行展示和下載等操作。
[0042]圖3示出了根據(jù)本發(fā)明另一實施例的分布式文件存儲方法。在該存儲方法中,分布式文件系統(tǒng)為多節(jié)點存儲,分布式數(shù)據(jù)庫為多節(jié)點記錄,該方法包括如下步驟:
[0043]步驟S301:客戶端向服務(wù)器上傳打包文件。
[0044]步驟S302:服務(wù)器在接收到整個打包文件后對其進行解壓,并對解壓出的描述文件進行解析,以解析出描述文件的描述內(nèi)容。
[0045]步驟S303:服務(wù)器向多節(jié)點存儲的分布式文件系統(tǒng)發(fā)送存儲指令。
[0046]步驟S304:分布式文件系統(tǒng)根據(jù)容量和/或帶寬,向服務(wù)器發(fā)送用于存儲原始文件的存儲節(jié)點的信息。
[0047]分布式文件系統(tǒng)內(nèi)的主機判斷各個存儲節(jié)點的容量和/或帶寬,從中選取一個或多個存儲節(jié)點。根據(jù)客戶端的需求,當(dāng)存儲的文件比較重要,需要多存儲節(jié)點備份時,選取多個存儲節(jié)點,從而可將同一文件存放在多個存儲節(jié)點內(nèi),以防止單節(jié)點故障,實現(xiàn)可靠的存儲。
[0048]步驟S305:服務(wù)器將原始文件傳輸?shù)椒植际轿募到y(tǒng)的該存儲節(jié)點內(nèi),以進行存儲。
[0049]步驟S306:分布式文件系統(tǒng)向服務(wù)器返回原始文件存儲的該存儲節(jié)點及該存儲節(jié)點內(nèi)的網(wǎng)絡(luò)地址。
[0050]步驟S307:服務(wù)器向多節(jié)點記錄的分布式數(shù)據(jù)庫發(fā)送記錄指令。
[0051]步驟S308:分布式數(shù)據(jù)庫根據(jù)容量和/或帶寬,向服務(wù)器發(fā)送用于存儲原始文件的存儲節(jié)點、該存儲節(jié)點內(nèi)的網(wǎng)絡(luò)地址和解析出的描述內(nèi)容的記錄節(jié)點的信息。
[0052]分布式數(shù)據(jù)庫內(nèi)的主機判斷各個記錄節(jié)點的容量和/或帶寬,從中選取一個或多個記錄節(jié)點。根據(jù)客戶端的需求,當(dāng)存儲的文件比較重要,需要多記錄節(jié)點備份時,選取多個記錄節(jié)點,從而可將同一信息記錄在多個記錄節(jié)點內(nèi),以防止單節(jié)點故障,實現(xiàn)可靠的查詢。
[0053]步驟S309:服務(wù)器將用于存儲原始文件的存儲節(jié)點、該存儲節(jié)點內(nèi)的網(wǎng)絡(luò)地址和解析出的描述內(nèi)容記錄在分布式數(shù)據(jù)庫的該記錄節(jié)點內(nèi),以便于統(tǒng)計和查找。
[0054]由此,完成了分布式文件系統(tǒng)為多節(jié)點存儲、分布式數(shù)據(jù)庫為多節(jié)點記錄的分布式文件存儲方法,實現(xiàn)了可靠、高效的存儲。本領(lǐng)域技術(shù)人員可以理解,在該分布式文件存儲方法中,不一定需要同時采用多節(jié)點存儲的分布式文件系統(tǒng)和多節(jié)點記錄的分布式數(shù)據(jù)庫這兩者,而可以僅采用多節(jié)點存儲的分布式文件系統(tǒng),或者僅采用多節(jié)點記錄的分布式數(shù)據(jù)庫,本實施例并非意在限定本發(fā)明。
[0055]圖4示出了根據(jù)本發(fā)明另一實施例的分布式文件查詢方法。在該查詢方法中,分布式文件系統(tǒng)為多節(jié)點存儲,分布式數(shù)據(jù)庫為多節(jié)點記錄,該方法包括如下步驟:
[0056]步驟S401:客戶端向服務(wù)器發(fā)送查詢條件。
[0057]步驟S402:服務(wù)器根據(jù)接收到的查詢條件,向分布式數(shù)據(jù)庫發(fā)送查詢請求,以對分布式數(shù)據(jù)庫內(nèi)存儲的描述內(nèi)容進行檢索。
[0058]步驟S403:分布式數(shù)據(jù)庫根據(jù)查詢請求從記錄有該描述內(nèi)容的記錄節(jié)點中選擇帶寬較大的記錄節(jié)點來執(zhí)行該查詢請求。
[0059]步驟S404:分布式數(shù)據(jù)庫內(nèi)帶寬較大的記錄節(jié)點從分布式文件系統(tǒng)索取所請求的原始文件存儲的存儲節(jié)點和該存儲節(jié)點內(nèi)的網(wǎng)絡(luò)地址。
[0060]步驟S405:分布式文件系統(tǒng)在存儲有所請求的原始文件的存儲節(jié)點中選擇帶寬較大的存儲節(jié)點,并將該存儲節(jié)點和該存儲節(jié)點內(nèi)所請求的原始文件的網(wǎng)絡(luò)地址發(fā)送回分布式數(shù)據(jù)庫。
[0061]步驟S406:分布式數(shù)據(jù)庫將檢索結(jié)果返回給服務(wù)器。
[0062]步驟S407:服務(wù)器將檢索結(jié)果返回到客戶端。
[0063]步驟S408:客戶端解析服務(wù)器返回的檢索結(jié)果,從分布式文件系統(tǒng)的該存儲節(jié)點內(nèi)的網(wǎng)絡(luò)地址獲取所請求的原始文件,以執(zhí)行展示和下載等操作。
[0064]由此,完成了分布式文件系統(tǒng)為多節(jié)點存儲、分布式數(shù)據(jù)庫為多節(jié)點記錄的分布式文件查詢方法。本領(lǐng)域技術(shù)人員可以理解,在該分布式文件查詢方法中,不一定需要同時采用多節(jié)點存儲的分布式文件系統(tǒng)和多節(jié)點記錄的分布式數(shù)據(jù)庫這兩者,而可以僅采用多節(jié)點存儲的分布式文件系統(tǒng),或者僅采用多節(jié)點記錄的分布式數(shù)據(jù)庫,本實施例并非意在限定本發(fā)明。
[0065]圖5示出了根據(jù)本發(fā)明實施例的分布式文件存取系統(tǒng)。如圖3所示,該系統(tǒng)包括客戶端、服務(wù)器、分布式文件系統(tǒng)和分布式數(shù)據(jù)庫,其中:客戶端501用于向服務(wù)器502上傳打包文件,打包文件包括原始文件和描述文件;服務(wù)器502用于對接收到的打包文件進行解壓,對描述文件進行解析,以解析出描述文件的描述內(nèi)容,并分別向分布式文件系統(tǒng)504和分布式數(shù)據(jù)庫503傳輸文件;分布式文件系統(tǒng)504用于存儲服務(wù)器502傳輸?shù)脑嘉募?,并將原始文件存儲的網(wǎng)絡(luò)地址返回至服務(wù)器502 ;分布式數(shù)據(jù)庫503用于存儲服務(wù)器502傳輸?shù)脑嘉募鎯Φ木W(wǎng)絡(luò)地址和解析出的描述內(nèi)容。
[0066]更進一步地,服務(wù)器502還用于根據(jù)客戶端501發(fā)送的查詢條件,向分布式數(shù)據(jù)庫503發(fā)送查詢請求,以對分布式數(shù)據(jù)庫503內(nèi)存儲的描述內(nèi)容進行檢索;分布式數(shù)據(jù)庫503還用于根據(jù)查詢請求從分布式文件系統(tǒng)504索取所請求的原始文件的網(wǎng)絡(luò)地址,并向服務(wù)器502返回檢索結(jié)果;客戶端501還用于根據(jù)服務(wù)器返回的檢索結(jié)果,從分布式文件系統(tǒng)504獲取所請求的原始文件。
[0067]優(yōu)選地,分布式文件系統(tǒng)504可以設(shè)置為多節(jié)點存儲,以根據(jù)容量和/或帶寬來選擇存儲節(jié)點進行存儲和/或獲取操作;和/或分布式數(shù)據(jù)庫503可以設(shè)置為多節(jié)點記錄。以根據(jù)容量和/或帶寬來選擇記錄節(jié)點進行記錄和/或查詢操作。
[0068]通過采用本發(fā)明所公開的分布式文件存儲和查詢方法及存取系統(tǒng),可以對存儲的文件進行內(nèi)容的分類和檢索,實現(xiàn)了存儲的數(shù)據(jù)與現(xiàn)有業(yè)務(wù)數(shù)據(jù)的結(jié)合。
[0069]雖然結(jié)合附圖描述了本發(fā)明的實施方式,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下作出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。
【權(quán)利要求】
1.一種分布式文件存儲方法,包括: 向服務(wù)器上傳打包文件,所述打包文件包括原始文件和對所述原始文件進行描述的描述文件; 所述服務(wù)器對所述打包文件進行解壓,并對解壓出的所述描述文件進行解析,以解析出所述描述文件的描述內(nèi)容; 所述服務(wù)器將解壓出的所述原始文件傳輸?shù)椒植际轿募到y(tǒng); 所述分布式文件系統(tǒng)向所述服務(wù)器返回所述原始文件存儲的網(wǎng)絡(luò)地址; 所述服務(wù)器將所述原始文件存儲的網(wǎng)絡(luò)地址和解析出的所述描述內(nèi)容傳輸?shù)椒植际綌?shù)據(jù)庫。
2.根據(jù)權(quán)利要求1所述的分布式文件存儲方法,其中,當(dāng)所述分布式文件系統(tǒng)配置為多節(jié)點存儲時,所述服務(wù)器將解壓出的所述原始文件傳輸?shù)椒植际轿募到y(tǒng)以及所述分布式文件系統(tǒng)向所述服務(wù)器返回所述原始文件存儲的網(wǎng)絡(luò)地址包括: 所述服務(wù)器向多節(jié)點存儲的所述分布式文件系統(tǒng)發(fā)送存儲指令; 所述分布式文件系統(tǒng)根據(jù)容量和/或帶寬,向所述服務(wù)器發(fā)送用于存儲所述原始文件的存儲節(jié)點的信息; 所述服務(wù)器將所述原始文件傳輸?shù)椒植际轿募到y(tǒng)的該存儲節(jié)點內(nèi),以進行存儲;所述分布式文件系統(tǒng)向所述服務(wù)器返回所述原始文件存儲的存儲節(jié)點及所述存儲節(jié)點內(nèi)的網(wǎng)絡(luò)地址。
3.根據(jù)權(quán)利要求1或2所述的分布式文件存儲方法,其中,當(dāng)所述分布式數(shù)據(jù)庫配置為多節(jié)點記錄時,所述服務(wù)器將所述原始文件存儲的網(wǎng)絡(luò)地址和解析出的所述描述內(nèi)容傳輸?shù)椒植际綌?shù)據(jù)庫包括: 所述服務(wù)器向多節(jié)點記錄的所述分布式數(shù)據(jù)庫發(fā)送記錄指令; 所述分布式數(shù)據(jù)庫根據(jù)容量和/或帶寬,向所述服務(wù)器發(fā)送用于存儲所述原始文件存儲的網(wǎng)絡(luò)地址和解析出的描述內(nèi)容的記錄節(jié)點的信息; 所述服務(wù)器將用于存儲所述原始文件存儲的網(wǎng)絡(luò)地址和解析出的描述內(nèi)容記錄在所述分布式數(shù)據(jù)庫的所述記錄節(jié)點內(nèi)。
4.一種分布式文件查詢方法,包括: 向服務(wù)器發(fā)送查詢條件; 所述服務(wù)器根據(jù)接收到的查詢條件,向分布式數(shù)據(jù)庫發(fā)送查詢請求,以對所述分布式數(shù)據(jù)庫內(nèi)存儲的原始文件的描述內(nèi)容進行檢索; 所述分布式數(shù)據(jù)庫根據(jù)所述查詢請求從分布式文件系統(tǒng)索取所請求的原始文件存儲的網(wǎng)絡(luò)地址并向所述服務(wù)器返回檢索結(jié)果; 所述服務(wù)器返回所述檢索結(jié)果; 對所述檢索結(jié)果進行解析,從所述分布式文件系統(tǒng)獲取所請求的原始文件。
5.根據(jù)權(quán)利要求4所述的分布式文件查詢方法,其中,當(dāng)所述分布式數(shù)據(jù)庫配置為多節(jié)點記錄時,所述分布式數(shù)據(jù)庫根據(jù)所述查詢請求從分布式文件系統(tǒng)索取所請求的原始文件存儲的網(wǎng)絡(luò)地址并向所述服務(wù)器返回檢索結(jié)果包括: 所述分布式數(shù)據(jù)庫根據(jù)所述查詢請求從記錄有所述描述內(nèi)容的記錄節(jié)點中選擇帶寬較大的記錄節(jié)點來執(zhí)行所述查詢請求; 所述分布式數(shù)據(jù)庫內(nèi)所述帶寬較大的記錄節(jié)點從所述分布式文件系統(tǒng)索取所請求的原始文件存儲的網(wǎng)絡(luò)地址并向所述服務(wù)器返回檢索結(jié)果。
6.根據(jù)權(quán)利要求4或5所述的分布式文件查詢方法,其中,當(dāng)所述分布式文件系統(tǒng)配置為多節(jié)點存儲時,所述分布式數(shù)據(jù)庫根據(jù)所述查詢請求從分布式文件系統(tǒng)索取所請求的原始文件存儲的網(wǎng)絡(luò)地址并向所述服務(wù)器返回檢索結(jié)果包括: 所述分布式文件系統(tǒng)在存儲有所請求的原始文件的存儲節(jié)點中選擇帶寬較大的存儲節(jié)點,并將所述存儲節(jié)點和所述存儲節(jié)點內(nèi)所請求的原始文件的網(wǎng)絡(luò)地址發(fā)送回所述分布式數(shù)據(jù)庫; 所述分布式數(shù)據(jù)庫將檢索結(jié)果返回給所述服務(wù)器; 并且,從所述分布式文件系統(tǒng)獲取所請求的原始文件包括: 從所述分布式文件系統(tǒng)的所述帶寬較大的存儲節(jié)點內(nèi)的所請求的原始文件的網(wǎng)絡(luò)地址獲取所請求的原始文件。
7.根據(jù)權(quán)利要求4所述的方法,其中: 所述查詢條件是所請求的原始文件的名稱、修改時間、上傳時間、原始文件大小、原始文件類型中的至少一項。
8.—種分布式文件存取系統(tǒng),包括:客戶端、服務(wù)器、分布式文件系統(tǒng)和分布式數(shù)據(jù)庫,其中: 所述客戶端用于向所述服務(wù)器上傳打包文件,所述打包文件包括原始文件和對所述原始文件進行描述的描述文件; 所述服務(wù)器,用于對接收到的所述打包文件進行解壓,對所述描述文件進行解析,以解析出所述描述文件的描述內(nèi)容,將解壓出的原始文件傳輸?shù)椒植际轿募到y(tǒng);并將分布式文件系統(tǒng)發(fā)來的所述原始文件存儲的網(wǎng)絡(luò)地址以及解析出的所述描述內(nèi)容傳輸?shù)椒植际綌?shù)據(jù)庫; 所述分布式文件系統(tǒng)用于存儲所述服務(wù)器傳輸?shù)乃鲈嘉募⑺鲈嘉募鎯Φ木W(wǎng)絡(luò)地址返回至所述服務(wù)器; 所述分布式數(shù)據(jù)庫用于存儲所述服務(wù)器傳輸?shù)乃鲈嘉募鎯Φ木W(wǎng)絡(luò)地址和解析出的所述描述內(nèi)容。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中: 所述服務(wù)器還用于根據(jù)所述客戶端發(fā)送的查詢條件,向所述分布式數(shù)據(jù)庫發(fā)送查詢請求,以對所述分布式數(shù)據(jù)庫內(nèi)存儲的描述內(nèi)容進行檢索; 所述分布式數(shù)據(jù)庫還用于根據(jù)所述查詢請求從所述分布式文件系統(tǒng)索取所請求的原始文件的存儲節(jié)點,并向所述服務(wù)器返回檢索結(jié)果; 所述客戶端還用于根據(jù)所述服務(wù)器返回的所述檢索結(jié)果,從所述分布式文件系統(tǒng)獲取所請求的原始文件。
10.根據(jù)權(quán)利要求9或10所述的系統(tǒng),其中: 所述分布式文件系統(tǒng)設(shè)置為多節(jié)點存儲,所述分布式文件系統(tǒng)根據(jù)容量和/或帶寬來選擇存儲節(jié)點進行存儲和/或獲取操作;和/或 所述分布式數(shù)據(jù)庫設(shè)置為多節(jié)點記錄。所述分布式數(shù)據(jù)庫根據(jù)容量和/或帶寬來選擇記錄節(jié)點進行記錄和/或查詢操作。
【文檔編號】H04L29/08GK104462129SQ201310432666
【公開日】2015年3月25日 申請日期:2013年9月22日 優(yōu)先權(quán)日:2013年9月22日
【發(fā)明者】王煒 申請人:北大方正集團有限公司, 北京北大方正電子有限公司