1. 概述编辑
本文主要介绍 fine_conf_entity 主要表字段及含义。
注1:FineDB 数据库中其他表结构介绍请参见:FineDB 表结构
注2:FineDB 连接方法请参见:使用第三方管理软件连接 FineDB
2. 常用字段编辑
fine_conf_entity 表中包含两个字段。如下图所示:
字段名 | 作用 |
---|---|
ID | 配置位置 |
VALUE | 数据值 |
注:存储在数据库的配置内容大多都在这张表,如:id = BackupConfig.backupMemory , value = 1024表示给 BackupConfig 中的 backupMemory 配置一个值 1024,含义是自动备份最多占 1024mb 。
常用字段介绍如下表所示:
分类 | ID | 备注 |
---|---|---|
管理系统-系统管理-邮箱 | EmailServerConfig.mailHost | 邮件服务器 |
EmailServerConfig.encryption | 加密方式 | |
EmailServerConfig.port | 端口 | |
EmailServerConfig.fromEmailAddress | 发件人地址 | |
EmailServerConfig.password | 密码 | |
EmailServerConfig.user | 显示姓名 |
3. 非界面可配置项编辑
对于前台未提供配置界面,但可在fine_conf_entity表修改的属性如下表所示:
key(id) | value(默认值) | 说明 |
---|---|---|
FSConfig.loginConfig.tokenFromCookie | false | 开启后后台校验token时可从Cookie中取,解决HttpOnly下后台单点和跨域单点登录失败的问题 |
WebSecurityConfig.xssProtectionHeader | 1; mode=block | XSS攻击防护Header X-XSS-Protection的值 |
WebSecurityConfig.frameOptionsHeader | SAMEORIGIN | 点击劫持攻击防护Header X-Frame-Options的值 |
WebSecurityConfig.contentTypeOptionsHeader | nosniff | 内容嗅探攻击防护Header X-Content-Type-Options的值 |
WebSecurityConfig.contentSecurityPolicyHeader | object-src 'self' | CSP内容安全策略Header Content-Security-Policy的值 |
WebSecurityConfig.cacheControlHeader | no-cache | 浏览器缓存禁用Header Cache-Control的值 |
WebSecurityConfig.cacheControlExpiresHeader | 0 | 浏览器缓存禁用Header Expires的值 |
WebSecurityConfig.cacheControlPragmaHeader | no-cache | 浏览器缓存禁用Header Pragma的值 |
WebSecurityConfig.hstsHeader | max-age=31536000; includeSubDomains | HSTS Header Strict-Transport-Security的值 |
BackupConfig.customValueLength | 65536 | 备份conf表,自定义value长度 |
BackupConfig.customKeyLength | 1500 | 备份conf表,自定义id长度 |
FSConfig.loginConfig.forceRedirectAfterLogin | false | 登录后强制跳转,默认关闭 |
SystemConfig.serverInit | "" | 平台是否初始化完成 success/fail |
WebSocketConfig.port | [38888, 39888] | 端口 |
WebSocketConfig.protocol | plain | 如果是https服务器,则需要设置为ssl |
WebSocketConfig.keyStore | "" | 存放文件的路径(这边最好用绝对路径),一般用keyStore,trustStore待验证 |
WebSocketConfig.keyStorePassword | "" | 申请时候用到的秘钥 |
WebSocketConfig.keyStoreFormat | JKS | 默认用JKS(如果是pfx证书,改成PKCS12) |
WebSocketConfig.trustStore | "" | 文件路径(这边最好用绝对路径) |
WebSocketConfig.trustStorePassword | "" | 申请时候用秘钥 |
WebSocketConfig.trustStoreFormat | JKS | 默认用JKS(如果是pfx证书,改成PKCS12) |
WebSocketConfig.socketContext | /socket.io | 用于修改websocket的路由 |
ServerConfig.cookiePath | / | cookie路径(最好在部署工程时配置。否则会造成浏览器存储多个cookie,需要每个用户手动清除cookie才能登录成功。) |
ScheduleSettingConfig.taskTimeout | 300000 | 定时任务超过时间,默认5分钟 |
SecurityConfig.frontSeed | 随机的16位字符串 | 用于给前端加密提供秘钥,初始是随机的16位字符串,可自行修改 |
WebSecurityConfig.loginValidateStrict | false/true | 用于限制跨域登录接口,以及cas后台登录接口的使用,如果配置true,则不能使用这俩接口 |
LoadConfig.minorTerribleThreshold | 0.09 | minorGC后,晋升到老年代的对象速率与EDEN区的比值大小超过这个值算是超高负载 |
LoadConfig.minorHighThreshold | 0.06 | minorGC后,晋升到老年代的对象速率与EDEN区的比值大小超过这个值算是高负载 |
LoadConfig.minorMidThreshold | 0.03 | minorGC后,晋升到老年代的对象速率与EDEN区的比值大小超过这个值算是中等负载 |
LoadConfig.majorExtremeTerribleThreshold | 0.95 | majorGC后,残留在老年代对象大小与老年代大小的比值超过这个值算是极限负载 |
LoadConfig.majorTerribleThreshold | 0.85 | majorGC后,残留在老年代对象大小与老年代大小的比值超过这个值算是超高负载 |
LoadConfig.majorHighThreshold | 0.7 | majorGC后,残留在老年代对象大小与老年代大小的比值超过这个值算是高负载 |
IntelliReleaseConfig.highInterruptRate | 0.8 | 第一次小范围杀会话时,会话格子数超过模板限制格子数值的80%时被杀死 |
IntelliReleaseConfig.highInterruptAgainRate | 0.6 | 第二次小范围杀会话时,会话格子数超过模板限制格子数值的60%时被杀死 |
IntelliReleaseConfig.highKillRate | 0.1 | 第一次小范围杀会话后,被杀死会话数不足10%时进行第二次小范围杀会话 |
IntelliReleaseConfig.terribleInterruptRate | 0.6 | 第一次大范围杀会话时,会话格子数超过模板限制格子数值的60%时被杀死 |
IntelliReleaseConfig.terribleInterruptAgainRate | 0.4 | 第二次大范围杀会话时,会话格子数超过模板限制格子数值的40%时被杀死 |
IntelliReleaseConfig.terribleKillRate | 0.2 | 第一次大范围杀会话后,被杀死会话数不足20%时进行第二次大范围杀会话 |
IntelliReleaseConfig.waitInLineRate | 0.9 | 高负载时此模板90%概率排队 |
IntelliReleaseConfig.defaultCellCount | 1000000 | 大小范围杀会话时,如果模板格子数限制关闭默认格子数1_000_000 |
IntelliReleaseConfig.releaseSessionInterval | 20 | 在20s内如果此次gc后负载状态低于或等于上次gc状态则不进行大/小范围杀会话 |
WebSecurityConfig.fileInspectorType | 1 | 开启了安全管理的文件校验后,用此配置文件上传校验类型 0-(综合,后缀不在白名单内放行,否则校验头) 1-(白名单,后缀在白名单且头匹配的才放行) 2-(黑名单,后缀不在黑名单内放行) |
QuartzConfig.threadCount | 100 | 定时调度模块最大线程数(8月16之后版本支持) |
QuartzConfig.maxConnections | 50 | 定时调度模块最大连接数(8月16之后版本支持) |
ScheduleSettingConfig.timeoutRemind | true | 定时调度任务是否开启监控日志超时提醒 |
ClusterTimeMonitorConfig.sumCount | 3 | 集群单次时间误差检测任务中, 尝试误差分析的总次数 |
ClusterTimeMonitorConfig.permitCount | 1 | 集群单次时间误差检测任务中, 多次误差分析中最小成功次数 |
ClusterTimeMonitorConfig.permitError | 10*1000 | 集群单次时间误差检测任务中, 允许时间误差值,单位 ms |
FileServerMonitorConfig.messageInterval | 1 | FTP 异常消息通知频率,单位 h |
JarConsistenceConfig.messageInterval | 6 | Jar不一致异常消息通知频率,单位 h |
RedisClusterMonitorConfig.messageInterval | 6 | Redis 节点异常消息通知频率,单位 h |
RedisConfig.maxConnection | 200 | Redis 连接池最大实例总数 |
RedisConfig.expireStateRemoveInterval | 5*60*1000 | 状态服务器 过期 key 删除间隔时间,单位 ms |
RedisConfig.database | 0 | Redis 指定数据库 |
RedisClusterConfig.maxConnection | 200 | Redis Cluster 连接池最大实例总数 |
FineClusterConfig.params.encrypt | false | 集群通信加密开关,默认为false |
4. 用户相关配置编辑
4.1 业务包
业务包配置分为三份配置,如下表所示:
ID 字段前缀 | 备注 |
---|---|
DirectPackageConfStore | 数据准备使用的配置 |
DirectDashBoardPackageConfStore | 分析表分析和 dashboard 部分使用的配置 |
DirectSnapshotPackageConfStore | 快照 |
以数据准备的基础配置为例,ID 的结构为DirectPackageConfStore.mapHolder.[packageId].[param]
各种「param」意义如下表所示:
param | 备注 |
---|---|
createTime | 业务包创建的时间戳 |
name | 业务包名称(Unicode) |
packId | 业务包 id |
tableIds | 业务包中的数据集 id 数组 |
userName | 创建的用户 id |
4.2 数据集
字段配置分为三份配置,如下表所示:
ID 字段前缀 | 备注 |
---|---|
DirectEntryConfStore | 数据准备使用的配置 |
DirectDashBoardEntryConfStore | 分析表分析和 dashboard 部分使用的配置(分布式未更新后的表) |
DirectSnapshotEntryConfStore | 快照 |
不同结果对应的数据集类型如下表所示:
VALUE | 数据集类型 |
---|---|
com.finebi.common.internalimp.config.conf.entryinfo.sql.SqlEntryInfoConf | sql 数据集 |
com.finebi.common.internalimp.config.conf.entryinfo.excel.ExcelEntryInfoConf | excel 数据集 |
com.finebi.common.internalimp.config.conf.entryinfo.analysis.AnalysisEntryInfoConf | 自助数据集 |
com.finebi.common.internalimp.config.conf.entryinfo.sql.DatabaseEntryInfoConf | db 数据集 |
com.finebi.common.internalimp.config.entryinfo.oldetl.OldETLEntryInfoConf | 4.1 升级过来的数据集 |
com.finebi.common.internalimp.config.conf.entryinfo.server.TableDataInfoConf | 服务器数据集 |
com.finebi.common.internalimp.config.conf.entryinfo.analysis.ConfAnalysisEntryInfoConf | 设置了编辑操作的基础数据集 |
com.finebi.common.internalimp.config.conf.entryinfo.circle.CircleEntryInfoConf | 构建了自循环的数据集 |
数据集 ID 规则为:DirectEntryConfStore.mapHolder.[数据集id].[param]
「param」意义如下表所示:
param | 备注 |
---|---|
entryId | 数据集 id |
creatorName | 创建的用户 id |
name | 数据集原始名(Unicode) |
parameterMap | 参数信息 |
defaultValueMap | 参数默认值 |
escapeMap | 转义名的映射 |
sql | sql 数据集的 sql |
dbName | 数据连接名称(Unicode) |
schema | 数据库表 对应的 schema |
dbTableName | 数据库表 对应的数据库表名 |
sourceName | 服务器数据集对应的 fr 资源名 |
baseFields | excel 数据集上传 excel 的字段设置 |
excelSourceConf | excel 数据集的资源信息 |
beanList | 自助数据集的分析操作 |
inheritPermissionAndRelation | 自助数据集是否继承关联和权限 |
4.3 自助数据集
自助数据集的表配置中 beanList 为分析的操作步骤如下表所示:
每个操作对应一个 id ,id 相同的内容都是一个操作步骤的,上图的 id 在 beanList 后面为 MgQS2vMV 。
查看步骤的类型,需要在 fine_conf_classname 表中查找对应的类。各个步骤类型对应的类如下表所示:
步骤名称 | 对应类 |
---|---|
字段选择 | com.finebi.common.internalimp.config.conf.entryinfo.analysis.operator.select.SelectFieldBeanConf |
过滤 | com.finebi.common.internalimp.config.conf.entryinfo.analysis.operator.filter.FilterOperatorBeanConf |
分组汇总 | com.finebi.common.internalimp.config.conf.entryinfo.analysis.operator.group.GroupBeanConf |
新增列 | com.finebi.common.internalimp.config.conf.entryinfo.analysis.operator.addcolumn.AddNewColumnBeanConf |
字段设置 | com.finebi.common.internalimp.config.conf.entryinfo.analysis.operator.fieldsetting.FieldSettingBeanConf |
排序 | com.finebi.common.internalimp.config.conf.entryinfo.analysis.operator.sort.SortBeanConf |
左右合并 | com.finebi.common.internalimp.config.conf.entryinfo.analysis.operator.join.JoinBeanConf |
上下合并 | com.finebi.common.internalimp.config.conf.entryinfo.analysis.operator.union.UnionBeanConf |