设备云功能
2020-11-05 16:02:49 0 举报
AI智能生成
设备云体系结构
作者其他创作
大纲/内容
启动流程
初始化数据库(多数据源)ApplicationStartup#onApplicationEvent
H2
执行 schema-h2.sql
Mysql
执行 schema-mysql.sql
执行 data-mysql.sql
!!现缺少租售相关 device_cloud.sql
初始化模型 CommandLineRunner#run
读取config.properties 配置文件
子主题
在模型服务上新建制造商 InitializeService#initialize节点
基于根节点(/0/85)
制造商节点(Manufacturer)
客户管理(CustomerManage)
设备管理(DeviceManage)
模板管理(TemplateManage)
系统设置(SystemSetting)
XXX制造商系统设置
保存了制造商的系统设置信息(对应系统设置功能菜单)
将新初始化创建出来的信息回填config.properties并保存磁盘
初始化制造商域名、菜单、按钮权限项 InitializeService#initCustomerPermission
校验域名是否已存在
创建域名
在平台Uaa服务中 creatZone
初始化权限项
会读取 permission.json
调用hiacloud平台uaa服务API新增权限项
用户&角色&权限
逻辑
已登录用户信息保存在 Config.SYSTEM_USER_CACHE <Map>中
用户、角色、权限信息的CRUD则调用hiacloud平台uaa服务API进行管理
用户
角色
权限
用户和角色的关系
用户和权限的关系
角色和权限的关系
权限
采用RBAC方式,用户权限取用户和用户所属角色的并集
子主题
代码(Controller层)
UserController
RoleController
PermissionController
不涉及关系数据库
客户(Customer)管理,分为
制造商(Manufacturer)
拥有独立域名,一套设备云对应一家设备制造商(Manufacturer) ,设备只能由制造商统一录入管理,然后分配(租售)给各个企业(Dealer)
经销商(Dealer)
已废弃
终端用户(EndUser)
(需要制造商域名支持泛解析)拥有独立子域名,终端用户可以查看(监控)设备,但不能对设备、设备模板进行管理、组态。
终端用户可以控制是否允许制造商监控其名下设备,控制开关: Device#dataUploadSwitch
代码
CustomersController
组织机构
独立模块儿,未被其他模块儿依赖引用
调用hiacloud平台uaa服务API来进行进行管理
代码
:OrganizeController
系统管理
系统日志
H2数据库,表:SYS_LOG
代码:OLogService<<interface>>
系统配置
系统配置CRUD调用hiacloud平台model服务API进行管理
系统配置保存为model服务中的一个Node节点,所有的CRUD即是对这个节点KeyValue的修改
代码:SystemConfig<<class>>
数据字典
配置在dictionary.json中,只读
代码
SysController
查平台侧上报了哪些网关
查平台侧网关上报的设备
查平台侧设备上有哪些测点
设备中心
设备管理
设备CRUD调用hiacloud平台model服务API进行管理
一个设备对应model服务中的一个Node节点,所有的设备保存在DeviceManage(文件夹)节点下
设备权限控制通过PermissionUsers,PermissionRoles字段(逗号分隔)进行管理
代码:DeviceController,Device
模板管理
设备模板CRUD调用hiacloud平台model服务API进行管理
一个设备模板对应model服务中的一个Node节点,所有的设备模板保存在TemplateManage(文件夹)节点下
模板权限控制通过PermissionUsers,PermissionRoles字段(逗号分隔)进行管理
代码: DeviceTemplateController,DeviceTemplate
模板上的测点(MeasuringPoint):对应DeviceTemplate#tags,每一个测点也对应mode服务的一个 Node
数字孪生
外链
报警管理
告警规则
在Hiot网关上配置,触发后上报hiacloud平台
实时报警
通过调用hiacloud平台event服务API获取
默认从平台侧查询最近5min(可配置)的告警事件(AlarmData),作为设备的实时告警
以设备序列号(sn)为单位缓存在Redis中(5分钟过期)
历史报警
通过调用hiacloud平台event服务API获取,可通过操作忽略(Mysql 表:alarm_operation)
Redis中缓存了最近一个季度的历史告警,如果查询时间段在此时间范围内则直接从Redis查,否则从hiacloud平台侧查询
代码
RealtimeDataController#*alarm*
维保管理
维修
Web端派单,可手机端接单,处理,若验收不通过可再次派单,只到修好为止
代码
:ReportPairMgmtController
保养
Web端管理保养计划,定时触发提前派工单
代码
: MaintainPlanController
工单
维修、保养、设备报警报修都可生成工单,
状态:已派单,已接单,已完成
代码
:MyWorkOrderController
售后分析
对设备故障类型&保养项目进行简单的统计
租售管理
制造商
制造商可将设备租售给终端用户(设备已绑定启停测点的前提下,方便控制启停)
终端用户
设备到期后支持短信通知,逾期后自动控制停止设备
记录查询
代码(入口)
DeviceCustomApplication
相关表
sale_*,notice_*
智能分析
健康监测
根据设备实际运行时长和理论可用时长计算设备健康度百分比(前提设备上配置了'运行'测点)
依赖hiacloud平台时序数据统计服务aggquery
代码
HealthMonitoringController
时效统计
按日、月统计设备运行、待机、停机时长(前提设备上配置了对应测点)
依赖hiacloud平台时序数据统计服务aggquery
代码
TimeStatisticsController
运营监控
地图监控
设备分布情况(前提设备上配置了地址),如果设备有告警则会红色闪烁
集中监控
产线
Redis中存储,Hash
代码
ProductLineCache
监控
设备监控缩略图
引用在 组态设计器中组好的页面(集中监控)
设备监控
引用在 组态设计器中组好的页面(设备监控)
监控实时数据调用应用api(实际又调用了hiacloud平台时序服务的api)、轮询
组态设计器
基于hightopo的二次开发
0 条评论
下一页