CN108347350B - 一种通信方法及装置 - Google Patents
一种通信方法及装置 Download PDFInfo
- Publication number
- CN108347350B CN108347350B CN201810072794.0A CN201810072794A CN108347350B CN 108347350 B CN108347350 B CN 108347350B CN 201810072794 A CN201810072794 A CN 201810072794A CN 108347350 B CN108347350 B CN 108347350B
- Authority
- CN
- China
- Prior art keywords
- node
- network connection
- connection state
- neighbor node
- neighbor
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
-
- 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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种通信方法及装置,应用于包含多个节点的区块链***,所述方法包括:所述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;所述方法包括:针对至少一个邻居节点,所述节点通过有连接报文,确定所述节点与所述邻居节点间的网络连接状态值;若确定所述网络连接状态值超过第一阈值,则停止通过无连接报文与所述邻居节点进行数据传输。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
现代生活中,常需要证明某项数据(事物)的存在,即数据的存证,如撰写过的文章、历史的操作指令、签订过的合同等,此时便需经过第三方认证机构进行认证,这种认证方式对认证机构的信用度要求极高,而且操作繁琐、成本较高、时效性差。为了解决上述通过第三方认证机构进行数据存证时存在的种种问题,目前已出现很多通过区块链数据存证的方案,利用区块链的无中心化结构及不可更改的特性很好地解决了上述问题。目前比较热门的区块链技术是基于全球范围内的分布式网络,受外部运营商、传播距离的限制,缺乏有效的控制。
随着业务的发展,交易***的交易量逐渐增长,某段时间会出现交易高峰,当大量的交易数据涌入区块链网络中,这时区块链网络的广播能力及记账节点处理交易数据的能力就会出现瓶颈,造成业务无法正常运行,甚至产生广播风暴。
另外,通过全网广播的方式发送消息,由于在互联网上数据传输,存在不可避免的延迟等网络问题,目前的分布式网络目前没有纠错机制,发生丢包错包后难以弥补。因而如何提升分布式数据传输性能,提高数据存证的可靠性和可信性,是目前亟需解决的问题。
发明内容
本申请实施例提供一种通信方法及装置,用以分布式数据传输性能,提高分布式网络的处理效率。
本申请实施例提供一种通信方法,应用于包含多个节点的区块链***,所述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;所述方法包括:
针对至少一个邻居节点,所述节点通过有连接报文,确定所述节点与所述邻居节点间的网络连接状态值;若确定所述网络连接状态值超过第一阈值,则停止通过无连接报文与所述邻居节点进行数据传输。
一种可能的实现方式,所述节点通过有连接报文,确定所述节点与所述邻居节点间的网络连接状态值,包括:
若确定与所述邻居节点的网络连接状态为正常状态,则确定所述网络连接状态值不变;
若确定与所述邻居节点的网络连接状态为异常状态,则增加所述网络连接状态值。
一种可能的实现方式,所述停止与所述邻居节点进行数据传输之后,还包括:
若确定与所述邻居节点的网络连接状态恢复正常,则将所述网络连接状态值按照预设规则随时间衰减。
一种可能的实现方式,所述方法还包括:
若确定所述网络连接状态值小于或等于第二阈值,则重新在所述邻居节点与所述节点之间通过无连接报文进行数据传输。
一种可能的实现方式,所述节点通过有连接报文,确定所述节点与所述邻居节点间的网络连接状态值,包括:
所述节点向所述邻居节点发送心跳包;
所述节点根据在预定时间是否接收到所述邻居节点返回的心跳响应,确定与所述邻居节点的网络连接状态是否为正常状态。
本申请实施例提供一种通信装置,应用于包含多个节点的区块链***,所述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;所述装置包括:
获取单元,用于针对至少一个邻居节点,所述节点通过有连接报文,确定所述节点与所述邻居节点间的网络连接状态值;
处理单元,用于若确定所述网络连接状态值超过第一阈值,则停止通过无连接报文与所述邻居节点进行数据传输。
一种可能的实现方式,所述获取装置具体用于:若确定与所述邻居节点的网络连接状态为正常状态,则确定所述网络连接状态值不变;若确定与所述邻居节点的网络连接状态为异常状态,则增加所述网络连接状态值。
一种可能的实现方式,所述处理单元还用于:
若确定与所述邻居节点的网络连接状态恢复正常,则将所述网络连接状态值按照预设规则随时间衰减。
一种可能的实现方式,所述处理单元还用于:
若确定所述网络连接状态值小于或等于第二阈值,则重新在所述邻居节点与所述节点之间通过无连接报文进行数据传输。
一种可能的实现方式,所述获取单元还用于:所述节点向所述邻居节点发送心跳包;所述节点根据在预定时间是否接收到所述邻居节点返回的心跳响应,确定与所述邻居节点的网络连接状态是否为正常状态。
综上所述,本申请实施例提供一种通信方法及装置,应用于包含多个节点的区块链***,所述述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;所述方法包括:针对至少一个邻居节点,所述节点通过有连接报文,确定所述节点与所述邻居节点间的网络连接状态值;若确定所述网络连接状态值超过第一阈值,则停止与所述邻居节点进行数据传输。在本申请实施例中,区块链***中通过无连接报文可以实现对邻居节点网络状态的监控;进而确定节点与所述邻居节点间的网络连接状态值;在网络连接状态值超过第一阈值时,停止两者之间的数据传输,从而实现对网络状态较差的邻居节点进行抑制,有效的去除了无效数据的发送对网络资源的占用,提高了网络资源的利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种区块链***架构示意图;
图2为本申请实施例提供的一种通信方法的流程示意图;
图3为本申请实施例提供的一种通信方法的流程示意图;
图4为本申请实施例提供的一种通信装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
区块链是一项全新的技术,脱胎于2008年出现的比特币技术,它提供了一种去中心化的、无需信任积累的信用建立范式。在这种范式中,任何互不了解的人可以通过加入一个公开透明的数据库,通过点对点的记账、数据传输、认证或是合约,而不需要借助任何一个中间方来达成信用共识。这个公开透明的数据库包括了过去所有的交易记录、历史数据及其他相关信息,所有信息都分布式存储并透明可查,并以密码学协议的方式保证其不能非法篡改。
区块链技术是通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案,更通俗一点说,区块链技术就是一种全民参与记账的方式。
在区块链网络中,区块链网络中的某个记账节点会接收到服务器发送的交易数据,该记账节点会将接收到的交易数据向其他记账节点广播,各记账节点在接收到一定量的交易数据后,会进行记账,记账成功的记账节点会生成交易数据的区块,以供区块链网络中的其他节点下载区块,从而达到全民参与记账的方式。区块链的广播方式主要使用于同一交换机或者相邻交换机,延迟低、可靠性相对高。考虑到记账间隔,现有的区块链信息的传递可以通过组播方式进行数据共享,即相同类型数据的用户设备作为一组广播的节点,用于共享该相同类型的数据,可以节省服务器的负载。
为了更好地理解本方案中的***整体架构,下面对***的整体架构作一下说明,***的架构图如下图1所示:
图1示例性示出了本申请实施例提供的一种区块链***,包括多个节点。其中,所述多个节点通过对等网络(Peer to Peer,P2P)动态组网,形成一个“去中心化”的***。图1为本申请实施例提供的一种可行的区块链***架构示意图,如图1所示,区块链***中包括节点0、节点1、节点2、节点3和节点4,这五个节点之间互为对等节点,通过P2P动态组网构成一个去中心化的***。图1中的直线表示各节点之间的数据传输关系,每个节点的邻居节点为与所述节点直接通信的节点。以节点2为例,节点2的邻居节点为节点0、节点1和节点3;节点2向节点2的邻居节点广播消息,节点2的广播消息可由节点0、节点1和节点3接收。
在使用本申请实施例所提供的区块链***写入数据时,可将***的多个节点中的任一节点作为接收节点接收待写入数据;接收节点将待写入数据向其它节点发送数据写入请求;数据写入请求中包括该待写入数据;数据写入请求用于指示其它节点中任一个节点将待写入数据存入各自的待写入数据集,即对于其它节点中的任一节点,在收到数据写入请求后,获取其中的待写入数据并存入各自的待写入数据集。
以图1所示的区块链***举例说明,节点2作为接收节点接收待写入数据;节点2将待写入数据存入其本地的待写入数据集,并向节点0、节点1和节点3发送数据写入请求;数据写入请求中包括待写入数据;节点0、节点1和节点3将数据写入请求中的待写入数据存入各自的待写入数据集,节点1或节点3继续转发该数据写入请求至节点4;节点4接收节点1和节点3中最先到达的数据写入请求,并将数据写入请求中的待写入数据存入节点4的待写入数据集中,经过上述过程,***中的每一个对等节点都收到了待写入数据。
应理解,本申请实施例的技术方案可以应用于各种分布式***中,例如比特币***等。本申请实施例中,获取多个服务器发送的数据可以是服务器确定需要上传后立即发送,也可以是周期性发送,也可以是周期性从各服务器中获取数据。存储的数据可以是一个对象,例如,转账,对象中会包括时间、转账双方账号、转账金额等信息;如果是一段文字记录,对象中会包括信息内容和信息发送者的标识;存储的类型可以是文件存储、缓存、关系型数据存储、非关系型数据存储等,用于保障数据的可用性,存储的类型包括这些类型但不限于这些类型,还可以是其它类型。
目前区块链技术是基于全球范围内的分布式网络,该技术普遍使用广播或组播传递数据,受外部运营商、传播距离的限制,随着业务的发展,交易***的交易量逐渐增长,某段时间会出现交易高峰,当大量的交易数据涌入区块链网络中,这时区块链网络的广播能力及记账节点处理交易数据的能力就会出现瓶颈,造成业务无法正常运行,甚至产生广播风暴。如不进行有效的控制广播泛洪的行为,严重时可能导致堵塞数据传输。
现有技术可以通过自定义规则放弃记录部分数据来保证网络中对交易的处理能力,这样可能会导致部分交易数据出现丢失。
由于在互联网上进行数据传输时,每10公里增加1ms以上的延迟,导致发生丢包错包的问题。分布式网络与单播协议相比没有纠错机制,发生丢包错包后难以弥补。因而分布式数据丢失风险,且数据无法找回。
图2示例性示出了本申请实施例提供的一种通信方法流程示意图,应用于包含多个节点的区块链***,所述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;如图2所示,包括以下步骤:
步骤201:针对至少一个邻居节点,所述节点通过有连接报文,确定所述节点与所述邻居节点间的网络连接状态值;
步骤202:若确定所述网络连接状态值超过第一阈值,则停止通过无连接报文与所述邻居节点进行数据传输。
其中,所述有连接报文为在正式收发数据前,发送方必须和接收方可以建立可靠的连接,确定接收方可以正确接收发送方发送的数据的报文。例如,传输控制协议(Transmission Control Protocol,TCP)报文。所述无连接报文为发送方无需与接收方建立可靠的连接,即无需接收接收方返回的接收数据的响应报文,进而确定接收方是否正确接收所述数据。例如用户数据报协议(User Datagram Protocol,UDP)报文。
在步骤201之前,可以通过以下步骤确定所述节点的至少一个邻居节点:
步骤一、所述节点向邻居节点发送TCP注册请求报文;
步骤二、所述邻居节点接收到所述TCP注册请求报文后,发送TCP注册请求的响应报文至所述节点;
步骤三、所述节点若在预定时间内接收到所述邻居节点发送的TCP注册请求的响应报文,则确定所述邻居节点为所述节点的邻居节点;所述节点发送空包请求至所述至少一个邻居节点。
步骤四、所述至少一个邻居节点发送空包请求至所述节点,结束此次短连接会话。
在步骤一中,所述节点可以根据预设的邻居节点列表中的邻居节点确定邻居节点,也可以根据上一次与所述节点进行数据传输的节点确定所述节点的邻居节点,在此不做限定。
在步骤三中,通过确定所述邻居节点是否返回所述TCP注册请求的响应报文,确定当前所述邻居节点是否在线,进而确定当前进行数据传输时的所述节点的邻居节点。
例如,结合图1,节点2向节点0、节点1和节点3发送TCP注册请求报文,若节点2在预定时间内接收到节点0和节点1的TCP注册请求的响应报文,未接收到节点3的TCP注册请求的响应报文,则可以确定当前的节点2的邻居节点为节点0和节点1。
以上为根据TCP为短连接会话为例进行说明,在具体实施过程中,也可以为所述节点将注册完成的邻居节点保持长连接的状态,用于实时监控所述节点与所述邻居节点的连接状态。
为了避免TCP传输数据带来的时间延迟的问题(数据包从一节点到另一节点所需要的时间),可以采用用户数据报协议(User Datagram Protocol,UDP)代替使用TCP发送传送一次区块所需要的数据。
由于UDP为无连接的传输协议类型,因此,发送端无法确定接收端是否正确接收到发送端发送的数据,因此,在接收端网络状态较差时,发送端仍旧持续向接收端发送数据包,导致占用了大量的网络资源。
本申请实施例中,在步骤201中,可以包括以下步骤:
步骤一、所述节点向所述邻居节点发送心跳包;
步骤二、所述节点根据在预定时间是否接收到所述邻居节点返回的心跳响应,确定所述邻居节点的网络连接状态是否为正常状态。
在步骤一中,所述心跳包可以为周期性的发送,也可以为其他形式的发送,在此不做限定。
在具体实施过程中,可以包括:
所述节点若确定在预定时间接收到所述邻居节点返回的心跳响应,则确定所述邻居节点的网络连接状态为正常状态。
所述节点若确定在超过第一预定时间且小于第二预定时间接收到所述至少一个邻居节点返回的心跳响应,则确定所述邻居节点的网络连接状态为异常状态,且该异常状态为网络延迟。
所述节点若确定超过第二预定时间接收到所述邻居节点返回的心跳响应,则确定所述邻居节点的网络连接状态为异常状态,且该异常状态为无法连接状态。
所述节点在确定所述节点的邻居节点后,可以初始化所述邻居节点的网络连接状态值,例如,可以将所述邻居节点的网络连接状态值设为0。
在步骤202中,包括:
一种可能的实现方式,若确定与所述邻居节点的网络连接状态为正常状态,则确定所述网络连接状态值不变;
一种可能的实现方式,若确定与所述邻居节点的网络连接状态为异常状态,则增加所述网络连接状态值。
在具体实施过程中,可以为通过增加一固定值,也可以为随时间变化的值,在此不做限定。
举例来说,若节点2确定节点1在初始化后的一监测时刻的连接状态为异常状态,则可以增加节点1的网络连接状态值至100。所述监测时刻可以为所述节点向所述至少一个邻居节点确定所述至少一个邻居节点的网络状态的时刻。在下一监测时刻,若节点2确定节点1在该时刻的连接状态仍为异常状态,则可以增加节点1的网络连接状态值至200。
若所述第一阈值为180,则确定节点1的网络连接状态值超过所述第一阈值,因此,节点2将停止数据传输至节点1。
一种可能的实现方式,包括:
步骤一、所述节点停止发送数据至所述邻居节点;
步骤二、所述节点停止接收所述邻居节点发送至所述节点的数据;
通过停止对所述邻居节点发送数据,节省了不必要的网络资源的开销。并且,对于所述邻居节点发送至所述节点的数据,由于网络状态较差,从所述邻居节点获得的数据的可靠性也较低,因此,将所述数据丢弃,减少了所述节点对不必要的数据的处理,节约了所述节点的资源,增加区块链网络的广播能力及记账节点处理交易数据的能力,提高了区块链中每个节点的处理效率。
一种可能的实现方式,包括:若确定所述邻居节点与所述节点的网络连接状态为网络延迟,可以向所述邻居节点发送网络状态告警,通知所述邻居节点停止向所述节点发送数据。
通过发送告警,可以进一步的提高区块链的网络资源的利用率,增加区块链网络的广播能力及记账节点处理交易数据的能力。
通过对网络状态异常后恢复正常的邻居节点,为减少所述邻居节点恢复数据传输所需等待的时间,可以通过以下方式实现:
一种可能的实现方式,所述停止与所述邻居节点进行数据传输之后,还包括:
若确定所述节点与所述邻居节点的网络连接状态恢复正常,则将所述网络连接状态值按照预设规则随时间衰减。
在具体实施过程中,所述预设规则可以为指数衰减的形式,也可以为其他形式,在此不做限定。
一种可能的实现方式,所述方法还包括:
若确定与所述节点停止数据传输的邻居节点的网络连接状态值小于或等于第二阈值,则重新在所述邻居节点与所述节点之间通过UDP进行数据传输。
其中,为避免频繁的确定所述邻居节点是否进行数据传输,影响区块链的正常运行,所述第二阈值小于所述第一阈值。
一种可能的实现方式,为避免长时间无法恢复网络连接状态正常的邻居节点的数据传输,可以设置网络连接状态值的第三阈值,当网络状态值到达所述第三阈值时,所述邻居节点的网络状态值不再增加。所述第三阈值大于所述第一阈值。
举例来说,在t1时刻,节点2确定节点1的网络状态为异常,则将节点1的网络状态值增加为100;在t2时刻,节点2确定节点1的网络状态为异常,则将节点1的网络状态值增加为200;在t3时刻,节点2确定节点1的网络状态为异常,则将节点1的网络状态值增加为300;此时,节点1的网络状态值超过第一阈值(230),则停止节点1与节点2间通过UDP报文进行数据传输。在t4时刻,节点2确定节点1的网络状态恢复正常,则将节点1的网络状态值按照预设规则衰减;在t5时刻,节点2确定节点1的网络状态值小于第二阈值(180),将重新在节点1与节点2之间通过UDP报文进行数据传输。
一种可能的实现方式,在所述停止与所述邻居节点进行数据传输之前,还包括:
若确定所述节点与所述邻居节点的网络连接状态恢复正常,则将所述网络连接状态值按照预设规则随时间衰减。
例如,举例来说,若节点2确定节点1在初始化后的一监测时刻的连接状态为异常状态,则可以增加节点1的网络连接状态值至100。所述监测时刻可以为所述节点向所述至少一个邻居节点确定所述至少一个邻居节点的网络状态的时刻。在下一监测时刻,若节点2确定节点1在该时刻的连接状态为正常状态,则可以根据预设规则将节点1的网络连接状态值衰减,例如,在下一监测时刻,节点1的网络连接状态值衰减至80。
举例来说,结合图1,如图3所示,在t1时刻,节点2确定节点1的网络状态为异常,则将节点1的网络状态值增加为100;在t1至t2时刻之间,若确定节点1的网络状态恢复正常,则根据预设规则对节点1的网络状态值进行衰减;在t2时刻,节点1的网络状态值衰减至80,节点2确定节点1的网络状态为异常,则将节点1的网络状态值增加为180;在t2至t3时刻之间,若确定节点1的网络状态恢复正常,则根据预设规则对节点1的网络状态值进行衰减;在t3时刻,节点1的网络状态值衰减至150,节点2确定节点1的网络状态为异常,则将节点1的网络状态值增加为250;此时,节点1的网络状态值超过第一阈值(230),则停止节点1与节点2间通过UDP报文进行数据传输。在t4时刻,节点2确定节点1的网络状态恢复正常,则将节点1的网络状态值按照预设规则衰减;在t5时刻,节点1的网络状态值衰减至130,节点2确定节点1的网络状态值小于第二阈值(180),将重新在节点1与节点2之间通过UDP报文进行数据传输。
本申请实施例提供一种通信方法的流程示意图,应用于包含多个节点的区块链***,所述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;包括以下步骤:
步骤一、所述节点向邻居节点发送TCP注册请求报文;
步骤二、所述预设的邻居节点接收到所述TCP注册请求报文后,发送TCP注册请求的响应报文至所述节点;
步骤三、所述节点若在预定时间内接收到所述邻居节点发送的TCP注册请求的响应报文,则确定所述邻居节点为所述节点的邻居节点。
步骤四、所述节点向所述节点的至少一个邻居节点发送心跳包;
步骤五、所述节点根据在预定时间是否接收到所述至少一个邻居节点返回的心跳响应,确定所述至少一个邻居节点的网络连接状态是否为正常状态。
步骤六、针对至少一个邻居节点,所述节点通过确定的所述至少一个邻居节点的网络连接状态,确定所述节点与所述邻居节点间的网络连接状态值;
其中,包括:
若确定所述邻居节点的网络连接状态为正常状态,则确定所述邻居节点的网络连接状态值不变;
若确定所述邻居节点的网络连接状态为异常状态,则增加所述邻居节点的网络连接状态值;
步骤七、若确定所述网络连接状态值超过第一阈值,则停止与所述邻居节点进行数据传输。
步骤八、若确定所述节点与所述邻居节点的网络连接状态恢复正常,则将所述邻居节点的网络连接状态值按照预设规则随时间衰减。
步骤九、若确定与所述邻居节点的网络连接状态值小于或等于第二阈值,则重新在所述邻居节点与所述节点之间通过UPD报文进行数据传输。
本申请实施例提供一种通信装置,应用于包含多个节点的区块链***,所述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;如图4所示,所述装置包括:
获取单元401,用于针对至少一个邻居节点,所述节点通过有连接报文,确定所述节点与所述邻居节点间的网络连接状态值;
处理单元402,用于若确定所述网络连接状态值超过第一阈值,则停止通过无连接报文与所述邻居节点进行数据传输。
一种可能的实现方式,获取装置401具体用于:若确定与所述邻居节点的网络连接状态为正常状态,则确定所述网络连接状态值不变;若确定与所述邻居节点的网络连接状态为异常状态,则增加所述网络连接状态值。
一种可能的实现方式,处理单元402还用于:
若确定与所述邻居节点的网络连接状态恢复正常,则将所述网络连接状态值按照预设规则随时间衰减。
一种可能的实现方式,处理单元402还用于:
若确定所述网络连接状态值小于或等于第二阈值,则重新在所述邻居节点与所述节点之间通过无连接报文进行数据传输。
一种可能的实现方式,获取单元401还用于:所述节点向所述邻居节点发送心跳包;所述节点根据在预定时间是否接收到所述邻居节点返回的心跳响应,确定与所述邻居节点的网络连接状态是否为正常状态。
综上所述,本申请实施例提供一种通信方法及装置,应用于包含多个节点的区块链***,其特征在于,所述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;所述方法包括:针对至少一个邻居节点,所述节点通过有连接报文,确定所述节点与所述邻居节点间的网络连接状态值;若确定所述网络连接状态值超过第一阈值,则停止与所述邻居节点进行数据传输。在本申请实施例中,通过对网络状态较差的邻居节点进行抑制,有效的去除了无效数据的发送对网络资源的占用,进而保证交易数据不被丢失,避免交易数据的重复发送,能够提高网络处理交易数据的效率,提高了网络资源的利用率。
基于相同的技术构思,本申请实施例还提供一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等。本申请实施例提供的一种计算设备结构示意图,该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入设备、输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储本申请实施例所提供的区块链生成方法的程序,处理器通过调用存储器存储的程序指令,按照获得的程序指令执行上述任一项所述的区块链生成方法。
基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,用于存储为上述计算设备所用的计算机程序指令,其包含用于执行上述任一项所述的区块链生成方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
基于相同的技术构思,本申请实施例还提供一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等。本申请实施例提供的一种计算设备结构示意图,该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入设备、输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储本申请实施例所提供的数据验证方法的程序,处理器通过调用存储器存储的程序指令,按照获得的程序指令执行上述任一项所述的数据验证方法。
基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,用于存储为上述计算设备所用的计算机程序指令,其包含用于执行上述任一项所述的数据验证方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (6)
1.一种通信方法,应用于包含多个节点的区块链***,其特征在于,所述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;所述方法包括:
针对至少一个邻居节点,所述节点通过传输控制协议TCP报文,确定所述节点与所述邻居节点间的网络连接状态值;若确定所述网络连接状态值超过第一阈值,则停止通过用户数据协议UDP报文与所述邻居节点进行数据传输;
若确定与所述邻居节点的网络连接状态恢复正常,则将所述网络连接状态值按照预设规则随时间衰减;所述预设规则为指数衰减的形式;
若确定所述网络连接状态值小于或等于第二阈值,则重新在所述邻居节点与所述节点之间通过UDP报文进行数据传输。
2.如权利要求1所述的方法,其特征在于,所述节点通过TCP报文,确定所述节点与所述邻居节点间的网络连接状态值,包括:
若确定与所述邻居节点的网络连接状态为正常状态,则确定所述网络连接状态值不变;
若确定与所述邻居节点的网络连接状态为异常状态,则增加所述网络连接状态值。
3.如权利要求1-2任一项所述的方法,其特征在于,所述节点通过TCP报文,确定所述节点与所述邻居节点间的网络连接状态值,包括:
所述节点向所述邻居节点发送心跳包;
所述节点根据在预定时间是否接收到所述邻居节点返回的心跳响应,确定与所述邻居节点的网络连接状态是否为正常状态。
4.一种通信装置,应用于包含多个节点的区块链***,其特征在于,所述多个节点中的至少一个节点包括邻居节点;所述邻居节点为与所述节点直接通信的节点;所述装置包括:
获取单元,用于针对至少一个邻居节点,所述节点通过TCP报文,确定所述节点与所述邻居节点间的网络连接状态值;
处理单元,用于若确定所述网络连接状态值超过第一阈值,则停止通过UDP报文与所述邻居节点进行数据传输;
还用于:
若确定与所述邻居节点的网络连接状态恢复正常,则将所述网络连接状态值按照预设规则随时间衰减;所述预设规则为指数衰减的形式;
所述处理单元还用于:
若确定所述网络连接状态值小于或等于第二阈值,则重新在所述邻居节点与所述节点之间通过UDP报文进行数据传输。
5.如权利要求4所述的装置,其特征在于,所述获取单元具体用于:若确定与所述邻居节点的网络连接状态为正常状态,则确定所述网络连接状态值不变;若确定与所述邻居节点的网络连接状态为异常状态,则增加所述网络连接状态值。
6.如权利要求4-5任一项所述的装置,其特征在于,所述获取单元还用于:所述节点向所述邻居节点发送心跳包;所述节点根据在预定时间是否接收到所述邻居节点返回的心跳响应,确定与所述邻居节点的网络连接状态是否为正常状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810072794.0A CN108347350B (zh) | 2018-01-25 | 2018-01-25 | 一种通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810072794.0A CN108347350B (zh) | 2018-01-25 | 2018-01-25 | 一种通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108347350A CN108347350A (zh) | 2018-07-31 |
CN108347350B true CN108347350B (zh) | 2022-04-15 |
Family
ID=62960931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810072794.0A Active CN108347350B (zh) | 2018-01-25 | 2018-01-25 | 一种通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108347350B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109690600B (zh) * | 2018-08-22 | 2023-05-26 | 区链通网络有限公司 | 区块链资源使用控制方法、装置及存储介质 |
CN109444802B (zh) * | 2018-10-26 | 2020-12-11 | 山东德源电力科技股份有限公司 | 智能电表检测方法及装置、设备、介质 |
CN110189161B (zh) * | 2019-04-26 | 2022-06-17 | 华中科技大学 | 用于实现营销标签共享的区块链共识方法及*** |
CN113254306B (zh) * | 2021-05-10 | 2022-03-25 | 支付宝(杭州)信息技术有限公司 | 运行状态监控方法、装置、设备和存储介质 |
CN114172828A (zh) * | 2021-12-08 | 2022-03-11 | 河南健创电气科技有限公司 | 一种监测通信终端通信模块运行状态的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215123A (zh) * | 2011-06-07 | 2011-10-12 | 南京邮电大学 | 基于多环网络拓扑结构的大规模集群*** |
CN106789095A (zh) * | 2017-03-30 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 分布式***及消息处理方法 |
CN106789920A (zh) * | 2016-11-25 | 2017-05-31 | 深圳前海微众银行股份有限公司 | 区块链的节点连接方法及装置 |
CN107204875A (zh) * | 2017-05-11 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 数据上报链路监测方法、装置、电子设备及存储介质 |
CN107295080A (zh) * | 2017-06-19 | 2017-10-24 | 北京百度网讯科技有限公司 | 应用于分布式服务器集群的数据存储方法和服务器 |
EP3256998A1 (en) * | 2015-02-11 | 2017-12-20 | British Telecommunications Public Limited Company | Validating computer resource usage |
-
2018
- 2018-01-25 CN CN201810072794.0A patent/CN108347350B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215123A (zh) * | 2011-06-07 | 2011-10-12 | 南京邮电大学 | 基于多环网络拓扑结构的大规模集群*** |
EP3256998A1 (en) * | 2015-02-11 | 2017-12-20 | British Telecommunications Public Limited Company | Validating computer resource usage |
CN106789920A (zh) * | 2016-11-25 | 2017-05-31 | 深圳前海微众银行股份有限公司 | 区块链的节点连接方法及装置 |
CN106789095A (zh) * | 2017-03-30 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 分布式***及消息处理方法 |
CN107204875A (zh) * | 2017-05-11 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 数据上报链路监测方法、装置、电子设备及存储介质 |
CN107295080A (zh) * | 2017-06-19 | 2017-10-24 | 北京百度网讯科技有限公司 | 应用于分布式服务器集群的数据存储方法和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN108347350A (zh) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108347350B (zh) | 一种通信方法及装置 | |
CN109636427B (zh) | 基于区块链***的业务处理方法、装置、介质及电子设备 | |
WO2021249490A1 (zh) | 区块链网络中的通信方法、业务数据传输方法 | |
JP7432686B2 (ja) | ブロックチェーンネットワークにおける効率的な伝播のための確率的リレー | |
KR102167613B1 (ko) | 메시지 푸시 방법 및 장치 | |
CN110741573B (zh) | 在区块链网络中选择性使用网络编码传播交易的方法和*** | |
CN101622587B (zh) | 用于唤醒计算设备的集中式服务 | |
US20220158836A1 (en) | Fork Processing Method And Blockchain Node | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN112788632B (zh) | 一种入网避让防干扰方法及装置 | |
CN109600302A (zh) | 一种有序通讯的方法、装置、存储介质及电子设备 | |
US11914579B2 (en) | Blockchain-based data processing method and apparatus, device, and readable storage medium | |
CN107819754B (zh) | 一种防劫持方法、监控服务器、终端及*** | |
CN114095499A (zh) | 区块链中继通信网络的中立性验证方法及装置 | |
CN116684468B (zh) | 数据处理方法、装置、设备及存储介质 | |
Alshareef et al. | Robust cloud management of MANET checkpoint sessions | |
CN115033904A (zh) | 数据处理方法、装置、***、介质和产品 | |
CN108449252B (zh) | 一种访问日志的转储方法及装置 | |
CN116170396B (zh) | 一种im消息传输方法及*** | |
CN111901366A (zh) | 一种数据推送方法、装置、设备和存储介质 | |
CN109587241A (zh) | 一种数据共享方法及其设备 | |
CN114338479B (zh) | 通讯方法、装置和*** | |
CN108650267B (zh) | 区块链数据传输方法、装置、设备和存储介质 | |
CN103501272B (zh) | 一种组播流量转发方法及设备 | |
US12010140B1 (en) | Metering interactive electronic activities |
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 |