一种数据存储方法、装置、存储介质及电子设备与流程
- 国知局
- 2024-07-31 23:23:46
本说明书涉及计算机,尤其涉及一种数据存储方法、装置、存储介质及电子设备。
背景技术:
1、随着人工智能的快速发展,深度学习模型开始被广泛的应用与诸如驾驶、航天、工业以及医疗等多个领域。在深度学习模型的训练过程中,通常需要对模型进行若干轮训练以达成收敛目标,每一轮训练都会对整个数据集样本以随机的序列进行访问。
2、目前通常需要基于元数据对文件系统中的数据进行访问,然而,由于模型训练过程中的训练数据集通常由海量的小文件构成,这就需要对大量的元数据进行管理和维护,在数据访问的过程中,对元数据进行解析、读取以及处理的过程无疑会带来额外的时间开销,降低数据访问效率,进一步影响对模型的训练效率。
3、因此,如何提高数据的访问效率,是一个亟待解决的问题。
技术实现思路
1、本说明书提供一种数据存储方法、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。
2、本说明书采用下述技术方案:
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、本说明书提供了一种数据存储装置,包括:
29、接收模块,用于接收数据存储请求,并根据所述数据存储请求,获取各待存储的数据;
30、排序模块,用于,根据每个数据所占用的存储空间,对各数据进行排序,并基于排序结果确定每个数据对应的数据编号,以及
31、基于不同块的大小,将存储设备的存储空间划分为若干个簇,其中,针对每个簇,该簇中包含有若干个大小相同的块,不同簇中块的大小不同;
32、存储模块,用于针对每个数据,将该数据存储在与该数据所占用存储空间相匹配的块中;
33、索引模块,用于针对每个簇,按照该簇中包含的每个块所存储的数据占用的存储空间,对该簇中包含的每个块进行排序,根据该簇中第一个块所存储的数据对应的数据编号、该簇中最后一个块所存储的数据对应的数据编号、所述第一个块对应的存储地址以及该簇中块的大小,生成该簇的索引信息并存储,所述索引信息用于在数据读取过程中确定待读取的数据的存储地址。
34、本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据存储方法。
35、本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据存储方法。
36、本说明书采用的上述至少一个技术方案能够达到以下有益效果:
37、在本说明书提供的数据存储方法中,获取各待存储的数据;根据每个数据所占用的存储空间,对各数据进行排序,并基于排序结果确定每个数据对应的数据编号,将存储设备的存储空间划分为若干个簇;针对每个数据,将该数据存储在与该数据所占用存储空间相匹配的块中;针对每个簇,根据该簇中第一个块所存储的数据对应的数据编号、该簇中最后一个块所存储的数据对应的数据编号、第一个块对应的存储地址以及该簇中块的大小,生成该簇的索引信息并存储。
38、从上述方法可以看出,本方案在存储数据的过程中,会先基于数据大小进行排序并进行分块存储,每个存储数据的块所归属的簇都对应有索引信息,这样一来,在后续读取数据的过程中便可以基于索引信息直接定位到数据所在的块地址,不在需要基于元数据进行访问。相比于目前读取每一个数据都需要先对其元数据进行解析以及处理的方法,本方案只需要根据包含有少量数据的索引信息即可实现对数据的定位,消除了访问元数据所带来的开销,提高了数据访问效率,进一步保证了业务的整体执行效率。
本文地址:https://www.jishuxx.com/zhuanli/20240730/197344.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。