基于区块链的数据上链方法及装置

文档序号:1832502 发布日期:2021-11-12 浏览:12次 >En<

阅读说明:本技术 基于区块链的数据上链方法及装置 (Block chain-based data uplink method and device ) 是由 过晓冰 郭青霄 于 2021-07-30 设计创作,主要内容包括:本申请实施例公开了一种基于区块链的数据上链方法及装置,其中,所述方法包括:获取第一交易数据;对所述第一交易数据进行上链处理;在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识。(The embodiment of the application discloses a block chain-based data uplink method and a block chain-based data uplink device, wherein the method comprises the following steps: acquiring first transaction data; performing uplink processing on the first transaction data; and under the condition that the first transaction data is successfully linked, performing confirmation consensus on the first transaction data.)

基于区块链的数据上链方法及装置

技术领域

本申请实施例涉及区块链技术,涉及但不限于一种基于区块链的数据上链方法及装置。

背景技术

随着互联网技术的发展,区块链由于具有去中心化、开放性、安全性、自治性等优点而被广泛应用于数据的存储和交互中。

区块链实现了数据的分布式可靠存储,而共识机制是区块链的核心技术,其目标是账本分布式存储的一致性,主要是新增账本的确认和仲裁(当存在多份新增账本即所谓分叉时)、分发并达成最终的一致性。一个完整的共识机制还包括新上线节点的全量账本同步、异常处理等特殊情况。

但是,目前共识算法的效率直接制约了区块链网络的并发特性,因此共识机制也是当前学术界和产业界研究的热点。

发明内容

有鉴于此,本申请实施例提供一种基于区块链的数据上链方法及装置。

本申请实施例的技术方案是这样实现的:

第一方面,本申请实施例提供一种基于区块链的数据上链方法,所述方法包括:

获取第一交易数据;

对所述第一交易数据进行上链处理;

在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识。

第二方面,本申请实施例提供一种基于区块链的数据上链装置,所述装置包括:

第一获取单元,用于获取第一交易数据;

第一上链单元,用于对所述第一交易数据进行上链处理;

第一共识单元,用于在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识。

本申请实施例提供一种基于区块链的数据上链方法及装置,通过获取第一交易数据;对所述第一交易数据进行上链处理;在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识,如此,能够提供一种事后共识机制,从而实现数据的抢占上链,进而提前触发后续的业务需求。

附图说明

图1为本申请实施例基于区块链的数据上链方法的实现流程示意图一;

图2为本申请实施例基于区块链的数据上链方法的实现流程示意图二;

图3为本申请实施例基于区块链的数据上链方法的实现流程示意图三;

图4为本申请实施例基于区块链的数据上链方法的实现流程示意图四;

图5为本申请实施例基于区块链的数据上链装置的组成结构示意图;

图6为本申请实施例区块链节点设备的一种硬件实体示意图。

具体实施方式

下面结合附图和实施例对本申请的技术方案进一步详细阐述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

本申请实施例提供一种基于区块链的数据上链方法,所述方法应用于区块链节点设备,该方法所实现的功能可以通过所述区块链节点设备中的处理器调用程序代码来实现,当然程序代码可以保存在所述区块链节点设备的存储介质中。图1为本申请实施例基于区块链的数据上链方法的实现流程示意图一,如图1所示,所述方法包括:

步骤S101、获取第一交易数据;

这里,本申请实施例提供的数据上链方法,其执行主体可以为待上链数据的上链装置,或者集成了该装置的服务器设备、物理主机或者UE(User Equipment,用户设备)等不同类型的区块链节点设备。其中,所述区块链节点设备可以通过配置区块链平台涉及的应用程序,经审核通过后加入区块链平台。并且,所述区块链节点设备是具有一定存储空间、可连接网络的设备,当然,所述区块链节点设备还可以以设备集群的形式被配置。所述UE可以为智能手机、平板电脑、笔记本电脑、掌上电脑、台式电脑或者PDA(Personal DigitalAssistant,个人数字助理)等终端设备。

当然,所述区块链节点设备可以为区块链网络中的任一区块链节点设备,本申请实施例对此并不做限制。

本申请实施例中,所述第一交易数据可以为任意类型的交易数据,所述第一交易数据也可以为满足预设条件的交易数据。例如,所述第一交易数据可以为对实时性要求较高的数据,或者为某一属性信息与预设属性类型匹配的数据。

步骤S102、对所述第一交易数据进行上链处理;

本申请实施例中,当获取到所述第一交易数据后,不会对所述第一交易数据进行确认共识,而是先对所述第一交易数据进行上链处理,在上链成功的情况下,后续才会对所述第一交易数据进行确认共识,即先打包,再上链,后续再验证。如此,对于一些对实时性要求高的数据,能够抢占上链进而继续触发后续业务需求。例如,某些业务是需要在第一交易数据上链后才能进行处理的,如果需要进行上链的数据很多,每一数据被验证的时间又比较长,则等待第一交易数据进行上链的时间就很长,如此,如果后续业务需求是对时效性要求比较高的业务,则对其影响就很大。但是,利用本申请实施例中的方法就可以抢占上链提前触发后续业务需求。当然,所述后续业务需求可以是与所述第一交易有关的其他交易,也可以是与所述第一交易有关的除交易以外的其他业务。

步骤S103、在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识。

这里,所述对所述第一交易数据进行确认共识,指的是确认所述第一交易数据是否满足共识条件,即验证所述第一交易数据的真实性、合法性。

本申请实施例中,通过获取第一交易数据;对所述第一交易数据进行上链处理;在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识,如此,能够提供一种事后共识机制,从而实现数据的抢占上链,进而提前触发后续的业务需求。

基于前述的实施例,本申请实施例再提供一种基于区块链的数据上链方法,所述方法应用于区块链节点设备,所述方法包括:

步骤S111、获取第一交易数据和第二交易数据;

这里,所述第一交易数据和所述第二交易数据都是需要最终被上链的交易数据,本申请实施例中,对所述第一交易数据和所述第二交易数据的获取时间点并不做限制。

步骤S112、对所述第一交易数据进行上链处理;

步骤S113、对所述第二交易数据进行确认共识;

本申请实施例中,对所述步骤S112和所述步骤S113的执行顺序并不做限制,对所述第一交易数据进行上链处理和对所述第二交易数据进行确认共识可以是同时进行的,如此可以整体提高区块链处理的效率;当然也可以任意一个步骤是先进行的,比如先对所述第一交易数据进行上链处理,或者先对所述第二交易数据进行确认共识。

步骤S114、在所述第一交易数据上链成功、且所述第二交易数据已完成确认共识的情况下,对所述第一交易数据进行确认共识。

这里,需要先对所述第二交易数据进行确认共识,然后再对所述第一交易数据进行确认共识。在一些实施例中,所述第一交易数据为可以进行事后共识的交易数据,所述第二交易数据为必须先验证再上链的交易数据。在一些实施例中,所述第一交易数据为对实时性要求较高的交易数据,所述第二交易数据为对实时性要求较低的交易数据。

举例来说,某一区块链节点设备在某一时刻获取到了第一交易数据和第二交易数据,则所述区块链节点设备先将所述第二交易数据发送给区块链网络中的多个验证节点进行确认共识,在所述多个验证节点对所述第二交易数据进行确认共识的同时,所述区块链节点设备将所述第一交易数据进行上链,待第一交易数据上链成功后,所述第二交易数据已被验证完毕,则所述区块链节点设备再将所述第一交易数据发送给所述多个验证节点进行确认共识。如此,所述区块链可以并发进行所述第一交易数据和所述第二交易数据的上链操作,并不需要先对所述第一交易数据进行打包、验证、上链,再对所述第二交易数据进行打包、验证、上链。本申请实施例中的数据上链方法,极大地提升了区块链的并发处理能力。

基于前述的实施例,本申请实施例再提供一种基于区块链的数据上链方法,所述方法应用于区块链节点设备,所述方法包括:

步骤S121、获取第一交易数据和所述第二交易数据;

步骤S122、在所述第一交易数据未被确认共识的情况下,对所述第一交易数据进行上链处理;

这里,对交易数据进行确认共识,指的是验证交易数据的真实性、合法性。

步骤S123、对所述第二交易数据进行确认共识;

本申请实施例中,对所述步骤S122和所述步骤S123的执行顺序并不做限制。

步骤S124、在所述第一交易数据上链成功、且所述第二交易数据已完成确认共识的情况下,对所述第一交易数据进行确认共识;

步骤S125、在所述第二交易数据被确认满足共识条件的情况下,对所述第二交易数据件进行上链处理;其中,所述第一交易数据与所述第二交易数据的属性信息不同。

本申请实施例中,对所述步骤S124和所述步骤S125的执行顺序并不做限制,具体实现可以两个步骤同时进行,或者一先一后。

这里,所述属性信息可以包括交易数据对时效的等级,例如所述第一交易数据为对实时性要求较高的交易数据,所述第二交易数据为对实时性要求较低的交易数据。所述属性信息也可以包括交易数据的类型,例如所述第一交易数据的类型表明所述第一交易数据为可以进行事后共识的交易数据,所述第二交易数据的类型表明所述第二交易数据为必须先验证再上链的交易数据。当然,本申请实施例对所述属性信息的具体表现形式并不做限制。

本申请实施例中,通过所述步骤S123至步骤S125提供的方法,能够极大提升区块链的并发处理能力。

基于前述的实施例,本申请实施例再提供一种基于区块链的数据上链方法,图2为本申请实施例基于区块链的数据上链方法的实现流程示意图二,如图2所示,所述方法应用于区块链节点设备,所述方法包括:

步骤S201、获取第一交易数据;

步骤S202、对所述第一交易数据进行上链处理;

步骤S203、控制对所述第一交易数据进行上链处理的区块链节点进行抵押,使得在所述第一交易数据未被确认共识的情况下,所述第一交易数据相关的业务能够被处理;

这里,由于对所述第一交易数据进行上链处理之前,所述第一交易数据未被确认共识,即所述第一交易数据的真实性、合法性还未被验证就上链了,因此,需要控制对所述第一交易数据进行上链处理的区块链节点进行抵押(例如抵押一定的费用),如此,才能保障后续第一交易数据相关的业务处理的正常进行。

步骤S204、在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识;

这里,在所述第一交易数据上链成功后,可以是等待多个验证节点验证完毕其他交易数据后,再对所述第一交易数据进行确认共识,还可以是待获取到所述第一交易数据相关的其他交易数据后,再对所述第一交易数据进行确认共识,本申请实施例对此并不做限制。

步骤S205、在抵押完成后,如果所述第一交易数据被确认满足共识条件,将抵押进行返还;

步骤S206、在抵押完成后,如果所述第一交易数据被确认不满足共识条件,将抵押进行扣除。

本申请实施例中,如果所述第一交易数据被确认为真实、合法的交易数据,则将抵押返还给对所述第一交易数据进行上链处理的区块链节点;如果所述第一交易数据被确认为非法、非真实的交易数据,则将抵押扣除。

在一些实施例中,所述步骤对所述第一交易数据进行上链处理,包括:对所述第一交易数据进行上链处理,将所述第一交易数据存储在指定区块的第一数据区;

对应地,所述步骤在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识之后,还包括:如果所述第一交易数据被确认满足共识条件,将所述第一交易数据从所述第一数据区移动到所述指定区块的第二数据区。

基于前述的实施例,本申请实施例再提供一种基于区块链的数据上链方法,图3为本申请实施例基于区块链的数据上链方法的实现流程示意图三,如图3所示,所述方法应用于区块链节点设备,所述方法包括:

步骤S301、获取第一交易数据;

步骤S302、对所述第一交易数据进行上链处理,将所述第一交易数据存储在指定区块的第一数据区;

本申请实施例中,所述区块链的每一区块被分为两个数据区,即第一数据区和第二数据区,所述第一数据区为事后共识数据区,所述第二数据区为已确认数据区。

这里,对所述第一交易数据进行上链后,由于还未对所述第一交易数据进行确认共识,因此可以将所述第一交易数据存储在区块链中新开辟区块的事后共识数据区中。

步骤S303、在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识;

步骤S304、如果所述第一交易数据被确认满足共识条件,将所述第一交易数据从所述第一数据区移动到所述指定区块的第二数据区。

这里,如果在后续的过程中所述第一交易数据被确认为满足共识条件,即被验证通过为合法交易数据,则将所述第一交易数据从事后共识数据区移动到已确认数据区。

基于前述的实施例,本申请实施例再提供一种基于区块链的数据上链方法,所述方法应用于区块链节点设备,所述方法包括:

步骤S311、获取第一交易数据;

步骤S312、对所述第一交易数据进行上链处理,将所述第一交易数据存储在指定区块的第一数据区;

步骤S313、在所述第一交易数据上链成功的情况下,获取第三交易数据;其中,所述第三交易数据与所述第一交易数据存在关联关系;

举例来说,所述第一交易数据为A借给B一定数量的钱,则所述第三交易数据可以是B利用所述一定数量的钱做了某项操作,或者所述第三交易数据可以是B将所述一定数量的钱又借给了C。本申请实施例中,并不限制所述关联关系的具体内容。

步骤S314、对所述第三交易数据进行上链处理,如果所述第一交易数据未被确认共识,将所述第三交易数据存储在指定区块的第一数据区;

这里,当对所述第三交易数据进行上链处理时,如果此时第一交易数据仍未被确认共识,则将所述第三交易数据存储在区块链中新开辟区块的事后共识数据区中。

步骤S315、将所述第一交易数据与所述第三交易数据进行关联。

这里,可以通过在第三交易数据对应的区块中注明第一交易数据的标识的方式,来将所述第一交易数据与所述第三交易数据进行关联。当然,还可以通过其他的方法关联所述第一交易数据与所述第三交易数据,本申请实施例并不做限制。

步骤S316、在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识;

步骤S317、如果所述第一交易数据被确认满足共识条件,将所述第一交易数据从所述第一数据区移动到所述指定区块的第二数据区。

在一些实施例中,所述方法还包括:

步骤S31、在所述第三交易数据已成功上链的情况下,如果所述第一交易数据未被确认共识,根据所述第一交易数据和所述第三交易数据的关联信息,确定预设数量的费用;

步骤S32、控制对所述第三交易数据进行上链处理的区块链节点抵押所述预设数量的费用。

举例来说,所述第一交易数据为A借给B 100元钱,且对所述第一交易数据进行上链处理的第一节点抵押了50个比特币,所述第三交易数据为B使用了150元钱,并且所述150元钱中的100元钱是上述A借给B的,则可以根据第一交易数据与第三交易数据的关联关系,以及第一节点抵押的比特币数量,确定对所述第三交易数据进行上链处理的第二节点抵押60个比特币。

基于前述的实施例,本申请实施例再提供一种基于区块链的数据上链方法,所述方法应用于区块链节点设备,所述方法包括:

步骤S321、获取第一交易数据;

步骤S322、对所述第一交易数据进行上链处理,将所述第一交易数据存储在指定区块的第一数据区;

步骤S323、在所述第一交易数据上链成功的情况下,获取第三交易数据;其中,所述第三交易数据与所述第一交易数据存在关联关系;

步骤S324、对所述第三交易数据进行上链处理,如果所述第一交易数据未被确认共识,将所述第三交易数据存储在指定区块的第一数据区;

步骤S325、将所述第一交易数据与所述第三交易数据进行关联;

步骤S326、对所述第三交易数据进行上链处理,如果所述第一交易数据被确认满足共识条件、且所述第三交易数据不需要被确认共识,将所述第三交易数据存储在指定区块的第二数据区;

本申请实施例中,所述步骤S324至步骤S325,与所述步骤S326为不同的情况下,对第三交易数据进行上链处理的方式。在使用过程中,可以将实际的数据与步骤S324或者步骤S326中的条件进行匹配,根据匹配结果来选择执行不同的处理方式。

这里,当对所述第三交易数据进行上链处理时,如果此时第一交易数据已被确认满足共识条件,且所述第三交易数据为无需被验证的数据,则将所述第三交易数据存储在区块链中新开辟区块的已确认数据区中。

步骤S327、在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识;

步骤S328、如果所述第一交易数据被确认满足共识条件,将所述第一交易数据从所述第一数据区移动到所述指定区块的第二数据区。

基于前述的实施例,本申请实施例再提供一种基于区块链的数据上链方法,所述方法应用于区块链节点设备,所述方法包括:

步骤S331、获取第一交易数据;

步骤S332、对所述第一交易数据进行上链处理,将所述第一交易数据存储在指定区块的第一数据区;

步骤S333、在所述第一交易数据上链成功的情况下,获取第三交易数据;其中,所述第三交易数据与所述第一交易数据存在关联关系;

步骤S334、对所述第三交易数据进行上链处理,如果所述第一交易数据未被确认共识,将所述第三交易数据存储在指定区块的第一数据区;

步骤S335、将所述第一交易数据与所述第三交易数据进行关联;

步骤S336、对所述第三交易数据进行上链处理,如果所述第一交易数据被确认满足共识条件、且所述第三交易数据不需要被确认共识,将所述第三交易数据存储在指定区块的第二数据区;

步骤S337、对所述第三交易数据进行上链处理,如果所述第一交易数据被确认满足共识条件、且所述第三交易数据未被确认共识,将所述第三交易数据存储在指定区块的第一数据区;

本申请实施例中,所述步骤S334至步骤S335,与所述步骤S336,与所述步骤S337为三种不同的情况下,对第三交易数据进行上链处理的方式。在使用过程中,可以将实际的数据与步骤S334或者步骤S336或者步骤S337中的条件进行匹配,根据匹配结果来选择执行不同的处理方式。

这里,当对所述第三交易数据进行上链处理时,如果此时第一交易数据已被确认满足共识条件,且所述第三交易数据为需要被验证的数据、且所述第三交易数据未被验证,则将所述第三交易数据存储在区块链中新开辟区块的事后共识数据区中。同样地,当对所述第三交易数据进行上链处理时,如果此时第一交易数据已被确认满足共识条件,且所述第三交易数据为需要被验证的数据、且所述第三交易数据已被验证合法,则将所述第三交易数据存储在区块链中新开辟区块的已确认数据区中。

步骤S338、在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识;

步骤S339、如果所述第一交易数据被确认满足共识条件,将所述第一交易数据从所述第一数据区移动到所述指定区块的第二数据区。

基于前述的实施例,本申请实施例再提供一种基于区块链的数据上链方法,图4为本申请实施例基于区块链的数据上链方法的实现流程示意图四,如图4所示,所述方法应用于区块链节点设备,所述方法包括:

步骤S401、获取第一交易数据;

步骤S402、对所述第一交易数据进行上链处理;

步骤S403、在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识;

这里,在所述步骤S403执行完毕后,可以选择执行如下步骤S404,或者执行如下步骤S405。

步骤S404、如果所述第一交易数据被确认不满足共识条件,对所述第一交易数据所在的区块进行标记,以表明所述第一交易数据无效;

步骤S405、如果所述第一交易数据被确认不满足共识条件,删除所述第一交易数据所在的区块。

本申请实施例中,提出了一种先上链,后验证的数据上链方法,通过控制上链节点进行抵押来规避上述方法带来的风险、保障后续参与方的利益。进而,如果在后续的过程中所述先上链,后验证的数据被验证为非法,即确认共识不通过,则对所述数据所在的区块进行标识,以表明所述第一交易数据无效,或表明所述数据所在的区块为非法数据所在的区块。或者,如果确认共识不通过,还可以删除区块链中所述数据所在的区块,当然基于现在区块链的特性是无法删除数据的,所以在方案的具体实现中是可灵活调整的。

目前,区块链现有的共识,一般分两大阶段,即新增账本确定阶段和分发阶段;

新增账本的确定,在公链和联盟链中差异较大。公链的新增账本,通常用竞争方式,即所谓的挖矿机制,胜出节点提供新增账本,例如PoW(Proof of Work,工作量证明)、PoS(Proof of Stake,权益证明)等。联盟链通常采用背书(确定账本有效性)和向特定节点(或多个节点)提交、根据时间排序确定新增账本的算法和机制。在分发阶段,为了高效分发,一般采用P2P(Peer-to-Peer,点对点)的机制。考虑到分发阶段各种算法差异较小,所以一般共识算法也特指第一阶段,即如何确定新增账本的阶段。

而公链之所以性能不高,是因为采取竞争机制,单一时间片内有且仅有一个节点能产出新增账本。联盟链的话虽然可以多个节点生成新账本,但是瓶颈往往在背书和时间排序环节。

基于此,本申请实施例提供一种基于区块链的数据上链方法,即提出一种全新的共识算法和机制(称之为事后共识机制),能够零确认出块,从而能提升区块链网络的并发特性。同时,本申请实施例针对该机制提出一种新的区块链系统。所述区块链系统包括区块链网络,以及接入所述网络的多个区块链节点设备,所述多个区块链节点设备中的任一设备可以实现本申请实施例中的数据上链方法。

所述事后共识机制,主要通过以下方式实现:

(1)将区块链的上链数据进行分区,分成已确认交易(对应的是已确认交易数据区)和待确认交易(即事后共识交易,对应的是事后共识交易数据区)。

这里,区块链节点针对即将上链的数据,除了传统的确认(或背书)交易数据外,可以选择增加事后共识交易数据。同样的,在区块链上链数据的分发时,除了分发已确认交易数据外,还有事后共识交易数据。当然,在一些情况下,所述节点可以只发送事后共识交易数据。

(2)对上述事后共识交易数据,在后继使用时,节点可以根据需要采取一定的机制,对其进行处理。

机制1:将新的关联交易与前序事后共识交易一起放到事后共识交易数据区,并注明其前序事后共识交易的模块号。

这里,如果新的关联交易需要上链时,前序事后共识交易仍然未被确认(前序事后共识交易数据未被确认则放入的是事后共识交易数据区),则所述新的关联交易也被放入事后共识交易数据区。所述“一起”放入,指的是放入的都是事后共识交易数据区,当然,所述新的关联交易和前序事后共识交易不是同一时间点被放入的,被放入的也是不同区块的事后共识交易数据区。

机制2:将新的关联交易与前序事后共识交易一起放入已确认交易数据区,这个主要针对前序事后共识交易已经达到共识条件、或者在当前节点确认情况下满足共识条件,且新的关联交易不需要确认。

这里,如果新的关联交易需要上链时,前序事后共识交易已被确认达到共识条件,则需要将前序事后共识交易从事后共识交易数据区移动到已确认交易数据区。同时,如果新的关联交易不需要确认,则将新的关联交易放入已确认交易数据区。所述“一起”放入,指的是放入的都是已确认交易数据区,当然,所述新的关联交易和前序事后共识交易不是同一时间点被放入的,被放入的也是不同区块的已确认交易数据区。

机制3:将新的关联交易放到事后共识交易数据区,而将前序事后共识交易放到已确认交易数据区,这个主要针对前序事后共识交易已经达到共识条件、或者在当前节点确认情况下满足共识条件,但新的关联交易需要确认和共识。

这里,如果新的关联交易需要上链时,前序事后共识交易已被确认达到共识条件,则需要将前序事后共识交易从事后共识交易数据区移动到已确认交易数据区。同时,如果新的关联交易需要确认但是未被确认是否合法,则将新的关联交易放入事后共识交易数据区。

本申请实施例中,上述事后共识交易数据在上链数据块中,不需要提前被交易方确认、不需要背书、只是作为可能的交易内容列入。并且,上述事后共识交易数据,在后继数据块中逐渐被确认(或背书),当共识条件满足后,可以将所述事后共识交易数据从事后共识交易数据区移动至已确认交易数据区(即正常的区块链数据区)。

(3)对上述事后共识交易数据,增加GAS机制。

这里,可以对上述事后共识交易数据,增加GAS机制(GAS是以太坊网络中的一个计量单位,是为了对算力消耗进行量化而设计的指标)。即提交节点预先抵押部分token(即代币)作为背书,确保数据往下执行。若后续验证交易正常,则该GAS返回给提交节点,否则将扣除。

当然,在上述GAS机制中,当前序事后共识交易仍处于事后共识交易数据区时,在后续新的关联交易中,可以控制提交节点增加GAS或者减少GAS。

本申请实施例中,有了上述机制,很多对实时性要求高的数据可以抢占式上链而无需得到确认或背书,这样数据快速上链后,可以提前触发后续业务需求。当然,对于未确认交易的后继操作可能存在一定的风险(如果交易不实或者非法交易),这样可以通过预先抵押费用(区块链中用于流通的货币)的方式,确保后继参与方的利益。

基于前述的实施例,本申请实施例提供一种基于区块链的数据上链装置,该装置包括所包括的各单元、以及各单元所包括的各子单元,可以通过区块链节点设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为CPU(Central Processing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(Digital Signal Processing,数字信号处理器)或FPGA(Field Programmable GateArray,现场可编程门阵列)等。

图5为本申请实施例基于区块链的数据上链装置的组成结构示意图,如图5所示,所述装置500包括:

第一获取单元501,用于获取第一交易数据;

第一上链单元502,用于对所述第一交易数据进行上链处理;

第一共识单元503,用于在所述第一交易数据上链成功的情况下,对所述第一交易数据进行确认共识。

在一些实施例中,所述装置还包括:

第二获取单元,用于获取第二交易数据;

第二共识单元,用于对所述第二交易数据进行确认共识;

对应地,所述第一共识单元503,包括:

第一共识子单元,用于在所述第一交易数据上链成功、且所述第二交易数据已完成确认共识的情况下,对所述第一交易数据进行确认共识。

在一些实施例中,所述装置还包括:

第二上链单元,用于在所述第二交易数据被确认满足共识条件的情况下,对所述第二交易数据件进行上链处理;

其中,所述第一交易数据与所述第二交易数据的属性信息不同。

在一些实施例中,所述装置还包括:

抵押单元,用于控制对所述第一交易数据进行上链处理的区块链节点进行抵押,使得在所述第一交易数据未被确认共识的情况下,所述第一交易数据相关的业务能够被处理;

返还单元,用于在抵押完成后,如果所述第一交易数据被确认满足共识条件,将抵押进行返还;

扣除单元,用于在抵押完成后,如果所述第一交易数据被确认不满足共识条件,将抵押进行扣除。

在一些实施例中,所述第一上链单元502,包括:

第一上链子单元,用于对所述第一交易数据进行上链处理,将所述第一交易数据存储在指定区块的第一数据区;

对应地,所述装置还包括:

移动单元,用于如果所述第一交易数据被确认满足共识条件,将所述第一交易数据从所述第一数据区移动到所述指定区块的第二数据区。

在一些实施例中,所述装置还包括:

第三获取单元,用于在所述第一交易数据上链成功的情况下,获取第三交易数据;其中,所述第三交易数据与所述第一交易数据存在关联关系;

第三上链单元,用于对所述第三交易数据进行上链处理,如果所述第一交易数据未被确认共识,将所述第三交易数据存储在指定区块的第一数据区;

关联单元,用于将所述第一交易数据与所述第三交易数据进行关联。

在一些实施例中,所述第三上链单元,还用于对所述第三交易数据进行上链处理,如果所述第一交易数据被确认满足共识条件、且所述第三交易数据不需要被确认共识,将所述第三交易数据存储在指定区块的第二数据区。

在一些实施例中,所述第三上链单元,还用于对所述第三交易数据进行上链处理,如果所述第一交易数据被确认满足共识条件、且所述第三交易数据未被确认共识,将所述第三交易数据存储在指定区块的第一数据区。

在一些实施例中,所述装置还包括:

标记单元,用于如果所述第一交易数据被确认不满足共识条件,对所述第一交易数据所在的区块进行标记,以表明所述第一交易数据无效。

以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的基于区块链的数据上链方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、ROM(Read Only Memory,只读存储器)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

对应地,本申请实施例提供一种区块链节点设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的基于区块链的数据上链方法中的步骤。

对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述基于区块链的数据上链方法中的步骤。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,图6为本申请实施例区块链节点设备的一种硬件实体示意图,如图6所示,该区块链节点设备600的硬件实体包括:处理器601、通信接口602和存储器603,其中

处理器601通常控制区块链节点设备600的总体操作。

通信接口602可以使区块链节点设备600通过网络与其他区块链节点设备或服务器通信。

存储器603配置为存储由处理器601可执行的指令和应用,还可以缓存待处理器601以及区块链节点设备600中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过FLASH(闪存)或RAM(Random Access Memory,随机访问存储器)实现。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:内积论证构造方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!