韓文軍, 余春生
(1. 國網(wǎng)經(jīng)濟技術(shù)研究院有限公司 工程數(shù)據(jù)中心, 北京 102209; 2. 德信東源智能科技(北京)有限公司 科技研發(fā)中心, 北京 100088)
隨著計算機與大數(shù)據(jù)技術(shù)的快速發(fā)展,數(shù)據(jù)管理系統(tǒng)已逐步向電子化存儲、集中管理、大數(shù)據(jù)整合及全方位應(yīng)用方向轉(zhuǎn)變[1].但由于技術(shù)水平的參差不齊,管理模式存在較大差異,我國輸變電工程數(shù)據(jù)管理系統(tǒng)仍停留在初步的電子化檔案存儲及基本信息查詢階段[2],缺乏專業(yè)技術(shù)支撐輸變電工程數(shù)據(jù)管理,并累積了大量有待挖掘其深層次價值的數(shù)據(jù)[3].
為了有效描述和管理各種數(shù)據(jù),國內(nèi)外研究者和機構(gòu)提出了諸多數(shù)據(jù)存儲技術(shù),如使用RDBMS數(shù)據(jù)庫管理系統(tǒng)存儲關(guān)系型數(shù)據(jù)[4];使用Key-Value數(shù)據(jù)庫、Redis、Tokyo Cabinet和Tokoy Tyrant等NoSQL數(shù)據(jù)庫存儲非關(guān)系型數(shù)據(jù)[5];使用MongoDB和CouchDB數(shù)據(jù)庫存儲具有海量存儲需求和訪問需求的文檔數(shù)據(jù)[6];Cassandra與Voldemor數(shù)據(jù)庫存儲具有高可擴展性及可用性的特點[7].然而這些方法并不適用于多源、異構(gòu)的輸變電工程數(shù)據(jù),且需要浪費大量的存儲空間,降低了計算分析效率.
輸變電工程數(shù)據(jù)包括文檔資料、三維設(shè)計模型及工程地理信息數(shù)據(jù)3類[8-10],根據(jù)對現(xiàn)有輸變電工程數(shù)據(jù)的調(diào)研,每個工程項目移交數(shù)據(jù)的數(shù)據(jù)量及其形態(tài)表述如下:
1) 文檔資料數(shù)據(jù)包括初步設(shè)計階段、施工圖設(shè)計階段和竣工階段的變電站與架空線路數(shù)據(jù),約占30~50 Gbit,以非結(jié)構(gòu)化的PDF和圖片文件為主,基本沒有結(jié)構(gòu)化數(shù)據(jù);
2) 三維設(shè)計模型數(shù)據(jù)包括工程模型(CBM)、物理模型(DEV)、組合模型(PHM)和幾何模型單元(MOD)4大類,約占0.5~5 Gbit,其中,10%~30%為結(jié)構(gòu)化數(shù)據(jù),70%~90%為GIM格式的三維模型文件;
3) 工程地理信息數(shù)據(jù)包括影像數(shù)據(jù)、數(shù)字高程模型數(shù)據(jù)、基礎(chǔ)矢量數(shù)據(jù)、電網(wǎng)專題數(shù)據(jù)、電網(wǎng)空間數(shù)據(jù)和輸電線路通道數(shù)據(jù)等,約占0~10 Gbit,其數(shù)據(jù)格式以非結(jié)構(gòu)化的圖片文件為主,包括img、tif、grd、asc和shape等.
按照此數(shù)據(jù)量,平均每個工程項目包含結(jié)構(gòu)化數(shù)據(jù)500 Mbit,非結(jié)構(gòu)化數(shù)據(jù)50 Gbit,而我國各省擁有存量的輸變電工程項目約為1 000~10 000個,每年新增項目為幾十到幾百個[11-12].包含存量項目在內(nèi)的所有輸變電工程項目總數(shù)約在5萬個以上,工程數(shù)據(jù)總量有可能超過50 Tbit結(jié)構(gòu)化數(shù)據(jù)和2.5 Pbit非結(jié)構(gòu)化數(shù)據(jù).然而,傳統(tǒng)的單主機、單數(shù)據(jù)庫的簡單存儲模式無法滿足海量數(shù)據(jù)存儲的需求[13],必須采用陣列式或分布式的數(shù)據(jù)存儲模式來提升整個存儲體系的容量和性能.
基于上述分析,本文針對輸變電工程數(shù)據(jù)的多源、異構(gòu)、迭代更新和集成應(yīng)用等特性,提出了一種分布式數(shù)據(jù)存儲架構(gòu)來存儲各種輸變電數(shù)據(jù).首先基于元模型設(shè)計了輸變電工程數(shù)據(jù)的數(shù)據(jù)模型,然后提出了一種面向輸變電工程數(shù)據(jù)存儲管理的分布式數(shù)據(jù)存儲模式,并設(shè)計了一種數(shù)據(jù)完整性分析方法以保證完整、準(zhǔn)確地存儲各種數(shù)據(jù),最后,基于Hadoop分布式存儲平臺對提出方法進行了仿真實現(xiàn)與分析.
輸變電工程數(shù)據(jù)具有“多源、異構(gòu)”特點,即每個工程物理實體在時空中均是唯一存在的,從不同角度出發(fā)可以得到不同的數(shù)字化描述.本文在元數(shù)據(jù)模型框架基礎(chǔ)上,按照輸變電工程的數(shù)據(jù)種類和特性,對相關(guān)對象類型作進一步細(xì)化后得到適用于輸變電工程組織與管理的數(shù)據(jù)模型.按照如圖1所示的元數(shù)據(jù)模型,從以下5個方面對輸變電工程數(shù)據(jù)模型進行細(xì)化:1)物理對象分類細(xì)化;2)工程結(jié)構(gòu)化描述,即數(shù)據(jù)的上、下文信息;3)數(shù)據(jù)結(jié)構(gòu)化描述,即對數(shù)據(jù)對象、數(shù)據(jù)屬性和數(shù)據(jù)值集合的統(tǒng)計分析;4)元數(shù)據(jù)結(jié)構(gòu),即用數(shù)據(jù)來源、數(shù)據(jù)對象、數(shù)據(jù)屬性和數(shù)據(jù)值表示數(shù)據(jù)信息;5)文件結(jié)構(gòu)化,即數(shù)據(jù)的來源和數(shù)據(jù)包的結(jié)構(gòu)化信息.
物理對象代表在工程中所形成的、具有一定物理特性的相關(guān)對象.本文根據(jù)輸變電工程的特點,將物理對象細(xì)分為以下3種對象:
圖1 電力工程數(shù)據(jù)細(xì)化流程Fig.1 Refining process of power engineering data
1) Project工程對象,代表某個輸變電工程的整體,對應(yīng)GIM模型中的project.cbm信息,根據(jù)工程類型的不同,可進一步細(xì)分為Substation-Project變電工程和TransmissionProject輸電工程;
2) FunctionalObject功能對象,代表輸變電工程的某個組成部分,體現(xiàn)該組成部分的功能特性,對應(yīng)GIM模型中的*.cbm信息;
3) Device設(shè)備對象,代表某個能實現(xiàn)一定功能特性的物理實體,廣義上包含組合設(shè)備、子設(shè)備、設(shè)備部件等衍生對象,對應(yīng)GIM模型中的.dev信息.
通過FunctionalObject功能對象,對每個Project工程項目建立了一套層次結(jié)構(gòu).對功能層次結(jié)構(gòu)中的每一個設(shè)備節(jié)點設(shè)置一個Device設(shè)備對象,并根據(jù)對設(shè)備技術(shù)參數(shù)的設(shè)定,將設(shè)備對應(yīng)到具體的物料項上.同時隨著采購和施工的進行,將設(shè)備對應(yīng)到具體的產(chǎn)品項上.
每一個PhysicalObject物理對象可以具有多組設(shè)計數(shù)據(jù),即對應(yīng)多個DesignData設(shè)計數(shù)據(jù)對象.每個數(shù)據(jù)對象可以具有一組PropertyValues結(jié)構(gòu)化數(shù)據(jù)和一組KeyValues半結(jié)構(gòu)化數(shù)據(jù),其中,PropertyValues可通過ValueObject值對象來管理復(fù)雜值.每個數(shù)據(jù)對象根據(jù)其數(shù)據(jù)來源可歸屬于某一個數(shù)據(jù)包,在數(shù)據(jù)包上進行版本控制與來源跟蹤.
將元數(shù)據(jù)細(xì)化為ObjectType、ObjectProperty、ValueType和PackageType這4種類型.ObjectType定義了物理對象和數(shù)據(jù)對象的類型,重點是根據(jù)物理對象的設(shè)備分類,結(jié)合數(shù)據(jù)種類劃分來對數(shù)據(jù)對象進行細(xì)分;ObjectProperty定義了每種數(shù)據(jù)對象的屬性集合,對應(yīng)PropertyValues屬性值集合;ValueType對復(fù)雜值進行分類和定義,對應(yīng)ValueObject值對象;PackageType定義了DataPackage數(shù)據(jù)包的分類.
通過Folder文件夾來構(gòu)建一個用于存儲文件的層次結(jié)構(gòu),每個File文件均位于特定的Folder文件夾節(jié)點中.每個File文件根據(jù)其數(shù)據(jù)來源可歸屬于某一個數(shù)據(jù)包,在數(shù)據(jù)包上進行版本控制及來源跟蹤.
對于輸變電工程數(shù)據(jù)而言,每個工程項目均具有較強的整體性.在同一個工程項目內(nèi)部,不同數(shù)據(jù)之間存在緊密的關(guān)聯(lián),不同環(huán)節(jié)的工作開展也通常依賴于其他環(huán)節(jié)所產(chǎn)生的數(shù)據(jù).而在不同的工程項目之間,該種關(guān)聯(lián)性相對較弱,對于工作的影響一般是在參考、借鑒、引用等方面.本文根據(jù)工程項目數(shù)據(jù)的整體性和海量數(shù)據(jù)分散存儲的需要,提出了如圖2所示的面向輸變電工程數(shù)據(jù)存儲管理的分布式數(shù)據(jù)存儲架構(gòu).
圖2 輸變電工程數(shù)據(jù)分布式存儲架構(gòu)
Fig.2 Distributed storage architecture for power transmission and transformation engineering data
在該數(shù)據(jù)存儲管理架構(gòu)中,輸變電工程數(shù)據(jù)被抽象為數(shù)據(jù)單元、數(shù)據(jù)包和工程項目3個層級.數(shù)據(jù)單元是數(shù)據(jù)管理中的最小單位,每個數(shù)據(jù)單元代表一個數(shù)據(jù)對象及其附屬的數(shù)據(jù)屬性集、值對象以及鍵值對集;數(shù)據(jù)包用于承載數(shù)據(jù)管理信息,每個數(shù)據(jù)包一般由一組或多組數(shù)據(jù)對象按照一定規(guī)則進行排列或組合而成,對數(shù)據(jù)的存儲與管理活動一般會被對應(yīng)到數(shù)據(jù)包對象上;工程項目是數(shù)據(jù)存儲管理中的基本單位,對每個工程項目的所有數(shù)據(jù)進行集中存儲.
整個數(shù)據(jù)存儲體系采用分布式存儲、集中式管理的實現(xiàn)方式,包含一組全局管理器和多個并列的數(shù)據(jù)存儲器.每個數(shù)據(jù)存儲器可以管理多個工程項目、數(shù)據(jù)包和數(shù)據(jù)單元,將其持久化到數(shù)據(jù)庫或數(shù)據(jù)文件中,并建立數(shù)據(jù)緩存以改善數(shù)據(jù)存取性能.全局管理器集中管理所有的元數(shù)據(jù)、主數(shù)據(jù)以及工程數(shù)據(jù)的索引信息.同時使用分布式存儲平臺可以便于數(shù)據(jù)的統(tǒng)一加密和處理,本文使用HDF5編碼對存儲的數(shù)據(jù)進行加密處理.
從便于數(shù)據(jù)管理和使用的角度進行考慮,結(jié)合數(shù)據(jù)量估算與典型硬件性能等因素,本文按網(wǎng)省和年份來組織輸變電工程數(shù)據(jù)存儲體系,并設(shè)計了如圖3所示的數(shù)據(jù)管理架構(gòu).該管理架構(gòu)以工程項目的歸屬網(wǎng)省和啟動日期為依據(jù),將某個網(wǎng)省在某一年所有工程項目的數(shù)據(jù)集中存儲在一個數(shù)據(jù)存儲器中,并統(tǒng)一注冊到全局管理器中.在應(yīng)用數(shù)據(jù)時,用戶或第三方應(yīng)用可通過全局管理器提供的統(tǒng)一查詢接口進行全局的數(shù)據(jù)檢索,或者連接特定的數(shù)據(jù)存儲器進行本地數(shù)據(jù)的檢索及存取.
基于上述數(shù)據(jù)存儲和管理架構(gòu)分別設(shè)計了不同類型數(shù)據(jù)的存儲模式:
1) 工程地理信息數(shù)據(jù).本文將與輸變電工程相關(guān)的地理區(qū)域作為物理對象,將該區(qū)域的各種地理信息作為數(shù)據(jù)對象,按時間、精度、級別、坐標(biāo)系等方面進行組織,并將所包含的DEM、DOM文件通過文件庫進行集中管理,再通過GIS系統(tǒng)進行使用.工程地理信息數(shù)據(jù)存儲模式如圖4所示.
圖3 數(shù)據(jù)管理架構(gòu)Fig.3 Data management architecture
圖4 工程地理信息數(shù)據(jù)存儲模式Fig.4 Data storage mode for engineering geographic information
2) 三維設(shè)計模型.本文將與輸變電工程相關(guān)的系統(tǒng)或設(shè)備等功能設(shè)施作為物理對象,將該系統(tǒng)或設(shè)備的各種屬性集、幾何建模、層次結(jié)構(gòu)、連接關(guān)系等作為數(shù)據(jù)對象,將所包含的工程模型、物理模型、組合模型、幾何模型單位等文件通過文件庫進行集中管理,并建立起物理對象與文件對象的對應(yīng)關(guān)系.在數(shù)字化移交管理中,將獲取到的每個GIM模型文件作為一個數(shù)據(jù)包,而將其中的每個數(shù)據(jù)對象及其對應(yīng)的文件作為一個數(shù)據(jù)單元,三維設(shè)計模型的數(shù)據(jù)存儲模式如圖5所示.
圖5 三維設(shè)計模型數(shù)據(jù)存儲模式Fig.5 Data storage mode for 3D design model
3) 文檔資料數(shù)據(jù).本文將與輸變電工程相關(guān)的所有文檔資料作為文件對象,按文件內(nèi)容、文件類型、文件夾等方面進行組織,并分別關(guān)聯(lián)到對應(yīng)的系統(tǒng)/設(shè)備等功能對象上.將數(shù)字化管理中獲取到的每一套文件作為一個數(shù)據(jù)包,而其中的每個文件對象及其相關(guān)的關(guān)聯(lián)關(guān)系作為一個數(shù)據(jù)單元,數(shù)據(jù)存儲模式如圖6所示.
為了驗證本文所提分布式存儲架構(gòu)的有效性,使用2017年某地的輸變電工程數(shù)據(jù)進行仿真測試.基于Hadoop平臺搭建和部署了輸變電數(shù)據(jù)存儲系統(tǒng),該系統(tǒng)使用9臺普通PC機作為分布式存儲節(jié)點,各節(jié)點硬件配置為4 Gbit內(nèi)存、Core i5 CPU@2.60 GHz,100 Mbit/s網(wǎng)絡(luò)帶寬,并為各節(jié)點安裝Ubuntu16.04系統(tǒng)和Java JDK,系統(tǒng)平臺示意圖如圖7所示.
圖6 文檔資料數(shù)據(jù)存儲模式Fig.6 Data storage mode for documents
圖7 測試系統(tǒng)平臺示意圖Fig.7 Schematic diagram of testing platform system
本文對比了不同大小數(shù)據(jù)時使用單機單數(shù)據(jù)庫架構(gòu)存儲方式和使用Hadoop分布式存儲架構(gòu)兩種情況下的效率,以驗證所提存儲架構(gòu)的存儲效率,對比結(jié)果如圖8所示.
圖8 不同大小文件的存儲效率比較Fig.8 Comparison of file storage efficiency with different sizes
從圖8中可以看出,隨著數(shù)據(jù)塊的增大,本文架構(gòu)產(chǎn)生標(biāo)識的時間基本不變;而傳統(tǒng)存儲方法所需的時間隨著文件大小的變化呈線性增加.由此表明,本文存儲架構(gòu)更適合存儲海量輸變電工程數(shù)據(jù).
此外,文中比較了不同大小的輸變電數(shù)據(jù),驗證其完整性的時間開銷,即系統(tǒng)解析不同類型的數(shù)據(jù)時,檢測算法所需的時間開銷.圖9為設(shè)置數(shù)據(jù)塊大小為2、4、8、16、32、64、128 kbit時,數(shù)據(jù)完整性檢測所需的時間與通信開銷.從圖9中可以看出,對本存儲架構(gòu)所存儲的數(shù)據(jù)進行完整性檢測時,所需要的時間基本不隨數(shù)據(jù)塊大小的變化而變化.
圖9 完整性檢測所需時間開銷Fig.9 Time overhead required for integrity detection
本文存儲架構(gòu)在保證存儲效率和數(shù)據(jù)完整性的同時,也需要保證數(shù)據(jù)的安全.圖10、11分別為本存儲架構(gòu)存儲的原始數(shù)據(jù)與使用Storm平臺加密后的數(shù)據(jù).從圖11中可以看出,本系統(tǒng)將數(shù)據(jù)以加密的形式進行分布式存儲.
圖10 原始數(shù)據(jù)Fig.10 Raw data
圖11 加密后的數(shù)據(jù)Fig.11 Encrypted data
本文在充分考慮輸變電工程數(shù)據(jù)的多源、異構(gòu)、迭代更新及集成應(yīng)用等特性的基礎(chǔ)上,提出了一種分布式數(shù)據(jù)存儲模式,實現(xiàn)輸變電工程數(shù)據(jù)的分散存儲、全面關(guān)聯(lián)與統(tǒng)一管理.文中先基于元數(shù)據(jù)模型框架對輸變電工程數(shù)據(jù)進行了細(xì)化,然后使用面向輸變電工程數(shù)據(jù)存儲管理的分布式數(shù)據(jù)存儲架構(gòu)分別對工程地理信息數(shù)據(jù)、三維設(shè)計模型和文檔資料數(shù)據(jù)進行存儲設(shè)計.系統(tǒng)實現(xiàn)與仿真實驗結(jié)果表明,所提出的分布式存儲架構(gòu)在保證存儲效率和數(shù)據(jù)完整性的同時,也能保證數(shù)據(jù)的安全.