一种基于无服务器架构的物联网数据异常检测方法及系统

文档序号:1875313 发布日期:2021-11-23 浏览:4次 >En<

阅读说明:本技术 一种基于无服务器架构的物联网数据异常检测方法及系统 (Internet of things data anomaly detection method and system based on server-free architecture ) 是由 陈铭松 周亮 黄红兵 焦阳 马言悦 戴静安 于 2021-08-09 设计创作,主要内容包括:本发明公开了一种基于无服务器架构的物联网数据异常检测方法,所述方法包括:采用第三方物联网云平台作为物联网设备的接入端,所有物联网设备通过特定协议接入第三方物联网平台,并将采集的数据上报到第三方物联网平台;用户为接入系统的任一物联网设备选择合适的异常检测算法并配置相应的参数;采用无服务器架构实现数据异常检测端构建,根据算法和参数为设备自动生成和部署异常检测用的训练云函数和推理云函数。训练云函数训练异常检测模型并将其供推理云函数调用。部署完异常检测算法的设备上报的新数据点转发至推理云函数进行异常检测,并返回检测结果。本发明还提出了一种基于无服务器架构的物联网数据异常检测系统。(The invention discloses a server-free architecture-based data anomaly detection method for the Internet of things, which comprises the following steps: the method comprises the following steps that a third-party Internet of things cloud platform is used as an access end of Internet of things equipment, all the Internet of things equipment is accessed to the third-party Internet of things platform through a specific protocol, and collected data are reported to the third-party Internet of things platform; a user selects a proper anomaly detection algorithm for any Internet of things equipment accessed to the system and configures corresponding parameters; the data anomaly detection end is constructed by adopting a server-free framework, and a training cloud function and a reasoning cloud function for anomaly detection are automatically generated and deployed for equipment according to an algorithm and parameters. And training the cloud function to train the anomaly detection model and calling the anomaly detection model for the reasoning cloud function. And forwarding the new data points reported by the equipment with the deployed anomaly detection algorithm to a reasoning cloud function for anomaly detection, and returning a detection result. The invention further provides a system for detecting the data abnormality of the Internet of things based on the server-free architecture.)

一种基于无服务器架构的物联网数据异常检测方法及系统

技术领域

本发明属于计算机技术领域,涉及一种基于无服务器架构的物联网数据异常检测方法及系统。

背景技术

随着科学技术与经济建设的不断推进,物联网技术正蓬勃发展。一些专家学者提出了人工智能物联网的概念,旨在通过人工智能技术赋能传统物联网产业。物联网数据的异常检测是物联网与人工智能结合应用的领域之一。物联网系统由海量资源受限的终端节点构成,这些节点实时地将物理信息转换为数字信息并发送至云端或者边缘端存储以供人工智能应用分析使用。然而,在实际场景中由于外部环境、网络通信、设备故障或者恶意攻击等因素的影响,物联网设备采集到的数据中往往包含着异常——即与正常模式中的数据存在明显偏差的数据值。物联网场景中的异常检测是十分重要的,异常能提示外部环境突变、传感器节点故障、设备被入侵或攻击等有价值事件的发生,这对于提升物联网系统整体的安全性、稳定性,以及所分析数据的准确性都有重要意义。

尽管传统的物联网云平台在设备接入和管理、数据采集、指令下发等功能上相当成熟,但是它们都不支持机器学习算法的部署。机器学习、深度学习技术是目前大数据处理和分析的重要方式之一,但以OneNET为代表的传统物联网云平台只支持通过SQL查询的方式对设备数据进行查询和处理,难以满足如今物联网应用的需求。因此,如何将机器学习、深度学习等新技术与传统物联网云平台相结合用于异常检测任务,是本发明要解决的一个问题。

传统的物联网数据异常检测系统通常部署在IaaS虚拟机或PaaS应用平台上,开发人员在部署异常检测程序前需要根据预估系统的请求量,根据预估的请求预先购买一定量的云计算资源(计算资源、存储资源、网络资源等)用于支撑系统的运行。然而,这种方式存在以下问题:首先,物联网设备通常以固定频率周期性地上报数据,采用上述方式部署的异常检测程序需要7*24小时运行在服务器后台,在没有数据上报的时间段内会造成计算资源的极大浪费,产生“闲时计费”问题;其次,根据预估请求量购买的云计算资源在请求高峰时刻可能无法满足服务需要,在请求低谷时刻也会造成资源的浪费。如何避免上述问题是本发明要解决的另一个问题。

发明内容

为了解决现有技术存在的不足,本发明的目的是提供一种基于无服务器架构的物联网数据异常检测方法及系统。

本发明提供的方法包括如下步骤:

步骤1:使用第三方物联网云平台作为物联网设备的接入端,所有物联网设备通过特定协议接入第三方物联网云平台,并将采集的数据上报到第三方物联网云平台;

步骤2:用户为接入系统的任一物联网设备选择合适的异常检测算法并配置相应的参数;

步骤3:采用无服务器架构实现数据异常检测端的构建,根据算法和参数为设备自动生成和部署异常检测用的训练云函数和推理云函数;部署完毕后,训练云函数会根据设备的历史数据训练异常检测模型并将其保存在NAS文件存储服务中供推理云函数调用;

步骤4:部署完异常检测算法的设备上报的新数据点都会通过第三方物联网云平台数据推送服务转发至推理云函数进行异常检测,推理云函数从NAS文件存储服务中读取训练好的异常检测模型对新数据进行异常检测,并返回检测结果。

所述物联网云平台是指中国移动OneNET、阿里云IoT、Amazon IoT等第三方物联网云平台;所述设备接入端采用第三方物联网云平台实现,所述数据异常检测端采用阿里云函数计算平台实现。

步骤1中,所述特定协议具体是指MQTT、Modbus、HTTP等通信协议;所述采集的数据是物联网设备在不同场景下采集到的各类数值型数据。

步骤2中,所述异常检测算法包括IForest、CBLOF、OCSVM、AutoEncoder、DBSCAN等;所述配置的参数包括数据污染率及各异常检测算法所需的训练参数等。

步骤3中,所述检测模型的训练和推理都通过无服务器架构中的云函数实现,所述云函数按调用次数计费。

所述训练云函数和推理云函数都是根据模板自动生成并部署到无服务器计算平台上的;所述模板以文本文件的方式预置在系统内,其中的具体参数以模板字符串的方式占位;所述训练云函数和推理云函数是在算法部署时再根据前端传递的具体参数替换模板中的占位符自动生成的,通过阿里云函数计算平台提供的SDK实现自动部署。

a)基于传统物联网云平台的设备接入端实现方法:

本发明采用中国移动OneNET物联网云平台作为设备的接入端,所有物联网设备均采用特定协议接入OneNET云平台,所有物联网设备采集的数据均报送至OneNET云平台,通过OneNET云平台对设备进行管理,通过OneNET云平台的数据推送功能将数据推送至异常检测端进行异常检测。OneNET是中移物联推出的物联网应用开发平台,旨在为物联网应用程序提供安全可靠的设备连接通信能力,支持MQTT、TCP、EDP、NB-IoT、Modbus等多种设备协议,为物联网场景中的各类硬件终端提供了设备接入和管理、数据采集、命令下发等服务,并为应用开发提供了丰富的API和SDK。

b)基于无服务器架构的异常检测端实现方法:

为了将机器学习、深度学习等技术与OneNET云平台这样的传统物联网云平台相结合,进一步降低系统的部署和运行成本,本发明采用无服务器架构实现系统的异常检测端。无服务器并不是指不再需要后端服务器,而是指开发者可以摆脱开发应用程序所需要的服务器设置和管理工作,将这些操作交由云服务商来完成,开发人员自己则专注于具体业务的开发。无服务器架构是一种以事件驱动的云计算模式,通过在云上部署一系列的“云函数”并绑定相应的事件源,将其组织为微服务来支撑应用程序。云函数的每次触发执行都会被调度到一个新的临时容器中,执行完毕之后一段时间内该运行环境会被云服务商回收,因此云函数本身是无状态的。无状态特性使得云函数在请求高峰时可以迅速在多个容器中被实例化,从而支撑大规模并发请求。在没有请求时云函数不会被调度执行,当有突发的大量请求时云服务商会创建足够的运行实例来满足需求。由于云函数的调度执行是毫秒级别的,因此无服务器架构的自动缩扩容特性可以近乎完美地贴合负载变化。云函数一般按照调用次数或调用时间计费,未被调用时不产生任何费用,解决了传统云服务“闲时计费”的问题,大大节约了使用成本。本发明实现的异常检测系统部署在阿里云函数计算平台上,阿里云函数计算平台是阿里云提供的无服务器架构云服务。

c)异常检测系统中训练云函数与推理云函数自动生成部署的方法:

由于采用了无服务器架构,本发明实现的异常检测系统的异常检测端均以云函数的方式部署在阿里云函数计算平台上(云函数的结构如图2所示),在为物联网设备部署完异常检测算法之后,会在阿里云函数计算平台上为每台设备部署一个训练云函数与推理云函数,分别用于异常检测模型的训练,以及调用训练好的异常检测模型对新数据进行异常检测。本发明实现了训练云函数与推理云函数的自动生成与部署,本发明实现的异常检测系统中支持的所有算法都包含训练云函数模板与推理云函数模板两份模板,在部署算法时会将相应的算法参数填充到模板中生成对应的训练云函数代码和推理云函数代码,再通过阿里云函数计算平台提供的SDK进行自动部署,如图5所示。

本发明采用OneNET物联网云平台作为物联网设备的接入端,所有物联网设备通过特定协议与OneNET云平台相连,并报送数据至OneNET平台,通过OneNET平台的数据推送功能转发至无服务器异常检测端进行异常检测。

本发明采用阿里云函数计算平台提供的无服务器架构云服务实现数据的异常检测端,主要由与设备一一对应的训练云函数和推理云函数进行异常检测模型的训练与调用。无服务器架构中的云函数根据调用次数收费,不被调用时不计费,大大降低了成本。

本发明支持多种异常检测算法的部署,所有基于Python实现的异常检测算法程序都可以从训练代码和推理代码中抽取出算法主体保存为模板,在模型部署时再选择具体算法,将具体算法的参数填充到模板中生成训练云函数代码和推理云函数代码。

本发明支持训练云函数与推理云函数的自动部署,由模板生成的训练云函数代码和推理云函数代码能通过阿里云函数计算平台提供的SDK自动部署至云端,不需要使用人员手动部署。

本发明中基于无服务器架构的物联网数据异常检测系统的时序如图3所示,包括:1.系统用户创建虚拟设备,并设置消息推送;2.第三方物联网平台反馈设置成功;3.物联网设备通过特定协议接入平台;4.物联网设备上传一定量的设备数据;5.第三方物联网云平台转发数据到阿里云FaaS;6.阿里云FaaS反馈接收成功;7.阿里云FaaS储存数据到阿里云BaaS;8.系统用户为设备配置并部署异常检测算法;9.阿里云FaaS保存设备的算法配置;10.阿里云FaaS请求设备的历史数据;11.阿里云BaaS返回设备的历史数据;12.阿里云FaaS训练并导出检测模型;13.物联网设备上传新数据到第三方物联网云平台;14.第三方物联网云平台转发数据并触发检测;15.阿里云FaaS反馈接收成功;16.阿里云BaaS加载检测模型;17.阿里云FaaS进行异常告警;18.第三方物联网云平台对物联网设备进行命令下发;19.第三方物联网云平台对系统用户进行异常告警。

本发明还提供了一种实现上述方法的系统,所述系统包括数据转存模块,算法部署模块,云函数自动生成与部署模块以及训练和推理模块。

所述数据转存模块负责接收第三方物联网云平台推送过来的物联网设备数据,并存储到数据库中供后续部署算法和训练模型使用;

所述算法部署模块以Web页面形式为系统用户提供一个部署异常检测算法的窗口,系统用户可以在其中修改或输入需要选用的异常检测算法及相应参数;

所述云函数自动生成与部署模块负责根据模板和前端传递的参数自动生成训练云函数和推理云函数的代码,并通过函数计算平台提供的SDK自动部署至云端;

所述训练和推理模块以训练云函数和推理云函数的形式部署在阿里云函数计算平台中,分别负责训练异常检测模型和调用模型进行异常检测。

本发明还提出了一种实现上述方法的硬件系统,包括:存储器和处理器;所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,实现上述方法。

本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述方法。

本发明的有益效果包括:本发明结合传统的物联网云平台和新兴的无服务器架构,通过采用传统物联网云平台作为设备接入端降低了设备接入与管理的成本,通过无服务器架构构建异常检测端大幅降低了系统的部署和运行成本。无服务器架构中的云函数按需执行,不像传统云服务器一样有“闲时计费”问题,非常适合物联网这样请求呈现低频、周期性特点的场景。且无服务器架构在并发性能、响应速度上相比传统云计算模式更有优势,能更快地检测出物联网设备上报的异常数据。在现有的技术中,尚没有通过引入无服务器架构来降低物联网数据异常检测系统的成本、提高系统检测速度的。

附图说明

图1是本发明基于无服务器架构的物联网数据异常检测系统的架构图。

图2是本发明基于无服务器架构的物联网数据异常检测系统中云函数的结构图。

图3是本发明基于无服务器架构的物联网数据异常检测系统的时序图。

图4是本发明设备算法部署模块的操作界面示意图。

图5是本发明训练与推理云函数的自动生成部署的示意图。

具体实施方式

结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。

OneNET平台是中移物联网有限公司基于物联网技术和产业特点打造的物联网开放平台,支持各类传感器和智能硬件的快速接入和大数据服务,提供了丰富的API和应用模板以支持各类行业应用和智能硬件的开发,能够有效降低物联网应用开发和部署成本。设备端可以通过多种传输协议将数据上传至云端。

因此,采用中国移动OneNET物联网云平台作为设备的接入端,所有物联网设备均采用特定协议接入OneNET云平台,所有物联网设备采集的数据均报送至OneNET云平台,通过OneNET云平台对设备进行管理,通过OneNET云平台的数据推送功能将数据推送至异常检测端进行异常检测。

本发明中基于无服务器架构的物联网数据异常检测方法及系统,包括以下内容:

1、采用传统物联网云平台实现设备接入端:

本发明采用中国移动OneNET物联网云平台作为设备的接入端,所有物联网设备均采用特定协议接入OneNET云平台,所有物联网设备采集的数据均报送至OneNET云平台,通过OneNET云平台对设备进行管理,通过OneNET云平台的数据推送功能将数据推送至异常检测端进行异常检测。OneNET是中移物联推出的物联网应用开发平台,旨在为物联网应用程序提供安全可靠的设备连接通信能力,支持MQTT、TCP、EDP、NB-IoT、Modbus等多种设备协议,为物联网场景中的各类硬件终端提供了设备接入和管理、数据采集、命令下发等服务,并为应用开发提供了丰富的API和SDK。

2、采用无服务器架构实现异常检测端:

为了将机器学习、深度学习等技术与OneNET云平台这样的传统物联网云平台相结合,进一步降低系统的部署和运行成本,本发明采用无服务器架构实现系统的异常检测端。无服务器并不是指不再需要后端服务器,而是指开发者可以摆脱开发应用程序所需要的服务器设置和管理工作,将这些操作交由云服务商来完成,开发人员自己则专注于具体业务的开发。无服务器架构是一种以事件驱动的云计算模式,通过在云上部署一系列的“云函数”并绑定相应的事件源,将其组织为微服务来支撑应用程序。云函数的每次触发执行都会被调度到一个新的临时容器中,执行完毕之后一段时间内该运行环境会被云服务商回收,因此云函数本身是无状态的。无状态特性使得云函数在请求高峰时可以迅速在多个容器中被实例化,从而支撑大规模并发请求。在没有请求时云函数不会被调度执行,当有突发的大量请求时云服务商会创建足够的运行实例来满足需求。由于云函数的调度执行是毫秒级别的,因此无服务器架构的自动缩扩容特性可以近乎完美地贴合负载变化。云函数一般按照调用次数或调用时间计费,未被调用时不产生任何费用,解决了传统云服务“闲时计费”的问题,大大节约了使用成本。本发明实现的异常检测系统部署在阿里云函数计算平台上,阿里云函数计算平台是阿里云提供的无服务器架构云服务。

3、支持训练云函数与推理云函数的自动生成部署:

由于采用了无服务器架构,本发明实现的异常检测系统的异常检测端均以云函数的方式部署在阿里云函数计算平台上,在为物联网设备部署完异常检测算法之后,会在阿里云函数计算平台上为每台设备部署一个训练云函数与推理云函数,分别用于异常检测模型的训练,以及调用训练好的异常检测模型对新数据进行异常检测。本发明实现了训练云函数与推理云函数的自动生成与部署,本发明实现的异常检测系统中支持的所有算法都包含训练云函数模板与推理云函数模板两份模板,在部署算法时会将相应的算法参数填充到模板中生成对应的训练云函数代码和推理云函数代码,再通过阿里云函数计算平台提供的SDK进行自动部署。

实施例

本发明提出了一种基于无服务器架构的物联网数据异常检测系统实现方法,以下是其代码实现部分(截取重要):

如图4所示,用户可以为接入系统中的任一物联网设备选择合适的异常检测算法并配置相应的算法参数,之后系统能自动根据算法和参数为其生成训练云函数和推理云函数的代码并自动部署到阿里云函数计算平台上。

如下述代码1所示,这部分包括了自动按算法模板生成训练云函数和推理云函数的代码的逻辑:

代码1

其中generate_http_train_py函数用于生成事件触发的训练云函数代码,generate_http_predict_py函数用于生成事件触发的推理云函数代码。其中函数参数clf_name,device_id,params分别表示算法名称、物联网设备在OneNET云平台中的设备id和算法参数。

如下述代码2所示,这部分包含了云函数自动部署的实现逻辑:

代码2

在代码2中,描述了本发明实现的系统是如何将生成的训练云函数和预测云函数部署到阿里云函数计算平台上的。

如下述代码3所示,给出了训练云函数代码的模板,这部分包含了训练云函数的执行逻辑。训练云函数根据设备的历史数据训练和传入的算法参数训练异常检测模型,训练好的异常检测模型保存到NAS文件存储服务中供推理云函数调用。

代码3

如下述代码4所示,给出了推理云函数代码的模板,这部分包含了推理云函数的执行逻辑。推理云函数从NAS文件存储中加载训练好的异常检测模型,并对新报送的数据进行异常检测。

代码4

本发明结合传统的物联网云平台和新兴的无服务器架构,通过采用传统物联网云平台作为设备接入端降低了设备接入与管理的成本,通过无服务器架构构建异常检测端大幅降低了系统的部署和运行成本。无服务器架构中的云函数按需执行,不像传统云服务器一样有“闲时计费”问题,非常适合物联网这样请求呈现低频、周期性特点的场景。且无服务器架构在并发性能、响应速度上相比传统云计算模式更有优势,能更快地检测出物联网设备上报的异常数据。在现有的技术中,尚没有通过引入无服务器架构来降低物联网数据异常检测系统的成本、提高系统检测速度的。

本发明的保护内容不局限于以上实施例。在不背离本发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:硬盘驱动命令队列的获取方法、装置及计算机设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!