[发明专利]一种分组查询中聚合函数的数据处理方法及系统有效
申请号: | 201710351866.0 | 申请日: | 2017-05-18 |
公开(公告)号: | CN107122490B | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 王丽 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分组 查询 聚合 函数 数据处理 方法 系统 | ||
本申请公开了一种分组查询中聚合函数的数据处理方法及系统,包括主CPU将待查询数据文件划分成数据块,并将所述数据块分配到多个计算节点;各计算节点CPU分别将所述数据块传输给FPGA,所述FPGA与所述计算节点CPU通过PCIe接口对应连接;所述FPGA获取所述数据块,按照分组查询中聚合函数的计算算法对所述数据块进行SQL分组查询聚合函数的计算,并通过所述计算节点CPU向所述主CPU返回计算结果;计算算法采用Opencl语言并行优化实现,并移植在所述FPGA上;主CPU合并所述计算结果,得到最终的查询结果。本申请通过FPGA并行加速提高了计算节点的处理能力,进而提高了分组查询聚合函数的计算速度。
技术领域
本申请涉及大数据处理领域,特别涉及一种分组查询中聚合函数的数据处理方法及系统。
背景技术
近年来,随着信息技术的发展,大数据处理技术作为新时代的高科技产物已经广泛应用在各行各业中。
大数据处理中采用了分布式处理技术,可以将不同地点的不同类型指令集和体系架构的计算节点使用通信网络连接起来,构成分布式处理系统。在主控制单元的统一控制管理下,各个计算节点协调地完成数据处理任务。
分组查询计算是一项常见的数据处理任务,可以将同类别的处理对象划分为一组进行计算,得到目标聚合函数值,使得数据中的信息更加一目了然。Spark大数据处理系统作为大数据处理领域中最为热门的快速通用计算平台,可以支持外接设备使用SQL语句进行分组查询计算操作。
随着数据存储规模和计算规模的不断增大,数据库的SQL分组查询计算操作面临着巨大的挑战。由于在当今信息爆炸时代,数据逐渐呈现出海量、类型多、价值密度低等特点,导致数据库的SQL分组查询计算操作的处理量和复杂度大大增加。相对于数据爆发式的增长速度,现有技术中计算节点的计算能力是有限的,因而处理时间也大大增加。因此,如何有效提高分组查询计算操作的速度,以适应当前社会的发展需求,已经成为本领域技术人员亟待解决的技术问题。
发明内容
本申请的目的在于提供一种分组查询中聚合函数的数据处理方法及系统,以提高大数据平台进行分组查询聚合函数计算操作的速度。
为解决上述技术问题,本申请提供一种分组查询中聚合函数的数据处理方法,包括:
主CPU将待查询数据文件划分成数据块,并将所述数据块分配到多个计算节点;
各计算节点CPU分别将所述数据块传输给FPGA,所述FPGA与所述计算节点CPU通过PCIe接口对应连接;
所述FPGA获取所述数据块,按照分组查询中聚合函数的计算算法对所述数据块进行SQL分组查询聚合函数的计算,并通过所述计算节点CPU向所述主CPU返回计算结果;所述分组查询中聚合函数的计算算法的代码采用Opencl语言并行优化实现,并移植和部署在所述FPGA上;
所述主CPU合并所述计算结果,得到最终的查询结果。
可选地,在所述主CPU将待查询数据文件划分成数据块之前,还包括:
所述主CPU解析查询语句;
依据所述查询语句加载所述待查询数据文件。
可选地,所述FPGA获取所述数据块包括:
所述FPGA在本地内存申请空间;
从DDR中将所述数据块加载到所述空间得到数据列。
可选地,所述FPGA按照分组查询中聚合函数的计算算法对所述数据块进行SQL分组查询聚合函数的计算包括:
在数据向量中加载所述数据列中的数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710351866.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据对比方法及装置
- 下一篇:用于数据交互的方法