余 晗 李俊妮 吳海涵 原潔璇 史嘉偉 李元誠(chéng)
1(國(guó)家電網(wǎng)有限公司大數(shù)據(jù)中心 北京 100052) 2(華北電力大學(xué)控制與計(jì)算機(jī)工程學(xué)院 北京 100096)
能源網(wǎng)和互聯(lián)網(wǎng)的深度融合是新時(shí)代下適應(yīng)能源轉(zhuǎn)型發(fā)展潮流的重要手段,作為第3次工業(yè)革命的核心,能源互聯(lián)網(wǎng)依托于分布式發(fā)電、可再生能源等新能源技術(shù)以及人工智能、大數(shù)據(jù)、云計(jì)算和區(qū)塊鏈等計(jì)算機(jī)專(zhuān)業(yè)技術(shù),近年來(lái)取得了長(zhǎng)足的發(fā)展.因此,能源大數(shù)據(jù)越來(lái)越成為企業(yè)的重要戰(zhàn)略資源,企業(yè)越來(lái)越開(kāi)始關(guān)注能源數(shù)據(jù)的價(jià)值.能源大數(shù)據(jù)集成多種能源(電、煤、石油、天然氣等)的生產(chǎn)、傳輸、存儲(chǔ)、消費(fèi)、交易等數(shù)據(jù)于一體,這些能源數(shù)據(jù)分布存儲(chǔ)在多個(gè)企業(yè)或者部門(mén),通過(guò)它們之間的數(shù)據(jù)共享可以更好地發(fā)揮出能源數(shù)據(jù)的價(jià)值,更好地將能源數(shù)據(jù)服務(wù)于社會(huì)發(fā)展.然而由于能源主體眾多、數(shù)據(jù)量大、類(lèi)型多、來(lái)源廣、異構(gòu)性強(qiáng)的特點(diǎn)[1],現(xiàn)階段的能源數(shù)據(jù)共享監(jiān)管成為一個(gè)難題.首先,多源異構(gòu)的能源數(shù)據(jù)在各個(gè)環(huán)節(jié)中的信息分散存儲(chǔ),各部門(mén)只能通過(guò)數(shù)據(jù)接口進(jìn)行信息共享和數(shù)據(jù)流動(dòng),因此數(shù)據(jù)信息共享的程度并不高,各鏈路的協(xié)調(diào)效率也較低,導(dǎo)致出現(xiàn)了一個(gè)數(shù)據(jù)孤島.其次,在傳統(tǒng)的能源數(shù)據(jù)集中傳輸和存儲(chǔ)的場(chǎng)景中,攻擊者可能會(huì)在數(shù)據(jù)傳輸過(guò)程中竊取用戶的數(shù)據(jù)信息,導(dǎo)致用戶的私有信息泄露等問(wèn)題.此外,目前由中心節(jié)點(diǎn)集中存儲(chǔ)能源數(shù)據(jù)信息的方法,可能存在存儲(chǔ)節(jié)點(diǎn)單點(diǎn)故障、遭受惡意篡改數(shù)據(jù)等安全風(fēng)險(xiǎn).
近年來(lái),區(qū)塊鏈技術(shù)的發(fā)展為能源數(shù)據(jù)共享問(wèn)題的解決提供了一個(gè)新的思路,區(qū)塊鏈技術(shù)完美契合能源互聯(lián)網(wǎng)基本特征,有效地滿足了能源數(shù)據(jù)共享、隱私保護(hù)以及可靠數(shù)據(jù)傳輸?shù)男枨?,具有很大的?yīng)用前景與研究?jī)r(jià)值.習(xí)近平總書(shū)記在中央政治局第十八次集體學(xué)習(xí)時(shí)強(qiáng)調(diào),區(qū)塊鏈技術(shù)的集成應(yīng)用在新的技術(shù)革新和產(chǎn)業(yè)變革中起著重要作用[2].區(qū)塊鏈的概念起源于比特幣[3],最初是由日本學(xué)者中本聰提出的.它是一種通過(guò)哈希函數(shù)對(duì)數(shù)據(jù)進(jìn)行非對(duì)稱(chēng)加密[4],將數(shù)據(jù)打包并上傳到分布式節(jié)點(diǎn),形成鏈?zhǔn)浇Y(jié)構(gòu),從而實(shí)現(xiàn)事務(wù)信息的加密和記錄的技術(shù).區(qū)塊由區(qū)塊頭和區(qū)塊體2部分組成:區(qū)塊頭一般包含版本號(hào)、前一個(gè)區(qū)塊的哈希值、Merkle根、時(shí)間戳等;區(qū)塊體一般包含自前區(qū)塊之后發(fā)生的多筆數(shù)據(jù)交易信息.區(qū)塊鏈包括點(diǎn)對(duì)點(diǎn)傳輸、哈希算法、共識(shí)機(jī)制[5]和智能合約[6]等底層技術(shù),它在信息處理方面不依賴于第三方,并且具有分布式存儲(chǔ)、防篡改、安全性、分散化和健壯的可追溯性的特點(diǎn).Aitzhan等人[7]、Sikorski等人[8]以及張寧等人[9]提出將區(qū)塊鏈技術(shù)應(yīng)用到能源互聯(lián)網(wǎng),其優(yōu)勢(shì)包括:不再需要統(tǒng)一的中心機(jī)構(gòu)進(jìn)行調(diào)度管控,系統(tǒng)中的所有個(gè)體都可以自調(diào)度決策;跨能源系統(tǒng)的通用性給不同的能源系統(tǒng)信息提供統(tǒng)一的平臺(tái);具有數(shù)據(jù)的保密性與可靠性;使用區(qū)塊鏈技術(shù)、多簽名和匿名加密信息實(shí)現(xiàn)能源數(shù)據(jù)共享.
盡管區(qū)塊鏈適合能源互聯(lián)網(wǎng)的數(shù)據(jù)共享任務(wù),但是對(duì)于能源數(shù)據(jù)共享的監(jiān)管研究,目前所開(kāi)展的工作并不多.大量學(xué)者從鏈上鏈下映射和存儲(chǔ)模型的方向來(lái)研究數(shù)據(jù)監(jiān)管問(wèn)題,目前絕大多數(shù)工業(yè)區(qū)塊鏈建設(shè)項(xiàng)目都是采用了鏈上存證、鏈下保存大量基礎(chǔ)數(shù)據(jù)的方式來(lái)實(shí)現(xiàn)鏈上鏈下映射與數(shù)據(jù)協(xié)同,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)監(jiān)管任務(wù):文獻(xiàn)[10]以政務(wù)數(shù)據(jù)為背景,設(shè)計(jì)出基于授權(quán)的鏈上鏈下協(xié)同模型,通過(guò)算力池大幅緩解了區(qū)塊鏈的瓶頸壓力,提出了基于智能合約的去中心化訪問(wèn)策略,并最終通過(guò)實(shí)驗(yàn)達(dá)到了比較好的效果;文獻(xiàn)[11]以不同發(fā)電廠的數(shù)據(jù)類(lèi)型為例,將電力系統(tǒng)監(jiān)管數(shù)據(jù)與可公開(kāi)共享數(shù)據(jù)分開(kāi)研究,提出基于區(qū)塊鏈的電力數(shù)據(jù)統(tǒng)一監(jiān)管與共享交易模型,設(shè)計(jì)基于摘要目錄樹(shù)集中式檢索的電力數(shù)據(jù)共享交易第三方平臺(tái),達(dá)到了對(duì)電力交易安全監(jiān)管的目的;文獻(xiàn)[12]提出了一種基于區(qū)塊鏈的第三方平臺(tái)多價(jià)值鏈協(xié)同數(shù)據(jù)共享框架,并通過(guò)實(shí)際案例驗(yàn)證了該框架的有效性;文獻(xiàn)[13]提出了一種基于區(qū)塊鏈的日志存儲(chǔ)方法,采用區(qū)塊鏈的分布式架構(gòu)來(lái)保存告警日志,避免了數(shù)據(jù)竊取和惡意篡改,使用查詢區(qū)塊索引庫(kù)的方式來(lái)替代傳統(tǒng)的區(qū)塊鏈順序檢索,提高了告警日志檢索的速度;文獻(xiàn)[14]通過(guò)分析區(qū)塊鏈的技術(shù)特點(diǎn),提出了一種基于區(qū)塊鏈的電力共享經(jīng)濟(jì)方案,為區(qū)塊鏈在電力領(lǐng)域的應(yīng)用提供了新的思路;文獻(xiàn)[15]利用區(qū)塊鏈技術(shù)實(shí)現(xiàn)了電網(wǎng)分布式經(jīng)濟(jì)調(diào)度下的數(shù)據(jù)保護(hù),可有效抵御網(wǎng)絡(luò)攻擊;文獻(xiàn)[16]設(shè)計(jì)了一種基于區(qū)塊鏈的智慧電廠數(shù)據(jù)安全傳輸系統(tǒng),結(jié)合數(shù)字簽名等技術(shù)保障了數(shù)據(jù)網(wǎng)絡(luò)傳輸?shù)陌踩晃墨I(xiàn)[17]結(jié)合區(qū)塊鏈技術(shù)的特點(diǎn),提出了農(nóng)業(yè)數(shù)據(jù)共享模型、溯源模型以及隱私計(jì)算模型,實(shí)現(xiàn)了農(nóng)業(yè)數(shù)據(jù)的科學(xué)監(jiān)管.針對(duì)能源數(shù)據(jù)共享過(guò)程中的監(jiān)管,需要結(jié)合能源數(shù)據(jù)的特點(diǎn)進(jìn)行進(jìn)一步研究.
鑒于此,本文提出了一種面向能源大數(shù)據(jù)的基于聯(lián)盟鏈的可信監(jiān)管模型,實(shí)現(xiàn)了鏈上鏈下數(shù)據(jù)的映射,從而保證了能源數(shù)據(jù)共享過(guò)程中的安全與可溯源.本文的主要貢獻(xiàn)如下:
1) 基于能源大數(shù)據(jù)中心數(shù)據(jù)中臺(tái)建設(shè),提出面向能源大數(shù)據(jù)的鏈上鏈下數(shù)據(jù)監(jiān)管模型,借助數(shù)據(jù)中臺(tái)基本功能,對(duì)各系統(tǒng)資源數(shù)據(jù)進(jìn)行匯聚與清洗,將監(jiān)管數(shù)據(jù)上鏈保存,為數(shù)據(jù)共享提供有效支撐;
圖1 鏈上鏈下能源數(shù)據(jù)監(jiān)管模型
2) 依托數(shù)據(jù)資源目錄系統(tǒng),建立目錄區(qū)塊鏈,對(duì)數(shù)據(jù)資源目錄的關(guān)鍵數(shù)據(jù)進(jìn)行了有效設(shè)計(jì),并對(duì)其進(jìn)行上鏈操作,監(jiān)管數(shù)據(jù)關(guān)鍵字與鏈下數(shù)據(jù)關(guān)鍵字一一對(duì)應(yīng),將目錄更新信息及時(shí)上鏈,實(shí)現(xiàn)了數(shù)據(jù)存儲(chǔ)階段數(shù)據(jù)的鏈前與鏈上監(jiān)管;
3) 針對(duì)數(shù)據(jù)訪問(wèn)過(guò)程,將數(shù)據(jù)共享過(guò)程中的實(shí)際操作進(jìn)行記錄,形成日志文件進(jìn)行保存,將日志元數(shù)據(jù)上鏈,并在區(qū)塊頭添加密文索引信息,方便日志檢索,將更新之后的結(jié)果返回給數(shù)據(jù)資源目錄系統(tǒng)進(jìn)行更新,實(shí)現(xiàn)了數(shù)據(jù)訪問(wèn)階段數(shù)據(jù)的鏈上監(jiān)管.
本文從能源數(shù)據(jù)的存儲(chǔ)和共享2個(gè)角度,探究面向能源大數(shù)據(jù)鏈上鏈下數(shù)據(jù)的監(jiān)管模型,其中總體架構(gòu)如圖1所示,主要包括數(shù)據(jù)資源、數(shù)據(jù)中臺(tái)、監(jiān)管鏈和能源數(shù)據(jù)監(jiān)管部門(mén)4大部分.數(shù)據(jù)資源之間的共享操作通過(guò)數(shù)據(jù)中臺(tái)進(jìn)行連接,由數(shù)據(jù)中臺(tái)對(duì)共享數(shù)據(jù)統(tǒng)一匯聚與處理,交由能源數(shù)據(jù)監(jiān)管部門(mén)進(jìn)行上鏈操作,將重要的敏感數(shù)據(jù)與數(shù)據(jù)訪問(wèn)操作保存在監(jiān)管區(qū)塊鏈中,一方面可以從監(jiān)管鏈對(duì)能源數(shù)據(jù)信息進(jìn)行監(jiān)督管理,確保能源數(shù)據(jù)流通過(guò)程中的真實(shí)性與安全性;另一方面也使得各共享主體與監(jiān)管部門(mén)之間避免產(chǎn)生信息孤島,實(shí)現(xiàn)監(jiān)管一體化.該整體架構(gòu)中的實(shí)體名稱(chēng)和具體實(shí)現(xiàn)的功能如下:
似乎所有津津樂(lè)道的故事都有類(lèi)似這樣一個(gè)“風(fēng)騷”的開(kāi)始:初識(shí)只作乍見(jiàn)之歡。我們似乎都是習(xí)慣了喜新厭舊的人,喜歡去新的城市,喜歡探索新的事物,喜歡更換新的物品,喜歡接觸新的人……世間的美好,多數(shù)在于初見(jiàn),初見(jiàn)你初妝、初見(jiàn)你笑顏……然而好的事物容易有一個(gè)通病,那就是都不長(zhǎng)遠(yuǎn)。越是璀璨,就越是脆弱。花前月下,塵夢(mèng)如煙,似曾相識(shí),曇花一現(xiàn)!其實(shí),人生難得的是日后久處不厭,如果是,那么,有生之年,有幸遇見(jiàn)。
1) 數(shù)據(jù)資源系統(tǒng).包括電力資源系統(tǒng)在內(nèi)的多個(gè)進(jìn)行能源數(shù)據(jù)共享的能源大數(shù)據(jù)中心內(nèi)部主體,可供其他不同系統(tǒng)進(jìn)行可驗(yàn)證的數(shù)據(jù)遠(yuǎn)程訪問(wèn)服務(wù),其中包括燃?xì)赓Y源管理系統(tǒng)、核能數(shù)據(jù)管理系統(tǒng)、基建信息管理系統(tǒng)以及數(shù)據(jù)共享過(guò)程中可能會(huì)使用到的各類(lèi)數(shù)據(jù),它們之間通過(guò)數(shù)據(jù)中臺(tái)進(jìn)行連接,從而實(shí)現(xiàn)數(shù)據(jù)共享的操作.每個(gè)數(shù)據(jù)資源系統(tǒng)既可以作為數(shù)據(jù)提供者,向能源監(jiān)管部門(mén)上傳數(shù)據(jù)供其他系統(tǒng)訪問(wèn),也可以作為數(shù)據(jù)使用者請(qǐng)求對(duì)其他系統(tǒng)數(shù)據(jù)的共享操作.各資源系統(tǒng)協(xié)同運(yùn)作,共同完成能源數(shù)據(jù)從生產(chǎn)、傳輸、存儲(chǔ)等各流程的任務(wù).
2) 數(shù)據(jù)中臺(tái).即大型的數(shù)據(jù)管理平臺(tái)[18],由于政府部門(mén)、事業(yè)單位以及各資源系統(tǒng)對(duì)能源數(shù)據(jù)的需求差異化較大,數(shù)據(jù)中臺(tái)可以對(duì)這些不同來(lái)源的數(shù)據(jù)進(jìn)行匯聚與監(jiān)控,服務(wù)于內(nèi)外部客戶,對(duì)外提供統(tǒng)一的服務(wù)能力.數(shù)據(jù)中臺(tái)分為貼源層、共享層和分析層3大模塊,其中:貼源層負(fù)責(zé)存儲(chǔ)原始數(shù)據(jù),用于方便數(shù)據(jù)治理,數(shù)據(jù)主要包括結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)2類(lèi);共享層負(fù)責(zé)對(duì)各資源系統(tǒng)收集來(lái)的數(shù)據(jù)進(jìn)行集成與清洗,構(gòu)建統(tǒng)一的數(shù)據(jù)交換模型與標(biāo)準(zhǔn)化接口;分析層負(fù)責(zé)實(shí)現(xiàn)最后的數(shù)據(jù)應(yīng)用服務(wù).
3) 監(jiān)管鏈.由各能源大數(shù)據(jù)中心和能源監(jiān)管部門(mén)共同構(gòu)成,主要用于記錄能源數(shù)據(jù)共享過(guò)程中的監(jiān)管數(shù)據(jù),這些數(shù)據(jù)包括數(shù)據(jù)訪問(wèn)記錄以及基本能源數(shù)據(jù)目錄等.監(jiān)管鏈采用聯(lián)盟鏈[19]的形式進(jìn)行構(gòu)建,聯(lián)盟鏈?zhǔn)且环N只針對(duì)某個(gè)群體的成員和有限的第三方的區(qū)塊鏈形式,它介于公有鏈與私有鏈之間,由于聯(lián)盟鏈的節(jié)點(diǎn)數(shù)量有限,和公有鏈相比,聯(lián)盟鏈的可控性更強(qiáng)、交易速度更快且去中心化程度更低.每個(gè)數(shù)據(jù)資源系統(tǒng)都可以作為聯(lián)盟鏈中的一個(gè)節(jié)點(diǎn),每個(gè)聯(lián)盟鏈節(jié)點(diǎn)能夠?yàn)橛脩羯晌ㄒ簧矸輼?biāo)識(shí),分配公鑰和私鑰,管理用戶的能源數(shù)據(jù),所有節(jié)點(diǎn)都保存完整的區(qū)塊鏈副本,即共享數(shù)據(jù)的目錄、數(shù)據(jù)訪問(wèn)等信息,從而形成不可篡改的記錄.
4) 能源數(shù)據(jù)監(jiān)管部門(mén). 主要負(fù)責(zé)對(duì)不同用戶的數(shù)據(jù)訪問(wèn)過(guò)程等監(jiān)管數(shù)據(jù)進(jìn)行統(tǒng)一管理,將數(shù)據(jù)訪問(wèn)信息的關(guān)鍵字段進(jìn)行上鏈.監(jiān)管部門(mén)可以根據(jù)關(guān)鍵字查詢區(qū)塊鏈數(shù)據(jù),并通過(guò)目錄服務(wù)器與數(shù)據(jù)庫(kù)相結(jié)合搜索鏈下數(shù)據(jù),針對(duì)能源數(shù)據(jù)的變化實(shí)現(xiàn)有效的追蹤溯源服務(wù),進(jìn)而實(shí)現(xiàn)能源數(shù)據(jù)的監(jiān)管與確權(quán).
5) 數(shù)據(jù)庫(kù)服務(wù)器. 作為數(shù)據(jù)庫(kù)系統(tǒng),主要功能是參與對(duì)鏈下實(shí)際存儲(chǔ)能源數(shù)據(jù)的管理、查詢、操縱與維護(hù),負(fù)責(zé)數(shù)據(jù)庫(kù)更新的實(shí)時(shí)監(jiān)控,為目錄更新上鏈工作提供支撐.
6) 目錄服務(wù)器. 參與對(duì)鏈下數(shù)據(jù)資源目錄數(shù)據(jù)的管理與查詢等工作,可作為目錄數(shù)據(jù)查找實(shí)際能源數(shù)據(jù)的接口.
7) 政府與事業(yè)單位. 可作為外部組織向能源大數(shù)據(jù)中心發(fā)起數(shù)據(jù)共享請(qǐng)求.
數(shù)據(jù)存儲(chǔ)監(jiān)管主要是從原始數(shù)據(jù)的存儲(chǔ)角度來(lái)探究能源數(shù)據(jù)的監(jiān)管工作,包括鏈下數(shù)據(jù)與鏈上記錄的監(jiān)管,鏈下監(jiān)管需要對(duì)鏈下數(shù)據(jù)的格式和內(nèi)容進(jìn)行檢查,從而保證數(shù)據(jù)上鏈的可靠性,鏈上監(jiān)管需要實(shí)時(shí)接收鏈上的廣播信息,將目錄信息的更新操作及時(shí)上鏈.
數(shù)據(jù)資源目錄[20]是指按照一定的分類(lèi)方法對(duì)信息資源進(jìn)行排序、編碼、描述,從而方便檢索、定位與獲取信息資源的一種方式,它可以記錄信息的來(lái)源與去向,并且規(guī)定了數(shù)據(jù)的共享規(guī)范,可以有效體現(xiàn)數(shù)據(jù)的價(jià)值屬性,在數(shù)據(jù)共享的過(guò)程中起到十分重要的作用.
圖2 數(shù)據(jù)資源目錄系統(tǒng)結(jié)構(gòu)
如圖2所示,多個(gè)業(yè)務(wù)系統(tǒng)通過(guò)數(shù)據(jù)資源目錄管理系統(tǒng)進(jìn)行連接,各業(yè)務(wù)系統(tǒng)可以作為數(shù)據(jù)提供者,將自己擁有的托管數(shù)據(jù)或自管理數(shù)據(jù)上傳給數(shù)據(jù)資源目錄服務(wù)管理者,注冊(cè)數(shù)據(jù)存儲(chǔ),如果用戶信息驗(yàn)證成功,則生成目錄信息并將其存儲(chǔ)在數(shù)據(jù)庫(kù)中,為其他的數(shù)據(jù)使用者提供目錄訂閱與使用服務(wù).同時(shí),各業(yè)務(wù)系統(tǒng)也可以作為數(shù)據(jù)使用者,對(duì)其他系統(tǒng)的目錄服務(wù)進(jìn)行申請(qǐng)?jiān)L問(wèn),從而實(shí)現(xiàn)數(shù)據(jù)共享.
對(duì)于傳統(tǒng)的數(shù)據(jù)資源目錄,共享交換效率低,數(shù)據(jù)有效性差,數(shù)據(jù)權(quán)責(zé)不清晰,數(shù)據(jù)的所有權(quán)和管理權(quán)分離,容易引起維護(hù)、安全等問(wèn)題.
因此,本文依托于數(shù)據(jù)資源目錄,結(jié)合區(qū)塊鏈技術(shù),構(gòu)建了目錄區(qū)塊鏈.
本文利用區(qū)塊鏈去中心化、不可篡改的特性,將數(shù)據(jù)資源目錄通過(guò)區(qū)塊鏈進(jìn)行存儲(chǔ),在保證數(shù)據(jù)共享安全的情況下,緩解區(qū)塊鏈的存儲(chǔ)壓力.
目錄區(qū)塊鏈的上鏈流程如下:
1) 假定各資源系統(tǒng)已完成身份注冊(cè),擁有唯一的身份標(biāo)識(shí)符[21],則上傳自己擁有的帶有數(shù)字簽名[22]的管理數(shù)據(jù);
2) 各資源系統(tǒng)向數(shù)據(jù)資源目錄管理系統(tǒng)提交目錄注冊(cè)存儲(chǔ)申請(qǐng),請(qǐng)求生成數(shù)據(jù)資源目錄;
圖3 鏈上鏈下能源數(shù)據(jù)存儲(chǔ)格式設(shè)計(jì)
3) 數(shù)據(jù)資源目錄管理系統(tǒng)對(duì)各資源系統(tǒng)提交的申請(qǐng)進(jìn)行確認(rèn),通過(guò)智能合約驗(yàn)證其身份信息并判斷申請(qǐng)信息是否完整,若身份驗(yàn)證正確且符合數(shù)據(jù)規(guī)范則同意請(qǐng)求,對(duì)管理數(shù)據(jù)按照事先設(shè)計(jì)的數(shù)據(jù)標(biāo)準(zhǔn)生成數(shù)據(jù)資源目錄信息,將數(shù)據(jù)資源目錄保存在目錄服務(wù)器中,并返回存儲(chǔ)位置信息;
4) 由數(shù)據(jù)資源目錄管理系統(tǒng)對(duì)數(shù)據(jù)資源目錄關(guān)鍵字段信息進(jìn)行上鏈申請(qǐng);
5) 由監(jiān)管部門(mén)節(jié)點(diǎn)對(duì)上鏈數(shù)據(jù)進(jìn)行檢查,驗(yàn)證有效后將數(shù)據(jù)打包成新的區(qū)塊,將新區(qū)塊廣播到區(qū)塊鏈網(wǎng)絡(luò)所有節(jié)點(diǎn),在區(qū)塊鏈節(jié)點(diǎn)共識(shí)完成之后,數(shù)據(jù)上鏈,保存在目錄區(qū)塊鏈中,更新索引信息并返回上鏈結(jié)果,否則拋棄此區(qū)塊.
如圖3所示,目錄區(qū)塊鏈中的主要業(yè)務(wù)數(shù)據(jù)設(shè)計(jì)包括數(shù)據(jù)關(guān)鍵字信息,即數(shù)據(jù)唯一編號(hào)、鏈下數(shù)據(jù)所在位置、最后更新時(shí)間、特征值等,對(duì)目錄數(shù)據(jù)各字段的描述如下:
1) 數(shù)據(jù)關(guān)鍵字信息即數(shù)據(jù)唯一編號(hào).反映數(shù)據(jù)唯一性的主要屬性字段,可以與鏈下目錄數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)進(jìn)行一一對(duì)應(yīng),從而實(shí)現(xiàn)鏈上鏈下數(shù)據(jù)的映射關(guān)系,每個(gè)上傳到區(qū)塊鏈的數(shù)據(jù)都擁有唯一的ID.
2) 數(shù)據(jù)所在位置.即鏈上數(shù)據(jù)所對(duì)應(yīng)的鏈下數(shù)據(jù)具體數(shù)據(jù)庫(kù)或服務(wù)器位置,可以實(shí)現(xiàn)鏈上數(shù)據(jù)對(duì)鏈下數(shù)據(jù)的定位.
3) 最后更新時(shí)間.給目錄區(qū)塊更靈活的管理方式,通過(guò)鏈上字段反映出數(shù)據(jù)實(shí)時(shí)變化的信息,方便對(duì)數(shù)據(jù)的追溯與查詢.
4) 特征值.即目錄數(shù)據(jù)上鏈的哈希編號(hào),可用于數(shù)據(jù)真實(shí)性和完整性的檢驗(yàn),其中哈希算法公式為:
其中,n為區(qū)塊索引;k為哈希值;kn-1為上一次產(chǎn)生的哈希值.
5) 數(shù)據(jù)提供者ID.用于標(biāo)識(shí)數(shù)據(jù)的提供者即歸屬機(jī)構(gòu)或者個(gè)人.
6) 數(shù)據(jù)狀態(tài).用于標(biāo)識(shí)該數(shù)據(jù)當(dāng)前是否可用,若值為0表示數(shù)據(jù)不可用,若值為1表示數(shù)據(jù)可用.
為了對(duì)能源數(shù)據(jù)進(jìn)行有效監(jiān)管,數(shù)據(jù)資源目錄也需要根據(jù)鏈下數(shù)據(jù)的實(shí)時(shí)更新而進(jìn)行變化,將更新后的數(shù)據(jù)資源目錄再次上鏈.這樣,區(qū)塊鏈上保存有不同時(shí)間目錄的更新信息,可利用此鏈上信息對(duì)數(shù)據(jù)進(jìn)行逆向溯源操作,從而實(shí)現(xiàn)對(duì)能源數(shù)據(jù)的監(jiān)管工作.
目錄區(qū)塊鏈的更新流程如下:
問(wèn)卷數(shù)據(jù)由筆者手工輸入,數(shù)據(jù)分析用SPSS 22.0進(jìn)行了描述統(tǒng)計(jì)和獨(dú)立樣本T檢驗(yàn)。下面將對(duì)問(wèn)卷調(diào)查及相應(yīng)的訪談內(nèi)容進(jìn)行結(jié)果分析與討論。
1) 在本地?cái)?shù)據(jù)庫(kù)中設(shè)置觸發(fā)器,建立數(shù)據(jù)庫(kù)更新表,觸發(fā)器會(huì)把表的變動(dòng)信息包括更新時(shí)間等寫(xiě)入數(shù)據(jù)庫(kù)更新表,按更新時(shí)間將數(shù)據(jù)庫(kù)更新表排序;
2) 各資源系統(tǒng)監(jiān)控本類(lèi)能源數(shù)據(jù)變化,定期對(duì)數(shù)據(jù)庫(kù)更新表進(jìn)行掃描,并設(shè)置檢查點(diǎn),將數(shù)據(jù)庫(kù)更新表進(jìn)行采集;
3) 各資源系統(tǒng)向監(jiān)管部門(mén)發(fā)送目錄更新請(qǐng)求,傳輸?shù)膮?shù)包括數(shù)據(jù)提供者ID、關(guān)鍵字以及數(shù)據(jù)更新表信息等;
4) 監(jiān)管部門(mén)收到目錄更新請(qǐng)求之后,將請(qǐng)求信息匯聚到數(shù)據(jù)中臺(tái),調(diào)用數(shù)據(jù)中臺(tái)通過(guò)搜索算法獲取目錄區(qū)塊鏈上與關(guān)鍵字對(duì)應(yīng)的目錄數(shù)據(jù),檢查數(shù)據(jù)提供者ID是否與發(fā)出目錄更新請(qǐng)求的用戶一致,若一致則可確定目錄屬于請(qǐng)求者;
5) 數(shù)據(jù)中臺(tái)根據(jù)請(qǐng)求信息,提取最后更新時(shí)間、數(shù)據(jù)提供者ID、數(shù)據(jù)所在位置等字段信息,若當(dāng)前目錄不再使用,將數(shù)據(jù)狀態(tài)字段置為0,打包準(zhǔn)備上鏈;
6) 監(jiān)管節(jié)點(diǎn)將打包好的區(qū)塊廣播給區(qū)塊鏈各節(jié)點(diǎn),根據(jù)指定的共識(shí)算法進(jìn)行共識(shí),若共識(shí)成功則進(jìn)行下一步操作,否則拋棄此區(qū)塊;
7) 將共識(shí)成功的區(qū)塊上鏈,返回操作結(jié)果;
8) 區(qū)塊上鏈后,將更新結(jié)果返回給數(shù)據(jù)提供者;
9) 根據(jù)上鏈結(jié)果,對(duì)鏈下數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)資源目錄進(jìn)行更新,包括關(guān)鍵字信息與其他實(shí)際修改的字段信息,將關(guān)鍵字與鏈上數(shù)據(jù)信息一一對(duì)應(yīng);
10) 重復(fù)步驟2的操作,從檢查點(diǎn)開(kāi)始繼續(xù)對(duì)數(shù)據(jù)庫(kù)更新表進(jìn)行掃描,繼續(xù)進(jìn)行上鏈申請(qǐng),達(dá)成共識(shí)后將數(shù)據(jù)保存在區(qū)塊鏈上,確保區(qū)塊鏈上保存的一直是最新的數(shù)據(jù).
基于上述提到的目錄區(qū)塊鏈基本思想,將數(shù)據(jù)資源目錄保存在區(qū)塊鏈中,鏈下數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù),利用區(qū)塊鏈的防篡改性和可追溯性,避免了數(shù)據(jù)目錄被非法篡改.當(dāng)數(shù)據(jù)資源目錄需要變動(dòng)時(shí),監(jiān)管鏈可以實(shí)時(shí)地將變化的信息進(jìn)行存儲(chǔ).為了驗(yàn)證鏈下數(shù)據(jù)的真實(shí)性,監(jiān)管部門(mén)可以向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起請(qǐng)求調(diào)用智能合約,通過(guò)索引結(jié)構(gòu)按照關(guān)鍵字隨時(shí)查詢鏈上數(shù)據(jù),得到鏈上存儲(chǔ)的最新目錄數(shù)據(jù)之后,通過(guò)數(shù)據(jù)所在位置這一字段信息,定位到數(shù)據(jù)的鏈下存儲(chǔ)具體地址,將鏈上信息與鏈下信息進(jìn)行對(duì)比,若信息不一致,則監(jiān)管部門(mén)應(yīng)立即啟動(dòng)告警服務(wù).能源數(shù)據(jù)各資源系統(tǒng)也可以通過(guò)其他方式向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起溯源請(qǐng)求,在滿足權(quán)限的前提下查詢鏈上信息,從而驗(yàn)證能源數(shù)據(jù)是否符合規(guī)定的標(biāo)準(zhǔn)或者信息是否已經(jīng)遭到篡改.
數(shù)據(jù)訪問(wèn)主要指的是各資源系統(tǒng)以及外部組織在數(shù)據(jù)共享過(guò)程中對(duì)數(shù)據(jù)的各種操作,包括數(shù)據(jù)的讀取、更新與刪除等行為.為了防止非法用戶對(duì)能源數(shù)據(jù)的訪問(wèn),也方便今后對(duì)數(shù)據(jù)的追溯,需要對(duì)數(shù)據(jù)的訪問(wèn)過(guò)程進(jìn)行上鏈記錄,實(shí)時(shí)監(jiān)控訪問(wèn)數(shù)據(jù),從而達(dá)到數(shù)據(jù)可信共享的目的.數(shù)據(jù)的訪問(wèn)分為2個(gè)場(chǎng)景:1)能源大數(shù)據(jù)中心內(nèi)部的數(shù)據(jù)訪問(wèn);2)外部組織對(duì)能源數(shù)據(jù)的訪問(wèn).
數(shù)據(jù)訪問(wèn)記錄的上鏈具體流程如下:
1) 數(shù)據(jù)中臺(tái)將數(shù)據(jù)訪問(wèn)記錄存儲(chǔ)在分布式數(shù)據(jù)庫(kù)中,對(duì)關(guān)鍵信息進(jìn)行加密,保證日志文件存儲(chǔ)的安全性;
2) 對(duì)日志文件進(jìn)行預(yù)處理,提取關(guān)鍵字信息,生成訪問(wèn)記錄元數(shù)據(jù),包括時(shí)間戳、訪問(wèn)用戶信息、訪問(wèn)權(quán)限等,其中包含多關(guān)鍵字K={k1,k2,…};
3) 對(duì)多關(guān)鍵字信息進(jìn)行加密,得到新的信息MK={Ek1,Ek2,…};
4) 將包含該關(guān)鍵字的訪問(wèn)文件的索引插入索引表中,生成倒排索引結(jié)構(gòu)表;
5) 在區(qū)塊體中放入日志元數(shù)據(jù),區(qū)塊頭除版本號(hào)、上一區(qū)塊哈希值、Merkle根節(jié)點(diǎn)、區(qū)塊生成時(shí)間戳、難度閾值、隨機(jī)數(shù)等基本信息之外,引入拓展信息,即日志索引結(jié)構(gòu),方便對(duì)日志文件進(jìn)行檢索,打包將區(qū)塊發(fā)送給監(jiān)管節(jié)點(diǎn)申請(qǐng)上鏈,打包流程如圖4所示;
圖4 訪問(wèn)記錄區(qū)塊打包流程
6) 監(jiān)管節(jié)點(diǎn)將區(qū)塊廣播給區(qū)塊鏈網(wǎng)絡(luò)所有節(jié)點(diǎn),達(dá)成共識(shí)之后將區(qū)塊上鏈,數(shù)據(jù)上鏈后將永久保存在區(qū)塊鏈上,之后監(jiān)管節(jié)點(diǎn)將上鏈結(jié)果返回.
數(shù)據(jù)訪問(wèn)分為內(nèi)部數(shù)據(jù)訪問(wèn)和外部數(shù)據(jù)訪問(wèn):內(nèi)部數(shù)據(jù)訪問(wèn)即能源大數(shù)據(jù)中心各資源系統(tǒng)之間的數(shù)據(jù)共享,內(nèi)部數(shù)據(jù)就是本地?cái)?shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)的數(shù)據(jù)不用進(jìn)行可搜索加密查找目錄區(qū)塊鏈中的關(guān)鍵字,通過(guò)數(shù)據(jù)中臺(tái)查找本地目錄服務(wù)器就可以完成數(shù)據(jù)訪問(wèn)流程;
外部數(shù)據(jù)訪問(wèn)的模式就是監(jiān)管部門(mén)通過(guò)發(fā)來(lái)的交換表信息先訪問(wèn)目錄區(qū)塊鏈,通過(guò)可搜索加密找到關(guān)鍵字對(duì)應(yīng)的目錄區(qū)塊,解析目錄區(qū)塊數(shù)據(jù)信息,找到數(shù)據(jù)存儲(chǔ)實(shí)體和具體位置,進(jìn)而找到對(duì)應(yīng)數(shù)據(jù).外部數(shù)據(jù)訪問(wèn)流程如圖5所示,具體流程如下:
1) 各訪問(wèn)用戶根據(jù)密碼算法生成自己的公私鑰對(duì),向監(jiān)管部門(mén)發(fā)送加密信息進(jìn)行身份注冊(cè)申請(qǐng),監(jiān)管部門(mén)根據(jù)私鑰解密,為用戶生成帶有監(jiān)管部門(mén)簽名的數(shù)字身份信息;
2) 各用戶訪問(wèn)具體所需數(shù)據(jù)時(shí)要調(diào)用API接口向監(jiān)管部門(mén)發(fā)起申請(qǐng),此時(shí)監(jiān)管部門(mén)就會(huì)捕捉系統(tǒng)的訪問(wèn)請(qǐng)求,驗(yàn)證訪問(wèn)用戶信息并且檢索權(quán)限表,核實(shí)系統(tǒng)是否擁有訪問(wèn)權(quán)限.若不符合則拒絕數(shù)據(jù)服務(wù)請(qǐng)求,若符合則判斷訪問(wèn)類(lèi)型,若為內(nèi)部訪問(wèn)則直接提交數(shù)據(jù)中臺(tái)進(jìn)行目錄訪問(wèn),將數(shù)據(jù)返回給數(shù)據(jù)請(qǐng)求用戶,若為外部訪問(wèn)則進(jìn)入下一步;
3) 外部訪問(wèn)用戶提交交換表說(shuō)明具體的數(shù)據(jù)服務(wù)請(qǐng)求,交換表格式采用監(jiān)管部門(mén)制定的統(tǒng)一標(biāo)準(zhǔn);
4) 監(jiān)管節(jié)點(diǎn)根據(jù)交換表內(nèi)容,生成統(tǒng)一格式的標(biāo)準(zhǔn)數(shù)據(jù),查詢目錄區(qū)塊鏈,得到訪問(wèn)數(shù)據(jù)具體存儲(chǔ)位置,通過(guò)目錄服務(wù)器到數(shù)據(jù)庫(kù)服務(wù)器的查找過(guò)程得到相應(yīng)數(shù)據(jù),給予用戶數(shù)據(jù)服務(wù)的相應(yīng)反饋,返回執(zhí)行結(jié)果;
5) 將上述得到的標(biāo)準(zhǔn)數(shù)據(jù)保存,得到操作日志的元數(shù)據(jù),將其存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)中,按照前面所述流程上鏈,返回上鏈結(jié)果.
圖5 外部數(shù)據(jù)訪問(wèn)流程
如圖6所示,數(shù)據(jù)訪問(wèn)過(guò)程的元數(shù)據(jù)設(shè)計(jì)主要包括數(shù)據(jù)關(guān)鍵字信息即數(shù)據(jù)唯一編號(hào)、訪問(wèn)用戶ID、訪問(wèn)類(lèi)型、時(shí)間戳、特征值等.大部分字段與目錄標(biāo)準(zhǔn)監(jiān)管格式一致,其中訪問(wèn)類(lèi)型字段表示訪問(wèn)用戶對(duì)數(shù)據(jù)執(zhí)行的具體操作,訪問(wèn)用戶ID表示用戶的唯一標(biāo)識(shí)符,訪問(wèn)數(shù)據(jù)表示用戶所要訪問(wèn)的具體數(shù)據(jù).
圖6 數(shù)據(jù)訪問(wèn)過(guò)程元數(shù)據(jù)設(shè)計(jì)
本文針對(duì)能源數(shù)據(jù)共享過(guò)程可能遭受數(shù)據(jù)篡改、存在單點(diǎn)故障等問(wèn)題,提出了一種面向能源大數(shù)據(jù)的鏈上鏈下監(jiān)管模型,通過(guò)監(jiān)控鏈下數(shù)據(jù)變化,實(shí)時(shí)將數(shù)據(jù)變化信息上鏈,從而達(dá)到數(shù)據(jù)協(xié)同的目的.本文主要從數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)訪問(wèn)2個(gè)方面探索能源數(shù)據(jù)的監(jiān)管模型:數(shù)據(jù)存儲(chǔ)主要依托數(shù)據(jù)資源目錄建立目錄區(qū)塊鏈,解決鏈上目錄到鏈下數(shù)據(jù)的映射,實(shí)現(xiàn)了能源數(shù)據(jù)存儲(chǔ)階段的鏈前監(jiān)管與鏈上監(jiān)管;數(shù)據(jù)訪問(wèn)過(guò)程解決訪問(wèn)記錄上鏈,實(shí)現(xiàn)了能源數(shù)據(jù)共享階段的鏈上監(jiān)管.最后,將數(shù)據(jù)資源目錄和數(shù)據(jù)訪問(wèn)過(guò)程統(tǒng)一起來(lái),實(shí)現(xiàn)了能源數(shù)據(jù)共享過(guò)程的有效監(jiān)管,為能源大數(shù)據(jù)中心的建設(shè)提供了方案和思路.但是,由于能源系統(tǒng)龐大、體系結(jié)構(gòu)豐富,本文的監(jiān)管方案并不能完全適用于能源數(shù)據(jù)的共享過(guò)程,而且在訪問(wèn)控制等方面并沒(méi)有進(jìn)行細(xì)節(jié)上的更多描述,因此還需要在今后的工作中進(jìn)一步研究和完善.