(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210493631.6
(22)申请日 2022.05.07
(71)申请人 中国工商银行股份有限公司
地址 100140 北京市西城区复兴门内大街
55号
(72)发明人 陈法山 苏恒 黄锐海 黄汉波
(74)专利代理 机构 北京康信知识产权代理有限
责任公司 1 1240
专利代理师 周春枚
(51)Int.Cl.
G06F 16/27(2019.01)
G06F 16/2457(2019.01)
G06F 16/23(2019.01)
G06F 3/06(2006.01)
(54)发明名称
基于区块链的数据存储 方法及装置、 电子设
备及存储介质
(57)摘要
本发明公开了一种基于区块链的数据存储
方法及装置、 电子设备及存储介质, 涉及区块链
技术领域, 其中, 该存储 方法包括: 接收数据上链
请求, 在数据类型指示区块链数据的类型为交易
记录数据的情况下, 将交易记录数据写入至第一
存储单元, 为业务状态数据的情况下, 在第二存
储单元中搜索与业务状态数据携带的业务状态
标识对应的目标业务数据, 在搜索成功的情况
下, 读取目标业务数据的业务状态信息, 并基于
业务状态信息, 进行业务逻辑处理, 并基于处理
结果, 修改第二存储单元中的目标业务数据, 并
将修改后的目标业务数据写入至第三存储单元。
本发明解决了相关技术中无法在区块链系统中
存储全量数据, 导致丢失可追溯特性的技术问
题。
权利要求书3页 说明书16页 附图8页
CN 114880398 A
2022.08.09
CN 114880398 A
1.一种基于区块链的数据存 储方法, 其特 征在于, 包括:
接收数据上链请求, 其中, 所述数据上链请求至少携带有: 待上链的区块链数据和数据
类型;
在所述数据类型指示所述区块链数据的类型为交易记录数据的情况下, 将所述交易记
录数据写入至第一存 储单元;
在所述数据类型指示所述区块链数据的类型为业务状态数据的情况下, 在第 二存储单
元中搜索与所述 业务状态数据携带的业 务状态标识对应的目标业 务数据, 得到 搜索结果;
在所述搜索结果指示搜索成功 的情况下, 读取所述目标业务数据的业务状态信息, 并
基于所述 业务状态信息, 进行业 务逻辑处 理, 得到处 理结果;
基于所述处理结果, 修改所述第二存储单元中的所述目标业务数据, 并将修改后的所
述目标业 务数据写入至第三存 储单元。
2.根据权利要求1所述的存储方法, 其特征在于, 在第 二存储单元中搜索与 所述业务状
态数据携带的业 务状态标识对应的目标业 务数据, 得到 搜索结果之后, 还 包括:
在所述搜索结果指示搜索不成功的情况下, 从所述第 三存储单元读取与所述业务状态
数据携带的业 务状态标识对应的预设数据;
将所述预设数据写入至所述第二存 储单元;
读取所述第二存 储单元中的所述预设数据的数据状态信息;
基于所述数据状态信息, 进行业 务逻辑处 理。
3.根据权利要求1所述的存储方法, 其特征在于, 将所述交易记录数据写入至第 一存储
单元的步骤, 包括:
采用预设写入策略, 将所述交易记录数据写入所述第一存 储单元中的交易区块上;
在满足预设条件的情况 下, 生成所述交易区块的区块头;
将所述区块头的区块头信息写入至所述第一存储单元, 其中, 所述区块头信息至少包
括: 当前区块编号、 前一区块哈希值、 当前区块哈希值、 时间戳。
4.根据权利要求3所述的存储方法, 其特征在于, 在满足预设条件的情况下, 生成所述
交易区块的区块头的步骤, 包括:
设置初始交易记录数量;
在第一个交易记录数据写入所述交易区块的情况 下, 统计写入时长;
在所述交易记录数据写入成功 的情况下, 将所述初始交易记录数量加上预设单位值,
得到更新后的交易记录数量;
在所述交易记录数量大于预设总数量, 和/或, 所述写入时长大于预设时长阈值的情况
下, 停止在所述交易区块上写入交易记录数据, 并生成所述交易区块的区块头 。
5.根据权利要求1所述的存储方法, 其特征在于, 将所述业务状态数据写入至第 三存储
单元的步骤, 包括:
确定所述第三存 储单元的当前写入方向;
判断所述当前写入方向的下一状态区块是否是空 闲区块;
在所述当前写入方向的下一状态区块是空闲区块的情况下, 在所述空闲区块上写入所
述业务状态数据;
在所述当前写入方向的下一状态区块不是空闲区块的情况下, 调整写入方向为所述当权 利 要 求 书 1/3 页
2
CN 114880398 A
2前写入方向的反方向;
基于所述反方向, 将所述 业务状态数据写入至所述第三存 储单元。
6.根据权利要求5所述的存储方法, 其特征在于, 基于所述反方向, 将所述业务状态数
据写入至所述第三存 储单元的步骤, 包括:
沿着所述反方向, 逐个处理各个所述状态区块, 并获取每个所述状态区块中的业务状
态数据;
判断所述 业务状态数据是否存 储在所述第二存 储单元中;
在所述业务状态数据 未存储在所述第 二存储单元中的情况下, 将所述业务状态数据写
入至所述第二存 储单元;
在所述业务状态数据存储在所述第 二存储单元中的情况下, 跳过当前所述业务状态数
据, 继续判断下一个所述 业务状态数据是否存在所述第二存 储单元中;
擦除所述当前写入方向上已经处 理过的所述状态区块的所述 业务状态数据。
7.根据权利要求6所述的存储方法, 其特征在于, 在将所述业务状态数据写入至所述第
二存储单元时, 还包括:
在所述第二存储单元的存储空间已经写满的情况下, 将所述第 二存储单元中所有的所
述业务状态数据沿着所述反方向写入至所述第三存 储单元中的空 闲区块中;
清空所述第二存 储单元的存储空间。
8.根据权利要求1所述的存 储方法, 其特 征在于, 还 包括:
在将所述 业务状态数据写入所述第二存 储单元时, 记录时间戳;
在所述第二存储单元的存储空间写满的情况下, 扫描所述第 二存储单元中的所有所述
业务状态数据的时间戳, 得到扫描结果;
基于所述扫描结果, 对所有所述 业务状态数据的时间戳进行排序, 得到排序结果;
基于所述 排序结果, 删除位于预设位置之前的所有所述时间戳指示的业 务状态数据。
9.根据权利要求1所述的存储方法, 其特征在于, 所述第一存储单元为磁性存储器, 所
述第二存 储单元为随机访问存 储器, 所述第三存 储单元为块读写存 储器。
10.一种基于区块链的数据存 储装置, 其特 征在于, 包括:
接收单元, 用于接收数据上链请求, 其中, 所述数据上链请求至少携带有: 待上链的区
块链数据和数据类型;
写入单元, 用于在所述数据类型指示所述区块链数据的类型为交易记录数据的情况
下, 将所述交易记录数据写入至第一存 储单元;
搜索单元, 用于在所述数据类型指示所述区块链数据的类型为业务状态数据的情况
下, 在第二存储单元中搜索与所述业务状态数据携带的业务状态标识对应的目标业务数
据, 得到搜索结果;
读取单元, 用于在所述搜索结果指示搜索成功 的情况下, 读取所述目标业务数据的业
务状态信息, 并基于所述 业务状态信息, 进行业 务逻辑处 理, 得到处 理结果;
修改单元, 用于基于所述处理结果, 修改所述第 二存储单元中的所述目标业务数据, 并
将修改后的所述目标业 务数据写入至第三存 储单元。
11.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质包括存储的计算
机程序, 其中, 在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利权 利 要 求 书 2/3 页
3
CN 114880398 A
3
专利 基于区块链的数据存储方法及装置、电子设备及存储介质
安全报告 >
其他 >
文档预览
中文文档
28 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共28页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思考人生 于 2024-02-24 08:49:49上传分享