基于区块链的数据查询方法、装置、系统、设备、介质和程序产品制造方法及图纸

技术编号:35013101 阅读:15 留言:0更新日期:2022-09-21 15:09
本公开提供了一种基于区块链的数据查询方法,可以应用于区块链技术领域。该基于区块链的数据查询方法包括:响应于查询请求,调用物化视图中的查询数据;在调用物化视图中的查询数据失败的情况下,将所述查询请求交由其他区块链节点执行共识操作,以获取共识结果;基于所述共识结果对所述物化视图执行维护操作,其中,所述共识操作和所述维护操作是并行执行的,在同一轮并行执行的所述共识操作和所述维护操作是针对不同的所述查询请求的;以及基于所述维护操作后的物化视图返回所述查询数据,或者基于所述共识结果,返回所述查询数据。本公开还提供了一种基于区块链的数据查询方法、装置、系统、设备、介质和程序产品。介质和程序产品。介质和程序产品。

【技术实现步骤摘要】
基于区块链的数据查询方法、装置、系统、设备、介质和程序产品


[0001]本公开涉及区块链
,具体的涉及一种基于区块链的数据查询方法、装置、系统、设备、介质和程序产品。

技术介绍

[0002]区块链具有去中心化、难篡改及可追溯等特性,已经广泛应用于金融、民生等领域。区块链上的交易数据均按照提交时间顺序存储,同类交易数据多分散于多个不连续的区块中,使得在查询历史交易数据时,需要对所有的区块进行扫描,进而,导致效率低下、不支持复杂查询等问题。
[0003]而现有技术中,常用的提升区块链查询性能的方法是使用索引查询,但是,在数据量较大且数据分散于多个区块时,使用索引进行查询会产生非常大的开销,使得无法改善查询效率。

技术实现思路

[0004]鉴于上述问题,本公开提供了提高数据查询效率的一种基于区块链的数据查询方法、装置、系统、设备、介质和程序产品。
[0005]根据本公开的第一个方面,提供了一种基于区块链的数据查询方法,包括:响应于查询请求,调用物化视图中的查询数据;在调用物化视图中的查询数据失败的情况下,将所述查询请求交由其他区块链节点执行共识操作,以获取共识结果;基于所述共识结果对所述物化视图执行维护操作,其中,所述共识操作和所述维护操作是并行执行的,在同一轮并行执行的所述共识操作和所述维护操作是针对不同的所述查询请求的;以及基于所述维护操作后的物化视图返回所述查询数据,或者基于所述共识结果,返回所述查询数据。
[0006]根据本公开的实施例,其中,所述共识操作包括:记账节点基于接收到的所述查询请求,执行智能合约,得到背书结果;共识节点将接收到的所述背书结果排序共识,得到所述共识结果。
[0007]根据本公开的实施例,其中,所述基于所述共识结果对所述物化视图执行维护操作,包括:基于所述共识结果,创建数据增量记录;以及基于所述增量记录,建立维护任务,其中,所述维护任务按照队列处理,不同的所述维护任务在队列中包括不同的处理优先级。
[0008]根据本公开的实施例,其中,所述增量记录包括表名,所述基于所述共识结果,创建数据增量记录包括:基于所述表名将所述数据增量记录分组写入不同缓冲区,其中,所述缓冲区采用字典树对所述表名进行索引。
[0009]根据本公开的实施例,其中,所述增量记录还包括行集,所述维护任务包括:基于所述查询请求,将所述行集写入预设的视图信息集,以完成物化视图的更新。
[0010]根据本公开的实施例,其中,所述共识操作和所述维护操作是并行执行的,在同一轮并行执行的所述共识操作和所述维护操作是针对不同的所述查询请求的,包括:首轮的
所述共识操作与视图初始化操作并行,第N轮的所述共识操作与第N

1轮的维护操作并行。
[0011]本公开的第二个方面,提供了一种基于区块链的数据查询装置,所述装置包括:第一查询模块、区块链共识模块、物化视图维护模块以及第二查询模块,其中,所述第一查询模块,用于响应于查询请求,调用物化视图中的查询数据;所述区块链共识模块,用于在调用物化视图中的查询数据失败的情况下,将所述查询请求交由其他区块链节点执行共识操作,以获取共识结果;所述物化视图维护模块,用于基于所述共识结果对所述物化视图执行维护操作,其中,所述共识操作和所述维护操作是并行执行的,在同一轮并行执行的所述共识操作和所述维护操作是针对不同的所述查询请求的;以及所述第二查询模块,用于基于所述维护操作后的物化视图返回所述查询数据,或者基于所述共识结果,返回所述查询数据。
[0012]根据本公开的实施例,所述区块链共识模块,还用于记账节点基于接收到的所述查询请求,执行智能合约,得到背书结果;共识节点将接收到的所述背书结果排序共识,得到所述共识结果。
[0013]根据本公开的实施例,所述物化视图维护模块,还用于基于所述共识结果,创建数据增量记录;以及基于所述增量记录,建立维护任务,其中,所述维护任务按照队列处理,不同的所述维护任务在队列中包括不同的处理优先级。
[0014]根据本公开的实施例,其中,所述增量记录包括表名,所述物化视图维护模块,还用于基于所述表名将所述数据增量记录分组写入不同缓冲区,其中,所述缓冲区采用字典树对所述表名进行索引。
[0015]根据本公开的实施例,其中,所述增量记录还包括行集,所述物化视图维护模块,还用于基于所述查询请求,将所述行集写入预设的视图信息集,以完成物化视图的更新。
[0016]根据本公开的实施例,其中,所述共识操作和所述维护操作是并行执行的,在同一轮并行执行的所述共识操作和所述维护操作是针对不同的所述查询请求的,包括:首轮的所述共识操作与视图初始化操作并行,第N轮的所述共识操作与第N

1轮的维护操作并行。
[0017]本公开的第三个方面,提供了一种基于区块链的数据查询系统,所述系统包括客户端、查询节点、记账节点以及共识节点:所述查询节点,被配置为响应于来自所述客户端的查询请求,调用物化视图中的查询数据;所述查询节点,还被配置为在调用物化视图中的查询数据失败的情况下,将所述查询请求转发至所述记账节点,以执行共识操作;所述记账节点,被配置为基于接收到的所述查询请求,执行智能合约,得到背书结果;所述共识节点,被配置为将接收到的所述背书结果排序共识,得到所述共识结果;所述查询节点,还被配置为基于所述共识结果对所述物化视图执行维护操作,其中,所述共识操作和所述维护操作是并行执行的,在同一轮并行执行的所述共识操作和所述维护操作是针对不同的所述查询请求的;以及所述查询节点,还被配置为基于所述维护操作后的物化视图返回所述查询数据,或者基于所述共识结果,返回所述查询数据。
[0018]本公开的第四个方面,提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述基于区块链的数据查询方法。
[0019]本公开的第五个方面,还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述基于区块链的数据查询方法。
[0020]本公开的第六个方面,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述基于区块链的数据查询方法。
附图说明
[0021]通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
[0022]图1A示意性示出了根据本公开实施例的基于区块链的数据查询的应用场景图。
[0023]图1B示意性示出了根据本公开实施例的基于区块链的数据查询的系统示意图。
[0024]图2示意性示出了根据本公开实施例的基于区块链的数据查询方法的流程图。
[0025]图3示意性示出了根据本公开实施例的维护物化视图的方法流程图。
[0026]图4示意性示出了根据本公开实施例的共识操作和物化视图维护操作时序图。
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据查询方法,包括:响应于查询请求,调用物化视图中的查询数据;在调用物化视图中的查询数据失败的情况下,将所述查询请求交由其他区块链节点执行共识操作,以获取共识结果;基于所述共识结果对所述物化视图执行维护操作,其中,所述共识操作和所述维护操作是并行执行的,在同一轮并行执行的所述共识操作和所述维护操作是针对不同的所述查询请求的;以及基于所述维护操作后的物化视图返回所述查询数据,或者基于所述共识结果,返回所述查询数据。2.根据权利要求1所述的方法,其中,所述共识操作包括:记账节点基于接收到的所述查询请求,执行智能合约,得到背书结果;共识节点将接收到的所述背书结果排序共识,得到所述共识结果。3.根据权利要求1所述的方法,其中,所述基于所述共识结果对所述物化视图执行维护操作,包括:基于所述共识结果,创建数据增量记录;以及基于所述增量记录,建立维护任务,其中,所述维护任务按照队列处理,不同的所述维护任务在队列中包括不同的处理优先级。4.根据权利要求3所述的方法,其中,所述增量记录包括表名,所述基于所述共识结果,创建数据增量记录包括:基于所述表名将所述数据增量记录分组写入不同缓冲区,其中,所述缓冲区采用字典树对所述表名进行索引。5.根据权利要求4所述的方法,其中,所述增量记录还包括行集,所述维护任务包括:基于所述查询请求,将所述行集写入预设的视图信息集,以完成物化视图的更新。6.根据权利要求1所述的方法,其中,所述共识操作和所述维护操作是并行执行的,在同一轮并行执行的所述共识操作和所述维护操作是针对不同的所述查询请求的,包括:首轮的所述共识操作与视图初始化操作并行,第N轮的所述共识操作与第N

1轮的维护操作并行。7.一种基于区块链的数据查询装置,所述装置包括:第一查询模块、区块链共识模块、物化视图维护模块以及第二查询模块,其中,所述第一查询模块,用于响应于查询请求,调用物...

【专利技术属性】
技术研发人员:马爱莲刘彦平黄剑林国斌
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1