[发明专利]一种基于预定义执行代码的分布式系统的共识方法有效
申请号: | 201910672698.4 | 申请日: | 2019-07-24 |
公开(公告)号: | CN110427763B | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 李汝佳;汪晓明;娄山林;马燕涛 | 申请(专利权)人: | 上海朝夕网络技术有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62;G06F7/58 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 李佑宏 |
地址: | 200120 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 预定 执行 代码 分布式 系统 共识 方法 | ||
1.一种基于预定义执行代码的分布式系统共识方法,其特征在于,包括
S1采用统一的随机数对分布式系统中的全部参与节点进行初始化,确定其任务周期和初始参与节点列表L,确定每个任务周期的候选参与节点列表PL的更新规则;
S2初始参与节点执行完成初始预定义任务,判断当前时刻是否为周期时刻,若是则根据更新规则更新候选参与节点列表PL,否则获取上一周期时刻更新的候选参与节点列表PL;
S3确定当前任务周期中的当前任务,并根据上一任务的随机数产生所述当前任务的随机数;根据当前任务的随机数,从当前任务周期的候选参与节点列表PL中选择出一个参与节点,作为当前任务的执行节点并达成共识;
所述执行节点确定当前任务的执行方式和执行内容,候选参与节点列表PL中的其它参与节点对执行节点发布的当前任务的执行方式和执行内容进行验证,并在验证通过后执行当前任务。
2.根据权利要求1所述的一种基于预定义执行代码的分布式系统共识方法,其中,步骤S1包括,
S11确定初始参与节点列表L和/或任务周期;
S12确定分布式系统中每个任务周期的候选参与节点列表PL的更新规则;
S13利用分布式系统将初始参与节点列表L、初始任务周期的任务和/或更新规则保存在初始化模块中。
3.根据权利要求1或2所述的一种基于预定义执行代码的分布式系统共识方法,其中,步骤S2包括,
S21每个参与节点轮询执行完成初始任务周期的任务;
S22检测当前时刻是否为分布式系统的周期时刻,若是则按照更新规则更新参与节点列表,否则读取上一周期时刻的参与节点列表;
S23读取当前任务周期的任务列表。
4.根据权利要求1所述的一种基于预定义执行代码的分布式系统共识方法,其中,所述根据上一任务的随机数产生所述当前任务的随机数包括,
S321获取初始密钥和初始任务的随机数,并将其分配给分布式系统的参与节点;
S322输入初始任务的随机数并进行哈希运算获得哈希值;
S323利用初始密钥对哈希值进行加密;
S324根据返回的加密哈希值获取新的随机数,即为下一任务的随机数。
5.一种基于预定义执行代码的分布式系统共识系统,其特征在于,包括
初始模块,用于采用统一的随机数对分布式系统中的全部参与节点进行初始化,确定其任务周期和初始参与节点列表L,确定每个任务周期的候选参与节点列表PL的更新规则;
周期模块,用于初始参与节点执行完成初始预定义任务,判断当前时刻是否为周期时刻,若是则根据更新规则更新候选参与节点列表PL,否则获取上一周期时刻更新的候选参与节点列表PL;
共识模块,用于确定当前任务周期中的当前任务,并根据上一任务的随机数产生所述当前任务的随机数;根据当前任务的随机数,从当前任务周期的候选参与节点列表PL中选择出一个参与节点,作为当前任务的执行节点并达成共识;
所述执行节点确定当前任务的执行方式和执行内容,候选参与节点列表PL中的其它参与节点对执行节点发布的当前任务的执行方式和执行内容进行验证,并在验证通过后执行当前任务。
6.根据权利要求5所述的一种基于预定义执行代码的分布式系统共识系统,其中,所述初始模块包括,
初始列表模块,用于确定初始参与节点列表L和/或任务周期;
更新规则模块,用于确定分布式系统中每个任务周期的候选参与节点列表PL的更新规则;
存储模块,用于将初始参与节点列表、初始预定义任务和/或更新规则保存在初始化模块中。
7.根据权利要求5或6所述的一种基于预定义执行代码的分布式系统共识系统,其中,所述周期模块包括,
任务周期模块,用于每个参与节点轮询执行完成初始任务周期的任务;
时刻检测模块,用于检测当前时刻是否为分布式系统的周期时刻,若是则按照更新规则更新参与节点列表,否则读取上一周期时刻的参与节点列表;
任务模块,用于读取当前任务周期的任务列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海朝夕网络技术有限公司,未经上海朝夕网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910672698.4/1.html,转载请声明来源钻瓜专利网。