掌桥专利:专业的专利平台
掌桥专利
首页

账本数据库数据查询方法及装置

文献发布时间:2023-06-19 18:37:28


账本数据库数据查询方法及装置

技术领域

本说明书实施例涉及计算机技术领域,具体地,涉及账本数据库数据查询方法及装置。

背景技术

作为一种分布式账本技术,区块链克服了传统中心化账本的安全性低、易受单点攻击等缺点,具备分布式共享、多方共识、不可篡改和可追溯的安全能力。但区块链技术并不能代替数据库等通用存储技术,因为区块链技术并不具备数据库技术的高性能、低成本、易用能力。

发明内容

本说明书实施例提供了账本数据库数据查询方法,能将数据库技术和区块链技术相结合,从而使得不同机构能借助区块链技术实现数据共享。

第一方面,本说明书实施例提供了一种账本数据库数据查询方法,应用于第一机构的机构设备,包括:向区块链发送第一交易,所述第一交易用于获取已注册的数据服务信息,所述数据服务信息包括第二机构的账本数据库的信息,所述第二机构的账本数据库的信息包括所述第二机构的账本数据库的连接信息;接收所述区块链返回的所述数据服务信息;基于所述数据服务信息,向第二机构的账本数据库发送数据查询请求。

在一些实施例中,所述机构设备是第一机构的账本数据库。

在一些实施例中,所述数据服务信息是第二机构的账本数据库注册到所述区块链中的。

在一些实施例中,所述第二机构的账本数据库的信息还包括,该账本数据库的标识和/或该账本数据库对外公开的数据信息。

在一些实施例中,所述连接信息包括互联网协议IP地址和端口号;所述数据信息包括以下至少一项:数据说明、数据表名、字段名。

在一些实施例中,所述方法还包括:获取第二机构的账本数据库响应于所述数据查询请求而生成的数据查询结果。

在一些实施例中,所述向第二机构的账本数据库发送数据查询请求,包括:直接向第二机构的账本数据库发送数据查询请求;所述获取第二机构的账本数据库响应于所述数据查询请求而生成的数据查询结果,包括:从第二机构的账本数据库接收所述数据查询结果。

在一些实施例中,所述向第二机构的账本数据库发送数据查询请求,包括:向所述区块链发送第二交易,所述第二交易用于发布所述数据查询请求;所述获取第二机构的账本数据库响应于所述数据查询请求而生成的数据查询结果,包括:监听第二机构的账本数据库发布至所述区块链中的所述数据查询结果,从而获取到所述数据查询结果。

在一些实施例中,所述区块链中部署有与数据服务有关的智能合约。

在一些实施例中,所述数据服务信息是第二机构的账本数据库通过调用所述智能合约注册的,并且存储于所述智能合约的状态中;所述第一交易用于调用所述智能合约获取已注册的数据服务信息。

在一些实施例中,所述第二交易用于调用所述智能合约发布所述数据查询请求;以及所述监听第二机构的账本数据库发布至所述区块链中的所述数据查询结果,包括:监听第二机构的账本数据库通过调用所述智能合约发布的所述数据查询结果。

在一些实施例中,所述区块链中存储有第二机构的账本数据库中全部或部分数据的摘要信息。

在一些实施例中,在向区块链发送第一交易之前,还包括:接收第一机构的业务系统发送的针对所述数据服务信息的获取请求;所述基于所述数据服务信息,向第二机构的账本数据库发送数据查询请求,包括:将所述数据服务信息返回给第一机构的业务系统;接收第一机构的业务系统发送的数据查询请求,所述数据查询请求基于所述数据服务信息生成;向第二机构的账本数据库发送所述数据查询请求。

在一些实施例中,所述数据服务信息是第二机构的账本数据库在接收到第二机构的业务系统发送的数据服务注册请求后,注册到所述区块链中的。

在一些实施例中,所述已注册的数据服务信息包括多个机构各自的账本数据库的信息。

第二方面,本说明书实施例提供了一种账本数据库数据查询方法,应用于区块链的节点,包括:接收第一机构的机构设备发送的第一交易,所述第一交易用于获取已注册的数据服务信息,所述数据服务信息包括第二机构的账本数据库的信息,所述第二机构的账本数据库的信息包括所述第二机构的账本数据库的连接信息;通过执行所述第一交易,在所述区块链中获取所述数据服务信息;将所述数据服务信息返回给所述机构设备,以供所述机构设备基于所述数据服务信息,向第二机构的账本数据库发送数据查询请求。

在一些实施例中,所述机构设备是第一机构的账本数据库。

在一些实施例中,所述方法还包括:接收第一机构的账本数据库发送的第二交易,所述第二交易用于发布数据查询请求,所述数据查询请求基于所述数据服务信息生成;通过执行所述第二交易,将所述数据查询请求存储到所述区块链中,以供第二机构的账本数据库获取。

在一些实施例中,在将所述数据查询请求存储到所述区块链中之后,还包括:接收第二机构的账本数据库发送的第三交易,所述第三交易用于发布数据查询结果,所述数据查询结果是该账本数据库在监听到所述区块链上的所述数据查询请求后生成的;通过执行所述第三交易,将所述数据查询结果存储到所述区块链中,以供第一机构的账本数据库获取。

在一些实施例中,在所述接收第一机构的机构设备发送的第一交易之前,还包括:接收第二机构的账本数据库发送的第四交易,所述第四交易用于注册所述数据服务信息;通过执行所述第四交易,将所述数据服务信息存储到所述区块链中。

第三方面,本说明书实施例提供了一种账本数据库数据查询装置,应用于第一机构的机构设备,包括:发送单元,被配置成向区块链发送第一交易,所述第一交易用于获取已注册的数据服务信息,所述数据服务信息包括第二机构的账本数据库的信息,所述第二机构的账本数据库的信息包括所述第二机构的账本数据库的连接信息;接收单元,被配置成接收所述区块链返回的所述数据服务信息;处理单元,被配置成基于所述数据服务信息,向第二机构的账本数据库发送数据查询请求。

第四方面,本说明书实施例提供了一种账本数据库数据查询装置,应用于区块链的节点,包括:接收单元,被配置成接收第一机构的机构设备发送的第一交易,所述第一交易用于获取已注册的数据服务信息,所述数据服务信息包括第二机构的账本数据库的信息,所述第二机构的账本数据库的信息包括所述第二机构的账本数据库的连接信息;交易执行单元,被配置成通过执行所述第一交易,在所述区块链中获取所述数据服务信息;发送单元,被配置成将所述数据服务信息返回给所述机构设备,以供所述机构设备基于所述数据服务信息,向第二机构的账本数据库发送数据查询请求。

第五方面,本说明书实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,当该计算机程序在计算机中执行时,令该计算机执行如第一方面和第二方面中任一实现方式描述的方法。

第六方面,本说明书实施例提供了一种计算设备,包括存储器和处理器,其中,该存储器中存储有可执行代码,该处理器执行该可执行代码时,实现如第一方面和第二方面中任一实现方式描述的方法。

第七方面,本说明书实施例提供了一种计算机程序,其中,当该计算机程序在计算机中执行时,令该计算机执行如第一方面和第二方面中任一实现方式描述的方法。

本说明书的上述实施例提供的方案,可以使得第一机构的机构设备向区块链发送第一交易,第一交易用于获取已注册的数据服务信息,该数据服务信息包括第二机构的账本数据库的信息,该第二机构的账本数据库的信息包括第二机构的账本数据库的连接信息。之后,该机构设备可以接收区块链返回的该数据服务信息,并基于该数据服务信息,向第二机构的账本数据库发送数据查询请求。由此,该方案能将数据库技术和区块链技术相结合,从而使得不同机构能借助区块链技术实现数据共享。

附图说明

为了更清楚地说明本说明书披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本说明书根据一示例性实施例示出的一种区块链架构图;

图2是账本数据库网络的组成结构的一个示意图;

图3是账本数据库的数据服务信息注册过程的一个示意图;

图4是账本数据库数据查询方法的一个实施例的示意图;

图5是账本数据库数据查询方法的一个实施例的示意图;

图6是数据查询过程的一个示意图;

图7是数据查询过程的一个示意图;

图8是账本数据库数据查询装置的一个结构示意图;

图9是账本数据库数据查询装置的一个结构示意图。

具体实施方式

下面结合附图和实施例对本说明书作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本说明书中的实施例及实施例中的特征可以相互组合。

图1示出了一实施例中的区块链架构图。在图1所示的区块链架构图中,区块链100中例如包含节点1-节点8共8个节点。节点之间的连线示意性的表示P2P(Peer to Peer,点对点)连接。这些节点上可存储全量的账本,即存储全部区块和全部账户的状态。其中,区块链中的每个节点可通过执行相同的交易而产生区块链中的相同的状态,区块链中的每个节点可存储相同的状态数据库。可以理解,图1中虽然示出了区块链中包括8个节点,本说明书实施例不限于此,而是可以包括其他数目的节点。具体是,区块链中包含的节点可以满足拜占庭容错(Byzantine Fault Tolerance,BFT)要求。所述的拜占庭容错要求可以理解为在区块链内部可以存在拜占庭节点,而区块链对外不体现拜占庭行为。一般的,一些拜占庭容错算法中要求节点个数大于3f+1,f为拜占庭节点个数,例如实用拜占庭容错算法PBFT(Practical Byzantine Fault Tolerance)。

区块链领域中的交易可以指在区块链中执行并记录在区块链中的任务单元。交易中通常包括发送字段(From)、接收字段(To)和数据字段(Data)。其中,在交易为转账交易的情况中,From字段表示发起该交易(即发起对另一个账户的转账任务)的账户地址,To字段表示接收该交易(即接收转账)的账户地址,Data字段中包括转账金额。在交易调用区块链中的智能合约的情况中,From字段表示发起该交易的账户地址,To字段表示交易所调用的合约的账户地址,Data字段中包括调用合约中的函数名、及对该函数的传入参数等数据,以用于在交易执行时从区块链中获取该函数的代码并执行该函数的代码。

区块链中可提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。在区块链中调用智能合约,是发起一笔指向智能合约地址的交易,使得区块链中每个节点分布式地运行智能合约代码。需要说明的是,除了可以由用户创建智能合约,也可以在创世块中由系统设置智能合约。此外,具有系统管理员权限的账户可以创建系统级的合约,或者修改系统级的合约(简称为系统合约)。其中,所述系统合约可用于在区块链中增加不同业务的数据的数据结构。

在部署合约的场景中,例如,Bob将一个包含创建智能合约信息(即部署合约)的交易发送到如图1所示的区块链中,该交易的data字段包括待创建的合约的代码(如字节码或者机器码),交易的to字段为空,以表示该交易用于部署合约。节点间通过共识机制达成一致后,确定合约的合约地址“0x6f8ae93…”,各个节点在状态数据库中添加与该智能合约的合约地址对应的合约账户,分配与该合约账户对应的状态存储,并将合约代码保存在该合约的状态存储中,从而合约创建成功。

在调用合约的场景中,例如,Bob将一个用于调用智能合约的交易发送到如图1所示的区块链中,该交易的from字段是交易发起方(即Bob)的账户的地址,to字段中的“0x6f8ae93…”代表了被调用的智能合约的地址,交易的data字段包括调用智能合约的方法和参数。在区块链中对该交易进行共识之后,区块链中的各个节点可分别执行该交易,从而分别执行该合约,基于该合约的执行更新状态数据库。

如前所述,作为一种分布式账本技术,区块链克服了传统中心化账本的安全性低、易受单点攻击等缺点,具备分布式共享、多方共识、不可篡改和可追溯的安全能力。但区块链技术并不能代替数据库等通用存储技术,因为区块链技术并不具备数据库技术的高性能、低成本、易用能力。换而言之,区块链技术具有存储成本高、操作性能低、查询能力差等缺点。随着区块链技术的普及和发展,该缺点也越来越多的暴露出来,导致区块链技术难以拓展到更多传统领域。

基于此,本说明书的一些实施例提供了账本数据库数据查询方法,能将数据库技术和区块链技术相结合,从而使得不同机构能借助区块链技术实现数据共享。

账本数据库通常实现为一种中心化的可信存储系统,能够保证写入数据不可篡改、不可抵赖,需要使用可信第三方作为信任根,定期或按需将账本数据库中全部或部分数据的摘要信息写入可信第三方。在本说明书实施例中,采用区块链作为账本数据库使用的可信第三方。

在本说明书实施例提供的方案中,有数据共享需求的多个机构可以具有各自的账本数据库,该多个机构各自的账本数据库可以基于区块链组成一个去中心化的账本数据库网络。

参看图2,其为账本数据库网络的组成结构的一个示意图。如图2所示,账本数据库网络200由多个机构各自的账本数据库(如图2中示出的机构A的账本数据库101、机构B的账本数据库102、机构C的账本数据库103、机构D的账本数据库104)基于区块链100组成。可以理解,账本数据库101-104和区块链100均包含在账本数据库网络200中。在账本数据库网络200中,账本数据库101-104均可以与区块链100通信。账本数据库间可以直接通信,或者通过区块链100进行间接通信。

需要说明,为了便于描述,仅在图2中示出了4个账本数据库,应该理解,账本数据库网络200可以包括更多的账本数据库。

为了实现机构间的数据共享,上述多个机构中作为数据提供方的机构,例如机构A,可以使用其机构设备将机构A的账本数据库101的数据服务信息注册到区块链100中。该机构设备例如可以是账本数据库101,或者机构A的终端设备等。该数据服务信息可以包括账本数据库101的连接信息。该连接信息可以包括IP(Internet Protocol,互联网协议)地址和端口号。进一步地,该数据服务信息还可以包括账本数据库101的标识,和/或账本数据库101对外公开的数据信息。该数据信息可以包括数据说明、数据表名和字段名等中的至少一项。

上述多个机构中有数据使用需求的任意的机构,例如机构B,可以使用其机构设备从区块链100获取已注册的数据服务信息,例如获取到账本数据库101的数据服务信息。其中,该机构设备例如可以是账本数据库102,或者机构B的终端设备等。当机构B基于获取到的账本数据库101的数据服务信息,确定需要使用账本数据库101中的数据时,可以接着使用该机构设备,基于该数据服务信息,向账本数据库101发送数据查询请求,从而使得账本数据库101返回数据查询结果。由此,不同机构能借助区块链技术实现数据共享。

下面,以如前所述的机构设备为账本数据库,有数据使用需求的机构为第一机构,作为数据提供方的机构为第二机构为例,结合具体的实施例,描述上述方法的具体实施步骤。

先参看图3,其为账本数据库的数据服务信息注册过程的一个示意图。该注册过程包括以下步骤:步骤302,第二机构的账本数据库向区块链发送第四交易,第四交易用于注册数据服务信息;步骤304,区块链通过执行第四交易,将数据服务信息存储到区块链中。

其中,第四交易中包括有待注册的数据服务信息。在该注册过程中,第二机构的账本数据库可以具体向区块链的节点发送第四交易,该节点可以通过执行第四交易,将数据服务信息存储到区块链中。

作为一个示例,区块链中可以部署有与数据服务有关的智能合约。第四交易可以具体用于通过调用该智能合约注册数据服务信息。区块链的节点可以通过执行第四交易,将数据服务信息存储到该智能合约的状态中。

在一个实施例中,第二机构的账本数据库可以对接第二机构的业务系统,该账本数据库中可以保存有该业务系统的业务数据。其中,该业务系统可以是任意类别的系统,例如可以是医疗系统、支付系统、保险系统或理财系统等。为了实现不同机构的业务系统间的数据共享,可以使得第二机构在其业务系统中向账本数据库提交数据服务注册请求,从而使得账本数据库向区块链注册数据服务信息。

基于此,在步骤302之前,第二机构的业务系统还可以执行如图3中示出的步骤301。在步骤301中,第二机构的业务系统可以向第二机构的账本数据库发送数据服务注册请求,该请求中可以包括有待注册的数据服务信息。

进一步地,第二机构的账本数据库可以对外提供与区块链访问有关的接口,数据服务注册请求可以是第二机构的业务系统通过调用该接口发送的。更进一步地,该接口可以包括用于数据服务注册的注册接口,数据服务注册请求可以是第二机构的业务系统通过调用该注册接口发送的。其中,第二机构的账本数据库对外提供的与区块链访问有关的任意接口,可以是通用接口,例如SQL(Structure Query Language,结构化查询语言)接口或JDBC(Java Database Connectivity,Java数据库连接)接口等。

需要说明,第二机构的账本数据库除了向区块链注册数据服务信息外,还可以定期或按需将存储的全部或部分数据的摘要信息写入区块链,以进行数据存证。如此能保证该账本数据库中的该全部或部分数据不可篡改、不可抵赖。

以上结合图3介绍了数据服务注册过程。下面,结合图4介绍不同机构间的数据查询过程。

参看图4,其为账本数据库数据查询方法的一个实施例的示意图。该方法包括以下步骤:步骤402,第一机构的账本数据库向区块链发送第一交易,第一交易用于获取已注册的数据服务信息,数据服务信息包括第二机构的账本数据库的信息,第二机构的账本数据库的信息包括第二机构的账本数据库的连接信息;步骤404,区块链通过执行第一交易,在区块链中获取数据服务信息;步骤406,区块链将数据服务信息返回给第一机构的账本数据库;步骤408,第一机构的账本数据库基于数据服务信息,向第二机构的账本数据库发送数据查询请求。

在本实施例中,连接信息可以包括IP地址和端口号。第二机构的账本数据库的信息还可以包括,该账本数据库的标识和/或该账本数据库对外公开的数据信息。该数据信息可以包括数据说明、数据表名和字段名等中的至少一项。可选地,上述已注册的数据服务信息可以包括多个机构各自的账本数据库的信息。

需要说明,若区块链中部署有与数据服务有关的智能合约,且数据服务信息是通过调用该智能合约注册的,则第一交易可以具体用于通过调用该智能合约获取已注册的数据服务信息,区块链的节点可以通过执行第一交易,在该智能合约的状态中获取数据服务信息。

图4对应的实施例提供的方案,可以使得第一机构的账本数据库向区块链发送第一交易,第一交易用于获取已注册的数据服务信息,该数据服务信息包括第二机构的账本数据库的信息,该第二机构的账本数据库的信息包括第二机构的账本数据库的连接信息。之后,第一机构的账本数据库可以接收区块链返回的该数据服务信息,并基于该数据服务信息,向第二机构的账本数据库发送数据查询请求。由此,该方案能将数据库技术和区块链技术相结合,从而使得不同机构能借助区块链技术实现数据共享,有助于区块链技术拓展到更多传统领域。

在一个实施例中,第一机构的账本数据库可以对接第一机构的业务系统,该账本数据库中可以保存有该业务系统的业务数据。其中,该业务系统可以是任意类别的系统,例如可以是医疗系统、支付系统、保险系统或理财系统等。为了实现不同机构的业务系统间的数据共享,可以使得第一机构在其业务系统中向账本数据库提交针对已注册的数据服务信息的获取请求,以及提交基于获取到的数据服务信息生成的数据查询请求。

具体地,参看图5,其为账本数据库数据查询方法的一个实施例的示意图。该方法包括以下步骤:步骤502,第一机构的业务系统向第一机构的账本数据库发送针对已注册的数据服务信息的获取请求,数据服务信息包括第二机构的账本数据库的信息,第二机构的账本数据库的信息包括第二机构的账本数据库的连接信息;步骤504,第一机构的账本数据库向区块链发送第一交易,第一交易用于获取已注册的数据服务信息;步骤506,区块链通过执行第一交易,在区块链中获取数据服务信息;步骤508,区块链将数据服务信息返回给第一机构的账本数据库;步骤510,第一机构的账本数据库将数据服务信息返回给第一机构的业务系统;步骤512,第一机构的业务系统向第一机构的账本数据库发送数据查询请求,数据查询请求基于数据服务信息生成;步骤514,第一机构的账本数据库向第二机构的账本数据库发送数据查询请求。

在本实施例中,第一机构的账本数据库可以对外提供与区块链访问有关的接口。针对已注册的数据服务信息的获取请求,可以是第一机构的业务系统通过调用该接口发送的。进一步地,该接口可以包括用于数据服务信息获取的信息获取接口,该获取请求可以是第一机构的业务系统通过调用该信息获取接口发送的。其中,第一机构的账本数据库对外提供的与区块链访问有关的任意接口,可以是通用接口,例如可以是SQL接口或JDBC接口等。

图5对应的实施例提供的方案,能将数据库技术和区块链技术相结合,从而使得不同机构的业务系统能借助区块链技术实现数据共享,有助于区块链技术拓展到更多传统领域。

在一个实施例中,第一机构的账本数据库在向第二机构的账本数据库发送数据查询请求之后,还可以获取第二机构的账本数据库响应于该数据查询请求而生成的数据查询结果。

作为一种实现方式,如图6所示,第一机构的账本数据库和第二机构的账本数据库可以直接通信。第一机构的账本数据库可以直接向第二机构的账本数据库发送该数据查询请求。相应的,第二机构的账本数据库可以直接向第一机构的账本数据库发送数据查询结果。其中,图6是数据查询过程的一个示意图。

作为另一种实现方式,如图7所示,第一机构的账本数据库和第二机构的账本数据库可以通过区块链进行间接通信。其中,图7是数据查询过程的一个示意图。如图7所示,第一机构的账本数据库可以向区块链发送第二交易,第二交易包括数据查询请求,并用于发布该数据查询请求。接着,区块链可以通过执行第二交易,将该数据查询请求存储到区块链中。第二机构的账本数据库可以监听发布到区块链中的该数据查询请求,从而获取到该数据查询请求。之后,第二机构的账本数据库例如可以基于该数据查询请求,从本地获取第一机构的账本数据库所请求的目标数据,并生成包括该目标数据的数据查询结果,以及如图7中所示,向区块链发送第三交易,第三交易包括该数据查询结果,并用于发布该数据查询结果。接着,区块链可以通过执行该第三交易,将该数据查询结果存储到区块链中。第一机构的账本数据库可以监听发布到区块链中的该数据查询结果,从而获取到该数据查询结果。

进一步地,区块链中可以部署有与数据服务有关的智能合约,第二交易可以具体用于通过调用该智能合约发布数据查询请求。区块链的节点在接收到第二交易后,可以通过执行第二交易,将该数据查询请求存储到该智能合约的状态中。第二机构的账本数据库可以监听通过调用该智能合约发布的该数据查询请求,从而获取到该数据查询请求。

另外,第三交易可以具体用于通过调用该智能合约发布数据查询结果。区块链的节点在接收到第三交易后,可以通过执行第三交易,将该数据查询结果存储到该智能合约的状态中。第一机构的账本数据库可以监听第二机构的账本数据库通过调用该智能合约发布的该数据查询结果,从而获取到该数据查询结果。

根据前文中的描述,本说明书实施例提供的方案,可以将数据库技术的高性能、低成本、易用能力与区块链技术高安全、可验证、可追溯能力融合起来,为传统信息系统(业务系统)提供使用区块链技术的新方案。具体地,通过区块链将多个账本数据库组成账本数据库网络,并以数据库通用接口(如SQL/JDBC)提供操作能力,可以兼顾系统整体的高性能、低成本、安全性,并以很低的迁移成本使传统信息系统获得基于区块链技术的安全能力。

进一步参考图8,本说明书提供了一种账本数据库数据查询装置的一个实施例,该装置可以应用于第一机构的机构设备。

如图8所示,本实施例的账本数据库数据查询装置800包括:发送单元801、接收单元802和处理单元803。其中,发送单元801被配置成向区块链发送第一交易,第一交易用于获取已注册的数据服务信息,数据服务信息包括第二机构的账本数据库的信息,第二机构的账本数据库的信息包括第二机构的账本数据库的连接信息;接收单元802被配置成接收区块链返回的数据服务信息;处理单元803被配置成基于数据服务信息,向第二机构的账本数据库发送数据查询请求。

在一些实施例中,第一机构的机构设备是第一机构的账本数据库。

在一些实施例中,数据服务信息是第二机构的账本数据库注册到区块链中的。

在一些实施例中,第二机构的账本数据库的信息还包括,该账本数据库的标识和/或该账本数据库对外公开的数据信息。

在一些实施例中,上述连接信息包括IP地址和端口号;上述数据信息包括以下至少一项:数据说明、数据表名、字段名。

在一些实施例中,上述装置800还包括:获取单元(图中未示出),被配置成获取第二机构的账本数据库响应于数据查询请求而生成的数据查询结果。

在一些实施例中,处理单元803可以进一步被配置成:直接向第二机构的账本数据库发送数据查询请求;获取单元可以进一步被配置成:从第二机构的账本数据库接收数据查询结果。

在一些实施例中,处理单元803可以进一步被配置成:向区块链发送第二交易,第二交易用于发布数据查询请求;获取单元可以进一步被配置成:监听第二机构的账本数据库发布至区块链中的数据查询结果,从而获取到数据查询结果。

在一些实施例中,区块链中部署有与数据服务有关的智能合约。

在一些实施例中,数据服务信息是第二机构的账本数据库通过调用上述智能合约注册的,并且存储于智能合约的状态中;第一交易用于调用上述智能合约获取已注册的数据服务信息。

在一些实施例中,第二交易用于调用上述智能合约发布数据查询请求;以及获取单元可以进一步被配置成:监听第二机构的账本数据库通过调用智能合约发布的数据查询结果。

在一些实施例中,区块链中存储有第二机构的账本数据库中全部或部分数据的摘要信息。

在一些实施例中,接收单元802还可以被配置成:在发送单元801向区块链发送第一交易之前,接收第一机构的业务系统发送的针对已注册的数据服务信息的获取请求;处理单元803可以进一步被配置成:将数据服务信息返回给第一机构的业务系统;接收第一机构的业务系统发送的数据查询请求,数据查询请求基于数据服务信息生成;向第二机构的账本数据库发送数据查询请求。

在一些实施例中,数据服务信息是第二机构的账本数据库在接收到第二机构的业务系统发送的数据服务注册请求后,注册到区块链中的。

在一些实施例中,已注册的数据服务信息包括多个机构各自的账本数据库的信息。

进一步参考图9,本说明书提供了一种账本数据库数据查询装置的一个实施例,该装置可以应用于区块链的节点。

如图9所示,本实施例的账本数据库数据查询装置900包括:接收单元901、交易执行单元902和发送单元903。其中,接收单元901被配置成接收第一机构的机构设备发送的第一交易,第一交易用于获取已注册的数据服务信息,数据服务信息包括第二机构的账本数据库的信息,第二机构的账本数据库的信息包括第二机构的账本数据库的连接信息;交易执行单元902被配置成通过执行第一交易,在区块链中获取数据服务信息;发送单元903被配置成将数据服务信息返回给第一机构的机构设备,以供该机构设备基于数据服务信息,向第二机构的账本数据库发送数据查询请求。

在一些实施例中,第一机构的机构设备是第一机构的账本数据库。

在一些实施例中,接收单元901还可以被配置成:接收第一机构的账本数据库发送的第二交易,第二交易用于发布数据查询请求,数据查询请求基于数据服务信息生成;交易执行单元902还可以被配置成:通过执行第二交易,将数据查询请求存储到区块链中,以供第二机构的账本数据库获取。

在一些实施例中,接收单元901还可以被配置成:在交易执行单元902将数据查询请求存储到区块链中之后,接收第二机构的账本数据库发送的第三交易,第三交易用于发布数据查询结果,数据查询结果是该账本数据库在监听到区块链上的该数据查询请求后生成的;交易执行单元902还可以被配置成:通过执行第三交易,将数据查询结果存储到区块链中,以供第一机构的账本数据库获取。

在一些实施例中,接收单元901还可以被配置成:在接收第一机构的账本数据库发送的第一交易之前,接收第二机构的账本数据库发送的第四交易,第四交易用于注册数据服务信息;交易执行单元902还可以被配置成:通过执行第四交易,将数据服务信息存储到区块链中。

在图8、图9分别对应的装置实施例中,各单元的具体处理及其带来的技术效果可参考前文中方法实施例的相关说明,在此不再赘述。

本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,当该计算机程序在计算机中执行时,令计算机执行以上各方法实施例分别描述的账本数据库数据查询方法。

本说明书实施例还提供了一种计算设备,包括存储器和处理器,其中,该存储器中存储有可执行代码,该处理器执行该可执行代码时,实现以上各方法实施例分别描述的账本数据库数据查询方法。

本说明书实施例还提供了一种计算机程序,其中,当该计算机程序在计算机中执行时,令计算机执行以上各方法实施例分别描述的账本数据库数据查询方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

以上所述的具体实施方式,对本说明书披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书披露的多个实施例的具体实施方式而已,并不用于限定本说明书披露的多个实施例的保护范围,凡在本说明书披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书披露的多个实施例的保护范围之内。

技术分类

06120115636371