一种进度条的控制方法和装置制造方法

文档序号:6488035阅读:81来源:国知局
一种进度条的控制方法和装置制造方法
【专利摘要】本发明公开了一种进度条的控制方法和装置,属于计算机安全领域。该方法包括:获取当前任务的上次运行时间;获取终端设备的当前使用状态,并根据所述当前使用状态确定对应的影响因子;根据所述当前任务的上次运行时间和所述影响因子,得到所述当前任务的本次运行时间;根据所述当前任务的本次运行时间,控制进度条的本次运行进度。该设备包括:第一获取模块、第二获取模块、计算模块和记录模块。本发明通过获取当前任务的上次运行时间和终端设备的当前使用状态,不断计算当前任务的运行时间,使进度条能够准确的反映任务的执行情况,优化了用户的使用体验。
【专利说明】一种进度条的控制方法和装置
【技术领域】
[0001]本发明涉及计算机安全领域,特别涉及一种进度条的控制方法和装置。
【背景技术】
[0002]进度条,是终端设备在处理任务时,实时地以图片形式显示处理任务的速度、完成度、剩余未完成的大小以及可能需要处理的时间,用以表达任务的执行进程。进度条的使用范围相当广泛,凡是在数据处理、文件读写、数据库处理、软件安装和卸载等处理过程中都会用到,而进度条的应用都是通过进度来体现的,因而对进度条进度的控制也就尤为重要。
[0003]目前,进度条的控制方法主要有两种:一种是,首先在任务运行前计算出所需运行的任务个数和运行所有任务的总时间,然后按照每个任务运行的平均速率在进度条控制进度;另一种是,在任务运行时,直接按照之前通过多次实验统计计算得到的任务运行时间控制进度条的运行进度。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]现有的第一种进度条的控制方法,由于在任务运行前需要消耗大量的时间去计算所需运行的任务个数和运行所有任务的总时间,这就加长了任务运行的实际时间,且在同一时间内终端设备处理的任务太多,进度条无法精确反映任务执行进度;第二种进度条的控制方法,按照通过多次实验统计计算得到的任务运行时间直接控制进度条的运行进度,由于用户的终端设备软件与硬件环境各异,造成了进度条的进度与任务执行时间不匹配,比如进度条走到末尾或已经完成,而任务还在执行的情况,使得进度条的进度不能准确反映任务执行情况。

【发明内容】

[0006]为了使进度条的进度能够准确的反映任务的执行情况,本发明实施例提供了一种进度条的控制方法和装置。所述技术方案如下:
[0007]本发明实施例提供了一种进度条的控制方法,所述方法包括:
[0008]获取当前任务的上次运行时间;
[0009]获取终端设备的当前使用状态,并根据所述当前使用状态确定对应的影响因子;
[0010]根据所述当前任务的上次运行时间和所述影响因子,得到所述当前任务的本次运行时间;
[0011]根据所述当前任务的本次运行时间,控制进度条的本次运行进度。
[0012]其中,所述获取当前任务的上次运行时间,具体包括:
[0013]当所述当前任务为首次运行时,则单独计算所述当前任务的首次运行时间,并获取所述当前任务的首次运行总时间;
[0014]当所述当前任务为非首次运行时,则直接获取当前任务的上次运行时间;
[0015]当所述当前任务中包括至少一个首次运行的任务和至少一个非首次运行的任务,则单独计算所述首次运行的任务的首次运行时间,并直接获取所述非首次运行的任务的上次运行时间,将计算的所述首次运行的任务的首次运行时间和获取的所述非首次运行的任务的上次运行时间累加,得到所述当前任务的上次运行时间。
[0016]进一步地,所述当所述当前任务为首次运行时,则单独计算所述当前任务的首次运行时间,并获取所述当前任务的首次运行总时间,包括:
[0017]单独计算所述当前任务的首次运行时间;
[0018]根据所消耗的计算时间和计算出的所述首次运行时间,得到所述当前任务的首次运行总时间,并记录所述当前任务的首次运行时间。
[0019]进一步地,所述根据所述当前任务的本次运行时间,控制进度条的本次运行进度,还包括:
[0020]在所述当前任务的进度条的开始处预留一段进度条,按照所消耗的计算时间控制所述预留的进度条的进度。
[0021]其中,所述根据所述当前任务的本次运行时间,控制进度条的本次运行进度,还包括:
[0022]当包括多个任务时,在每两个任务对应的进度之间设置缓冲区;
[0023]当所述当前任务中的任务的进度突然变快时,将所述缓冲区和所述任务对应的进度合并为执行进度,控制所述任务的进度条在所述执行进度中运行;
[0024]当所述当前任务中的任务的进度缓慢无法在对应的进度完成时,控制所述任务的进度条在所述缓冲区减速运行。
[0025]其中,所述根据所述当前任务的本次运行时间,控制进度条的本次运行进度之后,还包括:
[0026]所述进度条的本次运行进度完成后,记录所述当前任务的本次运行时间,以便所述当前任务下次运行时获取。
[0027]本发明实施例还提供了一种进度条的控制装置,所述装置包括:
[0028]第一获取模块,用于获取当前任务的上次运行时间;
[0029]第二获取模块,用于获取终端设备的当前使用状态,并根据所述当前使用状态确定对应的影响因子;
[0030]计算模块,用于根据所述当前任务的上次运行时间和所述影响因子,得到所述当前任务的本次运行时间;
[0031]控制模块,用于根据所述当前任务的本次运行时间,控制进度条的本次运行进度。
[0032]其中,所述第一获取模块,具体包括:
[0033]第一获取单元,用于当所述当前任务为首次运行时,则单独计算所述当前任务的首次运行时间,并获取所述当前任务的首次运行总时间;
[0034]第二获取单元,用于当所述当前任务为非首次运行时,则直接获取当前任务的上次运行时间;
[0035]第三获取单元,用于当所述当前任务中包括至少一个首次运行的任务和至少一个非首次运行的任务,则单独计算所述首次运行的任务的首次运行时间,并直接获取所述非首次运行的任务的上次运行时间,将计算的所述首次运行的任务的首次运行时间和获取的所述非首次运行的任务的上次运行时间累加,得到所述当前任务的上次运行时间。
[0036]进一步地,所述第一获取单元,还用于计算所述当前任务的首次运行时间;根据所消耗的计算时间和计算出的所述首次运行时间,确定所述当前任务的首次运行总时间,并记录所述当前任务的首次运行时间。
[0037]进一步地,所述控制模块,还包括:
[0038]预留单元,用于在计算所述当前任务的首次运行时间后,在所述当前任务的进度条的开始处预留一段进度条,按照所消耗的计算时间控制所述预留的进度条的进度。
[0039]其中,所述控制模块,还包括:
[0040]设置单元,用于当包括多个任务时,在每两个任务对应的进度之间设置缓冲区;
[0041]合并单元,用于当所述当前任务中的任务的进度突然变快时,将所述缓冲区和所述任务对应的进度合并为执行进度,控制所述任务的进度条在所述执行进度中运行;
[0042]减速单元,用于当所述当前任务中的任务的进度缓慢无法在对应的进度完成时,控制所述任务的进度条在所述缓冲区减速运行。
[0043]其中,所述装置,还包括:
[0044]记录模块,用于在所述进度条的本次运行进度完成后,记录所述当前任务的本次运行时间,以便所述当前任务下次运行时获取。
[0045]本发明实施例提供的技术方案带来的有益效果是:
[0046]本发明实施例提供的进度条的控制方法和装置,通过获取进度条的上次运行时间的记录并不断地获取终端设备的当前使用状态,不断计算当前任务的运行时间,以此来决定进度条的运行进度,并且运行结束后记录本次运行时间以便下一次运行时获取,使进度条能够准确的反映任务的执行情况,优化了用户的使用体验。
【专利附图】

【附图说明】
[0047]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]图1是本发明实施例一提供的一种进度条的控制方法的流程图;
[0049]图2是本发明实施例二提供的一种进度条的控制方法的流程图;
[0050]图3是本发明实施例三提供的一种进度条的控制装置的结构示意图;
[0051]图4是本发明实施例三提供的一种进度条的控制装置的另一结构示意图。
【具体实施方式】
[0052]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0053]实施例一
[0054]图1是本发明实施例提供了一种进度条的控制方法的流程图,参见图1,该实施例包括:
[0055]101、获取当前任务的上次运行时间;
[0056]102、获取终端设备的当前使用状态,并根据当前使用状态确定对应的影响因子;
[0057]103、根据当前任务的上次运行时间和影响因子,得到当前任务的本次运行时间;[0058]104、根据当前任务的本次运行时间,控制进度条的本次运行进度。
[0059]其中,获取当前任务的上次运行时间,具体包括:
[0060]当前任务为首次运行时,则单独计算当前任务的首次运行时间,并获取当前任务的首次运行总时间;
[0061]当前任务为非首次运行时,则直接获取当前任务的上次运行时间;
[0062]当前任务中包括至少一个首次运行的任务和至少一个非首次运行的任务,则单独计算首次运行的任务的首次运行时间,并直接获取非首次运行的任务的上次运行时间,将计算的首次运行的任务的首次运行时间和获取的非首次运行的任务的上次运行时间累加,得到当前任务的上次运行时间。
[0063]进一步地,当前任务为首次运行时,则单独计算当前任务的首次运行时间,并获取当前任务的首次运行总时间,包括:
[0064]单独计算当前任务的首次运行时间;
[0065]根据所消耗的计算时间和计算出的首次运行时间,得到当前任务的首次运行总时间,并记录当前任务的首次运行时间。
[0066]进一步地,根据当前任务的本次运行时间,控制进度条的本次运行进度,还包括:
[0067]在当前任务的进度条的开始处预留一段进度条,按照所消耗的计算时间控制预留的进度条的进度。
[0068]其中,根据当前任务的本次运行时间,控制进度条的本次运行进度,还包括:
[0069]当包括多个任务时,在每两个任务对应的进度之间设置缓冲区;
[0070]当前任务中的任务的进度突然变快时,将缓冲区和任务对应的进度合并为执行进度,控制任务的进度条在执行进度中运行;
[0071]当前任务中的任务的进度缓慢无法在对应的进度完成时,控制任务的进度条在缓冲区减速运行。
[0072]其中,根据当前任务的本次运行时间,控制进度条的本次运行进度之后,还包括:
[0073]进度条的本次运行进度完成后,记录当前任务的本次运行时间,以便当前任务下次运行时获取。
[0074]本发明实施例提供的进度条的控制方法,通过获取进度条的上次运行时间的记录并不断地获取终端设备的当前使用状态,不断计算当前任务的运行时间,以此来决定进度条的运行进度,并且运行结束后记录本次运行时间以便下一次运行时获取,使进度条能够准确的反映任务的执行情况,提高了用户的使用体验。
[0075]实施例二
[0076]图2是本发明实施例提供了一种进度条的控制方法的流程图。参见图2,该实施例包括:
[0077]201、获取当前任务的上次运行时间;
[0078]具体地,如果当前任务为首次运行时,则单独计算当前任务的首次运行时间,并获取当前任务的首次运行总时间;
[0079]单独计算当前任务的首次运行时间,可以单独启用一个线程去计算当前任务的首次运行时间;
[0080]根据所消耗的计算时间和计算出的首次运行时间,得到当前任务的首次运行总时间,并记录当前任务的首次运行时间。比如当前任务完成需要59秒,计算所消耗的计算时间为18秒,则当前任务的首次运行总时间为77秒。
[0081]首次运行当前任务时,还需记录计算出的当前任务的首次运行时间,以便下次运行当前任务时获取。进一步地,首次运行当前任务时,当前任务有多个任务时,需要分别计算当前任务中每个任务的首次运行时间,将每个首次任务运行时间累加,得到当前任务的首次运行时间,并记录每个任务的首次运行时间,以便下次运行任务时获取。
[0082]具体地,如果当前任务为非首次运行时,则直接获取当前任务的上次运行时间;
[0083]如果当前任务有多个任务时,获取当前任务中记录的每个任务的上次运行时间,并将每个任务的上次运行时间累加,得到当前任务的上次运行时间。
[0084]具体地,如果当前任务中包括至少一个首次运行的任务和至少一个非首次运行的任务,则单独计算首次运行的任务的首次运行时间,并直接获取非首次运行的任务的上次运行时间,将计算的首次运行的任务的首次运行时间和获取的非首次运行的任务的上次运行时间累加,得到当前任务的上次运行时间。
[0085]如果当前任务中有多个任务,而有的任务为首次运行,有的任务为非首次运行,单独计算首次运行的任务的首次运行时间,并将计算出的首次运行的任务的首次运行时间和直接获取到的非首次运行任务的上次运行时间和相加,得到当前任务的上次运行时间。
[0086]202、获取终端设备的当前使用状态,并根据当前使用状态确定对应的影响因子;
[0087]具体地,由于终端设备的当前使用状态比如CPU使用情况和内存使用情况是不断变化的,所以需要按照预设的时间或者每执行完一个任务时获取一次当前使用状态,不断地获取当前使用状态,根据获取的当前使用状态确定对应的影响因子;
[0088]比如,当前使用状态为很忙碌时的影响因子为1.8,当前使用状态为忙碌时的影响因子为1.4,当前使用状态为正常时的影响因子为1,当前使用状态为空闲时的影响因子为
0.8,当前使用状态为很空闲时的影响因子为0.5。其中,影响因子的确定可以由多次统计得到或者按照预定的规律计算得到。
[0089]203、根据当前任务的上次运行时间和影响因子,得到当前任务的本次运行时间;
[0090]具体地,将当前任务的上次运行时间和影响因子做乘积,得到的运算结果作为当前任务的本次运行时间;比如当前任务的上次运行时间为100秒,当前使用状态为忙碌时的影响因子为1.4,则当前任务的本次运行时间为140秒。
[0091]204、根据当前任务的本次运行时间,控制当前任务的本次运行进度;
[0092]具体地,根据当前任务的本次运行时间,在进度条上均匀控制本次运行进度。
[0093]其中,当前任务包括多个任务时,在每两个任务对应的进度之间设置缓冲区;
[0094]如果当前任务中的任务的进度突然变快时,将缓冲区和任务对应的进度合并为执行进度,控制任务的进度条在执行进度中运行;
[0095]如果当前任务中的任务的进度缓慢无法在对应的进度完成时,控制任务的进度条在缓冲区减速运行。
[0096]进一步地,根据当前任务的本次运行时间,控制进度条的本次运行进度,还包括:
[0097]如果首次运行当前任务,在当前任务的进度条的开始处预留一段进度条,按照所消耗的计算时间控制预留的进度条的进度。由于计算当前任务的首次运行时间计算需要消耗一定的时间,所以本发明实施例中将在当前任务的进度条的开始处预留一段进度,以便完成当前任务运行时间的计算,防止在计算当前任务运行时间时使用户感觉到进度条不动造成死机的错觉。
[0098]205、进度条的本次运行进度完成后,记录当前任务的本次运行时间,以便当前任务的进度条下次运行时获取。
[0099]具体,进度条的本次运行进度完成后,即当前任务完成后,需要记录下本次运行时间在本地,以便下次运行当前任务时直接获取。
[0100]本发明实施例提供的进度条的控制方法,通过获取进度条的上次运行时间的记录并不断地获取终端设备的当前使用状态,不断计算当前任务的运行时间,以此来决定进度条的运行进度,并且运行结束后记录本次运行时间以便下一次运行时获取,使进度条能够准确的反映任务的执行情况,提高了用户的使用体验。
[0101]实施例三
[0102]图3是本发明实施例提供了一种进度条的控制装置,参见图3,该设备包括:
[0103]第一获取模块301,用于获取当前任务的上次运行时间;
[0104]第二获取模块302,用于获取终端设备的当前使用状态,并根据当前使用状态确定对应的影响因子;
[0105]计算模块303,用于根据当前任务的上次运行时间和影响因子,得到当前任务的本次运行时间;
[0106]控制模块304,用于根据当前任务的本次运行时间,控制进度条的本次运行进度。
[0107]其中,第一获取模块301,具体包括:
[0108]第一获取单元,用于当前任务为首次运行时,则单独计算当前任务的首次运行时间,并获取当前任务的首次运行总时间;
[0109]第二获取单元,用于当前任务为非首次运行时,则直接获取当前任务的上次运行时间;
[0110]第三获取单元,用于当前任务中包括至少一个首次运行的任务和至少一个非首次运行的任务,则单独计算首次运行的任务的首次运行时间,并直接获取非首次运行的任务的上次运行时间,将计算的首次运行的任务的首次运行时间和获取的非首次运行的任务的上次运行时间累加,得到当前任务的上次运行时间。
[0111]进一步地,第一获取单元,还用于计算当前任务的首次运行时间;根据所消耗的计算时间和计算出的首次运行时间,确定当前任务的首次运行总时间,并记录当前任务的首次运行时间。
[0112]进一步地,控制模块304,还包括:
[0113]预留单元,用于在计算当前任务的首次运行时间后,在当前任务的进度条的开始处预留一段进度条,按照所消耗的计算时间控制预留的进度条的进度。
[0114]其中,控制模块304,还包括:
[0115]设置单元,用于当包括多个任务时,在每两个任务对应的进度之间设置缓冲区;
[0116]合并单元,用于当前任务中的任务的进度突然变快时,将缓冲区和任务对应的进度合并为执行进度,控制任务的进度条在执行进度中运行;
[0117]减速单元,用于当前任务中的任务的进度缓慢无法在对应的进度完成时,控制任务的进度条在缓冲区减速运行。[0118]其中,参见图4,该装置还包括:
[0119]记录模块305,用于在进度条的本次运行进度完成后,记录当前任务的本次运行时间,以便当前任务下次运行时获取。
[0120]本发明实施例提供的进度条的控制装置,通过获取进度条的上次运行时间的记录并不断地获取终端设备的当前使用状态,不断计算当前任务的运行时间,以此来决定进度条的运行进度,并且运行结束后记录本次运行时间以便下一次运行时获取,使进度条能够准确的反映任务的执行情况,提高了用户的使用体验。
[0121]需要说明的是:上述实施例提供的进度条的控制装置在控制进度条时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将进度条的控制装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的进度条的控制装置与进度条的控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0122]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0123]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种进度条的控制方法,其特征在于,所述方法包括: 获取当前任务的上次运行时间; 获取终端设备的当前使用状态,并根据所述当前使用状态确定对应的影响因子; 根据所述当前任务的上次运行时间和所述影响因子,得到所述当前任务的本次运行时间; 根据所述当前任务的本次运行时间,控制进度条的本次运行进度。
2.根据权利要求1所述的方法,其特征在于,所述获取当前任务的上次运行时间,具体包括: 当所述当前任务为首次运行时,则单独计算所述当前任务的首次运行时间,并获取所述当前任务的首次运行总时间; 当所述当前任务为非首次运行时,则直接获取当前任务的上次运行时间; 当所述当前任务中包括至少一个首次运行的任务和至少一个非首次运行的任务,则单独计算所述首次运行的任务的首次运行时间,并直接获取所述非首次运行的任务的上次运行时间,将计算的所述首次运行的任务的首次运行时间和获取的所述非首次运行的任务的上次运行时间累加,得到所述当前任务的上次运行时间。
3.根据权利要求2所述的方法,其特征在于,所述当所述当前任务为首次运行时,则单独计算所述当前任务的首次运行时间,并获取所述当前任务的首次运行总时间,包括: 单独计算所述当前任务的首次运行时间;` 根据所消耗的计算时间和计算出的所述首次运行时间,得到所述当前任务的首次运行总时间,并记录所述当前任务的首次运行时间。
4.根据权利要求1或3所述的方法,其特征在于,所述根据所述当前任务的本次运行时间,控制进度条的本次运行进度,还包括: 在所述当前任务的进度条的开始处预留一段进度条,按照所消耗的计算时间控制所述预留的进度条的进度。
5.根据权利要求1所述的方法,其特征在于,所述根据所述当前任务的本次运行时间,控制进度条的本次运行进度,还包括: 当包括多个任务时,在每两个任务对应的进度之间设置缓冲区; 当所述当前任务中的任务的进度突然变快时,将所述缓冲区和所述任务对应的进度合并为执行进度,控制所述任务的进度条在所述执行进度中运行; 当所述当前任务中的任务的进度缓慢无法在对应的进度完成时,控制所述任务的进度条在所述缓冲区减速运行。
6.根据权利要求1所述的方法,其特征在于,所述根据所述当前任务的本次运行时间,控制进度条的本次运行进度之后,还包括: 所述进度条的本次运行进度完成后,记录所述当前任务的本次运行时间,以便所述当前任务下次运行时获取。
7.一种进度条的控制装置,其特征在于,所述装置包括: 第一获取模块,用于获取当前任务的上次运行时间; 第二获取模块,用于获取终端设备的当前使用状态,并根据所述当前使用状态确定对应的影响因子;计算模块,用于根据所述当前任务的上次运行时间和所述影响因子,得到所述当前任务的本次运行时间; 控制模块,用于根据所述当前任务的本次运行时间,控制进度条的本次运行进度。
8.根据权利要求7所述的装置,其特征在于,所述第一获取模块,具体包括: 第一获取单元,用于当所述当前任务为首次运行时,则单独计算所述当前任务的首次运行时间,并获取所述当前任务的首次运行总时间; 第二获取单元,用于当所述当前任务为非首次运行时,则直接获取当前任务的上次运行时间; 第三获取单元,用于当所述当前任务中包括至少一个首次运行的任务和至少一个非首次运行的任务,则单独计算所述首次运行的任务的首次运行时间,并直接获取所述非首次运行的任务的上次运行时间,将计算的所述首次运行的任务的首次运行时间和获取的所述非首次运行的任务的上次运行时间累加,得到所述当前任务的上次运行时间。
9.根据权利要求8所述的装置,其特征在于,所述第一获取单元,还用于计算所述当前任务的首次运行时间;根据所消耗的计算时间和计算出的所述首次运行时间,确定所述当前任务的首次运行总时间,并记录所述当前任务的首次运行时间。
10.根据权利要求7或9所述的装置,其特征在于,所述控制模块,还包括: 预留单元,用于在计算所述当前任务的首次运行时间后,在所述当前任务的进度条的开始处预留一段进度条,按照所消耗的计算时间控制所述预留的进度条的进度。
11.根据权利要求7所述的装置,其特征在于,所述控制模块,还包括: 设置单元,用于当包括多个任务时,在每两个任务对应的进度之间设置缓冲区; 合并单元,用于当所述当前任务中的任务的进度突然变快时,将所述缓冲区和所述任务对应的进度合并为执行进度,控制所述任务的进度条在所述执行进度中运行; 减速单元,用于当所述当前任务中的任务的进度缓慢无法在对应的进度完成时,控制所述任务的进度条在所述缓冲区减速运行。
12.根据权利要求7所述的装置,其特征在于,所述装置,还包括: 记录模块,用于在所述进度条的本次运行进度完成后,记录所述当前任务的本次运行时间,以便所述当前任务下次运行时获取。
【文档编号】G06F9/44GK103631571SQ201210299107
【公开日】2014年3月12日 申请日期:2012年8月21日 优先权日:2012年8月21日
【发明者】郭凌 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1