WO2024002302A1 - 应用管理方法、应用订阅方法及相关设备 - Google Patents

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

Info

Publication number
WO2024002302A1
WO2024002302A1 PCT/CN2023/104203 CN2023104203W WO2024002302A1 WO 2024002302 A1 WO2024002302 A1 WO 2024002302A1 CN 2023104203 W CN2023104203 W CN 2023104203W WO 2024002302 A1 WO2024002302 A1 WO 2024002302A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
information
data model
program
program entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2023/104203
Other languages
English (en)
French (fr)
Inventor
林伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wellintech Co Ltd
Original Assignee
Beijing Wellintech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wellintech Co Ltd filed Critical Beijing Wellintech Co Ltd
Priority to US18/879,755 priority Critical patent/US20250390296A1/en
Priority to EP23830466.1A priority patent/EP4538872A4/en
Publication of WO2024002302A1 publication Critical patent/WO2024002302A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Definitions

  • This application relates to the field of software technology, and in particular to an application management method, application subscription method and related equipment.
  • ALM Application lifecycle management
  • App development requires writing code to implement functions.
  • the APP code needs to be continuously debugged and developed until the APP functions can be realized.
  • These processes are source code level management, and APPs can usually be managed through code version management tools such as TFS, Git, and GitHub.
  • code version management tools such as TFS, Git, and GitHub.
  • management permissions are also controlled at the file and directory level, and the APP cannot be managed at a deeper level.
  • developers can also manage APPs by building an integrated platform.
  • the integrated platform can only manage the source code of the APP and is not suitable for managing the life cycle of the APP.
  • This application provides an application management method, application subscription method and related equipment, which can manage the life cycle of APP.
  • this application provides an application management method, which method includes: obtaining a data model of a first application, where the data model of the first application includes program code for realizing functions of the first application; according to the data of the first application The model generates the program entity corresponding to the first application.
  • the data model includes attributes, and the attributes of the first application include at least one of a name and version information of the first application.
  • the attributes of the first application also include an identifier of the data model of the first application, where the identifier of the data model is unique.
  • the attributes of the first application also include at least one of a deployment node corresponding to the first application and a running resource corresponding to the first application.
  • the method of "Program Entity" specifically includes: determining the configuration information of the first application according to the data model of the first application, and the configuration information of the first application is used to indicate the configuration value of the attributes of the data model of the first application; according to the first application Configuration information to create the program entity of the first application.
  • the data model of the first application is also used to indicate the function of the first application.
  • the method further includes: determining a running resource corresponding to the first application, and running a program entity corresponding to the first application on the running resource corresponding to the first application.
  • this application provides an application management device, which can implement the application management method described in the first aspect and any possible implementation manner of the first aspect.
  • the function of the device can be realized by hardware, or it can be realized by hardware executing corresponding software.
  • the hardware or software includes one or more modules or units corresponding to the steps in the application management method described in the first aspect and any possible implementation of the first aspect.
  • the device includes: an acquisition module, configured to acquire a data model of the first application, the data model of the first application including program code for realizing the functions of the first application; and a generating module, configured to generate data based on the data of the first application.
  • the model generates the program entity corresponding to the first application.
  • the data model includes attributes, and the attributes of the first application include at least one of a name and version information of the first application.
  • the attributes of the first application also include an identifier of the data model of the first application, where the identifier of the data model is unique.
  • the attributes of the first application also include at least one of a deployment node corresponding to the first application and a running resource corresponding to the first application.
  • the generation module is specifically configured to: determine configuration information of the first application according to the data model of the first application, where the configuration information of the first application is used to indicate configuration values of attributes of the data model of the first application;
  • the configuration information of an application creates a program entity of the first application.
  • the data model of the first application is also used to indicate the function of the first application.
  • the device further includes a determining module, configured to determine the running resources corresponding to the first application, and run the program entity corresponding to the first application on the running resources corresponding to the first application.
  • the present application provides an electronic device.
  • the electronic device may be a hardware device corresponding to the application store described in the first aspect.
  • 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 first aspect and any possible implementation manner of the first aspect. method described.
  • 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 one of the first aspect and the first aspect. possible implementation methods.
  • the present application provides a computer program product, including computer readable code, or a non-volatile computer readable storage medium carrying the computer readable code, when the computer readable code is run in an electronic device , the processor in the electronic device implements the method described in the first aspect and any possible implementation manner of the first aspect.
  • this application provides an application subscription method, which method includes: obtaining a data model of a first application, where the data model of the first application includes program code for realizing functions of the first application; according to the first application The data model generates a program entity corresponding to the first application; receives subscription information for subscribing to information of the first application; and sends first indication information related to the running status of the program entity corresponding to the first application.
  • the method of "generating a program entity corresponding to the first application according to the data model of the first application” specifically includes: determining the configuration information of the first application according to the data model of the first application.
  • the information is used to indicate configuration values of attributes of the data model of the first application; and a program entity of the first application is created according to the configuration information of the first application.
  • the first indication information includes the status of the program entity corresponding to the first application; wherein the status of the program entity includes any one of the creation status, running status, and termination status of the program entity.
  • the subscription information is also used to subscribe to preset events related to the first application and change information of attributes of the first application.
  • the method further includes: when the state of the program entity corresponding to the first application changes, sending first notification information, where the first notification information is used to notify the state of the program entity corresponding to the first application of the change.
  • the method further includes: receiving query information, the query information is used to query the information of the first application, the information of the first application includes the information of the first attribute and the information of the second attribute of the first application; sending The query result is used to indicate the information of the first application.
  • the information of the first attribute at least includes: the identification information of the data model of the first application; the information of the second attribute at least includes: the name of the attribute of the first application and the identification information of the attribute of the first application.
  • the method of "querying the program entities of the first application” specifically includes: searching for the program entities of the first application according to the identification information of the data model of the first application; and counting the number of program entities of the first application. .
  • the above method of "querying the program entity of the first application” specifically includes: searching for the status of the program entity of the first application according to the identification information of the data model of the first application.
  • the above method of "querying the program entity of the first application” specifically includes: Search the status of the program entity of the first application according to the identification information of the data model indicated by the configuration information of the first application.
  • this application provides an application subscription device, which can be used to implement the application subscription method described in the sixth aspect and any possible implementation manner of the sixth aspect.
  • the function of the device can be realized by hardware, or it can be realized by hardware executing corresponding software.
  • the hardware or software includes one or more modules or units corresponding to the steps in the application subscription method described in the sixth aspect and any possible implementation manner of the sixth aspect.
  • the device includes: an acquisition module, configured to acquire a data model of the first application, the data model of the first application including program code for realizing the functions of the first application; and a generating module, configured to generate data based on the data of the first application.
  • the model is used to generate the program entity corresponding to the first application;
  • the receiving module is used to receive subscription information for subscribing to the information of the first application;
  • the sending module is used to send the first information related to the running status of the program entity corresponding to the first application. Instructions.
  • the generation module is specifically configured to: determine configuration information of the first application according to the data model of the first application, where the configuration information of the first application is used to indicate configuration values of attributes of the data model of the first application; The configuration information of the first application creates the program entity of the first application.
  • the first indication information includes the status of the program entity corresponding to the first application; wherein the status of the program entity includes any one of the creation status, running status, and termination status of the program entity.
  • the subscription information is also used to subscribe to preset events related to the first application and change information of attributes of the first application.
  • the sending module is further configured to: when the state of the program entity corresponding to the first application changes, send first notification information, and the first notification information is used to notify the state of the program entity corresponding to the first application of the change.
  • the receiving module is also configured to receive query information.
  • the query information is used to query the information of the first application.
  • the information of the first application includes the information of the first attribute and the information of the second attribute of the first application;
  • the sending module is also used to send query results, and the query results are used to indicate the information of the first application.
  • the information of the first attribute at least includes: the identification information of the data model of the first application; the information of the second attribute at least includes: the name of the attribute of the first application and the identification information of the attribute of the first application.
  • the device further includes a query module, configured to search for the program entity of the first application according to the identification information of the data model of the first application; and to count the number of program entities of the first application.
  • a query module configured to search for the program entity of the first application according to the identification information of the data model of the first application; and to count the number of program entities of the first application.
  • the query module is specifically configured to search for the status of the program entity of the first application according to the identification information of the data model of the first application.
  • the query module is specifically configured to search for the status of the program entity of the first application based on the identification information of the data model indicated by the configuration information of the first application.
  • the present application provides an electronic device.
  • the electronic device may be a hardware device corresponding to the application store described in the first aspect.
  • the electronic device includes: a processor, a memory for storing instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the sixth aspect and any possible implementation manner of the sixth aspect. method described.
  • 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 one of the sixth aspect and the sixth aspect. possible implementation methods.
  • the present application provides a computer program product, including computer readable code, or a non-volatile computer readable storage medium carrying the computer readable code, when the computer readable code is run in an electronic device , the processor in the electronic device implements the method described in the sixth aspect and any possible implementation manner of the sixth aspect.
  • this application at least has the following beneficial effects:
  • the application program entity is obtained by objectifying the application data model or program code. Since the application program entity can be used to describe the running program code, for example, it can describe the state of the program code running. Furthermore, the application-based program entity can manage the running process of the application program. That is to say, the development and operation management of the entire life cycle of the application are realized.
  • Figure 1 is a schematic flow chart of an application management method provided by an embodiment of the present application.
  • Figure 2 is a schematic diagram of the types of data models provided by the embodiment of the present application.
  • FIG. 3 is a schematic flowchart of an application subscription method provided by an embodiment of the present application.
  • Figure 4 is a schematic flowchart of another application subscription method provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of an application management method provided by an embodiment of the present application.
  • Figure 6 is a schematic diagram of a data model and predefined structure provided by the embodiment of the present application.
  • Figure 7 is a schematic structural diagram of a data model provided by an embodiment of the present application.
  • Figure 8 is a schematic structural diagram of an application management device provided by an embodiment of the present application.
  • Figure 9 is a schematic structural diagram of an application subscription 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.
  • App development requires writing code to implement functions.
  • Applications can usually be managed based on their files and directories through code version management tools such as TFS, Git, and GitHub.
  • code version management tools such as TFS, Git, and GitHub.
  • management permissions are also controlled at the file and directory level, and applications cannot be managed at a deeper level.
  • Integrated development tools can include open source Jenkins, DevOps platforms, etc.
  • APP files and directories can be managed through code version management tools such as team foundation server (TFS), Git, and GitHub. Management permissions are controlled at the file and directory level of the APP.
  • FFS team foundation server
  • Git Git
  • GitHub GitHub
  • This management method has poor encapsulation and is based on code. Confidentiality is poor when reusing or trading, and binary-based reuse and verification are not easy to modify, and users need to perform compatibility processing.
  • Jenkins requires developers to choose or develop relevant tools to build a continuous integration platform, which is not universal and has high construction costs.
  • Commercial DevOps platforms are suitable for the development of source code in several specific languages. The management goal is the source code, not the app, and are not suitable for the management of the entire life cycle of the app.
  • embodiments of the present application provide an application management method, through which the source code, configuration information, and binary program of the APP can be objectified, thereby realizing the management of the entire life cycle of the APP.
  • the method may be implemented on an operation and maintenance system or a module in the operation and maintenance system (such as an operation control module), or a hardware device corresponding to the operation and maintenance system.
  • the hardware device may include a server or hardware in the server.
  • 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 of the hardware equipment corresponding to the operation and maintenance system. The embodiment of this application is explained by taking the execution subject as the running system as an example.
  • FIG. 1 is a schematic flowchart of an application management method provided by an embodiment of the present application. As shown in Figure 1, the application management method may include:
  • the data model of the first application may be used to indicate the function of the first application.
  • the first application's data model may include the first application's program code.
  • the program code of the first application may be used to implement the functions of the first application.
  • the data model of the first application may also include attributes.
  • the attributes of the first application may be used to describe information of the first application.
  • the attributes of the first application may include at least one of a name and version information of the first application.
  • the attributes of the first application may also include other parameters, for example, they may also include the identifier and type of the data model of the first application.
  • the ID of the data model is used to uniquely identify the data model.
  • the identifier of the data model can be a globally unique identifier (GUID).
  • GUID globally unique identifier
  • the attributes of the first application may further include at least one of a deployment node of the first application and a running resource of the first application.
  • the types of data models can include C++ data models, Nodejs data models, Java data models, etc.
  • the configuration information of different types of data models can include guid, name, version number, language category, assembly, sub-predefined list, and configuration item list. These configuration information are described below:
  • Guid can be generated for the development system and is globally unique. The name can be customized by the user.
  • Version numbers can be managed by the development system, and consecutive version numbers can be monotonically increasing.
  • the language category may refer to the programming language of the program code.
  • the language type of the C++ data model is C++
  • the language type of the Nodejs data model is Nodejs
  • the language type of the Java data model is Java.
  • Assembly that is, program code, can include command line, source code, binary, etc.
  • the command line refers to the command line to be executed when the application is loaded and run, for example, the name of the program to be started, the command parameters to be passed in, the registration command, etc.
  • Source code can refer to source code and resource files used (can be empty). Other users can purchase the original license to view and use the source code.
  • Source code can include C++ source code, Nodejs JavaScript source code, Java source code, etc.
  • Running binaries can include binary packages. Since C++ is not cross-platform, the binaries of the C++ data model's assemblies are platform-specific. For example, the platform may include a general linux platform, a general windows platform, Android, Mac, etc. The running binary in the Java data model assembly is cross-platform and only needs to store a class file or jar package.
  • the sub-predefined list can be predefined generated by the data model, regardless of language category.
  • Configuration item list A list of configuration items (key-value) that can be defined.
  • the development system can obtain the data model of the first application by interacting with a device corresponding to the development studio of the first application.
  • the development studio of the first application may send the data model of the first application to the development system in response to the upload operation.
  • the program entity corresponding to the first application may also be called an application (running) object, which may refer to an actually running program, or may also be used to describe an actually running program. For example, you can trace Describes the deployment node, running status, running resources (such as central processing unit (CPU), memory) and other information of the application.
  • running application
  • running resources such as central processing unit (CPU), memory
  • the operation and maintenance system may determine the configuration information of the first application based on the data model of the first application, and create a program entity corresponding to the first application based on the configuration information of the first application.
  • the configuration information of the first application refers to the attribute information of the data model of the first application.
  • the configuration information of the first application may include the name of the first application, the identification (guid) of the first application, the identification (guid) and version number of the data model of the first application, and the configuration value of the attribute of the first application. one or more.
  • the configuration information of the first application may also include the deployment node of the first application, the running resources of the first application, etc. In this way, the management system can determine the running resources corresponding to the first application according to the configuration information of the first application.
  • the program entity of the application is obtained by objectifying the data model or program code of the application. Because the application program entity can be used to describe the running program code, for example, it can describe the deployment node, status, running resources, etc. of the program code. Furthermore, application-based program entities can manage the application's program code, deployment nodes, and running resources. That is to say, the development and operation management of the entire life cycle of the application are realized.
  • the method provided by the embodiment of the present application may further include: determining the running resources of the first application, and running the program entity corresponding to the first application on the running resources of the first application.
  • the running resources of the first application may include CPU, memory, etc. configured when the first application is running.
  • the operation and maintenance system may obtain the running node and running resources corresponding to the first application from the configuration information of the first application. Then, the operation and maintenance system may send running instruction information to the running node, so that the running node uses the running resource to run the program entity corresponding to the first application.
  • the running instruction information may be used to instruct the running node to run the first application and the running resources required for running the first application.
  • the running node can allocate corresponding running resources to the first application according to the running instruction information, and use the running resources to run the program entity of the first application.
  • the data model of the first application can be uploaded to the target node (such as an application store).
  • the target node such as an application store
  • the operation and maintenance system may, after determining the running resources of the first application, Deploy the program entity of the first application on the running resource of the first application. This enables management of deployment during the life cycle of the application.
  • embodiments of the present application also provide an application subscription method, as shown in Figure 3, the method may include S301 ⁇ S304.
  • S301 and S302 may refer to the description of S101 and S102 above, and will not be described again.
  • the subscription information is used to subscribe to information of the first application.
  • the subscription information may include information about the subscribing user, the identification of the first application, etc.
  • the subscriber's information may include the subscriber's account, the identification of the device used, etc.
  • the information of the first application may include the status of the program entity corresponding to the first application, and may also include attribute information, configuration information, etc. of the first application.
  • the status of the program entity may include any one of the creation status, running status, and termination status of the program entity.
  • subscribing users can send subscription information to the running system through the device they use. Accordingly, the running system can receive subscription information.
  • the subscription information can also be used to subscribe to preset events related to the first application and change information of the first application.
  • the preset events may include adding events, modifying events, deleting events, etc.
  • the adding event may mean that a new configuration item is added to the configuration information of the first application.
  • the modification event may mean that the configuration item in the configuration information of the first application is modified.
  • the deletion event may mean that the configuration item in the configuration information of the first application is deleted.
  • the change information of the first application may be change information of attributes of the first application, change information of attributes of the second application related to the first application, etc.
  • the first indication information is related to the running status of the program entity of the first application.
  • the first indication information may include the status of the program entity corresponding to the first application.
  • the status of the program entity may include the creation status, running status and termination status of the program entity.
  • the first indication information may be used to indicate whether the status of the program entity of the first application is abnormal.
  • the first indication information when used to indicate whether the status of the program entity of the first application is abnormal, may include the first identification.
  • the first identification may be used to indicate whether the status of the program entity of the first application is normal.
  • the first identifier can be a number or a character or a combination of numbers and characters. combine. For example, when the first identifier is the first indicator, it indicates that the status of the program entity of the first application is normal; when the first identifier is the second indicator, it indicates that the status of the program entity of the first application is abnormal.
  • the first indicator and the second indicator are different.
  • the first indication information may also include information about the abnormal running status of the program entity of the first application (such as exception cause, exception code, occurrence time, etc.).
  • the operation and maintenance system after the operation and maintenance system receives the subscription information, it can monitor the status of the first application according to the identification of the first application in the subscription information, and send the detected status of the first application to the subscription The device used by the user. For example, the operation and maintenance system can periodically detect the status of the first application. In this way, the operation and maintenance system can promptly and quickly send the information required by the subscriber to the subscriber.
  • the first indication information can also be used to indicate the status of the second application. That is, the first indication information may be used to indicate the status of the first application and the status of the second application. For example, the first indication information may include the status of the first application and/or the status of the second application.
  • the operation and maintenance system may respond to the user's subscription information and send information related to the running status of the program entity of the application to the user. This enables access management to applications.
  • the method may further include: sending the first notification information when a state change of the program entity corresponding to the first application is detected. .
  • the first notification information may be used to notify that the status of the program entity corresponding to the first application changes.
  • the first notification information may include the second identification.
  • the second identification may be used to identify a change in the state of the program entity corresponding to the first application.
  • the first notification information may include the changed status of the program entity corresponding to the first application.
  • the first notification information may include the first status information.
  • the first status information may indicate that the program entity corresponding to the first application terminates execution.
  • the first status information may include APP1-END. APP1 represents the program entity corresponding to the first application, and END represents the termination of execution.
  • notification information can be sent to the subscribing user, so that the subscribing user can promptly learn about the status change of the subscribed application. Realizes the management of application status.
  • the method provided by the embodiment of the present application may also include:
  • S401 Receive query information.
  • the query information may be used to query information of the first application.
  • the information of the first application may include information of a first attribute and information of a second attribute of the first application.
  • the information of the first attribute may at least include identification information of the data model of the first application.
  • the information of the second attribute may at least include the name of the attribute of the first application and the identification information of the attribute of the first application.
  • the query information may include an identifier of the first application or an identifier of the data model of the first application or an identifier of the configuration information of the first application. Based on this identification, the operation and maintenance system can search for the information of the first application.
  • users who may or may not be subscribers
  • the operation and maintenance system can receive the query information from the subscriber and query the information of the first application.
  • the operation and maintenance information can be queried for the information of the first application in the following manner.
  • Method 1 The operation and maintenance system can search for the program entities of the first application based on the identification information of the data model of the first application, and count the number of program entities of the first application.
  • Method 2 The operation and maintenance system can search for the status of the program entity of the first application based on the identification information of the data model of the first application.
  • Method 3 The operation and maintenance system can query the status of the program entity of the first application according to the identification information of the data model indicated by the configuration information of the first application.
  • the query result is used to indicate the information of the first application.
  • the query result may include information on the first attribute and information on the second attribute of the first application.
  • the development system can determine the relevant information of the application based on the query information. Furthermore, application-related information is sent to the corresponding user. While meeting the personalized needs of users, it also implements corresponding query management.
  • the above embodiment describes the management method of the entire life cycle of an application from the perspective of a single application.
  • the following describes the entire life cycle of multiple applications with associated relationships.
  • multiple applications with associated relationships may refer to multiple applications with parent-child relationships.
  • multiple applications with an associated relationship include a first application and a second application, and the second application may be a parent application of the first application. That is, the second application can call the first application to implement the functions of the first application.
  • this embodiment of the present application provides an operation and maintenance system, including an application warehouse, an operation control device, and devices in multiple development studios.
  • the application warehouse communicates and connects with equipment and operation control equipment in multiple development studios.
  • the application warehouse can be used to store the pre-definition of the application (also called APP pre-definition).
  • the application warehouse receives an access request from a user, it can verify the user's permissions (such as verifying whether the user's account and corresponding password are consistent with the stored account and password).
  • the application warehouse can allow the user to access the predefined applications stored in the application warehouse.
  • the application warehouse can be a server.
  • the server may have multiple interfaces, and the multiple interfaces may be used to interact with the devices in the development studio.
  • the development studio refers to the place where developers develop applications. That is, developers can use equipment (such as computers, computers, etc.) in the development studio to develop applications and data models of applications.
  • the device in the development studio may also create a pre-definition of the application based on the application's data model and upload the pre-definition of the application to the application repository.
  • the operation control device can be used to control the predefined creation, operation and termination of the application.
  • the execution control device sends the pre-definition of the application to the target node, so that the target node can run the deployed application.
  • the target node can also run the sub-applications.
  • the operation control device can be a server, computer, etc.
  • the embodiment of the present application places no special restrictions on the specific form of the operation control device. It can interact with users through one or more methods such as keyboard, touch pad, touch screen, remote control, voice interaction or handwriting device.
  • the method provided by the embodiment of the present application may include S501 to S505.
  • the first device uploads APP predefinition 1 corresponding to APP1 to the application warehouse.
  • the application repository receives and stores the device's APP predefinition 1 from the development studio.
  • the first device may refer to a device in a development studio corresponding to the first application. Developers can develop application data model equipment through the development room equipment.
  • the application warehouse can be used to store uploaded APP pre-definitions.
  • An application's predefinition may be a specific set of configuration values for properties of the application's data model. For details, please refer to the following description, which will not be described again here.
  • the developer can complete the development of APP data model 1 on the development studio, and upload the predefinition of the second application to the application warehouse through the device of the development studio.
  • the configuration item list of the first application may be used to store code files, script files, program files, etc. of the first application.
  • the content of the configuration item list can be stored in the form of key-value.
  • the configuration item list can also modify the key-value of the contents in the list in response to the user's configuration operation.
  • the application warehouse receives the first request information from the second device.
  • the second device may refer to a device in a development studio where the second application is developed.
  • the first request information is used to request to obtain APP predefined 1.
  • the application warehouse sends APP predefinition 1 to the second device.
  • the second device receives the APP predefinition 1 from the application warehouse.
  • the second device Based on the APP predefinition 1, the second device builds the APP data model 2.
  • the second device can use the predefinition of the first application as a sub-predefinition of the second application. Furthermore, the second device can use the data model of the first application as a sub-model of the data model of the second application to construct The data model of the second application.
  • the second device sends APP predefinition 2 to the application warehouse.
  • the application warehouse receives and stores the predefinition 2 of the second application from the second device.
  • APP predefinition 2 is generated based on APP data model 2. Specifically, you may refer to the description of the association between the predefinition and the data model in Figure 6 below, which will not be described again.
  • the operation control module receives the first control instruction.
  • the first control instruction may be used to instruct deployment and running of the second application.
  • the first control instruction may include an identification of the second application or an identification of the configuration information of the second application.
  • the first control instruction may be an instruction sent by the manager to the operation control module through the device used, or may be an instruction sent by the application warehouse in response to the operation of the manager.
  • the first control instruction can also be used to instruct the deployment node, running resources, etc. to run the second application.
  • running resources may include CPU, memory, etc.
  • the operation control module obtains APP predefinition 2 from the application warehouse.
  • the operation control module can create APP object 2 according to APP predefinition 2, and run the first APP object 2. Because there is a parent-child relationship between APP2 and APP1. Therefore, the run control module can also create APP object 1 based on the sub-predefinition (APP predefinition 1) of APP predefinition 2, and deploy and run APP object 1 on the corresponding running resource.
  • APP predefinition 1 sub-predefinition 1 of APP predefinition 2
  • the run control module can send the APP predefinition 2 to the node, so that the deployment node can use the corresponding run resources to run the APP predefinition. Definition 2.
  • APP predefined 2 when APP predefined 2 is running, the creation and creation of APP predefined 1 can be controlled. Run and terminate.
  • APP predefined 2 can control the creation, running and termination of APP predefined 1 through program scripts. That is, the functional logic of APP object 2 can start and stop APP object 1.
  • the run control module can generate the program file (exe) of APP2 through the digital twin, and generate the program file (exe) of APP1 through the digital twin.
  • the program file of APP2 can include sub-predefined lists.
  • the program file of APP1 can include a configuration item list.
  • the configuration item list can include data to be processed (ie, data object 1) and data processing results (ie, data object 2).
  • predefinition is a set of specific configuration values for the attributes of the data model.
  • the predefinition records the configuration information of the data model.
  • 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 (attributes and members), etc.
  • FIG. 6 is a schematic diagram of the data model and predefined relationships provided by the embodiment of the present application.
  • the data model can include basic attributes and member lists; basic attributes can include name, description, 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.
  • 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.
  • FIG. 7 is a schematic diagram of the data model provided by the embodiment of the present application.
  • the data model may include: basic attributes, member list, and sub-model list.
  • 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 identification of the data that refers to the data model of the submodel, establishing the dependency relationship between the submodel and the data model.
  • the submodel list of data model A includes data model B and data model C.
  • the predefined identification of the data such as: "name B1+referenced 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 operation and maintenance system described in the embodiment of the present application may include one or more hardware structures and/or software modules for implementing the corresponding application management method and application subscription method mentioned above.
  • These execution hardware Structural 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. 8 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 module 801, configured to acquire a data model of a first application.
  • the data model of the first application includes program code for implementing the functions of the first application.
  • the generation module 802 is configured to generate a program entity corresponding to the first application according to the data model of the first application.
  • the data model includes attributes, and the attributes of the first application include at least one of a name and version information of the first application.
  • the attributes of the first application also include an identifier of the data model of the first application, where the identifier of the data model is unique.
  • the attributes of the first application also include at least one of a deployment node corresponding to the first application and a running resource corresponding to the first application.
  • the generation module 802 is specifically configured to: determine the configuration information of the first application according to the data model of the first application, and the configuration information of the first application is used to indicate the configuration value of the attributes of the data model of the first application; The configuration information of the first application creates the program entity of the first application.
  • the data model of the first application is also used to indicate the function of the first application.
  • the device further includes a determination module 803 for determining the running resources corresponding to the first application, and running the program entity corresponding to the first application on the running resources corresponding to the first application.
  • FIG. 9 is a schematic structural diagram of an application subscription device provided by an embodiment of the present application.
  • the application subscription device may include: an acquisition module 901, configured to acquire a data model of a first application.
  • the data model of the first application includes program code for implementing functions of the first application.
  • the generation module 902 is configured to generate a program entity corresponding to the first application according to the data model of the first application.
  • the receiving module 903 is configured to receive subscription information for subscribing to information of the first application.
  • the sending module 904 is configured to send first indication information related to the running status of the program entity corresponding to the first application.
  • the generation module 902 is specifically configured to: determine the configuration information of the first application according to the data model of the first application, and the configuration information of the first application is used to indicate the configuration value of the attributes of the data model of the first application; Create a program entity of the first application according to the configuration information of the first application.
  • the first indication information includes the status of the program entity corresponding to the first application; wherein the status of the program entity includes any one of the creation status, running status, and termination status of the program entity.
  • the subscription information is also used to subscribe to preset events related to the first application and change information of attributes of the first application.
  • the sending module 904 is also configured to send first notification information when the status of the program entity corresponding to the first application changes.
  • the first notification information is used to notify that the status of the program entity corresponding to the first application changes. .
  • the receiving module 903 is also configured to receive query information.
  • the query information is used to query the information of the first application.
  • the information of the first application includes the information of the first attribute and the information of the second attribute of the first application.
  • the sending module 904 is also used to send query results, and the query results are used to indicate the information of the first application.
  • the information of the first attribute at least includes: identification information of the data model of the first application; the information of the second attribute at least includes: the name of the attribute of the first application and the attribute name of the first application. Sexual identification information.
  • the device also includes a query module 905, configured to search for the program entity of the first application according to the identification information of the data model of the first application; and to count the program entities of the first application. quantity.
  • the query module 905 is specifically configured to search for the status of the program entity of the first application according to the identification information of the data model of the first application.
  • the query module 905 is specifically configured to search for the status of the program entity of the first application according to the identification information of the data model indicated by the configuration information of the first application.
  • embodiments of the present application can divide each execution subject involved in the application management method and the application subscription method into functional modules according to the above method examples.
  • 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 in an operation and maintenance system.
  • 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.
  • embodiments of the present application further provide a computer program product, including a computer readable code, or a non-volatile computer readable storage medium carrying the computer readable code, when the computer readable code
  • the processor in the electronic device implements the method described in the foregoing embodiments.

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)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本申请关于一种应用管理方法、应用订阅方法及相关设备,涉及软件技术领域。本申请中,获取第一应用的数据模型,第一应用的数据模型包括用于实现第一应用的功能的程序代码;根据第一应用的数据模型,生成第一应用对应的程序实体。本申请可通过将应用的数据模型或程序代码对象化,得到应用的程序实体,并基于应用的程序实体实现对应用的全生命周期的开发、运行的管理。

Description

应用管理方法、应用订阅方法及相关设备
本申请要求于2022年06月30日提交的、申请号为202210760285.3的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及软件技术领域,尤其涉及一种应用管理方法、应用订阅方法及相关设备。
背景技术
应用程序(application,APP)的生命周期管理(application lifecycle management,ALM)是指一个应用程序从需求收集、编程、测试一直到发布全程的管理。
App的开发需要通过编写代码来实现功能。同时,在APP的开发过程中,需要不断的对APP的代码进行调试和开发,直至APP的功能能够实现。这些过程是源码级别的管理,通常可以通过TFS、Git、GitHub等代码版本管理工具对APP进行管理。但是,管理权限也是控制到文件和目录级别,无法再更深层次的对APP进行管理。
当然,开发者也可以通过搭建集成平台实现对APP进行管理。但是,通过集成平台仅能实现对APP的源代码进行管理,不适合作为APP的生命周期进行管理。
发明内容
本申请提供一种应用管理方法、应用订阅方法及相关设备,可以实现对APP的生命周期进行管理。
本申请的技术方案如下:
第一方面,本申请提供一种应用管理方法,该方法包括:获取第一应用的数据模型,第一应用的数据模型包括用于实现第一应用的功能的程序代码;根据第一应用的数据模型,生成第一应用对应的程序实体。
一些实现方式中,数据模型包括属性,第一应用的属性包括第一应用的名称和版本信息中的至少一个。
一些实现方式中,第一应用的属性还包括第一应用的数据模型的标识,其中,数据模型的标识具有唯一性。
一些实现方式中,第一应用的属性还包括第一应用对应的部署节点和第一应用对应的运行资源中的至少一个。
一些实现方式中,上述“根据第一应用的数据模型,生成第一应用对应 的程序实体”的方法具体包括:根据第一应用的数据模型,确定第一应用的配置信息,第一应用的配置信息用于指示第一应用的数据模型的属性的配置值;根据第一应用的配置信息,创建第一应用的程序实体。
一些实现方式中,第一应用的数据模型还用于指示第一应用的功能。
一些实现方式中,该方法还包括:确定第一应用对应的运行资源,并在第一应用对应的运行资源上运行第一应用对应的程序实体。
第二方面,本申请提供一种应用管理装置,该装置可以实现如第一方面及第一方面的任意一种可能的实现方式所述的应用管理方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与第一方面及第一方面的任意一种可能的实现方式所述的应用管理方法中的步骤相对应的模块或单元。
例如,所述装置包括:获取模块,用于获取第一应用的数据模型,第一应用的数据模型包括用于实现第一应用的功能的程序代码;生成模块,用于根据第一应用的数据模型,生成第一应用对应的程序实体。
一些实现方式中,数据模型包括属性,第一应用的属性包括第一应用的名称和版本信息中的至少一个。
一些实现方式中,第一应用的属性还包括第一应用的数据模型的标识,其中,数据模型的标识具有唯一性。
一些实现方式中,第一应用的属性还包括第一应用对应的部署节点和第一应用对应的运行资源中的至少一个。
一些实现方式中,生成模块具体用于:根据第一应用的数据模型,确定第一应用的配置信息,第一应用的配置信息用于指示第一应用的数据模型的属性的配置值;根据第一应用的配置信息,创建第一应用的程序实体。
一些实现方式中,第一应用的数据模型还用于指示第一应用的功能。
一些实现方式中,该装置还包括确定模块,用于确定第一应用对应的运行资源,并在第一应用对应的运行资源上运行第一应用对应的程序实体。
第三方面,本申请提供一种电子设备,如电子设备可以是上述第一方面中所述的应用商店对应的硬件设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第一方面及第一方面的任意一种可能的实现方式所述的方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第一方面及第一方面的任意一种可能的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如第一方面及第一方面的任意一种可能的实现方式所述的方法。
第六方面,本申请提供了一种应用订阅方法,该方法包括:获取第一应用的数据模型,第一应用的数据模型包括用于实现第一应用的功能的程序代码;根据第一应用的数据模型,生成第一应用对应的程序实体;接收用于订阅第一应用的信息的订阅信息;发送与第一应用对应的程序实体的运行状态相关的第一指示信息。
一些实现方式中,上述“根据第一应用的数据模型,生成第一应用对应的程序实体”的方法具体包括:根据第一应用的数据模型,确定第一应用的配置信息,第一应用的配置信息用于指示第一应用的数据模型的属性的配置值;根据第一应用的配置信息,创建第一应用的程序实体。
一些实现方式中,第一指示信息包括第一应用对应的程序实体的状态;其中,程序实体的状态包括程序实体的创建状态、运行状态和终止状态中的任一种状态。
一些实现方式中,订阅信息还用于订阅与第一应用相关的预设事件以及第一应用的属性的变更信息。
一些实现方式中,该方法还包括:当第一应用对应的程序实体的状态变更时,发送第一通知信息,第一通知信息用于通知第一应用对应的程序实体的状态发生变更。
一些实现方式中,该方法还包括:接收查询信息,查询信息用于查询所述第一应用的信息,第一应用的信息包括第一应用的第一属性的信息和第二属性的信息;发送查询结果,查询结果用于指示第一应用的信息。
一些实现方式中,第一属性的信息至少包括:第一应用的数据模型的标识信息;第二属性的信息至少包括:第一应用的属性的名称和第一应用的属性的标识信息。
一些实现方式中,上述“查询第一应用的程序实体”的方法具体包括:根据第一应用的数据模型的标识信息,查找第一应用的程序实体;统计所述第一应用的程序实体的数量。
一些实现方式中,上述“查询第一应用的程序实体”的方法具体包括:根据第一应用的数据模型的标识信息,查找第一应用的程序实体的状态。
一些实现方式中,上述“查询第一应用的程序实体”的方法具体包括: 根据第一应用的配置信息指示的数据模型的标识信息,查找第一应用的程序实体的状态。
第七方面,本申请提供一种应用订阅装置,该装置可以用于实现如第六方面及第六方面的任意一种可能的实现方式所述的应用订阅方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与第六方面及第六方面的任意一种可能的实现方式所述的应用订阅方法中的步骤相对应的模块或单元。
例如,所述装置包括:获取模块,用于获取第一应用的数据模型,第一应用的数据模型包括用于实现第一应用的功能的程序代码;生成模块,用于根据第一应用的数据模型,生成第一应用对应的程序实体;接收模块,用于接收用于订阅第一应用的信息的订阅信息;发送模块,用于发送与第一应用对应的程序实体的运行状态相关的第一指示信息。
一些实现方式中,生成模块,具体用于:根据第一应用的数据模型,确定第一应用的配置信息,第一应用的配置信息用于指示第一应用的数据模型的属性的配置值;根据第一应用的配置信息,创建第一应用的程序实体。
一些实现方式中,第一指示信息包括第一应用对应的程序实体的状态;其中,程序实体的状态包括程序实体的创建状态、运行状态和终止状态中的任一种状态。
一些实现方式中,订阅信息还用于订阅与第一应用相关的预设事件以及第一应用的属性的变更信息。
一些实现方式中,发送模块,还用于:当第一应用对应的程序实体的状态变更时,发送第一通知信息,第一通知信息用于通知第一应用对应的程序实体的状态发生变更。
一些实现方式中,接收模块,还用于接收查询信息,查询信息用于查询所述第一应用的信息,第一应用的信息包括第一应用的第一属性的信息和第二属性的信息;发送模块,还用于发送查询结果,查询结果用于指示第一应用的信息。
一些实现方式中,第一属性的信息至少包括:第一应用的数据模型的标识信息;第二属性的信息至少包括:第一应用的属性的名称和第一应用的属性的标识信息。
一些实现方式中,该装置还包括查询模块,用于根据第一应用的数据模型的标识信息,查找第一应用的程序实体;统计所述第一应用的程序实体的数量。
一些实现方式中,查询模块,具体用于根据第一应用的数据模型的标识信息,查找第一应用的程序实体的状态。
一些实现方式中,查询模块,具体用于根据第一应用的配置信息指示的数据模型的标识信息,查找第一应用的程序实体的状态。
第八方面,本申请提供一种电子设备,如电子设备可以是上述第一方面中所述的应用商店对应的硬件设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第六方面及第六方面的任意一种可能的实现方式所述的方法。
第九方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第六方面及第六方面的任意一种可能的实现方式所述的方法。
第十方面,本申请提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如第六方面及第六方面的任意一种可能的实现方式所述的方法。
基于上述第一方面至第十方面中的任一方面,本申请至少具备如下有益效果:
本申请中,通过将应用的数据模型或程序代码对象化,得到应用的程序实体。由于应用的程序实体可以用于描述运行起来的程序代码,例如,可以描述程序代码运行的状态。进而,基于应用的程序实体可以实现对应用的程序的运行过程进行管理。也即,实现了对应用的全生命周期的开发、运行的管理。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1为本申请实施例提供的一种应用管理方法的流程示意图;
图2为本申请实施例提供的数据模型的类型的示意图;
图3为本申请实施例提供的一种应用订阅方法的流程示意图;
图4为本申请实施例提供的另一种应用订阅方法的流程示意图;
图5为本申请实施例提供的一种应用管理方法的流程示意图;
图6为本申请实施例提供的一种数据模型和预定义的结构示意图;
图7为本申请实施例提供的一种数据模型的结构示意图;
图8为本申请实施例提供的一种应用管理装置的结构示意图;
图9为本申请实施例提供的一种应用订阅装置的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
“和/或”用于描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
App的开发需要通过编写代码来实现功能。通常可以通过TFS、Git、GitHub等代码版本管理工具,基于应用程序的文件和目录对应用程序进行管理。但是,管理权限也是控制到文件和目录级别,无法再更深层次的对应用进行管理。
另外,在APP的开发过程中,需要不断的调试调整,然后再开发、再调试,直至应用程序的功能正常后,再部署运行。这些过程是源码级别的管理,可以基于集成开发工具实现。集成开发工具可以包括开源的Jenkins、DevOps平台等。
随着APP的功能越来越复杂,通常都是有多个基础的APP来集成来完成某些复杂的系统功能,现在通常是通过代码级集成的方式来实现一个复杂的APP的功能。例如,可以通过团队基础服务器(team foundation server,TFS)、Git、GitHub等代码版本管理工具,实现对APP的文件和目录的管理。管理权限为控制到APP的文件和目录级别。但这种管理方式封装性较差,基于代码 的复用或交易的时候保密性较差,而基于二进制的复用和校验不便于修改,使用者需要进行兼容处理。不具有方便集成其他组织app的机制,只能在组织内部进行迭代,无法快速的丰富工业app形成生态。
另外,Jenkins需要使用开发者自己选择或者开发相关工具来搭建持续集成平台,不具有通用性,搭建成本较高。商业的DevOps平台适合特定的几种语言的源代码的开发,管理的目标是源代码,而不是app,不适合作为app的全生命周期的管理。
基于此,本申请实施例提供了一种应用管理方法,通过该方法可以将APP的源代码、配置信息、二进制程序对象化,从而实现了对APP的全生命周期的管理。
示例性地,该方法具体可以在运维系统或者运维系统中的一个模块(如运行控制模块),或者运维系统对应的硬件设备上实现,如:硬件设备可以包括服务器或服务器中的硬件设备、计算机或计算机的硬件设备等。其中,服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本申请对运维系统对应的硬件设备的具体实现方式不作限制。本申请实施例以执行主体为运行系统为例进行说明。
需要说明的是,本申请实施例中涉及到的运维系统侧实现步骤,均可以是由运维系统对应的硬件设备来实现。
图1为本申请实施例提供的应用管理方法的流程示意图。如图1所示,该应用管理方法可以包括:
S101、获取第一应用的数据模型。
其中,第一应用的数据模型可以用于指示第一应用的功能。例如,第一应用的数据模型可以包括第一应用的程序代码。第一应用的程序代码可以用于实现第一应用的功能。
其中,第一应用的数据模型还可以包括属性。第一应用的属性可以用于描述第一应用的信息。
例如,第一应用的属性可以包括第一应用的名称和版本信息中的至少一个。当然,第一应用的属性还可以包括其他参数,比如,还可以包括第一应用的数据模型的标识、类型等。数据模型的标识用于唯一标识该数据模型。数据模型的标识可以为全局唯一标识符(globally unique identifier,GUID)。第一应用的数据模型的标识可以在生成第一应用的数据模型时确定(比如,可以为用户自定义的),且在第一应用的生命周期内第一应用的数据模型保 持不变。
又例如,第一应用的属性还可以包括第一应用的部署节点和第一应用的运行资源中的至少一个。
进一步的,如图2所示,数据模型的类型可以包括C++数据模型、Nodejs数据模型、Java数据模型等。
其中,不同类型的数据模型的配置信息均可以包括guid、名称、版本号、语言类别、程序集、子预定义列表、配置项列表。下面分别对这些配置信息进行说明:
1、guid可以为开发系统生成,全局唯一。名称可以由用户自定义。
2、版本号可以由开发系统管理,连续的版本号可以为单调递增的。
3、语言类别可以是指程序代码的编程语言。比如,C++数据模型的语言类型为C++,Nodejs数据模型的语言类型为Nodejs,Java数据模型的语言类型为Java。
4、程序集,也即程序代码,可以包括命令行、源码、二进制等。
其中,命令行是指应用加载运行时要执行的命令行,例如,启动的程序名称、要传入的命令参数、注册命令等。
源码可以是指源代码和使用的资源文件(可以为空)。其他使用者可以购买原来授权来查看和使用源代码。源代码可以包括C++源代码、Nodejs的JavaScript源代码、Java源代码等。
运行二进制可以包括二进制程序包。由于C++不是跨平台的,因此C++数据模型的程序集的二进制是针对平台的。例如,平台可以包括通用linux平台、通用windows平台、安卓(android)、Mac等。Java数据模型的程序集中的运行二进制是跨平台的,只需要存储一份class文件或jar包。
5、子预定义列表可以是由数据模型生成的预定义,不限语言类别。
6、配置项列表可以被定义的配置项(key-value)列表。
需要说明的是,上述类型的数据模型仅为示例性的,还可以包括其他类型的数据模型。
一种可能的实现方式中,开发系统可以通过与第一应用的开发工作室对应的设备进行交互,获取到第一应用的数据模型。比如,第一应用的开发工作室可以响应于上传操作,向开发系统发送第一应用的数据模型。
S102、根据第一应用的数据模型,生成第一应用对应的程序实体。
其中,第一应用对应的程序实体也可以称为应用(运行)对象,可以是指实际运行的程序,或者,也可以用于描述实际运行的程序。例如,可以描 述应用的部署节点、运行状态、运行资源(如中央处理器(Central Processing Unit,CPU)、内存)等信息。
一种可能的实现方式中,运维系统可以根据第一应用的数据模型,确定第一应用的配置信息,并根据第一应用的配置信息,创建第一应用对应的程序实体。
其中,第一应用的配置信息是指第一应用的数据模型的属性信息。例如,第一应用的配置信息可以包括第一应用的名称、第一应用的标识(guid)、第一应用的数据模型的标识(guid)和版本号、第一应用的属性的配置值中的一个或多个。
进一步的,第一应用的配置信息还可以包括第一应用的部署节点、第一应用的运行资源等。如此,管理系统可以根据第一应用的配置信息,确定第一应用对应的运行资源。
本申请实施例中,通过将应用的数据模型或程序代码对象化,得到应用的程序实体。由于应用的程序实体可以用于描述运行起来的程序代码,例如,可以描述程序代码的部署节点、状态、运行资源等。进而,基于应用的程序实体可以实现对应用的程序代码、部署节点和运行资源进行管理。也即,实现了应用的全生命周期的开发、运行的管理。
一种可能的实施例中,本申请实施例提供的方法,还可以包括:确定第一应用的运行资源,并在第一应用的运行资源上运行第一应用对应的程序实体。
其中,第一应用的运行资源可以包括第一应用运行时配置的CPU、内存等。
一种可能的实现方式中,运维系统可以从第一应用的配置信息中获取到第一应用对应的运行节点以及运行资源。然后,运维系统可以向该运行节点发送运行指示信息,以使得该运行节点使用该运行资源运行第一应用对应的程序实体。
其中,运行指示信息可以用于指示运行节点运行第一应用及运行第一应用时所需的运行资源。如此,运行节点可以根据运行指示信息为第一应用分配对应的运行资源,并在使用运行资源运行第一应用的程序实体。
进一步的,当第一应用的程序实体的运行结果为正常(比如,可以实现第一应用的功能)时,可以将第一应用的数据模型上传至目标节点(如应用商店)。如此,可以使得第一应用可以被其他用户使用和继续开发。
基于该可能的实施例,运维系统可以在确定第一应用的运行资源之后, 在第一应用的运行资源上部署第一应用的程序实体。从而实现了对应用的生命周期中的部署的管理。
一种可能的实施例中,为了便于用户可以及时的获取到运维系统中应用的相关信息,本申请实施例还提供了一种应用订阅方法,如图3所示,该方法可以包括S301~S304。
S301、获取第一应用的数据模型。
S302、根据第一应用的数据模型,生成第一应用对应的程序实体。
其中,S301和S302可以参照上述S101和S102的描述,不予赘述。
S303、接收订阅信息。
其中,订阅信息用于订阅第一应用的信息。例如,订阅信息可以包括订阅用户的信息、第一应用的标识等。订阅用户的信息可以包括订阅用户的账户、使用设备的标识等。第一应用的信息可以包括第一应用对应的程序实体的状态,也可以包括第一应用的属性的信息、配置信息等。
一种示例中,程序实体的状态可以包括程序实体的创建状态、运行状态和终止状态中的任一种。
一种可能的实现方式中,订阅用户可以通过使用的设备向运行系统发送订阅信息。相应的,运行系统可以接收订阅信息。
进一步的,订阅信息还可以用于订阅与第一应用相关的预设事件以及第一应用的变更信息。
其中,预设事件可以包括增加事件、修改事件、删除事件等。例如,增加事件可以是指第一应用的配置信息增加了新的配置项。修改事件可以是指第一应用的配置信息中的配置项进行了修改。删除事件可以是指第一应用的配置信息中的配置项被删除。
其中,第一应用的变更信息可以第一应用的属性的变更信息、与第一应用相关的第二应用的属性的变更信息等。
S304、发送第一指示信息。
其中,第一指示信息与第一应用的程序实体的运行状态相关。例如,第一指示信息可以包括第一应用对应的程序实体的状态。程序实体的状态可以包括程序实体的创建状态、运行状态和终止状态。又例如,第一指示信息可以用于指示第一应用的程序实体的状态是否异常。
一种示例中,当第一指示信息用于指示第一应用的程序实体的状态是否异常时,第一指示信息可以包括第一标识。第一标识可以用于指示第一应用的程序实体的状态是否正常。第一标识可以为数字或字符或数字与字符的组 合。比如,当第一标识为第一指示符时,说明第一应用的程序实体的状态正常;当第一标识为第二指示符时,说明第一应用的程序实体的状态异常。第一指示符和第二指示符不同。
例如,当第一应用的程序实体的运行状态异常时,第一指示信息可以还包括第一应用的程序实体的运行状态异常的信息(如,异常原因、异常代码、发生时间等)。
一种可能的实现方式中,当运维系统接收到订阅信息之后,可以根据订阅信息中的第一应用的标识,监测第一应用的状态,并将检测到的第一应用的状态发送给订阅用户使用的设备。比如,运维系统可以周期的性检测第一应用的状态。如此,运维系统可以及时快速的将订阅用户所需的信息发送给订阅用户。
进一步的,当第一应用还能够调用第二应用以实现第二应用的功能时,第一指示信息还可以用于指示第二应用的状态。也即,第一指示信息可以用于指示第一应用的状态及第二应用的状态。比如,第一指示信息可以包括第一应用的状态和/或第二应用的状态。
基于上述S301~S304,运维系统可以在根据应用的数据模型生成第一应用的程序实体之后,可以响应于用户的订阅信息,向用户发送与应用的程序实体的运行状态相关的信息。从而实现了对应用的访问管理。
一种可能的实施例中,当运维系统接收到用户的订阅第一应用的信息之后,该方法还可以包括:当检测到第一应用对应的程序实体的状态变更时,发送第一通知信息。
其中,第一通知信息可以用于通知第一应用对应的程序实体的状态发生变更。例如,第一通知信息可以包括第二标识。第二标识可以用于标识第一应用对应的程序实体的状态发生变更。又例如,第一通知信息可以包括变更后的第一应用对应的程序实体的状态。比如,当第一应用对应的程序实体从运行状态变更为终止运行时,第一通知信息可以包括第一状态信息。第一状态信息可以表示第一应用对应的程序实体终止运行。如第一状态信息可以包括APP1-END。APP1表示第一应用对应的程序实体,END表示终止运行。
基于该实施例,当检测到第一应用对应的程序实体的状态变更时,可以向订阅用户发送通知信息,以使得订阅用户可以及时的了解到订阅的应用的状态发生变更。实现了对应用的状态的管理。
进一步的,为了便于用户查询与第一应用的相关信息,如图4所示,本申请实施例提供的方法,还可以包括:
S401、接收查询信息。
其中,查询信息可以用于查询第一应用的信息。例如,第一应用的信息可以包括第一应用的第一属性的信息和第二属性的信息。例如,第一属性的信息至少可以包括第一应用的数据模型的标识信息。第二属性的信息至少可以包括第一应用的属性的名称、第一应用的属性的标识信息。
一种示例中,查询信息可以包括第一应用的标识或第一应用的数据模型的标识或第一应用的配置信息的标识。基于该标识,运维系统可以查找第一应用的信息。
一种可能的实现方式中,用户(可以为订阅用户,也可以不是订阅用户)可以通过使用的设备向运维系统发送查询信息。响应的,运维系统可以接收到来自订阅用户的查询信息,并查询第一应用的信息。
具体的,运维信息可以通过下述方式查询第一应用的信息。
方式一、运维系统可以根据第一应用的数据模型的标识信息,查找第一应用的程序实体,并统计第一应用的程序实体的数量。
方式二、运维系统可以根据第一应用的数据模型的标识信息,查找第一应用的程序实体的状态。
方式三、运维系统可以根据第一应用的配置信息指示的数据模型的标识信息,查询第一应用的程序实体的状态。
S402、发送查询结果。
其中,查询结果用于指示第一应用的信息。例如,查询结果可以包括第一应用的第一属性的信息和第二属性的信息。
基于图4所示的技术方案,开发系统在接收到查询信息后,可以根据查询信息,确定应用的相关信息。进而,将应用的相关信息发送给对应的用户。满足了用户的个性化需求的同时,也实现了对应的查询管理。
上述实施例是从单一应用的维度对应用的全生命周期的管理方法进行了描述,下面从多个具有关联关系的应用的全生命周期进行说明。
需要说明的是,多个具有关联关系的应用可以是指具有父子关系的多个应用。例如,多个具有关联关系的应用包括第一应用和第二应用,第二应用可以为第一应用的父应用。也即,第二应用可以调用第一应用以实现第一应用的功能。
一种示例中,如图5所示,本申请实施例提供了一种运维系统,包括应用仓库、运行控制设备以及多个开发工作室中的设备。应用仓库分别与多个开发工作室中的设备、运行控制设备通信连接。
其中,应用仓库可以用于存储应用的预定义(也可以称为APP预定义)。当应用仓库接收到来自用户的访问请求时,可以对用户的权限进行验证(如验证用户的账号和对应的密码和存储的账户和密码是否一致)。当用户具有访问权限(用户的账号和对应的密码和存储的账户和密码一致)时,应用仓库可以允许用户访问应用仓库中存储的应用的预定义。
在实际应用中,应用仓库可以为服务器。该服务器可以具有多个接口,该多个接口可以用于与开发工作室中的设备进行信息的交互。
其中,开发工作室是指开发人员开发应用的场所。也即,开发人员可以使用开发工作室中的设备(如计算机、电脑等)开发应用及应用的数据模型。响应于上传操作,开发工作室中的设备还可以根据应用的数据模型创建应用的预定义,并将应用的预定义上传至应用仓库。
其中,运行控制设备可以用于控制应用的预定义的创建、运行和终止运行。例如,运行控制设备将应用的预定义发送给目标节点,以使得目标节点可以运行部署应用。当应用具有子应用时,目标节点还可以运行子应用。
在实际应用中,运行控制设备可以为服务器、计算机等。本申请实施例对该运行控制设备的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
基于上述应用运维系统,如图5所示,本申请实施例提供的方法可以包括S501~S505。
S501、响应于上传操作,第一设备向应用仓库上传APP1对应的APP预定义1。相应的,应用仓库接收并存储来自开发工作室的设备的APP预定义1。
其中,第一设备可以是指第一应用对应的开发工作室中的设备。开发人员可以通过开发室的设备开发应用的数据模型设备。应用仓库可以用于存储上传的APP预定义。应用的预定义可以是对应用的数据模型的属性的一组具体配置值。具体的,可以参照下面的描述,此处不予赘述。
一种示例中,开发人员可以在开发工作室上完成APP数据模型1的开发,并通过开发工作室的设备向应用仓库上传第二应用的预定义。
其中,第一应用的配置项列表可以用于存储第一应用的代码文件、脚本文件、程序文件等。该配置项列表的内容可以以键值(key-value)的形式进行存储。配置项列表还可以响应于用户的配置操作,对列表中内容的key-value进行修改。
需要说明的是,开发者将开发好的app存储至应用仓库之后,其他开发者可以从应用仓库获取开发好的app,并将获取到的app作为零件使用,用以 组装成一个新的app。
S502、应用仓库接收来自第二设备的第一请求信息。
其中,第二设备可以是指开发第二应用的开发工作室中的设备。第一请求信息用于请求获取APP预定义1。
S503、应用仓库向第二设备发送APP预定义1。相应的,第二设备接收来自应用仓库的APP预定义1。
S504、基于APP预定义1,第二设备构建APP数据模型2。
一种示例中,第二设备可以将第一应用的预定义作为第二应用的子预定义,进而,第二设备可以将第一应用的数据模型作为第二应用的数据模型的子模型,构建第二应用的数据模型。
S505、第二设备向应用仓库发送APP预定义2。相应的,应用仓库接收并存储来自第二设备的第二应用的预定义2。
其中,APP预定义2是根据APP数据模型2生成的。具体的,可以参照下述图6中预定义和数据模型之间的关联关系的描述,不予赘述。
S506、运行控制模块接收第一控制指令。
其中,第一控制指令可以用于指示部署运行第二应用。例如,第一控制指令可以包括第二应用的标识或第二应用的配置信息的标识。
一种示例中,第一控制指令可以为管理人员通过使用的设备向运行控制模块发送的指令,或者,可以是为应用仓库响应于管理人员的操作发送的指令。
进一步的,第一控制指令还可以用于指示运行第二应用的部署节点、运行资源等。例如,运行资源可以包括CPU、内存等。
S507、响应于第一控制指令,运行控制模块从应用仓库中获取APP预定义2。
S508、运行控制模块部署APP预定义2。
其中,运行控制模块可以根据APP预定义2创建APP对象2,并运行第APP对象2。由于APP2与APP1之间具有父子关系。因此,运行控制模块还可以根据APP预定义2的子预定义(APP预定义1)创建APP对象1,并在对应的运行资源上部署运行APP对象1。
一种示例中,当第一控制指令还用于指示运行APP对象2的部署节点时,运行控制模块可以向该节点发送APP预定义2,以使得该部署节点可以使用对应的运行资源运行APP预定义2。
需要说明的是,当APP预定义2运行时,可以控制APP预定义1的创建、 运行及终止。例如,APP预定义2可以通过程序脚本,控制APP预定义1的创建、运行及终止。也即,APP对象2的功能逻辑可以启动和停止APP对象1。
一种示例中,如图5所示,运行控制模块在运行APP对象2时,可以通过数字孪生,生成APP2的程序文件(exe),以及通过数字孪生,生成APP1的程序文件(exe)。
其中,APP2的程序文件可以包括子预定义列表。APP1的程序文件可以包括配置项列表。该配置项列表可以待处理数据(也即,数据对象1)和数据处理结果(也即,数据对象2)。
基于图5所示的技术方案,通过应用仓库以及运行控制模块之间的交互,可以基于第一应用的生命周期的控制,实现控制与第一应用关联的第二应用的生命周期的控制。
本申请中提到了预定义的概念,预定义是对数据模型的属性的一组具体配置值。预定义上记录了数据模型的配置信息,预定义用来实例化对象,实例化对象是按照其模型的结构构建对象的结构,并把参数值作为对象的初始值。预定义也能被其他模型引用为子预定义。
例如,创建数据模型时,操作可以包括:新建模型,分配名字和标识;添加成员,指定成员类型;删除成员;添加或删除子预定义;设置子预定义的初值;更新模型版本;发布某模型版本生成预定义等。创建预定义时,操作可以包括:指定某模型版本发布(创建)预定义;分配名称和标识;设置预定义的参数值(属性和成员)等。
示例性地,图6为本申请实施例提供的数据模型和预定义的关系示意图。
如图6所示,数据模型可以包括基本属性和成员列表;基本属性可以包括名称、描述、GUID、版本等信息;成员列表可以包括:“成员1:名称+类型”、“成员2:名称+类型”、“成员3:名称+类型”等信息。
预定义可以包括基本属性和成员列表;基本属性可以包括名称、描述、GUID、模型GUID+版本等信息;成员列表可以包括:“成员1+值”、“成员2+值”、“成员3+值”等信息。
示例性地,图7为本申请实施例提供的数据模型的示意图。如图7所示,数据模型可以包括:基本属性、成员列表、以及子模型列表。具有子模型的数据模型是复合的数据模型,如:图中的数据模型A为复合的数据模型,数据模型B和数据模型C是数据模型A的子模型。
数据模型中,基本属性描述了数据的固有属性,包括名称、描述、GUID、 时间属性(如精度)、空间属性(如坐标系、几何形状)等;成员列表描述了自由定义的字段,每个成员描述其字段名称、数据类型,如:成员1、成员2等。子模型列表中记录了引用为子模型的数据模型的数据预定义的标识,建立了子模型和数据模型之间的依赖关系,例如,数据模型A的子模型列表包括数据模型B和数据模型C的数据预定义的标识,如:“名称B1+引用模型ID+参数值”、“名称B2+引用模型ID+参数值”、“名称C3+引用模型ID+参数值”等。
例如,电机设备都具有转速、温度、电流等参数,建立电机设备的数据模型,电机设备的数据模型可以包括转速、温度、电流的成员,通过电机设备的数据模型可以对同类的电机统一描述。
又例如,假设压缩机车间内部都有定盘生产线、静盘生产线、总装生产线,建立压缩机车间的数据模型,压缩机车间的数据模型的内部可以包括子模型:定盘生产线、静盘生产线、总装生产线等。压缩机车间的数据模型可以描述同类的压缩机车间模型。
可以理解的,在实际实施时,本申请实施例所述的运维系统可以包含有用于实现前述对应的应用管理方法、应用订阅方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所申请的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
基于这样的理解,以运维系统包含的硬件结构和/或软件模块为例,本申请实施例还对应提供一种应用管理装置,可以应用于上述运维系统(如运维系统对应的硬件设备)。图8为本申请实施例提供的应用管理装置的结构示意图。如图8所示,该应用管理装置可以包括:获取模块801,用于获取第一应用的数据模型,第一应用的数据模型包括用于实现第一应用的功能的程序代码。生成模块802,用于根据第一应用的数据模型,生成第一应用对应的程序实体。
一些实现方式中,数据模型包括属性,第一应用的属性包括第一应用的名称和版本信息中的至少一个。
一些实现方式中,第一应用的属性还包括第一应用的数据模型的标识,其中,数据模型的标识具有唯一性。
一些实现方式中,第一应用的属性还包括第一应用对应的部署节点和第一应用对应的运行资源中的至少一个。
一些实现方式中,生成模块802具体用于:根据第一应用的数据模型,确定第一应用的配置信息,第一应用的配置信息用于指示第一应用的数据模型的属性的配置值;根据第一应用的配置信息,创建第一应用的程序实体。
一些实现方式中,第一应用的数据模型还用于指示第一应用的功能。
一些实现方式中,如图8所示,该装置还包括确定模块803,用于确定第一应用对应的运行资源,并在第一应用对应的运行资源上运行第一应用对应的程序实体。
本申请实施例还对应提供一种应用订阅装置,可以应用于上述运维系统。图9为本申请实施例提供的应用订阅装置的结构示意图。如图9所示,该应用订阅装置可以包括:获取模块901,用于获取第一应用的数据模型,第一应用的数据模型包括用于实现第一应用的功能的程序代码。生成模块902,用于根据第一应用的数据模型,生成第一应用对应的程序实体。接收模块903,用于接收用于订阅第一应用的信息的订阅信息。发送模块904,用于发送与第一应用对应的程序实体的运行状态相关的第一指示信息。
一些实现方式中,生成模块902,具体用于:根据第一应用的数据模型,确定第一应用的配置信息,第一应用的配置信息用于指示第一应用的数据模型的属性的配置值;根据第一应用的配置信息,创建第一应用的程序实体。
一些实现方式中,第一指示信息包括第一应用对应的程序实体的状态;其中,程序实体的状态包括程序实体的创建状态、运行状态和终止状态中的任一种状态。
一些实现方式中,订阅信息还用于订阅与第一应用相关的预设事件以及第一应用的属性的变更信息。
一些实现方式中,发送模块904,还用于:当第一应用对应的程序实体的状态变更时,发送第一通知信息,第一通知信息用于通知第一应用对应的程序实体的状态发生变更。
一些实现方式中,接收模块903,还用于接收查询信息,查询信息用于查询所述第一应用的信息,第一应用的信息包括第一应用的第一属性的信息和第二属性的信息;发送模块904,还用于发送查询结果,查询结果用于指示第一应用的信息。
一些实现方式中,第一属性的信息至少包括:第一应用的数据模型的标识信息;第二属性的信息至少包括:第一应用的属性的名称和第一应用的属 性的标识信息。
一些实现方式中,如图9所示,该装置还包括查询模块905,用于根据第一应用的数据模型的标识信息,查找第一应用的程序实体;统计所述第一应用的程序实体的数量。
一些实现方式中,查询模块905,具体用于根据第一应用的数据模型的标识信息,查找第一应用的程序实体的状态。
一些实现方式中,查询模块905,具体用于根据第一应用的配置信息指示的数据模型的标识信息,查找第一应用的程序实体的状态。
如上所述,本申请实施例可以根据上述方法示例对应用管理方法、应用订阅方法中涉及到的各执行主体进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的应用管理装置及应用订阅装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
本申请实施例还提供一种电子设备,该电子设备可以是运维系统中的硬件设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如前述实施例所述的方法。
在示例性实施例中,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如前述实施例所述的方法。
可选地,上述计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本申请实施例还提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如前述实施例所述的方法。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申 请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (22)

  1. 一种应用管理方法,其特征在于,所述方法包括:
    获取第一应用的数据模型,所述第一应用的数据模型包括所述第一应用的程序代码,所述程序代码用于实现所述第一应用的功能;
    根据所述第一应用的数据模型,生成所述第一应用对应的程序实体。
  2. 根据权利要求1所述的方法,其特征在于,所述数据模型包括属性,所述第一应用的属性包括所述第一应用的名称和版本信息中的至少一个。
  3. 根据权利要求2所述的方法,其特征在于,所述第一应用的属性还包括所述第一应用的数据模型的标识,其中,所述数据模型的标识为唯一标识。
  4. 根据权利要求3所述的方法,其特征在于,所述第一应用的属性还包括所述第一应用对应的部署节点和所述第一应用对应的运行资源中的至少一个。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述第一应用的数据模型,生成所述第一应用对应的程序实体,包括:
    根据所述第一应用的数据模型,确定所述第一应用的配置信息,所述第一应用的配置信息用于指示所述第一应用的数据模型的属性的配置值;
    根据所述第一应用的配置信息,创建所述第一应用对应的程序实体。
  6. 根据权利要求5所述的方法,其特征在于,所述第一应用的数据模型还用于指示所述第一应用的功能。
  7. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    确定所述第一应用对应的运行资源,并在所述第一应用对应的运行资源上运行所述第一应用对应的程序实体。
  8. 一种应用订阅方法,其特征在于,所述方法包括:
    获取第一应用的数据模型,所述第一应用的数据模型包括所述第一应用的程序代码,所述程序代码用于实现所述第一应用的功能;
    根据所述第一应用的数据模型,生成所述第一应用对应的程序实体;
    接收订阅信息,所述订阅信息用于订阅所述第一应用的信息;
    发送第一指示信息,所述第一指示信息与所述第一应用对应的程序实体的运行状态相关。
  9. 根据权利要求8所述的方法,其特征在于,所述根据所述第一应用的数据模型,生成所述第一应用对应的程序实体,包括:
    根据所述第一应用的数据模型,确定所述第一应用的配置信息,所述第一应用的配置信息用于指示所述第一应用的数据模型的属性的配置值;
    根据所述第一应用的配置信息,创建所述第一应用对应的程序实体。
  10. 根据权利要求9所述的方法,其特征在于,所述第一指示信息包括所述第一应用对应的程序实体的状态;
    其中,所述程序实体的状态包括所述程序实体的创建状态、运行状态和终止状态中的任一种状态。
  11. 根据权利要求8所述的方法,其特征在于,所述订阅信息还用于订阅与所述第一应用相关的预设事件以及所述第一应用的属性的变更信息。
  12. 根据权利要求11所述的方法,其特征在于,所述方法还包括:
    当所述第一应用对应的程序实体的状态变更时,发送第一通知信息,所述第一通知信息用于通知所述第一应用对应的程序实体的状态发生变更。
  13. 根据权利要求8-12任一项所述的方法,其特征在于,所述方法还包括:
    接收查询信息,所述查询信息用于查询所述第一应用的信息,所述第一应用的信息包括所述第一应用的第一属性的信息和第二属性的信息;
    发送查询结果,所述查询结果用于指示所述第一应用的信息。
  14. 根据权利要求13所述的方法,其特征在于,
    所述第一属性的信息至少包括:所述第一应用的数据模型的标识信息;
    所述第二属性的信息至少包括:所述第一应用的属性的名称和所述第一应用的属性的标识信息。
  15. 根据权利要求14所述的方法,其特征在于,所述查询所述第一应用的信息,包括:
    根据所述第一应用的数据模型的标识信息,查找所述第一应用的程序实体;
    统计所述第一应用的程序实体的数量。
  16. 根据权利要求15所述的方法,其特征在于,所述查询所述第一应用的信息,包括:
    根据所述第一应用的数据模型的标识信息,查找所述第一应用的程序实体的状态。
  17. 根据权利要求15所述的方法,其特征在于,所述查询第一应用的信息,包括:
    根据所述第一应用的配置信息指示的数据模型的标识信息,查找所述第一应用的程序实体的状态。
  18. 一种应用管理装置,其特征在于,所述装置包括:
    获取模块,用于获取第一应用的数据模型,所述第一应用的数据模型包括所述第一应用的程序代码,所述程序代码用于实现所述第一应用的功能;
    生成模块,用于根据所述第一应用的数据模型,生成所述第一应用对应的程序实体。
  19. 一种应用订阅装置,其特征在于,所述装置包括:
    获取模块,用于获取第一应用的数据模型,所述第一应用的数据模型包括所述第一应用的程序代码,所述程序代码用于实现所述第一应用的功能;
    生成模块,用于根据所述第一应用的数据模型,生成所述第一应用对应的程序实体;
    接收模块,用于接收订阅信息,所述订阅信息用于订阅所述第一应用的信息;
    发送模块,用于发送第一指示信息,所述第一指示信息与所述第一应用对应的程序实体的运行状态相关。
  20. 一种电子设备,其特征在于,包括:处理器;存储器;以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述电子设备实现如权利要求1-7任一项所述的方法,或者,如权利要求8-17任一项所述的方法。
  21. 一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备实现如权利要求1-7任一项所述的方法,或者,如权利要求8-17任一项所述的方法。
  22. 一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,其特征在于,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如权利要求1-7任一项所述的方法,或者,如权利要求8-17任一项所述的方法。
PCT/CN2023/104203 2022-06-30 2023-06-29 应用管理方法、应用订阅方法及相关设备 Ceased WO2024002302A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/879,755 US20250390296A1 (en) 2022-06-30 2023-06-29 Application management method, application subscription method, and related device
EP23830466.1A EP4538872A4 (en) 2022-06-30 2023-06-29 APPLICATION MANAGEMENT METHOD, APPLICATION SUBSCRIPTION METHOD AND RELATED DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210760285.3 2022-06-30
CN202210760285.3A CN115202712B (zh) 2022-06-30 2022-06-30 应用管理方法、应用订阅方法及相关设备

Publications (1)

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

Family

ID=83577513

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/104203 Ceased WO2024002302A1 (zh) 2022-06-30 2023-06-29 应用管理方法、应用订阅方法及相关设备

Country Status (4)

Country Link
US (1) US20250390296A1 (zh)
EP (1) EP4538872A4 (zh)
CN (1) CN115202712B (zh)
WO (1) WO2024002302A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202712B (zh) * 2022-06-30 2023-12-29 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235363A1 (en) * 2007-03-21 2008-09-25 Hemal Shah Method and system for platform level data model for indications based event control and data transfer
CN109582329A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 数据管理及订阅方法、装置、系统、电子设备及存储介质
CN110768833A (zh) * 2019-10-25 2020-02-07 北京宝兰德软件股份有限公司 基于kubernetes的应用编排部署方法及装置
CN111930521A (zh) * 2020-09-23 2020-11-13 北京百度网讯科技有限公司 用于部署应用的方法、装置、电子设备及可读存储介质
CN115202712A (zh) * 2022-06-30 2022-10-18 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535671B (zh) * 2018-05-23 2022-11-08 龙芯中科(山西)技术有限公司 云平台的管理方法及装置
US10924538B2 (en) * 2018-12-20 2021-02-16 The Boeing Company Systems and methods of monitoring software application processes
CN112039934A (zh) * 2019-06-03 2020-12-04 大唐移动通信设备有限公司 一种信息反馈、反馈信息处理方法及装置
US11018953B2 (en) * 2019-06-19 2021-05-25 International Business Machines Corporation Data center cartography bootstrapping from process table data
CN113076096B (zh) * 2021-04-29 2024-04-23 成都星云智联科技有限公司 一种桌面应用程序开发方法、装置、设备及存储介质
CN113741889B (zh) * 2021-08-26 2024-11-19 北京深演智能科技股份有限公司 异构数据库智能存取数据的方法及设备
CN114564209B (zh) * 2022-02-08 2025-09-16 福思(杭州)智能科技有限公司 智能汽车数据的处理方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235363A1 (en) * 2007-03-21 2008-09-25 Hemal Shah Method and system for platform level data model for indications based event control and data transfer
CN109582329A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 数据管理及订阅方法、装置、系统、电子设备及存储介质
CN110768833A (zh) * 2019-10-25 2020-02-07 北京宝兰德软件股份有限公司 基于kubernetes的应用编排部署方法及装置
CN111930521A (zh) * 2020-09-23 2020-11-13 北京百度网讯科技有限公司 用于部署应用的方法、装置、电子设备及可读存储介质
CN115202712A (zh) * 2022-06-30 2022-10-18 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4538872A4

Also Published As

Publication number Publication date
US20250390296A1 (en) 2025-12-25
EP4538872A4 (en) 2025-09-24
EP4538872A1 (en) 2025-04-16
CN115202712B (zh) 2023-12-29
CN115202712A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
CN107766126B (zh) 容器镜像的构建方法、系统、装置及存储介质
KR102008037B1 (ko) 분산형 애플리케이션 객체에 대한 업데이트 통지를 제공하는 기법
CN115061717B (zh) 应用管理方法、应用订阅方法及相关设备
CN107608710A (zh) 基于Jenkins工具的软件项目构建任务配置方法及装置
WO2020015191A1 (zh) 业务规则的发布管理方法、电子装置及可读存储介质
CN103152327B (zh) 一种配置压缩/解压缩插件的方法、客户端及系统
CN113495723B (zh) 一种调用功能组件的方法、装置及存储介质
CN106569880B (zh) 一种Android应用间动态共享资源的方法及系统
US20250390312A1 (en) Application management method and related device
US20200117354A1 (en) User interface development in a transcompiling environment
CN113032004A (zh) 在开发环境中管理开发作业的方法、设备和程序产品
US20250390292A1 (en) Application management method, application subscription method, and related device
WO2024002229A1 (zh) 应用管理方法及相关设备
CN114756363A (zh) 一种资源配置检测方法及装置
WO2024002302A1 (zh) 应用管理方法、应用订阅方法及相关设备
CN106055348A (zh) 一种通知系统属性更新的方法和装置
CN109408336B (zh) 一种启动项监控方法、装置、终端及计算机可读介质
CN114546410A (zh) 一种基于设计模式的代码优化方法及相关设备
JP5209058B2 (ja) ソフトウェア・コンポーネントを作成するための方法
CN112035102A (zh) 数据接口的配置方法及装置、存储介质、电子装置
CN115309376A (zh) 一种应用创建方法、装置、电子设备及存储介质
CN115469917A (zh) 文件处理方法、装置、设备及存储介质
US20260046344A1 (en) Database systems and client-side methods for pausing flows offline
US12353401B1 (en) Database systems and client-side methods for offline operation
US20250238205A1 (en) Application creation

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: 23830466

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18879755

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2023830466

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2023830466

Country of ref document: EP

Effective date: 20250109

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2023830466

Country of ref document: EP