[发明专利]一种海量数据实时排序优化方法有效
申请号: | 201710043943.6 | 申请日: | 2017-01-19 |
公开(公告)号: | CN106909624B | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 李波;古晓艳;钟进文;王卓;王伟平;孟丹 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F16/172 | 分类号: | G06F16/172;G06F16/17;G06F16/2453;G06F16/2455;G06F16/2457;G06F16/9535 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 海量 数据 实时 排序 优化 方法 | ||
本发明公开了一种海量数据实时排序优化方法。本方法为:1)设置一集群级节点、若干节点级节点和若干文件级节点;2)集群级节点将收到的检索排序请求发送给各节点级节点,各节点级节点将该检索排序请求发送给本节点的文件级节点;3)各文件级节点根据该检索排序请求,将与本节点相关的日志文件排序后输出有序数据给节点级节点;4)各节点级节点根据该检索排序请求将本节点上符合时间范围和分区条件的日志数据排序后输出给该集群级节点;5)该集群级节点将各节点级节点发送过来的有序数据流进行排序汇总。在任意的排序场景中,本方法都能有效降低内存使用量。
技术领域
本发明涉及数据查询优化领域,是一种针对海量数据实时排序的优化方法。
背景技术
由于日志数据之间一般都存在时序关系,这就要求检索引擎一方面能以秒级响应的性能获得满足业务用户需求的数据,另一方面还需要在获取数据时保持这种时序关系,即需要检索引擎支持面向海量日志数据的秒级排序功能。
按照传统的排序方法,检索引擎需要获取所有满足条件的数据后才能进行排序并返回结果,这在结果集较大的情况下将无法实现秒级响应,另一方面由检索引擎缓存所有中间结果也将消耗大量的系统资源,从而影响检索引擎服务的整体性能。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种海量数据实时排序优化方法。本发明提出针对海量日志数据的多级流水排序方法,该方法通过文件级、节点级、集群级三级流水排序的方式,一方面保证了首批结果集的响应时间,另一方面各级排序不用缓存所有中间结果,从而降低了检索引擎排序所需的内存资源。
本发明的技术方案为:
一种海量数据实时排序优化方法,其步骤为:
1)设置一集群级节点、若干节点级节点和若干文件级节点;其中,集群级节点为接入检索排序请求的服务器节点,节点级节点为响应检索排序请求的服务器节点,文件级节点为节点级节点内部的文件排序进程;
2)集群级节点将收到的检索排序请求发送给各节点级节点,各节点级节点将该检索排序请求发送给本节点的文件级节点;
3)各文件级节点根据该检索排序请求,将与本节点相关的日志文件排序后输出有序数据给节点级节点;
4)各节点级节点根据该检索排序请求将本节点上符合时间范围和分区条件的日志数据排序后输出给该集群级节点;
5)该集群级节点将各节点级节点发送过来的有序数据流进行排序汇总。
进一步的,所述节点级节点根据该检索排序请求确定需要排序的文件集合,然后为该文件集合中每一待排序文件分配一文件级节点;然后该文件级节点查询对应待排序文件中符合该检索排序请求的日志数据,并将其排序后发送给所述节点级节点。
进一步的,所述节点级节点将其包含的文件级节点按时间区间合并成多个组,同一组文件级节点对应的文件属于同一时间区间;所述节点级节点依次从各组文件级节点获取所述有序数据进行排序后发送给所述集群级节点。
进一步的,所述集群级节点将各节点级节点发送过来的有序数据流进行实时排序汇总后输出。
进一步的,每一文件级节点维护一缓冲区,每一节点级节点维护一待排序数据缓冲区和一待输出数据缓冲区,所述集群级节点维护一缓冲区。
进一步的,各文件级节点将排好序的数据放入其缓冲区中;所述节点级节点通过拉取模式不断从文件级节点的缓冲区中获取数据存入自己的待排序缓冲区中,并将排好的数据放入自己的待输出数据缓冲区的输出流中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710043943.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自动报靶系统
- 下一篇:一种红外电子计分飞镖靶
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置