共识机制原理(一)—— 绪论与分布式系统

本笔记为学校《共识机制原理》自己记录的笔记

讲义与实验代码仓库:https://github.com/DestinyWei/ConsensusMechanism

个人博客:Howe的个人博客

若有任何问题或错误,可直接评论,我会及时回复

1 绪论

重难点

  • 关于共识
  • 区块链中的共识
  • 共识机制和分布式网络
  • 共识的价值

1.1 关于共识

共识

一群具有各方面差异性的人在某方面达成了一致意见,并将其上升成为共同遵守的规则

共识机制

一个群体用以达成并维护共识的方式

如举手表决、制定法律、引入协商与仲裁机制、设计选举

人类共识的特点

中心化


1.2 区块链的共识

区块链的共识机制

  • 范围:网络环境
  • 作用的对象:所属权各异的计算机
  • 逻辑:去中心化的方式进行记账

共识机制在记账过程中重点解决两个问题

  • 完全对等的节点之间如何竞争记账权
  • 同时获得记账权后如何处理 — 保留最长链的方式

1.3 共识机制和分布式网络

  • 区块链是一个分布式系统
  • 共识机制负责安全地更新分布式网络中的数据状态,使其状态达成统一

共识机制的特点

一致性 — 所有诚实节点保存的区块链前缀部分完全相同

有效性 — 由诚实节点发布的信息终将被其他所有诚实节点记录在自己的区块中

分配授权,公平分配 — 任何人都可以监督并验证底层源代码对网络中的所有参与者是否公平

激励机制 — 激励好的行为,惩罚坏的行为者


2 分布式系统的基本概念

重难点

  • 模型
  • 副本
  • 衡量分布式系统的指标

2.1 模型

模型

要知道各图标对应的含义

节点

  • 一个可以独立按照分布式协议完成一组逻辑的程序个体
  • 往往是一个操作系统上的进程
  • 也可以认为是一个物理机或虚拟机(容器)

通信

  • 节点与节点之间是完全独立、相互隔离的,节点之间传递信息的唯一方式是通过不可靠的网络进行通信
  • 一个节点可以向其他节点通过网络发送消息,但发送消息的节点无法确认消息是否被接收节点完整正确收到

存储

  • 将数据写入与节点在同一台机器的本地存储设备保存数据
  • 存储、读取数据的节点称为有状态的节点,反之称为无状态的节点

异常

  • 机器宕机

  • 网络异常

    • 消息丢失:网络拥塞、路由变动、设备异常等
    • 消息乱序:IP 网络的存储转发机制、路由不确定性
    • 数据错误:比特错误,校验后会丢弃
    • 不可靠的 TCP:TCP 协议本身是可靠的,由于网络异常导致分布式系统中 TCP 通信的不可靠
  • 存储数据丢失

  • 无法归类的异常 — 如接受速度太慢导致超时的情况发生

分布式系统的三态

  • 请求结果:“成功”、“失败”、“超时(未知)”
  • 失败指的是没有得到想要的结果,但可以接收到失败的日志等
  • 超时指的是无法得到任何消息,无法确定具体发生什么
  • 不成功是指失败或超时其中之一

2.2 副本

副本

副本(replica / copy)— 在分布式系统中为数据或服务提供的冗余

数据副本 — 在不同的节点上持久化同一份数据

副本一致性

  • 分布式系统通过副本控制协议,使得从系统外部读取系统内部各个副本的数据在一定的约束条件下相同
  • 是针对分布式系统而言的,不是针对某一个副本而言

副本一致性分类

  • 强一致性

    • 任何时刻任何用户或节点都可以读到最近一次成功更新的副本数据
    • 程度最高的一致性要求,也是实践中最难以实现的一致性
  • 单调一致性

    • 任何时刻,任何用户一旦读到某个数据在某次更新后的值,这个用户不会再读到比这个值更旧的值
    • 单调一致性是弱于强一致性却非常实用的一种一致性级别
  • 会话一致性

    • 任何用户某一次会话内一旦读到某个数据在某次更新后的值,这个用户在这次会话过程中不会再读到比这个值更旧的值
    • 例如 HTTP 访问中的 Session
  • 最终一致性

    • 要求一旦更新成功,各个副本上的数据最终将达到完全一致的状态,但达到完全一致状态所需要的时间不能保障
  • 弱一致性

    • 一旦某个更新成功,用户无法在一个确定时间内读到这次更新的值,且即使在某个副本上读到了新的值,也不能保证在其他副本上可以读到新的值
    • 例如浏览器的缓存
    • 副本有可能达到一致

2.3 衡量分布式系统的指标

性能

  • 系统的吞吐能力,指系统在某一时间可以处理的数据总量,通常可以用系统每秒处理的总的数据量来衡量
  • 系统的响应延迟,指系统完成某一功能需要使用的时间
  • 系统的并发能力,指系统可以同时完成某一功能的能力,通常也用 QPS (query per second) 来衡量

可用性

指系统在面对各种异常时可以正确提供服务的能力

系统的可用性可以用系统停服务的时间与正常服务的时间的比例来衡量,也可以用某功能的失败次数与成功次数的比例来衡量

可扩展性

指分布式系统通过扩展集群机器规模提高系统性能(吞吐、延迟、并发)、存储容量、计算能力的特性

一致性

分布式系统为了提高可用性,总是不可避免的使用副本的机制,从而引发副本一致性的问题。根据具体的业务需求的不同,分布式系统总是提供某种一致性模型,并基于此模型提供具体的服务

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
药品管理系统是指利用计算机技术和信息管理技术,对医院、药店、卫生局等单位的药品进行全面管理的一种系统。药品管理系统的主要目的是规范和管理药品的采购、配送、库存、销售等各个环节,确保药品的安全有效,提高药品管理的效率和质量。 当前,我国医疗卫生体系正处于转型升级期,药品管理的重要性日益凸显。传统的药品管理方式过于依赖人工,存在着信息不对称、数据不准确、管理不规范等问题,严重影响了药品的安全性和有效性,甚至对人民群众的生命健康造成威胁。因此,建立一个科学合理的药品管理系统,对于推进我国医疗卫生事业的发展,保障人民群众的健康和生命安全具有重要的现实意义和历史意义。 药品管理系统主要包括以下几个方面的内容:药品信息管理、药品采购管理、药品配送管理、药品库存管理、药品销售管理等。药品信息管理是药品管理系统的基础,包括药品的名称、规格、生产厂家、批号、有效期、价格等信息。药品采购管理是指对药品的采购进行全面管理,确保药品的质量和价格的合理性。药品配送管理是指对药品的配送进行全面管理,确保药品的及时性和准确性。药品库存管理是指对药品库存进行全面管理,确保药品的安全性和有效性。药品销售管理是指对药品的销售进行全面管理,确保药品的合法性和准确性。 综上所述,药品管理系统是一项重要的信息化建设工作,对于提高药品管理的效率和质量,保障人民群众的健康和生命安全具有重要的现实意义和历史意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值