CN113377386A - Installation package installation method, device and equipment without decompression - Google Patents
Installation package installation method, device and equipment without decompression Download PDFInfo
- Publication number
- CN113377386A CN113377386A CN202110698797.7A CN202110698797A CN113377386A CN 113377386 A CN113377386 A CN 113377386A CN 202110698797 A CN202110698797 A CN 202110698797A CN 113377386 A CN113377386 A CN 113377386A
- Authority
- CN
- China
- Prior art keywords
- file
- file system
- tar
- read
- installation
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种无解压的安装包安装方法、装置以及设备。方案包括:确定待通过包管理器下载的安装包,安装包包含多个tar文件;根据tar文件内的数据,为tar文件生成索引文件;根据索引文件,生成虚拟只读文件系统,并通过联合文件系统将虚拟只读文件系统封装成可读写文件系统;通过可读写文件系统建立安装包相关的读写依赖,以完成对安装包的安装。
The embodiments of this specification disclose a method, device, and device for installing an installation package without decompression. The scheme includes: determining the installation package to be downloaded through the package manager, and the installation package contains multiple tar files; generating an index file for the tar file according to the data in the tar file; generating a virtual read-only file system according to the index file, and combining The file system encapsulates the virtual read-only file system into a readable and writable file system; the read and write dependencies related to the installation package are established through the readable and writable file system to complete the installation of the installation package.
Description
技术领域technical field
本说明书涉及互联网技术领域,尤其涉及一种无解压的安装包安装方法、装置以及设备。This specification relates to the field of Internet technologies, and in particular, to a method, device, and device for installing an installation package without decompression.
背景技术Background technique
包管理器(Node Package Manager,npm)是用于Nodejs的程序包管理和分发的管理工具,能够实现代码的共享,提供各种插件、库和框架的使用便利。The package manager (Node Package Manager, npm) is a management tool for package management and distribution of Nodejs, which can realize the sharing of code and provide the convenience of using various plug-ins, libraries and frameworks.
npm安装包在安装写入系统的过程中,往往包括大量tar文件的下载,tar文件又需要解压为大量对应的被归档文件,而一个Nodejs项目中可能包含上千个tar文件,这导致写入过程耗时较长。In the process of installing and writing the npm installation package to the system, it often includes the download of a large number of tar files, and the tar files need to be decompressed into a large number of corresponding archived files, and a Nodejs project may contain thousands of tar files, which leads to writing The process takes a long time.
基于此,需要更高效的无解压的安装包安装方案。Based on this, a more efficient installation package installation solution without decompression is required.
发明内容SUMMARY OF THE INVENTION
本说明书一个或多个实施例提供一种无解压的安装包安装方法、装置、设备以及存储介质,用以解决如下技术问题:需要更高效的安装包处理方案。One or more embodiments of this specification provide an installation package installation method, apparatus, device, and storage medium without decompression, so as to solve the following technical problem: a more efficient installation package processing solution is required.
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:To solve the above technical problems, one or more embodiments of the present specification are implemented as follows:
本说明书一个或多个实施例提供的一种无解压的安装包安装方法,包括:A method for installing an installation package without decompression provided by one or more embodiments of this specification includes:
确定待通过包管理器下载的安装包,所述安装包包含多个tar文件;Determine the installation package to be downloaded through the package manager, where the installation package contains multiple tar files;
根据所述tar文件内的数据,为所述tar文件生成索引文件;According to the data in the tar file, generate an index file for the tar file;
根据所述索引文件,生成虚拟只读文件系统,并通过联合文件系统将所述虚拟只读文件系统封装成可读写文件系统;generating a virtual read-only file system according to the index file, and encapsulating the virtual read-only file system into a readable and writable file system through a joint file system;
通过所述可读写文件系统建立所述安装包相关的读写依赖,以完成对所述安装包的安装。The read-write dependency related to the installation package is established through the read-write file system, so as to complete the installation of the installation package.
本说明书一个或多个实施例提供的一种无解压的安装包安装装置,包括:An installation package installation device without decompression provided by one or more embodiments of this specification includes:
确定模块,确定待通过包管理器下载的安装包,所述安装包包含多个tar文件;Determine the module, determine the installation package to be downloaded by the package manager, and the installation package contains multiple tar files;
索引生成模块,根据所述tar文件内的数据,为所述tar文件生成索引文件;An index generation module, according to the data in the tar file, generates an index file for the tar file;
系统生成模块,根据所述索引文件,生成虚拟只读文件系统,并通过联合文件系统将所述虚拟只读文件系统封装成可读写文件系统;The system generation module generates a virtual read-only file system according to the index file, and encapsulates the virtual read-only file system into a readable and writable file system through a joint file system;
依赖建立模块,通过所述可读写文件系统建立所述安装包相关的读写依赖,以完成对所述安装包的安装。The dependency establishment module establishes read-write dependencies related to the installation package through the readable and writable file system, so as to complete the installation of the installation package.
本说明书一个或多个实施例提供的一种无解压的安装包安装设备,包括:A device for installing an installation package without decompression provided by one or more embodiments of this specification includes:
至少一个处理器;以及,at least one processor; and,
与所述至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to:
确定待通过包管理器下载的安装包,所述安装包包含多个tar文件;Determine the installation package to be downloaded through the package manager, where the installation package contains multiple tar files;
根据所述tar文件内的数据,为所述tar文件生成索引文件;According to the data in the tar file, generate an index file for the tar file;
根据所述索引文件,生成虚拟只读文件系统,并通过联合文件系统将所述虚拟只读文件系统封装成可读写文件系统;generating a virtual read-only file system according to the index file, and encapsulating the virtual read-only file system into a readable and writable file system through a joint file system;
通过所述可读写文件系统建立所述安装包相关的读写依赖,以完成对所述安装包的安装。The read-write dependency related to the installation package is established through the read-write file system, so as to complete the installation of the installation package.
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:A non-volatile computer storage medium provided by one or more embodiments of this specification stores computer-executable instructions, and the computer-executable instructions are set to:
确定待通过包管理器下载的安装包,所述安装包包含多个tar文件;Determine the installation package to be downloaded through the package manager, where the installation package contains multiple tar files;
根据所述tar文件内的数据,为所述tar文件生成索引文件;According to the data in the tar file, generate an index file for the tar file;
根据所述索引文件,生成虚拟只读文件系统,并通过联合文件系统将所述虚拟只读文件系统封装成可读写文件系统;generating a virtual read-only file system according to the index file, and encapsulating the virtual read-only file system into a readable and writable file system through a joint file system;
通过所述可读写文件系统建立所述安装包相关的读写依赖,以完成对所述安装包的安装。The read-write dependency related to the installation package is established through the read-write file system, so as to complete the installation of the installation package.
本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:在tar文件的下载过程中,不对tar文件中的被归档文件进行解压,极大减少了tar文件的写入时间,提高了安装包的安装速度。同时,根据tar文件内的数据生成索引文件,并通过生成虚拟只读文件系统,使文件系统具有正常的依赖安装目录,解决了不对tar文件进行解压而产生的文件系统自身的依赖安装目录无法正常显示的问题,以在提高安装包的安装速度的同时,能够实现用户对依赖安装目录的正常浏览。同时,通过封装可读写文件系统,使用户还能够对tar文件中的被归档文件进行删除、修改等编辑操作,增强了操作的灵活性,也优化了安装包的安装方式。The above at least one technical solution adopted by one or more embodiments of this specification can achieve the following beneficial effects: in the process of downloading the tar file, the archived files in the tar file are not decompressed, which greatly reduces the writing time of the tar file , which improves the installation speed of the installation package. At the same time, the index file is generated according to the data in the tar file, and the virtual read-only file system is generated, so that the file system has a normal dependent installation directory, which solves the problem that the dependent installation directory of the file system itself cannot be normal due to not decompressing the tar file. The problem is displayed, so as to improve the installation speed of the installation package, and at the same time, it can realize the normal browsing of the dependent installation directory by the user. At the same time, by encapsulating the readable and writable file system, users can also perform editing operations such as deletion and modification of archived files in the tar file, which enhances the flexibility of operations and optimizes the installation method of the installation package.
附图说明Description of drawings
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present specification or the prior art, the following briefly introduces the accompanying drawings required in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only These are some embodiments described in this specification. For those of ordinary skill in the art, other drawings can also be obtained according to these drawings without creative labor.
图1为本说明书一个或多个实施例提供的一种无解压的安装包安装方法的流程示意图;1 is a schematic flowchart of a method for installing an installation package without decompression provided by one or more embodiments of this specification;
图2为本说明书一个或多个实施例提供的一种应用场景下,图1中方法的一种详细流程示意图;FIG. 2 is a detailed schematic flowchart of the method in FIG. 1 under an application scenario provided by one or more embodiments of this specification;
图3为本说明书一个或多个实施例提供的一种文件系统结构示意图;FIG. 3 is a schematic structural diagram of a file system provided by one or more embodiments of this specification;
图4为本说明书一个或多个实施例提供的一种无解压的安装包安装装置的结构示意图;4 is a schematic structural diagram of an installation package installation device without decompression provided by one or more embodiments of this specification;
图5为本说明书一个或多个实施例提供的一种无解压的安装包安装设备的结构示意图。FIG. 5 is a schematic structural diagram of an installation package installation device without decompression provided by one or more embodiments of the present specification.
具体实施方式Detailed ways
本说明书实施例提供一种无解压的安装包安装方法、装置、设备以及存储介质。The embodiments of this specification provide a method, apparatus, device, and storage medium for installing an installation package without decompression.
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。In order to make those skilled in the art better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this specification. Obviously, the described The embodiments are only a part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments of the present specification, all other embodiments obtained by persons of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present application.
在本说明书一个或多个实施例中,考虑通过将tar文件转换为zip文件,通过zip文件自身的性质来实现免解压安装过程,但是这也存在问题,主要在于:若通过zip文件方式实现免解压安装,则在用户界面中,不再能看到正常的依赖安装目录,无法对文件进行浏览和编辑,而且在编程界面中,原有通过文件系统读写依赖的方式不可行,破坏了现有生态。基于此,本方案对该问题也进行解决,以实现更合理更可靠地实现免解压安装。In one or more embodiments of this specification, it is considered that by converting the tar file into a zip file, the decompression-free installation process can be realized by the properties of the zip file itself, but this also has problems, mainly as follows: if the zip file is used to realize the decompression-free installation process Unzip the installation, in the user interface, the normal dependency installation directory can no longer be seen, and the files cannot be browsed and edited, and in the programming interface, the original way of reading and writing dependencies through the file system is not feasible, destroying the existing There is ecology. Based on this, this solution also solves this problem, so as to realize a more reasonable and reliable installation without decompression.
在本说明书一个或多个实施例中,在tar文件的下载过程中,不对tar文件中的被归档文件进行解压(将被归档文件拆出来),极大减少了tar文件的写入时间,提高了安装包的安装速度。同时,根据tar文件内的数据生成索引文件,并通过生成虚拟只读文件系统,使文件系统具有正常的依赖安装目录,解决了不对tar文件进行解压而产生的文件系统自身的依赖安装目录无法正常显示的问题,以在提高安装包的安装速度的同时,能够实现用户对依赖安装目录的正常浏览。同时,通过封装可读写文件系统,使用户还能够对tar文件中的被归档文件进行删除、修改等编辑操作,增强了操作的灵活性,也优化了安装包的安装方式。下面基于这样的思路,具体进行说明。In one or more embodiments of this specification, in the process of downloading the tar file, the archived file in the tar file is not decompressed (the archived file is taken out), which greatly reduces the writing time of the tar file and improves the performance of the tar file. The installation speed of the installation package. At the same time, the index file is generated according to the data in the tar file, and the virtual read-only file system is generated, so that the file system has a normal dependent installation directory, which solves the problem that the dependent installation directory of the file system itself cannot be normal due to not decompressing the tar file. The problem is displayed, so as to improve the installation speed of the installation package, and at the same time, it can realize the normal browsing of the dependent installation directory by the user. At the same time, by encapsulating the readable and writable file system, users can also perform editing operations such as deletion and modification of archived files in the tar file, which enhances the flexibility of operations and optimizes the installation method of the installation package. Based on such an idea, a specific description will be given below.
图1为本说明书一个或多个实施例提供的一种无解压的安装包安装方法的流程示意图。该方法可以应用于不同的业务领域,比如,即时通讯业务领域、公务业务领域等。该流程可以由相应领域的计算设备执行,流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。FIG. 1 is a schematic flowchart of a method for installing an installation package without decompression provided by one or more embodiments of the present specification. The method can be applied to different business fields, such as instant messaging business field, official business field, and so on. The process can be performed by computing devices in the corresponding field, and certain input parameters or intermediate results in the process allow manual intervention adjustments to help improve accuracy.
图1中的流程可以包括以下步骤:The flow in Figure 1 can include the following steps:
S102:确定待通过包管理器下载的安装包,所述安装包包含多个tar文件。S102: Determine an installation package to be downloaded through the package manager, where the installation package includes multiple tar files.
通过包管理器集成管理多个数据源,可确定来自不同数据源的待下载的安装包。安装包中含有成百上千、甚至更多的tar文件,在安装包下载的过程中,tar文件按照一定的顺序进行下载并依次写入文件系统。Integrated management of multiple data sources through the package manager can determine the installation packages to be downloaded from different data sources. The installation package contains hundreds or even more tar files. During the download of the installation package, the tar files are downloaded in a certain order and written to the file system in turn.
在Unix系统、类Unix系统中,通过将多个文件、目录打包归档为一个总的文件,得到tar文件(也称为tar包、归档文件),以便后续再对tar文件进行压缩等操作。tar文件一般进行文件合并而不进一步压缩,可看做被归档文件(即源文件)的集合。在将tar文件写入文件系统的过程中,需要对tar文件进行解压,得到其中包含的多个被归档文件。并且,在解压过程中,根据被归档文件在tar文件中的位置,确定被归档文件在文件系统中的写入位置,并基于文件系统原有的机制,建立被归档文件在文件系统内的读写依赖,得到依赖安装目录,以实现对tar文件中合并的被归档文件的解压,以及实现对安装包的安装。In Unix systems and Unix-like systems, a tar file (also called a tar package or an archive file) is obtained by packaging and archiving multiple files and directories into a total file, so as to compress the tar file later. Tar files are generally merged without further compression, and can be regarded as a collection of archived files (ie, source files). In the process of writing the tar file to the file system, the tar file needs to be decompressed to obtain multiple archived files contained therein. In addition, during the decompression process, according to the location of the archived file in the tar file, determine the write position of the archived file in the file system, and establish the read-write position of the archived file in the file system based on the original mechanism of the file system. Write dependencies, get the dependency installation directory, to realize the decompression of the archived files merged in the tar file, and to realize the installation of the installation package.
tar文件中的被归档文件按照顺序排列,并按照顺序下载。tar文件包括多个被归档文件的tar头结构(即头文件)以及对应的文件内容。比如,tar包中包括两个文件,则tar包首先存放第一个文件的tar头结构,然后存储文件内容,接着存储第二个文件的tar头结构,然后存储文件内容。The archived files in the tar file are arranged in order and downloaded in order. A tar file includes the tar header structures (ie header files) of multiple archived files and the corresponding file contents. For example, if the tar package contains two files, the tar package first stores the tar header structure of the first file, then stores the file content, then stores the tar header structure of the second file, and then stores the file content.
针对Nodejs的包管理器有npm,在一个Nodejs项目中,通过npm下载的安装包可包含上千个tar文件,每个tar文件中包含多个被归档文件。The package manager for Nodejs is npm. In a Nodejs project, the installation package downloaded through npm can contain thousands of tar files, and each tar file contains multiple archived files.
S104:根据所述tar文件内的数据,为所述tar文件生成索引文件。S104: Generate an index file for the tar file according to the data in the tar file.
为了减少安装包中多个tar文件逐个解压时所产生的向文件系统的写入时间,优化安装包的安装方式,提升安装包的安装速度,本方案不再对安装包中的tar文件进行解压。但是,由于不对tar文件中的被归档文件进行解压,使得文件系统无法通过系统原有的索引方式,实现对文件系统中安装的被归档文件的索引,也无法在用户界面中正常显示对应的依赖安装目录。In order to reduce the writing time to the file system when multiple tar files in the installation package are decompressed one by one, optimize the installation method of the installation package, and improve the installation speed of the installation package, this solution no longer decompresses the tar files in the installation package. . However, because the archived files in the tar file are not decompressed, the file system cannot index the archived files installed in the file system through the original indexing method of the system, and the corresponding dependencies cannot be displayed normally in the user interface. installation manual.
因此,本方案在将tar文件写入文件系统的过程中,根据tar文件内的数据(即被归档文件),为tar文件生成索引文件,以通过索引文件对tar文件内的数据进行索引。索引文件与tar文件中被归档文件的位置相关联,作为浏览查看、编辑相应被归档文件的依据,便于用户对文件系统中的tar文件的浏览、查询操作。Therefore, in the process of writing the tar file into the file system, this solution generates an index file for the tar file according to the data in the tar file (ie, the archived file), so as to index the data in the tar file through the index file. The index file is associated with the location of the archived file in the tar file, and serves as the basis for browsing, viewing, and editing the corresponding archived file, which is convenient for users to browse and query the tar file in the file system.
S106:根据所述索引文件,生成虚拟只读文件系统,并通过联合文件系统将所述虚拟只读文件系统封装成可读写文件系统。S106: Generate a virtual read-only file system according to the index file, and encapsulate the virtual read-only file system into a readable and writable file system through a joint file system.
在本说明书一个或多个实施例中,可将索引文件写入文件系统的相应目录,形成依赖安装目录。比如,构建包含tar目录(tar dir)的虚拟可读文件系统,将索引文件写入tar目录(tar dir)中,在这种情况下,tar dir比如包括tars和tar toc,tars表示当前所有的tar包,tar toc表示已写入的索引文件。In one or more embodiments of this specification, the index file may be written into a corresponding directory of the file system to form a dependent installation directory. For example, build a virtual readable file system containing the tar directory (tar dir), and write the index file into the tar directory (tar dir). In this case, the tar dir includes, for example, tars and tar toc. tar package, tar toc represents the written index file.
在文件系统无法通过系统原有的索引方式,实现对文件系统中安装的被归档文件的索引的情况下,为了便于用户通过用户界面浏览文件系统中的文件,发挥索引文件的作用,本方案基于S104中生成的索引文件,生成相应的虚拟只读文件系统,以使用户能够通过虚拟只读文件系统,在用户界面中浏览查询文件系统中的tar文件内的数据。In the case that the file system cannot index the archived files installed in the file system through the original indexing method of the system, in order to facilitate users to browse the files in the file system through the user interface and play the role of index files, this solution is based on For the index file generated in S104, a corresponding virtual read-only file system is generated, so that the user can browse and query the data in the tar file in the file system through the virtual read-only file system in the user interface.
另外,为了实现用户对文件系统中的文件的编辑操作,通过联合文件系统(UnionFile System,Union FS)将虚拟只读文件系统封装成可读写文件系统,以使用户能够基于可读写文件系统,对tar文件既能够进行浏览操作,又能够进行删除、修改等编辑操作。In addition, in order to realize the user's editing operation on the files in the file system, the virtual read-only file system is encapsulated into a readable and writable file system through the Union File System (Union File System, Union FS), so that users can , the tar file can be browsed, deleted, modified and other editing operations.
Union FS用于将多个不同位置的目录联合挂载到同一个目录下。在本方案中,首先将虚拟只读文件系统挂载完毕后,利用联合挂载技术在已有的虚拟只读文件系统上再挂载一个可读写层,使可读写层处于文件系统的最顶层,可读写层下也可联合挂载多个只读层。在文件系统运行过程中,若用户对文件系统中的文件进行编辑,会将变化的文件内容写到可读写层,并隐藏虚拟只读文件系统中的旧版本文件。Union FS is used to jointly mount multiple directories in different locations into the same directory. In this solution, after the virtual read-only file system is mounted first, a read-write layer is mounted on the existing virtual read-only file system by using the joint mounting technology, so that the read-write layer is located in the file system. At the top level, multiple read-only layers can also be mounted jointly under the read-write layer. During the operation of the file system, if a user edits a file in the file system, the changed file content will be written to the read-write layer, and the old version of the file in the virtual read-only file system will be hidden.
S108:通过所述可读写文件系统建立所述安装包相关的读写依赖,以完成对所述安装包的安装。S108: Establish a read-write dependency related to the installation package through the read-write file system, so as to complete the installation of the installation package.
通过可读写文件系统在文件系统中建立安装包相关的读写依赖,使文件系统能够明确安装包中的文件与文件系统中其他文件之间的读写依赖关系,则完成对安装包的安装。The read and write dependencies related to the installation package are established in the file system through the readable and writable file system, so that the file system can clarify the read and write dependencies between the files in the installation package and other files in the file system, and then the installation of the installation package is completed. .
通过图1的方法,在tar文件的下载过程中,不对tar文件中的被归档文件进行解压,极大减少了tar文件的写入时间,提高了安装包的安装速度。同时,根据tar文件内的数据生成索引文件,并通过生成虚拟只读文件系统,使文件系统具有正常的依赖安装目录,解决了不对tar文件进行解压而产生的文件系统自身的依赖安装目录无法正常显示的问题,以在提高安装包的安装速度的同时,能够实现用户对依赖安装目录的正常浏览。同时,通过封装可读写文件系统,使用户还能够对tar文件中的被归档文件进行删除、修改等编辑操作,增强了操作的灵活性,也优化了安装包的安装方式。Through the method in Figure 1, in the process of downloading the tar file, the archived files in the tar file are not decompressed, which greatly reduces the writing time of the tar file and improves the installation speed of the installation package. At the same time, the index file is generated according to the data in the tar file, and the virtual read-only file system is generated, so that the file system has a normal dependent installation directory, which solves the problem that the dependent installation directory of the file system itself cannot be normal due to not decompressing the tar file. The problem is displayed, so as to improve the installation speed of the installation package, and at the same time, it can realize the normal browsing of the dependent installation directory by the user. At the same time, by encapsulating the readable and writable file system, users can also perform editing operations such as deletion and modification of archived files in the tar file, which enhances the flexibility of operations and optimizes the installation method of the installation package.
基于图1的方法,本说明书还提供了该方法的一些具体实施方案和扩展方案,下面继续进行说明。Based on the method in FIG. 1 , the present specification also provides some specific implementations and extensions of the method, which will be described below.
在本说明书一个或多个实施例中,若一次性对安装包中的tar文件整体进行下载和写入,会使得将tar文件写入文件系统的过程较为缓慢,耗时较长,且容易导致内存溢出。因此,通过流式读取的方式,以数据流的形式对tar文件进行下载,边下载边对tar文件中的被归档文件进行读取解压,并根据读取的顺序,将先解压得到的tar文件先写入文件系统中,在将部分被归档文件写入文件系统后即可释放对应的内存,这样能够提高文件写入速度,减少写入时间,还能占用较小的内容,避免内存溢出的问题。In one or more embodiments of this specification, if the entire tar file in the installation package is downloaded and written at one time, the process of writing the tar file into the file system will be slow, time-consuming, and easily lead to Out of memory. Therefore, by streaming reading, download the tar file in the form of a data stream, read and decompress the archived files in the tar file while downloading, and decompress the tar file obtained first according to the reading order. The file is written to the file system first, and the corresponding memory can be released after some archived files are written into the file system, which can improve the file writing speed, reduce the writing time, and occupy a small amount of content to avoid memory overflow. The problem.
在tar文件的下载过程中,对下载部分进行流式读取,以确定tar文件中的被归档文件的所在位置。根据各被归档文件的所在位置生成对应的索引文件,用于索引被归档文件,便于后续对被归档文件的浏览。During the download of the tar file, the downloaded part is streamed to determine the location of the archived file in the tar file. A corresponding index file is generated according to the location of each archived file, which is used to index the archived file, so as to facilitate subsequent browsing of the archived file.
通过流式读取,拆分性的对tar文件中部分已下载的文件进行处理,边下载边处理,可避免对tar文件进行整体下载时的耗时过久的问题,能够减少tar文件的下载时间,提高安装包的安装速度。Through streaming reading, part of the downloaded files in the tar file can be processed separately and processed while downloading, which can avoid the problem of taking too long to download the tar file as a whole, and can reduce the download of tar files. time, improve the installation speed of the installation package.
进一步地,索引文件包括被归档文件在tar文件中的二进制偏移量。根据被归档文件在tar文件中的二进制偏移量,可更高效地确定被归档文件的位置信息,作为浏览查询被归档文件的依据。Further, the index file includes the binary offset of the archived file in the tar file. According to the binary offset of the archived file in the tar file, the location information of the archived file can be determined more efficiently, which can be used as the basis for browsing and querying the archived file.
在本说明书一个或多个实施例中,为了实现在无解压的情况下,对tar文件中被归档文件的可浏览操作,可通过用户空间文件系统(File system in User space,fuse),根据索引文件生成虚拟只读文件系统,使用户通过虚拟只读文件系统对被归档文件进行浏览。In one or more embodiments of this specification, in order to realize the browsable operation of the archived files in the tar file without decompression, the user space file system (File system in User space, fuse) can be used, according to the index The file generates a virtual read-only file system, allowing users to browse the archived files through the virtual read-only file system.
fuse文件系统是Linux系统中用于挂载网络空间到本地文件系统的模块,比如将SSH挂载到本地文件系统。通过fuse内核模块的支持,根据fuse文件系统提供的接口实现具体的文件操作即可实现虚拟只读文件系统的构建。The fuse file system is a module used in Linux systems to mount the network space to the local file system, such as SSH to the local file system. With the support of the fuse kernel module, the construction of a virtual read-only file system can be realized by implementing specific file operations according to the interface provided by the fuse file system.
进一步地,为了实现在无解压的情况下,对tar文件中被归档文件的可编辑操作,可通过overlay文件系统覆盖在虚拟只读文件系统上,以将虚拟只读文件系统封装成可读写文件系统。用户可通过可读写文件系统对被归档文件进行读取浏览,同时进行编辑修改。Further, in order to realize the editable operation of the archived file in the tar file without decompression, the virtual read-only file system can be overwritten by the overlay file system to encapsulate the virtual read-only file system into a readable and writable file system. File system. Users can read and browse the archived files through the readable and writable file system, and edit and modify them at the same time.
overlay文件系统是一种新型的联合文件系统,通常包含两个文件系统:upper文件系统(upper dir)和lower文件系统(lower dir)。upper文件系统是可写的,lower文件系统是只读的。upper文件系统中存在的文件会覆盖lower中的同名文件,但对于目录来说,同名文件会被覆盖,不同名文件会进行合并。其中,lower文件系统可以是任意Linux系统支持的文件系统。因此,在本方案中将虚拟只读文件系统作为lower文件系统。The overlay file system is a new type of union file system that usually contains two file systems: the upper file system (upper dir) and the lower file system (lower dir). The upper file system is writable, and the lower file system is read-only. The file existing in the upper file system will overwrite the file with the same name in the lower, but for the directory, the file with the same name will be overwritten, and the files with different names will be merged. The lower file system can be any file system supported by the Linux system. Therefore, in this solution, the virtual read-only file system is used as the lower file system.
在本方案中,upper文件系统可用于进行文件浏览和编辑,虚拟只读文件系统只用于进行文件浏览。在初始情况下,upper文件系统和虚拟只读文件系统中的文件是一致的,并且在后续文件系统的使用过程中,尽量保持upper文件系统和虚拟只读文件系统中文件的一致性。In this solution, the upper file system can be used for file browsing and editing, and the virtual read-only file system is only used for file browsing. In the initial situation, the files in the upper file system and the virtual read-only file system are consistent, and in the subsequent use of the file system, try to maintain the consistency of the files in the upper file system and the virtual read-only file system.
具体地,在文件系统的使用过程中,用户在进行浏览文件操作时,若upper文件系统中不存在文件而虚拟只读文件系统中存在文件时,从虚拟只读文件系统进行文件浏览;若upper文件系统中存在文件而虚拟只读文件系统中不存在文件时,从upper文件系统进行文件浏览;若虚拟只读文件系统和upper文件系统中都存在文件时,从upper文件系统进行文件浏览。Specifically, during the use of the file system, when the user performs a file browsing operation, if there is no file in the upper file system but there is a file in the virtual read-only file system, file browsing is performed from the virtual read-only file system; If there is a file in the file system but no file exists in the virtual read-only file system, file browsing is performed from the upper file system; if there are files in both the virtual read-only file system and the upper file system, file browsing is performed from the upper file system.
用户在进行编辑修改文件操作时,若文件只存在于upper文件系统中,则从upper文件系统进行文件编辑;若文件分别存在于虚拟只读文件系统和upper文件系统,则从upper文件系统进行文件编辑;若文件只存在于虚拟只读文件系统,则通过copy_up操作,先从虚拟只读文件系统中将文件复制一份到upper文件系统中,同时为文件创建一个硬链接,再从upper文件系统进行文件编辑,即,upper文件系统目录下生成了两个新文件,对文件的编辑操作只对从upper文件系统中的文件生效,虚拟只读文件系统中的文件不变。When a user edits and modifies a file, if the file only exists in the upper file system, the file is edited from the upper file system; if the file exists in the virtual read-only file system and the upper file system, the file is edited from the upper file system. Edit; if the file only exists in the virtual read-only file system, through the copy_up operation, first copy the file from the virtual read-only file system to the upper file system, create a hard link for the file, and then copy the file from the upper file system. Perform file editing, that is, two new files are generated in the upper file system directory. The file editing operation only takes effect on the files in the upper file system, and the files in the virtual read-only file system remain unchanged.
用户在进行删除文件操作时,若文件分别存在于虚拟只读文件系统和upper文件系统中,则upper文件系统中的文件会被删除,并在upper文件系统目录下创建“without”文件,而虚拟只读文件系统中的文件不会被删除;若文件只存在于虚拟只读文件系统中,则会根据该文件在upper文件系统目录下创建“without”文件,作为该文件已经从upper文件系统中被删除的标记,而虚拟只读文件系统中的文件不会被删除。若需要删除虚拟只读文件系统和upper文件系统中均存在的目录时,upper文件系统中的目录会被删除,并在upper文件系统的目录下创建类似“without”文件的“opaque”目录,而虚拟只读文件系统中的目录不会被删除。When a user deletes a file, if the file exists in the virtual read-only file system and the upper file system, the file in the upper file system will be deleted, and a "without" file will be created in the upper file system directory, while the virtual file system will be deleted. The file in the read-only file system will not be deleted; if the file only exists in the virtual read-only file system, a "without" file will be created in the upper file system directory according to the file, as the file has been removed from the upper file system. is marked for deletion, while files in virtual read-only filesystems are not deleted. If you need to delete a directory that exists in both the virtual read-only file system and the upper file system, the directory in the upper file system will be deleted, and an "opaque" directory similar to the "without" file will be created in the directory of the upper file system, and Directories in virtual read-only filesystems are not deleted.
通过上述对文件系统中的文件的操作,可得,由于虚拟只读文件系统为只读系统,因此,针对文件和目录的编辑操作均是针对upper文件系统中的文件或目录进行的。在对overlay文件系统做变更时,都只会修改upper文件系统中的文件。Through the above operations on the files in the file system, it can be obtained that since the virtual read-only file system is a read-only system, the editing operations on files and directories are all performed on the files or directories in the upper file system. When making changes to the overlay file system, only the files in the upper file system are modified.
更进一步地,在安装包的安装过程中或者安装之后,通过可读写文件系统或者虚拟只读文件系统,可在用户界面展示安装包当前对应的依赖安装目录;以及,响应于用户针对依赖安装目录的指令,通过可读写文件系统对tar文件进行编辑。Further, during or after the installation of the installation package, through the readable and writable file system or the virtual read-only file system, the current dependent installation directory corresponding to the installation package can be displayed on the user interface; Directory directives to edit tar files through a readable and writable filesystem.
在本说明书一个或多个实施例中,根据文件系统中与安装包相关的读写依赖,从多个tar文件中选择一部分有依赖关系的tar文件,将这部分有依赖关系的tar文件进行拼接,得到拼接tar文件。为拼接tar文件生成索引文件,并更新至虚拟只读文件系统。有依赖关系的tar文件之间存在关联关系,通过对具有依赖关系的tar文件进行拼接得到拼接tar文件,并生成与拼接tar文件对应的索引文件,有利于为用户对tar文件的索引提供便利,也便于文件系统对部分有依赖关系的tar文件进行查询。In one or more embodiments of this specification, according to the read and write dependencies related to the installation package in the file system, a part of tar files with dependencies are selected from multiple tar files, and the part of tar files with dependencies are spliced together , to get the concatenated tar file. Generate an index file for the concatenated tar file and update it to a virtual read-only file system. There is an association relationship between tar files with dependencies. The spliced tar files are obtained by splicing the tar files with dependencies, and an index file corresponding to the spliced tar files is generated, which is conducive to providing convenience for users to index tar files. It is also convenient for the file system to query some tar files with dependencies.
基于对tar文件的顺序下载,则在拼接过程中,也根据有依赖关系的tar文件的顺序和位置,对tar文件进行拼接,得到对应的拼接tar文件,以便于实现对tar文件的正确安装与浏览。Based on the sequential download of tar files, during the splicing process, the tar files are also spliced according to the order and position of the dependent tar files to obtain the corresponding spliced tar files, so as to realize the correct installation and Browse.
在本说明书一个或多个实施例中,在实际应用中,有些安装包可能会频繁更新,尤其是测试性质的安装包或者处于研发需要分支版本较多的安装包,对于这样的安装包,为了便于更新提高安装效率,考虑不进行持久化安装,而是借用包管理器的缓存,保持一种动态安装随时待更新的状态。基于此,可以确定分配给所述包管理器的缓存,通过可读写文件系统在缓存中建立所述安装包相关的读写依赖,当然,虚拟只读文件系统、可读写文件系统可以直接构建于该缓存中,从而后续的更新安装可以不出包管理器就可以完成,而且读写效率更高。In one or more embodiments of this specification, in practical applications, some installation packages may be updated frequently, especially installation packages of a testing nature or installation packages that require more branch versions in research and development. For such installation packages, in order to It is convenient to update and improve the installation efficiency. Consider not to perform persistent installation, but to borrow the cache of the package manager to maintain a state of dynamic installation waiting to be updated at any time. Based on this, the cache allocated to the package manager can be determined, and the read-write dependencies related to the installation package can be established in the cache through the read-write file system. Of course, the virtual read-only file system and the read-write file system can directly It is built in this cache, so that subsequent update installations can be completed without the package manager, and the read and write efficiency is higher.
结合前面的说明,本说明书一个或多个实施例提供了一种应用场景下,图1中方法的一种详细流程示意图,该流程中使用了前面一些可选的方案,该流程如图2所示。In combination with the foregoing description, one or more embodiments of this specification provide a detailed flowchart of the method in FIG. 1 under an application scenario, and some of the previous optional solutions are used in the process, and the process is shown in FIG. 2 . Show.
在图2的流程中,待安装的安装包中包括上千个tar文件,在不对tar文件中的被归档文件解压的情况下,为了实现对被归档文件的浏览,根据tar文件中的被归档文件(即源文件)生成对应的索引文件,用于对被归档文件进行索引。In the process of Figure 2, the installation package to be installed includes thousands of tar files. Without decompressing the archived files in the tar file, in order to realize the browsing of the archived files, according to the archived files in the tar file The file (ie, the source file) generates a corresponding index file for indexing the archived file.
根据索引文件,生成fuse文件系统。fuse文件系统为虚拟的只读文件系统,可用于对安装的tar文件中的被归档文件进行浏览查询。According to the index file, generate the fuse file system. The fuse file system is a virtual read-only file system that can be used to browse and query the archived files in the installed tar file.
将fuse文件系统封装为overlay文件系统,overlay文件系统为可读写的文件系统,通过封装,使用户能够通过overlay文件系统对安装的tar文件中的被归档文件进行修改、删除等编辑操作。The fuse file system is encapsulated as an overlay file system, and the overlay file system is a readable and writable file system. Through the encapsulation, users can modify and delete the archived files in the installed tar file through the overlay file system. Edit operations.
在安装过程中或安装后,通过overlay文件系统建立与安装包相关的读写依赖,以完成安装包的安装过程。During the installation process or after the installation, the read and write dependencies related to the installation package are established through the overlay file system to complete the installation process of the installation package.
通过fuse文件系统或overlay文件系统,可对建立的读写依赖的相关目录(即依赖安装目录)在用户界面中进行展示,便于用户对文件系统中安装的tar文件内的数据进行浏览、查看。Through the fuse file system or the overlay file system, the established read-write dependent directories (ie, dependent installation directories) can be displayed in the user interface, so that users can browse and view the data in the tar file installed in the file system.
通过overlay文件系统,可基于用户针对依赖安装目录的指令,对相应的tar文件进行修改、删除等编辑操作。Through the overlay file system, editing operations such as modification and deletion of the corresponding tar file can be performed based on the user's instructions for the dependent installation directory.
结合前面的说明,本说明书一个或多个实施例提供了一种文件系统结构示意图,如图3所示。With reference to the foregoing description, one or more embodiments of this specification provide a schematic structural diagram of a file system, as shown in FIG. 3 .
在图3所示的文件系统中,通过fuse文件系统,根据索引文件,生成虚拟只读文件系统,用户可通过fuse文件系统对安装进系统中的tar文件中的数据(即被归档文件)进行浏览查询。In the file system shown in Figure 3, through the fuse file system, a virtual read-only file system is generated according to the index file, and the user can use the fuse file system to perform operations on the data in the tar file (that is, the archived file) installed in the system. Browse queries.
文件系统中的tar目录可用于写入索引文件,tar目录中包括tars和tar toc,tars可以用于提供基于tars协议的开发框架,tar toc可以用于生成目录。The tar directory in the file system can be used to write index files. The tar directory includes tars and tar toc. tars can be used to provide a development framework based on the tars protocol, and tar toc can be used to generate directories.
通过overlay文件系统,对fuse文件系统进行封装,生成可读写文件系统,用户可通过overlay文件系统对安装进系统中的tar文件中的数据进行浏览、编辑等操作。其中,overlay文件系统包括upper文件系统和fuse文件系统(比如作为lower文件系统使用),worker目录用于overlay运行过程中的文件。Through the overlay file system, the fuse file system is encapsulated to generate a readable and writable file system. Users can browse and edit the data in the tar file installed in the system through the overlay file system. Among them, the overlay file system includes the upper file system and the fuse file system (for example, it is used as the lower file system), and the worker directory is used for files during the operation of the overlay.
基于同样的思路,本说明书一个或多个实施例还提供了上述方法对应的装置和设备,如图4、图5所示。Based on the same idea, one or more embodiments of the present specification also provide apparatuses and devices corresponding to the foregoing methods, as shown in FIG. 4 and FIG. 5 .
图4为本说明书一个或多个实施例提供的一种无解压的安装包安装装置的结构示意图,所述装置包括:4 is a schematic structural diagram of an installation package installation device without decompression provided by one or more embodiments of the present specification, and the device includes:
确定模块402,确定待通过包管理器下载的安装包,所述安装包包含多个tar文件;Determining
索引生成模块404,根据所述tar文件内的数据,为所述tar文件生成索引文件;The
系统生成模块406,根据所述索引文件,生成虚拟只读文件系统,并通过联合文件系统将所述虚拟只读文件系统封装成可读写文件系统;The
依赖建立模块408,通过所述可读写文件系统建立所述安装包相关的读写依赖,以完成对所述安装包的安装。The
可选地,所述索引生成模块404,在所述tar文件的下载过程中,对下载部分进行流式读取,以确定所述tar文件中的被归档文件的所在位置;根据所述所在位置生成对应的索引文件,用于索引所述被归档文件。Optionally, the
可选地,所述索引文件包括所述被归档文件在所述tar文件中的二进制偏移量。Optionally, the index file includes the binary offset of the archived file in the tar file.
可选地,所述系统生成模块406,通过fuse文件系统,根据所述索引文件生成虚拟只读文件系统;通过overlay文件系统,将所述虚拟只读文件系统封装成可读写文件系统。Optionally, the
可选地,所述装置还包括展示编辑模块410;所述展示编辑模块410在所述安装包的安装过程中或者安装之后,执行:通过所述可读写文件系统或者所述虚拟只读文件系统,在用户界面展示所述安装包当前对应的依赖安装目录;以及,响应于用户针对所述依赖安装目录的指令,通过所述可读写文件系统对所述tar文件进行编辑。Optionally, the apparatus further includes a
可选地,所述装置还包括拼接模块412;所述拼接模块412,根据所述读写依赖,从所述多个tar文件中选择一部分有依赖关系的tar文件;将所述一部分有依赖关系的tar文件进行拼接,得到拼接tar文件;为所述拼接tar文件生成索引文件,并更新至所述虚拟只读文件系统。Optionally, the device further includes a
可选地,所述依赖建立模块408,确定分配给所述包管理器的缓存;Optionally, the
通过所述可读写文件系统在所述缓存中建立所述安装包相关的读写依赖。A read-write dependency related to the installation package is established in the cache through the read-write file system.
可选地,所述包管理器包括Nodejs下的npm包管理器。Optionally, the package manager includes an npm package manager under Nodejs.
图5为本说明书一个或多个实施例提供的一种无解压的安装包安装设备的结构示意图,所述设备包括:FIG. 5 is a schematic structural diagram of an installation package installation device without decompression provided by one or more embodiments of this specification, and the device includes:
至少一个处理器;以及,at least one processor; and,
与所述至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to:
确定待通过包管理器下载的安装包,所述安装包包含多个tar文件;Determine the installation package to be downloaded through the package manager, where the installation package contains multiple tar files;
根据所述tar文件内的数据,为所述tar文件生成索引文件;According to the data in the tar file, generate an index file for the tar file;
根据所述索引文件,生成虚拟只读文件系统,并通过联合文件系统将所述虚拟只读文件系统封装成可读写文件系统;generating a virtual read-only file system according to the index file, and encapsulating the virtual read-only file system into a readable and writable file system through a joint file system;
通过所述可读写文件系统建立所述安装包相关的读写依赖,以完成对所述安装包的安装。The read-write dependency related to the installation package is established through the read-write file system, so as to complete the installation of the installation package.
基于同样的思路,本说明书一个或多个实施例还提供了对应于上述方法的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:Based on the same idea, one or more embodiments of this specification also provide a non-volatile computer storage medium corresponding to the above method, storing computer-executable instructions, and the computer-executable instructions are set to:
确定待通过包管理器下载的安装包,所述安装包包含多个tar文件;Determine the installation package to be downloaded through the package manager, where the installation package contains multiple tar files;
根据所述tar文件内的数据,为所述tar文件生成索引文件;According to the data in the tar file, generate an index file for the tar file;
根据所述索引文件,生成虚拟只读文件系统,并通过联合文件系统将所述虚拟只读文件系统封装成可读写文件系统;generating a virtual read-only file system according to the index file, and encapsulating the virtual read-only file system into a readable and writable file system through a joint file system;
通过所述可读写文件系统建立所述安装包相关的读写依赖,以完成对所述安装包的安装。The read-write dependency related to the installation package is established through the read-write file system, so as to complete the installation of the installation package.
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。In the 1990s, improvements in a technology could be clearly differentiated between improvements in hardware (eg, improvements to circuit structures such as diodes, transistors, switches, etc.) or improvements in software (improvements in method flow). However, with the development of technology, the improvement of many methods and processes today can be regarded as a direct improvement of the hardware circuit structure. Designers almost get the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be realized by hardware entity modules. For example, a Programmable Logic Device (PLD) (eg, Field Programmable Gate Array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device. It is programmed by the designer to "integrate" a digital system on a PLD without having to ask the chip manufacturer to design and manufacture a dedicated integrated circuit chip. And, instead of making integrated circuit chips by hand, these days, much of this programming is done using software called a "logic compiler", which is similar to the software compiler used in program development and writing, but before compiling The original code also has to be written in a specific programming language, which is called Hardware Description Language (HDL), and there is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language) , AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (RubyHardware Description Language), etc. The most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. It should also be clear to those skilled in the art that a hardware circuit for implementing the logic method process can be easily obtained by simply programming the method process in the above-mentioned several hardware description languages and programming it into the integrated circuit.
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。The controller may be implemented in any suitable manner, for example, the controller may take the form of eg a microprocessor or processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (ASICs), programmable logic controllers and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicon Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that, in addition to implementing the controller in the form of pure computer-readable program code, the controller can be implemented as logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded devices by logically programming the method steps. The same function can be realized in the form of a microcontroller, etc. Therefore, such a controller can be regarded as a hardware component, and the devices included therein for realizing various functions can also be regarded as a structure within the hardware component. Or even, the means for implementing various functions can be regarded as both a software module implementing a method and a structure within a hardware component.
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。The systems, devices, modules or units described in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or A combination of any of these devices.
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。For the convenience of description, when describing the above device, the functions are divided into various units and described respectively. Of course, when implementing this specification, the functions of each unit may be implemented in one or more software and/or hardware.
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。As will be appreciated by one skilled in the art, the embodiments of the present specification may be provided as a method, a system, or a computer program product. Accordingly, embodiments of this specification may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The specification is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the specification. It will be understood that each flow and/or block in the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions The apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。Memory may include non-persistent memory in computer readable media, random access memory (RAM) and/or non-volatile memory in the form of, for example, read only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology. Information may be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device comprising a series of elements includes not only those elements, but also Other elements not expressly listed, or which are inherent to such a process, method, article of manufacture, or apparatus are also included. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article of manufacture, or device that includes the element.
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。This specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a progressive manner, and the same and similar parts between the various embodiments may be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the apparatus, equipment, and non-volatile computer storage medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and reference may be made to some descriptions of the method embodiments for related parts.
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。The foregoing describes specific embodiments of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that in the embodiments and still achieve desirable results. Additionally, the processes depicted in the figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。The above descriptions are merely one or more embodiments of the present specification, and are not intended to limit the present specification. Various modifications and variations of the one or more embodiments of this specification are possible for those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of one or more embodiments of this specification should be included within the scope of the claims of this specification.
Claims (17)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110698797.7A CN113377386B (en) | 2021-06-23 | 2021-06-23 | Installation package installation method, device and equipment without decompression |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110698797.7A CN113377386B (en) | 2021-06-23 | 2021-06-23 | Installation package installation method, device and equipment without decompression |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN113377386A true CN113377386A (en) | 2021-09-10 |
| CN113377386B CN113377386B (en) | 2022-10-18 |
Family
ID=77578713
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110698797.7A Active CN113377386B (en) | 2021-06-23 | 2021-06-23 | Installation package installation method, device and equipment without decompression |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN113377386B (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115373701A (en) * | 2022-08-25 | 2022-11-22 | 福建天晴在线互动科技有限公司 | A method and system for rapid software installation |
| CN116048558A (en) * | 2023-01-12 | 2023-05-02 | 支付宝(杭州)信息技术有限公司 | Installation method, device and equipment of an installation package |
| CN117097721A (en) * | 2023-10-19 | 2023-11-21 | 北京天信瑞安信息技术有限公司 | File transmission method, system and readable storage medium |
Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040059703A1 (en) * | 2002-09-23 | 2004-03-25 | Jerry Chappell | Cascading behavior of package generation/installation based on variable parameters |
| CN101964035A (en) * | 2010-10-11 | 2011-02-02 | 深圳创维-Rgb电子有限公司 | Linux operating system file safety system and electronic device |
| CN102567051A (en) * | 2011-12-14 | 2012-07-11 | 中标软件有限公司 | Method and device for preparing graphical installation system of Loongson platform |
| CN103150402A (en) * | 2013-03-27 | 2013-06-12 | 网宿科技股份有限公司 | Index-code-based virtual file system, establishment method and access method |
| CN104765618A (en) * | 2015-05-06 | 2015-07-08 | 山东中孚信息产业股份有限公司 | Manufacturing method and decompression installation method of Linux system self-decompression installation packet |
| CN105718538A (en) * | 2016-01-18 | 2016-06-29 | 中国科学院计算技术研究所 | Adaptive compression method and system for distributed file system |
| CN109471643A (en) * | 2018-11-19 | 2019-03-15 | 苏州好玩友网络科技有限公司 | A kind of mobile phone games installation kit configuration method and the game installation and operation method using it |
| CN109739814A (en) * | 2019-01-03 | 2019-05-10 | 阿里巴巴集团控股有限公司 | A file storage and download method, device and device |
| CN109803006A (en) * | 2019-01-04 | 2019-05-24 | 福建天泉教育科技有限公司 | Multifile batch packaging method, storage medium under distributed file system |
| CN110879800A (en) * | 2018-09-05 | 2020-03-13 | 阿里巴巴集团控股有限公司 | Data writing, compressing and reading method, data processing method and device |
| CN111538699A (en) * | 2020-03-31 | 2020-08-14 | 首钢京唐钢铁联合有限责任公司 | Data archiving method and device |
| CN112559463A (en) * | 2020-12-18 | 2021-03-26 | 杭州数梦工场科技有限公司 | Method and device for processing compressed file |
| CN112925746A (en) * | 2021-03-25 | 2021-06-08 | 北京安天网络安全技术有限公司 | Document filing method and device |
-
2021
- 2021-06-23 CN CN202110698797.7A patent/CN113377386B/en active Active
Patent Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040059703A1 (en) * | 2002-09-23 | 2004-03-25 | Jerry Chappell | Cascading behavior of package generation/installation based on variable parameters |
| CN101964035A (en) * | 2010-10-11 | 2011-02-02 | 深圳创维-Rgb电子有限公司 | Linux operating system file safety system and electronic device |
| CN102567051A (en) * | 2011-12-14 | 2012-07-11 | 中标软件有限公司 | Method and device for preparing graphical installation system of Loongson platform |
| CN103150402A (en) * | 2013-03-27 | 2013-06-12 | 网宿科技股份有限公司 | Index-code-based virtual file system, establishment method and access method |
| CN104765618A (en) * | 2015-05-06 | 2015-07-08 | 山东中孚信息产业股份有限公司 | Manufacturing method and decompression installation method of Linux system self-decompression installation packet |
| CN105718538A (en) * | 2016-01-18 | 2016-06-29 | 中国科学院计算技术研究所 | Adaptive compression method and system for distributed file system |
| CN110879800A (en) * | 2018-09-05 | 2020-03-13 | 阿里巴巴集团控股有限公司 | Data writing, compressing and reading method, data processing method and device |
| CN109471643A (en) * | 2018-11-19 | 2019-03-15 | 苏州好玩友网络科技有限公司 | A kind of mobile phone games installation kit configuration method and the game installation and operation method using it |
| CN109739814A (en) * | 2019-01-03 | 2019-05-10 | 阿里巴巴集团控股有限公司 | A file storage and download method, device and device |
| CN109803006A (en) * | 2019-01-04 | 2019-05-24 | 福建天泉教育科技有限公司 | Multifile batch packaging method, storage medium under distributed file system |
| CN111538699A (en) * | 2020-03-31 | 2020-08-14 | 首钢京唐钢铁联合有限责任公司 | Data archiving method and device |
| CN112559463A (en) * | 2020-12-18 | 2021-03-26 | 杭州数梦工场科技有限公司 | Method and device for processing compressed file |
| CN112925746A (en) * | 2021-03-25 | 2021-06-08 | 北京安天网络安全技术有限公司 | Document filing method and device |
Non-Patent Citations (2)
| Title |
|---|
| SEQUOIADB: "SequoiaDB巨杉数据库v5.0使用手册", 《HTTPS://WWW.IHSZ.XYZ/READ/SEQUOIADB-5.0-ZH/7009AC418933374F.MD》 * |
| 明无梦: "Ubuntu软件包管理工具dpkg,APT的一些命令", 《HTTPS://WWW.DREAMXU.COM/UBUNTU-PACKAGE-DPKG-AND-APT-COMMANDS》 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115373701A (en) * | 2022-08-25 | 2022-11-22 | 福建天晴在线互动科技有限公司 | A method and system for rapid software installation |
| CN115373701B (en) * | 2022-08-25 | 2025-09-26 | 福建天晴在线互动科技有限公司 | A software rapid installation method and system |
| CN116048558A (en) * | 2023-01-12 | 2023-05-02 | 支付宝(杭州)信息技术有限公司 | Installation method, device and equipment of an installation package |
| CN117097721A (en) * | 2023-10-19 | 2023-11-21 | 北京天信瑞安信息技术有限公司 | File transmission method, system and readable storage medium |
| CN117097721B (en) * | 2023-10-19 | 2024-01-12 | 北京天信瑞安信息技术有限公司 | File transmission method, system and readable storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113377386B (en) | 2022-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113377386B (en) | Installation package installation method, device and equipment without decompression | |
| US9038022B2 (en) | Universal and adaptive software development platform for data-driven applications | |
| Brun et al. | ROOT—An object oriented data analysis framework | |
| TW201935343A (en) | File processing method, device, and equipment | |
| CN105160012B (en) | A kind of management method and system of heterogeneous database | |
| JP2006059319A (en) | Information processing apparatus, program, and storage medium | |
| CN110807013B (en) | Data Migration Method and Device for Distributed Data Storage Cluster | |
| KR20060095448A (en) | File system represented inside the database | |
| WO2022146714A1 (en) | System and method for real-time, dynamic creation, delivery, and use of customizable web applications | |
| JP7082701B2 (en) | Magnetic disk management methods, magnetic disk management devices, electronic devices, computer programs and computer readable storage media | |
| TW201914267A (en) | Web application packet processing method, device and device | |
| CN116436936A (en) | A data storage system, method, storage medium and electronic device | |
| CN115617799A (en) | Method, device, equipment and storage medium for data storage | |
| CN103793229A (en) | Template digital publishing and editing method and system | |
| CN111459573B (en) | A method and device for starting a smart contract execution environment | |
| CN113791714A (en) | A method for software system icon library | |
| CN114401012B (en) | A resource processing method, apparatus, equipment and medium | |
| CN112463769A (en) | HBase mass data deletion method and device, electronic equipment and storage medium | |
| CN116048558A (en) | Installation method, device and equipment of an installation package | |
| CN114610335A (en) | Method, system and storage medium for processing deployment package based on abstract difference tree | |
| CN115292169A (en) | UI automation test method and system | |
| US11210270B2 (en) | Mapping storage across storage providers | |
| US7953879B1 (en) | System and method for assigning symbolic names to data streams | |
| CN119576885B (en) | Task execution method, device, storage medium and electronic device | |
| CN121255353A (en) | Smart contract compilation methods, execution methods, and computing devices |
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 | ||
| CP03 | Change of name, title or address | ||
| CP03 | Change of name, title or address |
Address after: 310000 Zhejiang Province, Hangzhou City, Xihu District, Xixi Road 543-569 (continuous odd numbers) Building 1, Building 2, 5th Floor, Room 518 Patentee after: Alipay (Hangzhou) Digital Service Technology Co.,Ltd. Country or region after: China Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province Patentee before: Alipay (Hangzhou) Information Technology Co., Ltd. Country or region before: China |
