数据更新方法技术

技术编号:39786075 阅读:7 留言:0更新日期:2023-12-22 02:26
本申请关于一种数据更新方法

【技术实现步骤摘要】
数据更新方法、装置、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种数据更新方法

装置

设备及存储介质


技术介绍

[0002]对于金融领域和寄递领域等领域中部署的区块链系统而言,通常需要支持对区块链上数据的链下查询服务,以满足业务需求

链下查询服务在要求数据具备一致性的同时,要求较高实时性

[0003]目前,一般是采用
T+1
的方式将区块链上的数据同步至数据库中,再基于数据库支持链下查询

这种方式虽然可以实现数据的一致性,但同步数据的延迟较高,难以支持对于数据的实时查询


技术实现思路

[0004]本申请提供一种数据更新方法

装置

设备及存储介质,以至少用于提高数据的一致性并提升数据的实时性,从而支持对于区块链上全量数据的实时查询

本申请的技术方案如下:
[0005]根据本申请实施例的第一方面,提供一种数据更新方法,包括:获取当前周期对应的区块链数据;区块链数据包括区块链中处于当前区块范围内的各个区块的数据;当前区块范围用于表征目标高度至区块链在当前周期的当前高度的区块范围;目标高度和当前高度之间的差值大于或等于预设数值;预设数值用于表征区块链中区块被确认生效时所对应的后续区块的数量值;当前周期的长度小于区块链对应的出块时长;当确定预设缓存区内存储的区块链数据与当前周期对应的区块链数据存在不一致的数据时,将各个区块的数据更新在预设缓存区;当确定预设数据库内不存在与目标高度对应的区块的数据时,将目标高度对应的区块的数据更新在预设数据库

[0006]在一种可选的实现方式中,该数据更新方法,还包括:响应于请求节点发送的携带有待查询字段的数据查询请求,确定预设缓存区和预设数据库中是否存在与待查询字段对应的数据;当确定预设缓存区或预设数据库中存在与待查询字段对应的数据时,向请求节点发送与待查询字段对应的数据;当确定预设缓存区且预设数据库内不存在与待查询字段对应的数据时,向请求节点发送用于表示查询失败的提示信息

[0007]在一种可选的实现方式中,确定预设缓存区和预设数据库中是否存在与待查询字段对应的数据的方法,具体包括:在预设缓存区内匹配与待查询字段对应的数据,并当在预设缓存区内匹配成功时,确定预设缓存区中存在与待查询字段对应的数据;或者,当在预设缓存区内匹配失败时,在预设数据库内匹配与待查询字段对应的数据;当在预设数据库内匹配成功时,确定预设数据库中存在与待查询字段对应的数据;当在预设数据库内匹配失败时,确定预设缓存区且预设数据库内不存在与待查询字段对应的数据

[0008]在一种可选的实现方式中,区块的数据包括区块哈希值;确定预设缓存区内存储
的区块链数据与当前周期对应的区块链数据存在不一致的数据的方法,具体包括:确定预设缓存区内存储的区块链的高度与当前高度是否一致,并当区块链的高度与当前高度不一致时,确定预设缓存区内存储的区块链数据与当前周期对应的区块链数据存在不一致的数据;或者,当区块链的高度与当前高度一致时,确定预设缓存区内存储的各个区块的区块哈希值与当前周期对应的各个区块的区块哈希值是否一致,并当预设缓存区内存储的任意一个区块的区块哈希值与任意一个区块在当前周期的区块哈希值不一致时,确定预设缓存区内存储的区块链数据与当前周期对应的区块链数据存在不一致的数据

[0009]在一种可选的实现方式中,确定预设数据库内不存在与目标高度对应的区块的数据的方法,具体包括:当确定预设缓存区内与目标高度对应的区块的存储状态为未更新状态时,确定预设数据库内不存在与目标高度对应的区块的数据;或者,当确定预设数据库内不存在与目标高度对应的区块哈希值时,确定预设数据库内不存在与目标高度对应的区块的数据;或者,当确定预设数据库内存储的区块链的高度与目标高度不相同时,确定预设数据库内不存在与目标高度对应的区块的数据

[0010]在一种可选的实现方式中,获取当前周期对应的区块链数据之后,该数据更新方法,还包括:当预设缓存区内存储的区块链数据与当前周期对应的区块链数据存在一致性时,保持预设缓存区内存储的区块链数据,并等待下一个周期

[0011]在一种可选的实现方式中,区块的数据还包括区块头数据和交易数据;获取当前周期对应的区块链数据的方法,具体包括:调用当前区块哈希获取服务获取区块链中与当前高度对应的当前区块的哈希值;基于当前区块的哈希值调用区块获取服务获取当前区块的区块头数据;解析当前区块的区块头数据得到当前高度和当前区块对应的交易哈希值,并根据当前高度确定当前区块范围;基于当前区块范围调用区块哈希获取服务获取当前区块范围内其他区块的哈希值,并基于其他区块的哈希值调用区块获取服务获取其他区块的区块头数据;基于当前区块对应的交易哈希值和其他区块对应的交易哈希值,调用交易数据获取服务获取当前区块对应的交易数据和其他区块对应的交易数据

[0012]根据本申请实施例的第二方面,提供一种数据更新装置,包括:获取单元和更新单元;
[0013]获取单元,被配置为执行获取当前周期对应的区块链数据;区块链数据包括区块链中处于当前区块范围内的各个区块的数据;当前区块范围用于表征目标高度至区块链在当前周期的当前高度的区块范围;目标高度和当前高度之间的差值大于或等于预设数值;预设数值用于表征区块链中区块被确认生效时所对应的后续区块的数量值;当前周期的长度小于区块链对应的出块时长;
[0014]更新单元,被配置为执行当确定预设缓存区内存储的区块链数据与当前周期对应的区块链数据存在不一致的数据时,将各个区块的数据更新在预设缓存区;
[0015]更新单元,还被配置为执行当确定预设数据库内不存在与目标高度对应的区块的数据时,将目标高度对应的区块的数据更新在预设数据库

[0016]在一种可选的实现方式中,该数据更新装置,还包括:确定单元和发送单元;
[0017]确定单元,被配置为执行响应于请求节点发送的携带有待查询字段的数据查询请求,确定预设缓存区和预设数据库中是否存在与待查询字段对应的数据;
[0018]发送单元,被配置为执行当确定预设缓存区或预设数据库中存在与待查询字段对
应的数据时,向请求节点发送与待查询字段对应的数据;
[0019]发送单元,还被配置为执行当确定预设缓存区且预设数据库内不存在与待查询字段对应的数据时,向请求节点发送用于表示查询失败的提示信息

[0020]在一种可选的实现方式中,确定单元,具体被配置为执行:在预设缓存区内匹配与待查询字段对应的数据,并当在预设缓存区内匹配成功时,确定预设缓存区中存在与待查询字段对应的数据;或者,当在预设缓存区内匹配失败时,在预设数据库内匹配与待查询字段对应的数据;当在预设数据库内匹配本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据更新方法,其特征在于,包括:获取当前周期对应的区块链数据;所述区块链数据包括区块链中处于当前区块范围内的各个区块的数据;所述当前区块范围用于表征目标高度至所述区块链在所述当前周期的当前高度的区块范围;所述目标高度和所述当前高度之间的差值大于或等于预设数值;所述预设数值用于表征所述区块链中区块被确认生效时所对应的后续区块的数量值;所述当前周期的长度小于所述区块链对应的出块时长;当确定预设缓存区内存储的区块链数据与所述当前周期对应的区块链数据存在不一致的数据时,将所述各个区块的数据更新在所述预设缓存区;当确定预设数据库内不存在与所述目标高度对应的区块的数据时,将所述目标高度对应的区块的数据更新在所述预设数据库
。2.
根据权利要求1所述的数据更新方法,其特征在于,还包括:响应于请求节点发送的携带有待查询字段的数据查询请求,确定所述预设缓存区和所述预设数据库中是否存在与所述待查询字段对应的数据;当确定所述预设缓存区或所述预设数据库中存在与所述待查询字段对应的数据时,向所述请求节点发送与所述待查询字段对应的数据;当确定所述预设缓存区且所述预设数据库内不存在与所述待查询字段对应的数据时,向所述请求节点发送用于表示查询失败的提示信息
。3.
根据权利要求2所述的数据更新方法,其特征在于,所述确定所述预设缓存区和所述预设数据库中是否存在与所述待查询字段对应的数据,包括:在所述预设缓存区内匹配与所述待查询字段对应的数据,并当在所述预设缓存区内匹配成功时,确定所述预设缓存区中存在与所述待查询字段对应的数据;或者,当在所述预设缓存区内匹配失败时,在所述预设数据库内匹配与所述待查询字段对应的数据;当在所述预设数据库内匹配成功时,确定所述预设数据库中存在与所述待查询字段对应的数据;当在所述预设数据库内匹配失败时,确定所述预设缓存区且所述预设数据库内不存在与所述待查询字段对应的数据
。4.
根据权利要求1所述的数据更新方法,其特征在于,所述区块的数据包括区块哈希值;所述确定预设缓存区内存储的区块链数据与所述当前周期对应的区块链数据存在不一致的数据,包括:确定所述预设缓存区内存储的区块链的高度与所述当前高度是否一致,并当所述区块链的高度与所述当前高度不一致时,确定所述预设缓存区内存储的区块链数据与所述当前周期对应的区块链数据存在不一致的数据;或者,当所述区块链的高度与所述当前高度一致时,确定所述预设缓存区内存储的各个区块的区块哈希值与所述当前周期对应的各个区块的区块哈希值是否一致,并当所述预设缓存区内存储的任意一个区块的区块哈希值与所述任意一个区块在所述当前周期的区块哈希值不一致时,确定所述预设缓存区内存储的区块链数据与所述当前周期对应的区块链数据存在不一致的数据
。5.
根据权利要求1所述的数据更新方法,其特征在于,所述确定预设数据库内不存在与所述目标高度对应的区块的数据,包括:当确定所述预设缓存区内与所述目标高度对应的...

【专利技术属性】
技术研发人员:穆长春吕远卿苏德余磊蒋昊
申请(专利权)人:长三角金融科技有限公司
类型:发明
国别省市:

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

1