CN117294753A - 一种基于区块链的数据处理方法、设备以及可读存储介质 - Google Patents
一种基于区块链的数据处理方法、设备以及可读存储介质 Download PDFInfo
- Publication number
- CN117294753A CN117294753A CN202210679940.2A CN202210679940A CN117294753A CN 117294753 A CN117294753 A CN 117294753A CN 202210679940 A CN202210679940 A CN 202210679940A CN 117294753 A CN117294753 A CN 117294753A
- Authority
- CN
- China
- Prior art keywords
- service
- contract
- target
- node
- business
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 116
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000004891 communication Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 16
- 230000003993 interaction Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011835 investigation Methods 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种基于区块链的数据处理方法、设备以及可读存储介质,该方法包括:获取携带业务数据的业务处理请求,基于业务处理请求调用包括节点指引信息的第一合约前置服务程序;在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易;通过第一合约前置服务程序,将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约对业务交易进行业务处理,返回业务处理结果至目标设备;目标业务节点属于区块链网络。采用本申请,不仅可以降低区块链业务接入的难度,还可以提高区块链网络的数据安全性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于区块链的数据处理方法、设备以及可读存储介质。
背景技术
随着网络技术的快速发展以及人们对数据安全的重视,区块链得到了极大的重视和应用。
在现有技术中,目标设备需要预先适配区块链网络,业务参与方才能上传业务数据至区块链网络,例如安装有***客户端的目标设备需要封装有区块链配置信息,即开发人员需要完成区块链数据结构的对接工作,但是目标设备的开发人员或***客户端的开发人员可能获取不到区块链配置信息,或无法准确封装区块链配置信息,致使目标设备无法上传业务数据至区块链网络。显然,现有技术存在区块链业务接入难度高的缺陷。此外,现有技术是目标设备与区块链网络中的区块链节点直接进行数据传输,故目标设备可以访问区块链节点上与业务数据无关的链上数据,故降低了区块链网络的数据安全性。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、设备以及可读存储介质,不仅可以降低区块链业务接入的难度,还可以提高区块链网络的数据安全性。
本申请实施例一方面提供了一种数据处理方法,包括:
目标设备获取携带业务数据的业务处理请求,基于业务处理请求调用第一合约前置服务程序;第一合约前置服务程序包括节点指引信息;
在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易;
通过第一合约前置服务程序,将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备;目标业务节点属于区块链网络。
本申请实施例一方面提供了一种数据处理方法,方法由区块链网络中的目标业务节点执行,方法包括:
获取目标设备通过第一合约前置服务程序所发送的业务交易;业务交易是目标设备在第一合约前置服务程序中,基于业务数据所生成的,且业务交易与区块链数据结构相匹配;第一合约前置服务程序是由目标设备是在获取到携带业务数据的业务处理请求时进行调用的;第一合约前置服务程序包括节点指引信息;节点指引信息用于指引第一合约前置服务程序将业务交易发送至目标业务节点;
根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约;
通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备。
本申请实施例一方面提供了一种基于区块链的数据处理装置,基于区块链的数据处理装置运行于目标设备,包括:
请求获取模块,用于获取携带业务数据的业务处理请求,基于业务处理请求调用第一合约前置服务程序;第一合约前置服务程序包括节点指引信息;
第一生成模块,用于在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易;
第一发送模块,用于通过第一合约前置服务程序,将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备;目标业务节点属于区块链网络。
其中,请求获取模块,包括:
类型对比单元,用于将业务数据对应的业务类型,与第一合约前置服务程序对应的业务类型进行对比;
第一生成单元,用于若第一合约前置服务程序对应的业务类型与业务数据对应的业务类型不同,则生成程序部署提示信息;程序部署提示信息用于提示目标设备部署第二合约前置服务程序;第二合约前置服务程序对应的业务类型与业务数据对应的业务类型相同;
程序调用单元,用于若第一合约前置服务程序对应的业务类型与业务数据对应的业务类型相同,则调用第一合约前置服务程序。
其中,第一合约前置服务程序封装有区块链网络的区块链配置信息;区块链配置信息用于指示区块链网络的区块链数据结构;
第一生成模块,包括:
第一获取单元,用于在第一合约前置服务程序中,获取区块链配置信息中的交易格式;
数据封装单元,用于基于交易格式,将业务数据封装为与区块链数据结构相匹配的业务交易。
其中,第一合约前置服务程序包括针对目标设备的设备私钥;
第一发送模块,包括:
第二获取单元,用于通过第一合约前置服务程序,获取业务交易的交易哈希值,基于设备私钥对交易哈希值进行加密,得到业务交易对应的交易签名;
交易发送单元,用于通过第一合约前置服务程序,将携带交易签名的业务交易发送至节点指引信息所指示的目标业务节点。
其中,第一合约前置服务程序还包括针对目标业务节点的节点公钥;
基于区块链的数据处理装置,还包括:
请求获取模块,还用于获取目标对象发送的业务查询请求;业务查询请求携带目标对象的对象信息;
信息加密模块,用于在第一合约前置服务程序中,基于节点公钥对对象信息进行加密,得到加密对象信息;
第二发送模块,用于通过第一合约前置服务程序,将携带加密对象信息的业务查询请求发送至目标业务节点,以使目标业务节点在基于目标业务节点对应的节点私钥对加密对象信息解密成功时,根据业务查询请求生成针对对象信息的对象查询数据;
第二发送模块,还用于接收目标业务节点返回的对象查询数据,并返回至目标对象。
其中,基于区块链的数据处理装置,还包括:
请求获取模块,还用于获取针对目标业务类型的程序部署请求,基于程序部署请求,获取具有目标业务类型的初始合约前置服务程序;初始合约前置服务程序提供目标业务类型对应的业务接口;初始合约前置服务程序封装有用于指示区块链网络的区块链数据结构的区块链配置信息;
程序配置模块,用于对初始前置服务程序进行配置,将配置后的初始合约前置服务程序确定为第一合约前置服务程序。
其中,程序配置模块,包括:
第二生成单元,用于在初始合约前置服务程序中,生成针对目标设备的非对称密钥对以及针对非对称密钥对的设备通信证书;非对称密钥对包括设备私钥以及设备公钥;
第一确定单元,用于将区块链网络中用于处理目标业务类型的业务节点,确定为目标业务节点,根据目标业务节点的节点信息生成节点引导信息;
第二确定单元,用于将包括非对称密钥对、设备通信证书以及节点引导信息的初始合约前置服务程序,确定为第一合约前置服务程序。
其中,基于区块链的数据处理装置,还包括:
第二生成模块,用于生成针对目标业务类型的待编译业务合约;待编译业务合约包括区块链配置信息;区块链配置信息用于指示区块链网络中的区块链数据结构;
第三生成模块,用于通过前置服务代码生成器,读取待编译业务合约的合约内容,根据合约内容生成前置服务代码;
程序部署模块,用于将前置服务代码编译为初始合约前置服务程序,若基于待编译业务合约所生成的目标业务合约成功上链,则部署初始合约前置服务程序,得到第一合约前置服务程序。
本申请实施例一方面提供了一种基于区块链的数据处理装置,方法由区块链网络中的目标业务节点执行,方法包括:
交易获取模块,用于获取目标设备通过第一合约前置服务程序所发送的业务交易;业务交易是目标设备在第一合约前置服务程序中,基于业务数据所生成的,且业务交易与区块链数据结构相匹配;第一合约前置服务程序是由目标设备是在获取到携带业务数据的业务处理请求时进行调用的;第一合约前置服务程序包括节点指引信息;节点指引信息用于指引第一合约前置服务程序将业务交易发送至目标业务节点;
合约调用模块,用于根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约;
结果返回模块,用于通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备。
其中,合约调用模块,包括:
类型对比单元,用于获取业务交易的待验证业务类型,将待验证业务类型与节点业务类型进行对比;节点业务类型用于指示目标业务节点所处理业务的业务类型;
错误返回单元,用于若待验证业务类型与节点业务类型不同,则返回业务错误提示信息至目标设备;
合约调用单元,用于若待验证业务类型与节点业务类型相同,则根据第一合约前置服务程序的合约名称,调用部署在区块链网络中的目标业务合约;第一合约前置服务程序的合约名称与目标业务合约的合约名称相同。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以使得计算机设备执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,上述计算机程序适于由处理器加载并执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中的方法。
在本申请实施例中,目标设备在获取到携带业务数据的业务处理请求时,基于业务处理请求,可以调用包括节点指引信息的第一合约前置服务程序,可以理解的是,第一合约前置服务程序处理的业务类型与业务数据的业务类型相同;进一步,在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易,即第一合约前置服务程序可以生成与区块链数据结构相匹配的业务交易,故通过第一合约前置服务程序,目标设备可以略过与区块链网络的适配;进一步,通过第一合约前置服务程序,目标设备可以将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,可以调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,目标业务节点可以对业务交易进行业务处理,返回业务处理结果至目标设备。上述可知,本申请实施例提供了一种与部署在区块链网络中的目标业务合约相关联的第一合约前置服务程序,通过该第一合约前置服务程序,目标设备在没有与区块链网络进行适配的前提下,可以生成与区块链数据结构相匹配的业务交易,故可以降低区块链业务接入的难度;此外,通过第一合约前置服务程序,将业务交易发送至与业务交易的业务类型相关联的目标业务节点,可以避免目标设备访问与业务交易无关的链上数据,故可以提高区块链网络的数据安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种***架构示意图;
图1b是本申请实施例提供的一种区块链网络分层结构的示意图;
图1c是本申请实施例提供的一种分层多级联区块链网络;
图2是本申请实施例提供的一种基于区块链的数据处理的场景示意图一;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图一;
图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图二;
图5是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图二;
图6是本申请实施例提供的一种基于区块链的初始合约前置服务程序部署方法的流程示意图;
图7是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图三;
图8是本申请实施例提供的一种税务区块链***下的***架构图;
图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图一;
图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图二;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,首先对部分名词进行以下简单解释:
1、区块链(Block chain):狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前获取的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;广义上,区块链还指代区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。
区块链的目标是实现一个分布的数据记录账本,此账本只允许添加,不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前继区块的哈希(Hash)值,每个区块(以及区块中的交易)是否合法,可通过计算哈希值的方式进行快速检验。若网络中的节点提议添加一个新的区块,必须经过共识机制对区块达成共识确认。
2、哈希值(hash):也称作信息特征值或特征值,哈希值是通过哈希算法将任意长度的输入数据转换为密码并进行固定输出而生成的,不能通过解密哈希值来检索原始输入数据,它是一个单向的加密函数。在区块链中,每个区块(除了初始区块)都包含前继区块的哈希值,哈希值是区块链技术中的潜力核心基础和最重要的方面,它保留了记录和查看数据的真实性,以及区块链作为一个整体的完整性。在本申请实施例中,哈希值可以用于签名,以确认签名者的合法性。
3、智能合约(Smart Contract):是一种旨在以信息化方式传播、验证或执行合同的计算机协议。在区块链***当中,智能合约(简称合约)是一种区块链各节点可以理解并执行的代码,可以执行任意逻辑并得到结果。在实际应用中,智能合约通过区块链上的交易来管理与试用。每条交易相当于对区块链***的一个远程过程调用(Remote ProcedureCall,RPC)请求。如果说智能合约相当于可执行程序,区块链就相当于提供运行环境的操作***。区块链可以包含多个合约,以合约账号(Identity,ID)、标识号或名称来区分。在本申请示例中,目标业务合约为区块链网络中的智能合约。
4、合约执行:通过发起一笔交易的方式,用户可以调用区块链上已经部署的合约。区块链***中的各个节点分别运行同一个合约。对于需要读取数据的合约,会访问节点自己的账本。最终各节点会互相验证执行结果是否一致(共识),若执行结果一致各节点将必要结果存入各自账本中,并返回结果给用户。
5、公钥(public key)与私钥(private key):公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密数据、验证数字签名等。通过这种算法能够确保得到的密钥对是唯一的,使用这种密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,例如,用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
6、证书,本申请指公钥证书体系(Public Key Infrastructure,简称PKI),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构(Certificate Authority,简称CA)进行颁发。基于公钥证书体系可以实现非对称加密和对于信息的数字签名。
请参见图1a,图1a是本申请实施例提供的一种***架构示意图。如图1a所示,该***可以包括区块链网络10以及目标设备集群,目标设备集群可以包括:目标设备100a、目标设备100b、目标设备100c、…、目标设备100n,可以理解的是,上述***可以包括一个或者多个目标设备,本申请不对目标设备的数量进行限制。本申请实施例中的目标设备是指生成业务交易并将业务交易传输至区块链网络10的设备。目标设备包括但不限于终端设备或业务服务器。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云数据库、云服务、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
其中,目标设备集群之间可以存在通信连接,例如目标设备100a与目标设备100b之间存在通信连接,目标设备100a与目标设备100c之间存在通信连接。同时,目标设备集群中的任一目标设备可以与区块链网络10存在通信连接,例如目标设备100a与区块链网络10之间存在通信连接。其中,上述通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其它方式,本申请在此不做限制。
应当理解,如图1a所示的目标设备集群中的每个目标设备,均可以安装有包括区块链网络10的区块链配置信息的合约前置服务程序,当该合约前置服务程序运行于各目标设备中时,可以分别与上述图1a所示的区块链网络10进行数据交互。本申请实施例中的合约前置服务程序是为业务参与方所部署的合约级前置服务,合约前置服务程序封装了区块链网络10的区块链账本结构和状态数据的描述,其可以提供某个部署在区块链网络10中的业务合约的所有接口(Application Programming Interface,简称API),目标设备可以像调用普通API服务一样,调用合约级前置服务的接口。
本申请实施例不对合约前置服务程序对应的业务类型进行限定,可以根据实际应用场景进行设定,其中,该合约前置服务程序可以为针对虚拟资产转移业务的合约前置服务程序(例如第一合约前置服务程序),可以为针对开票业务的合约前置服务程序(例如第二合约前置服务程序),可以为针对征信业务的合约前置服务程序,可以为针对进出亏业务的合约前置服务程序,可以为针对企业资质业务的合约前置服务程序,可以为针对退税业务的合约前置服务程序。其中,该合约前置服务程序可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。其中,每个目标设备分别安装的合约前置服务程序可以相同,也可以不相同,区块链网络10包括用于处理每个合约前置服务程序分别对应的业务类型的区块链节点。
本申请实施例不对区块链网络10的网络结构进行限定,区块链网络10可以为节点对等区块链网络,该结构下,区块链节点之间是对等关系,故每个区块链节点既可以作为业务节点,又可以作为共识节点。
区块链网络10可以为分层区块链网络,请一并参见图1b,图1b是本申请实施例提供的一种区块链网络c层结构的示意图。如图1b所示,分层区块链网络10c可以包括见证网络10a以及共识网络10b;见证网络10a中的节点可以称为业务节点,拥有与自身处理的业务类型相关联的业务数据,业务节点主要进行业务执行,不参与记账共识,通过身份认证的方式从共识网络10b中获得区块头数据和部分授权可见的区块数据。共识网络10b也可以称作核心网络,共识网络10b中的节点可以称为全量节点或共识节点,全量节点拥有全量数据。见证网络10a和共识网络10b处在不同网络环境下,通常来说,见证网络10a处于公有网络中而共识网络10b处于私有网络中,二者通过路由边界进行交互。
请再参见图1b,见证网络10a可以包括业务节点101a、业务节点102a、业务节点103a、…、业务节点104a。上述见证网络10a可以包括一个或者多个业务节点,这里将不对业务节点的数量进行限制。在图1b的见证网络10a中,每个业务节点之间是对等关系(即点对点关系),每个业务节点均可以为目标业务节点。
请再参见图1b,共识网络10b可以包括全量节点101b、全量节点102b、全量节点103b、…、全量节点104b。上述共识网络10b可以包括一个或者多个全量节点,这里将不对全量节点的数量进行限制。在图1b的共识网络10b中,每个共识节点之间是对等关系。
为了保证各个区块链节点(包括全量节点以及业务节点)之间的数据互通,每个区块链节点之间可以存在数据连接,例如业务节点101a与业务节点102a之间存在数据连接,业务节点101a与业务节点103a之间存在数据连接,全量节点101b与全量节点104b之间存在数据连接。进一步地,见证网络10a与共识网络10b之间存在数据连接,例如业务节点101a与全量节点102b之间存在数据连接,业务节点101a与全量节点103b之间存在数据连接,全量节点101b与业务节点104a之间存在数据连接。
可以理解的是,区块链节点之间可以通过上述数据连接进行数据或者区块传输。分层区块链网络10c可以基于节点标识实现节点之间的数据连接,对于分层区块链网络10c中的每个区块链节点,均具有与其对应的节点标识,而且上述每个区块链节点均可以存储与自身有相连关系的其他区块链节点的节点标识,以便后续根据其他区块链节点的节点标识,将获取到的数据或生成的区块广播至其他区块链节点,例如业务节点101a中可以维护一个如表1所示的节点标识列表,该节点标识列表保存着其他区块链节点的节点名称和节点标识。
表1
节点名称 | 节点标识 |
业务节点102a | 117.114.151.174 |
业务节点103a | 117.116.189.145 |
… | … |
业务节点104a | 119.123.789.258 |
全量节点101b | 117.114.151.183 |
全量节点102b | 117.116.189.125 |
全量节点103b | 119.250.485.362 |
全量节点104b | 119.123.789.369 |
其中,节点标识可为网络之间互联的协议(Internet Protocol,IP)地址以及其他任意一种能够用于标识分层区块链网络10c中节点的信息,表1中仅以IP地址为例进行说明。
假设业务节点101a的节点标识为117.116.156.425,则业务节点101a可以通过节点标识117.114.151.183,向全量节点101b发送数据同步请求,且全量节点101b通过节点标识117.116.156.425,可以知道该数据同步请求是业务节点101a所发送的;同理,业务节点101a可以通过节点标识117.116.189.145,向业务节点103a发送交易数据A,且业务节点103a通过节点标识117.116.156.425,可以知道该交易数据A是业务节点101a所发送的,其他节点之间的数据传输亦如此,故不再一一进行赘述。
此外,图1a中的区块链网络10可以为分层多级联区块链网络,请一并参见图1c,图1c是本申请实施例提供的一种分层多级联区块链网络。与图1b中的分层区块链网络10c相同,分层多级联区块链网络10d可以包括见证网络(如图1c中的见证网络10e)以及共识网络(如图1c中的共识网络10f),其中,共识网络以及全量节点(如图1c所示例的全量节点101f、全量节点102f、全量节点103f、…、全量节点104f)的含义,请参见图1b中的共识网络10b以及全量节点的描述,此处不进行赘述。
见证网络10e具有业务多级联的模式,每一级别的业务节点根据自身的业务权限范围,清分对应的业务数据,完成数据隔离,业务参与方通过连接最后一级的业务节点,进行业务信息的读取,以及业务交易的上链。如图1c所示,业务节点102e以及业务节点105e分别与业务节点103e具有级联关系,此时,业务节点103e以及业务节点105e无法直接与共识网络10f进行数据交互,需要通过业务节点103e,实现与共识网络10f的数据交互。例如,获取到业务交易后,业务节点102e将业务交易同步至业务节点103e,然后业务节点103e将业务交易同步至共识网络10f。同理,业务节点101e与业务节点104e具有级联关系,且需要通过业务节点104e,实现与共识网络10f的数据交互。业务节点103e以及业务节点104e与共识网络10f的数据交互,可以参见图1b中见证网络10a与共识网络10b之间的数据交互的描述,此处不进行赘述。
在区块链网络10为分层多级联区块链网络10d的场景下,可以在最后一级业务节点(为本申请实施例中的目标业务节点)之外,为业务参与方部署合约前置服务程序。
在本申请实施例中,目标设备与区块链网络之间的数据交互是通过合约前置服务程序实现的,当获取到携带业务数据的业务处理请求时,基于业务处理请求,目标设备可以调用第一合约前置服务程序,其中,第一合约前置服务程序包括节点指引信息;进一步,在第一合约前置服务程序中,目标设备可以基于业务数据生成与区块链数据结构相匹配的业务交易;进一步,通过第一合约前置服务程序,目标设备可以将业务交易发送至节点指引信息所指示的目标业务节点,故根据业务交易,目标业务节点可以调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,目标业务节点可以对业务交易进行业务处理,并将业务处理结果返回至目标设备。
上述可知,本申请设计了一种业务节点下级的合约级前置服务方案,可以将区块链网络中的业务合约作为独立服务进行部署,在最后一级业务节点之外,本申请实施例可以为业务参与方(目标设备)部署合约级前置服务(即合约前置服务程序),合约前置服务程序封装了区块链网络的区块链账本结构和状态数据的理解,仅提供一个合约的所有接口,故外部业务方仅像调用API服务一样,调用合约级前置服务的接口即可。采用本申请,目标设备无需适配区块链网络,故可以降低区块链业务接入的难度,此外,通过合约前置服务程序,可以严格控制目标设备对业务节点的访问权限,故可以提高区块链网络的数据安全性。
可以理解的是,本申请实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于目标设备(终端设备或业务服务器)或目标业务节点(终端设备或业务服务器)。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云数据库、云服务、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
进一步地,请参见图2,图2是本申请实施例提供的一种基于区块链的数据处理的场景示意图一。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。其中,图2中的目标设备20a可以为图1a中目标设备集群中的任意一个目标设备。如图2所示,目标设备20a获取携带业务数据的业务处理请求20b,本申请实施例不对业务数据的业务类型进行限定,可以根据实际应用场景进行设定,本申请实施例为了便于理解以及叙述,设定业务类型为转移业务,设定业务数据为“对象201b转移资源202b至对象203b”。本申请实施例不对生成业务数据的设备进行限定,可以为目标设备20b,也可以为与目标设备20b具有交互关系的其他设备。
目标设备20a部署有第一合约前置服务程序201a,该第一合约前置服务程序201a与区块链网络10中的目标业务合约202a相关联,具体可以包括两者分别对应的合约名称相同,两者均基于同一个源代码生成,两者的区别可以包括目标业务合约202a用于区块链网络10中的目标业务节点进行调用,第一合约前置服务程序201a用于目标设备20a进行调用,第一合约前置服务程序201a与目标业务合约202a的关联性,请参见下文图5对应的实施例中的描述,此处不展开描述。其中,图2中的区块链网络10的描述,请参见图1a中的区块链网络10的描述。
第一合约前置服务程序201a封装有区块链网络10的区块链配置信息,具体可以包括区块链网络10a的区块链账本结构和状态数据的理解,故目标设备20a可以不用与区块链网络10进行适配,通过第一合约前置服务程序201a实现与区块链网络201a的数据交互。
基于业务处理请求20b,目标设备20a可以调用第一合约前置服务程序201a,如图2所示,第一合约前置服务程序201a包括节点指引信息20c,节点指引信息20c是指用于指示目标业务节点的信息,目标业务节点是指区块链网络10中用于处理业务交易的区块链节点。本申请实施例不对节点指示信息20c的内容进行限定,可以为区块链网络10中的区块链节点的节点名称、节点标识等节点信息。图2为了理解,以节点名称示例节点指示信息,如节点指示信息20c所示,包括第一节点名称以及第二节点名称。
由于第一合约前置服务程序201a封装有区块链网络10的区块链配置信息,故在第一合约前置服务程序201a中,可以基于业务数据(如图2中所示例的对象“201b”转移资源202b至对象203b),目标设备20a生成与区块链数据结构相匹配的业务交易。进一步,通过第一合约前置服务程序201b,目标设备20a将业务交易发送至节点指引信息20c所指示的目标业务节点,如图2所示,目标业务节点包括第一节点名称对应的业务节点201c,以及第二节点名称对应的业务节点202c,其中,业务节点201c以及业务节点202c均属于区块链网络10。
可以理解的是,图2是以目标业务节点的总数量为2示例,实际应用场景中,目标业务节点的总数量为正整数。目标业务节点(如图2所示例的业务节点201c以及业务节点202c)根据业务交易,可以调用与第一合约前置服务程序201a相关联的部署在区块链网络10中的目标业务合约202c,在图2中,该目标业务合约202c可以是一个转移业务合约。通过目标业务合约202a,目标业务节点可以对业务交易进行业务处理,该业务处理包括但不限于对业务交易进行校验、广播、共识(当具备共识权限时)、出块等,进一步,目标业务节点可以生成该业务交易的业务处理结果,然后将业务处理结果返回至目标设备20a。
上述可知,本申请实施例提供了一种与部署在区块链网络中的目标业务合约相关联的第一合约前置服务程序,通过该第一合约前置服务程序,目标设备在没有与区块链网络进行适配的前提下,可以生成与区块链数据结构相匹配的业务交易,故可以降低区块链业务接入的难度;此外,通过第一合约前置服务程序,将业务交易发送至与业务交易的业务类型相关联的目标业务节点,可以避免目标设备访问与业务交易无关的链上数据,故可以提高区块链网络的数据安全性。
进一步地,请参见图3,图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图一。如图3所示,该数据处理方法至少可以包括以下步骤S101-步骤S103。
步骤S101,目标设备获取携带业务数据的业务处理请求,基于业务处理请求调用第一合约前置服务程序;第一合约前置服务程序包括节点指引信息。
具体的,将业务数据对应的业务类型,与第一合约前置服务程序对应的业务类型进行对比;若第一合约前置服务程序对应的业务类型与业务数据对应的业务类型不同,则生成程序部署提示信息;程序部署提示信息用于提示目标设备部署第二合约前置服务程序;第二合约前置服务程序对应的业务类型与业务数据对应的业务类型相同;若第一合约前置服务程序对应的业务类型与业务数据对应的业务类型相同,则调用第一合约前置服务程序。
请一并参见图4,图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图二。其中,图4的目标设备20a的含义与图2的目标设备20a含义相同,此外,图2与图4的其他相同标号的含义亦相同,故此处不进行赘述。如图4所示,当获取到携带业务数据的业务处理请求时,目标设备20a确定该业务数据对应的业务类型,若业务数据为资产转移数据,则业务类型为资产转移业务类型;若业务数据为开票业务数据,则业务类型为开票业务类型。本申请实施例不对业务数据的具体内容进行限定,可以根据实际应用场景进行设定。可以理解的是,在本申请的具体实施方式中,涉及到用户信息(例如对象信息、业务数据)等相关的数据,当本申请中的实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
目标设备20a确定已部署的第一合约前置服务程序201a,本申请实施例提出一种将区块链网络中的业务合约转化为独立于区块链网络的服务,即合约前置服务程序(包括第一合约前置服务程序以及第二合约前置服务程序)。本申请实施例不对目标设备20a已部署的第一合约前置服务程序201a的总数量进行限定,若总数量为多个,表明目标设备20a可以传输多种不同业务类型的业务交易至区块链网络。进一步,目标设备20a确定第一合约前置服务程序201a对应的业务类型,其中,第一合约前置服务程序201a对应的业务类型是指,该第一合约前置服务程序201a所处理的业务数据的业务类型。图4以待验证业务类型表述业务数据对应的业务类型,以合约业务类型表述第一合约前置服务程序201a对应的业务类型。
目标设备20a对待验证业务类型以及合约业务类型进行对比,得到对比结果30a,若对比结果30a为待验证业务类型与合约业务类型不同,则可以生成程序部署提示信息,该程序部署提示信息用于提示目标设备20a部署第二合约前置服务程序;第二合约前置服务程序对应的业务类型与业务数据对应的业务类型相同,如图4所示,目标设备20a可以显示程序部署提示信息,如“请部署第二合约前置服务程序”。若对比结果30a为待验证业务类型与合约业务类型相同,则目标设备20a调用第一合约前置服务程序201a。
步骤S102,在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易。
具体的,第一合约前置服务程序封装有区块链网络的区块链配置信息;区块链配置信息用于指示区块链网络的区块链数据结构;在第一合约前置服务程序中,获取区块链配置信息中的交易格式;基于交易格式,将业务数据封装为与区块链数据结构相匹配的业务交易。
其中,第一合约前置服务程序的生成以及部署,请参见下文图5所对应的实施例中的描述,此处暂不展开描述。第一合约前置服务程序封装有区块链网络的区块链配置信息,该区块链配置信息可以指示区块链网络中的区块链数据结构,具体可以包括区块链网络中的交易格式。故当目标设备将业务数据传输至第一合约前置服务程序时,第一合约前置服务程序可以基于交易格式,将业务数据封装为与区块链数据结构相匹配的业务交易。
步骤S103,通过第一合约前置服务程序,将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备;目标业务节点属于区块链网络。
具体的,第一合约前置服务程序包括针对目标设备的设备私钥;通过第一合约前置服务程序,获取业务交易的交易哈希值,基于设备私钥对交易哈希值进行加密,得到业务交易对应的交易签名;通过第一合约前置服务程序,将携带交易签名的业务交易发送至节点指引信息所指示的目标业务节点。
请一并参见图4,第一合约前置服务程序201a保存有针对目标设备20a的设备私钥30b,以及节点指引信息。为了验证目标设备20a的身份,目标设备20a可以调用并运行第一合约前置服务程序201a,第一合约前置服务程序201a运行时,可以生成业务交易的业务摘要,即交易哈希值,进一步,基于设备私钥30b,第一合约前置服务程序201a可以对交易哈希值进行加密,得到业务交易对应的交易签名30c。目标设备20a将第一合约前置服务程序201a作为传输介质,将携带交易签名30c的业务交易发送至节点指引信息所指示的目标业务节点30d。
其中,第一合约前置服务程序还包括针对目标业务节点的节点公钥;目标设备获取目标对象发送的业务查询请求;业务查询请求携带目标对象的对象信息;在第一合约前置服务程序中,基于节点公钥对对象信息进行加密,得到加密对象信息;通过第一合约前置服务程序,将携带加密对象信息的业务查询请求发送至目标业务节点,以使目标业务节点在基于目标业务节点对应的节点私钥对加密对象信息解密成功时,根据业务查询请求生成针对对象信息的对象查询数据;接收目标业务节点返回的对象查询数据,并返回至目标对象。
可以理解的是,目标设备可以向区块链网络写入业务数据,也可以向区块链网络读取业务数据。当读取数据时,目标设备可以获取目标对象发送的业务查询请求,该业务查询请求携带目标对象的对象信息。同理,目标设备需要验证业务查询请求对应的业务类型,是否与第一合约前置服务程序对应的业务类型相同,在两个业务类型相同的场景下,目标设备可以调用并运行第一合约前置服务程序。第一合约前置服务程序不仅包括针对目标设备的非对称密钥对,还可以包括节点指引信息所指示的目标业务节点的节点公钥,故第一合约前置服务程序运行时,可以基于上述节点公钥对对象信息进行加密,得到加密对象信息,以确保对象信息不会被非法设备获取。
通过第一合约前置服务程序,目标设备将携带加密对象信息的业务查询请求发送至目标业务节点。获取到加密对象信息时,目标业务节点基于节点私钥对加密对象信息进行解密,当解密成功时,目标业务节点根据业务查询请求生成针对对象信息的对象查询数据,将对象查询数据返回至目标设备,此时,目标设备将获取到的对象查询数据返回至目标对象。
本申请实施例提出一种将区块链网络中的业务合约转化为独立于区块链网络的合约前置服务程序,以让目标设备进行部署,当部署合约前置服务程序后,目标设备可以像调用API的方式,调用已部署的合约前置服务程序。本申请实施例提供的合约前置服务程序可以提供以下功能:
a.基于公钥身份(如上述的节点公钥),包装业务查询请求,向目标业务节点查询业务数据,故本地可以不存储业务数据。
b.基于私钥身份(如上述的设备私钥),包装业务处理请求,例如交易上链请求,对业务交易进行签名后,将交易签名转发到目标业务节点。
c.提供部署在区块链网络中的业务合约的所有业务接口,让目标设备调用或查询,目标设备不需要适配区块链网络的账本结构以及区块链交易接口,目标设备的业务程序不需要进行签名操作,而是合约前置服务程序进行签名、加密等操作。开发者也不需要做对接区块链数据结构的开发,直接对业务接口进行开发即可。
d.由合约前置服务程序本身限制目标设备能够调用和查看的接口和数据,一方面,可以保证了区块链上其他数据的安全性和隐私性,另一方面,可以减少了无关数据,无关接口对于业务参与者的干扰。合约前置服务程序实现了对目标业务节点连接的安全访问保证,为开发者提供了数据和通讯安全机制。
e.提供了业务界别的合约事件订阅功能,即访问者仅通过订阅功能或者当前的合约A在链上是否有自己关心的新事件/数据即可,无需了解区块链本身的高度增长,区块其他事件信息。
在本申请实施例中,目标设备在获取到携带业务数据的业务处理请求时,基于业务处理请求,可以调用包括节点指引信息的第一合约前置服务程序,可以理解的是,第一合约前置服务程序处理的业务类型与业务数据的业务类型相同;进一步,在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易,即第一合约前置服务程序可以生成与区块链数据结构相匹配的业务交易,故通过第一合约前置服务程序,目标设备可以略过与区块链网络的适配;进一步,通过第一合约前置服务程序,目标设备可以将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,可以调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,目标业务节点可以对业务交易进行业务处理,返回业务处理结果至目标设备。上述可知,本申请实施例提供了一种与部署在区块链网络中的目标业务合约相关联的第一合约前置服务程序,通过该第一合约前置服务程序,目标设备在没有与区块链网络进行适配的前提下,可以生成与区块链数据结构相匹配的业务交易,故可以降低区块链业务接入的难度;此外,通过第一合约前置服务程序,将业务交易发送至与业务交易的业务类型相关联的目标业务节点,可以避免目标设备访问与业务交易无关的链上数据,故可以提高区块链网络的数据安全性。
请参见图5,图5是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图二。该方法可以由区块链网络中的目标业务节点执行,也可以由目标设备执行,还可以由目标业务节点和目标设备交互执行。为便于理解,本申请实施例以该方法由目标设备执行为例进行说明。如图5所示,该方法至少可以包括以下步骤。
步骤S201,获取针对目标业务类型的程序部署请求,基于程序部署请求,获取具有目标业务类型的初始合约前置服务程序;初始合约前置服务程序提供目标业务类型对应的业务接口;初始合约前置服务程序封装有用于指示区块链网络的区块链数据结构的区块链配置信息。
具体的,本申请实施例可以为目标设备提供与部署在区块链网络中的目标业务合约相关联的合约前置服务程序(包括第一合约前置服务程序),故目标设备可以部署合约前置服务程序。其中,程序部署请求用于请求目标设备部署获取并配置初始合约前置服务程序。当获取到针对目标业务类型的程序部署请求时,目标设备可以基于程序部署请求,获取目标业务类型对应的初始合约前置服务程序。
步骤S202,对初始前置服务程序进行配置,将配置后的初始合约前置服务程序确定为第一合约前置服务程序。
具体的,在初始合约前置服务程序中,生成针对目标设备的非对称密钥对以及针对非对称密钥对的设备通信证书;非对称密钥对包括设备私钥以及设备公钥;将区块链网络中用于处理目标业务类型的业务节点,确定为目标业务节点,根据目标业务节点的节点信息生成节点引导信息;将包括非对称密钥对、设备通信证书以及节点引导信息的初始合约前置服务程序,确定为第一合约前置服务程序。
设备通信证书包括目标设备进行通信时所需的证明证书,以及安全传输层协议(Transport Layer Security,简称TLS)证书。可以理解的是,初始合约前置服务程序类似一个安装包,故目标设备在部署初始合约前置服务程序时,需要对其进行配置,以适配目标设备。配置过程中,初始前置服务程序会生成针对目标设备的非对称密钥对,如上述的目标设备对应的设备私钥以及设备公钥,会生成该非对称密钥对对应的设备通信证书。该第一合约前置服务程序为目标设备以及区块链网络的传输媒介,故配置过程中,初始合约前置服务程序会根据目标业务节点的节点信息,生成用于指示目标业务节点的节点指引信息。配置完成时,目标设备得到第一合约前置服务程序。
合约级前置服务(如本申请的第一合约前置服务程序)只提供某个业务合约的接口,如***业务合约,***业务参与方关注该***业务,因此该参与方可以部署一个***业务合约前置服务,该服务仅提供***业务合约的全部业务接口。
其中,目标设备生成针对目标业务类型的待编译业务合约;待编译业务合约包括区块链配置信息;区块链配置信息用于指示区块链网络中的区块链数据结构;通过前置服务代码生成器,读取待编译业务合约的合约内容,根据合约内容生成前置服务代码;将前置服务代码编译为初始合约前置服务程序,若基于待编译业务合约所生成的目标业务合约成功上链,则部署初始合约前置服务程序,得到第一合约前置服务程序。
可以理解的是,目标设备可以具备合约前置服务程序的生成权限,故可以生成初始合约前置服务程序,进而部署初始合约前置服务程序。请一并参见图6,图6是本申请实施例提供的一种基于区块链的初始合约前置服务程序部署方法的流程示意图。如图6所示,该方法可以包括如下步骤:步骤S401,目标设备生成待编译业务合约,即完成目标业务类型对应的业务合约的编写;步骤S402,生成目标业务合约。目标设备将目标业务类型对应的待编译业务合约,常规编译为目标业务合约,后续用来部署上链。步骤S403,生成前置服务代码。通过前置服务代码生成器,目标设备读取待编译业务合约的方法,将读取到的方法转化为通用API服务器(server)中的API服务,例如将原业务合约中的开具***(IssueInvoice)方法,转化为API服务器中的/invoce/IssueInvoice。步骤S404,编译前置服务代码。目标设备将生成的前置服务代码,编译为目标业务合约对应的初始交易前置服务程序。步骤S405,生成初始合约前置服务程序。步骤S406,上链目标业务合约,部署初始合约前置服务程序。目标设备将目标业务合约进行上链处理,上链成功时,提供目标业务合约对应的初始合约前置服务程序给业务参与方,业务参与方可以部署初始合约前置服务程序。
本申请实施例通过对业务合约代码的复合编译,将目标业务合约转化为合约级的前置服务,可以封装区块链业务参与方对于区块链相关结构的交互,让业务参与方可以访问业务服务,进行基于区块链和智能合约的业务交互,通过合约前置服务程序,可以降低区块链业务接入的门槛,提供高自动化的便利对接方案。
步骤S203,目标设备获取携带业务数据的业务处理请求,基于业务处理请求调用第一合约前置服务程序;第一合约前置服务程序包括节点指引信息。
步骤S204,在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易。
步骤S205,通过第一合约前置服务程序,将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备;目标业务节点属于区块链网络。
其中,步骤S203-步骤S205的具体实现过程,请参见上文图3所对应的实施例中的步骤S101-步骤S103,此处不进行赘述。
在本申请实施例中,目标设备在获取到携带业务数据的业务处理请求时,基于业务处理请求,可以调用包括节点指引信息的第一合约前置服务程序,可以理解的是,第一合约前置服务程序处理的业务类型与业务数据的业务类型相同;进一步,在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易,即第一合约前置服务程序可以生成与区块链数据结构相匹配的业务交易,故通过第一合约前置服务程序,目标设备可以略过与区块链网络的适配;进一步,通过第一合约前置服务程序,目标设备可以将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,可以调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,目标业务节点可以对业务交易进行业务处理,返回业务处理结果至目标设备。上述可知,本申请实施例提供了一种与部署在区块链网络中的目标业务合约相关联的第一合约前置服务程序,通过该第一合约前置服务程序,目标设备在没有与区块链网络进行适配的前提下,可以生成与区块链数据结构相匹配的业务交易,故可以降低区块链业务接入的难度;此外,通过第一合约前置服务程序,将业务交易发送至与业务交易的业务类型相关联的目标业务节点,可以避免目标设备访问与业务交易无关的链上数据,故可以提高区块链网络的数据安全性。
请参见图7,图7是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图三。该方法可以由区块链网络中的目标业务节点执行,也可以由目标设备执行,还可以由目标业务节点和目标设备交互执行。为便于理解,本申请实施例以该方法由目标业务节点执行为例进行说明。如图7所示,该方法至少可以包括以下步骤。
步骤S301,获取目标设备通过第一合约前置服务程序所发送的业务交易;业务交易是目标设备在第一合约前置服务程序中,基于业务数据所生成的,且业务交易与区块链数据结构相匹配;第一合约前置服务程序是由目标设备是在获取到携带业务数据的业务处理请求时进行调用的;第一合约前置服务程序包括节点指引信息;节点指引信息用于指引第一合约前置服务程序将业务交易发送至目标业务节点。
具体的,在本申请实施例中,目标设备是通过第一合约前置服务程序,与目标业务节点进行数据交互的。
步骤S302,根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约。
具体的,获取业务交易的待验证业务类型,将待验证业务类型与节点业务类型进行对比;节点业务类型用于指示目标业务节点所处理业务的业务类型;若待验证业务类型与节点业务类型不同,则返回业务错误提示信息至目标设备;若待验证业务类型与节点业务类型相同,则根据第一合约前置服务程序的合约名称,调用部署在区块链网络中的目标业务合约;第一合约前置服务程序的合约名称与目标业务合约的合约名称相同。
步骤S303,通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备。
具体的,为了便于理解,本申请实施例以税务业务为例进行叙述,请一并参见图8,图8是本申请实施例提供的一种税务区块链***下的***架构图。如图8所示,本申请实施例中的业务网络、路由代理网络以及核心共识网络组成了整个完整区块链业务体系。其中,核心共识网络可以包括一个核心链(例如,上述图1b所示的共识网络中的核心链)。可选的,核心共识网络还可以包括图8所示的多个核心链。每个核心链可以用于存储不同业务类型对应的业务数据。这里的业务交易包括多种与税务业务相关联的子业务,具体可以包括开票业务、征信业务、进出亏业务、企业资质业务以及退税业务等。比如,核心链0可以用于存储开票业务对应的业务数据,核心链1可以用于存储征信业务对应的业务数据,以此类推。
可以理解的是,当区块链被用于企业的一些场景时,为了提高数据的保密性和安全性,在区块链体系中涉及企业信息或者业务安全等相关数据时,可以采用本申请实施例中的“业务网络—核心共识网络”这一分层区块链结构。
由于整个税务业务将会涉及到监管机构、开票方、报销方和报税方等。因此,图8所示的业务网络中的业务节点可以包括税局对象对应的终端设备、企业对象对应的终端设备以及消费对象对应的终端设备。其中,税局对象可以是指监管专网中的监管机构(例如,省、市、区等税局对应的计算机设备),企业对象可以为公有云中的开票服务商、报销服务商或者零售企业(例如,KA企业,即大型零售客户和重点零售客户企业)等,消费对象可以为私有云中的支付服务商、流转服务商或者零售企业等。其中,业务网络中的业务节点生成用于查询业务结果数据的业务查询请求,进而可以将该业务查询请求通过路由代理网络中的代理节点转发至该核心共识网络中的共识节点,以使该共识节点基于节点缓存获取用于返回至业务节点的业务结果数据。
其中,路由代理网络中的代理节点可以用于对业务网络和核心共识网络进行网络隔离,代理节点可以具有点对点服务(即P2P服务)、路由服务、证书缓存、认证服务。可以理解的是,点对点服务是指在P2P网络中的服务,基于一类特定的网络协议,P2P网络中的网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者是其相邻节点连接状态。路由服务是节点的基本功能,可以用于节点之间的通信,以对业务网络和核心共识网络进行网络隔离。证书缓存用于缓存各节点的身份证书,其中,这里的证书可以指公钥证书体系(Public Key Infrastructure,PKI),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构(CA)进行颁发,基于公钥证书体系可以实现非对称加密和对于信息的数字签名。这里的公钥证书体系可以包括公私钥密码,x509证书,CA证书签发中心等等。认证服务可以用于对业务网络中的业务节点进行身份验证等。可以理解的是,在本申请实施例中,该代理节点可以用于将业务节点发送的业务查询请求转发至核心共识网络中的共识节点,还可以用于将共识节点返回的业务结果数据转发至业务节点。
其中,核心共识网络中的共识节点(即记账节点)可以为税务专网中的可信节点,可以通过调用权限合约,以确定自己的共识职责。这里的权限合约还存储了关于电子票据的整个生命周期的流转逻辑,比如电子票据的票据状态、流转流程、数据的访问权限、电子票据申领条件、电子票据开具条件等等。比如,核心共识网络中的共识节点可以在获取到***管理设备发送的租约管理合约时,将其写入核心共识网络中的核心链。该共识节点还可以在获取到业务合约管理设备发送的与票据业务合约相关联的业务配置信息时,将其写入核心链。该共识节点也可以基于状态数据发布服务,按照查询接口对应的租约等级的缓存时长,定期对存储于节点缓存中的每个查询接口对应的业务状态数据进行更新,以至于后续在获取到代理节点转发的业务查询请求时,可以调用缓存查询服务,基于业务查询请求的请求类型、业务查询接口以及节点缓存,确定业务辅助信息对应的业务结果数据。
上述可知,本申请实施例提供了一种与部署在区块链网络中的目标业务合约相关联的第一合约前置服务程序,通过该第一合约前置服务程序,目标设备在没有与区块链网络进行适配的前提下,可以生成与区块链数据结构相匹配的业务交易,故可以降低区块链业务接入的难度;此外,通过第一合约前置服务程序,将业务交易发送至与业务交易的业务类型相关联的目标业务节点,可以避免目标设备访问与业务交易无关的链上数据,故可以提高区块链网络的数据安全性。
进一步地,请参见图9,图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图一。基于区块链的数据处理装置1可以运行于目标设备,且可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该基于区块链的数据处理装置1可以包括:请求获取模块11、第一生成模块120以及第一发送模块13。
请求获取模块11,用于获取携带业务数据的业务处理请求,基于业务处理请求调用第一合约前置服务程序;第一合约前置服务程序包括节点指引信息;
第一生成模块12,用于在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易;
第一发送模块13,用于通过第一合约前置服务程序,将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备;目标业务节点属于区块链网络。
其中,请求获取模块11、第一生成模块12以及第一发送模块13的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S103,这里不再进行赘述。
再请参见图9,请求获取模块11可以包括:类型对比单元111、第一生成单元112以及程序调用单元113。
类型对比单元111,用于将业务数据对应的业务类型,与第一合约前置服务程序对应的业务类型进行对比;
第一生成单元112,用于若第一合约前置服务程序对应的业务类型与业务数据对应的业务类型不同,则生成程序部署提示信息;程序部署提示信息用于提示目标设备部署第二合约前置服务程序;第二合约前置服务程序对应的业务类型与业务数据对应的业务类型相同;
程序调用单元113,用于若第一合约前置服务程序对应的业务类型与业务数据对应的业务类型相同,则调用第一合约前置服务程序。
其中,类型对比单元111、第一生成单元112以及程序调用单元113的具体功能实现方式可以参见上述图3对应实施例中的步骤S101,这里不再进行赘述。
再请参见图9,第一合约前置服务程序封装有区块链网络的区块链配置信息;区块链配置信息用于指示区块链网络的区块链数据结构;
第一生成模块12可以包括:第一获取单元121以及数据封装单元122。
第一获取单元121,用于在第一合约前置服务程序中,获取区块链配置信息中的交易格式;
数据封装单元122,用于基于交易格式,将业务数据封装为与区块链数据结构相匹配的业务交易。
其中,第一获取单元121以及数据封装单元122的具体功能实现方式可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。
再请参见图9,第一合约前置服务程序包括针对目标设备的设备私钥;
第一发送模块13可以包括:第二获取单元131以及交易发送单元132。
第二获取单元131,用于通过第一合约前置服务程序,获取业务交易的交易哈希值,基于设备私钥对交易哈希值进行加密,得到业务交易对应的交易签名;
交易发送单元132,用于通过第一合约前置服务程序,将携带交易签名的业务交易发送至节点指引信息所指示的目标业务节点。
其中,第二获取单元131以及交易发送单元132的具体功能实现方式可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。
再请参见图9,第一合约前置服务程序还包括针对目标业务节点的节点公钥;
基于区块链的数据处理装置1还可以包括:信息加密模块14以及第二发送模块15。
请求获取模块11,还用于获取目标对象发送的业务查询请求;业务查询请求携带目标对象的对象信息;
信息加密模块14,用于在第一合约前置服务程序中,基于节点公钥对对象信息进行加密,得到加密对象信息;
第二发送模块15,用于通过第一合约前置服务程序,将携带加密对象信息的业务查询请求发送至目标业务节点,以使目标业务节点在基于目标业务节点对应的节点私钥对加密对象信息解密成功时,根据业务查询请求生成针对对象信息的对象查询数据;
第二发送模块15,还用于接收目标业务节点返回的对象查询数据,并返回至目标对象。
其中,请求获取模块11、信息加密模块14以及第二发送模块15的具体功能实现方式可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。
再请参见图9,基于区块链的数据处理装置1还可以包括:程序配置模块16。
请求获取模块11,还用于获取针对目标业务类型的程序部署请求,基于程序部署请求,获取具有目标业务类型的初始合约前置服务程序;初始合约前置服务程序提供目标业务类型对应的业务接口;初始合约前置服务程序封装有用于指示区块链网络的区块链数据结构的区块链配置信息;
程序配置模块16,用于对初始前置服务程序进行配置,将配置后的初始合约前置服务程序确定为第一合约前置服务程序。
其中,请求获取模块11以及程序配置模块16的具体功能实现方式可以参见上述图5对应实施例中的步骤S201-S202,这里不再进行赘述。
再请参见图9,程序配置模块16可以包括:第二生成单元161、第一确定单元162以及第二确定单元163。
第二生成单元161,用于在初始合约前置服务程序中,生成针对目标设备的非对称密钥对以及针对非对称密钥对的设备通信证书;非对称密钥对包括设备私钥以及设备公钥;
第一确定单元162,用于将区块链网络中用于处理目标业务类型的业务节点,确定为目标业务节点,根据目标业务节点的节点信息生成节点引导信息;
第二确定单元163,用于将包括非对称密钥对、设备通信证书以及节点引导信息的初始合约前置服务程序,确定为第一合约前置服务程序。
其中,第二生成单元161、第一确定单元162以及第二确定单元163的具体功能实现方式可以参见上述图5对应实施例中的步骤S202,这里不再进行赘述。
再请参见图9,基于区块链的数据处理装置1还可以包括:第二生成模块17、第三生成模块18以及程序部署模块19。
第二生成模块17,用于生成针对目标业务类型的待编译业务合约;待编译业务合约包括区块链配置信息;区块链配置信息用于指示区块链网络中的区块链数据结构;
第三生成模块18,用于通过前置服务代码生成器,读取待编译业务合约的合约内容,根据合约内容生成前置服务代码;
程序部署模块19,用于将前置服务代码编译为初始合约前置服务程序,若基于待编译业务合约所生成的目标业务合约成功上链,则部署初始合约前置服务程序,得到第一合约前置服务程序。
其中第二生成模块17、第三生成模块18以及程序部署模块19的具体功能实现方式可以参见上述图6对应实施例中的步骤S401-步骤S406,这里不再进行赘述。
在本申请实施例中,目标设备在获取到携带业务数据的业务处理请求时,基于业务处理请求,可以调用包括节点指引信息的第一合约前置服务程序,可以理解的是,第一合约前置服务程序处理的业务类型与业务数据的业务类型相同;进一步,在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易,即第一合约前置服务程序可以生成与区块链数据结构相匹配的业务交易,故通过第一合约前置服务程序,目标设备可以略过与区块链网络的适配;进一步,通过第一合约前置服务程序,目标设备可以将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,可以调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,目标业务节点可以对业务交易进行业务处理,返回业务处理结果至目标设备。上述可知,本申请实施例提供了一种与部署在区块链网络中的目标业务合约相关联的第一合约前置服务程序,通过该第一合约前置服务程序,目标设备在没有与区块链网络进行适配的前提下,可以生成与区块链数据结构相匹配的业务交易,故可以降低区块链业务接入的难度;此外,通过第一合约前置服务程序,将业务交易发送至与业务交易的业务类型相关联的目标业务节点,可以避免目标设备访问与业务交易无关的链上数据,故可以提高区块链网络的数据安全性。
进一步地,请参见图10,图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图二。上述基于区块链的数据处理装置2可以运行于区块链网络中的目标业务节点,且可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该基于区块链的数据处理装置2可以包括:交易获取模块21、合约调用模块22以及结果返回模块23。
交易获取模块21,用于获取目标设备通过第一合约前置服务程序所发送的业务交易;业务交易是目标设备在第一合约前置服务程序中,基于业务数据所生成的,且业务交易与区块链数据结构相匹配;第一合约前置服务程序是由目标设备是在获取到携带业务数据的业务处理请求时进行调用的;第一合约前置服务程序包括节点指引信息;节点指引信息用于指引第一合约前置服务程序将业务交易发送至目标业务节点;
合约调用模块22,用于根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约;
结果返回模块23,用于通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备。
其中,交易获取模块21、合约调用模块22以及结果返回模块23的具体功能实现方式可以参见上述图7对应实施例中的步骤S301-步骤S303,这里不再进行赘述。
再请参见图10,合约调用模块22可以包括:类型对比单元221、错误返回单元222以及合约调用单元223。
类型对比单元221,用于获取业务交易的待验证业务类型,将待验证业务类型与节点业务类型进行对比;节点业务类型用于指示目标业务节点所处理业务的业务类型;
错误返回单元222,用于若待验证业务类型与节点业务类型不同,则返回业务错误提示信息至目标设备;
合约调用单元223,用于若待验证业务类型与节点业务类型相同,则根据第一合约前置服务程序的合约名称,调用部署在区块链网络中的目标业务合约;第一合约前置服务程序的合约名称与目标业务合约的合约名称相同。
其中,类型对比单元221、错误返回单元222以及合约调用单元223的具体功能实现方式可以参见上述图7对应实施例中的步骤S302,这里不再进行赘述。
上述可知,本申请实施例提供了一种与部署在区块链网络中的目标业务合约相关联的第一合约前置服务程序,通过该第一合约前置服务程序,目标设备在没有与区块链网络进行适配的前提下,可以生成与区块链数据结构相匹配的业务交易,故可以降低区块链业务接入的难度;此外,通过第一合约前置服务程序,将业务交易发送至与业务交易的业务类型相关联的目标业务节点,可以避免目标设备访问与业务交易无关的链上数据,故可以提高区块链网络的数据安全性。
进一步地,请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,该计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,在一些实施例中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机存储介质的存储器1005可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取携带业务数据的业务处理请求,基于业务处理请求调用第一合约前置服务程序;第一合约前置服务程序包括节点指引信息;
在第一合约前置服务程序中,基于业务数据生成与区块链数据结构相匹配的业务交易;
通过第一合约前置服务程序,将业务交易发送至节点指引信息所指示的目标业务节点,以使目标业务节点根据业务交易,调用与第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过目标业务合约,对业务交易进行业务处理,返回业务处理结果至目标设备;目标业务节点属于区块链网络。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文各实施例中对数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现前文各实施例中对数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备可执行前文各实施例中对数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种基于区块链的数据处理方法,其特征在于,包括:
目标设备获取携带业务数据的业务处理请求,基于所述业务处理请求调用第一合约前置服务程序;所述第一合约前置服务程序包括节点指引信息;
在所述第一合约前置服务程序中,基于所述业务数据生成与区块链数据结构相匹配的业务交易;
通过所述第一合约前置服务程序,将所述业务交易发送至所述节点指引信息所指示的目标业务节点,以使所述目标业务节点根据所述业务交易,调用与所述第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过所述目标业务合约,对所述业务交易进行业务处理,返回业务处理结果至所述目标设备;所述目标业务节点属于所述区块链网络。
2.根据权利要求1所述的方法,其特征在于,所述基于所述业务处理请求调用第一合约前置服务程序,包括:
将所述业务数据对应的业务类型,与所述第一合约前置服务程序对应的业务类型进行对比;
若所述第一合约前置服务程序对应的业务类型与所述业务数据对应的业务类型不同,则生成程序部署提示信息;所述程序部署提示信息用于提示所述目标设备部署第二合约前置服务程序;所述第二合约前置服务程序对应的业务类型与所述业务数据对应的业务类型相同;
若所述第一合约前置服务程序对应的业务类型与所述业务数据对应的业务类型相同,则调用所述第一合约前置服务程序。
3.根据权利要求1所述的方法,其特征在于,所述第一合约前置服务程序封装有所述区块链网络的区块链配置信息;所述区块链配置信息用于指示所述区块链网络的区块链数据结构;
所述在所述第一合约前置服务程序中,基于所述业务数据生成与区块链数据结构相匹配的业务交易,包括:
在所述第一合约前置服务程序中,获取所述区块链配置信息中的交易格式;
基于所述交易格式,将所述业务数据封装为与区块链数据结构相匹配的业务交易。
4.根据权利要求1所述的方法,其特征在于,所述第一合约前置服务程序包括针对所述目标设备的设备私钥;
所述通过所述第一合约前置服务程序,将所述业务交易发送至所述节点指引信息所指示的目标业务节点,包括:
通过所述第一合约前置服务程序,获取所述业务交易的交易哈希值,基于所述设备私钥对所述交易哈希值进行加密,得到所述业务交易对应的交易签名;
通过所述第一合约前置服务程序,将携带所述交易签名的所述业务交易发送至所述节点指引信息所指示的目标业务节点。
5.根据权利要求1所述的方法,其特征在于,所述第一合约前置服务程序还包括针对所述目标业务节点的节点公钥;
所述方法还包括:
获取目标对象发送的业务查询请求;所述业务查询请求携带所述目标对象的对象信息;
在所述第一合约前置服务程序中,基于所述节点公钥对所述对象信息进行加密,得到加密对象信息;
通过所述第一合约前置服务程序,将携带所述加密对象信息的业务查询请求发送至所述目标业务节点,以使所述目标业务节点在基于所述目标业务节点对应的节点私钥对所述加密对象信息解密成功时,根据所述业务查询请求生成针对所述对象信息的对象查询数据;
接收所述目标业务节点返回的所述对象查询数据,并返回至所述目标对象。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对目标业务类型的程序部署请求,基于所述程序部署请求,获取具有所述目标业务类型的初始合约前置服务程序;所述初始合约前置服务程序提供所述目标业务类型对应的业务接口;所述初始合约前置服务程序封装有用于指示所述区块链网络的区块链数据结构的区块链配置信息;
对所述初始前置服务程序进行配置,将配置后的初始合约前置服务程序确定为所述第一合约前置服务程序。
7.根据权利要求6所述的方法,其特征在于,所述对所述初始前置服务程序进行配置,将配置后的初始合约前置服务程序确定为所述第一合约前置服务程序,包括:
在所述初始合约前置服务程序中,生成针对所述目标设备的非对称密钥对以及针对所述非对称密钥对的设备通信证书;所述非对称密钥对包括设备私钥以及设备公钥;
将所述区块链网络中用于处理所述目标业务类型的业务节点,确定为所述目标业务节点,根据所述目标业务节点的节点信息生成所述节点引导信息;
将包括所述非对称密钥对、所述设备通信证书以及所述节点引导信息的初始合约前置服务程序,确定为所述第一合约前置服务程序。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
生成针对目标业务类型的待编译业务合约;所述待编译业务合约包括所述区块链配置信息;所述区块链配置信息用于指示所述区块链网络中的区块链数据结构;
通过前置服务代码生成器,读取所述待编译业务合约的合约内容,根据所述合约内容生成前置服务代码;
将所述前置服务代码编译为初始合约前置服务程序,若基于所述待编译业务合约所生成的所述目标业务合约成功上链,则部署所述初始合约前置服务程序,得到所述第一合约前置服务程序。
9.一种基于区块链的数据处理方法,其特征在于,所述方法由区块链网络中的目标业务节点执行,所述方法包括:
获取目标设备通过第一合约前置服务程序所发送的业务交易;所述业务交易是所述目标设备在所述第一合约前置服务程序中,基于业务数据所生成的,且所述业务交易与区块链数据结构相匹配;所述第一合约前置服务程序是由所述目标设备是在获取到携带所述业务数据的业务处理请求时进行调用的;所述第一合约前置服务程序包括节点指引信息;所述节点指引信息用于指引所述第一合约前置服务程序将所述业务交易发送至所述目标业务节点;
根据所述业务交易,调用与所述第一合约前置服务程序相关联的部署在所述区块链网络中的目标业务合约;
通过所述目标业务合约,对所述业务交易进行业务处理,返回业务处理结果至所述目标设备。
10.根据权利要求9所述的方法,其特征在于,所述根据所述业务交易,调用与所述第一合约前置服务程序相关联的部署在所述区块链网络中的目标业务合约,包括:
获取所述业务交易的待验证业务类型,将所述待验证业务类型与节点业务类型进行对比;所述节点业务类型用于指示所述目标业务节点所处理业务的业务类型;
若所述待验证业务类型与所述节点业务类型不同,则返回业务错误提示信息至所述目标设备;
若所述待验证业务类型与所述节点业务类型相同,则根据所述第一合约前置服务程序的合约名称,调用部署在所述区块链网络中的目标业务合约;所述第一合约前置服务程序的合约名称与所述目标业务合约的合约名称相同。
11.一种基于区块链的数据处理装置,其特征在于,所述基于区块链的数据处理装置运行于目标设备,包括:
请求获取模块,用于获取携带业务数据的业务处理请求,基于所述业务处理请求调用第一合约前置服务程序;所述第一合约前置服务程序包括节点指引信息;
第一生成模块,用于在所述第一合约前置服务程序中,基于所述业务数据生成与区块链数据结构相匹配的业务交易;
第一发送模块,用于通过所述第一合约前置服务程序,将所述业务交易发送至所述节点指引信息所指示的目标业务节点,以使所述目标业务节点根据所述业务交易,调用与所述第一合约前置服务程序相关联的部署在区块链网络中的目标业务合约,通过所述目标业务合约,对所述业务交易进行业务处理,返回业务处理结果至所述目标设备;所述目标业务节点属于所述区块链网络。
12.一种基于区块链的数据处理装置,其特征在于,所述基于区块链的数据处理装置运行于区块链网络中的目标业务节点,包括:
交易获取模块,用于获取目标设备通过第一合约前置服务程序所发送的业务交易;所述业务交易是所述目标设备在所述第一合约前置服务程序中,基于业务数据所生成的,且所述业务交易与区块链数据结构相匹配;所述第一合约前置服务程序是由所述目标设备是在获取到携带所述业务数据的业务处理请求时进行调用的;所述第一合约前置服务程序包括节点指引信息;所述节点指引信息用于指引所述第一合约前置服务程序将所述业务交易发送至所述目标业务节点;
合约调用模块,用于根据所述业务交易,调用与所述第一合约前置服务程序相关联的部署在所述区块链网络中的目标业务合约;
结果返回模块,用于通过所述目标业务合约,对所述业务交易进行业务处理,返回业务处理结果至所述目标设备。
13.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至10任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-10任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,所述计算机程序适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210679940.2A CN117294753A (zh) | 2022-06-16 | 2022-06-16 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210679940.2A CN117294753A (zh) | 2022-06-16 | 2022-06-16 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117294753A true CN117294753A (zh) | 2023-12-26 |
Family
ID=89257633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210679940.2A Pending CN117294753A (zh) | 2022-06-16 | 2022-06-16 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117294753A (zh) |
-
2022
- 2022-06-16 CN CN202210679940.2A patent/CN117294753A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108665372B (zh) | 基于区块链的信息处理、查询、储存方法和装置 | |
EP3688930B1 (en) | System and method for issuing verifiable claims | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN112926982B (zh) | 一种交易数据处理方法、装置、设备及存储介质 | |
WO2019179534A2 (en) | System and method for creating decentralized identifiers | |
EP3688633A2 (en) | System and method for verifying verifiable claims | |
TW201215070A (en) | Key Management Systems and methods for shared secret ciphers | |
CN113271311B (zh) | 一种跨链网络中的数字身份管理方法及*** | |
CN111934870B (zh) | 区块链网络中的根证书更新方法、装置、设备以及介质 | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN114567643B (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
CN113689216A (zh) | 跨链事务处理方法及装置、设备、存储介质、程序产品 | |
US20230325833A1 (en) | Blockchain-based data processing method and apparatus, device, storage medium, and program product | |
CN115409511B (zh) | 一种基于区块链的个人信息保护*** | |
CN114598531B (zh) | 身份认证方法及设备 | |
CN117014176A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
Pintaldi | Implementation of a Blockchain-based Distributed PKI for IoT using Emercoin NVS and TPM 2.0 | |
CN117118640A (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
CN117294753A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN116781269A (zh) | 基于区块链的数据处理方法、装置、设备、介质及产品 | |
CN114301912A (zh) | 基于区块链的信息交互方法和装置 | |
CN116566698B (zh) | 一种基于多级跨网隔离的涉密数据交换方法和*** | |
CN116886444B (zh) | 跨链数据处理方法、装置、计算机、存储介质及程序产品 | |
US20240163118A1 (en) | Blockchain-based data processing method, device, and readable storage medium | |
CN116781268A (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 |