一种基于属性分类的数据存储方法及相关装置与流程

专利2025-06-01  13


本申请涉及计算机,具体涉及一种基于属性分类的数据文件存储方法、装置、系统和介质。


背景技术:

1、随着互联网的快速发展,各类网络平台需要存储的数据量呈指数级增长。例如,社交网络、电子商务、在线游戏等平台,每天都会产生海量用户行为数据,包括评论、点赞、浏览记录、交易记录等。

2、这些数据大多数存储在关系型数据库中,例如mysql、oracle,这些数据库以其成熟的acid特性和丰富的查询语言,适合处理结构化数据,并保证数据一致性。关系型数据库以表格的形式存储数据,每个表由行和列组成,每一行代表一个记录,每一列代表一个字段。

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、通过按目标属性对存储数据进行分类,将分类后的数据集合存储到磁盘中,建立目标属性值和对应子数据的索引关系,在用户查询目标属性值时,可以根据索引关系迅速定位到符合查询条件的数据集合,大大缩小了查询范围,从而显著提高了查询效率,快速响应用户的查询请求,提高用户体验感。基于索引关系,用户查询所得的数据集合的子数据全部具有对应目标属性值,保障了查询结果的准确性。根据内存位置和磁盘位置的映射关系,确定目标内存位置对应的目标磁盘位置,将数据集合写入到磁盘中,在存储数据的过程中,进程对内存进行操作,基于目标内存位置连续排布的特点,可以做到顺序存储,提高了存储速度。



技术特征:

1.一种基于属性分类的数据存储方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述按照所述目标磁盘位置将多个所述数据集合存储至所述目标数据文件中对应的存储位置,得到第一索引关系,包括:

3.根据权利要求1所述的方法,其特征在于,所述根据内存位置和磁盘位置的映射关系,确定所述目标内存位置对应的目标磁盘位置,包括:

4.根据权利要求2所述的方法,其特征在于,所述将所述临时文件与所述目标磁盘位置的历史数据文件进行合并,得到所述目标数据文件和所述第一索引关系,包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述获取来自目标进程的待存储数据,包括:

7.一种基于属性分类的数据存储装置,其特征在于,所述装置包括:获取单元、分类单元、定位单元和存储单元;

8.一种计算机设备,其特征在于,所述设备包括处理器以及存储器:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-6任意一项所述的方法。

10.一种计算机程序产品,其特征在于,包括计算机程序或指令;当所述计算机程序或指令被处理器执行时,执行权利要求1-6任意一项所述的方法。


技术总结
本申请公开一种基于属性分类的数据存储方法及相关装置,该方法包括:获取来自目标进程的待存储数据和目标属性,接着按照目标属性对待存储数据进行分类,得到多个数据集合,每个数据集合中的子数据具有同一目标属性值。然后根据内存位置和磁盘位置的映射关系,确定目标内存位置对应的目标磁盘位置,磁盘位置用于指示数据集合中各个子数据在文件中的存储位置。最后若目标磁盘位置具有目标数据文件,则按照目标磁盘位置将多个数据集合存储对应的存储位置,得到目标属性值与对应的各个子数据存储位置之间的对应关系。该方法通过按目标属性对存储数据进行分类存储,根据目标属性值与对应子数据的索引关系进行数据查询,显著提高了查询效率。

技术研发人员:赵冰洋,李双
受保护的技术使用者:北京搜狐新媒体信息技术有限公司
技术研发日:
技术公布日:2024/11/11
转载请注明原文地址: https://tieba.8miu.com/read-14568.html

最新回复(0)