CN109450664B - 一种基于区块链p2p网络的数据协同处理方法及装置 - Google Patents
一种基于区块链p2p网络的数据协同处理方法及装置 Download PDFInfo
- Publication number
- CN109450664B CN109450664B CN201811174112.3A CN201811174112A CN109450664B CN 109450664 B CN109450664 B CN 109450664B CN 201811174112 A CN201811174112 A CN 201811174112A CN 109450664 B CN109450664 B CN 109450664B
- Authority
- CN
- China
- Prior art keywords
- node
- sender
- nodes
- message
- version number
- 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
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种基于区块链P2P网络的数据协同处理方法及装置,所述方法包括:接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点;从所述目标节点获取与所述目标节点中的版本号对应的更新数据。所述装置执行上述方法。本发明实施例提供的基于区块链P2P网络的数据协同处理方法及装置,能够合理、有效地节约系统资源。
Description
技术领域
本发明实施例涉及区块链技术领域,具体涉及一种基于区块链P2P网络的数据协同处理方法及装置。
背景技术
随着区块链技术的发展,P2P网络的网络类型也不断发展,例如现有的网络类型包括集中式、纯分布式、混合式和结构化式。由于P2P网络中的节点是去中心化的节点,既可以作为消息的发送方节点,也可以作为消息的接收方节点,无论采用上述哪一种网络类型进行节点之间的消息交互,都会导致需要交互的消息在众多的节点之间进行频繁的交互,尤其是当交互的消息量较大时,占用了巨大的系统资源,例如网络资源、CPU资源等。
因此,如何避免上述缺陷,合理、有效地节约系统资源,成为亟须解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种基于区块链P2P网络的数据协同处理方法及装置。
第一方面,本发明实施例提供一种基于区块链P2P网络的数据协同处理方法,所述方法包括:
接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;
若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点;
从所述目标节点获取与所述目标节点中的版本号对应的更新数据。
第二方面,本发明实施例提供一种基于区块链P2P网络的数据协同处理装置,所述装置包括:
接收单元,用于接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;
选择单元,用于若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;
更新单元,用于从所述目标节点获取更新数据。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:
接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;
若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点;
从所述目标节点获取与所述目标节点中的版本号对应的更新数据。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:
接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;
若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点;
从所述目标节点获取与所述目标节点中的版本号对应的更新数据。
本发明实施例提供的基于区块链P2P网络的数据协同处理方法及装置,先通过比较消息类型对应的版本号确定是否需要更新数据,如果需要,则从消息队列中选择作为更新数据提供方的目标节点,并从目标节点获取更新数据,能够合理、有效地节约系统资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于区块链P2P网络的数据协同处理方法流程示意图;
图2为本发明实施例基于区块链P2P网络混合式模式示意图;
图3为本发明实施例基于区块链P2P网络的数据协同处理装置结构示意图;
图4为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例基于区块链P2P网络的数据协同处理方法流程示意图,如图1所示,本发明实施例提供的一种基于区块链P2P网络的数据协同处理方法,包括以下步骤:
S101:接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号。
具体的,装置接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号。装置可以理解为执行该方法的某一个节点,这里指接收版本号的接收方节点。该接收方节点是区块链P2P网络中的节点。每当有节点生成消息类型对应的更新版本号,可以采用广播的方式,向所有或一部分的节点发布消息类型对应的更新版本号。本发明实施例在交互更新数据之前,接收方节点先接收待广播消息的消息类型和与所述消息类型对应的版本号,对消息类型不作具体限定,每种消息类型对应一种版本号。
S102:若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点。
具体的,装置若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点。预存储版本号可以是预先存储在接收方节点中的与上述消息类型对应的预存储版本号,如果接收到的版本号大于预存储版本号,则说明本地的消息类型对应版本号不是最新版本号,需要更新数据。如果接收到的版本号等于或小于预存储版本号,则说明本地的消息类型对应版本号是最新版本号,无需更新数据。每个节点可以采用消息队列的方式存储广播消息的发送方节点,即预先加入接收方节点的消息队列的广播消息的其它发送方节点和该发送方节点都可以作为目标节点的选择目标,基于P2P网络的特点,由于该接收方节点在该S101步骤之前,也可以接收到其他发送方节点发送过来的消息类型和版本号,加入消息队列是要存储所有发送方节点的广播消息,消息类型和与所述消息类型对应的版本号是当一个发送方节点触发广播时接收到的,消息队列中的包括之前每一个发送方节点发布广播消息时累计获取到的、也包括S101中接收到的发送方节点发布的消息类型、版本号。说明如下:接收方节点当前的版本号为V1.01,先前其它发送方节点发送的版本号为V1.02,但是,由于网络故障等原因,接收方节点没有及时收到,待网络故障恢复后,其它发送方节点就即时加入消息队列,当发送方节点发布的待广播消息的版本号也为V1.02时,此时消息队列中包括两个版本号V1.02的节点,即该发送方节点和该其它发送方节点,就从这两个中选择目标节点。因此,本发明实施例可以有选择地确定作为更新数据提供方的目标节点,避免了将较多的节点作为目标节点,从而避免系统资源的浪费。
该方法还可以包括:获取所述版本号的接收方节点的位置;相应的,所述根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点,包括:比较所有发送方节点中的所述消息类型对应的版本号,选择数值最大的版本号对应的发送方节点作为待选节点;获取所述待选节点的位置;选择与所述接收方节点的位置最近的、且与所述接收方节点之间的网络连接状态达到预设标准的待选节点作为所述目标节点。需要说明的是:节点(包括接收方节点和发送方节点)对应有终端(可以是手机等),接收方节点的位置可以理解为作为广播消息接收方的终端的位置,位置可以用经纬度等表示,不作具体限定。举例说明如下:发送方节点A对应的版本号为消息类型1的V1.01;发送方节点B对应的版本号为消息类型1的V1.10、发送方节点C对应的版本号为消息类型1的V1.20,即选择发送方节点C作为待选节点,需要说明的是:由于V1.20的发送方节点可以有多个,因此,待选节点可以有多个,假如发送方节点C1~C3都是待选节点。可以分别计算接收方节点与发送方节点C1~C3之间的距离,分别记为LC1~LC3,如果LC1最短,则说明接收方节点与发送方节点C1最近,如果发送方节点C1与接收方节点之间的网络连接状态达到预设标准L1,则将发送方节点C1作为目标节点,预设标准可以根据某个参照指标的具体数值来确定,不作具体限定。
S103:从所述目标节点获取与所述目标节点中的版本号对应的更新数据。
具体的,装置从所述目标节点获取与所述目标节点中的版本号对应的更新数据。所述目标节点中的版本号可以理解为目标节点中该消息类型对应的最新版本号。参照上述举例,即从发送方节点C1获取更新数据,无需过多的其他节点参与,因此可以显著地节省系统资源。
进一步地,该所述目标节点预先设置有节点最大访问数量;相应的,在所述从所述目标节点获取与所述目标节点中的版本号对应的更新数据的步骤之前,所述方法还包括:若接收到所述目标节点返回的超过所述节点最大访问数量的消息,则更新所述目标节点。节点最大访问数量可以根据实际情况自主设置,参照上述举例,如果发送方节点C1在接收方节点获取更新数据之前已经有访问的节点,且访问的节点的数量超过了节点最大访问数量,则说明该目标节点不可再用,因此该目标节点向作为更新数据请求方的接收方节点返回的超过所述节点最大访问数量的消息,即告知接收方节点该目标节点不可再用,需要该接收方节点更新目标节点,即选择其他目标节点替代原目标节点。
更新所述目标节点,可以具体包括:选择与所述接收方节点的位置之间距离小于预设阈值的、且与所述接收方节点之间的网络连接状态达到预设标准的待选节点作为更新目标节点。预设阈值可以根据实际情况自主设置,通过合理设置预设阈值,可以选择多个更新目标节点,可以并行向多个更新目标节点获取更新数据。
更新所述目标节点,可以具体包括:调整所述预设标准,以获取次级预设标准,所述次级预设标准低于所述预设标准;选择与所述接收方节点的位置最近的、且与所述接收方节点之间的网络连接状态达到所述次级预设标准的待选节点作为更新目标节点,次级预设标准L2可以根据实际情况自主设置,为了便于理解预设标准L1和次级预设标准L2,举例如下:预设标准L1对应的网络连接状态为优秀、预设标准L2对应的网络连接状态为良好、即选择达到网络连接状态为良好的待选节点作为更新目标节点,可以理解的是:更新目标节点可以有多个,可以并行向多个更新目标节点获取更新数据。进一步地,如果次级预设标准L2也没有找到更新目标节点,则可以再对次级预设标准L2进行降级,得到反映网络连接状态为一般的次级预设标准L3,再重复上述步骤,直到找到更新目标节点为止。
所述接收方节点可以为P2P网络的混合式模式的父节点;相应的,所述父节点设置有最大子节点数量;所述方法还包括:当访问所述父节点的节点数大于所述最大子节点数量时,使当前访问节点无法访问所述父节点。图2为本发明实施例基于区块链P2P网络混合式模式示意图,如图2所示,图2中的A和B为父节点,A1~A3为父节点A对应的子节点,B1~B3为父节点B对应的子节点,假如如图2所示,父节点A设置的最大子节点数量为3,当访问该父节点A的节点数大于3时,使当前访问节点无法访问该父节点A,具体限制访问该父节点A的方式,不作具体限定。
所述接收方节点还可以为P2P网络的混合式模式的子节点;相应的,当所述子节点无法访问所述子节点对应的父节点时,向其他父节点发起访问。参照图2,假如接收方节点为图2中的A1,当该子节点A1无法访问父节点A时,向父节点B发起访问,如果还无法访问父节点B,则向父节点C发起访问,以此类推。
当节点主动断开连接时,可以通知其他节点从消息队列中移除该节点信息,以避免无效的连接尝试。
本发明实施例提供的基于区块链P2P网络的数据协同处理方法,先通过比较消息类型对应的版本号确定是否需要更新数据,如果需要,则从消息队列中选择作为更新数据提供方的目标节点,并从目标节点获取更新数据,能够合理、有效地节约系统资源。
在上述实施例的基础上,所述方法还包括获取所述版本号的接收方节点的位置;相应的,所述根据预先加入消息队列的广播消息的发送方节点选择作为更新数据提供方的目标节点,包括:
比较所述发送方节点中的所述消息类型对应的版本号,选择数值最大的版本号对应的发送方节点作为待选节点。
具体的,装置比较所述发送方节点中的所述消息类型对应的版本号,选择数值最大的版本号对应的发送方节点作为待选节点。可参照上述实施例,不再赘述。
获取所述待选节点的位置。
具体的,装置获取所述待选节点的位置。可参照上述实施例,不再赘述。
选择与所述接收方节点的位置最近的、且与所述接收方节点之间的网络连接状态达到预设标准的待选节点作为所述目标节点。
具体的,装置选择与所述接收方节点的位置最近的、且与所述接收方节点之间的网络连接状态达到预设标准的待选节点作为所述目标节点。可参照上述实施例,不再赘述。
本发明实施例提供的基于区块链P2P网络的数据协同处理方法,通过选择与接收方节点的位置最近的、且与接收方节点之间的网络连接状态达到预设标准的待选节点作为目标节点,进一步能够合理、有效地节约系统资源。
在上述实施例的基础上,所述目标节点预先设置有节点最大访问数量;相应的,在所述从所述目标节点获取更新数据的步骤之前,所述方法还包括:
若接收到所述目标节点返回的超过所述节点最大访问数量的消息,则更新所述目标节点。
具体的,装置若接收到所述目标节点返回的超过所述节点最大访问数量的消息,则更新所述目标节点。可参照上述实施例,不再赘述。
本发明实施例提供的基于区块链P2P网络的数据协同处理方法,在接收到目标节点返回的超过节点最大访问数量的消息时,更新目标节点,不仅能够实现数据更新,还能够合理、有效地节约系统资源。
在上述实施例的基础上,所述更新所述目标节点,包括:
选择与所述接收方节点的位置之间距离小于预设阈值的、且与所述接收方节点之间的网络连接状态达到预设标准的待选节点作为更新目标节点。
具体的,装置选择与所述接收方节点的位置之间距离小于预设阈值的、且与所述接收方节点之间的网络连接状态达到预设标准的待选节点作为更新目标节点。可参照上述实施例,不再赘述。
本发明实施例提供的基于区块链P2P网络的数据协同处理方法,通过选择与接收方节点的位置之间距离小于预设阈值的、且与接收方节点之间的网络连接状态达到预设标准的待选节点作为更新目标节点,进一步能够实现数据更新,还能够合理、有效地节约系统资源。
在上述实施例的基础上,所述更新所述目标节点,包括:
调整所述预设标准,以获取次级预设标准,所述次级预设标准低于所述预设标准。
具体的,装置调整所述预设标准,以获取次级预设标准,所述次级预设标准低于所述预设标准。可参照上述实施例,不再赘述。
选择与所述接收方节点的位置最近的、且与所述接收方节点之间的网络连接状态达到所述次级预设标准的待选节点作为更新目标节点。
具体的,装置选择与所述接收方节点的位置最近的、且与所述接收方节点之间的网络连接状态达到所述次级预设标准的待选节点作为更新目标节点。可参照上述实施例,不再赘述。
本发明实施例提供的基于区块链P2P网络的数据协同处理方法,通过选择与接收方节点的位置最近的、且与接收方节点之间的网络连接状态达到次级预设标准的待选节点作为更新目标节点,进一步能够实现数据更新,还能够合理、有效地节约系统资源。
在上述实施例的基础上,所述接收方节点为P2P网络的混合式模式的父节点;相应的,所述父节点设置有最大子节点数量;所述方法还包括:
当访问所述父节点的节点数大于所述最大子节点数量时,使当前访问节点无法访问所述父节点。
具体的,装置若判断获知当访问所述父节点的节点数大于所述最大子节点数量时,使当前访问节点无法访问所述父节点。
本发明实施例提供的基于区块链P2P网络的数据协同处理方法,能够防止父节点出现宕机的以外情况。
在上述实施例的基础上,所述接收方节点为P2P网络的混合式模式的子节点;相应的,当所述子节点无法访问所述子节点对应的父节点时,向其他父节点发起访问。
具体的,装置若判断获知当所述子节点无法访问所述子节点对应的父节点时,向其他父节点发起访问。
本发明实施例提供的基于区块链P2P网络的数据协同处理方法,能够进一步实现数据更新。
图3为本发明实施例基于区块链P2P网络的数据协同处理装置结构示意图,如图3所示,本发明实施例提供了一种基于区块链P2P网络的数据协同处理装置,包括接收单元301、选择单元302和更新单元303,其中:
接收单元,用于接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;选择单元,用于若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;更新单元,用于从所述目标节点获取更新数据。
具体的,接收单元,用于接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;选择单元,用于若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;更新单元,用于从所述目标节点获取更新数据。
本发明实施例提供的基于区块链P2P网络的数据协同处理装置,先通过比较消息类型对应的版本号确定是否需要更新数据,如果需要,则从消息队列中选择作为更新数据提供方的目标节点,并从目标节点获取更新数据,能够合理、有效地节约系统资源。
本发明实施例提供的基于区块链P2P网络的数据协同处理装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图4为本发明实施例提供的电子设备实体结构示意图,如图4所示,所述电子设备包括:处理器(processor)401、存储器(memory)402和总线403;
其中,所述处理器401、存储器402通过总线403完成相互间的通信;
所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点;从所述目标节点获取与所述目标节点中的版本号对应的更新数据。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点;从所述目标节点获取与所述目标节点中的版本号对应的更新数据。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点;从所述目标节点获取与所述目标节点中的版本号对应的更新数据。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。
Claims (9)
1.一种基于区块链P2P网络的数据协同处理方法,其特征在于,包括:
接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;
若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;所有发送方节点是区块链P2P网络中的节点;
从所述目标节点获取与所述目标节点中的版本号对应的更新数据;
所述方法还包括获取所述版本号的接收方节点的位置;相应的,所述根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点,包括:
比较所有发送方节点中的所述消息类型对应的版本号,选择数值最大的版本号对应的发送方节点作为待选节点;
获取所述待选节点的位置;
选择与所述接收方节点的位置最近的、且与所述接收方节点之间的网络连接状态达到预设标准的待选节点作为所述目标节点。
2.根据权利要求1所述的方法,其特征在于,所述目标节点预先设置有节点最大访问数量;相应的,在所述从所述目标节点获取与所述目标节点中的版本号对应的更新数据的步骤之前,所述方法还包括:
若接收到所述目标节点返回的超过所述节点最大访问数量的消息,则更新所述目标节点。
3.根据权利要求2所述的方法,其特征在于,所述更新所述目标节点,包括:
选择与所述接收方节点的位置之间距离小于预设阈值的、且与所述接收方节点之间的网络连接状态达到预设标准的待选节点作为更新目标节点。
4.根据权利要求2所述的方法,其特征在于,所述更新所述目标节点,包括:
调整所述预设标准,以获取次级预设标准,所述次级预设标准低于所述预设标准;
选择与所述接收方节点的位置最近的、且与所述接收方节点之间的网络连接状态达到所述次级预设标准的待选节点作为更新目标节点。
5.根据权利要求1至4任一所述的方法,其特征在于,所述接收方节点为P2P网络的混合式模式的父节点;相应的,所述父节点设置有最大子节点数量;所述方法还包括:
当访问所述父节点的节点数大于所述最大子节点数量时,使当前访问节点无法访问所述父节点。
6.根据权利要求1至4任一所述的方法,其特征在于,所述接收方节点为P2P网络的混合式模式的子节点;相应的,当所述子节点无法访问所述子节点对应的父节点时,向其他父节点发起访问。
7.一种基于区块链P2P网络的数据协同处理装置,其特征在于,包括:
接收单元,用于接收发送方节点发布的待广播消息;所述待广播消息携带有消息类型和与所述消息类型对应的版本号;
选择单元,用于若判断获知所述版本号大于预存储版本号,则将所述发送方节点加入消息队列;并根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点;
所述根据预先加入所述消息队列的其它发送方节点和所述发送方节点选择作为更新数据提供方的目标节点,包括:
比较所有发送方节点中的所述消息类型对应的版本号,选择数值最大的版本号对应的发送方节点作为待选节点;
获取所述待选节点的位置;
选择与所述接收方节点的位置最近的、且与所述接收方节点之间的网络连接状态达到预设标准的待选节点作为所述目标节点;
更新单元,用于从所述目标节点获取更新数据。
8.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被所述计算机执行时实现如权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811174112.3A CN109450664B (zh) | 2018-10-09 | 2018-10-09 | 一种基于区块链p2p网络的数据协同处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811174112.3A CN109450664B (zh) | 2018-10-09 | 2018-10-09 | 一种基于区块链p2p网络的数据协同处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450664A CN109450664A (zh) | 2019-03-08 |
CN109450664B true CN109450664B (zh) | 2022-07-12 |
Family
ID=65546050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811174112.3A Active CN109450664B (zh) | 2018-10-09 | 2018-10-09 | 一种基于区块链p2p网络的数据协同处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450664B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365768B (zh) * | 2019-07-15 | 2021-07-06 | 腾讯科技(深圳)有限公司 | 分布式系统的数据同步方法、装置、介质、电子设备 |
CN111194055B (zh) * | 2019-12-30 | 2022-09-09 | 广东博智林机器人有限公司 | 数据存储频率处理方法、装置、电子设备以及存储介质 |
CN111935251B (zh) * | 2020-07-28 | 2021-11-05 | 成都质数斯达克科技有限公司 | 区块链网络管理方法、网络、装置、设备及存储介质 |
CN112132685B (zh) * | 2020-09-29 | 2024-02-23 | 中国银行股份有限公司 | 信息处理方法及装置、计算机设备及计算机可读存储介质 |
CN111930443B (zh) * | 2020-10-15 | 2020-12-18 | 杭州云链趣链数字科技有限公司 | 基于区块链的运维方法、系统、计算机设备和存储介质 |
CN113709203A (zh) * | 2021-04-08 | 2021-11-26 | 曾春峰 | 一种应用于区块链中的高效通信方法及系统 |
CN113347268B (zh) * | 2021-06-23 | 2022-11-08 | 广州炒米信息科技有限公司 | 基于分布式网络组网方法、装置、存储介质及计算机设备 |
CN114024786B (zh) * | 2022-01-04 | 2022-04-08 | 杭州趣链科技有限公司 | 消息广播方法、装置、计算机设备和存储介质 |
CN115314512B (zh) * | 2022-10-09 | 2023-02-17 | 中孚信息股份有限公司 | 一种海量终端数据同步方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108366098A (zh) * | 2018-01-19 | 2018-08-03 | 北京奇安信科技有限公司 | 一种网络节点的数据交互方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103457905B (zh) * | 2012-05-28 | 2015-09-09 | 腾讯科技(深圳)有限公司 | 数据同步方法、系统及设备 |
CN103841167A (zh) * | 2012-11-27 | 2014-06-04 | 中国移动通信集团公司 | 一种用户数据同步方法及设备 |
CN103560906B (zh) * | 2013-10-22 | 2017-01-25 | 珠海多玩信息技术有限公司 | 数据复制的方法及装置 |
CN107071005A (zh) * | 2017-03-24 | 2017-08-18 | 厦门中控生物识别信息技术有限公司 | 一种数据同步方法及系统 |
-
2018
- 2018-10-09 CN CN201811174112.3A patent/CN109450664B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108366098A (zh) * | 2018-01-19 | 2018-08-03 | 北京奇安信科技有限公司 | 一种网络节点的数据交互方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109450664A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450664B (zh) | 一种基于区块链p2p网络的数据协同处理方法及装置 | |
US10630548B2 (en) | Update file download method, device, and system | |
US8719427B2 (en) | Efficiency for network group communication | |
CN112968967A (zh) | 区块同步方法及装置 | |
KR101871383B1 (ko) | 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템 | |
CN110326355B (zh) | 一种管理方法、管理单元和系统 | |
CN108632848B (zh) | 网络切片自优化协调方法及装置 | |
US20230388776A1 (en) | Methods, network function nodes and computer readable media for event subscription management | |
CN113938851A (zh) | 流量计费方法、网络设备及存储介质 | |
EP2689571B1 (en) | Replicating data | |
CN105656978A (zh) | 一种资源共享方法及装置 | |
CN105263163A (zh) | 一种通知消息的发送方法、装置和系统 | |
CN107682271B (zh) | 一种路由线路的生成方法及装置 | |
CN109391486B (zh) | 基于用户体验的对互操作策略调整的预警方法及服务器 | |
CN111385117A (zh) | 进行告警的方法、装置和系统 | |
CN114268940A (zh) | Mesh网络拓扑图显示方法、系统、设备及存储介质 | |
US20230053967A1 (en) | Group updating method, message sending method, and apparatuses | |
CN113364721A (zh) | 一种sctp连接管理方法及装置 | |
CN111371675A (zh) | 智能寻址方法、装置、设备及其存储介质 | |
CN111148047A (zh) | 一种基于组呼业务的调度区域的邻区广播方法、eMME及ENB | |
WO2017133491A1 (en) | Update file download method, device, and system | |
CN110996359B (zh) | 一种网络控制方法、终端及存储介质 | |
CN116366499B (zh) | 数据传输方法、装置、电子设备和介质 | |
CN117615396B (zh) | 数据管理方法、终端设备及存储介质 | |
US20230345223A1 (en) | Methods, systems, and computer readable media for identifying roaming messages |
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 |