基于区块链的防护物资捐赠监管系统(三):功能设计

第1章 对研究背景及内容进行介绍
第2章 智能合约、密码学知识、共识机制等相关技术
第3章 系统的整体设计
第4章 系统功能的具体实现
第5章 系统的实验测试


目录

  • 基于区块链的防护物资捐赠监管系统(三):功能设计
  • 三、系统设计
    • 4.1区块链网络
    • 4.2物资匹配
      • 3.1.2 系统结构
    • 4.3 信誉评估
    • 4.4 活动评价
  • 总结

三、系统设计

4.1区块链网络

系统采用部分去中心化的联盟链,由于需要进行用户发布信息的审核,以及后续的动态维护等操作,因此排除使用公有链的形式,联盟链存在处理速度快、可控性较强的特点,在联盟节点内部达成共识会,即可对区块数据进行修改,并且便于进行相关信息的访问控制;并且由联盟链主节点进行区块链写入操作,能够有效避免恶意节点造成区块链分叉等问题。
联盟节点初步选择为相关公益组织,以及国家相关监管部门等。各节点在首次启动时,会在本地建立存储结构,打开指定服务端口,并向网络中进行广播,确认各联盟节点的状态如系统版本等;随后建立与区块链网络的连接,并寻找主节点完成网络的区块链同步,同步流程如图所示。

在各联盟节点接入区块链网络后,即可开始对区块链的操作环节,系统设计了如下的消息数据包结构:

public class VoteMsg {private byte voteType;//当前投票状态private String order;//消息编号private String hash;//所含区块哈希值private int number;//当前区块高度private String appId;//消息所属节点IDprivate boolean agree;//消息审核状态private Block block;//所含区块
}

为避免出现重复投票的情况,建立包含所有hash的投票集合,存储本节点已确认状态的hash,即本节点已对外广播过允许commit或拒绝commit的消息;为避免出现网络中存在已经达成共识后的数据包,在接受后会首先对其合法性进行校验。共识过程依照上一章介绍的PBFT算法流程:
主节点将block打包为VoteMsg并进行广播,收到VoteMsg的从节点如果还没有收到过这个VoteMsg并且验证合法后,向网络中广播一个prepare<h, d, s>消息,其中h为高度,d为摘要,s为本节点签名;节点收到prepare消息后,将其存入队列并开始累加消息数量,当收到超过2f+1个且来源于不同节点的prepare消息后;当前节点进入prepared状态,并向网络中广播一个commit<h, d, s>消息;直至网络中所有节点达成共识。为防止资源浪费,系统会在收到第一个序号为h的block时,启动一个定时器,在定时到期时一致尚未达成,则放弃本次共识。

4.2物资匹配

物资信息在匹配系统中按照物资类型建立堆栈存储,如图4.2左侧所示先进后出减少物资等待时间如图;需求信息以队列形式存储,如图4.2右侧所示整体以先进后出的顺序排列,但会根据物资分配参数U进行动态排序,参数根据如下函数计算:

其中α≥1,wij=wi*wj,Uij为物资分配参数,wi为物资系数,用于量化医疗物资的重要程度,wj为医院门诊紧急程度,α为所处灾害类型的严重系数,xij为医院j的物资i的需求量,Zi为所有医院对物资i的总需求量,R为距离参数。
当物资需求量不变时,所处灾害类型严重等级越高,α越大,易受损程度越高;某类型物资重要性越大,wi’物资系数的值也越大,表示该物资不能到位时受到的影响越大;医院门诊待诊人员越多,紧急程度越高wj’值也越大;Zi^α起到归一化处理的作用。系统通过区块链读入捐赠物资信息以及物资需求信息,按照其对应存储结构存储;现有队列如图所示时,最近更新一条甲医院1400瓶84消毒液需求,准备进入队列,经计算得出甲物资分配参数远高于所需200瓶的乙医院,因此将甲医院放那入队列首位,优先进行物资匹配。

3.1.2 系统结构

系统采用MVC框架结构,基于不同功能分为3层。
第一层View层负责数据的可视化操作。能够实现数据查询、数据交易、数据评价等功能。
第二层是Controller层,通过网络控制数据流向Model层,并在检测到数据变化时更新View层。这一部分由共识机制PBFT和基于P2P通信的节点服务器组成。如图3.2所示,每个节点既用于数据副本存储,也作为区块链节点;数据副本加密存储在各个节点的数据库当中,而将数据摘要存储在区块链当中,保证数据的不可篡改性和完整性;
第三层是Model层,负责处理数据逻辑的部分。由数据层和存储层组成,每个服务器建立并与维护物资摘要链和流转记录链,具体内容将在存储结构中介绍。

4.3 信誉评估

系统会根据角色、信誉值等限制用户访问,信誉值的计算根据如下公式:

其中R0为初始的信誉值,拟接入信用中国获得初始参数;Gi为指标i分数,由参与此次捐赠活动的双方评判,如实际所收捐赠物资与描述完全相符; Wi为指标权重,可根据系统具体需求设置,如实际捐赠物资与描述不符权重设为-0.4,捐赠物资质量不符合行业标准权重设置为-0.8,捐赠物资数量与描述完全相符设置为+0.7等等;用户行为会被记录在区块链中,用户的信誉值在被调用时会重新计算,因此考虑时间因素,ti为实际时间,tj为用户交易完成时间,完成时间越近对信誉影响越大。
用户的信誉值会影响其操作系统功能的权限,如当信誉值低于操作阈值时,用户仅能参与查询功能,而禁止其进行信息发布等操作,具体流程如图4.3所示。

4.4 活动评价

根据上一章介绍的区块数据结构,每个区块体中都维护了一条动态更新的侧链,如个人信誉、医院信誉、活动进展等信息,以此提升系统的可读性。系统会将用户的行为信息记录在侧链中,用于信誉值的计算;在慈善活动进行媒体通告后,系统能够将相关物资的使用情况写入活动进展,便于监管组织、物资捐赠方等查阅。
侧链同样采用区块链结构,侧链的创世区块由所在区块内容生成,其中包含当前区块其他内容计算所得的Merkel根哈希值,从而实现与纵链的链接,并由创世区块起构建一条完整的链结构。区块动态更新的通过重新广播相应区块的方式实现,每隔一个更新周期,系统会将存在侧链更新内容的区块进行一次广播,同样参照PBFT算法,在超过2f+1节点判定合法通过后,各节点根据接收内容更新区块链。

总结

以上是系统功能的具体设计,接下来会对系统进行测试并最后展示源代码,仅供参考。

第1章 对研究背景及内容进行介绍
第2章 智能合约、密码学知识、共识机制等相关技术
第3章 系统的整体设计
第4章 系统功能的具体实现
第5章 系统的实验测试

基于区块链的防护物资捐赠监管系统(三):功能设计相关推荐

  1. 基于区块链的防护物资捐赠监管系统(二):系统结构

    基于区块链的防护物资捐赠监管系统(二):系统结构 第1章 对研究背景及内容进行介绍 第2章 智能合约.密码学知识.共识机制等相关技术 第3章 系统的整体设计 第4章 系统功能的具体实现 第5章 系统的 ...

  2. 基于区块链的学生课程成绩查询系统

    基于区块链的学生课程成绩查询系统 [摘 要]传统成绩管理系统存在数据易窜改的问题.本文根据区块链不可窜改的原理设 计并实现课程成绩查询系统.系统基于以太坊技术开发,采用 Node.js 作为服务器后端 ...

  3. 基于区块链/Hyperledger Fabric的商品交易溯源系统搭建步骤

    原项目链接:https://github.com/togettoyou/fabric-realty 此项目链接:https://gitee.com/real__cool/fabdeal 演示链接:ht ...

  4. 基于区块链/Hyperledger Fabric的商品交易溯源系统开发模式搭建

    搭建该项目的开发模式主要有链码的开发模式和前后端的开发模式. 以下内容暂时没有核验,可能有bug 链码开发模式 窗口1:开启dev组件 cd /home/real/project/fabric-sam ...

  5. 区块链改写P2P网贷监管格局

    长期以来,P2P网贷不但是互联网金融领域中的热点和重点部分,同时也因为造假.坏账.跑路等一系列严重损 害投资者利益的问题频频出现而成为一个备受争议的角色.2015年以来,强化互联网金融监管提上日程,各 ...

  6. SSM基于区块链的物联网数据交易 计算机毕业设计源码46193

    摘  要 物联网技术作为继互联网技术后新一代的通信信息集成应用的典范,其巨大的应用前景受到了学术界和政商界的广泛关注.物联网技术在一些传统行业已经有了很深入的应用,例如,其在商品生产信息溯源.环境监测 ...

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

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

  8. 力求领先十年:迪拜将发起基于区块链的旅游业市场

    点击上方 "蓝色字" 可关注我们! 暴走时评: 去年迪拜发起了以领先世界其他国家十年为目标的Dubai 10x项目.具体包括基于区块链的旅游市场以及搭建基于区块链的汽车使用周期追踪 ...

  9. 区块链系统之《基于区块链的PKI数字证书系统》

    摘要 本文提出了一种基于区块链技术构建PKI数字证书系统的方法,利用区块链去中心化.不可篡改等特点,解决了传统PKI技术中存在的单点失败问题以及多CA互信难等问题,可降低传统PKI技术中CA中心建设. ...

最新文章

  1. 布局覆盖 超出一部分_Android 布局优化
  2. 有的OUTLOOK不能自动加载归档ARCHIVE邮件的问题
  3. 部门研发linux sysfs (2)部门研发
  4. VS 2010 安装 .net framework2.0/3.0/3.5
  5. ai怎么平均排列_一篇AI打麻将的论文,理科生眼中的麻将是这样的
  6. 智慧交通day02-车流量检测实现13:基于虚拟线圈法的车辆统计+视频中的车流量统计原理解析
  7. springboot整合couchbase
  8. i18n国际语言代码对照表
  9. Intel 64/x86_64/x86/IA-32处理器标志寄存器详解(1) - 16位FLAGS(8086/80186/80286)
  10. 【SDC】StreamSets实战之路-11-基础篇- StreamSets-数据流开发- Edge数据流设计
  11. sin的傅里叶变换公式_正弦信号傅里叶变换
  12. 安庆集团-冲刺日志(第一天)
  13. 扰动分析 matlab,扰动材料力学有限元分析:基于MATLAB编程
  14. 【vulhub系列】cve-2018-1273S pring Expression Language 漏洞复现
  15. 力扣算法题-19.秋叶收藏集 C语言实现
  16. python学习小报4--python的数据类型
  17. UVA10635--Prince and Princess
  18. 外国程序员应该访问的最佳网站
  19. 机器人基础技术教学_乒乓球推挡技术完整攻略[基础教学]
  20. vue pc端web页面微信支付和支付宝支付

热门文章

  1. Python abs()函数
  2. Skywalking 简介
  3. 今日说“法”:FPGA的三种配置方式
  4. UE5 Android 打包
  5. 炫龙毁灭者P6-581S1NR笔记本重装win10系统教程
  6. [题集]ADS13 Randomized Algorithms
  7. 冥冥中的感觉,是梦非梦
  8. 三星n8000Android,三星 N8000 刷机详细图文教程
  9. 嗯?你的VS2019运行黑框一闪而过嘛
  10. 调用Tushare数据库绘制K线图