1.本发明涉及人工智能领域,尤其涉及一种数据存储和读取方法、装置、设备及存储介质。
背景技术:2.在大数据和云计算时代,人们拥有的数据量越来越多,并且随着对于大容量存储需求的增加以及存储技术的飞速发展,为了便于获取数据、存储数据和移动办公等,往往会把数据存储至云存储的服务器上。但是在将隐私数据存放在第三方云存储服务器的同时,数据在存储时如果未进行有效的加密存储和监督,很可能导致用户的存储的隐私数据泄露,很难保证用户隐私数据的安全性。
3.目前,对数据的安全存储主要采用技术是通过空间换时间,即在将海量的用户数据存储特定数据库前,通过采用特定的数据加密方式,对用户数据进行复杂的加密处理,进而将加密后的数据存储,并设置相应的数据监督机制,如果发生非法获取数据时,在进行破解以及海量数据获取非法人员所需数据时,能够有一定的时间去发现以保护数据的安全性。但是这种方法也容易导致监守自盗等监管技术难度较大的问题,即现在隐私数据的保护方法的安全性较低。
技术实现要素:4.本发明的主要目的在于解决现在隐私数据的保护方法的安全性较低的问题。
5.本发明第一方面提供了一种数据存储方法,所述数据存储方法包括:获取待存储数据和对应的用户标识,并对所述待存储数据进行分割,得到所述待存储数据对应的碎块群;将所述碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息;采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。
6.可选的,在本发明第一方面的第一种实现方式中,所述对所述待存储数据进行分割,得到所述待存储数据对应的碎块群,包括:提取所述待存储数据中的文件格式标识,并根据所述文件格式标识,确定所述待存储数据中包含的多种文件格式;将所述待存储数据按照所述文件格式进行分类,并采用预置的分割算法将分类后的待存储数据分割成多个数据片段;基于各所述数据片段生成所述待存储数据对应的碎块群。
7.可选的,在本发明第一方面的第二种实现方式中,所述将所述碎块群随机存储至预置数据库中,包括:确定所述碎块群的安全等级,并从预置数据库中选取所述安全等级对应历史存储的碎块群组合;对各所述碎块群进行存储标识,并将标识后的碎块群随机拼接至所述碎块群组合;将拼接碎块群后的碎块群组合存储至所述数据库。
8.可选的,在本发明第一方面的第三种实现方式中,所述利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息,包括:采用预置的动态散列算法将所述碎块群中的各条数据进行哈希变换,得到对应的哈希散列碎片群;识别所述哈希散
列碎片群中各条数据在所述碎块群组合中的初始位置信息;将所述初始位置信息进行序列化处理,得到所述碎块群中各条数据在所述数据库中的位置信息。
9.可选的,在本发明第一方面的第四种实现方式中,所述用户标识包括发送用户标识和接收用户标识,所述采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送,包括:将所述发送用户标识和所述接收用户标识进行连接,得到连接标识符;采用所述连接标识符,对所述位置信息进行加密,生成对应的多个存储码值和存储标识;选取所述多个存储码值中的一个存储码值作为选中码值,以及选取所述多个存储码值中除选中码值外的其他存储码值作为防守码值;基于所述选中码值和所述防守码值生成存储码值组合,并将所述存储码值组合和所述存储标识进行推送。
10.本发明第二方面提供了一种数据读取方法,所述数据读取方法,包括:获取数据读取请求,并提取所述数据读取请求中输入的存储标识和输入的存储码值;在预置数据库中查询与所述输入的存储标识相关联的目标碎块群,并判断所述输入的存储码值是否为所述目标碎块群对应的选中码值;若是,则对所述输入的存储码值进行解密和反序列化处理,得到所述目标碎块群对应的位置信息;按照所述目标碎块群对应的位置信息,读取所述目标碎块群中的各条数据并进行组合,得到所述数据读取请求对应的响应数据。
11.本发明第三方面提供了一种数据存储装置,包括:所述数据存储装置,包括:数据分割模块,用于获取待存储数据和对应的用户标识,并对所述待存储数据进行分割,得到所述待存储数据对应的碎块群;位置计算模块,用于将所述碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息;数据推送模块,用于采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。
12.可选的,在本发明第三方面的第一种实现方式中,所述数据分割模块,包括:标识提取单元,用于提取所述待存储数据中的文件格式标识,并根据所述文件格式标识,确定所述待存储数据中包含的多种文件格式;数据分割单元,用于将所述待存储数据按照所述文件格式进行分类,并采用预置的分割算法将分类后的待存储数据分割成多个数据片段;基于各所述数据片段生成所述待存储数据对应的碎块群。
13.可选的,在本发明第三方面的第二种实现方式中,所述位置计算模块,包括:等级选取单元,用于确定所述碎块群的安全等级,并从预置数据库中选取所述安全等级对应历史存储的碎块群组合;碎块组合单元,用于对各所述碎块群进行存储标识,并将标识后的碎块群随机拼接至所述碎块群组合;碎块存储单元,用于将拼接碎块群后的碎块群组合存储至所述数据库。
14.可选的,在本发明第三方面的第三种实现方式中,所述位置计算模块,还包括:哈希变换单元,用于采用预置的动态散列算法将所述碎块群中的各条数据进行哈希变换,得到对应的哈希散列碎片群;位置识别单元,用于识别所述哈希散列碎片群中各条数据在所述碎块群组合中的初始位置信息;序列化处理单元,用于将所述初始位置信息进行序列化处理,得到所述碎块群中各条数据在所述数据库中的位置信息。
15.可选的,在本发明第三方面的第四种实现方式中,所述数据推送模块,包括:标识连接单元,用于将所述发送用户标识和所述接收用户标识进行连接,得到连接标识符;信息加密单元,用于采用所述连接标识符,对所述位置信息进行加密,生成对应的多个存储码值
和存储标识;码值选取单元,用于选取所述多个存储码值中的一个存储码值作为选中码值,以及选取所述多个存储码值中除选中码值外的其他存储码值作为防守码值;信息推送单元,用于基于所述选中码值和所述防守码值生成存储码值组合,并将所述存储码值组合和所述存储标识进行推送。
16.本发明第四方面提供了一种数据读取装置,包括:标识提取模块,用于获取数据读取请求,并提取所述数据读取请求中输入的存储标识和输入的存储码值;碎块查询模块,用于在预置数据库中查询与所述输入的存储标识相关联的目标碎块群,并判断所述输入的存储码值是否为所述目标碎块群对应的选中码值;码值计算模块,用于若是,则对所述输入的存储码值进行解密和反序列化处理,得到所述目标碎块群对应的位置信息;数据读取模块,用于按照所述目标碎块群对应的位置信息,读取所述目标碎块群中的各条数据并进行组合,得到所述数据读取请求对应的响应数据。
17.本发明第五方面提供了一种计算机设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据存储设备执行上述的数据存储方法的各个步骤。
18.本发明的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据存储方法的各个步骤。
19.本发明提供的技术方案中,获取待存储数据和对应的用户标识,并对待存储数据进行分割,得到待存储数据对应的碎块群;将碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算碎块群中各条数据在数据库中的位置信息;采用用户标识,对位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。并通过获取数据读取请求,并提取数据读取请求中输入的存储标识和输入的存储码值;在预置数据库中查询与输入的存储标识相关联的目标碎块群,并判断输入的存储码值是否为目标碎块群对应的选中码值;若是,则对输入的存储码值进行解密和反序列化处理,得到目标碎块群对应的位置信息;按照目标碎块群对应的位置信息,读取目标碎块群中的各条数据并进行组合,得到数据读取请求对应的响应数据。相比于现有技术,本技术对待存储的数据进行数据分割,并将得到的待存储数据对应的碎块群存储至预置数据库中,进而将碎块群数据进行哈希变换、位置信息计算以及加密处理,从而生成对应的存储码值组合和存储标识并进行推送。并通过存储方法生成对应的读取方法,将用户请求对应的数据给提取出来。实现了将待存储的数据隐藏性存储至庞大的数据库中,从而实现数据的存储以及读取,保证了用户数据的安全性。
附图说明
20.图1为本发明实施例中数据存储方法的第一个实施例示意图;
21.图2为本发明实施例中数据存储方法的第二个实施例示意图;
22.图3为本发明实施例中数据存储方法的第三个实施例示意图;
23.图4为本发明实施例中数据存储方法的第四个实施例示意图;
24.图5为本发明实施例中数据读取方法的一个实施例示意图;
25.图6为本发明实施例中数据存储装置的一个实施例示意图;
26.图7为本发明实施例中数据存储装置的另一个实施例示意图;
27.图8为本发明实施例中数据读取装置的一个实施例示意图;
28.图9为本发明实施例中计算机设备的一个实施例示意图。
具体实施方式
29.本发明实施例提供了一种数据存储和读取方法、装置、设备及存储介质,该方法包括:获取待存储数据和对应的用户标识,并对所述待存储数据进行分割,得到所述待存储数据对应的碎块群;将所述碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息;采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。本技术提升了了对用户隐私数据存储和管理的安全程度。
30.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据存储方法的第一个实施例包括:
32.101、获取待存储数据和对应的用户标识,并对待存储数据进行分割,得到待存储数据对应的碎块群;
33.可以理解的是,本发明的执行主体可以为数据存储装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
34.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
35.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
36.本实施例中,这里的用户标识,指的是用户的身份特征信息,如用户用来登录的自设置登录名、身份证信息、证件号等;这里的碎片群,指的是数据碎片块集合,例如在在公有服务器群上,任何人都有权限读取其中所有的数据,无任何限制的读取,而服务器上存放有海量的人类书籍(或者用户自己上传或者定制自己的文字海),将这些存放的海量数据都按照预置的数据拆分方法拆分成单纯的文字或者词组或者语句等任意形式的随机碎片块,进而将这些碎片块组合成一个集群,得到碎块群。
37.在实际应用中,用户在相应的登录方式(如专门应用app、微信小程序、电脑网页等)发起相应的数据存储请求,用户按照存储设置要求填写和上传相应的信息数据,进而对
数据存储请求进行分析处理,按照预置的数据请求格式,将其中待存储数据和用户标识提取出来,从而获取该用户的待存储数据和对应的用户标识;进而采用预置的数据分割方式,将待存储数据进行分割处理,如通过提取待存储数据中的文件格式标识,并根据文件格式标识,确定待存储数据中包含的多种文件格式,进而将待存储数据按照文件格式进行分类,并采用预置的分割算法将分类后的待存储数据分割成多个数据片段,从而得到待存储数据对应的碎块群。通过对获取的待存储数据进行碎片块分割处理,从而可实现将待存储数据对应的碎片块存储至数据库对应的碎块群中,实现数据的安全性存储。
38.102、将碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算碎块群中各条数据在数据库中的位置信息;
39.本实施例中,这里的数据库,指的是公司租有的数据库或者自建的数据库,将数据库中巨量的数据按照预置的碎片块处理方法进行碎片块处理,从而得到庞大的碎片块海组成的所需数据库;这里的动态散列算法,指的是传统hash表的实现主要有拉链法和开放地址散列法,而开放地址散列法又包括线性散列、二次散列等。当插入hash表的元素不断增加时,传统hash表为保证查找效率,需要执行扩容然后对于hash表中的元素重新映射完成迁移。这项工作的开销往往比较大,故在这种场景下,可以适用动态hash算法,通过将处理得到的碎块群存储至数据库中,并利用预置的动态散列算法极性初始加密处理,以及计算碎块群各碎块的位置信息,从而可以实现将用户的碎块群数据存储至数据库中,并存储的碎块群进行位置信息的标记处理。
40.在实际应用中,通过对用户数据存储请求进行分析,得到用户要求的存储等级,从而确定碎块群的安全等级,进而从预置数据库中选取安全等级对应历史存储的碎块群组合;对各碎块群进行存储标识处理,并将标识后的碎块群随机拼接至碎块群组合中;将拼接碎块群后的碎块群组合存储至数据库;进而采用预置的动态散列算法将碎块群中的各条数据进行哈希变换处理,得到对应的哈希散列碎片群;识别哈希散列碎片群中各条数据在碎块群组合中的初始位置信息;将初始位置信息进行序列化处理,得到碎块群中各条数据在数据库中的位置信息。
41.103、采用用户标识,对位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。
42.本实施例中,这里的加密,指的是利用相应的加密算法对位置信息囧西宁加密处理,其中这里的加密算法是能够加密处理得到无数个对应解的算法;这里的存储码值组合,指的是通过对位置信息进行加密处理得到无数个存储解,进而选择相应的组合作为存储码值组合,其中这里较佳的存储码值组合,是选择其中一个解作为选中码值,其他剩余的解作为防守码值,从而组合得到所需的存储码值组合;这里的存储标识,指的是碎块群的位置信息和用户名信息等组成的存储标识。通过利用用户标识来对位置信息进行加密处理,从而实现对用户待存储数据的隐藏处理,使得数据能够安全存储至数据库中。
43.在实际应用中,获取相应用户(即发送用户和接收用户)的标识信息,进而将将发送用户标识和接收用户标识进行连接处理,从而得到连接标识符;进而采用连接标识符,对位置信息进行加密处理,其中较佳的实现方式是该加密过程会成功无限个解码key,(类似于解方程,多元一次方程,或者sin、cos,之类的很多函数都有一个key对应无数解),该函数可以反向计算出,从而生成对应的多个存储码值和存储标识;进而选取多个存储码值中的
一个存储码值作为选中码值,以及选取多个存储码值中除选中码值外的其他存储码值作为防守码值;基于选中码值和防守码值生成存储码值组合,并将存储码值组合和存储标识进行推送。
44.本发明实施例中,获取待存储数据和对应的用户标识,并对待存储数据进行分割,得到待存储数据对应的碎块群;将碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算碎块群中各条数据在数据库中的位置信息;采用用户标识,对位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。相比于现有技术,本技术对待存储的数据进行数据分割,并将得到的待存储数据对应的碎块群存储至预置数据库中,进而将碎块群数据进行哈希变换、位置信息计算以及加密处理,从而生成对应的存储码值组合和存储标识并进行推送。实现了将待存储的数据隐藏性存储至庞大的数据库中,从而实现数据的存储,保证了用户数据的安全性。
45.请参阅图2,本发明实施例中数据存储方法的第二个实施例包括:
46.201、提取待存储数据中的文件格式标识,并根据文件格式标识,确定待存储数据中包含的多种文件格式;
47.本实施例中,这里的文件格式标识,指的是为了存储信息而使用的对信息的特殊编码方式,是用于识别内部储存的资料。比如有的储存图片,有的储存程序,有的储存文字信息。每一类信息,都可以一种或多种文件格式保存在存储设备中存储中,每一种文件格式通常会有一种或多种扩展名可以用来识别,但也可能没有扩展名,扩展名可以帮助应用程序识别的文件格式,通过提前对不同的文件格式进行标识处理,得到各文件格式标识。通过提取待存储数据的文件格式标识,从而利用文件格式标识实现对待存储数据的分割处理。
48.在实际应用中,通过预置的用户数据存储申请方式发起相应的数据存储请求,进而对数据存储请求进行分析,获取得到待存储数据和对应的用户标识,并提取待存储数据中包含有的文件格式标识,通过预置的文件格式标识表中的标识信息对待存储数据进行遍历处理,从而得到待存储数据中对应的文件格式标识;进而利用这些文件格式标识来遍历待存储数据,从而得到其中包含的多种文件格式。
49.202、将待存储数据按照文件格式进行分类,并采用预置的分割算法将分类后的待存储数据分割成多个数据片段;
50.本实施例中,这里的分割算法,指的是利用预置的分割策略将数据分割成所需的数据块,这里较佳的实现方式是按照对应文件格式,将待存储数据中不同文件格式的数据按照相对应的分割方式进行分割处理,从而得到所需的数据块。通过按照上述处理得到的文件格式对待存储数据进行分割处理,可以将不同格式的数据准确分割,并且分割过后的数据都有唯一的数据块,保证数据的唯一性,避免不同数据之间的相互干扰。
51.在实际应用中,利用上述处理得到的文件格式,对待存储数据按照文件格式分类处理,如文件格式有图片、文字、表格等,按照对应的文件格式进行分类;进而采用预置的分割算法碎分类后的待存储数据进行分割处理,按照不同文件格式对不同文件格式的数据,利用相对应文件格式的分割方式进行分割处理成多个数据片段,。
52.203、基于各数据片段生成待存储数据对应的碎块群;
53.本实施例中,基于上述处理得到的各数据片段生成上述待存储数据对应的碎块群。
54.204、将碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算碎块群中各条数据在数据库中的位置信息;
55.205、采用用户标识,对位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。
56.本发明实施例中,提取待存储数据中的文件格式标识,并根据文件格式标识,确定待存储数据中包含的多种文件格式;将待存储数据按照文件格式进行分类,并采用预置的分割算法将分类后的待存储数据分割成多个数据片段;基于各数据片段生成待存储数据对应的碎块群。相比于现有技术,本技术通过对待存储数据进行文件格式的识别和分类,进而对分类后的待存储数据利用预置的分割算法进行数据分割处理,从而得到所需的碎块群,实现了将待存储数据的分类和分割处理,保证了分类后的数据具有唯一标识性的数据片段。
57.请参阅图3,本发明实施例中数据存储方法的第三个实施例包括:
58.301、获取待存储数据和对应的用户标识,并对待存储数据进行分割,得到待存储数据对应的碎块群;
59.302、确定碎块群的安全等级,并从预置数据库中选取安全等级对应历史存储的碎块群组合;
60.本实施例中,这里的安全等级,指的是提前设置好的数据存储等级,安全性越高的数据存储,则利用越大的数据碎块群进行组合存储,实现更高的隐藏式存储,从而确定得到对应碎块群的安全等级。
61.在实际应用中,通过获取用户的数据存储要求安全等级,来获取对应的碎块群的安全等级,进而根据该安全等级,从预置数据库中选取安全等级对应历史存储的碎块群组合。
62.303、对各碎块群进行存储标识,并将标识后的碎块群随机拼接至碎块群组合;
63.本实施例中,这里的存储标识,指的是将待存储数据碎片化处理后的碎块群中的每个数据碎块,按照预设的标识方法对各个数据碎块进行标识处理,其中,这里较佳的实现方式是,通过利用用户标识来实现对各个数据碎块的标识处理。
64.在实际应用中,通过利用上述处理得到用户标识,对碎块群中的各个碎块进行存储标识处理,并将标识后的碎块群随机拼接至预置数据库中的碎块群组合中。
65.304、将拼接碎块群后的碎块群组合存储至数据库;
66.本实施例中,将上述将拼接后的碎块群和碎块群组合存储至预置的数据库中。实现将数据的隐藏式存储至巨大数据库中。
67.305、采用预置的动态散列算法将碎块群中的各条数据进行哈希变换,得到对应的哈希散列碎片群;
68.本实施例中,将上述组合得到的碎块群,利用预置的动态散列算法将碎块群中的各条数据进行哈希变换,这里较佳的实现方式是通过动态散列算法将各个碎块群数据变换为对应的哈希值,进而得到对应的哈希散列碎片群。通过哈希变换处理,使相应待存储数据能够与原碎块群数据相似,增加待存储数据的安全性。
69.306、识别哈希散列碎片群中各条数据在碎块群组合中的初始位置信息;
70.本实施例中,根据上述处理得到哈希散列碎片群,对其中各条数据的存储标记进
行标记识别,从而识别得到哈希散列碎片群中各条数据在上述碎块群组合中的初始位置信息。
71.307、将初始位置信息进行序列化处理,得到碎块群中各条数据在数据库中的位置信息;
72.本实施例中,这里的序列化处理,指的是将初始位置信息进行数据转换处理,加强初始位置信息的安全性。
73.在实际应用中,通过将上述处理得到的初始位置信息进行序列化处理,其中这里较佳的实现方式为,将初始位置信息集合中的一长串的位置数据的集合,将数字通过某连接符形成11-22-33之类的,比如json数据就是通过想成[11,22,33]表示一个数组集合的,然后将其字符串序列化为“[11,22,33]”,即可得到碎块群中各条数据在数据库中的位置信息。
[0074]
308、采用用户标识,对位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。
[0075]
本发明实施例中,确定碎块群的安全等级,并从预置数据库中选取安全等级对应历史存储的碎块群组合;对各碎块群进行存储标识,并将标识后的碎块群随机拼接至碎块群组合;将拼接碎块群后的碎块群组合存储至数据库;采用预置的动态散列算法将碎块群中的各条数据进行哈希变换,得到对应的哈希散列碎片群;识别哈希散列碎片群中各条数据在碎块群组合中的初始位置信息;将初始位置信息进行序列化处理,得到碎块群中各条数据在数据库中的位置信息。相比于现有技术,本技术通过按照相应安全等级将待存储的碎块群组合以及存储至预置数据库中,进而对存储的碎片块进行哈希变换以及位置信息的序列化处理,从而实现数据存储庞大的数据库中,并实现相应标记提取,方便数据的提取。
[0076]
请参阅图4,本发明实施例中数据存储方法的第四个实施例包括:
[0077]
401、获取待存储数据和对应的用户标识,并对待存储数据进行分割,得到待存储数据对应的碎块群;
[0078]
402、将碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算碎块群中各条数据在数据库中的位置信息;
[0079]
403、将发送用户标识和接收用户标识进行连接,得到连接标识符;
[0080]
本实施例中,根据上述处理得到用户标识,其中该用户标识包括发送用户标识和接收用户标识,进而将发送用户标识和接收用户标识进行连接,这里的一个较佳实现方式是将两个发送用户标识和接收用户标识的id通过某字符连接起来成一个长串,从而得到连接标识符。
[0081]
404、采用连接标识符,对位置信息进行加密,生成对应的多个存储码值和存储标识;
[0082]
本实施例中,通过采用上述处理得到的连接标识符,对上述的位置信息进行加密处理,这里的一个较佳实现方式是通过采用rsa算法,将乘积公开作为加密密钥,对位置信息进行加密处理,从而生成对应的多个存储码值和存储标识。
[0083]
405、选取多个存储码值中的一个存储码值作为选中码值,以及选取多个存储码值中除选中码值外的其他存储码值作为防守码值;
[0084]
本实施例中,根据上述处理得到的多个存储码值和存储标识,通过选取多个存储
码值中的一个存储码值作为选中码值,以及选取多个存储码值中除选中码值外的其他存储码值作为防守码值。其中这里的防守码值满足一旦破解者触发防守根将导致选中根失效,并且选中根只可使用一次后就会被失效。
[0085]
406、基于选中码值和防守码值生成存储码值组合,并将存储码值组合和存储标识进行推送。
[0086]
本实施例中,基于上述处理得到选中码值和防守码值,生成存储码值组合,进而将存储码值组合和存储标识进行推送。
[0087]
本发明实施例中,将发送用户标识和接收用户标识进行连接,得到连接标识符;采用连接标识符,对位置信息进行加密,生成对应的多个存储码值和存储标识;选取多个存储码值中的一个存储码值作为选中码值,以及选取多个存储码值中除选中码值外的其他存储码值作为防守码值;基于选中码值和防守码值生成存储码值组合,并将存储码值组合和存储标识进行推送。相比于现有技术,本技术通过利用用户信息生成连接标识符,进而利用该连接标识符对位置信息进行加密处理,从而得到存储码值组合和存储标识进行推送,从而实现对关键的位置信息的加密以及推送,放置相应存储提取码被破解,增加待存储数据的安全性。
[0088]
请参阅图5,本发明实施例中数据读取方法的一个实施例包括:
[0089]
501、获取数据读取请求,并提取数据读取请求中输入的存储标识和输入的存储码值;
[0090]
本实施例中,通过相应的方式获取用户的数据读取请求,进而对数据读取请求进行分析处理,从而得到数据读取请求中的输入存储标识和输入存储码值。
[0091]
502、在预置数据库中查询与输入的存储标识相关联的目标碎块群,并判断输入的存储码值是否为目标碎块群对应的选中码值;
[0092]
本实施例中,根据上述处理得到的输入存储标识和输入存储码值,在预置的数据库中查询与输入存储标识相关联的目标碎块群,并判断输入存储码值是否为目标碎块群对应的选中码值。其中通过判断是否为选中码值,如果是选中码值,碎片将组合成真正的文件内容。如果非选中码值会在取碎片的过程中触发某些诱饵碎片,一旦诱饵碎片被触发,将触发提醒给发送人的客户端,可设置为配置自动所有根失效。
[0093]
503、若是,则对输入的存储码值进行解密和反序列化处理,得到目标碎块群对应的位置信息;
[0094]
本实施例中,若输入存储码值为目标碎块群对应的选中码值,则利用存储标识和输入选中码值,对输入存储码值进行解密,进而对解密后的数据反序列化处理,从而得到目标碎块群对应的位置信息。
[0095]
504、按照目标碎块群对应的位置信息,读取目标碎块群中的各条数据并进行组合,得到数据读取请求对应的响应数据。
[0096]
本实施例中,按照上述处理得到的目标碎块群对应的位置信息,将目标碎块群中的对应位置信息的各条数据提取并进行组合,从而得到数据读取请求对应的响应数据,并将响应数据推送给用户。
[0097]
本发明实施例中,获取数据读取请求,并提取数据读取请求中输入的存储标识和输入的存储码值;在预置数据库中查询与输入的存储标识相关联的目标碎块群,并判断输
入的存储码值是否为目标碎块群对应的选中码值;若是,则对输入的存储码值进行解密和反序列化处理,得到目标碎块群对应的位置信息;按照目标碎块群对应的位置信息,读取目标碎块群中的各条数据并进行组合,得到数据读取请求对应的响应数据。相比于现有技术,本技术通过利用输入存储标识和输入存储码值来查询相应的位置信息,进而通过位置信息来提取各条数据,从而得到数据读取请求对应的响应数据。通过判断对应的存储码值,防止非法用户对存储数据的获取,增强了存储数据的安全性。
[0098]
上面对本发明实施例中数据存储方法和数据读取方法进行了描述,下面对本发明实施例中数据存储装置和数据读取装置进行描述,请参阅图6,本发明实施例中数据存储装置一个实施例包括:
[0099]
数据分割模块601,用于获取待存储数据和对应的用户标识,并对所述待存储数据进行分割,得到所述待存储数据对应的碎块群;
[0100]
位置计算模块602,用于将所述碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息;
[0101]
数据推送模块603,用于采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。
[0102]
本发明实施例中,获取待存储数据和对应的用户标识,并对待存储数据进行分割,得到待存储数据对应的碎块群;将碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算碎块群中各条数据在数据库中的位置信息;采用用户标识,对位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。相比于现有技术,本技术对待存储的数据进行数据分割,并将得到的待存储数据对应的碎块群存储至预置数据库中,进而将碎块群数据进行哈希变换、位置信息计算以及加密处理,从而生成对应的存储码值组合和存储标识并进行推送。实现了将待存储的数据隐藏性存储至庞大的数据库中,从而实现数据的存储,保证了用户数据的安全性。
[0103]
请参阅图7,本发明实施例中数据存储装置的另一个实施例包括:
[0104]
数据分割模块601,用于获取待存储数据和对应的用户标识,并对所述待存储数据进行分割,得到所述待存储数据对应的碎块群;
[0105]
位置计算模块602,用于将所述碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息;
[0106]
数据推送模块603,用于采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。
[0107]
进一步的,所述数据分割模块601,包括:
[0108]
标识提取单元6011,用于提取所述待存储数据中的文件格式标识,并根据所述文件格式标识,确定所述待存储数据中包含的多种文件格式;数据分割单元6012,用于将所述待存储数据按照所述文件格式进行分类,并采用预置的分割算法将分类后的待存储数据分割成多个数据片段;基于各所述数据片段生成所述待存储数据对应的碎块群。
[0109]
进一步的,所述位置计算模块602,包括:
[0110]
等级选取单元6021,用于确定所述碎块群的安全等级,并从预置数据库中选取所述安全等级对应历史存储的碎块群组合;碎块组合单元6022,用于对各所述碎块群进行存储标识,并将标识后的碎块群随机拼接至所述碎块群组合;碎块存储单元6023,用于将拼接
processing units,cpu)910(例如,一个或一个以上处理器)和存储器920,一个或一个以上存储应用程序933或数据932的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器920和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备900中的一系列指令操作。更进一步地,处理器910可以设置为与存储介质930通信,在计算机设备900上执行存储介质930中的一系列指令操作。
[0122]
计算机设备900还可以包括一个或一个以上电源940,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口960,和/或,一个或一个以上操作系统931,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图9示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0123]
本发明还提供一种计算机设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述数据存储方法的各个步骤。
[0124]
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述数据存储和读取方法的各个步骤。
[0125]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0126]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0127]
本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0128]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些
修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:1.一种数据存储方法,其特征在于,所述数据存储方法包括:获取待存储数据和对应的用户标识,并对所述待存储数据进行分割,得到所述待存储数据对应的碎块群;将所述碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息;采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。2.根据权利要求1所述的数据存储方法,其特征在于,所述对所述待存储数据进行分割,得到所述待存储数据对应的碎块群,包括:提取所述待存储数据中的文件格式标识,并根据所述文件格式标识,确定所述待存储数据中包含的多种文件格式;将所述待存储数据按照所述文件格式进行分类,并采用预置的分割算法将分类后的待存储数据分割成多个数据片段;基于各所述数据片段生成所述待存储数据对应的碎块群。3.根据权利要求1所述的数据存储方法,其特征在于,所述将所述碎块群随机存储至预置数据库中,包括:确定所述碎块群的安全等级,并从预置数据库中选取所述安全等级对应历史存储的碎块群组合;对各所述碎块群进行存储标识,并将标识后的碎块群随机拼接至所述碎块群组合;将拼接碎块群后的碎块群组合存储至所述数据库。4.根据权利要求3所述的数据存储方法,其特征在于,所述利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息,包括:采用预置的动态散列算法将所述碎块群中的各条数据进行哈希变换,得到对应的哈希散列碎片群;识别所述哈希散列碎片群中各条数据在所述碎块群组合中的初始位置信息;将所述初始位置信息进行序列化处理,得到所述碎块群中各条数据在所述数据库中的位置信息。5.根据权利要求4所述的数据存储方法,其特征在于,所述用户标识包括发送用户标识和接收用户标识,所述采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送,包括:将所述发送用户标识和所述接收用户标识进行连接,得到连接标识符;采用所述连接标识符,对所述位置信息进行加密,生成对应的多个存储码值和存储标识;选取所述多个存储码值中的一个存储码值作为选中码值,以及选取所述多个存储码值中除选中码值外的其他存储码值作为防守码值;基于所述选中码值和所述防守码值生成存储码值组合,并将所述存储码值组合和所述存储标识进行推送。6.一种数据读取方法,其特征在于,所述数据读取方法包括:获取数据读取请求,并提取所述数据读取请求中输入的存储标识和输入的存储码值;
在预置数据库中查询与所述输入的存储标识相关联的目标碎块群,并判断所述输入的存储码值是否为所述目标碎块群对应的选中码值;若是,则对所述输入的存储码值进行解密和反序列化处理,得到所述目标碎块群对应的位置信息;按照所述目标碎块群对应的位置信息,读取所述目标碎块群中的各条数据并进行组合,得到所述数据读取请求对应的响应数据。7.一种数据存储装置,其特征在于,所述数据存储装置包括:数据分割模块,用于获取待存储数据和对应的用户标识,并对所述待存储数据进行分割,得到所述待存储数据对应的碎块群;位置计算模块,用于将所述碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息;数据推送模块,用于采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。8.一种数据读取装置,其特征在于,所述数据读取装置包括:标识提取模块,用于获取数据读取请求,并提取所述数据读取请求中输入的存储标识和输入的存储码值;碎块查询模块,用于在预置数据库中查询与所述输入的存储标识相关联的目标碎块群,并判断所述输入的存储码值是否为所述目标碎块群对应的选中码值;码值计算模块,用于若是,则对所述输入的存储码值进行解密和反序列化处理,得到所述目标碎块群对应的位置信息;数据读取模块,用于按照所述目标碎块群对应的位置信息,读取所述目标碎块群中的各条数据并进行组合,得到所述数据读取请求对应的响应数据。9.一种计算机设备,其特征在于,所述计算机设备包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述计算机设备执行如权利要求1-5中任一项所述的数据存储方法的各个步骤;或所述至少一个处理器调用所述存储器中的所述指令,以使得所述计算机设备执行如权利要求6所述的数据读取方法的各个步骤。10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-5中任一项所述数据存储方法的各个步骤;或所述指令被处理器执行时实现如权利要求6所述数据读取方法的各个步骤。
技术总结本发明涉及大数据技术领域,公开了一种数据存储和读取方法、装置、设备及存储介质。该方法包括:获取待存储数据和对应的用户标识,并对所述待存储数据进行分割,得到所述待存储数据对应的碎块群;将所述碎块群随机存储至预置数据库中,并利用预置的动态散列算法,计算所述碎块群中各条数据在所述数据库中的位置信息;采用所述用户标识,对所述位置信息进行加密,生成对应的存储码值组合和存储标识并进行推送。本申请提升了了对用户隐私数据存储和管理的安全程度。理的安全程度。理的安全程度。
技术研发人员:罗紫林
受保护的技术使用者:平安国际智慧城市科技股份有限公司
技术研发日:2022.04.11
技术公布日:2022/7/5