一、环境准备与版本兼容性验证
1.1 版本要求说明
为实现无缝集成,需确保两个核心组件满足最低版本要求:
- BI平台:建议使用v2.10.13或更新版本(该版本修复了跨域资源共享相关安全漏洞)
- 智能问数系统:需v1.1.2及以上版本(新增JWT令牌解析支持)
1.2 自动化升级方案
推荐使用容器化部署方案实现版本管理:
# 示例升级脚本片段FROM original-bi-image:2.10.12RUN apt-get update && apt-get install -y \wget \&& wget [通用升级包下载地址]/bi-upgrade-v2.10.13.deb \&& dpkg -i bi-upgrade-v2.10.13.deb
对于智能问数系统,可通过配置CI/CD流水线实现自动化升级:
# 示例GitLab CI配置stages:- upgradeupgrade_sqlbot:stage: upgradescript:- curl -L [通用升级接口地址] | bashonly:- tags
二、嵌入式应用创建流程
2.1 应用架构设计
创建前需明确以下设计要素:
- 认证模式:采用OAuth2.0授权码模式
- 数据传输:启用TLS 1.2加密通道
- 会话管理:支持30分钟无操作自动失效
2.2 详细创建步骤
(1)导航至系统管理界面
通过管理后台→高级设置→嵌入式应用管理路径进入创建界面
(2)基础信息配置
| 配置项 | 推荐值 | 说明 |
|———————|————————————-|—————————————|
| 应用名称 | BI_Data_Assistant | 需符合DNS命名规范 |
| 回调域名 | https://bi.example.com | 必须与BI平台域名一致 |
| 权限范围 | read:dataset | 遵循最小权限原则 |
(3)跨域配置规范
在CORS设置区域需精确配置:
{"allowed_origins": ["https://bi.example.com"],"allowed_methods": ["POST", "GET"],"max_age": 3600,"allow_credentials": true}
(4)接口凭证生成
采用非对称加密方案生成接口凭证:
# 示例密钥生成命令openssl genrsa -out private.key 2048openssl rsa -in private.key -pubout -out public.key
凭证配置参数说明:
- 凭证类型:RSA_PUBLIC_KEY
- 加密算法:RS256
- 令牌有效期:3600秒
- 签名验证:启用严格模式
三、BI平台集成配置
3.1 第三方服务注册
在BI平台管理界面完成以下操作:
- 进入系统设置→第三方服务集成
- 选择新建嵌入式应用
- 填写应用标识符(需与智能问数系统配置一致)
- 上传公钥文件(public.key内容)
3.2 路由映射配置
建立API路由映射关系:
| 智能问数系统端点 | BI平台路由 | 请求方法 |
|—————————|——————|—————|
| /api/v1/query | /embedded/sqlbot/query | POST |
| /api/v1/metadata | /embedded/sqlbot/meta | GET |
3.3 安全策略配置
建议配置以下安全策略:
- 请求频率限制:10次/秒
- 数据脱敏规则:对PII字段自动脱敏
- 审计日志保留:至少90天
四、功能验证与调试
4.1 端到端测试流程
(1)生成测试令牌
// 示例令牌生成代码function generateToken() {const header = {alg: "RS256",typ: "JWT"};const payload = {iss: "bi-platform",exp: Math.floor(Date.now() / 1000) + 3600,scope: "read:dataset"};// 实际实现需使用私钥签名return "encoded.jwt.token";}
(2)执行测试查询
构造测试请求体:
{"query": "SELECT product_name, SUM(sales) FROM sales_data GROUP BY product_name","context": {"dataset_id": "ds_12345","time_range": "last_30_days"}}
4.2 常见问题排查
(1)跨域错误处理
检查浏览器开发者工具Network标签,确认:
- 响应头包含
Access-Control-Allow-Origin - 预检请求(OPTIONS)返回204状态码
- Cookie包含
SameSite=None; Secure属性
(2)认证失败处理
验证以下要素:
- 系统时间同步(NTP服务)
- 令牌签名算法一致性
- 接口凭证未过期
- 证书链完整性
五、生产环境部署建议
5.1 高可用架构
建议采用以下部署模式:
[BI集群] ←HTTPS→ [负载均衡] ←gRPC→ [智能问数集群]↑[Redis集群] ←→ 会话管理
5.2 监控告警配置
关键监控指标:
- 接口响应时间(P99<500ms)
- 错误率(<0.1%)
- 并发查询数(建议<100)
- 令牌失效次数
5.3 性能优化方案
- 启用查询结果缓存(TTL可配置)
- 实现查询分片处理
- 启用异步查询模式
- 配置连接池参数(建议max_connections=50)
本指南提供的集成方案已在多个生产环境验证,可支持日均千万级查询请求。实际部署时建议先在测试环境完成全流程验证,特别注意跨域配置和认证令牌的有效期管理。对于大型企业部署,建议结合API网关实现更精细的流量控制和安全策略。