一种通信连接的控制方法及相关设备与流程

文档序号:20020125发布日期:2020-02-25 11:28阅读:217来源:国知局
一种通信连接的控制方法及相关设备与流程
本申请涉及通信
技术领域
,尤其涉及一种通信连接的控制方法及相关设备。
背景技术
:区块链技术是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链技术凭借其不依赖于第三方管理机构或硬件设施等优势,被应用到公共服务领域、物联网和物流领域、保险领域、金融领域等与民众生活息息相关的领域。目前,区块链网络中的两个节点设备之间可建立多条通信通道,使得部分通信通道长期处于空闲状态,进而造成资源的浪费。因此如何避免区块链网络中节点设备之间的重复连接,成为当前研究的热点话题。技术实现要素:本申请实施例提供了一种通信连接的控制方法及相关设备,使得区块链网络中的区块链节点设备之间只建立一条通信通道,进而节省区块链节点设备的资源。第一方面,本申请实施例提供了一种通信连接的控制方法,该方法具体包括:第一区块链节点设备接收第二区块链节点设备发送的第一连接请求,所述第一连接请求包括第二区块链节点设备的设备标识;第一区块链节点设备检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识,所述第一预设设备标识库中包括与第一区块链节点设备之间建立通信通道的至少一个区块链节点设备的设备标识;若存在,则第一区块链节点设备生成第一通知消息,并将第一通知消息发送给第二区块链节点设备,所述第一通知消息用于指示第一区块链节点设备拒绝响应第一连接请求。第二方面,本申请实施例提供了一种区块链节点设备,该区块链节点设备具有实现第一方面所述的控制区块链节点设备之间的通信连接的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或者软件包括一个或者多个与上述功能相对应的模块。在一种实现方式中,该区块链节点设备包括:接收模块、检测模块、生成模块、发送模块。其中,接收模块,用于接收第二区块链节点设备发送的第一连接请求;检测模块,用于检测在第一预设设备标识库中是否存在所述第二区块链节点设备的设备标识;生成模块,用于生成第一通知消息;发送模块,用于将所述第一通知消息发送给所述第二区块链节点设备。第三方面,本申请实施例提供了一种区块链节点设备,该区块链节点设备具有实现第一方面所述的控制区块链节点设备之间的通信连接的功能。该区块链节点设备包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接。其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用于执行第一方面所涉及到的操作。第四方面,本申请实施例提供了一种计算机可读存储介质,用于存储为区块链节点设备所用的计算机程序,其包含用于执行上述第一方面所述的程序。通过本申请实施例,第一区块链节点设备与第二区块链节点设备之间成功建立通信通道后,第一区块链节点设备可存储第二区块链节点设备的设备标识,当后续接收到该第二区块链节点设备的连接请求时,依据存储的设备标识去拒绝响应连接请求,可避免区块链节点设备之间建立多条通信通道,节省区块链节点设备的资源。附图说明为了更清楚地说明本申请实施例或
背景技术
中的技术方案,下面将对本申请实施例中所需要使用的附图进行说明。图1是本申请实施例公开的一种区块链网络的架构示意图;图2是本申请实施例公开的一种两个区块链节点设备之间建立两条通信通道的示意图;图3是本申请实施例公开的一种通信通道的控制方法的流程示意图;图4是本申请实施例公开的一种通信通道的控制方法的流程示意图;图5是本申请实施例公开的另一种通信通道的控制方法的流程示意图;图6是本申请实施例公开的一种区块链节点设备维护ip地址库的示意图;图7是本申请实施例公开的一种区块链节点设备接收节点设备的连接请求的示意图;图8是本申请实施例公开的一种区块链节点设备的结构示意图;图9是本申请实施例公开的又一种区块链节点设备的结构示意图。具体实施方式下面结合本申请实施例中的附图对本申请实施例进行描述。本申请实施例涉及区块链技术,其中,区块链(blockchain,bc)是分布式数据存储、共识机制、加密算法等计算机技术的新型应用模式。区块链技术具有去中心化、开放性、独立性、安全性和匿名性等特征。一般地,传统的交易模型是基于中心化思维构建的交易模型,即交易双方在不信任对方的前提下,会促进第三方中心化的形成,第三方作为仲裁者,在交易过程中,见证交易双方的活动。而区块链技术的去中心化特征是指在区块链网络中,每一个节点设备都存储数据,通过分布式存储实现数据的冗余,让所有节点有能力彼此维护数据库的安全,使得整个交易自主化、简单化。区块链网络中的区块链节点设备的类型可以包括但不限于:全节点、spv节点(simplifiedpaymentverification,简单支付验证)、区块链网络中其他节点类型。其中,全节点是指存储有完整区块链的节点,全节点能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证。全节点通常是高性能的计算设备。spv节点也可称为轻型节点,spv节点是指只保存了区块链的一部分的节点。例如,spv节点只存储了区块链中所有的区块头信息以及与自身信息相关的区块信息,并不存储完整的区块链。spv节点是依靠全节点存在的节点,不用为区块链网络提供算力。因此,spv节点多为移动终端,例如为智能手机、平板电脑或移动计算机等。以图1所示的区块链网络的架构示意图为例,区块链网络包括彼此连接的多台计算机,这些计算机又称为区块链节点设备。例如,图1所示的区块链节点设备1、区块链节点设备2、区块链节点设备3、区块链节点设备4均为区块链网络中对等的区块链节点设备。各个区块链节点设备之间可建立通信通道,区块链节点设备利用该通信通道传输各类交易数据,以实现区块链网络中的各个区块链节点设备对数据的共同维护的功能。即使区块链网络呈现上述优势,但目前,区块链技术也存在一定的缺陷。例如,区块链网络中的区块链节点设备设备之间可能建立多条通信通道的情况,使得多条通信通道中总存在空闲的通信通道,造成区块链节点设备资源的浪费。以图2所示来说明:区块链网络中的区块链节点设备之间存在多条通信通道的情况。在图2中,区块链网络中的区块链节点设备包括:区块链节点设备201、区块链节点设备202。其中,区块链节点设备201与区块链节点设备202之间建立了第一通信通道和第二通信通道。当区块链节点设备201通过第一通信通道向区块链节点设备202传输数据时,第二通信通道处于空闲状态。同理,当区块链节点设备201通过第二通信通道向区块链节点设备202传输数据时,第一通信通道处于空闲状态。事实上,区块链节点设备201和区块链节点设备202之间可以只依靠第一通信通道(第二通信通道)进行数据的传输,进而避免多余的通信通道处于空闲状态,实现节省区块链节点设备的资源。为了解决上述提及到的关于区块链网络中的区块链节点设备之间重复建立通信通道,造成资源浪费的问题。本申请实施例提出了一种通信通道的控制方法及相关设备,可在两个区块链节点设备之间只建立一条通信通道,进而实现减少区块链节点设备的资源浪费。本申请提出一种通信通道的控制方案,该方案具体实施过程包括:第一区块链节点设备接收第二区块链节点设备的发送的第一连接请求,所述第一连接请求中包括第二区块链节点设备的设备标识;第一区块链节点设备从第一连接请求中获取上述的第二区块链节点设备的设备标识,并在第一区块链节点设备的第一预设设备标识库中检测,是否存在上述的第二区块链节点设备的设备标识;若存在,则第一区块链节点设备生成第一通知消息,并将所述第一通知消息发送给第二区块链节点设备,所述第一通知消息用于指示第一区块链节点设备拒绝响应第一连接请求。需要说明的是,上述提及到的第二区块链节点设备也可以被称为第三区块链节点设备、第四区块链节点设备等等,本申请实施例对此不作限定。通过实施本申请实施例,第一区块链节点设备获取第二区块链节点设备的设备标识,并检测第二区块链的设备标识是否存在于第一区块链节点设备的第一预设设备标识库。若存在,则第一区块链节点设备拒绝响应第一连接请求。也就是说,第一区块链节点设备检测到第一区块链节点设备与第二区块链节点设备已经建立了通信通道,所以第一区块链节点设备拒绝与第二区块链节点设备再次建立通信通道。因此,可实现两个区块链节点设备之间只建立一条通信通道,进而减少浪费区块链节点设备的资源。请参见图3,图3是本申请实施例提供的一种通信通道的控制方法的流程示意图,该方法包括但不限于如下步骤:步骤s301:第一区块链节点设备接收第二区块链节点设备发送的第一连接请求。其中,所述第一区块链节点设备可以是区块链网络中的任意区块链节点设备。所述第一连接请求是第二区块链节点设备向第一区块链节点设备发起连接的请求,所述第一连接请求中可包括第二区块链节点设备的设备标识。具体地,第二区块链节点设备可以将包含第二区块链节点设备的设备标识的第一连接请求发送给第一区块链节点设备。步骤s302:第一区块链节点设备检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识。其中,第一区块链节点设备中存在第一预设设备标识库,并且,所述第一预设设备标识库中包括:与第一区块链节点设备成功建立通信通道的区块链节点设备的设备标识。所述区块链节点设备的设备标识用于唯一标识该区块链节点设备的身边身份。在一种实现方式中,第一预设设备标识库中存在第二区块链节点设备的设备标识。那么第一区块链节点设备确定第一区块链节点设备在接收到第二区块链节点设备发送的第一连接请求之前,第一区块链节点设备与第二区块链节点设备之间存在通信通道。在一种实现方式中,第一预设设备标识库中不存在第二区块链节点设备的设备标识。那么第一区块链节点设备建立与第二区块链节点设备之间的通信通道,并获取第二区块链节点设备的设备标识,且将第二区块链节点设备的设备标识存储至第一预设设备标识库中。也就是说,第一区块链节点设备确定第一区块链节点设备与第二区块链节点设备之间还未建立通信通道,那么第一区块链节点设备建立与第二区块链节点设备之间的通信通道。步骤s303:若存在,第一区块链节点设备生成第一通知消息。其中,所述第一通知消息用于指示第一区块链节点设备拒绝响应所述第一连接请求,所述第一通知消息是第一区块链节点设备在检测到第一预设设备标识库中存在第二区块链节点设备的设备标识时生成的。也就是说,第一区块链节点设备与第二区块链节点设备之间已经存在通信通道,因此第一区块链节点设备和第二区块链节点设备不需要再次建立通信通道。步骤s304:第一区块链节点设备将第一通知消息发送给第二区块链节点设备。第一区块链节点设备将第一通知消息发送给第二区块链节点设备,以至于第二区块链节点设备可知晓:第一区块链节点设备与第二区块链节点设备之间已经存在通信通道,因此第一区块链节点设备不响应第一连接请求。可见,第一区块链节点设备通过检测第一预设设备标识库中是否存在第二区块链节点设备的设备标识,可以确定出与第二区块链节点设备之间是否建立通信通道。可避免第一区块链节点设备与第二区块链节点设备之间建立多次通信通道,进而减少区块链节点设备的资源浪费。图4是本申请实施例提供的另一种通信通道的控制方法的流程示意图,该方法包括但不限于步骤s401~步骤s410,其中:步骤s401:第一区块链节点设备接收第二区块链节点设备发送的第一连接请求。所述第一连接请求中包括:第二区块链节点设备的设备标识。步骤s402:第一区块链节点设备检测第二区块链节点设备的ip地址是否存在于第一区块链节点设备的ip地址库中。其中,第一区块链节点设备的ip地址库中包括:区块链网络中可以与第一区块链节点设备之间建立通信通道的区块链节点设备的ip地址。也就是指,第一区块链节点设备可维护一个ip地址库,所述ip地址库中包括至少一个区块链节点设备的ip地址。并且,存在于该ip地址库中的ip地址对应的区块链节点设备均可与第一区块链节点设备之间建立通信通道。以图6为例,区块链网络中包括:第一区块链节点设备601、第二区块链节点设备602、第二区块链节点设备603、第二区块链节点设备604等等。其中,第一区块链节点设备601维护一个ip地址库,在该ip地址库中存在第二区块链节点设备602、第二区块链节点设备603、第二区块链节点设备604的ip地址。也就是说,第一区块链节点设备可以和第二区块链节点设备602、第二区块链节点设备603、第二区块链节点设备604之间建立通信通道。以第一区块链节点设备维护的ip地址库为例。区块链节点设备名称区块链节点设备的ip地址第二区块链节点设备602117.114.151.174第二区块链节点设备603117.116.189.145……第二区块链节点设备604119.123.789.258如图6所示,若第一区块链节点设备601接收到第二区块链节点设备603的连接请求,并且第一区块链节点设备获取第二区块链节点设备的ip地址,该ip地址为117.116.189.145。那么第一区块链节点设备通过检测可知:在第一区块链节点设备601的ip地址库中存在所述第二区块链节点设备603的ip地址,所以第一区块链节点设备可以和第二区块链节点设备603之间建立通信通道。在一种实现方式中,第一区块链节点设备可以接收第二区块链节点设备发送的第二区块链节点设备的ip地址。第一区块链节点设备检测接收的第二区块链节点设备的ip地址是否存在于第一区块链节点设备的ip地址库中。若第一区块链节点设备的ip地址库中存在第二区块链节点设备的ip地址,则触发第一区块链节点设备检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识的步骤。在一种实现方式中,第一区块链节点设备可以从第一连接请求中获取第二区块链节点设备的ip地址。第一区块链节点设备检测接收的第二区块链节点设备的ip地址是否存在于第一区块链节点设备的ip地址库中。若第一区块链节点设备的ip地址库中存在第二区块链节点设备的ip地址,则触发第一区块链节点设备检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识的步骤。步骤s403:若第二区块链节点设备的ip地址存在于第一区块链节点设备的ip地址库中,则第一区块链节点设备检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识。第一预设设备标识库中包括:与所述第一区块链节点设备之间建立通信通道的至少一个区块链节点设备的设备标识。在一种实现方式中,若第一预设设备标识库中存在第二区块链节点的设备标识。那么第一区块链节点设备确定:第一区块链节点设备在接收第二区块链节点设备发送的第一连接请求之前,第一区块链节点设备与第二区块链节点设备之间建立了通信通道。可选的,第一区块链节点设备可以生成第一通知消息,并将第一通知消息发送给第二区块链节点设备,所述第一通知消息用于指示第一区块链节点设备拒绝响应第一连接请求。在一种实现方式中,若第一预设设备标识库中不存在第二区块链节点的设备标识。那么第一区块链节点设备确定:第一区块链节点设备与第二区块链节点设备之间不存在通信通道,则第一区块链节点设备建立与第二区块链节点设备之间的通信通道。步骤s404:若第一预设设备标识库中不存在第二区块链节点设备的设备标识,则第一区块链节点设备建立与第二区块链节点设备之间的通信通道,并获取第二区块链节点设备的设备标识。在一种实现方式中,第一区块链节点设备可基于第二区块链节点设备的ip地址,得到第二区块链节点设备的设备标识。详细地,第一区块链节点设备可以对第二区块链节点设备的ip地址进行哈希算法,得到二进制数值,并将所述二进制数值作为第二区块链节点设备的设备标识。需要说明的是,上述提及到的哈希算法是一种可以将任意长度的输入经过变化以后得到固定长度的输出。常见的,哈希算法也称为散列函数,并且哈希算法可以包括:md4、md5、sha-1等等。以md5算法为例,md5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过处理之后,md5码的输出由四个32位分组组成,将这32位分组级联后将生成一个128位散列值。在一种实现方式中,第一区块链节点设备可接收第二区块链节点设备发送的识别码,并将该识别码确定为第二区块链节点设备的设备标识。需要说明的是,上述提及到的识别码是可以代表第二区块链节点设备身份的识别码。常见的,识别码可以为sn码(serialnumber,产品序列号)、imei(internationalmobileequipmentidentity,国际移动设备识别码)、imsi(internayionalmobilesubscriberidentificationnumber,国际移动用户识别码)等等。以imsi为例,imsi储存于sim卡中,可用于区别移动用户的有效信息,并且imsi码的总长度不超过15位。在一种实现方式中,第一区块链节点设备还可将获取的第二区块链节点设备的设备标识存储至第一预设设备标识库中。具体地,第一区块链节点设备将第二区块链节点设备的设备标识存储至第一预设设备标识库中,有助于:当第一区块链节点设备后续接收到第二区块链节点设备的连接请求时,第一区块链节点设备可以根据第二区块链节点设备的设备标识去拒绝连接请求。步骤s405:第一区块链节点设备生成第二通知消息。所述第二通知消息用于指示第一区块链节点设备成功建立与第二区块链节点设备之间的通信通道。所述第二通知消息是第一区块链节点设备在第一区块链节点设备与第二区块链节点设备之间建立通信通道时生成的。步骤s406:第一区块链节点设备将第二通知消息发送给第二区块链节点设备。第二区块链节点设备接收第二通知消息,第二区块链节点设备可得知:第一区块链节点设备与第二区块链节点设备之间已经成功建立通信通道。步骤s407:第二区块链节点设备将第一区块链节点设备的设备标识存储至第二预设设备标识库中。所述第二预设设备标识库中包括:与第二区块链节点设备之间建立通信通道的区块链网络中的至少一个区块链节点设备的设备标识。在一种实现方式中,第二区块节点设备可接收第一区块链节点设备发送的第一区块链节点设备的设备标识。相应的,第二区块链节点设备将第一区块链节点设备的设备标识存储至第二预设设备标识库中。在一种实现方式中,第二区块链节点设备可从第一区块链节点设备发送的第二通知消息中获取第一区块链节点的ip地址,并基于该ip地址生成第一区块链节点设备的设备标识。详细地,第二区块链节点设备可对第一区块链节点设备的ip地址进行哈希算法,得到二进制数值,并将该二进制数值确定为第一区块链节点设备的设备标识。相应的,第二区块链节点设备将该第一区块链节点设备的设备标识存储至第二预设设备标识库中。步骤s408:第一区块链节点设备将第二连接请求发送给第二区块链节点设备。所述第二连接请求中包括:第一区块链节点设备的设备标识。步骤s409:第二区块链节点设备检测到第二预设设备标识库中存在第一区块链节点设备的设备标识。具体地,通过上述描述可知,第一区块链节点设备与第二区块链节点设备之间建立通信通道之后,第二区块链节点设备也可将第二区块链节点设备将第一区块链节点设备的设备标识存储至第二预设设备标识库中。因此,当第二区块链节点设备后续接收到第一区块链节点设备的第二连接请求时,第二区块链节点设备可以基于第一区块链节点设备的设备标识去拒绝响应该第二连接请求。可知,第一区块链节点设备建立与第二区块链节点设备之间的通信通道后,可通知第二区块链节点设备存储第一区块链节点设备的设备标识。可使第一区块链节点设备和第二区块链节点设备分别存储对方的设备标识,进而避免任何一方发起连接请求时,建立多条通信通道。步骤s410:第二区块链节点设备生成第三通知消息。所述第三通知消息用于指示第二区块链节点设备拒绝响应第二连接请求,所述第三通知消息是第二区块链节点设备在检测到第二预设设备标识库中存在第一区块链节点设备的设备标识时生成的。步骤s411:第二区块链节点设备将第三通知消息发送给第一区块链节点设备。可知,第一区块链节点设备通过检测第二区块链节点设备的ip地址,是否存在于第一区块链节点设备的ip地址库,可确保第一区块链节点设备只与ip地址库中的ip地址对应的区块链节点设备建立通信通道。参见图5,图5是本申请实施例提供的又一种通信连接的控制方法的流程示意图,该方法具体实施过程包括但不限于步骤s501~步骤s511,其中:步骤s501:第一区块链节点设备接收第二区块链节点设备发送的第一连接请求。所述第一连接请求中包括第二区块链节点设备的设备标识。步骤s502:第一区块链节点设备检测第二区块链节点设备是否属于第一区块链节点设备所属的区块链网络。具体地,第一区块链节点设备可以检测第二区块链节点设备是否属于第一区块链节点设备所属区块链网络中的区块链节点设备。若第二区块链节点设备属于第一区块链节点设备所属的区块链网络,则触发第一区块链节点设备检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识的步骤。比如以图7所示,区块链网络中的区块链节点设备包括:第一区块链节点设备701、第二区块链节点设备702、第二区块链节点设备703、第二区块链节点设备704等等。现有区块链网络以外的节点设备705向第一区块链节点设备701发送连接请求,则第一区块链节点设备在确定该节点设备701不属于区块链网络的节点设备时,可拒绝响应该连接请求。同理,若第二区块链节点设备703向第一区块链节点设备701发送连接请求,则第一区块链节点设备701确定该第二区块链节点设备703是属于第一区块链节点设备所属的区块链网络,并且第一区块链节点设备未与第二区块链节点设备之间建立通信通道。因此,第一区块链节点设备可成功响应第二区块链节点设备703发送的连接请求。步骤s503:若第二区块链节点设备属于第一区块链节点设备所属的区块链网络,则第一区块链节点设备检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识。步骤s504:若第一预设设备标识库中不存在第二区块链节点设备的设备标识,则第一区块链节点设备建立与第二区块链节点设备之间的通信通道,并获取第二区块链节点设备的设备标识。在一种实现方式中,第一区块链节点设备还可将第二区块链节点设备的设备标识存储至第一预设设备标识库中。以便于后续,第一区块链节点设备接收到第二区块链节点设备的连接请求时,第一区块链节点设备可依据该第二区块链节点设备的设备标识去拒绝第二区块链节点设备的连接请求。进而避免第一区块链节点设备与第二区块链节点设备之间建立两条通信通道。步骤s505:第一区块链节点设备生成第二通知消息。所述第二通知消息用于指示第一区块链节点设备成功建立与第二区块链节点设备之间的通信通道。所述第二通知消息是第一区块链节点设备在第一区块链节点设备与第二区块链节点设备之间建立通信通道时生成的。步骤s506:第一区块链节点设备将第二通知消息发送给第二区块链节点设备。步骤s507:第二区块链节点设备将第一区块链节点设备的设备标识存储至第二预设设备标识库中。第二预设设备标识库中包括:与第二区块链节点设备之间成功建立通信通道的至少一个区块链节点设备。步骤s508:第一区块链节点设备将第二连接请求发送给第二区块链节点设备。所述第二连接请求中包括:第一区块链节点设备的设备标识。步骤s509:第二区块链节点设备检测到第二预设设备标识库中存在第一区块链节点设备的设备标识。步骤s510:第二区块链节点设备生成第三通知消息。所述第三通知消息用于指示第二区块链节点设备拒绝响应第二连接请求,所述第三通知消息是第二区块链节点设备在检测到第二预设设备标识库中存在第一区块链节点设备的设备标识时生成的。步骤s511:第二区块链节点设备将第三通知消息发送给第一区块链节点设备。需要说明的是,步骤s503~步骤s511的具体实施过程与图4中步骤s403~步骤s411的实施过程相同或相似,在此不作赘述。可知,第一区块链节点设备检测第一连接请求中的第二区块链节点设备,是否属于第一区块链节点设备所属区块链网络中的区块链节点设备。可确保第一区块链节点设备与第一区块链节点设备所属区块链网络中的区块链节点设备之间进行连接。请参见图8,图8是本申请实施例提供的一种区块链节点设备的结构示意图,该区块链节点设备8用于执行图3~图5对应的方法实施例中第一区块链节点设备所执行的步骤,该区块链节点设备8可包括:接收模块801,用于接收第二区块链节点设备发送的第一连接请求,所述第一连接请求包括第二区块链节点设备的设备标识;检测模块802,用于检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识,所述第一预设设备标识库中包括:与第一区块链节点设备之间建立通信通道的至少一个区块链节点设备的设备标识;生成模块803,用于生成第一通知消息;发送模块804,用于将第一通知消息发送给第二区块链节点设备,所述第一通知消息用于指示第一区块链节点设备拒绝响应第一连接请求。在一种实现方式中,检测模块802还包括建立单元8021,生成模块803还包括生成单元8031、存储单元8032,其中:检测模块802检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识之后,还包括:若所述第一预设设备标识库中不存在所述第二区块链节点设备的设备标识,则建立单元8021,用于建立与所述第二区块链节点设备之间的通信通道;接收模块801,用于获取第二区块链节点设备的设备标识;存储单元8032,用于将第二区块链节点设备的设备标识存储至第一预设设备标识库中。在一种实现方式中,检测模块802检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识之前,还包括:接收模块801,用于获取第二区块链节点设备的ip地址;检测模块802,用于检测在第一区块链节点设备的ip地址库中,是否存在第二区块链节点设备的ip地址;若第一区块链节点设备的ip地址库中存在第二区块链节点设备的ip地址,则触发检测模块802检测在第一预设设备标识库中是否存在所述第二区块链节点设备的设备标识的步骤。在一种实现方式中,检测模块802检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识之前,还包括:检测模块802,用于检测第二区块链节点设备是否属于第一区块链节点设备所属区块链网络中的区块链节点设备;若第二区块链节点设备属于第一区块链节点设备所属的区块链网络,则触发检测模块802检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识的步骤。在一种实现方式中,检测模块802还包括建立单元8021,生成模块803还包括生成单元8031、存储单元8032,其中:接收模块801获取第二区块链节点设备的设备标识,包括:生成单元8031,用于对第二区块链节点设备的ip地址进行哈希算法,得到二进制数值;并将二进制数值确定为第二区块链节点设备的设备标识。在一种实现方式中,检测模块802还包括建立单元8021,生成模块803还包括生成单元8031、存储单元8032,其中:接收模块801获取第二区块链节点设备的设备标识,包括:接收模块801,用于接收所述第二区块链节点设备发送的识别码;并将第二区块链节点设备的识别码确定为第二区块链节点设备的设备标识。在一种实现方式中,检测模块802还包括建立单元8021,生成模块803还包括生成单元8031、存储单元8032,其中:建立单元8021建立与第二区块链节点设备之间的通信通道之后,还包括:生成模块803,用于生成第二通知消息,所述第二通知消息用于指示第一区块链节点设备成功建立与第二区块链节点设备之间的通信通道;发送模块804,用于将第二通知消息发送给第二区块链节点设备,以使第二区块链节点设备获取第一区块链节点设备的设备标识,所述第二区块链节点设备将所述第一区块链节点设备的设备标识存储到所述第二区块链节点设备的第二预设设备标识库中;发送模块804,用于将第二连接请求发送给第二区块链节点设备,以使第二区块链节点设备检测在第二预设设备标识库中是否存在第一区块链节点设备的设备标识;接收模块801,用于接收第二区块链节点设备发送的第三通知消息,所述第三通知消息用于指示第二区块链节点设备拒绝响应第二连接请求,所述第三通知消息是第二区块链节点设备在检测到第二预设设备标识库中存在第一区块链节点设备的设备标识时生成的。需要说明的是,图8对应的实施例中未提及的内容以及各个模块执行步骤的具体实现方式可参见图3~图5所示实施例以及前述内容,这里不作赘述。在一种实现方式中,图8中的各个模块所实现的相关功能可以结合处理器与通信接口来实现。参见图9,图9是本申请实施例提供的一种区块链节点设备的结构示意图,该区块链节点设备9包括处理器901、存储器902、通信接口903,所述处理器901、所述存储器902、所述通信接口903通过一条或多条通信总线连接。处理器901被配置为支持区块链节点设备执行图3~图5所述方法中第一区块链节点设备相应的功能。该处理器901可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),硬件芯片或者其任意组合。存储器902用于存储程序代码等。存储器902可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram);存储器902也可以包括非易失性存储器(non-volatilememory),例如只读存储器(readonlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solidstatedrive,ssd);存储器902还可以包括上述种类的存储器的组合。通信接口903用于接收和发送数据,例如,通信接口903用于接收第二区块链节点设备发送的第一连接请求;或者,通信接口903用于获取第二区块链节点设备的设备标识;或者,通信接口903用于将第一通知消息发送给第二区块链节点设备等。在本申请实施例中,该节点设备9包括多个通信接口,其中,用于发送数据的通信接口和用于接收数据的通信接口可以不为同一个通信接口。处理器901可以调用存储器902中存储的程序代码以执行以下操作:通过通信接口903可以接收第二区块链节点设备发送的第一连接请求;检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识,所述第一预设设备标识库中包括:与第一区块链节点设备之间建立通信通道的至少一个区块链节点设备的设备标识;生成第一通知消息;并将第一通知消息发送给第二区块链节点设备,所述第一通知消息用于指示第一区块链节点设备拒绝响应第一连接请求。在一种实现方式中,处理器901检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识之后,还包括:若所述第一预设设备标识库中不存在所述第二区块链节点设备的设备标识,则处理器901,用于建立与所述第二区块链节点设备之间的通信通道;通信接口903,用于获取第二区块链节点设备的设备标识;处理器901,用于将第二区块链节点设备的设备标识存储至第一预设设备标识库中。在一种实现方式中,处理器901检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识之前,还包括:通信接口903,用于获取第二区块链节点设备的ip地址;处理器901,用于检测在第一区块链节点设备的ip地址库中,是否存在第二区块链节点设备的ip地址;若第一区块链节点设备的ip地址库中存在第二区块链节点设备的ip地址,则触发处理器901检测在第一预设设备标识库中是否存在所述第二区块链节点设备的设备标识的步骤。在一种实现方式中,处理器901检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识之前,还包括:处理器901,用于检测第二区块链节点设备是否属于第一区块链节点设备所属区块链网络中的区块链节点设备;若第二区块链节点设备属于第一区块链节点设备所属的区块链网络,则触发处理器901检测在第一预设设备标识库中是否存在第二区块链节点设备的设备标识的步骤。在一种实现方式中,通信接口903获取第二区块链节点设备的设备标识,包括:处理器901,用于对第二区块链节点设备的ip地址进行哈希算法,得到二进制数值;处理器901,用于将二进制数值确定为第二区块链节点设备的设备标识。在一种实现方式中,通信接口903获取第二区块链节点设备的设备标识,包括:通信接口903,用于接收所述第二区块链节点设备发送的识别码;处理器901,用于将第二区块链节点设备的识别码确定为第二区块链节点设备的设备标识。在一种实现方式中,处理器901建立与第二区块链节点设备之间的通信通道之后,还包括:处理器901,用于生成第二通知消息,所述第二通知消息用于指示第一区块链节点设备成功建立与第二区块链节点设备之间的通信通道;通信接口903,用于将第二通知消息发送给第二区块链节点设备,以使第二区块链节点设备获取第一区块链节点设备的设备标识,所述第二区块链节点设备将所述第一区块链节点设备的设备标识存储到所述第二区块链节点设备的第二预设设备标识库中;通信接口903,用于将第二连接请求发送给第二区块链节点设备,以使第二区块链节点设备检测在第二预设设备标识库中是否存在第一区块链节点设备的设备标识;通信接口903,用于接收第二区块链节点设备发送的第三通知消息,所述第三通知消息用于指示第二区块链节点设备拒绝响应第二连接请求,所述第三通知消息是第二区块链节点设备在检测到第二预设设备标识库中存在第一区块链节点设备的设备标识时生成的。进一步地,处理器901还可以与通信接口903相配合,执行图3~图5所示方法实施例中第一区块链节点设备对应的操作,具体可参见方法实施例中的描述,在此不作赘述。本申请实施例还提供一种计算机可读存储介质,可以用于存储图8~图9所示实施例中区块链节点设备所用的计算机软件指令,其包含用于执行上述实施例中为第一区块链节点设备所设计的程序。上述计算机可读存储介质包括但不限于快闪存储器、硬盘、固态硬盘。本申请实施例还提供一种计算机程序产品,该计算机程序产品被计算机设备运行时,可以执行上述图3~图5实施例中为第一区块链节点设备所设计的通信通道的控制方法。在本申请实施例中还提供一种芯片,包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,该计算机程序用于实现上述方法实施例中的方法。本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(dsl))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solidstatedisk,ssd))等。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1