发明内容
本发明为解决公知技术中存在的技术问题而提供一种多源异构IoT设备数据统一接入与存储系统及方法。
本发明为解决公知技术中存在的技术问题所采取的技术方案是:一种多源异构IoT设备数据统一接入与存储系统,包括依次通信的无公网IP的边缘服务器、具有公网IP的云端代理服务器、智能家庭网关以及通信协议不同的多种智能家居终端;边缘服务器和云端代理服务器均配置有数据库;
智能家居终端和智能家庭网关设置在用户房屋中;智能家居终端检测用户家居环境和人员状态数据;智能家庭网关,其采集智能家居终端的检测数据,并将采集的检测数据发送至云端代理服务器;
边缘服务器设置在社区中,其用于存储对应区域的智能家居终端的检测数据,其设有动态内网IP,并在云端代理服务器中注册;
云端代理服务器存储每个边缘服务器和用户房屋的位置信息,其根据两者所属社区及相互位置距离,对用户智能家居终端和边缘服务器进行一对一匹配;其存储并更新用户智能家居终端和边缘服务器的匹配结果,其通过访问匹配结果,将接收的检测数据转发给匹配的边缘服务器。
进一步地,智能家庭网关设置有串口、以太网接口、WIFI接口、zigbee接口、红外接口及蓝牙接口。
进一步地,智能家庭网关包括相互通信的中心网关和专用设备网关;中心网关设有以太网接口和/或WIFI接口,其与云端代理服务器通信;专用设备网关用于与设有zigbee接口、红外接口和/或蓝牙接口的智能家居终端通信,其通过协议转换,以串口、以太网及WIFI形式向中心网关传输数据。
本发明还提供了一种利用上述的多源异构IoT设备数据统一接入与存储系统的多源异构IoT设备数据统一接入与存储方法,该方法为:智能家庭网关接收来自智能家居终端的多种接入协议的检测数据,并转换成与云端代理服务器接入协议匹配的检测数据发送至云端代理服务器;云端代理服务器对检测数据进行备份,并将检测数据分发给与用户房屋地址匹配的边缘服务器;边缘服务器采用与用户房屋地址关联的标准化设备数据存储格式存储检测数据,将控制数据通过云端代理服务器分发至用户智能家庭网关。
进一步地,智能家庭网关对智能家居终端的基本信息格式和命名进行标准化,对多种智能家居终端传入的检测数据的格式和命名进行标准化。
进一步地,边缘服务器和云端代理服务器,两者均存有用于创建或更新智能家居终端的设备信息的设备信息表,两者根据设备信息表创建对应智能家居终端的数据存储表。
进一步地,家庭智能网关将采集的检测数据实时传送给云端代理服务器;云端代理服务器编写脚本来实时解析接收的每一条检测数据,自动根据设备信息表创建或更新数据存储表。
进一步地,智能家居终端和边缘服务器的匹配方法包括:对于每一个智能家居终端,首先判断其所属社区是否有边缘服务器,如果该社区没有边缘服务器,则选择其他社区内的离该智能家居终端距离最近的边缘服务器作为匹配的边缘服务器;如果该社区只有一个边缘服务器,则选择该边缘服务器作为匹配的边缘服务器;如果该社区有多个边缘服务器,则选择其中离该智能家居终端距离最近的边缘服务器作为匹配的边缘服务器。
进一步地,智能家居终端和边缘服务器的匹配结果触发更新方式包括:边缘服务器状态变更时更新、智能家居终端位置变更时更新、定时更新。
进一步地,智能家庭网关、云端代理服务器和边缘服务器均设置Niagara软件框架,三者通过Niagara软件框架实现数据连接。
本发明具有的优点和积极效果是:
本发明提供各种家居终端数据接入标准、数据库设计、边缘服务器代理与数据分发机制,能够支持“多用户-多源设备-多边缘服务器”的数据传输与存储,不仅仅能够支持接入多种类、多协议的智能家居设备,提升用户智慧家居生活体验;支持区分用户标识,结合边缘计算优势,为用户个性化数据分析提供数据来源,为提升家居环境智能化水平奠定良好基础;还能够实现设备实时数据和历史数据的统一存储,支持大数据分析、人工智能算法在智能家居环境的应用,从而为居住者提供更加智能的居家服务。本发明采用没有公网IP的边缘服务器,可大大节约成本,适于大范围推广使用。
具体实施方式
为能进一步了解本发明的发明内容、特点及功效,兹列举以下实施例,并配合附图详细说明如下:
请参见图1至图3,一种多源异构IoT设备数据统一接入与存储系统,包括依次通信的无公网IP的边缘服务器、具有公网IP的云端代理服务器、智能家庭网关以及通信协议不同的多种智能家居终端;边缘服务器和云端代理服务器均配置有数据库;
智能家居终端和智能家庭网关设置在用户房屋中;智能家居终端检测用户家居环境和人员状态数据;智能家庭网关,其采集智能家居终端的检测数据,并将采集的检测数据发送至云端代理服务器;
边缘服务器设置在社区中,其用于存储对应区域的智能家居终端的检测数据,其设有动态内网IP,并在云端代理服务器中注册;
云端代理服务器存储每个边缘服务器和用户房屋的位置信息,其根据两者所属社区及相互位置距离,对用户智能家居终端和边缘服务器进行一对一匹配;其存储并更新用户智能家居终端和边缘服务器的匹配结果,其通过访问匹配结果,将接收的检测数据转发给匹配的边缘服务器。
IoT,是The Internet of Things的英文缩写,中文释义物联网。IoT是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
边缘计算可以分担云端的计算压力、响应延迟,是存储、分析和处理终端设备数据的良好计算模式。以社区为单位部署边缘服务器,将社区内的智能家居数据存储与计算分发在对应边缘服务器上,能很好的降低成本并提高效率。应用边缘服务器存储一定区域内本地设备数据,能够更好的支持智能家居终端的智能化。智能家居的连接控制设备---智能家庭网关是智能家居硬件设备的控制中心。通过智能家庭网关可以实现对家里的智能硬件设备的统一控制。智能家庭网关可具备以下功能:协议转换、网络连接、插件安装管理、设备管理、媒体服务器。
智能家庭网关最重要的功能就是实现协议转换,其可对家中的智能硬件设备通过蓝牙、Zigbee、Z-Wave、RF433的协议进行通信,对智能家居平台,通过IP网络信号进行通信。智能家庭网关作为家中智能硬件和对外智能家居平台数据交互的枢纽,为家中所有智能硬件数据交互提供网络连接服务。
智能家庭网关需要记录并管理下联设备(或成为子设备)相关信息,包括设备厂商、类型、型号、序列号、MAC地址、配网、注册、绑定以及和用户的关联关系等信息。智能家庭网关可以外接存储设备或自带存储设备,作为家庭媒体服务器。
智能家庭网关也可接收来自云端代理服务器的指令信息,并可将接收的指令信息发送至智能家居终端,来控制智能家居终端的工作。
优选地,智能家庭网关可设置有串口、以太网接口、WIFI接口、zigbee接口、红外接口及蓝牙接口。
优选地,智能家庭网关可包括相互通信的中心网关和专用设备网关;中心网关可设有以太网接口和/或WIFI接口,其与云端代理服务器通信;专用设备网关可用于与设有zigbee接口、红外接口和/或蓝牙接口的智能家居终端通信,其通过协议转换,以串口、以太网及WIFI形式向中心网关传输数据。
本发明还提供了一种利用上述的多源异构IoT设备数据统一接入与存储系统的多源异构IoT设备数据统一接入与存储方法,智能家庭网关接收来自智能家居终端的多种接入协议的检测数据,并转换成与云端代理服务器接入协议匹配的检测数据发送至云端代理服务器;云端代理服务器对检测数据进行备份,并将检测数据分发给与用户房屋地址匹配的边缘服务器;边缘服务器采用与用户房屋地址关联的标准化设备数据存储格式存储检测数据,将控制数据通过云端代理服务器分发至用户智能家庭网关。
云端代理服务器和边缘服务器需在对检测数据进行存储前,先判断该种类设备是否首次接入,如果是首次接入,则根据设备接入时提供的数据格式创建数据存储表。
优选地,智能家庭网关可对智能家居终端的基本信息格式和命名进行标准化,即对智能家居终端的基本信息格式和命名采用统一的规则进行处理。并可对多种智能家居终端传入的检测数据的格式和命名进行标准化,即对多种智能家居终端传入的检测数据的格式和命名采用统一的规则进行处理。
优选地,边缘服务器和云端代理服务器,两者均可存有用于创建或更新智能家居终端的设备信息的设备信息表,两者可根据设备信息表创建对应智能家居终端的数据存储表。
数据存储表可包括基本信息表头和参数信息表头;基本信息表头包括:数据记录唯一标识、边缘服务器标识、智能家居终端标识、智能家居终端位置信息、用户标识、数据采集时间;设备信息表头包括:智能家居终端检测的参数值。
优选地,家庭智能网关可将采集的检测数据实时传送给云端代理服务器;云端代理服务器可通过已编写好的脚本来实时解析接收的每一条检测数据,自动根据设备信息表创建或更新数据存储表。
家庭智能网关采集智能家居终端的检测数据后,可通过无线传输协议实时传至服务器。每一条检测数据内容可包括:智能家居终端所处的地理位置、智能家居终端唯一标识、检测参数名称、参数值,最终通过Obix协议以xml格式暴露出来。obix是一种XML通讯协议,其可使用Http Request/Post方式进行数据通讯。所有数据通过可读字符进行传送,一个oBIX对象可以由唯一的一个URL识别。
优选地,智能家居终端和边缘服务器的匹配方法可包括:对于每一个智能家居终端,首先判断其所属社区是否有边缘服务器,如果该社区没有边缘服务器,则选择其他社区内的离该智能家居终端距离最近的边缘服务器作为匹配的边缘服务器;如果该社区只有一个边缘服务器,则选择该边缘服务器作为匹配的边缘服务器;如果该社区有多个边缘服务器,则选择其中离该智能家居终端距离最近的边缘服务器作为匹配的边缘服务器。
优选地,智能家居终端和边缘服务器的匹配结果触发更新方式可包括:边缘服务器状态变更时更新、智能家居终端位置变更时更新、定时更新。
由于边缘服务器处于局域网内,数据传输过程同时需实现内网穿透。优选地,智能家庭网关、云端代理服务器和边缘服务器可均设置Niagara软件框架,三者通过Niagara软件框架实现数据连接。
Niagara是Tridium公司研发的设计用于解决设备连接应的软件框架平台技术,应用框架是一个软件工程中的概念,不同于普通的软件,它是用于实现某应用领域通用完备功能的底层服务,使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的产品和系统开发。应用框架强调的是软件的设计重用性和系统的可扩展性,以缩短各种软件开发周期,提高开发的质量。几乎可以连接任何能够想象得到的嵌入式设备或系统,而不用考虑太多的设备制造商和使用的通信协议,将他们的数据和属性转换成为标准的软甲组件,通过大量的基于IP的协议,支持XML的数据处理开放的API并能提供无缝的、统一的数据视图,通过转换各外部设备和系统的数据使其成为规范的组件,Niagara创造了一种开发框架,设备和系统可通过Niagara规范,就可以兼容其他链接到应用框架的设备和系统,实现在软件框架下统一的数据呈现。
下面以本发明的一个优选实施例来进一步说明本发明的工作原理:
如图1所示,一种多源异构IoT设备数据统一接入与存储系统,包括依次通信的无公网IP的边缘服务器、具有公网IP的云端代理服务器、智能家庭网关以及通信协议不同的多种智能家居终端;边缘服务器和云端代理服务器均配置有关系型数据库。
上述多源异构IoT设备数据统一接入与存储系统架构中的核心节点有:
1)不同种类的智能家居终端;
2)智能家庭网关,智能家庭网关能够与外网相连并传输数据;
3)具有公网IP的云端代理服务器;
4)分布在不同地理区域的无公网IP的边缘服务器。此外,每个边缘服务器和云端代理服务器都对应分配数据库,所有数据存储采用关系型数据库。
核心节点之间的关联如下:
边缘服务器部署在社区中,拥有动态内网IP,当新增边缘服务器或现有边缘服务器内网IP地址变更时,在云端代理服务器中注册。云端代理服务器中保存边缘服务器配置信息记录,用于智能家居终端访问边缘服务器;
智能家居终端感知并获取家居环境用户数据,通过通信协议将数据传给智能家庭网关;
由于边缘服务器没有固定IP,所以数据需要通过云端代理服务器转发,智能家居终端获取检测信息先发送到云端代理服务器上,同时,云端代理服务器对所有数据进行备份;
云端代理服务器根据用户设备地址信息匹配对应的边缘服务器,并将数据转发给边缘服务器。
智能家居终端检测的数据传输和存储流程如图2所示:智能家居终端采集数据后,将数据传输给智能家庭网关,智能家庭网关将数据上传至云端代理服务器。所有数据需要在云端代理服务器进行备份,在数据存储之前需要判断该种类智能家居终端是否是首次接入,如果不是首次接入,则云端代理服务器已经创建好该设备对应的存储表,否则,需要根据设备接入时提供的数据格式创建存储表。数据在云端代理服务器备份后,需要根据设备信息匹配存储数据的边缘服务器。随后,代理服务器将数据分发给对应边缘服务器。边缘服务器存储数据之前同样需要判断该设备是否为首次接入,最终将数据存储至边缘服务器数据库中。
下面进一步详细介绍一种利用上述的多源异构IoT设备数据统一接入与存储系统的多源异构IoT设备数据统一接入与存储方法,该方法核心技术细节主要分为三个部分说明,具体来说,一是标准化数据接入协议;二是标准化设备数据存储格式并与用户关联;三是边缘服务器的反向代理与数据分发。
1、标准化数据接入协议:
通过调研现有家居设备、个人生理监控设备以及智慧医疗等智能家居终端,并根据不同设备所使用的数据传输协议的广泛性、设备应用领域与居家场景的可融合性以及接入过程实际情况,对以下接入协议进行标准化,协议清单如表1所示:
表1:设备数据接入标准清单
以MQTT为例,标准化数据接入协议方法主要包括:
1)准备工作,如设备厂家需要提供Broker等;
2)设备基本信息格式和统一命名,包括系统唯一标识、子系统标识、点位信息等;
3)传入数据格式和统一命名,如数据类型、数据描述、数据解析方式等。
以网关形式接入的标准,即zigbee网关标准、红外网关标准、蓝牙网关标准是针对难以直接接入的设备制定,采用“中心网关+专用设备网关”方式实现数据接入标准化。中心网关可设有以太网接口和/或WIFI接口,其与云端代理服务器间通过太网协议和/或WIFI协议通信;专用设备网关可用于与设有zigbee接口、红外接口和/或蓝牙接口的智能家居终端通信,其采集智能家居终端的检测数据,并转换为太网协议和/或WIFI协议数据后传输至中心网关。
中心网关通过专用设备网关接入带有zigbee、红外等形式的智能家居终端,专用设备网关可采用智能家居终端厂家已经适配好的设备网关,专用设备网关再通过制定的MQTT、Http等标准接入中心网关中。以小米之家居家智能家居终端为例,可以通过与绿米网关对接实现数据的采集。
2、标准化设备数据存储格式并与用户关联:
数据存储过程所使用的数据表主要有设备信息表和数据存储表。
边缘服务器和云端代理服务器的服务器端存有不同种类智能家居终端的设备信息表,设备的参数信息在设备接入居家环境之前在系统登记,设备信息表示例如表2所示。当某一类设备第一次接入时,边缘服务器和代理服务器根据该智能家居终端的设备信息创建对应的数据存储表。
表2:智能家居终端设备信息表示例
智能家庭网关采集智能家居终端的检测数据后,通过无线传输协议将数据实时传给云端代理服务器。每一条数据信息包含智能家居终端所处的地理位置、智能家居终端唯一标识、参数名称、参数值,最终通过Obix协议以xml格式暴露出来。边缘服务器和云端代理服务器的服务器端编写脚本实时解析数据,依据设备信息表将零散的参数数据整合并存储进数据存储表中。
数据存储表表头包含两部分:
基本信息表头:与智能家居终端的设备种类和参数无关,任何种类智能家居终端数据存储的公共信息。主要包括智能家居终端的设备标识、设备位置信息(以省-市-区-街道-社区-详细地址层级划分)、用户标识(由于数据个性化需求,要求设备传递信息时区分用户)、数据采集时间等;
参数信息表头:与智能家居终端的设备种类和设备具体参数值有关,每种设备的具体存储参数不同,设备参数信息表已经将设备所包含的参数信息存储好,可自动根据设备信息表创建或更新数据存储表。如温湿度传感器包含温度、湿度参数,空调控制包含空调温度、空调风速、空调模式等。
表3是一种跌倒检测设备数据存储表示例,请参见下表3。
表3:跌倒检测设备数据存储表示例
3、边缘服务器的反向代理与云端代理服务器的数据分发:
由于边缘服务器处于局域网内,不具有公网IP,智能家庭网关无法直接将数据传输给边缘服务器。
因此通过部署了位于云端的云端代理服务器,实现了边缘服务器反向代理和云端代理服务器的数据分发。
通过计算设备所在房屋位置和边缘服务器位置,来为房屋内智能家庭网关采集的数据匹配对应边缘服务器。
云端代理服务器存储每个边缘服务器和用户房屋的位置信息,同时保存并维护用户房屋和边缘服务器匹配结果,当云端代理服务器需要分发智能家庭网关采集的检测数据时,通过访问匹配结果获取数据分发的目的地。
由于边缘服务器处于局域网内,数据转发过程同时需实现内网穿透。
位置匹配:本发明采用以社区为单位就近存储的策略对用户房屋内智能家庭网关和边缘服务器匹配。
匹配算法流程如图3所示,对于每一个用户房屋,首先选择物理上距离用户房屋最近的边缘服务器,随后判断该边缘服务器是否和用户房屋在同一社区,若社区内不存在边缘服务器,则该边缘服务器为最终匹配的服务器,若同社区有多个边缘服务器则选择最近的一个为最终匹配的边缘服务器。
匹配结果更新,本发明定义的触发更新的事件主要有:
1)边缘服务器状态变更。
2)房屋位置变更。
3)定时更新。
内网穿透与基本的数据传输:
本发明采用物联网行业普遍使用的Niagara框架实现内网穿透和基本设备间数据连接。
为了Niagara框架配合实现存储房屋信息、边缘服务器信息、获取边缘服务器匹配结果等功能,本发明设计并实现了一套接口。
设计说明如表4所示:
表4:用户房屋内智能家庭网关和边缘服务器匹配接口设计
本发明设置了一个样板间用于模拟房屋,下面具体说明一下样板间的智能家居终端的接入与控制。
目前样板间连接的设备主要分为四类:
穿戴设备,如生命指征检测手表、运动心电衣等。
健康监测设备,如监护一体机、心血管检测仪等。
适老智能家居设备,如助起沙发、智能窗帘、智能照明等。
安防监控设备,如智能门锁、智能门窗等。
本发明已经通过标准化通讯协议和智能家庭网关成功接入多种协议设备,样板间主要设置有可语音控制的智能窗帘、能够监测老人睡眠情况的智能床单、跌倒检测摄像头、温湿度传感器、烟雾检测器等。部分设备和采用接入协议如表5所示:
表5:样板间中的部分接入设备和采用的接入协议
设备连入智能家庭网关后,房屋内置与智能家庭网关连通的中控系统,可通过中控面板查看实时数据,对房屋设备进行简单控制。
社区内边缘服务器存储本社区智慧智能家居终端的检测数据,在社区服务中心设置数据显示平台,能够通过局域网内连接到边缘服务器,来显示边缘服务器中存储的多种设备数据。通过边缘服务器及数据显示平台,社区管理人员可根据大数据分析算法对社区内人员居家情况有更加深入的了解,以便切实高效地落实“社区—家居”养老服务,能够有针对性的提升社区服务质量。例如通过跌倒设备采集的数据定向查看家中跌倒老人等。
同时本发明支持多边缘服务器间“数据漫游”。“数据漫游”原是电话业务名称,指移动端离开自己注册登记的服务区域,移动到另一服务区后,移动通信系统仍可向其提供服务的功能。现实生活中有些存在用户跨城市居住场景,如定居在北方,但冬季却在南方旅居。本发明将人或设备离开原社区(边缘服务器对应的服务区域)搬至另一社区的情况认为是智能家居终端的“数据漫游”。由于数据存储时携带用户标识,并能够根据智能家居终端的位置匹配数据存储的边缘服务器,所以本发明也能满足此类旅居场景的数据存储需求。
用户移动场景:用户使用前需要在设备处添加个人标识,使用设备时设备采集数据并携带用户标识,数据存储时同时将用户标识存储起来,每条数据均与用户对应。以带检测盒的智能马桶为例,智能马桶可通过指纹识别已绑定的用户,用户在使用前通过录入指纹令设备识别出用户信息。用户从一个居家环境移动到另一个居家环境,在新居家环境中使用同种设备时,只需要再次录入用户标识即可实现全网数据统一。
智能家居终端移动场景:当可移动智能家居终端变更地址时,连接至新的智能家庭网关,移动的智能家居终端的设备信息会与新的房屋位置绑定,则可将数据存储在对应的边缘服务器中。同时,由于设备标识的唯一性,能够实现设备移动场景数据漫游。
上述英文的中文释义为:
MQTT:Message Queuing Telemetry Transport的缩写,中文释义为消息队列遥测传输。
MQTT Broker:MQTT协议订阅/发布的核心机制,负责接收消息发布者的消息,并发送给相应的消息订阅者。
XMPP:Extensible Messaging and Presence Protocol的缩写,中文释义为可扩展通讯和表示协议。
Zigbee:紫蜂协议,一种低速短距离传输的无线网上协议。
Http:Hypertext Transfer Protocol的缩写,中文释义为超文本传输协议。
json:JavaScript Object Notation的缩写,中文释义为对象简谱。
Modbus:Modbus通讯协议,一种串行通信协议。
BACnet:BACnet通讯协议,一种用于智能建筑的通信协议。
Obix:Obix协议,一种基于XML格式的通信协议。
以上所述的实施例仅用于说明本发明的技术思想及特点,其目的在于使本领域内的技术人员能够理解本发明的内容并据以实施,不能仅以本实施例来限定本发明的专利范围,即凡本发明所揭示的精神所作的同等变化或修饰,仍落在本发明的专利范围内。