|
|
|
@@ -243,106 +243,107 @@ public class WorkflowServiceImpl implements WorkflowService { |
|
|
|
List<Map<String, Object>> nodes = (List<Map<String, Object>>) dagMap.get("nodes"); |
|
|
|
for (Map<String, Object> node : nodes) { |
|
|
|
String componentName = (String) node.get("component_name"); |
|
|
|
Map<String, Object> taskInfo = (Map<String, Object>) node.get("task_info"); |
|
|
|
Map<String, Object> inParameters = (Map<String, Object>) node.get("in_parameters"); |
|
|
|
// 自定义执行 |
|
|
|
if ("self-command-execute".equals(componentName)) { |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow((String) node.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow((Map<String, Object>) taskInfo.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
} |
|
|
|
// 代码拉取组件 |
|
|
|
else if ("git-clone".equals(componentName)) { |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow((String) node.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow((Map<String, Object>) taskInfo.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
//保存代码-流水线关系 |
|
|
|
saveCodeWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveCodeWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
} |
|
|
|
// 模型训练 |
|
|
|
else if ("model-train".equals(componentName)) { |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow((String) node.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow((Map<String, Object>) taskInfo.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
//保存数据集-流水线关系 |
|
|
|
saveDatasetWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveDatasetWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
//保存模型-流水线关系 |
|
|
|
saveModelWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveModelWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
} |
|
|
|
// 分布式训练 |
|
|
|
else if ("distributed-model-train".equals(componentName)) { |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow((String) node.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow((Map<String, Object>) taskInfo.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
//保存数据集-流水线关系 |
|
|
|
saveDatasetWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveDatasetWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
//保存模型-流水线关系 |
|
|
|
saveModelWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveModelWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
} |
|
|
|
// 模型测试 |
|
|
|
else if ("model-evaluate".equals(componentName)) { |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow((String) node.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow((Map<String, Object>) taskInfo.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
//保存数据集-流水线关系 |
|
|
|
saveDatasetWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveDatasetWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
//保存模型-流水线关系 |
|
|
|
saveModelWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveModelWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
} |
|
|
|
// 数据预处理 |
|
|
|
else if ("general-data-process".equals(componentName)) { |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow((String) node.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow((Map<String, Object>) taskInfo.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
//保存数据集-流水线关系 |
|
|
|
saveDatasetWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveDatasetWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
} |
|
|
|
// 模型导出 |
|
|
|
else if ("model-export".equals(componentName)) { |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow((String) node.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow((Map<String, Object>) taskInfo.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
//保存模型-流水线关系 |
|
|
|
saveModelWorkFlow1((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveModelWorkFlow1(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
} |
|
|
|
// 数据集导出 |
|
|
|
else if ("dataset-export".equals(componentName)) { |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow((String) node.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow((Map<String, Object>) taskInfo.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
//保存数据集-流水线关系 |
|
|
|
saveDatasetWorkFlow1((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveDatasetWorkFlow1(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
} |
|
|
|
// 模型部署 |
|
|
|
else if ("model-deploy".equals(componentName)) { |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow((String) node.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow((Map<String, Object>) taskInfo.get("image"), workflow.getId(), workflow.getName()); |
|
|
|
//保存模型-流水线关系 |
|
|
|
saveModelWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveModelWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
//保存服务-流水线关系 |
|
|
|
saveServiceWorkFlow((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveServiceWorkFlow(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
//保存镜像-流水线关系 |
|
|
|
saveImageWorkFlow1((String) node.get("in_parameters"), workflow.getId(), workflow.getName()); |
|
|
|
saveImageWorkFlow1(inParameters, workflow.getId(), workflow.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void saveImageWorkFlow(String image, Long workflowId, String workflowName) throws Exception { |
|
|
|
public void saveImageWorkFlow(Map<String, Object> image, Long workflowId, String workflowName) throws Exception { |
|
|
|
try { |
|
|
|
String[] imageSplit = image.split(":"); |
|
|
|
String imageUrl = (String) image.get("url"); |
|
|
|
String[] imageSplit = imageUrl.split(":"); |
|
|
|
String tagName = imageSplit[1]; |
|
|
|
ImageVersion imageVersion = imageVersionDao.queryByUrl(image); |
|
|
|
ImageVersion imageVersion = imageVersionDao.queryByUrl(imageUrl); |
|
|
|
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf(imageVersion.getImageId()), tagName, Constant.Asset_Type_Image); |
|
|
|
} catch (Exception e) { |
|
|
|
throw new Exception("镜像参数有误:" + e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void saveImageWorkFlow1(String inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
public void saveImageWorkFlow1(Map<String, Object> inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
try { |
|
|
|
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters); |
|
|
|
Map<String, Object> image = (Map<String, Object>) paramMap.get("--image"); |
|
|
|
saveImageWorkFlow((String) image.get("value"), workflowId, workflowName); |
|
|
|
Map<String, Object> image = (Map<String, Object>) inParameters.get("--image"); |
|
|
|
saveImageWorkFlow(image, workflowId, workflowName); |
|
|
|
} catch (Exception e) { |
|
|
|
throw new Exception(e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void saveCodeWorkFlow(String inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
public void saveCodeWorkFlow(Map<String, Object> inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
try { |
|
|
|
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters); |
|
|
|
Map<String, Object> code_config = (Map<String, Object>) paramMap.get("--code_config"); |
|
|
|
Map<String, Object> code_config = (Map<String, Object>) inParameters.get("--code_config"); |
|
|
|
String value = (String) code_config.get("value"); |
|
|
|
Map<String, Object> valueMap = JsonUtils.jsonToMap(value); |
|
|
|
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((Integer) valueMap.get("id")), null, Constant.Asset_Type_Code); |
|
|
|
@@ -351,10 +352,9 @@ public class WorkflowServiceImpl implements WorkflowService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void saveDatasetWorkFlow(String inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
public void saveDatasetWorkFlow(Map<String, Object> inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
try { |
|
|
|
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters); |
|
|
|
Map<String, Object> dataset = (Map<String, Object>) paramMap.get("--dataset"); |
|
|
|
Map<String, Object> dataset = (Map<String, Object>) inParameters.get("--dataset"); |
|
|
|
String value = (String) dataset.get("value"); |
|
|
|
if (!value.startsWith("{{")) { |
|
|
|
Map<String, Object> valueMap = JsonUtils.jsonToMap(value); |
|
|
|
@@ -365,10 +365,9 @@ public class WorkflowServiceImpl implements WorkflowService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void saveDatasetWorkFlow1(String inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
public void saveDatasetWorkFlow1(Map<String, Object> inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
try { |
|
|
|
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters); |
|
|
|
Map<String, Object> dataset = (Map<String, Object>) paramMap.get("--dataset_id"); |
|
|
|
Map<String, Object> dataset = (Map<String, Object>) inParameters.get("--dataset_id"); |
|
|
|
String value = (String) dataset.get("value"); |
|
|
|
Map<String, Object> valueMap = JsonUtils.jsonToMap(value); |
|
|
|
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), null, Constant.Asset_Type_Dataset); |
|
|
|
@@ -377,10 +376,9 @@ public class WorkflowServiceImpl implements WorkflowService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void saveModelWorkFlow(String inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
public void saveModelWorkFlow(Map<String, Object> inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
try { |
|
|
|
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters); |
|
|
|
Map<String, Object> model = (Map<String, Object>) paramMap.get("--model_name"); |
|
|
|
Map<String, Object> model = (Map<String, Object>) inParameters.get("--model_name"); |
|
|
|
String value = (String) model.get("value"); |
|
|
|
if (StringUtils.isNotEmpty(value) && !value.startsWith("{{")) { |
|
|
|
Map<String, Object> valueMap = JsonUtils.jsonToMap(value); |
|
|
|
@@ -391,10 +389,9 @@ public class WorkflowServiceImpl implements WorkflowService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void saveModelWorkFlow1(String inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
public void saveModelWorkFlow1(Map<String, Object> inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
try { |
|
|
|
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters); |
|
|
|
Map<String, Object> model = (Map<String, Object>) paramMap.get("--model_id"); |
|
|
|
Map<String, Object> model = (Map<String, Object>) inParameters.get("--model_id"); |
|
|
|
String value = (String) model.get("value"); |
|
|
|
Map<String, Object> valueMap = JsonUtils.jsonToMap(value); |
|
|
|
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), null, Constant.Asset_Type_Model); |
|
|
|
@@ -403,10 +400,9 @@ public class WorkflowServiceImpl implements WorkflowService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void saveServiceWorkFlow(String inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
public void saveServiceWorkFlow(Map<String, Object> inParameters, Long workflowId, String workflowName) throws Exception { |
|
|
|
try { |
|
|
|
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters); |
|
|
|
Map<String, Object> service = (Map<String, Object>) paramMap.get("--service_name"); |
|
|
|
Map<String, Object> service = (Map<String, Object>) inParameters.get("--service_name"); |
|
|
|
String value = (String) service.get("value"); |
|
|
|
Map<String, Object> valueMap = JsonUtils.jsonToMap(value); |
|
|
|
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((Integer) valueMap.get("id")), null, Constant.Asset_Type_Service); |
|
|
|
|