一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自动驾驶数据处理系统、方法、设备及存储介质与流程

2022-11-30 09:10:30 来源:中国专利 TAG:


1.本发明涉及自动驾驶技术领域,尤其涉及一种自动驾驶数据处理系统、方法、设备及存储介质。


背景技术:

2.自动驾驶涉及到的传感器的数量较大,传感器产生的数据更是呈几何级数速度增长。现有技术中,通常采用串行处理的方式对数据包进行处理。但是,这种方式的处理效率较低。因此,有待提出一种解决方案。


技术实现要素:

3.本技术的多个方面提供一种自动驾驶数据处理系统、方法、设备及存储介质,用以提升自动驾驶数据的处理效率。
4.本技术实施例提供一种自动驾驶数据处理系统,包括:位于云服务器上的存储系统以及部署在分布式集群中的多个任务处理工具;其中,所述存储系统,用于存储自动驾驶场景下的采集到的传感器数据;所述分布式服务器,用于通过所述多个任务处理工具从所述存储系统中获取待处理的目标传感器数据以及并行处理所述目标传感器数据。
5.进一步可选地,所述系统还包括:测试终端,所述测试终端部署有所述多个任务处理工具的运行环境;所述测试终端,用于:对所述多个任务处理工具中的任一任务处理工具的任务脚本进行测试,并在所述任务脚本通过测试后,将所述任务脚本提交至所述分布式服务器,以使所述分布式服务器根据所述任务脚本运行所述任务处理工具。
6.进一步可选地,所述分布式服务器中部署有至少一个容器组,所述至少一个容器组包含多个容器;所述多个任务处理工具分别运行在所述多个容器中;其中,一个容器中运行有一个任务处理工具。
7.进一步可选地,所述分布式服务器,具体用于:通过所述多个任务处理工具中的任一任务处理工具,从所述任务处理工具的任务脚本中获取待处理的数据包在所述存储系统中的存储地址;根据所述存储地址访问所述存储系统的对应目录,得到所述待处理的数据包。
8.进一步可选地,所述分布式服务器具体用于:通过所述任务处理工具调用预设的数据处理接口将所述待处理的数据包转化为弹性分布式数据集中的数据项;采用数据处理算子对转化得到的所述数据项进行处理,并对处理得到的数据进行汇总。
9.进一步可选地,所述分布式服务器,具体用于:通过所述任务处理工具执行以下至少一种操作:将所述分布式数据集中的数据项映射为元素,并输出与所述元素的数量对应的文件块分区;将所述分布式数据集中的数据项映射为元素,并输出合并的文件块分区;对所述分布式数据集中的数据项进行过滤;对所述分布式数据集中的数据项进行去重。
10.进一步可选地,所述分布式服务器,还用于:将并行处理所述目标传感器数据得到的处理结果,发送至所述存储系统;所述存储系统还用于:存储所述分布式服务器发送的所
述处理结果,以供数据分析使用。
11.本技术实施例还提供一种自动驾驶数据处理方法,其中,分布式服务器中部署有多个任务处理工具;所述方法包括:通过所述多个任务处理工具,从云服务上的存储系统中获取待处理的目标传感器数据;所述存储系统,用于存储自动驾驶场景下的采集到的传感器数据;通过所述多个任务处理工具,并行处理所述目标传感器数据。
12.本技术实施例还提供一种服务器,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本技术实施例提供的方法中的步骤。
13.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够执行本技术实施例提供的方法中的步骤。
14.本技术实施例中,自动驾驶场景下的采集到的传感器数据可存储在云服务器上的存储系统中,且可通过分布式服务器上部署有多个任务处理工具从存储系统中获取待处理的目标传感器数据,并可并行处理目标传感器数据。在这种实施方式中,基于云服务器的存储系统,可实现大规模的自动驾驶数据的存储。基于分布式服务器上的多个任务处理工具,可实现并行对自动驾驶数据进行处理,极大提升了大规模的自动驾驶数据的处理效率。
附图说明
15.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
16.图1为本技术一示例性实施例提供的一种自动驾驶数据处理系统的结构示意图;
17.图2为本技术一示例性实施例提供的单个任务处理过程的示意图;
18.图3为本技术一示例性实施例提供的一种自动驾驶数据处理方法的流程示意图;
19.图4为本技术一示例性实施例提供的服务器的结构示意图。
具体实施方式
20.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.发明人发现,自动驾驶涉及到的传感器的数量较大,传感器产生的数据更是呈几何级数速度增长。例如,采集车一天内采集到的数据需要的存储空间为5.4t 。大规模数据的处理过程中,每个数据包的解析操作都将耗费大量的时间。若按照传统的串行处理的方式对大规模的数据包进行处理,将耗费较高的时间成本,导致处理效率较低。
22.针对上述技术问题,在本技术一些实施例中,提供了一种解决方案,以下结合附图,详细说明本技术各实施例提供的技术方案。
23.图1为本技术一示例性实施例提供的一种自动驾驶数据处理系统的结构示意图,如图1所示,自动驾驶处理系统100包括:位于云服务器上的存储系统10以及分布式服务器20。
24.其中,该云服务器可以是第三方的云服务器,存储系统可以为云服务器提供的对
象存储系统。其中,分布式服务器20指的是分布式集群中的服务器节点,分布式集群可包含多个服务器节点,多个服务器节点可并行执行任务。在本实施例中,分布式服务器20中部署有多个任务处理工具。
25.其中,存储系统10,用于存储自动驾驶场景下的采集到的传感器数据。如图1所示,车辆端采集到的在线的自动驾驶数据和离线的自动驾驶数据可上传至云端的存储系统10。
26.其中,上传至存储系统10的自动驾驶数据可包括但不限于:adas(advanced driving assistance system,高级辅助驾驶系统)数据、lidar(雷达)原始网络协议数据、can(controller area network,控制器域网)数据、毫米波雷达障碍物数据、gps(global positioning system,全球定位系统)数据、gnss(global navigation satellite system,全球导航卫星系统)数据、imu(inertial measurement unit,惯性测量单元)数据、覆盖车身360度的多路相机的原始图像数据、感知结果的序列化数据等多种类型的数据。
27.车辆采集到上述自动驾驶数据后,可对自动驾驶数据进行初步筛选,并将筛选后的数据上传至云端的存储系统10。例如,可选择部分主题的数据上传至存储系统10,或者可选择部分传感器采集到的数据上传至存储系统10,或者可选择部分时段采集到的数据上传至存储系统10,本实施例不做限制。
28.其中,多个任务处理工具部署在分布式集群的服务器中。每个任务处理工具可由开发人员根据数据处理任务进行开发,并测试成功后发布在分布式集群的服务器中。其中,每个任务处理工具内部封装有对应的任务处理逻辑。多个任务处理工具可从存储系统10中获取待处理的目标传感器数据,并可并行处理目标传感器数据。其中,每个任务处理工具可按照预设的任务处理逻辑执行传感器数据的处理任务。
29.在本实施例中,分布式集群可基于kubernetes(一种容器编排引擎)实现。kubernetes是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务。在本实施例中,可在kubernetes集群中的服务器上创建容器,并将任务处理工具部署在容器中。容器的扩展性较强,可根据自动驾驶数据的处理要求进行横向扩展,并容纳更多的任务处理工具,从而满足多任务处理工具并行处理自动驾驶数据的需求,加大提升了自动驾驶数据的处理效率。同时,基于容器的隔离特性,可使得自动驾驶数据的处理过程更加安全。
30.在本实施例中,自动驾驶场景下的采集到的传感器数据可存储在云服务器上的存储系统中,且可通过分布式服务器上部署有多个任务处理工具从存储系统中获取待处理的目标传感器数据,并按照预设的任务处理逻辑,并行处理目标传感器数据。在这种实施方式中,基于云服务器的存储系统,可实现大规模的自动驾驶数据的存储。基于分布式服务器上的多个任务处理工具,可实现并行对自动驾驶数据进行处理,极大提升了大规模的自动驾驶数据的处理效率。
31.在一些可选的实施例中,如图1所示,自动驾驶数据处理系统100还可包括:测试终端30。其中,测试终端30可位于开发人员一侧,开发人员可基于测试终端30进行任务脚本的开发和测试。
32.其中,测试终端30上部署有多个任务处理工具的任务脚本的运行环境。测试终端30,具体用于:对多个任务处理工具中的任一任务处理工具的任务脚本进行测试,并在该任务处理工具的任务脚本通过测试后,将该任务处理工具的任务脚本上传至分布式集群。
33.其中,测试终端30上可创建与分布式集群中的容器具有相同环境的本地容器,从
而使得测试终端30具备多个任务处理工具的运行环境。开发人员在完成每一任务处理工具的任务脚本开发任务后,为测试任务脚本的逻辑通路,可在本地容器环境中对任务处理工具的任务脚本进行测试。若该任务处理工具的任务脚本通过测试,则将该任务处理工具的任务脚本提交到分布式集群中。
34.可选地,分布式集群的服务器中可部署有至少一个容器组,多个任务处理工具可分别运行在该至少一个容器组包含的多个容器中。其中,一个容器中运行有一个任务处理工具。其中,容器组指的是kubernetes中的最小运行单元pod,一个容器组可包括多个容器。
35.可选地,开发人员通过测试终端30提交任务处理工具的任务脚本时,可提交所需创建的任务处理工具的数量。分布式集群中的分式服务器可根据任务处理工具的数量,创建对应数量的容器组。其中,容器组中的每个容器可分别运行任务处理工具对应的任务脚本,从而得到多个可并行运行的任务处理工具。在容器中部署多个任务处理工具后,多个任务处理工具可并行执行目标传感器数据的获取操作以及目标传感器数据的处理操作。其中,多个任务处理工具的类型可以相同也可以不同,具体可根据需求进行设置,本实施例不做限制。
36.基于这种方式,将传感器数据的处理任务分摊给多个任务处理工具并行执行,极大提升了处理效率。
37.可选地,针对多个任务处理工具中的任一任务处理工具而言,该任务处理工具在从所述存储系统中获取待处理的目标传感器数据时,可从其对应的任务脚本中获取待处理的数据包在存储系统10中的存储地址,并根据该存储地址访问存储系统10的对应目录,得到待处理的数据包。
38.可选地,针对任一任务处理工具而言,该任务处理工具在按照预设的任务处理逻辑,处理目标传感器数据时,具体用于:调用预设的数据处理接口将该待处理的数据包转化为弹性分布式数据集(resilient distributed dataset,rdd)中的数据项;采用数据处理算子对转化得到的数据项进行处理,并对处理得到的数据进行汇总。
39.可选地,在本实施例中,多个任务处理工具可基于spark(一种大规模数据处理引擎)提供的并行框架进行任务处理。因此,在本实施例中,将数据包转化为rdd中的数据项时,可调用spark提供的数据处理接口(spark.sparkcontext.parallize),从而利用spark引擎提供的数据包转化方法将数据包转化为rdd数据,如图2所示。
40.可选地,如图2所示,多个任务处理工具中,任一任务处理工具在对数据项进行处理时采用的数据处理算子可包括但不限于:.map算子、.filter算子、.flatmap算子、.distinct算子中的至少一种。
41.基于上述算子,任一任务处理工具可用于执行以下至少一种操作:
42.基于.map算子将所述分布式数据集中的数据项映射为元素,并输出与所述元素的数量对应的文件块分区。
43.基于.flatmap算子将所述分布式数据集中的数据项映射为元素,并输出合并的文件块分区。
44.基于.filter算子对所述分布式数据集中的数据项进行过滤。
45.基于.distinct算子对所述分布式数据集中的数据项进行去重。
46.如图2所示,任务处理工具通过上述算子执行数据处理操作后,可对处理得到的结
果执行汇总、累加(.sum)、收集(.collect)等操作,不再赘述。
47.在一些可选的实施例中,分布式服务器20在通过多个任务处理工具对目标传感器数据进行处理之后,还可进一步将并行处理该目标传感器数据得到的处理结果,发送至存储系统10。例如,以图2示意的处理过程为例,分布式服务器20获取到任务处理工具的汇总、累加、收集的结果数据后,可将结果数据上传至存储系统10进行存储。响应地,存储系统10可存储分布式服务器20发送的该处理结果,以供数据分析使用。例如,在构建地图的应用场景、定位效果评价场景以及对激光雷达的感知效果进行评价的场景中,可从分布式服务器20获取处理后的自动驾驶数据,并进行相应计算,不再赘述。
48.除前述实施例记载的自动驾驶数据处理系统之外,本本技术实施例还提供一种种自动驾驶数据处理方法,以下将进行示例性说明。
49.图3为本技术一示例性实施例提供的自动驾驶数据处理方法的流程示意图,如图3所示,该方法包括:
50.步骤31、通过分布式服务器中部署的多个任务处理工具,从云服务上的存储系统中获取待处理的目标传感器数据;所述存储系统,用于存储自动驾驶场景下的采集到的传感器数据。
51.步骤32、通过所述多个任务处理工具,并行处理所述目标传感器数据。
52.进一步可选地,针对所述多个任务处理工具中的任一任务处理工具,从云服务上的存储系统中获取待处理的目标传感器数据的一种方式,可包括:从任务脚本中获取待处理的数据包在所述存储系统中的存储地址;根据所述存储地址访问所述存储系统的对应目录,得到所述待处理的数据包。
53.进一步可选地,按照预设的任务处理逻辑,并行处理所述目标传感器数据的一种方式,可包括:调用预设的数据处理接口将所述待处理的数据包转化为弹性分布式数据集中的数据项;采用数据处理算子对转化得到的所述数据项进行处理;对处理得到的数据进行汇总。
54.进一步可选地,采用数据处理算子对转化得到的所述数据项进行处理的一种方式,可包括以下至少一种:将所述分布式数据集中的数据项映射为元素,并输出与所述元素的数量对应的文件块分区;将所述分布式数据集中的数据项映射为元素,并输出合并的文件块分区;对所述分布式数据集中的数据项进行过滤;对所述分布式数据集中的数据项进行去重。
55.本实施例中,自动驾驶场景下的采集到的传感器数据可存储在云服务器上的存储系统中,且可通过分布式服务器上部署有多个任务处理工具从存储系统中获取待处理的目标传感器数据,并按照预设的任务处理逻辑,并行处理目标传感器数据。在这种实施方式中,基于云服务器的存储系统,可实现大规模的自动驾驶数据的存储。基于分布式服务器上的多个任务处理工具,可实现并行对自动驾驶数据进行处理,极大提升了大规模的自动驾驶数据的处理效率。
56.需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101的主体可以为设备a,步骤102的执行主体可以为设备b;等等。
57.另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的
多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
58.图4示意了本技术一示例性实施例提供的服务器的结构示意图,该服务器可实现为kubernetes集群中的服务器节点。如图4所示,该服务器包括:存储器401以及处理器402。
59.存储器401,用于存储计算机程序,并可被配置为存储其它各种数据以支持在服务器上的操作。这些数据的示例包括用于在服务器上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
60.其中,存储器401可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
61.处理器402,与存储器401耦合,用于执行存储器401中的计算机程序,以用于:通过分布式集群中部署的多个任务处理工具,从云服务上的存储系统中获取待处理的目标传感器数据;所述存储系统,用于存储自动驾驶场景下的采集到的传感器数据;并通过所述多个任务处理工具,并行处理所述目标传感器数据。
62.进一步可选地,处理器402在从云服务上的存储系统中获取待处理的目标传感器数据时,具体用于:通过所示多个任务处理工具中的任一任务处理工具,从任务脚本中获取待处理的数据包在所述存储系统中的存储地址;根据所述存储地址访问所述存储系统的对应目录,得到所述待处理的数据包。
63.进一步可选地,处理器402在按照预设的任务处理逻辑,并行处理所述目标传感器数据时,具体用于:通过所述任务处理工具调用预设的数据处理接口将所述待处理的数据包转化为弹性分布式数据集中的数据项;采用数据处理算子对转化得到的所述数据项进行处理;对处理得到的数据进行汇总。
64.进一步可选地,处理器402在通过所述任务处理工具采用数据处理算子对转化得到的所述数据项进行处理时,具体用于执行以下至少一种操作:通过所述任务处理工具将所述分布式数据集中的数据项映射为元素,并输出与所述元素的数量对应的文件块分区;将所述分布式数据集中的数据项映射为元素,并输出合并的文件块分区;对所述分布式数据集中的数据项进行过滤;对所述分布式数据集中的数据项进行去重。
65.进一步,如图4所示,该服务器还包括:通信组件403、电源组件404等其它组件。图4中仅示意性给出部分组件,并不意味着服务器只包括图4所示组件。
66.其中,通信组件403被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g或5g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实现。
67.其中,电源组件404,为电源组件所在设备的各种组件提供电力。电源组件可以包
括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
68.本实施例中,自动驾驶场景下的采集到的传感器数据可存储在云服务器上的存储系统中,且可通过分布式服务器上部署有多个任务处理工具从存储系统中获取待处理的目标传感器数据,并按照预设的任务处理逻辑,并行处理目标传感器数据。在这种实施方式中,基于云服务器的存储系统,可实现大规模的自动驾驶数据的存储。基于分布式服务器上的多个任务处理工具,可实现并行对自动驾驶数据进行处理,极大提升了大规模的自动驾驶数据的处理效率。
69.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述实施例中可由服务器执行的各步骤。
70.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
71.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
72.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
73.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
74.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
75.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
76.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、
数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
77.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
78.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献