<日志中心>
系统设计说明
产品名称: | ** 日志中心 ** |
---|---|
版本编号: | ** v1.0 ** |
**评审日期: ** | ** 2023-07-04 ** |
编 制 人: | ** Rainbow ** |
完成日期: | ** 2023-07-04 ** |
文件状态: | [ ]草稿 [ ]修改中 [√]正式发布 |
文档修订历史
序号 | 版本 | 编写/修订说明 | 修订人 | 修订日期 | 备注 |
---|---|---|---|---|---|
1 | V1.0 | 创建文档 | Rainbow | 2023-07-04 | 系统设计说明 |
目录
一、 引言 5
1.1 标识 5
1.2 系统概述 5
二、 体系结构设计 5
2.1 修前信息管理 5
2.2 基础信息管理 5
2.3 检修任务配置 6
2.4 模块划分 6
2.4.1 模块层次结构图 6
三、 数据结构设计与接口函数 7
3.1 数据库表关系结构 7
3.1.1 知识库 – 枚举 7
3.1.2 文件包 – 修前信息管理 – 基础信息管理 9
3.1.3 工作台 – 检修任务配置 9
3.2 逻辑结构设计 9
3.3 物理结构设计 10
3.4 表 11
3.4.1 枚举 - 表enumerate 13
3.4.2 枚举 - 表enum_type 15
3.5 函数 16
3.5.1 基础信息管理 - 函数getDeviceName 16
3.5.2 检修任务配置 - 函数addCfgPackagePojo 17
四、 流程图 17
4.1 系统流程图 17
4.2 数据流程图 18
五、 环境配置 19
5.1 开发环境配置 19
5.2 运行环境配置 19
5.3 测试环境的配置 20
1 引言
2 标识
日志中心
3 系统概述
以往系统日志信息存储在系统目录下的日志文件中,分散的现状难以统一管理,日志信息未与业务建立直接联系,导致日志追踪困难。
日志中心结合业务功能和数据模型管理功能将日志数据与业务进行结合,支持接口的链路追踪,逻辑删除、更新、插入数据操作的前后数据对比,方便用户即使追踪问题。
日志中心面向用户包括开发人员和产品经理,系统管理工作者等,不直接开放给系统用户。
4 体系结构设计
2.1 日志列表
- 根据应用、服务、时间段查询日志列表,应用和服务必选,时间段默认为最近一小时。
- 日志列表数据逐页展示。
- 日志列表包括Key、功能名称、接口名称、持续时间、是否错误、开始时间。
- 日志可以查看详情。
2.2 日志详情-接口trace
- 从skywalking获取trace数据展示。
- Trace信息为嵌套数组,trace详情包括接口名、请求网址、请求方法、状态代码、是否错误、开始时间、操作人、traceId、input(输入)、output(输出),输出结果json可折叠展示。
- 每条trace可以查看数据日志和文件日志
2.3 数据日志
- 分页显示接口数据操作日志,不包括查询数据
- 日志列表包括处理时间、操作类型、数据库、表名、主键Json、操作前数据、操作后数据
- 查看详情-可以对比查看数据变更前后对比,数据对比为数据库表字段名称数据,字段对比将数据对比的字段名结合业务数据模型展示
2.4 文件日志
- 分页显示接口执行过程产生的文件日志信息列表
- 日志列表包括开始时间、内容类型、内容、level、logger、thread
- 查看详情-采用console样式展示文件日志内容,提高可读性
2.5 模块划分
模块 | 标识 | 功能 | 源文件名 |
---|---|---|---|
日志列表 | 日志列表 | 展示一段时间内的日志列表信息 | GraphqlController |
日志trace | 日志trace | 展示日志trace详情 | GraphqlController |
数据日志 | 数据日志 | 结合业务数据模型展示数据变更日志 | LogBinController |
文件日志 | 文件日志 | 展示接口调用过程中产生的文件日志信息 | GraphqlController |
5 数据结构设计与接口函数
6 数据库表关系结构
3.2逻辑结构设计
3.3物理结构设计
- log_bin数据操作日志, 对应LogBinController。
- app_service 应用服务关系,通过Flink实时同步到Doris库中。
- sys_data_field/sys_data_model 业务数据模型,通过Flink实时同步到Doris库中。
- sys_enum_type/sys_enumerate 业务枚举,通过Flink实时同步到Doris库中。
- us_pernission 业务系统菜单数据,通过Flink实时同步到Doris库中。
3.4表
- 表汇总
表名 | 模块 | 功能说明 |
---|---|---|
log_bin | 数据日志 | 从业务系统logbin文件中收集数据日志 |
app_service | 日志列表 | 根据业务功能查询日志 |
sys_data_field、 sys_data_model | 数据日志 | 数据日志关联业务数据模型 |
sys_enum_type、 sys_enumerate | 数据日志 | 数据日志关联业务枚举值 |
us_pernission | 日志列表 | 日志列表功能关联 |
7 枚举 - 表enumerate
表名 | enumerate | ||||||||
---|---|---|---|---|---|---|---|---|---|
列名 | 描述 | 默认值 | 数据类型 (精度范围) | 空/ 非空 | 约束条件 | 范例 | |||
id | 枚举UUID | 0 | BIGINT(20) | √ | 主键 | ||||
name | 枚举名称 | VARCHAR(50) | |||||||
code | 枚举CODE | VARCHAR(50) | |||||||
enum_value | 枚举值 | -9999 | INT(11) | ||||||
description | 描述 | VARCHAR(255) | |||||||
sort | 排序 | -9999 | INT(11) | ||||||
type_id | 枚举型UUID | -9999 | BIGINT(20) | ||||||
parent_id | 父id | BIGINT(20) | |||||||
type | 类型 | INT(11) | |||||||
version | 版本 | 1 | INT(11) | ||||||
state | 状态 | -9999 | INT(11) | ||||||
is_deleted | 是否删除 | TINYINT UNSIGNED(4) | |||||||
create_time | 创建时间 | DATETIME | |||||||
create_user | 创建人 | -9999 | BIGINT(20) | ||||||
update_time | 更新时间 | DATETIME | |||||||
update_user | 更新人 | -9999 | BIGINT(20) | ||||||
索引 | |||||||||
逻辑外键 | |||||||||
触发器 | 名称 | 触发(AFTER/BEFORE) | 条件 | 操作 | |||||
补充说明 | CREATE TABLE enumerate( id BIGINT(20) NOT NULL DEFAULT 0 COMMENT ‘枚举UUID’ , name VARCHAR(50) COMMENT ‘枚举名称’ , code VARCHAR(50) COMMENT ‘枚举CODE’ , enum_value INT(11) DEFAULT -9999 COMMENT ‘枚举值’ , description VARCHAR(255) COMMENT ‘描述’ , sort INT(11) DEFAULT -9999 COMMENT ‘排序’ , type_id BIGINT(20) DEFAULT -9999 COMMENT ‘枚举型UUID’ , parent_id BIGINT(20) COMMENT ‘父id’ , type INT(11) COMMENT ‘类型’ , version INT(11) DEFAULT 1 COMMENT ‘版本’ , state INT(11) DEFAULT -9999 COMMENT ‘状态’ , is_deleted TINYINT UNSIGNED(4) COMMENT ‘是否删除’ , create_time DATETIME COMMENT ‘创建时间’ , create_user BIGINT(20) DEFAULT -9999 COMMENT ‘创建人’ , update_time DATETIME COMMENT ‘更新时间’ , update_user BIGINT(20) DEFAULT -9999 COMMENT ‘更新人’ , PRIMARY KEY (id) ) COMMENT = ‘枚举下拉子表’; |
8 枚举 - 表enum_type
表名 | enum_type | ||||||||
---|---|---|---|---|---|---|---|---|---|
列名 | 描述 | 默认值 | 数据类型 (精度范围) | 空/ 非空 | 约束条件 | 范例 | |||
id | 枚举类型UUID | BIGINT(20) | √ | 主键 | |||||
name | 枚举型名称 | VARCHAR(50) | |||||||
code | 枚举型CODE | VARCHAR(50) | |||||||
quote | 引用的表字段(permission:state) | VARCHAR(255) | |||||||
description | 描述 | VARCHAR(255) | |||||||
sort | 排序 | 0 | INT(11) | ||||||
type_super_id | 父UUID | BIGINT(20) | |||||||
type | 类型 | INT(11) | |||||||
state | 状态 | INT(11) | |||||||
version | 版本 | 1 | INT(11) | ||||||
is_deleted | 是否删除 | TINYINT UNSIGNED(4) | |||||||
create_time | 创建时间 | DATETIME | |||||||
create_user | 创建人 | BIGINT(20) | |||||||
update_time | 更新时间 | DATETIME | |||||||
update_user | 更新人 | BIGINT(20) | |||||||
索引 | |||||||||
外键 | |||||||||
触发器 | 名称 | 触发(AFTER/BEFORE) | 条件 | 操作 | |||||
补充说明 | CREATE TABLE enum_type( id BIGINT(20) NOT NULL COMMENT ‘枚举类型UUID’ , name VARCHAR(50) COMMENT ‘枚举型名称’ , code VARCHAR(50) COMMENT ‘枚举型CODE’ , quote VARCHAR(255) COMMENT ‘引用的表字段(permission:state)’ , description VARCHAR(255) COMMENT ‘描述’ , sort INT(11) DEFAULT 0 COMMENT ‘排序’ , type_super_id BIGINT(20) COMMENT ‘父UUID’ , type INT(11) COMMENT ‘类型’ , state INT(11) COMMENT ‘状态’ , version INT(11) DEFAULT 1 COMMENT ‘版本’ , is_deleted TINYINT UNSIGNED(4) COMMENT ‘是否删除’ , create_time DATETIME COMMENT ‘创建时间’ , create_user BIGINT(20) COMMENT ‘创建人’ , update_time DATETIME COMMENT ‘更新时间’ , update_user BIGINT(20) COMMENT ‘更新人’ , PRIMARY KEY (id) ) COMMENT = ‘枚举类父表’; |
9 流程图
10 系统流程图
11 数据流程图
五、环境配置
5.1 开发环境配置
类别 | 标准配置 | 最低配置 |
---|---|---|
计算机硬件 | CPU: Xeon W-2123 四核\内存:16G | CPU:Xeon W-2123 四核,16G |
软件 | InteliJ IDEA2021.1.3 Navicat Mysql-installer-community-8.0.25.0 Nacos-server-2.0.3 Nginx-1.16.1 | InteliJ IDEA2021.1.3 Navicat Mysql-installer-community-8.0.25.0 Nacos-server-2.0.3 Nginx-1.16.1 |
网络通信 | http | http |
其他 | Apache-maven-3.5.0 JDK-64位 | Apache-maven-3.5.0 JDK-64位 |
5.2 运行环境配置
类别 | 标准配置 | 最低配置 |
---|---|---|
计算机硬件 | CPU: Xeon W-2123 四核\内存:16G | CPU:Xeon W-2123 四核,16G |
软件 | Mysql-installer-community-8.0.25.0 Nacos-server-2.0.3 Nginx-1.16.1 Redis-4.0.2 | Mysql-installer-community-8.0.25.0 Nacos-server-2.0.3 Nginx-1.16.1 Redis-4.0.2 |
网络通信 | http | http |
其他 | Apache-maven-3.5.0 JDK-64位 | Apache-maven-3.5.0 JDK-64位 |
12 测试环境的配置
类别 | 标准配置 | 最低配置 |
---|---|---|
计算机硬件 | CPU: Xeon W-2123 四核\内存:16G | CPU:Xeon W-2123 四核,16G |
软件 | Mysql-installer-community-8.0.25.0 Nacos-server-2.0.3 Nginx-1.16.1 Redis-4.0.2 | Mysql-installer-community-8.0.25.0 Nacos-server-2.0.3 Nginx-1.16.1 Redis-4.0.2 |
网络通信 | http | http |
其他 | Apache-maven-3.5.0 JDK-64位 | Apache-maven-3.5.0 JDK-64位 |