From 58504d8b4918af4a583c6ddee9b6973070b48b38 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Sun, 23 Oct 2022 14:43:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B5=81=E9=87=8F=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E7=9B=B8=E5=85=B3=E8=A1=A8=E7=BB=93=E6=9E=84=E5=AE=9A?= =?UTF-8?q?=E4=B9=89.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/sql/init-structure.sql | 162 +++++++++++++----- 1 file changed, 116 insertions(+), 46 deletions(-) diff --git a/neutrino-proxy-server/src/main/resources/sql/init-structure.sql b/neutrino-proxy-server/src/main/resources/sql/init-structure.sql index e24d5c36..b5cfc59f 100644 --- a/neutrino-proxy-server/src/main/resources/sql/init-structure.sql +++ b/neutrino-proxy-server/src/main/resources/sql/init-structure.sql @@ -1,3 +1,4 @@ +#############################系统管理相关表############################# #用户表 CREATE TABLE IF NOT EXISTS `user` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, @@ -10,19 +11,6 @@ CREATE TABLE IF NOT EXISTS `user` ( ); CREATE UNIQUE INDEX IF NOT EXISTS I_login_name ON `user` (login_name ASC); -#license表 -CREATE TABLE IF NOT EXISTS `license` ( - `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - `name` VARCHAR(50) NOT NULL, - `key` VARCHAR(100) NOT NULL, - `user_id` INTEGER NOT NULL, - `is_online` INTEGER(2) NOT NULL, - `enable` INTEGER(2) NOT NULL, - `create_time` INTEGER(20) NOT NULL, - `update_time` INTEGER(20) NOT NULL -); -CREATE UNIQUE INDEX IF NOT EXISTS I_key ON `license` (`key` ASC); - #用户token表 CREATE TABLE IF NOT EXISTS `user_token` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, @@ -32,16 +20,9 @@ CREATE TABLE IF NOT EXISTS `user_token` ( `create_time` INTEGER NOT NULL, `update_time` INTEGER NOT NULL ); - -#用户登录记录表 -CREATE TABLE IF NOT EXISTS `user_login_record` ( - `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - `user_id` INTEGER NOT NULL, - `ip` VARCHAR(50) NOT NULL, - `token` VARCHAR(100) NOT NULL, - `type` INTEGER(2) NOT NULL, - `create_time` INTEGER(20) NOT NULL -); +CREATE INDEX IF NOT EXISTS I_user_id ON user_token(user_id); +CREATE INDEX IF NOT EXISTS I_token ON user_token(token); +CREATE INDEX IF NOT EXISTS I_expiration_time ON user_token(expiration_time); #端口池 CREATE TABLE IF NOT EXISTS `port_pool` ( @@ -53,6 +34,20 @@ CREATE TABLE IF NOT EXISTS `port_pool` ( ); CREATE UNIQUE INDEX IF NOT EXISTS I_port ON port_pool (port ASC); +#############################代理配置相关表############################# +#license表 +CREATE TABLE IF NOT EXISTS `license` ( + `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `name` VARCHAR(50) NOT NULL, + `key` VARCHAR(100) NOT NULL, + `user_id` INTEGER NOT NULL, + `is_online` INTEGER(2) NOT NULL, + `enable` INTEGER(2) NOT NULL, + `create_time` INTEGER(20) NOT NULL, + `update_time` INTEGER(20) NOT NULL + ); +CREATE UNIQUE INDEX IF NOT EXISTS I_key ON `license` (`key` ASC); + #端口映射表 CREATE TABLE IF NOT EXISTS `port_mapping` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, @@ -67,34 +62,44 @@ CREATE TABLE IF NOT EXISTS `port_mapping` ( ); CREATE UNIQUE INDEX IF NOT EXISTS I_server_port ON port_mapping (server_port ASC); +#############################日志管理相关表############################# +#用户登录记录表 +CREATE TABLE IF NOT EXISTS `user_login_record` ( + `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `user_id` INTEGER NOT NULL, + `ip` VARCHAR(50) NOT NULL, + `token` VARCHAR(100) NOT NULL, + `type` INTEGER(2) NOT NULL, + `create_time` INTEGER(20) NOT NULL + ); #客户端链接记录表 CREATE TABLE IF NOT EXISTS `client_connect_record` ( - `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - `user_id` INTEGER NOT NULL, - `ip` VARCHAR(50) NOT NULL, - `license_id` INTEGER(20) NOT NULL, - `license_key` VARCHAR(100) NOT NULL, - `write_bytes` INTEGER(20) DEFAULT NULL, - `read_bytes` INTEGER(20) DEFAULT NULL, - `type` INTEGER(2) NOT NULL, - `create_time` INTEGER(20) NOT NULL -); + `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `user_id` INTEGER NOT NULL, + `ip` VARCHAR(50) NOT NULL, + `license_id` INTEGER(20) NOT NULL, + `license_key` VARCHAR(100) NOT NULL, + `write_bytes` INTEGER(20) DEFAULT NULL, + `read_bytes` INTEGER(20) DEFAULT NULL, + `type` INTEGER(2) NOT NULL, + `create_time` INTEGER(20) NOT NULL + ); #用户连接记录表 CREATE TABLE IF NOT EXISTS `user_connect_record` ( - `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - `server_port` INTEGER NOT NULL, - `user_ip` VARCHAR(50) NOT NULL, - `client_ip` VARCHAR(50) NOT NULL, - `client_lan_info` VARCHAR(50) NOT NULL, - `user_id` INTEGER NOT NULL, - `license_id` INTEGER(20) NOT NULL, - `license_key` VARCHAR(100) NOT NULL, - `write_bytes` INTEGER(20) DEFAULT NULL, - `read_bytes` INTEGER(20) DEFAULT NULL, - `type` INTEGER(2) NOT NULL, - `create_time` INTEGER(20) NOT NULL -); + `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `server_port` INTEGER NOT NULL, + `user_ip` VARCHAR(50) NOT NULL, + `client_ip` VARCHAR(50) NOT NULL, + `client_lan_info` VARCHAR(50) NOT NULL, + `user_id` INTEGER NOT NULL, + `license_id` INTEGER(20) NOT NULL, + `license_key` VARCHAR(100) NOT NULL, + `write_bytes` INTEGER(20) DEFAULT NULL, + `read_bytes` INTEGER(20) DEFAULT NULL, + `type` INTEGER(2) NOT NULL, + `create_time` INTEGER(20) NOT NULL + ); #############################调度管理相关表############################# #触发器信息表 @@ -125,3 +130,68 @@ CREATE TABLE IF NOT EXISTS `job_log` ( ); CREATE INDEX IF NOT EXISTS I_create_time ON job_log(create_time); CREATE INDEX IF NOT EXISTS I_code ON job_log(code); + +#############################报表管理相关表############################# +#流量统计报表-分钟(保留24小时) +CREATE TABLE IF NOT EXISTS `flow_report_minute` ( + `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `user_id` INTEGER(20) NOT NULL, + `license_id` INTEGER(20) NOT NULL, + `ip` VARCHAR(50) NOT NULL, + `write_bytes` INTEGER(20) NOT NULL, + `read_bytes` INTEGER(20) NOT NULL, + `date` VARCHAR(20) NOT NULL, + `create_time` INTEGER(20) NOT NULL +); +CREATE INDEX IF NOT EXISTS I_create_time ON flow_report_minute(create_time); +CREATE INDEX IF NOT EXISTS I_date ON flow_report_minute(`date`); +CREATE INDEX IF NOT EXISTS I_user_id ON flow_report_minute(`user_id`); +CREATE INDEX IF NOT EXISTS I_license_id ON flow_report_minute(`license_id`); + +#流量统计报表-小时(保留60天) +CREATE TABLE IF NOT EXISTS `flow_report_hour` ( + `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `user_id` INTEGER(20) NOT NULL, + `license_id` INTEGER(20) NOT NULL, + `ip` VARCHAR(50) NOT NULL, + `write_bytes` INTEGER(20) NOT NULL, + `read_bytes` INTEGER(20) NOT NULL, + `date` VARCHAR(20) NOT NULL, + `create_time` INTEGER(20) NOT NULL + ); +CREATE INDEX IF NOT EXISTS I_create_time ON flow_report_hour(create_time); +CREATE INDEX IF NOT EXISTS I_date ON flow_report_hour(`date`); +CREATE INDEX IF NOT EXISTS I_user_id ON flow_report_hour(`user_id`); +CREATE INDEX IF NOT EXISTS I_license_id ON flow_report_hour(`license_id`); + +#流量统计报表-天(保留1年) +CREATE TABLE IF NOT EXISTS `flow_report_day` ( + `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `user_id` INTEGER(20) NOT NULL, + `license_id` INTEGER(20) NOT NULL, + `ip` VARCHAR(50) NOT NULL, + `write_bytes` INTEGER(20) NOT NULL, + `read_bytes` INTEGER(20) NOT NULL, + `date` VARCHAR(20) NOT NULL, + `create_time` INTEGER(20) NOT NULL + ); +CREATE INDEX IF NOT EXISTS I_create_time ON flow_report_day(create_time); +CREATE INDEX IF NOT EXISTS I_date ON flow_report_day(`date`); +CREATE INDEX IF NOT EXISTS I_user_id ON flow_report_day(`user_id`); +CREATE INDEX IF NOT EXISTS I_license_id ON flow_report_day(`license_id`); + +#流量统计报表-月(全量保留) +CREATE TABLE IF NOT EXISTS `flow_report_month` ( + `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `user_id` INTEGER(20) NOT NULL, + `license_id` INTEGER(20) NOT NULL, + `ip` VARCHAR(50) NOT NULL, + `write_bytes` INTEGER(20) NOT NULL, + `read_bytes` INTEGER(20) NOT NULL, + `date` VARCHAR(20) NOT NULL, + `create_time` INTEGER(20) NOT NULL + ); +CREATE INDEX IF NOT EXISTS I_create_time ON flow_report_month(create_time); +CREATE INDEX IF NOT EXISTS I_date ON flow_report_month(`date`); +CREATE INDEX IF NOT EXISTS I_user_id ON flow_report_month(`user_id`); +CREATE INDEX IF NOT EXISTS I_license_id ON flow_report_month(`license_id`); \ No newline at end of file