CN117193980A - 任务剩余时长的计算方法和装置 - Google Patents
任务剩余时长的计算方法和装置 Download PDFInfo
- Publication number
- CN117193980A CN117193980A CN202311167852.5A CN202311167852A CN117193980A CN 117193980 A CN117193980 A CN 117193980A CN 202311167852 A CN202311167852 A CN 202311167852A CN 117193980 A CN117193980 A CN 117193980A
- Authority
- CN
- China
- Prior art keywords
- task
- duration
- stage
- processing
- time length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 407
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000012549 training Methods 0.000 claims description 35
- 238000007781 pre-processing Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012805 post-processing Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种任务剩余时长的计算方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:响应于接收到数据处理任务的时长预估请求,获取数据处理任务的任务参数,并根据任务参数和时长预估模型得到任务预估时长;响应于接收到任务剩余时长更新请求,获取数据处理任务当前的任务处理阶段,并获取任务处理阶段的剩余时长计算规则;根据任务处理阶段的剩余时长计算规则,计算数据处理任务的剩余时长。该实施方式可以使用预先训练的时长预估模型给出预估时长,较之现有技术中根据历史经验规则给出的预估时长来说,结果更为准确;并且,剩余时长的计算结果更为准确,且避免出现任务还未完成但剩余时长已经是0的情况。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务剩余时长的计算方法和装置。
背景技术
与传统的信息管理系统或运营管理系统不同,对于智能化产品,其后端往往需要进行大量的计算,所消耗的时间也非常的长,可达到分钟甚至小时级别。因此,当用户提交数据处理请求后,需要给用户展示当前的数据处理任务的完成进度。目前,在进行完成进度展示时,为了便于用户感知任务执行所花费的时长,多是根据请求处理的数据量结合历史使用经验固化一个预计完成时间,随着时间推移,剩余完成时间逐步减少。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
根据历史经验预估的任务执行时长不够准确,且任务剩余时长按正常时间流逝来计算,可能出现任务还未完成但剩余时长已经是0秒的情况,导致任务剩余时长预估不够准确。
发明内容
有鉴于此,本发明实施例提供一种任务剩余时长的计算方法和装置,能够使用预先训练的时长预估模型给出预估时长,较之现有技术中根据历史经验规则给出的预估时长来说,结果更为准确;并且,对不同的任务处理阶段,使用不同的剩余时长计算规则来计算数据处理任务的剩余时长,可以更好地结合各个任务处理阶段的特性来计算任务剩余时长,使得剩余时长的计算结果更为准确,且避免出现任务还未完成但剩余时长已经是0的情况。
为实现上述目的,根据本发明实施例的一个方面,提供了一种任务剩余时长的计算方法,包括:响应于接收到数据处理任务的时长预估请求,获取所述数据处理任务的任务参数,并根据所述任务参数和时长预估模型得到任务预估时长;响应于接收到任务剩余时长更新请求,获取所述数据处理任务当前的任务处理阶段,并获取所述任务处理阶段的剩余时长计算规则;根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长。
可选地,所述任务处理阶段包括任务处理前阶段、任务处理中阶段和任务处理后阶段,所述时长预估模型包括任务处理前阶段时长预估模型、任务处理中阶段时长预估模型和任务处理后阶段时长预估模型;所述时长预估模型是通过以下方式训练得到的:获取指定历史时长内各个任务处理阶段的任务执行信息;分别对各个任务处理阶段的任务执行信息进行特征加工,得到各个任务处理阶段所对应的训练特征集;基于各个任务处理阶段所对应的训练特征集分别进行模型训练,得到各个任务处理阶段对应的时长预估模型。
可选地,根据所述任务参数和时长预估模型得到任务预估时长,包括:分别将所述任务参数输入到各个任务处理阶段对应的时长预估模型中,得到各个任务处理阶段对应的阶段预估时长;将各个任务处理阶段对应的阶段预估时长进行求和运算,得到所述任务预估时长。
可选地,在所述任务处理阶段为任务处理前阶段的情况下,根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长,包括:根据所述任务处理前阶段对应的阶段预估时长和任务已执行时长,计算所述任务处理前阶段的剩余时长,所述任务处理前阶段的剩余时长不为负数;根据所述任务处理前阶段的剩余时长、任务处理中阶段对应的阶段预估时长和任务处理后阶段对应的阶段预估时长,计算所述数据处理任务的剩余时长。
可选地,在所述任务处理阶段为任务处理中阶段的情况下,根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长,包括:根据所述数据处理任务的数据总条数、已完成的数据条数和所述任务处理中阶段对应的阶段预估时长,计算所述任务处理中阶段的剩余时长,所述任务处理中阶段的剩余时长不为负数;根据所述任务处理中阶段的剩余时长和任务处理后阶段对应的阶段预估时长,计算所述数据处理任务的剩余时长。
可选地,在所述任务处理阶段为任务处理后阶段的情况下,根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长,包括:根据所述任务处理后阶段对应的阶段预估时长和任务已执行时长计算所述任务处理后阶段的剩余时长,所述任务处理后阶段的剩余时长不为负数;将所述任务处理后阶段的剩余时长作为所述数据处理任务的剩余时长。
可选地,还包括:在所述数据处理任务的执行过程中,记录各个任务处理阶段的任务执行信息,并使用所述任务执行信息更新所述时长预估模型。
根据本发明实施例的另一方面,提供了一种任务剩余时长的计算装置,包括:任务时长预估模块,用于响应于接收到数据处理任务的时长预估请求,获取所述数据处理任务的任务参数,并根据所述任务参数和时长预估模型得到任务预估时长;计算规则获取模块,用于响应于接收到任务剩余时长更新请求,获取所述数据处理任务当前的任务处理阶段,并获取所述任务处理阶段的剩余时长计算规则;剩余时长计算模块,用于根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长。
根据本发明实施例的又一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的任务剩余时长的计算方法。
根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的任务剩余时长的计算方法。
上述发明中的一个实施例具有如下优点或有益效果:通过响应于接收到数据处理任务的时长预估请求,获取数据处理任务的任务参数,并根据任务参数和时长预估模型得到任务预估时长;响应于接收到任务剩余时长更新请求,获取数据处理任务当前的任务处理阶段,并获取任务处理阶段的剩余时长计算规则;根据任务处理阶段的剩余时长计算规则,计算数据处理任务的剩余时长的技术方案,可以使用预先训练的时长预估模型给出预估时长,较之现有技术中根据历史经验规则给出的预估时长来说,结果更为准确;并且,对不同的任务处理阶段,使用不同的剩余时长计算规则来计算数据处理任务的剩余时长,可以更好地结合各个任务处理阶段的特性来计算任务剩余时长,使得剩余时长的计算结果更为准确,且避免出现任务还未完成但剩余时长已经是0的情况。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的任务剩余时长的计算方法的主要步骤示意图;
图2是本发明一个实施例的任务剩余时长的预估系统的实现原理图;
图3是根据本发明实施例的任务剩余时长的计算装置的主要模块示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本发明公开的技术方案中,所涉及的用户个人信息的采集、收集、更新、分析、处理、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法的用途,且不违背公序良俗。对用户个人信息采取必要措施,防止对用户个人信息数据的非法访问,维护用户个人信息安全、网络安全和国家安全。
图1是根据本发明实施例的任务剩余时长的计算方法的主要步骤示意图。如图1所示,本发明实施例的任务剩余时长的计算方法主要包括如下的步骤S101至步骤S103。
步骤S101:响应于接收到数据处理任务的时长预估请求,获取数据处理任务的任务参数,并根据任务参数和时长预估模型得到任务预估时长。
当用户通过应用端提交数据处理请求,请求处理一批数据时,首先应用端需要获取数据处理任务的任务参数,然后将任务参数发送给服务端以进行数据处理任务的时长预估请求。其中,任务参数例如包括待处理的数据量、系统当前在运行任务数、当前可用资源(例如包括剩余的CPU(中央处理器)核数、内存等),以及其他可以影响任务处理时长的因素。其中,该其他可以影响任务处理时长的因素视具体业务而定,不同的业务场景应该是不一样的。例如:以商品匹配这个场景为例,假设有10000条商品数据,需要分析这10000条商品数据中的相似商品有哪些,那么此时就有一个因素会非常影响任务处理时长,那就是相似度算法的类型,因为不同的相似度算法所耗费的时间是不一样的,所以在这个场景中,相似度算法类型就是个影响任务处理时长的关键因素。而其他场景,比如数据导出这个场景,则无需考虑这个因素。
根据本发明的一个实施例,所述任务处理阶段包括任务处理前阶段、任务处理中阶段和任务处理后阶段。由于在进行任务处理时,不仅仅要对数据按照处理逻辑进行循环处理(该阶段即为任务处理中阶段),在此之前还有一些数据准备工作,例如从数据库里读取数据,做一些数据的格式转换等,这部分工作也需要花费时间,这部分工作所对应的阶段就是任务处理前阶段;当任务处理中阶段执行结束后,还有一些后续逻辑,比如保存数据、更新任务状态等操作,这部分操作所对应的阶段就是数据处理后阶段。为了更准确地预估任务处理时长,本发明的实施例中,将任务处理阶段划分为任务处理前阶段、任务处理中阶段和任务处理后阶段这三个阶段,相应地,时长预估模型也对应包括任务处理前阶段时长预估模型、任务处理中阶段时长预估模型和任务处理后阶段时长预估模型。
在本发明的实施例中,所述时长预估模型是通过以下方式训练得到的:获取指定历史时长内各个任务处理阶段的任务执行信息;分别对各个任务处理阶段的任务执行信息进行特征加工,得到各个任务处理阶段所对应的训练特征集;基于各个任务处理阶段所对应的训练特征集分别进行模型训练,得到各个任务处理阶段对应的时长预估模型。
具体地,可以获取之前半年或者一年内的数据处理任务对应的各个任务处理阶段的任务执行信息,并将任务执行信息保存到数据表(例如:hive表)中,其中,每个数据处理任务的各个任务处理阶段的任务执行信息例如包括实际运行时长、处理的数据量、已经在运行的任务数、当前可用资源(包括剩余CPU核数和内存等)、预估时长等影响数据处理任务的执行时长的关键因素。其中,在采集各个任务处理阶段的任务执行信息时,一般是由应用端在数据处理任务的执行过程中进行采集的,并在采集完成后发送给模型端进行模型训练,其中,模型端一般部署在服务端。应用端在采集任务执行信息时,因为不同的信息采集的时间点不一样,故而会采集多次,比如,各个任务处理阶段的处理的数据量是在任务处理前阶段就能获取到的,因此会在任务处理前阶段准备执行的时候就采集,且这个信息在任务处理中阶段和任务处理后阶段就无需再采集了;又如,已经在运行的任务数这个信息是需要在各个任务处理阶段运行之前那一刻都要去采集的;再如,实际运行时长这个信息就需要在各个任务处理阶段运行结束后去采集,所以对于不同的信息,采集次数不同,采集的时间点也不同。另外,任务执行信息中预估时长这个信息,是由服务端返回的,可以在进行模型训练时进行纠偏。此外,对于可以进行并行处理的数据处理任务来说,所采集的各个任务处理阶段的任务执行信息还可以包括并发度这个信息。
然后,对这些任务执行信息进行特征加工,例如包括特征提取、特征归一化、特征组合增强等处理,得到数据处理任务的各个任务处理阶段所对应的训练特征集。特征归一化常见的两种方式,一种是可以将所有特征值缩放到0~1之间,另一种是减去均值并除以标准差。特征归一化的目的是特征权重平衡,因为某些机器学习模型(如线性模型)中,特征的权重对模型的预测结果具有重要影响。如果某些特征的取值范围较大,模型可能会更加关注这些特征,而忽略取值范围较小的特征。特征组合增强就是使用不同的特征之间做一些运算得到新的特征,比如对两个特征的值相加或相乘等(具体应该如何运算需要算法工程师进行大量的数据分析和模型准确性验证后得出结果)得到的特征作为特征组合增强的结果。
之后,使用训练特征集进行模型训练,以得到各个任务处理阶段对应的时长预估模型。基于加工的特征进行模型训练,需要分别训练三个模型,对应着数据处理前、中、后期三个阶段,这里的模型可以使用回归、决策树或者是神经网络,具体模型算法此处不再阐述。模型训练可以是离线周期运行,结束后将训练得到的时长预估模型以文件的形式保存到文件系统(例如Hadoop分布式文件系统HDFS)中。服务端在接收到应用端发来的数据处理任务的时长预估请求后,将会从文件系统中读取模型并进行时长预估。
根据本发明的其中一个实施例,根据所述任务参数和时长预估模型得到任务预估时长,具体可以包括:分别将所述任务参数输入到各个任务处理阶段对应的时长预估模型中,得到各个任务处理阶段对应的阶段预估时长;将各个任务处理阶段对应的阶段预估时长进行求和运算,得到所述任务预估时长。服务端在接收到应用端发来的数据处理任务的时长预估请求后,从文件系统中读取各个任务处理阶段对应的时长预估模型,通过将任务参数输入到各个任务处理阶段对应的时长预估模型即可得到各个任务处理阶段对应的阶段预估时长,通过将各个任务处理阶段对应的阶段预估时长进行相加即可得到该数据处理任务所对应的任务预估时长。根据本发明的实施例,基于历史任务执行信息作为训练数据,进行训练生成时长预估模型,然后使用时长预估模型给出预估时长,较之现有技术中根据历史经验规则给出的预估时长来说,结果更为准确。
步骤S102:响应于接收到任务剩余时长更新请求,获取数据处理任务当前的任务处理阶段,并获取任务处理阶段的剩余时长计算规则。在步骤S101中,服务端接收到数据处理任务的时长预估请求后,将调用预估模型得到任务预估时长,并返回给应用端以进行显示,便于用户查看任务处理进度。之后,在数据处理任务的执行过程中,应用端还会周期性地发送任务剩余时长更新请求给服务端,以使服务端周期性地计算数据处理任务的剩余时长,从而可以更准确地为用户显示数据处理任务的处理进度。在本发明的实施例中,对于不同的任务处理阶段,设置了不同的剩余时长计算规则,从而可以更好地结合各个任务处理阶段的特性来计算任务剩余时长。
步骤S103:根据任务处理阶段的剩余时长计算规则,计算数据处理任务的剩余时长。
在本发明的一个实施例中,在所述任务处理阶段为任务处理前阶段的情况下,根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长,具体可以包括:根据所述任务处理前阶段对应的阶段预估时长和任务已执行时长,计算所述任务处理前阶段的剩余时长,所述任务处理前阶段的剩余时长不为负数;根据所述任务处理前阶段的剩余时长、任务处理中阶段对应的阶段预估时长和任务处理后阶段对应的阶段预估时长,计算所述数据处理任务的剩余时长。具体地,若数据处理任务当前的任务处理阶段为任务处理前阶段,则剩余时长计算规则例如是根据如下的公式(1)计算数据处理任务的剩余时长t:
t = (T1-(Ti-T0)) +T2+T3; 公式(1)
其中,T1是任务处理前阶段的阶段预估时长,Ti是当前时间,T0是任务开始时间,T2是任务处理中阶段的阶段预估时长,T3是任务处理后阶段的阶段预估时长。其中,根据(Ti-T0)即可计算得到任务已执行时长;根据(T1-(Ti-T0))即可得到任务处理前阶段的剩余时长。应注意的是,任务处理前阶段的剩余时长不为负数,最小是0。
由于在任务处理前阶段,数据预处理的逻辑简单,所耗费的时长也较小,故而可以使用时间的正常流逝来计算该阶段的剩余时长。
在本发明的另一个实施例中,在所述任务处理阶段为任务处理中阶段的情况下,根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长,具体可以包括:根据所述数据处理任务的数据总条数、已完成的数据条数和所述任务处理中阶段对应的阶段预估时长,计算所述任务处理中阶段的剩余时长,所述任务处理中阶段的剩余时长不为负数;根据所述任务处理中阶段的剩余时长和任务处理后阶段对应的阶段预估时长,计算所述数据处理任务的剩余时长。具体地,若数据处理任务当前的任务处理阶段为任务处理中阶段,则剩余时长计算规则例如是根据如下的公式(2)计算数据处理任务的剩余时长t:
t = ((N0-N1) / N0)×T2+T3; 公式(2)
其中,N0是数据处理任务的数据总条数,N1是已完成的数据条数,T2是任务处理中阶段的阶段预估时长,T3是任务处理后阶段的阶段预估时长。其中,根据((N0-N1)/N0)×T2即可计算得到任务处理中阶段的剩余时长。应注意的是,任务处理中阶段的剩余时长不为负数,最小是0。
由于在任务处理中阶段,数据处理的逻辑较为复杂简单,所耗费的时长也较大,故而可以基于数据处理任务的数据总条数和已完成的数据条数来计算该阶段的剩余时长,使得剩余时长的计算结果更为准确。
在本发明的又一个实施例中,在所述任务处理阶段为任务处理后阶段的情况下,根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长,具体可以包括:根据所述任务处理后阶段对应的阶段预估时长和任务已执行时长计算所述任务处理后阶段的剩余时长,所述任务处理后阶段的剩余时长不为负数;将所述任务处理后阶段的剩余时长作为所述数据处理任务的剩余时长。具体地,若数据处理任务当前的任务处理阶段为任务处理后阶段,则剩余时长计算规则例如是根据如下的公式(3)计算数据处理任务的剩余时长t:
t = T3-(Ti-T0); 公式(3)
其中,Ti是当前时间,T0是任务开始时间,T3是任务处理后阶段的阶段预估时长。应注意的是,任务处理后阶段的剩余时长不为负数,最小是0。
由于在任务处理后阶段,数据状态修改和数据保存的逻辑简单,所耗费的时长也较小,故而可以使用时间的正常流逝来计算该阶段的剩余时长。
在本发明的实施例中,不同的任务处理阶段使用不同的剩余时长计算规则来计算数据处理任务的剩余时长,可以更好地结合各个任务处理阶段的特性来计算任务剩余时长,使得剩余时长的计算结果更为准确,且避免出现任务还未完成但剩余时长已经是0的情况。
根据本发明的又一个实施例,在所述数据处理任务的执行过程中,还可以记录各个任务处理阶段的任务执行信息,并使用所述任务执行信息更新所述时长预估模型。在本发明的实施例中,可以每过一段时间后,根据该段时间内的数据处理任务的执行过程中,所记录的任务执行信息,进行模型的离线训练和更新,以便于更好地提升模型预估的准确性。
图2是本发明一个实施例的任务剩余时长的预估系统的实现原理图。如图2所示,在本发明的实施例中,任务剩余时长的预估系统主要包括应用端、模型端和服务端,其中,应用端主要用于处理用户提交的数据处理请求并完成数据处理,在这个过程中它会将数据处理任务执行过程中的相关任务执行信息发送给模型端;模型端主要用于离线训练时长预估模型,利用应用端沉淀的任务执行信息作为训练数据进行周期性的离线模型训练,得到各个任务处理阶段对应的时长预估模型;服务端主要用于利用模型端产生的时长预估模型进行执行时长的预估以及记录和反馈任务执行进度。下面从数据流转的顺序来介绍本发明实施例的任务剩余时长的预估系统记性任务剩余时长的计算流程:
1、应用端:用户提交数据处理请求,该请求可能对应一批待处理数据清单,应用端执行数据处理任务;
2、应用端:在数据处理任务执行完成后,应用端发送一条消息给模型端,这个消息体的数据部分是个列表List,该List中包含三个数据对象,分别是任务处理前阶段的任务执行信息、任务处理中阶段的任务执行信息和任务处理后阶段的任务执行信息。其中,各阶段的任务执行信息主要可以包括实际运行时长、处理的数据量、已经在运行的任务数、当前可用计算资源、影响运行时长的其他业务参数,以及服务端发来的预估时间,等等;
3、模型端:接收应用端发来的消息,将任务执行信息保存到数据表中;
4、模型端:对数据表中的任务执行信息进行特征加工,例如做特征归一化,特征组合增强等预处理工作;
5、模型端:基于加工的特征进行模型训练,需要分别训练三个模型,对应着任务处理前、中、后三个阶段,这里的模型可以使用回归、决策树或者是神经网络等模型结构来进行训练。模型训练是离线周期运行的,结束后将模型以文件的形式保存到文件系统中;
6、应用端:当应用端接收到用户发来的数据处理请求后,生成数据处理任务,调用服务端接口请求获取任务预估时长,需要传递的参数包括:处理的数据量、已经在运行的任务数、当前可用计算资源、影响运行时长的其他业务参数等,此时进入任务处理前阶段;
7、服务端:接收到应用端发来的数据处理任务的时长预估请求后,读取时长预估模型并将应用端传来的参数特征化后输入时长预估模型进行时长预估,并返回任务预估时长(三个阶段的阶段预估时长之和)给应用端,同时会在缓存(例如redis数据库)中(后续服务端涉及到记录的都视为往redis里写)记录三个阶段的阶段预估时长和任务开始时间;
8、应用端:应用端在任务执行过程中,周期性地循环调用服务端以请求获取数据处理任务当前最新的剩余时长;
9、服务端:当前属于任务处理前阶段,计算剩余时长并返回给应用端。其中,计算剩余时长的逻辑是:任务处理前阶段预估时长与任务已执行时长之差与任务处理中阶段和任务处理后阶段这两个阶段的阶段预估时长进行求和,此处需要注意,任务处理前阶段的剩余时长不能为负数,最小是0;
10、应用端:在数据处理任务的任务处理前阶段结束后,再次调用服务端接口通知服务端任务处理前阶段已完成;
11、服务端:记录数据处理任务已进入任务处理中阶段;
12、应用端:调用服务端接口设置数据处理任务的数据总条数,这个数据总条数用于计算任务处理中阶段的完成进度;
13、服务端:记录数据处理任务的数据总条数;
14、应用端:在任务处理中阶段,周期性地循环调用服务端接口并设置已完成的数据条数,大部分情况下程序都是循环的处理所有数据,那么可以一条一条的设置,也可以一批一起设置;
15、服务端:接收应用端传来的已完成的数据条数,并更新当前已完成的数据条数,计算剩余时长并返回给应用端。其中,在计算剩余时长时,首先结合数据处理任务的数据总条数计算任务完成度,再根据任务完成度结合任务处理中阶段的阶段预估时长计算剩余时长,具体地,可根据数据处理任务的数据总条数与已完成的数据条数之差得到未完成的数据条数,然后将未完成的数据条数与数据处理任务的数据总条数相除后,再与任务处理中阶段的阶段预估时长相乘得到任务处理中阶段的剩余时长,然后再与任务处理后阶段的阶段预估时长进行相加,得到数据处理任务的剩余时长。此处需要注意,任务处理中阶段的剩余时长不能为负数,最小是0;
16、应用端:在数据处理任务的任务处理中阶段结束后,调用服务端接口设置任务处理中阶段已完成;
17、服务端:更新数据处理任务的状态为任务处理中阶段已完成,进入任务处理后阶段,计算剩余时长并返回给应用端。其中,在任务处理后阶段,剩余时长的计算方式是:根据当前时间和任务开始时间得到任务已执行时长,然后将任务处理后阶段的阶段预估时长减去任务已执行时长,得到数据处理任务的剩余时长。此处需要注意,任务处理后阶段的剩余时长不能为负数,最小是0;
18、应用端:设置任务处理后阶段已完成,至此数据处理任务已完成。
图3是根据本发明实施例的任务剩余时长的计算装置的主要模块示意图。如图3所示,本发明实施例的任务剩余时长的计算装置300主要包括任务时长预估模块301、计算规则获取模块302和剩余时长计算模块303。
任务时长预估模块301,用于响应于接收到数据处理任务的时长预估请求,获取所述数据处理任务的任务参数,并根据所述任务参数和时长预估模型得到任务预估时长;
计算规则获取模块302,用于响应于接收到任务剩余时长更新请求,获取所述数据处理任务当前的任务处理阶段,并获取所述任务处理阶段的剩余时长计算规则;
剩余时长计算模块303,用于根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长。
根据本发明的一个实施例,所述任务处理阶段包括任务处理前阶段、任务处理中阶段和任务处理后阶段,所述时长预估模型包括任务处理前阶段时长预估模型、任务处理中阶段时长预估模型和任务处理后阶段时长预估模型;所述时长预估模型是通过以下方式训练得到的:获取指定历史时长内各个任务处理阶段的任务执行信息;分别对各个任务处理阶段的任务执行信息进行特征加工,得到各个任务处理阶段所对应的训练特征集;基于各个任务处理阶段所对应的训练特征集分别进行模型训练,得到各个任务处理阶段对应的时长预估模型。
根据本发明的另一个实施例,任务时长预估模块301还可以用于:分别将所述任务参数输入到各个任务处理阶段对应的时长预估模型中,得到各个任务处理阶段对应的阶段预估时长;将各个任务处理阶段对应的阶段预估时长进行求和运算,得到所述任务预估时长。
根据本发明的又一个实施例,在所述任务处理阶段为任务处理前阶段的情况下,剩余时长计算模块303还可以用于:根据所述任务处理前阶段对应的阶段预估时长和任务已执行时长,计算所述任务处理前阶段的剩余时长,所述任务处理前阶段的剩余时长不为负数;根据所述任务处理前阶段的剩余时长、任务处理中阶段对应的阶段预估时长和任务处理后阶段对应的阶段预估时长,计算所述数据处理任务的剩余时长。
根据本发明的又一个实施例,在所述任务处理阶段为任务处理中阶段的情况下,剩余时长计算模块303还可以用于:根据所述数据处理任务的数据总条数、已完成的数据条数和所述任务处理中阶段对应的阶段预估时长,计算所述任务处理中阶段的剩余时长,所述任务处理中阶段的剩余时长不为负数;根据所述任务处理中阶段的剩余时长和任务处理后阶段对应的阶段预估时长,计算所述数据处理任务的剩余时长。
根据本发明的又一个实施例,在所述任务处理阶段为任务处理后阶段的情况下,剩余时长计算模块303还可以用于:根据所述任务处理后阶段对应的阶段预估时长和任务已执行时长计算所述任务处理后阶段的剩余时长,所述任务处理后阶段的剩余时长不为负数;将所述任务处理后阶段的剩余时长作为所述数据处理任务的剩余时长。
根据本发明的又一个实施例,任务剩余时长的计算装置300还可以包括模型更新模块(图中未示出),用于:在所述数据处理任务的执行过程中,记录各个任务处理阶段的任务执行信息,并使用所述任务执行信息更新所述时长预估模型。
根据本发明实施例的技术方案,通过响应于接收到数据处理任务的时长预估请求,获取数据处理任务的任务参数,并根据任务参数和时长预估模型得到任务预估时长;响应于接收到任务剩余时长更新请求,获取数据处理任务当前的任务处理阶段,并获取任务处理阶段的剩余时长计算规则;根据任务处理阶段的剩余时长计算规则,计算数据处理任务的剩余时长的技术方案,可以使用预先训练的时长预估模型给出预估时长,较之现有技术中根据历史经验规则给出的预估时长来说,结果更为准确;并且,对不同的任务处理阶段,使用不同的剩余时长计算规则来计算数据处理任务的剩余时长,可以更好地结合各个任务处理阶段的特性来计算任务剩余时长,使得剩余时长的计算结果更为准确,且避免出现任务还未完成但剩余时长已经是0的情况。
图4示出了可以应用本发明实施例的任务剩余时长的计算方法或任务剩余时长的计算装置的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如数据处理类应用、模型训练类应用、浏览器应用等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的数据处理任务的时长预估请求等数据进行响应于接收到数据处理任务的时长预估请求,获取所述数据处理任务的任务参数,并根据所述任务参数和时长预估模型得到任务预估时长;响应于接收到任务剩余时长更新请求,获取所述数据处理任务当前的任务处理阶段,并获取所述任务处理阶段的剩余时长计算规则;根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长等处理,并将处理结果(例如任务预估时长、剩余时长--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的任务剩余时长的计算方法一般由服务器405执行,相应地,任务剩余时长的计算装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统500的结构示意图。图5示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括任务时长预估模块、计算规则获取模块和剩余时长计算模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,剩余时长计算模块还可以被描述为“用于根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:响应于接收到数据处理任务的时长预估请求,获取所述数据处理任务的任务参数,并根据所述任务参数和时长预估模型得到任务预估时长;响应于接收到任务剩余时长更新请求,获取所述数据处理任务当前的任务处理阶段,并获取所述任务处理阶段的剩余时长计算规则;根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长。
根据本发明实施例的技术方案,通过响应于接收到数据处理任务的时长预估请求,获取数据处理任务的任务参数,并根据任务参数和时长预估模型得到任务预估时长;响应于接收到任务剩余时长更新请求,获取数据处理任务当前的任务处理阶段,并获取任务处理阶段的剩余时长计算规则;根据任务处理阶段的剩余时长计算规则,计算数据处理任务的剩余时长的技术方案,可以使用预先训练的时长预估模型给出预估时长,较之现有技术中根据历史经验规则给出的预估时长来说,结果更为准确;并且,对不同的任务处理阶段,使用不同的剩余时长计算规则来计算数据处理任务的剩余时长,可以更好地结合各个任务处理阶段的特性来计算任务剩余时长,使得剩余时长的计算结果更为准确,且避免出现任务还未完成但剩余时长已经是0的情况。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种任务剩余时长的计算方法,其特征在于,包括:
响应于接收到数据处理任务的时长预估请求,获取所述数据处理任务的任务参数,并根据所述任务参数和时长预估模型得到任务预估时长;
响应于接收到任务剩余时长更新请求,获取所述数据处理任务当前的任务处理阶段,并获取所述任务处理阶段的剩余时长计算规则;
根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长。
2.根据权利要求1所述的方法,其特征在于,所述任务处理阶段包括任务处理前阶段、任务处理中阶段和任务处理后阶段,所述时长预估模型包括任务处理前阶段时长预估模型、任务处理中阶段时长预估模型和任务处理后阶段时长预估模型;
所述时长预估模型是通过以下方式训练得到的:
获取指定历史时长内各个任务处理阶段的任务执行信息;
分别对各个任务处理阶段的任务执行信息进行特征加工,得到各个任务处理阶段所对应的训练特征集;
基于各个任务处理阶段所对应的训练特征集分别进行模型训练,得到各个任务处理阶段对应的时长预估模型。
3.根据权利要求2所述的方法,其特征在于,根据所述任务参数和时长预估模型得到任务预估时长,包括:
分别将所述任务参数输入到各个任务处理阶段对应的时长预估模型中,得到各个任务处理阶段对应的阶段预估时长;
将各个任务处理阶段对应的阶段预估时长进行求和运算,得到所述任务预估时长。
4.根据权利要求1-3中任一所述的方法,其特征在于,在所述任务处理阶段为任务处理前阶段的情况下,根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长,包括:
根据所述任务处理前阶段对应的阶段预估时长和任务已执行时长,计算所述任务处理前阶段的剩余时长,所述任务处理前阶段的剩余时长不为负数;
根据所述任务处理前阶段的剩余时长、任务处理中阶段对应的阶段预估时长和任务处理后阶段对应的阶段预估时长,计算所述数据处理任务的剩余时长。
5.根据权利要求1-3中任一所述的方法,其特征在于,在所述任务处理阶段为任务处理中阶段的情况下,根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长,包括:
根据所述数据处理任务的数据总条数、已完成的数据条数和所述任务处理中阶段对应的阶段预估时长,计算所述任务处理中阶段的剩余时长,所述任务处理中阶段的剩余时长不为负数;
根据所述任务处理中阶段的剩余时长和任务处理后阶段对应的阶段预估时长,计算所述数据处理任务的剩余时长。
6.根据权利要求1-3中任一所述的方法,其特征在于,在所述任务处理阶段为任务处理后阶段的情况下,根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长,包括:
根据所述任务处理后阶段对应的阶段预估时长和任务已执行时长计算所述任务处理后阶段的剩余时长,所述任务处理后阶段的剩余时长不为负数;
将所述任务处理后阶段的剩余时长作为所述数据处理任务的剩余时长。
7.根据权利要求1所述的方法,其特征在于,还包括:
在所述数据处理任务的执行过程中,记录各个任务处理阶段的任务执行信息,并使用所述任务执行信息更新所述时长预估模型。
8.一种任务剩余时长的计算装置,其特征在于,包括:
任务时长预估模块,用于响应于接收到数据处理任务的时长预估请求,获取所述数据处理任务的任务参数,并根据所述任务参数和时长预估模型得到任务预估时长;
计算规则获取模块,用于响应于接收到任务剩余时长更新请求,获取所述数据处理任务当前的任务处理阶段,并获取所述任务处理阶段的剩余时长计算规则;
剩余时长计算模块,用于根据所述任务处理阶段的剩余时长计算规则,计算所述数据处理任务的剩余时长。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311167852.5A CN117193980A (zh) | 2023-09-11 | 2023-09-11 | 任务剩余时长的计算方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311167852.5A CN117193980A (zh) | 2023-09-11 | 2023-09-11 | 任务剩余时长的计算方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117193980A true CN117193980A (zh) | 2023-12-08 |
Family
ID=88997451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311167852.5A Pending CN117193980A (zh) | 2023-09-11 | 2023-09-11 | 任务剩余时长的计算方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117193980A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592948A (zh) * | 2024-01-18 | 2024-02-23 | 一智科技(成都)有限公司 | 一种施工项目预警方法、系统、装置和存储介质 |
-
2023
- 2023-09-11 CN CN202311167852.5A patent/CN117193980A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592948A (zh) * | 2024-01-18 | 2024-02-23 | 一智科技(成都)有限公司 | 一种施工项目预警方法、系统、装置和存储介质 |
CN117592948B (zh) * | 2024-01-18 | 2024-04-26 | 一智科技(成都)有限公司 | 一种施工项目预警方法、系统、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11354594B2 (en) | Black-box optimization using neural networks | |
WO2019101836A1 (en) | Population based training of neural networks | |
CN113656179B (zh) | 云计算资源的调度方法及装置、电子设备和存储介质 | |
CN108074003B (zh) | 预测信息推送方法和装置 | |
CN112579909A (zh) | 对象推荐方法及装置、计算机设备和介质 | |
CN117193980A (zh) | 任务剩余时长的计算方法和装置 | |
US11651291B2 (en) | Real-time predictions based on machine learning models | |
CN110866625A (zh) | 促销指标信息生成方法和装置 | |
CN113485833A (zh) | 资源预测方法和装置 | |
CN114119123A (zh) | 信息推送的方法和装置 | |
CN112700064A (zh) | 空气质量预报数值输出的伴随后处理方法及装置 | |
CN112116397A (zh) | 用户行为特征实时处理方法、装置、存储介质及电子设备 | |
CN114924937A (zh) | 批量任务处理方法、装置、电子设备及计算机可读介质 | |
CN110826949A (zh) | 产能控制实现方法和装置 | |
CN114529210A (zh) | 基于虚拟现实的评价方法及装置 | |
CN113408641A (zh) | 资源生成模型的训练与服务资源的生成方法、装置 | |
CN112131468A (zh) | 推荐系统中的数据处理方法、装置 | |
CN113361701A (zh) | 神经网络模型的量化方法和装置 | |
CN111526054B (zh) | 用于获取网络的方法及装置 | |
CN111290761A (zh) | 灰度发布方法、装置、介质及电子设备 | |
CN111367637B (zh) | 任务处理方法及装置 | |
CN114205690B (zh) | 流量预测、模型训练方法及装置、电子设备、存储介质 | |
CN112348587B (zh) | 信息推送方法、装置和电子设备 | |
CN117170821A (zh) | 一种业务处理方法、装置、电子设备及计算机可读介质 | |
EP4383136A2 (en) | Population based training of neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |