一种定时调度服务系统的配置方法及装置的制造方法

文档序号:8383573阅读:495来源:国知局
一种定时调度服务系统的配置方法及装置的制造方法
【技术领域】
[0001]本发明涉及定时调度领域,特别涉及一种定时调度服务系统的配置方法及装置。
【背景技术】
[0002]日常的IT工作中,常常会遇到需要做数据同步、定时邮件、短信提醒、任务扫描等这类需求。遇到这种情况,通常需要开发一个定时调度服务来处理此类需求。这类定时调度服务的一般开发步骤是:搭建windows服务或普通可执行的程序,将其作为定时调度服务运行的宿主;开发定时器或调度框架;开发轮询中要执行的业务逻辑;实现日志跟踪。
[0003]通常情况下,一个定时调度服务的设计方案包含有:服务运行宿主、定时调度器、执行逻辑、日志跟踪四大要素。按照这种常规的定时调度设计方案,每一个需要定时调度的项目都需要开发出服务运行宿主、定时调度器、执行逻辑和日志跟踪。而实际上,其中只有执行逻辑不具备复用性,其它几点从功能用途的角度来看都是一样的,但并没有被抽象出来。
[0004]这种常规的定时调度设计方案,普遍存在如下问题:(1)重复设计开发:由于服务运行宿主、定时调度器和日志跟踪被一次次的重复设计、开发、测试,增加开发人员的工作量,造成时间及资源的浪费。(2)设计实现方式不统一:具体就是实现定时调度或日志跟踪时,又可以有多种设计实现方式,如定时调度可直接用Timer (定时器)或调度框架,而日志跟踪可用自创日志程序或第三方日志组件等多种方式实现记录日志功能等;对于不同的设计及开发人员,水平也有高低之分,可能有一些设计出来的定时调度程序很稳定,而有一些则不稳定、易出问题。(3)必须独立部署:由于这种常规的设计方案缺乏抽象的设计思想,每一个定时调度服务必须要独立进行部署;如果是针对不同的项目,这种做法并无不妥;但如果是针对同一项目中的多个定时调度需求,则没有必要开发部署这么多服务,还会造成服务管理上的困难。(4)无法统一升级:由于不同的定时调度服务都按自己的设计及实现方案,且都是独立部署,基本上无法应对服务统一升级管理的需求。

【发明内容】

[0005]本发明要解决的技术问题在于,针对现有技术的上述增加开发人员的工作量、设计实现方式不统一、服务管理较困难、无法统一升级的缺陷,提供一种简化开发人员的工作量、设计实现方式统一、服务管理较容易、能统一升级的定时调度服务系统的配置方法及装置。
[0006]本发明解决其技术问题所采用的技术方案是:构造一种定时调度服务系统的配置方法,所述定时调度服务系统包括定时调度支撑服务端、定时调度后台服务端、定时调度客户端和存储层;所述方法包括如下步骤:
A)用户将业务执行逻辑程序编绎成设定格式的逻辑文件;
B)将所述逻辑文件通过所述定时调度客户端上传到所述定时调度后台服务端,并配置定时方案; C)所述定时调度后台服务端将所述定时方案存储到所述存储层中的数据库中,并将所述逻辑文件存放到相应的文件目录下,同时在所述数据库中记录所述逻辑文件的基本程序集信息;
D)所述定时调度支撑服务端从数据库中读取所述定时方案,并动态创建定时器;
E)判断定时调度是否被触发,如是,加载所述逻辑文件并根据所述程序集信息反射执行用户的逻辑程序;否则,返回所述步骤D)。
[0007]在本发明所述的定时调度服务系统的配置方法中,所述设定格式为DLL格式。
[0008]在本发明所述的定时调度服务系统的配置方法中,所述步骤B)中的定时方案是在可视化的定时配置界面中进行配置的。
[0009]在本发明所述的定时调度服务系统的配置方法中,所述步骤D)进一步包括:
Dl)接收任务通知;
D2)读取所述数据库中的任务的定时配置;
D3)动态创建定时作业并将其加入到作业库中;
D4)根据用户通知启动所述定时作业。
[0010]在本发明所述的定时调度服务系统的配置方法中,所述步骤E)进一步包括:
El)判断定时调度是否被触发,如是,读取所述数据库中任务中对应的逻辑文件信息并执行步骤E2);否则,返回所述步骤D);
E2)在相应目录下加载所述逻辑文件;
E3)通过反射机制读取入口函数;
E4)执行所述入口函数中的业务逻辑;
E5)等待下一次调度;
E6)判断是否有关停任务通知,如是,停止任务并返回步骤D);否则,返回步骤El)。
[0011]本发明还涉及一种实现上述定时调度服务系统的配置方法的装置,所述定时调度服务系统包括定时调度支撑服务端、定时调度后台服务端、定时调度客户端和存储层;所述装置包括:
编译单元:用于使用户将业务执行逻辑程序编绎成设定格式的逻辑文件;
上传配置单元:用于将所述逻辑文件通过所述定时调度客户端上传到所述定时调度后台服务端,并配置定时方案;
存储记录单元:用于使所述定时调度后台服务端将所述定时方案存储到所述存储层中的数据库中,并将所述逻辑文件存放到相应的文件目录下,同时在所述数据库中记录所述逻辑文件的基本程序集信息;
读取创建单元:用于使所述定时调度支撑服务端从数据库中读取所述定时方案,并动态创建定时器;
定时调度判断单元:用于判断定时调度是否被触发,如是,加载所述逻辑文件并根据所述程序集信息反射执行用户的逻辑程序。
[0012]在本发明所述的实现上述定时调度服务系统的配置方法的装置中,所述设定格式为DLL格式。
[0013]在本发明所述的实现上述定时调度服务系统的配置方法的装置中,所述上传配置单元中的定时方案是在可视化的定时配置界面中进行配置的。
[0014]在本发明所述的实现上述定时调度服务系统的配置方法的装置中,所述读取创建单元进一步包括:
任务接收模块:用于接收任务通知;
定时读取模块:用于读取所述数据库中的任务的定时配置;
定时作业创建模块:用于动态创建定时作业并将其加入到作业库中;
作业启动模块:用于根据用户通知启动所述定时作业。
[0015]在本发明所述的实现上述定时调度服务系统的配置方法的装置中,所述定时调度判断单元进一步包括:
触发判断模块:用于判断定时调度是否被触发,如是,读取所述数据库中任务中对应的逻辑文件信息;
加载模块:用于在相应目录下加载所述逻辑文件;
函数读取模块:用于通过反射机制读取入口函数;
业务逻辑执行模块:用于执行所述入口函数中的业务逻辑;
调度等待模块:用于等待下一次调度;
任务关停判断模块:用于判断是否有关停任务通知,如是,停止任务并返回。
[0016]实施本发明的定时调度服务系统的配置方法及装置,具有以下有益效果:由于使用定时调度支撑服务端、定时调度后台服务端、定时调度客户端和存储层;用户将业务执行逻辑程序编绎成设定格式的逻辑文件,通过定时调度客户端上传到定时调度后台服务端,并配置定时方案;定时调度后台服务端将定时方案存储到存储层中的数据库中,并将逻辑文件存放到相应的文件目录下,同时在数据库中记录逻辑文件的基本程序集信息;定时调度支撑服务端端从数据库中读取定时方案,并动态创建定时器;当定时调度被触发时,加载逻辑文件并根据程序集信息反射执行用户的逻辑程序。将任务逻辑和定时调度彻底分离,任务逻辑不用直接封装在定时调度服务中。针对每个需求,开发人员只需专注开发执行的任务逻辑即可,无需再重复实现定时调度细节,所以简化开发人员的工作量,使定时调度服务通用化,设计实现方式统一;可以把同一项目的不同的调度封装成业务执行逻辑文件,并加入调度的作业库中,完全不需要所有的调度服务都必须独立部署,所以服务管理较容易;由于调度服务是通用的,没有具体开发实现水平上的差异,所以易于维护,同时能统一升级,且升级较容易。
【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本发明定时调度服务系统的配置方法及装置一个实施例中方法的流程图; 图2为所述实施例中定时调度支
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1