CN116684425A - 区块链的数据处理方法、***、装置和计算机设备 - Google Patents

区块链的数据处理方法、***、装置和计算机设备 Download PDF

Info

Publication number
CN116684425A
CN116684425A CN202310939637.6A CN202310939637A CN116684425A CN 116684425 A CN116684425 A CN 116684425A CN 202310939637 A CN202310939637 A CN 202310939637A CN 116684425 A CN116684425 A CN 116684425A
Authority
CN
China
Prior art keywords
target
node
data
relational
transaction request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310939637.6A
Other languages
English (en)
Other versions
CN116684425B (zh
Inventor
朱耿良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310939637.6A priority Critical patent/CN116684425B/zh
Publication of CN116684425A publication Critical patent/CN116684425A/zh
Application granted granted Critical
Publication of CN116684425B publication Critical patent/CN116684425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种区块链的数据处理方法、***、装置、计算机设备、存储介质和计算机程序产品。该方法可以应用于云技术、云存储和区块链等技术领域;所述方法包括:当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。采用本方法能够提升区块链的数据的读取效率。

Description

区块链的数据处理方法、***、装置和计算机设备
技术领域
本申请涉及区块链技术领域,特别是涉及一种区块链的数据处理方法、***、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着互联网技术的发展,区块链受到越来越多的关注;区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库。
相关技术中,区块链网络中存在结构复杂、数据量很大的数据,对于区块链上的数据,需要在智能合约中编写多个函数,以进行数据读写,导致读取区块链上数据的操作非常复杂,区块链的数据读取效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种区块链的数据处理方法、***、装置、计算机设备、计算机可读存储介质和计算机程序产品,能够提升区块链的数据的读取效率。
第一方面,本申请提供了一种区块链的数据处理方法。所述方法包括:
当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第二方面,本申请还提供了一种区块链的数据处理装置。所述装置包括:
目标节点确定模块,用于当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;
交易请求转发模块,用于向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;
数据库更新消息接收模块,用于接收验证节点在更新关系型数据库后发送的数据库更新消息;
关系型数据获取模块,用于基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第六方面,本申请提供了一种区块链的数据处理方法。所述方法包括:
接收目标网关转发的来源于目标应用的交易请求;执行交易请求得到状态数据;基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第七方面,本申请还提供了一种区块链的数据处理装置。所述装置包括:
交易请求接收模块,用于接收目标网关转发的来源于目标应用的交易请求;
交易请求执行模块,用于执行交易请求得到状态数据;
交易事件生成模块,用于基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第八方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收目标网关转发的来源于目标应用的交易请求;执行交易请求得到状态数据;基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第九方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收目标网关转发的来源于目标应用的交易请求;执行交易请求得到状态数据;基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第十方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收目标网关转发的来源于目标应用的交易请求;执行交易请求得到状态数据;基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
第十一方面,本申请还提供了一种区块链的数据处理***。所述***包括:
目标网关,用于当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点,并向目标节点转发交易请求;
目标节点,用于执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;
验证节点,用于确定状态数据对应的关系型数据,并更新于关系型数据库中;验证节点是与目标节点对应的节点;
目标网关,还用于接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
上述区块链的数据处理方法、***、装置、计算机设备、存储介质和计算机程序产品,目标网关在接收到目标应用发送的交易请求时,对交易请求进行分发,在区块链网络中确定与交易请求匹配的目标节点,向目标节点发送交易请求,目标节点执行交易请求得到状态数据时,基于智能合约生成交易事件,验证节点执行交易事件得到状态数据对应的关系型数据,将关系型数据更新于关系型数据库中,目标网关接收到数据库更新消息,从关系型数据库中获取关系型数据,向目标应用返回关系型数据;通过智能合约生成状态数据对应的交易事件,验证节点执行交易事件,以将链上的状态数据同步更新到链下的关系型数据库中,目标应用可以直接从关系型数据库中读取关系型数据,提升了区块链的数据读取效率,并且读取的关系型数据可以直接用于前端显示,而不用从链上读取数据,再对从链上读取的数据进行处理,简化了目标应用同步显示链上状态数据的过程,提升了目标应用同步显示链上状态数据对应内容的效率;此外,通过与交易请求匹配的目标节点执行交易请求,通过目标节点对应的验证节点执行状态数据对应的交易事件,将交易请求对应的关系型数据,更新于与交易请求匹配的验证节点的关系型数据库中,进而当不同的交易请求匹配的目标节点不同时,不同交易请求对应的关系型数据可以分库存储,以实现对不同交易请求对应的关系型数据进行数据隔离,提升了数据的安全性。
附图说明
图1为一个实施例中区块链的数据处理方法的应用环境图;
图2为一个实施例中区块链的数据处理方法的流程示意图;
图3为一个实施例中区块链网络的示意图;
图4为一个实施例中,通过关系数据读写网关、目标节点和验证节点共同执行区块链的数据处理方法的示意图;
图5为另一个实施例中区块链的数据处理方法的流程示意图;
图6为又一个实施例中区块链的数据处理方法的流程示意图;
图7为一个实施例中,智能合约与业务合约交互执行交易请求,生成交易事件的示意图;
图8为一个实施例中,从核心共识节点同步子数据库管理信息和数据库管理信息的示意图;
图9为又一个实施例中区块链的数据处理方法的流程示意图;
图10为一个实施例中区块链的数据处理***的示意图;
图11为一个实施例中,通过区块链的数据处理***,执行区块链的数据处理方法的示意图;
图12为一个实施例中,区块链的数据处理***应用于电子票据场景的示意图;
图13为一个实施例中区块链的数据处理装置的结构框图;
图14为另一个实施例中区块链的数据处理装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营检测等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营检测模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、检测网络情况、检测节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
本申请实施例提供的区块链的数据处理方法,可以应用于如图1所示的应用环境中。其中,区块链网络包括目标网关102、目标节点和验证节点104,目标节点包括目标业务节点106、代理节点108和目标共识节点110;目标业务节点106处于业务网络中,目标共识节点108处于共识网络中,业务网络和共识网络通过代理节点108进行交互;验证节点104可以部署于共识网络中,也可以部署于业务网络中。
区块链的数据处理方法可以通过目标网关102执行,也可以通过目标节点执行,还可以通过目标网关102和目标节点协同执行。
以区块链的数据处理方法通过目标网关102执行为例;当接收到目标应用发送的交易请求时,目标网关102可以在区块链网络中确定与交易请求匹配的目标节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点104确定状态数据对应的关系型数据,并更新于关系型数据库中;目标网关102可以接收验证节点104在更新关系型数据库后发送的数据库更新消息;目标网关102还可以基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
其中,目标网关和目标节点,均可以是独立的物理服务器,也可以是区块链***中的服务节点,该区块链***中的各服务节点之间形成组成点对点网络。
此外,目标网关和目标节点,还可以是多个物理服务器构成的服务器集群,可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,如图2所示,提供了一种区块链的数据处理方法,该方法由图1中的目标网关或目标节点执行,也可以通过目标网关和目标节点协同执行,以该方法由图1中的目标网关执行为例进行说明,包括以下步骤:
步骤202,当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点。
其中,目标网关可以是关系数据读写网关,用于分发针对关系型数据库的读写请求;比如,可以用于分发用于在关系型数据库中写入数据的交易请求。
目标应用是去中心化应用程序(Decentralized Application),去中心化应用程序是完全开源、自制并且没有一个实体控制去中心应用超过51%的令牌,去中心化应用程序可以根据用户的反馈及技术要求进行升级,并且升级需要大部分节点共识;去中心应用程序的数据需要在加密后存储在公开的区块链上。
其中,交易请求包括未经区块链网络验证的数据,该数据可以是至少一笔交易对应的数据,比如物流数据、账单数据、商品交易数据等;交易请求还包括数据写入语句,数据写入语句可以是SQL语句(结构化查询语句)。
在一些实施例中,目标应用向目标网关发送交易请求,目标网关确定交易请求所对应的业务,在区块链网络中确定业务对应的目标节点,即确定与交易请求匹配的目标节点。
在一些实施例中,步骤202中,在区块链网络中确定与交易请求匹配的目标节点,包括:获取交易请求包含的业务标识;在数据库管理信息中查找业务标识对应的网络地址;依据网络地址确定与交易请求匹配的目标节点。
其中,交易请求还包括业务标识,业务标识可以用于反映业务的唯一标识,根据业务标识可以确定用于处理业务相关交易请求的目标节点。
区块链网络包括业务网络和共识网络,通过代理节点对业务网络和共识网络进行分层,形成分层的区块链网络架构,分层的区块链网络架构,使得私有云中的共识节点更加安全。
目标节点包括目标业务节点、代理节点、目标共识节点;目标业务节点部署在处于公网的业务网络中,目标共识节点部署在私有云的共识网络中,代理节点用于转发目标业务节点和目标共识节点之间的交互数据。
业务网络包括多个业务节点,目标业务节点是多个业务节点中与交易请求相匹配的业务节点;目标业务节点可以是轻量节点(Simplified Payment Verification,SPV),SPV节点一般只存储区块头以及与节点自身相关联的交易数据,而不存储完整的区块链数据。
共识网络包括多个共识节点,目标共识节点是多个共识节点中与目标业务节点对应的部分共识节点,也是与交易请求相匹配的共识节点。
示例性地,如图3所示,区块链网络包括业务网络和共识网络,通过代理节点对业务网络和共识网络进行分层;业务网络包括业务节点y1、业务节点y2、……、业务节点yn,其中,目标业务节点可以是业务节点y1;共识网络包括共识节点g1、共识节点g2、……、共识节点gn、共识节点gn+1、……、共识节点gn+m,其中,目标共识节点可以包括:共识节点g1、共识节点g2、……、共识节点gn;代理节点可以转发目标业务节点与目标共识节点之间的数据。
其中,数据库管理信息包括各业务标识与各网络地址之间的对应关系;在数据库管理信息中,可以通过业务标识查找匹配的网络地址,网络地址可以是目标业务节点的IP地址。
在一些实施例中,目标网关获取交易请求包含的业务标识,在本地的数据库管理信息中获取业务标识对应的网络地址,根据网络地址确定处理交易请求对应业务的目标业务节点;在区块链网络中,业务节点存在对应的共识节点,业务节点以及其对应的共识节点用于处理某业务的相关交易,因此,在根据网络地址确定目标业务节点后,可以确定目标业务节点对应的目标共识节点。
在上述实施例中,目标网关在数据库管理信息中,查找交易请求包含的业务标识所对应的网络地址,进而确定与交易请求的目标节点,以便于后续将交易请求发送到目标节点,使得业务相关交易均由匹配的目标节点处理,避免了目标节点处理不同业务相关交易,导致数据交互混乱的情况,将处理不同业务相关交易时的交互信息隔离,可以提升交易处理效率,保证数据安全。
步骤204,向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中。
其中,目标节点包括目标业务节点、代理节点、目标共识节点;验证节点可以部署于业务网络中,也可以部署于共识网络中。
状态数据可以反映执行交易请求所得的执行结果,将状态数据写入链上的状态数据库,可以更新状态数据库;需要说明的是,状态数据库包括最新的状态数据,以及历史的状态数据,便于追溯和查询。
验证节点与目标节点相对应,用于维护链下的关系型数据库,该关系型数据库与链上的状态数据库同步保存交易的执行结果。需要说明的是,关系型数据库与状态数据库所存储的数据本质相同,数据结构不同;比如状态数据库中通常存储的是KV(键值)结构的数据,关系型数据库中存储的二维表结构的关系型数据。
智能合约可以用于生成交易事件,交易事件被验证节点获取并执行,以使得验证节点获取到与状态数据对应的关系型数据;关系型数据与状态数据的本质相同,数据结构不同。
在一些实施例中,目标网关根据目标业务节点的IP地址,向目标业务节点发送交易请求,目标业务节点将交易请求发送至代理节点,代理节点将交易请求广播至对应的目标共识节点,以使得目标共识节点接收到交易请求。
在一些实施例中,目标节点执行交易请求得到状态数据,包括:通过目标共识节点中的智能合约获取交易请求包含的权限标识,在权限标识满***易条件的情况下,通过智能合约向业务合约发送执行消息,通过业务合约执行交易请求,得到执行结果,根据执行结果确定用于更新链上状态的状态数据。
目标共识节点的数量可以是多个,对于每一目标共识节点,目标共识节点通过智能合约获取交易请求包含的权限标识,在权限标识满***易条件的情况下,智能合约向业务合约发送执行消息,各目标共识节点的业务合约执行交易请求,并在得到的执行结果达成共识的情况下,生成交易请求对应的已验证的区块数据,并且,业务合约根据执行结果确定状态数据,采用状态数据更新链上的状态数据库。
在一些实施例中,权限标识可以是发送交易请求的用户的标识;目标共识节点存储有权限表,权限表包括多个用户标识,该多个用户标识对应的用户具有在关系型数据库中写入数据的权限;智能合约可以在权限表中查找权限标识,若权限标识存在于权限表中,则确定权限标识满***易条件,若权限标识不存在权限表中,则确定权限标识不满***易条件。
在一些实施例中,基于智能合约生成状态数据的交易事件,包括:在智能合约接收到业务合约返回的状态数据的情况下,获取交易请求所包含的交易语句;通过智能合约调用注册表合约;依据注册表合约的数据库管理信息,确定交易请求对应的关系型数据库信息;当关系型数据库信息表征存在与交易请求匹配的关系型数据库时,依据交易语句和权限标识生成状态数据的交易事件。
业务合约根据执行结果确定状态数据之后,向智能合约返回状态数据,智能合约获取交易请求包含的交易语句,智能合约调用注册表合约,以确定交易请求对应的关系型数据库信息,在关系型数据库信息表征存在与交易请求匹配的关系型数据库时,智能合约依据交易语句和权限标识,生成状态数据对应的交易事件。
目标共识节点对应的验证节点获取到该交易事件,并执行该交易事件,得到状态数据对应的关系型数据。
在一些实施例中,智能合约依据交易语句和权限标识,生成预设协议的交易事件;验证节点对预设协议的事件进行周期性检测,进而在智能合约生成预设协议的交易事件的情况下,该交易事件会被验证节点获取到。需要说明的是,预设协议可以是目标共识节点和验证节点之间进行数据交互的协议,进而,预设协议的交易事件可以被验证节点获取到。
在一些实施例中,确定状态数据对应的关系型数据,并更新于关系型数据库中,包括:获取交易事件包含的交易语句和权限标识;在依据权限表确定权限标识满***易条件时,执行交易语句,得到状态数据对应的关系型数据;将关系型数据更新于关系型数据库中。
其中,权限标识可以是发送交易请求的用户的标识;权限表包括多个用户标识,该多个用户标识对应的用户,具有在关系型数据库中写入数据的权限。
验证节点存储有权限表;验证节点获取交易事件包含的交易语句和权限标识,若权限标识存在于权限表中,则确定权限标识满***易条件,则验证节点执行交易语句,得到状态数据对应的关系型数据,验证节点将关系型数据添加至关系型数据库中。
需要说明的是,验证节点执行交易语句,得到状态数据对应的关系型数据,可以是针对关系型数据库中的最新关系型数据,执行交易语句,得到状态数据对应的关系型数据,再将状态数据对应的关系型数据添加至关系型数据库中。
在一些实施例中,目标节点对应的验证节点可以有多个,多个验证节点中的一个验证节点执行交易事件,得到状态数据对应的关系型数据,由该验证节点将关系型数据同步至其他验证节点,以便于其他验证节点接收到关系型数据,并将关系型数据添加至关系型数据库中,使得多个验证节点可以同步更新关系型数据库。
在上述实施例中,验证节点获取到交易事件,验证节点执行交易事件,得到状态数据对应的关系型数据,将关系型数据更新于关系型数据库中,使得验证节点中的关系型数据库,与链上的状态数据库中的数据同步更新,以便于后续直接从关系型数据库中读取关系型数据,而不用从链上读取数据,再处理得到关系型数据,简化了获取链上数据的过程,提升了数据获取效率。
步骤206,接收验证节点在更新关系型数据库后发送的数据库更新消息。
其中,数据库更新消息,是关系型数据库中的数据存在更新时所产生的消息,比如,在将状态数据对应的关系型数据更新于关系型数据库中时,产生数据库更新消息。
在一些实施例中,目标应用可以通过目标网关订阅关系型数据库,在关系型数据更新于关系型数据库的情况下,验证节点向目标网关发送数据库更新消息。
在一些实施例中,区块链的数据处理方法还包括:接收目标应用发送的订阅请求,获取订阅请求包含的业务标识,将订阅请求转发至业务标识对应的验证节点,以实现目标应用订阅关系型数据库;在关系型数据更新于关系型数据库的情况下,验证节点响应于该订阅请求,向目标网关返回数据库更新消息。
在一些实施例中,验证节点依据关系型数据生成数据库更新消息,可以是验证节点获取关系型数据在关系型数据库中的存储位置,生成携带有存储位置的数据库更新消息。
步骤208,基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
在一些实施例中,数据库更新消息包括关系型数据的存储位置,目标网关可以依据存储位置生成读取请求,向验证节点发送读取请求,验证节点获取读取请求中存储位置对应的关系型数据,将关系型数据返回至目标网关,目标网关将接收的关系型数据发送到目标应用。
在一些实施例中,在目标应用通过目标网关订阅关系型数据库的情况下,当关系型数据库存在数据更新时,验证节点可以将关系型数据推送至目标网关,目标网关将关系型数据发送至目标应用。
在一些实施例中,步骤208包括:向目标应用转发数据库更新消息;在接收到目标应用返回的数据获取请求时,向验证节点转发数据获取请求;接收验证节点依据数据获取请求返回的关系型数据;向目标应用发送关系型数据。
在一些实施例中,目标网关将数据库更新消息转发至目标应用,目标应用获取数据库更新消息中的存储位置,根据存储位置生成数据获取请求,目标应用向目标网关发送数据获取请求,目标网关将数据获取请求转发至验证节点,验证节点根据数据获取请求所包括存储位置获取关系型数据,将关系型数据发送至目标网关,通过目标网关将关系型数据发送至目标应用。
在一些实施例中,目标应用可以根据存储位置生成数据获取语句,数据获取语句可以是SQL语句,再生成包括数据获取语句的数据获取请求;验证节点根据数据获取请求包括的SQL语句,在关系型数据库中获取关系型数据。
在上述实施例中,当关系型数据库存在更新时,通过目标网关将数据库更新消息转发至目标应用,由目标网关将目标应用发送的数据获取请求转发至验证节点,以获取关系型数据,再由目标网关将状态数据对应的关系型数据转发至目标应用,使得关系型数据库中的数据发生更新时,目标应用可以及时获取到更新的关系型数据。
在一些实施例中,目标应用获取到关系型数据之后,可以在目标应用的显示页面中显示关系型数据对应的内容。需要说明的是,目标应用的前端可以发起包括SQL语句的数据获取请求,验证节点可以直接通过SQL语句在关系型数据库中查找对应的关系型数据,目标应用的前端接收到关系型数据之后,也不需要对关系型数据进行额外的转换处理,可以直接显示关系型数据对应的内容,简化了目标应用同步显示链上状态数据的过程,提升了目标应用同步显示链上状态数据对应内容的效率。
示例性地,目标网关为关系数据读写网关,如图4所示,区块链的数据处理方法包括:目标应用发送交易请求到关系数据读取网关,关系数据读写网关确定与交易请求匹配的目标节点,向目标节点发送交易请求;目标节点执行交易请求得到状态数据,目标节点的智能合约生成状态数据对应的交易事件,目标节点对应的验证节点获取交易事件,验证节点执行交易事件,得到状态数据对应的关系型数据,将关系型数据更新于关系型数据库中;验证节点向关系数据读写网关发送数据库更新消息,关系数据读写网关根据数据库更新消息从关系型数据库中读取关系型数据,向目标应用返回关系型数据。
在上述区块链的数据处理方法中,目标网关在接收到目标应用发送的交易请求时,对交易请求进行分发,在区块链网络中确定与交易请求匹配的目标节点,向目标节点发送交易请求,目标节点执行交易请求得到状态数据时,基于智能合约生成交易事件,验证节点执行交易事件得到状态数据对应的关系型数据,将关系型数据更新于关系型数据库中,目标网关接收到数据库更新消息,从关系型数据库中获取关系型数据,向目标应用返回关系型数据;通过智能合约生成状态数据对应的交易事件,验证节点执行交易事件,以将链上的状态数据同步更新到链下的关系型数据库中,目标应用可以直接从关系型数据库中读取关系型数据,提升了区块链的数据读取效率,并且读取的关系型数据可以直接用于前端显示,而不用从链上读取数据,再对从链上读取的数据进行处理,简化了目标应用同步显示链上状态数据的过程,提升了目标应用同步显示链上状态数据对应内容的效率;此外,通过与交易请求匹配的目标节点执行交易请求,通过目标节点对应的验证节点执行状态数据对应的交易事件,将交易请求对应的关系型数据,更新于与交易请求匹配的验证节点的关系型数据库中,进而当不同的交易请求匹配的目标节点不同时,不同交易请求对应的关系型数据可以分库存储,以实现对不同交易请求对应的关系型数据进行数据隔离,提升了数据的安全性。
在一些实施例中,区块链的数据处理方法还包括:接收目标应用发送的包括业务标识的数据查询请求;依据数据库管理信息确定业务标识对应的验证节点;向业务标识对应的验证节点转发数据查询请求,以使验证节点在关系型数据库中获取数据查询请求对应的目标关系型数据;接收业务标识对应的验证节点返回的目标关系型数据;向目标应用发送目标关系型数据。
其中,数据查询请求包括数据查询语句和业务标识,数据查询语句可以是SQL语句。数据库管理信息还包括各业务标识与各数据库地址之间的对应关系,根据业务标识可以查找匹配的数据库地址,数据库地址是验证节点的IP地址。
在一些实施例中,目标应用向目标网关发送数据查询请求,目标网关获取数据查询请求中的业务标识,在数据库管理信息中查找业务标识对应的数据库地址,目标网关向数据库地址对应的验证节点发送数据查询请求,以实现将数据查询请求转发至与业务标识匹配的验证节点。
验证节点接收到数据查询请求,获取数据查询请求所包括的数据查询语句,在关系型数据库中获取数据查询语句对应的目标关系型数据,验证节点将目标关系型数据发送至目标网关,目标网关可以将目标关系型数据转发至目标应用,使得目标应用获取到想要查询的目标关系型数据。
在一些实施例中,业务标识对应的验证节点可以为多个,即目标节点对应的验证节点的数量为多个,并且多个验证节点中的关系型数据库相同;目标网关可以获取多个验证节点各自对应的待处理请求数,并在多个待处理请求数中确定最小待处理请求数,向最小待请求数对应的验证节点发送数据查询请求。
需要说明的是,待处理请求数是验证节点接收到的、还未处理的数据查询请求和数据读取请求的数量;当业务标识对应的验证节点为多个时,可以将数据查询请求发送到较为空闲的验证节点,可以提升从验证节点的关系型数据库中查询目标关系型数据的效率。
在上述实施例中,目标网关将数据查询请求转发至业务标识对应的验证节点,在验证节点的关系型数据库中获取数据查询请求对应的目标关系型数据,验证节点的关系型数据库支持直接查询,不需要从链上获取完整数据,对获取的完整数据进行数据结构转换处理后再进行查询,简化了从链上查询数据的过程,提升了数据查询效率,并且从验证节点的关系型数据库中查询数据,使得查询数据的方式更便捷、更灵活。
在一些实施例中,区块链的数据处理方法还包括:向区块链网络中的核心共识节点发送信息同步请求;接收核心共识节点响应于信息同步请求所返回的数据库管理信息。
其中,核心共识节点是共识网络中的共识节点,核心共识节点包括数据库管理信息,数据库管理信息用于管理各业务对应的关系数据库,具体用于管理关系型数据库的数据容量、写入权限、所处验证节点的数据库地址以及对应目标业务节点的网络地址等;核心共识节点还用于在新增业务时,注册新增业务对应的关系型数据库。
在一些实施例中,核心共识节点通过主链注册表合约维护数据库管理信息; 目标网关向核心共识节点发送信息同步请求,主链注册表合约对信息同步请求进行处理,以获取数据库管理信息,并将数据库管理信息发送至目标网关。
在一些实施例中,目标网关可以周期性地向核心共识节点发送信息同步请求,以便于在数据库管理信息发生更新时,可以及时同步至目标网关。
在一些实施例中,当核心共识节点中的数据库管理信息发生更新时,通过核心共识节点的主链注册表合约向目标网关发送信息更新消息,目标网关响应于信息更新消息向核心共识节点发送信息同步请求。
在一些实施例中,核心共识节点处于主链中,目标共识节点处于子链中,主链中的核心共识节点对各目标共识节点的关系型数据库的相关信息进行管理,不参与交易请求的处理过程,各目标共识节点各自处理子链上的交易请求,不占据主链的链上空间,并且充分利用各子链的链上空间,便于在子链上扩展新的业务所对应的关系型数据库;此外,各目标共识节点各自处理子链上的交易请求,使得在各子链上处理交易请求时交互的数据,不需要通过主链上交互,保证了不同业务之间的数据隔离,提升了数据的安全性。
在上述实施例中,目标网关向核心共识节点发送信息同步请求,以获取数据库管理信息,使得目标网关可以依据数据库管理信息对交易请求和数据查询请求进行分发,以实现通过不同的目标节点,处理不同业务的交易请求,以及从不同的验证节点的关系型数据库中,查询不同业务的关系型数据,实现了数据隔离,提升了数据的安全性。
在一些实施例中,目标节点包括目标业务节点、代理节点和目标共识节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,包括:向目标业务节点发送交易请求,以使得目标业务节点将交易请求发送至代理节点,通过代理节点将交易请求广播至目标共识节点,指示目标共识节点对交易请求进行共识,在达成共识的情况下,依据交易请求对应的执行结果,确定用于更新链上状态的状态数据。
在一些实施例中,目标网关在数据库管理信息中获取交易请求包括的业务表示对应的网络地址,依据网络地址向与交易请求匹配的目标业务节点发送交易请求,目标业务节点将交易请求发送至代理节点,代理节点将交易请求广播至目标业务节点对应的各目标共识节点,各目标共识节点获取到交易请求后,通过业务合约对交易请求进行共识,在达成共识的情况下,业务合约根据交易请求对应的执行结果确定用于更新链上状态的状态数据。
在上述实施例中,通过与交易请求包括的业务标识所对应的目标业务节点和目标共识节点,对交易请求进行处理,得到状态数据,使得不同业务的交易请求,可以通过不同的目标节点处理,实现了数据隔离,提升了数据的安全性。
在一些实施例中,如图5所示,区块链的数据处理方法应用于目标网关,包括:
步骤501,目标网关向区块链网络中的核心共识节点发送第一信息同步请求;接收核心共识节点响应于第一信息同步请求所返回的数据库管理信息;
步骤502,当接收到目标应用发送的交易请求时,目标网关获取交易请求包含的业务标识;在数据库管理信息中查找业务标识对应的网络地址;依据网络地址确定与交易请求匹配的目标节点;
步骤503,目标网关向目标业务节点发送交易请求,以使得目标业务节点将交易请求发送至代理节点,通过代理节点将交易请求广播至目标共识节点,指示目标共识节点对交易请求进行共识,在达成共识的情况下,依据交易请求对应的执行结果,确定用于更新链上状态的状态数据;基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点获取交易事件包含的交易语句和权限标识;在依据权限表确定权限标识满***易条件时,执行交易语句,得到状态数据对应的关系型数据;将关系型数据更新于关系型数据库中;
步骤504,目标网关接收验证节点在更新关系型数据库后发送的数据库更新消息;
步骤505,目标网关向目标应用转发数据库更新消息;在接收到目标应用返回的数据获取请求时,向验证节点转发数据获取请求;接收验证节点依据数据获取请求返回的关系型数据;向目标应用发送关系型数据;
步骤506,接收目标应用发送的包括业务标识的数据查询请求;依据数据库管理信息确定业务标识对应的验证节点;向验证节点转发数据查询请求,以使验证节点在关系型数据库中获取数据查询请求对应的目标关系型数据;接收验证节点返回的目标关系型数据;向目标应用发送目标关系型数据。
在上述区块链的数据处理方法中,目标网关在接收到目标应用发送的交易请求时,对交易请求进行分发,在区块链网络中确定与交易请求匹配的目标节点,向目标节点发送交易请求,目标节点执行交易请求得到状态数据时,基于智能合约生成交易事件,验证节点执行交易事件得到状态数据对应的关系型数据,将关系型数据更新于关系型数据库中,目标网关接收到数据库更新消息,从关系型数据库中获取关系型数据,向目标应用返回关系型数据;通过智能合约生成状态数据对应的交易事件,验证节点执行交易事件,以将链上的状态数据同步更新到链下的关系型数据库中,目标应用可以直接从关系型数据库中读取关系型数据,提升了区块链的数据读取效率,并且读取的关系型数据可以直接用于前端显示,而不用从链上读取数据,再对从链上读取的数据进行处理,简化了目标应用同步显示链上状态数据的过程,提升了目标应用同步显示链上状态数据对应内容的效率;此外,通过与交易请求匹配的目标节点执行交易请求,通过目标节点对应的验证节点执行状态数据对应的交易事件,将交易请求对应的关系型数据,更新于与交易请求匹配的验证节点的关系型数据库中,进而当不同的交易请求匹配的目标节点不同时,不同交易请求对应的关系型数据可以分库存储,以实现对不同交易请求对应的关系型数据进行数据隔离,提升了数据的安全性。
在一些实施例中,如图6所示,提供了一种区块链的数据处理方法,该方法由图1中的目标网关或目标节点执行,也可以通过目标网关和目标节点协同执行,以该方法由图1中的目标节点执行为例进行说明,包括以下步骤:
步骤602,接收目标网关转发的来源于目标应用的交易请求。
其中,目标节点包括目标业务节点、代理节点和目标共识节点。
在一些实施例中,目标共识节点的数量为多个,多个目标共识节点包括目标主共识节点和多个其他目标共识节点;目标业务节点接收目标网关转发的交易请求,将交易请求发送到代理节点,代理节点将交易请求发送到交易数据通道,目标主共识节点从交易数据通道中获取交易请求,将交易请求发送到共识数据通道,以便于多个其他目标共识节点从共识数据通道获取到交易请求。
在一些实施例中,步骤602包括:接收目标网关转发的来源于目标应用的交易请求,包括:通过目标业务节点,接收目标网关转发的来源于目标应用的交易请求;区块链的数据处理方法还包括:通过目标业务节点将交易请求发送至代理节点,以使代理节点将交易请求广播至目标共识节点。
在一些实施例中,目标共识节点的数量为多个,目标业务节点接收目标网关发送的交易请求,将交易请求发送到代理节点,代理节点将交易请求广播至目标业务节点对应的各目标共识节点,进而各目标共识节点接收到交易请求。
其中,关于目标网关将目标应用发送的交易请求转发至目标业务节点,目标业务节点通过代理节点将交易请求发送至目标节点的具体过程,可以上述实施例中,对步骤202和步骤204的说明。
步骤604,执行交易请求得到状态数据。
在一些实施例中,目标共识节点获取到交易请求后,对交易请求进行共识,在达成共识的情况下,目标共识节点根据交易请求对应的执行结果,确定用于更新链上状态的状态数据。
其中,对于目标节点执行交易请求得到状态数据的具体过程,可以上述实施例中,对步骤204的说明。
步骤606,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
在一些实施例中,智能合约获取交易请求包含的权限标识和交易语句,调用注册表合约,以确定交易请求对应的关系型数据库信息,在关系型数据库信息表征存在与交易请求匹配的关系型数据库时,智能合约依据交易语句和权限标识,生成状态数据对应的交易事件。
目标共识节点对应的验证节点获取到该交易事件,并执行该交易事件,得到状态数据对应的关系型数据,验证节点将关系型数据添加至关系型数据库中,并向目标网关发送数据库更新消息;目标网关基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
在一些实施例中,智能合约依据交易语句和权限标识,生成预设协议的交易事件;验证节点对预设协议的事件进行周期性检测,进而在智能合约生成预设协议的交易事件的情况下,该交易事件会被验证节点获取到。需要说明的是,预设协议可以是目标共识节点和验证节点之间进行数据交互的协议,进而,预设协议的交易事件可以被验证节点获取到。
其中,验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中的具体过程,可以参考上述实施例中,对验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中的具体说明。
其中,验证节点向目标网关发送数据库更新消息,目标网关基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据,可以参考上述实施例中,对步骤206和步骤208的具体说明。
在上述区块链的数据处理方法中,目标网关在接收到目标应用发送的交易请求时,对交易请求进行分发,在区块链网络中确定与交易请求匹配的目标节点,向目标节点发送交易请求,目标节点执行交易请求得到状态数据时,基于智能合约生成交易事件,验证节点执行交易事件得到状态数据对应的关系型数据,将关系型数据更新于关系型数据库中,目标网关接收到数据库更新消息,从关系型数据库中获取关系型数据,向目标应用返回关系型数据;通过智能合约生成状态数据对应的交易事件,验证节点执行交易事件,以将链上的状态数据同步更新到链下的关系型数据库中,目标应用可以直接从关系型数据库中读取关系型数据,提升了区块链的数据读取效率,并且读取的关系型数据可以直接用于前端显示,而不用从链上读取数据,再对从链上读取的数据进行处理,简化了目标应用同步显示链上状态数据的过程,提升了目标应用同步显示链上状态数据对应内容的效率;此外,通过与交易请求匹配的目标节点执行交易请求,通过目标节点对应的验证节点执行状态数据对应的交易事件,将交易请求对应的关系型数据,更新于与交易请求匹配的验证节点的关系型数据库中,进而当不同的交易请求匹配的目标节点不同时,不同交易请求对应的关系型数据可以分库存储,以实现对不同交易请求对应的关系型数据进行数据隔离,提升了数据的安全性。
在一些实施例中,目标节点包括目标共识节点;执行交易请求得到状态数据,包括:通过目标共识节点的智能合约,获取所易请求包含的权限标识;在权限标识满***易条件的情况下,通过智能合约向业务合约发送执行消息;通过业务合约执行交易请求,得到执行结果;根据执行结果确定用于更新链上状态的状态数据。
其中,智能合约可以用于处理交易请求,还可以用于生成交易事件。
在一些实施例中,目标共识节点存储有权限表,权限表包括多个用户标识,该多个用户标识对应的用户,具有在关系型数据库中写入数据的权限;智能合约可以在权限表中查找权限标识,若权限标识存在于权限表中,则确定权限标识满***易条件,若权限标识不存在权限表中,则确定权限标识不满***易条件。
在一些实施例中,智能合约可以向数据库管理合约发送权限标识,通过数据库管理合约确定权限标识是否满***易条件,当数据库管理合约确定权限标识满***易条件时,向智能合约返回用于表征满***易条件的第一信息,当数据库管理合约确定权限标识满***易条件时,向智能合约返回用于表征不满***易条件的第二信息,进而智能合约可以根据接收的第一信息或第二信息,确定权限标识是否满***易条件。
目标共识节点的数量为多个,对于每一目标共识节点,在权限标识满***易条件的情况下,通过智能合约向业务合约发送执行消息,业务合约执行交易请求,并得到执行结果,在执行结果在多个目标共识节点之间达成共识的情况下,业务合约根据执行结果确定状态数据,采用状态数据更新链上的状态数据库。
在上述实施例中,通过智能合约确定交易请求是否满***易条件,在交易请求满***易条件的情况下,通过智能合约与业务合约之间的交互,执行交易请求,并得到用于更新链上状态的状态数据,以便于后续可以在链下的关系型数据库中,同步更新状态数据对应的关系型数据。
在一些实施例中,基于智能合约生成状态数据的交易事件,包括:在智能合约接收到业务合约返回的状态数据的情况下,获取交易请求所包含的交易语句;通过智能合约调用注册表合约;依据注册表合约的子数据库管理信息,确定交易请求对应的关系型数据库信息;当关系型数据库信息表征存在与交易请求匹配的关系型数据库时,依据交易语句和权限标识生成状态数据的交易事件。
在一些实施例中,业务合约确定状态数据之后,向智能合约返回状态数据,在智能合约接收到状态数据的情况下,获取交易请求所包含的交易语句,智能合约调用注册表合约,通过注册表合约确定交易请求对应的关系型数据库信息,注册表合约将关系型数据库信息发送到智能合约。
注册表合约维护子数据库管理信息,子数据库管理信息包括目标共识节点对应关系型数据库的数据容量、写入权限、所处验证节点的数据库地址以及对应目标业务节点的网络地址等。
子数据库管理信息是目标网关的数据库管理信息中的部分信息;示例性地,数据库管理信息包括所有业务对应的关系型数据库的信息,子数据管理信息包括某一业务对应的关系型数据库的信息。
注册表合约获取交易请求包括的业务标识,在子数据库管理信息中查找业务标识对应的关系型数据库信息,当子数据库管理信息中存在业务标识对应的关系型数据库标识,则确定关系型数据库信息为第三信息,当子数据库管理信息中不存在业务标识对应的关系型数据库表示,则确定关系型数据库信息为第四信息。
当智能合约接收的关系型数据库信息为第三信息时,依据交易请求包括的交易语句和权限标识生成预设协议的交易事件,以便于验证节点对预设协议的时间进行周期性检测时,可以获取到预设协议的交易事件。
当智能合约接收到的关系型数据库信息为第四信息时,即确定不存在交易请求对应的关系型数据库,进而不会生成交易事件。
示例性地,如图7所示,目标共识节点的智能合约获取交易请求包括的权限标识,在权限标识满***易条件的情况下,向业务合约发送执行消息,业务合约执行交易请求,以得到状态数据,业务合约将状态数据返回至智能合约,智能合约接收到状态数据后,调用注册表合约,注册表合约在子数据库管理信息中,确定交易请求对应的关系型数据库信息,在关系型数据库信息表征存在与交易请求匹配的关系型数据库时,智能合约获取交易请求包括的交易语句,根据交易语句和权限标识生成预设协议的交易事件。
在上述实施例中,在接收到状态数据的情况下,通过目标共识节点的智能合约和注册表合约之间的交互,生成状态数据对应的交易事件,以便于验证节点获取、执行交易事件,得到状态数据对应的关系型数据,并更新至关系型数据库中,实现将链上的状态数据同步更新至链下的关系型数据库中。
在一些实施例中,区块链的数据处理方法还包括:向区块链网络中的核心共识节点发送第二信息同步请求;接收核心共识节点响应于第二信息同步请求所发送的子数据库管理信息。
在一些实施例中,目标共识节点向核心共识节点发送信息同步请求,核心共识节点响应于信息同步请求,获取子数据库管理信息,将子数据库管理信息发送至目标共识节点;目标共识节点可以通过注册表合约向核心共识节点发送信息同步请求,相应地,依据第二信息同步请求获取的子数据库管理信息由注册表合约维护。
在一些实施例中,目标共识节点可以周期性地向核心共识节点发送信息同步请求,以便于子数据库管理信息发生更新时,可以及时同步目标共识节点。
在一些实施例中,当核心共识节点中的子数据库管理信息发生更新时,核心共识节点可以向目标共识节点发送信息更新消息,目标共识节点响应于信息更新消息向核心共识节点发送信息同步请求。
示例性地,如图8所示,核心共识节点可以将子数据库管理信息发送到目标共识节点,以便于目标共识节点可以从子数据库管理信息中确定交易请求对应的关系型数据库信息;核心共识节点可以将数据库管理信息发送到目标网关,以便于目标网关可以根据数据库管理信息确定交易请求对应的目标节点,以及确定数据查询请求对应的验证节点。
在上述实施例中,目标共识节点向核心共识节点发送第二信息同步请求,可以同步核心共识节点中的子数据库管理信息,并通过子数据库管理信息确定交易请求对应的关系型数据库信息,保证了区块链网络中数据库信息的一致性。
在一些实施例中,如图9所示,区块链的数据处理方法应用于目标节点,目标节点包括目标业务节点、代理节点和目标共识节点,区块链的数据处理方法包括:
步骤901,目标共识节点向区块链网络中的核心共识节点发送第二信息同步请求;接收核心共识节点响应于第二信息同步请求所发送的子数据库管理信息;
步骤902,目标业务节点,接收目标网关转发的来源于目标应用的交易请求;目标业务节点将交易请求发送至代理节点,以使代理节点将交易请求广播至目标共识节点;
步骤903,目标共识节点的智能合约,获取交易请求包含的权限标识;在权限标识满***易条件的情况下,通过智能合约向业务合约发送执行消息;通过业务合约执行交易请求,得到执行结果;根据执行结果确定用于更新链上状态的状态数据;
步骤904,在智能合约接收到业务合约返回的状态数据的情况下,获取交易请求所包含的交易语句;通过智能合约调用注册表合约;依据注册表合约的子数据库管理信息,确定交易请求对应的关系型数据库信息;
步骤905,当关系型数据库信息表征存在与交易请求匹配的关系型数据库时,目标共识节点的智能合约依据交易语句和权限标识生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
在上述区块链的数据处理方法中,目标网关在接收到目标应用发送的交易请求时,对交易请求进行分发,在区块链网络中确定与交易请求匹配的目标节点,向目标节点发送交易请求,目标节点执行交易请求得到状态数据时,基于智能合约生成交易事件,验证节点执行交易事件得到状态数据对应的关系型数据,将关系型数据更新于关系型数据库中,目标网关接收到数据库更新消息,从关系型数据库中获取关系型数据,向目标应用返回关系型数据;通过智能合约生成状态数据对应的交易事件,验证节点执行交易事件,以将链上的状态数据同步更新到链下的关系型数据库中,目标应用可以直接从关系型数据库中读取关系型数据,提升了区块链的数据读取效率,并且读取的关系型数据可以直接用于前端显示,而不用从链上读取数据,再对从链上读取的数据进行处理,简化了目标应用同步显示链上状态数据的过程,提升了目标应用同步显示链上状态数据对应内容的效率;此外,通过与交易请求匹配的目标节点执行交易请求,通过目标节点对应的验证节点执行状态数据对应的交易事件,将交易请求对应的关系型数据,更新于与交易请求匹配的验证节点的关系型数据库中,进而当不同的交易请求匹配的目标节点不同时,不同交易请求对应的关系型数据可以分库存储,以实现对不同交易请求对应的关系型数据进行数据隔离,提升了数据的安全性。
在一些实施例中,如图10所示,提供了一种区块链的数据处理***,包括:
目标网关1002,用于当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点,并向目标节点转发交易请求。
其中,目标网关在区块链网络中确定与交易请求匹配的目标节点,并向目标节点转发交易请求的详细过程,可以参考上述实施例中对步骤202的说明。
目标节点1004,用于执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件。
其中,目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的详细过程,可以参考上述实施例中对步骤204的说明。
验证节点1006,用于确定状态数据对应的关系型数据,并更新于关系型数据库中;验证节点是与目标节点对应的节点。
其中,验证节点确定关系型数据,并更新关系型数据库中的详细过程,可以参考上述实施例中,对步骤204的说明。
目标网关1002,还用于接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
其中,目标网关接收数据库更新消息,基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据的详细过程,可以参考上述实施例中对步骤206和步骤208的说明。
在上述区块链的数据处理***中,目标网关在接收到目标应用发送的交易请求时,对交易请求进行分发,在区块链网络中确定与交易请求匹配的目标节点,向目标节点发送交易请求,目标节点执行交易请求得到状态数据时,基于智能合约生成交易事件,验证节点执行交易事件得到状态数据对应的关系型数据,将关系型数据更新于关系型数据库中,目标网关接收到数据库更新消息,从关系型数据库中获取关系型数据,向目标应用返回关系型数据;通过智能合约生成状态数据对应的交易事件,验证节点执行交易事件,以将链上的状态数据同步更新到链下的关系型数据库中,目标应用可以直接从关系型数据库中读取关系型数据,提升了区块链的数据读取效率,并且读取的关系型数据可以直接用于前端显示,而不用从链上读取数据,再对从链上读取的数据进行处理,简化了目标应用同步显示链上状态数据的过程,提升了目标应用同步显示链上状态数据对应内容的效率;此外,通过与交易请求匹配的目标节点执行交易请求,通过目标节点对应的验证节点执行状态数据对应的交易事件,将交易请求对应的关系型数据,更新于与交易请求匹配的验证节点的关系型数据库中,进而,当不同的交易请求匹配的目标节点不同时,不同交易请求对应的关系型数据可以分库存储,以实现对不同交易请求对应的关系型数据进行数据隔离,提升了数据的安全性。
在一些实施例中,目标网关,还用于获取交易请求包含的业务标识,在数据库管理信息中查找业务标识对应的网络地址;依据网络地址确定与交易请求匹配的目标节点。
在一些实施例中,目标网关,还用于接收目标应用发送的包括业务标识的数据查询请求;依据数据库管理信息确定业务标识对应的验证节点;向业务标识对应的验证节点转发数据查询请求,以使验证节点在关系型数据库中获取数据查询请求对应的目标关系型数据;接收业务标识对应的验证节点返回的目标关系型数据;向目标应用发送目标关系型数据。
在一些实施例中,目标网关,还用于向区块链网络中的核心共识节点发送第一信息同步请求;接收核心共识节点响应于第一信息同步请求所返回的数据库管理信息。
在一些实施例中,目标网关,还用于向目标应用转发数据库更新消息;在接收到目标应用返回的数据获取请求时,向验证节点转发数据获取请求;接收验证节点依据数据获取请求返回的关系型数据;向目标应用发送关系型数据。
在一些实施例中,验证节点,还用于获取交易事件包含的交易语句和权限标识;在依据权限表确定权限标识满***易条件时,执行交易语句,得到状态数据对应的关系型数据;将关系型数据更新于关系型数据库中。
在一些实施例中,目标节点包括目标业务节点、代理节点和目标共识节点;目标业务节点,用于接收目标网关转发的交易请求,并将交易请求发送至代理节点;代理节点,用于将交易请求广播至目标共识节点;目标共识节点,用于对交易请求进行共识,在达成共识的情况下,依据交易请求对应的执行结果,确定用于更新链上状态的状态数据,基于智能合约生成状态数据的交易事件。
在一些实施例中,目标共识节点,还用于通过目标共识节点的智能合约,获取交易请求包含的权限标识;在权限标识满***易条件的情况下,通过智能合约向业务合约发送执行消息;通过业务合约执行交易请求,得到执行结果;根据执行结果确定用于更新链上状态的状态数据。
在一些实施例中,目标共识节点,还用于在智能合约接收到业务合约返回的状态数据的情况下,获取交易请求所包含的交易语句;通过智能合约调用注册表合约;依据注册表合约的子数据库管理信息,确定交易请求对应的关系型数据库信息;当关系型数据库信息表征存在与交易请求匹配的关系型数据库时,依据交易语句和权限标识生成状态数据的交易事件。
在一些实施例中,目标共识节点,还用于向区块链网络中的核心共识节点发送第二信息同步请求;接收核心共识节点响应于第二信息同步请求所发送的子数据库管理信息。
在一些实施例中,如图11所示,区块链的数据处理***包括:客户端、目标网关、目标业务节点、代理节点、目标共识节点、验证节点和核心共识节点,其中,目标业务节点处于区块链网络的业务网络中,目标共识节点、验证节点和核心共识节点处于区块链网络的共识网路中;目标业务节点、目标共识节点和验证节点,均是与交易请求匹配的节点。
核心共识节点通过主链注册表合约维护数据库管理信息,目标网关从核心共识节点中同步数据库管理信息,目标共识节点和验证节点,从核心共识节点中同步其处理的业务所对应的子数据库管理信息。
目标应用在客户端上运行,目标应用可以向目标网关发送交易请求,目标网关向与交易请求匹配的目标业务节点发送交易请求,目标业务节点通过代理节点将交易请求广播至目标共识节点,目标共识节点通过智能合约、业务合约和注册表合约执行交易请求得到状态数据,并生成交易事件;验证节点执行交易事件得到关系型数据,将关系型数据更新于关系型数据库中;目标网关可以从关系型数据库中获取最新的关系型数据,并转发至目标应用,使得目标应用可以将关系型数据用于前端显示。
目标应用还可以向目标网关发送数据查询请求,目标网关将数据查询请求转发至对应的验证节点,从验证节点的关系型数据库中获取数据查询请求对应的目标关系型数据,目标网关将目标关系型数据返回至目标应用。
在一些实施例中,如图12所示,区块链的数据处理***用于执行区块链的数据处理方法,区块链的数据处理***可以应用于电子票据场景下。
业务层对应上述实施例中的业务网络,共识层对应上述实施例中的共识网络;路由代理层用于转发业务层和共识层之间的交易请求;目标业务节点部署于业务层中,目标共识节点部署于共识层中,代理节点部署于路由代理层中。
在电子票据场景下,目标应用可以是电子税局的去中心化应用程序、企业用户对应的中心化应用程序或消费者对应的中心化应用程序;目标业务节点可以是业务层中的电子税局的后台服务器、企业用户对应的后台服务器或消费者对应的后台服务器;其中,电子税局可以是税局专网中的地方税局,企业用户可以是公有云中的开票服务商、报销服务商或KA企业(Key Account企业,即关键客户企业,比如大型零售企业),消费者可以是私有云中的支付服务商、报销服务商或者零售企业。核心链1、核心链2、…、核心链N分别是不同区域的税局所维护的区块链,在本申请实施例中,税务专网的核心链1、核心链2、…、核心链N可以是不同业务各自对应的共识节点所维护的区块链,目标共识节点可以是核心链中的可信节点(TrustSQL节点),TrustSQL节点具备执行交易请求得到状态数据,以及生成预设协议的交易事件的能力;假设,交易请求中业务标识对应的区块链为核心链1,则核心链1中的可信节点,为目标共识节点。
路由代理层中的代理节点可以用于对业务层和共识层进行网络隔离,代理节点具有点对点服务、路由服务、证书缓存和认证服务;点对点服务使得代理节点可以与目标代理节点和目标共识节点进行点对点网络连接;路由服务使得代理节点可以与目标业务节点和目标共识节点进行通信;证书缓存中的证书,可以是目标业务节点的公钥;认证服务可以通过公钥对目标业务节点发送的交易请求进行解密,代理节点通过缓存的公钥对加密的交易请求进行解密,使得交易请求不易泄露,提升交易请求的安全性。
示例性地,当消费者在产生消费行为后,企业用户通过对应的终端设备针对该消费行为进行开票,产生交易请求;目标网关向交易请求匹配的目标业务节点发送交易请求,目标业务节点向代理节点发送交易请求,路由代理层中的代理节点获取到目标业务节点发送的交易请求后,可以将交易请求广播至共识层中的目标共识节点,目标共识节点可以对交易请求进行共识,生成状态数据,并生成预设协议的交易事件。
验证节点可以部署于共识层中,周期性地获取预设协议的事件,在目标共识节点生成预设协议的交易事件时,验证节点可以获取到交易事件,验证节点可以执行交易事件得到关系型数据,将关系型数据更新于关系型数据库的能力。
目标网关可以从验证节点的关系型数据库中获取更新的关系型数据,将关系型数据发送至目标应用。
在上述区块链的数据处理***中,目标网关在接收到目标应用发送的交易请求时,对交易请求进行分发,在区块链网络中确定与交易请求匹配的目标节点,向目标节点发送交易请求,目标节点执行交易请求得到状态数据时,基于智能合约生成交易事件,验证节点执行交易事件得到状态数据对应的关系型数据,将关系型数据更新于关系型数据库中,目标网关接收到数据库更新消息,从关系型数据库中获取关系型数据,向目标应用返回关系型数据;通过智能合约生成状态数据对应的交易事件,验证节点执行交易事件,以将链上的状态数据同步更新到链下的关系型数据库中,目标应用可以直接从关系型数据库中读取关系型数据,提升了区块链的数据读取效率,并且读取的关系型数据可以直接用于前端显示,而不用从链上读取数据,再对从链上读取的数据进行处理,简化了目标应用同步显示链上状态数据的过程,提升了目标应用同步显示链上状态数据对应内容的效率;此外,通过与交易请求匹配的目标节点执行交易请求,通过目标节点对应的验证节点执行状态数据对应的交易事件,将交易请求对应的关系型数据,更新于与交易请求匹配的验证节点的关系型数据库中,进而当不同的交易请求匹配的目标节点不同时,不同交易请求对应的关系型数据可以分库存储,以实现对不同交易请求对应的关系型数据进行数据隔离,提升了数据的安全性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的区块链的数据处理方法的区块链的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个区块链的数据处理装置实施例中的具体限定可以参见上文中对于区块链的数据处理方法的限定,在此不再赘述。
在一些实施例中,如图13所示,提供了一种区块链的数据处理装置,包括:目标节点确定模块1301、交易请求转发模块1302、数据库更新消息接收模块1303和关系型数据获取模块1304,其中:
目标节点确定模块1301,用于当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;
交易请求转发模块1302,用于向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;
数据库更新消息接收模块1303,用于接收验证节点在更新关系型数据库后发送的数据库更新消息;
关系型数据获取模块1304,用于基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
在一些实施例中,目标节点确定模块1301,还用于获取交易请求包含的业务标识;在数据库管理信息中查找业务标识对应的网络地址;依据网络地址确定与交易请求匹配的目标节点。
在一些实施例中,区块链的数据处理装置还包括:目标关系型数据查询模块,用于接收目标应用发送的包括业务标识的数据查询请求;依据数据库管理信息确定业务标识对应的验证节点;向业务标识对应的验证节点转发数据查询请求,以使验证节点在关系型数据库中获取数据查询请求对应的目标关系型数据;接收业务标识对应的验证节点返回的目标关系型数据;向目标应用发送目标关系型数据。
在一些实施例中,区块链的数据处理装置还包括:第一信息同步模块,用于向区块链网络中的核心共识节点发送第一信息同步请求;接收核心共识节点响应于第一信息同步请求所返回的数据库管理信息;第一信息同步模块,部署于目标网关中。
在一些实施例中,区块链的数据处理装置还包括:关系型数据获取模块1304,还用于向目标应用转发数据库更新消息;在接收到目标应用返回的数据获取请求,并向验证节点转发数据获取请求;接收验证节点依据数据获取请求返回的关系型数据;向目标应用发送关系型数据。
在一些实施例中,目标节点包括目标业务节点、代理节点和目标共识节点;交易请求转发模块1302,还用于向目标业务节点发送交易请求,以使得目标业务节点将交易请求发送至代理节点,通过代理节点将交易请求广播至目标共识节点,指示目标共识节点对交易请求进行共识,在达成共识的情况下,依据交易请求对应的执行结果,确定用于更新链上状态的状态数据。
在一些实施例中,区块链的数据处理装置还包括:关系型数据确定模块,用于获取交易事件包含的交易语句和权限标识;在依据权限表确定权限标识满***易条件时,执行交易语句,得到状态数据对应的关系型数据;将关系型数据更新于关系型数据库中;关系型数据确定模块可以部署于验证节点中。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的区块链的数据处理方法的区块链的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个区块链的数据处理装置实施例中的具体限定可以参见上文中对于区块链的数据处理方法的限定,在此不再赘述。
在一些实施例中,如图14所示,提供了一种区块链的数据处理装置,包括:交易请求接收模块1401、交易请求执行模块1402和交易事件生成模块1403,其中:
交易请求接收模块1401,用于接收目标网关转发的来源于目标应用的交易请求;
交易请求执行模块1402,用于执行交易请求得到状态数据;
交易事件生成模块1403,用于基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
在一些实施例中,目标节点包括目标业务节点、代理节点和目标共识节点;交易请求接收模块1401,还接收目标网关转发的来源于目标应用的交易请求,包括:通过目标业务节点,接收目标网关转发的来源于目标应用的交易请求;通过目标业务节点将交易请求发送至代理节点,以使代理节点将交易请求广播至目标共识节点。
在一些实施例中,交易请求执行模块1402,还用于通过目标共识节点的智能合约,获取交易请求包含的权限标识;在权限标识满***易条件的情况下,通过智能合约向业务合约发送执行消息;通过业务合约执行交易请求,得到执行结果;根据执行结果确定用于更新链上状态的状态数据。
在一些实施例中,交易事件生成模块1403,还用于在智能合约接收到业务合约返回的状态数据的情况下,获取交易请求所包含的交易语句;通过智能合约调用注册表合约;依据注册表合约的子数据库管理信息,确定交易请求对应的关系型数据库信息;当关系型数据库信息表征存在与交易请求匹配的关系型数据库时,依据交易语句和权限标识生成状态数据的交易事件。
在一些实施例中,区块链的数据处理装置还包括:第二信息同步模块,用于,向区块链网络中的核心共识节点发送第二信息同步请求;接收核心共识节点响应于第二信息同步请求所发送的子数据库管理信息;第二信息同步模块,部署于目标共识节点中。
上述区块链的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储智能合约、状态数据、关系型数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种区块链的数据处理方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据;或者,
接收目标网关转发的来源于目标应用的交易请求;执行交易请求得到状态数据;基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据;或者,
接收目标网关转发的来源于目标应用的交易请求;执行交易请求得到状态数据;基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
当接收到目标应用发送的交易请求时,在区块链网络中确定与交易请求匹配的目标节点;向目标节点转发交易请求,以使目标节点执行交易请求得到状态数据,基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中;接收验证节点在更新关系型数据库后发送的数据库更新消息;基于数据库更新消息从关系型数据库中读取关系型数据,并向目标应用返回关系型数据;或者,
接收目标网关转发的来源于目标应用的交易请求;执行交易请求得到状态数据;基于智能合约生成状态数据的交易事件;交易事件用于指示目标节点对应的验证节点确定状态数据对应的关系型数据,并更新于关系型数据库中,向目标网关发送数据库更新消息;数据库更新消息用于指示目标网关从关系型数据库中读取关系型数据,并向目标应用返回关系型数据。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(DynamicRandom AccessMemory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (19)

1.一种区块链的数据处理方法,其特征在于,所述方法包括:
当接收到目标应用发送的交易请求时,在区块链网络中确定与所述交易请求匹配的目标节点;
向所述目标节点转发所述交易请求,以使所述目标节点执行所述交易请求得到状态数据,基于智能合约生成所述状态数据的交易事件;所述交易事件用于指示所述目标节点对应的验证节点确定所述状态数据对应的关系型数据,并更新于关系型数据库中;
接收所述验证节点在更新所述关系型数据库后发送的数据库更新消息;
基于所述数据库更新消息从所述关系型数据库中读取所述关系型数据,并向所述目标应用返回所述关系型数据。
2.根据权利要求1所述的方法,其特征在于,所述在区块链网络中确定与所述交易请求匹配的目标节点,包括:
获取所述交易请求包含的业务标识;
在数据库管理信息中查找所述业务标识对应的网络地址;
依据所述网络地址确定与所述交易请求匹配的目标节点。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述目标应用发送的包括业务标识的数据查询请求;
依据数据库管理信息确定所述业务标识对应的验证节点;
向所述验证节点转发所述数据查询请求,以使所述验证节点在所述关系型数据库中获取所述数据查询请求对应的目标关系型数据;
接收所述验证节点返回的所述目标关系型数据;
向所述目标应用发送所述目标关系型数据。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
向所述区块链网络中的核心共识节点发送第一信息同步请求;
接收所述核心共识节点响应于所述第一信息同步请求所返回的所述数据库管理信息。
5.根据权利要求1所述的方法,其特征在于,所述基于所述数据库更新消息从所述关系型数据库中读取所述关系型数据,并向所述目标应用返回所述关系型数据,包括:
向所述目标应用转发所述数据库更新消息;
在接收到所述目标应用返回的数据获取请求时,向所述验证节点转发所述数据获取请求;
接收所述验证节点依据所述数据获取请求返回的所述关系型数据;
向所述目标应用发送所述关系型数据。
6.根据权利要求1所述的方法,其特征在于,所述目标节点包括目标业务节点、代理节点和目标共识节点;所述向所述目标节点转发所述交易请求,以使所述目标节点执行所述交易请求得到状态数据,包括:
向所述目标业务节点发送所述交易请求,以使得所述目标业务节点将所述交易请求发送至所述代理节点,通过所述代理节点将所述交易请求广播至所述目标共识节点,指示所述目标共识节点对所述交易请求进行共识,在达成共识的情况下,依据所述交易请求对应的执行结果,确定用于更新链上状态的状态数据。
7.根据权利要求1、2、3、5或6任一所述的方法,其特征在于,所述确定所述状态数据对应的关系型数据,并更新于关系型数据库中,包括:
获取所述交易事件包含的交易语句和权限标识;
在依据权限表确定所述权限标识满***易条件时,执行所述交易语句,得到所述状态数据对应的关系型数据;
将所述关系型数据更新于关系型数据库中。
8.一种区块链的数据处理方法,其特征在于,所述方法包括:
接收目标网关转发的来源于目标应用的交易请求;
执行所述交易请求得到状态数据;
基于智能合约生成所述状态数据的交易事件;所述交易事件用于指示目标节点对应的验证节点确定所述状态数据对应的关系型数据,并更新于关系型数据库中,向所述目标网关发送数据库更新消息;所述数据库更新消息用于指示所述目标网关从所述关系型数据库中读取所述关系型数据,并向所述目标应用返回所述关系型数据。
9.根据权利要求8所述的方法,其特征在于,所述目标节点包括目标业务节点、代理节点和目标共识节点;
所述接收目标网关转发的来源于目标应用的交易请求,包括:
通过所述目标业务节点,接收目标网关转发的来源于目标应用的交易请求;
所述方法还包括:通过所述目标业务节点将所述交易请求发送至所述代理节点,以使所述代理节点将所述交易请求广播至所述目标共识节点。
10.根据权利要求8所述的方法,其特征在于,所述目标节点包括目标共识节点;所述执行所述交易请求得到状态数据,包括:
通过所述目标共识节点的智能合约,获取所述交易请求包含的权限标识;
在所述权限标识满***易条件的情况下,通过所述智能合约向业务合约发送执行消息;
通过所述业务合约执行所述交易请求,得到执行结果;
根据所述执行结果确定用于更新链上状态的状态数据。
11.根据权利要求10所述的方法,其特征在于,所述基于智能合约生成所述状态数据的交易事件,包括:
在所述智能合约接收到所述业务合约返回的所述状态数据的情况下,获取所述交易请求所包含的交易语句;
通过所述智能合约调用注册表合约;
依据所述注册表合约的子数据库管理信息,确定所述交易请求对应的关系型数据库信息;
当所述关系型数据库信息表征存在与所述交易请求匹配的关系型数据库时,依据所述交易语句和所述权限标识生成所述状态数据的交易事件。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
向所述区块链网络中的核心共识节点发送第二信息同步请求;
接收所述核心共识节点响应于所述第二信息同步请求所发送的所述子数据库管理信息。
13.一种区块链的数据处理***,其特征在于,所述***包括:
目标网关,用于当接收到目标应用发送的交易请求时,在区块链网络中确定与所述交易请求匹配的目标节点,并向所述目标节点转发所述交易请求;
所述目标节点,用于执行所述交易请求得到状态数据,基于智能合约生成所述状态数据的交易事件;
验证节点,用于确定所述状态数据对应的关系型数据,并更新于关系型数据库中;所述验证节点是与所述目标节点对应的节点;
所述目标网关,还用于接收所述验证节点在更新所述关系型数据库后发送的数据库更新消息;基于所述数据库更新消息从所述关系型数据库中读取所述关系型数据,并向所述目标应用返回所述关系型数据。
14.根据权利要求13所述的***,其特征在于,所述目标节点包括目标业务节点、代理节点和目标共识节点;
所述目标业务节点,用于接收所述目标网关转发的所述交易请求,并将所述交易请求发送至所述代理节点;
所述代理节点,用于将所述交易请求广播至所述目标共识节点;
所述目标共识节点,用于对所述交易请求进行共识,在达成共识的情况下,依据所述交易请求对应的执行结果,确定用于更新链上状态的状态数据,基于智能合约生成所述状态数据的交易事件。
15.一种区块链的数据处理装置,其特征在于,所述装置包括:
目标节点确定模块,用于当接收到目标应用发送的交易请求时,在区块链网络中确定与所述交易请求匹配的目标节点;
交易请求转发模块,用于向所述目标节点转发所述交易请求,以使所述目标节点执行所述交易请求得到状态数据,基于智能合约生成所述状态数据的交易事件;所述交易事件用于指示所述目标节点对应的验证节点确定所述状态数据对应的关系型数据,并更新于关系型数据库中;
数据库更新消息接收模块,用于接收所述验证节点在更新所述关系型数据库后发送的数据库更新消息;
关系型数据获取模块,用于基于所述数据库更新消息从所述关系型数据库中读取所述关系型数据,并向所述目标应用返回所述关系型数据。
16.一种区块链的数据处理装置,其特征在于,所述装置包括:
交易请求接收模块,用于接收目标网关转发的来源于目标应用的交易请求;
交易请求执行模块,用于执行所述交易请求得到状态数据;
交易事件生成模块,用于基于智能合约生成所述状态数据的交易事件;所述交易事件用于指示目标节点对应的验证节点确定所述状态数据对应的关系型数据,并更新于关系型数据库中,向所述目标网关发送数据库更新消息;所述数据库更新消息用于指示所述目标网关从所述关系型数据库中读取所述关系型数据,并向所述目标应用返回所述关系型数据。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
19.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
CN202310939637.6A 2023-07-28 2023-07-28 区块链的数据处理方法、***、装置和计算机设备 Active CN116684425B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310939637.6A CN116684425B (zh) 2023-07-28 2023-07-28 区块链的数据处理方法、***、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310939637.6A CN116684425B (zh) 2023-07-28 2023-07-28 区块链的数据处理方法、***、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN116684425A true CN116684425A (zh) 2023-09-01
CN116684425B CN116684425B (zh) 2023-10-27

Family

ID=87787641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310939637.6A Active CN116684425B (zh) 2023-07-28 2023-07-28 区块链的数据处理方法、***、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN116684425B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543788A (zh) * 2019-09-11 2019-12-06 腾讯科技(深圳)有限公司 数据存储方法、装置、计算机可读存储介质和计算机设备
WO2020108289A1 (zh) * 2018-11-29 2020-06-04 华为技术有限公司 一种数据库***、节点和方法
CN112685505A (zh) * 2021-01-07 2021-04-20 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、计算机设备及存储介质
CN113421097A (zh) * 2021-08-23 2021-09-21 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN114219490A (zh) * 2022-01-13 2022-03-22 平安普惠企业管理有限公司 交易行为数据的更新方法、装置、设备及存储介质
CN114782016A (zh) * 2022-04-24 2022-07-22 蚂蚁金服(杭州)网络技术有限公司 基于智能合约的债权数据处理方法、装置及区块链***
CN115114372A (zh) * 2022-05-31 2022-09-27 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
WO2023020233A1 (zh) * 2021-08-18 2023-02-23 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及存储介质
CN116366666A (zh) * 2022-12-30 2023-06-30 蚂蚁区块链科技(上海)有限公司 区块链***中的链状态更新方法和区块链节点

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020108289A1 (zh) * 2018-11-29 2020-06-04 华为技术有限公司 一种数据库***、节点和方法
CN110543788A (zh) * 2019-09-11 2019-12-06 腾讯科技(深圳)有限公司 数据存储方法、装置、计算机可读存储介质和计算机设备
CN112685505A (zh) * 2021-01-07 2021-04-20 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、计算机设备及存储介质
WO2023020233A1 (zh) * 2021-08-18 2023-02-23 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及存储介质
CN113421097A (zh) * 2021-08-23 2021-09-21 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN114219490A (zh) * 2022-01-13 2022-03-22 平安普惠企业管理有限公司 交易行为数据的更新方法、装置、设备及存储介质
CN114782016A (zh) * 2022-04-24 2022-07-22 蚂蚁金服(杭州)网络技术有限公司 基于智能合约的债权数据处理方法、装置及区块链***
CN115114372A (zh) * 2022-05-31 2022-09-27 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN116366666A (zh) * 2022-12-30 2023-06-30 蚂蚁区块链科技(上海)有限公司 区块链***中的链状态更新方法和区块链节点

Also Published As

Publication number Publication date
CN116684425B (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
AU2019203850B2 (en) Constructing blockchain world state merkle patricia trie subtree
AU2019203849C1 (en) Updating blockchain world state merkle patricia trie subtree
Wu et al. VQL: Efficient and verifiable cloud query services for blockchain systems
CN108389130B (zh) 一种生成多交易模式联盟链的方法
CN109522330B (zh) 基于区块链的云平台数据处理方法、装置、设备及介质
CN109495592B (zh) 数据协同方法及电子设备
CN112235420B (zh) 基于区块链的数据同步方法、***及相关设备
CN101442558B (zh) 一种为p2sp网络提供索引服务的方法和***
CN109040337A (zh) 一种信息查询方法、边缘服务器及信息查询***
TWI706283B (zh) 基於區塊鏈的流量統計方法、裝置和設備
CN113765675B (zh) 一种交易数据处理方法、装置、设备以及介质
US20240097879A1 (en) Blockchain-based data management of distributed binary objects
WO2022057525A1 (zh) 一种数据找回方法、装置、电子设备及存储介质
Gao et al. BFR‐SE: A Blockchain‐Based Fair and Reliable Searchable Encryption Scheme for IoT with Fine‐Grained Access Control in Cloud Environment
CN113505260A (zh) 人脸识别方法、装置、计算机可读介质及电子设备
CN116684425B (zh) 区块链的数据处理方法、***、装置和计算机设备
CN117010889A (zh) 数据处理方法、装置及设备、介质、产品
Zhao et al. Blockchain-based UDDI data replication and sharing
Qing et al. Blockchain interoperability mechanism
CN117527902A (zh) 数据处理方法、装置、设备及存储介质
WO2024037117A1 (zh) 一种基于区块链的数据处理方法、设备、介质和程序产品
CN110933155B (zh) 一种新型区块链网络
EP4375850A1 (en) Multi-blockchain data processing method and apparatus, and device, system and medium
CN106936574A (zh) 一种鉴权***和方法
CN116506294A (zh) 共识网络优化方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40094956

Country of ref document: HK