本技术涉及任务执行控制,应用于银行线上活动业务执行场景中,尤其涉及一种任务执行控制方法、装置、设备及其存储介质。
背景技术:
1、目前,银行或者各地优惠平台,为了促进客户参与性,有时会设计定时任务,例如:用户需要在特定时间段内完成点击,才能进入下一步活动,此时,需要记录用户的点击时间。
2、如果客户较多,且同一时间登入平台进行点击操作,系统会进入高并发状态,而且,也会存在非法客户重复刷任务,提交任务处理请求的情况,容易造成活动服务器压力过大而崩溃。目前,为了解决这个问题,往往采用提交表单增加令牌的方式来解决,具体的,通常采用后端生成令牌保存到sess i on中,页面初始化时获取到此令牌,前端向后端发起请求时附带此令牌,后端收到请求后对令牌进行校验,如果sess i on中存在此令牌,则判定此请求为有效请求,处理完成后删除此令牌,如果sess i on中不存在此令牌,则此请求无效或者为重复请求,在判断数据是否重复提交时,需要后端事先生成令牌,同时前端需要调用额外请求获取到此令牌,每个表单提交时都需要额外的附加上此令牌字段,易造成活动服务器压力过大,产生宕机的问题。
技术实现思路
1、本技术实施例的目的在于提出一种任务执行控制方法、装置、设备及其存储介质,以解决现有技术中非法客户重复刷任务和提交任务处理请求,容易造成活动服务器压力过大而崩溃的问题。
2、为了解决上述技术问题,本技术实施例提供任务执行控制方法,采用了如下所述的技术方案:
3、一种任务执行控制方法,包括下述步骤:
4、检测到前端点击请求时,获取本次点击请求的请求数据缓存到预设的拦截组件,并识别本次被点击对象与上一次被点击对象是否一致;
5、若本次被点击对象与上一次被点击对象一致,则判断所述被点击对象是否仅能触发唯一下游任务,其中,所述下游任务包括银行线上活动业务;
6、若所述被点击对象仅能触发唯一下游任务,则判断所述唯一下游任务是否存在执行时间间隔限制;
7、若所述唯一下游任务存在执行时间间隔限制,则获取本次点击与上一次点击的时间差值,对比所述时间差值与执行时间间隔信息的大
8、小关系;
9、若所述时间差值未超过所述执行时间间隔信息,则根据预设的调整策略进行下一步程序处理;
10、若所述时间差值超过了所述执行时间间隔信息,则根据所述请求数据执行所述唯一下游任务;
11、若所述唯一下游任务不存在执行时间间隔限制,则根据所述请求数据执行所述唯一下游任务;
12、若所述被点击对象能触发多个下游任务,则继续检测前端的后续点击请求;
13、若本次被点击对象与上一次被点击对象不一致,则根据所述请求数据触发相应的下游任务。
14、进一步的,在检测到前端点击请求时,所述方法还包括:
15、获取系统当前时间信息作为点击记录时间信息;以及,
16、创建毫秒级计时器,进行计时;
17、在执行所述根据所述请求数据执行所述唯一下游任务时,所述方法还包括:
18、删除上一次点击请求时的点击记录时间信息,以及
19、删除上一次点击请求时所创建的毫秒级计时器。
20、进一步的,所述判断所述被点击对象是否仅能触发唯一下游任务的步骤,具体包括:
21、根据预设的第一映射表和所述点击对象的对象区别标识信息,进行筛查,筛查出需通过所述点击对象进行触发的所有下游任务,其中,所述第一映射表中包含了对象区别标识信息与所有下游任务间的触发映射关系;
22、根据筛查结果,统计需通过所述点击对象进行触发的所有下游任务数量;
23、若所述数量为0,则所述被点击对象不能触发任何下游任务;
24、若所述数量为1,则所述被点击对象仅能触发唯一下游任务;
25、若所述数量大于1,则所述被点击对象能触发多个下游任务。
26、进一步的,所述判断所述唯一下游任务是否存在执行时间间隔限制的步骤,具体包括:
27、将所述唯一下游任务的任务标识信息作为检索字段,对预设的第二映射表进行检索,获得检索结果,其中,所述第二映射表中包含了任务标识信息与对应执行时间间隔信息的映射关系,且所述第二映射表中的执行时间间隔信息以“二进制编码+单位符号”的格式缓存;
28、若所述检索结果为空值,则所述唯一下游任务不存在执行时间间隔限制;
29、若所述检索结果非为空值,则所述唯一下游任务存在执行时间间隔限制,记录所述执行时间间隔信息。
30、进一步的,所述获取本次点击与上一次点击的时间差值的步骤,具体包括:
31、识别上一次点击请求时所创建的毫秒级计时器的计时结果作为所述时间差值,或者,
32、根据本次点击请求时的点击记录时间信息和上一次点击请求时的点击记录时间信息,进行差值运算,将所述差值运算结果作为所述时间差值。
33、进一步的,所述对比所述时间差值与所述执行时间间隔信息的大小关系的步骤,具体包括:
34、对所述“二进制编码+单位符号”格式的执行时间间隔信息,进行拆分处理;
35、获取所述执行时间间隔信息对应的二进制编码和单位符号,其中,所述单位符号包括年、月、日、小时、分钟、秒、毫秒中的任意一种;
36、对所述时间差值进行转换,将其转换为所述单位符号下对应的数值;
37、对所述二进制编码进行十进制转化,获得十进制转化值;
38、对所述数值和所述十进制转化值进行大小关系比较;
39、若所述数值小于等于所述十进制转化值,则所述时间差值未超过所述执行时间间隔信息;
40、若所述数值大于所述十进制转化值,则所述时间差值超过了所述执行时间间隔信息。
41、进一步的,所述根据预设的调整策略进行下一步程序处理的步骤,具体包括:
42、若所述唯一下游任务设置了延迟自动处理机制,则将本次点击时创建的毫秒级计时器的数值重置为0且终止计时,以及计算所述时间差值与所述执行时间间隔信息间的差值信息,基于所述差值信息创建定时器,进行延迟处理倒计时,直到达到延迟处理时间,根据所述请求数据执行所述唯一下游任务,并删除所述定时器和重新启动所述毫秒级计时器进行计时;
43、若所述唯一下游任务未设置延迟处理机制,则清除所述拦截组件中本次点击请求的请求数据,并删除本次点击时创建的毫秒级计时器和删除本次点击时的点击记录时间信息。
44、为了解决上述技术问题,本技术实施例还提供任务执行控制装置,采用了如下所述的技术方案:
45、一种任务执行控制装置,包括:
46、被点击对象一致性识别模块,用于检测到前端点击请求时,获取本次点击请求的请求数据缓存到预设的拦截组件,并识别本次被点击对象与上一次被点击对象是否一致;
47、下游任务触发唯一性判断模块,用于若本次被点击对象与上一次被点击对象一致,则判断所述被点击对象是否仅能触发唯一下游任务,其中,所述下游任务包括银行线上活动业务;
48、执行限制性判断模块,用于若所述被点击对象仅能触发唯一下游任务,则判断所述唯一下游任务是否存在执行时间间隔限制;
49、时间大小关系对比模块,用于若所述唯一下游任务存在执行时间间隔限制,则获取本次点击与上一次点击的时间差值,对比所述时间差值与执行时间间隔信息的大小关系;
50、第一分支执行模块,用于若所述时间差值未超过所述执行时间间隔信息,则根据预设的调整策略进行下一步程序处理;
51、第二分支执行模块,用于若所述时间差值超过了所述执行时间间隔信息,则根据所述请求数据执行所述唯一下游任务;
52、第三分支执行模块,用于若所述唯一下游任务不存在执行时间间隔限制,则根据所述请求数据执行所述唯一下游任务;
53、第四分支执行模块,用于若所述被点击对象能触发多个下游任务,则继续检测前端的后续点击请求;
54、第五分支执行模块,用于若本次被点击对象与上一次被点击对象不一致,则根据所述请求数据触发相应的下游任务。
55、为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:
56、一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述所述的任务执行控制方法的步骤。
57、为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
58、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的任务执行控制方法的步骤。
59、与现有技术相比,本技术实施例主要有以下有益效果:
60、本技术实施例所述任务执行控制方法,在检测到前端点击请求时,获取本次点击请求的请求数据缓存到预设的拦截组件,并通过识别本次被点击对象与上一次被点击对象是否一致;被点击对象是否仅能触发唯一下游任务;该唯一下游任务是否存在执行时间间隔限制,对比两次点击的时间差值与执行时间间隔信息的大小关系,从而根据不同的判断情况进行任务执行,能够防止任务在特定时间范围内非法执行过多次数,也能够有效防止请求数据重复多次提交,减小活动服务器的压力。
1.一种任务执行控制方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的任务执行控制方法,其特征在于,在检测到前端点击请求时,所述方法还包括:
3.根据权利要求1所述的任务执行控制方法,其特征在于,所述判断所述被点击对象是否仅能触发唯一下游任务的步骤,具体包括:
4.根据权利要求1所述的任务执行控制方法,其特征在于,所述判断所述唯一下游任务是否存在执行时间间隔限制的步骤,具体包括:
5.根据权利要求2所述的任务执行控制方法,其特征在于,所述获取本次点击与上一次点击的时间差值的步骤,具体包括:
6.根据权利要求4所述的任务执行控制方法,其特征在于,所述对比所述时间差值与所述执行时间间隔信息的大小关系的步骤,具体包括:
7.根据权利要求1至6任一项所述的任务执行控制方法,其特征在于,所述根据预设的调整策略进行下一步程序处理的步骤,具体包括:
8.一种任务执行控制装置,其特征在于,包括:
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的任务执行控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的任务执行控制方法的步骤。