行业标准网
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210750986.9 (22)申请日 2022.06.29 (71)申请人 蚂蚁区块链科技 (上海) 有限公司 地址 200010 上海市黄浦区外马路618号8 层803室 (72)发明人 王江  (74)专利代理 机构 北京亿腾知识产权代理事务 所(普通合伙) 11309 专利代理师 张静娟 周良玉 (51)Int.Cl. G06F 16/215(2019.01) G06F 16/27(2019.01) G06Q 40/04(2012.01) H04L 9/32(2006.01) (54)发明名称 一种预执行缓存数据清理方法和区块链节 点 (57)摘要 一种预执行数据 清理方法和区块链节 点, 所 述方法包括: 获取已生成的第一区块包括的多个 交易的标识; 对于所述多个交易中的第一交易, 根据所述第一交易的标识在内存中读取所述第 一交易在预执行时写入的第一变量的第一状态 信息; 从内存中存储的预执行状态 集中读取所述 第一变量的第二状态信息; 在所述第一状态信息 与所述第二状态信息一致时, 在所述预执行状态 集中删除所述第一变量的状态数据。 权利要求书2页 说明书13页 附图3页 CN 115098483 A 2022.09.23 CN 115098483 A 1.一种预 执行数据清理方法, 由区块链 节点执行, 所述方法包括: 获取已生成的第一区块包括的多个交易的标识; 对于所述多个交易中的第 一交易, 根据所述第 一交易的标识在内存中读取所述第 一交 易在预执行时写入的第一变量的第一状态信息; 从内存中存 储的预执行状态集中读取 所述第一变量的第二状态信息; 在所述第一状态信 息与所述第 二状态信 息一致时, 在所述预执行状态集中删除所述第 一变量的状态数据。 2.根据权利要求1所述的方法, 在内存中读取所述第一交易在预执行时写入的第一变 量的第一状态信息包括, 在内存中读取所述第一交易在预执行时写入的第一变量的第一版 本号, 所述第一版本号与所述第一变量的第一状态对应, 所述第二状态信息为与所述第一 变量的第二状态对应的第二版本号。 3.根据权利要求1或2所述的方法, 还包括: 在所述第一状态信息与所述第二状态信息 不一致时, 保留所述预 执行状态集中的所述第一变量的状态数据。 4.根据权利要求1或2所述的方法, 还包括: 当在所述预执行状态集中删除所述第一变 量的状态数据之后, 在所述内存中删除所述第一交易在预执行时写入的第一变量的第一状 态信息。 5.根据权利要求1或2所述的方法, 所述获取已生成的第 一区块包括的多个交易的标识 包括, 在生成第二区块之后, 确定所述内存中存储的数据量是否达到阈值, 在确定达到阈值 时, 从所述内存获取 预先存储的第一区块包括的多个交易的标识。 6.根据权利要求5所述的方法, 还包括, 在确定未达到阈值时, 在所述内存存储所述第 二区块包括的多个交易的标识。 7.根据权利要求5所述的方法, 所述第 一区块为在所述第 二区块之前生成的、 与所述第 二区块相差预设区块数的区块。 8.根据权利要求1或2所述的方法, 还 包括: 预执行接收的第一交易, 生成第一交易的预执行写集, 所述预执行写集包括所述第一 变量的键和第一状态; 从所述预执行状态集读取所述第 一变量的第 三版本号, 基于所述第 三版本号得到所述 第一版本号; 根据所述预 执行写集和所述第一版本号更新所述预 执行状态集; 在所述内存中与所述第一交易的标识关联存 储的所述第一变量的键和第一版本号。 9.根据权利要求8所述的方法, 所述预执行接收的第 一交易包括: 基于所述预执行状态 集预执行所述第一交易, 所述根据 所述预执行写集和所述第 一版本号更新所述预执行状态集包括: 在预执行完 第一交易之后, 对所述第一交易进行如下处理: 确定所述第一交易的预执行读集是否与所 述预执行状态集存在冲突, 其中, 在确定不存在冲突的情况中, 基于所述第一交易的预执行 写集和所述第一版本号更新所述预执行状态集, 将所述第一交易顺序 记录到预执行交易集 合中, 作为所述第一交易的预 执行顺序。 10.根据权利要求9所述的方法, 其中, 所述确定所述第一交易的预执行读集是否与所 述预执行状态集存在冲突包括, 确定所述预执行状态集中是否包括所述第一交易的预执行权 利 要 求 书 1/2 页 2 CN 115098483 A 2读集中的第二变量, 在确定所述预执行状态集中包括所述第二变量的情况中, 确定所述预 执行状态集中的所述第二变量的状态与所述预执行读集中的所述第二变量的状态是否一 致, 如果不一致, 则确定所述第一交易的预 执行读集与所述预 执行状态集存在冲突。 11.根据权利要求1所述的方法, 其中, 所述内存为所述区块链节点中用于提供缓存服 务的进程的内存。 12.一种区块链 节点, 包括: 获取单元, 用于获取已生成的第一区块包括的多个交易的标识; 读取单元, 用于对于所述多个交易中的第一交易, 根据所述第一交易的标识在内存中 读取所述第一交易在预执行时写入的第一变量的第一状态信息; 从 内存中存储的预执行状 态集中读取 所述第一变量的第二状态信息; 删除单元, 用于在所述第一状态信息与所述第二状态信息一致时, 在所述预执行状态 集中删除所述第一变量的状态数据。 13.根据权利要求12所述的区块链节点, 所述读取单元具体用于, 在内存中读取所述第 一交易在预执行时写入的第一变量的第一版本号, 所述第一版本号与所述第一变量的第一 状态对应, 所述第二状态信息为与所述第一变量的第二状态对应的第二版本号。 14.一种计算机可读存储介质, 其上存储有计算机程序, 当所述计算机程序在计算机中 执行时, 令计算机执 行权利要求1 ‑11中任一项所述的方法。 15.一种区块链节点, 包括存储器和 处理器, 所述存储器中存储有可执行代码, 所述处 理器执行所述可执行代码时, 实现权利要求1 ‑11中任一项的所述的方法。权 利 要 求 书 2/2 页 3 CN 115098483 A 3

PDF文档 专利 一种预执行缓存数据清理方法和区块链节点

文档预览
中文文档 19 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种预执行缓存数据清理方法和区块链节点 第 1 页 专利 一种预执行缓存数据清理方法和区块链节点 第 2 页 专利 一种预执行缓存数据清理方法和区块链节点 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-03-03 12:16:48上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。