我的世界有什么做的视频网站/友情链接教程
前言
- 在上家公司,随着业务的不断拓展(从支持单个国家单个主体演变成支持多个国家多个主体),对预警的诉求越来越紧迫;
- 如何保障业务的稳定性那?预警可以帮我们提前甄别风险,从而让我们可以在风险来临前将其消灭;
- 每个业务组写自己的报警规则会极大的降低开发效率,于是我们设计一套通用的预警平台来解该问题;
通用业务平台系列
- 通用业务平台设计(一):概览
- 通用业务平台设计(二):扩展多国家业务
- 通用业务平台设计(三):自动化打包平台建设
- 通用业务平台设计(四):灰度发布架构升级
- 通用业务平台设计(五):预警平台建设
学习完这篇文章你将收获什么
适合哪类人学
- 后端开发(无论你是刚入门小白还是资深开发都能从中有所受益)
- 运维(无论你是刚入门小白还是资深运维都能从中有所受益)
你将收获什么
- 预警平台架构如何设计
预警平台设计
场景数据获取架构图
报警规则过滤架构图
记录待发送报警架构图
报警发送
涉及数据库脚本
预警平台相关脚本
-- 报警渠道信息
CREATE TABLE `monitor_channel` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`channel_no` varchar(32) DEFAULT NULL COMMENT '渠道编码',`channel_name` varchar(20) DEFAULT NULL COMMENT '通道名称',`type` int(2) DEFAULT '0' COMMENT '渠道类型:0企业微信;1邮箱;2钉钉',`sort` decimal(4,2) DEFAULT NULL COMMENT '排序(越大越靠前);支持正负数,支持两位整数两位小数', `status` int(2) DEFAULT '0' COMMENT '状态(0启用 1停用 2作废)', `remark` varchar(20) DEFAULT NULL COMMENT '备注',`create_uid` varchar(32) DEFAULT NULL COMMENT '创建人ID 系统初始化为 -1',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',`update_uid` varchar(32) DEFAULT NULL COMMENT '修改人ID 系统修改为 -1',`update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(32) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(64) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(128) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_channel_cno` (`channel_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警渠道表';-- 报警渠道明细表
CREATE TABLE `monitor_channel_detail` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`channel_no` varchar(32) DEFAULT NULL COMMENT '渠道编码', `data_key` varchar(128) DEFAULT NULL COMMENT '数据项key',`data_value` varchar(128) DEFAULT NULL COMMENT '数据项value',`data_remark` varchar(20) DEFAULT NULL COMMENT '数据项说明', `status` int(2) DEFAULT '0' COMMENT '状态(0启用 1停用 2作废)', `create_uid` varchar(32) DEFAULT NULL COMMENT '创建人ID 系统初始化为 -1',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',`update_uid` varchar(32) DEFAULT NULL COMMENT '修改人ID 系统修改为 -1',`update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(32) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(64) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(128) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_channel_detail_cds` (`channel_no`,`data_key`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警渠道表';-- 报警路由表
CREATE TABLE `monitor_routing` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',`routing_no` varchar(32) NOT NULL COMMENT '路由编号',`country_no` varchar(32) NOT NULL COMMENT '国家编号',`country_name` varchar(32) NOT NULL COMMENT '国家名称',`info_type` int(2) DEFAULT NULL COMMENT '报警场景类型:0验证类短信成功率;',`channel_no` varchar(32) DEFAULT NULL COMMENT '渠道编码',`channel_name` varchar(20) DEFAULT NULL COMMENT '通道名称', `sort` decimal(4,2) DEFAULT NULL COMMENT '排序(越大越靠前);支持正负数,支持两位整数两位小数',`status` int(2) DEFAULT '0' COMMENT '状态(0启用 1停用 2作废)',`create_uid` varchar(32) DEFAULT NULL COMMENT '创建人ID',`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_uid` varchar(32) DEFAULT NULL COMMENT '修改人ID',`update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(20) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(32) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(64) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_routing_rt_no` (`routing_no`),UNIQUE KEY `uk_monitor_routing_cno_cpno_status_type` (`country_no`,`channel_no`,`status`,`info_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警路由表';-- 报警模板表
CREATE TABLE `monitor_mod` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`mod_no` varchar(32) DEFAULT NULL COMMENT '模板编码',`title` varchar(20) DEFAULT NULL COMMENT '标题',`status` int(2) DEFAULT '0' COMMENT '状态(0启用 1停用 2作废)',`content` varchar(512) DEFAULT NULL COMMENT '报警模板内容',`content_chinese` varchar(512) DEFAULT NULL COMMENT '报警模板内容对应中文',`info_type` int(2) DEFAULT NULL COMMENT '报警场景类型:0验证类短信成功率;',`send_type` int(2) DEFAULT NULL COMMENT '发送类型【1实时 2定时】', `remark` varchar(20) DEFAULT NULL COMMENT '备注',`create_uid` varchar(32) DEFAULT NULL COMMENT '创建人ID',`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_uid` varchar(32) DEFAULT NULL COMMENT '修改人ID',`update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(20) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(32) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(64) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_mod_mno` (`mod_no`),KEY `key_monitor_mod_info_type` (`info_type`),KEY `key_monitor_mod_info_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警模板表';-- 报警国家模板对应关系表
CREATE TABLE `monitor_country_mod` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`bu_no` varchar(32) DEFAULT NULL COMMENT '业务编码',`country_no` varchar(32) DEFAULT NULL COMMENT '国家编码',`country_name` varchar(32) DEFAULT NULL COMMENT '国家名称',`mod_no` varchar(32) DEFAULT NULL COMMENT '报警模板编码',`info_type` int(2) DEFAULT NULL COMMENT '报警场景类型:0验证类短信成功率;',`status` int(2) DEFAULT '0' COMMENT '状态(0启用 1停用 2作废)',`remark` varchar(20) DEFAULT NULL COMMENT '备注',`create_uid` varchar(32) DEFAULT NULL COMMENT '创建人ID',`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_uid` varchar(32) DEFAULT NULL COMMENT '修改人ID',`update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(32) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(32) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(128) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_country_mod_bu_no` (`bu_no`),UNIQUE KEY `uk_monitor_country_mod_cno_mno_itype_status` (`country_no`,`mod_no`,`info_type`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警的国家模板对应表';-- 预警规则路由表
CREATE TABLE `monitor_rule_route` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`bu_no` varchar(32) DEFAULT NULL COMMENT '业务编码',`info_type` int(2) DEFAULT NULL COMMENT '报警场景类型:0验证类短信成功率;',`country_no` varchar(32) DEFAULT NULL COMMENT '国家编码', `rule_no` varchar(32) DEFAULT NULL COMMENT '规则编码',`sort` decimal(4,2) DEFAULT NULL COMMENT '排序(越大越靠前);支持正负数,支持两位整数两位小数',`status` int(2) DEFAULT '0' COMMENT '状态 0启用 1停用',`remark` varchar(20) DEFAULT NULL COMMENT '备注', `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间', `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(20) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(32) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(64) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_rule_route_bno` (`bu_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警规则路由表';-- 预警规则表
CREATE TABLE `monitor_rule` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`rule_no` varchar(32) DEFAULT NULL COMMENT '规则编码', `sort` decimal(4,2) DEFAULT NULL COMMENT '排序(越大越靠前);支持正负数,支持两位整数两位小数',`fun_code` varchar(64) DEFAULT NULL COMMENT '表达式',`fun_desc` varchar(64) DEFAULT NULL COMMENT '表达式描述',`threshold_val` varchar(255) DEFAULT NULL COMMENT '阈值', `status` int(2) DEFAULT '0' COMMENT '状态 0启用 1停用',`remark` varchar(20) DEFAULT NULL COMMENT '备注', `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间', `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(20) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(32) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(64) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_rule_rno` (`rule_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警规则表';-- 报警发送表
CREATE TABLE `monitor_send_log` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`sl_no` varchar(32) DEFAULT NULL COMMENT '业务编码',`country_no` varchar(32) DEFAULT NULL COMMENT '国家编码',`channel_product_no` varchar(32) DEFAULT NULL COMMENT '渠道产品编码',`mod_no` varchar(32) DEFAULT NULL COMMENT '报警模板编码', `content` varchar(255) DEFAULT NULL COMMENT '内容中变量【多个以;为分割】',`info_type` int(2) DEFAULT NULL COMMENT '报警场景类型:0验证类短信成功率;', `expect_send_time` timestamp NULL DEFAULT NULL COMMENT '预计报警发送时间',`reality_send_time` timestamp NULL DEFAULT NULL COMMENT '实际报警发送时间',`status` int(2) DEFAULT NULL COMMENT '发送状态:0待发送;1发送成功;2发送失败', `retry_times` int(2) DEFAULT '2' COMMENT '剩余重试次数', `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',`update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(32) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(64) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(128) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_send_log_slno` (`sl_no`),UNIQUE KEY `uk_monitor_send_log_cno_itype_estime` (`country_no`,`info_type`,`expect_send_time`),KEY `key_monitor_send_log_cno` (`country_no`),KEY `key_monitor_send_log_chpno` (`channel_product_no`),KEY `key_monitor_send_log_exstime` (`expect_send_time`),KEY `key_monitor_send_log_status` (`status`),KEY `key_monitor_send_log_retimes` (`retry_times`),KEY `key_monitor_send_log_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警发送记录表';-- 报警发送历史表
CREATE TABLE `monitor_send_log_hist` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`sl_no` varchar(32) DEFAULT NULL COMMENT '业务编码',`country_no` varchar(32) DEFAULT NULL COMMENT '国家编码',`channel_product_no` varchar(32) DEFAULT NULL COMMENT '渠道产品编码',`mod_no` varchar(32) DEFAULT NULL COMMENT '报警模板编码', `content` varchar(255) DEFAULT NULL COMMENT '内容中变量【多个以;为分割】',`info_type` int(2) DEFAULT NULL COMMENT '报警场景类型:0验证类短信成功率;', `expect_send_time` timestamp NULL DEFAULT NULL COMMENT '预计报警发送时间',`reality_send_time` timestamp NULL DEFAULT NULL COMMENT '实际报警发送时间',`status` int(2) DEFAULT NULL COMMENT '发送状态:0待发送;1发送成功;2发送失败', `retry_times` int(2) DEFAULT '2' COMMENT '剩余重试次数', `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',`update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(32) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(64) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(128) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),KEY `uk_monitor_send_log_hist_slno` (`sl_no`),KEY `key_monitor_send_log_hist_cno` (`country_no`),KEY `key_monitor_send_log_hist_chpno` (`channel_product_no`),KEY `key_monitor_send_log_hist_exstime` (`expect_send_time`),KEY `key_monitor_send_log_hist_status` (`status`),KEY `key_monitor_send_log_hist_retimes` (`retry_times`),KEY `key_monitor_send_log_hist_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警发送记录历史表';
业务系统相关脚本
-- 预警历史数据表
CREATE TABLE `monitor_hist_data` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`bu_no` varchar(32) DEFAULT NULL COMMENT '业务编码',`info_type` int(2) DEFAULT NULL COMMENT '场景类型:0验证类短信成功率;1活体成功率;',`begin_time` timestamp NULL DEFAULT NULL COMMENT '数据统计开始时间',`end_time` timestamp NULL DEFAULT NULL COMMENT '数据统计结束时间',`numerator_count` int(4) DEFAULT NULL COMMENT '统计时间段分子数量',`denominator_count` int(4) DEFAULT NULL COMMENT '统计时间段分母数量', `rate` decimal(8,4) DEFAULT NULL COMMENT '统计时间段比例(统计时间段分子数量/统计时间段分母数量)',`remark` varchar(20) DEFAULT NULL COMMENT '备注', `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间', `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(20) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(32) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(64) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_record_bno` (`bu_no`),UNIQUE KEY `uk_monitor_record_itype_btime_etime` (`info_type`,`begin_time`,`end_time`),KEY `monitor_hist_data_btime` (`begin_time`),KEY `monitor_hist_data_etime` (`end_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警历史信息统计表';-- 预警记录表
CREATE TABLE `monitor_record` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`bu_no` varchar(32) DEFAULT NULL COMMENT '业务编码',`info_type` int(2) DEFAULT NULL COMMENT '报警场景类型:0验证类短信成功率;1活体成功率;',`country_no` varchar(32) DEFAULT NULL COMMENT '国家编码',`begin_time` timestamp NULL DEFAULT NULL COMMENT '统计数据开始时间',`end_time` timestamp NULL DEFAULT NULL COMMENT '统计数据结束时间',`content` varchar(1024) DEFAULT NULL COMMENT '报警内容多个以英文分号进行分割', `compare_val` varchar(512) DEFAULT NULL COMMENT '对比项值', `rule_retry_time` int(2) DEFAULT '2' COMMENT '调用报警规则剩余重试次数',`send_retry_time` int(2) DEFAULT '2' COMMENT '调用报警记录剩余重试次数',`status` int(2) DEFAULT '0' COMMENT '状态 0待调用报警规则 1调用报警规则失败 2调用报警规则成功且不需要报警 3调用报警规则成功且需要报警 4调用报警记录成功 5调用报警记录失败', `remark` varchar(20) DEFAULT NULL COMMENT '备注', `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间', `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(20) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(32) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(64) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_record_bno` (`bu_no`),UNIQUE KEY `uk_monitor_record_type_cno_btime_etime` (`info_type`,`country_no`,`begin_time`,`end_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警信息记录表';-- 预警基本信息统计表
CREATE TABLE `monitor_basic_data` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`group_no` varchar(32) DEFAULT NULL COMMENT '组编码',`country_name` varchar(20) DEFAULT NULL COMMENT '国家名称',`begin_time` timestamp NULL DEFAULT NULL COMMENT '数据统计开始时间',`end_time` timestamp NULL DEFAULT NULL COMMENT '数据统计结束时间',`info_type` int(2) DEFAULT NULL COMMENT '类型:0催收', `status` int(2) DEFAULT '0' COMMENT '状态 0待生成excel上传oss 1上传oss成功 2上传oss失败',`file_url` varchar(255) DEFAULT NULL COMMENT '文件OSS的url地址',`retry_time` int(2) DEFAULT '2' COMMENT '剩余重试次数',`remark` varchar(20) DEFAULT NULL COMMENT '备注', `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间', `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(20) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(32) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(64) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),UNIQUE KEY `uk_monitor_basic_data_gno` (`group_no`),UNIQUE KEY `uk_monitor_basic_data_cn_btime_etime` (`country_name`,`begin_time`,`end_time`),KEY `key_monitor_basic_data_btime` (`begin_time`),KEY `key_monitor_basic_data_etime` (`end_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警基本信息统计表';-- 预警基本信息详细统计表
CREATE TABLE `monitor_basic_data_item` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`group_no` varchar(32) DEFAULT NULL COMMENT '组编码',`case_id` varchar(32) DEFAULT NULL COMMENT '订单号',`external_no` varchar(128) DEFAULT NULL COMMENT '外部流水号(第三方交易流水号)',`repayment_money` decimal(20,8) DEFAULT NULL COMMENT '应还金额',`practical_repayment_money` decimal(20,8) DEFAULT NULL COMMENT '金额',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间', `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',`param1` int(2) DEFAULT NULL COMMENT '预留字段1',`param2` int(4) DEFAULT NULL COMMENT '预留字段2',`param3` int(11) DEFAULT NULL COMMENT '预留字段3',`param4` varchar(20) DEFAULT NULL COMMENT '预留字段4',`param5` varchar(32) DEFAULT NULL COMMENT '预留字段5',`param6` varchar(64) DEFAULT NULL COMMENT '预留字段6',PRIMARY KEY (`id`),KEY `key_monitor_basic_data_item_gno` (`group_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警基本信息详细统计表';
总结
- 预警平台的建设远超预期,多次提前预警风险,从而避免故障发生
- 预警平台投入使用推广,获得了业务团队的一致好评
- 当业务发展一定规模后,公司在竞争中获胜的一个很关键因素在于谁更少的犯错,建立一个提前甄别风险的系统是必要的
相关文章:

通用业务平台设计(五):预警平台建设
前言 在上家公司,随着业务的不断拓展(从支持单个国家单个主体演变成支持多个国家多个主体),对预警的诉求越来越紧迫;如何保障业务的稳定性那?预警可以帮我们提前甄别风险,从而让我们可以在风险来临前将其消灭ÿ…...

Windows openssl-1.1.1d vs2017编译
工具: 1. perl(https://strawberryperl.com/) 2. nasm(https://nasm.us/) 3. openssl源码(https://www.openssl.org/) 可以自己去下载 或者我的网盘提供下载: 链接:…...

【深蓝学院】手写VIO第2章--IMU传感器--笔记
0. 内容 1. 旋转运动学 角速度的推导: 左ω∧\omega^{\wedge}ω∧,而ω\omegaω是在z轴方向运动,θ′[0,0,1]T\theta^{\prime}[0,0,1]^Tθ′[0,0,1]T 两边取模后得到结论: 线速度大小半径 * 角速度大小 其中,对旋转矩…...

网络基础(二)之HTTP与HTTPS
应用层 再谈 "协议" 协议是一种 "约定". socket api的接口, 在读写数据时, 都是按 "字符串" 的方式来发送接收的. 如果我们要传输一些"结构化的数据" 怎么办呢? 为什么要转换呢? 如果我们将struct message里面的信息…...

Python每日一练(20230306)
目录 1. 翻转二叉树 ★★ 2. 最长公共前缀 ★★ 3. 2的幂 ★ 1. 翻转二叉树 翻转一棵二叉树。 示例 1: 输入: 4/ \2 7/ \ / \ 1 3 6 9 输出: 4/ \7 2/ \ / \ 9 6 3 1示例 2: 输入: 1…...

C/C++每日一练(20230305)
目录 1. 整数分解 ☆ 2. 二叉树的最小深度 ★★ 3. 找x ★★ 1. 整数分解 输入一个正整数,将其按7进制位分解为各乘式的累加和。 示例 1: 输入:49 输出:497^2示例 2: 输入:720 输出:720…...

SAS字典的应用
数据字典中常用信息检索DICTIONARY.COLUMNS、DICTIONARY.TABLES以及DICTIONARY.MEMBERS等字典表的内容。在编程实践中,如何以SAS字典表来提高效率。 1、DICTIONARY.COLUMNS 对于当前SAS任务的全部数据集,表格DICTIONARY.COLUMNS包含了诸如变量的名称、类…...

Mysql中的函数和触发器
函数函数是什么?多用于查询语句,实现了某种功能;用途与存储过程不同,但语法是类似的;函数语法create function 函数名([参数列表]) returns 数据类型 begin DECLARE 变量; sql 语句; return 值; end; 设置函…...

分布式架构之(Zookeeper原理)
Zookeeper是一个典型的分布式数据一致性的结局方案,分布式应用程序可以基于它实现注入数据发布、订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能, Zookeeper可以保证如下分布式一致性特性: 顺…...

Java框架学习 | MyBatis
问题导向学习MyBatis 为什么要有MyBatis框架? 避免Java开发者直接使用 JDBC重复做数据库操作,同时更便捷地实现想要的数据库相关功能,让Java专注于开发业务。 MyBatis框架如何实现该目的? MyBatis是半自动化持久层ORM框架&#x…...

Cookie+Session详解
文章目录批量删除会话技术简介CookieCookie 查看Cookie 的删除Cookie 使用页面获取 cookie 信息cookie 特点Sessionsession 的使用Session 登录权限验证过滤器简介过滤器的使用WebFilter 注解过滤放行登录权限验证批量删除 servlet 类 dao 层 会话技术 简介 在计算机领域…...

CAPL脚本要注意区分elcount和strlen求数组长度的区别,不然要吃大亏
🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…...

CSS常用选择器
目录 1.CSS是什么 2.CSS的三种写法 2.1内部样式 2.2内联样式 2.3外部样式 3.CSS选择器 3.1标签选择器 3.2类选择器(更好的选择) 3.3ID选择器 3.4后代选择器 3.5子选择器 3.6并集选择器 3.7伪类选择器(复合选择器的特殊用法) 1.CSS是什么 CSS全称Cascding Style Sh…...

Registry与DGC的攻击利用
0x01 2022-02-03写的一篇文章。 0x02 Registry Registry指的是RMI的注册表,攻击的目标是注册表所在的机器,一般注册表和RMI Server在同一个机器上,特殊情况下也会在不同机器上。 在我们通过LocateRegistry#getRegistry获取到目标开启的注…...

赛道持续降温!又一家自动驾驶公司裁员,市值曾超50亿美元
从去年下半年开始,自动驾驶赛道的裁员、倒闭风潮盛行。 本周,美股卡车自动驾驶上市公司Embark Trucks(EMBK)宣布将裁员70%,同时大幅缩减业务。“痛苦可能还没有结束,”公司首席执行官Alex Rodrigues在给员…...

路径规划 | 图解动态A*(D*)算法(附ROS C++/Python/Matlab仿真)
目录0 专栏介绍1 什么是D*算法?2 D*算法核心概念一览3 D*算法流程图4 步步图解:算法实例5 算法仿真与实现5.1 ROS C实现5.2 Python实现0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详…...

GraphCut、最大流最小割定理
G(V,E);V为点集,E为边集; 节点集V中的节点分为: (1)终端节点。不包含图像像素,用S和T表示。S为源点,T为汇点。图像分割中通常用S表示前景目标&a…...

Word文档的密码忘记了怎么办?
Word文档可以设置两种密码,文件的“限制密码”和“打开密码”,今天来分享一下忘记这两种密码可以如何处理。 如果忘记的是Word文档的“限制密码”,文档就无法编辑及更改了,菜单目录中的相关选项也都是灰色状态,无法点…...

Java分布式事务(二)
文章目录🔥分布式事务处理_认识本地事务🔥关系型数据库事务基础_并发事务带来的问题🔥关系型数据库事务基础_MySQL事务隔离级别🔥MySQL事务隔离级别_模拟异常发生之脏读🔥MySQL事务隔离级别_模拟异常发生之不可重复读&…...

游戏项目中的程序化生成(PCG):算法之外的问题与问题
本篇讨论的是什么 从概念上讲,PCG(程序化生成)的含义很广:任何通过规则计算得到的内容,都可算作是PCG。但在很多游戏项目的资料,包括本篇,讨论PCG时特指是:用一些算法/工具(特别是H…...

【C++】位图+哈希切割+布隆过滤器
文章目录一、位图1.1 位图概念1.2 位图实现1.2.1 把x对应比特位0置11.2.2 把x对应比特位1置01.2.1 查看x对应比特位1.3 位图源码1.4 位图的应用二、哈希切割(处理海量数据)三、布隆过滤器3.1 布隆过滤器的概念3.2 布隆过滤器的应用场景3.3 布隆过滤器的实…...

python实现网络游戏NPC任务脚本引擎(带限时任务功能)
python实现NPC任务脚本引擎 一、简介二、简单示例三、实现任务限时的功能四、结合twisted示例一、简介 要实现面向对象的网络游戏NPC任务脚本引擎,可以采用以下步骤: 1.定义NPC类:该类应该包括NPC的基本属性和行为,如名字、位置、血量、攻击力等等。NPC还应该有任务的列表…...

C语言的原子操作(待完善)
文章目录一、什么是原子操作二、为什么需要原子操作三、API一、什么是原子操作 原子操作是不可分割的,在执行完毕之前不会被任何其它任务或事件中断,可以视为最小的操作单元,是在执行的过程中、不会导致对数据的并发访问的、最小操作&#x…...

JavaScript Boolean 布尔对象
文章目录JavaScript Boolean 布尔对象Boolean 对象Boolean 对象属性Boolean 对象方法检查布尔对象是 true 还是 false创建 Boolean 对象JavaScript Boolean 布尔对象 Boolean(布尔)对象用于将非布尔值转换为布尔值(true 或者 false࿰…...

删除链表元素相关的练习
目录 一、移除链表元素 二、删除排序链表中的重复元素 三、删除排序链表中的重复元素 || 四、删除链表的倒数第 N 个结点 一、移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头…...

3DEXPERIENCE Works 成为了中科赛凌实现科技克隆环境的催化剂
您的企业是否想过实现设计数据的统筹管理,在设计上实现标准化,并把每位设计工程师串联起来协同办公?中科赛凌通过使用3DEXPERIENCE Works 实现了上述内容,一起来看本期案例分享吧!中科赛凌 通过其自主研发的单压缩机制冷技术实现零下190℃制…...

少儿编程 电子学会图形化编程等级考试Scratch一级真题解析(选择题)2022年12月
少儿编程 电子学会图形化编程等级考试Scratch一级真题解析2022年12月 选择题(共25题,每题2分,共50分) 1、小明想在开始表演之前向大家问好并做自我介绍,应运行下列哪个程序 A、 B、 C、 D、 答案:D...

【完整版】国内网络编译,Ambari 2.7.6 全部模块源码编译笔记
本次编译 ambari 2.7.6 没有使用科学上网的工具,使用的普通网络,可以编译成功,过程比 ambari 2.7.5 编译时要顺畅。 以下是笔记完整版。如果想单独查看本篇编译笔记,可参考:《Ambari 2.7.6 全部模块源码编译笔记》 该版本相对 2.7.5 版本以来,共有 26 个 contributors …...

HTML 颜色值
HTML 颜色值 颜色由红 (R)、绿 (G)、蓝 (B) 组成。 颜色值 颜色值由十六进制来表示红、绿、蓝(RGB)。 每个颜色的最低值为 0 (十六进制为 00 ),最高值为 255 (十六进制为 FF )。 十六进制值的写法为#号后跟三个或六个十六进制字符。 三位…...

RabbitMQ-消息的可靠性投递
文章目录0. 什么是消息的可靠性投递1. confirm机制2. return机制3. 总结0. 什么是消息的可靠性投递 在生产环境中,如果因为一些不明原因导致RabbitMQ重启,RabbitMQ重启过程中是无法接收消息的,那么我们就需要生产者重新发送消息。或者在消息…...