大數(shù)據(jù)分布統(tǒng)一處理架構(gòu)總體技術(shù)方案合集_第1頁
大數(shù)據(jù)分布統(tǒng)一處理架構(gòu)總體技術(shù)方案合集_第2頁
大數(shù)據(jù)分布統(tǒng)一處理架構(gòu)總體技術(shù)方案合集_第3頁
大數(shù)據(jù)分布統(tǒng)一處理架構(gòu)總體技術(shù)方案合集_第4頁
大數(shù)據(jù)分布統(tǒng)一處理架構(gòu)總體技術(shù)方案合集_第5頁
已閱讀5頁,還剩262頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

STYLEREF標(biāo)題目錄(2)總體技術(shù)方案(包括項目所依據(jù)的技術(shù)原理、主要技術(shù)與性能指標(biāo)、項目擬執(zhí)行的質(zhì)量標(biāo)準(zhǔn)類型、質(zhì)量標(biāo)準(zhǔn)名稱)大數(shù)據(jù)分布統(tǒng)一處理模型及編程方法架構(gòu)1.1主要設(shè)計思想和設(shè)計目標(biāo)?設(shè)計原則設(shè)計思想:將海量數(shù)據(jù)分解到由大量ARM或X86架構(gòu)計算機(jī)構(gòu)成的低成本計算平臺上進(jìn)行實時處理,依靠分布式云計算軟件進(jìn)行容錯,從而提升移動網(wǎng)絡(luò)海量信令數(shù)據(jù)分析的實時性和性價比?設(shè)計目標(biāo):利用ARM或X86架構(gòu)計算機(jī),建立云計算平臺,能夠?qū)α髁砍^48000Mbps的數(shù)據(jù)監(jiān)測流進(jìn)行實時處理,提供多種業(yè)務(wù)支持?系統(tǒng)具有可動態(tài)可伸縮性?高度容錯性和響應(yīng)實時性,達(dá)到較之傳統(tǒng)方案一個數(shù)據(jù)量級的性能價格比提升?設(shè)計原則:(1)前瞻性技術(shù)與實際應(yīng)用環(huán)境相結(jié)合本設(shè)計是既是先進(jìn)技術(shù)應(yīng)用示范,又是工程實施型設(shè)計?把握技術(shù)正確性和先進(jìn)性是前提,但是前瞻性技術(shù)實施必須在資源池的實際應(yīng)用環(huán)境和實際監(jiān)測流量的基礎(chǔ)上進(jìn)行,必須結(jié)合資源池平臺的實際情況進(jìn)行研究和開發(fā),只有與實際應(yīng)用環(huán)境相結(jié)合才有實際應(yīng)用價值?(2)學(xué)習(xí)借鑒國外先進(jìn)技術(shù)與自主創(chuàng)新相結(jié)合在基于資源池的云計算平臺用于超大規(guī)模數(shù)據(jù)處理方面,國內(nèi)外幾乎是在一個起跑線上;但在關(guān)鍵技術(shù)研究及既往的技術(shù)積累方面,國外一些大公司有著明顯的優(yōu)勢?我們將積極學(xué)習(xí)借鑒國外先進(jìn)的云計算技術(shù),同時與自主創(chuàng)新相結(jié)合,形成功能強(qiáng)大?性能卓越的能夠滿足實際應(yīng)用環(huán)境需求的云計算信令處理和分析平臺?2.主要技術(shù)與性能指標(biāo)2.1、分布式數(shù)據(jù)索引管理技術(shù);隨著移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計算技術(shù)的蓬勃發(fā)展,非結(jié)構(gòu)化、半結(jié)構(gòu)化、結(jié)構(gòu)化數(shù)據(jù)均成倍增長,非結(jié)構(gòu)化數(shù)據(jù)的超大規(guī)模和增長,總數(shù)據(jù)量已經(jīng)達(dá)到80~90%,比結(jié)構(gòu)化數(shù)據(jù)增長快10倍到50倍。因此,如何高效的進(jìn)行分布式數(shù)據(jù)管理就成為了一個重中之重。下表列出了分布式數(shù)據(jù)存儲系統(tǒng)的技術(shù)挑戰(zhàn)和應(yīng)對措施。技術(shù)挑戰(zhàn)應(yīng)對措施數(shù)據(jù)完整性CRC校驗和保證數(shù)據(jù)完整性,客戶端寫一個塊之前會計算其對應(yīng)的校驗和。校驗和文件和數(shù)據(jù)塊存儲在datanode的相同目錄下??蛻舳俗x取數(shù)據(jù)塊并讀取其校驗和文件,進(jìn)行校驗。校驗失敗則嘗試其他副本。數(shù)據(jù)塊副本之間的一致性簡單一致性模型即一個文件一旦創(chuàng)建、寫入、關(guān)閉之后就不需要修改了體系架構(gòu)采用主從結(jié)構(gòu)的體系,一個集群是由一個名字節(jié)點(diǎn)管理元數(shù)據(jù)的命名空間,和多個數(shù)據(jù)節(jié)點(diǎn)來管理數(shù)據(jù)塊的存儲。數(shù)據(jù)塊存儲將一個文件分割成一個或多個的數(shù)據(jù)塊,這些數(shù)據(jù)塊存儲在一組數(shù)據(jù)節(jié)點(diǎn)中。元數(shù)據(jù)節(jié)點(diǎn)操作文件命名空間的文件或目錄操作,如打開,關(guān)閉,重命名,等等。它同時確定塊與數(shù)據(jù)節(jié)點(diǎn)的映射。數(shù)據(jù)節(jié)點(diǎn)來負(fù)責(zé)來自文件系統(tǒng)客戶的讀寫請求。數(shù)據(jù)副本放置位置在數(shù)據(jù)塊復(fù)制數(shù)為3的情況下,放置方式是將第一個放在本地數(shù)據(jù)節(jié)點(diǎn),將第二個復(fù)制放到本地機(jī)架上的另外一個數(shù)據(jù)節(jié)點(diǎn)而將第三個復(fù)制放到不同機(jī)架上的數(shù)據(jù)節(jié)點(diǎn)。這種方式減少了機(jī)架內(nèi)的寫流量,提高了寫的性能。機(jī)架失效的機(jī)會遠(yuǎn)小于機(jī)器實效的。這種方式?jīng)]有影響數(shù)據(jù)的可靠性和可用性的保證。但是它減少了讀操作的網(wǎng)絡(luò)聚合帶寬。讀操作時的副本選擇對一個讀操作來說應(yīng)該讀取離它最近的數(shù)據(jù)塊副本。如果在讀節(jié)點(diǎn)的同一個機(jī)架上就有這個復(fù)制,就直接讀這個,如果物理集群是跨越多個數(shù)據(jù)中心,那么本地數(shù)據(jù)中心的復(fù)制是優(yōu)先于遠(yuǎn)程的復(fù)制。2.2、實時多表關(guān)聯(lián)查詢技術(shù);高性能的關(guān)聯(lián)查詢需要根據(jù)不同的模式采用不同關(guān)聯(lián)算法,在基于代價的優(yōu)化方式下,一般采用hashjoin算法,它是一種用于equi-join(而anti-join就是使用NOTIN時的join)的技術(shù)。Hashjoin的主要資源消耗在于CPU(在內(nèi)存中創(chuàng)建臨時的hash表,并進(jìn)行hash計算)。在絕大多數(shù)情況下,hashjoin效率比其他join方式效率更高:在Sort-MergeJoin(SMJ),兩張表的數(shù)據(jù)都需要先做排序,然后做merge。因此效率相對最差;Nested-LoopJoin(NL)效率比SMJ更高。特別是當(dāng)驅(qū)動表的數(shù)據(jù)量很大(集的勢高)時。這樣可以并行掃描內(nèi)表。Hashjoin效率最高,因為只要對兩張表掃描一次。Hashjoin一般用于一張小表和一張大表進(jìn)行join時。Hashjoin的過程大致如下(在并行情況下):(1)

一張小表被hash在內(nèi)存中。因為數(shù)據(jù)量小,所以這張小表的大多數(shù)數(shù)據(jù)已經(jīng)駐入在內(nèi)存中,剩下的少量數(shù)據(jù)被放置在臨時表空間中;(2)每讀取一條大表的記錄,和內(nèi)存中小表的數(shù)據(jù)比較,如果符合先做join,而不直接輸出,直到整張大表數(shù)據(jù)讀取完畢。如果內(nèi)存足夠,Join好的數(shù)據(jù)就保存在內(nèi)存中。否則,就保存在臨時表空間中。(3)當(dāng)大表的所有數(shù)據(jù)都讀取完畢,將臨時表空間中的數(shù)據(jù)以其輸出。如果小表的數(shù)據(jù)量足夠小,那所有數(shù)據(jù)就都在內(nèi)存中了,可以避免對臨時表空間的讀寫?;谝?guī)則的優(yōu)化方式下,經(jīng)常采用Sort-MergeJoin(SMJ)連接和Nested-LoopJoin(NL)連接。NestedLoopJoin(嵌套循環(huán)聯(lián)結(jié))對于主表的每條記錄將其與從表的每條記錄在JOIN條件的字段上直接比較并篩選出符合條件的元組。被聯(lián)結(jié)的表所處內(nèi)層或外層的順序?qū)Υ疟PI/O開銷有著非常重要的影響,而CPU開銷相對來說影響較小。NestedLoop一般在兩個集合都很大的情況下效率就相當(dāng)差了,而Sort-Merge在這種情況下就比它要高效不少,尤其是當(dāng)兩個集合的JOIN字段上都有聚集索引(clusteredindex)存在時,Sort-Merge性能將達(dá)到最好。基本算法主要有兩個步驟:(1)按JOIN字段進(jìn)行排序(2)對兩組已排序集合進(jìn)行合并排序,從來源端各自取得數(shù)據(jù)列后加以比較(需要根據(jù)是否在JOIN字段有重復(fù)值做特殊的“分區(qū)”處理)有兩個因素左右Sort-Merge的開銷:JOIN字段是否已排序以及JOIN字段上的重復(fù)值有多少。?最好情況下(兩列都已排序且至少有一列沒有重復(fù)值):O(n+m)只需要對兩個集合各掃描一遍。?最差情況下(兩列都未排序且兩列上的所有值都相同):O(n*logn+m*logm+n*m)兩次排序以及一次全部元組間的笛卡爾乘積2.3基于混合式SQL的云計算數(shù)據(jù)處理編程技術(shù);SQL解析器、執(zhí)行器完成DataCube查詢語句從詞法分析、語法分析、編譯、優(yōu)化以及查詢計劃的生成。SQL解析器接收從數(shù)據(jù)查詢API和SHELL傳來的SQL語句,同時對SQL進(jìn)行詞法分析、語法分析、編譯、優(yōu)化以及生成查詢作業(yè),接著分析所要處理數(shù)據(jù)的所在位置,根據(jù)數(shù)據(jù)位置切分查詢作業(yè)形成子任務(wù),然后將子任務(wù)發(fā)送給數(shù)據(jù)所在節(jié)點(diǎn)的執(zhí)行器。2.4.系統(tǒng)需要達(dá)到的性能指標(biāo)性能指標(biāo)分成"功能指標(biāo)"和"非功能指標(biāo)"。功能指標(biāo),即軟件所能提供的各種功能和用途,非功能指標(biāo),包括軟件產(chǎn)品的各種性能參。指標(biāo)項指標(biāo)值可管理的數(shù)據(jù)總量可高效管理超過1萬億條記錄實時索引的數(shù)據(jù)流量支持100Gbps以上量級的數(shù)據(jù)流實時索引,數(shù)據(jù)入庫索引速度達(dá)到1000MB/S以上任意關(guān)鍵字段實時創(chuàng)建索引根據(jù)提供的表結(jié)構(gòu)解析元數(shù)據(jù),并根據(jù)提供的任意關(guān)鍵字段實時創(chuàng)建索引可移植性Java語言實現(xiàn),具有跨平臺性,一次編程,任意操作系統(tǒng)都可運(yùn)行查詢效率百億條記錄秒級響應(yīng),可支持對萬億條記錄進(jìn)行實時查詢支持簡單SQL組合查詢采用與關(guān)系數(shù)據(jù)混合模式,絕大部分海量數(shù)據(jù)存放于分布式平臺并進(jìn)行分布式處理,少量實時性要求很高的數(shù)據(jù)存放于關(guān)系數(shù)據(jù)庫,可支撐各種類型的業(yè)務(wù)。不僅支撐查詢、統(tǒng)計、分析業(yè)務(wù),還可支撐深度數(shù)據(jù)挖掘和商業(yè)智能分析業(yè)務(wù)負(fù)載均衡性根據(jù)機(jī)器負(fù)載自動進(jìn)行負(fù)載均衡。拔掉或者增加一臺節(jié)點(diǎn)后,仍能均勻的向各處處理節(jié)點(diǎn)分布數(shù)據(jù)支持并發(fā)查詢支持并發(fā)查詢,查詢要求都能正常下發(fā)執(zhí)行、且都能正常返回結(jié)果數(shù)據(jù)準(zhǔn)確性查詢條件相同情況下,每次查詢結(jié)果相同穩(wěn)定性系統(tǒng)連續(xù)運(yùn)行7*24小時,無任何故障,所有周期任務(wù)均正常執(zhí)行,且執(zhí)行結(jié)果正確可靠性沒有單點(diǎn)故障,任意節(jié)點(diǎn)宕機(jī),系統(tǒng)工作正常,可以繼續(xù)進(jìn)行數(shù)據(jù)處理和應(yīng)用查詢,不會影響分布式系統(tǒng)運(yùn)行和查詢結(jié)果的準(zhǔn)確性分布式計算能力集群能增加節(jié)點(diǎn)、并且能正常執(zhí)行查詢?nèi)蝿?wù),在流量不變、資源增加的情況下,增加機(jī)器后,查詢?nèi)蝿?wù)耗時按比例降低支持對外接口提供專用API、Web訪問和WebServices接口進(jìn)行對外數(shù)據(jù)交互操作監(jiān)控功能提供Web界面對分布式文件進(jìn)行監(jiān)控,支持查看、下載索引文件和元數(shù)據(jù)文件(4)項目技術(shù)開發(fā)可行性(包括國內(nèi)外相關(guān)技術(shù)的研究、開發(fā)現(xiàn)狀,申報項目研究內(nèi)容及涉及的關(guān)鍵技術(shù)及技術(shù)指標(biāo)的描述,項目技術(shù)或工藝路線描述,項目技術(shù)實現(xiàn)主要面臨的風(fēng)險和應(yīng)對措施)1、國外大數(shù)據(jù)處理平臺分析1.1OracleOracle公司2010年12月將第二版OracleExadata數(shù)據(jù)庫機(jī)更名為“OracleExadata數(shù)據(jù)庫云服務(wù)器”、2011年10月宣布推出OracleExalytics商務(wù)智能云服務(wù)器、2012年1月發(fā)布Oracle大數(shù)據(jù)機(jī)(BigDataAppliance)。大數(shù)據(jù)技術(shù)與產(chǎn)品:Oracle市場定位高度集成,為客戶提供對端的解決方案解決方案1、大數(shù)據(jù)機(jī)、OracleExalogic中間件云服務(wù)器、OracleExadata云服務(wù)器及OracleLytics商務(wù)智能云服務(wù)器構(gòu)成一個高度集成化產(chǎn)品組合。2、為以上系統(tǒng)提供一線支持。給用戶帶來的價值全面集成軟硬件產(chǎn)品,幫助客戶洞察數(shù)據(jù)及挖掘數(shù)據(jù)的商業(yè)價值。賽迪評析Oracle大數(shù)據(jù)戰(zhàn)略清晰明了,通過軟硬件一體化的集成設(shè)備為客戶提供應(yīng)用最廣泛、高度集成化的系統(tǒng)產(chǎn)品組合,為企業(yè)用戶提供端到端的大數(shù)據(jù)解決方案。甲骨文大數(shù)據(jù)戰(zhàn)略—聚焦企業(yè)級分析:具有完整的基于大數(shù)據(jù)的企業(yè)級分析體系:面向大數(shù)據(jù)的軟件解決方案體系:1.2EMC2010年7月,宣布收購數(shù)據(jù)倉儲技術(shù)提供商Greenplum公司;2011年5月,推出世界最大的單一文件系統(tǒng);2011年12月,推出支持大數(shù)據(jù)分析的平臺EMCGreenplum統(tǒng)一分析平臺(UAP);2012年4月,發(fā)布數(shù)據(jù)科學(xué)的社交平臺GreenplumChorus。大數(shù)據(jù)技術(shù)與產(chǎn)品:EMC市場定位充分發(fā)揮存儲、管理和保護(hù)方面的優(yōu)勢,利用云計算分布式、開放式和集群技術(shù)處理大數(shù)據(jù)。解決方案統(tǒng)一的大數(shù)據(jù)分析平臺UAP包括EMCGreenpium關(guān)系數(shù)據(jù)庫、EMCGreenplumHDHadoop發(fā)行版和EMCGreenplumChorus。給用戶帶來的價值針對大數(shù)據(jù)提供分析工具、服務(wù),及強(qiáng)大的擴(kuò)展性和開源的生態(tài)系統(tǒng)。賽迪評析EMC在數(shù)據(jù)存儲、管理和保護(hù)方面優(yōu)勢明顯。此外,數(shù)據(jù)團(tuán)隊和分析團(tuán)隊可以在統(tǒng)一的軟件平臺上共享信息、協(xié)作分析,無需在不同平臺間轉(zhuǎn)移數(shù)據(jù)。但是,EMC在網(wǎng)絡(luò)及軟件方面的控制力有限。2、國內(nèi)大數(shù)據(jù)處理平臺分析大數(shù)據(jù)領(lǐng)域涉及數(shù)據(jù)的采集、傳輸、存儲和分析處理等多個環(huán)節(jié),從IT巨頭大數(shù)據(jù)的戰(zhàn)略產(chǎn)品發(fā)布來看,其已搶占了搜索服務(wù)、數(shù)據(jù)庫、服務(wù)器、存儲設(shè)備、數(shù)據(jù)挖掘等核心價值環(huán)節(jié)高地。對于國內(nèi)軟硬件廠商而言,則少有產(chǎn)品亮相。雖然部分硬件廠商相關(guān)產(chǎn)品推出,但在數(shù)據(jù)分析、挖掘等核心領(lǐng)域,幾乎難覓聲影。2.1武漢夢達(dá)達(dá)夢數(shù)據(jù)庫管理系統(tǒng)(DMDBMS)是定位于聯(lián)機(jī)事務(wù)處理(OLTP)和聯(lián)機(jī)分析處理(OLAP)類型應(yīng)用的數(shù)據(jù)庫系統(tǒng),遵循業(yè)界技術(shù)標(biāo)準(zhǔn),包括:SQL語言標(biāo)準(zhǔn)、JDBC接口規(guī)范、ODBC接口標(biāo)準(zhǔn)、OLEDB和ADO規(guī)范、ADO.Net接口規(guī)范、安全等級保護(hù)標(biāo)準(zhǔn);提供完善的應(yīng)用開發(fā)接口與功能;提供易用、便利的系統(tǒng)管理工具。達(dá)夢嵌入式實時數(shù)據(jù)庫是一個運(yùn)行于主流嵌入式操作系統(tǒng)上的,能與通用數(shù)據(jù)庫管理系統(tǒng)協(xié)同工作,支持嵌入式數(shù)據(jù)庫之間及與后臺通用數(shù)據(jù)庫之間的數(shù)據(jù)復(fù)制的通用型嵌入式數(shù)據(jù)庫系統(tǒng)。采用微內(nèi)核技術(shù)、支持主流嵌入式操作系統(tǒng)環(huán)境、對多媒體的良好支持、提供了用戶身份鑒別方式、訪問控制、數(shù)據(jù)加密等安全功能,可有效防止非法終端的欺騙性接入,保證數(shù)據(jù)的正確性、完整性和私密性。達(dá)夢數(shù)據(jù)倉庫建模工具DWDesigner是達(dá)夢數(shù)據(jù)倉庫平臺的重要組成部分,通過該工具,數(shù)據(jù)倉庫用戶能夠快速的構(gòu)建數(shù)據(jù)倉庫的后臺數(shù)據(jù)庫。DMOLAP聯(lián)機(jī)分析處理系統(tǒng)是一個集多維服務(wù)引擎、數(shù)據(jù)立方體設(shè)計與發(fā)布、多維查詢分析、查詢優(yōu)化、結(jié)果展示與多維操作與一體的全面的OLAP系統(tǒng)。2.2南大通用GBase8a分析型數(shù)據(jù)庫的主要市場是商業(yè)分析和商業(yè)智能市場。支持標(biāo)準(zhǔn)Linux內(nèi)核:CentOS,Redhat,Suse等、支持基于x86-64的標(biāo)準(zhǔn)PC服務(wù)器、支持本地存儲(Sata,SAS,SSDetc)、支持陣列部署(SAN,NAS)、支持SSD,F(xiàn)lash存儲介質(zhì)作為2級I/O緩存、支持標(biāo)準(zhǔn)SQL提供通用API:JDBC,ODBC。CAPI,ADO.Net。GBase8a集群產(chǎn)品主要市場定位為滿足在10TB到PB級海量數(shù)據(jù)級別中,可提供高速查詢分析,同時可實現(xiàn)7*24高可用性,2000至10000及以上高并發(fā),在線平滑擴(kuò)展等市場需求。GBase8m/Altibase比傳統(tǒng)磁盤數(shù)據(jù)庫快10倍的商業(yè)級高可靠數(shù)據(jù)庫。面向高并發(fā)、事務(wù)密集型業(yè)務(wù)場景,滿足客戶對數(shù)據(jù)高速處理需求的高性能內(nèi)存數(shù)據(jù)庫。GBase8s安全數(shù)據(jù)庫系統(tǒng)主要適用于涉密信息系統(tǒng)、信息系統(tǒng)安全等級保護(hù)要求中規(guī)定的三級以上信息系統(tǒng)、國民經(jīng)濟(jì)支柱行業(yè)核心信息系統(tǒng),以及其他信息系統(tǒng)等對數(shù)據(jù)管理具有高安全需求的領(lǐng)域。GBaseETL工具通過圖形化界面,幫助用戶實現(xiàn)數(shù)據(jù)的抽取、轉(zhuǎn)換和加載的需要,并可以整合各種異構(gòu)的數(shù)據(jù)源并最終將數(shù)據(jù)以一種指定的格式流出。GBaseETL工具適用于:數(shù)據(jù)倉庫的前端數(shù)據(jù)清洗,數(shù)據(jù)大集中系統(tǒng)中的異構(gòu)數(shù)據(jù)庫的定時抽取,客戶數(shù)據(jù)的定期數(shù)據(jù)遷移,為容災(zāi)備份系統(tǒng)作數(shù)據(jù)抽取,備份等。2關(guān)鍵技術(shù)和風(fēng)險應(yīng)對舉措2.1、系統(tǒng)可維護(hù)性維護(hù)管理是指為了保證維護(hù)質(zhì)量、提高維護(hù)效率、控制維護(hù)成本而進(jìn)行的維護(hù)過程管理,它要求對軟件的每次“修改”均需經(jīng)過申請、評估、批準(zhǔn)、實施、驗證等步驟。事實上在全部維護(hù)活動中一半以上是完善性維護(hù)。國外的統(tǒng)計數(shù)字表明,完善性維護(hù)占全部維護(hù)活動的50%~66%,改正性維護(hù)占17%~21%,適應(yīng)性維護(hù)占18%~25%,其他維護(hù)活動只占4%左右。應(yīng)該注意,維護(hù)軟件文檔和維護(hù)軟件的可執(zhí)行代碼是同樣重要的。針對目前大數(shù)據(jù)情況下系統(tǒng)的可維護(hù)性難的特點(diǎn),大數(shù)據(jù)應(yīng)用共性支撐平臺表現(xiàn)為可理解性和可測試性兩個方面??衫斫庑员憩F(xiàn)為外來讀者理解軟件的結(jié)構(gòu)、功能、接口和內(nèi)部處理過程的難易程度,具有模塊化(模塊結(jié)構(gòu)良好,高內(nèi)聚,松耦合)、詳細(xì)的設(shè)計文檔、結(jié)構(gòu)化設(shè)計、程序內(nèi)部的文檔和良好的高級程序設(shè)計語言等等,都對提高可理解性有重要貢獻(xiàn)??蓽y試性表現(xiàn)為軟件結(jié)構(gòu)、可用的測試工具和調(diào)試工具,以及以前設(shè)計的測試過程也都是非常重要的。2.2、系統(tǒng)可靠性(1)硬件故障硬件故障是常態(tài),而不是異常。整個分布式數(shù)據(jù)存儲系統(tǒng)將由數(shù)百或數(shù)千個存儲著文件數(shù)據(jù)片斷的服務(wù)器組成。每一個組成部分都會頻繁地出現(xiàn)故障,這就意味著分布式數(shù)據(jù)存儲里的一些組成部分是總是失效的,因此,故障的檢測和自動快速恢復(fù)是分布式數(shù)據(jù)存儲一個很核心的結(jié)構(gòu)目標(biāo)。(2)數(shù)據(jù)塊丟失或異常數(shù)據(jù)存儲節(jié)點(diǎn)出錯時標(biāo)記該數(shù)據(jù)機(jī)狀態(tài)為宕機(jī),從有效IO列表中清除,將其上所有數(shù)據(jù)塊標(biāo)記為不可讀,同時復(fù)制該節(jié)點(diǎn)的數(shù)據(jù)塊到其他節(jié)點(diǎn)。(3)啟動時訪問出錯安全模式通過一段時間的拒絕外部訪問來使得整個系統(tǒng)在啟動后一段時間達(dá)到穩(wěn)定狀態(tài)。2.3、系統(tǒng)可移植性系統(tǒng)可移植性可以分為三個部分:開發(fā)語言、標(biāo)準(zhǔn)化API接口、多系統(tǒng)硬件支持。開發(fā)語言采用Java語言實現(xiàn),具有跨平臺性,一次編程,任意操作系統(tǒng)都可運(yùn)行。標(biāo)準(zhǔn)化API接口隨著移動互聯(lián)網(wǎng)、云計算、物聯(lián)網(wǎng)以及多網(wǎng)融合的快速發(fā)展,現(xiàn)在在市場上出現(xiàn)了越來越多的操作系統(tǒng)、開發(fā)平臺和網(wǎng)絡(luò)功能,業(yè)務(wù)應(yīng)用市場也呈現(xiàn)爆炸式發(fā)展,因此成百上千種API(應(yīng)用程序編程接口)也涌現(xiàn)出來。然而API數(shù)量的不斷增加導(dǎo)致了應(yīng)用開發(fā)和服務(wù)交付市場的碎片化。業(yè)內(nèi)人士認(rèn)為,如果沒有標(biāo)準(zhǔn)化來支持大規(guī)模市場發(fā)展,開發(fā)者就很難與大量服務(wù)供應(yīng)商合作,而客戶和服務(wù)供應(yīng)商在借助廣闊的開發(fā)者社區(qū)時也會受到限制。 應(yīng)對措施:(這邊的應(yīng)對措施是否需要進(jìn)行編號?) 研發(fā)大數(shù)據(jù)應(yīng)用共性支撐平臺過程中,加強(qiáng)產(chǎn)品管理,嚴(yán)格規(guī)范產(chǎn)品研發(fā)步驟,對代碼和文檔加強(qiáng)備份和管理,對產(chǎn)品可行性分析、設(shè)計、實現(xiàn)、測試、交付都進(jìn)行嚴(yán)格的控制核心電子器件、高端通用芯片及基礎(chǔ)軟件產(chǎn)品2022年任務(wù)實施方案建議任務(wù)名稱:通用大數(shù)據(jù)云計算數(shù)據(jù)庫編制單位:南京云創(chuàng)存儲科技有限公司編制日期:二0一三年二月六日目錄一、任務(wù)目標(biāo)和主要內(nèi)容 頁智慧安全監(jiān)控云平臺系統(tǒng)總體設(shè)計云計算系統(tǒng)設(shè)計方案概述系統(tǒng)基本功能依靠系統(tǒng)現(xiàn)有各類監(jiān)控終端,監(jiān)控卡口數(shù)據(jù)采集系統(tǒng),將各類視頻、照片以及經(jīng)過提取處理的卡口數(shù)據(jù)信息,通過專網(wǎng),cTrans高效網(wǎng)絡(luò)傳輸系統(tǒng),實時將各類數(shù)據(jù)傳輸至信息中心。在信息中心中,數(shù)據(jù)首先經(jīng)過cVideo云視頻監(jiān)控系統(tǒng)達(dá)到實時監(jiān)控,然后同時存入cStor云存儲系統(tǒng),其中需要進(jìn)一步處理的視頻照片數(shù)據(jù)cProc云處理平臺分析處理后也一同存入。本系統(tǒng)中,cProc云處理平臺是搭建在cStor云存儲系統(tǒng)上的云計算中心,該平臺通過數(shù)據(jù)立方結(jié)構(gòu),實現(xiàn)了大規(guī)模數(shù)據(jù)的高速查詢調(diào)用功能,結(jié)合數(shù)據(jù)接收、數(shù)據(jù)索引、數(shù)據(jù)檢索、數(shù)據(jù)整理、數(shù)據(jù)發(fā)送等功能,在智能應(yīng)用層中實現(xiàn)了城市監(jiān)控視頻信息查詢、人和監(jiān)控多視頻源連續(xù)跟蹤、實時預(yù)警、路網(wǎng)監(jiān)控流量態(tài)勢實時生成、人車異常行為自動檢測等多個大規(guī)模智能應(yīng)用。本系統(tǒng)方案通過上述過程,將系統(tǒng)與社會各類視頻監(jiān)控數(shù)據(jù)、照片數(shù)據(jù)及監(jiān)控卡口數(shù)據(jù),統(tǒng)一實時存儲進(jìn)入海量云存儲系統(tǒng)中,通過信息中心云計算平臺,對海量數(shù)據(jù)進(jìn)行高效處理。依靠云計算的海量存儲與強(qiáng)大的只能處理能力,不斷積累、統(tǒng)計、挖掘、融合數(shù)據(jù),既可以實現(xiàn)大規(guī)模實施監(jiān)控數(shù)據(jù)的存儲、智能分析,又可以通過長時間積累對數(shù)據(jù)進(jìn)行長期的智慧挖掘與分析。為系統(tǒng)處理案件提供有效的幫助與證據(jù)保障。系統(tǒng)的基本功能和性能如下:海量歷史監(jiān)控數(shù)據(jù)匯總能夠?qū)η|級的海量歷史監(jiān)控數(shù)據(jù)進(jìn)行匯總處理。海量原始監(jiān)控數(shù)據(jù)上報能夠?qū)η|級的海量上報監(jiān)控數(shù)據(jù)進(jìn)行上報處理。海量原始數(shù)據(jù)實時入庫、生成索引能夠?qū)α髁砍^10000條/m的全量原始監(jiān)控數(shù)據(jù)流進(jìn)行實時處理。海量數(shù)據(jù)存儲、計算能夠存儲千億級別的數(shù)據(jù),并完成各種復(fù)雜業(yè)務(wù)應(yīng)用計算。千億級數(shù)據(jù)秒級查詢能力高效索引算法,智能化調(diào)度任務(wù)系統(tǒng),滿足秒級查詢速度。秒級實時業(yè)務(wù)響應(yīng)高效實時數(shù)據(jù)通道,對于像實時監(jiān)控、告警等實時業(yè)務(wù),提供秒級響應(yīng)時間。主要設(shè)計思想和設(shè)計目標(biāo)、設(shè)計原則設(shè)計思想:將海量數(shù)據(jù)分解到由大量X86架構(gòu)計算機(jī)構(gòu)成的低成本云計算平臺上進(jìn)行實時處理,依靠分布式云計算軟件進(jìn)行容錯,從而提升智慧監(jiān)控云平臺海量數(shù)據(jù)分析的實時性和性價比。設(shè)計目標(biāo):利用大量性價比高的計算機(jī),建立云計算平臺,能夠?qū)α髁砍^10000條/s的原始監(jiān)控數(shù)據(jù)流進(jìn)行實時處理,提供實時監(jiān)控、報警監(jiān)控、監(jiān)控軌跡與回放、電子地圖、報警管理、布控管理、設(shè)備管理、事件檢測報警、流量統(tǒng)計和分析等多種業(yè)務(wù)支持。系統(tǒng)具有可動態(tài)可伸縮性、高度容錯性和響應(yīng)實時性,達(dá)到較之傳統(tǒng)方案有一個數(shù)據(jù)量級的性能價格比提升。設(shè)計原則:(1)前瞻性技術(shù)與實際應(yīng)用環(huán)境相結(jié)合本項目是既是先進(jìn)技術(shù)應(yīng)用示范項目,又是工程實施型項目。把握技術(shù)正確性和先進(jìn)性是前提,但是前瞻性技術(shù)實施必須在云計算平臺的實際應(yīng)用環(huán)境和實際監(jiān)控流量的基礎(chǔ)上進(jìn)行,必須結(jié)合云計算平臺的實際情況進(jìn)行研究和開發(fā),只有與實際應(yīng)用環(huán)境相結(jié)合才有實際應(yīng)用價值。(2)學(xué)習(xí)借鑒國外先進(jìn)技術(shù)與自主創(chuàng)新相結(jié)合在云計算平臺用于超大規(guī)模數(shù)據(jù)處理方面,國內(nèi)外幾乎是在一個起跑線上;但在關(guān)鍵技術(shù)研究及既往的技術(shù)積累方面,國外一些大公司有著明顯的優(yōu)勢。同時,智慧監(jiān)控云平臺所將要面對的監(jiān)控數(shù)據(jù)流高達(dá)5000條/s,是一個世界級的云計算應(yīng)用。我們將積極學(xué)習(xí)借鑒國外先進(jìn)的云計算技術(shù),同時與自主創(chuàng)新相結(jié)合,形成功能強(qiáng)大、性能卓越的能夠滿足實際應(yīng)用環(huán)境需求的云計算數(shù)據(jù)處理和分析平臺。智慧監(jiān)控云平臺的云計算解決方案在睢寧網(wǎng)內(nèi)部,構(gòu)建若干X86架構(gòu)計算/存儲節(jié)點(diǎn),虛擬出海量存儲空間、處理能力和數(shù)據(jù)管理能力。同時研制面向應(yīng)用的分布式數(shù)據(jù)處理軟件,滿足數(shù)據(jù)匯總、數(shù)據(jù)上報、數(shù)據(jù)入庫、數(shù)據(jù)查詢、數(shù)據(jù)計算和數(shù)據(jù)管理等應(yīng)用需求。圖表SEQ圖表\*ARABIC1智慧監(jiān)控云平臺云計算解決方案系統(tǒng)的主要技術(shù)特點(diǎn)實時性:平臺在高效率并行分布式軟件的支撐下,可以實時完成監(jiān)控數(shù)據(jù)入庫、分析和管理工作,如數(shù)據(jù)匯總、數(shù)據(jù)上報、數(shù)據(jù)入庫、數(shù)據(jù)查詢、數(shù)據(jù)計算和數(shù)據(jù)管理等。海量數(shù)據(jù)入庫不會出現(xiàn)數(shù)據(jù)堆積現(xiàn)象,各類分析和查詢工作基本都在秒級完成,具有前所未有的高效性。高可靠性:基于對云計算可靠性深厚的研究積累,徹底解決了當(dāng)前分布式計算平臺易出現(xiàn)的單點(diǎn)故障問題。任何一個節(jié)點(diǎn)出現(xiàn)故障,系統(tǒng)將自動屏蔽,而且不會出現(xiàn)丟失數(shù)據(jù)的現(xiàn)象。包括查詢?nèi)蝿?wù)分配節(jié)點(diǎn)、計算任務(wù)分配節(jié)點(diǎn)、HDFS元數(shù)據(jù)節(jié)點(diǎn)、HDFS數(shù)據(jù)存儲節(jié)點(diǎn)、MapReduce

JobTracker節(jié)點(diǎn)、MapReduceWorker節(jié)點(diǎn)、HBase管理節(jié)點(diǎn)、HBaseRegion節(jié)點(diǎn)等??缮炜s性:在不停機(jī)的情況下,增加節(jié)點(diǎn),平臺的處理能力自動增加;減少節(jié)點(diǎn),平臺的處理能力自動縮減。這樣,可以做到與云計算平臺的無縫對接,根據(jù)計算和存儲任務(wù)動態(tài)地申請或釋放資源,最大限度地提高資源利用率。高性價比:采用X86架構(gòu)廉價計算機(jī)構(gòu)建云計算平臺,用軟件容錯替代硬件容錯,大大節(jié)省成本。在目標(biāo)性能和可靠性條件下,可比傳統(tǒng)的小型機(jī)加商用數(shù)據(jù)庫方案節(jié)省10倍左右的成本。全業(yè)務(wù)支持:采用分布式數(shù)據(jù)庫模式,絕大部分海量數(shù)據(jù)存放于分布式平臺并進(jìn)行分布式處理,少量實時性要求很高的數(shù)據(jù)存放于關(guān)系數(shù)據(jù)庫中,可支撐各種類型的業(yè)務(wù)。不僅支撐查詢、統(tǒng)計、分析業(yè)務(wù),還可支撐深度數(shù)據(jù)挖掘和商業(yè)智能分析業(yè)務(wù)。系統(tǒng)總體構(gòu)架系統(tǒng)基本組成與構(gòu)架智慧監(jiān)控云平臺是一個處于監(jiān)控數(shù)據(jù)采集與監(jiān)控數(shù)據(jù)監(jiān)測應(yīng)用之間的系統(tǒng)。從系統(tǒng)基本組成與構(gòu)架上來看,該共享平臺由7個主要部分組成:歷史數(shù)據(jù)匯總處理系統(tǒng),上報數(shù)據(jù)上報系統(tǒng),實時數(shù)據(jù)入庫系統(tǒng),監(jiān)控數(shù)據(jù)存儲系統(tǒng),監(jiān)控數(shù)據(jù)查詢分析應(yīng)用系統(tǒng),數(shù)據(jù)管理系統(tǒng)以及系統(tǒng)管理。在基礎(chǔ)設(shè)施構(gòu)架上,構(gòu)建睢寧云計算平臺,利用睢寧所提供的計算資源、存儲資源和網(wǎng)絡(luò)資源,作為智慧監(jiān)控云平臺的基礎(chǔ)設(shè)施和支撐平臺。圖表SEQ圖表\*ARABIC2智慧監(jiān)控云平臺的基本組成與構(gòu)架系統(tǒng)功能模塊描述前端設(shè)備前端設(shè)備在中心服務(wù)器的調(diào)度下進(jìn)行信息采集,以RTSP的形式傳輸給存儲/處理服務(wù)器集群,或者以SDK的形式傳輸給接入服務(wù)器。(前端設(shè)備包括:模擬攝像機(jī)、網(wǎng)絡(luò)攝像機(jī)、卡口設(shè)備、第三方平臺等)接入服務(wù)器整合各種前端設(shè)備,將不同廠家不同平臺的前端設(shè)備通過RTSP或者SDK的方式接入本系統(tǒng),以實現(xiàn)多種前端攝像機(jī)、已有平臺的統(tǒng)一接入,供本平臺內(nèi)其他模塊統(tǒng)一調(diào)用,并以輪詢的方式監(jiān)聽前端設(shè)備,如有異常測產(chǎn)生報警信號。中心服務(wù)器平臺的核心控制部分,實現(xiàn)了與客戶端的信令交互、通過JobKeeper云調(diào)度系統(tǒng)來調(diào)度云集群節(jié)點(diǎn)處理各項任務(wù)、并實現(xiàn)對整個平臺的統(tǒng)一管理和監(jiān)控。a)用戶管理功能:根據(jù)用戶信息表,管理用戶登錄、用戶的權(quán)限,可以管理用戶信息、增刪用戶等。b)前端信息采集設(shè)備管理功能:根據(jù)攝像機(jī)和用戶的權(quán)限,管理當(dāng)前用戶所能涉及的前端設(shè)備狀態(tài)、節(jié)點(diǎn)運(yùn)行狀態(tài),并進(jìn)行實時的更新。c)與用戶和前端設(shè)備的信息交互功能:更新前端信息,并根據(jù)客戶需求進(jìn)行對前端設(shè)備調(diào)度,以及對JobKeeper的任務(wù)分發(fā)。同時,進(jìn)行信息數(shù)據(jù)的處理,以完成整個平臺的調(diào)度工作。d)對服務(wù)器集群進(jìn)行統(tǒng)一的調(diào)度管理,獲取每臺機(jī)器的運(yùn)行狀態(tài)。根據(jù)機(jī)器的運(yùn)行狀態(tài)進(jìn)行自動調(diào)度和部署,負(fù)載均衡,提高機(jī)器的使用率,進(jìn)而提高服務(wù)器的梳理效率。e)解決服務(wù)器集群信息處理的冗余狀態(tài),查錯排錯,保證系統(tǒng)的無人值守、自動生長的高效性。存儲服務(wù)器集群使用cStor云存儲系統(tǒng),提供統(tǒng)一的存儲資源池,用以存儲關(guān)鍵數(shù)據(jù),提供歷史視頻的回看以及相關(guān)數(shù)據(jù)的下載服務(wù)。同時,支持網(wǎng)絡(luò)掛載盤符的模式,以滿足整個平臺中其他模塊的存儲需求。處理服務(wù)器集群大致可以分為接入分析、數(shù)據(jù)處理和結(jié)果分發(fā)三個子模塊,主要負(fù)責(zé)對完成對接入視頻的各項處理任務(wù),諸如:內(nèi)容識別、實時轉(zhuǎn)碼、錄像存儲等,再將處理好的結(jié)果發(fā)送至流媒體服務(wù)器和存儲服務(wù)器。流媒體服務(wù)器以流媒體服務(wù)器的形式對外提供標(biāo)準(zhǔn)的RTSP流媒體服務(wù),用戶根據(jù)相應(yīng)的流媒體RTSP地址,即可實時地獲取系統(tǒng)處理完后的實時視頻數(shù)據(jù),以供監(jiān)控和遠(yuǎn)程訪問。采用虛擬IP技術(shù),備份冗余機(jī)制,針對公網(wǎng)和內(nèi)網(wǎng)不同的訪問需求提供不同的碼流推送??蛻舳酥С諻indows、Linux、iOS、Android等主流操作系統(tǒng),提供B/S和C/S架構(gòu)客戶端,控制視頻解碼上墻等,實現(xiàn)與用戶的直接交互。1.2.3系統(tǒng)總體功能智慧監(jiān)控云平臺需要提供的7大主要功能描述如下。(1)歷史數(shù)據(jù)匯總處理系統(tǒng)歷史數(shù)據(jù)匯總處理主要負(fù)責(zé)把睢寧縣規(guī)劃的分散的數(shù)據(jù)中心的歷史數(shù)據(jù),進(jìn)行讀取解析處理,并將處理后的歷史數(shù)據(jù)匯入一個統(tǒng)一的數(shù)據(jù)中心。在內(nèi)部處理模塊上,歷史數(shù)據(jù)匯總系統(tǒng)主要包括三個模塊:讀取模塊、解析模塊和匯總模塊。讀取模塊主要負(fù)責(zé)各個數(shù)據(jù)中心歷史數(shù)據(jù)的讀取處理,解析模塊主要負(fù)責(zé)把讀取到的歷史數(shù)據(jù)解析成合理的數(shù)據(jù)格式,而匯總模塊主要負(fù)責(zé)把解析好的歷史數(shù)據(jù)上傳到統(tǒng)一的數(shù)據(jù)中心。在系統(tǒng)構(gòu)架上,為了滿足規(guī)劃的多個分散的數(shù)據(jù)中心處理需要,需要在每一個數(shù)據(jù)中心處安裝一個數(shù)據(jù)匯總程序。(2)上報數(shù)據(jù)上報處理信系統(tǒng)上報數(shù)據(jù)上報處理負(fù)責(zé)把縣數(shù)據(jù)中心的數(shù)據(jù),按照一定的需求(按時間段或一定的數(shù)據(jù)量),上報給省市廳數(shù)據(jù)中心。在內(nèi)部處理模塊上,上報數(shù)據(jù)上報系統(tǒng)主要包括三個模塊:讀取模塊、解析模塊和上報模塊。讀取模塊主要負(fù)責(zé)縣數(shù)據(jù)中心需要上報數(shù)據(jù)的讀取處理,解析模塊主要負(fù)責(zé)把讀取到的數(shù)據(jù)解析成合理的數(shù)據(jù)格式,而上報模塊主要負(fù)責(zé)把解析好的數(shù)據(jù)上傳到的省市廳數(shù)據(jù)中心。在系統(tǒng)構(gòu)架上,為了滿足縣數(shù)據(jù)中心處理需要,需要在縣數(shù)據(jù)中心處安裝一個數(shù)據(jù)上報程序。而省市廳數(shù)據(jù)中心需要提供數(shù)據(jù)上報的接口。(3)實時數(shù)據(jù)入庫系統(tǒng)實時數(shù)據(jù)入庫系統(tǒng)主要負(fù)責(zé)全縣每個卡口產(chǎn)生的數(shù)據(jù)實時入庫。在內(nèi)部處理模塊上,實時數(shù)據(jù)入庫系統(tǒng)主要包括三個模塊:接受模塊、解析模塊和數(shù)據(jù)入庫模塊。接受模塊主要負(fù)責(zé)接收每個卡口產(chǎn)生的數(shù)據(jù)流,解析模塊主要負(fù)責(zé)把接受到的數(shù)據(jù)流解析成合理的數(shù)據(jù)格式,而數(shù)據(jù)入庫模塊負(fù)責(zé)把解析好的數(shù)據(jù)加入到縣數(shù)據(jù)中心。在系統(tǒng)架構(gòu)上,為了使每個卡口的數(shù)據(jù)能實時入庫縣數(shù)據(jù)中心,需要在每一個負(fù)責(zé)接受卡口數(shù)據(jù)的工控機(jī)上安裝一個實時數(shù)據(jù)入庫系統(tǒng)。(4)監(jiān)控數(shù)據(jù)存儲系統(tǒng)原始監(jiān)控數(shù)據(jù),將全部存儲在智慧監(jiān)控云平臺的云存儲資源中。資源池提供兩種存儲資源:一種是結(jié)構(gòu)化數(shù)據(jù)存儲資源,用于存儲少量的接口中間數(shù)據(jù);另一種是分布式文件系統(tǒng),用于存儲海量的非結(jié)構(gòu)化數(shù)據(jù)。為了滿足和適應(yīng)數(shù)據(jù)量、數(shù)據(jù)特征和查詢處理的不同需求,將采用一種混搭式的數(shù)據(jù)存儲方案。對容量巨大、常規(guī)數(shù)據(jù)庫難以處理的數(shù)據(jù),如監(jiān)控數(shù)據(jù),將主要存儲在基于HDFS的分布式文件系統(tǒng)中;這些數(shù)據(jù)將通過HDFS接口進(jìn)行訪問和計算處理。而對于部分?jǐn)?shù)據(jù)量不大、且查詢響應(yīng)性能要求很高的數(shù)據(jù),如用于報警比對的中間數(shù)據(jù),將被存放在關(guān)系數(shù)據(jù)庫中。關(guān)系數(shù)據(jù)庫將采用SybaseASE版本。這些數(shù)據(jù)將通過結(jié)構(gòu)化數(shù)據(jù)存儲訪問接口(如JDBC)進(jìn)行訪問。在存儲構(gòu)架上,若以存儲2年的原始監(jiān)控數(shù)據(jù)、報警信息數(shù)據(jù)和針對快速查詢建立的索引數(shù)據(jù),在5000條/s的監(jiān)控數(shù)據(jù)流量下,將大約需要512TB的存儲容量,按照每個存儲節(jié)點(diǎn)16TB的存儲容量,加上少量的冗余節(jié)點(diǎn),將需要32個存儲節(jié)點(diǎn)。(5)監(jiān)控數(shù)據(jù)查詢分析應(yīng)用系統(tǒng)監(jiān)控數(shù)據(jù)查詢分析應(yīng)用主要提供包括實時監(jiān)控、報警監(jiān)控、監(jiān)控軌跡與回放、電子地圖、報警管理、布控管理、設(shè)備管理、事件檢測報警、流量統(tǒng)計和分析等功能。監(jiān)控軌跡查詢處理時,由于監(jiān)控數(shù)據(jù)量巨大,難以存儲在常規(guī)的關(guān)系數(shù)據(jù)庫中,而如果直接存儲在HDFS或HBase中又難以保證查詢效率。為此,需要考慮對監(jiān)控數(shù)據(jù)進(jìn)行索引處理,并將索引數(shù)據(jù)存儲在HDFS或Hbase中。為了建立監(jiān)控數(shù)據(jù)索引,需要在監(jiān)控數(shù)據(jù)傳送到云存儲系統(tǒng)中時,進(jìn)行實時的索引處理。但由于監(jiān)控數(shù)據(jù)流量巨大,需要調(diào)度使用多臺服務(wù)器節(jié)點(diǎn)進(jìn)行并行處理。此外,用戶從客戶端發(fā)起以上各種數(shù)據(jù)查詢分析任務(wù)時,也會產(chǎn)生大量并發(fā)的查詢?nèi)蝿?wù)。以上各種查詢分析計算任務(wù)的處理將需要考慮在計算集群上進(jìn)行并行化任務(wù)調(diào)度和負(fù)載均衡處理。這些并行計算任務(wù)及負(fù)載均衡處理將使用Zookeeper基于計算集群完成統(tǒng)一的控制和實現(xiàn)。在系統(tǒng)構(gòu)架上,以上查詢分析計算任務(wù)將需要使用一個大規(guī)模數(shù)據(jù)并行計算集群。在編程實現(xiàn)上,存儲在數(shù)據(jù)庫中的數(shù)據(jù)將使用常規(guī)的數(shù)據(jù)庫查詢語言實現(xiàn);對存儲在分布式文件系統(tǒng)中的監(jiān)控數(shù)據(jù),針對不同的處理要求,在數(shù)據(jù)量極大而處理實時性要求不是特別高的情況下,為了方便對海量數(shù)據(jù)的并行處理,將采用MapReduce編程方式實現(xiàn);而對于那些實時性要求很高的查詢分析計算,由于MapReduce啟動作業(yè)需要較長的時間開銷,將不適合采用MapReduce編程實現(xiàn),而需要用非MapReduce編程方式實現(xiàn)。(6)數(shù)據(jù)管理系統(tǒng)在實際使用中,可能用戶會對某一時間段或者類型的數(shù)據(jù)特別關(guān)心,就可以通過數(shù)據(jù)管理系統(tǒng)查詢并導(dǎo)出這部分?jǐn)?shù)據(jù)以供使用。包括數(shù)據(jù)查詢和數(shù)據(jù)導(dǎo)出兩大部分。數(shù)據(jù)查詢讓用戶以自定義的條件查詢出數(shù)據(jù),而數(shù)據(jù)導(dǎo)出就是將這些數(shù)據(jù)以合理的格式導(dǎo)出到數(shù)據(jù)中心以外。(7)系統(tǒng)管理系統(tǒng)管理主要包括智慧監(jiān)控云平臺的配置管理、系統(tǒng)安全管理、系統(tǒng)用戶管理,以及數(shù)據(jù)備份、系統(tǒng)故障監(jiān)測復(fù)等管理維護(hù)功能。配置管理是其中最主要的部分,是系統(tǒng)各個模塊正常運(yùn)行的基礎(chǔ)。系統(tǒng)應(yīng)能夠?qū)W(wǎng)絡(luò)地址、設(shè)備地址等進(jìn)行配置;能夠?qū)τ脩糇鰴?quán)限管理,以防止數(shù)據(jù)外泄;并能及時有效的對數(shù)據(jù)進(jìn)行備份和故障檢測等工作,防止數(shù)據(jù)的意外丟失。系統(tǒng)應(yīng)支持樹圖、數(shù)據(jù)表格、網(wǎng)絡(luò)拓?fù)鋱D形式展示配置數(shù)據(jù)。系統(tǒng)基本功能與處理方案監(jiān)控數(shù)據(jù)入庫功能與處理方案監(jiān)控數(shù)據(jù)入庫系統(tǒng)總架構(gòu)如圖:圖表3智慧監(jiān)控云平臺入庫架構(gòu) 智慧監(jiān)控云平臺通過實時數(shù)據(jù)入庫系統(tǒng)接入采集層的監(jiān)控數(shù)據(jù),數(shù)據(jù)分配進(jìn)入負(fù)載均衡機(jī),負(fù)載均衡機(jī)根據(jù)集群各節(jié)點(diǎn)負(fù)載情況,動態(tài)分配監(jiān)控數(shù)據(jù)到各存儲處理機(jī),進(jìn)行報警檢測、建立索引等處理,同時將監(jiān)控數(shù)據(jù)存入分步式存儲系統(tǒng)。負(fù)載均衡機(jī)功能監(jiān)控所集群機(jī)器負(fù)載情況,動態(tài)分配監(jiān)控數(shù)據(jù)。監(jiān)控所有集群機(jī)器,如果發(fā)現(xiàn)問題,那么就把分配給這臺機(jī)器的監(jiān)控數(shù)據(jù)重新分配到其他機(jī)器,去除單點(diǎn)故障,提高系統(tǒng)可靠性。負(fù)載均衡機(jī)采用Paxos算法解決一致性問題,集群在某一時刻只有一個Master負(fù)責(zé)均衡能力,當(dāng)Master宕機(jī)后,其他節(jié)點(diǎn)重新選舉Master。保證負(fù)載均衡機(jī)不會存在單點(diǎn)問題,集群機(jī)器一致性。實時業(yè)務(wù)對于實時性要求高的業(yè)務(wù)應(yīng)用,如:實時監(jiān)控、實時報警,走實時專道。數(shù)據(jù)存儲功能與處理方案數(shù)據(jù)存儲處理總架如圖:圖表4數(shù)據(jù)存儲處理架構(gòu)數(shù)據(jù)存儲系統(tǒng)提供如下功能:監(jiān)控數(shù)據(jù)處理:接收來自數(shù)據(jù)匯總和數(shù)據(jù)入庫系統(tǒng)的監(jiān)控數(shù)據(jù),索引模塊實時生成索引,以提高查詢速度。生成的索引存儲到HDFS中,以供查詢監(jiān)控數(shù)據(jù)使用。專題業(yè)務(wù)分析,通過MapReduce并行計算,同期提取業(yè)務(wù)數(shù)據(jù),將結(jié)果分存兩路,一路存入Hbase或日志詳單存儲,一路存入關(guān)系型數(shù)據(jù)庫。報警數(shù)據(jù)處理智慧監(jiān)控云平臺對接收到的實時監(jiān)控數(shù)據(jù)進(jìn)行計算,以判斷這輛車有沒有符合報警條件。如果符合,會對報警信息入庫,并同時通過對外實時報警的接口,將報警信息迅速展示到用戶界面上。查詢分析功能與處理方案監(jiān)控數(shù)據(jù)查詢構(gòu)架如圖:圖表5監(jiān)控數(shù)據(jù)接入云平臺當(dāng)客戶發(fā)起請求后,客戶端把請求發(fā)向查詢接口服務(wù)器,查詢接口服務(wù)器解析查詢請求,后向Master任務(wù)調(diào)度機(jī)發(fā)送查詢?nèi)蝿?wù)執(zhí)行命令;Master回應(yīng)執(zhí)行命令節(jié)點(diǎn)信息,查詢服務(wù)器根據(jù)節(jié)點(diǎn)信息將查詢命令發(fā)向查詢計算模塊,進(jìn)行具體查詢操作,將查詢結(jié)果返回給客戶端,呈現(xiàn)給用戶。系統(tǒng)互聯(lián)與管理組網(wǎng)方案組網(wǎng)方案如圖:圖表6組網(wǎng)方案網(wǎng)絡(luò)管理服務(wù)器間網(wǎng)絡(luò)安全檢查系統(tǒng)自管理通過啟用網(wǎng)絡(luò)安全檢查進(jìn)程(netinspect),定期檢查整個系統(tǒng)的網(wǎng)絡(luò)狀況,并上報各服務(wù)模塊網(wǎng)絡(luò)流量信息,在終端形成網(wǎng)絡(luò)拓?fù)鋱D,實時在界面呈現(xiàn)各節(jié)點(diǎn)網(wǎng)絡(luò)狀態(tài),管理員也能及時了解,各服務(wù)模塊的網(wǎng)絡(luò)流量機(jī)承載的負(fù)荷。若出現(xiàn)網(wǎng)絡(luò)故障,netinspect進(jìn)程實時上報故障情況,在網(wǎng)絡(luò)拓?fù)鋱D上以報警方式提示,或以短信的方式提示,便于管理員及時發(fā)現(xiàn)問題,并恢復(fù)網(wǎng)絡(luò)故障,確保系統(tǒng)在安全的網(wǎng)絡(luò)環(huán)境下運(yùn)行。服務(wù)模塊進(jìn)程監(jiān)控管理系統(tǒng)自管理通過啟用服務(wù)模塊運(yùn)行狀態(tài)檢查進(jìn)程(proinspect),定期檢查整個系統(tǒng)的服務(wù)模塊進(jìn)程運(yùn)行狀況,并上報各服務(wù)模塊進(jìn)程的運(yùn)行狀態(tài)信息,在終端將運(yùn)行的進(jìn)程的狀態(tài)以表格形式顯示,定時更新進(jìn)程的運(yùn)行狀態(tài)信息。通過它管理員也能及時了解,各服務(wù)模塊的進(jìn)程運(yùn)行負(fù)荷。若在固定的時間內(nèi)沒有更新,視為進(jìn)程運(yùn)行故障,啟動主機(jī)代理自動恢復(fù)故障進(jìn)程,保障各服務(wù)模塊進(jìn)程持續(xù)穩(wěn)定的運(yùn)行的狀態(tài)。系統(tǒng)性能監(jiān)控管理系統(tǒng)自管理通過啟用服務(wù)模塊性能檢查進(jìn)程(serverinspect),定期檢查整個系統(tǒng)的各服務(wù)器性能指標(biāo),包括CPU開銷、內(nèi)存占用、IO峰值、網(wǎng)絡(luò)流量、連接數(shù)等。并上報各服務(wù)性能指標(biāo),在終端形成拓?fù)鋱D,實時在界面呈現(xiàn)各節(jié)點(diǎn)服務(wù)器性能狀態(tài),管理員也能及時了解,各服務(wù)節(jié)點(diǎn)處理性能及資源開銷。若性能持續(xù)高負(fù)荷,拓?fù)鋱D上以報警方式提示,或以短信的方式提示,便于管理員及時發(fā)現(xiàn)問題,查找問題的來源或重新評估服務(wù)器配置情況,為系統(tǒng)穩(wěn)定運(yùn)行提供一個確實可靠的標(biāo)準(zhǔn)。系統(tǒng)日志分析處理系統(tǒng)各服務(wù)模塊在運(yùn)行期間寫日志文件,將進(jìn)程的模塊編號、服務(wù)器的IP、出錯頁碼等日志的狀態(tài)(錯誤、告警、提示)等級別的信息保存磁盤文件,供工程師來分析系統(tǒng)運(yùn)行狀態(tài)。同時日志分析進(jìn)程(loganalyse)分析日志文件,將重要的日志信息,進(jìn)行對比、分析并匯總后,生產(chǎn)統(tǒng)一格式的日志信息,提取出來,寫入的數(shù)據(jù)庫表中,終端管理通過查詢界面來來顯示,能及時了解到系統(tǒng)的運(yùn)行的狀態(tài)。系統(tǒng)運(yùn)行狀態(tài)及報警處理系統(tǒng)運(yùn)行報警分為以下幾種:服務(wù)器運(yùn)行狀態(tài)報警服務(wù)器網(wǎng)絡(luò)狀態(tài)報警服務(wù)模塊進(jìn)程報警日志模塊狀態(tài)報警系統(tǒng)安全網(wǎng)絡(luò)安全為保障整個系統(tǒng)穩(wěn)定運(yùn)行,首先要保障系統(tǒng)在網(wǎng)絡(luò)方面是安全的。從硬件、軟件方面做相應(yīng)的安全措施。硬件:所有的網(wǎng)絡(luò)設(shè)備都要1+1冗余配置,涉及以下網(wǎng)絡(luò)硬件設(shè)備冗余配置以太網(wǎng)100M/1000M網(wǎng)卡以太網(wǎng)網(wǎng)絡(luò)交換設(shè)備光纖網(wǎng)絡(luò)接口FC/HBASAN光纖網(wǎng)絡(luò)交換機(jī)軟件:在整個系統(tǒng)上部署防火墻軟件、及自產(chǎn)的安全管理管理軟件模塊來保障系統(tǒng)平穩(wěn)運(yùn)行。數(shù)據(jù)文件安全性見集群可靠性章節(jié)。系統(tǒng)可靠性與擴(kuò)展性系統(tǒng)可靠性HDFS可靠性概述:HDFS包括元數(shù)據(jù)節(jié)點(diǎn)(Namenode)和數(shù)據(jù)節(jié)點(diǎn)(Datanode),Namenode是一個中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的Namespace和客戶端對文件的訪問。,Datanode在集群中一般是一個節(jié)點(diǎn)一個,Datanode是文件系統(tǒng)中真正存儲數(shù)據(jù)的地方。DataNode所在機(jī)器掛了怎么辦?HDFS(HadoopDistributedFileSystem)默認(rèn)的最基本的存儲單位是64M的數(shù)據(jù)塊(block)。一個文件對應(yīng)的所有BLOCK全部按照一定的部署策略存在于DataNode上,文件的所有block為了容錯都會被復(fù)制(一般為3份),每個文件的block大小和replication因子都是可配置的。Datanode每3分鐘向Namenode發(fā)送心跳,如果10分鐘datanode沒有向Namenode發(fā)送心跳,則Namenode認(rèn)為該Datanode已經(jīng)dead,Namenode將取出該Datanode上對應(yīng)的block,對其進(jìn)行復(fù)制。Namenode掛了怎么辦?Namenode主控服務(wù)器,為了避免主節(jié)點(diǎn)失效而影響整個系統(tǒng)正常工作,我們采用基于HDFS的改進(jìn)方案Avatar,同時可開啟兩個Namenode,主Namenode和secondNamenode,實際工作的只有主Namenode。主Namenode將所有關(guān)于文件和目錄的操作記錄都會寫入日志,并定時序列化到本地做鏡像,并且保存到本地的NFS服務(wù)器,同時secondNamenode讀取主Namenode所在NFS服務(wù)器的日志并對鏡像日志做CheckPoint。故障后,secondNamenode升級為Namenode,通過鏡像數(shù)據(jù)和文件日志迅速恢復(fù)系統(tǒng)。數(shù)據(jù)服務(wù)器可通過分布式協(xié)同服務(wù)機(jī)制得知關(guān)于主控服務(wù)器的更迭情況,然后向新的主控注冊并繼續(xù)發(fā)送心跳。HBase可靠性概述:HBase系統(tǒng)由HBase集群和ZooKeeper集群組成。HBase的可靠性由其自身的ZooKeeper機(jī)制保證。HBase包括Hregion服務(wù)器群和Master主服務(wù)器構(gòu)成。Master負(fù)責(zé)管理Hregion。物理上,一張表是被拆成多個塊,一張完整的表格是保存在多個Hregion上面的。master掛掉怎么辦?由于master只維護(hù)表和region的元數(shù)據(jù),因此master下線短時間內(nèi)對整個hbase集群沒有影響,master保存的信息全是可以冗余信息(都可以從系統(tǒng)其它地方收集到或者計算出來),因此,啟動HBase時可以再啟動一個備用的master,實際工作的只有主master,當(dāng)主master所在節(jié)點(diǎn)宕機(jī),會自動切換到備用master所在節(jié)點(diǎn)。Hregionserver掛掉怎么辦?物理上,表格分為多個Region一張表是被拆成多個塊,一張完整的表格是保存在多個Hregionserver上面的。并且分布在多臺Hregionserver中,物理上所有數(shù)據(jù)存儲在Hadoop的HDFS上,由一些子表服務(wù)器來提供數(shù)據(jù)服務(wù),提供服務(wù)時,子表先查HMemcache,如果沒有,再查HDFS上的HStore,由HDFS來保證數(shù)據(jù)的可靠性。如果丟失Region的數(shù)據(jù)所在節(jié)點(diǎn)的datanode宕機(jī),HDFS會自動映射到其他節(jié)點(diǎn),從而保證Region數(shù)據(jù)的可靠性。ZooKeeper掛掉怎么辦?Zookeeper分為2個部分:服務(wù)器端和客戶端。啟動Zookeeper服務(wù)器集群環(huán)境后,多個Zookeeper服務(wù)器在工作前會選舉出一個Leader,在接下來的工作中這個被選舉出來的Leader死了,而剩下的Zookeeper服務(wù)器會知道這個Leader死掉了,在活著的Zookeeper集群中會繼續(xù)選出一個Leader,選舉出leader的目的是為了可以在分布式的環(huán)境中保證數(shù)據(jù)的一致性。MapReduce可靠性概述:MapReduce整體上可以分為這么幾條執(zhí)行的線索,JobTracker與JobTracker是一個master服務(wù),軟件啟動之后JobTracker接收job,負(fù)責(zé)調(diào)度job的每一個子任務(wù)task運(yùn)行于TaskTracker上,并監(jiān)控它們,如果發(fā)現(xiàn)有失敗的task就重新運(yùn)行它。一般情況應(yīng)該把JobTracker部署在單獨(dú)的機(jī)器上。TaskTracker是運(yùn)行于多個節(jié)點(diǎn)上的slaver服務(wù)。TaskTracker主動與JobTracker通信,接收作業(yè),并負(fù)責(zé)直接執(zhí)行每一個任務(wù)。TaskTracker都需要運(yùn)行在HDFS的DataNode上,JobTracker0掛掉怎么辦?在系統(tǒng)啟動時同時啟動備份JobTracker1節(jié)點(diǎn),當(dāng)JobTracker0節(jié)點(diǎn)宕機(jī)時,ZooKeeper會在其上啟動JobTracker進(jìn)程替代JobTracker0節(jié)點(diǎn),虛擬IP會指向此節(jié)點(diǎn),TaskTracker會注冊到此節(jié)點(diǎn)上,未完成的MapReduce作業(yè)會被ZooKeeper調(diào)度到此節(jié)點(diǎn)上重新執(zhí)行。TaskTracker掛掉怎么辦?JobTracker是一個master服務(wù),軟件啟動之后JobTracker接收job,負(fù)責(zé)調(diào)度job的每一個子任務(wù)task運(yùn)行于TaskTracker上,并監(jiān)控它們,如果發(fā)現(xiàn)有失敗的task就重新運(yùn)行它。并且將其負(fù)責(zé)的task分配給其他TaskTracker上。系統(tǒng)擴(kuò)展性已有的Hadoop集群規(guī)模Hadoop是一個相當(dāng)有彈性和擴(kuò)展性的平臺,它既可以在成千上萬的機(jī)器上跑,也可以在很小規(guī)模上運(yùn)行。目前最大的Hadoop集群有四千臺機(jī)器。Hadoop擴(kuò)展優(yōu)勢:與其它分布式系統(tǒng)相比,使用Hadoop的好處在于它的水平的可擴(kuò)展性,在少量結(jié)點(diǎn)上,用Hadoop處理有限的數(shù)據(jù)時,不能展示Hadoop的性能,因為開始Hadoop程序相關(guān)的代價比較高,其它并行/分布程序方式,比如MPI(MessagePassingInterface)可能在2臺,4臺或許10多臺計算機(jī)上有更好的性能,盡管在少量機(jī)器上協(xié)同工作在這種系統(tǒng)上也許會取得更好的性能,但這種為性能所要付出的努力是非線性的增長。用其它分布式框架所寫的程序在從十臺機(jī)器的級別到成百上千臺機(jī)器需要大量的重構(gòu)工作,這也許要程序重寫幾次,并且其它框的基礎(chǔ)元素會限制應(yīng)用的規(guī)模大小。但是特別設(shè)計的Hadoop有著水平的可擴(kuò)展性,一個Hadoop程序?qū)懲旰?,?0個結(jié)點(diǎn)上運(yùn)行,如果遷徙到更大的集群上運(yùn)行,幾乎不需要做什么工作,Hadoop平臺會管理數(shù)據(jù)和硬件資源并提供與可用資源成比例的可靠性能。Hadoop擴(kuò)展方法:HBase集群具備線性擴(kuò)展功能,只需要將配置好的regionserver節(jié)點(diǎn)加入到集群中。MapReduce集群具備線性擴(kuò)展功能,只需要將配置好的TaskTracker節(jié)點(diǎn)加入到集群中,JobTracker節(jié)點(diǎn)就會將Map或Reduce任務(wù)分配給此節(jié)點(diǎn)處理。HDFS具備線性擴(kuò)展功能,只需要將配置好的DataNode節(jié)點(diǎn)加入到集群中,并且在集群空閑時執(zhí)行balancer工具以平衡集群中DataNode的數(shù)據(jù)塊負(fù)載。系統(tǒng)設(shè)計性能監(jiān)控數(shù)據(jù)流量處理能力監(jiān)控數(shù)據(jù)集群完全采用分布式實現(xiàn),支持線性擴(kuò)展,每節(jié)點(diǎn)采用低端X86PCServer處理500條/s流量。對于全縣總量5000條/s的實時入庫數(shù)據(jù)和大量的歷史數(shù)據(jù)來說,需要24臺處理機(jī)。以下是各部分處理能力統(tǒng)計:監(jiān)控數(shù)據(jù)存儲查詢服務(wù)器配置:8核CPU×2,主頻2.3GHz,內(nèi)存32G,硬盤8×2TSATA處理能力:折合監(jiān)控數(shù)據(jù)入庫流量500條/s/臺應(yīng)用分析服務(wù)器配置:8核CPU×2,主頻2.3GHz,內(nèi)存16G,硬盤2×300GSAS處理能力:折合處理并發(fā)訪問量500次/s/臺數(shù)據(jù)存儲能力原始監(jiān)控數(shù)據(jù)存儲采用云存儲平臺,分布式文件系統(tǒng)存儲服務(wù)。性能指標(biāo):存儲量指標(biāo)單系統(tǒng)應(yīng)支持PB級存儲容量。吞吐量指標(biāo)吞吐量是指在沒有幀丟失的情況下,設(shè)備能夠接受的最大速率。吞吐量根據(jù)應(yīng)用系統(tǒng)讀寫方式和應(yīng)用系統(tǒng)讀取存儲內(nèi)容大小分成四個指標(biāo)。分布式文件存儲系統(tǒng)按照32個節(jié)點(diǎn)并發(fā)500個用戶計算,單節(jié)點(diǎn)8塊2T大小的硬盤情況下,每個節(jié)點(diǎn)指標(biāo)具體內(nèi)容如下表所示:表8分布式文件存儲系統(tǒng)吞吐量指標(biāo)編號讀寫方式存儲內(nèi)容大小平均吞吐量指標(biāo)(MBps)1100%讀1GB602100%寫1GB303100%讀100KB304100%寫100KB15圖表7分布式文件存儲系統(tǒng)吞吐量指標(biāo)系統(tǒng)響應(yīng)時間指標(biāo)千兆網(wǎng)絡(luò)環(huán)境下,局域網(wǎng)客戶端從分布式文件存儲系統(tǒng)中讀取4096字節(jié)存儲內(nèi)容的響應(yīng)時間應(yīng)不高于50ms。監(jiān)控數(shù)據(jù)存儲采用HDFS性能指標(biāo),如下:數(shù)據(jù)讀取性能:40~80MB/s·節(jié)點(diǎn);數(shù)據(jù)規(guī)模:10PB規(guī)模;數(shù)據(jù)負(fù)載均衡時間:可依據(jù)流量配置而確定;集群重新啟動時間(10PB規(guī)模):分鐘級別;查詢分析計算性能對任何實時分析操作的反應(yīng)時間小于10秒;查詢、統(tǒng)計操作的首次響應(yīng)時延小于1秒;并發(fā)操作終端數(shù)大于30個;基于監(jiān)控數(shù)據(jù)的統(tǒng)計,記錄5000萬條以內(nèi),30秒可以統(tǒng)計完成。定制開發(fā)方案相對于已經(jīng)完成的傳統(tǒng)方案,云計算方案還需要在以下方面進(jìn)行特定開發(fā)。(1)歷史數(shù)據(jù)匯入處理平臺定制開發(fā)歷史數(shù)據(jù)入庫系統(tǒng)需要使用與計算存儲集群分立的專用機(jī)器(可安裝在各縣縣現(xiàn)有的數(shù)據(jù)服務(wù)器上)。由于數(shù)據(jù)匯入處理不需要存儲任何數(shù)據(jù),僅僅需要讀取、解析和入庫數(shù)據(jù)。因此,數(shù)據(jù)匯入時對服務(wù)器的要求比較簡單,不需要考慮和使用諸如Hadoop的大規(guī)模數(shù)據(jù)并行計算和存儲系統(tǒng),只需要一般的單一的服務(wù)器即可。(2)上報數(shù)據(jù)上報處理平臺定制開發(fā)上報數(shù)據(jù)上報系統(tǒng)需要使用與計算存儲集群分立的專用機(jī)器(可安裝在縣數(shù)據(jù)中心現(xiàn)有的數(shù)據(jù)服務(wù)器上)。由于數(shù)據(jù)上報處理不需要存儲任何數(shù)據(jù),僅僅需要讀取、解析和上報數(shù)據(jù)。因此,數(shù)據(jù)上報時對服務(wù)器的使用比較簡單,不需要考慮和使用諸如Hadoop的大規(guī)模數(shù)據(jù)并行計算和存儲系統(tǒng),只需要一般的單一的服務(wù)器即可。但是由于上報的數(shù)據(jù)量比較大,而上報時間又不會很長,所以對服務(wù)器的性能有一定要求。(3)監(jiān)控數(shù)據(jù)實時入庫并創(chuàng)建索引程序定制開發(fā)監(jiān)控數(shù)據(jù)存儲在Hadoop系統(tǒng)的HDFS中,但由于巨大的監(jiān)控數(shù)據(jù)流量,每秒鐘將有大量的監(jiān)控數(shù)據(jù)產(chǎn)生,為了提供及時的數(shù)據(jù)查詢,這些數(shù)據(jù)文件必須得到及時的索引創(chuàng)建處理,否則將造成大量的監(jiān)控數(shù)據(jù)積壓。因此,索引創(chuàng)建程序需要有較高的實時處理能力,以便能在毫秒級時間內(nèi)保證處理完大量的一秒鐘的監(jiān)控數(shù)據(jù)。由于MapReduce計算任務(wù)需要較長的作業(yè)初始化時間,監(jiān)控數(shù)據(jù)索引創(chuàng)建程序?qū)㈦y以用MapReduce程序?qū)崿F(xiàn),而需要基于HDFS、利用HDFS編程接口編寫和定制較為復(fù)雜的非MapReduce程序,該程序不能依賴任何MapReduce的編程構(gòu)架和接口,而需要自行編寫程序完成全部的數(shù)據(jù)讀出、解析處理、復(fù)雜的索引計算、以及索引數(shù)據(jù)的輸出(輸出到HDFS或者Hbase)處理過程。(4)查詢分析接口開發(fā)智慧監(jiān)控云平臺會提供以下的應(yīng)用接口:實時監(jiān)控、報警監(jiān)控、監(jiān)控軌跡查詢與回放、電子地圖、報警管理、布控管理、設(shè)備管理、事件檢測報警、流量統(tǒng)計和分析、系統(tǒng)管理等。這些應(yīng)用接口都需要根據(jù)實際的應(yīng)用需求再進(jìn)行合理的改進(jìn)過程。(5)查詢分析軟件定制開發(fā)(可選)查詢分析軟件將設(shè)計為基于Web的應(yīng)用程序,包括客戶端查詢用戶界面以及服務(wù)器端查詢服務(wù)程序??蛻舳瞬樵冇脩艚缑婵苫谕ㄓ玫臑g覽器實現(xiàn),也可設(shè)計為獨(dú)立(standalone)的客戶端軟件。具體的客戶端界面將需要根據(jù)不同的查詢功能需求設(shè)計實現(xiàn)不同的查詢界面。查詢服務(wù)軟件將基于ApacheWeb服務(wù)器設(shè)計實現(xiàn)。需要特別考慮的是,大量并發(fā)的用戶查詢?nèi)蝿?wù)將需要設(shè)計實現(xiàn)查詢?nèi)蝿?wù)分發(fā)時的負(fù)載均衡處理。(6)并行處理任務(wù)的負(fù)載均衡調(diào)度和單節(jié)點(diǎn)失效恢復(fù)機(jī)制的定制方案前述的監(jiān)控數(shù)據(jù)入庫、建立索引、數(shù)據(jù)匯總和數(shù)據(jù)上報、數(shù)據(jù)查詢等處理中需要考慮的一個共性的重要問題是,為了對大量數(shù)據(jù)進(jìn)行并行化的處理、或者大量用戶同時發(fā)出了很多查詢請求時,需要考慮并行計算任務(wù)的分發(fā)調(diào)度和負(fù)載均衡,尤其是負(fù)責(zé)分發(fā)調(diào)度的節(jié)點(diǎn)可能出現(xiàn)單節(jié)點(diǎn)失效而導(dǎo)致系統(tǒng)無法正常工作。為此,將基于Zookeeper設(shè)計實現(xiàn)一個可防止單節(jié)點(diǎn)失效的并行計算任務(wù)分發(fā)調(diào)度控制機(jī)制和程序框架。該框架中,Zookeeper將使用3臺并行計算任務(wù)調(diào)度服務(wù)器,并有Zookeeper負(fù)責(zé)選擇和確定一個主服務(wù)器進(jìn)行工作,但當(dāng)主服務(wù)器失效時,Zookeeper將能夠自動感知并選擇另一個服務(wù)器作為主服務(wù)器工作,以此完成單節(jié)點(diǎn)失效的恢復(fù)處理。進(jìn)而,通過Zookeeper還可以控制和均衡調(diào)度使用大量的計算節(jié)點(diǎn),從而完成并行計算任務(wù)分發(fā)調(diào)服時的負(fù)載均衡。(7)Hadoop計算與存儲集群的可靠性設(shè)計和功能擴(kuò)展Hadoop作為一個開源的面向大規(guī)模數(shù)據(jù)并行計算的編程框架和平臺,其可靠性和性能方面還存在不少需要改進(jìn)的地方。比如,Hadoop集群的Master服務(wù)器雖然開用了一個備份Master服務(wù)器,但當(dāng)主Master服務(wù)器失效時,備份Master服務(wù)器并不能自動完成失效恢復(fù)和切換處理。這就無法滿足智慧監(jiān)控的實時性處理需求。為此,我們需要對Hadoop進(jìn)行改進(jìn),設(shè)計實現(xiàn)一個能自動完成Master服務(wù)器失效處理和切換的定制Hadoop系統(tǒng),以便為智慧監(jiān)控云平臺提供一個高可靠性的大規(guī)模數(shù)據(jù)并行計算和存儲平臺。系統(tǒng)設(shè)計實施與關(guān)鍵技術(shù)方法云處理子系統(tǒng)設(shè)計實施與關(guān)鍵技術(shù)方法系統(tǒng)軟硬件平臺系統(tǒng)軟硬件結(jié)構(gòu)如圖:圖表8系統(tǒng)軟硬件結(jié)構(gòu) 系統(tǒng)的物理硬件采用低端的x86PC服務(wù)器,操作系統(tǒng)采用RedHatLinux。數(shù)據(jù)處理流程數(shù)據(jù)匯總上報處理流程如圖:圖表9數(shù)據(jù)匯總上報處理流程實時數(shù)據(jù)入庫流程如圖:圖表10實時數(shù)據(jù)入庫流程數(shù)據(jù)存儲子系統(tǒng)海量數(shù)據(jù)分布式數(shù)據(jù)存儲構(gòu)架云計算是一種超級的計算模式,可以把網(wǎng)絡(luò)中的計算機(jī)虛擬為一個資源池,將所有的計算資源集中起來,并用特定軟件實現(xiàn)自動管理,使得各種計算資源可以協(xié)同工作,這就使得處理數(shù)量巨大的數(shù)據(jù)成為了可能?;谠朴嬎愕暮A繑?shù)據(jù)存儲模型,是依據(jù)云計算的核心計算模式MapReduce,并依托實現(xiàn)了MapReduce計算模式的開源分布式并行編程框架Hadoop,將存儲模型和云計算結(jié)合在一起,實現(xiàn)海量數(shù)據(jù)的分布式存儲。MapReduce是云計算的核心計算模式,是一種分布式運(yùn)算技術(shù),也是簡化的分布式編程模式,用于解決問題的程序開發(fā)模型,也是開發(fā)人員拆解問題的方法。MapReduce模式的主要思想是將自動分割要執(zhí)行的問題,拆解成Map(映射)和Reduce(化簡)的方式。在數(shù)據(jù)被分割后通過Map函數(shù)的程序?qū)?shù)據(jù)映射成不同的區(qū)塊,分配給計算機(jī)集群處理達(dá)到分布式運(yùn)算的效果,在通過Reduce函數(shù)的程序?qū)⒔Y(jié)果匯整,從而輸出開發(fā)者需要的結(jié)果。MapReduce借鑒了函數(shù)式程序設(shè)計語言的設(shè)計思想,其軟件實現(xiàn)是指定一個Map函數(shù),把鍵值對(key/value)映射成新的鍵值對(key/value),形成一系列中間結(jié)果形式的key/value對,然后把它們傳給Reduce(規(guī)約)函數(shù),把具有相同中間形式key的value合并在一起。Map和Reduce函數(shù)具有一定的關(guān)聯(lián)性。MapReduce流程如圖所示:圖表11分布式計算流程Hadoop是一個實現(xiàn)了MapReduce計算模型的開源分布式并行編程框架,程序員可以借助Hadoop編寫程序,將所編寫的程序運(yùn)行于計算機(jī)集群上,從而實現(xiàn)對海量數(shù)據(jù)的處理。此外,Hadoop還提供一個分布式文件系統(tǒng)(HDFS)及分布式數(shù)據(jù)庫(HBase)用來將數(shù)據(jù)存儲或部署到各個計算節(jié)點(diǎn)上。借助Hadoop框架及云計算核心技術(shù)MapReduce來實現(xiàn)數(shù)據(jù)的計算和存儲,并且將HDFS分布式文件系統(tǒng)和HBase分布式數(shù)據(jù)庫很好的融入到云計算框架中,從而實現(xiàn)云計算的分布式、并行計算和存儲,并且得以實現(xiàn)很好的處理大規(guī)模數(shù)據(jù)的能力。綜合MapReduce和HDFS來看Hadoop的結(jié)構(gòu):圖表12Hadoop結(jié)構(gòu)在Hadoop的系統(tǒng)中,會有一臺Master,主要負(fù)責(zé)Namenode的工作以及JobTracker的工作。JobTracker的主要職責(zé)就是啟動、跟蹤和調(diào)度各個Slave的任務(wù)執(zhí)行。還會有多臺Slave,每一臺Slave通常具有DataNode的功能并負(fù)責(zé)TaskTracker的工作。TaskTracker根據(jù)應(yīng)用要求來結(jié)合本地數(shù)據(jù)執(zhí)行Map任務(wù)以及Reduce任務(wù)。主服務(wù)控制集群相當(dāng)于控制器部分,主要負(fù)責(zé)接收應(yīng)用請求并且根據(jù)請求類型進(jìn)行應(yīng)答。存儲節(jié)點(diǎn)集群相當(dāng)于存儲器部分,是由龐大的磁盤陣列系統(tǒng)或是具有海量數(shù)據(jù)存儲能力的集群系統(tǒng),主要功能是處理數(shù)據(jù)資源的存取。HDFS和Hbase用來將數(shù)據(jù)存儲或部署到各個計算節(jié)點(diǎn)上。Hadoop中有一個作為主控的Master,用于調(diào)度和管理其它的計算機(jī)(將其稱之為TaskTracker),Master可以運(yùn)行于集群中任一臺計算機(jī)上。TaskTracker負(fù)責(zé)執(zhí)行任務(wù),必須運(yùn)行于DataNode上,DataNode既是數(shù)據(jù)存儲節(jié)點(diǎn),也是計算節(jié)點(diǎn)。Master將Map任務(wù)和Reduce任務(wù)分發(fā)給空閑的TaskTracker,讓這些任務(wù)并行運(yùn)行,并負(fù)責(zé)監(jiān)控任務(wù)的運(yùn)行情況。如果其中任意一個TaskTracker出故障了,Master會將其負(fù)責(zé)的任務(wù)轉(zhuǎn)交給另一個空閑的TaskTracker重新運(yùn)行。用戶不直接通過Hadoop架構(gòu)讀取及HDFS和Hbase存取數(shù)據(jù),從而避免了大量讀取操作可能造成的系統(tǒng)擁塞。用戶從Hadoop架構(gòu)傳給主服務(wù)控制集群的信息后,直接和存儲節(jié)點(diǎn)進(jìn)行交互進(jìn)行讀取操作。適應(yīng)應(yīng)用需求的混合存儲策略混合存儲策略可以簡述為HDFS分布式文件系統(tǒng)用來存儲海量數(shù)據(jù),可以根據(jù)存儲的數(shù)據(jù)類型建立索引,HBase也可用來存儲海量數(shù)據(jù),其由查詢條件建立索引表,Database對小型數(shù)據(jù)的存儲處理。分布式文件系統(tǒng)HDFS是一個開源云計算平臺Hadoop框架的底層實現(xiàn)部分,適合運(yùn)行在通用硬件上的分布式文件系統(tǒng),具有高容錯性,能提高吞吐量的數(shù)據(jù)訪問,非常適合于大規(guī)模數(shù)據(jù)集上的應(yīng)用。MapReduce在HDFS的基礎(chǔ)上實現(xiàn)的并行框架,為用戶提供容易使用的并行編程模式,MapReduce計算包括兩個階段,Map(映射)階段和Reduce(規(guī)范)階段。首先,Map函數(shù)把一組(Key,Value)輸入,映射為一組中間結(jié)果(Key,Value),然后通過Reduce函數(shù)把具有相同Key值的中間結(jié)果,進(jìn)行合并化簡。MapReduce將計算作業(yè)分成許多小的單元,同時數(shù)據(jù)也會被HDFS分為多個Block,并且每個數(shù)據(jù)塊被復(fù)制多份,保證系統(tǒng)的可靠性,HDFS按照一定的規(guī)則將數(shù)據(jù)塊放置在集群中的不同機(jī)器上,以便MapReduce在數(shù)據(jù)宿主機(jī)器上進(jìn)行計算。HBase類似Bigtable的分布式數(shù)據(jù)庫,是一個稀疏的,長期存儲的,多維的,排序的映射表.這張表的索引是行關(guān)鍵字,列關(guān)鍵字和時間戳。所有數(shù)據(jù)庫的更新都是一個時間戳標(biāo)記,每個更新都是一個新的版本,而HBase會保留一定數(shù)量的版本,這個值是可以設(shè)定的??蛻舳丝梢垣@取距離某個時間最近的版本,或者一次獲取所有版本。HDFS數(shù)據(jù)存儲 分布式文件系統(tǒng)HDFS被設(shè)計為將海量文件存儲在一個大集群的多臺計算機(jī)上。HDFS將每一個文件以分塊序列的形式進(jìn)行存儲,一個文件的所有分塊除去最后一個分塊外都是等大小的。為了實現(xiàn)容錯將文件分塊進(jìn)行自動復(fù)制。文件分塊的塊大小和復(fù)制比例都是可以按照單個文件進(jìn)行配置的。HDFS中的所有文件都是“只寫一次”并且嚴(yán)格限定在任何時候只有一個寫文件操作者。 HDFS是Hadoop框架的分布式并行文件系統(tǒng),是分布式計算的存儲基石。負(fù)責(zé)數(shù)據(jù)分布式存儲及數(shù)據(jù)的管理,并能提供高吞吐量的數(shù)據(jù)訪問。HDFS的基本特征如下:(l)對于整個集群有單一的命名空間。(2)文件會被分割成多個文件塊,每個文件塊被分配存儲到數(shù)據(jù)節(jié)點(diǎn)上,而且根據(jù)配置會有復(fù)制的文件塊來保證數(shù)據(jù)安全性。(3)數(shù)據(jù)一致性。適合一次寫入多次讀取的模型,客戶端在成功創(chuàng)建文件之后,才能看到文件的存在。(4)Hadoop,包括HDFS,非常適合在廉價機(jī)器上的分布式存儲和分布式處理。它是容錯的、可伸縮的、非常易于擴(kuò)展。并且,以簡單性和適用性著稱的MapReduce是Hadoop不可缺少的重要組成部分。(5)HDFS的默認(rèn)配置適合于大多數(shù)安裝的應(yīng)用。通常情況下,只有在一個非常大規(guī)模的集群上才需要修改默認(rèn)配置。(6)支持shell命令行風(fēng)格的HDFS目錄交互。(7)HDFS是用java編寫的,可廣泛運(yùn)行在多種軟硬件平臺上。(8)HDFS經(jīng)常性地實現(xiàn)新的特性和改進(jìn)。(9)Namenode和DataNode都內(nèi)建了Web服務(wù)器,可以方便地查看集群的狀態(tài)。HDFS的體系框架是Master/Slave結(jié)構(gòu),一個典型的HDFS通常由單個Namenode和多個DataNode組成。Namenode是一個中心服務(wù)器,負(fù)責(zé)文件系統(tǒng)的名字空間的操作,比如打開、關(guān)閉、重命名文件或目錄,它負(fù)責(zé)維護(hù)文件路徑到數(shù)據(jù)塊的映射,數(shù)據(jù)塊到DataNode的映射,以及監(jiān)控DataNode的心跳和維護(hù)數(shù)據(jù)塊副本的個數(shù)。集群中的DataNode一般是一個節(jié)點(diǎn)一個,負(fù)責(zé)管理它所在節(jié)點(diǎn)上的存儲。HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲數(shù)據(jù)。從內(nèi)部看,一個文件其實被分成一個或多個數(shù)據(jù)塊,這些塊存儲在一組DataNode上。DataNode負(fù)責(zé)處理文件系統(tǒng)客戶端的讀寫請求。在Namenode的統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制。所有對目錄樹的更新和文件名和數(shù)據(jù)塊關(guān)系的修改,都必須能夠持久化,文件在HDFS中存儲圖如圖:圖表13Hdfs結(jié)構(gòu)HDFS涉及到Namenode、DataNode和客戶端們之間的交互。本質(zhì)上,客戶端與Namenode通訊是通過獲取或者修改文件的元數(shù)據(jù),與DataNode進(jìn)行實際的I/O操作。如圖13所示,在HDFS中有三個重要的角色:Namenode、DataNode和Client,其中Client就是需要獲取分布式文件系統(tǒng)文件的應(yīng)用程序。這里通過三個操作來說明他們之間的交互關(guān)系:(l)文件寫入。首先Client向Namenode發(fā)起文件寫入的請求,Namenode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。Client將文件劃分為多個Block,根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€DataNode塊中。(2)文件讀取。Client向Namenode發(fā)起文件讀取的請求,Namenode返回文件存儲的DataNode的信息。Client根據(jù)返回的信息讀取DataNode上的文件信息。(3)文件Block復(fù)制。Namenode發(fā)現(xiàn)部分文件的Block不符合最小復(fù)制數(shù)或者部分DataNode失效,通知DataNode相互復(fù)制Block。DataNode收到通知后開始直接相互復(fù)制。

圖表14HDFSNamenode、DataNode和客戶端們之間的交互HBase數(shù)據(jù)存儲HBase–HadoopDatabase,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術(shù)可在廉價PCServer上搭建起大規(guī)模結(jié)構(gòu)化存儲集群。其目的是處理龐大的表,可以用普通的計算機(jī)處理10億行數(shù)據(jù),并且有數(shù)百萬列元素組成的數(shù)據(jù)表這張表的索引是行關(guān)鍵字。Hbase可以直接使用本地的文件系統(tǒng)和Hadoop作為數(shù)據(jù)存儲方式,不過為了提高數(shù)據(jù)的可靠性和系統(tǒng)的健壯性,發(fā)揮Hbase處理大數(shù)據(jù)量等功能,需要使用Hadoop作為文件系統(tǒng)。1、數(shù)據(jù)模式HBase類似Bigtable的分布式數(shù)據(jù)庫,是一個稀疏的,長期存儲的,多維的,排序的映射表.這張表的索引是行關(guān)鍵字,列關(guān)鍵字和時間戳。每個值是一個不解釋的字符數(shù)組,數(shù)據(jù)都是字符串,沒類型。用戶在表格中存儲數(shù)據(jù),每一行都是一個可排序的主鍵和任意多的列。由于是稀疏存儲的,所以同一張表里面的每一行數(shù)據(jù)都可以有截然不同的列。列名字的格式是"<family>:<lable>",都是由字符串組成,每一張表有一個family集合,這個集合是固定不變的,相當(dāng)于表的結(jié)構(gòu),只能通過改變表的結(jié)構(gòu)來改變。但是lable值相對于每一行來說都是可以改變的。HBase把同一個family里面的數(shù)據(jù)存儲在同一個目錄底下,而HBase的寫操作時鎖行的,每一個都是一個原子元素都可以加鎖。所有數(shù)據(jù)庫的更新都是一個時間戳標(biāo)記,每個更新都是一個新的版本,而HBase會保留一定數(shù)量的版本,這個值是可以設(shè)定的??蛻舳丝梢垣@取距離某個時間最近的版本,或者一次獲取所有版本。2、概念視圖一個表可以想象成一個大的映射關(guān)系,通過主鍵,或者主鍵+時間戳,可以定位一行數(shù)據(jù),由于是稀疏數(shù)據(jù),所以某些列可以是空白的,下面就是數(shù)據(jù)的概念視圖:RowKeyTimeStampColumnColumn"anchor"Column"mime""n.www"t9"anchor:""CNN"t8"anchor:my.look.ca""CNN.com"t6"<html>..."t5"<html>...""text/html"t3"<html>..."3、物理視圖從概念視圖看每個表格是有很多行組成,但是在物理存儲上,它是按照列來保存的。RowKeyTimeStampColumn"contents""n.www"t6"<html>..."t5"<html>..."t3"<html>..."RowKeyTimeStampColumn"anchor""n.www"t9"anchor:""CNN"t8"anchor:my.look.ca""CNN.com"RowKeyTimeStampColumn"mine""n.www"t6"text/html"在概念視圖上面有些列是空白的,這樣的列實際上并不會被存儲,當(dāng)請求這些空白的單元格的時候,會返回null值。如果在查詢的時候不提供時間戳,那么會返回距離現(xiàn)在最近的那個版本數(shù)據(jù)。因為在存儲的時候,數(shù)據(jù)會按照時間戳排序Database數(shù)據(jù)存儲數(shù)據(jù)庫(Database)是存儲在一起的相關(guān)數(shù)據(jù)的集合,這些數(shù)據(jù)是結(jié)構(gòu)化的,無有害的或不必要的冗余,并為多種應(yīng)用服務(wù);數(shù)據(jù)的存儲獨(dú)立于使用它的程序;對數(shù)據(jù)庫插入新數(shù)據(jù),修改和檢索原有數(shù)據(jù)均能按一種公用的和可控制的方式進(jìn)行。當(dāng)某個系統(tǒng)中存在結(jié)構(gòu)上完全分開的若干個數(shù)據(jù)庫時,則該系統(tǒng)包含一個“數(shù)據(jù)庫集合”。數(shù)據(jù)庫中的數(shù)據(jù)有兩種性質(zhì):1、數(shù)據(jù)整體性數(shù)據(jù)庫是一個單位或是一個應(yīng)用領(lǐng)域的通用數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)庫中的數(shù)據(jù)是從全局觀點(diǎn)出發(fā)建立的,他按一定的數(shù)據(jù)模型進(jìn)行組織、描述和存儲。其結(jié)構(gòu)基于數(shù)據(jù)間的自然聯(lián)系,從而可提供一切必要的存取路徑,且數(shù)據(jù)不再針對某一應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化特征。2、數(shù)據(jù)共享性數(shù)據(jù)庫中的數(shù)據(jù)是為眾多用戶所共享其信息而建立的,已經(jīng)擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用數(shù)據(jù)庫中的數(shù)據(jù);多個用戶可以同時共享數(shù)據(jù)庫中的數(shù)據(jù)資源,即不同的用戶可以同時存取數(shù)據(jù)庫中的同一個數(shù)據(jù)。數(shù)據(jù)共享性不僅滿足了各用戶對信息內(nèi)容的要求,同時也滿足了各用戶之間信息通信的要求。數(shù)據(jù)庫的基本結(jié)構(gòu)分為三層:1.物理數(shù)據(jù)層它是數(shù)據(jù)庫的最內(nèi)層,是物理存貯設(shè)備上實際存儲的數(shù)據(jù)的集合。這些數(shù)據(jù)是原始數(shù)據(jù),是用戶加工的對象,由內(nèi)部模式描述的指令操作處理的位串、字符和字組成。2.概念數(shù)據(jù)層它是數(shù)據(jù)庫的中間一層,是數(shù)據(jù)庫的整體邏輯表示。指出了每個數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。它所涉及的是數(shù)據(jù)庫所有對象的邏輯關(guān)系,而不是它們的物理情況,是數(shù)據(jù)庫管理員概念下的數(shù)據(jù)庫。3.邏輯數(shù)據(jù)層它是用戶所看到和使用的數(shù)據(jù)庫,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。數(shù)據(jù)庫不同層次之間的聯(lián)系是通過映射進(jìn)行轉(zhuǎn)換的。主要特點(diǎn): (1)實現(xiàn)數(shù)據(jù)共享。數(shù)據(jù)共享包含所有用戶可同時存取數(shù)據(jù)庫中的數(shù)據(jù),也包括用戶可以用各種方式通過接口使用數(shù)據(jù)庫,并提供數(shù)據(jù)共享。(2)減少數(shù)據(jù)的冗余度。同文件系統(tǒng)相比,由于數(shù)據(jù)庫實現(xiàn)了數(shù)據(jù)共享,從而避免了用戶各自建立應(yīng)用文件。減少了大量重復(fù)數(shù)據(jù),減少了數(shù)據(jù)冗余,維護(hù)了數(shù)據(jù)的一致性。(3)數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括數(shù)據(jù)庫中數(shù)據(jù)庫的邏輯結(jié)構(gòu)和應(yīng)用程序相互獨(dú)立,也包括數(shù)據(jù)物理結(jié)構(gòu)的變化不影響數(shù)據(jù)的邏輯結(jié)構(gòu)。(4)數(shù)據(jù)實現(xiàn)集中控制。文件管理方式中,數(shù)據(jù)處于一種分散的狀態(tài),不同的用戶或同一用戶在不同處理中其文件之間毫無關(guān)系。利用數(shù)據(jù)庫可對數(shù)據(jù)進(jìn)行集中控制和管理,并通過數(shù)據(jù)模型表示各種數(shù)據(jù)的組織以及數(shù)據(jù)間的聯(lián)系。(5)數(shù)據(jù)一致性和可維護(hù)性,以確保數(shù)據(jù)的安全性和可靠性。主要包括:①安全性控制:以防止數(shù)據(jù)丟失、錯誤更新和越權(quán)使用;②完整性控制:保證數(shù)據(jù)的正確性、有效性和相容性;③并發(fā)控制:使在同一時間周期內(nèi),允許對數(shù)據(jù)實現(xiàn)多路存取,又能防止用戶之間的不正常交互作用;④故障的發(fā)現(xiàn)和恢復(fù):由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞(6)故障恢復(fù)。由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞。數(shù)據(jù)庫系統(tǒng)能盡快恢復(fù)數(shù)據(jù)庫系統(tǒng)運(yùn)行時出現(xiàn)的故障,可能是物理上或是邏輯上的錯誤。比如對系統(tǒng)的誤操作造成的數(shù)據(jù)錯誤等。數(shù)據(jù)存儲的可靠性HBase采用的是Hadoop作為文件系統(tǒng),hadoop以機(jī)柜為基礎(chǔ)的數(shù)據(jù)存放策略,那么不僅充分利用了網(wǎng)絡(luò)寬帶,而且提高數(shù)據(jù)可靠性。HDFS的主要目標(biāo)就是實現(xiàn)在失敗情況下的數(shù)據(jù)存儲可靠性。常見的三種失敗:Namenodefailures,Datanodefailures和網(wǎng)絡(luò)分割(networkpartitions)。(1)硬盤數(shù)據(jù)錯誤、心跳檢測和重新復(fù)制每個Datanode節(jié)點(diǎn)都向Name

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論