Workflow设计模式指的什么?

写在前面

本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和文献引用请见100个问题搞定大数据理论体系

解答

我们将多个不同的处理模块连接在一起,最后得出一个自己需要结果的有向无环图(Directed Acyclic Graph/DAG),称为一个工作流系统Workflow System。

1. 复制模式
2. 过滤模式
3. 分离模式
4. 合并模式

在这里插入图片描述

补充

复制模式(Copier Pattern)

复制模式通常是将单个数据处理模块中的数据,完整地复制到两个或更多的数据处理模墺中,然后再由不同的数据处理模块进行处理。
工作流系统图通常如下图所示。
复制模式

过滤模式( Filter Pattern)

过滤模式的作用是过滤掉不符合特定条件的数据。
在数据集通过了这个数据处理模块后,数据集会缩減到只剩下符合条件的数据。工作流系统图通常如下图所示。
过滤模式

分离模式( Splitter Pattern)

如果你在处理数据集时并不想丟弃里面的任何数据,而是想把数据分类为不同的类别来进行处理时,你就需要用到分离模式来处理数据。它的工作流系統图通常如下图所示。
分离模式

合并模式( Joiner Pattern)

合并模式会将多个不同的数据集转換集中到一起,成为一个总数据集,然后将这个总的数据集放在一个工作流中进行处理。
合并模式

实践

问题

在一个航空预定系统中,我们需要处理用户注册、购买机票和出行前24小时的提醒等功能。在这整个过程中,系统的数据处理运用了哪几个设计模式呢?

解答

1.注册:合并模式(因为注册渠道可能会有手机号注册、邮箱注册、微信注册等等不同的渠道,所以需要合并) 
2.购买机票:过滤+合并(首先过滤出用户查找的航班机票信息、之后查找出符合条件的机票由于可能来自不同的渠道,所有需要合并后返回给用户)
3.提醒:复制+过滤+分离
过滤:根据时间、地点等因素过滤出需要给予提醒的用户and机票
复制:有可能需要对同一份数据(勾选多种提醒方式的用户)进行不同的处理(邮件通知or电话通知or短信通知) 
分离:将前面过滤出的用户进行分成3组,分别对应(邮件通知+电话通知+短信通知)
  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值