CN113079099A - 一种采用共识协议栈同步网络状态的方法及系统 - Google Patents
一种采用共识协议栈同步网络状态的方法及系统 Download PDFInfo
- Publication number
- CN113079099A CN113079099A CN202110622324.9A CN202110622324A CN113079099A CN 113079099 A CN113079099 A CN 113079099A CN 202110622324 A CN202110622324 A CN 202110622324A CN 113079099 A CN113079099 A CN 113079099A
- Authority
- CN
- China
- Prior art keywords
- node
- protocol
- consensus
- module
- consensus protocol
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种采用共识协议栈同步网络状态的方法及系统。所述共识协议栈基于共识协议栈装置实现,所述共识协议栈装置具体包括节点发现模块、节点维护模块、协议调度模块、共识协议库、状态输入输出模块、协议配置模块。所述方法包括:调用所述协议配置模块和协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议;调用所述节点发现模块和所述节点维护模块更新节点连接关系;调用状态输入输出模块、协议调度模块、共识协议库同步所述网络状态。以上方法提供并调用不同共识协议,满足网络系统中不同网络状态同步差异化的需求,为高安全网络系统中路由协议设计提供了一条切实可行的途径。
Description
技术领域
本发明涉及网络协议领域,尤其是涉及一种采用共识协议栈同步网络状态的方法及系统。
背景技术
网络系统是利用网络节点和链路将地理位置不同、功能相互独立的端系统互联起来,实现端系统间资源共享和信息传递。在人-机-物互联时代,网络系统扮演着信息共享的桥梁,是信息化时代核心的信息基础设施。随着网络空间对抗加剧,针对网络系统的攻击日益显现,攻击手段和技术越来越高级,导致网络自身安全性问题层出不穷,如何构建高安全、高可靠的网络系统受到产业界和学术界的高度重视。
目前,网络系统通常采用分布式组网实现端到端传输。网络节点之间的状态同步采用Gossip共识协议(流言传播共识协议),基于“完全信任、角色均等、最终一致”设计原则,通过网络节点之间接力传递网络状态,实现网络状态在所有网络节点上达成共识一致。Gossip共识算法可以实时的传递网络状态,在网络节点和链路发生单点故障时,通过快速同步网络状态,促成路由快速收敛,有效避免传输路径中断时间过长等问题。这种方式存在主要弊端如下:网络节点在遭受节点劫持、信息篡改等安全风险时,Gossip共识算法无法甄别其他节点的非法网络状态信息,直接将网络状态信息洪范到相邻节点,致使部分网络状态存在信息虚假、伪造、篡改等安全风险,进而导致网络系统中存在不可信、不可靠的传输路径。
发明内容
本发明的目的在于提供一种采用共识协议栈同步网络状态的方案,以解决现有技术中基于Gossip共识协议的网络状态同步机制存在信息虚假、伪造、篡改等安全问题。
本发明第一方面提供了一种采用共识协议栈同步网络状态的方法。
其中,所述共识协议栈基于共识协议栈装置实现,所述共识协议栈装置具体包括节点发现模块、节点维护模块、协议调度模块、共识协议库、状态输入输出模块、协议配置模块。
其中,所述方法包括:调用所述协议配置模块和协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议;调用所述节点发现模块和所述节点维护模块更新节点连接关系;调用状态输入输出模块、协议调度模块、共识协议库同步所述网络状态。
其中,调用状态输入输出模块、协议调度模块、共识协议库同步所述网络状态,具体包括:调用所述状态输入输出模块在接收到所述网络状态时,自动生成所述网络状态的同步需求,并将所述同步需求传递至所述协议调度模块;调用所述协议调度模块在接收到所述同步需求后,在所述共识协议库的所有共识协议中查询满足所述同步需求的共识协议作为目标共识协议;调用所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议;调用所述状态输入输出模块将所述网络状态发送至各个节点的目标共识协议中,以在所述所有节点上同步所述网络状态。
根据本发明第一方面提供的方法,调用所述协议配置模块和协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议,具体包括:调用所述协议配置模块将所述共识协议栈中的共识协议装载到所述共识协议库中,并配置所述共识协议的基本信息,所述基本信息包括协议名称、协议类型、最大支持节点规模;经由所述协议配置模块查询所述共识协议库的共识协议列表中是否包括所述共识协议的基本信息,若是,则表明所述共识协议加载成功;若否,则重新加载所述共识协议;依次加载所述共识协议库中的其他共识协议,直到加载完所述共识协议栈中的所有共识协议。
根据本发明第一方面提供的方法,调用所述节点发现模块和所述节点维护模块更新所述节点连接关系,具体包括:调用第一节点的节点发现模块周期地以广播方式发送节点探测请求消息;调用第二节点的节点发现模块基于接收到的所述节点探测请求消息,解析出所述第一节点的节点ID,所述第二节点为所述第一节点的相邻节点;调用所述第二节点的节点维护模块判断所述节点ID是否在所述第二节点的节点连接关系表中:若是,进一步确定节点信息是否一致,若不一致,则更新所述节点信息;若否,将所述节点ID存储在所述节点连接关系表中;调用所述第二节点的节点维护模块发送完成维护消息至所述第二节点的节点发现模块,以生成节点探测响应消息,并以单播方式发送至所述第一节点的节点发送模块。
根据本发明第一方面提供的方法,所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议,具体包括:调用所述其他节点的协议调度模块基于所述请求信息,执行所述目标共识协议的代码,并初始化所述目标共识协议。
本发明第二方面提供了一种采用共识协议栈同步网络状态的系统。
其中,所述共识协议栈基于共识协议栈装置实现,所述共识协议栈装置具体包括节点发现模块、节点维护模块、协议调度模块、共识协议库、状态输入输出模块、协议配置模块。
其中,所述系统包括:第一处理单元,被配置为,调用所述协议配置模块和协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议;第二处理单元,被配置为,调用所述节点发现模块和所述节点维护模块更新节点连接关系;第三处理单元,被配置为,调用状态输入输出模块、协议调度模块、共识协议库同步所述网络状态。
其中,所述第三处理单元具体被配置为:调用所述状态输入输出模块在接收到所述网络状态时,自动生成所述网络状态的同步需求,并将所述同步需求传递至所述协议调度模块;调用所述协议调度模块在接收到所述同步需求后,在所述共识协议库的所有共识协议中查询满足所述同步需求的共识协议作为目标共识协议;调用所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议;调用所述状态输入输出模块将所述网络状态发送至各个节点的目标共识协议中,以在所述所有节点上同步所述网络状态。
根据本发明第二方面提供的系统,所述第一处理单元具体被配置为:调用所述协议配置模块将所述共识协议栈中的共识协议装载到所述共识协议库中,并配置所述共识协议的基本信息,所述基本信息包括协议名称、协议类型、最大支持节点规模;经由所述协议配置模块查询所述共识协议库的共识协议列表中是否包括所述共识协议的基本信息,若是,则表明所述共识协议加载成功;若否,则重新加载所述共识协议;依次加载所述共识协议库中的其他共识协议,直到加载完所述共识协议栈中的所有共识协议。
根据本发明第二方面提供的系统,所述第二处理单元具体被配置为:调用第一节点的节点发现模块周期地以广播方式发送节点探测请求消息;调用第二节点的节点发现模块基于接收到的所述节点探测请求消息,解析出所述第一节点的节点ID,所述第二节点为所述第一节点的相邻节点;调用所述第二节点的节点维护模块判断所述节点ID是否在所述第二节点的节点连接关系表中:若是,进一步确定节点信息是否一致,若不一致,则更新所述节点信息;若否,将所述节点ID存储在所述节点连接关系表中;调用所述第二节点的节点维护模块发送完成维护消息至所述第二节点的节点发现模块,以生成节点探测响应消息,并以单播方式发送至所述第一节点的节点发送模块。
根据本发明第二方面提供的系统,所述第三处理单元具体被配置为:调用所述其他节点的协议调度模块基于所述请求信息,执行所述目标共识协议的代码,并初始化所述目标共识协议。
本发明第三方面提供了一种存储有指令的非暂时性计算机可读介质,当所述指令由处理器执行时,执行根据本发明第一方面的一种采用共识协议栈同步网络状态的方法中的步骤。
综上,本方案采用实现网络状态同步的共识协议栈在灵活性、重构性、安全性具有明显优势,可根据网络状态同步在安全性、实时性、可靠性等方面不同,共识协议栈提供并调用不同共识协议,满足网络系统中不同网络状态同步差异化的需求,为高安全网络系统中路由协议设计提供了一条切实可行的途径。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的共识协议栈装置的示意图;
图2为根据本发明实施例的一种采用共识协议栈同步网络状态的方法的流程图;
图3为根据本发明实施例的一种采用共识协议栈同步网络状态的系统的结构图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明第一方面提供了一种采用共识协议栈同步网络状态的方法。
所述共识协议栈基于共识协议栈装置实现,图1为根据本发明实施例的共识协议栈装置的示意图,如图1所示,所述共识协议栈装置具体包括节点发现模块、节点维护模块、协议调度模块、共识协议库、状态输入输出模块、协议配置模块。其中节点发现模块和节点维护模块属于节点维护层,协议调度模块和共识协议库属于状态同步层,状态输入输出模块和协议配置模块属于输入输出层。
在一些实施例中,在网络节点中安装共识协议栈装置(或者软件)。共识协议栈装置(或者软件)包括节点发现模块、节点维护模块、协议调度模块、共识协议库、状态输入输出模块、协议配置模块。其中,节点发现模块按照固定时间周期以广播方式向相邻网络节点发送节点探测请求消息,并接收处理节点探测响应消息,形成节点连接关系信息;节点维护模块负责存储节点连接关系信息,以及在节点连接关系发生改变时更新或删除节点连接关系信息;协议调度模块根据网络状态同步需求,启动共识协议的执行代码,并初始化共识协议;共识协议库用于存储共识协议基本信息以及共识协议的执行代码;状态输入输出模块负责网络状态同步的发送与接收工作,包括将网络状态发送到特定的共识协议以及从共识协议读取同步的网络状态;协议配置模块用于装载/卸载共识协议库中共识协议的执行代码,以及配置共识协议基本信息(例如,共识协议名称、类型、最大支持节点规模、时间戳等信息)
所述方法包括:(1)调用所述协议配置模块和协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议;(2)调用所述节点发现模块和所述节点维护模块更新节点连接关系;(3)调用状态输入输出模块、协议调度模块、共识协议库同步所述网络状态。其中,(3)调用状态输入输出模块、协议调度模块、共识协议库同步所述网络状态,具体包括:调用所述状态输入输出模块在接收到所述网络状态时,自动生成所述网络状态的同步需求,并将所述同步需求传递至所述协议调度模块;调用所述协议调度模块在接收到所述同步需求后,在所述共识协议库的所有共识协议中查询满足所述同步需求的共识协议作为目标共识协议;调用所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议;调用所述状态输入输出模块将所述网络状态发送至各个节点的目标共识协议中,以在所述所有节点上同步所述网络状态。
在一些实施例中,(1)调用所述协议配置模块和协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议,具体包括:调用所述协议配置模块将所述共识协议栈中的共识协议装载到所述共识协议库中,并配置所述共识协议的基本信息,所述基本信息包括协议名称、协议类型、最大支持节点规模;经由所述协议配置模块查询所述共识协议库的共识协议列表中是否包括所述共识协议的基本信息,若是,则表明所述共识协议加载成功;若否,则重新加载所述共识协议;依次加载所述共识协议库中的其他共识协议,直到加载完所述共识协议栈中的所有共识协议。
具体地,用户通过协议配置模块装载共识协议的执行代码到共识协议库中,并配置共识协议基本信息,包括共识协议名称N、类型T、最大支持节点规模M等。用户通过协议配置模块查询共识协议库中共识协议列表,查询共识协议(N、T、M)是否在共识协议列表中:如果在,表明共识协议加载成功;否则,表明共识协议加载不成功,重新加载。用户依次加载其他共识协议,直至成功加载完所有共识协议。
在一些实施例中,(2)调用所述节点发现模块和所述节点维护模块更新节点连接关系,具体包括:调用第一节点的节点发现模块周期地以广播方式发送节点探测请求消息;调用第二节点的节点发现模块基于接收到的所述节点探测请求消息,解析出所述第一节点的节点ID,所述第二节点为所述第一节点的相邻节点;调用所述第二节点的节点维护模块判断所述节点ID是否在所述第二节点的节点连接关系表中:若是,进一步确定节点信息是否一致,若不一致,则更新所述节点信息;若否,将所述节点ID存储在所述节点连接关系表中;调用所述第二节点的节点维护模块发送完成维护消息至所述第二节点的节点发现模块,以生成节点探测响应消息,并以单播方式发送至所述第一节点的节点发送模块。
具体地,节点发现模块按照固定时间周期(Ti)以广播方式发送节点探测请求消息;相邻节点中节点发现模块接收到节点探测请求消息,解析出节点ID号,并传递给节点维护模块;节点维护模块接收到ID号,检查ID号是否在节点连接关系表中:如果命中且节点信息一致,表明该节点连接关系已存储;如果命中但节点信息不一致,表明该节点信息发生改变,更新节点连接关系表中ID信息;否则,将节点ID存储在节点连接关系表中,并将完成维护消息传递给节点发现模块。
附加地,节点发现模块在执行上述过程的同时,监听其他节点探测响应消息;节点发现模块接收到节点探测响应消息,解析出节点ID号,并传递给节点维护模块;节点维护模块接收到ID号,检查ID号是否在节点连接关系表中:如果命中且节点信息一致,表明该节点连接关系已存储;如果命中但节点信息不一致,表明该节点信息发生改变,更新节点连接关系表中ID信息;否则,将节点ID存储在节点连接关系表中,并将完成维护消息传递给节点发现模块;节点发现模块接收到完成维护消息后,继续监听节点探测响应消息。节点发现模块接收到完成维护消息后,生成节点探测响应消息,并以单播方式将其发送出去。
在一些实施例中,(3)调用状态输入输出模块、协议调度模块、共识协议库同步所述网络状态,具体包括:调用所述状态输入输出模块在接收到所述网络状态时,自动生成所述网络状态的同步需求,并将所述同步需求传递至所述协议调度模块;调用所述协议调度模块在接收到所述同步需求后,在所述共识协议库的所有共识协议中查询满足所述同步需求的共识协议作为目标共识协议;调用所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议;调用所述状态输入输出模块将所述网络状态发送至各个节点的目标共识协议中,以在所述所有节点上同步所述网络状态。
其中,所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议,具体包括:调用所述其他节点的协议调度模块基于所述请求信息,执行所述目标共识协议的代码,并初始化所述目标共识协议。
具体地,状态输入输出模块在接收到网络状态S时,自动生成网络状态S的同步需求,传递给协议调度模块;协议调度模块接收到状态同步需求,查询共识协议库中共识协议P,如果命中,表明满足该同步需求的共识协议P存在;否则,表明不存在满足该同步需求的共识协议。
本节点中协议调度模块执行共识协议P的执行代码,并初始化共识协议P;本节点中协议调度模块查询节点维护模块中节点连接关系表,将启动共识协议P的请求消息以单播的方式发送给其他节点的协议调度模块;其他节点中协议调度模块接收到共识协议P的请求消息,执行共识协议P的执行代码,并初始化共识协议P,生成共识协议P的响应消息,传递回请求的协议调度模块;
本节点中协议调度模块接收到共识协议P的响应消息,表明共识协议P启动成功,将启动成功消息传递给状态输入输出模块;状态输入输出模块接收到启动成功消息后,将网络状态S传递给共识协议P;本节点中共识协议P接收到网络状态S后,同步到其他节点上共识协议P;其他节点共识协议P接收到网络状态S后,并存储下来,向其他节点发送网络状态S已正常存储;本节点中共识协议P接收到网络状态S已正常存储的消息后,生成网络状态S成功同步消息,并传递给状态输入输出模块;状态输入输出模块接收到网络状态S成功同步消息,从而完成一次网络状态同步。
第一方面的方法采用实现网络状态同步的共识协议栈在灵活性、重构性、安全性具有明显优势,可根据网络状态同步在安全性、实时性、可靠性等方面不同,共识协议栈提供并调用不同共识协议,满足网络系统中不同网络状态同步差异化的需求,为高安全网络系统中路由协议设计提供了一条切实可行的途径。
本发明第二方面提供了一种采用共识协议栈同步网络状态的系统。
所述共识协议栈基于共识协议栈装置(如图1所示,同上)实现,所述共识协议栈装置具体包括节点发现模块、节点维护模块、协议调度模块、共识协议库、状态输入输出模块、协议配置模块。
图3为根据本发明实施例的一种采用共识协议栈同步网络状态的系统的结构图,如图3所示,所述系统300包括:第一处理单元301,被配置为,调用所述协议配置模块和协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议;第二处理单元302,被配置为,调用所述节点发现模块和所述节点维护模块更新节点连接关系;第三处理单元303,被配置为,调用状态输入输出模块、协议调度模块、共识协议库同步所述网络状态。
其中,所述第三处理单元303具体被配置为:调用所述状态输入输出模块在接收到所述网络状态时,自动生成所述网络状态的同步需求,并将所述同步需求传递至所述协议调度模块;调用所述协议调度模块在接收到所述同步需求后,在所述共识协议库的所有共识协议中查询满足所述同步需求的共识协议作为目标共识协议;调用所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议;调用所述状态输入输出模块将所述网络状态发送至各个节点的目标共识协议中,以在所述所有节点上同步所述网络状态。
根据本发明第二方面提供的系统,所述第一处理单元301具体被配置为:调用所述协议配置模块将所述共识协议栈中的共识协议装载到所述共识协议库中,并配置所述共识协议的基本信息,所述基本信息包括协议名称、协议类型、最大支持节点规模;经由所述协议配置模块查询所述共识协议库的共识协议列表中是否包括所述共识协议的基本信息,若是,则表明所述共识协议加载成功;若否,则重新加载所述共识协议;依次加载所述共识协议库中的其他共识协议,直到加载完所述共识协议栈中的所有共识协议。
根据本发明第二方面提供的系统,所述第二处理单元302具体被配置为:调用第一节点的节点发现模块周期地以广播方式发送节点探测请求消息;调用第二节点的节点发现模块基于接收到的所述节点探测请求消息,解析出所述第一节点的节点ID,所述第二节点为所述第一节点的相邻节点;调用所述第二节点的节点维护模块判断所述节点ID是否在所述第二节点的节点连接关系表中:若是,进一步确定节点信息是否一致,若不一致,则更新所述节点信息;若否,将所述节点ID存储在所述节点连接关系表中;调用所述第二节点的节点维护模块发送完成维护消息至所述第二节点的节点发现模块,以生成节点探测响应消息,并以单播方式发送至所述第一节点的节点发送模块。
根据本发明第二方面提供的系统,所述第三处理单元303具体被配置为:调用所述其他节点的协议调度模块基于所述请求信息,执行所述目标共识协议的代码,并初始化所述目标共识协议。
本发明第三方面提供了一种存储有指令的非暂时性计算机可读介质,当所述指令由处理器执行时,执行根据本发明第一方面的一种采用共识协议栈同步网络状态的方法中的步骤。
综上,本发明各个方面的技术方案,通过主动发现机制来实现不同网络节点中共识协议栈的自主发现,以及每个共识协议栈建立并维护节点间连接关系表。在此基础上,当网络状态同步时,先根据网络状态同步需求从共识协议库选择所需的共识协议,并启用并初始化网络节点中共识协议,最后将需要同步的网络状态传递到共识协议,实现一次网络状态的同步工作。根据网络状态同步在安全性、实时性、可靠性等方面不同,共识协议栈提供并调用不同共识协议,满足网络系统中不同网络状态同步差异化的需求。采用本发明提出的实现网络状态同步的共识协议栈在灵活性、重构性、安全性具有明显优势,为高安全网络系统中路由协议设计提供了一条切实可行的途径。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种采用共识协议栈同步网络状态的方法,其特征在于,所述共识协议栈采用共识协议栈装置实现,所述共识协议栈装置具体包括节点发现模块、节点维护模块、协议调度模块、共识协议库、状态输入输出模块、协议配置模块;所述方法包括:
调用所述协议配置模块和所述协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议;
调用所述节点发现模块和所述节点维护模块更新节点连接关系;
调用所述状态输入输出模块、所述协议调度模块、所述共识协议库同步所述网络状态,具体包括:
调用所述状态输入输出模块在接收到所述网络状态时,自动生成所述网络状态的同步需求,并将所述同步需求传递至所述协议调度模块;
调用所述协议调度模块在接收到所述同步需求后,在所述共识协议库的所有共识协议中查询满足所述同步需求的共识协议作为目标共识协议;
调用所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议;
调用所述状态输入输出模块将所述网络状态发送至各个节点的目标共识协议中,以在所述所有节点上同步所述网络状态。
2.根据权利要求1所述的一种采用共识协议栈同步网络状态的方法,其特征在于,其中,调用所述协议配置模块和所述协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议,具体包括:
调用所述协议配置模块将所述共识协议栈中的共识协议装载到所述共识协议库中,并配置所述共识协议的基本信息,所述基本信息包括协议名称、协议类型、最大支持节点规模;
经由所述协议配置模块查询所述共识协议库的共识协议列表中是否包括所述共识协议的基本信息,
若是,则表明所述共识协议加载成功;
若否,则重新加载所述共识协议;
依次加载所述共识协议库中的其他共识协议,直到加载完所述共识协议栈中的所有共识协议。
3.根据权利要求2所述的一种采用共识协议栈同步网络状态的方法,其特征在于,其中,调用所述节点发现模块和所述节点维护模块更新所述节点连接关系,具体包括:
调用第一节点的节点发现模块周期地以广播方式发送节点探测请求消息;
调用第二节点的节点发现模块基于接收到的所述节点探测请求消息,解析出所述第一节点的节点ID,所述第二节点为所述第一节点的相邻节点;
调用所述第二节点的节点维护模块判断所述节点ID是否在所述第二节点的节点连接关系表中:
若是,进一步确定节点信息是否一致,若不一致,则更新所述节点信息;
若否,将所述节点ID存储在所述节点连接关系表中;
调用所述第二节点的节点维护模块发送完成维护消息至所述第二节点的节点发现模块,以生成节点探测响应消息,并以单播方式发送至所述第一节点的节点发送模块。
4.根据权利要求3所述的一种采用共识协议栈同步网络状态的方法,其特征在于,其中,所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议,具体包括:调用所述其他节点的协议调度模块基于所述请求信息,执行所述目标共识协议的代码,并初始化所述目标共识协议。
5.一种采用共识协议栈同步网络状态的系统,其特征在于,所述共识协议栈基于共识协议栈装置实现,所述共识协议栈装置具体包括节点发现模块、节点维护模块、协议调度模块、共识协议库、状态输入输出模块、协议配置模块;所述系统包括:
第一处理单元,被配置为,调用所述协议配置模块和所述协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议;
第二处理单元,被配置为,调用所述节点发现模块和所述节点维护模块更新节点连接关系;
第三处理单元,被配置为,调用所述状态输入输出模块、所述协议调度模块、所述共识协议库同步所述网络状态,具体包括:
调用所述状态输入输出模块在接收到所述网络状态时,自动生成所述网络状态的同步需求,并将所述同步需求传递至所述协议调度模块;
调用所述协议调度模块在接收到所述同步需求后,在所述共识协议库的所有共识协议中查询满足所述同步需求的共识协议作为目标共识协议;
调用所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议;
调用所述状态输入输出模块将所述网络状态发送至各个节点的目标共识协议中,以在所述所有节点上同步所述网络状态。
6.根据权利要求5所述的一种采用共识协议栈同步网络状态的系统,其特征在于,其中,所述第一处理单元具体被配置为:
调用所述协议配置模块将所述共识协议栈中的共识协议装载到所述共识协议库中,并配置所述共识协议的基本信息,所述基本信息包括协议名称、协议类型、最大支持节点规模;
经由所述协议配置模块查询所述共识协议库的共识协议列表中是否包括所述共识协议的基本信息,
若是,则表明所述共识协议加载成功;
若否,则重新加载所述共识协议;
依次加载所述共识协议库中的其他共识协议,直到加载完所述共识协议栈中的所有共识协议。
7.根据权利要求6所述的一种采用共识协议栈同步网络状态的系统,其特征在于,其中,所述第二处理单元具体被配置为:
调用第一节点的节点发现模块周期地以广播方式发送节点探测请求消息;
调用第二节点的节点发现模块基于接收到的所述节点探测请求消息,解析出所述第一节点的节点ID,所述第二节点为所述第一节点的相邻节点;
调用所述第二节点的节点维护模块判断所述节点ID是否在所述第二节点的节点连接关系表中:
若是,进一步确定节点信息是否一致,若不一致,则更新所述节点信息;
若否,将所述节点ID存储在所述节点连接关系表中;
调用所述第二节点的节点维护模块发送完成维护消息至所述第二节点的节点发现模块,以生成节点探测响应消息,并以单播方式发送至所述第一节点的节点发送模块。
8.根据权利要求7所述的一种采用共识协议栈同步网络状态的系统,其特征在于,其中,所述第三处理单元具体被配置为:调用所述其他节点的协议调度模块基于所述请求信息,执行所述目标共识协议的代码,并初始化所述目标共识协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110622324.9A CN113079099B (zh) | 2021-06-04 | 2021-06-04 | 一种采用共识协议栈同步网络状态的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110622324.9A CN113079099B (zh) | 2021-06-04 | 2021-06-04 | 一种采用共识协议栈同步网络状态的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113079099A true CN113079099A (zh) | 2021-07-06 |
CN113079099B CN113079099B (zh) | 2021-09-10 |
Family
ID=76616965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110622324.9A Active CN113079099B (zh) | 2021-06-04 | 2021-06-04 | 一种采用共识协议栈同步网络状态的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113079099B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635223A (zh) * | 2014-11-06 | 2016-06-01 | 华为技术有限公司 | 用于同步网络状态的方法及装置 |
CN109121176A (zh) * | 2018-09-29 | 2019-01-01 | 中国电子科技集团公司第三十研究所 | 一种分布式数据同步方法 |
CN110087227A (zh) * | 2019-04-26 | 2019-08-02 | 中湾慧科(深圳)科技有限公司 | 一种基于ims架构的分布式呈现业务的系统及方法 |
US20190306238A1 (en) * | 2015-07-21 | 2019-10-03 | Cisco Technology, Inc. | Adaptive gossip protocol |
CN110417843A (zh) * | 2018-04-30 | 2019-11-05 | 慧与发展有限责任合伙企业 | 计算机网络外部的设备资产的分散化管理的系统和方法 |
CN110855737A (zh) * | 2019-09-24 | 2020-02-28 | 中国科学院软件研究所 | 一种一致性级别可控的自适应数据同步方法和系统 |
CN111654415A (zh) * | 2020-05-28 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 基于区块链的信息处理方法、装置、设备及可读存储介质 |
-
2021
- 2021-06-04 CN CN202110622324.9A patent/CN113079099B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635223A (zh) * | 2014-11-06 | 2016-06-01 | 华为技术有限公司 | 用于同步网络状态的方法及装置 |
US20190306238A1 (en) * | 2015-07-21 | 2019-10-03 | Cisco Technology, Inc. | Adaptive gossip protocol |
CN110417843A (zh) * | 2018-04-30 | 2019-11-05 | 慧与发展有限责任合伙企业 | 计算机网络外部的设备资产的分散化管理的系统和方法 |
CN109121176A (zh) * | 2018-09-29 | 2019-01-01 | 中国电子科技集团公司第三十研究所 | 一种分布式数据同步方法 |
CN110087227A (zh) * | 2019-04-26 | 2019-08-02 | 中湾慧科(深圳)科技有限公司 | 一种基于ims架构的分布式呈现业务的系统及方法 |
CN110855737A (zh) * | 2019-09-24 | 2020-02-28 | 中国科学院软件研究所 | 一种一致性级别可控的自适应数据同步方法和系统 |
CN111654415A (zh) * | 2020-05-28 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 基于区块链的信息处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113079099B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3647955B1 (en) | Consensus-forming method in network, and node for configuring network | |
KR100812374B1 (ko) | 클러스터 시스템에서 프로토콜 네트워크 장애 관리 시스템및 방법 | |
CN111176873B (zh) | 一种微服务自动下线方法、装置、计算机设备及存储介质 | |
US20030005350A1 (en) | Failover management system | |
JPS62239641A (ja) | 同報通信方式 | |
CN112822180B (zh) | 内外网跨链通信方法、装置、计算机设备和存储介质 | |
CN101262369B (zh) | 调度服务器的主备实现方法及调度服务器 | |
CN104184756A (zh) | 一种数据同步方法、装置及系统 | |
CN111654415B (zh) | 基于区块链的信息处理方法、装置、设备及可读存储介质 | |
CN110557416B (zh) | 一种多节点协同打块的方法及系统 | |
CN112492016B (zh) | 一种跨进程可扩展的共识方法及系统 | |
CN107948063B (zh) | 一种建立聚合链路的方法和接入设备 | |
CN110602108A (zh) | 基于区块链网络的数据通信方法、装置、设备及存储介质 | |
CN112286945A (zh) | 基于pbft算法的配置变更方法、系统、设备及介质 | |
CN113079099B (zh) | 一种采用共识协议栈同步网络状态的方法及系统 | |
CN112910663B (zh) | 消息广播和终端注册的方法、装置、设备和存储介质 | |
CN114884805B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN103259639A (zh) | 一种堆叠设备的时钟同步方法和设备 | |
US9967163B2 (en) | Message system for avoiding processing-performance decline | |
US6792558B2 (en) | Backup system for operation system in communications system | |
JP2003188905A (ja) | サーバ/クライアントシステムにおけるtcp/ip通信の多重化方式および方法 | |
CN113821334A (zh) | 一种配置边缘侧设备的方法、装置及系统 | |
CN112367386A (zh) | 基于Ignite的自动化运维方法、装置及计算机设备 | |
CN112437146A (zh) | 一种设备状态同步方法、装置及系统 | |
US8046419B2 (en) | Method of processing open asynchronous application service event and open web service gateway implementing the same |
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 |