Method, apparatus, device, and medium for building composite edge app
The method of building composite edge applications addresses the complexity of installing and configuring multiple edge applications by generating a composite application with a configuration file and runtime, simplifying deployment and improving efficiency on edge devices.
Patent Information
- Application Number
- PCT/CN2023/135163
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2025-06-05
AI Technical Summary
Users of edge devices face challenges in installing and configuring multiple edge applications, which are often version-dependent and require manual installation and configuration, leading to complexity and inefficiency.
A method and system for building composite edge applications by determining multiple edge applications to be composited, generating a configuration file and runtime to parse and execute the composite method, packaging these into an installer file, and providing it for deployment on edge devices.
This approach simplifies the deployment of edge applications by enabling composite edge applications to provide collaborative work capabilities on edge devices, reducing the need for manual installation and configuration, and improving work efficiency and reducing complexity.
Smart Images

Figure CN2023135163_05062025_PF_FP_ABST
Abstract
Description
Method, apparatus, device, and medium for building composite edge AppFIELD
[0001] The present disclosure relates to the technical field of edge computing, in particular to a method, apparatus, device, and medium for building composite edge App.BACKGROUND
[0002] With the development of Industry 4.0, the rise of cloud computing, and limitations of traditional programmable logic controllers (PLCs) in computing resources, Edge devices are increasingly used in industrial application scenarios due to their openness and performance.
[0003] Different from traditional PC operating environment, Edge devices generally need to connect PLCs to achieve collaborative work. Edge device suppliers generally provide customized runtime environment platforms, and industry-oriented applications can be deployed on the runtime environment in the format of installation package or Docker image, similar with the applications deployed on general Operating System (e.g., Windows, Linux) or mobile phone (e.g., Android, iOS) .SUMMARY
[0004] Embodiments of the present disclosure propose a method, apparatus, device, and medium for building composite edge App.
[0005] In a first aspect, a method for building composite edge App is provided. The method includes:
[0006] determining multiple edge Apps to be composited;
[0007] generating a first configuration file which defines a composite method of the multiple edge Apps;
[0008] generating a runtime adapted to parse the first configuration file to obtain the composite method and composite the multiple edge Apps into a composite edge App based on the composite method upon the runtime is executed;
[0009] packaging the first configuration file and the runtime as an installer file; and
[0010] providing the installer file.
[0011] In a second aspect, a system for building composite edge App is provided. The system includes:
[0012] a workstation, configured to determine multiple edge Apps to be composited, generate a first configuration file which defines a composite method of the multiple edge Apps, generate a runtime adapted to parse the first configuration file to obtain the composite method and composite the multiple edge Apps into a composite edge App based on the composite method upon the runtime is executed, package the first configuration file and the runtime as an installer file, and provide the installer file;
[0013] an edge device, configured to run the installer file.
[0014] In a third aspect, an electronic device is provided. The electronic device includes a processor and a memory, where an application program executable by the processor is stored in the memory for causing the processor to execute a method for building composite edge App as described in any of the above.
[0015] In a fourth aspect, a computer-readable medium includes computer-readable instructions stored thereon is provided, where the computer-readable instructions, when executed by a processor, implement a method for building composite edge App as described in any of the above.
[0016] In a fifth aspect, a computer program product includes a computer program, when the computer program is executed by a processor for executing a for building composite edge App as described in any of the above.
[0017] According to the above technical solutions, composite edge Apps can provide collaborative work capabilities on edge devices, eliminating or reducing the need for users to install and configure various edge Apps on edge devices, improving work efficiency and reducing work difficulty. Introducing knowledge graphs into the building process of composite edge Apps also improves building efficiency.BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to make technical solutions of examples of the present disclosure clearer, accompanying drawings to be used in description of the examples will be simply introduced hereinafter. Obviously, the accompanying drawings to be described hereinafter are only some examples of the present disclosure. Those skilled in the art may obtain other drawings according to these accompanying drawings without creative labor.
[0019] Fig. 1 is an exemplary flowchart of a method for building a composite edge APP according to an embodiment of the present disclosure.
[0020] Fig. 2 is an exemplary structural diagram of installer file of composite edge APP according to an embodiment of the present disclosure.
[0021] Fig. 3 is a schematic diagram of an exemplary process for building composite edge APP according to an embodiment of the present disclosure.
[0022] Fig. 4 is an exemplary structural diagram of building platform of composite edge APP according to an embodiment of the present disclosure.
[0023] Fig. 5 is a schematic diagram of interaction between edge device and peripheral device according to an embodiment of the present disclosure.
[0024] Fig. 6 is a schematic diagram of the interaction between edge device installed with a composite edge APP and peripheral device according to an embodiment of the present disclosure.
[0025] Fig. 7 is an interactive schematic diagram of building a composite edge APP based on user operation according to an embodiment of the present disclosure.
[0026] Fig. 8 is an exemplary structural diagram of edge APP knowledge graph according to an embodiment of the present disclosure.
[0027] Fig. 9 is a schematic diagram of performing search in a knowledge graph according to an embodiment of the present disclosure.
[0028] Fig. 10 is a structural diagram of a system for building a composite edge APP according to an embodiment of the present disclosure.
[0029] Fig. 11 is an exemplary structural diagram of an electronic device according to an embodiment of the present disclosure.
[0030] List of reference numbers: DETAILED DESCRIPTION
[0031] In order to make the purpose, technical scheme, and advantages of the disclosure clearer, the following examples are given to further explain the disclosure in detail.
[0032] In order to be concise and intuitive in description, the scheme of the disclosure is described below by describing several representative embodiments. Many details in the embodiments are only used to help understand the scheme of the disclosure. However, it is obvious that the technical scheme of the disclosure can be realized without being limited to these details. In order to avoid unnecessarily blurring the scheme of the disclosure, some embodiments are not described in detail, but only the framework is given. Hereinafter, "including" refers to "including but not limited to" , "according to... " refers to "at least according to..., but not limited to... " . When the number of an element is not specifically indicated below, it means that the element can be one or more, or can be understood as at least one.
[0033] At present, in order to meet the complex needs of application scenarios (such as industrial application scenarios) , users need to install multiple edge applications (APPs) on their own edge devices and configure them to work together. This working mode may cause the following problems:
[0034] (1) For reuse of existing released edge Apps, developers of edge Apps can only specify the dependencies of their developed edge Apps and how to configure these edge Apps in the user guide. This means that the users of edge Apps must install and configure them manually.
[0035] (2) Edge Apps are version dependent. Edge Apps deployed on the same edge devices with incompatible versions cannot work together.
[0036] (3) The users of edge Apps need to learn a lot to deploy and configure them, even though they are only infrastructural applications and do not expose a user interface directly to them.
[0037] This problem is difficult to be solved through automation tools or a systematic solution. This means that the users of edge devices need to learn about the industrial edge device and industrial edge management so that they can know how to deploy and configure edge Apps, and then configure a set of edge Apps according to the steps written in the user manual of edge Apps.
[0038] Embodiments of the present disclosure provides a technical solution for generating a composite edge APP based on the existing edge running environment according to the requirements of industry application scenarios. Composite edge APP is a special edge APP that can include specific configuration files, runtime of the composite edge APP, and multiple edge APPs (optional) that make up the composite edge APP.
[0039] Fig. 1 is an exemplary flowchart of a method for building a composite edge APP according to an embodiment of the present disclosure. As shown in Figure 1, the method includes:
[0040] Step 101: determining multiple edge Apps to be composited.
[0041] Here, builder of the composite edge App may determine multiple edge Apps to be composited on their own. For example, the builder analyzes specific requirements in industrial application scenarios and identifies multiple edge Apps that require collaborative collaboration to meet these specific requirements.
[0042] Step 102: generating a first configuration file which defines a composite method of the multiple edge Apps.
[0043] The first configuration file defines how to composite these multiple edge Apps together and how to exchange data between these multiple edge Apps. For example, the format of the first configuration file may be YAML, JSON, XML, and so on.
[0044] Step 103: generating a runtime adapted to parse the first configuration file to obtain the composite method and composite the multiple edge Apps into a composite edge App based on the composite method upon the runtime is executed.
[0045] The runtime is a special edge App. When the runtime is executed, the first configuration file is parsed to obtain the composite method, and multiple edge APPs are composited into the composite edge APP based on the composite method.
[0046] Step 104: packaging the first configuration file and the runtime as an installer file.
[0047] For example, the installer file might be a compressed file, such as *ZIP file or *RAR file.
[0048] Step 105: providing the installer file.
[0049] For example, the installer file might be provided to cloud or local App stores, and so on. Then, edge devices can obtain the installer file from cloud or local App stores. When running the installer file at an edge device, the runtime is executed and the first configuration file is parsed to obtain the composite method, and then multiple edge APPs are composite into composite edge APPs based on the composite method, thereby achieving the deployment of composite edge APPs at edge devices.
[0050] In one embodiment, the first configuration file defines respective local access addresses for the multiple edge Apps; the method includes: obtaining the multiple edge Apps; packaging the multiple edge Apps in the installer file based on the respective local access addresses; where the runtime is adapted to parse the first configuration file to obtain the local access addresses and obtain the multiple edge Apps from the installer file based on the respective local access addresses upon the runtime is executed.
[0051] For example, the first configuration file defines local access addresses of respective edge App in the installer file. Respective each edge Apps are stored in the installer file according to respective local access addresses. Then, when executed at runtime, by parsing the first configuration file, the respective local access addresses of edge Apps in the installer file can be obtained, and all edge Apps can be obtained based on their respective local access addresses.
[0052] Therefore, by storing these multiple edge Apps as part of the composite edge App in the installer file, there is no need to obtain these Adge apps additionally, thereby reducing complexity.
[0053] In one embodiment, the first configuration file defines a remote acquisition method for the multiple edge Apps; where the runtime is adapted to parse the first configuration file to obtain the remote acquisition method and obtain the multiple edge Apps based on the remote acquisition method upon the runtime is executed.
[0054] For example, define respective remote access addresses for edge Apps in the first configuration file (such as access address in the cloud) . Then, when executed at runtime, by parsing the first configuration file, the remote access addresses of each edge APP can be obtained, and each edge APP may be obtained based on their respective remote access addresses. These edge APPs can then be composite into composite edge APPs.
[0055] Therefore, by storing remote access addresses of the edge Apps as a component of the composite edge App in the first configuration file, the storage capacity of the installer file is reduced.
[0056] In one embodiment, determining multiple edge Apps to be composited includes: providing a graphical interface displaying an edge App library; selecting the multiple edge Apps to be composited from the edge App library based on a first user operation triggered on the graphical interface.
[0057] Therefore, by providing a graphical interface that facilitates users to choose edge Apps, user interaction efficiency may be improved.
[0058] In one embodiment, the composite method includes a composite order between the multiple edge Apps and composite parameters of the multiple edge Apps, the method includes: determining the composite order based on a second user operation triggered on the graphical interface; determining the composite parameters based on a third user operation triggered on the graphical interface.
[0059] For example, the composite order may include the connection order between multiple edge Apps. For example, the output of one edge App is connected to the input of another edge App, the input of one edge App is connected to the output of another edge App, and so on.
[0060] In one embodiment, determining the composite order based on a second user operation triggered on the graphical interface may include: moving the multiple edge Apps on the graphical interface based on a drag-drop operation in the second user operation; connecting the multiple edge Apps on the graphical interface based on a connection operation in the second user operation; determining the connection order between the multiple edge Apps as the composite order when the moving and connecting are stopped. Therefore, by dragging and connecting operations, the composite order may be easily determined.
[0061] In one embodiment, the composite parameters may include a communication protocol and protocol parameters of the communication protocol; where determining the composite parameters based on a third user operation includes: selecting a communication protocol between the multiple edge APPs from a communication protocol library displayed in the graphical interface, based on a selection operation in the third user operation; determining protocol parameters of the communication protocol based on an input operation in the third user operation.
[0062] After determining the composite method through a graphical interface and user operation, the composite method may be included in the first configuration file. Therefore, a graphical interface can facilitate user input of composite method, thereby facilitating the generation of the first configuration file.
[0063] In one embodiment, the multiple edge Apps include an edge App suitable for secondary development; the method includes: generating a second configuration file which defines secondary development parameters of the edge App suitable for secondary development; packaging the second configuration file into the installer file; where the runtime is adapted to parse the second configuration file to obtain the secondary development parameters and configure the edge App suitable for secondary development based on the secondary development parameters upon the runtime is executed.
[0064] Therefore, through the installer file containing the second configuration file, edge Apps suitable for secondary development may be configured based on secondary development parameters, enriching the functionality of composite edge Apps.
[0065] In one embodiment, the method includes: determining description information of a composite function expected to be performed on an edge device; determining description of hardware device and subfunctions associated with the composite function through semantic recognition on the description information; retrieving the multiple edge APPs to be composited and a composite order between the multiple edge APPs from a pre-constructed edge APP knowledge graph, based on the description of hardware device and subfunctions.
[0066] Therefore, by introducing knowledge graph into the building process of composite edge APPs, the building efficiency has been improved.
[0067] In one embodiment, the edge APP knowledge graph includes nodes and edges, where the nodes include hardware devices and edge APPs in an edge APP library, and the edges include dependency relationships between the nodes.
[0068] In one embodiment, retrieving the multiple edge APPs to be composited and a composite order between the multiple edge APPs from a pre-constructed edge APP knowledge graph includes: determining an edge APP node in the edge APP knowledge graph that meets the description of hardware device as a first node, the first node is configured to connected with a hardware device node; determining an edge APP node in the edge APP knowledge graph that matches a subfunction as a second node; determining an edge APP node in the edge APP knowledge graph that depends on the first node or second node as a third node; determining the first node, second node, and third node as the multiple edge Apps; determining a connection order of the first node, second node, and third node as the composite order.
[0069] In one embodiment, the edge APP knowledge graph is established in the form of Resource Description Framework (RDF) or Labelled Property Graph (LPG) .
[0070] In one embodiment, the method includes: providing a graphical interface displaying the multiple edge Apps based on the composite order; determining composite parameters between the multiple edge Apps based on a fourth user operation triggered on the graphical interface.
[0071] Therefore, it is also possible to determine composite parameters between multiple edge APPs through graphical interfaces and user operations, thereby determining the composite method (including composite parameters and composite order) and facilitating the generation of the first configuration file.
[0072] Fig. 2 is an exemplary structural diagram of installer file of composite edge APP according to an embodiment of the present disclosure.
[0073] In Figure 2, the installer file 20 of the composite edge App includes:
[0074] (1) First configuration file 21: First configuration file 21is the main configuration file of the composite edge App. The first configuration file 21 defines how to combine multiple edge APPs 23 to be composited and how to exchange data between multiple edge APPs 23 to be composited. The format of First configuration file 21 can be YAML, JSON, XML, and so on.
[0075] (2) Second configuration file 24 (optional) : For an edge APP 23 that enables secondary development function, a corresponding second configuration file 24 can be generated based on the user's configuration. For example, the OPC UA to MQTT adapter needs to be configured so that users can specify variables need to be monitored on the OPC UA server and MQTT topic to use to publish this variable.
[0076] (3) Runtime 22: Runtime 22 is a special built-in edge App used to configure and start multiple edge APP23 to be composite based on the first and second configuration files, and automatically integrate multiple edge APP23 to be composite into the composite edge APP.
[0077] (4) Multiple edge APPs 23 to be composite (optional) : Users can specify whether to package multiple edge APPs 23 to be composite (essentially their respective installation packages) into installer file 20.
[0078] If the installer file 20 does not contain multiple edge APP23 to be composited, visit online edge App store to obtain these edge APP23 when running the installer file 20. These edge APP23 can be downloaded based on their names and versions in the first configuration file.
[0079] Fig. 3 is a schematic diagram of an exemplary process for building composite edge APP according to an embodiment of the present disclosure.
[0080] In Figure 3, developer 25 of the composite edge App wishes to deliver it to edge device users 29 with basic software operation knowledge. Developer 25 of the composite edge App builds the installer file 20 of the composite edge App through the building process 26, and publishes the installer file 20 to the online / offline / local edge App store 27, so that edge device users 29 at edge device 28 can directly install the composite edge App without considering dependencies, conflicts, configurations, and so on. In the building process 26, edge Apps as a component of the installer file 20 can be obtained from the App store 27.
[0081] Fig. 4 is an exemplary structural diagram of the building platform of composite edge APP according to an embodiment of the present disclosure.
[0082] As shown in Figure 4, the building platform 40 includes:
[0083] (1) Edge APP search engine 31: a search engine component used for finding Edge Apps that will be composed into a composite Edge App from the Edge App store according to typed keywords or predefined configuration items. Typically, this search engine can integrate recommendation-related functions so that the developers or composers can find expected Edge Apps for composite Edge App easily.
[0084] (2) Composite edge APP configurator 32: a graphical user interface component used for composing Edge Apps with different industrial data bus and configuring the communications among them.
[0085] (3) Composite edge APP tester 33: A testing module used to verify, validate, and test the composite edge APP before publishing.
[0086] (4) Composite edge APP management 36: a graphical user interface component used for managing published or imported composite Edge App. The developers or composers can publish the developed composite Edge App to the online Edge App store so that external composite Edge App users can install it on Edge devices, or publish to the local Edge App store at the enterprise level, or publish it to Edge devices directly.
[0087] (5) Composite edge APP generator 34: a backend generator for generating composite Edge App according to the configurations from the Composite Edge App configurator component.
[0088] (6) Composite edge APP runtime 35: a special built-in Edge App that is used for configuring and starting other Edge Apps in composite edge App according to configurations from the composite edge App configurator 32.
[0089] (7) Development platform 37: the environment used for running the approach of this disclosure. Generally, any environment for developing Edge App could be used as a development platform.
[0090] (8) Edge App publisher 38: A tool used for deploying Edge App to edge runtime platform. Generally, this tool is provided by edge device vendors.
[0091] Below is an exemplary description of embodiments of the present disclosure in specific industrial application scenarios.
[0092] A developer plans to develop an AI-based Edge App that is used for detecting defects in one type of product. There are two inputs of this Edge App, one picture and one trigger signal, and the output of this Edge App is an inference result that needs to be sent back to PLC for further control behavior. The data communication between the edge device and peripheral device with the edge App installed is shown in Figure 5.
[0093] Fig. 5 is a schematic diagram of interaction between edge device and peripheral device according to an embodiment of the present disclosure.
[0094] In Figure 5, the interaction information includes:
[0095] 1. First trigger signal:
[0096] When the product to be tested is identified in a detection area, grating sensor 41 sends a first trigger signal. The grating sensor 41 is connected to PLC42, and the first trigger signal is written into input channel of PLC42. The first trigger signal is set to the variable of the OPC UA server integrated into PLC42, which is read by edge device 44 of the OPC UA client and can be checked for the first trigger signal.
[0097] 2. Second trigger signal:
[0098] After edge device 44 detects the first trigger signal, it sends a second trigger signal to GigE camera 45 through the GigE protocol to activate GigE camera 45 to capture images of the product to be tested.
[0099] 3. Capture images:
[0100] The GigE camera 45 sends captured images to the edge device 45 through the GigE protocol.
[0101] 4. Inference result:
[0102] Edge device 45 infers whether the product has defects based on captured images. The inference result is output of the edge device, and the output is set to another variable integrated into the OPC UA server in PLC42, so that the automation program in PLC42 can perform further processing based on this inference result.
[0103] In order to reuse existing edge Apps to achieve the above process, developers hope to search for some edge Apps to generate composite edge App.
[0104] Fig. 6 is a schematic diagram of the interaction between edge device installed with a composite edge APP and peripheral device according to an embodiment of the present disclosure. The composite edge App includes OPC UA to MQTT adapter 441, GigE camera driver 442, and AI based inference module 443. The adapter 441, GigE camera driver 442, and AI based inference module 443 are all edge Apps. Among them, adapter 441 is connected to GigE camera driver 442, adapter 441 is connected to PLC42, GigE camera driver 442 is connected to GigE camera 45, and GigE camera driver 442 is connected to AI based inference module 443.
[0105] Adapter 441: An Edge App is used for exchanging data between the OPC UA protocol and MQTT protocol according to corresponding configurations. This means that, in this application scenario, this Edge App will read a specified variable from the OPC UA server and send it out through a configured MQTT topic, and also receive inference result from configured MQTT topic and set it to another specified variable at OPC UA server.
[0106] GigE camera driver 442: An Edge App integrated GigE camera driver exposes some interfaces to interact with other programs through MQTT. The static settings can be configured in a configuration file, for example, properties of the camera, MQTT topic used to receive trigger signal and output capture picture. These settings can be configured during the engineering process. This Edge App will perform corresponding operations according to the received message from configured MQTT topic.
[0107] AI based inference module 443: An Edge App integrates an AI model that is used for detecting defects of a product with a picture of this product as input. An inference result identifying whether there is a defect is output when receiving a picture and finishing the inference cycle. The input image is received from a configured MQTT topic and the inference result will be sent out through another configured MQTT topic.
[0108] The newly added data communications are described in the bellowing. (1) trigger signal: trigger signal identifying product to be detected is at the photo area and being read from PLC by OPC UA to MQTT adapter Edge App is sent out through a configured MQTT topic; (2) captured picture: the captured picture of the detected product and got from the general GigE camera driver Edge App is sent out through a configured MQTT topic; (3) inference result: the inference result identifying whether there are defects on a product or not is published by AI-based inference Edge App and subscribed by OPC UA to MQTT adapter Edge App.
[0109] Fig. 7 is an interactive schematic diagram of building a composite edge APP based on user operation according to an embodiment of the present disclosure. Users can select hardware devices or edge Apps to be composited in the first area 50. The first area 50 includes grating sensor 41, PLC42, edge device 43, adapter 441, GigE camera driver 442, AI based inference module 443, and so on. The user can select a communication protocol in the second region 51. The second region 51 contains GigE communication protocol 46, MQTT communication protocol 47, and OPC UA communication protocol 48. By performing selection, drag, and connect operations in the first region 50, hardware devices and edge Apps to be composited can be selected from the first region 50. By performing selection and drag operations in the second region 51, selecting communication protocols between various edge Apps to be composited from the second region 51. Moreover, through input boxes 521-526 in the third area 52, setting respective communication parameters for each selected communication protocol. Therefore, it is possible to determine the multiple edge Apps to be composited and the composite method between multiple edge Apps through a graphical interface.
[0110] The above detailed description provides a typical example of multiple edge Apps to be composited and composite determined by developers of composite edge Apps. In another embodiment of the present disclosure, a technical solution is also proposed for determining multiple edge APPs to be composited based on a knowledge graph.
[0111] Firstly, provide an exemplary explanation of the concepts related to the knowledge graph. The knowledge graph describes objective things in the form of a graph, which specifically includes nodes and edges. Nodes in the knowledge graph can represent concepts and entities, where concepts are abstract things and entities are concrete things; Edges represent the relationships and attributes of things or concepts, internal features of things or concepts are represented by attributes, and external connections are represented by relationships. Many times, people simplify the description of knowledge graphs, referring to entities and concepts as entities, and relationships and attributes as relationships. In this way, the knowledge graph describes entities and the relationships between them. Among them, entities can be people, places, organizational structures, concepts, and so on; Relationships can be relationships between people, between people and organizations, between concepts and certain objects, and so on.
[0112] Pre establish a knowledge graph that includes all edge Apps in an edge App library. The knowledge graph consists of nodes and edges. Specifically, nodes include: (1) edge Apps: all edge Apps are represented by node types; (2) hardware devices: All hardware devices that may be used in edge system are also represented by node types, such as PLCs, robots, camera sensors, etc. In order to better understand the relationship between edge Apps, communication protocols can be added on nodes. The communication protocol can be represented by any type of graphic element other than the one used by the node. The edges between nodes can also represent the dependency, input, and output relationships between nodes. For example, the representation method for node A's dependence on node B is to draw an arrow line from node A to node B. The representation method of node A's input being node B's output is to draw an arrow line from node B to node A. The representation method for the output of node C as the input of node D is to draw an arrow line from node C to node D. Among them, the line types of input and output relationships can be the same, and different from the line types of dependency relationships.
[0113] Fig. 8 is an exemplary structural diagram of edge APP knowledge graph according to an embodiment of the present disclosure. In Figure 8, the hardware device nodes include GigE camera 60, PLC61, robot 62, and AGV73. The Edge App nodes include: GigE camera driver 63, S7 connector 64, OPC UA adapter 74, MQTT 2DDS 65, GigE camera configurator 66, GigE camera simulator 80, data-based inference module 77, inference module based on machine vision 67, Monitor 78, and historical data library 79.
[0114] Assuming that users expect edge systems containing edge devices to have composite functionality. The description information of the composite function is as follows:
[0115] (1) When edge device receives a signal accessed through the S7 connection protocol from the PLC, it executes a logical function.
[0116] (2) The GigE camera serves as an image type input channel for edge device.
[0117] (3) Edge device uses a machine vision-based AI model for inference, which subscribes to image type data from the MQTT data bus and publishes inference result to MQTT type database.
[0118] (4) Robot subscribes signal variables from DDS protocol to perform predefined actions.
[0119] After semantic analysis of the description information of the above composite functions, it can be resolved that the description for hardware devices include: (1) PLC with S7 connection; (2) GigE camera; (3) Robot with DDS connection. Moreover, subfunctions of the composite function include visual AI reasoning ability.
[0120] Firstly, the description of the hardware device determined based on semantic analysis is retrieved in the knowledge graph shown in Figure 8 to determine edge APP nodes that match the description of the hardware device and are connected to hardware device nodes, known as the first node. Specifically, the first nodes include: (1) a GigE camera driver 64 connected to the GigE camera node 60. (2) S7 connector 64 connected to PLC61. (3) MQTT 2DDS65 connected to robot 62. Then, matching sub function with labels of respective edge APP (used to describe the capabilities of respective edge APPs) , and determine the edge APP node in the knowledge graph that matches the sub function as a second node. The second nodes include: inference module 67 based on machine vision. In addition, edge Apps that depend on the first nodes or second nodes are identified in the knowledge graph, known as the third node. That is to say, the third node is the configurator 66 of the GigE camera that depends on the GigE camera driver 63. Finally, extract a subgraph containing the first, second, and third nodes, as well as the connection relationships between these nodes, from the knowledge graph as the final search result.
[0121] Fig. 9 is a schematic diagram of performing search in a knowledge graph according to an embodiment of the present disclosure.
[0122] The search results include: the first nodes (GigE camera driver 64, S7 connector 64, and MQTT 2DDS65) , the second nodes (machine vision-based inference module 67) , and the third node (GigE camera configurator 66) .
[0123] Fig. 10 is a structural diagram of a system for building a composite edge APP according to an embodiment of the present disclosure. The system for building composite edge App includes:
[0124] a workstation 11, configured to determine multiple edge Apps to be composited, generate a first configuration file which defines a composite method of the multiple edge Apps, generate a runtime adapted to parse the first configuration file to obtain the composite method and composite the multiple edge Apps into a composite edge App based on the composite method upon the runtime is executed, package the first configuration file and the runtime as an installer file, and provide the installer file; and an edge device 13, configured to run the installer file.
[0125] In one embodiment, the system includes: a database 12, configured to store an edge APP knowledge graph; where the workstation 11 is configured to determine description information of a composite function expected to be performed on an edge device, determine description of hardware device and subfunctions associated with the composite function through semantic recognition on the description information, retrieve the multiple edge APPs to be composited and a composite order between the multiple edge APPs from a pre-constructed edge APP knowledge graph, based on the description of hardware device and subfunctions, the edge APP knowledge graph includes nodes and edges, where the nodes include hardware devices and edge APPs in an edge APP library, and the edges include dependency relationships between the nodes.
[0126] In summary, embodiments of the present disclosure provides a method including: determining multiple edge Apps to be composited; generating a first configuration file which defines a composite method of the multiple edge Apps; generating a runtime adapted to parse the first configuration file to obtain the composite method and composite the multiple edge Apps into a composite edge App based on the composite method upon the runtime is executed; packaging the first configuration file and the runtime as an installer file; and providing the installer file. Composite edge Apps can provide collaborative work capabilities on edge devices, eliminating the need for users to install and configure various edge Apps on edge devices, improving work efficiency and reducing work difficulty. Introducing knowledge graphs into the building process of composite edge Apps also improves building efficiency.
[0127] Embodiments of the present disclosure also propose an electronic device with a processor memory architecture. Figure 11 is an exemplary structural diagram of an electronic device with a processor memory architecture according to an embodiment of the present disclosure. As shown in Figure 11, electronic device 600 includes a processor 601, a memory 602, and a computer program stored on memory 602 that can run on processor 601. When the computer program is executed by processor 901, the method for building composite edge APP as described in either of the above is implemented. Among them, memory 602 can be implemented as various storage media such as electrically erasable programmable read-only memory (EEPROM) , flash memory, programmable program read-only memory (PROM) , etc. Processor 601 can be implemented to include one or more central processors or one or more field programmable gate arrays, where the field programmable gate array integrates one or more central processor cores. Specifically, the central processing unit or core can be implemented as a CPU, MCU, DSP, and so on.
[0128] It should be noted that not all steps and modules in the above processes and structural diagrams are necessary, and some steps or modules can be ignored according to actual needs. The execution sequence of each step is not fixed and can be adjusted as needed. The division of each module is only for the convenience of describing the functional division used. In actual implementation, a module can be divided into multiple modules, and the functions of multiple modules can also be implemented by the same module. These modules can be in the same device or different devices.
[0129] The hardware modules in each implementation can be implemented mechanically or electronically. For example, a hardware module can include specially designed permanent circuits or logic devices (such as dedicated processors, such as FPGA or ASIC) to complete specific operations. Hardware modules can also include programmable logic devices or circuits temporarily configured by software (such as general-purpose processors or other programmable processors) for performing specific operations. As for the specific use of mechanical methods, either dedicated permanent circuits or temporarily configured circuits (such as software configuration) to implement hardware modules, it can be determined based on cost and time considerations.
[0130] The above is only a preferred embodiment of the present disclosure and is not intended to limit the scope of protection of the present disclosure. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this disclosure shall be included within the scope of protection of this disclosure.
Claims
1.A method for building composite edge App, comprising:determining (101) multiple edge Apps to be composited;generating (102) a first configuration file which defines a composite method of the multiple edge Apps;generating (103) a runtime adapted to parse the first configuration file to obtain the composite method and composite the multiple edge Apps into a composite edge App based on the composite method upon the runtime is executed;packaging (104) the first configuration file and the runtime as an installer file; andproviding (105) the installer file.2.The method of claim 1, wherein the first configuration file defines respective local access addresses for the multiple edge Apps; the method comprises:obtaining the multiple edge Apps;packaging the multiple edge Apps in the installer file based on the respective local access addresses;wherein the runtime is adapted to parse the first configuration file to obtain the local access addresses and obtain the multiple edge Apps from the installer file based on the respective local access addresses upon the runtime is executed.3.The method of claim1, wherein the first configuration file defines a remote acquisition method for the multiple edge Apps;wherein the runtime is adapted to parse the first configuration file to obtain the remote acquisition method and obtain the multiple edge Apps based on the remote acquisition method upon the runtime is executed.4.The method of claim 1, wherein determining (101) multiple edge Apps to be composited comprises:providing a graphical interface displaying an edge App library;selecting the multiple edge Apps to be composited from the edge App library based on a first user operation triggered on the graphical interface.5.The method of claim 4, wherein the composite method comprises a composite order between the multiple edge Apps and composite parameters of the multiple edge Apps, the method comprises:determining the composite order based on a second user operation triggered on the graphical interface;determining the composite parameters based on a third user operation triggered on the graphical interface.6.The method of claim 5, wherein determining the composite order based on a second user operation triggered on the graphical interface comprises:moving the multiple edge Apps on the graphical interface based on a drag-drop operation in the second user operation;connecting the multiple edge Apps on the graphical interface based on a connection operation in the second user operation;determining the connection order between the multiple edge Apps as the composite order when the moving and connecting are stopped.7.The method of claim 5, wherein the composite parameters comprise a communication protocol and protocol parameters of the communication protocol;wherein determining the composite parameters based on a third user operation comprises:selecting a communication protocol between the multiple edge APPs from a communication protocol library displayed in the graphical interface, based on a selection operation in the third user operation;determining protocol parameters of the communication protocol based on an input operation in the third user operation.8.The method of claim 1, wherein the multiple edge Apps comprise an edge App suitable for secondary development; the method comprises:generating a second configuration file which defines secondary development parameters of the edge App suitable for secondary development;packaging the second configuration file into the installer file;wherein the runtime is adapted to parse the second configuration file to obtain the secondary development parameters and configure the edge App suitable for secondary development based on the secondary development parameters upon the runtime is executed.9.The method of any one of claims 1-8, comprising:determining description information of a composite function expected to be performed on an edge device;determining description of hardware device and subfunctions associated with the composite function through semantic recognition on the description information;retrieving the multiple edge APPs to be composited and a composite order between the multiple edge APPs from a pre-constructed edge APP knowledge graph, based on the description of hardware device and the subfunctions.10.The method of claim 9, wherein the edge APP knowledge graph comprises nodes and edges, wherein the nodes comprise hardware devices and edge APPs in an edge APP library, and the edges comprise dependency relationships between the nodes.11.The method of claim 10, wherein retrieving the multiple edge APPs to be composited and a composite order between the multiple edge APPs from a pre-constructed edge APP knowledge graph comprising:determining an edge APP node in the edge APP knowledge graph that meets the description of hardware device as a first node, the first node is configured to connect with a hardware device node;determining an edge APP node in the edge APP knowledge graph that matches a subfunction as a second node;determining an edge APP node in the edge APP knowledge graph that depends on the first node or second node as a third node;determining the first node, the second node, and third node as the multiple edge Apps;determining a connection order of the first node, the second node, and third node as the composite order.12.The method of claim 10, comprising:providing a graphical interface displaying the multiple edge Apps based on the composite order;determining composite parameters between the multiple edge Apps based on a fourth user operation triggered on the graphical interface.13.A system for building composite edge App, comprising:a workstation (11) , configured to determine multiple edge Apps to be composited, generate a first configuration file which defines a composite method of the multiple edge Apps, generate a runtime adapted to parse the first configuration file to obtain the composite method and composite the multiple edge Apps into a composite edge App based on the composite method upon the runtime is executed, package the first configuration file and the runtime as an installer file, and provide the installer file; andan edge device (13) , configured to run the installer file.14.The system of claim 13, comprising:a database (12) , configured to store an edge APP knowledge graph;wherein the workstation (11) is configured to determine description information of a composite function expected to be performed on an edge device, determine description of hardware device and subfunctions associated with the composite function through semantic recognition on the description information, retrieve the multiple edge APPs to be composited and a composite order between the multiple edge APPs from a pre-constructed edge APP knowledge graph, based on the description of hardware device and the subfunctions, the edge APP knowledge graph comprises nodes and edges, wherein the nodes comprise hardware devices and edge APPs in an edge APP library, and the edges comprise dependency relationships between the nodes.15.An electronic device, comprising a processor (601) and a memory (602) , wherein an application program executable by the processor (601) is stored in the memory (602) for causing the processor (601) to execute a method for building composite edge App according to any one of claims 1-12.16.A computer-readable medium comprising computer-readable instructions stored thereon, wherein the computer-readable instructions for executing a method for building composite edge App according to any one of claims 1-12.17.A computer program product comprising a computer program, upon the computer program is executed by a processor for executing a method for building composite edge App according to any one of claims 1-12.
Citation Information
Patent Citations
Edge application deployment method and system
CN112035121A
Electric power edge Internet of Things proxy edge calculation method and system based on graphical modeling
CN112130993A
Industrial protocol adaptation method and device, edge device and cloud server
CN114153468A
Management of an app, especially testing the deployability of an app comprising a trained function using a virtual test environment, method and system
EP4141679A1
Method For Deploying Virtual Machine And Container, And Related Apparatus
US20220004410A1