季 婷,羅衛萍(通信作者)
(國防科技大學國際關系學院 江蘇 南京 210039)
隨著互聯網的發展,數據處理尤其是非結構化數據的處理成為情報分析工作面臨的一大挑戰。目前大部分數據管理理論主要針對結構化數據,對非結構化數據而言,尚缺乏成熟的理論體系支撐,相關技術也仍在探索試用階段。本文針對非結構化數據在情報分析預處理階段存在的問題,提出若干解決策略,為互聯網情報分析提供參考。
互聯網中的數據按類型可以分為結構化數據和非結構化數據兩種。能夠使用統一的結構加以表示的數據,稱為結構化數據;無法使用統一結構表示的數據,稱為非結構化數據。非結構化數據主要包括以下類型:文檔、電子表格、演示文稿、日志等文本文件,電子郵件[1],微博、微信、QQ、Facebook、Twitter、YouTube、Instagram 等社交媒體類數據(包括音頻、視頻、圖片、位置等),電話錄音、協作軟件類等通信數據,天氣、地形、人員活動等衛星影像數據,地質勘探、空間勘探、地震圖像等科學數據,照片和視頻等在內的物聯網監控數據,交通、海洋等各類傳感器數據。
總體來看,互聯網中的非結構化數據具有以下特點:一是產生速度快,體量巨大。國際數據公司的數據顯示,2021 年全球產生的數據約為83ZB,數據增長速度大約為23%,預計到2025 年全球數據將增長一倍,達到179.6 ZB左右。其中約有80%的數據是非結構化數據[2]。二是異構多源。每天產生大量的數據中大部分是表現為圖片、視頻、音頻、信號等形態的非結構化數據。格式的多樣性導致數據標準也是多樣的。在技術上,非結構化數據的信息化比結構化數據的信息化更難理解。三是分散性高。非結構化數據遍布于各種異構系統中,難以集中存儲和管理,常因“信息孤島”而造成數據割裂,從而影響數據價值的發揮。有的系統建設之初就相互隔離,彼此缺乏橫向數據接口,數據標準也不統一,即使歸檔后也難以實現有效管理和整合。
為有效利用互聯網中的非結構化數據,需要對這些數據進行預處理,包括采集、清洗、轉換以及分類存儲等。上述環節是情報分析得以有效開展的前提和基礎,其處理速度、方式和結果直接影響著情報分析的質量和效率。然而,由于非結構化數據自身的特點,這類數據在預處理時往往面臨諸多困難。
首先,在采集方面,易受“噪聲”干擾,篩選難度大。互聯網信息數量龐大,質量卻參差不齊。如果不加以鑒別,勢必會生成大量冗余信息,給人或系統增加不必要的處理負擔,直接影響效率。
其次,在集成方面,數據表征不統一,融合難度大。同一實體或屬性在不同數據源中可能被表示為不同的概念,導致數據之間的語義不一致,使得數據集成和應用的難度大幅增加。加之互聯網連接了不同的計算機系統,它們在硬件、操作系統、網絡協議、應用軟件等諸多方面存在差異,互操作性受到很大限制,導致不同系統之間的數據集成難度進一步增加。
最后,在存儲方面,數據增長過快,形式多樣,都使存儲遭遇巨大挑戰。海量存儲一般指存儲容量超過PB 級的大規模存儲,在PB 級及以上量級,使用傳統解決方案存儲、保護、備份和恢復數據都是有問題的。此外,數據源的多樣化也決定了海量非結構化數據的組織方式有其特定的需求。隨著全球數字化、網絡化進程加速,教育、辦公、娛樂、社交等場景實現從線下向線上遷徙,數據存儲技術的高效性、廉價性和安全性比以往更加重要。
針對互聯網非結構化數據預處理面臨的難點問題,可以從采集、集成和存儲3 個環節入手,分別采取相應策略使現有技術的應用得到優化,更好地實現其功能。
2.1.1 確定情報搜集的寬度和維度
對互聯網信息進行有效篩選,必須合理制定采集方案、設定采集目的,預設多個采集主題,根據實際需求定向尋找情報源,使其與情報需求的內容、功能、流程相適應,形成結構合理、層次清晰的情報采集目錄清單,才能最大限度地提升采集效率。因此,在數據采集之前,要確定情報搜集的寬度和維度。
確定情報搜集寬度,是指根據實際需求對數據源在網絡的分布情況進行梳理,初步限定目標網站。主要聚焦3類目標網站:新聞資訊(重大門戶網站)、對象國主要政府及各類重大官方網站(政府、軍隊、科研機構、高校院所、知名企業等)、主流社交媒體(社交輿情、行業討論、個人言論等)。
確定情報搜集維度是指確定每次搜集任務的標簽,如圖1 所示。對每個具體的情報搜集任務來說,要將之分解成若干個對應的研究對象,每個對象按標簽進行情報搜集,包括:①數據源。確定情報搜集的主要來源,如新聞資訊、官方網站和主流社交媒體。②搜索關鍵字。通過關鍵字搜索,數據源的過濾,得到最終的情報數據。③時間維度。查詢數據庫中的歷史相關數據,確定數據采集工具的采集周期和更新周期,為關聯分析做好準備。④熱度。從新聞熱度、社交熱度和行業熱度3 個方面考量,按相關事件或人物的熱度排名按序搜索。⑤輿情評論。收集研究對象的輿情評論。

圖1 任務搜集維度
2.1.2 兼顧抓取頁面的覆蓋率與時新性
對于現有的數據采集模塊來說,還不存在哪個搜索引擎有能力將互聯網上出現的所有網頁都下載并建立索引,所有搜索引擎只能索引互聯網的一部分。因此對于重點國家、重點人物、重點地域的情報進行重點時段的重點采集,必須維持合適的網頁覆蓋率,保證一定的情報搜集寬度。
另一方面,抓取頁面的時新性也是重要的考量因素。網絡數據具有傳播速度快、更新快的特點。當數據采集模塊抓取到本地的網頁,原網頁很有可能已經發生變化,或者被刪除,或者內容被更改,因為爬蟲抓取完一輪需要較長的時間周期,所以抓取到的網頁當中必然會有一部分是過期的數據,即不能在網頁變化后第一時間反映到網頁庫中。因此,在數據采集模塊中,必須對各數據源設定合適的更新時間閾值,且該閾值能夠根據情報搜集任務的調整而靈活調整。
所謂數據集成,也可稱為數據融合,是為了解決數據的分布性和異構性而把不同來源的數據整合到一起,實現使用戶能夠以“透明”的方式對數據進行訪問,并保證高效安全地訪問數據的目標,為數據分析與應用提供支撐[3]。數據集成包括:正確理解不同類型和特征的數據,消除異構數據在表達上的語義鴻溝;識別同一實體的不同表達;建立實體之間的多層次數據關聯,為后續的數據分析操作提供堅實的數據基礎。
關系型數據庫管理系統在處理結構化數據方面有很高的效率,但對于非結構化數據的管理則存在一定劣勢。常見的處理方式是將非結構化數據轉化為二進制大對象(binary large object, BLOB)進行存儲來實現文件格式統一的轉換,包括超大文本、二進制文件、圖形、圖像、音頻、視頻等。如果采用傳統的數據集成策略,可能導致數據冗余度大、描述不統一、表達乏力、實現異構兼容開銷大等問題,對后續的數據分析產生不利影響。
基于Web Service 的中間件數據集成模型采用數據源管理模塊、中間件模塊、用戶服務模塊三層結構,通過基礎數據服務消除數據異構,將數據轉換為統一格式;使用元數據管理模塊[4]完成局部數據源和全局模式的映射,加強系統的自治性和易更新性;基于Web Service 的中間件層模塊將流程封裝成服務發布,增強了通用性。
2.2.1 Web Service 技術
Web Service 是支持跨網絡的計算機之間相互操作的軟件系統, 是一種面向服務架構( service-oriented architecture, SOA)的服務規范[5]。它是一種將面向服務與數據集成技術相結合的技術,忽略不同數據源之間平臺、技術和結構的區別,達到數據的邏輯統一,從而實現了數據單元抽象化。利用標準的消息通信協議、規范的服務描述以及開放的服務發布,完成節點的直接交互。Web Service 主要包括3 部分:
(1)服務提供者。是Web Service 的主要提供者,負責實現Web Service 的基本邏輯,并將其發布在互聯網上。
(2)服務描述。提供了Web Service 涉及的服務、方法、參數等詳細描述信息。
(3)服務消費者。是Web Service 的主要消費者,負責調用公開的Web Service,同時也根據服務描述信息對Web Service 進行對應的開發工作。
服務提供者根據Web 服務描述語言(Web service description language, WSDL)中的文檔描述服務,負責將服務部署到Web 服務器中并發布。服務消費者通過統一描述(universal discovery description integration, UDDI)的服務注冊表找到所需服務。消費者通過WSDL 文件了解服務提供者提供的接口和方法,執行相應的綁定過程。然后向服務提供者發起請求,服務提供者返回響應結果。
2.2.2 中間件數據集成模型
中間件數據集成模型是一種利用中間件軟件實現非結構化數據集成的模型。它主要包括3 層:
(1)數據源。指需要集成的非結構化數據源。它可以是不同類型的數據庫、文件、消息隊列,也可以是來自不同廠商、不同版本或協議的系統。它需要提供數據訪問接口,支持數據抽取。
(2)目標數據庫。存放集成后的數據,可以是現有的系統數據庫,也可以是新建的數據庫。
(3)中間件層。位于數據源和目標數據庫之間,是中間件數據集成模型的核心。功能是使用中間件技術實現數據傳輸和轉換。中間件層能將非結構化數據源之間數據格式轉換為適配目標數據庫的數據格式,并提供數據質量管理、安全控制等輔助功能。
從數據源的數據接口抽取非結構化數據后,將其進行格式轉換后傳輸給中間件層,中間件層根據數據源和目標數據庫的元數據信息,自動進行數據映射和數據轉換操作,再加載到目標數據庫中。
2.2.3 基于服務的中間件數據集成模型
如圖2 所示,基于服務的中間件數據集成模型采用SOA 架構,將各個數據源和目標系統封裝成獨立的服務,通過中間件技術進行數據通信和傳輸。

圖2 基于服務的中間件數據集成模型
(1)數據源管理模塊負責連接各種數據源,并將數據按照分類要求進行歸類,同時將各數據源的元數據信息描述清楚,方便后續模塊的處理。
(2)基于Web Service 的中間件模塊提供基礎數據服務、業務服務和應用數據服務。它將業務功能流程化,將之封裝成服務模塊,實現了服務提供者和使用者的松耦合關系,提高了系統的易維護性。
基礎數據服務負責執行數據的增加、刪除、修改、查詢、連接等基本封裝服務。它由元數據管理和數據抽取、轉換、加載(extract-transform-load, ETL)兩大模塊組成。元數據管理模塊主要負責對元數據中的數據進行操作,包括全局數據視圖管理、本地數據結構管理和映射關系管理。ETL 模塊則根據對元數據的描述以及數據流轉中的各種約束,將數據源中不同的數據提取、清洗轉換后加載[6]。
應用數據服務組合了特定業務流程和數據相關操作。業務服務負責除應用數據服務之外的、具有通用性、普遍性和原子性并在其他具體業務中可重復使用的具體業務功能處理流程。
(3)中間件模塊是向用戶服務模塊提供一系列服務的關鍵組件。它充當用戶服務模塊和底層系統之間的橋梁,處理和管理各種請求和響應。通過使用作為Web 服務發布的中間件層接口,系統可以被多個客戶端訪問。該界面的設計與語言無關且獨立于平臺,能夠滿足不同客戶和操作系統的需求。
數據存儲模塊可通過HBase 的高度容錯性的Hadoop分布式文件系統(Hadoop distributed file system,HDFS)的分布式存儲技術和垂直分片策略,來實現非結構化數據的海量高速存儲,有效緩解讀寫壓力。
2.3.1 HDFS 分布式存儲技術
HBase 是一款分布式架構的非關系型數據庫。它使用大量廉價的PC 構建龐大的數據庫系統,這種水平擴展數據存儲集群的方法,有效提升了數據存儲能力和數據吞吐量,實現了海量數據的快速存儲與隨機訪問。Hbase 提供了數據的副本和分區機制,即通過不同分布節點上的備份提高了系統的容錯力。它的底層存儲基于HDFS,將數據分布在不同的DataNode 上,提供高可用性和冗余備份。
HDFS 技術[7]和Google 公布的Google 文件系統(Google file system, GFS)是目前主流的分布式存儲技術。其中HDFS 基本可以認為是GFS 技術的簡化版實現,由于它是開源架構,二次開發更容易獲取且能提供高吞吐量的數據訪問,具有高度容錯性,可實現高效存儲,是系統數據存儲模塊的核心。
2.3.2 垂直分片策略
垂直分片策略是分布式數據庫常見的一種策略。它將一個數據庫中的數據按照數據表的粒度進行劃分,將不同的表分散到不同的節點上。利用垂直分片策略,可將數據庫中關聯度較小的數據拆分到不同的分片節點進行存儲,一方面可有效緩解多節點訪問帶來的壓力,另一方面,根據業務需求不同分片存儲,提高了系統的靈活性。當然,所有的數據集合之間或多或少存在著關聯性,因此在分片時,要綜合考慮數據的分離度以及分片后連接數據的系統開銷[8]。
綜上所述,在當今這個“互聯網+AI”時代,情報分析工作面臨空前挑戰,大量以非結構化數據形式存在的情報信息難以處理和識別,利用現代化網絡信息搜集、分析、處理軟件來提升效能勢在必行。通過形成合理的數據采集清單,構建基于Web Service 的中間件數據集成模型以及采用垂直分片的存儲策略等,可有效提升互聯網非結構化數據的采集效率,提高數據的共享性與數據存儲的安全性,為確保后續數據挖掘和情報分析工作的順利進行打下良好基礎。