WO2022156277A1 - Application program installation method and apparatus, and computing device and readable storage medium - Google Patents

Application program installation method and apparatus, and computing device and readable storage medium Download PDF

Info

Publication number
WO2022156277A1
WO2022156277A1 PCT/CN2021/124288 CN2021124288W WO2022156277A1 WO 2022156277 A1 WO2022156277 A1 WO 2022156277A1 CN 2021124288 W CN2021124288 W CN 2021124288W WO 2022156277 A1 WO2022156277 A1 WO 2022156277A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
file
package management
software package
execution
Prior art date
Application number
PCT/CN2021/124288
Other languages
French (fr)
Chinese (zh)
Inventor
张海东
Original Assignee
统信软件技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 统信软件技术有限公司 filed Critical 统信软件技术有限公司
Publication of WO2022156277A1 publication Critical patent/WO2022156277A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • the present invention relates to the field of computer technology, and in particular, to an application installation method, an apparatus, a computing device and a readable storage medium.
  • the target application is usually installed by means of the package management program, and the package management program also facilitates the uninstallation of the application.
  • Common package management programs such as rpm, apt, yum, etc.
  • the original files may be overwritten or deleted, and some script files will be executed during the installation process, and the package management program cannot perceive these operations.
  • the application installation or upgrade package has problems, and When some system files are modified, it will affect the operation of other applications. If you want to uninstall the application, you can only restore the files recorded by the package management program, and the files modified by running the script file cannot be restored, which may affect the system installation or normal use.
  • the system recovery point that is, the system state before the program is installed, is stored by operating on the data blocks of the disk.
  • Starting the recovery point function when the application is installed actually installs a disk device filter driver and reserves an area in the disk storage, so that when any disk operation is performed, all data will be written to this area.
  • the data in the above area is moved to the normal disk location to enter the state of use.
  • this method requires manual operation, takes a long time, does not generate log files, and the operation process is cumbersome.
  • the present invention provides an application installation method, apparatus, computing device and readable storage medium, so as to try to solve or at least alleviate the above problems.
  • an application installation method suitable for execution in a computing device comprising: starting a first execution program; the first execution program starts a software package management program through a process tracking mechanism; The program installs the target program; according to the process tracking mechanism, the system call data of the software package management program is obtained through the first execution program, and the target program recovery point data is generated.
  • acquiring the system call data of the software package management program through the first execution program includes: creating a target program recovery point directory; log file is created in ; according to the process tracking mechanism, when the software package management program completes each system call, the software package management program enters the blocking state; the first execution program obtains the system call data of the software package management program and records it; the first The executor sets the state of the package manager to the executing state so that the package manager can continue to install the target program.
  • the first execution program obtains the system call data of the software package management program, and records it, including: when the system call data is an update file or a delete file, back up the file of the file.
  • the original file is stored in the target program recovery point directory, and the path information, operation type and file name of the file are recorded; when the system call data is a new file, the path information, operation type and file name of the new file are recorded.
  • the operation types include: new creation, update and deletion.
  • the method further includes: restoring the system environment of the current computing device to the state before the installation of the target program according to the target program recovery point data.
  • restoring the system environment of the current computing device to the state before the target program is installed includes: restoring the file whose operation type is updated to the original file. ;Restore the file whose operation type is deleted to the original path; delete the file whose operation type is newly created.
  • the computing device is installed with a Linux system, the process tracking mechanism is ptrace, and the software package management program is apt.
  • the method is performed by a system administrator.
  • an application installation apparatus suitable for resident in a computing device, the apparatus comprising: a program installation unit: adapted to start a first execution program, the first execution program starts software through a process tracking mechanism The package management program installs the target program through the software package management program; the recovery point backup unit: adapted to obtain system call data of the software package management program through the first execution program according to the process tracking mechanism, and generate target program recovery point data.
  • a computing device comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be adapted to be executed by the at least one processor, the program instructions including for Execute the instructions of any of the above task scheduling methods.
  • a readable storage medium when program instructions are read and executed by a computing device, the computing device can execute any one of the above task scheduling methods.
  • the first execution program starts the software package management program through the process tracking mechanism, and the process tracking mechanism and the software package management program are combined programmatically, so that during the application program installation/upgrade process, the first execution program can be
  • the execution program obtains the system call data in the process of installing/upgrading the application program by the software package management program, thereby obtaining the update and change data of the system file, and generating the recovery point data from these data.
  • FIG. 1 shows a block diagram of a computing device 100 according to one embodiment of the present invention
  • FIG. 2 shows a flowchart of an application installation method 200 according to an embodiment of the present invention
  • FIG. 3 shows a flowchart of a recovery point data generation process 300 according to an embodiment of the present invention
  • FIG. 4 shows a flowchart of a system recovery process 400 according to an embodiment of the present invention
  • FIG. 5 shows a schematic diagram of an application installation apparatus 500 according to an embodiment of the present invention.
  • FIG. 1 shows a schematic diagram of a computing device 100 according to an embodiment of the present invention.
  • the computing device 100 shown in FIG. 1 is only an example.
  • the computing device used to implement the application installation method of the present invention may be any type of device, and its hardware configuration may be the same as that shown in FIG. 1 .
  • the computing device 100 shown is the same, and may be different from the computing device 100 shown in FIG. 1 .
  • the computing device used to implement the application installation method of the present invention may add or delete hardware components of the computing device 100 shown in FIG. 1 , and the present invention does not limit the specific hardware configuration of the computing device.
  • computing device 100 typically includes system memory 106 and one or more processors 104 .
  • the memory bus 108 may be used for communication between the processor 104 and the system memory 106 .
  • the processor 104 may be any type of process including, but not limited to, a microprocessor ( ⁇ P), a microcontroller ( ⁇ C), a digital information processor (DSP), or any combination thereof.
  • Processor 104 may include one or more levels of cache, such as L1 cache 110 and L2 cache 112 , processor core 114 , and registers 116 .
  • Exemplary processor cores 114 may include arithmetic logic units (ALUs), floating point units (FPUs), digital signal processing cores (DSP cores), or any combination thereof.
  • the exemplary memory controller 118 may be used with the processor 104 , or in some implementations, the memory controller 118 may be an internal part of the processor 104 .
  • system memory 106 may be any type of memory including, but not limited to, volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof.
  • volatile memory such as RAM
  • non-volatile memory such as ROM, flash memory, etc.
  • the physical memory in the computing device generally refers to the volatile memory RAM, and the data in the disk needs to be loaded into the physical memory before it can be read by the processor 104 .
  • System memory 106 may include an operating system 120, one or more applications 122, and program data 124.
  • applications 122 may be arranged to execute instructions using program data 124 by one or more processors 104 on an operating system.
  • Operating system 120 which may be, for example, Linux, Windows, etc., includes program instructions for handling basic system services and performing hardware-dependent tasks.
  • the application 122 includes program instructions for implementing various user-desired functions, and the application 122 may be, for example, but not limited to, a browser, instant messaging software, software development tools (eg, integrated development environment IDE, compiler, etc.). Driver modules may be added to operating system 120 when application 122 is installed into computing device 100 .
  • the processor 104 When the computing device 100 starts running, the processor 104 reads the program instructions of the operating system 120 from the memory 106 and executes them.
  • the application 122 runs on the operating system 120, and uses the interface provided by the operating system 120 and the underlying hardware to realize various functions desired by the user.
  • the application 122 is loaded into the memory 106 , and the processor 104 reads and executes program instructions of the application 122 from the memory 106 .
  • Computing device 100 also includes storage device 132 including removable storage 136 and non-removable storage 138 , both of which are connected to storage interface bus 134 .
  • Computing device 100 may also include an interface bus 140 that facilitates communication from various interface devices (eg, output device 142 , peripheral interface 144 , and communication device 146 ) to base configuration 102 via bus/interface controller 130 .
  • Example output devices 142 include graphics processing unit 148 and audio processing unit 150 . They may be configured to facilitate communication via one or more A/V ports 152 with various external devices such as displays or speakers.
  • Example peripheral interfaces 144 may include serial interface controller 154 and parallel interface controller 156, which may be configured to facilitate communication via one or more I/O ports 158 and input devices such as keyboard, mouse, pen , voice input devices, touch input devices) or other peripherals (eg printers, scanners, etc.)
  • the example communication device 146 may include a network controller 160 that may be arranged to facilitate communication via one or more communication ports 164 with one or more other computing devices 162 over a network communication link.
  • a network communication link may be one example of a communication medium.
  • Communication media may typically embody computer readable instructions, data structures, program modules in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
  • a "modulated data signal" can be a signal whose data set one or more or whose alterations can be made in such a way as to encode information in the signal.
  • communication media may include wired media, such as wired or leased line networks, and various wireless media, such as acoustic, radio frequency (RF), microwave, infrared (IR), or other wireless media.
  • RF radio frequency
  • IR infrared
  • the term computer readable medium as used herein may include both storage media and communication media.
  • the application 122 includes instructions for executing the application installation method 200 of the present invention, and the instructions may instruct the processor 104 to execute the application installation method 200 of the present invention.
  • FIG. 2 shows a flowchart of an application installation method 200 according to an embodiment of the present invention, suitable for execution in a computing device (such as the computing device shown in FIG. 1 ).
  • the method 200 starts from step S210, and in this step, application installation or application upgrade is started (ie, the first execution program is started).
  • step S220 in this step, the first execution program starts the software package management program through the process tracking mechanism.
  • the role of the package management program can eliminate manual installation and update, which is especially important for Linux/Unix operating systems.
  • the package management programs used are also different, such as debian's apt, dpkg, redhat rpm etc.
  • the software package management program packages the compiled application program and each component file into one or several package files, so that management operations such as package installation, upgrade, uninstallation and query can be more conveniently implemented.
  • Each package is implemented separately, including its own file list, scripts to run during installation or uninstallation, and a common database to store the package name, version, dependencies, function descriptions, file locations generated by the installation, and checksums. inspection information, etc.
  • the process tracking mechanism generally refers to ptrace, which is used for process tracking as can be seen from the name, and provides a mechanism by which the parent process can control the running of the child process, and Allows the parent process to inspect and alter its kernel image. It is mainly used to implement breakpoint debugging.
  • the basic working principle is: when ptrace is used, the signal of the traced child process is forwarded to the parent process, and at this time the child process is blocked, and the flag bit pause/trace state. At the same time, the parent process will check or modify the stopped child process, and further, the parent process can also make the child process continue to execute, and choose whether to ignore the signal that caused the abort.
  • the first execution program starts a software package management program (for example: apt), wherein the first execution program is a parent process, and the execution of the software package management program is a child process, so that process tracking can be performed
  • a software package management program for example: apt
  • the mechanism realizes the supervision and inspection of the software package management program by the first execution program.
  • step S230 the target program is installed through the software package management program.
  • the application installation method is executed in the computing device of the Linux system
  • the software package management program is apt
  • the process tracking mechanism is ptrace.
  • the first execution program A starts apt through ptrace
  • the apt Execute the installation B_Package the command can be expressed in the following form, where sudo indicates that the command is executed by the user who is the administrator of the current system.
  • step 240 in the process of installing/upgrading the target program of the software package management program, the first execution program obtains the system call data of the software package management program, backs up the corresponding original file, and records the path information of the modified file in the log file , operation type, file name and other information, and finally generate the recovery point data of the target program currently installed/upgraded.
  • the specific generation process is shown in Figure 3.
  • step S250 if there is an error in the installed or upgraded target program, when the corresponding program is uninstalled, system recovery is performed according to the recovery point data generated in step S240 to ensure that the system can be recovered to the state before the application program is installed, and that the system and the Other applications work normally.
  • the specific system recovery process is shown in Figure 4.
  • FIG. 3 shows a flowchart of a recovery point data generation process 300 according to one embodiment of the present invention.
  • the process starts from step S310, and before this step, it also includes the steps of creating a target program recovery point directory and creating a log file in the directory.
  • the principle of recording is implemented.
  • sudo A apt install B_Package the folder B_Package is first created in the /data/var/cache/A directory as the recovery point data directory of the application B_Package, and the install.log is created under the B_Package folder at the same time
  • the file is used as a log file to record the modification process of the file.
  • step S310 in the process of installing the application program by the software package management program, every time the software package management program completes a system call, the signal is forwarded to the first execution program, and enters a blocking state.
  • the package management program apt deletes a file in the installation application B_Package, and according to the process tracking mechanism ptrace, the package management program apt enters the blocking state, that is, stops the installation of the application B_Package, and , the signal is passed to the first executor of its parent process.
  • step S320 the first execution program of the parent process of the software package management program checks the child process, and obtains the system call data of the software package management program, including the file change process during the B_Package installation process.
  • step S330 is entered, and recovery point data is recorded according to the operation type of the file in the system call data, wherein the operation type includes: new creation, update and deletion.
  • the current system call data shows that this system call creates a new file test.txt in the directory /user/share/doc, and the following records are recorded in the corresponding log file install.log, where , /user/share/doc/ is the absolute path of the new file, the operation type of the new file is "New", test.txt is the file name, that is, test.txt is the newly created file, ##**## is separator.
  • the file B_test under /user/bin is updated and overwritten according to the current system call data.
  • the original file of B_test is firstly backed up to the recovery point data folder /data/var /cache/A/B_Package, and add the following records to the log file, where /user/bin/B_test is the absolute path of the overwritten file, writeover indicates that the operation type of the file is update, and B_test is the file name.
  • the current system call data indicates that the current system call deletes the file M from the directory /usr/share/doc/, and in this step, the original file M is firstly backed up to the recovery point data folder /data/var/cache/A/B_Package, and add the following records to the log file, where /usr/share/doc/M is the absolute path of the deleted file, delete indicates that the file is deleted, and M is the file name.
  • the file operation record in the log file can be set according to requirements, which is not limited in the present invention.
  • Step S340 is then entered. After completing the analysis and recording of the system call data, the first execution program sets the installation state of the subprogram software package management program to the execution state, and continues the installation process of the application program.
  • the steps in process 300 are repeated for each system call.
  • the backup files and log files of the original files of all apt-operated files are stored in /data/var/cache/A In /B_Package
  • the folder is packaged and compressed into a file (for example: B_Package.diff), that is, a recovery point data file is generated. System recovery can be completed based on this file, restoring the system to the state before the program was installed.
  • the system state before the installation of the B_Package installation package can be restored through B_Package.diff, which can be achieved by executing the command sudo A B_Package.
  • FIG. 4 shows a flowchart of a system recovery process 400 according to one embodiment of the present invention.
  • the process starts at step S410, decompressing the recovery point data file.
  • the recovery point data file is B_Package.diff, and decompress it, including the log file install.log and related backup files.
  • step S420 is entered, the record information in the log file is sequentially acquired, and data recovery is performed according to the record information.
  • the data in the obtained log file is recorded as /user/share/doc/test.txt##**##new##**##test.txt, that is, in /user/ The file test.txt is newly created in share/doc/, and when data recovery is performed, /user/share/doc/test.txt is directly deleted.
  • FIG. 5 shows a schematic diagram of an application installation apparatus 500 according to an embodiment of the present invention.
  • the apparatus belongs to the execution method 200 resident in a computing device.
  • the application installation apparatus 500 includes a program installation unit 510 , a recovery point backup unit 520 and a data recovery unit 530 .
  • the program installation unit 510 is adapted to start the first execution program, the first execution program starts the software package management program through the process tracking mechanism, and installs the target application program through the software package management program.
  • the recovery point backup unit 520 is adapted to obtain the system call data in the installation application of the software package management program through the first execution program according to the process tracking mechanism, and generate the recovery point data.
  • the data recovery unit 530 is adapted to restore the system environment of the current computing device to the state before the target program is installed according to the target program recovery point data.
  • the first execution program starts the software package management program through the process tracking mechanism, and the process tracking mechanism and the software package management program are combined programmatically, so that during the application program installation/upgrade process, through the first program
  • An execution program obtains the system call data in the process of installing/upgrading the application program by the software package management program, thereby obtaining the update and change data of the system file, and generating the recovery point data from these data, so as to realize that when the installed application program is uninstalled, Ensure that the system can be restored to the state before the application was installed, and ensure the normal operation of the system and other applications.
  • the system can be restored to the original state, so that system files and other applications are not affected.
  • the various techniques described herein can be implemented in conjunction with hardware or software, or a combination thereof.
  • the method and apparatus of the present invention may take the form of an embedded tangible medium, such as a removable hard disk, a USB stick, a floppy disk, a CD-ROM, or any other machine-readable storage medium.
  • program code ie, instructions
  • the machine becomes an apparatus for practicing the invention.
  • the computing device typically includes a processor, a storage medium readable by the processor (including volatile and nonvolatile memory and/or storage elements), at least one input device, and at least one output device.
  • the memory is configured to store program codes; the processor is configured to execute the application program installation method of the present invention according to the instructions in the program codes stored in the memory.
  • readable media include readable storage media and communication media.
  • Readable storage media store information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Combinations of any of the above are also included within the scope of readable media.
  • modules or units or components of the apparatus in the examples disclosed herein may be arranged in the apparatus as described in this embodiment, or alternatively may be positioned differently from the apparatus in this example in one or more devices.
  • the modules in the preceding examples may be combined into one module or further divided into sub-modules.
  • modules in the device in the embodiment can be adaptively changed and arranged in one or more devices different from the embodiment.
  • the modules or units or components in the embodiments may be combined into one module or unit or component, and further they may be divided into multiple sub-modules or sub-units or sub-assemblies. All features disclosed in this specification (including accompanying claims, abstract and drawings) and any method so disclosed may be employed in any combination, unless at least some of such features and/or procedures or elements are mutually exclusive. All processes or units of equipment are combined.
  • Each feature disclosed in this specification may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.

Abstract

Disclosed are an application program installation method, which is suitable for being executed in a computing device. The method comprises: starting a first execution program; the first execution program starting a software package management program by means of a process tracking mechanism; installing a target program by means of the software package management program; and according to the process tracking mechanism, acquiring system calling data of the software package management program by means of the first execution program, and generating target program recovery point data. Further disclosed are a corresponding apparatus, a computer device and a readable storage medium.

Description

一种应用程序安装方法、装置、计算设备及可读存储介质Application installation method, device, computing device and readable storage medium 技术领域technical field
本发明涉及计算机技术领域,尤其涉及一种应用程序安装方法、装置、计算设备及可读存储介质。The present invention relates to the field of computer technology, and in particular, to an application installation method, an apparatus, a computing device and a readable storage medium.
背景技术Background technique
在Linux操作系统中,为了解决应用程序中程序包的依赖关系,通常都借助于包管理程序安装目标应用程序,同时包管理程序也方便应用程序的卸载。常见的软件包管理程序如rpm、apt、yum等。在应用程序安装过程中,原始文件可能会被覆盖或删除,在安装过程成还会执行一些脚本文件,而包管理程序并不能感知到这些操作,一旦应用程序安装或升级程序包出现问题,并且某些系统文件被修改的情况下,会影响其他应用程序的运行。而如果要卸载应用程序,也只能还原包管理程序所记录的文件,而通过运行脚本文件修改的文件是不能恢复的,可能会对系统安装或者正常使用造成影响。In the Linux operating system, in order to solve the dependencies of the packages in the application, the target application is usually installed by means of the package management program, and the package management program also facilitates the uninstallation of the application. Common package management programs such as rpm, apt, yum, etc. During the application installation process, the original files may be overwritten or deleted, and some script files will be executed during the installation process, and the package management program cannot perceive these operations. Once the application installation or upgrade package has problems, and When some system files are modified, it will affect the operation of other applications. If you want to uninstall the application, you can only restore the files recorded by the package management program, and the files modified by running the script file cannot be restored, which may affect the system installation or normal use.
现有的一些操作系统中,会通过对磁盘的数据块操作,存储系统恢复点,即程序安装前的系统状态。在应用程序安装时启动恢复点功能,实际上是安装了一个磁盘设备过滤驱动,并在磁盘存储中预留出一块区域,这样在执行任何磁盘操作时,所有的数据会写到这个区域,当应用程序安装完成后,将上述区域中的数据搬迁到正常的磁盘位置进入使用状态。但是,这种方式需要手动操作,耗时长,且不产生日志文件,操作过程繁琐。In some existing operating systems, the system recovery point, that is, the system state before the program is installed, is stored by operating on the data blocks of the disk. Starting the recovery point function when the application is installed actually installs a disk device filter driver and reserves an area in the disk storage, so that when any disk operation is performed, all data will be written to this area. After the installation of the application is completed, the data in the above area is moved to the normal disk location to enter the state of use. However, this method requires manual operation, takes a long time, does not generate log files, and the operation process is cumbersome.
发明内容SUMMARY OF THE INVENTION
为此,本发明提供了一种应用程序安装方法、装置、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。To this end, the present invention provides an application installation method, apparatus, computing device and readable storage medium, so as to try to solve or at least alleviate the above problems.
根据本发明的一个方面,提供一种应用程序安装方法,适于在计算设备中执行,方法包括:启动第一执行程序;第一执行程序通过进程跟踪机制启 动软件包管理程序;通过软件包管理程序安装目标程序;根据进程跟踪机制,通过第一执行程序获取软件包管理程序的系统调用数据,并生成目标程序恢复点数据。According to one aspect of the present invention, there is provided an application installation method suitable for execution in a computing device, the method comprising: starting a first execution program; the first execution program starts a software package management program through a process tracking mechanism; The program installs the target program; according to the process tracking mechanism, the system call data of the software package management program is obtained through the first execution program, and the target program recovery point data is generated.
可选的,在根据本发明的应用程序安装方法中,根据进程跟踪机制,通过第一执行程序获取软件包管理程序的系统调用数据包括:创建目标程序恢复点目录;在目标目标程序恢复点目录中创建日志文件;根据进程跟踪机制,当软件包管理程序完成每一个系统调用时,软件包管理程序进入阻塞状态;第一执行程序获取软件包管理程序的系统调用数据,并进行记录;第一执行程序将软件包管理程序的状态设置为执行状态,以便软件包管理程序继续安装目标程序。Optionally, in the application installation method according to the present invention, according to the process tracking mechanism, acquiring the system call data of the software package management program through the first execution program includes: creating a target program recovery point directory; log file is created in ; according to the process tracking mechanism, when the software package management program completes each system call, the software package management program enters the blocking state; the first execution program obtains the system call data of the software package management program and records it; the first The executor sets the state of the package manager to the executing state so that the package manager can continue to install the target program.
可选的,在根据本发明的应用程序安装方法中,第一执行程序获取软件包管理程序的系统调用数据,并进行记录包括:当系统调用数据为更新文件或删除文件时,备份该文件的原始文件并存储在目标程序恢复点目录中,记录文件的路径信息、操作类型以及文件名称;当系统调用数据为新建文件时,记录新建文件的路径信息、操作类型以及文件名称。Optionally, in the application installation method according to the present invention, the first execution program obtains the system call data of the software package management program, and records it, including: when the system call data is an update file or a delete file, back up the file of the file. The original file is stored in the target program recovery point directory, and the path information, operation type and file name of the file are recorded; when the system call data is a new file, the path information, operation type and file name of the new file are recorded.
可选的,在根据本发明的应用程序安装方法中,操作类型包括:新建、更新以及删除。Optionally, in the application installation method according to the present invention, the operation types include: new creation, update and deletion.
可选的,在根据本发明的应用程序安装方法中,还包括:根据目标程序恢复点数据,将当前计算设备的系统环境还原为目标程序安装前的状态。Optionally, in the application installation method according to the present invention, the method further includes: restoring the system environment of the current computing device to the state before the installation of the target program according to the target program recovery point data.
可选的,在根据本发明的应用程序安装方法中,根据目标程序恢复点数据,将当前计算设备的系统环境还原为目标程序安装前的状态包括:将操作类型为更新的文件恢复为原始文件;将操作类型为删除的文件恢复到原始路径;将操作类型为新建的文件进行删除。Optionally, in the application installation method according to the present invention, according to the target program recovery point data, restoring the system environment of the current computing device to the state before the target program is installed includes: restoring the file whose operation type is updated to the original file. ;Restore the file whose operation type is deleted to the original path; delete the file whose operation type is newly created.
可选的,在根据本发明的应用程序安装方法中,计算设备安装有Linux系统,进程跟踪机制为ptrace,软件包管理程序为apt。Optionally, in the application installation method according to the present invention, the computing device is installed with a Linux system, the process tracking mechanism is ptrace, and the software package management program is apt.
可选的,在根据本发明的应用程序安装方法中,方法由系统管理员身份执行。Optionally, in the application installation method according to the present invention, the method is performed by a system administrator.
根据本发明的又一方面,提供一种应用程序安装装置,适于驻留在计算设备中,装置包括:程序安装单元:适于启动第一执行程序,第一执行程序 通过进程跟踪机制启动软件包管理程序,通过软件包管理程序安装目标程序;恢复点备份单元:适于根据进程跟踪机制,通过第一执行程序获取软件包管理程序的系统调用数据,并生成目标程序恢复点数据。According to yet another aspect of the present invention, there is provided an application installation apparatus suitable for resident in a computing device, the apparatus comprising: a program installation unit: adapted to start a first execution program, the first execution program starts software through a process tracking mechanism The package management program installs the target program through the software package management program; the recovery point backup unit: adapted to obtain system call data of the software package management program through the first execution program according to the process tracking mechanism, and generate target program recovery point data.
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上的任一项任务调度方法的指令。According to yet another aspect of the present invention, there is provided a computing device comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be adapted to be executed by the at least one processor, the program instructions including for Execute the instructions of any of the above task scheduling methods.
根据本发明的又一个方面,提供一种可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上的任一项任务调度方法。According to yet another aspect of the present invention, a readable storage medium is provided, when program instructions are read and executed by a computing device, the computing device can execute any one of the above task scheduling methods.
根据本发明的应用程序安装方法,第一执行程序通过进程跟踪机制启动软件包管理程序,将进程跟踪机制和软件包管理程序性结合,从而实现了在应用程序安装/升级过程中,通过第一执行程序获取软件包管理程序安装/升级应用程序过程中的系统调用数据,从而获得系统文件的更新变化数据,将这些数据生成恢复点数据,利用该恢复点数据,在卸载对应的应用程序时,保证系统能够恢复到安装应用程序前的状态,保证系统和其他应用程序正常运行,尤其当所安装的应用程序或应用程序的升级包存在错误时,能够将系统恢复到原始状态,使系统文件和其他应用程序不受影响。According to the application installation method of the present invention, the first execution program starts the software package management program through the process tracking mechanism, and the process tracking mechanism and the software package management program are combined programmatically, so that during the application program installation/upgrade process, the first execution program can be The execution program obtains the system call data in the process of installing/upgrading the application program by the software package management program, thereby obtaining the update and change data of the system file, and generating the recovery point data from these data. Using the recovery point data, when uninstalling the corresponding application program, Ensure that the system can be restored to the state before the installation of the application, ensure the normal operation of the system and other applications, especially when there is an error in the installed application or the upgrade package of the application, the system can be restored to the original state, so that system files and other Applications are not affected.
附图说明Description of drawings
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。To achieve the above and related objects, certain illustrative aspects are described herein in conjunction with the following description and drawings, which are indicative of the various ways in which the principles disclosed herein may be practiced, and all aspects and their equivalents are intended to be within the scope of the claimed subject matter. The above and other objects, features and advantages of the present disclosure will become more apparent by reading the following detailed description in conjunction with the accompanying drawings. Throughout this disclosure, the same reference numbers generally refer to the same parts or elements.
图1示出了根据本发明一个实施例的计算设备100的框图;1 shows a block diagram of a computing device 100 according to one embodiment of the present invention;
图2示出了根据本发明一个实施例的应用程序安装方法200的流程图;FIG. 2 shows a flowchart of an application installation method 200 according to an embodiment of the present invention;
图3示出了根据本发明一个实施例的恢复点数据生成过程300的流程图;3 shows a flowchart of a recovery point data generation process 300 according to an embodiment of the present invention;
图4示出了根据本发明一个实施例的系统恢复过程400的流程图;FIG. 4 shows a flowchart of a system recovery process 400 according to an embodiment of the present invention;
图5示出了根据本发明一个实施例的应用程序安装装置500的示意图。FIG. 5 shows a schematic diagram of an application installation apparatus 500 according to an embodiment of the present invention.
具体实施方式Detailed ways
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be more thoroughly understood, and will fully convey the scope of the present disclosure to those skilled in the art.
本发明针对创建系统恢复点数据的问题,提供了一种应用程序安装方法,该方法适于在计算设备中执行,图1示出了根据本发明一个实施例的计算设备100的示意图。需要说明的是,图1所示的计算设备100仅为一个示例,在实践中,用于实施本发明的应用程序安装方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图1所示的计算设备100相同,也可以与图1所示的计算设备100不同。实践中用于实施本发明的应用程序安装方法的计算设备可以对图1所示的计算设备100的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。Aiming at the problem of creating system recovery point data, the present invention provides an application installation method, which is suitable for execution in a computing device. FIG. 1 shows a schematic diagram of a computing device 100 according to an embodiment of the present invention. It should be noted that the computing device 100 shown in FIG. 1 is only an example. In practice, the computing device used to implement the application installation method of the present invention may be any type of device, and its hardware configuration may be the same as that shown in FIG. 1 . The computing device 100 shown is the same, and may be different from the computing device 100 shown in FIG. 1 . In practice, the computing device used to implement the application installation method of the present invention may add or delete hardware components of the computing device 100 shown in FIG. 1 , and the present invention does not limit the specific hardware configuration of the computing device.
如图1所示,在基本配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。As shown in FIG. 1 , in a basic configuration 102 , computing device 100 typically includes system memory 106 and one or more processors 104 . The memory bus 108 may be used for communication between the processor 104 and the system memory 106 .
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。Depending on the desired configuration, the processor 104 may be any type of process including, but not limited to, a microprocessor (μP), a microcontroller (μC), a digital information processor (DSP), or any combination thereof. Processor 104 may include one or more levels of cache, such as L1 cache 110 and L2 cache 112 , processor core 114 , and registers 116 . Exemplary processor cores 114 may include arithmetic logic units (ALUs), floating point units (FPUs), digital signal processing cores (DSP cores), or any combination thereof. The exemplary memory controller 118 may be used with the processor 104 , or in some implementations, the memory controller 118 may be an internal part of the processor 104 .
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器104读取。系统 存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。操作系统120例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用122包括用于实现各种用户期望的功能的程序指令,应用122例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用122被安装到计算设备100中时,可以向操作系统120添加驱动模块。Depending on the desired configuration, system memory 106 may be any type of memory including, but not limited to, volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. The physical memory in the computing device generally refers to the volatile memory RAM, and the data in the disk needs to be loaded into the physical memory before it can be read by the processor 104 . System memory 106 may include an operating system 120, one or more applications 122, and program data 124. In some embodiments, applications 122 may be arranged to execute instructions using program data 124 by one or more processors 104 on an operating system. Operating system 120, which may be, for example, Linux, Windows, etc., includes program instructions for handling basic system services and performing hardware-dependent tasks. The application 122 includes program instructions for implementing various user-desired functions, and the application 122 may be, for example, but not limited to, a browser, instant messaging software, software development tools (eg, integrated development environment IDE, compiler, etc.). Driver modules may be added to operating system 120 when application 122 is installed into computing device 100 .
在计算设备100启动运行时,处理器104会从存储器106中读取操作系统120的程序指令并执行。应用122运行在操作系统120之上,利用操作系统120以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用122时,应用122会加载至存储器106中,处理器104从存储器106中读取并执行应用122的程序指令。When the computing device 100 starts running, the processor 104 reads the program instructions of the operating system 120 from the memory 106 and executes them. The application 122 runs on the operating system 120, and uses the interface provided by the operating system 120 and the underlying hardware to realize various functions desired by the user. When the user starts the application 122 , the application 122 is loaded into the memory 106 , and the processor 104 reads and executes program instructions of the application 122 from the memory 106 .
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。Computing device 100 also includes storage device 132 including removable storage 136 and non-removable storage 138 , both of which are connected to storage interface bus 134 .
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。Computing device 100 may also include an interface bus 140 that facilitates communication from various interface devices (eg, output device 142 , peripheral interface 144 , and communication device 146 ) to base configuration 102 via bus/interface controller 130 . Example output devices 142 include graphics processing unit 148 and audio processing unit 150 . They may be configured to facilitate communication via one or more A/V ports 152 with various external devices such as displays or speakers. Example peripheral interfaces 144 may include serial interface controller 154 and parallel interface controller 156, which may be configured to facilitate communication via one or more I/O ports 158 and input devices such as keyboard, mouse, pen , voice input devices, touch input devices) or other peripherals (eg printers, scanners, etc.) The example communication device 146 may include a network controller 160 that may be arranged to facilitate communication via one or more communication ports 164 with one or more other computing devices 162 over a network communication link.
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以 这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。A network communication link may be one example of a communication medium. Communication media may typically embody computer readable instructions, data structures, program modules in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media. A "modulated data signal" can be a signal whose data set one or more or whose alterations can be made in such a way as to encode information in the signal. By way of non-limiting example, communication media may include wired media, such as wired or leased line networks, and various wireless media, such as acoustic, radio frequency (RF), microwave, infrared (IR), or other wireless media. The term computer readable medium as used herein may include both storage media and communication media.
在根据本发明的计算设备100中,应用122包括用于执行本发明的应用程序安装方法200的指令,该指令可以指示处理器104执行本发明的应用程序安装方法200。In the computing device 100 according to the present invention, the application 122 includes instructions for executing the application installation method 200 of the present invention, and the instructions may instruct the processor 104 to execute the application installation method 200 of the present invention.
图2示出了根据本发明一个实施例的应用程序安装方法200的流程图,适于在计算设备(如图1所示的计算设备)中执行。如图2所示,方法200始于步骤S210,在本步骤中,启动应用程序安装或应用程序升级(即启动第一执行程序)。FIG. 2 shows a flowchart of an application installation method 200 according to an embodiment of the present invention, suitable for execution in a computing device (such as the computing device shown in FIG. 1 ). As shown in FIG. 2, the method 200 starts from step S210, and in this step, application installation or application upgrade is started (ie, the first execution program is started).
随后进入步骤S220,在本步骤中,第一执行程序通过进程跟踪机制启动软件包管理程序。Then enter step S220, in this step, the first execution program starts the software package management program through the process tracking mechanism.
软件包管理程序的作用可以消除手动安装和更新,这对于Linux/Unix操作系统尤为重要,对于不同的Linux发行版,所使用的软件包管理程序也不尽相同,比如debian的apt、dpkg,redhat的rpm等。软件包管理程序将编译好的应用程序和各个组成文件打包成一个或几个程序包文件,从而能够更方便的实现程序包的安装、升级、卸载和查询等管理操作。每个程序包都是单独实现的,包含了自身文件清单,安装或卸载时运行的脚本,共用一个公共数据库来存放程序包的名称、版本、依赖关系、功能说明、安装生成的文件位置及校验信息等。The role of the package management program can eliminate manual installation and update, which is especially important for Linux/Unix operating systems. For different Linux distributions, the package management programs used are also different, such as debian's apt, dpkg, redhat rpm etc. The software package management program packages the compiled application program and each component file into one or several package files, so that management operations such as package installation, upgrade, uninstallation and query can be more conveniently implemented. Each package is implemented separately, including its own file list, scripts to run during installation or uninstallation, and a common database to store the package name, version, dependencies, function descriptions, file locations generated by the installation, and checksums. inspection information, etc.
根据本发明的一个实施例,在Linux系统中,进程跟踪机制通常指ptrace,从名字上可以看出,它是用于进程跟踪的,提供了一种父进程可以控制子进程运行的机制,并允许父进程检查和改变其内核镜像。它主要用于实现断点调试。基本工作原理是:当ptrace被使用时,被跟踪的子进程的信号会转发给父进程,而此时子进程被阻塞,并标记位暂停/跟踪状态。同时,父进程会对停下来的子进程进行检查或者修改,进而,父进程还可以使子进程继续执行,并选择是否忽略引起中止的信号。According to an embodiment of the present invention, in the Linux system, the process tracking mechanism generally refers to ptrace, which is used for process tracking as can be seen from the name, and provides a mechanism by which the parent process can control the running of the child process, and Allows the parent process to inspect and alter its kernel image. It is mainly used to implement breakpoint debugging. The basic working principle is: when ptrace is used, the signal of the traced child process is forwarded to the parent process, and at this time the child process is blocked, and the flag bit pause/trace state. At the same time, the parent process will check or modify the stopped child process, and further, the parent process can also make the child process continue to execute, and choose whether to ignore the signal that caused the abort.
在根据本发明的应用程序安装方法中,第一执行程序启动软件包管理程序(例如:apt),其中第一执行程序为父进程,软件包管理程序的执行为子进程,从而可以通过进程跟踪机制实现第一执行程序对软件包管理程序的监督、检查。In the application installation method according to the present invention, the first execution program starts a software package management program (for example: apt), wherein the first execution program is a parent process, and the execution of the software package management program is a child process, so that process tracking can be performed The mechanism realizes the supervision and inspection of the software package management program by the first execution program.
在步骤S230中,通过软件包管理程序安装目标程序。In step S230, the target program is installed through the software package management program.
在本实施例中,应用程序安装方法在Linux系统的计算设备中执行,软件包管理程序为apt,进程跟踪机制为ptrace,在一个具体示例中,第一执行程序A通过ptrace启动apt,由apt执行安装B_Package,该指令可以表示为如下形式,其中sudo表示该指令有当前系统的管理员身份的用户执行。In this embodiment, the application installation method is executed in the computing device of the Linux system, the software package management program is apt, and the process tracking mechanism is ptrace. In a specific example, the first execution program A starts apt through ptrace, and the apt Execute the installation B_Package, the command can be expressed in the following form, where sudo indicates that the command is executed by the user who is the administrator of the current system.
sudo A apt install B_Packagesudo A apt install B_Package
在步骤240中,在软件包管理程序安装/升级目标程序过程中,第一执行程序获取软件包管理程序的系统调用数据,备份相应的原始文件,并在日志文件中记录被修改文件的路径信息、操作类型、文件名称等信息,最终生成当前安装/升级的目标程序的恢复点数据,具体的生成过程如图3所示。In step 240, in the process of installing/upgrading the target program of the software package management program, the first execution program obtains the system call data of the software package management program, backs up the corresponding original file, and records the path information of the modified file in the log file , operation type, file name and other information, and finally generate the recovery point data of the target program currently installed/upgraded. The specific generation process is shown in Figure 3.
在步骤S250中,如果所安装或升级的目标程序出现错误,卸载相应的程序时,根据步骤S240中生成的恢复点数据进行系统恢复,保证系统能够恢复到安装应用程序前的状态,保证系统和其他应用程序正常运行。具体的系统恢复过程如图4所示。In step S250, if there is an error in the installed or upgraded target program, when the corresponding program is uninstalled, system recovery is performed according to the recovery point data generated in step S240 to ensure that the system can be recovered to the state before the application program is installed, and that the system and the Other applications work normally. The specific system recovery process is shown in Figure 4.
图3示出了根据本发明一个实施例的恢复点数据生成过程300的流程图。如图3所示,该过程始于步骤S310,在该步骤前还包括创建目标程序恢复点目录和在该目录中创建日志文件的步骤,目录文件夹命名,以及文件命名上可以根据便于查找或记录的原则实现。例如,在上述实施例sudo A apt install B_Package中,首先在/data/var/cache/A目录中创建文件夹B_Package,作为应用程序B_Package的恢复点数据目录,同时在B_Package文件夹下面创建install.log文件作为日志文件,用于记录文件的修改过程。FIG. 3 shows a flowchart of a recovery point data generation process 300 according to one embodiment of the present invention. As shown in FIG. 3, the process starts from step S310, and before this step, it also includes the steps of creating a target program recovery point directory and creating a log file in the directory. The principle of recording is implemented. For example, in the above embodiment sudo A apt install B_Package, the folder B_Package is first created in the /data/var/cache/A directory as the recovery point data directory of the application B_Package, and the install.log is created under the B_Package folder at the same time The file is used as a log file to record the modification process of the file.
在步骤S310中,软件包管理程序安装应用程序过程中,软件包管理程序每完成一个系统调用,信号被转发给第一执行程序,并进入阻塞状态。In step S310, in the process of installing the application program by the software package management program, every time the software package management program completes a system call, the signal is forwarded to the first execution program, and enters a blocking state.
继续以上述安装B_Package应用程序为例,软件包管理程序apt在安装应用程序B_Package中,删除一个文件,根据进程跟踪机制ptrace,软件包管理 程序apt进入阻塞状态,即停止应用程序B_Package的安装,并且,信号传递给其父进程第一执行程序。Continue to take the installation of the B_Package application above as an example, the package management program apt deletes a file in the installation application B_Package, and according to the process tracking mechanism ptrace, the package management program apt enters the blocking state, that is, stops the installation of the application B_Package, and , the signal is passed to the first executor of its parent process.
随后进入步骤S320,软件包管理程序的父进程第一执行程序对子进程进行查看,获取软件包管理程序的系统调用数据,包括B_Package安装过程中对文件的变更过程。Then enter step S320, the first execution program of the parent process of the software package management program checks the child process, and obtains the system call data of the software package management program, including the file change process during the B_Package installation process.
随后进入步骤S330,根据系统调用数据中对文件的操作类型,记录恢复点数据,其中操作类型包括:新建、更新以及删除。Then step S330 is entered, and recovery point data is recorded according to the operation type of the file in the system call data, wherein the operation type includes: new creation, update and deletion.
继续以B_Package安装过程为例,比如当前系统调用数据显示本次系统调用在目录/user/share/doc中创建一个新文件test.txt,则在相应的日志文件install.log中记录如下记录,其中,/user/share/doc/为新建文件的绝对路径,new对应文件的操作类型为“新建”,test.txt为文件名称,即test.txt为新创建的文件,##**##为分割符号。Continue to take the B_Package installation process as an example. For example, the current system call data shows that this system call creates a new file test.txt in the directory /user/share/doc, and the following records are recorded in the corresponding log file install.log, where , /user/share/doc/ is the absolute path of the new file, the operation type of the new file is "New", test.txt is the file name, that is, test.txt is the newly created file, ##**## is separator.
/user/share/doc/##**##new##**##test.txt/user/share/doc/##**##new##**##test.txt
根据本发明又一个实施例,根据当前系统调用数据,将/user/bin下的文件B_test进行了更新覆盖,在该步骤中,首先将B_test的原始文件备份到恢复点数据文件夹/data/var/cache/A/B_Package中,并在日志文件中增加如下记录,其中,/user/bin/B_test为被覆盖文件的绝对路径,writeover表示文件的操作类型为更新,B_test为文件名称。According to another embodiment of the present invention, the file B_test under /user/bin is updated and overwritten according to the current system call data. In this step, the original file of B_test is firstly backed up to the recovery point data folder /data/var /cache/A/B_Package, and add the following records to the log file, where /user/bin/B_test is the absolute path of the overwritten file, writeover indicates that the operation type of the file is update, and B_test is the file name.
/user/bin/##**##writeover##**##B_test/user/bin/##**##writeover##**##B_test
根据本发明的又一个实施例,当前系统调用数据表示,本次系统调用从目录/usr/share/doc/中删除文件M,在本步骤中,首先将原始文件M备份到恢复点数据文件夹/data/var/cache/A/B_Package中,并在日志文件中增加如下记录,其中,/usr/share/doc/M为删除文件的绝对路径,delete表示文件被删除,M为文件名称。According to another embodiment of the present invention, the current system call data indicates that the current system call deletes the file M from the directory /usr/share/doc/, and in this step, the original file M is firstly backed up to the recovery point data folder /data/var/cache/A/B_Package, and add the following records to the log file, where /usr/share/doc/M is the absolute path of the deleted file, delete indicates that the file is deleted, and M is the file name.
/usr/share/doc/##**##delete##**##M/usr/share/doc/##**##delete##**##M
日志文件中的文件操作记录可以根据需求进行设置,本发明对此不做限制。The file operation record in the log file can be set according to requirements, which is not limited in the present invention.
随后进入步骤S340,第一执行程序在完成系统调用数据分析和记录后,将子程序软件包管理程序的装态设置为执行状态,继续应用程序的安装过程。Step S340 is then entered. After completing the analysis and recording of the system call data, the first execution program sets the installation state of the subprogram software package management program to the execution state, and continues the installation process of the application program.
每一次系统调用都会重复过程300中的步骤,在安装完成后,甚至apt非正常结束后,所有apt操作过的文件的原始文件的备份文件和日志文件都存储到/data/var/cache/A/B_Package中,将该文件夹打包压缩成文件(例如:B_Package.diff),即生成恢复点数据文件。可以根据该文件完成系统恢复,将系统恢复到程序安装前的状态。The steps in process 300 are repeated for each system call. After the installation is completed, even after apt ends abnormally, the backup files and log files of the original files of all apt-operated files are stored in /data/var/cache/A In /B_Package, the folder is packaged and compressed into a file (for example: B_Package.diff), that is, a recovery point data file is generated. System recovery can be completed based on this file, restoring the system to the state before the program was installed.
根据本发明的一个实施例,如果安装的B_Package,造成了某些系统问题,可以通过B_Package.diff恢复B_Package安装包安装前的系统状态,可以通过执行指令sudo A B_Package实现。According to an embodiment of the present invention, if the installed B_Package causes some system problems, the system state before the installation of the B_Package installation package can be restored through B_Package.diff, which can be achieved by executing the command sudo A B_Package.
图4示出了根据本发明一个实施例的系统恢复过程400的流程图。如图4所示,该过程始于步骤S410,解压恢复点数据文件。以B_Package为例,其恢复点数据文件为B_Package.diff,对其进行解压,其中包括日志文件install.log以及相关的备份文件。FIG. 4 shows a flowchart of a system recovery process 400 according to one embodiment of the present invention. As shown in FIG. 4, the process starts at step S410, decompressing the recovery point data file. Take B_Package as an example, the recovery point data file is B_Package.diff, and decompress it, including the log file install.log and related backup files.
随后进入步骤S420,依次获取日志文件中的记录信息,并根据记录信息进行数据恢复。Subsequently, step S420 is entered, the record information in the log file is sequentially acquired, and data recovery is performed according to the record information.
根据本发明的一个实施例,获取到的日志文件中的数据记录为/user/share/doc/test.txt##**##new##**##test.txt,即在/user/share/doc/中新创建了文件test.txt,在进行数据恢复时,则直接删除/user/share/doc/test.txt。According to an embodiment of the present invention, the data in the obtained log file is recorded as /user/share/doc/test.txt##**##new##**##test.txt, that is, in /user/ The file test.txt is newly created in share/doc/, and when data recovery is performed, /user/share/doc/test.txt is directly deleted.
当获取到的日志数据为/user/bin/B_test##**##writeover##**##B_test时,在本步骤中,将恢复点数据文件夹中的B_test复制到/user/bin/B_test。When the obtained log data is /user/bin/B_test##**##writeover##**##B_test, in this step, copy B_test in the recovery point data folder to /user/bin/ B_test.
当获取到的日志数据为/usr/share/doc/M##**##delete##**##M时,将恢复点数据文件夹中的M复制到/usr/share/doc/中完成数据恢复。When the obtained log data is /usr/share/doc/M##**##delete##**##M, copy M in the recovery point data folder to /usr/share/doc/ Complete data recovery.
图5示出了根据本发明一个实施例的应用程序安装装置500的示意图。该装置属于驻留在计算设备中执行方法200,如图5所示,应用程序安装装置500包括程序安装单元510、恢复点备份单元520以及数据恢复单元530。FIG. 5 shows a schematic diagram of an application installation apparatus 500 according to an embodiment of the present invention. The apparatus belongs to the execution method 200 resident in a computing device. As shown in FIG. 5 , the application installation apparatus 500 includes a program installation unit 510 , a recovery point backup unit 520 and a data recovery unit 530 .
程序安装单元510适于启动第一执行程序,第一执行程序通过进程跟踪机制启动软件包管理程序,通过软件包管理程序安装目标应用程序。The program installation unit 510 is adapted to start the first execution program, the first execution program starts the software package management program through the process tracking mechanism, and installs the target application program through the software package management program.
恢复点备份单元520适于根据进程跟踪机制,通过第一执行程序获取软件包管理程序安装应用程序中的系统调用数据,并生成恢复点数据。The recovery point backup unit 520 is adapted to obtain the system call data in the installation application of the software package management program through the first execution program according to the process tracking mechanism, and generate the recovery point data.
数据恢复单元530适于根据目标程序恢复点数据,将当前计算设备的系 统环境还原为目标程序安装前的状态。The data recovery unit 530 is adapted to restore the system environment of the current computing device to the state before the target program is installed according to the target program recovery point data.
根据本发明的应用程序安装方法,第一执行程序通过进程跟踪机制启动软件包管理程序,将进程跟踪机制和软件包管理程序性结合,从而可以实现,在应用程序安装/升级过程中,通过第一执行程序获取软件包管理程序安装/升级应用程序过程中的系统调用数据,从而获得系统文件的更新变化数据,将这些数据生成恢复点数据,从而可以实现,在卸载所安装的应用程序时,保证系统能够恢复到安装应用程序前的状态,保证系统和其他应用程序正常运行。尤其当所安装的应用程序或应用程序的升级包存在错误时,能够将系统恢复到原始状态,使系统文件和其他应用程序不受影响。According to the application installation method of the present invention, the first execution program starts the software package management program through the process tracking mechanism, and the process tracking mechanism and the software package management program are combined programmatically, so that during the application program installation/upgrade process, through the first program An execution program obtains the system call data in the process of installing/upgrading the application program by the software package management program, thereby obtaining the update and change data of the system file, and generating the recovery point data from these data, so as to realize that when the installed application program is uninstalled, Ensure that the system can be restored to the state before the application was installed, and ensure the normal operation of the system and other applications. Especially when there is an error in the installed application or the upgrade package of the application, the system can be restored to the original state, so that system files and other applications are not affected.
本方案实现了操作系统恢复点的自动生成,伴随现有系统的安装程序,自动感知系统变化,自动实时生成恢复脚本,在linux的运维领域方面,将带来极大的便利,可以避免程序相互影响造成的系统故障,同时生成的恢复脚本,对故障的分析也会起到很大的作用。This solution realizes the automatic generation of operating system recovery points, along with the installation program of the existing system, automatically senses system changes, and automatically generates recovery scripts in real time. In the field of linux operation and maintenance, it will bring great convenience and avoid program The system failure caused by mutual influence, and the generated recovery script will also play a great role in the analysis of the failure.
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。The various techniques described herein can be implemented in conjunction with hardware or software, or a combination thereof. Thus, the method and apparatus of the present invention, or certain aspects or portions of the method and apparatus of the present invention, may take the form of an embedded tangible medium, such as a removable hard disk, a USB stick, a floppy disk, a CD-ROM, or any other machine-readable storage medium. in the form of program code (ie, instructions) that, when the program is loaded into a machine, such as a computer, and executed by the machine, the machine becomes an apparatus for practicing the invention.
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的应用程序安装方法。Where the program code is executed on a programmable computer, the computing device typically includes a processor, a storage medium readable by the processor (including volatile and nonvolatile memory and/or storage elements), at least one input device, and at least one output device. Wherein, the memory is configured to store program codes; the processor is configured to execute the application program installation method of the present invention according to the instructions in the program codes stored in the memory.
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。By way of example and not limitation, readable media include readable storage media and communication media. Readable storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Combinations of any of the above are also included within the scope of readable media.
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统 或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。In the specification provided herein, the algorithms and displays are not inherently related to any particular computer, virtual system, or other device. Various general purpose systems may also be used with examples of the present invention. The structure required to construct such a system is apparent from the above description. Furthermore, the present invention is not directed to any particular programming language. It is to be understood that various programming languages may be used to implement the inventions described herein, and that the descriptions of specific languages above are intended to disclose the best mode for carrying out the invention.
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the description provided herein, numerous specific details are set forth. It will be understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。It will be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together into a single embodiment, figure, or in its description. This disclosure, however, should not be interpreted as reflecting an intention that the invention as claimed requires more features than are expressly recited in each claim.
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。Those skilled in the art will appreciate that the modules or units or components of the apparatus in the examples disclosed herein may be arranged in the apparatus as described in this embodiment, or alternatively may be positioned differently from the apparatus in this example in one or more devices. The modules in the preceding examples may be combined into one module or further divided into sub-modules.
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。Those skilled in the art will understand that the modules in the device in the embodiment can be adaptively changed and arranged in one or more devices different from the embodiment. The modules or units or components in the embodiments may be combined into one module or unit or component, and further they may be divided into multiple sub-modules or sub-units or sub-assemblies. All features disclosed in this specification (including accompanying claims, abstract and drawings) and any method so disclosed may be employed in any combination, unless at least some of such features and/or procedures or elements are mutually exclusive. All processes or units of equipment are combined. Each feature disclosed in this specification (including accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权 利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。Furthermore, those skilled in the art will appreciate that although some of the embodiments described herein include certain features, but not others, included in other embodiments, that combinations of features of different embodiments are intended to be within the scope of the invention within and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。Furthermore, some of the described embodiments are described herein as methods or combinations of method elements that can be implemented by a processor of a computer system or by other means for performing the described functions. Thus, a processor having the necessary instructions for implementing the method or method element forms means for implementing the method or method element. Furthermore, an element of an apparatus embodiment described herein is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。As used herein, unless otherwise specified, the use of the ordinal numbers "first," "second," "third," etc. to describe common objects merely refers to different instances of similar objects, and is not intended to imply such The objects being described must have a given order in time, space, ordinal, or in any other way.
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。While the invention has been described in terms of a limited number of embodiments, those skilled in the art will appreciate, having the benefit of the above description, that other embodiments are conceivable within the scope of the invention thus described. Furthermore, it should be noted that the language used in this specification has been principally selected for readability and teaching purposes, rather than to explain or define the subject matter of the invention. Accordingly, many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the appended claims. This disclosure is intended to be illustrative, not restrictive, as to the scope of the present invention, which is defined by the appended claims.

Claims (11)

  1. 一种应用程序安装方法,适于在计算设备中执行,所述方法包括:An application installation method suitable for execution in a computing device, the method comprising:
    启动第一执行程序;start the first execution program;
    所述第一执行程序通过进程跟踪机制启动软件包管理程序;The first execution program starts the software package management program through the process tracking mechanism;
    通过所述软件包管理程序安装目标程序;Install the target program through the package management program;
    根据所述进程跟踪机制,通过所述第一执行程序获取所述软件包管理程序的系统调用数据,并生成目标程序恢复点数据。According to the process tracking mechanism, the system call data of the software package management program is acquired through the first execution program, and target program recovery point data is generated.
  2. 如权利要求1所述的方法,其中,所述根据所述进程跟踪机制,通过所述第一执行程序获取所述软件包管理程序的系统调用数据包括:The method of claim 1, wherein, according to the process tracking mechanism, acquiring the system call data of the software package management program through the first execution program comprises:
    创建目标程序恢复点目录;Create the target program recovery point directory;
    在所述目标目标程序恢复点目录中创建日志文件;creating a log file in the target target program recovery point directory;
    根据所述进程跟踪机制,当所述软件包管理程序完成每一个系统调用时,所述软件包管理程序进入阻塞状态;According to the process tracking mechanism, when the software package management program completes each system call, the software package management program enters a blocking state;
    所述第一执行程序获取所述软件包管理程序的系统调用数据,并进行记录;The first execution program obtains the system call data of the software package management program, and records it;
    所述第一执行程序将所述软件包管理程序的状态设置为执行状态,以便所述软件包管理程序继续安装所述目标程序。The first execution program sets the state of the software package management program to an execution state, so that the software package management program continues to install the target program.
  3. 如权利要求2所述的方法,其中,所述第一执行程序获取所述软件包管理程序的系统调用数据,并进行记录包括:The method according to claim 2, wherein the first execution program obtains the system call data of the software package management program and records it, comprising:
    当所述系统调用数据为更新文件或删除文件时,备份该文件的原始文件并存储在所述目标程序恢复点目录中,记录文件的路径信息、操作类型以及文件名称;When the system call data is an updated file or a deleted file, the original file of the file is backed up and stored in the target program recovery point directory, and the path information, operation type and file name of the file are recorded;
    当所述系统调用数据为新建文件时,记录所述新建文件的路径信息、操作类型以及文件名称。When the system call data is a newly created file, the path information, operation type and file name of the newly created file are recorded.
  4. 如权利要求3所述方法,其中,所述操作类型包括:新建、更新以及删除。The method of claim 3, wherein the operation types include: create, update, and delete.
  5. 一种应用程序恢复方法,所述方法包括:An application program recovery method, the method includes:
    根据目标程序恢复点数据,将当前计算设备的系统环境还原为所述目标程序安装前的状态,其中,所述目标程序恢复点数据根据权利要求1-4中任意一项所述的方法生成。The system environment of the current computing device is restored to the state before the target program is installed according to the target program recovery point data, wherein the target program recovery point data is generated according to the method of any one of claims 1-4.
  6. 如权利要求1-5中任意一项所述的方法,所述根据目标程序恢复点数据,将当前计算设备的系统环境还原为所述目标程序安装前的状态包括:The method according to any one of claims 1-5, wherein restoring the system environment of the current computing device to a state before the target program is installed according to the target program recovery point data comprises:
    将所述操作类型为更新的文件恢复为原始文件;restoring the file whose operation type is updated to the original file;
    将所述操作类型为删除的文件恢复到原始路径;restoring the file whose operation type is deleted to the original path;
    将所述操作类型为新建的文件进行删除。Delete the file whose operation type is newly created.
  7. 如权利要求1-6中任意一项所述的方法,所述计算设备安装有Linux系统,所述进程跟踪机制为ptrace,所述软件包管理程序为apt。The method according to any one of claims 1-6, wherein the computing device is installed with a Linux system, the process tracking mechanism is ptrace, and the software package management program is apt.
  8. 如权利要求1-7中任意一项所述的方法,所述方法由系统管理员身份执行。The method of any of claims 1-7, which is performed by a system administrator.
  9. 一种应用程序安装装置,适于驻留在计算设备中,所述装置包括:An application installation apparatus adapted to reside in a computing device, the apparatus comprising:
    程序安装单元:适于启动第一执行程序,所述第一执行程序通过进程跟踪机制启动软件包管理程序,通过所述软件包管理程序安装目标程序;a program installation unit: adapted to start a first execution program, the first execution program starts a software package management program through a process tracking mechanism, and installs a target program through the software package management program;
    恢复点备份单元:适于根据所述进程跟踪机制,通过所述第一执行程序获取所述软件包管理程序的系统调用数据,并生成目标程序恢复点数据。Recovery point backup unit: adapted to acquire system call data of the software package management program through the first execution program according to the process tracking mechanism, and generate target program recovery point data.
  10. 一种计算设备,包括:A computing device comprising:
    至少一个处理器;以及at least one processor; and
    存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述方法的指令。a memory storing program instructions, wherein the program instructions are configured to be adapted for execution by the at least one processor, the program instructions comprising instructions for performing the method of any of claims 1-8 .
  11. 一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述方法。A readable storage medium storing program instructions which, when read and executed by a computing device, cause the computing device to perform the method according to any one of claims 1-8.
PCT/CN2021/124288 2021-01-21 2021-10-18 Application program installation method and apparatus, and computing device and readable storage medium WO2022156277A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110078660.1A CN112416379B (en) 2021-01-21 2021-01-21 Application program installation method and device, computing equipment and readable storage medium
CN202110078660.1 2021-01-21

Publications (1)

Publication Number Publication Date
WO2022156277A1 true WO2022156277A1 (en) 2022-07-28

Family

ID=74783116

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/124288 WO2022156277A1 (en) 2021-01-21 2021-10-18 Application program installation method and apparatus, and computing device and readable storage medium

Country Status (2)

Country Link
CN (1) CN112416379B (en)
WO (1) WO2022156277A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416379B (en) * 2021-01-21 2021-06-01 统信软件技术有限公司 Application program installation method and device, computing equipment and readable storage medium
CN113066515B (en) * 2021-04-14 2022-04-29 统信软件技术有限公司 Optical disc recording method, computing equipment and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902564A (en) * 2012-09-26 2013-01-30 北京奇虎科技有限公司 Method and device for installing patches
CN103345411A (en) * 2013-07-09 2013-10-09 北京奇虎科技有限公司 Method and device for uninstalling application program
CN108733380A (en) * 2017-04-21 2018-11-02 北京京东尚科信息技术有限公司 Using dispositions method and device
CN112416379A (en) * 2021-01-21 2021-02-26 统信软件技术有限公司 Application program installation method and device, computing equipment and readable storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8490082B2 (en) * 2005-11-03 2013-07-16 International Business Machines Corporation System and method for representing user processes as software packages in a software package management system
CN102591745B (en) * 2011-12-26 2014-03-12 Tcl集团股份有限公司 Method and device for system recovery based on android system and intelligent equipment
CN103677963A (en) * 2013-12-26 2014-03-26 清华大学 Application program virtualization method and system
CN103699420B (en) * 2013-12-31 2017-01-04 海信集团有限公司 System recovery method and system recovery device
CN104111848B (en) * 2014-06-27 2017-04-26 华中科技大学 Multi-thread software dynamic upgrading method based on asynchronous check points
CN108008962A (en) * 2017-12-12 2018-05-08 郑州云海信息技术有限公司 The collocation method and system of PXE server under a kind of linux system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902564A (en) * 2012-09-26 2013-01-30 北京奇虎科技有限公司 Method and device for installing patches
CN103345411A (en) * 2013-07-09 2013-10-09 北京奇虎科技有限公司 Method and device for uninstalling application program
CN108733380A (en) * 2017-04-21 2018-11-02 北京京东尚科信息技术有限公司 Using dispositions method and device
CN112416379A (en) * 2021-01-21 2021-02-26 统信软件技术有限公司 Application program installation method and device, computing equipment and readable storage medium

Also Published As

Publication number Publication date
CN112416379B (en) 2021-06-01
CN112416379A (en) 2021-02-26

Similar Documents

Publication Publication Date Title
US9940225B2 (en) Automated error checking system for a software application and method therefor
US9201632B2 (en) Systems and methods for incremental software development
JP5007046B2 (en) Maintaining component-based software products
JP5444368B2 (en) Application restore point
CN102521081B (en) Repair destroyed software
WO2022156277A1 (en) Application program installation method and apparatus, and computing device and readable storage medium
WO2018045733A1 (en) Method for loading android system so files, and electronic device
US11748245B2 (en) Object-oriented regression-candidate filter
CN109684298B (en) Database migration method, device, equipment and storage medium
WO2022148185A1 (en) Data packet updating method and apparatus, electronic device, and readable storage medium
US9459883B2 (en) Modifying disk images
US8132047B2 (en) Restoring application upgrades using an application restore point
US20130167138A1 (en) Method and apparatus for simulating installations
JP6058498B2 (en) Compiling method, program, and compiling device
WO2022222378A1 (en) Kernel clipping method and computing device
US11080123B2 (en) Information processing apparatus
US8850399B2 (en) Software development using code retraction and background warm up
CN112114816A (en) Distributed compiling system and method
US20220207438A1 (en) Automatic creation and execution of a test harness for workflows
CN115964059A (en) Virtualization resource pool upgrading method and related device
US10474446B2 (en) Installation tool for adhering to enterprise requirements
JP5149849B2 (en) System environment change / restore / modification history management method
JP2001005688A (en) Debugging support device for parallel program
CN114168143A (en) Method and device for positioning source code in software, computing equipment and readable storage medium
CN114911484A (en) Source code mapping file generation method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21920655

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21920655

Country of ref document: EP

Kind code of ref document: A1