CN114785771B - 自动驾驶数据的上传方法、装置、计算机设备和存储介质 - Google Patents

自动驾驶数据的上传方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114785771B
CN114785771B CN202210385822.0A CN202210385822A CN114785771B CN 114785771 B CN114785771 B CN 114785771B CN 202210385822 A CN202210385822 A CN 202210385822A CN 114785771 B CN114785771 B CN 114785771B
Authority
CN
China
Prior art keywords
data
block
file
type
automatic driving
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.)
Active
Application number
CN202210385822.0A
Other languages
English (en)
Other versions
CN114785771A (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.)
DeepRoute AI Ltd
Original Assignee
DeepRoute AI 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 DeepRoute AI Ltd filed Critical DeepRoute AI Ltd
Priority to CN202210385822.0A priority Critical patent/CN114785771B/zh
Publication of CN114785771A publication Critical patent/CN114785771A/zh
Application granted granted Critical
Publication of CN114785771B publication Critical patent/CN114785771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

本申请涉及一种自动驾驶数据的上传方法、装置、计算机设备和存储介质。所述方法包括:获取自动驾驶数据和对应的数据类型;基于所述数据类型,将所述自动驾驶数据转化成对应的自动驾驶数据文件;依据所述数据类型的重要程度确定所述自动驾驶数据文件的上传顺序;依据所述上传顺序对所述自动驾驶数据文件进行上传。采用本方法能够提高自动驾驶数据上传的效率。

Description

自动驾驶数据的上传方法、装置、计算机设备和存储介质
技术领域
本申请涉及自动驾驶技术领域,特别是涉及一种自动驾驶数据的上传方法、装置、计算机设备和存储介质。
背景技术
随着科技的发展,出现了自动驾驶技术,自动驾驶过程中,会产生很多数据,这些数据记录了车辆以及周围环境的状态,它们既可以方便车辆出现故障后进行定位,也可以用于仿真测试、数据标定等。随着自动驾驶数据的爆炸式增长,数据上传的带宽难以支持如此量级的数据,传统技术中,如rosbag,车辆按照接收数据的时间顺序将其存储为一个个的包(bag),当需要上传自动驾驶数据时,按照数据的时间顺序将所有数据拼接在一起进行上传,故而当车上数据带宽不足时,容易存在数据上传低效的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据上传效率的自动驾驶数据的上传方法、装置、计算机设备和计算机可读存储介质。
第一方面,本申请提供了一种自动驾驶数据的上传方法。所述方法包括:
获取自动驾驶数据和对应的数据类型;
基于所述数据类型,将所述自动驾驶数据转化成对应的自动驾驶数据文件;
依据所述数据类型的重要程度确定所述自动驾驶数据文件的上传顺序;
依据所述上传顺序对所述自动驾驶数据文件进行上传。
在其中一个实施例中,所述基于所述数据类型,将所述自动驾驶数据转化成对应的自动驾驶数据文件包括:
基于所述数据类型确定所述自动驾驶数据对应的数据类型数量;
将所述自动驾驶数据划分成至少一个数据块,且每个所述数据块对应一种所述数据类型;
将所述数据块转换成不小于所述数据类型数量的自动驾驶数据文件。
在其中一个实施例中,所述将各所述数据块分别转换成不小于所述数据类型数量的自动驾驶数据文件包括:
依据各所述数据块生成对应的元数据块;
依据各所述数据块和对应的数据类型生成各元类型块;
依据各所述数据块、各所述元数据块和各所述元类型块生成头数据块;
依据各所述数据块、各所述元数据块、各所述元类型块和所述头数据块,以及对应的预设位置生成索引块;
将各所述数据块、各所述元数据块、各所述元类型块、所述头数据块和各所述索引块拼接成不小于所述数据类型数量的自动驾驶数据文件。
在其中一个实施例中,所述依据各所述数据块和对应的数据类型生成各元类型块包括:
确定各所述数据块对应的类型名称和消息;
确定所述消息的消息数量以及所述消息对应的数据结构信息;
依据各所述类型名称、所述消息数量、所述数据结构信息和所述数据类型生成各元类型块。
在其中一个实施例中,所述依据所述数据类型的重要程度确定所述自动驾驶数据文件的上传顺序包括:
获取所述数据类型的重要程度;
依据所述重要程度确定所述自动驾驶数据文件对应的文件重要程度;
依据所述文件重要程度和带宽确定所述自动驾驶数据文件的上传顺序。
在其中一个实施例中,所述依据所述文件重要程度和带宽确定所述自动驾驶数据文件的上传顺序包括:
依据所述自动驾驶数据文件的大小和带宽对所述自动驾驶数据文件进行组合,得到文件组合结果;
依据所述文件重要程度确定所述文件组合结果对应的文件组合重要程度;
根据所述文件组合重要程度确定所述文件组合结果的上传顺序。
第二方面,本申请还提供了一种自动驾驶数据的上传装置。所述装置包括:
获取模块,用于获取自动驾驶数据和对应的数据类型;
转换模块,用于基于所述数据类型,将所述自动驾驶数据转化成对应的自动驾驶数据文件;
确定模块,用于依据所述数据类型的重要程度确定所述自动驾驶数据文件的上传顺序;
上传模块,用于依据所述上传顺序对所述自动驾驶数据文件进行上传。
在其中一个实施例中,所述转换模块还用于基于所述数据类型确定所述自动驾驶数据对应的数据类型数量;将所述自动驾驶数据划分成至少一个数据块,且每个所述数据块对应一种所述数据类型;分别将各所述数据块转换成不小于所述数据类型数量的自动驾驶数据文件。
在其中一个实施例中,所述转换模块还用于依据各所述数据块生成对应的元数据块;依据各所述数据块和对应的数据类型生成各元类型块;依据各所述数据块、各所述元数据块和各所述元类型块生成头数据块;依据各所述数据块、各所述元数据块、各所述元类型块和所述头数据块,以及对应的预设位置生成索引块;将各所述数据块、各所述元数据块、各所述元类型块、所述头数据块和各所述索引块拼接成不小于所述数据类型数量的自动驾驶数据文件。
在其中一个实施例中,所述转换模块还用于确定各所述数据块对应的类型名称和消息;确定所述消息的消息数量以及所述消息对应的数据结构信息;依据各所述类型名称、所述消息数量、所述数据结构信息和所述数据类型生成各元类型块。
在其中一个实施例中,所述确定模块还用于获取所述数据类型的重要程度;依据所述重要程度确定所述自动驾驶数据文件对应的文件重要程度;依据所述文件重要程度和带宽确定所述自动驾驶数据文件的上传顺序。
在其中一个实施例中,所述上传模块还用于依据所述自动驾驶数据文件的大小和带宽对所述自动驾驶数据文件进行组合,得到文件组合结果;依据所述文件重要程度确定所述文件组合结果对应的文件组合重要程度;根据所述文件组合重要程度确定所述文件组合结果的上传顺序。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
上述自动驾驶数据的上传方法、装置、计算机设备和存储介质,通过获取自动驾驶数据和对应的数据类型;基于数据类型,将自动驾驶数据转化成对应的自动驾驶数据文件;依据数据类型的重要程度确定自动驾驶数据文件的上传顺序;依据上传顺序对自动驾驶数据文件进行上传。实现了依据自动驾驶数据按重要程度进行上传,提高了当车上数据带宽不足时,数据上传的效率。
附图说明
图1为一个实施例中自动驾驶数据的上传方法的应用环境图;
图2为一个实施例中自动驾驶数据的上传方法的流程示意图;
图3为一个实施例中生成自动驾驶数据文件步骤的流程示意图;
图4为一种自动驾驶数据文件的块结构图;
图5为一个实施例中头数据块中的数据示意图;
图6为一个实施例中索引块中的数据示意图;
图7为一个实施例中元类型块中的数据示意图;
图8为一个实施例中元数据块中的数据示意图;
图9为一个实施例中数据块中的消息示意图;
图10为一个实施例中自动驾驶数据的上传装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的自动驾驶数据的上传方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
终端102获取自动驾驶数据和对应的数据类型;终端102基于数据类型,将自动驾驶数据转化成对应的自动驾驶数据文件;终端102依据数据类型的重要程度确定自动驾驶数据文件的上传顺序;终端102依据上传顺序对自动驾驶数据文件进行上传。服务器104可以接收终端102上传的自动驾驶数据文件。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备和自动驾驶车辆等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。需指出的是,终端102上可配备了自动驾驶计算平台,该自动驾驶计算平台可以用于处理自动驾驶数据,自动驾驶数据一般由终端102,比如,自动驾驶车辆,配置的传感器来采集,例如,传感器可以是摄像机和雷达等等。
在一个实施例中,如图2所示,提供了一种自动驾驶数据的上传方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
S202,获取自动驾驶数据和对应的数据类型。
其中,自动驾驶数据可以是指包括该自动驾驶车辆相关数据,以及该车辆以外的环境数据,例如,自动驾驶数据可以是自动驾驶的车辆中的位置、姿态、汽车状态数据或采集自动驾驶数据的采集时间等,也可以是该车辆外的人、车辆、车道线、交通标志等的环境数据等。数据类型可以是点云、文本、图片、语音和视频中的至少一种,例如文本包括模块状态、车辆状态的字符串数据等,其中,模块状态可以自动驾驶的车辆中可执行模块运行所需的数据结构。终端处理数据可借助chaos_recorder工具,需指出的是chaos_recorder工具可安装于终端上的自动驾驶计算平台中。其中,该自动驾驶计算平台可用于辅助终端自动驾驶,以及接收、处理和上传自动驾驶相关的数据。
例如,当采用chaos_recorder工具来获取终端上的数据时,可chaos_recorderrecord-a的命令来获取各数据类型对应的自动驾驶数据,/sensors/lidar/combined_point_cloud是表示的数据类型为点云;/common/car_state是表示的数据类型为车辆状态的字符串数据;/sensors/camera/camera_1_raw_data和/sensors/camera/camera_2_raw_data都是表示的数据类型为图片。
具体地,终端可以获取用户上传的自动驾驶数据和对应的数据类型。终端还可以是接收自动驾驶数据的上传指令,将终端中存储的数据作为自动驾驶数据和对应的数据类型进行处理,例如,用户可以通过触发操作生成对应的自动驾驶数据的上传指令,当终端接收到该自动驾驶数据的上传指令时,终端可以将终端中存储的与该用户标识对应的数据作为自动驾驶数据和对应的数据类型。
例如,用户A通过在自动驾驶登录页面输入账号和密码登录自动驾驶计算平台,该自动驾驶计算平台安装在终端上,该自动驾驶计算平台可以根据用户标识即用户A,获取到该用户A上传的所有数据,同时,用户A还可以在数据获取页面展示的多个候选自动驾驶数据和对应的数据类型中,选取符合自己需求的自动驾驶数据,终端则可以响应于用户A的选取操作,筛选出要处理的自动驾驶数据和对应的数据类型。
在一个实施例中,在S202之后,终端可依据数据类型将自动驾驶数据进行存储,当用户需要上传自动驾驶数据时,终端可依据数据类型将终端内部存储的自动驾驶数据进行上传。
S204,基于数据类型,将自动驾驶数据转化成对应的自动驾驶数据文件。
其中,自动驾驶数据文件可以是包括头数据块、索引块、元类型块、元数据块和数据块,图4为一种自动驾驶数据文件的块结构图;如图所示,头数据块、索引块、元类型块、元数据块和数据块在自动驾驶数据文件中可以按照图4中的结构进行拼接生成对应的自动驾驶数据文件。自动驾驶数据文件中包含的数据类型可以为一种或多种。
具体地,终端基于数据类型确定自动驾驶数据对应的数据类型数量;将自动驾驶数据划分成至少一个数据块,且每个数据块对应一种数据类型;分别将各数据块转换成不小于数据类型数量的自动驾驶数据文件。
其中,数据类型数量可以指数据类型的类型数量。数据块可以指包含一种数据类型的数据集合,且数据块包含至少一条消息。例如,数据块可以是数据类型为点云的数据集合。图9为一个实施例中数据块中的消息示意图;如图9所示,消息包含该消息的序号、消息发送时间和内容。内容可以是一种数据类型对应的自动驾驶数据,例如,消息A的序号为1,消息发送时间为20xx/12/5/12:00,内容为障碍物a的图片。
在一个实施例中,终端基于数据类型确定自动驾驶数据对应的数据类型数量后,依据自动驾驶数据和预设数据块大小确定数据块数量,再将自动驾驶数据划分为数据块数量的数据块,且每个数据块对应一种数据类型;分别将各数据块转换成不小于数据类型数量的自动驾驶数据文件。
例如,自动驾驶数据对应的数据类型为图片和点云,即自动驾驶数据对应的数据类型数量为2种,自动驾驶数据有5120字节,且5120字节中有512*6字节的图片数据和512*4字节的点云数据。预设数据块大小为512字节,可用自动驾驶数据的5120字节除以预设数据块大小512字节得到数据块数量为10块,且其中有6块是数据类型为图片的数据块,4块是数据类型为点云的数据块。并将数据类型为图片的数据块转换为自动驾驶数据文件A,数据类型为点云的数据块转换为自动驾驶数据文件B。
在一个实施例中,当自动驾驶数据对应的数据类型为一种时,终端将自动驾驶数据转换成至少一个自动驾驶数据文件;将自动驾驶数据文件进行上传。
S206,依据数据类型的重要程度确定自动驾驶数据文件的上传顺序。
其中,重要程度可以指预先配置的不同类型的数据对应的重要性,例如,数据A的数据类型为图片,数据B的数据类型为点云,根据预先配置的图片和点云的数据对应的重要性,数据类型为图片的重要性大于数据类型为点云的重要性。上传顺序可以指终端上传自动驾驶数据文件至服务器(云平台)的顺序。
具体地,终端获取数据类型的重要程度;依据重要程度确定自动驾驶数据文件对应的文件重要程度;依据文件重要程度和带宽确定自动驾驶数据文件的上传顺序。
其中,文件重要程度可以指用于衡量自动驾驶数据文件的重要性的指标。当每个自动驾驶数据文件中的数据类型为一种时,则自动驾驶数据文件中的数据类型的重要程度则为该文件对应的文件重要程度。当每个自动驾驶数据文件中的数据类型不止一种时,则依据自动驾驶数据文件中数据块对应的数据类型的重要程度确定自动驾驶数据文件对应的文件重要程度。
在一个实施例中,依据自动驾驶数据文件中数据块对应的数据类型的重要程度确定自动驾驶数据文件对应的文件重要程度包括:终端确定自动驾驶数据文件中各数据块的数据类型以及数据类型对应的数据块数量,再分别依据数据类型的重要程度与对应的数据块数量进行加权求和,得到自动驾驶数据文件对应的文件重要程度。
例如,当每个自动驾驶数据文件中的数据类型为一种时,自动驾驶数据文件A中的数据类型为图片,自动驾驶数据文件B的数据类型为点云,已知,图片的重要程度为1,点云的重要程度为0.8,故自动驾驶数据文件A的文件重要程度为1,自动驾驶数据文件B的文件重要程度为0.8,自动驾驶数据文件A的文件重要程度为大于自动驾驶数据文件B的文件重要程度,则上传顺序为自动驾驶数据文件A先上传,自动驾驶数据文件B后上传。
当每个自动驾驶数据文件中的数据类型不止一种时,自动驾驶数据文件C中的数据类型为图片和语音,图片的重要程度为1,语音的重要程度为0.5,其中自动驾驶数据文件C包含8块数据块,图片的数据块有3块,语音的数据块有5块;自动驾驶数据文件D的数据类型为点云,点云的重要程度为0.8,包含8块数据块。则自动驾驶数据文件C的文件重要程度=1*3+0.5*5=5.5,自动驾驶数据文件C的文件重要程度=1*3+0.5*5=5.5,自动驾驶数据文件D的文件重要程度=8*0.8=6.4,即自动驾驶数据文件C的文件重要程度小于自动驾驶数据文件D的文件重要程度,则上传顺序为自动驾驶数据文件D先上传,自动驾驶数据文件C后上传。
在一个实施例中,依据文件重要程度和带宽确定自动驾驶数据文件的上传顺序包括:依据自动驾驶数据文件的大小和带宽对自动驾驶数据文件进行组合,得到文件组合结果;依据文件重要程度确定文件组合结果对应的文件组合重要程度;根据文件组合重要程度确定文件组合结果的上传顺序。
其中,自动驾驶数据文件的大小可以指自动驾驶数据文件的容量,例如,自动驾驶数据文件的大小可以是19.1MB。文件组合结果可以指自动驾驶数据文件的组合结果,例如,自动驾驶数据文件为文件A、文件B、文件C、文件D,则文件组合结果可以是文件A、文件B+C、文件D。文件组合重要程度可以指衡量文件组合结果中文件的重要性的指标。当文件组合结果中的文件为单个文件时,则该单个文件的文件组合重要程度为该单个文件的文件重要程度,当文件组合结果中的文件为多个自动驾驶数据文件组合而成时,该文件的文件组合重要程度为将该文件对应的多个自动驾驶数据文件的文件重要程度求和,得到求和结果,将该求和结果比上对应的多个自动驾驶数据文件的数量,即得到该文件的文件组合重要程度。
例如,带宽为10M,自动驾驶数据文件为文件A、文件B、文件C、文件D,对应的文件A的大小为11M,文件A的文件重要程度为1,对应的文件B的大小为5M,文件B的文件重要程度为0.8,对应的文件C的大小为4M,文件C的文件重要程度为0.5,对应的文件D的大小为20M,文件D的文件重要程度为0.8,则根据带宽可知文件B和文件C进行组合,得到文件B+C,即文件组合结果为文件A、文件B+C、文件D。则文件组合结果中文件的文件组合重要程度的计算公式分别可以为:
文件组合结果中文件A的文件组合重要程度为文件A的文件重要程度1;
文件组合结果中文件B+C的文件组合重要程度计算公式可为:
将文件B的文件重要程度为0.8、文件C的文件重要程度为0.5带入计算公式可得文件B+C的文件组合重要程度为(0.8+0.5)/2=0.65。
文件组合结果中文件D的文件组合重要程度为文件D的文件重要程度0.8。
因1>0.8>0.65,即文件组合结果为文件A的文件组合重要程度>文件D的文件组合重要程度>文件B+C的文件组合重要程度,故上传顺序可为先上传文件A,再上传文件D,最后上传文件B+C。
S208,依据上传顺序对自动驾驶数据文件进行上传。
具体地,终端可响应于用户在自动驾驶数据上传页面对上传控件的触发操作,将上传顺序显示在该自动驾驶数据上传页面,依据上传顺序依次对自动驾驶数据文件进行上传,并同步显示正在上传的自动驾驶数据文件和上传进度。
上述自动驾驶数据的上传方法中,通过获取自动驾驶数据和对应的数据类型;基于数据类型,将自动驾驶数据转化成对应的自动驾驶数据文件;依据数据类型的重要程度确定自动驾驶数据文件的上传顺序;依据上传顺序对自动驾驶数据文件进行上传,实现了依据自动驾驶数据按重要程度进行上传,提高了当车上数据带宽不足时,数据上传的效率。
在一个实施例中,如图3所示,生成自动驾驶数据文件步骤包括:
S302,依据各数据块生成对应的元数据块。
其中,元数据块可以指用于描述对应的数据块的块,在自动驾驶数据文件中,元数据块可以与对应描述的数据块相邻,且位于该数据块的前面。图8为一个实施例中元数据块中的数据示意图;如图所示,元数据块包括类型名称、消息数量、消息类型、数据块大小、消息最早发送时间、消息最晚发送时间、消息的最小序号和消息的最大序号。
其中,每个数据类型可以包含一至多种类型名称,例如,数据类型为图片时,类型名称可以是“/sensors/camera/camera_1_raw_data”、“/sensors/camera/camera_2_raw_data”。元数据块中的类型名称可以指对应的数据块中的类型名称。元数据块中的消息数量可以指对应的数据块中的消息的数量。元数据块中的消息类型可以指对应的数据块中的数据类型。元数据块中的数据块大小可以指对应的数据块的大小,例如,数据块大小可以为1024字节。元数据块中的消息最早发送时间、消息最晚发送时间、消息的最小序号和消息的最大序号可以指对应的数据块中的消息最早发送时间、消息最晚发送时间、消息的最小序号和消息的最大序号。
具体地,终端可以确定数据块的数据块大小,依据该数据块中消息的内容确定对应的类型名称,依据该数据块中包含的消息确定消息数量、消息类型、消息最早发送时间、消息最晚发送时间、消息的最小序号和消息的最大序号。需注意的是一个数据块是包含一种数据类型,故对应的消息类型也是一种。再依据类型名称、消息数量、消息类型、数据块大小、消息最早发送时间、消息最晚发送时间、消息的最小序号和消息的最大序号生成对应的元数据块。
S304,依据各数据块和对应的数据类型生成各元类型块。
其中,元类型块可以指用于描述数据块对应的数据类型的块,在自动驾驶数据文件中,元类型块可以与对应描述的元数据块相邻,且位于该元数据块的前面。图7为一个实施例中元类型块中的数据示意图;如图所示,元类型块包括类型名称、消息数量、消息类型和消息的数据结构描述。
具体地,终端确定各数据块对应的类型名称和消息;确定消息的消息数量以及消息对应的数据结构信息;依据各类型名称、消息数量、数据结构信息和数据类型生成各元类型块。
其中,元类型块中的类型名称可以指对应的数据块中的类型名称。元类型块中的消息数量可以指对应的数据块中的消息的数量。元类型块中的数据结构信息可以指对应的数据块中的数据结构信息,例如,数据结构信息可以是线性、树结构等。元数据块中的消息类型可以指对应的数据块中的数据类型。
S306,依据各数据块、各元数据块和各元类型块生成头数据块。
其中,头数据块可以是位于自动驾驶数据文件的头部的块,且可以是在自动驾驶数据文件包含一块头数据块。图5为一个实施例中头数据块中的数据示意图;如图所示,头数据块包含索引偏移值、类型数量、消息数量、头数据块的大小、数据块数量、数据块大小、消息最早发送时间与消息最晚发送时间。
索引偏移值可以用于记录在自动驾驶数据文件中存储索引块的位置,例如,索引偏移值为5120字节对应索引块A的位置是在从头数据块起始的第5120字节的位置。
头数据块中的类型数量可以指自动驾驶数据文件中包含的数据类型数量。头数据块中的消息数量可以指自动驾驶数据文件中包含的消息数量。头数据块的大小可以指头数据块总的容量。例如头数据块的大小可为2048字节。数据块数量可以指自动驾驶数据文件中包含的数据块数量。
消息最早发送时间可以指自动驾驶数据文件中所有的数据块中所有消息中最早的消息对应的发送时间。消息最晚发送时间指自动驾驶数据文件中所有的数据块中所有消息中最晚的消息对应的发送时间。
在一个实施例中,终端在S306之前,获取特殊字符置于自动驾驶数据文件的头部位置,在依据各数据块、各元数据块和各元类型块生成头数据块后,将该特殊字符替换为头数据块。
S308,依据各数据块、各元数据块、各元类型块和头数据块,以及对应的预设位置生成索引块。
其中,索引块可以用于对自动驾驶数据文件中的头数据块、元类型块、元数据块和数据块起到定位的作用,并且可用于全局索引。图6为一个实施例中索引块中的数据示意图;如图所示,索引块包括块类型和块的偏移值。块类型可以指该索引块可以索引的块,块类型包括数据块、元数据块、元类型块和头数据块。块的偏移值可以指该索引块索引的块的位置,可用于快速查询不同的块类型。当索引块是对应索引元数据块时,该索引块还会存储元数据块中的元数据,以便高效的索引该元数据块对应的数据块。
例如,想要找到/sensors/camera(类型名称)的数据,就可以先读取索引块,首先看块类型是不是元数据块,若是,读取元数据块的内容,找到元数据块里的类型名称,若是/sensors/camera,根据索引块中的块的偏移值找到元数据块的位置,元数据块后面跟着的数据块就是类型名称为/sensors/camera的数据块。
S310,将各数据块、各元数据块、各元类型块、头数据块和各索引块拼接成不小于数据类型数量的自动驾驶数据文件。
具体地,终端可以依据图4为一种自动驾驶数据文件的块结构图;对头数据块、各索引块、各元类型块、各元数据块和各数据块依次进行拼接得到不小于自动驾驶数据对应的数据类型数量的自动驾驶数据文件。
本实施例中,通过生成数据块、各元数据块、各元类型块、头数据块和各索引块,并将各数据块、各元数据块、各元类型块、头数据块和各索引块拼接成不小于数据类型数量的自动驾驶数据文件。能够为后续依据不同的数据类型的重要程度来确定自动驾驶数据文件的上传顺序,按该上传顺序依次上传自动驾驶数据文件做铺垫,以便提高当车上数据带宽不足时,数据上传的效率。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的自动驾驶数据的上传方法的自动驾驶数据的上传装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个自动驾驶数据的上传装置实施例中的具体限定可以参见上文中对于自动驾驶数据的上传方法的限定,在此不再赘述。
在一个实施例中,如图10所示,提供了一种自动驾驶数据的上传装置,包括:获取模块1002、转换模块1004、确定模块1006和上传模块1008,其中:
获取模块1002,用于获取自动驾驶数据和对应的数据类型;
转换模块1004,用于基于数据类型,将自动驾驶数据转化成对应的自动驾驶数据文件;
确定模块1006,用于依据数据类型的重要程度确定自动驾驶数据文件的上传顺序;
上传模块1008,用于依据上传顺序对自动驾驶数据文件进行上传。
在一个实施例中,转换模块1004还用于基于数据类型确定自动驾驶数据对应的数据类型数量;将自动驾驶数据划分成至少一个数据块,且每个数据块对应一种数据类型;分别将各数据块转换成不小于数据类型数量的自动驾驶数据文件。
在一个实施例中,转换模块1004还用于依据各数据块生成对应的元数据块;依据各数据块和对应的数据类型生成各元类型块;依据各数据块、各元数据块和各元类型块生成头数据块;依据各数据块、各元数据块、各元类型块和头数据块,以及对应的预设位置生成索引块;将各数据块、各元数据块、各元类型块、头数据块和各索引块拼接成不小于数据类型数量的自动驾驶数据文件。
在一个实施例中,转换模块1004还用于确定各数据块对应的类型名称和消息;确定消息的消息数量以及消息对应的数据结构信息;依据各类型名称、消息数量、数据结构信息和数据类型生成各元类型块。
在一个实施例中,确定模块1006还用于获取数据类型的重要程度;依据重要程度确定自动驾驶数据文件对应的文件重要程度;依据文件重要程度和带宽确定自动驾驶数据文件的上传顺序。
在一个实施例中,上传模块1008还用于依据自动驾驶数据文件的大小和带宽对自动驾驶数据文件进行组合,得到文件组合结果;依据文件重要程度确定文件组合结果对应的文件组合重要程度;根据文件组合重要程度确定文件组合结果的上传顺序。
上述实施例中,通过获取自动驾驶数据和对应的数据类型;依据获取自动驾驶数据和对应的数据类型;基于数据类型,将自动驾驶数据转化成对应的自动驾驶数据文件;依据数据类型的重要程度确定自动驾驶数据文件的上传顺序;依据上传顺序对自动驾驶数据文件进行上传,实现了依据自动驾驶数据按重要程度进行上传,提高了当车上数据带宽不足时,数据上传的效率。
上述自动驾驶数据的上传装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种自动驾驶数据的上传方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各实施例。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各实施例。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种自动驾驶数据的上传方法,其特征在于,所述方法包括:
获取自动驾驶数据和对应的数据类型;
基于所述数据类型确定所述自动驾驶数据对应的数据类型数量;将所述自动驾驶数据划分成至少一个数据块,且每个所述数据块对应一种所述数据类型依据各所述数据块生成对应的元数据块;
依据各所述数据块和对应的数据类型生成各元类型块;依据各所述数据块、各所述元数据块和各所述元类型块生成头数据块;依据各所述数据块、各所述元数据块、各所述元类型块和所述头数据块,以及对应的预设位置生成索引块;将各所述数据块、各所述元数据块、各所述元类型块、所述头数据块和各所述索引块拼接成不小于所述数据类型数量的自动驾驶数据文件;所述元类型块用于描述数据块对应的数据类型;所述索引块用于对所述头数据块、所述元类型块、所述元数据块和所述数据块进行定位;
依据所述数据类型的重要程度确定所述自动驾驶数据文件的上传顺序;
依据所述上传顺序对所述自动驾驶数据文件进行上传。
2.根据权利要求1所述的方法,其特征在于,所述依据各所述数据块和对应的数据类型生成各元类型块包括:
确定各所述数据块对应的类型名称和消息;
确定所述消息的消息数量以及所述消息对应的数据结构信息;
依据各所述类型名称、所述消息数量、所述数据结构信息和所述数据类型生成各元类型块。
3.根据权利要求1所述的方法,其特征在于,所述依据所述数据类型的重要程度确定所述自动驾驶数据文件的上传顺序包括:
获取所述数据类型的重要程度;
依据所述重要程度确定所述自动驾驶数据文件对应的文件重要程度;
依据所述文件重要程度和带宽确定所述自动驾驶数据文件的上传顺序。
4.根据权利要求3所述的方法,其特征在于,所述依据所述文件重要程度和带宽确定所述自动驾驶数据文件的上传顺序包括:
依据所述自动驾驶数据文件的大小和带宽对所述自动驾驶数据文件进行组合,得到文件组合结果;
依据所述文件重要程度确定所述文件组合结果对应的文件组合重要程度;
根据所述文件组合重要程度确定所述文件组合结果的上传顺序。
5.根据权利要求1所述的方法,其特征在于,所述根据权利要求1所述的方法,其特征在于,所述元数据块与对应描述的数据块相邻,且位于所述数据块的前面。
6.根据权利要求1所述的方法,其特征在于,所述元数据块包括类型名称、消息数量、消息类型、数据块大小、消息最早发送时间、消息最晚发送时间、消息的最小序号和消息的最大序号。
7.根据权利要求1所述的方法,其特征在于,当所述索引块是对应索引所述元数据块时,所述索引块还会存储所述元数据块中的元数据。
8.一种自动驾驶数据的上传装置,其特征在于,所述装置包括:
获取模块,用于获取自动驾驶数据和对应的数据类型;
转换模块,用于基于所述数据类型确定所述自动驾驶数据对应的数据类型数量;将所述自动驾驶数据划分成至少一个数据块,且每个所述数据块对应一种所述数据类型依据各所述数据块生成对应的元数据块;依据各所述数据块和对应的数据类型生成各元类型块;依据各所述数据块、各所述元数据块和各所述元类型块生成头数据块;依据各所述数据块、各所述元数据块、各所述元类型块和所述头数据块,以及对应的预设位置生成索引块;将各所述数据块、各所述元数据块、各所述元类型块、所述头数据块和各所述索引块拼接成不小于所述数据类型数量的自动驾驶数据文件;所述元类型块用于描述数据块对应的数据类型;所述索引块用于对所述头数据块、所述元类型块、所述元数据块和所述数据块进行定位;
确定模块,用于依据所述数据类型的重要程度确定所述自动驾驶数据文件的上传顺序;
上传模块,用于依据所述上传顺序对所述自动驾驶数据文件进行上传。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202210385822.0A 2022-04-13 2022-04-13 自动驾驶数据的上传方法、装置、计算机设备和存储介质 Active CN114785771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210385822.0A CN114785771B (zh) 2022-04-13 2022-04-13 自动驾驶数据的上传方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210385822.0A CN114785771B (zh) 2022-04-13 2022-04-13 自动驾驶数据的上传方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN114785771A CN114785771A (zh) 2022-07-22
CN114785771B true CN114785771B (zh) 2024-04-16

Family

ID=82428804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210385822.0A Active CN114785771B (zh) 2022-04-13 2022-04-13 自动驾驶数据的上传方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114785771B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302081A (zh) * 2014-06-08 2016-02-03 上海能感物联网有限公司 外语自然语文本远程自动导航并驾驶汽车的控制器装置
CN106302582A (zh) * 2015-05-15 2017-01-04 深圳楼兰辉煌科技有限公司 基于车载设备的文件上传方法、车载设备、服务器及系统
US9582943B1 (en) * 2013-02-05 2017-02-28 True Mileage, Inc. Driving data collection
CN111462351A (zh) * 2020-03-20 2020-07-28 北京智行者科技有限公司 基于自动驾驶平台的车辆行驶数据处理方法、系统以及设备
KR20210042866A (ko) * 2020-06-10 2021-04-20 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 자동운전 테스트 데이터 저장 방법, 장치, 전자 기기, 저장 매체 및 프로그램
CN113556380A (zh) * 2021-06-07 2021-10-26 广东东华发思特软件有限公司 物联网设备的边缘分布式多副本处理方法、装置及介质
CN113781658A (zh) * 2021-08-16 2021-12-10 长沙眸瑞网络科技有限公司 一种流式处理3d模型数据的方法及装置
CN113946555A (zh) * 2021-09-22 2022-01-18 华人运通(上海)云计算科技有限公司 一种车辆日志的上传方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582943B1 (en) * 2013-02-05 2017-02-28 True Mileage, Inc. Driving data collection
CN105302081A (zh) * 2014-06-08 2016-02-03 上海能感物联网有限公司 外语自然语文本远程自动导航并驾驶汽车的控制器装置
CN106302582A (zh) * 2015-05-15 2017-01-04 深圳楼兰辉煌科技有限公司 基于车载设备的文件上传方法、车载设备、服务器及系统
CN111462351A (zh) * 2020-03-20 2020-07-28 北京智行者科技有限公司 基于自动驾驶平台的车辆行驶数据处理方法、系统以及设备
KR20210042866A (ko) * 2020-06-10 2021-04-20 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 자동운전 테스트 데이터 저장 방법, 장치, 전자 기기, 저장 매체 및 프로그램
CN113556380A (zh) * 2021-06-07 2021-10-26 广东东华发思特软件有限公司 物联网设备的边缘分布式多副本处理方法、装置及介质
CN113781658A (zh) * 2021-08-16 2021-12-10 长沙眸瑞网络科技有限公司 一种流式处理3d模型数据的方法及装置
CN113946555A (zh) * 2021-09-22 2022-01-18 华人运通(上海)云计算科技有限公司 一种车辆日志的上传方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
自动驾驶汽车数据记录及上传系统设计;林胜勇;彭能岭;李钰锐;;轻工学报;20200915(第05期);全文 *

Also Published As

Publication number Publication date
CN114785771A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
CN110321958B (zh) 神经网络模型的训练方法、视频相似度确定方法
CN104866501B (zh) 电子旅行相册生成方法和系统
CN111340131B (zh) 图像的标注方法、装置、可读介质和电子设备
US8543586B2 (en) Determining points of interest using intelligent agents and semantic data
WO2018032721A1 (zh) 一种基于缩略图的图像分享方法和终端
CN101339486B (zh) 用于提供画面文件的方法和设备
JPH09114851A (ja) 情報管理装置
US8949238B2 (en) Information processing device, method, and computer program product
CN104520848A (zh) 按照出席者搜索事件
US8862995B1 (en) Automatically creating a movie from geo located content using earth
CN112417199A (zh) 遥感影像的检索方法、装置、系统及存储介质
CN104572830A (zh) 推荐拍摄信息的处理方法及装置
CN114785771B (zh) 自动驾驶数据的上传方法、装置、计算机设备和存储介质
CN115272667B (zh) 农田图像分割模型训练方法、装置、电子设备和介质
CN115858659A (zh) 矢量轨迹的显示方法、装置、计算机设备、存储介质
CN113191257B (zh) 笔顺检测方法、装置和电子设备
CN115002196A (zh) 一种数据处理方法、装置、车端采集设备
CN112487871A (zh) 笔迹数据处理方法、装置及电子设备
JP2003209779A (ja) 情報管理装置
CN110838157A (zh) 一种应急突发场景专题图生成的方法及装置
KR20190130959A (ko) 크로마 서브 샘플링된 이미지들에 대한 빠른 참조 객체 저장 형식에 대한 방법
CN110928977A (zh) 语音信息的分享方法、系统、可读存储介质、服务端
CN115862013B (zh) 基于注意力机制的输配电场景点云语义分割模型训练方法
CN116630629B (zh) 基于域适应的语义分割方法、装置、设备及存储介质
JP2006127525A (ja) 移動情報管理装置および情報管理システム

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