欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:86396183       资源大小:72.26KB        全文页数:10页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    银行卡统计分析系统调度系统的改进方案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_ld8、用ChildList作为作业,用ParentList作为父作业,构成笛卡儿乘积插入 job rel status 中。While(IParentl=null) While (lChild!=null) Insert into job_rel_status(node_id, job_id, up_node_id, up_job_id, proc_status, up_proc_status)Values(:IChild->node_id, :lChild->job id, :lParent->node_id, :lParent->job i d)lChild=lChild->next;)lParent=lParent->next;)Free(IParent);Free (IChild);9、选择下一个不运行作业,转第5步,直到结束。2.5结束语我们所有处理流程都是以job_relation表作为基础的,因此job_relation表的作业 链必须正确。文档信息编写者编写日期审核者审核日期批准人批准日期变更历史日期变更描述批准文档资料分发姓名职位机构1 概述11.1 目的11.2 预期的读者和阅读建议11.3 文档约定11. 4参考文献12改进方案22. 1背景23. 2目标24. 3术语25. 4改造思路31.1.1 1 模型表结构的调整31.1.2 计算运行逻辑51.1.3 处理逻辑51.1.4 伪代码实现描述52.5结束语71概述目的1.1 预期的读者和阅读建议文档约定1. 4参考文献2改进方案2.1背景目前的调度系统虽然功能强大,但是在处理模式上只有两种模式包括每天运行或不运行 等,很难适应现代企业的数据处理。2. 2目标一、现代调度系统除了每天不运行或运行作业外,还能处理年初末、月初末、周末、旬、半年初末作业等,系统可以自定义。二、不影响白天客户访问,ETL分时段运行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,以下简称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):表示此作业在每中旬 的最末一天运行;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):表示此作业在每月的第一天运 行;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,以下简称年末:表示此作业在12月31日运行;20、季末处理(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、procjnode="24R, YER" :表示在每月的24日运行,或者在年末运行;2、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 SELECT parall_num , used_parall_numINTO :nParallNum, :nUsedParallNumFROM node infoWHERE node_id=:szNodeld;*/EXEC SQL SELECT parall num , used parall num, run phraseINTO :nParallNum, :nUsedParallNum, :szRunPhraseFROM node infoWHERE node_id=:szNodeld;if ( nUsedParallNum >= nParallNum )(PrintLogX(4, pszLogFileName, z,%s szNodeId%-s已用 的 并发数%_d 已>=节点总并发数%-d,放弃,ReleaseQue,szNodeld, nUsedParallNum , nParallNum);break;/*进入到下一个节点的轮训*/if ( PermStart(szRunPhrase, pszLogFileName) !=0)(PrintLogX(4, pszLogFileName, z,%-s 此时段,szNodeld%-s不适合运行,选 择放弃,ReleaseQue,szNodeld);break;/*进入到下一个节点的轮训*/2. 4.1. 3在周六、周日24时时段全部允许运行问题在原有的调度系统模型中,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-起用运行模式,其余不允许处理逻辑:优先判定run_mode_flg的起用,如果为'1'那么再优先判定week_run_mode 的运行模式,如果是周末,采用24小时运行模式,那么不需判定。如果不是周末或者不是 24小时运行模式,那么判定run_prhase;否那么其他模式无效2. 4.2计算运行逻辑在下列图中,如果B1标识为B1(O)或者! Bl (1,MER)分别表示不运行或者不在每月 末不运行。而实际运行图那么去掉A1B1, B1C1, B1C2边,增加A1C1,A1C2边的联接。原来A1 作业运行完后,那么运行B1作业,等B1作业运行完后,再运行C1作业,并把C2作业 置成可运行状态;C2等待B2作业运行完后,再运行。实际运行图那么原来A1作业运行 完后,那么运行运行C1作业,并把C2作业置成可运行状态;C2等待B2作业运行完后, 再运行。实际运行图如下列图示:2. 4.3处理逻辑1、保存B1的父作业A1;2、保存B1的作业C1,C23、利用A1与Cl、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'(声明游标)FETCH SQLTAG into :szNode_Id, :szjob_id, :szRun_Flag, szProc_Mode (获取 每个作业)2、计算调度日期exejdate,生成符合19个处理模式(除RRR, nnR标志外)内 符合条件的标志current proc mode;在proc mode中查找'RRR'或'nnR'或 current_proc mode.nExec_Flag=Chk_Proc_Mode(szExec_Date, szProc_Mode)如果nExec Flag=l,那么在调度为exec date这个日期,此作业运行,否那么不 运行;3、如果存在,那么把jobjelation表中的关系链放入到job_rel_status中。从 job选取下一条,转第一步,直到结束。如果nExec_Flag=L然后Insertintojob_rel_status(node_id, job_id, up_node_id, up_job_id, proc_status,up_proc_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_ld4、准备重建依赖关系。从job的每一个作业查找运行标志为'O'(不运行) 的作业,抽取1个标志run_flag.主要目的,查找不运行作业,以便剔除从第3步获 得不运行的父亲作业。DECLARE SQLTAG1 select node_id, job_id, run_flag from job where run_flag=" O'(声明游标)FETCH SQLTAG into : szNode ld, :szjob id, :szRun_Flag (获取每个作业)5、以不运行作业为基,在job_relation表中保存此作业的父亲作业。放入父 亲队列ParentList中;DECLARE SQLTAG2 select up nodeid,up Job id from job relationwhere node_id=: szNode_Id and job_id=:szjob_ld (声明游标)FETCH SQLTAG2 into : szUp_Node_Id, :szUp_Job_id (获取每个作业)ParentList=ParentAdd(szUp_Node_Id, szUp_Job_Id)6、以不运行作业为基,在job_relation表中保存此作业的孩子作业。放入孩子 队列 ChildList 中;DECLARE SQLTAG3 select up node_id,up job id from job relationwhere up_node_id=: szNode_Id and up_job_id二:szjob_ld(声明游标)FETCH SQLTAG3 into : szChild_Node_Id, : szChild_Job_id (获取每个作业)

    注意事项

    本文(银行卡作业调度与监控管理系统的改进方案.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开