背景技术
随着科技的发展和消费电子设备的普及,有越来越多的数据和信息需要被储存,一个需要解决的问题就是数据和信息的安全问题,即如何防止需要保密的数据被他人得到或者破译。通常的存储装置如硬盘、U盘、SD存储卡等包括接口模块、管理模块或者控制模块、存储部件和其它辅助部分。存储部件是记录所存储的数据的物理载体,是存储装置的核心组成部件。存储部件包括但不限于磁盘、flash存储芯片等。现在有很多对存储装置上的数据进行保密存储的方法和装置。有纯软件方面的解决办法,如对存储的文件进行软件加密。有硬件方面的解决办法,如需要指纹认证的U盘。还有一种解决的方法是把数据存储到存储装置的同时进行加密,并把加密的密钥存储到另一个存储介质上,如中国发明专利(申请号200510071193.0“一种移动存储装置及存取移动存储装置中加密数据的方法”)中公开了一种移动存储装置及存取移动存储装置中加密数据的方法。
这些现有的针对存储装置上的数据安全的解决方法都存在一个问题,即,这些加密后的数据都是被存储在单一的存储装置上,如果这一存储装置丢失,那么完整的数据就会被他人得到,这些加密后的数据在理论上都是可以被破解的,只是花费的代价大小不同。并且很多时候数据的泄密是由掌握数据的数据共有者恶意泄漏的,数据的其他共有者无法阻止这种情况下的泄密。
有一种解决的方法是采用文件压缩软件把需要存储的文件压缩分割成几个新的小文件并分开存储,如使用文件压缩软件WinRAR把需要存储的文件压缩成几个新的小文件然后分别存储到不同的存储装置中。还有一些文件分割软件也可以实现类似的功能,文件分割软件可以把一个需要存储的文件分割为多个新的小文件,然后可以由操作者把这些新的小文件分别存储到不同的存储装置中。这样做可以防止数据共有者恶意泄密。但是整个文件的分割、存储的过程是分开的,需要操作者参与操作,无法自动完成。该方法需要与计算机连接多个存储装置。并且,目前这些方法只能在计算机上实现,不能在数码相机、数码DV等电子产品上实现。
中国发明专利(公开号CN1627275“将文件分割存储和还原处理的方法和***”)中公开了一种文件分拆存储的方法和***。该方法在计算机上将要保密存储的文件分割成两部分,并分别对这两部分进行加密和分开存储。该方法和***可以实现文件的保密存储并防止数据共有者泄密。但是该方法的文件分割加密过程只能在计算机上以软件的方式实现,存储装置只是一个数据文件记录装置。该方法需要与计算机连接多个存储装置。该方法不能在数码相机等电子产品上实现。
中国发明专利(公开号CN101064596“数据保护***、方法及程序”)中公开了一种数据保护***、方法和程序。该方法在计算机上将数据分割成几个部分,对每个部分分别加密和分开存储。该方法可以实现文件的保密存储并防止数据共有者泄密。但是该方法的文件分割加密过程只能在计算机上以软件的方式实现,存储装置只是一个数据文件记录装置。该方法需要与计算机连接多个存储装置。该方法不能在数码相机等电子产品上实现。
发明专利CN1627275和发明专利CN101064596的方法的实质都是把文件分割成几个新的小文件后分开保存,这两种方法和前述的通过软件把需要存储的文件分割后分别存储的方法都是在计算机***中实现的,而不是在存储装置内部实现的。存储装置只是分拆后的新的小文件的存储介质。这些方法都无法应用到数码相机、数码DV等电子产品上。
附图说明
下面结合附图和实施例对本发明进一步说明。在附图中,相同或相似的标号代表相同或相似的部件。
图1是本发明的数据存储方法的流程图;
图2是本发明的数据存储方法的一个实施例的示意图;
图3是本发明的数据存储方法的一个实施例的示意图;
图4是本发明的数据存储方法的一个实施例的示意图;
图5是本发明的数据存储方法的一个实施例的示意图;
图6是本发明的数据存储方法的一个实施例的示意图;
图7是本发明的数据存储方法的一个实施例的示意图;
图8是本发明的数据存储装置的原理示意图;
图9是本发明的数据存储装置的一个实施例的示意图;
图10是本发明的数据存储装置的一个实施例的示意图;
图11是本发明的数据存储装置的一个实施例的示意图;
图12是本发明的数据存储装置的一个实施例的示意图;
图13a是本发明数据存储装置的一种可分离的接口主视图;
图13b是本发明的数据存储装置的一种可分离的接口俯视图;
图14a是本发明的数据存储装置的一种可分离的接口主视图;
图14b是本发明的数据存储装置的一种可分离的接口俯视图;
图15是本发明的数据存储装置的开关部件的原理图;
图16是本发明的数据分割分存装置的工作流程图;
图17是本发明的数据分割分存装置的文件分割流程图;
图18是本发明的数据分割分存装置的结构示意图;
图19是本发明的数据分割分存装置的一个实施例的结构示意图。
具体实施方式
文件在存储过程中的物理形式是数据字节流。数据字节流是由要存储的数据的字节构成的连续的字节流。在图1中,在步骤11,首先从数据字节流分割出一个字节组。字节组是包含一个或者多个字节的一组字节。然后,在步骤13中,这个字节组被分拆为多个比特组。比特组是包含一个或者多个比特的一组比特。在步骤13中,对不同的字节组分拆成比特组的方式可以是相同的,也可以是不同的。在步骤15,从字节组分拆出的多个比特组被分别存储到对应的多个存储部件中。存储部件的数量不但可以等于每一个字节组分拆出的比特组的数量,还可以多于每一个字节组分拆出的比特组的数量,这时,一个比特组可以被重复存储到一个以上的存储部件中。如果存储部件的数量少于一个字节组分拆出的比特组的数量,则必然有两个比特组被存储到同一个存储部件,这相当于把这两个比特组重新组合成了一个新的比特组,所以存储部件的数量应该大于或者等于一个字节组分拆出的比特组的数量,即,字节组的每一个比特组至少被存储到一个存储部件。在步骤17,判断是否是数据字节流的末尾,如果是,结束存储;如果不是,则重复步骤11。步骤11中,每次从数据字节流分割出一个字节组的方式可以是相同的,也可以是不同的。这样,就通过将多个比特组分别存储到多个不同的存储部件存储了所述多个字节组的内容,即完成了数据字节流的存储过程。上述流程中,存储在存储部件中的是完整数据文件分拆后的比特组形式的数据碎片,而不是完整的文件。单独一个存储部件中的数据碎片无法用常规的方法读取,也无法破译,当把存储部件从存储装置中分离出来并分别保存后,即使部分存储部件丢失也不会根据数据碎片得到整个的文件,这样就不会造成泄密。读取数据时,依次从存储部件读出比特组,并重新组合成字节组,把字节组依次输出,完成读取过程。
在图2中,字节组305是从数据字节流300分割出来的一个字节组。字节组305为一个完整的字节构成。字节组305被分拆为比特组311和比特组313。字节组305的高4位被分拆到比特组311,字节组305的低4位被分拆到比特组313。比特组311补充4个比特的“0”构成一个完整的字节并被存储到存储部件321中。比特组313补充4个比特的“1”构成一个完整的字节并被存储到存储部件323中。持续的从数据字节流分割出字节组并把每个字节组分拆成多个比特组,然后把每个比特组分别存储到对应的存储部件直到完成所有数据的存储。其中,对每一个字节组的分拆方式都是相同的,每个比特组都包含所述字节组内属于不同比特位的多个比特。本领域的技术人员应当理解,比特组不但可以包含多个比特,也可以只包含一个比特。
在图3中,字节组305是从数据字节流300分割出来的一个字节组。字节组305为一个完整的字节构成。字节组305被分拆为比特组311和比特组313。字节组305的2、4、6、8位被分拆到比特组311,字节组305的1、3、5、7位被分拆到比特组313。将比特组311和比特组313分别存储到对应的存储部件。持续的从数据字节流分割出字节组并把每个字节组分拆成多个比特组,然后把每个比特组分别存储到对应的存储部件直到完成所有数据的存储。本实施例中,每个比特组都包含所述字节组内属于不同比特位的多个比特,而每个字节组内的任意比特位的比特也被分拆到了一个比特组。
在图4中,字节组305是从数据字节流300分割出来的一个字节组。字节组305为一个完整的字节构成。字节组305被分拆为比特组311和比特组313。字节组305的1、4、6、7、8位被分拆到比特组311,字节组305的2、3、5、6、7位被分拆到比特组313。其中字节组305的6、7位的比特被重复分拆到比特组311和比特组313。本实施例中,每个字节组内的任意比特位的比特可以被分拆到一个以上的比特组。即,字节组内任意比特位的比特至少属于一个比特组。
在图5中,字节组305是从数据字节流300分割出来的一个字节组。字节组305由3个完整的字节构成。字节组305被分拆为比特组311、比特组313和比特组315。比特组311、比特组313和比特组315分别为字节组305的第一、第二和第三个字节。把比特组311、比特组313和比特组315分别存储到存储部件321、存储部件323和存储部件325中。本领域的技术人员应当理解,字节组并不局限于分拆成2个比特组,字节组可以被分拆为多个比特组。持续的从数据字节流分割出字节组并把每个字节组分拆成多个比特组,然后把每个比特组分别存储到对应的存储部件直到完成所有数据的存储。
在图6中,字节组305是从数据字节流300分割出来的一个字节组。字节组305由2个字节构成。字节组305被分拆为比特组311和比特组313。字节组305的第一个字节和第二个字节的高4位被分拆到比特组311,字节组305的第一个字节和第二个字节的低4位被分拆到比特组313。比特组311中的来自字节组305的第一个字节和第二个字节的高4位的比特重新组合成一个8位的比特组,该比特组构成了一个字节,被存储到存储部件321中。比特组313中的来自字节组305的第一个字节和第二个字节的低4位的比特重新组合成一个8位的字节,存储到存储部件323中。
在图7中,字节组305是从数据字节流300分割出来的一个字节组。字节组305由6个字节构成。字节组305被分拆为比特组311和比特组313。字节组305的第1、2、3个字节被分拆到比特组313,字节组305的第4、5、6个字节被分拆到比特组311。把比特组311、比特组313分别存储到对应的存储部件中。
在图8中,主控设备100通过接口103和数据存储装置200的接口203连接。主控设备100可以是计算机、数码电子产品如数码相机、MP3或者其他有数据文件读写功能的装置或者***。数据存储装置200可以是主控设备100的固有存储设备如磁盘,也可以是可插拔的便携式储存设备,如U盘、存储卡。接口103和接口203可以是常用的数据传输接口如USB接口、SD卡接口,也可以是其他标准的数据接口。主控设备100与数据存储装置200之间交换的信息包括各种控制命令和数据文件,主控设备100与数据存储装置200之间可以进行数据文件的存储操作。要存储的数据经过管理部件210以数据字节流的形式传递给分拆模块211。在分拆模块211中,数据字节流被分割为多个字节组,每个字节组又被分拆成2个比特组,这些比特组被分别存储到存储部件213和存储部件215中。分拆模块211可以但是不限于采取完全硬件实现或者同时包含硬件单元和软件单元的实现形式。软件单元包括但不限于固件驻留软件、微代码等。硬件单元包括但是不限于微处理器、单片机或者其它可编程器件,这些器件可以通过编程实现把数据字节流分割为多个字节组,把每个字节组又分拆成多个比特组的过程并把多个比特组分别存储到不同的存储部件中。软件单元的把数据字节流分拆成多个比特组并分别存储的过程可以按照但是不局限于图1、图2、图3、图4、图5、图6、图7中的方式实现。存储部件可以是公知的存储器件,如Flash存储芯片、磁盘等存储器件,但是不限于上述存储器件。来自主控设备100的需要被存储的数据依次地被分割成字节组再被分拆成比特组并被存储,直到完成所有数据的存储。存储部件213和215中分别记录了全部完整数据的一部分,当把存储部件213和215从数据存储装置200上分离并分别保存时,实现了对存储到储存装置200中的数据的保密存储。这样,即使一个存储部件被其他人得到,也无法得到全部的数据,从而实现了数据的保密存储。读取数据时,从存储部件213、215中读取出比特组,在分拆模块211中把比特组重新拼合成字节组,然后把字节组依次输出给接口203,完成数据的读取。图8中画出了两个存储部件,但是本领域的技术人员应当理解,本发明的数据存储装置的存储部件的数量并不局限于两个,存储装置可以有两个以上的存储部件。在本发明的数据存储装置中,数据分拆、存储的过程是在数据存储装置中自动完成的,而不是在存储装置外部进行的,无需人工参与,并且,数据存储装置不但可以应用于计算机***,还可以应用于数码相机、数码DV等电子产品。
在图9中,存储部件421和425可以分离的安装到数据存储装置400,存储部件423固定安装到数据存储装置400。图中的命令布线431、地址布线433、数据布线435分别包括多路控制、地址和数据线路。数据存储装置400通过接口403与主控设备连接。存储时,主控设备传输来的数据信息经过接口403、连线437传递给管理部件410,管理部件410对传递来的数据信息进行分析,解读出控制命令和需要存储的数据。管理部件410通过命令布线431向存储部件421、423和425传递各种控制命令。管理部件410通过地址布线433向存储部件421、423和425传递数据存储的地址信息。从管理部件410发出的数据布线435由8根数据线路组成,其中2根与存储部件425连接,3根与存储部件423连接,3根与存储部件421连接。即,数据布线中的不同数据线路分别连接到不同的存储部件。通常存储部件的数据输入端口为8位,数据布线435的数据线路可以与存储部件的8位输入端口的任意输入引脚相连。存储部件的没有与数据布线435连接的输入引脚可以悬空。数据布线435的每一条数据线路也可以同时与存储部件输入端口的多个输入引脚相连。管理部件410每次把一个字节并行的传输给数据布线435,即需要存储的数据字节流在传输到数据布线435上时被分割成由一个字节构成的字节组。因为数据布线435中的数据线路被分别连接到存储部件421、423和425,字节组被数据布线435分拆为3个比特组。3个比特组被分别存储到存储部件421、423和425中。存储到存储部件421中的比特组包含数据字节流分割出的每个字节组中的3个比特,存储到存储部件423中的比特组包含数据字节流分割出的每个字节组中的3个比特,存储到存储部件425中的比特组包含数据字节流分割出的每个字节组中的2个比特。数据布线435构成了分拆模块,把数据字节流分割成多个字节组,把字节组分拆为3个比特组,并把3个比特组分别存储到对应的存储部件中。这样,需要存储的数据被分拆成3部分并被分别存储到3个存储部件中。每个存储部件中只有完整数据的一部分,把存储部件421、425从数据存储装置400上分离并分开保存,达到了保密存储的目的。数据布线435中的任意一条数据线路可以重复的连接到不同的存储部件的输入端口的引脚或者同一个存储部件的输入端口的不同引脚,但是存储部件的每一个输入引脚只能与一条数据线路连接。即,数据布线中的每一条数据线路至少连接到一个所述存储部件。读取数据时,管理部件410向存储部件421、423、425发出读取命令和地址信息,存储部件421、423、425每次输出给定地址的存储单元中存储的一个字节。通常存储部件的输入引脚和输出引脚为同一组引脚。这些字节被输出到存储部件的输出引脚,如果输出引脚同数据布线435的数据线路相连,该引脚对应的比特被传输到数据布线435上,没有与数据线路相连接的输出引脚的比特被丢弃。这样三个存储部件中的比特组在数据布线435上被重新拼合成一个字节组,该字节组包含一个字节。管理部件410接收到数据布线435上的这个字节组,并输出。依次进行前述过程,直到完成数据读取过程。本实施例中数据布线由8位数据线路组成,但本领域的技术人员应该理解数据布线并不局限于8位,可以是16位或者其它数目。
在图10中,存储部件421和425可以与数据存储装置400分离。管理部件410通过命令布线431向存储部件421和425传递各种控制命令。管理部件410通过地址布线433向存储部件421和425传递数据存储的地址信息。从管理部件410发出的数据布线435分别同时与存储部件425和存储部件421连接。在数据布线435上有开关部件441和443,开关部件被布置在数据布线435和存储部件421、425的输入端口之间。开关部件441、443可以根据控制布线431上传递的控制指令断开或者接通数据布线435。当把数据存储到存储部件421时,接通开关部件441,断开开关部件443。当把数据存储到存储部件425时,接通开关部件443,断开开关部件441。交替的断开和接通开关部件441和443,数据就被分拆成2部分并分别存储到存储部件421和425。当开关部件441和443每间隔1个字节交替接通时,管理部件410的数据输出端口依次输出的数据字节流被分割为包含2个字节的字节组,每个字节组被分拆成2个比特组,每个比特组包含一个完整的字节。当开关部件441和443每间隔n个字节交替接通时,管理部件410的数据输出端口依次输出的数据字节流被分割为包含2n个字节的字节组,每个字节组被分拆成2个比特组,每个比特组包含n个完整的字节。这里n表示大于1的自然数。数据布线435和开关部件441、开关部件443以及控制布线431构成了分拆模块,把数据字节流分割成多个字节组,把字节组分拆为多个比特组。开关部件交替通断的频率可以是一个非固定的值,多个开关部件彼此间接通和断开的时间长度也可以不相等。读取数据时,依据存储时的开关部件的通断规则的反向规则,交替的通断开关部件441和443,把存储在存储部件421和425中的比特组依次传输到数据布线435上,完成比特组拼合为字节组的过程并传输给管理部件410,直到完成数据读取过程。
图11中管理部件410的控制命令、地址和数据的输出端共用一个8位的数据布线430。存储部件421和423分别同数据布线430连接。存储部件421和423可以同存储装置分离。存储部件421和423以一个8位的共用端口作为控制命令、地址和数据的输入端口。存储部件421和423包括但不限于存储芯片,该存储芯片可以是公知的Flash存储芯片,如K9K2GXXUOM闪存芯片、K9FK1G08UOM闪存芯片。管理部件包括但不限于存储控制芯片,存储控制芯片可以是公知的存储控制芯片,如IC1114芯片和SM332-48LGA芯片。开关部件441和1443分别有四路开关。开关部件441的四路开关布置在存储部件421的低4位输入端口与数据布线430之间。开关部件443的四路开关布置在存储部件423的高4位输入端口与数据布线430之间。开关部件包括但不限于开关器件,开关器件可以是公知的开关芯片,如CD4066芯片和74HC4066芯片。开关部件还可以通过逻辑门器件组合得到,例如在图15中所示。开关部件441和443可以在控制信号布线432上传递的控制信号的控制下连通或者断开。管理部件410通过控制信号布线432和存储部件421、423连接,通过控制信号布线432上传递的控制信号表明数据布线430上传递的信息是控制命令、地址还是需要存储的数据。当数据布线430上传输的是控制命令和地址时,开关部件441和443连通,控制命令和地址被传递到存储部件421和423中。当数据布线430上传输的是需要存储是数据时,开关部件441和443断开。存储部件421只能接收到数据布线430上传递的每个完整字节的高4位的比特,存储部件423只能接收到数据布线430上传递的每个完整字节的低4位的比特。数据布线430、开关部件441、开关部件443构成了分拆模块,此时,每个字节组包含一个完整的字节,字节组被分拆为分别包含高4位和低4位比特信息的两个比特组。这样,每个存储部件只记录了完整数据的一部分。本实施例中的开关部件有四路开关,但是本领域的技术人员应当理解,开关部件包含的开关的数目不限于四路。本实施例中开关部件的四路开关分别被布置在两个存储部件的低4位和高4位输入端口与数据布线之间,本领域的技术人员应当理解,本发明中的开关部件的布置方式并不局限于按照高4位低4位方式进行布置,在存储部件的输入端口的任何引脚与数据布线之间都可以布置一路开关。本实施例中数据布线包含8条数据线路,本领域的技术人员应当理解,数据布线中包含的数据线路的数目并不局限于8条,可以是16条,也可以是24条,或者其他数目。读取数据时,只要断开开关部件441、443,既可把存储部件421、423中存储的比特组在数据布线430上重新拼合成字节组并输出。
图12中存储部件421和存储部件423的8位输入端口上连接有开关部件441和443。开关部件441和443各有8路开关,数据布线430的每一条数据线路和存储部件的输入端口之间都布置有一路开关。当数据布线430上传输的是控制命令和地址时,开关部件441和443连通,控制命令和地址被传递到存储部件421和423中。当数据布线430上传输的是需要存储是数据时,开关部件441和443交替接通和断开。存储部件421和存储部件423只能接收到数据布线430上传递的全部数据的一部分。数据布线430、开关部件441、开关部件443构成了分拆模块。
图13a和图13b是本发明的数据存储装置与存储部件的可分离的接口示意图。插片511是存储部件的接口件,插片511上有触点513。插槽521是存储装置上的接口件,插槽521中有限位块523和触点525。插片511可以***插槽521中,触点513和触点525之间电连接,实现了存储装置与存储部件的连接。插片511从插槽521中拔出,存储部件与存储装置分离。
图14a和图14b是本发明的数据存储装置的另一种存储装置与存储部件的可分离的接口示意图。存储部件421位于插片511上,插片511上有触点513。插槽521是存储装置上的接口件,插槽521上方有夹持片523,插槽521中有触点525。插片511可以***插槽521中,触点513和触点525之间电连接,实现了存储装置与存储部件的连接。插片511从插槽521中拔出,存储部件与存储装置分离。
在图15中,或门451的输入端同控制信号布线连接,接收控制信号,控制开关部件的连通和断开。与门453的一个输入端同一条数据线路连接,或门451的输出端同与门453的另一个输入引脚相连。与门453的输出端同存储部件的输入端口的引脚连接。本实施例中包含有4路开关,每一个与门构成一路开关。因为控制命令和地址的传递是单向的,所以本实施例中的每一路开关都是单向的,数据的传递方向从与门的输入端到输出端。当或门451的任何一个输入引脚为1时,或门451输出1。此时如果与门453的另一个输入引脚输入为1,与门453输出1。如果与门453的另一个输入引脚输入为0,与门453输出0。这样开关处于连通状态。当或门451的两个输入引脚都是0时,或门451输出0,此时不论与门453的另一个输入端输入为1或者0,与门463的输出都是0,开关处于断开状态。
图16是本发明的数据分割分存装置的工作流程图。存储时,需要存储的文件被传输给数据分割分存装置。在步骤11,需要存储的文件在数据分割分存装置中被分割成多个新的小文件。然后在步骤12,这些多个新的小文件分别被输出到数据分割分存装置的不同输出接口。在数据分割分存装置的不同输出接口上分别连接有存储装置。数据分割分存装置的每一个输出接口只输出全部多个新的小文件中的部分小文件,这样,与数据分割分存装置的输出接口连接的每一个储存装置中只存储了原始的需要存储的文件的一部分信息,实现了保密存储。本实施例同图1中实施例的区别在于本实施例中文件被分割后还是具有完整结构的小文件,可以按照文件的存储方式存储到其它存储装置中,而图1中实施例的文件被分拆后是比特组,已经不具有完整的文件结构了,只能作为比特组被存储到存储部件中。本实施例同在计算机***中使用压缩软件或者文件分割软件分割存储文件的区别在于本实施例中文件的分割是在数据分割分存装置中完成的,而不是在计算机***中完成的。本实施例的好处是,本实施例的数据分割分存装置可以应用于数码相机、数码DV等电子产品,在这些产品中实现数据文件的保密存储。并且,本实施例的文件分割分存过程是自动完成的,无需人工参与操作。
图17是图16中步骤11的细化。一个需要存储的数据文件通常包括文件控制块(FCB,File ControlBlock)和文件体。文件控制块包含了文件名、用户名、记录规格、建立时间、口令、操作权限等标识和定位信息。文件体是文件的有效信息部分。在步骤111,从需要存储的文件中提取出文件控制块。在步骤113,生成多个新的文件控制块,生成的这些新的文件控制块可以是复制原来的文件控制块,也可以是在原来的文件控制块中加了顺序编号等信息,用于识别分割后的小文件中文件体信息在原文件中的顺序。在步骤115把需要存储的文件的文件体分割成多个新的文件体,数据文件的文件体的分割方式可以按照但是不局限于图2、图3、图4、图5、图6、图7的实施例中公开的把数据字节流分割成比特组的方式进行。在步骤117把新的文件控制块和新的文件体组合成多个新的小文件。这些新的小文件被分别输出到不同的输出接口并被存储到连接在这些输出接口上的储存装置中。
在图18中,数据分割分存装置200通过接口模块203同主控没备连接,如同计算机连接。通过接口模块231、接口模块233同存储装置连接,如接口模块231、233分别同两个U盘连接。接口模块203和接口模块231、接口模块233可以是相同形式的接口,如,都是USB接口或者都是SD卡接口;也可以是不同形式的接口,如接口模块203是USB接口,接口模块231是SD卡接口,接口模块233是MMC卡接口。管理模块210把需要存储的数据文件传递给数据文件分割模块221,在分割模块221中需要存储的文件被分割成多个新的小文件,然后这些新的小文件被分别输出到接口模块231和233。这些新的小文件通过接口模块231和233被分别存储到与接口模块231和233相连的存储装置中。数据分割分存装置的每一个输出接口只输出全部多个新的小文件中的部分数量的新的小文件,这样,同数据分割分存装置的输出接口连接的每一个储存装置中只存储了原需要存储的文件的一部分信息,实现了保密存储。分割模块221可以但是不限于采取完全硬件实现或者同时包含硬件单元和软件单元的实现的形式。软件单元包括但不限于固件驻留软件、微代码等。硬件单元包括但是不限于微处理器、单片机或者其它可编程器件,这些器件可以通过编程实现对需要存储的文件的分割、分别存储的过程。软件单元的文件分割分存的程序流程图如图16、17所示。本实施例中数据分割分存装置200具有两个用于同存储装置相连接的输出接口模块,但是本领域的技术人员应该理解,本发明的数据分割分存装置的用于同存储装置相连接的输出接口模块不局限于两个。读取文件时,可以使用计算机把各个分割后的小文件从不同的存储装置中读出,然后在计算机中拼合成原来的文件。也可以把存储有原文件分拆后的新的小文件的存储装置重新连接到数据分割分存装置,然后,数据分割分存装置分别从各个存储装置中读出各个小文件,重新拼合成原文件,传输给主控设备。本数据分割分存装置同图8中数据存储装置的区别在于本数据分割分存装置中文件被分割后的形式还是具有完整文件结构的小文件,可以按照文件的存储方式进行存储,而图8中数据存储装置中的文件被分拆后的形式是比特组,已经不具有完整的文件结构了,只能作为比特组被存储到存储部件中。图8的数据存储装置中,存储部件是数据存储装置的组成部分,如flash存储芯片,存储部件被从存储装置中分离开后不能同主控设备连接,无法进行数据的存储;本数据分割分存装置中与接口模块231、233连接的是具有完整结构的存储装置,如U盘,而数据分割分存装置自身不带有存储部件,连接在接口模块231、233上的存储装置不是数据分割分存装置的一个组成部分。
在图19中,数据分割分存装置200通过接口模块203同主控设备连接,通过接口模块231、接口模块233同存储装置连接。管理模块210把需要存储的数据文件传递给数据文件分割模块221,在分割模块221中需要存储的文件被分割成多个新的小文件,然后这些新的小文件被分别输出到文件压缩模块223、文件压缩模块225和文件加密模块226、文件加密模块228。然后这些被压缩和加密后的文件被分别输出到接口模块231和233。文件压缩模块223、225可以但是不限于采取完全硬件实现或者同时包含硬件单元和软件单元的实现的形式。软件单元包括但不限于固件驻留软件、微代码等。硬件单元包括但是不限于微处理器、单片机或者其它可编程器件,这些器件可以通过编程实现对文件的压缩过程。文件加密模块226、228可以但是不限于采取完全硬件实现或者同时包含硬件单元和软件单元的实现的形式。软件单元包括但不限于固件驻留软件、微代码等。硬件单元包括但是不限于微处理器、单片机或者其它可编程器件,这些器件可以通过编程实现对文件的加密过程。本实施例中文件压缩模块223、225布置于分割模块221之后,但是本领域的技术人员应该理解,本发明的数据分割分存装置的文件压缩模块可以布置分割模块221之前,即在对需要存储的文件进行分割前进行压缩过程。本实施例中文件加密模块226、228布置于分割模块221之后,但是本领域的技术人员应该理解,本发明的数据分割分存装置的加密模块可以布置在分割模块之前,即在对需要存储的文件进行分割前进行加密过程。加密模块和压缩模块间的布置顺序可以是任意的。
此外,本发明可以采取可从计算机可用介质或计算机可读介质访问的计算机程序产品的形式,该介质提供程序代码以供计算机或任意指令执行***使用或者结合计算机或任意指令执行***而使用。出于本描述的目的,计算机可用介质或计算机可读介质可以是任意切实可行的装置,其可以包含、存储、传送、传播或传输程序以供计算机或任意指令执行***、装置或设备使用或者结合计算机或任意指令执行***、装置或设备而使用。
该介质可以是电子的、磁的、光的、电磁的、红外的或半导体的***(或装置、设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器(solid status memory)、磁带、可装卸的计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬盘以及光盘。
尽管以上针对特定实施例对本发明进行了详细的说明,但本领域技术人员应当理解,本发明不限于以上公开的特定实施例。在不偏离本发明的本质和范围的情况下,可以对本发明进行各种修改和替换。本发明的范围仅由所附权利要求书限定。