数据获取方法、设备和存储介质技术

技术编号:24574092 阅读:14 留言:0更新日期:2020-06-21 00:07
本发明专利技术提供一种数据获取方法、设备和存储介质,该方法包括:向各节点发送第一数据的请求信息,以供各节点返回相应的第一数据;根据联盟链预配置的共识规则的验证规则对各节点分别返回的第一数据比对验证,将通过验证的第一数据确认为正确的第一数据。本申请保证客户端从联盟链所获取的数据为正确的数据。

Data acquisition methods, devices and storage media

【技术实现步骤摘要】
数据获取方法、设备和存储介质
本申请涉及区块链
,具体涉及一种数据获取方法、设备和存储介质。
技术介绍
在现有的联盟链技术中,由于客户端所连接的节点可能存在故障或者为作恶节点,客户端无法向所连接的节点请求到正确的数据。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种保证客户端从联盟链所获取的数据为正确的数据的数据获取方法、设备和存储介质。第一方面,本专利技术提供一种适用于客户端的数据获取方法,客户端分别与联盟链的每一节点建立连接,上述方法包括:向各节点发送第一数据的请求信息,以供各节点返回相应的第一数据;根据联盟链预配置的共识规则的验证规则对各节点分别返回的第一数据比对验证,将通过验证的第一数据确认为正确的第一数据。第二方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的数据获取方法。第三方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的数据获取方法。本专利技术诸多实施例提供的数据获取方法、设备和存储介质通过向各节点发送第一数据的请求信息,以供各节点返回相应的第一数据;根据联盟链预配置的共识规则的验证规则对各节点分别返回的第一数据比对验证,将通过验证的第一数据确认为正确的第一数据的方法,保证客户端所获取的数据为正确的数据。本专利技术一些实施例提供的数据获取方法、设备和存储介质进一步通过客户端分别与联盟链的每一节点建立连接前,还包括:将各节点加入第一列表;根据联盟链预配置的共识规则的验证规则对各节点分别返回的第一数据比对验证,将通过验证的第一数据确认为正确的第一数据后,还包括:将所返回的第一数据与确认正确的第一数据不一致的节点从第一列表移入第二列表;与第二列表中的各节点断开连接的方法,降低资源消耗。本专利技术一些实施例提供的数据获取方法、设备和存储介质进一步通过在根据联盟链配置的共识规则的验证规则和第一列表中的各节点所返回的第一数据无法确认所需的第一数据时,将第二列表中的各节点移入第一列表;向新移入第一列表的各节点发送第一数据的请求信息,以供新移入第一列表的各节点返回相应的第一数据;以及,返回根据联盟链预配置的共识规则的验证规则对各节点分别返回的第一数据比对验证,将通过验证的第一数据确认为正确的第一数据的方法,在保证客户端所获取的数据为正确的数据的情况下,降低资源消耗。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例提供的一种数据获取方法的流程图。图2为图1所示方法的一种优选实施方式的流程图。图3为图2所示方法的一种优选实施方式的流程图。图4为图3所示方法的一种优选实施方式的流程图。图5为本专利技术一实施例提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1为本专利技术一实施例提供的一种数据获取方法的流程图。如图1所示,在本实施例中,本专利技术提供一种适用于客户端的数据获取方法,客户端分别与联盟链的每一节点建立连接,上述方法包括:S12:向各节点发送第一数据的请求信息,以供各节点返回相应的第一数据;S14:根据联盟链预配置的共识规则的验证规则对各节点分别返回的第一数据比对验证,将通过验证的第一数据确认为正确的第一数据。具体地,以预配置的共识规则为pbft,联盟链共有10个节点,用户A向联盟链请求其在区块高度为50时的账户余额信息为例;用户A的客户端与Node1~Node10建立连接;在步骤S12中,客户端向Node1~Node10发送用户A在区块高度为50时的账户余额信息的请求信息;Node1~Node10接收请求信息后返回相应的账户余额信息amount(A)1~amount(A)10;在步骤S14中,根据pbft的验证规则对各节点分别返回的第一数据amount(A)1~amount(A)10比对验证,若在amount(A)1~amount(A)10中amount(A)1~amount(A)8相同,则将amount(A)1~amount(A)8确认为正确的用户A在区块高度为50时的账户余额信息。在上述实施例中,以预配置的共识规则为pbft,联盟链共有10个节点,用户A向联盟链请求其在区块高度为50时的账户余额信息为例做了示例性的阐述;在更多实施例中,还可以根据实际需求将预配置的共识规则配置为tendermint或其它共识规则,可实现相同的技术效果;在更多实施例中,还可以根据实际需求将联盟链的节点个数配置为其它数值,例如,配置为13个,可实现相同的技术效果。上述实施例保证客户端从联盟链中所获取的数据为正确的数据。图2为图1所示方法的一种优选实施方式的流程图。如图2所示,在一优选实施例中,在步骤S12前,还包括:S11:将各节点加入第一列表;在步骤S14后,还包括:S15:将所返回的第一数据与确认正确的第一数据不一致的节点从第一列表移入第二列表;S16:与第二列表中的各节点断开连接。具体地,在步骤S11中,用户A的客户端将Node1~Node10加入第一列表;在步骤S14后,还包括:在步骤S15中,客户端将Node9和Node10从第一列表移入第二列表;在步骤S16中,客户端与Node9和Node10断开连接。客户端与联盟链中的每一节点建立连接需要消耗大量资源,上述实施例使得客户端与部分节点断开连接,降低资源消耗。假设有如下第一应用场景:联盟链预配置的共识规则为pbft,联盟链共有10个节点,第一列表中原本有10个节点;随着时间的推移,第一列表中的节点被逐个移入第二列表;当第一列表中仅有4个节点,而这4个节点分别返回的第一数据不完全相同时,客户端无法获取正确的第一数据;针对第一应用场景所产生的问题,可以通过图3所示的数据获取原理解决。图3为图2所示方法的一种优选实施方式的流程图。如图3所示,在一优选实施例中,还包括:S17:根据联盟链配置的共识规则的验证规则和第一列表中的各节点所返回的第一数据无法确认所需的第一数据时,将第二列表中的各节点移入第一列表;S18:向新移入第一列表的各节点发送第一数据的请求信息,以供新移入第一列表的各节点返回相应的第一数据;以及,返回根据联盟链预配置的共识规则的验证规则对各节点分别返回的第一数据比对验证,将通过验证的第本文档来自技高网...

【技术保护点】
1.一种数据获取方法,其特征在于,客户端分别与联盟链的每一节点建立连接,所述方法适用于客户端,所述方法包括:/n向各所述节点发送第一数据的请求信息,以供各所述节点返回相应的第一数据;/n根据所述联盟链预配置的共识规则的验证规则对各所述节点分别返回的第一数据比对验证,将通过验证的第一数据确认为正确的第一数据。/n

【技术特征摘要】
1.一种数据获取方法,其特征在于,客户端分别与联盟链的每一节点建立连接,所述方法适用于客户端,所述方法包括:
向各所述节点发送第一数据的请求信息,以供各所述节点返回相应的第一数据;
根据所述联盟链预配置的共识规则的验证规则对各所述节点分别返回的第一数据比对验证,将通过验证的第一数据确认为正确的第一数据。


2.根据权利要求1所述的方法,其特征在于,所述客户端分别与联盟链的每一节点建立连接前,还包括:
将各所述节点加入第一列表;
所述根据所述联盟链预配置的共识规则的验证规则对各所述节点分别返回的第一数据比对验证,将通过验证的第一数据确认为正确的第一数据后,还包括:
将所返回的第一数据与确认正确的第一数据不一致的节点从所述第一列表移入第二列表;
与所述第二列表中的各所述节点断开连接。


3.根据权利要求2所述的方法,其特征在于,还包括:
在根据所述联盟链配置的共识规则的验证规则和所述第一列表中的各节点所返回的第一数据无法确认所需的第一数据时...

【专利技术属性】
技术研发人员:曹平王志文吴思进
申请(专利权)人:杭州复杂美科技有限公司南京本链信息科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1