BW维护操作:处理链的一切

文章目录

    • 1. 监控
      • 1.1 处理链
        • 1.1.1 处理链里都有啥
        • 1.1.2 处理链进程类型
        • 1.1.3 流处理链
        • 1.1.4 处理链构建
          • 1.1.4.1 计划和检查
          • 1.1.4.2 创建
          • 1.1.4.3 BI Monitor
          • 1.1.4.4 重复
          • 1.1.4.7 授权
      • 1.2 监控
        • 1.2.1 BW Job
        • 1.2.2 进程监控
        • 1.3 缓存监控 cache monitoring
    • 2. Query 运行时数据
      • 2.1 分析统计数据
      • 2.2 配置数据属性
      • 2.3 从RSDDSTATEVENTS看数据event

1. 监控

1.1 处理链

你要知道你创建了处理链之后,都发生了些啥。系统怎么知道要去跑处理链的?
后台job和event都是怎么个情况?

当你去创建处理链,每个链里头都得有个开始进程,然后所有其他的进程都会等待一个event告诉他们要执行。
那么这些event事件都得由一个开始进程去触发啊。
在这里插入图片描述
当你去schedule一个建好的处理链(是按schedule时间来,不是外部触发),那么后台会有一个schedule的job: BI_PROCESS_TRIGGER,等着你设置的开始时间。到时间后它就跑了。
然后去触发event去启动跟它连着的下一个进程(如果是连着好几个同步进程,就会用一个event直接触发几个进程)。
BW维护操作:处理链的一切_第1张图片
这个被event触发的进程在启动的时候,会直接触发下一个event:
BW维护操作:处理链的一切_第2张图片
在这个event触发的同时,后台会有相应进程的job。然后还会有个batch job不知道干啥的暂时。
BW维护操作:处理链的一切_第3张图片
于是就这样一步步的跑起来了。

1.1.1 处理链里都有啥

处理链的进程类型:

  1. 开始进程
  2. 应用进程
  3. 收集进程
    每个进程都可以触发一个或者多个event,这些event会触发接下来的event,也就是触发接下来的进程。

一个处理链进程包括:
BW维护操作:处理链的一切_第4张图片

  • 进程类型 : 比如加载进程,也就是它是干啥的,在这个表里:RSPROCESSTYPES能看到所有进程类型
    在这里插入图片描述
    BW维护操作:处理链的一切_第5张图片
  • 进程变量:也就是进程自己个是个啥名字。比如是个DTP进程,点进去就是这个DTP自己。
  • 进程实例:这个里面是进程的值。在DTP的加载进程里,实例就是个加载请求的ID。同时log也保存在进程实例下面。就是这个进程的实际执行过程。

1.1.2 处理链进程类型

处理链进程类型.

1.1.3 流处理链

就是特别频繁的启动处理链,把数据以实时形式加载到DSO里。这怎么可能呢?一条处理链万一要跑个一两个小时呢?
上一条在激活ADSO,下一条在往里面读数,这不就锁住了么?

处理链都是默认后台启动。
在处理链开始至结束这段时间内,第二次启动又来了,第三次启动也来了。倘若第一次,第二次,第三次都卡在一个进程上了?那咋办?

SAP说的是,如果第一次还在执行,那么第二次会等十分钟。如果10分钟没结束,第二次执行就会被取消。如果10分钟内结束,那就开始第二次。第三次也会等待。这不玩呢么。这样不是后台多个作业并行等待么。
所以这种状态呢,要用到上面一节的我的链接里写的,使用它的一个进程叫做“上一次运行是否仍处于活动状态” 。但是这个也不是治病良方。

因为就像现在的DTP加载,它会锁啊。
你处理链如果同步执行,但是它里面这个DTP进程它不允许并行啊。比如说主数据加载,你只能一个client一个client的顺着下来,不能并行不同的client同时加载到一个主数据里。原来行,现在BW4HANA明确了,不行。或者SAP还专门给了个解决方案的。
但是让所有主数据加载的DTP串行下来是最简单的。

如果一旦所有的DTP加载到一个主数据是串行的,那么处理链的第二次执行就等吧,第三次也等吧,后台所有的都无限期等。那么最后就是超时大家都取消。

如果处理链是流模式,那么这个下次的处理链啥时候执行呢?这个执行次数不固定,怎么灵活变通?
(以下看不懂,,,)
那么从队列中获取下一个流程的“worker”job的数量是灵活的。如果第二次、第三次或进一步执行到达当前进程,则再次启动该进程的请求只会写入队列。不再使用资源,系统也不会等待。当前流程完成后,“worker”作业将获得给定流程的所有这些启动请求,并只启动一次流程。流程链框架获取队列中的最后一个链执行,并将流程执行分配给它。这意味着第二个和第三个链执行将停止,下一个链执行将继续。

监控

流式处理的处理链使得以任何频率启动处理链成为可能,而不管执行链中的某个处理需要多长时间。在极端情况下,这将导致链中有很多进程,而链中也有很多并行执行。这意味着链中的所有流程都并行运行,而不管流程链中建模的前置/后续定义如何。然而,并行流程执行在相同数量的流程链运行中执行,这意味着保留了前置/后续关系:当运行的流程结束时,后续流程必须再次启动。

在流程链日志列表中,最近的运行显示为累积虚拟流程链运行。它的名称为%%RECENT%%,显示链中每个进程的最新执行情况,而不管它运行在哪个进程链中。因此,这个虚拟流程链运行反映了各种流程可以同时具有黄色状态,尽管它们是按一个序列建模的。虚拟日志显示在事务RSPCM中,并使用RSPCM中虚拟日志的状态。因此,在监视器中,您可以看到任何进程的最新状态,但不能看到最近(未完成)的进程链运行的状态。

通过流程链的流模式属性中的设置,可以指定要保留的日志数。如果进程链运行的数量超过此设置中指定的数量,则在创建新运行时会自动删除这些运行,从而确保数据库中的日志数在任何时候都不超过最大值。默认值为1440个日志。如果流程链每分钟启动一次,则此设置意味着日志将保留一天。
(说实话,上面我也没看)

那么实际上有哪些类型的处理链进程能用这个流处理呢?

  1. 触发:实时的HANA数据源,或者DOP数据源的DTP,开始进程
  2. 运行:ADSO的激活,ABAP程序,decision,收集进程,新请求管理的数据传输。或者远程数据传输。
  3. 不能用在流处理链中的:其他的进程,比如说删除和housekeeping的
    以下,是怎么触发流处理链。

BW维护操作:处理链的一切_第6张图片
我觉得,看情况是不是真需要实时吧。到时候再研究吧。

1.1.4 处理链构建

1.1.4.1 计划和检查

BW维护操作:处理链的一切_第7张图片
这里面有很多view,但是你直接双击一个处理链进去是它的激活状态,你锁住这个处理链,但是不能更改。这个就是个display模式。在这个模式下,如果你的处理链active版本和edit版本一致,那你就可以计划了。

如果你选了change模式,那你就能加一些变量进去了。

回到计划和检查视图。
这俩视图不一样的。
** 处理链菜单**

  1. 创建:开始进程
  2. 可以copy处理链到一个新链,然后做更改。这个很有用啊。
  3. reset to active : 这个是你刚改了这个链,或者保存了,但是还没激活呢,你可以返回到它上次激活状态。
    BW维护操作:处理链的一切_第8张图片
    属性菜单
  4. display components: 展示所在组folder
  5. document:创建个文档解释下
  6. 进程状态评估:不管进程错误与否都继续下去。这功能主要用于主链。子处理链是否运行完了不重要。这条子链没运行完,但是下条子链还是要运行的。这个对于警告的邮件发送没影响的。只是说下一条链要执行的。但是我觉得这个和那什么链执行下来不管正确与否都执行就重复了啊。
    BW维护操作:处理链的一切_第9张图片
  7. 轮询标志,控制分布式进程中主进程行为。系统资源会被占用。而且还得有个后台进程。
  8. 监控:默认设置是CCMS会自动激活对处理链的监控。但是你可以移除自动监控。
  9. 警告:如果处理链运行出错,你可以发送警告。
  10. 后台服务器:设置你想计划链的所有job的服务器。你不设置的话,后台管理自动在可用的服务器上分发这些job。你自己去看下自己系统有几个server。
  11. 处理客户端:如果你这个处理链是独立于客户端的。那你可以设定单独的客户端来执行链。只能在该客户端执行。如果不设置,就是所有client。但是还要考虑传输的时候,值只传输到这个client,还是有点麻烦的。不如直接传,然后不用嘛。
  12. 操作用户: 一般都是BWremote这个后台用户去执行处理链的。或者你改掉。就能看到谁执行的。你这个在SM37里面能看到谁计划了这个处理链。有个schedule的job,一般不改,因为BW后台用户有一切执行处理链的权限。
  13. job优先级:这里能改掉所有处理链的job的优先级。
  14. 重置前一次执行:如果你处理链运行失败了,有可能是上一次还在运行中。那么这个重置就会清空你这次运行出错的,这样下次运行就不会出错了。这个一般只适用于DTP。
  15. 流模式:就是更频繁。
    BW维护操作:处理链的一切_第10张图片
    视图菜单
    BW维护操作:处理链的一切_第11张图片
  16. Rotate旋转:横竖旋转。我实际上更喜欢这个。
  17. 导航打开:就是会有个全局导览小框框。
  18. 放大缩小:这个就Ctrl+鼠标滚轮。不用点它这个每次10%调整的。
  19. 调整:就是最适边框。按照右侧对话框大小,把处理链调整为完全浏览。
  20. 细节:展示技术名,处理类型。这里的收集器会展示多次。
  21. 从展示状态移除。一般谁用这个?
    执行菜单
    BW维护操作:处理链的一切_第12张图片
  22. 计划:依据开始进程的设置来在后台计划和执行处理链。也就是你处理链传输到生产系统之后,还得来点一下它,要不然人家处理链不知道要跑的:也是界面上的小钟。
  23. 从计划移除:取消计划,然后这个链就会不执行了。
  24. 同步执行:不在后台执行,在对话框执行。就会有个对话框进程一个一个的执行,每个进程都会有有个log入口,在这个log视图里展示处理链运行。每个处理进程都顺序执行。如果不能顺序执行,那就等待其他进程处理完了再进行。一般也不搞这个,除非你有小数据量的并行没串行好的链需要。
  25. 模拟执行:系统不写日志,不保存数据。
  26. 同步执行debug:debug处理链的执行。跟同步执行一样,如果有分布的进程,系统会等待其他进程处理完再继续。
  27. 立即停止当前执行:停止当前在运行中的处理链。如果你这个链运行时间超长,你要停掉重新配置,重新跑。当然如果你直接停掉了当前执行,它剩余的计划的job都会被取消。而且DTP也会收到指令立刻取消加载数据。也就是下面这个小叉叉。
    在这里插入图片描述
    GOTO菜单
    BW维护操作:处理链的一切_第13张图片
  28. 计划视图:切换展示和更改模式。
  29. 检查视图:系统检查链中是否有错误。
  30. 日志视图:查看日志
  31. 运行时数据: 展示链的当前运行时间和平均运行时间。
  32. 下次开始时间
  33. 周期链的监控:应该就是RSPCM
  34. job概览: 检查job的。
    Setting菜单
    BW维护操作:处理链的一切_第14张图片
  35. 维护处理链类型: 展示处理链维护
  36. 警告目录:就是表RSPC_ALERT_CAT
  37. 默认chain:让系统别瞎建议流程。
1.1.4.2 创建

创建之初,就得知道,在本地的文件是不能由处理链在后台加载的,只能放到application server上才行。
BW维护操作:处理链的一切_第15张图片
编辑进程的上下文菜单:

  1. 维护变量:可以进入进程更改界面。
  2. 更换变量:如果你要更换,不用删了再加,直接点这个去更换。
  3. 和…连接:和后续的关联。这个直接拖就行了。
  4. 查看计划job:得是这个处理链已经激活了被计划了,才能看它的计划job。
  5. 查看所有job:至少执行了一次处理链,你可以查看所有的计划job和所有的这条处理链运行过的job。
  6. 创建信息:发送成功或者失败信息到这条处理链的应用进程。这个也是要传输的,还是开发好了再传到生产上。这个邮件只能有文本,不能有附件。这个信息进程是直接分配附加到应用进程上的。消息发送会连着进程日志和状态一起。
    BW维护操作:处理链的一切_第16张图片
  7. Debug 循环:debug一个进程。决定延迟一个被触发的event和下一个进程开始中间的时长。这个进程可以在SM37和SM50里查看。具体我没有用过。
    BW维护操作:处理链的一切_第17张图片
  8. 跳过进程:不想跑这个了,就跳过。或者它暂时有错要修复啥的。
  9. 自动修复:这个我好像有一篇写过了:[自动修复]

如果一开始没有确定目标文件夹,也可以在属性里面选display component来改。
最后处理链建完了要有个check的操作。这个操作是在干啥呢?
系统是会基于你的链的结构(子链也会递归考虑)计算并行进程个数,然后和你的选定的服务器的后台进程数量做比较。如果你的链的属性里没有指定说那个服务器,那就会考虑所有可用的服务器的进程的综合。那么怎么看你有多少个application server呢?
先讲完,如果并行进程数比后台可用进程数还多。系统会高亮显示进程数太多的处理链的那一个level。然后会有一个warning给你。
最后没问题可以激活。
激活后就要去计划执行了,要不然不执行的。而且你更改后再传输也是要再schedule一遍的。
回到应用服务器:在SM51里看,可以看到所有当前系统的应用服务器实例。SM50里能看到应用服务器里的工作进程多少。
一个应用服务器提供的资源包括:内存,工作进程,分发器,gateway,网络沟通管理员。
对于一个application server,如果它和一个数据库服务器都安装在一个硬盘上,那么这个就叫中央系统架构,如果他俩不在一起,就叫分布式系统架构。
SAP的应用服务器实例用来处理任何用户请求,如果不止一个应用服务器实例呢,就会有个主实例,包括三个核心服务:message server,enqueue server, start service 还有其他一些服务:ABAP dispatcher, gataway和ICM。
这个主实例就叫做CI或者PAS central instance、primary application Server.

对于分布式系统架构,三个核心服务会被放在一个应用服务器实例(ABAP System Central Instance)就是ASCS里。
这个实例管理lock,交换message,执行负载均衡。这个ASCS里没有对话框进程。
BW维护操作:处理链的一切_第18张图片
MS: message server 不同分发器之间的沟通。
ES: enqueue server 锁表机制管理
GW: gateway 不同SAP系统或外部系统的沟通
ICM: Internet Communication Manager: 使用http,HTTPS或SMTP等网络协议与SAP对话。
ABAP dispatcher : 不同工作进程分发执行(对话,更新,后台批量等等)

1.1.4.3 BI Monitor

去看这个CCMS: Computing Center Management System
BW维护操作:处理链的一切_第19张图片
监控和操作SAP系统。对于处理链监控也是很好的。
去BI Monitor下面看。

1.1.4.4 重复

当一个chain被终止了,你要想再执行。
要么就是repair。要么是repeated.

1.1.4.7 授权

权限包括:是否能在一个处理链中执行特性操作
是否能够执行链里的一些进程
一般执行处理链的都是BW后台用户,这个后台用户自动有了处理所有BW流程类型的权限。

如果是个人跑。那么在管理进程这个分类下面。你得有S_RS_ADMWB这个授权对象。
要跑处理链,你得有S_RS_PC这个授权对象。
这里面是是否能展示,更改,执行,和log能否被删除等操作的具体规定了。

1.2 监控

1.2.1 BW Job

就是BW Modeling Tools里面的一个view。

1.2.2 进程监控

这个是在BWcockpit里的。我刚看了下,很好用啊。
能看到后台正在执行的进程。
还有失败的进程。
看失败进程的里面还能看到是否是同步执行的操作导致的冲突失败。比如说加载DTP请求和归档DSO同步进行,那就会冲突出错,边写进边读出的。这个比处理链监控好使的地方在于,处理链不能区分不同链里的冲突进程。

1.3 缓存监控 cache monitoring

RSRCACHE
下篇Query运行时数据及性能分析

2. Query 运行时数据

2.1 分析统计数据

2.2 配置数据属性

2.3 从RSDDSTATEVENTS看数据event

你可能感兴趣的:(BW4HANA,其他)