一种面向对象的区块链查询方法和装置制造方法及图纸

技术编号:26790898 阅读:18 留言:0更新日期:2020-12-22 17:06
本发明专利技术提出一种面向对象的区块链查询方法和装置,使区块链查询功能更加高效、可扩展性更高,适用更多的业务场景。方法和装置基于区块链查询语言BQL(Blockchain Query Language)设计,BQL查询装置包括交易业务缓存池pool和BQL解析器。BQL查询方法流程为:(1)系统启动时初始化交易缓存池pool,区块链数据中的应用数据字段转换为对象格式,一同存入pool;(2)用户输入或应用构建查询条件;(3)系统将查询条件转化为BQL对象;(4)BQL解析器解析BQL对象;(5)缓存池pool根据解析后的逻辑筛选数据并将结果返回;(6)可选地,系统根据返回结果的交易哈希值进行链上查询,或将返回的结果进行哈希校验;(7)数据返回至应用端。

【技术实现步骤摘要】
一种面向对象的区块链查询方法和装置
本专利技术属于区块链技术及数据处理
,特别涉及区块链数据的查询方法、装置的设计。
技术介绍
区块链的数据采用增量存储的模式,以区块数据和交易数据为主。目前的区块链块数据或交易数据的查询,主要使用遍历查询、基于哈希的查询和基于块高度的查询等方式。这种设计方式下,应用程序会存储上链数据对应的链上哈希,基于应用数据提供的哈希值进行查询,但无法提供基于复合条件的链上查询或范围数据的链上查询,灵活度极低。随着区块链技术的发展,区块链的应用场景不断丰富,查询需求更加多变,现有的基于哈希等条件的链上查询方式无法满足应用需要。例如,当我们在某一存有用户信息的区块链上查询年龄大于18的所有用户列表时,传统的区块链查询处理方法只能将所有交易数据进行遍历,每个交易提取应用数据段(data数据)进行解析,获取其中年龄字段对应的数值,大于18的通过筛选。当区块链的整体账本较大时,这种查询方式需要的时间成本较高,难以满足应用的效率要求。因此本专利技术提出一种面向对象的区块链查询语言BQL及其处理方法和装置,使原本低本文档来自技高网...

【技术保护点】
1.一种面向对象的区块链查询方法和装置,其查询装置特征为:/n(1)交易业务缓存池pool,缓存区块链数据进行格式转换后的交易业务数据,以支持查询;/n(2)BQL(Blockchain Query Language)解析器,解析BQL查询语言对象,并转换成编程语言可识别的逻辑查询条件;其中,BQL对象基本结构包括:/n(2.1)page:用于处理分页查询场景;/n(2.2)condition:查询条件,包括:/n(2.2a)key:条件名称;/n(2.2b)value:条件值;/n(2.2c)relationship:key和value的关系;/n(2.3)conjunction:连接词,与...

【技术特征摘要】
1.一种面向对象的区块链查询方法和装置,其查询装置特征为:
(1)交易业务缓存池pool,缓存区块链数据进行格式转换后的交易业务数据,以支持查询;
(2)BQL(BlockchainQueryLanguage)解析器,解析BQL查询语言对象,并转换成编程语言可识别的逻辑查询条件;其中,BQL对象基本结构包括:
(2.1)page:用于处理分页查询场景;
(2.2)condition:查询条件,包括:
(2.2a)key:条件名称;
(2.2b)value:条件值;
(2.2c)relationship:key和value的关系;
(2.3)conjunction:连接词,与下一个condition之间的连接关系。


2.根据权利要求书1所述一种面向对象的区块链查询方法和装置,其查询方法特征为,其处理流程如下:
(1)系统启动时初始化交易缓存池pool,区块链数据中的应用数据字段转换为对象格式,一同存入pool;
...

【专利技术属性】
技术研发人员:蔡维德
申请(专利权)人:北京天德科技有限公司天民青岛国际沙盒研究院有限公司
类型:发明
国别省市:北京;11

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

1