基于联盟链的智能合约数据处理方法、及其相关设备技术

技术编号:32460406 阅读:16 留言:0更新日期:2022-02-26 08:47
本申请实施例属于区块链领域,涉及一种基于联盟链的智能合约数据处理方法,包括获取业务请求,并从请求链调用与业务请求对应的智能合约;根据业务请求确定请求链的出块节点和联盟链的目标节点;通过出块节点向目标节点发送与业务请求对应的数据获取请求,并通过出块节点接收由目标节点发送的目标数据,其中目标数据由联盟链响应数据获取请求调用得到;执行智能合约,通过目标数据处理业务请求。本申请还提供一种基于联盟链的智能合约数据处理的相关设备。本申请实现了主动调用联盟链目标数据的同时,也避免造成请求链因存储过多的目标数据导致存储空间拥挤的问题,保证请求链中智能合约的业务处理速度。合约的业务处理速度。合约的业务处理速度。

【技术实现步骤摘要】
基于联盟链的智能合约数据处理方法、及其相关设备


[0001]本申请涉及区块链
,尤其涉及基于联盟链的智能合约数据处理方法、及其相关设备。

技术介绍

[0002]目前,区块链中的智能合约可直接访问链上数据,以从链上数据中调用数据执行智能合约,但智能合约不直接访问链下数据(如业务请求对应的目标数据),因此当区块链需访问链下数据供智能合约处理业务请求时,需通过“喂数据”的方式将链下数据进行数据上链,导致区块链的链上存储空间拥挤,影响业务的处理速度。

技术实现思路

[0003]本申请实施例的目的在于提出一种基于联盟链的智能合约数据处理方法、及其相关设备,以解决现有技术中难以调用链下数据供智能合约处理业务请求的问题。
[0004]为了解决上述技术问题,本申请实施例提供一种基于联盟链的智能合约数据处理方法,采用了如下所述的技术方案:
[0005]获取业务请求,并从请求链中调用与所述业务请求对应的智能合约;
[0006]根据所述业务请求确定所述请求链的出块节点和联盟链的目标节点;
[0007]通过所述出块节点向所述目标节点发送与所述业务请求对应的数据获取请求,并通过所述出块节点接收由所述目标节点发送的目标数据,其中所述目标数据由所述联盟链响应所述数据获取请求调用得到;
[0008]执行所述智能合约,通过所述目标数据处理所述业务请求。
[0009]进一步的,所述根据所述业务请求确定所述请求链的出块节点和联盟链的目标节点的步骤包括:
[0010]获取所述请求链中参与共识的所有节点,根据预设规则从参与共识的所有节点中确定共识节点,将所述共识节点作为所述出块节点;
[0011]从联盟链的所有节点中随机选用单个或多个节点作为所述目标节点。
[0012]进一步的,在所述从联盟链的所有节点中随机选用单个或多个节点作为所述目标节点的步骤之前,还包括:
[0013]获取所述业务请求的数据获取类型;
[0014]从联盟链集合中确定与所述数据获取类型对应的联盟链,其中所述联盟链集合包括多个所述联盟链,每个所述联盟链存储的所述目标数据不同。
[0015]进一步的,在所述并通过所述出块节点接收由所述目标节点发送的目标数据的步骤之后,还包括:
[0016]获取所述目标数据的有效期;
[0017]当所述有效期到达预设期限时,从所述联盟链集合中删除所述有效期到达所述预设期限的所述目标数据对应的所述联盟链。
[0018]进一步的,所述通过所述目标数据处理所述业务请求的步骤包括:
[0019]验证所述目标数据是否有效,得到第一验证结果;
[0020]当所述第一验证结果满足预设条件时,则通过所述目标数据处理所述业务请求;
[0021]当所述第一验证结果不满足所述预设条件时,则重新确定所述请求链的新出块节点,将所述新出块节点替换所述出块节点后,重新通过所述出块节点向所述目标节点发送所述数据获取请求,并通过所述出块节点接收由所述目标节点发送的目标数据后重新进行验证,直到重新验证的第一验证结果满足预设条件时为止。
[0022]进一步的,所述当所述第一验证结果不满足所述预设条件时,则重新确定所述请求链的新出块节点的步骤包括:
[0023]验证所述目标数据是否合法,得到第二验证结果;
[0024]当所述第二验证结果为合法时,则重新确定所述请求链的新出块节点;
[0025]当所述第二验证结果为不合法时,则重新确定联盟链的新目标节点,将所述新目标节点替换所述目标节点,重新通过所述出块节点向所述目标节点发送所述数据获取请求,并通过所述出块节点接收由所述目标节点发送的目标数据后重新进行验证,直到重新验证的第一验证结果满足预设条件时为止。
[0026]进一步的,所述重新确定联盟链的新目标节点的步骤包括:
[0027]向所述请求链中所有具有投票权限的节点发起取消目标节点的投票;
[0028]获取所述具有投票权限的节点针对所述取消目标节点的投票信息,并统计所有所述投票信息的投票值,得到统计值;
[0029]当所述统计值满足预设阈值时,则删除所述联盟链的所述目标节点,并从所述联盟链的剩余节点中,随机选用单个或多个节点作为所述联盟链的所述新目标节点;
[0030]当所述统计值不满足预设阈值时,则从所述联盟链中除前一次选用的目标节点外的剩余节点中,随机选用单个或多个节点作为所述联盟链的所述新目标节点。
[0031]进一步的,所述目标数据为零知识证明数据;所述通过所述目标数据处理所述业务请求的步骤包括:
[0032]通过所述零知识证明数据处理所述业务请求。
[0033]为了解决上述技术问题,本申请实施例还提供一种基于联盟链的智能合约数据处理装置,采用了如下所述的技术方案:
[0034]合约调用模块,用于获取业务请求,并从请求链中调用与所述业务请求对应的智能合约;
[0035]节点确定模块,用于根据所述业务请求确定所述请求链的出块节点和联盟链的目标节点;
[0036]数据接收模块,用于通过所述出块节点向所述目标节点发送与所述业务请求对应的数据获取请求,并通过所述出块节点接收由所述目标节点发送的目标数据,其中所述目标数据由所述联盟链响应所述数据获取请求调用得到;及
[0037]业务处理模块,用于执行所述智能合约,通过所述目标数据处理所述业务请求。
[0038]为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
[0039]包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所
述计算机可读指令时实现如上述中任一项所述的基于联盟链的智能合约数据处理方法的步骤。
[0040]为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
[0041]所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述中任一项所述的基于联盟链的智能合约数据处理方法的步骤。
[0042]与现有技术相比,本申请实施例主要有以下有益效果:本申请通过获取业务请求,并从请求链中调用与所述业务请求对应的智能合约;根据所述业务请求确定所述请求链的出块节点和联盟链的目标节点;通过所述出块节点向所述目标节点发送与所述业务请求对应的数据获取请求,并通过所述出块节点接收由所述目标节点发送的目标数据,其中所述目标数据由所述联盟链响应所述数据获取请求调用得到;执行所述智能合约,通过所述目标数据处理所述业务请求。通过联盟链存储目标数据,保证了目标数据安全可追溯,当请求链的智能合约处理业务请求时,可主动向联盟链调用目标数据,并通过目标数据处理业务请求,实现了主动调用联盟链目标数据的同时,也避免造成请求链因存储过多的目标数据导致存储空间拥挤的问题,保证请求链中智能合约的业务处理速度。
附图说明
[0043]为了更清楚地说明本申本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联盟链的智能合约数据处理方法,其特征在于,包括下述步骤:获取业务请求,并从请求链中调用与所述业务请求对应的智能合约;根据所述业务请求确定所述请求链的出块节点和联盟链的目标节点;通过所述出块节点向所述目标节点发送与所述业务请求对应的数据获取请求,并通过所述出块节点接收由所述目标节点发送的目标数据,其中所述目标数据由所述联盟链响应所述数据获取请求调用得到;执行所述智能合约,通过所述目标数据处理所述业务请求。2.根据权利要求1所述的基于联盟链的智能合约数据处理方法,其特征在于,所述根据所述业务请求确定所述请求链的出块节点和联盟链的目标节点的步骤包括:获取所述请求链中参与共识的所有节点,根据预设规则从参与共识的所有节点中确定共识节点,将所述共识节点作为所述出块节点;从联盟链的所有节点中随机选用单个或多个节点作为所述目标节点。3.根据权利要求2所述的基于联盟链的智能合约数据处理方法,其特征在于,在所述从联盟链的所有节点中随机选用单个或多个节点作为所述目标节点的步骤之前,还包括:获取所述业务请求的数据获取类型;从联盟链集合中确定与所述数据获取类型对应的联盟链,其中所述联盟链集合包括多个所述联盟链,每个所述联盟链存储的所述目标数据不同。4.根据权利要求1所述的基于联盟链的智能合约数据处理方法,其特征在于,在所述并通过所述出块节点接收由所述目标节点发送的目标数据的步骤之后,还包括:获取所述目标数据的有效期;当所述有效期到达预设期限时,从所述联盟链集合中删除所述有效期到达所述预设期限的所述目标数据对应的所述联盟链。5.根据权利要求1至4中任一项所述的基于联盟链的智能合约数据处理方法,其特征在于,所述通过所述目标数据处理所述业务请求的步骤包括:验证所述目标数据是否有效,得到第一验证结果;当所述第一验证结果满足预设条件时,则通过所述目标数据处理所述业务请求;当所述第一验证结果不满足所述预设条件时,则重新确定所述请求链的新出块节点,将所述新出块节点替换所述出块节点后,重新通过所述出块节点向所述目标节点发送所述数据获取请求,并通过所述出块节点接收由所述目标节点发送的目标数据后重新进行验证,直到重新验证的第一验证结果满足预设条件时为止。6.根据权利要求5所述的基于联盟链的智能合约数据处理方法,其特征在于,所述当所述第一验证结果不满足所述预设条件时,则重新确定所述请求链的新出块节点的步骤包括:验证所...

【专利技术属性】
技术研发人员:踪训杰张健
申请(专利权)人:润联软件系统深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1