企业数据仓库详细设计说明书-DSS详细设计分册_第1页
企业数据仓库详细设计说明书-DSS详细设计分册_第2页
企业数据仓库详细设计说明书-DSS详细设计分册_第3页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XXXX企业数据仓库概要设计说明书DSS详细设计分册(文档编码:OM-BIDW-C008 )(版本 )未经许可,不得以任何形式抄袭xxxx版权所有,翻板必究OM数据仓库短彩技术部数据组2009年3月文档变更历史日期版本作者修改内容评审 号变 更 控 制 号发布日期2009-04-27黄浩建立初始版本2009-04-271概述DSS ( Dispatch Supervisor System)调度监控系统贯穿了整个数据仓库,是 数据仓库数据处理的控制中心,是数据仓库中粒度建立的技术支撑, 它控制着数 据的流向,一切与数据处理有关的进程(存储过程)都将由DSS来调度启动。与其他业务型系统相比,前者的

2、绝大部分的进程都是由系统用户手工触发(比如点击按钮),系统显式启动对应的预设进程;而在数据仓库中,尤其是数据处理 过程中,绝大部分的进程(存储过程)都是由DSS隐式启动,不需要人工干预。1.1 DSS功能模块DSS系统主要包括调度模块和监控模块三大功能模块:调度、监控及用户权 限管理DS系统模块逻辑图调度:调度模块主要是完成调度数据的配置及调度的具体实施配置调度数据:录入调度所必须的配置数据,比如程序名、参数、依赖关系等,该功能模块通过WEB页面录入调度实施:调度实施是整个系统的核心模块。它根据调度配置数据完成“生成程序参数”、“判断程序执行条件”以及“执行程序”XXXX短彩技术部数据组三个步

3、骤的功能。监控:监控模块主要是负责对系统调度过程及结果的监控日常调度查询:包括查询“程序的完成情况”、“程序依赖数据”、“程序执行的条件”等信息监控例行报警:主要是将调度失败的程度显示出来,便于及时的处理失败的调度。用户权限管理:因为调度监控系统关系到整个数据仓库的运作,因此在 该模块中必须要加强权限的管理,一旦调度关系紊乱,整个系统可能会 崩溃。用户权限主要是控制“调度配置数据”模块中的权限1.2系统约定与假设调度对象调度的对象是存储过程。因为调度实施是由ORACLE作业结合ORACLE存 储过程来完成的,因此,我们将调度对象统一抽象为存储过程, 即任何的执行动 作都必须要封装在存储过程中。

4、事件我们约定,每个存储过程每执行一次,就完成了一次事件。周期在DSS系统中,任何的调度都是周期性的,而不是任意的。即每个存储过程都是按照固有周期来执行,每个周期执行的参数值会随着周期数而变化。比如以天为周期的存储过程,每天都会被调度执行,每天执行的参数值会不同。目前 DSS系统中的调度周期有:Day:天,以天为周期调度执行存储过程,每次执行的参数值为对应的 周期值Mon :月,以月为周期调度执行存储过程,每次执行的参数值为对应的 周期值Week:周,以周为周期调度执行存储过程,每次执行的参数值为对应的 周期值Qrt:季度,以季度为周期调度执行存储过程,每次执行的参数值为对应 的周期值表与存储过

5、程我们约定DW中的所有表都有对应的存储过程,命名上也必须要符合一定的规则:存储过程名=PRO_+表主体名。表主体名即完整的表名省略掉_yyyymmdd或_yyyymm等扩展字符串 一一对应。每个表有且仅有一个对应的存储过程,每个存储过程仅对应 唯个表对于通过加载数据的表,在调度配置数据中也必须要存在一条对应存储 过程的记录因此,在DSS中,表与存储过程在语义上是对等的。存储过程参数根据DW中数据存放的方式,存储过程存在两个参数:时间型参数和通道 型参数时间型参数。必选参数,任何存储过程必须要有时间型参数,按照存储过程执行周期的不同,参数可以是日期(YYYYMMDD )、月份(YYYYMM )、

6、周(WEEK)、季度(QRT)等通道型参数。可选参数,通道参数值是各个通道的拼音简写,而且必须 是大写,比如运博移动是 YBYD,由此类推依赖依赖是调度之所以存在的原因。在数据仓库中,粒度是其中核心之一,设计粒度的一个原因是使数据统计更 加高效化,也就是说当我们要获取某一个具体的统计指标的时候,我们其实并不是从最原始的数据开始的,我们往往是在某个中间粒度的物理表中统计的。这就构成了一个依赖,即要统计指标 A,必须要依赖中间粒度物理表B;也就是说只 有在表B的数据生成的时候,我们才能进行指标 A的统计。因此依赖有如下要 素:依赖配置。即必须要配置调度对象(存储过程)的依赖对象。其实,当 一个存储

7、过程完成的时候,其依赖的对象也就随之明确了。依赖完成。判断依赖对象是否完成,实际上就是判断存储过程指定参数 (或参数集)是否完成。依赖关系127.1时间依赖DW系统中的周期有:日、周、月、季,各个周期间的依赖关系如下图所示:满足每月30/31/28天条件|自身依赖满足每季度3个月条件月依赖日数据季依赖月数据时间依赖关系图从上图我们可以看出各个时间周期之间的依赖类型:同周期依赖:即主存储过程与依赖存储过程的周期相同,比如都为日、 月、周、季等。不同周期依赖:不同周期依赖必须满足大周期依赖小周期,且不能跨周 期(比如周跨月,因此月不能依赖周),因此不同周期的依赖类型有: 月依赖于日:当主存储过程的

8、周期为月,依赖存储过程的周期为日。 此时,判断依赖程序是否完成的时候,需要依赖存储必须满足当月 所有日(28293031)完成季依赖于月:当主存储过程的周期为季,依赖存储过程的周期为月。 此时,判断依赖程序是否完成的时候,需要依赖存储必须满足季度 下的3个月全部完成季依赖于日:当主存储过程的周期为季,依赖存储过程的周期为日。 此时,判断依赖程序是否完成的时候,需要依赖存储必须满足季度 下的3个月的所有日全部完成周依赖于日:当主存储过程的周期为周,依赖存储过程的周期为日。 此时,判断依赖程序是否完成的时候,需要依赖存储必须满足周下 的7日全部完成通道依赖与时间依赖相比,通道依赖要简单些,只是通道

9、间的对等依赖,不会存在其 他类型的依赖2调度2.1整体流程DSS整体流程图2.2调度数据配置数据录入调度的对象是存储过程,调度的实质就是执行存储过程;因此调度数据配置 实际上就是配置存储过程的信息,与调度有关的基本信息有:存储过程名称:唯一标识调度对象,其命名满足 PRO_+表主体名存储过程执行周期:即存储过程执行的频次,目前DSS支持的周期有“天”“周”“月” “季”状态:标识存储过程的状态,0:表示存储过程处于失效状态,即不再调度该存储过程参数:参数分必选(时间)参数和可选(通道)参数两种类型。时间参数格式为YYYYMM|WEEK|QRTDD,其中丫丫丫丫代表年份,MM代表月份,WEEK代

10、表周(两位),QRT代表季度(两位),DD为可选 项,代表天;时间参数的读取必须要结合“存储过程执行周期”,比如参数值为“ 200901 ”可以代表三种含义:2009年1月份、2009年第一 季度及2009年第一周;而如果周期确定,参数值业就确定了,比如如 果周期为周,则200901代表2009年第一周依赖程序:该项是多选的,即一个主存储过程可以依赖多个存储过程,这些依赖存储过程是在编写主存储过程的时候就已经确定依赖周期:存储过程的执行周期与依赖周期两者之间构成了时间依赖关系,具体的参见调度配置数据关系到整个DSS系统的运作,因为DSS实施调度就是根 据上面的配置数据项进行的,因此如果配置数据

11、紊乱,则会导致整个DSS系统崩溃。配置数据查询数据查询需要提供对录入数据的全信息查询,包括录入的所有信息。2.3调度实施功能描述调度实施是DSS系统的核心,DW中的所有存储过程的运行都需要由 DSS 来调度,DSS实施的实质就是:在什么时间运行什么存储过程?而运行一个存储 过程就需要要有参数值,因此调度实施模块大致可以分为三大子模块: 生成参数模块,主要完成存储过程执行参数的动态生成依赖判断模块,主要判断主存储过程所依赖的存储过程在依赖周期下是 否已经完成?存储过程执行模块,主要是从执行队列里面读取执行命令,并执行存储 过程生成参数2.3.2.1 概述在DSS系统中,所有调度对象(存储过程)的

12、参数都是动态生成的,即存 储过程的执行参数值不是一致性生成的 (静态),而是在执行前动态生成参数的, 这样设计是基于以下考虑:在DSS系统中,默认每个存储过程都至少存在时间周期参数,而且某些存储过程也会存在通道参数,时间周期参数可以根据执行周期一次性生 成,但是通道参数会根据通道的实际情况而变化,因此为统一起见,所 有的参数(时间周期参数和通道参数)都由系统动态生成周期性是DSS系统的第一要素,即任何调度对象(存储过程)都是按照 一定的周期来调度执行的。但是由于不可预计的原因,会导致某个周期 值执行失败,这样就不能简单的用系统当前时间(或格式化)作为存储 过程的执行参数。2.322生成参数流程

13、开始循环读取通道参数值读取程序参数信息循环生成时间参数值+1是否大于当前日期读取最大日期to+i.通道参数是否为空读取完成最大日期循环生成首参数值循环读取第二参数值生成执仃参数列表程序名 首参数值 第二参数值 执行状态退出依赖判断2.3.3.1 概述在DW系统中,粒度设计为数据共享提供了数据支持,而依赖则为数据共 享提供了技术支撑。首先,DSS调度对象执行结果是将数据保存在对应的物理表中, 既存储过程 同一个参数值只要执行一次;如果其他存储过程需要调用该存储过程, 其实是调 用该存储过程对应表中的数据,而不是执行存储过程。这样就会存在一个问题:DSS如何知道访问的物理表的数据是否已经生成 了?

14、比如执行存储过程B (参数为20090301)需要访表A中20090301的数据, 此时,执行存储过程B (参数为20090301)的先决条件之一就是表 A对应的存 储过程A (参数为20090301)已经成功执行。依赖判断模块的功能就是获取主存储过程所依赖的存储过程在依赖周期下 是否已经成功完成。233.2主程序依赖判断主程序依赖判断屛获取程序目身执仃周期查询月执行情 况:0未完成, 其它标示完成的 天数:匕较执行周期 与查询周期否吉否有通 道参数有是否指 定通道指定通道查询 日执行情况:0 未完成,其它 标示指定通道 完成的天数断时间 周期参数错误吉否有通 道参数查询日执行情况:- 0未完

15、成,1 :完成所有通道查询月执行情况:0未完成,其它标示完成的通道个数(通道数*天数)否有通道参数查询月执行情况:-1未完成,0 :完成否指定通道指定通道查询日执 行情况:0未完 成,1:完成是否:指定通道查询月 执行情况:-1未 完成,0 :完成所有通道查询日执行情况:0未完成,其它标示完成的通道个数所有通道查询日执行情况:0未完成,其它标示完成的通道个数判断程序是否完成2.333判断程序是否完成执行存储过程在经过了 “生成参数”、“依赖判断”后,存储过程的执行命令串基本上已经 形成。执行存储过程模块的内容就是从执行队列里面读取执行相关数据,拼凑成命令字符串,然后执行该命令字符串,并更新相关

16、的状态。在目前的DSS系统中,只有一个执行队列,在理想的情况下,执行是串行 的。但是由于执行存储过程JOB是周期性扫描执行队列,这样就会存在一个 job 还没有执行完,另外一个job已经启动,这样就可能会造成进程堵塞、CPU超负 荷的后果3监控调度系统关系到整个数据仓库系统的正常运作, 因此必须要提供一套完备的 监控系统对其进行实时的全方位的掌控,以便对异常调度做出及时的调整修正。整个监控模块由WEB页面支撑,主要完成“日常调度查询”及“调度异常 报警”两个功能。3.1日常调度查询日常调度查询包括:执行日志查询。输入:程序名(或编号),如果不输入,则显式全部日志数据 日期参数值,如果不输入日期

17、参数,则显式近半年的日志 通道参数值,如果有通道参数,则输入通道参数 执行状态,下拉列表:成功、失败、成功后被覆盖输出:程序编号、程序名、程序作者、日期参数、通道参数、执行开始 时间、执行结束时间、执行状态执行队列查询输入:程序名(或编号),如果不输入,则显式全部日志数据 日期参数值,如果不输入日期参数,则显式近半年的日志 通道参数值,如果有通道参数,则输入通道参数 执行状态,下拉列表:已执行、未执行、执行中 依赖状态,下拉列表:满足依赖,不满足依赖输出:程序编号、程序名、程序作者、日期参数、通道参数、执行状态、 依赖状态 执行进度查询输入:查询方式。下拉列表:程序名、程序编号XXXX短彩技术

18、部数据组程序名(或编号),必填项,与“查询方式”结合 日期参数值,必填项通道参数值,可选项查询周期,下拉列表,默认值为程序的执行周期输出:如果查询结果为“完成”,则显示一条记录,否则显示各个依赖 存储过程的完成情况。3.2调度异常报警失败异常报警显示所有执行失败的日志输入:开始时间结束时间存储过程作者失败原因输出:程序编号、程序名称、程序作者、失败原因时长异常报警显示执行时间超过一定时长的日志输入:开始时间结束时间存储过程作者执行时长执行状态输出:程序编号、程序名称、程序作者、执行开始时间、执行结束时间、 执行状态延时异常报警显示延时而未执行的程序信息输入:延时时长,单位为天输出:程序编号、程序名称、程序作者、依赖程序名称、程序周期4用户权限管理4.1概述权限管理逻辑图如上图所示,DSS系统用户用按权限分两类:管理员用户、普通用户。在权限管理上分四大权限模块:用户管理、数据查询、修改数据、录入数据4.2权限管理用户管理用户管理主要包括:新增用户。添加新的普通用户冻结用户。将正常用户置为“冻结”状态,即使用户不可用删除用户。删除正使用的用户更改用户。修改普通用户信息,包括密码重置等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论