一种系统后台自动运行方案的任务配置和运行方法与流程

文档序号:32394379发布日期:2022-11-30 09:40阅读:150来源:国知局

1.本发明涉及后端开发领域,特别是涉及一种系统后台自动运行方案的任务配置和运行方法。


背景技术:

2.目前系统开发的自动运行方案根据项目需求进行定制性开发,这样可以提高开发速度,同时满足复杂的逻辑控制功能,但满足不了系统自动运行多样化及随意性变化的需要。只要系统后面的功能要求有变化,就要修改程序文件。有的系统的自动运行方案是变化的,为了满足系统的可变性需要,就要能够实现可设置为一对一,一对多,多对一,多对多的自动运行关系,按传统的设计方法无法满足随意性变化的功能需求。


技术实现要素:

3.本发明目的是针对背景技术中存在的问题,提出一种能满足运行方案随意性变化功能需求的系统后台自动运行方案的任务配置和运行方法。
4.本发明的技术方案,一种系统后台自动运行方案的任务配置和运行方法,包括如下步骤:
5.s1、首先在浏览器中输入场景名称,然后选择执行类型、输入条件以及输出条件,将这些基本的输入通过后端存入数据库和redis中;
6.s2、在项目启动时,查看是否开启了场景运行的线程,如果没开启,则开启一个新线程来运行所有场景任务;
7.s3、场景运行线程逻辑描述:
8.首先遍历所有场景,遍历过程中查看是否满足结束条件,结束条件:场景个数为0;然后判断场景开关状态,如果场景开启了,先判断场景的运行状态是待运行、运行中和已完成三种运行状态中的哪一种,然后再判断场景的执行类型;
9.s3.1、当场景运行状态为待运行时,进一步判断强制关闭标志位是否被设置,如果是被强制关闭,则修改数据库中对应的运行状态标志位,如果不是被强制关闭的,则正常执行开启流程;
10.s3.2、当场景运行状态为运行中时,则判断是否满足执行完成条件,遍历所有输出条件,判断输出条件的状态是什么:
11.如果是执行数值发送中或者是完成数值发送中状态,则判断上次发送时间是否已经超过一分钟,如果超过一分钟且还是该状态,则认为发送失败,进行重新发送;
12.如果是执行中状态,则判断输出条件的结束类型是“自定义时间”还是“输入条件不满足”,如果是“自定义时间”,判断当前时间是否大于自定义时间,如果当前时间大于自定义时间,则执行完成数值;如果是“输入条件不满足”,先判断是否设置了延迟标志位,如果没设置延迟标志位,则判断输入条件是否满足,如果不满足,则设置延迟标志位,并将超时时间和延迟时间进行累加,当超时时间再次到达时,已经设置了标志位,再判断一次输入
条件是否满足,如果还是不满足,则执行完成数值,如果满足,将延迟标志位清空。
13.优选的,步骤s3.1中,执行类型主要有执行一次、连续循环和自定义周期共三种执行类型,三种执行类型都需要判断是否满足输入条件;
14.执行一次:先查看是否已经执行过,如果执行过了则跳过,否则判断是否满足输入条件;
15.连续循环:直接判断是否满足输入条件;
16.自定义周期:将当前时间和自定义周期的时间进行比较,如果匹配成功则判断是否满足输入条件。
17.优选的,输入条件逻辑的描述:
18.如果执行类型不满足输入条件,则跳过;
19.如果执行类型满足输入条件,则判断输出条件是什么类型,主要有两种类型,分别是同时控制和顺序控制;输出条件类型为同时控制时,同时执行所有输出条件;输出条件类型为顺序控制时,执行第一个输出条件,执行成功后再修改redis和数据库中对应的状态标志位。
20.与现有技术相比,本发明具有如下有益的技术效果:
21.本发明中,先根据场景的运行状态是待运行、运行中和已完成三种运行状态中的哪一种,然后再判断场景的执行类型。其中,当场景运行状态为待运行时,执行类型分为执行一次、连续循环和自定义周期共三种执行类型。当场景运行状态为运行中时,则判断是否满足执行完成条件,遍历所有输出条件,判断输出条件的状态,根据输出条件的状态来作出相应处理。综合而言,本发明能满足系统后台运行方案随意性变化的功能需求。
具体实施方式
22.本实施例提出的一种系统后台自动运行方案的任务配置和运行方法,包括如下步骤:
23.s1、首先在浏览器中输入场景名称,然后选择执行类型、输入条件以及输出条件,将这些基本的输入通过后端存入数据库和redis中,存入数据库的目的是将数据进行持久化,而存入redis的目的是为了在场景运行的过程中提高效率。
24.s2、在项目启动时,查看是否开启了场景运行的线程,如果没开启,则开启一个新线程来运行所有场景任务。
25.s3、场景运行线程逻辑描述:
26.首先遍历所有场景,遍历过程中查看是否满足结束条件,结束条件:场景个数为0,因为在遍历的过程中,可能会删除场景;然后判断场景开关状态,如果场景开启了,先判断场景的运行状态是待运行、运行中和已完成三种运行状态中的哪一种,然后再判断场景的执行类型。
27.s3.1、当场景运行状态为待运行时,进一步判断强制关闭标志位是否被设置,如果是被强制关闭,则修改数据库中对应的运行状态标志位,如果不是被强制关闭的,则正常执行开启流程。
28.执行类型主要有执行一次(a1)、连续循环(a2)和自定义周期(a3)共三种执行类型,三种执行类型都需要判断是否满足输入条件;
29.a1、执行一次:先查看是否已经执行过,如果执行过了则跳过,否则判断是否满足输入条件;
30.a2、连续循环:直接判断是否满足输入条件;
31.a3、自定义周期:将当前时间和自定义周期的时间进行比较,如果匹配成功则判断是否满足输入条件。
32.输入条件逻辑的描述,分为如下b1和b2共两种情况:
33.b1、如果执行类型不满足输入条件,则跳过;
34.b2、如果执行类型满足输入条件,则判断输出条件是什么类型,主要有两种类型,分别是同时控制和顺序控制;输出条件类型为同时控制时,同时执行所有输出条件;输出条件类型为顺序控制时,执行第一个输出条件,执行成功后再修改redis和数据库中对应的状态标志位。
35.s3.2、当场景运行状态为运行中时,则判断是否满足执行完成条件,遍历所有输出条件,判断输出条件的状态是什么:
36.如果输出条件的状态是执行数值发送中或者是完成数值发送中状态,则判断上次发送时间是否已经超过一分钟,如果超过一分钟且还是该状态,则认为发送失败,进行重新发送。
37.如果输出条件的状态是执行中状态,则判断输出条件的结束类型是“自定义时间”还是“输入条件不满足”,如果是“自定义时间”,判断当前时间是否大于自定义时间,如果当前时间大于自定义时间,则执行完成数值;如果是“输入条件不满足”,先判断是否设置了延迟标志位,如果没设置延迟标志位,则判断输入条件是否满足,如果不满足,则设置延迟标志位,并将超时时间和延迟时间进行累加,当超时时间再次到达时,已经设置了标志位,再判断一次输入条件是否满足,如果还是不满足,则执行完成数值,如果满足,将延迟标志位清空。
38.本实施例中,先根据场景的运行状态是待运行、运行中和已完成三种运行状态中的哪一种,然后再判断场景的执行类型。其中,当场景运行状态为待运行时,执行类型分为执行一次、连续循环和自定义周期共三种执行类型。当场景运行状态为运行中时,则判断是否满足执行完成条件,遍历所有输出条件,判断输出条件的状态,根据输出条件的状态来作出相应处理。综合而言,本实施例能满足系统后台运行方案随意性变化的功能需求。
39.上面对本发明的实施方式作了详细说明,但是本发明并不限于此,在所属技术领域的技术人员所具备的知识范围内,在不脱离本发明宗旨的前提下还可以作出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1