方志寧,郭 峰,張金營(yíng),曹亞南,謝 華
(1.國(guó)電電力發(fā)展股份有限公司,北京 100000;2.國(guó)能信控互聯(lián)技術(shù)有限公司,北京 100000)
隨著信息技術(shù)的飛速發(fā)展,各類企業(yè)也跟隨時(shí)代潮流使用信息技術(shù)完成自己的信息化升級(jí),節(jié)約企業(yè)人力,構(gòu)建更完善的管理體系,提高了企業(yè)競(jìng)爭(zhēng)力。互聯(lián)網(wǎng)時(shí)代中,網(wǎng)絡(luò)中數(shù)據(jù)量呈現(xiàn)出爆發(fā)式增長(zhǎng)的勢(shì)態(tài),各類企業(yè)都有可能從海量的數(shù)據(jù)中發(fā)掘出巨大的價(jià)值。但是由于技術(shù)和企業(yè)的發(fā)展,不同系統(tǒng)之間產(chǎn)生了不能相互兼容的問題。這些數(shù)據(jù)系統(tǒng)中的數(shù)據(jù)不能共享,相互調(diào)用困難重重,形成一個(gè)個(gè)“信息孤島”,造成了巨大的資源浪費(fèi)。
目前,通過大數(shù)據(jù)平臺(tái)的建設(shè)提升了企業(yè)在全面監(jiān)測(cè)管控、優(yōu)化分析決策、預(yù)控防范風(fēng)險(xiǎn)、橫向協(xié)同管理等方面的能力,全面提升了企業(yè)管理水平,但對(duì)于大型集團(tuán)企業(yè)存在所屬單位多,主營(yíng)業(yè)務(wù)多樣;數(shù)據(jù)各自表述、定義和編碼各異;管理、統(tǒng)計(jì)口徑不一致等問題,導(dǎo)致各類平臺(tái)、系統(tǒng)數(shù)據(jù)中的數(shù)據(jù)共享不便,從而造成大量冗余數(shù)據(jù),降低分析效率。如何實(shí)現(xiàn)不同系統(tǒng)、不同平臺(tái)之間的數(shù)據(jù)方便地調(diào)用成為了一個(gè)有待解決的問題。
針對(duì)上述現(xiàn)狀,文獻(xiàn)[1]提出了異地?cái)?shù)據(jù)中心的數(shù)據(jù)同步與調(diào)度方案,文獻(xiàn)[2]提出了跨數(shù)據(jù)中心的網(wǎng)絡(luò)流量傳輸優(yōu)化方案,文獻(xiàn)[3]設(shè)計(jì)了跨境增量數(shù)據(jù)同步系統(tǒng),文獻(xiàn)[4]基于數(shù)據(jù)同步機(jī)制,設(shè)計(jì)了數(shù)據(jù)管理系統(tǒng),文獻(xiàn)[5]設(shè)計(jì)了多級(jí)系統(tǒng)的同步接口,實(shí)現(xiàn)了電力通信網(wǎng)的數(shù)據(jù)同步。上述研究對(duì)跨數(shù)據(jù)中心的數(shù)據(jù)同步技術(shù)做了深度探討,或是針對(duì)數(shù)據(jù)同步系統(tǒng)設(shè)計(jì)了同步方案,但對(duì)于數(shù)據(jù)同步過程中的數(shù)據(jù)處理流程沒有提出相應(yīng)的解決方案。因?yàn)閰^(qū)塊鏈技術(shù)還具備去中心化、安全性高及分布式自治等的技術(shù)特點(diǎn)。文獻(xiàn)[6]給出了一種利用區(qū)塊鏈等相關(guān)網(wǎng)絡(luò)技術(shù)而設(shè)計(jì)出來的分布式數(shù)據(jù)自動(dòng)同步處理及分布式數(shù)據(jù)自動(dòng)處理的系統(tǒng),而文獻(xiàn)[7]則認(rèn)為區(qū)塊鏈技術(shù)去中心化、防篡改及分布式存儲(chǔ)等技術(shù)優(yōu)點(diǎn),更適合于有效處理當(dāng)前分布式的電力數(shù)據(jù)交易處理過程中出現(xiàn)的各種問題,探究出了一種與當(dāng)前分布式的電力數(shù)據(jù)交易處理過程相結(jié)合的基于區(qū)塊鏈技術(shù)設(shè)計(jì)的分布式數(shù)據(jù)自動(dòng)同步類算法。文獻(xiàn)[8]提出了融合區(qū)塊鏈和Rsync的可信數(shù)據(jù)同步機(jī)制提高邊緣節(jié)點(diǎn)數(shù)據(jù)同步效率和安全可控性。文獻(xiàn)[9]基于區(qū)塊鏈網(wǎng)絡(luò)的Gossip算法,對(duì)數(shù)據(jù)同步流程進(jìn)行改進(jìn)和優(yōu)化。文獻(xiàn)[10]面向輕算力區(qū)塊鏈的P2P數(shù)據(jù)同步機(jī)制,提出了新的數(shù)據(jù)同步協(xié)議和信任模型。
因此,通過采用區(qū)塊鏈技術(shù)的公開透明、高安全性、程序化和去中心化等技術(shù)特性,保證大數(shù)據(jù)平臺(tái)與數(shù)據(jù)中心之間始終保持高度可靠且實(shí)時(shí)高效的數(shù)據(jù)協(xié)同能力,實(shí)現(xiàn)各個(gè)數(shù)據(jù)中心之間雙向、實(shí)時(shí)、安全、易管理的數(shù)據(jù)交換。同時(shí),區(qū)塊鏈技術(shù)可以在保證數(shù)據(jù)完整性的前提下,縮減數(shù)據(jù)量以減少存儲(chǔ)空間,提高其傳輸、存儲(chǔ)和處理效率,通過數(shù)據(jù)加密、數(shù)據(jù)校驗(yàn)保證數(shù)據(jù)安全。
數(shù)據(jù)同步與調(diào)度系統(tǒng)總體架構(gòu)設(shè)計(jì)采用覆蓋子平臺(tái)側(cè)及數(shù)據(jù)中心等兩級(jí)多地部署的軟件服務(wù)模型,數(shù)據(jù)同步與調(diào)度系統(tǒng)的各個(gè)服務(wù)之間基于專線網(wǎng)絡(luò)通信環(huán)境實(shí)現(xiàn)服務(wù)訪問與功能聯(lián)動(dòng)。
首先,在數(shù)據(jù)中心將現(xiàn)有數(shù)據(jù)同步管控平臺(tái)的擴(kuò)展功能接口構(gòu)建完成后,并與數(shù)據(jù)中心大數(shù)據(jù)平臺(tái)的數(shù)據(jù)源進(jìn)行納管對(duì)接。其次,在子平臺(tái)側(cè)實(shí)施過程中伴隨項(xiàng)目交付進(jìn)度,結(jié)合現(xiàn)場(chǎng)實(shí)際情況完成各個(gè)子平臺(tái)側(cè)的數(shù)據(jù)資源調(diào)度接口適配及其各數(shù)據(jù)資源模型接口適配、服務(wù)部署、數(shù)據(jù)納管,并與數(shù)據(jù)中心數(shù)據(jù)同步管控平臺(tái)環(huán)境進(jìn)行異地聯(lián)調(diào)和上線驗(yàn)證??傮w架構(gòu)設(shè)計(jì)如圖1。
圖1 數(shù)據(jù)同步總體架構(gòu)圖Fig.1 Overall architecture of data synchronization
建立多方信息參與的數(shù)據(jù)同步與交換的系統(tǒng),首先需要界定同步傳輸任務(wù)中所要涉及到的數(shù)據(jù)信息類別,從而才能對(duì)傳輸同步與傳送的任務(wù)信息進(jìn)行統(tǒng)一調(diào)度控制與管理。為此,本文將異地?cái)?shù)據(jù)同步系統(tǒng)定義明確為如下5種子系統(tǒng),包括:
1)異地?cái)?shù)據(jù)采集傳輸子系統(tǒng),包括發(fā)送任務(wù)管理模塊和接收任務(wù)管理模塊。
2)數(shù)據(jù)任務(wù)管理子系統(tǒng),包含任務(wù)分析模塊、任務(wù)調(diào)度模塊、任務(wù)實(shí)施模塊、負(fù)載計(jì)算模塊、任務(wù)線程管理模塊以及任務(wù)隊(duì)列管理模塊。
3)數(shù)據(jù)調(diào)度管理子系統(tǒng),包括消息發(fā)送模塊、消息接收模塊、消息解析模塊、消息封裝模塊和協(xié)議接收模塊。
4)任務(wù)信息執(zhí)行子系統(tǒng),包括用戶信息的增刪查改模塊。
5)任務(wù)監(jiān)測(cè)子系統(tǒng),包括任務(wù)進(jìn)度監(jiān)控模塊、任務(wù)隊(duì)列監(jiān)控模塊和系統(tǒng)資源監(jiān)控模塊。
對(duì)于數(shù)據(jù)同步過程中的數(shù)據(jù)處理流程為:數(shù)據(jù)中心下發(fā)調(diào)度指令,子平臺(tái)側(cè)負(fù)責(zé)接收數(shù)據(jù)中心調(diào)度指令和將數(shù)據(jù)推送到本部。每個(gè)子平臺(tái)側(cè)節(jié)點(diǎn)都可以向本部傳輸數(shù)據(jù),數(shù)據(jù)中心節(jié)點(diǎn)既可以作為客戶端向子平臺(tái)側(cè)節(jié)點(diǎn)發(fā)出調(diào)度命令,也能作為服務(wù)端接收來自其它點(diǎn)的請(qǐng)求。數(shù)據(jù)處理的流程規(guī)范如圖2。
圖2 數(shù)據(jù)處理流程圖Fig.2 Data processing flow chart
1)子平臺(tái)側(cè)將變化數(shù)據(jù)實(shí)時(shí)寫入到子平臺(tái)側(cè)數(shù)據(jù)存儲(chǔ)中心。
2)數(shù)據(jù)中心通過本部數(shù)據(jù)同步調(diào)度系統(tǒng)進(jìn)行調(diào)度命令下發(fā)。
3)子平臺(tái)側(cè)在接收到本部數(shù)據(jù)中心下發(fā)的調(diào)度命令后,將存儲(chǔ)中心數(shù)據(jù)直接傳向本部數(shù)據(jù)存儲(chǔ)中心。
4)本部數(shù)據(jù)中心在接收到子平臺(tái)數(shù)據(jù)后,將數(shù)據(jù)直接寫入本部數(shù)據(jù)存儲(chǔ)庫(kù)。
各子平臺(tái)側(cè)的數(shù)據(jù)資源和數(shù)據(jù)中心完成數(shù)據(jù)同步,支持企業(yè)級(jí)各類數(shù)據(jù)資源在數(shù)據(jù)中心、子平臺(tái)側(cè)之間的按需數(shù)據(jù)流轉(zhuǎn)。經(jīng)過獲取、推送、傳輸、緩存、訂閱、路由、寫入等過程將子平臺(tái)側(cè)數(shù)據(jù)資源同步至數(shù)據(jù)中心大數(shù)據(jù)平臺(tái)。由數(shù)據(jù)中心大數(shù)據(jù)平臺(tái)統(tǒng)一對(duì)各數(shù)據(jù)資源進(jìn)行存儲(chǔ)、處理、分析后,數(shù)據(jù)通過數(shù)據(jù)同步與調(diào)度系統(tǒng)傳輸至各子平臺(tái)側(cè)大數(shù)據(jù)平臺(tái),從而實(shí)現(xiàn)統(tǒng)一規(guī)劃、統(tǒng)一部署、統(tǒng)一維護(hù)。
區(qū)塊鏈技術(shù)是一種“鏈”式結(jié)構(gòu),由一系列數(shù)據(jù)塊按照創(chuàng)建順序有序排列在一起組成的數(shù)據(jù)塊鏈。每個(gè)數(shù)據(jù)塊都含有索引、哈希值,前一個(gè)塊的哈希值、時(shí)間戳、證明和打包的交易記錄。
區(qū)塊鏈技術(shù)具有6層:即數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層、合約層和應(yīng)用層。數(shù)據(jù)層主要是鏈?zhǔn)浇Y(jié)構(gòu)和數(shù)據(jù)區(qū)塊以及相關(guān)的數(shù)據(jù)加密技術(shù)、哈希算法和時(shí)間戳等基本算法,維護(hù)用戶數(shù)據(jù)的安全,保證用戶數(shù)據(jù)真實(shí)性和數(shù)據(jù)有效性;網(wǎng)絡(luò)層是指計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中整個(gè)網(wǎng)絡(luò)通信層,包含分布式的組網(wǎng)機(jī)制、數(shù)據(jù)的傳遞交換機(jī)制以及數(shù)據(jù)的校驗(yàn)交換機(jī)制等,從而可以完成分布式組網(wǎng)、傳輸交換以及數(shù)據(jù)校驗(yàn)交換等功能。公有鏈的節(jié)點(diǎn)上可允許任何人之間相互交易且這些交易都可同時(shí)被系統(tǒng)有效地確認(rèn),但其過程會(huì)要耗費(fèi)大量計(jì)算節(jié)點(diǎn)資源,所以需要激勵(lì)層通過內(nèi)部激勵(lì)機(jī)制來提高運(yùn)算鏈節(jié)點(diǎn)收益,保證系統(tǒng)穩(wěn)定性與安全性;合約層奠定了區(qū)塊鏈可編程控制的基礎(chǔ)特性;應(yīng)用層為行業(yè)區(qū)塊鏈中開發(fā)的各類去中性化應(yīng)用。其技術(shù)架構(gòu)如圖3。
圖3 區(qū)塊鏈技術(shù)結(jié)構(gòu)圖Fig.3 Block chain technology structure
區(qū)塊鏈集合了分布式存儲(chǔ)技術(shù)、共識(shí)算法、非對(duì)稱加密算法、智能合約等各種新興技術(shù),可以運(yùn)用于激發(fā)數(shù)據(jù)資源價(jià)值,在構(gòu)建能源領(lǐng)域數(shù)據(jù)同步的新生態(tài)、新模式方面其具有獨(dú)特優(yōu)勢(shì)。其技術(shù)優(yōu)勢(shì)體現(xiàn)在:
1)數(shù)據(jù)安全
去中心化是區(qū)塊鏈最主要的特點(diǎn),區(qū)塊鏈中數(shù)據(jù)分散存儲(chǔ)在多個(gè)節(jié)點(diǎn)上,各節(jié)點(diǎn)都包含有一個(gè)賬本記錄區(qū)塊鏈上的完整信息,所有節(jié)點(diǎn)共同參與維護(hù)存儲(chǔ)在鏈上的數(shù)據(jù),所有節(jié)點(diǎn)的數(shù)據(jù)同步更新。
采用這種分布式存儲(chǔ)技術(shù)與加密算法、哈希算法等技術(shù)對(duì)存儲(chǔ)在區(qū)塊鏈上的信息進(jìn)行加密,有力地保障了存儲(chǔ)在區(qū)塊鏈上的數(shù)據(jù)的信息安全,確保了數(shù)據(jù)持久性。
2)數(shù)據(jù)交易
區(qū)塊鏈包含數(shù)據(jù)交易環(huán)節(jié)的所有信息,且不能篡改數(shù)據(jù),發(fā)現(xiàn)問題可以溯源任何環(huán)節(jié)。通過區(qū)塊鏈不可篡改、可追溯等特性確保了數(shù)據(jù)同步過程中的權(quán)責(zé)問題,能有效保障數(shù)據(jù)合法使用,區(qū)塊鏈公開透明的特點(diǎn)幫助建立各個(gè)數(shù)據(jù)中心之間雙向、安全、可信的數(shù)據(jù)交換,打破數(shù)據(jù)共享壁壘。
3)數(shù)據(jù)溯源
由于將數(shù)據(jù)交易環(huán)節(jié)的所有信息都存儲(chǔ)在區(qū)塊鏈上,因而數(shù)據(jù)信息可隨時(shí)被溯源、查詢和審計(jì),并被有效證明。區(qū)塊鏈去中心化、可溯源、公開透明的特性,使系統(tǒng)可以溯源、查證數(shù)據(jù)的使用情況,降低使用風(fēng)險(xiǎn)。這意味著區(qū)塊鏈數(shù)據(jù)同步模式發(fā)生較大改變,促進(jìn)數(shù)據(jù)中心之間數(shù)據(jù)資源共享交換。
本文利用區(qū)塊鏈技術(shù)具有的去中心化、分布式賬本、不可篡改、可溯源等特性,將區(qū)塊鏈技術(shù)與數(shù)據(jù)同步與調(diào)度系統(tǒng)深度融合,解決了數(shù)據(jù)同步、數(shù)據(jù)調(diào)度中面臨的數(shù)據(jù)確權(quán)、數(shù)據(jù)可信流動(dòng)、信息隱私保護(hù)、數(shù)據(jù)安全管理等一系列問題。為此,研究將區(qū)塊鏈技術(shù)應(yīng)用到數(shù)據(jù)中心之間的數(shù)據(jù)同步與調(diào)度模型構(gòu)建中,實(shí)現(xiàn)不同數(shù)據(jù)系統(tǒng)之間數(shù)據(jù)資源的實(shí)時(shí)共享與安全可信交換。
區(qū)塊鏈技術(shù)在數(shù)據(jù)同步方面的優(yōu)勢(shì),為解決不同系統(tǒng)、不同平臺(tái)之間的數(shù)據(jù)共享中數(shù)據(jù)互信、數(shù)據(jù)安全、數(shù)據(jù)壁壘等問題提供了可行性。
區(qū)塊鏈網(wǎng)絡(luò)層的傳播機(jī)制是實(shí)現(xiàn)不同節(jié)點(diǎn)之間數(shù)據(jù)傳播的基礎(chǔ)。區(qū)塊鏈網(wǎng)絡(luò)層中有3類傳播算法:流言算法、泛洪路由算法、定向擴(kuò)散路由算法。流言(gossip)算法完全去中心化,不存在任何中心節(jié)點(diǎn),其余每個(gè)節(jié)點(diǎn)均對(duì)等,能夠?qū)崟r(shí)同步數(shù)據(jù)。泛洪(flooding)路由算法中各節(jié)點(diǎn)都使用廣播轉(zhuǎn)發(fā)收到的數(shù)據(jù)包,若收到重復(fù)分組則進(jìn)行丟棄處理。泛洪路由算法有簡(jiǎn)單、魯棒性高、時(shí)延短、路徑容錯(cuò)能力高的優(yōu)勢(shì),能解決實(shí)時(shí)數(shù)據(jù)同步問題。定向擴(kuò)散(directed diffusion,DD)路由算法與Gossip和泛洪路由算法最大的不同是其引入了梯度的概念,其執(zhí)行由興趣擴(kuò)散過程、梯度建立過程及路徑加強(qiáng)過程組成。通過對(duì)區(qū)塊鏈網(wǎng)絡(luò)層的傳播算法進(jìn)行比較,得到網(wǎng)絡(luò)層傳播算法對(duì)比見表1。
表1 網(wǎng)絡(luò)層傳播算法對(duì)比表Table 1 Comparison of network layer propagation algorithms
如表1所示,泛洪(flooding)路由算法相比于其他算法的優(yōu)勢(shì)在于魯棒性強(qiáng)、數(shù)據(jù)時(shí)延短、容錯(cuò)域范圍大,適用于解決實(shí)時(shí)數(shù)據(jù)同步問題。但由于盲目使用資源、信息重復(fù)多、信息傳輸量大,容易在大型網(wǎng)絡(luò)中產(chǎn)生網(wǎng)絡(luò)風(fēng)暴,導(dǎo)致因此很少直接用于大規(guī)模場(chǎng)景中。但對(duì)于企業(yè)和小規(guī)模用戶來說,該數(shù)據(jù)同步算法較其他算法更高效。因此,可以通過使用泛洪路由算法進(jìn)行區(qū)塊鏈節(jié)點(diǎn)之間的數(shù)據(jù)傳播,實(shí)現(xiàn)不同數(shù)據(jù)系統(tǒng)、不同平臺(tái)之間的數(shù)據(jù)同步與調(diào)度。
區(qū)塊鏈技術(shù)的核心算法是共識(shí)算法,它的目的是達(dá)成各個(gè)數(shù)據(jù)中心之間的互相信任,是實(shí)現(xiàn)區(qū)塊鏈去中心化、不可篡改特性的核心算法,保障數(shù)據(jù)安全。目前主流的共識(shí)算法主要有3類:證明類、拜占庭故障類、失效-停止類。通過結(jié)合具體應(yīng)用場(chǎng)景,對(duì)3類主流共識(shí)算法的結(jié)合使用,可以達(dá)成數(shù)據(jù)一致性、安全性、可信任度方面的要求。通過對(duì)區(qū)塊鏈共識(shí)層共識(shí)算法進(jìn)行比較,結(jié)果見表2。
表2 區(qū)塊鏈共識(shí)層共識(shí)算法對(duì)比表Table 2 Comparison of consensus algorithms of blockchain consensus layer
證明類共識(shí)算法主要有PoW、PoS、PoM等,它們更適用于公有鏈環(huán)境下。在可信環(huán)境下,聯(lián)盟鏈多采用拜占庭故障類共識(shí)算法。失效停止類算法不會(huì)造成散列能力集中、資源浪費(fèi)和分叉等問題,最多可以容忍50%的節(jié)點(diǎn)崩潰故障,算法的安全性能極高,缺點(diǎn)是不適用于公有鏈和大規(guī)模聯(lián)盟鏈。
共識(shí)層的算法是區(qū)塊鏈技術(shù)在分布式節(jié)點(diǎn)之間實(shí)現(xiàn)一致性,保證數(shù)據(jù)安全同步、達(dá)成信任的關(guān)鍵算法。PoS的優(yōu)勢(shì)在于大幅減少了節(jié)點(diǎn)數(shù)量,提高了共識(shí)速度,劣勢(shì)也是由于節(jié)點(diǎn)數(shù)量太少,違背了去中心化原則。拜占庭容錯(cuò)(Practical byzantine fault tolerance,PBFT)是當(dāng)系統(tǒng)中的節(jié)點(diǎn)出現(xiàn)故障,或節(jié)點(diǎn)之間的聯(lián)系出現(xiàn)問題時(shí),要實(shí)現(xiàn)共識(shí),達(dá)成一致性會(huì)用到這種算法。當(dāng)某個(gè)節(jié)點(diǎn)出現(xiàn)問題時(shí),信息在節(jié)點(diǎn)間互相傳播后各節(jié)點(diǎn)列出所有得到的信息,一個(gè)節(jié)點(diǎn)代表一票,根據(jù)少數(shù)服從多數(shù)的原則,選擇大多數(shù)的信息作為結(jié)果,達(dá)成共識(shí)。PBET正常運(yùn)行只需要系統(tǒng)全部節(jié)點(diǎn)2/3的正常節(jié)點(diǎn),即容錯(cuò)量可達(dá)1/3。通過對(duì)上述共識(shí)算法優(yōu)缺點(diǎn)的對(duì)比,考慮到具體場(chǎng)景的應(yīng)用,在應(yīng)用到平臺(tái)與數(shù)據(jù)中心間數(shù)據(jù)同步與調(diào)度系統(tǒng)時(shí),采用將證明類與拜占庭故障類共識(shí)算法結(jié)合使用,利用互補(bǔ)的方式。
異地電力數(shù)據(jù)同步調(diào)用系統(tǒng)中的各個(gè)數(shù)據(jù)中心節(jié)點(diǎn)是聯(lián)盟成員,主體是各個(gè)數(shù)據(jù)平臺(tái),數(shù)據(jù)同步與調(diào)度以傳播算法、共識(shí)機(jī)制、智能合約、加密技術(shù)等為技術(shù)支撐,構(gòu)建可信的數(shù)據(jù)同步與調(diào)度系統(tǒng)?;趨^(qū)塊鏈的異地電力數(shù)據(jù)共享交換流程如圖4。
圖4 區(qū)塊鏈數(shù)據(jù)共享流程Fig.4 Blockchain data sharing process
在數(shù)據(jù)同步過程中每個(gè)節(jié)點(diǎn)聯(lián)盟成員都有本地?cái)?shù)據(jù)中心,數(shù)據(jù)同步與調(diào)度過程中是源數(shù)據(jù)存儲(chǔ)在本地?cái)?shù)據(jù)中心,鏈上存儲(chǔ)數(shù)據(jù)需求發(fā)送、數(shù)據(jù)請(qǐng)求授權(quán)信息、數(shù)據(jù)調(diào)用交易記錄、數(shù)據(jù)目錄摘要信息等。區(qū)塊鏈中數(shù)據(jù)同步的3個(gè)階段為:
1)發(fā)送最新狀態(tài)數(shù)據(jù)請(qǐng)求
因?yàn)榇焦?jié)點(diǎn)并不知道當(dāng)前區(qū)塊鏈的最新數(shù)據(jù)狀態(tài),所以待同步節(jié)點(diǎn)需首先向區(qū)塊鏈網(wǎng)絡(luò)發(fā)起最新狀態(tài)興趣請(qǐng)求,聯(lián)盟區(qū)塊鏈待同步節(jié)點(diǎn)成員根據(jù)本身數(shù)據(jù)資源按照標(biāo)準(zhǔn)將源數(shù)據(jù)信息進(jìn)行加工封裝。數(shù)據(jù)加工包括數(shù)據(jù)加密處理、哈希值計(jì)算,然后抽取數(shù)據(jù)區(qū)塊摘要,即哈希指紋、數(shù)據(jù)權(quán)屬信息、數(shù)據(jù)名稱、數(shù)據(jù)項(xiàng)、數(shù)據(jù)項(xiàng)描述、數(shù)據(jù)訪問方式等。然后發(fā)送最新狀態(tài)興趣請(qǐng)求,該請(qǐng)求攜帶本節(jié)點(diǎn)最高區(qū)塊號(hào),以向網(wǎng)絡(luò)通告自己當(dāng)前的不完整狀態(tài)。
2)數(shù)據(jù)對(duì)比
待最新狀態(tài)興趣請(qǐng)求到達(dá)區(qū)塊鏈任意網(wǎng)絡(luò)節(jié)點(diǎn)后,會(huì)與到達(dá)的網(wǎng)絡(luò)節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)進(jìn)行比較。如果待同步節(jié)點(diǎn)的區(qū)塊號(hào)小于到達(dá)節(jié)點(diǎn)的最高區(qū)塊號(hào),則說明到達(dá)節(jié)點(diǎn)的數(shù)據(jù)狀態(tài)較新,就會(huì)向待同步節(jié)點(diǎn)傳回到達(dá)節(jié)點(diǎn)的最高區(qū)塊號(hào)信息,即傳回最新區(qū)塊狀態(tài)信息。如果待同步節(jié)點(diǎn)的區(qū)塊號(hào)不小于到達(dá)節(jié)點(diǎn)的最高區(qū)塊號(hào),則說明是該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)非實(shí)時(shí)區(qū)塊鏈節(jié)點(diǎn)。該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)也會(huì)變?yōu)榇焦?jié)點(diǎn)執(zhí)行上述同樣的區(qū)塊同步步驟,而原先的最新狀態(tài)興趣請(qǐng)求會(huì)繼續(xù)向其它數(shù)據(jù)節(jié)點(diǎn)發(fā)送,直到被其它實(shí)時(shí)區(qū)塊鏈節(jié)點(diǎn)滿足后執(zhí)行對(duì)應(yīng)的步驟。
3)數(shù)據(jù)同步
待同步節(jié)點(diǎn)根據(jù)實(shí)時(shí)節(jié)點(diǎn)要求發(fā)起數(shù)據(jù)同步請(qǐng)求,并將請(qǐng)求信息哈希指紋、數(shù)據(jù)使用成員等上傳到鏈,實(shí)時(shí)區(qū)塊鏈節(jié)點(diǎn)根據(jù)待同步節(jié)點(diǎn)提供的數(shù)據(jù)使用成員、哈希指紋等信息,使用哈希加密算法、數(shù)字簽名等方法驗(yàn)證授權(quán)信息的真實(shí)性。請(qǐng)求信息驗(yàn)證通過后,通過鏈上的數(shù)據(jù)區(qū)塊號(hào)進(jìn)行匹配,將相關(guān)數(shù)據(jù)進(jìn)行加密傳輸返回,最終完成數(shù)據(jù)的同步更新。
需指出的是,由于數(shù)據(jù)發(fā)送記錄、數(shù)據(jù)授權(quán)信息、數(shù)據(jù)調(diào)用等交易過程信息全部上鏈存儲(chǔ),當(dāng)中間節(jié)點(diǎn)滿足區(qū)塊同步興趣請(qǐng)求時(shí),可直接將中間節(jié)點(diǎn)緩存的區(qū)塊數(shù)據(jù)傳回,再無需傳輸區(qū)塊同步興趣請(qǐng)求至實(shí)時(shí)區(qū)塊鏈節(jié)點(diǎn),從而優(yōu)化其它相似待同步節(jié)點(diǎn)(所缺區(qū)塊號(hào)相同的節(jié)點(diǎn))的數(shù)據(jù)同步效率。
本文基于區(qū)塊鏈技術(shù)的數(shù)據(jù)同步方法旨在解決調(diào)度系統(tǒng)異地大數(shù)據(jù)平臺(tái)之間數(shù)據(jù)存在壁壘的問題,提供了對(duì)于異地?cái)?shù)據(jù)平臺(tái)面臨的節(jié)點(diǎn)數(shù)據(jù)傳輸受帶寬限制、資源負(fù)載不均衡,數(shù)據(jù)內(nèi)容完整性、數(shù)據(jù)傳輸安全性、用戶檢測(cè),以及多方參與情況下數(shù)據(jù)傳輸?shù)葐栴}的解決方案。此外,利用可視化的操作形式使得對(duì)于調(diào)度系統(tǒng)數(shù)據(jù)同步顯得十分直觀,簡(jiǎn)化了數(shù)據(jù)同步操作的復(fù)雜度,很大程度上提升了業(yè)務(wù)效率。