System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据存储,特别是涉及一种数据存储方法、装置、电子装置和存储介质。
技术介绍
1、随着汽车电子技术的飞速发展,汽车电子项目中需要保存的数据越来越多,数据的类型也各不相同,许多重要数据需要在下电时被保存,以便于电子控制单元(electroniccontrol unit,ecu)下一次上电时的初始化阶段使用。
2、在汽车电子项目中,通常使用汽车开放系统架构((automotive open systemarchitecture,autosar)进行数据存储,autosar存储栈(nvm,memif,fee,fls)是一种动态的flash模拟eeprom,会频繁的操作flash。而汽车电子项目中,下电时需要存储的数据通常包括诊断故障代码(diagnostic trouble code,dtc)、快照数据以及整车状态数据等,而快照数据需要实时存储,存储频次非常高,对于整车状态数据,仅需要在每次下电时将整车的最新状态存储到内存中,对于电子器件编号等数据,在整个汽车的生命周期内基本不会被改变,若将上述不同类型的数据都通过autosar存储栈的存储方式进行存储,容易导致数据存储的灵活性和效率较低的问题。
3、并且,在对数据进行存储时,通常包括动态存储和静态存储两大类:
4、对于动态存储,无法将数据直接写入到存储介质的固定地址,且当一个bank被写满时,需要切换到下一个bank,这个过程较为复杂,导致存储一个数据的时间较长,容易造成数据丢失和cpu load增加等问题;
5、对于静态存储,
6、由于底层驱动的原因,上述两种结构一般无法兼容当前主流的车载架构autosar。
7、针对相关技术中存在数据存储的灵活性和效率较低的问题,目前还没有提出有效的解决方案。
技术实现思路
1、在本实施例中提供了一种数据存储方法、装置、电子装置和存储介质,以解决相关技术中存在数据存储的灵活性和效率较低的问题。
2、第一个方面,在本实施例中提供了一种数据存储方法,所述方法应用于内存管理系统中,所述内存管理系统包括内存管理模块以及autosar存储栈,所述内存管理模块与所述autosar存储栈中的驱动模块连接,所述内存管理模块用于将所述驱动模块划分为第一存储区、第二存储区以及第三存储区,所述第一存储区包括一个数据存储单元,用于存储第一类型数据,所述第二存储区包括两个数据存储单元,用于存储第二类型数据,所述第三存储区包括至少三个数据存储单元,用于存储第三类型数据,所述第一类型数据、所述第二类型数据以及所述第三类型数据的数据更新频率依次递增,所述方法包括:
3、获取数据存储指令,所述数据存储指令中包括待存储数据以及所述待存储数据的数据类型;
4、基于所述待存储数据的数据类型,从所述第一存储区、所述第二存储区以及所述第三存储区中确定出目标存储区;
5、将所述待存储数据分配至所述目标存储区中进行存储。
6、在其中的一些实施例中,所述基于所述待存储数据的数据类型,从所述第一存储区、所述第二存储区以及所述第三存储区中确定出目标存储区,包括:
7、将所述待存储数据的数据类型分别与所述第一类型数据、所述第二类型数据以及所述第三类型数据进行数据类型匹配;
8、将与所述待存储数据的数据类型匹配的类型数据对应的存储区,确定为所述目标存储区。
9、在其中的一些实施例中,每一所述数据存储单元包括头部区以及数据区,所述头部区中包括对应数据存储单元的写入次数,当与所述待存储数据的数据类型匹配的类型数据为所述第二类型数据时,所述目标存储区为所述第二存储区,所述将所述待存储数据分配至所述目标存储区中进行存储,包括:
10、基于所述第二存储区中的两个数据存储单元的写入次数,从所述第二存储区中的两个数据存储单元中确定出目标数据存储单元;
11、将所述待存储数据分配至所述目标数据存储单元中的数据区进行存储。
12、在其中的一些实施例中,每一所述数据存储单元包括头部区以及数据区,所述头部区中包括对应数据存储单元的写入次数,当与所述待存储数据的数据类型匹配的类型数据为所述第三类型数据时,所述目标存储区为所述第三存储区,所述将所述待存储数据分配至所述目标存储区中进行存储,包括:
13、基于所述第三存储区中的至少三个数据存储单元的写入次数,从所述第三存储区中的至少三个数据存储单元中确定出目标数据存储单元;
14、将所述待存储数据分配至所述目标数据存储单元中的数据区进行存储。
15、在其中的一些实施例中,所述将所述待存储数据分配至所述目标数据存储单元中的数据区进行存储,包括:
16、确定所述目标数据存储单元中的数据区是否为空;
17、若所述目标数据存储单元中的数据区不为空,则对所述目标数据存储单元中的数据区进行擦除,得到擦除后的目标数据存储单元;
18、将所述待存储数据分配至所述擦除后的目标数据存储单元的数据区进行存储。
19、在其中的一些实施例中,所述将所述待存储数据分配至所述目标存储区中进行存储,包括:
20、确定所述待存储数据的数据长度;
21、基于所述数据长度以及所述目标存储区的数据位长度,确定所述待存储数据在所述目标存储区中的存储位置;
22、将所述待存储数据存储在所述存储位置中。
23、在其中的一些实施例中,所述将所述待存储数据分配至所述目标存储区中进行存储之后,还包括:
24、获取用户的数据读取指令;
25、基于所述数据读取指令确定待读取数据存储单元;
26、基于所述待读取数据存储单元头部区中的写入次数,确定所述待读取数据存储单元是否有效;
27、若所述待读取数据存储单元有效,则读取所述待读取数据存储单元数据区中的数据。
28、第二个方面,在本实施例中提供了一种数据存储装置,所述装置应用于内存管理系统中,所述内存管理系统包括内存管理模块以及autosar存储栈,所述内存管理模块与所述autosar存储栈中的驱动模块连接,所述内存管理模块用于将所述驱动模块划分为第一存储区、第二存储区以及第三存储区,所述第一存储区包括一个数据存储单元,用于存储第一类型数据,所述第二存储区包括两个数据存储单元,用于存储第二类型数据,所述第三存储区包括至少三个数据存储单元,用于存储第三类型数据,所述第一类型数据、所述第二类型数据以及所述第三类型数据的数据更新频率依次递增,所述数据存储装置包括:
29、获取模块,用于获取数据存储指令,所述数据存储指令中包括待存储数据以及所述待存储数据的数据类型;
30、确定模块,用于基于所述待存储数据的数据类型,从所述第一存储区、所述第二存储区以及本文档来自技高网...
【技术保护点】
1.一种数据存储方法,其特征在于,所述方法应用于内存管理系统中,所述内存管理系统包括内存管理模块以及Autosar存储栈,所述内存管理模块与所述Autosar存储栈中的驱动模块连接,所述内存管理模块用于将所述驱动模块划分为第一存储区、第二存储区以及第三存储区,所述第一存储区包括一个数据存储单元,用于存储第一类型数据,所述第二存储区包括两个数据存储单元,用于存储第二类型数据,所述第三存储区包括至少三个数据存储单元,用于存储第三类型数据,所述第一类型数据、所述第二类型数据以及所述第三类型数据的数据更新频率依次递增,所述方法包括:
2.根据权利要求1所述的数据存储方法,其特征在于,所述基于所述待存储数据的数据类型,从所述第一存储区、所述第二存储区以及所述第三存储区中确定出目标存储区,包括:
3.根据权利要求2所述的数据存储方法,其特征在于,每一所述数据存储单元包括头部区以及数据区,所述头部区中包括对应数据存储单元的写入次数,当与所述待存储数据的数据类型匹配的类型数据为所述第二类型数据时,所述目标存储区为所述第二存储区,所述将所述待存储数据分配至所述目标存储区中进
4.根据权利要求2所述的数据存储方法,其特征在于,每一所述数据存储单元包括头部区以及数据区,所述头部区中包括对应数据存储单元的写入次数,当与所述待存储数据的数据类型匹配的类型数据为所述第三类型数据时,所述目标存储区为所述第三存储区,所述将所述待存储数据分配至所述目标存储区中进行存储,包括:
5.根据权利要求3或4所述的数据存储方法,其特征在于,所述将所述待存储数据分配至所述目标数据存储单元中的数据区进行存储,包括:
6.根据权利要求1所述的数据存储方法,其特征在于,所述将所述待存储数据分配至所述目标存储区中进行存储,包括:
7.根据权利要求3或4所述的数据存储方法,其特征在于,所述将所述待存储数据分配至所述目标存储区中进行存储之后,还包括:
8.一种数据存储装置,其特征在于,所述装置应用于内存管理系统中,所述内存管理系统包括内存管理模块以及Autosar存储栈,所述内存管理模块与所述Autosar存储栈中的驱动模块连接,所述内存管理模块用于将所述驱动模块划分为第一存储区、第二存储区以及第三存储区,所述第一存储区包括一个数据存储单元,用于存储第一类型数据,所述第二存储区包括两个数据存储单元,用于存储第二类型数据,所述第三存储区包括至少三个数据存储单元,用于存储第三类型数据,所述第一类型数据、所述第二类型数据以及所述第三类型数据的数据更新频率依次递增,所述数据存储装置包括:
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的数据存储方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据存储方法的步骤。
...【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法应用于内存管理系统中,所述内存管理系统包括内存管理模块以及autosar存储栈,所述内存管理模块与所述autosar存储栈中的驱动模块连接,所述内存管理模块用于将所述驱动模块划分为第一存储区、第二存储区以及第三存储区,所述第一存储区包括一个数据存储单元,用于存储第一类型数据,所述第二存储区包括两个数据存储单元,用于存储第二类型数据,所述第三存储区包括至少三个数据存储单元,用于存储第三类型数据,所述第一类型数据、所述第二类型数据以及所述第三类型数据的数据更新频率依次递增,所述方法包括:
2.根据权利要求1所述的数据存储方法,其特征在于,所述基于所述待存储数据的数据类型,从所述第一存储区、所述第二存储区以及所述第三存储区中确定出目标存储区,包括:
3.根据权利要求2所述的数据存储方法,其特征在于,每一所述数据存储单元包括头部区以及数据区,所述头部区中包括对应数据存储单元的写入次数,当与所述待存储数据的数据类型匹配的类型数据为所述第二类型数据时,所述目标存储区为所述第二存储区,所述将所述待存储数据分配至所述目标存储区中进行存储,包括:
4.根据权利要求2所述的数据存储方法,其特征在于,每一所述数据存储单元包括头部区以及数据区,所述头部区中包括对应数据存储单元的写入次数,当与所述待存储数据的数据类型匹配的类型数据为所述第三类型数据时,所述目标存储区为所述第三存储区,所述将所述待存储数据分配至所述目标存储区中进...
【专利技术属性】
技术研发人员:万磊,
申请(专利权)人:福思杭州智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。