基于区块链的数据安全存储方法及系统转让专利

申请号 : CN202011289978.6

文献号 : CN112287391B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邓迎贵李婷冯美柱何强

申请人 : 广东新禾道信息科技有限公司

摘要 :

本申请提供一种基于区块链的数据安全存储方法及系统,所述方法包括如下步骤:电子设备接收区块链的待存储数据以及待存储数据的第一哈希值,将第一哈希值进行存储;电子设备将该待存储的数据的每4个元素分成一组数据,对每组数据执行过滤操作得到过滤数据,该过滤操作具体包括:每组元素中第一个元素值前4个比特的头比特位为1,剩余3个比特位表示是否与第一元素中相同,若相同,则对应比特位设置成1,并删除与第一元素值相同的元素的存储数据;电子设备将该过滤数据在本地存储。本申请提供的技术方案具有数据存储成本低的优点。

权利要求 :

1.一种基于区块链的数据安全存储方法,其特征在于,所述方法包括如下步骤:电子设备接收区块链的待存储数据以及待存储数据的第一哈希值,将第一哈希值进行存储;

电子设备将该待存储的数据的每4个元素分成一组数据,对每组数据执行过滤操作得到过滤数据,该过滤操作具体包括:每组元素中第一个元素值前4个比特的头比特位为1,剩余3个比特位表示是否与第一元素中相同,若相同,则对应比特位设置成1,并删除与第一元素值相同的元素的存储数据;

电子设备将该过滤数据在本地存储;所述待存储数据为图片数据;所述方法还包括:电子设备在区块链接收该待存储数据的提取请求;

电子设备提取该待存储数据对应的过滤数据,对该过滤数据进行识别,将头部比特位为1的相邻的元素值之间的数据区间确定为一个数据组,对每个数据组执行还原操作得到还原数据,该还原操作具体包括:提取每组数据的第一元素值的前4个比特的剩余3个比特的值,若3个比特值均为0,则将第一元素值的前4个比特的头比特位设置成0完成还原操作;

若3个比特值中具有1,则依据该比特值为1在3个比特的位置确定插入位置,在该插入位置插入第一元素值后,将第一元素值的前4个比特的头比特位设置成0完成还原操作;

电子设备计算该还原数据的第二哈希值,若第一哈希值与第二哈希值相同,确定该还原数据为该提取请求对应的待存储的数据。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:电子设备在区块链接收该待存储数据的提取请求;

电子设备提取该待存储数据对应的过滤数据以及过滤数据的还原规则,将该过滤数据以及该还原规则发送至区块链。

3.一种基于区块链的数据安全存储系统,其特征在于,所述系统包括:通信单元,用于接收区块链的待存储数据以及待存储数据的第一哈希值,将第一哈希值进行存储;

处理单元,用于将该待存储的数据的每4个元素分成一组数据,对每组数据执行过滤操作得到过滤数据,该过滤操作具体包括:每组元素中第一个元素值前4个比特的头比特位为

1,剩余3个比特位表示是否与第一元素中相同,若相同,则对应比特位设置成1,并删除与第一元素值相同的元素的存储数据;将该过滤数据在本地存储;所述待存储数据为图片数据;

所述通信单元,还用于在区块链接收该待存储数据的提取请求;

所述处理单元,还用于提取该待存储数据对应的过滤数据,对该过滤数据进行识别,将头部比特位为1的相邻的元素值之间的数据区间确定为一个数据组,对每个数据组执行还原操作得到还原数据,该还原操作具体包括:提取每组数据的第一元素值的前4个比特的剩余3个比特的值,若3个比特值均为0,则将第一元素值的前4个比特的头比特位设置成0完成还原操作;若3个比特值中具有1,则依据该比特值为1在3个比特的位置确定插入位置,在该插入位置插入第一元素值后,将第一元素值的前4个比特的头比特位设置成0完成还原操作;计算该还原数据的第二哈希值,若第一哈希值与第二哈希值相同,确定该还原数据为该提取请求对应的待存储的数据。

4.根据权利要求3所述的系统,其特征在于,所述通信单元,还用于在区块链接收该待存储数据的提取请求;提取该待存储数据对应的过滤数据以及过滤数据的还原规则,将该过滤数据以及该还原规则发送至区块链。

5.一种计算机可读存储介质,其存储用于电子数据交换的程序,其中,所述程序使得终端执行如权利要求1‑2任意一项提供的方法。

说明书 :

基于区块链的数据安全存储方法及系统

技术领域

[0001] 本申请涉及区块链技术领域,具体涉及一种基于区块链的数据安全存储方法及系统。

背景技术

[0002] 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Block chain),是比特币的一个重要概念,它本质上是一个去中心化的
数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个
数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下
一个区块。
[0003] 现有的区块链的数据存储为完整的存储,其存储的方式极大的占用了存储空间,因此提高了数据存储的成本。

发明内容

[0004] 本申请实施例提供了一种基于区块链的数据安全存储方法及相关产品,可以降低数据存储的数量,因此其具有降低数据存储成本的优点。
[0005] 第一方面,本申请实施例提供一种基于区块链的数据安全存储方法,所述方法包括如下步骤:
[0006] 电子设备接收区块链的待存储数据以及待存储数据的第一哈希值,将第一哈希值进行存储;
[0007] 电子设备将该待存储的数据的每4个元素分成一组数据,对每组数据执行过滤操作得到过滤数据,该过滤操作具体包括:每组元素中第一个元素值前4个比特的头比特位为
1,剩余3个比特位表示是否与第一元素中相同,若相同,则对应比特位设置成1,并删除与第
一元素值相同的元素的存储数据;
[0008] 电子设备将该过滤数据在本地存储。
[0009] 第二方面,提供一种基于区块链的数据安全存储系统,所述系统包括:
[0010] 通信单元,用于接收区块链的待存储数据以及待存储数据的第一哈希值,将第一哈希值进行存储;
[0011] 处理单元,用于将该待存储的数据的每4个元素分成一组数据,对每组数据执行过滤操作得到过滤数据,该过滤操作具体包括:每组元素中第一个元素值前4个比特的头比特
位为1,剩余3个比特位表示是否与第一元素中相同,若相同,则对应比特位设置成1,并删除
与第一元素值相同的元素的存储数据;将该过滤数据在本地存储。
[0012] 第三方面,提供一种计算机可读存储介质,其存储用于电子数据交换的程序,其中,所述程序使得终端执行第一方面提供的方法。
[0013] 实施本申请实施例,具有如下有益效果:
[0014] 可以看出,本申请提供的技术方案将元素值进行了分组,即每组数据4个元素值,占128比特,对于数据存储中,尤其是图片数据,其相邻的很多数据均是相同的,即元素值是
相同的,那么其存储的数据中,有很大部分是重复的数据,这里即将每组数据中重复的数据
不存储,这样减少数据存储量,另外,提取原来的头部4个比特,因为数据在存储时,头部4个
比特用的概率非常小,几乎忽略不计,那么提取4个头部比特来进行相同数据的表示,这里
的选择4个比特也是因为若选择的数值较大,虽然可以减小数据存储量,但是可能会失真,
因为越大,例如8个比特,那么头部比特使用的概率就越高,因此这里只使用4个比特,这样
就能够在不增加比特位的情况下,对相同的数据不存储,进而提高区块链的数据存储效率,
降低数据存储成本。

附图说明

[0015] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领
域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附
图。
[0016] 图1是一种移动终端的结构示意图。
[0017] 图2是一种基于区块链的数据安全存储方法的流程示意图。
[0018] 图3是本申请实施例提供的终端的结构示意图。

具体实施方式

[0019] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申
请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施
例,都属于本申请保护的范围。
[0020] 本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它
们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系
统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单
元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0021] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同
的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和
隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0022] 参阅图1,图1提供了一种移动终端,该移动终端具体可以为智能手机,该智能手机可以为IOS、安卓等系统的移动终端,上述移动终端具体可以包括:处理器、存储器、摄像头
和显示屏,上述部件可以通过总线连接,也可以通过其他方式连接,本申请并不限制上述连
接的具体方式。在实际应用中,上述移动终端还可以添加其他部件,例如音频部件(麦克风)
或通信部件(例如天线等等)。
[0023] 参阅图2,图2提供了一种基于区块链的数据安全存储方法,该方法如图2所示,该方法可以由电子设备执行,该电子设备可以为如图1所示的终端,该方法包括如下步骤:
[0024] 步骤S201、电子设备接收区块链的待存储数据以及待存储数据的第一哈希值,将第一哈希值进行存储;
[0025] 步骤S202、电子设备将该待存储的数据的每4个元素分成一组数据,对每组数据执行过滤操作得到过滤数据,该过滤操作具体包括:每组元素中第一个元素值前4个比特的头
比特位为1,剩余3个比特位表示是否与第一元素中相同,若相同,则对应比特位设置成1,并
删除与第一元素值相同的元素的存储数据;
[0026] 上述元素表示待存储的数据中的一个数据值,对于浮点数据,其一般为32个比特。
[0027] 步骤S203、电子设备将该过滤数据在本地存储。
[0028] 本申请提供的技术方案将元素值进行了分组,即每组数据4个元素值,占128比特,对于数据存储中,尤其是图片数据,其相邻的很多数据均是相同的,即元素值是相同的,那
么其存储的数据中,有很大部分是重复的数据,这里即将每组数据中重复的数据不存储,这
样减少数据存储量,另外,提取原来的头部4个比特,因为数据在存储时,头部4个比特用的
概率非常小,几乎忽略不计,那么提取4个头部比特来进行相同数据的表示,这里的选择4个
比特也是因为若选择的数值较大,虽然可以减小数据存储量,但是可能会失真,因为越大,
例如8个比特,那么头部比特使用的概率就越高,因此这里只使用4个比特,这样就能够在不
增加比特位的情况下,对相同的数据不存储,进而提高区块链的数据存储效率,降低数据存
储成本。
[0029] 在一种可选的方案中,上述方法还可以包括:
[0030] 电子设备在区块链接收该待存储数据的提取请求;
[0031] 电子设备提取该待存储数据对应的过滤数据,对该过滤数据进行识别,将头部比特位为1的相邻的元素值之间的数据区间确定为一个数据组,对每个数据组执行还原操作
得到还原数据,该还原操作具体包括:提取每组数据的第一元素值的前4个比特的剩余3个
比特的值,若3个比特值均为0,则将第一元素值的前4个比特的头比特位设置成0完成还原
操作;若3个比特值中具有1,则依据该比特值为1在3个比特的位置确定插入位置,在该插入
位置插入第一元素值后,将第一元素值的前4个比特的头比特位设置成0完成还原操作;
[0032] 电子设备计算该还原数据的第二哈希值,若第一哈希值与第二哈希值相同,确定该还原数据为该提取请求对应的待存储的数据。
[0033] 在一种可选的方案中,所述方法还包括:
[0034] 电子设备在区块链接收该待存储数据的提取请求;
[0035] 电子设备提取该待存储数据对应的过滤数据以及过滤数据的还原规则,将该过滤数据以及该还原规则发送至区块链。
[0036] 参阅图3,图3提供一种基于区块链的数据安全存储系统,所述系统包括:
[0037] 通信单元,用于接收区块链的待存储数据以及待存储数据的第一哈希值,将第一哈希值进行存储;
[0038] 处理单元,用于将该待存储的数据的每4个元素分成一组数据,对每组数据执行过滤操作得到过滤数据,该过滤操作具体包括:每组元素中第一个元素值前4个比特的头比特
位为1,剩余3个比特位表示是否与第一元素中相同,若相同,则对应比特位设置成1,并删除
与第一元素值相同的元素的存储数据;将该过滤数据在本地存储。
[0039] 在一种可选的方案中,
[0040] 所述通信单元,还用于在区块链接收该待存储数据的提取请求;
[0041] 所述处理单元,还用于提取该待存储数据对应的过滤数据,对该过滤数据进行识别,将头部比特位为1的相邻的元素值之间的数据区间确定为一个数据组,对每个数据组执
行还原操作得到还原数据,该还原操作具体包括:提取每组数据的第一元素值的前4个比特
的剩余3个比特的值,若3个比特值均为0,则将第一元素值的前4个比特的头比特位设置成0
完成还原操作;若3个比特值中具有1,则依据该比特值为1在3个比特的位置确定插入位置,
在该插入位置插入第一元素值后,将第一元素值的前4个比特的头比特位设置成0完成还原
操作;计算该还原数据的第二哈希值,若第一哈希值与第二哈希值相同,确定该还原数据为
该提取请求对应的待存储的数据。
[0042] 在一种可选的方案中,
[0043] 所述通信单元,还用于在区块链接收该待存储数据的提取请求;提取该待存储数据对应的过滤数据以及过滤数据的还原规则,将该过滤数据以及该还原规则发送至区块
链。
[0044] 本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何
一种基于区块链的数据安全存储方法的部分或全部步骤。
[0045] 本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方
法实施例中记载的任何一种基于区块链的数据安全存储方法的部分或全部步骤。
[0046] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为
依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知
悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请
所必须的。
[0047] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0048] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种
逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可
以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间
的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,
可以是电性或其它的形式。
[0049] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0050] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
[0051] 所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或
者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体
现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备
(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分
步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器
(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0052] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器
可以包括:闪存盘、只读存储器(英文:Read‑Only Memory,简称:ROM)、随机存取器(英文:
Random Access Memory,简称:RAM)、磁盘或光盘等。
[0053] 以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;
同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会
有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。