CN114095240A - 一种基于区块链的分布式节点协同方法 - Google Patents
一种基于区块链的分布式节点协同方法 Download PDFInfo
- Publication number
- CN114095240A CN114095240A CN202111365160.2A CN202111365160A CN114095240A CN 114095240 A CN114095240 A CN 114095240A CN 202111365160 A CN202111365160 A CN 202111365160A CN 114095240 A CN114095240 A CN 114095240A
- Authority
- CN
- China
- Prior art keywords
- block chain
- node
- task
- distributed
- nodes
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000009471 action Effects 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000012544 monitoring process Methods 0.000 claims abstract description 31
- 230000008859 change Effects 0.000 claims abstract description 15
- 230000002159 abnormal effect Effects 0.000 claims abstract description 8
- 238000011156 evaluation Methods 0.000 claims abstract description 8
- 230000004044 response Effects 0.000 claims description 18
- 230000000694 effects Effects 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000012550 audit Methods 0.000 claims description 4
- 206010063385 Intellectualisation Diseases 0.000 abstract 1
- 230000006870 function Effects 0.000 description 16
- 238000012163 sequencing technique Methods 0.000 description 7
- 230000006872 improvement Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 239000004744 fabric Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/146—Tracing the source of attacks
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明所述的一种基于区块链的分布式节点协同方法,包括根据功能需求为分布式节点和区块链预置规则,如区块链和节点的基本配置、确定交易数据结构、编写和部署智能合约等;节点同时监听区块链的交易更新和外部的状态变化,作为协同状态演化的触发条件;节点根据收到的触发信息后按照预置规则生成任务,生成过程包括任务发布和任务领取;节点按照任务要求执行动作,按照智能合约处理中断和调整等异常情况;节点向区块链反馈执行结果用于评估和审计。该方法利用区块链和分布式节点系统在体系架构上的契合性,在实现分布式节点协同需求的基础上,增强了智能化、安全性与鲁棒性等的特点,能够适应不同的场合和需求,实用性较高。
Description
技术领域
本发明属于区块链技术领域,特别涉及一种基于区块链的分布式节点协同方法。
背景技术
随着信息技术的发展,网络通信质量与系统处理速度极大提升,分布式节点协同因其所聚合的算力和良好的可扩展性受到了越来越多的关注和研究,被运用在工业制造、协同指挥、赈灾救援、展示演出等各个方面。然而节点之间的拓扑架构、通信手段、协同方法与交互效率一直是研究的重点,如何在保证完成协同需求的基础上进一步提高效率和可靠性仍面临诸多挑战。
公开(公告)号为CN104052580B的专利《无线传感器网络中的多节点协同信号发射和接收方法》能够克服信号协调的问题,同时大大减小了计算量,且可以使得无线传感器网络中的异步协作通信系统获得满分集。然而此发明提出的方法通用性不高,部署较为复杂,且存在着因节点损坏而使系统崩溃的情况。
公开(公告)号为CN111290847A的专利《去中心化的分布式多节点协同任务调度平台及方法》对于之前中心化的架构方式有所改进,针对于分布式的节点来进行了相关的协同设计,有效地提升了系统效率与通用性,有一定的差错处理能力。然而此发明并没用充分考虑到多节点协同中可能面临的安全问题,系统容易遭受攻击且缺少防御措施。
公开(公告)号为CN112907115A的专利《一种区块链无人机集群的协同任务计算控制方法》实现了一种区块链无人机集群的协同任务计算控制方法,有效地改善了中心化的问题,不依赖于单一决策中心。然而此发明仅考虑了无人机协同指挥,通用性不强,且没有考虑到后续的数据留存与评估工作。
区块链技术是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码(智能合约)来编程和操作数据的一种全新的去中心化基础架构与分布式计算范式。本发明在考虑到区块链具备的去中心化、不可篡改、可追溯性等的特点的基础上,充分综合了区块链技术对于分布式节点协同的适用性,将区块链的优势合理地运用在分布式节点协同系统上,并针对可能出现的异常在流程上充分考虑了系统的通用性。
发明内容
为解决上述问题,本发明公开了一种基于区块链的分布式节点协同方法,能够广泛地适应不同的协同场合与需求,在保障分布式节点完成协同任务的基础上提供更强的系统鲁棒性,在保障数据安全的基础上提供数据可溯源的功能,使得分布式节点协同系统更加安全与智能。
为实现上述目的,本发明提供一种基于区块链的分布式节点协同方法,包括分布式节点和区块链,后者为前者提供协同服务,具体步骤如下,
1)预置规则。根据功能需求为分布式节点与区块链预置规则,以约束分布式节点与区块链的状态演化,促进协同流程的正常进行。节点规则通过相关的控制程序或流程实现,区块链规则通过对区块链的基础配置与编写链码实现。
2)监听状态。分布式节点监听状态信息,包括,内部信息,即区块链交易信息的更新;外部信息,即节点所处的环境、指令等状态的变化。内部信息与外部信息同时监听,当监听到相关的触发条件后触发下一步骤。
3)生成任务。受到状态变化触发后,分布式节点协同系统按照预置规则生成相关任务,包括:受触发的节点发布任务,收取到内部信息的节点认领任务,并在生成任务的过程中体现出预置规则的约束。
4)执行动作。任务生成后,节点按照预置规则执行动作,动作的内容体现在任务要求中。节点在执行动作的过程中仍进行状态监听,以便于对外部变化进行自适应决策以及接收内部指令,如动作中断、变更、暂停、继续等。
5)反馈结果。动作执行结束后,节点需对于执行结果进行反馈,具体的方法是分布式节点将相关的结果信息上传到区块链,以备效果评估和后续审计。
作为本发明进一步改进,所述分布式节点预置规则,包括:为协同流程的正常进行所预置的流程转换规则和异常处理规则;为完成协同的目标所预置的区块链交易变化处理规则和外部状态变化响应规则。
作为本发明进一步改进,所述区块链预置规则,包括:区块链的基本配置,如区块链的拓扑信息与内部属性,前者指节点的数量、结构、IP地址信息等,后者指共识算法、安全机制、区块数量等;区块链的智能合约,以规定协同的流程与步骤,包含对于每一个触发事件的响应和动作,对任务的具体信息进行相关的约束与规定,保证系统智能化的进行。
作为本发明进一步改进,所述分布式节点监听区块链上的状态信息,采用轮询监听方法。分布式节点划分为空闲节点与忙碌节点两种状态,并可相互转换,当节点处于空闲节点的状态时不断地向区块链发送账本查询请求,根据区块链返回的相关查询内容来判断是否满足触发条件来进行后续的动作;若节点处于忙碌状态则不进行相关的轮询监听。
作为本发明进一步改进,所述分布式节点协同系统生成任务,是在节点监听到外部消息后,若判断需要进行任务发布,则开始向区块链上传任务信息,智能合约对于节点上传的信息进行判断,若符合预置的规则则将此任务信息上传至区块链账本中,完成任务发布。其他处于监听状态的节点监听到区块链账本上的相关信息后判断是否认领任务,若需要认领任务则发送认证信息至区块链智能合约,智能合约判断符合认领规则完成认领,最终所需节点完成认领后即完成了分布式节点协同系统生成任务步骤。
作为本发明进一步改进,所述分布式节点的协同过程将记录在区块链的分布式账本中。
本发明提供一种基于区块链的分布式节点协同方法,具有以下有益效果:
(1)功能标准化和可预期:将协同流程抽象为“预置规则—监测状态—生成任务—执行动作—反馈结果”五个步骤,使其能够适应不同的场景需求,并实现流程闭环;通过预置规则约束了分布式系统的状态演化过程,实现结果的可预期性。
(2)鲁棒性:一方面继承了区块链去中心化、不可篡改等安全优势,另一方面提出了“发布-认领”的任务生成方法,并充分考虑节点潜在的异常情况,提升了协同系统对突发状况的自适应能力。
(3)可审计:该方法将分布式节点的协同过程均以交易的形式记录于区块链的分布式账本中,有利于管理者对协同系统进行效果评估和事后审计。
附图说明
图1为基于区块链的分布式节点协同流程;
图2为以分布式节点为驱动的轮询监听方法;
图3为节点上传数据流程;
图4为区块链获取数据流程;
图5为中断情况状态转换图;
图6为调整情况状态转换图;
图7为任务转换生命周期。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
本实施例提供一种基于区块链的分布式节点协同方法,其各个阶段的流程如图1所示,包括以下步骤:
1.预置规则。根据预期需求与现实情况为分布式节点与区块链预置规则,来约束分布式节点与区块链的相关动作,促进协同流程的正常进行。分布式节点规则通过相关的控制程序或流程实现,区块链规则通过对于区块链的基础设置配置与区块链链码配置来实现。
对于分布式节点,首先需要确定参与协同的节点与每个节点的具体分工,需要明确此次协同的节点集群结构与协同方式;其次需要为每个分布式节点预置协同流程的规则与相应的流程转换,具体来讲包括配置初始化部分、监听外部信息模块、监听区块链状态模块、收到消息后的动作与转换、发布任务模块、领取任务模块、识别任务信息模块、根据信息执行动作模块、反馈结果模块,每一个模块的具体规则在后续进行说明;最后需要配置相关的异常处理模块,设置异常的触发条件与响应异常的措施。
对于区块链部分,需要配置基本结构信息、区块链账本数据结构、智能合约与内部函数、启动部署区块链平台等内容,具体包括:
1)配置区块链与节点。首先,需要确定所选区块链平台,即确定选用私链、公链还是联盟链,选择目前已有开源区块链平台还是自制区块链平台,本发明可以支持在任何平台上进行实践,但是考虑到协同的场景与适配性,建议选用联盟链,本系统已经在联盟链中的Hyperledger Fabric平台中证实了可行性;其次,需要进行区块链的网络拓扑与节点信息的配置,一般来讲,区块链中的节点分为被服务节点与服务提供节点,考虑到本系统是一个去中心化架构,不能存在中心式服务,因此需要为每一个分布式节点都配备被服务节点与服务节点,这样可以保证每一个节点都接入到区块链系统中使用区块链功能,且某几个节点的加入退出不会影响服务的质量。以Hyperledger Fabric平台为例,crypto-config.yaml文件用于指明内部网络的拓扑,并允许为组织及内部成员生成一组证书和密钥;docker-compose-base.yaml与peer-base.yaml指明节点的数量与类型,确定节点的名称、容器、端口等基本属性。最后,部署区块链平台,以Hyperledger Fabric为例,具体的步骤为:生成X.509证书和签名密钥等文件、生成配置工件与排序节点配置块、使用docker容器启动网络、创建并使节点加入通道。
2)配置区块链账本数据结构。为了完成分布式节点通过区块链的信息交互,需要配置区块链账本的数据结构,本发明针对分布式节点协同的流程与需求,设计的区块链账本数据结构如下表所示:
表1区块链账本数据结构
其中,Stage字段用来表示全局流程,字段类型为枚举值,可取值为不同阶段的状态信息,其中INITIALIZE表示初始化,在系统初始化可用后无任务发布时显示为此状态;CLAIM表示领取阶段,在系统有任务发布待领取时显示为此状态;EXECUTE表示执行阶段,在系统任务领取后显示为此状态,节点开始执行任务;ADJUST表示调整阶段,当有任务的变更或调整时显示为此状态,此状态下节点根据需要进行适当的动作调整;SUCCESS表示成功执行,当一个任务被节点成功执行,显示为此状态;FAIL表示执行失败,当有节点发生异常导致任务没有成功执行,会显示此状态。
Counter字段是一个计数器,用来记录节点的数量,其中又分为两个小字段,分别为Published_Counter与Claimed_Counter,都为整型数据类型。Published_Counter用来记录任务发布时所需的节点数量,Claimed_Counter用来实时记录当前已认领节点的数量。智能合约通过这两个字段来实现状态的转换与判断,从而实现自动化流程。
Policy字段用来表示各种策略信息,其中又分为三个小字段,分别为Immediate_Policy、Exception_Policy与Index_Policy。其中Immediate_Policy指明其他节点领取任务后是否立刻执行,数据类型为布尔值,取1时领取任务后立刻执行;Exception_Policy表明在执行任务时是否忽略异常,数据类型为布尔值,取1时当执行时存在异常其他节点继续执行,这一字段主要是供智能合约来进行策略判断;Index_Policy指明节点加入的策略信息,数据类型为字符串,与策略列表的序号相对应,智能合约根据此值来进行策略的查找与应用。
Task字段用来记录任务的相关信息,其中又分为两个小字段,分别为Index_Task与Engagement_Task,Index_Task是任务的序号值,指明发布的任务序号,数据类型为字符串,节点根据此值来进行任务的对应与执行;Engagement_Task指明任务的其他补充信息,数据类型为字符串。
Extension字段用来记录其他的补充信息。
3)编写与部署智能合约,智能合约可以根据外界的输入信息做出相应的反应,并把相关的信息写入到区块链账本中,是系统自动化进行与智能化约束的关键。考虑到分布式节点协同流程,需要编写智能合约中的以下函数:初始化函数(Init)完成区块链账本的初始化,需要创建表1所示的相应的字段;发布函数(Publish)完成任务的发布,需要上传字段中的任务节点数量(Counter)、任务相关策略(Policy)、任务相关信息(Task),函数中需要验证信息的合理性,将参数修改至区块链账本中,并修改全局状态值(Stage);任务领取函数(Claim)根据策略信息上传相应信息以供认证,函数中需要判断是否符合认领资格;查询函数(Query)可以根据输入的参数查询相应的值;调整函数(Modify)传入增加或删除的个数,并进行相应的处理完成调整;异常报告函数(Exception)用于报告异常,函数中根据策略信息处理异常。
编写后的智能合约需要部署至区块链的平台上,每种区块链平台的部署方法略有不同,在Hyperledger Fabric中需要将智能合约打包成链码,安装到对等节点之上,并进行相关的批准,最后提交到通道中完成部署,可以通过使用peer命令来实现。
2.监听状态。分布式节点监听状态信息,其中包括对于外部信息即分布式节点所处的环境、指令、任务等信息的监听,与对于内部信息即区块链上的相关状态信息的监听。外部信息与内部信息同时监听,当监听到相关的触发条件后触发下一步动作响应。
外部信息又分为外部指令与环境感知,监听外部指令只需要打开相关的监听端口,当有指令需要发布到分布式节点时向打开的端口发送指令即可,分布式节点收到外部指令后首先需要对指令进行认证以防止虚假指令,之后判断指令的类型来进行下一步的响应与操作;监听环境信息需要用到分布式节点的不同功能模块,例如监听温度信息需要用到温度传感器,距离信息需要用到红外距离传感器,收到相关的信息后进行判断并执行后续的动作与响应。监听外部信息后的动作响应主要分为以下两种类型:一是确定需要发布任务,此时通常是收到了外部的任务指令或是环境中出现了任务因素;二是节点退出系统,此时通常是收到了外部的退出指令或是节点出现了异常等问题。
为了实现分布式节点对于区块链上状态信息的监听,设计了一种以分布式节点为驱动的轮询监听方法,如图2所示。所有的分布式节点又分为空闲节点与忙碌节点,只有空闲节点会监听区块链状态信息。空闲节点向区块链的智能合约发送查询请求,智能合约根据该请求返回相应的查询结果,如果节点判断不需要自身执行操作,那么其仍然是空闲节点并继续进行查询操作,直到智能合约返回需要进行的操作,空闲节点变为忙碌节点,此时不再进行查询操作,完成任务之后恢复到空闲节点状态。这一设计以节点作为主要发起者,充分考虑到节点自身的状态,实现的难度不大时间开销不高。
为了实现分布式节点对于外部与内部信息的同时监听,需要在控制程序中使用多线程来完成。线程一用于监听外部的指令信息,通常可以监听某一特定端口(例如8899),当收到端口发来的消息时对消息进行验证以防止中间人攻击,验证之后根据消息的种类与内容来执行后续的操作,如果是发布任务或是中断退出则需要关闭掉当前所有的监听线程(或是关闭掉监听总进程),开始下一阶段的动作。线程二用于监听外部的环境信息,通常需要与传感器等设备进行绑定,在预置规则部分需要将不同种类的外部信息进行分类预置,因此当收到不同的外部环境信息后可以根据此规则来判断节点需要执行何种响应。线程三用于监听区块链状态,即与智能合约进行交互,首先需要判断当前节点是否是空闲节点,若是空闲节点则需要调用智能合约预留的相关接口函数即查询函数(Query)来进行,每次调用此函数来进行通信时,智能合约都会返回相关的状态值(Stage),若收到的状态值为CLAIM则此时有任务待认领,分布式节点根据相关任务信息(Task)来判断是否认领,若认领则中断所有线程进入下一阶段分配任务,忽略任务则继续监听。
3.生成任务。收取到相关的信息后,分布式节点协同系统生成相关任务,其中包括收取到外部信息的节点发布任务,收取到内部信息的节点接收并认领任务,在分配任务的过程中体现出了预置规则的约束。
任务发布的先决条件是处于监听状态的节点收到了外部的相关信息,需要进行任务的发布,任务发布的过程即是分布式节点数据上链的过程,本发明对于数据上链的流程设计为如图3所示的方法。某一外部节点需要上传数据到链上时,节点发起相应的请求给智能合约,智能合约将此请求执行一次生成相应的响应,此响应会反馈至节点处。节点判断此响应是否符合预期,如果满足则打包成交易上传至排序节点处,排序节点使用排序服务将此交易与其他交易打包成区块并上传至区块链账本处,完成节点数据的上传。这种方法有效地保障了区块链数据的一致性;较为贴合区块链的特性与功能,整体过程较为简单不会有过高的开销;上传过程经过了智能合约的处理,便于自动化与智能化执行。根据预置的规则,任务发布时需要上传的信息包括领取任务的节点数量、领取策略、任务的编号、任务的相关信息与其他补充信息。智能合约根据预设规则判断发布的任务是否满足要求,若满足要求则把此任务的相关信息提交至区块链账本上,并修改账本中的Stage字段为CLAIM表示任务的成功发布。
当其他监听区块链状态的节点接收到状态信息的改变后开始认领任务,具体的操作是首先根据区块链账本的任务相关信息判断是否要进行任务的领取,若是准备领取任务还需要判断自身的条件是否符合任务的相关需求,条件都满足后则可以进行任务的领取。在领取的过程中的第一部分也是分布式节点数据上链的过程,根据图3所示的方法,节点发起领取任务的请求给智能合约,智能合约根据预置的规则与任务的限制判断是否符合领取条件,若符合则将此请求执行一次生成相应的响应,此响应会反馈至节点处。节点判断此响应是否符合预期,如果满足则打包成交易上传至排序节点处,排序节点使用排序服务将此交易与其他交易打包成区块并上传至区块链账本处,完成节点数据的上传。在智能合约进行条件的判断时有时需要获取外界的真实数据信息,例如天气、汇率、时间、财产等客观信息,如图4所示,本系统设计一种基于预言机与可信第三方的方法来完成这一交互。在区块链需要获取外部的数据时,智能合约会根据需要维护一个授权节点列表,通常是授予可以可靠获取相关数据的节点,并充分考虑维度与广度信息。之后当有节点想要上传相关数据时,智能合约会根据授权节点列表进行判断,满足条件则收入到数据库中作为参考,不满足则直接丢弃,并返回相应的结果给节点。当数据达到一定的量或是达到预期时间后进行数据的整合,整合需要根据相应的整合策略集中处理数据库中的数据,并最终得出结果。
4.执行动作。生成任务后,分布式节点系统按照预置规则执行动作,动作的内容体现在任务要求中,分布式节点按照达成的共识的执行动作,在执行动作的过程中仍要监听状态,以便于对外部的信息变化进行自适应的决策反应,并接收内部的指令信息例如动作中断、变更、暂停、继续等。
执行动作阶段需要分布式节点根据任务的具体信息来进行具体动作的执行,在任务的发布过程中对于任务的执行动作进行了详细的规定。在执行动作的过程中仍然需要处理异常的情况,即中断、调整、暂停与继续等情况,需要监听外部的信息与内部区块链的状态。中断情况详见图5,当外部存在异常情况需要中断时,分布式节点向区块链发送相关的消息,声明异常的情况,随后节点中断退出系统,智能合约对异常消息进行处理,判断整个系统是否需要中断,若是需要中断系统则发布相关的消息至区块链上,将区块链账本的Stage字段设置为FAIL,随后系统中的分布式节点根据此消息来进行反应,有序进行中断退出。任务调整详见图6,若是存在需要任务调整变更的情况则首先向智能合约发送相关的调整请求,智能合约根据预设的规则来进行判决,若是符合变更规则则将区块链账本的Stage字段设置为ADJUST,在相关的字段修改任务的具体信息,其他节点接受到此消息后对任务进行调整。暂停与继续的情形与前两者相似,当某一分布式节点需要暂停或继续时发送相关的请求,智能合约根据预制规则上传消息至区块链,其他节点根据区块链的状态来进行暂停与继续。
5.反馈结果。动作执行结束后需要对于结果进行相关的反馈以评估执行效果,具体的方法是分布式节点将相关的结果信息上传到区块链,区块链将此信息进行留存已备复查与评估节点执行效果。
反馈的过程主要是分布式节点上传相关的结果信息至智能合约,智能合约处理结果内容并将其存储于区块链账本上,具体的结果内容与存储形式在任务发布时进行预设。复查与评估阶段即将区块链账本的相关记录读取并溯源,既可以获知分布式节点协同过程的每一阶段的执行协同结果,又可以获得每一个节点的最终执行结果,最终加以评估。
其中如图7展示了完整的协同任务生命周期。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。
Claims (7)
1.一种基于区块链的分布式节点协同方法,包括分布式节点和区块链,其特征在于,后者为前者提供协同服务,具体步骤如下,
1)预置规则;根据功能需求为分布式节点与区块链预置规则,以约束分布式节点与区块链的状态演化,促进协同流程的正常进行;节点规则通过相关的控制程序或流程实现,区块链规则通过对区块链的基础配置和编写链码实现;
2)监听状态;分布式节点监听状态信息,包括:内部信息,即区块链交易信息的更新;外部信息,即节点所处的环境、指令等状态的变化;内部信息与外部信息同时监听,当监听到相关的触发条件后触发下一步骤;
3)生成任务;受到状态变化触发后,分布式节点协同系统按照预置规则生成相关任务,包括:受触发节点发布任务,收取到内部信息的节点认领任务,并在生成任务的过程中体现出预置规则的约束;
4)执行动作;任务生成后,节点按照预置规则执行动作,动作的内容体现在任务要求中;节点在执行动作的过程中仍进行状态监听,以便于对外部变化进行自适应决策以及接收内部指令;
5)反馈结果;动作执行结束后,节点需对执行结果进行反馈,具体方法是分布式节点将相关结果信息上传到区块链,以备效果评估和后续审计。
2.根据权利要求1所述的一种基于区块链的分布式节点协同方法,其特征在于:所述分布式节点和区块链在参与协同前预置规则;根据协同的目标与内容,编写智能合约规定协同的流程与步骤,需包含对于每一个触发事件的响应与动作,对于任务的具体信息进行相关的约束与规定,保证系统智能化的进行;分布式节点预置监听和响应模块,配合预置规则的具体实现。
3.根据权利要求1所述的一种基于区块链的分布式节点协同方法,其特征在于:所述分布式节点监听区块链和外部状态信息,通过轮询的方法,对区块链的交易信息和节点的外部环境、指令等状态变化进行监听,根据监听结果判断是否满足触发条件来进行后续步骤。
4.根据权利要求1所述的一种基于区块链的分布式节点协同方法,其特征在于:所述分布式节点协同系统受条件触发生成任务,由首个检测到触发条件满足的节点向区块链发起一笔交易发布任务,其他节点监听到区块链交易变化判断是否认领任务,若是则发送认领交易请求至区块链,智能合约判断是否符合预置认领规则,任务所需节点完成认领后即完成生成任务步骤。
5.根据权利要求1所述的一种基于区块链的分布式节点协同方法,其特征在于:所述分布式节点根据任务内容执行相关动作,在执行过程如遇异常则根据预置规则向区块链提交交易请求进行状态调整,区块链根据智能合约进行处理。
6.根据权利要求1所述的一种基于区块链的分布式节点协同方法,其特征在于:所述分布式节点在执行任务要求的相关动作后,将执行结果通过交易的形式提交并记录到区块链,已实现结果评估和事后审计。
7.根据权利要求1所述的一种基于区块链的分布式节点协同方法,其特征在于:所述分布式节点的协同过程将记录在区块链的分布式账本中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111365160.2A CN114095240B (zh) | 2021-11-17 | 2021-11-17 | 一种基于区块链的分布式节点协同方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111365160.2A CN114095240B (zh) | 2021-11-17 | 2021-11-17 | 一种基于区块链的分布式节点协同方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114095240A true CN114095240A (zh) | 2022-02-25 |
CN114095240B CN114095240B (zh) | 2023-12-01 |
Family
ID=80301296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111365160.2A Active CN114095240B (zh) | 2021-11-17 | 2021-11-17 | 一种基于区块链的分布式节点协同方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114095240B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531305A (zh) * | 2022-04-23 | 2022-05-24 | 东南大学 | 一种面向以链治链的区块链跨链监管方法 |
CN114915640A (zh) * | 2022-05-06 | 2022-08-16 | 中国科学技术大学先进技术研究院 | 数据安全交互方法、系统、装置、设备及可读存储介质 |
CN115510250A (zh) * | 2022-11-10 | 2022-12-23 | 成都国恒空间技术工程股份有限公司 | 一种基于知识区块链的航天信息协同采集方法及系统 |
CN115549998A (zh) * | 2022-09-20 | 2022-12-30 | 广西师范大学 | 一种基于区块链和多密钥同态加密的数据协同方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018112805A1 (zh) * | 2016-12-21 | 2018-06-28 | 深圳前海达闼云端智能科技有限公司 | 区块链存储方法、装置及节点设备 |
CN109542602A (zh) * | 2018-11-20 | 2019-03-29 | 中链科技有限公司 | 一种基于区块链的分布式任务处理方法、装置及系统 |
CN110557416A (zh) * | 2018-05-31 | 2019-12-10 | 厦门本能管家科技有限公司 | 一种多节点协同打块的方法及系统 |
CN111193703A (zh) * | 2018-11-15 | 2020-05-22 | 富士通株式会社 | 在分散式网络中使用的通信装置和通信方法 |
CN111290847A (zh) * | 2020-03-03 | 2020-06-16 | 舟谱数据技术南京有限公司 | 去中心化的分布式多节点协同任务调度平台及方法 |
CN113438204A (zh) * | 2021-05-06 | 2021-09-24 | 中国地质大学(武汉) | 基于区块链的多节点协同识别响应方法 |
-
2021
- 2021-11-17 CN CN202111365160.2A patent/CN114095240B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018112805A1 (zh) * | 2016-12-21 | 2018-06-28 | 深圳前海达闼云端智能科技有限公司 | 区块链存储方法、装置及节点设备 |
CN110557416A (zh) * | 2018-05-31 | 2019-12-10 | 厦门本能管家科技有限公司 | 一种多节点协同打块的方法及系统 |
CN111193703A (zh) * | 2018-11-15 | 2020-05-22 | 富士通株式会社 | 在分散式网络中使用的通信装置和通信方法 |
CN109542602A (zh) * | 2018-11-20 | 2019-03-29 | 中链科技有限公司 | 一种基于区块链的分布式任务处理方法、装置及系统 |
CN111290847A (zh) * | 2020-03-03 | 2020-06-16 | 舟谱数据技术南京有限公司 | 去中心化的分布式多节点协同任务调度平台及方法 |
CN113438204A (zh) * | 2021-05-06 | 2021-09-24 | 中国地质大学(武汉) | 基于区块链的多节点协同识别响应方法 |
Non-Patent Citations (1)
Title |
---|
YUJIAN ZHANG 等: ""A Privacy-Preserving Authentication Scheme for VANETs based on Consortium Blockchain"", 《IEEE》, pages 1 - 6 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531305A (zh) * | 2022-04-23 | 2022-05-24 | 东南大学 | 一种面向以链治链的区块链跨链监管方法 |
CN114915640A (zh) * | 2022-05-06 | 2022-08-16 | 中国科学技术大学先进技术研究院 | 数据安全交互方法、系统、装置、设备及可读存储介质 |
CN114915640B (zh) * | 2022-05-06 | 2023-12-26 | 中国科学技术大学先进技术研究院 | 数据安全交互方法、系统、装置、设备及可读存储介质 |
CN115549998A (zh) * | 2022-09-20 | 2022-12-30 | 广西师范大学 | 一种基于区块链和多密钥同态加密的数据协同方法 |
CN115549998B (zh) * | 2022-09-20 | 2024-03-19 | 广西师范大学 | 一种基于区块链和多密钥同态加密的数据协同方法 |
CN115510250A (zh) * | 2022-11-10 | 2022-12-23 | 成都国恒空间技术工程股份有限公司 | 一种基于知识区块链的航天信息协同采集方法及系统 |
CN115510250B (zh) * | 2022-11-10 | 2023-02-14 | 成都国恒空间技术工程股份有限公司 | 一种基于知识区块链的航天信息协同采集方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114095240B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114095240A (zh) | 一种基于区块链的分布式节点协同方法 | |
CN109922162B (zh) | 一种基于区块链的扁平化建筑设备物联网监控系统及方法 | |
CN111543032B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
CN113051019A (zh) | 流程任务执行管控方法、装置以及设备 | |
JP2020515092A (ja) | ブロックチェーン監視及び管理 | |
CN108322345A (zh) | 一种故障修复数据包的发布方法及服务器 | |
CN110569251A (zh) | 一种数据处理方法、相关设备及计算机可读存储介质 | |
CN110838065A (zh) | 一种交易数据处理方法及装置 | |
CN111866086B (zh) | 一种基于云边端的区块链控制方法及系统 | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN112313908B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
CN107797859A (zh) | 一种定时任务的调度方法及一种调度服务器 | |
CN115277692B (zh) | 边缘网络计算终端设备自动运维方法、装置和系统 | |
CN113872828A (zh) | 区块链预言机状态监控方法 | |
CN113467383A (zh) | 一种rpa机器人的任务管理方法、设备和存储介质 | |
CN114764417A (zh) | 隐私计算、隐私数据及联邦学习的分散式处理方法及装置 | |
JP2021106323A (ja) | 異常検知システム及び異常検知方法 | |
CN112565368B (zh) | 基于区块链的海上装备自组网系统、方法和介质 | |
Shao et al. | Decentralized AI-enabled trusted wireless network: A new collaborative computing paradigm for Internet of Things | |
CN110933627B (zh) | 业务处理方法、装置、设备及存储介质 | |
US9189370B2 (en) | Smart terminal fuzzing apparatus and method using multi-node structure | |
US10333792B2 (en) | Modular controller in software-defined networking environment and operating method thereof | |
CN113449014B (zh) | 一种基于区块链的选择性云数据查询系统 | |
CN113553604A (zh) | 一种小微金融区块链信息交互中心系统 | |
CN110262837A (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 |