System migration method and apparatus, and related product
By constructing, modifying, and implementing migration assessment agents, the compatibility and data integrity issues in operating system migration were resolved, achieving efficient and accurate system migration while reducing costs.
Patent Information
- Application Number
- CN202411755735.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-02
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2044-12-02
AI Technical Summary
Existing operating system migration solutions cannot efficiently handle the migration needs of a large number of users, and there are problems with compatibility, data integrity and user configuration, resulting in long migration time, high cost and low success rate.
By constructing migration assessment agents, migration modification agents, and migration implementation agents, and using a network model generated from prior knowledge, the system migration assessment, modification, and implementation are carried out. The compatibility between the target application and the system to be migrated is evaluated, incompatible libraries and configurations are modified, and the target application is automatically migrated in an incremental manner.
It improves the efficiency and accuracy of system migration, reduces manual intervention, and saves system migration costs.
Smart Images

Figure CN119597344B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of system migration, and in particular to a system migration method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Art
[0002] This section is intended to provide a background or context to the embodiments of the present disclosure as recited in the claims. No statement herein is admitted to be related art by virtue of its inclusion in this section.
[0003] With the acceleration of digital transformation, more and more enterprises and organizations need to migrate their operating systems to adapt to business development, technology upgrades or cost optimization needs. As user migration needs increase, existing operating system migration solutions cannot meet the needs of large-scale user migration. In addition, the operating system migration process requires a large amount of data, applications and settings to be transferred from one system to another, and compatibility, data integrity and user configuration issues need to be fully considered. Therefore, the operating system migration process needs to be optimized to shorten the migration time, labor costs and improve the success rate of the migration. Summary of the Invention
[0004] The present disclosure aims to provide a system migration method, apparatus, electronic device, computer-readable storage medium, and computer program product, which can efficiently and accurately complete system migration.
[0005] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by practice of the present disclosure.
[0006] The embodiment of the present disclosure provides a system migration method, comprising: evaluating the compatibility of the target application on the source system with the application and the compilation and running environment on the system to be migrated, the adaptability of the executable file, and the adaptability of the configuration by a migration evaluation agent, so as to determine the library package that is incompatible with the system to be migrated or the source code transplantation modification content corresponding to the executable file or the configuration modification content of the target application during the migration process, wherein the migration evaluation agent is a network model generated by prior knowledge and capable of performing migration evaluation on the system migration process; transforming the library package that is corresponding to the target application and incompatible with the system to be migrated by a migration transformation agent; wherein the migration transformation agent The intelligent agent is a network model generated based on prior knowledge that can transform the library packages and codes during the system migration process; the migration and transformation intelligent agent optimizes the source code of the target application according to the source code transplantation and modification content; the migration and transformation intelligent agent modifies the configuration of the target application according to the configuration modification content; the target application on the source system and the library packages corresponding to the target application and compatible with the system to be migrated are automatically migrated to the system to be migrated in an incremental manner through the migration implementation intelligent agent; wherein the migration implementation intelligent agent is a network model generated based on prior knowledge that can migrate applications and library packages during the system migration process.
[0007] In some embodiments, the compatibility of the target application on the source system with the application and compilation runtime environment on the system to be migrated is evaluated by a migration assessment agent, including: scanning at least one of the dependent packages, static libraries, and dynamic libraries of the target application in the source system by the migration assessment agent, and scanning the dependent packages, static libraries, and dynamic libraries in the system to be migrated; the migration assessment agent compares at least one of the dependent packages, static libraries, and dynamic libraries of the target application in the source system with the dependent packages, static libraries, and dynamic libraries in the system to be migrated, and determines the dependency package differences, static library differences, or dynamic library differences between the source system and the system to be migrated.
[0008] In some embodiments, the adaptability of the executable file of the target application on the system to be migrated is evaluated by a migration assessment agent, including: scanning the software and hardware of the system to be migrated by the migration assessment agent to determine the software and hardware information of the system to be migrated; decompiling the binary executable file of the target application on the source system by the migration assessment agent to obtain the source code of the target application on the source system; determining the code transplantation modification content of the source code of the target application based on the software and hardware information of the system to be migrated and the source code of the target application on the source system, so as to adjust and optimize the software and hardware compatibility of the source code through the code transplantation modification content.
[0009] In some embodiments, the adaptability of the configuration of the target application on the system to be migrated is evaluated by a migration assessment agent, including: the migration assessment agent provides correction suggestions for the application running configuration file of the target application after migration based on the incompatible library package of the system to be migrated or the source code transplant modification content.
[0010] In some embodiments, the library package corresponding to the target application and incompatible with the system to be migrated is transformed by the migration and transformation agent, including: if the migration evaluation agent determines that the target application uses a closed-source dependency package, static library or dynamic library in the source system; the migration and transformation agent replaces the closed-source dependency package, static library or dynamic library with an open-source dependency package, static library or dynamic library; if there is no open-source dependency package, static library or dynamic library, the migration and transformation agent rewrites the open-source dependency package, static library or dynamic library according to prior knowledge and based on the specifications of the system to be migrated.
[0011] In some embodiments, the migration and transformation agent transforms the library package corresponding to the target application and incompatible with the system to be migrated, including: if the migration evaluation agent determines that the target application uses a private dependency package, static library or dynamic library in the source system, then the development framework of the private dependency package, static library or dynamic library is determined; if the private dependency package, static library or dynamic library is developed through a standard framework, then the private dependency package, static library or dynamic library on the source system is directly migrated to the system to be migrated; if the private dependency package, static library or dynamic library is developed through a non-standard framework, the migration and transformation agent transforms the code according to the development specifications of the standard framework; if the private dependency package, static library or dynamic library is developed through a compiled language, then the migration and transformation agent transforms the code segment of the private dependency package, static library or dynamic library so that the private dependency package, static library or dynamic library is compatible with the runtime of the system to be migrated.
[0012] In some embodiments, the target application on the source system and the library packages corresponding to the target application and compatible with the system to be migrated are automatically migrated to the system to be migrated in an incremental manner through a migration implementation agent, including: when the migration assessment agent determines that the system to be migrated does not need to be modified when migrating the target application, the migration implementation agent downloads the target software package required for migrating the target application from the system to be migrated according to the software package mapping relationship between the source system and the system to be migrated; the migration implementation agent creates an initial memory file system of the system to be migrated based on the target software package, so as to perform software upgrades and configuration restoration on the target software package in the initial memory file system when the system to be migrated is restarted.
[0013] In some embodiments, the target application on the source system and the library package corresponding to the target application and compatible with the system to be migrated are automatically migrated to the system to be migrated in an incremental manner through a migration implementation agent, including: if the target application is an application of an interpreted language, the target application is directly deployed to the system to be migrated through the migration implementation agent; if the target application is an application of a compiled language, the migration implementation agent compiles the target application based on the compiler on the system to be migrated, and deploys it to the system to be migrated after compilation.
[0014] An embodiment of the present disclosure provides a system migration device, including: an evaluation module, a library package transformation module, a code transformation module, a configuration transformation module, and a migration module.
[0015] Wherein, the evaluation module is used to evaluate the compatibility of the target application on the source system with the application and compilation and running environment on the system to be migrated, the adaptability of the executable file and the adaptability of the configuration through the migration evaluation agent, so as to determine the library package that is incompatible with the system to be migrated or the source code transplantation modification content corresponding to the executable file or the configuration modification content of the target application during the migration process, wherein the migration evaluation agent is a network model that can perform migration evaluation on the system migration process generated by prior knowledge; the library package transformation module can be used to transform the library package that corresponds to the target application and is incompatible with the system to be migrated through the migration transformation agent; wherein the migration transformation agent is a network model that can perform migration evaluation on the system migration process generated by prior knowledge; A network model for transforming library packages and codes during system migration; the code transformation module can be used by the migration transformation agent to optimize the source code of the target application according to the source code transplantation modification content; the configuration transformation module can be used by the migration transformation agent to modify the configuration of the target application according to the configuration modification content; the migration module can be used to automatically migrate the target application on the source system and the library packages corresponding to the target application and compatible with the system to be migrated to the system to be migrated in an incremental manner through the migration implementation agent; the migration implementation agent is a network model generated by prior knowledge that can migrate applications and library packages during system migration.
[0016] An embodiment of the present disclosure provides an electronic device, comprising: a memory and a processor; the memory is used to store computer program instructions; the processor calls the computer program instructions stored in the memory to implement any of the above-mentioned system migration methods.
[0017] The embodiment of the present disclosure provides a computer-readable storage medium having computer program instructions stored thereon for implementing any of the system migration methods described above.
[0018] The present disclosure provides a computer program product or computer program, which includes computer program instructions stored in a computer-readable storage medium. The computer program instructions are read from the computer-readable storage medium and executed by a processor to implement the above-mentioned system migration method.
[0019] The system migration method, apparatus, electronic device, computer-readable storage medium, and computer program product provided by the embodiments of the present disclosure can evaluate, modify, and migrate the system migration process through an intelligent agent. The evaluation and modification of the intelligent agent can improve the compatibility of the target application between the source system and the system to be migrated; furthermore, performing the system migration operation through the intelligent agent can improve the efficiency of the system migration. In summary, the technical solution provided by this application can improve the efficiency and accuracy of system migration, thereby reducing the cost of system migration.
[0020] It should be understood that the foregoing general description and the following detailed description are exemplary only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.
[0022] Figure 1 A schematic diagram of a scenario that can be applied to a system migration method or a system migration device in an embodiment of the present disclosure is shown.
[0023] Figure 2 The figure is a flowchart showing a system migration method according to an exemplary embodiment.
[0024] Figure 3 The present invention is a flowchart showing a method for evaluating the compatibility of an application with a compilation and execution environment according to an exemplary embodiment.
[0025] Figure 4 The figure is a flowchart of a method for evaluating the adaptability of an executable file according to an exemplary embodiment.
[0026] Figure 5 The figure is a flowchart showing a method for modifying a library package according to an exemplary embodiment.
[0027] Figure 6 The figure is a flowchart showing a method for modifying a library package according to an exemplary embodiment.
[0028] Figure 7 The present invention is a system migration system according to an exemplary embodiment.
[0029] Figure 8 The figure is a flowchart showing a system migration method according to an exemplary embodiment.
[0030] Figure 9The figure is a block diagram showing a system migration apparatus according to an exemplary embodiment.
[0031] Figure 10 A schematic structural diagram of an electronic device suitable for implementing the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0032] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. Like reference numerals in the drawings represent like or similar parts, and thus repetitive description thereof will be omitted.
[0033] Those skilled in the art will appreciate that the embodiments of the present disclosure may be implemented as a system, apparatus, device, method, or computer program product. Therefore, the present disclosure may be implemented in the following forms: entirely in hardware, entirely in software (including firmware, resident software, microcode, etc.), or in a combination of hardware and software.
[0034] The features, structures or characteristics described in the present disclosure may be combined in any suitable manner in one or more embodiments. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known methods, devices, implementations or operations are not shown or described in detail to avoid obscuring various aspects of the present disclosure.
[0035] In the embodiments of the present disclosure, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0036] The accompanying drawings are merely schematic illustrations of the present disclosure. Identical reference numerals in the drawings denote identical or similar components, and thus their repeated descriptions will be omitted. Some of the block diagrams shown in the accompanying drawings do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0037] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all content and steps, nor must they be executed in the order described. For example, some steps may be decomposed, while others may be combined or partially combined. Therefore, the actual execution order may vary depending on the actual situation.
[0038] In the description of the present disclosure, unless otherwise specified, " / " means "or", for example, A / B can mean A or B. "And / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, "at least one" means one or more, and "a plurality" means two or more. The words "first", "second", etc. do not limit the quantity and execution order, and the words "first", "second", etc. do not limit them to be different; the terms "comprising", "including" and "having" are used to express the meaning of open inclusion and mean that in addition to the listed elements / components / etc., there may be other elements / components / etc.
[0039] In order to more clearly understand the above-mentioned objects, features and advantages of the present invention, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present invention and the features in the embodiments can be combined with each other without conflict.
[0040] It should be noted that the collection, collection, updating, analysis, processing, use, transmission, and storage of user personal information involved in the technical solutions disclosed herein all comply with relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken with respect to user personal information to prevent unauthorized access to user personal information data and maintain the security of user personal information and network security.
[0041] First, some terms involved in the embodiments of the present disclosure are explained below to facilitate understanding by those skilled in the art.
[0042] Large Language Model (LLM): An AI model designed to understand and generate human language. Trained on large amounts of text data, it can perform a wide range of tasks, including summarization, translation, and sentiment analysis. Its large scale helps it learn complex patterns in language data.
[0043] Agent: In computer science and artificial intelligence, an entity or software program that can independently perform tasks, make decisions, and operate autonomously in a specific environment. An agent can be a simple software script or a complex robotic system.
[0044] The foregoing describes some of the terms and concepts involved in the embodiments of the present disclosure. The following describes the technical features involved in the embodiments of the present disclosure.
[0045] The in-depth development of technologies such as deep learning and large language models has made it possible to automate and efficiently migrate operating systems. This application, based on this industry background and technological development trends, aims to build an efficient and automated operating system migration solution, reduce manual intervention during the operating system migration process, and provide users with higher migration efficiency and migration success rates.
[0046] Existing system migration methods mainly rely on vendor tools supplemented by manual operations, which are not universal. In addition, manual methods require manual user configuration and manual script writing, which may subsequently lead to compatibility issues such as kernel, basic software packages and tool chains, as well as dependencies and data integrity issues during the migration process.
[0047] In response to the above problems, this application proposes the following technical solutions.
[0048] Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0049] Figure 1 A schematic diagram of a scenario that can be applied to a system migration method or a system migration device in an embodiment of the present disclosure is shown.
[0050] Please refer to Figure 1 , which shows a schematic diagram of an implementation environment provided by an exemplary embodiment of the present disclosure.
[0051] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. Network 104 is a medium for providing communication links between terminal devices 101, 102, 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links or fiber optic cables.
[0052] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Terminal devices 101, 102, and 103 can be various electronic devices with display screens and support web browsing, including but not limited to smartphones, tablet computers, laptop computers, desktop computers, wearable devices, virtual reality devices, smart homes, etc.
[0053] The server 105 may be a server that provides various services, such as a background management server that provides support for devices operated by users using the terminal devices 101, 102, and 103. The background management server may analyze and process received requests and other data, and feed back the processing results to the terminal device.
[0054] The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as basic cloud computing services such as big data and artificial intelligence platforms, etc. This disclosure does not impose any restrictions on this.
[0055] The above-mentioned intelligent agents (such as migration assessment intelligent agents, migration transformation intelligent agents or migration implementation intelligent agents) can be deployed in a single terminal device or a single server, or can be distributedly deployed in terminal devices or servers. This application does not impose any restrictions on this.
[0056] In addition, the above-mentioned migration assessment agent, migration transformation agent or migration implementation agent can be deployed on the same device or on different devices, and this application does not impose any restrictions on this.
[0057] Assuming that the above-mentioned migration assessment agent, migration transformation agent and migration implementation agent are all deployed in the server 105, then the server 105 can, for example, use the migration assessment agent to evaluate the compatibility of the target application on the source system with the application and compilation running environment on the system to be migrated, the adaptability of the executable file and the adaptability of the configuration, so as to determine the source code transplantation modification content or the configuration modification content of the target application corresponding to the library package or executable file that is incompatible with the system to be migrated during the migration process, wherein the migration assessment agent is a network model that can perform migration assessment on the system migration process generated by prior knowledge; the server 105 can, for example, use the migration transformation agent to evaluate the library package corresponding to the target application and incompatible with the system to be migrated. The server 105 can, for example, use a migration transformation agent to optimize the source code of the target application according to the source code transplant modification content; the server 105 can, for example, use a migration transformation agent to modify the configuration of the target application according to the configuration modification content; the server 105 can, for example, use a migration implementation agent to automatically migrate the target application on the source system and the library package corresponding to the target application and compatible with the system to be migrated to the system to be migrated in an incremental manner; the migration implementation agent is a network model generated by prior knowledge that can migrate applications and library packages in the process of system migration.
[0058] It should be understood that Figure 1 The number of terminal devices, networks and servers is merely illustrative. The server 105 may be a single entity server or may be composed of multiple servers. It may have any number of terminal devices, networks and servers according to actual needs.
[0059] Figure 2 The method provided by the embodiment of the present disclosure can be executed by any electronic device with computing processing capabilities, for example, the method can be executed by the above-mentioned Figure 1 The server or terminal device in the embodiment may be executed, or the server and the terminal device may be executed together. In the following embodiments, the server is used as the execution subject for example, but the present disclosure is not limited to this.
[0060] Reference Figure 2 The system migration method provided by the embodiment of the present disclosure may include the following steps.
[0061] Step S202, the compatibility of the target application on the source system with the compilation and running environment on the system to be migrated, the adaptability of the executable file, and the adaptability of the configuration are evaluated by the migration evaluation agent to determine the source code transplantation modification content or the configuration modification content of the target application corresponding to the library package or executable file that is incompatible with the system to be migrated during the migration process, wherein the migration evaluation agent is a network model generated by prior knowledge that can perform migration evaluation on the system migration process.
[0062] In some embodiments, the migration assessment agent, migration transformation agent and migration implementation agent provided in the present application can be aggregated into one agent (for example, the functions corresponding to the above-mentioned migration assessment agent, migration transformation agent and migration implementation agent are comprehensively provided by the same agent); the above-mentioned migration assessment agent, migration transformation agent and migration implementation agent can be different agents.
[0063] It is understandable that those skilled in the art can aggregate the functions of the above-mentioned migration evaluation agent, migration transformation agent and migration implementation agent into one agent, two agents or three agents for implementation, or they can split them into multiple agents for functional implementation. This application includes the above situations.
[0064] In some embodiments, the above-mentioned intelligent agent can be a network model generated through prior knowledge training that can perform migration evaluation on the system migration process. For example, it can be a large model (a network model with more parameters) trained through prior knowledge in the field of system migration; of course, the intelligent agent in this application can also be a small model (a network model with fewer parameters) that has been trained in advance.
[0065] In some embodiments, data on a source system can be migrated to a system to be migrated. The source system may include multiple applications, which may include a target application. This application will use the target application as an example to explain how to migrate data from the source system to the system to be migrated. Those skilled in the art can derive a technical solution for migrating all data from a source system to the system to be migrated based on the embodiments provided herein, and this application will not elaborate further on this.
[0066] In some embodiments, the system migration process between the source system and the system to be migrated can be evaluated by a migration evaluation agent.
[0067] For example, the compatibility of the target application on the source system with the application and compilation and running environment on the system to be migrated (for example, the compatibility of the target application's dependent libraries or dependent packages, the compatibility of the running environment of the dependent libraries or dependent packages, etc.) can be evaluated to obtain an evaluation result (such as library packages that are incompatible with the system to be migrated).
[0068] For another example, the adaptability of the executable file of the target application on the source system to the system to be migrated may be evaluated to obtain an evaluation result (such as the source code migration modification content corresponding to the executable file).
[0069] For another example, it is also possible to evaluate whether the configuration of the target application on the source system is compatible with the system to be migrated, such as whether it is compatible with the software and hardware of the system to be migrated, and obtain evaluation results (such as configuration modification content of the target application).
[0070] Step S204, transforming the library packages corresponding to the target application and incompatible with the system to be migrated through the migration and transformation agent; wherein the migration and transformation agent is a network model generated based on prior knowledge that can transform the library packages and codes during the system migration process.
[0071] In some embodiments, the incompatibilities between the system to be migrated and the source system can be transformed by a migration transformation agent.
[0072] For example, the incompatible library packages between the migration system and the source system can be modified. For example, the incompatible library packages can be rewritten, rebuilt, or the execution environment of the incompatible library packages can be modified. This application does not limit the specific modification content of the library packages.
[0073] Step S206: The migration and transformation agent optimizes the source code of the target application according to the source code transplantation and modification content.
[0074] In some embodiments, the migration and transformation agent can optimize the source code of the target application according to the source code transplantation modification content so that the transformed source code can adapt to the system to be migrated, for example, adapt to the software and hardware conditions of the system to be migrated.
[0075] Step S208: The migration and transformation agent modifies the configuration of the target application according to the configuration modification content.
[0076] In some embodiments, the migration and transformation agent can modify the configuration of the target application according to the configuration modification content so that the modified content can adapt to the transformed system to be migrated, such as the compilation and running environment, executable files, and software and hardware conditions of the system to be migrated.
[0077] Step S210, the target application on the source system and the library package corresponding to the target application and compatible with the system to be migrated are automatically migrated to the system to be migrated in an incremental manner through the migration implementation agent; wherein the migration implementation agent is a network model generated by prior knowledge that can migrate applications and library packages during the system migration process.
[0078] In some embodiments, after the transformation of incompatibilities between the source system and the system to be migrated is completed through the migration transformation agent, the data to be migrated on the source system (such as the target application, and the library package corresponding to the target application and compatible with the system to be migrated) can be automatically migrated to the system to be migrated in an incremental manner through the migration implementation agent.
[0079] The technical solution provided by the above embodiment, combined with the method of intelligent agent, can significantly reduce manual intervention and improve the migration efficiency of the operating system with the help of intelligent agent scheduling algorithm. The LLM intelligent agent's pre-migration assessment can scan the operating system status and automatically analyze the migration requirements; the migration and transformation intelligent agent performs corresponding transformations on incompatible items and dependent software packages in the migration assessment; during the migration implementation process, the intelligent agent can make the best decision based on the existing knowledge base and real-time data, such as selecting the most suitable migration tool, predicting migration risks, optimizing the configuration of the target system, etc., so as to better implement incremental migration, improve compatibility and dependency issues, and improve the success rate and efficiency of operating system migration.
[0080] Figure 3 The present invention is a flowchart showing a method for evaluating the compatibility of an application with a compilation and execution environment according to an exemplary embodiment.
[0081] refer to Figure 3 The above method for evaluating the compatibility of an application with a compilation and execution environment may include the following steps.
[0082] Step S302: Scan at least one of the dependent packages, static libraries, and dynamic libraries of the target application in the source system through the migration assessment agent, and scan the dependent packages, static libraries, and dynamic libraries in the system to be migrated.
[0083] In step S304, the migration assessment agent compares at least one of the dependency packages, static libraries, and dynamic libraries of the target application in the source system with the dependency packages, static libraries, and dynamic libraries in the system to be migrated, and determines the dependency package differences, static library differences, or dynamic library differences between the source system and the system to be migrated.
[0084] The above method can accurately determine whether the system to be migrated has dependency packages and libraries that meet the requirements of the target application, and accurately provide the dependency package differences, static library differences, or dynamic library differences between the source system and the system to be migrated.
[0085] Figure 4 The figure is a flowchart of a method for evaluating the adaptability of an executable file according to an exemplary embodiment.
[0086] refer to Figure 4 The above-mentioned executable file adaptability evaluation method may include the following steps.
[0087] Step S402: Scan the software and hardware of the system to be migrated by the migration assessment agent to determine the software and hardware information of the system to be migrated.
[0088] Step S404: Decompile the binary executable file of the target application on the source system through the migration assessment agent to obtain the source code of the target application on the source system.
[0089] Step S406 , determining the code migration modification content of the target application source code based on the software and hardware information of the system to be migrated and the source code of the target application on the source system, so as to adjust and optimize the software and hardware compatibility of the source code through the code migration modification content.
[0090] Through the above method, the modified source code can be efficiently and automatically adapted to the system to be migrated.
[0091] In some embodiments, a migration assessment agent can also be used to evaluate the adaptability of the target application's configuration on the system to be migrated. For example, the migration assessment agent can provide correction suggestions for the target application's post-migration application runtime configuration file based on the incompatible library packages or source code migration modifications of the system to be migrated, or the hardware and software conditions of the system to be migrated. Through the above method, the modified configuration can be adapted to the compatibility of the modified compilation and runtime environment, the executable files, and the hardware and software conditions of the system to be migrated.
[0092] Figure 5 The figure is a flowchart showing a method for modifying a library package according to an exemplary embodiment.
[0093] refer to Figure 5 The above library package transformation method may include the following steps.
[0094] Step S502: If the migration assessment agent determines that the target application uses closed-source dependency packages, static libraries, or dynamic libraries in the source system.
[0095] Step S504: The migration and transformation agent replaces the closed-source dependency packages, static libraries or dynamic libraries with open-source dependency packages, static libraries or dynamic libraries.
[0096] In step S506, if there is no open source dependency package, static library or dynamic library, the migration and transformation agent rewrites the open source dependency package, static library or dynamic library based on prior knowledge and the specifications of the system to be migrated.
[0097] The above method can transform compatible library packages efficiently and accurately through the migration and transformation agent.
[0098] Figure 6The figure is a flowchart showing a method for modifying a library package according to an exemplary embodiment.
[0099] refer to Figure 6 The above library package transformation method may include the following steps.
[0100] Step S602: If the migration assessment agent determines that the target application uses a private dependency package, static library, or dynamic library in the source system, then the development framework of the private dependency package, static library, or dynamic library is determined.
[0101] Step S604: If the private dependency package, static library or dynamic library is developed through a standard framework, the private dependency package, static library or dynamic library on the source system is directly migrated to the system to be migrated.
[0102] Step S606: If the private dependency package, static library or dynamic library is developed through a non-standard framework, the migration and transformation agent transforms the code according to the development specifications of the standard framework.
[0103] Step S608, if the private dependency package, static library or dynamic library is developed using a compiled language, the code segments of the private dependency package, static library or dynamic library are transformed through the migration and transformation agent to make the private dependency package, static library or dynamic library compatible with the runtime of the system to be migrated.
[0104] The above method can transform compatible library packages efficiently and accurately through the migration and transformation agent.
[0105] In some embodiments, the target application on the source system and the library packages corresponding to the target application and compatible with the system to be migrated can be automatically migrated to the system to be migrated in an incremental manner through the following method: when the migration assessment agent determines that the system to be migrated does not need to be modified when migrating the target application, the migration implementation agent downloads the target software package required for migrating the target application from the system to be migrated based on the software package mapping relationship between the source system and the system to be migrated; the migration implementation agent creates an initial memory file system of the system to be migrated based on the target software package, so that the target software package in the initial memory file system can be upgraded and the configuration restored when the system to be migrated is restarted.
[0106] In some embodiments, the target application on the source system and the library package corresponding to the target application and compatible with the system to be migrated can also be automatically migrated to the system to be migrated in an incremental manner through the following methods, including: if the target application is an application of an interpreted language, the target application is directly deployed to the system to be migrated through the migration implementation agent; if the target application is an application of a compiled language, the migration implementation agent compiles the target application based on the compiler on the system to be migrated, and deploys it to the system to be migrated after compilation.
[0107] The technical solution provided by the embodiment of the present application, combined with the method of the intelligent agent, can significantly reduce manual intervention and improve the migration efficiency of the operating system with the help of the intelligent agent scheduling algorithm. The LLM intelligent agent's pre-migration assessment can scan the operating system status and automatically analyze the migration requirements; the migration and transformation intelligent agent performs corresponding transformations on incompatible items and dependent software packages in the migration assessment; during the migration implementation process, the intelligent agent can make the best decision based on the existing knowledge base and real-time data, such as selecting the most suitable migration tool, predicting migration risks, optimizing the configuration of the target system, etc., so as to better implement incremental migration, improve compatibility and dependency issues, and improve the success rate and efficiency of operating system migration.
[0108] The present application also provides a system migration system and a system migration method.
[0109] Figure 7 The present invention is a system migration system according to an exemplary embodiment.
[0110] like Figure 7 As shown, the system migration system is mainly divided into user layer, agent layer and operating system layer.
[0111] The user layer has a user interface where users can submit migration requirements, view the generated migration plan, and see the progress and problems encountered during the migration process.
[0112] Agent layer: It is divided into agent management module and agent module. The agent management module can schedule, coordinate and allocate resources to each agent according to the task.
[0113] The agent module contains the following three agents:
[0114] Migration Assessment Agent: Before migration is implemented, the Migration Assessment Agent connects to the operating system through the SDK interface and calls tools to scan the system to be migrated, collecting basic information about the kernel, software packages, and system configuration. It also compares and analyzes the system with the target system, providing impact analysis and solutions for incompatibilities and dependent software packages. This agent primarily assesses the compatibility of applications with the compilation and runtime environment, the adaptation and modification of executable files, and the adaptation and modification of configurations.
[0115] Migration and transformation agent: Based on the evaluation results of the migration evaluation agent, the migration and transformation agent uses the SDK interface to call the knowledge base and other capabilities to transform the software packages, runtime libraries, and compilers in the operating system application accordingly;
[0116] Migration implementation agent: The migration implementation agent migrates the operating system based on the evaluation results of the migration evaluation agent, and performs incremental migration in steps for the operating system components that do not require modification; for the operating systems that require modification, after the modification agent completes the modification of the library packages and compilers, it migrates them to the source system.
[0117] Operating system layer: It is further divided into software layer, kernel layer and hardware layer.
[0118] Software layer: includes software applications and related runtime libraries;
[0119] Kernel layer: includes scheduler, file system, driver and related system call interface.
[0120] Hardware layer: includes CPU, GPU, storage devices and other hardware.
[0121] The following details the workflow of each module in the agent layer:
[0122] Agent management module: Based on the workload of the operating system migration and the existing resource utilization, the different processes involved in the operating system migration are divided. For example, n operating system migrations can be divided into evaluation task n, transformation task n, and migration task n. These tasks are assigned priorities based on dependencies, and the tasks are assigned to different agents in sequence according to the priorities, and corresponding resources are allocated to the agents.
[0123] Migration assessment agent: mainly includes the following three assessments: compatibility assessment between application and compilation and running environment, adaptation and transformation assessment of executable files, and adaptation and transformation assessment of configurations.
[0124] Compatibility assessment between applications and compiled runtime environments: assess the compatibility between applications and the compiled runtime environments on the system to be migrated. Based on the characteristics of the application type, the assessment agent calls relevant tools through the SDK interface to scan dependent packages, static libraries, and dynamic libraries within the operating system, including basic rpm (a software package management tool) and yum source (a tool for installing and managing software packages) scanning, dynamic so library (shared object library or dynamic link library) file or dll file (an executable file) scanning, dependent source code scanning, etc. Based on the scanning results, the assessment and transformation agent compares the operating system to be migrated with the source system, gives the differences between the dependent packages (such as rpm) of the environment to be migrated and the target dependent packages, the differences between the dynamic libraries and the target dynamic libraries, etc., and returns the results to the user interaction interface;
[0125] Adaptation and transformation assessment of executable files: For binary executable files of applications or business systems, the assessment agent analyzes the porting and modification content of the code through decompilation (converting the compiled binary code into high-level language code) and other means. At the same time, based on the characteristics of the executable file, it proposes a list of recommendations for the adaptation environment and feeds back to the migration implementation agent.
[0126] During the code porting process, the source code needs to be modified to adapt to the hardware and software environment of the target system. These modifications may involve multiple aspects: 1. Hardware compatibility adjustment (for different hardware platforms, CPU, memory or peripherals, etc.) Code optimization, modification of the parts that directly interact with the hardware, such as interrupt handling, I / O operations, etc.; 2. Operating system interface adaptation
[0127] Configuration adaptation and transformation evaluation: Aiming at the differences in environment and code transformation before and after application migration, the evaluation agent can provide correction suggestions for application running configuration files in different environments, such as port connection correction, dependent library call configuration correction, etc.
[0128] Migrate and transform the agent: This mainly includes the following two transformations: runtime-oriented transformation and compiler-oriented transformation:
[0129] Runtime library-oriented transformation: The first step in application transformation is to adapt to the standard dependencies of the operating system. The migration and transformation agent replaces the original application dependency packages, dynamic libraries, and static library files with versions compatible with the system to be migrated. If the agent detects that the application uses privately developed or closed-source dynamic dependencies, the transformation is more difficult. The migration and transformation agent replaces them with open source versions. If an open source version is not available, it will be rewritten based on prior knowledge and the operating system specifications.
[0130] Compiler-oriented transformation: The second step in application transformation is to transform privately developed components to adapt them to the standard runtime or standard compilation environment of domestic operating systems. The evaluation agent has already completed the assessment in the previous step. For high-level language applications developed using standard frameworks, smooth migration is achieved without modification, and the next step of migration implementation is directly implemented. For private classes outside the standard framework, the migration and transformation agent will transform the relevant code according to the compilation specifications. For compiled language applications, if the privately developed class library is not compatible with the operating system runtime, the migration and transformation agent will transform the corresponding code segments.
[0131] Migration implementation agent: The migration implementation agent automatically migrates the applications to be migrated and the supporting library packages to the source system in an incremental manner.
[0132] If the migration assessment agent determines that no modification is required, the migration implementation agent will first download the required software packages from the operating system to be migrated in advance according to the list of software packages installed on the current system and the software package mapping relationship between the original operating system and the operating system to be migrated. It will also create an upgrade-initramfs (a system file) based on the software packages of the operating system to be migrated. After the next reboot, the system will automatically enter the upgrade-initramfs and trigger an in-place upgrade of all software packages. After all software packages have been upgraded in-place, the system will automatically reboot and enter the system configuration restoration phase. After all information is configured, the system will reboot and enter the new operating system.
[0133] The migration evaluation agent provides feedback to the agent management module for applications identified as interpreted languages, which then sends the task to the migration implementation agent, which deploys it to the new operating system through the migration implementation agent. For applications in compiled languages, the agent management module sends the task to the migration transformation agent after receiving feedback from the evaluation agent. The migration transformation agent is based on the trusted version compiler. After compilation is completed, it is deployed to the new operating system by the migration implementation agent.
[0134] In response to missing and different library packages, the migration assessment agent evaluates whether the existing library packages can replace the corresponding dependencies of the source system. If they can be replaced, the migration implementation agent will be transferred to update and upgrade; if they cannot be replaced, they will be migrated to the source system after the migration transformation agent completes the transformation; in response to differences in business systems, if they can be corrected by modifying the configuration or the code, the migration implementation agent will call the relevant self-migration tool to make corrections, and then deploy them to the corresponding operating system for subsequent data migration.
[0135] The above system migration method can be Figure 8 The flowchart shown is described.
[0136] refer to Figure 8 , the above system migration method may include the following steps:
[0137] Step 801: The user provides information and requirements of the system to be migrated and the source system.
[0138] Step 802: The agent management module decomposes the tasks and assigns them to each agent.
[0139] Step 803: The migration assessment agent scans the operating system information and performs an assessment.
[0140] Step 804: Determine whether modification is required.
[0141] If modification is required, execute step S805.
[0142] If no modification is required, execute step S806.
[0143] Step 805: Migrate and transform the intelligent body to transform the runtime library and compiler.
[0144] Step 806, migration implementation intelligent body upgrade software package, deploy applications, and implement incremental migration.
[0145] Step 807, end.
[0146] The difference between this embodiment and the related art is that:
[0147] 1. Previous technologies primarily rely on vendor tools supplemented by manual operations to migrate operating systems. This patent introduces an intelligent agent that can automate migration without manual intervention. It not only makes optimal decisions for operating system migration based on existing knowledge bases and real-time data, but also provides intelligent management, scheduling, and resource allocation for evaluation, transformation, and migration agents.
[0148] 2. The related technology can only migrate operating systems one by one, but the patented method can realize batch operating system migration under the effective scheduling of the intelligent agent management module, greatly improving the efficiency of migration;
[0149] 3. Related technologies only focus on migrating the operating system itself, but ignore the adaptation of the operating system application. The transformation method proposed in this application (corresponding to the migration and transformation intelligent body) can effectively improve the availability of the application after migration and avoid the situation where the application is unavailable after migration.
[0150] The above embodiments have the following beneficial effects.
[0151] 1. Introduce intelligent agents into the operating system migration process, including migration assessment intelligent agents, migration transformation intelligent agents, and migration implementation intelligent agents. The migration assessment intelligent agent has three assessment modules: compatibility assessment between applications and the compilation and runtime environment, adaptation and transformation assessment of executable files, and adaptation and transformation assessment of configurations; the migration and transformation intelligent agent has two transformation modules: transformation for the runtime library and transformation for the compiler.
[0152] 2. Compared with traditional methods, it focuses more on application adaptation and migration, and proposes runtime library-oriented and compiler-oriented modifications specifically for application software adaptation to improve the availability of applications in the new operating system.
[0153] 3. Intelligent agent management can schedule and allocate resources for each intelligent agent. By scheduling the intelligent agent, the synchronous migration of multiple operating systems can be achieved, effectively improving the migration efficiency.
[0154] It should be noted that the various steps in the various embodiments of the above-mentioned system migration method can be interleaved, replaced, added, or deleted. Therefore, these reasonable permutations and combinations of the system migration method should also fall within the scope of protection of this disclosure, and the scope of protection of this disclosure should not be limited to the embodiments.
[0155] Based on the same inventive concept, the present disclosure also provides a system migration device, such as the following embodiment. Since the principle of solving the problem in the device embodiment is similar to that in the above method embodiment, the implementation of the device embodiment can refer to the implementation of the above method embodiment, and the repeated parts will not be repeated.
[0156] Figure 9 FIG. 1 is a block diagram of a system migration device according to an exemplary embodiment. Figure 9 The system migration device 900 provided in the embodiment of the present disclosure may include: an evaluation module 901 , a library package transformation module 902 , a code transformation module 903 , a configuration transformation module 904 and a migration module 905 .
[0157] Among them, the evaluation module 901 can be used to evaluate the compatibility of the target application on the source system with the application and compilation and running environment on the system to be migrated, the adaptability of the executable file and the adaptability of the configuration through the migration evaluation agent, so as to determine the source code transplantation modification content or the configuration modification content of the target application corresponding to the library package or executable file that is incompatible with the system to be migrated during the migration process, wherein the migration evaluation agent is a network model that can perform migration evaluation on the system migration process generated by prior knowledge; the library package transformation module 902 can be used to transform the library package corresponding to the target application and incompatible with the system to be migrated through the migration transformation agent; wherein the migration transformation agent is based on prior knowledge A network model is generated that can transform the library packages and codes during the system migration process; the code transformation module 903 can be used for the migration transformation agent to optimize the source code of the target application according to the source code transplantation modification content; the configuration transformation module 904 can be used for the migration transformation agent to modify the configuration of the target application according to the configuration modification content; the migration module 905 can be used to automatically migrate the target application on the source system and the library packages corresponding to the target application and compatible with the system to be migrated to the system to be migrated in an incremental manner through the migration implementation agent; wherein the migration implementation agent is a network model generated by prior knowledge that can migrate applications and library packages during the system migration process.
[0158] In some embodiments, the evaluation module 901 includes: a scanning submodule and a library package difference determination submodule.
[0159] The scanning submodule can be used to scan at least one of the dependency packages, static libraries and dynamic libraries of the target application in the source system through the migration assessment agent, and scan the dependency packages, static libraries and dynamic libraries in the system to be migrated; the library package difference determination submodule can be used by the migration assessment agent to compare at least one of the dependency packages, static libraries and dynamic libraries of the target application in the source system with the dependency packages, static libraries and dynamic libraries in the system to be migrated, and determine the dependency package differences, static library differences or dynamic library differences between the source system and the system to be migrated.
[0160] In some embodiments, the evaluation module 901 may include: a software and hardware information determination submodule, a decompilation submodule, and a code transplant modification content determination submodule.
[0161] Among them, the software and hardware information determination submodule can be used to scan the software and hardware of the system to be migrated through the migration evaluation agent to determine the software and hardware information of the system to be migrated; the decompilation submodule can be used to decompile the binary executable file of the target application on the source system through the migration evaluation agent to obtain the source code of the target application on the source system; the code transplantation modification content determination submodule can be used to determine the code transplantation modification content of the source code of the target application based on the software and hardware information of the system to be migrated and the source code of the target application on the source system, so as to adjust and optimize the software and hardware compatibility of the source code through the code transplantation modification content.
[0162] In some embodiments, the evaluation module 901 may include: a configuration suggestion submodule.
[0163] Among them, the configuration suggestion submodule can be used by the migration assessment agent to provide correction suggestions for the application running configuration file after the target application is migrated based on the modified content of the library package or source code that is incompatible with the system to be migrated.
[0164] In some embodiments, the library package transformation module 902 may include: a first judgment submodule, a second judgment submodule, and a third judgment submodule.
[0165] Among them, the first judgment submodule can be used to determine through the migration evaluation agent that the target application uses closed-source dependency packages, static libraries or dynamic libraries in the source system; the second judgment submodule can be used by the migration and transformation agent to replace the closed-source dependency packages, static libraries or dynamic libraries with open-source dependency packages, static libraries or dynamic libraries; the third judgment submodule can be used if there are no open-source dependency packages, static libraries or dynamic libraries, then the migration and transformation agent rewrites the open-source dependency packages, static libraries or dynamic libraries based on prior knowledge and the specifications of the system to be migrated.
[0166] In some embodiments, the library package transformation module 902 may include: a fourth judgment submodule, a fifth judgment submodule, a sixth judgment submodule, and a seventh judgment submodule.
[0167] Among them, the fourth judgment submodule is used to determine the development framework of the private dependency package, static library or dynamic library if it is determined through the migration evaluation agent that the target application uses a private dependency package, static library or dynamic library in the source system; the fifth judgment submodule is used to directly migrate the private dependency package, static library or dynamic library on the source system to the system to be migrated if the private dependency package, static library or dynamic library is developed through a standard framework; the sixth judgment submodule can be used if the private dependency package, static library or dynamic library is developed through a non-standard framework, and the migration and transformation agent performs code transformation according to the development specifications of the standard framework; the eighth judgment submodule can be used if the private dependency package, static library or dynamic library is developed through a compiled language, and the migration and transformation agent performs code segment transformation on the private dependency package, static library or dynamic library to make the private dependency package, static library or dynamic library and the system to be migrated compatible at runtime.
[0168] In some embodiments, the migration module 905 may include: a download submodule and a file system creation submodule.
[0169] Among them, the download sub-module can be used when the migration assessment agent determines that the system to be migrated does not need to be modified when migrating the target application. The migration implementation agent then downloads the target software package required for migrating the target application from the system to be migrated according to the software package mapping relationship between the source system and the system to be migrated; the file system production sub-module can be used by the migration implementation agent to produce the initial memory file system of the system to be migrated based on the target software package, so as to perform software upgrades and configuration restoration on the target software package in the initial memory file system when the system to be migrated is restarted.
[0170] In some embodiments, the migration module 905 may include: a direct deployment submodule and a post-compilation deployment submodule.
[0171] Among them, the direct deployment sub-module can be used if the target application is an application of interpreted language, and the target application is directly deployed to the system to be migrated through the migration implementation agent; the post-compilation deployment sub-module can be used if the target application is an application of compiled language, and the migration implementation agent compiles the target application based on the compiler on the system to be migrated, and deploys it to the system to be migrated after compilation.
[0172] Since the functions of the apparatus 900 have been described in detail in the corresponding method embodiments, they will not be described in detail in this disclosure.
[0173] The modules and / or submodules described in the embodiments of the present disclosure may be implemented in software or hardware. The modules and / or submodules described may also be provided in a processor. The names of these modules and / or submodules do not, in certain circumstances, limit the modules and / or submodules themselves.
[0174] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a portion of a module or program segment, and a portion of the above-mentioned module or program segment contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the boxes can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified functions or operations, or can be implemented using a combination of dedicated hardware and computer program instructions.
[0175] Furthermore, the figures above are merely illustrative of the processes included in the methods according to exemplary embodiments of the present disclosure and are not intended to be limiting. It is readily understood that the processes illustrated in the figures above do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0176] Figure 10 Schematic diagram of the structure of an electronic device suitable for implementing the embodiment of the present disclosure is shown. Figure 10 The electronic device 1000 shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.
[0177] like Figure 10 As shown, the electronic device 1000 includes a central processing unit (CPU) 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage portion 1008 into a random access memory (RAM) 1003. Various programs and data required for the operation of the electronic device 1000 are also stored in the RAM 1003. The CPU 1001, the ROM 1002, and the RAM 1003 are connected to each other via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.
[0178] The following components are connected to the I / O interface 1005: an input section 1006 including a keyboard, a mouse, and the like; an output section 1007 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and speakers; a storage section 1008 including a hard disk; and a communication section 1009 including a network interface card such as a LAN card or a modem. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to the I / O interface 1005 as needed. Removable media 1011, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 1010 as needed, so that computer programs read therefrom can be installed in the storage section 1008 as needed.
[0179] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program includes computer program instructions for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 1009, and / or installed from a removable medium 1011. When the computer program is executed by the central processing unit (CPU) 1001, the above-mentioned functions defined in the system of the present disclosure are performed.
[0180] It should be noted that the computer-readable storage medium described in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable computer program instructions. Such a propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable storage medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The computer program instructions contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wireline, optical cable, RF, etc., or any suitable combination thereof.
[0181] As another aspect, the present disclosure also provides a computer-readable storage medium, which may be included in the device described in the above embodiment; or it may exist independently and not be assembled into the device. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed by a device, the device can realize functions including: evaluating the compatibility of the target application on the source system with the application and the compilation and running environment on the system to be migrated, the adaptability of the executable file, and the adaptability of the configuration through a migration evaluation agent, so as to determine the source code transplantation modification content or the configuration modification content of the target application corresponding to the library package or executable file that is incompatible with the system to be migrated during the migration process, wherein the migration evaluation agent is a network model that can perform migration evaluation on the system migration process through prior knowledge; the migration transformation agent is used to evaluate the target application corresponding to the target application. And the library packages that are incompatible with the system to be migrated are transformed; the migration and transformation agent is a network model generated according to prior knowledge that can transform the library packages and codes during the system migration process; the migration and transformation agent optimizes the source code of the target application according to the source code transplantation modification content; the migration and transformation agent modifies the configuration of the target application according to the configuration modification content; the target application on the source system and the library packages corresponding to the target application and compatible with the system to be migrated are automatically migrated to the system to be migrated in an incremental manner through the migration implementation agent; the migration implementation agent is a network model generated according to prior knowledge that can migrate applications and library packages during the system migration process.
[0182] According to one aspect of the present disclosure, a computer program product or computer program is provided, the computer program product or computer program including computer program instructions stored in a computer-readable storage medium. The computer program instructions are read from the computer-readable storage medium and executed by a processor to implement the methods provided in various optional implementations of the above embodiments.
[0183] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution of the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.), including a number of computer program instructions for causing an electronic device (which can be a server or a terminal device, etc.) to execute the method according to the embodiments of the present disclosure.
[0184] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the disclosure herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the claims.
[0185] It should be understood that the present disclosure is not limited to the detailed structures, drawings or implementations shown herein, but rather is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims
1. A system migration method, characterized in that: include: The migration assessment agent is used to assess the compatibility of the target application on the source system with the compilation and runtime environment, the adaptability of the executable file, and the adaptability of the configuration of the target application on the system to be migrated, so as to determine the source code migration modification content corresponding to the library package or the executable file that is incompatible with the system to be migrated or the configuration modification content of the target application during the migration process, wherein the migration assessment agent is a network model generated by prior knowledge and capable of performing migration assessment on the system migration process; Transforming the library package corresponding to the target application and incompatible with the system to be migrated by a migration and transformation agent; The migration and transformation agent is a network model generated based on prior knowledge that can transform the library packages and codes during the system migration process; The migration and transformation agent performs code optimization on the source code of the target application according to the source code transplantation and modification content; The migration and transformation agent modifies the configuration of the target application according to the configuration modification content; Automatically migrate the target application on the source system and the library package corresponding to the target application and compatible with the system to be migrated to the system to be migrated in an incremental manner through a migration implementation agent; The migration implementation agent is a network model generated by prior knowledge that can migrate applications and library packages during the system migration process; The step of transforming the library package corresponding to the target application and incompatible with the system to be migrated by the migration and transformation agent includes: If it is determined by the migration assessment agent that the target application uses a private dependency package, static library, or dynamic library in the source system, then determining a development framework of the private dependency package, static library, or dynamic library; If the private dependency package, static library, or dynamic library is developed using a standard framework, directly migrating the private dependency package, static library, or dynamic library on the source system to the system to be migrated; If the private dependency package, static library or dynamic library is developed using a non-standard framework, the migration and transformation agent transforms the code according to the development specifications of the standard framework; If the private dependency package, static library or dynamic library is developed using a compiled language, the migration and transformation agent will transform the code segments of the private dependency package, static library or dynamic library so that the private dependency package, static library or dynamic library is compatible with the runtime of the system to be migrated.
2. The method according to claim 1, characterized in that The migration assessment agent evaluates the compatibility of the target application on the source system with the application and compilation runtime environment on the system to be migrated, including: Scanning at least one of the dependent packages, static libraries, and dynamic libraries of the target application in the source system through the migration assessment agent, and scanning the dependent packages, static libraries, and dynamic libraries in the system to be migrated; The migration assessment agent compares at least one of the dependency packages, static libraries and dynamic libraries of the target application in the source system with the dependency packages, static libraries and dynamic libraries in the system to be migrated, and determines the dependency package differences, static library differences or dynamic library differences between the source system and the system to be migrated.
3. The method according to claim 1, characterized in that The adaptability of the executable file of the target application on the system to be migrated is evaluated by the migration evaluation agent, including: Scanning the software and hardware of the system to be migrated by the migration assessment agent to determine the software and hardware information of the system to be migrated; Decompiling the binary executable file of the target application on the source system by the migration assessment agent to obtain the source code of the target application on the source system; According to the software and hardware information of the system to be migrated and the source code of the target application on the source system, the code transplantation modification content of the source code of the target application is determined, so as to adjust and optimize the software and hardware compatibility of the source code through the code transplantation modification content.
4. The method according to claim 1, characterized in that The migration evaluation agent evaluates the suitability of the target application's configuration on the system to be migrated, including: The migration assessment agent provides correction suggestions for the application running configuration file after the migration of the target application based on the incompatible library packages of the system to be migrated or the source code transplantation modification content.
5. The method according to claim 1, characterized in that: Transforming the library package corresponding to the target application and incompatible with the system to be migrated by the migration and transformation agent includes: If it is determined by the migration assessment agent that the target application uses a closed-source dependency package, static library, or dynamic library in the source system; The migration and transformation agent replaces the closed-source dependency package, static library or dynamic library with an open-source dependency package, static library or dynamic library; If there is no open source dependency package, static library or dynamic library, the migration and transformation agent rewrites the open source dependency package, static library or dynamic library based on prior knowledge and the specifications of the system to be migrated.
6. A system migration device, characterized in that: include: An evaluation module is used to evaluate the compatibility of the target application on the source system with the compilation and runtime environment, the adaptability of the executable file, and the adaptability of the configuration of the target application on the source system on the system to be migrated through a migration evaluation agent, so as to determine the source code transplantation modification content corresponding to the library package or the executable file that is incompatible with the system to be migrated or the configuration modification content of the target application during the migration process, wherein the migration evaluation agent is a network model generated by prior knowledge and capable of performing migration evaluation on the system migration process; A library package transformation module, configured to transform the library package corresponding to the target application and incompatible with the system to be migrated, through a migration and transformation agent; The migration and transformation agent is a network model generated based on prior knowledge that can transform the library packages and codes during the system migration process; A code transformation module, configured for the migration and transformation agent to optimize the source code of the target application according to the source code transplantation and modification content; a configuration modification module, configured for the migration and modification agent to modify the configuration of the target application according to the configuration modification content; A migration module, configured to automatically migrate the target application on the source system and the library packages corresponding to the target application and compatible with the system to be migrated to the system to be migrated in an incremental manner through a migration implementation agent; The migration implementation agent is a network model generated by prior knowledge that can migrate applications and library packages during the system migration process; The step of transforming the library package corresponding to the target application and incompatible with the system to be migrated by the migration and transformation agent includes: If it is determined by the migration assessment agent that the target application uses a private dependency package, static library, or dynamic library in the source system, then determining a development framework of the private dependency package, static library, or dynamic library; If the private dependency package, static library, or dynamic library is developed using a standard framework, directly migrating the private dependency package, static library, or dynamic library on the source system to the system to be migrated; If the private dependency package, static library or dynamic library is developed using a non-standard framework, the migration and transformation agent transforms the code according to the development specifications of the standard framework; If the private dependency package, static library or dynamic library is developed using a compiled language, the migration and transformation agent will transform the code segments of the private dependency package, static library or dynamic library so that the private dependency package, static library or dynamic library is compatible with the runtime of the system to be migrated.
7. An electronic device, characterized in that: include: memory and processor; The memory is used to store computer program instructions; the processor calls the computer program instructions stored in the memory to implement the system migration method according to any one of claims 1 to 5.
8. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the system migration method according to any one of claims 1 to 5 is implemented.
9. A computer program product comprising computer program instructions stored in a computer-readable storage medium, wherein: When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Software automatic migration and optimization method based on domestic software and hardware environment
CN116737232A