[发明专利]一种采用共识协议栈同步网络状态的方法及系统有效
申请号: | 202110622324.9 | 申请日: | 2021-06-04 |
公开(公告)号: | CN113079099B | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 高先明;冯涛;王敬超 | 申请(专利权)人: | 军事科学院系统工程研究院网络信息研究所 |
主分类号: | H04L12/751 | 分类号: | H04L12/751;H04L29/08 |
代理公司: | 中国和平利用军工技术协会专利中心 11215 | 代理人: | 刘光德 |
地址: | 100141 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采用 共识 协议 同步 网络 状态 方法 系统 | ||
1.一种采用共识协议栈同步网络状态的方法,其特征在于,所述共识协议栈采用共识协议栈装置实现,所述共识协议栈装置具体包括节点发现模块、节点维护模块、协议调度模块、共识协议库、状态输入输出模块、协议配置模块;所述方法包括:
调用所述协议配置模块和所述协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议;
调用所述节点发现模块和所述节点维护模块更新节点连接关系,具体包括:
调用第一节点的节点发现模块周期地以广播方式发送节点探测请求消息;
调用第二节点的节点发现模块基于接收到的所述节点探测请求消息,解析出所述第一节点的节点ID,所述第二节点为所述第一节点的相邻节点;
调用所述第二节点的节点维护模块判断所述节点ID是否在所述第二节点的节点连接关系表中:
若是,进一步确定节点信息是否一致,若不一致,则更新所述节点信息;
若否,将所述节点ID存储在所述节点连接关系表中;
调用所述第二节点的节点维护模块发送完成维护消息至所述第二节点的节点发现模块,以生成节点探测响应消息,并以单播方式发送至所述第一节点的节点发送模块;
调用所述状态输入输出模块、所述协议调度模块、所述共识协议库同步所述网络状态,具体包括:
调用所述状态输入输出模块在接收到所述网络状态时,自动生成所述网络状态的同步需求,并将所述同步需求传递至所述协议调度模块;
调用所述协议调度模块在接收到所述同步需求后,在所述共识协议库的所有共识协议中查询满足所述同步需求的共识协议作为目标共识协议;
调用所述协议调度模块基于所述节点连接关系,将启动所述目标共识协议的请求信息发送至其他节点的协议调度模块,以在所有节点上启动所述目标共识协议,具体包括:
调用所述其他节点的协议调度模块基于所述请求信息,执行所述目标共识协议的代码,并初始化所述目标共识协议;
调用所述状态输入输出模块将所述网络状态发送至各个节点的目标共识协议中,以在所述所有节点上同步所述网络状态。
2.根据权利要求1所述的一种采用共识协议栈同步网络状态的方法,其特征在于,其中,调用所述协议配置模块和所述协议共识库来初始化所述共识协议栈,以加载所述共识协议栈中的所有共识协议,具体包括:
调用所述协议配置模块将所述共识协议栈中的共识协议装载到所述共识协议库中,并配置所述共识协议的基本信息,所述基本信息包括协议名称、协议类型、最大支持节点规模;
经由所述协议配置模块查询所述共识协议库的共识协议列表中是否包括所述共识协议的基本信息,
若是,则表明所述共识协议加载成功;
若否,则重新加载所述共识协议;
依次加载所述共识协议库中的其他共识协议,直到加载完所述共识协议栈中的所有共识协议。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于军事科学院系统工程研究院网络信息研究所,未经军事科学院系统工程研究院网络信息研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110622324.9/1.html,转载请声明来源钻瓜专利网。