物联网
您现在所在的位置:首页>企业动态>物联网

物联网物模型管理平台设计 1. 物模板

编辑:学到牛牛IT培训    发布日期: 2022-03-11 11:36:58  

1.1 创建模板

获取token ——> 根据信息创建模板数据 ——> 创建系统服务(get、set、post)

注意:同一领域下名称唯一

1.2 修改模板

仅能修改草稿状态且未发布过的模板

1.3 查看模板

仅能查看他人已发布或者自己的模板

1.4 删除模板

仅能删除自己的未发布且为草稿状态的模板

2. 物模板功能定义

注意:功能定义,同一物模板标识符唯一,区分大小写字母、校验命名合法性

2.1 属性(以C++来看,为结构体属性)

2.1.1 创建

根据数据类型创建属性 ——> 校验数据类型定义的合法性 ——> 根据属性的读写权限填充系统服务参数 ——> 更新物模板(模板是否发布、模板状态)

2.1.2 编辑

根据参数调整功能定义(属性是否发布) ——> 校验数据类型定义的合法性 ——> 根据属性的读写权限修改其对应的系统服务 ——> 更新物模板(模板是否发布、模板状态)

2.1.3 删除

根据参数删除功能定义(属性是否发布) ——> 根据属性的读写权限删除其对应的系统服务 ——> 更新物模板 更新物模板(模板是否发布、模板状态)

2.1.4 查看

返回功能定义并标准化数据规格

2.2 事件(方法)

2.2.1 创建

根据所传参数创建记录 ——> 输入输出参数不可重复 ——> 校验同一事件下参数标识符唯一&校验参数合法性 ——> 根据参数内容创建关联的参数记录 ——> 更新物模板(模板是否发布、模板状态)

2.2.2 编辑

根据所传参数编辑功能定义(事件是否发布) ——> 输入输出参数不可重复 ——> 校验同一事件下参数标识符唯一&校验参数合法性 ——> 根据参数内容创建关联的参数记录 ——> 更新物模板(模板是否发布、模板状态)

注意:筛选出参数信息,CUD对应的参数记录进行处理、先删除再更新再新增处理

2.2.3 删除

删除功能定义(事件是否发布),暂不处理其对应的参数记录 ——> 更新物模板(模板是否发布、模板状态)

2.2.4 查看

2.2.4.1 分页查看

关联查询(查询相应事件的输出参数个数)

2.2.4.2 单个查看

查询功能定义,查询参数填充其参数信息

2.3 服务(方法)

2.3.1 创建

根据所传参数创建记录 ——> 输入输出参数不可重复 ——> 校验同一服务下参数标识符唯一&校验参数合法性 ——> 根据参数内容创建关联的参数记录 ——> 更新物模板(模板是否发布、模板状态)

2.3.2 编辑

根据所传参数编辑功能定义(服务是否发布) ——> 输入输出参数不可重复 ——> 校验同一服务下参数标识符唯一&校验参数合法性 ——> 根据参数内容创建关联的参数记录 ——> 更新物模板(模板是否发布、模板状态)

注意:筛选出参数信息,CUD对应的参数记录进行处理、先删除再更新再新增处理

2.3.3 删除

删除功能定义(服务是否发布) ,暂不处理其对应的参数记录 ——> 更新物模板(模板是否发布、模板状态)

2.3.4 查看

2.3.4.1 分页查看

关联查询(查询相应服务的参数个数,按输入输出体现)

2.3.4.2 单个查看

查询功能定义,查询参数填充其参数信息

3 产品类型

3.1 创建

获取token ——> 根据信息创建产品类型数据 ——> 创建系统服务(get、set、post)

注意:同一领域下名称唯一

3.2 修改

仅能修改草稿状态且未发布过的产品类型

3.3 查看

仅能查看他人已发布或者自己的

3.4 删除模板

仅能删除自己的未发布且为草稿状态的

4. 功能定义

注意:功能定义,同一物模型下标识符唯一,区分大小写字母

同标题2

4.1 引用模板(已发布模板)

4.1.0 创建完成后直接引用模板

前提草稿状态,创建类型完成后,引用已发布模板的功能定义(必选不可不选),如果引用的功能定义

校验渗透请求,模板状态&必选功能定义是否缺失&请求参数各功能定义id对应的记录条数是否正确

引用属性 ——> 根据属性的读写权限填充系统服务参数

引用服务、事件 ——> 根据服务、事件创建对应的服务及服务参数记录、事件及事件参数记录

更新物模板被关联个数

4.1.1 无引用时切换模板

实现同4.1.0

4.1.2 引用模板调整当前模板功能定义引用

校验请求中必选不可缺失

比对已选择和当前请求参数,

筛选出需要删除的功能定义,删除属性同时删除属性对应的系统服务、删除

筛选出新增的功能定义并校验请求参数是否渗透,按5.4.0的添加逻辑处理

4.1.3 引用过模板切换成别的模板

实现同4.1.0

4.1.4 预发布撤回至草稿状态,编辑模板

4.1.4.1预发布规格关联产品类型

校验请求中必选不可缺失且被规格关联的模板功能定义不可缺失

比对已选择和当前请求参数,

筛选出需要删除的功能定义,删除属性同时删除属性对应的系统服务、删除

筛选出新增的功能定义并校验请求参数是否渗透,按5.4.0的添加逻辑处理

4.1.4.2 规格引用但处于预发布状态以下

实现同4.4.2

4.1.4.3 规格引用但处于预发布状态以下且自己未引用模板

实现同4.4.0

4.1.5 已发布撤回至草稿状态,编辑模板

4.1.5.1 未引用模板

实现同4.4.0

4.1.5.2 引用模板,不可切换模板

仅能增加功能定义

4.1.6 不再引用模板

校验通过,删除所有功能定义,更新模板关联个数

5 产品规格

产品规格仅能是其引用产品类别的子集,除了名称、描述之外其余信息来自于类别

5.1 创建

获取token ——> 根据信息创建产品类型数据 ——> 创建系统服务(get、set、post)

注意:同一领域下名称唯一

以某一产品类型基础信息创建产品规格

5.2 修改

以某一产品类型基础信息编辑产品规格

仅能修改草稿状态且未发布过的产品规格

5.3 查看

草稿状态的规格会校验引用类别与自己的功能定义对比

仅能查看他人已发布或者自己的

5.4 删除

仅能删除自己的未发布且为草稿状态的

6. 功能定义

注意:功能定义,同一物模型下标识符唯一,区分大小写字母

同标题2

7. 引用类别功能定义

7.1 未预发布过的规格(原始草稿)引用预发布的产品类型

校验必选&校验产品类型状态&规格状态 <==== (渗透校验)

后端逻辑保证初次引用和编辑、不可更换类别 <==== (渗透校验)

根据功能定义创建自己的功能定义,除了id、时间其他字段全部引用

7.1.1 初次引用

实现同4.1.0

7.1.2 编辑引用

7.1.2.1 创建之后未引用功能定义

则同7.1.1

7.1.2.2 创建之后引用功能定义

校验通过后,根据已引用信息和请求信息筛选数据

交集 =====> 更新

请求去除交集 =====> 新增

已引用去除交集 =====> 删除

7.2 预发布过撤回的规格(草稿)引用预发布的产品类型

实现同7.1

7.3 发布过撤回的规格(草稿)引用预发布的产品类型

仅能增加功能定义

校验已发布的功能定义是否缺失

新增的功能定义按4.1.0逻辑添加记录

7.4 未预发布过的规格(原始草稿)引用已发布的产品类型

校验必选&校验产品类型状态&规格状态 <==== (渗透校验)

后端逻辑保证初次引用和编辑、不可更换类别 <==== (渗透校验)

根据功能定义创建自己的功能定义,除了id、时间其他字段全部引用

7.4.1 初次引用

实现同4.1.0

7.4.2 编辑引用

7.4.2.1 创建之后未引用功能定义

则同7.1.1

7.4.2.2 创建之后引用功能定义

校验通过后,根据已引用信息和请求信息筛选数据

交集 =====> 更新

请求去除交集 =====> 新增

已引用去除交集 =====> 删除

7.5 预发布过撤回的规格(草稿)引用发布的产品类型

实现同7.1

7.5 发布过撤回的规格(草稿)引用发布的产品类型

仅能增加功能定义

校验已发布的功能定义是否缺失

新增的功能定义按4.1.0逻辑添加记录

7.6 功能定义处理

仅能删除可选或者通过引用界面调整可选 =====> 预发布撤回的草稿、原始草稿

8. 审核

8.1 预发布(通过审核)

8.1.1 物模板

草稿状态发起审核 ——> 创建审核列表数据、创建审核记录 ——> 更新物模型审核人信息 ——> 流经架构部、系统管理员审核后 ——> 更新物模型信息、预发布、生成预发布记录

8.1.2 产品类型

校验模板状态

责任人:草稿状态发起审核 ——> 创建审核列表数据、创建审核记录 ——> 更新物模型审核人信息 ——> 流经(物模板责任人)、架构部、系统管理员审核后 ——> 更新物模型信息、预发布、生成预发布记录

如果引用模板,最后一级审核时模板非发布状态,审核通过变草稿、增加一条系统审核失败记录

8.1.3 产品规格

校验类别状态

责任人:草稿状态发起审核 ——> 创建审核列表数据、创建审核记录 ——> 更新物模型审核人信息 ——> 流经(物模板责任人)、产品类型责任人、架构部、系统管理员审核后 ——> 更新物模型信息、预发布、生成预发布记录、更新类别关联信息

被引用的产品类别的状态低于预发布,不能发起审核,若审核中撤回或者撤回发起预发布审核(审核中),最后一级审核通过变草稿、增加一条系统审核失败记录

8.2 发布(通过审核)

8.2.1 物模板

责任人:草稿状态发起审核 ——> 创建审核列表数据、创建审核记录 ——> 更新物模型审核人信息 ——> 流经架构部、系统管理员审核后 ——> 更新物模型信息、发布

8.2.2 产品类型

校验模板状态

责任人:草稿状态发起审核 ——> 创建审核列表数据、创建审核记录 ——> 更新物模型审核人信息 ——> 流经(物模板责任人)、架构部、系统管理员审核后 ——> 更新物模型信息、发布

如果引用模板,最后一级审核时模板非发布状态,审核通过变草稿、增加一条系统审核失败记录

8.2.3 产品规格

校验类别状态

责任人:草稿状态发起审核 ——> 创建审核列表数据、创建审核记录 ——> 更新物模型审核人信息 ——> 流经(物模板责任人)、产品类型责任人、架构部、系统管理员审核后——> 更新物模型信息、发布

被引用的产品类别的状态低于发布,不能发起审核,若审核中撤回或者撤回发起发布审核(审核中),最后一级审核通过变草稿、增加一条系统审核失败记录、更新类别关联个数

8.3 撤回(通过审核)

8.3.1 撤回预发布

8.3.1.1 物模板

责任人:发起审核 ——> 创建审核列表数据、创建审核记录 ——> 更新物模型审核人信息 ——> 流经架构部 ——> 更新物模型审核人信息、草稿

8.3.1.2 产品类别

责任人:发起审核 ——> 创建审核列表数据、创建审核记录 ——> 更新物模型审核人信息 ——> 流经(物模板责任人)架构部 ——> 更新物模型审核人信息、草稿

8.3.1.3 产品规格

责任人:发起审核 ——> 创建审核列表数据、创建审核记录 ——> 更新物模型审核人信息 ——> 流经(物模板责任人)、产品类型责任人、架构部 ——> 更新物模型审核人信息、草稿、更新类别关联个数

8.3.2 撤回发布

逻辑同8.3.1

8.3.3 撤回预发布审核中

直接撤回为草稿,同时更新审核列表数据、增加审核记录

8.3.4 撤回发布审核中

直接撤回为预发布,同时更新审核列表数据、增加审核记录

8.3.5 撤回自己的撤回

已实现,本系统当前不处理这种需求

8.4 驳回(物模型)

任何一个审核流程驳回,审核过程结束

9. 初始化数据

系统缓存默认角色数据、缓存配置数据、请求配置数据默认走内存

10. 配置

分页、登录校验、鉴权、审核人信息、模型加密、日志入库

11. 日志

登录日志、操作日志

12. 登录&登出

登录:通过LDAP登录、设权限、token等信息、记录日志

登出:清除token,记录日志

13. 角色与权限

基于RBAC实现,角色、权限(资源),以中间表实现多对多的关系

用户表、角色表、用户角色表、权限表表、角色权限表

14. 导出

14.1 物模板模型

1、查询所有的功能定义分别填充属性、事件、服务

2、创建文件填充加密数据

3、压缩

4、以流的方式下载

14.2 产品类型物模型和证书

1、查询所有的功能定义分别填充属性、事件、服务

2、kms签名,调用exe生成相应的签名信息。

3、创建文件填充加密数据

4、压缩

5、以流的方式下载

14.3 产品规格物模型和SDK

1、查询所有的功能定义分别填充属性、事件、服务

2、物模型kms签名,调用exe生成相应的签名信息。

3、创建文件填充加密数据、调用auto_tsl.dll生成SDK.zip

4、压缩

5、以流的方式下载

14.4 导出对比(模板、类别、规格)

1、没有预发布过直接导出自己

2、预发布过导出最新的预发布的记录和自己

3、创建文件放置同一文件加下

4、压缩

5、流的方式下载

免费试学
课程好不好,不如实地听一听

封闭学习

2

1

联系我们

电话:028-61775817

邮箱:1572396657@qq.com

地址:成都高新西区西芯大道4号

  • 学到牛牛在线咨询

    扫一扫,免费咨询

  • 学到牛牛公众号

    微信公众号

学一流技术,找高薪工作

7-24小时服务热线:

028-61775817

版权声明 网站地图

蜀ICP备2021001672号

课程问题轻松问