一种物联网管理系统的制作方法

文档序号:22971410发布日期:2020-11-19 21:57阅读:193来源:国知局
一种物联网管理系统的制作方法

本发明涉及物联网技术领域,更具体的说是涉及一种物联网管理系统。



背景技术:

物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。物联网就是物物相连的互联网,其核心和基础仍然是互联网,是在互联网的基础上延伸和扩展的网络,使用户端延伸和扩展到任何物品与物品之间,进行信息交换和通信,实现了物物相息。

目前,随着高校及研究机构运用的实验设备和系统对设备间的直接通信和协同工作、对数据的大量采集、存储、整理和再利用的需求越来越高。现有的物联网管理系统设备间协作能力以及数据信息的整合能力不足以支持高需求的实验设备以及彼此间的协同工作。

因此,如何提供一种具有高解耦性、高可拓展性、高适应性、数据的高实效性和可靠性的物联管理系统是本领域技术人员亟需解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种物联网管理系统,基于低功耗的mqtt协议,用更少的数据传输更多的信息量,具有数据的高实效性;同时,能够实现设备终端与系统之间进行对接,且具有应用场景多样化、高适应性和高稳定性,能够扩展接入新设备,实现系统的快速迭代开发

为了实现上述目的,本发明采用如下技术方案:

一种物联网管理系统,包括:设备终端、通讯端、服务器端和数据库;

所述设备终端将其权限状态数据、运行状态数据和管理维护数据进行打包,并将打包好的数据通过mqtt协议传输至所述通讯端;

所述通讯端根据消息的前后顺序和主题分类信息将打包好的所述数据分发至所述服务器端;

所述服务器端通过http协议和websocket协议与用户端通信;所述服务器端将mqtt协议、http协议和websocket协议进行转义并统一,根据打包好的所述数据对所述设备终端进行监控、操作和权限管理;

所述数据库用于对系统平台数据和设备终端的相关数据进行管理和存储。

优选的,在上述一种物联网管理系统中,所述设备终端包括设备终端联网模块、设备终端权限管理模块和设备终端状态管理模块;

所述设备终端联网模块用于通过mqtt协议将打包好的所述数据传输至所述通讯端;

所述设备终端权限管理模块用于实现所述设备终端的三种权限状态;所述权限状态分别为关闭模式、监控模式和远控模式;

所述设备终端状态管理模块用于完成对所述设备终端的状态以及所述设备终端在系统平台上状态的一致性管理和维护。

优选的,在上述一种物联网管理系统中,所述关闭模式表示关闭相应所述设备终端对外发送数据和拒绝所有的远程控制请求;

所述监控模式表示所述设备终端正常对外发送数据,但拒绝接收远程控制请求;

所述远控模式表示所述设备终端正常对外发送数据,同时被远程控制。

优选的,在上述一种物联网管理系统中,所述通讯端包括mqtt通讯接口、消息队列模块和工作组组网模块;

所述mqtt通讯接口分别与所述设备终端联网模块和所述服务器端的协议网关连接;所述mqtt通讯接口用于将各个主题下的信息准确无误地分发给订阅者;

所述消息队列模块用于对接收的消息按照前后顺序进行排列;

所述工作组组网模块用于组建多台设备的工作组。

优选的,在上述一种物联网管理系统中,所述服务器端包括平台管理模块、权限管理模块、设备管理模块和数据管理模块;

所述平台管理模块用于将数据传输过程中所涉及的各种通信协议进行统一,并对出现的通讯错误和系统运行错误进行处理,同时向用户端推送相关消息;

所述权限管理模块用于管理用户对系统能够使用的功能权限以及用户对所属设备的操作权限和隐私权限;

所述设备管理模块用于控制相应的所述设备终端的接入、维护和远程控制;

所述数据管理模块用于选择性地对相应所述设备终端实例的设备模型参数进行读写和操作。

优选的,在上述一种物联网管理系统中,所述平台管理模块包括协议转换模块、错误处理模块、消息管理模块和log日志管理模块;

所述协议转换模块用于将所述设备终端与所述服务器端之间的mqtt协议和所述服务器端与所述用户端之间的http协议、websocket协议进行统一,并对后续增加的5g通信协议或其他通信协议进行转义和统一;

所述错误处理模块用于对数据传输过程中所出现的错误代码进行定义,并对错误处理流程进行统一管理;所述错误包括:所述设备终端与所述通讯端联网过程的通讯错误、服务器端错误、数据库错误以及所述服务器端与所述用户端之间的http协议错误和用户操作逻辑错误;

所述消息管理模块用于通过自定义事件出发、并通过websocket协议向用户端推送消息;

所述log日志管理模块用于管理系统性能和系统运行事件的log日志。

优选的,在上述一种物联网管理系统中,所述权限管理模块包括用户管理模块、权限管理模块和隐私管理模块;

所述用户管理模块用于对用户的账号进行验证,并对账号的权限级别进行定义;

所述权限管理模块用于根据权限级别对所述设备终端的所有权和操作权进行统一管理;

所述隐私管理模块用于创建对应所述设备终端实例的设备模型,并赋予设备模型唯一的编码,所述设备终端实例的所有者根据具体情况对该设备模型进行有限的修改。

优选的,在上述一种物联网管理系统中,所述设备管理模块包括设备模型管理模块、设备管理接口、工作组管理模块和设备状态维护模块;

所述设备模型管理模块用于对设备模型的结构、属性进行设定,并根据设备模型的结构和属性生成每个设备模型对应的详细页面;

所述设备管理接口用于通过api接口接入其他设备模型;

所述工作组管理模块用于定义多台设备组网连用的系统模型,并定义各设备之间作为输入方或输出方的身份关系模型,同时对所述系统模型和所述身份关系模型进行编辑和修改;

所述设备状态管理模块用于对设备终端的离线状态、在线状态、运行状态和锁定状态进行维护和管理;其中,所述离线状态表示设备终端没有与所述通讯端进行通讯;所述在线状态表示设备终端与所述通讯端保持通讯但处于待机中;所述运行状态表示设备终端处于运行状态中;所述锁定状态表示设备终端正在进行不能被打断的操作;所述不能被打断的操作包括断点续传和历史记录上传。

优选的,在上述一种物联网管理系统中,所述数据管理模块包括数据管理接口、数据解析模块和数据库管理模块;

所述数据管理模块用于执行符合设备模型参数的读写操作,摒弃不符合设备模型参数的非安全读写操作;

所述数据解析模块用于对基于mqtt协议传输的各设备的运行数据、工作模式数据和错误代码数据进行解析;

所述数据管理接口用于接收所述平台管理模块向用户端推送的相关消息和提取所述数据库中的相关数据。

优选的,在上述一种物联网管理系统中,所述数据库包括平台管理数据库和设备管理数据库;

所述平台管理数据库用于对系统平台的数据进行存储和管理;

所述设备管理数据库用于对各个所述设备终端的相关数据进行存储和管理。

优选的,在上述一种物联网管理系统中,还包括业务管理端;所述业务管理端包括设备权限管理模块、设备数据管理模块和待扩展业务接口;

所述设备权限管理模块用于管理设备的主从账号和操作权限;

所述设备数据管理模块用于管理设备的设置参数、监控参数和参数的监控范围,并根据设备的输出运行参数对每类设备模型进行可视化展示和有限分析;

所述待扩展业务接口用于与其他类型的设备连接。待扩展业务接口用于与其他厂商生产的其他类型的产品连接。

经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种物联网管理系统,具有以下有益效果:

1、本发明选用低功耗的基于sub/pub方式的mqtt协议,能够实现用更少的数据传输更多信息量的应用传输协议和设备终端与系统平台之间的对接流程。

2、本发明采用了模块化和快速迭代开发的javascript运行时环境node.js来进行后端的开发。考虑未来设备的接入方式、用户操作习惯的前提下,能够满足新设备、新功能和新特点的迭代需求。

3、本发明采用浏览器模拟mqtt客户端,接收数据并与后端数据同步的方式实现了数据的高实时性需求。

4、本发明采用通用的api接口方式,能够便于以后与其他生产商产品的对接,具备高可拓展性。

5、本发明系统解耦成五大部分,且相互之间通过api接口和http协议进行通信,具备高解耦性。

6、本发明根据业务需求将设备的权限分为所有权和操作权,将用户权限分为主账号和子账号对应设备终端的所有权和操作权,根据不同权限级别对设备进行不同类型操作,有利于对设备的隐私管理。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1附图为本发明提供的物联管理系统的结构框图;图中,实心箭头为同步操作,空心箭头为异步操作;

图2附图为本发明提供的物联管理系统的数据传输结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例物联管理系统处于物联网架构的网络层和应用层,其数据传输结构图如图2所示。图中mqtt客户端相当于底层硬件设备,mqtt服务器为物联网管理系统的核心,负责调度mqtt协议的传输,node.js服务器、pass应用和mysql数据库为物联管理系统的软件部分,具有高模块化、高可扩展和实时性的特点;使用mqtt.js通信的浏览器、javascirpt生成图标监控为公共和工具模块。

网络层方面,因为考虑到接入硬件设备资源总体是及其有限的,需要在低功耗网络传输的情况下传输更多数据,并要保证数据的可读性使其作为有用信息被存储和利用。因此本实施例中底层使用ibm开源的低功耗网络传输协议mqtt3.0/mqtt3.1.1协议,上层采用一套基于数据模型的应用层传输协议,应用层传输协议是语言学当中的语法,只要所有接入的设备都遵循该语法就能把及其简短的数据解读出一致的含义。

应用层方面,为了使未知的各式各样设备均能够被系统平台接入和管理,通常需考虑以下几点,

1)碎片化,本发明实施例所面临的是一个硬件设备碎片化的环境,科研设备的最大特点是按需定制,没有一整套统一的硬件标准。

2)平台化管理

平台化的含义是,不仅是对设备终端信息的拷贝和保存,还需要对数据进行逻辑分析,就是所谓的平台化=数据化+人性化;例如:对设备终端的一些参数点进行监控,如果计算结果是异常就主动报警提示。

3)应用场景多样

一方面,设备终端的应用场景复杂,需要考虑设备以何种方式接入平台并且能够保证安全稳定可控。

另一方面,用户的使用场景考量,需要考虑用户与设备的管理权限关系复杂性、操作多样性人性化。

4)系统拓展性

基于上面种种业务环境特点,平台的设计时就需要考虑适应未来设备不确定,同时会因为接入方式或者用户操作习惯的改变进行新设备、新功能、新特点的迭代需求。

结合以上几点,本发明实施例需满足高解耦性、高可拓展性、高适应性、高稳定性、模块化、具有公开的对外接口、i/o的高并发、数据的高实时性以及能够快速迭代开发。

如图1所示,本发明实施例公开了一种物联网管理系统,包括:设备终端、通讯端、服务器端和数据库;

设备终端将其权限状态数据、运行状态数据和管理维护数据进行打包,并将打包好的数据通过mqtt协议传输至通讯端;

通讯端根据消息的前后顺序和主题分类信息将打包好的数据分发至服务器端;

服务器端通过http协议和websocket协议与用户端通信;服务器端将mqtt协议、http协议和websocket协议进行转义并统一,根据打包好的数据对设备终端进行监控、操作和权限管理;

数据库用于对系统平台数据和设备终端的相关数据进行管理和存储。

在一个实施例中,还包括业务管理端,业务管理端包括设备权限管理模块、设备数据管理模块和待扩展业务接口;

设备权限管理模块用于管理设备的主从账号和操作权限;

设备数据管理模块用于管理设备的设置参数、监控参数和参数的监控范围,并根据设备的输出运行参数对每类设备模型进行可视化展示和有限分析;

待扩展业务接口用于与其他类型的设备连接。

业务管理端用于管理设备终端、通讯端、服务器端和数据库所包含的各模块的运行状态。

具体的,设备终端包括设备终端联网模块、设备终端权限管理模块和设备终端状态管理模块;

设备终端联网模块用于通过mqtt协议将打包好的数据传输至通讯端;

设备终端权限管理模块用于实现设备终端的三种权限状态;权限状态分别为关闭模式、监控模式和远控模式;

关闭模式表示关闭相应设备终端对外发送数据和拒绝所有的远程控制请求;该模式针对需要保密的试验设备或者设备所有者不愿意该设备连接到系统平台中;

监控模式表示设备终端正常对外发送数据,但拒绝接收远程控制请求;该模式下,设备只向系统发送数据并保存但拒绝接受用户端的远程控制或连用设备间的命令请求;

远控模式表示设备终端正常对外发送数据,同时被远程控制。

设备终端状态管理模块用于完成对设备终端的状态以及设备终端在系统平台上状态的一致性管理和维护。

通讯端包括mqtt通讯接口、消息队列模块和工作组组网模块;

mqtt通讯接口分别与设备终端联网模块和服务器端的协议网关连接;mqtt通讯接口用于将各个主题下的信息准确无误地分发给订阅者;分发的质量等级qos必需保证有且仅有一次发送成功。

mqtt协议采用tls加密协议,能够解决以下风险:1)设备可能被盗用;2)用户端和服务端的静态数据可能是可访问的,即数据可能会被修改;3)协议行为可能存在副作用,如计时器攻击;4)通信可能会被拦截、修改、重定向或泄露;5)虚假控制报文注入。本实施例将mqtt协议部署于不安全的通信环境中,能够实现用户和设备的身份认证,服务端的资源访问授权,mqtt控制报文和内嵌应用数据的完整性校验以及mqtt控制报文和内嵌应用数据的隐私控制。

同时,可以在待分发的信息中单独包含哈希值,可以为publish控制报文的网络传输和静态数据提供内容的完整性检查。

消息队列模块用于对接收的消息按照前后顺序进行排列;避免网络环境不稳定或者遭受网络攻击会造成先发的消息后到的情况发生。

工作组组网模块用于组建多台设备的工作组。

服务器端包括平台管理模块、权限管理模块、设备管理模块和数据管理模块;

平台管理模块用于将数据传输过程中所涉及的各种通信协议进行统一,并对出现的通讯错误和系统运行错误进行处理,同时向用户端推送相关消息;

权限管理模块用于管理用户对系统能够使用的功能权限以及用户对所属设备的操作权限和隐私权限;

设备管理模块用于控制相应设备终端的接入、维护和远程控制;

所述数据管理模块用于选择性地对相应设备终端实例的设备模型参数进行读写和操作。

平台管理模块包括协议转换模块、错误处理模块、消息管理模块和log日志管理模块;

协议转换模块用于将设备终端与服务器端之间的mqtt协议和服务器端与用户端之间的http协议、websocket协议进行统一,并对后续增加的5g通信协议或其他通信协议进行转义和统一;

错误处理模块用于对数据传输过程中所出现的错误代码进行定义,并对错误处理流程进行统一管理;错误包括:设备终端与通讯端联网过程的通讯错误、服务器端错误、数据库错误以及服务器端与用户端之间的http协议错误和用户操作逻辑错误;设备终端与通讯端联网过程的通讯错误包括协议解析错误、mqtt服务错误和网络错误。

消息管理模块用于通过自定义事件出发、并通过websocket协议向用户端推送消息;

log日志管理模块用于管理系统性能和系统运行事件的log日志。

权限管理模块包括用户管理模块、权限管理模块和隐私管理模块;

用户管理模块用于对用户的账号进行验证,并对账号的权限级别进行定义;

系统管理员账号对系统平台进行用户账号管理、设备类型模型的建模和管理、设备和工作组的管理。

教师级别用户账号可在系统中激活对设备终端的所有权、创建并管理子学生账号、将设备的操作权授权给子学生账号、远程管理所属设备、查看所属设备的所有数据。

学生级别用户账号完全由父级别教师账号管理的子账号,只能对父账号授权的设备进行远程管理和查阅数据。

权限管理模块用于根据权限级别对设备终端的所有权和操作权进行统一管理;对教师级别账号和学生级别账号对设备终端的所有权和操作权的统一管理。设备所有权与教师账号是是一对一的映射关系,设备操作权和子账号是多对多的映射关系。权限管理模块功能就是用来定义和维护这种关系。

隐私管理模块用于创建对应设备终端实例的设备模型,并赋予设备模型唯一的编码,设备终端实例的所有者根据具体情况对该设备模型进行有限的修改。

设备模型是对同一型号设备的抽象,当一台实体设备被制造出来后系统平台管理员会在系统中创建这类设备模型的一个有唯一编码的实例。用户购买并激活设备后该实例继承了所属设备类型模型的所有参数及定义。当用户认为设备类型中有些参数设计隐私或者被弃用可以通过该隐私管理模块对实例的模型进行有限的修改。保证了用户对设备终端的相关数据的隐私有一个精细的自定义能力同时规避了用户对模型误操作从而造成设备不能接入平台的可能。

设备管理模块包括设备模型管理模块、设备管理接口、工作组管理模块和设备状态维护模块。

设备模型管理模块用于对设备模型的结构、属性进行设定,并根据设备模型的结构和属性生成每个设备模型对应的详细页面;

设备模型管理模块是设备管理模型的核心管理模块:

约定了设备模型的结构:设备——>工作模式——>三类参数(设定参数、监控参数、历史参数)——>参数间的映射关系和参数的数据类型(参数间的主从关系,参数的数据类型有:数值型、单选数组、枚举类型);

约定了参数的属性:参数码、代表含义、max、min、参数类型、参数标示、参数描述;

指定了每个设备类型对应的详细页面模板页面。

设备管理接口用于通过api接口接入其他设备模型;api接口作为通用接口,后续如果有对外开放的必要外部厂商可以通过api接口直接将他们自己的设备终端模型接入平台。

工作组管理模块用于定义多台设备组网连用的系统模型,并定义各设备之间作为输入方或输出方的身份关系模型,同时对系统模型和身份关系模型进行编辑和修改;

设备状态管理模块用于对设备终端的离线状态、在线状态、运行状态和锁定状态进行维护和管理;其中,离线状态表示设备终端没有与通讯端进行通讯;在线状态表示设备终端与通讯端保持通讯但处于待机中;运行状态表示设备终端处于运行状态中;锁定状态表示设备终端正在进行不能被打断的操作;不能被打断的操作包括断点续传和历史记录上传。有人不管是在设备端还是远程界面正在设置设备参数时可以触发该状态,该状态下其他人不能对设备进行任何操作但是可以读取设备的历史数据进行查看。

数据管理模块包括数据管理接口、数据解析模块和数据库管理模块;

数据管理模块用于执行符合设备模型参数的读写操作,摒弃不符合设备模型参数的非安全读写操作。

数据管理模块能够对数据进行操作和管理,同时有限的对外开放基于设备模型的参数数据的读写操作(就是对符合设备模型的参数读写操作进行执行,不符合设备模型的读写操作作为非安全操作进行摒弃)。

数据解析模块用于对基于mqtt协议传输的各设备的运行数据、工作模式数据和错误代码数据进行解析;

数据管理接口用于接收平台管理模块向用户端推送的相关消息和提取数据库中的相关数据。

数据库包括平台管理数据库和设备管理数据库;

平台管理数据库用于对系统平台的数据进行存储和管理;

设备管理数据库用于对各个设备终端的相关数据进行存储和管理。

数据库管理过程必需满足原子性、一致性、隔离性和持久性属性。

本发明实施例具有以下有益效果:

1、本发明选用低功耗的基于sub/pub方式的mqtt协议,能够实现用更少的数据传输更多信息量的应用传输协议和设备终端与系统平台之间的对接流程。

2、本发明采用了模块化和快速迭代开发的javascript运行时环境node.js来进行后端的开发。考虑未来设备的接入方式、用户操作习惯的前提下,能够满足新设备、新功能和新特点的迭代需求。

3、本发明采用浏览器模拟mqtt客户端,接收数据并与后端数据同步的方式实现了数据的高实时性需求。

4、本发明采用通用的api接口方式,能够便于以后与其他生产商产品的对接,具备高可拓展性。

5、本发明系统解耦成五大部分,且相互之间通过api接口和http协议进行通信,具备高解耦性。

6、本发明根据业务需求将设备的权限分为所有权和操作权,将用户权限分为主账号和子账号对应所述设备终端的所有权和操作权,根据不同权限级别对设备进行不同类型操作,有利于对设备的隐私管理。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1