CN112804299B - 节点测绘方法、装置、测绘设备及可读存储介质 - Google Patents
节点测绘方法、装置、测绘设备及可读存储介质 Download PDFInfo
- Publication number
- CN112804299B CN112804299B CN202011607973.3A CN202011607973A CN112804299B CN 112804299 B CN112804299 B CN 112804299B CN 202011607973 A CN202011607973 A CN 202011607973A CN 112804299 B CN112804299 B CN 112804299B
- Authority
- CN
- China
- Prior art keywords
- node
- target
- address
- neighbor
- mapping
- 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
Images
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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提出一种节点测绘方法、装置、测绘设备及可读存储介质,涉及通信技术领域。该方法包括:针对当前已获得的目标节点的目标IP地址,根据目标IP地址及IP位置信息库,获得目标IP地址对应的目标地理位置信息,并向目标节点发送连接请求,目标节点为区块链网络中的节点;在连接成功的情况下,向目标节点发送邻居节点查询命令,以获得目标节点的邻居节点列表,并根据邻居节点列表中包括的IP地址对当前已获得的目标节点的目标IP地址进行更新;根据获得的节点信息,绘制节点地图,节点信息包括目标地理位置信息。由此,可快速获得区块链节点的地理位置信息,并绘制出节点地图,以显示区块链节点的位置分布情况。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种节点测绘方法、装置、测绘设备及可读存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链网络由众多分布式节点组成,每个节点都是路由、区块链数据库、挖矿、钱包服务的功能集合。每个节点都参与全网络的路由功能,同时也可能包含其他功能。每个节点都参与验证并传播交易及区块信息,发现并维持与对等节点的连接。在对区块链节点进行管理、分析时,需要获得区块链节点的位置分布情况,因此,如何方便快捷地获得区块链节点的位置信息,已成为本领域技术人员亟需解决的技术问题。
发明内容
本申请实施例提供了一种节点测绘方法、装置、测绘设备及可读存储介质,其能够方便快捷地获得区块链节点的地理位置信息,并绘制出用于显示区块链节点的位置分布情况的节点地图。
本申请的实施例可以这样实现:
第一方面,本申请实施例提供一种节点测绘方法,应用于测绘设备,所述测绘设备中存储有IP位置信息库,包括IP地址及与该IP地址对应的地理位置信息,所述方法包括:
针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址及所述IP位置信息库,获得所述目标IP地址对应的目标地理位置信息,并根据所述目标IP地址向所述目标节点发送连接请求,其中,所述目标节点为区块链网络中的节点;
在连接成功的情况下,向所述目标节点发送邻居节点查询命令,以获得所述目标节点的邻居节点列表,并根据所述邻居节点列表中包括的IP地址对所述当前已获得的目标节点的目标IP地址进行更新;
根据获得的节点信息,绘制节点地图,其中,所述节点信息包括目标地理位置信息。
在可选的实施方式中,在连接成功的情况下,所述方法还包括:
向所述目标节点发送所述测绘设备的IP地址;
接收所述目标节点的其他邻居节点根据所述测绘设备的IP地址发送的连接信息,并根据所述连接信息确定所述其他邻居节点的节点信息,其中,所述连接信息中包括其他邻居节点的IP地址,所述其他邻居节点为在通过所述邻居节点查询命令获得的所述目标节点的所述邻居节点列表中不包括的邻居节点。
在可选的实施方式中,所述方法还包括:
在根据所述连接信息与所述其他邻居节点建立通信连接的情况下,向所述其他邻居节点发送所述邻居节点查询命令,以获得所述其他邻居节点的邻居节点列表,并根据所述其他邻居节点的邻居节点列表对所述当前已获得的目标节点的目标IP地址进行更新。
在可选的实施方式中,在第一次与所述区块链网络中的节点连接时,所述针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址及所述IP位置信息库,获得所述目标IP地址对应的目标地理位置信息,包括:
对获得的所述区块链网络的种子列表进行解析,获得种子节点的IP地址;
根据所述种子节点的IP地址及所述IP位置信息库,获得所述种子节点的IP地址对应的目标地理位置信息。
在可选的实施方式中,所述节点信息还包括节点状态信息,在所述根据获得的节点信息,绘制节点地图之前,所述方法还包括:
根据与节点的连接情况,确定所述节点的节点状态信息。
第二方面,本申请实施例提供一种节点测绘装置,应用于测绘设备,所述测绘设备中存储有IP位置信息库,包括IP地址及与该IP地址对应的地理位置信息,所述装置包括:
探测模块,用于针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址及所述IP位置信息库,获得所述目标IP地址对应的目标地理位置信息,并根据所述目标IP地址向所述目标节点发送连接请求,其中,所述目标节点为区块链网络中的节点;
所述探测模块,还用于在连接成功的情况下,向所述目标节点发送邻居节点查询命令,以获得所述目标节点的邻居节点列表,并根据所述邻居节点列表中包括的IP地址对所述当前已获得的目标节点的目标IP地址进行更新;
绘制模块,用于根据获得的节点信息,绘制节点地图,其中,所述节点信息包括目标地理位置信息。
在可选的实施方式中,在连接成功的情况下,所述探测模块还用于:
向所述目标节点发送所述测绘设备的IP地址;
接收所述目标节点的其他邻居节点根据所述测绘设备的IP地址发送的连接信息,并根据所述连接信息确定所述其他邻居节点的节点信息,其中,所述连接信息中包括其他邻居节点的IP地址,所述其他邻居节点为在通过所述邻居节点查询命令获得的所述目标节点的所述邻居节点列表中不包括的邻居节点。
在可选的实施方式中,所述节点信息还包括节点状态信息,所述探测模块还用于:
根据与节点的连接情况,确定所述节点的节点状态信息。
第三方面,本申请实施例提供一种测绘设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式中任意一项所述的节点测绘方法。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任意一项所述的节点测绘方法。
本申请实施例提供的节点测绘方法、装置、测绘设备及可读存储介质,针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址、及存储的IP位置信息库中所包括的IP地址及与该IP地址对应的地理位置信息,获得所述目标节点的目标IP地址对应的目标地理位置信息,并根据该目标IP地址向该目标节点发送连接请求。其中,目标节点为区块链网络中的节点。在与所述目标节点连接成功的情况下,通过向所述目标节点发送邻居节点查询命令,获得该目标节点的邻居节点列表,并根据该邻居节点列表中所包括的IP地址对上述当前已获得的目标节点的目标IP地址进行更新。接着,则可根据获得的包括目标地理位置信息的节点信息,绘制节点地图。由此,可使测绘设备通过主动扫描的方式,对区块链节点进行探测,以快速获得区块链节点的位置信息,进而绘制出可呈现区块链节点的位置分布情况的节点地图。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的测绘设备的方框示意图;
图2为本申请实施例提供的节点测绘方法的流程示意图之一;
图3为本申请实施例提供的节点测绘方法的流程示意图之二;
图4为本申请实施例提供的节点测绘装置的方框示意图。
图标:100-测绘设备;110-存储器;120-处理器;130-通信单元;200-节点测绘装置;210-探测模块;220-绘制模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由于区块链分布式特性,常规的区块链节点只维护自己的邻居节点,也即一个区块链节点只清楚的自己的邻居节点具体是谁。这就导致区块链节点的统计和测绘成为了一个难点,无法得知有多少节点参与到区块链网络中以及这些节点的位置分布情况。
目前一般会通过如下方式进行对区块链节点的测绘:单独部署大量设备作为测绘使用的区块链节点(为便于描述,后续简称为测绘节点),对每个测绘节点进行开启测绘端口的配置;将测绘节点加入到区块链网络中,以与待探测的区块链节点建立通信连接,使得测绘节点的邻居列表中包括待探测的区块链节点的相关信息;依次针对每个测绘节点,手动通过该测绘节点的测绘端口,向该测绘节点发送命令,以查询得到作为该测绘节点的邻居节点的待探测的区块链节点的相关信息;接着,可根据通过各测绘节点得到的上述相关信息获得对应的待探测的区块链节点的位置信息,最后绘制出区块链节点的位置分布图。
在上述方式中,需要部署大量的测绘节点。而在部署测绘节点时,需要向测绘节点中同步所加入的区块链网络的区块数据,由于区块数据一般都比较多,因此会导致同步过程慢,也即部署速度慢,同时会占用作为测绘节点的设备的大量磁盘资源。并且,大量部署测绘节点后,没有统一的节点管理方案,只能人工管理,费时费力。同时,只能手动依次向各测绘节点手动输入命令,以获得该测绘节点的邻居节点相关信息,获取速度慢,且需要耗费大量人力。
为了改善以上情况,本申请实施例提供了一种节点测绘方法、装置、测绘设备及可读存储介质,使得测绘设备可自动探测获得区块链节点的地理位置信息,并绘制出节点地图,无需单独部署大量测绘节点,同时无需手动依次向各测绘节点手动输入命令,从而节省大量人力,并且具有测绘方便快捷的特点。
下面结合附图本申请实施例进行详细说明。
请参照图1,图1为本申请实施例提供的测绘设备100的方框示意图。所述测绘设备100可以是,但不限于,电脑、服务器等。所述测绘设备100包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,存储器110中存储有IP位置信息库及节点测绘装置200等,所述节点测绘装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本申请实施例中的节点测绘装置200,从而执行各种功能应用以及数据处理,即实现本申请实施例中的节点测绘方法。
通信单元130用于通过网络建立所述测绘设备与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图1所示的结构仅为测绘设备100的结构示意图,所述测绘设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,图2为本申请实施例提供的节点测绘方法的流程示意图之一。所述方法应用于所述测绘设备100。所述测绘设备100中预先存储有IP位置信息库,所述IP位置信息库中包括不同IP地址及与该不同IP地址对应的地理位置信息。下面对节点测绘方法的具体流程进行详细阐述。所述节点测绘方法可以包括步骤S110、步骤S120及步骤S140。
步骤S110,针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址及所述IP位置信息库,获得所述目标IP地址对应的目标地理位置信息,并根据所述目标IP地址向所述目标节点发送连接请求。
步骤S120,在连接成功的情况下,向所述目标节点发送邻居节点查询命令,以获得所述目标节点的邻居节点列表,并根据所述邻居节点列表中包括的IP地址对所述当前已获得的目标节点的目标IP地址进行更新。
在本实施例中,在获得所述区块链网络中节点的IP地址后,可将该节点作为所述目标节点,并将该节点的IP地址作为所述目标IP地址。然后,针对每个目标IP地址,可根据该目标IP地址在所述IP位置信息库中进行查找,以获得与该目标IP地址对应的地理位置信息,并将查找到的地理位置信息作为该目标IP地址对应的目标地理位置信息。由此,即可自动获得一个区块链节点的地理位置信息。
还可以针对每个目标IP地址,根据该目标IP地址向该目标IP地址对应的目标节点发送连接请求,以与该目标节点建立连接,进而可进行数据通信。在连接成功的情况,可向该目标节点发送邻居节点查询命令,以获得该目标节点的邻居节点列表。该目标节点的邻居节点列表中,包括作为该目标节点的邻居节点的IP地址。接着,可根据该目标节点的邻居节点列表所包括的IP地址,对上述当前已获得目标节点的目标IP地址进行更新,以便后续根据该目标节点的邻居节点列表所包括的IP地址,再次执行步骤S110~步骤S120,以获得该目标节点的邻居节点的地理位置信息,以及获得该目标节点的邻居节点的邻居节点的IP地址。
比如,假设一个节点A的邻居节点为节点A1,节点A1的邻居节点为A11,在将节点A的IP地址作为目标IP地址的情况下,通过上述步骤S110可使得测绘设备100获得节点A的位置信息,并向节点A发送连接请求,以与节点A建立连接;在连接成功的情况下,可通过步骤S120获得节点A的邻居节点-节点A1的IP地址信息;后续可根据节点A1的IP地址信息,获得节点A1的位置信息,并在于节点A1建立连接的情况下,通过发送所述邻居节点查询命令,获得节点A1的邻居节点-节点A11的IP地址。
步骤S140,根据获得的节点信息,绘制节点地图。
可选地,可以在每获得一个节点的节点信息后,就进行节点地图的绘制,即实时绘制节点地图;也可以在获得一定数量节点的节点信息后,再进行节点地图的绘制。其中,所述节点信息包括所述目标地理位置信息。其中,绘制时间具体可以根据实际需求进行设置。
由此,测绘设备100可通过主动扫描的方式,对区块链节点进行探测,以快速获得区块链节点的位置信息,进而绘制出可呈现区块链节点的位置分布情况的节点地图。
可选地,在本实施例中,所述测绘设备100可通过任意方式获得第一次执行步骤S110时所使用的目标节点的目标IP地址,也即可通过任意方式获得第一次与区块链网络中的节点连接时所需要的区块链节点的IP地址。作为一种可选的实施方式,可获得所述区块链网络的种子列表,进而根据该种子列表获得种子节点的IP地址;接着可根据所述种子节点的IP地址及所述IP位置信息库,获得所述种子节点的IP地址对应的目标地理位置信息。后续则可以根据该种子节点的IP地址与该种子节点连接,然后通过发送邻居节点查询命令,获得该种子节点的邻居节点列表,从而得到该种子节点的邻居节点的IP地址。依次类推,即可完成对大量区块链节点的探测。其中,作为种子节点的节点,可以是区块链网络中活跃的节点。
一般区块链社区会维护一个DNS(Domain Name System,域名系统)种子列表。所述DNS种子列表中包括种子节点的域名,可通过动态的DNS解析,获得一组P2P(Peer-to-Peer,对等网络)节点的IP地址。其中,P2P表示对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。上述获得一组P2P节点,即为种子节点,一组P2P节点中的节点数量为至少一个。
可选地,在本实施例中,为了避免重复探测,所述测绘设备100中可以包括第一缓存列表及第二缓存列表,所述第一缓存列表中包括本轮待探测的节点的IP地址,所述第二缓存列表中包括本轮已探测的节点的IP地址。其中,一轮可以是指完成一次对整个区块链节点的测绘,当然也可以根据实际需求进行定义,比如,一预设时长为一轮。
可将所述第一缓存列表中所包括的IP地址依次作为所述目标节点的目标IP地址,在对一个目标节点完成测绘后,可在所述第一缓存列表中将该目标节点对应的IP地址删除,并将删除的IP地址添加至所述第二缓存列表中。当然可以理解的是,在获得种子节点的IP地址的情况下,可将种子节点的IP地址都添加至所述第一缓存列表中。在根据获得的邻居节点列表中所包括的IP地址对所述当前已获得的目标节点的目标IP地址进行更新时,可根据所述第二缓存列表,判断该邻居节点列表中所包括的IP地址是否被探测过,并将未被探测过的IP地址添加至所述第一缓存列表中。
也即,可将新获得还未探测过的IP地址添加至所述第一缓存列表中,并在探测时,从所述第一缓存列表中取出未被探测过的IP地址作为所述目标节点的目标IP地址。也即,将已获得但未被探测过的节点的IP地址作为所述目标IP地址,将已获得IP地址但未被探测过的节点作为所述目标节点。在完成对当前目标节点的探测后,则可将当前目标节点的IP地址从所述第一缓存列表中删除,以保证第一缓存列表中都是未被探测的IP地址,进而保证不会进行重复探测。
为了加快探测速度,所述测绘设备100中可包括多个通过探测程序实现的探测器。可使每个探测器针对自身所对应的目标节点的目标IP地址,获得该目标IP地址对应的目标位置信息,并与对应的目标节点建立通信连接,进而通过发送邻居节点查询命令获得所对应的目标节点的邻居节点列表。后续则可根据各探测器发送的邻居节点列表对所述第一缓存列表进行更新。由此,多个探测器同时进行探测,可加快获得区块链网络中所有节点的节点信息的速度。
比如,有探测器1、2,针对探测器1、2可分别确定出目标节点A、B。可使探测器1对目标节点A进行探测,以获得目标节点A的邻居节点列表、地理位置信息等。同理,可通过探测器2对目标节点B进行探测,以获得目标节点B的邻居节点列表、地理位置信息等。由此,所述测绘设备100一次性可探测两个目标节点。
由此,所述测绘设备100可通过P2P通信协议,连接种子节点,并通过区块链协议获得种子节点的邻居节点列表,进而通过连接种子节点的邻居节点发现邻居节点的邻居节点,以此类推,可发现大量区块链节点的IP地址。同时可通过对获得的IP地址进行解析,获得各IP地址对应的地理位置信息。
请参照图3,图3为本申请实施例提供的节点测绘方法的流程示意图之二。在通过发送所述连接请求,与目标节点成功连接的情况下,所述方法还可以包括步骤S131~步骤S132。
步骤S131,向所述目标节点发送所述测绘设备的IP地址。
在与所述目标节点连接成功的情况下,所述测绘设备100可将自身的公网IP地址同步给该目标节点。在连接之后,若接收到该目标节点发送的命令,则正常进行响应,以使该目标节点将所述测绘设备100保持为邻居节点,也即将测绘设备100的IP地址保持在该目标节点的邻居节点列表中。其中,目标节点发送的命令可以根据实际通信需求确定。比如,若接收到该目标节点发送的用于查询所述测绘设备100的设备信息的命令,测绘设备100则将自身的设备信息发送给该目标节点。又比如,若接收到该目标节点发送的心跳报文,所述测绘设备100则进行正常响应,以避免该目标节点在删除自身的不在线的邻居节点时,将所述测绘设备100删除。
在向目标节点发送自身的IP地址后,可等待所述目标节点的其他邻居节点来主动连接所述测绘设备100。所述其他邻居节点为在通过所述邻居节点查询命令获得的所述目标节点的所述邻居节点列表中不包括的邻居节点。也即,在获得目标节点的邻居节点列表之后,可等新作为该目标节点的邻居节点,通过查询该目标节点的邻居节点列表,获得所述测绘设备100的IP地址之后,根据该测绘设备100的IP地址主动连接测绘设备。
比如,目标节点A的邻居节点列表中原本只包括节点A1、A2的IP地址,后续增加了测绘设备100的IP地址;之后,有节点A3与目标节点A建立了连接,成为了目标节点A的一个新邻居节点;该邻居连接A3可通过查询目标节点A的邻居节点列表,获得测绘设备100的IP地址,并根据测绘设备100的IP地址主动连接测绘设备100。
步骤S132,接收所述目标节点的其他邻居节点根据所述测绘设备的IP地址发送的连接信息,并根据所述连接信息确定所述其他邻居节点的节点信息。
在接收到所述目标节点的其他邻居节点的连接信息之后,可根据所述连接信息中包括的其他邻居节点的IP地址、及所述IP位置信息库,获得其他邻居节点的目标位置信息,进而得到所述节点信息。可选地,具体可以通过所述测绘设备100与其他邻居节点的握手信息,得到所述其他邻居节点的节点信息。
在本实施例中,在根据所述连接信息与所述其他邻居节点建立通信连接的情况下,所述测绘设备100还可以向所述其他邻居节点发送所述邻居节点查询命令,以获得所述其他邻居节点的邻居节点列表,并根据所述其他邻居节点的邻居节点列表对所述当前已获得的目标节点的目标IP地址进行更新。也即,可将所述其他邻居节点的邻居节点列表所包括的未被探测过的IP地址添加至所述第一缓存列表中。作为一种可选的实施方式,当所述第一缓存列表中为空时,可确定本轮探测结束。
可选地,在本实施例中,所述节点信息还可以包括节点状态信息。可以根据与节点的连接情况,确定所述节点的节点状态信息。其中,所述节点状态信息可以包括在线、不在线。在主动连接节点时,若连接成功,则可以确定被连接的节点为在线的节点;若连接失败,则可以确定被连接的节点为不在线的节点。在被节点主动连接时,可直接确定该节点是在线的节点。
所述测绘设备中还可以包括数据库,所述数据库用于保存经过探测得到的各节点的节点信息。之后可根据所述数据库中所包括的节点信息,在可视化地图上实时进行节点地图的测绘。其中,所述节点地图可以只是根据节点的地理位置信息绘制的地图,也可以是节点热力图,还可以是根据节点的地理位置信息及节点状态信息绘制的节点状态图等,具体可以根据实际需求设置。由此,可实时统计全网在线节点数量、区块链网络活跃度等。
由此,使测绘设备100使用根据区块链的P2P协议单独开发的探测程序,连接区块链网络中的节点,并获取到该节点的节点信息和邻居节点的IP地址,进而根据该邻居节点的IP地址获得更多节点的IP地址。该探测程序无需同步区块数据,占用磁盘资源少,并且安装部署简单。并且,通过部署多个探测程序,可以一次性完成多个节点的探测,以便于对区块链节点进行实时测绘。并且,可做到大规模大面积部署探测程序,进一步加快测绘速度。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种节点测绘装置200的实现方式,可选地,该节点测绘装置200可以采用上述图1所示的测绘设备100的器件结构。进一步地,请参照图4,图4为本申请实施例提供的节点测绘装置200的方框示意图。需要说明的是,本实施例所提供的节点测绘装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。所述节点测绘装置200可应用于测绘设备100,所述测绘设备100中存储有IP位置信息库,包括IP地址及与该IP地址对应的地理位置信息。所述节点测绘装置200可以包括:探测模块210及绘制模块220。
所述探测模块210,用于针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址及所述IP位置信息库,获得所述目标IP地址对应的目标地理位置信息,并根据所述目标IP地址向所述目标节点发送连接请求。其中,所述目标节点为区块链网络中的节点。
所述探测模块210,还用于在连接成功的情况下,向所述目标节点发送邻居节点查询命令,以获得所述目标节点的邻居节点列表,并根据所述邻居节点列表中包括的IP地址对所述当前已获得的目标节点的目标IP地址进行更新。
所述绘制模块220,用于根据获得的节点信息,绘制节点地图。其中,所述节点信息包括目标地理位置信息。
可选地,在本实施例中,在连接成功的情况下,所述探测模块210还可以用于:向所述目标节点发送所述测绘设备的IP地址;接收所述目标节点的其他邻居节点根据所述测绘设备的IP地址发送的连接信息,并根据所述连接信息确定所述其他邻居节点的节点信息。其中,所述连接信息中包括其他邻居节点的IP地址,所述其他邻居节点为在通过所述邻居节点查询命令获得的所述目标节点的所述邻居节点列表中不包括的邻居节点。
可选地,在本实施例中,所述探测模块210还可以用于:在根据所述连接信息与所述其他邻居节点建立通信连接的情况下,向所述其他邻居节点发送所述邻居节点查询命令,以获得所述其他邻居节点的邻居节点列表,并根据所述其他邻居节点的邻居节点列表对所述当前已获得的目标节点的目标IP地址进行更新。
可选地,在本实施例中,在第一次与所述区块链网络中的节点连接时,所述探测模块210可用于:对获得的所述区块链网络的种子列表进行解析,获得种子节点的IP地址;根据所述种子节点的IP地址及所述IP位置信息库,获得所述种子节点的IP地址对应的目标地理位置信息。
所述节点信息还包括节点状态信息,所述探测模块210还用于:根据与节点的连接情况,确定所述节点的节点状态信息。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器110中或固化于测绘设备100的操作系统(Operating System,OS)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的节点测绘方法。
综上所述,本申请实施例提供一种节点测绘方法、装置、测绘设备及可读存储介质,针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址、及存储的IP位置信息库中所包括的IP地址及与该IP地址对应的地理位置信息,获得所述目标节点的目标IP地址对应的目标地理位置信息,并根据该目标IP地址向该目标节点发送连接请求。其中,目标节点为区块链网络中的节点。在与所述目标节点连接成功的情况下,通过向所述目标节点发送邻居节点查询命令,获得该目标节点的邻居节点列表,并根据该邻居节点列表中所包括的IP地址对上述当前已获得的目标节点的目标IP地址进行更新。接着,则可根据获得的包括目标地理位置信息的节点信息,绘制节点地图。由此,可使测绘设备通过主动扫描的方式,对区块链节点进行探测,以快速获得区块链节点的位置信息,进而绘制出可呈现区块链节点的位置分布情况的节点地图。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种节点测绘方法,其特征在于,应用于测绘设备,所述测绘设备中存储有IP位置信息库,包括IP地址及与该IP地址对应的地理位置信息,所述方法包括:
针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址及所述IP位置信息库,获得所述目标IP地址对应的目标地理位置信息,并根据所述目标IP地址向所述目标节点发送连接请求,其中,所述目标节点为区块链网络中的节点;
在连接成功的情况下,向所述目标节点发送邻居节点查询命令,以获得所述目标节点的邻居节点列表,并根据所述邻居节点列表中包括的IP地址对所述当前已获得的目标节点的目标IP地址进行更新;
根据获得的节点信息,绘制节点地图,其中,所述节点信息包括目标地理位置信息;
在连接成功的情况下,所述方法还包括:
向所述目标节点发送所述测绘设备的IP地址;
接收所述目标节点的其他邻居节点根据所述测绘设备的IP地址发送的连接信息,并根据所述连接信息确定所述其他邻居节点的节点信息,其中,所述连接信息中包括其他邻居节点的IP地址,所述其他邻居节点为在通过所述邻居节点查询命令获得的所述目标节点的所述邻居节点列表中不包括的邻居节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在根据所述连接信息与所述其他邻居节点建立通信连接的情况下,向所述其他邻居节点发送所述邻居节点查询命令,以获得所述其他邻居节点的邻居节点列表,并根据所述其他邻居节点的邻居节点列表对所述当前已获得的目标节点的目标IP地址进行更新。
3.根据权利要求1所述的方法,其特征在于,在第一次与所述区块链网络中的节点连接时,所述针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址及所述IP位置信息库,获得所述目标IP地址对应的目标地理位置信息,包括:
对获得的所述区块链网络的种子列表进行解析,获得种子节点的IP地址;
根据所述种子节点的IP地址及所述IP位置信息库,获得所述种子节点的IP地址对应的目标地理位置信息。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,所述节点信息还包括节点状态信息,在所述根据获得的节点信息,绘制节点地图之前,所述方法还包括:
根据与节点的连接情况,确定所述节点的节点状态信息。
5.一种节点测绘装置,其特征在于,应用于测绘设备,所述测绘设备中存储有IP位置信息库,包括IP地址及与该IP地址对应的地理位置信息,所述装置包括:
探测模块,用于针对当前已获得的目标节点的目标IP地址,根据所述目标IP地址及所述IP位置信息库,获得所述目标IP地址对应的目标地理位置信息,并根据所述目标IP地址向所述目标节点发送连接请求,其中,所述目标节点为区块链网络中的节点;
所述探测模块,还用于在连接成功的情况下,向所述目标节点发送邻居节点查询命令,以获得所述目标节点的邻居节点列表,并根据所述邻居节点列表中包括的IP地址对所述当前已获得的目标节点的目标IP地址进行更新;
绘制模块,用于根据获得的节点信息,绘制节点地图,其中,所述节点信息包括目标地理位置信息;
在连接成功的情况下,所述探测模块还用于:
向所述目标节点发送所述测绘设备的IP地址;
接收所述目标节点的其他邻居节点根据所述测绘设备的IP地址发送的连接信息,并根据所述连接信息确定所述其他邻居节点的节点信息,其中,所述连接信息中包括其他邻居节点的IP地址,所述其他邻居节点为在通过所述邻居节点查询命令获得的所述目标节点的所述邻居节点列表中不包括的邻居节点。
6.根据权利要求5所述的装置,其特征在于,所述节点信息还包括节点状态信息,所述探测模块还用于:
根据与节点的连接情况,确定所述节点的节点状态信息。
7.一种测绘设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-4中任意一项所述的节点测绘方法。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任意一项所述的节点测绘方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011607973.3A CN112804299B (zh) | 2020-12-30 | 2020-12-30 | 节点测绘方法、装置、测绘设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011607973.3A CN112804299B (zh) | 2020-12-30 | 2020-12-30 | 节点测绘方法、装置、测绘设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112804299A CN112804299A (zh) | 2021-05-14 |
CN112804299B true CN112804299B (zh) | 2023-02-28 |
Family
ID=75804345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011607973.3A Active CN112804299B (zh) | 2020-12-30 | 2020-12-30 | 节点测绘方法、装置、测绘设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112804299B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379525A (zh) * | 2021-06-11 | 2021-09-10 | 恒安嘉新(北京)科技股份公司 | 一种金融监管的方法、装置、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291448A (zh) * | 2011-08-08 | 2011-12-21 | 华南理工大学 | 移动自组织网络中基于地理位置的ip地址自动分配方法 |
CN103973596A (zh) * | 2013-11-28 | 2014-08-06 | 合一网络技术(北京)有限公司 | 一种p2p网络节点筛选方法 |
CN104168341A (zh) * | 2014-08-15 | 2014-11-26 | 北京百度网讯科技有限公司 | Ip地址的定位方法和cdn调度方法以及装置 |
CN107438115A (zh) * | 2017-09-11 | 2017-12-05 | 深圳市茁壮网络股份有限公司 | 一种域名解析方法、装置及系统 |
CN108833610A (zh) * | 2018-07-19 | 2018-11-16 | 网宿科技股份有限公司 | 一种信息更新方法、装置及系统 |
CN109040337A (zh) * | 2018-07-19 | 2018-12-18 | 网宿科技股份有限公司 | 一种信息查询方法、边缘服务器及信息查询系统 |
CN110430139A (zh) * | 2019-08-02 | 2019-11-08 | 北京众享比特科技有限公司 | 一种去中心化网络节点位置信息的获取方法及装置 |
CN110557304A (zh) * | 2019-09-20 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 一种地址探测方法、设备及计算机可读存储介质 |
CN111447290A (zh) * | 2020-06-12 | 2020-07-24 | 支付宝(杭州)信息技术有限公司 | 区块链网络中的通信方法、业务数据传输方法 |
CN111598564A (zh) * | 2019-02-20 | 2020-08-28 | 华为技术有限公司 | 区块链节点连接建立方法、装置及设备 |
CN111641734A (zh) * | 2020-06-08 | 2020-09-08 | 杭州复杂美科技有限公司 | 节点标识生成方法、设备和存储介质 |
CN111740915A (zh) * | 2020-08-05 | 2020-10-02 | 百度在线网络技术(北京)有限公司 | 邻居节点确定方法、装置、设备和存储介质 |
WO2020233051A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 跨网段互连的区块链网络实现方法、装置、系统及介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9143422B2 (en) * | 2011-03-08 | 2015-09-22 | Cisco Technology, Inc. | Determining network node performance data based on location and proximity of nodes |
US9743367B2 (en) * | 2014-09-18 | 2017-08-22 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Link layer discovery protocol (LLDP) on multiple nodes of a distributed fabric |
EP3430769A4 (en) * | 2016-03-18 | 2019-11-20 | Coco Communications Corp. | SYSTEMS AND METHODS FOR THE COMMON USE OF NETWORK INFORMATION |
CN109639848A (zh) * | 2018-12-20 | 2019-04-16 | 全链通有限公司 | 在区块链中发布域名的方法、设备、系统及存储介质 |
CN109995789B (zh) * | 2019-04-10 | 2021-08-06 | 腾讯科技(深圳)有限公司 | Rpc接口的风险检测方法、装置、设备及介质 |
US11122110B2 (en) * | 2019-06-11 | 2021-09-14 | Advanced New Technologies Co., Ltd. | Blockchain-based file processing method, apparatus, and device, and storage medium |
CN111314427A (zh) * | 2020-01-16 | 2020-06-19 | 杭州趣链科技有限公司 | 一种区块链全部节点信息的获取方法、设备和存储介质 |
CN112020119A (zh) * | 2020-10-22 | 2020-12-01 | 江苏怀业信息技术股份有限公司 | 基于batman-adv协议的mesh自组网拓扑图设计方法 |
-
2020
- 2020-12-30 CN CN202011607973.3A patent/CN112804299B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291448A (zh) * | 2011-08-08 | 2011-12-21 | 华南理工大学 | 移动自组织网络中基于地理位置的ip地址自动分配方法 |
CN103973596A (zh) * | 2013-11-28 | 2014-08-06 | 合一网络技术(北京)有限公司 | 一种p2p网络节点筛选方法 |
CN104168341A (zh) * | 2014-08-15 | 2014-11-26 | 北京百度网讯科技有限公司 | Ip地址的定位方法和cdn调度方法以及装置 |
CN107438115A (zh) * | 2017-09-11 | 2017-12-05 | 深圳市茁壮网络股份有限公司 | 一种域名解析方法、装置及系统 |
CN108833610A (zh) * | 2018-07-19 | 2018-11-16 | 网宿科技股份有限公司 | 一种信息更新方法、装置及系统 |
CN109040337A (zh) * | 2018-07-19 | 2018-12-18 | 网宿科技股份有限公司 | 一种信息查询方法、边缘服务器及信息查询系统 |
CN111598564A (zh) * | 2019-02-20 | 2020-08-28 | 华为技术有限公司 | 区块链节点连接建立方法、装置及设备 |
WO2020233051A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 跨网段互连的区块链网络实现方法、装置、系统及介质 |
CN110430139A (zh) * | 2019-08-02 | 2019-11-08 | 北京众享比特科技有限公司 | 一种去中心化网络节点位置信息的获取方法及装置 |
CN110557304A (zh) * | 2019-09-20 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 一种地址探测方法、设备及计算机可读存储介质 |
CN111641734A (zh) * | 2020-06-08 | 2020-09-08 | 杭州复杂美科技有限公司 | 节点标识生成方法、设备和存储介质 |
CN111447290A (zh) * | 2020-06-12 | 2020-07-24 | 支付宝(杭州)信息技术有限公司 | 区块链网络中的通信方法、业务数据传输方法 |
CN111740915A (zh) * | 2020-08-05 | 2020-10-02 | 百度在线网络技术(北京)有限公司 | 邻居节点确定方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
基于区块链的物联网节点位置隐私保护模型;佘维等;《应用科学学报》;20200130(第01期);全文 * |
基于节点相对位置信息的Overlay匹配方法研究;黄金强等;《计算机工程与科学》;20080815(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112804299A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099761B (zh) | 一种集中管理客户端的配置信息的方法和系统 | |
EP2062125B1 (en) | System and method for providing high availability data | |
US7788522B1 (en) | Autonomous cluster organization, collision detection, and resolutions | |
CN107656988A (zh) | 文档编辑方法及系统 | |
CN109802985A (zh) | 数据传输方法、装置、设备及可读取存储介质 | |
US8296420B2 (en) | Method and apparatus for constructing a DHT-based global namespace | |
US11956335B1 (en) | Automated mapping of multi-tier applications in a distributed system | |
CN103312489B (zh) | 一种终端与服务器进行同步的方法和装置 | |
WO2013170141A1 (en) | Transmitting and displaying offline data | |
JP2007108905A (ja) | ファイルサーバ、ファイル提供方法及びプログラム | |
US11153173B1 (en) | Dynamically updating compute node location information in a distributed computing environment | |
US20080256174A1 (en) | Exchanging data via a virtual field device | |
CN112035420A (zh) | 数据共享方法、共享设备和系统 | |
CN112804299B (zh) | 节点测绘方法、装置、测绘设备及可读存储介质 | |
CN111884844A (zh) | 基于zookeeper的消息服务接入方法和设备 | |
CN112015696A (zh) | 数据访问、数据关系设置方法、装置及存储介质 | |
CN111274004A (zh) | 进程实例管理方法、装置及计算机存储介质 | |
CN118051342A (zh) | 一种在局域网环境下创建k8s负载均衡的方法、系统、设备 | |
CN113364681B (zh) | 网络路径确定方法、装置、电子设备、介质和程序产品 | |
CN114553867A (zh) | 一种云原生的跨云网络监控方法、装置及存储介质 | |
CN111404978A (zh) | 一种数据存储方法及云存储系统 | |
US9544371B1 (en) | Method to discover multiple paths to disk devices cluster wide | |
CN112732775A (zh) | 区块节点数据的处理方法、装置、计算机设备和存储介质 | |
CN109412940B (zh) | 路由器管理方法及路由器管理系统 | |
CN107277126A (zh) | 一种云计算资源管理方法及装置 |
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 | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 9/F, Block C, No. 28 Tianfu Avenue North Section, Chengdu High tech Zone, China (Sichuan) Pilot Free Trade Zone, Chengdu City, Sichuan Province, 610000 Patentee after: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd. Address before: 610000, 11th floor, building 2, no.219, Tianfu Third Street, Chengdu pilot Free Trade Zone, hi tech Zone, Chengdu, Sichuan Province 610000 Patentee before: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd. |