摘 要:疫情期间,各大公共场所的人员进出都需要进行测温和信息登记,鉴于人工纸张录入数据的方式效率低下,本系统基于微信小程序开发相关功能,通过扫码的形式实现人员的注册和信息登记,同时基于比特币的区块链技术实现数据的不可篡改和溯源,并对数据存储进行优化,对性能进行相关升级和改造。最后搭建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)引言相关推荐

  1. 基于区块链的健康链系统设计与实现(5)区块链性能优化

    4.4区块链性能优化 通过更改相关参数和优化,交易性能在单节点的情况下能达到100个TPS以上.比如将生成块的时间由每10分钟改成10秒,将调整难度时间由2周改成80秒,将交易内存池扩大,并扩大交易最 ...

  2. 基于区块链的健康链系统设计与实现(4)系统实现

    4 系统实现 4.1 SDK接口 SDK接口主要是基于PHP语言通过libcurl扩展库实现了基于Http的JSON-RPC客户端.[12] 其主要函数代码为: //初始化一个CURL会话 $curl ...

  3. 基于区块链的健康链系统设计与实现(3)系统设计

    3 系统设计 3.1 系统整体设计 系统架构如图5,系统将搭建SDK接口服务器作为微信程序和区块链的通讯中介.微信程序通过Https协议与SDK接口进行数据交互,SDK接口与区块链系统通过JSON-R ...

  4. 基于区块链的健康链系统设计与实现(2)区块链平台Web服务器

    2.2 区块链平台分析 Bitcoin(比特币)作为区块链技术的起源,是目前发展最成熟的开源区块链平台之一,拥有大量的开发人员和活跃的开发社区.Ethereum(以太坊)核心是支持智能合约的EVM(以 ...

  5. 基于区块链的健康链系统设计与实现(6)结束语

    5 结束语 通过本文基于区块链体系架构建立的健康链系统,有效地解决了现实生活中的人员进出登记流程的繁琐问题.但同时系统属于疫情防控和复工复产特殊形势下迅速推出的一项举措,由于时间紧迫,尚有很多问题和工 ...

  6. 基于JAVA疫情社区健康评估系统设计与实现 开题报告

      本科生毕业论文 基于Java疫情下社区健康评估系统springboot框架 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学本科 ...

  7. 基于机器视觉的交通灯控制系统设计

    基于机器视觉的交通灯控制系统设计 摘 要 Abstract 引言 1 课题背景 1.1概述 1.2传统交通路口信号灯 1.3基于机器视觉的交通灯控制智能系统 1.3.1国内研究现状 1.3.2国外研究 ...

  8. 基于区块链的RFID数据采集溯源系统设计与实现

    基于区块链的RFID数据采集溯源系统设计与实现 随着区块链技术的发展以及与金融.物联网和人工智能等领域的融合应用[1],随之而来的相关安全事件频繁发生,区块链信息系统中数据来源的安全性和可追溯性正变得 ...

  9. 论文《基于区块链技术的物联网数据感知与自动交易系统设计与实现》学习报告

    <基于区块链技术的物联网数据感知与自动交易系统设计与实现> 相关介绍 智能合约模型 数据感知与交易系统架构设计 系统网络架构 系统总体架构设计 平平台区块链层的实现 1.Fabric 区区 ...

最新文章

  1. 最近在招标中评审出一个政府信息化软件
  2. 通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)
  3. WCF服务端运行时架构体系详解[下篇]
  4. Android 自定义长按响应时间
  5. java记事本应用程序_Java教程:使用记事本编写运行Java程序
  6. php 配置(转载其他)
  7. ASP.NET .Net UCS2 加码最复杂的方法
  8. 猫和老鼠服务器维护多久结束,猫和老鼠手游关服公告 告别是为了每次更好的遇见!...
  9. 循序渐进学习嵌入式开发技术
  10. tensorflow 显存 训练_tensorflow手动指定GPU以及显存大小
  11. 【算法学习】【图像增强】【Retinex】White Patch Retinex
  12. submit 读取mb52数据
  13. 融媒体需要什么计算机软件,融媒体时代对编辑的能力要求
  14. 最强Redis实战学习笔记,没有之一!
  15. USB、MiniUSB、MicroUSB
  16. 折半查找平均长度公式推导
  17. mysql rebuild index_批量rebuild索引
  18. UE Gameplay入门48(骨架网格体的混合空间)
  19. 自定义复选框,复选框样式修改,重写复选框
  20. 相干解调与非相干解调

热门文章

  1. 【Scratch】青少年蓝桥杯_每日一题_1.25_投球
  2. Vue怎么将后台(springboot)中的图片显示到前端表格中
  3. top,right,bottom,left设置为0有什么用?
  4. 微信小程序点播插件_小程序云直播amp;云点播插件限时降价了!!!
  5. 未来数据中心最需要的5种技能
  6. 图说机房空气焓湿处理过程
  7. java构造函数的重载_java初学者对构造方法和重载的理解
  8. json yeid_【分享】自动格式化输出JSON的小插件分享给大家
  9. Database之SQL:SQL之over partition by开窗函数的简介、使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略
  10. 成功解决Value Error: Unable to add relationship because child variable ‘name‘ in ‘cats_df‘ is also its i