公开/公告号CN102393830A
专利类型发明专利
公开/公告日2012-03-28
原文格式PDF
申请/专利权人 用友软件股份有限公司;
申请/专利号CN201110177242.4
发明设计人 高光荣;
申请日2011-06-28
分类号G06F11/32(20060101);
代理机构北京友联知识产权代理事务所(普通合伙);
代理人尚志峰;汪海屏
地址 100094 北京市海淀区北清路68号用友软件园
入库时间 2023-12-18 04:38:40
法律状态公告日
法律状态信息
法律状态
2015-04-22
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F11/32 变更前: 变更后: 申请日:20110628
专利权人的姓名或者名称、地址的变更
2014-05-07
授权
授权
2012-05-09
实质审查的生效 IPC(主分类):G06F11/32 申请日:20110628
实质审查的生效
2012-03-28
公开
公开
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据处理时间获取 方法和一种数据处理时间获取装置。
背景技术
随着软件使用规模的扩大,在大数据量处理的地方通常会花费大量的 时间,一般情况下会使用进度显示来给用户以友好的提示。
现有的进度显示通常有以下一些处理方法:
1.估算一个时间,让进度按照估计时间来显示。
缺点:在多变的情况下或者大数据的情况下,这个时间很难估算,可 能出现进度显示到99%却突然停了下来,这样的情况着实让人沮丧。
2.在大数据处理中,进度按照数据量进行等分,每处理完一条数据 进度显示就前进一点,这样进度显示就非常精确。
缺点:每处理一条数据都要进行一次进度显示处理,增加大量额外处 理,使整个处理过程变得更慢,同时花费更多的资源。
3.普通自适应进度处理:首先给出一个数据处理可能的时间值,并 将其保存到文件,第一次数据处理时,进度条以文件中保存的时间值进行 显示,同时计算实际处理时间,当本次工作完成之后,将实际值保存到文 件中,下一次再进行数据处理时,则以上次的实际时间值进行显示,这样 显示就比较准确,又在不断地修正时间值。
缺点:这种方式只适用于较稳定的数据处理中,当数据处理多变的情 况下,时间变化的也快,这样就不准确了。
上面所述的进度显示方法中,其时间估算都存在一些问题,特别是在 多变的大数据量处理时(如常见的应用系统中大量数据的查询和插入,不 同的用户操作所产生的数据量的多少是不同的,同时对应的网络情况也是 很不相同的,对应每个用户需要处理的过程也不相同,而且对于相同的处 理在系统运行初期和运行一段时间后处理时间也是不同的),不可能通过 一个简单的计算算出一个比较准确的时间值,进度显示时间也就很不准确 了。
因此,需要一种新的数据处理的时间估算方法,可用于进度显示,能 够适应大数据量处理的情况同时要适应多变的情况,且在多变的情况下就 需要能自我适应和改进,以使进度显示准确。
发明内容
本发明所要解决的技术问题在于,提供一种新的数据处理的时间估算 方法,可用于进度显示,能够适应大数据量处理的情况同时要适应多变的 情况,且在多变的情况下就需要能自我适应和改进,以使进度显示准确。
有鉴于此,本发明提供一种数据处理时间获取方法,包括:步骤 102,创建时间维度记录,在其中存储用于数据处理的维度的纬度值,以 及对应纬度值的数据处理的所需时间;步骤104,进行数据处理时,获取 维度的当前维度值;步骤106,从时间维度记录中,取得与当前维度值最 匹配的维度值,根据最匹配的维度值对应的所需时间,来获取本次数据处 理的所需时间。通过该技术方案,在无法准确获得可以匹配的时间,可以 通过预置算法计算出合理的时间,保证足够的准确性。
在上述技术方案中,优选地,在步骤106中,时间维度记录中存在与 当前纬度值完全匹配的纬度值时,将完全匹配的纬度值对应的所需时间作 为本次处理的所需时间。
在上述技术方案中,优选地,在步骤106中,时间维度记录中不存在 与当前纬度值完全匹配的纬度值时,取得与当前纬度值匹配度最高的多个 纬度值,按预定算法处理多个纬度值对应的所需时间,以得到本次处理的 所需时间。
在上述技术方案中,优选地,其特征在于,还包括:本次数据结束 后,将当前维度值与本次数据的实际所需时间记录到时间维度记录中。通 过该技术方案,保证本方法能够逐步学习,以便于实现更准确的匹配。
在上述技术方案中,优选地,还包括:根据本次数据处理的所需时 间,显示本次数据处理的进度。通过该技术方案,以进度方式将所需时间 显示给用户,更加直观方便。
本发明还包括一种数据处理时间获取装置,包括:数据存储模块,创 建时间维度记录,在其中存储用于数据处理的维度的纬度值,以及对应纬 度值的数据处理的所需时间;时间控制模块,进行数据处理时,获取维度 的当前维度值;时间计算模块,从时间维度记录中,取得与当前维度值最 匹配的维度值,根据最匹配的维度值对应的所需时间,来获取本次数据处 理的所需时间。通过该技术方案,在无法准确获得可以匹配的时间,可以 通过预置算法计算出合理的时间,保证足够的准确性。
在上述技术方案中,优选地,时间维度记录中存在与当前纬度值完全 匹配的纬度值时,时间计算模块将完全匹配的纬度值对应的所需时间作为 本次处理的所需时间。
在上述技术方案中,优选地,时间维度记录中不存在与当前纬度值完 全匹配的纬度值时,时间计算模块取得与当前纬度值匹配度最高的多个纬 度值,按预定算法处理多个纬度值对应的所需时间,以得到本次处理的所 需时间。
在上述技术方案中,优选地,本次数据结束后,数据存储模块还将当 前维度值与本次数据的实际所需时间记录到时间维度记录中。通过该技术 方案,保证本装置能够逐步学习,以便于实现更准确的匹配。
在上述技术方案中,优选地,还包括:进度显示模块,根据本次数据 处理的所需时间,显示本次数据处理的进度。通过该技术方案,以进度方 式将所需时间显示给用户,更加直观方便。
通过本发明的技术方案,可以实现一种数据处理时间获取方法和一种 数据处理时间获取装置,可用于进度显示,能够适应大数据量处理的情况 同时要适应多变的情况,且在多变的情况下就需要能自我适应和改进,以 使进度显示准确。
附图说明
图1是根据本发明的一个实施例的数据处理时间获取方法的流程图;
图2是根据本发明的一个实施例的数据处理时间获取装置的框图;
图3是根据本发明的一个实施例的数据处理时间获取装置的示意图;
图4是根据本发明的一个实施例的数据处理时间获取装置的工作流程 图;
图5是根据本发明的一个实施例的数据处理时间获取装置的工作流程 图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附 图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是, 本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明 并不限于下面公开的具体实施例的限制。
图1是根据本发明的一个实施例的数据处理时间获取方法的流程图。
如图1所示,本发明提供一种数据处理时间获取方法,包括:步骤 102,创建时间维度记录,在其中存储用于数据处理的维度的纬度值,以 及对应纬度值的数据处理的所需时间;步骤104,进行数据处理时,获取 维度的当前维度值;步骤106,从时间维度记录中,取得与当前维度值最 匹配的维度值,根据最匹配的维度值对应的所需时间,来获取本次数据处 理的所需时间。通过该技术方案,在无法准确获得可以匹配的时间,可以 通过预置算法计算出合理的时间,保证足够的准确性。
在上述技术方案中,在步骤106中,时间维度记录中存在与当前纬度 值完全匹配的纬度值时,将完全匹配的纬度值对应的所需时间作为本次处 理的所需时间。
在上述技术方案中,在步骤106中,时间维度记录中不存在与当前纬 度值完全匹配的纬度值时,取得与当前纬度值匹配度最高的多个纬度值, 按预定算法处理多个纬度值对应的所需时间,以得到本次处理的所需时 间。
在上述技术方案中,其特征在于,还包括:本次数据结束后,将当前 维度值与本次数据的实际所需时间记录到时间维度记录中。通过该技术方 案,保证本方法能够逐步学习,以便于实现更准确的匹配。
在上述技术方案中,还包括:根据本次数据处理的所需时间,显示本 次数据处理的进度。通过该技术方案,以进度方式将所需时间显示给用 户,更加直观方便。
图2是根据本发明的一个实施例的数据处理时间获取装置的框图。
如图2所示,本发明还包括一种数据处理时间获取装置200,包括: 数据存储模块202,创建时间维度记录,在其中存储用于数据处理的维度 的纬度值,以及对应纬度值的数据处理的所需时间;时间控制模块204, 进行数据处理时,获取维度的当前维度值;时间计算模块206,从时间维 度记录中,取得与当前维度值最匹配的维度值,根据最匹配的维度值对应 的所需时间,来获取本次数据处理的所需时间。通过该技术方案,在无法 准确获得可以匹配的时间,可以通过预置算法计算出合理的时间,保证足 够的准确性。
在上述技术方案中,时间维度记录中存在与当前纬度值完全匹配的纬 度值时,时间计算模块206将完全匹配的纬度值对应的所需时间作为本次 处理的所需时间。
在上述技术方案中,时间维度记录中不存在与当前纬度值完全匹配的 纬度值时,时间计算模块206取得与当前纬度值匹配度最高的多个纬度 值,按预定算法处理多个纬度值对应的所需时间,以得到本次处理的所需 时间。
在上述技术方案中,本次数据结束后,数据存储模块202还将当前维 度值与本次数据的实际所需时间记录到时间维度记录中。通过该技术方 案,保证本装置能够逐步学习,以便于实现更准确的匹配。
在上述技术方案中,还包括:进度显示模块208,根据本次数据处理 的所需时间,显示本次数据处理的进度。通过该技术方案,以进度方式将 所需时间显示给用户,更加直观方便。
图3是根据本发明的一个实施例的数据处理时间获取装置的示意图。
为了适应大数据处理的情况和多变的情况,并且能准确的进行进度显 示,在此设计出一种自适应进度的处理时间获取装置,该装置由以下四个 部分组成(图中箭头方向为时间值的流向):
1.进度显示器302:
进度显示器302负责进度显示,给用户以信息提示。这通常由一个单 独的包含进度条的窗体线程来实现。
2.时间控制器304:
时间控制器304负责控制进度显示器302的进度显示时间,根据实际 情况获取时间维度值,并将这些维度值传递给时间计算器308,以此维度 值计算出的一个时间值让进度显示器302进行显示。
如果进度显示与数据处理不一致:
A.如果数据处理结束而进度显示未结束,加快进度显示进度。
B.如果进度显示结束而数据处理未结束,则进度等待直到数据处理 结束。
时间控制器304同时记录实际处理时间,并将实际处理时的维度值和 对应处理时间保存到数据存储器306。
3.数据存储器306:
数据存储器306按照时间维度保存显示时间。通常是数据库或者是数 据存储文件(如xml格式数据文件、json格式数据文件等数据文件)作为 数据存储器。
4.时间计算器308:
时间计算器308根据每次显示的维度去存储器中查询数据,同时计算 出一个合理时间值,将该值传递给时间控制器304。
为了让该装置能够自我学习,适应多变情况,进行图4所示的步骤处 理:
如图4所示,步骤402,根据应用情况定义一个时间维度表,该表包 含一个以上的维度和一个时间值。并预置一些可能的时间值数据到该表 中。定义好该数据表后,将该数据表保存到数据存储器中。
步骤404,进行数据处理时,在时间计算器中根据本次时间维度计算 出显示时间。
时间计算算法可以如图5中的步骤所示:
如图5所示,步骤502,根据本次时间维度到时间维度表中进行模糊 匹配。
步骤504,根据匹配结果计算显示时间是否能精确匹配到一个时间 值;
步骤506,如果能精确匹配到一个时间值,则直接返回该时间值。
步骤508,如果没有精确匹配到一个时间值,而是模糊匹配出了多条 时间值,则使用时间计算算法(本技术方案中以一种线性回归算法举例, 也可用其他线性回归或者非线性回归算法等算法)计算出时间值,首先找 出两条匹配度最高的时间值。
如使用(维度一:5,维度二:3,维度三:260)匹配出以下维度时 间:
根据这两个时间值和对应的维度值通过以下步骤计算出时间值。
步骤510,判断两条数据中是否同时有和实际维度相同的维度;
步骤512,有和实际维度相同的维度时,先将两条维度值中同时和实 际维度相同的维度去掉;
步骤514,判断剩余的维度是否大于1;
步骤516,大于1的话,分别使用两条维度值的不同的维度值相乘得 出两个值W1和W2,再用实际的维度相乘得出一个维度值W;
步骤518,如果去掉相同维度只剩一个维度,则取该维度值为W1和 W2,同时取该维度值为W。
使用前表的两个维度值,首先去掉维度一,然后使用维度二和维度三 分别得出:W1=2×100=200,W2=3×200=600,W=3×260=780。
步骤520,根据时间表查到的两个时间值,分别为T1、T2,使用上面 匹配出的时间得出:T1=4,T2=7。
步骤522,使用公式T=T1+(W-W1)×(T2-T1)/(W2-W1)计算出实际的 时间值。
至此,时间计算完成。
步骤406,时间控制器304取得时间计算器308计算出来的时间,使 用该时间来控制进度显示器302显示相应的进度。
步骤408,在数据处理完后,时间控制器304将实际的处理时间保存 到时间维度表中,如果已经存在相同维度的记录就修改对应记录,如果没 有就插入一条记录。
接下来以程序保存数据为例说明该装置。
步骤1.定义一个时间维度,并预置一些数据到该表中。
以程序保存数据为例,定义以下维度表:
步骤2.根据本次时间维度计算出显示时间。
A.以在1M带宽下保存100条数据为例。
这是能准确匹配到数据:
这样就能精确匹配到5秒,直接返回时间值5秒。
B.以在2M带宽下保存300条数据为例。
这时虽然不能准确匹配到数据,但按照2M带宽能匹配到以下两条数 据:
使用前述的算法计算出对应时间T=4+(300-100)×(7-4)/(200-100)=10 秒,返回时间值为10秒。
步骤3.时间控制器取得时间计算器计算出来的时间(A:5秒,B: 10秒),使用该时间来控制进度显示器显示相应的进度。
步骤4.将实际的处理时间保存到时间维度表中。
以步骤2中进行的A处理为例,如果实际处理时间为5.2秒,则对时 间维度表进行修改。
以步骤2中进行的B处理为例,如果实际处理时间为10.1秒,则对 时间维度表进行数据插入。
使用上述方法进行进度显示的同时能不断增加更精确的处理时间,使 进度显示越来越精确,同时因为有不同的时间维度,总是可以匹配到一个 时间值,即使不能精确匹配到时间值,也能通过算法计算出一个合适的时 间值,这样就适应了多变的情况。
根据本发明,可以实现一种数据处理时间获取方法和一种数据处理时 间获取装置,可以解决了多变大数据量情况下显示进度条的问题,即使在 初始情况下没有比较精确的显示时间,也可以通过本发明的技术方案计算 出一个合理的时间值,同时在程序运行过程中能不断积累准确的显示时 间,让进度显示越来越精确。通过该装置的自我学习和适应能力和自身的 计算能力,使的进度显示越来越精确,给用户以更好的体验。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于 本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明 的保护范围之内。
机译: 可以减少用于获取数据的处理时间的信息处理设备,数据搜索方法和数据搜索程序
机译: 数据处理时间的预测方法及处理时间的预测装置
机译: 数据获取时间计算装置,数据获取时间计算方法及其程序