数据库数据读取方法、数据库数据写入方法及装置制造方法及图纸

技术编号:30155017 阅读:22 留言:0更新日期:2021-09-25 15:05
本发明专利技术提供了一种数据库数据读取方法、数据库数据写入方法及装置,其中,该数据库数据读取方法,包括:依据数据库的端口带宽从数据库中读取数据位数据,并从数据库中读取读取的数据位数据对应的标志位数据;分别从数据位数据和标志位数据中提取有效数据,以对齐数据位数据中的原子位宽的数据位与标志位数据中相应的标志位;缓存有效数据;对缓存的原子位宽的数据位与标志位进行打包,得到相应数据格式;数据位数据和标志位数据的位宽形式均为端口带宽,标志位数据包括能够标识数据位数据中相应原子位宽的数据位在其所属数据元素中的位置的标志位,数据元素位宽为原子位宽的正整数倍。通过上述方案能够提高数据库数据的读、写效率及端口利用率。写效率及端口利用率。写效率及端口利用率。

【技术实现步骤摘要】
数据库数据读取方法、数据库数据写入方法及装置


[0001]本专利技术涉及数据库
,尤其涉及一种数据库数据读取方法、数据库数据写入方法及装置。

技术介绍

[0002]在数据库中,数据类型非常丰富,包括char、varchar、text、binary、tinyint、int、decimal等数据类型。不同数据类型在内存或硬盘存储中所占用存储空间大小不同,并且,在数据库中,数据表格中有很多可变长度的属性列,各属性列中数据元素所占用的存储空间也不相同。不同数据元素所占用的存储空间大小不同。这都给数据库存储设计带来了巨大的挑战,而且为了保证数据存储的灵活性,需要针对每一元素进行分别存储,进一步会导致数据更新、删除、读写等操作的效率都十分低下。
[0003]目前,为了加速数据库中的查询操作效率,人们提出了专用加速。但是,在设计数据库的专用加速器时,通常是采用统一的数据格式(占用相同存储空间)存储及读写数据。然而,对于所占空间大小不同的数据类型、可变长属性列、或不能而言,统一的数据格式容易导致读写数据慢等问题,而目前针对这些问题还没有太好的解决方案。

技术实现思路

[0004]本专利技术提供了一种数据库数据读取方法、数据库数据写入方法及装置,以提高与数据库交互数据的效率。
[0005]为了达到上述目的,本专利技术采用以下方案实现:
[0006]根据本专利技术实施例的一个方面,提供了一种数据库数据读取方法,包括:
[0007]依据数据库的端口带宽从所述数据库中读取数据位数据,并从所述数据库中读取读取的数据位数据对应的标志位数据;
[0008]分别从读取的数据位数据和读取的标志位数据中提取有效数据,以对齐读取的数据位数据中的原子位宽的数据位与读取的标志位数据中相应的标志位;
[0009]缓存读取的数据位数据中的有效数据和读取的标志位数据中的有效数据;
[0010]对缓存的数据位数据中的有效数据中的原子位宽的数据位与标志位数据中的有效数据中相应的标志位进行打包,得到包含一个原子位宽的数据位与相应标志位的数据格式的数据;
[0011]其中,读取的数据位数据和读取的标志位数据的位宽形式均为所述端口带宽,读取的标志位数据包括能够标识读取的数据位数据中相应原子位宽的数据位在其所属数据元素中的位置的标志位,各数据元素的位宽为所述原子位宽的正整数倍,数据库中以分别存储原子位宽的数据位和相应的标志位的格式存储数据。
[0012]在一些实施例中,依据数据库的端口带宽从所述数据库中读取数据位数据,包括:从数据库中读取所述数据库的端口带宽的数据位数据。
[0013]在一些实施例中,缓存读取的数据位数据中的有效数据和读取的标志位数据中的
有效数据,包括:缓存至少一次读取的数据位数据中的有效数据和相应地读取的标志位数据中的有效数据,其中,缓存的数据位数据中的有效数据的数量允许外部计算单元不间断地获取包含一个原子位宽的数据位与相应标志位的数据格式的数据。
[0014]在一些实施例中,所述原子位宽为一个字节的长度。
[0015]在一些实施例中,读取的标志位数据中的标志位还用于标识读取的数据位数据中相应的原子位宽的数据位的有效性。
[0016]在一些实施例中,读取的标志位数据中的每个标志位包含两个数据位,其中,所述两个数据位中的一位的值用于标识相应原子位宽的数据位数据的有效性,另一位的值用于标识相应原子位宽的数据位是否位于其所属数据元素的末尾。
[0017]在一些实施例中,所述数据库基于内存或硬盘存储数据。
[0018]根据本专利技术实施例的另一个方面,提供了一种数据库数据写入方法,包括:
[0019]获取包含一个原子位宽的数据位与相应标志位的数据格式的数据,并将获取的所述数据格式的数据拆分为原子位宽的数据位数据和相应的标志位数据,以使不同所述数据格式的数据中的原子位宽的数据位数据和标志位数据分别集合在一起;
[0020]根据数据库中数据存储区的可用存储位置分别对拆分得到的原子位宽的数据位数据和相应的标志位数据进行对齐处理,以充分利用所述数据库中的数据存储区;
[0021]缓存对齐处理后的原子位宽的数据位数据和对齐处理后的标志位数据;
[0022]依据所述数据库的端口带宽确定待集成的对齐处理后的原子位宽的数据位数据的数据量,对缓存的所述数据量的对齐处理后的原子位宽的数据位数据和相应的对齐处理后的标志位数据分别进行集成,并将集成后的数据位数据和集成后的标志位数据分别以所述数据库的端口带宽的位宽形式对应地写入所述数据库;
[0023]其中,所述数据格式的数据中的标志位包括能够标识相应原子位宽的数据位在其所属数据元素中的位置,各数据元素的位宽为所述原子位宽的正整数倍。
[0024]在一些实施例中,集成后的数据位数据的位宽为所述数据库的端口带宽。
[0025]在一些实施例中,所述原子位宽为一个字节的长度。
[0026]在一些实施例中,所述数据格式的数据中的标志位还用于标识相应原子位宽的数据位数据的有效性。
[0027]在一些实施例中,所述数据格式的数据中的标志位包含两个数据位,其中,所述两个数据位中的一位的值用于标识相应原子位宽的数据位数据的有效性,另一位的值用于标识相应原子位宽的数据位是否位于其所属数据元素的末尾。
[0028]根据本专利技术实施例的又一个方面,提供了一种数据库数据读取装置,包括:
[0029]读数据解码单元,用于:依据数据库的端口带宽从所述数据库中读取数据位数据,并从所述数据库中读取读取的数据位数据对应的标志位数据;分别从读取的数据位数据和读取的标志位数据中提取有效数据,以对齐读取的数据位数据中的原子位宽的数据位与读取的标志位数据中相应的标志位;
[0030]读数据缓存单元,用于:缓存读取的数据位数据中的有效数据和读取的标志位数据中的有效数据;
[0031]读数据打包单元,用于:对缓存的数据位数据中的有效数据中的原子位宽的数据位与标志位数据中的有效数据中相应的标志位进行打包,得到包含一个原子位宽的数据位
与相应标志位的数据格式的数据;其中,读取的数据位数据和读取的标志位数据的位宽形式均为所述端口带宽,读取的标志位数据包括能够标识读取的数据位数据中相应原子位宽的数据位在其所属数据元素中的位置的标志位,各数据元素的位宽为所述原子位宽的正整数倍,数据库中以分别存储原子位宽的数据位和相应的标志位的格式存储数据。
[0032]根据本专利技术实施例的再一个方面,提供了一种数据库数据写入装置,包括:
[0033]写数据编码单元,用于:获取包含一个原子位宽的数据位与相应标志位的数据格式的数据,并将获取的所述数据格式的数据拆分为原子位宽的数据位数据和相应的标志位数据,以使不同所述数据格式的数据中的原子位宽的数据位数据和标志位数据分别集合在一起;根据数据库中数据存储区的可用存储位置分别对拆分得到的原子位宽的数据位数据和相应的标志位数据进行对齐处理,以充分利用所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库数据读取方法,其特征在于,包括:依据数据库的端口带宽从所述数据库中读取数据位数据,并从所述数据库中读取读取的数据位数据对应的标志位数据;分别从读取的数据位数据和读取的标志位数据中提取有效数据,以对齐读取的数据位数据中的原子位宽的数据位与读取的标志位数据中相应的标志位;缓存读取的数据位数据中的有效数据和读取的标志位数据中的有效数据;对缓存的数据位数据中的有效数据中的原子位宽的数据位与标志位数据中的有效数据中相应的标志位进行打包,得到包含一个原子位宽的数据位与相应标志位的数据格式的数据;其中,读取的数据位数据和读取的标志位数据的位宽形式均为所述端口带宽,读取的标志位数据包括能够标识读取的数据位数据中相应原子位宽的数据位在其所属数据元素中的位置的标志位,各数据元素的位宽为所述原子位宽的正整数倍,数据库中以分别存储原子位宽的数据位和相应的标志位的格式存储数据。2.如权利要求1所述的数据库数据读取方法,其特征在于,依据数据库的端口带宽从所述数据库中读取数据位数据,包括:从数据库中读取所述数据库的端口带宽的数据位数据。3.如权利要求1所述的数据库数据读取方法,其特征在于,缓存读取的数据位数据中的有效数据和读取的标志位数据中的有效数据,包括:缓存至少一次读取的数据位数据中的有效数据和相应地读取的标志位数据中的有效数据,其中,缓存的数据位数据中的有效数据的数量允许外部计算单元不间断地获取包含一个原子位宽的数据位与相应标志位的数据格式的数据。4.如权利要求1所述的数据库数据读取方法,其特征在于,所述原子位宽为一个字节的长度。5.如权利要求1所述的数据库数据读取方法,其特征在于,读取的标志位数据中的标志位还用于标识读取的数据位数据中相应的原子位宽的数据位的有效性。6.如权利要求5所述的数据库数据读取方法,其特征在于,读取的标志位数据中的每个标志位包含两个数据位,其中,所述两个数据位中的一位的值用于标识相应原子位宽的数据位数据的有效性,另一位的值用于标识相应原子位宽的数据位是否位于其所属数据元素的末尾。7.如权利要求1所述的数据库数据读取方法,其特征在于,所述数据库基于内存或硬盘存储数据。8.一种数据库数据写入方法,其特征在于,包括:获取包含一个原子位宽的数据位与相应标志位的数据格式的数据,并将获取的所述数据格式的数据拆分为原子位宽的数据位数据和相应的标志位数据,以使不同所述数据格式的数据中的原子位宽的数据位数据和标志位数据分别集合在一起;根据数据库中数据存储区的可用存储位置分别对拆分得到的原子位宽的数据位数据和相应的标志位数据进行对齐处理,以充分利用所述数据库中的数据存储区;缓存对齐处理后的原子位宽的数据位数据和对齐处理后的标志位数据;依据所述数据库的端口带宽确定待集成的对齐处理后的原子位宽的数据位数据的数
据量,对缓存的所述数据量的对齐处理后的原子位宽的数据位数据和相应的对齐处理后的标志位数据分别进行集成,并将集成后的数据位数据和集成后的标志位数据分别以所述数据库的端口带宽的位宽形式对应地写入所述数据库;其中,所述数据格式的数据中的标志位...

【专利技术属性】
技术研发人员:鄢贵海卢文岩
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1