DatwWorks终于升级2.0了,心情万分激动之余,又有一丝担忧。因为,没法再创建新的旧版工作流了。。。
新版抛弃了“工作流”这个概念,引入了“业务流程”和“解决方案”两个新的概念。于是,作为团队Leader,我花了很大的精力去钻研这两个概念到底该如何应用在我的实际业务中。

1.目的

能尽快应用DataWorks2.0的诸多给力新功能;
尽快解决掉由于无法新建旧版工作流引起的不便;

2.旧版工作流划分

任务节点一般分为以下几类:

  • 源数据同步节点
  • 单业务基础数据层统计节点
  • 跨业务基础数据层统计节点
  • 结果数据层统计节点
  • 结果数据同步节点

2.1 划分维度

旧版本的工作流,主要包含以下几个维度:

2.1.1 源数据库

  • 数据源是在哪个数据库中
  • 包括:源数据同步节点

2.1.2 产品线

  • 源数据属于哪个产品线
  • 包括:源数据同步节点 + 单业务基础数据层统计节点

2.1.3 目标系统

  • 结果数据是给哪个系统提供的(后台系统、BI、DataV、……)
  • 包括:结果数据层统计节点 + 结果数据同步节点

2.1.4 业务模块

  • 结果数据属于哪个业务模块(订单+投诉、订单+保险、商家+订单、……)
  • 包括:跨业务基础数据层统计节点 + 结果数据层统计节点 + 结果数据同步节点

2.1.5 运行周期

  • 每日、每周、每月运行
  • 包括:所有节点

2.1.6 输入/统计/输出

  • 包含的节点的类型,是属于“源数据迁入”、“统计任务”还是“结果数据迁出”
  • 包括:所有节点

2.2 其他划分原则

  1. 尽量减少每个工作流所依赖的上游工作流的个数;
  2. 能用一句话给整个工作流起个名字;
  3. 每个工作流内的节点数量不超过30个;

3. 旧版工作流与新版业务流程的区别

3.1 运行周期

  • 旧版工作流:
    整个工作流(包含多个内部节点),对应一个运行周期
  • 新版业务流程:
    每个节点,对应一个运行周期

3.2 依赖关系

  • 旧版工作流:

    1. 工作流依赖工作流;
    2. 内部节点依赖内部节点;
  • 新版业务流程:

    1. 业务流程之间,无依赖关系;
    2. 节点依赖节点,可以跨业务流程依赖,可以不同运行周期的任务间依赖。

3.3 节点的分类

  • 旧版工作流:
    无分类,只能通过内部节点的命名来区分
  • 新版业务流程:
    可以自动按节点类型分类(SQL节点、数据同步节点、机器学习节点、……)

3.4 工作流(业务流程)的分类

  • 旧版工作流:
    无分类,只能通过工作流的命名来区分
  • 新版业务流程:
    可以通过“解决方案”功能来分类(类似于给每个业务流程打标签),“业务流程”与“解决方案”是“多对多”的关系。

3.5 提交范围

  • 旧版工作流:
    整个工作流(包含多个内部节点)一起提交
  • 新版业务流程:
    单个任务节点提交。也支持业务流程中多个节点批量提交的方式。

3.6 重命名

  • 旧版工作流:

    1. 工作流不支持重命名;
    2. 内部节点不支持重命名;
  • 新版业务流程:

    1. 业务流程支持重命名;
    2. 节点支持重命名;

3.7 添加文件夹的位置

  • 旧版工作流:
    多级文件夹→工作流→内部节点
  • 新版业务流程:
    业务流程→数据集成/数据开发→多级文件夹→节点

4. 业务流程划分原则

最后,关于我的业务流程的划分原则,总结如下:

  1. 业务流程是完成一个最小业务的;
  2. 业务流程的数量可以稍微多一点儿,可以通过解决方案去查找;
  3. 每个业务流程里的节点最好不要太多,每个业务流程里能直观展示的就只有那么多;

希望大家也能早日用上DataWorks2.0的诸多给力功能!不用继续在旧版工作流中缝缝补补。

DataWorks2.0的“业务流程”与1.0的“工作流”的对比的更多相关文章

  1. PHP build notes - WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 3.0, min: 204, excluded: 3.0).

     WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 3.0, ...

  2. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14

    准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...

  3. centos 7.0 编译安装php 7.0.3

    php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...

  4. ASP.NET 5 已死 - 隆重介绍 ASP.NET Core 1.0 和 .NET Core 1.0

    还没正式登场就死了?不能怪我标题党,是大神Scott在他博客上这么说的,我只是翻译了一下. 在1月20号最新的ASP.NET Community Standup视频中,微软aspnet开发组的大帅哥 ...

  5. 在DirectShow中支持DXVA 2.0(Supporting DXVA 2.0 in DirectShow)

    这几天在做dxva2硬件加速,找不到什么资料,翻译了一下微软的两篇相关文档.并准备记录一下用ffmpeg实现dxva2,将在第三篇写到.这是第二篇.,英文原址:https://msdn.microso ...

  6. jackson2.5.0升级到2.7.0

    开发环境:spring-mvc4.1.7.jackson2.7.0 问题描述:项目中将原来的jackson2.5.0升级到2.7.0,导致服务调用出错. mvc相关的配置文件如下: <?xml ...

  7. 示例Oracle 10.2.0.1.0升级到10.2.0.4.0一例

    1.查看当前系统版本 [oracle@std Disk1]$ sqlplus '/as sysdba' SQL*Plus: Release - Production on Thu Jan :: Cop ...

  8. Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的Hadoop2.2.0开发环境

    原文地址:http://www.linuxidc.com/Linux/2014-11/109200.htm 图文详解Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的H ...

  9. ELK——安装 logstash 2.2.0、elasticsearch 2.2.0 和 Kibana 3.0

    本文内容 Elasticsearch logstash Kibana 参考资料 本文介绍安装 logstash 2.2.0 和 elasticsearch 2.2.0,操作系统环境版本是 CentOS ...

随机推荐

  1. 【JDK1.8】Java 栈实现方式

    看到一道面试题,问Java中栈的实现方式,记录下一些实现细节. API中有5个方法,分别是: boolean empty() E peek() E pop() E push() int search( ...

  2. ie中datepicker赋值不成功

    解决办法:删除placeholder即可 比如我代码如下:

  3. 转帖:maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)

    出处:http://www.cnblogs.com/whgk/p/7121336.html 前一节我们明白了maven是个什么玩意,这一节就来讲讲他的一个重要的应用场景,也就是通过maven将一个ss ...

  4. PHP ftp_exec() 函数

    定义和用法 ftp_exec() 函数请求在 FTP 服务器上执行一个程序或命令. 如果成功,该函数返回 TRUE.如果失败,则返回 FALSE. 语法 ftp_exec(ftp_connection ...

  5. Vuex 常规用法

    背景 很多时候我们已经熟悉了框架的运用,但是有时候就是忘了怎么用 所以这里想记下大部分的框架使用方法,方便使用的时候拷贝 一.安装 npm 方式 npm install vuex --save yar ...

  6. 【Codeforces Round #429 (Div. 2) C】Leha and Function

    [Link]:http://codeforces.com/contest/841/problem/C [Description] [Solution] 看到最大的和最小的对应,第二大的和第二小的对应. ...

  7. 树形dp+贪心+增量法+排序——cf1241E(好题)

    /* 给定一棵树,每个结点最多选和其相连的k条边,问使边权和最大的策略 dp[u][0|1]用来表示u没连父边|连了父边 时u子树下的最优解 如果u不和任意一个儿子连边,那么u下的收益是tot=sum ...

  8. Delphi 2010 XE 中使用 JSON 之 SuperObject68-6

    JSON之SuperObject(1):一直盼着Delphi能够直接支持"正则:Delphi2009刚来的时候,有了JSON,但:Delphi2010带了两个相关单元:DBXJS:我想不等了 ...

  9. JAVA学习之数组

    一.数组定义同一种类型数据的集合,其实数组就是一个容器数组定义格式:1.数据类型[] 变量名 = new 数据类型[数组长度] int[] arr = new int[5]; 2.数据类型[] 数组名 ...

  10. 关于cefsharp 获取js动态加载后的信息

    IFrame frame = null; var identifiers = Browser.GetBrowser().GetFrameIdentifiers(); foreach (var i in ...