CN114860457A - 基于图调度框架的车辆数据处理方法、装置和设备 - Google Patents

基于图调度框架的车辆数据处理方法、装置和设备 Download PDF

Info

Publication number
CN114860457A
CN114860457A CN202210622599.7A CN202210622599A CN114860457A CN 114860457 A CN114860457 A CN 114860457A CN 202210622599 A CN202210622599 A CN 202210622599A CN 114860457 A CN114860457 A CN 114860457A
Authority
CN
China
Prior art keywords
data
node
nodes
control
layer
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.)
Granted
Application number
CN202210622599.7A
Other languages
English (en)
Other versions
CN114860457B (zh
Inventor
李晓民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guoqi Intelligent Control Beijing Technology Co Ltd
Original Assignee
Guoqi Intelligent Control Beijing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guoqi Intelligent Control Beijing Technology Co Ltd filed Critical Guoqi Intelligent Control Beijing Technology Co Ltd
Priority to CN202210622599.7A priority Critical patent/CN114860457B/zh
Publication of CN114860457A publication Critical patent/CN114860457A/zh
Application granted granted Critical
Publication of CN114860457B publication Critical patent/CN114860457B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Traffic Control Systems (AREA)

Abstract

本申请涉及自动驾驶技术领域,提供一种基于图调度框架的车辆数据处理方法、装置和设备,图调度框架包括交替设置的数据层和运行层,每一数据层包括至少一个数据节点,每一运行层包括至少一个运行节点,运行节点用于对上一数据层存储的数据进行处理,该方法包括:每隔预设周期,获取图调度框架中多个运行节点在预设周期内的历史数据;根据多个运行节点对应的历史数据,在图调度框架中增加至少一个控制节点,得到增强图调度框架;根据增强图调度框架中的至少一个控制节点,确定多个运行节点的执行方式;根据多个运行节点的执行方式,调度多个运行节点中的部分运行节点进行数据处理;使得运行节点可以动态运行,提高数据处理的灵活性,减少冗余计算。

Description

基于图调度框架的车辆数据处理方法、装置和设备
技术领域
本申请涉及自动驾驶技术领域,尤其涉及一种基于图调度框架的车辆数据处理方法、装置和设备。
背景技术
自动驾驶技术是人工智能领域中最具有实际意义的应用之一,而自动驾驶车辆在行驶过程中,会产生大量的车辆数据需要处理。
现有技术中,在对车辆数据进行处理的时候,可以基于现有的图调度框架对数据进行处理,如可以获取多个车载雷达对应的车载数据,进一步的,基于图中的各个运行节点对数据进行处理,具体的,在收集好数据之后可以触发节点任务,进一步的,初始化图调度框架生成数据和节点的依赖关系,基于每个运行节点对应的节点列表,调度运行后续运行节点对数据进行处理。
但是,上述基于图调度框架处理数据的方法,需要所有的运行节点运行完毕才可以得到处理结果,运行节点无法动态运行,灵活性较差,易导致冗余计算以及关键数据的丢失。
发明内容
本申请提供一种基于图调度框架的车辆数据处理方法、装置和设备,用于解决现有技术中运行节点无法动态运行,灵活性较差,易导致冗余计算以及关键数据的丢失的问题。
第一方面,本申请提供一种基于图调度框架的车辆数据处理方法,所述图调度框架包括交替设置的数据层和运行层,每一数据层包括至少一个数据节点,所述数据节点用于存储数据,每一运行层包括至少一个运行节点,所述运行节点用于对上一数据层存储的数据进行处理,得到的处理结果为下一数据层存储的数据;其中,第一层数据层用于存储车辆的行驶数据,最后一层数据层用于存储控制数据,所述控制数据用于控制所述车辆实现自动驾驶;所述方法包括:
每隔预设周期,获取图调度框架中多个运行节点在所述预设周期内的历史数据;其中,所述历史数据包括所述运行节点的运行状态数据以及处理结果;
根据所述多个运行节点对应的历史数据,在所述图调度框架中增加至少一个控制节点,得到增强图调度框架;其中,所述控制节点设置在数据层和运行层之间;
根据所述增强图调度框架中的至少一个控制节点,确定所述多个运行节点的执行方式,其中,任一运行节点的执行方式由位于所述运行节点之前、且与所述运行节点的距离最近的控制节点确定;
根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理。
可选的,所述运行状态数据包括数据节点采集数据的频率、运行节点被调度次数、运行节点数据处理开始的时间、数据节点采集到的数据的重复次数;根据所述多个运行节点对应的历史数据,在所述图调度框架中增加至少一个控制节点,包括:
针对每一运行节点,判断所述历史数据是否满足预设条件,所述预设条件包括下述至少一项:预设周期内的数据节点采集数据的频率大于第一阈值、预设周期内的运行节点被调度次数小于第二阈值、预设周期内的运行节点数据处理开始的时间超过第三阈值、预设周期内数据节点采集到的数据的重复次数大于第四阈值、处理结果存在异常数据;
若是,则在所述运行节点与所述运行节点前的数据节点之间增加一个控制节点。
可选的,所述执行方式包括:正常执行、跳过控制节点后的至少一个运行节点执行、位于控制节点的控制范围内的运行节点均不执行;根据所述增强图调度框架中的至少一个控制节点,确定所述多个运行节点的执行方式,包括:
针对所述增强图调度框架中的每一个控制节点,基于所述控制节点后第一个运行节点的运行状态数据和所述控制节点前一数据层采集的数据判断是否满足对应的触发条件;
当所述控制节点前一数据层采集的数据满足第一触发条件时,则确定跳过控制节点后的至少一个运行节点执行;所述第一触发条件包括下述至少一项:前一数据层采集的数据中存在异常数据、前一数据层采集到的数据中出现重复数据的重复次数大于第一预设阈值;
当所述控制节点后第一个运行节点的运行状态数据满足第二触发条件时,则确定位于所述控制节点的控制范围内的运行节点均不执行;所述第二触发条件包括下述至少一项:数据节点采集数据的频率大于第二预设阈值、运行节点被调度次数小于第三预设阈值、运行节点数据处理开始的时间超过第四预设阈值、数据节点采集到的数据的重复次数大于第五预设阈值;
当所述控制节点后第一个运行节点的运行状态数据和所述控制节点前一数据层采集的数据均不满足对应的触发条件时,则确定位于所述控制节点的控制范围内的运行节点正常执行。
可选的,在确定跳过控制节点后的至少一个运行节点执行后,所述方法还包括:
基于所述运行节点对应的预定义节点列表和所述运行节点对应的等级获取需要跳过运行节点的数量;所述预定义节点列表为提前预设好的用于表述各个运行节点依赖关系以及优先级关系的列表;
基于跳过运行节点的数量获取对应的默认数据,并在确定跳过对应数量的运行节点后,将所述默认数据传递给下一个可运行的运行节点,用于数据处理。
可选的,根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理,包括:
当确定所述执行方式为位于控制节点的控制范围内的运行节点均不执行后,则基于所述预定义节点列表获取位于控制节点的控制范围内的所有的运行节点,并控制所有的运行节点均不对上一数据层存储的数据进行处理,且丢弃获取到的上一数据层存储的数据。
可选的,根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理,包括:
初始化所有的运行节点,并对获取到的所述执行方式需要调用的部分运行节点对应的上一数据层存储的数据进行降噪处理;
调用所述部分运行节点对经过降噪处理的上一数据层存储的数据进行处理。
可选的,所述方法还包括:
判断所述控制数据是否存在异常;
若所述控制数据存在异常,则控制车辆退出自动驾驶模式,并向用户终端设备发送告警信息。
第二方面,本申请提供一种基于图调度框架的车辆数据处理装置,所述图调度框架包括交替设置的数据层和运行层,每一数据层包括至少一个数据节点,所述数据节点用于存储数据,每一运行层包括至少一个运行节点,所述运行节点用于对上一数据层存储的数据进行处理,得到的处理结果为下一数据层存储的数据;其中,第一层数据层用于存储车辆的行驶数据,最后一层数据层用于存储控制数据,所述控制数据用于控制所述车辆实现自动驾驶;所述装置包括:
获取模块,用于每隔预设周期,获取图调度框架中多个运行节点在所述预设周期内的历史数据;其中,所述历史数据包括所述运行节点的运行状态数据以及处理结果;
增加模块,用于根据所述多个运行节点对应的历史数据,在所述图调度框架中增加至少一个控制节点,得到增强图调度框架;其中,所述控制节点设置在数据层和运行层之间;
确定模块,用于根据所述增强图调度框架中的至少一个控制节点,确定所述多个运行节点的执行方式,其中,任一运行节点的执行方式由位于所述运行节点之前、且与所述运行节点的距离最近的控制节点确定;
调度模块,用于根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理。
第三方面,本申请提供一种基于图调度框架的车辆数据处理设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的基于图调度框架的车辆数据处理方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的基于图调度框架的车辆数据处理方法。
第五方面,本申请提供一种计算机程序产品,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如第一方面任一项所述的基于图调度框架的车辆数据处理方法。
综上所述,本申请提供的基于图调度框架的车辆数据处理方法、装置和设备,可以通过获取图调度框架中多个运行节点在预设周期内的历史数据,即运行节点的运行状态数据以及处理结果,进一步的,根据多个运行节点对应的历史数据,在图调度框架中增加至少一个控制节点,得到增强图调度框架;其中,控制节点设置在数据层和运行层之间;在增强图调度框架中增加至少一个控制节点后,可以根据该增强图调度框架中的至少一个控制节点,确定多个运行节点的执行方式,其中,任一运行节点的执行方式由位于运行节点之前、且与运行节点的距离最近的控制节点确定;进一步的,根据多个运行节点的执行方式,调度多个运行节点中的部分运行节点进行数据处理,进而实现车辆的自动驾驶,这样,可以使得运行节点可以动态运行,提高数据处理的灵活性,减少冗余计算和关键数据的丢失。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种应用场景示意图;
图2为一种图调度框架对数据进行处理的结构示意图;
图3为本申请实施例提供的一种基于图调度框架的车辆数据处理方法的流程示意图;
图4为本申请实施例提供的一种增强图调度框架对数据进行处理的结构示意图;
图5为本申请实施例提供的一种基于图调度框架的车辆数据处理装置的结构示意图;
图6为本申请实施例提供的一种基于图调度框架的车辆数据处理设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一设备和第二设备仅仅是为了区分不同的设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面结合附图对本申请实施例进行介绍。图1为本申请实施例提供的一种应用场景示意图,本申请提供的一种基于图调度框架的车辆数据处理方法可以应用于如图1所示的应用场景中。该应用场景包括:自动驾驶车辆101和其他车辆102,其中,自动驾驶车辆101安装有车载雷达1和车载雷达2,车载雷达1和车载雷达2用于探测外界环境的情况,如周围的车辆情况、道路中障碍物的情况等,具体的,自动驾驶车辆101可以通过车载雷达1和车载雷达2获取到的车辆数据如距离其他车辆102的距离以及车载雷达1和车载雷达2采集车辆数据的频率来判断是否会发生冗余计算,若否,则自动驾驶车辆101对获取到的车辆数据进行处理,用于确定自动驾驶车辆101的行驶速度或距离其他车辆102的距离是否发生改变。
需要说明的是,其他车辆102可以是自动驾驶车辆,也可以为普通车辆,本申请实施例对此不作具体限定,在自动驾驶车辆101可以安装有车载雷达,也可以安装有其他类型的传感器,用于获取车辆的运行数据,本申请实施例对自动驾驶车辆安装的车载雷达数量以及传感器的类型不作具体限定,所述自动驾驶车辆安装有用于进行足够车辆数据收集的传感器即可。
现有技术中,在对车辆数据进行处理的时候,可以基于现有的图调度框架对数据进行处理,如可以获取多个车载雷达对应的车载数据,进一步的,基于图中的各个运行节点对数据进行处理,具体的,在收集好数据之后可以触发节点任务,进一步的,初始化图调度框架生成数据和节点的依赖关系,基于每个运行节点对应的节点列表,调度运行后续运行节点对数据进行处理。
自动驾驶系统的流程可分感知、决策、执行三大块,从外界环境被车的传感器感知,到刹车、油门和方向的控制,会经过一系列模块的计算,这些模块之间相互有数据信赖以及传递的关系,因此可以表示成图的拓扑结构,示例性的,图2为一种图调度框架对数据进行处理的结构示意图,如图2所示,第一行为传感器感知的车辆数据A如车载雷达探测到的数据经过运行节点1的处理,得到处理后的数据1,进而将数据1发送给下一个运行节点2进行处理,相应的,运行节点2可以基于节点列表获取运行节点3处理后的数据3和运行节点4处理后的数据4,进而运行节点2对数据1、数据3和数据4进行处理,得到数据2,进而数据2可以传递给运行节点5和运行节点6进行处理,运行节点5对数据2进行处理,得到数据5,运行节点6基于节点列表获取数据2和数据4进行处理,得到数据6,其中,第二行的第一个数据B和第三行的第一个数据C均是相应的传感器感知到的车辆数据,每一个运行节点均有对应的节点列表,所述节点列表用于表示数据和运行节点的依赖关系,即每一运行节点在获取哪些运行节点的处理数据后再进行数据处理。
一种可能的实现方式中,基于图调度框架进行数据处理的方法是基于数据驱动的调度方法,即在数据准备好之后才可以触发运行节点的任务,具体的,在开始数据处理时,先初始化时图调度框架生成的数据和运行节点的依赖关系,即为每个数据对象提前预定义好它的节点列表,进而可以调度运行时维护全局数据对象状态,一旦某个数据对象准备好之后,那么基于节点列表检查该数据对象对应的运行节点是否对应的全部输入数据都齐备,如果齐备,那么运行该运行节点,该运行节点运行后输出对应的数据对象,在输出所述数据对象也准备好之后,基于节点列表调用对应的运行节点对输出的所述数据对象进行处理,类似的,图调度框架中的所有运行节点均进行上述处理过程,直至数据处理完毕。
另一种可能的实现方式中,基于图调度框架进行数据处理的方法是基于图中运行节点前后依赖关系的调度方法,具体的,先初始化时生成运行节点的前后依赖关系,在对每个运行节点,维护该运行节点的相邻的前序节点列表和相邻的后序运行列表,即前序节点列表只表示当前运行节点和前一个运行节点的依赖关系,后序节点列表只表示当前运行节点和后一个运行节点的依赖关系,在调度运行节点处理数据时,从最开始的运行节点开始运行,运行节点运行完毕后基于前序节点列表和后序节点列表检查所有的后续运行节点,如果可以运行,则触发后续的运行节点运行,直至运行到最后的叶子节点,当所有叶子节点运行完毕则图执行完毕。
再一种可能的实现方式中,基于图调度框架进行数据处理的方法是基于消息触发的调度方法,具体的,通过各运行节点注册自己关心的消息和事件以及自己会发布的消息和事件,则调度框架负责传递这些消息,节点进程/线程自行等待并处理这些消息。但是,这种调度的方法是全局不可控,实时性难以保证,通常自动驾驶平台不采用此种调度方法。
综合上述图调度框架处理数据的方法发现,现有在进行数据处理时,会把整张图中的所有运行节点运行完毕,才可以得到处理结果,运行节点无法动态运行,灵活性较差;而且目前车载数据多种多样,对应的输入数据频率不一致,易导致冗余计算以及关键数据的丢失,由于自动驾驶对实时性要求高,所以冗余计算以及关键数据的丢失会影响整体系统的性能。
因此,本申请实施例提供一种基于图调度框架的车辆数据处理方法,可以通过在全局图中引入控制变量以及控制节点以实现运行节点的动态执行,图调度框架包括交替设置的数据层和运行层,每一数据层包括至少一个数据节点,数据节点可以存储数据,每一运行层包括至少一个运行节点,运行节点可以对对上一数据层存储的数据进行处理,得到的处理结果为下一数据层存储的数据;具体的,基于加入的控制变量以及各个运行节点的历史数据来判断出控制节点部署的位置以及数量,如基于自动驾驶的车辆中多个运行节点对应的运行状态数据以及处理结果来确定控制节点设置于哪一个运行节点对应的数据节点与该运行节点之间,在控制节点布置好位置后,进一步,控制节点可以动态控制后续运行节点的执行,如可以跳过一个或多个运行节点执行,也可以正常执行等,进而对数据进行处理,本申请通过加入了动态执行的功能,使得运行节点可以动态运行,提高执行过程的灵活性,减少冗余计算以及关键数据的丢失的问题。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图3为本申请实施例提供的一种基于图调度框架的车辆数据处理方法的流程示意图,如图3所示,本实施例提供的基于图调度框架的车辆数据处理方法,所述图调度框架包括交替设置的数据层和运行层,每一数据层包括至少一个数据节点,所述数据节点用于存储数据,每一运行层包括至少一个运行节点,所述运行节点用于对上一数据层存储的数据进行处理,得到的处理结果为下一数据层存储的数据;其中,第一层数据层用于存储车辆的行驶数据,最后一层数据层用于存储控制数据,所述控制数据用于控制所述车辆实现自动驾驶,所述方法执行流程可以包括:
S301、每隔预设周期,获取图调度框架中多个运行节点在所述预设周期内的历史数据;其中,所述历史数据包括所述运行节点的运行状态数据以及处理结果。
具体的,图调度框架中多个运行节点具有上下游关系,运行节点的运行状态数据用于表述运行节点的即时状态,如运行节点被调度次数,运行节点执行开始时间等;运行节点的处理结果包括运行节点基于上一数据层存储的数据进行相应的数据处理后得到的运行结果,其中,数据层可以包括至少一个数据节点,数据节点用于采集数据并存储数据,采集的数据可以包括源数据和运行节点对应的运行结果,如图2所示的数据A、数据1和数据2等;所述源数据为传感器获取的初始数据,如车载雷达对应的源数据。
本申请实施例中,预设周期可以指的是系统设定的用于确定控制节点位置更新对应的时间周期,如预设周期为一周,即每隔一周,自动驾驶的车辆需要获取到的历史数据,用于确定控制节点的部署位置以及数据。
在本步骤中,多个运行节点对应的运行状态数据为在全局图中引入控制变量,在图调度框架中引入控制变量可以确定控制节点部署位置及部署数量。
示例性的,在图1的应用场景下,每隔一周,可以获取自动驾驶车辆101中多个运行节点对应的被调度次数,执行开始时间等运行状态数据以及运行节点处理车辆数据得到的处理结果,用于确定自动驾驶车辆101对应的图调度框架中是否需要部署控制节点。
S302、根据所述多个运行节点对应的历史数据,在所述图调度框架中增加至少一个控制节点,得到增强图调度框架;其中,所述控制节点设置在数据层和运行层之间。
具体的,所述至少一个控制节点和多个运行节点是依次传递的节点,所述控制节点设置于数据层和运行层之间,即运行节点对应的上一数据层中至少一个数据节点与所述运行节点之间,所述控制节点用于确定位于控制节点的控制范围内的运行节点的运行状态;所述控制范围可以指的是控制节点可以调度的一定数量的运行节点,如控制节点1设置于图2所示中运行节点1前方,控制节点2设置于图2所示中运行节点2前方,则控制节点1的控制范围包括运行节点1处理数据1的过程范围,控制节点2的控制范围包括运行节点2处理数据2、运行节点5处理数据5以及运行节点6处理数据6的过程范围。
本申请实施例中,所述增强图调度框架为增加至少一个控制节点后的图调度框架,如相较于图2对应的图调度框架,在某个数据节点如数据B与运行节点如运行节点3之间增加了了一个控制节点的增强图调度框架,所述控制节点为在增强图调度框架中引入控制节点,可以增强图调度框架中基于多个运行节点对应的历史数据进行部署位置及部署数量的动态设置。
示例性的,以图2为例,可以根据多个运行节点对应的历史数据判断控制节点应该部署在哪一个运行节点对应的上一数据层中至少一个数据节点与运行节点之间,进一步的,得到布置好控制节点的增强图调度框架,如可以部署在数据1和运行节点2之间、或数据3和运行节点2之间、数据4和运行节点2之间,还可以部署在数据1、数据3和数据4之后、运行节点2之前;进而布置好的控制节点可以确定位于该控制节点的控制范围内的运行节点的运行状态。
需要说明的是,根据多个运行节点对应的历史数据在图调度框架中增加控制节点的位置以及数量,本申请实施例对此不作具体限定,其根据历史数据的具体情况而定。
S303、根据所述增强图调度框架中的至少一个控制节点,确定所述多个运行节点的执行方式,其中,任一运行节点的执行方式由位于所述运行节点之前、且与所述运行节点的距离最近的控制节点确定。
所述执行方式包括正常执行、跳过控制节点后的至少一个运行节点执行、位于控制节点的控制范围内的运行节点均不执行。
在本步骤中,在增强图调度框架中增加至少一个控制节点后,即至少一个控制节点位于对应的部署位置之后,可以获取此次自动驾驶的车辆在行驶过程中该至少一个控制节点后第一个运行节点对应的运行状态数据和上一数据层存储的数据,如某一个控制节点后第一个运行节点对应的被调度次数,执行开始时间等状态数据以及输入该第一个运行节点进行数据处理的数据,所述运行状态数据和所述上一数据层存储的数据可以用于对运行节点的执行过程进行动态判断,如可以基于运行节点被调度次数判断控制节点的控制范围内的运行节点是否需要执行,或基于运行节点被调度次数实现运行节点每隔预设次数才被调度执行一次;可以基于运行节点初始执行时间判断是否放弃本运行节点的执行,用于做超时跳过处理等操作;可以基于上一数据层存储的数据中存在的异常数据判断控制节点的控制范围内的运行节点需要跳过的数量等。
可以理解的是,在增强图调度框架引入控制变量以及控制节点还可以实现运行节点的动态执行。
S304、根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理。
具体的,可以通过加入callback回调注册机制,可以在上一数据层存储的数据产生后基于callback调用后续部分运行节点的调度走向。callback的函数对应的部分代码如下所示:
Int next_schedule_check(source_data_id,default_produce_data_id[],default_data_source[]);
其中,source_data_id表示本次的输入的上一数据层存储的数据,default_produce_data_id表示跳过节点后,需要补给默认数据给到的后续运行节点,default_data_source表示默认数据的值来源,可以是跳过的运行节点提供的数据,也可以是上一预设周期内对应的历史数据,还可以是人工提供的,本申请实施例对此不作具体限定。调用后续部分运行节点的调度走向可以表示为返回值,即对应的调度策略如正常执行、跳过至少一个运行节点并提供默认数据、忽略后续运行节点的执行等。
需要说明的是,在控制节点的未控制范围内的运行节点,其可以正常执行数据处理过程,不受控制节点的约束,本申请实施例对此不再赘述。
因此,本申请实施例提供的基于图调度框架的车辆数据处理方法,可以通过获取图调度框架中多个运行节点在预设周期内的历史数据,即运行节点的运行状态数据以及处理结果,进一步的,根据多个运行节点对应的历史数据,在图调度框架中增加至少一个控制节点,得到增强图调度框架;其中,控制节点设置在数据层和运行层之间;在增强图调度框架中增加至少一个控制节点后,可以根据该增强图调度框架中的至少一个控制节点,确定多个运行节点的执行方式,其中,任一运行节点的执行方式由位于运行节点之前、且与运行节点的距离最近的控制节点确定;进一步的,根据多个运行节点的执行方式,调度多个运行节点中的部分运行节点进行数据处理,进而实现车辆的自动驾驶,这样,可以使得运行节点可以动态运行,提高数据处理的灵活性,减少冗余计算和关键数据的丢失。
结合上述实施例,图4为本申请实施例提供的一种增强图调度框架对数据进行处理的结构示意图;如图4所示,相较于图2所示的实施例,本申请实施例提供的增强图调度框架中引入了控制节点,且在获取的数据中加入了全局图的一些即时状态,如运行节点的调度次数,运行节点执行开始时间等,使得可以基于获取到的数据判断出控制节点的部署位置以及数量,以部署一个控制节点为例,所述控制节点设置于数据A(数据节点)与运行节点1之间,进一步的,第一行中控制节点可以基于数据A判断运行节点1是正常运行,还是指定后续对应的运行节点如运行节点2执行或者不执行运行节点1,执行其他运行节点均可以,若运行节点1是正常运行,则运行节点1对数据A进行处理,得到处理后的数据1,进而将数据1发送给下一个运行节点2进行处理,若运行节点1是不执行,指定运行节点2执行,则需要指定运行节点2输出的缺省数据,使得可以提供给运行节点2默认数据,让运行节点2默认数据进行处理,得到处理后的数据2,其他运行节点的处理过程与图2所示的实施例类似,在此不再赘述。
需要说明的是,以上控制节点的部署位置以及部署数量均是举例说明,控制节点的部署位置以及部署数量应视具体情况而定,需要根据实时场景进行判断,且所述控制节点可以控制后续运行节点的正常执行、跳过控制节点后的至少一个运行节点执行、位于控制节点的控制范围内的运行节点均不执行等过程。
可选的,所述运行状态数据包括数据节点采集数据的频率、运行节点被调度次数、运行节点数据处理开始的时间、数据节点采集到的数据的重复次数;根据所述多个运行节点对应的历史数据,在所述图调度框架中增加至少一个控制节点,包括:
针对每一运行节点,判断所述历史数据是否满足预设条件,所述预设条件包括下述至少一项:预设周期内的数据节点采集数据的频率大于第一阈值、预设周期内的运行节点被调度次数小于第二阈值、预设周期内的运行节点数据处理开始的时间超过第三阈值、预设周期内数据节点采集到的数据的重复次数大于第四阈值、处理结果存在异常数据;
若是,则在所述运行节点与所述运行节点前的数据节点之间增加一个控制节点。
本申请实施例中,第一阈值可以指的是系统设定的用于判断预设周期内数据节点采集数据的频率是否发生异常而设定的阈值,如在预设周期内车载雷达获取数据的频率大于第一阈值5s/次;第二阈值可以指的是系统设定的用于判断预设周期内运行节点被调度次数是否发生异常而设定的阈值,如在预设周期内某个运行节点被调度的次数大于第二阈值5次;第三阈值可以指的是系统设定的用于判断预设周期内运行节点数据处理开始的时间是否发生异常而设定的阈值,如在预设周期内某个运行节点处理开始的时间超过第三阈值(如需要在得到上一数据层存储的数据后1s内运行,但运行该运行节点在超过应运行时间5分钟后再运行的);第四阈值可以指的是系统设定的用于判断预设周期内数据节点采集到的数据的重复次数是否发生异常而设定的阈值,如在预设周期内某个数据节点采集到的数据的重复次数大于第四阈值3次;异常数据可以指的是相较于与其他处理结果有差距过大或过小的数据,如汽车行驶速度为5km/h,5.6km/h,5.3km/h,6km/h,0.1km/h,则确定0.1km/h为异常数据。
需要说明的是,以上第一阈值、第二阈值、第三阈值、第四阈值以及异常数据均是举例说明,本申请实施例对第一阈值、第二阈值、第三阈值、第四阈值以及异常数据对应的具体数据不作限定。
示例性的,以图4中运行节点1为例,针对运行节点1,判断在预设周期内数据A的采样频率是否大于第一阈值、运行节点1被调度次数是否小于第二阈值、运行节点1数据处理开始的时间是否超过第三阈值、采集到的数据A的重复次数(与数据A相似度较高的数据也视为数据A)是否大于第四阈值、数据1中是否存在异常数据,若确定满足上述至少一个条件,则在运行节点1与运行节点1前的数据A之间增加一个控制节点,即将控制节点部署在图4中所示位置中,若确定均不满足上述条件,则不增加控制节点,即运行节点1与运行节点1对应的数据A之间不部署控制节点,运行节点1正常运行,其他运行节点与运行节点1的判断过程类似,在此不再赘述。
因此,本申请实施例提供的基于图调度框架的车辆数据处理方法,通过基于历史数据是否满足预设条件来确定是否增加控制节点以及确定控制节点的部署位置,综合考虑了数据节点采集数据的频率、运行节点被调度次数、运行节点数据处理开始的时间、数据节点采集到的数据的重复次数以及运行节点的处理结果等多个因素,使得可以合理的部署控制节点的位置以及数量,进而使得数据处理的准确性大大提高。
可选的,所述执行方式包括:正常执行、跳过控制节点后的至少一个运行节点执行、位于控制节点的控制范围内的运行节点均不执行;根据所述增强图调度框架中的至少一个控制节点,确定所述多个运行节点的执行方式,包括:
针对所述增强图调度框架中的每一个控制节点,基于所述控制节点后第一个运行节点的运行状态数据和所述控制节点前一数据层采集的数据判断是否满足对应的触发条件;
当所述控制节点前一数据层采集的数据满足第一触发条件时,则确定跳过控制节点后的至少一个运行节点执行;所述第一触发条件包括下述至少一项:前一数据层采集的数据中存在异常数据、前一数据层采集到的数据中出现重复数据的重复次数大于第一预设阈值;
当所述控制节点后第一个运行节点的运行状态数据满足第二触发条件时,则确定位于所述控制节点的控制范围内的运行节点均不执行;所述第二触发条件包括下述至少一项:数据节点采集数据的频率大于第二预设阈值、运行节点被调度次数小于第三预设阈值、运行节点数据处理开始的时间超过第四预设阈值、数据节点采集到的数据的重复次数大于第五预设阈值;
当所述控制节点后第一个运行节点的运行状态数据和所述控制节点前一数据层采集的数据均不满足对应的触发条件时,则确定位于所述控制节点的控制范围内的运行节点正常执行。
本申请实施例中,第一预设阈值可以指的是系统设定的用于判断控制节点前一数据层采集的数据出现的重复次数(数据相似度过高也视为重复)是否发生异常而设定的阈值,如在图4中,以控制节点位于运行节点2之前为例,控制节点前一数据层采集的数据包括:数据1、数据3和数据4,若数据1、数据3和数据4中出现的重复次数大于2次;第二预设阈值可以指的是系统设定的用于判断控制节点后第一个运行节点对应的数据节点采集数据的频率是否发生异常而设定的阈值,如车载雷达获取数据的频率大于第二预设阈值3s/次;第三预设阈值可以指的是系统设定的用于判断控制节点后第一个运行节点被调度次数是否发生异常而设定的阈值,如控制节点后第一个运行节点被调度的次数大于第三预设阈值3次;第四预设阈值可以指的是系统设定的用于判断控制节点后第一个运行节点数据处理开始的时间是否发生异常而设定的阈值,如控制节点后第一个运行节点处理开始的时间超过第四预设阈值;第五预设阈值可以指的是系统设定的用于判断数据节点采集到的数据的重复次数是否发生异常而设定的阈值,如某个数据节点采集到的数据的重复次数大于第五预设阈值2次。
需要说明的是,以上第一预设阈值、第二预设阈值、第三预设阈值、第四预设阈值以及第五预设阈值均是举例说明,本申请实施例对第一预设阈值、第二预设阈值、第三预设阈值、第四预设阈值以及第五预设阈值对应的具体数据不作限定。
在本步骤中,触发条件可以指的是是否触发控制节点对控制节点的控制范围内的运行节点的运行状态进行更改的条件,用于触发判断,更改运行节点的执行过程,即执行、隔多少次执行一次或不执行等。
示例性的,以图4中控制节点部署的位置为例,针对该控制节点,基于数据A判断是否满足对应的触发条件;所述数据A可以包括车载雷达获取到的源数据以及运行节点1对应的运行状态数据;判断该控制节点前对应的数据A中是否存在异常数据、以及数据A出现的重复次数是否大于第一预设阈值,若满足上述任一条件,则确定跳过运行节点1执行,具体的,可以跳过控制节点后的运行节点1点执行,也可以跳过运行节点1和运行节点2执行,本申请实施例对此不作具体限定。
若不满足上述任一条件,则可以继续判断数据A的采样频率是否大于第二预设阈值、运行节点1被调度次数是否小于第三预设阈值、运行节点1数据处理开始的时间是否超过第四预设阈值、采集到的数据A的重复次数是否大于第五预设阈值,若确定满足上述任一条件,则确定位于控制节点的控制范围内的运行节点1、运行节点2和运行节点5均不执行;若确定还是不满足上述任一条件,则确定控制节点的控制范围内的运行节点1、运行节点2和运行节点5正常执行。
需要说明的是,若部署多个控制节点,则与上述判断过程类似,在此不再赘述。
可以理解的是,不在控制节点控制范围内的运行节点,表示其运行过程中未发生异常,其可以基于现有技术正常运行。
因此,本申请实施例可以基于控制节点以及控制节点前一数据层采集的数据来确定后续运行节点的执行过程,综合考虑了控制节点前一数据层采集的数据、控制节点前一数据层采集的数据出现的重复次数、控制节点后第一个运行节点对应数据节点采集数据的频率、控制节点后第一个运行节点被调度次数、控制节点后第一个运行节点数据处理开始的时间、数据节点采集数据的重复次数等多种因素,使得可以实现对运行节点的动态控制,减少运行节点运行频率差异、数据处理异常等问题。
可选的,在确定跳过控制节点后的至少一个运行节点执行后,所述方法还包括:
基于所述运行节点对应的预定义节点列表和所述运行节点对应的等级获取需要跳过运行节点的数量;所述预定义节点列表为提前预设好的用于表述各个运行节点依赖关系以及优先级关系的列表;
基于跳过运行节点的数量获取对应的默认数据,并在确定跳过对应数量的运行节点后,将所述默认数据传递给下一个可运行的运行节点,用于数据处理。
在本步骤中,预定义节点列表为提前预设好的用于表述各个运行节点依赖关系以及优先级关系的列表,该列表可以是一个表中包含所有运行节点依赖关系以及优先级关系的列表,也可以是包括多个子列表的关系表,每一子列表对应一个运行节点,所述子列表包含该运行节点与其他运行节点的依赖关系以及优先级关系,本申请实施例对此不作具体限定,所述依赖关系可以表述为执行该运行节点后,下一个执行的是哪几个运行节点,所述优先级关系为基于执行运行节点的等级确定下几个执行的运行节点的重要程度,即运行节点的等级越低,其后执行的运行节点重要程度越低,可跳过运行节点的数量越多,如某个运行节点对应的等级为6,与该运行节点存在依赖关系的运行节点又3个,由于该运行节点对应的为最低等级,则可以确定需要跳过运行节点的数量为3个。
需要说明的是,本申请实施例对各个运行节点对应的等级以及优先级关系指定的执行过程不作具体限定,以上仅是示例说明。
具体的,在确定跳过控制节点后的至少一个运行节点执行后,可以根据运行节点对应的预定义节点列表和运行节点对应的等级确定需要跳过控制节点后的运行节点的数量,进一步的,获取跳对应数量的运行节点后,下一个执行数据处理的运行节点的默认数据,进一步的,将获取到默认数据传递给下一个可运行的运行节点进行数据处理。
因此,本申请实施例可以基于预定义节点列表和运行节点对应的等级确定跳过运行节点的数量,减少重要执行过程没有被运行的情况,进而还可以减少重要数据的丢失,在跳过至少一个运行节点后提供默认数据给下一个可运行的运行节点进行数据处理,还可以减少数据异常造成不能运行的情况,保证数据处理的正常运行,提高系统的稳定性。
可选的,根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理,包括:
当确定所述执行方式为位于控制节点的控制范围内的运行节点均不执行后,则基于所述预定义节点列表获取位于控制节点的控制范围内的所有的运行节点,并控制所有的运行节点均不对上一数据层存储的数据进行处理,且丢弃获取到的上一数据层存储的数据。
具体的,当确定执行方式为跳过控制节点后的至少一个运行节点执行后,则基于预定义节点列表调度相应的运行节点,对获取到的默认数据进行处理,这里的跳过类似编程语言的goto,需要说明的是,调度时必须为后续要执行的运行节点提供默认数据;当确定执行方式为位于控制节点的控制范围内的运行节点均不执行后,则基于预定义节点列表获取位于控制节点的控制范围内的运行节点之后所有的运行节点,并控制所有的运行节点均不对上一数据层存储的数据进行处理,且丢弃获取到的上一数据层存储的数据,这种情况可以用来解决运行节点运行节拍不一致的问题,比如后面决策控制节点调度节拍低,前面上一数据层存储的数据采样频率高,上一数据层存储的数据冗余的类似情况;当确定执行方式为正常执行后,则基于预定义节点列表获取运行节点之后所有的运行节点,并调用所有的运行节点对上一数据层存储的数据进行处理,即正常触发后续运行节点执行。
因此,本申请实施例在确定控制节点的控制范围内的运行节点均不执行后,可以丢弃获取到的上一数据层存储的数据,减少因数据存储量过大导致的数据处理速率减慢等问题的发生,使得可以合理的存储数据。
可选的,根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理,包括:
初始化所有的运行节点,并对获取到的所述执行方式需要调用的部分运行节点对应的上一数据层存储的数据进行降噪处理;
调用所述部分运行节点对经过降噪处理的上一数据层存储的数据进行处理。
本申请实施例中,降噪处理可以指的是对数据层存储的数据进行滤波处理,去除干扰数据的过程,如获取车载雷达扫描的图像之后,可以先对图像进行降噪处理,然后将经过降噪处理的图像发送至运行节点进行处理如特征提取。
具体的,在运行节点开始工作之前,可以初始化所有的运行节点,并对获取到的执行方式需要调用的部分运行节点对应的上一数据层存储的数据进行降噪处理,进一步的,调用对应的部分运行节点对经过降噪处理的上一数据层存储的数据进行处理,而其他未被控制节点调用的运行节点,若也在正常执行数据处理过程,则未被控制节点调用的运行节点对应的上一数据层存储的数据,也进行同样的降噪处理,使得上一数据层存储的数据的精度提高。
因此,本申请实施例可以先对每一运行节点前的上一数据层存储的数据进行降噪处理,然后将经过降噪处理后的上一数据层存储的数据发送至运行节点进行数据处理,因为去除上一数据层存储的数据中的干扰因素,所以可以使得获取到的上一数据层存储的数据精度更高,进而处理结果更准确。
可选的,所述方法还包括:
判断所述控制数据是否存在异常;
若所述控制数据存在异常,则控制车辆退出自动驾驶模式,并向用户终端设备发送告警信息。
本申请实施例中,告警信息可以指的是系统设置的用于表述控制数据发生异常,影响车辆自动驾驶而生成信息提示,所述告警信息可以是以显示框的形式,以文字内容显示在用户终端设备上,也可以是以一段语音的形式,在用户终端设备进行播报,本申请实施例对告警信息的形式以及内容不作具体限定,所述用户终端设备可以是车载终端或用户手机等。
在本步骤中,判断控制数据是否存在异常,可以基于控制数据中的特征信息与预设的故障库中的参数阈值进行比对,得到比对结果来判断控制数据是否发生异常;所述特征信息包括车辆运行信息、数据类型信息等,例如,某个车辆运行信息为油耗10L/km,对应的数据类型信息为油耗类型,则基于该特征信息与预设的故障库中的参数阈值如1L/km进行比对,判断出油耗发生异常,则控制车辆退出自动驾驶模式,并向用户终端设备发送告警信息,为语音播报“油耗超标,请检修”。
示例性的,在图1的应用场景下,自动驾驶车辆101在基于执行过程调度对应的运行节点对上一数据层存储的数据进行处理,得到对应的控制数据后,可以判断控制数据是否存在异常;若控制数据存在异常,则控制车辆退出自动驾驶模式,并向车载终端的显示屏上发送告警信息,如“每公里油耗50L,油耗超标,请及时检修”;若控制数据不存在异常,则控制车辆继续自动行驶。
因此,本申请实施例还可以对控制数据进行判断,查看车辆在自动行驶过程中有无异常,若发生异常,可以及时发送告警信息,以提示用户,减少危险的发生,提高了自动驾驶的安全性。
需要说明的是,本申请实施例的执行主体可以是自动驾驶车辆中的控制器,也可以是调度器,本申请实施例对此不作具体限定。
在前述实施例中,对本申请实施例提供的基于图调度框架的车辆数据处理方法进行了介绍,而为了实现上述本申请实施例提供的方法中的各功能,作为执行主体的电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
示例性的,图5为本申请实施例提供的一种基于图调度框架的车辆数据处理装置的结构示意图,所述图调度框架包括交替设置的数据层和运行层,每一数据层包括至少一个数据节点,所述数据节点用于存储数据,每一运行层包括至少一个运行节点,所述运行节点用于对上一数据层存储的数据进行处理,得到的处理结果为下一数据层存储的数据;其中,第一层数据层用于存储车辆的行驶数据,最后一层数据层用于存储控制数据,所述控制数据用于控制所述车辆实现自动驾驶;如图5所示,所述基于图调度框架的车辆数据处理装置500包括:获取模块501、增加模块502、确定模块503和调度模块504,其中,所述获取模块501,用于每隔预设周期,获取图调度框架中多个运行节点在所述预设周期内的历史数据;其中,所述历史数据包括所述运行节点的运行状态数据以及处理结果;
所述增加模块502,用于根据所述多个运行节点对应的历史数据,在所述图调度框架中增加至少一个控制节点,得到增强图调度框架;其中,所述控制节点设置在数据层和运行层之间;
所述确定模块503,用于根据所述增强图调度框架中的至少一个控制节点,确定所述多个运行节点的执行方式,其中,任一运行节点的执行方式由位于所述运行节点之前、且与所述运行节点的距离最近的控制节点确定;
所述调度模块504,用于根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理。
可选的,所述运行状态数据包括数据节点采集数据的频率、运行节点被调度次数、运行节点数据处理开始的时间、数据节点采集到的数据的重复次数;所述增加模块502,具体用于:
针对每一运行节点,判断所述历史数据是否满足预设条件,所述预设条件包括下述至少一项:预设周期内的数据节点采集数据的频率大于第一阈值、预设周期内的运行节点被调度次数小于第二阈值、预设周期内的运行节点数据处理开始的时间超过第三阈值、预设周期内数据节点采集到的数据的重复次数大于第四阈值、处理结果存在异常数据;
若是,则在所述运行节点与所述运行节点前的数据节点之间增加一个控制节点。
可选的,所述执行方式包括:正常执行、跳过控制节点后的至少一个运行节点执行、位于控制节点的控制范围内的运行节点均不执行;所述确定模块503包括判断单元和确定单元;
具体的,所述判断单元,用于针对所述增强图调度框架中的每一个控制节点,基于所述控制节点后第一个运行节点的运行状态数据和所述控制节点前一数据层采集的数据判断是否满足对应的触发条件;
所述确定单元,用于:当所述控制节点前一数据层采集的数据满足第一触发条件时,则确定跳过控制节点后的至少一个运行节点执行;所述第一触发条件包括下述至少一项:前一数据层采集的数据中存在异常数据、前一数据层采集到的数据中出现重复数据的重复次数大于第一预设阈值;
当所述控制节点后第一个运行节点的运行状态数据满足第二触发条件时,则确定位于所述控制节点的控制范围内的运行节点均不执行;所述第二触发条件包括下述至少一项:数据节点采集数据的频率大于第二预设阈值、运行节点被调度次数小于第三预设阈值、运行节点数据处理开始的时间超过第四预设阈值、数据节点采集到的数据的重复次数大于第五预设阈值;
当所述控制节点后第一个运行节点的运行状态数据和所述控制节点前一数据层采集的数据均不满足对应的触发条件时,则确定位于所述控制节点的控制范围内的运行节点正常执行。
可选的,在确定跳过控制节点后的至少一个运行节点执行后,所述装置还包括处理模块,所述处理模块,用于:
基于所述运行节点对应的预定义节点列表和所述运行节点对应的等级获取需要跳过运行节点的数量;所述预定义节点列表为提前预设好的用于表述各个运行节点依赖关系以及优先级关系的列表;
基于跳过运行节点的数量获取对应的默认数据,并在确定跳过对应数量的运行节点后,将所述默认数据传递给下一个可运行的运行节点,用于数据处理。
可选的,所述调度模块504,具体用于:
当确定所述执行方式为位于控制节点的控制范围内的运行节点均不执行后,则基于所述预定义节点列表获取位于控制节点的控制范围内的所有的运行节点,并控制所有的运行节点均不对上一数据层存储的数据进行处理,且丢弃获取到的上一数据层存储的数据。
可选的,所述调度模块,用于:
初始化所有的运行节点,并对获取到的所述执行方式需要调用的部分运行节点对应的上一数据层存储的数据进行降噪处理;
调用所述部分运行节点对经过降噪处理的上一数据层存储的数据进行处理。
可选的,所述装置还包括告警模块,所述告警模块,用于:
判断所述控制数据是否存在异常;
若所述控制数据存在异常,则控制车辆退出自动驾驶模式,并向用户终端设备发送告警信息。
本申请实施例提供的基于图调度框架的车辆数据处理装置,可以实现上述实施例所示的实施例的基于图调度框架的车辆数据处理方法,其实现原理和技术效果类似,此处不再赘述。
图6为本申请实施例提供的一种基于图调度框架的车辆数据处理设备的框图。如图6所示,本实施例提供的车辆数据处理设备600包括:至少一个处理器601和存储器602。其中,处理器601、存储器602通过总线603连接。
在具体实现过程中,至少一个处理器601执行所述存储器602存储的计算机执行指令,使得至少一个处理器601执行上述方法实施例中的基于图调度框架的车辆数据处理方法。
处理器601的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序执行指令,计算机执行指令被处理器执行时用于实现如本申请前述任一实施例中的所述的方法。
本申请实施例还提供了一种运行指令的芯片,该芯片用于执行如本申请前述任一实施例中由图6所述设备所执行的前述任一实施例中所述的方法。
本申请实施例还提供了一种计算机程序产品,该程序产品包括计算机程序,该计算机程序被处理器执行时可实现如本申请前述任一实施例中由图6所述设备所执行的前述任一实施例中所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速随机存取存储器(Random Access memory,简称RAM),也可能还包括非不稳定的存储器(Non-volatile Memory,简称NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种基于图调度框架的车辆数据处理方法,其特征在于,所述图调度框架包括交替设置的数据层和运行层,每一数据层包括至少一个数据节点,所述数据节点用于存储数据,每一运行层包括至少一个运行节点,所述运行节点用于对上一数据层存储的数据进行处理,得到的处理结果为下一数据层存储的数据;其中,第一层数据层用于存储车辆的行驶数据,最后一层数据层用于存储控制数据,所述控制数据用于控制所述车辆实现自动驾驶;所述方法包括:
每隔预设周期,获取图调度框架中多个运行节点在所述预设周期内的历史数据;其中,所述历史数据包括所述运行节点的运行状态数据以及处理结果;
根据所述多个运行节点对应的历史数据,在所述图调度框架中增加至少一个控制节点,得到增强图调度框架;其中,所述控制节点设置在数据层和运行层之间;
根据所述增强图调度框架中的至少一个控制节点,确定所述多个运行节点的执行方式,其中,任一运行节点的执行方式由位于所述运行节点之前、且与所述运行节点的距离最近的控制节点确定;
根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理。
2.根据权利要求1所述的方法,其特征在于,所述运行状态数据包括数据节点采集数据的频率、运行节点被调度次数、运行节点数据处理开始的时间、数据节点采集到的数据的重复次数;根据所述多个运行节点对应的历史数据,在所述图调度框架中增加至少一个控制节点,包括:
针对每一运行节点,判断所述历史数据是否满足预设条件,所述预设条件包括下述至少一项:预设周期内的数据节点采集数据的频率大于第一阈值、预设周期内的运行节点被调度次数小于第二阈值、预设周期内的运行节点数据处理开始的时间超过第三阈值、预设周期内数据节点采集到的数据的重复次数大于第四阈值、处理结果存在异常数据;
若是,则在所述运行节点与所述运行节点前的数据节点之间增加一个控制节点。
3.根据权利要求1所述的方法,其特征在于,所述执行方式包括:正常执行、跳过控制节点后的至少一个运行节点执行、位于控制节点的控制范围内的运行节点均不执行;根据所述增强图调度框架中的至少一个控制节点,确定所述多个运行节点的执行方式,包括:
针对所述增强图调度框架中的每一个控制节点,基于所述控制节点后第一个运行节点的运行状态数据和所述控制节点前一数据层采集的数据判断是否满足对应的触发条件;
当所述控制节点前一数据层采集的数据满足第一触发条件时,则确定跳过控制节点后的至少一个运行节点执行;所述第一触发条件包括下述至少一项:前一数据层采集的数据中存在异常数据、前一数据层采集到的数据中出现重复数据的重复次数大于第一预设阈值;
当所述控制节点后第一个运行节点的运行状态数据满足第二触发条件时,则确定位于所述控制节点的控制范围内的运行节点均不执行;所述第二触发条件包括下述至少一项:数据节点采集数据的频率大于第二预设阈值、运行节点被调度次数小于第三预设阈值、运行节点数据处理开始的时间超过第四预设阈值、数据节点采集到的数据的重复次数大于第五预设阈值;
当所述控制节点后第一个运行节点的运行状态数据和所述控制节点前一数据层采集的数据均不满足对应的触发条件时,则确定位于所述控制节点的控制范围内的运行节点正常执行。
4.根据权利要求3所述的方法,其特征在于,在确定跳过控制节点后的至少一个运行节点执行后,所述方法还包括:
基于所述运行节点对应的预定义节点列表和所述运行节点对应的等级获取需要跳过运行节点的数量;所述预定义节点列表为提前预设好的用于表述各个运行节点依赖关系以及优先级关系的列表;
基于跳过运行节点的数量获取对应的默认数据,并在确定跳过对应数量的运行节点后,将所述默认数据传递给下一个可运行的运行节点,用于数据处理。
5.根据权利要求4所述的方法,其特征在于,根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理,包括:
当确定所述执行方式为位于控制节点的控制范围内的运行节点均不执行后,则基于所述预定义节点列表获取位于控制节点的控制范围内的所有的运行节点,并控制所有的运行节点均不对上一数据层存储的数据进行处理,且丢弃获取到的上一数据层存储的数据。
6.根据权利要求1所述的方法,其特征在于,根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理,包括:
初始化所有的运行节点,并对获取到的所述执行方式需要调用的部分运行节点对应的上一数据层存储的数据进行降噪处理;
调用所述部分运行节点对经过降噪处理的上一数据层存储的数据进行处理。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
判断所述控制数据是否存在异常;
若所述控制数据存在异常,则控制车辆退出自动驾驶模式,并向用户终端设备发送告警信息。
8.一种基于图调度框架的车辆数据处理装置,其特征在于,所述图调度框架包括交替设置的数据层和运行层,每一数据层包括至少一个数据节点,所述数据节点用于存储数据,每一运行层包括至少一个运行节点,所述运行节点用于对上一数据层存储的数据进行处理,得到的处理结果为下一数据层存储的数据;其中,第一层数据层用于存储车辆的行驶数据,最后一层数据层用于存储控制数据,所述控制数据用于控制所述车辆实现自动驾驶;所述装置包括:
获取模块,用于每隔预设周期,获取图调度框架中多个运行节点在所述预设周期内的历史数据;其中,所述历史数据包括所述运行节点的运行状态数据以及处理结果;
增加模块,用于根据所述多个运行节点对应的历史数据,在所述图调度框架中增加至少一个控制节点,得到增强图调度框架;其中,所述控制节点设置在数据层和运行层之间;
确定模块,用于根据所述增强图调度框架中的至少一个控制节点,确定所述多个运行节点的执行方式,其中,任一运行节点的执行方式由位于所述运行节点之前、且与所述运行节点的距离最近的控制节点确定;
调度模块,用于根据所述多个运行节点的执行方式,调度所述多个运行节点中的部分运行节点进行数据处理。
9.一种基于图调度框架的车辆数据处理设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的基于图调度框架的车辆数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的基于图调度框架的车辆数据处理方法。
11.一种计算机程序产品,其特征在于,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如权利要求1至7任一项所述的基于图调度框架的车辆数据处理方法。
CN202210622599.7A 2022-06-02 2022-06-02 基于图调度框架的车辆数据处理方法、装置和设备 Active CN114860457B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210622599.7A CN114860457B (zh) 2022-06-02 2022-06-02 基于图调度框架的车辆数据处理方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210622599.7A CN114860457B (zh) 2022-06-02 2022-06-02 基于图调度框架的车辆数据处理方法、装置和设备

Publications (2)

Publication Number Publication Date
CN114860457A true CN114860457A (zh) 2022-08-05
CN114860457B CN114860457B (zh) 2024-03-15

Family

ID=82642169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210622599.7A Active CN114860457B (zh) 2022-06-02 2022-06-02 基于图调度框架的车辆数据处理方法、装置和设备

Country Status (1)

Country Link
CN (1) CN114860457B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700842A (zh) * 2023-08-04 2023-09-05 长扬科技(北京)股份有限公司 数据对象的读写方法、装置、计算设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019205014A1 (zh) * 2018-04-25 2019-10-31 深圳市元征软件开发有限公司 驾驶行为分析方法及驾驶行为分析装置
JP2021022289A (ja) * 2019-07-30 2021-02-18 MONET Technologies株式会社 車両の配車を管理するシステム、方法及びプログラム
CN114043994A (zh) * 2021-11-17 2022-02-15 国汽智控(北京)科技有限公司 车辆故障处理方法、装置、设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019205014A1 (zh) * 2018-04-25 2019-10-31 深圳市元征软件开发有限公司 驾驶行为分析方法及驾驶行为分析装置
JP2021022289A (ja) * 2019-07-30 2021-02-18 MONET Technologies株式会社 車両の配車を管理するシステム、方法及びプログラム
CN114043994A (zh) * 2021-11-17 2022-02-15 国汽智控(北京)科技有限公司 车辆故障处理方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周刚;邬义杰;潘晓弘;: "数控系统软件模块实时调度方法", 机械工程学报, no. 01, 15 January 2009 (2009-01-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700842A (zh) * 2023-08-04 2023-09-05 长扬科技(北京)股份有限公司 数据对象的读写方法、装置、计算设备及存储介质
CN116700842B (zh) * 2023-08-04 2023-10-13 长扬科技(北京)股份有限公司 数据对象的读写方法、装置、计算设备及存储介质

Also Published As

Publication number Publication date
CN114860457B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
US10942797B2 (en) Fault tree analysis for technical systems
CN106170826B (zh) 出租车乘客人数的监控方法及系统
CN111090915B (zh) 自动驾驶仿真方法、装置和存储介质
CN109624985B (zh) 防疲劳驾驶预警方法及装置
CN113704116A (zh) 自动驾驶车辆的数据处理方法、装置、电子设备和介质
CN111199088A (zh) 复现场景数据的方法和装置
CN114860457A (zh) 基于图调度框架的车辆数据处理方法、装置和设备
CN111198705A (zh) 一种防止ecu刷死的内存备份方法、装置、存储介质及电子设备
CN113935143A (zh) 通过自主车辆的增加的严重性等级估计碰撞概率
CN111897304B (zh) 用于机器系统中实时诊断和故障监视的方法、设备和系统
CN113682302B (zh) 一种驾驶状态估计方法、装置、电子设备及存储介质
CN114444570A (zh) 故障检测的方法、装置、电子设备及介质
CN111932717A (zh) 一种车辆紧急事件分析方法、装置、存储介质及系统
CN109816993B (zh) 一种车辆急加速行为的识别方法及相关设备
CN113436464B (zh) 车辆危险预警方法、装置、设备及存储介质
CN115756566A (zh) 车辆避免实线换道的方法及装置
US20220404161A1 (en) System for generating guidance information
US20220139211A1 (en) Server device, information processing method, information processing program and storage medium
CN114692295A (zh) 车辆性能边界的确定方法、装置、终端设备及存储介质
CN115129232A (zh) 一种存储方法及装置
CN113435503A (zh) 数据处理方法及装置、存储介质和服务器
CN110782114A (zh) 驾驶行为挖掘方法、装置、电子设备及存储介质
CN115049912A (zh) 自动驾驶的场景筛选方法、装置、电子设备及存储介质
CN112311616B (zh) 数据通信频率统计方法、装置及存储介质
EP3817325A2 (en) Communication device, abnormality determination device, method, and storage medium

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
GR01 Patent grant
GR01 Patent grant