[发明专利]一种基于数据库的智能合约数据快速查询方法有效
申请号: | 201911418150.3 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111143476B | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 邱炜伟;匡立中;李伟;尹可挺;梅王清 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F21/64;G06F16/2453 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静 |
地址: | 310051 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据库 智能 合约 数据 快速 查询 方法 | ||
本发明公开了一种基于数据库的智能合约数据快速查询方法,该方法包括以下步骤:首先数据写入方调用智能合约进行数据的写入,并在智能合约中,根据不同的操作类型,记录相应操作的日志,并将日志版本号增加1,数据写入方可进行多次操作,然后查询服务提供方查询智能合约上的最新版本号,并与查询服务提供方的本地版本号进行对比,根据版本号差值查询对应的智能合约中存储的日志集合。最后将数据变化值映射至查询服务提供方本地的数据库,使得数据库中数据和智能合约中数据一致。外部系统以直接查询本地数据库,提高查询效率。本发明调用数据库进行数据查询,相比直接调用智能合约进行数据查询,可大幅提高数据的查询效率。
技术领域
本发明涉及基于区块链的数据存储领域,不同查询效率存储介质的数据同步领域,特别是一种基于数据库的智能合约快速查询方法。
背景技术
区块链技术是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。通俗一点说,区块链技术就指一种全民参与记账的方式。区块链上的交易确认由区块链上的所有节点共识完成,共识成功后打包写入区块。区块链维护一个公共的账本,用于存储区块链网络上所有交易,所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本。那么谁来记这个账本就变得很重要。目前就是谁的系统谁来记账,微信的账本就是腾讯在记,淘宝的账本就是阿里在记。这种方式,我们就称它为区块链技术。
智能合约,从用户角度来讲,智能合约通常被认为是一个自动担保账户,例如,当特定的条件满足时,程序就会释放和转移资金。从技术角度来讲,智能合约被认为是网络服务器,只是这些服务器并不是使用IP地址架设在互联网上,而是架设在区块链上。从而可以在其上面运行特定的合约程序。智能合约是编程在区块链上的汇编语言。通常人们不会自己写字节码,但是会从更高级的语言来编译它,例如Solidity、LLL等语言,通过智能合约可以实现在区块链上的数据存储、读写以及一些逻辑操作,目前大部分的区块链应用都是基于智能合约来运行的。智能合约使用的Solidity语言是图灵完备的,可以实现应用业务逻辑的所有操作。
发明内容
区块链不可篡改的特性可以保证数据的权威性。区块链分布式存储的特性可以在参与方之间部署节点进行数据的同步。区块链上的智能合约可以执行预设逻辑,对存储的数据增加额外的逻辑操作。但是由于区块链需要使用共识这一过程进行数据的同步以及防止篡改,导致了在区块链上进行数据的相关操作相比于传统的数据库效率不高。基于这个问题,本发明提出了一种基于数据库的智能合约数据快速查询方法。
本发明的目的是通过以下技术方案来实现的:一种基于数据库的智能合约数据快速查询方法,该方法包括以下步骤:
(1)智能合约中的交易发起方拥有写入数据的权限,拥有写入权限的交易发起方称为数据写入方,并且需要在智能合约中保存日志版本号,日志版本号为数字,从0开始递增。数据写入方调用智能合约进行数据的写入。
(2)在智能合约中,根据不同的操作类型,记录相应操作的日志,该日志包含操作的类型、数据的变化、时间及其他提前各方协定好的日志内容,数据写入方可进行多次操作,所述不同的操作类型包括增加操作、删除操作和修改操作。
(3)在智能合约中存储记录相应操作后的日志结果,每次操作后将版本号增加1。
(4)查询服务提供方拥有读取智能合约数据的权限,并为外部系统提供查询区块链上智能合约数据的服务,查询服务提供方本地有数据库,数据库中保存了查询服务提供方的本地版本号和数据。查询服务提供方在监听到区块链有新的区块生成或提前预设的数据定时更新任务触发后,查询智能合约上的最新版本号,并与查询服务提供方的本地版本号进行对比。
(5)如果智能合约中存储的最新版本号大于查询服务提供方的本地版本号,则根据版本差值查询对应的智能合约中存储的日志集合。
(6)对查询到的日志集合进行格式解析,解析为具体的增加、删除或修改操作,并根据数据变化值映射至查询服务提供方本地的数据库,使得数据库中数据和智能合约中数据一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911418150.3/2.html,转载请声明来源钻瓜专利网。