银行卡作业调度与监控管理系统的改进方案

上传人:苏**** 文档编号:320165736 上传时间:2022-06-30 格式:DOC 页数:10 大小:87KB
返回 下载 相关 举报
银行卡作业调度与监控管理系统的改进方案_第1页
第1页 / 共10页
银行卡作业调度与监控管理系统的改进方案_第2页
第2页 / 共10页
银行卡作业调度与监控管理系统的改进方案_第3页
第3页 / 共10页
银行卡作业调度与监控管理系统的改进方案_第4页
第4页 / 共10页
银行卡作业调度与监控管理系统的改进方案_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《银行卡作业调度与监控管理系统的改进方案》由会员分享,可在线阅读,更多相关《银行卡作业调度与监控管理系统的改进方案(10页珍藏版)》请在金锄头文库上搜索。

1、银行卡统计分析系统调度系统的改进方案文档信息编写者编写日期审核者审核日期批准人批准日期变更历史日期变更描述批准文档资料分发姓名职位机构目 录1概述11.1目的11.2预期的读者和阅读建议11.3文档约定11.4参考文献12改进方案22.1背景22.2目标22.3术语22.4改造思路32.4.1模型表结构的调整32.4.2计算运行逻辑52.4.3处理逻辑52.4.4伪代码实现描述62.5结束语71 概述1.1 目的1.2 预期的读者和阅读建议1.3 文档约定1.4 参考文献2 改进方案2.1 背景 目前的调度系统虽然功能强大,但是在处理模式上只有两种模式包括每天运行或不运行等,很难适应现代企业的

2、数据处理。2.2 目标一、现代调度系统除了每天不运行或运行作业外,还能处理年初末、月初末、周末、旬、半年初末作业等,系统可以自定义。二、不影响白天客户访问,ETL分时段运行2.3 术语1、每天处理(every day running,以下简称RRR):表示此作业每天运行;2、指定月的某日处理(special day running,以下简称nnR,nn是数字):表示此作业在2-27(大月包含28、29、30,小月包含28、29,闰月包含28)日中的指定日运行;3、周六处理(Saturday running,以下简称W6R):表示此作业在每周六运行;4、周日处理(Sunday running,

3、以下简称W7R): 表示此作业在每周日运行;5、周末处理(Saturday& Sunday running, 以下简称WER):表示此作业在每周六、日运行;6、上旬初处理(early start-month running,以下简称EMS): 表示此作业在每上旬的第一天运行;7、上旬末处理(early end-month running,以下简称EME): 表示此作业在每上旬的最末一天运行;8、中旬初处理(middle start-month running,以下简称MMS): 表示此作业在每中旬的第一天运行;9、中旬末处理(middle end-month running,以下简称MME):

4、 表示此作业在每中旬的最末一天运行;10、下旬初处理(last start-month running,以下简称LMS): 表示此作业在每下旬的第一天运行;11、下旬末处理(last end-month running,以下简称LME): 表示此作业在每下旬的最末一天运行;12、旬初处理(ten-days start-month running,以下简称TMS): 表示此作业在每旬的第一天运行;13、旬末处理(ten-days end-month running,以下简称TME): 表示此作业在每旬的最末一天运行;14、月初处理(start-month running,以下简称MSR): 表示

5、此作业在每月的第一天运行;15、月末处理(end-month running,以下简称MER): 表示此作业在每月的最末一天运行;16、上半年末处理(early half end-year running,以下简称EHE): 表示此作业在06月30日运行;17、下半年初处理(last half start-year running,以下简称LHS): 表示此作业在07月1日运行;18、年初处理(start-year running,以下简称YSR): 表示此作业在01月01日运行;19、年末处理(end-year running,以下简称YER): 表示此作业在12月31日运行;20、季末处理

6、(end-quarter running,以下简称QER): 表示此作业在3月31日、6月30日、9月30日、12月31日运行;2.4 改造思路2.4.1 模型表结构的调整2.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、

7、proc_mode=“RRR”:表示在每天运行; 3、proc_mode=“YSR,MER”:表示在01月01日运行,或者在每月末运行;2.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 SE

8、LECT parall_num , used_parall_num INTO :nParallNum,:nUsedParallNum 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,ps

9、zLogFileName,%-s 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.3 在周六、周日24时时段全部允许运行

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

11、逻辑:优先判定run_mode_flg的起用,如果为1则再优先判定week_run_mode的运行模式,如果是周末,采用24小时运行模式,则不需判定。如果不是周末或者不是24小时运行模式,则判定run_prhase;否则其他模式无效 2.4.2 计算运行逻辑 在下图中,如果B1标识为B1(0)或者!B1(1,MER)分别表示不运行或者不在每月末不运行。A1A2B1B2C1C2 而实际运行图则去掉A1B1,B1C1,B1C2边,增加A1C1,A1C2边的联接。 原来A1作业运行完后,则运行B1作业,等B1作业运行完后,再运行C1作业,并把C2作业置成可运行状态;C2等待B2作业运行完后,再运行。

12、实际运行图则原来A1作业运行完后,则运行运行C1作业,并把C2作业置成可运行状态; C2等待B2作业运行完后,再运行。实际运行图如下图示:A1A2B2C1C22.4.3 处理逻辑1、保留B1的父作业A1;2、保留B1的作业C1,C23、利用A1与C1、C2的的笛卡积关系,生成A1C1,A1C2的联接依赖边;2.4.4 伪代码实现描述 1、从job的每一个作业查找运行标志为1的作业,抽取两个标志run_flag和proc_mode. DECLARE SQLTAG select node_id,job_id,run_flag,proc_mode from job where run_flag=1(

13、声明游标) FETCH SQLTAG into :szNode_Id,:szJob_id,:szRun_Flag,szProc_Mode(获取每个作业) 2、计算调度日期exec_date,生成符合19个处理模式(除RRR,nnR标志外)内符合条件的标志current_proc_mode;在proc_mode中查找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,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 开发文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号