利索能及
我要发布
收藏
专利号: 2020103297566
申请人: 深圳市启迪网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种区块链上分布式锁实现方法,包括授权分发中心和多个应用服务器,以及一个区块链上智能合约,其特征在于,预先各应用服务器设定自身唯一的区块链密钥对,授权分发中心在区块链上部署智能合约,调用合约接口给各类锁设定所授权的应用服务器列表,应用服务器调用合约接口实现加锁及解锁;

所述授权分发中心部署区块链上智能合约,调用智能合约接口,维护每类锁所授权的应用服务器的列表;

所述应用服务器内设定有唯一的区块链密钥对,调用区块链上智能合约的加锁或解锁接口,实现加锁及解锁;

所述区块链上智能合约内存储有按名字分类的多个锁,分类内有多个按照锁ID识别的锁,并对外提供维护锁分类、加锁、解锁调用接口;

所述的区块链上分布式锁实现方法,具体包括以下步骤:

S001:授权分发中心在区块链上部署一个智能合约C,各应用服务器设为T,应用服务器维护其自身唯一密钥对,并设定密钥对对应的区块链地址分别为T1,T2,...;

S002:授权分发中心针对某类锁L,调用C上的授权接口,包括参数L授权的应用服务器地址列表,每次调用将覆盖原L同名的授权设置;

S003:断言:若存在记录,且T的区块链地址在列表内,则执行S004,反之,执行S006;

S004:C根据锁类型L及锁ID查找加锁表,找出对应的记录R,C上存储有锁类型授权表,记录类型为:锁类名L,授权的区块链地址列表;应用服务器有加锁表,记录类型为: 锁类型L的识别ID,锁持有者地址和锁超时时间;

S005:断言:若不存在R,或R的持有者T时,或R的锁超时时间早于链上当前时间,则执行S006,反之,则执行S007;

S006:操作失败,输出结束;

S007:若存在R,先删除R,增加记录到加锁表,记录内容包括锁类型L的识别ID,T地址,链上当前时间;

S008:已成功加锁,应用服务器执行加锁后的对应业务逻辑,应用服务器加锁时,用本身的唯一密钥对来签名调用C上的加锁接口,加锁接口包括锁类型L的识别ID和最大加锁秒数,若返回成功则加锁成功;

S009:T签名调用C上的解锁接口,C根据锁类型L及锁类型L的识别ID查找加锁表,找出对应的记录R,应用服务器解锁时,用本身的唯一密钥对来签名调用C上的解锁接口,解锁接口包括锁类型L的识别ID;

S010:断言:存在R,且R上的持有者是T,且加锁超时时间晚于链上当前时间,则执行S011,反之,执行S012;

S011:删除R,解锁结束;

S012:操作成功,输出结束。