<日志中心>
系统设计说明
产品名称:** 日志中心 版本编号: v1.0 ****评审日期: **** 2023-07-04 编 制 人: Rainbow 完成日期: 2023-07-04 文件状态:[ ]草稿 **
**[ ]修改中 **
[√]正式发布
文档修订历史
序号版本编写/修订说明修订人修订日期备注1V1.0创建文档Rainbow2023-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枚举UUID0BIGINT(20)√主键name枚举名称VARCHAR(50)code枚举CODEVARCHAR(50)enum_value枚举值-9999INT(11)description描述VARCHAR(255)sort排序-9999INT(11)type_id枚举型UUID-9999BIGINT(20)parent_id父idBIGINT(20)type类型INT(11)version版本1INT(11)state状态-9999INT(11)is_deleted是否删除TINYINT UNSIGNED(4)create_time创建时间DATETIMEcreate_user创建人-9999BIGINT(20)update_time更新时间DATETIMEupdate_user更新人-9999BIGINT(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枚举类型UUIDBIGINT(20)√主键name枚举型名称VARCHAR(50)code枚举型CODEVARCHAR(50)quote引用的表字段(permission:state)VARCHAR(255)description描述VARCHAR(255)sort排序0INT(11)type_super_id父UUIDBIGINT(20)type类型INT(11)state状态INT(11)version版本1INT(11)is_deleted是否删除TINYINT UNSIGNED(4)create_time创建时间DATETIMEcreate_user创建人BIGINT(20)update_time更新时间DATETIMEupdate_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 四核\内存:16GCPU:Xeon W-2123 四核,16G软件InteliJ IDEA2021.1.3
Navicat
Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1InteliJ IDEA2021.1.3
Navicat
Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1网络通信httphttp其他Apache-maven-3.5.0 JDK-64位Apache-maven-3.5.0 JDK-64位
5.2 运行环境配置
类别标准配置最低配置计算机硬件CPU: Xeon W-2123 四核\内存:16GCPU:Xeon W-2123 四核,16G软件Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
Redis-4.0.2Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
Redis-4.0.2网络通信httphttp其他Apache-maven-3.5.0 JDK-64位Apache-maven-3.5.0 JDK-64位
12 测试环境的配置
类别标准配置最低配置计算机硬件CPU: Xeon W-2123 四核\内存:16GCPU:Xeon W-2123 四核,16G软件Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
Redis-4.0.2Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
Redis-4.0.2网络通信httphttp其他Apache-maven-3.5.0 JDK-64位Apache-maven-3.5.0 JDK-64位
版权归原作者 Rainbow酱 所有, 如有侵权,请联系我们删除。