Project management method and device, equipment and storage medium

The project management method for cloud computing systems addresses the challenge of managing multiple processor architectures by using a common configuration file and difference files to compile and deploy uniformly, reducing complexity and cost while enhancing efficiency.

CN119201117APending Publication Date: 2024-12-27TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Application Number
CN202310753172.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-25
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

The increasing number of processor architectures in cloud computing management and control systems leads to higher management difficulty and cost, as separate 'build-deploy' processes are required for each architecture, complicating configuration and deployment.

Method used

A project management method that uses a common configuration file and multi-architecture difference files to compile source code for multiple processor architectures, enabling unified management and deployment.

Benefits of technology

This approach simplifies and speeds up the compilation process, reduces management complexity and cost, and improves efficiency by managing project deployment information uniformly across different processor architectures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201117A_ABST
    Figure CN119201117A_ABST
Patent Text Reader

Abstract

The invention discloses a project management method, device and equipment and a storage medium, relates to the technical field of cloud, in particular to a management technology of a cloud computing management and control system supporting a multi-architecture processor in a private cloud environment, and is used for reducing project management difficulty and management cost and improving management efficiency when a project is supported to be deployed in a multi-processor architecture environment. The method comprises the steps of obtaining file information associated with a target project; the file information at least comprises a public configuration file and a multi-architecture difference file; wherein the public configuration file is used for storing general configuration information among a plurality of processor architectures; the multi-architecture difference file comprises difference sub-files matched with the processor architectures in the processor architectures respectively, and each difference sub-file is used for storing project deployment information supported by one processor architecture; and based on the public configuration file and the multi-structure difference file, compiling the source code of the target project, and respectively obtaining project deployment files associated with the plurality of processor architectures.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] With the development of science and technology, the amount of data and computing has continued to increase. In order to improve computing efficiency and save computing resources, data, data computing, data management and other service functions are usually deployed in the cloud environment. In order to ensure the control efficiency, security and service quality of data, private cloud is proposed. In the private cloud scenario, customers need to deploy the cloud computing management and control system in the environment of their own processor architecture.

[0003] At present, most customers choose to deploy cloud computing management and control systems in an x86 architecture environment, so the cloud computing management and control system service side only establishes a "build-deploy" process for the x86 architecture. However, with the continuous update and iteration of computer hardware performance, more and more customers will choose to deploy cloud computing management and control systems in environments with other processor architectures. When the cloud computing management and control system supports deployment in a multi-processor architecture environment, it is necessary to establish a "build-deploy" process for different processor architectures; and because the configurations of different processor architectures are different, it is also necessary to manage the configurations of different processor architectures separately. It can be seen that with the increasing number of processor architectures, the management difficulty and management cost are also increasing.

[0004] Therefore, when the project supports deployment in a multi-processor architecture environment, how to reduce the difficulty and cost of project management and improve management efficiency is a problem that needs to be solved at present. Summary of the invention

[0005] The embodiments of the present application provide a project management method, apparatus, device and storage medium, which are used to reduce the difficulty and cost of project management and improve management efficiency when the project supports deployment in a multi-processor architecture environment.

[0006] In a first aspect, an embodiment of the present application provides a project management method, the method comprising:

[0007] Obtain file information associated with the target project; the file information includes at least: a common configuration file and a multi-architecture difference file; wherein the common configuration file is used to store common configuration information between multiple processor architectures; the multi-architecture difference file includes: a difference sub-file that matches each processor architecture in the multiple processor architectures, each difference sub-file being used to store project deployment information supported by a processor architecture;

[0008] Based on the common configuration file and the multi-architecture difference file, the source code of the target project is compiled and processed to obtain the project deployment files associated with the multiple processor architectures respectively.

[0009] In a second aspect, an embodiment of the present application provides a project management device, the device comprising:

[0010] An acquisition unit is used to acquire file information associated with a target project; the file information includes at least: a common configuration file and a multi-architecture difference file; wherein the common configuration file is used to store common configuration information between multiple processor architectures; the multi-architecture difference file includes: a difference sub-file that matches each processor architecture in the multiple processor architectures, each difference sub-file is used to store project deployment information supported by a processor architecture;

[0011] The compilation unit is used to compile the source code of the target project based on the public configuration file and the multi-architecture difference file, and obtain the project deployment files associated with each of the multiple processor architectures.

[0012] In a possible implementation, the acquiring unit is specifically configured to:

[0013] After the source code of the target project is obtained through the general pipeline tool, the file information associated with the target project is obtained from the correspondence between the pre-stored project and the file information.

[0014] In a possible implementation, the compilation unit is specifically used to:

[0015] For each of the multiple processor architectures, perform the following operations:

[0016] Through the universal pipeline tool, based on the public configuration file and the difference sub-files associated with the processor architecture, the source code of the target project is compiled to obtain the project deployment file associated with the processor architecture;

[0017] The project deployment file at least includes: a configuration template and a target image file; wherein the target image file carries an executable file associated with the target project, and the configuration template is used to provide a running environment for the executable file.

[0018] In a possible implementation, the project management device further includes a storage unit;

[0019] The storage unit is used to uniformly store project deployment files associated with multiple processor architectures in a designated first storage container.

[0020] In a possible implementation, if the target project includes multiple services, the file information includes at least: public configuration files and multi-architecture difference files respectively set for the multiple services;

[0021] The acquisition unit is specifically used to: after acquiring the source code of the target project through the general pipeline tool, acquire the file information associated with each of the multiple services from the correspondence between the services and the file information associated with the project stored in advance;

[0022] Among them, each public configuration file is used to store common configuration information between multiple processor architectures under the corresponding service; each multi-architecture difference file includes: under the corresponding service, difference sub-files that match each processor architecture in the multiple processor architectures respectively, and each difference sub-file is used to store service deployment information supported by a processor architecture.

[0023] In a possible implementation, the compilation unit is specifically used to:

[0024] For each of the multiple services, perform the following operations:

[0025] Through the universal pipeline tool, based on the public configuration file and the difference sub-files associated with each of the multiple processor architectures, the source code of the service is compiled and processed respectively to obtain the service deployment files associated with each of the multiple processor architectures;

[0026] Among them, each service deployment file includes at least: a configuration template associated with the service and a target image file associated with the service under the corresponding processor architecture; wherein the target image file carries an executable file associated with the service, and the configuration template is used to provide a running environment for the executable file.

[0027] In a possible implementation, the storage unit is specifically used to uniformly store service deployment files associated with multiple processor architectures under the same service in a designated second storage container.

[0028] In a possible implementation, the project management device further includes a transmission unit, which is specifically used to:

[0029] Obtaining a deployment instruction triggered by a target object for a target project; wherein the deployment instruction carries at least a target processor architecture;

[0030] Based on the target processor architecture, obtain the target project deployment file associated with the target processor architecture;

[0031] Transfer the acquired target project deployment file to the target object.

[0032] In a possible implementation, the transmission unit is specifically configured to: if the deployment instruction also carries the target service included in the target project, then based on the target processor architecture, obtain the target service deployment file from the service deployment file associated with the target project.

[0033] In a possible implementation manner, the transmission unit is specifically configured to:

[0034] If it is determined that there is at least one other service associated with the target service based on the preset service association relationship, a first service deployment file associated with the target processor architecture is obtained from the second storage container associated with the target service, and a second service deployment file associated with the target processor architecture is obtained from the second storage container associated with at least one other service, and the first service deployment file and the second service deployment file are used together as the target service deployment file;

[0035] If it is determined based on the preset service association relationship that there are no other services associated with the target service, a first service deployment file associated with the target processor architecture is obtained from the second storage container associated with the target service, and the first service deployment file is used as the target service deployment file.

[0036] In one possible implementation, the multi-architecture difference file adopts a dockerfile file, and the difference sub-file is a dockerfile sub-file, each dockerfile sub-file includes at least: a base image supported by a processor architecture matching the dockerfile sub-file, a deployment software package, and an image building instruction.

[0037] In a possible implementation, the compilation unit is specifically used to:

[0038] For each processor architecture in the multi-processing architecture, perform the following operations:

[0039] Determine the Dockerfile subfile associated with the processor architecture, and determine the base image, deployment software package, and image build instructions stored in the Dockerfile subfile;

[0040] According to the image building instructions and the operating system information defined in the base image, the source code of the target project is compiled into an executable file, and the deployment software package and the executable file are packaged to obtain the target image file associated with the processor architecture;

[0041] On the basis of the target image file, a configuration template determined based on a public configuration file is added to obtain a project deployment file associated with the processor architecture.

[0042] In a third aspect, an embodiment of the present application provides a computing device, comprising: a memory and a processor, wherein the memory is used to store a computer program; and the processor is used to execute the computer program to implement the steps of the project management method provided in the embodiment of the present application.

[0043] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps of the project management method provided in the embodiment of the present application are implemented.

[0044] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program, and the computer program is stored in a computer-readable storage medium; when the processor of a computing device reads the computer program from the computer-readable storage medium, the processor executes the computer program, so that the computing device executes the steps of the project management method provided in the embodiment of the present application.

[0045] The beneficial effects of this application are as follows:

[0046] The embodiments of the present application provide a project management method, device, equipment and storage medium, which relate to the field of cloud technology, and in particular to a management method of a cloud computing control system supporting a multi-processor architecture in a private cloud environment. In the present application, considering that the source code of the project cannot be run under the architecture processor, that is, the source code of the cloud computing control system cannot be run under the architecture processor, when managing the cloud computing control system, the source code of the cloud computing control system is compiled and processed to obtain a project deployment file containing an executable file that can be run under the architecture processor.

[0047] At the same time, in order to ensure that the cloud computing management and control system can be deployed and run under multi-architecture processors, when compiling the source code of the cloud computing management and control system, it is necessary to obtain the project deployment files associated with each of the multiple processor architectures. When compiling the source code of the cloud computing management and control system and obtaining the project deployment files associated with each of the multiple processor architectures, the source code of the cloud computing management and control system is compiled based on the public configuration file and the multi-architecture difference file, wherein the public configuration file is used to store the common configuration information between the multiple processor architectures, and the multi-architecture difference file includes difference sub-files that match each processor architecture in the multi-processor architecture, and each difference sub-file is used to store the project deployment information supported by one processor architecture.

[0048] It can be seen that in the present application, unified management is performed for the project deployment information supported by each processor architecture, that is, unified management is performed for the differentiated information of different processor architectures, which is more convenient for management in the case of increasing processor architectures, reduces management difficulty and management costs, and improves management efficiency; and in the compilation process, based on the public configuration file and the multi-architecture difference file, when the source code of the cloud computing control system is compiled and processed, the project deployment files associated with each of the multiple processor architectures can be obtained, avoiding the complex problem of separately obtaining configuration files and basic images for different processor architectures, and separately compiling based on the obtained information, making the compilation process simpler and faster, and improving compilation efficiency.

[0049] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0051] Figure 1 A management deployment diagram of a cloud computing management and control system in related technologies;

[0052] Figure 2 A schematic diagram of a project management architecture provided for an embodiment of the present application;

[0053] Figure 3 A schematic diagram of another project management architecture provided in an embodiment of the present application;

[0054] Figure 4 A schematic diagram of an application scenario provided for an embodiment of the present application;

[0055] Figure 5 A flowchart of a project management method provided in an embodiment of the present application;

[0056] Figure 6 A schematic diagram of a first file information storage method provided in an embodiment of the present application;

[0057] Figure 7 A schematic diagram of a second file information storage method provided in an embodiment of the present application;

[0058] Figure 8 A schematic diagram of a third file information storage method provided in an embodiment of the present application;

[0059] Fig. 9 A schematic diagram of updating file information provided in an embodiment of the present application;

[0060] Fig.10 A schematic diagram of a storage project deployment file provided in an embodiment of the present application;

[0061] Fig.11 A schematic diagram of the management deployment of a cloud computing management and control system provided in an embodiment of the present application;

[0062] Fig.12Another method for managing a cloud computing management and control system provided in an embodiment of the present application;

[0063] Fig.13 A schematic diagram of a fourth file information storage method provided in an embodiment of the present application;

[0064] Fig.14 A schematic diagram of a fifth file information storage method provided in an embodiment of the present application;

[0065] Fig.15 A schematic diagram of a sixth file information storage method provided in an embodiment of the present application;

[0066] Fig.16 A schematic diagram of a storage service deployment file provided in an embodiment of the present application;

[0067] Fig.17 A schematic diagram of the management deployment of a cloud computing management and control system provided in an embodiment of the present application;

[0068] Fig.18 A structural diagram of a project management device provided in an embodiment of the present application;

[0069] Fig.19 A structural diagram of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0070] In order to make the purpose, technical solution and beneficial effects of this application clearer, the technical solution in the embodiment of this application will be clearly and completely described below in conjunction with the drawings in the embodiment of this application. Obviously, the described embodiment is only a part of the embodiment of this application, not all the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0071] Some of the terms used in the embodiments of the present application are explained below to facilitate understanding by those skilled in the art.

[0072] Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources in a wide area network or local area network to achieve data computing, storage, processing and sharing. It is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model application, which can form a resource pool and be used on demand, flexible and convenient. Cloud computing technology will become an important support. The background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites and more portal websites. With the high development and application of the Internet industry, in the future, each item may have its own identification mark, and all need to be transmitted to the background system for logical processing. Data of different levels will be processed separately. All kinds of industry data require strong system backing support, which can only be achieved through cloud computing.

[0073] A private cloud is a cloud infrastructure and software and hardware resources created within a firewall so that departments within an organization or enterprise can share resources within the data center. In addition to hardware resources, creating a private cloud generally also requires cloud equipment (IaaS, Infrastructure as a Service) software. Private cloud computing also includes three levels: cloud hardware, cloud platform, and cloud services. The difference is that cloud hardware is the customer's own personal computer or server, not the data center of the cloud computing vendor. The purpose of cloud computing vendors building data centers is to provide public cloud services to millions of users, so they need to have tens of millions of servers. Private cloud computing only serves friends and family for individuals, and only serves employees, customers, and suppliers of the company for enterprises. Therefore, an individual or enterprise's own personal computer or server is sufficient to provide cloud services.

[0074] A project refers to a service system such as a cloud computing management and control system that can be installed and deployed on a client or server, or an application that can be installed and deployed on a client or server.

[0075] Processor architecture, including but not limited to X86 architecture, Advanced RISC Machine (ARM) architecture, PowerPC architecture; among them, X86 architecture is a computer language instruction set executed by a microprocessor, referring to a standard numbering abbreviation of an Intel general-purpose computer series, and also identifies a set of general-purpose computer instructions. ARM architecture is a 32-bit Reduced Instruction Set Compute (RISC) processor architecture, widely used in embedded system design, low power consumption and energy saving, very suitable for the field of mobile communications. PowerPC architecture is a central processing unit (CPU) with a reduced instruction set architecture. The characteristics of PowerPC architecture are good scalability, convenience and flexibility.

[0076] Dockerfile is a text file used to build an image. The text content contains the instructions and instructions required to build the image. Dockerfile is generally divided into four parts: basic image information, maintainer information, image operation instructions, and instructions to be executed when the container is started.

[0077] Mirror: It is a form of file storage and a type of redundancy. The data on one disk has an identical copy on another disk, which is called a mirror.

[0078] A pipeline is a group of events or jobs connected together in sequence.

[0079] Distributed version control system (Git), Git is an open source distributed version control system that can effectively and quickly handle version management of projects from very small to very large, without the need for server-side software support, making the release and exchange of source code extremely convenient.

[0080] CodeArts Build is used to seamlessly connect with code hosting, provide cloud-based compilation and construction, support one-click creation, configuration, and execution, automate the process of obtaining code, building, packaging, and detecting the build status in real time.

[0081] The word “exemplary” is used hereinafter to mean “serving as an example, example, or illustration.” Any embodiment described as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0082] The terms "first" and "second" in this document are used for descriptive purposes only and should not be understood as explicitly or implicitly indicating relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more features. In the description of the embodiments of this application, unless otherwise specified, the meaning of "multiple" is two or more.

[0083] The following is a brief introduction to the design concept of the embodiments of the present application.

[0084] With the development of science and technology, the amount of data and computing has continued to increase. In order to improve computing efficiency and save computing resources, data, data computing, data management and other service functions are usually deployed in a cloud environment. In order to ensure the control efficiency, security and service quality of data, private cloud is further proposed. In a private cloud scenario, customers need to deploy the cloud computing management and control system in the environment of their own processor architecture. At this time, customers need to obtain the project deployment file from the cloud computing management and control system service side, and deploy the cloud computing management and control system based on the project deployment file.

[0085] Since customers currently choose to deploy cloud computing control systems in an x86 architecture environment, the cloud computing control system service side only establishes a "build-deploy" process for the x86 architecture. However, with the continuous update and iteration of computer hardware performance, more and more customers will choose to deploy cloud computing control systems in environments with other processor architectures, for example, deploying cloud computing control systems in an ARM architecture environment or in a PowerPC architecture environment.

[0086] Currently, for multi-processor architectures, the cloud computing management and control system service side adopts a separate processing flow; that is, for each processor architecture, a separate "build-deploy" process needs to be established, see Figure 1 , Figure 1 The present invention is a management deployment diagram of a cloud computing control system in related technologies.

[0087] from Figure 1 It can be seen that: for each processor structure, the source code of the cloud computing control system comes from the same source, that is, the source code of the cloud computing control system has no difference in the multi-processor architecture scenario, but for different processor architectures, the configuration difference is relatively large, so the configuration of each processor architecture is managed separately; and in the compilation and build process, for different processor architectures, the basic image and the final project deployment file are different. Different pipelines need to be customized separately according to the different processor structures, and the project deployment files need to be stored separately; and in the customer environment deployment process, the project deployment files associated with different architectures need to be deployed to the corresponding customer processor architecture environment, and a one-to-one correspondence is required.

[0088] Obviously, when the configurations and pipelines of different processor architectures need to be managed separately, as the number of processor architectures increases, the management difficulty and cost of cloud computing management and control systems become increasingly greater, and the management efficiency becomes increasingly lower.

[0089] Therefore, when the cloud computing management and control system supports deployment in a multi-processor architecture environment, how to reduce the difficulty and cost of project management and improve management efficiency is a problem that needs to be solved at present.

[0090] In view of this, the embodiments of the present application provide a project management method, apparatus, equipment and storage medium, which relate to the field of cloud technology, and in particular to a management method for a cloud computing control system that supports multiple processor architectures in a private cloud environment. The concept of a project management architecture is proposed in the method. The project management architecture is an abstract architecture that shields difference information under multiple processor architectures. When a new processor architecture is added, it is only necessary to add a difference sub-file corresponding to the processor architecture to the cloud computing control system, and the project deployment file associated with the processor architecture will be automatically generated.

[0091] See also Figure 2 , Figure 2 A schematic diagram of a project management architecture provided in an embodiment of the present application, from Figure 2 It can be seen that the project management architecture 200 includes: a configuration manager 210, a general pipeline tool 220 and a multi-architecture product manager 230. Among them:

[0092] The configuration manager 210 is used to store a common configuration file and a multi-architecture difference file. The common configuration file is used to store common configuration information between multiple processor architectures. The multi-architecture difference file includes: a difference sub-file that matches each processor architecture in the multiple processor architectures, each difference sub-file is used to store project deployment information supported by a processor architecture;

[0093] The general pipeline tool 220 is used to compile the source code of the target project, and the multi-architecture product manager 230 is used to store project deployment files associated with each processor architecture.

[0094] See also Figure 3 , Figure 3 A schematic diagram of a project management architecture provided in an embodiment of the present application, from Figure 3 It can be seen that the project management architecture 300 includes: a general configuration manager 310, a difference configuration manager 320, a general pipeline tool 330 and a multi-architecture product manager 340. Among them:

[0095] The general configuration manager 310 is used to store a common configuration file, and the common configuration file is used to store common configuration information between multiple processor architectures;

[0096] The difference configuration manager 320 is used to store multi-architecture difference files, the multi-architecture difference files including: difference sub-files respectively matching each processor architecture in the plurality of processor architectures, each difference sub-file being used to store project deployment information supported by one processor architecture;

[0097] The general pipeline tool 330 is used to compile the source code of the target project, and the multi-architecture product manager 340 is used to store project deployment files associated with each processor architecture.

[0098] In an embodiment of the present application, when project management is performed based on the project management architecture shown above: first, file information associated with the target project is obtained, and the file information includes at least: a common configuration file and a multi-architecture difference file; wherein the common configuration file is used to store common configuration information between multiple processor architectures; the multi-architecture difference file includes: difference sub-files that match each processor architecture in multiple processor structures, each difference sub-file is used to store project deployment information supported by a processor architecture; then, based on the common configuration file and the multi-architecture difference file, the source code of the target project is compiled and processed, and project deployment files associated with each of the multiple processor architectures are obtained respectively.

[0099] In this application, considering that the source code of the project cannot run under the architecture processor, that is, the source code of the cloud computing control system cannot run under the architecture processor, when managing the cloud computing control system, the source code of the cloud computing control system is compiled and processed to obtain a project deployment file containing an executable file that can run under the architecture processor. At the same time, in order to ensure that the cloud computing control system can be deployed and run under multiple architecture processors, when compiling the source code of the cloud computing control system, it is necessary to obtain the project deployment files associated with multiple processor architectures. When the source code of the cloud computing control system is compiled and processed to obtain project deployment files associated with multiple processor architectures, the source code of the cloud computing control system is compiled and processed based on the public configuration file and the multi-architecture difference file, wherein the public configuration file is used to store common configuration information between multiple processor architectures, and the multi-architecture difference file includes difference sub-files that match each processor architecture in the multi-processor architecture, and each difference sub-file is used to store project deployment information supported by a processor architecture; it can be seen that in the present application, the project deployment information supported by each processor architecture is managed in a unified manner, that is, the differentiated information of different processor architectures is managed in a unified manner, which is more convenient to manage in the case of increasing processor architectures, reduces management difficulty and management cost, and improves management efficiency; and in the compilation process, based on the public configuration file and the multi-architecture difference file, when the source code of the cloud computing control system is compiled and processed, the project deployment files associated with multiple processor architectures can be obtained, avoiding the complex problem of separately obtaining configuration files and basic images for different processor architectures, and separately compiling based on the obtained information, making the compilation process simpler and faster, and improving compilation efficiency.

[0100] After introducing the design concept of the embodiment of the present application, the application scenario set in the present application is briefly described below. It should be noted that the following scenario is only used to illustrate the embodiment of the present application and is not limited. In the specific implementation, the technical solution provided by the embodiment of the present application can be flexibly applied according to actual needs.

[0101] See also Figure 4 , Figure 4 A schematic diagram of an application scenario provided in an embodiment of the present application. The application scenario includes a first device 410 and a second device 420, and the first device 410 and the second device 420 can communicate with each other through a communication network.

[0102] In an optional implementation, the communication network may be a wired network or a wireless network. Therefore, the first device 410 and the second device 420 may be directly or indirectly connected via a wired or wireless communication. For example, the first device 410 may be indirectly connected to the second device 420 via a wireless access point, or the first device 410 may be directly connected to the second device 420 via the Internet, and this application does not limit this.

[0103] In a possible implementation, the first device 410 is a client-side device, which may be a server on the client side or a server on the client side; the second device 420 is a project service-side device, which may be a server on the project service side or a server on the project service side;

[0104] The terminal devices include but are not limited to mobile phones, tablet computers, laptop computers, desktop computers, e-book readers, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals and other devices; various clients may be installed on the terminal devices, which may be applications (such as browsers, game software, etc.), web pages, applets, etc.;

[0105] The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), as well as big data and artificial intelligence platforms.

[0106] In a possible implementation scenario, the project management method in the embodiment of the present application is deployed in the second device 420. It should be noted that the project being a cloud computing management and control system is only one possible implementation method, and is a usage scenario proposed to facilitate understanding of the implementation method of the present application, but is not limited to the cloud computing management and control system, and may also be other service systems with storage, computing, data processing, data control and other service functions, or a certain application.

[0107] Based on the above application scenarios, in combination with the application scenarios described above, the project management method provided by the exemplary embodiment of the present application is described according to the accompanying drawings. It should be noted that the above application scenarios are only shown to facilitate understanding of the spirit and principles of the present application, and the embodiments of the present application are not limited in this regard. In addition, although the operations of the method of the present application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, certain steps can be omitted, multiple steps can be combined into one step for execution, and / or one step can be decomposed into multiple steps for execution.

[0108] Below, taking the target project as a cloud computing management and control system as an example, the project management method proposed in the embodiment of the present application is explained.

[0109] See also Figure 5 , Figure 5 A flow chart of a cloud computing management system management method provided in an embodiment of the present application includes the following steps:

[0110] Step S500, obtaining file information associated with the cloud computing management and control system; the file information includes at least: a public configuration file and a multi-architecture difference file; wherein the public configuration file is used to store common configuration information between multiple processor architectures; the multi-architecture difference file includes: difference sub-files that match each processor architecture in the multiple processor architectures, each difference sub-file is used to store project deployment information supported by a processor architecture.

[0111] In a possible implementation, after the source code of the cloud computing management and control system is obtained through a general pipeline tool, file information associated with the cloud computing management and control system is obtained from the correspondence between pre-stored projects and file information.

[0112] For example, if Figure 2 The project management architecture shown manages the cloud computing management and control system. After the general pipeline tool obtains the source code of the cloud computing management and control system, the general pipeline tool obtains the public configuration file and multi-architecture difference file corresponding to the cloud computing management and control system from the configuration manager.

[0113] Optionally, the configuration manager stores the correspondence between the project and the file information; see Figure 6 , Figure 6 A schematic diagram of the first file information storage method provided in an embodiment of the present application. Figure 6An example is given of the correspondence between the storage of projects and file information in the form of a directory structure. For example, in the configuration manager, the folder corresponding to the cloud computing management and control system contains two first-level files, a public configuration file and a multi-architecture difference file. The public configuration file contains a configuration sub-file for storing general configuration information, and the multi-architecture difference file contains difference sub-files that match each processor architecture in multiple processor architectures. That is, in the case of processor architecture 1, processor architecture 2, and processor architecture 3, the multi-architecture difference file includes a difference sub-file 1 that matches processor architecture 1, a difference sub-file 2 that matches processor architecture 2, and a difference sub-file 3 that matches processor architecture 3.

[0114] It should be noted that Figure 6 The one-to-one matching of the difference sub-files and the processor architectures shown is only an exemplary description. In actual application, at least one difference sub-file may be set for one processor architecture.

[0115] Another exemplary method is to use Figure 3 The project management architecture shown manages the cloud computing control system. After the general pipeline tool obtains the source code of the cloud computing control system, the general pipeline tool obtains the public configuration file corresponding to the cloud computing control system from the general configuration manager, and obtains the multi-architecture difference file corresponding to the cloud computing control system from the difference configuration manager.

[0116] Optionally, the common configuration manager stores the correspondence between the project and the common configuration file, and the difference configuration manager stores the correspondence between the project and the multi-architecture difference files; see Figure 7 , Figure 7 A schematic diagram of a second file information storage method provided in an embodiment of the present application. Figure 7 The correspondence between items and files stored in the form of a directory structure is given as an example. For example, in a general configuration manager, the folder corresponding to the cloud computing management and control system contains a public configuration file, and the public configuration file contains a configuration sub-file for storing general configuration information; in a differential configuration manager, the folder corresponding to the cloud computing management and control system contains a multi-architecture differential file, and the multi-architecture differential file contains differential sub-files that match each processor architecture in multiple processor architectures.

[0117] It should be noted that the configuration manager, the general configuration manager, and the differential configuration manager can all be implemented using the Git repository; in the Git repository, each project corresponds to a folder.

[0118] In one possible implementation, a common configuration file is used as a common file, and a configuration sub-file under the common file for storing common configuration information is config.json; a multi-architecture difference file is used as a dockerfile file, and a difference sub-file is a dockerfile sub-file, each dockerfile sub-file includes at least: a basic image supported by a processor architecture matching the dockerfile sub-file, a deployment software package, an image building instruction, and other difference configuration information.

[0119] Exemplarily, each Dockerfile sub-file corresponds to a processor architecture. To distinguish, the suffix of the Dockerfile sub-file is used to identify the processor architecture corresponding to the Dockerfile sub-file.

[0120] For example, Figure 6 The file information storage method shown in the figure is used as the basis for further explanation of the file information storage method: the public configuration file is the common file, and config.json is set under the common file. config.json stores common configuration information; the multi-architecture difference file is the dockerfile file, and two dockerfile sub-files are set under the dockerfile file, namely dockerfile.x86 corresponding to the x86 architecture and dockerfile.arm corresponding to the ARM architecture. dockerfile.x86 stores the x86 basic image, x86 deployment software package, x86 image building instructions, and x86 other difference configuration information supported by the x86 architecture, and dockerfile.arm stores the arm basic image, arm deployment software package, arm image building instructions, and arm other difference configuration information supported by the arm architecture; for details, see Figure 8 , Figure 8 A schematic diagram of a third file information storage method provided in an embodiment of the present application.

[0121] In a possible implementation, when a processor architecture supported by the cloud computing management and control system is added, a difference sub-file associated with the newly added processor architecture is set under the multi-architecture difference file. Fig. 9 , Fig. 9 A schematic diagram of updating file information provided by an embodiment of the present application; specifically, when a PowerPC architecture is added, in Figure 8Based on the file information shown, dockerfile.PowerPC is added to the dockerfile file. Dockerfile.PowerPC stores the PowerPC base image supported by the PowerPC architecture, the PowerPC deployment software package, the PowerPC image building instructions, and other PowerPC difference configuration information.

[0122] In this application, a configuration manager is used to uniformly manage the differentiated configurations of different processor architectures, and converge them into a multi-architecture difference file. When a new processor architecture is added, only a single multi-architecture difference file needs to be managed to complete the access of the new processor architecture. This shows that it is easier to manage in the scenario where the number of processor architectures continues to increase.

[0123] Step S510, based on the public configuration file and the multi-architecture difference file, compile the source code of the cloud computing management and control system to obtain project deployment files associated with multiple processor architectures respectively.

[0124] In one possible implementation, after the general pipeline tool obtains the public configuration file and multi-architecture difference file of the cloud computing management and control system, it compiles the source code of the cloud computing management and control system based on each difference sub-file contained in the public configuration file and the multi-architecture difference file to obtain the project deployment file associated with the processor architecture corresponding to the difference sub-file.

[0125] Since the general pipeline tool performs the same operation steps in the process of compiling the source code of the cloud computing management system for different processor architectures, taking obtaining a project deployment file associated with a processor architecture as an example, the compilation process of the source code of the cloud computing management system by the general pipeline tool is explained.

[0126] For example, taking the x86 architecture as an example, referring to the following steps A1 to A3, the compilation process of the source code of the cloud computing management and control system by the general pipeline tool is described:

[0127] Step A1, determining the dockerfile.x86 associated with the x86 architecture, and determining the x86 base image, x86 deployment software package, and x86 image building instructions stored in the dockerfile.x86;

[0128] Step A2: compile the source code of the cloud computing management and control system into an executable file according to the x86 image building instruction and the operating system information defined in the x86 basic image, and package the x86 deployment software package and the executable file to obtain a target image file associated with the x86 architecture;

[0129] Step A3, based on the target image file, add a configuration template determined based on the public configuration file to obtain a project deployment file associated with the x86 architecture.

[0130] Therefore, the project deployment file at least includes a target image file and a configuration template; wherein the configuration template is used to provide a running environment for the executable file.

[0131] In this application, the source code of the cloud computing management and control system is compiled through a general pipeline tool based on a public configuration file and multiple difference sub-files contained in a multi-architecture difference file, which simplifies the complex problems introduced in the multi-processor architecture scenario and makes the compilation process simpler and faster.

[0132] In an embodiment of the present application, after obtaining the project deployment files associated with each of the multiple processor architectures, the project deployment files associated with each of the multiple processor architectures are uniformly stored in a designated first storage container. Fig.10 , Fig.10 A schematic diagram of a storage project deployment file provided for an embodiment of the present application; specifically, the configuration template and target image file associated with the x86 architecture, the configuration template and target image file associated with the ARM architecture, and the configuration template and target image file associated with the PowerPC architecture are stored in the first storage container of the multi-architecture product manager.

[0133] It should be noted that the multi-architecture product manager is implemented using an object storage service. Each project corresponds to a first storage container, which can be a bucket. The bucket is a storage space used to manage stored objects.

[0134] In an embodiment of the present application, the service-side device of the cloud computing management and control system will also receive a cloud computing management and control system deployment instruction triggered by a target object, and the deployment instruction carries a target processor architecture; after receiving the deployment instruction, the target processor architecture carried in the deployment instruction is obtained; and based on the target processor architecture, the cloud computing management and control system deployment file associated with the target processor architecture is obtained; and then the cloud computing management and control system deployment file is transmitted to the target object, so that the target object deploys the cloud computing management and control system in the corresponding processor architecture environment according to the obtained cloud computing management and control system deployment file.

[0135] Exemplarily, when the target object (i.e., the customer who needs to deploy a cloud computing management and control system) determines to deploy the cloud computing management and control system, a deployment instruction carrying the processor architecture is sent to the service side of the cloud computing management and control system; accordingly, the service side of the cloud computing management and control system obtains the corresponding project deployment file from the first storage container based on the processor architecture; for example, if the carried processor architecture is an ARM architecture, the project deployment file associated with the ARM architecture is obtained in the first storage container, and the project deployment file associated with the ARM architecture is sent to the target object, so as to deploy the cloud computing management and control system in the ARM architecture environment based on the project deployment file associated with the ARM architecture.

[0136] When the target object deploys the cloud computing management and control system in a processor architecture environment, it first reads the configuration template from the project deployment file, provides a running environment for the executable file corresponding to the cloud computing management and control system based on the configuration template, starts the executable file in the running environment, and relies on the deployment software package to implement various management and control services included in the cloud computing management and control system.

[0137] In the present application, multiple processor architectures and the project deployment files associated with each processor architecture are uniformly stored through the first storage container to achieve unified management. The project deployment files associated with the processor architecture and customers who support the processor architecture only need a simple interface to complete the deployment. There is no need to set different deployment processes for different processor architectures, making project delivery and deployment more efficient.

[0138] See also Fig.11 , Fig.11 A management deployment diagram of a cloud computing management and control system provided in an embodiment of the present application:

[0139] Service side of cloud computing management and control system: after obtaining the source code of the cloud computing management and control system, the general pipeline tool compiles the source code of the cloud computing management and control system based on the public configuration file obtained from the general configuration manager and the multi-architecture difference file obtained from the difference configuration manager, wherein the multi-architecture difference file includes: dockerfile.arm, dockerfile.x86, dockerfile.PowerPC, obtains the project deployment file corresponding to the arm architecture, the project deployment file corresponding to the x86 architecture, and the project deployment file corresponding to the PowerPC, and then uniformly stores the project deployment files corresponding to each processor architecture in the first storage container of the multi-architecture product manager;

[0140] The client side of the cloud computing management and control system: sends a deployment instruction for deploying the cloud computing management and control system, including the target processor architecture, such as the ARM architecture;

[0141] The service side of the cloud computing management and control system: after obtaining the deployment instruction through the communication component, based on the arm architecture carried in the deployment instruction, obtains the configuration template and target image file associated with the arm architecture from the first storage container of the multi-architecture product manager, and transmits the configuration template and target image file associated with the arm architecture to the client side;

[0142] Client side of the cloud computing management and control system: Based on the configuration template and target image file associated with the arm architecture, the cloud computing management and control system is deployed in the arm architecture environment.

[0143] In the embodiment of the present application, the cloud computing management and control system can also be split into multiple services; and when the cloud computing management and control system includes multiple services, when managing the cloud computing management and control system, each service under the cloud computing management and control system is managed separately. Fig.12 , Fig.12 Another cloud computing management system management method provided in the present application embodiment includes the following steps:

[0144] Step S1200, obtaining file information associated with each service under the cloud computing management and control system; each file information includes at least: a public configuration file under the corresponding service and a multi-architecture difference file under the corresponding service; wherein the public configuration file is used to store common configuration information between multiple processor architectures under the corresponding service; the multi-architecture difference file includes: under the corresponding service, difference sub-files that match each processor architecture in the multiple processor architectures, each difference sub-file is used to store service deployment information supported by a processor architecture.

[0145] In a possible implementation, after the source code of the cloud computing management and control system is obtained through a general pipeline tool, the file information associated with each service under the cloud computing management and control system is obtained from the correspondence between the services and file information associated with the pre-stored project.

[0146] For example, if Figure 2 The project management architecture shown manages the cloud computing control system. After the general pipeline tool obtains the source code of the cloud computing control system, the general pipeline tool obtains the public configuration files and multi-architecture difference files corresponding to each service under the cloud computing control system from the configuration manager.

[0147] Optionally, the configuration manager stores the correspondence between each service and file information under the project; see Fig.13 , Fig.13 A schematic diagram of the fourth file information storage method provided in an embodiment of the present application. Fig.13The correspondence between the project and the file information stored in the form of a directory structure is given as an example. For example, in the configuration manager, the folder corresponding to the cloud computing management and control system contains sub-files corresponding to each service, each sub-file contains two primary files, a public configuration file and a multi-architecture difference file, the public configuration file contains a configuration sub-file for storing general configuration information, and the multi-architecture difference file contains difference sub-files that match each processor architecture in multiple processor architectures.

[0148] Another exemplary method is to use Figure 3 The project management architecture shown manages the cloud computing control system. After the general pipeline tool obtains the source code of the cloud computing control system, the general pipeline tool obtains the public configuration files corresponding to each service under the cloud computing control system from the general configuration manager, and obtains the multi-architecture difference files corresponding to each service under the cloud computing control system from the difference configuration manager.

[0149] Optionally, the common configuration manager stores the correspondence between each service under the project and the common configuration file, and the difference configuration manager stores the correspondence between each service under the project and the multi-architecture difference file; see Fig.14 , Fig.14 A schematic diagram of the fifth file information storage method provided in an embodiment of the present application. Fig.14 The correspondence between items and files stored in the form of a directory structure is given as an example. For example, in a general configuration manager, the folder corresponding to the cloud computing management and control system contains subfolders corresponding to each service, each subfolder contains a public configuration file, and the public configuration file contains a configuration subfile for storing general configuration information; in a differential configuration manager, the folder corresponding to the cloud computing management and control system contains subfolders corresponding to each service, each subfile contains multi-architecture difference files, and the multi-architecture difference files contain difference subfiles that match each processor architecture in multiple processor architectures.

[0150] It should be noted that the configuration manager, the general configuration manager, and the differential configuration manager can all be implemented using the Git repository; in the Git repository, each project corresponds to a folder.

[0151] In one possible implementation, a common configuration file is used as a common file, and a configuration sub-file under the common file for storing common configuration information is config.json; a multi-architecture difference file is used as a dockerfile file, and a difference sub-file is a dockerfile sub-file, each dockerfile sub-file includes at least: a basic image supported by a processor architecture matching the dockerfile sub-file, a deployment software package, an image building instruction, and other difference configuration information.

[0152] Exemplarily, each Dockerfile sub-file corresponds to a processor architecture. To distinguish, the suffix of the Dockerfile sub-file is used to identify the processor architecture corresponding to the Dockerfile sub-file.

[0153] For example, Fig.13 The file information storage method shown in the figure is used as the basis for further explanation of the file information storage method: the public configuration file is the common file, and config.json is set under the common file. config.json stores common configuration information; the multi-architecture difference file is the dockerfile file, and two dockerfile sub-files are set under the dockerfile file, namely dockerfile.x86 corresponding to the x86 architecture and dockerfile.arm corresponding to the ARM architecture. dockerfile.x86 stores the x86 basic image, x86 deployment software package, x86 image building instructions, and x86 other difference configuration information supported by the x86 architecture, and dockerfile.arm stores the arm basic image, arm deployment software package, arm image building instructions, and arm other difference configuration information supported by the arm architecture; for details, see Fig.15 , Fig.15 A schematic diagram of the sixth file information storage method provided in an embodiment of the present application.

[0154] In one possible implementation, when a new processor architecture is added to the cloud computing management and control system, a difference sub-file associated with the new processor architecture is set under the multi-architecture difference files corresponding to each service of the cloud computing management and control system. Fig. 9 Similar, no further elaboration is required here.

[0155] In this application, a configuration manager is used to uniformly manage the differentiated configurations of different processor architectures, and converge them into a multi-architecture difference file. When a new processor architecture is added, only a single multi-architecture difference file needs to be managed to complete the access of the new processor architecture. This shows that it is easier to manage in the scenario where the number of processor architectures continues to increase.

[0156] Step S1210, for each of the multiple services, respectively execute: based on the public configuration file associated with the service, and the multi-architecture difference file associated with the service, compile the source code of the service under the cloud computing management and control system, and obtain the service deployment files associated with the multiple processor architectures under the service.

[0157] In one possible implementation, for each of the multiple services, the following is performed separately: after the general pipeline tool obtains the common configuration file of the service and the multi-architecture difference file of the service, the source code of the service is compiled based on the common configuration file and each difference sub-file contained in the multi-architecture difference file to obtain the service deployment file associated with the processor architecture corresponding to the difference sub-file.

[0158] Among them, each service deployment file includes at least: a configuration template associated with the service and a target image file associated with the service under the corresponding processor architecture; wherein the target image file carries an executable file associated with the service, and the configuration template is used to provide a running environment for the executable file.

[0159] It should be noted that the principle of compiling the source code of the services under the cloud computing management and control system is similar to that of compiling the source code of the cloud computing management and control system. For details, please refer to the description of compiling the source code of the cloud computing management and control system, which will not be repeated here.

[0160] In this application, compilation is performed based on a common configuration file and multiple difference sub-files contained in a multi-architecture difference file through a general pipeline tool, which simplifies the complex problems introduced in the multi-processor architecture scenario and makes the compilation process simpler and faster.

[0161] In an embodiment of the present application, after obtaining service deployment files associated with multiple processor architectures for each service, the service deployment files associated with multiple processor architectures under the same service are uniformly stored in a designated second storage container.

[0162] For example, see Fig.16 , Fig.16 A schematic diagram of a storage service deployment file provided for an embodiment of the present application; specifically, under service 1, the configuration template and target image file associated with the x86 architecture, the configuration template and target image file associated with the ARM architecture, and the configuration template and target image file associated with the PowerPC architecture are stored in a second storage container of the multi-architecture product manager; under service 2, the configuration template and target image file associated with the x86 architecture, the configuration template and target image file associated with the ARM architecture, and the configuration template and target image file associated with the PowerPC architecture are stored in another second storage container of the multi-architecture product manager.

[0163] It should be noted that the multi-architecture product manager is implemented using the object storage service, and each service corresponds to a second storage container; since the service is part of the project, the second storage container corresponding to each service is part of the first storage container corresponding to the project. The second storage container can also be a bucket, but the storage space of the bucket associated with the second storage container is smaller than the storage space of the bucket associated with the first storage container.

[0164] In an embodiment of the present application, the service-side device of the cloud computing management and control system will also receive a cloud computing management and control system deployment instruction triggered by a target object, the deployment instruction carrying a target processor architecture and a target service; after receiving the deployment instruction, the target processor architecture and the target service carried in the deployment instruction are obtained; and based on the target processor architecture and the target service, the target service deployment file associated with the target processor architecture is obtained; and then the target service deployment file is transmitted to the target object, so that the target object deploys the target service under the cloud computing management and control system in the corresponding processor architecture environment according to the obtained target service deployment file.

[0165] Exemplarily, when the target object (i.e., the customer who needs to deploy a cloud computing management and control system) determines that it wants to deploy a service under the cloud computing management and control system, a deployment instruction carrying the processor architecture and the target service is sent to the service side of the cloud computing management and control system; accordingly, the service side of the cloud computing management and control system obtains the target service deployment file from the second storage container based on the processor architecture and the target service; for example, if the carried processor architecture is ARM architecture and the target service is service 2, then the service deployment file associated with the ARM architecture is obtained in the second storage container corresponding to service 2, and the service deployment file associated with the ARM architecture is sent to the target object, so as to deploy service 2 under the cloud computing management and control system in the ARM architecture environment based on the service deployment file associated with the ARM architecture.

[0166] In a possible implementation, when obtaining the target service deployment file from the second storage container based on the processor architecture and the target service:

[0167] If, based on a preset service association relationship, it is determined that there is at least one other service associated with the target service, then the first service deployment file associated with the target processor architecture is obtained from the second storage container associated with the target service, and the second service deployment file associated with the target processor architecture is obtained from the second storage container associated with at least one other service, and the first service deployment file and the second service deployment file are used together as the target service deployment file; for example, the carried processor architecture is ARM architecture, the target service is service 2, and it is determined that service 2 has an association relationship with service 1, and service 1 must be deployed when service 2 is deployed. At this time, the first service deployment file associated with the ARM architecture is obtained from the second storage container corresponding to service 2, and the second service deployment file associated with the ARM architecture is obtained from the second storage container corresponding to service 1, and the first service deployment file associated with the ARM architecture and the second service deployment file are sent together to the target object, so as to deploy service 1 and service 2 under the cloud computing management and control system in the ARM architecture environment based on the first service deployment file and the second service deployment file associated with the ARM architecture.

[0168] If it is determined that there are no other services associated with the target service based on the pre-set service association relationship, then the first service deployment file associated with the target processor architecture is obtained from the second storage container associated with the target service, and the first service deployment file is used as the target service deployment file; for example, the carried processor architecture is ARM architecture, the target service is service 2, and it is determined that there are no other services associated with service 2, that is, when deploying service 2, it can be deployed alone without deploying other services. At this time, the first service deployment file associated with the ARM architecture is obtained from the second storage container corresponding to service 2, and the first service deployment file associated with the ARM architecture is sent to the target object, so as to deploy service 2 under the cloud computing management and control system in the ARM architecture environment based on the first service deployment file associated with the ARM architecture.

[0169] It should be noted that the implementation method of deploying services under the cloud computing management and control system is similar to the implementation principle of deploying the cloud computing management and control system, and will not be repeated here.

[0170] In the present application, multiple processor architectures and project deployment files associated with each processor architecture are uniformly stored through the first storage container to achieve unified management. Project deployment files associated with the processor architecture and customers who support the processor architecture only need to simply decompress the interface to complete the deployment, making project delivery and deployment more efficient.

[0171] See also Fig.17 , Fig.17 A management deployment diagram of a cloud computing management and control system provided in an embodiment of the present application, from Fig.17 It can be seen that:

[0172] Service side of the cloud computing management and control system: After the general pipeline tool obtains the source code of the cloud computing management and control system, based on the public configuration files associated with each service obtained from the general configuration manager, and the multi-architecture difference files associated with each service obtained from the difference configuration manager, each multi-architecture difference file includes: dockerfile.arm, dockerfile.x86, dockerfile.PowerPC, the source code of each service under the cloud computing management and control system is compiled and processed to obtain the service deployment files corresponding to the arm architecture, the service deployment files corresponding to the x86 architecture, and the service deployment files corresponding to the PowerPC of each service, and then the service deployment files corresponding to each processor architecture under the same service are uniformly stored in the second storage container of the multi-architecture product manager;

[0173] The client side of deploying the cloud computing management and control system: sends a deployment instruction for deploying the cloud computing management and control system, which includes the target processor architecture and the target service; for example, the target processor architecture is the arm architecture, and the target service is service 2;

[0174] The service side of the cloud computing management and control system: after obtaining the deployment instruction through the communication component, based on the arm architecture and service 2 carried in the deployment instruction, obtains the service deployment files associated with the arm architecture under service 2 and other services associated with service 2 from the second storage container of the multi-architecture product manager, and transmits the obtained service deployment files associated with the arm architecture to the client side;

[0175] Deploy the client side of the cloud computing management and control system: Based on the service deployment files associated with the arm architecture, deploy the services under the cloud computing management and control system in the arm architecture environment; that is, deploy service 2 under the cloud computing management and control system in the arm architecture environment.

[0176] In this application, in order to ensure that the cloud computing management and control system can be deployed and run under multi-architecture processors, when compiling the source code of the cloud computing management and control system, it is necessary to obtain project deployment files associated with multiple processor architectures. When the source code of the cloud computing control system is compiled and processed to obtain project deployment files associated with multiple processor architectures, the source code of the cloud computing control system is compiled and processed based on the public configuration file and the multi-architecture difference file, wherein the public configuration file is used to store common configuration information between multiple processor architectures, and the multi-architecture difference file includes difference sub-files that match each processor architecture in the multi-processor architecture, each difference sub-file is used to store project deployment information supported by a processor architecture; unified management is performed for the project deployment information supported by each processor architecture, that is, unified management is performed for the differentiated information of different processor architectures, which is more convenient to manage in the case of increasing processor architectures, reduces management difficulty and management cost, and improves management efficiency; and in the compilation process, based on the public configuration file and the multi-architecture difference file, when the source code of the cloud computing control system is compiled and processed, the project deployment files associated with multiple processor architectures can be obtained, avoiding the complex problem of separately obtaining configuration files and basic images for different processor architectures and separately compiling based on the obtained information, making the compilation process simpler and faster, and improving compilation efficiency.

[0177] Based on the same inventive concept, the embodiment of the present application also provides a project management device; Fig.18 As shown, the project management device 1800 includes:

[0178] The acquisition unit 1810 is used to acquire file information associated with the target project; the file information includes at least: a common configuration file and a multi-architecture difference file; wherein the common configuration file is used to store common configuration information between multiple processor architectures; the multi-architecture difference file includes: a difference sub-file that matches each processor architecture in the multiple processor architectures, each difference sub-file is used to store project deployment information supported by a processor architecture;

[0179] The compilation unit 1820 is used to compile the source code of the target project based on the public configuration file and the multi-architecture difference file, and obtain project deployment files associated with multiple processor architectures respectively.

[0180] In a possible implementation, the acquiring unit 1810 is specifically configured to:

[0181] After the source code of the target project is obtained through the general pipeline tool, the file information associated with the target project is obtained from the correspondence between the pre-stored project and the file information.

[0182] In a possible implementation, the compiling unit 1820 is specifically configured to:

[0183] For each of the multiple processor architectures, perform the following operations:

[0184] Through the universal pipeline tool, based on the public configuration file and the difference sub-files associated with the processor architecture, the source code of the target project is compiled to obtain the project deployment file associated with the processor architecture;

[0185] The project deployment file at least includes: a configuration template and a target image file; wherein the target image file carries an executable file associated with the target project, and the configuration template is used to provide a running environment for the executable file.

[0186] In a possible implementation, the project management device further includes a storage unit 1830;

[0187] The storage unit 1830 is used to uniformly store the project deployment files associated with the multiple processor architectures in a designated first storage container.

[0188] In a possible implementation, if the target project includes multiple services, the file information includes at least: public configuration files and multi-architecture difference files respectively set for the multiple services;

[0189] The acquisition unit 1810 is specifically used to: after acquiring the source code of the target project through the general pipeline tool, acquire the file information associated with each of the multiple services from the correspondence between the services and the file information associated with the project stored in advance;

[0190] Among them, each public configuration file is used to store common configuration information between multiple processor architectures under the corresponding service; each multi-architecture difference file includes: under the corresponding service, difference sub-files that match each processor architecture in the multiple processor architectures respectively, and each difference sub-file is used to store service deployment information supported by a processor architecture.

[0191] In a possible implementation, the compiling unit 1820 is specifically configured to:

[0192] For each of the multiple services, perform the following operations:

[0193] Through the universal pipeline tool, based on the public configuration file and the difference sub-files associated with each of the multiple processor architectures, the source code of the service is compiled and processed respectively to obtain the service deployment files associated with each of the multiple processor architectures;

[0194] Among them, each service deployment file includes at least: a configuration template associated with the service and a target image file associated with the service under the corresponding processor architecture; wherein the target image file carries an executable file associated with the service, and the configuration template is used to provide a running environment for the executable file.

[0195] In a possible implementation, the storage unit 1830 is specifically used to uniformly store service deployment files associated with multiple processor architectures under the same service in a designated second storage container.

[0196] In a possible implementation, the project management device further includes a transmission unit 1840, and the transmission unit 1840 is specifically used for:

[0197] Obtaining a deployment instruction triggered by a target object for a target project; wherein the deployment instruction carries at least a target processor architecture;

[0198] Based on the target processor architecture, obtain the target project deployment file associated with the target processor architecture;

[0199] Transfer the acquired target project deployment file to the target object.

[0200] In a possible implementation, the transmission unit 1840 is specifically configured to: if the deployment instruction also carries the target service included in the target project, then based on the target processor architecture, obtain the target service deployment file from the service deployment file associated with the target project.

[0201] In a possible implementation, the transmission unit 1840 is specifically configured to:

[0202] If it is determined that there is at least one other service associated with the target service based on the preset service association relationship, a first service deployment file associated with the target processor architecture is obtained from the second storage container associated with the target service, and a second service deployment file associated with the target processor architecture is obtained from the second storage container associated with at least one other service, and the first service deployment file and the second service deployment file are used together as the target service deployment file;

[0203] If it is determined based on the preset service association relationship that there are no other services associated with the target service, a first service deployment file associated with the target processor architecture is obtained from the second storage container associated with the target service, and the first service deployment file is used as the target service deployment file.

[0204] In one possible implementation, the multi-architecture difference file adopts a dockerfile file, and the difference sub-file is a dockerfile sub-file, each dockerfile sub-file includes at least: a base image supported by a processor architecture matching the dockerfile sub-file, a deployment software package, and an image building instruction.

[0205] In a possible implementation, the compiling unit 1820 is specifically configured to:

[0206] For each processor architecture in the multi-processing architecture, perform the following operations:

[0207] Determine the Dockerfile subfile associated with the processor architecture, and determine the base image, deployment software package, and image build instructions stored in the Dockerfile subfile;

[0208] According to the image building instructions and the operating system information defined in the base image, the source code of the target project is compiled into an executable file, and the deployment software package and the executable file are packaged to obtain the target image file associated with the processor architecture;

[0209] On the basis of the target image file, a configuration template determined based on a public configuration file is added to obtain a project deployment file associated with the processor architecture.

[0210] It should be noted that although several units (or modules) of the device are mentioned in the above detailed description, this division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more units (or modules) described above can be concretized in one unit (or module). Conversely, the features and functions of one unit (or module) described above can be further divided into multiple units (or modules) for concretization. Of course, when implementing the present application, the functions of each unit (or module) can also be implemented in the same one or more software or hardware.

[0211] After introducing the project management method and apparatus according to an exemplary embodiment of the present application, another exemplary embodiment of the present application, a computing device, is introduced next.

[0212] Those skilled in the art will appreciate that various aspects of the present application may be implemented as a system, method or program product. Therefore, various aspects of the present application may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to as "circuit", "module" or "system" herein.

[0213] In a possible implementation, the computing device provided in the embodiment of the present application may include at least a processor and a memory, wherein the memory stores a program code, and when the program code is executed by the processor, the processor executes any step of the project management method of various exemplary embodiments in the present application.

[0214] In this embodiment, the structure of the computing device can be as follows Fig.19 As shown, it includes a memory 1901 , a communication module 1903 and one or more processors 1902 .

[0215] The memory 1901 is used to store computer programs executed by the processor 1902. The memory 1901 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system and programs required for running the instant messaging function, etc.; the data storage area may store various instant messaging information and operation instruction sets, etc.

[0216] The memory 1901 may be a volatile memory, such as a random-access memory (RAM); the memory 1901 may also be a non-volatile memory, such as a read-only memory, a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD); or the memory 1901 may be any other medium that can be used to carry or store a desired computer program in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1901 may be a combination of the above memories.

[0217] The processor 1902 may include one or more central processing units (CPU) or a digital processing unit, etc. The processor 1902 is used to implement the above-mentioned project management method when calling the computer program stored in the memory 1901 .

[0218] The communication module 1903 is used to communicate with terminal devices and other servers.

[0219] The specific connection medium between the memory 1901, the communication module 1903 and the processor 1902 is not limited in the embodiment of the present application. Fig.19 In the embodiment, the memory 1901 and the processor 1902 are connected via a bus 1904. The bus 1904 is Fig.19The connections between the other components are only for illustration and are not intended to be limiting. The bus 1904 can be divided into an address bus, a data bus, a control bus, etc. For ease of description, Fig.19 The diagram shows that only one thick line is used, but this does not mean that there is only one bus or one type of bus.

[0220] The memory 1901 stores a computer storage medium, and the computer storage medium stores computer executable instructions, and the computer executable instructions are used to implement the project management method of the embodiment of the present application. The processor 1902 is used to execute the above-mentioned project management method.

[0221] In some possible implementations, various aspects of the project management method provided by the present application may also be implemented in the form of a program product, which includes program code. When the program product is run on a computing device, the program code is used to enable the computing device to execute the steps of the project management method according to various exemplary implementations of the present application described above in this specification.

[0222] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable 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 of the above.

[0223] The program product of the cross-chain transaction processing of the embodiment of the present application may adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a computing device. However, the program product of the present application is not limited to this. In this document, the readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with a command execution system, device or device.

[0224] The readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, wherein the readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable signal medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with a command execution system, apparatus, or device.

[0225] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.

[0226] Program code for performing the operations of the present application may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user equipment, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device via any type of network including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0227] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0228] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program commands. These computer program commands can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable cross-chain transaction processing device to generate a machine, so that the commands executed by the processor of the computer or other programmable cross-chain transaction processing device generate commands for implementing the processes in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0229] These computer program commands may also be stored in a computer-readable memory that can direct a computer or other programmable cross-chain transaction processing device to operate in a specific manner, so that the commands stored in the computer-readable memory produce a manufactured product including a command device that implements the process Figure 1A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0230] These computer program commands can also be loaded onto a computer or other programmable cross-chain transaction processing device, so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the commands executed on the computer or other programmable device provide for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0231] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.

[0232] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A project management method, characterized in that: The method comprises: Obtain file information associated with the target project; the file information at least includes: a common configuration file and a multi-architecture difference file; wherein the common configuration file is used to store common configuration information between multiple processor architectures; the multi-architecture difference file includes: a difference sub-file that matches each processor architecture in the multiple processor architectures, each of the difference sub-files is used to store project deployment information supported by a processor architecture; Based on the common configuration file and the multi-architecture difference file, the source code of the target project is compiled to obtain project deployment files associated with each of the multiple processor architectures.

2. The method according to claim 1, characterized in that The obtaining of file information associated with the target project includes: After the source code of the target project is obtained through the general pipeline tool, the file information associated with the target project is obtained from the pre-stored correspondence between the project and the file information.

3. The method according to claim 1, characterized in that The compiling the source code of the target project based on the common configuration file and the multi-architecture difference file to obtain the project deployment files associated with each of the multiple processor architectures respectively includes: For each of the multiple processor architectures, perform the following operations respectively: Using a general pipeline tool, based on the public configuration file and the difference sub-file associated with the processor architecture, compile the source code of the target project to obtain a project deployment file associated with the processor architecture; The project deployment file at least includes: a configuration template and a target image file; wherein the target image file carries an executable file associated with the target project, and the configuration template is used to provide a running environment for the executable file.

4. The method according to claim 1, characterized in that After obtaining the project deployment files associated with the plurality of processor architectures respectively, the method further includes: The project deployment files associated with the multiple processor architectures are uniformly stored in a designated first storage container.

5. The method according to claim 1, characterized in that If the target project includes multiple services, the file information at least includes: public configuration files and multi-architecture difference files respectively set for the multiple services; The obtaining of file information associated with the target project includes: After the source code of the target project is obtained through a general pipeline tool, the file information associated with each of the multiple services is obtained from the correspondence between the services and the file information associated with the project stored in advance; Among them, each of the public configuration files is used to store common configuration information between multiple processor architectures under the corresponding service; each of the multi-architecture difference files includes: under the corresponding service, a difference sub-file that matches each processor architecture in the multiple processor architectures respectively, and each of the difference sub-files is used to store service deployment information supported by a processor architecture.

6. The method according to claim 5, characterized in that The source code of the target project is compiled based on the common configuration file and the multi-architecture difference file to obtain project deployment files associated with each of the multiple processor architectures, including: For each of the multiple services, perform the following operations respectively: Using a universal pipeline tool, based on the public configuration file and the difference sub-files associated with each of the multiple processor architectures, the source code of the service is respectively compiled to obtain service deployment files associated with each of the multiple processor architectures; Among them, each of the service deployment files includes at least: a configuration template associated with the service and a target image file associated with the service under the corresponding processor architecture; wherein the target image file carries an executable file associated with the service, and the configuration template is used to provide a running environment for the executable file.

7. The method according to claim 6, characterized in that After obtaining the service deployment files associated with each of the plurality of processor architectures, the method further includes: The service deployment files associated with the multiple processor architectures under the same service are uniformly stored in the designated second storage container.

8. The method according to any one of claims 1 to 7, characterized in that: After obtaining the project deployment files associated with the plurality of processor architectures, the method further includes: Obtaining a deployment instruction triggered by a target object for the target project; wherein the deployment instruction carries at least a target processor architecture; Based on the target processor architecture, obtaining a target project deployment file associated with the target processor architecture; The acquired target project deployment file is transmitted to the target object.

9. The method according to claim 8, characterized in that If the deployment instruction also carries a target service included in the target project, then based on the target processor architecture, a target service deployment file is obtained from the service deployment file associated with the target project.

10. The method according to claim 9, characterized in that The acquiring, based on the target processor architecture, a target service deployment file in a service deployment file associated with the target project, comprises: If it is determined that there is at least one other service associated with the target service based on the preset service association relationship, then obtaining a first service deployment file associated with the target processor architecture from a second storage container associated with the target service, and obtaining a second service deployment file associated with the target processor architecture from second storage containers associated with each of the at least one other service, and using the first service deployment file and the second service deployment file together as the target service deployment file; If it is determined based on the preset service association relationship that there are no other services associated with the target service, the first service deployment file associated with the target processor architecture is obtained from the second storage container associated with the target service, and the first service deployment file is used as the target service deployment file.

11. The method according to any one of claims 1 to 10, characterized in that: The multi-architecture difference file adopts a dockerfile file, and the difference sub-file is a dockerfile sub-file. Each of the dockerfile sub-files includes at least: a basic image supported by a processor architecture matching the dockerfile sub-file, a deployment software package, and an image building instruction.

12. The method according to claim 11, characterized in that The compiling the source code of the target project based on the common configuration file and the multi-architecture difference file to obtain the project deployment files associated with each of the multiple processor architectures respectively includes: For each processor architecture in the multi-processing architecture, perform the following operations respectively: Determine a Dockerfile sub-file associated with the processor architecture, and determine a base image, a deployment software package, and an image building instruction stored in the Dockerfile sub-file; According to the image building instruction and the operating system information defined in the base image, the source code of the target project is compiled into an executable file, and the deployment software package and the executable file are packaged to obtain a target image file associated with the processor architecture; On the basis of the target image file, a configuration template determined based on the public configuration file is added to obtain a project deployment file associated with the processor architecture.

13. A project management device, characterized in that: The device comprises: An acquisition unit is used to acquire file information associated with a target project; the file information at least includes: a common configuration file and a multi-architecture difference file; wherein the common configuration file is used to store common configuration information between multiple processor architectures; the multi-architecture difference file includes: a difference sub-file that matches each processor architecture in the multiple processor architectures, each of which is used to store project deployment information supported by a processor architecture; The compiling unit is used to compile the source code of the target project based on the common configuration file and the multi-architecture difference file, and obtain the project deployment files associated with each of the multiple processor architectures.

14. A computing device, characterized in that The computing device comprises: a processor and a memory, wherein: The memory is used to store computer programs; The processor is used to execute the computer program to implement the method according to any one of claims 1 to 12.

15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 12 is implemented.

16. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 12 when executed by a processor.

Citation Information

Patent Citations

  • Application deployment method and device of PaaS platform, server and storage medium

    CN108551487A

  • Environment data management system, environment deployment method and device and storage medium

    CN110543330A

  • Code editing method and device based on cloud native program development and deployment

    CN111857694A

  • Method and device for deploying cloud native application

    CN115421740A

Cited By

  • General configuration method and system for electronic design automation tool and related equipment

    CN120850945A

  • Universal configuration method, system and related devices for electronic design automation tools

    CN120850945B