银行卡作业调度与监控管理系统的改进方案_第1页
银行卡作业调度与监控管理系统的改进方案_第2页
银行卡作业调度与监控管理系统的改进方案_第3页
银行卡作业调度与监控管理系统的改进方案_第4页
银行卡作业调度与监控管理系统的改进方案_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、银行卡统计分析系统银行卡统计分析系统调度系统的改进方案调度系统的改进方案文档信息文档信息编写者编写日期审核者审核日期批准人批准日期变更历史变更历史日期日期变更描述变更描述批准批准文档资料分发文档资料分发姓名姓名职位职位机构机构目目 录录1 1概述概述.11.1目的.11.2预期的读者和阅读建议.11.3文档约定.11.4参考文献.12 2改进方案改进方案.22.1背景.22.2目标.22.3术语.22.4改造思路.32.4.1模型表结构的调整 .32.4.2计算运行逻辑 .52.4.3处理逻辑 .52.4.4伪代码实现描述 .62.5结束语.7第 1 页1 1概述概述1.11.1 目的目的1.

2、21.2 预期的读者和阅读建议预期的读者和阅读建议1.31.3 文档约定文档约定1.41.4 参考文献参考文献第 2 页2 2改进方案改进方案2.12.1 背景背景 目前的调度系统虽然功能强大,但是在处理模式上只有两种模式包括每天运行或不运行等,很难适应现代企业的数据处理。2.22.2 目标目标一、现代调度系统除了每天不运行或运行作业外,还能处理年初末、月初末、周末、旬、半年初末作业等,系统可以自定义。二、不影响白天客户访问,ETL 分时段运行2.32.3 术语术语1、每天处理(every day running,以下简称 RRR):表示此作业每天运行;2、指定月的某日处理(special d

3、ay running,以下简称 nnR,nn 是数字):表示此作业在 2-27(大月包含 28、29、30,小月包含 28、29,闰月包含 28)日中的指定日运行;3、周六处理(Saturday running,以下简称 W6R):表示此作业在每周六运行;4、周日处理(Sunday running, 以下简称 W7R): 表示此作业在每周日运行;5、周末处理(Saturday& Sunday running, 以下简称 WER):表示此作业在每周六、日运行;6、上旬初处理(early start-month running,以下简称 EMS): 表示此作业在每上旬的第一天运行;7、上旬

4、末处理(early end-month running,以下简称 EME): 表示此作业在每上旬的最末一天运行;8、中旬初处理(middle start-month running,以下简称 MMS): 表示此作业在每中旬的第一天运行;9、中旬末处理(middle end-month running,以下简称 MME): 表示此作业在每中旬的最末一天运行;10、下旬初处理(last start-month running,以下简称 LMS): 表示此作业在每下旬的第一天运行;11、下旬末处理(last end-month running,以下简称 LME): 表示此作业在每下旬的最末一天运行;

5、12、旬初处理(ten-days start-month running,以下简称 TMS): 表示此作业在每旬的第一天运行;13、旬末处理(ten-days end-month running,以下简称 TME): 表示此作业在每旬的最末一天运行;第 3 页14、月初处理(start-month running,以下简称 MSR): 表示此作业在每月的第一天运行;15、月末处理(end-month running,以下简称 MER): 表示此作业在每月的最末一天运行;16、上半年末处理(early half end-year running,以下简称 EHE): 表示此作业在 06月 30

6、日运行;17、下半年初处理(last half start-year running,以下简称 LHS): 表示此作业在07 月 1 日运行;18、年初处理(start-year running,以下简称 YSR): 表示此作业在 01 月 01 日运行;19、年末处理(end-year running,以下简称 YER): 表示此作业在 12 月 31 日运行;20、季末处理(end-quarter running,以下简称 QER): 表示此作业在 3 月 31 日、6月 30 日、9 月 30 日、12 月 31 日运行;2.42.4 改造思路改造思路2.4.12.4.1模型表结构的调整

7、模型表结构的调整2.4.1.12.4.1.1 解决某天运行的问题解决某天运行的问题在原有的调度系统模型中 job 表增加一个字段proc_mode char (100) not null, -处理模式此字段包含了RRR、nnR、W6R、W7R、WER、EMS、EME、MMS、MME、LMS、LME、TMS、TME、MSR、MER、EHE、LHS、YSR、YER、QER 的任意组合,譬如: 1、proc_mode=“24R,YER”:表示在每月的 24 日运行,或者在年末运行; 2、proc_mode=“RRR”:表示在每天运行; 3、proc_mode=“YSR,MER”:表示在 01 月 0

8、1 日运行,或者在每月末运行;2.4.1.22.4.1.2 解决某时段运行的问题解决某时段运行的问题 在原有的调度系统模型中,node_info 表增加一个字段run_phrase char (100) not null ,运行时段 内容可表述为:0000-0900;1640-2359 描述在 0 点中到早上 9 点,或下午 16 点 40 分到 23 点 59 分这个时段对应此节点是可以允许运行的。每段用;分隔,区间用-分隔。 在 ReleaseQue 函数中增加一段程序控制: if (nSucFlg =1) /*成功*/ /*EXEC SQL SELECT parall_num , use

9、d_parall_num INTO :nParallNum,:nUsedParallNum第 4 页 FROM node_info WHERE node_id=:szNodeId;*/ EXEC SQL SELECT parall_num , used_parall_num,run_phrase INTO :nParallNum,:nUsedParallNum,:szRunPhrase FROM node_info WHERE node_id=:szNodeId; if ( nUsedParallNum = nParallNum ) PrintLogX(4,pszLogFileName,%-s

10、 szNodeId%-s已用的并发数%-d已=节点总并发数%-d,放弃, ReleaseQue,szNodeId,nUsedParallNum , nParallNum); break;/*进入到下一个节点的轮训*/ if ( PermStart(szRunPhrase,pszLogFileName) !=0) PrintLogX(4,pszLogFileName,%-s 此时段,szNodeId%-s不适合运行,选择放弃, ReleaseQue,szNodeId); break;/*进入到下一个节点的轮训*/ 2.4.1.32.4.1.3 在周六、周日在周六、周日 2424 时时段全部允许运

11、行问题时时段全部允许运行问题 在原有的调度系统模型中,node_info 表增加一个字段week_run_mode char (1) not null ,周末 24 小时允许运行模式 内容可表述为:1-启用 24 小时运行模式,其余不允许 处理逻辑:优先判定 week_run_mode 的运行模式,如果是周末,采用 24 小时运行模式,则不需判定。如果不是周末或者不是 24 小时运行模式,则判定 run_prhase。 2.4.1.42.4.1.4 是否起用运行模式问题是否起用运行模式问题 在原有的调度系统模型中,node_info 表增加一个字段run_mode_flg char (1) n

12、ot null ,是否起用运行模式 内容可表述为:1-起用运行模式,其余不允许 处理逻辑:优先判定 run_mode_flg 的起用,如果为1则再优先判定week_run_mode 的运行模式,如果是周末,采用 24 小时运行模式,则不需判定。如果不是周末或者不是 24 小时运行模式,则判定 run_prhase;否则其他模式无效 第 5 页2.4.22.4.2计算运行逻辑计算运行逻辑 在下图中,如果 B1 标识为 B1(0)或者!B1(1,MER)分别表示不运行或者不在每月末不运行。 而实际运行图则去掉 A1B1,B1C1,B1C2 边,增加 A1C1,A1C2 边的联接。 原来 A1 作业

13、运行完后,则运行 B1 作业,等 B1 作业运行完后,再运行 C1 作业,并把 C2 作业置成可运行状态;C2 等待 B2 作业运行完后,再运行。实际运行图则原来 A1 作业运行完后,则运行运行 C1 作业,并把 C2 作业置成可运行状态; C2 等待 B2 作业运行完后,再运行。实际运行图如下图示:2.4.32.4.3处理逻辑处理逻辑1、保留 B1 的父作业 A1;2、保留 B1 的作业 C1,C23、利用 A1 与 C1、C2 的的笛卡积关系,生成 A1C1,A1C2 的联接依赖边;A1A2B1B2C1C2A1A2B2C1C2第 6 页2.4.42.4.4伪代码实现描述伪代码实现描述 1、

14、从 job 的每一个作业查找运行标志为1的作业,抽取两个标志 run_flag和 proc_mode. DECLARE SQLTAG select node_id,job_id,run_flag,proc_mode from job where run_flag=1(声明游标) FETCH SQLTAG into :szNode_Id,:szJob_id,:szRun_Flag,szProc_Mode(获取每个作业) 2、计算调度日期 exec_date,生成符合 19 个处理模式(除 RRR,nnR 标志外)内符合条件的标志 current_proc_mode;在 proc_mode 中查找

15、RRR或nnR或current_proc_mode. nExec_Flag=Chk_Proc_Mode(szExec_Date,szProc_Mode) 如果 nExec_Flag=1,则在调度为 exec_date 这个日期,此作业运行,否则不运行; 3、如果存在,则把 job_relation 表中的关系链放入到 job_rel_status 中。从job 选取下一条,转第一步,直到结束。 如果 nExec_Flag=1,然后 Insert into job_rel_status (node_id,job_id,up_node_id,up_job_id,proc_status,up_pro

16、c_status) select node_id,job_id,up_node_id,up_job_id,N,N from job_relationwhere node_id=:szNode_Id and job_id=:szJob_Id 4、准备重建依赖关系。从 job 的每一个作业查找运行标志为0 (不运行)的作业,抽取 1 个标志 run_flag.主要目的,查找不运行作业,以便剔除从第 3 步获得不运行的父亲作业。 DECLARE SQLTAG1 select node_id,job_id,run_flag from job where run_flag=0(声明游标) FETCH S

17、QLTAG into :szNode_Id,:szJob_id,:szRun_Flag(获取每个作业) 5、以不运行作业为基,在 job_relation 表中保留此作业的父亲作业。放入父亲队列 ParentList 中; DECLARE SQLTAG2 select up_node_id,up_job_id from job_relation where node_id=:szNode_Id and job_id=:szJob_Id(声明游标) FETCH SQLTAG2 into :szUp_Node_Id,:szUp_Job_id(获取每个作业) ParentList=ParentAdd

18、(szUp_Node_Id,szUp_Job_Id) 6、以不运行作业为基,在 job_relation 表中保留此作业的孩子作业。放入孩子队列 ChildList 中; DECLARE SQLTAG3 select up_node_id,up_job_id from job_relation where up_node_id=:szNode_Id and up_job_id=:szJob_Id(声明游标)第 7 页 FETCH SQLTAG3 into :szChild_Node_Id,:szChild_Job_id(获取每个作业) ChildList=ChildAdd(szChild_Node_Id, szChild_Job_id) 7、从 job_rel_status 删除把不运行作业作为父亲的作业链(依赖关系) 。 Delete from job_rel_status where up_node_id=:szNode_Id and up_job_id=:szJob_Id8、用 ChildList 作为作业,用 ParentList 作为父作业,构成笛卡儿乘积插入job_rel_status 中。While(lParent!=null) While (lChild!=null) Insert into job_rel_status (nod

温馨提示

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

评论

0/150

提交评论