基于区块链的健康链系统设计与实现(1)引言
摘 要:疫情期間,各大公共場(chǎng)所的人員進(jìn)出都需要進(jìn)行測(cè)溫和信息登記,鑒于人工紙張錄入數(shù)據(jù)的方式效率低下,本系統(tǒng)基于微信小程序開發(fā)相關(guān)功能,通過掃碼的形式實(shí)現(xiàn)人員的注冊(cè)和信息登記,同時(shí)基于比特幣的區(qū)塊鏈技術(shù)實(shí)現(xiàn)數(shù)據(jù)的不可篡改和溯源,并對(duì)數(shù)據(jù)存儲(chǔ)進(jìn)行優(yōu)化,對(duì)性能進(jìn)行相關(guān)升級(jí)和改造。最后搭建Nginx服務(wù)器負(fù)責(zé)數(shù)據(jù)通信。
Abstract:During the COVID-19, while people entering public places, temperature measurement and information registration are required. In many places, this is implemented bu manually that is so inefficient. This System is based on Wechat Mini Program which implement the information register job, so people only need scan WeChat Code instead of manually writing. Combining with Bitcoin technology, data will be traceable and cannot be tampered. And Nginx server is needed for data communication.
1 引言
在抗擊新冠肺炎疫情初期,各地各部門企業(yè)紛紛貢獻(xiàn)己力,自主開發(fā)疫情防控信息系統(tǒng)。一方面能加強(qiáng)政府部門的管理,另一方面簡(jiǎn)化現(xiàn)實(shí)中人力物力消耗。[1]在人員進(jìn)出公共場(chǎng)所的跟蹤管理方面,相應(yīng)有應(yīng)用于廣西地區(qū)的“掃碼抗疫情”、云南地區(qū)的“云南抗疫情”等等。它們都是基于微信小程序開發(fā),其功能和使用方式大抵相同,群眾以個(gè)人身份注冊(cè),另一個(gè)則是公共場(chǎng)所的工作人員以公共場(chǎng)所的身份進(jìn)入系統(tǒng)并生成二維碼進(jìn)行張貼,進(jìn)出人員手動(dòng)掃碼實(shí)現(xiàn)數(shù)據(jù)上傳,從而減免了手工登記流程。
區(qū)塊鏈作為一個(gè)分布式數(shù)據(jù)庫,記錄著區(qū)塊鏈從創(chuàng)世塊到當(dāng)前塊的所有交易,具有去中心化、不可更改性、匿名性和可審計(jì)性這幾個(gè)特點(diǎn)。鑒于微信小程序基于微信平臺(tái)擁有龐大用戶量,不需要下載安裝反復(fù)登錄與卸載,對(duì)用戶而言,大大簡(jiǎn)化了使用程序。因此使用微信小程序展現(xiàn)基于區(qū)塊鏈的進(jìn)出登記系統(tǒng)是一個(gè)不錯(cuò)的選擇。與別的出入登記系統(tǒng)不同,健康鏈系統(tǒng)將由公共場(chǎng)所工作人員對(duì)出入人員進(jìn)行掃碼,并保存當(dāng)前測(cè)量的溫度值,以加強(qiáng)疫情工作的防控。
2 系統(tǒng)分析
2.1 微信小程序分析
微信小程序本質(zhì)上是一種由原生APP和HTML5混合開發(fā)的HyBird App技術(shù)方案。即是一種在原生App里內(nèi)置瀏覽器,采用網(wǎng)頁的形式來呈現(xiàn)功能的系統(tǒng)架構(gòu)。它即解決了原生App下載安裝和更新、應(yīng)用商店發(fā)布審核周期長(zhǎng)的問題,又解決了純Web App安全性相對(duì)較低,數(shù)據(jù)容易泄露或者被劫持的問題。
微信小程序的系統(tǒng)架構(gòu)如圖1,它以微信APP作為宿主進(jìn)程,通過云端下載動(dòng)態(tài)的Web資源文件到本地并動(dòng)態(tài)渲染W(wǎng)eb界面。在純Web App中,界面渲染跟JavaScript的腳本執(zhí)行在一個(gè)單線程中,這就容易導(dǎo)致一些邏輯任務(wù)搶占渲染的資源。因此微信小程序采用雙線程模型,打開一個(gè)微信小程序,相當(dāng)于進(jìn)程啟動(dòng)了兩個(gè)線程。其中一個(gè)線程用來渲染View視圖,另外一個(gè)App Service邏輯線程動(dòng)態(tài)執(zhí)行JavaScript腳本,用來處理邏輯、數(shù)據(jù)請(qǐng)求和接口調(diào)用。
在微信APP和Web模塊之間有一個(gè)JSBridge跨語言雙向通訊機(jī)制,這個(gè)通信層協(xié)調(diào)Web模塊的視圖線程與邏輯線程的數(shù)據(jù)和事件交互,邏輯線程把數(shù)據(jù)變化通知到視圖線程,觸發(fā)視圖頁面更新,視圖線程把觸發(fā)的事件通知到邏輯線程進(jìn)行業(yè)務(wù)處理。更為重要的是,它不但負(fù)責(zé)傳遞Web模塊對(duì)系統(tǒng)權(quán)限的相關(guān)功能調(diào)用,還包括傳遞Web視圖渲染和JavaScript腳本執(zhí)行。[2]在安卓系統(tǒng)里,渲染和腳本引擎都是調(diào)用基于開源Webkit庫優(yōu)化和擴(kuò)展的騰訊X5瀏覽器。在iOS系統(tǒng)里,蘋果基于WebKit開發(fā)了WKWebView組件來渲染視圖,并基于WebKit的C/C++實(shí)現(xiàn)和包裝實(shí)現(xiàn)了JavaScriptCore腳本執(zhí)行框架。
JS-SDK就是對(duì)JSBridge的一個(gè)包裝,它是一整套網(wǎng)頁開發(fā)工具包,開放了拍攝、錄音、語音識(shí)別、二維碼、地圖、支付、分享、卡券等幾十個(gè)API。
最后,App Service線程運(yùn)行在沙箱環(huán)境中,從而方便管控與安全,比如避免JavaScript腳本隨意地跳轉(zhuǎn)網(wǎng)頁或者改變界面上的內(nèi)容。[3]
【參考】
[1] 雷志偉 等 基于區(qū)塊鏈的健康鏈系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn). 《計(jì)算機(jī)與數(shù)字工程》2020年第12期
總結(jié)
以上是生活随笔為你收集整理的基于区块链的健康链系统设计与实现(1)引言的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bitcoin0.21版 公链开发(3)
- 下一篇: 基于区块链的健康链系统设计与实现(2)区