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. bcpow — 任意精度数字的乘方

    bcpow — 任意精度数字的乘方 说明 string bcpow ( string $left_operand , string $right_operand [, int $scale ] ) 左 ...

  2. 为delphi程序添加脚本功能,用脚本控制delphi程序

    使用微软的ActiveX Scripting技术,可以在应用程序中集成使用vbscript或这javascript脚本语言.在delphi中点击Component菜单的Import Activex C ...

  3. html标签中的 MIME 类型

    1.<script type="text/x-template">  MIME 类型 2.MIME类型是什么 : http://www.w3school.com.cn/ ...

  4. [bzoj3073] Journeys 题解(线段树优化建图)

    Description Seter建造了一个很大的星球,他准备建造N个国家和无数双向道路.N个国家很快建造好了,用1..N编号,但是他发现道路实在太多了,他要一条条建简直是不可能的!于是他以如下方式建 ...

  5. Java-Class-C:com.github.pagehelper.PageInfo

    ylbtech-Java-Class-C:com.github.pagehelper.PageInfo 1.返回顶部   2.返回顶部 1.1. import com.github.pagehelpe ...

  6. (转载)前端构建工具gulpjs的使用介绍及技巧

    本文转载自:https://www.cnblogs.com/2050/p/4198792.html gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API ...

  7. 卷积神经网络学习笔记(CNN)

    看了很多关于卷积神经网络的论文和资料 可是我发现一个问题,就是pooling会出现一个问题 我能找到的代码里面都是用的均值子采样,如果改成最大或最小,或P范数都会在学习训练的时候遇到不知道怎么处理的问 ...

  8. REST Client实际应用记录

    请求Content-Type为application/x-www-form-urlencoded 先来看一个完整示例: ############## ### qa问答 @msg="糖尿病患者 ...

  9. 深入分析Synchronized原理

    前言 记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决 ...

  10. C# String类常用操作

    1.string.Compare(s1,s2) 比较  按字母顺序后边的大于前边的 s1<s2 retrun -1 ;s1=s2 return 0; s1>s2 return1. Cons ...