CN102243636B - 存储待保护文件信息、保护文件的方法及装置 - Google Patents
存储待保护文件信息、保护文件的方法及装置 Download PDFInfo
- Publication number
- CN102243636B CN102243636B CN201010176150.XA CN201010176150A CN102243636B CN 102243636 B CN102243636 B CN 102243636B CN 201010176150 A CN201010176150 A CN 201010176150A CN 102243636 B CN102243636 B CN 102243636B
- Authority
- CN
- China
- Prior art keywords
- file
- information
- protected
- sector
- relevant protection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种保护文件的方法及装置,所述方法包括:获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息;按照约定格式将所述相关保护信息进行存储;判断接收到的操作指令的操作对象是否为所述相关保护信息中涉及到的扇区区域;如果是,则当所述操作命令为写命令时,拒绝该操作指令。本发明实施例可以通过存储待保护文件及其关联数据的扇区信息,可以在保护待保护文件时,实现局部数据的保护,进一步的节省存储设备的存储资源。
Description
技术领域
本发明涉及数据处理领域,特别是涉及存储待保护文件信息、保护文件的方法及装置。
背景技术
存储设备主要用于提供数据存储功能,其提供的接口只有原始数据的读写接口,在存储设备里没有文件的概念,同时存储设备在操作系统中也不可以直接使用,通常在操作系统里可见的一个个的目录和文件,是因为操作系统在存储设备里写入了文件系统。文件系统就类似一颗树,有一个树干,树干上可以有很多分支,这些分支上又可以有分支。树干就好比文件系统的根目录,这些分支就好比子目录,而最后的叶子就好比一个一个文件。在操作系统中,通过最开始的根目录,就可以找到下面的子目录,然后又找到子目录下的子目录,以此类推,直到找到最后的目标文件。
因为在实际应用中有很多文件在保存后用户不希望被非法修改,包括病毒的侵袭以及人为的篡改等,所以现有技术中存在如下所示的保护文件的方法:将需要保护的文件保存到只读介质里,例如光盘等;但采用这种方式只能进行一次写入,且该只读介质的剩余空间就不可使用了,例如要保护的文件只有1M,但光盘是700M,那剩余的未存储文件的699M存储空间就不能使用了。如果采用多次读写的光盘,虽然能解决浪费存储空间的问题,但是又不能实现对整个光盘中的某个或某些文件进行存储,即无法实现对存储设备的局部保存。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够提出一种保护文件的方法,用以解决现有技术中无法实现对存储设备的局部数据进行保护的问题。
发明内容
本发明所要解决的技术问题是提供存储待保护文件信息和保护文件的方法,用以解决现有技术中无法实现对存储设备的局部数据进行保护的问题。
本发明的另一个目的是将上述构思应用于具体的应用环境中,提供存储待保护文件信息和保护文件的装置,从而保证方法的实现和应用。
为解决上述技术问题,本发明实施例提供了存储文件保护信息的方法,该方法包括:
获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息;
按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储。
优选的,所述获取待保护文件的相关保护信息,具体包括:
接收用户选择提交的待保护文件的文件名称;
针对所述文件名称查找到对应的文件关联数据所处的扇区信息,所述扇区信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。
优选的,所述按照约定格式将所述相关保护信息进行存储,具体包括:
根据上层软件和底层固件之间的约定选择相应的格式;
按照所述选择的格式将所述相关保护信息进行存储。
本发明实施例提供了一种存储文件保护信息的装置,该装置包括:
获取信息模块,用于获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息;
存储模块,用于按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储。
优选的,所述获取信息模块具体包括:
接收文件子模块,用于接收用户选择提交的待保护文件的文件名称;
查找扇区信息子模块,用于针对所述文件名称查找到对应的文件关联数据所处的扇区信息,所述扇区信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。
优选的,所述存储模块具体包括:
选择格式子模块,用于根据上层软件和底层固件之间的约定选择相应的格式;
存储子模块,用于按照所述选择的格式将所述相关保护信息进行存储。
本发明实施例还提供了一种保护文件的方法,包括:
获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息;
按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储;
判断接收到的操作指令的操作对象是否为所述相关保护信息涉及到的扇区区域;
如果是,则当所述操作指令为写命令时拒绝该操作指令。
优选的,还包括:
如果所述操作信息为读命令,则依据所述读命令对所述待保护文件的相关保护信息进行读操作。
优选的,还包括:
如果操作指令的操作对象没有涉及到所述相关保护信息的扇区区域,则依据所述操作指令对非保护扇区区域进行读写操作。
本发明实施例还提供了一种保护文件的装置,包括:
获取信息模块,用于获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息;
存储模块,用于按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储;
判断模块,用于判断接收到的操作指令的操作对象是否为所述相关保护信息涉及到的扇区区域;
保护模块,用于当所述判断模块的结果为是,且所述操作指令为写命令时,拒绝该操作指令。
优选的,还包括:
读写模块,用于当操作指令为读命令时,则依据所述读命令对所述待保护文件的相关保护信息进行读操作。
优选的,所述读写模块还用于对除了所述相关保护信息涉及到的扇区区域之外的扇区区域进行读写操作。
与现有技术相比,本发明具有以下优点:
本发明实施例提供了一种存储待保护文件信息的方式,该待保护文件的相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。通过存储这些所有的扇区信息,则可以后续在保护该待保护文件时,能够实现局部数据的保护,以节省存储设备的存储资源。同时,本发明实施例还可以通过存储的待保护文件信息保护文件,通过预先获取到待保护文件的相关保护信息,可以保护待某个文件或者某些文件实际所处的扇区信息,以及其关联数据所在的扇区信息,例如,索引区,父目录区等,即是对文件的保护也就是对该文件涉及到的相关扇区的数据的保护,包括保护文件系统的结构,如保留区,索引区等,以及该文件的父目录区,该文件的内容区。在本实施例中,不允许上述扇区区域的数据被修改,就可以保护到本发明实施例中指定的文件不被修改,实现对存储设备的局部数据的保护功能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种存储待保护文件信息的方法实施例1的流程图;
图2是本发明的一种存储待保护文件信息的方法实施例2的流程图;
图3是本发明的一种保护文件的方法实施例的流程图;
图4是本发明的一种存储待保护文件信息的装置实施例1的结构示意图;
图5是本发明的一种存储待保护文件信息的装置实施例2的结构示意图;
图6是本发明的一种保护文件的装置实施例的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
参考图1,示出了本发明的一种存储待保护文件信息的方法实施例1的流程图,可以包括以下步骤:
步骤101:获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。
在本实施例中,首先对文件系统的结构做下简单介绍。在文件系统中,根目录是一个存储区域,该存储区域由若干个扇区组成,这是该文件系统下的所有文件的最顶级的父目录,所有文件都是它的子文件或子目录的子文件等。在该存储区域中,可以分成多个小块,每个小块由若干字节组成(例如,每32个字节为一个小块),这样一个小块叫做一个文件入口,这样的一个结构体(即是文件入口)包含了一个文件的文件名称,一个文件的数据起始地址,文件大小,文件属性等信息。在根目录里有许多个这样的结构体记录,通过结构体记录就可以找到根目录下所有的文件和目录,其中,目录也是一个文件,是属性(Attribute)为目录的文件。如果文件的属性为目录,则该目录的内容就和根目录的结构是一样的,也分成很多个小块,然后每一个小块里记录了更多子目录或子文件的文件入口的相关信息。这里的文件入口指整个小块,即包括文件名称,文件大小,文件的属性等所有信息。
本步骤中,获取到的待保护文件的相关保护信息包括文件内容区信息,即是文件的数据实际所处的扇区信息,文件索引区信息指的是该文件的索引所占的扇区信息,文件索引区记录的是文件的一些信息,包括文件名称,文件的数据起始地址,和文件属性,其中文件属性指的待保护文件是普通文件还是目录文件,是隐藏的还是可显示的,或者,是只读的还是可写的等特性;文件父目录区信息在这里指的是该文件的父目录所占的扇区信息,如果该文件的父目录也有父目录,那么此处的文件父目录区信息也应包括其父目录的父目录所占的扇区信息,即是待保护文件递归的所有父目录所占的扇区信息;所述待保护文件所在文件系统的保留区信息指的是文件系统本身的相关信息,每一种文件系统记录的相关信息都不一样,以FAT文件系统来说,其相关信息包括每个簇有多少个扇区,总共有多少个簇,根目录从什么地方开始,FAT区从什么地方开始且有多大等一些信息。其中,保留区信息对用户来说是无需关心的,用户可以只关心里面有哪些文件,文件的内容是什么,因此这些信息就都保留在保留区。
步骤102:按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储。
再按照上层软件和底层固件之间的约定格式将待保护文件的相关保护信息进行存储。
本实施例提供了一种存储待保护文件信息的方式,该待保护文件的相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。通过存储这些所有的扇区信息,则可以后续在保护该待保护文件时,能够通过预先存储的某个或某些待保护文件的相关保护信息,实现对存储设备的局部数据的保护。
参考图2,示出了本发明的一种存储待保护文件信息的方法实施例2的流程图,可以包括以下步骤:
步骤201:接收用户选择提交的待保护文件的文件标识。
本实施例可以认为是对实施例1的细化描述。在实际应用中,可以向用户提供一个文件选择接口,让用户选择存储设备里哪些文件是需要保护的。其中,接收文件标识可以通过命令行接收用户输入文件路径及文件名称,也可以提供一个文件列表的界面由用户进行选择,也可以是接收到的用户输入的图形化的文件列表,还可以是一个供其他程序调用的API,等等。
步骤202:针对所述文件标识查找到对应的文件关联数据所处的扇区信息,所述扇区信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。
在实际应用中,可以采用文件系统分析器来对步骤201中接收的文件标识进行分析,当待保护文件有多个时,可以逐个进行分析,以便最后获得待保护文件的文件内容本身实际占用的扇区信息,以及其关联数据,即是该待保护文件的父目录和索引占用的扇区信息。需要说明的是,这些分析出的扇区可以是不连续的,也可以是连续的,这些都不影响本发明的实现。一般来讲,分析后的扇区信息组成一个区域集合,其中包括文件内容区信息、文件索引区信息,文件父目录区信息,和当前文件系统的保留区信息。
本步骤中得到的扇区信息一般情况下是不连续的,例如,某组扇区信息的集合可以为:0扇区,10扇区,和100-200扇区。待保护文件的关联数据占用的扇区通常会由多个不连续的区域组成,以常用的FAT文件系统为例,要保证一个待保护文件不被删除或者修改,则需要保护MBR,BPB和FAT区里,该文件的簇链,该文件的文件内容,以及递归地保护该文件的父目录,其中递归的含义具体是,如果父目录又有父目录,则也要保护其父目录,直至保护到最上级的父目录为止。
当待保护文件有多个时,把其中一个文件分析完以后,可以先按照约定格式记录得到的扇区信息,也可以在分析完所有待保护文件之后,再按照约定格式记录所得到的所有待保护文件的扇区信息。
步骤203:根据上层软件和底层固件之间的约定选择相应的格式。
在存储所述相关保护信息时,需要依据实际中当前上层软件和底层固件之间的约定而选择不同的格式。需要说明的是,此处并不限定某种具体的格式,因为在实际应用中上层软件和底层固件之间的约定可有很多种形式,那么可以选择的格式也会有所不同。
步骤204:按照所述选择的格式将所述相关保护信息进行存储。
再按照步骤203中选择的约定格式将得到的相关保护信息进行存储。
参考图3,示出了本发明的一种保护文件的方法实施例的流程图,本实施例可以包括以下步骤:
步骤301:获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。
本步骤的目的是获取到待保护文件的相关保护信息,即是知道哪些文件需要保护,而具体获取相关保护信息的方式不限。
步骤302:按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储。
一般存储设备可以包括一个可以处理相关标准协议(如USB/ATA/SCSI)的处理器,存储介质(FLASH/硬盘),以及两者之间的接口(如NAND FLASH接口)等。这里的相关保护信息可以在待保护文件所在的存储设备中单独划分出一块区域进行保存,或者也可以设置一个数据结构或者数据库,来保存这些已经获取到的相关保护信息。相关保护信息可以独立保存在一个存储空间,例如增加一个EEPROM来保存,或者在存储设备的存储介质里划出一个专用区来保存。所述存储设备的处理器能读取到上述独立区域里的相关保护信息,以后续通过该相关保护信息判断哪些扇区需要保护。本步骤完成之后,只是生成了相关保护信息的保护列表,即通过存储该相关保护信息来告知存储设备哪些扇区需要进行保护,而实际的保护工作是由存储设备后续再完成的。
在实际应用中,因为待保护文件也处于存储设备中,因此最后可以把所有文件的扇区信息形成一个总数据表,然后通过设置接口写入到待保护文件所处的存储设备里。在本实施例中,步骤301和步骤302可以由用于设置哪些文件需要保护的设置工具完成。
步骤303:接收针对所述待保护文件所处的存储设备的操作指令。
对于主机向这些区域的写操作全部屏蔽掉即可,后面的实施例有相关说明,通过以上设置过程,所述存储装置已经知道需要保护哪些内容,接下来说明在使用过程中如何保护这些内容。完成设置后,存储装置的工作流程如图3。在存储装置上电接入主机后,先从相关保护信息所在的扇区区域中读出保护文件的信息,这些信息记录了哪些地址可以正常写入,哪些地址不允许写入。完成常规的初始化后,开始等待接收主机的操作命令。
步骤304:判断所述操作指令是否为写命令,如果是,则进入步骤305,如果不是,则进入步骤307。
步骤305:继续判断所述写命令的操作对象是否为所述待保护文件的相关保护信息涉及到的扇区区域,如果是,则进入步骤306,如果不是,则进入步骤308。
如果收到的是写命令,则要先查询存储相关保护信息的数据表,或者在存储设备中保存了相关保护信息的独立区域,通过查询得到相关保护信息来判断要写的操作对象所处的扇区是否位于相关保护信息内的扇区,如果不是位于相关保护信息内的扇区,则正常写入数据。如果位于相关保护信息内的扇区,则拒绝该操作命令,还可以返回出错信息。
需要说明的是,步骤304和305可以同时进行,也可以先执行步骤305,后执行步骤304,这两个步骤之间的顺序并不影响本发明的实现,因此无需限定其先后执行顺序,本实施例中为了方便只描述一种实现方式。
步骤306:拒绝该操作指令,以保护所述相关保护信息中涉及到的扇区区域中的数据。
具体的,则是拒绝对于相关保护信息中涉及到的扇区区域的写操作,从而可以保护到该扇区区域中的数据或者文件等内容。
步骤307:依据所述读命令对所述存储设备中的数据进行读操作。
本实施例中如果收到的不是写命令,则按照常规处理,如读命令,则可以读取存储设备中的任意数据并正常返回;可以进行读操作的对象为所述存储设备中的所有数据,需要说明的是,如果操作指令的操作对象没有涉及到所述相关保护信息的扇区区域,则可以依据所述操作指令对非保护扇区区域进行正常的读写操作。本发明实施例中对于相关保护信息的设置和存储并不影响其他扇区区域。
步骤308:依据写命令对所述相关保护信息涉及到的扇区区域之外的扇区区域进行写操作。
本发明实施例中可以进行写操作的对象不包括相关保护信息中涉及到的扇区区域,可以看出,如果写命令不是针对所述相关保护信息涉及到的扇区信息,也同样可以执行该命令。
采用本实施例的方法,可以正常拷贝文件到待保护文件所处的存储设备中,也可以把这些未被保护的文件删除,在使用相关保护信息中的扇区以外的区域时,该存储设备和普通设备一样。但是对于本发明实施例中的相关保护信息中的扇区信息,则只能正常读取而不能写入数据。因为相关保护信息中也包括了文件系统的保留区(MBR,BPB等),因此不可以通过格式化来删除待保护文件;同时,因为相关保护信息中也包括了待保护文件的递归的所有父目录,也不能通过删除父目录的方式来删除待保护文件。采用本实施例的方法时,对于存储设备的某个或某些待保护文件,用户无法修改其内容,也无法删除,可以实现对存储设备上局部数据的保护。
需要说明的是,如果一个待保护文件不在根目录下,而在子目录下,保护的方法也类似。首先要通过上述方式保护待保护文件本身,然后还要通过保护根目录的方法,来保护子目录。即除了上述要保护的区域外,子目录的FAT区也要保护,子目录的数据区要按照根目录的保护方法来保护(即保护某个文件的入口记录),然后是保护子目录下的文件。
而关于保护信息区,也可以设置2层保护,即采用需要验证密码才能修改保护信息区等的防护手段,防止知道该协议的人轻易地绕过保护。具体的做法是在上述写入信息区前,增加一道密码验证的步骤,只有密码验证通过,才允许修改保护信息区。
在本实施例中,通过预先获取到待保护文件的相关保护信息,可以保护某个文件或者某些文件实际所处的扇区信息,以及其关联数据所在的扇区信息,例如,索引区,父目录区等,即是对文件的保护也就是对该文件涉及到的相关扇区的数据的保护,包括保护文件系统的结构,如保留区,索引区等,以及该文件的父目录区,该文件的内容区。在本实施例中,不允许上述扇区区域的数据被修改,就可以保护到本发明实施例中指定的文件不被修改。需要说明的是,要对待保护文件进行操作,必须修改其相关保护信息才可以,修改相关保护信息的方法与设置的方法一样,就是把新的相关保护信息再写入到存储相关保护信息的扇区。即是只要把一个文件的相关保护信息全部清除掉,则这个文件又是可以正常修改和写入的。
为使本领域技术人员更好的理解本发明,下面通过一个具体的例子来详细介绍本发明保护文件的具体实现过程。
步骤A1:获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。
在本例子中,由设置工具来实现步骤A1和步骤A2,由存储设备来实现后续的保护步骤。假设待保护文件所处的存储设备有如下特性,MBR在0扇区,只有一个分区,并格式化为FAT格式,MBR保留区为63个扇区,则BPB在63扇区。BPB的保留扇区是3。每个FAT区有246扇区,则FAT1区在67扇区,FAT2区在313扇区,根目录区在559扇区。FAT系统的第一个可用簇是簇2,簇0和簇1是不可用的,数据起始簇(即簇2)从591扇区开始,每个簇为8K字节,即16个扇区。
待保护文件的信息如下所示:待保护文件名称为P0.TXT,在该存储设备的根目录里,P0.TXT的大小为4K,是存储设备中的第一个文件,在根目录的第一个入口地址记录了该待保护文件,同时分配簇2用于存储该待保护文件的实际内容。
设置工具检测到存储设备之后,读取该存储设备的文件系统,获得待保护的文件P0.TXT的相关保护信息。具体实现过程为:在根目录找到P0.TXT,得知其内容占用簇2,即扇区591-606。然后记录该文件的文件描述信息是在根目录的第一个入口,即559扇区的0字节到32字节之间。此外,该文件簇链信息在两个FAT区里,分别是67扇区的第4-5字节,以及250扇区的第4-5字节。最后,为了防止本存储装置被格式化,还需要记录当前文件系统的保留区,即从0-66扇区。
上述分析得到的所有扇区便是要保护P0.TXT所需保护的所有区域。在本例子中,可以通过以下的结构体来记录这些区域:
struct
{
int start_sector;
int sector_count;
int start_offset;
int byte_count;
};
其中,start_sector表示一个区域的起始扇区地址;
sector_count表示该区域从起始扇区开始,往后覆盖多少个扇区;
如果所述的区域不是整个扇区,而是扇区里的部分数据,则start_offset和byte_count有效;
start_offset表示该区域从扇区里的哪个字节开始;
byte_count表示从起始字节开始共多少个字节。
上述结构体可以增加一个成员变量,表示是否作用于整个扇区,还是只是扇区里的部分数据。也可以直接通过start_offset和byte_count的值来表示,例如,当start_offset=-1的时候表示作用于整个扇区,当start_offset≥0时,表示作用于扇区里的部分数据。本例子通过start_offset的值来表示。
在本例子中,待保护文件P0.TXT的相关保护信息有多个扇区,分别如下:
Area
{
int start_sector=0;
int sector_count=66;
int start_offset=-1;
int byte_count=-1;
};保留区,包括MBR,BPB等。
area
{
int start_sector=591;
int sector_count=16;
int start_offset=-1;
int byte_count=-1;
};数据区,即簇2的区域。
area
{
int start_sector=559;
int sector_count=1;
int start_offset=0;
int byte_count=32;
};目录区,在该扇区里只有第一个入口需要保护,因此只保护从0-32字节。
area
{
int start_sector=67;
int sector_count=1;
int start_offset=4;
int byte_count=2;
};FAT1里的簇链,因为该文件只占用了簇2,因此只要保护簇2即可,也就是字节4-5。
area
{
int start_sector=250;
int sector_count=1;
int start_offset=4;
intbyte_count=2;
};FAT2里的簇链,因为该文件只占用了簇2,因此只要保护簇2即可,也就是字节4-5。
步骤A2:按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储。
当该存储设备为一移动硬盘时,通过USB总线与主机连接。可以在移动硬盘上专门划分出一块区域,用于记录相关保护信息(例如最后的1M区域),该区域标准命令不可见,需要用私有命令访问。
设置工具将把步骤A1中获取到的相关保护信息按照约定的格式写到存储设备的保护信息区,设我们通过私有命令FF把相关保护信息发给存储设备,则本例子的命令和数据如下:
FF 00 00 50 00
00 00 00 00 - 00 00 00 42 - FF FF FF FF - FF FF FF FF上述的第一个记录,保留区等;
00 00 02 4F - 00 00 00 10 - FF FF FF FF - FF FF FF FF簇2
00 00 02 2F - 00 00 00 01 - 00 00 00 00 - 00 00 00 20目录区
00 00 00 43 - 00 00 00 01 - 00 00 00 04 - 00 00 00 02 FAT1
00 00 00 FA - 00 00 00 01 - 00 00 00 04 - 00 00 00 02 FAT2
其中,每一行数据表示一个记录,4个字节是一个变量。同时,假设命令码是FF,则加粗部分是要写入到信息区的地址,下划线部分“00 50”是长度信息。通过上述操作就把待保护文件P0.TXT所需要保护的扇区信息都写入到存储设备了。
同时,可以理解的是,用户还可以网该存储设备里拷贝其他无需保护的文件,这个过程中也会涉及到数据区、FAT区、目录区等的写入。因为是和待保护文件不同的文件,因此在数据区写入的时候,操作对象不是簇2对应的扇区区域,而是其他的簇(如簇3,簇4等)对应的扇区区域。同时,目录区和FAT区则有可能与待保护文件处于同一个扇区,但也不会在同一个字节内。在往该存储设备中增加文件时,需要在目录区增加一个记录,第一个文件的记录占用0-31字节,第二个文件的记录就会占用32-63字节。FAT区也是类似的原理。例如,假设现在要增加一个文件UNP.TXT,该文件大小也是4k,在目录区里占用第2个入口,数据区占用簇3。复制该文件总共需要写入存储设备的数据为,FAT1(67扇区),FAT2(250扇区),数据区(607-622扇区),目录区(559扇区)。
步骤A3:接收主机发送的操作指令。
主机在需要对存储设备进行操作时,会向存储设备发送操作指令。
步骤A4:判断所述操作指令是否为写命令,如果是,则进入步骤A5。
则存储设备来判断该操作指令是否为写命令,如果是的话,说明用户可能需要对存储设备上的数据进行修改操作或者删除操作,以及格式化操作等。
步骤A5:继续判断所述写命令的操作对象是否为所述相关保护信息中的扇区信息,如果是,则拒绝该操作指令。
假设现在要修改受保护文件P0.TXT,修改文件的内容,这样就需要写入数据区(591-606扇区)。在所述存储装置收到写入591-606扇区的命令时,查找自己预先存储的相关保护信息,发现这些扇区涉及到保护区域,直接返回出错,不写入数据。这样修改文件的动作就无法完成,从而起到保护文件的效果。
当需要删除保护文件P0.TXT时,需要改写FAT1/FAT2/目录区和数据区。同样的,在写入FAT1的时候,存储设备检测到67扇区是相关保护信息中的扇区信息,并且检测到4-5字节被改写,则直接返回出错,而不进行数据写入。同样,FAT2和目录区也是一样的操作。主机无法写入这些扇区区域,也就无法删除该待保护文件。
当需要对存储设备进行格式化时,一旦格式化成功,则所有文件都会被删除,格式化实际上是一系列的写入操作,包括改写MBR/BPB,清空FAT区和目录区。但是上述的所有区域都在保护区域范围内,一旦主机发送写入这些地址的命令,所述存储设备都会报错,并不会改写已存储的数据,因此即使格式化也无法完成。
需要说明的是,如果是往待保护文件所处的存储设备拷贝无需保护的文件时,则不会受限制。首先由主机开始发送写命令写入无需保护文件对应的扇区地址。接着前述步骤的情况进行描述,主机发送写FAT1的命令时,写入的地址是67扇区,则存储装置查找保护区里的表格,发现67扇区是受保护的扇区,再进一步查找,受保护的部分是67扇区里的第4-5字节,所述存储装置把67扇区里的数据读出,与主机发送下来的数据进行对比,发现第4-5字节的值一致,则该写命令可以正常写入。这样,新增加文件的FAT1的写操作可以正常进行。同样,FAT2也一样的处理,存储设备把原数据读出,与待写入数据进行比较,受保护的区域一致,则可以进行写入。还有目录区也一样的操作,数据区因为是不属于保护区域内,因此可以整个正常写入。
因此,采用本发明实施例的方法,不仅可以实现对存储设备中的部分文件实现局部数据的保护功能,以节省存储设备的存储资源,更进一步的,在增加一个文件的时候,该存储设备就会按照正常的写入操作进行,用户也不会感觉到有任何异常,与普通存储设备一样可以正常读写,从而也提升了用户体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图4,示出了本发明的一种存储待保护文件信息的装置实施例1的结构框图,可以包括以下模块:
获取信息模块401,用于获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。
存储模块402,用于按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储。
在本实施例中,因此,对某个文件的保护,就是对该文件涉及到的相关扇区的数据的保护,包括保护文件系统的结构,如保留区,索引区等,以及该文件的父目录区,该文件的内容区等。存储装置只要不允许这些区域的数据被修改,就可以保护到指定的文件不被修改,实现对存储设备的局部数据的保护功能。
参考图5,示出了本发明的一种存储待保护文件信息的装置实施例2的结构框图,可以包括以下模块:
接收文件子模块501,用于接收用户选择提交的待保护文件的文件名称。
查找扇区信息子模块502,用于针对所述文件名称查找到对应的文件关联数据所处的扇区信息,所述扇区信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息。
选择格式子模块503,用于根据上层软件和底层固件之间的约定选择相应的格式。
存储子模块504,用于按照所述选择的格式将所述相关保护信息进行存储。
参考图6,示出了本发明的一种保护文件的装置实施例的结构框图,可以包括以下模块:
获取信息模块401,用于获取待保护文件的相关保护信息,所述相关保护信息包括:文件内容区信息、文件索引区信息、文件父目录区信息和所述待保护文件所在文件系统的保留区信息;
存储模块402,用于按照约定格式将所述相关保护信息进行存储;
判断模块601,用于判断接收到的操作指令的操作对象是否为所述相关保护信息涉及到的扇区信息。
保护模块602,用于当所述判断模块的结果为是,且所述操作指令为写命令时,拒绝该操作指令。
优选的,该装置还可以包括:
读写模块603,用于当操作指令为读命令时,则依据所述读命令对所述待保护文件的相关保护信息进行读操作。
优选的,所述读写模块,还可以用于对除了所述相关保护信息涉及到的扇区区域之外的扇区区域进行读写操作。如果所述操作指令的操作对象为相关保护信息涉及到的扇区区域之外的其他扇区区域,因为这些其他扇区区域并没有进行保护,则可以正常的进行读写操作。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的存储待保护文件信息、保护文件的方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种存储待保护文件信息的方法,其特征在于,包括:
获取待保护文件的相关保护信息,所述相关保护信息用于表示哪些文件需要保护;所述获取待保护文件的相关保护信息,具体包括:接收用户选择提交的待保护文件的文件名称;针对所述文件名称查找到对应的文件关联数据所处的扇区信息,所述扇区信息包括:文件的数据实际所占的扇区信息、文件的索引所占的扇区信息、文件递归的所有父目录所占的扇区信息和所述待保护文件所在文件系统的保留区信息,所述保留区信息用于表示文件系统本身的相关信息;
按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储;所述按照约定格式将所述相关保护信息进行存储,具体包括:
根据上层软件和底层固件之间的约定选择相应的格式;按照所述选择的格式将所述相关保护信息进行存储。
2.一种保护文件的方法,其特征在于,包括:
获取待保护文件的相关保护信息,所述相关保护信息用于表示哪些文件需要保护;所述获取待保护文件的相关保护信息,具体包括:接收用户选择提交的待保护文件的文件名称;针对所述文件名称查找到对应的文件关联数据所处的扇区信息,所述扇区信息包括:文件的数据实际所占的扇区信息、文件的索引所占的扇区信息、文件递归的所有父目录所占的扇区信息和所述待保护文件所在文件系统的保留区信息,所述保留区信息用于表示文件系统本身的相关信息;
按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储;所述按照约定格式将所述相关保护信息进行存储,具体包括:根据上层软件和底层固件之间的约定选择相应的格式;和,按照所述选择的格式将所述相关保护信息进行存储;
判断接收到的操作指令的操作对象是否为所述相关保护信息涉及到的扇区区域;
如果是,则当所述操作指令为写命令时拒绝该操作指令。
3.如权利要求2所述的方法,其特征在于,还包括:
如果所述操作指令为读命令,则依据所述读命令对所述待保护文件的相关保护信息进行读操作。
4.如权利要求3所述的方法,其特征在于,还包括:
如果操作指令的操作对象没有涉及到所述相关保护信息的扇区区域,则依据所述操作指令对非保护扇区区域进行读写操作。
5.一种存储待保护文件信息的装置,其特征在于,包括:
获取信息模块,所述获取信息模块具体包括:接收文件子模块,用于接收用户选择提交的待保护文件的文件名称;查找扇区信息子模块,用于针对所述文件名称查找到对应的文件关联数据所处的扇区信息,所述扇区信息包括:文件的数据实际所占的扇区信息、文件的索引所占的扇区信息、文件递归的所有父目录所占的扇区信息和所述待保护文件所在文件系统的保留区信息,所述保留区信息用于表示文件系统本身的相关信息;
存储模块,用于按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储;所述存储模块具体包括:
选择格式子模块,用于根据上层软件和底层固件之间的约定选择相应的格式;存储子模块,用于按照所述选择的格式将所述相关保护信息进行存储。
6.一种保护文件的装置,其特征在于,包括:
获取信息模块,所述获取待保护文件的相关保护信息,所述相关保护信息用于表示哪些文件需要保护;具体包括:接收用户选择提交的待保护文件的文件名称;针对所述文件名称查找到对应的文件关联数据所处的扇区信息,所述扇区信息包括:文件的数据实际所占的扇区信息、文件的索引所占的扇区信息、文件递归的所有父目录所占的扇区信息和所述待保护文件所在文件系统的保留区信息,所述保留区信息用于表示文件系统本身的相关信息;
存储模块,用于按照上层软件和底层固件之间的约定格式将所述相关保护信息进行存储;所述存储模块具体包括:选择格式子模块,用于根据上层软件和底层固件之间的约定选择相应的格式;存储子模块,用于按照所述选择的格式将所述相关保护信息进行存储;
判断模块,用于判断接收到的操作指令的操作对象是否为所述相关保护信息涉及到的扇区区域;
保护模块,用于当所述判断模块的结果为是,且所述操作指令为写命令时,拒绝该操作指令。
7.如权利要求6所述的装置,其特征在于,还包括:
读写模块,用于当操作指令为读命令时,则依据所述读命令对所述待保护文件的相关保护信息进行读操作。
8.如权利要求6所述的装置,其特征在于,所述读写模块还用于对除了所述相关保护信息涉及到的扇区区域之外的扇区区域进行读写操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010176150.XA CN102243636B (zh) | 2010-05-13 | 2010-05-13 | 存储待保护文件信息、保护文件的方法及装置 |
HK12104513.6A HK1163877A1 (zh) | 2010-05-13 | 2012-05-09 | 存儲待保護文件信息、保護文件的方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010176150.XA CN102243636B (zh) | 2010-05-13 | 2010-05-13 | 存储待保护文件信息、保护文件的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102243636A CN102243636A (zh) | 2011-11-16 |
CN102243636B true CN102243636B (zh) | 2015-04-22 |
Family
ID=44961699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010176150.XA Active CN102243636B (zh) | 2010-05-13 | 2010-05-13 | 存储待保护文件信息、保护文件的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102243636B (zh) |
HK (1) | HK1163877A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787392B (zh) * | 2016-02-29 | 2019-01-11 | 珠海市魅族通讯设备有限公司 | 一种数据读写控制方法及控制装置 |
CN106024046B (zh) * | 2016-05-24 | 2019-09-20 | 深圳市硅格半导体有限公司 | 数据存储方法及装置 |
CN106203114A (zh) * | 2016-07-08 | 2016-12-07 | 北京金山安全软件有限公司 | 一种应用程序的防护方法、装置及电子设备 |
CN106598491A (zh) * | 2016-11-29 | 2017-04-26 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN113407999B (zh) * | 2021-05-06 | 2022-09-06 | 武汉深之度科技有限公司 | 一种文件保护方法、计算设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452512A (zh) * | 2007-12-03 | 2009-06-10 | 联想(北京)有限公司 | 实现文件安全存储的方法、装置和文件读取装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100541490C (zh) * | 2006-01-24 | 2009-09-16 | 凌阳科技股份有限公司 | 无需回收的目录入口系统及其方法 |
CN101236531B (zh) * | 2007-01-29 | 2011-09-21 | 联想(北京)有限公司 | 一种存储装置及其实现自动保护的方法 |
-
2010
- 2010-05-13 CN CN201010176150.XA patent/CN102243636B/zh active Active
-
2012
- 2012-05-09 HK HK12104513.6A patent/HK1163877A1/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452512A (zh) * | 2007-12-03 | 2009-06-10 | 联想(北京)有限公司 | 实现文件安全存储的方法、装置和文件读取装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102243636A (zh) | 2011-11-16 |
HK1163877A1 (zh) | 2012-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101404083B1 (ko) | 반도체 디스크 및 그것의 동작 방법 | |
JP4388078B2 (ja) | ファイルシステムと互換性を維持するシンボリックリンクを生成する方法、前記シンボリックリンクを用いてファイル/ディレクトリにアクセスする方法および装置 | |
CN100470548C (zh) | 管理隐藏区域的装置和方法 | |
US8838875B2 (en) | Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon | |
US7765189B2 (en) | Data migration apparatus, method, and program for data stored in a distributed manner | |
KR101767710B1 (ko) | 폐기가능 파일들의 카드-기반 관리 | |
EP2154617A1 (en) | Data management method | |
US20070276848A1 (en) | Apparatus and method for managing data | |
US7673096B2 (en) | Control apparatus for controlling virtual storage | |
TW201109956A (en) | Data storage access device | |
JP5833754B2 (ja) | ファイルシステムをクリーニングするための方法及び装置並びにその記憶媒体 | |
CN102243636B (zh) | 存储待保护文件信息、保护文件的方法及装置 | |
JP2007526528A (ja) | マルチボリュームファイルサポート | |
US20130185555A1 (en) | System and method for secure erase in copy-on-write file systems | |
US9921765B2 (en) | Partial snapshots in virtualized environments | |
JP5715964B2 (ja) | 廃棄可能ファイルのダウンロード管理 | |
CN101140548A (zh) | 一种卡片操作系统对数据文件进行操作的方法及智能卡 | |
US8281289B2 (en) | Device, method, and program for generating and executing execution binary image, and computer-readable recording medium containing the execution binary image execution program | |
KR101512296B1 (ko) | 어플리케이션 연관 파일 처리 단말 및 단말의 어플리케이션 연관 파일 처리 방법 | |
US10037328B2 (en) | Non-privileged access to data independent of filesystem implementation | |
CN110837478A (zh) | 文件管理方法、存储介质和电子设备 | |
KR101041367B1 (ko) | 파일 시스템에서의 파일 또는 디렉토리에 대한 액세스 방법및 장치 | |
KR101667760B1 (ko) | 파일 할당 테이블 파일 시스템 및 파일 저장 방법 | |
KR20240130568A (ko) | Ubifs로 포맷된 로우 플래시 메모리의 삭제된 데이터를 복구하는 방법 및 이를 위한 장치 | |
KR20100051350A (ko) | 하이브리드 저장 장치 및 하이브리드 저장 장치에서 저장 성능을 개선하기 위한 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1163877 Country of ref document: HK |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1163877 Country of ref document: HK |