声明:原创作品,转载时请注明文章来自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. HDU 1828 Picture(线段树扫描线求周长)

    Picture Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  2. [转载] Windows + IIS + PHP 配置

    资源下载: 下载windwos版本的PHP:http://windows.php.net/download/ (我下载的是PHP5.4.9_VC9 x86 Non Thread Safe,下载地址:h ...

  3. cookbook学习第二弹

    1.5怎样实现一个按优先级排序的队列?并且在这个队列上面每次pop操作总是返回优先级最高的那个元素 带有双下划线的方法,会在需要被调用的位置自动被调用 带有单下划线的变量是私有变量 下面利用类heap ...

  4. *BigDecimal初识

    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处 理16位有效数.在实际应用中,需要对更大或者更小的数进 ...

  5. 真正的让iframe自适应高度 兼容多种浏览器随着窗口大小改变

    今天有朋友问到我关于"iframe自适应高度"的问题,原本以为是很简单的问题,没想到折腾了20分钟才搞定.期间遇到几个问题,要么是高度自适应了,但是当窗口改变时会出现滚动条.也就是 ...

  6. TCP_NODELAY

    启用TCP_NODELAY的情况下: 客户端程序C连接到服务器程序S: C仅接受数据,S仅发送数据 S循环调用send发送长度很小的数据包比如:10字节; 在C上用任务管理器查看到C的上行流量大约是下 ...

  7. HTTPS与强制门户

    强制门户 http://www.whatis.com.cn/word_5182.htm 强制网络门户(captive portal)是一个Web页面,它是使用公共访问网络的用户在被授予访问权限前必须访 ...

  8. 第一次尝试编写java

    昨晚手贱,不小心把环境变量path里面都东西全删除了 然后上百度搜了一波又一波 最后还是复制达达的 感动 然后还是不行,最后发现错误竟然是分号用了汉字的分号而不是英文的分号 这个问题在编写C语言也出现 ...

  9. java的客户端可以连接CPlus的服务端

    今天做的实验,用c++做的服务端,端口号为6000:用java做的客户端,IP为127.0.0.1,port为6000,结果双方可以连接上线: 贴代码: 服务端: #include <winso ...

  10. Java关于md5加密

    package com.mi.util; /** * md5+salt 长度为32的加密 * @author admin * */ public class MD5 { public static v ...