3 系统设计
3.1 系统整体设计

系统架构如图5,系统将搭建SDK接口服务器作为微信程序和区块链的通讯中介。微信程序通过Https协议与SDK接口进行数据交互,SDK接口与区块链系统通过JSON-RPC协议进行数据交互。SDK接口程序由进出人员的个人数据接口、公共场所的数据接口和进出人员记录的数据接口等等组成。系统配备传统数据库存储数据以避免区块链数据查询效率低下问题。

由于区块链平台的共识机制,数据上链有时间延迟,接口程序通过将采用定时查询机制来得到数据上链等其它数据操作结果。SDK接口与区块链系统的数据流程如图6。

图6 SDK接口与区块链系统的数据流程
在增强数据的隐私和安全方面,Https协议在Http协议的基础上加了一层SSL/TLS加密层,SSL/TLS通过将对称密码、公钥密码、单向散列函数、消息认证码,伪随机数生成器和数字签名等技术相结合来实现安全通信。此外,SSL/TLS还可以通过切换密码套件来使用强度更高的密码算法。[9]
鉴于数据的隐私和安全需求,比特币系统将采用私有链的方式布置节点。

3.2 传统数据库设计

MySQL作为一个关系型数据库管理系统,其体积小、速度快、源码开放,且对PHP有很好的支持。因此数据库基于MySQL开发,主要包含3个表:个人信息表、公共场所表和进出记录表。

表1 个人信息表
属性 数据类型 是否为主键 备注
User ID string 是 用户微信的openid
Name string 否 姓名
Phone Number string 否 电话号码
Credentials Number string 否 证件类型

表2 公共场所表

属性 数据类型 是否为主键 备注
Public ID string 是 用户微信的openid
Name string 否 公共场所名称
Requester Name string 否 申请人姓名
Requester Phone string 否 申请人电话号码
Region string 否 行政区域
Address string 否 详细地址

表3 进出记录表
属性 数据类型 是否为主键 备注
ID string 是 id
Person ID string 否 个人ID
Public ID string 否 公共场所ID
Time string 否 时间
Temperature Value string 否 温度值

3.3 微信小程序设计

代码主要通过微信开发者工具开发,开发者可以完成API和页面的开发调试、代码查看和编辑、小程序预览和发布等等功能。微信小程序1个Page页面对应本系统1个模块,1个page页面主要由4个文件构成,js脚本文件即是页面逻辑,wxml是页面结构展示,wxss是纯前端的页面样式表,用于辅助wxml展示,json则是页面配置文件。[10]
小程序在使用HTTPS发起网络请求时只可以跟指定的域名与进行网络通信,因此需要在微信公众平台账号里对应的项目设置里面设置一个通讯域名,并将域名完成备案。

3.4 区块链设计

比特币加入了OP_RETURN脚本命令,它后面可以紧跟一定容量的数据,专门用于存储和交易逻辑无关的数据。这个交易输出不会加入UTXO集合,从而避免了UTXO数据库的大小不断“膨胀”。[11]另在对需要对区块链性能改进方面,首先对性能进行改进

【参考】

[1] 雷志伟 等 基于区块链的健康链系统设计与实现. 《计算机与数字工程》2020年第12期

基于区块链的健康链系统设计与实现(3)系统设计相关推荐

  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. 基于区块链的健康链系统设计与实现(2)区块链平台Web服务器

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

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

    摘 要:疫情期间,各大公共场所的人员进出都需要进行测温和信息登记,鉴于人工纸张录入数据的方式效率低下,本系统基于微信小程序开发相关功能,通过扫码的形式实现人员的注册和信息登记,同时基于比特币的区块链技 ...

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

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

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

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

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

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

  8. 基于区块链的甘薯质量安全追溯系统设计

    摘要 甘薯生产过程环节众多,一旦出现问题将无法准确追踪问题来源.为此,分析传统追溯信息化技术的优缺点,结合甘薯从生产到销售的实际需求,构建基于区块链的甘薯质量安全追溯系统.通过扫描系统生成的二维码标签 ...

  9. 基于区块链的数据市场

    点击上方蓝字关注我们 基于区块链的数据市场 汪靖伟, 郑臻哲, 吴帆, 陈贵海 上海交通大学计算机系,上海 200240 论文引用格式: 汪靖伟, 郑臻哲, 吴帆, 陈贵海. 基于区块链的数据市场.  ...

最新文章

  1. 有哪些通俗易懂的例子可以解释 IaaS、PaaS、SaaS 的区别?
  2. js按位运算符及其妙用
  3. java gc --- 关键词解释
  4. 《JavaScript 高级程序设计》精读笔记
  5. 条件编译指令:#if,#endif
  6. 射线计算机,面对射线-射频-计算机 我愿做“影像工匠师”
  7. java中线程的状态以及线程栈分析
  8. jquery获取加载的html内容,jquery 获取ajax加载的html中部分内容
  9. 【Proteus仿真8086实验一】RAM存储器62256
  10. cj20n sap 报错未知列的名称_SAP,PS模块配置和操作手册
  11. 程序中使用log4J打印信息的两种方式
  12. 视频教程-玩转Python-Python3基础入门-Python
  13. 《精通python设计模式》读书笔记之——行为型设计模式
  14. 安装了本地MySQL后,小皮面板上的MySQL就一直启动失败
  15. js多线程编程web worker
  16. 三个基本的布尔逻辑算符是_布尔逻辑运算符有几种,定义和功能分别是什么
  17. 单片机应用系统设计技术——LCD滚动显示汉字
  18. 干支纪年法简便算法_天干地支的简单算法
  19. 处理器后面的字母含义_电脑CPU型号末端的字母是什么意思?让小编来告诉你吧...
  20. 分类问题——判别分析(LDA、QDA)

热门文章

  1. vue+elementui搭建后台管理界面(登录)
  2. Android --- Gradle是什么?
  3. 数据中心管理:从DCIM过渡到DMAAS
  4. 干货|用配电安全基础知识及隐患排查重点PPT
  5. 数据中心运维人的半衰期危机
  6. 数据中心安全的六条黄金规则
  7. radio按扭设置只读_disabled属性样式问题
  8. python android自动化元素定位_linux下Appium+Python移动应用自动化测试实战---3.手把手教你定位元素编写测试用例...
  9. CV之IS:利用pixellib库基于mask_rcnn_coco模型对《庆余年》片段实现实例分割简单代码全实现
  10. DL之ShuffleNetV2:ShuffleNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略