CN113965572B - 一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质 - Google Patents
一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113965572B CN113965572B CN202111289924.4A CN202111289924A CN113965572B CN 113965572 B CN113965572 B CN 113965572B CN 202111289924 A CN202111289924 A CN 202111289924A CN 113965572 B CN113965572 B CN 113965572B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- data broadcast
- successfully
- transmission
- 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
- 238000009826 distribution Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims abstract description 298
- 238000012795 verification Methods 0.000 claims description 91
- 230000002159 abnormal effect Effects 0.000 claims description 51
- 238000002790 cross-validation Methods 0.000 claims description 47
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000005520 cutting process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000011835 investigation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 208000013407 communication difficulty Diseases 0.000 description 1
- 230000001447 compensatory effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质,属于通信技术领域,所述方法包括,区块链节点将区块通过数据广播传输链路分发至目标区块链节点;其中,区块链节点将区块通过数据广播传输链路分发至目标区块链节点的具体步骤包括:区块链节点将区块的区块数据写入数据广播发送前端,数据广播发送前端判断写入的区块数据是否达到数据包的预设大小,若是,则将区块的区块大小暂时标记为未知大小,并将写入的区块数据依次封装为数据包向数据广播接收终端发送直至区块大小明确,区块数据传输结束;数据广播接收终端接收数据包并推送至目标区块链节点。本发明能够便于适应实时性要求较高的区块传输要求。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质。
背景技术
目前,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。作为一种去中心化的数据公众平台,区块链具有不可伪造、全程留痕、可以追溯、公开透明、集体维护等特征,基于这些特征,区块链技术奠定了坚实的信任基础,创造了可靠的合作机制,具有广阔的运用前景。
区块链的通信本质是对某个节点的改动进行广而告之,而囿于互联网骨干网络中和无线接入网络中组播及广播技术的实际使用缺乏,点对点信息散播的方式是目前IP广域网上实现一对多通信的唯一选择,区块链节点通过P2P传输链路即可实现对区块的分发。但如果扩展到互联网以外的其他网络,例如同步卫星网络、广播电视网络等,则在这些网络中也有比较成熟的数据广播技术。通常,数据广播传输链路由数据广播发送前端和数据广播接收终端组成,采用数据广播协议约定数据格式进行数据交流。典型的两种数据广播协议有DVB(Digital Video Broadcasting:数字视频广播)标准中的数据广播协议,以及IETF(Internet Engineering Task Force:国际互联网工程任务组)的FLUTE(File Deliveryover Unidirectional Transport:单向文件传输)协议。
在数据广播技术中,区块文件广播是其中的一种应用,区块文件中存储有多个文件数据,通常协议会标记区块文件信息如名称、大小等等,然后约定文件头标记和文件尾标记做传输,传输结果也可通过验证的方式判断是否已成功传输;另外,区块也可以数据块的形式存储并进行传输,传输过程与文件数据广播一致。
针对上述中的相关技术,发明人认为对于常见的数据广播协议,一般都需要明确区块的区块大小以后才能进行广播,这就使得区块在数据广播传输链路中的每个步骤都需要全部接收完成之后才能进行下一步传输,导致传输延时较大,且一般大的区块数据需要切割成一系列小的区块数据再进行传输,数据切割和数据组合也会带来额外的处理延时,不便于适应实时性要求较高的区块传输要求。
发明内容
为了便于适应实时性要求较高的区块传输要求,本发明提供了一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质,通过类同流水线作业的区块数据广播传输方式,大大降低了传输延时。
第一方面,本发明提供一种区块链的区块分发方法,采用如下的技术方案:
一种区块链的区块分发方法,所述区块分发方法包括,
区块链节点将区块通过数据广播传输链路分发至目标区块链节点;其中,所述数据广播传输链路包括数据广播发送前端和数据广播接收终端,
所述区块链节点将区块通过数据广播传输链路分发至目标区块链节点的具体步骤包括:
区块链节点将所述区块的区块数据写入数据广播发送前端,并在写入的区块数据的起始设置开始标志,在写入的区块数据的末尾设置结束标志;数据广播发送前端判断写入的区块数据是否达到数据包的预设大小,若是,则将所述区块的区块大小标记为未知大小,并将写入的区块数据依次封装为数据包向数据广播接收终端发送;其中,若数据广播发送前端接收到所述区块的写入结束信息,则获取所述区块的区块大小,并向数据广播接收终端发送区块大小更新包;
数据广播接收终端接收数据包并推送至目标区块链节点;其中,若数据广播接收终端接收到区块大小更新包,则根据区块大小更新包对所述区块的区块大小进行更新并继续接收数据包,直到已接收数据包的大小与所述区块的区块大小一致时,或,直到接收到所述区块的结束标志或下一区块的开始标志时,数据广播接收终端开始进行下一区块的接收。
通过采用上述技术方案,区块链节点将区块的区块数据写入数据广播发送前端,当写入的区块数据达到数据包的预设大小,即可将区块的区块大小标记为未知大小,并开始将写入的区块数据封装为数据包发送至数据广播接收终端,区块数据边写入,数据广播发送前端边进行打包发送,数据广播接收终端接收数据包并向目标区块链节点推送;整个数据广播传输链路中的每个步骤无需等待所有区块写入并确认区块的区块大小再进行发送,各个节点边接收边进行发送,降低了传输时延,且整个传输过程无需进行数据切割,从而进一步减少了处理延时,便于适应实时性要求较高的区块传输要求。
可选的,所述区块分发方法还包括,
在所述区块链节点将区块通过数据广播传输链路分发至目标区块链节点的同时,所述区块链节点将区块通过P2P传输链路分发至目标区块链节点;
所述目标区块链节点接收各个成功到达的区块,并根据各个成功到达的区块的到达时刻进行先后排序,根据所述排序依次判断成功到达的区块的区块高度是否是当前区块高度的下一区块高度;
若判断结果为是,则基于预设验证算法验证所述成功到达的区块是否为异常区块,若验证结果为否,则根据所述成功到达的区块的区块高度更新当前区块高度,并将所述成功到达的区块写入区块链账本;若验证结果为是,则将所述成功到达的区块丢弃,并标记所述成功到达的区块所对应传输链路中的传输时段为异常传输时段;
若判断结果为否,则判断所述成功到达的区块的区块高度是否大于当前区块高度,若是,则将所述成功到达的区块的排序调至末尾;若否,则将所述成功到达的区块丢弃。
通过采用上述技术方案,将区块通过P2P传输链路和一条或多条数据广播传输链路同时进行分发,目标区块链节点对不同传输链路传输的区块不进行区分,哪条传输链路传输的区块先到达则先对该区块进行验证,对传统的单一的P2P传输链路传输区块的方式进行了优化,一定程度地避免了采用单一传输链路传输时,传输质量下降导致误码率增加或传输时延引起区块分发效率过低的情况,从而进一步提高了区块的分发效率。
可选的,所述区块分发方法还包括,
在所述区块链节点将区块通过数据广播传输链路分发至目标区块链节点的同时,所述区块链节点将区块通过P2P传输链路分发至目标区块链节点;
所述目标区块链节点接收首个成功到达的区块,并基于预设验证算法验证首个成功到达的区块是否为异常区块;
若验证结果为是,则标记首个成功到达的区块所对应传输链路中的传输时段为异常传输时段,并将首个成功到达的区块丢弃;若验证结果为否,则将首个成功到达的区块写入区块链账本,并将所述首个成功到达的区块标记为等待交叉验证区块;
所述目标区块链节点接收下一成功到达的区块,获取所述下一成功到达的区块的区块高度,判断是否存在等待交叉验证区块的区块高度与所述下一成功到达的区块的区块高度一致;
若存在,则判断所述下一成功到达的区块与相同区块高度的等待交叉验证区块所对应的传输链路是否相同,若相同,则将所述下一成功到达的区块丢弃;若不相同,则对等待交叉验证区块进行交叉验证;其中,所述交叉验证的方法包括,验证下一成功到达的区块与所述等待交叉验证区块的数据内容是否一致;若数据内容一致,则将等待交叉验证区块更新为交叉验证成功区块;若数据内容不一致,则将等待交叉验证区块所对应传输链路中的传输时段和下一成功到达的区块所对应传输链路中的传输时段均标记为异常传输时段,并将等待交叉验证区块更新为交叉验证失败区块;
若不存在,则基于预设验证算法,验证所述下一成功到达的区块是否为异常区块;若是,则标记所述下一成功到达的区块所对应传输链路中的传输时段为异常传输时段,并将所述下一成功到达的区块丢弃;若否,则将所述下一成功到达的区块写入区块链账本,并将所述下一成功到达的区块标记为等待交叉验证区块。
通过采用上述技术方案,由于部分通过验证的区块可能存在伪装的情况,在将区块通过P2P传输链路和一条或多条数据广播传输链路同时进行分发的基础上,增设交叉验证过程,利用后到达的不同传输链路的区块对先写入区块链账本的同一区块高度的区块进行交叉验证,从而及时发现某一传输链路中的异常传输时段并进行标记,提高了区块分发的安全性。
可选的,所述判断是否存在等待交叉验证区块的区块高度与所述下一成功到达的区块的区块高度一致的步骤之后还包括,
若不存在,则判断所述等待交叉验证状态的区块处于等待交叉验证状态的时长是否超过预设等待时长,若超过预设等待时长,则将所述等待交叉验证区块更新为未经交叉验证区块;若未超过预设等待时长,则所述等待交叉验证区块继续保持等待交叉验证状态。
通过采用上述技术方案,当等待交叉验证状态的区块等待超时,即可将该区块的状态更新为未经交叉验证区块,从而减少了部分区块始终处于等待交叉验证状态导致队列持续增长影响系统性能的情况。
可选的,所述将等待交叉验证区块所对应传输链路中的传输时段和下一成功到达的区块所对应传输链路中的传输时段均标记为异常传输时段的步骤之后还包括,
发送报警信息至区块链节点,所述报警信息用于提醒区块链节点所述等待交叉验证区块所对应的传输链路和所述下一成功到达的区块所对应的传输链路均为异常链路。
通过采用上述技术方案,在标记异常传输时段后,及时对区块链节点进行提醒,从而便于区块链节点按照预设策略对传输链路进行备份切换或与其他区块链节点相互沟通确定下一步的攻击排查方向。
可选的,所述数据广播传输链路包括卫星数据广播传输链路、地面数据广播传输链路、有线电视数据广播传输链路、EMBMS数据广播传输链路、IP广播传输链路、IP组播传输链路和CDN传输链路中的一种或几种。
通过采用上述技术方案,设置多种数据广播传输链路,提高了适应性,也便于根据实际需求进行选择。
第二方面,本发明提供一种区块链的区块分发系统,采用如下的技术方案:
一种区块链的区块分发系统,所述区块分发系统包括区块链节点、目标区块链节点和数据广播传输链路;其中,所述数据广播传输链路包括数据广播发送前端和数据广播接收终端;
所述区块链节点,用于将所述区块的区块数据写入数据广播发送前端,并在写入的区块数据的起始设置开始标志,在写入的区块数据的末尾设置结束标志;
所述数据广播发送前端,用于判断写入的区块数据是否达到数据包的预设大小,若是,则将所述区块的区块大小标记为未知大小,并将写入的区块数据依次封装为数据包向数据广播接收终端发送;其中,若接收到所述区块的写入结束信息,则获取所述区块的区块大小,并向数据广播接收终端发送区块大小更新包;
所述数据广播接收终端,用于接收数据包并推送至目标区块链节点;其中,若接收到区块大小更新包,则根据区块大小更新包对所述区块的区块大小进行更新并继续接收数据包,直到已接收数据包的大小与所述区块的区块大小一致时,或,直到接收到所述区块的结束标志或下一区块的开始标志时,开始进行下一区块的接收;
所述目标区块链节点,用于接收数据广播接收终端推送的数据包。
通过采用上述技术方案,区块链节点将区块的区块数据写入数据广播发送前端,当写入的区块数据达到数据包的预设大小,即可将区块的区块大小标记为未知大小,并开始将写入的区块数据封装为数据包发送至数据广播接收终端,区块数据边写入,数据广播发送前端边进行打包发送,数据广播接收终端接收数据包并向目标区块链节点推送;整个数据广播传输链路中的每个步骤无需等待所有区块写入并确认区块的区块大小再进行发送,各个节点边接收边进行发送,降低了传输时延,且整个传输过程无需进行数据切割,从而进一步减少了处理延时,便于适应实时性要求较高的区块传输要求。
可选的,所述区块分发系统还包括P2P传输链路;
所述区块链节点,还用于在将区块通过数据广播传输链路分发至目标区块链节点的同时,将区块通过所述P2P传输链路分发至目标区块链节点;
所述目标区块链节点,还用于接收各个成功到达的区块,并根据各个成功到达的区块的到达时刻进行先后排序,根据所述排序依次判断所述成功到达的区块的区块高度是否是当前区块高度的下一区块高度;若判断结果为是,则基于预设验证算法验证所述成功到达的区块是否为异常区块,若验证结果为否,则根据所述成功到达的区块的区块高度更新所述当前区块高度,并将所述成功到达的区块写入区块链账本;若验证结果为是,则将所述成功到达的区块丢弃,并标记所述成功到达的区块所对应传输链路中的传输时段为异常传输时段;若判断结果为否,则判断所述成功到达的区块的区块高度是否大于当前区块高度,若是,则将所述成功到达的区块的排序调至末尾;若否,则将所述成功到达的区块丢弃。
通过采用上述技术方案,将区块通过P2P传输链路和一条或多条数据广播传输链路同时进行分发,目标区块链节点对不同传输链路传输的区块不进行区分,哪条传输链路传输的区块先到达则先对该区块进行验证,对传统的单一的P2P传输链路传输区块的方式进行了优化,一定程度地避免了采用单一传输链路传输时,传输质量下降导致误码率增加或传输时延引起区块分发效率过低的情况,从而进一步提高了区块的分发效率。
第三方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现第一方面中的一种区块链的区块分发方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中的一种区块链的区块分发方法的步骤。
附图说明
图1是相关技术的P2P传输链路的示意图。
图2是本申请其中一个实施例的区块分发方法的流程示意图。
图3是本申请P2P传输链路与数据广播传输链路并行的示意图。
图4是本申请另一个实施例的区块分发方法的流程示意图。
图5是本申请的多传输链路网络系统的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图1-5及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
区块链,本质上是一种开源分布式账本,去中心化或者多中心化的设计使得系统中需要在多节点之间就数据内容达成全局共识,这部分共识普遍通过P2P(Peer to Peer)网络“广而告之”,一传十,十传百,信息传递时间长,TPS(Transaction per Second:每秒处理的事务数目)小。
目前,全国已经有非常多的区块链试点系统,但是试点测试过程中发现以下问题:
首先,区块链开发人员对广域网网络预期过于乐观,一些实验室号称数千TPS(Transaction Per Seconds)的联盟链在实际广域网测试以后,却发现性能差距甚远。对于全国各地的机房,由于机房带宽商业运作有超卖倾向,发生拥堵也未必能够及时扩容,作为广域网的常态,每天都会发生部分时段有多个节点网络时断时续,甚至直接ping不通的情况。在5G出现以后,即使广域网有低时延切片能力,区块链商业也难以支持全连接每两个节点间链路低时延切片的成本。
其次,区块链调优以后的压力测试结果不令人满意,期望的TPS(Transaction PerSeconds)无法达到。对于一些较为看好的新的商业运营模式,例如版权交易领域的实时版权分成模式,用户付费下载,使用智能合约即可立刻在艺术家、经纪公司、版权交易机构以及其他利益攸关方之间实时结算,但目前的区块链系统在调优以后仍难以支持该商业运营模式,实际商业运营扩容以后区块链系统的性能还可能下降,从而使得该商业运营模块难以进一步推进。
另外,区块链系统中出现的网络问题还可能会引发系统处于长时间宕机,无法服务的状态。如果进行商业运营,必须要支持高可用性,但目前的区块链需要广域网大范围达成共识,而由于网络拥堵或网络故障的原因常常产生局部共识,后续又会有长时间的分叉合并处理,从而出现长时间停止服务的状态;还有的区块链为了避免局部共识可能引入世代更替,在更替过程中也会对外暂停服务,而这些情况发生在正式商用场合都是令人无法接受的。因此,虽然区块链被视为将改变生产关系的革命性力量,预期令人鼓舞,但是目前的试点状况却使得进一步商业推进难以为继,技术还无法满足基本要求,因此,区块链技术部分仍需要持续创新。
本发明实施例公开一种区块链的区块分发方法。
一种区块链的区块分发方法,区块分发方法包括,
区块链节点将区块通过数据广播传输链路分发至目标区块链节点;其中,数据广播传输链路包括数据广播发送前端和数据广播接收终端;
区块链节点将区块通过数据广播传输链路分发至目标区块链节点的具体步骤包括:
步骤101,区块链节点将区块的区块数据写入数据广播发送前端,并在写入的区块数据的起始设置开始标志,在写入的区块数据的末尾设置结束标志;数据广播发送前端判断写入的区块数据是否达到数据包的预设大小,若是,则将区块的区块大小标记为未知大小,并将写入的区块数据依次封装为数据包向数据广播接收终端发送;其中,若数据广播发送前端接收到区块的写入结束信息,则获取区块的区块大小,并向数据广播接收终端发送区块大小更新包;
其中,区块大小也指区块容量,用来表示一个区块容纳某个时间段内数据的能力;写入结束信息即区块的区块数据写入数据广播发送前端写入结束的信息。
步骤102,数据广播接收终端接收数据包并推送至目标区块链节点;其中,若数据广播接收终端接收到区块大小更新包,则根据区块大小更新包对区块的区块大小进行更新并继续接收数据包,直到已接收数据包的大小与区块的区块大小一致时,或,直到接收到区块的结束标志或下一区块的开始标志时,数据广播接收终端开始进行下一区块的接收。
可以理解的是,区块链内的每个区块都是用来承载某个时间段内的区块数据,每个区块通过时间顺序利用密码学技术将其串联起来,从而形成完整的分布式数据库。
作为根据区块大小更新包对区块的区块大小进行更新的一种实施方式,通过将区块上标记的区块大小由未知大小更新为区块大小更新包解码处理后得到的区块大小,从而即可得知区块的实际区块大小并以此作为判断是否接收结束的条件之一。
作为数据广播接收终端的一种实施方式,数据广播传输链路所采用的数据广播协议需要与互联网协议做转换,因此通常需要采用代理接收设备等专用硬件作为数据广播接收终端。
上述实施方式中,区块链节点将区块的区块数据写入数据广播发送前端,当写入的区块数据达到数据包的预设大小,即可将区块的区块大小标记为未知大小,并开始将写入的区块数据封装为数据包发送至数据广播接收终端,区块数据边写入,数据广播发送前端边进行打包发送,数据广播接收终端接收数据包并向目标区块链节点推送;整个数据广播传输链路中的每个步骤无需等待所有区块写入并确认区块的区块大小再进行发送,各个节点边接收边进行发送,降低了传输时延,且整个传输过程无需进行数据切割,从而进一步减少了处理延时,便于适应实时性要求较高的区块传输要求。
另外,由于可能会发送区块大小更新包丢失的情况,也可能会发生传输误码的情况,因此在数据广播接收终端接收区块大小更新包并根据区块的区块大小判断区块是否传输完成的基础上,通过设置开始标志和结束标志,进一步增设数据广播接收终端接收到区块的结束标志或下一区块的开始标志两种情况,当传输过程中满足上述三种任意一种情况,即可判断该区块传输完成并进行下一区块的接收,从而便于应对传输过程中误码或丢包的情况,提高了适应性。
需要说明的是,在数据广播传输链路中,区块的数据组装形式可根据区块链的需求进行预先选择,不仅可以为文件数据的形式,也可以为数据块的形式,即区块链可以传输以文件数据形式存储的区块,也可以传输以数据块形式存储的区块,本申请实施例对数据广播传输链路中传输的区块的数据组装形式不加以限定。
目前,由于广域网上网络通信以及恶意节点攻击的缘故,区块链系统中容易出现区块临时分叉,这就使得区块链需要针对这种分叉合并设计仲裁机制,例如在比特币中,设置有六个区块的最长链确认机制,这种机制使得一次交易可能需要等待六个区块出块之后才能进行最终确认,从而导致交易确认时间长,用户体验感较差。
参照图1,即使系统中采用了相对中心化的节点orderer做快速共识,例如超级帐本联盟链,orderer将区块发送至节点Leader,Leader再广播通知其他peer节点做数据同步,这样接力的广播效率也比较差,动辄数秒或数十秒,严重妨碍了系统性能的进一步提高;更有甚者,在压力测试期间,发现由于模拟了时断时续的网络情形,账本同步等一些弥补性措施会增加其他节点负担,严重情况下大量节点忙于各种账本同步、失败重试,从而导致延迟较高以及系统吞吐率难以提高。
目前对于区块链性能的优化主要集中在网络层上,但网络层上的优化结果仍不尽人意。究其原因,是由于区块链本质上是广域网上的分布式账本,其底层采用的P2P(Peerto Peer)数据信息散播方法依赖节点做数据接力,这使得智能合约超载的中间节点的性能下降影响到其他高性能节点的数据通信,而通信未达节点的主动数据同步又加重了系统负担,节点间相互耦合,导致整体系统性能难以调优,再加上广域网上常常出现的长时延、高丢包率等网络问题也容易导致共识通信困难。
由此可见,随着区块链的不断发展,区块链在广域网通信层面上存在的性能瓶颈愈加明显,严重阻碍了区块链系统的扩展性,针对这一问题,本申请对区块链的区块分发方法进行了优化。
参照图2,作为区块分发方法的一种实施方式,区块分发方法还包括,
在区块链节点将区块通过数据广播传输链路分发至目标区块链节点的同时,区块链节点将区块通过P2P传输链路分发至目标区块链节点;
目标区块链节点接收各个成功到达的区块,并根据各个成功到达的区块的到达时刻进行先后排序,根据排序依次判断成功到达的区块的区块高度是否是当前区块高度的下一区块高度;
其中,区块高度即区块的编号,用于表示区块在区块链中的位置;
若判断结果为是,则基于预设验证算法验证成功到达的区块是否为异常区块,若验证结果为否,则根据成功到达的区块的区块高度更新当前区块高度,并将成功到达的区块写入区块链账本;若验证结果为是,则将成功到达的区块丢弃,并标记成功到达的区块所对应传输链路中的传输时段为异常传输时段;
若判断结果为否,则判断成功到达的区块的区块高度是否大于当前区块高度,若是,则将成功到达的区块的排序调至末尾;若否,则将成功到达的区块丢弃。
其中,将区块写入区块链账本即对区块的区块数据进行记录。
作为预设验证算法的一种实施方式,预设验证算法可以为验证交易格式、验证区块是否存在对应的区块链账本、验证是否存在双花问题、验证是否满足智能合约以及背书策略等等;通过预设验证算法可对区块的正确性、安全性以及不可篡改性进行验证;需要说明的是,预设验证算法的具体验证内容如何选择可根据不同场景需求或不同区块链的设计进行预先配置,本申请实施例不加以限定。
作为判断成功到达的区块的区块高度是否是当前区块高度的下一区块高度的一种实施方式,当前区块高度即根据上一个写入区块链账本的区块更新得到的区块高度;例如,首个到达的区块的区块高度为0,在验证通过后将该区块写入区块链账本,并根据该区块的区块高度更新当前区块高度,则此时区块链账本的当前区块高度即为0,当前区块高度的下一区块高度即为1;因此当下一区块成功到达后,即判断下一成功到达的区块的区块高度是否为1即可。
作为标记成功到达的区块所对应传输链路中的传输时段为异常传输时段的一种实施方式,传输链路由于质量下降或受到攻击可能发生丢包或误码的情况,在验证成功到达的区块为异常区块后,获取该异常区块对应的传输链路及传输时段并进行标记,当某个传输链路被多次标记后,即可判断该传输链路需要进行更换或需要进行攻击排查,以保证传输质量。
参照图3,以超级帐本联盟链为例,本申请在利用传统的P2P传输链路对区块进行传输的基础上,并行一条或多条数据广播传输链路进行分发,目标区块链节点对不同传输链路传输的区块不进行区分,哪条传输链路传输的区块先到达则先对该区块进行验证,对传统的单一的P2P传输链路传输区块的方式进行了优化,一定程度地避免了采用单一传输链路传输时,传输质量下降导致误码率增加或传输时延引起区块分发效率过低的情况,不仅能够达到加速区块分发的效果,还能够提高区块传输的成功率。
作为数据广播传输链路的一种实施方式,数据广播传输链路包括卫星数据广播传输链路、地面数据广播传输链路、有线电视数据广播传输链路、EMBMS数据广播传输链路、IP广播传输链路、IP组播传输链路和CDN(Content Delivery Network:内容分发网络)传输链路中的一种或几种。
参照图3,在本申请实施例中,数据广播传输链路可同时选择卫星信道和CDN(Content Delivery Network:内容分发网络)两种传输信道,即采用卫星数据广播传输链路以及CDN(Content Delivery Network:内容分发网络)传输链路与P2P传输链路并行的传输方式;需要说明的是,数据广播传输链路的具体数量和设置类型均可根据实际需求进行选择,即区块链节点可以通过一条数据广播传输链路将区块分发至目标区块链节点,也可以通过多条不同的数据广播传输链路对区块进行分发,本申请实施例对数据广播传输链路设置的具体数量和类型并不加以限定。
上述的区块分发方法,虽然提高了区块分发效率,但依然可能存在其中的某一条传输链路质量下降或受到恶意攻击的情况,为了对各个传输链路的异常情况进行监督,本申请基于上述的区块分发方法进行了进一步的优化。
参照图4,作为区块分发方法的一种实施方式,区块分发方法还包括,
在区块链节点将区块通过数据广播传输链路分发至目标区块链节点的同时,区块链节点将区块通过P2P传输链路分发至目标区块链节点;
目标区块链节点接收首个成功到达的区块,并基于预设验证算法验证首个成功到达的区块是否为异常区块;
若验证结果为是,则标记首个成功到达的区块所对应传输链路中的传输时段为异常传输时段,并将首个成功到达的区块丢弃;若验证结果为否,则将首个成功到达的区块写入区块链账本,并将首个成功到达的区块标记为等待交叉验证区块;
目标区块链节点接收下一成功到达的区块,获取下一成功到达的区块的区块高度,判断是否存在等待交叉验证区块的区块高度与下一成功到达的区块的区块高度一致;
若存在,则判断下一成功到达的区块与相同区块高度的等待交叉验证区块所对应的传输链路是否相同,若相同,则将下一成功到达的区块丢弃;若不相同,则对等待交叉验证区块进行交叉验证;其中,交叉验证的方法包括,验证下一成功到达的区块与等待交叉验证区块的数据内容是否一致;若数据内容一致,则将等待交叉验证区块更新为交叉验证成功区块;若数据内容不一致,则将等待交叉验证区块所对应传输链路中的传输时段和下一成功到达的区块所对应传输链路中的传输时段均标记为异常传输时段,并将等待交叉验证区块更新为交叉验证失败区块;
若不存在,则基于预设验证算法,验证下一成功到达的区块是否为异常区块;若是,则标记下一成功到达的区块所对应传输链路中的传输时段为异常传输时段,并将下一成功到达的区块丢弃;若否,则将下一成功到达的区块写入区块链账本,并将下一成功到达的区块标记为等待交叉验证区块。
需要说明的是,由于在P2P传输链路中,可能存在多次将重复区块发送至目标区块链节点的情况,因此,通过判断下一成功到达的区块与相同区块高度的等待交叉验证区块所对应的传输链路是否相同,即可避免同一传输链路在不同时刻发送的重复区块进行相互交叉验证。
上述实施方式中,由于部分通过验证的区块可能存在伪装的情况,在将区块通过P2P传输链路和一条或多条数据广播传输链路同时进行分发的基础上,增设交叉验证过程,利用后到达的不同传输链路的区块对先写入区块链账本的同一区块高度的区块进行交叉验证,从而及时发现某一传输链路中的异常传输时段并进行标记,提高了区块分发的安全性。
作为区块分发方法进一步的实施方式,判断是否存在等待交叉验证区块的区块高度与下一成功到达的区块的区块高度一致的步骤之后还包括,
若不存在,则判断等待交叉验证状态的区块处于等待交叉验证状态的时长是否超过预设等待时长,若超过预设等待时长,则将等待交叉验证区块更新为未经交叉验证区块;若未超过预设等待时长,则等待交叉验证区块继续保持等待交叉验证状态。
其中,预设等待时长可根据历史经验或实际需求进行预先配置。
上述实施方式中,当等待交叉验证状态的区块等待超时,即可将该区块的状态更新为未经交叉验证区块,从而减少了部分区块始终处于等待交叉验证状态导致队列持续增长影响系统性能的情况。
作为区块分发方法进一步的实施方式,将等待交叉验证区块所对应传输链路中的传输时段和下一成功到达的区块所对应传输链路中的传输时段均标记为异常传输时段的步骤之后还包括,
发送报警信息至区块链节点,报警信息用于提醒区块链节点等待交叉验证区块所对应的传输链路和下一成功到达的区块所对应的传输链路均为异常链路。
上述实施方式中,在标记异常传输时段后,及时对区块链节点进行提醒,从而便于区块链节点按照预设策略对传输链路进行备份切换或与其他区块链节点相互沟通确定下一步的攻击排查方向。
相比于P2P传输链路,数据广播传输链路包括有相对中心化的数据广播发送前端,且只在网络层加速,不介入区块链应用层逻辑,虽然中心化的网络节点确实容易受到攻击,但是通过采用P2P传输链路和数据广播传输链路并行的方式,各个传输链路之间相互独立,且每两条链路之间可通过交叉验证的方式相互监督,能够及时发现攻击和异常并采取应对措施。
参照图5,在区块链的实际应用过程中,为了提高区块的分发效率,构建多传输链路网络系统,区块通过多条传输链路分发至智慧电梯、智慧交通和智慧城市等各个目标区块链节点,不同的传输链路相互竞争,并且对区块分发内容相互验证,从而大大提高了传输质量和传输速率。
目前来看,唯一能够欺骗这种多传输链路网络系统的攻击,需要同步攻击两条传输链路,而由于通信时延的存在,这种同步攻击在独立的两条传输链路上是极为困难的。因此,相比于传统区块链的区块分发方法,本申请的区块分发方法具有安全性高、数据分发时延低、时延抖动低以及区块链性能和可扩展性强的优点,具有较为广阔的发展前景。
本申请实施例还公开一种区块链的区块分发系统。
一种区块链的区块分发系统,区块分发系统包括区块链节点、目标区块链节点和数据广播传输链路;其中,数据广播传输链路包括数据广播发送前端和数据广播接收终端;
区块链节点,用于将区块的区块数据写入数据广播发送前端,并在写入的区块数据的起始设置开始标志,在写入的区块数据的末尾设置结束标志;
数据广播发送前端,用于判断写入的区块数据是否达到数据包的预设大小,若是,则将区块的区块大小标记为未知大小,并将写入的区块数据依次封装为数据包向数据广播接收终端发送;其中,若接收到区块的写入结束信息,则获取区块的区块大小,并向数据广播接收终端发送区块大小更新包;
数据广播接收终端,用于接收数据包并推送至目标区块链节点;其中,若接收到区块大小更新包,则根据区块大小更新包对区块的区块大小进行更新并继续接收数据包,直到已接收数据包的大小与区块的区块大小一致时,或,直到接收到区块的结束标志或下一区块的开始标志时,开始进行下一区块的接收;
目标区块链节点,用于接收数据广播接收终端推送的数据包。
上述实施方式中,区块链节点将区块的区块数据写入数据广播发送前端,当写入的区块数据达到数据包的预设大小,即可将区块的区块大小标记为未知大小,并开始将写入的区块数据封装为数据包发送至数据广播接收终端,区块数据边写入,数据广播发送前端边进行打包发送,数据广播接收终端接收数据包并向目标区块链节点推送;整个数据广播传输链路中的每个步骤无需等待所有区块写入并确认区块的区块大小再进行发送,各个节点边接收边进行发送,降低了传输时延,且整个传输过程无需进行数据切割,从而进一步减少了处理延时,便于适应实时性要求较高的区块传输要求。
作为区块链的区块分发系统进一步的实施方式,区块链的区块分发系统还包括P2P传输链路;
区块链节点,用于在将区块通过数据广播传输链路分发至目标区块链节点的同时,将区块通过P2P传输链路分发至目标区块链节点;
目标区块链节点,用于接收各个成功到达的区块,并根据各个成功到达的区块的到达时刻进行先后排序,根据排序依次判断成功到达的区块的区块高度是否是当前区块高度的下一区块高度;若判断结果为是,则基于预设验证算法验证成功到达的区块是否为异常区块,若验证结果为否,则根据成功到达的区块的区块高度更新当前区块高度,并将成功到达的区块写入区块链账本;若验证结果为是,则将成功到达的区块丢弃,并标记成功到达的区块所对应传输链路中的传输时段为异常传输时段;若判断结果为否,则判断成功到达的区块的区块高度是否大于当前区块高度,若是,则将成功到达的区块的排序调至末尾;若否,则将成功到达的区块丢弃。
上述实施方式中,将区块通过P2P传输链路和一条或多条数据广播传输链路同时进行分发,目标区块链节点对不同传输链路传输的区块不进行区分,哪条传输链路传输的区块先到达则先对该区块进行验证,对传统的单一的P2P传输链路传输区块的方式进行了优化,一定程度地避免了采用单一传输链路传输时,传输质量下降导致误码率增加或传输时延引起区块分发效率过低的情况,不仅能够达到加速区块分发的效果,还能够提高区块传输的成功率。
作为区块链的区块分发系统进一步的另一种实施方式,区块分发系统还包括P2P传输链路,
区块链节点,还用于将区块通过数据广播传输链路分发至目标区块链节点的同时,将区块通过P2P传输链路分发至目标区块链节点;
目标区块链节点,还用于接收首个成功到达的区块,并基于预设验证算法验证首个成功到达的区块是否为异常区块;若验证结果为是,则标记首个成功到达的区块所对应传输链路中的传输时段为异常传输时段,并将首个成功到达的区块丢弃;若验证结果为否,则将首个成功到达的区块写入区块链账本,并将首个成功到达的区块标记为等待交叉验证区块;
目标区块链节点还包括交叉验证模块,交叉验证模块用于对等待交叉验证区块进行交叉验证;
目标区块链节点,还用于接收下一成功到达的区块,获取下一成功到达的区块的区块高度,判断是否存在等待交叉验证区块的区块高度与下一成功到达的区块的区块高度一致;若存在,则判断下一成功到达的区块与相同区块高度的等待交叉验证区块所对应的传输链路是否相同,若相同,则将下一成功到达的区块丢弃;若不相同,则利用交叉验证模块对等待交叉验证区块进行交叉验证;若不存在,则基于预设验证算法,验证下一成功到达的区块是否为异常区块;若是,则标记下一成功到达的区块所对应传输链路中的传输时段为异常传输时段,并将下一成功到达的区块丢弃;若否,则将下一成功到达的区块写入区块链账本,并将下一成功到达的区块标记为等待交叉验证区块;
其中,交叉验证模块,用于验证下一成功到达的区块与等待交叉验证区块的数据内容是否一致;若数据内容一致,则将等待交叉验证区块更新为交叉验证成功区块;若数据内容不一致,则将等待交叉验证区块所对应传输链路中的传输时段和下一成功到达的区块所对应传输链路中的传输时段均标记为异常传输时段,并将等待交叉验证区块更新为交叉验证失败区块。
上述实施方式中,由于部分通过验证的区块可能存在伪装的情况,在将区块通过P2P传输链路和一条或多条数据广播传输链路同时进行分发的基础上,增设交叉验证过程,利用后到达的不同传输链路的区块对先写入区块链账本的同一区块高度的区块进行交叉验证,从而及时发现某一传输链路中的异常传输时段并进行标记,提高了区块分发的安全性。
作为目标区块链节点进一步的实施方式,目标区块链节点还包括报警模块,报警模块用于发送报警信息至区块链节点;其中,报警信息用于提醒区块链节点等待交叉验证区块所对应的传输链路和下一成功到达的区块所对应的传输链路均为异常链路。
上述实施方式中,在标记异常传输时段后,通过报警模块及时对区块链节点进行提醒,从而便于区块链节点按照预设策略对传输链路进行备份切换或与其他区块链节点相互沟通确定下一步的攻击排查方向。
需要说明的是,在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本申请实施例还公开一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现上述的一种区块链的区块分发方法的步骤。
本申请实施例还公开一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的一种区块链的区块分发方法的步骤。
其中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用;计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
以上均为本发明的较佳实施例,并非依此限制本发明的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
Claims (9)
1.一种区块链的区块分发方法,所述区块分发方法包括,
区块链节点将区块通过数据广播传输链路分发至目标区块链节点;其中,所述数据广播传输链路包括数据广播发送前端和数据广播接收终端,其特征在于:
所述区块链节点将区块通过数据广播传输链路分发至目标区块链节点的具体步骤包括:
区块链节点将所述区块的区块数据写入数据广播发送前端,并在写入的区块数据的起始设置开始标志,在写入的区块数据的末尾设置结束标志;数据广播发送前端判断写入的区块数据是否达到数据包的预设大小,若是,则将所述区块的区块大小标记为未知大小,并将写入的区块数据依次封装为数据包向数据广播接收终端发送;其中,若数据广播发送前端接收到所述区块的写入结束信息,则获取所述区块的区块大小,并向数据广播接收终端发送区块大小更新包;
数据广播接收终端接收数据包并推送至目标区块链节点;其中,若数据广播接收终端接收到区块大小更新包,则根据区块大小更新包对所述区块的区块大小进行更新并继续接收数据包,直到已接收数据包的大小与所述区块的区块大小一致时,或,直到接收到所述区块的结束标志或下一区块的开始标志时,数据广播接收终端开始进行下一区块的接收;
所述区块分发方法还包括,
在所述区块链节点将区块通过数据广播传输链路分发至目标区块链节点的同时,所述区块链节点将区块通过P2P传输链路分发至目标区块链节点;
所述目标区块链节点接收首个成功到达的区块,并基于预设验证算法验证首个成功到达的区块是否为异常区块;
若验证结果为是,则标记首个成功到达的区块所对应传输链路中的传输时段为异常传输时段,并将首个成功到达的区块丢弃;若验证结果为否,则将首个成功到达的区块写入区块链账本,并将所述首个成功到达的区块标记为等待交叉验证区块;
所述目标区块链节点接收下一成功到达的区块,获取所述下一成功到达的区块的区块高度,判断是否存在等待交叉验证区块的区块高度与所述下一成功到达的区块的区块高度一致;
若存在,则判断所述下一成功到达的区块与相同区块高度的等待交叉验证区块所对应的传输链路是否相同,若相同,则将所述下一成功到达的区块丢弃;若不相同,则对等待交叉验证区块进行交叉验证;其中,所述交叉验证的方法包括,验证下一成功到达的区块与所述等待交叉验证区块的数据内容是否一致;若数据内容一致,则将等待交叉验证区块更新为交叉验证成功区块;若数据内容不一致,则将等待交叉验证区块所对应传输链路中的传输时段和下一成功到达的区块所对应传输链路中的传输时段均标记为异常传输时段,并将等待交叉验证区块更新为交叉验证失败区块;
若不存在,则基于预设验证算法,验证所述下一成功到达的区块是否为异常区块;若是,则标记所述下一成功到达的区块所对应传输链路中的传输时段为异常传输时段,并将所述下一成功到达的区块丢弃;若否,则将所述下一成功到达的区块写入区块链账本,并将所述下一成功到达的区块标记为等待交叉验证区块。
2.根据权利要求1所述的一种区块链的区块分发方法,其特征在于:所述区块分发方法还包括,
在所述区块链节点将区块通过数据广播传输链路分发至目标区块链节点的同时,所述区块链节点将区块通过P2P传输链路分发至目标区块链节点;
所述目标区块链节点接收各个成功到达的区块,并根据各个成功到达的区块的到达时刻进行先后排序,根据所述排序依次判断成功到达的区块的区块高度是否是当前区块高度的下一区块高度;
若判断结果为是,则基于预设验证算法验证所述成功到达的区块是否为异常区块,若验证结果为否,则根据所述成功到达的区块的区块高度更新当前区块高度,并将所述成功到达的区块写入区块链账本;若验证结果为是,则将所述成功到达的区块丢弃,并标记所述成功到达的区块所对应传输链路中的传输时段为异常传输时段;
若判断结果为否,则判断所述成功到达的区块的区块高度是否大于当前区块高度,若是,则将所述成功到达的区块的排序调至末尾;若否,则将所述成功到达的区块丢弃。
3.根据权利要求2所述的一种区块链的区块分发方法,其特征在于:所述判断是否存在等待交叉验证区块的区块高度与所述下一成功到达的区块的区块高度一致的步骤之后还包括,
若不存在,则判断所述等待交叉验证区块处于等待交叉验证状态的时长是否超过预设等待时长,若超过预设等待时长,则将所述等待交叉验证区块更新为未经交叉验证区块;若未超过预设等待时长,则所述等待交叉验证区块继续保持等待交叉验证状态。
4.根据权利要求2所述的一种区块链的区块分发方法,其特征在于:所述将等待交叉验证区块所对应传输链路中的传输时段和下一成功到达的区块所对应传输链路中的传输时段均标记为异常传输时段的步骤之后还包括,
发送报警信息至区块链节点,所述报警信息用于提醒区块链节点所述等待交叉验证区块所对应的传输链路和所述下一成功到达的区块所对应的传输链路均为异常链路。
5.根据权利要求1到4任一所述的一种区块链的区块分发方法,其特征在于:所述数据广播传输链路包括卫星数据广播传输链路、地面数据广播传输链路、有线电视数据广播传输链路、EMBMS数据广播传输链路、IP广播传输链路、IP组播传输链路和CDN传输链路中的一种或几种。
6.一种区块链的区块分发系统,其特征在于:用于执行权利要求1到5任一所述的区块链的区块分发方法,所述区块分发系统包括区块链节点、目标区块链节点和数据广播传输链路;其中,所述数据广播传输链路包括数据广播发送前端和数据广播接收终端;
所述区块链节点,用于将所述区块的区块数据写入数据广播发送前端,并在写入的区块数据的起始设置开始标志,在写入的区块数据的末尾设置结束标志;
所述数据广播发送前端,用于判断写入的区块数据是否达到数据包的预设大小,若是,则将所述区块的区块大小标记为未知大小,并将写入的区块数据依次封装为数据包向数据广播接收终端发送;其中,若接收到所述区块的写入结束信息,则获取所述区块的区块大小,并向数据广播接收终端发送区块大小更新包;
所述数据广播接收终端,用于接收数据包并推送至目标区块链节点;其中,若接收到区块大小更新包,则根据区块大小更新包对所述区块的区块大小进行更新并继续接收数据包,直到已接收数据包的大小与所述区块的区块大小一致时,或,直到接收到所述区块的结束标志或下一区块的开始标志时,开始进行下一区块的接收;
所述目标区块链节点,用于接收数据广播接收终端推送的数据包。
7.根据权利要求6所述的一种区块链的区块分发系统,其特征在于:所述区块分发系统还包括P2P传输链路;
所述区块链节点,还用于在将区块通过数据广播传输链路分发至目标区块链节点的同时,将区块通过所述P2P传输链路分发至目标区块链节点;
所述目标区块链节点,还用于接收各个成功到达的区块,并根据各个成功到达的区块的到达时刻进行先后排序,根据所述排序依次判断所述成功到达的区块的区块高度是否是当前区块高度的下一区块高度;若判断结果为是,则基于预设验证算法验证所述成功到达的区块是否为异常区块,若验证结果为否,则根据所述成功到达的区块的区块高度更新所述当前区块高度,并将所述成功到达的区块写入区块链账本;若验证结果为是,则将所述成功到达的区块丢弃,并标记所述成功到达的区块所对应传输链路中的传输时段为异常传输时段;若判断结果为否,则判断所述成功到达的区块的区块高度是否大于当前区块高度,若是,则将所述成功到达的区块的排序调至末尾;若否,则将所述成功到达的区块丢弃。
8.一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1到5任一所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1到5任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111289924.4A CN113965572B (zh) | 2021-11-02 | 2021-11-02 | 一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111289924.4A CN113965572B (zh) | 2021-11-02 | 2021-11-02 | 一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113965572A CN113965572A (zh) | 2022-01-21 |
CN113965572B true CN113965572B (zh) | 2024-05-14 |
Family
ID=79468999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111289924.4A Active CN113965572B (zh) | 2021-11-02 | 2021-11-02 | 一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965572B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115733613B (zh) * | 2022-10-18 | 2024-09-20 | 超聚变数字技术有限公司 | 文件校验方法、设备和存储介质 |
CN115865673B (zh) * | 2022-11-30 | 2024-05-24 | 上海佰贝网络工程技术有限公司 | 区块链数据分发加速方法、装置、设备及可读存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000353063A (ja) * | 1999-04-08 | 2000-12-19 | Seiko Epson Corp | 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、および、そのためのプログラムを記録した記録媒体 |
GB0201997D0 (en) * | 2001-01-31 | 2002-03-13 | Pacific Design Inc | Data processing system data processing apparatus and control method for a data processing apparatus |
KR20040000953A (ko) * | 2002-06-26 | 2004-01-07 | 삼성전자주식회사 | 패킷 데이터 통신시스템에서 패킷 데이터 처리장치 |
CN101867972A (zh) * | 2010-06-29 | 2010-10-20 | 中国科学院计算技术研究所 | 无线链路控制层非确认模式下的数据传输方法 |
CN107896160A (zh) * | 2017-10-27 | 2018-04-10 | 中国科学技术大学 | 一种基于分布式系统的数据中心网络流量建模方法 |
CN110213572A (zh) * | 2019-06-13 | 2019-09-06 | 上海佰贝科技发展股份有限公司 | 一种播出链路中过滤误报警方法 |
CN110531924A (zh) * | 2019-05-31 | 2019-12-03 | 杭州复杂美科技有限公司 | 用于扩展区块链存储容量的方法和设备、存储介质及系统 |
KR20200039132A (ko) * | 2018-10-05 | 2020-04-16 | 서강대학교산학협력단 | 블록체인 네트워크에서의 데이터 저장 용량 확장 방법 |
CN111046008A (zh) * | 2019-12-05 | 2020-04-21 | 上海英方软件股份有限公司 | 一种文件实时同步分发系统及方法 |
CN111400263A (zh) * | 2020-03-16 | 2020-07-10 | 上海英方软件股份有限公司 | 一种基于文件变化的监控回切方法及装置 |
CN111599425A (zh) * | 2020-04-27 | 2020-08-28 | 合肥工业大学 | 基于区块链面向节点动态的分层电子病历存储方法及装置 |
CN113033165A (zh) * | 2019-12-24 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 电子表格文件解析方法、装置和计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191243B2 (en) * | 2001-11-15 | 2007-03-13 | Microsoft Corporation | Scheduling and multiplexing data for broadcast transmission over multiple streams |
US20060218251A1 (en) * | 2005-03-14 | 2006-09-28 | Matsushita Electric Industrial Co., Ltd. | AV server, AV contents reproducing apparatus, AV contents transmitting method, program and recording medium |
-
2021
- 2021-11-02 CN CN202111289924.4A patent/CN113965572B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000353063A (ja) * | 1999-04-08 | 2000-12-19 | Seiko Epson Corp | 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、および、そのためのプログラムを記録した記録媒体 |
GB0201997D0 (en) * | 2001-01-31 | 2002-03-13 | Pacific Design Inc | Data processing system data processing apparatus and control method for a data processing apparatus |
KR20040000953A (ko) * | 2002-06-26 | 2004-01-07 | 삼성전자주식회사 | 패킷 데이터 통신시스템에서 패킷 데이터 처리장치 |
CN101867972A (zh) * | 2010-06-29 | 2010-10-20 | 中国科学院计算技术研究所 | 无线链路控制层非确认模式下的数据传输方法 |
CN107896160A (zh) * | 2017-10-27 | 2018-04-10 | 中国科学技术大学 | 一种基于分布式系统的数据中心网络流量建模方法 |
KR20200039132A (ko) * | 2018-10-05 | 2020-04-16 | 서강대학교산학협력단 | 블록체인 네트워크에서의 데이터 저장 용량 확장 방법 |
CN110531924A (zh) * | 2019-05-31 | 2019-12-03 | 杭州复杂美科技有限公司 | 用于扩展区块链存储容量的方法和设备、存储介质及系统 |
CN110213572A (zh) * | 2019-06-13 | 2019-09-06 | 上海佰贝科技发展股份有限公司 | 一种播出链路中过滤误报警方法 |
CN111046008A (zh) * | 2019-12-05 | 2020-04-21 | 上海英方软件股份有限公司 | 一种文件实时同步分发系统及方法 |
CN113033165A (zh) * | 2019-12-24 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 电子表格文件解析方法、装置和计算机可读存储介质 |
CN111400263A (zh) * | 2020-03-16 | 2020-07-10 | 上海英方软件股份有限公司 | 一种基于文件变化的监控回切方法及装置 |
CN111599425A (zh) * | 2020-04-27 | 2020-08-28 | 合肥工业大学 | 基于区块链面向节点动态的分层电子病历存储方法及装置 |
Non-Patent Citations (2)
Title |
---|
《A Method of Equipment Safety Certification Based on Daily Cycle Activity》;Nan Ye;《2021 4th International Conference on Artificial Intelligence and Big Data (ICAIBD)》;20210628;全文 * |
基于命名数据网络的区块链信息传输机制;刘江;霍如;李诚成;邹贵今;黄韬;刘韵洁;;通信学报;20180125(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113965572A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979449B (zh) | 一种数据传输方法及装置 | |
US9531632B2 (en) | Method for controlling flood broadcasts in a wireless mesh network | |
EP2039096B1 (en) | Transmitting additional forward error correction (fec) upon request | |
CN113965572B (zh) | 一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质 | |
CN106656784B (zh) | 用于区块链网络的数据流传播系统及方法 | |
US20160013857A9 (en) | Communication method for relay node and next node of the relay node for network coding | |
CN110418376A (zh) | 数据传输方法及装置 | |
US8094607B2 (en) | Method and system for saving bandwidth during broadcasting/multicasting | |
US9686733B2 (en) | Communication method in a wireless telecommunications network, associated computer program and wireless communication node | |
WO2024098815A1 (zh) | 一种数据传输处理方法、装置、存储介质及电子装置 | |
CN106059936B (zh) | 云系统组播文件的方法及装置 | |
JP2022505424A (ja) | パケット処理方法および装置 | |
US7599368B2 (en) | Communication system | |
CN114185582A (zh) | 基于quic协议的汽车软件在线升级系统及方法 | |
JP5875696B2 (ja) | データ配信システム、配信装置、端末装置、データ配信方法 | |
US7474631B2 (en) | On-demand group communication services with quality of service (QoS) guarantees | |
US9548921B2 (en) | Compression of routing information exchanges | |
US9184928B2 (en) | Communications terminal, communications method, and program and integrated circuit for controlling a reproduction delay time in distributing a stream | |
CN101287270B (zh) | 一种传输业务的方法及装置 | |
US9591058B2 (en) | Rapid recovery method for incomplete file transfer from sender to recipient | |
CN117082054A (zh) | 一种数据传输方法、装置、系统和介质 | |
EP3111594B1 (en) | System, device, and method for communicating data over a mesh network | |
CN111756645B (zh) | 基于区块链安全属性的自组网弹性传输控制方法 | |
CN116389514A (zh) | 一种数据分布式存储的通信处理方法及装置 | |
US7929423B2 (en) | MLPPP sequence number synchronization between the active and standby transmitters |
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 |