CN110737669A - 数据存储方法、装置、设备及存储介质 - Google Patents
数据存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110737669A CN110737669A CN201910994981.9A CN201910994981A CN110737669A CN 110737669 A CN110737669 A CN 110737669A CN 201910994981 A CN201910994981 A CN 201910994981A CN 110737669 A CN110737669 A CN 110737669A
- Authority
- CN
- China
- Prior art keywords
- frame data
- current
- data
- storage
- complete
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2372—Updates performed during offline database operations
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请公开了数据存储方法、装置、设备及存储介质,涉及自动驾驶领域。具体实现方案为:该方法应用于电子设备,车辆上搭载有至少一个数据产生模块,电子设备与数据产生模块进行通信,该方法包括:获取数据产生模块产生的当前帧数据;按照预设帧存储策略判断当前帧数据是否满足完整帧存储条件;若确定当前帧数据不满足完整帧存储条件,则根据当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据;当前差异帧数据的存储占用空间小于当前完整帧数据的存储占用空间;将当前差异帧数据存储到车载存储介质中。
Description
技术领域
本申请涉及到数据处理技术领域,尤其涉及自动驾驶技术。
背景技术
随着人工智能技术的成熟,自动驾驶技术也得到了快速发展。在自动驾驶车辆中包括控制中心。控制中心可以包括:感知模块、定位模块、预测模块、决策模块、规划模块及控制模块等。通过各个模块间的协作控制实现车辆自动驾驶。这些模块在协作时会以每秒10Hz~100Hz的速率产出大量的消息数据。这些消息数据需要全面、完整地保存到车端存储介质上,并离线上传到数据库。以用于之后的仿真、事件回放、问题分析等。
目前车端在进行消息数据的存储时,并未进行压缩处理,而是将全部消息完整原样地持久化保存到车端存储介质中。
由于每个消息数据在完整原样进行保存时,数据体积较大,进而导致车端持久化保存全部消息数据时,数据体积庞大,会与车端的其他计算模块争强CPU及内存资源,影响其他模块的正常计算。
发明内容
本申请实施例提供一种数据存储方法、装置、设备及存储介质,解决了现有技术中由于每个消息数据在完整原样进行保存时,数据体积较大,进而导致车端持久化保存全部消息数据时,数据体积庞大,会与车端的其他计算模块争强CPU及内存资源,影响其他模块的正常计算的技术问题。
本申请实施例第一方面提供一种数据存储方法,所述方法应用于电子设备,车辆上搭载有至少一个数据产生模块,所述电子设备与所述数据产生模块进行通信,所述方法包括:
获取所述数据产生模块产生的当前帧数据;按照预设帧存储策略判断所述当前帧数据是否满足完整帧存储条件;若确定所述当前帧数据不满足完整帧存储条件,则根据所述当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据;所述当前差异帧数据的存储占用空间小于所述当前完整帧数据的存储占用空间;将所述当前差异帧数据存储到车载存储介质中。
本申请实施例中,由于在对当前帧数据进行存储时,并非将每个当前帧数据以完整帧数据形式存储到车载存储介质中,而在不满足完整帧存储条件时,将当前帧数据对应的当前差异帧数据存储到车载存储介质中,当前差异帧数据的存储占用空间小于当前帧数据对应的当前完整帧数据的存储占用空间,所以减小了部分帧数据的存储占用空间,进而在车端持久化保存全部帧数据时,减少了数据体积,避免与车端的其他计算模块争强CPU及内存资源,保证其他模块的正常计算。
进一步地,如上所述的方法,还包括:
若确定所述当前帧数据满足完整帧存储条件,则使用所述当前帧数据更新所述当前完整帧数据;将所述当前完整帧数据存储到车载存储介质中。
本申请实施例中,使用当前帧数据更新当前完整帧数据,该更新的当前完整帧数据为后续帧数据对应的预设的当前完整帧数据,能够根据当前完整帧数据进行后续帧数据对应的差异帧数据的计算。
进一步地,如上所述的方法,所述按照预设帧存储策略判断所述当前帧数据是否满足完整帧存储条件,包括:
获取所述当前帧数据的产生时间和当前完整帧数据存储周期中的完整帧存储时间;若所述当前帧数据的产生时间与所述完整帧存储时间相匹配,则确定满足完整帧存储条件;若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则确定不满足完整帧存储条件。
本申请实施例中,以当前帧数据的产生时间和当前完整帧数据存储周期中的完整帧存储时间为依据判断是否满足完整帧存储条件,能够周期性地对完整帧数据和差异帧数据进行存储,能够有效减小存储占用空间的同时,提高帧数据的容错性和数据的鲁棒性。
进一步地,如上所述的方法,所述若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则确定不满足完整帧存储条件,包括:
若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则判断是否监测到完整帧数据存储触发事件;若未监测到完整帧数据存储触发事件,则确定不满足完整帧数据存储条件。
若监测到完整帧数据存储触发事件,则确定满足完整帧数据存储条件。
本申请实施例中,若当前帧数据的产生时间与所述完整帧存储时间不相匹配,但监测到完整帧数据存储触发事件时,则确定满足完整帧存储条件,能够有效防止发生完整帧数据存储触发事件时,由于完整帧数据存储触发事件的前后帧数据的差异较大,不能对帧数据进行准确存储的问题。
进一步地,如上所述的方法,完整帧数据存储触发事件为驾驶模式切换事件。
本申请实施例中,若当前帧数据的产生时间与所述完整帧存储时间不相匹配,但监测到驾驶模式切换事件,则确定满足完整帧存储条件,能够有效防止发生驾驶模式切换事件时,由于驾驶模式切换事件切换前后帧数据的差异较大,不能对切换后的帧数据进行准确存储的问题。
进一步地,如上所述的方法,所述根据所述当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据,包括:
计算所述当前帧数据与所述当前完整帧数据的补偿值;将所述补偿值进行压缩处理,以获得当前差异帧数据。
本申请实施例中,在计算当前帧数据对应的当前差异帧数据时,通过计算当前帧数据与当前完整帧数据的补偿值,将补偿值进行压缩处理,以获得当前差异帧数据,不仅能够减少当前差异帧的存储占用空间,而且由于当前差异帧只与对应的当前完整帧数据相关,与当前完整帧数据存储周期内其他帧数据无关,所以能够有效防止在每个完整帧数据存储周期内发生丢帧现象,无法对当前差异帧数据进行恢复。
进一步地,如上所述的方法,所述将所述补偿值进行压缩处理,以获得当前差异帧数据,包括:
将所述补偿值对应的双精度浮点数表示形式转换为半精度浮点数表示形式,以获得当前差异帧数据。
本申请实施例中,由于半精度浮点数只占用两个字节,而双精度浮点数占用八个字节,所以将补偿值对应的双精度浮点数表示形式转换为半精度浮点数表示形式,获得当前差异帧数据,使当前差异帧数据的存储占用空间明显减小。
进一步地,如上所述的方法,所述将所述当前差异帧数据存储到车载存储介质中之后,还包括:
将所述车载存储介质中存储的帧数据上传到云端服务器的自动驾驶数据库中,所述帧数据中的完整帧数据和对应的差异帧数据共同用于数据恢复。
本申请实施例中,将车载存储介质中存储的帧数据上传到云端服务器,由于车载存储介质中存储的帧数据的体积明显减小,所以在上传到云端服务器时有效减小了上传时间,提高了上传速度。并且在客户端有根据帧数据仿真、事件回放或问题分析等需求时,能够在客户端对差异帧数据进行恢复。
进一步地,如上所述的方法,所述当前差异帧数据和所述当前完整帧数据包括以下数据的任意一种或多种:
车辆位置数据,车辆速度数据,车辆加速度数据,车辆航向角数据。
本申请实施例第二方面提供一种数据存储装置,所述装置位于电子设备,车辆上搭载有至少一个数据产生模块,所述电子设备与所述数据产生模块进行通信,所述装置包括:
帧数据获取模块,用于获取所述数据产生模块产生的当前帧数据。存储条件判断模块,用于按照预设帧存储策略判断所述当前帧数据是否满足完整帧存储条件。差异帧计算模块,用于若确定所述当前帧数据不满足完整帧存储条件,则根据所述当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据;所述当前差异帧数据的存储占用空间小于所述当前完整帧数据的存储占用空间。差异帧存储模块,用于将所述当前差异帧数据存储到车载存储介质中。
进一步地,如上所述的装置,还包括:完整帧存储模块,用于若确定所述当前帧数据满足完整帧存储条件,则使用所述当前帧数据更新所述当前完整帧数据;将所述当前完整帧数据存储到车载存储介质中。
进一步地,如上所述的装置,存储条件判断模块,具体用于:获取所述当前帧数据的产生时间和当前完整帧数据存储周期中的完整帧存储时间。若所述当前帧数据的产生时间与所述完整帧存储时间相匹配,则确定满足完整帧存储条件。若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则确定不满足完整帧存储条件。
进一步地,如上所述的装置,存储条件判断模块,在所述若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则确定不满足完整帧存储条件时,具体用于:若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则判断是否监测到完整帧数据存储触发事件;若未监测到完整帧数据存储触发事件,则确定不满足完整帧数据存储条件。
进一步地,如上所述的装置,存储条件判断模块,还用于若监测到完整帧数据存储触发事件,则确定满足完整帧数据存储条件。
其中,所述完整帧数据存储触发事件为驾驶模式切换事件。
进一步地,如上所述的装置,差异帧计算模块,具体用于:计算所述当前帧数据与所述当前完整帧数据的补偿值。将所述补偿值进行压缩处理,以获得当前差异帧数据。
进一步地,如上所述的装置,差异帧计算模块,在所述将所述补偿值进行压缩处理,以获得当前差异帧数据时,具体用于:将所述补偿值对应的双精度浮点数表示形式转换为半精度浮点数表示形式,以获得当前差异帧数据。
进一步地,如上所述的装置,还包括:帧数据上传模块,用于将所述车载存储介质中存储的帧数据上传到云端服务器的自动驾驶数据库中,所述帧数据中的完整帧数据和对应的差异帧数据共同用于数据恢复。
进一步地,如上所述的装置,所述当前差异帧数据和所述当前完整帧数据包括以下数据的任意一种或多种:
车辆位置数据,车辆速度数据,车辆加速度数据,车辆航向角数据。
本申请实施例第三方面提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够第一方面中任一项所述的方法。
本申请实施例第四方面提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面任一项所述的方法。
本申请实施例第五方面提供一种计算机程序,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如第一方面所述的方法。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是可以实现本申请实施例的数据存储方法的场景图;
图2是根据本申请第一实施例提供的数据存储方法的流程示意图;
图3是根据本申请第二实施例提供的数据存储方法的流程示意图;
图4是根据本申请第二实施例提供的数据存储方法中步骤202的流程示意图;
图5是根据本申请第二实施例提供的数据存储方法中车载存储介质存储帧数据的示意图;
图6是根据本申请第二实施例提供的数据存储方法中步骤205的流程示意图;
图7是根据本申请第二实施例提供的数据存储方法中半精度浮点数表示形式的示意图;
图8为根据本申请第三实施例提供的数据存储方法的信令流程图;
图9为根据本申请第四实施例提供的数据存储装置的结构示意图;
图10是用来实现本申请实施例的数据存储方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
为了清楚理解本申请的技术方案,首先对本申请实施例提供的数据存储方法的应用场景进行介绍。如图1所示,本申请实施例提供的数据存储方法对应的应用场景中包括:电子设备和车辆。其中车辆中搭载有控制中心和车载存储介质。控制中心包括至少一个数据产生模块,至少一个数据产生模块包括:感知模块、定位模块、预测模块、决策模块、规划模块和控制模块。各个数据产生模块在协作时会以各自对应的频率产生大量的帧数据,以通过协作控制车辆实现自动驾驶。本申请实施例中,电子设备通过与各个数据产生模块可通过消息总线进行通信,获取数据产生模块产生的当前帧数据。按照预设帧存储策略判断当前帧数据是否满足完整帧存储条件,若确定当前帧数据不满足完整帧存储条件,则说明满足差异帧存储条件,则根据当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据,当前差异帧数据的存储占用空间小于当前完整帧数据的存储占用空间,并将当前差异帧数据存储到车载存储介质中。由于在对当前帧数据进行存储时,并非将每个当前帧数据以完整帧数据形式存储到车载存储介质中,而在不满足完整帧存储条件时,将当前帧数据对应的当前差异帧数据存储到车载存储介质中,所以减小了部分帧数据的存储占用空间,进而在车端持久化保存全部帧数据时,减少了数据体积,避免与车端的其他计算模块争强CPU及内存资源,保证其他模块的正常计算。
以下将参照附图来具体描述本申请的实施例。
实施例一
图2是根据本申请第一实施例提供的数据存储方法的流程示意图,如图2所示,本申请实施例的执行主体为数据存储装置,该数据存储装置可以集成在电子设备中。则本实施例提供的数据存储方法包括以下几个步骤。
步骤101,获取数据产生模块产生的当前帧数据。
本实施例中,数据产生模块可以包括感知模块、定位模块、预测模块、决策模块、规划模块、控制模块等模块。各数据产生模块产生数据的频率可以为10Hz-100Hz。可以理解的是,各数据产生模块产生数据的频率可以不同。
在数据产生模块产生当前帧数据时,将当前帧数据发布到消息总线中,通过消息总线电子设备获取到当前帧数据。
由于数据产生模块的不同,当前帧数据所包括的数据类型可以不同。如对于定位模块产生的当前帧数据,包括的数据类型可以为车辆位置数据,车辆速度数据,车辆加速度数据,车辆航向角数据等。对于感知模块,包括的数据类型可以为障碍物位置,障碍物速度数据,障碍物加速度数据等。
其中,获取到的当前帧数据中包括的各数据类型可采用字段进行表示,当前帧数据可采用双精度浮点数进行表示。若采用双精度浮点数进行表示,则该当前帧数据为64位,8字节的数据。
步骤102,按照预设帧存储策略判断当前帧数据是否满足完整帧存储条件。
本实施例中,预设帧存储策略表示对当前帧数据存储方式的策略。在预设帧存储策略中包括了完整帧存储条件和差异帧存储条件。按照预设帧存储策略判断当前帧数据是否满足完整帧存储条件。
具体地,本实施例中,按照预设帧存储策略判断当前帧数据是否满足完整帧存储条件时,可根据当前帧数据的产生时间和当前完整帧数据存储周期中的完整帧存储时间判断是否满足完整帧存储条件。或者采用其他方式判断当前帧数据是否满足完整帧存储条件,本实施例中对此不作限定。
步骤103,若确定当前帧数据不满足完整帧存储条件,则根据当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据。
本实施例中,当前差异帧数据的存储占用空间小于当前完整帧数据的存储占用空间。
其中,与当前帧数据对应的预存的当前完整帧数据可以为在当前完整帧数据存储周期中已存储的完整帧数据。
本实施例中,若确定当前帧数据不满足完整帧存储条件,则说明满足差异帧存储条件,则根据当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据。
其中,当前差异帧数据为计算当前帧数据和对应的预存的当前完整帧数据之间的差值后并经过压缩处理后得到的。
可以理解的是,当前帧数据和对应的预存的当前完整帧数据之间的差值也可称为当前帧数据和对应的预存的当前完整帧数据之间的补偿值。
具体地,本实施例中,对根据当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据进行示例性说明为:获取到的当前帧数据为完整帧数据。是双精度浮点数的数据,对应的预存的当前完整帧数据也为双精度浮点数的数据,在计算当前帧数据和对应的预存的当前完整帧数据之间的差值后,该差值数据也为双精度浮点数的数据。由于各数据产生模块产生数据的频率较高,所以在当前差异帧的产生时间和对应的预存的当前完整帧数据的存储时间之间为一个相对短的时间段,进而当前帧数据与对应的预存的当前完整帧数据之间相差的数据较小,所以可对该差值进行压缩处理,在进行压缩处理时,可采用存储空间小于双精度浮点数的另外一种形式进行表示。比如采用半精度浮点数来表示该差值,其中,半精度浮点数为16位,2字节的数据。进而使当前差异帧所占用的存储空间小于当前帧数据对应的当前完整帧数据的存储占用空间。
步骤104,将当前差异帧数据存储到车载存储介质中。
本实施例中,将当前差异帧数据存储到车载存储介质中,由于当前差异帧数据的存储占用空间小于当前完整帧数据的存储占用空间,所以当前差异帧数据在车载存储介质中存储时占用的空间小于当前完整帧数据的存储占用空间。
本实施例提供的数据存储方法,通过获取数据产生模块产生的当前帧数据;按照预设帧存储策略判断当前帧数据是否满足完整帧存储条件;若确定当前帧数据不满足完整帧存储条件,则根据当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据;当前差异帧数据的存储占用空间小于当前完整帧数据的存储占用空间;将当前差异帧数据存储到车载存储介质中,由于在对当前帧数据进行存储时,并非将每个当前帧数据以完整帧数据形式存储到车载存储介质中,而在不满足完整帧存储条件时,将当前帧数据对应的当前差异帧数据存储到车载存储介质中,所以减小了部分帧数据的存储占用空间,进而在车端持久化保存全部帧数据时,减少了数据体积,避免与车端的其他计算模块争强CPU及内存资源,保证其他模块的正常计算。
实施例二
图3是根据本申请第二实施例提供的数据存储方法的流程示意图,如图3所示,本实施例提供的数据存储方法,是在本申请实施例一提供的数据存储方法的基础上,对步骤102-步骤104的进一步细化。并且还包括了若确定当前帧数据满足完整帧存储条件,则更新和存储当前完整帧数据的步骤,将车载存储介质中存储的帧数据上传到云端服务器中的自动驾驶数据库中的步骤,则本实施例提供的数据存储方法包括以下步骤。
步骤201,获取数据产生模块产生的当前帧数据。
本实施例中,步骤201的实现方式与图2所示实施例中的步骤101的实现方式相同,在此不再一一赘述。
步骤202,按照预设帧存储策略判断当前帧数据是否满足完整帧存储条件,若是,则执行步骤203,否则执行步骤205。
进一步地,如图4所示,步骤202包括以下步骤:
步骤2021,获取当前帧数据的产生时间和当前完整帧数据存储周期中的完整帧存储时间。
进一步地,本实施例中,可在当前帧数据中携带时间戳信息,根据时间戳信息确定当前帧数据的产生时间,或者由于在数据产生模块在产生出数据后,就将产生的数据通过消息总线发送给了电子设备,所以电子设备可将数据的接收时间确定为当前帧数据的产生时间。
进一步地,本实施例中,可在存储每个数据产生模块产生的帧数据的过程中,将每个数据产生模块对应的完整帧数据存储周期设置为相同,则当前完整帧数据存储周期与其他完整帧数据存储周期设置相同,如可以为1秒或0.5秒等。并可预先设置完整帧数据存储周期中对应的完整帧存储时间,如可以为该完整帧数据存储周期的初始时间。则可根据当前完整帧数据存储周期对应的时间段获取到当前完整帧数据存储周期中的完整帧存储时间。比如,当前完整帧数据存储周期为1秒,对应的时间为8:00-8:01,则当前完整帧数据存储周期中的完整帧存储时间为8:00。
步骤2022,判断当前帧数据的产生时间与完整帧存储时间是否相匹配,若是,则执行步骤2023,否则执行步骤2024。
进一步地,本实施例中,判断当前帧数据的产生时间与完整帧存储时间是否相匹配即为判断当前帧数据的产生时间与当前完整帧数据存储周期中的完整帧存储时间相同。若当前帧数据的产生时间与完整帧存储时间相匹配,则确定满足完整帧存储条件,若当前帧数据的产生时间与完整帧存储时间不相匹配,则确定不满足完整帧存储条件。
进一步地,若当前帧数据的产生时间与完整帧存储时间不相匹配,则确定不满足完整帧存储条件时,作为一种可选实施方式,通过步骤2024-步骤2025来确定不满足完整帧存储条件。
步骤2023,确定满足完整帧存储条件。
本实施例中,在确定满足完整帧存储条件时,需要将当前帧数据对应的当前完整帧数据进行存储。
步骤2024,判断是否监测到完整帧数据存储触发事件,若是,则执行步骤2023,否则,执行步骤2025。
其中,完整帧数据存储触发事件为驾驶模式切换事件。
进一步地,本实施例中,若完整帧数据存储触发事件为驾驶模式切换事件,则可通过监测是否产生了驾驶模式切换信号来监测是否发生了完整帧数据存储触发事件。
具体地,本实施例中,在车辆处于驾驶状态时,由于车辆可工作在不同的驾驶模式中,如驾驶模式可以为人工模式,自动驾驶模式和安全模式。为了更准确地控制车辆行驶,车辆需要在不同的驾驶模式中切换,如车辆处于自动驾驶模式中,遇到无法处理的场景时,需要从自动驾驶模式切换到人工模式或安全模式。在从第一驾驶模式切换到第二驾驶模式时,由于驾驶模式的切换,在第一驾驶模式数据产生模块产生的最后一帧数据与切换到第二驾驶模式后数据产生模块产生的第一帧数据间会有很大的差异,为了使切换到第二驾驶模式后的第一帧数据进行完整准确的存储,需要采用完整帧数据进行存储。所以本实施例中,若当前帧数据的产生时间与完整帧存储时间不相匹配,但监测到完整帧数据存储触发事件时,则确定满足完整帧存储条件,若当前帧数据的产生时间与完整帧存储时间不相匹配,也未监测到完整帧数据存储触发事件,则确定不满足完整帧存储条件。
步骤2025,确定不满足完整帧存储条件。
本实施例中,若不满足完整帧存储条件,则需要将当前帧数据对应的当前差异帧数据进行存储。
本实施例中,以当前帧数据的产生时间和当前完整帧数据存储周期中的完整帧存储时间为依据判断是否满足完整帧存储条件,能够周期性地对完整帧数据和差异帧数据进行存储,能够有效减小存储占用空间的同时,提高帧数据的容错性和数据的鲁棒性。
并且本实施例中,若当前帧数据的产生时间与完整帧存储时间不相匹配,但监测到完整帧数据存储触发事件时,则确定满足完整帧存储条件,能够有效防止发生完整帧数据存储触发事件时,由于完整帧数据存储触发事件的前后帧数据的差异较大,不能对帧数据进行准确存储的问题。
步骤203,使用当前帧数据更新当前完整帧数据。
本实施例中,从数据产生模块接收到的当前帧数据为完整帧数据。
其中,当前完整帧数据中包括以下数据的任意一种或多种:车辆位置数据,车辆速度数据,车辆加速度数据,车辆航向角数据。
进一步地,本实施例中,预设的当前完整帧数据可存储在完整帧缓冲区中,则使用当前帧数据更新当前完整帧数据时,将当前完整帧数据更新到完整帧缓冲区中。
本实施例中,在车辆的控制中心的内存中开辟磁盘写入缓冲区,该磁盘写入缓冲区为完整帧缓冲区,用于将当前完整帧数据更新到完整帧缓冲区。
根据步骤202可知,完整帧缓冲区中的当前完整帧数据可以为当前完整帧数据存储周期中的第一帧数据还可以为监测到完整帧数据存储触发事件时存储的完整帧数据。
值的说明的是,由于每个数据产生模块的产生数据的频率不同,各数据产生模块间的数据进行存储时是独立的,所以在完整帧缓冲区中具有各个数据产生模块对应的当前完整帧数据。
可以理解的是,更新到完整帧缓冲区中的当前完整帧数据用于计算后续产生的帧数据对应的差异帧数据。
步骤204,将当前完整帧数据存储到车载存储介质中。
进一步地,本实施例中,由于在每个完整帧数据存储周期中,完整帧数据的存储时间为完整帧数据存储周期的初始时间,所以如图5所示,在当前完整帧数据存储到车载存储介质中后,当前完整帧数据存储周期的差异帧数据才存储到车载存储介质中。
或者,在当前完整帧数据存储周期中的某一存储时间发生了完整帧数据存储触发事件,则将该完整帧数据存储触发事件对应的完整帧数据更新到完整帧缓冲区,并存储到车载存储介质中后,重新获取对应的完整帧数据存储周期,继续存储在该完整帧数据存储周期内的差异帧数据。
可以理解的是,如图5所示,若当前完整帧数据存储周期为1秒,数据产生模块的产生频率为100Hz,则在当前完整帧数据存储周期内未发生完整帧数据存储触发事件时,当前完整帧数据存储周期中需要存储100个帧数据,第一帧数据存储为完整帧数据,其余的99帧数据为差异帧数据。
步骤205,根据当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据。
进一步地,本实施例中,若按照预设帧存储策略确定当前帧数据不满足完整帧存储条件,则根据当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据。
进一步地,如图6所示,步骤205包括以下步骤:
步骤2051,计算当前帧数据与当前完整帧数据的补偿值。
进一步地,本实施例中,该当前完整帧数据为双精度浮点数表示的数据。而当前帧数据也为双精度浮点数表示的数据,所以计算当前帧数据与当前完整帧数据的差值,该当前帧数据当前完整帧数据的差值为当前帧数据与当前完整帧数据的补偿值。该补偿值也为双精度浮点数表示的数据。
可以理解的是,若当前帧数据与当前完整帧数据中包括多种类型的数据,如包括:车辆位置数据和车辆速度数据,则分别计算每种类型数据之间的差值,并将各种类型数据之间的差值进行拼接,形成当前帧数据与当前完整帧数据的补偿值。
步骤2052,将补偿值进行压缩处理,以获得当前差异帧数据。
进一步地,本实施例中,将补偿值进行压缩处理,以获得当前差异帧数据,包括:
将补偿值对应的双精度浮点数表示形式转换为半精度浮点数表示形式,以获得当前差异帧数据。
具体地,本实施例中,由于当前完整帧数据为当前完整帧数据存储周期中的第一帧数据,当前完整帧数据存储周期为相对较短的时间,如为1秒或0.5秒或更短的时间,而在相对较短的时间内,当前帧数据与当前完整帧数据间的补偿值较小,完全可采用半精度浮点数来表示该补偿值,而不影响该补偿值的数据精度。由于半精度浮点数为16位,2字节,其存储占用空间小于双精度浮点数的存储占用空间,所以将补偿值对应的双精度浮点数表示形式转换为半精度浮点数表示形式,获得当前差异帧数据后,当前差异帧数据的存储占用空间小于当前帧数据对应的当前完整帧数据的存储占用空间。
具体地,以当前帧数据中包括车辆速度数据来示例性说明当前帧数据与当前完整帧数据间的补偿值较小,完全可采用半精度浮点数来表示该补偿值。例如高速公路允许的最高时速为120公里/小时,即为33.3米/秒,如果数据产生模块数据产生频率为100Hz,则在该完整帧数据存储周期内,当前帧数据与当前完整帧数据间的车辆速度数据的最大变化范围为0.333米/秒。所以完全可采用半精度浮点数来表示该补偿值,而不影响该补偿值的数据精度。
如图7所示,可将当前差异帧数据表示为指数形式。当前差异帧数据有16位,表示为0-15位。第0位为符号位,可采用第0位存储数据的正负表示。若为正数,该位为1,若为负数,该位为0。采用第1为到第5位存储当前差异帧数据的指数部分值。采用第6至15位存储当前差异帧数据的小数部分值。
可以理解的是,存储指数部分值的位数与存储小数部分值的位数可根据内部协议进行调整。如存储指数部分值为1-7位,存储小数部分值为8-15位等。
本实施例中,在计算当前帧数据对应的当前差异帧数据时,通过计算当前帧数据与当前完整帧数据的补偿值,将补偿值进行压缩处理,以获得当前差异帧数据,不仅能够减少当前差异帧的存储占用空间,而且由于当前差异帧只与当前完整帧数据相关,与当前完整帧数据存储周期内其他帧数据无关,所以能够有效防止在每个完整帧数据存储周期内发生丢帧现象,无法对当前差异帧数据进行恢复。
并且本实施例中,本申请实施例中,由于半精度浮点数只占用两个字节,而双精度浮点数占用八个字节,所以将补偿值对应的双精度浮点数表示形式转换为半精度浮点数表示形式,获得当前差异帧数据,使当前差异帧数据的存储占用空间明显减小。
步骤206,将当前差异帧数据存储到车载存储介质中。
进一步地,本实施例中,如图5所示,当前差异帧数据存储到对应的预设完整帧数据的后侧,以在后续获取各数据产生模块对应的帧数据进行仿真、事件回放、问题分析时,对差异帧数据进行恢复。
步骤207,将车载存储介质中存储的帧数据上传到云端服务器的自动驾驶数据库中,帧数据中的完整帧数据和对应的差异帧数据共同用于数据恢复。
本实施例中,帧数据中的完整帧数据和对应的差异帧数据共同用于数据恢复时,客户端从自动驾驶数据库中获取帧数据,并根据帧数据中的完整帧数据和对应的差异帧数据对差异帧数据进行恢复。
本实施例中,可预先设定一个时间段,如可以为1天或1周等。则在达到预设时间段后,将车载存储介质中存储的帧数据上传到云端自动驾驶数据库中,或者预先设定一个占用空间阈值,如可以为10T,100T等。监测车载存储介质的存储占用空间,若存储占用空间达到预设占用空间阈值后,将车载存储介质中存储的帧数据上传到云端自动驾驶数据库中。
本实施例中,若需要根据帧数据进行仿真、事件回放、问题分析,则客户端向云端服务器发送获取请求,获取请求中可携带获取标识信息,以使云端服务器根据获取标识信息从自动驾驶数据库中获取对应的帧数据,在对应的帧数据中包括完整帧数据和对应的差异帧数据,首先将每个差异帧数据从半精度浮点数表示形式转换为双精度浮点数表示形式,然后计算每个差异帧数据与对应的完整帧数据的和,以获得每个差异帧数据对应的完整帧数据,实现了对差异帧数据的恢复。最后根据获得的每个完整帧数据进行仿真、事件回放、问题分析。
实施例三
图8为根据本申请第三实施例提供的数据存储方法的信令流程图,如图8所示,本实施例提供的数据存储方法包括以下步骤:
步骤301,电子设备获取数据产生模块产生的当前帧数据。
本实施例中,步骤201的实现方式与图3所示实施例中步骤201的实现方式相同,在此不再一一赘述。
步骤302,电子设备按照预设帧存储策略确定当前帧数据的存储形式。
本实施例中,按照预设帧存储策略确定当前帧数据为完整帧存储形式或差异帧存储形式。若为完整帧存储形式,则确定当前帧数据对应的当前完整帧数据。若为差异帧存储形式,则确定当前帧数据对应的当前差异帧数据。
步骤303,电子设备将当前帧数据更新的当前完整帧或当前差异帧发送给车载存储介质。
步骤304,车载存储介质将当前完整帧或当前差异帧进行存储。
在本实施例中,车载存储介质将当前完整帧或当前差异帧进行存储时,将同一数据产生模块对应的数据帧进行分类存储。并且对于每个数据产生模块对应的帧数据,按照时间顺序进行存储。并且在存储当前差异帧时,需要与当前完整帧数据存储周期中的完整帧数据建立映射关系,以能够在后续差异帧数据恢复时,准确恢复出差异帧数据对应的完整帧数据。
步骤305,车载存储介质将帧数据上传到云端服务器。
进一步地,本实施例中,在预设时间段后车载存储介质将帧数据上传到云端服务器,云端服务器将帧数据存储到自动驾驶数据库中。
步骤306,云端服务器采用自动驾驶数据库对帧数据进行存储。
步骤307,客户端向云端服务器发送帧数据获取请求。
进一步地,本实施例中,在客户端需要根据帧数据进行仿真、事件回放或问题分析时,向云端服务器发送帧数据获取请求,在帧数据获取请求中可携带获取标识信息。
其中,获取标识信息可以为帧数据标识信息。帧数据标识信息可以包括数据产生模块标识信息和帧数据的产生时间。
步骤308,云端服务器将对应的帧数据发送给客户端。
进一步地,本实施例中,云端服务器从自动驾驶数据库中获取到对应的帧数据后,将对应的帧数据发送给客户端。
步骤309,客户端根据帧数据中的完整帧数据和对应的差异帧数据对差异帧数据进行恢复。
进一步地,本实施例中,首先将每个差异帧数据从半精度浮点数表示形式转换为双精度浮点数表示形式,然后计算每个差异帧数据与对应的完整帧数据的和,以获得每个差异帧数据对应的完整帧数据,实现了对差异帧数据的恢复。
本实施例提供的数据存储方法,将车载存储介质中存储的帧数据上传到云端服务器,由于车载存储介质中存储的帧数据的体积明显减小,所以在上传到云端服务器时有效减小了上传时间,提高了上传速度。并且在客户端有根据帧数据仿真、事件回放或问题分析等需求时,能够在客户端对差异帧数据进行恢复。
实施例四
图9为根据本申请第四实施例提供的数据存储装置的结构示意图,如图9所示,本实施例提供的数据存储装置位于电子设备,装置位于电子设备,车辆上搭载有至少一个数据产生模块,电子设备与数据产生模块进行通信。该数据存储装置900包括:帧数据获取模块901,存储条件判断模块902,差异帧计算模块903和差异帧存储模块904。
其中,帧数据获取模块901,用于获取数据产生模块产生的当前帧数据。存储条件判断模块902,用于按照预设帧存储策略判断当前帧数据是否满足完整帧存储条件。差异帧计算模块903,用于若确定当前帧数据不满足完整帧存储条件,则根据当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据;当前差异帧数据的存储占用空间小于当前完整帧数据的存储占用空间。差异帧存储模块904,用于将当前差异帧数据存储到车载存储介质中。
本实施例提供的数据存储装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果与图2所示方法实施例类似,在此不再一一赘述。
进一步地,本实施例提供的数据存储装置还包括:完整帧存储模块和帧数据上传模块。
进一步地,本实施例中,当前差异帧数据和当前完整帧数据包括以下数据的任意一种或多种:
车辆位置数据,车辆速度数据,车辆加速度数据,车辆航向角数据。
进一步地,完整帧存储模块,用于若确定当前帧数据满足完整帧存储条件,则使用当前帧数据更新当前完整帧数据;将当前完整帧数据更新到完整帧缓冲区;将当前完整帧数据存储到车载存储介质中。
进一步地,存储条件判断模块902,具体用于:获取当前帧数据的产生时间和当前完整帧数据存储周期中的完整帧存储时间。若当前帧数据的产生时间与完整帧存储时间相匹配,则确定满足完整帧存储条件。若当前帧数据的产生时间与完整帧存储时间不相匹配,则确定不满足完整帧存储条件。
进一步地,存储条件判断模块902,在若当前帧数据的产生时间与完整帧存储时间不相匹配,则确定不满足完整帧存储条件时,具体用于:若当前帧数据的产生时间与完整帧存储时间不相匹配,则判断是否监测到完整帧数据存储触发事件;若未监测到完整帧数据存储触发事件,则确定不满足完整帧数据存储条件。
进一步地,存储条件判断模块902,还用于若监测到完整帧数据存储触发事件,则确定满足完整帧数据存储条件。
其中,完整帧数据存储触发事件为驾驶模式切换事件。
进一步地,差异帧计算模块903,具体用于:计算当前帧数据与当前完整帧数据的补偿值。将补偿值进行压缩处理,以获得当前差异帧数据。
进一步地,差异帧计算模块903,在将补偿值进行压缩处理,以获得当前差异帧数据时,具体用于:将补偿值对应的双精度浮点数表示形式转换为半精度浮点数表示形式,以获得当前差异帧数据。
进一步地,帧数据上传模块,用于将车载存储介质中存储的帧数据上传到云端服务器的自动驾驶数据库中,帧数据中的完整帧数据和对应的差异帧数据共同用于数据恢复。
本实施例提供的数据存储装置可以执行图3、图4、图6、图8所示方法实施例的技术方案,其实现原理和技术效果与图3、图4、图6、图8所示方法实施例类似,在此不再一一赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请实施例的数据存储方法的电子设备的框图。电子设备旨在各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的数据存储方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的数据存储方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的数据存储方法对应的程序指令/模块(例如,附图8所示的帧数据获取模块801,存储条件判断模块802,差异帧计算模块803和差异帧存储模块804)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据存储方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据图10的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至图10的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
图10的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的语音、数字或字符信息,以及产生与图10的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括语音播放设备、显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,由于在对当前帧数据进行存储时,并非将每个当前帧数据以完整帧数据形式存储到车载存储介质中,而在不满足完整帧存储条件时,将当前帧数据对应的当前差异帧数据存储到车载存储介质中,当前差异帧数据的存储占用空间小于当前帧数据对应的当前完整帧数据的存储占用空间,所以减小了部分帧数据的存储占用空间,进而在车端持久化保存全部帧数据时,减少了数据体积,避免与车端的其他计算模块争强CPU及内存资源,保证其他模块的正常计算。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (22)
1.一种数据存储方法,其特征在于,所述方法应用于电子设备,车辆上搭载有至少一个数据产生模块,所述电子设备与所述数据产生模块进行通信,所述方法包括:
获取所述数据产生模块产生的当前帧数据;
按照预设帧存储策略判断所述当前帧数据是否满足完整帧存储条件;
若确定所述当前帧数据不满足完整帧存储条件,则根据所述当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据;所述当前差异帧数据的存储占用空间小于所述当前完整帧数据的存储占用空间;
将所述当前差异帧数据存储到车载存储介质中。
2.根据权利要求1所述的方法,其特征在于,还包括:
若确定所述当前帧数据满足完整帧存储条件,则使用所述当前帧数据更新所述当前完整帧数据;
将所述当前完整帧数据存储到车载存储介质中。
3.根据权利要求1所述的方法,其特征在于,所述按照预设帧存储策略判断所述当前帧数据是否满足完整帧存储条件,包括:
获取所述当前帧数据的产生时间和当前完整帧数据存储周期中的完整帧存储时间;
若所述当前帧数据的产生时间与所述完整帧存储时间相匹配,则确定满足完整帧存储条件;
若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则确定不满足完整帧存储条件。
4.根据权利要求3所述的方法,其特征在于,所述若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则确定不满足完整帧存储条件,包括:
若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则判断是否监测到完整帧数据存储触发事件;
若未监测到完整帧数据存储触发事件,则确定不满足完整帧数据存储条件。
5.根据权利要求4所述的方法,其特征在于,还包括:
若监测到完整帧数据存储触发事件,则确定满足完整帧数据存储条件。
6.根据权利要求4所述的方法,其特征在于,所述完整帧数据存储触发事件为驾驶模式切换事件。
7.根据权利要求1所述的方法,其特征在于,所述根据所述当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据,包括:
计算所述当前帧数据与所述当前完整帧数据的补偿值;
将所述补偿值进行压缩处理,以获得当前差异帧数据。
8.根据权利要求7所述的方法,其特征在于,所述将所述补偿值进行压缩处理,以获得当前差异帧数据,包括:
将所述补偿值对应的双精度浮点数表示形式转换为半精度浮点数表示形式,以获得当前差异帧数据。
9.根据权利要求1所述的方法,其特征在于,所述将所述当前差异帧数据存储到车载存储介质中之后,还包括:
将所述车载存储介质中存储的帧数据上传到云端服务器的自动驾驶数据库中,所述帧数据中的完整帧数据和对应的差异帧数据共同用于数据恢复。
10.根据权利要求1所述的方法,其特征在于,所述当前差异帧数据和所述当前完整帧数据包括以下数据的任意一种或多种:
车辆位置数据,车辆速度数据,车辆加速度数据,车辆航向角数据。
11.一种数据存储装置,其特征在于,所述装置位于电子设备,车辆上搭载有至少一个数据产生模块,所述电子设备与所述数据产生模块进行通信,所述装置包括:
帧数据获取模块,用于获取所述数据产生模块产生的当前帧数据;
存储条件判断模块,用于按照预设帧存储策略判断所述当前帧数据是否满足完整帧存储条件;
差异帧计算模块,用于若确定所述当前帧数据不满足完整帧存储条件,则根据所述当前帧数据和对应的预存的当前完整帧数据计算当前差异帧数据;所述当前差异帧数据的存储占用空间小于所述当前完整帧数据的存储占用空间;
差异帧存储模块,用于将所述当前差异帧数据存储到车载存储介质中。
12.根据权利要求11所述的装置,其特征在于,还包括:
完整帧存储模块,用于若确定所述当前帧数据满足完整帧存储条件,则使用所述当前帧数据更新所述当前完整帧数据;将所述当前完整帧数据存储到车载存储介质中。
13.根据权利要求11所述的装置,其特征在于,所述存储条件判断模块,具体用于:
获取所述当前帧数据的产生时间和当前完整帧数据存储周期中的完整帧存储时间;若所述当前帧数据的产生时间与所述完整帧存储时间相匹配,则确定满足完整帧存储条件;若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则确定不满足完整帧存储条件。
14.根据权利要求13所述的装置,其特征在于,所述存储条件判断模块,在若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则确定不满足完整帧存储条件时,具体用于:
若所述当前帧数据的产生时间与所述完整帧存储时间不相匹配,则判断是否监测到完整帧数据存储触发事件;若未监测到完整帧数据存储触发事件,则确定不满足完整帧数据存储条件。
15.根据权利要求14所述的装置,其特征在于,所述存储条件判断模块,还用于:
若监测到完整帧数据存储触发事件,则确定满足完整帧数据存储条件。
16.根据权利要求14所述的装置,其特征在于,所述完整帧数据存储触发事件为驾驶模式切换事件。
17.根据权利要求11所述的装置,其特征在于,所述差异帧计算模块,具体用于:
计算所述当前帧数据与所述当前完整帧数据的补偿值;将所述补偿值进行压缩处理,以获得当前差异帧数据。
18.根据权利要求17所述的装置,其特征在于,所述差异帧计算模块,在所述将所述补偿值进行压缩处理,以获得当前差异帧数据时时,具体用于:
将所述补偿值对应的双精度浮点数表示形式转换为半精度浮点数表示形式,以获得当前差异帧数据。
19.根据权利要求11所述的装置,其特征在于,还包括:
帧数据上传模块,用于将所述车载存储介质中存储的帧数据上传到云端服务器的自动驾驶数据库中,所述帧数据中的完整帧数据和对应的差异帧数据共同用于数据恢复。
20.根据权利要求11所述的装置,其特征在于,所述当前差异帧数据和所述当前完整帧数据包括以下数据的任意一种或多种:
车辆位置数据,车辆速度数据,车辆加速度数据,车辆航向角数据。
21.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910994981.9A CN110737669A (zh) | 2019-10-18 | 2019-10-18 | 数据存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910994981.9A CN110737669A (zh) | 2019-10-18 | 2019-10-18 | 数据存储方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737669A true CN110737669A (zh) | 2020-01-31 |
Family
ID=69270185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910994981.9A Pending CN110737669A (zh) | 2019-10-18 | 2019-10-18 | 数据存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737669A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461340A (zh) * | 2020-03-10 | 2020-07-28 | 北京百度网讯科技有限公司 | 权重矩阵的更新方法、装置及电子设备 |
CN111464771A (zh) * | 2020-04-14 | 2020-07-28 | 上海卓易科技股份有限公司 | 一种车载录像的多路输出方法及设备 |
CN111651404A (zh) * | 2020-04-26 | 2020-09-11 | 浙江吉利汽车研究院有限公司 | 传感器数据存储、读取方法及数据存储、读取装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213842A (zh) * | 2005-06-29 | 2008-07-02 | 诺基亚公司 | 用于使用运动补偿时域滤波的视频编码中的更新步骤的方法和装置 |
CN101917612A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种流媒体视频编码方法及装置 |
CN103455765A (zh) * | 2012-05-31 | 2013-12-18 | 韩国科亚电子股份有限公司 | 车辆行驶信息管理、验证方法、装置及行驶信息管理系统 |
CN103678299A (zh) * | 2012-08-30 | 2014-03-26 | 中兴通讯股份有限公司 | 一种监控视频摘要的方法及装置 |
CN104852783A (zh) * | 2015-04-01 | 2015-08-19 | 矽通瑞达科技(北京)有限责任公司 | 一种gps数据传输方法及系统 |
US20160134875A1 (en) * | 2014-11-12 | 2016-05-12 | Fujitsu Limited | Video data processing device and method |
CN105760238A (zh) * | 2016-01-29 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 图形指令数据的处理方法和装置及系统 |
CN107231581A (zh) * | 2016-03-25 | 2017-10-03 | 中国电信股份有限公司 | 用于视频播放的方法、系统及流媒体播放控制服务器 |
CN108171189A (zh) * | 2018-01-05 | 2018-06-15 | 广东小天才科技有限公司 | 一种视频编码方法、视频编码装置及电子设备 |
CN108664351A (zh) * | 2017-03-31 | 2018-10-16 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、重构、清理方法、装置及数据处理系统 |
CN109747657A (zh) * | 2018-12-17 | 2019-05-14 | 北京百度网讯科技有限公司 | 自动驾驶汽车远程控制方法和装置 |
CN110073371A (zh) * | 2017-05-05 | 2019-07-30 | 辉达公司 | 用于以降低精度进行深度神经网络训练的损失缩放 |
-
2019
- 2019-10-18 CN CN201910994981.9A patent/CN110737669A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213842A (zh) * | 2005-06-29 | 2008-07-02 | 诺基亚公司 | 用于使用运动补偿时域滤波的视频编码中的更新步骤的方法和装置 |
CN101917612A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种流媒体视频编码方法及装置 |
CN103455765A (zh) * | 2012-05-31 | 2013-12-18 | 韩国科亚电子股份有限公司 | 车辆行驶信息管理、验证方法、装置及行驶信息管理系统 |
CN103678299A (zh) * | 2012-08-30 | 2014-03-26 | 中兴通讯股份有限公司 | 一种监控视频摘要的方法及装置 |
US20160134875A1 (en) * | 2014-11-12 | 2016-05-12 | Fujitsu Limited | Video data processing device and method |
CN104852783A (zh) * | 2015-04-01 | 2015-08-19 | 矽通瑞达科技(北京)有限责任公司 | 一种gps数据传输方法及系统 |
CN105760238A (zh) * | 2016-01-29 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 图形指令数据的处理方法和装置及系统 |
CN107231581A (zh) * | 2016-03-25 | 2017-10-03 | 中国电信股份有限公司 | 用于视频播放的方法、系统及流媒体播放控制服务器 |
CN108664351A (zh) * | 2017-03-31 | 2018-10-16 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、重构、清理方法、装置及数据处理系统 |
CN110073371A (zh) * | 2017-05-05 | 2019-07-30 | 辉达公司 | 用于以降低精度进行深度神经网络训练的损失缩放 |
CN108171189A (zh) * | 2018-01-05 | 2018-06-15 | 广东小天才科技有限公司 | 一种视频编码方法、视频编码装置及电子设备 |
CN109747657A (zh) * | 2018-12-17 | 2019-05-14 | 北京百度网讯科技有限公司 | 自动驾驶汽车远程控制方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461340A (zh) * | 2020-03-10 | 2020-07-28 | 北京百度网讯科技有限公司 | 权重矩阵的更新方法、装置及电子设备 |
CN111461340B (zh) * | 2020-03-10 | 2023-03-31 | 北京百度网讯科技有限公司 | 权重矩阵的更新方法、装置及电子设备 |
CN111464771A (zh) * | 2020-04-14 | 2020-07-28 | 上海卓易科技股份有限公司 | 一种车载录像的多路输出方法及设备 |
CN111464771B (zh) * | 2020-04-14 | 2022-07-05 | 上海卓易科技股份有限公司 | 一种车载录像的多路输出方法及设备 |
CN111651404A (zh) * | 2020-04-26 | 2020-09-11 | 浙江吉利汽车研究院有限公司 | 传感器数据存储、读取方法及数据存储、读取装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737669A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN110617825B (zh) | 一种车辆定位方法、装置、电子设备和介质 | |
CN111931286B (zh) | 纵向动力学模型的训练方法、装置及设备 | |
CN111327926B (zh) | 视频插帧方法、装置、电子设备及存储介质 | |
CN110704509A (zh) | 数据分类方法、装置、设备及存储介质 | |
CN111582030A (zh) | 红绿灯的识别方法、装置、电子设备和计算机存储介质 | |
CN112994980A (zh) | 时延测试方法、装置、电子设备和存储介质 | |
CN110705696A (zh) | 神经网络的量化与定点化融合方法及装置 | |
CN112714282A (zh) | 远程控制中的图像处理方法、装置、设备和程序产品 | |
CN110796191A (zh) | 轨迹分类方法及装置 | |
CN110751853B (zh) | 停车位数据的有效性识别方法和装置 | |
CN111027195B (zh) | 仿真场景的生成方法、装置及设备 | |
CN110995687B (zh) | 一种猫池设备识别方法、装置、设备及存储介质 | |
CN110958137B (zh) | 流量管理方法、装置及电子设备 | |
CN111833391A (zh) | 图像深度信息的估计方法及装置 | |
CN112016524A (zh) | 模型训练方法、人脸识别方法、装置、设备和介质 | |
CN111966767A (zh) | 轨迹热力图生成方法、装置、电子设备和存储介质 | |
CN112559277A (zh) | 崩溃信息的处理方法、系统、车载设备、服务器、电子设备及存储介质 | |
CN111695489A (zh) | 建模路线的验证方法、装置、无人车及存储介质 | |
CN111625948A (zh) | 超长场景的回放型仿真方法、装置、设备和介质 | |
CN113221602A (zh) | 道路路面状况确定方法、装置、设备和介质 | |
CN114265601A (zh) | 管理人工智能应用的方法、设备和程序产品 | |
CN110782029A (zh) | 神经网络预测方法、装置、电子设备和自动驾驶系统 | |
CN110689090A (zh) | 图像存储方法及装置 | |
CN112734454A (zh) | 一种用户信息确定方法、装置、电子设备和存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200131 |
|
RJ01 | Rejection of invention patent application after publication |