3G接入设备管理平台详细设计0601V10.docx
- 文档编号:9479158
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:27
- 大小:456.36KB
3G接入设备管理平台详细设计0601V10.docx
《3G接入设备管理平台详细设计0601V10.docx》由会员分享,可在线阅读,更多相关《3G接入设备管理平台详细设计0601V10.docx(27页珍藏版)》请在冰点文库上搜索。
3G接入设备管理平台详细设计0601V10
3G接入设备远程管理系统详细设计说明书
版本
V1.0
所属项目
3G接入设备管理
名称
3G接入设备远程管理系统详细设计说明书
作者
周赟智
时间
2014-7-1
修订记录
修订时间
修订内容
修订者
2014-07-01
初版
周赟智
2014-07-04
合并设计(历史统计,用户管理)
周赟智
2014-07-08
设计修改,补充确认到的内容
周赟智
目录
3G接入设备远程管理系统详细设计说明书1
1引言5
1.1编写目的5
1.2背景5
1.3定义5
1.4参考资料5
2程序系统的结构6
2.1DRRM整体结构6
2.2CCS系统结构7
3用户管理模块7
3.1程序描述8
3.2功能8
3.3性能8
3.4输人项8
3.5输出项8
3.6算法8
3.7流程逻辑9
3.8模型及接口设计9
3.9存储分配9
3.10注释设计9
3.11限制条件9
3.12测试计划10
3.13尚未解决的问题10
4历史数据管理模块10
4.1程序描述10
4.2功能10
4.3性能10
4.4输人项11
4.5输出项11
4.6算法11
4.7流程逻辑11
4.8模型及接口设计11
4.8.1模型设计11
4.8.2接口设计12
4.9存储分配13
4.10注释设计13
4.11限制条件13
4.12测试计划13
4.13尚未解决的问题13
5系统入口设计说明14
5.1程序描述14
5.2登录设计15
5.2.1登录界面15
5.2.2登录后导航15
5.3系统主界面框架15
5.3.1超级管理员16
5.3.2授权管理员17
5.3.3设备管理员18
5.3.4普通用户19
6接入设备授权服务19
6.1功能19
6.2流程逻辑20
6.2.1设备接入授权/解除授权20
6.2.2从CCS上删除设备21
7设备管理模块21
7.1视觉样式调整21
7.2分组功能22
7.2.1添加分组后的布局概要22
7.3支持多个数据中心23
7.4让设备重注册23
7.5启动远程控制端口可配24
7.6列表过滤筛选功能24
7.7上下线数量统计,数据最后上报时间25
8CCS后台管理25
8.1数据中心配置25
8.2类型-数据中心默认值关联设置25
8.2.1基本流程25
8.2.2数据关系:
26
9通讯模块26
9.1RPC26
9.1.1RMIORThrift26
9.1.2Thrift设计方案和代码包说明26
9.1.3RPC通讯,需要应对IP和端口动态变化27
9.1.4RPC还是MQ27
9.1.5CCS需要增加DS服务器地址配置项27
9.2页面-服务实时通讯27
1引言
1.1编写目的
描述3G接入设备远程管理平台的模块划分,基本代码逻辑,以及整体UI构想设计。
1.2背景
根据3G计入设备远程管理平台二期整改需求,对一期系统做了很大的调整。
从UI到后台管理功能都做了比较大的改动。
本方案设计将针对修改的内容作出详细的设计。
1.3定义
DRRM:
3G接入设备远程管理平台
3GAD:
3Gaccessdevice3G接入设备
DS:
Directorserver重定向服务器
CCS:
Controlcenterserver控制中心服务器
DCS:
Datacenterserver数据中心服务器
1.4参考资料
..\3G接入设备远程管理需求V1.1.docx
..\3G接入设备远程管理平台改进建议.docx
2程序系统的结构
2.1DRRM整体结构
2.2CCS系统结构
3用户管理模块
用户管理模块主要负责用户基本信息的维护,主要可以执行的操作有:
新增用户,删除用户,修改用户信息;
用户管理模块首先定义的是用户的权限,用户有如下几种权限:
1.超级管理员权限:
具有该权限的用户可以访问到系统的所有页面,一般而言,具有超级管理员权限的用户有且仅有一个,该权限是在系统初始化时完成;
2.授权管理员权限:
授权管理员主要用于访问DS(授权服务器)并管理授权服务器上的设备信息,包括对设备授权(接触授权),删除未授权设备;
3.设备管理员权限:
设备管理员主要用于CCS(控制中心服务器)并管理控制中心服务器上面的设备信息,例如将设备加入不同的分组,升级设备,删除设备,维护设备信息等;
4.普通用户:
只能看CCS上的设备信息,对设备无操作权限。
在目前的系统之中,用户分为三类:
超级管理员,操作用户,普通用户,基于上述要求,需要将操作用户分为两种:
控制中心管理员和认证管理员。
同时此需求的隐含需求是要求将不同的用户重定向到不同的页面,不同用户显示的用户菜单不同。
3.1程序描述
由于该系统使用3G通信,服务器以及应用程序部署在公网上,不同的配电室由不同的人员来管理维护,不同的用户对相同的配电室可以有访问权限,但是不同用户可以进行的操作也是不一样的,因此需要增加分组以及用户权限控制。
该功能的实现需要修改已有代码,并且在已有代码的基础之上增加新的功能,主要是人员权限分配和控制等等。
3.2功能
程序的功能点主要包括如下几点:
1.新增、编辑用户时,能为用户分配权限,其中新增、权限分配功能只向超级管理员和设备管理员开放,一般用户只能维护自身的基本信息;
2.不同的用户登录到系统之后,根据用户权限,将用户定向到不同的页面,不同的用户能够进行的操作也不一样;
3.3性能
<无>
3.4输人项
<无>
3.5输出项
<无>
3.6算法
<无>
3.7流程逻辑
<无>
3.8模型及接口设计
1.用户模型调整
原有系统的用户模型为UserEntity,原有模型中有一个type字段,决定用户权限,另外还有一个字段root,表示该用户是否超级管理员。
在新的模型中,只使用type字段确定用户权限,删除掉root字段。
字段值和权限的对照表如下所示:
值
权限
admin
超级管理员
ds_admin
授权服务器管理员
ccs_admin
控制中心管理员
ccs_user
控制中心用户
这样做的好处在于权限控制可以扩展,表现在:
1.易于迁移到权限框架,例如SpringSecurity控制;
2.易于扩展,目前一个用户只能有一种权限,以后用户有多重权限的情况下,可以将该字段独立出来成为一个权限表,建立用户和权限之间多对多的关系。
3.9存储分配
新增的功能主要涉及到数据库模型的修改以及新增,数据的存储全部存储在MySQL数据库中。
3.10注释设计
<无>
3.11限制条件
由于该程序是在已有程序的基础上进行修改,需要考虑到已有程序的实现,在尽量不对已有代码进行大的修改并且保证系统架构灵活、可扩展、易于维护的前提下,实现系统的需求。
3.12测试计划
<无>
3.13尚未解决的问题
原始需求中提到了组织机构的概念,因为涉及面比较复杂,因此和设备组进行了讨论,此需求暂时不作处理,通过为不同的组织机构部署不同的应用程序来解决这一需求。
由于暂时不处理组织机构的需求。
4历史数据管理模块
4.1程序描述
该模块的功能主要用于收集设备状态明细,查看设备连接的可靠性,协助诊断系统缺陷,同时做出一定的业务分析。
目前系统之中对于历史数据存储的需求主要有如下几种:
1.一个月以内的所有设备离线、上线、网络可用状况的明细;
2.一个月以内的所有设备重注册的明细;
3.一个月以内的所有设备名称改变的明细。
4.2功能
程序的功能点主要包括如下几点:
1.设备的网络信息能够存储、查询(上下行网络状态,上线,下线状态,时间点);
2.设备重命名信息能够存储、查询;
3.设备的重注册信息能够存储查询。
4.每天在系统负担较小的时候执行定时清理任务,使得系统中只保存30天的历史数据;
5.能够将存储的业务数据按照前端页面所需求的格式提供给前端渲染(数据格式的定义,分页)
4.3性能
由于设备产生的数据量会比较大,因此程序每天会清理掉三十天以前的数据,但是即便如此,一个月内可能会有几十万条数据产生,因此在设计存储结构时需要对性能做一定的考虑。
主要的考虑点如下:
1.对于上述状态、变更明细,用户常用的业务场景是查询,某一设备某一特定时间段内的状态,因此可以将关联的设备和时间段字段设计为可以索引的;
2.以上三种数据都继承自同一父类,存储的时候分成三张表存储,减少单表存储数据量大导致的性能问题;
3.增加额外的字段(主要是时间段(年、月、日))并将该字段作为索引字段,便于以后根据时间段的数据查询和统计分析。
4.4输人项
该程序有三个输入项:
1.设备发送的上线、离线、网络可用等和网络状态相关的信息;
2.设备发送的重注册信息;
3.系统产生的设备重命名信息;
4.5输出项
输出项有如下几种:
1.在数据的生成阶段,存储到数据库中的数据;
2.在数据的业务应用阶段,处理存储到数据库中的数据,生成业务上易于处理的数据;
4.6算法
<无>
4.7流程逻辑
<无>
4.8模型及接口设计
1
2
3
4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.8.1模型设计
图1模型类图
图1展示了数据存储的模型
AbstractDeviceData是所有和设备数据相关的抽象基类,主要成员有:
id(主键ID),device(关联的设备,映射到数据库表上就是关联的设备主键ID),time(数据产生的时间戳);
DeviceNetwork是和设备网络相关的数据抽象基类,其中status表示的是状态,下面分别有三个子类继承自此类:
DeviceUpperNetwork:
上行网络状态,上行网络状态指的是3GAD到CCS之间的UDP保活包的状态,如果90秒之内没有收到保活包,则status=0,表示离线状态,否则status=1表示在线状态,初始状态为离线,当第一次收到保活包时,status设置为1,设备上线,当90秒之内没收到保活包,系统产生掉线事件,status设置为0。
DeviceUpperComm:
上行通信状态,status=0表示联网中,status=1表示联网成功;
DeviceDownComm:
下行通信状态,status=1表示联网中,status=1表示联网成功;
DeviceNameHistory是和设备名称相关的数据类,original字段表示名称变更以前设备的名称,name表示的是新的设备名称,需要提供相应的接口处理设备名称变化;
DeviceRegistration是和设备重注册相关的数据类,该类需要尽可能多的存储设备重注册的相关信息,字段需要根据协议来确定,每次设备发送重注册包上来,增加一条记录。
4.8.2接口设计
设备历史数据的接口主要包括有两种:
1.数据接入接口(消费);2.数据查询接口(供应)。
数据的接入接口是指提供数据存储的接口,例如设备发送上来注册信息的时候,需要有接口提供注册数据的存储。
数据的查询接口主要是指在数据存储以后进行数据查询的时候需要提供的接口。
由于目前协议层定义的数据结构还不确定,系统的接口定义以文字的形式描述,并且分条列在下面。
针对数据接入,需要提供的接口有:
1.设备重注册时,增加一条注册记录;
2.设备通信包上来时,增加一条上行、下行通信状态的记录;
a)上行联网中;
b)上行联网成功;
c)下行联网中;
d)下行联网成功。
3.设备90秒之内没有发送保活包,增加一条上行离线的记录;
4.在设备离线的状态下,设备又发送保活包,增加一条上行上线的记录;
5.设备名称变化时,增加一条设备名称变化的记录。
针对数据供应,系统需要提供的接口有:
1.查询一个设备特定时间段内的:
a)上线/离线明细,统计;
b)通信状态的联网状态明细,统计;
c)查询设备名称变化的明细
4.9存储分配
以上三种类型的数据存储结构是一致的,但是考虑到设备上来的数据量可能会比较大(以500个设备,每个设备每天产生30条记录为例,一个月可能会产生45000条记录),而且以上三种数据在业务上比较独立,因此以上三种类型的历史数据分开存储到三张表中。
4.10注释设计
<无>
4.11限制条件
<无>
4.12测试计划
<无>
4.13尚未解决的问题
<无>
5系统入口设计说明
5.1程序描述
此模块包括系统登录,系统主界面框架,各子系统导航方式设计。
5.2
登录设计
5.2.1登录界面
登录界面在一期界面的基础上添加一些系统名称和欢迎文字,不做大的改动。
文字为:
欢迎登陆配电室3G接入远程管理系统
5.2.2登录后导航
根据用户权限,导航到不同的主页框架下:
超级管理员
CCS管理界面,顶部带有后台管理导航条
授权管理员
DS管理界面,顶部带有DS后台管理模块入口的导航条
设备管理员
CCS管理界面,顶部带有CCS后台管理导航条
普通用户
CCS管理界面,顶部仅有修改本用户相关信息的导航
5.3系统主界面框架
系统根据用户组织结构权限分为四组主界面框架:
(下面名称按照用户权限进行命名)
5.3.1超级管理员
CCS主页嵌入到红色框中。
导航包括:
首页(CCS主页),DS主页,CCS后台管理,DS后台管理,用户/组织机构管理
5.3.2授权管理员
DS首页插入红线框中
导航包括:
DS主页,本用户管理
5.3.3设备管理员
导航包括:
首页(CCS主页),本用户管理
5.3.4普通用户
导航包括:
首页(CCS主页),本用户管理
注:
系统需要加入一个“是否启用DS”的配置项,如果系统启动时设置为DS不启用,那么以上的界面导航中将不会带有DS相关的功能导航以及对应的功能。
6接入设备授权服务
6.1功能
●通过DS服务器可以通过授权服务模块提供的接口给设备授权接入
●在CCS系统内部管理接入设备的整个生命周期(接入,非法进入,删除,解除授权)
●同步/通知DS服务器CCS上的授权状态信息变化
6.2流程逻辑
6.2.1设备接入授权/解除授权
授权过程:
1.授权管理员通过DS系统主界面对设备进行授权/解除授权
2.DS通过RPC服务调用CCS的授权服务接口(设备授权、设备解除授权接口)
3.授权服务模块根据接口参数修改DB,并通知设备管理模块(如果实时性要求)
4.设备管理模块通过被动(查询数据库)或主动(授权服务消息通知)的方式对设备授权信息进行针对处理。
6.2.2从CCS上删除设备
1.设备管理员通过CCS主界面删除已授权接入的设备
2.设备管理器将设备从数据库中删除,同时告知授权服务模块
3.授权服务模块根据RPC配置,以RPC方式通知DS系统这一授权变化
4.DS接到删除设备的消息通知后修改设备在DS上的数据库记录
7设备管理模块
设备管理模块即视觉上看得见的CCS主页部分,此部分功能和页面展现将有比较大的改动,下面主要从有修改的功能点进行设计说明。
7.1视觉样式调整
主要内容包括:
1.列表行高调整
2.列表“上下线状态”用图标表示(共3X2个图标需要制作)
3.列表属性字段的添加(添加设备类型字段)
4.列表列宽度调整
5.掉线设备列表控制按钮置灰,并设为不可用
6.列表控制按钮位置调整或按钮样式调整
7.列表列名的调整(根据设备组需求中的名称进行修改)
8.历史视图用弹出框的形式展现
9.掉线设备置灰
此处改动以最终编码和视觉设计为准,这里不做详细设计。
7.2分组功能
以用户自定义分组不臆测用户分组意向为原则,分组功能的分组的维度完全交给用户自己。
不限制分组层次,具有添加和删除分组功能,具有将设备添加进指定分组的功能(将设备从分组中移除也同)。
7.2.1添加分组后的布局概要
说明:
●分组的复选框选中后,右边列表即仅检索出直接属于分组的设备
●分组具有新增,删除以及修改名称的功能
●复选框未被选中时,列表检索该分组及其子分组下的所有设备(递归查询)
●设备管理员和超级管理员可以将设备拖入指定的分组中以完成对设备分组的规划操作
●分组及分组层次由用户自由新建和修改,不限制分组层次
●删除分组后,属于该分组的设备将被自动分配到“父节点”这个分组下
7.3支持多个数据中心
数据中心存在多个即设备可以选择数据中心进行连接,这里设计为:
1.设备初次上线根据设备类型选择数据中心(类型和数据中心关联在后台模块中作描述)
2.设备管理员可以根据需要从CCS主界面上对任意设备进行数据中心的切换
CCS设备列表提供选择数据中心的功能:
注:
具体操作根据视觉样式调整来定
7.4让设备重注册
设备保活:
任意包的收到都算作该设备存活
重注册命令发送时机:
1.CCS服务器重启后,需要向全部链接到CCS的设备发送重新注册命令
2.数据中心发生变化(IP,端口)时需要对该注册中心已关联的设备发送重新注册命令
7.5
启动远程控制端口可配
CCS提供可供用户输入映射的内网地址及端口号的接口。
注:
这里需要添加一个全局设置项(在管理界面),超级管理员可以设置一个默认的端口和IP,每次打开控制端口时先将默认值填上。
7.6列表过滤筛选功能
对每一列都提供筛选功能,在列头提供筛选菜单和条件框。
注意:
点击每列的过滤选项后可以填入过滤条件,过滤条件是可以组合使用的(如名称+类型+Mac)。
7.7上下线数量统计,数据最后上报时间
注:
最后数据上报时间是每个设备都持有一个。
8CCS后台管理
8.1数据中心配置
数据中心可以新建多个,每个设置包含一个IP、一个对应的端口号(port)、一个数据中心使用的用户和一个别名。
数据中心配置发生改变时需要通知相关模块,让被波及的设备重新注册。
8.2类型-数据中心默认值关联设置
8.2.1基本流程
类型和数据中心关联使用单向关联的方式,大致的操作是:
1.选择类型
2.从下拉或列表中选择一个数据中心
3.将该数据中心设置为所选类型的默认值
4.广播这一修改,让被波及的设备重新注册
8.2.2数据关系:
9通讯模块
9.1RPC
9.1.1RMIORThrift
这里我们先以功能为目标抛开性能(序列化速度,包大小,传输速度,反序列化速度)来看两种协议,因为在性能上thrift目前在各个方面都是最优的,所以以下我们直接从功能成本上来看两种RPC方式。
1.是否有需要使用到Java之外的任何语言(js,golang,c等)进行RPC通讯
2.是否需要动态寻址(DS在编码的时候是否已经知道目标CCS的地址?
)
3.易用性考虑,使用的难易度
9.1.2Thrift设计方案和代码包说明
9.1.3RPC通讯,需要应对IP和端口动态变化
不论选择哪种RPC,都需要应对RPCserverIp和port的动态选择。
因为根据需求,DS事先是不知道CCS的通讯IP和port的(反之也是同样的情况)。
RPC服务器端采用配置方式搭建,客户端需要使用动态编码的形式进行连接访问。
DS根据CCS配置动态的连接到对应的RPC方法上。
CCS也需要有响应的方式记录下DS的RPC地址。
9.1.4RPC还是MQ
根据需求描述,通讯模块更倾向于MQ而不是之前设想的RPC,但又不完全是。
从长远来看MQ更适合,但是如果只是为了目前的需要来看可以用RPC的变种来实现。
需要讨论。
9.1.5CCS需要增加DS服务器地址配置项
DS和CCS需要进行双向通讯,那么双方都必须持有对方的服务地址和端口号。
●DS到CCS可以通过CCS指派时获取到CCS的RPC服务地址
●CCS需要增加特定配置项DS的RPC服务地址,以建立通讯连接
●约束条件:
整套系统只能有且仅有一个DS服务器
9.2页面-服务实时通讯
根据实时性要求,可以考虑采用websocket来搭载部分前后端消息通讯。
主要有几个点需要消息推送:
1.设备列表的数据刷新
2.最后一次上报时间和系统时间
3.设备在线统计
如下图所注:
注:
使用websocket对tomcat版本要求:
7.042
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3G 接入 设备管理 平台 详细 设计 0601 V10