基于区块链的健康链系统设计与实现(3)系统设计
3 系統(tǒng)設(shè)計
3.1 系統(tǒng)整體設(shè)計
系統(tǒng)架構(gòu)如圖5,系統(tǒng)將搭建SDK接口服務(wù)器作為微信程序和區(qū)塊鏈的通訊中介。微信程序通過Https協(xié)議與SDK接口進(jìn)行數(shù)據(jù)交互,SDK接口與區(qū)塊鏈系統(tǒng)通過JSON-RPC協(xié)議進(jìn)行數(shù)據(jù)交互。SDK接口程序由進(jìn)出人員的個人數(shù)據(jù)接口、公共場所的數(shù)據(jù)接口和進(jìn)出人員記錄的數(shù)據(jù)接口等等組成。系統(tǒng)配備傳統(tǒng)數(shù)據(jù)庫存儲數(shù)據(jù)以避免區(qū)塊鏈數(shù)據(jù)查詢效率低下問題。
由于區(qū)塊鏈平臺的共識機(jī)制,數(shù)據(jù)上鏈有時間延遲,接口程序通過將采用定時查詢機(jī)制來得到數(shù)據(jù)上鏈等其它數(shù)據(jù)操作結(jié)果。SDK接口與區(qū)塊鏈系統(tǒng)的數(shù)據(jù)流程如圖6。
圖6 SDK接口與區(qū)塊鏈系統(tǒng)的數(shù)據(jù)流程
在增強(qiáng)數(shù)據(jù)的隱私和安全方面,Https協(xié)議在Http協(xié)議的基礎(chǔ)上加了一層SSL/TLS加密層,SSL/TLS通過將對稱密碼、公鑰密碼、單向散列函數(shù)、消息認(rèn)證碼,偽隨機(jī)數(shù)生成器和數(shù)字簽名等技術(shù)相結(jié)合來實現(xiàn)安全通信。此外,SSL/TLS還可以通過切換密碼套件來使用強(qiáng)度更高的密碼算法。[9]
鑒于數(shù)據(jù)的隱私和安全需求,比特幣系統(tǒng)將采用私有鏈的方式布置節(jié)點。
3.2 傳統(tǒng)數(shù)據(jù)庫設(shè)計
MySQL作為一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其體積小、速度快、源碼開放,且對PHP有很好的支持。因此數(shù)據(jù)庫基于MySQL開發(fā),主要包含3個表:個人信息表、公共場所表和進(jìn)出記錄表。
表1 個人信息表
屬性 數(shù)據(jù)類型 是否為主鍵 備注
User ID string 是 用戶微信的openid
Name string 否 姓名
Phone Number string 否 電話號碼
Credentials Number string 否 證件類型
表2 公共場所表
屬性 數(shù)據(jù)類型 是否為主鍵 備注
Public ID string 是 用戶微信的openid
Name string 否 公共場所名稱
Requester Name string 否 申請人姓名
Requester Phone string 否 申請人電話號碼
Region string 否 行政區(qū)域
Address string 否 詳細(xì)地址
表3 進(jìn)出記錄表
屬性 數(shù)據(jù)類型 是否為主鍵 備注
ID string 是 id
Person ID string 否 個人ID
Public ID string 否 公共場所ID
Time string 否 時間
Temperature Value string 否 溫度值
3.3 微信小程序設(shè)計
代碼主要通過微信開發(fā)者工具開發(fā),開發(fā)者可以完成API和頁面的開發(fā)調(diào)試、代碼查看和編輯、小程序預(yù)覽和發(fā)布等等功能。微信小程序1個Page頁面對應(yīng)本系統(tǒng)1個模塊,1個page頁面主要由4個文件構(gòu)成,js腳本文件即是頁面邏輯,wxml是頁面結(jié)構(gòu)展示,wxss是純前端的頁面樣式表,用于輔助wxml展示,json則是頁面配置文件。[10]
小程序在使用HTTPS發(fā)起網(wǎng)絡(luò)請求時只可以跟指定的域名與進(jìn)行網(wǎng)絡(luò)通信,因此需要在微信公眾平臺賬號里對應(yīng)的項目設(shè)置里面設(shè)置一個通訊域名,并將域名完成備案。
3.4 區(qū)塊鏈設(shè)計
比特幣加入了OP_RETURN腳本命令,它后面可以緊跟一定容量的數(shù)據(jù),專門用于存儲和交易邏輯無關(guān)的數(shù)據(jù)。這個交易輸出不會加入UTXO集合,從而避免了UTXO數(shù)據(jù)庫的大小不斷“膨脹”。[11]另在對需要對區(qū)塊鏈性能改進(jìn)方面,首先對性能進(jìn)行改進(jìn)
【參考】
[1] 雷志偉 等 基于區(qū)塊鏈的健康鏈系統(tǒng)設(shè)計與實現(xiàn). 《計算機(jī)與數(shù)字工程》2020年第12期
總結(jié)
以上是生活随笔為你收集整理的基于区块链的健康链系统设计与实现(3)系统设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于区块链的健康链系统设计与实现(2)区
- 下一篇: 基于区块链的健康链系统设计与实现(4)系