CN111414339A - 一种文件的处理方法、系统、装置、设备及介质 - Google Patents
一种文件的处理方法、系统、装置、设备及介质 Download PDFInfo
- Publication number
- CN111414339A CN111414339A CN202010177611.9A CN202010177611A CN111414339A CN 111414339 A CN111414339 A CN 111414339A CN 202010177611 A CN202010177611 A CN 202010177611A CN 111414339 A CN111414339 A CN 111414339A
- Authority
- CN
- China
- Prior art keywords
- target
- subfile
- file
- data
- file 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件的处理方法、系统、装置、设备及介质,用以解决现有解压缩效率低,且占用资源大的问题。由于在本发明实施例中根据数据流的数据包头中记录有每个子文件的数据在数据流中的位置信息,因此当接收到的数据流中的文件数据时,可以根据该文件数据在数据流中的位置信息,确定该文件数据对应的目标子文件,并根据数据包头中记录的每个子文件在目标压缩包对应的目标文件中的相对路径,以及目标压缩包的指定存储位置,确定目标存储位置,从而将解压后的文件数据存储到目标存储位置,从而实现边接收文件数据边解压缩,提高了解压缩的效率,减少了对缓存资源的占用。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种文件的处理方法、系统、装置、设备及介质。
背景技术
随着各种电子设备的普及,通过发送、接收文件进行数据传输已经成为信息处理中的重要手段。其中,在发送文件之前,通过对原始文件进行压缩得到比原始文件大小相对较小的压缩包,将压缩包进行传输,以便节省用于文件传输的资源,在接收到压缩包之后,通过对压缩包进行解压缩得到原始文件。
现有技术中,常见的文件的处理方法是,在接收到目标压缩包的全部数据后,根据该数据中包含的目标压缩包的信息,比如,元信息、哈希Hash值、相对路径等,先解压出该目标压缩包中的多个压缩后的子文件,然后再针对每个压缩后的子文件进行解压缩。由于该方法中目标压缩包的信息一般是基于整个目标压缩包确定的,因此需要接收到该目标压缩包的全部数据后才能开始解压缩,耗费了时间来等待该目标压缩包的数据,以及占用了大量的缓存资源用于接收整个目标压缩包的数据,后续在进行解压缩时,先对整个目标压缩包进行解压缩,获取每个压缩后的子文件之后,再对每个子文件的文件数据进行解压缩,该过程会占用非常大的运行资源,并且无法一次性解压出每个子文件的文件数据,解压过程繁琐、效率非常低。
发明内容
本发明实施例提供了一种文件的处理方法、系统、装置、设备及介质,用以解决现有解压缩效率低,且占用资源大的问题。
本发明实施例提供了一种文件的处理方法,所述方法包括:
接收目标压缩包的数据流,在接收到所述数据流的数据包头时,解压并获取所述数据包头中记录的信息,其中,所述信息包括每个子文件的文件数据在所述数据流中的位置信息,以及每个所述子文件在所述目标压缩包对应的目标文件中的相对路径;
当接收到的所述数据流的文件数据时,根据所述文件数据在所述数据流中的位置信息,确定所述文件数据归属的目标子文件;根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,将解压后的文件数据保存到所述目标存储位置。
进一步地,所述信息中还包括文件名映射表,目录名映射表、以及每个所述子文件对应的路径信息,确定所述目标子文件的相对路径包括:
根据所述目标子文件的路径信息中记录的所述目标子文件的每个目录的第一标识、以及每个第一标识的目录之间的关系,以及所述目录名映射表中记录的目录名称与目录的第一标识的对应关系,确定所述每个第一标识的目录对应的目录名称,以及每个目录名称的目录之间的关系;根据该路径信息中记录的所述目标子文件的名称的第二标识,以及所述文件名映射表中记录的子文件名称与名称的第二标识的对应关系,确定所述第二标识的名称对应的文件名称;根据所述每个第一标识的目录对应的目录名称、所述每个目录名称的目录之间的关系,以及所述第二标识的名称对应的文件名称,确定所述目标子文件的相对路径。
进一步地,所述根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,包括:
根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置。
进一步地,所述根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件目标存储位置,包括:
判断所述目标子文件的数量是否小于两个;
若是,则直接根据所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置;
若否,则根据所述指定存储位置,以及每个所述目标子文件的相对路径,分别确定每个所述目标子文件的候选存储位置,将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置。
进一步地,所述将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置之后,所述方法还包括:
建立每个所述目标子文件到所述目标存储位置的链接;
将每个所述链接分别保存到每个所述目标子文件的候选存储位置。
进一步地,所述方法还包括:
当接收到对任一目标子文件的文件数据的写入操作指令时,根据该目标子文件的候选存储位置中是否保存有链接,确定该目标子文件的文件数据是否为共享文件数据;
若该目标子文件的文件数据为共享文件数据,且确定该目标子文件能够被写入时,为该目标子文件重新分配修改存储位置;根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到所述修改存储位置;删除该目标子文件的候选存储位置中保存的链接,并将所述修改后的文件数据作为该目标子文件的文件数据。
本发明实施例提供了一种文件的处理系统,所述系统包括:用于发送目标压缩包的数据流的发送端以及执行上述任一项所述的文件的处理方法的接收端。
进一步地,所述发送端,还用于分别将每个所述子文件的文件数据进行压缩,获取压缩后的每个所述子文件的数据长度;确定每个所述子文件的文件数据在所述数据流中的排序位置,根据每个所述子文件的文件数据对应的排序位置,以及压缩后的数据长度,确定每个所述子文件的文件数据在所述数据流中的位置信息。
进一步地,所述发送端,具体用于针对每个所述子文件的文件数据,判断是否存在与该子文件的文件数据一致的其它子文件,若存在,则确定该子文件与所述其它子文件的排序位置一致。
进一步地,所述发送端,还用于生成记录有目录名称及其对应的第一标识的目录名映射表,以及生成记录有文件名称及其对应的第二标识的文件名映射表;根据每个子文件在所述目标压缩包对应的目标文件中的相对路径,所述目录名映射表以及所述文件名映射表,针对每个子文件,生成包含该子文件所在的每个目录的第一标识、所述每个目录的第一标识之间的关系以及该子文件名称的第二标识的路径信息。
本发明实施例提供了一种文件的处理装置,所述装置包括:
接收单元,用于接收目标压缩包的数据流,在接收到所述数据流的数据包头时,解压并获取所述数据包头中记录的信息,其中,所述信息包括每个子文件的文件数据在所述数据流中的位置信息,以及每个所述子文件在所述目标压缩包对应的目标文件中的相对路径;
处理单元,用于当接收到的所述数据流的文件数据时,根据所述文件数据在所述数据流中的位置信息,确定所述文件数据归属的目标子文件;根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,将解压后的文件数据保存到所述目标存储位置。
进一步地,所述处理单元,还用于若所述信息中还包括文件名映射表,目录名映射表、以及每个所述子文件对应的路径信息,根据所述目标子文件的路径信息中记录的所述目标子文件的每个目录的第一标识、以及每个第一标识的目录之间的关系,以及所述目录名映射表中记录的目录名称与目录的第一标识的对应关系,确定所述每个第一标识的目录对应的目录名称,以及每个目录名称的目录之间的关系;根据该路径信息中记录的所述目标子文件的名称的第二标识,以及所述文件名映射表中记录的子文件名称与名称的第二标识的对应关系,确定所述第二标识的名称对应的文件名称;根据所述每个第一标识的目录对应的目录名称、所述每个目录名称的目录之间的关系,以及所述第二标识的名称对应的文件名称,确定所述目标子文件的相对路径。
进一步地,所述处理单元,用于根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置。
进一步地,所述处理单元,具体用于判断所述目标子文件的数量是否小于两个;若是,则直接根据所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置;若否,则根据所述指定存储位置,以及每个所述目标子文件的相对路径,分别确定每个所述目标子文件的候选存储位置,将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置。
进一步地,所述处理单元,还用于所述将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置之后,建立每个所述目标子文件到所述目标存储位置的链接;将每个所述链接分别保存到每个所述目标子文件的候选存储位置。
进一步地,所述装置还包括:
修改单元,用于当接收到对任一目标子文件的文件数据的写入操作指令时,根据该目标子文件的候选存储位置中是否保存有链接,确定该目标子文件的文件数据是否为共享文件数据;若该目标子文件的文件数据为共享文件数据,且确定该目标子文件能够被写入时,为该目标子文件重新分配修改存储位置;根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到所述修改存储位置;删除该目标子文件的候选存储位置中保存的链接,并将所述修改后的文件数据作为该目标子文件的文件数据。
本发明实施例提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现上述任一所述文件的处理方法的步骤。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述文件的处理方法的步骤。本发明实施例中在接收到数据流的数据包头时,解压并获取数据包头中记录的信息,当接收到的数据流的文件数据时,根据文件数据在数据流中的位置信息,确定文件数据归属的目标子文件;根据目标压缩包的指定存储位置以及目标子文件的相对路径,确定目标子文件的目标存储位置,将解压后的文件数据保存到目标存储位置。由于在本发明实施例中根据数据流的数据包头中记录有每个子文件的数据在数据流中的位置信息,因此当接收到的数据流中的文件数据时,可以根据该文件数据在数据流中的位置信息,确定该文件数据对应的目标子文件,并根据数据包头中记录的每个子文件在目标压缩包对应的目标文件中的相对路径,以及目标压缩包的指定存储位置,确定目标存储位置,从而将解压后的文件数据存储到目标存储位置,从而实现边接收文件数据边解压缩,提高了解压缩的效率,减少了对缓存资源的占用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的提供一种文件的处理流程示意图;
图2为本发明实施例提供的具体的文件的处理流程示意图;
图3为本发明实施例提供的具体的文件的处理流程示意图;
图4为本发明实施例提供的一种文件的处理系统结构示意图;
图5为本发明实施例提供的一种文件名映射表和目录映射表的示意图;
图6为本发明实施例提供的具体的文件路径信息映射表示意图;
图7为本发明实施例提供的一种生成目标压缩包的数据流的示意图;
图8为本发明实施例提供的一种文件的处理流程示意图;
图9为本发明实施例提供的一种文件的处理装置的结构示意图;
图10为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高解压缩的效率,并减少资源占用,本发明实施例提供了一种文件的处理方法、系统、装置、设备及介质。
实施例1:
图1为本发明实施例的提供一种文件的处理流程示意图,该流程包括:
S101:接收目标压缩包的数据流,在接收到所述数据流的数据包头时,解压并获取所述数据包头中记录的信息,其中,所述信息包括每个子文件的数据在所述数据流中的位置信息,以及每个所述子文件在所述目标压缩包对应的目标文件中的相对路径。
本发明实施例提供一种文件的处理方法,该方法可以应用于电子设备,该电子设备可以是具有图像采集功能的智能设备,也可以PC、服务器等设备。
在本发明实施例中,该数据流包括数据包头以及数据包头之后的文件数据。其中,该数据流的数据包头中记录的信息主要是关于目标压缩包中各个子文件的数据的相关信息的,比如,每个子文件的数据在该数据流中的位置信息,每个子文件在目标压缩包对应的目标文件中的相对路径等。该位置信息可以表示为该子文件在数据流中起始位置和终止位置的偏移量,也可以表示为该子文件在数据流中的起始位置的偏移量以及数据长度。当然,该信息中还可以包括每个子文件对应的Hash值、索引号、文件属性等。该信息可以以数据表的方式记录上述每个子文件的相关信息,也可以以文本的形式记录。
具体实施中,电子设备在接收到目标压缩包的数据流时,一定是先接收到该数据流的数据包头,因此,电子设备可以边进行数据流的接收,边将该数据流的数据包头中记录的信息解压出来,后续基于获取到的数据包头中记录的信息,对之后接收到的该数据流的文件数据进行相应的处理,从而获取每个原始文件。
需要说明的是,目标压缩包的后缀名可以为tar,app,zip,zipx,rar,7z,lha,iso,tar.bz2,tar.gz,tgz,gz,gzip,z等格式。
S102:当接收到的所述数据流的文件数据时,根据所述文件数据在所述数据流中的位置信息,确定所述文件数据归属的目标子文件;根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,将解压后的文件数据保存到所述目标存储位置。
基于上述描述可知,通过解压数据流的数据包头,可以获取到每个子文件的文件数据在数据流中的位置信息,以及每个子文件在目标压缩包对应的目标文件中的相对路径。因此,针对后续接收到的该数据流的文件数据,获取该文件数据在数据流中的位置信息,将该文件数据的位置信息是否与任一子文件的位置信息匹配,确定匹配的子文件为该文件数据归属的目标子文件。其中,该文件数据的位置信息与任一子文件的位置信息匹配是指,该文件数据的位置信息在任一子文件的位置信息所在的范围内。
例如,获取到的子文件A、B、C的数据在数据流中的位置信息分别为0-150字节,151-300字节,301-450字节,获取到的数据流的文件数据的位置信息是365字节,将该文件数据的位置信息与任一子文件的位置信息进行匹配,若匹配的子文件为子文件B,则将子文件B作为该文件数据归属的目标子文件。
进一步地,在接收该目标压缩包的数据包之前,便指定好存储该目标压缩包的存储位置,从而帮助后续根据该目标压缩包的存储位置,以及数据包头记录的该文件数据对应的目标子文件的相对路径,确定该目标子文件的目标存储位置,比如,目标压缩包的存储位置为:“D:\我的文档\Pictures”、“C:\Users\Administrator\Contacts”等,在目标文件中B1/Y1目录下的子文件File1.dat的相对路径为“B1/Y1/File1.dat”、在目标文件中B1目录下的子文件File5.dat的相对路径为“B1/File5.dat”。当确定了该文件数据归属的目标子文件的目标存储位置,且根据数据包头记录的信息中包括的每个子文件的Hash值,以及流式解压缩算法,解压出该文件数据后,将解压后的文件数据保存到该目标子文件对应的目标存储位置中。
需要说明的是,具体的对文件数据解压的过程属于现有技术,在此不再赘述。
当确定数据流中符合该目标子文件的文件数据的位置信息的,所有文件数据均被保存到该目标子文件的目标存储位置时,确定该目标子文件的文件数据被解压缩完成。
本发明实施例中在接收到数据流的数据包头时,解压并获取数据包头中记录的信息,当接收到的数据流的文件数据时,根据文件数据在数据流中的位置信息,确定文件数据归属的目标子文件;根据目标压缩包的指定存储位置以及目标子文件的相对路径,确定目标子文件的目标存储位置,将解压后的文件数据保存到目标存储位置。由于在本发明实施例中根据数据流的数据包头中记录有每个子文件的数据在数据流中的位置信息,因此当接收到的数据流中的文件数据时,可以根据该文件数据在数据流中的位置信息,确定该文件数据对应的目标子文件,并根据数据包头中记录的每个子文件在目标压缩包对应的目标文件中的相对路径,以及目标压缩包的指定存储位置,确定目标存储位置,从而将解压后的文件数据存储到目标存储位置,从而实现边接收文件数据边解压缩,提高了解压缩的效率,减少了对缓存资源的占用。
实施例2:
为了节省数据流的数据包头记录的相对路径所占的空间,在上述实施例的基础上,在本发明是实施例中,所述信息中还包括文件名映射表,目录名映射表、以及每个所述子文件对应的路径信息,确定所述目标子文件的相对路径包括:
根据所述目标子文件的路径信息中记录的所述目标子文件的每个目录的第一标识、以及第一标识的每个目录的关系,以及所述目录名映射表中记录的目录名称与目录的第一标识的对应关系,确定所述第一标识的目录对应的目录名称,以及每个名称的目录的关系;根据该路径信息中记录的所述目标子文件的名称的第二标识,以及所述文件名映射表中记录的子文件名称与第二标识的对应关系,确定所述第二标识的名称对应的文件名称;根据第一标识的目录对应的目录名称、每个名称的目录的关系,以及所述目录子文件的文件名称,确定所述目标子文件的相对路径。
当目标文件中同一目录下包含有大量的子文件,或每个子文件分别保存在不同目录下时,则确定的每个子文件在目标文件中的相对路径也会非常的多且复杂,占用数据流的数据包头大量的空间,不利于传输。因此,为了节省数据流的数据包头记录的相对路径所占的空间,在本发明实施例中,可以在数据包头中记录目录名映射表,文件名映射表以及每子文件对应的路径信息,从而替代数据包头中记录的每个子文件在目标文件中的相对路径。
其中,目录名映射表中记录有目录名称与目录的第一标识的对应关系,在文件名映射表中记录有子文件名称与名称的第二标识的对应关系,第二标识与第一标识是不同类型的便捷编码,比如,第二标识是字母、第一标识是数字等。
针对每个子文件,该子文件的路径信息是根据该子文件在目标文件中的相对路径中包含的文件名称以及每个目录的目录名称,分别在文件名映射表,和目录名映射表中查找,确定该子文件的每个目录的目录名称对应的第一标识,以及文件名称对应的第二标识,从而生成包含该子文件所在的每个目录的第一标识、每个目录的第一标识之间的关系以及该子文件名称的第二标识的路径信息,减小数据流的数据包头中记录的信息所占用的空间。
例如,若子文件File1.dat的相对路径为work/File1.dat中包含的目录的目录名称为“work”,文件名称为“File1.dat”,根据该目录名称“work”,在目录名映射表中查找,确定该子文件的目录的目录名称对应的第一标识为“1”,根据该文件名称“File1.dat”,在文件名映射表中查找,确定该子文件的文件名称对应的第二标识为“B”,从而生成包含该子文件所在的目录的第一标识,以及该子文件名称的第二标识的路径信息1/B。
若子文件File1.dat的相对路径为work/dahua/File1.dat中包含的每个目录的目录名称分别为“work”和“dahua”,文件名称为“File1.dat”,分别根据目录名称“work”和“dahua”,在目录名映射表中查找,确定该子文件的目录的目录名称“work”对应的第一标识为“1”,目录的目录名称“dahua”对应的第一标识为“7”,根据该文件名称“File1.dat”,在文件名映射表中查找,确定该子文件的文件名称对应的第二标识为“B”,从而生成包含该子文件所在的每个目录的第一标识,每个目录的第一标识之间的关系以及该子文件名称的第二标识的路径信息1/7/B。
当电子设备确定接收到的文件数据归属的目标子文件后,针对该目标子文件的路径信息中记录的每个目录的第一标识,分别在目录名映射表中进行查找,确定目标子文件的每个第一标识的目录对应的目录名称,并根据每个第一标识的目录之间的关系,确定每个目录名称的目录之间的关系,比如,目录名称“A”的目录包含目录名称“B”的目录,目录名称“B”的目录包含目录名称“C”的目录;根据该目标子文件的路径信息中记录的目标子文件的名称的第二标识,在文件名映射表中进行查找,确定该第二标识的名称对应的文件名称;根据每个第一标识的目录对应的目录名称、每个目录名称的目录之间的关系,以及第二标识的名称对应的文件名称,确定该目标子文件的相对路径。
例如,仍以上述为例,目标子文件的路径信息为“1/7/B”,根据该目标子文件的路径信息中记录的目标子文件的每个目录的第一标识分别为“1”和“7”,分别在目录名映射表中进行查找,确定目标子文件的第一标识为“1”的目录对应的目录名称为“work”,第一标识为“7”的目录对应的目录名称为“dahua”,并根据第一标识“1”的目录与第一标识“7”的目录之间的关系,确定目录名称为“work”的目录包含目录名称为“dahua”的目录;根据该目标子文件的路径信息中记录的目标子文件的名称的第二标识“B”,在文件名映射表中进行查找,确定该第二标识“B”的名称对应的文件名称为“File1.dat”;根据每个第一标识的目录对应的目录名称、每个目录名称的目录之间的关系,以及第二标识的名称对应的文件名称,确定该目标子文件的相对路径其“work/dahua/File1.dat”。
其中,可以根据路径信息中位置信息,确定该路径信息中记录的目标子文件的每个目录的第一标识,以及名称的第二标识,比如,路径信息中最后末标识位的标识信息是名称的第二标识,其他标志位上的标识信息是该目标子文件的目录的第一标识,还可以根据路径信息中的标识信息的编码类型,确定该路径信息中记录的目标子文件的每个目录的第一标识,以及名称的第二标识,比如,路径信息中编码类型为数字的标识信息是名称的第二标识,编码类型为字母的标识信息是该目标子文件的目录的第一标识。
实施例3:
为了进一步提高解压缩的效率,并减小解压缩占用的资源,在上述各实施例的基础上,在本发明是实施例中,所述根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,包括:
根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置。
由于可能出现原始文件中存在至少两个相同文件数据的子文件,而如果对该每个子文件均进行压缩并解压缩的话,不仅会增加压缩资源,损耗更多的传输资源,还会降低解压缩的效率,占用解压缩的资源。因此,为了进一步降低压缩资源,减少数据流传输时占用的网络资源,在本发明实施例中,在将原始文件中的每个子文件的文件数据压缩之前,针对每个子文件,判断是否存在与该子文件的文件数据相同的其它子文件,从而确定在压缩该子文件的文件数据时采用的方式。
具体的,若不存在与该子文件的文件数据相同的其它子文件,则直接将该子文件的文件数据进行压缩,并确定该子文件的压缩后的文件数据在数据流中的位置信息。若存在与该子文件的文件数据相同的其它子文件,则判断是否已压缩任一其它子文件的文件数据,若没有压缩任一其它子文件的文件数据,则将该子文件的文件数据进行压缩,若已压缩任一其它子文件的文件数据,则不压缩该子文件的文件数据,并将该其它子文件的压缩后的文件数据在数据流中的位置信息,作为该子文件的文件数据在数据流中的位置信息。根据每个压缩后的文件数据以及位置信息,生成目标压缩包的数据流。
基于上述实施例生成的数据流,电子设备在将该数据流中的文件数据的位置信息与任一子文件的位置信息进行匹配时,该匹配的结果可能是与该文件数据的位置信息匹配的位置信息只对应一个子文件,即该文件数据只归属于一个目标子文件,也可能出现与该文件数据的位置信息匹配的位置信息对应有至少两个子文件,即该文件数据归属于至少两个目标子文件。因此,可以根据不同的匹配结果,即该文件数据归属的目标子文件的数量,目标压缩包的指定存储位置以及该目标子文件的相对路径,确定该目标子文件的目标存储位置,然后将解压后的文件数据保存在该目标存储位置中。
具体的,所述根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件目标存储位置,包括:
判断所述目标子文件的数量是否小于两个;
若是,则直接根据所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置;
若否,则根据所述指定存储位置,以及每个所述目标子文件的相对路径,分别确定每个所述目标子文件的候选存储位置,将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置。
具体实施中,如果该文件数据只归属于一个目标子文件,说明目标压缩包中并不存在与该目标子文件的文件数据相同的子文件,则可以直接根据该目标压缩包的指定存储位置,以及该目标子文件的相对路径,确定该目标子文件的目标存储位置。
而如果该文件数据归属于至少两个目标子文件,说明目标压缩包中存在与该目标子文件的文件数据相同的子文件,则可以根据该目标压缩包的指定存储位置,以及每个目标子文件的相对路径,分别确定每个目标子文件的候选存储位置,将每个目标子文件的候选存储位置,均作为目标子文件的目标存储位置,即在每个目标子文件的候选存储位置中,均保存该文件数据。
由于上述实施例中,当目标子文件的数量不小于两个时,如果将每个目标子文件的候选存储位置中均保存该文件数据的话,会浪费大量的存储空间用于存储相同的文件数据。因此,为了减小文件数据占用的存储空间,在本发明实施例中,当目标子文件的数量不小于两个时,将任一目标子文件的候选存储位置,作为每个目标子文件的目标存储位置,即只在任一目标子文件的候选存储位置中保存该文件数据。
其中,该任一目标子文件可以是根据子文件的优先级,选取的一个目标子文件,比如优先级最高的目标子文件、优先级最低的目标子文件等,也可以是随机选取的一个目标子文件。
为了方便相同文件数据的目标子文件共享文件数据,所述将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置之后,所述方法还包括:
建立每个所述目标子文件到所述目标存储位置的链接;
将每个所述链接分别保存到每个所述目标子文件的候选存储位置。
为了方便相同文件数据的目标子文件共享该文件数据,在确定该文件数据的目标存储位置后,即共享存储位置后,可以建立每个目标子文件到该目标存储位置的链接,并将该链接分别保存到每个目标子文件对应的候选存储位置中,以使后续在访问每个目标子文件时,均可以通过该链接访问到该共享文件数据。
下面以一个具体的实施例说明本发明实施例中的文件的处理方法的流程,图2为本发明实施例提供的具体的文件的处理流程示意图,该流程包括:
S201:接收目标压缩包的数据流,在接收到数据流的数据包头时,解压并获取数据包头中记录的信息。
其中,信息包括每个子文件的数据在数据流中的位置信息,以及每个子文件在目标压缩包对应的目标文件中的相对路径。
S202:当接收到的数据流的文件数据时,根据文件数据在数据流中的位置信息,确定文件数据归属的目标子文件。
S203:判断该文件数据归属的目标子文件的数量是否小于两个,若是,则执行S204,否则,执行S205。
S204:直接根据指定存储位置以及目标子文件的相对路径,确定目标子文件的目标存储位置,然后执行S209。
S205:根据指定存储位置,以及每个目标子文件的相对路径,分别确定每个目标子文件的候选存储位置。
S206:将任一目标子文件的候选存储位置,作为每个目标子文件的目标存储位置。
S207:建立每个目标子文件到目标存储位置的链接。
S208:将每个链接分别保存到每个目标子文件的候选存储位置。
S209:将解压后的文件数据保存到目标子文件的目标存储位置。
实施例4:
为了方便对子文件的文件数据的修改,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
当接收到对任一目标子文件的文件数据的写入操作指令时,根据该目标子文件的候选存储位置中是否保存有链接,确定该目标子文件的文件数据是否为共享文件数据;
若该目标子文件的文件数据为共享文件数据,且确定该目标子文件能够被写入时,为该目标子文件重新分配修改存储位置;根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到所述修改存储位置;删除该目标子文件的候选存储位置中保存的链接,并将所述修改后的文件数据作为该目标子文件的文件数据。
由于后续可能出现对当前访问的子文件的文件数据进行一些修改,比如子文件的文件数据为一张图片,用户在该图片上画了一条线,或,该子文件的文件数据为一个文本信息,用户在该文本信息中删除了一些内容等,当检测到对当前显示的文件数据进行了修改,且接收到保存修改后的文件数据的操作时,会触发对该目标子文件的文件数据的写入操作指令。
电子设备接收到对该文件数据的写入操作指令后,先根据该目标子文件的候选存储位置中是否保存有链接,确定出该文件数据是否为共享文件数据。当确定该目标子文件的候选存储位置中并没有保存有链接,则确定该文件数据非共享文件数据。
若确定该文件数据非共享文件数据,判断该目标子文件的文件属性是否允许被写入,若该目标子文件的文件属性包括写入属性,说明该目标子文件允许被写入,则直接根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到该目标子文件的目标存储位置中;若该目标子文件的文件属性不包括写入属性,说明该目标子文件不允许被写入,则直接拒绝在该目标子文件的文件数据中写入修改数据。
当电子设备接收到对该文件数据的写入操作指令后,确定该目标子文件的候选存储位置中保存有链接,则确定该文件数据为共享文件数据。
若确定该文件数据为共享文件数据,判断该目标子文件的文件属性是否允许被写入,若该目标子文件的文件属性包括写入属性,说明该目标子文件允许被写入,则为该目标子文件重新分配修改存储位置,该修改存储位置用于保存该目标文件夹修改后的文件数据;若该目标子文件的文件属性不包括写入属性,说明该目标子文件不允许被写入,则直接拒绝在该目标子文件的文件数据中写入修改数据。
进一步地,根据接收到的文件修改数据,对该目标子文件的文件数据进行修改时,该写入操作指令中还可以携带修改模式,对该文件数据进行修改时,根据该修改模式对文件数据进行修改。
当确定目标子文件的文件数据为共享文件数据,且该目标子文件的文件数据允许被写入时,若该写入操作指令中携带的修改模式为部分修改模式时,复制该目标子文件的文件数据到修改存储位置,确定接收到的文件修改数据在该修改存储位置的文件数据中的对应位置,根据该文件修改数据,对该修改存储位置的文件数据中对应位置的文件数据进行修改,并保存该对应修改。若该写入操作指令中携带的修改模式为全部覆盖模式时,则直接将接收到文件修改数据作为该目标子文件的修改后的文件数据,保存在该目标子文件对应的修改存储位置。
其中,部分修改模式是指对该目标子文件的部分文件数据进行更改、替换、删除操作,或在文件数据中增加了部分内容,比如在一张图片上画了一条线,在一篇文档的文件数据中增删了部分内容等,而全部覆盖模式是指将该目标子文件的文件数据直接替换为文件修改数据,比如,将一张小花的图片直接替换为一张蝴蝶的图片。
此外,为了保证后续可以准确地访问该目标子文件修改后的文件数据,删除该目标子文件的候选存储位置中保存的链接,将修改后的文件数据作为该目标子文件的文件数据,并将该目标子文件的候选存储位置变更为该目标子文件的目标存储位置。
需要说明的是,在接收目标压缩包的数据流时,获取该数据流的数据包头中记录的信息,该信息还包括每个子文件的文件属性,文件属性中记录有对应的子文件是否包含写入属性。将每个子文件的文件属性保存,从而帮助后续确定该目标子文件是否允许写入。具体的可以每个子文件的文件属性分别保存在每个目标子文件对应的候选存储位置中,也可以保存在任一目标子文件对应的候选存储位置中。
此外,为了方便统一管理共享文件数据的每个目标子文件,在本发明实施例中,还可以设置有用于监视共享同一文件数据的至少两个目标子文件的文件属性,以及负责写入文件修改数据的属性监测模块。在至少两个目标子文件建立了到该共享的文件数据所在的目标存储位置的链接后,将该至少两个目标子文件的文件属性中的写入属性擦除,将擦除写入属性的文件属性作为监测文件属性,并保存该监测文件属性以及文件属性到该属性监测模块对应的存储位置中。
具体的,在接收到对某一目标子文件的文件数据的写入操作指令后,确定该目标子文件的文件数据为共享文件数据后,该属性监测模块确定该目标子文件的文件数据的监测文件属性异常,获取该目标子文件的文件属性,判断该文件属性中是否包含有写入属性,若包含,说明该目标子文件的文件数据允许被写入。若该文件属性中不包含有写入属性,说明该目标子文件的文件数据不允许被写入,则直接拒绝写入。
下面以一个具体的实施例说明本发明实施例中的文件的处理方法的流程,图3为本发明实施例提供的具体的文件的处理流程示意图,该流程包括:
S301:接收目标压缩包的数据流,在接收到数据流的数据包头时,解压并获取数据包头中记录的信息。
其中,信息包括每个子文件的数据在数据流中的位置信息、文件名映射表、目录名映射表、以及每个子文件对应的路径信息。
S302:当接收到的数据流的文件数据时,根据文件数据在数据流中的位置信息,确定文件数据归属的目标子文件。
S303:根据目标子文件的路径信息中记录的目标子文件的每个目录的第一标识、以及每个第一标识的目录之间的关系,以及目录名映射表中记录的目录名称与目录的第一标识的对应关系,确定每个第一标识的目录对应的目录名称,以及每个目录名称的目录之间的关系;根据该路径信息中记录的目标子文件的名称的第二标识,以及文件名映射表中记录的子文件名称与名称的第二标识的对应关系,确定第二标识的名称对应的文件名称;根据每个第一标识的目录对应的目录名称、每个目录名称的目录之间的关系,以及第二标识的名称对应的文件名称,确定目标子文件的相对路径。
S304:判断该文件数据归属的目标子文件的数量是否小于两个,若是,则执行S305,否则,执行S306。
S305:直接根据指定存储位置以及目标子文件的相对路径,确定目标子文件的目标存储位置,然后执行S309。
S306:根据指定存储位置,以及每个目标子文件的相对路径,分别确定每个目标子文件的候选存储位置,将任一目标子文件的候选存储位置,作为每个目标子文件的目标存储位置。
S307:建立每个目标子文件到目标存储位置的链接。
S308:将每个链接分别保存到每个目标子文件的候选存储位置。
S309:将解压后的文件数据保存到目标子文件对应的目标存储位置。
S310:当接收到对任一目标子文件的文件数据的写入操作指令时,根据该目标子文件的候选存储位置中是否保存有链接,确定该目标子文件的文件数据是否为共享文件数据,若是,则执行S313,否则,执行S311。
S311:判断该目标子文件的文件属性是否是可被写入,若是,执行S312,否则,执行S317。
S312:直接根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到该目标子文件的候选存储位置中。
S313:判断该目标子文件的文件属性是否是可被写入,若是,执行S314,否则,执行S317。
S314:为该目标子文件重新分配修改存储位置。
S315:根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到修改存储位置。
S316:删除该目标子文件的候选存储位置中保存的链接,并将修改后的文件数据作为该目标子文件的文件数据。
S317:直接拒绝在该目标子文件的文件数据中写入接收到的文件修改数据。
实施例5:
图4为本发明实施例提供的一种文件的处理系统结构示意图,该系统包括:用于发送目标压缩包的数据流的发送端41以及执行上述实施例所述的文件的处理方法的接收端42。
由于接收端42具有的功能与上述各实施例中的功能相同,在此不再赘述。
在本发明实施例中,该发送端41可以是具有图像采集功能的智能设备,也可以是PC、服务器等设备。
为了减少传输目标压缩包所占用的网络资源,该发送端41生成目标压缩包的数据流,并将该数据流发送给接收端42,以使接收端42根据该目标压缩包的数据流,进行相应的处理。
为了实现后续接收端42可以边接收数据边解压缩,所述发送端41,还用于分别将每个所述子文件的文件数据进行压缩,获取压缩后的每个所述子文件的数据长度;确定每个所述子文件的文件数据在所述数据流中的排序位置,根据每个所述子文件的文件数据对应的排序位置,以及压缩后的数据长度,确定每个所述子文件的数据在所述数据流中的位置信息。
在本发明实施例中,为了实现后续接收端42可以边接收数据边解压缩,发送端41可以在数据流的数据包头上记录每个子文件的信息,其中该信息包括每个子文件的数据在数据流中的位置信息,以使接收端42根据该数据包头中记录的位置信息,确定数据流中的每个文件数据对应的目标子文件,从而对每个文件数据进行解压缩。
具体实施中,将压缩后的每个子文件的文件数据是按照一定的顺序进行组装,因此,在确定每个子文件在数据流中的位置信息时,可以先将每个子文件的文件数据进行压缩,获取压缩后的每个子文件的数据长度,比如,子文件A、B、C分别对应的数据长度为150字节、60字节、200字节,确定每个子文件的文件数据在数据流中的排序位置,比如,仍以上述为例,上述三个子文件在数据流的排序位置分别为3、1、2,根据每个子文件的文件数据对应的排序位置,以及压缩后的数据长度,确定每个子文件的数据在数据流中的位置信息。
例如,仍以上述为例,在数据流中每个子文件的文件数据无缝拼接的情况下,该位置信息可以表示为该子文件在数据流中起始位置和终止位置的偏移量,根据每个子文件的文件数据对应的排序位置以及数据长度,确定子文件A对应的位置信息为第261字节和第410字节,子文件B对应的位置信息为数据包头后的文件数据部分首位开始的第1字节和第60字节,子文件C对应的位置信息为第61字节和第260字节。
若数据流中每个子文件的文件数据之间存在空隙,该位置信息可以表示为该子文件在数据流中的起始位置的偏移量以及数据长度,根据每个子文件的文件数据对应的排序位置以及数据长度,确定子文件A对应的位置信息表示为偏移量300字节和数据长度150字节,子文件B对应的位置信息表示为数据包头后的文件数据部分首位开始的偏移量0字节和数据长度60字节,子文件C对应的位置信息表示为偏移量80字节和数据长度200字节。
为了减少处理相同文件数据的子文件所占用的资源,所述发送端41,具体用于针对每个所述子文件的文件数据,判断是否存在与该子文件的文件数据一致的其它子文件,若存在,则确定该子文件与所述其它子文件的排序位置一致。
由于目标压缩包中可能存在至少两个文件数据相同的子文件,而对该文件数据相同的至少两个子文件进行压缩或进行解压缩,会浪费太多的时间,且占用资源。因此,为了提高文件处理的效率,减小占用资源,在本发明实施例中,应在数据流中只压缩一份相同的文件数据。针对每个子文件的文件数据,检验是否存在与该子文件的文件数据一致的其它子文件,若存在与该子文件的文件数据一致的其它子文件,则确定该子文件与所述其它子文件的排序位置一致。
具体的,可以通过每个子文件的Hash值,如MD5SUM、SHA256SUM等,辨别多个子文件间的文件数据是否完全一致,将Hash值一样的子文件归类在一起,并只记录索引号在前的子文件的位置信息。
较佳地,为了节省数据包头用于记录相对路径所占用的空间,所述发送端41,还用于生成记录有目录名称及其对应的第一标识的目录名映射表,以及生成记录有文件名称及其对应的第二标识的文件名映射表;根据每个子文件在所述目标压缩包对应的目标文件中的相对路径,所述目录名映射表以及所述文件名映射表,针对每个子文件,生成包含该子文件所在的每个目录的第一标识、所述每个目录的第一标识之间的关系以及该子文件名称的第二标识的路径信息。
图5为本发明实施例提供的一种文件名映射表和目录映射表的示意图。参见图5,DirA和DirX是待打包的两个原始文件,该两个原始文件下的每个子文件保存在不同的目录下。将两个原始文件中的每个子文件及该子文件在对应的原始文件中的相对路径,合并压缩到变量名为APP_ROOT的目标压缩包中,以使后续解压缩出的目标压缩包仍保持DirA和DirX本身的目录结构和文件名称。
递归遍历DirA和DirX,将其中的目录名称和子文件的文件名称,分别生成“目录名映射表(DNM=Directory Name Map)”和“文件名映射表(FNM=File Name Map)”,并为了方便后续确定相对路径,DNM和FNM中引入便捷编码,即第一标识和第二标识,用第一标识“1”-“8”的数字分别标识目录“B1”、“B2”、“C1”、“C2”、“Y1”、“Y2”、“Z1”、“Z2”,用第二标识“A”到“D”的字母分别标识文件名称“File1.dat”、“File2.dat”、“File3.dat”、“File4.dat”,从而减小数据流中数据包头记录的信息所占的空间。
为了方便获取每个子文件的相关信息,在本发明实施例中,还可以根据记录每个子文件对应的Hash值、索引号、路径信息以及文件属性,生成文件路径映射表,将该文件映射表也记录在数据流的数据包头中。
图6为本发明实施例提供的具体的文件路径信息映射表示意图,参见图6,基于图5中的每个子文件在对应的原始文件中的路径信息、DNM以及FNM,确定每个子文件对应的路径信息。随机确定每个子文件在表中的记录顺序,并按照该记录顺序,依次记录DirA中保存在B1/C1目录下的子文件File1的索引号Index为0,路径信息Filepath为1/2/A、Hash值为Hash-1、偏移量Offset为Oft-1、数据长度Length为Len-1,文件属性Attribute为Attr-1;DirA中保存在B1/C2目录下的子文件File1的Index为1,Filepath为1/4/A、Hash值为Hash-2、Offset为Oft-2、Length为Len-2,Attribute为Attr-2;DirX中保存在Y1/Z1目录下的子文件File3的Index为2,Filepath为5/7/C、Hash值为Hash-3、Offset为Oft-3、Length为Len-3,Attribute为Attr-3;DirX中保存在Y2/Z1目录下的子文件File3的Index为3,Filepath为6/7/C、Hash值为Hash-4、Offset为Oft-4、Length为Len-4,Attribute为Attr-4;DirA中保存在B2/C1目录下的子文件File2的Index为4,Filepath为2/3/B、Hash值为Hash-5、Offset为Oft-5、Length为Len-5,Attribute为Attr-5;DirX中保存在Y1/Z2目录下的子文件File4的Index为5,Filepath为5/8/D、Attribute为Attr-6,由于DirX中保存在Y1/Z2目录下的子文件File4的文件数据,与DirA中保存在B2/C1目录下的子文件File2的文件数据相同,则该子文件File4的位置信息与File2的Hash值以及位置信息相同,因此该File4的Hash值为Hash-5、Offset为-1、Length为-1,从而生成文件路径映射表(FPM=Filepath Map)。
其中,Offset和Length是用于确定每个子文件在数据流中的位置信息的,在文件数据与其它子文件的文件数据均不同的情况下,每个子文件对应的Offset、Length、Hash值与对应的Index一起单调递增。Attribute是每个子文件的属性,如Linux文件系统的文件属性“U=rwx,G=rwx,O=rwx”。
图7为本发明实施例提供的一种生成目标压缩包的数据流的示意图。参见图7,根据上述确定的信息及数据,在该目标压缩包头部记录DNM,FNM,FPM。根据每个子文件在数据流中的位置信息,将DirA中保存在B1/C1目录下的子文件File1的压缩后的文件数据,放在数据流中Data-1(Hash-1)的位置处,DirA中保存在B1/C2目录下的子文件File1的压缩后的文件数据,放在数据流中Data-2(Hash-2)的位置处,DirX中保存在Y1/Z1目录下的子文件File3的压缩后的文件数据,放在数据流中Data-3(Hash-3)的位置处,DirX中保存在Y2/Z1目录下的子文件File3的压缩后的文件数据放在数据流中Data-4(Hash-4)的位置处,而DirX中保存在Y1/Z2目录下的子文件File4的文件数据,与DirA中保存在B2/C1目录下的子文件File2的文件数据相同,则将File4和File2中的任一子文件的压缩后的文件数据放在数据流中Data-5(Hash-5)的位置处。从而生成二进制数据的目标压缩包的数据流。
图8为本发明实施例提供的一种文件的处理流程示意图。参见图8,首先接收到变量名为APP_ROOT的目标压缩包的二进制数据流后,根据该数据流的数据包头部,解压并解析出DNM,FNM,FPM。根据FPM中记录的路径信息、DNM以及FNM,确定每个子文件在目标文件中的相对路径。当接收到的数据流的文件数据时,根据DNM,FNM,FPM中记录的信息,以及接收到的文件数据在数据流中的位置信息,确定接收到的文件数据归属的目标子文件,并根据该目标压缩包的指定存储位置,以及该目标子文件的相对路径,确定该目标子文件的目标存储位置,将解压后的文件数据保存在该目标存储位置。
具体的,若确定接收到的文件数据归属于B1/C1目录下目标子文件File1.dat,根据该目标压缩包的指定存储位置,以及该目标子文件的相对路径B1/C1确定该目标子文件的目标存储位置,将解压后的文件数据保存在目标文件的目标存储位置;若确定接收到的文件数据归属于B1/C2目录下目标子文件File1.dat,根据该目标压缩包的指定存储位置,以及该目标子文件的相对路径B1/C2确定该目标子文件的目标存储位置,将解压后的文件数据保存在目标文件的目标存储位置;若确定接收到的文件数据归属于Y1/Z1目录下目标子文件File3.dat,根据该目标压缩包的指定存储位置,以及该目标子文件的相对路径Y1/Z1确定该目标子文件的目标存储位置,将解压后的文件数据保存在目标文件的目标存储位置;若确定接收到的文件数据归属于Y2/Z1目录下目标子文件File3.dat,根据该目标压缩包的指定存储位置,以及该目标子文件的相对路径Y2/Z1确定该目标子文件的目标存储位置,将解压后的文件数据保存在目标文件的目标存储位置。
若确定接收到的数据流中Data-1(Hash-5)位置处的文件数据归属于Y1/Z2目录下目标子文件File3.dat,以及B2/C1目录下目标子文件File2.dat,根据该目标压缩包的指定存储位置,以及每个目标子文件的相对路径,分别确定每个目标子文件的候选存储位置,将任一目标子文件的候选存储位置作为每个目标子文件的目标存储位置,将该解压后的文件数据保存在该目标子文件的目标存储位置,生成每个目标子文件到该目标存储位置的链接,将每个链接分别保存到每个目标子文件的候选存储位置,并从FPM中,获取目标子文件File4.dat以及目标子文件File2.dat的原始文件属性,将原始文件属性中的写入属性擦除,生成对应的监测文件属性,将每个监测文件属性以及对应的原始文件属性保存到该属性监测模块对应的存储位置中,方便该属性监测模块统一管理目标子文件File4.dat以及目标子文件File2.dat。
实施例6:
图9为本发明实施例提供的一种文件的处理装置的结构示意图,本发明实施例提供了一种文件的处理装置,所述装置包括:
接收单元91,用于接收目标压缩包的数据流,在接收到所述数据流的数据包头时,解压并获取所述数据包头中记录的信息,其中,所述信息包括每个子文件的文件数据在所述数据流中的位置信息,以及每个所述子文件在所述目标压缩包对应的目标文件中的相对路径;
处理单元92,用于当接收到的所述数据流的文件数据时,根据所述文件数据在所述数据流中的位置信息,确定所述文件数据归属的目标子文件;根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,将解压后的文件数据保存到所述目标存储位置。
进一步地,所述处理单元92,还用于若所述信息中还包括文件名映射表,目录名映射表、以及每个所述子文件对应的路径信息,根据所述目标子文件的路径信息中记录的所述目标子文件的每个目录的第一标识、以及每个第一标识的目录之间的关系,以及所述目录名映射表中记录的目录名称与目录的第一标识的对应关系,确定所述每个第一标识的目录对应的目录名称,以及每个目录名称的目录之间的关系;根据该路径信息中记录的所述目标子文件的名称的第二标识,以及所述文件名映射表中记录的子文件名称与名称的第二标识的对应关系,确定所述第二标识的名称对应的文件名称;根据所述每个第一标识的目录对应的目录名称、所述每个目录名称的目录之间的关系,以及所述第二标识的名称对应的文件名称,确定所述目标子文件的相对路径。
进一步地,所述处理单元92,用于根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置。
进一步地,所述处理单元92,具体用于判断所述目标子文件的数量是否小于两个;若是,则直接根据所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置;若否,则根据所述指定存储位置,以及每个所述目标子文件的相对路径,分别确定每个所述目标子文件的候选存储位置,将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置。
进一步地,所述处理单元92,还用于所述将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置之后,建立每个所述目标子文件到所述目标存储位置的链接;将每个所述链接分别保存到每个所述目标子文件的候选存储位置。
进一步地,所述装置还包括:
修改单元93,用于当接收到对任一目标子文件的文件数据的写入操作指令时,根据该目标子文件的候选存储位置中是否保存有链接,确定该目标子文件的文件数据是否为共享文件数据;若该目标子文件的文件数据为共享文件数据,且确定该目标子文件能够被写入时,为该目标子文件重新分配修改存储位置;根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到所述修改存储位置;删除该目标子文件的候选存储位置中保存的链接,并将所述修改后的文件数据作为该目标子文件的文件数据。
本发明实施例中在接收到数据流的数据包头时,解压并获取数据包头中记录的信息,当接收到的数据流的文件数据时,根据文件数据在数据流中的位置信息,确定文件数据归属的目标子文件;根据目标压缩包的指定存储位置以及目标子文件的相对路径,确定目标子文件的目标存储位置,将解压后的文件数据保存到目标存储位置。由于在本发明实施例中根据数据流的数据包头中记录有每个子文件的数据在数据流中的位置信息,因此当接收到的数据流中的文件数据时,可以根据该文件数据在数据流中的位置信息,确定该文件数据对应的目标子文件,并根据数据包头中记录的每个子文件在目标压缩包对应的目标文件中的相对路径,以及目标压缩包的指定存储位置,确定目标存储位置,从而将解压后的文件数据存储到目标存储位置,从而实现边接收文件数据边解压缩,提高了解压缩的效率,减少了对缓存资源的占用。
实施例7:
图10为本发明实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本发明实施例还提供了一种电子设备,如图10所示,包括:处理器101、通信接口102、存储器103和通信总线104,其中,处理器101,通信接口102,存储器103通过通信总线104完成相互间的通信;
所述存储器103中存储有计算机程序,当所述程序被所述处理器101执行时,使得所述处理器101执行如下步骤:
接收目标压缩包的数据流,在接收到所述数据流的数据包头时,解压并获取所述数据包头中记录的信息,其中,所述信息包括每个子文件的文件数据在所述数据流中的位置信息,以及每个所述子文件在所述目标压缩包对应的目标文件中的相对路径;
当接收到的所述数据流的文件数据时,根据所述文件数据在所述数据流中的位置信息,确定所述文件数据归属的目标子文件;根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,将解压后的文件数据保存到所述目标存储位置。
进一步地,所述处理器101,还用于若所述信息中还包括文件名映射表,目录名映射表、以及每个所述子文件对应的路径信息,根据所述目标子文件的路径信息中记录的所述目标子文件的每个目录的第一标识、以及每个第一标识的目录之间的关系,以及所述目录名映射表中记录的目录名称与目录的第一标识的对应关系,确定所述每个第一标识的目录对应的目录名称,以及每个目录名称的目录之间的关系;根据该路径信息中记录的所述目标子文件的名称的第二标识,以及所述文件名映射表中记录的子文件名称与名称的第二标识的对应关系,确定所述第二标识的名称对应的文件名称;根据所述每个第一标识的目录对应的目录名称、所述每个目录名称的目录之间的关系,以及所述第二标识的名称对应的文件名称,确定所述目标子文件的相对路径。
进一步地,所述处理器101,用于根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置。
进一步地,所述处理器101,具体用于判断所述目标子文件的数量是否小于两个;若是,则直接根据所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置;若否,则根据所述指定存储位置,以及每个所述目标子文件的相对路径,分别确定每个所述目标子文件的候选存储位置,将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置。
进一步地,所述处理器101,还用于所述将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置之后,建立每个所述目标子文件到所述目标存储位置的链接;将每个所述链接分别保存到每个所述目标子文件的候选存储位置。
进一步地,所述处理器101,还用于当接收到对任一目标子文件的文件数据的写入操作指令时,根据该目标子文件的候选存储位置中是否保存有链接,确定该目标子文件的文件数据是否为共享文件数据;若该目标子文件的文件数据为共享文件数据,且确定该目标子文件能够被写入时,为该目标子文件重新分配修改存储位置;根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到所述修改存储位置;删除该目标子文件的候选存储位置中保存的链接,并将所述修改后的文件数据作为该目标子文件的文件数据。
由于上述电子设备解决问题的原理与文件的处理方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口102用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
本发明实施例中在接收到数据流的数据包头时,解压并获取数据包头中记录的信息,当接收到的数据流的文件数据时,根据文件数据在数据流中的位置信息,确定文件数据归属的目标子文件;根据目标压缩包的指定存储位置以及目标子文件的相对路径,确定目标子文件的目标存储位置,将解压后的文件数据保存到目标存储位置。由于在本发明实施例中根据数据流的数据包头中记录有每个子文件的数据在数据流中的位置信息,因此当接收到的数据流中的文件数据时,可以根据该文件数据在数据流中的位置信息,确定该文件数据对应的目标子文件,并根据数据包头中记录的每个子文件在目标压缩包对应的目标文件中的相对路径,以及目标压缩包的指定存储位置,确定目标存储位置,从而将解压后的文件数据存储到目标存储位置,从而实现边接收文件数据边解压缩,提高了解压缩的效率,减少了对缓存资源的占用。
实施例8:
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
接收目标压缩包的数据流,在接收到所述数据流的数据包头时,解压并获取所述数据包头中记录的信息,其中,所述信息包括每个子文件的文件数据在所述数据流中的位置信息,以及每个所述子文件在所述目标压缩包对应的目标文件中的相对路径;
当接收到的所述数据流的文件数据时,根据所述文件数据在所述数据流中的位置信息,确定所述文件数据归属的目标子文件;根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,将解压后的文件数据保存到所述目标存储位置。
进一步地,所述信息中还包括文件名映射表,目录名映射表、以及每个所述子文件对应的路径信息,确定所述目标子文件的相对路径包括:
根据所述目标子文件的路径信息中记录的所述目标子文件的每个目录的第一标识、以及每个第一标识的目录之间的关系,以及所述目录名映射表中记录的目录名称与目录的第一标识的对应关系,确定所述每个第一标识的目录对应的目录名称,以及每个目录名称的目录之间的关系;根据该路径信息中记录的所述目标子文件的名称的第二标识,以及所述文件名映射表中记录的子文件名称与名称的第二标识的对应关系,确定所述第二标识的名称对应的文件名称;根据所述每个第一标识的目录对应的目录名称、所述每个目录名称的目录之间的关系,以及所述第二标识的名称对应的文件名称,确定所述目标子文件的相对路径。
进一步地,所述根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,包括:
根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置。
进一步地,所述根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件目标存储位置,包括:
判断所述目标子文件的数量是否小于两个;
若是,则直接根据所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置;
若否,则根据所述指定存储位置,以及每个所述目标子文件的相对路径,分别确定每个所述目标子文件的候选存储位置,将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置。
进一步地,所述将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置之后,所述方法还包括:
建立每个所述目标子文件到所述目标存储位置的链接;
将每个所述链接分别保存到每个所述目标子文件的候选存储位置。
进一步地,所述方法还包括:
当接收到对任一目标子文件的文件数据的写入操作指令时,根据该目标子文件的候选存储位置中是否保存有链接,确定该目标子文件的文件数据是否为共享文件数据;
若该目标子文件的文件数据为共享文件数据,且确定该目标子文件能够被写入时,为该目标子文件重新分配修改存储位置;根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到所述修改存储位置;删除该目标子文件的候选存储位置中保存的链接,并将所述修改后的文件数据作为该目标子文件的文件数据。
本发明实施例中在接收到数据流的数据包头时,解压并获取数据包头中记录的信息,当接收到的数据流的文件数据时,根据文件数据在数据流中的位置信息,确定文件数据归属的目标子文件;根据目标压缩包的指定存储位置以及目标子文件的相对路径,确定目标子文件的目标存储位置,将解压后的文件数据保存到目标存储位置。由于在本发明实施例中根据数据流的数据包头中记录有每个子文件的数据在数据流中的位置信息,因此当接收到的数据流中的文件数据时,可以根据该文件数据在数据流中的位置信息,确定该文件数据对应的目标子文件,并根据数据包头中记录的每个子文件在目标压缩包对应的目标文件中的相对路径,以及目标压缩包的指定存储位置,确定目标存储位置,从而将解压后的文件数据存储到目标存储位置,从而实现边接收文件数据边解压缩,提高了解压缩的效率,减少了对缓存资源的占用。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种文件的处理方法,其特征在于,所述方法包括:
接收目标压缩包的数据流,在接收到所述数据流的数据包头时,解压并获取所述数据包头中记录的信息,其中,所述信息包括每个子文件的文件数据在所述数据流中的位置信息,以及每个所述子文件在所述目标压缩包对应的目标文件中的相对路径;
当接收到的所述数据流的文件数据时,根据所述文件数据在所述数据流中的位置信息,确定所述文件数据归属的目标子文件;根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,将解压后的文件数据保存到所述目标存储位置。
2.根据权利要求1所述的方法,其特征在于,所述信息中还包括文件名映射表,目录名映射表、以及每个所述子文件对应的路径信息,确定所述目标子文件的相对路径包括:
根据所述目标子文件的路径信息中记录的所述目标子文件的每个目录的第一标识、以及每个第一标识的目录之间的关系,以及所述目录名映射表中记录的目录名称与目录的第一标识的对应关系,确定所述每个第一标识的目录对应的目录名称,以及每个目录名称的目录之间的关系;根据该路径信息中记录的所述目标子文件的名称的第二标识,以及所述文件名映射表中记录的子文件名称与名称的第二标识的对应关系,确定所述第二标识的名称对应的文件名称;根据所述每个第一标识的目录对应的目录名称、所述每个目录名称的目录之间的关系,以及所述第二标识的名称对应的文件名称,确定所述目标子文件的相对路径。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,包括:
根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件目标存储位置,包括:
判断所述目标子文件的数量是否小于两个;
若是,则直接根据所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置;
若否,则根据所述指定存储位置,以及每个所述目标子文件的相对路径,分别确定每个所述目标子文件的候选存储位置,将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置。
5.根据权利要求4所述的方法,其特征在于,所述将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置之后,所述方法还包括:
建立每个所述目标子文件到所述目标存储位置的链接;
将每个所述链接分别保存到每个所述目标子文件的候选存储位置。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
当接收到对任一目标子文件的文件数据的写入操作指令时,根据该目标子文件的候选存储位置中是否保存有链接,确定该目标子文件的文件数据是否为共享文件数据;
若该目标子文件的文件数据为共享文件数据,且确定该目标子文件能够被写入时,为该目标子文件重新分配修改存储位置;根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到所述修改存储位置;删除该目标子文件的候选存储位置中保存的链接,并将所述修改后的文件数据作为该目标子文件的文件数据。
7.一种文件的处理系统,其特征在于,所述系统包括:用于发送目标压缩包的数据流的发送端以及执行权利要求1-6任一项所述的文件的处理方法的接收端。
8.根据权利要求7所述的系统,其特征在于,所述发送端,还用于分别将每个所述子文件的文件数据进行压缩,获取压缩后的每个所述子文件的数据长度;确定每个所述子文件的文件数据在所述数据流中的排序位置,根据每个所述子文件的文件数据对应的排序位置,以及压缩后的数据长度,确定每个所述子文件的文件数据在所述数据流中的位置信息。
9.根据权利要求7所述的系统,其特征在于,所述发送端,具体用于针对每个所述子文件的文件数据,判断是否存在与该子文件的文件数据一致的其它子文件,若存在,则确定该子文件与所述其它子文件的排序位置一致。
10.根据权利要求7所述的系统,其特征在于,所述发送端,还用于生成记录有目录名称及其对应的第一标识的目录名映射表,以及生成记录有文件名称及其对应的第二标识的文件名映射表;根据每个子文件在所述目标压缩包对应的目标文件中的相对路径,所述目录名映射表以及所述文件名映射表,针对每个子文件,生成包含该子文件所在的每个目录的第一标识、所述每个目录的第一标识之间的关系以及该子文件名称的第二标识的路径信息。
11.一种文件的处理装置,其特征在于,所述装置包括:
接收单元,用于接收目标压缩包的数据流,在接收到所述数据流的数据包头时,解压并获取所述数据包头中记录的信息,其中,所述信息包括每个子文件的文件数据在所述数据流中的位置信息,以及每个所述子文件在所述目标压缩包对应的目标文件中的相对路径;
处理单元,用于当接收到的所述数据流的文件数据时,根据所述文件数据在所述数据流中的位置信息,确定所述文件数据归属的目标子文件;根据所述目标压缩包的指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置,将解压后的文件数据保存到所述目标存储位置。
12.根据权利要求11所述的装置,其特征在于,所述处理单元,还用于若所述信息中还包括文件名映射表,目录名映射表、以及每个所述子文件对应的路径信息,根据所述目标子文件的路径信息中记录的所述目标子文件的每个目录的第一标识、以及每个第一标识的目录之间的关系,以及所述目录名映射表中记录的目录名称与目录的第一标识的对应关系,确定所述每个第一标识的目录对应的目录名称,以及每个目录名称的目录之间的关系;根据该路径信息中记录的所述目标子文件的名称的第二标识,以及所述文件名映射表中记录的子文件名称与名称的第二标识的对应关系,确定所述第二标识的名称对应的文件名称;根据所述每个第一标识的目录对应的目录名称、所述每个目录名称的目录之间的关系,以及所述第二标识的名称对应的文件名称,确定所述目标子文件的相对路径。
13.根据权利要求11所述的装置,其特征在于,所述处理单元,用于根据所述目标子文件的数量,所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置。
14.根据权利要求13所述的装置,其特征在于,所述处理单元,具体用于判断所述目标子文件的数量是否小于两个;若是,则直接根据所述指定存储位置以及所述目标子文件的相对路径,确定所述目标子文件的目标存储位置;若否,则根据所述指定存储位置,以及每个所述目标子文件的相对路径,分别确定每个所述目标子文件的候选存储位置,将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置。
15.根据权利要求14所述的装置,其特征在于,所述处理单元,还用于所述将任一目标子文件的候选存储位置,作为每个所述目标子文件的目标存储位置之后,建立每个所述目标子文件到所述目标存储位置的链接;将每个所述链接分别保存到每个所述目标子文件的候选存储位置。
16.根据权利要求14或15所述的装置,其特征在于,所述装置还包括:
修改单元,用于当接收到对任一目标子文件的文件数据的写入操作指令时,根据该目标子文件的候选存储位置中是否保存有链接,确定该目标子文件的文件数据是否为共享文件数据;若该目标子文件的文件数据为共享文件数据,且确定该目标子文件能够被写入时,为该目标子文件重新分配修改存储位置;根据接收到的文件修改数据,对该目标子文件的文件数据进行修改,并将修改后的文件数据保存到所述修改存储位置;删除该目标子文件的候选存储位置中保存的链接,并将所述修改后的文件数据作为该目标子文件的文件数据。
17.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-6中任一所述文件的处理方法的步骤。
18.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述文件的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010177611.9A CN111414339B (zh) | 2020-03-13 | 2020-03-13 | 一种文件的处理方法、系统、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010177611.9A CN111414339B (zh) | 2020-03-13 | 2020-03-13 | 一种文件的处理方法、系统、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414339A true CN111414339A (zh) | 2020-07-14 |
CN111414339B CN111414339B (zh) | 2023-04-25 |
Family
ID=71492971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010177611.9A Active CN111414339B (zh) | 2020-03-13 | 2020-03-13 | 一种文件的处理方法、系统、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414339B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925751A (zh) * | 2021-02-20 | 2021-06-08 | 浙江大华技术股份有限公司 | 一种多通道应用处理方法及装置 |
CN112948332A (zh) * | 2021-03-04 | 2021-06-11 | 北京奇艺世纪科技有限公司 | 一种点云文件封装、解析方法及装置 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001159991A (ja) * | 1999-12-01 | 2001-06-12 | Nec Corp | ファイル管理装置、ファイル管理方法およびファイル管理プログラムを記録した記録媒体 |
US20040156548A1 (en) * | 2002-11-20 | 2004-08-12 | Taku Kodama | Image processing apparatus, image compressing apparatus, image decompressing apparatus, image processing method, image compressing method, image decompressing method, information processing apparatus, information processing method, program and recording medium |
CN1979475A (zh) * | 2005-12-07 | 2007-06-13 | 华为技术有限公司 | 一种压缩文件处理方法 |
CN101076031A (zh) * | 2006-12-06 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种应用网络硬盘的方法 |
CN102054038A (zh) * | 2010-12-30 | 2011-05-11 | 东莞宇龙通信科技有限公司 | 一种文件解压方法、装置及移动终端 |
US20110225322A1 (en) * | 2010-03-10 | 2011-09-15 | Demidov Lilia | Real-time multi-block lossless recompression |
CN102236688A (zh) * | 2010-04-24 | 2011-11-09 | 冼剑光 | 一种大型软件边下载边运行应用中的压缩方法 |
CN102347772A (zh) * | 2011-05-20 | 2012-02-08 | 新邮通信设备有限公司 | 基站文件的压缩处理方法及设备 |
JP2012141830A (ja) * | 2010-12-29 | 2012-07-26 | Yahoo Japan Corp | インデックス生成装置及び方法 |
CN102841907A (zh) * | 2011-06-24 | 2012-12-26 | 环达电脑(上海)有限公司 | 数据压缩和解压缩的处理方法 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN104281528A (zh) * | 2013-07-09 | 2015-01-14 | 浙江大华技术股份有限公司 | 一种数据存储方法及装置 |
WO2017036308A1 (zh) * | 2015-08-31 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 文件上传方法、访问方法、装置及设备 |
CN107292171A (zh) * | 2016-04-13 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 用于识别压缩文件子类型的方法、病毒检测方法及装置 |
CN107609072A (zh) * | 2017-09-01 | 2018-01-19 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN107633088A (zh) * | 2017-09-29 | 2018-01-26 | 深圳市金证科技股份有限公司 | 一种文件管理方法及装置 |
US20180101542A1 (en) * | 2016-06-21 | 2018-04-12 | EMC IP Holding Company LLC | Method and apparatus for compressing metadata in a file system |
CN107943893A (zh) * | 2017-11-16 | 2018-04-20 | 北京奇安信科技有限公司 | 一种基于互联网的搜索处理方法及装置 |
US10169359B1 (en) * | 2015-09-28 | 2019-01-01 | EMC IP Holding Company LLC | Distribution content-aware compression and decompression of data |
US20190116521A1 (en) * | 2017-10-16 | 2019-04-18 | Weihua QIAO | Header Compression for Ethernet Frame |
US20190273508A1 (en) * | 2018-03-02 | 2019-09-05 | Microsoft Technology Licensing, Llc | Use of data prefixes to increase compression ratios |
-
2020
- 2020-03-13 CN CN202010177611.9A patent/CN111414339B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001159991A (ja) * | 1999-12-01 | 2001-06-12 | Nec Corp | ファイル管理装置、ファイル管理方法およびファイル管理プログラムを記録した記録媒体 |
US20040156548A1 (en) * | 2002-11-20 | 2004-08-12 | Taku Kodama | Image processing apparatus, image compressing apparatus, image decompressing apparatus, image processing method, image compressing method, image decompressing method, information processing apparatus, information processing method, program and recording medium |
CN1979475A (zh) * | 2005-12-07 | 2007-06-13 | 华为技术有限公司 | 一种压缩文件处理方法 |
CN101076031A (zh) * | 2006-12-06 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种应用网络硬盘的方法 |
US20110225322A1 (en) * | 2010-03-10 | 2011-09-15 | Demidov Lilia | Real-time multi-block lossless recompression |
CN102236688A (zh) * | 2010-04-24 | 2011-11-09 | 冼剑光 | 一种大型软件边下载边运行应用中的压缩方法 |
JP2012141830A (ja) * | 2010-12-29 | 2012-07-26 | Yahoo Japan Corp | インデックス生成装置及び方法 |
CN102054038A (zh) * | 2010-12-30 | 2011-05-11 | 东莞宇龙通信科技有限公司 | 一种文件解压方法、装置及移动终端 |
CN102347772A (zh) * | 2011-05-20 | 2012-02-08 | 新邮通信设备有限公司 | 基站文件的压缩处理方法及设备 |
CN102841907A (zh) * | 2011-06-24 | 2012-12-26 | 环达电脑(上海)有限公司 | 数据压缩和解压缩的处理方法 |
CN104281528A (zh) * | 2013-07-09 | 2015-01-14 | 浙江大华技术股份有限公司 | 一种数据存储方法及装置 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
WO2017036308A1 (zh) * | 2015-08-31 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 文件上传方法、访问方法、装置及设备 |
US10169359B1 (en) * | 2015-09-28 | 2019-01-01 | EMC IP Holding Company LLC | Distribution content-aware compression and decompression of data |
CN107292171A (zh) * | 2016-04-13 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 用于识别压缩文件子类型的方法、病毒检测方法及装置 |
US20180101542A1 (en) * | 2016-06-21 | 2018-04-12 | EMC IP Holding Company LLC | Method and apparatus for compressing metadata in a file system |
CN107609072A (zh) * | 2017-09-01 | 2018-01-19 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN107633088A (zh) * | 2017-09-29 | 2018-01-26 | 深圳市金证科技股份有限公司 | 一种文件管理方法及装置 |
US20190116521A1 (en) * | 2017-10-16 | 2019-04-18 | Weihua QIAO | Header Compression for Ethernet Frame |
CN107943893A (zh) * | 2017-11-16 | 2018-04-20 | 北京奇安信科技有限公司 | 一种基于互联网的搜索处理方法及装置 |
US20190273508A1 (en) * | 2018-03-02 | 2019-09-05 | Microsoft Technology Licensing, Llc | Use of data prefixes to increase compression ratios |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925751A (zh) * | 2021-02-20 | 2021-06-08 | 浙江大华技术股份有限公司 | 一种多通道应用处理方法及装置 |
CN112925751B (zh) * | 2021-02-20 | 2022-08-16 | 浙江大华技术股份有限公司 | 一种多通道应用处理方法及装置 |
CN112948332A (zh) * | 2021-03-04 | 2021-06-11 | 北京奇艺世纪科技有限公司 | 一种点云文件封装、解析方法及装置 |
CN112948332B (zh) * | 2021-03-04 | 2023-07-21 | 北京奇艺世纪科技有限公司 | 一种点云文件封装、解析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111414339B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163850B2 (en) | System, method and computer program product for data transfer management | |
US20130067237A1 (en) | Providing random access to archives with block maps | |
US9398117B2 (en) | Protocol data unit interface | |
CN109885577B (zh) | 数据处理方法、装置、终端及存储介质 | |
CN106874348A (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN105446975A (zh) | 一种文件打包方法及装置 | |
CN111046045A (zh) | 处理数据倾斜的方法、装置、设备及存储介质 | |
CN112559463B (zh) | 压缩文件处理的方法及装置 | |
CN111414339A (zh) | 一种文件的处理方法、系统、装置、设备及介质 | |
CN104951482A (zh) | 一种操作Sparse格式的镜像文件的方法及装置 | |
CN108133026B (zh) | 一种多数据的处理方法、系统及存储介质 | |
US7860989B2 (en) | Efficient transformation of interchange format messages | |
CN112765112A (zh) | 一种安装包打包和解包方法 | |
CN112650710A (zh) | 数据迁移的发送方法及装置、存储介质、电子装置 | |
US20130218851A1 (en) | Storage system, data management device, method and program | |
CN114443595A (zh) | 一种处理文件的方法及装置 | |
CN109889608B (zh) | 一种动态资源加载方法、装置、电子设备及存储介质 | |
CN109857719B (zh) | 分布式文件处理方法、装置、计算机设备以及存储介质 | |
CN114205645A (zh) | 分布式视频内容审核方法及装置 | |
CN112131194A (zh) | 一种只读文件系统的文件存储控制方法及装置、存储介质 | |
CN115495026B (zh) | 一种优化内存处理方法、装置、设备及存储介质 | |
CN110908958B (zh) | 一种文件处理方法、装置、终端及存储介质 | |
CN113127012B (zh) | 一种基于软件引擎的软件资源构建方法 | |
CN113630408B (zh) | 数据处理方法、装置、存储介质及服务器 | |
JP5941823B2 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |