基于图数据库的物联网模型(1)-图数据库与模型设计

基于图数据库的物联模型(1)-图数据库与模型设计物联⽹的图模型
所谓“物联⽹”是指规模巨⼤的设备,传感器将实现联⽹,通过这些联⽹设备来收集数据,存储和分析,并且和⼈员,应⽤软件产⽣的数据相互关联,实现处理复杂的事件的最优化。基于更快地使⽤更多数据来提供⽐以前更好的结果。
以滴滴打车为例,它是通过收集、整理、存储和处理来⾃运⾏其应⽤程序的⼤量智能⼿机的数据⽽实现的“智能服务”。 这些⼿机充当物联⽹设备,可以感知客户和出租车司机的位置,并与交通流量、天⽓和其他活动的数据混合在⼀起。提供了⽐传统的出租车呼叫中⼼更佳的客户服务。
pc3摩根⼠丹利最近预测,在未来五年内,全球将有⼤约 750 亿台联⽹设备投⼊使⽤。这个数字正在迅速接近⼈脑中估计的860亿个神经元。正如⼈类智能不是由我们⼤脑中的神经元数量产⽣的,⽽是由它们之间 100 万亿个左右的连接产⽣的⼀样,物联⽹的价值主要体现在这些设备的连接关系和交互。
闲来笔潭下载我们以⼀个学校的建筑管理系统为例,⼀个学校有教学楼,科研楼,学⽣宿舍,图书馆,⾷堂等许多的建筑。这些建筑中有许多的楼层和房间,在这些房间中有空调,灯具和教学实验仪器。为了实现建筑⾃动化管理和能耗管理,学校会在许多的地⽅安装计量电表,遥控开关,以及温度,照度传感器。这是⼀个⼗分复杂的物理设备⽹络。与此同时,从学校的⾏政管理的⾓度看,某⼀个⼤楼,或者实验室,宿舍⼜可能属于某⼀个系,某个班级,甚⾄某⼀个项⽬组,或者学⽣社团。
当我们着⼿来构建⼀个⼤学的建筑⾃动化能耗系统时,我们通常会在⽩板上画出物理设备和建筑物的⾪属关系和⽹络连接⽅式。这是相对⽐较直观和简单的。进⼀步地,我们要搞清楚设备以及教室与学校部门,学⽣,教师之间的⾪属关系。于是,如果我们将设备,部门,学⽣,教师都抽象称为⼀个圆圈(我们称为节点node)。⽽将两个圆圈之间如果有直接的⾪属关系,就会发现,学校的建筑⾃动化、能耗管理物联⽹变成了⼀个有圆圈和直线构成的图。节点之间的关系在构建物联⽹过程中⾮常重要。
另⼀⽅⾯,物联⽹将会产⽣⼤量的实时数据。它们之间是存在相互关系的。我们称数据之间的相互关系为“数据脉络”(data context,我喜欢这个中⽂术语!),当物联⽹中产⽣的数据存储在抽象的图节点中(下⾯我们指出,这些数据称为该节点的属性Property)。图能够充分地反映数据的脉络。
你可以⾃⼰去分析各⾃物联⽹,能够发现最后都能够抽象成为⼀张类似与上⾯的图。所以我们可以认为物联⽹就是⼀个图。如果我们采⽤图模型来构建物联⽹架构,存储,分析数据,实现设备交互,能使物联⽹的逻辑结构更加清晰。并且带来如下好处。社会科学战线
反映应⽤场景的数据脉络,适合数据分析和各种基于图论的算法。
数据查询的效率要⽐普通数据表的⽅式更⾼。
在普通的数据库中,如果数据是巨量的,那么查询的时间会越来糟糕。⽽图模型中,往往是通过链接关系,查询关联数据,所以它的查询数据的时间基本是恒定的。
系统设计更加符合设计师的思维过程
根据应⽤场景中各种设备之间的逻辑关系构建,更新数据模型。使系统设计更符合基于模型的设计⽅式。事实上,⼈们称图数据模型是⼀种“⽩板友好”的模型。也就是说,它直接反映的设计师在⽩板上画的结构图。⼤⼤提⾼了系统设计的效率。
有助于实现物联⽹的标准化
⾄少到⽬前为⽌,物联⽹应⽤的标准化⼯作进展缓慢。
图模型的⼏个要素
节点(Nodes)
关系(Relationship)
属性(Property)可以定义在节点和关系上
标签(Label) 代表节点的类别。
图数据库(neo4J)
图数据库是图模型数据的数据库。它的数据建⽴,查询和修改都是以图的形式进⾏的。所以,要建⽴图模型的物联⽹需要使⽤图数据库。neo4j是⽬前最流⾏的开源图数据库。
neo4j 的架构如下图所⽰:
从上图可见,数据库的管理,开发,应⽤程序接⼝,数据分析和商业使⽤都是基于图的。其内部的存储格式和算法也是⾯向图模型优化的。
图数据库与普通关系数据库的区别
普通的数据库⼤多数是所谓关系数据库(relation database),为什么不能⽤关系数据库来存储”关系“呢?其中关系数据库中的数据是通过⼤量的数据表格来存储数据,每个数据表中都有主键和外键。关系数据库通过主键-外键来建⽴数据之间的关系。
当主键和外键是⼀对多关系时,当模型中出现多对多关系时,必须引⼊⼀个JOIN表(或关联实体表)
来保存两个参与表的外键,进⼀步增加了join操作成本。下图显⽰了通过创建⼀个 Person-Department 连接表将⼀个⼈(来⾃ Person 表)连接到⼀个部门(在Department 表中)的概念,该连接表在⼀列中包含⼈的 ID 和在列中包含相关部门的 ID。
正如您可能看到的那样,这使得理解连接⾮常⿇烦,因为您必须知道⼈员 ID 和部门 ID 值(执⾏额外的查以到它们)才能知道哪个⼈连接到哪个部门。通常通过对数据进⾏⾮规范化以减少必要的连接数量来解决这些类型的成本⾼昂的连接操作,从⽽破坏关系数据库的数据完整性。
可以试想,如果数据的关系很复杂,数据⾮常巨⼤时,这种基于表格的关系表的查询是⾮常耗费计算时间和内存的。因此,图数据库的专家戏称关系数据库是”逆关系“的。”没关系“的。
图模型的建模⽅法
图模型另⼀个重要的特点是可以实现⾯向对象的模型设计。实际上,在⼯业⾃动控制中 的OPC UA 协议中的信息模型同样采⽤了图形的模型来描述程序设计中的对象。
⽐如⼀个传输系统中有两个电机。每个电机有转速,功率两个参数。
那么我们可以定义两个节点 -传输带和电机,电机节点中带有两个属性 转速和功率。
节点的粒度
在实际建模过程中,我们可以在节点中定义许多的属性,也可以将节点分解成功更⼩的节点构建⽽成。具有许多属性的节点可能会造成数
据的冗余。所以我们应该可能地将节点的存储颗粒分解的很细。这样表现⼒更强,⽀持更复杂的查询。
在OPC UA 的信息标准中,有8种类型的节点
对象节点
变量节点
聚乙二醇单甲醚⽅法节点
视图节点
对象类型节点
引⽤类型节点
变量类型节点
数据类型节点
⼀个对象使⽤⼀个节点来表⽰,如果该对象中拥有两个变量,那么就建⽴两个变量对象,然后对象节点和这两个变量类型节点之间建⽴了引⽤关系(reference relationship)。同样地,如果在⼀个对象中引⽤另⼀个对象,就需要定义被引⽤的对象,并与其建⽴引⽤关系。
OPC UA 的信息模型的节点粒度是⾮常⾼的。
参考OPC UA 的信息模型
我认为,在物联⽹系统建模时,可以参照OPC UA 的信息模型。⼀⽅⾯,OPC UA 信息模型基于⾯向
对象程序设计概念,具有很强的物理设备建模能⼒,另⼀⽅⾯,OPC UA 已经提出了许多年,⼤量⼯业软件都⽀持OPC UA 协议。并且为许多物理设备建⽴了OPC UA 信息模块。在构建物联⽹信息模型是我们可以使⽤OPC UA 协议丰富的技术和模型经验。同时,也促进物联⽹技术的标准化。
事实上,我们完全可以将物联⽹看作⼀个巨⼤的OPC UA 服务器。⽽各种应⽤软件成为OPC UA 的Client 访问这个巨⼤的物联⽹。在这个巨⼤的物联⽹OPC UA 服务器内部采⽤图数据库建⽴巨⼤的OPC UA 信息模型。个⼈觉得这是⼀个⼤胆的想法。能够解决物联⽹标准缺失的问题。
利⽤neo4j建⽴OPC UA 的数据模型
neo4j 节点中,没有节点类型的属性,不过,标签起到了节点类型的作⽤。我们可以通过标签来区分不同的节点。
下⾯是⼀个例⼦,其中黄⾊的节点是对象类型,红⾊的类型是变量类型。REF 是节点之间的关系。我们建⽴了⼀个⽔泵的节点,它具有两个对象类型的属性,分别是位置(location) 和电机(motor1),对象location节点具有两个变量节点(variable node),它们是
latitude和longitude。⽽电机具有两个变量节点(variable node),它们是speed和power。
这些节点通过引⽤关系REF 连接。
neo4j 的操作
第五届cctv舞蹈大赛节点的属性
基础属性(Basic property)
有所谓所有节点的都具有的属性。
名称 name
显⽰名称 dispayname
描述 Description
变量节点附加属性 (Variable)
value  值
dataType 数据类型
accessLevel
userAccessLevel
dataPointer 时间序列数据库指针
⽅法(Method)节点的附加属性
argument ⽅法的参数
实例
下⾯我们通过⼀个实例来研究数据模型的描述⽅式。在这⾥我们定义的⼀个⽔泵,⽔泵的特征包括位置,电机。⽽位置⼜包括了经纬度。电机包括转速和功率。
1 建⽴⼀个对象(pump)
2 建⽴motor和location 对象节点,
3 建⽴ pump-REF-motor和pump-REF-location 的关系
4 建⽴变量节点 speed,power,longitude,latitude 四个变量节点
5 建⽴ motor1-REF-speed,motor1-REF-power ,locattion-REF-longitude,location-REF-latitude 四个关系。

本文发布于:2024-09-21 21:54:35,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/461150.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   数据   物联   模型   设备   关系   实现   数据库
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议