• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于超級賬本的高速公路通行數(shù)據(jù)區(qū)塊鏈

      2021-05-20 01:26:02王若華石晉平
      關(guān)鍵詞:盟員鏈碼門架

      王若華,焦 健,石晉平

      (1.北京信息科技大學(xué) 網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點實驗室,北京 100101;2.山西省交通信息通信有限公司,太原 030006)

      0 引言

      中國高速公路作為一種特殊的廣域物聯(lián)網(wǎng)系統(tǒng),正在逐漸向無人值守和自動化收費的運行模式轉(zhuǎn)變。省界站取消后,車輛通行記錄均由高速出入口收費站和門架產(chǎn)生。區(qū)域化管理造成通行數(shù)據(jù)由各個高速公司分散存儲,這對數(shù)據(jù)共享提出了挑戰(zhàn)。

      近年來區(qū)塊鏈技術(shù)的發(fā)展對物聯(lián)網(wǎng)領(lǐng)域產(chǎn)生了重要的影響[1],其抗抵賴和防篡改的特性在數(shù)據(jù)保護領(lǐng)域有著較好的應(yīng)用。區(qū)塊鏈按其參與者分為公有鏈、聯(lián)盟鏈和私有鏈[2]。公有鏈允許任意節(jié)點加入或退出;私有鏈?zhǔn)且粋€實體內(nèi)部使用、信息不公開的區(qū)塊鏈;聯(lián)盟鏈由多個實體組成,節(jié)點加入或退出都需要獲得組織機構(gòu)的許可,區(qū)塊中存儲數(shù)據(jù)可以根據(jù)權(quán)限訪問。相對于公有鏈,聯(lián)盟鏈的安全性更加有保障;相對于私有鏈,聯(lián)盟鏈中盟員可以訪問其他盟員存儲的數(shù)據(jù),具有一定的透明度。

      聯(lián)盟鏈的區(qū)塊和交易的有效性由預(yù)先設(shè)定的一個驗證者群體決定,這個驗證群體形成一個聯(lián)盟。聯(lián)盟鏈上的信息可以是公開的,也可以只對聯(lián)盟成員可見[3]。它可避免數(shù)據(jù)全網(wǎng)透明帶來的風(fēng)險,防止數(shù)據(jù)泄露,同時可獲得較高的性能[4]。聯(lián)盟鏈可以指定相應(yīng)的節(jié)點,承擔(dān)共識和會計功能[5]。聯(lián)盟鏈的共識由盟員參與,數(shù)據(jù)讀寫權(quán)限按聯(lián)盟規(guī)則制定,節(jié)點的加入需要聯(lián)盟其他節(jié)點的同意[6]。由盟員管理機構(gòu)管理各盟員,一些盟員可以共同維護一個賬本,不同的組織可以通過聯(lián)盟鏈訪問其他組織維護的賬本。

      聯(lián)盟鏈的出現(xiàn)代表著區(qū)塊鏈可逐漸應(yīng)用于各行業(yè),比如區(qū)塊鏈管理土地登記[7]。新的區(qū)塊鏈應(yīng)用更可能應(yīng)用于中央或部分集中的組織,如國家銀行[8]。文獻[9]提出了一種基于許可鏈技術(shù)的跨組織醫(yī)療數(shù)據(jù)共享框架。文獻[10]提出了一種基于聯(lián)盟區(qū)塊鏈的安全服務(wù)協(xié)議,以解決云計算中的不可信計算問題。文獻[11]介紹了一種利用區(qū)塊鏈構(gòu)建的圖書館流通系統(tǒng),提高了圖書交付的及時性,節(jié)約了圖書管理成本。

      比特幣和以太坊為代表的公有鏈在記賬效率存在一定的缺陷,不能滿足高速并發(fā)的記賬需要,聯(lián)盟鏈較好的并發(fā)逐漸引起關(guān)注。文獻[12]提出了高性能聯(lián)盟鏈系統(tǒng)架構(gòu),極大地提高了去中心化的主板核心交易系統(tǒng)的性能。文獻[13]提出了基于聯(lián)盟鏈的數(shù)據(jù)安全共享和存儲系統(tǒng),傳輸效率比傳統(tǒng)區(qū)塊鏈系統(tǒng)提高了83.33%。

      聯(lián)盟鏈適用于多個實體構(gòu)成的組織或聯(lián)盟[14]。文獻[15]在聯(lián)盟鏈方式下實現(xiàn)了對物聯(lián)網(wǎng)設(shè)備動態(tài)數(shù)據(jù)授權(quán)操作和安全管理。文獻[16]提出了基于聯(lián)盟區(qū)塊鏈的高速鐵路環(huán)境監(jiān)測數(shù)據(jù)、身份認證方案,以此保護高速鐵路運營環(huán)境監(jiān)測數(shù)據(jù)。

      高速公路特殊運營模式?jīng)Q定各個高速公路公司既要獨立運營各自所屬公路,同時又要接受交通管理部門監(jiān)督與管理,各公司運行數(shù)據(jù)需要有嚴格的準(zhǔn)入機制和權(quán)限分級。使用聯(lián)盟鏈成為改進高速公路公司數(shù)據(jù)存儲與共享的合理選擇。本文基于聯(lián)盟鏈超級賬本技術(shù),設(shè)計了一種高速公路通行數(shù)據(jù)區(qū)塊鏈,用于共享車輛通行記錄,利用終端日志的保存結(jié)果,通過區(qū)塊鏈和底層日志建立映射關(guān)系,快速完成數(shù)據(jù)的上鏈和驗證等操作,為數(shù)據(jù)共享服務(wù)提供有效的技術(shù)保證。

      1 超級賬本

      超級賬本Hyperledger[17]是一個開源項目,旨在推進許可或私有的跨行業(yè)區(qū)塊鏈技術(shù)。它曾被提議用于移動醫(yī)療保健應(yīng)用程序和醫(yī)療數(shù)據(jù)存儲或訪問應(yīng)用程序[18]。

      Hyperledger Fabric是一個提供分布式賬本解決方案的平臺。Fabric擁有CA組件,提供身份注冊、頒發(fā)登錄證書與交易證書、證書續(xù)期與撤銷的功能??梢詣?chuàng)建不同的通道,每個通道表示有權(quán)查看部署到該通道的鏈碼數(shù)據(jù)的參與者子集,參與者需要進行身份驗證和授權(quán),只有被授權(quán)用戶才能在通道上訪問數(shù)據(jù)和處理交易??梢越⑺接袛?shù)據(jù)集合,存儲在授權(quán)節(jié)點上的私有狀態(tài)數(shù)據(jù)庫中,通過這些節(jié)點上相應(yīng)的鏈碼進行訪問。通過在鏈碼邏輯中構(gòu)建訪問控制,可以將數(shù)據(jù)訪問限制在組織中的某些角色。Fabric中的加密服務(wù)模塊(blockchain crypto service provider)實現(xiàn)了密鑰生成、哈希運算、簽名驗簽、加解密等密碼功能。數(shù)據(jù)在傳輸過程中通過TLS進行加密。

      早期的Hyperledger Fabric V0.6使用實用拜占庭容錯算法PBFT[19]作為核心共識算法。PBFT通過Request、Pre-prepare、Prepare、Commit和Reply五個階段的多輪互播,保證了每一個算法實例完成后,所有非故障節(jié)點都能達成一致。但是,PBFT與其他很多共識算法都使用了多對多的消息模式來達成共識[20],需要確認和通信的次數(shù)較多,當(dāng)節(jié)點數(shù)量增多時,交易性能會大幅下降。

      Hyperledger Fabric V1.0的共識由背書、排序和驗證3個階段保障。背書過程中背書節(jié)點檢查客戶端發(fā)出的交易提案,該交易提案獲得一定數(shù)量的背書后被發(fā)送到排序節(jié)點;排序過程中排序節(jié)點將一段時間內(nèi)的一批交易排序并打包,通過原子廣播發(fā)送到驗證節(jié)點;驗證過程中驗證節(jié)點審核交易結(jié)構(gòu)完整性、背書簽名、交易讀寫集等,確保交易合法和一致,避免并發(fā)交易產(chǎn)生的沖突,驗證通過的交易將寫入賬本。采用的Kafka共識主要作用在區(qū)塊生成與數(shù)據(jù)傳輸上,其具有崩潰容錯能力,能夠保證交易信息的順序以及不丟失,保證數(shù)據(jù)傳輸?shù)囊恢滦?,提高吞吐率。如?所示,與PBFT相比而言,Kafka擁有良好的擴展性和低延遲的優(yōu)點。以4個peer節(jié)點的區(qū)塊鏈系統(tǒng)為例,提交同樣的一條交易,PBFT需要的通信次數(shù)為12次,而Kafka僅需5次,Kafka的吞吐率約為PBFT的2.4倍。由于在高速公路應(yīng)用場景中,節(jié)點數(shù)量極多,需要極高的吞吐量和可擴展性,PBFT無法滿足性能需求,因此選擇Kafka作為主要共識算法。

      表1 PBFT與Kafka共識算法比較

      2 模型構(gòu)建

      本文基于超級賬本技術(shù)設(shè)計高速公路通行數(shù)據(jù)區(qū)塊鏈系統(tǒng),實現(xiàn)高速通行數(shù)據(jù)的收集、處理、上鏈和共識等操作。利用超級賬本構(gòu)建模型,依據(jù)鏈上信息可以有效地實現(xiàn)原始數(shù)據(jù)的回溯,為數(shù)據(jù)共享提供可靠的數(shù)據(jù)來源。

      2.1 整體結(jié)構(gòu)

      系統(tǒng)模型的整體結(jié)構(gòu)如圖1所示??紤]到高速公路的車流量地域差異較大,按照數(shù)據(jù)量規(guī)模,區(qū)塊鏈盟員可以是地方管理公司、片區(qū)中心或公路路段,各個ETC門架隸屬于不同的盟員,高速公路的通行數(shù)據(jù)依靠鏈碼為盟員提供有效的數(shù)據(jù)共享服務(wù)。

      圖1 高速公路區(qū)塊鏈結(jié)構(gòu)

      高速通行記錄在高速公路上的ETC門架與高速公路出入口產(chǎn)生。當(dāng)ETC車輛通過ETC門架時,ETC門架系統(tǒng)讀取車載單元,依據(jù)費率計算標(biāo)準(zhǔn),生成帶有交易的車輛通行記錄。

      原始通行記錄以明文存儲在區(qū)塊鏈上不利于隱私保護,但是在數(shù)據(jù)上鏈前進行加密,又加重了系統(tǒng)負荷,降低了存儲與共享效率。因此,為保障數(shù)據(jù)隱私,盟員的上鏈信息只包括行車記錄的索引信息、車牌號和哈希值,真實的車輛行駛記錄會存儲在所在盟員所屬管理公司的本地數(shù)據(jù)庫。各個盟員都可以對上鏈數(shù)據(jù)提出共享請求,完整的原始數(shù)據(jù)需要通過認證服務(wù)器認證才能進行訪問。

      利用鏈碼的一致性與不可篡改性,在區(qū)塊鏈原有的安全功能的基礎(chǔ)上,增加系統(tǒng)的可編程性。本系統(tǒng)的鏈碼結(jié)構(gòu)如圖2所示,由功能選擇模塊(Function Selection)、數(shù)據(jù)采集模塊(Data Collection)、數(shù)據(jù)存儲模塊(Data Storage)、數(shù)據(jù)查詢模塊(Data Query)組成。調(diào)用鏈碼時,首先進入功能選擇模塊,根據(jù)輸入命令繼續(xù)調(diào)用不同模塊;數(shù)據(jù)采集模塊將準(zhǔn)備上鏈的數(shù)據(jù)構(gòu)造為結(jié)構(gòu)體,再轉(zhuǎn)換為JSON格式;數(shù)據(jù)存儲模塊通過調(diào)用Hyperledger Fabric接口實現(xiàn)構(gòu)造組合鍵與數(shù)據(jù)上鏈;數(shù)據(jù)查詢模塊調(diào)用Hyperledger Fabric接口實現(xiàn)鏈上數(shù)據(jù)查詢,查詢成功后調(diào)用上鏈相關(guān)模塊將數(shù)據(jù)訪問記錄存儲上鏈。

      圖2 鏈碼結(jié)構(gòu)

      為描述方便,該模型所用符號在表2中給出定義。

      表2 符號描述

      當(dāng)汽車通過高速門架時產(chǎn)生行車記錄,經(jīng)過處理后上鏈信息為tr ={noc,Hash(E,noc,Time),Sec(Location,Key)},上鏈信息的主要目的是用于數(shù)據(jù)索引,其中Hash(E,noc,Time)為門架號、車輛車牌和通過時間的哈希值,用于保證鏈上信息的完整性。Sec (Location,Key)為盟員公鑰加密后的數(shù)據(jù)庫服務(wù)器存儲位置和存儲秘鑰。車輛的真實記錄信息表示為{ noc,Time,a,E,LE },存儲在各個盟員所屬的數(shù)據(jù)庫服務(wù)器,訪問前認證服務(wù)器實現(xiàn)認證控制。

      2.2 區(qū)塊鏈運行流程

      區(qū)塊鏈運行過程分別由背書節(jié)點、排序節(jié)點和提交節(jié)點完成,其運行流程如圖3所示。其中數(shù)據(jù)源代表行駛車輛產(chǎn)生的數(shù)據(jù)源,整個過程分為采集、背書、排序結(jié)塊和上鏈4個階段。

      圖3 運行流程

      1) 數(shù)據(jù)采集階段:當(dāng)車輛C通過ETC門架E時,E檢測到C通過,讀取C的車載OBU,獲取到車牌號碼noc與上一個通過的ETC門架編號LE,產(chǎn)生交易扣費,生成交易記錄tr,發(fā)送至收費站的背書節(jié)點EN。

      2) 背書階段:背書節(jié)點EN收到ETC門架E提交的車輛C的通行記錄tr,背書節(jié)點EN對比交易金額a和額定金額da,得到交易驗證結(jié)果v= (a==da) ? normal:suspicious。背書節(jié)點計算讀集rs和寫集ws,將包含讀集rs和寫集ws的背書結(jié)果寫入對應(yīng)的通行記錄。當(dāng)達到時間閾值或收到第n個通行記錄,將這n條通行記錄寫入集合TR={tr1,tr2,…,trn},并將集合發(fā)送給排序節(jié)點O。

      3) 排序結(jié)塊階段:排序節(jié)點O收到通行記錄集合TR,將集合TR中的交易記錄按車輛通過時間Time排序。有序的車輛通行記錄被打包成區(qū)塊b,排序節(jié)點O通過原子廣播將區(qū)塊b發(fā)送給多個對等的提交節(jié)點。

      4) 區(qū)塊上鏈階段:提交節(jié)點P收到區(qū)塊b,驗證所有通行記錄的讀集rs,生成通行日志文件l并將其存入本地數(shù)據(jù)庫,生成通行日志文件的索引i,將其寫入?yún)^(qū)塊b。通過驗證的讀集rs對應(yīng)的寫集wr中的所有鍵值對寫入本地的狀態(tài)數(shù)據(jù)庫,更新本地的區(qū)塊鏈?zhǔn)澜鐮顟B(tài),完成區(qū)塊上鏈。

      2.3 數(shù)據(jù)上鏈流程

      高速公路中行駛車輛的交易是頻繁發(fā)生的,長途行駛要產(chǎn)生幾十到上百筆的交易記錄。為了提高區(qū)塊鏈的存儲效率,我們采用分段上鏈的策略,將某一區(qū)域內(nèi)的通行記錄上鏈,返回KV值后,在進入新區(qū)域后重新產(chǎn)生交易記錄并上鏈。

      數(shù)據(jù)存儲上鏈流程見算法1。首先將輸入的原始數(shù)據(jù)存入本地數(shù)據(jù)庫,之后生成數(shù)據(jù)存儲位置和存儲秘鑰,將車牌號(noc)、哈希值(Hash(E,noc,Time))、本地存儲信息(Sec (Location,CompositeKey))構(gòu)造為結(jié)構(gòu)體(struct),然后將結(jié)構(gòu)體轉(zhuǎn)換為JSON格式的上鏈信息(record),生成組合鍵(key),將組合鍵與上鏈信息作為鍵值對存儲上鏈,最后輸出數(shù)據(jù)上鏈的執(zhí)行結(jié)果。

      算法1 數(shù)據(jù)存儲

      Procedure SavingData(noc,Time,E,LE,a)

      service executes:

      write the data to DB

      contract executes:

      struct ←{ noc,Hash(E,noc,Time),Sec (Location,Key)}

      record ← json(struct)

      Compositekey ← CompositeKey(noc,Hash)

      write blockchain (key,record)

      print(results of execution)

      end Procedure

      2.4 數(shù)據(jù)共享操作

      數(shù)據(jù)在完成上鏈工作后,區(qū)塊鏈上記錄的索引可以用于數(shù)據(jù)共享的服務(wù)。共享過程需由盟員提出共享請求,通過鏈碼完成共享請求的審核、讀取鏈上信息、獲取原始的車輛通行記錄,并且將此次訪問記錄上鏈,具體過程如下:

      1) 盟員User針對某輛車noc產(chǎn)生共享請求Q={noc,Sig},包括車牌號和盟員的簽名信息,該請求信息由客戶端提交給鏈碼。

      2) 共享鏈碼在收到Q后開始核準(zhǔn),首先對User完成簽名校驗,根據(jù)noc搜索鍵前綴匹配的鏈上數(shù)據(jù),并對Hash值完成一致性驗證,如果無誤則核準(zhǔn)該盟員訪問原始信息的權(quán)限。

      3) 若核準(zhǔn)通過,盟員User依據(jù)從聯(lián)盟鏈上返回的Location和Key,訪問指定的數(shù)據(jù)庫并提交{Location,Key,Sig};該數(shù)據(jù)庫所屬的認證服務(wù)器實施認證,返回解密存放的數(shù)據(jù),User獲取原始的行駛信息。

      4) 盟員將此次請求作為交易記錄上鏈,數(shù)據(jù)結(jié)構(gòu)可以表示為(ID,time,Q),分別記錄盟員ID、訪問時間和共享請求。區(qū)塊鏈可以對該記錄信息做背書、排序和上鏈等操作,其他盟員也可以通過區(qū)塊鏈查詢該盟員的訪問記錄。

      共享算法的偽代碼如下:

      算法2數(shù)據(jù)共享

      Procedure QueryData(noc,Sig)

      contract executes:

      if validate(Sig) = false then

      return errorinvalidSignature

      endif

      record ← write blockchain

      if validate(Location,Key,Sig) = false then

      return errorinvalidHash

      endif

      return (Location,Key,Sig)

      service executes:

      if validate(Location,Key,Sig) = false then

      return errorinvalidDB

      endif

      read the data from DB

      return(raw data)

      system executes:

      generate route

      print(route)

      contract executes:

      SavingData(ID,time,noc,Sig)

      end Procedure

      3 安全性分析

      將區(qū)塊鏈技術(shù)應(yīng)用到高速公路數(shù)據(jù)的存儲與共享中,可以很好地發(fā)揮區(qū)塊鏈的優(yōu)點,使高速公路通行記錄可在不同高速公司之間輕松共享,并在共享過程中保護隱私,讓高速數(shù)據(jù)管理更加靈活和安全。本文模型的安全性可從以下幾個方面進行分析。

      3.1 弱中心化

      高速公路聯(lián)盟鏈的盟員由各個片區(qū)中心或高速公司組成,這些公司之間無需相互信任,任何一個節(jié)點都無法單獨控制整個聯(lián)盟鏈上的數(shù)據(jù)。并且鏈上數(shù)據(jù)僅含行車記錄的摘要哈希與索引,對單個節(jié)點的攻擊無法使整個網(wǎng)絡(luò)癱瘓。聯(lián)盟鏈的弱中心化使得此模型具有良好的抗單點攻擊能力。

      3.2 可溯源

      區(qū)塊鏈上的每個區(qū)塊都具有順序關(guān)系,區(qū)塊內(nèi)記錄的行車記錄的索引信息,數(shù)據(jù)存儲上鏈后便無法再修改。并且每條原始通行記錄中都包含該車輛經(jīng)過的上一個門架信息,因此可以進行溯源。對某車輛的行駛路線進行追溯,可得到該車完整的行駛路線。

      3.3 不可篡改

      區(qū)塊鏈中所有節(jié)點均保存了完整的區(qū)塊鏈賬本數(shù)據(jù),即使單個或少數(shù)節(jié)點存儲的賬本數(shù)據(jù)被篡改,在下一輪共識結(jié)束后,所有節(jié)點又將同步獲取最新的賬本數(shù)據(jù)。在現(xiàn)實中,各高速公司都有嚴格的網(wǎng)絡(luò)安全管理機制,出現(xiàn)大面積攻擊的可能性極小,因此保證了該模型的鏈上數(shù)據(jù)不被篡改。

      3.4 隱私保護

      原始車輛的通行記錄在高速出入口或門架處產(chǎn)生,通過簽名加密后存入本地數(shù)據(jù)庫,再將通行記錄的摘要哈希和索引上傳到聯(lián)盟鏈中。公開的鏈上數(shù)據(jù)無法查看完整的行車記錄,真實數(shù)據(jù)的訪問權(quán)限完全由聯(lián)盟鏈控制,沒有聯(lián)盟鏈的授權(quán)將無法從數(shù)據(jù)庫中提取出真實數(shù)據(jù)。因此該模型的數(shù)據(jù)隱私得到了良好的保護。

      4 實驗結(jié)果與分析

      為驗證方案的正確性和工作效率,在硬件環(huán)境為 Intel(R)Core(TM) i7-8750 CPU(2.2 GHz),RAM 為 16 GB的 PC 機上進行了實驗。采用山西北部某地區(qū)高速公路實際數(shù)據(jù),5臺操作系統(tǒng)為Ubuntu18.04的虛擬機模擬1個省中心與4個片區(qū)中心,每個片區(qū)中心包含2個收費站。實驗網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。

      圖4 實驗網(wǎng)絡(luò)結(jié)構(gòu)

      使用Hyperledger Fabric V1.4 構(gòu)建聯(lián)盟鏈系統(tǒng)。建立1個order節(jié)點、4個peer節(jié)點和8個cli客戶端的區(qū)塊鏈系統(tǒng)。省中心通過order節(jié)點為下屬片區(qū)提供排序服務(wù)和打包區(qū)塊;片區(qū)中心分屬2個組織,通過peer節(jié)點提交對應(yīng)片區(qū)的通行記錄、存儲區(qū)塊以及執(zhí)行鏈碼;收費站通過cli客戶端發(fā)送通行記錄到上級片區(qū)中心。所有節(jié)點和cli在同一通道中,并放入docker運行,使用docker技術(shù)組織編排。認證服務(wù)通過Fabric提供的MSP(membership service provider)實現(xiàn)。

      鏈碼使用go語言開發(fā),使用gin框架訪問本地的mysql數(shù)據(jù)庫,將通行數(shù)據(jù)摘要上傳到區(qū)塊鏈中,并可以在查詢鏈上數(shù)據(jù)之后將查詢事件記錄上鏈。根據(jù)真實行車記錄,設(shè)計結(jié)構(gòu)體CAR ={noc,Hash,Location,Key}用于記錄一條通行記錄的車牌號、哈希值、真實數(shù)據(jù)存儲位置、存儲秘鑰。為便于查詢,將鏈上存儲的鍵設(shè)為車牌號與哈希值的組合鍵。

      4個peer及8個cli并發(fā)上傳通行記錄,上鏈后的數(shù)據(jù)可在任意節(jié)點通過調(diào)用鏈碼查詢得到。對車輛上鏈后的通行記錄查詢可得到一輛車完整的行駛軌跡,以便事后稽查。將同一個車牌號的所有通行記錄按通行時間順序排序,再按序提取每條通行記錄中的門架號并輸出,即該車輛完整的行車路線。

      在本實驗的數(shù)據(jù)上鏈階段使用Wireshark對通行數(shù)據(jù)進行捕獲,結(jié)果如圖5所示,未見上鏈數(shù)據(jù)明文,可以看出開啟TLS對數(shù)據(jù)傳輸過程起到了保護作用。

      圖5 抓包結(jié)果

      原始同行記錄經(jīng)對稱加密技術(shù)加密后存入本地數(shù)據(jù)庫,如圖6所示,除車牌號外,相關(guān)信息均為密文,極大保護了車主的個人隱私。

      圖6 加密數(shù)據(jù)庫

      假設(shè)業(yè)務(wù)量是按照時間遞增的,使各節(jié)點并發(fā)上傳車輛通行記錄,同時獲取上鏈前后時間差,計算交易讀寫吞吐率、延遲以及資源消耗。交易到內(nèi)存之后需要等到形成一個完整區(qū)塊才能存入磁盤,這就使得第一個進入到區(qū)塊的交易和最后一個進入?yún)^(qū)塊的交易有時間差,故在此取上鏈多個交易的平均時間。

      如圖7中虛線所示,隨著業(yè)務(wù)交易量的變化,系統(tǒng)吞吐率在40條/s左右,交易數(shù)對吞吐率不存在明顯的影響。在單個虛擬機上同樣部署了相同節(jié)點數(shù)量的高速公路區(qū)塊鏈,如圖7中實線所示,吞吐率僅為15條/s。系統(tǒng)的交易量數(shù)據(jù)上鏈延遲與交易數(shù)的關(guān)系如圖8所示,其延時性和吞吐率基本成線性關(guān)系。實驗證明了影響系統(tǒng)吞吐率的主要因素是分布式系統(tǒng)的節(jié)點數(shù),節(jié)點越多則吞吐率越大。按照該系統(tǒng)吞吐率計算,24 h提交的業(yè)務(wù)量約為40×60×60×24=345.6萬條,而山西省單日實際業(yè)務(wù)量約為1 000萬條,該系統(tǒng)基本滿足省業(yè)務(wù)需求的1/3,可以減小片區(qū)規(guī)模的實際業(yè)務(wù)壓力。隨著節(jié)點數(shù)量的擴容,該系統(tǒng)可以進一步滿足省級甚至國家級的業(yè)務(wù)需要。

      圖7 系統(tǒng)上鏈吞吐率

      圖8 系統(tǒng)上鏈延遲

      圖9 上鏈資源消耗趨勢

      多機環(huán)境下隨機抽取某個peer上鏈期間的資源消耗如圖9所示,圖中CPU及網(wǎng)絡(luò)波動區(qū)域顯示了一批數(shù)據(jù)的上鏈消耗。CPU利用率大概在40%~50%間,內(nèi)存無明顯變化,網(wǎng)絡(luò)流量消耗較大??紤]到上鏈期間peer的合計資源消耗已達到物理機的最大性能,單個peer的CPU利用率不高,如提高物理性能,系統(tǒng)性能仍有很大的提升空間。

      5 結(jié)束語

      本文提出了一種能記錄和共享高速公路通行數(shù)據(jù)的區(qū)塊鏈,為高速公路的稽查管理提供了新思路。實驗結(jié)果表明該系統(tǒng)具有較好的吞吐率和較低的時延,系統(tǒng)運算資源消耗適中,可以滿足片區(qū)級高速公路的實際需求。如何提高區(qū)塊鏈系統(tǒng)的擴展性,更好地滿足高速公路信息化需求將成為下一步的研究方向。

      猜你喜歡
      盟員鏈碼門架
      基于新能源技術(shù)的高速公路ETC門架供電系統(tǒng)
      ETC門架防雷技術(shù)淺析
      “盟員之家”助力西瓜產(chǎn)業(yè)發(fā)展
      一種新壓縮頂點鏈碼
      人民律師為人民——記福建省民盟優(yōu)秀盟員、武夷山市政協(xié)委員邱芝杰
      紅土地(2017年2期)2017-06-22 10:23:39
      3200/1600t溜尾門架
      基于鏈碼特征的幾何圖形快速識別算法*
      無損鏈碼技術(shù)的分析與比較
      民盟為蘆山地震災(zāi)區(qū)提供智力援助
      “多功能一體式”限高門架的研究和應(yīng)用
      仁怀市| 凤山县| 大丰市| 红安县| 龙南县| 始兴县| 盐亭县| 潞城市| 湘乡市| 宝兴县| 长阳| 获嘉县| 府谷县| 宕昌县| 准格尔旗| 曲周县| 黔江区| 蒙山县| 益阳市| 金华市| 沙坪坝区| 南部县| 洛宁县| 敖汉旗| 青河县| 克拉玛依市| 鹿泉市| 深州市| 绥滨县| 光山县| 浙江省| 康马县| 保靖县| 河津市| 和平区| 庄浪县| 绥阳县| 绍兴市| 澄江县| 安乡县| 山阳县|