?

基于區塊鏈的智能停車系統設計研究

2024-03-17 14:18蔣海燕
科技資訊 2024年2期
關鍵詞:應用層層級指令

蔣海燕

摘要:為了更好地對停車場進行管理,本文以區塊鏈技術為依托,開發出了一款性能良好,功能較為健全的智能停車系統,該系統共由應用層、服務層、數據層、網絡層、物理層五個層級構成,每個層級具有不同的功能。最后通過系統測試的方式,對本系統應用效果進行檢測,通過測試可以發現,本系統性能與功能基本符合預期要求,可將其應用到實際當中。

關鍵詞:區塊鏈智能停車系統Fabric平臺智能合約部署交互信息配置

中圖分類號:TP31

Design?and?Research?of?the?Intelligent?Parking?System?Based?on?the?Blockchain

JIANG?Haiyan

(Hengyang?Preschool?Normal?College,?Hengyang,?Hunan?Province,?421001?China)

Abstract:?In?order?to?better?manage?parking?lots,?this?article?develops?an?intelligent?parking?system?with?good?performance?and?relatively?sound?functions?based?on?blockchain?technology.?The?system?consists?of?five?layers:?the?application?layer,?the?service?layer,?the?data?layer,?the?network?layer?the?and?physical?layer,?and?each?layer?has?different?functions.?Finally,?through?the?method?of?system?testing,?the?application?effect?of?this?system?is?tested.?Through?testing,?it?is?found?that?the?performance?and?function?of?this?system?basically?meet?the?expected?requirements,?and?that?it?can?be?applied?in?practice.

Key?Words:?Blockchain;?Intelligent?parking?system;?Fabric?platform;?Intelligent?contract?deployment;?Interactive?information?configuration

隨著現代人生活水平的不斷提升,私家車數量逐漸增加,使得社會中出現了嚴重的交通擁堵與停車難的問題,對人的生活與工作造成一定干擾。這一背景下,我國很多地區開始利用各種手段解決停車難的問題,其中,智能停車系統是一種較為良好的方法,通過系統對停車場使用情況予以檢測,并與用戶進行信息交互,為用戶停車進行指導,從而解決停車難的問題。

1?總體設計

1.1框架設計

本文在傳統停車系統的基礎上,增加了區塊鏈技術,以此設計出一種全新的智能停車系統,其中,共由5層構成,具體敘述如下:

(1)物理層,即系統所包含的各種設備裝置,如車位計數器、門禁裝置等,用于對車輛的進出與車位的計數進行管理。

(2)網絡層,包含諸多網絡設備,如交換機、防火墻等,用于促進系統間數據的傳輸、共享與保護,以此為整個系統安全、穩定的運行提供數據支持。

(3)數據層,用于表征數據處理過程的描述,是整個系統中最為核心的層級。

(4)服務層,主要為后端服務器,用于驅動區塊鏈的運行,接收用戶端傳輸的指令,對業務邏輯進行分析,將得到的結果反饋給用戶端。以車位寬窄度為例,利用現場安裝的紅外傳感器,分別對停車場長度l2與寬度w2、車輛的長度l1與w1進行檢測,進而自動推導出停車位寬窄度β,最后,將計算結果傳輸給用戶,由用戶判斷該車位是否可以停放自己車輛。其中,β計算公式為:

(5)應用層,又可稱之為客戶端,用于車輛駕駛員、停車場管理員等不同用戶的操作,以達到人機交互的目的[1]。同時,在各層級之間,利用調用函數的方式,將各層級連接到一起,確保各層級能夠獨立運行的同時,又可同時為用戶停車提供指導,從而提升停車場管理效果。具體如圖1所示。

1.2運行環境配置

本系統運行環境設計時,選擇的是阿里云服務器,相對于本地服務器來說,云服務器性能更加良好,存在更多的計算機資源,且部署更加方便,開發成本更低,有利于系統的實現[2]。具體來說,運行環境配置參數為:Ubuntu18.04?64位操作系統;ecs.c6.xlarge實例規格;Intel?Xeon?E5-2682v4/Intel?Xeon?Platinum?8163?處理器;內存為4Gb,存儲容量為40Gb的內存。

2?數據層設計

2.1開發環境

系統Fabric網絡中存在大量節點,各節點可看作簡單的服務器。具體開發時,若直接將大量計算機互聯到一起,不僅需要投入大量資金,而且操作難度較大,因而需要安裝虛擬機。但需要注意的是,以Fabric為基礎構建區塊鏈時,虛擬機的安裝則會影響系統設計效率,并對系統后續運維造成干擾,不利于整個系統安全、穩定的運行。為此,本系統設計時,運行環境選擇的是docker引擎。其核心內容為“標準化”,以開發出標準化的應用程序與操作流程。同時,通過docker引擎的應用,還會提升系統開發、測試與運行環境的規范性與一致性,有利于保證系統開發質量。利用引擎中的集裝箱隔離機制,使各進程保持獨立,限制了各進程間的干擾,同時節約CPU占用量,防止一個進程出現問題而使整個系統崩潰。在Docker鏡像庫方面,通過聯合分層的方式對資源進行管理,每個鏡像的底層文件僅需加載1次,因而系統拓展效率更高。本系統設計師,docker版本為20.06.3-ce,共包含2個安裝指令,具體為:(1)指令1,系統中安裝Docker后,在docker開源項目中,直接選擇并安裝相應的容器啟動工具docker?compose,通過該工具的操作,可同時操控多個docker容器,使得系統具有較高的容器管理效率,docker?compose的版本為1.20.1;(2)指令2,主要用于docker?compose的安裝,或是對系統操控權限的設置。

2.2構建Fabric平臺

開發環境部署結束后,則應構建Fabric平臺,用于區塊鏈的開發與測試。Fabric平臺構建流程具體如下:

(1)加載Fabric工具,通常來說,Fabric源碼主要存在git-hub內,因而Fabric平臺加載時,先要安裝git工具,即將Ubantu軟件安裝員更新后,立即安裝git,并添加指令3。之后將選擇好的Fabric工具加載到系統中,其中Fabric工具的版本為1.1.0,通過指令4控制該工具的加載。

(2)獲取Fabric組件。通過封裝鏡像文件的方式,將Fabric載入到docker倉庫內,應利用相應的docker指令,將其拖拽至本地服務器中。其中,主要鏡像如表1所示。其中,ca表示證書鏡像,用于系統內各節點與操作權限的管理;couchdb表示數據庫鏡像,用于控制系統內數據的傳輸、存儲等;kafka表示共識算法鏡像,用于管理Oederer節點的共識;zookeeper表示集群管理鏡像,用于對整個系統進行統一的管理[3]。獲取Fabric組件時,主要通過指令5進行控制。

3?服務層設計

3.1開發環境

Fabric區塊鏈內,以RPC協議接口為媒介,對Peer節點內的鏈碼進行訪問,因而在服務層和數據層信息交互時,應載入一個node?sdk源碼。開發環境配置時,先要載入nodejs環境,之后安裝開發所需的各個模塊。操作與數據庫運行環境配置基本相同,在此不再贅述。在模塊方面,主要包括:fabric-ca-client,可賦予工作人員權限,并對角色信息進行注冊;fabric-clent,向系統傳輸指令或請求;grpc,為系統內部信息的交互系統[4]。

3.2權限信息注冊

Fabric平臺運行時,只有用戶獲得相應的權限,才可與Fabric平臺進行交互,使用平臺內各種操作與服務。所以,本系統服務層設計過程中,采用nade?sdk編寫admin與user邏輯的方式,分別構建出對應的證書文件,從而控制用戶操作權限的賦予。其中,admin注冊時,主要由Ca創建實現;User的注冊,主要通過admin授權實現。注冊后,可得到對應的公鑰—私鑰,以此當作用戶的證書文件信息。

3.3服務器腳本編寫

(1)交互信息部署。所謂的交互信息,指的是用于連接服務器端與Fabric平臺的信息,用于控制交互邏輯的運行。具體有:相應模塊、通道的名稱,節點的傳輸路徑、證書文件等。

(2)服務器端腳本編寫。根據停車系統業務功能需求,按照Express框架原理,對控制代碼進行編寫,其中,調用HTTP指令為核心,采用的是查詢方法quertAllPark,獲得響應結果后,通過字符串的方式,將結果展示出來。

(3)服務器腳本部署。以Express框架為基礎,對系統服務器腳本進行編寫,因而在編寫前,應先加載Express服務器,主要通過指令14進行控制。在Express服務器上,添加對應的中間件connedt-multiparty,以此用于響應post指令。最后,對腳本文件名稱進行修改,使其變成js格式,并加載到服務器內。

4?應用層設計

4.1開發環境

應用層開發環境基本與上述兩層開發環境基本相同,在此不再贅述。但與此同時,還應在部署好的開發環境內,載入一個版本為4.5.0的Vue工具,可確保請求指令較為精簡的情況下,最短時間內完成系統的搭建。

4.2交互信息配置

服務層和數據層交互后,自動形成對應的URL,以此為應用層和服務層信息的傳輸提供支持。交互信息配置時,主要由兩個環節構成,具體敘述如下。

(1)跨域信息部署。由上述介紹可知,服務層采用的是阿里云服務器,而應用層的設計與開發,則是由本機完成,使得服務層與應用層間存在跨域問題。所以,需要添加一個Vue工具。先在后端模塊內錄入對應的請求地址,之后選擇可以跨域,并重新編寫路徑,最后對全部api接口url進行調整,使其變成以/spi為前綴[5]。

(2)封裝接口信息。利用axios形成的7個URL對信息予以處理,使其變成能夠調用的函數,名稱無需改變。

4.3客戶端代碼編寫

客戶端主要包含2個界面,具體敘述如下。

(1)登錄界面。主要有兩類代碼,一個是界面樣式代碼,用于登錄界面的開發,如登錄框、確定、刪除按鈕等;另一個為判斷邏輯,用于對賬號密碼的驗證,若驗證成功,可自動跳轉到主界面,若驗證失敗,則禁止進入主界面。

(2)主界面。采用的是Vue組件化原理,其中,共包含3個組件,分別為:aside組件,用于顯示工具欄,以此引導用戶完成各種操作;info組件,用于顯示功能區主體,通過對應接口函數的調用,完成信息錄入,結果反饋等操作;main組件,用于展示停車場分布情況,以使用戶對停車場的使用情況具有準確了解[6]。

5結語

綜上所述,本文利用區塊鏈技術原理,開發出一種包含應用層、服務層、數據層、網絡層、物理層的智能停車系統,通過各層級相互配合下,為用戶提供停車指導服務,以解決現代社會停車難的問題。

參考文獻

[1] 董浩.WEB3.0時代基于區塊鏈的去中心化應用程序用戶體驗設計探究[J].設計,2023,36(10):78-81.

[2] 張榮林.面向智能汽車的線控制動系統主動制動控制與應用[D].長春:吉林大學,2021.

[3] 孔祥科,李樹彬,李青桐.物聯網環境下共享停車區塊鏈模型研究[J].山東建筑大學學報,2022,37(1):92-99.

[4] 李江鑫,張曉韜,王先兵.從目錄到區塊鏈探索企業數字身份的未來[J].科技資訊,?2021,?19(12):58-61.

[5] 于營東.科技資訊智能采集服務的設計與實現[J].科技視界,?2021(7):97-100.

[6] 周中杰.?基于NB-IOT和LoRa的智能停車系統[D].天津:天津科技大學,2022.

猜你喜歡
應用層層級指令
聽我指令:大催眠術
軍工企業不同層級知識管理研究實踐
基于軍事力量層級劃分的軍力對比評估
ARINC661顯控指令快速驗證方法
LED照明產品歐盟ErP指令要求解讀
基于分級保護的OA系統應用層訪問控制研究
任務期內多層級不完全修復件的可用度評估
新一代雙向互動電力線通信技術的應用層協議研究
物聯網技術在信息機房制冷系統中的應用
坐標系旋轉指令數控編程應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合