Software upgrading method and device
Through the AI software upgrade business module, the compliance software package is identified, the operating environment is judged and the corresponding partition is installed, which solves the complexity and high maintenance costs in the software upgrade process of Linux system, and realizes user-friendly and accurate software upgrades and updates.
Patent Information
- Application Number
- CN202411542916.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2024-12-31
AI Technical Summary
The upgrade process of existing Linux system software is complicated, difficult for ordinary users to operate, lacks personalized experience, difficult to return if upgrade failed, and high maintenance costs.
The AI software upgrade business module is used to identify the compliant software package, judge the operating environment, install it to the corresponding partition, and display prompt information after the installation is successful, providing user satisfaction surveys and version rollback processing.
It reduces operational complexity, improves system control accuracy and flexibility, solves problems such as user confusion, wrong operations, insufficient personalized experience, difficulty in rollback and high maintenance costs, and realizes unconscious software package updates and installations.
Smart Images

Figure CN119225769A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer applications, and in particular to a software upgrading method and device. Background Art
[0002] Currently, Linux is one of the most popular operating systems, and is widely used in both desktop and server fields. In Linux, software upgrade is a common and very important operation. Software upgrade has the functions of fixing vulnerabilities, improving performance, and updating iterations. The main ways to upgrade software are package manager upgrades or command line tools.
[0003] For example, the software upgrade process in the Linux system is: 1) Update the software package index, check the available system software packages for updates; 2) Download the system software package and dependencies through the package manager; 3) Install and update the system software package and dependencies; 4) Prompt the user to confirm the processing of the newly installed software package or delete the old software package; 5) Prompt the user to process the configuration file, retain or overwrite the user's settings for the system package; 6) Clean up the old system software package and release the disk; 7) Prompt the user to restart the computer; 8) After restarting, perform the optimal configuration of the upgraded system services and software; 9) Verify and complete the new version system update.
[0004] The above software upgrade process, on the one hand, brings advantages such as flexibility, speed, convenience, and security to software upgrades, but on the other hand, it also brings the following problems to software upgrades: 1) Software upgrades usually require certain technical knowledge, which may be complicated for ordinary users. Especially for users who are not familiar with the details of the Linux system, it will cause confusion and wrong operations; 2) When software upgrades are performed through package managers or command line tools, most upgrade tools use a "one-size-fits-all" approach to handle updates, and cannot provide personalized experiences based on user needs and usage patterns; 3) Too many system software packages are updated during software upgrades, and the version cannot be rolled back if the upgrade fails, and it is difficult to locate the problem, and the update and maintenance costs are high. Summary of the invention
[0005] In view of this, an embodiment of the present invention provides a software upgrade method and device to solve the problems that the existing software upgrade process brings confusion to users, causes errors, fails to provide users with a personalized experience, cannot roll back versions when the upgrade fails, is difficult to locate, and has high maintenance costs.
[0006] In a first aspect, an embodiment of the present invention provides a software upgrade method, the method being applied to an AI software upgrade service module, the AI software upgrade service module being in an electronic device, the electronic device further comprising a system disk, the system disk being divided into a plurality of partitions, the method comprising: When it is determined that there is a software package to be processed, identifying whether the software package to be processed is a compliant software package; If yes, determine whether the current operating environment meets the installation conditions of the software package; If the conditions are met, installing the software package to be processed in a partition corresponding to the software type of the software package to be processed; If the installation is successful, a first prompt message is displayed to inform the user that the installation of the software package to be processed is complete.
[0007] In a second aspect, an embodiment of the present invention provides a software upgrade device, the device is applied to an AI software upgrade service module, the AI software upgrade service module is in an electronic device, the electronic device also includes a system disk, the system disk is divided into multiple partitions, and the device includes: an identification unit, configured to identify whether the to-be-processed software package is a compliant software package when it is determined that there is a to-be-processed software package; A judging unit, configured to judge whether the current operating environment satisfies the installation conditions of the software package; An installation unit, configured to install the software package to be processed in a partition corresponding to the software type of the software package to be processed if the conditions are met; The display unit is used to display a first prompt message if the installation is successful, so as to inform the user that the installation of the software package to be processed is complete.
[0008] In a third aspect, an embodiment of the present invention provides an electronic device, comprising: a housing, a processor, a memory, a circuit board and a power supply circuit, wherein the circuit board is placed inside a space enclosed by the housing, and the processor and the memory are arranged on the circuit board; a power supply circuit is used to supply power to various circuits or devices of the above-mentioned electronic device; the memory is used to store executable program code; the processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, so as to execute the software upgrade method described in the method of the first aspect above.
[0009] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the software upgrade method described in the first aspect.
[0010] A software upgrade method and device provided by an embodiment of the present invention, when it is determined that there is a software package to be processed, an AI software upgrade business module identifies whether the software package to be processed is a compliant software package; if so, the AI software upgrade business module determines whether the current operating environment meets the installation conditions of the software package; if so, the AI software upgrade business module installs the software package to be processed in a partition corresponding to the software type of the software package to be processed; if the installation is successful, the AI software upgrade business module displays a first prompt message to notify the user that the installation of the software package to be processed is complete.
[0011] The above solution uses the AI software upgrade business module to complete the identification and installation of multiple types of software packages. The entire process does not require too much user access, which reduces the complexity of operation and maintenance costs, and improves the precise control of the system and its lightweight flexibility. It solves the problems of the existing software upgrade process that brings confusion to users, errors, and cannot provide users with a personalized experience, and the inability to roll back versions after upgrade failures, difficult positioning, and high maintenance costs. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0013] Figure 1 A flowchart of a software upgrade method provided by an embodiment of the present invention; Figure 2 A schematic diagram of a system disk provided by an embodiment of the present invention; Figure 3 Another software upgrade method flow chart provided by the embodiment of the present invention; Figure 4 A schematic diagram of the structure of a software upgrade device provided in an embodiment of the present invention; Figure 5 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. Implementation
[0014] The embodiments of the present invention are described in detail below with reference to the accompanying drawings.
[0015] It should be clear that the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0016] The following is combined with Figure 1, describe in detail the solution provided by the embodiment of the present invention, Figure 1 The flowchart of a software upgrade method provided by an embodiment of the present invention. In the embodiment of the present invention, the implementation subject is an AI software upgrade service module in an electronic device. The electronic device can be a server, a desktop, a PC, etc. Figure 1 As shown, the method of this embodiment specifically includes the following steps: Step 110: When it is determined that there is a software package to be processed, identifying whether the software package to be processed is a compliant software package; In this step, when the AI software upgrade service module determines that there is a software package to be processed, it obtains the software attribute information of the software package to be processed. According to the software attribute information of the software package to be processed, the AI software upgrade service module identifies whether the software package to be processed is a compliant software package.
[0017] If the software package to be processed is a compliant software package, the AI software upgrade service module executes step 120; if the software package to be processed is not a compliant software package, the AI software upgrade service module generates an identification report and displays a prompt message to notify the user that the software package to be processed is a non-compliant software package. The user then decides whether to re-download the software package to be processed.
[0018] In this embodiment, the software attribute information includes but is not limited to name, version, function description, developer, type, dependency, release log, etc. The AI software upgrade service module identifies the above information to determine whether the source of the software package to be processed is a legal channel, whether the content includes illegal content, etc., and finally determines whether the software package to be processed is a compliant software package.
[0019] In this embodiment, the AI software upgrade service module is installed in the system disk of the electronic device in the form of a software package. The service module has the functions of AI model and software upgrade. The AI model can realize functions such as information interaction with users, receiving messages / instructions, downloading / verifying software packages, generating logs, analyzing update logs, and recording / reporting logs.
[0020] In this embodiment, according to the DAP software package specification, any software package in the electronic device is a DAP software package in a Ding Advanced Package (DAP) format.
[0021] In this step, the process of the AI software upgrade service module determining that there is a software package to be processed is described in detail in subsequent embodiments and will not be repeated here.
[0022] Step 120: If yes, determine whether the current operating environment meets the installation conditions of the software package; In this step, if the software package to be processed is a compliant software package, the AI software upgrade business module obtains information to determine the current operating environment of the electronic device, and determines whether the current operating environment meets the installation conditions of the software package based on the obtained information.
[0023] If the current operating environment meets the installation conditions of the software package, the AI software upgrade service module executes step 130; if the current operating environment does not meet the installation conditions of the software package, the AI software upgrade service module may temporarily not install the pending software package and periodically obtain information about the current operating environment. When the current operating environment meets the installation conditions of the software package, step 130 is executed.
[0024] In this embodiment, the installation conditions are different according to the different software types of the software packages to be processed.
[0025] Optionally, in an implementation manner, the software type of the software package to be processed is specifically a first-category software package, which may also be referred to as a system software package.
[0026] The AI software upgrade business module determines whether the current operating environment meets the installation conditions of the software package. The specific process is as follows: the AI software upgrade business module identifies the system upgrade status of the electronic device (the system upgrade status is used to indicate whether the current system is being upgraded or not, which can be identified by a flag bit). If the system upgrade status is stable (i.e. not upgraded), the AI software upgrade business module obtains the attribute value of the system performance indicator of the electronic device. The attribute value includes but is not limited to key indicators such as system power status, energy consumption status, system CPU occupancy, disk space occupancy, and file IO volume.
[0027] If the attribute value of the system performance indicator meets the preset attribute threshold (each indicator corresponds to an attribute threshold, which can be set based on experience), the AI software upgrade business module determines that the current operating environment meets the installation conditions of the system software package.
[0028] In another implementation, the software type of the software package to be processed is a second-category software package, which may also be referred to as a user software package.
[0029] The AI software upgrade service module determines whether the current operating environment meets the installation conditions of the software package. The specific process is as follows: the AI software upgrade service module obtains the current system resources of the electronic device. The current system resources include but are not limited to the current software and hardware resources of the electronic device.
[0030] The AI software upgrade service module determines whether the current system resources meet the system resources required by the software package to be processed. If the current system resources meet the system resources required by the software package to be processed, the AI software upgrade service module continues to determine whether the program represented by the software package to be processed is currently running in the electronic device.
[0031] If the program represented by the software package to be processed is not currently running in the electronic device, the AI software upgrade service module determines that the current operating environment meets the installation conditions of the user software package.
[0032] If the current system resources do not meet the system resources required by the software package to be processed, or the program represented by the software package to be processed is currently running in the electronic device, the AI software upgrade service module waits for the current system resources to be met, or, after the program runs, periodically (each at an interval of 3s) monitors for 3 consecutive times to see whether the installation conditions are met again. After the installation conditions are met, the installation is performed.
[0033] Step 130: If the conditions are met, the software package to be processed is installed in a partition corresponding to the software type of the software package to be processed; In this step, if the current operating environment meets the installation conditions of the software package, the AI software upgrade service module installs the software package to be processed in the partition corresponding to its software type according to the software type of the software package to be processed.
[0034] The software types include system software packages and user software packages.
[0035] Optionally, in this embodiment, after being installed in the electronic device, the AI software upgrade service module will obtain an open source basic software package for building a basic operating system environment, and learn software attribute information of a large number of open source basic software packages.
[0036] According to the guidance methods for building operating systems such as LFS and BLFS, it is known that about 600 open source basic software packages are needed to build the basic operating system environment. The electronic device builds the above open source basic software packages into dap packages in dap format and classifies the open source basic software packages according to the necessary standards for basic system operation and the principles of necessary tools for building basic systems.
[0037] Furthermore, the software packages that are necessary for the operation and construction of the basic system are marked as system software packages. For example, the desktop basic system message bus program (dbus); the software packages that are not necessary for the operation and construction of the basic operating system are marked as user software packages. For example, the dictionary tree display tool and the AI software upgrade business module.
[0038] The electronic device indicates the type of each software package in the functional description of the software package. The electronic device also stores a local software package index database, in which the index and software attribute information of each software package are recorded.
[0039] The electronic device also inputs the first and second software packages into the AI software upgrade business model. After obtaining the first and second software packages, the AI software upgrade business model learns the software attribute information of each software package, understands and masters these open source basic software packages, so that when it is determined that there are software packages to be processed, the software packages to be processed are classified and processed according to the learning results.
[0040] In this embodiment, the electronic device includes a POC, which includes one or more hard disks, also called system disks. The system disk is used to store various information of the operating system / user, namely, software packages, programs, files, data, etc.
[0041] The system disk is described here.
[0042] Alternatively, if Figure 2 shown. Figure 2 A schematic diagram of a system disk provided in an embodiment of the present invention. In this embodiment, according to the dap software package specification, the system disk is divided into multiple partitions, namely, a system partition, a user partition, and a rescue partition. The number of system partitions can be multiple. For example, a first system partition and a second system partition, the second system partition is used as a backup partition of the first system partition.
[0043] The system partition is used to store the system software packages currently running the basic system; the user partition is used to store user data files and user software packages that are not affected by system updates; the rescue partition is used to store rollback versions of system software packages and system data.
[0044] In this embodiment, the system software package is stored and installed in the first system partition, and the system program represented by the system software package runs in the first system partition. The system software package is also stored and installed in the second system partition; the user software package is stored and installed in the user partition, and the application program represented by the second software package runs in the user partition. The user partition also stores user data.
[0045] Optionally, in this embodiment, the AI software upgrade service module installs the software package to be processed in a partition corresponding to the software type of the software package to be processed, and the specific process is: If the software package to be processed is a system software package, the AI software upgrade service module installs the system software package in the system partition where no system program is currently running; If the software package to be processed is a user software package, the AI software upgrade service module installs the user software package in the user partition.
[0046] In one example, if the current system program is running in the first system partition and the software package to be processed is a system software package, the AI software upgrade service module will install the software package to be processed in the second system partition; conversely, if the current system program is running in the second system partition and the software package to be processed is a system software package, the AI software upgrade service module will install the software package to be processed in the first system partition.
[0047] It should be noted that after the installation is completed, if the electronic device is currently in a deep sleep state or there is no user software program running on the electronic device, the AI software upgrade service module will restart the POC after the timer counts for 60 seconds.
[0048] If the electronic device is currently in working state or there is a user software program running on the electronic device, the AI software upgrade service module displays a prompt message to inform the user that the electronic device needs to be restarted, and waits for the user to enter the restart command. After the electronic device restarts the system, it automatically switches to the second system partition and enters the new version system, achieving the purpose of rapid system iteration and maintaining system security and stability.
[0049] Step 140: If the installation is successful, a first prompt message is displayed to inform the user that the installation of the software package to be processed is complete.
[0050] In this step, the AI software upgrade service module determines whether the software package to be processed is installed in the corresponding partition. If the software package to be processed is successfully installed, the AI software upgrade service module generates and displays a first prompt message to the user. The first prompt message is used to notify the user that the installation of the software package to be processed is complete.
[0051] Optionally, in this embodiment, for the user software package, the first prompt information also includes satisfaction information, which is used to conduct a satisfaction survey on the user. The satisfaction information can be displayed to the user in the form of a questionnaire and filled in by the user.
[0052] The AI software upgrade service module receives the reply information input by the user and identifies and analyzes the reply information. If the reply information is negative information, that is, it includes words, sentences, meanings, etc. that the user is dissatisfied with the current installation, the AI software upgrade service module determines whether to perform a version rollback on the user software package after the current installation; if a version rollback is performed, the AI software upgrade service module uninstalls the user software package installed this time and installs the previous version of the user software package; if a version rollback is not performed, the AI software upgrade service module uninstalls the user software package installed this time and reinstalls the user software package.
[0053] If the reply information is positive, that is, it includes words, sentences, meanings, etc. that the user is satisfied with the installation, the AI software upgrade business module stores the installation log of the software package to be processed and the corresponding satisfaction information, and ends the installation task.
[0054] Optionally, in this embodiment, if the installation of the software package to be processed fails, the AI software upgrade service module obtains and analyzes the installation log of the software package to be processed; based on the installation log, the AI software upgrade service module repairs the cause of the failure of the installation of the software package to be processed; if the repair fails, the AI software upgrade service module reports the installation log and performs version rollback processing on the program represented by the software package to be processed (i.e., the AI software upgrade service module uninstalls the software package to be processed installed this time, and installs the previous version of the software package to be processed). If the repair is successful, the AI software upgrade service module ends this installation task.
[0055] The installation log records the installation time and installation process information, and the installation process information records the instructions, functions, resources used, reasons for success / failure, etc. called during the installation process.
[0056] The above-mentioned repair process for the cause of installation failure specifically means that the AI software upgrade business module can repair common solvable installation problems. For installation problems that cannot be solved, the AI software upgrade business module will also report the installation log and perform version rollback on the program represented by the software package to be processed.
[0057] In one example, if the installation problem is that the network is unreachable, the AI software upgrade service module can record the status of the current installation operation and retain the status of the current installation operation. The AI software upgrade service module cyclically detects the network link of the electronic device and displays a network abnormality prompt to the user. After detecting that the network is restored, the installation operation is resumed.
[0058] In another example, the installation problem is that the electronic device is turned off or receives a stop installation instruction, and the AI software upgrade business module also records the status of the current installation operation and retains the status of the current installation operation. The AI software upgrade business module waits for the electronic device to restart, or receives a resume installation instruction, and then continues the installation operation.
[0059] The above solution uses the AI software upgrade business module to complete the identification and installation of multiple types of software packages. The entire process does not require too much user access, which reduces the complexity of operation and maintenance costs, and improves the precise control of the system and its lightweight flexibility. It solves the problems of the existing software upgrade process that brings confusion to users, errors, and cannot provide users with a personalized experience, and the inability to roll back versions after upgrade failures, difficult positioning, and high maintenance costs.
[0060] The above solution changes the existing system update and software installation to the update of the software package version of some functional modules or the installation of new software packages. After the installation is completed, the user is notified to restart and enter the new operating system or start the new software function. For users, the dap software package is invisible, and the update and installation are completed without perception, which enhances the stability and security of the operating system at the lowest cost and completes the rapid deployment of new software functions.
[0061] Optionally, in this embodiment, the software package to be processed may specifically be an update software package.
[0062] In one implementation, the update software package is specifically a system software package. Before executing step 110, the AI software upgrade service module will also perform the following process: When a new version of the system software package appears, the cloud platform can send a notification message to the electronic device. The electronic device forwards the notification message to the AI software upgrade service module. Alternatively, the electronic device displays the system update in the settings page. After the user confirms the system update, he clicks the update button in the settings page to send an update instruction to the AI software upgrade service module.
[0063] After receiving the notification message or the update instruction, the AI software upgrade service module obtains a first software package list from the cloud platform according to the notification message or the update instruction. The first software package list includes a first version of at least one system software package stored in the cloud platform.
[0064] It should be noted that the first software package list may also include an index of each system software package; the first version is the latest version of each system software package.
[0065] According to the first software package list, the AI software upgrade service module updates the local software package index database to make the local and cloud consistent. For example, according to the index of the system software package, the version of each system software package is updated.
[0066] The AI software upgrade service module identifies whether the second version of the locally installed system software package is the same as the first version. If the second version is different from the first version, the AI software upgrade service module determines that the system software package needs to be updated and determines it as an update software package. The second version is the current version of the system software package locally installed in the electronic device.
[0067] The AI software upgrade service module obtains the first software attribute information of the update software package from the cloud platform again. According to the first software attribute information, the AI software upgrade service module identifies the software type of the update software package. According to the first software attribute information and the software type of the update software package, the AI software upgrade service module continues to execute step 110.
[0068] In another implementation, the update software package is specifically a user software package. Before executing step 110, the AI software upgrade service module will also perform the following process: According to the timer file configured by the user, the AI software upgrade service module periodically obtains a first software package list from the cloud platform. The first software package list includes a first version of at least one user software package stored in the cloud platform.
[0069] It should be noted that the first software package list may also include an index of each user software package; the first version is the latest version of each user software package.
[0070] According to the first software package list, the AI software upgrade service module updates the local software package index database to make the local and cloud consistent. For example, according to the index of the user software package, the version of each user software package is updated.
[0071] The AI software upgrade service module identifies whether the second version of the locally installed user software package is the same as the first version. If the second version is different from the first version, the AI software upgrade service module determines that the user software package needs to be updated and determines it as an update software package. The second version is the current version of the user software package locally installed in the electronic device.
[0072] The AI software upgrade service module obtains the first software attribute information of the update software package from the cloud platform again. According to the first software attribute information, the AI software upgrade service module identifies the software type of the update software package. According to the first software attribute information and the software type of the update software package, the AI software upgrade service module continues to execute step 110.
[0073] It should be noted that the AI software upgrade service module is configured in the timing file to detect the new version of the user software package. For example, the default is to detect the new version of the user software package at 12:00 and 1:00 every day. In this way, the AI software upgrade service module obtains the first software package list from the cloud platform at 12:00 and 1:00 every day.
[0074] Optionally, in this embodiment, the software package to be processed may be a software package specified by the user. The software package is a software package specified by the user for installation. Before executing step 110, the AI software upgrade service module will also perform the following process: When a user wants to install a certain software package, the user interacts with the AI software upgrade service module in an AI-style manner. The user inputs a software installation request to the AI software upgrade service module, and the software installation request includes the second software attribute information. The second software attribute information is the software attribute information of the software package that the user wants to install.
[0075] After receiving the software installation request input by the user, the AI software upgrade service module obtains the second software attribute information therefrom. According to the second software attribute information, the AI software upgrade service module searches by itself (for example, searches on the entire network, or searches on the software package providing platform, etc.) and obtains at least one matching software package and the third software attribute information of each software package. Among them, the third software attribute information is the software attribute information of the retrieved software package.
[0076] The AI software upgrade service module displays a second prompt message, which includes the third software attribute information of each software package obtained. The user selects the software package that he wants to install based on the displayed third software attribute information and his own needs. If the user is sure to install, the user inputs a software installation selection instruction to the AI software upgrade service module again, and the software installation selection instruction includes the third software attribute information of the software package selected by the user. If the user is sure not to install, the user inputs an end installation instruction to the AI software upgrade service module again. According to the end installation instruction, the AI software upgrade service module ends the interactive communication with the user.
[0077] After receiving the software installation selection instruction, the AI software upgrade service module obtains the third software attribute information therefrom. The AI software upgrade service module determines that the software package indicated by the third software attribute information is the software package specified for installation by the user, that is, the user-specified software package. Subsequently, according to the third software attribute information, the AI software upgrade service module executes step 110.
[0078] Optionally, in this embodiment, after the software package to be processed is installed, a situation occurs where the program represented by the software package to be processed fails to run.
[0079] If the program represented by the software package to be processed fails to run, the AI software upgrade business module detects the software package to be processed. For example, the AI software upgrade business module checks the installation file of the software package to be processed. The AI software upgrade business module also obtains and analyzes the program's running log. The running log records the running time and running process information. The running process information records the instructions, functions, resources used, reasons for success / failure, etc. called during the running process. According to the detection results and the running log, the AI software upgrade business module repairs the reasons for the failure of the program to run (program stuck, no response, electronic equipment shutdown). The above-mentioned repair processing of the reasons for the failure of the operation specifically means that the AI software upgrade business module can repair common solvable operating problems, and for unsolvable operating problems, the AI software upgrade business module will also report the running log and perform version rollback processing on the program represented by the software package to be processed.
[0080] The repair process includes but is not limited to restarting services, reinstalling software packages, and other operations to perform functional repairs.
[0081] The following is combined with Figure 3 , describe in detail the solution provided by the embodiment of the present invention, Figure 3 Another software upgrade method flow chart provided by the embodiment of the present invention. Figure 3 As shown, the method of this embodiment specifically includes the following steps: In this embodiment, the electronic device includes a system disk, which is divided into multiple partitions, namely, a system partition, a user partition, and a rescue partition. The system partition includes a first system partition and a second system partition, and the second system partition is used as a backup partition of the first system partition. The first system partition is the currently used system partition.
[0082] In the above embodiments, Figure 2 The system disk has been described in detail and will not be repeated here.
[0083] Step 300: Determine whether an update software package exists.
[0084] In one implementation, when a new version of the system software package appears, the cloud platform can send a notification message to the electronic device. The electronic device forwards the notification message to the AI software upgrade service module. Alternatively, the electronic device displays the system update in the settings page. After the user confirms to update the system, he clicks the update button in the settings page to send an update instruction to the AI software upgrade service module.
[0085] After receiving the notification message or the update instruction, the AI software upgrade service module obtains a first software package list from the cloud platform according to the notification message or the update instruction. The first software package list includes a first version of at least one system software package stored in the cloud platform.
[0086] According to the first software package list, the AI software upgrade service module updates the local software package index database to make the local and cloud consistent. For example, according to the index of the system software package, the version of each system software package is updated.
[0087] The AI software upgrade service module identifies whether the second version of the locally installed system software package is the same as the first version. If the second version is different from the first version, the AI software upgrade service module determines that the system software package needs to be updated and determines it as an updated software package.
[0088] In another implementation, according to the timer file configured by the user, the AI software upgrade service module periodically obtains a first software package list from the cloud platform. The first software package list includes a first version of at least one user software package stored in the cloud platform.
[0089] According to the first software package list, the AI software upgrade service module updates the local software package index database to make the local and cloud consistent. For example, according to the index of the user software package, the version of each user software package is updated.
[0090] The AI software upgrade service module identifies whether the second version of the locally installed user software package is the same as the first version. If the second version is different from the first version, the AI software upgrade service module determines that the user software package needs to be updated and determines it as an updated software package.
[0091] Step 301: Analyze the update software package.
[0092] In this step, no matter which method is used in the above steps, after the AI software upgrade service module determines the update software package, it will again obtain the first software attribute information of the update software package from the cloud platform.
[0093] Step 302: Identify the software type of the update software package.
[0094] In this step, based on the first software attribute information, the AI software upgrade service module identifies the software type of the update software package.
[0095] In this embodiment, the software types include system software packages and user software packages.
[0096] It should be noted that in step 300, the AI software upgrade service module can know the software type of the update software package in the process of determining the update software package in different ways. In this step, the AI software upgrade service module performs a secondary confirmation based on the software attribute information to avoid errors in step 300.
[0097] Step 303: Identify whether the update software package is a compliant software package.
[0098] In this step, based on the first software attribute information of the update software package, the AI software upgrade service module identifies whether the update software package is a compliant software package.
[0099] It should be noted that regardless of the software type of the update software package, the AI software upgrade service module executes this step.
[0100] In this embodiment, the first software attribute information includes but is not limited to name, version, function description, developer, type, dependency, release log, etc. The AI software upgrade service module identifies the above information to determine whether the source of the update software package is a legal channel, whether the content includes illegal content, etc., and finally determines whether the update software package is a compliant software package.
[0101] If the update software package is a compliant software package, the AI software upgrade service module executes step 309; If the update software package is not a compliant software package, the AI software upgrade service module generates an identification report and returns to step 300. At the same time, the AI software upgrade service module displays a prompt message to inform the user that the software package to be processed is a non-compliant software package, and the user decides whether to re-download the update software package.
[0102] Step 304: The user installs the software.
[0103] In this step, when the user wants to install a specified software package, the user interacts with the AI software upgrade service module in an AI-style manner. The user inputs a software installation request to the AI software upgrade service module, and the software installation request includes the second software attribute information. The second software attribute information indicates the specified software package.
[0104] Step 305: Retrieve the specified software package.
[0105] In this step, after receiving the software installation request input by the user, the AI software upgrade service module obtains the second software attribute information from it. According to the second software attribute information, the AI software upgrade service module searches for the specified software package by itself (for example, searching the entire network, or searching on the software package providing platform, etc.).
[0106] Step 306: Interact with the user to retrieve the software attribute information of the software package.
[0107] In this step, after retrieving the software packages, the AI software upgrade service module obtains at least one matching software package and the third software attribute information of each software package.
[0108] The AI software upgrade service module displays a second prompt information, which includes the third software attribute information of each software package obtained. The user selects the specified software package to be installed based on the displayed third software attribute information and his own needs.
[0109] Step 307: Determine whether to install the specified software package.
[0110] In this step, if the user determines to install, the user again inputs a software installation selection instruction to the AI software upgrade service module, and the software installation selection instruction includes the third software attribute information of the specified software package selected by the user.
[0111] If the user is sure not to install, the user again inputs an end installation instruction to the AI software upgrade service module. According to the end installation instruction, the AI software upgrade service module ends the interactive communication with the user and returns to step 304.
[0112] The AI software upgrade service module can determine whether the user has installed the specified software package by recognizing the words and semantics of the instructions entered by the user.
[0113] Step 308: Identify whether the specified software package is a compliant software package.
[0114] In this step, after the AI software upgrade service module determines to install the specified software package, the same process as the aforementioned step 303 is performed. According to the third software attribute information of the specified software package, the AI software upgrade service module identifies whether the specified software package is a compliant software package.
[0115] If the specified software package is a compliant software package, the AI software upgrade service module executes step 309; If the designated software package is not a compliant software package, the AI software upgrade service module generates an identification report and returns to step 304. At the same time, the AI software upgrade service module displays a prompt message to inform the user that the software package to be processed is a non-compliant software package, and the user decides whether to re-download the update software package.
[0116] Step 309: Determine whether the current operating environment meets the installation conditions of the software package.
[0117] According to the identification process in the aforementioned steps, if the software package (including the update software package and the designated software package) is a compliant software package, the AI software upgrade business module obtains information to determine the current operating environment of the electronic device, and determines whether the current operating environment meets the installation conditions of the software package based on the obtained information.
[0118] If the current operating environment meets the installation conditions of the software package, the AI software upgrade service module executes step 310 or step 311; if the current operating environment does not meet the installation conditions of the software package, the AI software upgrade service module may temporarily not install the software package to be processed, and periodically obtain information about the current operating environment. When the current operating environment meets the installation conditions of the software package, step 310 or step 311 is executed.
[0119] In this embodiment, the installation conditions are different according to the different software types of the software packages. In the above embodiments, the installation conditions of the software packages of different software types have been described in detail, which will not be repeated here.
[0120] It can be understood that if the software type of the software package is a system software package and the current operating environment meets the installation conditions of the software package, the AI software upgrade service module executes step 310.
[0121] If the software type of the software package is a user software package and the current operating environment meets the installation conditions of the software package, the AI software upgrade service module executes step 311.
[0122] Step 310: The system software package is installed in an unused system partition.
[0123] In this step, if the software package is a system software package, the AI software upgrade service module pre-installs the system software package in a system partition that is not currently running a system program.
[0124] The AI software upgrade service module determines that the current system program is running in the first system partition. The AI software upgrade service module first mounts and displays the second system partition so that the second system partition can be operated. Then, the AI software upgrade service module installs the system software package in the second system partition.
[0125] After the installation is complete, the AI software upgrade service module uninstalls and hides the second system partition.
[0126] Step 311: The user software package is installed in the user partition.
[0127] In this step, if the software package is a user software package, the AI software upgrade service module installs the user software package in the user partition.
[0128] Step 312: Determine whether the installation is successful.
[0129] In this step, the AI software upgrade service module determines whether the software package is installed in the corresponding partition.
[0130] If the installation is successful, the AI software upgrade service module executes step 313.
[0131] If the installation fails, the AI software upgrade service module executes step 318.
[0132] Step 313: If successful, display the first prompt message and perform a satisfaction survey.
[0133] In this step, if the software package is installed successfully, the AI software upgrade service module generates and displays a first prompt message to the user. The first prompt message is used to notify the user that the installation of the pending software package is complete.
[0134] Furthermore, for the user software package, the first prompt information also includes satisfaction information, which is used to conduct a satisfaction survey on the user. The satisfaction information can be displayed to the user in the form of a questionnaire and filled in by the user.
[0135] Step 314: Determine whether the user is satisfied.
[0136] In this step, the AI software upgrade business module receives the reply information input by the user and identifies and analyzes the reply information.
[0137] If the reply information is positive information, that is, including the words and meanings of the user's satisfaction with the installation, the AI software upgrade service module executes step 315. If the reply information is negative information, that is, it includes words, sentences, meanings, etc. that the user is dissatisfied with the current installation, the AI software upgrade service module executes step 316.
[0138] Step 315: If satisfied, store this installation behavior.
[0139] In this step, if the reply information is positive, the AI software upgrade business module stores the installation log of the software package to be processed and the corresponding satisfaction information, and executes step 321.
[0140] Step 316: If not satisfied, determine whether to perform version rollback.
[0141] In this step, if the reply information is negative, the AI software upgrade business module determines whether to roll back the version of the user software package after this installation.
[0142] If a version rollback is performed, the AI software upgrade service module executes step 317.
[0143] If the version rollback process is not performed, the AI software upgrade service module uninstalls the currently installed user software package and returns to step 304, where the AI software upgrade service module reinstalls the user software package.
[0144] Step 317: If executed, the version is rolled back.
[0145] In this step, if a version rollback is performed, the AI software upgrade service module uninstalls the currently installed user software package and installs the previous version of the user software package.
[0146] Step 318: If it fails, analyze the installation log and perform repair processing.
[0147] In this step, if the software package installation fails, the AI software upgrade service module obtains and analyzes the installation log of the software package to be processed. According to the installation log, the AI software upgrade service module repairs the cause of the failure of the installation of the software package to be processed.
[0148] Step 319: Determine whether the repair is successful.
[0149] In this step, if the repair is successful, the AI software upgrade service module executes step 321.
[0150] Step 320: If the repair fails, perform version rollback.
[0151] In this step, if the repair fails, the AI software upgrade business module reports the installation log and performs version rollback on the program represented by the pending software package (i.e., the AI software upgrade business module uninstalls the pending software package installed this time and installs the previous version of the pending software package).
[0152] The above-mentioned repair process for the cause of installation failure specifically means that the AI software upgrade business module can repair common solvable installation problems. For installation problems that cannot be solved, the AI software upgrade business module will also report the installation log and perform version rollback on the program represented by the software package to be processed.
[0153] Step 321, end this task.
[0154] Figure 4 A schematic diagram of the structure of a software upgrade device provided in an embodiment of the present invention is shown in FIG. Figure 4 As shown, the software upgrade device of this embodiment is applied to an AI software upgrade business module, which is located in an electronic device. The electronic device also includes a system disk, which is divided into multiple partitions. The device may include: an identification unit 410, a judgment unit 420, an installation unit 430 and a display unit 440.
[0155] The first identification unit 410 is used to identify whether the software package to be processed is a compliant software package when it is determined that there is a software package to be processed; A judging unit 420 is used to judge whether the current operating environment meets the installation conditions of the software package; An installation unit 430, configured to install the software package to be processed in a partition corresponding to the software type of the software package to be processed if the conditions are met; The display unit 440 is configured to display a first prompt message if the installation is successful, so as to inform the user that the installation of the software package to be processed is complete.
[0156] Optionally, the device further comprises: A first acquisition unit (not shown in the figure), used to acquire a first category software package and a second category software package, wherein the first category software package is a system software package for building a basic operating system environment, and the second category software package is a user software package not for building a basic operating system environment; a learning unit (not shown in the figure), configured to learn the attribute information of the first category of software packages and the attribute information of the second category of software packages, so that when it is determined that the software packages to be processed exist, the software packages to be processed are classified and processed according to the learning result; Wherein, the first type of software package and the second type of software package are both dap software packages in dap format; The partitions include a system partition and a user partition, and the system partition includes a first system partition and a second system partition; the first-category software package is stored and installed in the first system partition, and the system program represented by the first-category software package runs in the first system partition, and the first-category software package is also stored and installed in the second system partition; the second-category software package is stored and installed in the user partition, and the application program represented by the second-category software package runs in the user partition, and the user partition also stores user data.
[0157] Optionally, the software package to be processed includes an update software package; The device also includes: A second acquisition unit (not shown in the figure), configured to acquire a first software package list from the cloud platform, wherein the first software package list includes a first version of at least one software package stored in the cloud platform; An updating unit (not shown in the figure), configured to update a local software package index database according to the first software package list; an execution unit (not shown in the figure), configured to use the locally installed software package different from the first version as an update software package if the second version of the locally installed software package is different from the first version; A third obtaining unit (not shown in the figure), configured to obtain first software attribute information of the update software package; A second identification unit (not shown in the figure), configured to identify a software type of the update software package according to the first software attribute information; The first identification unit 410 is further configured to identify, according to the first software attribute information and the software type of the update software package, whether the update software package is a compliant software package.
[0158] Optionally, the device further comprises: A first receiving unit (not shown in the figure), configured to receive a notification message sent by a cloud platform, or receive an update instruction input by a user; The second acquisition unit (not shown in the figure) is further used to acquire the first software package list from the cloud platform according to the notification message or the update instruction; or; The second acquisition unit (not shown in the figure) is further used to periodically acquire the first software package list from the cloud platform according to the configured timing file.
[0159] Optionally, the software package to be processed includes a user-specified software package; The device also includes: A second receiving unit (not shown in the figure), configured to receive a software installation request input by a user, wherein the software installation request includes second software attribute information; A fourth acquisition unit (not shown in the figure), configured to acquire at least one matching software package and third software attribute information of each software package according to the second software attribute information; The display unit 440 is further configured to display second prompt information, where the second prompt information includes third software attribute information of each software package; The identification unit 410 is also used to, if a software installation selection instruction input by the user is received and the software installation selection instruction includes third software attribute information of a user-specified software package selected by the user based on the second software attribute information of each software package, identify whether the user-specified software package is a compliant software package based on the third software attribute information.
[0160] Optionally, the software type of the software package to be processed is a first-category software package; The determination unit 420 is specifically used to identify the system upgrade status of the electronic device; If the system upgrade state is a stable state, obtaining the attribute value of the system performance indicator of the electronic device; If the attribute value of the system performance indicator meets the preset attribute threshold, it is determined that the current operating environment meets the installation condition.
[0161] Optionally, the software type of the software package to be processed is a second-category software package; The determination unit 420 is specifically used to obtain the current system resources of the electronic device; If the current system resources meet the system resources required by the software package to be processed and the program represented by the software package to be processed is not currently running, it is determined that the current running environment meets the installation condition.
[0162] Optionally, the installation unit 430 is specifically configured to, if the software package to be processed is the first type of software package, install the first type of software package in a system partition that is not currently running the system program; If the software package to be processed is the second type of software package, the second type of software package is installed in the user partition.
[0163] Optionally, the device further comprises: A fifth obtaining unit (not shown in the figure) is used to obtain and analyze the installation log of the software package to be processed if the installation fails; A first repair unit (not shown in the figure) is used to repair the cause of the failure of the installation of the software package to be processed according to the installation log; The first reporting unit (not shown in the figure) is used to report the installation log if the repair fails, and perform version rollback processing on the program represented by the software package to be processed.
[0164] Optionally, the device further comprises: A detection unit (not shown in the figure), configured to detect the software package to be processed if the program represented by the software package to be processed fails to run; A sixth acquisition unit (not shown in the figure), configured to acquire and analyze the running log of the program; A second repair unit (not shown in the figure) is used to repair the cause of the program running failure according to the detection result and the running log; The second reporting unit (not shown in the figure) is used to report the running log if the repair fails, and perform version rollback processing on the program represented by the software package to be processed.
[0165] The device of this embodiment can be used to perform Figure 1-Figure 3 The technical solution of the method embodiment shown has similar implementation principles and technical effects, which will not be repeated here.
[0166] Accordingly, the software upgrading device provided in the embodiment of the present invention may also be implemented with another structure. Figure 5 A schematic diagram of the structure of an electronic device embodiment provided by the present invention can implement the present invention Figure 1-Figure 3 The process of the embodiment shown is as follows: Figure 5 As shown, the above-mentioned electronic device may include: a shell 51, a processor 52, a memory 53, a circuit board 54 and a power supply circuit 55, wherein the circuit board 54 is arranged inside the space enclosed by the shell 51, and the processor 52 and the memory 53 are arranged on the circuit board 54; the power supply circuit 55 is used to supply power to various circuits or devices of the above-mentioned electronic device; the memory 53 is used to store executable program codes; the processor 52 runs the program corresponding to the executable program code by reading the executable program code stored in the memory 53, so as to execute the method described in the above-mentioned embodiment.
[0167] For details on the specific execution process of the above steps by the processor 52 and the steps further executed by the processor 52 by running the executable program code, please refer to the present invention. Figure 1-Figure 3 The description of the illustrated embodiment will not be repeated here.
[0168] The electronic device is a device that provides computing services. The electronic device consists of a processor, hard disk, memory, system bus, etc. The electronic device is similar to the general computer architecture, but because it needs to provide highly reliable services, it has higher requirements in terms of processing power, stability, reliability, security, scalability, manageability, etc.
[0169] It should be noted that, in this article, terms such as "comprises", "includes" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of more restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0170] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referenced to each other, and each embodiment focuses on the differences from other embodiments.
[0171] In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0172] The logic and / or steps represented in the flowchart or otherwise described herein, for example, may be considered as an ordered list of executable instructions for implementing logical functions, and may be embodied in any computer-readable medium for use by an instruction execution system, apparatus or device (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, apparatus or device and execute instructions), or in conjunction with such instruction execution system, apparatus or device. For purposes of this specification, "computer-readable medium" may be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, apparatus or device, or in conjunction with such instruction execution system, apparatus or device.
[0173] More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk case (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be a paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering or, if necessary, processing in another suitable manner, and then stored in a computer memory.
[0174] It should be understood that various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof.
[0175] In the above embodiments, multiple steps or methods may be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it may be implemented by any one of the following technologies known in the art or a combination thereof: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0176] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.
[0177] For the convenience of description, the above device is described by dividing the functions into various units / modules. Of course, when implementing the present invention, the functions of each unit / module can be implemented in the same or multiple software and / or hardware.
[0178] It can be known from the above description of the implementation mode that those skilled in the art can clearly understand that the present invention can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present invention can be essentially or partly contributed to the prior art in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present invention or certain parts of the embodiments.
Claims
1. A software upgrade method, characterized in that: The method is applied to an AI software upgrade service module, the AI software upgrade service module is in an electronic device, the electronic device also includes a system disk, the system disk is divided into multiple partitions, and the method includes: When it is determined that there is a software package to be processed, identifying whether the software package to be processed is a compliant software package; If yes, determine whether the current operating environment meets the installation conditions of the software package; If the conditions are met, installing the software package to be processed in a partition corresponding to the software type of the software package to be processed; If the installation is successful, a first prompt message is displayed to inform the user that the installation of the software package to be processed is complete.
2. The method according to claim 1, characterized in that When it is determined that there is a software package to be processed, before identifying whether the software package to be processed is a compliant software package, the method further includes: Obtaining a first category software package and a second category software package, wherein the first category software package is a system software package for building a basic operating system environment, and the second category software package is a user software package not for building a basic operating system environment; learning the attribute information of the first category of software packages and the attribute information of the second category of software packages, so that when it is determined that the software packages to be processed exist, the software packages to be processed are classified and processed according to the learning result; Wherein, the first type of software package and the second type of software package are both dap software packages in dap format; The partitions include a system partition and a user partition, and the system partition includes a first system partition and a second system partition; the first-category software package is stored and installed in the first system partition, and the system program represented by the first-category software package runs in the first system partition, and the first-category software package is also stored and installed in the second system partition; the second-category software package is stored and installed in the user partition, and the application program represented by the second-category software package runs in the user partition, and the user partition also stores user data.
3. The method according to claim 2, characterized in that The software packages to be processed include update software packages; When it is determined that there is a software package to be processed, before identifying whether the software package to be processed is a compliant software package, the method further includes: Acquire a first software package list from the cloud platform, wherein the first software package list includes a first version of at least one software package stored in the cloud platform; According to the first software package list, updating the local software package index database; If the second version of the locally installed software package is different from the first version, the locally installed software package different from the first version is used as the update software package; Acquire first software attribute information of the update software package; identifying the software type of the update software package according to the first software attribute information; According to the first software attribute information and the software type of the update software package, it is correspondingly identified whether the update software package is a compliant software package.
4. The method according to claim 3, characterized in that When the update software package is the first type of software package, before obtaining the first software package list from the cloud platform, the method further includes: Receive notification messages sent by the cloud platform, or receive update instructions input by users; Obtaining a first software package list from the cloud platform according to the notification message or the update instruction; or; When the update software package is the second type of software package, before obtaining the first software package list from the cloud platform, the method further includes: According to the configured timing file, the first software package list is periodically obtained from the cloud platform.
5. The method according to claim 2, characterized in that: The software packages to be processed include software packages specified by users; When it is determined that there is a software package to be processed, before identifying whether the software package to be processed is a compliant software package, the method further includes: receiving a software installation request input by a user, wherein the software installation request includes second software attribute information; According to the second software attribute information, acquiring at least one matching software package and third software attribute information of each software package; displaying second prompt information, wherein the second prompt information includes third software attribute information of each software package; If a software installation selection instruction input by the user is received and the software installation selection instruction includes the third software attribute information of the user-specified software package selected by the user according to the second software attribute information of each software package, then whether the user-specified software package is a compliant software package is identified according to the third software attribute information.
6. The method according to claim 1, characterized in that The software type of the software package to be processed is a first-class software package; The determining whether the current operating environment meets the installation conditions of the software package specifically includes: Identifying a system upgrade status of the electronic device; If the system upgrade state is a stable state, obtaining the attribute value of the system performance indicator of the electronic device; If the attribute value of the system performance indicator meets the preset attribute threshold, it is determined that the current operating environment meets the installation condition.
7. The method according to claim 1, characterized in that The software type of the software package to be processed is a second-category software package; The determining whether the current operating environment meets the installation conditions of the software package specifically includes: Acquiring current system resources of the electronic device; If the current system resources meet the system resources required by the software package to be processed and the program represented by the software package to be processed is not currently running, it is determined that the current running environment meets the installation condition.
8. The method according to claim 2, characterized in that: The step of installing the software package to be processed in a partition corresponding to the software type of the software package to be processed specifically includes: If the software package to be processed is the first type of software package, installing the first type of software package in a system partition that is not currently running the system program; If the software package to be processed is the second type of software package, the second type of software package is installed in the user partition.
9. The method according to claim 1, characterized in that: The method further comprises: If the installation fails, obtaining and analyzing the installation log of the software package to be processed; According to the installation log, repair the cause of the failure of the installation of the software package to be processed; If the repair fails, the installation log is reported, and a version rollback process is performed on the program represented by the software package to be processed.
10. The method according to claim 1, characterized in that The method further comprises: If the program represented by the software package to be processed fails to run, the software package to be processed is tested; Obtaining and analyzing the running log of the program; According to the detection result and the operation log, repair the cause of the program operation failure; If the repair fails, the operation log is reported, and a version rollback process is performed on the program represented by the software package to be processed.
