1. 项目介绍

本次项目目的在于以电信云作为云端服务器,在服务端进行业务开发,实现接受工业物联网设备消息并记录分析,以及前端web界面的展示。功能主要包括云端服务器接受物联网设备信息,状态监测和下发控制指令。

2. 软件结构

在具体了解软件架构的视图之前,为了理解软件架构中的关键要素所表现出来的特征,我们先来看看软件架构的风格和策略,然后在逐一分析软件架构的视图。本项目作为一个前后端分离的项目,后端使用成熟的spring boot框架,前端使用vue和Element UI ,整体项目使用B/S架构,在客户-服务模式中,客户是主动的,服务是被动的。客户知道它向哪个服务发出请求,而服务却不知道它正在为哪个客户提供服务,甚至不知道正在为多少客户提供服务。客户-服务模式的架构风格具有典型的模块化特征,降低了系统中客户和服务构件之间耦合度,提高了服务构件的可重用性。

3. 系统接口和API

3.1 用户登录

采用POST请求进行用户登录验证

request:{
	"usrname":"",
	"usrpwd":""
}
response:{
    "msg":"",
    "data":""
}

3.2 管理用户

管理用户采用POST添加,DELETE删除

request:{
	"usrname":"",
	"usrpwd":"",
	"authority":"",
    "area":""
}
response:{
    "msg":"",
    "data":""
}

3.3 管理设备

管理设备采用POST添加,DELETE删除,PUT修改

request:{
	"devname":"",
    "area":"",
}
response:{
    "msg":"",
    "data":""
}

3.4 信息查看

查看信息使用GET方法,对于需要实时刷新的数据采用WebSocket方式

request:{
	"devname":"",
	"devip":"",
    "devport":"",
	"protocol":"",
    "area":"",
}
response:{
    "msg":"",
    "data":{
        "source":"",
        "destination":"",
        "timestamp":"",
    }
}

4 . 视图分析

4.1 分解视图

分解是构建软件架构模型的关键步骤,分解视图也是描述软件架构模型的关键视图,一般分解视图呈现为较为明晰的分解结构(breakdown structure)特点。分解视图用软件模块勾划出系统结构,往往会通过不同抽象层级的软件模块形成层次化的结构。

工业互联网标准架构 工业互联网业务架构_工业互联网标准架构

4.2 依赖视图

工业互联网标准架构 工业互联网业务架构_软件架构_02

前端查询展示通过http或者websocket向后端询问,获取数据或者输入数据;service负责实现所有的服务,包括处理Netty网络服务器的数据,对数据库的管理,和前端contorller的处理。

4.3 执行视图

工业互联网标准架构 工业互联网业务架构_数据_03

4.4 部署视图

工业互联网标准架构 工业互联网业务架构_spring_04

后端基于springboot部署时可以制作成一个jar包,还可以进一步部署到docker仓库中。前端基于element ui和vue,实现前后端分离。

4.5 数据库设计

根据之前的用例建模和数据类图的分析,下面建立数据模型。

User

工业互联网标准架构 工业互联网业务架构_数据_05

Device

工业互联网标准架构 工业互联网业务架构_spring_06

Channel

工业互联网标准架构 工业互联网业务架构_spring_07

Message

工业互联网标准架构 工业互联网业务架构_spring_08

5. 系统运行环境及技术选型

5.1 系统运行环境

基于初步考虑部署在docker上,运行环境为ubuntu。

5.2 相关技术选择

基于spring boot作为后端框架,vue和element ui作为前端。数据库采用mysql,主要开发工具为idea和vscode。

6. 核心工作机制

用户先登陆系统,系统根据用户的权限等级展示相应的功能模块;

需要获取信息时,点击对应的设备可以获取实时运行状态曲线;

需要添加删除设备时,通过添加删除申请,来向系统提供对应设备信息;

7. 总结

通过分析对本次项目进行了分解,对真正的需求和注意点都更加了解。