[发明专利]批量作业调度方法及装置在审
申请号: | 201911010326.1 | 申请日: | 2019-10-23 |
公开(公告)号: | CN110750348A | 公开(公告)日: | 2020-02-04 |
发明(设计)人: | 刘玉龙;陆晓 | 申请(专利权)人: | 神州数码融信软件有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 11303 北京方韬法业专利代理事务所(普通合伙) | 代理人: | 党小林 |
地址: | 100000 北京市海淀区西北旺*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 输入输出流 作业调度 中断 关联 中断操作 检查 安全 | ||
本发明实施例提供了一种批量作业调度方法及装置。所述方法包括:发起对批量作业中的线程的中断操作时,检查被中断的线程是否有正在运行的、与所述线程关联的输入输出流;如果存在与所述线程关联的输入输出流,结束所述输入输出流之后,再执行对所述线程的中断。本发明实施例提供的批量作业调度方法及装置以IO终止与线程中断结合的方式实现线程的安全停止。
技术领域
本发明涉及ETL技术领域,特别是涉及一种批量作业调度方法及装置。
背景技术
批处理作业调度是大部分业务应用系统都不可或缺的一部分,在调度系统与实际的作业分离的情况下,常常会遇到调度系统能启动目标作业,但是停止的时候只是停止了调度系统自身的作业线程,没有停止目标作业本身线程(进程)的情况,也就是伪停止。
不同类型的作业真正停止的处理方式都不尽相同,要做到对作业的完全可控,解决伪停止的问题,是调度架构设计真正需要克服的技术难题。
不能完全可控的调度架构会带来以下问题:
资源不可控:作业无法完全停止带来的第一个问题是资源的占用,不能通过调度系统有效释放作业资源,只能通过其他手段(操作系统命令、应用系统命令)来完成资源的释放。
业务不可控:在作业无法真正停止的时候带来的是业务的风险,如果在作业真正停止前再次启动作业,可能会带来启动失败、业务数据冲突、丢失等问题。
停止线程:对于线程的停止操作是需要谨慎考虑的问题,就像突然关闭计算机电源,而不按照正常的步骤关机,可能会产生不可预料的结果。
发明内容
本发明要解决的技术问题是提供一种批量作业调度方法及装置,能够解决作业调度过程中线程伪停止的问题。
为解决上述技术问题,本发明提供了一种批量作业调度方法,所述方法包括:发起对批量作业中的线程的中断操作时,检查被中断的线程是否有正在运行的、与所述线程关联的输入输出流;如果存在与所述线程关联的输入输出流,结束所述输入输出流之后,再执行对所述线程的中断。
在一些实施方式中,所述输入输出线程包括:关于文件的输入输出线程,以及关于网络的输入输出线程。
在一些实施方式中,如果存在与所述线程关联的输入输出流,结束所述输入输出流之后,再执行对所述线程的中断,包括:如果存在所述输入输出流,请求中断所述输入输出流;确认对所述输入输出流的中断被执行之后,执行对所述线程的中断。
在一些实施方式中,还包括:如果不存在与所述线程关联的输入输出流,执行对所述线程的中断。
在一些实施方式中,所述线程属于shell类,或者存储过程类的对象。
在一些实施方式中,所述shell类及所述存储过程类均实现作业接口。
在一些实施方式中,所述作业接口包含:执行方法与取消方法。
在一些实施方式中,所述作业接口继承调度线程类。
在一些实施方式中,所述线程的并发由调度线程池进行管理。
此外,本发明还提供了一种批量作业调度装置,所述装置包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的批量作业调度方法。
采用这样的设计后,本发明至少具有以下优点:
在作业架构设计时,以灵活易拓展的接口支持不同类型作业停止的需求,以IO终止与线程终端结合的方式实现线程的安全停止。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于神州数码融信软件有限公司,未经神州数码融信软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911010326.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:长曝光对比频谱数据处理系统及其方法
- 下一篇:一种分布式任务调度方法及系统