CN112633710B - 作业任务调度方法、装置、设备及存储介质 - Google Patents
作业任务调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112633710B CN112633710B CN202011569339.5A CN202011569339A CN112633710B CN 112633710 B CN112633710 B CN 112633710B CN 202011569339 A CN202011569339 A CN 202011569339A CN 112633710 B CN112633710 B CN 112633710B
- Authority
- CN
- China
- Prior art keywords
- binary tree
- job task
- leaf nodes
- logic
- logic condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种作业任务调度方法、装置、设备及存储介质,对于每一个未执行的作业任务,将该作业任务对应的逻辑条件转换为二叉树,对二叉树中的叶子节点进行扫描,每扫描一次,确定各个叶子节点的执行结果,并根据各个叶子节点的执行结果以及二叉树得到逻辑条件的判断结果;若判断结果表征满足逻辑条件,将作业任务的状态修改为待执行以便于调度,并停止对二叉树的叶子节点进行扫描。基于本申请的方案,降低了判断逻辑条件是否满足的频率,从而提高了作业任务的调度效率。
Description
技术领域
本申请涉及控制技术领域,更具体地说,涉及一种作业任务调度方法、装置、设备及存储介质。
背景技术
目前,一些企业中的一线生产运行部门承担着大量应用系统的作业任务。所有应用系统的作业任务的编排、执行、审计等工作都是在在线作业任务管理系统中完成。在线作业任务管理系统中的每个作业任务的执行都有先决条件,比如,执行作业任务C的先决条件是作业任务A完成并且作业任务B完成,即只有作业任务A和作业任务B均完成后,才可以执行作业任C。
本申请的发明人研究发现,目前的在线作业任务管理系统在进行作业任务调度时,是对各个正在执行的作业任务进行监测,每监测到一个作业任务完成,就查看以该作业任务完成作为子条件的逻辑条件是否满足,若满足,则将逻辑条件对应的未执行的作业任务的状态修改为待执行状态,这种调度方式中每个正在执行的作业任务完成时都会判断一次逻辑条件是否满足,调度效率低,而且,现有的在线作业任务管理系统仅关注作业任务是否完成,可配置的逻辑条件较少,无法满足企业日益增多的业务需求。
发明内容
有鉴于此,本申请提供了一种作业任务调度方法、装置、设备及存储介质,以至少部分的解决现有方案中存在的技术问题。
为了实现上述目的,现提出的方案如下:
一种作业任务调度方法,包括:
将目标作业任务对应的逻辑条件转换为二叉树,所述二叉树中的叶子节点为所述逻辑条件中的最小单位的子条件,所述二叉树中的非叶子节点为所述逻辑条件中的逻辑运算符;所述目标作业任务为任意一个未执行的作业任务;
对所述二叉树中的叶子节点进行至少一次扫描;
每对所述二叉树中的叶子节点扫描一次,确定各个叶子节点的判断结果,并根据各个叶子节点的判断结果,以及所述二叉树得到所述逻辑条件的判断结果;
若所述逻辑条件的判断结果表征满足所述逻辑条件,将所述目标作业任务的状态修改为待执行状态以便于调度,并停止对所述二叉树的叶子节点进行扫描。
上述方法,优选的,所述将目标作业任务对应的逻辑条件转换为二叉树,包括:
将所述逻辑条件解析为逆波兰式;
根据所述逆波兰式构建所述二叉树。
上述方法,优选的,所述最小单位的子条件至少包括如下至少一种:
作业任务完成,作业任务处于预设状态的时长达到预设时长,作业任务处于预设状态的时长超过预设时长,达到预设时间点,作业任务报错。
上述方法,优选的,所述对所述二叉树中的叶子节点进行至少一次扫描,包括:
对所述二叉树中的叶子节点进行轮询扫描。
上述方法,优选的,所述对所述二叉树中的叶子节点进行至少一次扫描,包括:
周期性对所述二叉树中的叶子节点进行扫描。
上述方法,优选的,还包括:
显示所述二叉树,以及所述二叉树中各个叶子节点的判断结果。
上述方法,优选的,还包括:
在显示所述二叉树后,获取针对所述二叉树的编辑指令;
响应于所述编辑指令,控制所述二叉树进入可编辑状态。
一种作业任务调度装置,包括:
转换模块,用于将目标作业任务对应的逻辑条件转换为二叉树,所述二叉树中的叶子节点为所述逻辑条件中的最小单位的子条件,所述二叉树中的非叶子节点为所述逻辑条件中的逻辑运算符;所述目标作业任务为任意一个未执行的作业任务;
扫描模块,用于对所述二叉树中的叶子节点进行至少一次扫描;
判断模块,用于每对所述二叉树中的叶子节点扫描一次,确定各个叶子节点的判断结果,并根据各个叶子节点的判断结果,以及所述二叉树得到所述逻辑条件的判断结果;
控制模块,用于若所述逻辑条件的判断结果表征满足所述逻辑条件,将所述目标作业任务的状态修改为待执行状态以便于调度,并停止对所述二叉树的叶子节点进行扫描。
一种作业任务调度设备,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如上任一项所述的作业任务调度方法的各个步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上任一项所述的作业任务调度方法的各个步骤。
从上述的技术方案可以看出,本申请实施例提供的作业任务调度方法、装置、设备及存储介质,对于每一个未执行的作业任务,将该作业任务对应的逻辑条件转换为二叉树,对二叉树中的叶子节点进行至少一次扫描,每扫描一次,确定各个叶子节点的执行结果,并根据各个叶子节点的执行结果以及二叉树得到逻辑条件的判断结果;若判断结果表征满足逻辑条件,将作业任务的状态修改为待执行以便于调度,并停止对二叉树的叶子节点进行扫描。基于本申请的方案,以每一个未执行的作业任务为扫描单位,对每个未执行的作业任务对应的逻辑条件中的所有子条件扫描一次才判断一次逻辑条件是否满足,与每个子条件完成就判断逻辑条件是否满足相比,降低了判断逻辑条件是否满足的频率,从而提高了作业任务的调度效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的作业任务调度方法的一种实现流程图;
图2为本申请实施例公开的由第一逻辑条件转换为的二叉树的示意图;
图3为本申请实施例公开的由第二逻辑条件转换为的二叉树的示意图;
图4a为本申请实施例公开的子树的一个示例图;
图4b为本申请实施例公开的基于逆波兰式AB||C&&构建的二叉树的示例图;
图5为本申请实施例公开的作业任务调度装置的一种结构示意图;
图6为本申请实施例公开的作业任务调度设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的作业任务调度方法的一种实现流程图如图1所示,可以包括:
步骤S101:将目标作业任务对应的逻辑条件转换为二叉树,该二叉树中的叶子节点为逻辑条件中的最小单位的子条件,二叉树中的非叶子节点为逻辑条件中的逻辑运算符;目标作业任务为任意一个未执行的作业任务。
本申请实施例中,逻辑条件由多个最小单位的子条件通过逻辑运算符相关联得到。每个最小单位的子条件为一个独立的条件,不包含逻辑运算符。
比如,假设逻辑条件(为便于区分,记为第一逻辑条件)为:(作业任务A超过30分钟未执行||作业任务B执行时间超过了1小时)&&时间达到每日12点,则该第一逻辑条件中,包括3个最小单位的子条件,分别为:作业任务A超过30分钟未执行、作业任务B执行时间超过了1小时、时间达到每日12点;该第一逻辑条件中包括两个逻辑运算符,分别为:逻辑或运算符“||”和逻辑与运算符“&&”。将第一逻辑条件转换为的二叉树的示意图如图2所示,该二叉树中的叶子节点为作业任务A超过30分钟未执行、作业任务B执行时间超过了1小时和时间达到每日12点,其它节点均为非叶子节点。
再比如,假设逻辑条件(为便于区分,记为第二逻辑条件)为:(第二批量任务执行完成&&时间达到23:30)||(时间达到次日5:30||(第一批量任务执行完成&&到达当日4:00)),则该第二逻辑条件中,包括5个最小单位的子条件,分别为:第二批量任务执行完成、时间达到23:30、时间达到次日5:30、第一批量任务执行完成、到达当日4:00;该第二逻辑条件中包括4个逻辑运算符,分别为:两个逻辑或运算符“||”和两个逻辑与运算符“&&”。将第二逻辑条件转换为的二叉树的示意图如图3所示,该二叉树中的叶子节点为第二批量任务执行完成、时间达到23:30、时间达到次日5:30、第一批量任务执行完成和到达当日4:00,其它节点均为非叶子节点。
步骤S102:对二叉树中的叶子节点进行至少一次扫描。
可以周期性的对二叉树中的叶子节点进行扫描,比如,每隔一定时长对二叉树中的所有叶子节点扫描一次,也就是说,对二叉树中的所有叶子节点扫描一次后,隔一定时长再次对二叉树中的所有叶子节点进行一次扫描。
或者,
可以对二叉树中的叶子节点轮询进行扫描,即不间断的对二叉树中的叶子节点进行扫描,也就是说,对二叉树中的所有叶子节点扫描一次后,立即再次对二叉树中的所有叶子节点进行一次扫描。
对叶子节点进行扫描的目的是为了判断各个子条件是否满足,因此,对于每个叶子节点,对应的判断结果为子条件满足,或者,子条件不满足。
步骤S103:每对二叉树中的叶子节点扫描一次,确定各个叶子节点的判断结果,并根据各个叶子节点的判断结果,以及二叉树得到所述逻辑条件的判断结果。
为便于叙述,将子条件满足记为true,将子条件不满足记为false,则每对二叉树中的叶子节点扫描一次,可以获得各个节点的true/false的判断结果,基于该判断结果,结合图2所示二叉树,可以得到第一逻辑条件的判断结果可能为(true||true)&&false,或者,可能为(true||true)&&true等,当然,根据实际的场景,也可能为其它的判断结果,这里不再一一举例说明。同理,基于该判断结果,结合图3所示二叉树,可以得到第二逻辑条件的判断结果可能为(true&&false)||(true||(true&&true)),或者,可能为(true&&false)||(false||(true&&true))等。
步骤S104:若步骤S103得到的逻辑条件的判断结果表征满足逻辑条件,将目标作业任务的状态修改为待执行状态以便于调度,并停止对二叉树的叶子节点进行扫描。
可以将逻辑条件的判断结果与逻辑条件对应的基准判断结果进行比对,若比对结果为二者相同,说明逻辑条件的判断结果表征满足条件,否则,说明逻辑条件的判断结果不满足条件。其中,基准判断结果表征逻辑条件满足了。
若步骤S103得到的逻辑条件的判断结果表征未满足逻辑条件,则保持目标作业任务的状态为未执行状态,并保持对二叉树的叶子节点进行扫描。
逻辑条件的判断结果表征满足逻辑条件,说明目标作业任务可以执行了,此时,将目标作业任务的状态修改为待执行状态。任何一个作业任务,可以至少四种状态,比如,未执行状态,待执行状态,执行状态,执行完成状态。或者,任何一个作业任务,可以至少包括五种状态,比如,未执行状态,待执行状态,执行状态,暂停状态,执行完成状态。
任何一个作业任务,其处于未执行状态时,是无法被调度的,只有进入待执行状态,才能被调度。在被调度过程中,该作业任务的状态可以在待执行状态,执行状态,执行完成状态这几种状态间切换,或者,在被调度过程中,该作业任务的状态可以在待执行状态,执行状态,暂停、执行完成状态这几种状态间切换。
本申请实施例提供的作业任务调度方法,对于每一个未执行的作业任务,将该作业任务对应的逻辑条件转换为二叉树,对二叉树中的叶子节点进行至少一次扫描,每扫描一次,确定各个叶子节点的执行结果,并根据各个叶子节点的执行结果以及二叉树得到逻辑条件的判断结果;若判断结果表征满足逻辑条件,将作业任务的状态修改为待执行以便于调度,并停止对二叉树的叶子节点进行扫描。基于本申请的方案,以每一个未执行的作业任务为扫描单位,对每个未执行的作业任务对应的逻辑条件中的所有子条件扫描一次才判断一次逻辑条件是否满足,与每个子条件完成就判断逻辑条件是否满足相比,降低了判断逻辑条件是否满足的频率,从而提高了作业任务的调度效率。
可选的,最小单位的子条件可以至少包括如下至少一种:作业任务完成,作业任务处于预设状态的时长达到预设时长,作业任务处于预设状态的时长超过预设时长,实时时间达到预设时间点,作业任务报错等等。
作业任务处于预设状态的时长可以包括但不限于以下任意一种:作业任务处于执行状态的时长,作业任务处于暂停状态的时长,作业任务处于待执行状态的时长等等。
基于本申请的方案,最小单位的子条件除了可以包含作业任务完成外,还可以包含其它条件,比如,与时间相关的条件,或者,作业任务异常等,因此,基于本申请可以增加可配置的逻辑条件的数量。
在一可选的实施例中,上述将目标作业任务对应的逻辑条件转换为二叉树的过程可以包括:
将逻辑条件解析为逆波兰式;具体解析过程采用已有的比较程序的解析算法,这里不再详述。
比如,假设逻辑条件为a&&b,则由该逻辑条件解析得到的逆波兰式为ab&&。
再比如,逻辑条件为:(作业任务A超过30分钟未执行||作业任务B执行时间超过了1小时)&&时间达到每日12点,则由该逻辑条件解析得到的逆波兰式为:作业任务A超过30分钟未执行作业任务B执行时间超过了1小时||时间达到每日12点&&。
根据逆波兰式构建二叉树。具体可以通过如下方式构建二叉树:
对逆波兰式中的元素逐个进行处理,包括:每从逆波兰式中获取一个元素,若该元素为子条件,将该元素作为子树压入栈中,若该元素为逻辑运算符,则将该逻辑运算符作为父节点,从栈中取出两个子树作为父节点的子节点,构成一个新的子树,并将该新的子树的标识(比如,指针)压入栈中;然后继续从逆波兰式中逐个获取元素,若该元素为子条件,将该元素作为子树压入栈中,若该元素为逻辑运算符,则将该逻辑运算符作为父节点,从栈中取出两个子树作为父节点的子节点,构成一个新的子树,并将该新的子树的标识(比如,指针)压入栈中,依此类推,直至逆波兰式中的元素均处理完。
比如,假设逻辑表达式为(A||B)&&C,则其对应的逆波兰式为AB||C&&,则基于该逆波兰式构建二叉树的过程可以包括:
该逆波兰式中的第一、二个元素分别为子条件A、B,因此,将子条件A、B先后作为子树压入栈中,该逆波兰式中的第三个元素为逻辑运算符||,因此,将逻辑运算符||作为父节点,从栈中依此取出B、A两个子树,作为父节点的子节点,构成一个新的子树,如图4a所示,为本申请实施例提供的子树的一个示例图。将指向该新的子树的指针压入栈中,然后继续从逆波兰式中获取元素,此时获取到的元素为子条件C,将其作为一个子树压入栈中,继续从逆波兰式中获取元素,此时获取到的元素为逻辑运算符&&,则将该逻辑运算符&&作为父节点,从栈中依次取出指针和子树C,将指针指向的子树和子树C作为父节点&&的子树,得到二叉树,如图4b所示,为基于逆波兰式AB||C&&构建的二叉树的示例图。
在一可选的实施例中,在构建得到二叉树后,还可以显示该二叉树,以及二叉树中各个叶子节点的判断结果。可以在客户端设备显示二叉树。
可选的,可以在获取到用户触发的针对目标作业任务的二叉树显示指令后,响应于该二叉树显示指令而显示二叉树。
通过显示二叉树及各个叶子节点的判断结果,可以使用户更清楚的知道目标作业任务对应的逻辑条件是否满足。
可选的,可以将不同判断结果的叶子节点以不同的标志进行标记,从而使得用户更快捷的确定哪些子条件已满足,哪些子条件还未满足。
在一可选的实施例中,可以只显示二叉树,而不显示二叉树中各个叶子节点的判断结果。
在一可选的实施例中,不管是否显示二叉树中各叶子节点的判断结果,在显示二叉树后,均可以对二叉树进行编辑。基于此,在显示二叉树后,本申请实施例提供的作业任务调度方法还可以包括:
获取针对二叉树的编辑指令,该编辑指令可以由用户执行预置操作而触发,比如,短按预设按键触发该编辑指令,或者,长按预设按键而触发该编辑指令,或者,短按至少两个预设按键的组合而触发该编辑指令等等。本申请中涉及的按键可以是物理按键,也可以虚拟按键。
响应于编辑指令,控制二叉树进入可编辑状态。在控制二叉树进入可编辑状态后,用户就可以对二叉树进行编辑了。用户可以在二叉树中添加节点、删除节点或者修改节点。
由于二叉树的可读性高于逻辑条件的可读性,因此,通过修改二叉树的方式修改逻辑条件,可以提高逻辑条件修改效率。
进一步的,在获取用于指示修改完成的确定指令时,保存修改后的二叉树,并退出可编辑模式。
进一步的,在保存修改后的二叉树后,还可以根据二叉树生成新的逻辑条件,并用该新的逻辑条件替换数据库中的逻辑条件。
由于调度过程中是对二叉树进行扫描,而不是对逻辑条件进行扫描,因此,可以不用同步对逻辑条件进行替换,可以选择调度系统的闲时时间段再进行逻辑条件的替换。
与方法的实施例相对应,本申请实施例还提供一种作业任务调度装置,本申请实施例提供的作业任务调度装置的一种结构示意图如图5所示,可以包括:
转换模块501,扫描模块502,判断模块503和控制模块504;其中,
转换模块501用于将目标作业任务对应的逻辑条件转换为二叉树,所述二叉树中的叶子节点为所述逻辑条件中的最小单位的子条件,所述二叉树中的非叶子节点为所述逻辑条件中的逻辑运算符;所述目标作业任务为任意一个未执行的作业任务;
扫描模块502用于对所述二叉树中的叶子节点进行至少一次扫描;
判断模块503用于每对所述二叉树中的叶子节点扫描一次,确定各个叶子节点的判断结果,并根据各个叶子节点的判断结果,以及所述二叉树得到所述逻辑条件的判断结果;
控制模块504用于若所述逻辑条件的判断结果表征满足所述逻辑条件,将所述目标作业任务的状态修改为待执行状态以便于调度,并停止对所述二叉树的叶子节点进行扫描。
本申请实施例提供的作业任务调度装置,对于每一个未执行的作业任务,将该作业任务对应的逻辑条件转换为二叉树,对二叉树中的叶子节点进行扫描,每扫描一次,确定各个叶子节点的执行结果,并根据各个叶子节点的执行结果以及二叉树得到逻辑条件的判断结果;若判断结果表征满足逻辑条件,将作业任务的状态修改为待执行以便于调度,并停止对二叉树的叶子节点进行扫描。基于本申请的方案,以每一个未执行的作业任务为扫描单位,对每个未执行的作业任务对应的逻辑条件中的所有子条件扫描一次才判断一次逻辑条件是否满足,与每个子条件完成就判断逻辑条件是否满足相比,降低了判断逻辑条件是否满足的频率,从而提高了作业任务的调度效率。
在一可选的实施例中,转换模块501可以包括:
解析模块,用于将所述逻辑条件解析为逆波兰式;
构建模块,用于根据所述逆波兰式构建所述二叉树。
在一可选的实施例中,所述最小单位的子条件至少包括如下至少一种:
作业任务完成,作业任务处于预设状态的时长达到预设时长,作业任务处于预设状态的时长超过预设时长,达到预设时间点,作业任务报错。
在一可选的实施例中,扫描模块502可以用于对所述二叉树中的叶子节点进行轮询扫描。
在一可选的实施例中,扫描模块502可以用于周期性对所述二叉树中的叶子节点进行扫描。
在一可选的实施例中,本申请实施例提供的作业任务调度装置还可以包括:
显示模块,用于显示所述二叉树,以及所述二叉树中各个叶子节点的判断结果。
在一可选的实施例中,本申请实施例提供的作业任务调度装置还可以包括:
显示模块,用于显示二叉树,可以显示所述二叉树中各个叶子节点的判断结果,也可以不显示所述二叉树中各个叶子节点的判断结果。
编辑模块,用于获取针对所述二叉树的编辑指令;响应于所述编辑指令,控制所述二叉树进入可编辑状态。
本申请实施例提供的作业任务调度装置可应用于作业任务调度设备,如PC终端、云平台、服务器及服务器集群等。可选的,图6示出了作业任务调度设备的硬件结构框图,参照图6,作业任务调度设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
将目标作业任务对应的逻辑条件转换为二叉树,所述二叉树中的叶子节点为所述逻辑条件中的最小单位的子条件,所述二叉树中的非叶子节点为所述逻辑条件中的逻辑运算符;所述目标作业任务为任意一个未执行的作业任务;
对所述二叉树中的叶子节点进行至少一次扫描;
每对所述二叉树中的叶子节点扫描一次,确定各个叶子节点的判断结果,并根据各个叶子节点的判断结果,以及所述二叉树得到所述逻辑条件的判断结果;
若所述逻辑条件的判断结果表征满足所述逻辑条件,将所述目标作业任务的状态修改为待执行状态以便于调度,并停止对所述二叉树的叶子节点进行扫描。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
将目标作业任务对应的逻辑条件转换为二叉树,所述二叉树中的叶子节点为所述逻辑条件中的最小单位的子条件,所述二叉树中的非叶子节点为所述逻辑条件中的逻辑运算符;所述目标作业任务为任意一个未执行的作业任务;
对所述二叉树中的叶子节点进行至少一次扫描;
每对所述二叉树中的叶子节点扫描一次,确定各个叶子节点的判断结果,并根据各个叶子节点的判断结果,以及所述二叉树得到所述逻辑条件的判断结果;
若所述逻辑条件的判断结果表征满足所述逻辑条件,将所述目标作业任务的状态修改为待执行状态以便于调度,并停止对所述二叉树的叶子节点进行扫描。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种作业任务调度方法,其特征在于,包括:
将目标作业任务对应的逻辑条件转换为二叉树,所述二叉树中的叶子节点为所述逻辑条件中的最小单位的子条件,所述二叉树中的非叶子节点为所述逻辑条件中的逻辑运算符;所述目标作业任务为任意一个未执行的作业任务;
对所述二叉树中的叶子节点进行至少一次扫描;
每对所述二叉树中的叶子节点扫描一次,确定各个叶子节点的判断结果,并根据各个叶子节点的判断结果,以及所述二叉树得到所述逻辑条件的判断结果;
若所述逻辑条件的判断结果表征满足所述逻辑条件,将所述目标作业任务的状态修改为待执行状态以便于调度,并停止对所述二叉树的叶子节点进行扫描;
其中,所述将目标作业任务对应的逻辑条件转换为二叉树,包括:
将所述逻辑条件解析为逆波兰式;
根据所述逆波兰式构建所述二叉树。
2.根据权利要求1所述的方法,其特征在于,所述最小单位的子条件至少包括如下至少一种:
作业任务完成,作业任务处于预设状态的时长达到预设时长,作业任务处于预设状态的时长超过预设时长,达到预设时间点,作业任务报错。
3.根据权利要求1所述的方法,其特征在于,所述对所述二叉树中的叶子节点进行至少一次扫描,包括:
对所述二叉树中的叶子节点进行轮询扫描。
4.根据权利要求1所述的方法,其特征在于,所述对所述二叉树中的叶子节点进行至少一次扫描,包括:
周期性对所述二叉树中的叶子节点进行扫描。
5.根据权利要求1所述的方法,其特征在于,还包括:
显示所述二叉树,以及所述二叉树中各个叶子节点的判断结果。
6.根据权利要求1或5所述的方法,其特征在于,还包括:
在显示所述二叉树后,获取针对所述二叉树的编辑指令;
响应于所述编辑指令,控制所述二叉树进入可编辑状态。
7.一种作业任务调度装置,其特征在于,包括:
转换模块,用于将目标作业任务对应的逻辑条件转换为二叉树,所述二叉树中的叶子节点为所述逻辑条件中的最小单位的子条件,所述二叉树中的非叶子节点为所述逻辑条件中的逻辑运算符;所述目标作业任务为任意一个未执行的作业任务;
扫描模块,用于对所述二叉树中的叶子节点进行至少一次扫描;
判断模块,用于每对所述二叉树中的叶子节点扫描一次,确定各个叶子节点的判断结果,并根据各个叶子节点的判断结果,以及所述二叉树得到所述逻辑条件的判断结果;
控制模块,用于若所述逻辑条件的判断结果表征满足所述逻辑条件,将所述目标作业任务的状态修改为待执行状态以便于调度,并停止对所述二叉树的叶子节点进行扫描;
所述转换模块包括:
解析模块,用于将所述逻辑条件解析为逆波兰式;
构建模块,用于根据所述逆波兰式构建所述二叉树。
8.一种作业任务调度设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1-6中任一项所述的作业任务调度方法的各个步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-6中任一项所述的作业任务调度方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011569339.5A CN112633710B (zh) | 2020-12-26 | 2020-12-26 | 作业任务调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011569339.5A CN112633710B (zh) | 2020-12-26 | 2020-12-26 | 作业任务调度方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112633710A CN112633710A (zh) | 2021-04-09 |
CN112633710B true CN112633710B (zh) | 2023-10-13 |
Family
ID=75325134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011569339.5A Active CN112633710B (zh) | 2020-12-26 | 2020-12-26 | 作业任务调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112633710B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115061807A (zh) * | 2022-07-27 | 2022-09-16 | 中建电子商务有限责任公司 | 一种任务按需生成与调度执行的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2850476A1 (fr) * | 2003-01-28 | 2004-07-30 | Cit Alcatel | Procede et dispositif perfectionnes de gestion d'un calendrier de ressources |
JP2009211312A (ja) * | 2008-03-03 | 2009-09-17 | Fujitsu Ltd | 評価方法および検索装置 |
CN103440331A (zh) * | 2013-09-05 | 2013-12-11 | 五八同城信息技术有限公司 | 基于逆波兰和多叉树的搜索引擎查询语句解析方法 |
CN109960186A (zh) * | 2017-12-25 | 2019-07-02 | 北京创昱科技有限公司 | 控制流程的处理方法、装置、电子设备和存储介质 |
CN111813515A (zh) * | 2020-06-29 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 基于多进程的任务调度方法、装置、计算机设备及介质 |
CN111861100A (zh) * | 2020-06-03 | 2020-10-30 | 广东电网有限责任公司 | 一种基于流程评分的工单处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180336532A1 (en) * | 2017-05-16 | 2018-11-22 | Microsoft Technology Licensing, Llc | Calendar range searching |
-
2020
- 2020-12-26 CN CN202011569339.5A patent/CN112633710B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2850476A1 (fr) * | 2003-01-28 | 2004-07-30 | Cit Alcatel | Procede et dispositif perfectionnes de gestion d'un calendrier de ressources |
JP2009211312A (ja) * | 2008-03-03 | 2009-09-17 | Fujitsu Ltd | 評価方法および検索装置 |
CN103440331A (zh) * | 2013-09-05 | 2013-12-11 | 五八同城信息技术有限公司 | 基于逆波兰和多叉树的搜索引擎查询语句解析方法 |
CN109960186A (zh) * | 2017-12-25 | 2019-07-02 | 北京创昱科技有限公司 | 控制流程的处理方法、装置、电子设备和存储介质 |
WO2019128150A1 (zh) * | 2017-12-25 | 2019-07-04 | 北京创昱科技有限公司 | 控制流程的处理方法、装置、电子设备和存储介质 |
CN111861100A (zh) * | 2020-06-03 | 2020-10-30 | 广东电网有限责任公司 | 一种基于流程评分的工单处理方法及装置 |
CN111813515A (zh) * | 2020-06-29 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 基于多进程的任务调度方法、装置、计算机设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112633710A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2378689C2 (ru) | Система и способ для контроля сети | |
US20140277597A1 (en) | System and method for managing industrial processes | |
CN110119306B (zh) | 作业自动调度均衡方法、装置、设备及存储介质 | |
CN109669835B (zh) | MySQL数据库监控方法、装置、设备及可读存储介质 | |
CN112633710B (zh) | 作业任务调度方法、装置、设备及存储介质 | |
CN110990142A (zh) | 并发任务处理方法、装置、计算机设备和存储介质 | |
CN111428900A (zh) | 会议室管理方法、装置、电子设备及存储介质 | |
CN108111346B (zh) | 告警关联分析中频繁项集的确定方法、装置及存储介质 | |
CN104731062A (zh) | 一种用于仪表状态监控及调度的智能网络管理系统及方法 | |
JP2010128597A (ja) | 情報処理装置及び情報処理装置の運用方法 | |
CN109559121B (zh) | 交易路径调用异常分析方法、装置、设备及可读存储介质 | |
CN110704278A (zh) | 一种智能服务器管理系统及其管理方法 | |
WO2016169189A1 (zh) | 病毒扫描方法和病毒扫描装置 | |
KR101539619B1 (ko) | 패턴정보를 이용한 리소스 변경 여부 결정 장치 및 방법과 이를 이용한 기록매체 | |
US9575865B2 (en) | Information processing system and monitoring method | |
CN110324837B (zh) | 一种网络管理方法和装置 | |
US20150154279A1 (en) | Apparatus and method for building relation model based on resource management architecture | |
CN114265750A (zh) | 一种监控指标的采集方法、装置、电子设备及存储介质 | |
CN115391318A (zh) | 过期数据的清除方法、装置、存储介质及计算机设备 | |
CN114157546A (zh) | 基于人工智能物联网平台应用于数字工厂解决方法 | |
CN111679899B (zh) | 任务调度方法、装置、平台设备及存储介质 | |
JP5475736B2 (ja) | 運用管理システム及びその監視設定方法 | |
CN113377616B (zh) | 接口监控方法、装置以及计算机可读介质 | |
JP6706589B2 (ja) | 監視装置、監視方法およびプログラム | |
CN114237849A (zh) | 一种任务处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |