一種基于HBase的海量網(wǎng)管數(shù)據(jù)采集和存儲(chǔ)方法
【專利摘要】本發(fā)明公開(kāi)了一種基于HBase的海量網(wǎng)管數(shù)據(jù)采集和存儲(chǔ)方法。該方法根據(jù)海量網(wǎng)絡(luò)管理數(shù)據(jù)并結(jié)合HBase存儲(chǔ)的特點(diǎn),設(shè)計(jì)了事件驅(qū)動(dòng)的海量網(wǎng)絡(luò)管理數(shù)據(jù)采集和存儲(chǔ)一體方案,利用Hadoop分布式計(jì)算和HBase分布式列式存儲(chǔ),使具有海量網(wǎng)絡(luò)管理數(shù)據(jù)的采集和入庫(kù)的并行化、針對(duì)融合網(wǎng)絡(luò)不同網(wǎng)絡(luò)設(shè)備數(shù)據(jù)采集的可擴(kuò)展性強(qiáng)、方案實(shí)現(xiàn)簡(jiǎn)單。
【專利說(shuō)明】-種基于HBase的海量網(wǎng)管數(shù)據(jù)采集和存儲(chǔ)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種SNMP數(shù)據(jù)采集和HBase列式數(shù)據(jù)存儲(chǔ),屬于網(wǎng)絡(luò)管理和大數(shù)據(jù)存 儲(chǔ)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)、通信技術(shù)的發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)逐漸成為單位、個(gè)人工作以及生活 中不可缺少的一部分。由于計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用越來(lái)越廣,使得計(jì)算機(jī)網(wǎng)絡(luò)規(guī)模更加的龐大、 結(jié)構(gòu)更加復(fù)雜、支持的用戶更多,網(wǎng)絡(luò)管理系統(tǒng)所面對(duì)的數(shù)據(jù)也越來(lái)越龐大,并且結(jié)構(gòu)多樣 化,面對(duì)海量網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)、查詢和分析,傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)是無(wú)法勝任的。傳統(tǒng)的關(guān)系 型數(shù)據(jù)庫(kù)處理的結(jié)構(gòu)化數(shù)據(jù)在GB級(jí)別,并且目標(biāo)數(shù)據(jù)的分析處理需求以及數(shù)據(jù)的高可用 性需求一直在增長(zhǎng),關(guān)系數(shù)據(jù)庫(kù)也無(wú)法適應(yīng)這種可擴(kuò)展性和高可用性。
[0003] 網(wǎng)絡(luò)管理系統(tǒng)是一個(gè)軟硬件結(jié)合以軟件為主的分布式網(wǎng)絡(luò)應(yīng)用系統(tǒng),其目的是管 理網(wǎng)絡(luò),使網(wǎng)絡(luò)高效正常運(yùn)行。網(wǎng)絡(luò)管理的實(shí)質(zhì)是為了壓縮網(wǎng)絡(luò)故障,讓網(wǎng)絡(luò)上承載的業(yè)務(wù) 系統(tǒng)和應(yīng)用系統(tǒng)順利運(yùn)行。網(wǎng)絡(luò)管理是計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展的必然產(chǎn)物,它隨著計(jì)算機(jī)網(wǎng)絡(luò)的 發(fā)展而發(fā)展。網(wǎng)絡(luò)管理的質(zhì)量會(huì)直接影響網(wǎng)絡(luò)的運(yùn)行質(zhì)量,因此網(wǎng)絡(luò)管理技術(shù)的發(fā)展對(duì)計(jì) 算機(jī)網(wǎng)絡(luò)的發(fā)展也能起到很關(guān)鍵的作用。一個(gè)好的網(wǎng)絡(luò)管理系統(tǒng)可以對(duì)各種網(wǎng)絡(luò)設(shè)備及其 軟件資源進(jìn)行有效的監(jiān)視、解釋和控制,達(dá)到網(wǎng)絡(luò)可靠、安全和高效運(yùn)行的目的。
[0004] 近年來(lái),云計(jì)算概念的提出、融合網(wǎng)絡(luò)的出現(xiàn),給網(wǎng)絡(luò)管理提出了新的要求。新一 代融合網(wǎng)絡(luò)管理,需要將云計(jì)算的強(qiáng)大處理能力、彈性服務(wù)和虛擬化管理的特點(diǎn)充分應(yīng)用 于網(wǎng)絡(luò)管理,將各項(xiàng)網(wǎng)絡(luò)管理功能部署于云計(jì)算平臺(tái),為融合網(wǎng)絡(luò)的可持續(xù)良性發(fā)展、準(zhǔn)確 的網(wǎng)元和資源管理、高效的故障發(fā)現(xiàn)和處理提供一個(gè)優(yōu)質(zhì)、穩(wěn)定、可靠的智能管理平臺(tái)。
[0005] 數(shù)據(jù)采集部分是整個(gè)網(wǎng)管系統(tǒng)與各網(wǎng)元的接口,負(fù)責(zé)將數(shù)據(jù)從網(wǎng)元側(cè)提取到綜合 網(wǎng)管系統(tǒng)交給其他處理程序做進(jìn)一步處理,所以網(wǎng)管系統(tǒng)中數(shù)據(jù)采集部分程序能否準(zhǔn)確、 穩(wěn)定地運(yùn)行將直接影響到綜合網(wǎng)管系統(tǒng)運(yùn)行的準(zhǔn)確和穩(wěn)定。
[0006] 網(wǎng)絡(luò)管理數(shù)據(jù)的特點(diǎn)主要表現(xiàn)在以下幾個(gè)方面: (1)海量性。面向異構(gòu)融合網(wǎng)絡(luò),網(wǎng)絡(luò)規(guī)模龐大,結(jié)構(gòu)復(fù)雜。存在的網(wǎng)絡(luò)設(shè)備具有多類 型、多廠商、多協(xié)議的特點(diǎn)。網(wǎng)絡(luò)管理系統(tǒng)所采集的網(wǎng)絡(luò)管理數(shù)據(jù)量會(huì)呈現(xiàn)爆炸性增長(zhǎng)的趨 勢(shì)。
[0007] (2)異構(gòu)性。面向異構(gòu)融合網(wǎng)絡(luò),不同的網(wǎng)絡(luò)類型、不同的網(wǎng)絡(luò)設(shè)備在數(shù)據(jù)獲取 階段所采用的協(xié)議,手段和方式都千差萬(wàn)別,取得的數(shù)據(jù)在數(shù)據(jù)形態(tài)、數(shù)據(jù)結(jié)構(gòu)上也各不相 同,不同類別的網(wǎng)絡(luò)設(shè)備所捕獲、傳遞的信息內(nèi)容和信息格式都會(huì)存在差異。數(shù)據(jù)多源性導(dǎo) 致數(shù)據(jù)有不同的分類,不同的分類具有不同的數(shù)據(jù)格式,最終導(dǎo)致結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù) 據(jù)、非結(jié)構(gòu)化數(shù)據(jù)并存,造成了數(shù)據(jù)資源的異構(gòu)性。
[0008] (3)非確定性。海量的網(wǎng)絡(luò)管理數(shù)據(jù)具有明顯的不確定性特征,主要包括數(shù)據(jù)本身 的不確定性、語(yǔ)義匹配的不確定性和查詢分析的不確定性等。為了獲得客觀對(duì)象的準(zhǔn)確信 息,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理和過(guò)濾,以便更全面、更準(zhǔn)確的展示網(wǎng)絡(luò)狀態(tài)信息。
[0009] 面對(duì)大型異構(gòu)融合網(wǎng)絡(luò),傳統(tǒng)的網(wǎng)絡(luò)管理采集方法達(dá)不到性能需求,所以需要設(shè) 計(jì)新的網(wǎng)絡(luò)管理數(shù)據(jù)采集方法。
【發(fā)明內(nèi)容】
[0010] 技術(shù)問(wèn)題:本發(fā)明方法利用Hadoop分布式計(jì)算和HBase分布式列式存儲(chǔ),使該方 案具有海量網(wǎng)絡(luò)管理數(shù)據(jù)的采集和入庫(kù)的并行化、針對(duì)融合網(wǎng)絡(luò)不同網(wǎng)絡(luò)設(shè)備數(shù)據(jù)采集的 可擴(kuò)展性強(qiáng)、方案實(shí)現(xiàn)簡(jiǎn)單等特點(diǎn)。
[0011] 技術(shù)方案:本發(fā)明的基于HBase的海量網(wǎng)管數(shù)據(jù)采集和存儲(chǔ)方案: 1、數(shù)據(jù)采集線程和數(shù)據(jù)入庫(kù)線程: (1) 啟動(dòng)數(shù)據(jù)采集線程和數(shù)據(jù)入庫(kù)線程,數(shù)據(jù)采集線程采用基于SNMP的主動(dòng)輪詢方式 采集管理的網(wǎng)絡(luò)設(shè)備的數(shù)據(jù),在事件驅(qū)動(dòng)表中記錄事件狀態(tài),當(dāng)采集到一定數(shù)據(jù)后,改變事 件驅(qū)動(dòng)表中的狀態(tài),同時(shí)開(kāi)啟新的一輪的數(shù)據(jù)采集; (2) 數(shù)據(jù)入庫(kù)線程開(kāi)啟后定時(shí)查詢事件驅(qū)動(dòng)表中的狀態(tài),如果發(fā)現(xiàn)有采集數(shù)據(jù)完成, 并處于等待入庫(kù)狀態(tài),則調(diào)用數(shù)據(jù)入庫(kù)線程將采集數(shù)據(jù)的原始文件上傳到HDFS,并利用 MapReduce進(jìn)行預(yù)處理,之后利用bulkload把處理后的網(wǎng)絡(luò)管理數(shù)據(jù)存儲(chǔ)到HBase中。
[0012] 2、事件驅(qū)動(dòng)業(yè)務(wù)邏輯流程: (1) 采集模塊開(kāi)始采集,查詢實(shí)時(shí)性能信息采集線程和數(shù)據(jù)入庫(kù)線程是否正常; (2) 如果采集線程和入庫(kù)線程都正常,則向事件驅(qū)動(dòng)表STORE_THREAD_EVENT表插入一 條 EVENT_STATE :COLLECT_EVENT_STATE_START 的事件,表明數(shù)據(jù)采集開(kāi)始; (3) 當(dāng)采集完成,則向事件驅(qū)動(dòng)表插入狀態(tài)為COLLECT_EVENT_STATE_END的事件,表明 數(shù)據(jù)采集結(jié)束,并開(kāi)始下一輪采集; (4) 數(shù)據(jù)入庫(kù)線程發(fā)現(xiàn)有事件的狀態(tài)為COLLECT_EVENT_STATE_END時(shí),則開(kāi)始對(duì)數(shù)據(jù) 進(jìn)行入庫(kù),并向事件驅(qū)動(dòng)表插入狀態(tài)為STORE_EVENT_STATE_START的事件,表明數(shù)據(jù)開(kāi)始 入庫(kù); (5) 當(dāng)數(shù)據(jù)入庫(kù)完成后,則向事件驅(qū)動(dòng)表插入狀態(tài)為STORE_EVENT_STATE_END的事件, 表明當(dāng)前數(shù)據(jù)入庫(kù)成功,并等待新的狀態(tài)為C〇LLECT_EVENT_STATE_END的事件。
[0013] 有益效果: 本發(fā)明利用大數(shù)據(jù)平臺(tái)Hadoop,結(jié)合分布式數(shù)據(jù)庫(kù)HBase,可以實(shí)現(xiàn)3分鐘通過(guò)SNMPv2 協(xié)議輪詢10000臺(tái)設(shè)備,效率高,使用方便簡(jiǎn)單。
【專利附圖】
【附圖說(shuō)明】
[0014] 圖1是本發(fā)明的實(shí)時(shí)性能數(shù)據(jù)采集、入庫(kù)業(yè)務(wù)流程圖。
[0015] 圖2是本發(fā)明的事件驅(qū)動(dòng)業(yè)務(wù)邏輯流程圖。
【具體實(shí)施方式】
[0016] 下面結(jié)合附圖與【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
[0017] 由于SNMP是目前最廣泛應(yīng)用的網(wǎng)絡(luò)管理協(xié)議,并且各大廠商網(wǎng)絡(luò)設(shè)備基本支持 SNMP協(xié)議,系統(tǒng)采用SNMP協(xié)議進(jìn)行網(wǎng)絡(luò)管理數(shù)據(jù)的采集;針對(duì)海量的網(wǎng)絡(luò)管理數(shù)據(jù),底層 存儲(chǔ)采用HDFS和HBase ;另外,我們?cè)O(shè)計(jì)了事件驅(qū)動(dòng)的方式來(lái)協(xié)調(diào)數(shù)據(jù)采集線程和數(shù)據(jù)入 庫(kù)線程。
[0018] 圖1是數(shù)據(jù)采集和存儲(chǔ)系統(tǒng)的流程圖。系統(tǒng)主要流程包括數(shù)據(jù)采集線程和數(shù)據(jù)入 庫(kù)線程。在系統(tǒng)開(kāi)始工作的時(shí)候,先啟動(dòng)數(shù)據(jù)采集線程和數(shù)據(jù)入庫(kù)線程。數(shù)據(jù)采集線程采用 基于SNMP的主動(dòng)輪詢方式采集管理的網(wǎng)絡(luò)設(shè)備的數(shù)據(jù),在事件驅(qū)動(dòng)表中記錄事件狀態(tài),當(dāng) 采集到一定數(shù)據(jù)后,改變事件驅(qū)動(dòng)表中的狀態(tài),同時(shí)開(kāi)啟新的一輪的數(shù)據(jù)采集。數(shù)據(jù)入庫(kù)線 程開(kāi)啟后定時(shí)查詢事件驅(qū)動(dòng)表中的狀態(tài),如果發(fā)現(xiàn)有采集數(shù)據(jù)完成,并處于等待入庫(kù)狀態(tài), 則調(diào)用數(shù)據(jù)入庫(kù)線程將采集數(shù)據(jù)的原始文件上傳到HDFS,并利用MapReduce進(jìn)行預(yù)處理, 之后利用bulkload把處理后的網(wǎng)絡(luò)管理數(shù)據(jù)存儲(chǔ)到HBase中。
[0019] 海量網(wǎng)絡(luò)管理數(shù)據(jù)的采集信息主要來(lái)自MIB庫(kù)的IP組、TCP組、UDP組和HOST組。 IP組提供了與IP協(xié)議有關(guān)的信息,如IP層從下層接收到的數(shù)據(jù)報(bào)總數(shù)、IP地址表、IP路 由表等。TCP組包含與TCP協(xié)議的實(shí)現(xiàn)和操作有關(guān)的信息,如接收到的TCP段總數(shù)、接收的 出錯(cuò)TCP段數(shù)等。UDP組類似于TCP組,它包含了關(guān)于UDP數(shù)據(jù)包和本地接收端點(diǎn)的詳細(xì)信 息,如接收到的UCP段總數(shù)、接收的出錯(cuò)UCP段數(shù)等。HOST組提供了管理系統(tǒng)的常用信息, 如CPU、內(nèi)存相關(guān)信息。具體采集數(shù)據(jù)如表1所示。
【權(quán)利要求】
1. 一種基于HBase的海量網(wǎng)管數(shù)據(jù)采集和存儲(chǔ)方法,其特征在于,包括數(shù)據(jù)采集線程 和數(shù)據(jù)入庫(kù)線程: (1) 先啟動(dòng)數(shù)據(jù)采集線程和數(shù)據(jù)入庫(kù)線程,數(shù)據(jù)采集線程采用基于SNMP的主動(dòng)輪詢方 式采集數(shù)據(jù),在事件驅(qū)動(dòng)表中記錄事件狀態(tài),進(jìn)行循環(huán)采集; (2) 數(shù)據(jù)入庫(kù)線程開(kāi)啟后定時(shí)查詢事件驅(qū)動(dòng)表中的狀態(tài),如果發(fā)現(xiàn)有采集數(shù)據(jù)完成,并 處于等待入庫(kù)狀態(tài),則調(diào)用數(shù)據(jù)入庫(kù)線程將采集數(shù)據(jù)的原始文件存儲(chǔ)到HBase中。
2. 根據(jù)權(quán)利要求1所述的一種基于HBase的海量網(wǎng)管數(shù)據(jù)采集和存儲(chǔ)方法,其特征在 于:事件驅(qū)動(dòng)業(yè)務(wù)邏輯流程: (1) 采集模塊開(kāi)始采集,查詢實(shí)時(shí)性能信息采集線程和數(shù)據(jù)入庫(kù)線程是否正常; (2) 如果采集線程和入庫(kù)線程都正常,則向事件驅(qū)動(dòng)表插入一條采集開(kāi)始事件,表明數(shù) 據(jù)采集開(kāi)始; (3) 當(dāng)采集完成,則向事件驅(qū)動(dòng)表插入一條采集結(jié)束事件,表明數(shù)據(jù)采集結(jié)束,并開(kāi)始 下一輪米集; (4) 數(shù)據(jù)入庫(kù)線程發(fā)現(xiàn)有采集結(jié)束事件,則開(kāi)始對(duì)數(shù)據(jù)進(jìn)行入庫(kù),并向事件驅(qū)動(dòng)表插入 一條采集結(jié)束事件,表明數(shù)據(jù)開(kāi)始入庫(kù); (5) 當(dāng)數(shù)據(jù)入庫(kù)完成后,則向事件驅(qū)動(dòng)表插入一條入庫(kù)結(jié)束事件,表明當(dāng)前數(shù)據(jù)入庫(kù)成 功。
【文檔編號(hào)】G06F17/30GK104216963SQ201410415962
【公開(kāi)日】2014年12月17日 申請(qǐng)日期:2014年8月22日 優(yōu)先權(quán)日:2014年8月22日
【發(fā)明者】任春韶, 張登銀, 楊建東 申請(qǐng)人:南京郵電大學(xué)