本發(fā)明涉及的是日志的存儲(chǔ)和處理,具體是一種基于分布式文件系統(tǒng)的日志數(shù)據(jù)存儲(chǔ)系統(tǒng)及讀寫方法。
背景技術(shù):
::在現(xiàn)有技術(shù)中,公知的技術(shù)是隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)內(nèi)容爆炸性的增加,互聯(lián)網(wǎng)中大量的節(jié)點(diǎn)在工作中產(chǎn)生的日志、生產(chǎn)系統(tǒng)中設(shè)備的監(jiān)控日志、網(wǎng)站上用戶的訪問日志、用戶上網(wǎng)時(shí)對網(wǎng)頁的點(diǎn)擊而產(chǎn)生的日志等,都因?yàn)榫薮蟮臄?shù)據(jù)量對現(xiàn)有的存儲(chǔ)和計(jì)算體系提出挑戰(zhàn)。分布式文件系統(tǒng)(HDFS)是一個(gè)高度容錯(cuò)性的系統(tǒng),易擴(kuò)展并可以提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用,這些特點(diǎn)使其成為在商業(yè)上廣泛應(yīng)用的分布式存儲(chǔ)系統(tǒng)。目前業(yè)界流行的分布式文件系統(tǒng)HDFS對于大量并發(fā)的寫入并不支持。如果想要在Hadoop平臺(tái)上對日志數(shù)據(jù)進(jìn)行分析,就需要首先在其他存儲(chǔ)系統(tǒng)中把日志信息記錄下來,整合后保存在HDFS中,這種模式増加了整個(gè)系統(tǒng)的復(fù)雜度,且不能保證日志分析的實(shí)時(shí)性。此專利就是通過對原有的HDFS技術(shù)進(jìn)行改進(jìn),使其達(dá)到日志存儲(chǔ)系統(tǒng)的要求。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的就是針對現(xiàn)有技術(shù)所存在的不足,而提供一種基于分布式文件系統(tǒng)的日志數(shù)據(jù)存儲(chǔ)系統(tǒng)及讀寫方法的技術(shù)方案,該方案能夠方便進(jìn)行日志存儲(chǔ)和處理,支持多客戶端追加和讀寫并發(fā)的情況。本方案是通過如下技術(shù)措施來實(shí)現(xiàn)的:一種基于分布式文件系統(tǒng)的日志數(shù)據(jù)存儲(chǔ)系統(tǒng),包括主節(jié)點(diǎn)和工作節(jié)點(diǎn),主節(jié)點(diǎn),用于存儲(chǔ)著文件系統(tǒng)的相關(guān)配置信息,管理整個(gè)文件系統(tǒng)的元數(shù)據(jù),還管理著工作節(jié)點(diǎn)的活動(dòng)信息以及活動(dòng)數(shù)據(jù)塊向穩(wěn)定數(shù)據(jù)塊的遷移信息;工作節(jié)點(diǎn),用于保存日志數(shù)據(jù);元數(shù)據(jù)包括:名字空間、訪問控制信息、文件和工作節(jié)點(diǎn)的映射信息以及工作節(jié)點(diǎn)的位置信息。所述的主節(jié)點(diǎn)通過心跳信息發(fā)送和接收工作節(jié)點(diǎn)的日志數(shù)據(jù)信息。一種基于分布式文件系統(tǒng)的日志數(shù)據(jù)讀寫方法,包括如下步驟:1)客戶端發(fā)起查詢?nèi)罩疚募埱螅?)主節(jié)點(diǎn)接收到客戶端發(fā)出查詢?nèi)罩疚募恼埱蠛?,將該日志文件的元?shù)據(jù)發(fā)送給客戶端,3)客戶端根據(jù)主節(jié)點(diǎn)返回的元數(shù)據(jù)中日志文件的信息,直接和日志文件數(shù)據(jù)所在的工作節(jié)點(diǎn)進(jìn)行通信,實(shí)現(xiàn)日志數(shù)據(jù)的讀寫。所述的元數(shù)據(jù)包括:名字空間、訪問控制信息、文件和工作節(jié)點(diǎn)的映射信息以及工作節(jié)點(diǎn)的位置信息。所述的工作節(jié)點(diǎn)中的日志文件保存在數(shù)據(jù)塊中,且每個(gè)數(shù)據(jù)塊中有多個(gè)備份,客戶端進(jìn)行訪問時(shí)優(yōu)先選擇最近的數(shù)據(jù)塊進(jìn)行訪問。所述的步驟3)中對日志數(shù)據(jù)的讀寫包括日志數(shù)據(jù)的并發(fā)追加,日志數(shù)據(jù)的同時(shí)寫入及處理,日志數(shù)據(jù)寫入條目順序和讀取條目順序一致。本方案的有益效果可根據(jù)對上述方案的敘述得知,由于在該方案中包括一個(gè)主節(jié)點(diǎn)和多個(gè)工作節(jié)點(diǎn),支持多個(gè)客戶端同時(shí)發(fā)起請求,主節(jié)點(diǎn)中存儲(chǔ)著文件系統(tǒng)的相關(guān)配置信息,工作節(jié)點(diǎn)中保存數(shù)據(jù)。HDFS中的文件以固定大小的數(shù)據(jù)塊的形式保存,新創(chuàng)建的數(shù)據(jù)塊會(huì)在活動(dòng)隊(duì)列中存在。工作節(jié)點(diǎn)管理整個(gè)文件系統(tǒng)的元數(shù)據(jù),元數(shù)據(jù)包括:名字空間、訪問控制信息、文件和工作節(jié)點(diǎn)的映射信息以及工作節(jié)點(diǎn)的位置信息。除此之外主節(jié)點(diǎn)還管理著工作節(jié)點(diǎn)的活動(dòng)信息以及活動(dòng)(active)數(shù)據(jù)塊向穩(wěn)定(stable)數(shù)據(jù)塊的遷移信息等等。主節(jié)點(diǎn)通過心跳信息發(fā)送和接收工作節(jié)點(diǎn)的信息??蛻舳伺c主節(jié)點(diǎn)通信獲取文件的元數(shù)據(jù)后,就可跳開主節(jié)點(diǎn),與工作節(jié)點(diǎn)直接進(jìn)行數(shù)據(jù)操作。由此可見,本發(fā)明與現(xiàn)有技術(shù)相比,具有突出的實(shí)質(zhì)性特點(diǎn)和顯著的進(jìn)步,其實(shí)施的有益效果也是顯而易見的。附圖說明圖1為本發(fā)明具體實(shí)施方式的結(jié)構(gòu)示意圖。具體實(shí)施方式為能清楚說明本方案的技術(shù)特點(diǎn),下面通過一個(gè)具體實(shí)施方式,并結(jié)合其附圖,對本方案進(jìn)行闡述。通過附圖可以看出,本方案的一種基于分布式文件系統(tǒng)的日志數(shù)據(jù)存儲(chǔ)系統(tǒng),包括主節(jié)點(diǎn)NameNode和多個(gè)工作節(jié)點(diǎn)DataNode,主節(jié)點(diǎn)NameNode,用于存儲(chǔ)著文件系統(tǒng)的相關(guān)配置信息,管理整個(gè)文件系統(tǒng)的元數(shù)據(jù),還管理著工作節(jié)點(diǎn)DataNode的活動(dòng)信息以及活動(dòng)數(shù)據(jù)塊(active數(shù)據(jù))向穩(wěn)定數(shù)據(jù)塊(stable數(shù)據(jù))的遷移信息。工作節(jié)點(diǎn)DataNode,用于保存日志數(shù)據(jù);元數(shù)據(jù)包括:名字空間、訪問控制信息、文件和工作節(jié)點(diǎn)的映射信息以及工作節(jié)點(diǎn)的位置信息。HDFS中的文件以固定大小的數(shù)據(jù)塊的形式保存,新創(chuàng)建的數(shù)據(jù)塊會(huì)在active隊(duì)列中存在。所述的主節(jié)點(diǎn)NameNode通過心跳信息發(fā)送和接收工作節(jié)點(diǎn)的日志數(shù)據(jù)信息。一種基于上述系統(tǒng)的日志數(shù)據(jù)讀寫方法,包括如下步驟:1)客戶端發(fā)起查詢?nèi)罩疚募埱螅?)主節(jié)點(diǎn)NameNode接收到客戶端發(fā)出查詢?nèi)罩疚募恼埱蠛?,將該日志文件的元?shù)據(jù)發(fā)送給客戶端,所述的元數(shù)據(jù)包括:名字空間、訪問控制信息、文件和工作節(jié)點(diǎn)的映射信息以及工作節(jié)點(diǎn)的位置信息;3)客戶端根據(jù)主節(jié)點(diǎn)返回的元數(shù)據(jù)中日志文件的信息,直接和日志文件數(shù)據(jù)所在的工作節(jié)點(diǎn)DataNode進(jìn)行通信,實(shí)現(xiàn)日志數(shù)據(jù)的讀寫。所述的工作節(jié)點(diǎn)DataNode中的日志文件保存在數(shù)據(jù)塊中,且每個(gè)數(shù)據(jù)塊中有多個(gè)備份,客戶端進(jìn)行訪問時(shí)優(yōu)先選擇最近的數(shù)據(jù)塊進(jìn)行訪問。所述的步驟3)中對日志數(shù)據(jù)的讀寫包括日志數(shù)據(jù)的并發(fā)追加,日志數(shù)據(jù)的同時(shí)寫入及處理,日志數(shù)據(jù)寫入條目順序和讀取條目順序一致。本發(fā)明并不僅限于上述具體實(shí)施方式,本領(lǐng)域普通技術(shù)人員在本發(fā)明的實(shí)質(zhì)范圍內(nèi)做出的變化、改型、添加或替換,也應(yīng)屬于本發(fā)明的保護(hù)范圍。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3