Skip to content

Commit bb395bf

Browse files
authored
Merge pull request #28 from zqburde/fix
Add project and workflow doc.
2 parents 835fcd5 + 07dd8ec commit bb395bf

File tree

8 files changed

+175
-0
lines changed

8 files changed

+175
-0
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# DSS 工程设计
2+
3+
4+
5+
在实际的开发生产中,工程往往被用来管理开发一类数据应用,工程可以是一个实际的一类数据应用,包括工作流,单任务等,每个工作空间下的工程互相隔离。
6+
7+
8+
9+
## 1、架构设计
10+
11+
- DSS本身可以创建和管理工程。包括创建、查看、修改、删除等功能。同时DSS提供工程集成规范完成与外部组件的对接操作。
12+
- DSS的工程通过工程集成规范,与外部系统的工程(或同级别的实体)进行同步创建和互相绑定。
13+
- 外部系统通过工程集成规范,获取用户在DSS对应的工程,完成对底层实体的统一管理。
14+
- 外部系统通过工程集成规范,获取用户在DSS拥有的工程权限,进一步限制原生工程的操作权限。
15+
16+
![project](images\project.png)
17+
18+
19+
20+
### 2.1.1、工程创建
21+
22+
简要流程说明:创建DSS工程 》创建第三方应用工程 》保存工程与用户权限关系
23+
24+
流程图:
25+
26+
![创建工程流程图](images/project-create.png)
27+
28+
### 2.1.2、工程编辑
29+
30+
简要流程说明: 编辑用户权限关系 》编辑第三方工程信息 》编辑DSS工程基本信息
31+
32+
33+
34+
流程图:
35+
36+
![创建工程流程图](images/project-edit.png)
37+
38+
### 2.1.3、工程删除
39+
40+
简要流程说明:判断是否有删除权限 》删除第三方应用工程 》删除DSS工程
41+
42+
###
43+
44+
## 3、数据库表结构设计
45+
46+
```
47+
--dss工程基础信息表
48+
dss_project:
49+
id
50+
name
51+
source
52+
description
53+
user_id
54+
username
55+
workspace_id
56+
create_time
57+
create_by
58+
update_time
59+
update_by
60+
org_id
61+
visibility
62+
is_transfer
63+
initial_org_id
64+
isArchive
65+
pic
66+
star_num
67+
product
68+
application_area
69+
business
70+
is_personal
71+
create_by_str
72+
update_by_str
73+
dev_process
74+
orchestrator_mod
75+
visible
76+
77+
--dss工程与用户权限关系表
78+
dss_project_user:
79+
id
80+
project_id
81+
username
82+
workspace_id
83+
priv
84+
last_update_time
85+
86+
--第三方应用工程与dss工程关系表
87+
dss_appconn_project_relation:
88+
id
89+
project_id
90+
appconn_instance_id
91+
appconn_instance_project_id
92+
93+
```
94+
95+
96+
193 KB
Loading
79.3 KB
Loading
202 KB
Loading
45.5 KB
Loading
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
## 工作流发布设计
2+
3+
## 一、概述
4+
5+
在实际的生产应用中,开发中心负责对业务相关的工作流做调试,当调试完成之后,会把工作流发布到调度系统做定时批量调度作业,实现业务自动化。
6+
7+
### 二、工作流发布架构设计
8+
9+
工作流的发布是一个相对复杂的过程,其中涉及到工作流的导入、导出以及发布等功能。
10+
11+
##### 1、发布流程调用链路图:
12+
13+
![img](images/workflow-publish.png)
14+
15+
##### 2、重要步骤说明
16+
17+
- 导出:从开发中心(dev)导出,包括工作流和第三方节点导出。通过bml服务将生成的工作流json文件压缩成zip包上传到bml文件服务中心。
18+
- 导入:导入到生产中心(prod)。下载保存在bml文件服务中心的的zip文件,并对json文件进行解析,获取工作流编排信息,并保存到数据库。
19+
- 发布:将导入获取到的dss工作流编排信息转换成调度系统可用的工作流编排信息,压缩成zip包,发布到wtss调度系统。
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
## DSS工作流(workflow)架构设计
2+
3+
工作流(workflow):指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。通过使用工作流可以给数据开发工作带来极大的便利。
4+
5+
### 一、工作流架构
6+
7+
![工作流](images/workflow.png)
8+
9+
10+
11+
### 二、二级模块介绍
12+
13+
##### dss-workflow-server
14+
15+
工作流核心模块,包括工作流CRUD功能,工作流发布功能,工作流appconn节点的CRUD功能,工作流cs服务功能,以及PPC对外提供服务功能。
16+
17+
| 核心service | 核心功能 |
18+
| ------------------- | -------- |
19+
| DSSFlowService | 包含了工作流及子工作流CRUD,以及工作流版本管理等方法 |
20+
| WorkflowNodeService | 包含工作流节点CRUD、copy、import、export等方法 |
21+
| PublishService | 提供工作流发布相关功能 |
22+
| DSSWorkflowReceiver | PRC任务调用接收器 |
23+
| DSSWorkflowChooser | PRC任务调用选择器 |
24+
25+
##### dss-flow-execution-server
26+
27+
工作流执行模块,包含工作流执行的相关功能,包括工作流的实时执行、选中执行、失败重跑、工作流kill等功能。
28+
29+
##### dss-workflow-sdk
30+
31+
工作流工具包模块,对外提供工作流资源文件解析功能。
32+
33+
| 核心类 | 核心功能 |
34+
| ---------------- | -------------------------------------------- |
35+
| FlowToJsonParser | 用于将一个flow解析为DSS可以使用的DSSJsonFlow |
36+
| json2flow | 用于将工作流json解析为需要的工作流对象 |
37+
38+
##### dss-workflow-common
39+
40+
工作流基础公共模块,将公共实体类抽象出来,保存在此模块当中。
41+
42+
##### dss-linkis-node-execution
43+
44+
dss调用linkis执行节点模块,实现了linkis提供的任务执行相关接口。
45+
46+
| 核心类 | 核心功能 |
47+
| ----------------------- | ------------------------------------------------------------ |
48+
| LinkisNodeExecution | 包含任务运行、任务状态、任务结果、任务取消、任务日志等核心方法 |
49+
| LinkisExecutionListener | 监听任务执行情况 |
50+
| DefaultRetryHandler | 提供重试机制 |
51+
52+
##### dss-workflow-conversion-standard
53+
54+
工作流转换规范模块,定义了将DSS的工作流转换为其他外部应用可以使用的工作流的规范。
55+
56+
| 核心类 | 核心功能 |
57+
| ------------------------------------- | -------------- |
58+
| ProjectConversionIntegrationStandard | 工程转换规范 |
59+
| WorkflowConversionIntegrationStandard | 工作流转换规范 |
60+
311 KB
Loading

0 commit comments

Comments
 (0)