处理数据的方法、装置和存储介质与流程

文档序号:16780415发布日期:2019-02-01 19:05阅读:143来源:国知局
处理数据的方法、装置和存储介质与流程

本公开涉及数据存储领域,具体地,涉及一种处理数据的方法、装置和存储介质。



背景技术:

相关技术中,一些安全防护性要求比较高的系统设计中可能会有一些特定要求,为了避免权限过于集中,需要采取权利分散设计,这样可以提高系统抵御风险的能力,不会因为某一个关键角色缺失而影响系统功能运行。比如,把一个文件分割交给m个人,只要集齐其中n(m>n>m/2)个人手中的部分就可以还原文件内容。

在申请号为201210066001.7的一份中国专利申请文件中,公开了一种数据分散存储方法,该方法按照预定规则将原始数据分散存储到多张数据卡中,使得每张数据卡按照其卡序号索引自动存储了对应的部分数据,并以交叉方式存储了其他数据卡中的部分数据,使得仅通过任意超过半数的数据卡就能还原所有数据卡中存储的原始数据。但是,该申请文件需要对原始数据进行二次分割和二次存储,并且分割方法复杂。



技术实现要素:

本公开提供一种处理数据的方法、装置和存储介质,以解决相关技术中对原始数据进行分割存储的操作比较繁琐的技术问题。

为实现上述目的,本公开实施例的第一方面,提供一种处理数据的方法,所述方法包括:

将原始数据划分成与存储介质的数量m相关的数据块;

在每个存储介质中存储n个互不相同的数据块,以使读取n个互不相同的存储介质中的数据能够恢复所述原始数据;其中,每个所述存储介质中至少有一个数据块与其他存储介质中的数据块不同;m>n>m/2,m和n均为自然数,且m≥3。

可选地,所述将原始数据划分成与存储介质的数量m相关的数据块,包括:

当m是奇数时,将原始数据划分成m个数据块;或

当m是偶数时,将原始数据划分成m+1个数据块。

可选地,所述将原始数据分成与存储介质的数量m相关的数据块,包括:

将原始数据等分成与存储介质的数量m相关的数据块。

可选地,所述将原始数据划分成与存储介质的数量m相关的数据块后,所述方法还包括:

将每个数据块按照先后顺序以不同的位置标号标记,并将位置标号增加到对应的数据块中。

本公开实施例的第二方面,提供一种处理数据的方法,用于对根据上述第一方面中任一项所述的方法执行了处理数据的存储介质执行数据还原,包括:

选取n个互不相同的存储介质;

从所述n个互不相同的存储介质中筛选组成所述原始数据的数据块;

将筛选出的数据块拼接成所述原始数据。

可选地,所述数据块中均设有位置标号;所述将筛选出的数据块拼接成所述原始数据,包括:

从筛选出的数据块中读取所述位置标号;

根据所述位置标号,将筛选出的数据块拼接成所述原始数据。

本公开实施例的第三方面,提供一种处理数据的装置,所述装置包括:

划分模块,用于将原始数据划分成与存储介质的数量m相关的数据块;

存储模块,用于在每个存储介质中存储n个互不相同的数据块,以使读取n个互不相同的存储介质中的数据能够恢复所述原始数据;其中,每个所述存储介质中至少有一个数据块与其他存储介质中的数据块不同;m>n>m/2,m和n均为自然数,且m≥3。

可选地,所述划分模块还用于:

当m是奇数时,将原始数据划分成m个数据块;或

当m是偶数时,将原始数据划分成m+1个数据块。

可选地,所述划分模块还用于:

将原始数据等分成与存储介质的数量m相关的数据块。

可选地,还包括:

标记模块,用于将原始数据划分成与存储介质的数量m相关的数据块后,将每个数据块按照先后顺序以不同的位置标号标记,并将位置标号增加到对应的数据块中。

本公开实施例的第四方面,提供一种处理数据的装置,用于对根据上述第三方面中任一项所述的装置执行了处理数据的存储介质执行数据还原,包括:

选取模块,用于选取n个互不相同的存储介质;

筛选模块,用于从所述n个互不相同的存储介质中筛选组成所述原始数据的数据块;

拼接模块,用于将筛选出的数据块拼接成所述原始数据。

可选地,所述数据块中均设有位置标号;所述拼接模块包括:

读取子模块,用于从筛选出的数据块中读取所述位置标号;

拼接子模块,用于根据所述位置标号,将筛选出的数据块拼接成所述原始数据。

本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面或第二方面中任一项所述方法的步骤。

本公开实施例的第六方面,提供一种处理数据的装置,包括:

存储器,其上存储有计算机程序;以及

处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面或第二方面中任一项所述方法的步骤。

采用上述技术方案,至少能够达到如下技术效果:

本公开通过将原始数据划分成与存储介质的数量m相关的数据块,然后在每个存储介质中存储n个互不相同的数据块,进而可以在还原原始数据时,只需超过半数的存储介质参与就可以还原全部原始数据。相比于背景技术中申请号为201210066001.7的专利申请文件,本公开的数据分割和数据还原方法均不相同,本公开只需要对原始数据一次分割和一次存储即可。进而,本公开实现处理数据的过程更加简单,数据冗余量较小,处理速度更快,并且对分割之后存储介质数量要求较低,适用场景广,即可以提高原数据的安全性,也可以实现相互制衡的作用。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是本公开一示例性实施例示出的一种处理数据的方法流程图。

图2是本公开一示例性实施例示出的另一种处理数据的方法流程图。

图3是本公开一示例性实施例示出的一种处理数据的装置框图。

图4是本公开一示例性实施例示出的另一种处理数据的装置框图。

图5是本公开一示例性实施例示出的一种处理数据的装置的拼接模块的框图。

图6是本公开一示例性实施例示出的一种处理数据的装置框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是本公开一示例性实施例示出的一种处理数据的方法流程图,以解决相关技术中对原始数据进行分割存储的操作比较繁琐的技术问题。如图1所示,该处理数据的方法包括:

s11,将原始数据划分成与存储介质的数量m相关的数据块。

s12,在每个存储介质中存储n个互不相同的数据块,以使读取n个互不相同的存储介质中的数据能够恢复所述原始数据;其中,每个所述存储介质中至少有一个数据块与其他存储介质中的数据块不同;m>n>m/2,m和n均为自然数,且m≥3。

s13,选取n个互不相同的存储介质。

s14,从所述n个互不相同的存储介质中筛选组成所述原始数据的数据块。

s15,将筛选出的数据块拼接成所述原始数据。

需要说明的是,步骤s11至步骤s12的执行主体与步骤s13至步骤s15的执行主体可以是两个不同的主体。比如,步骤s11至步骤s12的执行主体可以是服务器,步骤s13至步骤s15的执行主体可以是连接于所述服务器的终端,所述服务器将原始数据分割成数据块存储于内部的存储介质中,所述终端读取所述服务器中存储介质中的数据块并恢复成原始数据。

当然,在其它的实施例中,步骤s11至步骤s12的执行主体与步骤s13至步骤s15的执行主体也可以是一个相同的主体,比如都是服务器或者终端。

在步骤s11中,需要根据存储介质的数量m将原始数据(以a表示)划分成数据块,以使所述数据块的数量与所述存储介质的数量m相关。其中,为了提高执行主体的工作效率,可以将原始数据a等分成与存储介质的数量m相关的数据块。当然,在其它的实施例中,也可以对原始数据a进行不等分划分。

可选地,当m是奇数时,把原始数据a划分成m块,每个数据块可以按照先后顺序分别以标号a1、a2、……、am标记;当m是偶数时,把原始数据a划分成m+1块,每个数据块可以按照先后顺序分别以标号a1、a2、……、am+1标记。

将原始数据a划分成数据块后,执行步骤s12,在每个存储介质中存储n个互不相同的数据块,以使读取n个互不相同的存储介质中的数据能够恢复所述原始数据;其中,每个所述存储介质中至少有一个数据块与其他存储介质中的数据块不同;m>n>m/2,m和n均为自然数,且m≥3。

举例来讲,m个存储介质可以分别以标号s1、s2、……、sm标记,在标号为s1的存储介质上存放任意n块互不相同的数据块;在标号为s2的存储介质上存放n块互不相同的数据块,并且要求其中至少有一个数据块与s1上的不同;以此规则类推,在标号为sx(1<x≤m)的存储介质上存放n块互不相同的数据块,并且要求其中至少有一个数据块与之前的s1、……、sx-1上的都不同。

在存储数据块后,为了还原原始数据a,首先需要选取n个互不相同的存储介质,然后执行步骤s14,从所述n个互不相同的存储介质中筛选组成所述原始数据的数据块。

所述从所述n个互不相同的存储介质中筛选组成所述原始数据的数据块,可以包括:选取第一个存储介质中所有的数据块;对i依次赋值为2到n的正整数,并在每次赋值后执行:选取第i个存储介质中与之前i-1个存储介质中都不同的数据块。

在筛选出组成所述原始数据的数据块后,执行步骤s15,将筛选出的数据块拼接成所述原始数据。即可以将筛选出的所述数据块按照组成所述原始数据的顺序进行拼接,则可以恢复成原始数据,数学上的证明如下:

本公开通过将原始数据划分成与存储介质的数量m相关的数据块,然后在每个存储介质中存储n个互不相同的数据块,进而可以在还原原始数据时,只需超过半数的存储介质参与就可以还原全部原始数据。相比于背景技术中申请号为201210066001.7的专利申请文件,本公开的数据分割和数据还原方法均不相同,本公开只需要对原始数据一次分割和一次存储即可。进而,本公开实现处理数据的过程更加简单,数据冗余量较小,处理速度更快,并且对分割之后存储介质数量要求较低,适用场景广,即可以提高原数据的安全性,也可以实现相互制衡的作用。

值得说明的是,对于图1所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。

图2是本公开一示例性实施例示出的另一种处理数据的方法流程图,以解决相关技术中对原始数据进行分割存储的操作比较繁琐的技术问题。如图2所示,该处理数据的方法包括:

s21,将原始数据划分成与存储介质的数量m相关的数据块。

s22,将每个数据块按照先后顺序以不同的位置标号标记,并将位置标号增加到对应的数据块中。

s23,在每个存储介质中存储n个互不相同的数据块,以使读取n个互不相同的存储介质中的数据能够恢复所述原始数据;其中,每个所述存储介质中至少有一个数据块与其他存储介质中的数据块不同;m>n>m/2,m和n均为自然数,且m≥3。

s24,选取n个互不相同的存储介质。

s25,从所述n个互不相同的存储介质中筛选组成所述原始数据的数据块。

s26,从筛选出的数据块中读取所述位置标号。

s27,根据所述位置标号,将筛选出的数据块拼接成所述原始数据。

举例来讲,首先,分割原始数据a且可以对存储介质标号:当m是奇数时,把原始数据a划分成m块,每个数据块可以按照先后顺序分别以标号a1、a2、……、am标记,并把标号增加到每个数据块的头部;当m是偶数时,把原始数据a划分成m+1块,每个数据块可以按照先后顺序分别以标号a1、a2、……、am+1标记,并把标号增加到每个数据块的头部;m个存储介质可以分别以标号s1、s2、……、sm标记。

接着,存储分割后的数据块:在标号为s1的存储介质上存放任意n块互不相同的数据块;在标号为s2的存储介质上存放n块互不相同的数据块,并且要求其中至少有一个数据块与s1上的不同;以此规则类推,在标号为sx(1<x≤m)的存储介质上存放n块互不相同的数据块,并且要求其中至少有一个数据块数据与之前的s1、……、sx-1上的都不同。

在执行恢复原始数据的过程中,首先,需要读取存储介质中的数据块:选取n个互不相同的存储介质,分别以s1、s2、……、sn标记,依次读取介质上的数据块。读取规则是:读取第一个存储介质s1中全部的数据块,即n个数据块,记作as11、as12、……、as1n,根据存储时的规则可知这个数据块是互不相同的;读取第二个存储介质s2中全部的数据块,记作as21、as22、……、as2n;根据存储时的规则可知,存储介质s2中的数据块中至少有一块是与第一个存储介质s1上的数据块是不同的,把这块不同的数据记作as2n+1;以此规则类推,读取第x(1<x≤n)个存储介质sx中全部的数据块,记作asx1、asx2、……、asxn,根据存储时的规则可知,存储介质sx中的数据块中至少有一块是与之前的s1、……、sx-1上的都不同,把这个不同的数据块记作asxn+x-1;当x等于n时(即取出第n个存储介质),sn中不同于其他存储介质的块数据记作asxn+n-1;至此,共得到n+n-1(即2n-1)个互不相同的数据块。

最后,还原原始数据:把上一步得到的2n-1个不同的数据块,按照每个数据块头部的标号顺序拼接起来,即可还原原始数据a。

图3是本公开一示例性实施例示出的一种处理数据的装置框图。如图3所示,所述处理数据的装置310包括:

划分模块311,用于将原始数据划分成与存储介质的数量m相关的数据块;

存储模块313,用于在每个存储介质中存储n个互不相同的数据块,以使读取n个互不相同的存储介质中的数据能够恢复所述原始数据;其中,每个所述存储介质中至少有一个数据块与其他存储介质中的数据块不同;m>n>m/2,m和n均为自然数,且m≥3。

可选地,所述划分模块311还用于:

当m是奇数时,将原始数据划分成m个数据块;或

当m是偶数时,将原始数据划分成m+1个数据块。

可选地,所述划分模块311还用于:

将原始数据等分成与存储介质的数量m相关的数据块。

可选地,如图3所示,所述处理数据的装置310还包括:

标记模块312,用于将原始数据划分成与存储介质的数量m相关的数据块后,将每个数据块按照先后顺序以不同的位置标号标记,并将位置标号增加到对应的数据块中。

图4是本公开一示例性实施例示出的另一种处理数据的装置框图,用于对根据上述处理数据的装置310执行了处理数据的存储介质执行数据还原。如图4所示,所述处理数据的装置320包括:

选取模块321,用于选取n个互不相同的存储介质;

筛选模块322,用于从所述n个互不相同的存储介质中筛选组成所述原始数据的数据块;

拼接模块323,用于将筛选出的数据块拼接成所述原始数据。

可选地,所述数据块中均设有位置标号,如图5所示,所述拼接模块323包括:

读取子模块3231,用于从筛选出的数据块中读取所述位置标号;

拼接子模块3232,用于根据所述位置标号,将筛选出的数据块拼接成所述原始数据。

关于上述实施例中的装置310、320,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项可选实施例所述处理数据的方法步骤。

本公开还提供一种处理数据的装置,包括:

上述的计算机可读存储介质;以及

一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。

图6是根据一示例性实施例示出的一种处理数据的装置框图。如图6所示,该装置400可以包括:处理器401,存储器402,多媒体组件403,输入/输出(i/o)接口404,以及通信组件405。

其中,处理器401用于控制该装置400的整体操作,以完成上述的处理数据的方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该装置400的操作,这些数据例如可以包括用于在该装置400上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该装置400与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,装置400可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的处理数据的方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器402,上述程序指令可由装置400的处理器401执行以完成上述的处理数据的方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1