基于智能合约的资源分配方法、装置、设备和存储介质与流程

文档序号:20917174发布日期:2020-05-29 13:41阅读:183来源:国知局
基于智能合约的资源分配方法、装置、设备和存储介质与流程

本申请涉及区块链技术领域,特别是涉及一种基于智能合约的资源分配方法、装置、区块链节点设备和计算机可读存储介质。



背景技术:

随着信息处理技术的发展,如个人电脑、移动终端和服务器等计算机设备通过网络进行连接,用户可以通过计算机设备提高信息处理的效率,特别是用户可以通过网络连接的计算机设备对各式各样的资源进行的分配。

然而,资源分配通常涉及多方之间的信息交互,而传统技术提供的资源分配方案容易在资源分配方案制定过程中出现信息不对称、信息支离和难以追溯等情况,导致这种技术对资源分配的可靠性较低。



技术实现要素:

基于此,有必要针对传统技术对资源分配的可靠性较低的技术问题,提供一种基于智能合约的资源分配方法、装置、区块链节点设备和计算机可读存储介质。

一种基于智能合约的资源分配方法,应用于区块链节点设备,所述方法包括:

获取资源分配指令;

根据所述资源分配指令执行对应的智能合约,获取所述智能合约输出的资源分配量以及与所述资源分配量对应的账户信息;其中,所述智能合约预先部署于所述区块链节点设备,用于根据所述资源分配指令确定所述资源分配量和所述账户信息;所述账户信息包括终端标识信息和区块链账户标识信息;

将所述资源分配量和账户信息发送至资源分配服务器;

接收所述资源分配服务器发送的对应于所述账户信息的第一资源分配凭证信息;

将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,用于所述目标终端将第二资源分配凭证信息发送至所述资源分配服务器,以使得所述第二资源分配凭证信息与所述第一资源分配凭证信息相匹配时,所述资源分配服务器将与所述资源分配量对应的资源分配至目标区块链账户;其中,所述目标区块链账户为与所述区块链账户标识信息对应的区块链账户。

一种基于智能合约的资源分配装置,应用于区块链节点设备,所述装置包括:

指令获取模块,用于获取资源分配指令;

合约执行模块,用于根据所述资源分配指令执行对应的智能合约,获取所述智能合约输出的资源分配量以及与所述资源分配量对应的账户信息;其中,所述智能合约预先部署于所述区块链节点设备,用于根据所述资源分配指令确定所述资源分配量和所述账户信息;所述账户信息包括终端标识信息和区块链账户标识信息;

信息发送模块,用于将所述资源分配量和账户信息发送至资源分配服务器;

信息接收模块,用于接收所述资源分配服务器发送的对应于所述账户信息的第一资源分配凭证信息;

资源分配模块,用于将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,用于所述目标终端将第二资源分配凭证信息发送至所述资源分配服务器,以使得所述第二资源分配凭证信息与所述第一资源分配凭证信息相匹配时,所述资源分配服务器将与所述资源分配量对应的资源分配至目标区块链账户;其中,所述目标区块链账户为与所述区块链账户标识信息对应的区块链账户。

一种区块链节点设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取资源分配指令;根据所述资源分配指令执行对应的智能合约,获取所述智能合约输出的资源分配量以及与所述资源分配量对应的账户信息;其中,所述智能合约预先部署于所述区块链节点设备,用于根据所述资源分配指令确定所述资源分配量和所述账户信息;所述账户信息包括终端标识信息和区块链账户标识信息;将所述资源分配量和账户信息发送至资源分配服务器;接收所述资源分配服务器发送的对应于所述账户信息的第一资源分配凭证信息;将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,用于所述目标终端将第二资源分配凭证信息发送至所述资源分配服务器,以使得所述第二资源分配凭证信息与所述第一资源分配凭证信息相匹配时,所述资源分配服务器将与所述资源分配量对应的资源分配至目标区块链账户;其中,所述目标区块链账户为与所述区块链账户标识信息对应的区块链账户。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取资源分配指令;根据所述资源分配指令执行对应的智能合约,获取所述智能合约输出的资源分配量以及与所述资源分配量对应的账户信息;其中,所述智能合约预先部署于所述区块链节点设备,用于根据所述资源分配指令确定所述资源分配量和所述账户信息;所述账户信息包括终端标识信息和区块链账户标识信息;将所述资源分配量和账户信息发送至资源分配服务器;接收所述资源分配服务器发送的对应于所述账户信息的第一资源分配凭证信息;将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,用于所述目标终端将第二资源分配凭证信息发送至所述资源分配服务器,以使得所述第二资源分配凭证信息与所述第一资源分配凭证信息相匹配时,所述资源分配服务器将与所述资源分配量对应的资源分配至目标区块链账户;其中,所述目标区块链账户为与所述区块链账户标识信息对应的区块链账户。

上述基于智能合约的资源分配方法、装置、设备和存储介质,区块链节点设备在接收到资源分配指令后,可以执行相应的智能合约并获取该智能合约输出的资源分配量以及对应的账户信息,该智能合约预先部署在区块链节点设备上,由此可以确保对应于该资源分配指令的资源分配量和账户信息准确有效,然后区块链节点设备将该资源分配量和账户信息发送给资源分配服务器,并将资源分配服务器反馈的与该账户信息对应的第一资源分配凭证信息发送给目标终端,目标终端可以将第二资源分配凭证信息发送给资源分配服务器,如果该两个资源分配凭证信息相匹配,则资源分配服务器将与资源分配量对应的资源分配给目标区块链账户,通过区块链技术结合智能合约以保证资源分配方案得到准确有效地执行,以及通过凭证信息的对比匹配以保证相应的资源能够准确分配到相应的区块链账户上,提高资源分配的可靠性。

附图说明

图1为一个实施例中基于智能合约的资源分配方法的应用环境图;

图2为一个实施例中基于智能合约的资源分配方法的流程示意图;

图3为一个应用实例基于智能合约的资源分配方法的流程示意图;

图4为一个实施例中基于智能合约的资源分配装置的结构框图;

图5为一个实施例中区块链节点设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的基于智能合约的资源分配方法,可以应用于如图1所示的应用环境中,图1为一个实施例中基于智能合约的资源分配方法的应用环境图,该应用环境可以包括区块链节点设备110、资源分配服务器120和目标终端130,区块链节点设备110可以通过网络与资源分配服务器120和目标终端130进行通信,资源分配服务器120也可以通过网络与目标终端130进行通信,而区块链节点设备110、资源分配服务器120和目标终端130也可以连接在同一个区块链上。

具体的,区块链节点设备110获取资源分配指令,并根据该资源分配指令执行对应的智能合约,从而获取智能合约输出的资源分配量以及与资源分配量对应的账户信息;其中,该智能合约可以预先部署在区块链节点设备110所在区块链上,可以由区块链节点设备110执行。该智能合约主要用于根据区块链设备110接收到的资源分配指令确定资源分配量和账户信息,该账户信息可以包括终端标识信息和区块链账户标识信息。然后,区块链节点设备110可以将得到的资源分配量和账户信息发送至资源分配服务器120,该资源分配服务器120可以根据该账户信息生成对应的第一资源分配凭证信息,反馈给区块链节点设备110,区块链节点设备110接收资源分配服务器120发送的对应于账户信息的第一资源分配凭证信息并发送至与终端标识信息对应的目标终端130,目标终端130将第二资源分配凭证信息发送至资源分配服务器120,以使得该第二资源分配凭证信息与第一资源分配凭证信息相匹配时,由资源分配服务器120将与资源分配量对应的资源分配至目标区块链账户,其中,该目标区块链账户是指与区块链账户标识信息对应的区块链账户,从而完成在接收到资源分配指令后,将相应的资源分配到相应的区块链账户上。

其中,区块链节点设备110和目标终端130可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,资源分配服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,图2为一个实施例中基于智能合约的资源分配方法的流程示意图,提供了一种基于智能合约的资源分配方法,以该方法应用于图1中的区块链节点设备110为例进行说明,包括以下步骤:

步骤s201,获取资源分配指令。

本步骤中,区块链节点设备110可以获取资源分配指令,该资源分配指令可以用于将相应的资源转移至区块链的某些账户上。其中,该资源分配指令可以是在满足一定条件下触发的资源分配指令,以商品交易场景为例,商品被交易时(即产生交易事件),可以通过超市的扫码枪获取该商品条形码对应的交易信息,收银系统可以记录该交易信息,区块链节点设备110可以在检测到该交易事件被触发后,根据交易信息生成资源分配指令。其中,交易信息也可以在被区块链节点设备110获取后同步上传到区块链当中进行存储,以便实现资源分配可溯源。除了在检测到相关联的特定事件(如上述交易事件)的形式触发生成资源分配指令以外,还可以在特定时间如(每天上午8:00、晚上20:00各触发一次资源分配指令)触发生成资源分配指令,也可以由区块链的特定授权账户触发生成该资源分配指令。

步骤s202,根据资源分配指令执行对应的智能合约,获取智能合约输出的资源分配量以及与资源分配量对应的账户信息。

本步骤中,区块链节点设备110可以在获取资源分配指令后,根据该资源分配指令执行对应的智能合约。其中,该智能合约可以预先部署在区块链当中,在区块链节点设备110上自动执行,部署在区块链当中的智能合约可以包括多个,对应于不同的资源分配指令,接收到不同的资源分配指令则执行对应的智能合约。以商品交易场景为例,不同商品被交易时就会产生不同的交易信息,而区块链节点设备110根据不同的交易信息可以生成对应的资源分配指令,从而依据不同的资源分配指令去执行不同的智能合约。具体的,该智能合约,主要用于根据资源分配指令确定资源分配量和账户信息,即用于根据具体的资源分配指令,确定不同的分配比例以及不同分配比例对应的账户信息。其中,账户信息可以包括终端标识信息和区块链账户标识信息,该终端标识信息用于对如图1所示的目标终端130进行标识,而区块链账户标识信息则用于对区块链上相应的账户进行标识。

步骤s203,将资源分配量和账户信息发送至资源分配服务器;

本步骤,区块链节点设备110需要将资源分配量和账户信息(包括区块链账户信息和终端标识信息)发送至资源分配服务器120。其中,资源分配服务器120在接收到资源分配量和账户信息后,可以按照资源分配量将存储的待分配资源进行划分,获取对应于该资源分配量的资源。同时,资源分配服务器120还根据账户信息中的终端标识信息生成第一资源分配凭证信息,而该第一资源分配凭证信息主要用于对目标终端130的身份进行验证,以验证通过目标终端130请求分配资源的用户与区块链账户标识信息对应的区块链账户是同一用户,在具体实现中,该第一资源分配凭证信息可以是短信凭证码、问答验证信息等。

步骤s204,接收资源分配服务器发送的对应于账户信息的第一资源分配凭证信息。

其中,区块链节点设备110接收资源分配服务器120反馈的对应于账户信息的第一资源分配凭证信息。

步骤s205,将第一资源分配凭证信息发送至与终端标识信息对应的目标终端。

本步骤中,区块链节点设备110在接收到第一资源分配凭证信息后,将该第一资源分配凭证信息发送至与终端标识信息对应的目标终端130,以使得目标终端130,可以根据第一资源分配凭证信息生成对应的第二资源分配凭证信息,并将该第二资源分配凭证信息发送给资源分配服务器120,用于请求资源分配服务器120将相应的资源发送至目标区块链账户。具体的,当第一资源分配凭证信息与第二资源分配凭证信息相匹配的时候,资源分配服务器120可以确认通过目标终端130请求分配资源的用户与区块链账户标识信息对应的区块链账户是同一用户,从而可以将与资源分配量对应的资源分配至目标区块链账户,该目标区块链账户是指与区块链账户标识信息对应的区块链账户,完成将特定比例的资源分配至相应的区块链账户过程。

上述基于智能合约的资源分配方法,区块链节点设备在接收到资源分配指令后,可以执行相应的智能合约并获取该智能合约输出的资源分配量以及对应的账户信息,该智能合约预先部署在区块链节点设备上,由此可以确保对应于该资源分配指令的资源分配量和账户信息准确有效,然后区块链节点设备将该资源分配量和账户信息发送给资源分配服务器,并将资源分配服务器反馈的与该账户信息对应的第一资源分配凭证信息发送给目标终端,目标终端可以将第二资源分配凭证信息发送给资源分配服务器,如果该两个资源分配凭证信息相匹配,则资源分配服务器将与资源分配量对应的资源分配给目标区块链账户,通过区块链技术结合智能合约以保证资源分配方案得到准确有效地执行,以及通过凭证信息的对比匹配以保证相应的资源能够准确分配到相应的区块链账户上,提高资源分配的可靠性。

在一个实施例中,上述基于智能合约的资源分配方法还可以包括如下步骤:

获取授权区块链账户设定的初始智能合约;若在设定的时间范围内,区块链节点设备接收到的授权指令的指令数与所述授权区块链账户的账户总数相同,则将初始智能合约作为智能合约部署于区块链节点设备。

本实施例主要是可以通过授权区块链账户来设定部署在区块链上的智能合约。具体的,区块链节点设备110可以先获取授权区块链账户设定的初始智能合约,而区块链上授权区块链账户可以包括多个,而发起该初始智能合约的授权账户可以是其中一个,而区块链节点设备110接收到的该初始智能合约先不能进行部署,而需要等待各授权区块链账户分别进行授权验证。其中,区块链节点设备110可以在设定的时间范围内,等待各授权区块链账户对初始智能合约的授权指令。其中,各授权区块链账户可以针对于初始智能合约生成授权指令,并发送至区块链节点设备110,区块链节点设备110在设定时间范围内接收各授权区块链账户发送的授权指令,并统计接收到的授权指令的指令数,如果该指令数与授权曲库卡了账户的账户总数相同,则可以将该初始智能合约作为智能合约部署在区块链节点设备110上,等待资源分配指令自动触发执行。本实施例在部署智能合约时,需要各授权区块链账户授权验证,以通过这种形式确定的智能合约能够进一步提高资源分配的可靠性。

在一个实施例中,进一步的,上述获取授权区块链账户设定的初始智能合约的步骤,可以包括:

确定授权区块链账户从多个对应于待分配资源的基础资源分配方案中选择的候选资源分配方案;获取授权区块链账户对候选资源分配方案的方案修正信息;方案修正信息是授权区块链账户根据待分配资源的资源分配场景设置的;按照方案修正信息对候选资源分配方案进行修正,得到初始智能合约;其中,初始智能合约包括待分配资源的资源分配量,以及与资源分配量对应的账户信息。

本实施例主要是提供一种生成初始智能合约的方式。本实施例中,区块链节点设备110可以先确定授权区块链账户从多个对应于待分配资源的基础资源分配方案中选择的候选资源分配方案。其中,多个针对于待分配资源的基础资源分配方案可以预先提供给各授权区块链账户,以便授权区块链账户可以从中选择一个作为候选资源分配方案,提高初始智能合约生成的效率,而在确定候选资源分配方案后,区块链节点设备110可以进一步获取授权区块链账户对候选资源分配方案的方案修正信息,该方案修正信息可以由授权区块链账户根据待分配资源的资源分配场景设置的,也就是说,可以为授权区块链账户提供方案修正的功能,以便于授权区块链账户可以基于候选资源分配方案进行修正,无需在方案不满足实际要求时重新制定资源分配方案,以便提高智能合约生成的效率。接着,区块链节点设备110可以按照方案修正信息对候选资源分配方案进行修正,并进一步将修正后的候选资源分配方案作为初始智能合约。

在一个实施例中,步骤s202中的根据资源分配指令执行对应的智能合约,可以包括:

根据资源分配指令确定对应的合约执行时间,若当前时间与合约执行时间相同,则执行智能合约。

本实施例中,区块链节点设备110在接收到资源分配指令后,可以根据该资源分配指令确定对应的合约执行时间。其中,该合约执行时间可以时预先设定的,例如对于所有资源分配指令均设定为每天早上8:00或者晚上20:00,那么如果当前时间是早上8:00或者晚上20:00,则可以自动执行智能合约;除此以外,合约执行时间也可以根据不同的资源分配指令进行设定,从而可以在不同的时间执行对应的智能合约,使得资源分配更加灵活。

在其中一个实施例中,步骤s205中的将第一资源分配凭证信息发送至与终端标识信息对应的目标终端,可以进一步用于:目标终端利用目标区块链账户的私钥对第一资源分配凭证信息进行数字签名,得到第二资源分配凭证信息并发送至资源分配服务器;其中,该第二资源分配凭证信息,可以用于资源分配服务器利用目标区块链账户的公钥判断第二资源分配凭证信息与第一资源分配凭证是否相匹配。

本实施例,主要是区块链节点设备110将第一资源分配凭证信息发送给目标终端130后,需要目标终端130利用目标区块链账户的私钥对该第一资源分配凭证信息进行数字签名,以进一步确保目标终端130对应的用户与目标区块链账户对应的用户属于同一个用户,保证资源分配的可靠性。然后,目标终端130需要将利用目标区块链账户的私钥对该第一资源分配凭证信息进行数字签名得到的第二资源分配凭证信息发送至资源分配服务器120,资源分配服务器120可以利用目标区块链账户的公钥判断该第二资源分配凭证信息与第一资源分配凭证是否相匹配,若第二资源分配凭证信息与第一资源分配凭证相匹配,则可以将相应的资源分配至目标区块链账户上,而若第二资源分配凭证信息与第一资源分配凭证不匹配,则可以不将该资源分配给目标区块链账户。

在另外一些实施例中,第一资源分配凭证信息可以包括与资源的资源属性相关联的提问信息;步骤s205中的将第一资源分配凭证信息发送至与终端标识信息对应的目标终端,可以进一步用于:目标终端获取与提问信息对应的解答信息,根据解答信息得到第二资源分配凭证信息,并发送至资源分配服务器,以使资源分配服务器根据解答信息与提问信息判断第二资源分配凭证信息与第一资源分配凭证是否相匹配。

本实施例主要是提供一种与资源属性相关联的信息问答的方式以保证资源分配的可靠性。具体而言,资源分配服务器120生成的第一资源分配凭证信息可以包括与资源的资源属性相关联的提问信息,例如与该资源的资源大小、资源类型等资源属性相关联的提问信息,资源分配服务器120可以将该提问信息作为第一资源分配凭证信息。接着,区块链节点设备110将该第一资源分配凭证信息发送给目标终端130,目标终端130的用户可以对该提问信息进行解答,目标终端130可以获取用户对该提问信息的解答信息,将该解答信息作为第二资源分配凭证信息发送至资源分配服务器120,资源分配服务器120可以根据提问信息对应的标准答案与该解答信息进行对照,从而判断出第二资源分配凭证信息与第一资源分配凭证是否相匹配,如果该解答信息与标准答案相同,则可以认为第二资源分配凭证信息与第一资源分配凭证相匹配,资源分配服务器120将相应的资源分配至目标区块链账户上,若否,则资源分配服务器120可以不将该资源分配给目标区块链账户。

在一个实施例中,上述智能合约,还可以用于根据资源分配指令确定对应的资源分配时限;上述基于智能合约的资源分配方法,还可以包括如下步骤:

获取智能合约输出的资源分配时限;将资源分配时限发送至资源分配服务器。

本实施例中,资源分配时限可以在智能合约上预先设定,不同的资源分配指令可以对应于不同的资源分配时限。其中,该资源分配时限用于指示若资源分配服务器在该资源分配时限内,接收到目标终端130发送的第二资源分配凭证信息,则可以在第二资源分配凭证信息与第一资源分配凭证信息相匹配时,将资源分配至目标区块链账户。该资源分配时限,还可以用于指示若资源分配服务器130在该资源分配时限外,接收到第二资源分配凭证信息,则资源分配服务器130可以将该第二资源分配凭证信息设为无效凭证信息,这种情况下,由于第二资源分配信息为无效凭证信息,即使该第二资源分配信息与第一资源分配信息可能是相互匹配的,但由于超出了智能合约规定的资源分配时限,所以资源分配服务器130可以不将资源分配给目标区块链账户,以从限定资源提取时间的角度提高资源分配的可靠性。

下面以上述基于智能合约的资源分配方法应用于在线分润场景当中进行说明。在线分润,就是说一笔交易完成后,利润实时分割给各利益相关方,运用区块链结合智能合约,本申请实施例能够确保资源能够可靠地、及时地被分配到利益相关方对应的各区块链账户,如图3所示,图3为一个应用实例基于智能合约的资源分配方法的流程示意图,本应用实例的主要思路是,采用智能合约作为支撑技术,而智能合约的特点之一就是要求在实施应用之前编写定义智能合约的规则,在智能合约中定义分润机制,分润机制可以根据应用场景进行实际调整,但主要可以分为固定比例分配规则、阶梯式分配规则和累积式分配规则。

主要步骤包括:

步骤s1,创建用于分润的智能合约。其中,智能合约包括基本的功能,查询、调用、转账等函数。

步骤s2,设置智能合约的执行条件。即触发智能合约执行的条件设置,包括事件触发(每一笔交易完成后)、时间触发(每天上午8:00、晚上20:00各执行一次)或者用户触发(由授权的用户发起)。

步骤s3,设置智能合约的执行过程。当智能合约被触发执行,获取(一笔或多笔)交易的输入值(交易额revenue,交易商品类型category、价格price及数量quantity,根据商品类型获得的,等信息),获取分润规则,获取权益人信息(账户),并执行利润profit分配,分润规则可以是:

1、固定比例分配:权益人a可分得的利润=(总交易额-总成本-总税额)*a对应的利润占比,用公式可以表示为:

总利润p=revenue-cost-tcx

pa=p×ratioa

如果一共有n位权益人,那么他们的利润占比总和不超过100%,即可以小于100%的原因在于,根据权益人的协商,可以将一部分净利润循环投入业务、研发,或者作为激励池等。

2、阶梯式分配,可以是

或者是:

3、累积式分配。

根据权益人a(在当年或当月)已经累积获得的利润分配ca进行计算。

其中2和3的百分比和区间都可以根据实际场景进行调整。

步骤s4,权益人通过方案后应用该智能合约。原则上,智能合约一旦编译运行,要改动功能就比较麻烦,一般是撤销后制定新的智能合约。因此智能合约正式上线运行应当通过权益相关者的同意(如多签验证),并且需要他们提供相关的区块链账户信息,以便将利润分配到对应账户。

步骤s5,自动执行分润智能合约。

在本应用实例当中,利润资源的具体形式可以是积分、法币或虚拟货币等。不同交易的权益人可以不同。例如abc参与商品1的分润,acd参与商品2的分润,区块链系统可以自动根据交易进行匹配。

本应用实例能够实现交易利润资源的可靠且实时分配,依托区块链、智能合约技术使得利润资源在与利益方对应的额各区块链账户之间变得更快、更透明,节省了彼此信息交互的成本,有利于提高资源分配的可靠性。

应该理解的是,虽然图2至3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,图4为一个实施例中基于智能合约的资源分配装置的结构框图,提供了一种基于智能合约的资源分配装置,应用于区块链节点设备,包括:

指令获取模块401,用于获取资源分配指令;

合约执行模块402,用于根据资源分配指令执行对应的智能合约,获取智能合约输出的资源分配量以及与资源分配量对应的账户信息;其中,智能合约预先部署于区块链节点设备,用于根据资源分配指令确定资源分配量和账户信息;账户信息包括终端标识信息和区块链账户标识信息;

信息发送模块403,用于将资源分配量和账户信息发送至资源分配服务器;

信息接收模块404,用于接收资源分配服务器发送的对应于账户信息的第一资源分配凭证信息;

资源分配模块405,用于将第一资源分配凭证信息发送至与终端标识信息对应的目标终端,用于目标终端将第二资源分配凭证信息发送至资源分配服务器,以使得第二资源分配凭证信息与第一资源分配凭证信息相匹配时,资源分配服务器将与资源分配量对应的资源分配至目标区块链账户;其中,目标区块链账户为与区块链账户标识信息对应的区块链账户。

在一个实施例中,上述装置还可以包括:

合约生成模块,用于获取授权区块链账户设定的初始智能合约;若在设定的时间范围内,区块链节点设备接收到的授权指令的指令数与授权区块链账户的账户总数相同,则将初始智能合约作为智能合约部署于区块链节点设备;授权指令是授权区块链账户针对于初始智能合约生成的。

在一个实施例中,合约生成模块,进一步用于确定授权区块链账户从多个对应于待分配资源的基础资源分配方案中选择的候选资源分配方案;获取授权区块链账户对候选资源分配方案的方案修正信息;方案修正信息是授权区块链账户根据待分配资源的资源分配场景设置的;按照方案修正信息对候选资源分配方案进行修正,得到初始智能合约;其中,初始智能合约包括待分配资源的资源分配量,以及与资源分配量对应的账户信息。

在一个实施例中,合约执行模块402,进一步用于:根据资源分配指令确定对应的合约执行时间;若当前时间与合约执行时间相同,则执行智能合约。

在一个实施例中,资源分配模块405,进一步用于:目标终端利用目标区块链账户的私钥对第一资源分配凭证信息进行数字签名,得到第二资源分配凭证信息并发送至资源分配服务器;其中,第二资源分配凭证信息,用于资源分配服务器利用目标区块链账户的公钥判断第二资源分配凭证信息与第一资源分配凭证是否相匹配。

在一个实施例中,第一资源分配凭证信息包括与资源的资源属性相关联的提问信息;资源分配模块405,进一步用于:目标终端获取与提问信息对应的解答信息,根据解答信息得到第二资源分配凭证信息,并发送至资源分配服务器,以使资源分配服务器根据解答信息与提问信息判断第二资源分配凭证信息与第一资源分配凭证是否相匹配。

在一个实施例中,智能合约,还用于根据资源分配指令确定对应的资源分配时限;上述装置还可以包括:

时限处理模块,用于获取智能合约输出的资源分配时限;将资源分配时限发送至资源分配服务器;其中,资源分配时限,用于指示若资源分配服务器在资源分配时限内,接收到第二资源分配凭证信息,则在第二资源分配凭证信息与第一资源分配凭证信息相匹配时,将资源分配至目标区块链账户;资源分配时限,还用于指示若资源分配服务器在资源分配时限外,接收到第二资源分配凭证信息,则将第二资源分配凭证信息设为无效凭证信息。

关于基于智能合约的资源分配装置的具体限定可以参见上文中对于基于智能合约的资源分配方法的限定,在此不再赘述。上述基于智能合约的资源分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种区块链节点设备,该区块链节点设备可以是终端、服务器,其内部结构图可以如图5所示,图5为一个实施例中区块链节点设备的内部结构图。该区块链节点设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该区块链节点设备的处理器用于提供计算和控制能力。该区块链节点设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该区块链节点设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于智能合约的资源分配方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的区块链节点设备的限定,具体的区块链节点设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种区块链节点设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取资源分配指令;根据所述资源分配指令执行对应的智能合约,获取所述智能合约输出的资源分配量以及与所述资源分配量对应的账户信息;其中,所述智能合约预先部署于所述区块链节点设备,用于根据所述资源分配指令确定所述资源分配量和所述账户信息;所述账户信息包括终端标识信息和区块链账户标识信息;将所述资源分配量和账户信息发送至资源分配服务器;接收所述资源分配服务器发送的对应于所述账户信息的第一资源分配凭证信息;将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,用于所述目标终端将第二资源分配凭证信息发送至所述资源分配服务器,以使得所述第二资源分配凭证信息与所述第一资源分配凭证信息相匹配时,所述资源分配服务器将与所述资源分配量对应的资源分配至目标区块链账户;其中,所述目标区块链账户为与所述区块链账户标识信息对应的区块链账户。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取授权区块链账户设定的初始智能合约;若在设定的时间范围内,所述区块链节点设备接收到的授权指令的指令数与所述授权区块链账户的账户总数相同,则将所述初始智能合约作为所述智能合约部署于所述区块链节点设备;所述授权指令是所述授权区块链账户针对于所述初始智能合约生成的。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

确定所述授权区块链账户从多个对应于待分配资源的基础资源分配方案中选择的候选资源分配方案;获取所述授权区块链账户对所述候选资源分配方案的方案修正信息;所述方案修正信息是所述授权区块链账户根据所述待分配资源的资源分配场景设置的;按照所述方案修正信息对所述候选资源分配方案进行修正,得到所述初始智能合约;其中,所述初始智能合约包括所述待分配资源的资源分配量,以及与所述资源分配量对应的账户信息。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据所述资源分配指令确定对应的合约执行时间;若当前时间与所述合约执行时间相同,则执行所述智能合约。

在一个实施例中,所述将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,进一步用于:所述目标终端利用所述目标区块链账户的私钥对所述第一资源分配凭证信息进行数字签名,得到所述第二资源分配凭证信息并发送至所述资源分配服务器;其中,所述第二资源分配凭证信息,用于所述资源分配服务器利用所述目标区块链账户的公钥判断所述第二资源分配凭证信息与所述第一资源分配凭证是否相匹配。

在一个实施例中,所述第一资源分配凭证信息包括与所述资源的资源属性相关联的提问信息;所述将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,进一步用于:所述目标终端获取与所述提问信息对应的解答信息,根据所述解答信息得到所述第二资源分配凭证信息,并发送至所述资源分配服务器,以使所述资源分配服务器根据所述解答信息与所述提问信息判断所述第二资源分配凭证信息与所述第一资源分配凭证是否相匹配。

在一个实施例中,所述智能合约,还用于根据所述资源分配指令确定对应的资源分配时限;处理器执行计算机程序时还实现以下步骤:

获取所述智能合约输出的所述资源分配时限;将所述资源分配时限发送至所述资源分配服务器;其中,所述资源分配时限,用于指示若所述资源分配服务器在所述资源分配时限内,接收到所述第二资源分配凭证信息,则将在所述第二资源分配凭证信息与所述第一资源分配凭证信息相匹配时,将所述资源分配至目标区块链账户;所述资源分配时限,还用于指示若所述资源分配服务器在所述资源分配时限外,接收到所述第二资源分配凭证信息,则将所述第二资源分配凭证信息设为无效凭证信息。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取资源分配指令;根据所述资源分配指令执行对应的智能合约,获取所述智能合约输出的资源分配量以及与所述资源分配量对应的账户信息;其中,所述智能合约预先部署于所述区块链节点设备,用于根据所述资源分配指令确定所述资源分配量和所述账户信息;所述账户信息包括终端标识信息和区块链账户标识信息;将所述资源分配量和账户信息发送至资源分配服务器;接收所述资源分配服务器发送的对应于所述账户信息的第一资源分配凭证信息;将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,用于所述目标终端将第二资源分配凭证信息发送至所述资源分配服务器,以使得所述第二资源分配凭证信息与所述第一资源分配凭证信息相匹配时,所述资源分配服务器将与所述资源分配量对应的资源分配至目标区块链账户;其中,所述目标区块链账户为与所述区块链账户标识信息对应的区块链账户。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取授权区块链账户设定的初始智能合约;若在设定的时间范围内,所述区块链节点设备接收到的授权指令的指令数与所述授权区块链账户的账户总数相同,则将所述初始智能合约作为所述智能合约部署于所述区块链节点设备;所述授权指令是所述授权区块链账户针对于所述初始智能合约生成的。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

确定所述授权区块链账户从多个对应于待分配资源的基础资源分配方案中选择的候选资源分配方案;获取所述授权区块链账户对所述候选资源分配方案的方案修正信息;所述方案修正信息是所述授权区块链账户根据所述待分配资源的资源分配场景设置的;按照所述方案修正信息对所述候选资源分配方案进行修正,得到所述初始智能合约;其中,所述初始智能合约包括所述待分配资源的资源分配量,以及与所述资源分配量对应的账户信息。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据所述资源分配指令确定对应的合约执行时间;若当前时间与所述合约执行时间相同,则执行所述智能合约。

在一个实施例中,所述将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,进一步用于:所述目标终端利用所述目标区块链账户的私钥对所述第一资源分配凭证信息进行数字签名,得到所述第二资源分配凭证信息并发送至所述资源分配服务器;其中,所述第二资源分配凭证信息,用于所述资源分配服务器利用所述目标区块链账户的公钥判断所述第二资源分配凭证信息与所述第一资源分配凭证是否相匹配。

在一个实施例中,所述第一资源分配凭证信息包括与所述资源的资源属性相关联的提问信息;所述将所述第一资源分配凭证信息发送至与所述终端标识信息对应的目标终端,进一步用于:所述目标终端获取与所述提问信息对应的解答信息,根据所述解答信息得到所述第二资源分配凭证信息,并发送至所述资源分配服务器,以使所述资源分配服务器根据所述解答信息与所述提问信息判断所述第二资源分配凭证信息与所述第一资源分配凭证是否相匹配。

在一个实施例中,所述智能合约,还用于根据所述资源分配指令确定对应的资源分配时限;计算机程序被处理器执行时还实现以下步骤:

获取所述智能合约输出的所述资源分配时限;将所述资源分配时限发送至所述资源分配服务器;其中,所述资源分配时限,用于指示若所述资源分配服务器在所述资源分配时限内,接收到所述第二资源分配凭证信息,则将在所述第二资源分配凭证信息与所述第一资源分配凭证信息相匹配时,将所述资源分配至目标区块链账户;所述资源分配时限,还用于指示若所述资源分配服务器在所述资源分配时限外,接收到所述第二资源分配凭证信息,则将所述第二资源分配凭证信息设为无效凭证信息。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1