待处理数据的两种模型
2014-07-22 20:32
169 查看
在业务处理时,经常会存在待处理的业务数据,在处理这部分数据时,有如下的处理方式。
Worker模型:包含Worker处理类(Processor),调度处理框架,时间规则配置。
Worker处理类,待处理业务数据的处理类。
调度处理框架,根据时间配置的规则, 在指定的时间点内,调用worker处理类。
时间规则配置,设置worker处理类的启动时间以及频率。
优点:1.实现简单,现在有Spring和Quartz框架,直接配置好时间表达式之后以及处理器之后,就可以直接执行了。
2.各种Worker之间相互独立互补影响。
缺点:1.并行处理时(多Worker执行时),每个worker需要处理重复处理业务数据的问题,也就是并发的时候,会重复处理相同的数据。
2.并行处理时的性能要想获得并行数同样的效率就需要在worker里面进行算法优化处理。
3.每一种业务数据需要配置一个worker。
4.各种worker之间的性能不能共享,也就是多种worker各自管理各自的业务数据处理,即使有的worker空闲,也不能处理忙碌worker的数据。
任务(Task)模型:包括任务仓库,任务,任务处理类,任务管理器。
任务仓库,存储所有的任务。
任务,每一条待处理的数据生成一条任务数据,保存到任务仓库中,该任务保存待处理业务数据的主键。
任务处理类,根据任务中保存的主键,获取到业务数据,根据业务规则进行处理业务数据。
任务管理器,定期从任务仓库中获取到任务,根据任务的类型获取到任务的处理类进行处理任务。
优点:1.可以并行处理,任务管理器进行处理并发问题。
2.性能可以共享,任务之间也可以混合执行处理。
缺点:1.任务之间可能存在性能影响,也就是执行时间较长的任务长期占据了任务处理通道,导致别的任务处理较慢。
Worker模型:包含Worker处理类(Processor),调度处理框架,时间规则配置。
Worker处理类,待处理业务数据的处理类。
调度处理框架,根据时间配置的规则, 在指定的时间点内,调用worker处理类。
时间规则配置,设置worker处理类的启动时间以及频率。
优点:1.实现简单,现在有Spring和Quartz框架,直接配置好时间表达式之后以及处理器之后,就可以直接执行了。
2.各种Worker之间相互独立互补影响。
缺点:1.并行处理时(多Worker执行时),每个worker需要处理重复处理业务数据的问题,也就是并发的时候,会重复处理相同的数据。
2.并行处理时的性能要想获得并行数同样的效率就需要在worker里面进行算法优化处理。
3.每一种业务数据需要配置一个worker。
4.各种worker之间的性能不能共享,也就是多种worker各自管理各自的业务数据处理,即使有的worker空闲,也不能处理忙碌worker的数据。
任务(Task)模型:包括任务仓库,任务,任务处理类,任务管理器。
任务仓库,存储所有的任务。
任务,每一条待处理的数据生成一条任务数据,保存到任务仓库中,该任务保存待处理业务数据的主键。
任务处理类,根据任务中保存的主键,获取到业务数据,根据业务规则进行处理业务数据。
任务管理器,定期从任务仓库中获取到任务,根据任务的类型获取到任务的处理类进行处理任务。
优点:1.可以并行处理,任务管理器进行处理并发问题。
2.性能可以共享,任务之间也可以混合执行处理。
缺点:1.任务之间可能存在性能影响,也就是执行时间较长的任务长期占据了任务处理通道,导致别的任务处理较慢。
相关文章推荐
- 数据挖掘模型的两种特征
- 两种比较特殊的交叉数据报表处理
- Android事件处理的两种模型
- 大数据数据分析的大规模并行处理模型 Big Data Massive Parallel Processing(MPP) Model
- Android事件处理的两种模型
- 数据挖掘模型的两种特征
- editGrid提交json数据后两种jar包的处理方式net.sf.json.JSONObject与org.json.JSONObject
- Hadoop系列之二:大数据、大数据处理模型及MapReduce
- Android事件处理的两种模型
- 数据集成处理办法--生产者消费者模型处理
- Flex 3快速入门: 处理数据 定义数据模型
- 利用TESLA GPU和MATLAB实现大规模型数据并行处理
- 数据仓库中两种数据模型的分析比较
- Yii-数据模型-beforeSave保存数据前自动处理
- 数据挖掘模型的两种特征
- 数据挖掘模型的两种特征
- 处理模型——通过定义一个自定义的TypeWriter和TypeReader直接处理顶点位置数据
- sqlserver 处理输入的xml数据的两种方式
- Hadoop系列之二:大数据、大数据处理模型及MapReduce
- 流式数据处理的计算模型