Application deployment method, device and equipment
By using the component orchestration interface in application development, multiple components orchestrate into a same container component and run in one container during deployment, the problem of low container resource occupancy is solved and the application fluency and efficiency is improved.
Patent Information
- Application Number
- CN202410458081.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-27
- Filing Date
- 2024-04-16
- Publication Date
- 2025-06-27
AI Technical Summary
During application development and deployment, since containers need to occupy a large amount of resources during startup, the server resource occupancy rate is reduced, affecting the smoothness and efficiency of the application.
By providing a component orchestration interface, users can orchestrate multiple components into a same container component and run these components in one container during deployment, reducing the number of container deployments and improving resource utilization.
By reducing the number of container deployments, it reduces resource usage, improves access efficiency between components, and improves application fluency and operation speed.
Smart Images

Figure CN120215914A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of IT technologies, and in particular, to an application deployment method, apparatus, and device. Background Art
[0002] Application orchestration service is a technology for developing applications through graphical orchestration. When using the application orchestration service, users can orchestrate multiple components and configure parameters for each component through simple operations such as dragging and dropping to complete the development of the application.
[0003] After the application is developed, the server can deploy the application based on each component in the application. The server can create a container corresponding to each component, and the container runs the corresponding component. However, since the container needs to occupy a certain amount of resources when starting up, the server needs to allocate resources for each container when starting the container. In this way, the application will occupy a large amount of resources, reducing the resource utilization rate. Summary of the Invention
[0004] The present application provides an application deployment method, apparatus, and device, which can reduce the number of deployed containers, thereby reducing resource occupancy.
[0005] In a first aspect, the present application provides an application deployment method. In this method, a component orchestration interface can be provided. The component orchestration interface includes: a component selection area and a component orchestration area. The component selection area includes: co-container components and multiple preset components. The co-container components are used to indicate that multiple preset components associated with itself run in the same container. The component orchestration area is used to provide an operation area for users to orchestrate components. The multiple preset components include business components and / or logic components. Then, in response to the user's operation in the component orchestration area, a first co-container component can be created in the component orchestration area, and multiple first preset components associated with the first co-container component can be determined. The multiple preset components include the multiple first preset components. Then, in response to the received application deployment request, a target application including the multiple first preset components is deployed, where the multiple first preset components run in a first container corresponding to the first co-container component.
[0006] Based on the above technical solution, multiple first preset components can be orchestrated through the first co-container component, and the first co-container component and the multiple first preset components can both run in the same container. In this way, when deploying the application, the server can load multiple components through one container, reducing the number of deployed containers, thereby reducing the amount of resources occupied by the containers. And, since the multiple first preset components all correspond to the first container, it means that one container can run multiple components, enabling the multiple components to be accessed in memory in the container, thereby improving the access efficiency between components and further enhancing the fluency of the application.
[0007] In combination with the first aspect, in a possible design, in response to the received application release request, a target application is generated according to all components in the component orchestration area, and all components include co-container components and multiple first preset components.
[0008] In combination with the first aspect, in another possible design, the component orchestration interface further includes: a component configuration area. Obtain the size of the target resource amount from the component configuration area corresponding to the first co-container component, where the target resource amount is the resource amount required by the first container corresponding to the first co-container component. Allocate the target resource amount to the first container.
[0009] It can be understood that since the first co-container component includes multiple first preset components, when creating the first container, the target resource amount can be allocated to the first container based on the deployment parameters in the first co-container component to ensure that the first container can run multiple first preset components. And since multiple first preset components run in one first container, there is no need to separately allocate the resource amount at startup for the container of each component, thereby reducing the number of resources occupied by the containers.
[0010] In combination with the first aspect, in another possible design, each first preset component is decompressed to obtain the decompressed file corresponding to each first preset component. After that, all the decompressed files corresponding to the multiple first preset components can be compressed to obtain a fusion component, and a target application is generated according to the fusion component.
[0011] It can be understood that by fusing multiple first preset components to obtain a fusion component, when deploying the first container, only the fusion component needs to be loaded, so that the first container can run multiple first preset components to reduce the number of deployed containers.
[0012] In combination with the first aspect, in another possible design, the interfaces of the called first preset components can be updated to the interfaces of the fusion component.
[0013] In this way, when other components call the first preset component, they can call the fusion component to implement the functions of the first preset component and complete the parameter transfer.
[0014] In combination with the first aspect, in another possible design, a target application can be generated according to all components in the component orchestration area and the connection relationships between the components in all components.
[0015] In combination with the first aspect, in another possible design, all components include: multiple first preset components; the connection relationships between the components in all components include: the connection relationships between the first preset components.
[0016] In combination with the first aspect, in another possible design method, all components also include: at least one second preset component, the second preset component is any component among multiple preset components, and the second preset component is outside the first container component; the connection relationship between each component in all components also includes: the connection relationship between the second preset component and the edge component, and the edge component is a component among multiple first preset components that has a connection relationship with the second preset component.
[0017] That is to say, the component arrangement area includes not only the first preset component but also the second preset component.
[0018] In combination with the first aspect, in another possible design mode, at least one second preset component includes: at least one third preset component, the edge component includes: an edge input component, and the third preset component is a component that passes parameters to the edge input component. The output parameters of each third preset component can be obtained. Afterwards, the output parameters of each third preset component can be aggregated to obtain an input parameter set of the first container component. Then, according to the connection relationship between each third preset component and the edge input component, a mapping relationship between each parameter in the input parameter set and the input parameter of the edge input component can be established.
[0019] It can be understood that by establishing a mapping relationship between each parameter in the input parameter set and the input parameter of the edge input component, it can be ensured that parameters can be normally transmitted between containers when the application is running.
[0020] In combination with the first aspect, in another possible design mode, at least one second preset component further includes: at least one fourth preset component, and the edge component further includes: an edge output component, which is a component that transmits parameters to the fourth preset component. The output parameters of each edge output component can be obtained. Afterwards, the output parameters of each edge output component are aggregated to obtain an output parameter set of the first container component. Then, according to the connection relationship between each fourth preset component and the edge output component, a mapping relationship between each parameter in the output parameter set and the input parameter of the fourth preset component is established.
[0021] It can be understood that by establishing a mapping relationship between each parameter in the output parameter set and the input parameter of the fourth preset component, it can be ensured that parameters can be normally transmitted between containers when the application is running.
[0022] In combination with the first aspect, in another possible design manner, when the first container is running, parameters are passed between multiple first preset components through a target data structure, and the target data structure is a data structure used in the memory.
[0023] In this way, since the speed of passing parameters in memory is relatively fast, passing parameters among multiple first preset components through the target data structure in memory can improve the data transfer efficiency, reduce the latency, and thus improve the running speed of the application.
[0024] In a second aspect, the present application provides an application deployment device, including: a processing module, configured to create a first same-container component in the component orchestration area in response to a user's operation in the component orchestration area, and determine a plurality of first preset components associated with the first same-container component, where the plurality of preset components include the plurality of first preset components. The processing module is configured to deploy a target application including the plurality of first preset components in response to an application deployment request received, where the plurality of first preset components run in a first container corresponding to the first same-container component.
[0025] In a third aspect, the present application provides a computing device cluster, which includes at least one computing device, and each computing device includes a processor and a memory. The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method described in the first aspect and any of its possible design manners.
[0026] In a fourth aspect, the present application provides a computer-readable storage medium, which includes computer instructions, and when the computer instructions run on an electronic device, the electronic device is caused to execute the method described in the first aspect and any of its possible design manners.
[0027] In a fifth aspect, the present application provides a computer program product, and when the computer program product runs on an electronic device, the electronic device is caused to execute the method described in the first aspect and any of its possible design manners.
[0028] In a sixth aspect, the present application provides a chip system, which is applied to an electronic device. The chip system includes one or more interface circuits and one or more processors. The interface circuits and the processors are interconnected by lines. The interface circuit is configured to receive a signal from the memory of the electronic device and send the signal to the processor, and the signal includes computer instructions stored in the memory. When the processor executes the computer instructions, the electronic device executes the method described in the first aspect and any of its possible design manners.
[0029] It can be understood that the beneficial effects that can be achieved by the application deployment device described in the second aspect, the computing device cluster described in the third aspect, the computer-readable storage medium described in the fourth aspect, the computer program product described in the fifth aspect, and the chip system described in the sixth aspect can refer to the beneficial effects in the first aspect and any of its possible design manners, and will not be elaborated here. Description of the Drawings
[0030] Figure 1 An example schematic diagram of component orchestration provided by an embodiment of the present application;
[0031] Figure 2 A composition schematic diagram of an application deployment system provided by an embodiment of the present application;
[0032] Figure 3 A system architecture schematic diagram of an application deployment platform provided by an embodiment of the present application;
[0033] Figure 4 A flowchart of an application deployment method provided by an embodiment of the present application;
[0034] Figure 5 Another example schematic diagram of component orchestration provided by an embodiment of the present application;
[0035] Figure 6 Another example schematic diagram of component orchestration provided by an embodiment of the present application;
[0036] Figure 7 Another example schematic diagram of component orchestration provided by an embodiment of the present application;
[0037] Figure 8 An example schematic diagram of component configuration provided by an embodiment of the present application;
[0038] Figure 9 Another flowchart of an application deployment method provided by an embodiment of the present application;
[0039] Figure 10 An example schematic diagram of an application deployment method provided by an embodiment of the present application;
[0040] Figure 11 Another flowchart of an application deployment method provided by an embodiment of the present application;
[0041] Figure 12 An example schematic diagram of an application deployment interface provided by an embodiment of the present application;
[0042] Figure 13 An example schematic diagram of running multiple components in a container provided by an embodiment of the present application;
[0043] Figure 14 A composition schematic diagram of an application deployment device provided by an embodiment of the present application;
[0044] Figure 15 A structure composition schematic diagram of a computing device provided by an embodiment of the present application;
[0045] Figure 16Schematic diagram of the structural composition of a computing device cluster provided by an embodiment of the present application;
[0046] Figure 17 Another schematic diagram of the structural composition of a computing device cluster provided by an embodiment of the present application. Detailed implementation manners
[0047] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0048] In the present application, the character " / " generally indicates an "or" relationship between the associated objects before and after. For example, A / B can be understood as A or B.
[0049] The terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of this embodiment, unless otherwise stated, the meaning of "a plurality" is two or more.
[0050] In addition, the terms "including" and "having" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or modules is not limited to the listed steps or modules, but optionally further includes other unlisted steps or modules, or optionally further includes other steps or modules inherent to these processes, methods, products, or devices.
[0051] In addition, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the present application should not be construed as being more preferred or more advantageous than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present concepts in a specific manner.
[0052] To facilitate the understanding of the technical solutions of the present application, before introducing the method for obtaining depth images in the embodiments of the present application in detail, the professional terms mentioned in the embodiments of the present application will be introduced first.
[0053] 1. Application orchestration is a graphical orchestration technology. Users can perform secondary development on applications through simple operations such as dragging and dropping, as well as parameter configuration, and support recombining and orchestrating the developed applications, thereby improving application development efficiency. Moreover, after the application orchestration is completed, users can publish the orchestrated application in the form of a service and provide services externally in the form of an application programming interface (API).
[0054] 2. The canvas is the carrier of application orchestration. On the canvas, users can use the dragging and dropping method to orchestrate various functional components, configure the component parameter values, and display the secondary developed application in the form of a process.
[0055] 3. A component is a basic building block in low-code development and can be composed of certain business logic and related data. A component can complete specific functions. For example, a video playback component can complete the function of playing a video, and a video decoding component can complete the function of decoding a video. An application (APP) can be composed of one or more components. A component can have a user interface or not.
[0056] For example, a video decoding component can have no user interface, that is, the process of the electronic device decoding the video through the video decoding component may not be displayed in the user interface and the user is not aware of it. A single component can run independently on the user device. For example, a video playback component can be installed in a TV, and then the TV plays the video through this video playback component. Again, a component can be a user interface (UI) element, such as a button, a text box, a table, or a part of business logic, such as data processing, process control, etc.
[0057] Each component includes a component body and several connection points (input connection points or output connection points). A component realizes data transfer with other components through the connection points. Usually, a component includes at least one input connection point and / or at least one output connection point. Or, some components may also have no connection points, that is, such components have no input connection points and output connection points. In the embodiments of the present application, the components that can be used to form an application include at least one connection point.
[0058] Among them, the connection point is the external intelligent interface of the component, that is, the agent that realizes the input or output function, and is responsible for interface protocol inspection, negotiation docking, data transfer, etc. with other connection points. The connection point is the way for the component to receive input data from another component and is also the way for the component to output data to another component. The connection point includes an input connection point or an output connection point. Usually, each connection point can support one or more types of data entities Entity. The data entities supported by the connection point can be images, audio, video, text, etc.
[0059] After introducing the professional terms mentioned in the embodiments of the present application, the following introduces the conventional technologies.
[0060] With the advancement of the industrial digitalization process, the business scenarios of application orchestration have gradually become rich, and the types and quantities of components required by applications have also increased accordingly. During the process of developing an application, a user may need a relatively large number of components to complete the development of an application. Currently, the user can perform operations such as simple dragging and dropping to orchestrate and combine multiple components and configure parameters for each component to complete the development of the application. When deploying the application, the server can create a container corresponding to each component, and the container runs the service corresponding to the component.
[0061] Exemplarily, as Figure 1 shown, the canvas 101 includes component a, component b, and component c (all are platform components, that is, components provided by the platform). When deploying application a composed of component a, component b, and component c, the server can respectively deploy container A corresponding to component a, container B corresponding to component b, and container C corresponding to component c, and then start the containers corresponding to each component included in application a, so that when using the deployed application a, the components included in the application can be called from the containers to implement the functions of the application.
[0062] However, since the container needs to create an independent running environment when starting, it causes the container to occupy a certain amount of resources when starting. In this way, a large amount of resources of the server are occupied even when the user does not use the application, reducing the resource utilization rate. For example, as shown in Figure 1 it can be seen that when the server starts container a, container b, and container c, a certain amount of resources need to be allocated to each container. Moreover, when using the deployed application, data needs to be transmitted between the containers through the network to complete the mutual cooperation between the containers. However, the communication between the containers is affected by network topology, network bandwidth, network load, etc., which may cause delays in data transmission between the containers.
[0063] In summary, in the above technical solution, when the number of components is large, it will not only cause the number of containers to increase, thus occupying a large amount of server resources, but also result in a high data transmission delay between containers, causing the application to freeze, thereby affecting the user experience.
[0064] To this end, an embodiment of the present application provides an application deployment method. In this method, the server can provide a component orchestration interface, which includes a component selection area and a component orchestration area. The component selection area includes: co-container components and multiple preset components. The co-container components are used to indicate that multiple preset components associated with itself run in the same container, and the first co-container component corresponds to the first container. After that, in response to a selection operation on the first co-container component, the electronic device can display the first co-container component in the component orchestration area. And in response to a selection operation on multiple first preset components among the multiple preset components, the multiple first preset components are displayed in the first co-container component, and the multiple first preset components correspond to the first container. Then, in response to an application publishing operation, the electronic device sends an application publishing request to the server. The server can obtain all the components in the component orchestration area from the component orchestration interface and generate a target application.
[0065] That is to say, multiple first preset components can be orchestrated through the first co-container component, and both the first co-container component and the multiple first preset components can run in the same container. In this way, when deploying an application, the server can load multiple components through one container, reducing the number of deployed containers, thereby reducing the resource consumption of the containers. And since the multiple first preset components all correspond to the first container, it means that one container can run multiple components, enabling multiple components to be accessed in the container through memory, thereby improving the access efficiency between components and further enhancing the fluency of the application.
[0066] The implementation environment of the embodiment of the present application will be introduced below.
[0067] As Figure 2 shown, an application deployment system provided by an embodiment of the present application includes: a computing device cluster 201 and at least one electronic device (such as electronic device 202). The computing device cluster 201 can communicate with the electronic device 202 wirelessly / wiredly.
[0068] Among them, the computing device cluster 201 can be connected by a set of loosely integrated computer software or hardware to highly closely collaborate to complete computing tasks, or the computing device cluster 201 can be regarded as a single computer. A single computer in the computing device cluster 201 is usually called a node, and the nodes can be connected through a local area network, high-speed interconnection, remote direct memory access (RDMA), distributed shared memory, etc. The computing device cluster 201 can include one or more clusters such as a high-availability cluster, a load-balancing cluster, a high-performance computing cluster, and a high-availability cluster. The computing device cluster 201 can include: hardware resources (such as servers, memories, central processing units (CPUs), etc.) and service resources (such as software, integrated development environments, etc.).
[0069] The electronic device in the embodiments of the present application can be a tablet computer, a mobile phone, a handheld computer, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, as well as a cellular phone, a personal digital assistant (PDA), an augmented reality (AR) / virtual reality (VR) device, a vehicle-mounted device, etc. The embodiments of the present application do not impose special restrictions on the specific form of the electronic device.
[0070] In the embodiments of the present application, the computing device cluster 201 can be used to provide application development and deployment services, that is, to orchestrate and combine different components to generate new applications. For example, an application deployment platform (or application development software) is deployed in the computing device cluster 201, and the application deployment platform is used to orchestrate and combine components to generate applications. The computing device cluster 201 can receive an application generation instruction from the electronic device 202, where the application generation instruction is used to indicate generating an application through multiple components, and the computing device cluster 201 can generate an application based on the application generation instruction. Moreover, the computing device cluster 201 can receive a deployment instruction from the electronic device 202 and deploy the application.
[0071] The electronic device 202 can log in to the application deployment platform and provide a visual interface. The electronic device 202 can receive the user's application management operations to combine the user operations to instruct the computing device cluster 201 to execute instructions for managing applications. For example, the electronic device 202 can display the interface of the application deployment platform, and the user can operate on the interface of the application deployment platform, and the electronic device 202 can send development instructions or deployment instructions, etc. to the computing device cluster 201 to instruct the computing device cluster 201 to execute corresponding tasks.
[0072] After introducing the implementation environment of the embodiments of the present application, the application deployment platform deployed in the computing device cluster 201 will be introduced below.
[0073] As Figure 3 shown, a kind of application deployment platform (which can also be called an application deployment platform) provided by the embodiments of the present application includes: a user interface (UI) module, a canvas management module, a component management module, and a running management module.
[0074] Among them, the UI module is used to display a canvas on the UI. The canvas includes: a component selection area and a component arrangement area. The component selection area is used to provide components to be arranged for users. The component selection area may include multiple preset components. The component arrangement area is used to display the components selected by users. The UI module is also used to receive user operations and execute corresponding instructions. For example, the UI module can receive operations such as dragging and dropping components in the component selection area and display the components operated by users in the component arrangement area. For another example, the UI module may also include controls (such as configuration controls). The configuration control is used to receive user configuration operations on components, configure the components, and display the configuration information of the components on the UI. For another example, the UI module can receive user custom component operations and generate new components.
[0075] Optionally, the canvas may further include: a component configuration area, which is used to set parameters of components, such as input parameters, output parameters, deployment parameters, etc.
[0076] The canvas management module can provide multiple interfaces: such as a management interface, a monitoring interface, a publishing interface, and a deployment interface. Among them, the management interface is used to implement operations such as adding and deleting components in the canvas. The monitoring interface is used to implement monitoring of changes in components in the canvas (such as changes in quantity and relationships). The publishing interface is used to publish the components in the canvas as an application. The deployment interface is used to deploy the components in the canvas.
[0077] The component management module is used to manage the components in the application deployment platform. For example, multiple components can be stored in the component management module, such as custom components (e.g., Python components), image components, in-container components, algorithm package components, component-pulled image templates (referred to as image templates for short), etc. Among them, the custom components are components independently developed by users. The image components are components corresponding to the already created image files. The algorithm package components are components including multiple code blocks and dependency packages. The component-pulled image templates are used to provide image files for other components except the image components, so that the application deployment platform can load the components based on the image files and create containers. Moreover, the component management module may further include: a management interface, a deployment interface, and a model loading interface. The management interface is used to manage the components in the component management module (such as adding, deleting, etc.). The deployment interface is used to deploy the components in the component management module. The model loading interface is used to load the models in the model library.
[0078] The operation management module is used to manage the operation of the application. For another example, the operation management module can be used to deploy the components in the canvas, that is, to deploy each component in the canvas in the form of a container, so that the container runs the component to provide the service of the component. For another example, the operation management module can be used to deploy the components in the component management module. For another example, the operation management module can manage the deployment process, such as the deployment location (such as deploying the application on a server in the computing device cluster 201). For another example, the operation management module can also monitor the running status of the application in real time, such as whether the application is running abnormally. For another example, the operation management module can also record the running logs of the application, such as an abnormality occurs during the operation at a certain moment. For another example, the operation management module can also perform quota management on the components in the canvas, such as increasing the number of components that can be orchestrated in the canvas. For another example, the operation management module can also perform elastic scaling, such as increasing the number of CPU cores, upgrading the network card, upgrading the hard disk, etc.
[0079] Optionally, the application deployment platform may further include a model management module. The model management module can be used to store multiple models. Among them, the model can be a model uploaded by the user, or the model can be a model obtained by training through the application deployment platform.
[0080] It should be noted that the execution subject of the application deployment method provided in this application can be an application deployment device, and the application deployment device can be a computing device cluster. The computing device cluster can be one or more server clusters composed of multiple servers. Or, the computing device cluster can also be a distributed cluster. Or, the multiple servers in the computing device cluster can be cloud servers. The specific implementation manner of the computing device cluster in the embodiments of this application is not limited.
[0081] Meanwhile, the application deployment device may also be the central processing unit (CPU) of the computing device cluster, or the module for developing applications in the computing device cluster, or the application deployment platform deployed in the computing device cluster. Alternatively, the application deployment device may be a server (such as a physical server or a cloud server) in the computing device cluster. Alternatively, the application deployment device may further include an electronic device that logs in to an application deployment platform (or application deployment software). In the following embodiments, the application deployment method provided by the embodiments of the present application is described by taking a server and an electronic device executing the application deployment method as an example.
[0082] In the embodiments of the present application, the application deployment method may be divided into Step 1 and Step 2. Step 1 is that the user develops an application through the component orchestration interface displayed on the electronic device, and Step 2 is that the server develops the application through the components configured in the orchestration interface.
[0083] First, the process of Step 1, that is, the user develops an application through the component orchestration interface displayed on the electronic device, will be introduced. In Step 1, the electronic device may log in to the application deployment platform deployed on the server and display the component orchestration interface. After that, the user may input operations on the electronic device to control the electronic device to put multiple components into one component and publish the application.
[0084] The embodiments of the present application provide an application deployment method. As Figure 4 shown, the application deployment method may include:
[0085] S401. The electronic device displays a component orchestration interface.
[0086] Among them, the component orchestration interface includes a component selection area and a component orchestration area. The component selection area is used to provide the components to be orchestrated for the user. The component selection area includes multiple preset components. The component orchestration area is used to display the components selected by the user. The component orchestration area is used to provide an operation area for the user to orchestrate the components.
[0087] In a possible design, the preset components may include business components and / or logic components. Among them, the business component is a component that can execute business functions, and the logic component is a component that can execute logic functions.
[0088] It should be noted that the business component refers to a reusable module designed and developed to achieve specific business functions. The business component can exist independently and has clear inputs, processes, and outputs, so as to be able to complete specific business tasks. The logic component usually encapsulates a set of closely related logical operations, enabling developers to call and manage these operations more conveniently, thereby improving the maintainability and reusability of the code.
[0089] In the embodiments of the present application, the component selection area may further include: a same-container component, which is used to indicate that a plurality of preset components associated with itself run in the same container. Wherein, the same-container component is a component pre-developed by the application deployment platform.
[0090] In some embodiments, before the electronic device displays the component orchestration interface, the electronic device may create the component orchestration interface. The electronic device may receive a user's operation for creating the orchestration interface, and in response to the operation for creating the orchestration interface, the electronic device may display the component orchestration interface.
[0091] Exemplarily, the electronic device may display the home page interface of the application deployment platform, and the home page interface includes an application development option. The operation for creating the orchestration interface may be an operation of the user on the application development option (such as a click operation). For another example, the operation for creating the orchestration interface may be an operation input by the user in a voice manner, such as a voice command entered by the user "Please create a component orchestration interface".
[0092] Optionally, the electronic device may receive an interface configuration operation, and in response to the interface configuration operation, the electronic device may set the configuration information of the component orchestration interface. The configuration information of the component orchestration interface may include: the name of the component orchestration interface, the description information of the component orchestration interface, etc.
[0093] Among them, the name of the component orchestration interface may identify the component orchestration interface, and the description information of the component orchestration interface may be used to introduce information such as the function and version of the component orchestration interface.
[0094] Exemplarily, the component orchestration interface may include: a name input box and a description information input box. In response to the user's operation of entering "orchestration interface of application a" in the name input box and entering "used to implement computing function" in the description information input box, the name of the component orchestration interface is set to "orchestration interface of application a", and the description information is "used to implement computing function".
[0095] S402. In response to the selection operation on the same-container component, the electronic device displays a first same-container component in the component orchestration area.
[0096] Among them, the first same-container component corresponds to the first container.
[0097] It should be understood that the first same-container component corresponding to the first container means that the first same-container component corresponds to the first image file corresponding to the first container, and after creating the first container through the first image file, the first container can run the first same-container component. The first same-container component is a logical component.
[0098] In a possible implementation, in response to a selection operation on a same-container component, the electronic device displays a first same-container component in the component layout area in the form of a dotted box or a solid box.
[0099] It should be noted that the embodiments of the present application do not limit the selection operation. For example, the selection operation can be a click operation. For another example, the selection operation can be operations such as dragging, pulling, and tugging. The embodiments of the present application do not limit the shape of the dotted box or the solid box. For example, the dotted box can be displayed in the component layout area in shapes such as a rectangle, a square, or a circle.
[0100] In an exemplary case, as Figure 5 shown, the canvas 501 (i.e., the component layout interface) may include: a component selection area 502 (such as a component tree) and a component layout area 503. The component selection area 502 may include: platform components (such as input components, output components, same-container components (i.e., same-container components, such as DEPLOY-TOGETHER), etc.), business components, application components, custom components, etc. In response to a user's dragging operation on the same-container component 504, the electronic device displays the same-container component 504 in the canvas 501.
[0101] Optionally, in response to multiple selection operations on the same-container component, the electronic device may display multiple first same-container components in the component layout area.
[0102] S403. In response to a selection operation on multiple first preset components, the electronic device displays the multiple first preset components in the first same-container component.
[0103] Wherein, the first preset component is any one of multiple preset components, and the multiple first preset components correspond to the first container.
[0104] It should be understood that the multiple first preset components corresponding to the first container means that the multiple first preset components correspond to the first mirror file corresponding to the first container, and after creating the first container through the first mirror file, the first container can run the multiple first preset components. That is to say, the first container can run the multiple first preset components.
[0105] In this way, by sharing a single container for the multiple first preset components, there is no need to create a container for each first preset component, which can reduce the resources occupied by the containers and improve the resource utilization rate.
[0106] It should be noted that the embodiments of the present application do not limit the number of the first preset components. For example, the number of the first preset components can be 3, 5, 8, etc. The embodiments of the present application do not limit the type of the first preset components. For example, the first preset component can be a platform component, a business component, a custom component, etc.
[0107] Exemplarily, in combination with Figure 5 , such as Figure 6 shown, in response to the user's drag - and - drop operations on business component A, business component B, and custom component A (the above - mentioned components are all in the component selection area, Figure 6 not shown in the figure), the electronic device displays business component A, business component B, and custom component A in the same container component 504.
[0108] In some embodiments, after displaying a plurality of first same - container components in the component arrangement area, the electronic device can receive an arrangement operation on the plurality of first preset components. In response to the arrangement operation on the plurality of first preset components, the electronic device can establish a connection relationship between the plurality of first preset components. And, the electronic device can display the connection relationship between the plurality of first preset components.
[0109] Exemplarily, in combination with Figure 6 it can be known that there is a connection relationship between business component A and business component B, there is a connection relationship between business component B and custom component A, there is a connection line (the connection line can have an arrow or no arrow) between business component A and business component B, and there is a connection line between business component B and custom component A.
[0110] It should be noted that the arrangement operation can include: connection operations between components, adjustment operations of the connection relationship between components (that is, changing the connection relationship between components). The embodiments of the present application do not limit the implementation manner of the arrangement operation. For example, the user can implement the arrangement operation on the component by operating on the component itself, such as clicking any position of the component in the component arrangement area. For another example, the user can implement the arrangement operation on the component by operating on the connection point of the component, such as clicking the connection point of the component. For another example, the user can implement the arrangement operation on the component by inputting the connection relationship, such as there is an input box in the component arrangement area, and the input box is used to set the connection relationship between components (such as inputting "establish the relationship between business component A and business component B" in the input box).
[0111] In a possible implementation manner, the plurality of first preset components can include: a first sub - component, a second sub - component, and a third sub - component. In response to the user's connection operation of connecting the first sub - component and the second sub - component, the electronic device can connect the first sub - component and the second sub - component and display the connection line between the first sub - component and the second sub - component. In response to the user's connection operation of connecting the second sub - component and the third sub - component, the electronic device can connect the second sub - component and the third sub - component and display the connection line between the second sub - component and the third sub - component.
[0112] In the present application, components with a connection line have a connection relationship, and this connection relationship is used to indicate parameter transfer between components. Exemplarily, in combination with Figure 6, there is a connection line between business component A and business component B, and there is a connection line between business component B and custom component A. The output parameter of business component A is the input parameter of business component B, and the output parameter of business component B is the input parameter of custom component A.
[0113] Optionally, in response to a user's adjustment operation on the connection relationship between multiple first preset components, the electronic device can update the connection relationship between the multiple first preset components.
[0114] It should be understood that the connection relationship between components is used to indicate the parameter transfer between components.
[0115] It can be understood that through the orchestration operation of multiple first preset components, the electronic device can establish the connection relationship between the multiple first preset components. In this way, when multiple components run in a container, the running order between components and the data transfer direction within the container can be guaranteed, enabling the container to run normally.
[0116] S404. In response to an application release operation, the electronic device sends an application release request to the server.
[0117] Among them, the application release request is used to indicate the generation of a target application according to all the components in the component orchestration area. The application release request may include: the component identifiers of all the components in the component orchestration area, and the connection relationship between each component among all the components.
[0118] In a possible design, the component orchestration interface may include a release option, which is used to trigger the generation of an application from all the components in the component orchestration area. The application release operation is the user's operation on the release option.
[0119] In the embodiments of the present application, all the components in the component orchestration area may include: a first same-container component and multiple first preset components in the first same-container component.
[0120] It should be noted that the multiple first preset components in the first same-container component refer to the components located in the area where the first same-container component is located in the component orchestration area (such as Figure 6 in, business component A, business component B, and custom component A located in the same-container component 504).
[0121] Optionally, all the components in the component orchestration area may further include: at least one second preset component, where the second preset component is any one of the multiple preset components and is outside the first same-container component. That is to say, the second preset component is a preset component that is not within the first same-container component in the component orchestration area.
[0122] In some embodiments, before the electronic device receives a user's application publishing operation, the electronic device may receive a user's selection operation on a second preset component. In response to the selection operation on at least one second preset component, at least one second preset component is displayed in the component orchestration area. Then, in response to the orchestration operation on the second preset component and the edge component among the multiple first preset components, a connection relationship is established between the second preset component and the edge component, where the edge component is a component among the multiple first preset components that has a connection relationship with the second preset component.
[0123] That is to say, the first preset components within the first same-container component can establish a connection relationship with components outside the first same-container component through the edge component.
[0124] It should be noted that the number of edge components is not limited in the embodiments of the present application. For example, the number of edge components can be 1, 3, 5, etc.
[0125] In a possible design, the edge component may include: an edge input component and / or an edge output component. The edge input component is used to receive the parameters transmitted by the second preset component, and the edge output component is used to transmit parameters to the second preset component.
[0126] That is to say, the input source of the edge input component is the second preset component connected to the edge input component, and the output parameter of the second preset component is the input parameter of the edge input component. The output source of the edge output component is the second preset component connected to the edge output component, and the input parameter of the second preset component is the output parameter of the edge output component.
[0127] Exemplarily, in combination with Figure 6 , as Figure 7 shown, in response to the user's drag-and-drop operation on the input component and the output component, the electronic device displays the input component and the output component in the canvas 501. And, in response to the user's connection operation between the input component and the service component A, the electronic device displays a connection line between the input component and the service component A (i.e., the edge input component) in the canvas 501. In response to the user's connection operation between the output component and the custom component A, the electronic device displays a connection line between the output component and the custom component A (i.e., the edge output component) in the canvas 501.
[0128] It can be understood that through the orchestration operation on the second preset component and the edge component among the multiple first preset components, the electronic device can establish a connection relationship between the second preset component and the edge component. In this way, it can ensure that the container corresponding to the second preset component can be normally accessed by the first container, and further ensure that the application can run normally.
[0129] Optionally, in response to an orchestration operation on different second preset components, the electronic device may establish a connection relationship between different second preset components.
[0130] Based on the above technical solution, after the electronic device displays the component orchestration interface, in response to a selection operation on the same-container component and multiple first preset components, the electronic device may display the first same-container component in the component orchestration area and display multiple first preset components in the first same-container component. That is to say, multiple components are all located in one component. Then, when the electronic device sends an application release request to the server, the server may generate a target application according to all the components in the component orchestration area. Since the first same-container component and the first preset components all correspond to the first container, when the server deploys the target application, it may run multiple first preset components in one first container. In this way, the number of deployed containers can be reduced, thereby reducing the resource occupation of the containers.
[0131] In some embodiments, before the electronic device receives an application release operation, the electronic device may receive a user's orchestration save operation. In response to the orchestration save operation, the electronic device may send an orchestration save message to the server, and the orchestration save message is used to indicate saving all the components in the component orchestration interface, the connection relationship between the components, and the configuration information of the components. After that, the server may save all the components in the component orchestration interface, the connection relationship between the components, and the configuration information of the components.
[0132] It can be understood that through the orchestration save operation, the server can timely save the user's orchestration record, which is convenient for the user to continue orchestrating later, so as to improve the efficiency of application development.
[0133] The above is an introduction to the process of orchestrating components in the component orchestration interface. Next, an introduction to the process of configuring components in the component orchestration interface will be given.
[0134] In some embodiments, before the electronic device receives a user's application release operation, in response to a configuration operation on a component, the electronic device may configure the configuration information of the component.
[0135] In the embodiments of the present application, the application release request may further include: the configuration information of all the components in the component orchestration interface.
[0136] It should be noted that the embodiments of the present application do not limit the configuration information of the components. For example, the configuration information of the components may include: component identifier (such as component ID, component name), component version, component service, input parameters, output parameters, deployment parameters, etc. Among them, the component ID and the component name are unique. The component service is used to indicate the service provided by the component. The input parameters are the parameters received by the component. The output parameters are the parameters passed by the component to other components. The deployment parameters are used to indicate the amount of resources required for the container corresponding to the deployed component. Among them, the deployment parameters may include: specification name, virtual machine specification (such as 1U2G, 2U4G, etc., where "1U2U" may refer to one CPU and 2GB of memory. Or, 1 unit (U) is a unit representing the height or thickness of the external dimension of the server, such as 1U = 4.445 cm), disk size (such as 32GB, 100GB, etc.).
[0137] It should be noted that some of the above configuration information (such as component ID, component name, component version, etc.) may be data filled in by the user or data preset by the application deployment platform. The embodiments of the present application do not limit this.
[0138] In a possible implementation manner, in response to a configuration operation on the first co-container component, the electronic device may set a target resource amount in the component configuration area. The target resource amount is the amount of resources required for the first container corresponding to the first co-container component. Among them, the configuration information of the first co-container component includes deployment parameters.
[0139] It should be understood that since the components running in the first container include multiple first preset components, the target resource amount is actually the amount of resources required to run the multiple first preset components.
[0140] Exemplarily, in combination with Figure 7 , in response to the user's operation on the co-container component 504, the electronic device displays the component configuration area 701 in the component orchestration interface. The component configuration area 701 includes deployment parameters. Then, in response to the user's operation of inputting deployment parameters in the component configuration area 701, the electronic device may set the deployment parameters of the co-container component 504 to 4 cores for the CPU and 4096 megabytes (MB) for the memory.
[0141] It can be understood that since the first container corresponds to multiple first preset components, the electronic device setting the target resource amount in the component configuration area can ensure that the first container can be allocated enough resources to ensure that the first container runs multiple first preset components. And, since multiple first preset components all run in the first container corresponding to the first co-container component, the user does not need to configure the deployment parameters for each first preset component, which can reduce the user's configuration process.
[0142] Optionally, in response to a configuration operation on a first preset component in the component orchestration area, the electronic device may configure the configuration information of each first preset component.
[0143] Exemplarily, in combination with Figure 7 , such as Figure 8 shown, in response to a configuration operation on business component A, the electronic device may display a component configuration area 801. The component configuration area 801 includes: input configuration and output configuration. The input configuration includes: configuration of input parameters, configuration of input files (including configuration files and model files), historical input data, service parameters, etc. For example, in the configuration of input parameters, the input parameters of component A include: A, B, C, the mapping parameter of A is a (i.e., the output parameter a of the input component), the mapping parameter of B is b (i.e., the output parameter b of the input component), and the mapping parameter of C is c (i.e., the output parameter c of the input component). The output configuration includes: configuration of output parameters (such as A1, B1, C1), historical output data. Optionally, the component configuration area 801 further includes configuration of deployment parameters.
[0144] It should be noted that since business component A is in the same container component 504, business component A will ultimately run in the container corresponding to the same container component 504. Therefore, the deployment configuration in the component configuration area 801 is invalid information.
[0145] Optionally, the configuration information of the first preset component does not include deployment parameters.
[0146] Optionally, in response to a configuration operation on a second preset component in the component orchestration area, the electronic device may configure the configuration information of each second preset component.
[0147] The above is an introduction to the process of the electronic device implementing step one (i.e., the user develops an application through the component orchestration interface displayed by the electronic device). Next, the process of step two (i.e., the server develops an application through the components configured in the orchestration interface) will be introduced.
[0148] In some embodiments, before receiving an application deployment request, in response to the received application release request, the server generates a target application according to all the components in the component orchestration area, and all the components include the same container component and multiple first preset components.
[0149] Next, the process of the server generating a target application according to all the components in the component orchestration area will be introduced. In the process of the server generating a target application according to all the components in the component orchestration area, the server needs to execute the following three processes respectively to obtain the target application. The three processes include: process one (determining the relationship between all components), process two (fusing multiple first preset components in the first same container component), and process three (processing the parameters transmitted by the edge components).
[0150] It should be noted that the order of the server executing Process 1, Process 2, and Process 3 in the embodiments of this application is not limited. For example, the server may first execute Process 1, then execute Process 2, and then execute Process 3. Another example is that the server may first execute Process 2, then execute Process 1, and then execute Process 3. Another example is that the server may execute Process 1, Process 2, and Process 3 simultaneously.
[0151] First, the process of the server executing Process 1, that is, the process of the server determining the relationships between all components, will be introduced below.
[0152] In the embodiments of this application, the server may obtain the connection relationships of all components in the component orchestration area from the component orchestration interface. After that, the server may determine the relationships between each component according to the connection relationships of all components in the component orchestration interface.
[0153] It should be noted that the relationships between each component refer to the identities (input source or output source) when passing parameters between every two components. For example, as Figure 6 can be seen, in the relationship between business component A and business component B, business component A is the input source and business component B is the output source. In the relationship between business component B and custom component A, business component B is the input source and custom component A is the output source.
[0154] In a possible design, the relationships between each component include: the relationships between multiple first preset components.
[0155] Optionally, the relationships between each component may also include: the relationships between the second preset component and the edge component, and the relationships between the second preset components.
[0156] It can be understood that the server determining the relationships of all components can ensure the mutual coordination between components during application operation, enabling the application to run properly.
[0157] After introducing Process 1, the process of the server fusing multiple first preset components in the first same-container component, that is, Process 2, will be introduced below.
[0158] The embodiments of this application provide an application deployment method. As Figure 9 shown, this application deployment method may include: the server may decompress each first preset component to obtain the decompressed file corresponding to each first preset component. After that, the server compresses all the decompressed files corresponding to the multiple first preset components to obtain a fused component. Then, the server may generate a target application according to the fused component.
[0159] It should be noted that the decompressed files in the embodiments of the present application are not limited. For example, the decompressed files corresponding to the first preset components may include: static resources (such as HTML, CSS, JavaScript files), application code (such as Python, Node.js code), etc. Moreover, in the embodiments of the present application, since multiple first preset components are fused into a fused component, the relationship between the second preset component and the edge component is specifically: the relationship between the second preset component and the fused component.
[0160] It should be noted that for the introduction of the server generating the target application according to the fused component, reference may be made to the process in the conventional technology where the component orchestration platform generates an application in response to the operation of publishing an application, which will not be elaborated here. For example, the target application after publishing may include at least one of the following: the software package of the fused component, application programming interface (API), image file, image configuration file, etc. Among them, the API can complete the same communication between containers (such as the call of methods between programs). The image configuration file refers to the configuration information used when the image file is started, and this configuration information may include: the address of the database link, username, password, connection information of the middleware, connection information of the log recording server, log recording format, etc.
[0161] It can be understood that the server fuses multiple first preset components to obtain a fused component, so that when the server deploys the first container, it only needs to load the fused component, and the first container can run multiple first preset components, thereby reducing the number of deployed containers.
[0162] In the embodiments of the present application, after generating the fused component, the server can update the interface of the called first preset component to the interface of the fused component.
[0163] Exemplarily, the interface of the first preset component is interface a, and the interface of the fused component is interface b. Before generating the fused component, component 1 needs to call interface a when calling the first preset component. After generating the fused component, component 1 needs to call interface b when calling the first preset component.
[0164] In this way, when other components call the first preset component, they can call the fused component to implement the function of the first preset component and complete the parameter transfer.
[0165] After introducing process two, the following introduces process three, that is, the process of the server processing the parameters transmitted by the edge component.
[0166] In the embodiments of the present application, the server can generate a target application according to all the components in the component orchestration area and the connection relationship between each component in all the components.
[0167] In a possible design, all components include: multiple first preset components, and the connection relationship between each component in all components includes: the connection relationship between the first preset components. The server can determine the relationship between the multiple first preset components based on the connection relationship between the multiple first preset components. Then, the server can generate a target application based on the multiple first preset components, the multiple first preset components, and the relationship between the first preset components.
[0168] Optionally, all components may further include: at least one second preset component. The connection relationship between each component in all components may further include: a connection relationship between the second preset component and the edge component.
[0169] It should be noted that, since the edge component includes: an edge input component and / or an edge output component, it means that the second preset component may include: an input source of the edge component and / or an output source of the edge component.
[0170] In a possible implementation, at least one second preset component includes: at least one third preset component, the edge component includes: an edge input component, and the third preset component is a component that passes parameters to the edge input component. The server can obtain the output parameters of each third preset component. Afterwards, the server can aggregate the output parameters of each third preset component to obtain the input parameter set of the first container component. Then, the server can establish a mapping relationship between each parameter in the input parameter set and the input parameter of the edge input component based on the connection relationship between each third preset component and the edge input component.
[0171] That is, the input parameter set is all the parameters input to the first same container component. It should be understood that in the present application, multiple first preset components are in the first same container component, and the fusion component is generated by multiple first preset components. Therefore, the parameters input to the first same container component are the parameters input to the fusion component.
[0172] Exemplarily, if the edge input component includes: component a and component b, the input parameters of component a are a1 and a2, the input parameter of component b is b1, and at least one third preset component includes: component c and component d, the output parameters of component c are c1 and c2, and the output parameter of component d is d1. Among them, component c has a connection relationship with component a, and component d has a connection relationship with component b. As shown in Table 1, it shows the mapping relationship between the input parameter set and the input parameters of the edge input component.
[0173] Table 1
[0174]
[0175]
[0176] That is to say, there is a mapping relationship between the output parameter c1 of component c and the input parameter a1 of component a, there is a mapping relationship between the output parameter c2 of component c and the input parameter a2 of component a, and there is a mapping relationship between the output parameter d1 of component d and the input parameter b1 of component b.
[0177] It can be understood that by establishing the mapping relationship between each parameter in the input parameter set and the input parameter of the edge input component, it can be ensured that parameters can be normally transmitted between containers during the operation of the application.
[0178] In another possible implementation manner, at least one second preset component includes: at least one fourth preset component, and the edge component further includes: an edge output component, where the edge output component is a component that transmits parameters to the fourth preset component. The server can obtain the output parameters of each edge output component. After that, the server can aggregate the output parameters of each edge output component to obtain the output parameter set of the first same-container component. Then, according to the connection relationship between each fourth preset component and the edge output component, a mapping relationship is established between each parameter in the output parameter set and the input parameter of the fourth preset component.
[0179] That is to say, the output parameter set is all the parameters output by the first same-container component. It should be understood that in this application, multiple first preset components are all in the first same-container component, and the fusion component is generated by multiple first preset components. Therefore, the parameters output by the first same-container component are the parameters output by the fusion component.
[0180] Exemplarily, suppose the edge output components include: component e and component f, the output parameters of component e are e1 and e2, the output parameter of component f is f1, at least one fourth preset component includes: component g and component h, the input parameters of component g are g1 and g2, and the input parameter of component h is h1. Among them, component e and component g have a connection relationship, and component f and component h have a connection relationship. Then, as shown in Table 2, it shows the mapping relationship between the output parameter set and the input parameters of the fourth preset component.
[0181] Table 2
[0182] Output parameter set Input parameter of the fourth preset component e1 g1 e2 g2 f1 h1
[0183] That is to say, there is a mapping relationship between the output parameter e1 of component e and the input parameter g1 of component g, there is a mapping relationship between the output parameter e2 of component e and the input parameter g2 of component g, and there is a mapping relationship between the output parameter f1 of component f and the input parameter h1 of component h.
[0184] It can be understood that by establishing the mapping relationship between each parameter in the output parameter set and the input parameters of the fourth preset component, it is possible to ensure that parameters can be normally transmitted between containers during application operation.
[0185] In another possible implementation, the multiple second preset components include: at least one third preset component and at least one fourth preset component, and the edge component includes: an edge input component and an edge output component.
[0186] The following introduces Process 3 with specific examples.
[0187] As Figure 10 shown, the target application is composed of Component 1, Component 2, Component 3, and Component 4. Component 2 and Component 3 correspond to the same container. The server can perform input aggregation on the output parameter 1 and output parameter 2 of Component 1 to obtain an input set including output parameter 1 and output parameter 2. Subsequently, the server can establish the mapping relationship between output parameter 1 and input parameter 1 of Component 2, and the mapping relationship between output parameter 2 and input parameter 2 of Component 3 (i.e., input expansion). Moreover, the server can perform output aggregation on the output parameter 3 of Component 2 and the output parameter 4 of Component 3 to obtain an output set including output parameter 3 and output parameter 4. Subsequently, the server can establish the mapping relationship between output parameter 3 and input parameter 3 of Component 4, and the mapping relationship between output parameter 4 and input parameter 4 of Component 4 (i.e., output expansion).
[0188] The above is the introduction to Step 1 (the user develops an application through the component orchestration interface displayed on the electronic device) and Step 2 (the server develops an application through the components configured in the orchestration interface) in the application development process. After the application development is completed, the user can control the server to deploy the published application through the electronic device. The following introduces the process of deploying the application.
[0189] An embodiment of the present application provides an application deployment method. As Figure 11 shown, the application deployment method may include:
[0190] S1101. The server provides a component orchestration interface.
[0191] Among them, the component orchestration interface includes: a component selection area and a component orchestration area. The component selection area includes: co-container components and multiple preset components. The co-container components are used to indicate that multiple preset components associated with themselves run in the same container. The component orchestration area is used to provide an operation area for the user to orchestrate components. The multiple preset components include business components and / or logic components.
[0192] S1102. In response to the user's operation in the component orchestration area, the server creates a first co-container component in the component orchestration area and determines a plurality of first preset components associated with the first co-container component.
[0193] Among them, the plurality of preset components include the plurality of first preset components.
[0194] In a possible implementation manner, in response to the user's operation in the component orchestration area, the electronic device may send a component orchestration request to the server. Among them, the user's operation in the component orchestration area may include the selection operation of the co-container component in S402 and the selection operation of the plurality of first preset components in S403.
[0195] Optionally, the operation in the component orchestration area may further include the orchestration operation of a plurality of components (such as a plurality of first preset components and / or a plurality of second preset components).
[0196] S1103. In response to the received application deployment request, the server deploys a target application including a plurality of first preset components.
[0197] Among them, the plurality of first preset components run in the first container corresponding to the first co-container component.
[0198] In some embodiments, the electronic device may receive the user's application deployment operation. In response to the application deployment operation, the electronic device may send an application deployment request to the server, and the application deployment request is used to indicate the deployment of the target application. Among them, the deployed target application includes: a first container, and the first container is used to run a plurality of first preset components.
[0199] It should be understood that the first container running a plurality of first preset components means that the first container runs a fusion component.
[0200] Exemplarily, the component orchestration interface further includes a deployment option, and the electronic device may receive the user's selection operation on the deployment option and send an application deployment request to the server.
[0201] In another example, the electronic device may display an application list, and the application list includes the application identifiers of the already published applications. After that, in response to the user's deployment operation on the target application, the electronic device sends an application deployment request to the server.
[0202] As Figure 12 shown, the electronic device may display an application deployment interface 1201, and the application deployment interface 1201 includes: application identifier (such as name), version, status, creation time, description information, operation options (such as deployment, details, deletion). In response to the operation on the deployment option of application a, the electronic device may indicate the deployment of application a.
[0203] In an embodiment of the present application, the server may obtain an application deployment request for instructing to deploy a target application. After that, the server may deploy a first container according to a first co-container component and a plurality of first preset components, where the first container is used to run the plurality of first preset components. The first container is further used to run the first co-container component.
[0204] In a possible implementation manner, the server may create a first container according to the first co-container component, a fusion component, and a target image file corresponding to the first co-container component. After that, the server may deploy the first container in a target environment.
[0205] It should be noted that the embodiment of the present application does not limit the target environment. For example, the target environment may be the server. For another example, the target environment may be any server in the computing device cluster where the server is located.
[0206] In a possible design, the server may obtain the size of a target resource amount from a component orchestration interface, where the target resource amount is the resource amount required for a first container corresponding to the first co-container component. After that, the server may allocate the target resource amount to the first container.
[0207] Exemplarily, combined with Figure 7 , the target resource amount may be 4 cores for CPU and 4096 megabytes (MB) for memory.
[0208] It can be understood that since the first co-container component includes a plurality of first preset components, when the server creates the first container, it may allocate the target resource amount to the first container based on the deployment parameters in the first co-container component, so as to ensure that the first container can run the plurality of first preset components. And since the plurality of first preset components run in a first container, there is no need for the server to separately allocate the resource amount at startup for the container of each component, thus reducing the number of resources occupied by the containers.
[0209] In some embodiments, the deployed target application further includes: a second container corresponding to each second preset component, where the second container is used to run the corresponding second preset component.
[0210] It should be noted that the embodiment of the present application does not limit the deployment environments of the first container and the second container. For example, the first container and the second container may be deployed in the same deployment environment (such as the same server). For another example, the first container and the second container may be deployed in different deployment environments.
[0211] Based on the above technical solution, through the operations of the user in the component orchestration area, a first same-container component can be created in the component orchestration area, and multiple first preset components associated with the first same-container component can be determined. In this way, when deploying an application, both the first same-container component and the multiple first preset components can run in the same container. In this way, multiple components can be loaded by one container, reducing the number of container deployments, and thus reducing the resource amount occupied by the containers. Moreover, since one container can run multiple components, the multiple components can be accessed through memory in the container, thereby improving the access efficiency between components and further enhancing the fluency of the application.
[0212] The above is the introduction to the process of deploying the target application. Next, the process of running the target application will be introduced.
[0213] In some embodiments, when the first container is running, parameters can be passed between multiple first preset components through a target data structure, and the target data structure is a data structure used in memory.
[0214] It should be understood that passing parameters in a container is passing parameters in the same memory. Therefore, the data structure used for the passed parameters needs to be a data structure used in memory. The embodiments of the present application do not limit the target data structure. For example, the target data structure may include, but is not limited to: queues, arrays, linked lists, stacks, etc. Hereinafter, taking the target data structure as a queue as an example, the process of running the first container will be introduced.
[0215] As Figure 13 shown, an initialization queue component, a video frame extraction component, an inference component, and a post-processing component are running in the first container. The initialization queue component can initialize 2 queues (the original picture queue and the inference result queue), and use the 2 queues as output parameters to be passed to the video frame extraction component and the inference component. The video frame extraction component can obtain a video stream, extract multiple pictures from the video stream, and store them in the original picture queue. The inference component can read the pictures stored in the original picture queue, perform inference on the pictures to obtain inference results, and store the inference results in the inference result queue. The post-processing component can read the inference results from the inference result component, and perform post-processing on the inference results to obtain post-processing results. Then, the post-processing component can feedback the post-processing results to the user.
[0216] In this way, since the speed of passing parameters in memory is relatively fast, passing parameters between multiple first preset components through the target data structure in memory can improve the data passing efficiency, reduce the latency, and further improve the running speed of the application.
[0217] The above mainly introduced the solution provided by the embodiments of the present application from the perspective of an electronic device. It can be understood that in order for the electronic device to implement the above functions, it includes the corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should easily realize that in combination with the method steps of an application deployment method described in the embodiments disclosed in the present application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or software of the electronic device driving the hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0218] The embodiments of the present application can divide the application deployment device into functional modules or functional units according to the above method examples. For example, each functional module or functional unit can be corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware, or in the form of a software functional module or functional unit. Among them, the division of modules or units in the embodiments of the present application is illustrative, only a logical function division, and there can be other division methods in actual implementation.
[0219] The present application also provides an application deployment device, as Figure 14 shown, including: an interface providing module, a processing module, and an obtaining module.
[0220] The interface providing module is used to provide a component orchestration interface, and the component orchestration interface includes: a component selection area and a component orchestration area. The component selection area includes: a same-container component and multiple preset components. The same-container component is used to indicate that multiple preset components associated with itself run in the same container. The component orchestration area is used to provide an operation area for the user to orchestrate components. The multiple preset components include business components and / or logic components.
[0221] The processing module is used to create a first same-container component in the component orchestration area in response to the user's operation in the component orchestration area, and determine multiple first preset components associated with the first same-container component. The multiple preset components include multiple first preset components. The processing module is used to deploy a target application including multiple first preset components in response to the received application deployment request, where the multiple first preset components run in a first container corresponding to the first same-container component.
[0222] In a possible design, the processing module is further configured to generate a target application according to all components in the component orchestration area in response to the received application publishing request, where the application publishing request is used to indicate generating a target application according to all components in the component orchestration area, and all components include co-container components and multiple first preset components.
[0223] In another possible design, the component orchestration interface further includes: a component configuration area. The obtaining module is configured to obtain the size of the target resource amount from the component configuration area corresponding to the first co-container component, where the target resource amount is the resource amount required by the first container corresponding to the first co-container component. The processing module is configured to allocate the target resource amount to the first container.
[0224] In another possible design, the processing module is configured to decompress each first preset component to obtain the decompressed file corresponding to each first preset component. The processing module is configured to compress all the decompressed files corresponding to the multiple first preset components to obtain a fused component, and generate a target application according to the fused component.
[0225] In another possible design, the processing module is configured to update the interfaces of the called first preset components to the interfaces of the called fused component.
[0226] In another possible design, the processing module is configured to generate a target application according to all components in the component orchestration area and the connection relationships between the components in all components.
[0227] In another possible design, all components include: multiple first preset components; the connection relationships between the components in all components include: the connection relationships between the first preset components.
[0228] In another possible design, all components further include: at least one second preset component, where the second preset component is any one of the multiple preset components and is outside the first co-container component; the connection relationships between the components in all components further include: the connection relationships between the second preset component and the edge component, where the edge component is a component among the multiple first preset components that has a connection relationship with the second preset component.
[0229] In another possible design approach, at least one second preset component includes: at least one third preset component, and the edge component includes: an edge input component, where the third preset component is a component that passes parameters to the edge input component. A processing module is configured to obtain the output parameters of each third preset component. The processing module is configured to aggregate the output parameters of each third preset component to obtain an input parameter set of the first co-container component. The processing module is configured to establish a mapping relationship between each parameter in the input parameter set and the input parameters of the edge input component according to the connection relationship between each third preset component and the edge input component.
[0230] In another possible design approach, at least one second preset component further includes: at least one fourth preset component, and the edge component further includes: an edge output component, where the edge output component is a component that passes parameters to the fourth preset component. A processing module is configured to obtain the output parameters of each edge output component. The processing module is configured to aggregate the output parameters of each edge output component to obtain an output parameter set of the first co-container component. The processing module is configured to establish a mapping relationship between each parameter in the output parameter set and the input parameters of the fourth preset component according to the connection relationship between each fourth preset component and the edge output component.
[0231] In another possible design approach, when the first container is running, parameters are passed between multiple first preset components through a target data structure, and the target data structure is a data structure used in memory.
[0232] Among them, the processing module, the acquisition module, and the interface providing module can all be implemented by software or by hardware. Exemplarily, next, taking the processing module as an example, the implementation manner of the processing module will be introduced. Similarly, the implementation manners of the acquisition module and the interface providing module can refer to the implementation manner of the processing module.
[0233] As an example of a software functional unit, the processing module may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above computing instance may be one or more. For example, the processing module may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers for running this code may be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers for running this code may be distributed in the same availability zone (AZ) or in different AZs, and each AZ includes one data center or multiple geographically proximate data centers. Among them, generally one region may include multiple AZs.
[0234] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed within the same virtual private cloud (VPC) or across multiple VPCs. Generally, one VPC is set up within one region. For cross-region communication between two VPCs within the same region and between VPCs in different regions, a communication gateway needs to be set up within each VPC, and the interconnection between VPCs is achieved through the communication gateway.
[0235] As an example of a hardware functional unit, the processing module may include at least one computing device, such as a server. Alternatively, the processing module may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). Among them, the above PLD may be implemented by a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0236] The multiple computing devices included in the processing module can be distributed in the same region or in different regions. The multiple computing devices included in the processing module can be distributed in the same availability zone (AZ) or in different AZs. Similarly, the multiple computing devices included in the processing module can be distributed within the same VPC or across multiple VPCs. Among them, the multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0237] It should be noted that in other embodiments, the processing module can be used to execute any step in the application deployment method, the acquisition module can be used to execute any step in the application deployment method, and the interface providing module can be used to execute any step in the application deployment method. The steps to be implemented by the processing module, the acquisition module, and the interface providing module can be specified as needed. The full functions of the application deployment device are realized by respectively implementing different steps in the application deployment method through the processing module, the acquisition module, and the interface providing module.
[0238] As an example of a software functional unit, the application deployment apparatus may include code running on a computing instance. The computing instance may be at least one of computing devices such as a physical host (computing device), a virtual machine, a container, etc. Further, the above computing devices may be one or more. For example, the application deployment apparatus may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers for running the application program may be distributed in the same region or in different regions. The multiple hosts / virtual machines / containers for running the code may be distributed in the same AZ or in different AZs, and each AZ includes one data center or multiple geographically proximate data centers. Usually, one region may include multiple AZs.
[0239] Similarly, the multiple hosts / virtual machines / containers for running the code may be distributed in the same VPC or in multiple VPCs. Usually, one VPC is set within one region. For cross-region communication between two VPCs within the same region and between VPCs in different regions, a communication gateway needs to be set in each VPC, and the interconnection between VPCs is achieved through the communication gateway.
[0240] As an example of a hardware functional unit, the application deployment apparatus may include at least one computing device, such as a server, etc. Or, the application deployment apparatus may also be a device implemented by ASIC or PLD. Among them, the above PLD may be implemented by CPLD, FPGA, GAL or any combination thereof.
[0241] The multiple computing devices included in the application deployment apparatus may be distributed in the same region or in different regions. The multiple computing devices included in the application deployment apparatus may be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the application deployment apparatus may be distributed in the same VPC or in multiple VPCs. Among them, the multiple computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0242] This application also provides a computing device 150. As Figure 15 shown, the computing device 150 includes: a bus 1502, a processor 1504, a memory 1506, and a communication interface 1508. The processor 1504, the memory 1506, and the communication interface 1508 communicate with each other through the bus 1502. The computing device 150 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 150.
[0243] The bus 1502 can be a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, or the like. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience of representation, Figure 15 only one line is used in the figure, but it does not mean that there is only one bus or one type of bus. The bus 1504 can include a path for transmitting information between various components of the computing device 150 (for example, the memory 1506, the processor 1504, and the communication interface 1508).
[0244] The processor 1504 can include any one or more of processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0245] The memory 1506 can include volatile memory, such as random access memory (RAM). The processor 1504 can also include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
[0246] The memory 1506 stores executable program code, and the processor 1504 executes the executable program code to respectively implement the functions of the foregoing processing module, acquisition module, and interface providing module, so as to implement the application deployment method. That is, instructions for executing the application deployment method are stored on the memory 1506.
[0247] The communication interface 1503 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 150 and other devices or a communication network.
[0248] Embodiments of the present application also provide a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
[0249] As Figure 16 shown, the computing device cluster includes at least one computing device 150. Instructions for executing the application deployment method can be stored in the same manner in the memories 1506 of one or more of the computing devices 150 in the computing device cluster.
[0250] In some possible implementation manners, partial instructions for executing the application deployment method can also be stored separately in the memories 1506 of one or more of the computing devices 150 in the computing device cluster. In other words, a combination of one or more computing devices 150 can jointly execute the instructions for executing the application deployment method.
[0251] It should be noted that the memories 1506 in different computing devices 150 in the computing device cluster can store different instructions, which are respectively used to execute partial functions of the application deployment apparatus. That is, the instructions stored in the memories 1506 of different computing devices 150 can implement the functions of one or more of the processing module, the obtaining module, and the interface providing module.
[0252] In some possible implementation manners, one or more computing devices in the computing device cluster can be connected through a network. Among them, the network can be a wide area network or a local area network, etc. Figure 17 Shows a possible implementation manner. As Figure 17 shown, two computing devices 150A and 150B are connected through a network. Specifically, they are connected to the network through the communication interfaces in each computing device. In this type of possible implementation manner, the memory 1506 in the computing device 150A stores instructions for executing the function of the processing module. At the same time, the memory 1506 in the computing device 150B stores instructions for executing the functions of the obtaining module and the interface providing module.
[0253] Figure 17 The connection manner between the computing device clusters shown can be considered that since the application deployment method provided in the present application requires a large amount of data storage and a large amount of computing resources, it is considered to hand over the functions implemented by the obtaining module and the interface providing module to the computing device 150B for execution.
[0254] It should be understood that Figure 17The functions of the computing device 150A shown can also be completed by multiple computing devices 150. Similarly, the functions of the computing device 150B can also be completed by multiple computing devices 150.
[0255] The embodiments of the present application also provide another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similarly referred to Figure 16 and Figure 17 the connection method of the computing device cluster. The difference is that the same instructions for executing the application deployment method can be stored in the memory 1506 of one or more computing devices 150 in the computing device cluster.
[0256] In some possible implementation manners, the memory 1506 of one or more computing devices 150 in the computing device cluster can also store partial instructions for executing the application deployment method respectively. In other words, a combination of one or more computing devices 150 can jointly execute the instructions for executing the application deployment method.
[0257] The embodiments of the present application also provide a computer program product including instructions. The computer program product can be software or a program product including instructions that can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computing device, it causes at least one computing device to execute the application deployment method.
[0258] The embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store or a data storage device such as a data center including one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid-state drive), etc. The computer-readable storage medium includes instructions that instruct the computing device to execute the application deployment method, or instruct the computing device to execute the application deployment method.
[0259] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the protection scope of the technical solutions of the embodiments of the present invention.
Claims
1. An application deployment method, characterized in that: The method comprises: Providing a component arrangement interface, the component arrangement interface comprising: a component selection area and a component arrangement area, the component selection area comprising: a same-container component and a plurality of preset components, the same-container component is used to indicate that the plurality of preset components associated with itself are running in the same container, the component arrangement area is used to provide a user with an operation area for arranging components, the plurality of preset components comprising business components and / or logic components; In response to an operation of a user in the component arrangement area, a first same-container component is created in the component arrangement area, and a plurality of first preset components associated with the first same-container component is determined, wherein the plurality of preset components include the plurality of first preset components; In response to the received application deployment request, a target application including the plurality of first preset components is deployed, wherein the plurality of first preset components run in a first container corresponding to the first container component.
2. The method according to claim 1, characterized in that: Before receiving the application deployment request, the method further includes: In response to the received application publishing request, the target application is generated according to all components in the component arrangement area, wherein the all components include the first same-container component and the plurality of first preset components.
3. The method according to claim 1 or 2, characterized in that: The component arrangement interface further includes: a component configuration area; the method further includes: Acquire a target resource amount from a component configuration area corresponding to the first same-container component, the target resource amount being a resource amount required by the first container corresponding to the first same-container component; The target amount of resources is allocated to the first container.
4. The method according to any one of claims 1 to 3, characterized in that The step of generating the target application according to all components in the component arrangement area includes: Decompress each of the first preset components to obtain a decompressed file corresponding to each of the first preset components; Compressing all decompressed files corresponding to the multiple first preset components to obtain a fused component; The target application is generated according to the fusion component.
5. The method according to claim 4, characterized in that After obtaining the fusion component, the method further includes: The interface of each called first preset component is updated to the interface of the fusion component.
6. The method according to any one of claims 1 to 5, characterized in that Generating the target application according to all components in the component arrangement area includes: The target application is generated based on all components in the component arrangement area and the connection relationship between each component in the all components; wherein the all components include: the multiple first preset components, and the connection relationship between each component in the all components includes: the connection relationship between the first preset components.
7. The method according to claim 6, characterized in that The all components further include: at least one second preset component, the second preset component is any one of the multiple preset components; the connection relationship between the components in the all components further includes: the connection relationship between the second preset component and the edge component, the edge component is a component in the multiple first preset components that has a connection relationship with the second preset component; the at least one second preset component includes: at least one third preset component, the edge component includes: an edge input component, the third preset component is a component that transfers parameters to the edge input component; the generating the target application according to all components in the component arrangement area also includes: Get output parameters of each third preset component; Aggregate the output parameters of each of the third preset components to obtain an input parameter set of the first same-container component; According to the connection relationship between each of the third preset components and the edge input component, a mapping relationship between each parameter in the input parameter set and the input parameter of the edge input component is established.
8. The method according to claim 7, characterized in that The at least one second preset component further includes: at least one fourth preset component, the edge component further includes: an edge output component, the edge output component is a component that transmits parameters to the fourth preset component; the generating the target application according to all components in the component arrangement area also includes: Obtaining output parameters of each of the edge output components; Aggregating the output parameters of each of the edge output components to obtain the output parameter set of the first container component; According to the connection relationship between each of the fourth preset components and the edge output component, a mapping relationship between each parameter in the output parameter set and the input parameter of the fourth preset component is established.
9. The method according to claim 7 or 8, characterized in that: The target application after deployment further includes: a second container corresponding to each second preset component, and the second container is used to run the corresponding second preset component.
10. The method according to any one of claims 1 to 9, characterized in that When the first container is running, parameters are transmitted between the plurality of the first preset components through a target data structure, and the target data structure is a data structure used in the memory.
11. An application deployment device, characterized in that: The device comprises: An interface providing module is used to provide a component arrangement interface, wherein the component arrangement interface includes: a component selection area and a component arrangement area, wherein the component selection area includes: a same-container component and a plurality of preset components, wherein the same-container component is used to indicate that the plurality of preset components associated with the same container are running in the same container, and the component arrangement area is used to provide a user with an operation area for arranging components, wherein the plurality of preset components include business components and / or logic components; A processing module, configured to create a first same-container component in the component arrangement area in response to an operation of a user in the component arrangement area, and determine a plurality of first preset components associated with the first same-container component, wherein the plurality of preset components include the plurality of first preset components; The processing module is further used to deploy a target application including the multiple first preset components in response to a received application deployment request, wherein the multiple first preset components run in a first container corresponding to the first container component.
12. The device according to claim 11, characterized in that The processing module is further configured to generate the target application in response to a received application publishing request according to all components in the component orchestration area, wherein all components include the first same-container component and the plurality of first preset components.
13. The device according to claim 11 or 12, characterized in that The component arrangement interface further includes: a component configuration area; the device further includes: an acquisition module; The acquisition module is used to acquire the size of a target resource amount from the component configuration area corresponding to the first same-container component, wherein the target resource amount is the resource amount required by the first container corresponding to the first same-container component; The target amount of resources is allocated to the first container.
14. The device according to any one of claims 11 to 13, characterized in that The processing module is further used to decompress each of the first preset components to obtain a decompressed file corresponding to each of the first preset components; The processing module is further used to compress all decompressed files corresponding to the multiple first preset components to obtain a fused component; The processing module is further used to generate the target application according to the fusion component.
15. The device according to claim 14, characterized in that The processing module is further used to update the interface of each called first preset component to the interface of the fusion component.
16. The device according to any one of claims 11 to 15, characterized in that The processing module is also used to generate the target application based on all components in the component arrangement area and the connection relationship between each component in all the components; wherein all the components include: the multiple first preset components, and the connection relationship between each component in all the components includes: the connection relationship between the first preset components.
17. The device according to claim 16, characterized in that The said all components further include: at least one second preset component, the said second preset component is any one of the said multiple preset components; the connection relationship between the components in the said all components further includes: the connection relationship between the said second preset component and the edge component, the said edge component is the component in the said multiple first preset components that has a connection relationship with the said second preset component; the said at least one second preset component includes: at least one third preset component, the said edge component includes: an edge input component, the said third preset component is a component that transmits parameters to the said edge input component; The processing module is further used to obtain output parameters of each third preset component; The processing module is further used to aggregate the output parameters of each of the third preset components to obtain the input parameter set of the first same-container component; The processing module is further used to establish a mapping relationship between each parameter in the input parameter set and the input parameter of the edge input component according to the connection relationship between each of the third preset components and the edge input component.
18. The device according to claim 17, characterized in that The at least one second preset component further includes: at least one fourth preset component, and the edge component further includes: an edge output component, the edge output component is a component for transmitting parameters to the fourth preset component; The processing module is further used to obtain output parameters of each edge output component; The processing module is further used to aggregate the output parameters of each edge output component to obtain the output parameter set of the first same-container component; The processing module is further used to establish a mapping relationship between each parameter in the output parameter set and the input parameter of the fourth preset component according to the connection relationship between each fourth preset component and the edge output component.
19. The device according to claim 17 or 18, characterized in that The target application after deployment further includes: a second container corresponding to each second preset component, and the second container is used to run the corresponding second preset component.
20. The device according to any one of claims 11 to 19, characterized in that When the first container is running, parameters are transmitted between the plurality of the first preset components through a target data structure, and the target data structure is a data structure used in the memory.
21. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, and the computing device cluster executes the method according to any one of claims 1 to 10.
22. A computer program product comprising instructions, characterized in that When the instruction is executed by an electronic device, the electronic device executes the method as claimed in any one of claims 1 to 10.
23. A computer-readable storage medium, characterized in that: The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 10.
Citation Information
Cited By
Application deployment method and apparatus, and device
WO2025139326A1