发明内容
本公开的发明人发现上述相关技术中存在如下问题:资源转移过程易被篡改,导致系统的可靠性差;资源数据一旦转移无法撤回,导致系统的灵活性差。
鉴于此,本公开提出了一种资源数据的转移技术方案,能够提高系统的可靠性、灵活性。
根据本公开的一些实施例,提供了一种资源数据的转移方法,包括:响应于区块链系统中发起节点的资源数据转移请求,将待处理资源数据中转到所述区块链系统的中转节点;生成与本次中转过程相应的中转信息,存储在所述区块链系统中,所述中转信息包括本次中转过程中所述发起节点的信息、所述待处理资源数据的指定接收节点的信息;根据所述发起节点或接收节点的与所述资源数据转移请求相应的资源数据处理请求,以及从所述区块链系统中获取的所述中转信息,确定是否对所述中转节点中的所述待处理资源数据进行转移。
在一些实施例中,所述确定是否对所述中转节点中的所述待处理资源数据进行转移包括:响应于所述发起节点的撤销转移请求或者所述指定接收节点的拒绝签收请求,将所述待处理资源数据退回所述发起节点;将相应的退回信息,存储在所述区块链系统中。
在一些实施例中,所述确定是否对所述中转节点中的所述待处理资源数据进行转移包括:响应于所述发起节点的撤销转移请求或者所述指定接收节点的拒绝签收请求,将所述待处理资源数据的状态配置为正常状态,在所述正常状态下,所述待处理资源数据可以转移到所述指定接收节点以外的节点。
在一些实施例中,所述确定是否对所述中转节点中的所述待处理资源数据进行转移包括:响应于所述区块链系统中接收节点发起的资源数据签收请求,将所述待处理资源数据转移到所述接收节点;生成与本次转移过程相应的转移信息,存储在所述区块链系统中。
在一些实施例中,所述确定是否对所述中转节点中的所述待处理资源数据进行转移包括:根据所述中转信息,将所述待处理资源数据的状态配置为锁定状态,在所述锁定状态下,所述待处理资源数据只能转移到所述指定接收节点;响应于所述区块链系统中接收节点发起的资源数据签收请求,根据所述中转信息中的所述指定接收节点的信息,确定是否将相应资源数据转移到所述接收节点。
在一些实施例中,所述发起节点为多个,各发起节点的待处理资源数据为多批;所述生成与本次转移过程相应的转移信息,存储在所述区块链系统中包括:将所述中转节点从各发起节点接收的每批待处理资源数据,确定为本次转移过程的各输入资源数据;将所述中转节点转移给的接收节点的每批相应资源数据,确定为本次转移过程的各输出资源数据,所述各输出资源数据分别来源于相应的所述各输入资源数据;将具有相同发起节点的各输入资源数据的相应输出资源数据合并为一批综合输出资源数据;根据各综合输出资源数据的相关信息,生成与本次转移过程相应的转移信息,存储在所述区块链系统中。
在一些实施例中,所述将待处理资源数据中转到所述区块链系统的中转节点包括:获取所述发起节点在之前的资源数据转移过程中,来源于其他节点的各转入资源数据的数量和类型;合并来源于相同其他节点且类型相同的转入资源数据,生成综合转入资源数据;获取所述发起节点在本次中转过程中,拟转给所述中转节点的转出资源数据的数量和类型;合并类型相同的转出资源数据,生成所述待处理资源数据;在所述综合转入资源数据的数量和类型与所述待处理资源数据的数量和类型相同的情况下,将所述待处理资源数据中转到所述区块链系统的中转节点。
根据本公开的另一些实施例,提供一种资源数据的转移装置,包括:中转单元,用于响应于区块链系统中发起节点的资源数据转移请求,将待处理资源数据中转到所述区块链系统的中转节点;存储单元,用于生成与本次中转过程相应的中转信息,存储在所述区块链系统中,所述中转信息包括本次中转过程中所述发起节点的信息、所述待处理资源数据的指定接收节点的信息;转移单元,用于根据所述发起节点或接收节点的与所述资源数据转移请求相应的资源数据处理请求,以及从所述区块链系统中获取的所述中转信息,确定是否对所述中转节点中的所述待处理资源数据进行转移。
在一些实施例中,所述发起节点为多个,各发起节点的待处理资源数据为多批;所述存储单元根据各综合输出资源数据的相关信息,生成与本次转移过程相应的转移信息,存储在所述区块链系统中。
在一些实施例中,所述的转移装置还包括合并单元,用于将所述中转节点从各发起节点接收的每批待处理资源数据,确定为本次转移过程的各输入资源数据,将所述中转节点转移给的接收节点的每批相应资源数据,确定为本次转移过程的各输出资源数据,所述各输出资源数据分别来源于相应的所述各输入资源数据,将具有相同发起节点的各输入资源数据的相应输出资源数据合并为一批综合输出资源数据。
在一些实施例中,所述的转移装置还包括合并单元,用于获取所述发起节点在之前的资源数据转移过程中,来源于其他节点的各转入资源数据的数量和类型,合并来源于相同其他节点且类型相同的转入资源数据,生成综合转入资源数据,获取所述发起节点在本次中转过程中,拟转给所述中转节点的转出资源数据的数量和类型,合并类型相同的转出资源数据,生成所述待处理资源数据;所述中转单元在所述综合转入资源数据的数量和类型与所述待处理资源数据的数量和类型相同的情况下,将所述待处理资源数据中转到所述区块链系统的中转节点。
在一些实施例中,所述转移单元响应于所述发起节点的撤销转移请求或者所述指定接收节点的拒绝签收请求,将所述待处理资源数据退回所述发起节点;所述存储单元将相应的退回信息,存储在所述区块链系统中。
在一些实施例中,所述转移单元响应于所述发起节点的撤销转移请求或者所述指定接收节点的拒绝签收请求,将所述待处理资源数据的状态配置为正常状态,在所述正常状态下,所述待处理资源数据可以转移到所述指定接收节点以外的节点。
在一些实施例中,所述转移单元响应于所述区块链系统中接收节点发起的资源数据签收请求,将所述待处理资源数据转移到所述接收节点;所述存储单元生成与本次转移过程相应的转移信息,存储在所述区块链系统中。
在一些实施例中,所述转移单元根据所述中转信息,将所述待处理资源数据的状态配置为锁定状态,在所述锁定状态下,所述待处理资源数据只能转移到所述指定接收节点;响应于所述区块链系统中接收节点发起的资源数据签收请求,根据所述中转信息中的所述指定接收节点的信息,确定是否将相应资源数据转移到所述接收节点。
根据本公开的又一些实施例,提供一种资源数据的转移装置,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行上述任一个实施例中的资源数据的转移方法。
根据本公开的再一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的资源数据的转移方法。
根据本公开的再一些实施例,提供一种区块链系统,包括:上述任一个实施例中的资源数据的转移装置。
在上述实施例中,将资源转移的发起方和接收方都配置为区块链系统的节点,利用区块链不可篡改的特性记录资源转换过程,从而提高了系统的可靠性;并将待转移的资源先中转到中转节点,再根据发起方和接收方的指令确定是否进行转移,从而提高另系统的灵活性。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出本公开的资源数据的转移方法的一些实施例的流程图。
如图1所示,该方法包括:步骤S10,资源中转到中转节点;步骤S20,生成并存储中转信息;和步骤S30,确定是否进行资源转移。
在步骤S10中,响应于区块链系统中发起节点的资源数据转移请求,将待处理资源数据中转到区块链系统的中转节点。例如,将待处理资源数据存储到中转节点,或中转到中转节点名下。
在一些实施例中,发起节点可以是网络用户、云系统或计算集群用户、企业、各级供应商等。例如,资源数据可以是网络用户的流量资源、带宽资源等网络资源,也可以是云系统或计算集群用户的计算资源、存储资源等系统资源,还可以是企业与各级供应商的资金、资产等金融资源。
在一些实施例中,通过调用区块链系统的智能合约,将发起节点的资源数据转移至中转节点。例如,中转节点可以是物理节点也可以是通过软件实现的非物理节点。中转节点可以是发起节点和接收节点共同持有私钥解锁的中间账户。中转过程会记录到区块链系统中,由区块链系统打包出块。
在一些实施例中,可以通过图2中的实施例执行步骤S10。
图2示出图1中步骤S10的一些实施例的流程图。
如图2所示,步骤S10可以包括:步骤S110,获取转入资源数据的数量和类型;步骤S120,合并转入资源数据;步骤S130,获取转出资源数据的数量和类型;步骤S140,合并转出资源数据;和步骤S150,中转待处理资源数据。
在步骤S110中,获取发起节点在之前的资源数据转移过程中,来源于其他节点的各转入资源数据的数量和类型。
在一些实施例中,可以根据UTXO(Unspent Transaction Output,未花费的交易输出)模型建立转移过程模型。例如,根据UTXO模型,每次转移过程(或者中转过程)都包含至少一批资源数据输入(input)用于表示在本次转移之前获取的资源数据,和来源于各input的至少一批资源数据输出(output)用于表示在本次转移过程转移出去的资源数据。
在一些实施例中,可以采用图3中的实施例建立转移过程模型。
图3示出本公开的资源数据的转移方法的一些实施例的示意图。
如图3所示,根据UTXO模型为两个资源数据转移过程两个模型:资源数据转移1和资源数据转移2。
在一些实施例中,资源数据转移1表示的转移过程为节点A将资源数据转移到节点B和节点C。INPUT 11标识节点A在上次转移过程中转入的资源数据;OUTPUT 12和OUTPUT 13都来源于INPUT 11,OUTPUT 12和OUTPUT 13分别标识节点A转移到节点B和节点C的资源数据。
资源数据转移2表示的转移过程为节点B将资源数据转移到节点D和节点E。INPUT21标识节点B在资源数据转移1表示的转移过程中从节点A转入的资源数据(即来源于OUTPUT12);INPUT 22、INPUT 23标识节点B在上次转移过程中转入的资源数据;OUTPUT 24和OUTPUT 25都来源于INPUT 21、INPUT 22或者INPUT 23,OUTPUT 24和OUTPUT 25分别标识节点B转移到节点D和节点E的资源数据。
基于上述模型,可以继续利用图2中的步骤进行资源数据转移。
在步骤S120中,合并来源于相同其他节点且类型相同的转入资源数据,生成综合转入资源数据。例如,资源数据的类型可以是流量资源、带宽资源、计算资源、存储资源、各类型资金资源等。
在步骤S130中,获取发起节点在本次中转过程中,拟转给中转节点的转出资源数据的数量和类型。
在步骤S140中,合并类型相同的转出资源数据,生成待处理资源数据。
在步骤S150中,在综合转入资源数据的数量和类型与待处理资源数据的数量和类型相同的情况下,将待处理资源数据中转到区块链系统的中转节点。在数量或类型不同的情况下,可以报错或提示无法进行转移。
将资源数据中转到中转节点后,就可以利用图1中的其他步骤继续实现资源数据转移了。
在步骤S20中,生成与本次中转过程相应的中转信息,存储在区块链系统中,中转信息包括本次中转过程中发起节点的信息、待处理资源数据的指定接收节点的信息。
在步骤S30中,根据发起节点或接收节点的与所述资源数据转移请求相应的资源数据处理请求,以及从区块链系统中获取的中转信息,确定是否对中转节点中的待处理资源数据进行转移。例如,与所述资源数据转移请求相应的资源数据处理请求可以是发起节点发出的撤销转移指令、接收节点发出的拒绝签收请求或签收请求。
在一些实施例中,可以通过图4a、图4b或图4c中的实施例执行步骤S30。
图4a示出图1中步骤S30的一些实施例的流程图。
如图4a所示,步骤S30可以包括:步骤S310a,资源退回发起节点;和步骤S320a,存储退回信息。
在步骤S310a中,响应于发起节点的撤销转移请求或者指定接收节点的拒绝签收请求,将待处理资源数据退回发起节点。
在一些实施例中,响应于发起节点的撤销转移请求或者指定接收节点的拒绝签收请求,将待处理资源数据的状态配置为正常(Normal)状态。在正常状态下,待处理资源数据可以转移到指定接收节点以外的节点。
在步骤S320a中,将相应的退回信息,存储在区块链系统中。
图4b示出图1中步骤S30的另一些实施例的流程图。
如图4b所示,步骤S30可以包括:步骤S310b,资源转移到接收节点;和步骤S320b,存储转移信息。
在步骤S310b中,响应于区块链系统中接收节点发起的资源数据签收请求,将待处理资源数据转移到接收节点。
在步骤S320b中,生成与本次转移过程相应的转移信息,存储在区块链系统中。
图4c示出图1中步骤S30的又一些实施例的流程图。
如图4c所示,步骤S30可以包括:步骤S310c,配置锁定状态;和步骤S320c,确定是否进行资源转移。
在步骤S310c中,根据中转信息,将待处理资源数据的状态配置为锁定状态。在锁定状态下,待处理资源数据只能转移到指定接收节点。
在步骤S320c中,响应于区块链系统中接收节点发起的资源数据签收请求,根据中转信息中的指定接收节点的信息,确定是否将相应资源数据转移到接收节点。
在一些实施例中,发起节点为多个,各发起节点的待处理资源数据为多批。可以通过图5中的实施例将转移信息存储在区块链系统中。
图5示出本公开的资源数据的转移方法的另一些实施例的流程图。
如图5所示,相比于上述任一个实施例,该方法还包括:步骤S51,确定输入资源数据;步骤S52,确定输出资源数据;步骤S53,合并为综合输出资源数据;和步骤S54,存储转移信息。
在步骤S51中,将中转节点从各发起节点接收的每批待处理资源数据,确定为本次转移过程的各输入资源数据。
在步骤S52中,将中转节点转移给的接收节点的每批相应资源数据,确定为本次转移过程的各输出资源数据。各输出资源数据分别来源于相应的各输入资源数据。
在步骤S53中,将具有相同发起节点的各输入资源数据的相应输出资源数据合并为一批综合输出资源数据。
在步骤S54中,根据各综合输出资源数据的相关信息,生成与本次转移过程相应的转移信息,存储在区块链系统中。
在一些实施例中,可以为转移过程中的input和output都设置pre字段,用于标识input和output在上一次转换过程中的来源节点。这样,就可以根据pre字段合并来源相同的output。还可以设置prepre字段,用于标识input和output在上两次转换过程中的来源节点。例如,可以采用图6中的实施例实现资源数据的合并。
图6示出本公开的资源数据的转移方法的另一些实施例的示意图。
如图6所示,转移过程为节点A将资源数据转移到节点B和节点C。
INPUT 61-INPUT 66都是节点A在之前的转移过程中转入的资源数据。INPUT 61-INPUT 66都设置有pre字段和prepre字段分别标识相应的INPUT的上一次转移来源节点和上两次转移来源节点(如节点D、E、R等)。
OUTPUT 67-OUTPUT 69是转出到节点B或C的资源数据。OUTPUT 67-OUTPUT 69都设置有pre字段和prepre字段分别标识相应的OUTPUT的上一次转移来源节点和上两次转移来源节点。
根据各INPUT的pre字段,可以将相应的OUTPUT合并。例如,INPUT 61-INPUT 63都来源于节点D,则可以将其相应的OUTPUT合并为OUTPUT67;INPUT 64-INPUT 65都来源于节点E,则可以将其相应的OUTPUT合并为OUTPUT 68;只有INPUT 66来源于节点R,其相应的OUTPUT 69无需合并。
在上述实施例中,将INPUT 61-INPUT 66本来会产生的6条相应OUTPUT合并为3条OUTPUT:OUTPUT 67-OUTPUT 69。这样,可以避免随着资源数据的转移不断进行,导致需要存储OUTPUT越来越多(即UTXO膨胀)的问题。而且,pre字段和prepre字段可以使得资源数据的转移可以被有效追溯,从而提高系统可靠性。
在上述实施例中,通过区块链系统连接资源数据供应链中的各用户(主体),将用户之间转移的资源作为资源数据上链,从而可以根据业务需要将资源在各用户间拆分、流转。区块链系统上的数据经多方记录确认,从而实现资源转移可追溯、不可篡改、不可抵赖。这样,可以达到在多级接收节点之间传递发起节点信用的目的,其所有的资源数据均可追溯至登记上链时的初始资源数据。
图7示出本公开的资源数据的转移方法的又一些实施例的示意图。
如图7所示,以发起节点(如核心企业用户)与其1级接收节点的真实资源数据转移为基础,对发起节点需要转移的资源数据进行审核后登记上链形成链上资源数据。
1级接收节点拿到这批链上资源数据后,能够将其根据需求进行任意拆分。拆分后的多批资源数据既可以等待资源交付日期到期后由发起节点交付;也可以根据业务需求转移给其上游的2级接收节点(此时1级接收节点变为发起节点);或者用来向资源管理节点1或资源管理节点2(如网络运营商、云系统主机)申请获取资源。
1级接收节点上游的N级接收节点,都可以按照自己的需求自由支配的链上资源数据。
在一些实施例中,整个资源数据的生命周期可以分为三部分:资源数据上链,资源数据转移,资源数据离链。资源数据上链是通过调用智能合约将供应链中发起节点的待转移资源作为资源数据写入区块链系统,生成区块记录转移历史过程;资源数据转移是通过调用智能合约将资产在不同的节点之间转移,生成区块记录转移历史过程;资源数据离链是到资源交付日期之后不再转移。
图8示出本公开的资源数据的转移方法的又一些实施例的流程图。
如图8所示,由发起节点经过一系列相应用户内部流程后进行资源数据上链。如果此次上链需要审核节点进行审核,则将相应的资源数据的状态配置为待审核状态,并由指定的审核节点进行审核。在审核节点确认审核通过或此次上链无需审核的情况下,将相应的资源数据的状态配置为待签收状态,由接收节点确定是否签收。
在接收节点确认签收的情况下,将相应的资源数据的状态配置为正常状态。在正常状态下,资源数据可以转移、通过审核节点获取或者等待到期交付。
资源数据在转移过程中可以被接收节点拒收,也可以被发起节点撤销(在接收节点确认接收之前)。例如,可以通过被转移双方节点共同控制的中转节点实现。在资源数据转移过程中,资源数据首先被转让进入中转节点。如果接收节点同意签收,再从中转节点转入接收节点;如果接收节点拒绝签收或者发起节点撤回,则资源数据从中转节点退回发起节点。
在接收节点同意签收的情况下,判断资源数据是否需要审核。在需要审核的情况下,审核节点进行审核通过后,将资源数据配置状态为待签收;在不需要审核的情况下,将资源数据配置状态为待签收。
审核节点进行审核拒绝通过后,将资源数据配置状态为正常;接收节点确认签收后,将资源数据配的状态置为已签收;接收节点拒绝签收后,将资源数据配的状态置为正常。
图9示出本公开的资源数据上链方法的一些实施例的流程图。
如图9所示,在步骤S91中,调用智能合约中的代码参数处理模块对资源数据进行处理。例如,对资源数据的参数个数的校验等,从而保证合约能正常执行。
在步骤S92中,将新建的资源默认数据的状态默认配置为有效。
在步骤S93中,构造资源转移过程的数据模型。例如,可以利用UTXO模型构建。
在步骤S94中,判断资源数据是否需要审核。在不需要审核的情况下,执行步骤S95;在需要审核的情况下,执行步骤S96。
在步骤S95中,将资源数据转至中转节点。
在步骤S96中,记录审核的结果信息。
在步骤S97中,存储审核的结果信息,包括转移ID(txid)、审核结果(ISSUE_ADUIT_MARK)、审核节点(auditor)、发起节点、接收节点。例如,本次转移过程的output可以采用txid.j->output的结构生成,txid.j标识第j次转移。
图10示出本公开的资源数据中转方法的一些实施例的流程图。
如图10所示,在步骤S101中,调用智能合约中的代码参数处理模块对资源数据进行处理。
在步骤S102中,获取本次转移过程相关的input、output。
在步骤S103中,检测input,合并同来源、同类型的input,并计算总量。例如,检测各input是否来源于同一节点(owner);是否为同类型资源数据;是否为可转移状态。
在步骤S104中检测output,合并同类型的output,并计算总量。例如,检测各output是否为同类型资源数据。
在步骤S105中,验证input和output的总量是否一致且为同种资源。如果不一致或不同种,则无法转移。
在步骤S106中,判断资源数据是否需要审核。在不需要审核的情况下,执行步骤S107;在需要审核的情况下,执行步骤S108。
在步骤S107中,将资源数据转至中转节点。
在步骤S108中,修改资源数据状态为待审核。
在步骤S109中,记录审核的结果信息。
在步骤S1010中,存储审核的结果信息,包括转移ID(txid)、审核结果(ISSUE_ADUIT_MARK)、审核节点(auditor)、发起节点、接收节点。例如,本次转移过程的output可以采用txid.j->output的结构生成,txid.j标识第j次转移;本次转移过程的input可以采用txid.j->input的结构生成。
图11示出本公开的资源数据中转方法的另一些实施例的流程图。
如图11所示,在步骤S111中,将原有(如图6中的INPUT 61-INPUT 66)及新生UTXO数据(如图6中的OUTPUT 67-OUTPUT 69)记录至中转节点,形式可以为txid.j->output。
在步骤S112中,判断中转还是发行资源数据。在中转的情况下,执行步骤S113;在发行的情况下,执行步骤S114。
在步骤S113中,删除已使用的UTXO数据(如图6中的INPUT 61-INPUT 66)。
在步骤S114中,在区块链系统中存储中转信息或发行信息。
图12示出本公开的资源数据退回方法的一些实施例的流程图。
如图12所示,在步骤S121中,读取区块链系统中的中转信息。
在步骤S122中,将此次转移过程相关的INPUT中涉及到的UTXO数据(用于转移使用的数据)恢复为“NORMAL”状态。
在步骤S123中,在区块链系统中,存储恢复为“NORMAL”状态的UTXO资源数据。
在步骤S124中,清空中转信息。
图13示出本公开的资源数据签收方法的一些实施例的流程图。
如图13所示,在步骤S131中,读取区块链系统中的中转信息。
在步骤S132中,读取接收节点的资源类型列表。
在步骤S133中,判断接收节点是否已有待转移资源的类型。在有的情况下,执行步骤S134;在没有的情况下,执行步骤S135。
在步骤S134中,将中转节点OUTPUT中涉及到的UTXO数据转移到接收节点。
在步骤S135中,为接收节点新增与待转移资源相应的资源数据类型。
在步骤S136中,清空中转信息。
在上述实施例中,将资源转移的发起方和接收方都配置为区块链系统的节点,利用区块链不可篡改的特性记录资源转换过程,从而提高了系统的可靠性;并将待转移的资源先中转到中转节点,再根据发起方和接收方的指令确定是否进行转移,从而提高另系统的灵活性。
图14示出本公开的资源数据中转装置的一些实施例的框图。
如图14所示,资源数据的转移装置14包括中转单元141、存储单元142和转移单元143。
中转单元141响应于区块链系统中发起节点的资源数据转移请求,将待处理资源数据中转到所述区块链系统的中转节点。
存储单元142生成与本次中转过程相应的中转信息,存储在区块链系统中。中转信息包括本次中转过程中发起节点的信息、待处理资源数据的指定接收节点的信息。
在一些实施例中,发起节点为多个,各发起节点的待处理资源数据为多批。存储单元142根据各综合输出资源数据的相关信息,生成与本次转移过程相应的转移信息,存储在所述区块链系统中。
转移单元143根据发起节点或接收节点的与所述资源数据转移请求相应的资源数据处理请求,以及从区块链系统中获取的中转信息,确定是否对中转节点中的待处理资源数据进行转移。
在一些实施例中,转移装置14还包括合并单元144,用于将中转节点从各发起节点接收的每批待处理资源数据,确定为本次转移过程的各输入资源数据;将中转节点转移给的接收节点的每批相应资源数据,确定为本次转移过程的各输出资源数据,各输出资源数据分别来源于相应的所述各输入资源数据;将具有相同发起节点的各输入资源数据的相应输出资源数据合并为一批综合输出资源数据。
在一些实施例中,合并单元144获取发起节点在之前的资源数据转移过程中,来源于其他节点的各转入资源数据的数量和类型;合并来源于相同其他节点且类型相同的转入资源数据,生成综合转入资源数据;获取发起节点在本次中转过程中,拟转给中转节点的转出资源数据的数量和类型;合并类型相同的转出资源数据,生成待处理资源数据。
中转单元141在综合转入资源数据的数量和类型与待处理资源数据的数量和类型相同的情况下,将待处理资源数据中转到区块链系统的中转节点。
在一些实施例中,所述转移单元143响应于发起节点的撤销转移请求或者指定接收节点的拒绝签收请求,将待处理资源数据退回发起节点;存储单元142将相应的退回信息,存储在区块链系统中。
在一些实施例中,转移单元143响应于发起节点的撤销转移请求或者指定接收节点的拒绝签收请求,将待处理资源数据的状态配置为正常状态。在正常状态下,待处理资源数据可以转移到指定接收节点以外的节点。
在一些实施例中,转移单元143响应于区块链系统中接收节点发起的资源数据签收请求,将待处理资源数据转移到接收节点。存储单元142生成与本次转移过程相应的转移信息,存储在区块链系统中。
在一些实施例中,转移单元143根据中转信息,将待处理资源数据的状态配置为锁定状态。在锁定状态下,待处理资源数据只能转移到指定接收节点;响应于区块链系统中接收节点发起的资源数据签收请求,根据中转信息中的指定接收节点的信息,确定是否将相应资源数据转移到接收节点。
在上述实施例中,将资源转移的发起方和接收方都配置为区块链系统的节点,利用区块链不可篡改的特性记录资源转换过程,从而提高了系统的可靠性;并将待转移的资源先中转到中转节点,再根据发起方和接收方的指令确定是否进行转移,从而提高另系统的灵活性。
图15示出本公开的资源数据的转移装置的另一些实施例的框图。
如图15所示,该实施例的资源数据的转移装置15包括:存储器151以及耦接至该存储器151的处理器152,处理器152被配置为基于存储在存储器151中的指令,执行本公开中任意一个实施例中的资源数据的转移方法。
其中,存储器151例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图16示出本公开的资源数据的转移装置的又一些实施例的框图。
如图16所示,该实施例的资源数据的转移装置16包括:存储器1610以及耦接至该存储器1610的处理器1620,处理器1620被配置为基于存储在存储器1610中的指令,执行前述任意一个实施例中的资源数据的转移方法。
存储器1610例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
资源数据的转移装置16还可以包括输入输出接口1630、网络接口1640、存储接口1650等。这些接口1630、1640、1650以及存储器1610和处理器1620之间例如可以通过总线1660连接。其中,输入输出接口1630为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口1640为各种联网设备提供连接接口。存储接口1650为SD卡、U盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
图17示出本公开的区块链系统的一些实施例的框图。
如图17所示,区块链系统17包括上述任一个实施例中的资源数据的转移装置171。
至此,已经详细描述了根据本公开的资源数据的转移方法、资源数据的转移装置、区块链系统和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。