一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种采用内存数据模型的物联网设备管理方法及系统与流程

2021-10-24 08:11:00 来源:中国专利 TAG:设备管理 联网 采用 内存 数据模型


1.本发明涉及一种采用内存数据模型的物联网设备管理方法及系统,属于物联网设备管理技术领域。


背景技术:

2.物联网(internet of things,iot)是指嵌入式物联网设备,如:汽车、家用电器等,具有计算机化系统,如软件、传感器等,通过智能感知、识别技术与计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。在这项技术中,每一个设备都能自动工作,根据环境变化自动响应,与其它设备交换数据,不需要人为参与,整个系统由无线网络和互联网结合构建。物联网的主要目的是提高设备的效率和准确性,为人们节省金钱和时间。
3.物联网包括智能手机、耳机、汽车、灯泡、冰箱、咖啡机、安全系统、警报系统和其他家庭和移动设备。据有关专家估计,到2020年物联网将连接全球超过300亿件物品,全球市值将达到约7.1万亿美元。
4.物联网的每一个设备都需要由两部分组成,第一个,也是必不可少的—互联网,任何一个物联网设备都离不开网络;第二个,是智能手机或移动设备,每个物联网设备都需要另外一个或多个设备相互交换数据才能确保其正常工作,这也是目前控制物联网设备的唯一方法。
5.物联网的应用领域涉及到方方面面,包括工业、农业、环境、交通、物流、安保等基础设施领域,有效的推动了这些方面的智能化发展,使得有限的资源可以更加合理的使用分配,从而提高了行业效率、效益。而物联网在家居、医疗健康、教育、金融与服务业、旅游业等与生活息息相关的领域的应用,使服务范围、服务方式到服务的质量方面都有了极大的改进,大大的提高了人们的生活质量。
6.虽然物联网近年来的发展已经渐成规模,各国都投入了巨大的人力、物力、财力来进行研究和开发。但是在技术、管理、成本、政策、安全等方面仍然存在许多需要攻克的难题:
7.目前,传统互联网的标准并不适合物联网,物联网感知层的数据多源异构,不同的设备有不同的接口,不同的技术标准;网络层、应用层也由于使用的网络类型不同、行业的应用方向不同而存在不同的网络协议和体系结构。建立的统一的物联网体系架构,统一的技术标准是物联网现在正在面对的难题。
8.物联网自身就是一个复杂的网络体系,加之应用领域遍及各行各业,不可避免的存在很大的交叉性。如果这个网络体系没有一个专门的综合平台对信息进行分类管理,则会出现大量信息冗余、重复工作和重复建设,导致资源浪费。每个行业的应用各自独立,成本高、效率低,体现不出物联网的优势,势必会影响物联网的推广。物联网现急需要一个能整合各行业资源的统一管理平台,使其能形成一个完整的产业链模式。


技术实现要素:

9.针对现有技术的不足,本发明提供一种采用内存数据模型的物联网设备管理方法及系统,将物联网设备的每一种需要接受系统管理的数据放置到内存中,以内存对象的形式存储,内存中的虚拟设备是现实物联网设备的抽象映射,可以更好地管理物联网设备的各种数据。
10.本发明的核心是物联网设备所映射出的内存数据模型,下文将这个内存数据模型称为设备影子,用户可以直接通过这个设备影子在内存中实例化出的内存对象访问设备数据,而不是像传统方法一样需要每次查询数据库获得数据。
11.存在于服务端内存中的设备影子数据与实际物联网设备中的数据是一一对应的,且二者之间时刻保持一致。物联网设备中的数据发生变化会发送数据同步到服务端,修改设备影子对应的数值。用户修改设备影子之后对应的修改也可以同步下发到物联网设备。
12.本发明使用增量信息同步机制,同时提供多种物联网通信协议并封装了相应的使用方式提供给用户,在对用户隐藏了同步过程的同时确保了物联网设备与内存对象的数据一致性,最终保证了数据访问的快速性与便捷性。
13.本发明提供的是自定义模型建立与基础操作封装的功能,最终的产物是面向服务端和物联网设备端的开发包,用户使用这个开发包开发自己的物联网设备管理系统。
14.术语解释:
15.动态编译技术:在程序运行过程中根据需要动态生成代码并编译,然后加载到运行环境中与现有程序一同工作。
16.影子资源标识符:shadow resource identifier(sri),物联网设备所映射出的设备影子包括很多嵌套的数据结构,本发明中将这些子数据结构所实例化出的对象称为影子实体,也即设备影子的实例化对象是由一些基础类型数据以及多个影子实体组合而成的。为了在内存中索引这些影子实体,本发明为每个实体定制了影子资源标识符作为唯一id。
17.mqtt协议:mqtt(消息队列遥测传输)是iso标准(iso/iec prf 20922)下基于发布/订阅范式的消息协议。它工作在tcp/ip协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。
18.coap协议:由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的http协议应用在物联网上就显得过于庞大而不适用。ietf的core工作组提出了一种基于rest架构的coap协议。coap是6lowpan协议栈中的应用层协议。
19.json格式:是一种轻量级的数据交换格式。它基于ecmascript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得json成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
20.实例化:实例化是指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程。实例化过程中一般由类名对象名=new类名(参数1,参数2...参数n)构成。
21.deviceid:设备id,系统中用于标识物联网设备以及对应内存中设备影子的字符串,在系统中是全局唯一的;
22.spring ioc容器:ioc—inversion of control,即“控制反转”,就是具有依赖注入功能的容器,是可以创建对象的容器,ioc容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖;
23.shadowutils类中的方法:
[0024][0025]
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
[0026]
本发明的技术方案如下:
[0027]
一种采用内存数据模型的物联网设备管理系统,包括设备模型建立模块、内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块,内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块均以开发包的形式提供给使用本系统的开发者进行二次开发,设备影子(图中的shadowbean)由多个使用sri索引的设备实体(图中的entity)组成,存储在spring ioc容器中并使用deviceid进行索引。面向用户,提供了shadowutils作为接口进行设备影子的增删改查操作。面向数据库,使用数据持久化模块将内存中的数据存储到数据库中;
[0028]
设备模型建立模块:通过解析用户描述物联网设备的xml文件,生成相应的设备影子代码,并与内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块的代码一并打包提供给用户使用;
[0029]
内存数据管理模块:设备影子实例化出的各类对象分别使用deviceid或sri进行索引,并交由spring ioc容器管理,用户使用shadowutils类中的方法进行设备影子数据的获取、修改和同步操作;
[0030]
数据持久化模块:负责将内存中的物联网设备数据持久化到用户配置的数据库中;
[0031]
设备绑定模块:提供物联网设备与物联网设备管理系统中对应的数据相绑定的功能;
[0032]
数据同步模块:提供物联网设备与服务端数据自动同步的功能,并按照用户的选择使用mqtt协议或coap协议进行通信。
[0033]
一种采用内存数据模型的物联网设备管理方法,运行于物联网设备管理系统中,包括步骤如下:
[0034]
(1)用户书写xml配置文件,描述由物联网设备所映射的数据结构,
[0035]
xml配置文件包括用户定义属性类型、属性名称和设备影子等内容,
[0036]
由物联网设备所映射的数据结构即设备影子,
[0037]
校验xml配置文件的格式的正确性,
[0038]
根据xml配置文件,使用动态编译技术生成相应的java类以及相关操作逻辑,并打包成开发包;
[0039]
(2)将步骤(1)中的设备影子实例化,并存储在内存中,得到了内存对象,设备影子在内存中以内存对象的形式存在,
[0040]
设备影子以及组成设备影子的实体使用spring ioc容器进行管理,
[0041]
设备影子使用物联网设备管理系统生成的设备id(deviceid)进行索引,组成设备影子的实体使用影子资源标识符(shadow resource identifier,sri)进行索引,用户通过设备id执行获取设备影子以及修改设备影子,即为内存中指定数据字段赋值之后的下发数据操作;
[0042]
(3)使用步骤(1)中得到的开发包开发物联网设备管理系统,物联网设备管理系统启动,自动检索并按照步骤(2)加载用户关联的数据库中已存在的设备影子数据,格式化成为内存对象,注入到spring ioc容器中,交给物联网设备管理系统进行管理,
[0043]
并提供给用户进行物联网设备数据的增删改查与下发物联网设备等操作,
[0044]
数据加载完成后,物联网设备管理系统读取mqtt队列中缓存的物联网设备发来的数据同步消息,自动接收物联网设备端推送的消息,获取物联网设备管理系统停止运行期间的数据变化;
[0045]
(4)按照步骤(3)启动之后,执行内存数据管理流程,用户对物联网设备的操作都是面向内存对象进行,在修改了内存对象的数据之后,物联网设备管理系统使用观察者模式自动记录用户修改过的内存属性即修改的内存对象的数据到缓存区域;等待用户下发指令,以增量更新的形式推送期望数据到物联网设备;
[0046]
(5)按照步骤(3)启动之后,执行数据持久化流程,用户获取和修改物联网设备数据直接对设备影子进行操作,物联网设备管理系统对用户隐藏内存数据与数据库之间的数据读取与数据持久化过程,内存数据的修改将自动同步到数据库中,物联网设备上报数据变化后会使用变化的数据同步修改与设备对应的设备影子,并自动同步到数据库中,且数据库操作在队列中排队异步执行;
[0047]
(6)按照步骤(3)启动之后,执行数据同步流程,物联网设备管理系统提供物联网设备与设备影子之间的双向数据自动同步机制,用户在服务端修改数据或者物联网设备数据发生变化后,将变化部分通过mqtt协议或coap协议以json格式字符串传递,完成数据同步。
[0048]
根据本发明优选的,对于在物联网设备管理系统中新增的物联网设备,采用内存数据模型的物联网设备管理方法运行前,进行绑定,具体如下:
[0049]
用户在服务端与物联网设备约定一个唯一码作为绑定码bindcode;
[0050]
服务端收到设备绑定请求后,根据物联网设备的具体信息,为物联网设备生成全球唯一的deviceid,然后下发到物联网设备,完成绑定。
[0051]
本发明的有益效果在于:
[0052]
1、本发明采用用户由自定义的xml文件生成内存数据模型的方法,并且由用户选择采用物联网行业普遍使用的mqtt协议或coap协议进行通信。相对于市面上普遍使用的json定义方式,结构更加清晰,支持的设备更加复杂,可以灵活地适配不同的设备,管理大
多数物联网设备。
[0053]
2、本发明采用内存数据模型对物联网设备进行描述,而不仅仅是传统的数据库结构化数据存储。提供给开发者的是更为立体化的数据结构,能够更好的理解数据之间的对应关系,专注于业务逻辑的实现。
[0054]
3、本发明采用内存数据计算的方式。设备数据结构化存储在内存中,用户对数据的读取、修改和计算都可以直接使用内存中的设备影子进行操作,而设备数据从内存到数据库的过程对用户透明化,持久化过程异步化。内存操作速度远远超过磁盘数据库操作速度,系统可以在极低的延迟下完成设备操作的业务逻辑,并能够保证数据的正确性。
[0055]
4、本发明采用增量更新的方式同步物联网设备与管理系统中的数据。管理系统记录下用户每次更新的对象属性,存储到缓存区。在用户调用下发方法的时候下发服务端期望数据到设备端,设备数据发生变化的时候上报修改数据到服务端,整个通信过程中传递的修改数据都是对象的原子属性,数据同步更省流量,通信过程更加快速。
[0056]
5、本发明的最终产品包括服务端和设备端两种开发包,在提供给用户的开发包中封装了数据管理、设备通信同步和数据持久化等设备管理平台通用逻辑,相比于其他物联网平台,提供了更为丰富的基础服务内容,简化用户的开发过程。
附图说明
[0057]
图1为本发明的整体流程图;
[0058]
图2为本发明的物联网设备与设备影子映射示意图;
[0059]
图3为本发明的系统架构图;
[0060]
图4为本发明的数据传递过程图;
[0061]
图5为本发明的设备与内存影子数据同步过程图;
[0062]
图6为本发明中物理设备端与服务端设备影子数据绑定过程图;
[0063]
图7为本发明的系统连接关系图。
具体实施方式
[0064]
下面通过实施例并结合附图对本发明做进一步说明,但不限于此。
[0065]
实施例1:
[0066]
本实施例提供一种采用内存数据模型的物联网设备管理系统,如图7所示,包括设备模型建立模块、内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块,内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块均以开发包的形式提供给使用本系统的开发者进行二次开发,开发包系统架构如图3所示,设备影子(图中的shadowbean)由多个使用sri索引的设备实体(图中的entity)组成,存储在spring ioc容器中并使用deviceid进行索引。面向用户,提供了shadowutils作为接口进行设备影子的增删改查操作。面向数据库,使用数据持久化模块将内存中的数据存储到数据库中;
[0067]
设备模型建立模块:通过解析用户描述物联网设备的xml文件,生成相应的设备影子代码,并与内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块的代码一并打包提供给用户使用;
[0068]
内存数据管理模块:设备影子实例化出的各类对象分别使用deviceid或sri进行
索引,并交由spring ioc容器管理,用户使用shadowutils类中的方法进行设备影子数据的获取、修改和同步操作;
[0069]
数据持久化模块:负责将内存中的物联网设备数据持久化到用户配置的数据库中;
[0070]
设备绑定模块:提供物联网设备与物联网设备管理系统中对应的数据相绑定的功能;
[0071]
数据同步模块:提供物联网设备与服务端数据自动同步的功能,并按照用户的选择使用mqtt协议或coap协议进行通信。
[0072]
实施例2:
[0073]
本实施例提供一种采用内存数据模型的物联网设备管理方法,运行于物联网设备管理系统中,包括步骤如下:
[0074]
(1)用户根据如下格式书写xml配置文件,描述由物联网设备所映射的数据结构,
[0075][0076]
xml配置文件包括用户定义属性类型、属性名称和设备影子等内容,
[0077]
由物联网设备所映射的数据结构即设备影子,
[0078]
校验xml配置文件的格式的正确性,
[0079]
根据xml配置文件,使用动态编译技术生成相应的java类以及相关操作逻辑,并打包成开发包,映射结构如图2所示;
[0080]
(2)将步骤(1)中的设备影子实例化,并存储在内存中,得到了内存对象,设备影子在内存中以内存对象的形式存在,
[0081]
设备影子以及组成设备影子的实体使用spring ioc容器进行管理,
[0082]
设备影子使用物联网设备管理系统生成的设备id(deviceid)进行索引,组成设备影子的实体使用影子资源标识符(shadow resource identifier,sri)进行索引,用户通过设备id执行获取设备影子以及修改设备影子,即为内存中指定数据字段赋值之后的下发数据操作;
[0083]
(3)使用步骤(1)中得到的开发包开发物联网设备管理系统,物联网设备管理系统启动,自动检索并按照步骤(2)加载用户关联的数据库中已存在的设备影子数据,格式化成为内存对象,注入到spring ioc容器中,交给物联网设备管理系统进行管理,
[0084]
并提供给用户进行物联网设备数据的增删改查与下发物联网设备等操作,
[0085]
数据加载完成后,物联网设备管理系统读取mqtt队列中缓存的物联网设备发来的数据同步消息,自动接收物联网设备端推送的消息,获取物联网设备管理系统停止运行期间的数据变化;
[0086]
物联网设备管理系统的修改数据过程如图4所示,当物联网设备数据发生变化或者服务端想要改变设备状态时,选择暂存当前物联网设备的修改到缓存区(commit),修改、完成之后再提交到推送(push),两侧发送修改部分到所推送的主题中,数据变化分为增加(add)、删除(delete)和修改(update)三种方式,推送的消息中包含这三个数据、发生变化的实体的影子资源标识符(sri)和实体名称。消息接收端根据sri检索出数据变化的物联网设备,然后根据三种数据变化方式分别修改物联网设备数据。
[0087]
(4)按照步骤(3)启动之后,执行内存数据管理流程,用户对物联网设备的操作都是面向内存对象进行,在修改了内存对象的数据之后,物联网设备管理系统使用观察者模式自动记录用户修改过的内存属性即修改的内存对象的数据到缓存区域;等待用户下发指令,以增量更新的形式推送期望数据到物联网设备;
[0088]
(5)按照步骤(3)启动之后,执行数据持久化流程,
[0089]
如图5所示,用户推送(push)修改或物联网设备主动上报数据变化时,会将内存中的数据变化持久化到数据库中;
[0090]
用户获取和修改物联网设备数据直接对设备影子进行操作,物联网设备管理系统对用户隐藏内存数据与数据库之间的数据读取与数据持久化过程,内存数据的修改将自动同步到数据库中,物联网设备上报数据变化后会使用变化的数据同步修改与设备对应的设备影子,并自动同步到数据库中,且数据库操作在队列中排队异步执行;
[0091]
(6)按照步骤(3)启动之后,执行数据同步流程,物联网设备管理系统提供物联网设备与设备影子之间的双向数据自动同步机制,用户在服务端修改数据或者物联网设备数据发生变化后,将变化部分通过mqtt协议或coap协议以json格式字符串传递,完成数据同步。
[0092]
对于在物联网设备管理系统中新增的物联网设备,采用内存数据模型的物联网设备管理方法运行前,进行绑定,具体如下:
[0093]
用户在服务端与物联网设备约定一个唯一码作为绑定码bindcode;
[0094]
服务端收到设备绑定请求后,根据物联网设备的具体信息,为物联网设备生成全球唯一的deviceid,然后下发到物联网设备,完成绑定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜