全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211167225.7 (22)申请日 2022.09.23 (71)申请人 西安理工大 学 地址 710048 陕西省西安市金花 南路5号 (72)发明人 王一川 王子炎 张亚玲 刘小雪  朱磊 宋昕  (74)专利代理 机构 北京国昊天诚知识产权代理 有限公司 1 1315 专利代理师 李潇 (51)Int.Cl. G06F 16/23(2019.01) G06F 16/27(2019.01) G06Q 40/04(2012.01) G06F 9/52(2006.01) (54)发明名称 跨链中继机制的账户序号 一致性保障方法 (57)摘要 本发明实施例是关于一种跨链中继机制的 账户序号一致性保障方法, A具体为: 中继器组维 护一个记录了中继账户历史序号LastSequence 的数据表, 对所有的LastSequence进行初始化; 跨链通信过程中, 当中继账户拟签署一个跨链交 易时, 中继器将通过目标区块链的auth模块获得 中继账户序号, 随后, 中继器将对访问数据库中 对应的LastSequenc e进行互斥锁竞争; 当中继器 竞争到该 互斥锁后, 将从数据库中获取该中继账 户的LastSequenc e, 并与从区块链获得的账户序 号进行比对; 最后, 中继账户借助中继器将修正 后的账户序号附加到交易中, 并完成交易签署和 广播等后续工作。 本发明解决了该跨链模式中因 高并发高负载, 导致跨链交易的账户序号出现错 误, 进而导致交易验证失败和跨链连接失效的问 题。 权利要求书2页 说明书7页 附图6页 CN 115455022 A 2022.12.09 CN 115455022 A 1.一种跨链中继机制的账户序号 一致性保障方法, 其特 征在于, 包括: S1: 中继器组共 同维护一个记录中继账户信息的数据库, 用于在跨链通信过程中记录 和校验中继账户的关键信息; S2: 跨链通信过程中, 中继器从目标链获取中继账户的当前 账户序号Sequence; S3: 中继器向中继账户信息数据库发送查询请求, 获取该账户存储于数据库中的历史 序号LastSequence; S4: 中继器利用从数据库获得的LastSequence与从目标区块链获得的中继账户 序号 Sequence进行比对和修 正; S5: 中继器将修正后的账户序号写入数据库, 将LastSequence更新为修正后的 Sequence; S6: 中继器将修 正后的账户序号附加到跨链交易中, 并对交易进行签名和广播。 2.根据权利要求1所述的跨链中继机制的账户序号一致性保障方法, 其特征在于, 所述 步骤S1具体是: S101: 中继器组获取所有与组内中继器连接的区块链的关键信息, 包括区块链的唯一 标识ID、 中继账户在区块链上的地址信息Address、 中继账户在区块链上的初始账户序号 Sequence; S102: 中继器组按照<ID ‑Address, LastSequence>的格式编排上述信息, 其中, ID ‑ Address表示键, 为 LastSequence为对应键的值; S103: 将所有的<ID ‑Address, LastSequence >键值对存储到数据库中。 3.根据权利要求2所述的跨链中继机制的账户序号一致性保障方法, 其特征在于, 所述 步骤S2具体是: S201: 中继器向目标区块链发送中继账户信息查询请求, 该请求信息通过传输层转发 至目标区块链; S202: 目标区块链获取请求后, 由auth模块 查询中继账户的信息并生成查询结果; S203: 中继器查询并捕获目标区块链auth模块生成的查询结果, 并从中选取出账户序 号Sequence。 4.根据权利要求3所述的跨链中继机制的账户序号一致性保障方法, 其特征在于, 所述 步骤S3具体是: S301: 中继器在访问数据库中的中继账户的LastSequence之前, 将进行互斥锁竞争; 若 获取到则跳转到S3 02, 否则跳转至S3 01重新等待下一轮竞争; S302: 中继器获取目标区块链的ID及 中继账户Address, 并以ID ‑Address为键, 在数据 库中查询并返回对应的值 LastSequence。 5.根据权利要求4所述的跨链中继机制的账户序号一致性保障方法, 其特征在于, 所述 步骤S301具体是: 1)中继器组连接到后台的Redis数据库, 该数据库用于实现中继器竞争互斥锁; 同时, 每个中继器均会分配一个唯一标识进程的U UID; 2)中继器通过消息队列检查并等待拟获取的互斥 锁是否已处于释放状态; 3)中继器以ID ‑Address为键, 使用SETNX命令尝试向Redis数据库写入当前进程的 UUID, 并设置写入值的超时 时间ExpireTime;权 利 要 求 书 1/2 页 2 CN 115455022 A 24)Redis向中继器返回值, 如果值为1, 证明写入成功, 同时也证明在此之前没有其他进 程给同样的键写入值, 即互斥锁是可获取的; 如果返回0, 证明写入失败, 同时也证明在此之 前已有其他进程给同样的键写入值, 即互斥锁已被占用, 该进程跳转回步骤2)重新尝试竞 争互斥锁。 6.根据权利要求4或5所述的跨链中继机制的账户序号一致性保障方法, 其特征在于, 所述步骤S4具体是: S401: 将获取到的Sequence与数据库中存储的LastSequence进行对比, 若Sequence小 于等于LastSequence则跳转到S402, 否则跳转到S40 3; S402: 将Sequence的值 修正为LastSequence+1; S403: 中继器将Sequence附加到跨链交易中, 等待交易的签署和广播。 7.根据权利要求6所述的跨链中继机制的账户序号一致性保障方法, 其特征在于, 所述 步骤S5具体是: S501: 以ID‑Address为键, 将数据库中对应的值 LastSequence 更新为Sequence; S502: 中继器释放先 前竞争到的互斥 锁, 允许其 他阻塞的进程再次竞争 互斥锁。 8.根据权利要求7所述的跨链中继机制的账户序号一致性保障方法, 其特征在于, 所述 步骤S502具体是: 1)中继器以ID ‑Address为键, 使用GET命令查询Redis数据库的值是否与该进程的UUID 相同; 2)如果查询值与UUID相同, 证明此数据 就是该进程写入的; 中继器以ID ‑Address为键, 使用DEL命令清除值; 3)中继器释放互斥锁, 并向消息队列发出互斥锁已释放的消息, 允许其他进程以同样 的方式竞争 互斥锁。权 利 要 求 书 2/2 页 3 CN 115455022 A 3

PDF文档 专利 跨链中继机制的账户序号一致性保障方法

文档预览
中文文档 16 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 跨链中继机制的账户序号一致性保障方法 第 1 页 专利 跨链中继机制的账户序号一致性保障方法 第 2 页 专利 跨链中继机制的账户序号一致性保障方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-07 12:39:54上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。