首页 / 专利库 / 银行与财务事项 / 区块链交易 / 基于区块链的数据处理方法、装置、节点设备及存储介质

基于链的数据处理方法、装置、节点设备及存储介质

阅读:1040发布:2020-06-01

专利汇可以提供基于链的数据处理方法、装置、节点设备及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种基于 区 块 链 的 数据处理 方法、装置、 节点 设备及存储介质,其中方法包括:接收客户端发送的交易 请求 ,所述交易请求包括交易数据;获取与所述交易请求相匹配的 智能合约 的执行函数;将所述执行函数添加于所述交易数据中得到目标数据;将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理。通过本发明实施例可以有效提高数据处理效率以及区块链安全性。,下面是基于链的数据处理方法、装置、节点设备及存储介质专利的具体信息内容。

1.一种基于链的数据处理方法,其特征在于,所述方法包括:
接收客户端发送的交易请求,所述交易请求包括交易数据;
获取与所述交易请求相匹配的智能合约的执行函数;
将所述执行函数添加于所述交易数据中得到目标数据;
将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理。
2.如权利要求1所述的方法,其特征在于,所述获取与所述交易请求相匹配的智能合约的执行函数,包括:
检测所述交易数据所属的交易类别;
获取与所述交易类别相匹配的智能合约的执行函数。
3.如权利要求2所述的方法,其特征在于,所述获取与所述交易类别相匹配的智能合约的执行函数,包括:
根据存储的交易类别与智能合约的执行函数标识之间的映射关系,确定与所述交易数据所属交易类别相匹配的执行函数的目标标识;
从存储的智能合约的多种执行函数中获取与所述目标标识匹配的执行函数。
4.如权利要求1-3任一所述的方法,其特征在于,所述获取与所述交易请求相匹配的智能合约的执行函数之前,所述方法还包括:
获取与所述交易请求相匹配的智能合约的执行函数的数据大小;
检测所述数据大小是否小于或等于预设数值;
若所述数据大小小于或等于所述预设数值,则触发执行所述获取与所述交易请求相匹配的智能合约的执行函数的步骤。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若所述数据大小大于所述预设数值,则获取所述执行函数的目标标识,并将所述目标标识添加于所述交易数据中;
将添加所述目标标识的交易数据发布至区块链,并在发布过程中根据所述目标标识调用并执行匹配的执行函数对所述交易数据进行处理。
6.如权利要求1所述的方法,其特征在于,所述交易请求包括资金交易请求,所述执行函数包括资金交易函数,所述交易数据包括支付区块链账户、交易金额、收款区块链账户;
所述将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理,包括:
将所述目标数据发布至区块链,并在发布过程中获取所述支付区块链账户的资金余额,以及检测所述资金余额是否大于或等于所述交易金额;
当所述资金余额大于或等于所述交易金额时,运行所述目标交易数据中的资金交易函数从所述支付区块链账户中向所述收款区块链账户转移所述交易金额对应的数值。
7.如权利要求1所述的方法,其特征在于,所述获取与所述交易请求相匹配的智能合约的执行函数之前,所述方法还包括:
检测所述客户端是否具备执行所述交易请求所请求的交易的权限;
若所述客户端具备执行所述交易请求所请求的交易的权限,则触发执行所述获取与所述交易请求相匹配的智能合约的执行函数的步骤。
8.一种基于区块链的数据处理装置,其特征在于,所述装置包括:
收发单元,用于接收客户端发送的交易请求,所述交易请求包括交易数据;
获取单元,用于获取与所述交易请求相匹配的智能合约的执行函数;
处理单元,用于将所述执行函数添加于所述交易数据中得到目标数据;
所述处理单元,还用于将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理。
9.一种节点设备,其特征在于,包括:处理器、通信接口存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如权利要求1-7任一项所述的基于区块链的数据处理方法。
10.一种存储介质,其特征在于,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-7任一项所述的基于区块链的数据处理方法。

说明书全文

基于链的数据处理方法、装置、节点设备及存储介质

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种基于区块链的数据处理方法、一种装置、一种节点设备及一种存储介质。

背景技术

[0002] 区块链是一种广泛应用于新兴数字加密货币的去中心化基础架构,随着比特币的逐渐被接受而受到关注和研究。区块链技术具有去中心化,区块数据基本不可篡改、去信任化等特性,被认为是继互联网之后计算机模式的颠覆。但区块链技术仍然存在可扩展性小、开源项目不够成熟以及数据处理效率低等问题。因此,如何提高区块链网络中数据处理的效率,是目前亟需解决的问题。

发明内容

[0003] 本发明实施例提供了一种基于区块链的数据处理方法、一种装置、一种节点设备及一种存储介质,可以有效提高数据处理效率以及区块链安全性。
[0004] 一方面,本发明实施例提供了一种基于区块链的数据处理方法,所述方法包括:
[0005] 接收客户端发送的交易请求,所述交易请求包括交易数据;
[0006] 获取与所述交易请求相匹配的智能合约的执行函数;
[0007] 将所述执行函数添加于所述交易数据中得到目标数据;
[0008] 将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理。
[0009] 在一实施例中,所述获取与所述交易请求相匹配的智能合约的执行函数,包括:检测所述交易数据所属的交易类别;获取与所述交易类别相匹配的智能合约的执行函数。
[0010] 在一实施例中,所述获取与所述交易类别相匹配的智能合约的执行函数,包括:根据存储的交易类别与智能合约的执行函数标识之间的映射关系,确定与所述交易数据所属交易类别相匹配的执行函数的目标标识;从存储的智能合约的多种执行函数中获取与所述目标标识匹配的执行函数。
[0011] 在一实施例中,所述获取与所述交易请求相匹配的智能合约的执行函数之前,所述方法还包括:获取与所述交易请求相匹配的智能合约的执行函数的数据大小;检测所述数据大小是否小于或等于预设数值;若所述数据大小小于或等于所述预设数值,则触发执行所述获取与所述交易请求相匹配的智能合约的执行函数的步骤。
[0012] 在一实施例中,所述方法还包括:若所述数据大小大于所述预设数值,则获取所述执行函数的目标标识,并将所述目标标识添加于所述交易数据中;将添加所述目标标识的交易数据发布至区块链,并在发布过程中根据所述目标标识调用并执行匹配的执行函数对所述交易数据进行处理。
[0013] 在一实施例中,所述交易请求包括资金交易请求,所述执行函数包括资金交易函数,所述交易数据包括支付区块链账户、交易金额、收款区块链账户;所述将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理,包括:将所述目标数据发布至区块链,并在发布过程中获取所述支付区块链账户的资金余额,以及检测所述资金余额是否大于或等于所述交易金额;当所述资金余额大于或等于所述交易金额时,运行所述目标交易数据中的资金交易函数从所述支付区块链账户中向所述收款区块链账户转移所述交易金额对应的数值。
[0014] 在一实施例中,所述获取与所述交易请求相匹配的智能合约的执行函数之前,所述方法还包括:检测所述客户端是否具备执行所述交易请求所请求的交易的权限;若所述客户端具备执行所述交易请求所请求的交易的权限,则触发执行所述获取与所述交易请求相匹配的智能合约的执行函数的步骤。
[0015] 另一方面,本发明实施例提供了一种基于区块链的数据处理装置,所述装置包括:
[0016] 收发单元,用于接收客户端发送的交易请求,所述交易请求包括交易数据;
[0017] 获取单元,用于获取与所述交易请求相匹配的智能合约的执行函数;
[0018] 处理单元,用于将所述执行函数添加于所述交易数据中得到目标数据;
[0019] 所述处理单元,还用于将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理。
[0020] 再一方面,本发明实施例提供了一种节点设备,包括:处理器、通信接口存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行上述基于区块链的数据处理方法。
[0021] 相应地,本发明实施例还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述基于区块链的数据处理方法。
[0022] 本发明实施例通过获取与交易请求相匹配的智能合约的执行函数,将执行函数添加于交易请求包括的交易数据中得到目标数据,在将目标数据发布至区块链的过程中运行该执行函数对交易数据进行处理,一方面可以节省上链过程中获取相匹配的执行函数的时间,有效提高数据处理效率;另一方面无需将智能合约发布至区块链网络,从而可以实现匿名智能合约,提高区块链安全性。附图说明
[0023] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024] 图1是本发明实施例提供的一种区块链网络的架构示意图;
[0025] 图2是本发明实施例提供的一种数据处理系统的架构示意图;
[0026] 图3是本发明实施例提供的一种区块链区块的结构示意图;
[0027] 图4是本发明实施例提供的一种基于区块链的数据处理方法的流程示意图;
[0028] 图5是本发明实施例提供的一种基于区块链的数据处理装置的结构示意图;
[0029] 图6是本发明实施例提供的一种节点设备的结构示意图。

具体实施方式

[0030] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0031] 随着科技时代的到来和移动互联网的发展,网络变革的步伐也愈来愈快,实现同一领域或多个领域的信息融合,为客户提供全方位信息化方案的过程亦面临着体系结构的改进、支撑重心转移等新的挑战。因此,区块链技术作为分布式账本的一种特定实现,凭借其存储和管理数据的天然优势,逐渐成为各个领域存储数据和交易数据的首选方式。
[0032] 以图1所示的区块链网络的架构示意图为例进行描述。如图1所示,区块链网络中的节点设备可以包括行、保险公司、政府大楼、商铺、学校以及医院等。银行、保险公司、政府大楼、商铺、学校以及医院均参与同一区块链网络的管理和处理,并且还可以参与监督交易的合法性,以达到区块链网络对交易数据的处理或存储的公平性。同时,上述提及到的银行、保险公司、政府大楼、商铺、学校以及医院都是分属于不同的领域,不同领域的信息融合和交互可以更好地提升社会工作的质量和效率。区块链网络中的任意节点设备可以对获取的交易数据进行校验,得到的校验结果为校验成功时,可以基于该交易数据生成区块(如图1所示的区块),并将该区块发布至区块链,以使区块链网络中的其他各个节点设备均可对该区块进行分布式存储。比如图1所示,区块链网络中的节点设备可以包括银行、保险公司、政府大楼、商铺、学校以及医院,并且银行、保险公司、政府大楼、商铺、学校以及医院可以对同一用户A的身份信息等进行分布式存储,因此该用户A到任意一家机构均可查询到自己的身份信息。
[0033] 如图2所示,为本发明实施例提供的一种数据处理系统,所述数据处理系统可以是由客户端、多个节点设备(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。其中,客户端也可以是区块链网络中的节点设备。分布式系统可以为区块链系统,参见图2,图2是本发明实施例提供的数据处理系统应用于区块链系统(或者说区块链网络)的一个可选的架构示意图,由客户端和多个节点设备形成。节点设备之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层操作系统层和应用层。
[0034] 参见图2示出的区块链系统中各节点的功能,涉及的功能包括:
[0035] 1)路由,节点具有的基本功能,用于支持节点之间的通信。
[0036] 节点除具有路由功能外,还可以具有以下功能:
[0037] 2)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
[0038] 参见图3,图3是本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储数据记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0039] 3)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
[0040] 例如,应用实现的业务包括:
[0041] 3.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
[0042] 3.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
[0043] 3.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
[0044] 目前的区块链架构中,先由开发人员通过某种编程语言定义合约逻辑,生成智能合约,其中,智能合约包括多种执行函数,每个执行函数用于实现特定的功能;智能合约封装预定义的若干状态、转换规则、触发条件以及对应操作等;然后将智能合约发布到区块链上(合约注册),经过各方签署后,以程序代码的形式附着在区块链数据上,经过区块链网络的传播和验证后被记入各个节点的分布式账本中,区块链可以实时监控整个智能合约的状态,在确认满足特定的触发条件后激活并执行合约。可见,目前的方式中,需要先将智能合约发布至区块链上,然后在满足触发条件后,调用并运行智能合约中相匹配的执行函数对交易数据进行处理。一方面,智能合约是具名的,会在一定程度上影响区块链的安全性,并且智能合约的发布流程繁琐,会消耗大量的网络资源;另一方面,调用智能合约的执行函数的过程会消耗较长的时间,会降低交易数据的处理效率。
[0045] 基于此,本发明实施例提供一种基于区块链的数据处理方法,包括如下步骤:接收客户端发送的交易请求,该交易请求包括交易数据;获取与该交易请求相匹配的智能合约的执行函数;并将获取到的执行函数添加于该交易数据中得到目标数据;将该目标数据发布至区块链,并在发布过程中运行该目标数据中的执行函数对该交易数据进行处理。通过上述方式,一方面可以节省上链过程中获取相匹配的执行函数的时间,有效提高数据处理效率;另一方面无需将智能合约发布至区块链网络,从而可以实现匿名智能合约,提高区块链安全性,以下进行详细说明。
[0046] 请参阅图4,图4为本发明实施例提供的一种基于区块链的数据处理方法的流程示意图。本发明实施例中所描述的基于区块链的数据处理方法可以应用于节点设备,所述节点设备可以为图2所示数据处理系统中的区块链网络的任一节点设备。在其他实施方式中,所述节点设备是根据所述区块链网络中各节点设备的负载状况、响应时间以及与客户端之间的距离确定出的最优节点设备。本发明实施例中所描述的基于区块链的数据处理方法包括:
[0047] S401、接收客户端发送的交易请求,所述交易请求包括交易数据。
[0048] 本发明实施例中,交易数据为交易请求所请求的交易执行过程中需要使用到的数据;交易请求可以是数据修改请求、数据读取请求、数据写入请求等。在一实施方式中,该交易请求可以是资金交易请求,该交易数据包括支付区块链账户、交易金额、收款区块链账户等。节点设备在接收到客户端发送的交易请求之后,获取该交易请求携带的交易数据。
[0049] S402、获取与所述交易请求相匹配的智能合约的执行函数。
[0050] 本发明实施例中,节点设备存储有智能合约的多种执行函数,并且存储有各种交易请求与智能合约的执行函数标识之间的映射关系;节点设备根据该映射关系确定与其接收到的交易请求相匹配的执行函数的目标标识,并从其存储的智能合约的多种执行函数中获取与该目标标识相匹配的执行函数。例如,该交易请求为资金交易请求,执行资金交易所需的执行函数为资金交易函数,该资金交易函数包括资金数据修改函数、资金数据读取函数等;节点设备则从其存储的多种执行函数中获取上述资金数据修改函数、资金数据读取函数等。
[0051] 在其他实施例中,节点设备获取与该交易请求相匹配的智能合约的执行函数的方式为:检测该交易数据所属的交易类别,并获取与该交易类别相匹配的智能合约的执行函数;将获取到的执行函数作为与该交易请求相匹配的执行函数。在一实施方式中,节点设备存储有智能合约的多种执行函数,并且存储有各种交易类别与智能合约的执行函数标识之间的映射关系;节点设备根据该映射关系确定与该交易数据所属交易类别相匹配的执行函数的目标标识,并从其存储的智能合约的多种执行函数中获取与该目标标识相匹配的执行函数。
[0052] 在一实施例中,节点设备获取与该交易请求相匹配的智能合约执行函数之前,先获取与该交易请求相匹配的智能合约执行函数的数据大小,并检测该数据大小是否小于或等于预设数值;若检测到该数据大小小于或等于该预设数值,则执行步骤S402至步骤S404。若检测到该数据大小大于该预设数值,则获取与该交易请求相匹配的智能合约执行函数的目标标识,并将该目标标识添加于该交易数据中;然后将添加该目标标识的交易数据发布至区块链,并在发布过程中调用并执行与该目标标识相匹配的执行函数对该交易数据进行处理。采用上述方式,可以在获取到的执行函数的数据大小超过一定数值时,只将该执行函数的标识添加到交易数据中,可以在一定程度上降低区块链上的数据量,节省存储资源。
[0053] 在另一实施例中,节点设备获取与该交易请求相匹配的智能合约执行函数之前,检测客户端是否具备执行该交易请求所请求的交易的权限;若检测到客户端具备执行该交易请求所请求的交易的权限,则执行步骤S402至步骤S404。若检测到该客户端不具备执行该交易请求所请求的交易的权限,节点设备则将该交易请求发布至区块链,并向区块链网络中的节点广播该交易请求不具备权限的消息,和/或,在区块链网络中为该交易请求添加不具备权限的标识。通过上述方式,有利于后续快速验证该交易请求所请求的交易是否有执行。
[0054] S403、将所述执行函数添加于所述交易数据中得到目标数据。
[0055] 本发明实施例中,与交易请求相匹配的智能合约的执行函数为一个或者多个。在一实施方式中,当与交易请求相匹配的智能合约的执行函数为多个时,节点设备获取后续对该交易数据进行处理的过程中该多个执行函数的运行顺序,并按照该运行顺序依次将该多个执行函数添加于目标数据中,使得该多个执行函数在目标数据中也按照该运行顺序排列。采用上述方式,有利于后续运行该多个执行函数时快速找到相应的执行函数,在一定程度上进一步提高区块链的数据处理效率。
[0056] S404、将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理。
[0057] 本发明实施例中,节点设备根据该目标数据生成区块,并将生成的区块发布至区块链,以及在将区块发布至区块链的过程中运行目标数据中的执行函数对该交易数据进行处理。通过上述方式,节点设备可以在数据上链过程中直接运行目标数据中的执行函数对交易数据进行处理,相对于目前在数据上链过程中才从底层的智能合约模块中获取匹配的执行函数,本方案可以节省数据上链过程中获取相匹配的执行函数的时间,从而提高交易数据的处理效率。另外,本方案中的智能合约的执行函数无需发布至区块链网络,不仅可以节省发布智能合约消耗的网络资源,还可以实现匿名智能合约,在一定程度上提高区块链的安全性。
[0058] 在一实施例中,该交易请求包括资金交易请求,该执行函数包括资金交易函数,该交易数据包括支付区块链账户、交易金额、收款区块链账户;节点设备将目标数据发布至区块链,并在发布过程中获取该支付区块链账户的资金余额,以及检测该资金余额是否大于或等于该交易金额;当该资金余额大于或等于该交易金额时,运行目标交易数据中的资金交易函数从支付区块链账户中向收款区块链账户转移该交易金额对应的数值。当该资金余额小于该交易金额时,节点设备则撤销将目标数据发布至区块链的操作,并向客户端发送交易失败的提示信息。在其他实施方式中,节点设备撤销将目标数据发布至区块链的操作之后,将该交易请求发布至区块链,并向区块链网络中的节点广播该交易请求未响应的消息,和/或,在区块链网络中为该交易请求添加未响应的标识。通过上述方式,有利于后续快速验证该交易请求所请求的交易是否有执行。
[0059] 在一实施方式中,节点设备在获取该支付区块链账户的资金余额之前,还可以先检测该交易金额是否超过支付区块链账户的限额,该限额可以是单笔交易金额的限额,也可以是单日交易金额的限额等。若检测到该交易金额未超过支付区块链账户的限额,则执行获取该支付区块链账户的资金余额的步骤。若检测到该交易金额超过支付区块链账户的限额,节点设备则撤销将目标数据发布至区块链的操作,并向客户端发送交易失败的提示信息。在其他实施方式中,节点设备撤销将目标数据发布至区块链的操作之后,将该交易请求发布至区块链,并向区块链网络中的节点广播该交易请求未响应的消息,和/或,在区块链网络中为该交易请求添加未响应的标识。通过上述方式,有利于后续快速验证该交易请求所请求的交易是否有执行。
[0060] 在另一实施例中,该交易请求包括数据查询请求,该执行函数包括数据查询函数,该交易数据包括查询关键词;节点设备将目标数据发布至区块链,并在发布过程中运行目标交易数据中的数据查询函数查询该关键词匹配的信息。例如,该数据查询请求为物流信息查询请求,该数据查询函数为物流信息查询函数,该查询关键词为物流单号,则在将目标数据发布至区块链的过程中,运行该物流信息查询函数查询该物流单号匹配的物流信息。
[0061] 在又一实施例中,该交易请求包括温度控制请求,该执行函数包括温度控制函数,该交易数据包括控制对象、设定数值;节点设备通过运行该温度控制函数将该控制对象的温度设定值调整为该设定数值。需要说明的是,上述过程为区块链与物联网相结合,利用智能合约的执行函数实现智能家居领域的智能自动化的一种方式,其他方式例如湿度、亮度、开启、关闭、解等操作类似,此处不再赘述。
[0062] 本发明实施例通过获取与交易请求相匹配的智能合约的执行函数,将执行函数添加于交易请求包括的交易数据中得到目标数据,在将目标数据发布至区块链的过程中运行该执行函数对交易数据进行处理,一方面可以节省上链过程中获取相匹配的执行函数的时间,有效提高数据处理效率;另一方面无需将智能合约发布至区块链网络,从而可以实现匿名智能合约,提高区块链安全性。
[0063] 请参阅图5,图5为本发明实施例提供的一种基于区块链的数据处理装置的结构示意图。本发明实施例中所描述的基于区块链的数据处理装置,应用于上述方法实施例中的节点设备,所述装置包括:
[0064] 收发单元501,用于接收客户端发送的交易请求,所述交易请求包括交易数据;
[0065] 获取单元502,用于获取与所述交易请求相匹配的智能合约的执行函数;
[0066] 处理单元503,用于将所述执行函数添加于所述交易数据中得到目标数据;
[0067] 所述处理单元503,还用于将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理。
[0068] 在一实施例中,所述获取单元502获取与所述交易请求相匹配的智能合约的执行函数时,具体用于:检测所述交易数据所属的交易类别;获取与所述交易类别相匹配的智能合约的执行函数。
[0069] 在一实施例中,所述获取单元502获取与所述交易类别相匹配的智能合约的执行函数时,具体用于:根据存储的交易类别与智能合约的执行函数标识之间的映射关系,确定与所述交易数据所属交易类别相匹配的执行函数的目标标识;从存储的智能合约的多种执行函数中获取与所述目标标识匹配的执行函数。
[0070] 在一实施例中,所述获取单元502还用于获取与所述交易请求相匹配的智能合约的执行函数的数据大小;
[0071] 所述处理单元503,还用于检测所述数据大小是否小于或等于预设数值,若所述数据大小小于或等于所述预设数值,则触发所述获取单元502获取与所述交易请求相匹配的智能合约的执行函数。
[0072] 在一实施例中,所述处理单元503,还用于:若所述数据大小大于所述预设数值,则触发所述获取单元502获取所述执行函数的目标标识;将所述目标标识添加于所述交易数据中;将添加所述目标标识的交易数据发布至区块链,并在发布过程中根据所述目标标识调用并执行匹配的执行函数对所述交易数据进行处理。
[0073] 在一实施例中,所述交易请求包括资金交易请求,所述执行函数包括资金交易函数,所述交易数据包括支付区块链账户、交易金额、收款区块链账户;
[0074] 所述处理单元503将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理时,具体用于:
[0075] 将所述目标数据发布至区块链,并在发布过程中获取所述支付区块链账户的资金余额,以及检测所述资金余额是否大于或等于所述交易金额;
[0076] 当所述资金余额大于或等于所述交易金额时,运行所述目标交易数据中的资金交易函数从所述支付区块链账户中向所述收款区块链账户转移所述交易金额对应的数值。
[0077] 在一实施例中,所述处理单元503,还用于:检测所述客户端是否具备执行所述交易请求所请求的交易的权限;若所述客户端具备执行所述交易请求所请求的交易的权限,则触发所述获取单元502获取与所述交易请求相匹配的智能合约的执行函数。
[0078] 可以理解的是,本发明实施例所述的基于区块链的数据处理装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0079] 本发明实施例通过获取与交易请求相匹配的智能合约的执行函数,将执行函数添加于交易请求包括的交易数据中得到目标数据,在将目标数据发布至区块链的过程中运行该执行函数对交易数据进行处理,一方面可以节省上链过程中获取相匹配的执行函数的时间,有效提高数据处理效率;另一方面无需将智能合约发布至区块链网络,从而可以实现匿名智能合约,提高区块链安全性。
[0080] 请参阅图6,图6为本发明实施例提供的一种节点设备的结构示意图。本发明实施例中所描述的节点设备包括:处理器601、通信接口602及存储器603。其中,处理器601、通信接口602及存储器603可通过总线或其他方式连接,本发明实施例以通过总线连接为例。
[0081] 其中,处理器601(或称CPU(Central Processing Unit,中央处理器))是节点设备的计算核心以及控制核心,其可以解析节点设备内的各类指令以及处理节点设备的各类数据,例如:CPU可以在节点设备内部结构之间传输各类交互数据,等等。通信接口602可选的可以包括标准的有线接口、无线接口(如Wi-Fi、移动通信接口等),受处理器601的控制用于收发数据。存储器603(Memory)是节点设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器603既可以包括节点设备的内置存储器,当然也可以包括节点设备所支持的扩展存储器。存储器603提供存储空间,该存储空间存储了节点设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本发明对此并不作限定。
[0082] 在本发明实施例中,处理器601通过运行存储器603中的可执行程序代码,执行如下操作:
[0083] 通过通信接口602接收客户端发送的交易请求,所述交易请求包括交易数据;获取与所述交易请求相匹配的智能合约的执行函数;将所述执行函数添加于所述交易数据中得到目标数据;将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理。
[0084] 在一实施例中,所述处理器601获取与所述交易请求相匹配的智能合约的执行函数时,具体用于:检测所述交易数据所属的交易类别;获取与所述交易类别相匹配的智能合约的执行函数。
[0085] 在一实施例中,所述处理器601获取与所述交易类别相匹配的智能合约的执行函数时,具体用于:根据存储的交易类别与智能合约的执行函数标识之间的映射关系,确定与所述交易数据所属交易类别相匹配的执行函数的目标标识;从存储的智能合约的多种执行函数中获取与所述目标标识匹配的执行函数。
[0086] 在一实施例中,所述处理器601获取与所述交易请求相匹配的智能合约的执行函数之前,还用于:获取与所述交易请求相匹配的智能合约的执行函数的数据大小;检测所述数据大小是否小于或等于预设数值;若所述数据大小小于或等于所述预设数值,则执行所述获取与所述交易请求相匹配的智能合约的执行函数的步骤及其后续步骤。
[0087] 在一实施例中,所述处理器601还用于:若所述数据大小大于所述预设数值,则获取所述执行函数的目标标识,并将所述目标标识添加于所述交易数据中;将添加所述目标标识的交易数据发布至区块链,并在发布过程中根据所述目标标识调用并执行匹配的执行函数对所述交易数据进行处理。
[0088] 在一实施例中,所述交易请求包括资金交易请求,所述执行函数包括资金交易函数,所述交易数据包括支付区块链账户、交易金额、收款区块链账户;
[0089] 所述处理器601将所述目标数据发布至区块链,并在发布过程中运行所述目标数据中的执行函数对所述交易数据进行处理时,具体用于:将所述目标数据发布至区块链,并在发布过程中获取所述支付区块链账户的资金余额,以及检测所述资金余额是否大于或等于所述交易金额;当所述资金余额大于或等于所述交易金额时,运行所述目标交易数据中的资金交易函数从所述支付区块链账户中向所述收款区块链账户转移所述交易金额对应的数值。
[0090] 在一实施例中,所述处理器601获取与所述交易请求相匹配的智能合约的执行函数之前,还用于:检测所述客户端是否具备执行所述交易请求所请求的交易的权限;若所述客户端具备执行所述交易请求所请求的交易的权限,则执行所述获取与所述交易请求相匹配的智能合约的执行函数的步骤及后续步骤。
[0091] 具体实现中,本发明实施例中所描述的处理器601、通信接口602及存储器603可执行本发明实施例提供的一种基于区块链的数据处理方法中所描述的节点设备的实现方式,也可执行本发明实施例提供的一种基于区块链的数据处理装置中所描述的实现方式,在此不再赘述。
[0092] 本发明实施例通过获取与交易请求相匹配的智能合约的执行函数,将执行函数添加于交易请求包括的交易数据中得到目标数据,在将目标数据发布至区块链的过程中运行该执行函数对交易数据进行处理,一方面可以节省上链过程中获取相匹配的执行函数的时间,有效提高数据处理效率;另一方面无需将智能合约发布至区块链网络,从而可以实现匿名智能合约,提高区块链安全性。
[0093] 本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如本发明实施例所述的基于区块链的数据处理方法。
[0094] 本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本发明实施例所述的基于区块链的数据处理方法。
[0095] 需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0096] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
[0097] 以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈