一种大数据的实时查询方法和系统的制作方法

文档序号:9471493阅读:872来源:国知局
一种大数据的实时查询方法和系统的制作方法
【技术领域】
[0001]本发明实施例涉及大数据领域中的实时数据查询处理技术,尤其涉及一种大数据的实时查询方法和系统。
【背景技术】
[0002]对海量数据进行高效快速的实时查询可以增强数据处理的准确性以及提高快速决策能力。
[0003]现有技术常采用高查询效率的Presto(查询引擎)和高吞吐量的Kafka(消息订阅系统)进行实时数据查询。图1是现有技术中Presto通过Kafka实时查询数据的示意图。如图1所示,数据源中的数据直接或者间接的实时发送到Kafka集群中,Kafka集群将数据存储在本地硬盘中,Presto通过结构化查询语言(Structured Query Language,SQL)对Kafka集群中的数据进行查询,可以保证查询的结果来自当前时间点之前的所有数据。
[0004]上述现有技术的方案中,Presto每一次通过SQL查询Kafka集群中的数据时,都是通过Kafka连接器将Kafka集群中存储的所有数据抽取到Presto集群之中,然后再对数据进行过滤,获取到需要的数据。随着Kafka集群中存储的数据越来越多,每次从Kafka集群中抽取的数据也会越来越多,在Presto集群中执行SQL查询的时间随之越来越长,经过太长的时间获取到的查询结果已经丧失了“实时性”的要求,这无疑对查询效率造成极大的制约。

【发明内容】

[0005]本发明提供一种大数据的实时查询方法和系统,以实现大数据的快速实时数据查询。
[0006]第一方面,本发明实施例提供了一种大数据的实时查询方法,包括:
[0007]采集系统实时采集用户操作产生的互联网数据,并根据采集系统的传输规则将所述数据分类传输给消息订阅系统;
[0008]所述消息订阅系统根据所述采集系统的传输规则将存储空间划分为不同的目录结构,所述不同的目录结构分别接收并存储由所述采集系统传输的不同类别的所述数据;
[0009]所述消息订阅系统根据消息订阅系统的配置规则,将所述目录结构中的数据划分为最新数据和过期数据;
[0010]查询引擎在调度系统的配合下,按照调度系统设置的调度规则将所述过期数据迀移至数据仓库工具不同的分区中;
[0011]所述查询引擎发起查询请求,将数据读取到内存中进行处理。
[0012]第二方面,本发明实施例还提供了一种大数据的实时查询系统,包括:
[0013]采集系统,用于实时采集用户操作产生的互联网数据,并根据采集系统的传输规则将所述数据分类传输给消息订阅系统;
[0014]消息订阅系统,用于根据所述采集系统的传输规则将存储空间划分为不同的目录结构,所述不同的目录结构分别接收并存储由所述采集系统传输的不同类别的所述数据;
[0015]所述消息订阅系统,还用于根据消息订阅系统的配置规则,将所述目录结构中的数据划分为最新数据和过期数据;
[0016]查询引擎,用于在调度系统的配合下,按照调度系统设置的调度规则将所述过期数据迀移至数据仓库工具不同的分区中;
[0017]调度系统,用于配合查询引擎实现过期数据的迀移;
[0018]数据仓库工具,用于接收并存储调度系统传输的所述过期数据;
[0019]所述查询引擎,还用于发起查询请求,将数据读取到内存中进行处理。
[0020]本发明实施例提供的技术方案,将实时互联网数据中的最新数据和过期数据分别存放在消息订阅系统和数据仓库工具中,避免了数据查询时由于数据存储量过大,造成目标信息获取较慢的问题,实现了高效的海量数据的实时查询。
【附图说明】
[0021]图1是现有技术中Presto通过Kafka实时查询数据的示意图;
[0022]图2是本发明实施例一中的一种大数据的实时查询方法的流程图;
[0023]图3是本发明实施例一中的基于Presto和Kafka的实时数据流查询方案流程图;
[0024]图4是本发明实施例三中的一种大数据的实时查询系统的结构图。
【具体实施方式】
[0025]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0026]实施例一
[0027]图2是本发明实施例一中的一种大数据的实时查询方法的流程图,本实施例可适用于海量数据的实时查询,该方法可以由大数据的实时查询系统来执行,所述装置通过软件和/或硬件实现。
[0028]参见图2,该方法具体包括:
[0029]步骤110、采集系统实时采集用户操作产生的互联网数据,并根据采集系统的传输规则将所述数据分类传输给消息订阅系统;
[0030]用户在互联网通信终端上的操作,例如,浏览网页,都会产生实时互联网数据,本实施例中,使用采集系统(Flume)对上述互联网数据进行实时采集,由用户在采集系统中预先设定传输规则,该传输规则包括对采集到的互联网数据的分类原则、对分类数据进行分类传输的原则、指导消息订阅系统进行不同目录结构划分的原则以及将分类数据传输到消息订阅系统对应目录结构下的原则。具体的,可按照互联网数据产生的网域进行分类,由一种网域产生的互联网数据作为一类,将不同类的数据进行分类传输。
[0031]步骤120、所述消息订阅系统根据所述采集系统的传输规则将存储空间划分为不同目录结构,所述不同目录结构分别接收并存储由所述采集系统传输的不同类别的所述数据;
[0032]上述指导消息订阅系统进行不同目录结构划分的原则实质意义是:使消息订阅系统参照数据的分类进行目录结构划分,即划分好的每一个目录或子目录与特定类的数据相对应,用于只存储这一类的数据。
[0033]消息订阅系统根据上述传输规则进行目录结构的划分后,采集系统将数据分类传输到对应的目录空间中。例如,当采集系统根据网域对数据进行分类传输时,消息订阅系统中的一个或多个目录空间或子目录空间对应接收和存储的是某一个网域产生的数据。
[0034]步骤130、所述消息订阅系统根据消息订阅系统的配置规则,将所述目录空间中的数据划分为最新数据和过期数据;
[0035]在本实施例中,消息订阅系统是Kafka,存储空间为Kafka中的topic (话题)下的不同Partit1ns。数据在每一个topic中分为多个Partit1n(分区)存放,每一个partit1n中数据又是分段存放的,消息订阅系统在对接收的数据进行存储时,先将数据存储在第一个分段中,当第一个分段中存储的数据达到设定的段长时,生成第二个分段,并继续存储数据。消息订阅系统的配置规则包括了对分段保留时间、滚动生成新的分段的周期和分段长度以及过期数据处理策略的设定。在每个topic中,对应分段的修改时间未超过保留时间的数据为最新数据,对应分段的修改时间超过保留时间的数据为过期数据,过期数据将会被标记,根据处理策略进行处理。本实施例中,消息订阅系统只用来存放最新数据,因此过期数据需要迀移出去,迀移完成之后原数据会被删除。
[0036]步骤140、查询引擎在调度系统的配合下,按照调度系统设置的调度规则将所述过期数据迀移至数据仓库工具不同的分区中;
[0037]消息订阅系统中过期数据的具体迀移过程是:查询引擎(Presto)在调度系统(Azkaban)的配合下将过期数据迀移到专门存放过期数据的数据仓库工具中(Hive)后,消息订阅系统根据配置规则中的数据处理策略将该过期数据删除。
[0038]进一步的,所述查询引擎在调度系统的配合下,按照调度系统设置的调度规则将所述过期数据迀移至数据仓库工具不同的分区中,包括:
[0039]所述调度系统对数据查询周期、过期数据迀移时间点、过期数据迀移周期以及消息订阅系统中的过期数据与数据仓库工具分区的对应关系进行设置;
[0040]所述消息订阅系统对根据所述配置规则产生的过期数据进行标定;
[0041]所述查询引擎根据所述数据查询周期在消息订阅系统的数据中查询被标定的过期数据,并根据所述过期数据迀移时间点、过期数据迀移周期以及消息订阅系统中的过期数据与数据仓库工具分区的对应关系,将被标定的过期数据迀移至数据仓库工具的对应分区中。
[0042]调度系统在对数据迀移任务进行调度的时候,需要查询引擎的配合,具体的,消息订阅系统中的数据会在存入一段时间后,从最新数据变为过期数据,因此需要对消息订阅系统中的数据进行周期性的查询,以保证能定时确定生成的过期数据,并及时进行调度。调度系统的调度周期应该与消息订阅系统中数据的有效期相一致,在设定好的数据查询周期下,查询引擎对消息订阅系统中的数据进行查询,并按照预设的过期数据迀移周期,在数据迀移时间点将分类的被标定过期数据插入到数据仓库指定
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1