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

声明:原创作品,转载时请注明文章来自SAP师太技术博客: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

时间: 2024-10-13 07:11:05

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

增量队列Delta Queue(RSA7)中的增量更新区Delta Update、增量重复区Delta Repetition

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4296586.html "增量更新Delta Update"区:存储的是至上次提取之后到时目前所有增量的数据:每次抽取之后(不管是从"增量更新Delta Update"区还是从"增量重复Delta Re

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

前言:如果你对rabbitmq基本概念都不懂,可以移步此篇博文查阅消息队列RabbitMQ 一.单发单收 二.工作队列Work Queue 三.发布/订阅 Publish/Subscribe 四.路由Routing 五.Topic类型的exchange 六.rabbitmq部分封装代码及装备工作 一.单发单收 在下图中,“ P”是我们的生产者,“ C”是我们的消费者.中间的框是一个队列-RabbitMQ代表使用者保留的消息缓冲区. 单发单收模式下:一发一收 发送端只需要创建队列,然后向队列发送消

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

#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *remindLabel; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view,

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

我理解的数据结构(三)-- 队列(Queue) 一.队列 队列是一种线性结构 相比数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,只能从另一端(队首)取出元素 队列是一种先进先出的数据结构(FIFO) 二.数组队列与循环队列 1. 数组队列 如果你有看过我之前的文章不要小看了数组或者栈,你就会发现,自己封装一个数组队列是如此的轻松加愉快! (1)先定义一个接口,接口中定义队列需要实现的方法 public interface Queue<E> { int getSize(); bo

C# 队列(Queue)

队列(Queue)代表了一个先进先出的对象集合. using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { Queue q = new Queue(); q.Enqueue('A'); q.Enqueue('M'); q.Enqueue('G'); q.Enqueue('W'); Console.Write

初学图论-Dijkstra单源最短路径算法基于优先级队列(Priority Queue)的实现

这一次,笔者使用了STL库中的优先级队列(Priority Queue)来完成Dijkstra算法中extract-min()语句(即从未选中的节点中选取一个距离原点s最小的点)的功能.由于优先级队列的插入.删除操作只需要logn的时间花费,因此降低了不少运行时间. 本文使用C++实现了这一基本算法.参考<算法导论>第24.3节. /**  * Dijkstra's Single Source Shortest Path Algorithm in C++  * Time Cost : O(Ml

队列(Queue)

队列(Queue) Queue: 先入先出(FIFO)的数据结构. offer,add区别: 一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝. 这时新的 offer 方法就可以起作用了.它不是对调用 add() 方法抛出 一个 unchecked 异常,而只是得到由 offer() 返回的 false. poll,remove区别: remove() 和 poll() 方法都是从队列中删除第一个元素(head).remove() 的行为与 Collection 接

从头认识java-15.6 队列(Queue)

这一章节我们来讨论一下队列(Queue). 1.什么是队列? 队列是一种特殊的线性表,特殊之处在于它仅仅同意在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样.队列是一种操作受限制的线性表. 2.特性 (1)元素是有序的 (2)元素是先进先出 3.java里面的实现类:Linkedlist和PriorityQueue,两者之间性能不存在区别,区别的地方是排序的行为. package com.ray.ch14; import java.util.LinkedLis

优先级队列(Priority Queue)

优先级队列(Priority Queue) 注:队列是一种特征为FIFO的数据结构,每次从队列中取出的是最早加入队列中的元素.但是,许多应用需要另一种队列,每次从队列中取出的应是具有最高优先权的元素,这种队列就是优先级队列(Priority Queue),也称为优先权队列. 1. 优先级队列的概念 1.1 优先级队列的定义 优先级队列是不同于先进先出队列的另一种队列.每次从队列中取出的是具有最高优先权的元素. 1.2 优先级队列的特点 优先级队列是0个或多个元素的集合,每个元素都有一个优先权或值