一種基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng)的制作方法
【專利摘要】一種基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng),基于Hadoop技術(shù)的混合結(jié)構(gòu),同時支持HBase數(shù)據(jù)庫技術(shù)和傳統(tǒng)關(guān)系數(shù)據(jù)庫SQL Server技術(shù),系統(tǒng)以Hadoop分布式文件系統(tǒng)集群作為后臺云存儲框架,設(shè)有CSSDL_HS登錄模塊、CSSDL_HS用戶管理模塊、CSSDL_HS文件管理模塊、CSSDL_HS文件夾管理模塊以及CSSDL_HS服務(wù)器管理模塊,并在CSSDL_HS文件管理模塊中增設(shè)了智能文件預(yù)處理模塊,根據(jù)用戶設(shè)定的閾值智能地對文件進(jìn)行預(yù)處理。本發(fā)明能夠解決數(shù)字圖書館場景中文件的分布式存儲問題,可以提高文件存儲的速度和可靠性,減少可能帶來的人工誤操作,達(dá)到在網(wǎng)絡(luò)環(huán)境下高效管理數(shù)字圖書館中各種文件的目的。
【專利說明】一種基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉云存儲技術(shù),尤其涉及一種基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng)(簡 稱CSSDL_HS),屬于數(shù)字圖書館文件的分布式存儲的【技術(shù)領(lǐng)域】。本系統(tǒng)能夠解決數(shù)字圖書館 場景中文件的分布式存儲問題,可以提高文件存儲的速度,減少可能帶來的人工誤操作,使 得在網(wǎng)絡(luò)環(huán)境下數(shù)字圖書館中各種文件存儲具有更好的可靠性和無故障性。
【背景技術(shù)】
[0002] Hadoop 分布式文件系統(tǒng)(Hadoop Distributed File System,簡稱 HDFS)是一 個高度容錯的文件系統(tǒng),支持分布式文件的存取,具有較高的安全性、穩(wěn)定性。HDFS是一 種Master/Slave架構(gòu),一臺服務(wù)器作為NameNode節(jié)點(diǎn),其余服務(wù)器是DataNode數(shù)據(jù)節(jié) 點(diǎn)。NameNode負(fù)責(zé)管理文件的命名空間、數(shù)據(jù)復(fù)制和客戶端對文件的訪問。DataNode在 NameNode的管理下負(fù)責(zé)將文件中的數(shù)據(jù)保存在本地文件系統(tǒng)上。在基于混合結(jié)構(gòu)的數(shù)字圖 書館云存儲應(yīng)用方面,HDFS具有如下特點(diǎn):(1)硬件錯誤是常態(tài)而不是異態(tài)。HDFS對需要 存儲的每一個數(shù)據(jù)塊都保存多份(用戶可以通過修改配置文件更改副本數(shù)量,本發(fā)明中默 認(rèn)為三份)并保存在不同的DataNode上,一旦某一個DataNode結(jié)點(diǎn)失效,NameNode就會 將該數(shù)據(jù)塊復(fù)制到其他活躍的DataNode上,保證任何時候系統(tǒng)中的任一數(shù)據(jù)塊的正常數(shù) 量比例不低于閾值。(2)流式數(shù)據(jù)訪問。HDFS系統(tǒng)的設(shè)計是數(shù)據(jù)批處理方式,而不是用戶 交互處理??紤]更多的是提高數(shù)據(jù)訪問的吞吐量。(3)大規(guī)模數(shù)據(jù)集。因為一個HDFS集群 里可以擴(kuò)展到數(shù)百個結(jié)點(diǎn),所以HDFS能提供整體較高的數(shù)據(jù)傳輸帶寬,從而更適于數(shù)字圖 書館場景下各種大文件的網(wǎng)絡(luò)存儲。(4)簡單的一致性模型。HDFS系統(tǒng)中的文件采取一次 寫入多次讀取的策略,方便了數(shù)據(jù)的訪問,也保證了數(shù)據(jù)的一致性。(5)可移植性,只要機(jī)器 上安裝有Linux系統(tǒng)和Java虛擬機(jī)就可以部署HDFS。因此HDFS也繼承了 Java的高度可 移植性。
[0003] 在當(dāng)今網(wǎng)絡(luò)技術(shù)快速的發(fā)展情況下,信息技術(shù)不斷發(fā)展,以印刷型書刊資料為主 要收藏載體的傳統(tǒng)圖書館難以適應(yīng)這些新技術(shù)帶來的新需求,也使得數(shù)字圖書館走上了歷 史舞臺,數(shù)字資源的使用者和數(shù)字資源的種類、數(shù)量迅速增長,促進(jìn)了數(shù)字圖書館的快速發(fā) 展。然而數(shù)字圖書館現(xiàn)在所使用的存儲技術(shù)都在不同程度上存在技術(shù)缺陷。目前數(shù)字資源 的主要存儲設(shè)備是磁帶和主要采用SATA接口的磁盤,系統(tǒng)存儲容量擴(kuò)充難度大,存儲在系 統(tǒng)中的數(shù)據(jù)安全性較低,難以保證數(shù)據(jù)存儲的可靠性、無故障性。資金投入量較大,使得現(xiàn) 有的存儲系統(tǒng)難以滿足新服務(wù)的發(fā)展帶來的日益增長的服務(wù)需求,也沒有統(tǒng)一而可行的存 儲技術(shù)標(biāo)準(zhǔn)指導(dǎo)數(shù)字圖書館資源的存儲系統(tǒng)建設(shè),嚴(yán)重地阻礙了應(yīng)用服務(wù)器與存儲系統(tǒng)之 間的高速數(shù)據(jù)傳輸,整個系統(tǒng)極度缺乏快速數(shù)據(jù)備份和故障恢復(fù)能力,系統(tǒng)的運(yùn)行也不穩(wěn) 定。
[0004] 以云存儲為基礎(chǔ)的存儲系統(tǒng)有四大決定性優(yōu)勢:
[0005] 1)無限擴(kuò)充。云存儲系統(tǒng)采用了網(wǎng)格技術(shù)、P2P技術(shù)和集群技術(shù),支持大規(guī)模的數(shù) 據(jù)存儲,數(shù)字圖書館用戶可以動態(tài)添加和管理存儲結(jié)點(diǎn)和存儲設(shè)備。
[0006] 2)實時數(shù)據(jù)迀移和快速備份。在云存儲中,所有的存儲設(shè)備和存儲結(jié)點(diǎn)對于服務(wù) 對象都是一個整體,采用虛擬化技術(shù)對所有的存儲設(shè)備進(jìn)行邏輯上的劃分,形成一個個邏 輯分區(qū),新數(shù)據(jù)一旦被傳入,系統(tǒng)會進(jìn)行快速備份。
[0007] 3)投入資金量小。不需要高檔的中小型計算機(jī),可以由低廉的一般計算機(jī)組成。
[0008] 4)高安全性。數(shù)據(jù)和文件被保存在不同的存儲結(jié)點(diǎn)上,并留有文件存儲位置的索 弓丨,若某文件無法被訪問,操作指令將被存儲系統(tǒng)自動的發(fā)送到另一臺存儲有此文件存儲 結(jié)點(diǎn)上,使文件的訪問正常進(jìn)行。
[0009] 綜上所述,云存儲技術(shù)非常適合存儲數(shù)字圖書館資源,為圖書館節(jié)省了龐大的存 儲設(shè)施,不僅減少了經(jīng)費(fèi)開支、也提高了數(shù)字圖書館資源存儲的安全性,從而加速了數(shù)字圖 書館的發(fā)展。
[0010] Java Management extensions技術(shù),簡稱JMX技術(shù),在標(biāo)準(zhǔn)Java技術(shù)基礎(chǔ)上擴(kuò)展 的,定義管理系統(tǒng)和資源之間交互標(biāo)準(zhǔn)的管理規(guī)范,是管理系統(tǒng)和資源之間的一個接口。在 Hadoop技術(shù)的支持下,JMX提供了獲取NameNode、DataNode以及JobTracker運(yùn)行的接口, 并可以通過Web的形式展現(xiàn)出來。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明基于上述的技術(shù),提出并實現(xiàn)了一種基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系 統(tǒng),能夠解決數(shù)字圖書館場景中文件的分布式存儲問題,可以提高文件存儲的速度和可靠 性,減少可能帶來的人工誤操作,達(dá)到在網(wǎng)絡(luò)環(huán)境下高效管理數(shù)字圖書館中各種文件的目 的。
[0012] 本發(fā)明采用的技術(shù)方案如下:
[0013] 一種基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng),其特征是:針對數(shù)字圖書館中存在 的多種不同類型和不同大小的文件,為數(shù)字圖書館文件的分布式存儲設(shè)計了基于Hadoop 技術(shù)的混合結(jié)構(gòu),該混合結(jié)構(gòu)同時支持HBase數(shù)據(jù)庫技術(shù)和傳統(tǒng)關(guān)系數(shù)據(jù)庫SQL Server技 術(shù),所述混合結(jié)構(gòu)包括以下部分:
[0014] 1)數(shù)字圖書館的用戶,該用戶包括了支持讀寫功能的數(shù)字圖書館的Web端用戶和 支持寫功能的數(shù)字圖書館的PC端用戶;
[0015] 2)云存儲服務(wù)器,用于提供基于Tomcat的數(shù)字圖書館的Web端用戶的可視化操作 界面,支持讀寫功能;
[0016] 3)應(yīng)用服務(wù)器,用于提供基于寫隊列的數(shù)字圖書館的PC端用戶實現(xiàn)寫功能;
[0017] 4)混合結(jié)構(gòu)中的核心控制模塊,用于在云存儲服務(wù)器和應(yīng)用服務(wù)器之間提供一個 信息交互的橋梁,從而實現(xiàn)對混合結(jié)構(gòu)中的HBase和MySQL進(jìn)行控制;
[0018] 5)混合結(jié)構(gòu)中的HBase部分,是建立在HDFS基礎(chǔ)之上的列數(shù)據(jù)庫;
[0019] 6)混合結(jié)構(gòu)中的HDFS部分,具體包括NameNode和DataNode ;
[0020] 7)混合結(jié)構(gòu)中的MySQL部分,具體包括用戶元信息和文件元信息。
[0021] 基于上述混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng),利用Hadoop技術(shù),以HDFS集群作為 后臺云存儲框架,構(gòu)造了五個模塊:
[0022] (I) CSSDL_HS登錄模塊:提供CSSDL_HS的新用戶注冊、注冊用戶登錄和CSSDL_HS 的用戶注銷,用戶按要求填入用戶名、密碼,進(jìn)行登陸驗證;如果用戶信息驗證成功,則可以 登陸系統(tǒng);否則進(jìn)入等待狀態(tài),等待用戶重現(xiàn)輸入;該模塊通過數(shù)字圖書館的用戶來進(jìn)行 展現(xiàn);
[0023] (2) CSSDL_HS用戶管理模塊:提供查看和修改CSSDL_HS用戶信息,依次通過數(shù)字 圖書館的用戶、數(shù)字圖書館的PC端用戶、應(yīng)用服務(wù)器、混合結(jié)構(gòu)中的MySQL部分,并最終在 混合結(jié)構(gòu)中的MySQL部分存儲用戶的元信息;
[0024] (3) CSSDL_HS文件管理模塊:提供CSSDL_HS文件的智能預(yù)處理、上傳文件、下載文 件、重命名文件和刪除文件;CSSDL_HS文件管理模塊是CSSDL_HS中的一個核心模塊,它首 先分別經(jīng)過數(shù)字圖書館的PC端用戶和數(shù)字圖書館的Web端用戶把信息分別傳遞給權(quán)云存 儲服務(wù)器和應(yīng)用服務(wù)器,接著經(jīng)過混合結(jié)構(gòu)中的核心控制模塊,實現(xiàn)云存儲服務(wù)器和應(yīng)用 服務(wù)器之間的信息交互,其中數(shù)字圖書館的數(shù)據(jù)文件由混合結(jié)構(gòu)中的HBase完成分布式文 件存儲,而數(shù)字圖書館的文件元信息由混合結(jié)構(gòu)中的MySQL完成集中式存儲;
[0025] (4) CSSDL_HS文件夾管理模塊:提供CSSDL_HS的新建文件夾、重命名文件夾和刪 除文件夾;當(dāng)用戶注冊系統(tǒng)時,CSSDL_HS為該用戶新建一個文件夾,作為該用戶的根目錄, 之后用戶所有的文件或文件夾操作(新建、重命名和刪除),都在該根目錄下進(jìn)行;通過數(shù) 字圖書館的用戶,完成MySQL的操作;
[0026] (5) CSSDL_HS服務(wù)器管理模塊:用于提供查看CSSDL_HS服務(wù)器信息,依次通過數(shù) 字圖書館的用戶、數(shù)字圖書館的PC端用戶,把信息分別傳遞給云存儲服務(wù)器,接著通過調(diào) 用Hadoop的JMX接口,實時獲取HDFS服務(wù)器運(yùn)行參數(shù)(使用JMX的Rest形式),這些參數(shù) 經(jīng)加工漢化后,顯示到網(wǎng)頁上供CSSDL_HS管理員進(jìn)行監(jiān)控和系統(tǒng)維護(hù)。
[0027] 本發(fā)明的優(yōu)點(diǎn)及顯著效果:本發(fā)明提供的基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng) (CSSDL_HS)能夠解決數(shù)字圖書館場景中文件的分布式存儲問題,可以提高文件存儲的速度 和可靠性,減少可能帶來的人工誤操作,達(dá)到在網(wǎng)絡(luò)環(huán)境下高效管理數(shù)字圖書館中各種文 件的目的。
【專利附圖】
【附圖說明】
[0028] 圖1為數(shù)字圖書館云存儲中的混合結(jié)構(gòu);
[0029] 圖2為基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng)的結(jié)構(gòu);
[0030] 圖3為CSSDL_HS中的智能文件預(yù)處理模塊;
[0031] 圖4為CSSDL_HS總體框架;
[0032] 圖5為CSSDL_HS登錄模塊;
[0033] 圖6為CSSDL_HS中的下載文件模塊;
[0034] 圖7為CSSDL_HS中的刪除文件模塊; 圖8為南京圖書館資源云存儲系統(tǒng)中CSSDL_HS文件管理模塊的具體實施例。
【具體實施方式】
[0035] 為了實現(xiàn)基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲方案CSSDL_HS,本發(fā)明利用了 Hadoop技術(shù)。下面結(jié)合附圖對本發(fā)明中基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲方案的具體實施 方式,進(jìn)行詳細(xì)說明,應(yīng)理解這些實施僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱 讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等價形式的修改均落于本申請所附權(quán)利 要求所限定的范圍。
[0036] 如圖1,所述的數(shù)字圖書館云存儲中的混合結(jié)構(gòu),主要包括:
[0037] 1)數(shù)字圖書館的用戶,該用戶包括了支持讀寫功能的數(shù)字圖書館的Web端用戶和 支持寫功能的數(shù)字圖書館的PC端用戶;
[0038] 2)云存儲服務(wù)器,用于提供基于Tomcat的數(shù)字圖書館的Web端用戶的可視化操作 界面,支持讀寫功能;
[0039] 3)應(yīng)用服務(wù)器,用于提供基于寫隊列的數(shù)字圖書館的PC端用戶實現(xiàn)寫功能; [0040] 4)混合結(jié)構(gòu)中的核心控制模塊,用于在云存儲服務(wù)器和應(yīng)用服務(wù)器之間提供一個 交互的橋梁,從而實現(xiàn)對混合結(jié)構(gòu)中的HBase和MySQL進(jìn)行控制;
[0041] 5)混合結(jié)構(gòu)中的HBase部分,即建立在HDFS基礎(chǔ)之上的列數(shù)據(jù)庫;
[0042] 6)混合結(jié)構(gòu)中的HDFS部分,具體包括NameNode和DataNode ;
[0043] 7)混合結(jié)構(gòu)中的MySQL部分,具體包括用戶元信息和文件元信息。
[0044] 如圖2,所述的基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng)的結(jié)構(gòu),包括五個功能模 塊:
[0045] I)CSSDL_HS登錄模塊:提供CSSDL_HS的新用戶注冊、注冊用戶登錄和CSSDL_HS 的用戶注銷,用戶按要求填入用戶名、密碼,進(jìn)行登陸驗證;如果用戶信息驗證成功,則可以 登陸系統(tǒng);否則進(jìn)入等待狀態(tài),等待用戶重現(xiàn)輸入;該模塊通過數(shù)字圖書館的用戶來進(jìn)行 展現(xiàn);
[0046] 2) CSSDL_HS用戶管理模塊:提供查看和修改CSSDL_HS用戶信息,依次通過數(shù)字圖 書館的用戶、數(shù)字圖書館的PC端用戶、應(yīng)用服務(wù)器、混合結(jié)構(gòu)中的MySQL部分,并最終在混 合結(jié)構(gòu)中的MySQL部分存儲用戶的元信息;
[0047] 3)CSSDL_HS文件管理模塊:提供CSSDL_HS文件的智能預(yù)處理、上傳文件、下載文 件、重命名文件和刪除文件;CSSDL_HS文件管理模塊是CSSDL_HS中的一個核心模塊,它首 先分別經(jīng)過數(shù)字圖書館的PC端用戶和數(shù)字圖書館的Web端用戶把信息分別傳遞給權(quán)云存 儲服務(wù)器和應(yīng)用服務(wù)器,接著經(jīng)過混合結(jié)構(gòu)中的核心控制模塊,實現(xiàn)云存儲服務(wù)器和應(yīng)用 服務(wù)器之間的信息交互,其中數(shù)字圖書館的數(shù)據(jù)文件由混合結(jié)構(gòu)中的HBase完成分布式文 件存儲,而數(shù)字圖書館的文件元信息由混合結(jié)構(gòu)中的MySQL完成集中式存儲;
[0048] 上述CSSDL_HS文件管理模塊是基于Hadoop技術(shù)來實現(xiàn)的,以HDFS系統(tǒng)作為后 臺云存儲框架。但是HDFS的架構(gòu)是基于一組特定的結(jié)點(diǎn)構(gòu)建的,文件被分塊(大小和數(shù)量 在由CSSDL_HS用戶在創(chuàng)建文件時決定)復(fù)制到多個DataNode中。數(shù)字圖書館用戶通過 NameNode控制所有文件操作,同時NameNode負(fù)責(zé)將文件分塊并分配到各個DataNode ;而具 體的數(shù)據(jù)存儲工作(即存儲劃分好的各個分塊)則由DataNode負(fù)責(zé)。雖然這種架構(gòu)簡化 了 HDFS的整體結(jié)構(gòu),但由于所有文件不論大小均占用一個塊存儲,使得系統(tǒng)所能處理的文 件數(shù)量受到NameNode (負(fù)責(zé)存儲文件元數(shù)據(jù))的內(nèi)存容量的限制,從而導(dǎo)致小文件存儲效 率較低,以至于目前的硬件能力無法滿足需求。
[0049] 因此,本發(fā)明在實現(xiàn)傳統(tǒng)數(shù)字圖書館云存儲系統(tǒng)的功能的基礎(chǔ)上增加了一個判斷 上傳文件的大小的智能文件預(yù)處理模塊,若小于閾值則交給智能文件預(yù)處理模塊進(jìn)行預(yù)處 理。若大于或者等于閾值直接上傳 HDFS系統(tǒng)。智能文件預(yù)處理模塊將多個小文件合并成大 文件并建立索引,以便進(jìn)行快速存取和訪問。CSSDL_HS文件管理模塊中的智能預(yù)處理模塊, 它可以根據(jù)用戶設(shè)定的閾值智能地對文件進(jìn)行預(yù)處理,本發(fā)明中的閾值1設(shè)定為16MB,閾 值2設(shè)定為64MB,如圖3所示,具體包括:
[0050] (I)PC端用戶上傳文件;
[0051] (2)文件類型判斷,當(dāng)上傳文件大于或者等于閾值2,直接送入HDFS處理;
[0052] (3)當(dāng)上傳文件小于閾值2并且大于或者等于閾值1,先送入HBASE,再送入HDFS 處理;
[0053] (4)當(dāng)上傳文件小于閾值1時,送入小文件合并隊列。當(dāng)該隊列中文件大小之和大 于閾值2時,采用MapFile技術(shù)進(jìn)行文件合并,然后將合并之后的大文件送入HDFS處理;否 則返回小文件合并隊列。
[0054] 4) CSSDL_HS文件夾管理模塊:提供CSSDL_HS的新建文件夾、重命名文件夾和刪除 文件夾;當(dāng)用戶注冊系統(tǒng)時,CSSDL_HS為該用戶新建一個文件夾,作為該用戶的根目錄,之 后用戶所有的文件或文件夾操作(新建、重命名和刪除),都在該根目錄下進(jìn)行;通過數(shù)字 圖書館的用戶,完成MySQL的操作;
[0055] 5) CSSDL_HS服務(wù)器管理模塊:用于提供查看CSSDL_HS服務(wù)器信息,依次通過數(shù)字 圖書館的用戶、數(shù)字圖書館的PC端用戶,把信息分別傳遞給云存儲服務(wù)器,接著通過調(diào)用 Hadoop的JMX接口,實時獲取HDFS服務(wù)器運(yùn)行參數(shù)(使用JMX的Rest形式),這些參數(shù)經(jīng) 加工漢化后,顯示到網(wǎng)頁上供CSSDL_HS管理員進(jìn)行監(jiān)控和系統(tǒng)維護(hù)。
[0056] 如圖4,描述了圖2所述的各個功能之間相關(guān)的關(guān)系。
[0057] 圖4還說明了 CSSDL_HS的管理員界面和普通用戶界面的區(qū)別,CSSDL_HS管理員 可以通過管理員界面進(jìn)行所有操作:服務(wù)器管理、用戶管理、用戶修改信息、文件夾管理和 文件管理的操作;而CSSDL_HS普通用戶僅可以進(jìn)行用戶修改信息、文件夾管理和文件管理 的操作。
[0058] 圖4還說明了所述的CSSDL_HS文件管理模塊的具體實現(xiàn)內(nèi)容,CSSDL_HS的普通 用戶可以進(jìn)入文件管理模塊查看其所有文件和文件夾信息(包括文件名、大小、創(chuàng)建時間 等),并進(jìn)行智能預(yù)處理、上傳文件、重命名文件、下載文件和刪除文件;而CSSDL_HS管理員 除以上操作外,還可以在CSSDL_HS用戶管理模塊查看所有CSSDL_HS用戶文件,點(diǎn)擊用戶名 將進(jìn)入該CSSDL_HS用戶的文件管理界面。所述的上傳文件,具體的實現(xiàn)流程如下:系統(tǒng)首 先將文件上傳至本地緩存,然后由智能文件預(yù)處理模塊進(jìn)行預(yù)處理,若文件大小大于或者 等于閾值則直接上傳至HDFS系統(tǒng);若文件大小小于閾值則先將文件寫入合并隊列,當(dāng)隊列 中文件總?cè)萘康竭_(dá)閾值時再打包上傳至HDFS系統(tǒng);最后刪除本地緩存文件。所述的文件重 命名是指CSSDL_HS用戶可以在系統(tǒng)中對文件進(jìn)行重命名。
[0059] 圖4所述的CSSDL_HS文件夾管理模塊,具體的實現(xiàn)流程如下:CSSDL_HS新用戶注 冊后系統(tǒng)會自動新建一個根目錄并記錄其ID,CSSDL_HS用戶的所有文件操作(包括新建、 重命名以及刪除文件夾)都將在該根目錄下進(jìn)行。當(dāng)CSSDL_HS用戶刪除文件夾時,系統(tǒng)會 在MySQL數(shù)據(jù)庫中遍歷所有屬于該文件夾的文件和文件夾并標(biāo)記刪除。
[0060] 圖4所述的CSSDL_HS服務(wù)器管理模塊,模塊具體的內(nèi)容是:用于實時獲取HDFS服 務(wù)器運(yùn)行參數(shù)(使用JMX的Rest形式),這些參數(shù)經(jīng)加工漢化后,顯示到網(wǎng)頁上供CSSDL_ HS管理員進(jìn)行監(jiān)控和系統(tǒng)維護(hù)。
[0061] 如圖5,所述的CSSDL_HS登錄模塊,該模塊的工作流程如圖5所示,首次使用系統(tǒng) 的用戶填入必需的個人信息后即可注冊成為CSSDL_HS普通用戶,注冊后須等待CSSDL_HS 管理員審核信息,否則無法登錄。已注冊的CSSDL_HS用戶輸入用戶名和密碼,待登錄模塊 驗證成功后則可以登錄系統(tǒng)。否則需重新輸入信息。
[0062] 如圖6,所述的CSSDL_HS中的下載文件模塊,【具體實施方式】如下:系統(tǒng)首先會在本 地緩存查找該文件是否存在。如果文件存在則直接返回緩存中的文件。否則系統(tǒng)將從HDFS 服務(wù)器下載該文件至本地緩存,再返回給CSSDL_HS用戶。
[0063] 如圖7,所述的CSSDL_HS中的刪除文件模塊,【具體實施方式】如下:CSSDL_HS用戶刪 除文件時,系統(tǒng)會在MySQL數(shù)據(jù)庫中標(biāo)記該文件已被刪除,并由圖3所述的CSSDL_HS智能 文件預(yù)處理模塊進(jìn)行預(yù)處理,若文件大小大于或者等于閾值則直接在HDFS系統(tǒng)中刪除該 文件。若文件大小小于閾值則暫不處理,待系統(tǒng)再次啟動時后臺清理程序會定期清理已經(jīng) 被CSSDL_HS用戶刪除的小文件。
[0064] 下面我們以南京圖書館為例,進(jìn)一步說明本專利所述的基于混合結(jié)構(gòu)的數(shù)字圖書 館云存儲方案的【具體實施方式】。
[0065] 作為江蘇省省級公共圖書館,南京圖書館館藏數(shù)字資源目前包括110萬種電子圖 書、46個商業(yè)數(shù)據(jù)庫以及自建特色數(shù)字資源共100TB。隨著古籍保護(hù)和民國文獻(xiàn)全文數(shù)字 化、自建特色數(shù)據(jù)庫和自主版權(quán)視頻資源的數(shù)字化,南京圖書館的數(shù)字資源呈現(xiàn)爆發(fā)式增 漲。
[0066] -般云平臺的資源管理方法可以解決圖書館傳統(tǒng)存儲在容量擴(kuò)展方面的弊病。但 是,由于數(shù)字圖書館中文件的類型包含當(dāng)前所有的數(shù)字類型;且文件的大小,從幾個字節(jié)的 小文件到幾百GB大小的大文件不等。上述文件類型和文件大小方面的特殊性導(dǎo)致一般云 平臺的資源管理方法不能高效運(yùn)行。為此,我們根據(jù)所述的基于混合結(jié)構(gòu)的數(shù)字圖書館云 存儲方案,進(jìn)行了相應(yīng)的原型系統(tǒng)開發(fā)和實現(xiàn)。測試結(jié)果表明:本專利所述的混合結(jié)構(gòu)是可 行和有效的;基于本專利所述的這種混合結(jié)構(gòu),本專利所述的五個功能模塊和智能文件預(yù) 處理模塊是可以實現(xiàn)的。原型系統(tǒng)的具體測試環(huán)境如下:
[0067] ①對應(yīng)圖1中的NameNode為1#電腦,其配置如表1
[0068] 表I 1#電腦的配置
[0069]
【權(quán)利要求】
1. 一種基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng),其特征是;針對數(shù)字圖書館中存在的 多種不同類型和不同大小的文件,為數(shù)字圖書館文件的分布式存儲設(shè)計了基于化doop技 術(shù)的混合結(jié)構(gòu),該混合結(jié)構(gòu)同時支持皿ase數(shù)據(jù)庫技術(shù)和傳統(tǒng)關(guān)系數(shù)據(jù)庫SQL Server技 術(shù),所述混合結(jié)構(gòu)包括W下部分: 1) 數(shù)字圖書館的用戶,該用戶包括了支持讀寫功能的數(shù)字圖書館的Web端用戶和支持 寫功能的數(shù)字圖書館的PC端用戶; 2) 云存儲服務(wù)器,用于提供基于Tomcat的數(shù)字圖書館的Web端用戶的可視化操作界 面,支持讀寫功能; 3) 應(yīng)用服務(wù)器,用于提供基于寫隊列的數(shù)字圖書館的PC端用戶實現(xiàn)寫功能; 4) 混合結(jié)構(gòu)中的核屯、控制模塊,用于在云存儲服務(wù)器和應(yīng)用服務(wù)器之間提供一個信息 交互的橋梁,從而實現(xiàn)對混合結(jié)構(gòu)中的皿ase和MyS化進(jìn)行控制; 5) 混合結(jié)構(gòu)中的皿ase部分,是建立在皿FS基礎(chǔ)之上的列數(shù)據(jù)庫; 6) 混合結(jié)構(gòu)中的皿FS部分,具體包括NameNode和化taNode ; 7) 混合結(jié)構(gòu)中的MyS化部分,具體包括用戶元信息和文件元信息; 基于上述混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng),利用化doop技術(shù),W皿FS集群作為后臺 云存儲框架,構(gòu)造了五個模塊: (1) CSSDL_HS登錄模塊;提供CSSDLJ1S的新用戶注冊、注冊用戶登錄和CSSDLJ1S的用 戶注銷,用戶按要求填入用戶名、密碼,進(jìn)行登陸驗證;如果用戶信息驗證成功,則可W登陸 系統(tǒng);否則進(jìn)入等待狀態(tài),等待用戶重現(xiàn)輸入;該模塊通過數(shù)字圖書館的用戶來進(jìn)行展現(xiàn); (2) CSSDLJ1S用戶管理模塊:提供查看和修改CSSDLJIS用戶信息,依次通過數(shù)字圖書 館的用戶、數(shù)字圖書館的PC端用戶、應(yīng)用服務(wù)器、混合結(jié)構(gòu)中的MyS化部分,并最終在混合 結(jié)構(gòu)中的MyS化部分存儲用戶的元信息; (3) CSSDLJ1S文件管理模塊:提供CSSDLJIS文件的智能預(yù)處理、上傳文件、下載文件、 重命名文件和刪除文件;CSSDLJIS文件管理模塊是CSSDLJIS中的一個核屯、模塊,它首先分 別經(jīng)過數(shù)字圖書館的PC端用戶和數(shù)字圖書館的Web端用戶把信息分別傳遞給權(quán)云存儲服 務(wù)器和應(yīng)用服務(wù)器,接著經(jīng)過混合結(jié)構(gòu)中的核屯、控制模塊,實現(xiàn)云存儲服務(wù)器和應(yīng)用服務(wù) 器之間的信息交互,其中數(shù)字圖書館的數(shù)據(jù)文件由混合結(jié)構(gòu)中的皿ase完成分布式文件存 儲,而數(shù)字圖書館的文件元信息由混合結(jié)構(gòu)中的MyS化完成集中式存儲; (4) CSSDL_HS文件夾管理模塊;提供CSSDLJIS的新建文件夾、重命名文件夾和刪除文 件夾;當(dāng)用戶注冊系統(tǒng)時,CSSDL_HS為該用戶新建一個文件夾,作為該用戶的根目錄,之后 用戶所有的文件或文件夾操作包括新建、重命名和刪除,都在該根目錄下進(jìn)行;通過數(shù)字圖 書館的用戶,完成MySQL的操作; (5) CSSDLJ1S服務(wù)器管理模塊;用于提供查看CSSDLJIS服務(wù)器信息,依次通過數(shù)字 圖書館的用戶、數(shù)字圖書館的PC端用戶,把信息分別傳遞給云存儲服務(wù)器,接著通過調(diào)用 化doop的JMX接口,實時獲取皿FS服務(wù)器運(yùn)行參數(shù),該些使用JMX的Rest形式的參數(shù)經(jīng)加 工漢化后,顯示到網(wǎng)頁上供CSSDLJIS管理員進(jìn)行監(jiān)控和系統(tǒng)維護(hù)。
2. 根據(jù)權(quán)利要求1所述的所述的基于混合結(jié)構(gòu)的數(shù)字圖書館云存儲系統(tǒng),其特征是: CSSDLJIS文件管理模塊中所述的CSSDLJIS文件的智能預(yù)處理,是通過增設(shè)的一個判斷上 傳文件的大小的智能文件預(yù)處理模塊實現(xiàn)的,根據(jù)用戶設(shè)定的闊值智能地對文件進(jìn)行預(yù)處 理,設(shè)定兩個闊值,闊值1為16MB,闊值2為64MB,智能文件預(yù)處理模塊將多個小文件合并 成大文件并建立索引,W便進(jìn)行快速存取和訪問,具體如下: (1) PC端用戶上傳文件; (2) 文件類型判斷,當(dāng)上傳文件大于或者等于闊值2,直接送入皿FS處理; (3) 當(dāng)上傳文件小于闊值2并且大于或者等于闊值1,先送入HBASE,再送入皿FS處理; (4) 當(dāng)上傳文件小于闊值1時,送入小文件合并隊列,當(dāng)該隊列中文件大小之和大于闊 值2時,采用MapFile技術(shù)進(jìn)行文件合并,然后將合并之后的大文件送入皿FS處理;否則返 回小文件合并隊列。
【文檔編號】H04L29/08GK104462185SQ201410539761
【公開日】2015年3月25日 申請日期:2014年10月13日 優(yōu)先權(quán)日:2014年10月13日
【發(fā)明者】鄒志強(qiáng), 顏斌, 姚毅, 趙培志 申請人:南京郵電大學(xué)