区块链数据传输方法、装置、设备和存储介质制造方法及图纸

技术编号:19242734 阅读:31 留言:0更新日期:2018-10-24 05:24
本发明专利技术实施例公开了一种区块链数据传输方法、装置、设备及存储介质。其中,该方法由区块链系统中的节点执行,具体的,该方法包括:确定可通信节点数量;依据所述可通信节点数量从连接的通讯节点中选择同步节点;向选择的同步节点传输数据,使所述同步节点将所述数据向区块链系统中的其他节点进行传输。本发明专利技术实施例提供的技术方案,减少了本机节点的数据传输压力,保证了数据稳定传输,提高了数据的传输效率,从而提高了整个区块链系统的性能。此外,如果本机节点是当前区块生成节点时,也可提高当前区块节点的出块稳定性。

【技术实现步骤摘要】
区块链数据传输方法、装置、设备和存储介质
本专利技术实施例涉及区块链
,尤其涉及一种区块链数据传输方法、装置、设备和存储介质。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链主要解决陌生节点之间的信任和安全问题,所以其中一个显著特点是分布式区块。具体是,在区块链系统将一定时间内的事物提交请求或者一定数量的事物提交请求,交付给当前具有区块生成权的节点;区块生成节点对事物提交请求进行处理形成区块;区块生成节点将区块数据发送给区块链系统中的其他节点,即区块记录节点,其他节点进行同样的处理过程,以验证处理结果是否与区块数据一致,若一致则认可该区块并将该区块添加到区块链中,否则不认可该区块并丢弃。区块生成节点的出块稳定性非常重要,如果区块生成节点不出块则不能得到奖励造成区块生成权浪费,或者区块生成节点不能够按时出块则会面临惩罚。由于每个区块生成节点的带宽资源是有限的,因而区块生成节点上可连接的区块记录节点的数量有限。如果区块生成节点连接的区块记录节点数量过多,或者区块记录节点接收到区块数据之后不及时传输均会导致区块数据传输效率低。
技术实现思路
本专利技术实施例提供了一种区块链数据传输方法、装置、设备和存储介质,能够提高区块数据的传输效率。第一方面,本专利技术实施例提供了一种区块链数据传输方法,由区块链系统中的节点执行,该方法包括:确定可通信节点数量;依据所述可通信节点数量从连接的通讯节点中选择同步节点;向选择的同步节点传输数据,使所述同步节点将所述数据向区块链系统中的其他节点进行传输。第一方面,本专利技术实施例提供了一种区块链数据传输装置,配置于区块链系统中的节点中,该装置包括:数量确定模块,用于确定可通信节点数量;同步节点选择模块,用于依据所述可通信节点数量从连接的通讯节点中选择同步节点;传输模块,用于向选择的同步节点传输数据,使所述同步节点将所述数据向区块链系统中的其他节点进行传输。第三方面,本专利技术实施例还提供了一种设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意所述的区块链数据传输方法。第四方面,本专利技术实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的区块链数据传输方法。本专利技术实施例提供的区块链数据传输方法、装置、设备及存储介质,在本机节点需要将自身的数据传输至区块链系统中的其他节点时,通过依据本机节点自身的特性及需要传输的数据综合分析选择部分通迅节点作为同步节点,并将需要传输的数据传输至与其连接的同步节点,然后由同步节点将数据传输给区块链系统中的其他节点。该方法减少了本机节点的数据传输压力,保证了数据稳定传输,提高了数据的传输效率,从而提高了整个区块链系统的性能。此外,如果本机节点是当前区块生成节点,也可提高当前区块节点的出块稳定性。附图说明图1是本专利技术实施例一中提供的一种区块链数据传输方法的流程图;图2是本专利技术实施例二中提供的一种区块链数据传输方法的流程图;图3是本专利技术实施例三中提供的一种区块链数据传输方法的流程图图4是本专利技术实施例四中提供的一种区块链数据传输装置的结构框图;图5是本专利技术实施例五中提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术实施例,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术实施例相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的区块链数据传输方法的流程图,该方法应用于区块链系统中的节点,所适用的区块链可以是公有链、联盟链或私有链。本实施例可适用于区块链系统中的节点进行数据传输的情况。本实施例的方法可以由本专利技术实施例提供的区块链数据传输装置来执行,该装置可采用软件和/或硬件的方式实现,并可集成于承载区块链系统节点的计算设备中。参见图1,该方法具体包括:S110,确定可通信节点数量。其中,可通信节点数量是指本机节点能够将数据成功发送到的其他节点数量,即若本机节点在一定时间内能够成功向n个其他节点发送数据,则本机节点的可通信节点数量是n。可以通过本机节点自身的特性及需要传输的数据的字节数等综合分析来确定可通信节点数量。本专利技术实施例对确定可通信节点数量的具体方式不限,只要能准确确定可通信节点数量即可。S120,依据可通信节点数量从连接的通讯节点中选择同步节点。其中,通迅节点是指与本机节点建立了网络连接的节点,例如若任一节点依据本机节点的网络信息与本机节点建立网络连接,则该节点属于本机节点的通讯节点。通讯节点的数量可以由本机节点确定,例如数量大于或等于可通信节点数量,本机节点可以不限制通讯节点速录。同步节点是指从通迅节点中选择的,本机节点能够直接传输数据的节点。可选的,本机节点中可以设置有专门用于存储通迅节点信息的信息列表,该信息列表中可存储有各个通迅节点的存储空间、传输速率、硬件性能、数据丢失率、通信性能及防攻击能力等信息。对应的,可依据各个通迅节点的信息中的至少一项或多项的总和进行评分,将评分在前的通迅节点作为同步节点。为了避免出现当前同步节点不能及时将本机节点传输的数据发送至区块链系统中的其他节点的现象,需要实时监测当前同步节点的工作状态。示例性的,若检测到如下任一种情况,则生成选择同步节点的触发事件:本机节点的同步节点出现对本机节点的同步数据的接收异常;以及,本机节点的历史丢块频次大于预设的丢块频次阈值。其中,触发事件是指用于触发选择同步节点的条件;接收异常是指同步节点由于自身通信性能、网络不稳定等因素使得接收数据出现异常的现象,可以是同步节点不能接收到本机节点发送的数据,也可以是同步节点接收到的数据不完整或者是接收的数据是乱码等异常情况。历史丢块频次是指本机节点一段时间内丢块的次数;丢块可以是由本机节点不能及时的将区块传输至同步节点造成的;也可以是同步节点不能将本机节点传输的区块及时传输至区块链系统中的其他节点造成的等。丢块频次阈值是预先设置的用于评估一个节点工作可靠性的一个重要因素,可根据实际情况进行修正。为了保障同步节点能够将本机节点的数据传输至区块链系统中的其他节点,还可以是:本机节点每次需要传输数据时,选择一次同步节点;也可以是检测到本机节点的同步节点中有一个或预设个数个节点收发数据出现异常时,重新选择同步节点。此外,还可以是,在传输数据中过程中,同步节点成功接收并发送数据后向本机节点发送一个成功反馈信息,若本机节点预设时间内没有接收到成功反馈信息,可以从剩余的通迅节点中选择排名在前的节点作为同步节点。S130,向选择的同步节点传输数据,使同步节点将数据向区块链系统中的其他节点进行传输。其中,数据是指本机节点与区块链系统中的其他节点进行交互的信息,可以包括区块链系统中基于共识机制交互的消息、区块链系统中发生的事务提交请求、区块链系统中传输的区块及区块链系统中传输的事务数据查询请求和反馈的查询事务数据等中的至少一种。具体的,本机节点可通过广播的形式将所需要传输的数据传输给同步节点,同步节点接收到该数据后,也以广播的形式将数据传输给本文档来自技高网...

【技术保护点】
1.一种区块链数据传输方法,其特征在于,由区块链系统中的节点执行,所述方法包括:确定可通信节点数量;依据所述可通信节点数量从连接的通讯节点中选择同步节点;向选择的同步节点传输数据,使所述同步节点将所述数据向区块链系统中的其他节点进行传输。

【技术特征摘要】
1.一种区块链数据传输方法,其特征在于,由区块链系统中的节点执行,所述方法包括:确定可通信节点数量;依据所述可通信节点数量从连接的通讯节点中选择同步节点;向选择的同步节点传输数据,使所述同步节点将所述数据向区块链系统中的其他节点进行传输。2.根据权利要求1所述的方法,其特征在于,确定可通信节点数量,包括:确定数据传输时间阈值;依据本机节点的网络条件和所述数据传输时间阈值确定可通信节点数量。3.根据权利要求2所述的方法,其特征在于,确定数据传输时间阈值,包括:若所述数据是所述本机节点生成的区块,则将生成所述区块所需的出块时间作为所述数据传输时间阈值。4.根据权利要求1所述的方法,其特征在于,依据所述可通信节点数量从连接的通讯节点中选择同步节点,包括:依据所述通讯节点的网络条件、硬件性能、稳定性和可信度评级中的至少一项特征,对连接的通讯节点排序;依据排序结果和所述可通信节点数量从连接的通讯节点中选择同步节点。5.根据权利要求1所述的方法,其特征在于,依据所述可通信节点数量从连接的通讯节点中选择同步节点之前,还包括:若检测到如下任一种情况,则生成选择...

【专利技术属性】
技术研发人员:肖伟
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1