Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
chenshaowei committed Aug 25, 2021
1 parent 7401909 commit d8520ec
Show file tree
Hide file tree
Showing 66 changed files with 580 additions and 530 deletions.
2 changes: 1 addition & 1 deletion docs/zh_CN/Architecture development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
- **轻节点层** :包含微数据中心、IOT网关等,靠近边缘设备终端,提供轻量级的计算功能,具备数据缓存以及本地计算的能力,将各种边缘设备与区块链网络桥接起来,赋予边缘计算能力,提高数据的处理效率,降低整体响应延迟。
- **终端设备层** :包括感知器、通信模组、摄像头等各类IOT设备,负责数据采集与转发上链,解决数据真实性的“第一公里”问题。

读写分离(NVP)
非共识节点(NVP)
-----------------

在数据新基建的大潮流下,随着人民链、星火链网、BSN等国家级区块链平台的相继推出,未来区块链需要支撑的应用场景规模将会越来越大,这势必会带来性能与扩展性的矛盾。试想如果区块链网络中都为共识节点,一方面,网络复杂度的增加对网络连通性和稳定性提出了更高的要求,但在真实落地场景中,出于网络安全和建设成本的考虑理想化的网络环境往往很难实现;另一方面,共识节点的数量增加会导致共识效率的降低,从而拖慢系统的整体性能。针对这些问题,趣链区块链平台通过非共识节点NVP提供了一种新的解题思路。
Expand Down
46 changes: 23 additions & 23 deletions docs/zh_CN/Ecological components.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,29 @@ SDK作为与趣链区块链平台交互的工具,是上层应用和区块链

SDK整体架构主要分为基本架构和扩展工具两大部分。基本架构可以支持完备高效的主流程操作,包括账户证书管理、合约部署调用、区块交易查询、数据编解码以及安全网络通讯,来进行合约开发的一系列工作;工具支持是基于SDK基本架构构建的一个完备的系统生态,对证书、日志级别、网络协议进行灵活的配置,支持合约、查询、日志、异常管理等基本工具,为了方便用户区块链数据的查询和管理,SDK提供了数据归档、消息订阅以及外部数据源等扩展功能,总而言之,SDK可以满足用户对区块链操作的各种需求。

Hyperbench测试框架
Archive-Reader浏览器
----------------------

Hyperbench是趣链科技自主研发的通用的区块链性能测试框架,支持趣链区块链平台、Fabric等主流联盟链性能测试。用户可自定义测试场景针对配置好的区块链网络进行性能测试,获取一系列的测试结果并生成测试报告,主要分为交易发送、数据统计、资源监控、报告生成四大功能。
当数据完成归档后,此部分数据将无法在区块链上查阅,因此平台提供了Archive-Reader浏览器用于查阅归档数据。该浏览器无需与区块链部署在同一服务器上,用户可在独立的服务器上运行Archive-Reader浏览器,并导入相关归档数据即可开始查阅。同时,Archive-Reader浏览器支持包括数据索引功能在内的快速数据检索服务。由此,平台实现了归档数据持续可查、灵活查阅的高易用性。

消息订阅
---------

趣链区块链平台作为一个“共享状态”的区块链实现,其运转通过不断的状态变迁实现。每一次状态变迁,都会产生相应的一系列事件作为本次状态变迁的标志。

为了方便外部业务系统捕获、监听区块链的状态变化,我们提供了消息订阅功能,现已支持rabbit MQ和KafKa双模式。外部可以监听到的事件类型包括:

- **区块事件** :每产生新的区块都将主动向订阅者推送最新区块信息;
- **合约事件** :合约相关的事件触发(比如合约上账户余额变动)将会向订阅者推送消息;
- **交易事件** :写入区块的交易的交易体与交易回执都会主动推送给订阅者;
- **系统异常事件** :当平台有异常抛出或者系统状态改变的时候,便会向订阅者主动推送消息。

为保障消息推送内容及推送顺序的正确性,平台将在区块链达到共识稳定点前,将上一共识稳定点至今的待推送消息进行临时存储。当区块链达到共识稳定点后,将对待推送消息按区块顺序进行排序,并按顺序对外推送消息,保障了用户接收到的消息内容及顺序的正确性。

HyperBench测试框架
----------------------

HyperBench是趣链科技自主研发的通用的区块链性能测试框架,支持趣链区块链平台、Fabric等主流联盟链性能测试。用户可自定义测试场景针对配置好的区块链网络进行性能测试,获取一系列的测试结果并生成测试报告,主要分为交易发送、数据统计、资源监控、报告生成四大功能。

1.交易发送

Expand All @@ -34,26 +53,7 @@ Hyperbench是趣链科技自主研发的通用的区块链性能测试框架,

性能测试框架在按照设定的测试时长正常退出之后会自动生成一份测试报告。报告分成Overview和Details两个部分。Overview中会记录测试的总体数据,并且大致展示压测交易的执行情况。Details会展示一些本地的总体统计数据,系统根据调用的函数名进行聚合统计。

Archive-reader浏览器
----------------------

当数据完成归档后,此部分数据将无法在区块链上查阅,因此平台提供了Archive-reader浏览器用于查阅归档数据。该浏览器无需与区块链部署在同一服务器上,用户可在独立的服务器上运行Archive-reader浏览器,并导入相关归档数据即可开始查阅。同时,Archive-reader浏览器支持包括数据索引功能在内的快速数据检索服务。由此,平台实现了归档数据持续可查、灵活查阅的高易用性。

消息订阅
---------

趣链区块链平台作为一个“共享状态”的区块链实现,其运转通过不断的状态变迁实现。每一次状态变迁,都会产生相应的一系列事件作为本次状态变迁的标志。

为了方便外部业务系统捕获、监听区块链的状态变化,我们提供了消息订阅功能,现已支持rabbit MQ和KafKa双模式。外部可以监听到的事件类型包括:

- **区块事件** :每产生新的区块都将主动向订阅者推送最新区块信息;
- **合约事件** :合约相关的事件触发(比如合约上账户余额变动)将会向订阅者推送消息;
- **交易事件** :写入区块的交易的交易体与交易回执都会主动推送给订阅者;
- **系统异常事件** :当平台有异常抛出或者系统状态改变的时候,便会向订阅者主动推送消息。

为保障消息推送内容及推送顺序的正确性,平台将在区块链达到共识稳定点前,将上一共识稳定点至今的待推送消息进行临时存储。当区块链达到共识稳定点后,将对待推送消息按区块顺序进行排序,并按顺序对外推送消息,保障了用户接收到的消息内容及顺序的正确性。

|image1|
5.HyperBench 白皮书
https://upload.hyperchain.cn/HyperBench%E7%99%BD%E7%9A%AE%E4%B9%A6.pdf

.. |image0| image:: ../../images/ecological1.png
.. |image1| image:: ../../images/MQ1.png
15 changes: 6 additions & 9 deletions docs/zh_CN/Introduction.rst
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
平台介绍
========

1. 产品简介
产品简介
-----------
趣链区块链平台是趣链科技自主研发的企业级联盟区块链平台,是实现多方可信协作、价值互联互通的分布式商业基础设施。作为国内首个国产自主可控的联盟链,平台提供自适应共识算法、多语言智能合约引擎、全国密支持、多维隐私保护、软硬协同一体化等多项核心技术功能,可支撑十万级节点分层组网,上千共识节点组网,日均TB级数据上链,GB级图片、音频文件的存储,吞吐量可达5万TPS,支持数据索引、数据归档等数据管理功能,提供分区共识、TEE账本加密等安全隐私保护技术,是全球单链峰值速度最快、支持节点最多、存储容量最大的联盟链基础设施,满足企业级应用在高安全、高性能、可扩展、易运维、规范监管等方面的需求,是目前行业内落地应用最多、节点分布最广、承载业务规模最大的区块链平台。

趣链区块链平台是国内第一批通过工信部标准院与信通院区块链标准测试的区块链平台,在2019年中国信通院区块链测评中,获得功能测试和性能测试双项第一,并在2017-2020年的中国信通院可信区块链测评中连续荣获第一,符合中国人民银行《金融分布式账本技术安全规范》。

|image0|

2. 整体架构
整体架构
------------

平台具有万级TPS吞吐量和毫秒级系统延迟,支持交易级别的隐私数据保护、混合型数据存储、可信执行环境、联盟自治、预言机以及可视化运维等特性。其技术架构图如下:
Expand All @@ -21,7 +21,7 @@
- **扩展组件层** :构建于协议层之上,基于区块链网络为上层应用扩展提供安全、高效、友好、易用的功能特性,如支持大规模组网模型,数据隐私保护、成员自治管理、账本加密、可视化数据运维等,打造最佳应用体验;
- **接口管理层** :面向区块链用户,支持多种协议的 RPC/API 接口以及SDK软件开发工具,提供应用与区块链交互的桥梁。

3. 核心功能
核心功能
------------

1. 自适应共识算法
Expand Down Expand Up @@ -84,7 +84,7 @@
- **Hyperbench测试框架** :平台自研通用区块链测试框架Hyperbench,支持针对趣链区块链平台、Fabric等主流联盟链平台的性能测试。
- **消息订阅** :支持rabbit MQ和KafKa双模式,以便外部系统捕获、监听区块链平台的状态变化,实现链上链下的消息互通。

4. 国产自主可控
国产自主可控
----------------

信创产业,即信息技术应用创新产业,其包含了从IT底层的基础软硬件到上层的应用软件全产业链的安全、可控。为解决核心技术“卡脖子”、“受制于人”等问题,信息技术应用创新发展已是目前的一项国家战略,自主可控、国家创新体系建设、国产替代等已成为国家“关键词”,在地方政策层面,信创产业示范基地、信息技术创新平台、协同发展也是当今形势下经济发展的新动能。
Expand All @@ -99,7 +99,7 @@

|image4|

5. 节点类型
节点类型
------------

平台节点分为验证节点(VP,Validate Peer)、非验证节点(NVP,Non-Validate Peer)、热备节点(CVP,Candidate VP)三类:
Expand All @@ -109,7 +109,7 @@

|image2|

6. 交易流程
交易流程
------------

平台在进行数据操作时,通常以一笔交易的形式在区块链网络中进行流转,用户存储的数据和合约都存储在交易结构当中,其具体的运转流程如下图所示:
Expand All @@ -121,10 +121,7 @@
3. **交易执行** :交易执行会将交易体结构进行解析,解析的主要内容为交易的主体信息(交易体)以及交易中的合约信息(合约体),执行引擎会根据交易的内容和合约的业务逻辑进行相关业务操作。
4. **交易存储** :交易执行之后,会对交易信息(区块数据)和合约信息(状态数据)进行持久化操作,同步写入区块和账本,最终持久化到FileLog和LevelDB中,至此完成整个交易流程。

7. SDK使用说明
---------------

https://github.com/hyperchain/javasdk/blob/master/docs/hyperchain_litesdk_document.md

.. |image0| image:: ../../images/Introduction1.png
.. |image1| image:: ../../images/Introduction2.png
Expand Down
2 changes: 1 addition & 1 deletion docs/zh_CN/Operation manage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

为此,平台提供专门的灾备节点CVP,能在VP发生异常宕机时可快速升级为VP,参与共识,并提供和原VP同等的区块链服务。CVP对VP的备份包括两部分,一部分是账本数据,CVP同样具有数据恢复机制,当CVP断连恢复后,能快速同步数据,恢复到和VP相同的账本状态,确保任意时刻的数据安全;另一部分是配置文件,涉及到配置变更的操作,如创建NS、增删节点、开启权限等,会影响到CVP升级后是否能避免数据被越权访问,是否能保证系统的正常运行,故这类配置变更需要在CVP和VP间保持强一致,CVP拥有一套完善的一致性保证机制和操作指令恢复机制,帮助CVP升级后能准确复制VP的行为状态。

CVP的升级操作十分便捷,当维护人员作出确认升级判断后,只需通过一条IPC命令便可完成升级。原VP恢复后,可重新配置为现VP的CVP,最大限度利用节点资源,节约成本。目前,趣链区块链平台仅支持VP与CVP一对一连接,后续会支持一个VP连接多个CVP,实现两地三中心多地灾备方案
CVP的升级操作十分便捷,当维护人员作出确认升级判断后,只需通过一条运维命令便可完成升级。原VP恢复后,可重新配置为现VP的CVP,最大限度利用节点资源,节约成本。

CVP的优势在于由平台保证数据和配置的一致性,当故障或灾难发生时支持一键快速升级,即降低了运维门槛,也避免了人为操作失误带来的额外损失,极大缩短了RTO时间(Recovery Time Objective,系统宕机导致业务停顿到恢复正常运行间的时间),在金融、国网等对系统高用性及容灾能力有硬性要求的场景中具有很大的应用潜力。

Expand Down
12 changes: 0 additions & 12 deletions docs/zh_CN/Storage model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,6 @@

3. 区块的交易列表中存储了被收录的交易数据,每条交易包含以下字段:

- 版本信息:区块结构定义版本信息
- 父区块哈希:父区块哈希值
- 区块哈希:区块内容的哈希标识
- 区块号:区块高度
- 区块时间戳:主节点构造区块的近似时间
- 合约状态哈希:所有合约账户状态的哈希标识
- 交易集哈希:区块中收录的交易列表哈希标识
- 回执集哈希:执行交易产生的回执列表哈希标识
- 其他:区块执行时间戳,区块入链时间戳等

4. 区块的交易列表中存储了被收录的交易数据,每条交易包含以下字段:

- 版本信息:交易结构定义版本信息
- 交易哈希值:根据交易内容生产的哈希标识
- 交易发起者地址:用于标识发起者
Expand Down
Binary file modified docs/zh_CN/_build/doctrees/Architecture development.doctree
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/Ecological components.doctree
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/Introduction.doctree
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/Operation manage.doctree
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/Storage model.doctree
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/consensus mechanism.doctree
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/execution engine.doctree
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/hyperchain_samples.doctree
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/quickstart.doctree
Binary file not shown.
Binary file modified docs/zh_CN/_build/doctrees/security mechanism.doctree
Binary file not shown.
6 changes: 3 additions & 3 deletions docs/zh_CN/_build/html/Architecture development.html
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="prerequisites.html">准备工作</a></li>
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">快速入门</a></li>
<li class="toctree-l1"><a class="reference internal" href="hyperchain_samples.html">趣链区块链平台 使用示例</a></li>
<li class="toctree-l1"><a class="reference internal" href="hyperchain_samples.html">使用示例</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">基础协议:</span></p>
<ul>
Expand All @@ -108,7 +108,7 @@
<p class="caption" role="heading"><span class="caption-text">扩展协议:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">大规模组网</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#nvp">读写分离(NVP)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#nvp">非共识节点(NVP)</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Safe%20Privacy.html">安全隐私</a></li>
Expand Down Expand Up @@ -195,7 +195,7 @@ <h1>大规模组网<a class="headerlink" href="#id1" title="Permalink to this he
<li><p><strong>终端设备层</strong> :包括感知器、通信模组、摄像头等各类IOT设备,负责数据采集与转发上链,解决数据真实性的“第一公里”问题。</p></li>
</ul>
<div class="section" id="nvp">
<h2>读写分离(NVP)<a class="headerlink" href="#nvp" title="Permalink to this headline"></a></h2>
<h2>非共识节点(NVP)<a class="headerlink" href="#nvp" title="Permalink to this headline"></a></h2>
<p>在数据新基建的大潮流下,随着人民链、星火链网、BSN等国家级区块链平台的相继推出,未来区块链需要支撑的应用场景规模将会越来越大,这势必会带来性能与扩展性的矛盾。试想如果区块链网络中都为共识节点,一方面,网络复杂度的增加对网络连通性和稳定性提出了更高的要求,但在真实落地场景中,出于网络安全和建设成本的考虑理想化的网络环境往往很难实现;另一方面,共识节点的数量增加会导致共识效率的降低,从而拖慢系统的整体性能。针对这些问题,趣链区块链平台通过非共识节点NVP提供了一种新的解题思路。</p>
<p>NVP定位于轻量级服务节点,不参与共识,仅通过信任的VP来同步账本数据,并对外提供交易转发、查询等服务。NVP拥有完善的数据恢复机制,当由于网络异常等原因导致节点落后时,能及时同步数据,恢复到最新的账本状态,提高了节点的可用性。此外,NVP提供的区块链服务是独立于VP的,除了交易上链、查询、验证等基础功能外,还支持数据索引、数据归档、可信文件存储、接口权限管理等功能,适应更加多样化的应用场景。趣链区块链平台支持一个VP连接多个NVP,用户可选择同步VP的全量账本数据或某个NS的账本数据,同步范围灵活可配。</p>
<p>NVP适用于多种应用场景:</p>
Expand Down

0 comments on commit d8520ec

Please sign in to comment.