WO2023193470A1 - Service management method and system, and related device - Google Patents

Service management method and system, and related device Download PDF

Info

Publication number
WO2023193470A1
WO2023193470A1 PCT/CN2022/139520 CN2022139520W WO2023193470A1 WO 2023193470 A1 WO2023193470 A1 WO 2023193470A1 CN 2022139520 W CN2022139520 W CN 2022139520W WO 2023193470 A1 WO2023193470 A1 WO 2023193470A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
running
component
module
control
Prior art date
Application number
PCT/CN2022/139520
Other languages
French (fr)
Chinese (zh)
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 WO2023193470A1 publication Critical patent/WO2023193470A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Definitions

  • This application relates to the fields of information technology and cloud services, and in particular, to a business management method, system and related devices.
  • the application indicates the settings of the business logic of the device, so that the device can be controlled to complete the corresponding business.
  • These applications are generally developed separately offline, with code development, compilation, packaging and deployment based on the terminal software and hardware platform. This method of generating applications has a complicated development process and a relatively high technical threshold. It requires R&D personnel to have various professional skills such as configuring software and hardware environments, development drivers, and everyone's development frameworks. It increases the cost of application development and does not meet the needs of users.
  • Embodiments of the present application provide a business management method, system and related devices, which can conveniently control the functions of devices on the Internet.
  • embodiments of the present application provide a business management method, including:
  • the component orchestration interface is used to orchestrate the control components that the target application depends on;
  • a control component on which the target application depends is provided to the target device, and the control component on which the target application depends is used to run the target application.
  • the above methods can be implemented by the cloud.
  • the above method can be used to control the business functions of the device.
  • Devices here include edge devices and/or end devices.
  • the device When the device is a terminal device, it can include a Direct Digital Controller (DDC).
  • DDC is a device that implements control logic based on a processor and controller. It can receive signals output by sensors, contacts or other instruments, process these signals, and output control signals to external devices. The output control signal can be used to start/stop the machine, open/close the valve, open/close the valve, or perform complex actions according to the program instructions, etc.
  • Metadata also known as intermediary data and relay data, is used to describe information about data attributes.
  • metadata is used to describe the business process (or processing logic) of the application.
  • metadata can be used to describe the calling relationship and/or the transfer relationship between components.
  • a control component is a code fragment or compiled binary file used to implement one or several functions. It is usually pre-defined or pre-encapsulated.
  • the component may be a function, algorithm (for example, a sorting algorithm), a framework, a software module, a packaged tool, a logic control component, or a sensor control component (for example, reading the temperature measured by a temperature sensor), etc.
  • the control component in the embodiment of the present application follows the development standard of electronic device logic control. Taking the electronic device including DDC as an example, the control component follows the DDC logic control standard and can be used to implement the control logic on the DDC.
  • the cloud can connect the demand side and the destination side.
  • the cloud provides the orchestration function and orchestration components of business control logic to the demand side, so that users on the demand side can visually develop applications based on the control requirements for the destination side.
  • the cloud deploys user-orchestrated applications on the destination (the aforementioned electronic devices, such as edge devices and terminal devices), without the need for offline installation and debugging of applications. It can also be deployed and applied in electronic devices in a timely manner to conveniently control the functions of devices on the Internet.
  • the cloud-edge-end collaboration system includes clouds, edge devices, and terminal devices.
  • the terminal devices are connected to the cloud through edge devices.
  • the edge device and the terminal device are the aforementioned electronic devices. Through the embodiments of the present application, the functions of the edge device and the terminal device can be conveniently controlled.
  • control components By providing control components to users, the reuse of control components can be achieved, preventing users from repeatedly developing codes for the same functions when developing applications, reducing costs and improving application development efficiency.
  • computing resources and storage resources in DCC are usually limited, and DDC involves a variety of controls on sensors, logic gates, and electrical components.
  • the security and professionalism requirements in the application development process are high.
  • the functional code blocks involved in DDC are encapsulated as control components, allowing users to flexibly generate applications safely and reasonably based on visual control components, improving code development efficiency.
  • the control logic program in the field controller (DDC) can be downloaded and updated through the cloud, which improves the user experience.
  • the method further includes:
  • a running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
  • Running engine instances can form a relatively isolated environment to avoid interference from other environments within the device and improve system stability.
  • the method further includes:
  • the cloud can modify, restart, or synchronize the configuration of the running engine instance.
  • the configuration of the running engine instance can be adjusted and the application running environment can be optimized without updating the hardware of the electronic device itself, thereby improving system stability and controlling the electronic device conveniently and safely.
  • the cloud can modify the configuration of the running engine instance.
  • the cloud can modify the configuration of the running engine instance.
  • different electronic devices may have different hardware facilities, there are differences in the resources they can provide to the running engine instances, which may cause the running engine instances deployed in different devices to malfunction.
  • You can modify the configuration of the running engine instance to solve faults, improve system flexibility and operability, and improve user experience.
  • the cloud restarts the running engine instance.
  • the cloud can reload the running engine instance by restarting to improve the flexibility and operability of the system. In some scenarios, it can also avoid losing control of the device due to application lags or endless loops.
  • the cloud can perform a patch upgrade on the running engine instance to eliminate vulnerabilities in the running engine instance or improve the performance of the running engine instance.
  • the cloud can run applications in engine instances simultaneously.
  • the cloud deploys multiple applications to the running engine instance or the cloud upgrades the applications in the running engine instance.
  • the method further includes:
  • the cloud can analyze useful information during application operation, monitor the application operation process, and facilitate monitoring of the implementation of the device's business functions.
  • the method further includes:
  • Send application management information where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  • the control logic program of the target device can be updated without changing the hardware firmware, which facilitates the control of the target device. Take control.
  • the method further includes:
  • the APP has multiple states, such as uninstalled, installed, and running.
  • the running APP is an APP in a running state, and part of its process has been executed.
  • the cloud provides a management function for running APPs, and running APPs can be deployed in batches in running engine instances by submitting tasks.
  • the cloud can also record the engine list where a certain application is deployed, as well as the logs of the deployed application, to facilitate management and viewing, and improve the stability of the system.
  • the method further includes:
  • a user interface for the running application is provided, and the user interface is used to display the running results of the running application. This makes it easy to analyze useful information during the application running process, monitor the application running process, and monitor the implementation of the business functions of the device.
  • the running engine instance includes a basic instruction process module, an uplink instruction module, a downlink instruction module and an engine core module.
  • each module can perform its own duties to complete the control and communication process, realize the interaction between electronic devices and the cloud, improve user experience, improve business implementation efficiency and system stability.
  • the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
  • the uplink command module is used to send uplink commands
  • a downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions.
  • the communication interface is provided by the engine core module;
  • the engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
  • the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service
  • the module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
  • the execution engine instance includes a context module, and the context module is used to store execution data of the current application.
  • the context module can be used to record application-related data, status, etc.
  • the context module can record the current data and status of the application when the application is interrupted.
  • the previously saved data and status can be read from the context module, thereby continuing the previous business without reloading the application.
  • the method further includes:
  • the server can receive uplink instructions from the running engine instance. For example, through the engine registration directive of a running engine instance, the server can subscribe to record the registration information of the running engine. For another example, through the component installation request command, the server can deliver the corresponding component to the running engine instance. For another example, through the log upload command, the server can record the running log of the running engine instance to facilitate fault checking, version backtracking, etc. Similarly, through the heartbeat keep command, the server can maintain a connection with the running engine instance and record the online status of the running engine instance.
  • the engine registration instruction includes one or more of the following information: a license, a hardware platform instruction set, and a central processing unit (CPU) of the at least one running engine instance. Architecture, operating system properties, or kernel version, etc.
  • the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the at least one running engine instance space usage, etc.
  • the target device includes a direct digital controller DDC.
  • control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-differential (PID) controller component, a thermodynamic component, an optical component One or more of the components or air quality detection components.
  • PID proportional-integral-differential
  • the above describes some types of components provided by the embodiments of the present application. Since the target device may involve a variety of controls on sensors, logic gates, and electrical components, the application development process requires high security and professionalism.
  • the embodiment of the present application encapsulates functional code blocks related to functions and thermodynamic devices into control components, allowing users to flexibly generate applications safely and reasonably based on visual control components.
  • the target device is used to complete one or more of the following business functions:
  • VAV system control Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, or electrical equipment control, etc.
  • communication with the target electronic device is performed through wireless communication technology.
  • wireless communication technology For example: global system for mobile communications (GSM), general packet radio service (GPRS), universal mobile telecommunications system (UMTS), LTE, hypertext transfer protocol (hypertext wireless access type technologies such as transfer protocol, HTTP), vehicle Ethernet (scalable service-oriented middleware over IP, SOME/IP) or 5G.
  • GSM global system for mobile communications
  • GPRS general packet radio service
  • UMTS universal mobile telecommunications system
  • LTE Long telecommunications system
  • hypertext transfer protocol hypertext wireless access type technologies such as transfer protocol, HTTP
  • vehicle Ethernet scalable service-oriented middleware over IP, SOME/IP
  • 5G 5G.
  • the method further includes:
  • MQTT is a lightweight communication protocol based on Transmission Control Protocol/Internet Protocol (TCP/IP) protocol.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the MQTT Broker is responsible for receiving the network connection from the client and processing the client's subscription/unsubscription and message publishing (Publish) requests. When there are multiple subscribers, messages published by the client can also be forwarded to other subscribers.
  • Publish message publishing
  • MQTT is a lightweight protocol and the client is relatively small, it does not need to consume too much storage space and computing resources when deployed in the target device, which can improve the deployment and communication efficiency of running engine instances.
  • the method further includes:
  • COAP is used on devices with limited resources. It simplifies the message format of communication and has the advantages of lightweight and low power consumption. When deployed in the target device (especially devices with limited storage and computing resources such as DDC) There is no need to consume too much storage space and computing resources, thereby improving the efficiency of controlling the target device.
  • inventions of the present application provide a business management system.
  • the business management system includes a server deployed in the cloud and a target device, wherein:
  • the cloud is used to provide a component orchestration interface and control component resources, and the component orchestration interface is used to orchestrate control components that the target application depends on;
  • the cloud is also configured to generate metadata of the target application according to the control components arranged in the component arrangement interface;
  • the cloud is further configured to provide metadata of the target application to the target device, and the metadata of the target application is used to run the target application;
  • the cloud is further configured to provide the target device with a control component that the target application depends on, and the control component that the target application depends on is used to run the target application;
  • the electronic device is configured to run the target application according to the metadata of the target application and the target application dependency control component.
  • the cloud is used to control the business functions of the target device.
  • the cloud provides the orchestration function and orchestration components of business control logic to the demand side, so that users on the demand side can visually develop applications based on the control requirements for the destination side, lowering the development threshold, reducing costs, and improving the efficiency of application development.
  • Efficiency on the other hand, the cloud deploys user-orchestrated applications on the destination (the aforementioned electronic devices, such as edge devices and terminal devices). There is no need to install and debug applications offline, and applications can be deployed in electronic devices in a timely manner. This allows you to conveniently control the functions of devices on the Internet.
  • the cloud is further configured to provide a running engine instance to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
  • the cloud is also used for:
  • Control the running engine instance, wherein controlling the running engine instance includes one or more of the following operations:
  • the cloud is also used for:
  • the cloud is also used for:
  • Send application management information where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  • the cloud is also used for:
  • the cloud is also used for:
  • a user interface for the running application is provided, and the user interface is used to display the running results of the running application.
  • the running engine instance includes a basic instruction process module, an uplink instruction module, a downlink instruction module and an engine core module.
  • the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
  • the uplink command module is used to send uplink commands
  • a downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions.
  • the communication interface is provided by the engine core module;
  • the engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
  • the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service
  • the module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
  • the execution engine instance includes a context module, and the context module is used to store execution data of the current application.
  • the cloud is also used for:
  • the engine registration instruction includes one or more of the following information: a license, a hardware platform instruction set, and a central processing unit (CPU) of the at least one running engine instance. Architecture, operating system properties, or kernel version, etc.
  • the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the at least one running engine instance space usage, etc.
  • the target device includes a direct digital controller DDC.
  • control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-differential (PID) controller component, a thermodynamic component, an optical component One or more of the components or air quality detection components.
  • PID proportional-integral-differential
  • the target device is used to complete one or more of the following business functions:
  • VAV system control Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, or electrical equipment control, etc.
  • the cloud includes message middleware, and the message middleware is used to implement communication with the target device.
  • the cloud communicates with the target electronic device through wireless communication technology.
  • the cloud communicates with the running engine instance through the MQTT protocol.
  • the cloud communicates with the running engine instance through the COAP protocol.
  • inventions of the present application provide a service management device.
  • the service management device includes a processing unit and a communication unit.
  • the service management device is used to implement the first aspect or any possible implementation manner of the first aspect. method described.
  • the communication unit is used to provide a component orchestration interface and control component resources, and the component orchestration interface is used to orchestrate control components that the target application depends on;
  • the processing unit is configured to generate metadata of the target application according to the control components arranged in the component arrangement interface;
  • the communication unit is further configured to provide metadata of the target application to the target device, and the metadata of the target application is used to run the target application;
  • the communication unit is further configured to provide the control component that the target application depends on to the target device, and the control component that the target application depends on is used to run the target application.
  • the communication unit is also used to:
  • a running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
  • processing unit is also used to:
  • controlling the running engine instance includes one or more of the following operations:
  • the communication unit is also used to:
  • the communication unit is also used to:
  • Send application management information where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  • the communication unit is also used to:
  • the communication unit is also used to:
  • a user interface for the running application is provided, and the user interface is used to display the running results of the running application.
  • the running engine instance includes a basic instruction flow module, an uplink instruction module, a downlink instruction module and an engine core module.
  • the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
  • the uplink command module is used to send uplink commands
  • a downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions.
  • the communication interface is provided by the engine core module;
  • the engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
  • the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service
  • the module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
  • the execution engine instance includes a context module, and the context module is used to store execution data of the current application.
  • the communication unit is also used to:
  • the engine registration instruction includes one or more of the following information: a license, a hardware platform instruction set, and a central processing unit (CPU) of the at least one running engine instance.
  • a license a license
  • a hardware platform instruction set a hardware platform instruction set
  • a central processing unit CPU
  • Architecture operating system properties, kernel version.
  • the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the at least one running engine instance space usage in .
  • the target device includes a direct digital controller DDC.
  • control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. one or more of them.
  • the target device is used to complete one or more of the following business functions:
  • VAV system control Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
  • the service management apparatus includes message middleware, and the message middleware is used to implement communication with the target device.
  • the communication unit is also configured to communicate with the target electronic device through wireless communication technology.
  • the communication unit is also configured to communicate with the running engine instance through the MQTT protocol.
  • the communication unit is further configured to communicate with the running engine instance through the COAP protocol.
  • embodiments of the present application provide a computing device, where the computing device includes a processor and a memory.
  • the processor is configured to execute the computer program stored in the memory, so that the computing device implements the method described in any one of the first aspects.
  • the processor is configured to execute the computer program stored in the memory to implement the following operations:
  • the component orchestration interface is used to orchestrate the control components that the target application depends on;
  • a control component on which the target application depends is provided to the target device, and the control component on which the target application depends is used to run the target application.
  • the processor is also used to:
  • a running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
  • the processor is also used to:
  • controlling the running engine instance includes one or more of the following operations:
  • the processor is also used to:
  • the computing device further includes a communication interface.
  • the processor is also used for:
  • Application management information is sent through the communication interface, and the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  • the processor is also used to:
  • the processor is also used to:
  • a user interface for the running application is provided, and the user interface is used to display the running results of the running application.
  • the running engine instance includes a basic instruction flow module, an uplink instruction module, a downlink instruction module and an engine core module.
  • the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
  • the uplink command module is used to send uplink commands
  • a downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions.
  • the communication interface is provided by the engine core module;
  • the engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
  • the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service
  • the module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
  • the execution engine instance includes a context module, and the context module is used to store execution data of the current application.
  • the computing device further includes a communication interface.
  • the processor is also used for:
  • Uplink instructions from at least one running engine instance are received through the communication interface, and the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
  • the engine registration instruction includes one or more of the following information: a license, a hardware platform instruction set, and a central processing unit (CPU) of the at least one running engine instance.
  • a license a license
  • a hardware platform instruction set a hardware platform instruction set
  • a central processing unit CPU
  • Architecture operating system properties, kernel version.
  • the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the at least one running engine instance space usage in .
  • the target device includes a direct digital controller DDC.
  • control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. one or more of them.
  • the target device is used to complete one or more of the following business functions:
  • VAV system control Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
  • the computing device includes message middleware, and the message middleware is used to implement communication with the target device.
  • the computing device further includes a communication interface.
  • the processor is also used for:
  • the computing device further includes a communication interface.
  • the processor is also used for:
  • the computing device further includes a communication interface.
  • the processor is also used for:
  • embodiments of the present application provide a computer-readable storage medium in which instructions are stored, and the instructions are used to implement the method described in any one of the foregoing first aspects.
  • the present application provides a computer program product.
  • the computer program product includes computer instructions, and the instructions are used to implement the method described in any one of the foregoing first aspects.
  • Figure 1 is a schematic architectural diagram of a business management system provided by an embodiment of the present application.
  • Figure 2A is a schematic diagram of the system architecture in a cloud-edge collaboration scenario provided by an embodiment of the present application
  • Figure 2B is a schematic diagram of the system architecture in another cloud-edge collaboration scenario provided by the embodiment of the present application.
  • Figure 3 is a schematic structural diagram of an example of an operating engine provided by an embodiment of the present application.
  • Figure 4 is a schematic architectural diagram of yet another business management system provided by an embodiment of the present application.
  • Figure 5 is a schematic architectural diagram of a service management device provided by an embodiment of the present application.
  • Figure 6 is a schematic architectural diagram of yet another business management system provided by an embodiment of the present application.
  • Figure 7 is a schematic flow chart of a business management method provided by an embodiment of the present application.
  • Figure 8 is a schematic diagram of an interface provided by an embodiment of the present application.
  • Figure 9 is a schematic diagram of the format of metadata of an application provided by an embodiment of the present application.
  • Figure 10 is a schematic flow chart of a business management method provided by an embodiment of the present application.
  • Figure 11 is a schematic structural diagram of a service management device provided by an embodiment of the present application.
  • Figure 12 is a schematic structural diagram of a computing device provided by an embodiment of the present application.
  • Metadata A type of information used to describe data attributes, also known as intermediary data and relay data.
  • metadata is used to describe the business process (or processing logic) of the application.
  • metadata can be used to describe the calling relationship and/or delivery relationship between components.
  • metadata can be used to describe the execution sequence of components that the application depends on.
  • Component a code fragment or compiled binary file used to implement one or several functions, usually pre-defined or pre-encapsulated.
  • components can be functions, algorithms, frameworks, software modules, packaged tools, etc.
  • node.js a JavaScript runtime environment
  • node.js a JavaScript runtime environment
  • some nonde.js components to run.
  • they rely on the Express framework (a framework for quickly building websites) and the Path module (which provides conversion file paths). tools) and other components.
  • Application business process A series of activities completed by different functional modules in order to complete business functions.
  • the functional modules here include components, and may further include code, binary files, etc. that are not encapsulated as components.
  • the business process of the application describes one or more of the component's calling relationship, transfer relationship, data flow relationship, or which code fragment of the component needs to be executed.
  • Container A virtualization technology in computer operating systems. This technology allows processes to run in relatively independent and isolated environments (including independent file systems, namespaces, resource views, etc.). Container technology is widely used in service scenarios in the field of cloud computing.
  • Runtime engine instance is one or more instantiated runtime engines obtained based on the runtime engine template or the runtime engine design.
  • the running engine instance provides the software environment required for application (application, APP) to run.
  • the running engine instance provides basic running capabilities independent of specific hardware and protocols, and can run the APP according to the business process corresponding to the APP and the components that the APP depends on.
  • the running environment provided by the running engine instance includes a Node.js-based environment.
  • the environment provided by the running engine instance can also include environments based on development languages such as java, python, and go.
  • the platform it is based on can be a Linux platform, Windows or other platforms.
  • the embodiments of this application are applicable to various platforms, various development environments, and development languages.
  • Message queuing telemetry transport (MQTT) protocol: a lightweight communication protocol based on the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • MQTT Broker is responsible for receiving the network connection from the client and processing the client's subscription/unsubscription and message publishing (Publish) requests. In some multi-server scenarios, MQTT Broker will forward messages published by the client to other subscribers.
  • COAP Constrained application protocol
  • Middleware A type of software between application systems and system software. It uses the basic services (functions) provided by system software to connect various parts of the application system or different applications on the network. That is: software that provides common services and functions for applications. Data management, application services, messaging, authentication, and application programming interface (API) management usually go through middleware.
  • API application programming interface
  • Table 1 is information about possible middleware provided by the embodiment of this application.
  • the cloud may contain the middleware of the Euler OS (EulerOS), thereby providing a running engine instance based on EulerOS, or may be used to develop EulerOS-based applications, thereby being suitable for EulerOS-based devices. business control.
  • EulerOS Euler OS
  • business control may be used to develop EulerOS-based applications, thereby being suitable for EulerOS-based devices. business control.
  • the cloud may include remote dictionary service (remote dictionary server, Redis) middleware, thereby enabling storage of data in key-value (key-value, KV) format.
  • remote dictionary service remote dictionary server, Redis
  • KV key-value
  • the cloud may include cloud container engine (cloud container engine, CCE) middleware.
  • CCE cloud container engine
  • CCE is used to provide a highly scalable, high-performance enterprise-level Kubernetes cluster and support running Docker containers.
  • the above-mentioned middleware can be used to implement the technical solutions of the embodiments of this application.
  • the above middleware is only an example, and the specific implementation process may also include more or less middleware, or other versions of middleware.
  • the embodiments of this application are also applicable to situations where other middleware is included.
  • Embodiments of the present application provide a business management server and a business management system.
  • the business management server can connect the demand side and the destination side.
  • the business management server provides the orchestration function and orchestration components of the business control logic to the demand side, so that the demand side Users can visually develop applications based on the control requirements for the destination end, lowering the development threshold, reducing costs, and improving the efficiency of application development;
  • the business management server deploys the user-orchestrated applications on the destination end (the aforementioned electronic equipment, For example, in edge devices and terminal devices), there is no need to install and debug applications offline. Applications can also be updated in the cloud in a timely manner, and the functions of devices on the Internet can be easily controlled.
  • Figure 1 is a schematic architectural diagram of a business management system 10 provided by an embodiment of the present application.
  • the business management system 10 includes a cloud 101 and devices.
  • Cloud 101 also known as server, cloud platform, etc., is a device with computing capabilities and communication capabilities. It usually concentrates more computing resources, which can include physical devices or virtual devices.
  • the cloud 101 can be deployed in one or more servers (such as blade servers, rack servers, etc.).
  • the cloud 101 may include one or more virtual machines, containers, etc.
  • Cloud 101 can provide a variety of services for electronic devices, such as APP installation services, APP upgrade services, component download services, etc. It is a device with computing and communication capabilities.
  • the cloud 101 can externally provide a component orchestration interface and control component resources, and receive control components and generate applications arranged by users on the component orchestration interface. Applications generated by the cloud 101 can be deployed and run in electronic devices to achieve the purpose of controlling the functions of the electronic devices.
  • a device is a device with computing and communication capabilities that is used to complete several business functions or control logic.
  • the number of devices can be one or multiple.
  • device 102 is used as an example to describe the device below. It should be understood that in certain application scenarios or certain network types, the names of devices with similar functions may not be called devices.
  • the solutions provided by the embodiments of this application are applicable to devices that can deploy applications.
  • the target device below in this application includes one or more devices.
  • the target device may be device 102.
  • the target device can also be a device in the system that meets a certain condition, for example, a device managed by a certain tenant, a device selected by the user, or a device located at a certain location.
  • device 102 may be located at the edge of a network or at an endpoint of a network.
  • the two options are introduced below:
  • the device 102 may include an edge device in the network.
  • Edge devices are devices that provide an entry point into a network.
  • electronic equipment may include routers, routing switches, integrated access devices (IADs), multiplexers, metropolitan area network (MAN) access devices, or wide area networks (WAN) ) one or more of the access devices, etc.
  • IADs integrated access devices
  • MAN metropolitan area network
  • WAN wide area networks
  • the device 102 may include a terminal device in the network.
  • Terminals can be thought of as endpoints of a network, typically acting as input and/or output devices.
  • the electronic devices in the embodiments of this application can be used in a variety of application scenarios, such as the following application scenarios: smart buildings, smart cities, smart homes, industrial Internet, Internet of Vehicles, industrial control, driverless driving, transportation safety, or the Internet of Things (Internet of things, IoT), etc.
  • electronic devices include but are not limited to home devices (smart TVs, smart refrigerators, or smart security devices, etc.), computers, handheld devices (such as tablets, or mobile phones, etc.), wearable devices (smart eyes, or smart watches, etc.), Sensors (such as cameras, lidar, or millimeter-wave radar, etc.), entertainment equipment (karaoke equipment, virtual reality equipment, or game consoles, etc.), mobile tools (vehicles, aircraft, ships, or drones, etc.), etc.
  • the device 102 can be used for one or more of the following business functions:
  • VAV Variable air volume
  • the service management system 10 may also include user equipment 103.
  • the user device 103 is a device that interacts with the user, has output/output capabilities, computing capabilities, can present an interface, and receive data input by the user.
  • the user device 103 can present a component arrangement interface to the user, in which the user can select control components, arrange control components, etc.
  • the user device 103 receives the arrangement of control components input by the user, and provides the control components arranged in the component arrangement interface to the cloud 101 .
  • the user equipment 102 may include, for example, a handheld terminal, a wearable device, a vehicle, a robot, and other independent devices, or may be a component (such as a chip or an integrated circuit) included in an independent device.
  • the terminal device when it is a handheld terminal, it may be a mobile phone (mobile phone), a tablet computer (pad), a computer (such as a notebook computer, a handheld computer, etc.).
  • the number of user equipment may be one or multiple. This application does not limit the number of user equipment.
  • the above-mentioned communication between the cloud and the device, between the device and the device, and between the cloud and the user device can be carried out through wired, wireless or a combination of wired and wireless.
  • cloud 101 may communicate with device 102 through wireless communication technology.
  • Wireless communication technologies include but are not limited to global system for mobile communications (GSM), general packet radio service (GPRS), universal mobile telecommunications system (UMTS), LTE, Wireless access type technologies such as hypertext transfer protocol (HTTP), vehicle Ethernet (scalable service-oriented middleware over IP, SOME/IP) or 5G.
  • GSM global system for mobile communications
  • GPRS general packet radio service
  • UMTS universal mobile telecommunications system
  • LTE Long Term Evolution
  • Wireless access type technologies such as hypertext transfer protocol (HTTP), vehicle Ethernet (scalable service-oriented middleware over IP, SOME/IP) or 5G.
  • HTTP hypertext transfer protocol
  • SOME/IP scalable service-oriented middleware over IP
  • 5G 5G.
  • the cloud 101 can be used to control the business functions of the device, and the cloud 101 can connect the demand end (such as the user equipment 103) and the destination end (such as the device 102).
  • Cloud 101 provides the orchestration function and orchestration components of business control logic to the demand side, so that users on the demand side can visually develop applications based on the control requirements of the destination side, lowering the development threshold, reducing costs, and improving the efficiency of application development;
  • Cloud 101 deploys user-orchestrated applications on the destination, eliminating the need to install and debug applications offline. It can also deploy applications in electronic devices in the cloud in a timely manner, thereby conveniently controlling the functions of devices on the Internet.
  • FIG. 2A shows a schematic diagram of the system architecture in a cloud-edge collaboration scenario according to the embodiment of the present application.
  • the router in the network is the aforementioned device.
  • Routers can provide routing and forwarding functions for the network, and the functions of the router can be realized through applications.
  • the convenience of deploying applications in routers will directly affect the service quality of the network.
  • the cloud can obtain the application that needs to be deployed in the router based on the orchestration component, and provide the metadata and components of the application to the router, thus completing the deployment of the application.
  • This deployment method does not require offline installation and debugging of applications, nor does it require replacement of the router's hardware firmware. It enables convenient control of the router's business functions and ensures network service quality.
  • FIG. 2B shows a schematic diagram of the system architecture in another cloud-edge-device collaboration scenario according to the embodiment of the present application.
  • Edge devices and terminals in the network are the aforementioned devices.
  • the building contains multiple terminals, and these terminals complete their business functions in multiple spaces.
  • the terminal involves a variety of controls on sensors, logic gates, and electrical components.
  • the application development process requires high security and professionalism.
  • functional code blocks involved in the terminal are encapsulated as control components, allowing users to flexibly generate applications safely and reasonably based on visual control components, improving code development efficiency.
  • the control logic program in the field controller DDC
  • DDC field controller
  • the cloud can provide a running engine instance to the device, and the running engine instance is used to provide an isolation environment for application running.
  • a runtime engine instance can run an application through the business processes and components on which the application depends. In this way, components are reused between different applications through running engine instances. For applications that rely on the same components, the device does not need to obtain multiple identical components, thereby further improving application operating efficiency and improving the service quality of the device.
  • FIG. 3 shows a schematic structural diagram of a possible running engine example provided by the embodiment of the present application.
  • a running engine instance can include a basic instruction module, an uplink instruction module, a downlink instruction module, an engine core module, etc.
  • the embodiment of this application divides the services provided by the engine into different modules, allowing each module to perform its own duties to complete the control and communication process, realize the interaction between the target device and the cloud, improve user experience, and improve business implementation efficiency and system stability.
  • the basic command module is used to control the installation of the upstream command flow and the downstream command flow.
  • the basic command module contains the command management process, and the command flow is controlled through the command management process.
  • the basic instruction process can be a solidified process. For example, it cannot be updated after the running engine instance is released (or registered).
  • the uplink command module is used to process uplink commands, such as packaging and sending of uplink commands.
  • the uplink command may include one or more of an engine registration command, a component request command (or a component installation command), a log upload command, a heartbeat maintenance command, and the like.
  • the cloud can obtain the current status of the target device through uplink commands, making it easier for the cloud to manage the target device.
  • the server can subscribe to record the registration information of the running engine.
  • the server can deliver the corresponding component to the running engine instance.
  • the server can record the running log of the running engine instance to facilitate fault checking, version backtracking, etc.
  • the server can maintain a connection with the running engine instance and record the online status of the running engine instance.
  • the engine registration instruction includes one or more of the following information: license, hardware platform instruction set, CPU architecture of the at least one central processor running the engine instance, attributes of the operating system, or kernel version, etc.
  • the heartbeat retention instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the space usage in the at least one running engine instance, or the local available node installation and the space size for process installation, etc.
  • Downlink instruction module used to process downlink instructions. Furthermore, the downstream instruction module can also call the communication interface to execute instructions.
  • the communication interface here is provided by the engine core module.
  • Component management instructions For example, instructions used to implement the following functions: modify the content of the component, update the component version, install the component, uninstall the component, etc.
  • b.APP management instructions For example, instructions used to implement the following functions: edit the business process of the APP, set the components that the APP depends on, install the APP, uninstall the APP, query the installed APP, modify the properties of the APP, obtain the running status of the APP, etc.
  • Engine management instructions For example, instructions used to implement the following functions: modify the configuration parameters of the running engine instance, restart the running engine instance, etc.
  • Process management instructions For example, instructions used to implement the following functions: modify the process of sending uplink instructions, modify the process of downlink instructions, add, delete, modify, check, stop, start, or restart the corresponding business process of the application, etc.
  • Heartbeat interval setting instructions For example, the running engine instance is originally set to send heartbeat keep messages once every minute.
  • the cloud can use the heartbeat interval setting instructions to modify the frequency of sending heartbeat keep messages to adapt to the current load of the running engine instance.
  • Uplink channel configuration parameter management instructions are used to configure channel-related parameters. For example, instructions used to implement the following functions: modify the frequency domain, time domain, etc. of the wireless channel.
  • the engine core module includes one or more of the basic management module (or engine basic management module), executor, general service module and file system.
  • the basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module, or configure engine parameters, etc.
  • the basic management module may include one or more of engine configuration parameter management, component management, license management, process (Flow) management, engine communication interface management, or APP management.
  • the engine configuration parameters include configuration parameters in the running engine instance, such as: log level, etc.
  • the engine configuration parameter management module is used to configure various parameters of the engine.
  • Component management is used to manage component resources available to the runtime engine.
  • the license manages the permissions, licenses, etc. to run the engine.
  • Process management is used to support the running process of the running engine.
  • APP management is used to manage the applications available to the running engine instance.
  • the engine communication interface can only be called locally.
  • Executors are used to perform operations related to application running. For example, metadata loading, component instantiation, process instantiation, and APP parsing execution.
  • the control component has an API registration interface corresponding to it, so that the control component can register component information with the running engine instance when loading.
  • the executor can also include a context module, which is used to record application-related data, status, etc.
  • the context module can record (or store) the current data and status of the application. When the application resumes running, the previously saved data and status can be read from the context module, thereby continuing the previous business without restarting. Load the application.
  • the executor loads the metadata corresponding to the application, instantiates the components the application depends on, and instantiates the business process corresponding to the application, thereby realizing parsing and execution of the application.
  • the context module records the application running status to facilitate saving of the current application running status.
  • the running environment parameters provide the function of instantiating configuration parameters for engine initialization.
  • the general service module is used to provide general functions required by each module in the engine, such as logging, general processing functions for messages, etc.
  • a common service module can manage logs and messages.
  • the file system is responsible for persistent data storage and data reading.
  • FIG. 4 shows an architectural schematic diagram of yet another possible business management system provided by an embodiment of the present application.
  • the device is configured with one or more containers, such as virtualization container 1 and virtualization container 2. Among them, the running engine instance is deployed in virtualization container 1.
  • virtualization container 1 has computing resources and storage resources isolated from other environments.
  • virtualization container 1 has an independent central processing unit (CPU, a computing resource), memory One or more of (a storage resource), storage (a storage resource), and component resources (such as component libraries).
  • CPU central processing unit
  • storage a storage resource
  • component resources such as component libraries
  • the running engine instance can run the application based on the business process of the APP and the components that the APP depends on.
  • APP1 shown in Figure 4 depends on component a, component b, and component c.
  • the running engine can run APP1 based on the business process of APP1 and components a, component b, and component c.
  • APP2 shown in Figure 4 depends on component b, component c, and component d, then the running engine can run APP1 based on the business process of APP2 and components b, component c, and component d.
  • component b and component c can be reused between different APPs, thereby reducing the space occupied by the APP, suitable for nodes with limited resources, and improving application deployment efficiency.
  • the device may also contain one or more management processes related to business functions.
  • Figure 4 exemplarily shows the field area network (FAN) network management and wide area network (wide area) included in the device.
  • FAN field area network
  • WAN wide area network
  • firmware management container management.
  • the edge engine runs in the edge device and is the operating environment of the edge device's App, providing APP deployment, upgrade, operation and maintenance support and other capabilities; the edge engine supports Linux and Windows operating systems, and supports deployment in virtual machines (Virtual machines). Machine, VM) and containers.
  • the terminal-side engine runs in the terminal (such as a microcontroller or an embedded system, etc.) and is the operating environment of the terminal's App. It provides capabilities such as deployment, upgrade and operation and maintenance support of the App, and supports LiteOS and embedded Linux operations. system.
  • the cloud can control the running engine instance.
  • controlling the running engine instance includes one or more of the following operations: modifying the configuration of the running engine instance, restarting the running engine instance, performing patch upgrades on the running engine instance, synchronizing applications in the running engine instance, etc. .
  • the following is an introduction to the case of cloud control running engine instance:
  • Case 1 the cloud can modify the configuration of the running engine instance.
  • different electronic devices may have different hardware facilities, there are differences in the resources they can provide to running engine instances, which may cause inconsistent loads of running engine instances deployed in different devices.
  • You can improve the flexibility and operability of the system and improve user experience by modifying the configuration of the running engine instance.
  • the cloud can restart the running engine instance.
  • the cloud sends a restart command to the target device, and accordingly, the target device receives the restart command and restarts the running engine instance of the target device.
  • the cloud can reload the running engine instance by restarting to improve the flexibility and operability of the system. In some scenarios, it can also avoid losing control of the device due to application lags or endless loops.
  • Case 3 The cloud can perform patch upgrades on the running engine instance. For example, the cloud sends a patch for the running engine instance to the target device. Correspondingly, the target device receives the patch for the running engine instance, and uses the patch to eliminate vulnerabilities in the running engine instance or improve the performance of the running engine instance.
  • the cloud can synchronize the applications in the engine instance. For example, the cloud deploys multiple applications to the running engine instance or the cloud upgrades the applications in the running engine instance.
  • the cloud can manage applications in the running engine instance. For example, the cloud obtains the running status of the application in the running engine instance. In this way, the cloud can analyze useful information during application operation, monitor the application operation process, and facilitate monitoring of the implementation of the device's business functions. For another example, the cloud can send application management information to the device, and the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  • the cloud can deploy the running application in the running engine instance in the target device. In this way, the cloud can deploy running APPs in batches in the running engine instance by submitting tasks.
  • the APP has multiple states, such as not installed, installed, and running.
  • the running APP is an APP in a running state, and part of its process has been executed.
  • the cloud provides a management function for running APPs, and running APPs can be deployed in batches in running engine instances by submitting tasks.
  • the cloud can also record the engine list where a certain application is deployed, as well as the logs of the deployed application, to facilitate management and viewing, and improve the stability of the system.
  • the cloud can provide a user interface for the running application, and the user interface is used to display the running results of the running application. This makes it easy to analyze useful information during the application running process, monitor the application running process, and monitor the implementation of the business functions of the device.
  • the cloud can include multiple functional layers, and the multiple functional layers are used to provide multiple services respectively, so that the cloud supports business function control of the device.
  • Figure 5 shows an architectural schematic diagram of a possible service management device provided by this application.
  • the service management device may include the aforementioned cloud, or the service management device may be included in the cloud.
  • the business management device as shown in Figure 5 has multiple functional layers, among which the development and design layer is used to provide component orchestration interfaces and control component resources, the service layer is used to deploy applications in target devices, and the operation and maintenance layer is used to manage the The running environment and running status of the application on the target device.
  • the development and design layer is used to provide component orchestration interfaces and control component resources
  • the service layer is used to deploy applications in target devices
  • the operation and maintenance layer is used to manage the The running environment and running status of the application on the target device.
  • the development and design layer can include APP development, component development and application management modules, where the APP development module can implement the APP's business process design, service component design, business rules, UI blocks, or Business variable configuration and other functions.
  • business process design can be used to design the calling relationship, transfer relationship, data flow direction between the control components of the APP, or which code fragment of the control component needs to be executed, etc.
  • the component development module can obtain metadata or native code, etc., and generate components through possible component development services.
  • the component development module can also provide component design tools, open source components, etc. to facilitate users to obtain and generate control components.
  • the component development module also provides the function of installation and upgrade, allowing users to update and configure components according to their own needs.
  • the application management module is used to manage designed and developed applications. It can optionally manage development resources and assist in the engine operation and maintenance process.
  • the service layer can provide one or more of the following services: business process management services, edge-cloud collaboration services, and component development services.
  • business process management services include one or more services in process management, process testing, and metadata obfuscation.
  • Process management can be used to manage the business processes corresponding to applications.
  • an APP can contain multiple processes, and the process management module can support process addition, deletion, modification, check, restart, stop, etc.
  • the process testing module is used to test whether the application's business process meets expectations.
  • the metadata obfuscation module is used to disrupt metadata, avoid source code leakage, and improve security.
  • Edge-cloud collaborative services can be used to implement engine registration, engine operation and maintenance, process delivery, license management, access authentication and other functions.
  • Component development services can implement one or more of the following functions: generating components based on metadata or native code (the "metadata generation component” service and the “native code generation component” service shown in Figure 5), through online Tool component building services, component testing, etc.
  • the component development service also includes a component warehouse, or the component development service can establish a connection with the component warehouse, and the component warehouse is used to store control components.
  • the operation and maintenance layer can provide one or more of the following services: basic command process, engine registration, component synchronization download, heartbeat maintenance, log upload, or running engine core and other modules.
  • the core module of the run engine includes executors, process management, component management, or file systems, etc.
  • the core module of the running engine can be regarded as a running engine instance in the cloud.
  • the running engine can be tested in the cloud or the application in the running engine example can be tested.
  • modules included in the running engine core module please refer to the functions of the running engine core module shown in Figure 3 .
  • the cloud can provide running engine instances based on multiple hardware architectures or operating systems.
  • the cloud supports the management of devices with the following operating systems: Windows, Fedora, EluerOS, Ubuntu, LiteOS, x86, x64, arm64, armv7 wait.
  • the cloud can contain more or fewer modules, or can provide more or fewer services.
  • the cloud can also include message middleware, which is used to support wireless communication between the cloud and other devices.
  • Figure 6 shows an architectural schematic diagram of another possible business management system provided by an embodiment of the present application, including external resources, clouds, edge devices and terminals.
  • the cloud can communicate with edge devices and/or terminals through message middleware.
  • the cloud communicates with the terminal, it passes through the edge device.
  • the cloud can also provide one or more of the following services: component management, APP management, component graphical orchestration, application deployment and upgrade, engine instance management, online debugging, operation and maintenance management, etc.
  • the cloud can also provide the above services through the container management tool kubernetes (k8s for short).
  • k8s for short.
  • the cloud can implement its services based on k8s clusters, storage resources, network resources, and public cloud and/or private cloud infrastructure.
  • the cloud as shown in Figure 6 can be connected to external resources.
  • the cloud can provide access to the following resources (or services): external component warehouse, external application warehouse, external public services, or third-party docking services, etc. one or more of them.
  • the cloud as shown in Figure 6 can also provide running engine instances to edge devices or terminals.
  • the running engine instance of the edge node may include an APP management module, a debugging module and an upgrade module, which are used to run and manage applications.
  • Edge devices also include software platforms, such as operating systems (such as Linux), communication protocol software (such as TCP/IP, MQTT, or COAP, etc.), and containers (docker).
  • Edge devices also include various hardware infrastructure, such as processors (such as CPUs), memory, storage, networks and other hardware facilities.
  • the cloud as shown in Figure 6 can send messages or instructions to edge nodes through management channels.
  • edge nodes can send messages or instructions to the cloud through business channels.
  • the communication channel can be established through the data channel module in the edge node.
  • the terminal shown in Figure 6 can contain data channel modules, runtime engine instances, operating systems, and hardware.
  • the running engine instance can include APP management parsing modules and executors, which are used to run and manage applications.
  • Edge devices also include software platforms, such as operating systems (such as Lite OS), communication protocol software (such as TCP/IP, MQTT, or COAP, etc.), and containers (docker).
  • Edge devices also include various hardware infrastructure, such as processors (such as CPUs), memory, storage, networks, sensors, valves, switches and other hardware facilities.
  • messages or instructions sent from the cloud to the terminal can be sent to the edge node first, and then forwarded to the terminal by the edge node.
  • messages or instructions sent from the terminal to the cloud can be sent to the edge node first, and then forwarded to the cloud by the edge node.
  • the communication between the terminal and the edge device can be connected through the data module in the terminal.
  • the data module in the terminal can be used to establish wired or wireless communication links.
  • it can include links based on the following communication technologies: home smart gateway Elink, power broadband (power line communication, PLC), wireless network communication technology (such as Wi-Fi, etc.).
  • the cloud provides a method for controlling the device, which can form a cloud service provided to the user.
  • the cloud responds to the user's request and provides the user with an orchestration interface.
  • the user device used by the user can present an editing interface. After the user device submits its own design, the cloud can control the business performed by the device based on the user's needs.
  • Figure 7 is a schematic flowchart of a possible service management method provided by an embodiment of the present application.
  • the service management method can be applied to the aforementioned embodiments, such as the embodiments shown in Figure 1, Figure 2A, Figure 2B, Figure 3, Figure 4, Figure 5 or Figure 6 .
  • the above-mentioned business management method includes one or more steps from step 701 to step S704. It should be understood that this application describes the sequence of S701 to S704 for convenience of description, and is not intended to limit execution to the above sequence. The embodiments of the present application do not limit the execution sequence, execution time, number of executions, etc. of one or more of the above steps. The details of steps S701 to S704 are as follows:
  • Step S701 The cloud provides a component orchestration interface and controls component resources.
  • the component orchestration interface is used to design the components that the application depends on, while the control component resources are used for users to select the components that the application depends on.
  • users can perform the following operations in the component arrangement interface: add components, delete components, move the position of components, edit the properties of components, set the relationship between components, define parameters of components, and reduce the display One or more of the content, enlarged display content, sliding interface, etc.
  • FIG. 8 is a schematic diagram of a possible interface provided by an embodiment of the present application.
  • area 801 exemplarily shows a component orchestration interface provided by the cloud.
  • the component orchestration interface can be presented on the user device.
  • the user can arrange the components in area 801, for example, the control component shown in area 803. 1 is a control component placed by the user on the orchestration interface.
  • the user can select a certain component in the component library shown in area 802 and add it to area 801.
  • the user can delete a certain control component.
  • the user can update one or more of the position, inclusion relationship, or execution order of the control component through a movement operation.
  • the user can set the data flow direction between components.
  • One possible data flow direction is from control component 1 to control component 2.
  • Control component resources are used for users to select the control components they need to use.
  • control component is a code fragment or a compiled binary file used to implement one or several functions, and is usually pre-defined or pre-encapsulated.
  • applications usually require user registration. Since the function of user registration is similar in most applications, the code of the registration process can be encapsulated as a control (register) component. In this way, multiple applications can complete the registration function through the same control component without wrapping a registration component in each application.
  • the components may include mathematical function components, statistical components, timer components, proportional-integral-differential (PID) controller components, thermodynamic components, optical components or air quality detection components, etc.
  • PID proportional-integral-differential
  • thermodynamic components thermodynamic components
  • optical components optical components or air quality detection components, etc.
  • area 801 shown in Figure 8 exemplarily describes function components, statistical components, electrical components, PID components, etc. provided by the cloud.
  • the device may involve a variety of controls on sensors, logic gates, and electrical components, the security and professionalism requirements in the application development process are high.
  • the functional code blocks involved in the target device are encapsulated into control components, so that users can Flexibly build applications safely and rationally based on visual control components.
  • control component has an API registration interface corresponding to it, so that the control component can register component information when loading.
  • the embodiments of the present application can be used to control the business functions of the target device, and the above control components include control components that comply with the development standards of the target device.
  • the development standards of DDC include the operating system, computer language and communication protocol used by it. Therefore, the cloud can provide control components suitable for the development standards of DDC, so that applications can be orchestrated through control components. Applications deployed in DDC.
  • Step S702 The cloud generates metadata of the target application based on the control components arranged in the component arrangement interface.
  • Metadata is information that describes the properties of data.
  • the metadata of the target application indicates the properties of the target application, and the data here contains the business process of the target application.
  • Metadata can be used to describe one or more of the calling relationships, transfer relationships, data flow relationships between control components, or which code fragment of the component needs to be executed.
  • an application relies on components to run, and the application's metadata can contain the calling logic between components.
  • Another example is that an application depends on components to run, and the metadata of the application describes the order in which components are combined, etc.
  • the metadata may include component indication information and process information, where the component indication information is used to indicate multiple components that the application depends on, and the process information is used to indicate the business process.
  • the component indication information is used to indicate the identification of the component (such as ID, name, or number, etc.).
  • the component indication information may include the identification of the component (such as ID, name, or number, etc.).
  • the component indication information may also include component version information.
  • Metadata can be in a variety of formats, such as JavaScript object notation (JSON) format, extensible markup language (XML), or key-value (key-value, KV) format, etc. .
  • JSON JavaScript object notation
  • XML extensible markup language
  • KV key-value
  • Figure 9 shows a schematic diagram of the format of metadata of a possible application provided by the embodiment of the present application.
  • the metadata is stored and transmitted in JSON format.
  • the data in area 901 is used to represent the application version (version) and the application ID. It can be seen that the application version can be, for example, "1.0.0", and the application ID, for example, can be "b0f629b2. a14ea8".
  • Area 902 is used to represent information on components (nodes) on which the application depends.
  • the ID of the first component is "354d1ebb.a294f4"
  • the type of the component is a registration type component.
  • Step S703 The cloud provides metadata of the target application to the target device.
  • the cloud provides the metadata of the target application to the target device, and in response, the target device receives the metadata of the target application provided by the cloud.
  • the target device is the device where the target application is deployed.
  • the target device may be an edge device or a terminal device, etc.
  • the description in the foregoing architecture part please refer to the description in the foregoing architecture part.
  • the cloud can control the business functions of the target device.
  • Step S704 The cloud provides the target device with control components that the target application depends on.
  • the target application runs according to the business process of the target application and the components that the target application depends on, and the metadata of the target application indicates the business process of the target application. Therefore, the cloud can provide the control components that the target application depends on to the target device.
  • the control components that the application depends on are used on the target device to run the application.
  • the target application depends on multiple components, and some of the components may have been configured in the target device.
  • the cloud can provide the missing target components to the target device, so that the target device can run the target application based on multiple control components.
  • the cloud when the cloud deploys APP2 to the target device, since component b and component c already exist in the target device, the cloud can provide the missing component d to the device, so that the target device can run APP2.
  • the size of data that needs to be obtained during application deployment is greatly reduced, and the efficiency of application deployment is improved, thereby improving the efficiency of device control.
  • the cloud provides the orchestration function and orchestration components of business control logic to the demand side, so that users on the demand side can visually develop applications based on the control requirements for the destination side, lowering the development threshold and reducing cost and improve the efficiency of application development; on the other hand, the cloud deploys user-orchestrated applications on the destination (the aforementioned electronic devices, such as edge devices and terminal devices). There is no need to install and debug the application offline, and it can also be deployed on the electronic device in a timely manner. Deploy applications in devices to conveniently control the functions of devices on the Internet.
  • DDC can execute actions such as starting/stopping machines, opening/closing valves, opening/closing valves, etc. by running the application and following the instructions of the application.
  • the embodiment of the present application generates the business process of the target application by arranging control components, and provides the business process and control components to the DDC, so that the DDC executes actions according to the target application.
  • users can flexibly generate applications safely and reasonably based on visual control components, improving code development efficiency. It is possible to download and update the control logic program in the field controller (DDC) through the cloud without changing the hardware firmware, which improves the user experience.
  • the cloud can provide application testing services.
  • the application testing service can test whether the application runs as expected based on the application's business process.
  • the embodiments of the present application can realize application cloud development, cloud testing, and convenient deployment, and improve the service quality of the application deployment process.
  • the cloud can provide a running engine instance to the target device.
  • the running engine instance is an instantiated running engine, which provides the software environment required for application running.
  • the running engine instance is used to run the application based on the metadata corresponding to the application and the components that the application depends on, which can realize the reuse of control components and reduce the storage space occupied by the application.
  • component b and component c can be reused between different APPs, thereby reducing the space occupied by the APP, suitable for nodes with limited resources, and reducing the need for each component during application deployment.
  • the size of the application's installation package thereby improving application deployment efficiency.
  • for application developers by reusing existing components, they can avoid repeated development of the same functional modules, avoid waste of manpower, and shorten the development cycle.
  • the cloud can control the running engine instance in the device.
  • Figure 10 shows a schematic flowchart of a possible service management method provided by an embodiment of the present application.
  • the service management method can be applied to the aforementioned embodiments, such as the embodiments shown in Figure 1, Figure 2A, Figure 2B, Figure 3, Figure 4, Figure 5 or Figure 6 .
  • the service management method shown in Figure 10 includes one or more steps from step S1001 to step S1006. It should be understood that this application describes the sequence of S1001 to S1006 for convenience of description, and is not intended to limit execution to the above sequence. The embodiments of the present application do not limit the execution sequence, execution time, number of executions, etc. of one or more of the above steps.
  • the details of steps S1001 to S1006 are as follows:
  • Step S1001 The cloud provides a running engine instance to the target device. Accordingly, the target device accepts the runtime engine instance provided by the cloud.
  • Step S1002 The target device sends a registration message for the running engine instance to the cloud. Accordingly, the cloud receives the registration message of the running engine instance.
  • the registration message may contain one or more of the following information: license, hardware platform instruction set, CPU architecture, operating system, kernel version, and glibc version.
  • the target device can install a runtime engine instance and start it, and then register the runtime engine instance to the cloud after startup.
  • the cloud can assign an identifier to the running engine instance in the target device and record the running engine identifier to facilitate management of the running engine instance. Further, the cloud can send a registration return message to the target device, and the registration return message contains the identification of the running engine instance (such as ID, number, etc.).
  • Step S1003 Subscribe to the cloud to run the engine instance.
  • subscribing to the running engine instance is used to indicate that the cloud pays attention to changes in the running engine instance, and the running engine instance can send messages to the running engine within a certain period of time.
  • the cloud can maintain a long communication connection with the running engine instance.
  • the target device sends a heartbeat hold command to the cloud to maintain a long connection between the running engine instance and the cloud.
  • the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the space usage in the at least one running engine instance, etc.
  • communication between the cloud and the target device can be achieved through wireless communication technologies such as MQTT and COAP.
  • the cloud acts as an MQTT Broker and the target device acts as an MQTT client.
  • the MQTT Broker is responsible for receiving network connections from the client and processing the client's subscription/unsubscription and message publishing (Publish) requests.
  • Step S1004 The cloud provides management services for running engine instances.
  • the cloud provides full life cycle management of running engine instances.
  • the cloud can provide online control functions for running engine instances, supporting one or more of the following: editing, restarting, synchronizing APPs, or engine patch upgrades on the running engine instances in the cloud.
  • the cloud can also provide management functions for APPs running engine instances, and can manage APPs currently running engine instances. For example: one or more of the following: obtaining the running status of the APP, remotely uninstalling the APP, or remotely delivering the configuration of the APP.
  • the cloud can obtain the running status of the application.
  • the cloud When an application is deployed on a running engine instance, the cloud correspondingly obtains the running status of the application in the running engine instance.
  • the cloud can analyze useful information during application operation, monitor the application operation process, and facilitate monitoring of the implementation of the device's business functions.
  • the cloud can send application management information (the management information can optionally be carried through messages), and the application management information is used to modify the configuration of the application, or to uninstall the application in the running engine instance. Since the application configuration modification, uninstallation and other operations can be controlled through messages, the control logic program of the target device can be updated without changing the hardware firmware, making it easier to control the target device.
  • the two designs listed above are to facilitate understanding of the cloud's management of applications.
  • the cloud can also manage applications in the target device in other ways.
  • the management service of the running engine can be implemented in the form of instructions. As shown in step S1005-step S1006:
  • Step S1005 The cloud sends control instructions to the target device.
  • This control instruction is used to control the running engine instance. For example, instructs you to modify the configuration of the running engine. Another example is to instruct the target device to report the running status of the APP in the running engine instance.
  • Step S1006 The target device performs operations according to the control instructions.
  • the running status of the APP in the running engine instance is reported.
  • the cloud can host (or save) the designed application in a version management platform or a third-party device.
  • the cloud can host applications in an external application warehouse to improve the scalability and flexibility of the system.
  • the cloud provides component development services and can receive component designs submitted by user devices.
  • the user device can submit component design data, where the design data includes but is not limited to one or more of component metadata, component source code, etc.
  • the cloud receives the component design data submitted by the user device and generates the control component.
  • the cloud can provide component development tools to facilitate the development of components based on the component development tools.
  • control component corresponds to a certain field
  • the cloud can provide control components in one or more fields.
  • the cloud can receive instruction information about the target field and provide the user device with control components corresponding to the target field. For example, when users need to design applications for use in DDC, the cloud can provide users with control components suitable for DDC.
  • the cloud can provide a device topology design function to facilitate users to design the distribution of devices, select devices on which applications need to be deployed, and so on.
  • the cloud can provide device materials, location materials, and network materials for designing topological connections between devices. For example, through the topology design function, you can design the device topology as shown in Figure 2A or Figure 2B.
  • the multiple devices provided by the embodiments of the present application such as the business management device, in order to implement the functions in the above method embodiments, include corresponding hardware structures, software units, or hardware structures and software structures that perform each function. combinations, etc.
  • the embodiments of 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. Professionals and technicians can use different device implementations to implement the foregoing method embodiments in different usage scenarios, and different device implementations should not be considered to be beyond the scope of the embodiments of this application.
  • the embodiment of the present application can divide the device into functional units.
  • each functional unit can be divided corresponding to each function, or two or more functions can be integrated into one functional unit.
  • the above integrated modules can be implemented in the form of hardware or software functional units. It should be noted that the division of units 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.
  • Figure 11 is a schematic structural diagram of a service management device 110 provided by an embodiment of the present application.
  • the service management device 110 may be an independent device or a component included in an independent device, such as a chip, software module, or integrated circuit.
  • the service management device 110 is used to implement the aforementioned application deployment method.
  • the service management device 110 is used to implement the method on the cloud side in the embodiment shown in FIG. 7 or FIG. 10 .
  • the service management device 110 may include a communication unit 1101 and a processing unit 1102.
  • the communication unit 1101 may be used to implement the aforementioned functions of receiving, sending, requesting or responding, and/or to support other processes of the aforementioned embodiments.
  • the communication unit 1101 can also be replaced by a communication interface module and/or a transceiver module, and the interface module and/or transceiver module can be used to support the foregoing method embodiments.
  • the processing unit 1102 may be used to perform operations such as determination, calculation, generation, and execution in the foregoing embodiments, and/or to support other processes of the foregoing embodiments, such as outputting messages, outputting instructions, and other processes.
  • the communication unit 1101 is used to provide a component orchestration interface and control component resources, and the component orchestration interface is used to orchestrate control components that the target application depends on;
  • the processing unit 1102 is configured to generate metadata of the target application according to the control components arranged in the component arrangement interface;
  • the communication unit 1101 is also configured to provide metadata of the target application to the target device, and the metadata of the target application is used to run the target application;
  • the communication unit 1101 is further configured to provide the target device with a control component that the target application depends on, and the control component that the target application depends on is used to run the target application.
  • the communication unit 1101 is also used to:
  • a running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
  • processing unit 1102 is also used to:
  • controlling the running engine instance includes one or more of the following operations:
  • the communication unit 1101 is also used to:
  • the communication unit 1101 is also used to:
  • Send application management information where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  • the communication unit 1101 is also used to:
  • the communication unit 1101 is also used to:
  • a user interface for the running application is provided, and the user interface is used to display the running results of the running application.
  • the running engine instance includes a basic instruction flow module, an uplink instruction module, a downlink instruction module and an engine core module.
  • the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
  • the uplink command module is used to send uplink commands
  • a downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions.
  • the communication interface is provided by the engine core module;
  • the engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
  • the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service
  • the module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
  • the running engine instance includes a context module, and the context module is used to store running data of the current application.
  • the communication unit 1101 is also used to:
  • the engine registration instruction includes one or more of the following information: license, hardware platform instruction set, central processor CPU architecture of the at least one running engine instance, operating system Properties, kernel version.
  • the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the space usage in the at least one running engine instance Condition.
  • the target device includes a direct digital controller DDC.
  • control component includes one of a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. Or multiple items.
  • the target device is used to complete one or more of the following business functions:
  • VAV system control Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
  • the service management device 110 includes message middleware, and the message middleware is used to implement communication with the target device.
  • the communication unit 1101 is also configured to communicate with the target electronic device through wireless communication technology.
  • the communication unit 1101 is also configured to communicate with the running engine instance through the MQTT protocol.
  • the communication unit 1101 is also configured to communicate with the running engine instance through the COAP protocol.
  • Figure 12 is a schematic structural diagram of a computing device 120 provided by an embodiment of the present application.
  • the computing device 120 may be an independent device such as a server, a host, or an edge device, or may be a device included in an independent device, such as a chip, software module, or integrated circuit.
  • the computing device 120 may include at least one processor 1201 and at least one memory 1202.
  • a communication interface 1203 may also be included.
  • a connection line 1204 may also be included, wherein the processor 1201 and the memory 1202 are connected through the connection line 1204, and communicate with each other and transfer control and/or data signals through the connection line 1204.
  • the processor 1201 is a module that performs arithmetic operations and/or logical operations, and may specifically include one or more of the following devices: central processing unit (CPU), graphics processor (graphics processing unit, GPU), microprocessor unit (MPU), Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), Complex programmable logic device , CPLD), coprocessor (assist the central processor to complete corresponding processing and applications), or microcontroller unit (Microcontroller Unit, MCU), etc.
  • CPU central processing unit
  • GPU graphics processor
  • MPU microprocessor unit
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • CPLD Complex programmable logic device
  • coprocessor assistantst the central processor to complete corresponding processing and applications
  • MCU microcontroller Unit
  • the memory 1202 is used to provide storage space, and data such as operating systems and computer programs can be stored in the storage space.
  • the memory 1202 may be random access memory (RAM), read-only memory (ROM), erasable programmable read only memory (EPROM), or portable read-only memory.
  • RAM random access memory
  • ROM read-only memory
  • EPROM erasable programmable read only memory
  • portable read-only memory One or more combinations of memory (compact disc read-only memory, CD-ROM), etc.
  • the communication interface 1203 can be used to provide information input or output to the at least one processor.
  • communication interface 1203 may include interface circuitry.
  • the communication interface 1203 may be used to receive data sent from the outside and/or send data to the outside.
  • the communication interface 1203 may include a wired link interface such as an Ethernet cable, or a wireless link (MQTT, COAP, Wi-Fi, Bluetooth, universal wireless transmission and other wireless communication technologies, etc.) interface.
  • the communication interface 1203 may also include a transmitter (such as a radio frequency transmitter, an antenna, etc.) or a receiver coupled to the interface.
  • the communication interface 1203 may include a receiver and a transmitter.
  • the receiver and transmitter may be the same component or different components.
  • the component can be called a transceiver.
  • the communication interface 1203 may include an input interface and an output interface, and the input interface and the output interface may be the same interface, or may be different interfaces respectively.
  • the function of the communication interface 1203 can be implemented through a transceiver circuit or a dedicated chip for transceiver.
  • the processor 1201 can be implemented by a dedicated processing chip, a processing circuit, a processor or a general-purpose chip.
  • the processor 1201 can be a processor specially designed to perform the foregoing method (for convenience, it is called a special-purpose processor), or it can be a processor that calls a computer program to perform the foregoing method (for convenience, it is called a special-purpose processor). device).
  • at least one processor may also include both a special-purpose processor and a general-purpose processor.
  • the computing device includes at least one memory 1202
  • the processor 1201 implements the aforementioned business management method by calling a computer program
  • the computer program can be stored in the memory 1202.
  • each functional unit in the computing device 120 can be used to implement the aforementioned service management method.
  • the communication device can be the device and/or cloud in the embodiment shown in Figure 7 or Figure 10.
  • the communication device can be the device and/or cloud in the embodiment shown in Figure 7 or Figure 10.
  • the processor 1201 is configured to execute a computer program stored in the memory to implement the following operations:
  • the component orchestration interface is used to orchestrate the control components that the target application depends on;
  • a control component on which the target application depends is provided to the target device, and the control component on which the target application depends is used to run the target application.
  • processor 1201 is also used to:
  • a running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
  • processor 1201 is also used to:
  • controlling the running engine instance includes one or more of the following operations:
  • processor 1201 is also used to:
  • the computing device 120 further includes a communication interface 1203.
  • the processor 1201 is also used to:
  • Application management information is sent through the communication interface 1203, and the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  • processor 1201 is also used to:
  • processor 1201 is also used to:
  • a user interface for the running application is provided, and the user interface is used to display the running results of the running application.
  • the running engine instance includes a basic instruction flow module, an uplink instruction module, a downlink instruction module and an engine core module.
  • the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
  • the uplink command module is used to send uplink commands
  • a downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions.
  • the communication interface is provided by the engine core module;
  • the engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
  • the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service
  • the module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
  • the running engine instance includes a context module, and the context module is used to store running data of the current application.
  • the computing device 120 further includes a communication interface 1203.
  • the processor 1201 is also used to:
  • Uplink instructions from at least one running engine instance are received through the communication interface, and the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
  • the engine registration instruction includes one or more of the following information: license, hardware platform instruction set, central processor CPU architecture of the at least one running engine instance, operating system Properties, kernel version.
  • the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the space usage in the at least one running engine instance Condition.
  • the target device includes a direct digital controller DDC.
  • control component includes one of a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. Or multiple items.
  • the target device is used to complete one or more of the following business functions:
  • VAV system control Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
  • the computing device 120 includes message middleware, and the message middleware is used to implement communication with the target device.
  • the computing device 120 further includes a communication interface 1203.
  • the processor 1201 is also used to:
  • the computing device 120 further includes a communication interface 1203.
  • the processor 1201 is also used to:
  • the computing device 120 further includes a communication interface 1203.
  • the processor 1201 is also used to:
  • Embodiments of the present application also provide a chip system.
  • the chip system includes a processor and a communication interface.
  • the communication interface is used to receive and/or send data, and/or the communication interface is used to provide data for the processor. Provide input and/or output.
  • the chip system is used to implement the aforementioned business management method, such as the method described in Figure 7 or Figure 10 .
  • Embodiments of the present application also provide a computer-readable storage medium. Instructions are stored in the computer-readable storage medium. The instructions are used to implement the aforementioned business management method, such as the method described in Figure 7 or Figure 10 .
  • An embodiment of the present application also provides a computer program product.
  • the computer program product includes computer instructions, and the computer instructions are used to implement the aforementioned business management method, such as the method described in Figure 7 or Figure 10 .
  • At least one mentioned in the embodiments of this application means one or more, and “multiple” means two or more. “At least one of the following” or similar expressions thereof refers to any combination of these items, including any combination of a single item (items) or a plurality of items (items).
  • at least one of a, b, or c can represent: a, b, c, (a and b), (a and c), (b and c), or (a and b and c), where a, b, c can be single or multiple.
  • “And/or” describes the relationship between related objects, indicating that there can be three relationships. For example, A and/or B can mean: A alone exists, A and B exist simultaneously, and B exists alone, where A and B can be singular or plural. The character "/" generally indicates that the related objects are in an "or” relationship.
  • first and second in the embodiments of this application is used to distinguish multiple objects and is not used to limit the order, timing, priority or importance of multiple objects. degree.
  • first device and the second device are just for convenience of description and do not indicate the difference in structure, importance, etc. of the first device and the second device.
  • the first device and the second device It can also be the same device.

Abstract

A service management method and system, and a related device, which are used in the fields of information technology and cloud services. A service management server can communicate with a demand end and a destination end. On one hand, the service management server provides an orchestration function and an orchestration component of a service control logic to the demand end, so that a user of the demand end can visually develop an application on the basis of control requirements of the destination end, thereby lowering the development threshold, reducing the cost, and improving the application development efficiency; on the other hand, the service management server deploys the application orchestrated by the user in the destination end, so that there is no need to install and debug the application offline, the application can also be updated in time in a cloud, and the function of the device in the Internet can be conveniently controlled.

Description

一种业务管理方法、系统及相关装置A business management method, system and related devices
本申请要求于2022年04月07日提交中国专利局、申请号为202210360609.4、申请名称为“一种业务管理方法、系统及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application submitted to the China Patent Office on April 7, 2022, with application number 202210360609.4 and the application title "A business management method, system and related devices", the entire content of which is incorporated by reference. in this application.
技术领域Technical field
本申请涉及信息技术、云服务领域,尤其涉及一种业务管理方法、系统及相关装置。This application relates to the fields of information technology and cloud services, and in particular, to a business management method, system and related devices.
背景技术Background technique
近年来,随着万物互联时代的到来和无线网络的普及,边缘设备、终端等设备数量及其产生的数据量都急剧增长。根据互联网数据中心(internet data center,IDC)预测,到2025年,边缘设备、终端等设备数将达到约400亿,其中工业、汽车、智能家居、智能穿戴等数量居前。其中,网络边缘的设备提供了强大的计算资源,为工业互联网应用提供了基于工业大数据分析的实时、灵活、快速的决策,极大地促进了经济的发展。In recent years, with the advent of the Internet of Everything era and the popularization of wireless networks, the number of edge devices, terminals and other devices and the amount of data they generate have increased dramatically. According to the Internet Data Center (IDC) forecast, by 2025, the number of edge devices, terminals and other devices will reach approximately 40 billion, with industry, automobiles, smart homes, smart wearables, etc. leading the list. Among them, devices at the edge of the network provide powerful computing resources and provide real-time, flexible and fast decision-making based on industrial big data analysis for industrial Internet applications, which greatly promotes economic development.
随着工业互联网中的设备的功能越来越多样化,远程控制设备功能的需求将会不断增加。目前,对互联网中的设备的控制一般通过应用来实现,应用中指示了对设备的业务逻辑的设置,从而可以控制设备完成相应的业务。而这些应用一般采用线下单独开发的方式,基于终端软硬件平台进行代码开发、编译、打包和部署。这种生成应用的方式开发过程复杂,技术门槛相对高,需要研发人员具备配置软硬件环境、开发驱动、大家开发框架等各项专业技能,提升了应用开发的成本,不满足用户的需求。As the functions of devices in the Industrial Internet become more and more diverse, the demand for remote control of device functions will continue to increase. At present, the control of devices on the Internet is generally implemented through applications. The application indicates the settings of the business logic of the device, so that the device can be controlled to complete the corresponding business. These applications are generally developed separately offline, with code development, compilation, packaging and deployment based on the terminal software and hardware platform. This method of generating applications has a complicated development process and a relatively high technical threshold. It requires R&D personnel to have various professional skills such as configuring software and hardware environments, development drivers, and everyone's development frameworks. It increases the cost of application development and does not meet the needs of users.
因此,在工业互联网场景下,如何便捷地控制网络中的设备的功能,是本领域技术人员正在研究的热点问题。Therefore, in the industrial Internet scenario, how to conveniently control the functions of devices in the network is a hot issue being studied by those skilled in the art.
发明内容Contents of the invention
本申请实施例提供一种业务管理方法、系统及相关装置,能够便捷地控制互联网中的设备的功能。Embodiments of the present application provide a business management method, system and related devices, which can conveniently control the functions of devices on the Internet.
第一方面,本申请实施例提供了一种业务管理方法,包括:In the first aspect, embodiments of the present application provide a business management method, including:
提供组件编排界面和控制组件资源,所述组件编排界面用于编排目标应用依赖的控制组件;Provide a component orchestration interface and control component resources. The component orchestration interface is used to orchestrate the control components that the target application depends on;
根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据;Generate metadata of the target application according to the control components arranged in the component arrangement interface;
向所述目标设备提供所述目标应用的元数据,所述目标应用的元数据用于运行所述目标应用;providing metadata of the target application to the target device, the metadata of the target application being used to run the target application;
向所述目标设备提供所述目标应用依赖的控制组件,所述目标应用依赖的控制组件用于运行所述目标应用。A control component on which the target application depends is provided to the target device, and the control component on which the target application depends is used to run the target application.
上述方法可以由云端来实现。上述方法可以用于控制设备的业务功能。这里的设备包含边缘设备和/或终端设备。当设备为终端设备时,可以包含直接数字控制器(Direct Digital Control,DDC)。其中,DDC是一种基于处理器和控制器来实现控制逻辑的设备,能够接收传感器、触点或其他仪器输出的信号,并处理这些信号,输出控制信号到外部设备。输出的 控制信号可以用于启动/关闭机器、打开/关闭阀门、打开/关闭阀门、或者按照程序指令执行复杂的动作等。The above methods can be implemented by the cloud. The above method can be used to control the business functions of the device. Devices here include edge devices and/or end devices. When the device is a terminal device, it can include a Direct Digital Controller (DDC). Among them, DDC is a device that implements control logic based on a processor and controller. It can receive signals output by sensors, contacts or other instruments, process these signals, and output control signals to external devices. The output control signal can be used to start/stop the machine, open/close the valve, open/close the valve, or perform complex actions according to the program instructions, etc.
元数据(Metadata),又称中介数据、中继数据,用于描述数据属性的信息。本申请实施例中,元数据用于描述所述应用的业务流程(或者说处理逻辑),例如,元数据可以用来描述组件之间的调用关系、和/或传递关系等。Metadata, also known as intermediary data and relay data, is used to describe information about data attributes. In this embodiment of the present application, metadata is used to describe the business process (or processing logic) of the application. For example, metadata can be used to describe the calling relationship and/or the transfer relationship between components.
控制组件(node)是用于实现某个或者若干个功能的代码片段或者已编译的二进制文件,通常被预先定义或者被预先封装。可选的,组件可以是函数、算法(例如排序算法)、框架、软件模块、封装的工具、逻辑控制组件、或传感器控制组件(例如读取温度传感器测量的温度)等。可选的,本申请实施例中的控制组件遵循电子设备逻辑控制的开发标准,以电子设备包含DDC为例,控制组件遵循DDC逻辑控制标准,能够用于实现DDC上的控制逻辑。A control component (node) is a code fragment or compiled binary file used to implement one or several functions. It is usually pre-defined or pre-encapsulated. Optionally, the component may be a function, algorithm (for example, a sorting algorithm), a framework, a software module, a packaged tool, a logic control component, or a sensor control component (for example, reading the temperature measured by a temperature sensor), etc. Optionally, the control component in the embodiment of the present application follows the development standard of electronic device logic control. Taking the electronic device including DDC as an example, the control component follows the DDC logic control standard and can be used to implement the control logic on the DDC.
本申请实施例中,云端可以连通需求端和目的端,一方面,云端向需求端提供业务控制逻辑的编排功能和编排组件,使得需求端的用户可以基于对目的端的控制需求来可视化的开发应用,降低开发的门槛、减少成本,提高应用开发的效率;另一方面,云端将用户编排的应用部署在目的端(前述的电子设备,例如边缘设备、终端设备)中,无需线下安装调试应用,也可以及时在对电子设备中的部署应用,从而便捷地控制互联网中的设备的功能。In the embodiment of this application, the cloud can connect the demand side and the destination side. On the one hand, the cloud provides the orchestration function and orchestration components of business control logic to the demand side, so that users on the demand side can visually develop applications based on the control requirements for the destination side. Lowering the development threshold, reducing costs, and improving the efficiency of application development; on the other hand, the cloud deploys user-orchestrated applications on the destination (the aforementioned electronic devices, such as edge devices and terminal devices), without the need for offline installation and debugging of applications. It can also be deployed and applied in electronic devices in a timely manner to conveniently control the functions of devices on the Internet.
本方案进一步可以应用于云-边-端协同系统中,云-边-端协同系统中包含云端、边缘设备和终端设备,终端设备通过边缘设备与云端进行连接。该边缘设备和终端设备为前述电子设备,通过本申请实施例,能够便捷地控制边缘设备和终端的设备的功能。This solution can further be applied to cloud-edge-end collaboration systems. The cloud-edge-end collaboration system includes clouds, edge devices, and terminal devices. The terminal devices are connected to the cloud through edge devices. The edge device and the terminal device are the aforementioned electronic devices. Through the embodiments of the present application, the functions of the edge device and the terminal device can be conveniently controlled.
另外,通过向用户提供控制组件,从而可以实现控制组件的复用,避免用户在开发应用时重复研发相同功能的代码,降低成本且提升应用开发效率。尤其对于DDC来说,DCC中计算资源和存储资源通常有限,而且DDC涉及多种对传感器、逻辑门、电气组件的控制,应用开发过程中的安全性和专业性要求高。通过本申请实施例,DDC涉及的功能代码块被封装为控制组件,使得用户能够灵活地基于可视化的控制组件来安全且合理地生成应用,提升代码开发效率。在无需更换硬件固件的情况下,就能够通过云端下载并更新现场控制器(DDC)内的控制逻辑程序,提升了用户体验。In addition, by providing control components to users, the reuse of control components can be achieved, preventing users from repeatedly developing codes for the same functions when developing applications, reducing costs and improving application development efficiency. Especially for DDC, computing resources and storage resources in DCC are usually limited, and DDC involves a variety of controls on sensors, logic gates, and electrical components. The security and professionalism requirements in the application development process are high. Through the embodiments of this application, the functional code blocks involved in DDC are encapsulated as control components, allowing users to flexibly generate applications safely and reasonably based on visual control components, improving code development efficiency. Without changing the hardware firmware, the control logic program in the field controller (DDC) can be downloaded and updated through the cloud, which improves the user experience.
在第一方面的一种可能的实施方式中,所述方法还包括:In a possible implementation of the first aspect, the method further includes:
向所述目标设备提供运行引擎实例,所述运行引擎实例用于提供所述目标应用运行的隔离坏境。A running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
以上说明了本申请中应用的运行方式,应用运行的过程中无需通过镜像包或者安装包来部署、运行应用,而是基于运行引擎实例,根据应用对应的元数据和应用依赖的组件来运行应用。如此,设备可以通过运行引擎实例来实现组件复用,从而进一步提高应用运行效率,提升设备的服务质量。运行引擎实例可以形成一个相对隔离的环境,从而避免受到设备内的其他环境的干扰,提升系统的稳定性。The above explains the running mode of the application in this application. During the application running process, there is no need to deploy and run the application through the image package or installation package. Instead, the application is run based on the running engine instance and according to the metadata corresponding to the application and the components that the application depends on. . In this way, the device can realize component reuse by running engine instances, thereby further improving application operation efficiency and improving the service quality of the device. Running engine instances can form a relatively isolated environment to avoid interference from other environments within the device and improve system stability.
在第一方面的又一种可能的实施方式中,所述方法还包括:In yet another possible implementation of the first aspect, the method further includes:
控制所述运行引擎实例。即:云端可以对运行引擎实例的配置进行修改、或重启、或同步。如此,可以在不更新电子设备本身硬件的情况下,调整运行引擎实例的配置、优化应用运行的环境,提升了系统稳定性,便捷、安全的对电子设备进行控制。Control the runtime engine instance. That is: the cloud can modify, restart, or synchronize the configuration of the running engine instance. In this way, the configuration of the running engine instance can be adjusted and the application running environment can be optimized without updating the hardware of the electronic device itself, thereby improving system stability and controlling the electronic device conveniently and safely.
在一种可能的设计中,云端可以修改运行引擎实例的配置。考虑一种可能的情况,由于不同的电子设备可能具有不同的硬件设施,其能够提供给运行引擎实例资源存在差异,可能使得部署在不同设备中的运行引擎实例出现故障,通过本申请实施例,可以通过修改运行引擎实例的配置来解决故障、提升系统的灵活性和可操作性,提升用户体验。In one possible design, the cloud can modify the configuration of the running engine instance. Consider a possible situation. Since different electronic devices may have different hardware facilities, there are differences in the resources they can provide to the running engine instances, which may cause the running engine instances deployed in different devices to malfunction. Through the embodiments of this application, You can modify the configuration of the running engine instance to solve faults, improve system flexibility and operability, and improve user experience.
在一种可能的设计中,云端重启运行引擎实例。考虑一种可能的情况,由于设备中运行引擎实例出现故障或者无法同步的情况,云端可以通过重启,来重新装载运行引擎实例,提升系统的灵活性和可操作性。在一些场景中,还可以避免因为应用运行卡顿或者死循环而使得设备失去控制。In one possible design, the cloud restarts the running engine instance. Consider a possible situation where the running engine instance in the device fails or cannot be synchronized. The cloud can reload the running engine instance by restarting to improve the flexibility and operability of the system. In some scenarios, it can also avoid losing control of the device due to application lags or endless loops.
在一种可能的设计中,云端可以对所述运行引擎实例进行补丁升级,从而消除运行引擎示例中的漏洞或者提升运行引擎实例的性能。In one possible design, the cloud can perform a patch upgrade on the running engine instance to eliminate vulnerabilities in the running engine instance or improve the performance of the running engine instance.
在一种可能的设计中,云端可以同步运行引擎实例中的应用。例如,云端向运行引擎实例中部署多个应用或者云端升级运行引擎实例中的应用等。In one possible design, the cloud can run applications in engine instances simultaneously. For example, the cloud deploys multiple applications to the running engine instance or the cloud upgrades the applications in the running engine instance.
在第一方面的又一种可能的实施方式中,所述方法还包括:In yet another possible implementation of the first aspect, the method further includes:
获取运行引擎实例中的应用的运行状态。如此,云端可以分析应用运行过程中的有用信息,监控应用运行的过程,便于监控设备的业务功能实现情况。Get the running status of the application in the running engine instance. In this way, the cloud can analyze useful information during application operation, monitor the application operation process, and facilitate monitoring of the implementation of the device's business functions.
在第一方面的又一种可能的实施方式中,所述方法还包括:In yet another possible implementation of the first aspect, the method further includes:
发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。Send application management information, where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
在上述实施方式中,由于可以通过消息来控制运行引擎实例中应用的配置修改、卸载等操作,从而可以在无需更换硬件固件的情况下,就能够更新目标设备的控制逻辑程序,方便对目标设备进行控制。In the above embodiment, since the configuration modification, uninstallation and other operations of the application in the run engine instance can be controlled through messages, the control logic program of the target device can be updated without changing the hardware firmware, which facilitates the control of the target device. Take control.
在第一方面的又一种可能的实施方式中,所述方法还包括:In yet another possible implementation of the first aspect, the method further includes:
在所述目标设备中的运行引擎实例中部署运行态应用。Deploy the running application in the running engine instance in the target device.
本申请实施例中,APP有多种状态,例如,未安装、已安装、运行中等状态。其中,运行态APP是处于运行状态的APP,其部分流程已经执行。在上述实施方式中,云端提供了运行态APP的管理功能,可以将运行态APP以提交任务的方式批量下部署在运行引擎实例中。In the embodiment of this application, the APP has multiple states, such as uninstalled, installed, and running. Among them, the running APP is an APP in a running state, and part of its process has been executed. In the above embodiment, the cloud provides a management function for running APPs, and running APPs can be deployed in batches in running engine instances by submitting tasks.
作为一种可能的方案,可以先将APP在某一运行引擎实例上,再根据需求,将运行引擎实例部署另一运行引擎实例中。如此,可以先通过某一个(或某几个)运行引擎实例来验证APP功能,在运行符合期望时,再迁移到其他运行引擎实例中。As a possible solution, you can first deploy the APP on a certain running engine instance, and then deploy the running engine instance to another running engine instance according to requirements. In this way, you can first verify the APP function through a certain (or several) running engine instance, and then migrate to other running engine instances when the operation meets expectations.
可选的,云端还可以记录部署了某一应用的引擎列表,以及部署应用的日志,便于管理、查看,提升系统的稳定性。Optionally, the cloud can also record the engine list where a certain application is deployed, as well as the logs of the deployed application, to facilitate management and viewing, and improve the stability of the system.
在第一方面的又一种可能的实施方式中,所述方法还包括:In yet another possible implementation of the first aspect, the method further includes:
提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。如此便于分析应用运行过程中的有用信息,监控应用运行的过程,便于监控设备的业务功能实现情况。A user interface for the running application is provided, and the user interface is used to display the running results of the running application. This makes it easy to analyze useful information during the application running process, monitor the application running process, and monitor the implementation of the business functions of the device.
在第一方面的又一种可能的实施方式中,所述运行引擎实例包含基础指令流程模块、上行指令模块、下行指令模块和引擎核心模块。通过将引擎提供的服务分为不同的模块,可以让每个模块各司其职地完成控制、通信流程,实现电子设备与云端的交互,提升用户体验,提高业务实现效率和系统稳定性。In yet another possible implementation of the first aspect, the running engine instance includes a basic instruction process module, an uplink instruction module, a downlink instruction module and an engine core module. By dividing the services provided by the engine into different modules, each module can perform its own duties to complete the control and communication process, realize the interaction between electronic devices and the cloud, improve user experience, improve business implementation efficiency and system stability.
在第一方面的又一种可能的实施方式中,基础指令流程模块,用于控制上行指令流和下行指令流的安装;In yet another possible implementation of the first aspect, the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
上行指令模块,用于发送上行指令;The uplink command module is used to send uplink commands;
下行指令模块,用于接收下行指令、调用通信接口执行指令,所述通信接口由所述引擎核心模块提供;A downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions. The communication interface is provided by the engine core module;
引擎核心模块包含以下模块中的一个或多个:引擎基础管理模块、执行器、通用服务模 块和文件系统;The engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
其中,所述引擎基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源和配置引擎参数,所述执行器用于执行与应用运行相关的操作,所述通用服务模块用于管理日志和消息,所述文件系统负责数据持久化存储和数据读取。Among them, the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service The module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
在第一方面的又一种可能的实施方式中,所述运行引擎实例包含上下文模块,所述上下文模块用于存储当前应用的运行数据。In yet another possible implementation of the first aspect, the execution engine instance includes a context module, and the context module is used to store execution data of the current application.
上述实施方式中,上下文模块可以用于记录应用相关的数据、状态等。例如,上下文模块可以在应用中断时记录应用当前的数据和状态,当应用恢复运行时,从上下文模块即可读取之前保存的数据和状态,从而继续之前业务,而无需重新加载应用。In the above embodiments, the context module can be used to record application-related data, status, etc. For example, the context module can record the current data and status of the application when the application is interrupted. When the application resumes running, the previously saved data and status can be read from the context module, thereby continuing the previous business without reloading the application.
在第一方面的又一种可能的实施方式中,所述方法还包括:In yet another possible implementation of the first aspect, the method further includes:
接收来自至少一个运行引擎实例的上行指令,所述上行指令包含引擎注册指令、组件安装请求指令、日志上传指令和心跳保持指令等。Receive uplink instructions from at least one running engine instance, where the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, heartbeat maintenance instructions, etc.
以上实施方式中,服务器可以接收来自运行引擎实例的上行指令。例如,通过运行引擎实例的引擎注册指令,服务器可以订阅记录该运行引擎的注册信息。再如,通过组件安装请求指令,服务器可以向运行引擎实例下发对应的组件。再如,通过日志上传指令,服务器可以记录运行引擎实例的运行日志,便于故障检查、版本回溯等。类似的,通过心跳保持指令,服务器可以与运行引擎实例保持连接,记录运行引擎实例的在线状态。In the above implementation, the server can receive uplink instructions from the running engine instance. For example, through the engine registration directive of a running engine instance, the server can subscribe to record the registration information of the running engine. For another example, through the component installation request command, the server can deliver the corresponding component to the running engine instance. For another example, through the log upload command, the server can record the running log of the running engine instance to facilitate fault checking, version backtracking, etc. Similarly, through the heartbeat keep command, the server can maintain a connection with the running engine instance and record the online status of the running engine instance.
在第一方面的又一种可能的实施方式中,所述引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、或内核版本等。In yet another possible implementation of the first aspect, the engine registration instruction includes one or more of the following information: a license, a hardware platform instruction set, and a central processing unit (CPU) of the at least one running engine instance. Architecture, operating system properties, or kernel version, etc.
在第一方面的又一种可能的实施方式中,所述心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况等。In yet another possible implementation of the first aspect, the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the at least one running engine instance space usage, etc.
在第一方面的又一种可能的实施方式中,所述目标设备包含直接数字控制器DDC。In yet another possible implementation of the first aspect, the target device includes a direct digital controller DDC.
在第一方面的又一种可能的实施方式中,所述控制组件包含数学函数组件、统计组件、定时器组件、比例-积分-微分(proportion integral differential,PID)控制器组件、热力学组件、光学组件或空气质量检测组件等中的一项或者多项。In yet another possible implementation of the first aspect, the control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-differential (PID) controller component, a thermodynamic component, an optical component One or more of the components or air quality detection components.
上述说明了本申请实施例提供的一些组件的种类,由于目标设备可能涉及多种对传感器、逻辑门、电气组件的控制,应用开发过程中的安全性和专业性要求高。本申请实施例将函数、热力学器件涉及的功能代码块封装得到控制组件,使得用户能够灵活地基于可视化的控制组件来安全且合理地生成应用。The above describes some types of components provided by the embodiments of the present application. Since the target device may involve a variety of controls on sensors, logic gates, and electrical components, the application development process requires high security and professionalism. The embodiment of the present application encapsulates functional code blocks related to functions and thermodynamic devices into control components, allowing users to flexibly generate applications safely and reasonably based on visual control components.
在第一方面的又一种可能的实施方式中,所述目标设备用于完成以下业务功能中的一项或者多项:In yet another possible implementation of the first aspect, the target device is used to complete one or more of the following business functions:
变风量VAV系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、或电气设备控制等。Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, or electrical equipment control, etc.
在第一方面的又一种可能的实施方式中,通过无线通信技术与所述目标电子设备通信。例如:全球移动通信系统(global system for mobile communications,GSM)、通用分组无线业务(general packet radio service,GPRS)、通用移动通信系统(universal mobile telecommunications System,UMTS),LTE,超文本传输协议(hypertext transfer protocol,HTTP)、车载以太网(scalable service-oriented middleware over IP,SOME/IP)或5G等无线接入类型技术。In yet another possible implementation of the first aspect, communication with the target electronic device is performed through wireless communication technology. For example: global system for mobile communications (GSM), general packet radio service (GPRS), universal mobile telecommunications system (UMTS), LTE, hypertext transfer protocol (hypertext wireless access type technologies such as transfer protocol, HTTP), vehicle Ethernet (scalable service-oriented middleware over IP, SOME/IP) or 5G.
在第一方面的又一种可能的实施方式中,所述方法还包括:In yet another possible implementation of the first aspect, the method further includes:
通过MQTT协议与所述运行引擎实例通信。其中,MQTT是一种基于传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)协议来传输的轻量级通信协议。MQTT通信过程中通过MQTT代理器(Broker,或称服务器)和客户端,MQTT Broker负责接收来自客户端的网络连接,并处理客户端的订阅/取消订阅、消息发布(Publish)请求。在订阅者有多个的情况下,还可以将客户端发布的消息转发给其他订阅者。Communicate with the runtime engine instance through the MQTT protocol. Among them, MQTT is a lightweight communication protocol based on Transmission Control Protocol/Internet Protocol (TCP/IP) protocol. During the MQTT communication process, the MQTT broker (or server) and the client are used. The MQTT Broker is responsible for receiving the network connection from the client and processing the client's subscription/unsubscription and message publishing (Publish) requests. When there are multiple subscribers, messages published by the client can also be forwarded to other subscribers.
由于MQTT是轻量协议,客户端较为小巧,当部署在目标设备中时无需消耗太多的存储空间和计算资源,从而可以提升运行引擎实例的部署、通信效率。Since MQTT is a lightweight protocol and the client is relatively small, it does not need to consume too much storage space and computing resources when deployed in the target device, which can improve the deployment and communication efficiency of running engine instances.
在第一方面的又一种可能的实施方式中,所述方法还包括:In yet another possible implementation of the first aspect, the method further includes:
通过COAP协议与所述运行引擎实例通信。Communicates with the running engine instance through the COAP protocol.
COAP使用在资源受限的设备上,其对通信的消息格式进行了简化,具有轻量化、低功耗的优点,当部署在目标设备(尤其是DDC等存储和计算资源有限的设备)中时无需消耗太多的存储空间和计算资源,从而可以提升对目标设备进行控制时的效率。COAP is used on devices with limited resources. It simplifies the message format of communication and has the advantages of lightweight and low power consumption. When deployed in the target device (especially devices with limited storage and computing resources such as DDC) There is no need to consume too much storage space and computing resources, thereby improving the efficiency of controlling the target device.
第二方面,本申请实施例提供了一种业务管理系统,所述业务管理系统包含部署云端的服务器和目标设备,其中:In the second aspect, embodiments of the present application provide a business management system. The business management system includes a server deployed in the cloud and a target device, wherein:
所述云端,用于提供组件编排界面和控制组件资源,所述组件编排界面用于编排目标应用依赖的控制组件;The cloud is used to provide a component orchestration interface and control component resources, and the component orchestration interface is used to orchestrate control components that the target application depends on;
所述云端,还用于根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据;The cloud is also configured to generate metadata of the target application according to the control components arranged in the component arrangement interface;
所述云端,还用于向所述目标设备提供所述目标应用的元数据,所述目标应用的元数据用于运行所述目标应用;The cloud is further configured to provide metadata of the target application to the target device, and the metadata of the target application is used to run the target application;
所述云端,还用于向所述目标设备提供所述目标应用依赖的控制组件,所述目标应用依赖的控制组件用于运行所述目标应用;The cloud is further configured to provide the target device with a control component that the target application depends on, and the control component that the target application depends on is used to run the target application;
所述电子设备,用于根据所述目标应用的元数据和所述目标应用依赖控制组件运行所述目标应用。The electronic device is configured to run the target application according to the metadata of the target application and the target application dependency control component.
其中,云端用于控制所述目标设备的业务功能。具体的,一方面,云端向需求端提供业务控制逻辑的编排功能和编排组件,使得需求端的用户可以基于对目的端的控制需求来可视化的开发应用,降低开发的门槛、减少成本,提高应用开发的效率;另一方面,云端将用户编排的应用部署在目的端(前述的电子设备,例如边缘设备、终端设备)中,无需线下安装调试应用,也可以及时在对电子设备中的部署应用,从而便捷地控制互联网中的设备的功能。Wherein, the cloud is used to control the business functions of the target device. Specifically, on the one hand, the cloud provides the orchestration function and orchestration components of business control logic to the demand side, so that users on the demand side can visually develop applications based on the control requirements for the destination side, lowering the development threshold, reducing costs, and improving the efficiency of application development. Efficiency; on the other hand, the cloud deploys user-orchestrated applications on the destination (the aforementioned electronic devices, such as edge devices and terminal devices). There is no need to install and debug applications offline, and applications can be deployed in electronic devices in a timely manner. This allows you to conveniently control the functions of devices on the Internet.
在第二方面的一种可能的实施方式中,所述云端,还用于向所述目标设备提供运行引擎实例,所述运行引擎实例用于提供所述目标应用运行的隔离坏境。In a possible implementation of the second aspect, the cloud is further configured to provide a running engine instance to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
在第二方面的又一种可能的实施方式中,所述云端,还用于:In yet another possible implementation of the second aspect, the cloud is also used for:
控制所述运行引擎实例,其中,控制所述运行引擎实例包含以下操作的一项或者多项:Control the running engine instance, wherein controlling the running engine instance includes one or more of the following operations:
修改运行引擎实例的配置、重启运行引擎实例、对所述运行引擎实例进行补丁升级、同步运行引擎实例中的应用。Modify the configuration of the running engine instance, restart the running engine instance, perform patch upgrades on the running engine instance, and synchronize applications in the running engine instance.
在第二方面的又一种可能的实施方式中,所述云端,还用于:In yet another possible implementation of the second aspect, the cloud is also used for:
获取运行引擎实例中的应用的运行状态。Get the running status of the application in the running engine instance.
在第二方面的又一种可能的实施方式中,所述云端,还用于:In yet another possible implementation of the second aspect, the cloud is also used for:
发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。Send application management information, where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
在第二方面的又一种可能的实施方式中,所述云端,还用于:In yet another possible implementation of the second aspect, the cloud is also used for:
在所述目标设备中的运行引擎实例中部署运行态应用。Deploy the running application in the running engine instance in the target device.
在第二方面的又一种可能的实施方式中,所述云端,还用于:In yet another possible implementation of the second aspect, the cloud is also used for:
提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。A user interface for the running application is provided, and the user interface is used to display the running results of the running application.
在第二方面的又一种可能的实施方式中,所述运行引擎实例包含基础指令流程模块、上行指令模块、下行指令模块和引擎核心模块。In yet another possible implementation of the second aspect, the running engine instance includes a basic instruction process module, an uplink instruction module, a downlink instruction module and an engine core module.
在第二方面的又一种可能的实施方式中,基础指令流程模块,用于控制上行指令流和下行指令流的安装;In yet another possible implementation of the second aspect, the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
上行指令模块,用于发送上行指令;The uplink command module is used to send uplink commands;
下行指令模块,用于接收下行指令、调用通信接口执行指令,所述通信接口由所述引擎核心模块提供;A downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions. The communication interface is provided by the engine core module;
引擎核心模块包含以下模块中的一个或多个:引擎基础管理模块、执行器、通用服务模块和文件系统;The engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
其中,所述引擎基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源和配置引擎参数,所述执行器用于执行与应用运行相关的操作,所述通用服务模块用于管理日志和消息,所述文件系统负责数据持久化存储和数据读取。Among them, the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service The module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
在第二方面的又一种可能的实施方式中,所述运行引擎实例包含上下文模块,所述上下文模块用于存储当前应用的运行数据。In yet another possible implementation of the second aspect, the execution engine instance includes a context module, and the context module is used to store execution data of the current application.
在第二方面的又一种可能的实施方式中,所述云端,还用于:In yet another possible implementation of the second aspect, the cloud is also used for:
接收来自至少一个运行引擎实例的上行指令,所述上行指令包含引擎注册指令、组件安装请求指令、日志上传指令和心跳保持指令。Receive uplink instructions from at least one running engine instance, where the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
在第二方面的又一种可能的实施方式中,所述引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、或内核版本等。In yet another possible implementation of the second aspect, the engine registration instruction includes one or more of the following information: a license, a hardware platform instruction set, and a central processing unit (CPU) of the at least one running engine instance. Architecture, operating system properties, or kernel version, etc.
在第二方面的又一种可能的实施方式中,所述心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况等。In yet another possible implementation of the second aspect, the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the at least one running engine instance space usage, etc.
在第二方面的又一种可能的实施方式中,所述目标设备包含直接数字控制器DDC。In yet another possible implementation manner of the second aspect, the target device includes a direct digital controller DDC.
在第二方面的又一种可能的实施方式中,所述控制组件包含数学函数组件、统计组件、定时器组件、比例-积分-微分(proportion integral differential,PID)控制器组件、热力学组件、光学组件或空气质量检测组件等中的一项或者多项。In yet another possible implementation of the second aspect, the control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-differential (PID) controller component, a thermodynamic component, an optical component One or more of the components or air quality detection components.
在第二方面的又一种可能的实施方式中,所述目标设备用于完成以下业务功能中的一项或者多项:In yet another possible implementation of the second aspect, the target device is used to complete one or more of the following business functions:
变风量VAV系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、或电气设备控制等。Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, or electrical equipment control, etc.
在第二方面的又一种可能的实施方式中,所述云端包含消息中间件,所述消息中间件用于实现与所述目标设备之间的通信。In yet another possible implementation of the second aspect, the cloud includes message middleware, and the message middleware is used to implement communication with the target device.
在第二方面的又一种可能的实施方式中,所述云端通过无线通信技术与所述目标电子设备通信。In yet another possible implementation of the second aspect, the cloud communicates with the target electronic device through wireless communication technology.
在第二方面的又一种可能的实施方式中,所述云端通过MQTT协议与所述运行引擎实例 通信。In yet another possible implementation of the second aspect, the cloud communicates with the running engine instance through the MQTT protocol.
在第二方面的又一种可能的实施方式中,所述云端通过COAP协议与所述运行引擎实例通信。In yet another possible implementation of the second aspect, the cloud communicates with the running engine instance through the COAP protocol.
第三方面,本申请实施例提供了一种业务管理装置,所述业务管理装置包含处理单元和通信单元,所述业务管理装置用于实现第一方面或第一方面任一项可能的实施方式所描述的方法。In a third aspect, embodiments of the present application provide a service management device. The service management device includes a processing unit and a communication unit. The service management device is used to implement the first aspect or any possible implementation manner of the first aspect. method described.
在第三方面的一种可能的实施方式中,所述通信单元,用于提供组件编排界面和控制组件资源,所述组件编排界面用于编排目标应用依赖的控制组件;In a possible implementation of the third aspect, the communication unit is used to provide a component orchestration interface and control component resources, and the component orchestration interface is used to orchestrate control components that the target application depends on;
所述处理单元,用于根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据;The processing unit is configured to generate metadata of the target application according to the control components arranged in the component arrangement interface;
所述通信单元,还用于向所述目标设备提供所述目标应用的元数据,所述目标应用的元数据用于运行所述目标应用;The communication unit is further configured to provide metadata of the target application to the target device, and the metadata of the target application is used to run the target application;
所述通信单元,还用于向所述目标设备提供所述目标应用依赖的控制组件,所述目标应用依赖的控制组件用于运行所述目标应用。The communication unit is further configured to provide the control component that the target application depends on to the target device, and the control component that the target application depends on is used to run the target application.
在第三方面的又一种可能的实施方式中,所述通信单元,还用于:In yet another possible implementation of the third aspect, the communication unit is also used to:
向所述目标设备提供运行引擎实例,所述运行引擎实例用于提供所述目标应用运行的隔离坏境。A running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
在第三方面的又一种可能的实施方式中,所述处理单元,还用于:In yet another possible implementation of the third aspect, the processing unit is also used to:
控制所述运行引擎实例。可选的,控制所述运行引擎实例包含以下操作的一项或者多项:Control the runtime engine instance. Optionally, controlling the running engine instance includes one or more of the following operations:
修改运行引擎实例的配置、重启运行引擎实例、对所述运行引擎实例进行补丁升级、同步运行引擎实例中的应用。Modify the configuration of the running engine instance, restart the running engine instance, perform patch upgrades on the running engine instance, and synchronize applications in the running engine instance.
在第三方面的又一种可能的实施方式中,所述通信单元,还用于:In yet another possible implementation of the third aspect, the communication unit is also used to:
获取运行引擎实例中的应用的运行状态。Get the running status of the application in the running engine instance.
在第三方面的又一种可能的实施方式中,所述通信单元,还用于:In yet another possible implementation of the third aspect, the communication unit is also used to:
发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。Send application management information, where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
在第三方面的又一种可能的实施方式中,所述通信单元,还用于:In yet another possible implementation of the third aspect, the communication unit is also used to:
在所述目标设备中的运行引擎实例中部署运行态应用。Deploy the running application in the running engine instance in the target device.
在第三方面的又一种可能的实施方式中,所述通信单元,还用于:In yet another possible implementation of the third aspect, the communication unit is also used to:
提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。A user interface for the running application is provided, and the user interface is used to display the running results of the running application.
在第三方面的又一种可能的实施方式中,所述运行引擎实例包含基础指令流程模块、上行指令模块、下行指令模块和引擎核心模块。In yet another possible implementation of the third aspect, the running engine instance includes a basic instruction flow module, an uplink instruction module, a downlink instruction module and an engine core module.
在第三方面的又一种可能的实施方式中,基础指令流程模块,用于控制上行指令流和下行指令流的安装;In yet another possible implementation of the third aspect, the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
上行指令模块,用于发送上行指令;The uplink command module is used to send uplink commands;
下行指令模块,用于接收下行指令、调用通信接口执行指令,所述通信接口由所述引擎核心模块提供;A downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions. The communication interface is provided by the engine core module;
引擎核心模块包含以下模块中的一个或多个:引擎基础管理模块、执行器、通用服务模块和文件系统;The engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
其中,所述引擎基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源和配置引擎参数,所述执行器用于执行与应用运行相关的操作,所述通用服务模块用于管理日志和消息,所述文件系统负责数据持久化存储和数据读取。Among them, the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service The module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
在第三方面的又一种可能的实施方式中,所述运行引擎实例包含上下文模块,所述上下文模块用于存储当前应用的运行数据。In yet another possible implementation of the third aspect, the execution engine instance includes a context module, and the context module is used to store execution data of the current application.
在第三方面的又一种可能的实施方式中,所述通信单元,还用于:In yet another possible implementation of the third aspect, the communication unit is also used to:
接收来自至少一个运行引擎实例的上行指令,所述上行指令包含引擎注册指令、组件安装请求指令、日志上传指令和心跳保持指令。Receive uplink instructions from at least one running engine instance, where the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
在第三方面的又一种可能的实施方式中,所述引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、内核版本。In yet another possible implementation of the third aspect, the engine registration instruction includes one or more of the following information: a license, a hardware platform instruction set, and a central processing unit (CPU) of the at least one running engine instance. Architecture, operating system properties, kernel version.
在第三方面的又一种可能的实施方式中,所述心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况。In yet another possible implementation of the third aspect, the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the at least one running engine instance space usage in .
在第三方面的又一种可能的实施方式中,所述目标设备包含直接数字控制器DDC。In yet another possible implementation manner of the third aspect, the target device includes a direct digital controller DDC.
在第三方面的又一种可能的实施方式中,所述控制组件包含数学函数组件、统计组件、定时器组件、比例-积分-微分PID控制器组件、热力学组件、光学组件或空气质量检测组件中的一项或者多项。In yet another possible implementation of the third aspect, the control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. one or more of them.
在第三方面的又一种可能的实施方式中,所述目标设备用于完成以下业务功能中的一项或者多项:In yet another possible implementation of the third aspect, the target device is used to complete one or more of the following business functions:
变风量VAV系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、电气设备控制。Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
在第三方面的又一种可能的实施方式中,所述业务管理装置包含消息中间件,所述消息中间件用于实现与所述目标设备之间的通信。In yet another possible implementation manner of the third aspect, the service management apparatus includes message middleware, and the message middleware is used to implement communication with the target device.
在第三方面的又一种可能的实施方式中,所述通信单元,还用于通过无线通信技术与所述目标电子设备通信。In yet another possible implementation of the third aspect, the communication unit is also configured to communicate with the target electronic device through wireless communication technology.
在第三方面的又一种可能的实施方式中,所述通信单元,还用于通过MQTT协议与所述运行引擎实例通信。In yet another possible implementation of the third aspect, the communication unit is also configured to communicate with the running engine instance through the MQTT protocol.
在第三方面的又一种可能的实施方式中,所述通信单元,还用于通过COAP协议与所述运行引擎实例通信。In yet another possible implementation of the third aspect, the communication unit is further configured to communicate with the running engine instance through the COAP protocol.
第四方面,本申请实施例提供一种计算设备,所述计算设备包括处理器和存储器。该处理器用于执行所述存储器存储的计算机程序,使得所述计算设备实现第一方面任一项所描述的方法。In a fourth aspect, embodiments of the present application provide a computing device, where the computing device includes a processor and a memory. The processor is configured to execute the computer program stored in the memory, so that the computing device implements the method described in any one of the first aspects.
在第四方面的一种可能的实施方式中,所述处理器用于执行所述存储器存储的计算机程序,实现如下操作:In a possible implementation of the fourth aspect, the processor is configured to execute the computer program stored in the memory to implement the following operations:
提供组件编排界面和控制组件资源,所述组件编排界面用于编排目标应用依赖的控制组件;Provide a component orchestration interface and control component resources. The component orchestration interface is used to orchestrate the control components that the target application depends on;
根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据;Generate metadata of the target application according to the control components arranged in the component arrangement interface;
向所述目标设备提供所述目标应用的元数据,所述目标应用的元数据用于运行所述目标应用;providing metadata of the target application to the target device, the metadata of the target application being used to run the target application;
向所述目标设备提供所述目标应用依赖的控制组件,所述目标应用依赖的控制组件用于运行所述目标应用。A control component on which the target application depends is provided to the target device, and the control component on which the target application depends is used to run the target application.
在第四方面的又一种可能的实施方式中,所述处理器,还用于:In yet another possible implementation of the fourth aspect, the processor is also used to:
向所述目标设备提供运行引擎实例,所述运行引擎实例用于提供所述目标应用运行的隔离坏境。A running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
在第四方面的又一种可能的实施方式中,所述处理器,还用于:In yet another possible implementation of the fourth aspect, the processor is also used to:
控制所述运行引擎实例。可选的,控制所述运行引擎实例包含以下操作的一项或者多项:Control the runtime engine instance. Optionally, controlling the running engine instance includes one or more of the following operations:
修改运行引擎实例的配置、重启运行引擎实例、对所述运行引擎实例进行补丁升级、同步运行引擎实例中的应用。Modify the configuration of the running engine instance, restart the running engine instance, perform patch upgrades on the running engine instance, and synchronize applications in the running engine instance.
在第四方面的又一种可能的实施方式中,所述处理器,还用于:In yet another possible implementation of the fourth aspect, the processor is also used to:
获取运行引擎实例中的应用的运行状态。Get the running status of the application in the running engine instance.
在第四方面的又一种可能的实施方式中,所述计算设备,还包括通信接口。所述处理器,还用于:In yet another possible implementation manner of the fourth aspect, the computing device further includes a communication interface. The processor is also used for:
通过所述通信接口发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。Application management information is sent through the communication interface, and the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
在第四方面的又一种可能的实施方式中,所述处理器,还用于:In yet another possible implementation of the fourth aspect, the processor is also used to:
在所述目标设备中的运行引擎实例中部署运行态应用。Deploy the running application in the running engine instance in the target device.
在第四方面的又一种可能的实施方式中,所述处理器,还用于:In yet another possible implementation of the fourth aspect, the processor is also used to:
提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。A user interface for the running application is provided, and the user interface is used to display the running results of the running application.
在第四方面的又一种可能的实施方式中,所述运行引擎实例包含基础指令流程模块、上行指令模块、下行指令模块和引擎核心模块。In yet another possible implementation of the fourth aspect, the running engine instance includes a basic instruction flow module, an uplink instruction module, a downlink instruction module and an engine core module.
在第四方面的又一种可能的实施方式中,基础指令流程模块,用于控制上行指令流和下行指令流的安装;In yet another possible implementation of the fourth aspect, the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
上行指令模块,用于发送上行指令;The uplink command module is used to send uplink commands;
下行指令模块,用于接收下行指令、调用通信接口执行指令,所述通信接口由所述引擎核心模块提供;A downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions. The communication interface is provided by the engine core module;
引擎核心模块包含以下模块中的一个或多个:引擎基础管理模块、执行器、通用服务模块和文件系统;The engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
其中,所述引擎基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源和配置引擎参数,所述执行器用于执行与应用运行相关的操作,所述通用服务模块用于管理日志和消息,所述文件系统负责数据持久化存储和数据读取。Among them, the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service The module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
在第四方面的又一种可能的实施方式中,所述运行引擎实例包含上下文模块,所述上下文模块用于存储当前应用的运行数据。In yet another possible implementation of the fourth aspect, the execution engine instance includes a context module, and the context module is used to store execution data of the current application.
在第四方面的又一种可能的实施方式中,所述计算设备,还包括通信接口。所述处理器,还用于:In yet another possible implementation manner of the fourth aspect, the computing device further includes a communication interface. The processor is also used for:
通过所述通信接口接收来自至少一个运行引擎实例的上行指令,所述上行指令包含引擎注册指令、组件安装请求指令、日志上传指令和心跳保持指令。Uplink instructions from at least one running engine instance are received through the communication interface, and the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
在第四方面的又一种可能的实施方式中,所述引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、内核版本。In yet another possible implementation of the fourth aspect, the engine registration instruction includes one or more of the following information: a license, a hardware platform instruction set, and a central processing unit (CPU) of the at least one running engine instance. Architecture, operating system properties, kernel version.
在第四方面的又一种可能的实施方式中,所述心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况。In yet another possible implementation manner of the fourth aspect, the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the at least one running engine instance space usage in .
在第四方面的又一种可能的实施方式中,所述目标设备包含直接数字控制器DDC。In yet another possible implementation manner of the fourth aspect, the target device includes a direct digital controller DDC.
在第四方面的又一种可能的实施方式中,所述控制组件包含数学函数组件、统计组件、定时器组件、比例-积分-微分PID控制器组件、热力学组件、光学组件或空气质量检测组件中的一项或者多项。In yet another possible implementation of the fourth aspect, the control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. one or more of them.
在第四方面的又一种可能的实施方式中,所述目标设备用于完成以下业务功能中的一项或者多项:In yet another possible implementation of the fourth aspect, the target device is used to complete one or more of the following business functions:
变风量VAV系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、电气设备控制。Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
在第四方面的又一种可能的实施方式中,所述计算设备包含消息中间件,所述消息中间件用于实现与所述目标设备之间的通信。In yet another possible implementation manner of the fourth aspect, the computing device includes message middleware, and the message middleware is used to implement communication with the target device.
在第四方面的又一种可能的实施方式中,所述计算设备,还包括通信接口。所述处理器,还用于:In yet another possible implementation manner of the fourth aspect, the computing device further includes a communication interface. The processor is also used for:
通过所述通信接口通过无线通信技术与所述目标电子设备通信。Communicate with the target electronic device through the communication interface through wireless communication technology.
在第四方面的又一种可能的实施方式中,所述计算设备,还包括通信接口。所述处理器,还用于:In yet another possible implementation manner of the fourth aspect, the computing device further includes a communication interface. The processor is also used for:
通过所述通信接口通过MQTT协议与所述运行引擎实例通信。Communicate with the running engine instance through the MQTT protocol through the communication interface.
在第四方面的又一种可能的实施方式中,所述计算设备,还包括通信接口。所述处理器,还用于:In yet another possible implementation manner of the fourth aspect, the computing device further includes a communication interface. The processor is also used for:
通过所述通信接口通过COAP协议与所述运行引擎实例通信。Communicate with the running engine instance through the COAP protocol through the communication interface.
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令用于实现前述第一方面任一项所描述的方法。In a fifth aspect, embodiments of the present application provide a computer-readable storage medium in which instructions are stored, and the instructions are used to implement the method described in any one of the foregoing first aspects.
第六方面,本申请提供了一种计算机程序产品,计算机程序产品包括计算机指令,所述指令用于实现前述第一方面任一项所描述的方法。In a sixth aspect, the present application provides a computer program product. The computer program product includes computer instructions, and the instructions are used to implement the method described in any one of the foregoing first aspects.
本申请第二至第六方面所提供的技术方案,其有益效果可以参考第一方面的技术方案的有益效果,此处不再赘述。For the beneficial effects of the technical solutions provided in the second to sixth aspects of the present application, reference can be made to the beneficial effects of the technical solutions of the first aspect, and will not be described again here.
附图说明Description of the drawings
下面将对实施例描述中所需要使用的附图作简单的介绍。The drawings needed to be used in describing the embodiments will be briefly introduced below.
图1是本申请实施例提供的一种业务管理系统的架构示意图;Figure 1 is a schematic architectural diagram of a business management system provided by an embodiment of the present application;
图2A是本申请实施例提供的一种云边协同场景下的系统架构示意图;Figure 2A is a schematic diagram of the system architecture in a cloud-edge collaboration scenario provided by an embodiment of the present application;
图2B是本申请实施例提供的又一种云边协同场景下的系统架构示意图;Figure 2B is a schematic diagram of the system architecture in another cloud-edge collaboration scenario provided by the embodiment of the present application;
图3是本申请实施例提供的一种运行引擎实例的结构示意图;Figure 3 is a schematic structural diagram of an example of an operating engine provided by an embodiment of the present application;
图4是本申请实施例提供的又一种业务管理系统的架构示意图;Figure 4 is a schematic architectural diagram of yet another business management system provided by an embodiment of the present application;
图5是本申请实施例提供的一种业务管理装置的架构示意图;Figure 5 is a schematic architectural diagram of a service management device provided by an embodiment of the present application;
图6是本申请实施例提供的又一种业务管理系统的架构示意图;Figure 6 is a schematic architectural diagram of yet another business management system provided by an embodiment of the present application;
图7是本申请实施例提供的一种业务管理方法的流程示意图;Figure 7 is a schematic flow chart of a business management method provided by an embodiment of the present application;
图8是本申请实施例提供的一种界面示意图;Figure 8 is a schematic diagram of an interface provided by an embodiment of the present application;
图9是本申请实施例提供的一种应用的元数据的格式示意图;Figure 9 is a schematic diagram of the format of metadata of an application provided by an embodiment of the present application;
图10是本申请实施例提供的一种业务管理方法的流程示意图;Figure 10 is a schematic flow chart of a business management method provided by an embodiment of the present application;
图11是本申请实施例提供的一种业务管理装置的结构示意图;Figure 11 is a schematic structural diagram of a service management device provided by an embodiment of the present application;
图12是本申请实施例提供的一种计算设备的结构示意图。Figure 12 is a schematic structural diagram of a computing device provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合附图对本申请实施例作进一步地详细描述。The embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
为了便于理解,以下示例地给出了部分与本申请实施例相关概念的说明以供参考。如下所述:To facilitate understanding, the following exemplarily provides a description of some concepts related to the embodiments of the present application for reference. As stated below:
元数据(Metadata):一种用于描述数据属性的信息,又称中介数据、中继数据。本申请实施例中,元数据用于描述所述应用的业务流程(或处理逻辑)。例如,元数据可以用来描述组件之间的调用关系、和/或传递关系等。再如,元数据可以用来描述应用所依赖的组件的执行顺序。Metadata: A type of information used to describe data attributes, also known as intermediary data and relay data. In this embodiment of the present application, metadata is used to describe the business process (or processing logic) of the application. For example, metadata can be used to describe the calling relationship and/or delivery relationship between components. As another example, metadata can be used to describe the execution sequence of components that the application depends on.
组件(node):用于实现某个或者若干个功能的代码片段或者已编译的二进制文件,通常被预先定义或者被预先封装。可选的,组件可以是函数、算法、框架、软件模块、封装的工具等。例如,基于node.js(一个JavaScript的运行环境)的应用,依赖一些nonde.js组件来运行,示例性的,例如依赖Express框架(一种快速搭建网站的框架)、Path模块(提供转换文件路径的工具)等组件。Component (node): a code fragment or compiled binary file used to implement one or several functions, usually pre-defined or pre-encapsulated. Optionally, components can be functions, algorithms, frameworks, software modules, packaged tools, etc. For example, applications based on node.js (a JavaScript runtime environment) rely on some nonde.js components to run. For example, they rely on the Express framework (a framework for quickly building websites) and the Path module (which provides conversion file paths). tools) and other components.
应用的业务流程:为了完成业务功能,而由不同的功能模块共同完成的一系列活动。这里的功能模块包含了组件,进一步还可以包含未封装为组件的代码、二进制文件等。应用的业务流程描述了组件的调用关系、传递关系、数据流向关系、或需要执行组件的哪一个代码片段等中的一项或者多项。Application business process: A series of activities completed by different functional modules in order to complete business functions. The functional modules here include components, and may further include code, binary files, etc. that are not encapsulated as components. The business process of the application describes one or more of the component's calling relationship, transfer relationship, data flow relationship, or which code fragment of the component needs to be executed.
容器(container):计算机操作系统中的一种虚拟化技术。该技术使得进程运行于相对独立和隔离的环境(包含独立的文件系统、命名空间、资源视图等)。容器技术广泛应用于云计算领域的服务化场景。Container: A virtualization technology in computer operating systems. This technology allows processes to run in relatively independent and isolated environments (including independent file systems, namespaces, resource views, etc.). Container technology is widely used in service scenarios in the field of cloud computing.
运行引擎(runtime engine)实例:运行引擎实例是根据运行引擎的模板或者运行引擎的设计方案,所得到的、的一个或者多个实例化的运行引擎。运行引擎实例提供了应用(application,APP)运行所需的软件环境。运行引擎实例提供独立于具体硬件、协议的基础运行能力,能够根据APP对应的业务流程和APP依赖的组件来运行APP。Runtime engine instance: A runtime engine instance is one or more instantiated runtime engines obtained based on the runtime engine template or the runtime engine design. The running engine instance provides the software environment required for application (application, APP) to run. The running engine instance provides basic running capabilities independent of specific hardware and protocols, and can run the APP according to the business process corresponding to the APP and the components that the APP depends on.
可选的,运行引擎实例所提供的运行环境包含基于Node.js的环境。或者,运行引擎实例所提供的环境还可以包含基于java、python、go语言等开发语言的环境。其所基于的平台可以是Linux平台,也可以是Windows或者其他平台。本申请实施例对于各种平台、各种开发环境、开发语言均适用。Optionally, the running environment provided by the running engine instance includes a Node.js-based environment. Alternatively, the environment provided by the running engine instance can also include environments based on development languages such as java, python, and go. The platform it is based on can be a Linux platform, Windows or other platforms. The embodiments of this application are applicable to various platforms, various development environments, and development languages.
消息队列遥测传输(message queuing telemetry transport,MQTT)协议:一种基于传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)协议来传输的轻量级通信协议。MQTT通信过程中通过MQTT代理器(Broker,或称服务器)和客户端,MQTT Broker负责接收来自客户端的网络连接,并处理客户端的订阅/取消订阅、消息发布(Publish)请求。在一些多服务端的场景中,MQTT Broker会将客户端发布的消息转发给其他订阅者。Message queuing telemetry transport (MQTT) protocol: a lightweight communication protocol based on the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol. During the MQTT communication process, the MQTT broker (or server) and the client are used. The MQTT Broker is responsible for receiving the network connection from the client and processing the client's subscription/unsubscription and message publishing (Publish) requests. In some multi-server scenarios, MQTT Broker will forward messages published by the client to other subscribers.
受限应用协议(constrained application protocol,COAP):是一种轻量通信协议,其通常使用在资源受限的设备上,其对通信的消息格式进行了简化,具有轻量化、低功耗的优点。Constrained application protocol (COAP): It is a lightweight communication protocol that is usually used on devices with limited resources. It simplifies the message format of communication and has the advantages of lightweight and low power consumption. .
中间件:介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务 (功能),衔接网络上应用系统的各个部分或不同的应用。即:为应用提供通用服务和功能的软件。数据管理、应用服务、消息传递、身份验证和应用程序编程接口(Application Programming Interface,API)管理通常都要通过中间件。Middleware: A type of software between application systems and system software. It uses the basic services (functions) provided by system software to connect various parts of the application system or different applications on the network. That is: software that provides common services and functions for applications. Data management, application services, messaging, authentication, and application programming interface (API) management usually go through middleware.
请参见表1,表1是本申请实施例提供的可能的中间件的信息。例如,本申请实施例中,云端可以包含欧拉操作系统(EulerOS)的中间件,从而可以提供基于EulerOS的运行引擎实例,或者可以用于开发基于EulerOS的应用,从而适用于对基于EulerOS的设备的业务控制。Please refer to Table 1. Table 1 is information about possible middleware provided by the embodiment of this application. For example, in the embodiment of this application, the cloud may contain the middleware of the Euler OS (EulerOS), thereby providing a running engine instance based on EulerOS, or may be used to develop EulerOS-based applications, thereby being suitable for EulerOS-based devices. business control.
再如,本申请实施例中,云端可以包含远程字典服务(remote dictionary server,Redis)中间件,从而可以实现对键-值(key-value,KV)格式的数据的存储。For another example, in this embodiment of the present application, the cloud may include remote dictionary service (remote dictionary server, Redis) middleware, thereby enabling storage of data in key-value (key-value, KV) format.
再如,本申请实施例中,云端可以包含云容器引擎(cloud container engine,CCE)中间件,CCE用于提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器。For another example, in the embodiment of this application, the cloud may include cloud container engine (cloud container engine, CCE) middleware. CCE is used to provide a highly scalable, high-performance enterprise-level Kubernetes cluster and support running Docker containers.
表1中间件的信息Table 1 Middleware information
Figure PCTCN2022139520-appb-000001
Figure PCTCN2022139520-appb-000001
其中,上述中间件可以用于实现本申请实施例的技术方案。当然,以上中间件仅为实例,具体实施过程中还可以包含更多或者更少的中间件,或者包含其他版本的中间件。对于包含其他中间件的情况,本申请实施例同样适用。Among them, the above-mentioned middleware can be used to implement the technical solutions of the embodiments of this application. Of course, the above middleware is only an example, and the specific implementation process may also include more or less middleware, or other versions of middleware. The embodiments of this application are also applicable to situations where other middleware is included.
本申请实施例提供了一种业务管理服务器及业务管理系统,业务管理服务器可以连通需求端和目的端,一方面,业务管理服务器向需求端提供业务控制逻辑的编排功能和编排组件,使得需求端的用户可以基于对目的端的控制需求来可视化的开发应用,降低开发的门槛、减少成本,提高应用开发的效率;另一方面,业务管理服务器将用户编排的应用部署在目的端(前述的电子设备,例如边缘设备、终端设备)中,无需线下安装调试应用,也可以及时在云端对应用进行更新,能够便捷地控制互联网中的设备的功能。Embodiments of the present application provide a business management server and a business management system. The business management server can connect the demand side and the destination side. On the one hand, the business management server provides the orchestration function and orchestration components of the business control logic to the demand side, so that the demand side Users can visually develop applications based on the control requirements for the destination end, lowering the development threshold, reducing costs, and improving the efficiency of application development; on the other hand, the business management server deploys the user-orchestrated applications on the destination end (the aforementioned electronic equipment, For example, in edge devices and terminal devices), there is no need to install and debug applications offline. Applications can also be updated in the cloud in a timely manner, and the functions of devices on the Internet can be easily controlled.
下面对本申请实施例应用的系统架构进行介绍。需要说明的是,本申请描述的系统架构及业务场景是为了更加清楚的说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。The system architecture applied in the embodiments of this application is introduced below. It should be noted that the system architecture and business scenarios described in this application are for the purpose of explaining the technical solution of this application more clearly and do not constitute a limitation on the technical solution provided by this application. Those of ordinary skill in the art will know that with the system architecture With the evolution of the Internet and the emergence of new business scenarios, the technical solutions provided in this application are also applicable to similar technical problems.
请参见图1,图1是本申请实施例提供的一种业务管理系统10的架构示意图,该业务管理系统10包含云端101和设备。Please refer to Figure 1. Figure 1 is a schematic architectural diagram of a business management system 10 provided by an embodiment of the present application. The business management system 10 includes a cloud 101 and devices.
云端101,也称为服务器、云平台等,是具有计算能力和通信能力的设备。其通常集中了较多的计算资源,这些计算资源可以包含实体设备,也可以包含虚拟设备。例如,云端101可以部署于一个或者多个服务器(例如刀片式服务器、机架式服务器等)中。再如,云端101 可以包含一个或者多个虚拟机、容器等。云端101可以为电子设备提供多种服务,如APP安装服务、APP升级服务、组件下载服务等。是具有计算能力、通信能力的设备。本申请实施例中,云端101能够对外提供组件编排界面和控制组件资源,并接收用户在组件编排界面编排的控制组件、生成应用。云端101生成的应用可以在电子设备中部署、运行,以达到控制电子设备的功能的目的。 Cloud 101, also known as server, cloud platform, etc., is a device with computing capabilities and communication capabilities. It usually concentrates more computing resources, which can include physical devices or virtual devices. For example, the cloud 101 can be deployed in one or more servers (such as blade servers, rack servers, etc.). For another example, the cloud 101 may include one or more virtual machines, containers, etc. Cloud 101 can provide a variety of services for electronic devices, such as APP installation services, APP upgrade services, component download services, etc. It is a device with computing and communication capabilities. In the embodiment of this application, the cloud 101 can externally provide a component orchestration interface and control component resources, and receive control components and generate applications arranged by users on the component orchestration interface. Applications generated by the cloud 101 can be deployed and run in electronic devices to achieve the purpose of controlling the functions of the electronic devices.
设备是具有计算能力和通信能力的设备,用于完成若干种业务功能或者控制逻辑。设备的数量可以是一个,也可以是多个。为了便于描述,以下以设备102为例对设备进行描述。应理解,在某些应用场景、或某些网络类型中,具备相类似功能的设备,其名称也可能不称为设备,本申请实施例提供的方案对于可部署应用的设备均适用。另外,本申请下文中的目标设备,包含一个或者多个设备,例如,目标设备可以为设备102。可选的,目标设备还可以为系统中满足某一条件的设备,例如,某一个租户所管理的设备、或者用户所选择的设备、或者位于某一位置的设备。A device is a device with computing and communication capabilities that is used to complete several business functions or control logic. The number of devices can be one or multiple. For convenience of description, device 102 is used as an example to describe the device below. It should be understood that in certain application scenarios or certain network types, the names of devices with similar functions may not be called devices. The solutions provided by the embodiments of this application are applicable to devices that can deploy applications. In addition, the target device below in this application includes one or more devices. For example, the target device may be device 102. Optionally, the target device can also be a device in the system that meets a certain condition, for example, a device managed by a certain tenant, a device selected by the user, or a device located at a certain location.
示例性地,设备102可以位于网络的边缘或者网络的端点上。以下对这两种方案进行介绍:For example, device 102 may be located at the edge of a network or at an endpoint of a network. The two options are introduced below:
作为一种可能的方案,设备102可以包含网络中的边缘设备(edge device)。边缘设备是提供网络入口点的设备。例如:电子设备可以包含路由器、路由交换机、集成接入设备(integrated access device,IAD)、多路复用器、城域网(metropolitan area network,MAN)接入设备或广域网(wide area network,WAN)接入设备等中的一项或者多项。As a possible solution, the device 102 may include an edge device in the network. Edge devices are devices that provide an entry point into a network. For example, electronic equipment may include routers, routing switches, integrated access devices (IADs), multiplexers, metropolitan area network (MAN) access devices, or wide area networks (WAN) ) one or more of the access devices, etc.
作为又一种可能的方案,设备102可以包含网络中的终端设备。终端可以看作是网络的端点,通常作为输入和/或输出设备。本申请实施例中的电子设备可以应用于多种应用场景中,例如以下应用场景:智能楼宇、智慧城市、智慧家庭、工业互联网、车联网、工业控制、无人驾驶、运输安全、或物联网(internet of things,IoT)等。例如,电子设备包含但不限于家居设备(智能电视、智能冰箱、或智能安防设备等)、计算机、手持设备(例如平板、或手机等)、可穿戴设备(智能眼睛、或智能手表等)、传感器(例如相机、激光雷达、或毫米波雷达等)、娱乐设备(点歌设备、虚拟现实设备、或游戏机等)、移动工具(车辆、飞机、船舶、或无人机等)等。As another possible solution, the device 102 may include a terminal device in the network. Terminals can be thought of as endpoints of a network, typically acting as input and/or output devices. The electronic devices in the embodiments of this application can be used in a variety of application scenarios, such as the following application scenarios: smart buildings, smart cities, smart homes, industrial Internet, Internet of Vehicles, industrial control, driverless driving, transportation safety, or the Internet of Things (Internet of things, IoT), etc. For example, electronic devices include but are not limited to home devices (smart TVs, smart refrigerators, or smart security devices, etc.), computers, handheld devices (such as tablets, or mobile phones, etc.), wearable devices (smart eyes, or smart watches, etc.), Sensors (such as cameras, lidar, or millimeter-wave radar, etc.), entertainment equipment (karaoke equipment, virtual reality equipment, or game consoles, etc.), mobile tools (vehicles, aircraft, ships, or drones, etc.), etc.
作为一种可能的实施方案,设备102可以用于以下业务功能中的一项或者多项:As a possible implementation, the device 102 can be used for one or more of the following business functions:
变风量(variable air volume,VAV)系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、或电气设备控制等。Variable air volume (VAV) system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, or electrical equipment control, etc.
可选的,业务管理系统10还可以包含用户设备103。用户设备103是与用户进行交互的设备,具有输出/输出能力、计算能力,能够向呈现界面,并接收用户输入的数据。示例性地,用户设备103能够向用户呈现组件编排界面,用户可以在组件编排界面中选择控制组件、编排控制组件等。用户设备103接收用户输入的对控制组件的编排,将在所述组件编排界面中编排的控制组件提供给云端101。Optionally, the service management system 10 may also include user equipment 103. The user device 103 is a device that interacts with the user, has output/output capabilities, computing capabilities, can present an interface, and receive data input by the user. For example, the user device 103 can present a component arrangement interface to the user, in which the user can select control components, arrange control components, etc. The user device 103 receives the arrangement of control components input by the user, and provides the control components arranged in the component arrangement interface to the cloud 101 .
可选的,用户设备102例如可以包括手持终端、可穿戴设备、车辆、机器人等独立设备,也可以是包含在独立设备中的部件(例如芯片或集成电路)。示例性地,当终端装置为手持终端时,可以是手机(mobile phone)、平板电脑(pad)、电脑(如笔记本电脑、掌上电脑等)等。可选的,用户设备的数量也可以是一个,也可以是多个,本申请对用户设备的数量不做限制。Optionally, the user equipment 102 may include, for example, a handheld terminal, a wearable device, a vehicle, a robot, and other independent devices, or may be a component (such as a chip or an integrated circuit) included in an independent device. For example, when the terminal device is a handheld terminal, it may be a mobile phone (mobile phone), a tablet computer (pad), a computer (such as a notebook computer, a handheld computer, etc.). Optionally, the number of user equipment may be one or multiple. This application does not limit the number of user equipment.
需要说明的是,上述云端与设备之间、设备与设备之间、云端与用户设备之间,可以通过有线、无线或者有线和无线结合的方式进行通信。It should be noted that the above-mentioned communication between the cloud and the device, between the device and the device, and between the cloud and the user device can be carried out through wired, wireless or a combination of wired and wireless.
例如,云端101可以通过无线通信技术与设备102通信。无线通信技术包含但不限于是全球移动通信系统(global system for mobile communications,GSM)、通用分组无线业务(general packet radio service,GPRS)、通用移动通信系统(universal mobile telecommunications System,UMTS),LTE,超文本传输协议(hypertext transfer protocol,HTTP)、车载以太网(scalable service-oriented middleware over IP,SOME/IP)或5G等无线接入类型技术。For example, cloud 101 may communicate with device 102 through wireless communication technology. Wireless communication technologies include but are not limited to global system for mobile communications (GSM), general packet radio service (GPRS), universal mobile telecommunications system (UMTS), LTE, Wireless access type technologies such as hypertext transfer protocol (HTTP), vehicle Ethernet (scalable service-oriented middleware over IP, SOME/IP) or 5G.
本申请实施例中,云端101可以用来控制设备的业务功能,云端101可以连通需求端(如用户设备103)和目的端(如设备102)。一方面,云端101向需求端提供业务控制逻辑的编排功能和编排组件,使得需求端的用户可以基于对目的端的控制需求来可视化的开发应用,降低开发的门槛、减少成本,提高应用开发的效率;另一方面,云端101将用户编排的应用部署在目的端中,无需线下安装调试应用,也可以及时在云端对电子设备中的应用进行部署,从而便捷地控制互联网中的设备的功能。In the embodiment of this application, the cloud 101 can be used to control the business functions of the device, and the cloud 101 can connect the demand end (such as the user equipment 103) and the destination end (such as the device 102). On the one hand, Cloud 101 provides the orchestration function and orchestration components of business control logic to the demand side, so that users on the demand side can visually develop applications based on the control requirements of the destination side, lowering the development threshold, reducing costs, and improving the efficiency of application development; On the other hand, Cloud 101 deploys user-orchestrated applications on the destination, eliminating the need to install and debug applications offline. It can also deploy applications in electronic devices in the cloud in a timely manner, thereby conveniently controlling the functions of devices on the Internet.
为了便于理解,以下示例性地描述两种本申请实施例的应用场景。To facilitate understanding, two application scenarios of the embodiments of the present application are exemplarily described below.
图2A展示了本申请实施例在一种云边协同场景下的系统架构示意图。网络中的路由器即为前述的设备。路由器可以为网络提供路由、转发功能,路由器的功能实现可以通过应用来实现。在路由器中部署应用的便捷程度,将直接影响网络的服务质量。而通过本申请实施例提供的方案,云端可以基于编排组件得到需要部署在路由器中的应用,将应用的元数据和组件提供给路由器,如此即完成了应用的部署。这样的部署方式无需线下安装调试应用,也不需要更换路由器的硬件固件,实现了对路由器业务功能的便捷控制,保障了网络的服务质量。Figure 2A shows a schematic diagram of the system architecture in a cloud-edge collaboration scenario according to the embodiment of the present application. The router in the network is the aforementioned device. Routers can provide routing and forwarding functions for the network, and the functions of the router can be realized through applications. The convenience of deploying applications in routers will directly affect the service quality of the network. Through the solution provided by the embodiments of this application, the cloud can obtain the application that needs to be deployed in the router based on the orchestration component, and provide the metadata and components of the application to the router, thus completing the deployment of the application. This deployment method does not require offline installation and debugging of applications, nor does it require replacement of the router's hardware firmware. It enables convenient control of the router's business functions and ensures network service quality.
图2B展示了本申请实施例在又一种云边端协同场景下的系统架构示意图。网络中的边缘设备和终端即为前述的设备。楼栋中包含多个终端,这多个终端在多个空间中完成其业务功能。终端在完成业务功能时涉及多种对传感器、逻辑门、电气组件的控制,应用开发过程中的安全性和专业性要求高。通过本申请实施例,终端涉及的功能代码块被封装为控制组件,使得用户能够灵活地基于可视化的控制组件来安全且合理地生成应用,提升代码开发效率。在无需更换硬件固件的情况下,就能够通过云端下载并更新现场控制器(DDC)内的控制逻辑程序,提升了用户体验。Figure 2B shows a schematic diagram of the system architecture in another cloud-edge-device collaboration scenario according to the embodiment of the present application. Edge devices and terminals in the network are the aforementioned devices. The building contains multiple terminals, and these terminals complete their business functions in multiple spaces. When completing business functions, the terminal involves a variety of controls on sensors, logic gates, and electrical components. The application development process requires high security and professionalism. Through the embodiments of this application, functional code blocks involved in the terminal are encapsulated as control components, allowing users to flexibly generate applications safely and reasonably based on visual control components, improving code development efficiency. Without changing the hardware firmware, the control logic program in the field controller (DDC) can be downloaded and updated through the cloud, which improves the user experience.
以下以图1所示的实施例为基础,对一些可能的设计进行说明。Some possible designs are described below based on the embodiment shown in Figure 1 .
在一种可能的设计中,云端可以向设备提供运行引擎实例,运行引擎实例用于提供应用运行的隔离环境。运行引擎实例能够通过业务的业务流程和应用所依赖的组件来运行应用。这样就通过运行引擎实例实现了组件在不同的应用之间的复用,对于依赖相同组件的应用,设备无需获取多个相同的组件,从而进一步提高应用运行效率,提升设备的服务质量。In one possible design, the cloud can provide a running engine instance to the device, and the running engine instance is used to provide an isolation environment for application running. A runtime engine instance can run an application through the business processes and components on which the application depends. In this way, components are reused between different applications through running engine instances. For applications that rely on the same components, the device does not need to obtain multiple identical components, thereby further improving application operating efficiency and improving the service quality of the device.
下面提供一种示例性的运行引擎实例的架构。如图3所示是本申请实施例提供的一种可能的运行引擎实例的结构示意图。运行引擎实例可以包含基础指令模块、上行指令模块、下行指令模块和引擎核心模块等。本申请实施例通过将引擎提供的服务分为不同的模块,可以让每个模块各司其职地完成控制、通信流程,实现目标设备与云端的交互,提升用户体验,提高业务实现效率和系统稳定性。An exemplary architecture for running an engine instance is provided below. Figure 3 shows a schematic structural diagram of a possible running engine example provided by the embodiment of the present application. A running engine instance can include a basic instruction module, an uplink instruction module, a downlink instruction module, an engine core module, etc. The embodiment of this application divides the services provided by the engine into different modules, allowing each module to perform its own duties to complete the control and communication process, realize the interaction between the target device and the cloud, improve user experience, and improve business implementation efficiency and system stability.
下面对运行引擎实例中各个模块的功能进行介绍:The functions of each module in the running engine instance are introduced below:
(1)基础指令模块,用于控制上行指令流和下行指令流的安装,例如,基础指令模块中包含指令管理流程,通过指令管理流程来控制指令流。可选的,基础指令流程中可以是固化 流程,例如,在运行引擎实例发布(或注册)后不可更新。(1) The basic command module is used to control the installation of the upstream command flow and the downstream command flow. For example, the basic command module contains the command management process, and the command flow is controlled through the command management process. Optionally, the basic instruction process can be a solidified process. For example, it cannot be updated after the running engine instance is released (or registered).
(2)上行指令模块,用于处理上行指令,例如上行指令打包、发送等。(2) The uplink command module is used to process uplink commands, such as packaging and sending of uplink commands.
示例性的,上行指令可以包含引擎注册指令、组件请求指令(或组件安装指令)、日志上传指令和心跳保持指令等中的一项或者多项。云端通过上行指令可以获取目标设备的当前状态,便于云端管理目标设备。例如,通过运行引擎实例的引擎注册指令,服务器可以订阅记录该运行引擎的注册信息。再如,通过组件安装请求指令,服务器可以向运行引擎实例下发对应的组件。再如,通过日志上传指令,服务器可以记录运行引擎实例的运行日志,便于故障检查、版本回溯等。类似的,通过心跳保持指令,服务器可以与运行引擎实例保持连接,记录运行引擎实例的在线状态。For example, the uplink command may include one or more of an engine registration command, a component request command (or a component installation command), a log upload command, a heartbeat maintenance command, and the like. The cloud can obtain the current status of the target device through uplink commands, making it easier for the cloud to manage the target device. For example, through the engine registration directive of a running engine instance, the server can subscribe to record the registration information of the running engine. For another example, through the component installation request command, the server can deliver the corresponding component to the running engine instance. For another example, through the log upload command, the server can record the running log of the running engine instance to facilitate fault checking, version backtracking, etc. Similarly, through the heartbeat keep command, the server can maintain a connection with the running engine instance and record the online status of the running engine instance.
可选的,引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、或内核版本等。Optionally, the engine registration instruction includes one or more of the following information: license, hardware platform instruction set, CPU architecture of the at least one central processor running the engine instance, attributes of the operating system, or kernel version, etc.
可选的,心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况、或本地可用于节点安装和流程安装的空间大小等。Optionally, the heartbeat retention instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the space usage in the at least one running engine instance, or the local available node installation and the space size for process installation, etc.
(3)下行指令模块,用于处理下行指令。进一步的,下行指令模块还可以调用通信接口执行指令,此处的通信接口由引擎核心模块提供。(3) Downlink instruction module, used to process downlink instructions. Furthermore, the downstream instruction module can also call the communication interface to execute instructions. The communication interface here is provided by the engine core module.
为了便于理解,以下示例性地列举一些可能的下行指令:For ease of understanding, some possible downward instructions are exemplarily listed below:
a.组件管理指令。例如,用于实现以下功能的指令:修改组件的内容、更新组件版本、安装组件、卸载组件等。a. Component management instructions. For example, instructions used to implement the following functions: modify the content of the component, update the component version, install the component, uninstall the component, etc.
b.APP管理指令。例如,用于实现以下功能的指令:编辑APP的业务流程、设置APP依赖的组件、安装APP、卸载APP、查询已经安装的APP、修改APP的属性、获取APP的运行状态等。b.APP management instructions. For example, instructions used to implement the following functions: edit the business process of the APP, set the components that the APP depends on, install the APP, uninstall the APP, query the installed APP, modify the properties of the APP, obtain the running status of the APP, etc.
c.引擎管理指令。例如,用于实现以下功能的指令:修改运行引擎实例的配置参数、重启运行引擎实例等。c. Engine management instructions. For example, instructions used to implement the following functions: modify the configuration parameters of the running engine instance, restart the running engine instance, etc.
d.流程管理指令。例如,用于实现以下功能的指令:修改发送上行指令的流程、修改下行指令的流程、应用对应的业务流程的增、删、改、查、停止、启动、或重启等。d. Process management instructions. For example, instructions used to implement the following functions: modify the process of sending uplink instructions, modify the process of downlink instructions, add, delete, modify, check, stop, start, or restart the corresponding business process of the application, etc.
e.心跳间隔设置指令。例如,运行引擎实例原本设置为每分钟发送一次心跳保持消息,云端可以通过心跳间隔设置指令,修改心跳保持消息的发送频率,以适应运行引擎实例的当前负载情况。e. Heartbeat interval setting instructions. For example, the running engine instance is originally set to send heartbeat keep messages once every minute. The cloud can use the heartbeat interval setting instructions to modify the frequency of sending heartbeat keep messages to adapt to the current load of the running engine instance.
f.上行通道配置参数管理指令,用于配置信道相关参数。例如,用于实现以下功能的指令:修改无线信道的频域、时域等。f. Uplink channel configuration parameter management instructions are used to configure channel-related parameters. For example, instructions used to implement the following functions: modify the frequency domain, time domain, etc. of the wireless channel.
(4)引擎核心模块,用于实现运行引擎的核心功能。引擎核心模块包含基础管理模块(或称引擎基础管理模块)、执行器、通用服务模块和文件系统等中的一项或者多项。(4) Engine core module, used to implement the core functions of running the engine. The engine core module includes one or more of the basic management module (or engine basic management module), executor, general service module and file system.
其中,基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源、或配置引擎参数等。作为一种可能的方案,基础管理模块可以包含引擎配置参数管理、组件管理、许可证管理、流程(Flow)管理、引擎通信接口管理、或APP管理等中的一项或者多项。其中,引擎配置参数包含运行引擎实例中的配置参数,例如:日志等级等。引擎配置参数管理模块用于配置引擎的各项参数。组件管理用于管理运行引擎可用的组件资源。许可证管理了运行引擎的权限、许可证等。流程管理用于支持运行引擎的运行流程。APP管理用于管理运行引擎实例可用的应用。可选的,引擎通信接口仅供本地调用。The basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module, or configure engine parameters, etc. As a possible solution, the basic management module may include one or more of engine configuration parameter management, component management, license management, process (Flow) management, engine communication interface management, or APP management. Among them, the engine configuration parameters include configuration parameters in the running engine instance, such as: log level, etc. The engine configuration parameter management module is used to configure various parameters of the engine. Component management is used to manage component resources available to the runtime engine. The license manages the permissions, licenses, etc. to run the engine. Process management is used to support the running process of the running engine. APP management is used to manage the applications available to the running engine instance. Optional, the engine communication interface can only be called locally.
执行器用于执行与应用运行相关的操作。例如,元数据加载、组件实例化、流程实例化、 APP的解析执行。可选的,控制组件对应存在API注册接口,以供控制组件在加载时向运行引擎实例注册组件信息。Executors are used to perform operations related to application running. For example, metadata loading, component instantiation, process instantiation, and APP parsing execution. Optionally, the control component has an API registration interface corresponding to it, so that the control component can register component information with the running engine instance when loading.
可选的,执行器还可以包含上下文模块,上下文模块用于记录应用相关的数据、状态等。一种可能的方案中,上下文模块可以记录(或存储)应用当前的数据和状态,当应用恢复运行时,从上下文模块即可读取之前保存的数据和状态,从而继续之前业务,而无需重新加载应用。Optionally, the executor can also include a context module, which is used to record application-related data, status, etc. In one possible solution, the context module can record (or store) the current data and status of the application. When the application resumes running, the previously saved data and status can be read from the context module, thereby continuing the previous business without restarting. Load the application.
作为一种可能的方案,运行引擎实例在运行应用时,执行器加载应用对应的元数据,将应用依赖的组件实例化、将应用对应的业务流程实例化,从而实现应用的解析执行。在应用运行的过程中,通过上下文模块记录应用运行的状态,便于保存当前应用运行状态。As a possible solution, when the running engine instance runs the application, the executor loads the metadata corresponding to the application, instantiates the components the application depends on, and instantiates the business process corresponding to the application, thereby realizing parsing and execution of the application. During the application running process, the context module records the application running status to facilitate saving of the current application running status.
运行环境参数提供实例化配置参数功能,供引擎初始化使用。The running environment parameters provide the function of instantiating configuration parameters for engine initialization.
通用服务模块用于提供引擎中各模块需要的通用功能,如日志、对消息(Message)的通用处理功能等。例如,通用服务模块可以管理日志和消息。The general service module is used to provide general functions required by each module in the engine, such as logging, general processing functions for messages, etc. For example, a common service module can manage logs and messages.
文件系统负责数据持久化存储和数据读取。The file system is responsible for persistent data storage and data reading.
在一种可能的设计中,在编译运行引擎实例时,可以选择不同的编译脚本,以编译生成基于不同基础库的引擎。In one possible design, when compiling and running an engine instance, different compilation scripts can be selected to compile and generate engines based on different basic libraries.
下面对应用引擎实例的部署环境进行说明。在一种可能的设计中,运行引擎实例部署在所述设备的容器中。如图4所示是本申请实施例提供的又一种可能的业务管理系统的架构示意图。设备中配置有一个或者多个容器,如虚拟化容器1、虚拟化容器2。其中,运行引擎实例部署在虚拟化容器1中。The following describes the deployment environment of the application engine instance. In one possible design, the runtime engine instance is deployed in a container of the device. Figure 4 shows an architectural schematic diagram of yet another possible business management system provided by an embodiment of the present application. The device is configured with one or more containers, such as virtualization container 1 and virtualization container 2. Among them, the running engine instance is deployed in virtualization container 1.
如图4所示,虚拟化化容器1中具有与其他环境隔离的计算资源和存储资源,如虚拟化容器1中具有独立的中央处理器(central processing unit,CPU,一种计算资源)、内存(一种存储资源)、存储(一种存储资源)、和组件资源(如组件库)等中的一项或者多项。As shown in Figure 4, virtualization container 1 has computing resources and storage resources isolated from other environments. For example, virtualization container 1 has an independent central processing unit (CPU, a computing resource), memory One or more of (a storage resource), storage (a storage resource), and component resources (such as component libraries).
可以看出,通过虚拟化容器,可以使得在设备中配置应用时,不受到其他环境的影响。例如,虚拟化容器2中APP3(或APP4)的部署、卸载等操作,难以影响到虚拟化容器1,从而增强运行引擎实例及其中的应用的可移植性和安全性,并提高系统资源利用率。It can be seen that by virtualizing containers, you can configure applications in the device without being affected by other environments. For example, operations such as deployment and uninstallation of APP3 (or APP4) in virtualized container 2 are difficult to affect virtualized container 1, thereby enhancing the portability and security of the running engine instance and the applications in it, and improving system resource utilization. .
作为一种可能方案,运行引擎实例可以基于APP的业务流程和APP依赖的组件来运行应用。如,图4所示的APP1依赖组件a、组件b、组件c,则运行引擎可以基于APP1的业务流程和组件a、组件b、组件来运行有APP1。类似地,图4所示的APP2依赖组件b、组件c、组件d,则运行引擎可以基于APP2的业务流程和组件b、组件c、组件d来运行有APP1。可以看出,组件b、组件c在不同的APP之间可以复用,从而减小了APP所占用的空间大小,适用于资源受限的节点,提高了应用部署效率。As a possible solution, the running engine instance can run the application based on the business process of the APP and the components that the APP depends on. For example, APP1 shown in Figure 4 depends on component a, component b, and component c. The running engine can run APP1 based on the business process of APP1 and components a, component b, and component c. Similarly, APP2 shown in Figure 4 depends on component b, component c, and component d, then the running engine can run APP1 based on the business process of APP2 and components b, component c, and component d. It can be seen that component b and component c can be reused between different APPs, thereby reducing the space occupied by the APP, suitable for nodes with limited resources, and improving application deployment efficiency.
可选的,设备中还可以包含一个或者多个与业务功能相关的管理进程,例如,图4示例性的展示了设备所包含的区域网(field area network,FAN)网络管理、广域网(wide area network,WAN)网络管理、固件管理、容器管理。Optionally, the device may also contain one or more management processes related to business functions. For example, Figure 4 exemplarily shows the field area network (FAN) network management and wide area network (wide area) included in the device. network, WAN) network management, firmware management, container management.
作为一种可能的方案,当运行引擎实例部署在不同的设备中,可能具有不同的特征。例如,边侧引擎运行在边缘设备中,是边缘设备的App的运行环境,提供APP的部署、升级和运维支持等能力;边侧引擎支持Linux、Windows操作系统,支持部署在虚拟机(Virtual Machine,VM)和容器中。再如,端侧引擎运行在终端中(如单片机、或嵌入式系统的等),是终端的App的运行环境,提供APP的部署、升级和运维支持等能力,支持LiteOS、嵌入式Linux操作系统。As a possible solution, when runtime engine instances are deployed on different devices, they may have different characteristics. For example, the edge engine runs in the edge device and is the operating environment of the edge device's App, providing APP deployment, upgrade, operation and maintenance support and other capabilities; the edge engine supports Linux and Windows operating systems, and supports deployment in virtual machines (Virtual machines). Machine, VM) and containers. For another example, the terminal-side engine runs in the terminal (such as a microcontroller or an embedded system, etc.) and is the operating environment of the terminal's App. It provides capabilities such as deployment, upgrade and operation and maintenance support of the App, and supports LiteOS and embedded Linux operations. system.
在一些可能的实施方式中,云端可以对运行引擎实例进行控制。示例性的,控制所述运行引擎实例包含以下操作的一项或者多项:修改运行引擎实例的配置、重启运行引擎实例、对所述运行引擎实例进行补丁升级、同步运行引擎实例中的应用等。以下对云端控制运行引擎实例的案例进行介绍:In some possible implementations, the cloud can control the running engine instance. Exemplarily, controlling the running engine instance includes one or more of the following operations: modifying the configuration of the running engine instance, restarting the running engine instance, performing patch upgrades on the running engine instance, synchronizing applications in the running engine instance, etc. . The following is an introduction to the case of cloud control running engine instance:
案例1,云端可以修改运行引擎实例的配置。考虑一种可能的情况,由于不同的电子设备可能具有不同的硬件设施,其能够提供给运行引擎实例资源存在差异,可能使得部署在不同设备中的运行引擎实例负载不一致,通过本申请实施例,可以通过修改运行引擎实例的配置来提升系统的灵活性和可操作性,提升用户体验。Case 1, the cloud can modify the configuration of the running engine instance. Consider a possible situation. Since different electronic devices may have different hardware facilities, there are differences in the resources they can provide to running engine instances, which may cause inconsistent loads of running engine instances deployed in different devices. Through the embodiments of this application, You can improve the flexibility and operability of the system and improve user experience by modifying the configuration of the running engine instance.
案例2,云端可以重启运行引擎实例。例如,云端向目标设备发送重启指令,相应的,目标设备接收重启指令、重启目标设备种的运行引擎实例。考虑一种可能的情况,由于设备中运行引擎实例出现故障或者无法同步的情况,云端可以通过重启,来重新装载运行引擎实例,提升系统的灵活性和可操作性。在一些场景中,还可以避免因为应用运行卡顿或者死循环而使得设备失去控制。Case 2, the cloud can restart the running engine instance. For example, the cloud sends a restart command to the target device, and accordingly, the target device receives the restart command and restarts the running engine instance of the target device. Consider a possible situation where the running engine instance in the device fails or cannot be synchronized. The cloud can reload the running engine instance by restarting to improve the flexibility and operability of the system. In some scenarios, it can also avoid losing control of the device due to application lags or endless loops.
案例3,云端可以对所述运行引擎实例进行补丁升级。例如,云端向目标设备发送运行引擎实例的补丁,相应的,目标设备接收运行引擎实例的补丁,通过补丁消除运行引擎示例中的漏洞或者提升运行引擎实例的性能。Case 3: The cloud can perform patch upgrades on the running engine instance. For example, the cloud sends a patch for the running engine instance to the target device. Correspondingly, the target device receives the patch for the running engine instance, and uses the patch to eliminate vulnerabilities in the running engine instance or improve the performance of the running engine instance.
案例4,云端可以同步运行引擎实例中的应用。例如,云端向运行引擎实例中部署多个应用或者云端升级运行引擎实例中的应用等。Case 4, the cloud can synchronize the applications in the engine instance. For example, the cloud deploys multiple applications to the running engine instance or the cloud upgrades the applications in the running engine instance.
在一种可能的实施方式中,云端可以对运行引擎示例中的应用进行管理。例如,云端获取运行引擎实例中的应用的运行状态。如此,云端可以分析应用运行过程中的有用信息,监控应用运行的过程,便于监控设备的业务功能实现情况。再如,云端可以向设备发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。In one possible implementation, the cloud can manage applications in the running engine instance. For example, the cloud obtains the running status of the application in the running engine instance. In this way, the cloud can analyze useful information during application operation, monitor the application operation process, and facilitate monitoring of the implementation of the device's business functions. For another example, the cloud can send application management information to the device, and the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
在一种可能的实施方式中,云端可以在所述目标设备中的运行引擎实例中部署运行态应用。如此,云端可以将运行态APP以提交任务的方式批量下部署在运行引擎实例中。In a possible implementation, the cloud can deploy the running application in the running engine instance in the target device. In this way, the cloud can deploy running APPs in batches in the running engine instance by submitting tasks.
具体的,APP有多种状态,例如,未安装、已安装、运行中等状态。其中,运行态APP是处于运行状态的APP,其部分流程已经执行。在上述实施方式中,云端提供了运行态APP的管理功能,可以将运行态APP以提交任务的方式批量下部署在运行引擎实例中。Specifically, the APP has multiple states, such as not installed, installed, and running. Among them, the running APP is an APP in a running state, and part of its process has been executed. In the above embodiment, the cloud provides a management function for running APPs, and running APPs can be deployed in batches in running engine instances by submitting tasks.
作为一种可能的方案,可以先将APP在某一运行引擎实例上,再根据需求,将运行引擎实例部署另一运行引擎实例中。如此,可以先通过某一个(或某几个)运行引擎实例来验证APP功能,在运行符合期望时,再迁移到其他运行引擎实例中。As a possible solution, you can first deploy the APP on a certain running engine instance, and then deploy the running engine instance to another running engine instance according to requirements. In this way, you can first verify the APP function through a certain (or several) running engine instance, and then migrate to other running engine instances when the operation meets expectations.
可选的,云端还可以记录部署了某一应用的引擎列表,以及部署应用的日志,便于管理、查看,提升系统的稳定性。Optionally, the cloud can also record the engine list where a certain application is deployed, as well as the logs of the deployed application, to facilitate management and viewing, and improve the stability of the system.
进一步的,云端能够提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。如此便于分析应用运行过程中的有用信息,监控应用运行的过程,便于监控设备的业务功能实现情况。Further, the cloud can provide a user interface for the running application, and the user interface is used to display the running results of the running application. This makes it easy to analyze useful information during the application running process, monitor the application running process, and monitor the implementation of the business functions of the device.
上面对运行引擎实例的架构以及云端对运行引擎的管理进行了介绍,以下介绍一些可能的云端的架构。The architecture of the running engine instance and the management of the running engine in the cloud are introduced above. The following introduces some possible cloud architectures.
在一种可能的设计中,云端可以包含多个功能层,多个功能层分别用来提供多种服务, 使得云端支持对设备的业务功能控制。图5所示是本申请提供的一种可能的业务管理装置的架构示意图,该业务管理装置可以包含前述的云端,或者,该业务管理装置可以包含于云端中。In one possible design, the cloud can include multiple functional layers, and the multiple functional layers are used to provide multiple services respectively, so that the cloud supports business function control of the device. Figure 5 shows an architectural schematic diagram of a possible service management device provided by this application. The service management device may include the aforementioned cloud, or the service management device may be included in the cloud.
如图5所示的业务管理装置具有多个功能层,其中,开发设计层用于提供组件编排界面和控制组件资源,服务层用于在目标设备中部署应用,运维层用于管理所述目标设备中的应用的运行环境和运行状态。The business management device as shown in Figure 5 has multiple functional layers, among which the development and design layer is used to provide component orchestration interfaces and control component resources, the service layer is used to deploy applications in target devices, and the operation and maintenance layer is used to manage the The running environment and running status of the application on the target device.
作为一种可能的实施方式,开发设计层可以包含APP开发、组件开发和应用管理模块,其中,APP开发模块可以实现APP的业务流程设计、服务组件设计、业务规则、UI块(block)、或业务变量配置等功能。其中,业务流程设计可以用于设计APP的控制组件之间的调用关系、传递关系、数据流向、或需要执行控制组件的哪一个代码片段等。组件开发模块可以用获取元数据或者原生代码等,通过或许的组件开发服务生成组件。当然,组件开发模块中还可以提供组件设计工具、开源组件等,便于用户获取、生成控制组件。组件开发模块还提供安装升级的功能,便于用户根据自己的需求对组件进行更新、配置。应用管理模块用于对设计开发的应用进行管理,可选实现对开发资源的管理、协助引擎的运维过程。As a possible implementation, the development and design layer can include APP development, component development and application management modules, where the APP development module can implement the APP's business process design, service component design, business rules, UI blocks, or Business variable configuration and other functions. Among them, business process design can be used to design the calling relationship, transfer relationship, data flow direction between the control components of the APP, or which code fragment of the control component needs to be executed, etc. The component development module can obtain metadata or native code, etc., and generate components through possible component development services. Of course, the component development module can also provide component design tools, open source components, etc. to facilitate users to obtain and generate control components. The component development module also provides the function of installation and upgrade, allowing users to update and configure components according to their own needs. The application management module is used to manage designed and developed applications. It can optionally manage development resources and assist in the engine operation and maintenance process.
服务层可以提供以下服务中的一种或多种:业务流程管理服务、边云协同服务、组件开发服务。The service layer can provide one or more of the following services: business process management services, edge-cloud collaboration services, and component development services.
其中,业务流程管理服务包含流程管理、流程测试和元数据混淆等中的一项或者多项服务。流程管理可以用于管理应用对应的业务流程。例如,一个APP中可以包含多个流程,通过流程管理模块可以支持流程增、删、改、查、重启、停止等。流程测试模块用于测试应用的业务流程是否符合预期。元数据混淆模块用于打乱元数据,避免源代码泄露,提升安全性。Among them, business process management services include one or more services in process management, process testing, and metadata obfuscation. Process management can be used to manage the business processes corresponding to applications. For example, an APP can contain multiple processes, and the process management module can support process addition, deletion, modification, check, restart, stop, etc. The process testing module is used to test whether the application's business process meets expectations. The metadata obfuscation module is used to disrupt metadata, avoid source code leakage, and improve security.
边云协同服务可以用来实现引擎注册、引擎运维、流程下发、许可证(License)管理、接入鉴权等功能。Edge-cloud collaborative services can be used to implement engine registration, engine operation and maintenance, process delivery, license management, access authentication and other functions.
组件开发服务可以实现以下功能中的一项或者多项:根据元数据、或原生代码生成组件(如图5所示的“元数据生成组件”服务、“原生代码生成组件”服务)、通过在线工具组件构建服务、组件测试等。可选的,组件开发服务中还包含组件仓库,或者组件开发服务可以与组件仓库建立连接,组件仓库用于存储控制组件。Component development services can implement one or more of the following functions: generating components based on metadata or native code (the "metadata generation component" service and the "native code generation component" service shown in Figure 5), through online Tool component building services, component testing, etc. Optionally, the component development service also includes a component warehouse, or the component development service can establish a connection with the component warehouse, and the component warehouse is used to store control components.
运维层可以提供以下服务中的一种或多种:基础指令流程、引擎注册、组件同步下载、心跳保持、日志上传、或运行引擎核心等模块。其中,运行引擎核心模块中,包含执行器、流程管理、组件管理、或文件系统等。可选的,运行引擎核心模块可以看作是云端中的一种运行引擎实例,可以在云端测试运行引擎或者测试在运行引擎示例中的应用。进一步可选的该运行引擎核心模块所包含的模块可以参考图3所示运行引擎核心模块的功能。The operation and maintenance layer can provide one or more of the following services: basic command process, engine registration, component synchronization download, heartbeat maintenance, log upload, or running engine core and other modules. Among them, the core module of the run engine includes executors, process management, component management, or file systems, etc. Optionally, the core module of the running engine can be regarded as a running engine instance in the cloud. The running engine can be tested in the cloud or the application in the running engine example can be tested. For further optional modules included in the running engine core module, please refer to the functions of the running engine core module shown in Figure 3 .
可选的,云端可以提供基于多种硬件架构或操作系统的运行引擎实例,例如云端支持对具有以下操作系统的设备的管理:Windows、Fedora、EluerOS、Ubuntu、LiteOS、x86、x64、arm64、armv7等。Optionally, the cloud can provide running engine instances based on multiple hardware architectures or operating systems. For example, the cloud supports the management of devices with the following operating systems: Windows, Fedora, EluerOS, Ubuntu, LiteOS, x86, x64, arm64, armv7 wait.
应理解,图5所示是一种示例性的架构描述,不作为对云端的功能的限定。在具体实施过程中,云端可以包含更多或者更少的模块,或者可以提供更多或者更少的服务。It should be understood that what is shown in Figure 5 is an exemplary architectural description and is not intended to limit the functions of the cloud. During the specific implementation process, the cloud can contain more or fewer modules, or can provide more or fewer services.
作为一种可能的方案,云端中还可以包含消息中间件,消息中间件用于支持云端于其他设备的无线通信。As a possible solution, the cloud can also include message middleware, which is used to support wireless communication between the cloud and other devices.
图6所示为本申请实施例提供的又一种可能的业务管理系统的架构示意图,包含外部资源、云端、边缘设备和终端。其中,云端可以通过消息中间件与边缘设备和/或终端通信。可选的,云端与终端通信时,经过边缘设备。Figure 6 shows an architectural schematic diagram of another possible business management system provided by an embodiment of the present application, including external resources, clouds, edge devices and terminals. Among them, the cloud can communicate with edge devices and/or terminals through message middleware. Optionally, when the cloud communicates with the terminal, it passes through the edge device.
在图6所示的系统中云端还可以提供以下服务中的一项或者多项:组件管理、APP管理、组件图形化编排、应用部署升级、引擎实例管理、在线调试、运维管理等中的一项或者多项。可选的,云端还可以通过容器管理工具kubernetes(简称k8s)来提供上述服务。例如,云端可以基于k8s集群、存储资源、网络资源、以及公有云和/或私有云基础设施,来实现其服务。In the system shown in Figure 6, the cloud can also provide one or more of the following services: component management, APP management, component graphical orchestration, application deployment and upgrade, engine instance management, online debugging, operation and maintenance management, etc. One or more items. Optionally, the cloud can also provide the above services through the container management tool kubernetes (k8s for short). For example, the cloud can implement its services based on k8s clusters, storage resources, network resources, and public cloud and/or private cloud infrastructure.
进一步可选的,如图6所示的云端可以与外部资源连接,例如,云端可供以下资源(或服务)接入:外部组件仓库、外部应用仓库、外部公共服务、或第三方对接服务等中的一项或者多项。Further optionally, the cloud as shown in Figure 6 can be connected to external resources. For example, the cloud can provide access to the following resources (or services): external component warehouse, external application warehouse, external public services, or third-party docking services, etc. one or more of them.
如图6所示的云端还可以向边缘设备或终端提供运行引擎实例。示例性的,边缘节点的运行引擎实例中可以包含APP管理模块、调试模块和升级模块,这些模块用于运行和管理应用。边缘设备中还包含软件平台,例如操作系统(例如Linux)、通信协议软件(例如:TCP/IP、MQTT、或COAP等)、容器(docker)。边缘设备中还包含各种硬件基础设施,例如处理器(如CPU)、内存、存储、网络等硬件设施。The cloud as shown in Figure 6 can also provide running engine instances to edge devices or terminals. For example, the running engine instance of the edge node may include an APP management module, a debugging module and an upgrade module, which are used to run and manage applications. Edge devices also include software platforms, such as operating systems (such as Linux), communication protocol software (such as TCP/IP, MQTT, or COAP, etc.), and containers (docker). Edge devices also include various hardware infrastructure, such as processors (such as CPUs), memory, storage, networks and other hardware facilities.
如图6所示的云端可以通过管理通道向边缘节点发送消息或指令。类似的,边缘节点可以通过业务通道向云端发送消息或者指令。可选的,通信通道可以通过边缘节点中的数据通道模块来建立。The cloud as shown in Figure 6 can send messages or instructions to edge nodes through management channels. Similarly, edge nodes can send messages or instructions to the cloud through business channels. Optionally, the communication channel can be established through the data channel module in the edge node.
如图6所示的终端可以包含数据通道模块、运行引擎实例、操作系统和硬件。运行引擎实例中可以包含APP管理解析模块、执行器,这些模块用于运行和管理应用。边缘设备中还包含软件平台,例如操作系统(例如Lite OS)、通信协议软件(例如:TCP/IP、MQTT、或COAP等)、容器(docker)。边缘设备中还包含各种硬件基础设施,例如处理器(如CPU)、内存、存储、网络、传感器、阀门、开关等硬件设施。The terminal shown in Figure 6 can contain data channel modules, runtime engine instances, operating systems, and hardware. The running engine instance can include APP management parsing modules and executors, which are used to run and manage applications. Edge devices also include software platforms, such as operating systems (such as Lite OS), communication protocol software (such as TCP/IP, MQTT, or COAP, etc.), and containers (docker). Edge devices also include various hardware infrastructure, such as processors (such as CPUs), memory, storage, networks, sensors, valves, switches and other hardware facilities.
在云端与终端之间通信时,云端发送给终端的消息或指令可以先发送给边缘节点,由边缘节点转发给终端。类似的,终端发送给云端的消息或指令可以先发送给边缘节点,由边缘节点转发给云端。When communicating between the cloud and the terminal, messages or instructions sent from the cloud to the terminal can be sent to the edge node first, and then forwarded to the terminal by the edge node. Similarly, messages or instructions sent from the terminal to the cloud can be sent to the edge node first, and then forwarded to the cloud by the edge node.
进一步的,终端与边缘设备之间的通信可以通过终端中的数据模块来连接。例如,终端中的数据模块可以用于建立有线、或无线通信链路,例如可以包含基于以下通信技术的链路:家庭智能网关Elink、电力宽带(power line communication,PLC)、无线网络通信技术(如Wi-Fi等)。Further, the communication between the terminal and the edge device can be connected through the data module in the terminal. For example, the data module in the terminal can be used to establish wired or wireless communication links. For example, it can include links based on the following communication technologies: home smart gateway Elink, power broadband (power line communication, PLC), wireless network communication technology ( Such as Wi-Fi, etc.).
在一种可能的实施方式中,云端提供对设备进行控制的方法,可以形成一种云服务提供给用户。例如,用户在云服务之后,云端响应于用户的请求,向用户提供编排界面。相应的,用户所使用的用户设备可以呈现编辑界面,用户设备在提交自己的设计后,云端可以基于用户的需求,对设备所执行的业务进行控制。In a possible implementation, the cloud provides a method for controlling the device, which can form a cloud service provided to the user. For example, after a user provides cloud services, the cloud responds to the user's request and provides the user with an orchestration interface. Correspondingly, the user device used by the user can present an editing interface. After the user device submits its own design, the cloud can control the business performed by the device based on the user's needs.
下面结合附图对本申请实施例的方法流程进行详细说明。请参见图7,图7是本申请实施例提供的一种可能的业务管理方法的流程示意图。可选的,该业务管理方法可以应用于前述的实施例中,例如图1、图2A、图2B、图3、图4、图5或图6所示的实施例。The method flow of the embodiments of the present application will be described in detail below with reference to the accompanying drawings. Please refer to Figure 7, which is a schematic flowchart of a possible service management method provided by an embodiment of the present application. Optionally, the service management method can be applied to the aforementioned embodiments, such as the embodiments shown in Figure 1, Figure 2A, Figure 2B, Figure 3, Figure 4, Figure 5 or Figure 6 .
上述业务管理方法包含步骤701至步骤S704中的一个或者多个步骤。应理解,本申请为了方便描述,故通过S701至S704这一顺序进行描述,并不旨在限定一定通过上述顺序进行执行。本申请实施例对于上述一个或多个步骤的执行的先后顺序、执行的时间、执行的次数等不做限定。S701至步骤S704具体如下:The above-mentioned business management method includes one or more steps from step 701 to step S704. It should be understood that this application describes the sequence of S701 to S704 for convenience of description, and is not intended to limit execution to the above sequence. The embodiments of the present application do not limit the execution sequence, execution time, number of executions, etc. of one or more of the above steps. The details of steps S701 to S704 are as follows:
步骤S701:云端提供组件编排界面和控制组件资源。Step S701: The cloud provides a component orchestration interface and controls component resources.
其中,组件编排界面用于设计应用依赖的组件,而控制组件资源用于供用户选择应用运 行依赖的组件。其中,设计应用依赖的组件时,用户可以在组件编排界面中进行如下操作:添加组件、删除组件、移动组件的位置、编辑组件的属性、设置组件之间的关系、定义组件的参数、缩小展示的内容、放大展示的内容、滑动界面等中的一项或者多项。Among them, the component orchestration interface is used to design the components that the application depends on, while the control component resources are used for users to select the components that the application depends on. Among them, when designing the components that the application depends on, users can perform the following operations in the component arrangement interface: add components, delete components, move the position of components, edit the properties of components, set the relationship between components, define parameters of components, and reduce the display One or more of the content, enlarged display content, sliding interface, etc.
示例性的,请参见图8,图8是本申请实施例提供的一种可能的界面示意图。其中,区域801示例性地展示了一种云端提供的组件编排界面,该组件编排界面可以在用户设备上呈现,用户可以在区域801中通过对组件进行编排,例如,区域803所示的控制组件1为用户放置在编排界面上的一个控制组件。示例性地,用户可以在区域802所示的组件库中,选中某个组件添加到区域801中。再如,用户可以删除某一个控制组件。再如,用户通过移动操作可以更新控制组件的位置、包含关系、或执行顺序等中的一项或者多项。再如,用户可以设置组件之间的数据流向,一种可能的数据流向为控制组件1流向控制组件2。For example, please refer to FIG. 8 , which is a schematic diagram of a possible interface provided by an embodiment of the present application. Among them, area 801 exemplarily shows a component orchestration interface provided by the cloud. The component orchestration interface can be presented on the user device. The user can arrange the components in area 801, for example, the control component shown in area 803. 1 is a control component placed by the user on the orchestration interface. For example, the user can select a certain component in the component library shown in area 802 and add it to area 801. For another example, the user can delete a certain control component. For another example, the user can update one or more of the position, inclusion relationship, or execution order of the control component through a movement operation. For another example, the user can set the data flow direction between components. One possible data flow direction is from control component 1 to control component 2.
控制组件资源用于供用户选择需要使用的控制组件。Control component resources are used for users to select the control components they need to use.
其中,控制组件(node)是用于实现某个或者若干个功能的代码片段或者已编译的二进制文件,通常被预先定义或者被预先封装。例如,应用使用时通常需要进行用户注册,由于用户注册的功能在大多数应用中是类似的,因此可以将注册过程的代码封装为一个控制(register)组件。这样,多个应用即可通过相同的控制组件来完成注册功能,而无需在每个应用中都包装一个注册组件。Among them, the control component (node) is a code fragment or a compiled binary file used to implement one or several functions, and is usually pre-defined or pre-encapsulated. For example, applications usually require user registration. Since the function of user registration is similar in most applications, the code of the registration process can be encapsulated as a control (register) component. In this way, multiple applications can complete the registration function through the same control component without wrapping a registration component in each application.
作为一种可能的方案,组件可以包含数学函数组件、统计组件、定时器组件、比例-积分-微分(proportion integral differential,PID)控制器组件、热力学组件、光学组件或空气质量检测组件等中的一项或者多项。例如,图8所示的区域801示例性地描述了云端提供的函数组件、统计组件、电器组件、PID组件等。As a possible solution, the components may include mathematical function components, statistical components, timer components, proportional-integral-differential (PID) controller components, thermodynamic components, optical components or air quality detection components, etc. One or more items. For example, area 801 shown in Figure 8 exemplarily describes function components, statistical components, electrical components, PID components, etc. provided by the cloud.
由于设备可能涉及多种对传感器、逻辑门、电气组件的控制,应用开发过程中的安全性和专业性要求高,本申请实施例将目标设备涉及的功能代码块封装得到控制组件,使得用户能够灵活地基于可视化的控制组件来安全且合理地生成应用。Since the device may involve a variety of controls on sensors, logic gates, and electrical components, the security and professionalism requirements in the application development process are high. In this embodiment of the present application, the functional code blocks involved in the target device are encapsulated into control components, so that users can Flexibly build applications safely and rationally based on visual control components.
可选的,控制组件对应存在API注册接口,以供控制组件在加载时注册组件信息。Optionally, the control component has an API registration interface corresponding to it, so that the control component can register component information when loading.
在一种可能的实施方式中,本申请实施例可以用于控制目标设备的业务功能,上述控制组件包含符合目标设备的开发标准的控制组件。以目标设备为DDC为例,DDC的开发标准包含其使用的操作系统、计算机语言和通信协议,因此,云端可以提供适用于DDC的开发标准的控制组件,从而使得用于可以通过控制组件来编排部署在DDC中的应用。In a possible implementation, the embodiments of the present application can be used to control the business functions of the target device, and the above control components include control components that comply with the development standards of the target device. Taking the target device as DDC as an example, the development standards of DDC include the operating system, computer language and communication protocol used by it. Therefore, the cloud can provide control components suitable for the development standards of DDC, so that applications can be orchestrated through control components. Applications deployed in DDC.
步骤S702:云端根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据。Step S702: The cloud generates metadata of the target application based on the control components arranged in the component arrangement interface.
元数据是一种用于描述数据属性的信息。目标应用的元数据指示了目标应用的属性,这里的数据包含了目标应用的业务流程。Metadata is information that describes the properties of data. The metadata of the target application indicates the properties of the target application, and the data here contains the business process of the target application.
作为一种可能的方案,元数据可以用来描述控制组件之间的调用关系、传递关系、数据流向关系、或需要执行组件的哪一个代码片段等中的一项或者多项。例如,应用依赖组件来运行,应用的元数据可以包含组件之间的调用逻辑。再如,应用依赖组件来运行,应用的元数据说明了组件的组合顺序等。As a possible solution, metadata can be used to describe one or more of the calling relationships, transfer relationships, data flow relationships between control components, or which code fragment of the component needs to be executed. For example, an application relies on components to run, and the application's metadata can contain the calling logic between components. Another example is that an application depends on components to run, and the metadata of the application describes the order in which components are combined, etc.
在一种可能的设计中,元数据可以包含组件指示信息和流程信息,其中,组件指示信息用于指示应用依赖的多个组件,流程信息用于指示业务的流程。In one possible design, the metadata may include component indication information and process information, where the component indication information is used to indicate multiple components that the application depends on, and the process information is used to indicate the business process.
可选的,组件指示信息用于指示组件的标识(例如ID、名称、或编号等)。可选的,组件指示信息可以包含组件的标识(例如ID、名称、或编号等)。进一步的,组件指示信息还可以包含组件的版本信息。Optionally, the component indication information is used to indicate the identification of the component (such as ID, name, or number, etc.). Optionally, the component indication information may include the identification of the component (such as ID, name, or number, etc.). Furthermore, the component indication information may also include component version information.
可选的,元数据可以有多种格式,例如JavaScript对象简谱(JavaScript object notation,JSON)格式、可扩展标记语言(extensible markup language,XML)、或键-值(key-value,KV)形式等。Optionally, metadata can be in a variety of formats, such as JavaScript object notation (JSON) format, extensible markup language (XML), or key-value (key-value, KV) format, etc. .
图9所示为本申请实施例提供的一种可能的应用的元数据的格式示意图,该元数据采用JSON格式来存储、传输。其中,区域901中的数据用于表示应用的版本(version)和应用的ID,可以看出,应用的版本示例性的可以为“1.0.0”,应用的ID示例性的可以为“b0f629b2.a14ea8”。区域902用于表示应用所依赖的组件(node)的信息。图9所示应用的元数据中,应用所依赖的组件有两个,具体如下:第一个组件的ID为“354d1ebb.a294f4”,组件的类型(type)是注册(register)类型的组件,其附加信息(info)说明了对该组件的描述,该组件的版本为“1.0.0”;第一个组件的ID为“98f67943.f4d2e”,组件的type是应用型(app)组件,其附加信息(info)为空。应理解,图9仅是为了方便描述元数据格式而提供的一种示例性的元数据,不作为对元数据内容和字段数量的限定,具体实施过程中元数据可以包含更多的字段或者更少的字段,其所包含的数据内容也可以有其他设计。Figure 9 shows a schematic diagram of the format of metadata of a possible application provided by the embodiment of the present application. The metadata is stored and transmitted in JSON format. The data in area 901 is used to represent the application version (version) and the application ID. It can be seen that the application version can be, for example, "1.0.0", and the application ID, for example, can be "b0f629b2. a14ea8". Area 902 is used to represent information on components (nodes) on which the application depends. In the metadata of the application shown in Figure 9, there are two components that the application depends on, as follows: the ID of the first component is "354d1ebb.a294f4", and the type of the component is a registration type component. Its additional information (info) describes the description of the component. The version of the component is "1.0.0"; the ID of the first component is "98f67943.f4d2e", and the type of the component is an application (app) component. Additional information (info) is empty. It should be understood that Figure 9 is only an exemplary metadata provided for the convenience of describing the metadata format, and is not intended to limit the content and number of fields of the metadata. During specific implementation, the metadata may include more fields or more fields. For small fields, the data content contained in them can also have other designs.
步骤S703:云端向所述目标设备提供目标应用的元数据。Step S703: The cloud provides metadata of the target application to the target device.
可以理解的,云端向目标设备提供目标应用的元数据,响应的,目标设备则接收云端提供的目标应用的元数据。It can be understood that the cloud provides the metadata of the target application to the target device, and in response, the target device receives the metadata of the target application provided by the cloud.
其中,目标设备是部署目标应用的设备。例如,目标设备可以为边缘设备、或终端等设备等,相关描述可以参考前述架构部分的描述。Among them, the target device is the device where the target application is deployed. For example, the target device may be an edge device or a terminal device, etc. For related description, please refer to the description in the foregoing architecture part.
云端通过向目标设备中部署应用,可以控制目标设备的业务功能。By deploying applications to the target device, the cloud can control the business functions of the target device.
步骤S704:云端向所述目标设备提供目标应用依赖的控制组件。Step S704: The cloud provides the target device with control components that the target application depends on.
具体地,目标应用根据目标应用的业务流程和目标应用依赖的组件来运行,而目标应用的元数据指示了目标应用的业务流程,因此,云端可以向目标设备提供目标应用依赖的控制组件,目标应用依赖的控制组件用于目标设备运行该应用。Specifically, the target application runs according to the business process of the target application and the components that the target application depends on, and the metadata of the target application indicates the business process of the target application. Therefore, the cloud can provide the control components that the target application depends on to the target device. The control components that the application depends on are used on the target device to run the application.
在一种可能的实施方式中,目标应用依赖多个组件,而目标设备中可能已经配置了部分组件。此时,云端可以向目标设备提供缺少的目标组件,使得目标设备可以基于多个控制组件来运行目标应用。如图4所示,云端向目标设备部署APP2时,由于目标设备中已经存在组件b和组件c,云端可以向设备提供缺少的组件d,从而使得目标设备能够运行APP2。如此,通过组件的复用,大大减小了应用部署过程中需要获取的数据大小,提升了应用部署效率,从而提高了对设备进行控制的效率。In a possible implementation, the target application depends on multiple components, and some of the components may have been configured in the target device. At this time, the cloud can provide the missing target components to the target device, so that the target device can run the target application based on multiple control components. As shown in Figure 4, when the cloud deploys APP2 to the target device, since component b and component c already exist in the target device, the cloud can provide the missing component d to the device, so that the target device can run APP2. In this way, through the reuse of components, the size of data that needs to be obtained during application deployment is greatly reduced, and the efficiency of application deployment is improved, thereby improving the efficiency of device control.
图7所示的实施例中,一方面,云端向需求端提供业务控制逻辑的编排功能和编排组件,使得需求端的用户可以基于对目的端的控制需求来可视化的开发应用,降低开发的门槛、减少成本,提高应用开发的效率;另一方面,云端将用户编排的应用部署在目的端(前述的电子设备,例如边缘设备、终端设备)中,无需线下安装调试应用,也可以及时在对电子设备中的部署应用,从而便捷地控制互联网中的设备的功能。In the embodiment shown in Figure 7, on the one hand, the cloud provides the orchestration function and orchestration components of business control logic to the demand side, so that users on the demand side can visually develop applications based on the control requirements for the destination side, lowering the development threshold and reducing cost and improve the efficiency of application development; on the other hand, the cloud deploys user-orchestrated applications on the destination (the aforementioned electronic devices, such as edge devices and terminal devices). There is no need to install and debug the application offline, and it can also be deployed on the electronic device in a timely manner. Deploy applications in devices to conveniently control the functions of devices on the Internet.
例如,以DDC为例,DDC可以通过运行应用,按照应用的指令来执行启动/关闭机器、打开/关闭阀门、打开/关闭阀门等动作。而本申请实施例通过编排控制组件来生成目标应用的业务流程,将业务流程和控制组件提供给DDC,使得DDC根据目标应用来执行动作。这样,用户能够灵活地基于可视化的控制组件来安全且合理地生成应用,提升代码开发效率。实现了在无需更换硬件固件的情况下,通过云端下载并更新现场控制器(DDC)内的控制逻辑程序,提升了用户体验。For example, taking DDC as an example, DDC can execute actions such as starting/stopping machines, opening/closing valves, opening/closing valves, etc. by running the application and following the instructions of the application. The embodiment of the present application generates the business process of the target application by arranging control components, and provides the business process and control components to the DDC, so that the DDC executes actions according to the target application. In this way, users can flexibly generate applications safely and reasonably based on visual control components, improving code development efficiency. It is possible to download and update the control logic program in the field controller (DDC) through the cloud without changing the hardware firmware, which improves the user experience.
下面对本申请实施例的一些可选方案进行进一步说明。应理解,以下方案中未解释到的相关概念、操作或者逻辑关系可以参照图7所示实施例中的相应描述。Some optional solutions in the embodiments of this application are further described below. It should be understood that for relevant concepts, operations or logical relationships that are not explained in the following solutions, refer to the corresponding descriptions in the embodiment shown in FIG. 7 .
在一种可能的实施方式中,云端可以提供应用测试服务。应用测试服务能够根据应用的业务流程,测试应用的运行是否符合预期。如此,本申请实施例可以实现应用云上开发、云上测试、便捷部署,提升应用部署过程的服务质量。In a possible implementation, the cloud can provide application testing services. The application testing service can test whether the application runs as expected based on the application's business process. In this way, the embodiments of the present application can realize application cloud development, cloud testing, and convenient deployment, and improve the service quality of the application deployment process.
在一种可能的实施方式中,云端能够向目标设备提供运行引擎实例。其中,运行引擎实例是一种实例化的运行引擎,提供了应用运行所需的软件环境。运行引擎实例用于根据应用对应的元数据和应用依赖的组件来运行应用,能够实现控制组件的复用,减小应用占用的存储空间。如,图4所示,组件b、组件c在不同的APP之间可以复用,从而减小了APP所占用的空间大小,适用于资源受限的节点,且较少了应用部署时每个应用的安装包大小,从而提高了应用部署效率。另外,对于应用开发人员来说,通过复用既有的组件,可以避免重复开发相同的功能模块,避免人力浪费,而且可以缩短开发周期。In a possible implementation, the cloud can provide a running engine instance to the target device. Among them, the running engine instance is an instantiated running engine, which provides the software environment required for application running. The running engine instance is used to run the application based on the metadata corresponding to the application and the components that the application depends on, which can realize the reuse of control components and reduce the storage space occupied by the application. As shown in Figure 4, component b and component c can be reused between different APPs, thereby reducing the space occupied by the APP, suitable for nodes with limited resources, and reducing the need for each component during application deployment. The size of the application's installation package, thereby improving application deployment efficiency. In addition, for application developers, by reusing existing components, they can avoid repeated development of the same functional modules, avoid waste of manpower, and shorten the development cycle.
在一种可能的实施方式中,云端可以控制设备中的运行引擎实例。图10所示为本申请实施例提供的一种可能的业务管理方法的流程示意图。可选的,该业务管理方法可以应用于前述的实施例中,例如图1、图2A、图2B、图3、图4、图5或图6所示的实施例。图10所示的业务管理方法包含步骤S1001至步骤S1006中的一个或者多个步骤。应理解,本申请为了方便描述,故通过S1001至S1006这一顺序进行描述,并不旨在限定一定通过上述顺序进行执行。本申请实施例对于上述一个或多个步骤的执行的先后顺序、执行的时间、执行的次数等不做限定。S1001至步骤S1006具体如下:In a possible implementation, the cloud can control the running engine instance in the device. Figure 10 shows a schematic flowchart of a possible service management method provided by an embodiment of the present application. Optionally, the service management method can be applied to the aforementioned embodiments, such as the embodiments shown in Figure 1, Figure 2A, Figure 2B, Figure 3, Figure 4, Figure 5 or Figure 6 . The service management method shown in Figure 10 includes one or more steps from step S1001 to step S1006. It should be understood that this application describes the sequence of S1001 to S1006 for convenience of description, and is not intended to limit execution to the above sequence. The embodiments of the present application do not limit the execution sequence, execution time, number of executions, etc. of one or more of the above steps. The details of steps S1001 to S1006 are as follows:
步骤S1001:云端向目标设备提供运行引擎实例。相应的,目标设备接受云端提供的运行引擎实例。Step S1001: The cloud provides a running engine instance to the target device. Accordingly, the target device accepts the runtime engine instance provided by the cloud.
步骤S1002:目标设备向云端发送运行引擎实例的注册消息。相应的,云端接收运行引擎实例的注册消息。Step S1002: The target device sends a registration message for the running engine instance to the cloud. Accordingly, the cloud receives the registration message of the running engine instance.
其中,注册消息中可以包含一下一项或者多项信息:许可证(license)、硬件平台指令集、CPU架构、操作系统、内核版本、glibc版本。Among them, the registration message may contain one or more of the following information: license, hardware platform instruction set, CPU architecture, operating system, kernel version, and glibc version.
可选的,目标设备可以安装运行引擎实例并启动,在启动以后将运行引擎实例注册到云端。Optionally, the target device can install a runtime engine instance and start it, and then register the runtime engine instance to the cloud after startup.
可选的,云端可以为目标设备中的运行引擎实例分配标识,记录运行引擎的标识,便于对运行引擎实例进行管理。进一步的,云端可以向目标设备发送注册返回消息,注册返回消息中包含运行引擎实例的标识(例如ID、编号等)。Optionally, the cloud can assign an identifier to the running engine instance in the target device and record the running engine identifier to facilitate management of the running engine instance. Further, the cloud can send a registration return message to the target device, and the registration return message contains the identification of the running engine instance (such as ID, number, etc.).
步骤S1003(可选):云端订阅运行引擎实例。Step S1003 (optional): Subscribe to the cloud to run the engine instance.
其中,订阅运行引擎实例,用于说明云端关注运行引擎实例的变动,且运行引擎实例可以在一定的时长内向运行引擎发送消息。Among them, subscribing to the running engine instance is used to indicate that the cloud pays attention to changes in the running engine instance, and the running engine instance can send messages to the running engine within a certain period of time.
在一种可能的实施方式中,云端可以与运行引擎实例保持通信长连接。例如,目标设备向云端发送心跳保持指令,从而维持运行引擎实例与云端之间的长连接。In a possible implementation, the cloud can maintain a long communication connection with the running engine instance. For example, the target device sends a heartbeat hold command to the cloud to maintain a long connection between the running engine instance and the cloud.
可选的,心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况等。Optionally, the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the space usage in the at least one running engine instance, etc.
可选的,云端与目标设备之间的通信,可以通过MQTT、COAP等无线通信技术来实现。例如,云端作为MQTT Broker,目标设备作为MQTT客户端,MQTT Broker负责接收来自客户端的网络连接,并处理客户端的订阅/取消订阅、消息发布(Publish)请求。Optionally, communication between the cloud and the target device can be achieved through wireless communication technologies such as MQTT and COAP. For example, the cloud acts as an MQTT Broker and the target device acts as an MQTT client. The MQTT Broker is responsible for receiving network connections from the client and processing the client's subscription/unsubscription and message publishing (Publish) requests.
步骤S1004:云端提供运行引擎实例的管理服务。Step S1004: The cloud provides management services for running engine instances.
作为一种可能的方案,云端提供运行引擎实例的全生命周期管理。As a possible solution, the cloud provides full life cycle management of running engine instances.
可选的,云端能够提供针对运行引擎实例的在线控制功能,支持在云端对运行引擎实例进行编辑、重启、同步APP、或引擎补丁升级等中的一项或者多项。Optionally, the cloud can provide online control functions for running engine instances, supporting one or more of the following: editing, restarting, synchronizing APPs, or engine patch upgrades on the running engine instances in the cloud.
进一步的,云端还可以提供对运行引擎实例的APP的管理功能,能够管理当前运行引擎实例中的APP。例如:获取APP的运行状态、远程卸载APP、或远程下发APP的配置等中的一项或者多项。Furthermore, the cloud can also provide management functions for APPs running engine instances, and can manage APPs currently running engine instances. For example: one or more of the following: obtaining the running status of the APP, remotely uninstalling the APP, or remotely delivering the configuration of the APP.
以下列举几种云端对应用进行管理的设计:Here are several designs for cloud application management:
设计1,云端可以获取应用的运行状态。当应用部署在运行引擎实例上时,云端相应的获取运行引擎实例中的应用的运行状态。如此,云端可以分析应用运行过程中的有用信息,监控应用运行的过程,便于监控设备的业务功能实现情况。Design 1, the cloud can obtain the running status of the application. When an application is deployed on a running engine instance, the cloud correspondingly obtains the running status of the application in the running engine instance. In this way, the cloud can analyze useful information during application operation, monitor the application operation process, and facilitate monitoring of the implementation of the device's business functions.
设计2,云端可以发送应用管理信息(该管理信息可选通过消息携带),应用管理信息用于修改应用的配置,或者,用于卸载运行引擎实例中的应用。由于可以通过消息来控制应用的配置修改、卸载等操作,从而可以在无需更换硬件固件的情况下,就能够更新目标设备的控制逻辑程序,方便对目标设备进行控制。当然,以上列举的两种设计是为了方便理解云端对应用的管理,在具体实施过程中,云端还可以通过别的方式来对目标设备中的应用进行管理。Design 2, the cloud can send application management information (the management information can optionally be carried through messages), and the application management information is used to modify the configuration of the application, or to uninstall the application in the running engine instance. Since the application configuration modification, uninstallation and other operations can be controlled through messages, the control logic program of the target device can be updated without changing the hardware firmware, making it easier to control the target device. Of course, the two designs listed above are to facilitate understanding of the cloud's management of applications. During the specific implementation process, the cloud can also manage applications in the target device in other ways.
作为一种可能的方案,对运行引擎的管理服务可以通过指令形式来实现。如步骤S1005-步骤S1006所示:As a possible solution, the management service of the running engine can be implemented in the form of instructions. As shown in step S1005-step S1006:
步骤S1005:云端向目标设备发送控制指令。Step S1005: The cloud sends control instructions to the target device.
该控制指令用于对运行引擎实例进行控制。例如,指示修改运行引擎的配置。再如,指示目标设备上报运行引擎实例中APP的运行状态。This control instruction is used to control the running engine instance. For example, instructs you to modify the configuration of the running engine. Another example is to instruct the target device to report the running status of the APP in the running engine instance.
步骤S1006:目标设备根据控制指令执行操作。Step S1006: The target device performs operations according to the control instructions.
例如,根据控制指令修改运行引擎的配置。For example, modify the configuration of the running engine according to the control instructions.
再如,相应于控制指令,上报运行引擎实例中APP的运行状态。For another example, corresponding to the control instruction, the running status of the APP in the running engine instance is reported.
应理解,图10所示实施例为云端对运行引擎进行管理的过程的示例性描述,相关描述还可以参考架构部分所列举的云端控制运行引擎实例的案例。It should be understood that the embodiment shown in Figure 10 is an exemplary description of the process of cloud management of the running engine. For related descriptions, reference can also be made to the case of cloud controlling the running engine instance listed in the architecture section.
在一种可能的实施方式中,云端可以将设计的应用托管(或者说保存)在版本管理平台、或第三方设备中。示例性地,图6所示的应用部署系统中,云端可以将应用托管于外部应用仓库中,提高系统的扩展性和灵活性。In a possible implementation, the cloud can host (or save) the designed application in a version management platform or a third-party device. For example, in the application deployment system shown in Figure 6, the cloud can host applications in an external application warehouse to improve the scalability and flexibility of the system.
在一种可能的实施方式中,云端提供组件开发服务,能够接收用户设备提交的对组件的设计。可选的,用户设备可以提交组件设计数据,此处的设计数据包含不限于是组件的元数据、组件的源代码等中的一项或者多项。相应的,云端接收用户设备提交的组件设计数据,生成控制组件。作为一种可能的方案,云端可以提供组件开发工具,以便于用于基于组件开发工具来开发组件。In a possible implementation, the cloud provides component development services and can receive component designs submitted by user devices. Optionally, the user device can submit component design data, where the design data includes but is not limited to one or more of component metadata, component source code, etc. Correspondingly, the cloud receives the component design data submitted by the user device and generates the control component. As a possible solution, the cloud can provide component development tools to facilitate the development of components based on the component development tools.
在一种可能的实施方式中,控制组件对应了某一领域,云端可以提供一种或者多种领域的控制组件。作为一种可能的方案,云端可以接收关于目标领域的指示信息,向用户设备提供目标领域对应的控制组件。例如,在用户需要设计使用在DDC中的应用时,云端可以向用户提供适用于DDC的控制组件。In a possible implementation, the control component corresponds to a certain field, and the cloud can provide control components in one or more fields. As a possible solution, the cloud can receive instruction information about the target field and provide the user device with control components corresponding to the target field. For example, when users need to design applications for use in DDC, the cloud can provide users with control components suitable for DDC.
在一种可能的实施方式中,云端可以提供设备拓扑设计功能,便于用户设计设备的分布、选择需要部署应用的设备等。作为一种可能的方案,云端可以提供设备素材、位置素材、网 络素材,用于设计设备之间的拓扑连接。例如,通过拓扑设计功能,可以设计如图2A或如图2B所示的设备拓扑。In a possible implementation, the cloud can provide a device topology design function to facilitate users to design the distribution of devices, select devices on which applications need to be deployed, and so on. As a possible solution, the cloud can provide device materials, location materials, and network materials for designing topological connections between devices. For example, through the topology design function, you can design the device topology as shown in Figure 2A or Figure 2B.
上述详细阐述了本申请实施例的方法,下面提供本申请实施例的装置。The method of the embodiment of the present application is described in detail above, and the device of the embodiment of the present application is provided below.
可以理解的是,本申请实施例提供的多个装置,例如业务管理装置,为了实现上述方法实施例中的功能,其包含了执行各个功能相应的硬件结构、软件单元、或硬件结构和软件结构的组合等。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以在不同的使用场景中,使用不同的装置实现方式来实现前述的方法实施例,对于装置的不同实现方式不应认为超出本申请实施例的范围。It can be understood that the multiple devices provided by the embodiments of the present application, such as the business management device, in order to implement the functions in the above method embodiments, include corresponding hardware structures, software units, or hardware structures and software structures that perform each function. combinations, etc. Persons skilled in the art should easily realize that, in conjunction with the units and algorithm steps of each example described in the embodiments disclosed herein, the embodiments of 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. Professionals and technicians can use different device implementations to implement the foregoing method embodiments in different usage scenarios, and different device implementations should not be considered to be beyond the scope of the embodiments of this application.
本申请实施例可以对装置进行功能单元的划分。例如,可对应各个功能划分各个功能单元,也可将两个或两个以上的功能集成在一个功能单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。The embodiment of the present application can divide the device into functional units. For example, each functional unit can be divided corresponding to each function, or two or more functions can be integrated into one functional unit. The above integrated modules can be implemented in the form of hardware or software functional units. It should be noted that the division of units 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.
以下列举几种可能的装置。请参见图11,图11是本申请实施例提供的一种业务管理装置110的结构示意图。可选的,该业务管理装置110可以为独立设备,也可以为包含于独立设备中的器件,例如芯片、软件模块、或集成电路等。该业务管理装置110用于实现前述的应用部署方法。例如,业务管理装置110用于实现图7、或图10所述实施例中云端一侧的方法。Several possible devices are listed below. Please refer to Figure 11, which is a schematic structural diagram of a service management device 110 provided by an embodiment of the present application. Optionally, the service management device 110 may be an independent device or a component included in an independent device, such as a chip, software module, or integrated circuit. The service management device 110 is used to implement the aforementioned application deployment method. For example, the service management device 110 is used to implement the method on the cloud side in the embodiment shown in FIG. 7 or FIG. 10 .
一种可能的实施方式中,该业务管理装置110可以包括通信单元1101和处理单元1102。其中,通信单元1101可以用于实现前述的接收、发送、请求或响应等功能,和/或用于支持前述实施例的其它过程。一些可能实施场景中,通信单元1101还可以由通信接口模块和/或收发模块代替,并且该接口模块和/或收发模块可以用于支持前述方法实施例。In a possible implementation, the service management device 110 may include a communication unit 1101 and a processing unit 1102. The communication unit 1101 may be used to implement the aforementioned functions of receiving, sending, requesting or responding, and/or to support other processes of the aforementioned embodiments. In some possible implementation scenarios, the communication unit 1101 can also be replaced by a communication interface module and/or a transceiver module, and the interface module and/or transceiver module can be used to support the foregoing method embodiments.
处理单元1102可以用于执行实现前述的实施例中的确定、计算、生成、运行等操作,和/或用于支持前述实施例的其它过程,例如输出消息、输出指令等过程。The processing unit 1102 may be used to perform operations such as determination, calculation, generation, and execution in the foregoing embodiments, and/or to support other processes of the foregoing embodiments, such as outputting messages, outputting instructions, and other processes.
在一种可能的实施方式中,所述通信单元1101,用于提供组件编排界面和控制组件资源,所述组件编排界面用于编排目标应用依赖的控制组件;In a possible implementation, the communication unit 1101 is used to provide a component orchestration interface and control component resources, and the component orchestration interface is used to orchestrate control components that the target application depends on;
所述处理单元1102,用于根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据;The processing unit 1102 is configured to generate metadata of the target application according to the control components arranged in the component arrangement interface;
所述通信单元1101,还用于向所述目标设备提供所述目标应用的元数据,所述目标应用的元数据用于运行所述目标应用;The communication unit 1101 is also configured to provide metadata of the target application to the target device, and the metadata of the target application is used to run the target application;
所述通信单元1101,还用于向所述目标设备提供所述目标应用依赖的控制组件,所述目标应用依赖的控制组件用于运行所述目标应用。The communication unit 1101 is further configured to provide the target device with a control component that the target application depends on, and the control component that the target application depends on is used to run the target application.
在又一种可能的实施方式中,所述通信单元1101,还用于:In yet another possible implementation, the communication unit 1101 is also used to:
向所述目标设备提供运行引擎实例,所述运行引擎实例用于提供所述目标应用运行的隔离坏境。A running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
在又一种可能的实施方式中,所述处理单元1102,还用于:In yet another possible implementation, the processing unit 1102 is also used to:
控制所述运行引擎实例。可选的,控制所述运行引擎实例包含以下操作的一项或者多项:Control the runtime engine instance. Optionally, controlling the running engine instance includes one or more of the following operations:
修改运行引擎实例的配置、重启运行引擎实例、对所述运行引擎实例进行补丁升级、同步运行引擎实例中的应用。Modify the configuration of the running engine instance, restart the running engine instance, perform patch upgrades on the running engine instance, and synchronize applications in the running engine instance.
在又一种可能的实施方式中,所述通信单元1101,还用于:In yet another possible implementation, the communication unit 1101 is also used to:
获取运行引擎实例中的应用的运行状态。Get the running status of the application in the running engine instance.
在又一种可能的实施方式中,所述通信单元1101,还用于:In yet another possible implementation, the communication unit 1101 is also used to:
发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。Send application management information, where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
在又一种可能的实施方式中,所述通信单元1101,还用于:In yet another possible implementation, the communication unit 1101 is also used to:
在所述目标设备中的运行引擎实例中部署运行态应用。Deploy the running application in the running engine instance in the target device.
在又一种可能的实施方式中,所述通信单元1101,还用于:In yet another possible implementation, the communication unit 1101 is also used to:
提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。A user interface for the running application is provided, and the user interface is used to display the running results of the running application.
在又一种可能的实施方式中,所述运行引擎实例包含基础指令流程模块、上行指令模块、下行指令模块和引擎核心模块。In yet another possible implementation, the running engine instance includes a basic instruction flow module, an uplink instruction module, a downlink instruction module and an engine core module.
在又一种可能的实施方式中,基础指令流程模块,用于控制上行指令流和下行指令流的安装;In yet another possible implementation, the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
上行指令模块,用于发送上行指令;The uplink command module is used to send uplink commands;
下行指令模块,用于接收下行指令、调用通信接口执行指令,所述通信接口由所述引擎核心模块提供;A downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions. The communication interface is provided by the engine core module;
引擎核心模块包含以下模块中的一个或多个:引擎基础管理模块、执行器、通用服务模块和文件系统;The engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
其中,所述引擎基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源和配置引擎参数,所述执行器用于执行与应用运行相关的操作,所述通用服务模块用于管理日志和消息,所述文件系统负责数据持久化存储和数据读取。Among them, the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service The module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
在又一种可能的实施方式中,所述运行引擎实例包含上下文模块,所述上下文模块用于存储当前应用的运行数据。In yet another possible implementation, the running engine instance includes a context module, and the context module is used to store running data of the current application.
在又一种可能的实施方式中,所述通信单元1101,还用于:In yet another possible implementation, the communication unit 1101 is also used to:
接收来自至少一个运行引擎实例的上行指令,所述上行指令包含引擎注册指令、组件安装请求指令、日志上传指令和心跳保持指令。Receive uplink instructions from at least one running engine instance, where the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
在又一种可能的实施方式中,所述引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、内核版本。In another possible implementation, the engine registration instruction includes one or more of the following information: license, hardware platform instruction set, central processor CPU architecture of the at least one running engine instance, operating system Properties, kernel version.
在又一种可能的实施方式中,所述心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况。In another possible implementation, the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the space usage in the at least one running engine instance Condition.
在又一种可能的实施方式中,所述目标设备包含直接数字控制器DDC。In yet another possible implementation, the target device includes a direct digital controller DDC.
在又一种可能的实施方式中,所述控制组件包含数学函数组件、统计组件、定时器组件、比例-积分-微分PID控制器组件、热力学组件、光学组件或空气质量检测组件中的一项或者多项。In yet another possible implementation, the control component includes one of a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. Or multiple items.
在又一种可能的实施方式中,所述目标设备用于完成以下业务功能中的一项或者多项:In yet another possible implementation, the target device is used to complete one or more of the following business functions:
变风量VAV系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、电气设备控制。Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
在又一种可能的实施方式中,所述业务管理装置110包含消息中间件,所述消息中间件用于实现与所述目标设备之间的通信。In another possible implementation, the service management device 110 includes message middleware, and the message middleware is used to implement communication with the target device.
在又一种可能的实施方式中,所述通信单元1101,还用于通过无线通信技术与所述目标电子设备通信。In yet another possible implementation, the communication unit 1101 is also configured to communicate with the target electronic device through wireless communication technology.
在又一种可能的实施方式中,所述通信单元1101,还用于通过MQTT协议与所述运行引擎实例通信。In yet another possible implementation, the communication unit 1101 is also configured to communicate with the running engine instance through the MQTT protocol.
在又一种可能的实施方式中,所述通信单元1101,还用于通过COAP协议与所述运行引擎实例通信。In yet another possible implementation, the communication unit 1101 is also configured to communicate with the running engine instance through the COAP protocol.
相关描述可以参考前述实施例中的描述,此处不再赘述。For relevant descriptions, reference may be made to the descriptions in the foregoing embodiments, which will not be described again here.
请参见图12,图12是本申请实施例提供的一种计算设备120的结构示意图。Please refer to Figure 12, which is a schematic structural diagram of a computing device 120 provided by an embodiment of the present application.
该计算设备120可以为服务器、主机、边端设备等独立设备,也可以为包含于独立设备中的器件,例如芯片、软件模块、或集成电路等。该计算设备120可以包括至少一个处理器1201和至少一个存储器1202。可选的,还可以包括通信接口1203。进一步可选的,还可以包含连接线路1204,其中,处理器1201、存储器1202通过连接线路1204相连,通过连接线路1204互相通信、传递控制和/或数据信号。The computing device 120 may be an independent device such as a server, a host, or an edge device, or may be a device included in an independent device, such as a chip, software module, or integrated circuit. The computing device 120 may include at least one processor 1201 and at least one memory 1202. Optionally, a communication interface 1203 may also be included. Further optionally, a connection line 1204 may also be included, wherein the processor 1201 and the memory 1202 are connected through the connection line 1204, and communicate with each other and transfer control and/or data signals through the connection line 1204.
其中:in:
(1)处理器1201是进行算术运算和/或逻辑运算的模块,具体可以包含以下装置中的一项或者多项:中央处理器(central processing unit,CPU)、图片处理器(graphics processing unit,GPU)、微处理器(microprocessor unit,MPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex programmable logic device,CPLD)、协处理器(协助中央处理器完成相应处理和应用)、或微控制单元(Microcontroller Unit,MCU)等。(1) The processor 1201 is a module that performs arithmetic operations and/or logical operations, and may specifically include one or more of the following devices: central processing unit (CPU), graphics processor (graphics processing unit, GPU), microprocessor unit (MPU), Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), Complex programmable logic device , CPLD), coprocessor (assist the central processor to complete corresponding processing and applications), or microcontroller unit (Microcontroller Unit, MCU), etc.
(2)存储器1202用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器1202可以是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)等等中的一种或者多种的组合。(2) The memory 1202 is used to provide storage space, and data such as operating systems and computer programs can be stored in the storage space. The memory 1202 may be random access memory (RAM), read-only memory (ROM), erasable programmable read only memory (EPROM), or portable read-only memory. One or more combinations of memory (compact disc read-only memory, CD-ROM), etc.
(3)通信接口1203可以用于为所述至少一个处理器提供信息输入或者输出。在一些可能的场景中,通信接口1203可以包含接口电路。和/或,所述通信接口1203可以用于接收外部发送的数据和/或向外部发送数据。例如,通信接口1203可以包括诸如以太网电缆等的有线链路接口,也可以是无线链路(MQTT、COAP、Wi-Fi、蓝牙、通用无线传输以及其他无线通信技术等)接口。可选的,通信接口1203还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。(3) The communication interface 1203 can be used to provide information input or output to the at least one processor. In some possible scenarios, communication interface 1203 may include interface circuitry. And/or, the communication interface 1203 may be used to receive data sent from the outside and/or send data to the outside. For example, the communication interface 1203 may include a wired link interface such as an Ethernet cable, or a wireless link (MQTT, COAP, Wi-Fi, Bluetooth, universal wireless transmission and other wireless communication technologies, etc.) interface. Optionally, the communication interface 1203 may also include a transmitter (such as a radio frequency transmitter, an antenna, etc.) or a receiver coupled to the interface.
可选地,若计算设备120为独立设备时,通信接口1203可以包括接收器和发送器。其中,接收器和发送器可以为相同的部件,或者为不同的部件。接收器和发送器为相同的部件时,可以将该部件称为收发器。Optionally, if the computing device 120 is an independent device, the communication interface 1203 may include a receiver and a transmitter. The receiver and transmitter may be the same component or different components. When the receiver and transmitter are the same component, the component can be called a transceiver.
可选地,若计算设备120为芯片或电路时,通信接口1203可以包括输入接口和输出接口,输入接口和输出接口可以是相同的接口,或者可以分别是不同的接口。可选地,通信接口1203的功能可以通过收发电路或收发的专用芯片实现。处理器1201可以通过专用处理芯片、处理电路、处理器或通用芯片实现。Optionally, if the computing device 120 is a chip or a circuit, the communication interface 1203 may include an input interface and an output interface, and the input interface and the output interface may be the same interface, or may be different interfaces respectively. Optionally, the function of the communication interface 1203 can be implemented through a transceiver circuit or a dedicated chip for transceiver. The processor 1201 can be implemented by a dedicated processing chip, a processing circuit, a processor or a general-purpose chip.
可选的,处理器1201,可以是专门用于执行前述方法的处理器(便于区别称为专用处理器),也可以是通过调用计算机程序来执行前述方法的处理器(便于区别称为专用处理器)。 可选的,至少一个处理器还可以既包括专用处理器也包括通用处理器。Optionally, the processor 1201 can be a processor specially designed to perform the foregoing method (for convenience, it is called a special-purpose processor), or it can be a processor that calls a computer program to perform the foregoing method (for convenience, it is called a special-purpose processor). device). Optionally, at least one processor may also include both a special-purpose processor and a general-purpose processor.
可选的,在计算设备包括至少一个存储器1202的情况下,若处理器1201通过调用计算机程序来实现前述业务管理方法,该计算机程序可以存储在存储器1202中。Optionally, in the case where the computing device includes at least one memory 1202, if the processor 1201 implements the aforementioned business management method by calling a computer program, the computer program can be stored in the memory 1202.
本申请实施例中,计算设备120中各功能单元可用于实现前述的业务管理方法,例如,通信装置可以为图7、或图10所示实施例中的设备和/或云端,具体可以参考前述。In this embodiment of the present application, each functional unit in the computing device 120 can be used to implement the aforementioned service management method. For example, the communication device can be the device and/or cloud in the embodiment shown in Figure 7 or Figure 10. For details, please refer to the aforementioned .
在一种可能的实施方式中,处理器1201用于执行存储器存储的计算机程序,实现如下操作:In a possible implementation, the processor 1201 is configured to execute a computer program stored in the memory to implement the following operations:
提供组件编排界面和控制组件资源,所述组件编排界面用于编排目标应用依赖的控制组件;Provide a component orchestration interface and control component resources. The component orchestration interface is used to orchestrate the control components that the target application depends on;
根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据;Generate metadata of the target application according to the control components arranged in the component arrangement interface;
向所述目标设备提供所述目标应用的元数据,所述目标应用的元数据用于运行所述目标应用;providing metadata of the target application to the target device, the metadata of the target application being used to run the target application;
向所述目标设备提供所述目标应用依赖的控制组件,所述目标应用依赖的控制组件用于运行所述目标应用。A control component on which the target application depends is provided to the target device, and the control component on which the target application depends is used to run the target application.
在又一种可能的实施方式中,所述处理器1201,还用于:In yet another possible implementation, the processor 1201 is also used to:
向所述目标设备提供运行引擎实例,所述运行引擎实例用于提供所述目标应用运行的隔离坏境。A running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
在又一种可能的实施方式中,所述处理器1201,还用于:In yet another possible implementation, the processor 1201 is also used to:
控制所述运行引擎实例。可选的,控制所述运行引擎实例包含以下操作的一项或者多项:Control the runtime engine instance. Optionally, controlling the running engine instance includes one or more of the following operations:
修改运行引擎实例的配置、重启运行引擎实例、对所述运行引擎实例进行补丁升级、同步运行引擎实例中的应用。Modify the configuration of the running engine instance, restart the running engine instance, perform patch upgrades on the running engine instance, and synchronize applications in the running engine instance.
在又一种可能的实施方式中,所述处理器1201,还用于:In yet another possible implementation, the processor 1201 is also used to:
获取运行引擎实例中的应用的运行状态。Get the running status of the application in the running engine instance.
在又一种可能的实施方式中,所述计算设备120,还包括通信接口1203。所述处理器1201,还用于:In yet another possible implementation, the computing device 120 further includes a communication interface 1203. The processor 1201 is also used to:
通过所述通信接口1203发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。Application management information is sent through the communication interface 1203, and the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
在又一种可能的实施方式中,所述处理器1201,还用于:In yet another possible implementation, the processor 1201 is also used to:
在所述目标设备中的运行引擎实例中部署运行态应用。Deploy the running application in the running engine instance in the target device.
在又一种可能的实施方式中,所述处理器1201,还用于:In yet another possible implementation, the processor 1201 is also used to:
提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。A user interface for the running application is provided, and the user interface is used to display the running results of the running application.
在又一种可能的实施方式中,所述运行引擎实例包含基础指令流程模块、上行指令模块、下行指令模块和引擎核心模块。In yet another possible implementation, the running engine instance includes a basic instruction flow module, an uplink instruction module, a downlink instruction module and an engine core module.
在又一种可能的实施方式中,基础指令流程模块,用于控制上行指令流和下行指令流的安装;In yet another possible implementation, the basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
上行指令模块,用于发送上行指令;The uplink command module is used to send uplink commands;
下行指令模块,用于接收下行指令、调用通信接口执行指令,所述通信接口由所述引擎核心模块提供;A downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions. The communication interface is provided by the engine core module;
引擎核心模块包含以下模块中的一个或多个:引擎基础管理模块、执行器、通用服务模块和文件系统;The engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
其中,所述引擎基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源和配置引擎参数,所述执行器用于执行与应用运行相关的操作,所述通用服务模块用于管理日志和消息,所述文件系统负责数据持久化存储和数据读取。Among them, the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service The module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
在又一种可能的实施方式中,所述运行引擎实例包含上下文模块,所述上下文模块用于存储当前应用的运行数据。In yet another possible implementation, the running engine instance includes a context module, and the context module is used to store running data of the current application.
在又一种可能的实施方式中,所述计算设备120,还包括通信接口1203。所述处理器1201,还用于:In yet another possible implementation, the computing device 120 further includes a communication interface 1203. The processor 1201 is also used to:
通过所述通信接口接收来自至少一个运行引擎实例的上行指令,所述上行指令包含引擎注册指令、组件安装请求指令、日志上传指令和心跳保持指令。Uplink instructions from at least one running engine instance are received through the communication interface, and the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
在又一种可能的实施方式中,所述引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、内核版本。In another possible implementation, the engine registration instruction includes one or more of the following information: license, hardware platform instruction set, central processor CPU architecture of the at least one running engine instance, operating system Properties, kernel version.
在又一种可能的实施方式中,所述心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况。In another possible implementation, the heartbeat maintenance instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, the space usage in the at least one running engine instance Condition.
在又一种可能的实施方式中,所述目标设备包含直接数字控制器DDC。In yet another possible implementation, the target device includes a direct digital controller DDC.
在又一种可能的实施方式中,所述控制组件包含数学函数组件、统计组件、定时器组件、比例-积分-微分PID控制器组件、热力学组件、光学组件或空气质量检测组件中的一项或者多项。In yet another possible implementation, the control component includes one of a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. Or multiple items.
在又一种可能的实施方式中,所述目标设备用于完成以下业务功能中的一项或者多项:In yet another possible implementation, the target device is used to complete one or more of the following business functions:
变风量VAV系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、电气设备控制。Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
在又一种可能的实施方式中,所述计算设备120包含消息中间件,所述消息中间件用于实现与所述目标设备之间的通信。In another possible implementation, the computing device 120 includes message middleware, and the message middleware is used to implement communication with the target device.
在又一种可能的实施方式中,所述计算设备120,还包括通信接口1203。所述处理器1201,还用于:In yet another possible implementation, the computing device 120 further includes a communication interface 1203. The processor 1201 is also used to:
通过所述通信接口1203通过无线通信技术与所述目标电子设备通信。Communicate with the target electronic device through the communication interface 1203 through wireless communication technology.
在又一种可能的实施方式中,所述计算设备120,还包括通信接口1203。所述处理器1201,还用于:In yet another possible implementation, the computing device 120 further includes a communication interface 1203. The processor 1201 is also used to:
通过所述通信接口1203通过MQTT协议与所述运行引擎实例通信。Communicate with the running engine instance through the communication interface 1203 through the MQTT protocol.
在又一种可能的实施方式中,所述计算设备120,还包括通信接口1203。所述处理器1201,还用于:In yet another possible implementation, the computing device 120 further includes a communication interface 1203. The processor 1201 is also used to:
通过所述通信接口1203通过COAP协议与所述运行引擎实例通信。Communicate with the running engine instance through the communication interface 1203 through the COAP protocol.
相关描述可以参考前述实施例中的说明,此处不再赘述。For relevant descriptions, reference may be made to the descriptions in the foregoing embodiments and will not be described again here.
本申请实施例还提供了一种芯片系统,该芯片系统包括处理器和通信接口,所述通信接口用于接收和/或发送数据,和/或,所述通信接口用于为所述处理器提供输入和/或输出。所述芯片系统用于实现前述的业务管理方法,例如图7或者以及图10所述的方法。Embodiments of the present application also provide a chip system. The chip system includes a processor and a communication interface. The communication interface is used to receive and/or send data, and/or the communication interface is used to provide data for the processor. Provide input and/or output. The chip system is used to implement the aforementioned business management method, such as the method described in Figure 7 or Figure 10 .
本申请实施例还提供了一种算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令用于实现前述的业务管理方法,例如图7或者图10所述的方法。Embodiments of the present application also provide a computer-readable storage medium. Instructions are stored in the computer-readable storage medium. The instructions are used to implement the aforementioned business management method, such as the method described in Figure 7 or Figure 10 .
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,所述计算机指令用于实现前述的业务管理方法,例如图7或者图10所述的方法。An embodiment of the present application also provides a computer program product. The computer program product includes computer instructions, and the computer instructions are used to implement the aforementioned business management method, such as the method described in Figure 7 or Figure 10 .
在本申请的描述中,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水 平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。In the description of this application, the terms "center", "upper", "lower", "front", "back", "left", "right", "vertical", "horizontal", "top", " The orientation or positional relationship indicated by "bottom", "inside", "outer", etc. is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the present application and simplifying the description, and does not indicate or imply the device or device referred to. Elements must have a specific orientation, be constructed and operate in a specific orientation and therefore are not to be construed as limitations on the application.
本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。In the embodiments of this application, words such as "exemplary" or "for example" are used to represent examples, illustrations or explanations. Any embodiment or design described herein as "exemplary" or "such as" is not intended to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the words "exemplary" or "such as" is intended to present the concept in a concrete manner.
本申请中实施例提到的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b、或c中的至少一项(个),可以表示:a、b、c、(a和b)、(a和c)、(b和c)、或(a和b和c),其中a、b、c可以是单个,也可以是多个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A、同时存在A和B、单独存在B这三种情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。"At least one" mentioned in the embodiments of this application means one or more, and "multiple" means two or more. "At least one of the following" or similar expressions thereof refers to any combination of these items, including any combination of a single item (items) or a plurality of items (items). For example, at least one of a, b, or c can represent: a, b, c, (a and b), (a and c), (b and c), or (a and b and c), where a, b, c can be single or multiple. "And/or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and/or B can mean: A alone exists, A and B exist simultaneously, and B exists alone, where A and B can be singular or plural. The character "/" generally indicates that the related objects are in an "or" relationship.
以及,除非有相反的说明,本申请实施例使用“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一设备和第二设备,只是为了便于描述,而并不是表示这第一设备和第二设备的结构、重要程度等的不同,在某些实施例中,第一设备和第二设备还可以是同样的设备。And, unless otherwise stated, the use of ordinal numbers such as "first" and "second" in the embodiments of this application is used to distinguish multiple objects and is not used to limit the order, timing, priority or importance of multiple objects. degree. For example, the first device and the second device are just for convenience of description and do not indicate the difference in structure, importance, etc. of the first device and the second device. In some embodiments, the first device and the second device It can also be the same device.
上述实施例中所用,根据上下文,术语“当……时”可以被解释为意思是“如果……”或“在……后”或“响应于确定……”或“响应于检测到……”。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。As used in the above embodiments, depending on the context, the term "when" may be interpreted to mean "if..." or "after" or "in response to determining..." or "in response to detecting... ". The above are only optional embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the concepts and principles of the present application shall be included in the protection of the present application. within the range.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware, or can be completed by instructing relevant hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned The storage media mentioned can be read-only memory, magnetic disks or optical disks, etc.

Claims (38)

  1. 一种业务管理方法,其特征在于,所述业务管理方法用于控制目标设备的业务功能,所述目标设备包含边缘设备和/或终端设备;所述方法包括:A service management method, characterized in that the service management method is used to control the service functions of a target device, and the target device includes an edge device and/or a terminal device; the method includes:
    提供组件编排界面和控制组件资源,所述组件编排界面用于编排目标应用依赖的控制组件;Provide a component orchestration interface and control component resources. The component orchestration interface is used to orchestrate the control components that the target application depends on;
    根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据;Generate metadata of the target application according to the control components arranged in the component arrangement interface;
    向所述目标设备提供所述目标应用的元数据,所述目标应用的元数据用于运行所述目标应用;providing metadata of the target application to the target device, the metadata of the target application being used to run the target application;
    向所述目标设备提供所述目标应用依赖的控制组件,所述目标应用依赖的控制组件用于运行所述目标应用。A control component on which the target application depends is provided to the target device, and the control component on which the target application depends is used to run the target application.
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, further comprising:
    向所述目标设备提供运行引擎实例,所述运行引擎实例用于提供所述目标应用运行的隔离坏境。A running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:The method of claim 2, further comprising:
    控制所述运行引擎实例,其中,控制所述运行引擎实例包含以下操作的一项或者多项:Control the running engine instance, wherein controlling the running engine instance includes one or more of the following operations:
    修改运行引擎实例的配置、重启运行引擎实例、对所述运行引擎实例进行补丁升级、同步运行引擎实例中的应用。Modify the configuration of the running engine instance, restart the running engine instance, perform patch upgrades on the running engine instance, and synchronize applications in the running engine instance.
  4. 根据权利要求2或3所述的方法,其特征在于,所述方法还包括:The method according to claim 2 or 3, characterized in that, the method further includes:
    获取运行引擎实例中的应用的运行状态;Get the running status of the application in the running engine instance;
    发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。Send application management information, where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  5. 根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 2-4, characterized in that the method further includes:
    在所述目标设备中的运行引擎实例中部署运行态应用;Deploy the running application in the running engine instance in the target device;
    提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。A user interface for the running application is provided, and the user interface is used to display the running results of the running application.
  6. 根据权利要求2-5任一项所述的方法,其特征在于,所述运行引擎实例包含基础指令流程模块、上行指令模块、下行指令模块和引擎核心模块,其中:The method according to any one of claims 2 to 5, characterized in that the running engine instance includes a basic instruction process module, an uplink instruction module, a downlink instruction module and an engine core module, wherein:
    所述基础指令流程模块,用于控制上行指令流和下行指令流的安装;The basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
    所述上行指令模块,用于发送上行指令;The uplink instruction module is used to send uplink instructions;
    所述下行指令模块,用于接收下行指令、调用通信接口执行指令,所述通信接口由所述引擎核心模块提供;The downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions. The communication interface is provided by the engine core module;
    所述引擎核心模块包含以下模块中的一个或多个:引擎基础管理模块、执行器、通用服务模块和文件系统;The engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
    其中,所述引擎基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源和配置引擎参数,所述执行器用于执行与应用运行相关的操作,所述通用服务模块用于管理日志和消息,所述文件系统负责数据持久化存储和数据读取。Among them, the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service The module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
  7. 根据权利要求6所述的方法,其特征在于,所述运行引擎实例包含上下文模块,所述上下文模块用于存储当前应用的运行数据。The method according to claim 6, characterized in that the running engine instance includes a context module, and the context module is used to store running data of the current application.
  8. 根据权利要求6或7所述的方法,其特征在于,所述方法还包括:The method according to claim 6 or 7, characterized in that, the method further includes:
    接收来自至少一个运行引擎实例的上行指令,所述上行指令包含引擎注册指令、组件安装请求指令、日志上传指令和心跳保持指令。Receive uplink instructions from at least one running engine instance, where the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
  9. 根据权利要求6-8任一项所述的方法,其特征在于,所述引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、内核版本;The method according to any one of claims 6-8, characterized in that the engine registration instruction includes one or more of the following information: license, hardware platform instruction set, at least one running engine instance Central processing unit CPU architecture, operating system attributes, and kernel version;
    所述心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况。The heartbeat holding instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, and the space usage in the at least one running engine instance.
  10. 根据权利要求1-9任一项所述的方法,其特征在于,所述目标设备包含直接数字控制器DDC。The method according to any one of claims 1-9, characterized in that the target device includes a direct digital controller DDC.
  11. 根据权利要求10所述的方法,其特征在于,所述控制组件包含数学函数组件、统计组件、定时器组件、比例-积分-微分PID控制器组件、热力学组件、光学组件或空气质量检测组件中的一项或者多项。The method according to claim 10, characterized in that the control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. one or more items.
  12. 根据权利要求10或11所述的方法,其特征在于,所述目标设备用于完成以下业务功能中的一项或者多项:The method according to claim 10 or 11, characterized in that the target device is used to complete one or more of the following business functions:
    变风量VAV系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、电气设备控制。Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
  13. 一种业务管理系统,其特征在于,所述业务管理系统包含部署云端的服务器和目标设备,所述目标设备包含边缘设备和/或终端设备,所述云端用于控制所述目标设备的业务功能,其中;A business management system, characterized in that the business management system includes a server deployed in the cloud and a target device, the target device includes an edge device and/or a terminal device, and the cloud is used to control the business functions of the target device ,in;
    所述云端,用于提供组件编排界面和控制组件资源,所述组件编排界面用于编排目标应用依赖的控制组件;The cloud is used to provide a component orchestration interface and control component resources, and the component orchestration interface is used to orchestrate control components that the target application depends on;
    所述云端,还用于根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据;The cloud is also configured to generate metadata of the target application according to the control components arranged in the component arrangement interface;
    所述云端,还用于向所述目标设备提供所述目标应用的元数据,所述目标应用的元数据用于运行所述目标应用;The cloud is further configured to provide metadata of the target application to the target device, and the metadata of the target application is used to run the target application;
    所述云端,还用于向所述目标设备提供所述目标应用依赖的控制组件,所述目标应用依赖的控制组件用于运行所述目标应用;The cloud is further configured to provide the target device with a control component that the target application depends on, and the control component that the target application depends on is used to run the target application;
    所述电子设备,用于根据所述目标应用的元数据和所述目标应用依赖控制组件运行所述目标应用。The electronic device is configured to run the target application according to the metadata of the target application and the target application dependency control component.
  14. 根据权利要求13所述的业务管理系统,其特征在于,所述云端,还用于向所述目标 设备提供运行引擎实例,所述运行引擎实例用于提供所述目标应用运行的隔离坏境。The business management system according to claim 13, characterized in that the cloud is further used to provide a running engine instance to the target device, and the running engine instance is used to provide an isolation environment for the target application to run.
  15. 根据权利要求14所述的业务管理系统,其特征在于,所述云端,还用于:The business management system according to claim 14, characterized in that the cloud is also used for:
    控制所述运行引擎实例,其中,控制所述运行引擎实例包含以下操作的一项或者多项:Control the running engine instance, wherein controlling the running engine instance includes one or more of the following operations:
    修改运行引擎实例的配置、重启运行引擎实例、对所述运行引擎实例进行补丁升级、同步运行引擎实例中的应用。Modify the configuration of the running engine instance, restart the running engine instance, perform patch upgrades on the running engine instance, and synchronize applications in the running engine instance.
  16. 根据权利要求14或15所述的业务管理系统,其特征在于,所述云端,还用于:The business management system according to claim 14 or 15, characterized in that the cloud is also used for:
    获取运行引擎实例中的应用的运行状态;Get the running status of the application in the running engine instance;
    发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。Send application management information, where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  17. 根据权利要求14-15任一项所述的业务管理系统,其特征在于,所述云端,还用于:The business management system according to any one of claims 14-15, characterized in that the cloud is also used for:
    在所述目标设备中的运行引擎实例中部署运行态应用;Deploy the running application in the running engine instance in the target device;
    提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。A user interface for the running application is provided, and the user interface is used to display the running results of the running application.
  18. 根据权利要求14-16任一项所述的业务管理系统,其特征在于,所述运行引擎实例包含基础指令流程模块、上行指令模块、下行指令模块和引擎核心模块,其中:The business management system according to any one of claims 14 to 16, characterized in that the running engine instance includes a basic instruction process module, an uplink instruction module, a downlink instruction module and an engine core module, wherein:
    所述基础指令流程模块,用于控制上行指令流和下行指令流的安装;The basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
    所述上行指令模块,用于发送上行指令;The uplink instruction module is used to send uplink instructions;
    所述下行指令模块,用于接收下行指令、调用通信接口执行指令,所述通信接口由所述引擎核心模块提供;The downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions. The communication interface is provided by the engine core module;
    所述引擎核心模块包含以下模块中的一个或多个:引擎基础管理模块、执行器、通用服务模块和文件系统;The engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
    其中,所述引擎基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源和配置引擎参数,所述执行器用于执行与应用运行相关的操作,所述通用服务模块用于管理日志和消息,所述文件系统负责数据持久化存储和数据读取。Among them, the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service The module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
  19. 根据权利要求18所述的业务管理系统,其特征在于,所述运行引擎实例包含上下文模块,所述上下文模块用于存储当前应用的运行数据。The business management system according to claim 18, characterized in that the running engine instance includes a context module, and the context module is used to store running data of the current application.
  20. 根据权利要求18或19所述的业务管理系统,其特征在于,所述云端,还用于:The business management system according to claim 18 or 19, characterized in that the cloud is also used for:
    接收来自至少一个运行引擎实例的上行指令,所述上行指令包含引擎注册指令、组件安装请求指令、日志上传指令和心跳保持指令。Receive uplink instructions from at least one running engine instance, where the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
  21. 根据权利要求18-20任一项所述的业务管理系统,其特征在于,所述引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、内核版本;The business management system according to any one of claims 18 to 20, characterized in that the engine registration instruction includes one or more of the following information: license, hardware platform instruction set, the at least one running engine The instance’s central processing unit CPU architecture, operating system attributes, and kernel version;
    所述心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况。The heartbeat holding instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, and the space usage in the at least one running engine instance.
  22. 根据权利要求13-21任一项所述的业务管理系统,其特征在于,所述目标设备包含直接数字控制器DDC。The service management system according to any one of claims 13-21, characterized in that the target device includes a direct digital controller DDC.
  23. 根据权利要求22所述的业务管理系统,其特征在于,所述控制组件包含数学函数组件、统计组件、定时器组件、比例-积分-微分PID控制器组件、热力学组件、光学组件或空气质量检测组件中的一项或者多项。The business management system according to claim 22, characterized in that the control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. One or more components.
  24. 根据权利要求22或23所述的业务管理系统,其特征在于,所述目标设备用于完成以下业务功能中的一项或者多项:The business management system according to claim 22 or 23, characterized in that the target device is used to complete one or more of the following business functions:
    变风量VAV系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、电气设备控制。Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
  25. 一种业务管理装置,其特征在于,所述业务管理装置包含处理单元和通信单元,其中:A service management device, characterized in that the service management device includes a processing unit and a communication unit, wherein:
    所述通信单元,用于提供组件编排界面和控制组件资源,所述组件编排界面用于编排目标应用依赖的控制组件;The communication unit is used to provide a component orchestration interface and control component resources, and the component orchestration interface is used to orchestrate control components that the target application depends on;
    所述处理单元,用于根据在所述组件编排界面中编排的控制组件,生成所述目标应用的元数据;The processing unit is configured to generate metadata of the target application according to the control components arranged in the component arrangement interface;
    所述通信单元,还用于向所述目标设备提供所述目标应用的元数据,所述目标应用的元数据用于运行所述目标应用;The communication unit is further configured to provide metadata of the target application to the target device, and the metadata of the target application is used to run the target application;
    所述通信单元,还用于向所述目标设备提供所述目标应用依赖的控制组件,所述目标应用依赖的控制组件用于运行所述目标应用。The communication unit is further configured to provide the control component that the target application depends on to the target device, and the control component that the target application depends on is used to run the target application.
  26. 根据权利要求25所述的装置,其特征在于,所述通信单元,还用于:The device according to claim 25, characterized in that the communication unit is also used to:
    向所述目标设备提供运行引擎实例,所述运行引擎实例用于提供所述目标应用运行的隔离坏境。A running engine instance is provided to the target device, and the running engine instance is used to provide an isolation environment for running the target application.
  27. 根据权利要求26所述的装置,其特征在于,所述处理单元,还用于:The device according to claim 26, characterized in that the processing unit is also used to:
    控制所述运行引擎实例,其中,控制所述运行引擎实例包含以下操作的一项或者多项:Control the running engine instance, wherein controlling the running engine instance includes one or more of the following operations:
    修改运行引擎实例的配置、重启运行引擎实例、对所述运行引擎实例进行补丁升级、同步运行引擎实例中的应用。Modify the configuration of the running engine instance, restart the running engine instance, perform patch upgrades on the running engine instance, and synchronize applications in the running engine instance.
  28. 根据权利要求26或27所述的装置,其特征在于,所述通信单元,还用于:The device according to claim 26 or 27, characterized in that the communication unit is also used to:
    获取运行引擎实例中的应用的运行状态;Get the running status of the application in the running engine instance;
    发送应用管理信息,所述应用管理信息用于修改运行引擎实例中的应用的配置,或者,用于卸载运行引擎实例中的应用。Send application management information, where the application management information is used to modify the configuration of the application in the running engine instance, or to uninstall the application in the running engine instance.
  29. 根据权利要求26-28任一项所述的装置,其特征在于,所述通信单元,还用于:The device according to any one of claims 26 to 28, characterized in that the communication unit is also used to:
    在所述目标设备中的运行引擎实例中部署运行态应用;Deploy the running application in the running engine instance in the target device;
    提供关于所述运行态应用的用户界面,所述用户界面用于展示所述运行态应用的运行结果。A user interface for the running application is provided, and the user interface is used to display the running results of the running application.
  30. 根据权利要求26-29任一项所述的装置,其特征在于,所述运行引擎实例包含基础指令流程模块、上行指令模块、下行指令模块和引擎核心模块,其中:The device according to any one of claims 26 to 29, characterized in that the running engine instance includes a basic instruction process module, an uplink instruction module, a downlink instruction module and an engine core module, wherein:
    所述基础指令流程模块,用于控制上行指令流和下行指令流的安装;The basic instruction flow module is used to control the installation of the uplink instruction flow and the downlink instruction flow;
    所述上行指令模块,用于发送上行指令;The uplink instruction module is used to send uplink instructions;
    所述下行指令模块,用于接收下行指令、调用通信接口执行指令,所述通信接口由所述引擎核心模块提供;The downlink instruction module is used to receive downlink instructions and call a communication interface to execute instructions. The communication interface is provided by the engine core module;
    所述引擎核心模块包含以下模块中的一个或多个:引擎基础管理模块、执行器、通用服务模块和文件系统;The engine core module includes one or more of the following modules: engine basic management module, executor, general service module and file system;
    其中,所述引擎基础管理模块用于管理所述运行引擎的通信接口、管理所述引擎核心模块中的资源和配置引擎参数,所述执行器用于执行与应用运行相关的操作,所述通用服务模块用于管理日志和消息,所述文件系统负责数据持久化存储和数据读取。Among them, the engine basic management module is used to manage the communication interface of the running engine, manage the resources in the engine core module and configure engine parameters, the executor is used to perform operations related to application operation, and the general service The module is used to manage logs and messages, and the file system is responsible for persistent data storage and data reading.
  31. 根据权利要求30所述的装置,其特征在于,所述运行引擎实例包含上下文模块,所述上下文模块用于存储当前应用的运行数据。The apparatus according to claim 30, wherein the execution engine instance includes a context module, and the context module is used to store execution data of the current application.
  32. 根据权利要求30或31所述的装置,其特征在于,所述通信单元,还用于:The device according to claim 30 or 31, characterized in that the communication unit is also used to:
    接收来自至少一个运行引擎实例的上行指令,所述上行指令包含引擎注册指令、组件安装请求指令、日志上传指令和心跳保持指令。Receive uplink instructions from at least one running engine instance, where the uplink instructions include engine registration instructions, component installation request instructions, log upload instructions, and heartbeat maintenance instructions.
  33. 根据权利要求30-31任一项所述的装置,其特征在于,所述引擎注册指令包含以下信息中的一项或者多项:许可证、硬件平台指令集、所述至少一个运行引擎实例的中央处理器CPU架构、操作系统的属性、内核版本;The device according to any one of claims 30 to 31, characterized in that the engine registration instruction includes one or more of the following information: a license, a hardware platform instruction set, and the at least one running engine instance. Central processing unit CPU architecture, operating system attributes, and kernel version;
    所述心跳保持指令包含以下信息中的一项或者多项:所述至少一个运行引擎实例中应用的运行状态、所述至少一个运行引擎实例中的空间使用情况。The heartbeat holding instruction includes one or more of the following information: the running status of the application in the at least one running engine instance, and the space usage in the at least one running engine instance.
  34. 根据权利要求25-33任一项所述的装置,其特征在于,所述目标设备包含直接数字控制器DDC。The apparatus according to any one of claims 25-33, characterized in that the target device includes a direct digital controller DDC.
  35. 根据权利要求34所述的装置,其特征在于,所述控制组件包含数学函数组件、统计组件、定时器组件、比例-积分-微分PID控制器组件、热力学组件、光学组件或空气质量检测组件中的一项或者多项。The device according to claim 34, wherein the control component includes a mathematical function component, a statistical component, a timer component, a proportional-integral-derivative PID controller component, a thermodynamic component, an optical component or an air quality detection component. one or more items.
  36. 根据权利要求34或35所述的装置,其特征在于,所述目标设备用于完成以下业务功能中的一项或者多项:The device according to claim 34 or 35, characterized in that the target device is used to complete one or more of the following business functions:
    变风量VAV系统控制、冷冻机组控制、空调水循环系统控制、空调箱变频自动风量调整、冷却塔散热风扇控制、照明控制、电气设备控制。Variable air volume VAV system control, refrigeration unit control, air conditioning water circulation system control, air conditioning box frequency conversion automatic air volume adjustment, cooling tower cooling fan control, lighting control, and electrical equipment control.
  37. 一种计算设备,其特征在于,所述计算设备包括处理器和存储器;A computing device, characterized in that the computing device includes a processor and a memory;
    所述处理器用于执行所述存储器存储的计算机程序,使得所述计算设备实现权利要求1-12任一项所述的方法。The processor is configured to execute the computer program stored in the memory, so that the computing device implements the method according to any one of claims 1-12.
  38. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,所述指令用于实现权利要求1-12任一项所述的方法。A computer-readable storage medium, characterized in that instructions are stored in the computer-readable storage medium, and the instructions are used to implement the method described in any one of claims 1-12.
PCT/CN2022/139520 2022-04-07 2022-12-16 Service management method and system, and related device WO2023193470A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210360609.4A CN116938988A (en) 2022-04-07 2022-04-07 Service management method, system and related device
CN202210360609.4 2022-04-07

Publications (1)

Publication Number Publication Date
WO2023193470A1 true WO2023193470A1 (en) 2023-10-12

Family

ID=88243894

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/139520 WO2023193470A1 (en) 2022-04-07 2022-12-16 Service management method and system, and related device

Country Status (2)

Country Link
CN (1) CN116938988A (en)
WO (1) WO2023193470A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768833A (en) * 2019-10-25 2020-02-07 北京宝兰德软件股份有限公司 Application arrangement and deployment method and device based on kubernets
CN112732532A (en) * 2021-01-15 2021-04-30 上海浪潮云计算服务有限公司 Method for managing cluster assembly and centralized managing container service control assembly
US20210216295A1 (en) * 2020-01-10 2021-07-15 Jpmorgan Chase Bank, N.A. System and method for implementing an orchestration engine
CN113220283A (en) * 2021-05-10 2021-08-06 国网陕西省电力公司信息通信公司 Internet of things APP development system based on cloud arrangement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768833A (en) * 2019-10-25 2020-02-07 北京宝兰德软件股份有限公司 Application arrangement and deployment method and device based on kubernets
US20210216295A1 (en) * 2020-01-10 2021-07-15 Jpmorgan Chase Bank, N.A. System and method for implementing an orchestration engine
CN112732532A (en) * 2021-01-15 2021-04-30 上海浪潮云计算服务有限公司 Method for managing cluster assembly and centralized managing container service control assembly
CN113220283A (en) * 2021-05-10 2021-08-06 国网陕西省电力公司信息通信公司 Internet of things APP development system based on cloud arrangement

Also Published As

Publication number Publication date
CN116938988A (en) 2023-10-24

Similar Documents

Publication Publication Date Title
US10474438B2 (en) Intelligent cloud engineering platform
US10728340B2 (en) Internet of things (IOT) platform for device configuration management and support
CN107766126B (en) Container mirror image construction method, system and device and storage medium
CN112585919B (en) Method for managing application configuration state by using cloud-based application management technology
CN106471791B (en) Method and apparatus for a mobile device based cluster computing architecture
KR20230073371A (en) Computational storage in a function-as-a-service architecture
AU2018365860B2 (en) Code module selection for device design
CN107959582B (en) Slice instance management method and device
EP3454208A1 (en) Methods and apparatuses for remote application provisioning automation over virtualized it infrastructure
EP4202677A1 (en) Optimizing deployment and security of microservices
US20230385044A1 (en) Meta-operators for managing operator groups
Houacine et al. Service architecture for multi-environment mobile cloud services
WO2023193470A1 (en) Service management method and system, and related device
US11847611B2 (en) Orchestrating and automating product deployment flow and lifecycle management
CN111176714B (en) Software system development method, device, terminal equipment and storage medium
CN112181401A (en) Application construction method and application construction platform
CN113312429B (en) Intelligent contract management system, method, medium, and article in a blockchain
US20240019824A1 (en) A Building Automation Network
US20230342223A1 (en) Edge resource management
CN117591140A (en) Service grid, service upgrading method, device, equipment and medium
Kaltsounidis Using OSM for real-time redeployment of VNFs based on network status
WO2024102154A1 (en) System and method for cordon of o-cloud node
CN116931956A (en) Application deployment method and related device
Eder An infrastructure agnostic application deployment framework for the Internet of Things
Cao et al. Existing Edge Computing Tools

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

Country of ref document: EP

Kind code of ref document: A1