陳 光
(江蘇自動化研究所,江蘇 連云港 222006)
智能電網是大數據最重要的應用領域之一,支撐智能電網綠色安全、堅強及可靠運行的基礎是電網全景實時數據采集、傳輸和存儲,以及累積的海量多源數據快速分析,證實了大數據在大規模數據集處理、應用方面的優勢。而目前隨著智能電網的快速發展,智能電表的大量部署和傳感技術的廣泛應用,電力工業產生了大量結構多樣、來源復雜的數據,如何存儲和應用這些數據,是電力公司面臨的難題[1]。
(1)難以適應靈活多變的應用需求。
現有的服務方式主要面向指揮所內使用,模式固定、手段單一,缺少靈活、精確的數據組織與服務保障,對機動環境下應用人員信息支持不足,難以適應靈活多變的應用需求。
(2)決策支持信息獲取能力不足。
現有的數據應用手段尚停留在數據查詢、統計層面,對于數據缺乏有針對性、深層次的分析、信息提煉手段,應用數據匯集的價值未能充分發揮,對于應用人員更為關注的決策支持信息獲取能力不足。
(3)不便于掌控全局應用信息。
現有的數據展示手段單一,主要依賴圖、表、文字,缺少綜合性、多維的展示方式,不便于應用人員直觀快速地掌握全局應用信息。
應用數據建設將以服務應用、保障指揮為核心,能夠整合、積累來自業務保障部門等各種渠道獲取的相關數據資源,具備從大規模的應用數據資源中獲取有價值的決策支持信息,同時形成面向應用指揮的統一數據視圖,滿足不同層級應用人員隨遇接入、按需服務保障需求,發揮數據最大的應用效能[2]。
(1)多層級決策支持信息需求,能夠根據應用需求,提供動態的應用數據服務,并且能夠保障指揮過程中在任何時間、任何地點都能享受權限范圍內的應用信息服務;
(2)應用數據按需服務保障需求,能夠從多渠道獲取的數據資源中分析、挖掘價值信息,為不同指揮層級應用人員提供不同粒度的決策支持,快速提供其所需的應用信息響應支持;
(3)跨部門應用數據整合利用需求,能夠科學劃分應用數據資源目錄,規范化應用數據采集渠道,有效整合各部門與應用相關的數據資源,有序組織、標準化整編各類數據資源,保障應用數據靈活、充分利用。
(4)常態化應用數據管控需求,能夠支持應用數據采集、存儲、分析、服務等過程的運維管理,擴充應用數據容災備份手段,加強數據安全防護與密碼保密手段,輔助應用數據全生命周期管控,同時建立信息使用評估反饋機制,全面把握不同層級應用人員的信息需求。
針對應用過程中對數據的建設需求,構建數據中心。一方面整合應用、各業務保障部門的應用相關數據資源,形成統一的應用數據視圖;另一方面,實施數據深層次分析利用,為本級、各區域提供大規模應用數據的按需保障支持。同時加裝應用數據庫提供其應用數據應用支持,如圖1所示。

圖1 需求架構設計
大數據應用支撐環境是基于大數據業務全生命周期,提供大數據業務一站式支撐服務,包括大數據的數據規劃、采集與預處理、存儲與管理、分析與挖掘以及應用與服務等,實現了大規模數據資源的有機整合和充分利用,如圖2所示。
針對智能電網等領域應用數據具有的容量大、非結構化、多樣性、冗余度高等特點,以及實際業務中快速開展大數據分析處理的應用需求,提出支持橫向擴展,具有并行、分布、高效等特點,且面向服務并支持大數據全生命周期活動的平臺體系架構,從而解決大數據的服務、共享、分析和整合等集成性問題[3-4]。然而,從海量數據中“提純”出有用的信息,這對網絡架構和數據處理能力而言是一個巨大的挑戰。從三個方面描述大數據的技術體系,包括支持大數據實施的云計算平臺、支撐上層業務應用的大數據應用支撐以及業務應用三個層次。其典型的技術架構如圖3所示。

圖2 大數據業務生命周期流程

圖3 技術架構
大數據技術架構在邏輯上表現為一種層次架構,自上而下包括大數據業務應用層、大數據應用服務支撐、云計算平臺以及數據資源層。而相關的標準、規范和安全機制貫穿所有層次。該架構主要包括:
(1)數據源層,涵蓋各類結構化、半結構化、非結構化數據。
(2)云計算平臺,作為大數據的技術支撐基礎,為大數據應用提供大規模數據的計算能力、存儲能力以及交換能力,同時確保大數據的應用安全和數據安全,面對大容量數據處理、存儲等需求,實施資源虛擬化管理,提供易擴展的計算能力、存儲能力、網絡交換能力的虛擬化管理服務,統一進行系統資源調度[5-6]。
(3)大數據應用服務支撐,依托云計算平臺提供的海量數據計算、存儲與交換能力,面向業務應用提供大規模數據的采集、處理、存儲、管理、分析與挖掘、應用服務等支持,主要包括:
①對全面采集的各類結構化、非結構化數據進行清洗、分類、編目、入庫、存儲等數據接入處理;
②構建基礎數據庫、規則知識庫、元數據及索引庫等數據庫,提供接入處理以及決策建模、分析挖掘等生成的數據分類存儲支持;
③根據應用服務、決策建模、分析挖掘等需求,提供各類數據搜索、關聯、提取以及快速訪問支持;
④面向信息的各類應用需求,進行決策建模、分析挖掘,提煉各類規則知識、規律信息;
⑤統一為不同類型用戶等提供多樣化的應用服務,包括全文檢索、多維展示、信息關聯跟蹤等等。
(4)大數據業務應用,在大數據應用服務支撐環境支持下,面向具體業務需求,提取所需數據集,展開分析、提煉工作,發現其中價值信息,提供信息融合、目標識別、目標動向預測等多樣化的信息應用。
(5)信息門戶層,為不同類型用戶提供“云模式”和“云+端模式”兩種使用方式,即只需通過登錄信息門戶,即可訪問各個系統,有效地支撐完成各類業務應用。
大數據應用架構需要滿足業務需求[7]:
(1)能夠滿足基于大容量、多類型、快速流通的數據環境下的大數據處理需求,支持大數據的采集、存儲、處理和分析;
(2)滿足大數據應用在可用性、可靠性、可擴展性、容錯性和安全性等方面的要求;
(3)滿足基于原始技術和格式實現數據分析和整合的基本要求,支持對復雜的原始格式數據進行整合分析的能力。
目前,各個大數據應用開發的架構基本都是基于Apache開源的大數據平臺,涉及的架構參考模型如圖4所示。大數據的處理流程主要是通過分布式文件處理系統來實現的,使用的主流技術主要是Hadoop+MapReduce,其中以Hadoop的分布式文件處理系統(HDFS)作為大數據存儲框架,MapReduce作為大數據處理框架[8-9]。

圖4 大數據開發框架
(1)大數據存儲框架。
HDFS:Hadoop的分布式文件系統,用于存儲非結構化數據,運行于大規模服務器組成的集群系統之上,采用元數據集中管理與數據塊分散存儲相結合的模式,并通過數據復制實現高度容錯,在架構上通常在服務器、操作系統或虛擬機之上。
(2)大數據處理框架。
MapReduce:分布式并行計算框架,使得應用程序能夠運行于大規模集群系統之上,并以可靠容錯的方式并行處理TB級以上的數據集。
(3)大數據訪問框架。
大數據訪問框架是實現對傳統的關系數據庫和Hadoop的訪問,主流技術包括Pig、Hive、Sqoop等。
Pig:是基于Hadoop的并行計算,提供一種類SQL的數據分析,具備將類SQL的數據分析請求轉化為一系列經過優化處理的MapReduce運算,常用方法包括分組、過濾、合并等[10]。
Hive:數據倉庫工具,是MapReduce實現的用來查詢分析結構化數據的中間件,提供類SQL的查詢語言支持[11]。
Sqoop:用于在Hadoop與傳統的數據庫之間進行數據傳遞,即能將存儲于HDFS的數據與關系型數據庫的數據進行互導。
(4)大數據調度框架。
大數據調度框架實現對大數據的組織和調度,為大數據分析做好準備,主流技術包括HBase、Avro、Flume、ZooKeeper、Oozie等[12]。
HBase:基于列存儲的非關系型數據庫,可直接運行于Hadoop之上,提供大規模數據的實時讀取和寫入隨機存取??梢源鎯Y構化或非結構化數據。
Avro:數據序列化格式與傳輸工具。
ZooKeeper:分布式鎖工具,用于分布式應用中高性能的協同服務[13]。
Flume:提供可靠的分布式流收集服務。
Oozie:基于服務器的工作流引擎,用于調度和運行Hadoop作業的工作流。
此外,還有集成開發環境和集成應用程序環境,前者提供源代碼編輯器、編譯器、自動化系統構建工具、調試工具等,后者提供基于圖形用戶界面組裝完整的應用程序。
(5)大數據分析與展示框架。
大數據分析與展示框架通過結合使用智能分析與展現工具實現大規模數據的分析和可視化,主流技術包括Mahout、Hama等。
Mahout:提供分布式機器學習和數據挖掘算法庫。
Hama:提供基于BSP的超大規??茖W計算框架。
(6)大數據連接器。
大數據分析與展示需要與傳統的關系數據庫、數據倉庫連接,主流的技術是ETL,為關系型數據庫與HDFS的數據交互提供專門接口,同時提供對元數據、數據質量控制等可視化支持[14]。
(7)大數據安全、運維框架。
大數據安全、運維框架提供大數據治理、安全性以及日常的維護管理支持,主流技術包括如Ambari、Chukwa等。
Ambari:提供Hadoop管理工具,快捷地監控、部署、管理集群。
Chukwa:提供大規模分布式集群的數據收集管理。
嵌入Hadoop管理:支持Hadoop運行管理,包括日志審計、文件系統檢查、數據節點塊驗證、性能監控、元數據備份等等。
GangliaContext:提供差大集群的開源分布式監控系統。
目前,在主流的大數據存儲與處理平臺領域仍然以Hadoop技術為主,提供對大數據分布式存儲、計算、快速訪問等支持,便于用戶快捷地處理大規模數據。
Hadoop的特點在于能夠存儲并管理PB級數據,支持處理非結構化復雜類型數據,同時由于采用分布式體系架構,Hadoop具有很好的容錯性和擴展性。
Hadoop主要提供分布式存儲和計算平臺,包括分布式文件系統(HDFS)、分布式計算框架(MapReduce)和分布式數據庫(NoSQL)。
(1)HDFS。
一個分布式文件系統(非結構化數據存儲),隱藏下層負載均衡,冗余復制等細節,對上層程序提供一個統一的文件系統API接口。HDFS針對海量數據特點做了特別優化,包括:超大文件的訪問,讀操作比例遠超過寫操作,PC機極易發生故障造成節點失效,等等。
(2)MapReduce。
分布式存儲運算可以抽象為MapReduce操作。Reduce把Key/Value合成最終輸出Output。Map是把輸入Input分解成中間的Key/Value對,下層設施把Map和Reduce操作分布在集群上運行,并把結果存儲在HDFS文件系統中。
(3)NoSQL。
NoSQL是按列存儲的、多維表結構的實時分布式數據庫,可以提供大數據量結構化和非結構化數據的高速讀寫操作,為高速在線數據服務而設計。
對于Hadoop存儲的數據,無法通過SQL來查詢使用。但是為了便于SQL使用人員能夠通過SQL語言操作和分析大數據,SQL on Hadoop技術因運而生,典型技術是Hive以及在Hive基礎上擴展形成的PostgreSQL、DRAWN Scale、Saleforce Phoenix等等。
Hive是基于Hadoop的大數據分布式數據倉庫引擎,可以將數據存放在分布式文件系統HDFS或分布式數據庫中,并使用SQL語言進行海量數據統計、查詢和分析操作。
大數據對數據分析和可視化提出了更高的要求,包括:要求數據分析從傳統聯機分析處理和報表向數據發現轉變;要求從結構化數據向結構化、非結構化混合數據類型轉變;要求支持PB以上的大數據進行分析;要求支持對關系型、非關系型、多結構化、機器生成的數據分析;要求支持重組數據成為新的復雜結構并進行分析和可視化,如圖分析、時間/路徑分析;要求大數據分析支持更快、更適應迭代的分析。
因此,在大數據環境下,通過傳統的數據采樣、OLAP方式的數據分析,已經難以滿足大數據分析的需要。必須要能對全量的數據集進行多樣化的數據分析、挖掘,同時以適合的展示方式提供用戶使用。
(1)大數據挖掘和高級分析。
大數據挖掘的主要任務就是從大量數據中發現模式,并且根據挖掘任務不同分為多種類型,包括:
關聯分析:用于發現不同數據集之間的關聯規則,包括關聯、相關性、因果結構或頻繁出現的模式。
分類分析:根據數據的特征為每個類別建立一個模型,根據數據屬性將數據分配到不同組中。
聚類分析:按照某種相近程度度量方法將數據分成互不相同的分組。
序列分析:用于分析數據中某類與時間相關的數據,并挖掘時序模式、周期性、趨勢和偏離等。
偏差檢測分析:用于檢測并解釋數據分類的偏差,即數據集中顯著不同于其他數據的對象。
預測模型分析:從數據集中已知的數據推測未知的數據集中某些屬性值的分布。
模式相似性挖掘:用于在時間數據庫或空間數據庫中搜索相似模式時,從所有對象中找出用戶定義范圍內的對象,或找出所有元素對中兩者距離小于用戶定義的距離范圍的元素對。
此外,Mahout提供了基于Hadoop的分布式機器學習和數據挖掘庫,便于大數據挖掘以及高級分析實施。
(2)非結構化數據分析。
非結構化數據包括文本、Web頁面、語音、視頻、圖像等,因此,在大數據環境下,需要具備對大規模的非結構化數據進行分析、利用,包括:文本挖掘、Web數據挖掘、語音識別、圖像識別與分析、地理空間分析。
(3)實時預測分析。
描述性分析主要是幫助用戶了解過去發生的事情,而預測性分析專注于正要發生的事情,并進一步預測將來可能發生什么。
(4)大數據可視化。
大數據可視化主要包括可視化報表和可視化分析。其中,可視化報表主要使用圖、表描述業務情況,主要工具有儀表盤、報告、基于Excel分析、維度分析等等。而可視化分析是輔助用戶可視化地探索數據來發現新的洞察,能夠幫助用戶按照思維的速度可視化地過濾、比較和關聯數據,從而更快地分析、更好地決策和更有效地展現和理解數據。
主要工具包括:入門級工具-Excel、在線數據可視化工具、互動圖形用戶界面控制、基于地理信息系統工具、可視化設計工具、可視化分析工具。
目前隨著電力信息化的迅速推進以及智能變電站、實時監測系統、現場移動檢修系統、測控一體化系統等一大批服務于各個專業的信息管理系統的建設和應用,數據的種類和規模同步快速增長,這些多源異構數據共同構成了智能電網大數據。未來將大數據技術適用在智能電網等信息領域,提供重要指揮決策信息可視化平臺,輔助指揮人員提升指揮能力。
(1)以應用需求為牽引,持續深化應用信息頂層規劃。
從不同指揮層級應用人員的應用需求出發,加強應用信息頂層規劃,持續支持與應用需求相關數據采集渠道接入,建立應用數據分類目錄體系標準與信息交換共享機制,確保多數據采集渠道的大規模應用數據能夠有效整合、有序組織,統一為應用信息服務提供數據資源調配與使用服務。
(2)以應用為核心,緊密圍繞應用保障知識化需要。
針對現有應用數據基礎性數據多、決策支持性數據少等問題,在應用信息頂層規劃與數據有效整合的支持下,綜合運用數據統計、數據分析、數據挖掘等方法,從多數據采集渠道獲取的大規模應用數據中,提煉能夠保障服務于應用指揮的決策支持信息知識,提升應用行動快速反應能力。
(3)以信息用戶為中心,重點突出多層級信息服務能力。
面對復雜、動態、不確定的應用環境,能夠支持便攜式終端快速接入、準確獲取信息,同時能夠面向不同應用人員提供個性化的信息服務,支持根據不同應用人員重點關注內容,靈活組織、多視角全方位展示信息內容,滿足不同指揮層級應用人員便捷、及時地掌握應用信息的保障需求。