Updating instruction sending method and device, storage medium and electronic equipment

By obtaining the server information of the target server, determining the software installation package collection and sending update instructions, the problem of low efficiency in migration operating system is solved, software migration is realized, and migration efficiency and stability are improved.

CN119917137APending Publication Date: 2025-05-02INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202412000084.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

In the prior art, migrating operating systems is less efficient, and there are compatibility issues and high labor costs during business migration.

Method used

The server information of the target server is obtained through the information collection program, the corresponding software installation package collection is determined, and the update command is sent to the target server, instructing the operating system to update the target operating system, and the software deployment operation is carried out after the update.

Benefits of technology

The software migration when migrating the operating system is realized, the efficiency of migrating the operating system is improved, labor costs and compatibility issues are reduced, and the stability and success rate of migration are enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119917137A_ABST
    Figure CN119917137A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an updating instruction sending method and device, a storage medium and electronic equipment, and relates to the field of computers.The updating instruction sending method comprises the steps that server information of a target server is obtained through an information collection program, and the server information comprises software information in the target server; determining a corresponding software installation package set according to the server information; an updating instruction is sent to the target server, the updating instruction is used for indicating that the operating system of the target server is updated into the target operating system, and after the operating system of the target server is updated into the target operating system, corresponding software deployment operation is carried out on the target server according to the software installation package set. By adopting the technical scheme, the problem that the efficiency of migrating the operating system is relatively low is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a method and device for sending an update instruction, a storage medium, and an electronic device. Background Art

[0002] When an open source operating system stops service for maintenance, it may cause service interruption and data loss, depending on the importance of the services and data running on the server. Here are a few possible situations: If the server is only a web server, downtime may cause users to be unable to access the website; if the server runs a database, downtime may cause data loss and incomplete transactions. If the server is used as a scheduled task or background service, downtime may cause the scheduled task to stop executing, or some background processing services to be interrupted.

[0003] Therefore, it is necessary to migrate the operating system when the open source operating system stops service and performs maintenance. Many industry production environments have the need to replace the operating system, especially business migration, which is more complicated than simple operating system migration. The current mainstream migration solutions in the industry are divided into in-place migration and extended migration. In-place migration is the process of changing the original system to the target system by replacing the system software package on the basis of the original system. However, there are many different versions of system software packages in the upgrade process, and the types are different. In-place migration has certain risks, such as: no compatible software packages can be found during the migration process; in-place migration may be restarted multiple times, which is undoubtedly a problem for scenarios with high business continuity requirements. In addition, the data centers of many industry production environments are very large, and each data center has a large number of server nodes that undertake specific computing tasks, also called computing nodes. Multiple computing nodes undertake the business of the cluster, and computing power is the core of a center. Generally speaking, a cluster consists of storage servers, computing nodes, management nodes, file systems and other components. The file system is located between the computing nodes and the storage. Generally, there are one or more types of network card drivers, graphics processing unit (GPU) drivers, etc. on the computing nodes. To replace the operating system, the network card driver, GPU driver, and other drivers of the original system need to be compatible and deployed while installing the operating system. If there are many types of drivers on the computing nodes, replacing the computing node's operating system and driver will be a very complicated task with high time and labor costs, but a low success rate.

[0004] With regard to the problem of low efficiency in migrating operating systems in related technologies, no effective solution has been proposed so far. Summary of the invention

[0005] The embodiments of the present application provide a method and device for sending an update instruction, a storage medium, and an electronic device, so as to at least solve the problem of low efficiency in migrating an operating system.

[0006] According to one embodiment of the present application, a method for sending an update instruction is provided, comprising: obtaining server information of a target server through an information collection program, wherein the server information comprises: software information in the target server; determining a corresponding software installation package set based on the server information; sending an update instruction to the target server, wherein the update instruction is used to instruct to update the operating system of the target server to the target operating system, and after the operating system of the target server is updated to the target operating system, performing a corresponding software deployment operation on the target server according to the software installation package set.

[0007] In an exemplary embodiment, obtaining server information of a target server through an information collection program includes: determining an information collection template, wherein the information collection template is used to specify software information to be collected, and the software information includes: application software information, driver software information; obtaining server information of the target server through the information collection program based on the information collection template.

[0008] In an exemplary embodiment, the method also includes: in the process of obtaining the server information of the target server through the information collection program, determining the usage rate of the central processing unit CPU and the memory usage rate of the target server; when the CPU usage rate is greater than a first preset threshold, or the memory usage rate is greater than a second preset threshold, pausing the acquisition of the server information of the target server; when the CPU usage rate is less than or equal to the first preset threshold, and the memory usage rate is less than or equal to the second preset threshold, continuing to obtain the server information of the target server.

[0009] In an exemplary embodiment, determining a corresponding set of software installation packages according to server information includes: determining a target database, wherein the target database includes compatibility of software of different software versions and different types on multiple operating systems, and when the compatibility of software of a software version on an operating system is less than a preset compatibility, the software of the software version is not allowed to run on the operating system; when the server information includes software information of N software, determining corresponding N software version sets according to the software information of the N software based on the target database, wherein the i-th software version set in the N software version sets records M software version information of the i-th software in the N software, and the M software version sets are parameter values ​​corresponding to each software version in the M software versions; the i-th software of each software version in the M software versions is allowed to be installed on the target operating system, and the parameter values ​​corresponding to the software version are used to indicate the compatibility of the software of the software version on the target operating system, N is a positive integer greater than or equal to 2, and M is an integer greater than or equal to 1; a target software set is determined according to the N software version sets, wherein the i-th software in the target software set is the software version with the largest reference value in the i-th software version set in the N software version sets; a software installation package set is determined according to the target software set, wherein the i-th software installation package in the software installation package set is the software installation package of the i-th software in the target software set.

[0010] In an exemplary embodiment, determining a corresponding software installation package set according to server information includes: in the case where the server information includes software information of N software, based on the hardware information of the target server, determining corresponding N software version sets according to the software information of the N software, wherein the i-th software version set in the N software version sets records M software version information of the i-th software in the N software, and parameter values ​​corresponding to each software version in the M software versions; the i-th software of each software version in the M software versions is allowed to be installed on the target operating system, and the parameter value corresponding to the software version is used to indicate the compatibility of the software of the software version on the target operating system of the target server, N is a positive integer greater than or equal to 2, and M is an integer greater than or equal to 1; determining a target software set according to the N software version sets, wherein the i-th software in the target software set is the software version with the largest reference value in the i-th software version set in the N software version sets; determining a software installation package set according to the target software set, wherein the i-th software installation package in the software installation package set is the software installation package of the i-th software in the target software set.

[0011] In an exemplary embodiment, after sending an update instruction to the target server, the method also includes: in the event that the first software fails to be installed on the target server, determining the software version with the lowest reference value in the software version set corresponding to the first software in N software version sets, wherein the software installation package set includes the software installation package of the first software; sending the software installation package of the software version with the lowest reference value to the target server, and instructing the target server to perform the corresponding software deployment operation.

[0012] In an exemplary embodiment, the method also includes: after sending an update instruction to the target server, the method also includes: when the second software fails to be installed on the target server, the third software is successfully installed on the target server, and the second software and the third software have a conflicting relationship, uninstalling the third software on the target server, wherein the software installation package set includes software installation packages of the third software and the second software; sending the software installation package of the software version with the smallest reference value in the software version set corresponding to the third software in N software version sets to the target server, and instructing the target server to perform a software deployment operation corresponding to the third software; when the target server successfully installs the third software, instructing the target server to perform the software deployment operation corresponding to the second software again.

[0013] According to another embodiment of the embodiments of the present application, there is also provided a device for sending update instructions, including: an acquisition module, used to acquire server information of a target server through an information collection program, wherein the server information includes: software information in the target server; a determination module, used to determine a corresponding software installation package set according to the server information; a sending module, used to send update instructions to the target server, wherein the update instructions are used to instruct to update the operating system of the target server to the target operating system, and after the operating system of the target server is updated to the target operating system, perform corresponding software deployment operations on the target server according to the software installation package set.

[0014] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0015] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0016] According to another embodiment of the present application, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0017] Through the present application, the software information of the target server is obtained through an information collection program, and then the corresponding software installation package set is determined based on the software information of the target server, and then an update instruction is sent to the target server to instruct the operation of the target server to be updated to the target operating system. After updating to the target operating system, the corresponding software deployment operation is performed on the target server according to the software installation package set, so that the software can be migrated when the operating system is migrated, the efficiency of migrating the operating system is improved, and the problem of low efficiency in migrating the operating system is solved. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0019] Figure 1 It is a hardware structure block diagram of a server device of a method for sending an update instruction according to an embodiment of the present application;

[0020] Figure 2 is a flow chart of a method for sending an update instruction according to an embodiment of the present application;

[0021] Figure 3 is a schematic diagram of an architecture of customized service migration according to an embodiment of the present application;

[0022] Figure 4 is a schematic diagram of an optional service migration process according to an embodiment of the present application;

[0023] Figure 5 is a structural block diagram of a sending device for an update instruction according to an embodiment of the present application;

[0024] Figure 6 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0025] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0026] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0027] The update instruction sending method embodiment provided in the embodiment of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a server device of a method for sending an update instruction according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor (MicroProcessor Unit, abbreviated as MPU) or a programmable logic device (Field-Programmable Gate Array, abbreviated as FPGA)) and a memory 104 for storing data, wherein the above-mentioned server device may also include a transmission device 106 and an input and output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0028] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for sending update instructions in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0029] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0030] In order to solve the above problems existing in the related art, this embodiment provides a method for sending an update instruction, which is applied to the above server, such as Figure 2 As shown, the process includes the following steps S202-S206:

[0031] Step S202: acquiring server information of the target server through an information collection program, wherein the server information includes: software information in the target server;

[0032] Optionally, the information collection program is a probe.

[0033] Optionally, a deep scan is performed by deploying an information collection program on the target server to obtain detailed information of the server, wherein the server information includes software information, such as installed software package names, versions, dependencies, and hardware driver information.

[0034] It should be noted that comprehensive collection of information helps avoid compatibility issues during the migration process, reduces migration failures due to software conflicts, and improves the accuracy and efficiency of migration.

[0035] Step S204: determining a corresponding software installation package set according to the server information;

[0036] Optionally, the information collection program feeds back the acquired server information of the target server to the management center. Based on the server information, the system determines an installation package set containing a software version compatible with the target operating system to ensure that the software package can run smoothly on the new operating system.

[0037] It should be noted that by intelligently matching software installation packages, the failure rate of software deployment can be significantly reduced, the success rate of business migration can be improved, and the time for manual screening and testing can be reduced, thereby speeding up migration.

[0038] Step S206: Send an update instruction to the target server, wherein the update instruction is used to instruct to update the operating system of the target server to the target operating system, and after the operating system of the target server is updated to the target operating system, perform corresponding software deployment operations on the target server according to the software installation package set.

[0039] Optionally, after the software installation package set is determined, an update instruction is sent to the target server, which specifies the target operating system. After the target server completes the operating system update, software deployment is performed according to the software installation package set. The server operating system update is usually performed using Preboot eXecutionEnvironment (PXE) technology to achieve rapid batch installation.

[0040] It should be noted that automated operating system updates and software deployment reduce the need for manual operations, greatly reduce the workload of operation and maintenance personnel, and improve the overall migration efficiency of the data center. In addition, by pre-determining the software package set, software conflicts and compatibility issues during the migration process can be effectively avoided, enhancing the stability and reliability of the migration.

[0041] In the above steps, the software information of the target server is obtained through an information collection program, and then the corresponding software installation package set is determined according to the software information of the target server, and then an update instruction is sent to the target server to instruct the operation of the target server to be updated to the target operating system, and after the update to the target operating system, the corresponding software deployment operation is performed on the target server according to the software installation package set, so that the software can be migrated when the operating system is migrated, the efficiency of migrating the operating system is improved, and the problem of low efficiency in migrating the operating system is solved.

[0042] In an exemplary embodiment, obtaining the server information of the target server through the information collection program can be implemented through the following steps S11-S12:

[0043] Step S11: determining an information collection template, wherein the information collection template is used to specify software information to be collected, and the software information includes: application software information and driver software information;

[0044] Optionally, the application software information includes but is not limited to: the name, version, installation path, and configuration file location of the application software; the driver software information includes but is not limited to: the type, version, and dependencies of the driver software.

[0045] It should be noted that the information collection template is based on a deep understanding of the business scenario and precise requirements for the current status of the target server, ensuring that the information collection program can specifically collect information that is critical to the subsequent operating system and business software migration.

[0046] It should be noted that by using information collection templates, the information collection process can be standardized to ensure that the information collected each time is complete, consistent and reliable. This not only simplifies the design of the information collection program, but also improves the efficiency and accuracy of information collection, avoiding data quality problems caused by manual errors or inconsistent collection methods. At the same time, the determination of the template provides a clear data structure for subsequent intelligent matching and customized software package generation, making the entire migration process more automated and intelligent.

[0047] Step S12: Obtain server information of the target server based on the information collection template through the information collection program.

[0048] Optionally, the information collection program will traverse the entire server system according to the information collection template, read and analyze related files, and call system commands or application programming interfaces (Application Programming Interface, referred to as API) to collect all software information specified in the information collection template.

[0049] Optionally, the server information of the target server acquired by the information collection program is shown in type 1 in Table 1 below:

[0050] Table 1

[0051]

[0052]

[0053] It should be noted that through the automated information collection program, the software information collection of the target server can be completed in a very short time. The standardized information collection template and automated collection program reduce the error rate in the information collection process, ensure the accuracy and applicability of the migration plan, reduce the compatibility and stability problems that may be encountered during the migration process, greatly save labor costs and time costs, and improve the efficiency of business migration preparation. The information collected in this way will be used for subsequent intelligent matching and software package customization to ensure the accuracy and applicability of the migration plan. In addition, the automated program can also reduce human errors, improve the accuracy and consistency of information, and provide guarantees for the reliability and stability of the entire migration process.

[0054] In an exemplary embodiment, the method further includes the following steps S21-S23, wherein step S22 and step S23 are not performed in any particular order:

[0055] Step S21: in the process of acquiring the server information of the target server through the information collection program, determining the CPU usage and memory usage of the target server;

[0056] Optionally, before starting the information collection program to scan the target server for software information, it is first necessary to evaluate the current resource usage of the server, especially the usage of the central processing unit (CPU) and the memory. The purpose of this step is to monitor in real time and ensure that the server has sufficient resources to process the information collection task without affecting its normal business operation.

[0057] Step S22: when the CPU usage is greater than the first preset threshold, or the memory usage is greater than the second preset threshold, suspending the acquisition of the server information of the target server;

[0058] Step S23: When the CPU usage is less than or equal to the first preset threshold and the memory usage is less than or equal to the second preset threshold, continue to obtain the server information of the target server.

[0059] Optionally, step S22 and step S23 together constitute a dynamic resource management strategy, which is used to timely adjust the execution of the information collection program according to the resource usage of the target server during the information collection process. Specifically, when the CPU usage exceeds a preset first threshold, or the memory usage exceeds a preset second threshold, the information collection program will automatically suspend execution to avoid further increasing the burden on the server; and when the CPU and memory usage drop below the safety threshold, the information collection program will automatically continue to execute to complete the information collection task.

[0060] It should be noted that this dynamic resource management strategy can effectively prevent the information collection program from interfering with the business operation of the server, ensuring that the server's resources can give priority to serving business needs. This not only ensures business continuity and service quality, but also improves the intelligence and efficiency of the information collection process. At the same time, dynamically adjusting the execution status of the information collection program can prevent the server from collecting unnecessary information when resources are tight, thereby saving resources and improving the overall resource utilization and business processing capabilities of the data center.

[0061] Optionally, before the information collection program starts to obtain information, it will first explore the servers in the local area network, sort them according to the response speed of the servers, and obtain information from the fastest responding server first according to the real-time response of the servers.

[0062] Optionally, the information collection programs will exchange the acquired information. If the acquired information is found to be consistent, for example, the services of multiple servers in a server cluster are consistent and the acquired server information is also consistent, the information collection program will merge the consistent service information in different servers to avoid duplicate calculations.

[0063] In an exemplary embodiment, determining the corresponding software installation package set according to the server information can be implemented by the following steps S31-S34:

[0064] Step S31: determining a target database, wherein the target database contains compatibilities of software of different software versions and different types on multiple operating systems. If the compatibility of a software version on an operating system is less than a preset compatibility, the software of the software version is not allowed to run on the operating system;

[0065] Optionally, the target database includes the following as shown in Table 2:

[0066] Table 2

[0067] System Category Software Version Entropy Remark Linu×A Network Card 1 20 Special conditions judgment Linu×b Network Card 1 30 none Linu×× Network card× 40 none Linu×A File System A 100 none Linu×b File System A 150 none Linu×C File System A 120 none Linu×X SOFT-X XX none

[0068] The entropy value is used to identify the version stability and compatibility of the software version.

[0069] It should be noted that the construction and maintenance of the target database provides data support for the intelligent selection of software versions, ensuring that the migrated software can run stably and reducing software compatibility issues and potential business interruption risks. By quantifying compatibility, the matching degree between the software version and the operating system can be objectively evaluated, improving the accuracy and reliability of migration decisions.

[0070] Step S32: In the case where the server information includes software information of N software, based on the target database, determine corresponding N software version sets according to the software information of the N software, wherein the i-th software version set in the N software version sets records M software version information of the i-th software in the N software, and a parameter value corresponding to each software version in the M software versions; the i-th software of each software version in the M software versions is allowed to be installed on the target operating system, and the parameter value corresponding to the software version is used to indicate the compatibility of the software of the software version on the target operating system, N is a positive integer greater than or equal to 2, and M is an integer greater than or equal to 1;

[0071] Optionally, the parameter value may be the entropy value in Table 2.

[0072] It should be noted that by querying and filtering the target database, a set of software versions for the target operating system can be generated, providing a candidate list for subsequent software version selection. The introduction of parameter values ​​makes the selection of software versions not only based on availability, but also on compatibility and performance, thus improving the stability of business after migration.

[0073] Step S33: determining a target software set according to the N software version sets, wherein the i-th software in the target software set is the software version with the largest reference value in the i-th software version set among the N software version sets;

[0074] Optionally, after determining the N software version sets, further according to the reference value size in each version set, the software version with the largest reference value is selected to form the target software set. This ensures that the selected software version has the highest compatibility on the target system, thereby reducing software conflicts and instability issues after migration.

[0075] It should be noted that the generation of the target software set enables intelligent selection of software versions, ensuring that the migrated business can run in the best state. The software version selection strategy with the largest reference value maximizes the compatibility and performance of the software on the new operating system, improving the success rate of business migration and user experience.

[0076] Step S34: determining a software installation package set according to the target software set, wherein the i-th software installation package in the software installation package set is the software installation package of the i-th software in the target software set.

[0077] Optionally, a software installation package set is generated according to the target software set. The software installation package set includes installation packages of all target software, ensures the consistency and integrity of software versions, and provides preparation for the next step of software deployment.

[0078] It should be noted that the generation of software installation package sets makes it possible to automate and batch software deployment, greatly reducing the tediousness and potential errors of manual installation and improving the efficiency and reliability of business migration.

[0079] It should be noted that steps S31 to S34 realize the automation and intelligence of software version selection, and intelligently match the most suitable software version based on server information and target database, reducing the complexity and uncertainty of manual decision-making. By automatically generating a set of software installation packages, the process of business migration is simplified, and the efficiency and success rate of migration are improved. Intelligent selection of the most compatible software version ensures the stable operation of the business after migration, reduces software conflicts and performance issues, and provides guarantee for the business continuity of the data center.

[0080] Optionally, based on the target operating system and server information, determine whether the i-th software (soft_a) can use the highest software version in the target database. Since different versions have their own compatibility, the highest version of the i-th software may not be applicable to the target operating system. The best combination of software (i.e., the target software set) is determined by the following formula:

[0081] Value(linux_x)=soft_a(linux_x)+soft_b(linux_x)+sofi_x(linux_x);

[0082] Among them, Value(linux_x) is the sum of the entropy values ​​of multiple software in the target software set, soft_x(linux_x) is the entropy value of software x in the target database on the linux_x system, soft_a(linux_x) is the entropy value of software a in the target database on the linux_x system, and soft_b(linux_x) is the entropy value of software b in the target database on the linux_x system.

[0083] When Value(1inux_x) is the largest, the target software set can be determined.

[0084] In an exemplary embodiment, determining the corresponding software installation package set according to the server information can be implemented by the following steps S41-S43:

[0085] Step S41: In the case where the server information includes software information of N software, based on the hardware information of the target server, determine the corresponding N software version sets according to the software information of the N software, wherein the i-th software version set in the N software version sets records M software version information of the i-th software in the N software, and parameter values ​​corresponding to each software version in the M software versions; the i-th software of each software version in the M software versions is allowed to be installed on the target operating system, and the parameter value corresponding to the software version is used to indicate the compatibility of the software of the software version on the target operating system of the target server, N is a positive integer greater than or equal to 2, and M is an integer greater than or equal to 1.

[0086] Optionally, considering that different software versions may have different requirements for hardware, step S41 analyzes the hardware information of the target server (such as CPU architecture, memory size, storage type, etc.) and combines the software information (including software name, version, dependency, etc.) to filter out a set of software versions compatible with the hardware configuration in the target database. Each software version set contains M versions (M is an integer greater than or equal to 1), and each version carries a parameter value indicating its compatibility on the target operating system.

[0087] It should be noted that by incorporating hardware information into the software version selection, it is ensured that the selected software is not only compatible with the target operating system, but also fully utilizes the performance of the target hardware. This helps to improve the operating efficiency and stability of the migrated business and reduce software performance bottlenecks or compatibility issues caused by hardware mismatch.

[0088] Step S42: determining a target software set according to the N software version sets, wherein the i-th software in the target software set is the software version with the largest reference value in the i-th software version set among the N software version sets;

[0089] Optionally, after obtaining the software version set, step S42 selects the version with the largest parameter value as the target version according to the compatibility parameter value of the versions in each set to form a target software set. The target software set includes the optimal version of each software selected according to the compatibility parameter value.

[0090] It should be noted that by selecting the software version with the largest reference value (i.e., the compatibility parameter value), the software is guaranteed to be compatible with the operating system and hardware configuration to the greatest extent, thereby improving the success rate of business migration and reducing software conflicts and system instability problems that may be encountered after migration, thereby ensuring that the business after migration can run smoothly.

[0091] Step S43: determining a software installation package set according to the target software set, wherein the i-th software installation package in the software installation package set is the software installation package of the i-th software in the target software set.

[0092] Optionally, based on the target software set, step S43 generates a set of software installation packages, each of which corresponds to a type of software in the set. The software installation package set ensures that all selected software versions can be accurately and efficiently installed in the subsequent software deployment process.

[0093] It should be noted that the generation of a software installation package set provides a basis for automated deployment, greatly simplifies the software installation process, reduces manual errors, and improves migration efficiency.

[0094] It should be noted that through the above steps, starting from the hardware information, the software version set is intelligently screened, and the target software set and software installation package set are automatically generated, which realizes the intelligence and automation of the business migration process and improves the migration efficiency and accuracy. By considering the compatibility parameter value, the good compatibility of the software version with the target operating system is ensured, while taking into account the matching of the hardware configuration, effectively ensuring the stable operation and efficient execution of the business after migration. Automated software version selection and software package generation reduce manual operations, optimize resource allocation, and reduce the time and cost overhead of the data center during the business migration process.

[0095] In an exemplary embodiment, after sending the update instruction to the target server, the method further includes the following steps S51-S52:

[0096] Step S51: when the first software fails to be installed on the target server, determining the software of the software version with the lowest reference value in the software version set corresponding to the first software in the N software version sets, wherein the software installation package set includes the software installation package of the first software;

[0097] Optionally, after sending the update instruction to the target server, the information collection program will obtain the server information and determine the software customization package (the software customization package includes the software installation package) as shown in Table 3 below according to the device identification:

[0098] Table 3

[0099]

[0100] Optionally, when the software installation package of the first software (i.e., the software that failed to be installed on the target server) fails to be successfully installed, the system will automatically search for a software version set corresponding to the software in the N software version sets. In this set, the system will find the software version whose reference value (i.e., the compatibility parameter value) is second only to the maximum value, i.e., the software version with the lowest maximum value. Although this version is not optimal, it may have a higher installation success rate as a suboptimal choice when the maximum value version fails to be installed.

[0101] It should be noted that by introducing the concept of the software version with the lowest reference value, a fallback solution is provided for software installation failure, avoiding the tedious process of manually searching and trying other versions due to failure of the first attempt, and improving the efficiency and automation level of handling abnormal situations.

[0102] Step S52: Send the software installation package of the software version with the largest reference value to the target server, and instruct the target server to perform a corresponding software deployment operation.

[0103] It should be noted that the automated software rollback deployment process ensures the continuity and efficiency of the migration process, can quickly respond to software installation failures, reduces business interruption time, and enhances the robustness and reliability of the migration process.

[0104] It should be noted that the above steps further enhance the exception handling capability and migration efficiency of the intelligent business migration method. When the software installation fails, it automatically rolls back to the suboptimal version, avoiding the inefficient process of manual troubleshooting and redeployment, significantly reducing business interruption time, and improving the continuity and efficiency of the migration process. The automated exception handling process reduces labor costs, avoids resource waste caused by software installation failure, and optimizes the resource utilization efficiency of the data center during the migration process.

[0105] In an exemplary embodiment, the method further includes: after sending the update instruction to the target server, the method further includes the following steps S61-S63:

[0106] Step S61: when the second software fails to be installed on the target server, the third software is successfully installed on the target server, and the second software and the third software have a conflicting relationship, uninstall the third software on the target server, wherein the software installation package set includes the software installation packages of the third software and the second software;

[0107] It should be noted that when a conflict is detected between the second software (the software that failed to install) and the third software (the software that was successfully installed), the system will automatically uninstall the third software that has been successfully installed. The purpose of this process is to eliminate software conflicts and provide a clean environment for the rollback installation of the second software to ensure that it can be deployed smoothly.

[0108] It should be noted that by automatically detecting and uninstalling conflicting software, system instability and business interruption caused by compatibility issues between software can be effectively avoided, and the stability and success rate of the migration process can be improved.

[0109] Step S62: sending the software installation package of the software version with the lowest reference value in the software version set corresponding to the third software in the N software version sets to the target server, and instructing the target server to perform a software deployment operation corresponding to the third software;

[0110] It should be noted that intelligent rollback to the least compatible version not only solves the software conflict problem, but also improves the software installation success rate and the continuity of the migration process, reduces the need for manual intervention, and improves migration efficiency and automation level.

[0111] Step S63: When the target server successfully installs the third software, instruct the target server to perform the software deployment operation corresponding to the second software again.

[0112] It should be noted that after resolving the conflict and successfully installing the second software, the system will instruct the target server to deploy the third software again. This step ensures that the originally successful software deployment will not be ignored, and at the same time, after resolving the conflict, it can ensure that all software can run smoothly and meet business needs. By re-deploying the software that successfully resolves the conflict, the integrity of the business migration process is ensured, avoiding the omission of necessary software due to conflict resolution, and further improving the business stability and service integrity after migration.

[0113] In an exemplary embodiment, in the process of performing the corresponding software deployment operation according to the software installation package set, the method further includes the following steps S71-S72:

[0114] Step S71: Establish a network monitoring module to monitor the traffic and congestion status of the data center network in real time;

[0115] Optionally, before and during the service migration, the transmission traffic and congestion status of the data center network are continuously monitored in real time. The network monitoring module of the system can detect signs of network congestion in a timely manner by capturing the traffic information of the network interface and analyzing indicators such as network delay and packet loss rate, providing key data support for the decision-making of the subsequent step S72.

[0116] It should be noted that by continuously monitoring the network status, the network monitoring module can provide early warning of possible network congestion, allowing system administrators or automated systems to take measures to avoid service migration delays caused by network bottlenecks.

[0117] Step S72: according to the real-time data provided by the network monitoring module, when the congestion of the data center network is greater than a third preset threshold, automatically reducing the transmission speed and / or distributing the software installation package in batches to avoid network congestion;

[0118] It should be noted that when the network monitoring module detects that the congestion of the data center network exceeds a preset threshold (i.e., the third preset threshold), the system will automatically adjust the transmission strategy of the software package. Specifically, the system can take two measures or a combination of them: one is to automatically reduce the transmission speed of the software package during the transmission process to reduce network pressure; the other is to distribute the software installation package in batches and time periods to avoid concentrated transmission of a large amount of data in a short period of time, thereby further alleviating network congestion.

[0119] It should be noted that by establishing a network monitoring module and dynamically adjusting the transmission strategy based on real-time data, this embodiment effectively solves the congestion problem that the data center network may encounter during large-scale business migration. The implementation of this strategy not only ensures the continuity of business migration and improves migration efficiency, but also optimizes the use of network resources and ensures the stable operation of the data center network. Overall, this method significantly enhances the practicality and flexibility of the business migration method and is suitable for large-scale data center business migration scenarios.

[0120] Obviously, the above-described embodiments are only a part of the embodiments of the present invention, not all of the embodiments. In order to better understand the above method, the above process is described below in conjunction with the embodiments, but it is not intended to limit the technical solution of the embodiments of the present invention. For specific processes, please refer to Figure 4 :

[0121] 1. Environmental Scanning:

[0122] Installing a centralized management tool on a separate system (such as Figure 3 As shown in the figure, a traversal scan is initiated to other node servers in the data center. The special software assets on the server are scanned according to the knowledge base. The scanning process is as follows:

[0123] 1. After traversing to the operating system, check the network card driver, file system type, etc. of the current system;

[0124] 2. Feedback the core business software information currently counted on the computing nodes to the centralized management end for analysis, and decide on the subsequent migration deployment content based on the feedback driver type;

[0125] 3. Build a PXE server and use PXE to install the system on the server that needs to replace the operating system;

[0126] 4. After the operating system is installed on the computing node, driver deployment is performed.

[0127] 2. Intelligent business migration:

[0128] 1. Create a business knowledge base. Through the combination of centers commonly used in the industry, a knowledge base is created. The software in the knowledge base is compiled and tested, and each type of software has multiple versions;

[0129] It should be noted that the knowledge base (i.e., the above-mentioned target database) integrates the supercomputing scenario software information collected from multiple landing projects. Here, the present invention will input a business category template (i.e., the above-mentioned information collection template), which lists the basic information of the software that needs to be counted. The template is used as input, and the probe obtains the version of the relevant software, the number and type of driver modules, and other information on each server according to the template. The acquired information is fed back to the management center together with the server hardware identifier (Identifier, referred to as ID for short), and the management center will compare the current version with the version in the software library. Each version of each software has an entropy value.

[0130] It should be noted that the probe in the embodiment of the present application will be adjusted according to the actual response of the network and has the following functions:

[0131] (1) Automatically determine the priority: Before the probe is launched, it first explores the servers in the local area network and sorts them according to the speed of response. Based on the actual situation, it first obtains information from the server with the fastest response;

[0132] (2) Temporary self-sleep: If the server resources (CPU, memory) are found to be tight, the probe can temporarily enter the sleep state and traverse again after the resource occupancy is restored, so as to avoid affecting the customer's production business;

[0133] (3) Automatic deduplication: There is interaction between probes. If the information obtained is consistent, for example, the services of multiple servers in a cluster are consistent and the information obtained is also consistent, the probes are compared and merged to avoid duplicate calculations.

[0134] It should be noted that a formula is required to find the best combination in the knowledge base: Based on the current operating system and the returned software information, determine whether Soft_a can use the best software version in the knowledge base. Because some systems require that the version of a certain software is not necessarily the highest version, a judgment must be made to exclude special cases of the software before the following formula can be used:

[0135] Value(linux_x)=soft_a(linux_x)+soft_b(linux_x)+soft_x(linux_x);

[0136] When the value of Value is the largest, it means that the version scheme of the selected software is the best.

[0137] It should be noted that different versions of software in the knowledge base will have an entropy value depending on the operating system.

[0138] (4) Detailed matching process: After the probe obtains the software list (list) and system information (Linux_A) on the server, it needs to upgrade the system to the target (Linux_B). In this case, it is necessary to search the knowledge base for the entropy value corresponding to the Linux_B software list list. Because a software has multiple versions, it is necessary to use the above formula to calculate the entropy values ​​corresponding to different software versions according to the software types in the list table. Because the entropy value is authoritative and is obtained in production environment practice, the best solution is to select the best one according to the quick sort algorithm.

[0139] 2. After the scanning function module is pushed to a certain system, it will search for the key application paths commonly used by the center, such as the network card driver and distributed file system;

[0140] 3. Feedback the version, driver and other information of relevant application software to the centralized management center;

[0141] 4. Based on the information fed back in the third step, the machine ID of the computing node needs to be fed back to the centralized management end, and the centralized management end customizes the service package according to each machine;

[0142] 5. After the PXE installation is completed, when you start deploying services, the customized service package will be pushed to the computing nodes and then deployed in batches;

[0143] 6. After the customized package is pushed to the system, the highest version of each type of software will be selected for installation. If the installation fails, the version will be lowered and tried again. If conflicting software types are found, the related software will be reinstalled. For example: software B fails after installation and is found to be related to software A. Delete software A, reinstall the lower version of A, and then install software B again.

[0144] It should be noted that if there is an installation conflict, which may cause multiple software to be inappropriate, the probe will return to the management center, replace the installation plan with the second highest entropy value, and re-evaluate based on the entropy calculation results in the knowledge base. The customized software package will be sent and installed again.

[0145] It should be noted that most installation conflicts are caused by inappropriate software versions rather than software types. When a customized software package fails to install on a server, the probe will report to the management center which software on which server failed to install or whether the entire software package failed to install. The software can be replaced with other versions and installed again. That is, the management center will customize the software package for the second-ranked software combination solution, which is the solution that first calculates the software entropy value through the formula. The software name is consistent but the version is inconsistent, and then send the software package again for upgrading or installation on the server.

[0146] 3. Business Migration Preparation:

[0147] Unlike traditional operating system replacement and migration, the embodiment of the present application realizes intelligent migration of business software while migrating the operating system. The specific implementation method is to first release a probe for scanning, scan each device, and distinguish the scan results according to the device's unique ID. A custom package is created for each device, which will contain as many software packages as possible required on the system.

[0148] 4. Business Migration Implementation:

[0149] Business migration is the most time-consuming task in the process of replacing the operating system. The knowledge base provided in the embodiment of the present application contains many compiled finished drivers and business application software, and contains multiple versions of related software, all of which are verified application software compatible with the target operating system. According to the software information collected on the computing node in the data center, the most suitable software package is pushed to the computing node. In this way, there is no need for manual installation, and the best version can be installed in a loop starting from the highest version according to the compatibility situation. For example, if the installation of the high version fails, the version can be lowered and tried again. It saves labor costs, intelligently copies software packages and sets configuration files, which greatly saves space. And self-detection can be performed.

[0150] During the entire migration process, the operating system is installed using PXE, and the business software uses an intelligent process of self-learning and customized installation, which optimizes the process. In this way, the migration work of the entire data center will greatly improve efficiency, omit many unnecessary links, and save time and costs.

[0151] It should be noted that this application has the following innovative features: 1. Based on actual combat accumulation, a targeted knowledge base is created;

[0152] 2. Propose a targeted high-speed scanning probe to traverse the entire business data center in units of operating systems to learn the current operating system and business software information;

[0153] 3. Propose a method to form a customized installation plan through the knowledge base. By scanning the assets of the system to be migrated, the business asset information, driver, application software name, version and other information on the system are obtained and sent to the centralized management end;

[0154] 4. A knowledge base of common software in data centers is proposed. Based on the software information obtained in the second step, the software version information is intelligently matched one by one in the knowledge base with a single operating system as the unit, and finally a software installation list for a certain server is formed. This process does not require manual selection;

[0155] 5. After installing the system through customized pxe, customize the software package and distribute it to the server of the original system.

[0156] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.

[0157] In this embodiment, a sending device for updating instructions is also provided to implement the above-mentioned embodiments and preferred implementation modes, which have been described and will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the modules described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0158] Figure 5 is a structural block diagram of a device for sending an update instruction according to an embodiment of the present application, the device comprising:

[0159] The acquisition module 502 is used to acquire the server information of the target server through the information collection program, wherein the server information includes: software information in the target server;

[0160] A determination module 504 is used to determine a corresponding software installation package set according to the server information;

[0161] The sending module 506 is used to send an update instruction to the target server, wherein the update instruction is used to instruct to update the operating system of the target server to the target operating system, and after the operating system of the target server is updated to the target operating system, perform corresponding software deployment operations on the target server according to the software installation package set.

[0162] The above-mentioned device obtains the software information of the target server through an information collection program, then determines the corresponding software installation package set based on the software information of the target server, and then sends an update instruction to the target server to instruct the operation of the target server to be updated to the target operating system, and after updating to the target operating system, performs corresponding software deployment operations on the target server according to the software installation package set, so that the software can be migrated when migrating the operating system, thereby improving the efficiency of migrating the operating system and solving the problem of low efficiency in migrating the operating system.

[0163] In an exemplary embodiment, the acquisition module 502 is also used to determine an information collection template, wherein the information collection template is used to specify software information to be collected, and the software information includes: application software information, driver software information; through the information collection program, the server information of the target server is obtained based on the information collection template.

[0164] In an exemplary embodiment, the acquisition module 502 is also used to determine the CPU usage and memory usage of the target server during the process of acquiring the server information of the target server through the information collection program; when the CPU usage is greater than a first preset threshold, or the memory usage is greater than a second preset threshold, suspend the acquisition of the server information of the target server; when the CPU usage is less than or equal to the first preset threshold, and the memory usage is less than or equal to the second preset threshold, continue to acquire the server information of the target server.

[0165] In an exemplary embodiment, the determination module 504 is further used to determine a target database, wherein the target database includes compatibility of software of different software versions and different types on multiple operating systems, and when the compatibility of a software version on an operating system is less than a preset compatibility, the software of the software version is not allowed to run on the operating system; when the server information includes software information of N software, based on the target database, the corresponding N software version sets are determined according to the software information of the N software, wherein the i-th software version set in the N software version sets records the M software version information of the i-th software in the N software, and the M software versions parameter values ​​corresponding to each software version; the i-th software of each software version in the M software versions is allowed to be installed on the target operating system, and the parameter values ​​corresponding to the software versions are used to indicate the compatibility of the software of the software version on the target operating system, N is a positive integer greater than or equal to 2, and M is an integer greater than or equal to 1; a target software set is determined according to the N software version sets, wherein the i-th software in the target software set is the software version with the largest reference value in the i-th software version set in the N software version sets; a software installation package set is determined according to the target software set, wherein the i-th software installation package in the software installation package set is the software installation package of the i-th software in the target software set.

[0166] In an exemplary embodiment, the determination module 504 is further used to determine corresponding N software version sets based on the software information of the N software based on the hardware information of the target server when the server information includes software information of N software, wherein the i-th software version set in the N software version sets records M software version information of the i-th software in the N software, and the parameter value corresponding to each software version in the M software versions; the i-th software of each software version in the M software versions is allowed to be installed on the target operating system, and the parameter value corresponding to the software version is used to indicate the compatibility of the software of the software version on the target operating system of the target server, N is a positive integer greater than or equal to 2, and M is an integer greater than or equal to 1; determine the target software set based on the N software version sets, wherein the i-th software in the target software set is the software version with the largest reference value in the i-th software version set in the N software version sets; determine the software installation package set based on the target software set, wherein the i-th software installation package in the software installation package set is the software installation package of the i-th software in the target software set.

[0167] In an exemplary embodiment, the determination module 504 is also used to, after sending an update instruction to the target server, determine the software of the software version with the lowest reference value in the software version set corresponding to the first software in N software version sets when the first software fails to be installed on the target server, wherein the software installation package set includes the software installation package of the first software; the sending module 506 is also used to send the software installation package of the software of the software version with the lowest reference value to the target server, and instruct the target server to perform the corresponding software deployment operation.

[0168] In an exemplary embodiment, the above-mentioned device also includes: an uninstallation module, which is used to uninstall the third software on the target server after sending an update instruction to the target server, if the second software fails to be installed on the target server, the third software is successfully installed on the target server, and the second software and the third software have a conflict relationship, wherein the software installation package set includes software installation packages of the third software and the second software; a sending module 506, which is also used to send the software installation package of the software version with the smallest reference value in the software version set corresponding to the third software in the N software version sets to the target server, and instruct the target server to perform the software deployment operation corresponding to the third software; if the target server successfully installs the third software, instruct the target server to perform the software deployment operation corresponding to the second software again.

[0169] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0170] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0171] Optionally, in this embodiment, the computer program may be configured to perform the following steps by means of the computer program:

[0172] S1, obtaining server information of a target server through an information collection program, wherein the server information includes: software information in the target server;

[0173] S2, determining a corresponding software installation package set according to the server information;

[0174] S3, sending an update instruction to the target server, wherein the update instruction is used to instruct to update the operating system of the target server to the target operating system, and after the operating system of the target server is updated to the target operating system, performing corresponding software deployment operations on the target server according to the software installation package set.

[0175] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0176] The embodiment of the present application also provides an electronic device, such as Figure 6 As shown, the electronic device includes a memory 602 and a processor 604. The memory 602 stores a computer program, and the processor 604 is configured to execute the steps in any of the above method embodiments through the computer program.

[0177] Optionally, in this embodiment, the processor 604 may be configured to perform the following steps through a computer program:

[0178] S1, obtaining server information of a target server through an information collection program, wherein the server information includes: software information in the target server;

[0179] S2, determining a corresponding software installation package set according to the server information;

[0180] S3, sending an update instruction to the target server, wherein the update instruction is used to instruct to update the operating system of the target server to the target operating system, and after the operating system of the target server is updated to the target operating system, performing corresponding software deployment operations on the target server according to the software installation package set.

[0181] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0182] Alternatively, a person skilled in the art may understand that: Figure 6 The structure shown is for illustration only. Figure 6 The structure of the electronic device is not limited. For example, the electronic device may also include Figure 6 More or fewer components (such as network interfaces, etc.) as shown in, or with Figure 6 Different configurations are shown.

[0183] Among them, the memory 602 can be used to store software programs and modules, such as the program instructions / modules corresponding to the update instruction sending method and the update instruction sending device in the embodiment of the present application. The processor 604 executes various functional applications and data processing by running the software programs and modules stored in the memory 602, that is, realizing the above-mentioned update instruction sending method. The memory 602 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 602 may further include a memory remotely arranged relative to the processor 604, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 602 can be specifically, but not limited to, used to store information such as system configuration files. As an example, such as Figure 6 As shown, the memory 602 may include but is not limited to the acquisition module 502, determination module 504, and sending module 506 in the update instruction sending device. In addition, other module units in the update instruction sending device may also be included but are not limited to the update instruction sending device, which will not be repeated in this example.

[0184] Optionally, the transmission device 606 is used to receive or send data via a network. Specific examples of the network may include a wired network and a wireless network. In one example, the transmission device 606 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 606 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0185] In addition, the electronic device mentioned above further includes: a display 608; and a connection bus 610, which is used to connect various module components in the electronic device mentioned above.

[0186] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0187] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0188] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any one of the above method embodiments.

[0189] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0190] The above are only preferred embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for sending an update instruction, characterized in that: include: Acquire server information of the target server through an information collection program, wherein the server information includes: software information in the target server; Determine a corresponding software installation package set according to the server information; An update instruction is sent to the target server, wherein the update instruction is used to instruct the operating system of the target server to be updated to the target operating system, and after the operating system of the target server is updated to the target operating system, a corresponding software deployment operation is performed on the target server according to the software installation package set.

2. The method according to claim 1, characterized in that The step of obtaining the server information of the target server through the information collection program includes: Determine an information collection template, wherein the information collection template is used to specify software information to be collected, and the software information includes: application software information and driver software information; The server information of the target server is obtained through the information collection program based on the information collection template.

3. The method according to claim 1, characterized in that The method further comprises: In the process of acquiring the server information of the target server through the information collection program, determining the CPU usage and memory usage of the target server; When the CPU usage is greater than a first preset threshold, or the memory usage is greater than a second preset threshold, suspending acquisition of the server information of the target server; When the CPU usage is less than or equal to the first preset threshold and the memory usage is less than or equal to the second preset threshold, continue to obtain the server information of the target server.

4. The method according to claim 1, characterized in that The determining a corresponding software installation package set according to the server information includes: Determine a target database, wherein the target database contains compatibilities of software of different software versions and different types on multiple operating systems, and when the compatibility of software of a software version on an operating system is less than a preset compatibility, the software of the software version is not allowed to run on the operating system; In the case where the server information includes software information of N software, based on the target database, corresponding N software version sets are determined according to the software information of the N software, wherein the i-th software version set in the N software version sets records M software version information of the i-th software in the N software, and a parameter value corresponding to each software version in the M software versions; the i-th software of each software version in the M software versions is allowed to be installed on the target operating system, and the parameter value corresponding to the software version is used to indicate the compatibility of the software of the software version on the target operating system, N is a positive integer greater than or equal to 2, and M is an integer greater than or equal to 1; Determine a target software set according to the N software version sets, wherein the i-th software in the target software set is the software version with the largest reference value in the i-th software version set in the N software version sets; The software installation package set is determined according to the target software set, wherein the i-th software installation package in the software installation package set is the software installation package of the i-th software in the target software set.

5. The method according to claim 1, characterized in that The determining a corresponding software installation package set according to the server information includes: In the case where the server information includes software information of N software, based on the hardware information of the target server, the corresponding N software version sets are determined according to the software information of the N software, wherein the i-th software version set in the N software version sets records M software version information of the i-th software in the N software, and a parameter value corresponding to each software version in the M software versions; the i-th software of each software version in the M software versions is allowed to be installed on the target operating system, and the parameter value corresponding to the software version is used to indicate the compatibility of the software of the software version on the target operating system of the target server, N is a positive integer greater than or equal to 2, and M is an integer greater than or equal to 1; Determine a target software set according to the N software version sets, wherein the i-th software in the target software set is the software version with the largest reference value in the i-th software version set in the N software version sets; The software installation package set is determined according to the target software set, wherein the i-th software installation package in the software installation package set is the software installation package of the i-th software in the target software set.

6. The method according to any one of claims 4 or 5, characterized in that After sending the update instruction to the target server, the method further includes: In the case where the first software fails to be installed on the target server, determining a software version with the lowest reference value in the software version set corresponding to the first software in the N software version sets, wherein the software installation package set includes the software installation package of the first software; The software installation package of the software version with the largest reference value is sent to the target server, and the target server is instructed to perform a corresponding software deployment operation.

7. The method according to any one of claims 4 or 5, characterized in that The method further comprises: After sending the update instruction to the target server, the method further includes: In the case where the second software fails to be installed on the target server, the third software is successfully installed on the target server, and the second software and the third software have a conflicting relationship, uninstalling the third software on the target server, wherein the software installation package set includes the software installation packages of the third software and the second software; Sending a software installation package of a software version with the lowest reference value in the software version set corresponding to the third software in the N software version sets to the target server, and instructing the target server to perform a software deployment operation corresponding to the third software; When the target server successfully installs the third software, the target server is instructed to perform the software deployment operation corresponding to the second software again.

8. A device for sending an update instruction, characterized in that: include: An acquisition module, used for acquiring server information of a target server through an information collection program, wherein the server information includes: software information in the target server; A determination module, used to determine a corresponding software installation package set according to the server information; A sending module is used to send an update instruction to the target server, wherein the update instruction is used to instruct the operating system of the target server to be updated to the target operating system, and after the operating system of the target server is updated to the target operating system, a corresponding software deployment operation is performed on the target server according to the software installation package set.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 7 when executed by a processor.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Software installation method and system

    CN114610331A

  • Operating system switching method, network card and processor

    CN117992127A

  • In-service software upgrade centralized database versioning and migration

    US20240036852A1

Cited By

  • Self-adaptive iteration software package replacement method

    CN120255954A