[发明专利]内部松耦合的共识方法、系统、电子设备有效
申请号: | 201910851452.3 | 申请日: | 2019-09-10 |
公开(公告)号: | CN110618841B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 高亦民;叶嘉雨 | 申请(专利权)人: | 杭州秘猿科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 杭州天昊专利代理事务所(特殊普通合伙) 33283 | 代理人: | 刘芬豪 |
地址: | 310000 浙江省杭州市西湖区文三路*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内部 耦合 共识 方法 系统 电子设备 | ||
1.一种内部松耦合的共识系统,其特征在于,包括状态存储模块、状态机模块、定时器模块和预写日志模块,
所述状态存储模块用于接收消息,对消息进行验证签名、校验、存储,然后发送至状态机模块进行状态变更,并监听状态机模块抛出的事件,根据抛出的事件作出对应的逻辑;
所述状态机模块用于状态的变更和锁的控制,当收到消息触发时,根据收到的消息做出相应的状态变更,并将该变更后的状态作为事件抛出;
所述定时器模块用于根据状态机抛出的事件设置对应的定时器,当定时器到达超时时间的时候调用状态机接口唤醒状态机;
所述预写日志模块用于被状态存储模块调用去读或写预写日志;
状态机模块抛出事件包括进入新的轮次事件,包含新的轮次,可选的锁定的轮次,可选的锁定的提议,
状态存储模块收到此进入新的轮次事件之后将自己的轮次更新,判断自己是不是该轮次的提议节点,如果不是,不做任何处理,等待下一个消息;如果是该轮次的提议节点,则判断是否有锁定,如果有锁定则提出锁定的提议,如果没有锁定则提出一个新的提议;
定时器模块收到此进入新的轮次事件之后将自己的轮次更新,然后设定一个提议定时器;
状态机模块抛出事件包括预投票事件,包含第一哈希,
状态存储模块收到此预投票事件之后对此第一哈希投出预投票;
定时器模块收到此预投票事件之后设定预投票定时器;
状态机抛出事件包括预提交事件,包含第二哈希,
状态存储模块收到这个事件之后对此第二哈希投出预提交;
定时器模块收到这个事件之后设定一个预提交定时器;
状态机抛出事件包括提交事件,包含第三哈希,
状态存储模块收到这个事件之后对此第三哈希对应的区块进行提交;
状态机抛出事件包括停止事件,整个共识停止工作。
2.如权利要求1所述的内部松耦合的共识系统,其特征在于,其共识过程如下:
启动共识之后,所述状态机模块最先初始化,之后预写日志模块初始化,最后状态存储模块和定时器初始化;
状态存储模块调用预写日志模块读取之前写入的日志,根据读取信息输入给状态机模块进行状态变更;
之后循环并行如下动作:
当状态存储模块收到消息时,进行验证签名、校验通过之后,输入给状态机模块进行状态变更,状态存储模块和定时器模块监听状态机模块抛出的事件,根据此时抛出的事件,状态存储模块做作出对应的逻辑,定时器模块设定对应的定时器;
当定时器时间到达超时时间的时候,定时器模块输入状态机模块,之后继续监听事件,此时状态存储模块和定时器模块监听状态机抛出的事件,根据状态机抛出的事件,状态存储模块做相应的操作,定时器模块设定对应的定时器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州秘猿科技有限公司,未经杭州秘猿科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910851452.3/1.html,转载请声明来源钻瓜专利网。