区块链数据上链处理方法、装置及设备与流程

文档序号:22798712发布日期:2020-11-04 03:54阅读:767来源:国知局
区块链数据上链处理方法、装置及设备与流程

本申请属于区块链技术领域,具体涉及区块链数据上链处理方法、装置及设备。



背景技术:

区块链是一种底层技术,综合了密码学、点对点网络、分布式计算等学科的技术,被认为是传统的信息互联网向更深层次的价值互联网升级的潜在可行技术。区块链技术自2009年随比特币网络进入人们的视野,由于其具备去中心化、不可篡改、开放透明等优秀特质,可被用来解决各行各业应用场景中的数据信任问题。

现有的针对区块链上链数据管理的方案包括如下几种情况:

1.公链对上链的数据没有管理,任何人都可以写入任何数据到链上;

2.写入的数据先写到区块链的智能合约里,如果发现数据内容不合适,则在智能合约中标记该记录不在客户端上显示,但因写入的数据先写到区块链的智能合约里,导致数据已上链,实际上区块链上仍记录了该不合适的内容,上链之后的数据记录已经无法抹去;

3.有权限控制的区块链(如联盟链)进行中心化管理,待写入的数据先提交到中心化的数据库,经过审核之后才代为写入到区块链,在区块链之外设置中心化的数据库进行审核,这与区块链的去中心化理念不符。

可见,现有技术对区块链上链数据的管理,有的是不做管理;有的是上链之后才进行管理(智能合约方式),但上链之后的数据记录已经无法抹去;还有的是采用中心化的数据审核方式,不符合区块链治理的共识原则。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供区块链数据上链处理方法、装置及设备,旨在提供一种新的区块链数据上链机制,有助于更好地满足区块链数据的上链管理需求。

为实现以上目的,本申请采用如下技术方案:

第一方面,

本申请提供区块链数据上链处理方法,所述方法包括:

获取用户上传的待上链数据,并将所述待上链数据暂存于区块链节点的交易池中;

获取对所述待上链数据的投票信息,并进行共识投票处理,根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续处理。

进一步地,所述获取用户上传的待上链数据,并将所述待上链数据暂存于区块链节点的交易池中,包括:

响应用户发起的携带有所述待上链数据的数据上链交易,通过点对点网络接收所述待上链数据,并将所述待上链数据暂存于区块链节点的交易池中。

进一步地,其中,所述交易池中的数据是公开可查询的。

进一步地,所述根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续操作,包括:

如果投票处理结果指示允许上链,则将所述待上链数据进行打包,然后提交进入区块链网络。

进一步地,所述根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续操作,包括:

如果投票处理结果指示不允许上链,则将所述待上链数据从交易池中删除。

进一步地,在所述获取对所述待上链数据进行的共识投票步骤之前,所述方法还包括:

验证所述待上链数据交易格式的有效性,并在验证通过后,等待对所述待上链数据进行投票。

进一步地,所根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续操作,还包括:

如果投票处理结果指示允许上链,则还将所述待上链数据标记为已验证通过。

进一步地,所述进行共识投票处理,包括:

如果区块链为公链,则采用pos或dpos算法进行处理;

如果区块链为有权限控制的,则根据成员节点进行共识计票。

第二方面,

本申请提供区块链数据上链处理装置,所述装置包括:

交易暂存模块,用于获取用户上传的待上链数据,并将所述待上链数据暂存于区块链节点的交易池中;

投票处理模块,用于获取对所述待上链数据的投票信息,并进行共识投票处理,根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续处理。

第三方面,

本申请提供一种计算设备,包括:

一个或者多个存储器,其上存储有可执行程序;

一个或者多个处理器,用于执行所述存储器中的所述可执行程序,以实现上述中任一项所述方法的步骤。

本申请采用以上技术方案,至少具备以下有益效果:

本申请利用区块链节点的交易池,在数据上链之前,将待上链数据放入交易池中,在交易池中进行共识投票决定是否允许上链,并进行相应的后续处理,可以在数据进入区块从而无法篡改之前,对有问题的数据否决其上链。相比较于现有技术对区块链上链数据的管理——有的是不做管理,有的是上链之后才进行管理(智能合约方式),还有的是采用中心化的数据审核方式,本申请实现提供一种新的区块链数据上链机制,来克服上述三种管理方式下各自存在的不足,进而有助于更好地满足区块链数据的上链管理需求。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的区块链数据上链处理方法的流程图;

图2是根据一示例性实施例示出的区块链数据上链处理装置的框图结构示意图;

图3是根据一示例性实施例示出的计算设备的框图结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

图1是根据一示例性实施例示出的区块链数据上链处理方法的流程图,如图1所示,该区块链数据上链处理方法包括如下步骤:

步骤s101、获取用户上传的待上链数据,并将所述待上链数据暂存于区块链节点的交易池中;

步骤s102、获取对所述待上链数据的投票信息,并进行共识投票处理,根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续处理。

具体的,相关技术中,对于区块链虚拟币(如比特币)交易,区块链节点们利用交易池来记录那些被网络所接收的、但还未被区块链所包含的区块链虚拟币交易。为了克服相关技术中对区块链上链数据管理的不足——有的是不做管理;有的是上链之后才进行管理(智能合约方式),但上链之后的数据记录已经无法抹去;还有的是采用中心化的数据审核方式,不符合区块链治理的共识原则。本申请利用区块链节点的交易池,在数据上链之前,将待上链数据放入交易池中,在交易池中进行共识投票决定是否允许上链,并进行相应的后续处理,可以在数据进入区块从而无法篡改之前,对有问题的数据否决其上链。实现提供一种新的区块链数据上链机制,进而有助于更好地满足区块链数据的上链管理需求。

对于共识投票的应用,相关技术中,应用于出块节点选举,利用dpos共识协议,通过投票的方法选举出每一轮次的区块链出块节点,候选节点在链上接受区块链参与者的投票,区块链通过算法统计出每个候选节点获得的票数,确定最终当选的出块节点。这一投票选举出块节点的过程在区块链上完成,各个节点的得票以及投票结果全都记录在区块链上。本申请在交易池中对待上链数据进行共识投票,该在交易池中对待上链数据进行共识投票不是发生在上链后,由此来决定哪些数据可以上链,哪些不可以上链,只有共识投票通过的数据才能上链,其他没有得到共识投票通过的数据被认定为非法数据,不会记录在区块链上,符合区块链的共识原则,相比中心化的方式更容易被接受。

在一个实施例中,所述获取用户上传的待上链数据,并将所述待上链数据暂存于区块链节点的交易池中,包括:

响应用户发起的携带有所述待上链数据的数据上链交易,通过点对点网络接收所述待上链数据,并将所述待上链数据暂存于区块链节点的交易池中。

具体的,用户有数据上链需求后,向区块链网络中发起一个数据上链的交易,新的数据上链交易通过点对点网络,进入区块链节点的交易池内。该实施例方案专门定义一种为数据上链的交易,将待上链数据以交易的形式体现,可实现对数据上链的管理仅对于此种类型的交易,即碰到待上链数据以交易的形式体现时,触发本申请后续的对待上链数据的处理方案,而不会是使用相关技术中的智能合约写数据。

在一个实施例中,其中,所述交易池中的数据是公开可查询的。这样每个用户都可以通过其客户端软件查看,并对此进行共识投票。

在一个实施例中,所述根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续操作,包括:

如果投票处理结果指示允许上链,则将所述待上链数据进行打包,然后提交进入区块链网络。

具体的,如果投票处理结果指示允许上链,说明交易成功,可以打包进区块链,从而上链。

在一个实施例中,所述根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续操作,包括:

如果投票处理结果指示不允许上链,则将所述待上链数据从交易池中删除。

具体的,如果投票处理结果指示不允许上链,说明交易失败,投票不通过的交易则被抛弃,无法上链,继而可以实现在数据进入区块链从而无法篡改之前,对有问题的数据做清理。

在一个实施例中,在所述获取对所述待上链数据进行的共识投票步骤之前,所述方法还包括:

验证所述待上链数据交易格式的有效性,并在验证通过后,等待对所述待上链数据进行投票。

具体的,通过区块链节点对其交易池中待上链数据的交易格式有效性进行验证,保证交易符合规范,验证通过后,进入等待投票的状态。

在一个实施例中,所根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续操作,还包括:

如果投票处理结果指示允许上链,则还将所述待上链数据标记为已验证通过。

具体的,投票通过后,允许上链,将交易标记为已验证,打包进入区块链,最终数据上链成功。

在一个实施例中,所述进行共识投票处理,包括:

如果区块链为公链,则采用pos或dpos算法进行处理;

如果区块链为有权限控制的,则根据成员节点进行共识计票。

综上,相比较于相关技术对区块链上链数据的管理——要么是中心化的数据审核,不符合区块链治理的共识原则;要么是上链之后才进行管理(智能合约方式),但上链之后的数据记录已经无法抹去;还有就是不做管理。本申请提供一种新的上链管理机制,在数据上链之前,在交易存在于交易池中等待验证时,加入了对待上链数据的共识投票,可以在数据进入区块从而无法篡改之前,对有问题的数据做清理。本申请采用了区块链治理的共识原则,让共识投票来决定哪些数据可以上链,哪些数据不可以上链,符合区块链的共识原则,相比中心化的方式更容易被接受。

图2是根据一示例性实施例示出的区块链数据上链处理装置的框图结构示意图,如图2所示,该区块链数据上链处理装置2包括:

交易暂存模块201,用于获取用户上传的待上链数据,并将所述待上链数据暂存于区块链节点的交易池中;

投票处理模块202,用于获取对所述待上链数据的投票信息,并进行共识投票处理,根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续处理。

进一步地,交易暂存模块201,具体用于:

响应用户发起的携带有所述待上链数据的数据上链交易,通过点对点网络接收所述待上链数据,并将所述待上链数据暂存于区块链节点的交易池中。

进一步地,其中,所述交易池中的数据是公开可查询的。

进一步地,投票处理模块202中,所述根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续操作,包括:

如果投票处理结果指示允许上链,则将所述待上链数据进行打包,然后提交进入区块链网络。

进一步地,投票处理模块202中,所述根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续操作,包括:

如果投票处理结果指示不允许上链,则将所述待上链数据从交易池中删除。

进一步地,投票处理模块202中,在所述获取对所述待上链数据进行的共识投票步骤之前,还用于:

验证所述待上链数据交易格式的有效性,并在验证通过后,等待对所述待上链数据进行投票。

进一步地,投票处理模块202中,所根据投票处理结果确定是否允许所述待上链数据上链,并执行相应的后续操作,还包括:

如果投票处理结果指示允许上链,则还将所述待上链数据标记为已验证通过。

进一步地,投票处理模块202中,所述进行共识投票处理,包括:

如果区块链为公链,则采用pos或dpos算法进行处理;

如果区块链为有权限控制的,则根据成员节点进行共识计票。

关于上述相关实施例中的区块链数据上链处理装置2,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图3是根据一示例性实施例示出的计算设备的框图结构示意图,如图3所示,该计算设备3包括:

一个或者多个存储器301,其上存储有可执行程序;

一个或者多个处理器302,用于执行所述存储器301中的所述可执行程序,以实现上述中任一项所述方法的步骤。

关于上述实施例中的计算设备3,其处理器302执行存储器301中的程序的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”、“多”的含义是指至少两个。

应该理解,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者可能同时存在居中元件;当一个元件被称为“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件,此外,这里使用的“连接”可以包括无线连接;使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为:表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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