CN110933166B - 一种共识平台、终端、节点和路径选择方法 - Google Patents
一种共识平台、终端、节点和路径选择方法 Download PDFInfo
- Publication number
- CN110933166B CN110933166B CN201911183707.XA CN201911183707A CN110933166B CN 110933166 B CN110933166 B CN 110933166B CN 201911183707 A CN201911183707 A CN 201911183707A CN 110933166 B CN110933166 B CN 110933166B
- Authority
- CN
- China
- Prior art keywords
- node
- terminal
- nodes
- distance
- address
- 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
- 238000010187 selection method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005057 refrigeration Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5683—Storage of data provided by user terminals, i.e. reverse caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种共识平台、终端、节点和路径选择方法,涉及区块链技术领域,用于进行高效率的数据上报。该共识平台包括:收发模块,用于从终端接收终端的位置,从多个节点接收多个节点的位置和工作状态;处理模块,用于根据终端的位置、多个节点的位置和工作状态,确定至少一个第一节点和至少一个第二节点,其中,第一节点与终端的距离小于第二节点与终端的距离;收发模块,还用于向终端发送至少一个第一节点的IP地址;处理模块,还用于根据至少一个第一节点的位置、至少一个第二节点的位置,确定每个第二节点对应的第三节点;收发模块,还用于向第三节点发送对应的第二节点的IP地址。本申请实施例应用于路径的选择。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种共识平台、终端、节点和路径选择方法。
背景技术
区块链是一种去中心化的存储和计算技术,其通过将加密数据块按照时间顺序叠加而生成的持久的不可修改的记录,并且将记录存储在区块链的各个区块链节点设备中,使得以去中心化的方式进行分布式数据存储。
目前,区块链数据上报大多采用固定的路径选择,终端根据该路径将区块链数据上报至区块链网络中的部分节点,再由这部分节点传送至其他节点,以将数据发送至网络中的所有节点。但在实际实施时,进行数据上报的终端的位置可能是变化的,其与节点的距离也是变化的,在终端位置发生变化后仍然按照固定的路径选择进行数据上报,会造成数据上报的效率降低。
发明内容
本申请的实施例提供一种共识平台、终端、节点和路径选择方法,用于解决现有技术中区块链数据上报大多采用固定的路径选择,数据上报的效率较低的问题,进行高效率的数据上报。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请的实施例提供了一种共识平台,包括:
收发模块,用于从终端接收所述终端的位置,从多个节点接收所述多个节点的位置和工作状态;
处理模块,用于根据所述终端的位置、所述多个节点的位置和工作状态,确定至少一个第一节点和至少一个第二节点,其中,所述第一节点与所述终端的距离小于所述第二节点与所述终端的距离;
所述收发模块,还用于向所述终端发送所述至少一个第一节点的IP地址,其中,所述至少一个第一节点的IP地址用于指示所述终端向所述至少一个第一节点发送区块链数据;
所述处理模块,还用于根据所述至少一个第一节点的位置、所述至少一个第二节点的位置,确定每个所述第二节点对应的第三节点,其中,所述第三节点为与所述至少一个第二节点中的一个节点距离最近的第一节点;
所述收发模块,还用于向所述第三节点发送对应的所述第二节点的IP地址,其中,所述第二节点的IP地址用于指示所述第三节点向对应的所述第二节点发送所述区块链数据。
第二方面,本申请的实施例提供了一种终端,包括:
采集模块,用于获取终端的信号强度;
所述采集模块,还用于在所述信号强度小于或等于预设值时,在预设时间后重新获取所述信号强度;
所述采集模块,还用于在所述信号强度大于所述预设值时,获取所述终端的位置;
收发模块,用于向共识平台发送所述终端的位置;
所述收发模块,还用于从所述共识平台接收至少一个第一节点的IP地址;
所述收发模块,还用于向所述至少一个第一节点发送区块链数据。
第三方面,本申请的实施例提供了一种节点,包括:
处理模块,用于获取节点的位置和工作状态;
收发模块,用于向共识平台发送所述节点的位置和工作状态。
所述收发模块,还用于从所述共识平台接收对应的第二节点的IP地址;
所述收发模块,还用于从终端接收区块链数据;
所述收发模块,还用于向所述第二节点发送所述区块链数据。
第四方面,本申请的实施例提供了一种路径选择方法,包括:
共识平台从终端接收所述终端的位置,从多个节点接收所述多个节点的位置和工作状态;
所述共识平台根据所述终端的位置、所述多个节点的位置和工作状态,确定至少一个第一节点和至少一个第二节点,其中,所述第一节点与所述终端的距离小于所述第二节点与所述终端的距离;
所述共识平台向所述终端发送所述至少一个第一节点的IP地址,其中,所述至少一个第一节点的IP地址用于指示所述终端向所述至少一个第一节点发送区块链数据;
所述共识平台根据所述至少一个第一节点的位置、所述至少一个第二节点的位置,确定每个所述第二节点对应的第三节点,其中,所述第三节点为与所述至少一个第二节点中的一个节点距离最近的第一节点;
所述共识平台向所述第三节点发送对应的所述第二节点的IP地址,其中,所述第二节点的IP地址用于指示所述第三节点向对应的所述第二节点发送所述区块链数据。
第五方面,本申请的实施例提供了一种路径选择方法,包括:
终端获取所述终端的信号强度;
在所述信号强度小于或等于预设值时,所述终端在预设时间后重新获取所述信号强度;
在所述信号强度大于所述预设值时,所述终端获取所述终端的位置;
所述终端向共识平台发送所述终端的位置;
所述终端从所述共识平台接收至少一个第一节点的IP地址;
所述终端向所述至少一个第一节点发送区块链数据。
第六方面,本申请的实施例提供了一种路径选择方法,包括:
节点获取所述节点的位置和工作状态;
所述节点向共识平台发送所述节点的位置和工作状态;
所述节点从所述共识平台接收对应的第二节点的IP地址;
所述节点从所述终端接收区块链数据;
所述节点向对应的所述第二节点发送所述区块链数据。
第七方面,提供了一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行如第四方面、第五方面或第六方面所述的路径选择方法。
第八方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行如第四方面、第五方面或第六方面所述的路径选择方法。
第九方面,提供一种路径选择装置,包括:处理器和存储器,存储器用于存储程序,处理器调用存储器存储的程序,以执行上述第四方面、第五方面或第六方面所述的路径选择方法。
本申请的实施例提供的共识平台、终端、节点和路径选择方法,通过获取终端的信号强度,判断终端只在通信环境状态较好的情况下进行区块链数据上报;共识平台通过获取节点的工作状态,使终端只向正常工作的节点发送区块链数据;通过终端的位置和节点的位置确定终端与各个节点的距离,并根据终端与各个节点距离确定第一节点和第二节点,使终端在进行数据上报时只需上传到距离较近的第一节点;共识平台根据第一节点的位置与第二节点的位置计算第一节点与第二节点的距离,确定第二节点对应的第一节点中的第三节点,使第三节点只需要将接收到的区块链数据发送到距离较近的多个第二节点中,即可将终端上报的区块链数据发送至所有节点中。使终端在进行区块链数据上报时,可以根据终端与节点的距离,节点与节点间的距离,来进行路径的选择。解决了现有技术中区块链数据上报大多采用固定的路径选择,数据上报的效率较低的问题,进行高效率的数据上报。
附图说明
图1为本申请的实施例提供的一种区块链网络的结构示意图;
图2为本申请的实施例提供的一种终端的硬件结构示意图;
图3为本申请的实施例提供的一种服务器的硬件结构示意图;
图4为本申请的实施例提供的一种终端的结构示意图;
图5为本申请的实施例提供的一种共识平台的结构示意图;
图6为本申请的实施例提供的一种节点的结构示意图;
图7为本申请的实施例提供的一种路径选择方法的流程示意图。
具体实施方式
下面结合附图对本申请的具体实施方式做进一步的详细说明。
如图1所示,本申请的实施例提供的一种区块链网络的结构示意图,包括终端10和区块链20。其中,终端10可以是手机、笔记本电脑、个人数字助理、可穿戴移动电子设备等设备,区块链20由共识平台30和多个节点40组成,共识平台和节点40可以是计算机、服务器等设备。
终端10与区块链20中的共识平台30、节点40可以通过无线进行通信,共识平台30和各个节点40间也可以通过有线或无线进行通信。终端10可以获取终端10当前的信号强度、位置等信息,用于执行下述实施例中路径选择方法的对应动作。节点40可以获取节点40当前的位置、工作状态等信息,并在当前位置、工作状态等发生变化时向共识平台30发送变化后的位置、工作状态等信息。共识平台可以从终端10、多个节点40获取对应的信息,以执行下述实施例中路径选择方法的对应动作。
示例性的,如图2所示,以终端10为手机为例,对终端10的结构进行说明。
终端10可以包括:射频(radio frequency,RF)电路110、存储器120、输入模块130、显示模块140、传感器150、音频电路160、Wi-Fi模块170、处理器180、蓝牙模块181、摄像模块182以及电源190等部件。
其中,RF电路110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器180处理;可以将上行数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。
存储器120可用于存储软件程序及数据。处理器180通过运行存储在存储器120的软件程序或数据,从而执行终端10的各种功能以及数据处理。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器120存储有使得终端10能运行的操作系统,例如苹果公司所开发的操作系统,谷歌公司所开发的开源操作系统,微软公司所开发的操作系统等。本申请中存储器120可以存储操作系统及各种应用程序,还可以存储执行本申请实施例方法的代码。
输入模块130(例如触摸屏)可用于接收输入的数字或字符信息,产生与终端10的用户设置以及功能控制有关的信号输入。具体地,输入模块130可以包括设置在终端10正面的触控屏131,可收集用户在其上或附近的触摸操作。
显示模块140(即显示屏)可用于显示由用户输入的信息或提供给用户的信息以及终端10的各种菜单的图形用户界面(graphical user interface,GUI)。显示模块140可包括设置在终端10正面的显示屏141。其中,显示屏141可以采用液晶显示器、有机发光二极管(organic light-emitting diode,OLED)显示器等形式来配置。显示模块140可以用于显示本申请中所述的各种图形用户界面。触控屏131可以覆盖在显示屏141之上,也可以将触控屏131与显示屏141集成而实现终端10的输入和输出功能,集成后可以简称触摸显示屏。
终端10还可以包括至少一种传感器150,比如光传感器、运动传感器。终端10还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器。
音频电路160、扬声器161、麦克风162可提供用户与终端10之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。
Wi-Fi属于短距离无线传输技术,终端10可以通过Wi-Fi模块170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。
处理器180是终端10的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的软件程序,以及调用存储在存储器120内的数据,执行终端10的各种功能和处理数据。本申请中处理器180可以指一个或多个处理器,并且处理器180可包括一个或多个处理单元;处理器180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器180中。本申请中处理器180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例所述的方法。
蓝牙模块181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端10可以通过蓝牙模块181与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
摄像模块182(即摄像头)用于采集图像信息。
终端10还包括给各个部件供电的电源190(比如电池)。电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
如图3所示,本申请的实施例提供了一种服务器的硬件结构示意图,该服务器可以是共识平台30或节点40。
该服务器包括一个或多个处理器301、存储器302、通信接口303以及通信总线304。其中,处理器301用于执行存储器302中存储的计算机执行指令,从而实现本申请下述实施例中路径选择方法的步骤或动作。存储器302用于存储执行本申请方案的计算机执行指令,并由处理器301来控制执行。通信接口303用于与终端10、共识平台30或节点40进行消息交互。通信总线104用于服务器各部件之间传输信息。
如图4所示,本申请的实施例提供了一种终端10的结构示意图,该终端10包括:收发模块11、采集模块12。
具体的,收发模块11可以通过图3所示的用户终端20的RF电路110实现发送和/或接收功能,采集模块12可以通过图2所示的终端10中的处理器和RF电路110来获取信号强度、位置等信息以实现本申请下述实施例中的路径选择方法。
如图5所示,本申请的实施例提供了一种共识平台30的结构示意图,该共识平台30包括:收发模块31、处理模块32。
具体的,收发模块31可以通过图3所示的服务器中的通信接口303实现发送和/或接收功能,处理模块32可以通过图3所示的服务器中的处理器301调用存储器302中存储的计算机执行指令来实现本申请下述实施例的路径选择方法。
如图6所示,本申请的实施例提供了一种节点40的结构示意图,该节点40包括:收发模块41、处理模块42。
具体的,收发模块41可以通过图3所示的服务器中的通信接口303实现发送和/或接收功能,处理模块42可以通过如图3所示的服务器中的处理器301调用存储器302中存储的计算机执行指令来实现本申请下述实施例的路径选择方法。
图7为本申请的实施例提供的一种路径选择方法的流程示意图,应用于如图1所示的制冷设备控制系统中。该制冷设备控制方法具体包括如下步骤:
S701、终端获取终端的信号强度。
具体的,终端10的采集模块12获取终端10的信号强度。
终端10在每次进行区块链数据上报前,首先获取当前所处通信环境的信号强度等信息,以避免在信号较差的通信环境下进行区块链数据上报,造成数据传输缓慢、数据传输不完整等情况的发生。
S702、终端根据信号强度判断是否获取终端的位置。
具体的,终端10的采集模块12在信号强度小于或等于预设值时,在预设时间后重新获取信号强度;在信号强度大于预设值时,获取终端10的位置。
考虑到终端10的位置会随用户的位置变化而产生变化,此时,终端所处的通信环境也是实时变化的。因此,终端10在判断信号强度小于或等于预设值时,判断当前通信环境不适合进行区块链数据上报,将数据缓存在终端10中,并周期性的获取和判断通信环境的信号强度。
在信号强度大于预设值时,终端10判断当前通信环境良好,适合进行区块链数据上报,此时,终端10获取终端10的位置。示例性的,终端10的位置可以是终端10的经纬度坐标。
S703、终端向共识平台发送终端的位置。
具体的,终端10的收发模块11向共识平台30发送终端10的位置。
S704、节点获取节点的位置和工作状态。
具体的,节点40的处理模块42获取节点40的位置和工作状态。
其中,节点40的位置可以是节点的经纬度坐标,工作状态可以是正常工作、宕机、高延迟等状态。
S705、节点向共识平台发送节点的位置和工作状态。
具体的,节点40的收发模块41向共识平台30发送节点40的位置和工作状态。
可选的,节点40的处理模块42还可以获取节点40的网络延迟、当前访问用户数量等信息,节点40的收发模块41可以向共识节点发送这些信息,使共识平台30可以根据这些信息进行路径选择,以进一步提高区块链数据上报的效率。
S706、共识平台从终端接收终端的位置,从多个节点接收多个节点的位置和工作状态。
具体的,共识平台30的收发模块31从终端10接收终端10的位置,从多个节点40接收多个节点40的位置和工作状态。
示例性的,共识平台30在接收到多个节点40的位置和工作状态后,可以生成如表1所示的节点位置状态地址列表:
表1
节点编号 | 位置 | 工作状态 | IP地址 |
1 | (x1,y1) | 正常工作 | IP1 |
2 | (x2,y2) | 正常工作 | IP2 |
3 | (x3,y3) | 正常工作 | IP3 |
4 | (x4,y4) | 宕机 | IP4 |
… | … | … | … |
n | (xn,yn) | 正常工作 | IPn |
可选的,在节点40的位置或工作状态发生变化时,节点40的处理模块42获取节点40当前的位置和工作状态,节点40的收发模块41向共识平台30发送节点40当前的位置和工作状态。通过发送变化后节点40的位置和工作状态。共识平台30可以根据节点40当前的位置和工作状态更新表1。
S707、共识平台根据终端的位置、多个节点的位置和工作状态,确定至少一个第一节点和至少一个第二节点。
具体的,共识平台30的处理模块32根据终端的位置、多个节点的位置和工作状态,确定至少一个第一节点50和至少一个第二节点60。其中,第一节点50与终端10的距离小于第二节点60与终端10的距离。
可选的,共识平台30的处理模块32可以根据一下方法确定至少一个第一节点50和至少一个第二节点60:
共识平台30的处理模块32根据多个节点40的工作状态,确定多个第四节点;根据终端10的位置和多个第四节点的位置,确定终端10与多个第四节点中每个节点的距离;根据距离的大小确定距离的中位数,确定多个第四节点中距离小于或等于中位数的节点为第一节点50,确定多个第四节点中距离大于中位数的节点为第二节点60。
其中,多个第四节点为处于正常工作状态的节点。
示例性的,共识平台30根据终端10的位置和多个第四节点的位置,可以生成如表2所示终端-节点距离表:
表2
节点编号 | 距离 |
1 | R1 |
2 | R2 |
3 | R3 |
4 | ----- |
… | … |
n | R5 |
其中,节点编号为4的节点的工作作状态为宕机状态,因此不计算该节点40与终端10的距离。
可选的,终端10可以在位置发生变化且信号强度大于预设值时,向共识平台30发送终端10的位置,共识平台30可以根据终端10的位置和节点40的位置、工作状态等信息实时更新表2。
根据节点40的工作状态,筛选出处于正常工作状态的节点,避免出现节点40宕机时,终端10依旧将区块链数据上传至该节点,造成的效率的降低。
根据正常工作的节点40的位置与终端10的位置,确定距离终端10较近的正常工作的节点40作为第一节点50,将较远的节点40作为第二节点60,使终端在进行区块链数据上报时,只需要发送给距离较近的第一节点50。
示例性的,节点40的数量可以是100个,其中工作状态为正常工作的节点可以是80个。共识平台30的处理模块根据100个节点40的工作状态,确定80个第四节点,并计算终端10这80个第四节点的距离,确定这些距离的中位数,并将其中小于或等于中位数的节点作为第一节点,将其中大于中位数的节点确定为第二节点60,从二确定40个第一节点和40个第二节点。
可选的,共识平台30的处理模块32还可以根据预设配置文件确定预设数量的第一节点50,并确定其它第四节点为第二节点60。使终端10在进行区块链数据上报时,只需发送给预设数量的第一节点50。
S708、共识平台向终端发送至少一个第一节点的IP地址。
具体的,共识平台30的收发模块31向终端10发送至少一个第一节点50的IP地址。
其中,至少一个第一节点50的IP地址用于指示终端10向至少一个第一节点50发送区块链数据。
S709、共识平台根据至少一个第一节点的位置、至少一个第二节点的位置,确定每个第二节点对应的第三节点。
具体的,共识平台30的处理模块32根据至少一个第一节点50的位置、至少一个第二节点60的位置,确定每个第二节点60对应的第三节点。
其中,第三节点为与至少一个第二节点60中的一个节点距离最近的第一节点50。
可选的,共识平台30的处理模块32根据至少一个第一节点50的位置、至少一个第二节点60的位置,确定第二节点60与每个第一节点50的距离,确定与该第二节点60距离最近的第一节点50为对应的第三节点。
通过确定每个第二节点60对应的至少一个第一节点50中的第三节点,使第一节点50从终端10接收的区块链数据,可以以最快的速度传输至第二节点60中。根据第二节点60与每个第一节点50的距离,可能出现一个第一节点50对应多个第二节点60,此时,部分没有对应的第二节点60的第一节点50则不需要向第二节点60发送区块链数据。
S710、共识平台向第三节点发送对应的第二节点的IP地址。
具体的,共识平台30的收发模块向第三节点发送对应的第二节点60的IP地址。
其中,第二节点的IP地址用于指示第三节点向对应的第二节点60发送区块链数据。
S711、终端从共识平台接收至少一个第一节点的IP地址。
具体的,终端10的收发模块11从共识平台30接收至少一个第一节点50的IP地址。
S712、终端向至少一个第一节点发送区块链数据。
具体的,终端10的收发模块11向至少一个第一节点50发送区块链数据。
终端10根据接收的至少一个第一节点50的IP地址,将区块量数据发送给距离最近的至少一个第一节点50。
S713、节点从共识平台接收对应的第二节点的IP地址,从终端接收区块链数据。
具体的,节点40的收发模块41从共识平台30接收对应的第二节点60的IP地址,从终端10接收区块链数据。
S714、节点向对应的第二节点发送区块链数据。
具体的,节点40向对应的第二节点60发送区块链数据。
节点40中的第一节点50根据从共识平台30接收的对应的第二节点60的IP地址,将从终端10接收的区块链数据发送给对应的第二节点60,使终端10的区块链数据能够发送到所有正常工作的节点40。
本申请实施例提供的路径选择方法,通过获取终端的信号强度,判断终端只在通信环境状态较好的情况下进行区块链数据上报;共识平台通过获取节点的工作状态,使终端只向正常工作的节点发送区块链数据;通过终端的位置和节点的位置确定终端与各个节点的距离,并根据终端与各个节点距离确定第一节点和第二节点,使终端在进行数据上报时只需上传到距离较近的第一节点;共识平台根据第一节点的位置与第二节点的位置计算第一节点与第二节点的距离,确定第二节点对应的第一节点中的第三节点,使第三节点只需要将接收到的区块链数据发送到距离较近的多个第二节点中,即可将终端上报的区块链数据发送至所有节点中。使终端在进行区块链数据上报时,可以根据终端与节点的距离,节点与节点间的距离,来进行路径的选择。解决了现有技术中区块链数据上报大多采用固定的路径选择,数据上报的效率较低的问题,进行高效率的数据上报。
本申请的实施例提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被计算机执行时使计算机执行如图7中所述的路径选择方法。
本申请的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行如图7中所述的路径选择方法。
本申请的实施例提供一种路径选择装置,包括:处理器和存储器,存储器用于存储程序,处理器调用存储器存储的程序,以执行如图7中所述的路径选择方法。
由于本申请的实施例中的路径选择装置、计算机可读存储介质、计算机程序产品可以应用于上述路径选择方法,因此,其所能获得的技术效果也可参考上述方法实施例,本申请的实施例在此不再赘述。
需要说明的是,上述各单元可以为单独设立的处理器,也可以集成在控制器的某一个处理器中实现,此外,也可以以程序代码的形式存储于控制器的存储器中,由控制器的某一个处理器调用并执行以上各单元的功能。这里所述的处理器可以是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application SpecificIntegrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
Claims (5)
1.一种共识平台,其特征在于,包括:
收发模块,用于从终端接收所述终端的位置,从多个节点接收所述多个节点的位置和工作状态;
处理模块,用于根据所述终端的位置、所述多个节点的位置和工作状态,确定至少一个第一节点和至少一个第二节点,其中,所述第一节点与所述终端的距离小于所述第二节点与所述终端的距离;
所述收发模块,还用于向所述终端发送所述至少一个第一节点的IP地址,其中,所述至少一个第一节点的IP地址用于指示所述终端向所述至少一个第一节点发送区块链数据;
所述处理模块,还用于根据所述至少一个第一节点的位置、所述至少一个第二节点的位置,确定每个所述第二节点对应的第三节点,其中,所述第三节点为与所述至少一个第二节点中的一个节点距离最近的第一节点;
所述收发模块,还用于向所述第三节点发送对应的所述第二节点的IP地址,其中,所述第二节点的IP地址用于指示所述第三节点向对应的所述第二节点发送所述区块链数据;
所述处理模块具体用于:
根据所述多个节点的工作状态,确定多个第四节点,其中,所述多个第四节点为处于正常工作状态的节点;
根据所述终端的位置和所述多个第四节点的位置,确定所述终端与所述多个第四节点中每个节点的距离;
根据所述距离的大小确定所述距离的中位数,确定所述多个第四节点中所述距离小于或等于所述中位数的节点为所述第一节点,确定所述多个第四节点中所述距离大于所述中位数的节点为所述第二节点。
2.一种路径选择方法,其特征在于,包括:
共识平台从终端接收所述终端的位置,从多个节点接收所述多个节点的位置和工作状态;
所述共识平台根据所述终端的位置、所述多个节点的位置和工作状态,确定至少一个第一节点和至少一个第二节点,其中,所述第一节点与所述终端的距离小于所述第二节点与所述终端的距离;
所述共识平台向所述终端发送所述至少一个第一节点的IP地址,其中,所述至少一个第一节点的IP地址用于指示所述终端向所述至少一个第一节点发送区块链数据;
所述共识平台根据所述至少一个第一节点的位置、所述至少一个第二节点的位置,确定每个所述第二节点对应的第三节点,其中,所述第三节点为与所述至少一个第二节点中的一个节点距离最近的第一节点;
所述共识平台向所述第三节点发送对应的所述第二节点的IP地址,其中,所述第二节点的IP地址用于指示所述第三节点向对应的所述第二节点发送所述区块链数据;
所述共识平台根据所述终端的位置、所述多个节点的位置和工作状态,确定至少一个第一节点和至少一个第二节点,包括:
所述共识平台根据所述多个节点的工作状态,确定多个第四节点,其中,所述多个第四节点为处于正常工作状态的节点;
所述共识平台根据所述终端的位置和所述多个第四节点的位置,确定所述终端与所述多个第四节点中每个节点的距离;
所述共识平台根据所述距离的大小确定所述距离的中位数,确定所述多个第四节点中所述距离小于或等于所述中位数的节点为所述第一节点,确定所述多个第四节点中所述距离大于所述中位数的节点为所述第二节点。
3.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行如权利要求2所述的路径选择方法。
4.一种包含指令的计算机程序产品,其特征在于,当所述指令在计算机上运行时,使得所述计算机执行如权利要求2所述的路径选择方法。
5.一种路径选择装置,其特征在于,包括:处理器和存储器,存储器用于存储程序,处理器调用存储器存储的程序,以执行如权利要求2所述的路径选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911183707.XA CN110933166B (zh) | 2019-11-27 | 2019-11-27 | 一种共识平台、终端、节点和路径选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911183707.XA CN110933166B (zh) | 2019-11-27 | 2019-11-27 | 一种共识平台、终端、节点和路径选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110933166A CN110933166A (zh) | 2020-03-27 |
CN110933166B true CN110933166B (zh) | 2022-08-12 |
Family
ID=69847547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911183707.XA Active CN110933166B (zh) | 2019-11-27 | 2019-11-27 | 一种共识平台、终端、节点和路径选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110933166B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438308B (zh) * | 2021-06-23 | 2022-12-23 | 上海简苏网络科技有限公司 | 一种基于区块链的高效通信方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394353B (zh) * | 2008-10-13 | 2011-11-02 | 北京邮电大学 | 用于车载Ad hoc网络中的数据包竞争转发的方法 |
CN102148763B (zh) * | 2011-04-28 | 2013-12-25 | 南京航空航天大学 | 一种应用于片上网络的动态路径分配方法及系统 |
CN102255807B (zh) * | 2011-07-07 | 2013-10-02 | 浙江大学 | 一种基于主从结构多跳网络的多路径分段路由方法 |
CN113766035B (zh) * | 2017-03-28 | 2023-05-23 | 创新先进技术有限公司 | 一种业务受理及共识的方法及装置 |
SG11201907248QA (en) * | 2018-12-28 | 2019-09-27 | Alibaba Group Holding Ltd | Improving blockchain transaction speeds using global acceleration nodes |
CN109617994A (zh) * | 2018-12-30 | 2019-04-12 | 于涛 | 一种定位区块链中节点位置的方法及系统 |
CN110166567B (zh) * | 2019-06-04 | 2021-10-08 | 长春理工大学 | 一种基于区块链的物联网资源共享方法及系统 |
CN110324415B (zh) * | 2019-06-28 | 2022-04-05 | 百度在线网络技术(北京)有限公司 | 一种对等网络的路由实现方法、装置、设备和介质 |
CN110445882A (zh) * | 2019-09-19 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 通信连接方法、装置、计算机设备及存储介质 |
-
2019
- 2019-11-27 CN CN201911183707.XA patent/CN110933166B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110933166A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3700267B1 (en) | Transmission mode indication for transmitting uplink data from a terminal to a network device | |
JP7186869B2 (ja) | Csiレポートの報告方法、端末機器及びネットワーク機器 | |
CN105847168B (zh) | 一种数据传输的方法、网络服务器、用户终端及系统 | |
CN111148262A (zh) | 一种数据传输方法、信息配置方法、终端及网络设备 | |
CN110856103B (zh) | 一种调度方法、通信方法和相关设备 | |
CN104035951B (zh) | 显示地图的方法、装置及终端 | |
CN110620822A (zh) | 一种网元确定方法和装置 | |
US11985526B2 (en) | Transmission method, network device, and terminal | |
CN106708554A (zh) | 程序运行方法及装置 | |
JP2021520097A (ja) | 測定結果の指示方法、端末及び基地局 | |
CN110933166B (zh) | 一种共识平台、终端、节点和路径选择方法 | |
CN107317828B (zh) | 文件下载方法及装置 | |
JP7352560B2 (ja) | Csiリソースタイプの決定方法、端末及びネットワーク側装置 | |
CN115242805A (zh) | 基于gossip的分布式MQTT消息传递方法、传递系统及存储介质 | |
WO2019036851A1 (zh) | 一种信道状态信息测量及反馈方法及相关产品 | |
CN106470234B (zh) | 一种设备发现的方法及装置 | |
CN115412540A (zh) | 远程设备调试方法、装置、电子设备及存储介质 | |
CN105025064B (zh) | 下载文件的方法、装置及系统 | |
CN109587260A (zh) | 一种资源获取方法、装置以及系统 | |
CN105703808A (zh) | 一种传输数据的方法和装置 | |
CN110213069B (zh) | 一种数据转发方法、装置、容灾系统及存储介质 | |
CN111315031B (zh) | 上行传输方法、终端及网络设备 | |
CN110890950B (zh) | 信号处理方法、接入网设备以及终端设备 | |
CN110071788B (zh) | 信道状态信息参考信号传输方法、网络设备及终端 | |
CN110300221B (zh) | Mipi控制电路和系统、电路控制和电路系统控制方法、终端和计算机可读存储介质 |
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 |