CN116414447A - Cross-architecture migration method and device, electronic equipment and storage medium - Google Patents

Cross-architecture migration method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN116414447A
CN116414447A CN202310557232.6A CN202310557232A CN116414447A CN 116414447 A CN116414447 A CN 116414447A CN 202310557232 A CN202310557232 A CN 202310557232A CN 116414447 A CN116414447 A CN 116414447A
Authority
CN
China
Prior art keywords
migration
application
migrated
architecture
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310557232.6A
Other languages
Chinese (zh)
Other versions
CN116414447B (en
Inventor
邢玥
曹方
李智登晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bige Big Data Co ltd
Original Assignee
Beijing Bige Big Data Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Bige Big Data Co ltd filed Critical Beijing Bige Big Data Co ltd
Priority to CN202310557232.6A priority Critical patent/CN116414447B/en
Publication of CN116414447A publication Critical patent/CN116414447A/en
Application granted granted Critical
Publication of CN116414447B publication Critical patent/CN116414447B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The disclosure relates to a cross-architecture migration method and device, an electronic device and a storage medium, wherein the method comprises the following steps: receiving a migration request, wherein the migration request comprises information of an application to be migrated and a migration destination architecture; based on the corresponding relation between the preset application language to be migrated and the universal template, determining the universal template matched with the migration request, preset migration data and a preset migration tool according to the language of the application to be migrated; arranging a preset migration tool according to the universal template; and utilizing the arranged migration tool to migrate the application to be migrated to a migration destination architecture according to preset migration data, compiling, assembling and linking an instruction set and a register of the application to be migrated in the migration destination architecture, rapidly and conveniently deploying all services of a complete application based on a template, reducing a technical threshold while improving the migration working efficiency, smoothly migrating a row of codes without modifying, and supporting the indifferent operation of a credit-creating environment.

Description

Cross-architecture migration method and device, electronic equipment and storage medium
Technical Field
The disclosure relates to the technical field of system migration, and in particular relates to a cross-architecture migration method and device, electronic equipment and a storage medium.
Background
With the continuous evolution of IT technology, public cloud, proprietary cloud, hybrid cloud, yun Yuansheng and other related technical concepts are layered endlessly, and cloud computing has been widely applied and becomes a novel infrastructure for digital transformation of digital economy and government enterprises. For digital transformation of government enterprises, the application of cloud application is a necessary way. In a narrow sense, cloud loading is the movement of an application running on a physical machine onto the cloud. In a broad sense, cloud-up may involve a series of technological upgrades and reconfigurations across architecture adaptation, virtualization, containerization, cloud-proto-genesis, and the like.
The X86 and ARM belong to different architectures. X86 belongs to a complex instruction set, ARM belongs to a simplified instruction set, and a program on X86 cannot be used on ARM without obstruction at all and has to be subjected to adaptive migration. Meanwhile, the application selects different programming languages, and has different cross-architecture capability, and the application changes from a source code to a running process, and needs to undergo a series of processes of compiling, assembling, linking, running and the like.
In the related art, first, the cross architecture can be implemented, and the X86 architecture and the ARM architecture do have a large difference, and they are very different in instruction set, registers, etc., but are not insurmountable gaps for migration of application systems. Secondly, the programming languages which are friendly preferentially and different programming languages adopted by application development can cause the trans-architecture migration difficulty to be quite different, and the migration of application programs written by system-level languages such as C/C++ is relatively high in difficulty through the whole processes of recompilation, linking, running and the like; the virtual machine language represented by Java has good cross-platform portability; and for a Python, javaScript script type language, the transplanting difficulty is smaller. From this perspective, applications are developed in cloud computing environments, with current preference for cross-architecture friendly programming languages. Third, large-scale system targeted design: in the large-scale application system migration practice, a system architecture needs to be deeply analyzed, and a migration scheme is designed in a targeted manner.
The current system migration requirements relate to various architecture types, and the difficulty of system migration is increased. The current system migration method is severely restricted by CPU architecture difference and programming language difference, has low efficiency and high error rate, and is difficult to cope with performance challenges caused by deployment, scalability, convenient operation and maintenance and high concurrency.
Disclosure of Invention
To solve or at least partially solve the above technical problems, embodiments of the present disclosure provide a cross-architecture migration method and apparatus, an electronic device, and a storage medium.
In a first aspect, embodiments of the present disclosure provide a cross-architecture migration method, including:
receiving a migration request, wherein the migration request comprises information of an application to be migrated and a migration destination architecture;
based on the corresponding relation between the preset application language to be migrated and the universal template, determining the universal template matched with the migration request, preset migration data and a preset migration tool according to the language of the application to be migrated;
arranging a preset migration tool according to the universal template;
and migrating the application to be migrated to a migration destination architecture according to preset migration data by utilizing the arranged migration tool, and compiling, assembling and linking an instruction set and a register of the application to be migrated in the migration destination architecture.
In one possible implementation manner, the migrating the application to be migrated to the migration destination architecture according to the preset migration data by using the orchestrated migration tool includes:
according to the sequence of the arranged migration tools, each migration tool is utilized to carry out language adaptation on the application to be migrated according to migration data corresponding to the current migration tool until the adaptation steps corresponding to all the migration tools are completed;
and sending the adapted application to be migrated to a migration destination architecture.
In one possible implementation manner, the number of the migration destination architectures exceeds 1, and the adapted application to be migrated is sent to the migration destination architecture, including:
and synchronously migrating the adapted application to be migrated to a distributed cluster of a migration destination architecture.
In one possible implementation manner, the preset migration data includes basic migration data and application migration data, wherein the basic migration data includes a basic image, a database driver and a language application package, the application migration data includes a configuration file and an application image, and the application image data includes a CPU architecture, an operating system, a compiling tool and a middleware version.
In one possible implementation manner, the language adaptation of the application to be migrated according to the migration data corresponding to the current migration tool by using each migration tool includes:
replacing a database driver and a language application package in an application to be migrated by using a replacement migration tool, so that the replaced database driver and the replaced language application package are adapted to a migration destination architecture;
constructing an application image of multiple frameworks in a virtual simulation environment based on a preset basic image of the multiple frameworks in the virtual simulation environment by utilizing an image construction migration tool, or
Selecting application images of multiple frameworks in a preset virtual simulation environment by using an image selection migration tool;
and compiling and packaging the executable application image and a preset configuration file corresponding to the application image into images of a plurality of target architectures.
In one possible embodiment, the migration tool is obtained by:
and packaging the preset component tool into an image file, and constructing a migration tool through the image file, the preset configuration network mode, the command, the environment and the form parameter information.
In one possible implementation manner, before sending the adapted application to be migrated to the migration destination architecture, the method further includes:
and creating a migration environment for each cluster of the migration destination architecture, wherein the migration environment is used for receiving the adapted application to be migrated.
In a second aspect, embodiments of the present disclosure provide a cross-architecture migration apparatus, comprising:
the system comprises a receiving module, a migration module and a storage module, wherein the receiving module is used for receiving a migration request, and the migration request comprises information of an application to be migrated and a migration destination architecture;
the determining module is used for determining the universal template matched with the migration request, preset migration data and a preset migration tool according to the language of the application to be migrated based on the corresponding relation between the preset application language to be migrated and the universal template;
the arrangement module is used for arranging a preset migration tool according to the universal template;
the migration module is used for migrating the application to be migrated to a migration destination architecture according to preset migration data by utilizing the arranged migration tool, and compiling, assembling and linking an instruction set and a register of the application to be migrated in the migration destination architecture.
In a third aspect, embodiments of the present disclosure provide an electronic device including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory complete communication with each other through the communication bus;
a memory for storing a computer program;
and the processor is used for realizing the cross-architecture migration method when executing the programs stored in the memory.
In a fourth aspect, embodiments of the present disclosure provide a computer readable storage medium having a computer program stored thereon, wherein the computer program when executed by a processor implements the above-described cross-architecture migration method.
Compared with the prior art, the technical scheme provided by the embodiment of the disclosure has at least part or all of the following advantages:
the cross-architecture migration method of the embodiment of the disclosure receives a migration request, wherein the migration request comprises information of an application to be migrated and a migration destination architecture; based on the corresponding relation between the preset application language to be migrated and the universal template, determining the universal template matched with the migration request, preset migration data and a preset migration tool according to the language of the application to be migrated; arranging a preset migration tool according to the universal template; and utilizing the arranged migration tool to migrate the application to be migrated to a migration destination architecture according to preset migration data, compiling, assembling and linking an instruction set and a register of the application to be migrated in the migration destination architecture, rapidly and conveniently deploying all services of a complete application based on a template, reducing a technical threshold while improving the migration working efficiency, smoothly migrating a row of codes without modifying, and supporting the indifferent operation of a credit-creating environment.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure.
In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings that are required to be used in the description of the embodiments or the related art will be briefly described below, and it will be apparent to those skilled in the art that other drawings can be obtained from these drawings without inventive effort.
FIG. 1 schematically illustrates a flow diagram of a cross-architecture migration method according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a migration schematic of an application between a source architecture and a destination architecture according to an embodiment of the present disclosure;
FIG. 3 schematically illustrates a flow diagram of storing migration base data according to an embodiment of the present disclosure;
FIG. 4 schematically illustrates a data migration principle schematic according to an embodiment of the present disclosure;
FIG. 5 schematically illustrates a full cycle flow diagram of data migration in accordance with an embodiment of the present disclosure;
FIG. 6 schematically illustrates a generic template generation and application flow diagram according to an embodiment of the disclosure;
FIG. 7 schematically illustrates a block diagram of a cross-architecture migration apparatus according to an embodiment of the present disclosure; and
fig. 8 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the embodiments of the present disclosure more apparent, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present disclosure, and it is apparent that the described embodiments are some, but not all, embodiments of the present disclosure. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the disclosure, are within the scope of the disclosure.
Referring to fig. 1, an embodiment of the present disclosure provides a cross-architecture migration method, including the steps of:
s1, receiving a migration request, wherein the migration request comprises information of an application to be migrated and a migration destination architecture.
In some embodiments, referring to FIG. 2, the source architecture is an X86 architecture, and the migration destination architecture may be an ARM architecture or a PowerPC (Performance Optimization With Enhanced RISC-Performance Computing, reduced instruction set architecture central processor) architecture.
S2, determining the universal template matched with the migration request, preset migration data and a preset migration tool according to the language of the application to be migrated based on the corresponding relation between the preset application language to be migrated and the universal template.
In some embodiments, the application language to be migrated is determined by information of a source architecture where the application to be migrated is located, and the generic template includes a preset migration tool and an arrangement sequence of a plurality of migration tools required for migrating the application to be migrated from the source architecture to a destination architecture.
In some embodiments, the preset migration data includes basic migration data and application migration data, where the basic migration data includes a basic image, a database driver and a language application package, the application migration data includes a configuration file and an application image, the application image data includes a CPU architecture, an operating system, a compiling tool, and a middleware version, where the multilingual basic image may directly refer to platform content to generate the application image, and form a topology map for tracks and paths of the image, including the CPU architecture, the operating system, the compiling tool, the middleware version, and the like.
In some embodiments, the base migration data and the application migration data are stored by:
(1) Providing storage and fine management of underlying migration data, which may be synchronized among multiple storage instances, the storage may also be suitable for load balancing, high availability, multi-data centers, and multi-cloud scenarios.
Referring to fig. 3, in maintaining migration base data, the user performs the following storage steps:
the user as a client can perform continuous verification of login, then send a message to a Registry, and then obtain an address of token service;
after the corresponding token service address is obtained, the client operation UI page performs maintenance of basic migration data, triggers access to the corresponding background service, and then obtains a token value approved to be executed through the service;
after the corresponding approval value is obtained, distributing the corresponding value to the corresponding service through the nginx (which is a high-performance HTTP and reverse proxy web server), verifying the authority to the database, generating a token with action after the authority passes, and returning the value to the client;
the client accesses the registry through the token request header with the action, decrypts and checks the brought data information, and then executes storage of basic migration data;
wherein the operational data is stored by a log collector.
(2) The application migration data storage mainly adopts multi-file object storage: when the application migration data object is stored, the storage cluster is automatically divided into a plurality of storage logic groups, and different hard disks are index-bound in each group. Firstly, application migration data are divided into a data tag and a check tag, then the data are distributed to corresponding storage groups through a hash algorithm, and finally the data are stored on corresponding hard disks. The storage provides version management, migration backup, and failure recovery of application migration data.
In some embodiments, referring to fig. 4, the preset migration data and the preset migration tool are both raster data, where the raster data of the preset migration data includes two types of grid fragment data of the basic migration data and the application migration data, and the raster data of the preset migration tool includes multiple types of grid fragment data of the first component tool, the second component tool, and the third component tool … … nth component tool.
Referring to fig. 4, the present disclosure may provide a grid technology longitudinal migration engine: in the migration preparation, a user dynamically stores preset migration data and provides the preset migration data for a longitudinal migration engine in real time, the longitudinal migration engine provides an arrangement method of migration tools, the preset arrangement migration tools can be formed into migration tasks aiming at application programs of different languages, path support is provided for application migration, complex service scenes of different degrees are flexibly dealt with, and migration logs are generated in real time through execution of the migration tasks, so that the migration processes can be monitored in real time and the migration tasks can be re-executed. The present disclosure may also provide a grid technology lateral migration engine: after the migration task is formed, a transverse migration engine can be called, the application is synchronously migrated to the distributed cluster by utilizing the transverse migration engine, the engine can be migrated to different cloud platforms, and multi-active migration updating of the application is kept.
The horizontal calculation migration engine in the grid calculation-based migration framework provided by the disclosure builds a horizontal migration service grid aiming at different basic information creation environments, gets rid of barriers inflexible in traditional horizontal migration, does not need to consider a bottom instruction set and a register, and keeps distributed multi-environment multi-activity migration; the longitudinal computing migration engine is used for realizing data communication and interaction of the information-based application service tools by constructing an application service longitudinal computing grid so as to form a longitudinal application migration system; and forming a grid computing framework according to the transverse and longitudinal computing migration engines, processing migration data in real time, and providing one-stop type convenient migration service.
In some embodiments, the application languages to be migrated include, but are not limited to, the following: one of the standards for successful migration of dynamic migration methods across platforms, languages, and hardware facilities is java, golang, python, html, javaScript, C, C ++, node. Js, ruby, & gt net core, php, etc., where the running state of an application program after migration is completed depends on the scheduling and management of a CPU and a memory by an operating system, and different programming languages have different cross-architecture capabilities, and the instruction sets, registers, etc. are adapted and modified in the processes of compiling, assembling, linking, etc. for different languages.
S3, arranging a preset migration tool according to the universal template.
In some embodiments, the migration tool is obtained by:
and packaging the preset component tool into an image file, and constructing a migration tool through the image file, the preset configuration network mode, the command, the environment and the form parameter information, wherein the migration tool interacts with the background through the configured network mode.
In some embodiments, the orchestrating the preset migration tool according to the generic template is achieved by orchestrating the migration tool.
The migration module is developed and built in and packaged into the migration tool, and complex migration scenes can be handled by arranging the migration tool, and the migration flexibility and efficiency are improved.
S4, migrating the application to be migrated to a migration destination architecture according to preset migration data by using the arranged migration tool, and compiling, assembling and linking an instruction set and a register of the application to be migrated in the migration destination architecture.
In some embodiments, a multi-architecture virtual emulation environment is provided, based on a virtual emulated mirror architecture, compiling and packaging multiple executable code into an architecture mirror of a target.
In this embodiment, in step S4, the migrating the application to be migrated to the migration destination architecture according to the preset migration data by using the migration tool after the arrangement includes:
according to the sequence of the arranged migration tools, each migration tool is utilized to carry out language adaptation on the application to be migrated according to migration data corresponding to the current migration tool until the adaptation steps corresponding to all the migration tools are completed;
and sending the adapted application to be migrated to a migration destination architecture.
In this embodiment, the number of migration destination architectures exceeds 1, and the adapted application to be migrated is sent to the migration destination architecture, including:
and synchronously migrating the adapted application to be migrated to a distributed cluster of a migration destination architecture.
In this embodiment, using each migration tool to perform language adaptation on an application to be migrated according to migration data corresponding to a current migration tool includes:
replacing a database driver and a language application package in an application to be migrated by using a replacement migration tool, so that the replaced database driver and the replaced language application package are adapted to a migration destination architecture;
constructing an application image of multiple frameworks in a virtual simulation environment based on a preset basic image of the multiple frameworks in the virtual simulation environment by utilizing an image construction migration tool, or
Selecting application images of multiple frameworks in a preset virtual simulation environment by using an image selection migration tool;
and compiling and packaging the executable application image and a preset configuration file corresponding to the application image into images of a plurality of target architectures.
In this embodiment, before sending the adapted application to be migrated to the migration destination architecture, the method further includes:
and creating a migration environment for each cluster of the migration destination architecture, wherein the migration environment is used for receiving the adapted application to be migrated.
Referring to fig. 5, taking an example of migrating a program application of the ARM architecture to the X86 architecture, the cross-architecture migration method of the present embodiment is explained:
s21, the access method of the environment and the data before migration is as follows:
and constructing migration data and migration environment. The migration data comprises a basic mirror image, an application package, a configuration file and the like used by the migration application, the migration environment comprises a storage medium for storing the migration data and a construction of a migration platform, and after all the migration environments are ready, conditions are provided for application migration:
initializing a storage medium of a basic mirror image, and testing connectivity; and uploading the well-arranged basic mirror image data, wherein the storage medium can automatically combine the mirror images of the data with different architectures in a mannifest mode according to the mirror image marks. For example, the images of ARM64 and AMD64 in unified version are uploaded and then logically combined into one image.
Initializing an application data storage medium and testing connectivity; and uploading data such as application files and configuration files in a dragging mode, such as jar or war package of java language, and uploading dependent package files of python application. The storage provides two uploading modes of files and folders, and the files can be previewed, edited and downloaded on line in a targeted manner.
Building and connecting a local mirror image warehouse to provide storage for application mirror images, wherein the warehouse can store application mirror images with multiple frameworks;
connecting different cluster platforms through an apiserver and a token, and creating a namespace under the cluster platforms;
equivalent to creating a target migration environment;
maintenance migration component tool: the assembly tool is packaged into an image file to be maintained in a storage, and a mature migration assembly tool is constructed through the image file and information such as a user-defined configuration network mode, a command, an environment, a form parameter and the like. For example, building a mirror into this migration tool may be subject to basic information, basic configuration, custom configuration, etc. to add.
S22, adopting a grid technology migration method:
entering a longitudinal migration engine, namely representing the process of being in migration, wherein the engine can flexibly arrange migration tools and migration parameters, and configure the generation of a general template and the flow of an application engine according to the complexity of a service scene, as shown in fig. 6;
firstly, configuring a universal template, firstly uploading different template files, such as yaml files, dockerfile files and the like, then customizing variable parameters in the template files, setting field types according to the variable parameters so as to facilitate filling content when using the template, providing a variable parameter alignment self-checking function, adjusting the template files to arrange the capacity of a migration assembly tool, and greatly improving the scalability of the migration assembly tool;
after the universal templates are generated, the universal templates are provided for all clients to use, different universal templates or blank templates are selected, parameters are submitted to a template file after corresponding form parameters are filled in, and an executable template file is generated;
the template file is operated, the template file is rendered into a visual migration configuration, and the visual migration configuration can be executed after the migration parameters are edited in a self-defined mode;
after all is ready, the method rotates to a transverse migration engine, deploys and updates the application into different migration environments simultaneously, and adapts and reforms different languages across architectures in advance.
The method adopts a grid technology, builds a transverse and longitudinal computing engine grid to aggregate and isolate into a plurality of types of migration grid fragments, processes migration data in real time, and performs indifferent migration according to scenes of different services, and is independent and efficient.
The method and the device provide various component tools for migration, do not need to be developed again, and reduce migration difficulty.
S23, data precipitation method after migration:
after executing the task, migration history and log are generated, the reason of the status after migration and quick positioning failure can be checked, the content of S22 is fed back and adjusted in a targeted manner, and the task can be re-executed.
After the migration task is completely successful, the application mirror image topological graph, the application migration history data, the application migration pushing data and the like can be stored in a storage medium in the S21;
and (5) aggregating, cleaning and analyzing the scattered migration data to form a migration report and visual display.
The cross-architecture migration method disclosed by the invention is based on a grid technology, and is used for constructing multi-architecture mirror images, synchronous mirror images and information creation migration application to an application through one key through image visualization, realizing application migration management of a full life cycle from migration preparation, migration and after migration, providing one key migration function, reducing technical threshold, improving migration efficiency, embedding multiple basic mirror images, realizing quick connection configuration of a local mirror image warehouse, a remote mirror image warehouse and a remote cloud platform, uploading application packages and configuration files of different versions according to an application development language, realizing application migration data precipitation and management, providing a basic environment for mirror image construction, mirror image pushing and mirror image deployment, and facilitating quick, reliable and stable system migration of technicians or non-technicians.
The cross-architecture migration method disclosed by the invention can realize the system migration of cross-language, cross-cluster and cross-processor architectures based on the cross-architecture migration technology, and the application system is migrated across the architectures under the existing infrastructure resource environment, so that the work is not interrupted during the migration period, the historical data is not lost, and the system is normally used after the migration.
The cross-architecture migration method of the present disclosure supports cross-architecture migration to different processor architectures, hardware facilities, operating systems, and clusters; the method supports smooth migration of multiple languages, provides standardized migration technology, and supports standardized visual migration of full life cycle, including migration preparation, data precipitation during migration and after migration, data analysis and visual display. Providing cross-architecture implementation components and other resources for standardized migration.
The cross-architecture migration method disclosed by the invention realizes that a user does not need to modify a row of codes, reduces the technical threshold of the credit-invasive migration, does not need manual or human intervention, and does not need to perceptually and automatically replace a database driver and a dialect package.
The cross-architecture migration method provides migration components for information creation migration, and builds migration tool ecology.
Referring to fig. 7, an embodiment of the present disclosure provides a cross-architecture migration apparatus, including:
a receiving module 11, configured to receive a migration request, where the migration request includes information of an application to be migrated and a migration destination architecture;
the determining module 12 is configured to determine, based on a correspondence between a preset application language to be migrated and a universal template, the universal template, preset migration data and a preset migration tool that are matched with the migration request according to the language of the application to be migrated;
the arrangement module 13 is used for arranging the preset migration tool according to the universal template;
the migration module 14 is configured to migrate the application to be migrated to a migration destination architecture according to the preset migration data by using the orchestrated migration tool, and compile, assemble and link an instruction set and a register of the application to be migrated in the migration destination architecture.
The cross-architecture migration device disclosed by the invention constructs an application migration tool, realizes the cross-architecture application migration service, realizes one-key migration through navigable operation, can rapidly and conveniently deploy and migrate all services of a complete application based on an application template, improves the migration working efficiency, reduces the technical threshold, does not modify one-line smooth code migration, and supports indiscriminate operation.
The cross-architecture migration device disclosed by the invention is based on a cloud native architecture, combines a micro-service technology and a database middleware technology, analyzes and processes data in real time, can aggregate and assemble various types of visual configuration of migration parameters according to scenes of different services, can flexibly cope with migration of different information creation environments and different types of applications, and improves the working efficiency.
The implementation process of the functions and roles of each unit in the above device is specifically shown in the implementation process of the corresponding steps in the above method, and will not be described herein again.
For the device embodiments, reference is made to the description of the method embodiments for the relevant points, since they essentially correspond to the method embodiments. The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purposes of the present invention. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
In the above embodiment, any of the receiving module 11, the determining module 12, the orchestration module 13, and the migration module 14 may be combined and implemented in one module, or any of the modules may be split into a plurality of modules. Alternatively, at least some of the functionality of one or more of the modules may be combined with at least some of the functionality of other modules and implemented in one module. At least one of the receiving module 11, the determining module 12, the orchestration module 13, and the migration module 14 may be implemented at least in part as hardware circuitry, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or in hardware or firmware, such as any other reasonable way of integrating or packaging the circuitry, or in any one of or a suitable combination of three of software, hardware, and firmware. Alternatively, at least one of the receiving module 11, the determining module 12, the orchestration module 13 and the migration module 14 may be at least partly implemented as computer program modules, which when run, may perform the corresponding functions.
Referring to fig. 8, an electronic device provided by an embodiment of the present disclosure includes a processor 1110, a communication interface 1120, a memory 1130, and a communication bus 1140, where the processor 1110, the communication interface 1120, and the memory 1130 perform communication with each other through the communication bus 1140;
a memory 1130 for storing a computer program;
processor 1110, when executing programs stored on memory 1130, implements a cross-architecture migration method as follows:
receiving a migration request, wherein the migration request comprises information of an application to be migrated and a migration destination architecture;
based on the corresponding relation between the preset application language to be migrated and the universal template, determining the universal template matched with the migration request, preset migration data and a preset migration tool according to the language of the application to be migrated;
arranging a preset migration tool according to the universal template;
and migrating the application to be migrated to a migration destination architecture according to preset migration data by utilizing the arranged migration tool, and compiling, assembling and linking an instruction set and a register of the application to be migrated in the migration destination architecture.
The communication bus 1140 may be a peripheral component interconnect standard (Peripheral Component Interconnect, PCI) bus or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, among others. The communication bus 1140 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, the figures are shown with only one bold line, but not with only one bus or one type of bus.
The communication interface 1120 is used for communication between the electronic device and other devices described above.
The memory 1130 may include random access memory (Random Access Memory, simply RAM) or may include non-volatile memory (non-volatile memory), such as at least one magnetic disk memory. Optionally, the memory 1130 may also be at least one storage device located remotely from the processor 1110.
The processor 1110 may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP for short), etc.; but also digital signal processors (Digital Signal Processing, DSP for short), application specific integrated circuits (Application Specific Integrated Circuit, ASIC for short), field-programmable gate arrays (Field-Programmable Gate Array, FPGA for short) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
Embodiments of the present disclosure also provide a computer-readable storage medium. The computer readable storage medium has stored thereon a computer program which, when executed by a processor, implements a cross-architecture migration method as described above.
The computer-readable storage medium may be embodied in the apparatus/means described in the above embodiments; or may exist alone without being assembled into the apparatus/device. The computer-readable storage medium carries one or more programs that, when executed, implement a cross-architecture migration method according to embodiments of the present disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example, but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
It should be noted that in this document, relational terms such as "first" and "second" and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The foregoing is merely a specific embodiment of the disclosure to enable one skilled in the art to understand or practice the disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A method of cross-architecture migration, the method comprising:
receiving a migration request, wherein the migration request comprises information of an application to be migrated and a migration destination architecture;
based on the corresponding relation between the preset application language to be migrated and the universal template, determining the universal template matched with the migration request, preset migration data and a preset migration tool according to the language of the application to be migrated;
arranging a preset migration tool according to the universal template;
and migrating the application to be migrated to a migration destination architecture according to preset migration data by utilizing the arranged migration tool, and compiling, assembling and linking an instruction set and a register of the application to be migrated in the migration destination architecture.
2. The method according to claim 1, wherein the migrating the application to be migrated to the migration destination architecture according to the preset migration data using the orchestrated migration tool includes:
according to the sequence of the arranged migration tools, each migration tool is utilized to carry out language adaptation on the application to be migrated according to migration data corresponding to the current migration tool until the adaptation steps corresponding to all the migration tools are completed;
and sending the adapted application to be migrated to a migration destination architecture.
3. The method according to claim 2, wherein the number of migration destination architectures exceeds 1, and the adapted application to be migrated is sent to the migration destination architecture, comprising:
and synchronously migrating the adapted application to be migrated to a distributed cluster of a migration destination architecture.
4. The method of claim 2, wherein the preset migration data comprises base migration data and application migration data, wherein the base migration data comprises a base image, a database driver, and a language application package, the application migration data comprises a configuration file and an application image, and the application image data comprises a CPU architecture, an operating system, a compilation tool, and a middleware version.
5. The method of claim 4, wherein using each migration tool to language adapt the application to be migrated according to the migration data corresponding to the current migration tool, comprises:
replacing a database driver and a language application package in an application to be migrated by using a replacement migration tool, so that the replaced database driver and the replaced language application package are adapted to a migration destination architecture;
constructing an application image of multiple frameworks in a virtual simulation environment based on a preset basic image of the multiple frameworks in the virtual simulation environment by utilizing an image construction migration tool, or
Selecting application images of multiple frameworks in a preset virtual simulation environment by using an image selection migration tool;
and compiling and packaging the executable application image and a preset configuration file corresponding to the application image into images of a plurality of target architectures.
6. The method of claim 5, wherein the migration tool is obtained by:
and packaging the preset component tool into an image file, and constructing a migration tool through the image file, the preset configuration network mode, the command, the environment and the form parameter information.
7. The method of claim 2, wherein before sending the adapted application to be migrated to the migration destination infrastructure, the method further comprises:
and creating a migration environment for each cluster of the migration destination architecture, wherein the migration environment is used for receiving the adapted application to be migrated.
8. A cross-architecture migration apparatus, comprising:
the system comprises a receiving module, a migration module and a storage module, wherein the receiving module is used for receiving a migration request, and the migration request comprises information of an application to be migrated and a migration destination architecture;
the determining module is used for determining the universal template matched with the migration request, preset migration data and a preset migration tool according to the language of the application to be migrated based on the corresponding relation between the preset application language to be migrated and the universal template;
the arrangement module is used for arranging a preset migration tool according to the universal template;
the migration module is used for migrating the application to be migrated to a migration destination architecture according to preset migration data by utilizing the arranged migration tool, and compiling, assembling and linking an instruction set and a register of the application to be migrated in the migration destination architecture.
9. The electronic equipment is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory are communicated with each other through the communication bus;
a memory for storing a computer program;
a processor configured to implement the cross-architecture migration method of any one of claims 1-7 when executing a program stored on a memory.
10. A computer readable storage medium having stored thereon a computer program, which when executed by a processor implements the cross-architecture migration method of any of claims 1-7.
CN202310557232.6A 2023-05-17 2023-05-17 Cross-architecture migration method and device, electronic equipment and storage medium Active CN116414447B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310557232.6A CN116414447B (en) 2023-05-17 2023-05-17 Cross-architecture migration method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310557232.6A CN116414447B (en) 2023-05-17 2023-05-17 Cross-architecture migration method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN116414447A true CN116414447A (en) 2023-07-11
CN116414447B CN116414447B (en) 2023-09-22

Family

ID=87056252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310557232.6A Active CN116414447B (en) 2023-05-17 2023-05-17 Cross-architecture migration method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116414447B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080115123A1 (en) * 2006-11-15 2008-05-15 International Business Machines Corporation Assisted migration in a data processing environment
CN103257878A (en) * 2013-05-16 2013-08-21 浪潮通信信息系统有限公司 Cross-platform smooth transfer method of application program based on Cloud calculation
US20150154011A1 (en) * 2013-11-29 2015-06-04 Huawei Technologies Co., Ltd. Transplantation Method and Source-to-Source Compiler
CN111367890A (en) * 2020-03-13 2020-07-03 深圳壹账通智能科技有限公司 Data migration method and device, computer equipment and readable storage medium
US10915347B1 (en) * 2014-09-30 2021-02-09 Acronis International Gmbh System and method for platform-independent migration and replication of computer systems
CN114610442A (en) * 2022-02-25 2022-06-10 阿里云计算有限公司 One-stop cloud migration system, method, equipment and storage medium
CN115756433A (en) * 2022-11-22 2023-03-07 中国电信股份有限公司 Code platform migration method and device, electronic equipment and readable storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080115123A1 (en) * 2006-11-15 2008-05-15 International Business Machines Corporation Assisted migration in a data processing environment
CN103257878A (en) * 2013-05-16 2013-08-21 浪潮通信信息系统有限公司 Cross-platform smooth transfer method of application program based on Cloud calculation
US20150154011A1 (en) * 2013-11-29 2015-06-04 Huawei Technologies Co., Ltd. Transplantation Method and Source-to-Source Compiler
US10915347B1 (en) * 2014-09-30 2021-02-09 Acronis International Gmbh System and method for platform-independent migration and replication of computer systems
CN111367890A (en) * 2020-03-13 2020-07-03 深圳壹账通智能科技有限公司 Data migration method and device, computer equipment and readable storage medium
CN114610442A (en) * 2022-02-25 2022-06-10 阿里云计算有限公司 One-stop cloud migration system, method, equipment and storage medium
CN115756433A (en) * 2022-11-22 2023-03-07 中国电信股份有限公司 Code platform migration method and device, electronic equipment and readable storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
POOYAN JAMSHIDI等: "Pattern-based Multi-Cloud Architecture Migration", 《SOFTWARE PRACTICE AND EXPERIENCE》, pages 1 - 26 *

Also Published As

Publication number Publication date
CN116414447B (en) 2023-09-22

Similar Documents

Publication Publication Date Title
CN107577475B (en) Software package management method and system of data center cluster system
US10860339B2 (en) Autonomous creation of new microservices and modification of existing microservices
CN110222036B (en) Method and system for automated database migration
JP7063289B2 (en) Optimal software placement method and program for offload servers
CN104541247B (en) System and method for adjusting cloud computing system
CN108737168B (en) Container-based micro-service architecture application automatic construction method
US20160062746A1 (en) Software Defined Network Controller
US9959336B2 (en) Compiling extract, transform, and load job test data cases
CN104506589A (en) Resource migration scheduling method based on super fusion storage
CN112068852A (en) Method, system, equipment and medium for installing open source software based on domestic server
CN111651352B (en) Warehouse code merging method and device
CN110737467A (en) service migration method and device
WO2020199597A1 (en) Blockchain node management agent service installation method, electronic apparatus and storage medium
CN113448678A (en) Application information generation method, deployment method, device, system and storage medium
CN113254054B (en) Intelligent contract one-stop development system and method
CN110795105A (en) Automatic compiling and deploying method and system for power distribution automation master station system
CN115994085A (en) Code coverage rate test processing method, device, equipment and storage medium
CN116414447B (en) Cross-architecture migration method and device, electronic equipment and storage medium
CN111552494B (en) Method, device, system and medium for managing container group
CN111459506B (en) Deep learning platform cluster deployment method and device, medium and electronic equipment
JP6603746B2 (en) Method and computing system for automatically generating embedded software on a virtualized system
CN111324332A (en) Big data task processing method and system, electronic device and storage medium
Gruhn et al. Engineering Cyber-Physical Systems.
Zhang et al. Tinyedge: Enabling rapid edge system customization for iot applications
US12009991B1 (en) Artificial aging of digital twin representing infrastructure

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant