張春磊,楊小牛
(中國電子科技集團(tuán)公司第36 研究所,浙江嘉興 314033)
2012 年3 月29 日,美國聯(lián)邦政府發(fā)布公告稱將開發(fā)“大數(shù)據(jù)研發(fā)項目”,以最大限度地利用規(guī)模飛速增長的數(shù)字化數(shù)據(jù)。一石激起千層浪,“大數(shù)據(jù)”這一并不是非常新的術(shù)語再次引起了世界各方的高度重視。
而大數(shù)據(jù)研究的核心并非數(shù)據(jù)的“量”有多大,而是如何有效、有序、系統(tǒng)地處理(包括訪問、收集、保護(hù)、存儲、管理、分析、挖掘、共享、輔助決策等)大量數(shù)據(jù)。因此也衍生出一個非常重要的研究領(lǐng)域——大數(shù)據(jù)分析(BDA)。
有關(guān)大數(shù)據(jù),目前定義較多。通常來講,大數(shù)據(jù)指的是規(guī)模超過了當(dāng)前典型數(shù)據(jù)庫軟件工具獲取、存儲、管理、分析能力的數(shù)據(jù)集??梢钥闯觯@種描述實際上是一種動態(tài)的描述,因為當(dāng)前的技術(shù)總是在不斷發(fā)展。嚴(yán)格來說,“大數(shù)據(jù)”更像是一種策略而非技術(shù),其核心理念就是以一種比以往有效得多的方式來管理海量數(shù)據(jù)并從中提取價值。可以從如下4 個方面(“4 V”)來闡述“大數(shù)據(jù)”理念。
(1)數(shù)據(jù)類型多樣(Variety)。即,所處理的對象既包括結(jié)構(gòu)化數(shù)據(jù),也包括半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。
(2)數(shù)據(jù)處理高速(Velocity)。即,各類數(shù)據(jù)流、信息流以高速產(chǎn)生、傳輸、處理。
(3)數(shù)據(jù)規(guī)模海量(Volume)。即,所需收集、存儲、分發(fā)的數(shù)據(jù)規(guī)模遠(yuǎn)超傳統(tǒng)管理技術(shù)的管理能力。
(4)數(shù)據(jù)價值密度低(Value)。即,大數(shù)據(jù)中的價值密度很低,因此也增加了價值挖掘的難度。
由于海量數(shù)據(jù)中既包括結(jié)構(gòu)化數(shù)據(jù)也包括非結(jié)構(gòu)化數(shù)據(jù),因此,分布式計算與分布式文件管理即成為了“大數(shù)據(jù)”策略的核心。
如上所述,大數(shù)據(jù)分析中的“分析”實際上是一個廣義的概念,包括了采集、恢復(fù)、存儲、管理、挖掘等,然后通過分發(fā)、知識共享等手段最終實現(xiàn)對決策的支持。
目前有關(guān)BDA,尚無明確定義。簡而言之,就是將先進(jìn)的分析技術(shù)用于大數(shù)據(jù)集。因此,BDA 主要關(guān)注兩方面內(nèi)容:大數(shù)據(jù)本身及分析技術(shù)本身;如何將二者有機融合,以實現(xiàn)從大數(shù)據(jù)中提取有價值的情報并用以輔助決策之目的[1]。
具體來說,可用于BDA 的分析技術(shù)包括了預(yù)測分析、數(shù)據(jù)挖掘、統(tǒng)計分析、復(fù)雜結(jié)構(gòu)化查詢語言(SQL)等,以及那些可以支持大數(shù)據(jù)分析的數(shù)據(jù)可視化、人工智能、事實聚類、文本法分析、自然語言處理、數(shù)據(jù)庫等相關(guān)技術(shù)??梢钥闯?,大多數(shù)BDA 技術(shù)其實均可歸入“發(fā)現(xiàn)分析”或“發(fā)掘分析”技術(shù)的范疇,而發(fā)現(xiàn)、發(fā)掘情報也是BDA 的主要目標(biāo)之一。
可以看出,實際上很多BDA 技術(shù)并非什么新技術(shù),只是由于其非常適用于“大數(shù)據(jù)”這一新興對象,因此,重新“煥發(fā)青春”。
2011 年,相關(guān)機構(gòu)進(jìn)行了“大數(shù)據(jù)分析工具、技術(shù)與趨勢”調(diào)查[1]。該調(diào)查列出了幾乎所有與大數(shù)據(jù)分析相關(guān)的工具與技術(shù),其中包括如下幾類:新興的,如云計算、MapReduce、復(fù)雜事件處理(CEP);不是新興但適用于大數(shù)據(jù)分析的,如數(shù)據(jù)可視化、預(yù)測分析;已有且比較成熟的,如統(tǒng)計分析、手工編碼的SQL。
此次調(diào)查可相對比較客觀地展現(xiàn)BDA 關(guān)鍵技術(shù)與工具及其發(fā)展趨勢。相關(guān)技術(shù)與工具的當(dāng)前使用情況及未來發(fā)展趨勢,如圖1 所示。從圖中可以看出,隸屬于第一組的工具與技術(shù)基本上可以代表BDA 關(guān)鍵技術(shù)與工具的發(fā)展趨勢,即,高級分析技術(shù)與工具、高級數(shù)據(jù)可視化技術(shù)(ADV,未來發(fā)展勢頭最為迅猛的技術(shù))、實時儀表盤、內(nèi)存內(nèi)數(shù)據(jù)庫和非結(jié)構(gòu)化數(shù)據(jù)分析技術(shù)等。
圖1 BDA 技術(shù)與工具的當(dāng)前使用情況及未來發(fā)展趨勢
從功能角度來講,BDA 實現(xiàn)了從大數(shù)據(jù)到情報(即,價值)的轉(zhuǎn)換,而這種轉(zhuǎn)換本身與大數(shù)據(jù)的“4 V”特性分不開。轉(zhuǎn)換過程必須采用各種BDA平臺、工具,如,阿帕奇Hadoop。Hadoop 技術(shù)與平臺使得大數(shù)據(jù)分析人員可以對原始數(shù)據(jù)進(jìn)行分析,并得到支持決策所需的情報。
考慮到大數(shù)據(jù)的一些新特性,BDA 也必須采用一些新的方法和流程來實現(xiàn)情報提取。以利用Hadoop 技術(shù)與平臺實現(xiàn)BDA 為例,典型的BDA 實施流程與常用的OODA 環(huán)(觀察、定位、決策、行動)有些類似,包括大數(shù)據(jù)訪問(大數(shù)據(jù)聚集(大數(shù)據(jù)分析(決策(行動等環(huán)節(jié),且并最終實現(xiàn)人在環(huán)路或人不在環(huán)路的閉環(huán)。
從分析對象來看,BDA 主要分析靜態(tài)大數(shù)據(jù)(big data at rest)和動態(tài)大數(shù)據(jù)(big data in motion)。
著名的非SQL(noSQL)數(shù)據(jù)庫開發(fā)公司Objectivity 所開發(fā)的Objectivity/DB、InfiniteGraph(IG)等大數(shù)據(jù)分析工具是典型的可用于情報領(lǐng)域的工具[3~6],下面主要以這兩種BDA 工具為例介紹BDA 技術(shù)在多源情報融合以及對象關(guān)系分析過程中的應(yīng)用情況。
BDA 用于多源情報融合的主要任務(wù)是通過對海量、多源、多類型數(shù)據(jù)(如,文本、圖片、視頻、話音等)進(jìn)行相關(guān),將其轉(zhuǎn)換為用戶所需的各類專用情報(如,通信情報(COMINT)、電子情報(ELINT)、雷達(dá)情報(RADINT)、遙測情報(TELINT)等)。
Objectivity/DB 大數(shù)據(jù)分析工具在美空軍網(wǎng)絡(luò)中心協(xié)同目標(biāo)瞄準(zhǔn)(NCCT)項目中的應(yīng)用場景如圖2 所示。圖中,在機器到機器(M2M)接口的支持下,Objectivity/DB 實現(xiàn)了自動多源情報融合。該工具在多源情報融合方面主要解決的問題包括復(fù)雜數(shù)據(jù)索引與搜索、多源情報集成、異構(gòu)數(shù)據(jù)庫聯(lián)合等。
3.1.1 多源情報集成
多源情報融合所面臨的首要問題就是如何實現(xiàn)多源情報集成。
圖2 Objectivity/DB 在NCCT 中的應(yīng)用場景
借助于其分布式風(fēng)險管理與跟蹤系統(tǒng),Objectivity/DB 可實現(xiàn)地理空間情報、氣象情報、風(fēng)險事件跟蹤與后勤情報等的集成。它通過檢驗規(guī)劃行動與實際行動的偏離度來確保情報集成按照強制性規(guī)則來實施,這種校驗通過一個專家知識庫來實現(xiàn)。用戶實現(xiàn)如下功能:顯示、瀏覽、放大數(shù)據(jù);產(chǎn)生簡報文件;查看任務(wù)需求;查看、分析、仿真一個規(guī)劃;與其它規(guī)劃人員進(jìn)行電視電話會議。
3.1.2 復(fù)雜數(shù)據(jù)索引與搜索
作為《藤野先生》和《〈吶喊〉自序》的作者,魯迅留給后來者的不僅僅是文本,還有他本人賦予文本的意義。固然,從闡釋的角度來說,這種文本與意義的絕對統(tǒng)一僅僅存在于魯迅自己的意識中。但作為后來者,如果不在關(guān)注文本的同時關(guān)注魯迅為文本賦值的過程,就一定會遇到闡釋上的困難。因為魯迅所留下的不僅僅是一個故事,還有關(guān)于這一故事的意義。
多源數(shù)據(jù)融合所面臨的第二個問題是復(fù)雜數(shù)據(jù)索引與搜索。
傳統(tǒng)上,從多個同類源獲取數(shù)據(jù)比較容易,例如,利用開放式數(shù)據(jù)庫互連來訪問多個關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)、采用統(tǒng)一的結(jié)構(gòu)化文件格式等。
然而,復(fù)雜數(shù)據(jù)(如,來自計算機輔助設(shè)計系統(tǒng)、生物信息系統(tǒng)或遙感傳感器的數(shù)據(jù))的存儲和操縱要困難得多。因為傳統(tǒng)搜索語言不具備搜索聲紋、圖片、指紋、實體模型、聲吶、雷達(dá)等多源數(shù)據(jù)。這些復(fù)雜數(shù)據(jù)類型可以在關(guān)系數(shù)據(jù)庫中表示為二進(jìn)制大對象(BLOBS),這些數(shù)據(jù)并非隨時都可翻譯成通用數(shù)據(jù)定義語言(如XML)、相關(guān)數(shù)據(jù)集通常非常龐大,且數(shù)據(jù)集之間的關(guān)系數(shù)量也非常龐大。這些數(shù)據(jù)通常位于結(jié)構(gòu)化文件內(nèi),且僅能借助于人類或編碼知識來索引。通常這些數(shù)據(jù)庫都會采用“蠻力”搜索來從這些文件中找到可識別的文本串。利用一個統(tǒng)一的數(shù)據(jù)統(tǒng)一層,Objectivity/DB 大數(shù)據(jù)分析工具可具備索引各種復(fù)雜數(shù)據(jù)及其關(guān)系的能力。
在大型數(shù)據(jù)庫搜索方面,Objectivity/DB 采用一種并行搜索引擎(稱為“并行查詢引擎”)來實現(xiàn)。該引擎可快速確定可能包含所查詢對象的“數(shù)據(jù)容器(data container)”,然后利用用戶可配置的線程數(shù)來進(jìn)行迭代,直到找到目標(biāo)數(shù)據(jù)容器。
3.1.3 異構(gòu)數(shù)據(jù)庫聯(lián)合
實現(xiàn)異構(gòu)數(shù)據(jù)庫聯(lián)合是多源情報融合所面臨的又一問題。
Objectivity/DB 工具采用單一邏輯視圖來實現(xiàn)異構(gòu)數(shù)據(jù)庫聯(lián)合。其存儲管理器可管理、構(gòu)造所有數(shù)據(jù)庫;此外,在此體系結(jié)構(gòu)上還可以增加傳統(tǒng)的數(shù)據(jù)庫管理系統(tǒng)網(wǎng)關(guān),該網(wǎng)關(guān)可以采用開放式數(shù)據(jù)庫連接(ODBC)或各種中間件來為對象管理器提供請求服務(wù)。
單一邏輯視圖具備如下優(yōu)點:數(shù)據(jù)始終處于現(xiàn)有系統(tǒng)的控制之下;面向?qū)ο蟮膽?yīng)用程序只要使用一個單一的應(yīng)用程序接口(API)即可訪問異構(gòu)數(shù)據(jù)源;經(jīng)常需要遍歷的對象、關(guān)系可以表示為數(shù)據(jù)庫中的代理,這樣即可消除昂貴的聯(lián)合運算成本。
3.1.4 情報分析
Objectivity/DB 工具進(jìn)行情報分析的流程,如圖3 所示,可以看出,它通過采用一個協(xié)同工作環(huán)境構(gòu)建了一個情報分析系統(tǒng)。圖中:“Web 使能的協(xié)同工作環(huán)境”可支持各種操作,包括建模、規(guī)劃、評估、決策支持等;軟件代理負(fù)責(zé)根據(jù)假定來對開源信息進(jìn)行分類;插件架構(gòu)是開放式、自適應(yīng)的。
圖3 Objectivity/DB 情報分析流程
隨著網(wǎng)絡(luò)中心戰(zhàn)(NCW)不斷深入人心,各類電子信息系統(tǒng)之間幾乎都已經(jīng)或正在朝著網(wǎng)絡(luò)化運作方向發(fā)展,例如,網(wǎng)絡(luò)化通信系統(tǒng)、組網(wǎng)雷達(dá)系統(tǒng)、一體化組網(wǎng)探測系統(tǒng)等均屬此類。因此,在進(jìn)行情報分析的過程中僅僅分析來自單個節(jié)點(即,點)的情報已不足以支撐決策,而還必須對各單元之間的關(guān)系(即,線和面)進(jìn)行分析。
總之,關(guān)系分析也是BDA 在情報領(lǐng)域中的主要應(yīng)用之一。同樣,Objectivity 公司在該領(lǐng)域也頗有建樹,其InfiniteGraph(IG)分布式圖數(shù)據(jù)庫的主要功能之一就是進(jìn)行關(guān)系分析,并最終生成支持決策所需的綜合情報。
3.2.1 IG 數(shù)據(jù)庫的體系結(jié)構(gòu)概述
IG 數(shù)據(jù)庫的構(gòu)建基于一種高度可擴(kuò)展的分布式數(shù)據(jù)庫體系結(jié)構(gòu),其中,數(shù)據(jù)和數(shù)據(jù)處理在網(wǎng)絡(luò)中都采用分布式結(jié)構(gòu),如圖4 所示。單個圖數(shù)據(jù)庫可以進(jìn)行分割,并分布在多個磁盤卷和機器中,這樣,即可實現(xiàn)跨機器邊界的數(shù)據(jù)查詢。同樣的數(shù)據(jù)庫客戶端可以通過本地訪問或通過本地網(wǎng)絡(luò)訪問圖數(shù)據(jù)庫。
圖4 IG 數(shù)據(jù)庫體系結(jié)構(gòu)
圖中相關(guān)模塊功能如下所述:(1)鎖定服務(wù)器負(fù)責(zé)處理來自數(shù)據(jù)庫應(yīng)用程序的數(shù)據(jù)庫讀寫鎖定/解鎖請求,即,負(fù)責(zé)整個數(shù)據(jù)庫訪問管理。與開源數(shù)據(jù)庫訪問不同,對IG 數(shù)據(jù)庫的訪問在建立數(shù)據(jù)庫實例時不受控制,而是在事務(wù)級進(jìn)行控制。(2)每臺裝有數(shù)據(jù)庫的機器中海有一個單獨的數(shù)據(jù)服務(wù)器進(jìn)程,這些進(jìn)程可通過本地或遠(yuǎn)程方式來訪問磁盤卷上的數(shù)據(jù)。(3)數(shù)據(jù)服務(wù)器負(fù)責(zé)處理來自分布式圖數(shù)據(jù)庫的遠(yuǎn)程數(shù)據(jù)庫應(yīng)用程序請求。
3.2.2 IG 用于關(guān)系處理
IG 主要通過結(jié)合一系列數(shù)據(jù)庫技術(shù)和圖論技術(shù)來實現(xiàn)對相關(guān)情報的關(guān)系分析。它利用圖的頂點和邊來分別表示要素(包括事件/地點、人員/組織、行為)和要素之間的關(guān)系,并實現(xiàn)“連點為線”(基于某種規(guī)則實現(xiàn)點到線的映射),最終通過對點、線的分析來產(chǎn)生預(yù)期分析成果。這種處理方法與傳統(tǒng)數(shù)據(jù)庫有著很大不同:傳統(tǒng)數(shù)據(jù)庫按照要素而非按照節(jié)點(頂點)、關(guān)系(邊)來存儲、處理數(shù)據(jù)。
IG 關(guān)系處理流程如圖5 所示。具體流程為:(1)對已經(jīng)獲取的情報數(shù)據(jù)庫對象進(jìn)行分類,確定對象屬于節(jié)點還是屬于連接關(guān)系;(2)對分類后的數(shù)據(jù)庫對象進(jìn)行“頂點?邊”映射,以形成數(shù)據(jù)關(guān)系圖;(3)基于事先確定的規(guī)則對生成的數(shù)據(jù)關(guān)系圖進(jìn)行分析;(4)在分析的基礎(chǔ)上得出輔助決策結(jié)論;(5)再通過各種可視化手段來將分析結(jié)果呈現(xiàn)給用戶(圖中未標(biāo)出)。
圖5 IG 關(guān)系處理流程
BDA 相關(guān)理論、技術(shù)、工具其實并非全新,其應(yīng)用前景非常廣闊。尤其是在情報領(lǐng)域內(nèi)的應(yīng)用,其前景更是一日千里、勢不可當(dāng)。當(dāng)然,BDA 在情報領(lǐng)域中的應(yīng)用仍有很多具體的理論、技術(shù)層面問題尚未解決。如,在賽博戰(zhàn)領(lǐng)域如何利用BDA 實現(xiàn)賽博態(tài)勢感知、在電子戰(zhàn)領(lǐng)域如何利用BDA 實現(xiàn)有源與無源情報的分類與融合等。此外,隨BDA 而來的諸多新類型情報也有待進(jìn)一步研究,如,移動情報、云情報、社會情報、大數(shù)據(jù)情報等[7]。
[1]PHILIP RUSSOM. Big Data Analytics[Z]. tdwi.org. 4th season,2011.
[2]RICH GUTH.Deriving Intelligence from Big Data in Hadoop:A Big Data Analytics Primer[Z].Karmasphere.com. 2012.
[3]Achieving Real-Time Multi-INT Data Fusion:Using Objectivity/DB to Correlate Multiple Data Sources[Z/OL].(2012-11-15). http://www.objectivity.com.
[4]JOHN WALTERS.Big Data Technology In Defence Applications-Leveraging Graph Analytics[Z]. 2012.
[5]Using An Object Database In Intelligent Network Applications[Z/OL]. http://www.objectivity.com. 2006.
[6]Infinite Graph:The Distributed Graph Database[Z/OL].(2012-11-15). http://www.objectivity.com. 2012.
[7]Grow with Tomorrow's Intelligence...Today[Z]. http://www.scalable-systems.com. 2012.