OceanBase 参数对比工具
源码下载地址 :下载
bash
链接:https://pan.quark.cn/s/640688e48762
OceanBase 参数对比工具是一个用于比较不同 OceanBase 版本间参数差异的 Web 应用程序。它可以帮助 DBA 和开发者快速识别不同版本之间的参数变化,从而更好地进行版本升级和配置管理。
功能特点
- 版本对比: 支持任意 OceanBase 版本之间的参数对比
- 参数过滤: 可按差异、隐藏参数等条件过滤显示
- 模块分类: 显示参数所属模块信息
- 类型识别: 自动识别参数类型(字符串、整数、布尔值等)
- 隐藏参数: 支持显示/隐藏以下划线开头的隐藏参数
- 差异高亮 : 自动高亮显示有差异的参数值

使用方法
1. 选择版本
- 点击"刷新"按钮获取最新的 OceanBase 版本列表
- 从下拉菜单中选择要对比的版本
- 可以添加多个版本进行对比

2. 参数对比
- 选择版本后,系统会自动加载并对比参数
- 参数表格显示参数名称、类型、模块以及各版本的值
- 默认显示所有参数,可通过过滤选项控制显示内容

3. 过滤选项
- 仅显示差异: 只显示在不同版本间有差异的参数
- 显示隐藏参数 : 控制是否显示以下划线开头的隐藏参数


4. 表格说明
- 参数名称: OceanBase 参数的名称
- 参数类型: 参数的数据类型(string、integer、boolean)
- 模块: 参数所属的模块(OB_CLUSTER_PARAMETER、OB_SERVER_PARAMETER 等)
- 版本列 : 各选定版本中该参数的默认值

技术架构
前端技术栈
- HTML5/CSS3: 页面结构和样式
- Vue.js 3: 前端框架,用于构建响应式用户界面
- JavaScript (ES6+): 业务逻辑处理
- Font Awesome: 图标库
后端数据源
- GitHub API: 获取 OceanBase 的版本标签信息
- OceanBase 源码: 直接从 OceanBase GitHub 仓库获取参数定义文件
核心实现逻辑
1. 版本获取
- 通过 GitHub API 获取 OceanBase 仓库的所有标签
- 按版本号排序,提供给用户选择
2. 参数解析
-
从 OceanBase 源码中获取
ob_parameter_seed.ipp文件 -
使用正则表达式解析参数定义:
DEF_STR(parameter_name, module, "default_value", "range", "description") -
提取参数名称、模块、默认值等信息
3. 参数合并与对比
- 将多个版本的参数信息合并
- 标记在不同版本中有差异的参数值
- 提供过滤功能控制参数显示
4. 前端展示
- 使用 Vue.js 构建响应式界面
- 实现参数过滤、差异高亮等功能
- 提供友好的用户体验
代码结构
occ/
├── index.html # 主页面
├── debug.html # 参数调试页面
├── analyze.html # 参数分析页面
├── css/
│ └── style.css # 样式文件
├── js/
│ └── app.js # 主应用逻辑
└── README.md # 说明文档
浏览器兼容性
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
部署方式
- 将所有文件部署到 Web 服务器
- 确保服务器支持静态文件访问
- 无需额外后端服务,纯前端应用
或者直接打开index.html文件即可
注意事项
- 应用依赖 GitHub API,需要网络连接
- 较老版本的参数文件格式可能有所不同,可能导致解析失败
- 由于 GitHub API 限制,频繁刷新可能会触发访问限制
开发与维护
添加新功能
- 修改对应的 HTML 文件调整界面
- 更新 JavaScript 文件实现功能逻辑
- 调整 CSS 文件优化样式
参数解析扩展
如果 OceanBase 参数文件格式发生变化,需要更新 parseParameterContent 函数中的正则表达式。
常见问题
1. 为什么有些版本没有参数数据?
可能是以下原因:
- 版本过旧,参数文件结构已变更
- 网络连接问题,无法访问 GitHub
- 参数文件路径发生变更
- GitHub API 访问限制
2. 如何识别隐藏参数?
以下划线 _ 开头的参数被视为隐藏参数,可以通过"显示隐藏参数"选项控制是否显示。
3. 差异高亮是如何工作的?
当同一参数在不同版本中有不同的默认值时,该参数会被标记为差异项,并在表格中高亮显示。
