本发明专利技术提供一种适用于软件批处理作业的作业管理器实现方法,该方法基于定义的各作业信息,进行作业运行管理并生成作业报告,作业运行管理包括以下步骤:启动作业管理器;初始化作业队列;启动作业队列监视器,通过该作业队列监视器监控作业队列,并根据最新的作业定义随时更新作业队列,并根据各作业在作业列队中的排序依次提交运行;按序执行作业并报告进度,其中,在执行作业时,基于应用进程域同时运行多个作业;作业运行完毕。
【技术实现步骤摘要】
本专利技术属于计算机软件处理方法
,具体涉及一种适用于软件批处理作业的作业管理器实现方法及作业管理器。
技术介绍
在历史上,批处理作业广泛使用于大型计算机。在现代信息系统中,由于业务系统处理要求,比如在每天需要批处理作业,进行报表数据计算、打印系列文档等。针对海量数据处理,要求在大量的开放计算资源里同时处理多个作业,并能快速完成处理过程。目前,批处理的发展远胜当初的大型电脑上的应用,现在也常用于UNIX环境,用CRON和at机制来安排复杂的工作程序。微软Windows系统提供任务计划工具,用户可以自定义作业运行的频率,并可以选择要运行的应用程序。Windows的任务管理器,虽然提供定制各种时间频率,但在指定的执行操作任务类型只能局限在应用程序、发送电子邮件和显示消息。Unix的CRON和at机制同样可以定制各种时间频率,并以应用程序为运行单位。上述技术只能以进程为单位在本机启动应用程序,面向众多高频率的批量小作业时,系统资源消耗高;不能支持非应用程序,比如组件、数据库应用等作业类型;不能在分布式的情况下完成计算资源的整合。
技术实现思路
本专利技术的一个目的在于提供一种适用于软件批处理作业的作业管理器实现方法,支持在同一进程内执行多个作业,且支持包括应用程序、存储过程和.Net组件的多种作业类型。本专利技术的另一个目的在于提供一种适用于软件批处理作业的作业管理器。本专利技术的技术方案如下:一种适用于软件批处理作业的作业管理器实现方法,该方法基于定义的各作业信息,进行作业运行管理并生成作业报告,作业运行管理包括以下步骤:步骤1、启动作业管理器;步骤2、初始化作业队列;步骤3、启动作业队列监视器,通过该作业队列监视器监控作业队列,并根据最新的作业定义随时更新作业队列,并根据各作业在作业列队中的排序依次提交运行;步骤4、按序执行作业并报告进度,其中,在执行作业时,基于应用进程域同时运行多个作业;步骤5、作业运行完毕。进一步的,步骤I中,在启动作业管理器时,首先判断作业管理器运行状态以查看是否已成功启动,如已启动则结束。进一步的,步骤2中,将所有待处理作业状态初始化,并读取到内存的作业队列中,当存在作业运行并行状况时,则创建多个作业队列。进一步的,步骤3中,该作业队列监视器通过可配置的轮询频率,定时对已定义作业进行轮询,在有等待作业时,则生成相应作业队列并处理。进一步的,作业的定义包括以下步骤:提供各作业的信息要素,包括:作业名称、作业来源、作业类型、输入参数、以及作业程序位置信息,其中,所述作业类型支持应用程序、存储过程和.Net组件;根据需要定制各作业对应的多种不同运行频率。进一步的,还包括定制在各运行频率下的作业执行详细设置信息。进一步的,详细设置信息包括在各运行频率下作业的具体开始执行时间。进一步的,作业报告包括总体作业运行报告和各作业的详细进度报告。一种适用于软件批处理作业的作业管理器,其特征在于,所述作业管理器包括:启动单元、初始化作业队列单元、作业队列监视单元以及按序执行作业并报告进度单元。本专利技术的技术效果在于:本专利技术适用于软件批处理作业的作业管理器实现方法,运行多个作业在同一进程内运行,又通过在不同的应用进程域进行隔离,既节省了系统资源的消耗,又确保了作业的独立性,在应对大量的小规模作业的时候很有效。同时,支持非应用程序,比如组件、数据库应用等作业类型,不局限于应用程序。附图说明图1是本专利技术适用于软件批处理作业的作业管理器实现方法的流程图。具体实施例方式以下结合附图对本专利技术做进一步说明。本专利技术一种适用于软件批处理作业的作业管理器实现方法,基于定义的各作业信息,进行作业运行管理并生成作业报告。作业的定义包括以下步骤:首先,提供各作业的信息要素,包括:作业名称、作业来源、作业类型、输入参数、以及作业程序位置信息,其中,作业类型支持应用程序、存储过程和.Net组件。其次,根据需要定制各作业对应的多种不同运行频率,运行频率包括:立即执行(immediately)、只执行一次(once)、每周执行(Every Week)和每月执行(Every Month);还包括定制在各运行频率下的作业执行详细设置信息,详细设置信息包括在各运行频率下作业的具体开始执行时间,如对于立即执行的不需要设置,对于执行一次的需要设置在某天什么时间执行,对于每周执行的需要设置是一周的“哪天”还是“工作日”或者“周末”以及“每天”和具体执行时间,对于每月执行的需要设置每月的第几天的什么时间执行。如图1所示,作业运行管理包括以下步骤:步骤1、启动作业管理器。作业管理器可部署在分布的硬件服务器上。在启动作业管理器时,首先判断作业管理器运行状态以查看是否已成功启动,如已启动则结束。系统中将作业管理器运行状态分为以下几个状态:INITIAL (未启动)、INITIALING (启动中)、RUN(正在运行)、和INITIALERROR(初始化错误)。为了方便进行线程同步,对上述几个状态用不同整数对应表示:0:INITIAL、1:1NITIALING、2:RUN、3:INITIAL ERROR,在进行作业管理器状态判断时采用原子操作类型中的方法。步骤2、初始化作业队列。将所有待处理作业状态初始化,并读取到内存的作业队列中,当存在作业运行并行状况时,则创建多个作业队列,并将所有作业的状态都置为“待处理”。步骤3、启动作业队列监视器,通过该作业队列监视器监控作业队列,并根据最新的作业定义随时更新作业队列,并根据各作业在作业列队中的排序依次提交运行,具体时将最前面的作业状态置为“执行中”,并提交运行。如果前一作业已执行完毕,即状态为“完成”,则从队列中提取下一作业并提交运行。该作业队列监视器通过可配置的轮询频率,定时对已定义作业进行轮询,在有等待作业时,则生成相应作业队列并处理。步骤4、按序执行作业并报告进度,其中,在执行作业时,基于应用进程域同时运行多个作业。应用程序域(AppDomain) —种边界,它由公共语言运行库围绕同一应用程序范围内创建的对象建立(即,从应用程序入口点开始,沿着对象激活的序列的任何位置)。应用程序域有助于将在一个应用程序中创建的对象与在其他应用程序中创建的对象隔离,以使运行时行为可以预知。在一个单独的进程中可以存在多个应用程序域。这样,多个作业的运行不会造成多个进程的申请和释放,较大的减少了系统资源的消耗,同时又保障了作业间的独立性。步骤5、作业运行完毕。生成作业运行日志,并形成作业报告。作业报告包括总体作业运行报告和各作业的详细进度报告。总体作业运行报告包括作业名称、作业运行开始时间、作业运行结束时间、作业实际耗时等;详细进度报告包括作业当前执行步骤、已经执行耗时和作业目前完成进度等。权利要求1.一种适用于软件批处理作业的作业管理器实现方法,其特征在于,该方法基于定义的各作业信息,进行作业运行管理并生成作业报告,所述作业运行管理包括以下步骤: 步骤1、启动作业管理器; 步骤2、初始化作业队列; 步骤3、启动作业队列监视器,通过该作业队列监视器监控作业队列,并根据最新的作业定义随时更新作业队列,并根据各作业在作业列队中的排序依次提交运行; 步骤4、按序执行作业并报告进度,其中,在执行作业时,基于应用进程域同时运行本文档来自技高网...
【技术保护点】
一种适用于软件批处理作业的作业管理器实现方法,其特征在于,该方法基于定义的各作业信息,进行作业运行管理并生成作业报告,所述作业运行管理包括以下步骤:步骤1、启动作业管理器;步骤2、初始化作业队列;步骤3、启动作业队列监视器,通过该作业队列监视器监控作业队列,并根据最新的作业定义随时更新作业队列,并根据各作业在作业列队中的排序依次提交运行;步骤4、按序执行作业并报告进度,其中,在执行作业时,基于应用进程域同时运行多个作业;步骤5、作业运行完毕。
【技术特征摘要】
【专利技术属性】
技术研发人员:杜国洪,袁永俊,郑朝晖,刘智恒,李樟标,奚兵,韩征,杨峥,孙巍巍,蔡琪,王雷,其他发明人请求不公开姓名,
申请(专利权)人:中国航空结算有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。