CN114741446A - 一种数据上链方法、装置、终端及存储介质 - Google Patents
一种数据上链方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN114741446A CN114741446A CN202210224265.4A CN202210224265A CN114741446A CN 114741446 A CN114741446 A CN 114741446A CN 202210224265 A CN202210224265 A CN 202210224265A CN 114741446 A CN114741446 A CN 114741446A
- Authority
- CN
- China
- Prior art keywords
- transaction
- uplink
- information
- transaction information
- chain
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本申请适用于区块链技术领域,提供一种数据上链方法、装置、终端及存储介质,其中方法包括:获取N个参与方的多签名信息,N为大于或等于2的整数;基于多签名信息发送链上智能合约的第一调用请求至区块链节点;在获取到区块链节点基于第一调用请求反馈的签名上链反馈信息后,获取N个参与方中不同参与方组合分别产生的多个待上链交易信息及待上链交易信息间的执行依赖关系;基于待上链交易信息及执行依赖关系,发送链上智能合约的第二调用请求至区块链节点。该方案能够提升处理效率,满足批量数据的上链需求,实现区块链应用场景的扩展。
Description
技术领域
本申请属于区块链技术领域,尤其涉及一种数据上链方法、装置、终端及存储介质。
背景技术
区块链技术的快速发展使区块链有可能应用于各行各业中,在实际应用区块链时,通常要把数据给上传到区块链上,通过区块链的特性来保证数据的不可篡改,这个过程称之为数据上链。
现有的技术中,是通过区块链的交易过程让一些基础的数据跟随每笔交易进行数据上链,此种方式在每次上链一条数据都要进行一次交易,这样导致过程非常缓慢,上链的数据量非常有限。
此种上链方式导致数据上链过程效率低下,上链数据量受限,在很多的实际应用场景例如多方投票破产清算会议表决等场景下会频繁产生大量投票交易数据,现有数据上链方式难以适用该场景,区块链应用场景扩展受限。
发明内容
本申请实施例提供了一种数据上链方法、装置、终端及存储介质,以解决现有技术中上链方式导致数据上链过程效率低下,上链数据量受限,在很多的实际应用场景例如多方的会议投票表决场景下难以进行适用,区块链应用场景扩展受限的问题。
本申请实施例的第一方面提供了一种数据上链方法,包括:
获取N个参与方的多签名信息,N为大于或等于2的整数;
基于所述多签名信息发送链上智能合约的第一调用请求至区块链节点;
在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的多个待上链交易信息及所述待上链交易信息间的执行依赖关系;
基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点,所述第二调用请求用于使所述链上智能合约执行后依照所述多签名信息及所述执行依赖关系对所述待上链交易信息进行验证,并在验证正确后进行交易上链。
本申请实施例的第二方面提供了一种数据上链装置,包括:
第一获取模块,用于获取N个参与方的多签名信息,N为大于或等于2的整数;
第一发送模块,用于基于所述多签名信息发送链上智能合约的第一调用请求至区块链节点;
第二获取模块,用于在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的多个待上链交易信息及所述待上链交易信息间的执行依赖关系;
第二发送模块,用于基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点,所述第二调用请求用于使所述链上智能合约执行后依照所述多签名信息及所述执行依赖关系对所述待上链交易信息进行验证,并在验证正确后进行交易上链。
本申请实施例的第三方面提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述方法的步骤。
本申请的第五方面提供了一种计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述终端执行上述第一方面所述方法的步骤。
由上可见,本申请实施例中,通过获取N个参与方的多签名信息,对链上智能合约进行调用,在确保多签名信息上链后,获取N个参与方中不同参与方组合分别产生的多个待上链交易信息及待上链交易信息间的执行依赖关系,对链上智能合约进行再次调用,使链上智能合约执行后依照多签名信息及执行依赖关系对待上链交易信息进行验证,并在验证正确后进行交易上链,该过程减少对链上智能合约的频繁调用及利用链上智能合约进行的交易数据频繁验证及入块操作次数,提升频繁产生大量交易数据的场景下数据上链过程的处理效率,满足批量数据的上链需求,实现区块链应用场景的扩展。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据上链方法的流程图一;
图2是本申请实施例提供的一种数据上链方法的流程图二;
图3是本申请实施例提供的一种数据上链装置的结构图;
图4是本申请实施例提供的一种终端的结构图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本申请实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图1,图1是本申请实施例提供的一种数据上链方法的流程图一。如图1所示,一种数据上链方法,该方法包括以下步骤:
步骤101,获取N个参与方的多签名信息。
N为大于或等于2的整数。
本申请实施例中,N个参与方之间随机发生由若干参与方参加的交易。N个参与方之间在进行交易时,可以是其中的部分参与方之间的交易,或者是所有参与方参与进来的交易。
因此,需要获取N个参与方的多签名信息。以基于该多签名信息,借用多重签名技术,在后续过程中对由N个参与方中随机参与方参加的多批次交易进行验签,实现数据上链时对交易数据的验证。
该多签名信息中具体包括在不同参与方的私钥基础上形成的多重签名。
可以在接收到N个参与方进行会议决议表决的交易请求时,对N个参与方的私钥进行获取,实现多签名信息的生成。
步骤102,基于所述多签名信息发送链上智能合约的第一调用请求至区块链节点。
该第一调用请求中携带有该多签名信息。
通过第一调用请求实现对链上智能合约的调用,以实现将该多签名信息上传至区块链,实现后续N个参与方之间进行的批量交易数据上链时的验签处理。
其中,智能合约往往指的是在区块链网络上运行的一段代码。
在基于多签名信息发送链上智能合约的第一调用请求至区块链节点时,可以将多签名信息包装成一笔交易后生成对应的第一调用请求,实现多签名信息在链上智能合约中的入参,链上智能合约被调用执行实现对多签名信息进行交易上链验证处理,处理完后触发区块链上各节点进行共识,共识后将该多签名信息落块,得到结论可以开启后续的链下批量交易及批量交易的集中上链处理过程。
步骤103,在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的多个待上链交易信息及所述待上链交易信息间的执行依赖关系;
在第一调用请求被响应多签名信息完成上链后,则会得到区块链节点的签名上链反馈信息,此时链下程序可以进行链下逻辑处理,获取N个参与方中不同参与方组合分别产生的多个待上链交易信息及待上链交易信息间的执行依赖关系。
其中,不同的待上链交易信息在N个参与方中由若干参与方所形成的参与方组合内进行产生。
不同的参与方组合中可能会包含相同的参与方成员,不同的参与方组合中也可能包含不完全相同的参与方成员,但不同的参与方组合所进行的交易为不同的交易。且在N个参与方中选出的部分或全部参与方参与的批量交易之间会存在一定的依赖关系。
该待上链交易信息中具体包括交易结果、交易处理过程、交易各参与方的签名等信息。
具体的交易例如为转账、投票等。
该过程中,针对交易链下计算部分,通过多重签名的方式,可以进行任意次计算与转账,并在最终结束计算过程后由多签名作为验签标识,将线下的批量交易数据通过链上智能合约在链上进行校验,最终将链下的交易变化在链上执行,实现待上链交易信息的最终上链处理。
步骤104,基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点。
该第二调用请求用于使所述链上智能合约执行后依照所述多签名信息及所述执行依赖关系对所述待上链交易信息进行验证,并在验证正确后进行交易上链。
在发送第二调用请求至所述区块链节点时,将N个参与方中不同参与方组合分别产生的多个待上链交易信息及执行依赖关系进行打包嵌入调用请求中,提供批次交易信息的一次性上链验证处理,减少对链上智能合约的频繁调用及利用链上智能合约进行的交易数据频繁验证及入块操作次数。
在批次交易前通过一次链上智能合约调用将N个参与方的多签名信息上报至区块链,在批次交易链下处理完后再次调用链上智能合约,使其利用已上链的N个参与方的多签名信息对批次交易对应的待上链交易信息进行验签处理,实现对待上链交易信息的验证,并在验证无误后进行交易信息的上链处理,提升频繁产生大量交易数据的场景下数据上链过程的处理效率,满足批量数据的上链需求,实现区块链应用场景的扩展。
本申请实施例中,通过获取N个参与方的多签名信息,对链上智能合约进行调用,在确保多签名信息上链后,获取N个参与方中不同参与方组合分别产生的多个待上链交易信息及待上链交易信息间的执行依赖关系,对链上智能合约进行再次调用,使链上智能合约执行后依照多签名信息及执行依赖关系对待上链交易信息进行验证,并在验证正确后进行交易上链,该过程减少对链上智能合约的频繁调用及利用链上智能合约进行的交易数据频繁验证及入块操作次数,提升频繁产生大量交易数据的场景下数据上链过程的处理效率,满足批量数据的上链需求,实现区块链应用场景的扩展。
本申请实施例中还提供了数据上链方法的不同实施方式。
参见图2,图2是本申请实施例提供的一种数据上链方法的流程图二。如图2所示,一种数据上链方法,该方法包括以下步骤:
步骤201,获取N个参与方的多签名信息。
其中,N为大于或等于2的整数;
该步骤的实现过程与前述实施方式中的步骤101的实现过程相同,此处不再赘述。
步骤202,基于所述多签名信息发送链上智能合约的第一调用请求至区块链节点。
该步骤的实现过程与前述实施方式中的步骤102的实现过程相同,此处不再赘述。
步骤203,在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的交易信息;
该交易信息例如为转账交易所涉及的转账金额、转账发起方、转账接收方、转账时间、转账所从属的交易事项等等信息,或者例如为投票所涉及的投票方、投中的选项、投票时间、投票所从属的事项等等信息。
步骤204,分别获取每一所述参与方组合中包含的各个参与方的签名信息;
步骤205,基于所述签名信息对所述交易信息进行签名处理,得到每一所述参与方组合产生的所述待上链交易信息,并将所述交易信息之间的执行依赖关系确定为所述待上链交易信息之间的执行依赖关系。
为确保链下交易在上链时适配链上验证机制,因此本申请实施例中需要对每一参与方组合分别产生的交易信息进行签名处理,以确保对每一交易信息进行信息标记及为后续交易上链时的校验处理提供校验信息。
该处理也实现了批次交易处理的链下证明机制,以较小的代价避免了链下计算作恶的可能性。
步骤206,基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点。
该第二调用请求用于使所述链上智能合约执行后依照所述多签名信息及所述执行依赖关系对所述待上链交易信息进行验证,并在验证正确后进行交易上链。
该步骤的实现过程与前述实施方式中的步骤104的实现过程相同,此处不再赘述。
进一步地,在一个可选的实施方式中,步骤203中,获取所述N个参与方中不同参与方组合分别产生的交易信息,包括:
在由所述N个参与方中不同的参与方组合触发交易时,对所述交易的处理过程进行记录得到交易记录及与所述交易记录对应的交易状态;
对于每一所述参与方组合,分别得到包含对应的所述交易记录及所述交易状态的所述交易信息。
其中,交易记录为对交易处理过程中所发生交易处理动作及对应的交易处理信息的记录,该交易记录的获取可以是在依照某个时间长度对该时间长度内所发生的交易处理动作及交易处理信息进行记录,或者是依照特定的交易处理事项,对其中的每一交易处理步骤进行一个交易处理动作及交易处理信息的记录。
与交易记录对应的交易状态则是每一段交易记录对应于一个交易状态,该交易状态指示在发生与一个交易记录对应的交易处理动作后的交易时刻点下的交易处理状态,例如交易处理动作后,转账交易双方的当前余额各是多少,投票交易后,各个投票选项的当前票数是多少等等。
其中,该交易记录形成为与之对应的交易状态的状态证明,通过该些交易记录可以对交易状态的正确性进行验证。
其中,对应地,步骤206基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点,包括:
将多个所述待上链交易信息及所述待上链交易信息间的执行依赖关系进行打包处理,得到待上链交易数据包;
发送携带有所述待上链交易数据包的链上智能合约的第二调用请求至所述区块链节点。
在向区块链节点发送对链上智能合约的第二调用请求时,需要将批量交易过程中产生的所有待上链交易信息进行打包后进行入参。
此时,当待上链交易信息中的交易信息内包含交易记录及交易状态时,在将携带有待上链交易数据包的第二调用请求发送至区块链节点后,此时调用的链上智能合约被执行后具体需要结合多签名信息、待上链交易信息间的执行依赖关系、交易记录对待上链交易信息中的交易状态进行验证,并在验证正确后进行交易上链。
即,此时第二调用请求用于使链上智能合约执行后依照多签名信息、执行依赖关系及交易记录对待上链交易信息中的交易状态进行验证,并在验证正确后进行交易上链。
该过程中,对于链下交易计算过程中可能存在的作恶与纠纷问题,通过引入链下交易状态S、交易记录SP、链下计算条件执行依赖关系C(可通过有向无环图实现)来设计一套链上链下交互模式进行交易数据的链下记录及链上验证判断与上链执行。
其中,S的概念类似于链上的世界状态概念,会随着链下交易动作执行而即时变化,是与链下执行动作累计后的链下交易状态。
其中,执行依赖关系例如为某个交易的到期时间与所持续占用的时间,与该交易具有先后执行顺序的依赖关系的另个交易的开始时间等信息,可以通过该些执行依赖关系,在调用链上智能合约进行交易上链时,使链上智能合约执行后检查交易之间是否存在时间上的冲突,例如检查某个投票表决结果是否在块号n之前被选出(n作为入参,表决结果作为执行结果),实现待上链交易信息的验证。
不同地,在一个可选的实施方式中,步骤203在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的交易信息,包括:
在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,开辟临时交互空间;
获取所述N个参与方中不同参与方组合基于所述临时交互空间分别产生的交易信息。
该临时交互空间用于供N个参与方中不同参与方组合执行交易,为触发的交易提供执行所需的服务资源。
临时交互空间在开辟时,为N个参与方执行批次交易准备链下程序所要占用的资源,确保频繁产生的大量交易数据在链下的执行。
该过程,对于链下交易部分,通过多重签名的方式,为链下交互的多方开启一个临时交互空间,在交互空间内可以进行任意次计算与转账,并在最终结束计算过程后由多签名作为标识计算链上世界状态的最终变化,最终确保链上通过智能合约最终将链下的交易数据及状态变化在链上执行,实现数据上链。
进一步对应地,在基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点之后,该方法还包括:
在获取到所述区块链节点基于所述第二调用请求反馈的交易上链反馈信息后,关闭所述临时交互空间。
在获取到区块链节点基于第二调用请求反馈的交易上链反馈信息后,确定批次交易数据上链成功后,则将链下程序所占用的资源进行释放,实现临时交互空间的关闭,实现交互空间生命周期管理。
本申请实施例中,通过获取N个参与方的多签名信息,对链上智能合约进行调用,在确保多签名信息上链后,获取N个参与方中不同参与方组合分别产生的多个待上链交易信息及待上链交易信息间的执行依赖关系,对链上智能合约进行再次调用,使链上智能合约执行后依照多签名信息及执行依赖关系对待上链交易信息进行验证,并在验证正确后进行交易上链,该过程减少对链上智能合约的频繁调用及利用链上智能合约进行的交易数据频繁验证及入块操作次数,提升频繁产生大量交易数据的场景下数据上链过程的处理效率,满足批量数据的上链需求,实现区块链应用场景的扩展。
参见图3,图3是本申请实施例提供的一种数据上链装置的结构图,为了便于说明,仅示出了与本申请实施例相关的部分。
所述数据上链装置300包括:
第一获取模块301,用于获取N个参与方的多签名信息,N为大于或等于2的整数;
第一发送模块302,用于基于所述多签名信息发送链上智能合约的第一调用请求至区块链节点;
第二获取模块303,用于在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的多个待上链交易信息及所述待上链交易信息间的执行依赖关系;
第二发送模块304,用于基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点,所述第二调用请求用于使所述链上智能合约执行后依照所述多签名信息及所述执行依赖关系对所述待上链交易信息进行验证,并在验证正确后进行交易上链。
其中,所述第二获取模块303,具体用于:
在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的交易信息;
分别获取每一所述参与方组合中包含的各个参与方的签名信息;
基于所述签名信息对所述交易信息进行签名处理,得到每一所述参与方组合产生的所述待上链交易信息,并将所述交易信息之间的执行依赖关系确定为所述待上链交易信息之间的执行依赖关系。
其中,所述第二获取模块303,进一步具体用于:
在由所述N个参与方中不同的参与方组合触发交易时,对所述交易的处理过程进行记录得到交易记录及与所述交易记录对应的交易状态;
对于每一所述参与方组合,分别得到包含对应的所述交易记录及所述交易状态的所述交易信息。
对应地,第二发送模块304,具体用于:
将多个所述待上链交易信息及所述待上链交易信息间的执行依赖关系进行打包处理,得到待上链交易数据包;
发送携带有所述待上链交易数据包的链上智能合约的第二调用请求至所述区块链节点。
其中,所述第二获取模块303,还具体用于:
在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,开辟临时交互空间;
获取所述N个参与方中不同参与方组合基于所述临时交互空间分别产生的交易信息。
对应地,该装置300还包括:
空间关闭模块,用于在获取到所述区块链节点基于所述第二调用请求反馈的交易上链反馈信息后,关闭所述临时交互空间。
本申请实施例提供的数据上链装置能够实现上述数据上链方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图4是本申请实施例提供的一种终端的结构图。如该图所示,该实施例的终端4包括:至少一个处理器40(图4中仅示出一个)、存储器41以及存储在所述存储器41中并可在所述至少一个处理器40上运行的计算机程序42,所述处理器40执行所述计算机程序42时实现上述任意各个方法实施例中的步骤。
所述终端4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端4的示例,并不构成对终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端4的内部存储单元,例如终端4的硬盘或内存。所述存储器41也可以是所述终端4的外部存储设备,例如所述终端4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序产品来实现,当计算机程序产品在终端上运行时,使得所述终端执行时实现可实现上述各个方法实施例中的步骤。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据上链方法,其特征在于,包括:
获取N个参与方的多签名信息,N为大于或等于2的整数;
基于所述多签名信息发送链上智能合约的第一调用请求至区块链节点;
在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的多个待上链交易信息及所述待上链交易信息间的执行依赖关系;
基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点,所述第二调用请求用于使所述链上智能合约执行后依照所述多签名信息及所述执行依赖关系对所述待上链交易信息进行验证,并在验证正确后进行交易上链。
2.根据权利要求1所述的方法,其特征在于,所述在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的多个待上链交易信息及所述待上链交易信息间的执行依赖关系,包括:
在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的交易信息;
分别获取每一所述参与方组合中包含的各个参与方的签名信息;
基于所述签名信息对所述交易信息进行签名处理,得到每一所述参与方组合产生的所述待上链交易信息,并将所述交易信息之间的执行依赖关系确定为所述待上链交易信息之间的执行依赖关系。
3.根据权利要求2所述的方法,其特征在于,所述获取所述N个参与方中不同参与方组合分别产生的交易信息,包括:
在由所述N个参与方中不同的参与方组合触发交易时,对所述交易的处理过程进行记录得到交易记录及与所述交易记录对应的交易状态;
对于每一所述参与方组合,分别得到包含对应的所述交易记录及所述交易状态的所述交易信息。
4.根据权利要求1或3所述的方法,其特征在于,所述基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点,包括:
将多个所述待上链交易信息及所述待上链交易信息间的执行依赖关系进行打包处理,得到待上链交易数据包;
发送携带有所述待上链交易数据包的链上智能合约的第二调用请求至所述区块链节点。
5.根据权利要求2所述的方法,其特征在于,所述在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的交易信息,包括:
在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,开辟临时交互空间;
获取所述N个参与方中不同参与方组合基于所述临时交互空间分别产生的交易信息。
6.根据权利要求5所述的方法,其特征在于,所述基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点之后,还包括:
在获取到所述区块链节点基于所述第二调用请求反馈的交易上链反馈信息后,关闭所述临时交互空间。
7.一种数据上链装置,其特征在于,包括:
第一获取模块,用于获取N个参与方的多签名信息,N为大于或等于2的整数;
第一发送模块,用于基于所述多签名信息发送链上智能合约的第一调用请求至区块链节点;
第二获取模块,用于在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的多个待上链交易信息及所述待上链交易信息间的执行依赖关系;
第二发送模块,用于基于所述待上链交易信息及所述执行依赖关系,发送链上智能合约的第二调用请求至所述区块链节点,所述第二调用请求用于使所述链上智能合约执行后依照所述多签名信息及所述执行依赖关系对所述待上链交易信息进行验证,并在验证正确后进行交易上链。
8.根据权利要求7所述的装置,其特征在于,所述第二获取模块,具体用于:
在获取到所述区块链节点基于所述第一调用请求反馈的签名上链反馈信息后,获取所述N个参与方中不同参与方组合分别产生的交易信息;
分别获取每一所述参与方组合中包含的各个参与方的签名信息;
基于所述签名信息对所述交易信息进行签名处理,得到每一所述参与方组合产生的所述待上链交易信息,并将所述交易信息之间的执行依赖关系确定为所述待上链交易信息之间的执行依赖关系。
9.一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210224265.4A CN114741446A (zh) | 2022-03-07 | 2022-03-07 | 一种数据上链方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210224265.4A CN114741446A (zh) | 2022-03-07 | 2022-03-07 | 一种数据上链方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114741446A true CN114741446A (zh) | 2022-07-12 |
Family
ID=82274986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210224265.4A Pending CN114741446A (zh) | 2022-03-07 | 2022-03-07 | 一种数据上链方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741446A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251889A (zh) * | 2023-11-13 | 2023-12-19 | 腾讯科技(深圳)有限公司 | 区块链共识方法、相关装置和介质 |
-
2022
- 2022-03-07 CN CN202210224265.4A patent/CN114741446A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251889A (zh) * | 2023-11-13 | 2023-12-19 | 腾讯科技(深圳)有限公司 | 区块链共识方法、相关装置和介质 |
CN117251889B (zh) * | 2023-11-13 | 2024-03-01 | 腾讯科技(深圳)有限公司 | 区块链共识方法、相关装置和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902450B2 (en) | Blockchain generation method and system, and related device | |
CN111382168B (zh) | 在联盟链网络中创建节点组、基于节点组的交易方法 | |
CN110557403B (zh) | 基于区块链的资源分配方法、装置、存储介质及节点设备 | |
CN110162551B (zh) | 数据处理方法、装置和电子设备 | |
CN111309745B (zh) | 虚拟资源处理方法、装置、电子设备及存储介质 | |
AU2018425723A1 (en) | Blockchain-based information processing method and device, and blockchain network | |
CN110400217B (zh) | 智能合约的规则变更处理方法及装置 | |
CN110263580B (zh) | 基于区块链的数据处理方法、装置和区块链节点 | |
CN111985007A (zh) | 一种基于区块链的合同签署与执行方法及装置 | |
CN110598460B (zh) | 基于区块链的电子签字方法、装置及存储介质 | |
CN109635572A (zh) | 一种基于区块链的合约签订方法、装置及终端设备 | |
CN113489671A (zh) | 一种跨联盟链通讯方法、装置、计算机设备及存储介质 | |
CN109684786A (zh) | 一种基于区块链的版权登记方法、装置及终端设备 | |
Garcia Bringas et al. | BlockChain platforms in financial services: current perspective | |
CN114741446A (zh) | 一种数据上链方法、装置、终端及存储介质 | |
CN112600830B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN114092253A (zh) | 一种区块链批次交易方法、装置、设备及可读存储介质 | |
CN114003973A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN110033188A (zh) | 基于区块链的业务调度方法、装置、计算设备和介质 | |
CN108520186A (zh) | 录屏方法、移动终端及计算机可读存储介质 | |
CN112711955A (zh) | 一种nfc的信息传输方法、信息传输装置及终端 | |
CN112181817B (zh) | 用于soa架构平台的测试方法及测试装置 | |
CN112801661B (zh) | 区块链跨链规则管理方法及系统 | |
CN111259411B (zh) | 区块链管理方法、装置、电子设备及可读存储介质 | |
CN112712353B (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 |