技术特征:
1.一种基于自适应不解压直接计算的流处理方法,其特征在于,包括以下步骤:确定待处理的流数据以及基于该待处理流数据的待执行应用;实时选择对待处理的流数据性能最优的压缩算法,并在客户端对待处理流数据进行自适应压缩,得到压缩后数据;基于客户端上所维护的可用的服务器资源队列,选择对待执行应用最合适的服务器,并将压缩后数据以及待执行的应用传输给相应服务器;相应服务器根据采用的压缩算法,在压缩后数据上进行待执行应用的运行处理,得到流处理结果。2.如权利要求1所述的一种基于自适应不解压直接计算的流处理方法,其特征在于,所述实时选择对待处理的流数据性能最优的压缩算法,并在客户端对待处理流数据进行自适应压缩,得到压缩后数据的方法,包括:每隔一段处理批,预读入预设数量处理批的流数据元组,并统计其数据特性;依据统计得到的数据特性,计算采用各种预设压缩算法所带来的总处理时间,选择总处理时间最少的压缩算法,作为本段处理批流数据的最优压缩算法;基于确定的最优压缩算法,对本段处理批的流数据进行自适应压缩,同时记录本段处理批的流数据所采用的压缩方法和占用的字节数,作为最终的压缩后数据。3.如权利要求2所述的一种基于自适应不解压直接计算的流处理方法,其特征在于,所述依据统计得到的数据特性,计算采用各种预设压缩算法所带来的总处理时间,选择总处理时间最少的压缩算法,作为本段处理批流数据的最优压缩算法,包括:确定能够对流数据进行压缩处理的各种压缩算法,包括eg编码、ed编码、ns编码、nsv编码、bd编码、rle编码、字典编码和位图;依据统计得到的数据特性,计算采用各种压缩算法所带来的总处理时间;基于不同压缩算法的总处理时间,选择总处理时间最少的压缩算法,作为本段处理批流数据的最优压缩方法。4.如权利要求3所述的一种基于自适应不解压直接计算的流处理方法,其特征在于,所述总处理时间的计算公式为:t=t
compress
+t
trans
+t
query
其中,t
compress
表示压缩用时,t
trans
表示传输用时,t
query
表示查询计算用时;所述压缩用时t
compress
的计算公式为:其中,α表示压缩算法是贪婪的还是懒惰的;t
wait
表示等待读入整个数据批所消耗的时间;表示压缩过程中用于访存的指令数;表示压缩过程中用于计算的指令数;n
client
表示客户端的处理性能;所述传输用时t
trans
的计算公式为:其中,size
t
表示每个元组所占用的字节数;r表示所选择的压缩算法τ的压缩比;size
b
表示每个批的元组数量;latency表示网络的传输延迟;
所述查询计算用时t
query
的计算公式为:其中,表示在查询过程中用于计算的指令所消耗的时间;表示在该过程中用于内存读写的指令消耗的时间。5.如权利要求3所述的一种基于自适应不解压直接计算的流处理方法,其特征在于,所述基于客户端上所维护的可用的服务器资源队列,选择对待执行应用最合适的服务器,并将压缩后数据以及待执行的应用传输给相应服务器,包括:基于客户端上所维护的可用的服务器资源队列s,选择第一个剩余可用资源足够执行当前任务的服务器来负责当前任务;当服务器接收当前任务后,向所有客户端发送当前的可用资源信息,更新客户端上的服务器资源队列s,以供新任务的资源分配,并在完成任务后,向客户端返回结果时,同时发送更新的可用资源信息。6.如权利要求5所述的一种基于自适应不解压直接计算的流处理方法,其特征在于,所述第一个剩余可用资源足够执行当前任务的服务器,满足条件:
①
mem
i
≥mem
k
,c
i
≥c
k
,g
i
≥g
k
;
②
满足mem
j
≥mem
k
,c
j
≥c
k
,g
j
≥g
k
;其中,mem
i
、mem
j
和mem
k
分别表示服务器s
i
对应的空闲内存、服务器s
j
对应的空闲内存和当前任务所需要的内存;c
i
、c
i
和c
k
分别表示服务器s
i
对应的cpu空闲率、服务器s
j
对应的cpu空闲率和当前任务所需要的空闲率;g
i
、g
j
和g
k
分别表示服务器s
i
对应的cpu空闲率、服务器s
j
对应的cpu空闲率和当前任务所需要的空闲率。7.如权利要求1所述的一种基于自适应不解压直接计算的流处理方法,其特征在于,所述相应服务器根据采用的压缩算法,在压缩后数据上进行待执行应用的运行处理,得到流处理结果,包括:对于一个给定的输入数据流,假设其共有n个数据属性<col1,col2,
…
,col
n
>和m个待处理的运算操作序列<op1,op2,
…
,op
m
>;遍历运算操作序列,对于每个运算符op
i
,如果该运算在gpu上的性能更好,就将该运算分配给gpu,反之则分配给cpu;相应服务器基于客户端发送的与n个数据属性一一对应的所采用的压缩算法的集合<τ1,τ2,
…
,τ
n
>以及压缩后数据所占用的字节数<bytes1,bytes2,
…
,bytes
n
>,对计算函数进行更新,并基于更新后的计算函数对相应运算符进行处理。8.一种基于自适应不解压直接计算的流处理系统,其特征在于,包括:输入模块,用于确定待处理的流数据以及基于该待处理流数据的待执行应用;自适应压缩模块,用于实时选择对待处理的流数据性能最优的压缩算法,在客户端对待处理流数据进行自适应压缩,得到压缩后数据;负载均衡模块,用于基于客户端上所维护的可用的服务器资源队列,选择对待执行应用最合适的服务器,并将压缩后数据以及待执行的应用传输给相应服务器;运算模块,用于相应服务器根据采用的压缩算法,在压缩后数据上进行待执行应用的运行处理,得到流处理结果。
9.一种处理设备,所述处理设备至少包括处理器和存储器,所述存储器上存储有计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现权利要求1到7任一项所述基于自适应不解压直接计算的流处理方法的步骤。10.一种计算机存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现根据权利要求1到7任一项所述基于自适应不解压直接计算的流处理方法的步骤。
技术总结
本发明涉及一种基于自适应不解压直接计算的流处理方法和系统,确定待处理的流数据以及基于该待处理流数据的待执行应用;实时选择对待处理的流数据性能最优的压缩算法,并在客户端对待处理流数据进行自适应压缩,得到压缩后数据;基于客户端上所维护的可用的服务器资源队列,选择对待执行应用最合适的服务器,并将压缩后数据以及待执行的应用传输给相应服务器;相应服务器根据采用的压缩算法,在压缩后数据上进行待执行应用的运行处理,得到流处理结果。本发明可以在现有的数据集上相比于静态方法实现明显的性能加速。因此,本发明可以广泛应用于大数据处理技术领域。广泛应用于大数据处理技术领域。广泛应用于大数据处理技术领域。
技术研发人员:张峰 张宇 杜小勇
受保护的技术使用者:中国人民大学
技术研发日:2022.10.17
技术公布日:2023/3/17