基于区块链的健康链系统设计与实现(1)引言
摘 要:疫情期間,各大公共場所的人員進出都需要進行測溫和信息登記,鑒于人工紙張錄入數據的方式效率低下,本系統基于微信小程序開發相關功能,通過掃碼的形式實現人員的注冊和信息登記,同時基于比特幣的區塊鏈技術實現數據的不可篡改和溯源,并對數據存儲進行優化,對性能進行相關升級和改造。最后搭建Nginx服務器負責數據通信。
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 引言
在抗擊新冠肺炎疫情初期,各地各部門企業紛紛貢獻己力,自主開發疫情防控信息系統。一方面能加強政府部門的管理,另一方面簡化現實中人力物力消耗。[1]在人員進出公共場所的跟蹤管理方面,相應有應用于廣西地區的“掃碼抗疫情”、云南地區的“云南抗疫情”等等。它們都是基于微信小程序開發,其功能和使用方式大抵相同,群眾以個人身份注冊,另一個則是公共場所的工作人員以公共場所的身份進入系統并生成二維碼進行張貼,進出人員手動掃碼實現數據上傳,從而減免了手工登記流程。
區塊鏈作為一個分布式數據庫,記錄著區塊鏈從創世塊到當前塊的所有交易,具有去中心化、不可更改性、匿名性和可審計性這幾個特點。鑒于微信小程序基于微信平臺擁有龐大用戶量,不需要下載安裝反復登錄與卸載,對用戶而言,大大簡化了使用程序。因此使用微信小程序展現基于區塊鏈的進出登記系統是一個不錯的選擇。與別的出入登記系統不同,健康鏈系統將由公共場所工作人員對出入人員進行掃碼,并保存當前測量的溫度值,以加強疫情工作的防控。
2 系統分析
2.1 微信小程序分析
微信小程序本質上是一種由原生APP和HTML5混合開發的HyBird App技術方案。即是一種在原生App里內置瀏覽器,采用網頁的形式來呈現功能的系統架構。它即解決了原生App下載安裝和更新、應用商店發布審核周期長的問題,又解決了純Web App安全性相對較低,數據容易泄露或者被劫持的問題。
微信小程序的系統架構如圖1,它以微信APP作為宿主進程,通過云端下載動態的Web資源文件到本地并動態渲染Web界面。在純Web App中,界面渲染跟JavaScript的腳本執行在一個單線程中,這就容易導致一些邏輯任務搶占渲染的資源。因此微信小程序采用雙線程模型,打開一個微信小程序,相當于進程啟動了兩個線程。其中一個線程用來渲染View視圖,另外一個App Service邏輯線程動態執行JavaScript腳本,用來處理邏輯、數據請求和接口調用。
在微信APP和Web模塊之間有一個JSBridge跨語言雙向通訊機制,這個通信層協調Web模塊的視圖線程與邏輯線程的數據和事件交互,邏輯線程把數據變化通知到視圖線程,觸發視圖頁面更新,視圖線程把觸發的事件通知到邏輯線程進行業務處理。更為重要的是,它不但負責傳遞Web模塊對系統權限的相關功能調用,還包括傳遞Web視圖渲染和JavaScript腳本執行。[2]在安卓系統里,渲染和腳本引擎都是調用基于開源Webkit庫優化和擴展的騰訊X5瀏覽器。在iOS系統里,蘋果基于WebKit開發了WKWebView組件來渲染視圖,并基于WebKit的C/C++實現和包裝實現了JavaScriptCore腳本執行框架。
JS-SDK就是對JSBridge的一個包裝,它是一整套網頁開發工具包,開放了拍攝、錄音、語音識別、二維碼、地圖、支付、分享、卡券等幾十個API。
最后,App Service線程運行在沙箱環境中,從而方便管控與安全,比如避免JavaScript腳本隨意地跳轉網頁或者改變界面上的內容。[3]
【參考】
[1] 雷志偉 等 基于區塊鏈的健康鏈系統設計與實現. 《計算機與數字工程》2020年第12期
總結
以上是生活随笔為你收集整理的基于区块链的健康链系统设计与实现(1)引言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bitcoin0.21版 公链开发(3)
- 下一篇: 基于区块链的健康链系统设计与实现(2)区