一种数据处理的方法及装置的制造方法

文档序号:9375369阅读:182来源:国知局
一种数据处理的方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种数据处理的方法及装置。
【背景技术】
[0002]随着科学技术和互联网的发展,现代社会的信息量迅速增长,这些信息里积累着大量的数据,这些数据中将会有部分数据存储在云平台中或借助云平台进行处理,借助Hadoop可以高效地存储、管理和分析这些存储在云平台中的数据。
[0003]Hadoop是一个能够对大量数据进行分布式处理的软件架构,其最底部是一个分布式文件系统,通过采用分布式存储方式来进行数据存储,提高了数据的读写速度,也扩大了存储容量。分布式文件系统的上一层是映射简化(MapReduce)引擎,通过MapReduce引擎对分布式文件系统中的数据进行整合,可以保证分析和处理数据的高效性,正是由于Hadoop突出的优势,其在许多领域中被广泛应用。但是在具有如图形处理器(GraphicsProcessing Unit, GPU)等加速部件的集群环境中,由于现有的Hadoop的MapReduce引擎为用户提供的〈key, value〉编程接口的局限性,使得Hadoop的MapReduce引擎无法触发已有的加速部件进行数据的处理,这样也就无法利用加速部件强大的计算能力,使得处理数据的效率得不到提高。

【发明内容】

[0004]本发明的实施例提供一种数据处理的方法及装置,用以提高数据处理的效率。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]第一方面,本发明实施例提供了一种数据处理的方法,包括:获取待处理任务以及与所述待处理任务对应的至少一个待处理的数据;为所述待处理任务分配图形处理器GPU ;将所述待处理任务对应的所述至少一个待处理数据转换为数据集合类型的数据;将所述数据集合类型中的数据进行解析,将解析后的数据生成至少一个数据块;将所述生成的至少一个数据块发送给所述被分配的GPU,以使得所述GPU根据所述待处理任务对所述至少一个数据块进行计算处理。
[0007]在第一方面的第一种可能的实现方式中,在为所述待处理任务分配图形处理器GPU之前还包括:获取预先配置的资源信息表;所述资源信息表用于记录GPU的数量以及所述GPU的使用情况信息。
[0008]结合第一方面的第一种可能的实现方式中,在第一方面的第二种可能的实现方式中,在所述获取资源信息表之后,还包括:确定所述待处理任务需要的GPU的使用数量;所述为待处理任务分配图形处理器GPU包括:根据所述资源信息表中GPU的数量及所述GPU的使用情况信息,确定未使用的GPU的数量满足所述待处理任务需要的GPU的使用数量时,为所述待处理任务分配GPU。
[0009]结合第一方面第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述资源信息表还用于记录中央处理器CPU的数量以及所述CPU的使用情况信息;在所述确定所述待处理任务需要的GPU的使用数量之后,还包括:确定所述资源信息表中未使用的GPU的数量不满足待处理任务需要的GPU的使用数量时,为所述待处理任务分配CPU。
[0010]结合第一方面,或第一方面的第一至第三任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述将所述待处理任务对应的所述至少一个待处理数据转换为数据集合类型的数据包括:确定所述数据集合类型的数据大小;根据所述数据集合类型的数据大小,将所述至少一个待处理数据分配至至少一个数据集合中;所述数据集合中包含的待处理数据的大小不大于所述数据集合类型的数据大小。
[0011]结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述数据集合类型的数据大小,将所述至少一个待处理数据分配至至少一个数据集合中包括:在所述待处理任务对应的所述至少一个待处理数据的数据类型为变长数据类型时,根据所述数据集合类型的数据大小,将所述至少一个待处理数据分配至至少一个数据集合中,且记录所述至少一个待处理数据在所述至少一个数据集合中的位置信息,以使得所述GPU根据所述位置信息,获取所述待处理数据;所述位置信息用于记录变长类型的待处理数据在数据集合中的位置相关信息。
[0012]结合第一方面,或第一方面的第一至第五任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述将所述数据集合类型中的数据进行解析,将解析后的数据生成至少一个数据块包括:利用预设的解析函数,将所述数据集合类型中的数据的数据格式转换为所述GPU进行计算处理时所需的数据格式;将转换数据格式后的数据生成至少一个数据块。
[0013]结合第一方面,或第一方面的第一至第六任一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述将所述生成的至少一个数据块发送给所述被分配的GPU包括:将所述生成的至少一个数据块存储至所述被分配的GPU的缓存区中。
[0014]结合第一方面,或第一方面的第一至第七六任一种可能的实现方式,在第一方面的第八种可能的实现方式中,在所述将所述生成的至少一个数据块发送给所述被分配的GPU之后,还包括:接收所述被分配的GPU发送的计算处理结果,并对所述计算处理结果进行分区、排序及合并处理。
[0015]第二方面,本发明实施例提供了一种数据处理的装置,包括:获取单元,用于获取待处理任务以及和所述待处理任务对应的至少一个待处理的数据;分配单元,用于为待处理任务分配图形处理器GPU;转换单元,用于将所述待处理任务对应的所述至少一个待处理数据转换为数据集合类型的数据;解析单元,用于将所述转换单元转换的所述数据集合类型中的数据进行解析,将解析后的数据生成至少一个数据块;发送单元,用于将所述解析单元生成的所述至少一个数据块发送给所述分配单元分配的GPU,以使得所述GPU根据所述待处理任务对所述至少一个数据块进行计算处理。
[0016]在第二方面的第一种可能的实现方式中,所述获取单元,还用于获取预先配置的资源信息表;所述资源信息表用于记录GPU的数量以及所述GPU的使用情况信息。
[0017]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述装置还包括:确定单元,用于确定所述待处理任务需要的GPU的使用数量;所述分配单元,具体用于根据所述获取单元获取的资源信息表中GPU的数量及所述GPU的使用情况信息,确定未使用的GPU的数量满足所述确定单元确定的所述待处理任务需要的GPU的使用数量时,为所述待处理任务分配GPU。
[0018]结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述资源信息表还用于记录中央处理器CPU的数量以及所述CPU的使用情况信息;所述分配单元,还用于确定未使用的GPU的数量不满足所述确定单元确定的所述待处理任务需要的GPU的使用数量时,为所述待处理任务分配CPU。
[0019]结合第二方面,或第二方面的第第一至第三任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述转换单元,具体用于确定所述数据集合类型的数据的大小;根据所述数据集合类型的数据的大小,将所述至少一个待处理数据分配至至少一个数据集合中;所述数据集合中包含的待处理数据的大小不大于所述数据集合类型的数据的大小。
[0020]结合第二方面的第三种可能的实现方式,在第二方面的第五种可能的实现方式中,所述转换单元,具体用于在所述待处理任务对应的所述至少一个待处理数据的数据类型为变长数据类型时,根据所述数据集合类型的数据的大小,将所述至少一个待处理数据分配至至少一个数据集合中,且记录所述至少一个待处理数据在所述至少一个数据集合中的位置信息,以使得所述GPU根据所述位置信息,获取所述待处理数据;所述位置信息用于记录变长类型的待处理数据在数据集合中的位置相关信息。
[0021]结合第二方面,或第二方面的第第一至第五任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述解析单元,具体用于利用预设的解析函数,将所述数据集合类型中的数据的数据格式转换为所述GPU进行计算处理时所需的数据格式;将转换数据格式后的数据生成至少一个数据块。
[0022]结合第二方面,或第二方面的第第一至第六任一种可能的实现方式,在第二方面的第七种可能的实现方式中,所述发送单元,具体用于将所述生成的至少一个数据块发送给所述被分配的GPU的缓存区中。
[0023]结合第二方面,或第二方面的第第一至第七任一种可能的实现方式,在第二方面的第八种可能的实现方式中,所述装置还包括:接收单元,用于接收所述GPU发送的计算处理结果;处理单元,用于对所述计算处理结果进行分区、排序及合并处理。
[0024]第三方面,本发明实施例提供了一种数据处理的装置,包括:处理器,存储器,通信接口,和总线,其中,所述处理器、所述存储器和所述通信接口通过所述总线通信;所述存储器,用于存放程序;所述处理器,用于执行所述存
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1