dolphinscheduler源码阅读api

AccessTokenController 主要是对用户的令牌进程操作的类,操作的数据库表为 t_ds_access_token,对应的前台页面为 令牌管理

 1.生成token    通过userid + 过期时间 + 当前时间 MD5加密串
 2.创建令牌  入库操作
 3.用户token列表查询   自带搜索跨,分页搜索  需要关联t_ds_user表关联用户名称
 4.通过用户id删除token   简单的数据库delete操作
 5.通过ID来update token

AlertGroupController 对应数据库表t_ds_alertgroup,对应的前台页面是告警组管理

 **t_ds_relation_user_alertgroup 是t_ds_alertgroup和t_ds_user的中间表**
 1.创建告警组
 2.查询告警组列表
 3.分页查询告警组列表
 4.通过id更新单条告警组
 5.删除告警组必须删除2个表中的相关数据   t_ds_relation_user_alertgroup  and   t_ds_alertgroup
 6.验证告警组是否存在
 7.授权用户  一个告警用户组下可以有多个用户  一个用户可以在多个告警组下

DataSourceController 对应的数据库表为t_ds_datasource 对应的前台页面为数据源中心

 ** t_ds_relation_datasource_user 是 t_ds_datasource 与 t_da_user 的中间表**
 1.创建数据源  两步  第一步拼接ConnectionParams参数 ,第二部入库
 2.更新数据源  同上
 3.通过id查询数据源详细信息  需要解析ConnectionParams参数
 4.通过数据源类型来查看数据源列表
 5.通过搜索条件分页查询数据源列表信息
 6.测试数据源连接是否成功
 7. 等等

LoginController 对应的t_ds_session 和t_ds_user

 1.登录验证
 2.退出   delete session

MonitorController对应的是监控中心下的服务管理

 ** 这里zk节点下应该还需要保存master or worker节点的cpu 内存占用等信息 **
 1.获取所有节点的master的指标数据
 2.获取所有节点的worker的指标数据
 3.获取所有zk节点的指标数据
 4.获取服务依赖的mysql数据的指标数据

服务器的指标信息是master or worker节点在通过心跳线程来定时的将自己所在的服务器指标信息上传给zk的

ProcessDefinitionController 指流程定义,对应表t_ds_process_definition

对应的前台页面是项目管理下的工作流定义
1.创建流程定义
2.更新流程定义
3.验证流程定义名称唯一
4.release 流程定义 也就是上线or下线
5.通过id来查看流程定义
6.查询流程定义列表
7.分页查询流程定义列表
8.查看流程定义的DAG
9.获取指定流程定义下的TaskNode列表
10.通过id删除流程定义
11.到处流程定义

ProcessInstanceController指流程实例,对应的表为t_ds_process_instance,

  执行一个流程定义运行就会产生一条流程实例数据,根据节点的不同,一个流程实例可能够包含多个taskinstance
 1.分页查询流程实例列表
 2.通过process_instance_id 来获取所有的task_instance list
 3.更新流程实例对象
 4.通过id来查看流程实例
 5.通过id删除流程实例      这个也同时要删除taskqueue中的流程实例对象
 6.view-variables 这个接口的用处暂时没懂
 7.view-gantt 这个接口暂时也没找到用处

ProjectController指项目管理,对应的表t_ds_project,对应的前台页面是项目管理页面

 1.创建一个工程project   直接入库
 2.更新工程project
 3.通过id查找工程
 4.分页获取工程列表
 5.通过id删除工程,这个只可以工程下没有流程定义的时候进程删除
 6.查找授权的工程or un授权的工程
 7.流程定义的导入  ---- 这个不合理,应该移动到流程定义的conttoller中
 8.查询所有的工程量列表

QueueController 指安全中心下的队列管理,对应的表是t_ds_queue,对应的前端页面是队列管理

 1.查询队列列表   
 2.分页查询队列列表
 3.创建队列
 4.更新队列
 5.校验队列和队列名称

ResourcesController 指的是资源中心,对应的表是t_ds_resources和t_ds_udfs,对应的前台页面是资源管理

 ** 资源的管理必须依赖于hdfs,因此在部署api的服务器中需要配置hadoop的环境变量 **
 1.创建资源   a 验证hdfs资源  b insert 数据库表   c 上传文件到hdfs上
 2.更新资源    同上
 3.查询资源列表
 4.分页查询资源列表
 5.删除资源   包括删除表,删除user对应的资源表   删除保存在hdfs上的数据
 6..   这个中的处理逻辑差不多都是  元数据皮存在数据库中,文件存在hdfs上

SchedulerController 对应的表是t_ds_schedules,

 1.创建调度
 2.更新调度
 3.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容