[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2020232718A1 - Edge side model inference method, edge computing device, and computer readable medium - Google Patents

Edge side model inference method, edge computing device, and computer readable medium Download PDF

Info

Publication number
WO2020232718A1
WO2020232718A1 PCT/CN2019/088193 CN2019088193W WO2020232718A1 WO 2020232718 A1 WO2020232718 A1 WO 2020232718A1 CN 2019088193 W CN2019088193 W CN 2019088193W WO 2020232718 A1 WO2020232718 A1 WO 2020232718A1
Authority
WO
WIPO (PCT)
Prior art keywords
inference
model
application program
model inference
subtask
Prior art date
Application number
PCT/CN2019/088193
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 西门子股份公司
Priority to PCT/CN2019/088193 priority Critical patent/WO2020232718A1/en
Priority to CN201980091419.3A priority patent/CN113412495A/en
Publication of WO2020232718A1 publication Critical patent/WO2020232718A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to the technical field of edge computing, and in particular to an edge-side model inference method, an edge computing device and a computer-readable medium.
  • Machine learning is an important method in big data analysis.
  • Machine learning includes two main processes: model training and model inference.
  • model inference is to use the trained model to perform operations on the data to obtain the result of the classification/regression/prediction problem.
  • model inference is an effective means of analyzing these data.
  • the task of model inference was mainly completed on the platform side.
  • IOT Internet of Things
  • the embodiment of the present invention provides an edge-side model inference method, an edge computing device, and a computer-readable medium to perform model inference on the edge side of an IOT system, which meets the real-time requirements of the IOT system.
  • the edge side can include products on the user side.
  • the edge side can include industrial computers, programmable logic controllers (PLC), industrial communication equipment, motion controllers, CNC machine tools (CNC), first-class other special equipment.
  • PLC programmable logic controllers
  • CNC CNC machine tools
  • an edge-side model inference method which can be executed by an edge computing device in an IOT system.
  • the method may include: an application running on an edge computing device subscribes to an inference process subtask of model inference; the application program obtains data used to execute the inference process subtask; and the application program calls the edge computing device
  • the first API of the model inference service running on the computer to execute the inference process subtask based on the data; the application program obtains the model inference result of the inference process subtask from the response of the first API;
  • the application program publishes the model inference result.
  • an edge computing device in an IOT system including: an application module configured to run an application program; a model inference service module configured to provide model inference service; wherein, the application program The module runs the application to complete the following operations: subscribe to the subtasks of the inference process of model inference; obtain the data used to execute the subtasks of the inference process; call the first API of the model inference service based on the data Execute the inference process subtask; obtain the model inference result of the inference process subtask from the response of the first API; publish the model inference result.
  • an edge computing device in an IOT system including: at least one processor configured to execute the method provided in the first aspect.
  • an edge computing device in an IOT system including: at least one memory configured to store computer-readable code; and the at least one processor configured to execute when the computer-readable code is invoked The method provided in the first aspect.
  • a computer-readable medium stores computer-readable code, and when the computer-readable code is executed by at least one processor, the method provided in the first aspect is executed.
  • the model inference is performed by the edge computing device, and the data based on the model inference does not need to be transmitted between the edge side and the platform side, only the model inference results need to be transmitted, which shortens the model inference time and reduces the occupation of the IOT system bandwidth , To meet the real-time requirements of the IOT system.
  • the model inference service is integrated on the edge computing device, and the application is designed to subscribe to the subtasks of the inference process, obtain the data used in the inference, and call the model inference service. There is no need to redesign the logic of the model inference service, only by designing simple The application program implements model inference through API calls, which is simple to implement.
  • the application program when the application program obtains the data used to execute the subtask of the inference process, it can obtain the address link of the data used to execute the subtask of the inference process, and then obtain the data from the Get the data at the address link. In this way, simple and convenient data acquisition is realized.
  • the application program further obtains information about the model on which the subtask of the inference process is executed, and calls the second API of the model inference service to base the information on the model It is determined whether the model inference service can execute the subtasks of the inference process, so as to ensure the smooth progress of the subsequent model inference process.
  • the application program further performs post-processing on the model inference result, and when publishing the model inference result, publishes the post-processed model inference result.
  • the application program further calls the third API of the model inference service, and obtains from the response of the third API the information of the model on which the subtask of the inference process is executed. Meta-information, and when the model inferred result, the model inferred result and the meta-information are released.
  • the jointly released meta-information can assist in marking model inference results and provide a reference for the analysis of model inference results.
  • the application program and the model inference service run on a container image.
  • the computing power used to execute the application and the model inference service can be released from the image of the container.
  • the computing power released in this way can be used to complete other subtasks, or to perform processing tasks of the edge computing device itself. Because the computing power of edge computing devices is usually small, the use of lightweight containers can greatly reduce the occupation of computing power of edge computing devices. Executing microservices on the image of the container can quickly start the execution process when subtasks need to be performed. The computing power can be quickly released after the subtasks are executed.
  • Fig. 1 is a schematic structural diagram of an edge computing system provided by an embodiment of the present invention.
  • FIG. 2 shows the MQTT communication process.
  • FIG. 3 shows the encrypted MQTT communication process in the embodiment of the present invention.
  • Fig. 4 shows the internal layered structure of the edge computing device provided by some embodiments of the present invention.
  • Fig. 5 is a flowchart of an edge-side model inference method provided by an embodiment of the present invention.
  • Fig. 6 is a schematic structural diagram of an edge computing device provided by an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of another structure of an edge computing device provided by an embodiment of the present invention.
  • CA key pair Authentication key pair-authentication server side (CA key pair), including a public key 206a and a private key 206b
  • Authentication key pair-MQTT server side (CA server key), including a public key 208a and a private key 208b
  • Core processor (Core, a CPU can include one or more core processors)
  • Standard operating system such as: Linux operating system
  • Real-time operating system such as Debian RT Linux
  • Containers such as Docker
  • FIG. 1 is a schematic structural diagram of an edge computing system 10 provided by an embodiment of the present invention.
  • the edge computing system 10 is located on the edge of an IOT system, and can obtain data from a data source 20 also located on the edge.
  • the edge computing device 101 in the edge computing system 10 performs processing based on the obtained data. For example: model inference in the embodiment of the present invention.
  • the data obtained from the data source 20 includes but is not limited to sensor data collected during the operation of various industrial equipment, such as temperature, humidity, motor speed, pictures, images, etc.
  • the edge computing device 101 may include, but is not limited to: embedded industrial PCs (for example: Siemens IP2x7IP4x7), high-end industrial PCs (for example: Siemens IP6x7IP8x7), advanced industrial PCs (for example: Siemens IP5x7), industrial gateways (for example, IOT2040) , Programmable logic controller PLC, CNC machine tool CNC machine tool, motion controller, etc.
  • idle computing capabilities of these edge computing devices 101 can be used for model inference.
  • the data obtained from the data source 20 can be stored in the original database 103 before being preprocessed.
  • the sensor data and other data collected during the operation of industrial equipment are usually time-stamped and can be regarded as time series. Therefore, an optional implementation of the original database 103 is a time series database.
  • the edge computing device 101 may perform processing such as model inference through an application program running on it.
  • model processing such as model inference can be divided into multiple subtasks, which are completed by different applications.
  • applications can include but are not limited to:
  • Application program 21 an application program used to complete post-processing subtasks, referred to as "post-processing program 21";
  • Application 22 an application used to complete preprocessing subtasks, referred to as "preprocessing 22";
  • Model server program 23 an application used to complete the subtasks of model inference, model loading, and model update, referred to as "model server program 23";
  • Application program 24 an application program used to complete the sub-tasks of the training process of model training, referred to as "training server program 24";
  • Application 25 an application used to complete the protocol conversion subtasks, referred to as "gateway program 25";
  • Application program 26 an application program used to complete the monitoring subtasks of the training process, referred to as "monitoring program 26".
  • the data obtained from the data source 20 is stored in the original database 103 after the gateway program 25 performs protocol conversion.
  • the gateway program 25 can convert data belonging to different industrial protocols into a unified protocol, such as the MQTT protocol.
  • the preprocessing program 22 performs preprocessing on the data obtained from the data source 20, for example, selecting data within a certain range from the data stored in the original database 103 for model inference.
  • the preprocessed data is stored persistently, for example, it can be stored in the distributed object storage 104, or stored on a dedicated storage server.
  • the training server program 24 performs model training based on the preprocessed data.
  • the model server program 23 loads the trained model and performs model inference.
  • the post-processing program 21 can process the results of the model inference, for example, organize the results of the model inference in a table, and present it to the user in a way that is easy to understand and observe.
  • one application program can also complete the functions of multiple applications among the above-mentioned application programs 21 to 26.
  • an application completes the subtasks of the inference process and the post-processing subtasks.
  • the tasks of model processing can be divided into subtasks, which are respectively completed by corresponding applications running on each edge computing device 101, and finally the entire model processing task is completed.
  • the edge computing device 101 executing the subtask sends the execution result of the subtask to trigger other edge computing devices 101 to execute subsequent subtasks.
  • the tasks of the entire model processing can be finally completed.
  • the intermediate process does not require processing on the platform side of the IOT system, but is processed by the edge side, without the need for data and processing results on the edge Transmission between platform sides reduces the processing delay of tasks and improves the operating efficiency of the entire IOT system.
  • the edge computing devices 1014 shown in FIG. 1 can communicate with each other through the message forwarder 102. Or, each edge device 1014 forms an ad hoc network, and the two edge computing devices 101 communicate directly.
  • An optional communication method is that each edge computing device 1016 communicates based on the MQTT protocol.
  • each edge computing device 101 acts as an MQTT client 202, and forwards messages through an MQTT server 201 (equivalent to a message forwarder 102). For example, an edge computing device 101 sends a subscription message to the MQTT server 201 to subscribe to the subtask of the inference process inferred by the model.
  • the other edge computing device 101 After the data on which the model inference is based has been preprocessed, the other edge computing device 101 sends a release message to the MQTT server 201 to notify that the data on which the model inference is based has been preprocessed. After receiving the publish message, the MQTT server 2011 forwards it to the edge computing device 101 that has subscribed to the subtask of the inference process.
  • each edge computing device 101 may communicate based on the MQTT protocol that uses an encryption mechanism.
  • the MQTT communication process using the Secure Socket Layer/Transport Layer Security (SSL/TLS) encryption method can be shown in Figure 3.
  • the authentication server 205 creates an authentication key pair (CA key pair) 206, which includes a public key 206a and a private key 206b.
  • the authentication server 205 creates an authentication certificate (CA certificate) 207, and uses the private key 206b to sign the authentication certificate 207.
  • the MQTT server 201 creates an authentication key pair-MQTT server side (CA server key) 208, and uses the public key 208a in the authentication key pair-MQTT server side 208 to create an authentication certificate signing request 210, and sends it to authentication Server 205.
  • the authentication server 205 returns the authentication certificate-authentication server side 207 to the MQTT server 201 via a response 211, and the MQTT server 201 uses the public key 208a to sign the authentication certificate-authentication server side 207 to obtain the authentication certificate-MQTT server Side 209.
  • the authentication server 205 sends the authentication certificate-authentication server side 207 to the MQTT client 202, and the MQTT server 201 sends the authentication certificate-MQTT server side 209 signed by the public key 208a to the MQTT client 202.
  • the MQTT client 202 verifies the authentication certificate-MQTT server side 209 and the authentication certificate-authentication server side 207, and obtains the public key 208a used by the MQTT server 201 to encrypt data.
  • the MQTT client 202 uses the public key 208a to encrypt the message
  • the MQTT server 201 uses the private key 208b to decrypt the message.
  • the MQTT protocol adopting an encryption mechanism ensures the security of communication between the edge computing devices 101 in the edge computing system 10.
  • the computing capability of the edge computing device is used for model inference.
  • Applications and model inference services run on edge computing devices, and applications use the services provided by the model inference service by calling the API provided by the model inference service.
  • the application program implements communication with other edge computing devices, and optionally, can also implement data pre-processing and post-processing.
  • the PLC can include the following four layers:
  • the first layer is the core processor (Core) 400
  • S7-1500 PLC includes four core processors, of which the two core processors on the left run the PLC operating system 402, and the PLC operating system 402 runs software related to PLC control functions 406.
  • a standard operating system 403 can be run on the third core processor, and a C/C++ runtime environment can be run on it.
  • a real-time operating system 404 can be run on the last core processor, and an application program 408 related to model inference and a model inference service 409 in the embodiment of the present invention can be run on it.
  • the application program 408 may include one or more of the aforementioned application programs 21 to 26 related to model inference.
  • the second layer may be a physical machine virtualization (Bare Metal virtualization) 401, for example, using a Hypervisor virtualization method.
  • the application 408 and the model inference service 409 may run in a container.
  • the edge computing device 101 obtains an image of a container 405 (for example: docker), and then runs an application 408 and a model inference service 409 on the image of the container 405.
  • the computing power used by the execution application 408 and the model inference service 409 is released from the image of the container 405.
  • the computing power released in this way can be used to complete other subtasks, or to perform processing tasks of the edge computing device 101 itself, for example, a PLC completes its own production process control tasks.
  • the use of lightweight containers can greatly reduce the occupation of the computing power of the edge computing device 101.
  • the microservices can be executed on the image of the container to quickly start execution when subtasks need to be executed. Process, and the computing power can be quickly released after the subtasks are executed.
  • the application program 408 may be implemented in a microservice manner.
  • microservices the application logic running on the edge computing device 101 can be simplified, and the complex model inference logic can be decoupled into a series of relatively independent microservices.
  • the subtasks of model processing are completed by various microservices, and the execution speed is faster.
  • the required computing power is small, and the idle computing power of the edge computing device 101 can be fully utilized.
  • Fig. 5 is a flowchart of an edge-side model inference method provided by an embodiment of the present invention. This process can be executed by the edge computing device 101 and can include the following steps:
  • step S501 the application 408 running on the edge computing device 101 sends a subscription message to the message forwarder 102 to subscribe to the subtask of the inference process of model inference.
  • the message forwarder 102 sends a release message to the edge computing device 101.
  • the release message has the same subject as the subscription message in the message of step S501.
  • the published message may include data used to perform subtasks of the inference process; or when the amount of data is large, the message forwarder 102 may carry a link to the distributed object store 104 that stores the data in the published message, such as hdfs : // ⁇ inference_input_file>.
  • the release message may also include the model name, model version, and inference type (classification, regression, prediction, etc.) of the model on which the inference subtask is executed.
  • the edge computing device 101 obtains data from the link.
  • S503 Call the second API of the model inference service to determine whether the model inference service 409 can execute the subtask of the inference process.
  • step S503 the application 408 may call the second API of the model inference service 409 to determine whether the model inference service 409 can execute the subtask of the inference process. If it is determined that the subtask of the inference process can be executed, step S505 and optional step S504 are executed.
  • S504 Call the third API of the model inference service 409 to obtain meta information of the model.
  • step S504 the application program 408 calls the third API of the model inference service 409 to obtain the metadata of the model on which the subtask of the inference process is executed.
  • S505 Call the first API of the model inference service 409 to execute the subtask of the inference process.
  • step S505 the application 408 calls the first API of the model inference service 409 to execute the subtask of the inference process. If the model inference service 409 is a Restful service, before calling the first API, the application 408 needs to convert the data on which the subtasks of the inference process are executed into a JSON format, and then call the first API.
  • the application program 408 sends an API request to the model inference service 409, and obtains the execution result of the subtask of the inference process from the response, that is, the model inference result.
  • the application program 408 performs post-processing on the model inference result, such as visualizing the model inference result.
  • step S507 the application 408 publishes the model inference result.
  • step S501 the application 408 may subscribe to the subtask of the inference process by subscribing to the topic of "inference input".
  • the subject is "InferenceInput"
  • shopfloor means a factory
  • datacollectionpoint1 means a data collection point in the factory
  • forecastinput means data input for inference.
  • inputfile-link hdfs: // ⁇ inference_input_file> represents the link to the data on which the subtasks of the inference process are executed.
  • model name RNN_AlertForecast represents the name of the model on which the subtasks of the inference process are executed, model-version v1.1 represents the model version, and inference-type forecast represents the type of model inference.
  • step S507 the application 408 may send a publishing message with the subject of "inference input", and the message includes the model inference result.
  • the subject is "InferenceOutput"
  • shopfloor represents a factory
  • datacollectionpoint1 represents a data collection point in the factory
  • forecastoutput represents the result of model inference as output.
  • outputfile-link hdfs: // ⁇ inference_output_file> indicates the link where the model inference result is placed.
  • model name RNN_AlertForecast represents the name of the model on which the subtasks of the inference process are executed
  • model-version v1.1 represents the model version
  • inference-type forecast represents the type of model inference.
  • FIG. 7 is a schematic structural diagram of an edge computing device provided by an embodiment of the present invention.
  • the edge computing device 101 may include:
  • An application module 1011 is configured to run an application
  • a model inference service module 1012 configured to provide model inference services
  • the application module 1011 runs the application to complete the following operations: subscribe to the subtasks of the inference process of model inference; obtain the data used to execute the subtasks of the inference process; call the first API of the model inference service to perform the inference process based on the data Subtask; obtain the model inference result of the inference process subtask from the response of the first API; publish the model inference result.
  • the application module 1011 runs the application, and when obtaining the data used to execute the subtask of the inference process, it specifically completes the following operations: obtain the address link of the data used to execute the subtask of the inference process; obtain the data from the address link .
  • the application module 1011 runs the application, and also completes the following operations: obtain information about the model on which the subtasks of the inference process are executed; call the second API of the model inference service to determine whether the model inference service can be based on the information of the model Perform subtasks of the inference process.
  • the application module 1011 runs the application and also completes the following operations: post-processing the model inference result; the application module 1011 runs the application, and when publishing the model inference result, completes the following operations: the application is released after post-processing The model inferred results.
  • the application module 1011 runs the application, and also completes the following operations: call the third API of the model inference service, and obtain the meta information of the model on which the subtasks of the inference process are executed from the response of the third API;
  • the module 1011 runs the application program and completes the following operations when publishing the model inference result: publishing the model inference result and meta-information.
  • the application and the model inference service run on a container image.
  • FIG. 7 is a schematic diagram of another structure of an edge computing device provided by an embodiment of the present invention.
  • the edge computing device 101 may include at least one memory 1015 for storing computer readable code; at least one processor 1014 is configured to execute the computer readable code stored in the at least one memory 1015 , Execute the aforementioned edge-side model inference method.
  • the modules shown in FIG. 8 can be regarded as program modules written by computer readable codes stored in the memory 1015. When these program modules are called by the processor 1014, the aforementioned edge-side model inference method can be executed.
  • the edge computing device 101 may also include a communication module 1016.
  • the edge computing device 101 communicates with other edge computing devices 101 through the communication module 106. In some embodiments, it communicates with the MQTT message forwarder 102, the distributed object store 104, and the original database. 103 and other communications.
  • the at least one memory 1015, the at least one processor 1014, and the communication module 1016 may communicate with each other through a bus 1017.
  • an embodiment of the present invention also provides a computer-readable medium storing computer-readable code, and when the computer-readable code is executed by at least one processor, the aforementioned edge-side model processing method is implemented.
  • the embodiments of the present invention provide an edge-side model processing method, an edge computing device, and a computer-readable medium, which use idle computing capacity on the edge side for model inference, effectively utilizes the idle computing capacity on the edge side, and improves IOT The real-time nature of the system.
  • the hardware unit can be implemented mechanically or electrically.
  • a hardware unit may include permanent dedicated circuits or logic (such as dedicated processors, Field-Programmable Gate Array (FPGA) or Application Specific Integrated Circuits (ASIC), etc.). Complete the corresponding operation.
  • the hardware unit may also include programmable logic or circuits (such as general-purpose processors or other programmable processors), which may be temporarily set by software to complete corresponding operations.
  • the specific implementation mechanical, or dedicated permanent circuit, or temporarily set circuit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to the field of edge computing technology, and in particular, to an edge side model inference method, an edge computing device, and a computer readable medium, wherein model inference is performed at an edge side of an Internet of Things (IOT) system, so as to satisfy requirements of the IOT system for real-time performance. A model inference method provided in the embodiments of the present invention comprises: an application program running on an edge computing device subscribing to an inference process subtask of model inference; the application program obtaining data used to execute the inference process subtask; the application program invoking a first API of a model inference service running on the edge computing device, to execute the inference process subtask on the basis of the data; the application program acquiring, from a response of the first API, a model inference result of the inference process subtask; and the application program publishing the model inference result.

Description

边缘侧模型推断方法、边缘计算设备和计算机可读介质Edge-side model inference method, edge computing device and computer readable medium 技术领域Technical field
本发明涉及边缘计算(edge computing)技术领域,尤其涉及一种边缘侧模型推断方法、边缘计算设备和计算机可读介质。The present invention relates to the technical field of edge computing, and in particular to an edge-side model inference method, an edge computing device and a computer-readable medium.
背景技术Background technique
机器学习是大数据分析中的一个重要方法,机器学习包括两个主要的过程:模型训练和模型推断。其中,模型推断是利用已经训练好的模型对数据进行运算,得到分类/回归/预测问题的结果。Machine learning is an important method in big data analysis. Machine learning includes two main processes: model training and model inference. Among them, model inference is to use the trained model to perform operations on the data to obtain the result of the classification/regression/prediction problem.
物联网(IOT)系统的运行过程中会产生大量数据,模型推断是对这些数据进行分析的有效手段。以往,模型推断的任务主要在平台侧完成,对于一些实时性要求较高的IOT系统,比如工业IOT(IIOT)系统,由于数据往往需要从边缘侧采集后发送至平台侧进行处理,通常无法满足实时性要求。A large amount of data will be generated during the operation of the Internet of Things (IOT) system, and model inference is an effective means of analyzing these data. In the past, the task of model inference was mainly completed on the platform side. For some IOT systems with high real-time requirements, such as industrial IOT (IIOT) systems, because data often needs to be collected from the edge side and sent to the platform side for processing, it is usually not enough. Real-time requirements.
发明内容Summary of the invention
本发明实施例提供一种边缘侧模型推断方法、边缘计算设备和计算机可读介质,在一个IOT系统的边缘侧进行模型推断,满足了IOT系统对实时性的要求。The embodiment of the present invention provides an edge-side model inference method, an edge computing device, and a computer-readable medium to perform model inference on the edge side of an IOT system, which meets the real-time requirements of the IOT system.
其中,边缘侧相对于平台侧而言,可包括位于用户侧的产品,比如:对于一个IIOT系统,边缘侧可包括工业计算机、可编程逻辑控制器(PLC)、工业通信设备、运动控制器、数控机床(CNC),一级其他专用设备。Among them, relative to the platform side, the edge side can include products on the user side. For example, for an IIoT system, the edge side can include industrial computers, programmable logic controllers (PLC), industrial communication equipment, motion controllers, CNC machine tools (CNC), first-class other special equipment.
第一方面,提供一种边缘侧模型推断方法,该方法可由一个IOT系统中的边缘计算设备执行。该方法可包括:边缘计算设备上运行的一个应用程序订阅模型推断的推断过程子任务;所述应用程序获得执行所述推断过程子任务所使用的数据;所述应用程序调用所述边缘计算设备上运行的模型推断服务的第一API,以基于所述数据执行所述推断过程子任务;所述应用程序从所述第一API的响应中获取所述推断过程子任务的模型推断结果;所述应用程序发布所述模型推断结果。In the first aspect, an edge-side model inference method is provided, which can be executed by an edge computing device in an IOT system. The method may include: an application running on an edge computing device subscribes to an inference process subtask of model inference; the application program obtains data used to execute the inference process subtask; and the application program calls the edge computing device The first API of the model inference service running on the computer to execute the inference process subtask based on the data; the application program obtains the model inference result of the inference process subtask from the response of the first API; The application program publishes the model inference result.
第二方面,提供一种IOT系统中的边缘计算设备,包括:一个应用程序模块,被配置为运行一个应用程序;一个模型推断服务模块,被配置为提供模型推断服务;其中,所述应用 程序模块运行所述应用程序,以完成如下操作:订阅模型推断的推断过程子任务;获得执行所述推断过程子任务所使用的数据;调用所述模型推断服务的第一API,以基于所述数据执行所述推断过程子任务;从所述第一API的响应中获取所述推断过程子任务的模型推断结果;发布所述模型推断结果。In a second aspect, an edge computing device in an IOT system is provided, including: an application module configured to run an application program; a model inference service module configured to provide model inference service; wherein, the application program The module runs the application to complete the following operations: subscribe to the subtasks of the inference process of model inference; obtain the data used to execute the subtasks of the inference process; call the first API of the model inference service based on the data Execute the inference process subtask; obtain the model inference result of the inference process subtask from the response of the first API; publish the model inference result.
第三方面,提供一种IOT系统中的边缘计算设备,包括:至少一个处理器,被配置为执行第一方面所提供的方法。In a third aspect, an edge computing device in an IOT system is provided, including: at least one processor configured to execute the method provided in the first aspect.
第四方面,提供一种IOT系统中的边缘计算设备,包括:至少一个存储器,被配置为存储计算机可读代码;所述至少一个处理器,被配置为当调用所述计算机可读代码时执行第一方面所提供的方法。In a fourth aspect, there is provided an edge computing device in an IOT system, including: at least one memory configured to store computer-readable code; and the at least one processor configured to execute when the computer-readable code is invoked The method provided in the first aspect.
第五方面,提供一种计算机可读介质,所述计算机可读介质存储有计算机可读代码,当所述计算机可读代码被至少一个处理器执行时,执行第一方面所提供的方法。In a fifth aspect, a computer-readable medium is provided, the computer-readable medium stores computer-readable code, and when the computer-readable code is executed by at least one processor, the method provided in the first aspect is executed.
在上述任意方面中,模型推断由边缘计算设备执行,模型推断所基于数据无需在边缘侧和平台侧之间传输,仅需要传送模型推断结果,缩短了模型推断时长,减少对IOT系统带宽的占用,满足IOT系统实时性要求。并且,由于在边缘侧实现了模型推断,极大地保护了边缘侧用户数据的私密性。此外,在边缘计算设备上集成了模型推断服务,设计了应用程序来订阅推断过程子任务,获取推断所使用数据,并调用模型推断服务,无需重新设计模型推断服务的逻辑,仅通过设计简单的应用程序,通过API调用的方式实现了模型推断,实现简单。In any of the above aspects, the model inference is performed by the edge computing device, and the data based on the model inference does not need to be transmitted between the edge side and the platform side, only the model inference results need to be transmitted, which shortens the model inference time and reduces the occupation of the IOT system bandwidth , To meet the real-time requirements of the IOT system. Moreover, since the model inference is implemented on the edge side, the privacy of user data on the edge side is greatly protected. In addition, the model inference service is integrated on the edge computing device, and the application is designed to subscribe to the subtasks of the inference process, obtain the data used in the inference, and call the model inference service. There is no need to redesign the logic of the model inference service, only by designing simple The application program implements model inference through API calls, which is simple to implement.
对于前述的任一方面,可选地,所述应用程序获得执行所述推断过程子任务所使用的数据时,可获得执行所述推断过程子任务所使用的数据的地址链接,再从所述地址链接处获取所述数据。这样,实现了数据的简单方便的获取。For any of the foregoing aspects, optionally, when the application program obtains the data used to execute the subtask of the inference process, it can obtain the address link of the data used to execute the subtask of the inference process, and then obtain the data from the Get the data at the address link. In this way, simple and convenient data acquisition is realized.
对于前述的任一方面,可选地,所述应用程序还获取执行所述推断过程子任务所基于的模型的信息,并调用所述模型推断服务的第二API,以基于所述模型的信息确定所述模型推断服务是否能够执行所述推断过程子任务,以确保后续模型推断过程的顺利进行。For any of the foregoing aspects, optionally, the application program further obtains information about the model on which the subtask of the inference process is executed, and calls the second API of the model inference service to base the information on the model It is determined whether the model inference service can execute the subtasks of the inference process, so as to ensure the smooth progress of the subsequent model inference process.
对于前述的任一方面,可选地,所述应用程序还对所述模型推断结果进行后处理,并在发布所述模型推断结果时,发布经过后处理的所述模型推断结果。For any of the foregoing aspects, optionally, the application program further performs post-processing on the model inference result, and when publishing the model inference result, publishes the post-processed model inference result.
对于前述的任一方面,可选地,所述应用程序还调用所述模型推断服务的第三API,并从所述第三API的响应中获得执行所述推断过程子任务所基于的模型的元信息,并且在所述模型推断结果时,发布所述模型推断结果和所述元信息。共同发布的元信息可辅助标记模型推断结果,并为模型推断结果的分析提供参考。For any of the foregoing aspects, optionally, the application program further calls the third API of the model inference service, and obtains from the response of the third API the information of the model on which the subtask of the inference process is executed. Meta-information, and when the model inferred result, the model inferred result and the meta-information are released. The jointly released meta-information can assist in marking model inference results and provide a reference for the analysis of model inference results.
对于前述的任一方面,可选地,所述应用程序和所述模型推断服务是在一个容器的镜像 上运行的。For any of the foregoing aspects, optionally, the application program and the model inference service run on a container image.
这样,在边缘计算设备完成模型推断的推断过程子任务完成后,可从容器的镜像上释放执行应用程序和模型推断服务所使用的计算能力。这样释放出来的计算能力可用于完成其他子任务,或者用于执行该边缘计算设备自身的处理任务。由于边缘计算设备计算能力通常较小,采用轻量容器的方式可以极大地减少对边缘计算设备计算能力的占用,在容器的镜像上执行微服务,可在需要执行子任务时快速启动执行过程,而在子任务执行完毕后能够快速释放计算能力。In this way, after the edge computing device completes the subtasks of the inference process of model inference, the computing power used to execute the application and the model inference service can be released from the image of the container. The computing power released in this way can be used to complete other subtasks, or to perform processing tasks of the edge computing device itself. Because the computing power of edge computing devices is usually small, the use of lightweight containers can greatly reduce the occupation of computing power of edge computing devices. Executing microservices on the image of the container can quickly start the execution process when subtasks need to be performed. The computing power can be quickly released after the subtasks are executed.
附图说明Description of the drawings
图1为本发明实施例提供的边缘计算系统的结构示意图。Fig. 1 is a schematic structural diagram of an edge computing system provided by an embodiment of the present invention.
图2示出了MQTT通信流程。Figure 2 shows the MQTT communication process.
图3示出了本发明实施例中加密的MQTT通信流程。Figure 3 shows the encrypted MQTT communication process in the embodiment of the present invention.
图4示出了本发明部分实施例提供的边缘计算设备内部的分层结构。Fig. 4 shows the internal layered structure of the edge computing device provided by some embodiments of the present invention.
图5为本发明实施例提供的边缘侧模型推断方法的流程图。Fig. 5 is a flowchart of an edge-side model inference method provided by an embodiment of the present invention.
[根据细则91更正 04.10.2020] 
图6为本发明实施例提供的边缘计算设备的一种结构示意图。
[Corrected according to Rule 91 04.10.2020]
Fig. 6 is a schematic structural diagram of an edge computing device provided by an embodiment of the present invention.
[根据细则91更正 04.10.2020] 
图7为本发明实施例提供的边缘计算设备的另一种结构示意图。
[Corrected according to Rule 91 04.10.2020]
FIG. 7 is a schematic diagram of another structure of an edge computing device provided by an embodiment of the present invention.
附图标记列表:List of reference signs:
10:边缘计算系统10: Edge Computing System
20:数据源20: Data source
101:边缘计算设备101: Edge Computing Equipment
102:消息转发器102: message forwarder
103:原始数据库103: Original database
104:分布式对象存储104: Distributed Object Storage
21~26:边缘计算设备上运行的应用程序,用于完成模型处理的子任务21~26: Applications running on edge computing devices to complete the subtasks of model processing
201:MQTT服务器201: MQTT server
202:MQTT客户端202: MQTT client
203:发布消息203: Post a message
204:订阅消息204: Subscribe to news
205:鉴权服务器205: authentication server
206:鉴权秘钥对-鉴权服务器侧(CA key pair),包括一个公钥206a和一个私钥206b206: Authentication key pair-authentication server side (CA key pair), including a public key 206a and a private key 206b
207:鉴权证书-鉴权服务器侧(CA certificate)207: Authentication certificate-authentication server side (CA certificate)
208:鉴权秘钥对-MQTT服务器侧(CA server key),包括一个公钥208a和一个私钥208b208: Authentication key pair-MQTT server side (CA server key), including a public key 208a and a private key 208b
209:鉴权证书-MQTT服务器侧(Server certificate)209: Authentication certificate-MQTT server side (Server certificate)
210:鉴权证书签名请求210: Authentication certificate signing request
211:鉴权证书响应211: Authentication certificate response
400:核心处理器(Core,一个CPU可以包括一个或多个核心处理器)400: Core processor (Core, a CPU can include one or more core processors)
401:物理机的虚拟化(Bare Metal virtualization),比如:采用Hypervisor虚拟化的方式401: Bare Metal virtualization of physical machines, for example: Hypervisor virtualization
402:可编辑逻辑控制器PLC操作系统402: Editable logic controller PLC operating system
403:标准操作系统,比如:Linux操作系统403: Standard operating system, such as: Linux operating system
404:实时操作系统,比如Debian RT Linux404: Real-time operating system, such as Debian RT Linux
405:容器,比如Docker405: Containers, such as Docker
406:与PLC控制功能相关的部分406: Parts related to PLC control functions
407:C/C++运行时(runtime)环境407: C/C++ runtime (runtime) environment
408:应用程序408: Application
409:模型推断服务409: Model Inference Service
S501:订阅推断过程子任务S501: Subscription inference process subtask
S502:获取数据S502: Get data
S503:调用模型推断服务的第二API,确定模型推断服务是否能够执行模型推断过程子任务S503: Call the second API of the model inference service to determine whether the model inference service can perform the subtasks of the model inference process
S504:调用模型推断服务的第三API,获取模型元信息S504: Call the third API of the model inference service to obtain model meta information
S505:调用模型推断服务的第一API,执行推断过程子任务S505: Call the first API of the model inference service and execute the subtasks of the inference process
S506:对模型推断结果进行后处理S506: Post-processing the model inference result
S507:发布模型推断结果S507: Publish model inference results
1011:应用程序模块1011: Application module
1012:模型推断服务模块1012: Model inference service module
1013:处理器1013: Processor
1014:存储器1014: memory
1015:通信模块1015: Communication module
1016:总线1016: Bus
具体实施方式Detailed ways
下面,为了使本发明实施例的目的、技术方案和优点更加清楚明白,以下参照附图对本发明实施例进一步详细说明。其中,后续描述的实施例仅仅是本发明实施例的一部分,而非全部的实施例。In the following, in order to make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the following further describes the embodiments of the present invention in detail with reference to the drawings. Among them, the embodiments described later are only a part of the embodiments of the present invention, rather than all the embodiments.
图1为本发明实施例提供的边缘计算系统10的结构示意图。该边缘计算系统10位于一个IOT系统的边缘侧,可从同样位于边缘侧的数据源20处获取数据,边缘计算系统10中的边缘计算设备101基于获取的数据进行处理。比如:本发明实施例中的模型推断等。FIG. 1 is a schematic structural diagram of an edge computing system 10 provided by an embodiment of the present invention. The edge computing system 10 is located on the edge of an IOT system, and can obtain data from a data source 20 also located on the edge. The edge computing device 101 in the edge computing system 10 performs processing based on the obtained data. For example: model inference in the embodiment of the present invention.
以一个工业IOT系统(IIOT)为例,从数据源20处获取的数据包括但不限于各种工业设备运行过程中采集的传感器数据,比如:温度、湿度、电机转速、图片、图像等。边缘计算设备101可包括但不限于:嵌入式工业PC机(比如:西门子IP2x7IP4x7)、高端工业PC机(比如:西门子IP6x7IP8x7)、高级工业PC机(比如:西门子IP5x7)、工业网关(比如IOT2040)、可编程逻辑控制器PLC、数控机床CNC机床、运动控制器等。本发明实施例中可利用这些边缘计算设备101空闲的计算能力进行模型推断。Taking an industrial IOT system (IIOT) as an example, the data obtained from the data source 20 includes but is not limited to sensor data collected during the operation of various industrial equipment, such as temperature, humidity, motor speed, pictures, images, etc. The edge computing device 101 may include, but is not limited to: embedded industrial PCs (for example: Siemens IP2x7IP4x7), high-end industrial PCs (for example: Siemens IP6x7IP8x7), advanced industrial PCs (for example: Siemens IP5x7), industrial gateways (for example, IOT2040) , Programmable logic controller PLC, CNC machine tool CNC machine tool, motion controller, etc. In the embodiment of the present invention, idle computing capabilities of these edge computing devices 101 can be used for model inference.
从数据源20处获取的数据在经过预处理之前可存储在原始数据库103中。以一个IIOT系统为例,工业设备运行过程中采集得到的传感器数据等数据通常带有时间戳,可视为时间序列,因此,原始数据库103的一个可选实现方式为时间序列数据库。The data obtained from the data source 20 can be stored in the original database 103 before being preprocessed. Taking an IIoT system as an example, the sensor data and other data collected during the operation of industrial equipment are usually time-stamped and can be regarded as time series. Therefore, an optional implementation of the original database 103 is a time series database.
在本发明的一些实施例中,边缘计算设备101可通过在其上运行的应用程序来进行模型推断等处理。其中,诸如模型推断等模型处理可分为多个子任务,分别由不同的应用程序来完成,这些应用程序可包括但不限于:In some embodiments of the present invention, the edge computing device 101 may perform processing such as model inference through an application program running on it. Among them, model processing such as model inference can be divided into multiple subtasks, which are completed by different applications. These applications can include but are not limited to:
应用程序21:用于完成后处理子任务的应用程序,简称“后处理程序21”;Application program 21: an application program used to complete post-processing subtasks, referred to as "post-processing program 21";
应用程序22:用于完成预处理子任务的应用程序,简称“预处理程序22”;Application 22: an application used to complete preprocessing subtasks, referred to as "preprocessing 22";
应用程序23:用于完成模型推断的推断过程、模型加载、模型更新子任务的应用程序,简称“模型服务器程序23”;Application 23: an application used to complete the subtasks of model inference, model loading, and model update, referred to as "model server program 23";
应用程序24:用于完成模型训练的训练过程子任务的应用程序,简称“训练服务器程序24”;Application program 24: an application program used to complete the sub-tasks of the training process of model training, referred to as "training server program 24";
应用程序25:用于完成协议转换子任务的应用程序,简称“网关程序25”;Application 25: an application used to complete the protocol conversion subtasks, referred to as "gateway program 25";
应用程序26:用于完成训练过程监视子任务的应用程序,简称“监视程序26”。Application program 26: an application program used to complete the monitoring subtasks of the training process, referred to as "monitoring program 26".
从数据源20处获取的数据经过网关程序25进行协议转换后,存储在原始数据库103中。比如:对于一个IIOT系统,网关程序25可将分别属于不同工业协议的数据转换为统一的协 议,比如:MQTT协议。The data obtained from the data source 20 is stored in the original database 103 after the gateway program 25 performs protocol conversion. For example, for an IIoT system, the gateway program 25 can convert data belonging to different industrial protocols into a unified protocol, such as the MQTT protocol.
预处理程序22对从数据源20处获取的数据进行预处理,比如:从原始数据库103中存储的数据中选择一定范围内的数据以用于模型推断。预处理后的数据被持久化存储,比如可存储在分布式对象存储104中,或者存储在一个专用的存储服务器上等。The preprocessing program 22 performs preprocessing on the data obtained from the data source 20, for example, selecting data within a certain range from the data stored in the original database 103 for model inference. The preprocessed data is stored persistently, for example, it can be stored in the distributed object storage 104, or stored on a dedicated storage server.
训练服务器程序24基于预处理后的数据进行模型训练。The training server program 24 performs model training based on the preprocessed data.
模型服务器程序23加载已训练完成的模型并进行模型推断。The model server program 23 loads the trained model and performs model inference.
后处理程序21可对模型推断的结果进行处理,比如:将模型推断的结果用表格的方式组织,以比如容易理解和观察的方式呈现给用户等。The post-processing program 21 can process the results of the model inference, for example, organize the results of the model inference in a table, and present it to the user in a way that is easy to understand and observe.
此外,也可以一个应用程序完成上述应用程序21~26中多个应用程序的功能。比如:一个应用程序完成推断过程子任务和后处理子任务。In addition, one application program can also complete the functions of multiple applications among the above-mentioned application programs 21 to 26. For example: an application completes the subtasks of the inference process and the post-processing subtasks.
采用图1所示的边缘计算系统10,模型处理的任务可划分为各个子任务,由各个边缘计算设备101上运行的对应的应用程序来分别完成,最终完成整个模型处理的任务。在一个子任务执行完毕后,执行该子任务的边缘计算设备101发送该子任务的执行结果,以触发其他边缘计算设备101执行后续的子任务。采用边缘计算设备101之间相互触发子任务的方式,使得整个模型处理的任务得以最终完成,中间过程无需IOT系统平台侧的处理,而由边缘侧处理完成,无需数据和处理结果在边缘侧与平台侧之间传送,降低了任务的处理时延,提高了整个IOT系统的运行效率。Using the edge computing system 10 shown in FIG. 1, the tasks of model processing can be divided into subtasks, which are respectively completed by corresponding applications running on each edge computing device 101, and finally the entire model processing task is completed. After the execution of a subtask is completed, the edge computing device 101 executing the subtask sends the execution result of the subtask to trigger other edge computing devices 101 to execute subsequent subtasks. Using the method of mutual triggering of sub-tasks between edge computing devices 101, the tasks of the entire model processing can be finally completed. The intermediate process does not require processing on the platform side of the IOT system, but is processed by the edge side, without the need for data and processing results on the edge Transmission between platform sides reduces the processing delay of tasks and improves the operating efficiency of the entire IOT system.
图1所示的各个边缘计算设备1014之间可通过消息转发器102进行通信。或者各个边缘设备1014之间组成一个自组织网络,两两边缘计算设备101之间直接通信。一种可选的通信方式是,各个边缘计算设备1016基于MQTT协议进行通信。如图2所示,各个边缘计算设备101作为MQTT客户端202,通过MQTT服务器201(相当于消息转发器102)进行消息转发。比如:一个边缘计算设备101向MQTT服务器201发送一条订阅消息,以订阅模型推断的推断过程子任务。另一个边缘计算设备101在模型推断所基于的数据已经预处理完毕后,向MQTT服务器201发送发布消息,通知模型推断所基于的数据已经预处理完毕。MQTT服务器2011在收到该发布消息后转发至订阅了推断过程子任务的边缘计算设备101。The edge computing devices 1014 shown in FIG. 1 can communicate with each other through the message forwarder 102. Or, each edge device 1014 forms an ad hoc network, and the two edge computing devices 101 communicate directly. An optional communication method is that each edge computing device 1016 communicates based on the MQTT protocol. As shown in FIG. 2, each edge computing device 101 acts as an MQTT client 202, and forwards messages through an MQTT server 201 (equivalent to a message forwarder 102). For example, an edge computing device 101 sends a subscription message to the MQTT server 201 to subscribe to the subtask of the inference process inferred by the model. After the data on which the model inference is based has been preprocessed, the other edge computing device 101 sends a release message to the MQTT server 201 to notify that the data on which the model inference is based has been preprocessed. After receiving the publish message, the MQTT server 2011 forwards it to the edge computing device 101 that has subscribed to the subtask of the inference process.
可选地,本发明实施例中,各个边缘计算设备101之间可基于采用了加密机制的MQTT协议进行通信。采用了安全套阶层/传输层安全(SSL/TLS)加密方式的MQTT通信流程可如图3所示。其中,鉴权服务器205创建一个鉴权秘钥对(CA key pair)206,其中包括一个公钥206a和一个私钥206b。鉴权服务器205创建一个鉴权证书(CA certificate)207,并使用私钥206b为鉴权证书207签名。MQTT服务器201创建鉴权秘钥对-MQTT服务器侧(CA server  key)208,并使用鉴权密钥对-MQTT服务器侧208中的公钥208a创建一条鉴权证书签名请求210,发送至鉴权服务器205。鉴权服务器205将鉴权证书-鉴权服务器侧207通过响应211返回至MQTT服务器201,MQTT服务器201使用公钥208a对鉴权证书-鉴权服务器侧207进行签名后得到鉴权证书-MQTT服务器侧209。鉴权服务器205将鉴权证书-鉴权服务器侧207发送至MQTT客户端202,而MQTT服务器201将经过了公钥208a签名后的鉴权证书-MQTT服务器侧209发送至MQTT客户端202。MQTT客户端202验证鉴权证书-MQTT服务器侧209和鉴权证书-鉴权服务器侧207,并得到MQTT服务器201用于对数据加密的公钥208a。后续MQTT客户端202和MQTT服务器201之间通信过程中,MQTT客户端202使用公钥208a对消息进行加密,而MQTT服务器201使用私钥208b进行解密。Optionally, in this embodiment of the present invention, each edge computing device 101 may communicate based on the MQTT protocol that uses an encryption mechanism. The MQTT communication process using the Secure Socket Layer/Transport Layer Security (SSL/TLS) encryption method can be shown in Figure 3. Wherein, the authentication server 205 creates an authentication key pair (CA key pair) 206, which includes a public key 206a and a private key 206b. The authentication server 205 creates an authentication certificate (CA certificate) 207, and uses the private key 206b to sign the authentication certificate 207. The MQTT server 201 creates an authentication key pair-MQTT server side (CA server key) 208, and uses the public key 208a in the authentication key pair-MQTT server side 208 to create an authentication certificate signing request 210, and sends it to authentication Server 205. The authentication server 205 returns the authentication certificate-authentication server side 207 to the MQTT server 201 via a response 211, and the MQTT server 201 uses the public key 208a to sign the authentication certificate-authentication server side 207 to obtain the authentication certificate-MQTT server Side 209. The authentication server 205 sends the authentication certificate-authentication server side 207 to the MQTT client 202, and the MQTT server 201 sends the authentication certificate-MQTT server side 209 signed by the public key 208a to the MQTT client 202. The MQTT client 202 verifies the authentication certificate-MQTT server side 209 and the authentication certificate-authentication server side 207, and obtains the public key 208a used by the MQTT server 201 to encrypt data. In the subsequent communication process between the MQTT client 202 and the MQTT server 201, the MQTT client 202 uses the public key 208a to encrypt the message, and the MQTT server 201 uses the private key 208b to decrypt the message.
采用加密机制的MQTT协议保证了边缘计算系统10中各个边缘计算设备101之间通信的安全。The MQTT protocol adopting an encryption mechanism ensures the security of communication between the edge computing devices 101 in the edge computing system 10.
本发明实施例中,利用了边缘计算设备的计算能力来进行模型推断。应用程序和模型推断服务运行在边缘计算设备上,应用程序通过调用模型推断服务提供的API来使用模型推断服务所提供的服务。应用程序实现与其他边缘计算设备之间的通信,可选地,还可以实现数据的预处理和后处理。In the embodiment of the present invention, the computing capability of the edge computing device is used for model inference. Applications and model inference services run on edge computing devices, and applications use the services provided by the model inference service by calling the API provided by the model inference service. The application program implements communication with other edge computing devices, and optionally, can also implement data pre-processing and post-processing.
以图4示出的西门子四核S7-1500 PLC作为边缘计算设备101的一个例子。该PLC可包括如下四层:Take the Siemens quad-core S7-1500 PLC shown in FIG. 4 as an example of the edge computing device 101. The PLC can include the following four layers:
第一层为核心处理器(Core)400,S7-1500 PLC包括四个核心处理器,其中左边两个核心处理器上运行PLC操作系统402,在PLC操作系统402运行与PLC控制功能相关的软件406。第三个核心处理器上可运行标准操作系统403,其上可运行C/C++运行时(runtime)环境。最后一个核心处理器上可运行实时操作系统404,在其上运行本发明实施例中与模型推断相关的应用程序408,以及模型推断服务409。其中应用程序408可包括前述的应用程序21~26中一个或多个与模型推断相关的应用程序。第二层可为物理机的虚拟化(Bare Metal virtualization)401,比如:采用Hypervisor虚拟化的方式。The first layer is the core processor (Core) 400, S7-1500 PLC includes four core processors, of which the two core processors on the left run the PLC operating system 402, and the PLC operating system 402 runs software related to PLC control functions 406. A standard operating system 403 can be run on the third core processor, and a C/C++ runtime environment can be run on it. A real-time operating system 404 can be run on the last core processor, and an application program 408 related to model inference and a model inference service 409 in the embodiment of the present invention can be run on it. The application program 408 may include one or more of the aforementioned application programs 21 to 26 related to model inference. The second layer may be a physical machine virtualization (Bare Metal virtualization) 401, for example, using a Hypervisor virtualization method.
可选地,应用程序408和模型推断服务409可在容器中运行。边缘计算设备101获取一个容器405(比如:docker)的镜像,进而在该容器405的镜像上运行应用程序408和模型推断服务409。在边缘计算设备101完成模型推断的推断过程子任务完成后,从容器405的镜像上释放执行应用程序408和模型推断服务409所使用的计算能力。这样释放出来的计算能力可用于完成其他子任务,或者用于执行该边缘计算设备101自身的处理任务,比如:一个 PLC完成自身的生产过程控制的任务。由于边缘计算设备101计算能力通常较小,采用轻量容器的方式可以极大地减少对边缘计算设备101计算能力的占用,在容器的镜像上执行微服务,可在需要执行子任务时快速启动执行过程,而在子任务执行完毕后能够快速释放计算能力。Optionally, the application 408 and the model inference service 409 may run in a container. The edge computing device 101 obtains an image of a container 405 (for example: docker), and then runs an application 408 and a model inference service 409 on the image of the container 405. After the edge computing device 101 completes the subtask of the inference process of model inference, the computing power used by the execution application 408 and the model inference service 409 is released from the image of the container 405. The computing power released in this way can be used to complete other subtasks, or to perform processing tasks of the edge computing device 101 itself, for example, a PLC completes its own production process control tasks. Since the computing power of the edge computing device 101 is usually small, the use of lightweight containers can greatly reduce the occupation of the computing power of the edge computing device 101. The microservices can be executed on the image of the container to quickly start execution when subtasks need to be executed. Process, and the computing power can be quickly released after the subtasks are executed.
可选地,应用程序408可以采用微服务的方式来实现。通过微服务可以简化边缘计算设备101上运行的应用逻辑,将复杂的模型推断逻辑解耦为一系列相对独立的微服务,模型处理的子任务由各项微服务来完成,执行速度更快,所需计算能力小,能够充分利用边缘计算设备101的空闲的计算能力。Optionally, the application program 408 may be implemented in a microservice manner. Through microservices, the application logic running on the edge computing device 101 can be simplified, and the complex model inference logic can be decoupled into a series of relatively independent microservices. The subtasks of model processing are completed by various microservices, and the execution speed is faster. The required computing power is small, and the idle computing power of the edge computing device 101 can be fully utilized.
图5为本发明实施例提供的边缘侧模型推断方法的流程图。该流程可由边缘计算设备101执行,可包括如下步骤:Fig. 5 is a flowchart of an edge-side model inference method provided by an embodiment of the present invention. This process can be executed by the edge computing device 101 and can include the following steps:
S501:订阅推断过程子任务。S501: Subscribe to the subtask of the inference process.
在步骤S501,边缘计算设备101上运行的应用程序408向消息转发器102发送一条订阅消息,订阅模型推断的推断过程子任务。In step S501, the application 408 running on the edge computing device 101 sends a subscription message to the message forwarder 102 to subscribe to the subtask of the inference process of model inference.
S502:获取数据。S502: Obtain data.
在步骤502,当有可以用于执行上述推断过程子任务的数据时,消息转发器102向边缘计算设备101发送一条发布消息,若基于MQTT协议实现边缘计算设备101之间的通信,则该发布消息与步骤S501消息中的订阅消息具有相同的主题。其中,发布消息中可包括用于执行推断过程子任务的数据;或者当数据量较大时,消息转发器102可在发布消息中携带存放该数据的分布式对象存储104的链接,比如:hdfs://<inference_input_file>。此外,该发布消息中还可包括执行推断子任务所基于的模型的模型名称、模型版本、推断类型(分类、回归、预测等)。边缘计算设备101从该链接处获取数据。In step 502, when there is data that can be used to perform the subtasks of the above inference process, the message forwarder 102 sends a release message to the edge computing device 101. If the communication between the edge computing devices 101 is implemented based on the MQTT protocol, the release message The message has the same subject as the subscription message in the message of step S501. Among them, the published message may include data used to perform subtasks of the inference process; or when the amount of data is large, the message forwarder 102 may carry a link to the distributed object store 104 that stores the data in the published message, such as hdfs : //<inference_input_file>. In addition, the release message may also include the model name, model version, and inference type (classification, regression, prediction, etc.) of the model on which the inference subtask is executed. The edge computing device 101 obtains data from the link.
S503:调用模型推断服务的第二API,确定模型推断服务409是否能够执行推断过程子任务。S503: Call the second API of the model inference service to determine whether the model inference service 409 can execute the subtask of the inference process.
在步骤S503,应用程序408可调用模型推断服务409的第二API,以确定模型推断服务409是否能够执行该推断过程子任务。若确定能够执行该推断过程子任务,则执行步骤S505,以及可选步骤S504。In step S503, the application 408 may call the second API of the model inference service 409 to determine whether the model inference service 409 can execute the subtask of the inference process. If it is determined that the subtask of the inference process can be executed, step S505 and optional step S504 are executed.
S504:调用模型推断服务409的第三API,获取模型的元信息。S504: Call the third API of the model inference service 409 to obtain meta information of the model.
在步骤S504,应用程序408调用模型推断服务409的第三API,以获取执行该推断过程 子任务所基于的模型的元信息(metadata)。In step S504, the application program 408 calls the third API of the model inference service 409 to obtain the metadata of the model on which the subtask of the inference process is executed.
S505:调用模型推断服务409的第一API,执行推断过程子任务。S505: Call the first API of the model inference service 409 to execute the subtask of the inference process.
在步骤S505,应用程序408调用模型推断服务409的第一API,执行推断过程子任务。若模型推断服务409为Restful服务,则在调用第一API之前,应用程序408需要将执行推断过程子任务所基于的数据转换为JSON格式,再调用第一API。应用程序408向模型推断服务409发送API请求,并从响应中获得推断过程子任务的执行结果,即模型推断结果。In step S505, the application 408 calls the first API of the model inference service 409 to execute the subtask of the inference process. If the model inference service 409 is a Restful service, before calling the first API, the application 408 needs to convert the data on which the subtasks of the inference process are executed into a JSON format, and then call the first API. The application program 408 sends an API request to the model inference service 409, and obtains the execution result of the subtask of the inference process from the response, that is, the model inference result.
S506:对模型推断结果进行后处理。S506: Perform post-processing on the model inference result.
该可选步骤中,应用程序408对模型推断结果进行后处理,比如将模型推断结果可视化等。In this optional step, the application program 408 performs post-processing on the model inference result, such as visualizing the model inference result.
S507:发布模型推断结果。S507: Publish model inference results.
在步骤S507,应用程序408发布模型推断结果。In step S507, the application 408 publishes the model inference result.
其中,在步骤S501,应用程序408可通过订阅“推断输入”的主题来订阅推断过程子任务。Among them, in step S501, the application 408 may subscribe to the subtask of the inference process by subscribing to the topic of "inference input".
主题“推断输入”的一种可选实现方式如下:An optional implementation of the topic "inferred input" is as follows:
Figure PCTCN2019088193-appb-000001
Figure PCTCN2019088193-appb-000001
其中,主题为“InferenceInput”,shopfloor表示某工厂,datacollectionpoint1表示该工厂中的某数据采集点,forecastinput表示用于推断的数据输入。inputfile-link hdfs://<inference_input_file>表示执行推断过程子任务所基于的数据的链接。model name RNN_AlertForecast表示执行推断过程子任务所基于的模型的名称,model-version v1.1表示模型版本,inference-type forecast表示模型推断的类型。Among them, the subject is "InferenceInput", shopfloor means a factory, datacollectionpoint1 means a data collection point in the factory, and forecastinput means data input for inference. inputfile-link hdfs: //<inference_input_file> represents the link to the data on which the subtasks of the inference process are executed. model name RNN_AlertForecast represents the name of the model on which the subtasks of the inference process are executed, model-version v1.1 represents the model version, and inference-type forecast represents the type of model inference.
在步骤S507,应用程序408可发送主题为“推断输入”的发布消息,消息中包括模型推断结果。In step S507, the application 408 may send a publishing message with the subject of "inference input", and the message includes the model inference result.
主题“推断输出”的一种可选的实现方式如下:An optional implementation of the topic "inferred output" is as follows:
Figure PCTCN2019088193-appb-000002
Figure PCTCN2019088193-appb-000002
其中,主题为“InferenceOutput”,shopfloor表示某工厂,datacollectionpoint1表示该工厂中的某数据采集点,forecastoutput表示用于模型推断结果作为输出。outputfile-link hdfs://<inference_output_file>表示放置模型推断结果的链接。model name RNN_AlertForecast表示执行推断过程子任务所基于的模型的名称,model-version v1.1表示模型版本,inference-type forecast表示模型推断的类型。Among them, the subject is "InferenceOutput", shopfloor represents a factory, datacollectionpoint1 represents a data collection point in the factory, and forecastoutput represents the result of model inference as output. outputfile-link hdfs: //<inference_output_file> indicates the link where the model inference result is placed. model name RNN_AlertForecast represents the name of the model on which the subtasks of the inference process are executed, model-version v1.1 represents the model version, and inference-type forecast represents the type of model inference.
[根据细则91更正 17.06.2019] 
下面,结合图6和图7说明本发明实施例提供的边缘计算设备101的结构。图7为本发明实施例提供的边缘计算设备的一种结构示意图。如图7所示,边缘计算设备101可包括:
[Corrected according to Rule 91 17.06.2019]
Hereinafter, the structure of the edge computing device 101 provided by the embodiment of the present invention will be described in conjunction with FIG. 6 and FIG. 7. FIG. 7 is a schematic structural diagram of an edge computing device provided by an embodiment of the present invention. As shown in FIG. 7, the edge computing device 101 may include:
一个应用程序模块1011,被配置为运行一个应用程序;An application module 1011 is configured to run an application;
一个模型推断服务模块1012,被配置为提供模型推断服务;A model inference service module 1012, configured to provide model inference services;
其中,应用程序模块1011运行应用程序,以完成如下操作:订阅模型推断的推断过程子任务;获得执行推断过程子任务所使用的数据;调用模型推断服务的第一API,以基于数据执行推断过程子任务;从第一API的响应中获取推断过程子任务的模型推断结果;发布模型推断结果。Among them, the application module 1011 runs the application to complete the following operations: subscribe to the subtasks of the inference process of model inference; obtain the data used to execute the subtasks of the inference process; call the first API of the model inference service to perform the inference process based on the data Subtask; obtain the model inference result of the inference process subtask from the response of the first API; publish the model inference result.
可选地,应用程序模块1011运行应用程序,在获得执行推断过程子任务所使用的数据时,具体完成如下操作:获得执行推断过程子任务所使用的数据的地址链接;从地址链接处获取数据。Optionally, the application module 1011 runs the application, and when obtaining the data used to execute the subtask of the inference process, it specifically completes the following operations: obtain the address link of the data used to execute the subtask of the inference process; obtain the data from the address link .
可选地,应用程序模块1011运行应用程序,还完成如下操作:获取执行推断过程子任务所基于的模型的信息;调用模型推断服务的第二API,以基于模型的信息确定模型推断服务是否能够执行推断过程子任务。Optionally, the application module 1011 runs the application, and also completes the following operations: obtain information about the model on which the subtasks of the inference process are executed; call the second API of the model inference service to determine whether the model inference service can be based on the information of the model Perform subtasks of the inference process.
可选地,应用程序模块1011运行应用程序,还完成如下操作:对模型推断结果进行后处理;应用程序模块1011运行应用程序,在发布模型推断结果时,完成如下操作:应用程序发布经过后处理的模型推断结果。Optionally, the application module 1011 runs the application and also completes the following operations: post-processing the model inference result; the application module 1011 runs the application, and when publishing the model inference result, completes the following operations: the application is released after post-processing The model inferred results.
可选地,应用程序模块1011运行应用程序,还完成如下操作:调用模型推断服务的第三API,并从第三API的响应中获得执行推断过程子任务所基于的模型的元信息;应用程序模块1011运行应用程序,在发布模型推断结果时,完成如下操作:发布模型推断结果和元信息。Optionally, the application module 1011 runs the application, and also completes the following operations: call the third API of the model inference service, and obtain the meta information of the model on which the subtasks of the inference process are executed from the response of the third API; The module 1011 runs the application program and completes the following operations when publishing the model inference result: publishing the model inference result and meta-information.
可选地,应用程序和模型推断服务是在一个容器的镜像上运行的。Optionally, the application and the model inference service run on a container image.
[根据细则91更正 17.06.2019] 
图7为本发明实施例提供的边缘计算设备的另一种结构示意图。如图8所示,在此结构下,边缘计算设备101可包括至少一个存储器1015,用于存放计算机可读代码;至少一个处理器1014,被配置为执行至少一个存储器1015存储的计算机可读代码,执行前述边缘侧模型推断方法。其中,图8中示出的各个模块可视为存储器1015中存储的计算机可读代码编写的程序模块,当这些程序模块被处理器1014调用时,能够执行前述边缘侧模型推断方法。边缘计算设备101还可包括一个通信模块1016,边缘计算设备101通过该通信模块106与其他边缘计算设备101通信,在一些实施例中,与MQTT消息转发器102、分布式对象存储104、原始数据库103等通信。可选地,至少一个存储器1015,至少一个处理器1014以及通信模块1016之间可通过总线1017通信。
[Corrected according to Rule 91 17.06.2019]
FIG. 7 is a schematic diagram of another structure of an edge computing device provided by an embodiment of the present invention. As shown in FIG. 8, under this structure, the edge computing device 101 may include at least one memory 1015 for storing computer readable code; at least one processor 1014 is configured to execute the computer readable code stored in the at least one memory 1015 , Execute the aforementioned edge-side model inference method. The modules shown in FIG. 8 can be regarded as program modules written by computer readable codes stored in the memory 1015. When these program modules are called by the processor 1014, the aforementioned edge-side model inference method can be executed. The edge computing device 101 may also include a communication module 1016. The edge computing device 101 communicates with other edge computing devices 101 through the communication module 106. In some embodiments, it communicates with the MQTT message forwarder 102, the distributed object store 104, and the original database. 103 and other communications. Optionally, the at least one memory 1015, the at least one processor 1014, and the communication module 1016 may communicate with each other through a bus 1017.
此外,本发明实施例还提供一种计算机可读介质,该计算机可读介质存储有计算机可读代码,当该计算机可读代码被至少一个处理器执行时,实现前述的边缘侧模型处理方法。In addition, an embodiment of the present invention also provides a computer-readable medium storing computer-readable code, and when the computer-readable code is executed by at least one processor, the aforementioned edge-side model processing method is implemented.
综上,本发明实施例提供一种边缘侧模型处理方法、边缘计算设备和计算机可读介质,将边缘侧的空闲计算能力用于模型推断,有效利用了边缘侧的空闲计算能力,提高了IOT系统的实时性。In summary, the embodiments of the present invention provide an edge-side model processing method, an edge computing device, and a computer-readable medium, which use idle computing capacity on the edge side for model inference, effectively utilizes the idle computing capacity on the edge side, and improves IOT The real-time nature of the system.
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA)或专用集成电路(Application Specific Integrated Circuits,ASIC)等)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性 电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。In the above embodiments, the hardware unit can be implemented mechanically or electrically. For example, a hardware unit may include permanent dedicated circuits or logic (such as dedicated processors, Field-Programmable Gate Array (FPGA) or Application Specific Integrated Circuits (ASIC), etc.). Complete the corresponding operation. The hardware unit may also include programmable logic or circuits (such as general-purpose processors or other programmable processors), which may be temporarily set by software to complete corresponding operations. The specific implementation (mechanical, or dedicated permanent circuit, or temporarily set circuit) can be determined based on cost and time considerations.
上文通过附图和优选实施例对本发明实施例进行了详细展示和说明,然而本发明实施例不限于这些已揭示的实施例,基于上述实施例本领域技术人员可以知晓,可以组合上述不同实施例中的可选实现方式得到本发明更多的实施例,这些实施例也在本发明实施例的保护范围之内。The above embodiments of the present invention are shown and described in detail through the accompanying drawings and preferred embodiments. However, the embodiments of the present invention are not limited to these disclosed embodiments. Based on the above embodiments, those skilled in the art can know that the above different implementations can be combined. The alternative implementations in the examples result in more embodiments of the present invention, and these embodiments are also within the protection scope of the embodiments of the present invention.

Claims (15)

  1. 边缘侧模型推断方法,其特征在于,包括:The edge-side model inference method is characterized by including:
    一个物联网IOT系统中的一个边缘计算设备上运行的一个应用程序订阅模型推断的推断过程子任务;An application running on an edge computing device in an IoT system subscribes to the subtask of the inference process of model inference;
    所述应用程序获得执行所述推断过程子任务所使用的数据;The application program obtains the data used to execute the subtask of the inference process;
    所述应用程序调用所述边缘计算设备上运行的模型推断服务的第一API,以基于所述数据执行所述推断过程子任务;The application program calls the first API of the model inference service running on the edge computing device to execute the subtask of the inference process based on the data;
    所述应用程序从所述第一API的响应中获取所述推断过程子任务的模型推断结果;The application program obtains the model inference result of the inference process subtask from the response of the first API;
    所述应用程序发布所述模型推断结果。The application program publishes the model inference result.
  2. 如权利要求1所述的方法,其特征在于,所述应用程序获得执行所述推断过程子任务所使用的数据,包括:The method according to claim 1, wherein the application program obtaining the data used to execute the subtask of the inference process comprises:
    所述应用程序获得执行所述推断过程子任务所使用的数据的地址链接;The application program obtains the address link of the data used for executing the subtask of the inference process;
    所述应用程序从所述地址链接处获取所述数据。The application program obtains the data from the address link.
  3. 如权利要求1或2所述的方法,其特征在于,还包括:The method of claim 1 or 2, further comprising:
    所述应用程序获取执行所述推断过程子任务所基于的模型的信息;The application program obtains information about the model on which the subtask of the inference process is executed;
    所述应用程序调用所述模型推断服务的第二API,以基于所述模型的信息确定所述模型推断服务是否能够执行所述推断过程子任务。The application program calls the second API of the model inference service to determine whether the model inference service can execute the subtask of the inference process based on the information of the model.
  4. 如权利要求1~3任一项所述的方法,其特征在于,The method according to any one of claims 1 to 3, wherein:
    还包括:所述应用程序对所述模型推断结果进行后处理;It also includes: the application program performs post-processing on the model inference result;
    所述应用程序发布所述模型推断结果,包括:所述应用程序发布经过后处理的所述模型推断结果。The publishing of the model inference result by the application program includes: the application program publishing the post-processed model inference result.
  5. 如权利要求1~4任一项所述的方法,其特征在于,还包括:The method according to any one of claims 1 to 4, further comprising:
    所述应用程序调用所述模型推断服务的第三API,并从所述第三API的响应中获得执行所述推断过程子任务所基于的模型的元信息;The application program calls the third API of the model inference service, and obtains the meta information of the model on which the subtask of the inference process is executed from the response of the third API;
    所述应用程序发布所述模型推断结果,包括:所述应用程序发布所述模型推断结果和所述元信息。The application program publishing the model inference result includes: the application program publishing the model inference result and the meta information.
  6. 如权利要求1~5任一项所述的方法,其特征在于,所述应用程序和所述模型推断服务是在一个容器的镜像上运行的。The method according to any one of claims 1 to 5, wherein the application program and the model inference service run on a mirror image of a container.
  7. 一个IOT系统(10)中的一个边缘计算设备(101),其特征在于,包括:An edge computing device (101) in an IOT system (10) is characterized in that it includes:
    一个应用程序模块(1011),被配置为运行一个应用程序;An application module (1011), configured to run an application;
    一个模型推断服务模块(1012),被配置为提供模型推断服务;A model inference service module (1012), configured to provide model inference services;
    其中,所述应用程序模块(1011)运行所述应用程序,以完成如下操作:Wherein, the application program module (1011) runs the application program to complete the following operations:
    订阅模型推断的推断过程子任务;Subscription model inference process subtask;
    获得执行所述推断过程子任务所使用的数据;Obtain the data used to execute the subtasks of the inference process;
    调用所述模型推断服务的第一API,以基于所述数据执行所述推断过程子任务;Calling the first API of the model inference service to execute the subtask of the inference process based on the data;
    从所述第一API的响应中获取所述推断过程子任务的模型推断结果;Obtaining the model inference result of the subtask of the inference process from the response of the first API;
    发布所述模型推断结果。Publish the model inference results.
  8. 如权利要求7所述的设备,其特征在于,所述应用程序模块(1011)运行所述应用程序,在获得执行所述推断过程子任务所使用的数据时,具体完成如下操作:The device according to claim 7, characterized in that the application program module (1011) runs the application program, and when obtaining the data used to execute the subtasks of the inference process, it specifically completes the following operations:
    获得执行所述推断过程子任务所使用的数据的地址链接;Obtain the address link of the data used for executing the subtask of the inference process;
    从所述地址链接处获取所述数据。Obtain the data from the address link.
  9. 如权利要求7或8所述的设备,其特征在于,所述应用程序模块(1011)运行所述应用程序,还完成如下操作:The device according to claim 7 or 8, characterized in that the application program module (1011) runs the application program and further completes the following operations:
    获取执行所述推断过程子任务所基于的模型的信息;Acquiring information about the model on which the subtask of the inference process is executed;
    调用所述模型推断服务的第二API,以基于所述模型的信息确定所述模型推断服务是否能够执行所述推断过程子任务。The second API of the model inference service is called to determine whether the model inference service can execute the subtask of the inference process based on the information of the model.
  10. 如权利要求7~9任一项所述的设备,其特征在于,The device according to any one of claims 7-9, wherein:
    所述应用程序模块(1011)运行所述应用程序,还完成如下操作:对所述模型推断结果进行后处理;The application module (1011) runs the application, and also completes the following operations: post-processing the model inference result;
    所述应用程序模块(1011)运行所述应用程序,在发布所述模型推断结果时,完成如下操作:所述应用程序发布经过后处理的所述模型推断结果。The application program module (1011) runs the application program, and when publishing the model inference result, completes the following operations: the application program publishes the post-processed model inference result.
  11. 如权利要求7~10任一项所述的设备,其特征在于,The device according to any one of claims 7 to 10, wherein:
    所述应用程序模块(1011)运行所述应用程序,还完成如下操作:调用所述模型推断服务的第三API,并从所述第三API的响应中获得执行所述推断过程子任务所基于的模型的元信息;The application module (1011) runs the application, and also completes the following operations: call the third API of the model inference service, and obtain from the response of the third API the basis for executing the subtask of the inference process Meta information of the model;
    所述应用程序模块(1011)运行所述应用程序,在发布所述模型推断结果时,完成如下操作:发布所述模型推断结果和所述元信息。The application module (1011) runs the application, and when publishing the model inference result, completes the following operations: publishing the model inference result and the meta information.
  12. 如权利要求7~11任一项所述的设备,其特征在于,所述应用程序和所述模型推断服务是在一个容器的镜像上运行的。The device according to any one of claims 7 to 11, wherein the application program and the model inference service run on a mirror image of a container.
  13. 一个IOT系统(10)中的边缘计算设备(101),其特征在于,包括:An edge computing device (101) in an IOT system (10) is characterized in that it includes:
    至少一个处理器(1014),被配置为执行如权利要求1~6任一项所述的方法。At least one processor (1014) is configured to execute the method according to any one of claims 1 to 6.
  14. 如权利要求13所述的设备,其特征在于,还包括:The device of claim 13, further comprising:
    至少一个存储器(1015),被配置为存储计算机可读代码;At least one memory (1015) configured to store computer readable codes;
    所述至少一个处理器(1014),被配置为当调用所述计算机可读代码时执行如权利要求1~6任一项所述的方法。The at least one processor (1014) is configured to execute the method according to any one of claims 1 to 6 when the computer readable code is invoked.
  15. 计算机可读介质,其特征在于,所述计算机可读介质存储有计算机可读代码,当所述计算机可读代码被至少一个处理器执行时,如权利要求1~6任一项所述的方法。A computer-readable medium, wherein the computer-readable medium stores computer-readable code, and when the computer-readable code is executed by at least one processor, the method according to any one of claims 1 to 6 .
PCT/CN2019/088193 2019-05-23 2019-05-23 Edge side model inference method, edge computing device, and computer readable medium WO2020232718A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2019/088193 WO2020232718A1 (en) 2019-05-23 2019-05-23 Edge side model inference method, edge computing device, and computer readable medium
CN201980091419.3A CN113412495A (en) 2019-05-23 2019-05-23 Edge model inference method, edge calculation device, and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/088193 WO2020232718A1 (en) 2019-05-23 2019-05-23 Edge side model inference method, edge computing device, and computer readable medium

Publications (1)

Publication Number Publication Date
WO2020232718A1 true WO2020232718A1 (en) 2020-11-26

Family

ID=73459511

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/088193 WO2020232718A1 (en) 2019-05-23 2019-05-23 Edge side model inference method, edge computing device, and computer readable medium

Country Status (2)

Country Link
CN (1) CN113412495A (en)
WO (1) WO2020232718A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023050221A1 (en) * 2021-09-29 2023-04-06 Siemens Aktiengesellschaft System and method for subscription-based iot communication security

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170118311A1 (en) * 2015-10-22 2017-04-27 Saguna Networks Ltd. Methods Circuits Devices Systems and Functionally Associated Computer Executable Code for Facilitating Edge Computing on a Mobile Data Communication Network
CN107766889A (en) * 2017-10-26 2018-03-06 济南浪潮高新科技投资发展有限公司 A kind of the deep learning computing system and method for the fusion of high in the clouds edge calculations
CN108400917A (en) * 2018-01-22 2018-08-14 深圳大数点科技有限公司 A kind of edge calculations gateway and system towards intelligence manufacture

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617796A (en) * 2018-11-15 2019-04-12 江苏东洲物联科技有限公司 A kind of edge calculations gateway of rule-based engine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170118311A1 (en) * 2015-10-22 2017-04-27 Saguna Networks Ltd. Methods Circuits Devices Systems and Functionally Associated Computer Executable Code for Facilitating Edge Computing on a Mobile Data Communication Network
CN107766889A (en) * 2017-10-26 2018-03-06 济南浪潮高新科技投资发展有限公司 A kind of the deep learning computing system and method for the fusion of high in the clouds edge calculations
CN108400917A (en) * 2018-01-22 2018-08-14 深圳大数点科技有限公司 A kind of edge calculations gateway and system towards intelligence manufacture

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023050221A1 (en) * 2021-09-29 2023-04-06 Siemens Aktiengesellschaft System and method for subscription-based iot communication security

Also Published As

Publication number Publication date
CN113412495A (en) 2021-09-17

Similar Documents

Publication Publication Date Title
US11704577B1 (en) High performance machine learning inference framework for edge devices
US20210073021A1 (en) Packaging and deploying algorithms for flexible machine learning
JP6027615B2 (en) Cloud-based build service
US8468352B2 (en) Retrieving and using cloud based storage credentials
CN113627085B (en) Transverse federal learning modeling optimization method, equipment and medium
US10860398B2 (en) Adapting legacy endpoints to modern APIs
CN112632566B (en) Vulnerability scanning method and device, storage medium and electronic equipment
US11392402B1 (en) Coordinated migration of network-accessible services while maintaining service availability in prior environment
US8775507B2 (en) Rest interface for job submission
CN112565404A (en) Data processing method, edge server, center server and medium
CN112771518A (en) Managed machine learning model
US9614900B1 (en) Multi-process architecture for a split browser
WO2020232718A1 (en) Edge side model inference method, edge computing device, and computer readable medium
WO2020232717A1 (en) Edge-side model processing method, edge computing device, and computer readable medium
RU2696299C2 (en) Control when initiating elementary tasks on server platform
US11699093B2 (en) Automated distribution of models for execution on a non-edge device and an edge device
US11042424B1 (en) Pipelined request processing using shared memory
US10742712B2 (en) Web adaptation and hooking for virtual private integration systems and methods
JP7049641B2 (en) Communication device, information communication terminal device and communication method
WO2016095377A1 (en) Image display method and device for thin client and electronic equipment
US9026613B2 (en) Permanent connection oriented communication using parallel single connection circuits
CN112583652B (en) Industrial real-time data filtering method and device
WO2018112719A1 (en) Device invoking method, apparatus and system, and electronic device
WO2021226585A1 (en) Method and apparatus for implementing a ui modernization application module
CN117335928B (en) Engineering data transmission method, system and storage medium

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19929611

Country of ref document: EP

Kind code of ref document: A1