[发明专利]一种使用逻辑克隆表达式的定时任务调度的方法及装置有效
申请号: | 201610209858.8 | 申请日: | 2016-04-06 |
公开(公告)号: | CN107273191B | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | 魏亚文;孙政 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 使用 逻辑 克隆 表达式 定时 任务 调度 方法 装置 | ||
1.一种使用逻辑克隆表达式的定时任务调度的方法,其特征在于,包括:
根据业务系统的具体任务,配置包括能够由逻辑运算符及优先级运算符连接的多个克隆表达式的逻辑克隆表达式;所述逻辑克隆表达式能够包括但不限于:(克隆表达式1)(克隆表达式2)|(克隆表达式3)或者(克隆表达式1)(克隆表达式2)[!(克隆表达式3)]|(克隆表达式4);
解析所述逻辑克隆表达式,以获得用于定时任务调度的触发时间集合;解析所述逻辑克隆表达式还包括:按照逻辑运算符的优先级以堆栈先入后出的方式解析所述逻辑运算符;解析所述逻辑克隆表达式还包括:取出所述逻辑克隆表达式中的克隆表达式并将所述克隆表达式放入一个集合中;获取所述逻辑克隆表达式中的每个克隆表达式的时间单位属性集合,并对每个所述时间单位属性集合进行逻辑运算;
并且重复执行如下步骤:
以当前时间作为参照时间,根据所述触发时间集合计算下一待执行任务的时间;
当到达所述时间时,执行所述任务。
2.根据权利要求1所述的方法,其特征在于,在解析所述逻辑克隆表达式之前,还包括:
对所述逻辑克隆表达式进行校验,其中,所述校验的内容包括:
确认所述逻辑克隆表达式不存在非逻辑运算符的字符;
确认所述逻辑克隆表达式满足开闭原则以及所述逻辑克隆表达式中的表达式中各个时间属性间被空格分隔。
3.根据权利要求1所述的方法,其特征在于,时间单位属性的数量为7个,所述时间单位属性包括:秒、分、时、月内日期、月、周内日期以及年。
4.一种使用逻辑克隆表达式的定时任务调度的装置,其特征在于,包括:
设置模块,用于根据业务系统的具体任务,配置包括能够由逻辑运算符及优先级运算符连接的多个克隆表达式的逻辑克隆表达式;所述逻辑克隆表达式包括但不限于:(克隆表达式1)(克隆表达式2)|(克隆表达式3)或者(克隆表达式1)(克隆表达式2)[!(克隆表达式3)]|(克隆表达式4);
解析模块,用于解析所述逻辑克隆表达式,以获得用于定时任务调度的触发时间集合;解析所述逻辑克隆表达式还包括:按照逻辑运算符的优先级以堆栈先入后出的方式解析所述逻辑运算符;解析所述逻辑克隆表达式还包括:取出所述逻辑克隆表达式中的克隆表达式并将所述克隆表达式放入一个集合中;获取所述逻辑克隆表达式中的每个克隆表达式的时间单位属性集合,并对每个所述时间单位属性集合进行逻辑运算;
任务执行模块,以当前时间作为参照时间,根据所述触发时间集合计算下一待执行任务的时间;当到达所述时间时,执行所述任务。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:校验模块,用于对所述逻辑克隆表达式进行校验,其中包括:
确认所述逻辑克隆表达式不存在非逻辑运算符的字符;
确认所述逻辑克隆表达式满足开闭原则以及所述逻辑克隆表达式中的表达式中各个时间属性间被空格分隔。
6.根据权利要求4所述的装置,其特征在于,时间单位属性的数量为7个,所述时间单位属性包括:秒、分、时、月内日期、月、周内日期以及年。
7.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一所述的方法。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-3中任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610209858.8/1.html,转载请声明来源钻瓜专利网。