本申请涉及计算机,尤其涉及一种基于autosar的数据存储方法及相关产品。
背景技术:
1、汽车开放系统架构自适应平台(automotive open system architectureadaptive platform,autosar ap)是汽车开放系统架构(autosar)中一个处于用户应用层(user applications)和硬件层之间的中间件,也称为autosar runtime for adaptiveapplication(ara),ara由功能集群(functional clusters)提供的应用程序接口组成,主要提供高性能计算和通讯机制,并提供灵活的软件配置。
2、其中,持久性存储模块(persistency)功能集群是autosar ap的一个模块,提供非易失性存储的机制和标准接口,主要包含键值存储(keyvaluestorage)和文件存储(filestorage)。其中,键值存储中的文件是基于json格式存储的,但是json格式需要一定的语法格式如大括号、双引号、分号等,使得文件存储后占用空间相对较大。
3、因此,如何提供一种持久性存储模块的轻量化数据存储方式是目前亟待解决的问题。
技术实现思路
1、有鉴于此,本申请提供了一种基于autosar的数据存储方法及相关产品,旨在减少持久性存储模块空间的占用,实现轻量化数据存储。
2、第一方面,本申请提供了一种基于autosar的数据存储方法,包括:
3、获取待写入文件流中的数据对象;
4、将所述数据对象序列化得到序列化数据对象;
5、将所述序列化数据对象写入所述待写入文件流对应的存储地址。
6、可选地,所述将所述序列化数据对象写入所述待写入文件流对应的存储地址前,还包括:
7、根据所述序列化数据对象确定所述数据对象的数据类型;所述数据类型包括明文数据、密文数据、明文校验数据、密文校验数据。
8、可选地,当所述待写入数据对象的数据类型为明文数据时,所述将所述序列化数据对象写入所述待写入文件流对应的存储地址,包括:
9、基于所述序列化数据对象获取明文序列化数据;
10、将所述明文序列化数据写入所述待写入文件流对应的存储地址。
11、可选地,当所述序列化数据对象的数据类型为密文数据、明文校验数据和密文检验存储中的任意一种时,所述将所述序列化数据对象写入所述待写入文件流对应的存储地址,包括:
12、根据所述序列化数据对象的数据类型处理得到所述序列化数据对象中的明文序列化数据;
13、基于所述明文序列化数据创建临时文件流;
14、基于所述临时文件流将所述明文序列化数据写入临时缓存区;
15、从所述临时缓存获取所述明文序列化数据写入待写入文件流对应的存储地址,同时在所述存储地址利用数据安全技术对所述第二明文序列化数据进行处理;所述数据安全技术包括加密和校验其中的一种或多种组合。
16、可选地,所述明文序列化数据是通过如下步骤写入的:
17、根据所述明文序列化数据确定所述明文序列化数据的数据类型;
18、基于所述明文序列化数据的数据类型将所述明文序列化数据写入所述明文序列化数据对应的缓存区,所述缓存区包括待写入文件流对应的存储地址或临时缓存区。
19、可选地,所述根据所述明文序列化数据确定所述明文序列化数据的数据类型,包括:
20、根据所述明文序列化数据确定所述明文序列化数据的数据类型定义字段;
21、根据所述明文序列化数据的数据类型定义字段确定所述明文序列化数据的数据类型。
22、可选地,所述明文序列化数据的数据类型包括第一数据类型、第二数据类型和第三数据类型;其中,所述第一数据格式为基础数据类型,所述第二数据格式为嵌套数据类型,所述第三数据类型为除基础数据类型和嵌套数据类型以外的数据类型。
23、可选地,所述方法还包括:
24、记录写入到所述待写入文件流对应的存储地址的数据对象个数。
25、第二方面,本申请提供了一种基于autosar的数据读取方法,包括:
26、获取结果数据流;
27、根据所述结果数据流获取本地数据对象的数据描述文件;
28、将所述数据描述文件中的数据反序列化,读取所述结果数据流中的属性值。
29、第三方面,本申请提供了一种基于autosar的数据存储装置,包括:
30、第一获取模块,用于获取待写入文件流中的数据对象;
31、序列化模块,用于将所述数据对象序列化得到序列化数据对象;
32、存储模块,用于将所述序列化数据对象写入所述待写入文件流对应的存储地址。
33、第四方面,本申请实施例可以提供一种电子设备,所述设备包括:处理器、存储器、系统总线;
34、所述处理器以及所述存储器通过所述系统总线相连;
35、所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述基于autosar的数据存储方法的任一实现方式,或者,上述数据读取方法。
36、第五方面,本申请实施例可以提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述基于autosar的数据存储方法的任一实现方式,或者,上述数据读取方法。
37、本申请提供了一种基于autosar的数据存储方法。在执行所述方法时,先获取待写入文件流中的数据对象,后将所述数据对象序列化得到序列化数据对象,最后将所述序列化数据对象写入所述待写入文件流对应的存储地址。这样,通过将数据对象序列化的方式,使得数据对象转换为序列化数据进行存储,达到了减少持久性存储模块空间的占用的效果。如此,可以实现轻量化数据存储。
1.一种基于autosar的数据存储方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述序列化数据对象写入所述待写入文件流对应的存储地址前,还包括:
3.根据权利要求2所述的方法,其特征在于,当所述待写入数据对象的数据类型为明文数据时,所述将所述序列化数据对象写入所述待写入文件流对应的存储地址,包括:
4.根据权利要求2所述的方法,其特征在于,当所述序列化数据对象的数据类型为密文数据、明文校验数据和密文检验数据中的任意一种时,所述将所述序列化数据对象写入所述待写入文件流对应的存储地址,包括:
5.根据权利要求3或4所述的方法,其特征在于,所述明文序列化数据是通过如下步骤写入的:
6.根据权利要求5所述的方法,其特征在于,所述根据所述明文序列化数据确定所述明文序列化数据的数据类型,包括:
7.根据权利要求6所述的方法,其特征在于,所述明文序列化数据的数据类型包括第一数据类型、第二数据类型和第三数据类型;其中,所述第一数据格式为基础数据类型,所述第二数据格式为嵌套数据类型,所述第三数据类型为除基础数据类型和嵌套数据类型以外的数据类型。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.一种基于autosar的数据读取方法,其特征在于,包括:
10.一种基于autosar的数据存储装置,其特征在于,包括: