进度条的生成方法、生成装置、计算机设备及存储介质与流程

专利2022-05-10  52



1.本技术涉及计算机技术领域,尤其涉及进度条的生成方法、生成装置、计算机设备及存储介质。


背景技术:

2.目前在执行一些复杂耗时操作时,用进度条来实时更新操作的进度可以提高用户的耐心阈值,很好地优化用户体验。而进度条的进度滚动需要后端实时地提供进度值,但在某些特定情况下后端无法中间中断,返回进度信息,这样想实时更新进度条就似乎变得不可能,只能用一些其他方式来代替优化,但效果远没有进度条来得直观。
3.因此,如何在没有真实的后端实时进度值的情况下,如何在前端模拟进度值生成模拟进度条,以达到与真实进度条一样的用户体验,是目前尚待解决的技术问题。


技术实现要素:

4.本技术实施例的目的在于提出一种进度条的生成方法、生成装置、计算机设备及存储介质,以解决如何在前端模拟进度值生成模拟进度条,以达到与真实进度条一样的用户体验的技术问题。
5.为了解决上述技术问题,本技术实施例提供一种进度条的生成方法,采用了如下所述的技术方案:
6.在后端的业务操作开始后,监听获取该业务操作的第一真实进度值,并以该第一真实进度值作为进度条的进度值来生成和更新该进度条;
7.在该进度条的进度结束之前,若检测到该第一真实进度值中断,则根据中断时间点时该进度条的进度值和预设的执行该业务操作的总预估时长,确定以该中断时间点为起点至该业务操作执行结束的预估时长;
8.根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新。
9.在本技术实施例一些可能的实现方式中,在根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新的步骤之后,该进度条的生成方法还可以包括:
10.在该进度条的进度结束之前,若重新检测到该业务操作的第二真实进度值,则判断该第二真实进度值是否大于或等于该进度条当前的虚拟进度值;
11.若大于或等于,则以该第二真实进度值作为该进度条的进度值来更新该进度条;
12.若小于,则停止更新该进度条,直至该第二真实进度值大于或等于该虚拟进度值时,再以该第二真实进度值作为该进度条的进度值来更新该进度条。
13.在本技术实施例一些可能的实现方式中,该根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新的步骤,可以包括:
14.步骤a,将该预估时长输入第一预设算法,计算单次增长量,该第一预设算法可以包括:
15.rise=random/(comtime/rate)
16.其中,rise表示单次增长量,comtime为预估时长,rate为单次的该速率时长,random为每次计算时生成的100~999之间的随机数;
17.步骤b,将该单次增长量输入第二预设算法,计算该中断时间点后该进度条的虚拟进度值,该第二预设算法可以包括:
18.next=cur (100%

cur)*rise*multival
19.其中,next表示计算出的虚拟进度值,cur表示上一时间点该进度条的进度值,100%为最大进度值,multival表示预设的增长倍率;
20.步骤c,根据该虚拟进度值对该进度条进行更新;
21.步骤d,每隔预设的速率时长,循环执行下述步骤a至步骤c直至该业务操作执行结束。
22.在本技术实施例一些可能的实现方式中,该步骤c,根据该虚拟进度值对该进度条进行更新的步骤,可以包括:
23.判断该虚拟进度值是否大于100%和判断该业务操作是否已结束;
24.若该虚拟进度值小于100%且该业务操作未结束,则以该虚拟进度值作为该进度条的进度值来更新该进度条;
25.若该虚拟进度值大于或等于100%且该业务操作未结束,则停止本轮次对该进度条的进度值和该进度条的进度的更新过程;
26.若该业务操作结束,则将该进度条的进度值更新为100%,并将该进度条的进度更新至最大值。
27.在本技术实施例一些可能的实现方式中,该判断该业务操作是否已结束的步骤,可以包括:
28.在查询到后端的操作结束标识后,根据该操作结束标识的值确定该业务操作是否已结束,该操作结束标识用于指示该业务操作是否已执行结束。
29.在本技术实施例一些可能的实现方式中,该若该虚拟进度值小于100%且该业务操作未结束,则以该虚拟进度值作为该进度条的进度值来更新该进度条的步骤之后,该进度条的生成方法还可以包括:
30.若该虚拟进度值小于100%但大于预设阈值,且该业务操作未结束,则通过减小该增长倍率以减缓该虚拟进度值的增长速度。
31.在本技术实施例一些可能的实现方式中,若该业务操作需要借助网络连接,则在该步骤b,将该单次增长量输入第二预设算法,计算该中断时间点后该进度条的虚拟进度值,该第二预设算法可以包括的步骤之前,该进度条的生成方法还可以包括:
32.确定当前的网络速度;
33.若该网络速度大于或等于预设速度,则设置该增长倍率的数值为第一数值;
34.若该网络速度小于预设速度,则设置该增长倍率的数值为第二数值,其中,该第一数值大于该第二数值。
35.为了解决上述技术问题,本技术实施例还提供一种进度条的生成装置,采用了如
下所述的技术方案:
36.第一进度条更新单元,用于在后端的业务操作开始后,监听获取该业务操作的第一真实进度值,并以该第一真实进度值作为进度条的进度值来生成和更新该进度条;
37.计算单元,用于在该进度条的进度结束之前,若检测到该第一真实进度值中断,则根据中断时间点时该进度条的进度值和预设的执行该业务操作的总预估时长,确定以该中断时间点为起点至该业务操作执行结束的预估时长;
38.第二进度条更新单元,根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新。
39.在本技术实施例一些可能的实现方式中,该进度条的生成装置还可以包括:
40.判断单元,用于在该进度条的进度结束之前,若重新检测到该业务操作的第二真实进度值,则判断该第二真实进度值是否大于或等于该进度条当前的虚拟进度值;
41.第三进度条更新单元,用于若大于或等于,则以该第二真实进度值作为该进度条的进度值来更新该进度条;若小于,则停止更新该进度条,直至该第二真实进度值大于或等于该虚拟进度值时,再以该第二真实进度值作为该进度条的进度值来更新该进度条。
42.在本技术实施例一些可能的实现方式中,第二进度条更新单元,可以包括:
43.第一计算子单元,用于执行步骤a,将该预估时长输入第一预设算法,计算单次增长量,该第一预设算法可以包括:
44.rise=random/(comtime/rate)
45.其中,rise表示单次增长量,comtime为预估时长,rate为单次的该速率时长,random为每次计算时生成的100~999之间的随机数;
46.第二计算子单元,用于执行步骤b,将该单次增长量输入第二预设算法,计算该中断时间点后该进度条的虚拟进度值,该第二预设算法可以包括:
47.next=cur (100%

cur)*rise*multival
48.其中,next表示计算出的虚拟进度值,cur表示上一时间点该进度条的进度值,100%为最大进度值,multival表示预设的增长倍率;
49.更新子单元,用于执行步骤c,根据该虚拟进度值对该进度条进行更新;
50.定时任务子单元,用于执行步骤d,每隔预设的速率时长,循环执行所述步骤a至步骤c直至该业务操作执行结束。
51.在本技术实施例一些可能的实现方式中,更新子单元,包括:
52.判断模块,用于判断该虚拟进度值是否大于100%和判断该业务操作是否已结束;
53.第一更新模块,用于若该虚拟进度值小于100%且该业务操作未结束,则以该虚拟进度值作为该进度条的进度值来更新该进度条;
54.第二更新模块,用于若该虚拟进度值大于或等于100%且该业务操作未结束,则停止本轮次对该进度条的进度值和该进度条的进度的更新过程;
55.第三更新模块,用于若该业务操作结束,则将该进度条的进度值更新为100%,并将该进度条的进度更新至最大值。
56.在本技术实施例一些可能的实现方式中,该判断模块,具体用于在查询到后端的操作结束标识后,根据该操作结束标识的值确定该业务操作是否已结束,该操作结束标识用于指示该业务操作是否已执行结束。
57.在本技术实施例一些可能的实现方式中,更新子单元,还包括:
58.设置模块,用于若该虚拟进度值小于100%但大于预设阈值,且该业务操作未结束,则通过减小该增长倍率以减缓该虚拟进度值的增长速度。
59.在本技术实施例一些可能的实现方式中,若该业务操作需要借助网络连接,该进度条的生成装置还可以包括:
60.网速检测单元,用于确定当前的网络速度;
61.调节单元,用于若该网络速度大于或等于预设速度,则设置该增长倍率的数值为第一数值;若该网络速度小于预设速度,则设置该增长倍率的数值为第二数值,其中,该第一数值大于该第二数值。
62.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:
63.一种计算机设备,可以包括存储器和处理器,该存储器中存储有计算机可读指令,该处理器执行该计算机可读指令时实现如上所述的进度条的生成方法的步骤。
64.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
65.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如上所述的进度条的生成方法的步骤。
66.与现有技术相比,本技术实施例主要有以下有益效果:
67.本技术提出的进度条的生成方法,在后端的业务操作开始后,可以监听获取业务操作的第一真实进度值,并以该第一真实进度值作为进度条的进度值来生成和更新该进度条。之后,在该进度条的进度结束之前,若检测到该第一真实进度值中断,则可以根据中断时间点时该进度条的进度值和预设地执行该业务操作的总预估时长,确定以该中断时间点为起点至该业务操作执行结束的预估时长。进而根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新。根据前述描述,即本技术实施例中在缺乏真实的后端实时进度值的情况下,可以生成模拟进度值来更新进度条,避免了现有技术中缺乏真实后端数据时无法生成进度条所带来的用户体验不佳的技术问题。
附图说明
68.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
69.图1根据本技术的进度条的生成方法的一个实施例的流程图;
70.图2是图1中步骤s103之后的一个实施例的流程图;
71.图3是根据本技术的进度条的生成装置300的一个实施例的结构示意图;
72.图4是根据本技术的进度条的生成装置300的又一个实施例的结构示意图;
73.图5是根据本技术的计算机设备500的一个实施例的结构示意图。
具体实施方式
74.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
75.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
76.为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
77.具体参考图1,示出了根据本技术的进度条的生成方法的一个实施例的流程图。所述的进度条的生成方法,包括以下步骤:
78.步骤s101,在后端的业务操作开始后,监听获取业务操作的第一真实进度值,并以第一真实进度值作为进度条的进度值来生成和更新进度条。
79.在本技术实施例中,可以设置轮询机制,每隔一定时长后,监听获取后端的业务操作的第一真实进度值,并在获取后,将该第一真实进度值的值赋值给进度条的进度值,从而以该第一真实进度值作为依据生成和更新该进度条。
80.步骤s102,在进度条的进度结束之前,若检测到第一真实进度值中断,则根据中断时间点时进度条的进度值和预设的执行业务操作的总预估时长,确定以中断时间点为起点至业务操作执行结束的预估时长。
81.在本实施例中,进度条的最大值为100%,若在进度条的进度未结束,即进度条的进度值未达到100%时,如果在一次轮询中,未能查询到第一真实进度值,则判定第一真实进度值中断。此时,可以根据中断时间点时进度条当前的进度值和预设的执行业务操作的总预估时长,确定以该中断时间点为起点至执行完业务操作的预估时长。其中,计算该预估时长可以采用下述公式:
82.t=t*(100%

r)/100%
83.其中,t为计算得到的预估时长,t为预设的总预估时长,r为中断时间点是进度条的进度值,100%为最大进度值。
84.例如,假设第一真实进度值在监听到20%时,下一次的更新周期时,未查询到该第一真实进度值或者后端未上报第一真实进度值,则确定第一真实进度值中断。此时,若预设后端的总预估时长为100s,则计算可知,在20%的时间点之后,执行完后80%进度的时间为100s*(100%

20%)=80s。
85.步骤s103,根据预设算法和预估时长生成中断时间点后进度条的虚拟进度值,并依据虚拟进度值对进度条进行更新。
86.在本实施例中,为了使进度条的进度可以与后端的业务操作的进度相对应,在确定预估时长后,可以将预估时长输入预设的预设算法中,生成终端时间点后,进度条的虚拟
进度值。进而用该虚拟进度值代替第一真实进度值来作为进度条的进度值,更新进度条。
87.在本技术实施例一些可能的实现方式中,根据预设算法和预估时长生成中断时间点后进度条的虚拟进度值,并依据虚拟进度值对进度条进行更新的步骤,包括:
88.步骤a,将预估时长输入第一预设算法,计算单次增长量,第一预设算法包括:
89.rise=random/(comtime/rate)
90.其中,rise表示单次增长量,comtime为预估时长,rate为单次的速率时长,random为每次计算时生成的100~999之间的随机数;
91.步骤b,将单次增长量输入第二预设算法,计算中断时间点后进度条的虚拟进度值,第二预设算法包括:
92.next=cur (100%

cur)*rise*multival
93.其中,next表示计算出的虚拟进度值,cur表示上一时间点进度条的进度值,100%为最大进度值,multival表示预设的增长倍率;
94.步骤c,根据该虚拟进度值对该进度条进行更新;
95.步骤d,每隔该速率时长,重复执行所述步骤a至所述步骤c,直至所述业务操作执行结束。
96.具体的,在计算时,进度值采用百分数的格式输入。生成的随机数random可以为100~999之间的整数值,以此模拟进度数据的随机性。定时器可以设置等待执行间隔设置为100ms,即rate=100ms,这是因为人眼可识别的变化是100ms。增长倍率可以进行调节,不同的大小,代表虚拟进度值不同的增长速度,该数值越大,则虚拟进度值的增长速度越快。
97.在本技术实施例一些可能的实现方式中,步骤c,根据该虚拟进度值对该进度条进行更新的步骤,包括:
98.判断该虚拟进度值是否大于100%和判断该业务操作是否已结束;
99.若该虚拟进度值小于100%且该业务操作未结束,则以该虚拟进度值作为该进度条的进度值来更新该进度条;
100.若该虚拟进度值大于或等于100%且该业务操作未结束,则停止本轮次对该进度条的进度值和该进度条的进度的更新过程;
101.若该业务操作结束,则将该进度条的进度值更新为100%,并将该进度条的进度更新至最大值。
102.在本技术实施例一些可能的实现方式中,上述判断该业务操作是否已结束的步骤,包括:
103.在查询到后端的操作结束标识后,根据该操作结束标识的值确定该业务操作是否已结束,该操作结束标识用于指示该业务操作是否已执行结束。
104.具体的,本技术实施例中,后端可以包含操作结束标识,通过该操作结束标识,可以确定后端的业务操作是否已经结束。例如,可以设定该操作结束标识可以为变量stopflag,该变量stopflag的值分为false和true,业务操作开始后,将该变量stopflag的值设置为false,后端的业务操作执行结束,则更新该变量stopflag的值为true。因此,后续可以通过确定该变量stopflag的值,来确定业务操作是否结束。通过根据操作结束标识来确定业务操作是否执行结束,进而根据判断结果来对模拟进度条进度的过程进行控制,提高了进度条与后端业务操作真实进度的对应准确性。
105.在本技术实施例一些可能的实现方式中,该若该虚拟进度值小于100%且该业务操作未结束,则以该虚拟进度值作为该进度条的进度值来更新该进度条的步骤之后,该进度条的生成方法还包括:
106.若该虚拟进度值小于100%但大于预设阈值,且该业务操作未结束,则通过减小该增长倍率以减缓该虚拟进度值的增长速度。
107.具体的,分析普遍用户心理,进度条刚开始时进度滚动适度快速一点,给用户的激励作用就会更强,可以接受的等待时间也更长。基于此,可以设定预设阈值,例如95%,在确定该虚拟进度值小于95%时且业务操作未结束时,其采用较大的增长倍率,以实现虚拟进度值的较快增长;而大于或等于95%且业务操作未结束时,则通过减少增长倍率的数值,来减缓虚拟进度值的增长速度。其中,增长倍率的减少程度可以随虚拟进度值的提高而提高,即在确定业务操作未结束时,越临近100%进度,增长越慢,直至确定后端的业务操作执行结束时,直接将进度条的进度值拉满,并且更新进度条的进度至最大。提高了虚拟进度条的用户体验。
108.在本技术实施例一些可能的实现方式中,若业务操作需要借助网络连接,则在上述步骤b,将该单次增长量输入第二预设算法,计算该中断时间点后该进度条的虚拟进度值,该第二预设算法的步骤之前,进度条的生成方法还包括:
109.确定当前的网络速度;
110.若网络速度大于或等于预设速度,则设置增长倍率的数值为第一数值;
111.若网络速度小于预设速度,则设置增长倍率的数值为第二数值,其中,第一数值大于第二数值。
112.具体的,在一些后端的业务操作与网络连接相关时,例如在线游戏后端的游戏进程的加载过程,后端业务的执行进度也往往与网络的好坏有直接或者间接的关系。基于此,在生成虚拟进度值时,还可以加入网络速度的因素,即在确定当前的网络速度后,若当前的网络速度大于或等于预设速度,则设置增长倍率的数值为第一数值;若小于该预设速度,则设置增长倍率的数值为第二数值,以取得较慢的进度值增长速度。其中,第一数值大于第二数值,例如,第一数值可以在1

1.5之间,第二数值可以在0.5

1之间。取第一数值时,根据前述的第二预设算法的计算公式,可以取得较快的进度值增长速度;取第一数值时,根据前述的第二预设算法的计算公式,可以取得较慢的进度值增长速度。
113.在本技术实施例一些可能的实现方式中,参照上述网络速度参数的影响,一些后端的业务操作的执行速度也可能与硬件的占用率,如处理器、内存的占用率相关。因此,参照上述网络速度的影响,也可以设置,在硬件不同的占用率时,增长倍率具有不同的数值。硬件的占用率低,即后端的业务操作可以有更多硬件资源可以使用时,设置增长倍率为较高的数值,硬件的占用率高,即后端的业务操作无更多硬件资源可以使用时,设置增长倍率为较低的数值。从而,可以更好地实现进度条的模拟效果。
114.与现有技术相比,本技术实施例主要有以下有益效果:
115.本技术提出的进度条的生成方法,在后端的业务操作开始后,可以监听获取业务操作的第一真实进度值,并以该第一真实进度值作为进度条的进度值来生成和更新该进度条。之后,在该进度条的进度结束之前,若检测到该第一真实进度值中断,则可以根据中断时间点时该进度条的进度值和预设地执行该业务操作的总预估时长,确定以该中断时间点
为起点至该业务操作执行结束的预估时长。进而根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新。根据前述描述,即本技术实施例中在缺乏真实的后端实时进度值的情况下,可以生成模拟进度值来更新进度条,避免了现有技术中缺乏真实后端数据时无法生成进度条所带来的用户体验不佳的技术问题。
116.在本技术实施例一些可能的实现方式中,具体参照图2,为步骤s103后的一个实施例示意图,该进度条的生成方法还可以包括:
117.s201,在进度条的进度结束之前,若重新检测到业务操作的第二真实进度值,则判断第二真实进度值是否大于或等于进度条当前的虚拟进度值;
118.s202,若大于或等于,则以第二真实进度值作为进度条的进度值来更新进度条;
119.s203,若小于,则停止更新进度条,直至第二真实进度值大于或等于虚拟进度值时,以第二真实进度值作为进度条的进度值来更新进度条。
120.具体的,本技术实施例中,在采用虚拟进度条来更新进度条过程中,若在进度条结束前,即虚拟进度条的进度值未达到100%前,又重新检测到了后端的业务操作的第二真实进度值。此时,为了实现进度条进度与后端业务操作对应的准确性,应停止虚拟进度值的计算过程,并转换为以该第二真实进度值作为进度条的进度值,来对前端进行条进行更新。但需要说明的是,直接采用第二真实进度值代替虚拟进度值作为进度条的进度值,来对前端进行条进行更新,虽然可以使得进度条的显示更为准确,但可能会出现进度条回退的错误情况。例如,虚拟进度值为87%,且进度条已更新至87%,而重新检测得到的第二真实进度值为79%,此时如果直接采用第二真实进度值来更新进度条,就会出现进度条的显示长度缩短的情况发生。因此,为避免上述情况的发生,可以设定:在得到第二真实进度值后,首先对第二真实进度值和虚拟进度值进行比较,若前者大于或等于后者,则采用第二真实进度值进行更新,否则,则先停止虚拟进度条的计算和停止更新进度条,直至检测到第二真实进度值大于或等于虚拟进度值后,再采用第二真实进度值来更新进度条,从而避免进度条的显示长度缩短的情况发生。
121.与现有技术相比,本技术实施例主要有以下有益效果:
122.提高了前端的进度条进度与后端业务操作实际进度对应的准确性。
123.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
124.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)等非易失性存储介质,或随
机存储记忆体(random access memory,ram)等。
125.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
126.进一步参考图3,作为对上述图1所示方法的实现,本技术提供了一种进度条的生成装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
127.如图3所示,本实施例所述的进度条的生成装置300包括:
128.第一进度条更新单元301,用于在后端的业务操作开始后,监听获取该业务操作的第一真实进度值,并以该第一真实进度值作为进度条的进度值来生成和更新该进度条;
129.计算单元302,用于在该进度条的进度结束之前,若检测到该第一真实进度值中断,则根据中断时间点时该进度条的进度值和预设的执行该业务操作的总预估时长,确定以该中断时间点为起点至该业务操作执行结束的预估时长;
130.第二进度条更新单元303,根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新。
131.在本技术实施例一些可能的实现方式中,具体参照图4,为度条的生成装置300的又一个实施例示意图,该进度条的生成装置300还可以包括:
132.判断单元304,用于在该进度条的进度结束之前,若重新检测到该业务操作的第二真实进度值,则判断该第二真实进度值是否大于或等于该进度条当前的虚拟进度值;
133.第三进度条更新单元305,用于若大于或等于,则以该第二真实进度值作为该进度条的进度值来更新该进度条;若小于,则停止更新该进度条,直至该第二真实进度值大于或等于该虚拟进度值时,再以该第二真实进度值作为该进度条的进度值来更新该进度条。
134.在本技术实施例一些可能的实现方式中,第二进度条更新单元303,可以包括:
135.第一计算子单元,用于执行步骤a,将该预估时长输入第一预设算法,计算单次增长量,该第一预设算法可以包括:
136.rise=random/(comtime/rate)
137.其中,rise表示单次增长量,comtime为预估时长,rate为单次的该速率时长,random为每次计算时生成的100~999之间的随机数;
138.第二计算子单元,用于执行步骤b,将该单次增长量输入第二预设算法,计算该中断时间点后该进度条的虚拟进度值,该第二预设算法可以包括:
139.next=cur (100%

cur)*rise*multival
140.其中,next表示计算出的虚拟进度值,cur表示上一时间点该进度条的进度值,100%为最大进度值,multival表示预设的增长倍率;
141.更新子单元,用于执行步骤c,根据该虚拟进度值对该进度条进行更新;
142.定时任务子单元,用于执行步骤d,每隔预设的速率时长,循环执行所述步骤a至步骤c直至该业务操作执行结束。
143.在本技术实施例一些可能的实现方式中,更新子单元,包括:
144.判断模块,用于判断该虚拟进度值是否大于100%和判断该业务操作是否已结束;
145.第一更新模块,用于若该虚拟进度值小于100%且该业务操作未结束,则以该虚拟进度值作为该进度条的进度值来更新该进度条;
146.第二更新模块,用于若该虚拟进度值大于或等于100%且该业务操作未结束,则停止本轮次对该进度条的进度值和该进度条的进度的更新过程;
147.第三更新模块,用于若该业务操作结束,则将该进度条的进度值更新为100%,并将该进度条的进度更新至最大值。
148.在本技术实施例一些可能的实现方式中,该判断模块,具体用于在查询到后端的操作结束标识后,根据该操作结束标识的值确定该业务操作是否已结束,该操作结束标识用于指示该业务操作是否已执行结束。
149.在本技术实施例一些可能的实现方式中,更新子单元,还包括:
150.设置模块,用于若该虚拟进度值小于100%但大于预设阈值,且该业务操作未结束,则通过减小该增长倍率以减缓该虚拟进度值的增长速度。
151.在本技术实施例一些可能的实现方式中,若该业务操作需要借助网络连接,该进度条的生成装置还可以包括:
152.网速检测单元,用于确定当前的网络速度;
153.调节单元,用于若该网络速度大于或等于预设速度,则设置该增长倍率的数值为第一数值;若该网络速度小于预设速度,则设置该增长倍率的数值为第二数值,其中,该第一数值大于该第二数值。
154.与现有技术相比,本技术实施例主要有以下有益效果:
155.本技术提出的进度条的生成装置,在后端的业务操作开始后,可以监听获取业务操作的第一真实进度值,并以该第一真实进度值作为进度条的进度值来生成和更新该进度条。之后,在该进度条的进度结束之前,若检测到该第一真实进度值中断,则可以根据中断时间点时该进度条的进度值和预设地执行该业务操作的总预估时长,确定以该中断时间点为起点至该业务操作执行结束的预估时长。进而根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新。根据前述描述,即本技术实施例中在缺乏真实的后端实时进度值的情况下,可以生成模拟进度值来更新进度条,避免了现有技术中缺乏真实后端数据时无法生成进度条所带来的用户体验不佳的技术问题。
156.为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
157.所述计算机设备500包括通过系统总线相互通信连接存储器501、处理器502、网络接口503。需要指出的是,图中仅示出了具有组件501

503的计算机设备500,但是应理解的是,并不要求实施所有示出的组件,可以替代地实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式
设备等。
158.所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
159.所述存储器501至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器501可以是所述计算机设备500的内部存储单元,例如该计算机设备500的硬盘或内存。在另一些实施例中,所述存储器501也可以是所述计算机设备500的外部存储设备,例如该计算机设备500上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器501还可以既包括所述计算机设备500的内部存储单元也包括其外部存储设备。本实施例中,所述存储器501通常用于存储安装于所述计算机设备500的操作系统和各类应用软件,例如进度条的生成方法的计算机可读指令等。此外,所述存储器501还可以用于暂时地存储已经输出或者将要输出的各类数据。
160.所述处理器502在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器502通常用于控制所述计算机设备500的总体操作。本实施例中,所述处理器502用于运行所述存储器501中存储的计算机可读指令或者处理数据,例如运行所述进度条的生成方法的计算机可读指令。
161.所述网络接口503可包括无线网络接口或有线网络接口,该网络接口503通常用于在所述计算机设备500与其他电子设备之间建立通信连接。
162.与现有技术相比,本技术实施例主要有以下有益效果:
163.计算机设备500在执行前述进度条的生成方法时,在后端的业务操作开始后,可以监听获取业务操作的第一真实进度值,并以该第一真实进度值作为进度条的进度值来生成和更新该进度条。之后,在该进度条的进度结束之前,若检测到该第一真实进度值中断,则可以根据中断时间点时该进度条的进度值和预设地执行该业务操作的总预估时长,确定以该中断时间点为起点至该业务操作执行结束的预估时长。进而根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新。根据前述描述,即本技术实施例中在缺乏真实的后端实时进度值的情况下,可以生成模拟进度值来更新进度条,避免了现有技术中缺乏真实后端数据时无法生成进度条所带来的用户体验不佳的技术问题。
164.本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的进度条的生成方法的步骤。
165.与现有技术相比,本技术实施例主要有以下有益效果:
166.处理器在执行前述进度条的生成方法时,在后端的业务操作开始后,可以监听获取业务操作的第一真实进度值,并以该第一真实进度值作为进度条的进度值来生成和更新该进度条。之后,在该进度条的进度结束之前,若检测到该第一真实进度值中断,则可以根据中断时间点时该进度条的进度值和预设地执行该业务操作的总预估时长,确定以该中断
时间点为起点至该业务操作执行结束的预估时长。进而根据预设算法和该预估时长生成该中断时间点后该进度条的虚拟进度值,并依据该虚拟进度值对该进度条进行更新。根据前述描述,即本技术实施例中在缺乏真实的后端实时进度值的情况下,可以生成模拟进度值来更新进度条,避免了现有技术中缺乏真实后端数据时无法生成进度条所带来的用户体验不佳的技术问题。
167.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
168.显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
转载请注明原文地址:https://doc.8miu.com/read-1750281.html

最新回复(0)