声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4296684.html
数据的更新(同步)有三种方式:V1、V2、V3
V1 - Synchronous update,同步更新,数据会立即更新到目的地(如应用数据表Application Tables、增强队列Delta-Queue),数据的更新动作是由用户数据保存(如点击保存按钮)动作触发,并且数据的更新动作与用户保存动作是在同一程序中完成(比如用户点击保存按钮后,要等到数据更新完成后,按钮可能才弹起来,在这一过程中用户不能操作界面上的其他功能)
V2 - Asynchronous update,异步更新,数据不会立即更新到目的地,数据更新动作由另一线程(或另一进程)来完成(但这一更新线程的启动是由用户保存动作所在程序来启动),所以用户点保存按钮后,就可以立即去做其他事情,界面不会无响应
V3 - Batch asynchronous update,批次异步更新,与V2类似,不过更新线程不是由用户保存动作所在程序来启动,而是一个后台Job在后台收集定时执行启动
 
数据同步到Delta-Queue中时,有三种Delta-Queue更新模式(Direct Delta、Queued Delta、Unserialized V3 Update),这三种更新模式中的数据更新(同步)过程就使用到了上面的V1、V2、V3三种更新方式一种或几种:
                                                                          目的地(数据需同步到哪里)
更新模式Update Mode Application Table Extraction Queue Update Table Delta-Queue
​Direct Delta V1 X(不支持,数据不经过此目的地) X(不支持,数据不经过此目的地) V1
Queued Delta V1 V1 X(不支持,数据不经过此目的地) V3
Unserialized V3 Update V1 X(不支持,数据不经过此目的地) V3 V3
 
 
 
数据上传到Delta Queue中有三种更新模式Update Mode:
1、Direct Delta:在用户点保存按钮后,除立即以V1更新方式保存应用数据表外,还立即以V1更新方式将增量数据直接(不需经过中间临时转存区,如Extracties Queue抽取队列、Update Table更新表)同步到Delta Queue中
2、Queued Delta:在用户点保存按钮后,除立即以V1更新方式保存应用数据表外,还会立即以V1更新方式将数据存储到Extraction Queue抽取队列,而Extracties Queue抽取队列中的数据会则以V3更新方式同步到Delta Queue中
3、Unserialized V3 Update:在用户点保存按钮后,立即以V1更新方式保存应用数据表,但不会立即更新到Update Table,而是通过V3方式同步(经测试,点保存按钮后数据会立即到Update Table表中,可以使用SM13来监控查看),并且数据从Update Table到Delta Queue也是采用V3更新方式同步,在整个同步过程中没有保证数据的先后顺序,所以最终Delta-Queue中的数据是无序的
 
注:这里虽然讲的是后勤模块,其实财务模块也一样,也是有Delta-Queue区的,也就是说不管是Push还是Pull都,增量数据都会先经过在Delta-Queue(注:财务模式数据源抽时还是直接从Application Table里抽增量的,只是在传到BW之前,会在Delta-Queue里保留一份,防止抽取失败后重抽)
 
 
(上图中数据从抽取队列Extraction Queue移到增量队列Delta Queue时,需要通过Job来完成,Job Control
   
 

后勤模块数据源的增量队列(Delta-Queue)三种更新模式(Update Mode)的更多相关文章

  1. 后勤数据源增量队列Delta Queue(RSA7)中的增量更新区Delta Update、增量重复区Delta Repetition

    声明:原创作品,转载时请注明文章来自SAP师太技术博客:( 博/客/园www.cnblogs.com)www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. Spring Boot 之 RabbitMQ 消息队列中间件的三种模式

    开门见山(文末附有消息队列的几个基本概念) 1.直接模式( Direct)模式 直白的说就是一对一,生产者对应唯一的消费者(当然同一个消费者可以开启多个服务). 虽然使用了自带的交换器(Exchang ...

  3. 消息队列rabbitmq的五种工作模式(go语言版本)

    前言:如果你对rabbitmq基本概念都不懂,可以移步此篇博文查阅消息队列RabbitMQ 一.单发单收 二.工作队列Work Queue 三.发布/订阅 Publish/Subscribe 四.路由 ...

  4. 通过GCD、NSOperationQueue队列、NSThread三种方法来创建多线程

    #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...

  5. RabbitMQ五种消息队列学习(三)–Work模式

    由于在实际应用中,简单队列模型无法解决很多实际问题,而且生产者和消费者是一对一的关系.模型较为单一.故引入Work模式. 结构图 一个生产者.多个消费者. 一个消息只能被一个消费者获取. 测试实现:  ...

  6. python笔记9 线程进程 threading多线程模块 GIL锁 multiprocessing多进程模块 同步锁Lock 队列queue IO模型

    线程与进程 进程 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及如何完成:数据集则是程序在执行过程中所需要 ...

  7. Python-Day9 Paramiko模块/进程/线程/RabbitMQ队列

    一.Paramiko模块 1.Paramiko安装 Python的目录下有个Scripts目录,cd到这个目录用这里面的pip命令(如果添加的环境变量可以在cmd直接输入命令):pip install ...

  8. python-Day3-set 集合-counter计数器-默认字典(defaultdict) -可命名元组(namedtuple)-有序字典(orderedDict)-双向队列(deque)--Queue单项队列--深浅拷贝---函数参数

    上节内容回顾:C语言为什么比起他语言块,因为C 会把代码变异成机器码Pyhton 的 .pyc文件是什么python 把.py文件编译成的.pyc文件是Python的字节码, 字符串本质是 字符数组, ...

  9. 我理解的数据结构(三)—— 队列(Queue)

    我理解的数据结构(三)-- 队列(Queue) 一.队列 队列是一种线性结构 相比数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,只能从另一端(队首)取出元素 队列是一种先进先出的数据结 ...

随机推荐

  1. C# 结构转化

    一.string 转 char[] string ss = "alsofly"; char[] cc = ss.ToCharArray(); 二.char[] 转 string c ...

  2. mvn打包idea项目

    首先 通过cmd进入docs 然后用cd命令进入项目文件夹所在路径 然后输入mvn -Dmaven.test.skip=true package//-Dmaven.test.skip=true跳过测试

  3. A trip through the Graphics Pipeline 2011_08_Pixel processing – “fork phase”

    In this part, I’ll be dealing with the first half of pixel processing: dispatch and actual pixel sha ...

  4. 新安装个Myeclipse,导入以前做的程序后程序里好多错,提示The import java.util cannot be resolved

    原因:这是由于你的项目buildpath不对原来的项目,比如采用了原先的MyEclipse自带的jdk (D:\myeclipse\XXXXXX)结果,你现在换了一个,原来的没了就导致了现在这种错误, ...

  5. ios-NSMutableAttributedString 更改文本字符串颜色、大小

    NSString * string = [NSString stringWithFormat:@"您的号码是%@号",[self backString:dic[@"ran ...

  6. Eclipse创建java web工程配置Tomacat和JDK 【转】

    在学习AJAX过程中,还用Intellij就有点老旧了,这是后装个Eclipse时,发现这个配置也很头疼,现在就叫你如何创建一个web工程,同时叫你配置Eclipse. 一.创建一个web工程 1.打 ...

  7. 关于echarts的疑问

    echarts-例子--待解决:模拟迁徙里面的 var planePath = 'path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.0 ...

  8. 能套用的tab栏切换

    效果: 在style.js文件里封装了一个Show函数,有4个参数,di(当前点击的按钮),num(按钮个数,也可以说是下面具体内容个数),divn(一个id前缀,这个例子里是ta,),active( ...

  9. curl 查看一个web站点的响应时间(rt)

    1. curl 查看web站点rt curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer} ...

  10. PythonDay02

    >三目运算符 简单的if---else---语句 result = 1234 if 1 > 2 else 4321 print(result) >集合 set集合,是一个无序且不重复 ...