本发明涉及数据处理,尤其涉及一种数据表的读写方法及装置。
背景技术:
1、数据仓库的存储方式一般可分为行式存储和列式存储。列式存储即将数据表按字段进行存储。例如,需要存储一张学生信息表,学生信息表中的一条数据为一个学生的信息,包括年龄、身高、体重、年级等,该表中年龄为一个字段,身高为另一个字段。在数据写入数据仓库时,会先写入所有学生的年龄数据,接着再写入所有学生的身高数据,直到写完学生信息表中所有字段的数据。该存储方式便于进行数据分析。例如,当需要查询所有学生的身高时,可直接将连续存储的身高数据进行加载。但是通常情况下,在查询学生信息时,用户只需要查询一部分学生的身高,例如查询一年级学生身高,此时,仍需要加载所有学生身高数据,再将一年级学生身高数据筛选出来。
2、为了提高列式存储的查询效率,现有技术会先针对常见的查询场景,进行二次预计算,将计算结果预先存储于数据仓库中,在接收到查询指令时,将存储的计算结果直接进行加载,以便免去数据筛选过程,直接将查询结果展示给用户。但是二次计算结果需要存储在数据仓库中,占用了数据仓库的存储空间。
3、针对列式存储在提高数据查询效率时,如何减少数据存储空间的占用,是本领域人员需要解决的问题。
技术实现思路
1、鉴于上述问题,本发明提出了一种数据表的读写方法及装置,主要目的在于在提高数据查询效率时,减少对数据仓库存储空间的占用。
2、为达到上述目的,本发明主要提供如下技术方案:
3、第一方面,本发明提供一种数据表的读写方法,包括:
4、获取多个分类标识,所述分类标识用于标记字段值组合,所述字段值组合中的字段值是待存储数据表中不同指定字段对应的字段值;
5、确定用于存储所述待存储数据表中目标字段对应的字段值的数据块,不同数据块存储所述目标字段中不同分类标识所对应的字段值;
6、将所述目标字段中的字段值按照不同的分类标识写入对应的数据块中;
7、在接收到携带有目标字段的字段名以及字段值组合的读取指令后,根据所述字段值组合对应的分类标识和所述目标字段的字段名查找对应的数据块,以便发送所述数据块中的数据。
8、第二方面,本发明提供一种基于数据仓库的数据读写装置,所述装置包括:
9、获取单元,用于获取多个分类标识,所述分类标识用于标记字段值组合,所述字段值组合中的字段值是待存储数据表中不同指定字段对应的字段值;
10、确定单元,用于确定用于存储所述待存储数据表中目标字段对应的字段值的数据块,不同数据块存储所述目标字段中不同分类标识所对应的字段值;
11、写入单元,用于将所述目标字段中的字段值按照不同的分类标识写入对应的数据块中;
12、读取单元,用于在接收到携带有目标字段的字段名以及字段值组合的读取指令后,根据所述字段值组合对应的分类标识和所述目标字段的字段名查找对应的数据块,以便发送所述数据块中的数据。
13、第三方面,本发明还提供一种存储介质,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述第一方面的数据表的读写方法。
14、第四方面,本发明还提供一种电子设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如上述的第一方面的数据表的读写方法。
15、借由上述技术方案,本发明提供的一种数据表的读写方法及装置,能够在提高数据查询效率时,减少数据存储空间的占用。本申请首先获取所有的分类标识,每个分类标识指代一个字段值组合,字段值组合是由各指定字段的字段值组合而成的,一个字段值组合对应待存储数据表目标字段中的一类字段值,本申请将目标字段中的字段值进行了分类,同一类的字段值对应同一个分类标识;其次,对目标字段设置数据块,不同数据块可存储目标字段中不同分类标识所对应的字段值;接着,基于分类标识,将目标字段值的字段值写入对应的数据块中。当接收到携带有目标字段的字段名以及字段值组合的读取指令后,根据字段值组合对应的分类标识和目标字段的字段名查找对应的数据块,将该数据块中的数据发送给用户。本申请相较于现有技术,既不需要加载待存储数据表中的所有数据,也无需在数据仓库中额外存储预计算结果,本申请在提高了数据查询效率的同时,减少了对数据仓库中存储空间的占用。
16、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种数据表的读写方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,确定用于存储所述待存储数据表中目标字段对应的字段值的数据块,包括:
3.根据权利要求2所述的方法,其特征在于,对所述存储空间进行划分,得到多个数据块,包括:
4.根据权利要求2所述的方法,其特征在于,对所述存储空间进行划分,得到多个数据块,包括:
5.根据权利要求4所述的方法,其特征在于,所述数据块是目标数据块或备用数据块,不同目标数据块存储不同分类标识对应的字段值,所述备用数据块用于当目标数据块存满时,存储同一分类标识对应的剩余字段值,则根据所述数据块容量对所述存储空间进行划分,得到相同容量的多个数据块,包括:
6.根据权利要求5所述的方法,其特征在于,将所述目标字段中的字段值按照不同的分类标识写入对应的数据块中,包括:
7.根据权利要求1-6中任意一项所述的方法,其特征在于,获取多个分类标识,包括:
8.一种数据表的读写装置,其特征在于,所述装置包括:
9.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行权利要求1-7中任意一项所述的数据表的读写方法。
10.一种电子设备,其特征在于,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1-7中任一项所述的数据表的读写方法。
