CN111092925B - 一种区块链扩容处理方法、装置及设备 - Google Patents
一种区块链扩容处理方法、装置及设备 Download PDFInfo
- Publication number
- CN111092925B CN111092925B CN201811281730.8A CN201811281730A CN111092925B CN 111092925 B CN111092925 B CN 111092925B CN 201811281730 A CN201811281730 A CN 201811281730A CN 111092925 B CN111092925 B CN 111092925B
- Authority
- CN
- China
- Prior art keywords
- equipment
- block
- level
- stage
- capacity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Abstract
本发明提供一种区块链扩容处理方法、装置及设备,涉及通信技术领域。该方法包括:获取自身和相邻设备的网络带宽;根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;基于自身和接收设备的设备等级,进行区块的生成。本发明的方案,解决了现有的区块链无法满足使用需求的问题。
Description
技术领域
本发明涉及通信技术领域,特别是指一种区块链扩容处理方法、装置及设备。
背景技术
随着比特币的流行和成熟,作为底层的区块链技术引发了广泛关注。由于其具有分布式无中心、数据不可篡改、可追溯等特性,各行业开始引入区块链技术解决以前面临的业务难题。从技术上看,区块链是一种分布式的数据库系统,具体包括密码学、对等P2P网络等核心技术。从链的形态上看,区块链包括公有链、私有链和联盟链等应用形态。
其中公有链具备以下技术特征:1、基于P2P网络组织节点;2、区块的链式存储;3、采用某种共识机制用于节点间一致性的达成;4、采用某种激励机制鼓励更多节点加入系统。以公有链的典型代表比特币为例,随着全球节点不断增多,全网算力不断增强,比特币区块链面临扩容的严峻问题。首先,每一笔交易都被记录在一个区块上,而且区块连接成链式结构决定了系统本质上是一个线性顺序关系。其次,区块大小和区块间的时间间隔硬性决定了系统在单位时间段内容纳的交易数量。
然而,比特币一个区块大小为1MB,平均10分钟产生一个区块,假设一个交易大小为256字节,整个比特币系统每10分钟只能处理4K笔交易。这个系统容量大大限制了诸如比特币这样的公有链在高并发高吞吐环境下的应用。因此,现有的区块链无法满足日益增长的使用需求。
发明内容
本发明的目的是提供一种区块链扩容处理方法、装置及设备,以解决现有的区块链无法满足使用需求的问题。
为达到上述目的,本发明的实施例提供一种区块链扩容处理方法,包括:
获取自身和相邻设备的网络带宽;
根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;
将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;
基于自身和接收设备的设备等级,进行区块的生成。
其中,所述基于自身和接收设备的设备等级,进行区块的生成,包括:
在自身为第一级设备、接收设备为第一级设备的情况下,按照预设速度生成第一容量的区块;
在自身为第二级设备、接收设备为第一级设备的情况下,根据所述第一级设备的相邻设备数量确定目标速度,按照所述目标速度生成第二容量的区块;
在自身为第一级设备、接收设备为第二级设备,或者自身为第二级设备、接收设备为第二级设备的情况下,按照预设速度生成第二容量的区块;其中,
所述第一容量大于所述第二容量。
其中,所述根据所述第一级设备的相邻设备数量确定目标速度,包括:
根据公式V=(K*m)*T/M,得到目标速度V;其中,K为所述第一级设备的相邻设备中第二级设备的数量,m为第二容量,T为预设速度,M为第一容量。
其中,所述第一容量的区块封装了多个第二容量的区块,且所述第一容量的区块包括大区块标识。
其中,所述第二容量的区块包括区块封装标识,所述区块封装标识用于表示所述区块的来源。
其中,所述方法包括:
若自身为第一级设备,且接收到来自第一级设备的区块,则直接转发接收到的区块至接收设备中的第一级设备,并在对接收到区块解封装后,转发至接收设备中的第二级设备;
若自身为第一级设备,且接收到来自第二级设备的区块,则直接转发接收到的区块至接收设备中的第二级设备,并在对接收到区块封装得到第一容量的区块后,转发至接收设备中的第一级设备;
若自身为第二级设备,则将接收到的区块转发至接收设备。
其中,所述方法还包括:
根据自身和相邻设备的设备等级,确定对应的转发激励。
其中,所述根据自身和相邻设备的设备等级,确定对应的激励,包括:
若自身为第一级设备,则根据公式Q1=(S-s)*T/S,得到激励Q1;
若自身为第二级设备,则根据公式Q2=s*T/S,得到激励Q2;其中,
S为所述第一级设备的出块速度;s为所述第二级设备的出块速度;T为预设基础激励。
为达到上述目的,本发明的实施例提供一种终端设备,包括处理器和收发器,其中,
所述处理器用于获取自身和相邻设备的网络带宽;根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;
所述收发器用于将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;
所述处理器还用于基于自身和接收设备的设备等级,进行区块的生成。
其中,所述处理器还用于在自身为第一级设备、接收设备为第一级设备的情况下,按照预设速度生成第一容量的区块;在自身为第二级设备、接收设备为第一级设备的情况下,根据所述第一级设备的相邻设备数量确定目标速度,按照所述目标速度生成第二容量的区块;在自身为第一级设备、接收设备为第二级设备,或者自身为第二级设备、接收设备为第二级设备的情况下,按照预设速度生成第二容量的区块;其中,
所述第一容量大于所述第二容量。
其中,所述处理器还用于根据公式V=(K*m)*T/M,得到目标速度V;其中,K为所述第一级设备的相邻设备中第二级设备的数量,m为第二容量,T为预设速度,M为第一容量。
其中,所述第一容量的区块封装了多个第二容量的区块,且所述第一容量的区块包括大区块标识。
其中,所述第二容量的区块包括区块封装标识,所述区块封装标识用于表示所述区块的来源。
其中,所述处理器还用于若自身为第一级设备,且接收到来自第一级设备的区块,则直接转发接收到的区块至接收设备中的第一级设备,并在对接收到区块解封装后,转发至接收设备中的第二级设备;若自身为第一级设备,且接收到来自第二级设备的区块,则直接转发接收到的区块至接收设备中的第二级设备,并在对接收到区块封装得到第一容量的区块后,转发至接收设备中的第一级设备;若自身为第二级设备,则将接收到的区块转发至接收设备。
其中,所述处理器还用于根据自身和相邻设备的设备等级,确定对应的转发激励。
其中,所述处理器还用于若自身为第一级设备,则根据公式Q1=(S-s)*T/S,得到激励Q1;若自身为第二级设备,则根据公式Q2=s*T/S,得到激励Q2;其中,
S为所述第一级设备的出块速度;s为所述第二级设备的出块速度;T为预设基础激励。
为达到上述目的,本发明的实施例提供一种区块链扩容处理装置,包括:
获取模块,用于获取自身和相邻设备的网络带宽;
确定模块,用于根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;
收发模块,用于将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;
生成模块,用于基于自身和接收设备的设备等级,进行区块的生成。
为达到上述目的,本发明的实施例提供一种终端设备,包括收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述计算机程序时实现如上所述的区块链扩容处理方法。
为达到上述目的,本发明的实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的区块链扩容处理方法中的步骤。
本发明的上述技术方案的有益效果如下:
本发明实施例的方法,在获取自身及相邻设备的网络带宽后,进一步由所获取的网络带宽确定出自身的设备等级,然后将设备等级告知于相邻设备,并接收相邻设备发送的设备等级,最终基于自身和接收设备的设备等级进行区块的生成。这样,考虑到了网络带宽的情况,提升系统容量的同时也保障了区块的安全性,实现效果更佳。
附图说明
图1为本发明实施例的区块链扩容处理方法的流程图之一;
图2a-2e为网络的节点示意图;
图3为网络中设备等级分布示意图;
图4为第一容量的区块结构示意图;
图5为第二容量的区块结构示意图;
图6为本发明实施例的终端设备的结构图;
图7为本发明另一实施例的终端设备的结构图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的区块链无法满足日益增长的使用需求的问题,提供了一种区块链扩容处理方法,能够依据网络带宽优化区块链组网结构,提升系统容量。
如图1所示,本发明实施例的一种区块链扩容处理方法,包括:
步骤101,获取自身和相邻设备的网络带宽;
步骤102,根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;
步骤103,将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;
步骤104,基于自身和接收设备的设备等级,进行区块的生成。
本发明实施例的区块链扩容处理方法应用于终端设备,而相邻设备则是基于网络结构,与该终端设备能够进行通信的其它终端设备。按照上述步骤,该终端设备在获取自身及相邻设备的网络带宽后,进一步由所获取的网络带宽确定出自身的设备等级,然后将设备等级告知于相邻设备,并接收相邻设备发送的设备等级,最终基于自身和接收设备的设备等级进行区块的生成。这样,考虑到了网络带宽的情况,提升系统容量的同时也保障了区块的安全性,实现效果更佳。
应该知道的是,在该实施例中,终端设备与其相邻设备作为公有链上的节点都接入一个P2P网络中,所有节点都可以测试节点所在的网络的网络带宽。例如,目前最常用的两种网络带宽100Mbps和1000Mbps,节点A以100Mbps带宽接入网络,节点B以1000Mbps带宽接入网络,节点将网络测量结果暂存在节点本地,在需要的情况下,将自身的网络测量结果在其相邻节点间广播。
例如,对于上述的两种网络带宽,终端设备分别称为100M节点和1000M节点,在接收到相邻节点的网络带宽后,有5种可能的情况:
(1)如图2a所示,自身为100M节点,相邻节点中有一个1000M节点:将自己标记成第二级设备;
(2)如图2b所示,自身为100M节点,相邻节点中有多个1000M节点:将自己标记为第二级设备;
(3)如图2c所示,自身为100M节点,相邻节点中没有1000M节点:将自己标记为第二级设备;
(4)如图2d所示,自身为1000M节点,相邻节点都是100M节点:将自己标记为第二级设备;
(5)如图2e所示,自身为1000M节点,相邻节点存在1000M节点:将自己标记为第一级设备。
之后,节点可将自己的设备等级广播给相邻节点,当然也可由相邻节点的广播信息获得相邻节点的设备等级。最终,部分1000M节点成为第一级设备,100M节点和部分1000M节点成为第二级设备。第二级设备可能没有与其相邻的第一级设备或者有唯一的第一级设备。第一级设备同时也知道与其相邻的第二级设备。一个网络的设备等级示意图如图3所示,包括5个第一级设备(斜杠填充)和7个第二级设备。
当然,考虑到网络(如P2P网络)中,往往会不断有新的节点加入或退出,因此,在该实施例中,会检测链路连通,当检测到与相邻节点的连接关系发生变化时,会重新进行设备等级的判断。
在该实施例中,可选地,步骤1023包括:
在自身为第一级设备、接收设备为第一级设备的情况下,按照预设速度生成第一容量的区块;
在自身为第二级设备、接收设备为第一级设备的情况下,根据所述第一级设备的相邻设备数量确定目标速度,按照所述目标速度生成第二容量的区块;
在自身为第一级设备、接收设备为第二级设备,或者自身为第二级设备、接收设备为第二级设备的情况下,按照预设速度生成第二容量的区块;其中,
所述第一容量大于所述第二容量。
这样,将能够针对终端设备自身以及接收设备的设备等级,采用更合理的方式生成区块。对于自身为第一级设备、接收设备为第一级设备的情况,由于网络状态较好,较大的数据区块会更好的提高效率,改善系统容量,因此,会按照预设速度生成第一容量的区块;对于自身为第一级设备、接收设备为第二级设备,或者自身为第二级设备、接收设备为第二级设备的情况,由于网络的限制,则会按照预设速度生成第二容量的区块;对于自身为第二级设备、接收设备为第一级设备的情况,则可以提高出块速度,来达到改善系统容量的目的,具体的,根据第一级设备的相邻设备数量确定目标速度,按照该目标速度生成第二容量的区块。
其中,优选地,所述根据所述第一级设备的相邻设备数量确定目标速度,包括:
根据公式V=(K*m)*T/M,得到目标速度V;其中,K为所述第一级设备的相邻设备中第二级设备的数量,m为第二容量,T为预设速度,M为第一容量。
这样,作为当前第二级设备的接收设备的第一级设备,就能够进一步在在负载可控的情况下较高效率的产生大区块,充分利用第一级设备提升系统效率。
假设,预设速度为10分钟/块,第一容量的区块为10M区块,第二容量的区块为1M区块,具体地:
两个第一级设备之间,由于网络状态较好,可以使用10M区块作为最大区块,采用10分钟/块生成区块;
第一级设备与接收设备为第二级设备之间,由于网络的限制,使用1M区块作为最大区块,采用10分钟/块生成区块;
两个第二级设备之间,使用1M区块作为最大区块,采用10分钟/块生成区块;
第二级设备与接收设备为第一级设备之间,由于在网络中有4个设备连接到该第一级设备,通过公式V=(K*m)*T/M,可得到目标速度=(4*1)*10/10,也即4分钟/块,使用1M区块作为最大区块。
需要知道的是,在该实施例中,预设速度多为固定值,可不降低将全网作为一个整体的出块速度,使得数据的安全性和改造前基本维持一致。当然,在网络情况允许的情况下,也可以针对网络进行预设速度调整。
还应该知道的是,该实施例中,所述第一容量的区块封装了多个第二容量的区块,且所述第一容量的区块包括大区块标识。
这样,如图4所示,第一容量的区块中封装了多个第二容量的区块,第二容量的区块可以链表形式存储。而由于第一容量的区块包括了大区块标识(可添加在区块头部),便于识别出第一容量的区块,当需要将大区块拆成第二容量的区块时,依次取出封装的第二容量的区块即可。
可选地,所述第二容量的区块包括区块封装标识,所述区块封装标识用于表示所述区块的来源。
如图5所示,第二容量的区块添加了用于表示区块自身的来源的区块封装标识(可添加在区块头部),如此,通过该区块封装标识即可了解到该区块是第二级设备产生的,还是从第一容量的区块中解封装出来的。因为二者难度不同。
另外,在该实施例中,对于已生成区块的收发,所述方法包括:
若自身为第一级设备,且接收到来自第一级设备的区块,则直接转发接收到的区块至接收设备中的第一级设备,并在对接收到区块解封装后,转发至接收设备中的第二级设备;
若自身为第一级设备,且接收到来自第二级设备的区块,则直接转发接收到的区块至接收设备中的第二级设备,并在对接收到区块封装得到第一容量的区块后,转发至接收设备中的第一级设备;
若自身为第二级设备,则将接收到的区块转发至接收设备。
这里,对于第一级设备的收发规则,对接收到来自第一级设备的区块,是直接转发接收到的区块至接收设备中的第一级设备,同时,在对接收到区块解封装后,转发至接收设备中的第二级设备;对于接收到来自第二级设备的区块,是直接转发接收到的区块至接收设备中的第二级设备,同时,在对接收到区块封装得到第一容量的区块后,转发至接收设备中的第一级设备。对于第二级设备的收发规则,是将接收到的区块转发至接收设备。
一般而言,在公有区块链中,存在激励机制,以鼓励更多的节点参与系统,为系统服务的同时获得回报。因此,在该实施例中,所述方法还包括:
根据自身和相邻设备的设备等级,确定对应的转发激励。
可选地,所述根据自身和相邻设备的设备等级,确定对应的激励,包括:
若自身为第一级设备,则根据公式Q1=(S-s)*T/S,得到激励Q1;
若自身为第二级设备,则根据公式Q2=s*T/S,得到激励Q2;其中,
S为所述第一级设备的出块速度;s为所述第二级设备的出块速度;T为预设基础激励。
如此,通过上述公式,就能够针对不同等级设备给予其适当的激励,当然,具体的激励方式不限于上述内容,在此不再一一列举。
综上所述,本发明实施例的区块链扩容处理方法,在获取自身及相邻设备的网络带宽后,进一步由所获取的网络带宽进行区块的生成,能够依据网络带宽状况,优化区块链组网结构,提升系统容量;允许区块链上区块大小不同,由终端设备依据网络情况决策;高带宽节点转发大区块时可获得额外激励,维持系统整体公平性。
如图6所示,本发明实施例的一种终端设备600,包括处理器610和收发器620,其中,
所述处理器610用于获取自身和相邻设备的网络带宽;根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;
所述收发器620用于将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;
所述处理器610还用于基于自身和接收设备的设备等级,进行区块的生成。
可选地,所述处理器610还用于在自身为第一级设备、接收设备为第一级设备的情况下,按照预设速度生成第一容量的区块;在自身为第二级设备、接收设备为第一级设备的情况下,根据所述第一级设备的相邻设备数量确定目标速度,按照所述目标速度生成第二容量的区块;在自身为第一级设备、接收设备为第二级设备,或者自身为第二级设备、接收设备为第二级设备的情况下,按照预设速度生成第二容量的区块;其中,
所述第一容量大于所述第二容量。
可选地,所述处理器610还用于根据公式V=(K*m)*T/M,得到目标速度V;其中,K为所述第一级设备的相邻设备中第二级设备的数量,m为第二容量,T为预设速度,M为第一容量。
可选地,所述第一容量的区块封装了多个第二容量的区块,且所述第一容量的区块包括大区块标识。
可选地,所述第二容量的区块包括区块封装标识,所述区块封装标识用于表示所述区块的来源。
可选地,所述处理器610还用于若自身为第一级设备,且接收到来自第一级设备的区块,则直接转发接收到的区块至接收设备中的第一级设备,并在对接收到区块解封装后,转发至接收设备中的第二级设备;若自身为第一级设备,且接收到来自第二级设备的区块,则直接转发接收到的区块至接收设备中的第二级设备,并在对接收到区块封装得到第一容量的区块后,转发至接收设备中的第一级设备;若自身为第二级设备,则将接收到的区块转发至接收设备。
可选地,所述处理器610还用于根据自身和相邻设备的设备等级,确定对应的转发激励。
可选地,所述处理器610还用于若自身为第一级设备,则根据公式Q1=(S-s)*T/S,得到激励Q1;若自身为第二级设备,则根据公式Q2=s*T/S,得到激励Q2;其中,
S为所述第一级设备的出块速度;s为所述第二级设备的出块速度;T为预设基础激励。
本发明实施例的终端设备,在获取自身及相邻设备的网络带宽后,进一步由所获取的网络带宽进行区块的生成,能够依据网络带宽状况,优化区块链组网结构,提升系统容量;允许区块链上区块大小不同,由终端设备依据网络情况决策;高带宽节点转发大区块时可获得额外激励,维持系统整体公平性。
本发明另一实施例的区块链扩容处理装置,包括:
获取模块,用于获取自身和相邻设备的网络带宽;
确定模块,用于根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;
收发模块,用于将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;
生成模块,用于基于自身和接收设备的设备等级,进行区块的生成。
其中,所述生成模块具体用于:
在自身为第一级设备、接收设备为第一级设备的情况下,按照预设速度生成第一容量的区块;
在自身为第二级设备、接收设备为第一级设备的情况下,根据所述第一级设备的相邻设备数量确定目标速度,按照所述目标速度生成第二容量的区块;
在自身为第一级设备、接收设备为第二级设备,或者自身为第二级设备、接收设备为第二级设备的情况下,按照预设速度生成第二容量的区块;其中,
所述第一容量大于所述第二容量。
其中,所述生成模块具体用于:
根据公式V=(K*m)*T/M,得到目标速度V;其中,K为所述第一级设备的相邻设备中第二级设备的数量,m为第二容量,T为预设速度,M为第一容量。
其中,所述第一容量的区块封装了多个第二容量的区块,且所述第一容量的区块包括大区块标识。
其中,所述第二容量的区块包括区块封装标识,所述区块封装标识用于表示所述区块的来源。
其中,所述装置包括:
第一区块收发模块,用于若自身为第一级设备,且接收到来自第一级设备的区块,则直接转发接收到的区块至接收设备中的第一级设备,并在对接收到区块解封装后,转发至接收设备中的第二级设备;
第二区块收发模块,用于若自身为第一级设备,且接收到来自第二级设备的区块,则直接转发接收到的区块至接收设备中的第二级设备,并在对接收到区块封装得到第一容量的区块后,转发至接收设备中的第一级设备;
第三区块收发模块,用于若自身为第二级设备,则将接收到的区块转发至接收设备。
其中,所述装置还包括:
激励模块,用于根据自身和相邻设备的设备等级,确定对应的转发激励。
其中,所述激励模块具体用于:
若自身为第一级设备,则根据公式Q1=(S-s)*T/S,得到激励Q1;
若自身为第二级设备,则根据公式Q2=s*T/S,得到激励Q2;其中,
S为所述第一级设备的出块速度;s为所述第二级设备的出块速度;T为预设基础激励。
本发明实施例的区块链扩容处理装置,在获取自身及相邻设备的网络带宽后,进一步由所获取的网络带宽确定出自身的设备等级,然后将设备等级告知于相邻设备,并接收相邻设备发送的设备等级,最终基于自身和接收设备的设备等级进行区块的生成,能够依据网络带宽状况,优化区块链组网结构,提升系统容量;允许区块链上区块大小不同,由终端设备依据网络情况决策;高带宽节点转发大区块时可获得额外激励,维持系统整体公平性。
本发明另一实施例的终端设备,如图7所示,包括收发器710、存储器720、处理器700及存储在所述存储器720上并可在所述处理器700上运行的计算机程序;所述处理器700执行所述计算机程序时实现如上所述的区块链扩容处理方法。
所述收发器710,用于在处理器700的控制下接收和发送数据。
其中,在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器700代表的一个或多个处理器和存储器720代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器710可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口730还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器700负责管理总线架构和通常的处理,存储器720可以存储处理器700在执行操作时所使用的数据。
本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的区块链扩容处理方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步需要说明的是,此说明书中所描述的终端包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种区块链扩容处理方法,其特征在于,包括:
获取自身和相邻设备的网络带宽;
根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;
将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;
基于自身和接收设备的设备等级,进行区块的生成;
所述基于自身和接收设备的设备等级,进行区块的生成,包括:
在自身为第一级设备、接收设备为第一级设备的情况下,按照预设速度生成第一容量的区块;
在自身为第二级设备、接收设备为第一级设备的情况下,根据所述第一级设备的相邻设备数量确定目标速度,按照所述目标速度生成第二容量的区块;
在自身为第一级设备、接收设备为第二级设备,或者自身为第二级设备、接收设备为第二级设备的情况下,按照预设速度生成第二容量的区块;其中,
所述第一容量大于所述第二容量。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一级设备的相邻设备数量确定目标速度,包括:
根据公式V=(K*m)*T/M,得到目标速度V;其中,K为所述第一级设备的相邻设备中第二级设备的数量,m为第二容量,T为预设速度,M为第一容量。
3.根据权利要求2所述的方法,其特征在于,所述第一容量的区块封装了多个第二容量的区块,且所述第一容量的区块包括大区块标识。
4.根据权利要求1或3所述的方法,其特征在于,所述第二容量的区块包括区块封装标识,所述区块封装标识用于表示所述区块的来源。
5.根据权利要求1所述的方法,其特征在于,所述方法包括:
若自身为第一级设备,且接收到来自第一级设备的区块,则直接转发接收到的区块至接收设备中的第一级设备,并在对接收到区块解封装后,转发至接收设备中的第二级设备;
若自身为第一级设备,且接收到来自第二级设备的区块,则直接转发接收到的区块至接收设备中的第二级设备,并在对接收到区块封装得到第一容量的区块后,转发至接收设备中的第一级设备;
若自身为第二级设备,则将接收到的区块转发至接收设备。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据自身和相邻设备的设备等级,确定对应的转发激励。
7.根据权利要求6所述的方法,其特征在于,所述根据自身和相邻设备的设备等级,确定对应的激励,包括:
若自身为第一级设备,则根据公式Q1=(S-s)*T/S,得到激励Q1;
若自身为第二级设备,则根据公式Q2=s*T/S,得到激励Q2;其中,
S为所述第一级设备的出块速度;s为所述第二级设备的出块速度;T为预设基础激励。
8.一种终端设备,其特征在于,包括处理器和收发器,其中,
所述处理器用于获取自身和相邻设备的网络带宽;根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;
所述收发器用于将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;
所述处理器还用于基于自身和接收设备的设备等级,进行区块的生成;
所述处理器还用于在自身为第一级设备、接收设备为第一级设备的情况下,按照预设速度生成第一容量的区块;在自身为第二级设备、接收设备为第一级设备的情况下,根据所述第一级设备的相邻设备数量确定目标速度,按照所述目标速度生成第二容量的区块;在自身为第一级设备、接收设备为第二级设备,或者自身为第二级设备、接收设备为第二级设备的情况下,按照预设速度生成第二容量的区块;其中,
所述第一容量大于所述第二容量。
9.根据权利要求8所述的终端设备,其特征在于,
所述处理器还用于根据公式V=(K*m)*T/M,得到目标速度V;其中,K为所述第一级设备的相邻设备中第二级设备的数量,m为第二容量,T为预设速度,M为第一容量。
10.根据权利要求8所述的终端设备,其特征在于,所述第一容量的区块封装了多个第二容量的区块,且所述第一容量的区块包括大区块标识。
11.根据权利要求8或10所述的终端设备,其特征在于,所述第二容量的区块包括区块封装标识,所述区块封装标识用于表示所述区块的来源。
12.根据权利要求8所述的终端设备,其特征在于,
所述处理器还用于若自身为第一级设备,且接收到来自第一级设备的区块,则直接转发接收到的区块至接收设备中的第一级设备,并在对接收到区块解封装后,转发至接收设备中的第二级设备;若自身为第一级设备,且接收到来自第二级设备的区块,则直接转发接收到的区块至接收设备中的第二级设备,并在对接收到区块封装得到第一容量的区块后,转发至接收设备中的第一级设备;若自身为第二级设备,则将接收到的区块转发至接收设备。
13.根据权利要求8所述的终端设备,其特征在于,
所述处理器还用于根据自身和相邻设备的设备等级,确定对应的转发激励。
14.根据权利要求13所述的终端设备,其特征在于,
所述处理器还用于若自身为第一级设备,则根据公式Q1=(S-s)*T/S,得到激励Q1;若自身为第二级设备,则根据公式Q2=s*T/S,得到激励Q2;其中,
S为所述第一级设备的出块速度;s为所述第二级设备的出块速度;T为预设基础激励。
15.一种区块链扩容处理装置,其特征在于,包括:
获取模块,用于获取自身和相邻设备的网络带宽;
确定模块,用于根据自身和相邻设备的网络带宽,确定自身的设备等级,其中所述设备等级至少包括第一级设备和第二级设备,所述第一级设备自身以及与所述第一级设备相邻的至少一设备的网络带宽均为第一带宽,所述第二级设备自身以及与所述第二级设备相邻的设备的网络带宽至少包括第二带宽,所述第一带宽大于所述第二带宽;
收发模块,用于将所述设备等级告知于相邻设备,并接收所述相邻设备发送的设备等级;
生成模块,用于基于自身和接收设备的设备等级,进行区块的生成;
其中,所述生成模块具体用于:
在自身为第一级设备、接收设备为第一级设备的情况下,按照预设速度生成第一容量的区块;
在自身为第二级设备、接收设备为第一级设备的情况下,根据所述第一级设备的相邻设备数量确定目标速度,按照所述目标速度生成第二容量的区块;
在自身为第一级设备、接收设备为第二级设备,或者自身为第二级设备、接收设备为第二级设备的情况下,按照预设速度生成第二容量的区块;其中,
所述第一容量大于所述第二容量。
16.一种终端设备,包括收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的区块链扩容处理方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的区块链扩容处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811281730.8A CN111092925B (zh) | 2018-10-23 | 2018-10-23 | 一种区块链扩容处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811281730.8A CN111092925B (zh) | 2018-10-23 | 2018-10-23 | 一种区块链扩容处理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111092925A CN111092925A (zh) | 2020-05-01 |
CN111092925B true CN111092925B (zh) | 2022-08-05 |
Family
ID=70392275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811281730.8A Active CN111092925B (zh) | 2018-10-23 | 2018-10-23 | 一种区块链扩容处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111092925B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111769946B (zh) * | 2020-05-08 | 2022-08-19 | 贵阳信息技术研究院(中科院软件所贵阳分部) | 一种面向联盟链的大规模节点扩容方法 |
CN111625196A (zh) * | 2020-05-26 | 2020-09-04 | 北京海益同展信息科技有限公司 | 区块链节点扩容方法、装置、计算机设备及存储介质 |
CN111737362B (zh) * | 2020-07-22 | 2020-12-22 | 百度在线网络技术(北京)有限公司 | 区块链处理方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105814900A (zh) * | 2013-09-25 | 2016-07-27 | 爱立信股份有限公司 | 用于在自适应流播环境中管理相邻频道的系统和方法 |
CN106296191A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种区块链功耗感知的PoW共识机制 |
CN107277781A (zh) * | 2017-05-03 | 2017-10-20 | 上海点融信息科技有限责任公司 | 移动宽带网络下的区块链多播网络、区块链设备及其通信方法 |
CN107330786A (zh) * | 2017-05-19 | 2017-11-07 | 杭州云象网络技术有限公司 | 一种基于权重的区块链网络节点通信方法 |
CN107528886A (zh) * | 2017-07-25 | 2017-12-29 | 中国科学院计算技术研究所 | 区块链全网拆分方法与系统 |
WO2018183148A1 (en) * | 2017-03-29 | 2018-10-04 | Alibaba Group Holding Limited | Method, apparatus, and system for blockchain consensus |
-
2018
- 2018-10-23 CN CN201811281730.8A patent/CN111092925B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105814900A (zh) * | 2013-09-25 | 2016-07-27 | 爱立信股份有限公司 | 用于在自适应流播环境中管理相邻频道的系统和方法 |
CN106296191A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种区块链功耗感知的PoW共识机制 |
WO2018183148A1 (en) * | 2017-03-29 | 2018-10-04 | Alibaba Group Holding Limited | Method, apparatus, and system for blockchain consensus |
CN107277781A (zh) * | 2017-05-03 | 2017-10-20 | 上海点融信息科技有限责任公司 | 移动宽带网络下的区块链多播网络、区块链设备及其通信方法 |
CN107330786A (zh) * | 2017-05-19 | 2017-11-07 | 杭州云象网络技术有限公司 | 一种基于权重的区块链网络节点通信方法 |
CN107528886A (zh) * | 2017-07-25 | 2017-12-29 | 中国科学院计算技术研究所 | 区块链全网拆分方法与系统 |
Non-Patent Citations (3)
Title |
---|
InfiniteChain:A Multi-chain Architecture with Distributed Auditing of Sidechains for Public Blockchains;Po-Han Chen,Chun-Hao Chiu,Hsuan-Cheng Lin,An-Jie Jheng;《Lecture Notes in Computer Science》;20180622;全文 * |
区块链全局账本数据的拆分技术研究;于雷等;《高技术通讯》;20171215;全文 * |
比特币现金区块链扩容技术研究;金钊;《电子世界》;20180308;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111092925A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109417691B (zh) | 一种蓝牙集群在线升级方法及装置 | |
CN111092925B (zh) | 一种区块链扩容处理方法、装置及设备 | |
US10972291B2 (en) | Securing communications | |
CN112468372B (zh) | 电力线通信网络中设备状态检测方法和装置 | |
CN110324303A (zh) | 物联网设备的数据片段重组 | |
CN109672708B (zh) | 通信方法及装置、系统 | |
CN109981751A (zh) | 一种文件传输方法及系统、计算机设备及存储介质 | |
CN109768970A (zh) | 一种基于可配置的通用协议生成方法 | |
CN111431803A (zh) | 一种路由选择方法及装置 | |
CN104735744B (zh) | 一种基于终端直通通信的多跳中继路由的设计方法 | |
CN111147403B (zh) | 报文的处理方法及装置、存储介质和电子装置 | |
CN110557416B (zh) | 一种多节点协同打块的方法及系统 | |
CN114039798B (zh) | 一种数据传输方法、装置及电子设备 | |
CN105743816B (zh) | 一种链路聚合方法及装置 | |
Brandão et al. | An energy balanced flooding algorithm for a BLE mesh network | |
CN103581317B (zh) | 一种网络资源共享的方法 | |
CN111818486A (zh) | 车辆通信方法、装置及设备 | |
CN106301472A (zh) | 在电力线网络中选择中继站点的方法及站点 | |
CN113179215B (zh) | 组网通信方法、系统、节点设备、存储介质和电子设备 | |
CN103457748A (zh) | 数据传输方法、系统和设备 | |
CN105763463B (zh) | 一种链路探测报文的传输方法和装置 | |
CN112511621A (zh) | 数据发送方法及装置、存储介质、电子装置 | |
CN110888892B (zh) | 一种区块同步方法、装置及存储介质 | |
CN105451367A (zh) | 一种无线网络连接方法、设备及系统 | |
CN101355512B (zh) | 数据传输系统、方法及传输控制服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |