【技术实现步骤摘要】
一种区块高度确定方法、装置及电子设备
[0001]本专利技术涉及区块链
,具体涉及一种区块高度确定方法、装置及电子设备。
技术介绍
[0002]在对区块链数据进行处理分析时,经常需要获取指定时间对应的区块高度,而区块开放的RPC接口只能通过区块高度获取区块时间;而相关获取指定时间对应的区块高度的做法是将区块数据存储到一个数据库系统中,然后与时间字段建立索引,实现从时间到区块高度的查询。这种方案虽然简单易行,但需要耗费时间去提前采集区块数据,还需要占用存储空间把采集到的数据存储到数据库系统中。
技术实现思路
[0003]因此,本专利技术要解决的技术问题在于克服现有实现从时间到区块高度的查询的方式便利性差且浪费存储空间的缺陷,从而提供一种区块高度确定方法、装置及电子设备。
[0004]根据第一方面,本专利技术实施例公开了一种区块高度确定方法,包括:当获取到目标时间对应的区块高度的查询请求,获取区块链创世区块对应的第一区块时间、当前区块最大高度以及最大高度区块对应的第二区块时间;根据当前区块最大高度以 ...
【技术保护点】
【技术特征摘要】
1.一种区块高度确定方法,其特征在于,包括:当获取到目标时间对应的区块高度的查询请求,获取区块链创世区块对应的第一区块时间、当前区块最大高度以及最大高度区块对应的第二区块时间;根据当前区块最大高度以及第一区块时间与第二区块时间的差值,确定当前区块链的平均出块时间;根据目标时间与第一区块时间的差值以及所述平均出块时间,确定所述目标时间对应的区块高度。2.根据权利要求1所述的方法,其特征在于,所述根据目标时间与第一区块时间的差值以及所述平均出块时间,确定所述目标时间对应的区块高度之后,所述方法还包括:以所述目标时间对应的区块高度为区块高度中心,按照预设大小的高度值窗口构建区块高度区间;从区块链上获取所述区块高度区间的左边界对应的第一边界时间以及所述区块高度区间的右边界对应的第二边界时间;确定所述目标时间是否在由所述第一边界时间和所述第二边界时间构成的时间范围内;如果所述目标时间在由所述第一边界时间和所述第二边界时间构成的时间范围内,则从区块链中提取所述区块高度区间内每一个区块的区块高度以及对应的区块时间;将所述目标时间与提取的每一个区块的区块时间进行匹配,并根据匹配结果确定所述目标时间对应的区块高度。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:如果所述目标时间不在由所述第一边界时间和所述第二边界时间构成的时间范围内,确定所述目标时间与所述第一边界时间以及所述第二边界时间的大小关系以及在所述高度值窗口内的移动平均出块时间;当所述目标时间小于所述第一边界时间,则根据所述目标时间与所述第一边界时间的差值以及所述移动平均出块时间确定所述差值对应的出块变化量并基于所述区块高度区间的左边界对应的区块高度值以及所述出块变化量确定新的区块高度中心并重新构建区块高度区间;当所述目标时间大于所述第二边界时间,则根据所述目标时间与所述第二边界时间的差值以及所述移动平均出块时间确定所述差值对应的出块变化量并基于所述区块高度区间的右边界对应的区块高度值以及所述出块变化量确定新的区块高度中心并重新构建区块高度区间;基于新构建的区块高度区间,重新确定时间范围;当所述目标时间处于新确定的时间范围内,从区块链中提取新构建的区块高度区间内每一个区块的区块高度以及对应的区块时间并将所述目标时间与提取的每一个区块的区块时间进行匹配,并根据匹配结果确定所述目标时间对应的区块高度;当所述目标时间仍不处于新确定的时间范围内,重复如果所述目标时间不在由所述第一边界时间和所述第二边界时间构成的时间范围内,确定所述目标时间与所述第一边界时间以及所述第二边界时间的大小关系以及在所述高度值窗口内的移动平均出块时间的步骤到所述基于新构建的区块高度区间,重新确定时间范围的步骤。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:当所述目标时间在由所述第一边界时间和所述第二边界时间构成的时间范围内但未匹配到相同的区块时间,则将与所述目标时间间隔最短的区块时间对应的区块高度作为所述目标时间对应的区块高度。5.根据权利要求3所述方法,其特征在于,确定在所述高度值窗口内的移动平均出块时间,包括:确定所述高度值窗口内每个区块的出块时间;根据所有区块的出块时间的总和以及所述高度值窗口内的区块数量,确定所述移动平均出块时间。6.一种区块高度确...
【专利技术属性】
技术研发人员:郭巍,叶茂,刘赛赛,
申请(专利权)人:北京知帆科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。