一种数据存储方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34827635 阅读:18 留言:0更新日期:2022-09-08 07:18
本发明专利技术涉及一种数据存储方法、装置、电子设备及存储介质,其中,数据存储方法包括:获取存证数据集,存证数据集中包括待存证的学历数据文件及学历数据文件对应的存证信息;基于存证数据集生成区块头和区块体;将区块头和区块体进行组合,生成存证数据区块;将存证数据区块的数据写入dat文件中,将与存证数据区块对应的区块和存证交易相关的元数据以键值对的形式写入底层数据库中,将与存证数据区块对应的状态数据以键值对的形式写入状态数据库中。本发明专利技术实施例能够实现学历数据文件及存证信息的去中心化存储,提高数据的安全性;另外,以键值对的形式存储区块和存证交易相关的元数据和状态数据,可以便于实现快速检索,提高检索效率。索效率。索效率。

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


[0001]本申请涉及区块链
,尤其涉及一种数据存储方法、装置、电子设备及存储介质。

技术介绍

[0002]互联网时代电子数据规模的指数级增长,使得数字化生活对电子存证系统的依赖日益增强,尤其在高校学历数据存证方面更为突出。随着学历数据管理系统的发展,其相关标准规范和电子化操作流程趋于完善,并且不断融合新的计算机技术。
[0003]但是,现有的学历数据存证管理系统采用集中式数据存储方式组织存储学历数据,中心化服务器单点故障或者受到恶意攻击,必然会导致学历数据被篡改或者泄露的问题,数据存储的安全性较低。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据存储方法、装置、电子设备及存储介质。
[0005]第一方面,本申请提供了一种数据存储方法,包括:
[0006]获取存证数据集,所述存证数据集中包括待存证的学历数据文件及所述学历数据文件对应的存证信息;
[0007]基于所述存证数据集生成区块头和区块体;
[0008]将所述区块头和区块体进行组合,生成存证数据区块;
[0009]将所述存证数据区块的数据写入区块链节点的dat文件中,将与所述存证数据区块对应的区块和存证交易相关的元数据以键值对的形式写入底层数据库中,将与所述存证数据区块对应的状态数据以键值对的形式写入状态数据库中;
[0010]其中,所述区块和存证交易相关的元数据是将存证数据区块的数据写入dat文件时生成的,所述状态数据是执行所述存证数据区块中的存证交易得到的状态数据。
[0011]可选地,所述将所述存证数据区块的数据写入区块链节点的dat文件中,包括:
[0012]将所述存证数据区块的数据进行序列化编码,得到字节码,将字节码写入dat文件;
[0013]其中,在将字节码写入dat文件过程中,若当前正在写入dat文件的数据与已写入dat文件的数据的数据量之和大于所述dat文件的预设存储量,生成新的dat文件,将当前正在写入的数据写入新的dat文件中。
[0014]可选地,所述将与所述存证数据区块对应的区块和存证交易相关的元数据以键值对的形式写入底层数据库中,包括:
[0015]将区块相关的元数据进行哈希计算得到的摘要作为键,将所述存证数据区块的区块哈希、前块哈希、存证交易树根哈希和状态表根哈希,进行序列化编码生成的数据作为值,得到区块相关的元数据对应的键值对;
[0016]将所述存证数据区块的区块头中的存证交易默克尔根进行哈希计算得到的根哈希作为键,将所述存证数据区块的存证交易哈希、存证交易类型和存证交易数据,进行序列化编码生成的数据作为值,得到存证交易相关的元数据对应的键值对;
[0017]将区块相关的元数据对应的键值对和所述存证交易相关的元数据对应的键值对写入底层数据库中。
[0018]可选地,所述将与所述存证数据区块对应的状态数据以键值对的形式写入状态数据库中,包括:
[0019]基于所述状态数据生成状态对象,将状态对象对应的哈希地址作为键,将所述状态对象作为值,得到所述状态数据对应的键值对;
[0020]将所述状态数据对应的键值对写入状态数据库中。
[0021]可选地,所述存证数据区块的字段结构包括:区块大小字段及所述区块大小字段的大小、区块头字段及所述区块头字段的大小、存证交易数量字段及所述存证交易数量字段的大小、和,存证交易数据列表字段及所述存证交易数据列表字段的大小。
[0022]可选地,所述区块头的字段结构包括:版本号字段及所述版本号字段的大小、前块哈希字段及所述前块哈希字段的大小、时间戳字段及所述时间戳字段的大小、难度目标字段及所述难度目标字段的大小、随机数字段及所述随机数字段的大小、和,默克尔根字段及所述默克尔根字段的大小。
[0023]可选地,所述区块体的字段结构包括:版本号字段及所述版本号字段的大小、输入数量字段及所述输入数量字段的大小、输入字段及所述输入字段的大小、输出数量字段及所述输出数量字段的大小、输出字段及所述输出字段的大小、和,存证时间字段及所述存证时间字段的大小。
[0024]第二方面,本申请提供了一种数据存储装置,包括:
[0025]获取模块,用于获取存证数据集,所述存证数据集中包括待存证的学历数据文件及所述学历数据文件对应的存证信息;
[0026]生成模块,用于基于所述存证数据集生成区块头和区块体;
[0027]组合模块,用于将所述区块头和区块体进行组合,生成存证数据区块;
[0028]写入模块,用于将所述存证数据区块的数据写入区块链节点的dat文件中,将与所述存证数据区块对应的区块和存证交易相关的元数据以键值对的形式写入底层数据库中,将与所述存证数据区块对应的状态数据以键值对的形式写入状态数据库中;
[0029]其中,所述区块和存证交易相关的元数据是将存证数据区块的数据写入dat文件时生成的,所述状态数据是执行所述存证数据区块中的存证交易得到的状态数据。
[0030]第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0031]存储器,用于存放计算机程序;
[0032]处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的数据存储方法。
[0033]第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据存储方法的程序,所述数据存储方法的程序被处理器执行时实现第一方面任一所述的数据存储方法的步骤。
[0034]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
[0035]本专利技术实施例通过首先获取存证数据集,所述存证数据集中包括待存证的学历数据文件及所述学历数据文件对应的存证信息,然后基于所述存证数据集生成区块头和区块体,再将所述区块头和区块体进行组合,最后可以生成存证数据区块,将所述存证数据区块的数据写入区块链节点的dat文件中,将与所述存证数据区块对应的区块和存证交易相关的元数据以键值对的形式写入底层数据库中,将与所述存证数据区块对应的状态数据以键值对的形式写入状态数据库中。
[0036]本专利技术实施例可以将基于待存证的学历数据文件及存证信息生成存证数据区块,将存证数据区块的数据写入区块链节点,将区块和存证交易相关的元数据写入底层数据库,将状态数据写入状态数据库,实现学历数据文件及存证信息的去中心化存储,提高数据的安全性;另外,以键值对的形式存储区块和存证交易相关的元数据和状态数据,可以便于实现快速检索,提高检索效率。
附图说明
[0037]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0038]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:获取存证数据集,所述存证数据集中包括待存证的学历数据文件及所述学历数据文件对应的存证信息;基于所述存证数据集生成区块头和区块体;将所述区块头和区块体进行组合,生成存证数据区块;将所述存证数据区块的数据写入区块链节点的dat文件中,将与所述存证数据区块对应的区块和存证交易相关的元数据以键值对的形式写入底层数据库中,将与所述存证数据区块对应的状态数据以键值对的形式写入状态数据库中;其中,所述区块和存证交易相关的元数据是将存证数据区块的数据写入dat文件时生成的,所述状态数据是执行所述存证数据区块中的存证交易得到的状态数据。2.根据权利要求1所述的数据存储方法,其特征在于,所述将所述存证数据区块的数据写入区块链节点的dat文件中,包括:将所述存证数据区块的数据进行序列化编码,得到字节码,将字节码写入dat文件;其中,在将字节码写入dat文件过程中,若当前正在写入dat文件的数据与已写入dat文件的数据的数据量之和大于所述dat文件的预设存储量,生成新的dat文件,将当前正在写入的数据写入新的dat文件中。3.根据权利要求1所述的数据存储方法,其特征在于,所述将与所述存证数据区块对应的区块和存证交易相关的元数据以键值对的形式写入底层数据库中,包括:将区块相关的元数据进行哈希计算得到的摘要作为键,将所述存证数据区块的区块哈希、前块哈希、存证交易树根哈希和状态表根哈希,进行序列化编码生成的数据作为值,得到区块相关的元数据对应的键值对;将所述存证数据区块的区块头中的存证交易默克尔根进行哈希计算得到的根哈希作为键,将所述存证数据区块的存证交易哈希、存证交易类型和存证交易数据,进行序列化编码生成的数据作为值,得到存证交易相关的元数据对应的键值对;将区块相关的元数据对应的键值对和所述存证交易相关的元数据对应的键值对写入底层数据库中。4.根据权利要求1所述的数据存储方法,其特征在于,所述将与所述存证数据区块对应的状态数据以键值对的形式写入状态数据库中,包括:基于所述状态数据生成状态对象,将状态对象对应的哈希地址作为键,将所述状态对象作为值,得到所述状态数据对应的键值对;将所述状态数据对应的键值对写入状态数据库中。5.根据权利要求1所述的数据存储方法...

【专利技术属性】
技术研发人员:李婧
申请(专利权)人:京东科技控股股份有限公司
类型:发明
国别省市:

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

1