劉云玉 劉彥
【摘 要】隨著我國科學(xué)技術(shù)的不斷進步,各種先進的計算機技術(shù)廣泛應(yīng)用于各個領(lǐng)域,給人民的工作生活帶來極大的方便,推動了社會的不斷進步。如今對民族民間文化資源越來越重視,將先進的技術(shù)應(yīng)用于其存儲之中,對其存儲具有十分重要的意義。本文基于Hadoop平臺以及民族民間文化資源的特點,對于HDFS的數(shù)據(jù)復(fù)制以及其健壯性進行了分析,總結(jié)了其存儲過程中存在的一些問題,并針對這些問題提出了一些合理的解決措施。
【關(guān)鍵詞】Hadoop平臺;民族民間文化資源;HDFS存儲
中圖分類號: TP391.41文獻標識碼: A文章編號: 2095-2457(2019)01-0086-003
民族民間文化資源是我國文化資源的重要組成部分,其資源的保護存儲與開發(fā)受到越來越多人的重視。少數(shù)民族文化資源涉及大量的圖片、影像等,隨著數(shù)據(jù)規(guī)模的不斷擴大,傳統(tǒng)的數(shù)據(jù)存儲方式明顯感到不足。而基于Hadoop平臺的民族民間文化資源的存儲研究對于文化資源的傳承與保護具有極其重要的作用,因此本文針對Hadoop平臺以及民族民間文化資源的特點,對文化資源的存儲進行了探究,以希望對其今后的進一步發(fā)展提供一定的幫助。
1 Hadoop框架的云平臺
Hadoop是分布式技術(shù)、并行處理技術(shù)以及網(wǎng)絡(luò)計算機發(fā)展的產(chǎn)物,其為適應(yīng)大量的數(shù)據(jù)以及數(shù)據(jù)的計算而發(fā)展出來的模型構(gòu)架,其可以高效的存儲大量的數(shù)據(jù)。谷歌的GFS是一個具有高度容錯性的文件系統(tǒng),是一個可靠的分布式文件系統(tǒng),而HDFS具有GFS的特征,以下針對GFS的特征進行具體的分析。
GFS分布式文件系統(tǒng)由上千臺機器組成,而機器則都是有普通的硬件組成,當這些機器被進行大量的訪問時,很容易就會出現(xiàn)硬件錯誤的問題,因此經(jīng)常將其作為常見的問題進行處理。為了避免數(shù)據(jù)的丟失,GFS必備的功能包括自動檢測、自動修復(fù)以及數(shù)據(jù)備份等[1]。
GFS還具有能夠存儲大量大文件的特點。根據(jù)傳統(tǒng)的文件系統(tǒng)標準,一般的文件都會比較大。GFS能夠存儲大量的大文件,同時對存儲的文件進行有效的管理。同時,系統(tǒng)也支持小文件,但沒有專門的優(yōu)化策略。GFS是一次寫入多次讀取,文件一旦寫完,就只能讀取,而不能改變原來以經(jīng)存儲的數(shù)據(jù)。因此,文件的寫入人員應(yīng)該格外的小心仔細,避免各種問題的產(chǎn)生。其寫入負載來自海量的寫操作,而在實際的應(yīng)用中是在文件某個隨機的位置讀取幾個KB的數(shù)據(jù)[2]。
GFS分布式文件系統(tǒng)讀取負載主要由兩種操作組成,一種是一次讀取比較大的數(shù)據(jù),另一種是大量的讀取比較小的數(shù)據(jù)。如果對性能要求比較嚴格,一般可以把小規(guī)模的隨機讀取操作合并排序,然后按照順序進行批量讀取,這樣就有效的避免了來回的移動讀取位置。
GFS分布式文件系統(tǒng)里的文件分塊存儲,因此一般的文件被用于多并發(fā)的文件進行合并操作,因此GFS具有高效的、多并發(fā)的特點。其支持大量的客戶端機器同時對一個文件的追加寫入操作,系統(tǒng)則能夠有效的保證寫入操作的一致性,避免出現(xiàn)數(shù)據(jù)寫入與存儲不一致的問題[3]。GFS分布式文件系統(tǒng)對于網(wǎng)絡(luò)的穩(wěn)定要求比較嚴格,高性能的穩(wěn)定網(wǎng)絡(luò)環(huán)境明顯比不穩(wěn)定的網(wǎng)絡(luò)環(huán)境重要。因此,對于絕大多數(shù)客戶運行的程序,都要求能夠高速率的處理海量的數(shù)據(jù),而很少有程序?qū)我徊僮饔袊栏竦臅r間響應(yīng)的要求。GFS分布式文件系統(tǒng)中的每個數(shù)據(jù)默認存儲3個以上的備份,屬于采用冗余存儲的策略。這樣的存儲策略能夠有效的保證數(shù)據(jù)在同一個機架上的安全性與可靠性,同時在一個機架出現(xiàn)問題時,不會導(dǎo)致所有的數(shù)據(jù)備份全部都丟失[4]。
2 HDFS的數(shù)據(jù)復(fù)制
HDFS是Hadoop的分布式文件結(jié)構(gòu),具有高度的穩(wěn)定性以及存儲效率。它能夠保證大文件在多個機器之間進行快速的傳遞和安全可靠的存儲。數(shù)據(jù)的復(fù)制全部由控制節(jié)點管理。
HDFS集群一般由跨越多個機架的計算機組成,不同機架的兩臺機器要經(jīng)過交換機進行通訊。其優(yōu)化的副本保存和備份策略,有效的提高了數(shù)據(jù)存儲的安全性以及集群的利用率。副本系數(shù)為3的默認系統(tǒng),在改進了寫入的性能的同時,也有效的保障了數(shù)據(jù)的安全性與可靠性[5]。HDSF具有降低用戶讀取數(shù)據(jù)延遲的策略。在用戶讀取集群中數(shù)據(jù)的時候,HDSF能夠提供距離用戶最近的數(shù)據(jù)節(jié)點的數(shù)據(jù),從而有效的提高了用戶讀取數(shù)據(jù)的速度,減少了系統(tǒng)寬帶的消耗,極大的方面了用戶的使用。在整個系統(tǒng)啟動的時候,控制節(jié)點會進入安全模式,此時則不允許對數(shù)據(jù)進行復(fù)制??刂乒?jié)點則在此時接收數(shù)據(jù)節(jié)點的心跳信息以及塊狀態(tài)報告,每個數(shù)據(jù)塊都有一個設(shè)置的最小副本備份個數(shù)。當數(shù)據(jù)塊被控制節(jié)點確認為安全后,再等待30秒就會退出安全模式的狀態(tài)[6]。
3 民族民間文化資源的特點
我國是一個古老的大國,擁有著悠久的歷史,民族民間文化資源也十分豐富,各民族之間的民族節(jié)日、民族習(xí)俗、民族飲食等,共同的促進了民族民間文化資源的繁榮,是我國文化資源的重要組成部分。民族民間文化資源具有群體權(quán)屬特征、不確定性、脆弱性、時間上的模糊性以及可重復(fù)利用的特點,以下分別進行分析。
3.1 群體權(quán)屬特征
民族民間文化資源由民族或社會群體創(chuàng)造出來,經(jīng)過長時期的共同生活以及世世代代的演變而形成的,體現(xiàn)了勞動人民的智慧與生活方式,因此具有群體權(quán)屬的特征。民族民間文化資源屬于一個群體而不是個人,它是廣大勞動人民共同的結(jié)晶,因此也需要我們共同的發(fā)揚與傳承下去[9]。
3.2 不確定性
民族民間文化資源包括物質(zhì)文化遺產(chǎn)和非物質(zhì)文化遺產(chǎn),物質(zhì)文化遺產(chǎn)屬于實在的東西,可以通過申請商標以及其他手段進行有效的保護。而非物質(zhì)文化遺產(chǎn)同樣作為文化資源的一部分,其有效保護的難度較大。非物質(zhì)文化遺產(chǎn)多為口頭相傳,而并無文字的記載,在不斷的發(fā)展過程中,很容易就會受到各方面因素的影響而發(fā)生改變,因此具有不確定性的因素。
3.3 脆弱性
民族民間文化資源在不斷的發(fā)展過程中,一旦受到破壞,就很難得到恢復(fù),因此還具有十分脆弱性的特點。如果物質(zhì)文化資源遭到破壞,即使能夠仿造出來,也失去了文化本身的真實性。而非物質(zhì)文化資源遭到破壞,則很難修復(fù)會來,從而給文化資源造成重大的損失[10]。
3.4 時間上的模糊性
同樣,民族民間文化資源經(jīng)過漫長的時間,其在時間上難免會具有一定的模糊性。并且每一個歷史時期都是文化的傳播時期,也是再創(chuàng)作時期,而且年代也較為久遠,因此對于時間很難有一個清楚的界限,在時間上,具有模糊性的特點。
3.5 可重復(fù)利用
現(xiàn)如今,隨著社會的不斷進步,各行各業(yè)都得到了顯著的發(fā)展 。而在文化產(chǎn)業(yè)不斷發(fā)展的背景下,并不是所有的文化資源都可以進行轉(zhuǎn)化。同時作為文化資源,其并不是用多少就會少多少,而是可以重復(fù)利用的。民族民間文化資源所具有的這些特征,對其保護與發(fā)揚既有優(yōu)點又有缺點,因此還需不斷地創(chuàng)新,不斷結(jié)合新的技術(shù),從而真正做到對文化資源的保護[11]。
4 Hadoop處理海量小文件過程中存在的問題
雖然Hadoop在處理大文件的過程中具有十分明顯的優(yōu)勢,不僅實在數(shù)據(jù)處理的效率以及準確度上,同時在存儲方面也更加讓人放心。但是,當其在處理海量小文件的過程中,依然存在著一些不足之處,主要表現(xiàn)在NameNode節(jié)點內(nèi)存壓力過大、文件讀寫效率不高以及小文件I/O問題等三個方面,以下分別對這三個方面進行分析。
4.1 NameNode節(jié)點內(nèi)存壓力過大
在文件系統(tǒng)中,NameNode節(jié)點的內(nèi)存決定HDFS所能存儲的文件數(shù)量,而在HDFS中,各種文件不論大小,其所對相應(yīng)的元數(shù)據(jù)信息數(shù)量是相同的,都需要占用一定的內(nèi)存。當集群中存在海量的小文件時,系統(tǒng)為每一個小文件保存元數(shù)據(jù),從而極大地消耗了NameNode節(jié)點的空間內(nèi)存,而影響到整個集群的存儲能力。在當前的硬件條件下,存儲百萬級別的文件是可行的,當存儲過億各文件時就超出了其存儲的極限。
4.2 文件讀寫效率不高
文件讀寫效率不高也是Hadoop在處理海量小文件過程中所存在的問題。在存儲海量小文件時,客戶端會頻繁的與NameNode交互,從而造成NameNode節(jié)點過高的負載,存儲的效率也大大的降低。在讀寫同樣大小數(shù)據(jù)量的情況下,小文件遠遠超過大文件的數(shù)量,且處理小文件的速度低于處理大文件的速度,在文件總大小相同的情況下,Hadoop處理小文件的性能則遠遠低于處理大文件的性能。
4.3 小文件I/O問題
HDFS不提供預(yù)取功能,根據(jù)自己的優(yōu)化策略將文件分布在各個節(jié)點上,而沒有考慮文件相關(guān)性。小文件存儲比較分散,致使小文件的檢索在各DataNode之間進行大量的搜索與跳轉(zhuǎn)。HDFS將MapReduce所需要的數(shù)據(jù)文件加載到任務(wù)所在的計算節(jié)點上,從而提升MapReduce的處理速度,但是卻不能夠提高HDFS對文件的讀寫效率[12]。
5 基于Hadoop平臺存儲方案優(yōu)化設(shè)計
通過以上分析了解到基于Hadoop平臺在處理文件(主要是小文件)的過程中存在的問題,針對這些問題的存在,對于Hadoop平臺的存儲,要進行存儲方案優(yōu)化設(shè)計,主要表現(xiàn)在小文件存儲優(yōu)化設(shè)計、文件合并模塊設(shè)計以及文件檢索優(yōu)化設(shè)計等,并與傳統(tǒng)的Hadoop集群在性能上進行量化對比分析。
5.1 小文件存儲優(yōu)化設(shè)計
對于小文件的存儲,可以在保存文件時將屬于一個部門的文件放在一個文件夾中,然后統(tǒng)一加上部門名稱,再存儲到數(shù)據(jù)庫中。將有相關(guān)性的小文件合并成為一個大文件,從而增強小文件數(shù)據(jù)訪問的局部性,緩解節(jié)點的內(nèi)存壓力。并且提升了HDFS的I/O性能,將預(yù)取和緩存機制的小文件處理功能引入到系統(tǒng)中,并且增加了置換策略。
5.2 文件合并模塊設(shè)計
在Client端和Hadoop集群之間增加一個文件合并模塊,將向關(guān)聯(lián)的文件合并在一起,從而盡可能的提高預(yù)取的命中率,減少讀取文件時I/O操作。文件合并后,NameNode不需要再像以前那樣為每一個小文件分配存儲路徑、保存元數(shù)據(jù)信息,而是只需要將合并后的大文件分配DataNode保存保存合并文件的元數(shù)據(jù),進而減少了NameNode的內(nèi)存消耗和訪問壓力。
5.3 文件檢索優(yōu)化設(shè)計
原始的文件檢索讀取流程中,當有節(jié)點訪問某個文件時,客戶端會首先訪問NameNode從而獲取目標文件與Block塊的映射關(guān)系,然后與相應(yīng)的DataNode建立連接來讀取數(shù)據(jù)。而通過文件檢索優(yōu)化設(shè)計,在讀取大文件時仍然采用以前的模式,而在讀取小文件時,首先根據(jù)小文件的名稱獲取大文件的數(shù)據(jù)塊以及所在DataNode位置信息,然后通過內(nèi)存加載得到小文件在大文件中的偏移量,進而找到小文件的存儲位置[13]。
5.4 性能對比分析
與原有的HDFS訪問掉文件的流程不同,通過以上存儲方案優(yōu)化設(shè)計,使得節(jié)點所存儲的文件元數(shù)據(jù)數(shù)量大大減少,在文件訪問控制流的處理方面會有更好的性能,提高了讀取文件的速度。因此當要讀取的小文件數(shù)量越多,其訪問性能優(yōu)勢也就越明顯。
6 結(jié)語
綜上所述,民族民間文化資源是我國文化資源的重要組成部分,其資源的保護存儲與開發(fā)受到越來越多人的重視。而基于Hadoop平臺的民族民間文化資源的存儲研究對于文化資源的傳承與保護具有極其重要的作用,要加強民族民間文化資源的保護。而在Hadoop處理小文件時,依然存在NameNode節(jié)點內(nèi)存壓力過大、文件讀寫效率不高以及小文件I/O問題等問題。要進行存儲方案優(yōu)化設(shè)計,主要表現(xiàn)在小文件存儲優(yōu)化設(shè)計、文件合并模塊設(shè)計以及文件檢索優(yōu)化設(shè)計等。
【參考文獻】
[1]李曉佳,董延華.基于Hadoop平臺的搭建及應(yīng)用研究[J].福建電腦,2017,(3):132-133.
[2]于金良,朱志祥,李聰穎.Hadoop平臺的自動化部署與監(jiān)控研究[J].計算機與數(shù)字工程,2016,(12):2457-2461.
[3]王英博,馬菁,柴佳佳,等.基于Hadoop平臺的改進關(guān)聯(lián)規(guī)則挖掘算法[J].計算機工程,2016,(10):69-74,79.
[4]狄曉嬌.Hadoop平臺的設(shè)計[J].通信世界,2016,(4):216-216,217.
[5]劉先福,張剛.民間文化的數(shù)字化類型與空間演示--基于《中國民族民間文化空間信息系統(tǒng)》的思考[J].民俗研究,2014,(5):26-33.
[6]尹國有.民族民間文化資源引入高等美術(shù)教育實踐[J].貴州民族學(xué)院學(xué)報,2007,(4):124-126.
[7]欒亞建,黃翀民,龔高晟,等.Hadoop平臺的性能優(yōu)化研究[J].計算機工程,2010,(14):262-263,266.
[8]原晉鵬,劉彥.基于Hadoop平臺的民族民間文化資源的存儲研究[J].福建電腦,2016,(2):113,125.
[9]閆娟,耿凱峰,劉麗.基于Hadoop平臺的教育資源庫建設(shè)[J].河南師范大學(xué)學(xué)報(自然科學(xué)版),2013,(2):161-164.
[10]于兆良,張文濤,葛慧,等.基于Hadoop平臺的日志分析模型[J].計算機工程與設(shè)計,2016,(2):338-344,428.
[11]斯琴孟和.關(guān)于編纂《蒙古民間故事類型索引與數(shù)據(jù)庫建設(shè)》的一些思考[C].//中國文學(xué)地理學(xué)會第四屆年會論文集西北民族大學(xué),2014:588-591.
[12]孫琳.我國文化產(chǎn)業(yè)國際化發(fā)展分析——以出版業(yè)為例[D].吉林大學(xué),2010.
[13]宋韓茵.民族文化資源共享與服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)[D].華中科技大學(xué),2012.