一种任务进度条平滑分配的方法技术

技术编号:36039768 阅读:17 留言:0更新日期:2022-12-21 10:45
本发明专利技术公开了一种任务进度条平滑分配的方法,属于计算机技术领域。它包括:获取任务完成下载的期望总时长和需要完成下载的任务总量;根据需要完成下载的任务总量,将进度条划分为多个分段;在每一分段的尾部位置设置过度分段;在期望时长内设置多个检测时间点,在执行当前下载任务时检测进度条在对应分段内前进的进度;根据检测时间点时刻进度条在对应分段内实际前进的进度与检测时间点的期望进度之间的关系,控制该任务分段尾部的过度分段长度,同时控制任务条的前进速度,直至当前执行任务完成下载。本发明专利技术的一种任务进度条平滑分配的方法,便于节约系统资源,减少用户的错误操作,同时使得任务进度条加载更加平滑。同时使得任务进度条加载更加平滑。同时使得任务进度条加载更加平滑。

【技术实现步骤摘要】
一种任务进度条平滑分配的方法


[0001]本专利技术属于计算机
,更具体地说,涉及一种任务进度条平滑分配的方法。

技术介绍

[0002]处理器在处理一些较耗时的任务时,通常会实时地以图片、动画等形式显示处理任务的速度、完成度、剩余未完成任务量和/或可能要处理的时间,这种显示方式称为进度指示,最常用的体现方式为进度条。现有技术中,进度条的进度通过进度条控件的类成员函数直接进行更新,即通过进度条控件计算出文件被转移的百分比后将该百分比发送给进度条,进度条直接显示该百分比。
[0003]现有的进度指示方式是每隔一定的进度更新时间t向处理器请求并获取处理器对当前任务的处理状态,将处理状态实时地映射到进度条上。以下载一个文件为例,每隔1s向处理器请求并获取处理器对该文件的下载状态,如果下载到整个任务的10%,则更新进度条的进度为10%,如果下载到整个任务的50%,则更新进度条的进度为50%。然而,这种进度指示方式存在以下缺陷:其一、需要在处理器处理任务的过程中频繁地向处理器请求并获取处理状态,会对处理器带来额外的负担,浪费系统资源。其二、处理器如果未能及时响应进度指示器的请求,可能会造成进度指示器上的进度未更新,在用户看来就是“死机”或“卡顿”,用户就可能进行结束任务等操作,而实际上该任务是被正常处理的,用户的操作就是错误操作。

技术实现思路

[0004]1、要解决的问题
[0005]针对现有技术中存在的问题,本专利技术提供一种任务进度条平滑分配的方法,以便于节约系统资源,减少用户的错误操作。
[0006]2、技术方案
[0007]为解决上述问题,本专利技术采用如下的技术方案。
[0008]一种任务进度条平滑分配的方法,包括:
[0009]获取任务完成下载的期望总时长和需要完成下载的任务总量;
[0010]根据需要完成下载的任务总量,将进度条划分为多个分段,每一任务均有对应的分段,多个分段长度之和小于进度条总长度;
[0011]在每一分段的尾部位置设置过度分段,多个过度分段的初始长度相等;
[0012]在期望时长内设置多个检测时间点,在执行当前下载任务时检测进度条在对应分段内前进的进度;其中:
[0013]若检测时间点时刻进度条在对应分段内实际前进的进度大于检测时间点的期望进度,保持该任务分段尾部的过度分段长度不变或增加该任务分段尾部的过度分段长度,控制任务条在对应分段余下的分段长度以及对应分段尾部位置的过度分段内以低于该检测时间点前进的速度前进,直至当前执行任务完成下载;
[0014]若检测时间点时刻进度条在对应分段内实际前进的进度小于或等于检测时间点的期望进度,减小该任务分段尾部的过度分段长度,控制任务条在对应分段余下的分段长度以及对应分段尾部位置的过度分段内以等于或大于该检测时间点前进的速度前进,直至当前执行任务完成下载。
[0015]优选地,根据需要完成下载的任务总量,将进度条划分为多个分段,每一分段用于指示任务的下载进度,其具体包括:
[0016]根据每一任务完成下载的期望时长与任务完成下载的期望总时长的比值,配置每一任务对应分段在进度条中的长度占比。
[0017]优选地,所述检测时间点至少包括当前时间与期望总时长之和所在时间点。
[0018]优选地,多个过度分段的总长度为进度条总长度的10%~30%。
[0019]优选地,任意分段内任意两相邻时刻之间,所述进度条的实际前进速度变化在0.8~1.2之间。
[0020]优选地,所述进度条还包括:补偿段,所述补偿段设置于进度条末段,所述补偿段、多个所述过度分段、以及多个所述分段的长度之和等于进度条总长度;
[0021]所述任务条在补偿段位置以邻近检测时间点前进的速度匀速前进。
[0022]3、有益效果
[0023]相比于现有技术,本专利技术的有益效果为:
[0024]本专利技术中每次向处理器请求并获取当前任务的处理状态时,以预先设置的检测时间点为时间节点进行请求,一方面能够避免现有技术中频繁地向处理器请求带来的给处理器造成额外负担的问题,另一方面又能够实时观察监测到任务的实时下载状态;同时,任务条在前进过程中可以以匀速、加速、减速等多种方式前进,并在加速或减速过程中调整过度分段的长度,使得在处理器无法及时响应请求时,任务条不仅不会出现卡顿,还可以尽可能地以匀速的方式平滑前进,因此避免了用户误以为“死机”或“卡顿”而结束任务。
附图说明
[0025]图1为本专利技术中的一种任务进度条平滑分配的方法流程示意图。
具体实施方式
[0026]为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。
[0027]进度条即计算机在处理文件时,实时的,以图片形式显示处理文件的速度,完成度,剩余未完成文件的大小,和可能需要处理时间,在各种计算机软件中,经常采用进度条来表达任务的执行过程。进度条一般以长方形条状显示,有背景和前景。初始状态背景有一定的长度,前景从0或小于背景长度的某个值开始增加长度,当增长到和背景一样长时,表示任务完成。
[0028]用户对进度指示的需求通常是整个任务需要多长时间,如果总时间是可接受的,就会等待任务的结束,如果时间是不可接受的,则会直接结束任务,而对于任务处理过程中什么时候处理得快什么时候处理的慢,并不太关心。因此,本专利技术的核心思想在于,首先控制进度条以初始速度进行加载,当任务实际完成下载速度相较于预期较快时,降低任务条
加载速度,增加任务条长度;同时,当任务实际完成下载的速度相较于预期较慢时,提高任务条加载速度,减小任务条长度,不仅使得显示的进度条流畅且有加速感,还能够避免任务条加载时快时慢,更加地平滑。
[0029]如图1所示,本实施例提供一种任务进度条平滑分配的方法,一般应用于终端的电子设备中,包括:
[0030]步骤S100、获取任务完成下载的期望总时长和需要完成下载的任务总量;当前需要执行的下载任务可以是对数据库增量更新的任务、对数据库全量更新的任务、文件的复制或移动任务、或是脚本任务,还可以是其他计算机可执行的任务。该任务可以分成多个任务子单元,例如,当任务是对数据库增量更新时,一般会涉及到新数据库安装包的安全扫描任务,此时每个任务子单元可以是对一个或一组程序安装包的安全扫描任务。该任务子单元可以是不可再分的最小任务单位;
[0031]步骤S200、根据需要完成下载的任务总量,将进度条划分为多个分段,每一任务均有对应的分段,多个分段长度之和小于进度条总长度;其具体包括:
[0032]根据每一任务完成下载的期望时长与任务完成下载的期望总时长的比值,配置每一任务对应分段在进度条中的长度占比。
[0033]在本实施例中,可以通过终端的电子设备将任务进度条划分为至少一个进度条分段,每个进度条分段对应一任务。例如,当待执行任务所分成的任务是对一个程序安装包的安全扫描任务时,进度条分段所分成的进度条本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务进度条平滑分配的方法,其特征在于,包括:获取任务完成下载的期望总时长和需要完成下载的任务总量;根据需要完成下载的任务总量,将进度条划分为多个分段,每一任务均有对应的分段,多个分段长度之和小于进度条总长度;在每一分段的尾部位置设置过度分段,多个过度分段的初始长度相等;在期望时长内设置多个检测时间点,在执行当前下载任务时检测进度条在对应分段内前进的进度;其中:若检测时间点时刻进度条在对应分段内实际前进的进度大于检测时间点的期望进度,保持该任务分段尾部的过度分段长度不变或增加该任务分段尾部的过度分段长度,控制任务条在对应分段余下的分段长度以及对应分段尾部位置的过度分段内以低于该检测时间点前进的速度前进,直至当前执行任务完成下载;若检测时间点时刻进度条在对应分段内实际前进的进度小于或等于检测时间点的期望进度,减小该任务分段尾部的过度分段长度,控制任务条在对应分段余下的分段长度以及对应分段尾部位置的过度分段内以等于或大于该检测时间点前进的速度前进,直至当前执行任务完成下载。2.根据权利要求...

【专利技术属性】
技术研发人员:孙艺成孟涛韩廷宏
申请(专利权)人:上海星起源新能源科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1