一种基于区块链的通信方法、装置及电子设备制造方法及图纸

技术编号:21719020 阅读:28 留言:0更新日期:2019-07-27 21:33
本申请实施例提供一种区块链通信方法、装置及电子设备。其中,区块链通信方法包括:区块链客户端在准备向区块链发送消息时,在所述区块链的多个候选接入节点中选择目标节点;区块链客户端发起针对所述目标节点的连接;若连接成功,则区块链客户端将所述消息发送给所述目标节点。

A Communication Method, Device and Electronic Equipment Based on Block Chain

【技术实现步骤摘要】
一种基于区块链的通信方法、装置及电子设备
本申请实施例涉及数据处理
,尤其涉及一种基于区块链的通信方法、装置及电子设备。
技术介绍
区块链是加密货币的一个重要概念,它本质上是一个去中心化的数据库,同时作为加密货币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次加密货币的网络交易信息,用于验证其信息的有效性和生成下一个区块。在区块链平台开发过程中,迫切需要能够与区块链通信的客户端程序,用于发起于加密货币相关的操作(如交易、查询等)。为此,如何在低资源消耗的要求下,实现区块链客户端与区块链之间的通信是本申请所要解决的技术问题。
技术实现思路
本申请实施例目的是提供一种区块链通信方法、装置及电子设备,能够在低资源消耗的要求下,实现区块链客户端与区块链之间的通信。为了实现上述目的,本申请实施例是这样实现的:第一方面,提供一种区块链通信方法,包括:区块链客户端在准备向区块链发送消息时,在所述区块链的多个候选接入节点中选择目标节点;区块链客户端发起针对所述目标节点的连接;若连接成功,则区块链客户端将所述消息发送给所述目标节点。第二方面,提供一种区块链通信装置,包括:节点选取模块,在区块链客户端准备向区块链发送消息时,在所述区块链的多个候选接入节点中选择目标节点;连接发起模块,起针对所述目标节点的连接;信息发送模块,用于若连接成功,则向目标节点发送通信数据。第三方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:区块链客户端在准备向区块链发送消息时,在所述区块链的多个候选接入节点中选择目标节点;区块链客户端发起针对所述目标节点的连接;若连接成功,则区块链客户端将所述消息发送给所述目标节点。第四方面,提供一种算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:区块链客户端在准备向区块链发送消息时,在所述区块链的多个候选接入节点中选择目标节点;区块链客户端发起针对所述目标节点的连接;若连接成功,则区块链客户端将所述消息发送给所述目标节点。基于本申请实施例的方案,区块链客户端在准备向区块链发送信息时,直接尝试连接区块链中的接入节点,并在连接成功后向接入节点发送信息。由于整个通信过程不需要区块链客户端监听接入节点的可用状态,使得区块链客户端的执行复杂度和资源消耗得到了大幅优化。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的区块链通信方法的第一种流程示意图。图2为本申请实施例提供的区块链通信方法的第二种流程示意图。图3为本申请实施例提供的区块链通信方法的第三种流程示意图。图4为本申请实施例提供的区块链通信装置的结构示意图。图5为本申请实施例提供的电子设备的结构示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。如前所述,在区块链平台开发过程中,迫切需要能够与区块链通信的客户端程序,用于发起与加密货币相关的操作。为此,本申请旨在提供一种低资源消耗的区块链客户端与区块链之间的通信方案。图1是本申请实施例区块链通信方法的流程图。图1所示的方法可以由下文相对应的装置执行,包括:步骤S102,区块链客户端在准备向区块链发送消息时,在区块链的多个候选接入节点中选择目标节点。在本步骤中,区块链客户端可以基于预先设置的选取方式,从可用的多个候选接入节点中选取目标节点。比如,区块链客户端可以基于优先级权重,挑选优先级最高的候选接入节点作为目标节点。再比如,电子设备可以采用轮询方式挑选出一个候选接入节点作为目标节点。由于目标节点的选取方式并不唯一,本申请实施例不作具体限定。步骤S104,区块链客户端发起针对目标节点的连接。在本步骤中,预先设置允许区块链客户端向目标节点发起连接的次数。区块链客户端在预设时间段内持续发起针对目标节点的连接,直至连接成功,或者连接失败次数达到预设次数。其中,为了避免区块链客户端在发起连接的过程中消耗过多资源,预设次数以不少于2次且不多于4次为宜。步骤S106,若连接成功,则区块链客户端将消息发送给目标节点。应理解,目标节点作为区块链的接入节点,可以将接收的消息进一步发送至区块链服务端。基于图1所示的区块链通信方法,区块链客户端在准备向区块链发送信息时,直接尝试连接区块链中的接入节点,并在连接成功后向接入节点发送信息。由于整个通信过程不需要区块链客户端监听接入节点的可用状态,使得区块链客户端的执行复杂度和资源消耗得到了大幅优化。在上述基础之上,本申请实施例的方法还可以在区块链客户端与目标节点连接失败时,重新执行上述步骤S102至上述步骤S106。即,只要有可连接的候选接入节点,区块链客户端就一定能成功发送出消息。下面对区块链通信方法进行详细介绍。在本申请实施例中,区块链客户端可以在多个候选接入节点中设置区块链客户端的主节点和备节点。其中,主节点选作为目标节点的优先级高于备节点。作为一种实现方案,区块链客户端在准备向区块链发送消息时,启动通信线程,以获取接入区块链的多个候选接入节点。之后,区块链客户端在多个候选接入节点中配置区块链客户端的主节点和备节点具体地,区块链客户端可以基于候选接入节点的优先级权重,从上述多个候选接入节点中选取优先级最高的候选接入节点作为主节点,其余候选接入节点作为备节点。比如,区块链客户端基于通信线程获取到候选接入节点1、候选接入节点2和选接入节点3。其中,候选接入节点1对应的优先级权重为Ⅲ,候选接入节点2对应的优先级权重为Ⅲ,候选接入节点3对应的优先级权重为Ⅰ。若优先级权重与取值成正比,则区块链客户端可以将候选接入节点1作为主节点,并将候选接入节点2和候选接入节点3作为备节点。作为另一种实现方案,区块链客户端在准备向区块链发送消息时,启动通信线程,以获取接入区块链的多个候选接入节点。之后,区块链客户端基于本地缓存的历史节点配置信息,从多个候选接入节点中确定出区块链客户端的主节点和备节点。具体地,区块链客户端可以在准备发送消息时,沿用先前配置的主节点和备节点。比如,区块链客户端基于通信线程获取到候选接入节点1至候选接入节点8。其中,若历史节点配置信指示候选接入节点5曾经作为过区块链客户端的主节点,则区块链客户端在本次发送消息时,直接沿用候选接入节点5作为主节点,其余候选接入节点1-4、6-8作为备节点。在确定主节点后,区块链客户端可以将主节点作为目标节点,并尝试发起针对目标节点的连接。其中,若无法连接主节点(比如连接主节点失败的次数大于预定阈值),则区块链客户端可以在区块链的多个候选接入节点中选择本文档来自技高网
...

【技术保护点】
1.一种区块链通信方法,包括:区块链客户端在准备向区块链发送消息时,在所述区块链的多个候选接入节点中选择目标节点;区块链客户端发起针对所述目标节点的连接;若连接成功,则区块链客户端将所述消息发送给所述目标节点。

【技术特征摘要】
1.一种区块链通信方法,包括:区块链客户端在准备向区块链发送消息时,在所述区块链的多个候选接入节点中选择目标节点;区块链客户端发起针对所述目标节点的连接;若连接成功,则区块链客户端将所述消息发送给所述目标节点。2.根据权利要求1所述的方法,在区块链客户端在所述区块链的多个候选接入节点中选择目标节点之前,所述方法还包括:区块链客户端启动通信线程,以获取接入区块链的多个候选接入节点;区块链客户端在所述多个候选接入节点中配置所述区块链客户端的主节点和备节点,其中,所述主节点选为所述目标节点的优先级高于所述备节点。3.根据权利要求1所述的方法,在区块链客户端在所述区块链的多个候选接入节点中选择目标节点之前,所述方法包括:区块链客户端启动通信线程,以获取接入区块链的多个候选接入节点;区块链客户端基于本地缓存的历史节点配置信息,从多个候选接入节点中确定出所述区块链客户端的主节点和备节点。4.根据权利要求2或3所述的方法,区块链客户端在所述区块链的多个候选接入节点中选择目标节点,包括:区块链客户端在区块链的多个候选接入节点中选择主节点作为目标节点。5.根据权利要求2或3所述的方法,区块链客户端在区块链的多个候选接入节点中选择目标节点,还包括:当连接主节点失败的次数大于预定阈值时,区块链客户端在区块链的多个候选接入节点中选择备节点作为更新后的主节点,并将更新后的主节点作为所述目标节点。6.根据...

【专利技术属性】
技术研发人员:尚辉辉
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1