CN111090396A - 一种文件的处理方法、装置及电子设备 - Google Patents
一种文件的处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111090396A CN111090396A CN201911260358.7A CN201911260358A CN111090396A CN 111090396 A CN111090396 A CN 111090396A CN 201911260358 A CN201911260358 A CN 201911260358A CN 111090396 A CN111090396 A CN 111090396A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- address
- address information
- target data
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 239000002699 waste material Substances 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种文件的处理方法、装置及电子设备,方法包括:获得文件访问指令,所述文件访问指令中包括待访问的第一文件的文件标识,所述第一文件内保存有第二文件中与所述第一文件相对应的目标数据对应的地址信息;根据所述文件标识,获得所述第一文件内的地址信息;按照所述地址信息,在所述第二文件对应的数据中,访问所述目标数据。可见,本申请中无需将第二文件对应的数据中的目标数据本身进行复制保存,而是将目标数据在第二文件对应的数据中对应的地址信息进行保存,从而不会对磁盘空间进行冗余占用,进而避免浪费磁盘空间,以提高磁盘空间的利用率。
Description
技术领域
本申请涉及文件系统技术领域,尤其涉及一种文件的处理方法、装置及电子设备。
背景技术
目前,在文件系统中需要将文件中的指定部分数据保存为另外一个文件时,如对视频文件做视频剪辑等,通常是读取源文件在磁盘中的数据到操作系统的内存中,然后在构建新的文件之后,将这些文件重新写入磁盘中的新数据块中,由此导致磁盘空间被冗余占用,存在浪费磁盘空间的情况。
发明内容
有鉴于此,本申请提供一种文件的处理方法、装置及电子设备。如下:
一种文件的处理方法,包括:
获得文件访问指令,所述文件访问指令中包括待访问的第一文件的文件标识,所述第一文件内保存有第二文件中与所述第一文件相对应的目标数据对应的地址信息;
根据所述文件标识,获得所述第一文件内的地址信息;
按照所述地址信息,在所述第二文件对应的数据中,访问所述目标数据。
上述方法,优选的,所述地址信息至少包括:所述目标数据在所述第二文件中所对应的数据块地址和所述目标数据的数据地址长度。
上述方法,优选的,所述地址信息通过以下方式保存在所述第一文件内:
获得所述目标数据在所述第二文件中对应的数据中的首地址偏移量;
获得所述目标数据的数据地址长度;
根据所述首地址偏移量,获得所述目标数据在所述第二文件中对应的数据中的第一个磁盘数据块的数据块地址以及所述目标数据在所述第一个磁盘数据块中的数据块地址偏移量;
根据所述数据地址长度,获得所述第一文件在所述第二文件中对应的数据中的其他磁盘数据块的数据块地址;
其中,所述第一个磁盘数据块的数据块地址、所述数据块地址偏移量、所述其他磁盘数据块的数据块地址和所述数据地址长度组成所述地址信息。
上述方法,优选的,所述目标数据具有引用计数值,所述引用计数值用于记录所述目标数据对应的地址信息被保存的次数。
上述方法,优选的,在所述文件访问指令为文件删除指令的情况下,按照所述地址信息,在所述第二文件中对应的数据中,访问所述目标数据,包括:
在所述目标数据的引用计数值大于或等于2的情况下,删除所述第一文件。
上述方法,优选的,在所述目标数据的引用计数值为1的情况下,所述方法还包括:
删除所述第一文件并在所述第二文件中对应的数据中删除所述地址信息对应的所述目标数据。
上述方法,优选的,在删除所述第一文件之后,所述方法还包括:
修改所述引用计数值减1。
一种文件的处理装置,包括:
指令获得单元,用于获得文件访问指令,所述文件访问指令中包括待访问的第一文件的文件标识,第一文件内保存有第二文件中与所述第一文件相对应的目标数据对应的地址信息;
信息获得单元,用于根据所述文件标识,获得所述第一文件内的地址信息;
数据访问单元,用于按照所述地址信息,在所述第二文件中对应的数据中,访问所述目标数据。
一种电子设备,包括:
存储器,用于存储应用程序和应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:获得文件访问指令,所述文件访问指令中包括待访问的第一文件的文件标识,所述第一文件内保存有第二文件中与所述第一文件相对应的目标数据对应的地址信息;根据所述文件标识,获得所述第一文件内的地址信息;按照所述地址信息,在所述第二文件中对应的数据中,访问所述目标数据。
从上述技术方案可以看出,本申请公开的一种文件的处理方法、装置及电子设备,通过以地址保存的方式保存磁盘数据或其他文件数据中的数内容,而不再将数据直接进行复制保存,从而在获得到需要对第一文件进行访问的文件访问指令时,可以根据指令中的文件标识获得第一文件内保存的地址信息,而该地址信息即为第二文件中与第一文件相对应的目标数据对应的地址信息,进而按照地址信息就可以在第二文件对应的数据中,访问到目标数据。可见,本申请中无需将第二文件对应的数据中的目标数据本身进行复制保存,而是将目标数据在第二文件对应的数据中对应的地址信息进行保存,从而不会对磁盘空间进行冗余占用,进而避免浪费磁盘空间,以提高磁盘空间的利用率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种文件的处理方法的流程图;
图2-图3分别为本申请实施例的示例图;
图4为本申请实施例二提供的一种文件的处理装置的结构示意图;
图5为本申请实施例三提供的一种电子设备的结构示意图;
图6为目前进行文件保存的示例图;
图7-图10分别为本申请实施例适用于文件保存的应用示例图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例一提供的一种文件的处理方法的实现流程图,该方法适用于能够进行数据存储及数据访问的电子设备,该电子设备可以为具有存储磁盘的手机、pad、计算机或服务器等。本实施例中的技术方案主要用于提高电子设备中的磁盘的利用率。
具体的,本实施例中的方法可以包括以下步骤:
步骤101:获得文件访问指令。
其中,文件访问指令中包括待访问的第一文件的文件标识,如文件名称等标识,能够唯一表征第一文件。
需要说明的是,第一文件内保存有第二文件中与第一文件相对应的目标数据对应的地址信息,而不是目标数据本身。
其中,第二文件中保存有磁盘数据本身,相应的,目标数据可以为第二文件中保存的磁盘数据中的至少部分数据,或者,第二文件中保存有磁盘数据中的相应数据的地址信息,相应的,目标数据可以为第二文件中保存的地址信息在磁盘数据中对应的数据中的至少部分数据。
步骤102:根据文件标识,获得第一文件内的地址信息。
其中,第一文件中保存有其对应的目标数据的地址信息,由此,本实施例中可以根据文件访问指令中的文件标识,在电子设备的文件系统中找到第一文件所在的文件路径,并在相应路径下读取第一文件中所保存的地址信息。
步骤103:按照地址信息,在第二文件对应的数据中,访问目标数据。
其中,第二文件对应的数据可以为第二文件中所保存的磁盘数据,此时,按照从第一文件中所读取到的地址信息,在第二文件中所保存的磁盘数据中读取到第一文件所对应的目标数据;
或者,第二文件对应数据可以为第二文件中所保存的地址信息在磁盘数据中所对应的数据,此时,按照从第一文件中所读取到的地址信息,在第二文件所保存的地址信息在磁盘数据中所对应的数据中读取到第一文件所对应的目标数据。
由上述方案可知,本申请实施例一提供的一种文件的处理方法,通过以地址保存的方式保存磁盘数据或其他文件数据中的数内容,而不再将数据直接进行复制保存,从而在获得到需要对第一文件进行访问的文件访问指令时,可以根据指令中的文件标识获得第一文件内保存的地址信息,而该地址信息即为第二文件中与第一文件相对应的目标数据对应的地址信息,进而按照地址信息就可以在第二文件对应的数据中,访问到目标数据。可见,本实施例中无需将第二文件对应的数据中的目标数据本身进行复制保存,而是将目标数据在第二文件对应的数据中对应的地址信息进行保存,从而不会对磁盘空间进行冗余占用,进而避免浪费磁盘空间,以提高磁盘空间的利用率。
在具体实现中,第一文件中所保存的地址信息可以包括有:目标数据在第二文件中所对应的数据块地址和目标数据的数据地址长度。例如,第二文件中保存磁盘中的数据块1-数据块5,第一文件对应的目标数据对应于磁盘中的数据块2-数据块5,相应的,第一文件中保存数据块2-数据块5在磁盘中的数据块地址,第一文件中还保存目标数据在数据块2-数据块5中的数据地址长度。或者,第二文件中保存磁盘中数据块1-数据块5的数据块地址,第一文件对应的目标数据对应于第二文件中的数据块2-数据块5的地址信息在磁盘中对应的数据块2-数据块5,相应的,第一文件中保存第二文件中数据块2-数据块5的地址信息,第一文件中还保存目标数据在数据块2-数据块5中的数据地址长度。
基于以上实现,本实施例中第一文件中所保存的地址信息在第一文件被生成并保存时可以通过以下方式保存在第一文件中:
首先,获得目标数据在第二文件中对应的数据中的首地址偏移量。例如,目标数据在第二文件中对应的磁盘数据中对应于地址x1-地址y1,而第二文件对应于磁盘数据中的地址x2-地址y2,如图2中所示,地址x1相对于地址x2的偏移量即为目标数据在第二文件中对应的数据中的首地址偏移量。
同时,获得目标数据的数据地址长度。例如,从地址x1到地址y1之间的地址长度即为目标数据的数据地址长度。
之后,根据首地址偏移量,获得目标数据在第二文件中对应的数据中的第一个磁盘数据块的数据块地址,以及目标数据在第一磁盘数据块中的数据块地址偏移量。例如,如图3中所示,第二文件对应于磁盘中的数据块1-数据块5,即地址x2-地址y2对应的数据块,第一文件对应的目标数据对应于地址x1-地址y1,相应的,根据地址x1相对于地址x2的偏移量,地址x1在磁盘中对应到数据块2,且地址x1在数据块2(地址x3-地址y3)中具有地址偏移量:地址x3到地址x2之间的地址偏移量。
最后,根据数据块地址长度,获得第一文件在第二文件中对应的数据中的其他磁盘数据块的数据块地址。例如,根据目标数据的数据地址长度地址x1-地址y1之间的数据地址长度,获得目标数据在第二文件中对应的磁盘数据块中的数据块3-数据块5的数据块地址。
基于此,第一个磁盘数据块的数据块地址、数据块地址偏移量、其他磁盘数据块的数据块地址和数据地址长度组成目标数据对应的地址信息,之后,将地址信息保存在文件系统中所生成的第一文件中,由此,第一文件中保存第二文件中对应的数据中的目标数据对应的地址信息。
相应的,在获得到文件访问指令之后,根据文件访问指令中的文件标识,在文件系统中定位到第一文件的文件路径,并在第一文件中读取到其保存的地址信息,进而根据地址信息中的第一个磁盘数据块的数据块地址和其他磁盘数据块的数据块地址定位到磁盘数据中的第一文件对应的第一个磁盘数据块和其他磁盘数据块,并从地址信息中的数据块地址偏移量在第一个磁盘数据块中定位第一文件对应的首地址,之后,从第一文件对应的首地址开始,在第一个磁盘数据块和其他磁盘数据块中读取地址信息中的数据地址长度对应的数据,即读取到目标数据。
在一种实现方式中,针对磁盘数据中的目标数据设置有引用计数值,该引用计数值用于记录目标数据对应的地址信息被保存的次数,例如,在第二文件中保存该地址信息的情况下,引用计数值加1,进一步的,在第一文件中保存第二文件中对应的数据中的目标数据的地址信息的情况下,引用计数值继续加1,如果还有第三文件或其他文件也同时保存有该目标数据的地址信息的情况下,那么引用计数值继续加1,如果接收到针对保存目标数据的地址信息的文件的删除指令,那么需要对该引用计数值进行判断,并以此来决定是否在删除文件的同时,删除磁盘数据中的目标数据。
例如,在文件访问指令为文件删除指令的情况下,按照地址信息在第二文件中对应的数据中访问目标数据,具体可以通过以下方式实现:
首先,判断目标数据的引用计数值是否大于或等于2,如果目标数据的引用计数值大于或等于2,那么删除第一文件。
例如,如果目标数据的引用计数值大于或等于2,那么表明有其他文件对该目标数据的地址信息进行引用保存,包括不同情况:只包含目标数据中部分数据的地址信息的情况和包括目标数据中所有数据的地址信息的情况,因此,为了避免其他文件能够继续保有该目标数据,在目标数据的引用计数值大于或等于2的情况下,就只删除第一文件,而对磁盘数据中的目标数据本身不进行删除。
进一步的,在目标数据的引用计数值大于或等于2的情况下,删除第一文件之后,修改目标数据的引用计数值减1,表征第一文件被删除后减少了一份文件对目标数据的地址信息的地址引用保存,以便于进行后续其他的文件访问。
而如果目标数据的引用计数值为1的情况下,那么在删除第一文件的同时,也在第二文件中对应的数据中删除地址信息对应的目标数据。
例如,如果目标数据的引用计数值为1,那么表明没有其他文件对该目标数据的地址信息进行引用保存,此时可以在删除第一文件的同时,将磁盘数据中的目标数据本身也进行删除。
参考图4,为本申请实施例二提供的一种文件的处理装置的结构示意图,该装置可以配置在能够进行数据存储及数据访问的电子设备,该电子设备可以为具有存储磁盘的手机、pad、计算机或服务器等。本实施例中的技术方案主要用于提高电子设备中的磁盘的利用率。
具体的,本实施例中的装置可以包括以下功能单元:
指令获得单元401,用于获得文件访问指令,所述文件访问指令中包括待访问的第一文件的文件标识,第一文件内保存有第二文件中与所述第一文件相对应的目标数据对应的地址信息;
信息获得单元402,用于根据所述文件标识,获得所述第一文件内的地址信息;
数据访问单元403,用于按照所述地址信息,在所述第二文件中对应的数据中,访问所述目标数据。
由上述方案可知,本申请实施例二提供的一种文件的处理装置,通过以地址保存的方式保存磁盘数据或其他文件数据中的数内容,而不再将数据直接进行复制保存,从而在获得到需要对第一文件进行访问的文件访问指令时,可以根据指令中的文件标识获得第一文件内保存的地址信息,而该地址信息即为第二文件中与第一文件相对应的目标数据对应的地址信息,进而按照地址信息就可以在第二文件对应的数据中,访问到目标数据。可见,本实施例中无需将第二文件对应的数据中的目标数据本身进行复制保存,而是将目标数据在第二文件对应的数据中对应的地址信息进行保存,从而不会对磁盘空间进行冗余占用,进而避免浪费磁盘空间,以提高磁盘空间的利用率。
在一种实现方式中,所述地址信息至少包括:所述目标数据在所述第二文件中所对应的数据块地址和所述目标数据的数据地址长度。
其中,所述地址信息通过以下方式保存在所述第一文件内:
获得所述目标数据在所述第二文件中对应的数据中的首地址偏移量;获得所述目标数据的数据地址长度;根据所述首地址偏移量,获得所述目标数据在所述第二文件中对应的数据中的第一个磁盘数据块的数据块地址以及所述目标数据在所述第一个磁盘数据块中的数据块地址偏移量;根据所述数据地址长度,获得所述第一文件在所述第二文件中对应的数据中的其他磁盘数据块的数据块地址;其中,所述第一个磁盘数据块的数据块地址、所述数据块地址偏移量、所述其他磁盘数据块的数据块地址和所述数据地址长度组成所述地址信息。
可选的,所述目标数据具有引用计数值,所述引用计数值用于记录所述目标数据对应的地址信息被保存的次数。
相应的,在所述文件访问指令为文件删除指令的情况下,数据访问单元403按照所述地址信息,在所述第二文件中对应的数据中,访问所述目标数据时,具体可以通过以下方式实现:
在所述目标数据的引用计数值大于或等于2的情况下,删除所述第一文件。
可选的,在删除所述第一文件之后,数据访问单元403还用于修改所述引用计数值减1。
在一种实现方式中,在所述目标数据的引用计数值为1的情况下,数据访问单元403还用于删除所述第一文件并在所述第二文件中对应的数据中删除所述地址信息对应的所述目标数据。
参考图5,为本申请实施例三提供的一种电子设备的结构示意图,该电子设备可以为能够进行数据存储及数据访问的电子设备,如具有存储磁盘的手机、pad、计算机或服务器等。本实施例中的技术方案主要用于提高电子设备中的磁盘的利用率。
具体的,本实施例中的电子设备可以包括以下结构:
存储器501,用于存储应用程序和应用程序运行所产生的数据;
处理器502,用于执行所述应用程序,以实现:获得文件访问指令,所述文件访问指令中包括待访问的第一文件的文件标识,所述第一文件内保存有第二文件中与所述第一文件相对应的目标数据对应的地址信息;根据所述文件标识,获得所述第一文件内的地址信息;按照所述地址信息,在所述第二文件中对应的数据中,访问所述目标数据。
由上述方案可知,本申请实施例三提供的一种电子设备,通过以地址保存的方式保存磁盘数据或其他文件数据中的数内容,而不再将数据直接进行复制保存,从而在获得到需要对第一文件进行访问的文件访问指令时,可以根据指令中的文件标识获得第一文件内保存的地址信息,而该地址信息即为第二文件中与第一文件相对应的目标数据对应的地址信息,进而按照地址信息就可以在第二文件对应的数据中,访问到目标数据。可见,本实施例中无需将第二文件对应的数据中的目标数据本身进行复制保存,而是将目标数据在第二文件对应的数据中对应的地址信息进行保存,从而不会对磁盘空间进行冗余占用,进而避免浪费磁盘空间,以提高磁盘空间的利用率。
以电脑中的文件系统中的文件存储及访问为例,对本申请中的技术方案进行举例说明:
在文件系统中存在一种应用场景,文件系统中已存在某个文件,该文件的特点是一次写入多次读取,存在需要将此文件中的指定部分数据保存为另外一个文件的情况,例如对视频文件做视频剪辑并保存成单独的文件。
如图6中所示,通常的做法是读取read文件1(源文件)在磁盘中的数据到操作系统OS(operating system)内存中,然后构建新的文件2,将这些数据重新写入write新的磁盘数据块中,读写流程如图6中所示,在包含磁盘数据块1-5的文件1中读取磁盘数据块2-4的数据到内存中,构建新的文件2之后,写入到磁盘中,而这种方式中不仅效率较低,而且会浪费大量的磁盘空间,导致磁盘的空间利用率较低。
为解决以上技术缺陷,本申请的技术方案提出一种文件数据储存方案,如果新创建的文件中的数据完全来自本文件系统中另外一个文件的某指定部分,如图7中所示,新创建的文件2的数据时来自文件1在磁盘中对应的数据块2-4,此时,则可以使新创建的文件完全引用源文件的指定部分数据所使用的磁盘数据块的相关地址信息。在本申请的技术方案中,不需要读取源文件指定位置的数据,然后重新写入磁盘,只需要提供源文件中数据的磁盘数据块地址的地址信息和地址数据长度,就可以快速的构建新文件,提高了效率,而且,新创建的文件不必分配新的磁盘数据块,节省了磁盘空间。
需要说明的是,本申请的技术方案中,文件系统一般是以磁盘数据块大小管理磁盘的,文件的数据一般是存放在一个一个的数据块中,且是数据块对齐的,文件的最后一个数据块可能不是数据块对齐的,并不影响实际应用,不做特殊考虑,文件元数据inode中会记录磁盘数据块的索引编号(在索引块地址中记录每个磁盘数据块的数据块地址编号,如1-5),以便在读写文件的时候能够定位到对应的磁盘数据块读取里面的数据,文件inode结构和数据块的关系如图8中所示。
在本申请的技术方案中,当需要从一个文件1中的一部分数据保存为另外一个文件2,而这一部分数据绝大多数情况是从源文件1的某一个数据块中间开始的,除了第一个数据块,如图9中的数据块2,剩下的数据块3-5都是数据块对齐的。
如图10中所示,为实现本技术方案,本申请中首先需要修改文件inode,在inode中对文件2的第一个数据块单独记录,内容包括:
1、数据块地址:block_addr,即该文件2在文件1中对应的第一个磁盘数据块的地址;
2、文件数据开始位置在第一个磁盘数据块中的偏移量:offset,即该文件2在文件1中对应的第一磁盘数据块即数据块2中的首地址偏移量;
3、数据的长度:length,即文件2的数据长度。
基于此,本申请的技术方案还需要对磁盘数据块实现引用计数的保护,例如对文件2中的地址对应的数据设置引用计数值,以免在删除文件的时候损坏其他文件。
具体的,本申请的技术方案的实现流程如下:
1、获取源文件1中需要转存的数据(文件2)在源文件1中的偏移量以及数据长度;
2、将新文件2的文件名、源文件1的文件名(或者文件句柄)、源文件1转存数据的偏移量以及转存数据的数据长度作为参数传递给文件系统;
3、在文件系统中构建新的文件2的文件inode;
4、通过源文件1转存数据的偏移量和长度可以计算出转存数据的起始索引块地址(数据块地址)和结尾索引块地址,进而得出第一个磁盘数据块地址以及在这个第一个磁盘数据块里的起始位置(偏移量)和长度,将这些地址和长度赋值给新的文件2的inode的frist_block里的各成员参数;
5、将源文件1中转存数据的起始索引块地址和结尾索引块地址去除第一个磁盘数据块地址剩下的磁盘数据块地址拷贝至新的inode的索引块地址block_addrs;
6、对inode中记录的数据块地址追加引用计数,此步骤需要与步骤5在一个操作内完成;
7、新文件2创建完成。
例如,对视频文件1中截取视频片段进行保存时,无需将视频片段本身的视频数据进行复制保存,而是将视频片段在视频文件中对应的视频时间信息如第11秒到第40秒的时间信息进行获取,并保存到截取出的视频片段对应的视频文件2中,相应的,在视频文件2被播放时,可以在视频文件1中根据视频文件2中保存的第11秒到第40秒的时间信息进行视频数据读取并播放,由此实现视频文件1中第11秒到第40秒之间的视频片段的播放,可见,在本实施例中,无需将视频片段本身的视频数据读取到内存再写入到磁盘的流程,也无需将视频片段本身的视频数据重复保存在磁盘中,从而能够提高视频文件保存的效率和读取效率,也能够提高磁盘空间利用率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种文件的处理方法,包括:
获得文件访问指令,所述文件访问指令中包括待访问的第一文件的文件标识,所述第一文件内保存有第二文件中与所述第一文件相对应的目标数据对应的地址信息;
根据所述文件标识,获得所述第一文件内的地址信息;
按照所述地址信息,在所述第二文件对应的数据中,访问所述目标数据。
2.根据权利要求1所述的方法,所述地址信息至少包括:所述目标数据在所述第二文件中所对应的数据块地址和所述目标数据的数据地址长度。
3.根据权利要求2所述的方法,所述地址信息通过以下方式保存在所述第一文件内:
获得所述目标数据在所述第二文件中对应的数据中的首地址偏移量;
获得所述目标数据的数据地址长度;
根据所述首地址偏移量,获得所述目标数据在所述第二文件中对应的数据中的第一个磁盘数据块的数据块地址以及所述目标数据在所述第一个磁盘数据块中的数据块地址偏移量;
根据所述数据地址长度,获得所述第一文件在所述第二文件中对应的数据中的其他磁盘数据块的数据块地址;
其中,所述第一个磁盘数据块的数据块地址、所述数据块地址偏移量、所述其他磁盘数据块的数据块地址和所述数据地址长度组成所述地址信息。
4.根据权利要求1所述的方法,所述目标数据具有引用计数值,所述引用计数值用于记录所述目标数据对应的地址信息被保存的次数。
5.根据权利要求4所述的方法,在所述文件访问指令为文件删除指令的情况下,按照所述地址信息,在所述第二文件中对应的数据中,访问所述目标数据,包括:
在所述目标数据的引用计数值大于或等于2的情况下,删除所述第一文件。
6.根据权利要求5所述的方法,在所述目标数据的引用计数值为1的情况下,所述方法还包括:
删除所述第一文件并在所述第二文件中对应的数据中删除所述地址信息对应的所述目标数据。
7.根据权利要求5所述的方法,在删除所述第一文件之后,所述方法还包括:
修改所述引用计数值减1。
8.一种文件的处理装置,包括:
指令获得单元,用于获得文件访问指令,所述文件访问指令中包括待访问的第一文件的文件标识,第一文件内保存有第二文件中与所述第一文件相对应的目标数据对应的地址信息;
信息获得单元,用于根据所述文件标识,获得所述第一文件内的地址信息;
数据访问单元,用于按照所述地址信息,在所述第二文件中对应的数据中,访问所述目标数据。
9.一种电子设备,包括:
存储器,用于存储应用程序和应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:获得文件访问指令,所述文件访问指令中包括待访问的第一文件的文件标识,所述第一文件内保存有第二文件中与所述第一文件相对应的目标数据对应的地址信息;根据所述文件标识,获得所述第一文件内的地址信息;按照所述地址信息,在所述第二文件中对应的数据中,访问所述目标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911260358.7A CN111090396A (zh) | 2019-12-10 | 2019-12-10 | 一种文件的处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911260358.7A CN111090396A (zh) | 2019-12-10 | 2019-12-10 | 一种文件的处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111090396A true CN111090396A (zh) | 2020-05-01 |
Family
ID=70395377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911260358.7A Pending CN111090396A (zh) | 2019-12-10 | 2019-12-10 | 一种文件的处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090396A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563065A (zh) * | 2020-07-09 | 2020-08-21 | 北京联想协同科技有限公司 | 一种文档保存方法、装置及计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140905A1 (en) * | 2003-05-06 | 2008-06-12 | Kenichi Okuyama | Magnetic disk unit, file management system, and file management method |
CN101571869B (zh) * | 2009-05-31 | 2011-04-20 | 北京握奇数据系统有限公司 | 一种智能卡的文件存储、读取方法及装置 |
CN102253985A (zh) * | 2011-06-30 | 2011-11-23 | 深圳市江波龙电子有限公司 | 一种文件系统数据的管理方法及系统 |
CN103186530A (zh) * | 2011-12-27 | 2013-07-03 | 北京中文在线数字出版股份有限公司 | 多版本数字图书的差异化存储方法及差异文件的读取方法 |
CN101533408B (zh) * | 2009-04-21 | 2015-02-04 | 北京四维图新科技股份有限公司 | 一种海量数据的处理方法及处理装置 |
CN105306564A (zh) * | 2015-10-20 | 2016-02-03 | 浪潮集团有限公司 | 一种基于数据库的网盘文件复制方法及服务器 |
CN105868169A (zh) * | 2016-04-06 | 2016-08-17 | 西安电子科技大学 | 一种数据采集接口、数据采集方法和系统 |
CN106658092A (zh) * | 2016-12-12 | 2017-05-10 | 暴风集团股份有限公司 | 视频聚合播放的方法和系统 |
CN107665098A (zh) * | 2017-09-05 | 2018-02-06 | 联想(北京)有限公司 | 信息处理方法、存储设备及计算机存储介质 |
CN110442308A (zh) * | 2019-07-05 | 2019-11-12 | 厦门四信物联网科技有限公司 | 一种数据块存储方法、装置、设备及存储介质 |
-
2019
- 2019-12-10 CN CN201911260358.7A patent/CN111090396A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140905A1 (en) * | 2003-05-06 | 2008-06-12 | Kenichi Okuyama | Magnetic disk unit, file management system, and file management method |
CN101533408B (zh) * | 2009-04-21 | 2015-02-04 | 北京四维图新科技股份有限公司 | 一种海量数据的处理方法及处理装置 |
CN101571869B (zh) * | 2009-05-31 | 2011-04-20 | 北京握奇数据系统有限公司 | 一种智能卡的文件存储、读取方法及装置 |
CN102253985A (zh) * | 2011-06-30 | 2011-11-23 | 深圳市江波龙电子有限公司 | 一种文件系统数据的管理方法及系统 |
CN103186530A (zh) * | 2011-12-27 | 2013-07-03 | 北京中文在线数字出版股份有限公司 | 多版本数字图书的差异化存储方法及差异文件的读取方法 |
CN105306564A (zh) * | 2015-10-20 | 2016-02-03 | 浪潮集团有限公司 | 一种基于数据库的网盘文件复制方法及服务器 |
CN105868169A (zh) * | 2016-04-06 | 2016-08-17 | 西安电子科技大学 | 一种数据采集接口、数据采集方法和系统 |
CN106658092A (zh) * | 2016-12-12 | 2017-05-10 | 暴风集团股份有限公司 | 视频聚合播放的方法和系统 |
CN107665098A (zh) * | 2017-09-05 | 2018-02-06 | 联想(北京)有限公司 | 信息处理方法、存储设备及计算机存储介质 |
CN110442308A (zh) * | 2019-07-05 | 2019-11-12 | 厦门四信物联网科技有限公司 | 一种数据块存储方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563065A (zh) * | 2020-07-09 | 2020-08-21 | 北京联想协同科技有限公司 | 一种文档保存方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6823417B2 (en) | Memory controller for memory card manages file allocation table | |
CN110673800B (zh) | 文件系统的数据操作方法、装置、设备及可读存储介质 | |
CN111723056B (zh) | 小文件的处理方法、装置、设备和存储介质 | |
JP2009199625A (ja) | メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
KR101766790B1 (ko) | 메인 메모리 데이터 베이스를 관리 하기 위한 방법 및 컴퓨팅 장치 | |
CN107643880A (zh) | 基于分布式文件系统的文件数据迁移的方法及装置 | |
CN107678981A (zh) | 数据处理方法及装置 | |
CN113823331B (zh) | 一种光盘追加刻录方法、装置及计算设备 | |
JP2006040264A (ja) | メモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
US20060015698A1 (en) | Method and apparatus for data backup | |
JP2006512643A (ja) | 二重ジャーナリングの保存方法及びその記憶媒体 | |
KR20170010810A (ko) | 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비 | |
CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
CN109710286A (zh) | 系统升级方法、装置、设备和存储介质 | |
CN100504800C (zh) | 磁盘快照的方法 | |
CN111382011B (zh) | 一种文件数据存取方法、装置和计算机可读存储介质 | |
CN107766067B (zh) | 一种提升压缩镜像烧录速度的方法、存储介质及计算机 | |
US20070162707A1 (en) | Information recording medium data processing apparatus and data recording method | |
CN110658993A (zh) | 一种快照回滚方法、装置、设备及存储介质 | |
CN111090396A (zh) | 一种文件的处理方法、装置及电子设备 | |
KR20170106626A (ko) | 메인 메모리 데이터 베이스를 관리 하기 위한 방법 및 컴퓨팅 장치 | |
CN112286448A (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
CN110716696A (zh) | 对象处理方法及相关装置 | |
CN116795803A (zh) | 一种文件数据存储方法、装置、设备及存储介质 | |
JP7435470B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |