[发明专利]一种基于数据库的智能合约数据快速查询方法有效
申请号: | 201911418150.3 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111143476B | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 邱炜伟;匡立中;李伟;尹可挺;梅王清 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F21/64;G06F16/2453 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静 |
地址: | 310051 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据库 智能 合约 数据 快速 查询 方法 | ||
1.一种基于数据库的智能合约数据快速查询方法,其特征在于,该方法包括以下步骤:
(1)智能合约中的交易发起方拥有写入数据的权限,拥有写入权限的交易发起方称为数据写入方,并且需要在智能合约中保存日志版本号,日志版本号为数字,从0开始递增;数据写入方调用智能合约进行数据的写入;
(2)在智能合约中,根据不同的操作类型,记录相应操作的日志,该日志包含操作的类型、数据的变化、时间及其他提前协定好的日志内容,数据写入方可进行多次操作,所述不同的操作类型包括增加操作、删除操作和修改操作;
(3)在智能合约中存储记录相应操作后的日志结果,每次操作后将版本号增加1;
(4)查询服务提供方拥有读取智能合约数据的权限,并为外部系统提供查询区块链上智能合约数据的服务,查询服务提供方本地有数据库,数据库中保存了查询服务提供方的本地版本号和数据;查询服务提供方在监听到区块链有新的区块生成或提前预设的数据定时更新任务触发后,查询智能合约上的最新版本号,并与查询服务提供方的本地版本号进行对比;
(5)如果智能合约中存储的最新版本号大于查询服务提供方的本地版本号,则根据版本差值查询对应的智能合约中存储的日志集合;
(6)对查询到的日志集合进行格式解析,解析为具体的增加、删除或修改操作,并根据智能合约中数据变化值映射至查询服务提供方本地的数据库,使得数据库中数据和智能合约中数据一致;
(7)当外部系统查询时,查询服务提供方可以直接查询本地数据库,不直接通过智能合约,进而提高查询效率。
2.根据权利要求1所述的一种基于数据库的智能合约数据快速查询方法,其特征在于,所述步骤(4)和(5)中,查询服务提供方中的数据库对智能合约中数据进行定时查询,根据智能合约的版本号和本地版本号的差别,进行增量版本之间的日志查询和处理。
3.根据权利要求1所述的一种基于数据库的智能合约数据快速查询方法,其特征在于,步骤(6)和(7)中,通过提前协定的日志格式对查询的日志集合进行解析,对查询服务提供方的本地数据库现有数据进行同步的增加、删除和修改操作;同步后数据库的数据和智能合约中存储的数据一致,后续查询直接通过数据库查询即可。
4.根据权利要求1所述的一种基于数据库的智能合约数据快速查询方法,其特征在于,查询服务提供方还具有数据定时校验任务,具体为,查询服务提供方需要查询智能合约中
存储的全量最新数据,与本地数据库存储的数据进行比对;如果出现数据不一致的情况,
则表明查询服务提供方的本地数据库遭到篡改,需要人工介入处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911418150.3/1.html,转载请声明来源钻瓜专利网。