CN113220635B - 文件归档方法、装置、设备与计算机可读存储介质 - Google Patents
文件归档方法、装置、设备与计算机可读存储介质 Download PDFInfo
- Publication number
- CN113220635B CN113220635B CN202110514135.XA CN202110514135A CN113220635B CN 113220635 B CN113220635 B CN 113220635B CN 202110514135 A CN202110514135 A CN 202110514135A CN 113220635 B CN113220635 B CN 113220635B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- filing
- archive
- content
- 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
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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- 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/13—File access structures, e.g. distributed indices
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- 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
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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件归档方法、装置、设备与计算机可读存储介质,该方法包括:将获取的归档文件列表进行转换并追加到当前文件夹数据的容器中,根据文件路径和文件内容大小将内容转换成缓存数据压缩至当前写入位置,计算归档头结构的MD5值,再将其同步至归档文件并与整个归档文件的MD5值比对一致时,解压内容缓存数据,得到数据集合并将其加载至归档文件中除内容缓存数据外的其他数据,生成归档容器树,将内存中的数据输出至文件***,根据文件***完成文件归档。本发明在设备控制器中对固件归档文件进行快速校验和解包,释放资源文件与数据对设备进行升级,在日常操作中校验和加载日志归档文件,对在加工的数据记录进行动态归档存储或增删改查。
Description
技术领域
本发明涉及智能缝纫设备控制技术领域,尤其涉及一种文件归档方法、装置、设备与计算机可读存储介质。
背景技术
近年来,随着工业的飞速发展,人工智能技术也被引入了工业制造的设备中,在缝纫设备日常的操作中,随着制造业的需求量越来越大以及对产品的严格要求,劳动资源的稀缺以及人工使用成本过高,导致人力操作的缝纫设备在大量的订单面前已然显得力不从心,传统的缝纫设备已经无法满足当下的市场需求。
目前市场上的缝纫设备控制器文件归档技术无法同时对一个或多个文件进行合并,且对运行设备硬件的配置有着极高的要求,运算过程也较为复杂,依赖的接口库多,同时还需要操作***的支持,大部分不支持多类型数据和文件的混合归档以及内容的验证,显然无法实现在操作过程中对内容的增删改查以及数据或者资源文件备份归档导出。
发明内容
本发明的主要目的在于提出一种文件归档方法、装置、设备与计算机可读存储介质,旨在提高缝纫设备的智能性,降低人工操作成本,实现对缝纫设备控制器的智能归档。
为实现上述目的,本发明提供一种文件归档方法,所述文件归档方法包括如下步骤:
获取归档文件;
将所述归档文件进行转换并追加到当前文件夹数据的容器中,根据文件路径及内容大小将文件内容转换成缓存数据,压缩缓存数据并将其追加到归档头容器中的当前写入位置,计算归档头结构的MD5值;
当所述归档头结构与所述归档文件的MD5值一致时,解压内容缓存数据得到数据集合;
通过所述数据集合加载归档文件中除内容缓存数据外的其他数据,构建出归档容器树;
将所述归档容器树的数据输出至文件***,完成文件归档。
优选地,所述采集归档文件之后还包括:
将所述归档文件按从大到小的顺序进行分类,得到归档文件数据序列。
优选地,所述将所述归档文件进行转换并追加到当前文件夹数据的容器中,根据文件路径和文件内容大小将文件内容转换成缓存数据,压缩缓存数据并将其追加到归档头容器中的当前写入位置,计算归档头结构的MD5值包括:
将所述归档文件列表转换成文件数据和文件夹数据结构,其中,文件数据或文件夹数据包含在文件夹数据的容器中,文件夹的包含数量递增;
根据所述文件数据和所述文件夹数据结构,将所述容器中的结构同步至所述归档文件中,并判断所述容器中的文件类型是否为文件数据;
若所述文件类型为文件数据,则需先将文件数据进行压缩写入归档文件,根据文件路径大小加载文件内容,再将内容动态转换成内容缓存数据进行压缩,追加到归档当前的写入位置;
根据所述写入位置,计算归档头结构的MD5值,将其同步至归档文件。
优选地,所述根据所述当前的写入位置计算所述归档头结构的MD5值包括:
基于所述归档文件当前的写入位置向MD5模型输入不定长度信息,得到所述归档头结构MD5值。
优选地,所述当所述归档头结构与整个归档文件的MD5值一致时,解压内容缓存数据得到数据集合包括:
基于所述归档文件中的内容值和所述归档头结构中除长度外的内容,判断归档头中固定魔数是否正确;
若所述固定魔数正确,则计算全部归档文件的MD5值并与加载的归档头结构的MD5值进行比对,得到比对结果;
基于所述比对结果,在比对的归档文件和所述归档头结构中的MD5值一致时,通过所述归档文件中的结构长度确定所述归档文件中64字节数据结构,并将所述归档文件中64字节数据结构进行解压,生成数据集合。
优选地,通过所述数据集合加载归档文件中除内容缓存数据外的其他数据,构建出归档容器树包括:
提取当前归档文件的字节长度;
将所述字节长度和字节类型组合成对应的结构,并将字节长度加入最后一次加载的容器类型结构的结构表中,当所述归档文件加载完成,得到所述归档容器树。
优选地,所述将所述归档容器树的数据遍历输出至文件***,根据文件***类型完成并输出包括:
依次访问所述归档容器树的各个节点,将所述内容缓存数据输出至所述文件***;
判断所述文件***中的所述内容缓存数据是否为文件夹数据;
若为文件夹数据,根据所述文件夹数据中长度索引出所述归档文件中紧跟着的内容缓存数据,将所述文件夹数据解压输出到文件中。
此外,为实现上述目的,本发明还提供一种文件归档装置,所述文件归档装置包括:
获取模块,用于获取归档文件;
分析模块,用于将所述归档文件进行转换并追加到当前文件夹数据的器中,根据文件路径及内容大小将内文件容转换成缓存数据,压缩缓存数据并将其追加到归档头容器中的当前写入位置,计算归档头结构的MD5值;
解压模块,用于当所述归档头结构与所述归档文件的MD5值一致时,解压内容缓存数据得到数据集合;
构建模块,用于通过所述数据集合加载归档文件中除内容缓存数据外的其他数据,构建出归档容器树;
输出模块,用于将所述归档容器树的数据输出至文件***。
优选地,所述分析模块还用于:
将所述归档文件转换成文件数据和文件夹数据结构;
将所述当前文件夹数据的容器中所述文件数据和所述当前文件夹数据同步至所述归档文件中,并判断所述归档文件中的文件;
若所述文件类型为文件数据,则将文件数据进行压缩写入所述归档文件,根据文件路径大小加载文件内容,再将内容动态转换成内容缓存数据,并对内容缓存数据进行压缩,再追加到归档文件当前的写入位置;
根据所述当前的写入位置计算所述归档文件的MD5值。
优选地,所述根据所述当前的写入位置计算归档文件的MD5值,将其同步至归档文件还用于:
基于所述归档文件当前的写入位置向MD5模型输入不定长度信息,通过MD5模型算法计算所述归档文件的MD5值,得到所述MD5值。
根据所述MD5值的大小进行排序,再将其同步至归档文件。
优选地,所述解压模块还用于:
基于所述归档文件中的内容值和所述归档头结构中除长度外的内容,判断归档头中固定魔数是否正确;
若所述匹配魔数正确,则计算全部归档文件的MD5值并与加载的归档头结构的MD5值进行比对,得到比对结果;
基于所述比对结果,在所述比对文件和所述归档头结构中的MD5值一致时,通过所述归档文件中的结构长度确定所述归档文件中64字节数据结构,并将所述归档文件中64字节数据结构进行解压,生成数据集合。
优选地,所述构建模块还包括:
提取当前归档文件的字节长度;
将所述字节长度和字节类型组合成对应的结构,并将字节长度加入最后一次加载的容器类型结构的结构表中,当所述归档文件加载完成,得到所述归档容器树。
优选地,所述输出模块还用于:
访问所述归档容器树的各个节点,将所述内容缓存数据输出至所述文件***;
判断所述文件***中的所述内容缓存数据是否为文件夹数据;
若为文件夹数据,根据所述文件夹数据中长度索引出所述归档文件中紧跟着的内容缓存数据,将所述文件夹数据解压输出到文件中。
此外,为实现上述目的,本发明还提供一种文件归档设备,所述文件归档设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文件归档程序,所述文件归档程序被所述处理器执行时实现如上所述的文件归档方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有文件归档程序,所述文件归档程序被处理器执行时实现如上所述的文件归档方法的步骤。
本发明提出的文件归档方法,将获取到的归档文件进行转换并追加到当前文件夹数据的容器中,对文件数据进行压缩,根据文件路径和文件内容大小将内容转换成缓存数据归档至归档头容器中的当前写入位置,计算归档头结构的MD5值并将其同步至归档文件,当归档文头结构的MD5值与归档头结构中的MD5值一致时,通过结构长度索引解压归档文件中数据结构,生成数据集合,通过数据集合加载归档文件中除内容缓存数据外的其他结构,生成归档容器树,根据归档容器树,遍历内存中的数据,基于文件***类型并输出。本发明在缝纫设备运行时,该设备支持多类型数据和文件的混合归档以及内容的验证,能在嵌入式产品中应用归类技术,实现缝纫设备控制器的数据或资源文件备份归档导出。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明文件归档方法实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以是PC机或服务器设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及文件归档程序。
其中,操作***是管理和控制文件归档设备与软件资源的程序,支持网络通信模块、用户接口模块、文件归档程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的文件归档设备中,所述文件归档设备通过处理器1001调用存储器1005中存储的文件归档程序,并执行下述文件归档方法各个实施例中的操作。
基于上述硬件结构,提出本发明文件归档方法实施例。
参照图2,图2为本发明文件归档方法第一实施例的流程示意图,所述方法包括:
步骤S10,获取归档文件;
步骤S20,将所述归档文件进行转换并追加到当前文件夹数据的容器中,根据文件路径及文件内容大小将文件内容转换成缓存数据,压缩缓存数据并将其追加到归档头容器中的当前写入位置,计算归档头结构的MD5值;
步骤S30,当所述归档头结构与所述归档文件的MD5值一致时,解压内容缓存数据得到数据集合;
步骤S40,通过所述数据集合加载归档文件中除内容缓存数据外的其他数据,构建出归档容器树;
步骤S50,将所述归档容器树的数据输出至文件***,完成文件归档。
本实施例文件归档方法运用于工业制造的文件归档设备中,文件归档设备可以是终端、机器人或者PC设备,为描述方便,文件归档设备以缝纫设备控制器为例进行描述。在缝纫设备控制器运行时,需要对缝纫设备控制器中的归档文件进行操作,以便于通过控制器对缝纫设备进行管控,当需要改变控制器对缝纫设备的控制指令时,首先需要从外部输入对缝纫设备的控制指令以改变控制器中的数据参数,对缝纫设备控制器中固件归档文件进行快速的校验和解包,释放资源文件与数据对设备进行升级,在校验和加载日志归档文件时,要对在加工的数据记录进行动态归档存储或者增删改查,以及对缝纫设备控制器的数据或者资源文件备份归档导出等一系列的操作。在这过程中,若缝纫设备控制器对魔数的判断错误,以及当归档头结构中的MD5值和当前的MD5值不一致时,说明文件被损坏,则构建结束。为描述方便,以下是以缝纫设备控制器为例进行描述。
进一步地,开启缝纫设备,将获取到的归档文件列表进行转换并且追加到当前文件夹数据的容器中,对文件数据进行压缩,再根据文件路径和文件内容大小将文档数据内容转换成缓存数据压缩至当前的写入位置,计算归档文件的MD5值,再将其同步至归档文件与加载归档头两者之间的MD5值进行比对,当比对两者之间的校验值一致时,解压结构长度确定归档文件中的内容缓存数据结构,得到数据集合并将其加载至归档文件中除内容缓存数据外的其他结构,生成归档容器树,将内存中的数据遍历输出至文件***,根据文件***完成并输出,实现智能缝纫设备控制器文件归档。
以下将对各个步骤进行详细说明:
步骤S10,获取归档文件;
在本实施例中,开启缝纫设备后,此时缝纫设备控制器内仍保留用户之前输入的控制指令,缝纫设备会自动回复上次执行的指令,若指令没发生改变,则只需按下启动键启动程序,运行该缝纫设备且该设备正常工作。若是第一次开启的新设备或者需要添加新的指令的缝纫设备,则输入需要缝纫设备执行的控制指令,其中,该指令包含了多种类型的数据结构,分别为:64字节数据、文件数据、内容缓存数据、文件夹数据和归档头,在读取输入指令的内容时,读取位置会根据读取的内容长度自动偏移,偏移长度和读取的内容长度始终是保持一致的。
进一步地,通过对归档文件的提取,初始化指令文件归档头的归档文件,将输入的指令文件进行分类打包,将不同的指令文件分为不同的文件数据数据包,在开启缝纫设备的时候,使得该缝纫设备控制器快速的查询到指令文件,当输入的指令发生错误时,用户能快速的查找到错误的指令文件并且将其迅速地删除,实现了对缝纫设备控制器指令文件新增内容的快速查询以及修改。
步骤S20,将所述归档文件的列表进行转换并追加到当前文件夹数据的容器中,根据文件路径及文件内容大小将文件内容转换成缓存数据,压缩缓存数据并将其追加到归档头容器中的当前写入位置,计算归档头结构的MD5值。
在本实施例中,缝纫设备控制器在获取到归档文件后,将所述归档文件按从大到小的顺序进行分类,得到归档文件数据序列,从而得到归档文件列表,通过分析模块下包含的转换单元,将归档文件的列表转换成文件数据和文件夹数据结构,其中文件数据包括对缝纫设备控制器输入的指令代码文件,而文件夹数据结构是用来归置文件中的指令数据以及文档等带有结构特征的数据元素集合,通过他们之间数据的逻辑结构关系,对这种结构进行计算。当转换成功时,需要将文件数据或者文件夹数据结构追加到归档头的归档容器中。
进一步地,分析模块还包括识别单元和判断单元,在向归档容器中追加了文件数据或者文件夹数据结构后,通过识别单元识别归档容器中是否存在文件内容,在确定归档容器中存在文件内容时,再通过判断单元判断该归档容器中存在的文件类型是文件数据还是文件夹数据结构,当归档容器中的文件类型为文件数据时需要先将文件数据进行压缩并写入归档文件,其中,压缩和解压采用了LZ4开源算法,拥有小巧且高效的压缩与解压效果,非常适合嵌入式产品。然后根据文件的路径确定后,设置以每4k一个缓存块的加载速度对文件内容进行加载,再以每4k一个缓存块的速度将内容动态转换成内容缓存数据,并且将转换得到的内容缓存数据压缩追加到当前的写入位置,每一条内容都进行同样的处理过程,直到文件的所有内容都加载完成。根据MD5输入不定点长度信息,再输出固定的长度128-bits的算法,生成四个32位数据,最后将四个32位数据联合起来合成一个128-bits的散列,其中,基本方式包括:求余、取余、调整长度与链接变量进行循环运算,最后得到结果。
在本实施例中,该缝纫设备控制器通过对归档文件列表的转换以及将其追加到归档容器内,判断归档容器中的文件类型并对其进行压缩、设置路径和设置加载速度,再计算归档文件的MD5值以及将其同步至归档文件。将归档文件列表进行转换,减少对输入指令的报错,提高缝纫设备控制器对于指令的加载速度以及运行速度。
步骤S30,当所述归档头结构与所述归档文件的MD5值一致时,解压内容缓存数据得到数据集合。
在本实施例中,先从缝纫设备控制器的文件开头开始读取2字节长度内容,将读取到的内容值记录为L0,再在当前读取位置进一步读取内容值L0个字节长度内容,将其记录为R0,字节长度R0是归档头结该中除了长度以外的内容,基于内容值L0和字节长度R0,将两者进行组合成归档头结构,判断归档头文件中的固定魔数是否正确,其中,所谓魔数就是指在代码中出现但没有解释的数字常量或字符串,判断归档头结构中的MD5值是否与此文件的MD5值一致,若不一致,则表示文件已经被损坏,同时表示构建结束,若一致,则需要进行对归档文件中的结构长度索引出归档文件中64字节数据结构,进一步地将其进行解压得到数据集合。
在本实施例中,通过对字节长度和内容值的读取,将两者进行组合形成归档头结构,对比当前文件的MD5值和归档头文件的MD5值,再对其进行解压。读取字节长度和内容值,这样有益于该缝纫设备全面的捕获用户指令的全部信息,通过比对前后的MD5值,能提高指令读取的准确度,能极大的提升用户在使用该缝纫设备时的工作效率。
步骤S40,通过所述数据集合加载归档文件中除内容缓存数据外的其他数据,构建出归档容器树。
在本实施例中,在完成上述步骤后,缝纫设备控制器再在当前读取位置接着读取2字节长度内容,并把内容值记录为L1,然后再在当前读取位置接着读取L1个字节长度内容,并将其记录为R1,此时字节长度内容R1的前2字节类型为T1,剩下部分根据T1的类型值来区分具体的数据结构,内容值L1与字节长度内容R1两者组成T1类型值所对应的结构S1,其中T1值可能是归档头、64字节数据、文件数据、内容缓存数据或者文件夹数据结构等等。将对应的结构S1加入到最后一次加载的容器类型结构的结构表里,其中,容器包括:归档人和文件夹结构。通过这样的读取方法,重复读取各阶段的内容值和字节长度内容,并将各阶段读取到的内容值和字节长度内容进行组合,记录每一个阶段组合所得的类型值,直到从该文件的头文件读取到文件结尾,通过这样的构建,得到完整的归档容器树。
进一步地,缝纫设备控制器通过对字节长度的读取,加载归档文件中除了内容缓存数据以外的其他所有结构,生成完整的归档容器树。根据构建的树模型最大化的将信息增益的特征值进行提取,一直到结束条件或者子节点精确度到达一定的阈值,对容器树的每个子节点表示的特征属性上的测试,每个分值代表该特征属性在某个值域上的输出,一个子节点存放一个类别,将存放的类别作为决策结果。
在本实施例中,通过构建得到的归档容器树,对缝纫设备控制器中的文件进行分类管理,在该设备控制器获取指令时极大的提升了该设备控制器查询文件的速度,加快了设备对指令的执行速率,提高了该缝纫设备在激烈的市场环境中的竞争力。
步骤S50,将所述归档容器树的数据输出至文件***,完成文件归档。
在本实施例中,对已经构建好的归案容器树的各个节点进行遍历,并将其输出到文件***之中,进一步地判断归档容器树中的文件类型,若归档容器树中的文件类型为非文件数据和文件夹数据结构,则此时只会打印出信息;若文件类型为文件夹数据结构,则会根据文件数据进行动态创建文件目录;若为文件数据,则会根据结构中的长度索引出归档文件中紧跟着的内容缓存结构,通过解压,将文件数据发送到文件中,直到紧跟着的为非内容缓存结构为止。
在本实施例中,当非内容缓存结束后,则表示对归档容器树各节点的遍历结束,释放该缝纫设备控制器中的所有资源,完成此次对归档文件的更新。对缝纫设备控制器文件归档,这样能实现智能化的缝纫设备,在降低了人工成本的同时,产品的质量也能得到保障,提高了该缝纫设备在行业内的竞争力,给用户带来了极佳的体验感。
本发明还提供一种文件归档装置。本发明文件归档装置包括:
获取模块,用于获取归档文件;
分析模块,用于将所述归档文件进行转换并追加到当前文件夹数据的容器中,根据文件路径及内容大小将文件内容转换成缓存数据,压缩缓存数据并将其追加到归档头容器中的当前写入位置,计算归档头结构的MD5值;
解压模块,用于当所述归档头结构与所述归档文件的MD5值一致时,解压内容缓存数据得到数据集合;
构建模块,用于通过所述数据集合加载归档文件中除内容缓存数据外的其他数据,构建出归档容器树;
输出模块,用于将所述归档容器树的数据输出至文件***,完成文件归档。
进一步地,所述分析模块还用于:
将所述归档文件转换成文件数据和文件夹数据结构;
将所当前文件夹数据的述容器中所述文件数据和所述当前文件夹数据同步至所述归档文件中,并判断所述归档中的文件类型;
若所述文件类型为文件数据,则将文件数据进行压缩写入所述归档文件,根据文件路径大小加载文件内容,再将内容动态转换成内容缓存数据,并对所述内容缓存数据进行压缩,再追加到所述归档文件当前的写入位置;
根据所述当前的写入位置计算所述归档头结构的MD5值。
进一步地,所述分析模块还用于:
基于所述归档文件当前的写入位置向MD5模型输入不定长度信息,通过MD5模型算法计算所述归档文件的MD5值,得到所述归档头结构的MD5值。
根据所述MD5值的大小进行排序,再将其同步至归档文件。
进一步地,所述解压模块还用于:
基于所述归档文件中的内容值和所述归档头结构中除长度外的内容,判断归档头中固定魔数是否正确;
若所述固定魔数正确,则计算全部归档文件的MD5值并与加载的归档头结构的MD5值进行比对,得到比对结果;
基于所述比对结果,在比对的归档文件和所述归档头结构中的MD5值一致时,通过所述归档文件中的结构长度确定所述归档文件中64字节数据结构,并将所述归档文件中64字节数据结构进行解压,生成数据集合。
进一步地,所述构建模块还包括:
提取当前归档文件的字节长度;
将所述字节长度和字节类型组合成对应的结构,并将字节长度加入最后一次加载的容器类型结构的结构表中,当所述归档文件加载完成,得到所述归档容器树。
进一步地,所述输出模块还用于:
依次访问所述归档容器树的各个节点,将所述内容缓存数据输出至所述文件***;
判断所述文件***中的所述内容缓存数据是否为文件夹数据;
若为文件夹数据,根据所述文件夹数据中长度索引出所述归档文件中紧跟着的内容缓存数据,将所述文件夹数据解压输出到文件中。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有文件归档程序,所述文件归档程序被处理器执行时实现如上所述的文件归档方法的步骤。
其中,在所述处理器上运行的文件归档程序被执行时所实现的方法可参照本发明文件归档方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种文件归档方法,其特征在于,所述文件归档方法包括:
获取归档文件,所述归档文件为指令文件;
将所述归档文件转换成文件数据和文件夹数据结构,所述文件数据包括指令代码文件,所述文件夹数据结构是用来归置文件中带有结构特征的数据元素集合;
判断所述归档文件中的文件类型;
若所述文件类型为文件数据,则将所述文件数据进行压缩写入所述归档文件,根据文件路径大小加载文件内容,再将内容动态转换成内容缓存数据,并对所述内容缓存数据进行压缩,再追加到所述归档文件当前的写入位置;
根据所述当前的写入位置计算归档头结构的MD5值,其中,通过对所述归档文件中的字节长度和内容值的读取,将两者进行组合形成所述归档头结构;
当所述归档头结构与所述归档文件的MD5值一致时,解压内容缓存数据得到数据集合;
通过所述数据集合加载归档文件中的内容缓存数据及除所述内容缓存数据外的其他数据,构建出归档容器树,所述归档容器树的构建过程包括:重复读取各阶段的内容值和字节长度内容,并将各阶段读取到的内容值和字节长度内容进行组合,记录每一个阶段组合所得的类型值,直到从所述归档文件的头文件读取到文件结尾;
将所述归档容器树的数据输出至文件***,完成文件归档。
2.根据权利要求1所述的文件归档方法,其特征在于,所述获取归档文件之后还包括:
将所述归档文件按从大到小的顺序进行分类,得到归档文件列表。
3.根据权利要求1所述的文件归档方法,其特征在于,所述根据所述当前的写入位置计算归档头结构的MD5值包括:
基于所述归档文件当前的写入位置向MD5模型输入不定长度信息,得到所述归档头结构的MD5值。
4.根据权利要求1所述的文件归档方法,其特征在于,所述当所述归档头结构与所述归档文件的MD5值一致时,解压内容缓存数据得到数据集合包括:
基于所述归档文件中的内容值和所述归档头结构中除长度外的内容,判断归档头中固定魔数是否正确;
若所述固定魔数正确,则计算全部归档文件的MD5值并与加载的归档头结构的MD5值进行比对,得到比对结果;
基于所述比对结果,在比对的归档文件和所述归档头结构中的MD5值一致时,通过所述归档文件中的结构长度确定所述归档文件中64字节数据结构,并将所述归档文件中64字节数据结构进行解压,生成数据集合。
5.根据权利要求1所述的文件归档方法,其特征在于,通过所述数据集合加载归档文件中的内容缓存数据及除所述内容缓存数据外的其他数据,构建出归档容器树包括:
提取当前归档文件的字节长度;
将所述字节长度和字节类型组合成对应的结构,并将字节长度加入最后一次加载的容器类型结构的结构表中,当所述归档文件加载完成,得到所述归档容器树。
6.根据权利要求1所述的文件归档方法,其特征在于,将所述归档容器树的数据输出至文件***,完成文件归档包括:
依次访问所述归档容器树的各个节点,将所述内容缓存数据输出至所述文件***;
判断所述文件***中的所述内容缓存数据是否为文件数据结构;
若为文件数据结构,则根据所述文件数据结构中长度索引出所述归档文件中紧跟着的内容缓存数据,将所述文件数据解压输出到文件中。
7.一种文件归档装置,其特征在于,所述文件归档装置包括:
获取模块,用于获取归档文件,所述归档文件为指令文件;
分析模块,用于将所述归档文件转换成文件数据和文件夹数据结构,所述文件数据包括指令代码文件,所述文件夹数据结构是用来归置文件中带有结构特征的数据元素集合;判断所述归档文件中的文件类型;若所述文件类型为文件数据,则将所述文件数据进行压缩写入所述归档文件,根据文件路径大小加载文件内容,再将内容动态转换成内容缓存数据,并对所述内容缓存数据进行压缩,再追加到所述归档文件当前的写入位置;根据所述当前的写入位置计算归档头结构的MD5值,其中,通过对所述归档文件中的字节长度和内容值的读取,将两者进行组合形成所述归档头结构;
解压模块,用于当所述归档头结构与所述归档文件的MD5值一致时,解压缓存数据结构得到缓存数据集合;
构建模块,用于通过所述数据集合加载归档文件中的内容缓存数据及除所述内容缓存数据外的其他数据,构建出归档容器树,所述归档容器树的构建过程包括:重复读取各阶段的内容值和字节长度内容,并将各阶段读取到的内容值和字节长度内容进行组合,记录每一个阶段组合所得的类型值,直到从所述归档文件的头文件读取到文件结尾;
输出模块,用于将所述归档容器树的数据输出至文件***,完成文件归档。
8.一种文件归档设备,其特征在于,所述文件归档设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文件归档程序,所述文件归档程序被所述处理器执行时实现如权利要求1至6中任一项所述的文件归档方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有文件归档程序,所述文件归档程序被处理器执行时实现如权利要求1至6中任一项所述的文件归档方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110514135.XA CN113220635B (zh) | 2021-05-11 | 2021-05-11 | 文件归档方法、装置、设备与计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110514135.XA CN113220635B (zh) | 2021-05-11 | 2021-05-11 | 文件归档方法、装置、设备与计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220635A CN113220635A (zh) | 2021-08-06 |
CN113220635B true CN113220635B (zh) | 2022-02-15 |
Family
ID=77094915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110514135.XA Active CN113220635B (zh) | 2021-05-11 | 2021-05-11 | 文件归档方法、装置、设备与计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220635B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797451A (zh) * | 2004-12-28 | 2006-07-05 | 台湾积体电路制造股份有限公司 | 数据归档管理***及方法 |
EP3098726A1 (en) * | 2014-01-24 | 2016-11-30 | Zakrytoe Aktsionernoe Obschestvo "RIVV" | Method for extracting useful content from setup files of mobile applications |
CN108874639A (zh) * | 2018-03-27 | 2018-11-23 | 平安科技(深圳)有限公司 | 日志归档方法、电子装置及可读存储介质 |
CN109710614A (zh) * | 2018-12-28 | 2019-05-03 | 深圳市同行者科技有限公司 | 一种实时数据存储与查询的方法及装置 |
CN110716895A (zh) * | 2019-09-17 | 2020-01-21 | 平安科技(深圳)有限公司 | 目标数据归档方法、装置、计算机设备及介质 |
CN112527733A (zh) * | 2020-11-04 | 2021-03-19 | 郑州信大捷安信息技术股份有限公司 | 一种linux***下归档文件和压缩文件乱码的处理方法和*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8275750B2 (en) * | 2006-11-08 | 2012-09-25 | International Business Machines Corporation | Method to efficiently use the disk space while unarchiving |
CN101676899A (zh) * | 2008-09-18 | 2010-03-24 | 上海宝信软件股份有限公司 | 海量数据库记录的归档和查询方法 |
CN111611211A (zh) * | 2020-04-27 | 2020-09-01 | 深圳壹账通智能科技有限公司 | 文件导入归档方法、电子设备及存储介质 |
-
2021
- 2021-05-11 CN CN202110514135.XA patent/CN113220635B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797451A (zh) * | 2004-12-28 | 2006-07-05 | 台湾积体电路制造股份有限公司 | 数据归档管理***及方法 |
EP3098726A1 (en) * | 2014-01-24 | 2016-11-30 | Zakrytoe Aktsionernoe Obschestvo "RIVV" | Method for extracting useful content from setup files of mobile applications |
CN108874639A (zh) * | 2018-03-27 | 2018-11-23 | 平安科技(深圳)有限公司 | 日志归档方法、电子装置及可读存储介质 |
CN109710614A (zh) * | 2018-12-28 | 2019-05-03 | 深圳市同行者科技有限公司 | 一种实时数据存储与查询的方法及装置 |
CN110716895A (zh) * | 2019-09-17 | 2020-01-21 | 平安科技(深圳)有限公司 | 目标数据归档方法、装置、计算机设备及介质 |
CN112527733A (zh) * | 2020-11-04 | 2021-03-19 | 郑州信大捷安信息技术股份有限公司 | 一种linux***下归档文件和压缩文件乱码的处理方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN113220635A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7664783B2 (en) | File management program, data structure, and file management device | |
US20130067237A1 (en) | Providing random access to archives with block maps | |
US20120271802A1 (en) | Forward compatibility guaranteed data compression and decompression method and apparatus thereof | |
US7530017B2 (en) | Document transformation system | |
US9577666B2 (en) | Method and system | |
CN111813378A (zh) | 一种代码库构建***、方法和相关装置 | |
WO2021051532A1 (zh) | 数据压缩方法、装置、设备及计算机可读存储介质 | |
CN113220635B (zh) | 文件归档方法、装置、设备与计算机可读存储介质 | |
CN106033335A (zh) | 一种生成安装包的方法及装置 | |
US20200272784A1 (en) | A method and system for compressing data | |
CN105811994A (zh) | 一种计算机数据压缩处理*** | |
CN108829872B (zh) | 无损压缩文件的快速处理方法、设备、***及存储介质 | |
CN111078652A (zh) | 物流箱码的归档压缩方法及装置 | |
CN111970161B (zh) | 一种基于地址预测的物联网应用差分升级方法 | |
CN113505153B (zh) | 一种基于iOS***的备忘录备份方法和相关设备 | |
CN111552670B (zh) | 一种可拓展支持压缩文件和解压文件的方法及其*** | |
US20170033803A1 (en) | Compression method and decompression method | |
AU2015398151A1 (en) | Information processing device, information processing method, and information processing program | |
CN111291230A (zh) | 特征处理方法、装置、电子设备及计算机可读存储介质 | |
US9852143B2 (en) | Enabling random access within objects in zip archives | |
CN113821757B (zh) | 一种基于cms的快速建站方法及建站*** | |
CN112579546B (zh) | 文件压缩方法、***、存储介质及终端 | |
CN113822022A (zh) | 一种ppt审核处理方法、装置、设备及存储介质 | |
CN115510051A (zh) | 数据处理方法、查询方法、装置及电子设备 | |
CN117251451A (zh) | 配置数据获取方法、装置、电子设备、存储介质 |
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 |