File compression method and device
Through graphical user interface and intelligent recommendation technology, combined with compression tools such as UPX and Strip, the problems of high operation complexity and poor compression effect in the existing technology are solved, and an efficient and diverse file compression solution is achieved.
Patent Information
- Application Number
- CN202411547407.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-01
- Publication Date
- 2025-02-14
AI Technical Summary
The prior art has problems such as high operational complexity, poor compression effect and low resource utilization during the compression process of applications, especially in the compression of multi-object file and compression of different file formats.
Select the target file through the graphical user interface, and intelligently recommend the compression method, compression level and parameter configuration according to the file characteristics, combined with compression tools such as UPX and Strip to realize the combination and batch compression processing of multiple compression methods.
It reduces the complexity of user operations, improves compression effect and resource utilization efficiency, and can carry out targeted compression processing for different file types.
Smart Images

Figure CN119441165A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to a technical field related to computer software compression, and in particular to a file compression method and device. Background Art
[0002] During the development, deployment, and distribution phases of an application, compressing executable files is a common operation due to various requirements such as performance testing, resource management, and version control.
[0003] At present, there are many tools and methods for the compression technology of applications, including command line tools, graphical tools, and integrated development environment (IDE) plug-ins. Among them, common command line compression tools include UPX and Strip. UPX is an open source compression tool specifically used to compress executable files; Strip is used to remove debugging information and symbol tables in executable files, thereby reducing the file size. Common graphical compression tools include PE Explorer and ExeShrink. PEExplorer provides a graphical user interface (GUI) that allows users to view and edit resources in executable files, including compression functions; ExeShrink provides a simple graphical interface for compressing executable files. Common integrated development environment plug-in compression tools include yumicompressor, etc. Yumicompressor is mainly used to compress JavaScript files and can realize right-click compression. In addition, there are file archive compression tools such as WinRAR, 7-Zip, FileOptimizer, etc. These tools can compress various file formats, including executable files. By combing through the above existing technologies, it is found that they may have the following shortcomings:
[0004] On the one hand, the parameter settings of command-line compression tools such as UPX and Strip, and integrated development environment plug-in compression tools are relatively complex, which makes them difficult to operate and prone to errors for users; integrated development environment plug-in compression tools also have the problem of low applicability.
[0005] On the other hand, although graphical compression tools and file archive compression tools are more user-friendly due to the existence of graphical interfaces, their compression functions are relatively single and they cannot perform targeted compression on various formats, so the compression effect is not good.
[0006] On the other hand, compression tools such as command lines often cannot compress multiple target compressed files simultaneously without further modification, and require repeated operations many times, so resource utilization is low.
[0007] Therefore, in this context, how to improve the compression effect, provide a variety of compression methods to choose from, while reducing the complexity of user use and improving the efficiency of system resource utilization is a technical problem that needs to be solved. Summary of the invention
[0008] In view of the above problems in the prior art, the present application provides a file compression method and device, so as to provide a file compression solution that can improve the compression effect, provide a variety of compression methods to choose from, have low user usage complexity, and have high system resource utilization efficiency.
[0009] To achieve the above object, the present application provides a first aspect of a file compression method, comprising the following steps:
[0010] determining a target file selected by a user through a graphical user interface;
[0011] Determining configuration parameters used for compression operations according to the target file characteristics;
[0012] A compression operation is performed on the target file according to the configuration parameters.
[0013] From the above, the use of a graphical interface as the operating interface greatly reduces the operational difficulties brought by compression tools such as command lines; the complexity of user use is reduced by intelligently recommending compression methods, compression levels and parameter configurations; the combination of intelligent recommendation and autonomous selection can ensure that the effect of the compression method is consistent with that of the command line compression tool; executing compression operations and outputting logs can facilitate subsequent compression quality inspection and optimization.
[0014] As a possible implementation manner of the first aspect, the configuration parameters include: one selected compression method or at least two compression methods used in combination, and compression parameters in the selected compression method.
[0015] From the above, by using a combination of multiple compression methods, different file types can be compressed in a targeted manner to improve compression efficiency and quality.
[0016] As a possible implementation of the first aspect, the target file characteristic includes a file format. When the file format is an executable file, the determined configuration parameters used for the compression operation include: the selected compression method includes a combination of a UPX compression method and a Strip compression method.
[0017] From the above, we can see that using command line compression methods UPX and Strip can effectively compress executable files and improve compression efficiency and quality.
[0018] As a possible implementation manner of the first aspect, the compression parameters in the selected compression method include:
[0019] The compression parameters of the UPX compression method include: compression level corresponding parameters;
[0020] The compression parameters of the Strip compression method include: whether to remove debugging information and symbol table options;
[0021] According to the configuration parameters, the target file is processed to remove the debugging information and the symbol table included therein;
[0022] The processed target file is compressed according to the selected compression level.
[0023] From the above, we can select the corresponding compression level and whether to remove debugging information and symbol table according to different compression methods to improve compression efficiency and quality.
[0024] As a possible implementation manner of the first aspect, determining the configuration parameters used for the compression operation according to the target file characteristics includes:
[0025] When there are multiple target files selected by the user, and when the corresponding target file characteristics include multiple file formats corresponding to the multiple target files, determining that the configuration parameters used for the compression operation include multiple compression methods used in combination, wherein different compression methods match different file formats respectively;
[0026] The performing a compression operation on the target file according to the configuration parameters includes using the multiple compression methods to respectively perform compression on the matched target files.
[0027] From the above, by recommending the use of different compression method combinations, the executable file can be compressed differently in a targeted manner; the compression level and parameter configuration provide intelligent recommendations based on the properties of the executable file and the choice of compression method, reducing the difficulty of use for users.
[0028] As a possible implementation manner of the first aspect, when there are multiple target files selected by the target user, batch compression processing is performed through a multi-threaded or asynchronous scheduling algorithm to dynamically allocate resources.
[0029] From the above, by providing a batch compression processing method, the number of user interactions is reduced; by dynamically allocating system resources and simultaneously processing multiple compression tasks, the utilization efficiency of system resources is improved.
[0030] As a possible implementation manner of the first aspect, a log record corresponding to executing the file compression method is generated.
[0031] From the above, by performing statistics, recording, and analysis on the compression method, results, parameters, etc., the compression process and records can be retained, which is convenient for subsequent inspection of the integrity of the compressed content and adjustment of the compression configuration.
[0032] As a possible implementation of the first aspect, at least one of the following is also included:
[0033] Displaying the file format, file path or file size, and creation / modification date of the selected target file through the graphical user interface;
[0034] Providing an accessory interface for configuring parameters and previewing the result after performing the compression operation through the graphical user interface;
[0035] Displaying compression progress and prompting errors during compression through the graphical user interface;
[0036] The compression operation log includes compression result statistics, compression parameter recording and analysis.
[0037] As mentioned above, the use of a graphical interface as the operation interface greatly reduces the operational difficulties brought by compression tools such as command lines, and is simpler and easier to understand than command line call operations.
[0038] A second aspect of the present application provides a file compression device, comprising:
[0039] A file selection module, used for determining a target file selected by a user through a graphical user interface;
[0040] A compression configuration module, used to determine configuration parameters used for compression operations according to the characteristics of the target file;
[0041] The compression module is used to perform a compression operation on the target file according to the configuration parameters.
[0042] A third aspect of the present application provides a computing device, comprising: a processor, and a memory on which program instructions are stored, and when the program instructions are executed by the processor, the processor executes the file compression method described in any one of the first aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 is a flow chart of the first embodiment of the file compression method of the present application;
[0044] Figure 2 is a flow chart of a second embodiment of the file compression method of the present application;
[0045] Figure 3 is a schematic diagram of a file compression device provided by an embodiment of the present application;
[0046] Figure 4 It is a structural schematic diagram of a computing device provided in an embodiment of the present application.
[0047] It should be understood that the size and shape of each block diagram in the above structural diagram are for reference only and should not constitute an exclusive interpretation of the embodiment of the present invention. The relative position and inclusion relationship between the blocks presented in the structural diagram are only schematic representations of the structural association between the blocks, and do not limit the physical connection method of the embodiment of the present invention. DETAILED DESCRIPTION
[0048] The technical solution provided by the present application is further described below with reference to the accompanying drawings and examples. It should be understood that the system structure and business scenarios provided in the examples of the present application are mainly to illustrate the possible implementation methods of the technical solution of the present application and should not be interpreted as the only limitation on the technical solution of the present application. It is known to those of ordinary skill in the art that with the evolution of the system structure and the emergence of new business scenarios, the technical solution provided by the present application is also applicable to similar technical problems.
[0049] It should be understood that the file compression solutions provided in the embodiments of the present application include file compression methods, devices, computing devices, computer-readable storage media, and computer program products. Since the principles of solving problems in these technical solutions are the same or similar, some repetitions may not be repeated in the following specific embodiments, but it should be considered that these specific embodiments have been referenced to each other and can be combined with each other.
[0050] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by technicians in the technical field of this application. In the event of any inconsistency, the meaning described in this specification or the meaning derived from the contents recorded in this specification shall prevail. In addition, the terms used herein are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application. In order to accurately describe the technical content in this application and to accurately understand the present invention, the following explanations or definitions are given to the terms used in this specification before describing the specific embodiments:
[0051] 1) The Ultimate Packer for eXecutables (UPX): is a free and open source executable program file compression tool that supports executable file formats under multiple operating systems. UPX reduces the size of executable files through compression technology while maintaining their functionality. This compression is achieved through on-the-fly decompression technology, that is, the file is automatically decompressed to its original state before it is loaded into memory.
[0052] 2) Strip: It is a command line tool that removes symbol information and debugging information from target files, executable files, or library files to reduce the file size. This operation is particularly useful in embedded development because it can save valuable storage space.
[0053] The file compression scheme provided in the embodiment of the present application uses a graphical interface to select files, compression configuration, execution compression and output logs, and optimizes the operation and effect of the compression application by intelligently recommending compression levels, methods and configuration parameters. This method can provide a file compression scheme that can improve the compression effect, multiple compression methods to choose from, low user complexity, and high system resource utilization efficiency. The embodiment of the present application can be applied to file compression in various software development and release, embedded systems, mobile applications, game development, cloud servers, network transmission and other scenarios. The following is a detailed description of each embodiment of the present application with reference to the accompanying drawings.
[0054] The first embodiment of the present application provides a file compression method. Figure 1 , specifically describing the implementation of each step of the method, including steps S10-S30:
[0055] S10: Determine the target file selected by the user through the graphical user interface.
[0056] In some embodiments, the embodiments of the present application can be applied to common operating systems that support graphical user interfaces, such as Windows, macOS, Linux, and iOS and Android systems on mobile devices; and may also include embedded systems used in various industrial, mechanical, electronic and electrical fields.
[0057] In some embodiments, the graphical user interface may include windows, icons, menus, input boxes, toolbars, etc., and the user may operate through input devices such as a mouse and a keyboard.
[0058] In some embodiments, the selected target executable file may include common formats under Windows operating systems such as .exe, .dll, .bat, .cmd; it may also include common formats under Linux / Unix operating systems such as .sh, .out, and no fixed extension; it may also include common formats under macOS operating systems such as .app, .command; it may also include common cross-platform formats such as .jar, .msi; it may also include common formats on mobile devices such as .apk.
[0059] In some embodiments, when selecting a target executable file in a graphical user interface, one or more files can be selected by dragging and dropping or by a file browsing dialog box, and detailed information of the selected files (such as file format, file path, file size, modification date, etc.) is displayed, and file preview and management are provided; among them, file preview can use a preview pane to display content thumbnails; file management can delete, rename, and perform other operations on files.
[0060] S20: Determine configuration parameters used for compression operation according to the target file characteristics.
[0061] In some embodiments, the compression method may be UPX compression, Strip compression, or a combination of UPX and Strip compression; other open source command line compression tools may also be used for the compression method. The compression level may be selected according to the compression level provided by the compression method, such as 9 compression levels are provided when using the UPX compression method; simplified compression levels may also be used, such as fast compression, standard compression, maximum compression, etc.
[0062] In some embodiments, compression configuration parameters are selected according to the selected compression tool. For example, when using UPX compression method, use --compress-exports=0 to set not to compress output modules, etc.; when using Strip compression method, use --strip-debug to set to remove only debugging information, etc.
[0063] In some embodiments, the embodiments of the present application can recommend corresponding compression methods, compression levels and parameter configurations according to the size, format and other information of the target executable file; for example, for .exe executable files of 1MB to 50MB, it is recommended to use a compression method combining UPX and Strip, and the compression level is recommended to use maximum compression. The compression parameters recommend the use of the UPX command --ultra-brute to enable all available compression technologies and pursue the best compression ratio, and use the Strip command --strip-all to remove all symbols and relocation information; for another example, it is recommended to use the UPX compression method for Mach-O executable files, and the compression level is recommended to use standard compression. The compression parameter configuration recommends the use of the UPX command --lzma to use the LZMA compression algorithm; when using the compression method combining UPX and Strip, the implementation order of the compression method can also be optimized according to the size, format and other information of the target executable file; the default configuration parameters can also be set in advance to simplify the difficulty of configuration operations.
[0064] In some embodiments, the graphical interface may provide built-in help documentation and FAQs; it may also provide a built-in contact support function to provide online help and technical support.
[0065] S30: Performing a compression operation on the target file according to the configuration parameters.
[0066] In some embodiments, the compression operation may include batch compression processing, implementation progress display and monitoring, error handling and prompting, etc.; it may also include automatic backup, remote compression, post-compression verification, etc. The implementation progress may display information including the total number of files, the number of processed files, the current file progress, whether the compression status is successful, etc.; during the compression operation, the compression task may be paused, terminated, restarted, etc.; the progress display may provide detailed percentages and estimated remaining time, etc. through a progress bar; error handling and prompting may automatically capture and handle possible errors such as file unreadable, compression failure, etc. during the compression process to ensure uninterrupted operation, and provide detailed error prompt information on the interface; in addition, the cause of the error may be analyzed and corresponding improvement strategies may be provided.
[0067] In some embodiments, during batch compression processing, a multi-threaded or asynchronous scheduling algorithm may be used to dynamically allocate resources and improve processing efficiency.
[0068] In some embodiments, the compression operation log may include basic information such as operation time, operation type, operating user, etc.; it may also include file information such as path, size before and after compression, compression ratio, etc.; it may also include compression parameter configuration such as compression method, compression level, and other parameters; it may also include error information and warning information such as codes, messages, files, etc.; it may also include system information such as time, cpu, memory and other information; it may also include other information such as backup information, verification information, configuration files, etc.; the operation log can be saved in text files or .csv files and other formats.
[0069] The second embodiment of the present application provides a file compression method, which is mainly aimed at compressing the executable file of the application. Figure 2 The method provided by the second embodiment includes the following steps S200-S220:
[0070] S200: Select a target executable file in the graphical user interface.
[0071] The user opens the graphical user interface provided in the embodiment of the present application, selects one or more executable files by dragging with an input device such as a mouse or using a file browsing dialog box, and the detailed information of the selected files will be displayed in the operation interface (such as file format, file path, file size, etc.). At the same time, the user can see a thumbnail of the content of the selected file through the preview pane.
[0072] S210: Intelligently recommend UPX, Strip, or a combination of UPX and Strip compression methods, and intelligently recommend compression levels and parameter configurations based on the selection results and file characteristics.
[0073] According to one or more executable files selected by the user, the embodiment of the present application will intelligently and automatically select a compression method; the compression method supports UPX compression, Strip compression, or UPX and Strip combined compression.
[0074] If UPX compression or UPX and Strip compression is selected, users can set the compression level according to their needs (such as fast, standard, maximum compression), or select the preset option. The system can automatically recommend the optimal level based on file characteristics.
[0075] The embodiments of the present application will also intelligently configure compression methods and parameters according to file characteristics such as file size, file format, etc., including the compression level of UPX and whether Strip removes the debugging information and symbol table included therein; when using UPX and Strip in combination for compression, the compression order will also be optimized to ensure the most efficient compression processing.
[0076] When multiple target files are selected, such as .doc, .exe, and .bmp, you can call multiple compression methods at the same time and package them into the target file format (such as zip) after compression.
[0077] S220: Execute a compression operation according to the confirmed compression configuration, and output the compression operation log.
[0078] When multiple target executable files are selected, users can choose whether to use batch processing compression optimization. Through multi-threading or asynchronous scheduling algorithms, multiple files can be processed efficiently, resources can be dynamically allocated, processing speed can be improved, and stability can be ensured.
[0079] When performing compression operations, users can observe the progress, time and estimated time of compression through the compression bar that is updated in real time in the graphical interface. During the compression process, users can pause, terminate, restart and other operations and processes of compression in real time.
[0080] The embodiment of the present application can automatically capture and process possible errors during the compression process, and provide detailed error prompt information on the interface.
[0081] After the compression operation is completed, the embodiment of the present application will display the detailed compression result statistics of each file, including the size before compression, the size after compression, the compression ratio, etc. of each file; it will also provide the time of the compression operation, the configuration parameters used, and the operation results. The user can save the above information as a text file or a .csv file.
[0082] The third embodiment of the present application provides a file compression device, which can be used to implement the file compression method in the above embodiment, such as Figure 3 As shown, the file compression device comprises:
[0083] The file selection module is used to determine the target file selected by the user through the graphical user interface; specifically, the file selection module can be used to implement step S10 in the first embodiment and its optional embodiments.
[0084] The compression configuration module is used to determine the configuration parameters used for the compression operation according to the characteristics of the target file; specifically, the compression configuration module can be used to implement step S20 in the first embodiment and its optional embodiments.
[0085] An execution compression module is used to perform a compression operation on the target file according to the configuration parameters; specifically, the execution compression module can be used to implement step S30 in the first embodiment and its optional embodiments.
[0086] Figure 4 900 is a schematic structural diagram of a computing device 900 provided in an embodiment of the present application. The computing device can execute each optional embodiment of the above method, and the computing device can be a terminal, or a chip or chip system inside the terminal. Figure 4 As shown, the computing device 900 includes: a processor 910 , a memory 920 , and a communication interface 930 .
[0087] It should be understood that Figure 4 The communication interface 930 in the computing device 900 shown may be used to communicate with other devices, and may specifically include one or more transceiver circuits or interface circuits.
[0088] The processor 910 may be connected to a memory 920. The memory 920 may be used to store the program code and data. Therefore, the memory 920 may be a storage unit inside the processor 910, or an external storage unit independent of the processor 910, or a component including a storage unit inside the processor 910 and an external storage unit independent of the processor 910.
[0089] Optionally, the computing device 900 may further include a bus. The memory 920 and the communication interface 930 may be connected to the processor 910 via the bus. The bus may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 A line without an arrow is used to represent the bus, but this does not mean that there is only one bus or one type of bus.
[0090] It should be understood that in the embodiment of the present application, the processor 910 may adopt a central processing unit (CPU). The processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Alternatively, the processor 910 may adopt one or more integrated circuits to execute relevant programs to implement the technical solutions provided in the embodiment of the present application.
[0091] The memory 920 may include a read-only memory and a random access memory, and provides instructions and data to the processor 910. A portion of the processor 910 may also include a nonvolatile random access memory. For example, the processor 910 may also store information on the device type.
[0092] When the computing device 900 is running, the processor 910 executes the computer-executable instructions in the memory 920 to perform any operation step of the above method and any optional embodiment thereof.
[0093] It should be understood that the computing device 900 according to the embodiment of the present application can correspond to the corresponding subjects in the methods according to the embodiments of the present application, and the above-mentioned and other operations and / or functions of each module in the computing device 900 are respectively for implementing the corresponding processes of each method of the present embodiment. For the sake of brevity, they will not be repeated here.
[0094] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0095] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0096] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0097] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0098] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0099] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
Claims
1. A file compression method, characterized in that: include: determining a target file selected by a user through a graphical user interface; Determining configuration parameters used for compression operations according to the target file characteristics; A compression operation is performed on the target file according to the configuration parameters.
2. The method according to claim 1, characterized in that The configuration parameters include: one selected compression method or at least two compression methods used in combination, and compression parameters in the selected compression method.
3. The method according to claim 2, characterized in that The target file characteristic includes a file format. When the file format is an executable file, the determined configuration parameters used in the compression operation include: the selected compression method includes a combination of a UPX compression method and a Strip compression method.
4. The method according to claim 3, characterized in that The compression parameters in the selected compression method include: The compression parameters of the UPX compression method include: compression level corresponding parameters; The compression parameters of the Strip compression method include: whether to remove debugging information and symbol table options; According to the configuration parameters, the target file is processed to remove the debugging information and the symbol table included therein; The processed target file is compressed according to the selected compression level.
5. The method according to claim 2, characterized in that: The step of determining the configuration parameters used for the compression operation according to the target file characteristics includes: When there are multiple target files selected by the user, and when the corresponding target file characteristics include multiple file formats corresponding to the multiple target files, determining that the configuration parameters used for the compression operation include multiple compression methods used in combination, wherein different compression methods match different file formats respectively; The performing a compression operation on the target file according to the configuration parameters includes using the multiple compression methods to respectively perform compression on the matched target files.
6. According to the method described in any one of claims 1 to 5, when there are multiple target files selected by the target user, batch compression processing is performed through a multi-threaded or asynchronous scheduling algorithm to dynamically allocate resources.
7. The method according to any one of claims 1 to 5, further comprising: Generate a log record corresponding to executing the file compression method.
8. The method according to any one of claims 1 to 5, further comprising at least one of the following: Displaying the file format, file path or file size, and creation / modification date of the selected target file through the graphical user interface; The graphical user interface provides an accessory interface for configuring parameters, previews the result of the compression operation, Displaying compression progress and prompting errors during compression through the graphical user interface; The compression operation log includes compression result statistics, compression parameter recording and analysis.
9. A file compression device, characterized in that: include: A file selection module, used for determining a target file selected by a user through a graphical user interface; A compression configuration module, used to determine the configuration parameters used for the compression operation according to the characteristics of the target file; The compression module is used to perform a compression operation on the target file according to the configuration parameters.
10. A computing device, characterized in that include: processor, and A memory having program instructions stored thereon, wherein when the program instructions are executed by the processor, the processor executes the file compression method according to any one of claims 1 to 8.