美文网首页
dolphinscheduler源码阅读api

dolphinscheduler源码阅读api

作者: 3bd3c1497272 | 来源:发表于2020-04-27 17:44 被阅读0次

    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.
    

    相关文章

      网友评论

          本文标题:dolphinscheduler源码阅读api

          本文链接:https://www.haomeiwen.com/subject/hquywhtx.html