我的前面一篇文章讲到如何做去中化存储,文其中提到了QoS (Quality of Service),那么QoS是什么?为什么QoS那么重要?下面将详细描述。
什么是QoS?
提到QoS,就要先了解QoE
QoE是应用程序或服务的用户的喜悦程度或烦恼程度。 它是用户体验的期望或享受期望,根据用户的个性和当前状态而不同。简单来说,就是QoE=用户感觉到的“质量”或“性能”或“舒适度”)
QoS
  1. QoS是关于将底层网络服务提供给应用层服务的保证。
  2. QoS机制提供了用于确保应用程序在交付时所需的网络资源以实现用户QoE(体验质量)的预期水平的手段。
去中心化存储作为一个未来基本底层应用网络平台之一,必须能够提供优质的QoS。开发者才能基于可靠的去中心化存储平台,提供出优质的QoE。
基本的存储平台,应该有哪些关键QoS
去中心化存储平台也是存储平台,如果想要做到能够商用,首先就要达做到基本的存储平台所具有的QoS。那么基础的存储平台,应该有哪些QoS呢?
1.高可用
高可用性是系统的一个特征,目的在确保达到一致的运营绩效水平,通常是正常运行时间,高于正常水平。
衡量高可用最重要的就是SLA,也就是 Service-Level Agreement,一般用9的个数来表述,99.9%就是3个9,99.99%就是4个9。这个一般是指对于每一个存储的内容而言,有百分之多少的时间是可以正常工作提供服务的,下面这个表可以直观感受一下SLA。
在去中化存储中,SLA里的Downtime计算指用户的请求服务在指定的时间内没有得到回复。
2.高可靠
高可靠性是指向发送方向预期接收方提供数据传输正确的保证,这与不可靠的协议相反,不可靠协议是指不提供向预期接收方传递数据的保证。
在去中心化存储中,高可靠性是指用户能够100%的获得存储的数据,也即至少有一个副本不能够丢失,指定的副本数应该处于平衡状态。
3.高性能
性能是指,其他相关的指标,包括
1)传输速度
2)请求响应时间
等。
这些数据非常关键,而且需要分地域分时段统计,因为不同地域和不同时段这些数据可能很不一样。
去中心化存储的关键Qos
除了基本存储平台的关键QoS,去中心化存储还有一些额外关键的QoS。下面分两部分介绍,一部分是P2P系统的QoS,一部分是硬盘矿机的QoS,去中心化存储除了用户和矿工外,一定还需要其他节点(如FileCoin的检索矿工,就算是其他节点,提供数据检索服务),这个节点也有QoS。
1. P2P系统的QoS
去中心化存储平台,其传输方式采用数据类Peer to peer的传输方式(类似于 BitTorrent, PPLive, EDonkey)就会具有P2P传输系统的QoS。
P2P传输系统的关键QoS:
1)发现拥有相同资源节点的速率。
2)快速区分高速节点和非高速节点的时间。
3)无用协议率。在P2P传输系统中,只要不是实际传输文件内容的协议消耗,就是无用协议。无用协议率就是指无用协议的大小占所有协议大小的比。
4)数据传输冗余率。在P2P传输系统中,有时候会出现向PeerA请求数据,但是PeerA因为传输很慢,在一定情况下就会向PeerB请求数据,PeerA和PeerB都传输了相同的部分数据,这个就是数据传输冗余。数据传输冗余率就是而冗余的传输占正常传输的比重。
5)数据请求拒绝率。有又时候请求数据时,存储矿工因为找不到数据而无法返回。可能硬盘坏了,可能逻辑错误,也不排除存储矿工故意作恶的情况,有数据但不给的情况。不论怎样,数据请求算是拒绝了。那么,数据请求拒绝率就是被拒绝的请求和正常返回正确数据的请求数量之比。
6)错误协议数据占比。由于P2P传输系统并不是那么干净,可能版本不一致产生协议误差,也可能存在黑客恶意攻击,伪造协议报文,从而产生错误的协议。错误协议数据占比就是衡量P2P有百分之多少是错误的协议。
7)NAT穿越相关指标。和NAT穿越还有不少指标,如穿透时间,穿透率等。
2. 存储矿机的QoS
存储矿机的健康情况,也关系到整个网络的健康,我认为去中心化存储要做好,需要把基于ARM的低性能低功耗的计算机利用起来提供存储,因为这样的机器成本低,对存储矿工而言,相对的收益就会更多。所以,提炼出存储矿机的Qos,就非常重要。
1)响应速度。这是收到请求后,平均多少时间给出相应。
2)内存缓存命中率。作为存储服务而言,不能所有的数据都从硬盘上读取,对于经常访问的内容,会在内存中做缓存,而内容缓存命中率就是衡量内容缓存有效性和带宽利用有效性的重要指标。
3)安全消耗,也就是加密和解密产生的性能占比。出于作为安全考虑,会有大量的加密和解密工作,那么这些工作占用了多少CPU性能和内存资源是能够量化的。
4)请求错误率。有多少请求不能正确的返回数据。 5)不正常空间使用占比。硬盘换坏的部分是不能正常服务,这就是不正常空间,而硬盘上往往坏了一点,就会影响整个区域(PPIO中是一个Plot)不能正常提供服务。整个硬盘上所有不正常空间大小和整个空间大小占比,就是这个指标。
3. 其他节点的QoS
1)响应速度。这是收到请求后,平均多少时间给出响应。
2)安全消耗。也就是加密和解密产生的性能占比,类似存储矿工的QoS。
不同角色的节点还有着各自特色的QoS。
关于PPIO的QoS
目前,从其他存储类区块链项目的白皮书,学术论文或者博客文章来看,基本上所有的项目都没有提到过QoS,我认为如果不重视QoS, 很难做出可以商用的去中心化存储系统,不能商用也就谈不到区块链项目落地了。基于这一点,我发起了的PPIO去中心化存储公链项目,我们将高QoS、商用落地作为我们最重要的目标。
 

如果有关于区块链学习的交流,可以通过下面的方式联系我:
扫二维码加我微信,注意备注: 区块链学习

wechat:omnigeeker

telegram: @omnigeeker

twitter: @omnigeeker

medium: https://medium.com/@omnigeeker

steemit: https://steemit.com/@elninowang

zhihu:https://www.jianshu.com/u/103321b574ba

jianshu:omnigeeker

去中心化存储的QoS是什么?的更多相关文章

  1. 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目技术对比(下)

    在上篇文章中,我们主要从价值定位.技术层次架构.服务质量.去中心化程度,和经济激励机制五个方面分析了三个项目的不同.在这一篇文章中,我们将着重从区块链的架构设计.数据传输技术设计和数据存储技术设计三方 ...

  2. 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目异同

    Filecoin,Storj 以及 PPIO 这三个存储公链的设计思路是不一样的,没有优劣之分,写这篇文章也并不是为了争论各项目的好坏对错.去中心化存储是一个长期商业赛道,不同团队在同一个赛道上往不同 ...

  3. PPIO去中心化存储的了解和记录

    目录 介绍 FileCoin P2P技术给去中心化云存储的好处 剩余资源的再次使用 市场竞争会激发民间的智慧 PPIO的2种冗余模式 全副本模式 纠删副本模式 为什么PPIO要设计支付代理节点? 一些 ...

  4. 人物传记STEPHEN LITAN:去中心化存储是Web3.0生态重要组成

    近期,NGK.IO的开发团队首席技术官STEPHEN LITAN分享了自己对去中心化储存的观点,以下为分享内容. 目前的存储方式主要是集中式存储,随着数据规模和复杂度的迅速增加,集中存储的数据对于系统 ...

  5. Filecoin:一种去中心化的存储网络(一)

    开始初步了解学习Filecoin,如下是看白皮书的内容整理. 参考: 白皮书中文版 http://chainx.org/paper/index/index/id/13.html 白皮书英文版 http ...

  6. 为什么比特币和以太坊未必真得比EOS更去中心化?

    在区块链行业里,有两派人一直在争论:一个是以比特币和以太坊为首的社群,另一个是以EOS为首的社群.这两群人一直在争论谁才是真正的未来,双方都认为自己这边更有未来.其中EOS抗争的重点就是100万TPS ...

  7. Filecoin:一种去中心化的存储网络(二)

    开始初步了解学习Filecoin,如下是看白皮书的内容整理. 参考: 白皮书中文版 http://chainx.org/paper/index/index/id/13.html 白皮书英文版 http ...

  8. IM 去中心化概念模型与架构设计

    今天打算写写关于 IM 去中心化涉及的架构模型变化和设计思路,去中心化的概念就是说用户的访问不是集中在一个数据中心,这里的去中心是针对数据中心而言的. 站在这个角度而言,实际上并非所有的业务都能做去中 ...

  9. 小众Tox——大众的“去中心化”聊天软件

    ★Tox是什么 一个反窥探的开源项目:一种基于DHT(BitTorrent)技术的即时通讯协议:一个为安全而生的加密通讯系统 .美国棱镜计划曝光后,一个名为 irungentoo 的牛人于17天后的2 ...

随机推荐

  1. SimpleDateFormat未抛出ParseException

    关于SimpleDateFormat的不严格性[技术探讨]今天一组员写了几段Java代码,发现如下问题:        SimpleDateFormat sdf = new SimpleDateFor ...

  2. sourcetree删除github远程仓库文件

    sourcetree删除远程仓库的master分支文件步骤 第一步:删除本地远程仓库分支的所需要文件或者文件夹(本地和远程仓库同步) 第二步:回到sourcetree提交,推送 第三步:刷新远程仓库

  3. Eclipse和Intel idea的常用技巧

    使用Eclipse的几个必须掌握的快捷方式   “工若善其事,必先利其器”,感谢Eclipse,她 使我们阅读一个大工程的代码更加容易,在阅读的过程中,我发现掌握几个Eclipse的快捷键会使阅读体验 ...

  4. Connect模块解析 转载

    来自对<了不起的Node.js>一书的学习ConnectNode.js为常规的网络应用提供了基本的API.然而,实际情况下,绝大部分网络应用都需要完成一系列类似的操作,这些类似的操作你一定 ...

  5. centos7 用yum安装java8

    1.查看yum源中是否有相关套件yum -y list java* 2.上图中可以看到有两个自己想用的套件,经过试验发现用yum install java-1.8.0-openjdk 时最后 /usr ...

  6. System.Collections 学习

    public interface IEnumerator { object Current { get; } bool MoveNext(); void Reset(); } public inter ...

  7. IBM websphere MQ使用说明

    百度文库: IBM websphere MQ使用说明 IBM MQ安装和配置

  8. 漫谈 C++ 虚函数 的 实现原理

    文中讲述的原理是推理和探讨 , 和现实中的实现不一定完全相同 . C++ 的 虚函数 , 编译器 会 生成一个 虚函数表 . 虚函数表, 实际上是 编译器 在 内存 中 划定 的 一块 区域, 用于存 ...

  9. Python3:sorted()函数及列表中的sort()函数

    一.sort,sorted函数介绍:   Sort函数是list列表中的函数,而sorted可以对list或者iterator进行排序.   下面我们使用help来查看他们的用法及功能: sort: ...

  10. Executor与ExecutorService

    ExecutorService 接口继承了 Executor 接口,是 Executor 的子接口. Executor 接口定义了 execute()方法用来接收一个Runnable接口的对象,而 E ...