本技术涉及数据处理,具体涉及一种用于自动驾驶评测的数据处理方法及系统。
背景技术:
1、为了实现自动驾驶车辆的自动驾驶,往往需要经过无数轮的测试修正。具体的,需要对自动驾驶车辆测试过程中采集的雷达数据、监控数据、轨迹数据等相关数据进行评测;以指导相应参数修改后继续进行测试,进而实现自动驾驶车辆的性能优化。
2、所述自动驾驶车辆的评测主要通过如下步骤进行:首先,在metric阶段(打散处理阶段),将采集的所有相关数据按业务特征进行存储;其次,在aggregator阶段(聚合阶段),以前述metric阶段按特性存储处理的数据为输入量再聚合存储;最后,在对聚合后的处理进行分析。而无论是在metric阶段按要求进行数据存储,还是在aggregator阶段进行数据聚合均需要基于数据库进行;因此目前多采用mongodb数据库(用于处理大规模数据的开源文档型数据库)以实现大量测评相关数据的扩展性及高性能存储。
3、但基于mongodb数据库进行自动驾驶车辆评测数据存储时,受mongodb数据库内单个文档的大小限制,常导致在测评数据量较大时,aggregator阶段单条输入量超过单个文档限制无法进行有效存储;且由于mongodb数据库进行无返回码存储,因此即使存储失败,技术人员也无法有效获取。进而导致自动驾驶车辆评测无法有效进行。
技术实现思路
1、本技术目的在于提供一种用于自动驾驶评测的数据处理方法及系统,以避免现有技术中无法基于mongodb数据库进行数据有效存储的技术问题。
2、为达成上述目的,本技术提出如下技术方案:
3、第一方面,本技术方案提供了一种用于自动驾驶评测的数据处理方法,包括:
4、从自动驾驶车辆测试过程中采集的原始数据内获取需求数据;
5、判断所述需求数据的字段长度超过mongodb数据库内单个文档的默认长度时,对所述需求数据进行切分以获取若干子需求数据以使任一所述子需求数据的字段长度不超过所述单个文档的默认长度;
6、为每一所述子需求数据分配标识符,并将所有所述子需求数据及其相应的标识符以文档形式存储于mongodb数据库内预设的目标集合内;其中,所述标识符用于识别相应所述子需求数据在所述需求数据中的对应位置;
7、待需要进行自动驾驶评测时,自所述目标集合内获取子需求数据,并按照所述标识符对所有所述子需求数据进行拼接以重新得到所述需求数据。
8、进一步的,所述将所有所述子需求数据及其相应的标识符以文档形式存储于mongodb数据库内预设的目标集合内,包括:
9、插入一所述子需求数据及其相应的标识符至所述目标集合内,并确认与所述子需求数据相应的安全验证为真时,执行下一所述子需求数据及其相应的标识符的插入直至所有所述子需求数据及其相应的标识符均插入所述目标集合内。
10、进一步的,所述插入一所述子需求数据及其相应的标识符至所述目标集合内,包括:
11、判断所述目标集合内存在与所述子需求数据的标识符相同的文档时,返回标识符重复记录;
12、判断所述目标集合内所述与所述子需求数据的标识符相同的文档为弃用文档时,对所述弃用文档进行删除后继续执行所述子需求数据插入;反之,则为所述子需求数据重新分配标识符后继续执行插入。
13、进一步的,所述自所述目标集合内获取子需求数据,并按照所述标识符对所有所述子需求数据进行拼接以重新得到所述需求数据,包括:
14、基于所述标识符对各所述子需求数据进行排序;
15、以所述标识符为查询条件自所述目标集合内获取各所述子需求数据;
16、调用map函数对所述子需求数据进行处理以生成键值对序列;
17、调用reduce函数对所述键值对序列进行统计处理以重新得到所述需求数据。
18、进一步的,所述按照所述标识符对所有所述子需求数据进行拼接以重新得到所述需求数据之后,包括:
19、以评测项目为依据对所述重新拼接后的需求数据及存储于所述mongodb数据库内的所述需求数据进行聚合以得到评测数据;
20、输出所述评测数据以进行自动驾驶车辆相应所述评测项目的评测分析。
21、第二方面,本技术方案提供了一种用于自动驾驶评测的数据处理系统,包括:
22、第一获取模块,用于从自动驾驶车辆测试过程中采集的原始数据内获取需求数据;
23、分片模块,用于判断所述需求数据的字段长度超过mongodb数据库内单个文档的默认长度时,对所述需求数据进行切分以获取若干子需求数据以使任一所述子需求数据的字段长度不超过所述单个文档的默认长度;
24、存储模块,用于为每一所述子需求数据分配标识符,并将所有所述子需求数据及其相应的标识符以文档形式存储于mongodb数据库内预设的目标集合内;其中,所述标识符用于识别相应所述子需求数据在所述需求数据中的对应位置;
25、拼接模块,用于待需要进行自动驾驶评测时,自所述目标集合内获取子需求数据,并按照所述标识符对所有所述子需求数据进行拼接以重新得到所述需求数据。
26、进一步的,所述存储模块包括:
27、插入单元,用于插入一所述子需求数据及其相应的标识符至所述目标集合内,并确认与所述子需求数据相应的安全验证为真时,执行下一所述子需求数据及其相应的标识符的插入直至所有所述子需求数据及其相应的标识符均插入所述目标集合内。
28、进一步的,所述插入单元包括:
29、第一判断子单元,用于判断所述目标集合内存在与所述子需求数据的标识符相同的文档时,返回标识符重复记录;
30、第二判断子单元,判断所述目标集合内所述与所述子需求数据的标识符相同的文档为弃用文档时,对所述弃用文档进行删除后继续执行所述子需求数据插入;反之,则为所述子需求数据重新分配标识符后继续执行插入。
31、第三方面,本技术方案提供了一种电子设备,包括至少一个处理器,所述处理器与存储器耦合,所述存储器内存储有计算机程序,所述计算机程序被配置为被所述处理器运行时执行所述的方法。
32、第四方面,本技术方案提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于执行所述的方法。
33、由以上技术方案可知,本技术的技术方案提供了一种用于自动驾驶评测的数据处理方法以避免现有技术中难以进行相关数据有效存储的技术缺陷。
34、所述方法包括:首先,从自动驾驶车辆测试过程中采集的原始数据内获取需求数据。其次,考虑到mongodb数据库内单个文档的大小限制,及mongodb数据库的无返回码存储机制;预先对所述需求数据按所述单个文档的大小进行了切分。即:判断所述需求数据的字段长度超过mongodb数据库内单个文档的默认长度时,对所述需求数据进行切分以获取若干子需求数据以使任一所述子需求数据的字段长度不超过所述单个文档的默认长度。然后,即可将所述子需求数据成功存储入所述mongodb数据库,且为了便于后续调取,还为每一所述子需求数据分配标识符用于识别相应所述子需求数据在所述需求数据中的对应位置。此时,当需要基于前述切分后的需求数据进行评测分析时,只需按照标识符对各所述子需求数据进行重新拼接即可。此时,拼接后获取的需求数据即为被切分前的需求数据。
35、由上述可见,本技术方案通过需求数据的存储前拆分及调用前拼接实现了其在mongodb数据库内的有效存储,且不会影响后续的评测调用。
36、应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。
37、结合附图从下面的描述中可以更加全面地理解本技术教导的前述和其他方面、实施例和特征。本技术的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本技术教导的具体实施方式的实践中得知。
1.一种用于自动驾驶评测的数据处理方法,其特征在于,包括:
2.根据权利要求1所述的用于自动驾驶评测的数据处理方法,其特征在于,所述将所有所述子需求数据及其相应的标识符以文档形式存储于mongodb数据库内预设的目标集合内,包括:
3.根据权利要求2所述的用于自动驾驶评测的数据处理方法,其特征在于,所述插入一所述子需求数据及其相应的标识符至所述目标集合内,包括:
4.根据权利要求1所述的用于自动驾驶评测的数据处理方法,其特征在于,所述自所述目标集合内获取子需求数据,并按照所述标识符对所有所述子需求数据进行拼接以重新得到所述需求数据,包括:
5.根据权利要求1所述的用于自动驾驶评测的数据处理方法,其特征在于,所述按照所述标识符对所有所述子需求数据进行拼接以重新得到所述需求数据之后,包括:
6.一种用于自动驾驶评测的数据处理系统,其特征在于,包括:
7.根据权利要求6所述的用于自动驾驶评测的数据处理系统,其特征在于,所述存储模块包括:
8.根据权利要求7所述的用于自动驾驶评测的数据处理系统,其特征在于,所述插入单元包括:
9.一种电子设备,其特征在于,包括至少一个处理器,所述处理器与存储器耦合,所述存储器内存储有计算机程序,所述计算机程序被配置为被所述处理器运行时执行所述权利要求1-5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序用于执行所述权利要求1-5任一项所述的方法。
