数据处理方法、装置、计算机设备和存储介质与流程

专利2022-06-29  61


本申请涉及互联网技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。



背景技术:

随着互联网技术的发展,各种各样终端设备功能的不断强大,使得云端数据处理量急剧增加,由此出现了边缘计算。

边缘计算是将部分数据处理在设备端或数据源头的网络边缘层实现,以此缓解云端的数据处理压力。数据一致性是边缘计算上层应用的基础支撑,现有的边缘计算中,如采用raft算法保持多边缘节点间数据的一致性。

而在采用raft算法进行信息交易时如车辆地图分享,由于边缘节点的不稳定,作为边缘节点的车辆随时会退出边缘计算网络,导致节点间信息交易出现误差,甚至信息交易失败。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种数据处理方法、装置、计算机设备和存储介质。

一方面,提供一种数据处理方法,基于区块链技术实现,所述方法包括:

根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值;其中,所述当前区块包括区块链平台中各待选节点之间的交易信息;

根据所述当前区块,得到所述当前待选节点的当前阈值;

根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者;

根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

另一方面,提供一种数据处理装置,基于区块链技术实现,所述装置包括:

竞价值获取模块,用于根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值;其中,所述当前区块包括区块链平台中各待选节点之间的交易信息;

阈值获取模块,用于根据所述当前区块,得到所述当前待选节点的当前阈值;

出块模块,用于根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者;

数据一致模块,用于根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

另一方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值;其中,所述当前区块包括区块链平台中各待选节点之间的交易信息;

根据所述当前区块,得到所述当前待选节点的当前阈值;

根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者;

根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

另一方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值;其中,所述当前区块包括区块链平台中各待选节点之间的交易信息;

根据所述当前区块,得到所述当前待选节点的当前阈值;

根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者;

根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

上述数据处理方法、装置、计算机设备和存储介质,基于区块链技术实现数据的传输分享,在本申请的数据处理方法中,与区块链平台网络通信的每一待选节点均可作为当前待选节点,以接收所述区块链平台中最新的区块即所述当前区块,得到的所述当前待选节点的当前竞价值和当前阈值,以此实现每一待选节点均有可能成为最终的所述当前区块生产者。再根据所述当前竞价值和所述当前阈值尝试出块,以在多个所述待选节点中确定所述当前区块生产者,将所述当前区块和所述当前区块生产者的节点信息打包生成下一区块,并将所述下一区块存储在所述区块链平台中,以此实现在确定了所述当前区块生产者后通过所述当前区块生产者对所述当前区块的全网广播,实现数据的一致性。通过上述方法,在根据所述当前竞价值和所述当前阈值在多个所述待选节点中筛选得到符合作为生产者条件所述当前区块生产者后,由所述当前区块生产者进行全网广播及稳定数据传输,避免了在数据传播过程中出现所述待选节点中因不满足传播条件导致的突然退出出块,或因为满足传播条件又突然加入出块的情况,从而避免地图数据的分享或个人支付交易出现误差或失败,提高数据传输的准确性和成功率。

附图说明

图1为一个实施例中数据处理方法的应用环境图;

图2为一个实施例中数据处理方法的流程示意图;

图3为一个实施例中确认当前待选节点对当前区块是否具有验证能力的流程示意图;

图4为另一个实施例中s220的流程示意图;

图5为另一个实施例中s230的流程示意图;

图6为另一个实施例中s530的流程示意图;

图7为另一个实施例中根据竞争判断结果在待选节点中确定当前区块生产者的流程示意图;

图8为另一个实施例中根据当前竞价值和当前阈值以及其他竞价值和其他阈值确定当前区块生产者的流程示意图;

图9为另一个实施例中s240的流程示意图;

图10为一个实施例中数据处理装置的结构框图;

图11为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,区块链平台10与各待选节点20通过网络进行通信。在边缘计算中,所述待选节点10包括终端节点。任意所述待选节点作为当前待选节点,所述当前待选节点将接收到的表征所述待选节点20间交易信息的、存储在所述区块链平台10最新的区块数据作为当前区块,根据所述当前区块得到所述当前待选节点的当前竞价值和当前阈值,并根据所述当前竞价值和所述当前阈值尝试出块,以在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者,根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台10中。其中,所述区块链平台10可以用独立的服务器或者是多个服务器组成的服务器集群来实现,各所述待选节点20可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。

在一个实施例中,如图2所示,提供了一种数据处理方法,基于区块链技术实现,以该方法应用于无人驾驶,车辆地图分享的数据处理,所述待选节点20是车辆为例进行说明,包括以下步骤:

s210、根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值。

其中,所述当前区块包括区块链平台中各待选节点之间的交易信息。进一步地,所述当前区块包括存储在所述区块链平台中最新的区块。

进一步地,在边缘计算中,与所述区块链平台网络通信的每一待选节点定期将表征所述交易信息的数据以及该数据对应存储的所述待选节点的信息,通过智能合约打包,形成所述当前区块,也可由特定节点完成打包,取决于所述区块链平台的具体实现方式。

进一步地,所述当前区块的区块结构如下:

{id,datatype,dataname,time,creator,storenodeslist,validtime,otherproperities,signature}

其中,id为数据全网唯一标识,datatype,dataname为数据类型和名称,time为数据创建时间,creator为数据的创建者,storenodeslist为数据在区块链平台中的存储节点列表,初始为空,validtime为数据的有效时间,otherproperities为数据其他属性,signature为创建者的签名。

具体地,所述当前待选节点根据已存储在所述区块链平台内的最新区块以及所述当前待选节点的节点信息获取所述当前待选节点的所述当前竞价值。

s220、根据所述当前区块,得到所述当前待选节点的当前阈值。

进一步地,所述当前阈值可根据所述当前待选节点的节点特性得到。其中,所述节点特性包括节点的资产、代币或代币数量、存储能力等可表征所述当前待选节点的出块能力,以确定节点是否出块的相关信息。

具体地,所述当前待选节点根据所述当前待选节点的节点特性如节点的资产、代币数量、存储能力获取所述当前待选节点的当前阈值。

s230、根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者。

其中,所述尝试出块即为确定所述当前区块生产者。

具体地,所述当前待选节点通过比较所述当前竞价值和所述当前阈值之间的大小关系,以在多个所述待选节点中确定所述当前生产者。

s240、根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

其中,所述当前区块生产者的节点信息包括成为所述当前区块生产者的所述待选节点的名称。例如,待选节点i成为所述当前区块生产者,则所述当前区块生产者的节点信息为所述待选节点i。

具体地,所述当前待选节点将所述当前区块内的数据信息与所述当前区块生产者的节点信息打包生成所述下一区块,并将所述下一区块存储在所述区块链平台中。

本实施例中,基于区块链技术实现数据的传输分享,例如无人驾驶中的地图数据分享,基于区块链技术实现个人数据管理,例如个人账户的金额管理,支付交易。在本申请的数据处理方法中,与区块链平台网络通信的每一待选节点均可作为当前待选节点,以接收所述区块链平台中最新的区块即所述当前区块,得到的所述当前待选节点的当前竞价值和当前阈值,以此实现每一待选节点均有可能成为最终的所述当前区块生产者。再根据所述当前竞价值和所述当前阈值尝试出块,以在多个所述待选节点中确定所述当前区块生产者,将所述当前区块和所述当前区块生产者的节点信息打包生成下一区块,并将所述下一区块存储在所述区块链平台中,以此实现在确定了所述当前区块生产者后通过所述当前区块生产者对所述当前区块的全网广播,实现数据的一致性。通过上述方法,在根据所述当前竞价值和所述当前阈值在多个所述待选节点中筛选得到符合作为生产者条件所述当前区块生产者后,由所述当前区块生产者进行全网广播及稳定数据传输,避免了在数据传播过程中出现所述待选节点中因不满足传播条件导致的突然退出出块,或因为满足传播条件又突然加入出块的情况,从而避免地图数据的分享或个人支付交易出现误差或失败,提高数据传输的准确性和成功率。

在另一个实施例中,所述s210、根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值的一种可能的实现方式包括:

对所述当前区块进行区块正确性验证,得到区块正确性验证结果。

其中,所述区块正确性验证结果用于表征所述交易信息是否合法。所述交易信息包括交易对象、交易操作以及交易资产。所述区块正确性验证包括余额验证,用于验证进行所述交易操作的所述交易对象的资产余额是否满足所述交易资产;所述区块正确性验证还包括签名验证,用于验证交易双方即所述交易对象的身份是否满足合法身份;所述区块正确性验证还包地址验证,用于验证所述交易对象在所述区块链平台中地址是否满足合法地址。所述区块正确性验证还包括现有技术中对区块的其他方面的验证,在此不再赘述。

进一步地,当上述余额验证、签名验证以及地址验证均满足的情况,所述区块正确性验证结果为合法,若上述余额验证、签名验证以及地址验证中存在不满足的情况,则所述区块正确性验证结果为不合法。

进一步地,若所述区块正确性验证结果为合法,则根据所述当前区块的哈希值、区块随机性幸运数字以及竞价范围获取所述当前竞价值。

进一步地,所述当前竞价值可以采用如下公式或该公式的变形得到:

xi=hash(hash(n) adressi) luckynumberimodk

其中,hash(n)为当前最新区块的hash值,已经存储在区块链平台中;adressi为节点i的区块地址标识;luckynumberi为增加区块链随机性的幸运数字;mod为求余函数;k为限制参数,限定了竞价的范围,在[0,k]之间展开。

进一步地,若所述区块正确性验证结果为不合法,则确定所述当前待选节点退出出块。

其中,所述退出出块即为所述当前待选区块不再去竞选成为所述当前区块生产者。

本实施例中,对所述当前区块的交易信息进行了所述区块正确性验证,以确保交易的安全性,具体采用了签名验证、余额验证以及地址验证,确保所述交易信息在产生、交易、到达的过程均安全合法,在存在不合法的情况时,及时退出出块,避免非法交易信息传播侵入所述区块链平台,提高所述区块链平台的安全性和可靠性。

在另一个实施例中,如图3所示,所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果之前,需要确认所述当前待选节点对所述当前区块是否具有验证能力,可能的实现方式包括:

s310、获取所述当前区块所需的预估算力和预估存储空间,以及所述当前待选节点的当前富余算力和当前存储空间。

具体地,所述当前待选节点根据所述当前区块所包括的交易信息的数据量大小,得到处理所述当前区块所需要的运算能力即所述预估算力,以及所述当前区块所要占用的存储空间的大小即所述预估存储空间。

s320、将所述预估算力和所述预估存储空间分别与所述当前富余算力和所述当前存储空间进行比较,得到比较结果。

其中,所述比较结果用于表征所述当前待选节点对所述待选区块是否具有进行所述正确性验证的能力。

具体地,所述当前点选节点将所述预估算力与所述当前富余算力比较,和将所述预估存储空间和所述当前存储空间进行比较,当所述预估算力小于等于所述当前富余算力,和所述预估存储空间小于等于所述当前存储空间,所述比较结果为是,所述当前待选节点对所述待选区块具有进行所述正确性验证的能力;当所述预估算力大于所述当前富余算力,或所述预估存储空间大于所述当前存储空间,则所述比较结果为否,所述当前待选节点对所述待选区块不具有进行所述正确性验证的能力。

s330、根据所述比较结果,执行所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果的步骤,或者执行所述确定所述当前待选节点退出出块的步骤。

进一步地,若所述比较结果为是,则执行所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果的步骤。

进一步地,若所述比较结果为否,则执行所述确定所述当前待选节点退出出块的步骤。

本实施例中,所述当前待选节点根据所述当前区块的数据大小预估所述当前区块所需要的运算能力即所述预估算力,以及预估所述当前区块所要占用的存储大小即所述预估存储空间,与所述当前待选节点的当前富余算力和当前存储空间进行比较,得到比较结果,以确定所述当前待选节点对所述待选区块是否具有进行所述正确性验证的能力。若所述比较结果为是,则执行所述正确性验证的过程,若所述比较结果为否,则执行退出出块,以此实现对所述当前待选节点进行验证筛选,避免后续传播中所述待选节点因无法实现正确性验证能力而突然退出出块,发生传播波动造成的传播误差。

在另一个实施例中,如图4所示,所述s220、根据所述当前区块,得到所述当前待选节点的当前阈值的一种可能的实现方式包括:

s410、获取所述当前待选节点的资产、代币数量、本地存储剩余能力、边缘计算节点的存储卸载能力、云计算中心节点的存储卸载能力、所述当前待选节点的稳定在线时长、所述当前区块的上一区块产生的时间以及竞争调节因子,作为准备数据。

s420、对所述准备数据进行融合计算,得到所述当前阈值。

其中,所述当前阈值满足下式或其变形:

yi=mi(si ei ci)(ti t)·b

其中,mi为节点i的资产、代币或代币数量,资产、代币或代币数量越多的节点,出块成功率越高;

si、ei、ci分别为节点i的本地存储剩余能力、esp(edgeserviceprovider,边缘计算节点)提供的存储卸载能力、csp(cloudserviceprovider,云计算中心节点)提供的存储卸载能力,si ei ci越大,说明节点的整体存储能力越强,出块成功率越高;

ti表示节点i的稳定在线时长,能够表示出节点的稳定性;t表示距离上次区块生产的时间,t越大说明出块的紧急度越高;

b表示为竞争过程调节因子,可以保证竞争过程的速度可控。

进一步地,所述竞争调节因子满足下式或其变形:

以上公式中,tavg为区块间隔时间和稳定时间之和的预期期望值,为截止到目前的全网能力平均值,通过b的调节,可以使得阈值yi均衡地映射到竞价的范围[0,k]中。

在另一个实施例中,如图5所示,所述s230、根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的生产者,作为当前区块生产者的一种可能的实现方式包括:

s510、根据所述当前竞价值与所述当前阈值的关系,得到所述当前待选节点的出块结果。

其中,所述出块结果用于表征所述当前待选节点是否满足出块条件。

进一步地,所述出块结果包括所述当前点选节点满足所述出块条件和所述当前待选节点不满足所述出块条件,所述出块条件即为所述当前竞价值与所述当前阈值的大小关系是否满足预设关系。

进一步地,若所述当前竞价值小于所述当前阈值,则所述出块结果为所述当前待选节点满足所述出块条件。

若所述当前竞价值大于等于所述当前阈值,则所述出块结果为所述当前待选节点不满足所述出块条件。

具体地,所述当前待选节点将竞价值小于阈值作所述出块条件,根据所述当前竞价值与所述当前阈值的大小关系,得到所述出块结果。

s520、根据所述出块结果确定所述当前区块生产者。

若所述出块结果为所述当前待选节点不满足所述出块条件,则在下一时刻执行所述s220、根据所述当前区块,得到当前阈值的步骤。

若所述出块结果为所述当前待选节点满足所述出块条件,则执行

s530、判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者。

其中,所述其他待选节点为所述待选节点中除过所述当前待选节点的其他节点。

具体地,当所述出块结果为所述当前待选节点不满足所述出块条件,表征所述当前待选节点不具备成为所述当前区块生产者的可能性,则所述待选节点在下一时刻重新获取所述当前阈值,执行所述s220的步骤。而当所述出块结果为所述当前待选节点满足所述出块条件,表征所述当前待选节点具备成为所述当前区块生产者的可能性,则所述当前待选节点进一步判断所述其他待选区块中是否存在成为所述当前区块生产者的竞争者,执行所述s530的步骤。

本实施例中,所述当前待选节点将竞价值小于阈值作为所述出块条件,并根据所述当前竞价值与所述当前阈值的关系,得到所述当前待选节点的出块结果,以确定所述当前待选节点是否满足出块条件。若所述出块结果为是,则所述待选节点执行进一步判断是否存在竞争者的步骤,若所述出块结果为否,则所述待选节点执行在下一时刻重新获取所述当前阈值的步骤,以此实现对所述当前待选节点进行竞争筛选,确保所述当前区块生产者的正确性,避免所述当前区块生产者选定错误造成的数据分叉。

在另一个实施例中,如图6所示,在所述s530、判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者之前,还需要对满足所述出块条件所述当前待选节点进行广播验证,可能的实现方式包括:

s610、向所述其他待选节点发送条件广播信息。

其中,所述条件广播信息包括所述当前竞价值与所述当前阈值。

具体地,所述当前待选节点将所述当前竞价值与所述当前阈值作为所述条件广播信息,将所述条件广播信息广播发送至每一所述其他待选节点,以使所述其他待选节点明确所述当前待选节点的所述当前竞价值和所述当前阈值。

s620、获取所述其他待选节点得到的所述当前待选节点的验证竞价值与验证阈值。

其中,用于得到所述当前待选节点的所述当前竞价值和所述当前阈值的相关数据在所述区块链平台内为公开状态,即每一所述其他待选节点均可获取,并进行计算得到,作为所述验证竞价值和所述验证阈值。

具体地,所述当前待选节点获取所述其他节点利用公开数据得到的所述当前待选节点的所述验证竞价值和所述验证阈值。

s630、根据所述验证竞价值与所述验证阈值分别对所述条件广播信息中的所述当前竞价值与所述当前阈值进行验证,得到广播验证结果。

其中,所述广播验证结果用于表征中所述当前竞价值与所述当前阈值是否正确。

进一步地,当所述验证竞价值与所述当前竞价值相同,且所述验证阈值与所述当前阈值相同,则所述广播验证结果正确。当所述验证竞价值与所述当前竞价值与所述验证竞价值不同,或者所述验证阈值与所述当前阈值不同,则所述广播验证结果为不正确。

s640、根据所述广播验证结果执行所述断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者的步骤,或者在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤。

进一步地,若所述广播验证结果为正确,则执行所述s530、判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者的步骤。

进一步地,若所述广播验证结果为不正确,则在下一时刻执行所述s220、根据所述当前区块,得到当前阈值的步骤。

具体地,所述当前待选节点以所述验证竞价值与所述当前竞价值是否一致,以及所述验证阈值与所述当前阈值是否一致作为所述广播验证结果的验证依据。当所述验证竞价值与所述当前竞价值相同,且所述验证阈值与所述当前阈值相同,表征所述当前待选节点广播的所述当前竞价值和所述当前阈值与所述当前待选节点实际的所述当前竞价值和所述当前阈值一致,所述广播验证结果为正确,则所述当前待选节点进一步判断所述其他待选区块中是否存在成为所述当前区块生产者的竞争者,执行所述s530的步骤。而当所述验证竞价值与所述当前竞价值与所述验证竞价值不同,或者所述验证阈值与所述当前阈值不同,则表征所述当前待选节点广播的所述当前竞价值和所述当前阈值与所述当前待选节点实际的所述当前竞价值和所述当前阈值存在不一致,所述广播验证结果为不正确,则所述待选节点在下一时刻重新获取所述当前阈值,执行所述s220的步骤。

本实施例中,所述当前待选节点将所述当前待选节点所广播的所述当前竞价值和所述当前阈值与由所述其他待选节点得到所述验证竞价值和所述验证阈值对应一致,作为所述广播验证结果正确与否的验证依据,得到所述当前待选节点的广播验证结果。若所述广播验证结果为是,则所述待选节点执行进一步判断是否存在竞争者的步骤,若所述广播验证结果为否,则所述待选节点执行在下一时刻重新获取所述当前阈值的步骤,以此实现对所述当前待选节点进行所述条件广播信息的验证,以避免恶意广播造成的数据分叉。

在另一个实施例中,如图7所示,所述根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者的一种可能的实现方式包括:

s710、若所述竞争判断结果为所述当前待选节点没有收到所述其他待选节点发送的所述其他竞价值和所述其他阈值,则将所述当前待选节点作为所述当前区块生产者。

其中,所述其他竞价为所述其他待选节点根据已存储在所述区块链平台内的最新区块以及所述其他待选节点的节点信息获取所述其他待选节点的所述其他竞价值,所述其他阈值为根据所述其他待选节点的节点特性得到。

具体地,计算机设备检测到所述当前待选节点没有收到所述其他待选节点发送的所述其他竞价值和所述其他阈值时,表明对所述当前区块而言,不存在与所述当前待选节点竞争成为所述当前区块生产者的所述其他待选节点即不存在竞争者,则直接将所述当前待选节点作为所述当前区块生产者。

s720、若所述竞争判断结果为所述当前待选节点收到所述其他待选节点发送的所述其他竞价值和所述其他阈值,则根据所述当前竞价值和所述当前阈值以及所述其他竞价值和所述其他阈值确定所述当前区块生产者。

具体地,所述当前待选节点检测到收到所述其他待选节点发送的所述其他竞价值和所述其他阈值时,表明对所述当前区块而言,存在与所述当前待选节点竞争成为所述当前区块生产者的所述其他待选节点即存在竞争者,则进一步比较所述当前待选节点对应的所述当前竞价值与所述当前阈值之差与所述其他待选节点对应的所述其他竞价值与所述其他阈值之差的大小,以确定所述当前区块生产者。

本实施例中,所述当前待选节点以所述当前待选节点是否收到所述其他待选节点广播发送的所述其他竞价值和所述其他阈值,作为所述其他待选节点中是否存在成为所述当前区块生产者,与所述当前待选节点竞争的竞争者的判断依据,根据是否存在竞争者的结果,以确定所述当前区块生产者。若不存在竞争者,则直接以所述当前待选节点作为所述当前区块生产者;若存在竞争者,则进一步比较所述当前竞价值和所述当前阈值之差与所述其他竞价值和所述其他阈值之差的大小,以确定所述当前区块生产者。通过上述方式,进一步确定所述待选节点中的所述当前区块生产者,考虑竞争者的存在,避免后续传播中作为竞争者的所述待选节点突然加入出块,发生传播波动造成的传播误差。

在另一个实施例中,如图8所示,所述根据所述当前竞价值和所述当前阈值以及所述其他竞价值和所述其他阈值确定所述当前区块生产者的一种可能的实现方式包括:

s810、若所述当前竞价值和所述当前阈值之差,小于所述其他竞价值和所述其他阈值之差,则所述当前待选节点作为所述当前区块生产者。

s820、若所述当前竞价值和所述当前阈值之差,大于所述其他竞价值和所述其他阈值之差,则将对比待选节点作为所述当前区块生产者。

其中,所述对比待选节点为对应所述其他竞价值和所述其他阈值之差最小的所述待选节点。

s830、若所述当前竞价值和所述当前阈值之差,等于所述其他竞价值和所述其他阈值之差,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤。

在另一个实施例中,如图9所示,所述s240、根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中的一种可能的实现方式包括:

s910、将所述节点信息、生成奖励以及签名加入所述当前区块,得到所述下一区块并向所述其他待选节点发送出块广播信息。

其中,所述节点信息包括成为所述当前区块生产者的所述待选节点的信息,所述出块广播信息包括所述下一区块中的信息以及申请所述下一区块加入所述区块链平台的请求。

进一步地,所述生成奖励为对成为所述当前区块生产者的所述待选节点的奖励。

具体地,所述当前待选节点在确定所述当前区块生产者后,将成为所述当前区块生产者的所述待选节点的信息、对成为所述当前区块生产者的所述待选节点进行的奖励、以及对成为所述当前区块生产者的所述待选节点进行的签名的数据信息打包加入至所述当前区块,形成一新的区块,作为所述下一区块。将所述下一区块中的上述信息作为所述出块广播信息,并将所述出块广播信息广播发送至每一所述其他待选节点,以使所述其他待选节点明确成为所述当前区块生产者的所述待选节点。

s920、对所述下一区块进行出块正确性验证,到的出块正确性验证结果。

其中,所述出块正确性验证结果用于表征所述下一区块中的所述当前区块生产者与所述出块广播信息中的所述当前区块生产者是否一致。

s930、根据所述出块正确性验证结果,确定是否将所述下一区块加入所述区块链平台中。

其中,若所述出块正确性验证结果为一致,则将所述下一区块加入所述区块链平台中。若所述出块正确性验证结果为不一致,则将执行所述s230、根据所述当前竞价值和所述当前阈值尝试出块,在所述待选节点中确定所述当前区块的生产者,作为当前区块生产者的步骤。

本实施例中,成为所述当前区块生产者的所述待选节点将所述节点信息、生成奖励以及签名加入所述当前区块,得到所述下一区块并向所述其他待选节点发送出块广播信息,以实现所有所述待选节点中的数据一致,进一步对所述出块广播信息进行出块正确性验证,通过判断所述下一区块中的所述当前区块生产者与所述出块广播信息中的所述当前区块生产者是否一致,以确定所述当前区块生产者的身份正确性。若所述出块正确性验证结果为一致,则所述当前区块生产者的身份正确,则同意将所述下一区块存储至所述区块链平台;若所述出块正确性验证结果为不一致,则所述当前区块生产者的身份错误,则拒绝将所述下一区块存储至所述区块链平台,并重新进行竞争出块,执行所述s230的步骤。以此进一步确保所述当前区块生产者的正确性,避免所述当前区块生产者选定错误造成的数据分叉。

应该理解的是,虽然图2-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图10所示,提供了一种数据处理装置,包括:竞价值获取模块101、阈值获取模块102和出块模块103以及数据一致模块104,其中:

所述竞价值获取模块101用于根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值;其中,所述当前区块包括区块链平台中各待选节点之间的交易信息;

所述阈值获取模块102用于根据所述当前区块,得到所述当前待选节点的当前阈值;

所述出块模块103用于根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者;

所述数据一致模块104用于根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

关于数据处理装置的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储地图数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。

本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,基于区块链技术,该处理器执行计算机程序时实现以下步骤:

根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值;其中,所述当前区块包括区块链平台中各待选节点之间的交易信息;根据所述当前区块,得到所述当前待选节点的当前阈值;根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者;根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对所述当前区块进行区块正确性验证,得到区块正确性验证结果;其中,所述区块正确性验证结果用于表征所述交易信息是否合法;若所述区块正确性验证结果为合法,则根据所述当前区块的哈希值、区块随机性幸运数字以及竞价范围获取所述当前竞价值;若所述区块正确性验证结果为不合法,则确定所述当前待选节点退出出块。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果之前,包括:获取所述当前区块所需的预估算力和预估存储空间,以及所述当前待选节点的当前富余算力和当前存储空间;将所述预估算力和所述预估存储空间分别与所述当前富余算力和所述当前存储空间进行比较,得到比较结果;其中,所述比较结果用于表征所述当前待选节点对所述待选区块是否具有进行所述正确性验证的能力;根据所述比较结果,执行所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果的步骤,或者执行所述确定所述当前待选节点退出出块的步骤;其中,若所述比较结果为是,则执行所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果的步骤;若所述比较结果为否,则执行所述确定所述当前待选节点退出出块的步骤。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取所述当前待选节点的资产、代币数量、本地存储剩余能力、边缘计算节点的存储卸载能力、云计算中心节点的存储卸载能力、所述当前待选节点的稳定在线时长、所述当前区块的上一区块产生的时间以及竞争调节因子,作为准备数据;对所述准备数据进行融合计算,得到所述当前阈值。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据所述当前竞价值与所述当前阈值的关系,得到所述当前待选节点的出块结果;其中,所述出块结果用于表征所述当前待选节点是否满足出块条件;根据所述出块结果确定所述当前区块生产者;若所述出块结果为所述当前待选节点不满足所述出块条件,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤;若所述出块结果为所述当前待选节点满足所述出块条件,则判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

若所述当前竞价值小于所述当前阈值,则所述出块结果为所述当前待选节点满足所述出块条件;若所述当前竞价值大于等于所述当前阈值,则所述出块结果为所述当前待选节点不满足所述出块条件。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者之前,还包括:向所述其他待选节点发送条件广播信息;其中,所述条件广播信息包括所述当前竞价值与所述当前阈值;获取所述其他待选节点得到的所述当前待选节点的验证竞价值与验证阈值;根据所述验证竞价值与所述验证阈值分别对所述条件广播信息中的所述当前竞价值与所述当前阈值进行验证,得到广播验证结果;其中,所述广播验证结果用于表中所述当前竞价值与所述当前阈值是否正确;根据所述广播验证结果执行所述判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者的步骤,或者在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤;其中,若所述广播验证结果为正确,则执行判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者的步骤;若所述广播验证结果为不正确,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

若所述竞争判断结果为所述当前待选节点没有收到所述其他待选节点发送的所述其他竞价值和所述其他阈值,则将所述当前待选节点作为所述当前区块生产者;若所述竞争判断结果为所述当前待选节点收到所述其他待选节点发送的所述其他竞价值和所述其他阈值,则根据所述当前竞价值和所述当前阈值以及所述其他竞价值和所述其他阈值确定所述当前区块生产者。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

若所述当前竞价值和所述当前阈值之差,小于所述其他竞价值和所述其他阈值之差,则所述当前待选节点作为所述当前区块生产者;若所述当前竞价值和所述当前阈值之差,大于所述其他竞价值和所述其他阈值之差,则将对比待选节点作为所述当前区块生产者;其中,所述对比待选节点为对应所述其他竞价值和所述其他阈值之差最小的所述待选节点;若所述当前竞价值和所述当前阈值之差,等于所述其他竞价值和所述其他阈值之差,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将所述节点信息、生成奖励以及签名加入所述当前区块,得到所述下一区块并向所述其他待选节点发送出块广播信息;其中,所述节点信息包括成为所述当前区块生产者的所述待选节点的信息,所述出块广播信息包括所述下一区块中的信息以及申请所述下一区块加入所述区块链平台的请求;对所述下一区块进行出块正确性验证,到的出块正确性验证结果;其中,所述出块正确性验证结果用于表征所述下一区块中的所述当前区块生产者与所述出块广播信息中的所述当前区块生产者是否一致;根据所述出块正确性验证结果,确定是否将所述下一区块加入所述区块链平台中;其中,若所述出块正确性验证结果为一致,则将所述下一区块加入所述区块链平台中;若所述出块正确性验证结果为不一致,则将执行所述根据所述当前竞价值和所述当前阈值尝试出块,在所述待选节点中确定所述当前区块的生产者,作为当前区块生产者的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值;其中,所述当前区块包括区块链平台中各待选节点之间的交易信息;根据所述当前区块,得到所述当前待选节点的当前阈值;根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者;根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对所述当前区块进行区块正确性验证,得到区块正确性验证结果;其中,所述区块正确性验证结果用于表征所述交易信息是否合法;若所述区块正确性验证结果为合法,则根据所述当前区块的哈希值、区块随机性幸运数字以及竞价范围获取所述当前竞价值;若所述区块正确性验证结果为不合法,则确定所述当前待选节点退出出块。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果之前,包括:获取所述当前区块所需的预估算力和预估存储空间,以及所述当前待选节点的当前富余算力和当前存储空间;将所述预估算力和所述预估存储空间分别与所述当前富余算力和所述当前存储空间进行比较,得到比较结果;其中,所述比较结果用于表征所述当前待选节点对所述待选区块是否具有进行所述正确性验证的能力;根据所述比较结果,执行所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果的步骤,或者执行所述确定所述当前待选节点退出出块的步骤;其中,若所述比较结果为是,则执行所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果的步骤;若所述比较结果为否,则执行所述确定所述当前待选节点退出出块的步骤。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取所述当前待选节点的资产、代币数量、本地存储剩余能力、边缘计算节点的存储卸载能力、云计算中心节点的存储卸载能力、所述当前待选节点的稳定在线时长、所述当前区块的上一区块产生的时间以及竞争调节因子,作为准备数据;对所述准备数据进行融合计算,得到所述当前阈值。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据所述当前竞价值与所述当前阈值的关系,得到所述当前待选节点的出块结果;其中,所述出块结果用于表征所述当前待选节点是否满足出块条件;根据所述出块结果确定所述当前区块生产者;若所述出块结果为所述当前待选节点不满足所述出块条件,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤;若所述出块结果为所述当前待选节点满足所述出块条件,则判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

若所述当前竞价值小于所述当前阈值,则所述出块结果为所述当前待选节点满足所述出块条件;若所述当前竞价值大于等于所述当前阈值,则所述出块结果为所述当前待选节点不满足所述出块条件。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者之前,还包括:向所述其他待选节点发送条件广播信息;其中,所述条件广播信息包括所述当前竞价值与所述当前阈值;获取所述其他待选节点得到的所述当前待选节点的验证竞价值与验证阈值;根据所述验证竞价值与所述验证阈值分别对所述条件广播信息中的所述当前竞价值与所述当前阈值进行验证,得到广播验证结果;其中,所述广播验证结果用于表中所述当前竞价值与所述当前阈值是否正确;根据所述广播验证结果执行所述判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者的步骤,或者在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤;其中,若所述广播验证结果为正确,则执行判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者的步骤;若所述广播验证结果为不正确,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

若所述竞争判断结果为所述当前待选节点没有收到所述其他待选节点发送的所述其他竞价值和所述其他阈值,则将所述当前待选节点作为所述当前区块生产者;若所述竞争判断结果为所述当前待选节点收到所述其他待选节点发送的所述其他竞价值和所述其他阈值,则根据所述当前竞价值和所述当前阈值以及所述其他竞价值和所述其他阈值确定所述当前区块生产者。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

若所述当前竞价值和所述当前阈值之差,小于所述其他竞价值和所述其他阈值之差,则所述当前待选节点作为所述当前区块生产者;若所述当前竞价值和所述当前阈值之差,大于所述其他竞价值和所述其他阈值之差,则将对比待选节点作为所述当前区块生产者;其中,所述对比待选节点为对应所述其他竞价值和所述其他阈值之差最小的所述待选节点;若所述当前竞价值和所述当前阈值之差,等于所述其他竞价值和所述其他阈值之差,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将所述节点信息、生成奖励以及签名加入所述当前区块,得到所述下一区块并向所述其他待选节点发送出块广播信息;其中,所述节点信息包括成为所述当前区块生产者的所述待选节点的信息,所述出块广播信息包括所述下一区块中的信息以及申请所述下一区块加入所述区块链平台的请求;对所述下一区块进行出块正确性验证,到的出块正确性验证结果;其中,所述出块正确性验证结果用于表征所述下一区块中的所述当前区块生产者与所述出块广播信息中的所述当前区块生产者是否一致;根据所述出块正确性验证结果,确定是否将所述下一区块加入所述区块链平台中;其中,若所述出块正确性验证结果为一致,则将所述下一区块加入所述区块链平台中;若所述出块正确性验证结果为不一致,则将执行所述根据所述当前竞价值和所述当前阈值尝试出块,在所述待选节点中确定所述当前区块的生产者,作为当前区块生产者的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。


技术特征:

1.一种数据处理方法,其特征在于,基于区块链技术实现,所述方法包括:

根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值;其中,所述当前区块包括区块链平台中各待选节点之间的交易信息;

根据所述当前区块,得到所述当前待选节点的当前阈值;

根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者;

根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

2.根据权利要求1所述的方法,其特征在于,所述根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值,包括:

对所述当前区块进行区块正确性验证,得到区块正确性验证结果;其中,所述区块正确性验证结果用于表征所述交易信息是否合法;

若所述区块正确性验证结果为合法,则根据所述当前区块的哈希值、区块随机性幸运数字以及竞价范围获取所述当前竞价值;

若所述区块正确性验证结果为不合法,则确定所述当前待选节点退出出块。

3.根据权利要求2所述的方法,其特征在于,所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果之前,包括:

获取所述当前区块所需的预估算力和预估存储空间,以及所述当前待选节点的当前富余算力和当前存储空间;

将所述预估算力和所述预估存储空间分别与所述当前富余算力和所述当前存储空间进行比较,得到比较结果;其中,所述比较结果用于表征所述当前待选节点对所述待选区块是否具有进行所述正确性验证的能力;

根据所述比较结果,执行所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果的步骤,或者执行所述确定所述当前待选节点退出出块的步骤;

其中,若所述比较结果为是,则执行所述对所述当前区块进行区块正确性验证,得到区块正确性验证结果的步骤;

若所述比较结果为否,则执行所述确定所述当前待选节点退出出块的步骤。

4.根据权利要求1所述的方法,其特征在于,所述根据所述当前区块,得到所述当前待选节点的当前阈值,包括:

获取所述当前待选节点的资产、代币数量、本地存储剩余能力、边缘计算节点的存储卸载能力、云计算中心节点的存储卸载能力、所述当前待选节点的稳定在线时长、所述当前区块的上一区块产生的时间以及竞争调节因子,作为准备数据;

对所述准备数据进行融合计算,得到所述当前阈值。

5.根据权利要求1所述的方法,其特征在于,所述根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的生产者,作为当前区块生产者,包括:

根据所述当前竞价值与所述当前阈值的关系,得到所述当前待选节点的出块结果;其中,所述出块结果用于表征所述当前待选节点是否满足出块条件;

根据所述出块结果确定所述当前区块生产者;

若所述出块结果为所述当前待选节点不满足所述出块条件,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤;

若所述出块结果为所述当前待选节点满足所述出块条件,则

判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者。

6.根据权利要求5所述的方法,其特征在于,所述根据所述当前竞价值与所述当前阈值的关系,得到所述当前待选节点的出块结果,包括:

若所述当前竞价值小于所述当前阈值,则所述出块结果为所述当前待选节点满足所述出块条件;

若所述当前竞价值大于等于所述当前阈值,则所述出块结果为所述当前待选节点不满足所述出块条件。

7.根据权利要求5所述的方法,其特征在于,所述判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者之前,还包括:

向所述其他待选节点发送条件广播信息;其中,所述条件广播信息包括所述当前竞价值与所述当前阈值;

获取所述其他待选节点得到的所述当前待选节点的验证竞价值与验证阈值;

根据所述验证竞价值与所述验证阈值分别对所述条件广播信息中的所述当前竞价值与所述当前阈值进行验证,得到广播验证结果;其中,所述广播验证结果用于表中所述当前竞价值与所述当前阈值是否正确;

根据所述广播验证结果执行所述判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者的步骤,或者在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤;

其中,若所述广播验证结果为正确,则执行判断所述当前待选节点是否收到其他待选节点发送的其他竞价值和其他阈值,得到竞争判断结果,根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者的步骤;

若所述广播验证结果为不正确,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤。

8.根据权利要求5所述的方法,其特征在于,所述根据所述竞争判断结果在所述待选节点中确定所述当前区块生产者,包括:

若所述竞争判断结果为所述当前待选节点没有收到所述其他待选节点发送的所述其他竞价值和所述其他阈值,则将所述当前待选节点作为所述当前区块生产者;

若所述竞争判断结果为所述当前待选节点收到所述其他待选节点发送的所述其他竞价值和所述其他阈值,则根据所述当前竞价值和所述当前阈值以及所述其他竞价值和所述其他阈值确定所述当前区块生产者。

9.根据权利要求8所述的方法,其特征在于,所述根据所述当前竞价值和所述当前阈值以及所述其他竞价值和所述其他阈值确定所述当前区块生产者,包括:

若所述当前竞价值和所述当前阈值之差,小于所述其他竞价值和所述其他阈值之差,则所述当前待选节点作为所述当前区块生产者;

若所述当前竞价值和所述当前阈值之差,大于所述其他竞价值和所述其他阈值之差,则将对比待选节点作为所述当前区块生产者;其中,所述对比待选节点为对应所述其他竞价值和所述其他阈值之差最小的所述待选节点;

若所述当前竞价值和所述当前阈值之差,等于所述其他竞价值和所述其他阈值之差,则在下一时刻执行所述根据所述当前区块,得到当前阈值的步骤。

10.根据权利要求1所述的方法,其特征在于,所述根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中,包括:

将所述节点信息、生成奖励以及签名加入所述当前区块,得到所述下一区块并向所述其他待选节点发送出块广播信息;其中,所述节点信息包括成为所述当前区块生产者的所述待选节点的信息,所述出块广播信息包括所述下一区块中的信息以及申请所述下一区块加入所述区块链平台的请求;

对所述下一区块进行出块正确性验证,到的出块正确性验证结果;其中,所述出块正确性验证结果用于表征所述下一区块中的所述当前区块生产者与所述出块广播信息中的所述当前区块生产者是否一致;

根据所述出块正确性验证结果,确定是否将所述下一区块加入所述区块链平台中;

其中,若所述出块正确性验证结果为一致,则将所述下一区块加入所述区块链平台中;

若所述出块正确性验证结果为不一致,则将执行所述根据所述当前竞价值和所述当前阈值尝试出块,在所述待选节点中确定所述当前区块的生产者,作为当前区块生产者的步骤。

11.一种数据处理装置,其特征在于,基于区块链技术实现,所述装置包括:

竞价值获取模块,用于根据当前待选节点接收到的当前区块,得到所述当前待选节点的当前竞价值;其中,所述当前区块包括区块链平台中各待选节点之间的交易信息;

阈值获取模块,用于根据所述当前区块,得到所述当前待选节点的当前阈值;

出块模块,用于根据所述当前竞价值和所述当前阈值尝试出块,在多个所述待选节点中确定所述当前区块的区块生产者,作为当前区块生产者;

数据一致模块,用于根据所述当前区块和所述当前区块生产者的节点信息生成下一区块,以将所述下一区块加入所述区块链平台中。

12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。

13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。

技术总结
本申请涉及一种数据处理方法、装置、计算机设备和存储介质。所述方法包括:根据当前待选节点接收到的当前区块,得到当前待选节点的当前竞价值;当前区块包括区块链平台中各待选节点之间的交易信息;根据当前区块,得到当前待选节点的当前阈值;根据当前竞价值和当前阈值尝试出块,在多个待选节点中确定当前区块的区块生产者,作为当前区块生产者;根据当前区块和当前区块生产者的节点信息生成下一区块,以将下一区块加入区块链平台中。采用本方法能够避免数据传播过程中出现待选节点因不满足传播条件导致的突然退出出块,或因为满足传播条件又突然加入出块,从而避免地图数据的分享或个人支付交易出现误差或失败,提高数据传输的准确性和成功率。

技术研发人员:蒋海;翟海滨;王璟;曲正云
受保护的技术使用者:布比(北京)网络技术有限公司
技术研发日:2019.12.31
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-50058.html

最新回复(0)