基于区块链的健康链系统设计与实现(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期
标签:Web,基于,微信,App,视图,线程,区块,引言 来源: https://blog.csdn.net/thefist11cc/article/details/116070550