LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 将同步时间缩减至七分之一以上的「同步机制」是什么样的?

将同步时间缩减至七分之一以上的「同步机制」是什么样的?

2020-06-19 Neo智能经济 来源:火星财经

作为「索引同步」系列的最后一篇文章,本篇「三分钟入门Neo3」将介绍新索引同步机制的实施逻辑,以及测试的初步结果。


该提议最先由COZ开发者Ixje提出并获得社区认可。随后,核心开发者对于该新同步机制的实施进行了深入的探讨。目前的初步实施方案会基于待定节点的运行状况和安全性机制,将新的同步过程将合并到Neo3代码库中。

同步管理器

同步管理器的创建促进了新的同步逻辑,负责管理与区块同步有关的任务,例如监测其他节点的区块高度变化。如果观察到区块高度不同,将分配同步任务开启同步过程。

每个任务最多可以处理50个区块,包括一个特定的区块索引标记开始与结束。这些索引将明确那些需请求其他节点的区块数据。接收到新的区块数据后,节点会验证并保留它,并将更改部分告知同步管理器,完成当前的同步任务。


索引同步流程图 (来自于 Neo GitHub)

在实施过程中,若监测到无效区块,区块索引将通知同步管理器,它可用于确定已发送无效区块的节点。此时,同步管理器将创建一个新任务来请求新的区块数据,故障节点将被替换。

该机制确保了节点不会保留无效区块,并在网络运行过程中有效地监测了节点的运行状况。

neo-python维护者Ixje提供了这些属性的示例,包括根据有效负载大小,计算节点传送数据所需的时间;协助负载平衡、节点的平均请求时间;以及超时计数器、监测太久无响应的失联节点。

测试结果

实施新的同步机制后,相比Neo2采用的区块头连接方法,NGD上海 高级工程师 杨潇云分享了新同步机制的测试结果。

在具有21,000以上个区块的单个共识节点网络中,未安装StatesDumper插件的Neo2节点大约花费了23毫秒来同步每个区块。启用该插件后,该插件会转储状态数据(例如存储修改)进行调试,增加到每个区块约花费36毫秒。

实施了新索引同步的Neo3节点,同步时间明显减少了。没有使用StatesDumper插件的Neo3节点,每个区块块同步大约花费4.2毫秒,完成同步的时间不到五分之一。启用该插件后,每个区块大约花费4.7毫秒,与Neo2相比,同步时间减少了7倍以上。

测试结果表明,这些变动可以显著提升网络效率。通过改进节点运行状况等指标,有望大大提高Neo3上区块同步的速度和用户体验。

「索引同步」系列正式完结,敬请期待「三分钟入门Neo3」的下一个新系列。

本文来源:Neo智能经济
原文标题:将同步时间缩减至七分之一以上的「同步机制」是什么样的?

—-

编译者/作者:Neo智能经济

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...

相关阅读:

    暂无相关文章
LOADING...