CN113542390B - 一种采用内存数据模型的物联网设备管理方法及系统 - Google Patents

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

Info

Publication number
CN113542390B
CN113542390B CN202110783297.3A CN202110783297A CN113542390B CN 113542390 B CN113542390 B CN 113542390B CN 202110783297 A CN202110783297 A CN 202110783297A CN 113542390 B CN113542390 B CN 113542390B
Authority
CN
China
Prior art keywords
internet
data
equipment
things
shadow
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202110783297.3A
Other languages
English (en)
Other versions
CN113542390A (zh
Inventor
戴鸿君
盛振华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Priority to CN202110783297.3A priority Critical patent/CN113542390B/zh
Publication of CN113542390A publication Critical patent/CN113542390A/zh
Application granted granted Critical
Publication of CN113542390B publication Critical patent/CN113542390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/75Information technology; Communication
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control
    • G16Y40/35Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures

Abstract

本发明涉及一种采用内存数据模型的物联网设备管理方法及系统,属于物联网设备管理技术领域。将物联网设备的每一种需要接受系统管理的数据放置到内存中,以内存对象的形式存储,内存中的虚拟设备是现实物联网设备的抽象映射,核心是物联网设备所映射出的内存数据模型即设备影子,用户可以直接通过设备影子在内存中实例化出的内存对象访问设备数据,而不是像传统方法一样需要每次查询数据库获得数据。

Description

一种采用内存数据模型的物联网设备管理方法及系统
技术领域
本发明涉及一种采用内存数据模型的物联网设备管理方法及系统,属于物联网设备管理技术领域。
背景技术
物联网(Internet of Things,IoT)是指嵌入式物联网设备,如:汽车、家用电器等,具有计算机化系统,如软件、传感器等,通过智能感知、识别技术与计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。在这项技术中,每一个设备都能自动工作,根据环境变化自动响应,与其它设备交换数据,不需要人为参与,整个系统由无线网络和互联网结合构建。物联网的主要目的是提高设备的效率和准确性,为人们节省金钱和时间。
物联网包括智能手机、耳机、汽车、灯泡、冰箱、咖啡机、安全系统、警报系统和其他家庭和移动设备。据有关专家估计,到2020年物联网将连接全球超过300亿件物品,全球市值将达到约7.1万亿美元。
物联网的每一个设备都需要由两部分组成,第一个,也是必不可少的—互联网,任何一个物联网设备都离不开网络;第二个,是智能手机或移动设备,每个物联网设备都需要另外一个或多个设备相互交换数据才能确保其正常工作,这也是目前控制物联网设备的唯一方法。
物联网的应用领域涉及到方方面面,包括工业、农业、环境、交通、物流、安保等基础设施领域,有效的推动了这些方面的智能化发展,使得有限的资源可以更加合理的使用分配,从而提高了行业效率、效益。而物联网在家居、医疗健康、教育、金融与服务业、旅游业等与生活息息相关的领域的应用,使服务范围、服务方式到服务的质量方面都有了极大的改进,大大的提高了人们的生活质量。
虽然物联网近年来的发展已经渐成规模,各国都投入了巨大的人力、物力、财力来进行研究和开发。但是在技术、管理、成本、政策、安全等方面仍然存在许多需要攻克的难题:
目前,传统互联网的标准并不适合物联网,物联网感知层的数据多源异构,不同的设备有不同的接口,不同的技术标准;网络层、应用层也由于使用的网络类型不同、行业的应用方向不同而存在不同的网络协议和体系结构。建立的统一的物联网体系架构,统一的技术标准是物联网现在正在面对的难题。
物联网自身就是一个复杂的网络体系,加之应用领域遍及各行各业,不可避免的存在很大的交叉性。如果这个网络体系没有一个专门的综合平台对信息进行分类管理,则会出现大量信息冗余、重复工作和重复建设,导致资源浪费。每个行业的应用各自独立,成本高、效率低,体现不出物联网的优势,势必会影响物联网的推广。物联网现急需要一个能整合各行业资源的统一管理平台,使其能形成一个完整的产业链模式。
发明内容
针对现有技术的不足,本发明提供一种采用内存数据模型的物联网设备管理方法及系统,将物联网设备的每一种需要接受系统管理的数据放置到内存中,以内存对象的形式存储,内存中的虚拟设备是现实物联网设备的抽象映射,可以更好地管理物联网设备的各种数据。
本发明的核心是物联网设备所映射出的内存数据模型,下文将这个内存数据模型称为设备影子,用户可以直接通过这个设备影子在内存中实例化出的内存对象访问设备数据,而不是像传统方法一样需要每次查询数据库获得数据。
存在于服务端内存中的设备影子数据与实际物联网设备中的数据是一一对应的,且二者之间时刻保持一致。物联网设备中的数据发生变化会发送数据同步到服务端,修改设备影子对应的数值。用户修改设备影子之后对应的修改也可以同步下发到物联网设备。
本发明使用增量信息同步机制,同时提供多种物联网通信协议并封装了相应的使用方式提供给用户,在对用户隐藏了同步过程的同时确保了物联网设备与内存对象的数据一致性,最终保证了数据访问的快速性与便捷性。
本发明提供的是自定义模型建立与基础操作封装的功能,最终的产物是面向服务端和物联网设备端的开发包,用户使用这个开发包开发自己的物联网设备管理系统。
术语解释:
动态编译技术:在程序运行过程中根据需要动态生成代码并编译,然后加载到运行环境中与现有程序一同工作。
影子资源标识符:Shadow Resource Identifier(SRI),物联网设备所映射出的设备影子包括很多嵌套的数据结构,本发明中将这些子数据结构所实例化出的对象称为影子实体,也即设备影子的实例化对象是由一些基础类型数据以及多个影子实体组合而成的。为了在内存中索引这些影子实体,本发明为每个实体定制了影子资源标识符作为唯一id。
MQTT协议:MQTT(消息队列遥测传输)是ISO标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。
CoAP协议:由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。IETF的CoRE工作组提出了一种基于REST架构的CoAP协议。CoAP是6LowPAN协议栈中的应用层协议。
Json格式:是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
实例化:实例化是指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程。实例化过程中一般由类名对象名=new类名(参数1,参数2...参数n)构成。
DeviceID:设备ID,系统中用于标识物联网设备以及对应内存中设备影子的字符串,在系统中是全局唯一的;
Spring IoC容器:Ioc—Inversion of Control,即“控制反转”,就是具有依赖注入功能的容器,是可以创建对象的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖;
ShadowUtils类中的方法:
Figure BDA0003157806670000031
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
本发明的技术方案如下:
一种采用内存数据模型的物联网设备管理系统,包括设备模型建立模块、内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块,内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块均以开发包的形式提供给使用本系统的开发者进行二次开发,设备影子(图中的ShadowBean)由多个使用SRI索引的设备实体(图中的Entity)组成,存储在Spring IoC容器中并使用deviceId进行索引。面向用户,提供了ShadowUtils作为接口进行设备影子的增删改查操作。面向数据库,使用数据持久化模块将内存中的数据存储到数据库中;
设备模型建立模块:通过解析用户描述物联网设备的xml文件,生成相应的设备影子代码,并与内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块的代码一并打包提供给用户使用;
内存数据管理模块:设备影子实例化出的各类对象分别使用DeviceID或SRI进行索引,并交由Spring IoC容器管理,用户使用ShadowUtils类中的方法进行设备影子数据的获取、修改和同步操作;
数据持久化模块:负责将内存中的物联网设备数据持久化到用户配置的数据库中;
设备绑定模块:提供物联网设备与物联网设备管理系统中对应的数据相绑定的功能;
数据同步模块:提供物联网设备与服务端数据自动同步的功能,并按照用户的选择使用MQTT协议或CoAP协议进行通信。
一种采用内存数据模型的物联网设备管理方法,运行于物联网设备管理系统中,包括步骤如下:
(1)用户书写xml配置文件,描述由物联网设备所映射的数据结构,
xml配置文件包括用户定义属性类型、属性名称和设备影子等内容,
由物联网设备所映射的数据结构即设备影子,
校验xml配置文件的格式的正确性,
根据xml配置文件,使用动态编译技术生成相应的Java类以及相关操作逻辑,并打包成开发包;
(2)将步骤(1)中的设备影子实例化,并存储在内存中,得到了内存对象,设备影子在内存中以内存对象的形式存在,
设备影子以及组成设备影子的实体使用Spring IOC容器进行管理,
设备影子使用物联网设备管理系统生成的设备Id(DeviceID)进行索引,组成设备影子的实体使用影子资源标识符(Shadow Resource Identifier,SRI)进行索引,用户通过设备Id执行获取设备影子以及修改设备影子,即为内存中指定数据字段赋值之后的下发数据操作;
(3)使用步骤(1)中得到的开发包开发物联网设备管理系统,物联网设备管理系统启动,自动检索并按照步骤(2)加载用户关联的数据库中已存在的设备影子数据,格式化成为内存对象,注入到Spring IOC容器中,交给物联网设备管理系统进行管理,
并提供给用户进行物联网设备数据的增删改查与下发物联网设备等操作,
数据加载完成后,物联网设备管理系统读取MQTT队列中缓存的物联网设备发来的数据同步消息,自动接收物联网设备端推送的消息,获取物联网设备管理系统停止运行期间的数据变化;
(4)按照步骤(3)启动之后,执行内存数据管理流程,用户对物联网设备的操作都是面向内存对象进行,在修改了内存对象的数据之后,物联网设备管理系统使用观察者模式自动记录用户修改过的内存属性即修改的内存对象的数据到缓存区域;等待用户下发指令,以增量更新的形式推送期望数据到物联网设备;
(5)按照步骤(3)启动之后,执行数据持久化流程,用户获取和修改物联网设备数据直接对设备影子进行操作,物联网设备管理系统对用户隐藏内存数据与数据库之间的数据读取与数据持久化过程,内存数据的修改将自动同步到数据库中,物联网设备上报数据变化后会使用变化的数据同步修改与设备对应的设备影子,并自动同步到数据库中,且数据库操作在队列中排队异步执行;
(6)按照步骤(3)启动之后,执行数据同步流程,物联网设备管理系统提供物联网设备与设备影子之间的双向数据自动同步机制,用户在服务端修改数据或者物联网设备数据发生变化后,将变化部分通过MQTT协议或CoAP协议以Json格式字符串传递,完成数据同步。
根据本发明优选的,对于在物联网设备管理系统中新增的物联网设备,采用内存数据模型的物联网设备管理方法运行前,进行绑定,具体如下:
用户在服务端与物联网设备约定一个唯一码作为绑定码bindCode;
服务端收到设备绑定请求后,根据物联网设备的具体信息,为物联网设备生成全球唯一的deviceId,然后下发到物联网设备,完成绑定。
本发明的有益效果在于:
1、本发明采用用户由自定义的xml文件生成内存数据模型的方法,并且由用户选择采用物联网行业普遍使用的MQTT协议或CoAP协议进行通信。相对于市面上普遍使用的json定义方式,结构更加清晰,支持的设备更加复杂,可以灵活地适配不同的设备,管理大多数物联网设备。
2、本发明采用内存数据模型对物联网设备进行描述,而不仅仅是传统的数据库结构化数据存储。提供给开发者的是更为立体化的数据结构,能够更好的理解数据之间的对应关系,专注于业务逻辑的实现。
3、本发明采用内存数据计算的方式。设备数据结构化存储在内存中,用户对数据的读取、修改和计算都可以直接使用内存中的设备影子进行操作,而设备数据从内存到数据库的过程对用户透明化,持久化过程异步化。内存操作速度远远超过磁盘数据库操作速度,系统可以在极低的延迟下完成设备操作的业务逻辑,并能够保证数据的正确性。
4、本发明采用增量更新的方式同步物联网设备与管理系统中的数据。管理系统记录下用户每次更新的对象属性,存储到缓存区。在用户调用下发方法的时候下发服务端期望数据到设备端,设备数据发生变化的时候上报修改数据到服务端,整个通信过程中传递的修改数据都是对象的原子属性,数据同步更省流量,通信过程更加快速。
5、本发明的最终产品包括服务端和设备端两种开发包,在提供给用户的开发包中封装了数据管理、设备通信同步和数据持久化等设备管理平台通用逻辑,相比于其他物联网平台,提供了更为丰富的基础服务内容,简化用户的开发过程。
附图说明
图1为本发明的整体流程图;
图2为本发明的物联网设备与设备影子映射示意图;
图3为本发明的系统架构图;
图4为本发明的数据传递过程图;
图5为本发明的设备与内存影子数据同步过程图;
图6为本发明中物理设备端与服务端设备影子数据绑定过程图;
图7为本发明的系统连接关系图。
具体实施方式
下面通过实施例并结合附图对本发明做进一步说明,但不限于此。
实施例1:
本实施例提供一种采用内存数据模型的物联网设备管理系统,如图7所示,包括设备模型建立模块、内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块,内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块均以开发包的形式提供给使用本系统的开发者进行二次开发,开发包系统架构如图3所示,设备影子(图中的ShadowBean)由多个使用SRI索引的设备实体(图中的Entity)组成,存储在Spring IoC容器中并使用deviceId进行索引。面向用户,提供了ShadowUtils作为接口进行设备影子的增删改查操作。面向数据库,使用数据持久化模块将内存中的数据存储到数据库中;
设备模型建立模块:通过解析用户描述物联网设备的xml文件,生成相应的设备影子代码,并与内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块的代码一并打包提供给用户使用;
内存数据管理模块:设备影子实例化出的各类对象分别使用DeviceID或SRI进行索引,并交由Spring IoC容器管理,用户使用ShadowUtils类中的方法进行设备影子数据的获取、修改和同步操作;
数据持久化模块:负责将内存中的物联网设备数据持久化到用户配置的数据库中;
设备绑定模块:提供物联网设备与物联网设备管理系统中对应的数据相绑定的功能;
数据同步模块:提供物联网设备与服务端数据自动同步的功能,并按照用户的选择使用MQTT协议或CoAP协议进行通信。
实施例2:
本实施例提供一种采用内存数据模型的物联网设备管理方法,运行于物联网设备管理系统中,包括步骤如下:
(1)用户根据如下格式书写xml配置文件,描述由物联网设备所映射的数据结构,
Figure BDA0003157806670000071
xml配置文件包括用户定义属性类型、属性名称和设备影子等内容,
由物联网设备所映射的数据结构即设备影子,
校验xml配置文件的格式的正确性,
根据xml配置文件,使用动态编译技术生成相应的Java类以及相关操作逻辑,并打包成开发包,映射结构如图2所示;
(2)将步骤(1)中的设备影子实例化,并存储在内存中,得到了内存对象,设备影子在内存中以内存对象的形式存在,
设备影子以及组成设备影子的实体使用Spring IOC容器进行管理,
设备影子使用物联网设备管理系统生成的设备Id(DeviceID)进行索引,组成设备影子的实体使用影子资源标识符(Shadow Resource Identifier,SRI)进行索引,用户通过设备Id执行获取设备影子以及修改设备影子,即为内存中指定数据字段赋值之后的下发数据操作;
(3)使用步骤(1)中得到的开发包开发物联网设备管理系统,物联网设备管理系统启动,自动检索并按照步骤(2)加载用户关联的数据库中已存在的设备影子数据,格式化成为内存对象,注入到Spring IOC容器中,交给物联网设备管理系统进行管理,
并提供给用户进行物联网设备数据的增删改查与下发物联网设备等操作,
数据加载完成后,物联网设备管理系统读取MQTT队列中缓存的物联网设备发来的数据同步消息,自动接收物联网设备端推送的消息,获取物联网设备管理系统停止运行期间的数据变化;
物联网设备管理系统的修改数据过程如图4所示,当物联网设备数据发生变化或者服务端想要改变设备状态时,选择暂存当前物联网设备的修改到缓存区(commit),修改、完成之后再提交到推送(push),两侧发送修改部分到所推送的主题中,数据变化分为增加(add)、删除(delete)和修改(update)三种方式,推送的消息中包含这三个数据、发生变化的实体的影子资源标识符(SRI)和实体名称。消息接收端根据SRI检索出数据变化的物联网设备,然后根据三种数据变化方式分别修改物联网设备数据。
(4)按照步骤(3)启动之后,执行内存数据管理流程,用户对物联网设备的操作都是面向内存对象进行,在修改了内存对象的数据之后,物联网设备管理系统使用观察者模式自动记录用户修改过的内存属性即修改的内存对象的数据到缓存区域;等待用户下发指令,以增量更新的形式推送期望数据到物联网设备;
(5)按照步骤(3)启动之后,执行数据持久化流程,
如图5所示,用户推送(push)修改或物联网设备主动上报数据变化时,会将内存中的数据变化持久化到数据库中;
用户获取和修改物联网设备数据直接对设备影子进行操作,物联网设备管理系统对用户隐藏内存数据与数据库之间的数据读取与数据持久化过程,内存数据的修改将自动同步到数据库中,物联网设备上报数据变化后会使用变化的数据同步修改与设备对应的设备影子,并自动同步到数据库中,且数据库操作在队列中排队异步执行;
(6)按照步骤(3)启动之后,执行数据同步流程,物联网设备管理系统提供物联网设备与设备影子之间的双向数据自动同步机制,用户在服务端修改数据或者物联网设备数据发生变化后,将变化部分通过MQTT协议或CoAP协议以Json格式字符串传递,完成数据同步。
对于在物联网设备管理系统中新增的物联网设备,采用内存数据模型的物联网设备管理方法运行前,进行绑定,具体如下:
用户在服务端与物联网设备约定一个唯一码作为绑定码bindCode;
服务端收到设备绑定请求后,根据物联网设备的具体信息,为物联网设备生成全球唯一的deviceId,然后下发到物联网设备,完成绑定。

Claims (5)

1.一种采用内存数据模型的物联网设备管理系统,其特征在于,包括设备模型建立模块、内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块,设备影子由多个使用SRI索引的设备实体组成,存储在Spring IoC容器中并使用DeviceID进行索引,
设备模型建立模块:通过解析用户描述物联网设备的xml文件,生成相应的设备影子代码,并与内存数据管理模块、数据持久化模块、设备绑定模块和数据同步模块的代码一并打包提供给用户使用;
内存数据管理模块:设备影子实例化出的各类对象分别使用DeviceID或SRI进行索引,并交由Spring IoC容器管理,用户使用ShadowUtils类中的方法进行设备影子数据的获取、修改和同步操作;
数据持久化模块:负责将内存中的物联网设备数据持久化到用户配置的数据库中;
设备绑定模块:提供物联网设备与物联网设备管理系统中对应的数据相绑定的功能;
数据同步模块:提供物联网设备与服务端数据自动同步的功能,并按照用户的选择使用MQTT协议或CoAP协议进行通信;
上述SRI指影子资源标识符:Shadow Resource Identifier,物联网设备所映射出的设备影子包括很多嵌套的数据结构,将这些子数据结构所实例化出的对象称为影子实体,也即设备影子的实例化对象是由一些基础类型数据以及多个影子实体组合而成;
DeviceID:设备ID,系统中用于标识物联网设备以及对应内存中设备影子的字符串,在系统中是全局唯一的;
ShadowUtils类中的方法:
Figure FDA0003586072080000011
Spring IoC容器:Ioc—Inversion of Control,即控制反转,就是具有依赖注入功能的容器,是可以创建对象的容器,IoC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。
2.一种采用内存数据模型的物联网设备管理方法,运行于物联网设备管理系统中,其特征在于,包括步骤如下:
(1)用户书写xml配置文件,描述由物联网设备所映射的数据结构,
xml配置文件包括用户定义属性类型、属性名称和设备影子内容,
由物联网设备所映射的数据结构即设备影子,
校验xml配置文件的格式的正确性,
根据xml配置文件,使用动态编译技术生成相应的Java类以及相关操作逻辑,并打包成开发包;
(2)将步骤(1)中的设备影子实例化,并存储在内存中,得到了内存对象,设备影子在内存中以内存对象的形式存在,
设备影子以及组成设备影子的实体使用Spring IoC容器进行管理,
设备影子使用物联网设备管理系统生成的设备Id进行索引,组成设备影子的实体使用影子资源标识符进行索引,用户通过设备Id执行获取设备影子以及修改设备影子,即为内存中指定数据字段赋值之后的下发数据操作;
(3)使用步骤(1)中得到的开发包开发物联网设备管理系统,物联网设备管理系统启动,自动检索并按照步骤(2)加载用户关联的数据库中已存在的设备影子数据,格式化成为内存对象,注入到Spring IoC容器中,交给物联网设备管理系统进行管理,
并提供给用户进行物联网设备数据的增删改查与下发物联网设备操作,
数据加载完成后,物联网设备管理系统读取MQTT队列中缓存的物联网设备发来的数据同步消息,自动接收物联网设备端推送的消息,获取物联网设备管理系统停止运行期间的数据变化;
(4)按照步骤(3)启动之后,执行内存数据管理流程,在修改了内存对象的数据之后,物联网设备管理系统使用观察者模式自动记录用户修改过的内存属性即修改的内存对象的数据到缓存区域。
3.如权利要求2所述的采用内存数据模型的物联网设备管理方法,其特征在于,按照步骤(3)启动之后,执行数据持久化流程,用户获取和修改物联网设备数据直接对设备影子进行操作,物联网设备管理系统对用户隐藏内存数据与数据库之间的数据读取与数据持久化过程,内存数据的修改将自动同步到数据库中,物联网设备上报数据变化后会使用变化的数据同步修改与设备对应的设备影子,并自动同步到数据库中,且数据库操作在队列中排队异步执行。
4.如权利要求2所述的采用内存数据模型的物联网设备管理方法,其特征在于,按照步骤(3)启动之后,执行数据同步流程,物联网设备管理系统提供物联网设备与设备影子之间的双向数据自动同步机制,用户在服务端修改数据或者物联网设备数据发生变化后,将变化部分通过MQTT协议或CoAP协议以Json格式字符串传递,完成数据同步。
5.如权利要求2所述的采用内存数据模型的物联网设备管理方法,其特征在于,对于在物联网设备管理系统中新增的物联网设备,采用内存数据模型的物联网设备管理方法运行前,进行绑定,具体如下:
用户在服务端与物联网设备约定一个唯一码作为绑定码bindCode;
服务端收到设备绑定请求后,根据物联网设备的具体信息,为物联网设备生成全球唯一的deviceId,然后下发到物联网设备,完成绑定。
CN202110783297.3A 2021-07-12 2021-07-12 一种采用内存数据模型的物联网设备管理方法及系统 Active CN113542390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110783297.3A CN113542390B (zh) 2021-07-12 2021-07-12 一种采用内存数据模型的物联网设备管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110783297.3A CN113542390B (zh) 2021-07-12 2021-07-12 一种采用内存数据模型的物联网设备管理方法及系统

Publications (2)

Publication Number Publication Date
CN113542390A CN113542390A (zh) 2021-10-22
CN113542390B true CN113542390B (zh) 2022-07-05

Family

ID=78098517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110783297.3A Active CN113542390B (zh) 2021-07-12 2021-07-12 一种采用内存数据模型的物联网设备管理方法及系统

Country Status (1)

Country Link
CN (1) CN113542390B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629907A (zh) * 2022-03-25 2022-06-14 广州助蜂网络科技有限公司 一种停车场设备的管控方法及装置
CN115563144B (zh) * 2022-10-26 2023-10-03 山东浪潮新基建科技有限公司 一种物联网平台动态数据更新方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111010318A (zh) * 2019-12-19 2020-04-14 北京首信科技股份有限公司 发现物联网终端设备失联的方法、系统和设备影子服务器
CN111327662A (zh) * 2018-12-17 2020-06-23 西安华为技术有限公司 一种异构物联网平台的通信方法及管理装置
CN111585958A (zh) * 2020-04-01 2020-08-25 西安电子科技大学 物联网平台异构设备自适应接入方法、系统
CN112039983A (zh) * 2020-08-28 2020-12-04 深圳市万睿智能科技有限公司 一种物联网设备连接中间件的实现方法及系统
CN112788125A (zh) * 2020-12-31 2021-05-11 浙江航天恒嘉数据科技有限公司 一种基于数据接入、流转及联动的物联网平台以及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372486B2 (en) * 2016-11-28 2019-08-06 Amazon Technologies, Inc. Localized device coordinator
CN109587242B (zh) * 2018-12-05 2021-08-10 华润置地控股有限公司 物联网平台系统及其云端平台和本地终端
CN111787049A (zh) * 2020-05-09 2020-10-16 苏州中科中霖电子科技有限公司 一种基于设备对象的物联网设备管理方法与系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327662A (zh) * 2018-12-17 2020-06-23 西安华为技术有限公司 一种异构物联网平台的通信方法及管理装置
CN111010318A (zh) * 2019-12-19 2020-04-14 北京首信科技股份有限公司 发现物联网终端设备失联的方法、系统和设备影子服务器
CN111585958A (zh) * 2020-04-01 2020-08-25 西安电子科技大学 物联网平台异构设备自适应接入方法、系统
CN112039983A (zh) * 2020-08-28 2020-12-04 深圳市万睿智能科技有限公司 一种物联网设备连接中间件的实现方法及系统
CN112788125A (zh) * 2020-12-31 2021-05-11 浙江航天恒嘉数据科技有限公司 一种基于数据接入、流转及联动的物联网平台以及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
No-Code Shadow Things Deployment for the IoT;Ege Korkan等;《2020 IEEE 6th World Forum on Internet of Things (WF-IoT)》;20201013;全文 *
基于泛在电力物联网的智慧物联体系研究;孔震;《中国信息化》;20200320;全文 *

Also Published As

Publication number Publication date
CN113542390A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN103336813B (zh) 一种基于中间件架构的物联网数据集成管理方案
CN113542390B (zh) 一种采用内存数据模型的物联网设备管理方法及系统
CN108681488B (zh) 一种物联网平台终端数据上报方法
CN107766526B (zh) 数据库访问方法、装置及系统
WO2020238597A1 (zh) 基于Hadoop的数据更新方法、装置、系统及介质
US7917547B2 (en) Virtualizing objects within queries
US20130339488A1 (en) Enterprise services framework for mobile devices
CN110309108A (zh) 数据采集及储存方法、装置、电子设备、存储介质
CN111324619B (zh) 微服务系统中的对象更新方法、装置、设备和存储介质
US9665416B1 (en) Asynchronous execution of computer operations
CN111324803A (zh) 搜索引擎的查询请求处理方法、装置及客户端
US11915035B1 (en) Task state updating method and apparatus, device, and medium
CN115269228A (zh) 一种数据适配传输方法、装置、设备和介质
CN113326033B (zh) 一种带有多种语言API的key-value存储系统
CN114185695A (zh) 基于工业app微服务的松耦合数据处理方法和系统
CN114547206A (zh) 一种数据同步方法和数据同步系统
US20220164365A1 (en) Intelligent master data replication
CN107590199A (zh) 一种面向内存的多线程数据库设计方法
Acharya et al. MOBICHARTS: a notation to specify mobile computing applications
Carreton et al. Software abstractions for mobile RFID‐enabled applications
CN114528270A (zh) 云环境下实时流数据与业务维度信息自动关联系统及方法
CN103246517A (zh) 一种智能客户端程序调用webservice实现数据库事务持续化的方法
Li Design and implementation of distributed asynchronous data aided computer information interaction system
CN117369784B (zh) 一种服务接口的处理系统及方法
CN117033034B (zh) 一种基于指令协议下的数字孪生应用交互系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant