一种悬浮等待控制方法及相关组件与流程

文档序号:32117047发布日期:2022-11-09 06:17阅读:59来源:国知局
一种悬浮等待控制方法及相关组件与流程

1.本发明涉及控制领域,特别是涉及一种悬浮等待控制方法及相关组件。


背景技术:

2.现有的控制悬浮等待的第一种方法为使用原生的html页面语言实现。在页面body内,插入一个div,这个div悬浮于整个页面的上层。一旦悬浮等待图标或图片出现,下层的页面元素会被遮罩起来,将无法点击,其实悬浮等待等同于遮罩的概念。该技术的问题在于需要手动的起遮罩和关闭遮罩,也就是手动的输入代码和删除代码,不能自动化控制。第二种方法为,集成市面上的组件进行控制,该组件为悬浮等待工具,例如angularjs-loading-bar,它关联浏览器的ajax请求,也就是浏览器每下发一个接口请求至服务器,该组件都会在页面集成出现进度条。那么进度条出现的时候,自动化在页面插入遮罩元素。这样只要每下发一个接口,页面就主动悬浮等待,不可点击。
3.第二种方法虽然会自动化实现悬浮等待,现在问题是集成组件后,存在遮罩出现以后,接口的任务还没有结束,遮罩就异常消失的情况,进行页面调试的时候,加入断点调试,这种情况就不出现,说明该情况与浏览器的时序问题有关,降低了悬浮等待工具的可靠性。


技术实现要素:

4.本发明的目的是提供一种悬浮等待控制方法及相关组件。本技术在处理器在每次发送接口请求之后会将累积计数数值加1,在接收到服务器发送的接口响应时会将当前累积计数数值减1,判定累积计数数值大于计数预设阈值时,继续调用悬浮等待工具,该方法不再使得悬浮等待受到时序问题影响,可以自动化控制调用悬浮等待工具,提高了悬浮等待工具的可靠性。
5.为解决上述技术问题,本发明提供了一种悬浮等待控制方法,应用于计算机设备的处理器,所述悬浮等待控制方法包括:
6.将累积计数数值的初始值设置为计数预设阈值;
7.确定当前累积计数数值,所述当前累积计数数值在所述处理器每次发送接口请求至服务器时加1且在所述处理器每次接收到所述服务器发送的针对所述接口请求对应的接口响应时减1;
8.判断所述当前累积计数数值是否大于所述计数预设阈值;
9.若是,调用悬浮等待工具。
10.优选的,还包括:
11.判定所述当前累积计数数值等于所述计数预设阈值时,停止调用所述悬浮等待工具。
12.优选的,还包括:
13.接收到所述悬浮等待工具的结束指令时,停止调用所述悬浮等待工具。
14.优选的,还包括:
15.接收到url切换指令时,若判定所述当前累积计数数值不等于所述计数预设阈值,令所述当前累积计数数值等于所述计数预设阈值。
16.优选的,还包括:
17.获取所述计算机设备从开机时刻至当前时刻的所述处理器发送所述接口请求至所述服务器的第一总次数;
18.获取所述计算机设备从所述开机时刻至所述当前时刻的所述处理器接收到所述服务器发送的针对所述接口请求对应的接口响应的第二总次数;
19.将所述第一总次数、所述第二总次数和所述当前累积计数数值储存为日志文件。
20.优选的,判断所述当前累积计数数值是否大于所述计数预设阈值,包括:
21.周期性判断所述当前累积计数数值是否大于所述计数预设阈值。
22.优选的,还包括:
23.判定所述当前累积计数数值小于所述计数预设阈值时令所述当前累积计数数值等于所述计数预设阈值。
24.为解决上述技术问题,本发明还提供了一种悬浮等待控制系统,包括:
25.初始值设置单元,用于将累积计数数值的初始值设置为计数预设阈值;
26.当前累积计数数值确定单元,用于确定当前累积计数数值,所述当前累积计数数值在所述处理器每次发送接口请求至服务器时加1且在所述处理器每次接收到所述服务器发送的针对所述接口请求对应的接口响应时减1;
27.判断单元,用于判断所述当前累积计数数值是否大于所述计数预设阈值,若是,触发悬浮等待工具调用单元;
28.所述悬浮等待工具调用单元,用于调用悬浮等待工具。
29.为解决上述技术问题,本发明还提供了一种悬浮等待控制装置,包括:
30.存储器,用于存储计算机程序;
31.处理器,用于执行所述计算机程序以实现上述所述悬浮等待控制方法的步骤。
32.为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述悬浮等待控制方法的步骤。
33.本技术提供了一种悬浮等待控制方法,包括:将累积计数数值的初始值设置为计数预设阈值;确定当前累积计数数值,当前累积计数数值在处理器每次发送接口请求至服务器时加1且在处理器每次接收到服务器发送的针对接口请求对应的接口响应时减1;判断当前累积计数数值是否大于计数预设阈值;若是,调用悬浮等待工具。本技术在处理器在每次发送接口请求之后会将累积计数数值加1,在接收到服务器发送的接口响应时会将当前累积计数数值减1,判定累积计数数值大于计数预设阈值时,说明还有接口请求对应的业务在执行,继续调用悬浮等待工具,该方法不再使得悬浮等待受到时序问题影响,可以自动化控制调用悬浮等待工具,提高了悬浮等待工具的可靠性。
附图说明
34.为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所
需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为本发明提供的一种悬浮等待控制方法的流程图;
36.图2为本发明提供的一种悬浮等待控制装置的结构示意图。
具体实施方式
37.本发明的核心是提供一种悬浮等待控制方法及相关组件。本技术在处理器在每次发送接口请求之后会将累积计数数值加1,在接收到服务器发送的接口响应时会将当前累积计数数值减1,判定累积计数数值大于计数预设阈值时,继续调用悬浮等待工具,该方法不再使得悬浮等待受到时序问题影响,可以自动化控制调用悬浮等待工具,提高了悬浮等待工具的可靠性。
38.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.请参照图1,图1为本发明提供的一种悬浮等待控制方法的流程图。该方法应用于计算机设备的处理器,该方法包括:
40.s11:将累积计数数值的初始值设置为计数预设阈值;
41.现有计数集成例如angularjs-loading-bar等组件后,有某些场景在调用悬浮等待工具之后,也就是出现遮罩之后,处理器发送的接口请求对应的业务还没有结束,遮罩就异常消失,但是串行的接口会在异常结束后重新调用悬浮等待工具,对于此问题进行页面调试的时候,使用断点调试的方法就不会出现上述情况,说明这和浏览器的时序问题相关,对此本身请提出了一种悬浮等待控制方法,并不限于某一种组件,很多的悬浮等待工具都可以使用该方法,首先,处理器设置一个累积计数数值,将该累积计数数值的初始值设置为计数预设阈值,在后续累积计数数值进行改变时,可以和计数预设阈值进行比较,进而判断当前处于哪种状态,判断出处于接口请求正在执行业务的状态,还是处理器发送的接口请求的业务已经执行完成,整个过程自动化进行,提高了方案的自动化程度和可靠性。
42.首先,angularjs-loading-bar(也可以是其他的进度加载组件,即悬浮等待工具)一般都是关联接口请求的,这是等待加载组件常见的实现模式,针对于此,提出针对性的方案,提高了本方法的实用性。
43.s12:确定当前累积计数数值,当前累积计数数值在处理器每次发送接口请求至服务器时加1且在处理器每次接收到服务器发送的针对接口请求对应的接口响应时减1;
44.在初始化设置当前累积计数数值之后,需要确定一下当前的累积计数数值,当前累积计数数值在处理器每次发送接口请求时加1,在接收到服务器发送的接口响应时减一,所以可以根据每次发送接口请求和每次接收接口请求去改变当前累积计数数值,通过当前累积计数数值就可以表征当前接口请求的业务是否已经执行完成,整个过程的自动化程度较高,提高了方案的可靠性。
45.另外,本方案的处理器属于计算机设备的前端拦截器,发送接口请求的是计算机
设备的后端的处理器,前端拦截器将接口请求记录但不中断,对于反馈回来的接口响应也是记录不中断,整个过程只需要记录一下是否有接口请求发送,并且是否接收到接口响应,该记录程序不会受到现有技术时序问题的影响,提高方案的可靠性。
46.需要说明的是,接口请求传递有三个必须的元素,request(请求)、response(响应)、responseerror(异常响应)。在程序的角度,请求时,我们计数m=0,m为累积计数数值,0为计数预设阈值,依次来记录下发的请求数。每进行一次ajax请求,都会下发一次request,那么我们计数++m,即m=m+1。这里执行的是++m,不是m++。++m是先计算,后判断;m++会导致判断的时候,m还没有进行+1。提高了方案的可靠性。
47.接口响应,分正常响应和异常响应两种。不管是正常响应还是异常响应,我们都进行进行
‑‑
m,即m=m-1,虽然在接收接口响应时可能存在异常响应,但是这并不表示没有接收到服务器发送回来的响应,浏览器下发接口请求至服务器之后,服务器返回的响应可能是异常响应,但是这说明服务器也接收到了该次接口请求,同时,该接口请求对应的业务也已经执行完了,并不需要再进行等待的过程,所以将正常响应和异常响应都进行计数,提高了方案的可靠性。
48.s13:判断当前累积计数数值是否大于计数预设阈值,若是,进入s14;
49.上述步骤执行之后,我们只需要判断当前累积计数数值是否大于计数预设阈值,如果累积计数数值大于计数预设阈值,说明当前有接口请求的业务正在执行还没有接收到服务器发送的对于该接口请求对应的接口响应,所以需要悬浮等待工具执行其工作,这样还是起到遮罩的作用,不能点击其他的内容,防止用户对于页面有错误的操作,提高了方案的可靠性和实际操作的可靠性。
50.另外,此时,在request请求处,我们判断,m与0的关系,如果m小于等于0(理论上不会出现,但是要做规避处理),那么出现了响应次数大于请求次数的情况,这样此页面后边的请求,就不再起遮罩,因为一旦请求了,后边的遮罩逻辑也乱了。m大于0时,代表有接口请求被执行,此时起遮罩,进行等待悬浮,在response和responseerror响应时,判断m与0的关系,m》0,代表还有接口请求在执行其对应的业务,遮罩不结束(此时还会有后续的response或responseerror执行)。该方案只需要判断是否有接口请求对应的业务正在执行,并不需要考虑其他因素,也不会受到某些类似于时序问题的影响,所以本方案的应用范围比较广泛,且逻辑原则上对应的方法的可靠性较强,整个过程自动化进行,提高了方案的自动化程度和可靠性。
51.s14:调用悬浮等待工具。
52.在判断接口请求对应的业务存在没有执行的业务时,也就是当前累积计数数值大于计数预设阈值时,此时可以调用悬浮等待工具,悬浮等待工具可以但不限于angularjs-loading-bar,本方案的控制逻辑可以实现应用范围较广的其他类似于悬浮等待工具的工具或者组件,提高了方案的全面性。
53.angularjs-loading-bar:angularjs是google推出的一款web应用开发框架。它提供了一系列兼容性良好并且可扩展的服务,包括数据绑定、dom操作、mvc设计模式和模块加载等。angularjs-loading-bar不仅仅是一个类库,而是提供了一个完整的框架。它避免了和多个类库交互,需要熟悉多套接口的繁琐工作。由于现有技术的问题不好定位根因,本次发明旨在脱离业务模块的异常操作或者异常调用,对angularjs-loading-bar的中断影响。
直接在进度加载(悬浮等待)组件内部进行不中断处理,规避任何业务模块对组件的影响。其他调用第三方loading组件遇到这种异常中断的,也可以采用本发明解决,提高了方案的可靠性和应用范围。
54.总的来说,本技术提供了一种悬浮等待控制方法,包括:将累积计数数值的初始值设置为计数预设阈值;确定当前累积计数数值,当前累积计数数值在处理器每次发送接口请求至服务器时加1且在处理器每次接收到服务器发送的针对接口请求对应的接口响应时减1;判断当前累积计数数值是否大于计数预设阈值;若是,调用悬浮等待工具。本技术在处理器在每次发送接口请求之后会将累积计数数值加1,在接收到服务器发送的接口响应时会将当前累积计数数值减1,判定累积计数数值大于计数预设阈值时,说明还有接口请求对应的业务在执行,继续调用悬浮等待工具,该方法不再使得悬浮等待受到时序问题影响,可以自动化控制调用悬浮等待工具,提高了悬浮等待工具的可靠性。
55.在上述实施例的基础上:
56.作为一种优选的实施例,还包括:
57.判定当前累积计数数值等于计数预设阈值时,停止调用悬浮等待工具。
58.当前累积计数数值等于计数预设阈值时,说明此时接口请求对应的业务都已经执行完成,也就是接口请求对应的业务都已经有一个与其对应的服务器发送的接口响应,在这时停止调用悬浮等待工具,让用户可以继续执行正常的操作,整个过程自动化进行,提高了方案的可靠性与可行性。
59.同时,在每次停止调用悬浮等待工具时,也可以通过提示模块进行相适应的提示,提示用户可以继续执行正常的操作,提高了用户的使用体验。
60.作为一种优选的实施例,还包括:
61.接收到悬浮等待工具的结束指令时,停止调用悬浮等待工具。
62.如果由于计算机设备本身的其他程序造成了计算机出现了问题,或者由于某些因素需要用户手动去结束悬浮等待工具时,用户也可以输入相应的结束指令至处理器,然后处理器会停止调用悬浮等待工具,这可以为用户提供一种更加便捷的停止调用悬浮等待工具的方法,使得方案的实用性更强,提高了用户的使用体验。
63.在程序逻辑的角度,如果直接调用悬浮等待的内置结束方法(被视为最有可能造成悬浮等待异常中断的原因),catch到complete悬浮结束事件后,在浏览器控制台打印,这里手动结束了悬浮等待。以此保护内置方法被外部直接调用的问题。提醒开发者,这种事件调用,可能会造成页面悬浮异常中断,谨慎使用,提供了一种悬浮等待的手动结束之后的记录,提高了方案的安全性。
64.作为一种优选的实施例,还包括:
65.接收到url切换指令时,若判定当前累积计数数值不等于计数预设阈值,令当前累积计数数值等于计数预设阈值。
66.本实施例中,接收到url切换指令时,说明此时可以进行切换页面,或者点击其他菜单的动作,这个时候说明接口请求发送的数量和接收到的接口响应的数量一定是相等的,也就是当前累积计数数值一定等于计数预设阈值,如果当前累积计数数值不等于计数预设阈值,就说明中间过程的某些逻辑出现了问题,所以需要令当前累积计数数值等于计数预设阈值,进行一次重置,同时还可以提示用户,当前出现问题的情况,提高了方案的可
靠性和自动化程度,同时也提高了用户的使用体验。
67.作为一种优选的实施例,还包括:
68.获取计算机设备从开机时刻至当前时刻的处理器发送接口请求至服务器的第一总次数;
69.获取计算机设备从开机时刻至当前时刻的处理器接收到服务器发送的针对接口请求对应的接口响应的第二总次数;
70.将第一总次数、第二总次数和当前累积计数数值储存为日志文件。
71.本方案还会记录第一总次数k和第二种次数j,然后将第一总次数k,第二种次数j和当前累积计数数值储存为日志文件,以便于用户进行实时的查看,例如每次切换页面链接、点击其他菜单时,或者需要观测数值时,通过分析k、j、m的值,查看页面的悬浮等待逻辑出错了,将k、j、m信息和切换页面链接、点击其他菜单打印到控制台。管理员看到这个错误后,可以回到这个页面重新定位。为分析报错根因,设置一个标志。如果出现问题的话,切换页面链接、点击其他菜单后,可以将第一总次数、第二总次数和当前累积计数数值强制清0,防止数据叠加,以及业务操作中间出现异常,对后续造成影响。
72.在程序逻辑的角度,相同的根据request(请求)、response(响应)、responseerror(异常响应)的情况相适应的进行记录。发送接口请求时,我们计数一个k=0,依次来记录下发的请求数。每进行一次ajax请求,都会下发一次request,那么我们计数++k,即k=k+1。这里执行的是++k,不是k++。++k是先计算,后判断;k++会导致判断的时候,k还没有进行+1。接口响应,分正常响应和异常响应两种,我计数一个j。不管是正常响应还是异常响应,我们都进行++j,即j=j-1,在逻辑控制的角度,整个过程自动化进行,提高了方案的可靠性与可行性。
73.作为一种优选的实施例,判断当前累积计数数值是否大于计数预设阈值,包括:
74.周期性判断当前累积计数数值是否大于计数预设阈值。
75.由于当前累积计数数值和计数预设阈值是不断的进行变化的,所以需要周期性判断当前累积计数数值是否大于计数预设阈值,周期性判断过程相当于实时的进行判断,提高了方案的可靠性,周期性的判断当前累积计数数值是否大于计数预设阈值可以在第一时间发现当前累积计数数值大于计数预设阈值,进而精准的控制调用悬浮等待工具的时间,提高了方案的可靠性。
76.作为一种优选的实施例,还包括:
77.判定当前累积计数数值小于计数预设阈值时令当前累积计数数值等于计数预设阈值。
78.判断当前累积计数数值和计数预设阈值的关系,即m与0的关系,若当前累积计数数值小于计数预设阈值,也就是如果m小于0(理论上不会出现,但是要做规避处理),那么出现了响应次数大于请求次数的情况,这样此页面后边的请求,就不再起遮罩,因为一旦请求了,后边的遮罩逻辑也乱了。在response和responseerror响应时,判断m与0的关系。m《0,也是计算异常,直接结束遮罩,同时,还需要在处理器上记录下此次响应次数大于请求次数的情况,判断是否服务器端可能存在网络延迟错误的额外发送了一次接口响应,提高了方案的可靠性与可行性。
79.综上,本方法的优势如下,保持悬浮,不破坏悬浮等待的原有功能,仍然正常开启
和关闭悬浮,只在异常场景下,提供更合理的悬浮等待状态。即两种状态,悬浮中途不中断,中断后不再开启悬浮;插入计数。在等待加载源码的基础上,插入实现操作过程中的悬浮等待计数,对原有的处理逻辑不造成影响。不对原有的源码逻辑做任何数值处理,是另一套处理逻辑;抛错感知,重点通过连续的数据比对,获取到数据异常的点。根据出现的异常数据值,优化悬浮等待的场景;脱离业务;业务不会对优化后的悬浮等待组件造成操作的影响。如果出现组件的异常,会通过直观的控制台打印,让开发者返回定位。业务开发人员不需要关注,提高了方案的可靠性,不会受到现有技术中问题的影响而正确的控制是否调用悬浮等待工具提高了方案的实用性。
80.本发明还提供了一种悬浮等待控制系统,包括:
81.初始值设置单元,用于将累积计数数值的初始值设置为计数预设阈值;
82.当前累积计数数值确定单元,用于确定当前累积计数数值,所述当前累积计数数值在所述处理器每次发送接口请求至服务器时加1且在所述处理器每次接收到所述服务器发送的针对所述接口请求对应的接口响应时减1;
83.判断单元,用于判断所述当前累积计数数值是否大于所述计数预设阈值,若是,触发悬浮等待工具调用单元;
84.所述悬浮等待工具调用单元,用于调用悬浮等待工具。
85.其中,判断单元,还包括:
86.判定所述当前累积计数数值等于所述计数预设阈值时,停止调用所述悬浮等待工具。
87.其中,悬浮等待控制系统还包括:
88.接收到所述悬浮等待工具的结束指令时,停止调用所述悬浮等待工具。
89.其中,悬浮等待控制系统还包括:
90.接收到url切换指令时,若判定所述当前累积计数数值不等于所述计数预设阈值,令所述当前累积计数数值等于所述计数预设阈值。
91.其中,悬浮等待控制系统还包括:
92.第一总次数获取单元,用于获取所述计算机设备从开机时刻至当前时刻的所述处理器发送所述接口请求至所述服务器的第一总次数;
93.第二总次数获取单元,用于获取所述计算机设备从所述开机时刻至所述当前时刻的所述处理器接收到所述服务器发送的针对所述接口请求对应的接口响应的第二总次数;
94.储存单元,用于将所述第一总次数、所述第二总次数和所述当前累积计数数值储存为日志文件。
95.其中,判断单元,包括:
96.周期性判断所述当前累积计数数值是否大于所述计数预设阈值。
97.其中,判断单元,还包括:
98.判定所述当前累积计数数值小于所述计数预设阈值时令所述当前累积计数数值等于所述计数预设阈值。
99.对于本方案提供的悬浮等待控制系统的介绍请参照上述悬浮等待控制方法的实施例,此处不再赘述。
100.请参照图2,图2为本发明提供的一种悬浮等待控制装置的结构示意图。
101.本发明还提供了一种悬浮等待控制装置,包括:
102.存储器1,用于存储计算机程序;
103.处理器2,用于执行所述计算机程序以实现上述所述悬浮等待控制方法的步骤。
104.对于本方案提供的悬浮等待控制装置的介绍请参照上述悬浮等待控制方法的实施例,此处不再赘述。
105.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述悬浮等待控制方法的步骤。
106.对于本方案提供的计算机可读存储介质的介绍请参照上述悬浮等待控制方法的实施例,此处不再赘述。
107.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
108.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
109.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其他实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1