本公开涉及一种数据查询方法和装置、存储介质和电子设备,所述方法包括:获取查询请求;根据所述查询请求查询的目标数据的类型和/或数量,生成查询语句;将所述查询语句发送至区块链网络中对应的目标接口;接收所述目标接口返回的目标数据。
Data query methods and devices, storage media and electronic equipment
【技术实现步骤摘要】
数据查询方法和装置、存储介质和电子设备
本公开涉及区块链
,具体地,涉及一种数据查询方法和装置、存储介质和电子设备。
技术介绍
区块链技术的迅速发展使区块链逐步应用于了生活、办公等各种场景下,其中,智能合约区块链是区块链上的一种应用服务,它为静态的底层区块链数据赋予了灵活可编程的机制和算法,能够实现区块链数据的控制和管理。常见的智能合约区块链包括以太坊、EOS、Fabric等,但是,由于目前智能合约对区块链外部提供服务时的部分接口能力受限,例如单次查询可返回的数据类型有限等,使得外部对智能合约内的数据内容查询十分繁琐。
技术实现思路
本公开的目的是提供一种数据查询方法和装置、存储介质和电子设备,以解决上述的技术问题。为了实现上述目的,本公开提供一种数据查询方法,所述方法包括:获取查询请求;根据所述查询请求查询的目标数据的类型和/或数量,生成查询语句;将所述查询语句发送至区块链网络中对应的目标接口;接收所述目标接口返回的目标数据。可选地,所述根据所述查询请求查询的目标数据的类型和/或数量,生成查询语句,包括:若所述查询请求查询的目标数据包括两种以上的数据类型,则生成对应每一种所述数据类型的查询语句;所述将所述查询语句发送至所述区块链网络中对应的目标接口,包括:将每一种数据类型对应的查询语句发送至用于查询该种数据类型的目标接口。可选地,所述根据所述查询请求查询的目标数据的类型和/或数量,生成查询语句,包括:确定所述查询请求查询的目标数据的数据类型,以及所述数据类型的目标数据的数量;确定所述数据类型对应的目标接口可返回的最大数据量;根据所述最大数据量和所述数据总量,确定所述查询语句的目标数目;生成所述目标数目的所述查询语句,其中,生成的每一所述查询语句查询的数据量不大于所述最大数据量。可选地,所述查询语句中包括目标区块号,所述目标区块号用于指示开始进行查询的区块。可选地,所述目标区块号为生成所述查询语句时,所述区块链网络中区块链的最新区块号。可选地,所述方法还包括:在接收到多个所述目标接口返回的目标数据的情况下,根据多个所述目标数据生成一条查询结果。可选地,所述查询请求为远程过程调用RPC请求,所述查询语句为RPC请求语句。本公开的第二方面,提供一种数据查询装置,所述装置位于区块链网络中的节点上,所述装置包括:获取模块,用于获取查询请求;生成模块,用于根据所述查询请求查询的目标数据的类型和/或数量,生成查询语句;发送模块,用于将所述查询语句发送至区块链网络中对应的目标接口;接收模块,用于接收所述目标接口返回的目标数据。可选地,所述生成模块,用于生成对应每一种数据类型的查询语句;所述发送模块,用于将每一种数据类型对应的查询语句发送至用于查询该种数据类型的目标接口。可选地,所述生成模块,用于确定所述查询请求查询的目标数据的数据类型,以及所述数据类型的目标数据的数量;确定所述数据类型对应的目标接口可返回的最大数据量;根据所述最大数据量和所述数据总量,确定所述查询语句的目标数目;生成所述目标数目的所述查询语句,其中,生成的每一所述查询语句查询的数据量不大于所述最大数据量。可选地,所述查询语句中包括目标区块号,所述目标区块号用于指示开始进行查询的区块。可选地,所述目标区块号为生成所述查询语句时,所述区块链网络中区块链的最新区块号。可选地,所述装置还包括组装模块,用于在接收到多个所述目标接口返回的目标数据的情况下,根据多个所述目标数据生成一条查询结果。可选地,所述查询请求为远程过程调用RPC请求,所述查询语句为RPC请求语句。本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本公开第一方面中所述方法的步骤。本公开的第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面中所述方法的步骤。通过上述技术方案,根据查询请求中的目标数据的类型或数量,自动生成查询语句,并发送至区块链网络中对应的目标接口,从而获取与查询请求对应的目标数据,过程中只需要用户输入一次查询请求,不需要手动根据数据查询限制将查询请求拆分,就能得到查询请求对应的全部目标数据,提升了区块链网络中数据查询的便捷度。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据一示例性公开实施例示出的一种数据查询方法的流程图。图2是根据一示例性公开实施例示出的一种数据查询过程的示意图。图3是根据一示例性公开实施例示出的一种数据查询装置的框图。图4是根据一示例性公开实施例示出的一种电子设备的框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。首先对本公开的应用场景进行说明。本公开应用于智能合约区块链中,智能合约区块链能够将符合智能合约逻辑的行为通过编码在区块链中实现,从而对区块链数据进行管理和控制。但是,由于智能合约区块链的技术限制,如果外部服务需要获取智能合约区块链中的数据,需要通过查询接口与智能合约进行数据交换,且在一次查询操作中,只能针对一个查询接口获取到一次符合该查询接口的数据类型及数据量制约的数据结果,当外部服务需要查询多类型或大数量的数据时,需要手动根据数据类型或查询接口的最大数据量来制定查询策略,使得数据查询的过程十分繁琐且容易出错。为了解决上述的问题,本公开提出了一种数据查询方法,可以简化数据的查询流程,克服由于区块链接口能力受限导致的数据查询过程繁琐的问题。图1是根据一示例性公开实施例示出的一种数据查询方法的流程图。本方法可以应用于区块链网络节点上的用于查询数据的装置,如图1所示,所述方法包括以下步骤:S11、获取查询请求。其中,所述查询请求可以是由DAPP(DecentralizedApplication,去中心化应用)发送的查询请求,也可以是由其他外部用户或外部应用发起的查询请求。查询请求可以是用于查询一类数据的请求,也可以是用于查询多种数据的复合查询请求。其中,所述查询请求可以是已转化为预设格式的查询代码的形式的请求,也可以是未处理的自然语言文字形式的请求。在获取到的是预设格式的查询请求时,该查询请求可以直接在后续步骤中使用,而在获取到的是自然语言文字格式的查询请求时,可以将自然语言文字格式的查询请求通过文字算法转换成预设的查询请求格式,以便在后续步骤中使用。在本申请中,优选地使用eth_call_ext类型的RPC(RemoteProcessCall,远程过程调用)查询请求的格式作为预设格式。与传统的eth_cal本文档来自技高网...
【技术保护点】
1.一种数据查询方法,其特征在于,所述方法包括:/n获取查询请求;/n根据所述查询请求查询的目标数据的类型和/或数量,生成查询语句;/n将所述查询语句发送至区块链网络中对应的目标接口;/n接收所述目标接口返回的目标数据。/n
【技术特征摘要】
1.一种数据查询方法,其特征在于,所述方法包括:
获取查询请求;
根据所述查询请求查询的目标数据的类型和/或数量,生成查询语句;
将所述查询语句发送至区块链网络中对应的目标接口;
接收所述目标接口返回的目标数据。
2.根据权利要求1所述的数据查询方法,其特征在于,所述根据所述查询请求查询的目标数据的类型和/或数量,生成查询语句,包括:
若所述查询请求查询的目标数据包括两种以上的数据类型,则生成对应每一种所述数据类型的查询语句;
所述将所述查询语句发送至所述区块链网络中对应的目标接口,包括:
将每一种数据类型对应的查询语句发送至用于查询该种数据类型的目标接口。
3.根据权利要求1所述的数据查询方法,其特征在于,所述根据所述查询请求查询的目标数据的类型和/或数量,生成查询语句,包括:
确定所述查询请求查询的目标数据的数据类型,以及所述数据类型的目标数据的数量;
确定所述数据类型对应的目标接口可返回的最大数据量;
根据所述最大数据量和所述数据总量,确定所述查询语句的目标数目;
生成所述目标数目的所述查询语句,其中,生成的每一所述查询语句查询的数据量不大于所述最大数据量。
4.根据权利要求1-3任一项所述的数据查询方法,其特征在于,所述查询语句中包括目标区块号,所述...
【专利技术属性】
技术研发人员:陈敏,
申请(专利权)人:达闼科技成都有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。