Skip to content

SQLE支持ODC SQL工作台 #3133

@littleniannian

Description

@littleniannian

需求描述(Describe)

SQL支持使用ODC工作台,并且在ODC工作台中支持以下功能

  1. 在ODC的控制台执行SQL后,触发SQLE审核,如果审核达到了数据源设置的某一级别,跳转到创建工单页面,进行SQL工单创建。
  2. 在ODC控制台执行DQL后,可以执行导出,点击导出按钮后触发SQL导出工单创建。
  3. 在ODC中增加我的工单功能,该功能只查询当前用户自己创建的工单和数据导出工单。
  4. SQLE工单中的【在ODC中查看表详情功能】,如果是多张表需要供用户选择跳转到ODC中某一张表的结构视图。
  5. 登陆页面需要可以选择进入不同的平台。

实现方案

  • 总体上,把DMS当成一个网关,DMS根据请求的路径,转发给ODC。具体实现: DMS通过echo框架代理ODC个人空间页面的全部请求,前端请求的地址是SQLE,SQLE内部请求ODC相关接口,之后再加工ODC的Resposne,最后返回给前端。
    • 如何实现SQLE用户点击SQL工作台跳转到ODC页面可以进入ODC工作台,并且看到的数据源受到DMS中账号管理的控制?
  1. 用户点击SQL工作台按钮
  2. 前端跳转到ODC页面
  3. 登陆ODC: 是否存在用户,存在则直接调用ODC登陆接口,不存在则创建用户。这里需要一张表odc_user_caches去存储dms用户和odc用户的关系。这样不需要去查询ODC的接口。
  4. ODC的创建用户接口有密码复杂度要求,可以内部设定一个固定的符合复杂度的密码: Dms11__,所有用户用同一个密码
  5. ODC创建用户之后需要修改是否第一次登陆的标志位,否则ODC不允许登陆。
  6. 创建数据源连接: 根据DMS当前用户SQL工作台的数据源权限以及账号管理中的授权,如果是ce版本那么直接使用数据源的账号密码进行连接,在ODC中创建该用户下的连接。并将当前连接保存到表odc_connection_caches。这样不需要去查询ODC的接口。
  7. 每次登陆SQL工作台的时候都去维护odc_user_caches,odc_connection_caches中的关系。

变更影响面

受影响的模块或功能

外部引用的潜在问题或风险

版本兼容性

测试建议

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions