[发明专利]海量结构化数据复杂查询任务的分布式查询方法和系统有效
申请号: | 201110442091.0 | 申请日: | 2011-12-26 |
公开(公告)号: | CN102521406A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 吴广君;李超;王树鹏;云晓春;王勇;李斌斌 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 海量 结构 数据 复杂 查询 任务 分布式 方法 系统 | ||
技术领域
本发明涉及一种信息安全领域中的海量数据管理系统和方法,更具体地涉及面向复杂查询任务的查询以及分布式数据管理方法和系统,主要用于信息安全领域网络报文的落地存储、分析和海量日志数据的统计、分析等应用。
背景技术
当代信息安全领域中数据管理不再局限于传统的数据采样、分析等简单的数据处理方式,而是借助高效的数据存储系统,进行数据落地存储,并支持事后复杂的数据统计、分析等功能。
由于目前普遍使用的关系型数据库受到一致性约束,因此基于关系型数据库的查询方法和查询系统在海量数据存储和查询的条件下加载效率低、检索速度慢,而且无法实现系统的平滑扩容的目标。为了适应海量数据存储、查询等应用需求、提高数据的查询效率,提出了一种基于Hadoop开源分布式NO-SQL数据库(也称为KEY-VALUE型数据库),例如Hbase、Hypertable等,这些数据库通过降低一致性约束,提高了系统的存储规模与数据处理效率。但是基于Hadoop的NO-SQL数据库仅能提供KEY-VALUE查询模式,即根据给定的KEY值,查找对应的VALUE值或值区间,因此,其无法满足海量结构化数据的复杂条件的统计、分析查询功能。
现有技术中针对海量结构化数据的查询,有一种基于Hadoop实现的分布式数据仓库HIVE以及基于HIVE的查询方法和查询系统,其能够支持较完备的复杂SQL查询。虽然HIVE能够支持复杂的SQL查询,但是其存在以下不足:
(1)HIVE需要查询到满足条件的所有记录后才将查询结果返回给用户使用,如果结果集过大用户需要等待大量的时间才能获得结果。因此导致HIVE实时查询效率较低、延迟大,无法实现在线数据加载与快速查询的目的,无法满足界面展示这种不需要大量结果集的查询应用。
(2)HIVE中没有索引,其所有的查询操作都是通过读取原始数据文件执行的。因此,查询效率低。
(3)HIVE的查询过程是用户通过HQL语言(一种类似于SQL语言的查询表达方式)描述查询规则,虽然通过HQL语言可以描述更复杂的关联查询、等值连接JOIN,但是由于其主要是面向MapReduce的任务分解方法(即在执行查询任务时,需要多次磁盘写入、读取操作),因此其执行效率低,并且其无法直接用于流记录数据的查询。
(4)HIVE是从数据文件中读取数据的,因此不支持记录流式频繁加载方式,也不支持缓存加载数据或缓存查找数据。虽然现有技术中存储系统具有开辟缓存结构、提高数据加载效率的功能,但是需要等到缓存数据写入到磁盘中后才能支持查询操作,流式记录数据应用场合是持续不断的加载到系统中,而且近期数据相对具有更高的使用频率,因此传统方法无法满足查询的需求。
因此,在针对海量结构化数据的查询和管理领域,亟需一种能够支持复杂查询条件并且能够实现快速查询目的的方法和系统。
发明内容
本发明要解决的技术问题是提供一种能够支持复杂的SQL查询并且能够实现快速查询的海量结构化数据分布式查询方法和系统。
根据本发明的一个方面,提出一种海量结构化数据的分布式查询方法,包括:步骤1,接收用户发出的查询任务并将查询任务分解为多个查询子任务;以及步骤2,根据该多个查询子任务中的每个查询子任务,对分布式存储的数据并发执行分批次查询,并分布式返回查询到的结果集。
根据本发明的另一方面,提出一种海量结构化数据分布式查询系统,包括:用于接收用户发出的查询任务并将查询任务分解为多个查询子任务的装置;以及用于根据该多个查询子任务中的每个查询子任务对分布式存储的各组数据并发执行分批次查询、并分布式返回查询到的结果集的装置。
本发明采用的分批次查询并保持中间结果状态的查询方法,充分考虑了界面展示应用中小数据量快速查询的需求,同时也兼顾了统计、分析背景下的大结果集的统计需求。
附图说明
图1为根据本发明第一实施例的海量结构化数据分布式查询方法的流程图。
图2为根据本发明一个实例的对存储在硬盘中的数据进行分批查询并分批返回结果集的流程图。
图3为根据本发明另一实例的执行分批查询并分批返回结果集的流程图。
图4为示出对查询结果集进行汇总的各步骤的流程图。
图5为双滑动窗口结构及其工作原理的示意图。
图6为根据本发明第二实施例的海量结构化数据分布式存储方法的流程图。
图7为根据本发明第二实施例的海量结构化数据分布式查询方法的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110442091.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置