- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
调度程序设计文档
调度程序设计文档调度程序设计文档11功能描述22逻辑架构22.1整体架构22.2 Scheduler master模块32.3 Job runner模块43数据库模型43.1任务配置表SCH_TASK_INFO_CONF43.2任务依赖关系表SCH_TASK_RELA_CONF53.3参数配置表SCH_TASK_PARA_CONF53.4远程主机信息SCH_REMOTE_INFO_CONF54视图界面51功能描述调度程序用于触发特定程序的执行。触发模式包括:定时触发、依赖关系触发和消息触发:*定时触发采用标准Crontab模型,支持分钟、小时、日、月、周的定时配置;*依赖关系触发支持一对一、一对多、多对一、多对多的触发模式;*消息触发以发送消息到调度程序触发特定任务。2逻辑架构2.1整体架构调度程序由Scheduler master和Job runner两部分组成。Scheduler master负责解析Crontab表达式、维护依赖关系图、接受消息,待特定任务执行条件到达后通知Job runner开始执行具体任务。Job runner负责接受要执行的任务消息,然后登陆任务程序所在主机(采用ssh登陆方式)执行相应脚本。Job runner 可以与Scheduler master部署在同一台机器,也可以部署到其他机器。也可以有多个Job runner终端。它们之间采用socket方式通信。2.2Scheduler master模块Scheduler master 有五个模块:1Crontab表达式解析器Crontab parserCrontab解析器采用标准linux的crontab语法。到达时间点后解析器会发出任务启动事件到事件处理器。Crontab parser与Event handler之间采用API调用方式通信。2消息触发器MS triggerMS trigger接受来自外部系统的消息事件,处理成Event handler可以接收的格式后发出。两者采用API调用方式通信。3事件处理器Event handler事件处理器负责将对应的事件映射到DAG中的任务节点,然后触发后续流程。其本身相当于整个程序的通信枢纽。4有向五环图DAGDAG区域负责维护系统中所有任务依赖关系,与Event handler协作完成对外响应。例如:当Event handler接受到任务1执行完毕的事件后通知DAG,DAG模块会反馈下个任务为任务3.5套接字服务端Socket server负责Scheduler master与Job runner之间的通信。其本身有鉴权功能,客户端连接时需要发送鉴权信息。Socket server会及时快速地将Event handler生成的任务执行消息发送至客户端。2.3Job runner模块Job runner有四个模块:1套接字客户端Socket client负责向Scheduler master发送和接受消息串。2消息处理器Message handler负责将接收到的消息串转换成标准格式,放入队列Queue中,Queue是线程安全的。3控制中心ControllerController是Job runner的核心部分,负责从Queue中取出消息,并判断该由哪种runner执行任务。消息中包含脚本位置,参数等信息。4任务执行引擎Runners目前调度支持两种脚本:shell和oracle存储过程。后续还可以添加其他runner。3数据库模型3.1任务配置表SCH_TASK_INFO_CONF任务配置表关键字段:任务标识(task_id)、任务名称(task_name)、任务类型(task_type)、执行计划标识(crontab_id)、远程主机标识(remote_id)任务标识是任务配置表的业务主键,用以唯一表示一个任务;任务类型分shell任务和存储过程任务等类型;任务执行计划标识是外键,Crontab表达式表的主键,用以表示该任务的执行计划,如果为0则表示该任务由依赖关系触发;远程主机标识是外键,表示任务的位置。3.2任务依赖关系表SCH_TASK_RELA_CONF任务依赖表关键字段:前置任务标识(task_id_a)、后置任务标识(task_id_z)3.3参数配置表SCH_TASK_PARA_CONF参数配置表关键字段:任务标识(task_id)、参数标识(param_order)、参数名称(param_name)、参数值(param_value)参数配置表是纵表,不同任务的参数类型和数量不同。其中参数标识为任务标识下的参数顺序,参数值可以是常量也可是账期等动态值。3.4远程主机信息SCH_REMOTE_INFO_CONF远程主机信息表关键字段:主机标识(remote_id)、主机地址(remote
文档评论(0)