区块链数据处理方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:22388315 阅读:15 留言:0更新日期:2019-10-29 06:48
本申请涉及一种区块链数据处理方法、装置、计算机设备和存储介质,包括:获取区块链的当前链高度和历史确认链高度;当当前链高度大于所述历史确认链高度时,根据区块链中各个节点的区块信息得到当前链高度的有效性验证结果;当有效性验证结果为当前链高度无效时,减小当前链高度得到更新后的当前链高度作为当前链高度,当当前链高度大于历史确认链高度时,返回根据区块链中各个节点的区块信息得到当前链高度的有效性验证结果的步骤;当当前链高度等于历史确认链高度时,根据区块链的初始链高度和历史确认链高度得到链高度差异信息;根据链高度差异信息与预设的链高度差异范围确定区块链的工作状态,提高了区块链的工作状态的判断准确度。

Blockchain data processing methods, devices, computer equipment and storage media

【技术实现步骤摘要】
区块链数据处理方法、装置、计算机设备和存储介质本申请是于2018年05月21日提交中国专利局,申请号为201810487046.9,专利技术名称为“区块链数据处理方法、装置、计算机设备和存储介质”的分案申请,其全部内容通过引用结合在本申请中。
本申请涉及计算机
,特别是涉及一种区块链数据处理方法、装置、计算机设备和存储介质。
技术介绍
随着计算机技术的发展,区块链数据处理技术不断发展。区块链技术(Blockchaintechnology,BT),也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。区块链目前主要包括公有链(PublicBlockchain)、私有链(PrivateBlockchain)、联盟链(ConsortiumBlockchain)、许可链(PermissionedBlockchain)、混合链(HybridBlockchain)。传统的区块链工作状态判断方法主要是以区块链的节点为单元确定整个区块链的工作状态,区块链的工作状态的判断准确度较低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种通过获取区块链中各个节点的区块信息对当前链高度进行验证,根据验证结果更新当前链高度,根据更新后的当前链高度、历史已确认链高度和初始链高度确定整个区块链的工作状态,提高了区块链的工作状态的判断准确度的区块链数据处理方法、装置、计算机设备和存储介质。一种区块链数据处理方法,包括:获取区块链的当前链高度;获取所述区块链的历史确认链高度;当所述当前链高度大于所述历史确认链高度时,根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果;当所述有效性验证结果为所述当前链高度无效时,减小所述当前链高度得到更新后的当前链高度;将更新后的当前链高度作为当前链高度,当所述当前链高度大于所述历史确认链高度时,返回所述根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果的步骤;当所述当前链高度等于所述历史确认链高度时,根据所述区块链的初始链高度和所述历史确认链高度得到链高度差异信息;根据所述链高度差异信息与预设的链高度差异范围确定所述区块链的工作状态。一种区块链数据处理装置,包括:链高度确定模块,用于获取区块链的当前链高度;历史链高度获取模块,用于获取所述区块链的历史确认链高度;链高度验证模块,用于当所述当前链高度大于所述历史确认链高度时,根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果;链工作状态确定模块,用于当所述有效性验证结果为所述当前链高度无效时,减小所述当前链高度得到更新后的当前链高度,将更新后的当前链高度作为当前链高度,当所述当前链高度大于所述历史确认链高度时,返回所述链高度验证模块;当所述当前链高度等于所述历史确认链高度时,根据所述区块链的初始链高度和所述历史确认链高度得到链高度差异信息,根据所述链高度差异信息与预设的链高度差异范围确定所述区块链的工作状态。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取区块链的当前链高度;获取所述区块链的历史确认链高度;当所述当前链高度大于所述历史确认链高度时,根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果;当所述有效性验证结果为所述当前链高度无效时,减小所述当前链高度得到更新后的当前链高度;将更新后的当前链高度作为当前链高度,当所述当前链高度大于所述历史确认链高度时,返回所述根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果的步骤;当所述当前链高度等于所述历史确认链高度时,根据所述区块链的初始链高度和所述历史确认链高度得到链高度差异信息;根据所述链高度差异信息与预设的链高度差异范围确定所述区块链的工作状态。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取区块链的当前链高度;获取所述区块链的历史确认链高度;当所述当前链高度大于所述历史确认链高度时,根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果;当所述有效性验证结果为所述当前链高度无效时,减小所述当前链高度得到更新后的当前链高度;将更新后的当前链高度作为当前链高度,当所述当前链高度大于所述历史确认链高度时,返回所述根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果的步骤;当所述当前链高度等于所述历史确认链高度时,根据所述区块链的初始链高度和所述历史确认链高度得到链高度差异信息;根据所述链高度差异信息与预设的链高度差异范围确定所述区块链的工作状态。上述区块链数据处理方法、装置、计算机设备和存储介质,获取区块链当前链高度和历史确认链高度,当当前链高度大于历史确认链高度时,根据区块链中各个节点的区块信息得到当前链高度的有效性验证结果,当有效性验证结果为当前链高度无效时,减小当前链高度得到更新后的当前链高度,根据更新后的当前链高度、历史确认链高度、初始链高度确定链高度差异信息,根据链高度差异信息确定区块链的工作状态。通过获取区块链中各个节点的区块信息对当前链高度进行验证,根据验证结果更新当前链高度,根据更新后的当前链高度、历史已确认链高度和初始链高度确定链高度差异信息,根据链高度差异信息确定整个区块链的工作状态,提高了区块链的工作状态的判断准确度。附图说明图1为一个实施例中区块链数据处理方法的应用环境图;图2为一个实施例中区块链数据处理方法的流程示意图;图3为一个实施例中展示区块信息的示意图;图4为一个实施例中当前链高度验证步骤的流程示意图;图5为一个实施例中确定区块链工作状态步骤的流程示意图;图6为一个实施例中节点不可逆块确定步骤的流程示意图;图7为一个实施例中当前链高度区块哈希值验证步骤的流程示意图;图8为一个实施例中区块信息查询的流程示意图;图9为一个具体实施例中区块链数据处理方法的流程示意图;图10为一个实施例中区块链数据处理装置的结构框图;图11为一个实施例中节点不可逆获取模块的结构框图;图12为一个实施例中链高度验证模块的结构框图;图13为另一个实施例中区块链数据处理装置的结构框图;图14为一个实施例中计算机设备的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图1为一个实施例中区块链数据处理方法的应用环境图。参照图1,该区块链数据处理方法应用于区块链数据处理系统。该区块链数据处理系统包括区块链内部的终端110、服务器120、终端130、服务器140和区块链外部的终端150或服务器160中的至少一种。终端110、服务器120、终端130、服务器140、终端150和服务器160通过网络链接。获取区块链中各个节点的节点信息可以是区块链内部的终端110、服务器120、终端130、服务器140,也可以是区块链外部的终端150或服务器160。为了方便说明以服务器120为例,服务器120获取区块链中各个节点的节点信息,节点信息包括区块信息,根据各个节点的区块信息确本文档来自技高网...

【技术保护点】
1.一种区块链数据处理方法,包括:获取区块链的当前链高度;获取所述区块链的历史确认链高度;当所述当前链高度大于所述历史确认链高度时,根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果;当所述有效性验证结果为所述当前链高度无效时,减小所述当前链高度得到更新后的当前链高度;将更新后的当前链高度作为当前链高度,当所述当前链高度大于所述历史确认链高度时,返回所述根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果的步骤;当所述当前链高度等于所述历史确认链高度时,根据所述区块链的初始链高度和所述历史确认链高度得到链高度差异信息;根据所述链高度差异信息与预设的链高度差异范围确定所述区块链的工作状态。

【技术特征摘要】
1.一种区块链数据处理方法,包括:获取区块链的当前链高度;获取所述区块链的历史确认链高度;当所述当前链高度大于所述历史确认链高度时,根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果;当所述有效性验证结果为所述当前链高度无效时,减小所述当前链高度得到更新后的当前链高度;将更新后的当前链高度作为当前链高度,当所述当前链高度大于所述历史确认链高度时,返回所述根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果的步骤;当所述当前链高度等于所述历史确认链高度时,根据所述区块链的初始链高度和所述历史确认链高度得到链高度差异信息;根据所述链高度差异信息与预设的链高度差异范围确定所述区块链的工作状态。2.根据权利要求1所述的方法,其特征在于,所述获取区块链的当前链高度包括:获取所述区块链中各个节点的节点信息,所述节点信息包括区块信息;根据各个所述节点的区块信息确定对应的节点不可逆块;根据各个所述节点对应的节点不可逆块确定所述区块链对应的初始链高度,将所述初始链高度作为所述当前链高度。3.根据权利要求1所述的方法,其特征在于,所述根据各个所述节点的区块信息得到所述当前链高度的有效性验证结果之后,还包括:当所述有效性验证结果为所述当前链高度有效时,将所述当前链高度作为当前确认链高度,所述区块链的工作状态为正常状态。4.根据权利要求2所述的方法,其特征在于,所述根据各个所述节点的区块信息确定对应的节点不可逆块,包括:根据各个所述节点的区块信息确定各个所述节点对应的最新已确认区块,得到各个所述节点对应的节点不可逆块;或根据各个所述节点的区块信息确定各个所述节点对应的高度最高已确认区块,根据所述高度最高已确认区块得到各个所述节点对应的节点不可逆块;或根据各个所述节点的区块信息确定当前周期对应的出块节点数目;根据所述出块节点数目计算对应的出块节点比例,当所述出块节点比例满足预设条件时,将所述当前周期之前的周期对应的区块作为所述节点对应的节点不可逆块。5.根据权利要求1所述的方法,其特征在于,所述根据所述区块链中各个节点的区块信息得到所述当前链高度的有效性验证结果,包括:根据各个所述节点的区块信息得到与所述当前链高度的高度相同的目标区块;当所述目标区块中具有相同区块哈希值的区块占所述目标区块的比例大于预设比例时,所述当前链高度有效,否则所述当前链高度无效。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取查询区块信息,所述查询区块信息包括查询哈希值或查询区块高度;从所述区块链各个节点对应的区块中获取与所述查询区块信息匹配的区块组成候选区块;获取链不可逆块,根据所述链不可逆块确定所述候选区块的区块确认状态。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:当查询区块信息包括查询哈希值时,从所述区块链各个节点中的区块中获取与所述查询哈希值相同哈希值的区块,组成所述候选区块;根据所述候选区块的区块头部信...

【专利技术属性】
技术研发人员:郭锐李茂材王宗友屠海涛孔利周开班杨常青王楠丁勇时一防
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1