[发明专利]一种数据信息排序方法、CPU端、FPGA端及系统有效
申请号: | 201710607627.7 | 申请日: | 2017-07-24 |
公开(公告)号: | CN107391088B | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 李雪雷 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F15/78 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 信息 排序 方法 cpu fpga 系统 | ||
本申请公开了一种数据信息排序方法,包括:CPU端执行从快速排序算法中分离出来的主程序算法;其中,所述CPU端执行主程序算法的过程,包括将待排序数据集传递到FPGA端,并向FPGA端发送排序启动控制命令;所述FPGA端在获取到所述排序启动控制命令后,执行从所述快速排序算法中分离出来的kernel程序算法,以对所述待排序数据集进行排序处理,得到相应的排序结果。本发明通过增加FPGA端来运行排序算法核心程序,突破原有的硬件限制,增加了运算速度,提高了工作效率。本发明还提供一种数据信息排序系统、CPU端、FPGA端,能够运行所述数据信息排序方法,同样能够增加运算速度,提高工作效率。
技术领域
本发明涉及计算机领域,特别涉及一种数据信息排序方法、CPU端、FPGA(Field-Programmable Gate Array,现场可编程门阵列)端及系统。
背景技术
随着信息技术的发展,数据量也随之暴增,数据处理的速度严重影响了用户请求的响应时间。尤其针对云计算下的应用,海量数据处理的快速响应需要占用大量计算资源,严重影响了云计算数据处理中心的性能。
目前,数据搜索领域应用中快速排序方法性能相对较高,已有很多研究和技术对快速排序算法进行了改进用于进一步提高性能。然而,对该技术的改进均在现有的CPU硬件环境中进行,而现有的CPU硬件环境对快速排序算法的改进是有限度的。
因此,如何提供一种数据信息排序方法,以突破现有的CPU硬件环境对快速排序算法的限制,提高快速排序算法的速度,是本领域技术人员目前需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据信息排序方法、CPU端、FPGA端及系统,以突破现有的CPU硬件环境对快速排序算法的限制,提高快速排序算法的速度。其具体方案如下:
第一方面,本发明提供一种数据信息排序方法,包括:
CPU端执行从快速排序算法中分离出来的主程序算法;其中,所述CPU端执行主程序算法的过程,包括将待排序数据集传递到FPGA端,并向FPGA端发送排序启动控制命令;
所述FPGA端在获取到所述排序启动控制命令后,执行从所述快速排序算法中分离出来的kernel(核心)程序算法,以对所述待排序数据集进行排序处理,得到相应的排序结果。
优选地,所述CPU端将待排序数据集传递到FPGA端,包括:
在所述FPGA端上创建目标缓存;
将所述待排序数据集发送至所述目标缓存。
优选地,所述得到相应的排序结果之后,还包括:
所述FPGA端将所述排序结果保存至所述目标缓存,并向所述CPU端发送排序完毕指示信号;
所述CPU端接收到所述排序完毕指示信号之后,从所述目标缓存中读取出所述排序结果。
优选地,所述对所述待排序数据集进行排序处理,包括:
S11:对待排序数据集进行排序处理,并将本次排序结果保存至所述FPGA端的所述目标缓存中;
S12:将步骤S11中的排序结果作为新的待排序数据集,并进入步骤S11,直到步骤S11的执行次数等于预设次数阈值为止。
优选地,所述对待排序数据集进行排序处理,并将本次排序结果保存至所述FPGA端的所述目标缓存中的过程,包括:
将待排序数据集中的第一个数据设为轴点;
将待排序数据集的目标剩余数据依次写入所述目标缓存,然后将所述第一个数据写入所述目标缓存的最后一个空缺位置,以实现对待排序数据集的排序处理并对排序结果进行存储;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710607627.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种硬件信息读写的方法及装置
- 下一篇:一种流水线避免堵塞的电路实现方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置