本技术涉及数据处理技术,尤其涉及一种行元组的发送方法、装置、设备及存储介质。
背景技术:
1、元组(tuple)是关系数据库中的基本概念,可以是指表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。在二维表里,元组也称为行元组。行元组也可以在设备之间传输。
2、现有技术中服务器将按照一次一行元组方式读取当前行元组,接着基于网络将上述当前行元组发送至客户端,服务器每次都发送一个行元组至客户端。
3、然而,现有技术中每次直接将当前行元组发送至客户端,会增大行元组传输的网络开销,此外,当行元组中包括的数据量庞大时,每次发送行元组也会增大网络开销。
技术实现思路
1、本技术提供一种行元组的发送方法、装置、设备及存储介质,用以解决现有技术中每次直接将当前行元组发送至客户端,会增大行元组传输的网络开销,此外,当行元组中包括的数据量庞大时,每次发送行元组也会增大网络开销的问题。
2、第一方面,本技术提供一种行元组的发送方法,所述方法包括:
3、响应于用户触发的行元组发送请求,获取行元组集;所述行元组集中包括n个行元组;所述行元组中包括属性不相同的至少一个行数据;所述n为正整数;
4、对所述行元组集中包括的行元组执行行转列的转换,以获得至少一个列数据集;
5、将各所述列数据集进行压缩,以获得各压缩列数据集;
6、将各所述压缩列数据集发送至客户端。
7、可选的,所述对所述行元组集中包括的行元组执行行转列的转换,以获得至少一个列数据集,包括:
8、从所述行元组集中获取第i个行元组;所述i为1、2、……、n;
9、针对所述第i个行元组中的各行数据,确定行数据对应的列存储区域;
10、将所述行数据存储至所述对应的列存储区域以执行完成行转列的转换,若所述第i个行元组中包括的所有行数据均完成行转列的转换,继续从行元组集中获取下一个行元组,直到所有行元组均执行完成行转列的转换,以获得至少一个列数据集。
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、将所述行数据的占据位置以及占据字节长度写入所述对应的列结构的记录表。
39、第二方面,本技术提供一种行元组的发送装置,所述装置包括:
40、获取模块,用于响应于用户触发的行元组发送请求,获取行元组集;所述行元组集中包括n个行元组;所述行元组中包括属性不相同的至少一个行数据;所述n为正整数;
41、转换模块,用于对所述行元组集中包括的行元组执行行转列的转换,以获得至少一个列数据集;
42、压缩模块,用于将各所述列数据集进行压缩,以获得各压缩列数据集;
43、发送模块,用于将各所述压缩列数据集发送至客户端。
44、第三方面,本技术提供一种服务器,包括:处理器,以及与所述处理器通信连接的存储器和收发器;
45、所述存储器存储计算机执行指令;所述收发器,用于收发数据;
46、所述处理器执行所述存储器存储的计算机执行指令,以实现如上述第一方面或任一项方式中所述的方法。
47、第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面或任一项方式中所述的方法。
48、第五方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述第一方面或任一项方式中所述的方法。
49、本技术提供一种行元组的发送方法、装置、设备及存储介质,本技术中行元组的发送装置(以下简称发送装置)响应于用户触发行元组发送请求,从而获取行元组集,在行元组集中包括n个行元组,且行元组中包括属性不相同的至少一个行数据,接着发送装置对行元组集中包括的行元组执行行转列的转换,进而获得至少一个列数据集,进一步的,发送装置对各列数据集进行压缩,从而获得压缩列数据集,再将各压缩列数据集发送至客户端。所以,本技术中能够对行元组进行行转列的转换,转换之后的列数据集便于压缩,接着对列数据集进行压缩,得到的压缩列数据集数据量减小,从而可以在发送时减少网络开销,使得发送效率有所提升。
1.一种行元组的发送方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述行元组集中包括的行元组执行行转列的转换,以获得至少一个列数据集,包括:
3.根据权利要求2所述的方法,其特征在于,所述确定行数据对应的列存储区域,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述目标属性以及预设列存储属性映射集确定对应的列存储区域,包括:
5.根据权利要求4所述的方法,其特征在于,所述将所述行数据存储至所述对应的列存储区域以执行完成行转列的转换,包括:
6.根据权利要求5所述的方法,其特征在于,所述将所述行数据存储至所述对应的列存储区域的列结构,包括:
7.根据权利要求1所述的方法,其特征在于,所述将各所述列数据集进行压缩,以获得各压缩列数据集,包括:
8.根据权利要求1-6所述的方法,其特征在于,所述方法还包括:
9.一种行元组的发送装置,其特征在于,所述装置包括:
10.一种服务器,包括:处理器,以及与所述处理器通信连接的存储器和收发器;
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述权利要求1-8中任一项所述的方法。