数据存储方法及装置、数据读取方法及装置、存储介质制造方法及图纸

技术编号:26072585 阅读:51 留言:0更新日期:2020-10-28 16:46
本申请提供了一种数据存储方法及装置、数据读取方法及装置、电子设备及存储介质,能够通过待存储数据的哈希编码和属性信息进行双重加密和编码,生成待存储数据的唯一标识码,并存储在区块链节点中,接收到用户的数据读取请求时,在数据读取请求与唯一标识码之间验证通过,以及唯一标识码中的属性信息和哈希编码之间验证通过后,才会对存储数据库进行数据读取。这样,可以提高链上数据的可靠性,使用存储数据库的数据存储为主、区块链的数据存储为辅,来更好的实现数据的主从备份,还可以降低数据备份量和处理量,有效降低链上数据和数据库数据被篡改后无法探知的可能性,降低数据作弊的概率,有利于提高数据读取的便利性、可靠性和准确性。

【技术实现步骤摘要】
数据存储方法及装置、数据读取方法及装置、存储介质
本申请涉及大数据
,具体而言,涉及一种数据存储方法及与其对应的数据存储方法装置、数据读取方法及与其对应的数据读取装置,和计算机可读存储介质。
技术介绍
目前,随着互联网的高速发展,各行各业中每日均会产生大量的数据,如金融、医疗、教育等各个行业,数据呈量指数级的增长。而随着大量数据的产生,数据的安全性也不断出现漏洞,由于数据量大,数据在存储后进行查询的复杂度和难度等也随之提高,数据在有意或者无意的被修改后,不易被察觉,数据的安全性受到较大影响。
技术实现思路
有鉴于此,本申请的目的在于提供一种数据存储方法及装置、数据读取方法及装置、存储介质,能够通过待存储数据的哈希编码和属性信息进行双重加密和编码后,生成待存储数据的唯一标识码,并将唯一标识码存储在区块链节点中,这样,通过区块链的方式可以确保唯一标识码的可靠性,在接收到用户的数据读取请求时,可以在通过唯一标识码的验证后对存储数据库进行数据读取,进而提高数据库数据存储的可靠性。根据本申请的一个方面,提供一种电子设备,可以包括存储介质和与存储介质通信的处理器。存储介质存储有处理器可执行的机器可读指令。当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:获取用于存储到存储数据库中的待存储数据,并生成所述待存储数据的哈希编码;基于所述哈希编码和所述待存储数据的至少一个属性信息,生成所述待存储数据的唯一标识码;将所述唯一标识码写入对应的区块链节点中。在本申请的一些实施例中,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:分别生成所述待存储数据的至少一个属性信息中每个属性信息对应的属性编码;确定每个属性编码在所述哈希编码中的拼接位置;将每个属性编码插入到所述哈希编码中对应的拼接位置,以将所述哈希编码和所有属性编码拼接得到所述待存储数据的唯一标识码。在本申请的一些实施例中,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:分别获取每个属性编码的编码长度和编码属性;基于每个属性编码的编码长度和编码属性,确定每个属性编码在所述哈希编码中的拼接位置。在上述实施例中,所述属性信息包括以下信息中的至少一种:所述存储数据库的数据库名称信息、所述待存储数据的数据名称信息、所述待存储数据在所述存储数据库中的数据位置信息和所述待存储数据的数据上传方信息。在本申请的一些实施例中,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:采用所述唯一标识码作为所述待存储数据的数据主键的方式,或者采用所述唯一标识码作为所述待存储数据的查询关键字的方式,将所述待存储数据和所述唯一标识码关联存储至存储数据库中。在本申请的一些实施例中,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:检测所述待存储数据是否成功写入存储数据库中,以及所述唯一标识码是否成功写入对应的区块链节点中;若所述待存储数据写入存储数据库失败,和/或所述唯一标识码写入对应的区块链节点失败,则将已经写入所述存储数据库中的数据删除,并将已经写入所述区块链节点中的标识码删除;重新执行所述获取用于存储到数据库中的待存储数据,并生成所述待存储数据的哈希编码的步骤。在本申请的一些实施例中,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:在将所述待存储数据写入存储数据库的过程中,若接收到所述待存储数据的写入错误反馈信息,确定所述待存储数据写入存储数据库失败;或者在将所述待存储数据写入存储数据库完毕后,若在所述存储数据库中无法查询到所述待存储数据,或者查询到的数据与所述待存储数据不一致,确定所述待存储数据写入存储数据库失败。在本申请的一些实施例中,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:在将所述唯一标识码写入区块链节点的过程中,若接收到所述唯一标识码的写入错误反馈信息,确定所述唯一标识码写入区块链节点失败;或者在将所述唯一标识码写入区块链节点完毕后,若在所述区块链节点中无法查询到所述唯一标识码,或者查询到的编码与所述唯一标识码不一致,确定所述唯一标识码写入区块链节点失败。在本申请的一些实施例中,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:从所述区块链节点中获取到所述唯一标识码;通过所述唯一标识码在所述存储数据库中进行数据匹配;若匹配到的数据与所述待存储数据不一致,或者无法从所述存储数据库中匹配到数据,确定所述存储数据库中的所述待存储数据被篡改。根据本申请的另一个方面,提供另一种电子设备,可以包括存储介质和与存储介质通信的处理器。存储介质存储有处理器可执行的机器可读指令。当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:基于接收到的用户的数据读取请求中携带的待读取数据信息,以及区块链节点中存储的每个标识码中携带的至少一个属性信息,确定与所述数据读取请求相匹配的待读取数据的唯一标识码;检测所述唯一标识码中的至少一个属性信息指示的数据与所述唯一标识码中哈希编码指示的数据是否一致;若所述唯一标识码中的至少一个属性信息指示的数据信息与所述唯一标识码中哈希编码指示的数据信息一致,从所述唯一标识码中的至少一个属性信息指示的存储数据库中读取出与所述哈希编码相匹配的待读取数据。在本申请的一些实施例中,处理器执行所述机器可读指令时,可以执行一个或多个以下操作:从接收到的用户的数据读取请求中确定出待读取数据信息;基于每个属性编码在标识码中的拼接位置,提取出区块链节点中存储的每个标识码中的至少一个属性编码;基于每个标识码中提取出的至少一个属性编码,确定区块链节点中存储的每个标识码中携带的至少一个属性信息;从多个标识码中确定出至少一个属性信息指示的数据与所述待读取数据信息指示的数据一致的标识码,并确定该标识码为与所述数据读取请求相匹配的唯一标识码。根据本申请的一方面,提供一种数据存储方法,所述数据存储方法包括:获取用于存储到存储数据库中的待存储数据,并生成所述待存储数据的哈希编码;基于所述哈希编码和所述待存储数据的至少一个属性信息,生成所述待存储数据的唯一标识码;将所述唯一标识码写入对应的区块链节点中。在本申请的一些实施例中,所述基于所述哈希编码和所述待存储数据的至少一个属性信息,生成所述待存储数据的唯一标识码,包括:分别生成所述待存储数据的至少一个属性信息中每个属性信息对应的属性编码;确定每个属性编码在所述哈希编码中的拼接位置;将每个属性编码插入到所述哈希编码中对应的拼接位置,以将所述哈希编码和所有属性编码拼接得到所述待存储数据的唯一标识码。在本申请的一些实施例中,所述确定每个属性编码在所本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,所述数据存储方法包括:/n获取用于存储到存储数据库中的待存储数据,并生成所述待存储数据的哈希编码;/n基于所述哈希编码和所述待存储数据的至少一个属性信息,生成所述待存储数据的唯一标识码;/n将所述唯一标识码写入对应的区块链节点中。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述数据存储方法包括:
获取用于存储到存储数据库中的待存储数据,并生成所述待存储数据的哈希编码;
基于所述哈希编码和所述待存储数据的至少一个属性信息,生成所述待存储数据的唯一标识码;
将所述唯一标识码写入对应的区块链节点中。


2.根据权利要求1所述的数据存储方法,其特征在于,所述基于所述哈希编码和所述待存储数据的至少一个属性信息,生成所述待存储数据的唯一标识码,包括:
分别生成所述待存储数据的至少一个属性信息中每个属性信息对应的属性编码;
确定每个属性编码在所述哈希编码中的拼接位置;
将每个属性编码插入到所述哈希编码中对应的拼接位置,以将所述哈希编码和所有属性编码拼接得到所述待存储数据的唯一标识码。


3.根据权利要求2所述的数据存储方法,其特征在于,所述确定每个属性编码在所述哈希编码中的拼接位置,包括:
分别获取每个属性编码的编码长度和编码属性;
基于每个属性编码的编码长度和编码属性,确定每个属性编码在所述哈希编码中的拼接位置。


4.根据权利要求1至3中任一项所述的数据存储方法,其特征在于,所述属性信息包括以下信息中的至少一种:
所述存储数据库的数据库名称信息、所述待存储数据的数据名称信息、所述待存储数据在所述存储数据库中的数据位置信息和所述待存储数据的数据上传方信息。


5.根据权利要求1所述的数据存储方法,其特征在于,在所述基于所述哈希编码和所述待存储数据的至少一个属性信息,生成所述待存储数据的唯一标识码之后,所述数据存储方法包括:
采用所述唯一标识码作为所述待存储数据的数据主键的方式,或者采用所述唯一标识码作为所述待存储数据的查询关键字的方式,将所述待存储数据和所述唯一标识码关联存储至存储数据库中。


6.根据权利要求5所述的数据存储方法,其特征在于,在所述将所述待存储数据和所述唯一标识码关联存储至存储数据库中之后,以及在所述将所述唯一标识码写入对应的区块链节点中之后,所述数据存储方法包括:
检测所述待存储数据是否成功写入存储数据库中,以及所述唯一标识码是否成功写入对应的区块链节点中;
若所述待存储数据写入存储数据库失败,和/或所述唯一标识码写入对应的区块链节点失败,则将已经写入所述存储数据库中的数据删除,并将已经写入所述区块链节点中的标识码删除;
重新执行所述获取用于存储到数据库中的待存储数据,并生成所述待存储数据的哈希编码的步骤。


7.一种数据读取方法,其特征在于,所述数据读取方法包括:
基于接收到的用户的数据读取请求中携带的待读取数据信息,以及区块链节点中存储的每个标识码中携带的至少一个属性信息,确定与所述数据读取请求相匹配的待读取数据的唯一标识码;
检测所述唯一标识码中的至少一个属性信息指示的数据与所述唯一标识码中哈希编码指示的数...

【专利技术属性】
技术研发人员:吴琼
申请(专利权)人:北京骑胜科技有限公司
类型:发明
国别省市:北京;11

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

1