数据处理方法、装置及系统制造方法及图纸

技术编号:24331105 阅读:22 留言:0更新日期:2020-05-29 19:38
本申请公开了一种数据处理方法、装置及系统,属于数据存储领域。该方法包括:接收携带有用于向数据库写入的第一数据信息的写入请求,第一数据信息包括数据位和空值标记位,数据库中已存储的数据信息为去除空值标记位的数据信息;当空值标记位的内容指示数据位的内容为空值时,将第一数据信息中的数据位的内容更新为有效空值标志,并在删除第一数据信息中的空值标记位后,存储第一数据信息,有效空值标志与数据库中已存储的数据信息的数据位的内容不同;当空值标记位的内容指示数据位的内容不为空值,且数据位的内容与有效空值标志不同时,在删除第一数据信息中的空值标记位后,存储第一数据信息。本申请能够提高数据库的数据读取效率。

Data processing method, device and system

【技术实现步骤摘要】
数据处理方法、装置及系统
本申请涉及数据存储领域,特别涉及一种数据处理方法、装置及系统。
技术介绍
数据库系统中,存储的数据信息通常包括数据位和空值(null)标记位,数据位携带有该数据信息中实际的数据,空值标记位用于标识数据位的内容是否为空值。在目前开源的数据库中,空值标记位占用一个或多个数据单位,如一个字节(byte)或一个比特(bit)。例如,GreenPlum数据库采用一个布尔型(bool)变量数组保存一条元组各字段数据(即数据位中携带的数据)的内容是否为空值,MySQL数据库和impala数据库则通过一个比特指示数据位的内容是否为空值。但是,如此标识数据位的内容是否为空值的方式,在每次获取一个数据信息时,需要读取两个数据(即数据位和空值标记位),容易影响数据库的数据访问效率。
技术实现思路
本申请实施例提供了一种数据处理方法、装置及系统,能够提高数据库的数据访问效率。所述技术方案如下:第一方面,提供了一种一种数据处理方法,可以实现复合格式到融合格式的转换,该该转换过程包括:接收携带有用于向数据库写入的第一数据信息的写入请求,所述第一数据信息包括数据位和空值标记位,所述空值标记位的内容用于标识所述数据位的内容是否为空值,所述数据库中已存储的数据信息为去除所述空值标记位的数据信息;当所述空值标记位的内容指示所述数据位的内容为空值时,将所述第一数据信息中的所述数据位的内容更新为所述有效空值标志,并在删除所述第一数据信息中的空值标记位后,存储所述第一数据信息,所述有效空值标志与所述数据库中已存储的数据信息的数据位的内容不同;当所述空值标记位的内容指示所述数据位的内容不为空值,且所述数据位的内容与所述有效空值标志不同时,在删除所述第一数据信息中的空值标记位后,存储所述第一数据信息。本申请实施例中,当所述空值标记位的内容指示所述数据位的内容为空值时,将所述第一数据信息中的所述数据位的内容更新为所述有效空值标志,并在删除所述第一数据信息中的空值标记位后,存储所述第一数据信息,当所述空值标记位的内容指示所述数据位的内容不为空值,且所述数据位的内容与所述有效空值标志不同时,在删除所述第一数据信息中的空值标记位后,存储所述第一数据信息。如此实现复合格式到融合格式的转换,在每次获取一个数据信息时,无需读取两个数据(即数据位和空值标记位),提高数据库的数据访问效率。可选地,所述方法还包括:当所述空值标记位的内容指示所述数据位的内容不为空值,且所述数据位的内容与所述有效空值标志相同,存储所述第一数据信息;在所述数据库的已存储的其他数据信息中的数据位外添加所述空值标记位。可选地,所述方法还包括:当所述空值标记位的内容指示所述数据位的内容不为空值,且所述数据位的内容与所述有效空值标志相同,采用备选空值标志更新所述有效空值标志,得到新的有效空值标志,所述备选空值标志与所述数据库中已存储的数据信息的数据位的内容不同;将所述数据库中第一目标数据信息中的数据位的内容更新为新的有效空值标志,所述第一目标数据信息为数据位的内容为原有效空值标志的数据信息;删除所述第一数据信息中的空值标记位,并存储所述第一数据信息。有效空值标志的设置影响到融合格式是否有效,进一步影响到了数据库的性能,在本申请实施例中,有效空值标志可以有多种设置方式,以保证融合格式的有效性,保证数据库的性能,提高数据访问效率。本申请实施例以以下多种设置方式为例进行说明:在第一种设置方式中,数据位的长度为固定长度,该固定长度为x字节,有效空值标志的长度为y字节,y大于x,x和y均为2的整数倍。通过将有效空值标志的长度设置为大于数据位的长度,可以保证数据位中的内容(即携带的数据)与有效空值标志不同,从而避免出现两者相同的情况,保证有效空值标志对于任意写入的数据信息的有效性。示例的,y为x的n倍,n为2的整数倍。由于有效空值标志的长度越长,其所占用的存储空间越大,因此,通常y为x的2倍,即n=2。如此,可以在保证数据位中的内容与有效空值标志不同的同时,保证尽量占用较小的存储空间。本申请实施例中,在第一种设置方式中,尽管在数据库中,存储第一数据信息所占用的内存与复合格式所占用的内存相同,但由于有效数据标志是第一数据信息的数据位中无法使用到的数据,因此可以保证在整个数据处理过程中融合格式的数据的始终有效性。并且,由于在缓存中进行数据信息读取时,无需进行两次数据读取,仅需对数据位进行读取,因此,可以有效降低cachemiss的概率和数据访问时间,从而提高数据访问效率。在第二种设置方式中,数据库支持64位操作系统,第一数据信息的长度可变,也即是其数据位携带的是变字节长度数据,变字节长度数据在数据库中通常使用数据地址的格式来存储该数据的实际存放位置。而0XFFFFFFFFFFFFFFFF是一个目前未使用的一个数据地址,因此,有效空值标志可以为0XFFFFFFFFFFFFFFFF。与该第二种设置方式对应的,管理节点在删除第一数据信息中的空值标记位后,存储第一数据信息的过程包括:在删除第一数据信息中的空值标记位后,采用数据地址的格式存储第一数据信息中的数据位中的内容。在第二种设置方式中,由于有效数据标志是存储第一数据信息的数据位时无法使用到的数据,因此可以保证在整个数据处理过程中融合格式的数据的始终有效性。可选地,本申请实施例还可以实现融合格式到复合格式的转换,该转换过程相当于前述复合格式到融合格式的转换的逆过程。该转换过程还包括:接收用于从所述数据库读取第二数据信息的读取请求;当所述数据库中已存储的数据信息为去除所述空值标记位的数据信息,将所述数据库中存储的第二数据信息的数据位的内容与所述有效空值标志进行比较;当所述数据位的内容与所述有效空值标志相同时,在所述第二数据信息的所述数据位外添加所述空值标记位后,输出所述第二数据信息,添加的所述空值标记位的内容指示所述第二数据信息的数据位的内容为空值;当所述数据位的内容与所述有效空值标志不同时,在所述第二数据信息的所述数据位外添加所述空值标记位后,输出所述第二数据信息,添加的所述空值标记位的内容指示所述第二数据信息的数据位的内容不为空值。第二方面,本申请提供一种数据处理装置,所述装置可以包括至少一个模块,该至少一个模块可以用于实现上述第一方面或者第一方面的各种可能实现提供的所述数据处理方法。第三方面,本申请提供一种计算设备,该计算设备包括处理器和存储器。该存储器存储计算机指令;该处理器执行该存储器存储的计算机指令,使得该计算设备执行上述第一方面或者第一方面的各种可能实现提供的方法,使得该计算设备部署上述第二方面或者第二方面的各种可能实现提供的该数据处理装置。第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令指示该计算设备执行上述第一方面或者第一方面的各种可能实现提供的方法,或者该计算机指令指示该计算设备部署本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:/n接收携带有用于向数据库写入的第一数据信息的写入请求,所述第一数据信息包括数据位和空值标记位,所述空值标记位的内容用于标识所述数据位的内容是否为空值,所述数据库中已存储的数据信息为去除所述空值标记位的数据信息;/n当所述空值标记位的内容指示所述数据位的内容为空值时,将所述第一数据信息中的所述数据位的内容更新为所述有效空值标志,并在删除所述第一数据信息中的空值标记位后,存储所述第一数据信息,所述有效空值标志与所述数据库中已存储的数据信息的数据位的内容不同;/n当所述空值标记位的内容指示所述数据位的内容不为空值,且所述数据位的内容与所述有效空值标志不同时,在删除所述第一数据信息中的空值标记位后,存储所述第一数据信息。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
接收携带有用于向数据库写入的第一数据信息的写入请求,所述第一数据信息包括数据位和空值标记位,所述空值标记位的内容用于标识所述数据位的内容是否为空值,所述数据库中已存储的数据信息为去除所述空值标记位的数据信息;
当所述空值标记位的内容指示所述数据位的内容为空值时,将所述第一数据信息中的所述数据位的内容更新为所述有效空值标志,并在删除所述第一数据信息中的空值标记位后,存储所述第一数据信息,所述有效空值标志与所述数据库中已存储的数据信息的数据位的内容不同;
当所述空值标记位的内容指示所述数据位的内容不为空值,且所述数据位的内容与所述有效空值标志不同时,在删除所述第一数据信息中的空值标记位后,存储所述第一数据信息。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述空值标记位的内容指示所述数据位的内容不为空值,且所述数据位的内容与所述有效空值标志相同,存储所述第一数据信息;
在所述数据库的已存储的其他数据信息中的数据位外添加所述空值标记位。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述空值标记位的内容指示所述数据位的内容不为空值,且所述数据位的内容与所述有效空值标志相同,采用备选空值标志更新所述有效空值标志,得到新的有效空值标志,所述备选空值标志与所述数据库中已存储的数据信息的数据位的内容不同;
将所述数据库中第一目标数据信息中的数据位的内容更新为新的有效空值标志,所述第一目标数据信息为数据位的内容为原有效空值标志的数据信息;
删除所述第一数据信息中的空值标记位,并存储所述第一数据信息。


4.根据权利要求1至3任一所述的方法,其特征在于,所述数据位的长度为x字节,所述有效空值标志的长度为y字节,所述y大于所述x,所述x和所述y均为2的整数倍;
所述在删除所述第一数据信息中的空值标记位后,存储所述第一数据信息包括:在删除所述第一数据信息中的空值标记位后,采用y字节存储所述第一数据信息中的数据位中的内容。


5.根据权利要求4所述的方法,其特征在于,所述y为所述x的2倍。


6.根据权利要求1至3任一所述的方法,其特征在于,所述数据库支持64位操作系统,所述第一数据信息的长度可变,所述有效空值标志为0XFFFFFFFFFFFFFFFF。


7.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
接收用于从所述数据库读取第二数据信息的读取请求;
当所述数据库中已存储的数据信息为去除所述空值标记位的数据信息,将所述数据库中存储的第二数据信息的数据位的内容与所述有效空值标志进行比较;
当所述数据位的内容与所述有效空值标志相同时,在所述第二数据信息的所述数据位外添加所述空值标记位后,输出所述第二数据信息,添加的所述空值标记位的内容指示所述第二数据信息的数据位的内容为空值;
当所述数据位的内容与所述有效空值标志不同时,在所述第二数据信息的所述数据位外添加所述空值标记位后,输出所述第二数据信息,添加的所述空值标记位的内容指示所述第二数据信息的数据位的内容不为空值。


8.一种数据处理装置,其特征在于,所述装置包括:
接收携带有用于向数据库写入的第一数据信息的写入请求,所述第一数据信息包括数据位和空值标记位,所述空值标记位的内容用于标识所述数据位的内容是否为空值,所述数据库中已存储的数据信息为去除所述空值标记位的数据...

【专利技术属性】
技术研发人员:何鹏秋任阳
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1