本发明属于区块链访问技术领域,尤其涉及一种区块链节点访问方法、装置及计算机可读存储介质。
背景技术:
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
目前的区块链服务是由联盟链向中央网络安全和信息化委员办公室备案审核,服务的各自拥有者根据申请了各自的服务域名来提供服务,因此用户需要根据各自发布的服务域名,甚至是ip来与区块链进行交互,比如以太坊中,我们指定域名或者ip、合约地址、合约参数,即可发起交易调用区块链服务,例如有一个区块链为银行联盟链,备案后可以向联盟各方或者个人提供服务,但实际上服务的主体不是这个联盟,而是联盟内的各个独立的组织所拥有的节点。
联盟链作为一个整体备案,但是用户却需要按照不同的服务方的标准访问联盟链的区块链服务,这种使用方式,很不合理,目前的区块链服务缺少基础性的公共服务。
技术实现要素:
基于上述现有技术中存在的问题,本发明提供一种区块链节点访问方法、装置及计算机可读存储介质,其主要目的在于,通过域名解析服务库对用户访问请求信息中的目标联盟链的一级域名下的节点的稳定性和负载情况进行分析,筛选出最佳节点,根据筛选出的最佳节点的实际ip地址,从域名解析服务库中获取最佳节点的二级域名及对应的ip地址,其中,域名解析库中预先储存有用来表述联盟链的一级域名、用来表述联盟链节点的二级域名以及与二级域名对应的指定ip地址。将域名解析服务库作为区块链的公共基础域名解析服务,任何区块链可以复用,有效提高区块链节点访问效率。
为实现上述目的,本发明提供一种区块链节点访问方法,该方法包括:
根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点,其中,
所述用户访问请求包括目标联盟链的一级域名,所述一级域名用于表述联盟链,所述域名解析服务库包括:一级域名、二级域名以及与所述二级域名对应的指定ip地址,所述二级域名用于表述联盟链节点;
对所述预选节点的负载进行统计,从所述预选节点中筛选出最佳节点;
根据所述最佳节点的实际ip地址,获取所述最佳节点的二级域名及其指定ip地址;
将所述最佳节点的二级域名及其指定ip地址从所述域名解析服务库中输出。
优选地,所述根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点的步骤包括:
所述域名解析服务库实时收集联盟链节点的心跳信息,并记录所述心跳信息对应的节点的实际ip地址;
根据所述联盟链节点的心跳信息,计算出所述目标联盟链的一级域名下的节点的稳定值的平均值;
根据所述节点的稳定值的平均值,从目标联盟链节点中筛选出符合预设稳定性阈值的预选节点。
优选地,所述根据所述联盟链节点的心跳信息,计算出所述目标联盟链的一级域名下的节点的稳定值的平均值的步骤包括:
按照预设时间间隔获取一段时间内的联盟链节点的心跳值;
通过节点稳定性计算公式,计算所述目标联盟链的一级域名下的每个节点的每两个相邻心跳值间的稳定值,每个节点得到n个稳定值;
根据每个节点得到的n个稳定值,计算出所述目标联盟链的一级域名下的每个节点的稳定值的平均值。
优选地,所述节点稳定性计算公式为:
s=s0 v,
v=(t2-t1)/p;
其中,s0为前两个相邻心跳值间的稳定值,其初始值为0,v为稳定值变化值,其中,t2为当前心跳到达时间,t1为上一个心跳到达时间,p为预设时间间隔;其中,v的取值规则为:
当v≤0时,v取值为0;
当0<v≤1时,v取值为1;
当1<v<2时,v的取值为-1
当v≥2时,v的取值为-(v-1)。
优选地,所述域名解析服务库通过http请求实时收集联盟链节点的心跳信息。
优选地,所述一级域名、所述二级域名以及与所述二级域名对应的指定ip地址均唯一。
优选地,所述对所述预选节点的负载进行统计,从所述预选节点中筛选出最佳节点的步骤包括:
获取所述预选节点的解析频次;
从所述预选节点中筛选出解析频次最少的预选节点,作为最佳节点。
此外,为实现上述目的,本发明还提供一种电子装置,该电子装置包括:存储器、处理器,所述存储器中存储有区块链节点访问程序,所述区块链节点访问程序被所述处理器执行时实现如下步骤:
根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点,其中,
所述用户访问请求包括目标联盟链的一级域名,所述一级域名用于表述联盟链,所述域名解析服务库包括:一级域名、二级域名以及与所述二级域名对应的指定ip地址,所述二级域名用于表述联盟链节点;
对所述预选节点的负载进行统计,从所述预选节点中筛选出最佳节点;
根据所述最佳节点的实际ip地址,获取所述最佳节点的二级域名及其指定ip地址;
将所述最佳节点的二级域名及其指定ip地址从所述域名解析服务库中输出。
优选地,所述根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点的步骤包括:
所述域名解析服务库实时收集联盟链节点的心跳信息,并记录所述心跳信息对应的节点的实际ip地址;
根据所述联盟链节点的心跳信息,计算出所述目标联盟链的一级域名下的节点的稳定值的平均值;
根据所述节点的稳定值的平均值,从目标联盟链节点中筛选出符合预设稳定性阈值的预选节点。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有区块链节点访问程序,所述区块链节点访问程序被处理器执行时,实现如上所述的区块链节点访问方法中的任意步骤。
本发明提出的区块链节点访问方法、装置及计算机可读存储介质,通过预设域名解析服务库,通过域名解析服务库对用户访问请求信息中的目标联盟链的一级域名下的节点的稳定性和负载情况进行分析,筛选出最佳节点,根据筛选出的最佳节点的实际ip地址,从域名解析服务库中获取最佳节点的二级域名及对应的ip地址,其中,域名解析库中预先储存有用来表述联盟链的一级域名、用来表述联盟链节点的二级域名以及与二级域名对应的指定ip地址。将域名解析服务库作为区块链的公共基础域名解析服务,任何区块链可以复用,有效提高区块链节点访问效率。
附图说明
图1为本发明区块链节点访问方法较佳实施例的应用环境示意图;
图2为图1中区块链节点访问程序较佳实施例的模块示意图;
图3为本发明区块链节点访问方法较佳实施例的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种区块链节点访问方法,应用于一种电子装置1。参照图1所示,为本发明区块链节点访问方法较佳实施例的应用环境示意图。
在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置1包括:处理器12、存储器11、网络接口13及通信总线14。
存储器11包括至少一种类型的可读存储介质。该至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器11等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,可读存储介质也可以是电子装置1的外部存储器11,例如电子装置1上配备的插接式硬盘、智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡、闪存卡(flashcard)等。
在本实施例中,存储器11的可读存储介质通常用于存储安装于电子装置1的区块链节点访问程序10、预设域名解析服务库等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行区块链节点访问程序10等。
网络接口13可选地可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。
通信总线14用于实现上述这些组件之间的连接通信。
图1仅示出了具有组件11-14的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置1还可以包括摄像装置,摄像装置既可以是电子装置1的一部分,也可以独立于电子装置1。在一些实施例中,电子装置1为智能手机、平板电脑、便携计算机等具有摄像头的终端设备,则摄像装置即为电子装置1的摄像头。在其他实施例中,电子装置1可以为服务器,摄像装置独立于该电子装置1、与该电子装置1通过有线或者无线网络连接。例如,该摄像装置安装于特定场所,如办公场所、监控区域,对进入该特定场所的目标进行实时拍摄得到实时图像,通过网络将拍摄得到的实时图像传输至处理器12。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置1还包括触摸传感器。该触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
此外,该电子装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
可选地,该电子装置1还可以包括射频(radiofrequency,rf)电路,传感器、音频电路等等,在此不再赘述。
在图1所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作系统以及区块链节点访问程序10;处理器12执行存储器11中存储的区块链节点访问程序10时实现如下步骤:
根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点,其中,
用户访问请求包括目标联盟链的一级域名,一级域名用于联盟链,域名解析服务库包括:一级域名、二级域名以及与二级域名对应的指定ip地址,二级域名用于表述联盟链节点;
对预选节点的负载进行统计,从预选节点中筛选出最佳节点;
根据最佳节点的实际ip地址,获取最佳节点的二级域名及其指定ip地址;
将最佳节点的二级域名及其指定ip地址从域名解析服务库中输出。
为了对当前联盟链的各个节点的稳定性分析更加准确以及能够快速的获取预选节点的二级域名,作为本发明的一个优选实施例,根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点的步骤包括:
域名解析服务库实时收集联盟链节点的心跳信息,并记录心跳信息对应的节点的实际ip地址;
根据联盟链节点的心跳信息,计算出目标联盟链的一级域名下的节点的稳定值的平均值;
根据节点的稳定值的平均值,从目标联盟链节点中筛选出符合预设稳定性阈值的预选节点。
为了进一步使各个节点的分析结果更加准确,作为本发明的一个优选实施例,根据联盟链节点的心跳信息,计算出目标联盟链的一级域名下的节点的稳定值的平均值的步骤包括:
按照预设时间间隔获取一段时间内的联盟链节点的心跳值;
通过节点稳定性计算公式,计算目标联盟链的一级域名下的每个节点的每两个相邻心跳值间的稳定值,每个节点得到n个稳定值;
根据每个节点得到的n个稳定值,计算出目标联盟链的一级域名下的每个节点的稳定值的平均值。
优选地,所述节点稳定性计算公式为:
s=s0 v,
v=(t2-t1)/p;
其中,s0为前两个相邻心跳值间的稳定值,其初始值为0,v为稳定值变化值,其中,t2为当前心跳到达时间,t1为上一个心跳到达时间,p为预设时间间隔;其中,v的取值规则为:
当v≤0时,v取值为0;
当0<v≤1时,v取值为1;
当1<v<2时,v的取值为-1
当v≥2时,v的取值为-(v-1)。
为了便于域名解析服务库收集节点心跳信息时能够获取心跳信息的实际ip地址,作为本发明的一个优选实施例,域名解析服务库通过http请求实时收集联盟链节点的心跳信息。
优选地,一级域名、二级域名以及与二级域名对应的指定ip地址均唯一。
优选地,对预选节点的负载进行统计,从预选节点中筛选出最佳节点的步骤包括:
获取预选节点的解析频次;
从预选节点中筛选出解析频次最少的预选节点,作为最佳节点。
在其他实施例中,区块链节点访问程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。
本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。参照图2所示,为图1中区块链节点访问程序10较佳实施例的程序模块图。所述区块链节点访问程序10可以被分割为:预选节点筛选模块110、最佳节点筛选模块120、二级域名获取模块130、输出模块140。
所述模块110-140所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
预选节点筛选模块110:用于根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点,其中,用户访问请求包括目标联盟链的一级域名,一级域名用于联盟链,域名解析服务库包括:一级域名、二级域名以及与二级域名对应的指定ip地址,二级域名用于表述联盟链节点。
最佳节点筛选模块120:用于对预选节点的负载进行统计,从预选节点中筛选出最佳节点。
二级域名获取模块130:用于根据最佳节点的实际ip地址,获取最佳节点的二级域名及其指定ip地址。
输出模块140:用于将最佳节点的二级域名及其指定ip地址从域名解析服务库中输出。
此外,本发明还提供一种区块链节点访问方法。参照图3所示,为本发明区块链节点访问方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,区块链节点访问方法包括:步骤s10-步骤s40。
步骤s10,根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点;
其中,用户访问请求包括目标联盟链的一级域名,一级域名用于表述联盟链,域名解析服务库包括:一级域名、二级域名以及与所述二级域名对应的指定ip地址,所述二级域名用于表述联盟链节点。
具体地,在联盟链向中央网络安全和信息化委员办公室备案审核后,联盟链的链路信息全部同步到预设的储存库中,即得到域名解析服务库,其中,联盟链的链路信息至少包括:用于表述联盟链的一级域名、用于表述联盟链各节点的二级域名以及与二级域名对应的指定ip地址,其中,指定ip地址指的是在备案时,储存到域名解析服务库的节点的即时ip地址。
用户由用户端,例如浏览器,向区块链发出用户访问请求,其中,用户访问请求中至少包括目标联盟链的一级域名,即用户想要访问的联盟链的一级域名,域名解析服务库根据目标联盟链的一级域名,对该联盟链下各个节点的稳定性进行分析,从目标联盟链节点中筛选出预选节点。
其中,根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点的步骤包括:
域名解析服务库实时收集联盟链节点的心跳信息,并记录心跳信息对应的节点的实际ip地址;
根据联盟链节点的心跳信息,计算出目标联盟链的一级域名下的节点的稳定值的平均值;
根据节点的稳定值的平均值,从目标联盟链节点中筛选出符合预设稳定性阈值的预选节点。
具体地,域名解析服务库实时收集联盟链节点的心跳信息,并记录下每个节点心跳信息对应的节点的实际ip地址,以便于,根据节点的实际ip地址从域名解析服务库中查找出相应的节点的二级域名,再根据节点的二级域名获取与节点的二级域名对应的指定ip地址。其中,实际ip地址为获取节点心跳信息时,该节点对应的ip地址。
其中,优选地,域名解析服务库通过http请求实时收集联盟链节点的心跳信息,通过协议头获取到节点的实际ip地址。
其中,根据联盟链节点的心跳信息,计算出目标联盟链的一级域名下的节点的稳定值的平均值的步骤包括:
按照预设时间间隔获取一段时间内的联盟链节点的心跳值;
通过节点稳定性计算公式,计算目标联盟链的一级域名下的每个节点的每两个相邻心跳值间的稳定值,每个节点得到n个稳定值;
根据每个节点得到的n个稳定值,计算出目标联盟链的一级域名下的每个节点的稳定值的平均值。
具体地,预设时间间隔可根据实际情况设定,例如,每隔5秒获取一次联盟链节点的心跳值,连续获取1分钟的心跳值,然后通过节点稳定性计算公式,计算出目标联盟链的一级域名下的每个节点的每两个相邻心跳值间的稳定值,此时每个节点得到n个稳定值,以上述为例,每个节点1分钟得到11个稳定值,再将11个稳定值相加后求得稳定值的平均值。
其中,节点稳定性计算公式为:
s=s0 v,
v=(t2-t1)/p;
其中,s0为前两个相邻心跳值间的稳定值,其初始值为0,v为稳定值变化值,其中,t2为当前心跳到达时间,t1为上一个心跳到达时间,p为预设时间间隔;其中,v的取值规则为:
当v≤0时,v取值为0;
当0<v≤1时,v取值为1;
当1<v<2时,v的取值为-1
当v≥2时,v的取值为-(v-1)。
具体地,为了更好的理解节点稳定性计算公式,举例如下:
获取一段时间内的节点的心跳值为:
心跳值1-hbmsg-20190819.16.41.0;
心跳值2-hbmsg-20190819.16.41.5;
心跳值3-hbmsg-20190819.16.41.10;
心跳值4-hbmsg-20190819.16.41.15;
心跳值5-hbmsg-20190819.16.41.25;
预设时间间隔为5秒。
则,心跳值1与心跳值2之间的稳定值为:s12=0 v1,v1=(5-0)/5=1,根据v的取值规则,v1取值为1,则,s12=0 1=1;
心跳值2与心跳值3之间的稳定值为:s23=s12 v2,v2=(10-5)/5=1,根据v的取值规则,v2取值为1,则,s23=1 1=2;
心跳值3与心跳值4之间的稳定值为:s34=s23 v3,v3=(15-10)/5=1,根据v的取值规则,v3取值为1,则,s12=2 1=3;
心跳值4与心跳值5之间的稳定值为:s45=s34 v4,v4=(25-15)/5=2,根据v的取值规则,v4取值为-1,则,s45=3-1=2。
其中,为了从域名解析服务库中解析出的节点的二级域名及其指定ip地址唯一,一级域名、二级域名以及与二级域名对应的指定ip地址均唯一。
步骤s20,对预选节点的负载进行统计,从预选节点中筛选出最佳节点。
具体地,节点的负载如果过多会对该节点提供服务时的速度以及稳定性产生影响,为了能够给用户提供更加优质的服务,所以需要对预选的节点进行筛选,联盟链的各个节点每被解析一次,便在域名解析服务库中记录,根据预选节点被记录的解析次数进行筛选,筛选出被解析次数最少的预选节点作为最佳节点。
其中,对预选节点的负载进行统计,从预选节点中筛选出最佳节点的步骤包括:
获取预选节点的解析频次;
从预选节点中筛选出解析频次最少的预选节点,作为最佳节点。
步骤s30,根据最佳节点的实际ip地址,获取最佳节点的二级域名及其指定ip地址。
具体地,从目标联盟链的一级域名下的节点中筛选出节点稳定性符合预设稳定性阈值的预选节点以及从预选节点中筛选出负载最少的最佳节点后,根据域名解析服务库收集节点心跳信息时获取的节点的实际ip地址,从域名解析服务库中获取最佳节点的二级域名,再根据最佳节点的二级域名获取最佳节点的指定ip地址。例如:域名解析服务库收到节点pingan1的心跳信息,获取到的该节点的实际ip地址为172.18.40.70,通过稳定性分析和负载分析后,确定其为最佳节点,则根据该最佳节点的实际ip地址,即172.18.40.70从域名解析服务库中获取该最佳节点的二级域名及其对应的指定ip地址:如:pingan1.bankalliance.chain–172.18.40.70,其中,pingan1.bankalliance.chain为预先储存在域名解析服务库内的二级域名,172.18.40.70为对应的指定ip地址。
步骤s40,将最佳节点的二级域名及其指定ip地址从域名解析服务库中输出。
具体地,将从域名解析服务库内获取的最佳节点的二级域名及其指定ip地址从域名解析服务库中输出,返回给客户端,客户端接收到域名解析服务库返回的最佳节点的二级域名及其指定ip地址后,通过输入最佳节点的二级域名及对应的ip地址与链路的节点服务进行交涉。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有区块链节点访问程序,所述区块链节点访问程序被处理器执行时实现如下操作:
根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点,其中,
用户访问请求包括目标联盟链的一级域名,一级域名用于表述联盟链,域名解析服务库包括:一级域名、二级域名以及与二级域名对应的指定ip地址,二级域名用于表述联盟链节点;
对预选节点的负载进行统计,从预选节点中筛选出最佳节点;
根据最佳节点的实际ip地址,获取最佳节点的二级域名及其指定ip地址;
将最佳节点的二级域名及其指定ip地址从域名解析服务库中输出。
优选地,根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点的步骤包括:
域名解析服务库实时收集联盟链节点的心跳信息,并记录心跳信息对应的节点的实际ip地址;
根据联盟链节点的心跳信息,计算出目标联盟链的一级域名下的节点的稳定值的平均值;
根据节点的稳定值的平均值,从目标联盟链节点中筛选出符合预设稳定性阈值的预选节点。
优选地,根据联盟链节点的心跳信息,计算出目标联盟链的一级域名下的节点的稳定值的平均值的步骤包括:
按照预设时间间隔获取一段时间内的联盟链节点的心跳值;
通过节点稳定性计算公式,计算目标联盟链的一级域名下的每个节点的每两个相邻心跳值间的稳定值,每个节点得到n个稳定值;
根据每个节点得到的n个稳定值,计算出目标联盟链的一级域名下的每个节点的稳定值的平均值。
优选地,节点稳定性计算公式为:
s=s0 v,
v=(t2-t1)/p;
其中,s0为前两个相邻心跳值间的稳定值,其初始值为0,v为稳定值变化值,其中,t2为当前心跳到达时间,t1为上一个心跳到达时间,p为预设时间间隔;其中,v的取值规则为:
当v≤0时,v取值为0;
当0<v≤1时,v取值为1;
当1<v<2时,v的取值为-1
当v≥2时,v的取值为-(v-1)。
优选地,域名解析服务库通过http请求实时收集联盟链节点的心跳信息。
优选地,一级域名、二级域名以及与二级域名对应的指定ip地址均唯一。
优选地,对预选节点的负载进行统计,从预选节点中筛选出最佳节点的步骤包括:
获取预选节点的解析频次;
从预选节点中筛选出解析频次最少的预选节点,作为最佳节点。
本发明之计算机可读存储介质的具体实施方式与上述区块链节点访问方法、电子装置的具体实施方式大致相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
1.一种区块链节点访问方法,应用于电子装置,其特征在于,所述方法包括:
根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点,其中,
所述用户访问请求包括目标联盟链的一级域名,所述一级域名用于表述联盟链,所述域名解析服务库包括:一级域名、二级域名以及与所述二级域名对应的指定ip地址,所述二级域名用于表述联盟链节点;
对所述预选节点的负载进行统计,从所述预选节点中筛选出最佳节点;
根据所述最佳节点的实际ip地址,获取所述最佳节点的二级域名及其指定ip地址;
将所述最佳节点的二级域名及其指定ip地址从所述域名解析服务库中输出。
2.根据权利要求1所述的区块链节点访问方法,其特征在于,所述根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点的步骤包括:
所述域名解析服务库实时收集联盟链节点的心跳信息,并记录所述心跳信息对应的节点的实际ip地址;
根据所述联盟链节点的心跳信息,计算出所述目标联盟链的一级域名下的节点的稳定值的平均值;
根据所述节点的稳定值的平均值,从目标联盟链节点中筛选出符合预设稳定性阈值的预选节点。
3.根据权利要求2所述的区块链节点访问方法,其特征在于,所述根据所述联盟链节点的心跳信息,计算出所述目标联盟链的一级域名下的节点的稳定值的平均值的步骤包括:
按照预设时间间隔获取一段时间内的联盟链节点的心跳值;
通过节点稳定性计算公式,计算所述目标联盟链的一级域名下的每个节点的每两个相邻心跳值间的稳定值,每个节点得到n个稳定值;
根据每个节点得到的n个稳定值,计算出所述目标联盟链的一级域名下的每个节点的稳定值的平均值。
4.根据权利要求2所述的区块链节点访问方法,其特征在于,所述节点稳定性计算公式为:
s=s0 v,
v=(t2-t1)/p;
其中,s0为前两个相邻心跳值间的稳定值,其初始值为0,v为稳定值变化值,其中,t2为当前心跳到达时间,t1为上一个心跳到达时间,p为预设时间间隔;其中,v的取值规则为:
当v≤0时,v取值为0;
当0<v≤1时,v取值为1;
当1<v<2时,v的取值为-1
当v≥2时,v的取值为-(v-1)。
5.根据权利要求2所述的区块链节点访问方法,其特征在于,所述域名解析服务库通过http请求实时收集联盟链节点的心跳信息。
6.根据权利要求1所述的区块链节点访问方法,其特征在于,所述一级域名、所述二级域名以及与所述二级域名对应的指定ip地址均唯一。
7.根据权利要求1所述的区块链节点访问方法,其特征在于,所述对所述预选节点的负载进行统计,从所述预选节点中筛选出最佳节点的步骤包括:
获取所述预选节点的解析频次;
从所述预选节点中筛选出解析频次最少的预选节点,作为最佳节点。
8.一种电子装置,其特征在于,该电子装置包括:存储器、处理器,所述存储器中存储有区块链节点访问程序,所述区块链节点访问程序被所述处理器执行时实现如下步骤:
根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点,其中,
所述用户访问请求包括目标联盟链的一级域名,所述一级域名用于表述联盟链,所述域名解析服务库包括:一级域名、二级域名以及与所述二级域名对应的指定ip地址,所述二级域名用于表述联盟链节点;
对所述预选节点的负载进行统计,从所述预选节点中筛选出最佳节点;
根据所述最佳节点的实际ip地址,获取所述最佳节点的二级域名及其指定ip地址;
将所述最佳节点的二级域名及指定ip地址从所述域名解析服务库中输出。
9.根据权利要求8所述的电子装置,其特征在于,所述根据获取的用户访问请求,域名解析服务库对目标联盟链节点的稳定性进行分析,根据分析结果,从目标联盟链节点中筛选出预选节点的步骤包括:
所述域名解析服务库实时收集联盟链节点的心跳信息,并记录所述心跳信息对应的节点的实际ip地址;
根据所述联盟链节点的心跳信息,计算出所述目标联盟链的一级域名下的节点的稳定值的平均值;
根据所述节点的稳定值的平均值,从目标联盟链节点中筛选出符合预设稳定性阈值的预选节点。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有区块链节点访问程序,所述区块链节点访问程序被处理器执行时,实现如权利要求1至7中任一项所述的区块链节点访问方法的步骤。
技术总结