发明内容
本公开实施例至少提供一种数据处理方法、设备、车辆及计算机程序产品。
第一方面,本公开实施例提供了一种数据处理方法,包括:
在检测到车辆行为发生变化的情况下,确定变化后的所述车辆行为的持续时长,并确定车辆的当前算力负载信息,其中,所述当前算力负载信息表征所述车辆行为所需算力信息;
确定数据挖掘任务中各子任务的优先执行率;
根据所述持续时长和所述当前算力负载信息,以及各所述子任务的优先执行率,对各所述子任务进行调度执行。
本公开实施例中,在检测到车辆行为发生变化的情况下,确定变化后的所述车辆行为的持续时长,并确定车辆的当前算力负载信息,确定数据挖掘任务中各子任务的优先执行率;进而根据所述持续时长和所述当前算力负载信息,以及各所述子任务的优先执行率,对各所述子任务进行调度执行,这样,基于当前算力负载信息和持续时长,动态调整数据挖掘任务的时间规划,不仅可以降低数据挖掘任务对车辆驾驶行为的影响,保证车辆驾驶安全和可靠性,并且还可以提高对车辆资源的利用率,更加合理高效地针对数据挖掘任务分配执行时间。
一种可选的实施方式中,所述在检测到车辆行为发生变化的情况下,确定变化后的所述车辆行为的持续时长,包括:
在检测到车辆行为发生变化的情况下,确定变化后的所述车辆行为;
获取所述车辆的车辆状态信息和当前路况信息,并根据所述车辆状态信息和所述当前路况信息,确定变化后的所述车辆行为的持续时长。
本公开实施例中,可以实时检测车辆行为变化,并确定持续时长,进而可以预测车辆的算力使用情况,以对数据挖掘任务进行更细化的动态时间规划。
一种可选的实施方式中,所述方法还包括:
按照数据采集对象和/或数据功能,将所述数据挖掘任务划分为各所述子任务;
根据关键程度,将各所述子任务分类为多个关键子任务和多个非关键子任务。
本公开实施例中,将数据挖掘任务进行更细化的分类,可以提高时间规划的精度,提高效率。
一种可选的实施方式中,所述确定数据挖掘任务中各子任务的优先执行率,包括:
根据数据挖掘任务中各子任务对应的数据规模和复杂度,确定各所述子任务执行所需的时间需求信息和算力需求信息;
根据关键程度,确定各所述子任务的优先级;
根据各所述子任务对应的所述时间需求信息、所述算力需求信息和所述优先级,分别确定各所述子任务的优先执行率。
本公开实施例中,综合各子任务的优先级、时间需求信息和算力需求信息,确定各子任务的优先执行率,可以对各子任务的执行顺序进行评估,可以对关键子任务和非关键子任务的优先执行顺序进行调整。
一种可选的实施方式中,所述根据各所述子任务对应的所述时间需求信息、所述算力需求信息和所述优先级,分别确定各所述子任务的优先执行率,包括:
针对各所述子任务中任一所述子任务,确定第一权重值与指数函数的第一乘积,其中,所述指数函数的指数为所述优先级,并所述指数函数的底数为第一差值,所述第一差值为所述时间需求信息与所述算力需求信息的第一比值后,再与第二权重值之间的差值;
确定所述时间需求信息和所述优先级的第二乘积后,再与所述算力需求信息之间的第二比值,并确定所述第二比值与第三权重值的第三乘积;
根据所述第一乘积与所述第三乘积之间的和,确定所述子任务的优先执行率。
本公开实施例中,提供了优先执行率的具体计算方式,可以综合调节关键子任务和非关键子任务的重要程度,还可以调节优先级、时间需求信息和算力需求信息的重要程度,提高优先执行率的准确性和可靠性。
一种可选的实施方式中,所述根据所述持续时长和所述当前算力负载信息,以及各所述子任务的优先执行率,对各所述子任务进行调度执行,包括:
在确定所述持续时长不小于第一时长阈值,并且所述当前算力负载信息小于第一算力大小的情况下,从各所述子任务中筛选出所述算力需求信息小于第二算力大小的关键子任务和/或所述算力需求信息大于等于所述第二算力大小的非关键子任务;
根据对应的优先执行率,从筛选出的关键子任务和/或非关键子任务中,确定第一目标子任务,并调度执行所述第一目标子任务。
本公开实施例中,在持续时长不小于第一时长阈值,并且当前算力负载信息小于第一算力大小的情况下,执行数据量小的关键子任务或数据量大的非关键子任务,更加符合当前的算力使用情况场景,不仅可以保证车辆驾驶行为的安全性,还可以充分利用当前剩余的可用算力资源。
一种可选的实施方式中,所述根据所述持续时长和所述当前算力负载信息,以及各所述子任务的优先执行率,对各所述子任务进行调度执行,包括:
在确定所述持续时长不小于第一时长阈值,并且所述当前算力负载信息大于等于第一算力大小的情况下,不调度执行各所述子任务。
本公开实施例中,在持续时长不小于第一时长阈值,并且所述当前算力负载信息大于等于第一算力大小的情况下,说明当前为长时间高算力负载情况,此时不执行数据挖掘任务,避免对车辆驾驶行为的影响,提高安全性。
一种可选的实施方式中,所述根据所述持续时长和所述当前算力负载信息,以及各所述子任务的优先执行率,对各所述子任务进行调度执行,包括:
在变化后的所述车辆行为为无驾驶行为,从各所述子任务中筛选出所述算力需求信息大于等于第二算力大小的关键子任务;
根据对应的优先执行率,从筛选出的关键子任务中,确定第二目标子任务,并调度执行所述第二目标子任务。
本公开实施例中,在当前无驾驶行为时,可以执行数据量大的关键子任务,充分利用算力资源,保证关键子任务的执行效果。
一种可选的实施方式中,所述根据所述持续时长和所述当前算力负载信息,以及各所述子任务的优先执行率,对各所述子任务进行调度执行,包括:
在确定所述当前算力负载信息小于第一算力大小,并所述持续时长小于第一时长阈值,或者所述当前算力负载信息大于等于所述第一算力大小,并所述持续时长小于所述第一时长阈值的情况下,从各所述子任务中筛选出所述算力需求信息小于第二算力大小的非关键子任务;
根据对应的优先执行率,从筛选出的非关键子任务中,确定第三目标子任务,并调度执行所述第三目标子任务。
本公开实施例中,在高算力负载或低算力负载情况下,但是持续时间比较短,高算力负载和低算力负载短暂交替,此时可以执行数据量小的非关键子任务,提高算力资源利用率。
第二方面,本公开实施例还提供一种数据处理设备,包括:处理器,存储器以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述设备执行以下操作:
在检测到车辆行为发生变化的情况下,确定变化后的所述车辆行为的持续时长,并确定车辆的当前算力负载信息,其中,所述当前算力负载信息表征所述车辆行为所需算力信息;
确定数据挖掘任务中各子任务的优先执行率;
根据所述持续时长和所述当前算力负载信息,以及各所述子任务的优先执行率,对各所述子任务进行调度执行。
第三方面,本公开实施例还提供一种车辆,所述车辆包括上述第二方面中的数据处理设备。
第四方面,本公开可选实现方式还提供一种计算机程序产品,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述数据处理设备、车辆、及计算机程序产品的效果描述参见上述车辆控制方法的说明,这里不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
为便于对本公开技术方案的理解,首先对本公开实施例中的技术用语加以说明:
车端数据挖掘:表示在车端执行数据挖掘任务,可以在车端硬件上具体运算的数据挖掘算法模型。
数据挖掘:表示通过对数据进行处理,获取所需的或有用的数据,例如,通过数据挖掘,确定当前算法模型对哪些数据处理的不好,影响了车辆自动决策和驾驶体验。
时间规划:本公开实施例中表示对数据挖掘任务进行时间规划,以规划数据挖掘任务合理的运算时间。
经研究发现,车端数据挖掘需要占用一定算力资源、存储资源等,可能会影响车辆的正常驾驶行为,而若都在车辆停止状态时再执行数据挖掘任务,车辆停止状态比较随机,无法保证完整的运算时间,并且车辆行驶状态下的空闲资源也会浪费,因此如何更合理地对数据挖掘任务进行时间规划是非常必要的。
基于上述研究,本公开提供了一种数据处理方法,在检测到车辆行为发生变化的情况下,确定变化后的车辆行为的持续时长,并确定车辆的当前算力负载信息,确定数据挖掘任务中各子任务的优先执行率,进而根据持续时长和当前算力负载信息,以及各子任务的优先执行率,对各子任务进行调度执行,这样,基于当前算力负载信息,动态调整数据挖掘任务的时间规划,不仅可以降低数据挖掘任务执行对车辆驾驶行为的影响,保证车辆驾驶安全和可靠性,并且还可以提高对车辆资源的利用率,使得数据挖掘任务的时间规划更加合理高效。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于理解,下面先对本公开实施例中的数据处理方法进行说明。
参见图1所示,为本公开实施例提供的一种数据处理方法的流程图,该方法包括:
S101:在检测到车辆行为发生变化的情况下,确定变化后的车辆行为的持续时长,并确定车辆的当前算力负载信息,其中,当前算力负载信息表征车辆行为所需算力信息。
本公开实施例中,主要针对在车辆端的数据挖掘,对于车辆并不进行限制,例如可以为电动车、燃油车等,可以在车辆驾驶过程或空闲状态时,充分利用车辆的算力资源以执行数据挖掘任务。
其中,车辆行为包括但不限于以下任意一种:普通直行驾驶行为、关键驾驶行为、空闲行为(或无驾驶行为),具体地,关键驾驶行为例如为左右变道、加速行为、减速行为、转弯行为等,空闲行为例如为充电行为、维修状态、空挡状态、已泊车静止状态等。
当前算力负载信息表征车辆行为所需算力信息,例如,检测到变化后的车辆行为是转弯行为,并且在弯道需持续转弯,则可以预测该转弯行为的持续时长,并确定该转弯行为所需耗费的算力信息。
具体执行该步骤S101时,本公开提供了可能的实施方式:
1)在检测到车辆行为发生变化的情况下,确定变化后的车辆行为的持续时长,包括:在检测到车辆行为发生变化的情况下,确定变化后的车辆行为;获取车辆的车辆状态信息和当前路况信息,并根据车辆状态信息和所述当前路况信息,确定变化后的车辆行为的持续时长。
其中,车辆状态信息例如包括速度、加速或减速、位置、导航信息等,当前路况信息例如包括环境信息、道路信息、车辆拥挤情况等,本公开实施例中并不进行限制。
2)确定车辆的当前算力负载信息。例如一种可能实施例为,车辆行为发生变化后,可以获取车辆的处理器的使用情况、图形处理器(Graphics Processing Unit,GPU)资源使用情况等,即获得当前算力负载信息。
本公开实施例中,可以实时检测当前算力负载信息和所持续时长,这样,可以预测在下一个时间段车辆端的算力负载情况和该下一个时间段的时间信息等,进而可以实现实时动态对时间段的划分。
S102:确定数据挖掘任务中各子任务的优先执行率。
本公开实施例中,为了进一步提高算力利用率,还可以对数据挖掘任务进行子任务划分,具体提供了一种可能的实施方式,按照数据采集对象和/或数据功能,将数据挖掘任务划分为各子任务;根据关键程度,将各子任务分类为多个关键子任务和多个非关键子任务。
例如,耗电量、剩余里程、胎压监测等与车辆状态相关的子任务,通常相对简单、数据量较少,因此执行时算力需求信息较少,摄像头影像处理、雷达信息处理等子任务,比较复杂并且数据量较大,因此执行时算力需求信息较大,进而结合关键程度,可以对各子任务进行更细化的分类,确定各子任务是算力需求信息较大的关键任务或非关键任务、算力需求信息较小的关键任务或非关键任务。
这样,可以根据关键程度,对数据挖掘任务进行更精细的划分和分类,进而对各个子任务进行调度,可以提高效率和数据挖掘效果。
则执行上述S102时,本公开具体提供了可能的实施方式:
1)根据数据挖掘任务中各子任务对应的数据规模和复杂度,确定各子任务执行所需的时间需求信息和算力需求信息。
本公开实施例中,这里的数据规模可以表示用于完成某数据挖掘子任务的原始数据规模,可知,数据规模越大,复杂度越高,则所需的时间需求信息和算力需求信息越高,反之,所需的时间需求信息和算力需求信息越低。
2)根据关键程度,确定各子任务的优先级。
具体地,关键程度与优先级呈正相关,关键程度越高,优先级越高,关键程度越低,优先级越低,例如为便于后续优先执行率的计算,可以定义不同优先级所对应的数值大小,优先级越高所对应的数值越大。
3)根据各子任务对应的时间需求信息、算力需求信息和优先级,分别确定各子任务的优先执行率。
这样,本公开实施例中,综合子任务的算力需求信息、时间需求信息和优先级,确定优先执行率,从而可以确定各子任务的执行顺序,进行更合理的子任务调度。
S103:根据持续时长和当前算力负载信息,以及各子任务的优先执行率,对各子任务进行调度执行。
本公开实施例中,根据变化后的车辆行为的持续时长和当前算力负载信息,可以预测变化后的车辆行为所引起的车辆算力使用情况,例如为长时间高算力负载、长时间低算力负载、高低算力负载频繁交替、无驾驶行为即当前几乎无算力负载等情况,进而根据所预测的情况,而调度执行不同类别的子任务。
其基本原则是,当前算力负载信息包括车辆驾驶行为所需的算力信息,驾驶行为所需执行的任务优先级应该高于数据挖掘任务,其中,人为驾驶行为的任务优先级高于自动驾驶行为,因此本公开实施例中,在当前算力负载信息的条件下对不同数据挖掘的子任务进行调度执行,并且考虑当前算力负载信息的持续时长,可以给不同的子任务分配更合理的执行时间,提高执行效率。
例如,在调度执行数据挖掘的各子任务时,可以使用影子模式算法,对采集数据进行分类,确定采集哪些数据,可以不采集对该子任务无关的数据,规避大量无效信息,进而采集关键数据或相关数据,进行数据挖掘计算。
另外,可以理解的是,本公开实施例中主要针对在车辆端的数据挖掘,但是基于对车辆端硬件考虑,还可以采用车辆和云端服务器共同联合执行数据挖掘任务,例如,车辆端执行数据挖掘任务中的数据采集,以及简单的数据挖掘计算,例如对数据特征相似性进行分析筛选,然后再上传到云端服务器进行数据的深度挖掘计算。
本公开实施例中,在检测到车辆行为发生变化的情况下,确定变化后的车辆行为的持续时长,并确定车辆的当前算力负载信息,确定数据挖掘任务中各子任务的优先执行率,进而根据持续时长和当前算力负载信息,以及各子任务的优先执行率,对各子任务进行调度执行,这样,考虑当前算力负载信息和持续时长,对各子任务进行调度执行,避免数据挖掘任务对车辆行为的影响,保证驾驶安全性,并且实时动态进行分析和规划,可以充分利用车辆的算力资源性,提高了效率,更加灵活,适用场景更广,实时调度执行还可以减少中间数据量,降低数据挖掘任务对存储设备的需求,降低存储成本和读写计算对车辆算力的占用。
基于上述实施例可知,本公开实施例中,可以实时检测当前算力负载信息和持续时长,进而结合数据挖掘任务中各子任务的优先执行率,动态调度执行各子任务,其中,本公开提供了一种可能的确定优先执行率的实施方式,具体地,根据各子任务对应的时间需求信息、算力需求信息和优先级,分别确定各子任务的优先执行率,包括:
1)针对各子任务中任一子任务,确定第一权重值与指数函数的第一乘积,其中,指数函数的指数为优先级,并指数函数的底数为第一差值,第一差值为时间需求信息与算力需求信息的第一比值后,再与第二权重值之间的差值。
例如,以任一子任为例,第一权重值为KK,第二权重值为K2,优先级记为p,时间需求信息记为t,算力需求信息记为Af,时间需求信息和算力需求信息的第一比值可以记为\cfrac{t}{Af},其中,\cfrac为分式函数,第一差值为\cfrac{t}{Af}-K2,则第一乘积可以为:K1·(\cfrac{t}{Af}-K2)p。
2)确定时间需求信息和优先级的第二乘积后,再与算力需求信息之间的第二比值,并确定第二比值与第三权重值的第三乘积。
例如,第二乘积为tp,第二比值为\cfrac{tp}{Af},第三权重值为K3,则第三乘积为:K3·\cfrac{tp}{Af}。
3)根据第一乘积与第三乘积之间的和,确定子任务的优先执行率。
例如,优先执行率记为res,则优先执行率为:res=K1·(\cfrac{t}{Af}-K2)p+K3·\cfrac{tp}{Af}。
基于上述优先执行率res的计算公式可知,当时间需求信息t和算力需求信息Af固定时,优先执行率将随优先级p大小先减小后增大,有极小值,但由于极小值点为负,因此优先执行率随优先级p大小的增大而增大;当优先级p和算力需求信息Af固定时,优先执行率将随时间需求信息t长短的增大而增大;当优先级p和时间需求信息t固定时,优先执行率将随算力需求信息Af大小的增大而减小。
需要说明的是,本公开实施例中,第一权重值、第二权重值和第三权重值可以根据实际经验和需求进行设置,对此并不进行限制,例如一种可能实施例中,设置K1=5,K2=2,K3=5,其中较佳的,第一权重值、第二权重值和第三权重值均为正值,第一权重值和第三权重值的取值相同,第二权重值可任取,这样可以保证子任务的关键程度和计算所需的优先级、时间需求信息、算力需求信息三个变量的重要程度相同,保证最终计算的优先执行率的准确性,具体地对第一权重值、第二权重值和第三权重值进行说明:
1)第一权重值可以用于调节关键子任务与非关键任务在最终调度决策中的重要程度。
2)第二权重值可以用于调节判定子任务为关键子任务还是非关键子任务的标准。
例如,若\cfrac{t}{Af}-K2>1,指数函数上升速度快,则优先级对优先执行率的影响将会更大,因此可以在\cfrac{t}{Af}较大时,优先级越高的优先执行率会越高,即可以使得关键程度较高的子任务能够优先执行。
又例如,若0<\cfrac{t}{Af}-K2<1,指数函数下降,则优先级对优先执行率的影响将会更小,因此可以在\cfrac{t}{Af}较小时,执行非关键任务。
3)第三权重值可以用于调节优先级、算力需求信息和时间需求信息三个变量在最终调度决策中的重要程度。
进而本公开实施例中针对上述步骤S103,还提供了几种可能的实施例,具体地包括:
一种可能实施例中,根据持续时长和当前算力负载信息,以及各子任务的优先执行率,对各子任务进行调度执行,包括:在确定持续时长不小于第一时长阈值,并且当前算力负载信息小于第一算力大小的情况下,从各子任务中筛选出算力需求信息小于第二算力大小的关键子任务和/或算力需求信息大于等于第二算力大小的非关键子任务;根据对应的优先执行率,从筛选出的关键子任务和/或非关键子任务中,确定第一目标子任务,并调度执行第一目标子任务。
其中,第一时间阈值、第一算力大小和第二算力大小,可以根据实际经验和情况进行设置,本公开实施例中并不进行限制。
本公开实施例中,在持续时长不小于第一时长阈值,并且当前算力负载信息小于第一算力大小的情况下,可以认为变化后的车辆行为,变化为长时间低算力负载的情况,例如,在高速上的定速巡航的场景,这时,车辆的剩余可用算力还比较多,为保证子任务执行的时间完整性和可靠性,则可以执行数据量小的关键子任务和/或数据量大的非关键子任务。
并且可能筛选出的关键子任务和/或非关键子任务有多个,为了保证数据挖掘效果,可以根据筛选出的各子任务的优先执行率,从中选择一个优先执行率最高的子任务,作为第一目标子任务,进而执行该第一目标子任务,当然,若第一目标子任务执行完毕后,此时车辆仍处于长时间低算力负载的情况,则可以继续执行筛选出的各子任务中,优先执行率次于所该第一目标子任务的子任务。
另一种可能实施例中,根据持续时长和当前算力负载信息,以及各子任务的优先执行率,对各子任务进行调度执行,包括:在确定持续时长不小于第一时长阈值,并且当前算力负载信息大于等于第一算力大小的情况下,不调度执行各子任务。
本公开实施例中,在持续时长不小于第一时长阈值,并且当前算力负载信息大于等于第一算力大小的情况下,可以认为变化后的车辆行为,变化为长时间高算力负载的情况,例如,车距保持场景、复杂路况行驶场景等,为了不影响车辆驾驶行为,保证车辆安全性,该情况下不执行数据挖掘任务。
另一种可能实施例中,根据持续时长和当前算力负载信息,以及各子任务的优先执行率,对各子任务进行调度执行,包括:在变化后的车辆行为为无驾驶行为,从各子任务中筛选出算力需求信息大于等于第二算力大小的关键子任务;根据对应的优先执行率,从筛选出的关键子任务中,确定第二目标子任务,并调度执行第二目标子任务。
其中,无驾驶行为例如驻车状态、充电状态、维修保养状态等,此时当前算力负载信息基本为零,因此可以执行数据量较大的关键子任务,保证关键子任务的数据挖掘效果。
另一种可能实施例中,根据持续时长和当前算力负载信息,以及各子任务的优先执行率,对各子任务进行调度执行,包括:在确定当前算力负载信息小于第一算力大小,并持续时长小于第一时长阈值,或者当前算力负载信息大于等于第一算力大小,并持续时长小于第一时长阈值的情况下,从各子任务中筛选出所述算力需求信息小于第二算力大小的非关键子任务;根据对应的优先执行率,从筛选出的非关键子任务中,确定第三目标子任务,并调度执行第三目标子任务。
即本公开实施例中,确定高算力负载或低算力负载情况但是持续时长都比较短,例如高低算力负载频繁短暂交替出现的情况,例如车辆并线场景、车辆转弯场景、车辆刹车场景、交通拥堵场景等,此时可以执行一些数据量较小的非关键子任务,充分利用车辆的算力资源。
这样,本公开实施例中,根据当前算力负载信息和持续时长,更细化车辆不同的算力使用情况,并且对数据挖掘也划分为不同类别的关键子任务和非关键子任务,进而动态分析车辆当前的算力使用情况,调度执行不同的子任务,可以在不影响车辆驾驶行为的前提下,提高算力资源的利用率,提高数据挖掘效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与数据处理方法对应的数据处理设备,由于本公开实施例中的设备解决问题的原理与本公开实施例上述方法相似,因此设备的具体实施可以参见上述方法的实施例,重复之处不再赘述。
参见图2所示,为本公开实施例提供的数据处理设备示意图,该数据处理设备包括:处理器21,存储器22以及计算机程序;其中,计算机程序存储在存储器22上,当计算机程序被处理器21执行时,使得该设备执行以下操作:
在检测到车辆行为发生变化的情况下,确定变化后的所述车辆行为的持续时长,并确定车辆的当前算力负载信息,其中,所述当前算力负载信息表征所述车辆行为所需算力信息;
确定数据挖掘任务中各子任务的优先执行率;
根据所述持续时长和所述当前算力负载信息,以及各所述子任务的优先执行率,对各所述子任务进行调度执行。
一种可能实施例中,所述数据处理设备用于:在检测到车辆行为发生变化的情况下,确定变化后的所述车辆行为;获取所述车辆的车辆状态信息和当前路况信息,并根据所述车辆状态信息和所述当前路况信息,确定变化后的所述车辆行为的持续时长。
一种可能实施例中,所述数据处理设备用于:
根据数据挖掘任务中各子任务对应的数据规模和复杂度,确定各所述子任务执行所需的时间需求信息和算力需求信息;
根据关键程度,确定各所述子任务的优先级;
根据各所述子任务对应的所述时间需求信息、所述算力需求信息和所述优先级,分别确定各所述子任务的优先执行率。
其中,处理器21可以为车辆的整车控制器等,可以通过车辆的传感器获取车辆行为等信息,进而进行分析,根据当前算力使用情况,动态调度数据挖掘的各子任务。
上述存储器22包括内存221和外部存储器222;这里的内存221也称内存储器,用于暂时存放处理器21中的运算数据,以及与硬盘等外部存储器222交换的数据,处理器21通过内存221与外部存储器222进行数据交换。
上述计算机程序的具体执行过程可以参考本公开实施例中所述的数据处理方法的步骤,此处不再赘述。
参见图3所示,为本公开实施例提供的车辆示意图,该车辆包括上述实施例中的数据处理设备。
本公开实施例中,车辆例如可以为燃油车、新能源电动车、电混油车等,并且车辆类型例如可以为轿车、卡车、汽车等,均不进行限制,该数据处理设备设置在车辆中,车辆中还包括各种传感器,传感器与该数据处理设备可以进行通信连接,例如可以通过传感器获取车辆状态信息、车辆行为等,还可以在执行数据挖掘任务时,获取传感器所采集的数据等。
本公开实施例中,实时检测当前算力负载信息和持续时长,并确定数据挖掘任务中各子任务的优先执行率,进而根据持续时长和当前算力负载信息,以及各子任务的优先执行率,对各子任务进行调度执行,可以更加合理地为各子任务分配执行时间,基于负载均衡进行时间规划,可以不影响车辆的驾驶行为,还可以提高算力资源利用率,提高数据挖掘任务的效率。
基于本公开实施例中的数据处理方法,可以应用于车辆的更多场景,更加灵活,例如,车辆端的硬件轻量化的小型车,自动驾驶快速持续发展的场景,又例如使用频繁并且使用场景复杂多变的网约车、共享汽车等的数据挖掘,又例如,需要持续进行数据挖掘任务的场景等。
本公开实施例还提供一种计算机程序产品,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法实施例中所述的数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本申请中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备、核心网设备、操作管理维护(Operation Administrationand Maintenance,OAM)或者其它可编程装置或者其它可编程装置。
所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。该计算机可读存储介质可以是易失性或非易失性存储介质,或可包括易失性和非易失性两种类型的存储介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。