WO2024002229A1 - 应用管理方法及相关设备 - Google Patents

应用管理方法及相关设备 Download PDF

Info

Publication number
WO2024002229A1
WO2024002229A1 PCT/CN2023/103792 CN2023103792W WO2024002229A1 WO 2024002229 A1 WO2024002229 A1 WO 2024002229A1 CN 2023103792 W CN2023103792 W CN 2023103792W WO 2024002229 A1 WO2024002229 A1 WO 2024002229A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
data
computing node
sub
resource
Prior art date
Application number
PCT/CN2023/103792
Other languages
English (en)
French (fr)
Inventor
林伟
Original Assignee
北京亚控科技发展有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京亚控科技发展有限公司 filed Critical 北京亚控科技发展有限公司
Publication of WO2024002229A1 publication Critical patent/WO2024002229A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • This application relates to the field of software technology, and in particular, to an application management method and related equipment.
  • Application also called application, refers to a computer program that is used to complete one or more specific tasks. It can run in user mode and interact with users, and can have a visual user interface.
  • the local terminal device needs to be downloaded and installed before it can run the APP, and the process of running the APP is relatively cumbersome.
  • This application provides an application management method and related equipment, which can simplify the process of starting an application.
  • this application provides an application management method, which method includes:
  • First target data is obtained, and the first target data includes application data of the first application.
  • the first target data is transmitted to the target computing node, and the first application is controlled from a stopped state to a started state.
  • Receive a stop instruction for stopping the first application control the first application to enter a stopped state from a running state, and reclaim computer resources of a target computing node allocated for the first application.
  • application data includes: any combination of application structural information, application functional functions, application data parameters, and application resource requirement information.
  • the structural information is used to reflect the correlation between applications;
  • the resource demand information includes: address information of the target computing node, memory demand information, and central processing unit CPU demand information.
  • the above method of "obtaining the first target data” may include: obtaining the first application data, where the first application data is the application data of the first application. Determine the target compute node. The first application data is compiled according to the node information of the target computing node, and the first target data is generated, and the first target data matches the target computing node.
  • the target computing node includes the first container.
  • the method of "controlling the first application to enter the starting state from the stopped state" may include: controlling the allocation of a first resource to the first container so that the first container runs the first target data through the first resource, and the first resource is the first application.
  • the application data also includes running mode information.
  • the application management method may also include: if the running mode information is first mode information, controlling the creation of the first container, and the first mode information is used to indicate running the application in exclusive mode. .
  • the target computing node includes a second container.
  • the method of "controlling the first application to enter the starting state from the stopped state" may include: if the running mode information is the second mode information, determining the second container according to the structural information of the first application, and the second container is the first parent application.
  • a container, the first parent application can call the first application to realize the function of the first application, the structural information of the first application includes the association relationship between the first application and the first parent application; the second mode information is used to indicate to share mode to run the application.
  • the first target data is run using the second resource allocated to the second container, and the second resource is the computer resource corresponding to the resource requirement information of the first parent application.
  • the structural information of the first application includes an association relationship between the first application and the first sub-application, and the first application can call the first sub-application to realize the function of the first sub-application.
  • the application management method may further include: monitoring the structure information of the first application.
  • the application management method may also include: monitoring the status of the first sub-application, where the status of the first sub-application includes a running status and a stopped status.
  • the first sub-application includes at least one application.
  • the above method of "receiving a stop instruction for stopping the first application, controlling the first application to enter the stopped state from the running state, and recycling the computer resources allocated by the target computing node for the first application” includes: If the application in the first sub-application The states are all in the stopped state, then the first application is controlled to enter the stopped state from the running state, and the computer resources allocated by the target computing node for the first application are recovered.
  • the application management method may further include: if there is an application in the running state in the first sub-application, rejecting a stop instruction for stopping the first application.
  • the application management method may further include: receiving a startup instruction for starting the first sub-application.
  • Obtain the application data of the first sub-application and compile the application data of the first sub-application into the second target data. Transmit the second target data to the target computing node, and control the allocation of a third resource to the third container, so that the third container runs the second target data through the third resource, and the third resource corresponds to the resource requirement information of the first sub-application.
  • Computer resources Receive a stop instruction for stopping the first sub-application, control the first sub-application to enter the stopped state from the running state, and recycle the third resource.
  • the application management method may also include: sending the first A query message, the first query message is used to query an application in a running state.
  • a first response message is received from the target computing node, where the first response message includes an identification of an application in a running state.
  • the application management method may further include: sending a first subscription message to the target computing node, where the first subscription message is used to subscribe to the application whose status has changed.
  • the status change information is used to indicate that the status of the application changes.
  • this application provides an application management device, which includes: an acquisition unit and a processing unit.
  • An acquisition unit is used to acquire first target data, where the first target data includes application data of the first application.
  • a processing unit configured to transmit the first target data to the target computing node, and control the first application to enter a starting state from a stopped state.
  • the obtaining unit is also configured to receive a stop instruction for stopping the first application.
  • the processing unit is also used to control the first application to enter a stopped state from a running state, and to reclaim the computer resources of the target computing node allocated for the first application.
  • application data includes: any combination of application structural information, application functional functions, application data parameters, and application resource requirement information.
  • the structural information is used to reflect the correlation between applications;
  • the resource demand information includes: address information of the target computing node, memory demand information, and central processing unit CPU demand information.
  • the acquisition unit is also used to acquire first application data, where the first application data is application data of the first application.
  • the processing unit is also used to determine the target computing node.
  • the processing unit is also configured to compile the first application data according to the node information of the target computing node and generate the first target data, and the first target data matches the target computing node.
  • the processing unit is also used to control the allocation of a first resource to the first container, so that the first container runs the first target data through the first resource, and the first resource is a computer corresponding to the resource requirement information of the first application. resource.
  • the application data also includes operating mode information.
  • the processing unit is also configured to control the creation of the first container if the running mode information is first mode information, and the first mode information is used to indicate running the application in the exclusive mode.
  • the target computing node includes a second container. If the running mode information is the second mode information, the second container is determined according to the structural information of the first application.
  • the second container is the container of the first parent application, and the first parent application can call the first application to implement the first application.
  • the structure information of the first application includes the association relationship between the first application and the first parent application; the second mode information is used to indicate running the application in shared mode.
  • the first target data is run using the second resource allocated to the second container, and the second resource is the computer resource corresponding to the resource requirement information of the first parent application.
  • the structural information of the first application includes an association relationship between the first application and the first sub-application, and the first application can call the first sub-application to realize the function of the first sub-application.
  • the processing unit is also used to monitor the structural information of the first application.
  • the processing unit is also used to monitor the status of the first sub-application.
  • the status of the first sub-application includes a running status and a stopped status.
  • the first sub-application includes at least one application.
  • the processing unit is also configured to control the first application to enter the stopped state from the running state if the states of the applications in the first sub-application are all in the stopped state, and reclaim the computer resources allocated by the target computing node for the first application.
  • the processing unit is also configured to reject a stop instruction for stopping the first application if there is an application in the running state in the first sub-application.
  • the acquisition unit is also used to receive a startup instruction for starting the first sub-application.
  • the acquisition unit is also used to acquire the application data of the first sub-application, and compile the application data of the first sub-application into the second target data.
  • the processing unit is also used to transmit the second target data to the target computing node, and control the allocation of a third resource to the third container, so that the third container runs the second target data through the third resource, and the third resource is the first sub-application.
  • the acquisition unit is also configured to receive a stop instruction for stopping the first sub-application.
  • the processing unit is also used to control the first sub-application from the running state to the stopped state, and to recycle the third resource.
  • the application management device may also include a sending unit.
  • a sending unit configured to send a first query message to the target computing node, where the first query message is used to query an application in a running state.
  • the obtaining unit is also configured to receive a first response message from the target computing node, where the first response message includes an identification of the application in a running state.
  • the sending unit is used to send a first subscription message to the target computing node, and the first subscription message is used to subscribe to an application whose status changes.
  • the acquisition unit is also used to receive state change information from the target computing node when the state of the application changes, and the state change information is used to indicate that the state of the application changes.
  • the present application provides an electronic device.
  • the electronic device includes: a processor, a memory configured to store instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the method described in any possible implementation manner in the first aspect.
  • the present application provides a computer-readable storage medium on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device enables the electronic device to implement any of the possible implementations in the first aspect. method as described.
  • the present application provides a computer program product, including computer readable code, or a non-volatile computer readable storage medium carrying computer readable code, when the computer can
  • the processor in the electronic device implements the method described in any possible implementation manner in the first aspect.
  • this application at least has the following beneficial effects:
  • the application management device (such as the deployment module in the operation and maintenance system) obtains the first target data, and the first target data includes application data of the first application.
  • the deployment module transmits the first target data to the target computing node and controls the first application to enter the starting state from the stopped state.
  • Receive a stop instruction for stopping the first application control the first application to enter a stopped state from a running state, and reclaim computer resources of a target computing node allocated for the first application.
  • the local terminal does not need to download and install the application, and can control the startup of the first application through the deployment module, which simplifies the process of starting the application.
  • the deployment module can control the first application to stop running and reclaim the computing resources allocated for the first application. This not only improves resource utilization, but also eliminates the need for users to uninstall applications, simplifying the process of not using applications.
  • Figure 1 is a schematic diagram of the model and predefined relationships provided by the embodiment of this application.
  • Figure 2 is a schematic diagram of the data model provided by the embodiment of the present application.
  • Figure 3 is a schematic diagram of the composition of the APP model provided by the embodiment of the present application.
  • Figure 4 is a schematic flow chart of an application management method provided by an embodiment of the present application.
  • Figure 5 is another schematic flow chart of the application management method provided by the embodiment of the present application.
  • Figure 6 is another schematic flow chart of the application management method provided by the embodiment of the present application.
  • Figure 7 is another schematic flow chart of the application management method provided by the embodiment of the present application.
  • Figure 8 is a schematic diagram of the composition of an application management system provided by an embodiment of the present application.
  • Figure 9 is a schematic structural diagram of an application management device provided by an embodiment of the present application.
  • Figure 10 is another schematic structural diagram of an application management device provided by an embodiment of the present application.
  • a and/or B can mean: A exists alone, A and B exist simultaneously, and B exists alone.
  • the character “/” generally indicates that the related objects are in an "or” relationship.
  • An application also called an application, refers to a computer program that performs one or more specific tasks. It can run in user mode and interact with the user, and can have a visual user interface.
  • the local terminal device needs to be downloaded and installed before it can run the APP, and the process of running the APP is relatively cumbersome.
  • the application program can be uninstalled to save storage resources of the local terminal device. That is to say, in the current technical solution, the completion process of operating an application includes: copying the application (downloading the application) - transferring the application (installing the application) - starting the application - stopping the application - uninstalling the application.
  • the process of operating the application is relatively cumbersome. Among them, when the application is not in use, storage resources will still be occupied if the application is not uninstalled.
  • the currently downloaded file is an executable program file, which has a large amount of data and affects the transmission speed.
  • embodiments of the present application provide an application management method, which can be applied to an operation and maintenance system (such as a deployment module in the operation and maintenance system).
  • the deployment module in the operation and maintenance system obtains the first target data, and the first target The data includes application data of the first application.
  • the deployment module transmits the first target data to the target computing node and controls the first application to enter the starting state from the stopped state.
  • Receive a stop instruction for stopping the first application control the first application to enter a stopped state from a running state, and reclaim computer resources of a target computing node allocated for the first application.
  • the local terminal does not need to After downloading and installing the application, you can control the startup of the first application through the deployment module, which simplifies the process of starting the application.
  • the deployment module can control the first application to stop running and reclaim the computing resources allocated for the first application. This not only improves resource utilization, but also eliminates the need for users to uninstall the application, simplifying the process when the application is not in use.
  • the technical solution of the present application can still be used to simplify the process of using the application program.
  • an industrial Internet platform can be built based on hardware devices such as servers and computers.
  • the industrial Internet platform can include: an operation and maintenance system (such as the deployment module of the operation and maintenance system), an application warehouse (such as an application storage module in the warehouse) and the running system.
  • Application developers can put the developed applications on the Industrial Internet platform, and users who need to use the applications can download and use the applications from the Industrial Internet platform.
  • the method may be implemented on hardware devices corresponding to the operation and maintenance system (such as the deployment module of the operation and maintenance system).
  • the hardware devices may include servers, computers, etc.
  • the server may be a single server, or it may be a server cluster composed of multiple servers. In some implementations, the server cluster may also be a distributed cluster. This application does not limit the specific implementation methods of the hardware devices corresponding to the application warehouse and the application store.
  • the implementation steps on the operation and maintenance system (such as the deployment module of the operation and maintenance system) side involved in the embodiments of this application can be implemented by hardware devices corresponding to the deployment module of the operation and maintenance system.
  • the storage module side implementation steps in the application warehouse involved in the embodiments of this application can all be implemented by hardware devices corresponding to the storage modules in the application warehouse.
  • the implementation steps on the running system side involved in the embodiments of this application can all be implemented by hardware devices corresponding to the running system.
  • the deployment module of the operation and maintenance system, the storage module in the application warehouse, and the running system can be deployed on the same hardware device.
  • the deployment module of the operation and maintenance system, the storage module in the application warehouse, and the running system can be deployed on different hardware devices.
  • the following uses the deployment module and application warehouse as examples to introduce the application management method provided by the embodiment of this application.
  • the method for managing applications can be divided into three stages, and the three stages include: stage one, stage two and stage three.
  • the first stage is to develop the application and generate the developed application (which can be called a finished application).
  • Phase two is launching the finished application.
  • Stage three is to stop the use of finished products.
  • the first application ie, the finished application
  • the first application may only implement the program logic of the functional functions of the first application itself.
  • the process of developing the first application may be as follows:
  • model is information that describes the object structure when modeling abstraction
  • predefinition is information that determines the model of the structure and configures parameters.
  • the predefinition records the model information, and the predefinition is used to instantiate the object.
  • the instantiated object constructs the structure of the object according to the structure of its model, and uses the parameter value as the initial value of the object.
  • Predefinitions can also be referenced by other models as subpredefinitions.
  • operations can include: creating a new model, assigning names and identifiers; adding members, specifying member types; deleting members; adding or deleting sub-predefined; setting the initial value of sub-predefined; updating the model version; publishing a certain Model version generation predefined, etc.
  • operations can include: specifying a model version to publish (create) the predefinition; assigning a name and identity; setting predefined parameter values (values of attributes and members), etc.
  • Figure 1 is a schematic diagram of the model and predefined relationships provided by the embodiment of this application.
  • the model can include basic attributes and member lists; basic attributes can include name, description, globally unique identifier (GUID), version and other information; the member list can include: "Member 1: Name + Type", "Member 2: Name + Type”, "Member 3: Name + Type” and other information.
  • basic attributes can include name, description, globally unique identifier (GUID), version and other information
  • member list can include: "Member 1: Name + Type", "Member 2: Name + Type”, “Member 3: Name + Type” and other information.
  • Predefinition can include basic attributes and member lists; basic attributes can include name, description, GUID, model GUID+version and other information; member lists can include: “Member 1+value”, “Member 2+value”, “Member 3+value” " and other information.
  • the data model described in step 2) is a concept in the database, describes the structure of the data objects in the database, and is an abstract description of the objects in the objective world.
  • FIG. 2 is a schematic diagram of a data model provided by an embodiment of the present application.
  • the data model may include: basic attributes, member lists, and sub-model lists.
  • a data model with sub-models is a composite data model.
  • data model A in the figure is a composite data model
  • data model B and data model C are sub-models of data model A.
  • the submodel list records the predefined identifier of the data referenced as the submodel.
  • the dependency relationship between sub-models and data models is established.
  • the sub-model list of data model A includes the predefined identification of the data of data model B and data model C, such as: "name B1 + reference model ID + parameter value", " Name B2+referenced model ID+parameter value”, "name C3+referenced model ID+parameter value”, etc.
  • motor equipment has parameters such as speed, temperature, and current.
  • Establish a data model of the motor equipment The data model of the motor equipment can include members of speed, temperature, and current.
  • the data model of the motor equipment can uniformly describe similar motors.
  • the compressor workshop has a fixed plate production line, a static plate production line, and a final assembly line, and establish a data model of the compressor workshop.
  • the data model of the compressor workshop can include sub-models: fixed plate production line, static plate production line, Assembly production line, etc.
  • the data model of a compressor shop can describe similar compressor shop models.
  • the resource object that the APP model of the first application depends on (referred to as the resource object of the first application) to the resource library, and assign a unique identifier (such as a globally unique identifier) to the resource object of the first application.
  • resource objects are concepts in the database.
  • the binary file data is organized and managed in an object-oriented manner, and an identifier is assigned to each resource object.
  • the APP model of the first application can access the data of the resource object through the identifier of the resource object.
  • an icon is defined as a resource object and forms a dependency relationship with the APP model of the first application
  • the APP model of the first application can use this icon.
  • the APP model of the first application can read the video file and play it through the dependency relationship.
  • the predefined data in the system warehouse of the first application may be built by the developer itself, or may be purchased from an application store.
  • the resource objects in the resource library can be built by the developer or purchased from the application store.
  • the predefined identification of the first application is the identification of the first application.
  • predefined parameter values (such as attribute values and member values) can also be set.
  • the first application (that is, the finished application) can implement program logic of functional functions of multiple applications, that is, the first application can call other applications to implement the functions of other applications.
  • the following takes the example of multiple applications including a first application and a first sub-application (which may also be called a second application), that is, the first application can call the first sub-application to implement the function of the first sub-application, to introduce the method of developing the first application. process.
  • the process of developing the first application may be as follows:
  • predefined parameter values (such as attribute values and member values) can also be set.
  • FIG. 3 is a schematic diagram of the composition of the APP model of the first application provided by the embodiment of the present application.
  • the APP model of the first application may include: basic attributes, dependent data list, function function list, and sub-APP list.
  • Basic attributes may include: name, description, and GUID (ie, the unique identifier of the APP model of the first application).
  • the dependent data list records the data models or resource objects that the APP model of the first application needs to use, and establishes a relationship between the APP model of the first application and the dependent data models or resource objects.
  • Data 2: Data ID represent the predefined identification of the data of the dependent data model or the identification of the resource object.
  • the dependent data list may include the above-mentioned predefined list of dependent data and/or the above-mentioned dependent resource list.
  • the functional function list may include: Function 1, Function 2 and other functional functions of the APP model of the first application. These functional functions are the implementation of the program logic of the APP model of the first application.
  • the sub-APP list records the information of the first sub-application and the association relationship established between the APP model of the first application and the first sub-application.
  • the sub-APP list may include the identification and configuration parameters of the first sub-applications such as sub-APP-B1, APP-C2, APP-D3, etc. That is, APP model B, APP model C, and APP model D, etc. may be the above-mentioned first sub-application.
  • phase two and phase three that is, the process of starting and stopping the first application by the deployment module, will be introduced below.
  • FIG. 4 is a schematic flowchart of an application management method provided by an embodiment of the present application. As shown in Figure 4, the application management method may include:
  • the deployment module obtains the first target data.
  • the first target data includes application data of the first application.
  • application data includes: any combination of application structure information, application functional functions, application data parameters, and application resource requirement information.
  • the application data may include the structure information of the application and the functional functions of the application.
  • the application data may include: structural information of the application, functional functions of the application, and data parameters of the application.
  • the application data may include: structural information of the application, functional functions of the application, data parameters of the application, and resource requirement information of the application.
  • structural information is used to reflect the association between applications.
  • application A has an association relationship with application B, and application B is a sub-application of application A. That is, application A can call application B to implement the functions of application B.
  • application A is associated with application C.
  • Application C is the parent application of the application. That is, application C can call application A to implement the functions of application A.
  • the application structure information may include a sub-application list of the application.
  • structural information can be represented by a tree structure.
  • the functional function of the application is used to implement the function of the application.
  • functional functions may include: functional functions (codes) for starting applications, functional codes for stopping running applications, functional codes for implementing calling logic, functional codes for asynchronous callbacks, functional codes for scheduled callbacks, etc. .
  • the data parameters of the application may include: the configuration information of the application (also called application engineering), the data information of the application (also called data engineering), the APP model of the application, the data model of the application, the application's Data predefinition, application data objects, etc.
  • the resource requirement information of the application is used to indicate the computing node running the application and the resources required when the application is running.
  • the resource demand information of the application includes: the address information of the target computing node, memory demand information, and central processing unit (CPU) demand information.
  • the target computing node is a computing node running the first application.
  • the resource requirement information of application A includes: Internet Protocol (Internet Protocol, IP) address (such as 111.111.000.100), memory requirement information is 10 MB, and CPU requirement information is 500 MB (or 4 cores).
  • IP Internet Protocol
  • memory requirement information is 10 MB
  • CPU requirement information is 500 MB (or 4 cores).
  • IP Internet Protocol
  • application A runs on a computing node (such as computing node A) with an IP address of 111.111.000.100, it will occupy 10 MB of computing node A's memory and 500 MB of computing node A's CPU.
  • the resource requirement information may also include video memory.
  • application data in the embodiment of the present application may include the data shown in Figure 1, Figure 2 and Figure 3 (such as model, predefined, data model, APP model, etc.).
  • application data includes: application structure information, application functional functions, application data parameters, and application resource requirement information.
  • the structural information is used to reflect the correlation between applications;
  • the resource demand information includes: address information of the target computing node, memory demand information, and central processing unit CPU demand information.
  • the deployment module can obtain the relevant parameters of the application through the application data, and implement the functions of the application by combining the functional functions of the application and the relationships between the applications.
  • the application is deployed on the appropriate computing node to ensure that the computing node where the application is deployed can run the application and improve the stability of application operation.
  • the first target data may be machine code.
  • the deployment module can generate the first target data through the application data.
  • FIG. 5 is a schematic flowchart of an application management method provided by an embodiment of the present application. As shown in Figure 5, in the application management method, 301 may include:
  • the deployment module obtains the first application data.
  • the first application data is application data of the first application.
  • the application data of the first application may be a data code represented by a programming language.
  • the programming language may be a database language, such as Structured Query Language (SQL).
  • the programming language may be the computer programming language Java language.
  • the programming language may be the computer programming language Java language.
  • the first application data may include: data expressed in database language (such as structural information, data parameters and resource requirement information), and code (such as functional functions) expressed in computer programming language Python.
  • data expressed in database language such as structural information, data parameters and resource requirement information
  • code such as functional functions expressed in computer programming language Python.
  • multiple application data are stored in an application warehouse (or can be called a storage module).
  • the deployment module may obtain the first application data from the application warehouse according to the identification of the first application.
  • the deployment module determines the target computing node.
  • the deployment module may determine the target computing node based on the address information of the target computing node in the resource requirement information of the first application.
  • the target computing node is the computing node corresponding to the address information in the resource requirement information.
  • the target computing node is the computing node with the IP address 111.111.000.100.
  • the deployment module may determine the target computing node according to the resource requirements in the resource requirement information of the first application. Among them, resource requirements are used to indicate the computing resources required by the application. Specifically, the deployment module can obtain resource information of multiple computing nodes. Thereafter, the deployment module may compare the resource requirements of the first application with resource information of the plurality of computing nodes. Then, the deployment module uses the computing node among the plurality of computing nodes that meets the resource requirements of the first application as the target computing node.
  • computing node A CPU 4 cores, memory 8000 MB
  • computing node B CPU 8 cores, memory 10000 MB
  • the deployment module will use computing node B as the target computing node of application A.
  • the deployment module compiles the first application data according to the node information of the target computing node and generates the first target data.
  • the first target data matches the target computing node.
  • matching the first target data with the target computing node means that the target computing node can recognize and run the first target data.
  • the deployment module stores a correspondence between node information and code types (which can be called a first correspondence).
  • the deployment module may determine the target code type according to the node information of the target computing node and the first corresponding relationship, where the target code type is a machine code type that can be recognized by the target computing node. Afterwards, the deployment module can compile the first application data according to the target code type and generate the first target data, where the first target data is machine code of the target code type.
  • the embodiment of the present application does not limit the node information of the computing node.
  • the node information of the computing node may include: CPU manufacturer, CPU model, memory model, operating system type, etc.
  • Table 1 shows the correspondence between node information and code types.
  • the code type of the machine code that the computing node can recognize is code type A.
  • the code type of the machine code that the computing node can recognize is code type B.
  • the code type of the machine code that the computing node can recognize is code type C.
  • the deployment module can compile the first application data into machine code of code type A. (i.e. the first target data).
  • the deployment module performs adaptation according to the node information of the target computing node to determine the target code type. Afterwards, the deployment module can compile the first application data according to the target code type and generate the first target data, where the first target data is machine code of the target code type.
  • the node information of the computing node may also include: target code type.
  • the deployment module obtains the first application data, and the first application data is the application data of the first application. Afterwards, the deployment module can determine the target computing node, compile the first application data according to the node information of the target computing node, and generate the first target data, and the first target data matches the target computing node. That is to say, the deployment module may compile the first target data that matches the target computing node according to the node information of the target computing node. In this way, it can be guaranteed that the first target data can be run on any computing node, and the adaptability of the first target data and other computing nodes is improved.
  • the deployment module transmits the first target data to the target computing node, and controls the first application to enter the starting state from the stopped state.
  • the deployment module sends a first startup request to the target computing node, where the first startup request is used to instruct starting the first application, and the first startup request includes the first target data.
  • the target computing node may receive the first start request from the deployment module and run the first target data, so that the first application enters the start state from the stopped state.
  • the target computing node running the target data refers to running (or starting) the application program corresponding to the target data, and generating the application program corresponding to the target data.
  • An instance of the application that is, the running object).
  • the running object includes: object attributes (such as application identification, model identification, version information, parent application identification, etc.), object structure information, object data parameters, and object container attributes.
  • object attributes such as application identification, model identification, version information, parent application identification, etc.
  • object structure information such as application identification, model identification, version information, parent application identification, etc.
  • object data parameters such as application identification, model identification, version information, parent application identification, etc.
  • the target computing node includes a first container, and the first container is used to run the application program.
  • the deployment module may control the target computing node to allocate the first resource to the first container, so that the first container runs the first target data through the first resource, and the first resource is a computer resource corresponding to the resource requirement information of the first application.
  • the first resource may be resource requirement information in the first application data.
  • the target computing node can allocate 10 MB of memory, 500 MB of CPU, and 400 MB of video memory to the first container, and copy the first target data to the first container, so that the running engine in the first container can use 10 MB of memory, 500 MB of memory, and 500 MB of video memory.
  • the CPU and 400 MB of video memory run the first target data and generate an instance of the first application (that is, the running object).
  • the running engine has the basic capabilities of the application (such as download capabilities, scheduling capabilities, etc.).
  • the application data in the technical solution of this application does not include data related to basic capabilities. In this way, the amount of application data can be reduced and the transmission speed can be increased.
  • application data may also include operating mode information.
  • the operating mode information includes first mode information or second mode information.
  • the first mode information is used to indicate running the application in exclusive mode.
  • the second mode information is used to indicate running the application in shared mode.
  • running an application in exclusive mode means that the application runs in the form of a process and needs to occupy a container that is not running target data.
  • Running an application in shared mode means that the application runs in thread form and can share a container with the application's parent application.
  • shared mode running applications include serial running applications and parallel running applications. Running an application serially means that multiple applications share one thread, and running an application in parallel means that multiple applications use different threads.
  • the deployment module before controlling to allocate computer resources corresponding to the resource requirement information of the first application to the first container so that the first container runs the first target data through the first resource, the deployment module may be configured according to the first The running mode information in the application data determines whether to create a container for the first application. If the running mode information is the first mode information, the deployment module controls the target computing node to create the first container.
  • the deployment module needs to create a first container for the first application and allocate resources required by the first application to the first container. In this way, the first container can run the first target data through the resources to achieve the effect of starting the first application.
  • the target computing node includes a second container. If the running mode information is the second mode information, the deployment module determines the second container based on the structural information of the first application.
  • the second container is a container of the first parent application.
  • the first parent application can call the first application to realize the functions of the first application.
  • the structural information of the first application includes the association between the first application and the first parent application. .
  • the deployment module stores the corresponding relationship between the application and the container.
  • the deployment module may determine the first parent application based on the structural information of the first application. Afterwards, the deployment module can determine the second container based on the first parent application. Afterwards, the deployment module uses the second resource allocated for the second container to run the first target data, and the second resource is the computer resource corresponding to the resource requirement information of the first parent application.
  • the embodiments of this application do not limit the correspondence between applications and containers.
  • the correspondence between the application and the container may be the correspondence between the application identifier and the container identifier.
  • the structural information of the first application includes: the first parent application is application A, the container of application A is container A, and when the target computing node runs application A, container A has been assigned a second server to run application A. resource. If the running mode information of the first application is the second mode information, it can be determined that container A is the container running the first application. Afterwards, the deployment module can transmit the first target data to container A, and container A uses the second resource to run the first target data.
  • the running mode information is the second mode information
  • the first application can share a container with the first parent application.
  • the deployment module may determine the second container based on the structural information of the first application.
  • the deployment module has already controlled the allocation of the second resource for running the first parent application to the second container.
  • the deployment module can run the first target data using the second resources allocated for the second container. In this way, the second container can run the first target data through the resources to achieve the effect of starting the first application.
  • the deployment module receives the first stop instruction, controls the first application to enter the stopped state from the running state, and reclaims the computer resources of the target computing node allocated for the first application.
  • the first stop instruction is a stop instruction used to stop the first application.
  • the embodiment of the present application does not limit the source of the first stop command.
  • the target computing node may send a first stop instruction to the deployment module.
  • the first application may send a first stop instruction to the deployment module.
  • other computing nodes may send the first stop instruction to the deployment module.
  • the first stop instruction includes an identification of the first application.
  • the deployment module may send a first stop request to the target computing node according to the identification of the first application.
  • the first stop request is used to instruct the first application to enter the stopped state from the running state and recycle the allocation for the first application.
  • the computer resources of the target compute node may receive the first stop request, control the first application to enter the stopped state from the running state, and reclaim the computer resources of the target computing node allocated for the first application.
  • the deployment module obtains first target data, and the first target data includes application data of the first application. Afterwards, the deployment module transmits the first target data to the target computing node and controls the first application to enter the starting state from the stopped state. In this way, the local terminal does not need to download and install the application, and can control the startup of the first application through the deployment module, which simplifies the process of starting the application. Then, the deployment module may receive a stop instruction for stopping the first application, control the first application to enter the stopped state from the running state, and reclaim the computer resources of the target computing node allocated for the first application. In this way, when the first application is not used, the deployment module can control the first application to stop running and reclaim the computing resources allocated for the first application. This not only improves resource utilization, but also eliminates the need for users to uninstall the application, simplifying the process when the application is not in use.
  • the structural information of the first application may also include an association relationship between the first application and the first sub-application, and the first application can call the first sub-application to implement the function of the first sub-application.
  • the deployment module may monitor the structure information of the first application.
  • the deployment module may send a structure query message to the target computing node, where the structure query message is used to query the structure information of the first application. Afterwards, the target computing node responds to the structure query message and sends a structure response message to the deployment module, where the structure response message includes the structure information of the first application.
  • the structural information of the first application includes: application A-application B, application A-application C, that is, the sub-applications of application A include application B and application C.
  • the structural information of application A includes: application A-application B, application A-application C, and application A-application D. That is, the sub-applications of application A include application B, application C, and application D.
  • application A at time B adds a sub-application (ie application D).
  • the structural information of application A may also include: application E-application A, that is, application E is the parent application of application A.
  • the target computing node can periodically send structure response messages to the deployment module.
  • the target computing node may send the structure information of application A to the deployment module every 1 minute. For example, the list of sub-applications of application A.
  • the structural information of the first application includes an association relationship between the first application and the first sub-application, and the deployment module can monitor the structural information of the first application. In this way, the deployment module can understand changes in the associated applications of the first application.
  • the deployment module can query the structural information of the target application.
  • the deployment module may query the sub-applications (list) of the target application according to the ID of the target application.
  • the deployment module may monitor the status of the first sub-application, and the status of the first sub-application includes a running status and a stopped status.
  • the first sub-application of the first application includes: application A, application B and application C.
  • application A and application B are in the running state
  • application C is in the stopped state.
  • the deployment module may send a status query message to the target computing node, where the status query message is used to query the status of the first sub-application. Afterwards, the target computing node responds to the status query message and sends a status response message to the deployment module, where the status response message includes the status of the first sub-application.
  • the deployment module monitors the status of the first sub-application and can ensure that the status of the sub-application associated with the first application is understood.
  • the deployment module may determine whether the first sub-applications in the first application are all in a stopped state.
  • the first sub-application includes at least one application.
  • the deployment module receives a stop instruction for stopping the first application, controls the first application to enter the stopped state from the running state, and reclaims the computer resources allocated by the target computing node for the first application, which may include: if the application in the first sub-application The states are all in the stopped state, and the deployment module controls the first application to enter the stopped state from the running state, and reclaims the computer resources allocated by the target computing node for the first application.
  • the first sub-application includes: application A, application B and application C. If the states of application A, application B, and application C are all in the stopped state, the first application is controlled to enter the stopped state from the running state, and the computer resources allocated by the target computing node for the first application are recovered.
  • the first application can call the first sub-application to implement the functions of the first sub-application.
  • the status of the first sub-application is the stopped state, it means that the first application has not called the first sub-application and the first application has not been used.
  • the deployment module can control the first application to enter the stopped state from the running state, and reclaim the computer resources allocated by the target computing node for the first application. In this way, the deployment module can control the first application in combination with the status of the first sub-application to prevent the first application from being stopped while calling other applications, thereby improving the accuracy of stopping the application.
  • the stop instruction for stopping the first application is rejected.
  • the deployment module rejects the stop instruction for stopping the first application, that is, it does not stop running the first application and does not recycle it into the first application. allocated computer resources.
  • the deployment module may reject the stop instruction to stop the first application. In this way, it is possible to prevent the first application from being stopped while calling other applications, thereby improving the accuracy of stopping the application.
  • the first sub-application can be started after the first application is started.
  • the deployment module may receive a launch instruction for launching the first sub-application. Afterwards, the deployment module can obtain the application data of the first sub-application and compile the application data of the first sub-application into the second target data. Then, the deployment module can transmit the second target data to the target computing node, and control the allocation of a third resource to the third container, so that the third container runs the second target data through the third resource, and the third resource is the first sub-application. Computer resources corresponding to resource requirement information. Then, the deployment module may receive a stop instruction for stopping the first sub-application, control the first sub-application to enter the stopped state from the running state, and recycle the third resource.
  • the first application may send a startup instruction to start the first sub-application to the deployment module.
  • the first application may send a stop instruction for stopping the first sub-application to the deployment module.
  • the deployment module receives a startup instruction for starting the first sub-application. Afterwards, the deployment module can obtain the application data of the first sub-application and compile the application data of the first sub-application into the second target data. Then, the deployment module may transmit the second target data to the target computing node, and control the allocation of a third resource to the third container, so that the third container runs the second target data through the third resource. Then, the deployment module receives the stop instruction for stopping the first sub-application, controls the first sub-application to enter the stopped state from the running state, and recycles the third resource. In this way, the local terminal does not need to download and install the application, and can control the startup of the first sub-application through the deployment module, which simplifies the process of starting the application.
  • the deployment module can control the first sub-application to stop running and recycle the third resource. This not only improves resource utilization, but also eliminates the need for users to uninstall the application, simplifying the process when the application is not in use.
  • FIG. 6 is a schematic flowchart of an application management method provided by an embodiment of the present application. As shown in Figure 6, the application management method may include:
  • the deployment module sends the first query message to the target computing node.
  • the first query message is used to query applications in a running state.
  • the target computing node refers to a node running an application or an environmental system, etc.
  • the target computing node may also be called a running system.
  • the target computing node receives the first query message from the deployment module.
  • the target computing node queries the running application.
  • the target computing node stores the corresponding relationship between the application and the application state.
  • the target computing node can query the running application based on the correspondence between the application and the application status and the running status.
  • the target computing node sends the first response message to the deployment module.
  • the first response message includes an identification of the application in a running state.
  • the deployment module receives the first response message from the target computing node.
  • the deployment module may receive a first response message from the target computing node, where the first response message includes the identification of the application in the running state. In this way, the deployment module can understand the running applications and avoid stopping the running applications.
  • the deployment module may query the status of the target application according to the identification of the target application.
  • the deployment module may send a second query message to the target computing node, where the second query message is used for the status of the target application, and the second query message includes the identification of the target application.
  • the target computing node can determine the status of the target application based on the identification of the target application.
  • the target computing node may send a second response message to the deployment module, where the second response message includes the status of the target application.
  • the query message can also query the status of associated applications.
  • the deployment module can query the status of the sub-application based on the parent application ID and sub-application name.
  • the query message may include target computing node address information.
  • Query messages are used to query the status of applications deployed in the target computing node.
  • FIG. 7 is a schematic flowchart of an application management method provided by an embodiment of the present application. As shown in Figure 7, the application management method may include:
  • the deployment module sends the first subscription message to the target computing node.
  • the first subscription message is used to subscribe to applications whose status changes.
  • state changes include: changing from running state to stopping state and changing from stopping state to running state.
  • the target computing node receives the first subscription message from the deployment module.
  • the target computing node detects whether the status of the application has changed.
  • the target computing node can periodically detect the status of the application based on the application identifier.
  • the target compute node can monitor the status of the application.
  • the target computing node executes 604.
  • the target computing node sends status change information to the deployment module.
  • the status change information is used to indicate that the status of the application has changed.
  • the state change information is: application A changes from the running state to the stopped state, and application B changes from the stopped state to the running state.
  • the deployment module can receive status change information from the target computing node.
  • the subscription message may include the identification of the target application, and the subscription message is used to subscribe to the status of the target application. That is to say, when the status of the target application changes, the target computing node can send the status of the target application to the deployment module.
  • subscribing to messages can also subscribe to the status of associated applications.
  • the deployment module can subscribe to the status of a child application based on the parent application ID and child application name.
  • the subscription message may include target computing node address information.
  • Subscription messages are used to subscribe to the status of applications deployed in the target computing node.
  • the deployment module sends the first subscription message to the target computing node. Later, when the status of the application changes, the deployment module may receive status change information from the target computing node, and the status change information is used to indicate that the status of the application changes. In this way, the deployment module can understand the status of the application in real time.
  • the deployment module can query the application and the status of the application based on the target computing node.
  • the deployment module can query the applications deployed in the computing node with address A (such as application A, application B, and application C).
  • address A such as application A, application B, and application C.
  • the status of application A is the running state
  • the status of application B and application C is the stopped state.
  • the application management system includes a storage module (i.e., application warehouse), a deployment module, and a running system (i.e., target computing node).
  • application A, application B, application C, application D, application E, application F and application G are stored in the application warehouse.
  • Application B, application D and application G are all sub-applications of application A, that is, application A can call application B, application D and application G to implement corresponding application functions.
  • Application C is a sub-application of application B.
  • Application E is a sub-application of application D
  • application F is not a sub-application of E.
  • the deployment module can obtain the target data of application A from the storage module. After that, the deployment module determines that the running mode of application A is the exclusive mode, then controls the running system to create running container 1, allocates resources to running container 1, and sends the target data of application A to the running system, so that running container A runs application A's target data. Later, when application A in running container 1 (referred to as running application A for short) needs to call application B, running application A can send a request to run application B to the deployment module. Afterwards, the deployment module obtains the target data of application B from the storage module.
  • the deployment module determines that the running mode of application A is the exclusive mode, then controls the running system to create running container 1, allocates resources to running container 1, and sends the target data of application A to the running system, so that running container A runs application A's target data. Later, when application A in running container 1 (referred to as running application A for short) needs to call application B, running application A can send a request to run application B to the deployment module. Afterwards, the deployment module
  • the deployment module determines that the running mode of application B is the exclusive mode, then controls the running system to create running container 2, allocates resources to running container 2, and sends the target data of application B to the running system.
  • the deployment module can start application C according to the target data of application C.
  • the deployment module can detect whether the status of application B, application D, and application G is in the stopped state. Wherein, when detecting whether the status of application B and application D is in the stopped state, the deployment module may detect whether the status of the sub-applications of application B and application D is in the stopped state. For example, when the status of application C is the stopped state, the deployment module can determine that the status of application B is the stopped state. When application E is in the stopped state and application F is in the running state, the deployment module can determine that application D is in the running state. Therefore, when the status of application C, application E, application F and application G are all in the stopped state, the deployment module can stop running application A, change the status of application A to the stopped state, and reclaim the running resources of running container 1.
  • the application store, application warehouse, local terminal, etc. described in the embodiments of the present application may include one or more hardware structures and/or software modules for implementing the corresponding application management methods mentioned above.
  • Execution hardware structures and/or software modules may constitute an electronic device.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software driving the hardware depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each specific application, but such implementations should not be considered beyond the scope of this application.
  • FIG. 9 is a schematic structural diagram of an application management device provided by an embodiment of the present application.
  • the application management device may include: an acquisition unit 801, a processing unit 802, and a sending unit 803.
  • the obtaining unit 801 is used to obtain first target data, where the first target data includes application data of the first application.
  • the processing unit 802 is used to transmit the first target data to the target computing node, and control the first application to enter the starting state from the stopped state.
  • the obtaining unit 801 is also configured to receive a stop instruction for stopping the first application.
  • the processing unit 802 is also used to control the first application to enter the stopped state from the running state, and to reclaim the computer resources of the target computing node allocated for the first application.
  • application data includes: any combination of application structural information, application functional functions, application data parameters, and application resource requirement information.
  • the structural information is used to reflect the correlation between applications;
  • the resource demand information includes: address information of the target computing node, memory demand information, and central processing unit CPU demand information.
  • the obtaining unit 801 is also used to obtain first application data, where the first application data is application data of the first application.
  • the processing unit 802 is also used to determine the target computing node.
  • the processing unit 802 is also configured to compile the first application data according to the node information of the target computing node and generate the first target data, and the first target data matches the target computing node.
  • the processing unit 802 is also used to control the allocation of a first resource to the first container, so that the first container runs the first target data through the first resource, and the first resource is corresponding to the resource requirement information of the first application.
  • Computer resources are also used to control the allocation of a first resource to the first container, so that the first container runs the first target data through the first resource, and the first resource is corresponding to the resource requirement information of the first application.
  • the application data also includes operating mode information.
  • the processing unit 802 is also configured to control the creation of the first container if the running mode information is first mode information, and the first mode information is used to indicate running the application in exclusive mode.
  • the target computing node includes a second container. If the running mode information is the second mode information, the second container is determined according to the structural information of the first application.
  • the second container is the container of the first parent application, and the first parent application can call the first application to implement the first application.
  • the structure information of the first application includes the association relationship between the first application and the first parent application; the second mode information is used to indicate running the application in shared mode.
  • the first target data is run using the second resource allocated to the second container, and the second resource is the computer resource corresponding to the resource requirement information of the first parent application.
  • the structural information of the first application includes an association relationship between the first application and the first sub-application, and the first application can call the first sub-application to realize the function of the first sub-application.
  • the processing unit 802 is also used to monitor the structure information of the first application.
  • the processing unit 802 is also used to monitor the status of the first sub-application.
  • the status of the first sub-application includes a running status and a stopped status.
  • the first sub-application includes at least one application.
  • the processing unit 802 is also configured to, if the status of the applications in the first sub-application are all stopped, control the first application to enter the stopped state from the running state, and reclaim the computer resources allocated by the target computing node for the first application.
  • the processing unit 802 is also configured to reject a stop instruction for stopping the first application if there is an application in the running state in the first sub-application.
  • the obtaining unit 801 is also used to receive a startup instruction for starting the first sub-application.
  • the acquisition unit 801 is also used to acquire application data of the first sub-application, and compile the application data of the first sub-application into second target data.
  • the processing unit 802 is also used to transmit the second target data to the target computing node, and control the allocation of a third resource to the third container, so that the third container runs the second target data through the third resource, and the third resource is the first subsystem.
  • Computer resources corresponding to the resource requirement information of the application is also configured to receive a stop instruction for stopping the first sub-application.
  • the processing unit 802 is also used to control the first sub-application to enter the stopped state from the running state, and to recycle the third resource.
  • the sending unit 803 is configured to send a first query message to the target computing node, where the first query message is used to query applications in a running state.
  • the obtaining unit 801 is also configured to receive a first response message from the target computing node, where the first response message includes an identification of the application in a running state.
  • the sending unit 803 is configured to send a first subscription message to the target computing node, where the first subscription message is used to subscribe to an application whose status changes.
  • the acquisition unit 801 is also configured to receive state change information from the target computing node when the state of the application changes, and the state change information is used to indicate that the state of the application changes.
  • FIG 10 shows another possible structure of the application management device involved in the above embodiment.
  • the application management device includes: a processor 901 and a communication interface 902.
  • the processor 901 is used to control and manage the actions of the device, for example, to perform various steps in the method flow shown in the above method embodiments, and/or to perform other processes of the technology described herein.
  • the communication interface 902 is used to support communication between the application management device and other network entities.
  • the application management device may also include a memory 903 and a bus 904.
  • the memory 903 is used to store program codes and data of the device.
  • the above-mentioned processor 901 can implement or execute various exemplary logical blocks, units and circuits described in conjunction with the disclosure of the present invention.
  • the processor may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute the various illustrative logical blocks, units and circuits described in connection with this disclosure.
  • a processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
  • the memory 903 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as read-only memory, flash memory, hard disk or solid state drive; the memory may also include the above-mentioned types of memory. combination.
  • the bus 904 may be an Extended Industry Standard Architecture (EISA) bus or the like.
  • EISA Extended Industry Standard Architecture
  • the bus 904 can be divided into an address bus, a data bus, a control bus, etc. For ease of presentation, only one thick line is used in Figure 10, but it does not mean that there is only one bus or one type of bus.
  • the embodiment of the present application can divide each execution subject involved in the application management method into functional modules according to the above method example.
  • the above integrated modules can be implemented in the form of hardware or software function modules.
  • the division of modules in the embodiment of the present application is schematic and is only a logical function division. In actual implementation, there may be other division methods.
  • each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module.
  • An embodiment of the present application also provides an electronic device, which may be a hardware device corresponding to an application store, a device on the development side, or the above-mentioned user device.
  • the electronic device includes: a processor, a memory used to store instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the method as described in the previous embodiment.
  • embodiments of the present application also provide a computer-readable storage medium on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device implements the implementation as described in the foregoing embodiments. method described.
  • the above-mentioned computer-readable storage medium may be a non-transitory computer-readable storage medium.
  • the non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, Floppy disks and optical data storage devices, etc.
  • the embodiment of the present application further provides a computer program product, including a computer program product Computer readable code, or a non-volatile computer readable storage medium carrying computer readable code, when the computer readable code is run in an electronic device, the processor in the electronic device implements the aforementioned implementation method described in the example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

本申请关于一种应用管理方法及相关设备,涉及软件技术领域。本申请中,获取第一目标数据,所述第一目标数据包括第一应用的应用数据。将所述第一目标数据传送到目标计算节点,控制所述第一应用从停止状态进入启动状态。接收用于停止所述第一应用的停止指令,控制所述第一应用从运行状态进入停止状态,并回收为所述第一应用分配的所述目标计算节点的计算机资源。本申请可以简化启动应用程序的过程和停止使用应用程序的过程。

Description

应用管理方法及相关设备
本申请要求于2022年06月30日提交的、申请号为202210763045.9的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及软件技术领域,尤其涉及一种应用管理方法及相关设备。
背景技术
应用程序(application,APP)也称应用,是指为完成某项或多项特定工作的计算机程序,可以运行在用户模式和用户进行交互,可以具有可视的用户界面。
目前,应用的开发者可以将开发好的应用上架到应用商店中,需要使用APP的用户可以从应用商店中下载应用,并将下载的应用保存到本地终端设备(如手机、平板电脑、智能电视等)。之后,用户可以通过本地终端设备安装APP,并运行APP。
但是,目前的技术方案中,本地终端设备需要下载、安装后,才可以运行APP,运行APP的过程较为繁琐。
发明内容
本申请提供一种应用管理方法及相关设备,可以简化启动应用程序的过程。
本申请的技术方案如下:
第一方面,本申请提供一种应用管理方法,所述方法包括:
获取第一目标数据,第一目标数据包括第一应用的应用数据。将第一目标数据传送到目标计算节点,控制第一应用从停止状态进入启动状态。接收用于停止第一应用的停止指令,控制第一应用从运行状态进入停止状态,并回收为第一应用分配的目标计算节点的计算机资源。
一些实现方式中,应用数据包括:应用的结构信息、应用的功能函数、应用的数据参数、应用的资源需求信息中的任意种组合。其中,结构信息用于反映应用之间的关联关系;资源需求信息包括:目标计算节点的地址信息、内存需求信息、中央处理器CPU需求信息。
一些实现方式中,上述“获取第一目标数据”的方法可以包括:获取第一应用数据,第一应用数据为第一应用的应用数据。确定目标计算节点。根据目标计算节点的节点信息编译第一应用数据,生成第一目标数据,第一目标数据与目标计算节点相匹配。
一些实现方式中,目标计算节点包括第一容器。上述“控制第一应用从停止状态进入启动状态”的方法可以包括:控制为第一容器分配第一资源,以使得第一容器通过第一资源运行第一目标数据,第一资源为第一应用的资源需求信息对应的计算机资源。
一些实现方式中,应用数据还包括运行模式信息,该应用管理方法还可以包括:若运行模式信息为第一模式信息,则控制创建第一容器,第一模式信息用于指示以独占模式运行应用。
一些实现方式中,目标计算节点包括第二容器。上述“控制第一应用从停止状态进入启动状态”的方法可以包括:若运行模式信息为第二模式信息,则根据第一应用的结构信息,确定第二容器,第二容器为第一父应用的容器,第一父应用能够调用第一应用以实现第一应用的功能,第一应用的结构信息包括第一应用与第一父应用之间的关联关系;第二模式信息用于指示以共享模式运行应用。利用为第二容器分配的第二资源运行第一目标数据,第二资源为第一父应用的资源需求信息对应的计算机资源。
一些实现方式中,第一应用的结构信息包括第一应用与第一子应用之间的关联关系,第一应用能够调用第一子应用以实现第一子应用的功能。该应用管理方法还可以包括:监听第一应用的结构信息。
一些实现方式中,该应用管理方法还可以包括:监听第一子应用的状态,第一子应用的状态包括运行状态和停止状态。
一些实现方式中,第一子应用包括至少一个应用。上述“接收用于停止第一应用的停止指令,控制第一应用从运行状态进入停止状态,并回收目标计算节点为第一应用分配的计算机资源”的方法包括:若第一子应用中的应用的状态均为停止状态,则控制第一应用从运行状态进入停止状态,并回收目标计算节点为第一应用分配的计算机资源。
一些实现方式中,该应用管理方法还可以包括:若第一子应用中存在状态为运行状态的应用,则拒绝用于停止第一应用的停止指令。
一些实现方式中,该应用管理方法还可以包括:接收用于启动第一子应用的启动指令。获取第一子应用的应用数据,并将第一子应用的应用数据编译为第二目标数据。将第二目标数据传送到目标计算节点,控制为第三容器分配第三资源,以使得第三容器通过第三资源运行第二目标数据,第三资源为第一子应用的资源需求信息对应的计算机资源。接收用于停止第一子应用的停止指令,控制第一子应用从运行状态进入停止状态,并回收第三资源。
一些实现方式中,该应用管理方法还可以包括:向目标计算节点发送第 一查询消息,第一查询消息用于查询处于运行状态的应用。接收来自目标计算节点的第一响应消息,第一响应消息包括处于运行状态的应用的标识。
一些实现方式中,该应用管理方法还可以包括:向目标计算节点发送第一订阅消息,第一订阅消息用于订阅状态发生变更的应用。在应用的状态发生变更的情况下,接收来自目标计算节点的状态变更信息,状态变更信息用于指示应用的状态发生变更。
第二方面,本申请提供一种应用管理装置,该装置包括:获取单元和处理单元。
获取单元,用于获取第一目标数据,第一目标数据包括第一应用的应用数据。处理单元,用于将第一目标数据传送到目标计算节点,控制第一应用从停止状态进入启动状态。获取单元,还用于接收用于停止第一应用的停止指令。处理单元,还用于控制第一应用从运行状态进入停止状态,并回收为第一应用分配的目标计算节点的计算机资源。
一些实现方式中,应用数据包括:应用的结构信息、应用的功能函数、应用的数据参数、应用的资源需求信息中的任意种组合。其中,结构信息用于反映应用之间的关联关系;资源需求信息包括:目标计算节点的地址信息、内存需求信息、中央处理器CPU需求信息。
一些实现方式中,获取单元,还用于获取第一应用数据,第一应用数据为第一应用的应用数据。处理单元,还用于确定目标计算节点。处理单元,还用于根据目标计算节点的节点信息编译第一应用数据,生成第一目标数据,第一目标数据与目标计算节点相匹配。
一些实现方式中,处理单元,还用于控制为第一容器分配第一资源,以使得第一容器通过第一资源运行第一目标数据,第一资源为第一应用的资源需求信息对应的计算机资源。
一些实现方式中,应用数据还包括运行模式信息。处理单元,还用于若运行模式信息为第一模式信息,则控制创建第一容器,第一模式信息用于指示以独占模式运行应用。
一些实现方式中,目标计算节点包括第二容器。若运行模式信息为第二模式信息,则根据第一应用的结构信息,确定第二容器,第二容器为第一父应用的容器,第一父应用能够调用第一应用以实现第一应用的功能,第一应用的结构信息包括第一应用与第一父应用之间的关联关系;第二模式信息用于指示以共享模式运行应用。利用为第二容器分配的第二资源运行第一目标数据,第二资源为第一父应用的资源需求信息对应的计算机资源。
一些实现方式中,第一应用的结构信息包括第一应用与第一子应用之间的关联关系,第一应用能够调用第一子应用以实现第一子应用的功能。处理单元,还用于监听第一应用的结构信息。
一些实现方式中,处理单元,还用于监听第一子应用的状态,第一子应用的状态包括运行状态和停止状态。
一些实现方式中,第一子应用包括至少一个应用。处理单元,还用于若第一子应用中的应用的状态均为停止状态,则控制第一应用从运行状态进入停止状态,并回收目标计算节点为第一应用分配的计算机资源。
一些实现方式中,处理单元,还用于若第一子应用中存在状态为运行状态的应用,则拒绝用于停止第一应用的停止指令。
一些实现方式中,获取单元,还用于接收用于启动第一子应用的启动指令。获取单元,还用于获取第一子应用的应用数据,并将第一子应用的应用数据编译为第二目标数据。处理单元,还用于将第二目标数据传送到目标计算节点,控制为第三容器分配第三资源,以使得第三容器通过第三资源运行第二目标数据,第三资源为第一子应用的资源需求信息对应的计算机资源。获取单元,还用于接收用于停止第一子应用的停止指令。处理单元,还用于控制第一子应用从运行状态进入停止状态,并回收第三资源。
一些实现方式中,该应用管理装置还可以包括发送单元。发送单元,用于向目标计算节点发送第一查询消息,第一查询消息用于查询处于运行状态的应用。获取单元,还用于接收来自目标计算节点的第一响应消息,第一响应消息包括处于运行状态的应用的标识。
一些实现方式中,发送单元,用于向目标计算节点发送第一订阅消息,第一订阅消息用于订阅状态发生变更的应用。获取单元,还用于在应用的状态发生变更的情况下,接收来自目标计算节点的状态变更信息,状态变更信息用于指示应用的状态发生变更。
第三方面,本申请提供一种电子设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第一方面中任意一种可能的实现方式所述的方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第一方面中任意一种可能的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可 读代码在电子设备中运行时,所述电子设备中的处理器实现如第一方面中任意一种可能的实现方式所述的方法。
基于上述第一方面至第五方面中的任一方面,本申请至少具备如下有益效果:
本申请中,应用管理装置(如运维系统中的部署模块)获取第一目标数据,第一目标数据包括第一应用的应用数据。之后,部署模块将第一目标数据传送到目标计算节点,控制第一应用从停止状态进入启动状态。接收用于停止第一应用的停止指令,控制第一应用从运行状态进入停止状态,并回收为第一应用分配的目标计算节点的计算机资源。这样一来,本地终端无需下载安装应用,可以通过部署模块控制启动第一应用,简化了启动应用程序的过程。并且,在不使用第一应用的情况下,部署模块可以控制第一应用停止运行,并回收为第一应用分配的计算资源。如此,不仅可以提高资源的利用率,而且无需用户卸载应用程序,简化了不使用应用程序的过程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1为本申请实施例提供的模型和预定义的关系示意图;
图2为本申请实施例提供的数据模型的示意图;
图3为本申请实施例提供的APP模型的组成示意图;
图4为本申请实施例提供的应用管理方法的流程示意图;
图5为本申请实施例提供的应用管理方法的又一流程示意图;
图6为本申请实施例提供的应用管理方法的又一流程示意图;
图7为本申请实施例提供的应用管理方法的又一流程示意图;
图8为本申请实施例提供的一种应用管理系统的组成示意图;
图9为本申请实施例提供的应用管理装置的结构示意图;
图10为本申请实施例提供的应用管理装置的另一结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第 一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
“和/或”用于描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
应用程序也称应用,是指为完成某项或多项特定工作的计算机程序,可以运行在用户模式和用户进行交互,可以具有可视的用户界面。
目前,应用的开发者可以将开发好的应用上架到应用商店中,需要使用APP的用户可以从应用商店中下载应用,并将下载的应用保存到本地终端设备(如手机、平板电脑、智能电视等)。之后,用户可以通过本地终端设备安装APP,并运行APP。
但是,目前的技术方案中,本地终端设备需要下载、安装后,才可以运行APP,运行APP的过程较为繁琐。并且,在本地终端不使用(即停止运行)应用程序之后,可以卸载该应用程序,以节约本地终端设备的存储资源。也就是说,目前的技术方案中,操作应用程序的完成流程包括:拷贝应用(下载应用)-传输应用(安装应用)-启动应用-停止应用-卸载应用,操作应用程序的过程较为繁琐。其中,在应用程序不使用的情况下,若不卸载应用,还会占用存储资源。并且,目前的技术方案中,则更新应用程序时,需要再次执行卸载安装操作,过程较为繁琐。并且,目前下载的文件为可执行程序文件,其数据量较大,影响传输的速度。
基于此,本申请实施例提供了一种应用管理方法,该方法可以应用于运维系统(如运维系统中的部署模块),运维系统中的部署模块获取第一目标数据,第一目标数据包括第一应用的应用数据。之后,部署模块将第一目标数据传送到目标计算节点,控制第一应用从停止状态进入启动状态。接收用于停止第一应用的停止指令,控制第一应用从运行状态进入停止状态,并回收为第一应用分配的目标计算节点的计算机资源。这样一来,本地终端无需 下载安装应用,可以通过部署模块控制启动第一应用,简化了启动应用程序的过程。并且,在不使用第一应用的情况下,部署模块可以控制第一应用停止运行,并回收为第一应用分配的计算资源。如此,不仅可以提高资源的利用率,而且无需用户卸载应用程序,简化了不使用应用程序时的过程。此外,在更新应用程序时,仍可以采用本申请技术方案,以简化使用应用程序的过程。
需要说明的是,在工业相关场景中,可以基于服务器、计算机等硬件设备构建一个工业互联网平台,该工业互联网平台可以包括:运维系统(如运维系统的部署模块)、应用仓库(如应用仓库中的存储模块)和运行系统。应用的开发者可以将开发好的应用上架到工业互联网平台中,需要使用应用的用户可以从工业互联网平台中下载使用应用。
示例性地,该方法具体可以在运维系统(如运维系统的部署模块)对应的硬件设备上实现,如:硬件设备可以包括服务器、计算机等。其中,服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本申请对应用仓库和应用商店对应的硬件设备的具体实现方式不作限制。
要说明的是,本申请实施例中涉及到的运维系统(如运维系统的部署模块)侧实现步骤,均可以是由运维系统的部署模块对应的硬件设备来实现。本申请实施例中涉及到的应用仓库中的存储模块侧实现步骤,均可以是由应用仓库中的存储模块对应的硬件设备来实现。本申请实施例中涉及到的运行系统侧实现步骤,均可以是由运行系统对应的硬件设备来实现。其中,运维系统的部署模块、应用仓库中的存储模块和和运行系统可以部署在同一个硬件设备上。或者,运维系统的部署模块、应用仓库中的存储模块和运行系统可以部署在不同硬件设备上。
下面以部署模块、应用仓库为例,介绍本申请实施例提供的应用管理方法。
在本申请实施例中,对应用进行管理的方法可以分为三个阶段,三个阶段包括:阶段一、阶段二和阶段三。其中,阶段一为开发应用,生成开发完成的应用(可以称为成品应用)。阶段二为启动成品应用。阶段三为停止成品应用。
在一些实施例中,第一应用(即成品应用)可以仅实现第一应用自身的功能函数的程序逻辑。
在本申请实施例中,开发第一应用的过程可以如下:
1)创建第一应用的APP模型(即应用模型),并为第一应用的APP模型分配唯一标识(如全球唯一标识)。例如,第一应用的开发者可以在开发工作室中创建第一应用的APP模型。
2)定义第一应用的APP模型依赖的数据模型,发布第一应用的APP模型依赖的数据模型的数据预定义(简称第一应用的数据预定义)。
需要说明的是,本申请中提到了模型和预定义的概念,模型是在建模抽象时描述对象结构的信息,预定义是确定了结构的模型并配置有参数的信息。预定义上记录了模型的信息,预定义用来实例化对象,实例化对象是按照其模型的结构构建对象的结构,并把参数值作为对象的初始值。预定义也能被其他模型引用为子预定义。
例如,创建数据模型时,操作可以包括:新建模型,分配名字和标识;添加成员,指定成员类型;删除成员;添加或删除子预定义;设置子预定义的初值;更新模型版本;发布某模型版本生成预定义等。创建预定义时,操作可以包括:指定某模型版本发布(创建)预定义;分配名称和标识;设置预定义的参数值(属性的值和成员的值)等。
图1为本申请实施例提供的模型和预定义的关系示意图。
如图1所示,模型可以包括基本属性和成员列表;基本属性可以包括名称、描述、全局唯一标识符(globally unique identifier,GUID)、版本等信息;成员列表可以包括:“成员1:名称+类型”、“成员2:名称+类型”、“成员3:名称+类型”等信息。
预定义可以包括基本属性和成员列表;基本属性可以包括名称、描述、GUID、模型GUID+版本等信息;成员列表可以包括:“成员1+值”、“成员2+值”、“成员3+值”等信息。
步骤2)中所述的数据模型是数据库中的概念,描述了数据库中数据对象的结构,是客观世界对象的抽象描述。
示例性地,图2为本申请实施例提供的数据模型的示意图。如图2所示,数据模型可以包括:基本属性、成员列表、以及子模型列表。具有子模型的数据模型是复合的数据模型,如:图中的数据模型A为复合的数据模型,数据模型B和数据模型C是数据模型A的子模型。
数据模型中,基本属性描述了数据的固有属性,包括名称、描述、GUID、时间属性(如精度)、空间属性(如坐标系、几何形状)等;成员列表描述了自由定义的字段,每个成员描述其字段名称、数据类型,如:成员1、成员2等。子模型列表中记录了引用为子模型的数据模型的数据预定义的标识,建 立了子模型和数据模型之间的依赖关系,例如,数据模型A的子模型列表包括数据模型B和数据模型C的数据预定义的标识,如:“名称B1+引用模型ID+参数值”、“名称B2+引用模型ID+参数值”、“名称C3+引用模型ID+参数值”等。
例如,电机设备都具有转速、温度、电流等参数,建立电机设备的数据模型,电机设备的数据模型可以包括转速、温度、电流的成员,通过电机设备的数据模型可以对同类的电机统一描述。
又例如,假设压缩机车间内部都有定盘生产线、静盘生产线、总装生产线,建立压缩机车间的数据模型,压缩机车间的数据模型的内部可以包括子模型:定盘生产线、静盘生产线、总装生产线等。压缩机车间的数据模型可以描述同类的压缩机车间模型。
3)定义第一应用的APP模型依赖的资源对象(简称第一应用的资源对象)到资源库,并为第一应用的资源对象分配唯一标识(如全球唯一标识)。
其中,资源对象是数据库中的概念。把二进制文件数据进行对象化组织和管理,为每个资源对象分配标识,第一应用的APP模型能够通过资源对象的标识访问资源对象的数据。
例如,把图标定义为资源对象和第一应用的APP模型之间形成依赖关系,则第一应用的APP模型可以使用这个图标。又例如,把视频文件定义为资源对象和第一应用的APP模型之间形成依赖关系,则第一应用的APP模型可以通过依赖关系读取视频文件进行播放。
4)在第一应用的APP模型上建立第一应用的依赖数据预定义列表,从第一应用的系统仓库中选择第一应用的数据预定义,将第一应用的数据预定义的标识记录在第一应用的依赖数据预定义列表上。其中,第一应用的系统仓库中的数据预定义可以是开发者自建的,也可以是从应用商店上购买的。
5)在第一应用的APP模型上建立第一应用的依赖资源列表,从资源库中选择第一应用的资源对象,把第一应用的资源对象的标识记录在第一应用的依赖资源列表上。其中,资源库中的资源对象可以是开发者自建的,也可以是从应用商店上购买的。
6)编写第一应用的APP模型的功能函数的程序逻辑。
7)根据第一应用的APP模型生成第一应用的APP模型的预定义(简称第一应用的预定义,也可以称为第一应用的配置信息),并为第一应用的预定义分配唯一标识(如全球唯一标识)。第一应用的预定义的标识即第一应用的标识。
其中,发布第一应用的预定义时,还可以设置预定义的参数值(如:属性的值和成员的值)。
在另一些实施例中,第一应用(即成品应用)可以实现多个应用的功能函数的程序逻辑,即第一应用可以调用其他应用实现其他应用的功能。以下以多个应用包括第一应用和第一子应用(也可以称为第二应用),即第一应用可以调用第一子应用实现第一子应用的功能为例,介绍开发第一应用的过程。
在本申请实施例中,开发第一应用的过程可以如下:
a)执行上述步骤1)-步骤5)。
b)添加第一应用的APP模型的子APP列表,从第一应用的系统仓库中选择作为子APP的第一子应用的预定义,将第一子应用的预定义的标识记录在第一应用的APP模型的子APP列表上。第一子应用的预定义即从应用商店获取的第一子应用。第一子应用的预定义的标识即前述实施例中所述的第一子应用的标识。
其中,发布第一应用的预定义时,还可以设置预定义的参数值(如:属性值和成员值)。
示例性地,图3为本申请实施例提供的第一应用的APP模型的组成示意图。
如图3所示,第一应用的APP模型可以包括:基本属性、依赖数据列表、功能函数列表、以及子APP列表。
基本属性可以包括:名称、描述、以及GUID(即第一应用的APP模型的唯一标识)。
依赖数据列表记录了第一应用的APP模型需要使用的数据模型或资源对象,在第一应用的APP模型,以及依赖的数据模型或资源对象之间建立了关系。例如,“数据1:数据ID”、“数据2:数据ID”等表示依赖的数据模型的数据预定义的标识或资源对象的标识。依赖数据列表可以包括上述依赖数据预定义列表和/或上述依赖资源列表。
功能函数列表可以包括:函数1、函数2等第一应用的APP模型的功能函数,这些功能函数是第一应用的APP模型的程序逻辑的实现。
子APP列表中记录了第一子应用的信息,在第一应用的APP模型和第一子应用之间建立的关联关系。例如,子APP列表可以包括子APP-B1、APP-C2、APP-D3等第一子应用的标识和配置参数。也即,APP模型B、APP模型C、以及APP模型D等可以是上述第一子应用。
c)执行上述步骤6)-步骤7)。
在第一应用开发完成之后,下面对阶段二和阶段三,即部署模块启动第一应用和停止第一应用的过程进行介绍。
图4为本申请实施例提供的应用管理方法的流程示意图。如图4所示,该应用管理方法可以包括:
301、部署模块获取第一目标数据。
其中,第一目标数据包括第一应用的应用数据。
在本申请实施例中,应用数据包括:应用的结构信息、应用的功能函数、应用的数据参数、应用的资源需求信息中的任意种组合。
示例性的,应用数据可以包括应用的结构信和应用的功能函数。或者,或者,应用数据可以包括:应用的结构信息、应用的功能函数、应用的数据参数。或者,应用数据可以包括:应用的结构信息、应用的功能函数、应用的数据参数、应用的资源需求信息。
其中,结构信息用于反映应用之间的关联关系。
示例性的,应用A与应用B存在关联关系,应用B为应用A的子应用,即应用A可以调用应用B实现应用B的功能。应用A与应用C存在关联关系,应用C为应用的父应用,即应用C可以调用应用A实现应用A的功能。
可选的,应用的结构信息可以包括应用的子应用列表。
需要说明的是,本申请实施例对结构信息的表现形式不作限定。例如,结构信息可以通过树形结构表示。
在本申请实施例中,应用的功能函数用于实现应用的功能。
需要说明的是,本申请实施例对功能函数不作限定。例如,功能函数可以包括:用于启动应用的功能函数(代码)、用于停止运行应用的功能代码、实现调用逻辑的功能代码、用于异步回调的功能代码、用于定时回调的功能代码等。
需要说明的是,应用的数据参数可以包括:应用的配置信息(也可以称为应用工程)、应用的数据信息(也可以称为数据工程)、应用的APP模型、应用的数据模型、应用的数据预定义、应用的数据对象等。
其中,应用的资源需求信息用于指示运行应用的计算节点和应用运行时所需要的资源。应用的资源需求信息包括:目标计算节点的地址信息、内存需求信息、中央处理器(central processing unit,CPU)需求信息。目标计算节点为运行第一应用的计算节点。
示例性的,应用A的资源需求信息包括:互联网协议(Internet Protocol, IP)地址(如111.111.000.100)、内存需求信息为10兆、CPU需求信息为500兆(或者4核)。也就是说,应用A在IP地址为111.111.000.100的计算节点(如计算节点A)运行,需要占用计算节点A的内存为10兆,需要占用计算节点A的CPU为500兆。
需要说明的是,本申请实施例对资源需求信息不作限定。例如,资源需求信息还可以包括显存。
需要说明的是,本申请实施例中应用数据可以包括图1、图2和图3所示的数据(如模型、预定义、数据模型、APP模型等)。
可以理解的是,应用数据包括:应用的结构信息、应用的功能函数、应用的数据参数、应用的资源需求信息。其中,结构信息用于反映应用之间的关联关系;资源需求信息包括:目标计算节点的地址信息、内存需求信息、中央处理器CPU需求信息。如此,部署模块可以通过应用数据,获取应用的相关参数,结合应用的功能函数、应用之间的关联关系,实现应用的功能。并且,结合应用的资源需求信息,将应用部署在合适的计算节点,保障部署应用的计算节点可以运行应用,提高了应用运行的稳定性。
需要说明的是,在一些实施例中,第一目标数据可以是机器代码。部署模块可以通过应用数据生成第一目标数据。
图5为本申请实施例提供的应用管理方法的流程示意图。如图5所示,该应用管理方法中,301可以包括:
401、部署模块获取第一应用数据。
其中,第一应用数据为第一应用的应用数据。
在本申请实施例中,第一应用的应用数据可以为通过编程语言表示的数据代码。
需要说明的是,本申请实施例对编程语言不作限定。例如,编程语言可以为数据库语言,如结构化查询语言(Structured Query Language,SQL)。又例如,编程语言可以为计算机编程语言Java语言。又例如,编程语言可以为计算机编程语言Java语言。
示例性的,第一应用数据可以包括:通过数据库语言表示的数据(如结构信息、数据参数和资源需求信息)、通过计算机编程语言Python语言表示的代码(如功能函数)。
在一种可能的实现方式中,应用仓库(或者可以称为存储模块)中存储有多个应用数据。部署模块可以根据第一应用的标识从应用仓库获取第一应用数据。
402、部署模块确定目标计算节点。
在一种可能的实现方式中,部署模块可以根据第一应用的资源需求信息中的目标计算节点的地址信息,确定目标计算节点。其中,目标计算节点为资源需求信息中的地址信息对应的计算节点。
示例性的,假如资源需求信息的地址信息中IP地址为111.111.000.100,则目标计算节点为IP地址为111.111.000.100的计算节点。
在另一种可能的实现方式中,部署模块可以根据第一应用的资源需求信息中的资源需求,确定目标计算节点。其中,资源需求用于指示应用所需要的计算资源。具体的,部署模块可以获取多个计算节点的资源信息。之后,部署模块可以将第一应用的资源需求与多个计算节点的资源信息进行比较。然后,部署模块将多个计算节点中满足第一应用的资源需求的计算节点作为目标计算节点。
示例性的,假如多个计算节点包括:计算节点A(CPU4核、内存8000兆)、计算节点B(CPU8核、内存10000兆)。若应用A的资源需求为CPU6核、内存9000兆,部署模块则将计算节点B作为应用A的目标计算节点。
403、部署模块根据目标计算节点的节点信息编译第一应用数据,生成第一目标数据。
其中,第一目标数据与目标计算节点相匹配。
需要说明的是,第一目标数据与目标计算节点相匹配是指,目标计算节点可以识别并运行第一目标数据。
在一种可能的实现方式中,部署模块中存储有节点信息与代码类型的对应关系(可以称为第一对应关系)。部署模块可以根据目标计算节点的节点信息和第一对应关系,确定目标代码类型,其中,目标代码类型为目标计算节点能够识别的机器代码类型。之后,部署模块可以根据目标代码类型编译第一应用数据,生成第一目标数据,第一目标数据为目标代码类型的机器代码。
需要说明的是,本申请实施例对计算节点的节点信息不作限定。例如,计算节点的节点信息可以包括:CPU厂家、CPU型号、内存型号、操作系统类型等。
示例性的,如表1所示,其示出了节点信息与代码类型之间的对应关系。
表1

也就是说,在计算节点的CPU厂家为厂家A,CPU型号为型号A,操作系统类型为系统类型A的情况下,该计算节点可以识别的机器代码的代码类型为代码类型A。在计算节点的CPU厂家为厂家B,CPU型号为型号B,操作系统类型为系统类型B的情况下,该计算节点可以识别的机器代码的代码类型为代码类型B。在计算节点的CPU厂家为厂家C,CPU型号为型号C,操作系统类型为系统类型C的情况下,该计算节点可以识别的机器代码的代码类型为代码类型C。
示例性的,结合表1,假如目标计算节点的CPU厂家为厂家A,CPU型号为型号A,操作系统类型为系统类型A,部署模块则可以将第一应用数据编译为代码类型A的机器代码(即第一目标数据)。
在另一种可能的实现方式中,部署模块中根据目标计算节点的节点信息进行适配,确定目标代码类型。之后,部署模块可以根据目标代码类型编译第一应用数据,生成第一目标数据,第一目标数据为目标代码类型的机器代码。
可选的,计算节点的节点信息还可以包括:目标代码类型。
可以理解的是,部署模块获取第一应用数据,第一应用数据为第一应用的应用数据。之后,部署模块可以确定目标计算节点,并根据目标计算节点的节点信息编译第一应用数据,生成第一目标数据,第一目标数据与目标计算节点相匹配。也就是说,部署模块可以根据目标计算节点的节点信息编译与目标计算节点相匹配的第一目标数据。如此,可以保障第一目标数据可以在任意计算节点运行,提高了第一目标数据与其他计算节点的适配性。
302、部署模块将第一目标数据传送到目标计算节点,控制第一应用从停止状态进入启动状态。
在一种可能的实现方式中,部署模块向目标计算节点发送第一启动请求,第一启动请求用于指示启动第一应用,第一启动请求包括第一目标数据。之后,目标计算节点可以接收来自部署模块的第一启动请求,并运行第一目标数据,以使得第一应用从停止状态进入启动状态。
需要说明的是,在本申请实施例中,目标计算节点运行目标数据(即编译后的应用数据,也就是机器代码)是指运行(或者启动)目标数据对应的应用程序,生成目标数据对应的应用程序的实例(即运行对象)。
需要说明的是,运行对象中包括:对象属性(如应用标识、模型标识、版本信息、父应用标识等)、对象的结构信息、对象的数据参数和对象的容器属性。
一种可能的设计中,目标计算节点包括第一容器,该第一容器用于运行应用程序。部署模块可以控制目标计算节点为第一容器分配第一资源,以使得第一容器通过第一资源运行第一目标数据,第一资源为第一应用的资源需求信息对应的计算机资源。
需要说明的是,第一资源可以为第一应用数据中的资源需求信息。
示例性的,假如第一资源为:内存需求信息为10兆、CPU需求信息为500兆(或者4核)、显存为400兆。则目标计算节点可以为第一容器分配10兆内存、500兆CPU、400兆显存,并将第一目标数据拷贝至第一容器,以使得第一容器中的运行引擎通过10兆内存、500兆CPU、400兆显存,运行第一目标数据,生成第一应用的实例(即运行对象)。
需要说明的是,运行引擎具备应用程序的基础能力(例如下载能力、调度能力等)。如此,相较于目前的技术方案中下载的可执行应用程序文件,本申请技术方案中的应用数据中不包括基础能力的相关数据。如此,可以减少应用数据的数据量,提高传输的速度。
在一些实施例中,应用数据还可以包括运行模式信息。运行模式信息包括第一模式信息或第二模式信息。第一模式信息用于指示以独占模式运行应用。第二模式信息用于指示以共享模式运行应用。
需要说明的是,在本申请实施例中,以独占模式运行应用是指,该应用以进程形式运行,且需要占用一个未运行目标数据的容器。以共享模式运行应用是指,该应用以线程形式运行,且可以和该应用的父应用共用一个容器。其中,共享模式运行应用包括串行运行应用和并行运行应用。串行运行应用是指多个应用共用一个线程,并行运行应用是指多个应用使用不同的线程。
在一种可能的实现方式中,在控制为第一容器分配第一应用的资源需求信息对应的计算机资源,以使得第一容器通过第一资源运行第一目标数据之前,部署模块可以根据第一应用数据中的运行模式信息,确定是否为第一应用创建容器。若运行模式信息为第一模式信息,部署模块则控制目标计算节点创建第一容器。
可以理解的是,若第一应用以独占模式运行应用,则部署模块需要为第一应用创建第一容器,并且为第一容器分配第一应用所需的资源。如此,第一容器可以通过资源运行第一目标数据,达到启动第一应用的效果。
在另一些实施例中,目标计算节点包括第二容器。若运行模式信息为第二模式信息,部署模块则根据第一应用的结构信息,确定第二容器。其中,第二容器为第一父应用的容器,第一父应用能够调用第一应用以实现第一应用的功能,第一应用的结构信息包括第一应用与第一父应用之间的关联关系。
在一种可能的实现方式中,部署模块中存储有应用与容器之间的对应关系。部署模块可以根据第一应用的结构信息,确定第一父应用。之后,部署模块可以根据第一父应用,确定第二容器。之后,部署模块利用为第二容器分配的第二资源运行第一目标数据,第二资源为第一父应用的资源需求信息对应的计算机资源。
需要说明的是,本申请实施例对应用与容器之间的对应关系不作限定。例如,应用与容器之间的对应关系可以为应用标识与容器标识之间的对应关系。
示例性的,假如第一应用的结构信息包括:第一父应用为应用A,应用A的容器为容器A,且在目标计算节点运行应用A时已经为容器A分配了运行应用A的第二资源。若第一应用的运行模式信息为第二模式信息,则可以确定容器A为运行第一应用的容器。之后,部署模块可以向容器A传输第一目标数据,并且由容器A利用第二资源运行第一目标数据。
可以理解的是,在运行模式信息为第二模式信息的情况下,说明第一应用可以和第一父应用共用一个容器。部署模块可以根据第一应用的结构信息,确定第二容器。由于在创建第二容器时,部署模块已经控制为第二容器分配运行第一父应用的第二资源。部署模块可以利用为第二容器分配的第二资源运行第一目标数据。如此,第二容器可以通过资源运行第一目标数据,达到启动第一应用的效果。
303、部署模块接收第一停止指令,控制第一应用从运行状态进入停止状态,并回收为第一应用分配的目标计算节点的计算机资源。
其中,第一停止指令为用于停止第一应用的停止指令。
需要说明的是,本申请实施例对第一停止指令的来源不作限定。例如,目标计算节点可以向部署模块发送第一停止指令。又例如,第一应用可以向部署模块发送第一停止指令。又例如,其他计算节点可以向部署模块发送第一停止指令。
在一种可能的实现方式,第一停止指令包括第一应用的标识。部署模块可以根据第一应用的标识,向目标计算节点发送第一停止请求,第一停止请求用于指示控制第一应用从运行状态进入停止状态,并回收为第一应用分配 的目标计算节点的计算机资源。之后,目标计算节点可以接收第一停止请求,控制第一应用从运行状态进入停止状态,并回收为第一应用分配的目标计算节点的计算机资源。
可以理解的是,部署模块获取第一目标数据,第一目标数据包括第一应用的应用数据。之后,部署模块将第一目标数据传送到目标计算节点,控制第一应用从停止状态进入启动状态。这样一来,本地终端无需下载安装应用,可以通过部署模块控制启动第一应用,简化了启动应用程序的过程。然后,部署模块可以接收用于停止第一应用的停止指令,控制第一应用从运行状态进入停止状态,并回收为第一应用分配的目标计算节点的计算机资源。这样一来,在不使用第一应用的情况下,部署模块可以控制第一应用停止运行,并回收为第一应用分配的计算资源。如此,不仅可以提高资源的利用率,而且无需用户卸载应用程序,简化了不使用应用程序时的过程。
在一些实施例中,第一应用的结构信息还可以包括第一应用与第一子应用之间的关联关系,第一应用能够调用第一子应用以实现第一子应用的功能。部署模块可以监听第一应用的结构信息。
在一种可能的实现方式中,部署模块可以向目标计算节点发送结构查询消息,该结构查询消息用于查询第一应用的结构信息。之后,目标计算节点响应于结构查询消息,向部署模块发送结构响应消息,该结构响应消息包括第一应用的结构信息。
示例性的,在时刻A时,第一应用(如应用A)的结构信息包括:应用A-应用B、应用A-应用C,即应用A的子应用包括应用B和应用C。在时刻B时,应用A的结构信息包括:应用A-应用B、应用A-应用C、应用A-应用D,即应用A的子应用包括应用B、应用C和应用D。也就是说,时刻B的应用A相较于时刻A的应用A,增添了一个子应用(即应用D)。可选的,应用A的结构信息还可以包括:应用E-应用A,即应用E是应用A的父应用。
在另一种可能的实现方式中,目标计算节点可以周期性向部署模块发送结构响应消息。
示例性的,目标计算节点可以每间隔1分钟向部署模块发送应用A的结构信息。例如,应用A的子应用列表。
可以理解的是,第一应用的结构信息包括第一应用与第一子应用之间的关联关系,部署模块可以监听第一应用的结构信息。如此,部署模块可以了解第一应用的关联应用的变化。
可选的,部署模块可以查询目标应用的结构信息。
示例性的,部署模块可以按照目标应用的ID查询目标应用的子应用(列表)。
在一些实施例中,部署模块可以监听第一子应用的状态,第一子应用的状态包括运行状态和停止状态。
示例性的,第一应用的第一子应用包括:应用A、应用B和应用C。其中,应用A和应用B处于运行状态,应用C处于停止状态。
在一种可能的实现方式中,部署模块可以向目标计算节点发送状态查询消息,该状态查询消息用于查询第一子应用的状态。之后,目标计算节点响应于状态查询消息,向部署模块发送状态响应消息,该状态响应消息包括第一子应用的状态。
可以理解的是,部署模块监听第一子应用的状态,可以保障了解与第一应用关联的子应用的状态。
在一些实施例中,在部署模块接收用于停止第一应用的停止指令之后,部署模块可以确定第一应用中的第一子应用是否均处于停止状态。
在本申请实施例中,第一子应用包括至少一个应用。部署模块接收用于停止第一应用的停止指令,控制第一应用从运行状态进入停止状态,并回收目标计算节点为第一应用分配的计算机资源,可以包括:若第一子应用中的应用的状态均为停止状态,部署模块则控制第一应用从运行状态进入停止状态,并回收目标计算节点为第一应用分配的计算机资源。
示例性的,假如第一子应用包括:应用A、应用B和应用C。若应用A、应用B和应用C的状态均为停止状态,则控制第一应用从运行状态进入停止状态,并回收目标计算节点为第一应用分配的计算机资源。
可以理解的是,第一应用可以调用第一子应用以实现第一子应用的功能。在第一子应用的状态均为停止状态的情况下,说明第一应用未调用第一子应用,第一应用没有被使用。然后,部署模块可以控制第一应用从运行状态进入停止状态,并回收目标计算节点为第一应用分配的计算机资源。如此,部署模块可以结合第一子应用的状态控制第一应用,避免第一应用还在调用其他应用而被停止运行,提高了停止应用运行的准确度。
在一些实施例中,若第一子应用中存在状态为运行状态的应用,则拒绝用于停止第一应用的停止指令。
示例性的,假如第一子应用包括:应用A、应用B和应用C。若应用A、应用B的状态为停止状态,应用C的状态为运行状态,部署模块则拒绝用于停止第一应用的停止指令,即不停止运行第一应用,且不回收为第一应用分 配的计算机资源。
可以理解的是,在第一子应用中存在状态为运行状态的应用的情况下,说明第一应用仍在调用第一子应用,第一应用正在被使用。部署模块可以拒绝用于停止第一应用的停止指令。如此,可以避免第一应用还在调用其他应用而被停止运行,提高了停止应用运行的准确度。
需要说明的是,本申请实施例中在启动第一应用后可以启动第一子应用。
在一些实施例中,部署模块可以接收用于启动第一子应用的启动指令。之后,部署模块可以获取第一子应用的应用数据,并将第一子应用的应用数据编译为第二目标数据。然后,部署模块可以将第二目标数据传送到目标计算节点,控制为第三容器分配第三资源,以使得第三容器通过第三资源运行第二目标数据,第三资源为第一子应用的资源需求信息对应的计算机资源。然后,部署模块可以接收用于停止第一子应用的停止指令,控制第一子应用从运行状态进入停止状态,并回收第三资源。
示例性的,假如第一应用需要调用第一子应用。第一应用则可以向部署模块发送启动第一子应用的启动指令。并且,在第一应用调用第一子应用完成后,第一应用可以向部署模块发送用于停止第一子应用的停止指令。
需要说明的是,具体对于部署模块启动第一子应用和停止第一子应用的过程,可以参考部署模块启动第一应用和停止第一应用的过程,此处不予赘述。
可以理解的是,部署模块接收用于启动第一子应用的启动指令。之后,部署模块可以获取第一子应用的应用数据,并将第一子应用的应用数据编译为第二目标数据。然后,部署模块可以将第二目标数据传送到目标计算节点,控制为第三容器分配第三资源,以使得第三容器通过第三资源运行第二目标数据。然后,部署模块接收用于停止第一子应用的停止指令,控制第一子应用从运行状态进入停止状态,并回收第三资源。这样一来,本地终端无需下载安装应用,可以通过部署模块控制启动第一子应用,简化了启动应用程序的过程。并且,在不使用第一子应用的情况下,部署模块可以控制第一子应用停止运行,并回收第三资源。如此,不仅可以提高资源的利用率,而且无需用户卸载应用程序,简化了不使用应用程序时的过程。
需要说明的是,子应用的状态会影响父应用的停止与运行。若用户无法及时了解应用的状态,可能会对应用执行错误的操作。
图6为本申请实施例提供的应用管理方法的流程示意图。如图6所示,该应用管理方法可以包括:
501、部署模块向目标计算节点发送第一查询消息。
其中,第一查询消息用于查询处于运行状态的应用。
需要说明的是,在本申请实施例中,目标计算节点是指运行应用的节点或者环境系统等,目标计算节点也可以称为运行系统。
相应的,目标计算节点接收来自部署模块的第一查询消息。
502、目标计算节点查询处于运行状态的应用。
在一种可能的实现方式中,目标计算节点中存储有应用和应用状态之间的对应关系。目标计算节点可以根据应用和应用状态之间的对应关系、运行状态,查询处于运行状态的应用。
503、目标计算节点向部署模块发送第一响应消息。
其中,第一响应消息包括处于运行状态的应用的标识。
504、部署模块接收来自目标计算节点的第一响应消息。
可以理解的是,部署模块向目标计算节点发送第一查询消息之后,部署模块可以接收来自目标计算节点的第一响应消息,第一响应消息包括处于运行状态的应用的标识。这样一来,部署模块可以了解处于运行状态的应用,避免将处于运行状态的应用停止。
在一些实施例中,部署模块可以根据目标应用的标识,查询目标应用的状态。部署模块可以向目标计算节点发送第二查询消息,第二查询消息用于目标应用的状态,第二查询消息包括目标应用的标识。之后,目标计算节点可以根据目标应用的标识,确定目标应用的状态。然后,目标计算节点可以向部署模块发送第二响应消息,第二响应消息包括目标应用的状态。
可选的,查询消息还可以查询具有关联关系的应用的状态。例如,部署模块可以根据父应用ID和子应用名称,查询子应用的状态。
可选的,查询消息可以包括目标计算节点地址信息。查询消息用于查询目标计算节点中部署的应用的状态。
图7为本申请实施例提供的应用管理方法的流程示意图。如图7所示,该应用管理方法可以包括:
601、部署模块向目标计算节点发送第一订阅消息。
其中,第一订阅消息用于订阅状态发生变更的应用。
需要说明的是,状态发生变更包括:从运行状态变为停止状态和从停止状态变为运行状态。
602、目标计算节点接收来自部署模块的第一订阅消息。
603、目标计算节点检测应用的状态是否发生变更。
在一种可能的实现方式中,目标计算节点可以根据应用标识,周期性检测应用的状态。
可选的,目标计算节点可以监听应用的状态。
在一些实施例中,若应用的状态发生变更,目标计算节点则执行604。
604、目标计算节点向部署模块发生状态变更信息。
其中,状态变更信息用于指示应用的状态发生变更。
示例性的,状态变更信息为:应用A从运行状态变更为停止状态、应用B从停止状态变更为运行状态。
相应的,在应用的状态发生变更的情况下,部署模块可以接收来自目标计算节点的状态变更信息。
可选的,订阅消息中可以包括目标应用的标识,该订阅消息用于订阅目标应用的状态。也就是说,在目标应用的状态发生变更的情况下,目标计算节点可以向部署模块发送目标应用的状态。
可选的,订阅消息还可以订阅具有关联关系的应用的状态。例如,部署模块可以根据父应用ID和子应用名称,订阅子应用的状态。
可选的,订阅消息可以包括目标计算节点地址信息。订阅消息用于订阅目标计算节点中部署的应用的状态。
可以理解的是,部署模块向目标计算节点发送第一订阅消息。之后,在应用的状态发生变更的情况下,部署模块可以接收来自目标计算节点的状态变更信息,状态变更信息用于指示应用的状态发生变更。这样一来,部署模块可以实时了解应用的状态。
在一些实施例中,部署模块可以根据目标计算节点,查询应用和应用的状态。
示例性的,部署模块可以查询地址为地址A的计算节点中部署的应用(如应用A、应用B和应用C),应用A的状态为运行状态,应用B和应用C的状态为停止状态。
下面结合具体示例介绍本申请的应用管理方法。如图8所示,该应用管理系统包括存储模块(即应用仓库)、部署模块和运行系统(即目标计算节点)。其中,应用仓库中存储有应用A、应用B、应用C、应用D、应用E、应用F和应用G。应用B、应用D和应用G均为应用A的子应用,即应用A可以调用应用B、应用D和应用G以实现相应的应用功能。应用C为应用B的子应用。应用E为应用D的子应用,应用F未应用E的子应用。
需要说明的是,应用A、应用B、应用C、应用D和应用G的运行模式为 独占模式,应用E和应用F的运行模式为共享模式。
在启动应用A时,部署模块可以从存储模块获取应用A的目标数据。之后,部署模块确定应用A的运行模式为独占模式,则控制运行系统创建运行容器1,为运行容器1分配资源,并向运行系统发送应用A的目标数据,以使得运行容器A运行应用A的目标数据。之后,在运行容器1中的应用A(简称为运行的应用A)需要调用应用B时,运行的应用A可以向部署模块发送运行应用B的请求。之后,部署模块从存储模块获取应用B的目标数据。部署模块确定应用B的运行模式为独占模式,则控制运行系统创建运行容器2,为运行容器2分配资源,并向运行系统发送应用B的目标数据。在运行的应用B需要调用应用C时,部署模块可以按照应用C的目标数据启动应用C。
需要说明的是,对于启动应用D、应用E、应用F和应用G的过程,可以参考上述启动应用A-应用C的描述,此处不予赘述。由于应用E和应用F的运行模式均为共享模式,应用E和应用F可以在应用D(即父应用)的运行容器中启动。
在停止运行应用A时,部署模块可以检测应用B、应用D和应用G的状态是否为停止状态。其中,在检测应用B和应用D的状态是否为停止状态时,部署模块可以检测应用B和应用D的子应用的状态是否为停止状态。例如,在应用C的状态为停止状态,部署模块可以确定应用B的状态为停止状态。在应用E的状态为停止状态,应用F的状态为运行状态,部署模块可以确定应用D的状态为运行状态。因此,在应用C、应用E、应用F和应用G的状态均为停止状态时,部署模块可以停止运行应用A,将应用A的状态变为停止状态,并回收运行容器1的运行资源。
可以理解的,在实际实施时,本申请实施例所述的应用商店、应用仓库、本地终端等可以包含有用于实现前述对应的应用管理方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所申请的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
基于这样的理解,以应用商店包含的硬件结构和/或软件模块为例,本申请实施例还对应提供一种应用管理装置,可以应用于上述部署模块(如应用 商店对应的硬件设备)。图9为本申请实施例提供的应用管理装置的结构示意图。如图9所示,该应用管理装置可以包括:获取单元801、处理单元802和发送单元803。
获取单元801,用于获取第一目标数据,第一目标数据包括第一应用的应用数据。处理单元802,用于将第一目标数据传送到目标计算节点,控制第一应用从停止状态进入启动状态。获取单元801,还用于接收用于停止第一应用的停止指令。处理单元802,还用于控制第一应用从运行状态进入停止状态,并回收为第一应用分配的目标计算节点的计算机资源。
一些实现方式中,应用数据包括:应用的结构信息、应用的功能函数、应用的数据参数、应用的资源需求信息中的任意种组合。其中,结构信息用于反映应用之间的关联关系;资源需求信息包括:目标计算节点的地址信息、内存需求信息、中央处理器CPU需求信息。
一些实现方式中,获取单元801,还用于获取第一应用数据,第一应用数据为第一应用的应用数据。处理单元802,还用于确定目标计算节点。处理单元802,还用于根据目标计算节点的节点信息编译第一应用数据,生成第一目标数据,第一目标数据与目标计算节点相匹配。
一些实现方式中,处理单元802,还用于控制为第一容器分配第一资源,以使得第一容器通过第一资源运行第一目标数据,第一资源为第一应用的资源需求信息对应的计算机资源。
一些实现方式中,应用数据还包括运行模式信息。处理单元802,还用于若运行模式信息为第一模式信息,则控制创建第一容器,第一模式信息用于指示以独占模式运行应用。
一些实现方式中,目标计算节点包括第二容器。若运行模式信息为第二模式信息,则根据第一应用的结构信息,确定第二容器,第二容器为第一父应用的容器,第一父应用能够调用第一应用以实现第一应用的功能,第一应用的结构信息包括第一应用与第一父应用之间的关联关系;第二模式信息用于指示以共享模式运行应用。利用为第二容器分配的第二资源运行第一目标数据,第二资源为第一父应用的资源需求信息对应的计算机资源。
一些实现方式中,第一应用的结构信息包括第一应用与第一子应用之间的关联关系,第一应用能够调用第一子应用以实现第一子应用的功能。处理单元802,还用于监听第一应用的结构信息。
一些实现方式中,处理单元802,还用于监听第一子应用的状态,第一子应用的状态包括运行状态和停止状态。
一些实现方式中,第一子应用包括至少一个应用。处理单元802,还用于若第一子应用中的应用的状态均为停止状态,则控制第一应用从运行状态进入停止状态,并回收目标计算节点为第一应用分配的计算机资源。
一些实现方式中,处理单元802,还用于若第一子应用中存在状态为运行状态的应用,则拒绝用于停止第一应用的停止指令。
一些实现方式中,获取单元801,还用于接收用于启动第一子应用的启动指令。获取单元801,还用于获取第一子应用的应用数据,并将第一子应用的应用数据编译为第二目标数据。处理单元802,还用于将第二目标数据传送到目标计算节点,控制为第三容器分配第三资源,以使得第三容器通过第三资源运行第二目标数据,第三资源为第一子应用的资源需求信息对应的计算机资源。获取单元801,还用于接收用于停止第一子应用的停止指令。处理单元802,还用于控制第一子应用从运行状态进入停止状态,并回收第三资源。
一些实现方式中,发送单元803,用于向目标计算节点发送第一查询消息,第一查询消息用于查询处于运行状态的应用。获取单元801,还用于接收来自目标计算节点的第一响应消息,第一响应消息包括处于运行状态的应用的标识。
一些实现方式中,发送单元803,用于向目标计算节点发送第一订阅消息,第一订阅消息用于订阅状态发生变更的应用。获取单元801,还用于在应用的状态发生变更的情况下,接收来自目标计算节点的状态变更信息,状态变更信息用于指示应用的状态发生变更。
图10示出了上述实施例中所涉及的应用管理装置的又一种可能的结构。该应用管理装置包括:处理器901和通信接口902。处理器901用于对装置的动作进行控制管理,例如,执行上述方法实施例中所示的方法流程中的各个步骤,和/或用于执行本文所描述的技术的其它过程。通信接口902用于支持该应用管理装置与其他网络实体的通信。应用管理装置还可以包括存储器903和总线904,存储器903用于存储装置的程序代码和数据。
其中,上述处理器901可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,单元和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器903可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线904可以是扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
如上所述,本申请实施例可以根据上述方法示例对应用管理方法中涉及到的各执行主体进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的应用管理装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
本申请实施例还提供一种电子设备,该电子设备可以是应用商店对应的硬件设备,或者开发侧的设备,又或者上述用户设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如前述实施例所述的方法。
在示例性实施例中,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如前述实施例所述的方法。
可选的,上述计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本申请实施例还提供一种计算机程序产品,包括计 算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如前述实施例所述的方法。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (29)

  1. 一种应用管理方法,其特征在于,包括:
    获取第一目标数据,所述第一目标数据包括第一应用的应用数据;
    将所述第一目标数据传送到目标计算节点,控制所述第一应用从停止状态进入启动状态;
    接收用于停止所述第一应用的停止指令,控制所述第一应用从运行状态进入停止状态,并回收为所述第一应用分配的所述目标计算节点的计算机资源。
  2. 根据权利要求1所述的方法,其特征在于,所述应用数据包括:应用的结构信息、应用的功能函数、应用的数据参数、应用的资源需求信息中的任意种组合;
    其中,所述结构信息用于反映应用之间的关联关系;所述资源需求信息包括:所述目标计算节点的地址信息、内存需求信息、中央处理器CPU需求信息。
  3. 根据权利要求2所述的方法,其特征在于,所述获取第一目标数据,包括:
    获取第一应用数据,所述第一应用数据为所述第一应用的应用数据;
    确定所述目标计算节点;
    根据所述目标计算节点的节点信息编译所述第一应用数据,生成所述第一目标数据,所述第一目标数据与所述目标计算节点相匹配。
  4. 根据权利要求3所述的方法,其特征在于,所述目标计算节点包括第一容器,所述控制所述第一应用从停止状态进入启动状态,包括:
    控制为第一容器分配第一资源,以使得所述第一容器通过所述第一资源运行所述第一目标数据,所述第一资源为所述第一应用的资源需求信息对应的计算机资源。
  5. 根据权利要求4所述的方法,其特征在于,所述应用数据还包括运行模式信息,在所述控制为第一容器分配所述第一应用的资源需求信息对应的计算机资源,以使得所述第一容器通过所述第一资源运行所述第一目标数据之前,所述方法还包括:
    若所述运行模式信息为第一模式信息,则控制创建所述第一容器,所述第一模式信息用于指示以独占模式运行应用。
  6. 根据权利要求3所述的方法,其特征在于,所述目标计算节点包括第二容器,所述控制所述第一应用从停止状态进入启动状态,包括:
    若所述运行模式信息为第二模式信息,则根据所述第一应用的结构信息, 确定所述第二容器,所述第二容器为第一父应用的容器,所述第一父应用能够调用所述第一应用以实现所述第一应用的功能,所述第一应用的结构信息包括所述第一应用与所述第一父应用之间的关联关系;所述第二模式信息用于指示以共享模式运行应用;
    利用为所述第二容器分配的第二资源运行所述第一目标数据,所述第二资源为所述第一父应用的资源需求信息对应的计算机资源。
  7. 根据权利要求2-6中任一项所述的方法,其特征在于,所述第一应用的结构信息包括所述第一应用与第一子应用之间的关联关系,所述第一应用能够调用所述第一子应用以实现所述第一子应用的功能;所述方法还包括:
    监听所述第一应用的结构信息。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    监听所述第一子应用的状态,所述第一子应用的状态包括运行状态和停止状态。
  9. 根据权利要求8所述的方法,其特征在于,所述第一子应用包括至少一个应用,所述接收用于停止所述第一应用的停止指令,控制所述第一应用从运行状态进入停止状态,并回收所述目标计算节点为所述第一应用分配的计算机资源,包括:
    若所述第一子应用中的应用的状态均为所述停止状态,则控制所述第一应用从运行状态进入停止状态,并回收所述目标计算节点为所述第一应用分配的计算机资源。
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括:
    若所述第一子应用中存在状态为所述运行状态的应用,则拒绝所述用于停止所述第一应用的停止指令。
  11. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    接收用于启动所述第一子应用的启动指令;
    获取所述第一子应用的应用数据,并将所述第一子应用的应用数据编译为第二目标数据;
    将所述第二目标数据传送到所述目标计算节点,控制为第三容器分配第三资源,以使得所述第三容器通过所述第三资源运行第二目标数据,所述第三资源为所述第一子应用的资源需求信息对应的计算机资源;
    接收用于停止所述第一子应用的停止指令,控制所述第一子应用从运行状态进入停止状态,并回收所述第三资源。
  12. 根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包 括:
    向所述目标计算节点发送第一查询消息,所述第一查询消息用于查询处于运行状态的应用;
    接收来自所述目标计算节点的第一响应消息,所述第一响应消息包括处于所述运行状态的应用的标识。
  13. 根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
    向所述目标计算节点发送第一订阅消息,所述第一订阅消息用于订阅状态发生变更的应用;
    在所述应用的状态发生变更的情况下,接收来自所述目标计算节点的状态变更信息,所述状态变更信息用于指示所述应用的状态发生变更。
  14. 一种应用管理方法,其特征在于,所述装置包括:
    获取单元,用于获取第一目标数据,所述第一目标数据包括第一应用的应用数据;
    处理单元,用于将所述第一目标数据传送到目标计算节点,控制所述第一应用从停止状态进入启动状态;
    所述获取单元,还用于接收用于停止所述第一应用的停止指令;
    所述处理单元,还用于控制所述第一应用从运行状态进入停止状态,并回收为所述第一应用分配的所述目标计算节点的计算机资源。
  15. 根据权利要求14所述的方法,其特征在于,所述应用数据包括:应用的结构信息、应用的功能函数、应用的数据参数、应用的资源需求信息中的任意种组合;
    其中,所述结构信息用于反映应用之间的关联关系;所述资源需求信息包括:所述目标计算节点的地址信息、内存需求信息、中央处理器CPU需求信息。
  16. 根据权利要求15所述的方法,其特征在于,
    所述获取单元,还用于获取第一应用数据,所述第一应用数据为所述第一应用的应用数据;
    所述处理单元,还用于确定所述目标计算节点;
    所述处理单元,还用于根据所述目标计算节点的节点信息编译所述第一应用数据,生成所述第一目标数据,所述第一目标数据与所述目标计算节点相匹配。
  17. 根据权利要求16所述的方法,其特征在于,目标计算节点包括第一容 器;
    所述处理单元,还用于控制为第一容器分配第一资源,以使得所述第一容器通过所述第一资源运行所述第一目标数据,所述第一资源为所述第一应用的资源需求信息对应的计算机资源。
  18. 根据权利要求17所述的方法,其特征在于,所述应用数据还包括运行模式信息;
    所述处理单元,还用于若所述运行模式信息为第一模式信息,则控制创建所述第一容器,所述第一模式信息用于指示以独占模式运行应用。
  19. 根据权利要求16所述的方法,其特征在于,
    若所述运行模式信息为第二模式信息,则根据所述第一应用的结构信息,确定所述第二容器,所述第二容器为第一父应用的容器,所述第一父应用能够调用所述第一应用以实现所述第一应用的功能,所述第一应用的结构信息包括所述第一应用与所述第一父应用之间的关联关系;所述第二模式信息用于指示以共享模式运行应用;
    利用为所述第二容器分配的第二资源运行所述第一目标数据,所述第二资源为所述第一父应用的资源需求信息对应的计算机资源。
  20. 根据权利要求14-19中任一项所述的方法,其特征在于,所述第一应用的结构信息包括所述第一应用与第一子应用之间的关联关系,所述第一应用能够调用所述第一子应用以实现所述第一子应用的功能;
    所述处理单元,还用于监听所述第一应用的结构信息。
  21. 根据权利要求20所述的方法,其特征在于,
    所述处理单元,还用于监听所述第一子应用的状态,所述第一子应用的状态包括运行状态和停止状态。
  22. 根据权利要求21所述的方法,其特征在于,所述第一子应用包括至少一个应用;
    所述处理单元,还用于若所述第一子应用中的应用的状态均为所述停止状态,则控制所述第一应用从运行状态进入停止状态,并回收所述目标计算节点为所述第一应用分配的计算机资源。
  23. 根据权利要求22所述的方法,其特征在于,
    所述处理单元,还用于若所述第一子应用中存在状态为所述运行状态的应用,则拒绝所述用于停止所述第一应用的停止指令。
  24. 根据权利要求20所述的方法,其特征在于,
    所述获取单元,还用于接收用于启动所述第一子应用的启动指令;
    所述获取单元,还用于获取所述第一子应用的应用数据,并将所述第一子应用的应用数据编译为第二目标数据;
    所述处理单元,还用于将所述第二目标数据传送到所述目标计算节点,控制为第三容器分配第三资源,以使得所述第三容器通过所述第三资源运行第二目标数据,所述第三资源为所述第一子应用的资源需求信息对应的计算机资源;
    所述获取单元,还用于接收用于停止所述第一子应用的停止指令;
    所述处理单元,还用于控制所述第一子应用从运行状态进入停止状态,并回收所述第三资源。
  25. 根据权利要求14-19中任一项所述的方法,其特征在于,所述装置还包括发送单元;
    所述发送单元,用于向所述目标计算节点发送第一查询消息,所述第一查询消息用于查询处于运行状态的应用;
    所述获取单元,还用于接收来自所述目标计算节点的第一响应消息,所述第一响应消息包括处于所述运行状态的应用的标识。
  26. 根据权利要求14-19中任一项所述的方法,其特征在于,所述装置还包括发送单元;
    所述发送单元,用于向所述目标计算节点发送第一订阅消息,所述第一订阅消息用于订阅状态发生变更的应用;
    所述获取单元,还用于在所述应用的状态发生变更的情况下,接收来自所述目标计算节点的状态变更信息,所述状态变更信息用于指示所述应用的状态发生变更。
  27. 一种电子设备,其特征在于,包括:处理器;存储器;以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述电子设备实现如权利要求1-13任一项所述的方法。
  28. 一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备实现如权利要求1-13任一项所述的方法。
  29. 一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,其特征在于,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如权利要求1-13任一项所述的方法。
PCT/CN2023/103792 2022-06-30 2023-06-29 应用管理方法及相关设备 WO2024002229A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210763045.9A CN115328529B (zh) 2022-06-30 2022-06-30 应用管理方法及相关设备
CN202210763045.9 2022-06-30

Publications (1)

Publication Number Publication Date
WO2024002229A1 true WO2024002229A1 (zh) 2024-01-04

Family

ID=83917092

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/103792 WO2024002229A1 (zh) 2022-06-30 2023-06-29 应用管理方法及相关设备

Country Status (2)

Country Link
CN (1) CN115328529B (zh)
WO (1) WO2024002229A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328529B (zh) * 2022-06-30 2023-08-18 北京亚控科技发展有限公司 应用管理方法及相关设备
CN116662020B (zh) * 2023-08-01 2024-03-01 鹏城实验室 应用服务动态管理方法、系统、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535671A (zh) * 2018-05-23 2019-12-03 龙芯中科技术有限公司 云平台的管理方法及装置
CN113051134A (zh) * 2021-04-20 2021-06-29 中国工商银行股份有限公司 一种应用系统监控管理方法、装置、设备及存储介质
US20210216343A1 (en) * 2020-01-09 2021-07-15 International Business Machines Corporation Safely processing integrated flows of messages in a multi-tenant container
CN113824830A (zh) * 2021-09-18 2021-12-21 维沃移动通信有限公司 应用管理方法和装置
CN114185551A (zh) * 2022-02-17 2022-03-15 浙江口碑网络技术有限公司 小程序的编译方法、小程序的运行方法及装置、存储介质
CN115328529A (zh) * 2022-06-30 2022-11-11 北京亚控科技发展有限公司 应用管理方法及相关设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130232402A1 (en) * 2012-03-01 2013-09-05 Huawei Technologies Co., Ltd. Method for Processing Sensor Data and Computing Node
CN103475677B (zh) * 2012-06-07 2018-08-28 南京中兴软件有限责任公司 一种PaaS云平台中管理虚拟节点的方法、装置及系统
US20190317825A1 (en) * 2018-04-16 2019-10-17 Kazuhm, Inc. System for managing deployment of distributed computing resources
US10924538B2 (en) * 2018-12-20 2021-02-16 The Boeing Company Systems and methods of monitoring software application processes
CN113821333A (zh) * 2020-06-20 2021-12-21 华为技术有限公司 安卓应用程序迁移的方法和装置
CN114237809A (zh) * 2020-09-08 2022-03-25 华为云计算技术有限公司 一种计算机系统、容器管理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535671A (zh) * 2018-05-23 2019-12-03 龙芯中科技术有限公司 云平台的管理方法及装置
US20210216343A1 (en) * 2020-01-09 2021-07-15 International Business Machines Corporation Safely processing integrated flows of messages in a multi-tenant container
CN113051134A (zh) * 2021-04-20 2021-06-29 中国工商银行股份有限公司 一种应用系统监控管理方法、装置、设备及存储介质
CN113824830A (zh) * 2021-09-18 2021-12-21 维沃移动通信有限公司 应用管理方法和装置
CN114185551A (zh) * 2022-02-17 2022-03-15 浙江口碑网络技术有限公司 小程序的编译方法、小程序的运行方法及装置、存储介质
CN115328529A (zh) * 2022-06-30 2022-11-11 北京亚控科技发展有限公司 应用管理方法及相关设备

Also Published As

Publication number Publication date
CN115328529B (zh) 2023-08-18
CN115328529A (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
WO2024002229A1 (zh) 应用管理方法及相关设备
CN112214330A (zh) 集群中主节点的部署方法、装置及计算机可读存储介质
WO2024002243A1 (zh) 应用管理方法、应用订阅方法及相关设备
WO2022016848A1 (zh) 一种根据服务角色的进行应用部署的方法及装置
WO2020177564A1 (zh) Vnf的生命周期管理方法及装置
CN111324571A (zh) 一种容器集群管理方法、装置及系统
WO2022213850A1 (zh) 安卓运行环境构建的方法及装置
CN106569880B (zh) 一种Android应用间动态共享资源的方法及系统
WO2024002302A1 (zh) 应用管理方法、应用订阅方法及相关设备
CN110569104A (zh) 深度学习系统中任务训练的管理方法和计算机存储介质
CN113448650A (zh) 直播功能插件加载方法、装置、设备及存储介质
CN110958138B (zh) 一种容器扩容方法及装置
CN115237455B (zh) 应用管理方法及相关设备
WO2023066245A1 (zh) 容器引擎和容器引擎的实现方法、电子设备、存储介质
CN113495723B (zh) 一种调用功能组件的方法、装置及存储介质
CN115344644A (zh) 数据同步方法、装置、电子设备和计算机可读存储介质
CN115129348A (zh) 应用程序的资源更新方法、装置、设备及可读存储介质
CN114546648A (zh) 任务处理方法及任务处理平台
CN114461249A (zh) 一种微服务部署方法、装置、代码服务器及存储介质
CN112181401A (zh) 应用构建方法及应用构建平台
Anthony et al. A middleware approach to dynamically configurable automotive embedded systems
CN115981614B (zh) 项目工程的模块化处理方法、电子设备及计算机存储介质
US20230401273A1 (en) Method, server, and system for image deployment
CN114706790B (zh) 一种自动化软件测试方法、装置及设备
CN113596958B (zh) 终端设备数据交互方法、系统、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23830397

Country of ref document: EP

Kind code of ref document: A1