一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于周期性数据平衡统计的阻断业务之间循环调用的方法与流程

2022-07-23 02:55:15 来源:中国专利 TAG:

1.本发明涉及一种基于概率论统计的方式检测周期性数据平衡的数据结构设计方法实现阻断业务之间的循环调用的方法,属于计算机程序测试技术领域。


背景技术:

2.在低代码平台中,用户可以自定义了多个程序方法,并且它们中存在相互调用的情况。此时就可能出现循环调用的场景。现有的解决方法就是通过人工审查的方式来判断。由于用户隐私以及程序数量庞大,导致人工处理无法进行。所以需要一种可以自动半断的算法来解决这一痛点。


技术实现要素:

3.发明目的:为了克服现有技术中存在的不足,本发明提供一种基于周期性数据平衡统计的阻断业务之间循环调用的方法,本发明结合了滑动窗口、平均值、方差和变异系数来判断程序/方法运行时是否发生循环, 能够解决平均值、方差和变异系数各自判断上的不足,同时引入了滑动窗口概念,为其提供基本的数据模型支撑。
4.技术方案:为实现上述目的,本发明采用的技术方案为:一种基于周期性数据平衡统计的阻断业务之间循环调用的方法,包括以下步骤:步骤1,获取待检测的程序。
5.步骤2,根据待检测的程序确定执行时间,在执行时间上截取的一段时间窗口作为滑动窗口,将滑动窗口划分为n个指定时间单元。同时确定待检测的程序在执行时间内的执行平均次数阈值、执行次数方差阈值以及执行变异系数阈值。
6.步骤3,在步骤2中确定的执行时间上运行待检测的程序,获取待检测的程序的执行次数。进而得到n个指定时间单元内的待检测的程序的执行次数,将指定时间单元内的待检测的程序的执行次数记为滑动窗口时间内执行次数,则得到n个滑动窗口时间内执行次数,将n个滑动窗口时间内执行次数组成有效执行次数数据组。
7.步骤4,根据有效执行次数数据组进而得到有效执行次数平均值、有效执行次数方差以及有效执行次数变异系数。
8.步骤5,判断有效执行次数平均值是否大于执行平均次数阈值,若有效执行次数平均值大于执行平均次数阈值,则进行步骤6。若有效执行次数平均值小于执行平均次数阈值,则进行步骤8。
9.步骤6,判断有效执行次数方差是否大于执行次数方差阈值,若有效执行次数方差小于执行次数方差阈值,则判断程序执行异常。若有效执行次数方差大于执行次数方差阈值,则进行步骤7。
10.步骤7,判断有效执行次数变异系数是否大于执行变异系数阈值,若有效执行次数变异系数小于执行变异系数阈值,则判断程序执行异常。若有效执行次数变异系数大于执行变异系数阈值,则进行步骤8。
11.步骤8,停止执行程序。
12.优选的:包括异常程序记录方法,记录每一个被判断为执行异常的程序,待检测的程序执行前,先检测待检测的程序是否在被记录为执行异常的程序,若是,则直接判定待检测的程序为执行异常的程序,若不是,则进行程序执行。
13.优选的:执行变异系数为反应有效执行次数数据组的相对的变化率的系数。
14.优选的:执行变异系数的计算方法为:变异系数=标准差/平均数*100。
15.本发明相比现有技术,具有以下有益效果:本发明引入滑动窗口概念,弥补平均值、方差和变异系数各自判断上的不足,不仅能够判断是否为循环,同时提升了判断效率。
附图说明
16.图1为本发明实施例的流程示意图。
具体实施方式
17.下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
18.一种基于周期性数据平衡统计的阻断业务之间循环调用的方法,如图1所示,包括以下步骤:步骤1,获取待检测的程序。
19.步骤2,根据待检测的程序确定执行时间,在执行时间上截取的一段时间窗口作为滑动窗口,将滑动窗口划分为n个指定时间单元。同时确定待检测的程序在执行时间内的执行平均次数阈值、执行次数方差阈值以及执行变异系数阈值。
20.步骤3,先检测待检测的程序是否在被记录为执行异常的程序,若是,则直接判定待检测的程序为执行异常的程序,若不是,在步骤2中确定的执行时间上运行待检测的程序,获取待检测的程序的执行次数。进而得到n个指定时间单元内的待检测的程序的执行次数,将指定时间单元内的待检测的程序的执行次数记为滑动窗口时间内执行次数,则得到n个滑动窗口时间内执行次数,将n个滑动窗口时间内执行次数组成有效执行次数数据组。
21.步骤4,根据有效执行次数数据组进而得到有效执行次数平均值、有效执行次数方差以及有效执行次数变异系数。
22.执行变异系数为反应有效执行次数数据组的相对的变化率的系数。执行变异系数的计算方法为:变异系数=标准差/平均数*100。
23.步骤5,判断有效执行次数平均值是否大于执行平均次数阈值,若有效执行次数平均值大于执行平均次数阈值,则进行步骤6。若有效执行次数平均值小于执行平均次数阈值,则进行步骤8。
24.步骤6,判断有效执行次数方差是否大于执行次数方差阈值,若有效执行次数方差小于执行次数方差阈值,则判断程序执行异常,记录被判断为执行异常的程序。若有效执行次数方差大于执行次数方差阈值,则进行步骤7。
25.步骤7,判断有效执行次数变异系数是否大于执行变异系数阈值,若有效执行次数
变异系数小于执行变异系数阈值,则判断程序执行异常,记录被判断为执行异常的程序。若有效执行次数变异系数大于执行变异系数阈值,则进行步骤8。
26.滑动窗口是指在程序方法执行时间进行的时间线上截取的一段时间窗口,此窗口是随着时间向前滑动的。因此其解决了如何获得判断数据的问题。程序执行的次数是不确定的,执行时间也是无法界定的。需要将程序的执行放在一个指定的时间范围内才能进行有效的分析处理。同时将窗口划分为若干个指定时间单元,这样就可以获得一组有效的执行次数数据。
27.获得数据后就可以运用已有的统计分析工具进行处理分析。首先使用的是计算这组数据的平均值,它反应的程序单位时间内的执行次数,根据实际业务场景来判断是否异常。但它有着很大的局限性。可能再某个单位时间由于特殊的业务场景的存在,拉高了平均值就会差生误判。因此需要计算每个单位时间的执行次数是否接近来做进一步的判断。
28.方差是能够反应一组数据的差异程度的,当方差很小是则说明这组数据都是比较接近的。但如果数据非常大则准确度就会下降,此时就需要再进一步判断变异系数。
29.变异系数是反应一组数据的相对的变化率的,在数字特别大的时候能够很好的获得一组数据的波动情况。
30.综上所述,首先获取窗口执行数据,分析平均执行次数是否异常。如果异常则进一步通过分析方差和变异系数来确定程序是否陷入循环。因此,通过基于概率论统计的方式检测周期性数据平衡的数据结构设计方法可以发现业务之间是否循环调用,进而实现程序循环阻断。
31.实例假设现有程序一个数据录入的程序,如何判断它存在循环调用我们先设一个滑动时间窗口长度为10分钟,再将其分为10个时间单元。执行平均次数为20次,方差为5,变异系数为15。
32.程序每执行一次,则在当前的时间单元中执行数加1.例:[2,3,4,5,1,6,8,9,6,4]这说明程序在这个时间窗口中第一个时间单元执行了2次,第二个时间单元中执行了3次
……
,时间向前推进1分钟,这个窗口就会向前滑动1个时间单元。
[0033]
如果出现[200,200,34,0,0,0,0,0,1] 虽然平均执行次数大于20,但不会被判断为存在循环调用。因为这方差大于5。
[0034]
如果出现[25,25,26,27,28,29,29,29,29]。平均数大于20,方差小于5,所以会被判断为循环调用。
[0035]
如果出现[123,125,123,127,123,129,129,129,129]。平均数大于20,虽然方差大于5,但变异系数小于15,所以会被判断为循环调用。
[0036]
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献