CN105468720A - 集成分布式数据处理系统的方法、相应系统及其数据处理方法 - Google Patents
集成分布式数据处理系统的方法、相应系统及其数据处理方法 Download PDFInfo
- Publication number
- CN105468720A CN105468720A CN201510812126.3A CN201510812126A CN105468720A CN 105468720 A CN105468720 A CN 105468720A CN 201510812126 A CN201510812126 A CN 201510812126A CN 105468720 A CN105468720 A CN 105468720A
- Authority
- CN
- China
- Prior art keywords
- data
- distributed
- storm
- hbase
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了集成分布式数据处理系统的方法、相应系统及其数据处理方法。所述集成方法包括:搭建分布式系统基础架构Hadoop集群;在所述Hadoop集群上建立分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,获得分布式数据处理系统的总架构;在所述总架构的数据访问层上,设置第一配置文件和第二配置文件,以提供统一的数据访问接口,集成分布式数据处理系统。本发明所提的集成分布式数据处理系统的方法,成本耗费低、操作简单、易于实现;本发明所提的分布式数据处理系统,是面向大数据的处理系统,其适应性强、适用范围广,达到了简单快速进行海量数据多元化处理的效果。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及集成分布式数据处理系统的方法、相应系统及其数据处理方法。
背景技术
随着互联网,物联网,O2O(OnlinetoOffline,线上到线下)的不断发展,各个领域软件系统的数据也都急剧增长,并且不断打破原有软硬件架构的瓶颈,导致海量数据处理成为目前各行各业最急需也是最难解决的问题之一。
面对数据不断增长的问题,各种新的技术不断涌现,包括云存储、集群、分布式存储、列式存储及搜索引擎等。通常情况下,上述技术可以解决海量数据的处理,但又各有优劣,每项技术不能完全解决海量数据的所有问题,往往需要相互结合才能解决实际问题,如列式存储主要针对关系型数据库,为了降低数据的存储空间而设计,但使用该技术的同时又带来了数据关联和检索的问题。随着传统行业与IT行业的不断融合,海量数据的处理将会越来越复杂,如在网安行业就同时面临着海量数据的存储,检索和运算等问题,此时任何单一的技术都将显得捉襟见肘,并不能很好的处理海量数据。
发明内容
本发明实施例提出了集成分布式数据处理系统的方法、相应系统及其数据处理方法,以达到多元化处理海量数据的目的。
第一方面,本发明实施例提供了一种集成分布式数据处理系统的方法,包括:
搭建分布式系统基础架构Hadoop集群;
在所述Hadoop集群上建立分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,获得分布式数据处理系统的总架构;
在所述总架构的数据访问层上,设置第一配置文件和第二配置文件,以提供统一的数据访问接口,集成分布式数据处理系统。
第二方面,本发明提供了一种分布式数据处理系统,该系统基于本发明实施例所提供的集成方法集成,包括:
Hadoop集群、配置于所述集群中的分布式数据库Hbase、全文搜索服务器Solr和分布式实时计算系统Storm、以及配置于所述集群的数据访问层上的统一数据访问接口;
其中,所述分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm通过配置于所述集群的数据访问层上的第一配置文件和第二配置文件进行各服务器功能的集成。
第三方面,本发明还提供了一种基于本发明实施例提供的分布式数据处理系统的数据处理方法,包括:
通过数据访问接口,获取业务数据访问请求;
根据所述业务数据访问请求,统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,完成对所述访问请求的响应。
本发明实施例中提供的集成分布式数据处理系统的方法、相应系统及其数据处理方法,首先在Hadoop集群上搭建分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,获得了分布式处理系统的总架构;然后基于对总架构上不同配置文件的设置,提供了统一的数据访问结构,由此集成了本发明所提的分布式数据处理系统;基于所述分布式处理系统,可以实现Hbase、Solr以及Storm各服务平台所具有功能的关联,实现数据的多元化处理。本发明提供的数据处理方法描述了数据多元化处理的过程。本发明所提的集成分布式数据处理系统的方法,成本耗费低、操作简单、易于实现;本发明所提的分布式数据处理系统,是面向大数据的处理系统,其适应性强、适用范围广,达到了简单快速进行海量数据多元化处理的效果。
附图说明
图1为本发明实施例一提供的一种集成分布式数据处理系统的方法的流程示意图;
图2为本发明实施例二提供的一种分布式数据处理系统的总体结构层次图;
图3为本发明实施例三提供的一种基于分布式数据处理系统的数据处理方法的流程图;
图4为本发明实施例三提供的分布式数据处理系统的整体运行架构视图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种集成分布式数据处理系统的方法的流程示意图,如图1所示,该方法包括:
步骤101、搭建分布式系统基础架构Hadoop集群。
在本实施例中,所述分布式系统基础架构Hadoop具体为一个能够对海量数据进行分布式处理的软件框架。在组成该软件框架的底层是一个Hadoop分布式文件系统(HadoopDistributedFileSystem,HDFS),该文件系统可存储Hadoop集群中所有存储节点上的文件。
进一步的,在操作系统Linux上搭建版本为Hadoop2.0的分布式系统基础架构。
在本实施例中,所述Hadoop集群具体作为一个集成分布式数据处理系统的基础平台,数据处理所需的几个服务平台均需要基于该集群建立。一般情况下,Hadoop集群的搭建需要Linux操作系统的支持,由于搭建分布式系统基础架构Hadoop集群的具体过程为现有技术,这里不再详述。需要注意的是,为了使Hadoop能够兼容更多的服务平台,本发明中选取Hadoop2.0版本进行搭建。
此外,经过搭建配置后,多台计算机组成了一个Hadoop2.0集群。所述集群中的计算机可以有1台计算机用于作为Hadoop的名称节点NameNode,其余计算机则作为数据节点DataNode,即一个Hadoop集群具有一个名称节点NameNode和多个数据节点DataNode,从而组成了分布式系统的基础架构。
步骤102、在所述Hadoop集群上建立分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,获得分布式数据处理系统的总架构。
在本实施例中,搭建好Hadoop集群后,可以在该集群上建立具有特殊处理功能的服务平台。如本发明所提的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm。
具体的,所述分布式数据库Hbase为一个数据并行存储系统,可用于海量数据的并行存储。同时,所述Hbase是Hadoop项目的一个子项目,是一个非结构化数据存储的数据库。在组成Hadoop的结构层次中,Hbase位于HDFS层上方的结构化存储层,共享Hadoop的HDFS,可将数据存放于HDFS中。此外,Hbase进行数据存储和管理的基本单位是Region,Hbase的一个表中可以包含一个或多个Region,每个Region只能由一个RegionServer提供服务,一个RegionServer可以为多个Region提供服务,可以认为RegionServer是Hbase用于存储服务的节点;除了服务节点外,Hbase还具有主节点HbaseMaster。在分布式环境下,Hbase数据库需要一个主节点HbaseMaster和多个RegionServer服务节点并行工作。因此,建立在Hadoop集群上的Hbase共用组成Hadoop集群的计算机,从而将Hadoop作为名称节点NameNode的计算机作为Hbase的Master节点;并将Hadoop作为数据节点DataNode的计算机作为Hbase的RegionServer服务节点。
具体的,所述全文搜索服务器Solr具体为一个独立的企业级搜索应用服务平台,用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过HttpGet操作提出查找请求,并得到XML格式的返回结果。在Hadoop集群上,所述Solr也共用组成Hadoop集群的计算机,从而将Hadoop作为名称节点NameNode的计算机作为Solr的主节点ResourceMaster;并将Hadoop作为数据节点DataNode的计算机作为Solr的服务节点SolrServer。与Hbase不同的是,Hbase将数据存放至Hadoop的HDFS中,Solr将索引数据直接存入组成集群的计算机的本地磁盘中。
具体的,所述分布式实时计算系统Storm具体是对海量数据通过流处理实时进行迭代的并行运算。运算的主要任务可以包括:数据入库、数据的删除、统计、比对、去重、关联、索引以及归一化等。由于Storm也是分布式的计算系统,也需要多个计算机组成Storm集群,所组成的Storm集群由一或两个主节点和多个从节点组成。主节点运行了一个名为“Nimbus”的守护进程,用于分配代码、布置任务及故障检测。每个工作节点都运行了一个名为“Supervisor”的守护进程,用于监听工作,开始并终止工作进程。因此,当Storm集成在Hadoop集群上时,作为Hadoop名称节点NameNode的计算机便用来作为Storm的Nimbus,同时作为Hadoop数据节点DataNode的计算机便用来作为Storm的Supervisor。
进一步的,所述在所述Hadoop集群上建立分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,具体包括:
基于Hadoop2.0集群安装分布式应用程序协调服务Zookeeper;在安装所述Zookeeper的Hadoop2.0集群上,配置安装分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,其中所述Hbase、Solr以及Storm共用所述Zookeeper。
一般地,对于由多个计算机组成的分布式集群,都会有一个主节点和多个从节点。而主节点与从节点之间的通信需要分布式应用程序协调服务Zookeeper进行协调。因此,为了集群的正常工作,在Hadoop2.0集群上,还需安装所述Zookeeper,进而通过Zookeeper协调Hadoop中NameNode与DataNode的关系、Hbase中Master与RegionServer的关系、Solr中ResourceMaster与SolrServer的关系以及Storm中Nimbus与Supervisor的关系。
综上所述,当在Hadoop集群上建立了所述Hbase、Solr以及Storm并共用所述计算机集群以及Zookeeper时,便形成了一个分布式数据处理系统的总架构。
步骤103、在所述总架构的数据访问层上,设置第一配置文件和第二配置文件,以提供统一的数据访问接口,集成分布式数据处理系统。
理论上,当在Hadoop集群上建立好所述Hbase、Solr以及Storm,组成分布式数据处理系统总架构后,基于所述总架构的数据访问层可以通过业务请求实现数据的存储、索引以及实时计算处理。但事实上,由于Hbase、Solr以及Storm三者之间没有统一的数据访问接口,并不能对一个业务数据访问请求实现多元化的存储、索引以及实时计算处理。
因此,在本实施例中,提出了在所述总架构的数据访问层上设置配置文件提供统一数据访问结构的方法。具体的,先设置第一配置文件,建立所述Solr的索引库与所述Hbase表的映射关系;再设置第二配置文件,建立所述Storm与所述Hbase和/或Solr的数据存取路径。由此,基于所述映射关系和所述数据存储路径,集成分布式数据处理系统,实现多元化的数据处理。
进一步的,所述在所述总架构的数据访问层上,设置第一配置文件和第二配置文件,具体包括:
在分布式数据处理系统总架构的数据访问层上,设置元数据配置文件和入库策略配置文件,将Hbase中的数据存储与Solr中的数据索引进行关联;在分布式数据处理系统总架构的数据访问层上,设置数据提取策略配置文件,使得Storm能够实时读取Hbase和/或Solr中的数据以进行计算处理,并将处理后的数据实时写入Hbase和/或Solr的相应位置,其中,所述数据提取策略配置文件包括:数据的提取目标、提取条件、提取周期、以及提取批次。
在本实施例中,由于Hbase与Solr分别用于存储数据和索引数据,如果要协同完成同一份数据的存储和索引任务,就要求Solr的索引库和Hbase的数据库表存在映射关系。同时,由于Hbase的具体存储结构及Solr的索引数据结构都与具体业务和数据相关,要考虑分布式数据处理系统的通用性,就需要设置配置文件为Hbase和Solr提供统一数据访问接口。本发明所提的集成方法具体是在所述总架构的数据访问层上设置元数据配置文件和入库策略配置文件,基于上述的配置文件,在设置配置文件后,运行数据访问层的工具,自动创建或更新hbase表结构,以及solr的schema.xml文件,从而将Hbase中的数据存储与Solr中的数据索引进行关联。
进一步的,在本实施例中,所述元数据配置文件,包括:数据集文件、元素集文件以及代码集文件;所述数据集文件用于描述源数据的结构类型;所述元素集文件用于描述源数据的字段属性;所述代码集文件用于描述源数据的字典数据。
所述入库策略配置文件,包括:存储策略、索引策略;所述存储策略用于描述需要存储的数据集以及所述数据集的存储位置、存储周期和存储特性;所述索引策略用于描述索引库的结构、索引库对应的Solr服务器或分区、需要索引的数据以及所述数据集的存储周期;所述存储和索引策略用于描述需要存储和索引的数据、以及所述数据的存储位置、索引位置。
具体的,在所述入库策略配置文件的所述存储策略中,所述数据集的存储位置需要描述该数据集中的数据表位置、数据表中对应的列组的位置以及每列所在的位置;对于所述数据集的存储特性主要描述的是该数据集在存储时是否进行了压缩或以序列化存储等。同时,对于入库策略配置文件,其中的一个存储策略对应一个或多个索引策略,且一个索引策略也可用于多个存储策略的索引。需要注意的是,上述元数据配置文件和入库策略配置文件中涉及的配置内容仅是数据存储和数据索引进行关联的基本条件,对于不同的业务请求,还需要在配置文件中根据实际的业务数据进行扩展;同时对于元数据配置文件和入库策略配置文件中的扩展部分,还需要在数据访问层提供与之对应的配置解析程序,由此保持数据访问接口的一致性。
同时,在基于元数据配置文件和入库策略配置文件将Hbase中的数据存储与Solr中的数据索引进行关联后,还需要将Hbase和Solr同Storm进行数据间的集成,由此实现Storm实时读取Hbase和/或Solr中的数据以进行计算处理,并将处理后的数据实时写入Hbase和/或Solr的相应位置。具体的,考虑到分布式数据处理系统的通用性,也需要设置配置文件为Storm、Hbase和Solr提供统一数据访问接口,本发明所提的集成方法是在所述总架构的数据访问层上设置数据提取策略配置文件,基于该配置文件实现Storm对Hbase以及Solr中数据的实时处理。在数据提取策略配置文件中,所述配置文件是基于原子运算器的流程配置文件,其内容主要包括:数据处理流程,每一步对应的原子器类,各步处理间数据分发方式等,因此需要通过设置提取数据的目标、对数据进行提取的条件、提取数据所需的周期以及对数据进行提取的批次等来实现。总体而言,通过这些配置信息实现了Storm对Hbase以及Solr中数据信息的集成,由此使得默认的storm程序能够根据所述数据提取策略配置文件组织并调度相应的原子运算器进行数据处理。
同样,需要注意的是,所设置的数据提取策略配置文件的内容也是基本内容,在实际的系统操作中,针对不同的访问请求还需要在数据提取策略配置文件中设置扩展的内容,而且对于数据提取策略配置文件的扩展部分,也需要在数据访问层提供与之对应的配置解析程序,由此保持数据访问接口的一致性。
综上所述,通过上述三步骤便实现了分布式数据处理系统的集成,由此在集成的分布式数据处理系统上可以实现海量数据的多元化处理。
本发明实施例一提供的一种集成分布式数据处理系统的方法,首先搭建Hadoop集群,然后在Hadoop集群上建立Hbase、Solr以及Storm,最终通过配置文件将Hbase、Solr以及Storm进行关联,由此提供统一的数据访问接口,获得分布式数据处理系统,实现海量数据的存储、索引以及实时计算等多元化处理。
实施例二
图2为本发明实施例二提供的一种分布式数据处理系统的总体结构层次图。本实施例中的分布式数据处理系统基于实施例一所提的集成分布式数据处理系统的方法集成。进一步的,该分布式数据处理系统包括:Hadoop集群、配置于所述集群中的分布式数据库Hbase、全文搜索服务器Solr和分布式实时计算系统Storm、以及配置于所述集群的数据访问层上的统一数据访问接口;其中,所述分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm通过配置于所述集群的数据访问层上的第一配置文件和第二配置文件进行数据处理。
如图2所示,本实施例二提供的一种分布式数据处理系统的总体结构层次,包括:文件存储层21、系统集群层22、系统协调服务层23、数据访问层24。
在本实施例中,所述文件存储层21具体为分布式文件系统HDFS,用于存放系统中Hbase的数据以及Hadoop所需的数据。所述系统集群层22又可划分为系统集群从节点层221和系统集群主节点层222。所述系统集群从节点层221具体由构成集群的多个计算机组成,用于作为Hadoop中的数据节点DataNode、作为Hbase中的服务节点RegionServer、作为Solr中的服务节点SolrServer以及还作为Storm中的Supervisor,其中,构成集群的一个计算机可作为一个从节点;所述系统集群主节点层222具体由构成集群的一个计算机来充当主节点,所述系统集群主节点层222包括Hadoop中的名称节点NameNode、Hbase中的主节点HbaseMaster、Solr中的ResourceMaster以及Storm中的Nimbus。
在所述分布式数据处理系统中,所述系统集群从节点层221与系统集群主节点层222之间的通信主要通过系统协调服务层23的协调实现。所述系统协调服务层23具体为分布式应用程序协调服务Zookeeper,所述Zookeeper是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。所述数据访问层24具体为业务数据访问请求提供统一的数据访问接口。
一般地,所述数据访问层24提供的统一的数据访问接口中主要包括:通用建库程序、配置解析程序、以及数据访问程序等。其中配置解析程序往往同设置的第一配置文件和第二配置文件相互结合,共同作用。基于分布式数据处理系统实现海量数据的多元化并行处理。
本发明所提出的一种分布式数据处理系统,以Hadoop分布式框架为基础,分别建立分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,从而将各分布式服务平台的存储、索引以及实时运算功能通过提供的统一数据访问接口来实现各种功能的综合,进而达到了当出现业务数据访问请求时多元化并行处理海量数据的目的,除了多元化并行处理数据,所提的系统还具备可扩展性、高可用性、稳定性、容灾及高效性等特点,其集成成本低,适用范围广,使用也简单方便。
实施例三
图3为本发明实施例三提供的一种基于分布式数据处理系统的数据处理方法的流程示意图。本实施例以上述实施例为基础,基于实施例二中所提的分布式数据处理系统,给出了当出现业务数据访问请求时进行数据处理的方法。
具体的,本实施例所提的数据处理方法包括:通过数据访问接口,获取业务数据访问请求;根据所述业务数据访问请求,统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,完成对所述访问请求的响应。
进一步的,如图3所示,基于分布式数据处理系统的数据处理方法,具体包括:
步骤301、基于数据访问接口,获取业务数据访问请求。
在本实施例中,所述数据访问接口为一个统一数据访问接口,主要基于设置在数据访问层的第一配置文件和第二配置文件实现。当存在业务数据访问请求时,首先在系统集群的数据访问中间区中基于数据访问接口加载数据访问层的配置解析程序,该配置解析程序用于解析第一配置文件和第二配置文件的相关数据配置信息。由此获取并解析了数据访问请求。
步骤302、判断所述业务数据访问请求的具体要求,如果是入库请求,则执行步骤303~步骤306;或者如果是查询请求,则执行步骤307~311;或者如果是处理请求,则执行步骤312和313。
在本实施例中,根据步骤301解析出的业务数据访问请求可以判断该访问请求具体为哪一种,其判断的过程仍在系统集群的数据访问中间区中进行。本发明所提的分布式数据处理系统,可处理的数据请求分为三种:入库请求、查询请求以及处理请求。进一步的,处理请求包括的范围更广,示例性的,如对数据的增、删、改、合并等等。当判断出具体的访问请求后,就可根据相应的请求执行相应的步骤。
步骤303、集成Hbase、Solr和Storm的分布式数据处理系统响应业务数据的入库请求。
在本实施例中,当访问请求为入库请求时,就需统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,由此响应入库请求。
步骤304、提取与所述入库请求对应的入库数据和索引数据。
在本实施例中,需要处理的源数据集文件统一存放在系统集群主节点的相关目录中,在响应入库请求后,系统集群通过Zookeeper的协调将源数据集文件从主节点上负载均衡的分发至系统集群的各从节点上,由此每个从节点只需处理部分源数据集文件,从而实现数据处理的并行化。具体的,各从节点并行读取其相应目录下的部分源数据集文件,并提取入库请求所对应的入库数据和索引数据。
步骤305、将所述入库数据存储于所述分布式数据库Hbase中。
在本实施例中,主要是系统集群中的Hbase进行工作,所述Hbase中的各RegionServer负责调用Hbase的数据入库程序接口,从而并行的将入库数据存放至Hbase所对应的HDFS上。
步骤306、将所述索引数据存储于所述全文搜索服务器Solr中,之后结束数据处理。
在本实施例中,主要是系统集群中Solr进行工作,所述Solr中的各SolrServer负责调用数据索引的程序接口,从而并行的将索引数据存放至Solr的从节点计算机的本地磁盘中。
当通过Hbase和Solr的共同作用并行的将相应的入库数据和索引数据存放至相应的位置后,就可以结束入库请求的数据处理。
步骤307、集成Hbase、Solr和Storm的分布式数据处理系统响应业务数据的查询请求。
在本实施例中,当访问请求为查询请求时,就需统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,由此响应查询请求。
步骤308、提取所述查询请求中包括的查询条件,并将所述查询条件发送至所述全文搜索服务器Solr中进行数据查询。
在本实施例中,解析出数据访问请求为查询请求后,需要基于系统集群中的Hbase和Solr来完成查询请求。首先由索引服务器Solr先进行索引查询,再进入Hbase数据库中进行具体查询,这样可以避免盲目查询节省查询时间。
具体的,由于系统集群为分布式的,所以首先将查询请求的查询内容基于Zookeeper由Solr中主节点ResourceMaster分发至各从节点SolrServer,由此实现查询请求的并行处理。在各从节点接收到查询请求后,提取查询请求中相应的查询条件,并基于查询条件通过Solr中的数据查询程序接口返回待查询条件的索引查询结果。需要注意的是,每个从节点只需完成该从节点所对应数据中相应的查询条件,这样所有从节点并行运行实现整个查询条件的索引处理。
步骤309、接收所述全文搜索服务器Solr返回的查询结果。
在本实施例中,接着步骤308的返回结果进一步处理,具体为,Solr中的各从节点将相应的索引查询结果返回至系统集群的数据访问中间区中。即系统集群的数据访问中间区接收Solr返回的查询条件相关的索引查询结果。
步骤310、从所述查询结果中抽取表名以及行主键名,并将所述表名以及行主键名发送至所述分布式数据库Hbase进行数据查询。
在本实施例中,当系统集群的数据访问中间区接收到由Solr返回的索引查询结果后,可从该索引查询结果中抽取待查询数据所对应的Hbase的相关表的名称,以及待查询数据所在Hbase表中的行主键名。该数据访问中间区将抽取的Hbase表的名称及相应表中的行主键名再次发送给Hbase,由Hbase再次进行数据查询。
需要说明的是,在Hbase中进行数据查询的过程也是并行的,即由各从节点调用相应的数据查询程序接口并行实现待查询数据的查询。
步骤311、接收所述分布式数据库Hbase返回的查询结果,并将结果数据返回至所述查询请求的发送端,之后结束数据处理。
在本实施例中,Hbase中各从节点的查询结果将汇总到数据访问中间区。在数据访问中间区接收到Hbase返回的结果后,将查询结果返回给查询请求的发送端,从而结束查询请求的数据处理。
步骤312、集成Hbase、Solr和Storm的分布式数据处理系统响应业务数据的处理请求。
在本实施例中,当访问请求为处理请求时,就需统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,由此响应处理请求。
步骤313、将所述处理请求动态生成storm处理流,并将所述storm处理流发送至所述分布式实时计算系统Storm,以触发Storm完成相应的数据处理,并将处理结果分别写入所述全文搜索服务器Solr以及所述分布式数据库Hbase中,之后结束数据处理。
在本实施例中,对处理请求进行处理的服务平台主要为Storm。具体的,当解析出访问请求为处理请求后,数据访问中间区会将所述处理请求动态的生成storm处理流程文件,并将所述storm处理流程文件发送至Storm。
在将storm处理流程文件发送至Storm后,Storm开始分布式处理所述storm处理流程文件。其过程简要描述为:首先由Storm客户端根据接收的storm处理流程文件以及Storm具有的原子化运算子自动组装生成相应的storm工作任务程序;其次,Storm客户端将生成的storm工作任务程序提交给系统集群中的分布式运算系统Storm;然后,Storm中的Supervisor调度所接收的任务工作程序给Spout链以生成相关的数据,在该步骤中,任务工作程序所需的数据主要通过系统集群中的Hbase和Solr进行数据的加载读取;之后,Spout链以生成相关的数据后,通过Bolt链调用各种原子化运算程序对相关的数据进行处理;最终,经过处理后的处理结果根据第二配置文件所提供的存取路径写入Hbase对应的HDFS中或写入Solr对应的本地磁盘中。
需要注意的是,在处理结果写入Hbase或Solr时,均需要Hbase或Solr调用相关的数据写入程序接口进行数据的写入。在处理请求所要处理的的数据写入Hbase和Solr后,可以结束处理请求的数据处理。
进一步的,为了便于更清楚的了解分布式数据处理系统在获取数据访问请求后的工作进程,本实施例给出了如图4所示的分布式数据处理系统的整体运行架构视图。基于图4的整体运行架构图,可以了解系统集群工作的具体过程。由图4可以看出,系统集群主要分为4部分,数据访问中间区41,用于接收和分析判定具体数据请求,并分发给系统集群中相应的服务平台处理;全文搜索服务器Solr42,主要用于数据的索引;分布式数据库Hbase43,主要用于数据的存储,一般情况下与全文搜索服务器Solr42结合共同处理相应数据请求;分布式实时计算系统Storm,主要用于数据的各种实时处理,通常与全文搜索服务器Solr42及分布式数据库Hbase43结合,从所述Solr42和Hbase43中读取要处理的数据,并将处理后的数据写入Solr42和Hbase43中。
本实施例三提出的一种基于分布式数据处理系统的数据处理方法,实现了在分布式数据处理系统上对海量数据的多元化并行处理,可以对同一数据共同实现存储、索引及实时运算的处理请求。基于该数据处理方法充分体现了本发明所提分布式处理系统的可用性以及高效性,解决了对海量数据并行进行多元化处理的问题。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种集成分布式数据处理系统的方法,其特征在于,包括:
搭建分布式系统基础架构Hadoop集群;
在所述Hadoop集群上建立分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,获得分布式数据处理系统的总架构;
在所述总架构的数据访问层上,设置第一配置文件和第二配置文件,以提供统一的数据访问接口,集成分布式数据处理系统。
2.根据权利要求1所述的方法,其特征在于,所述搭建分布式系统基础架构Hadoop,具体包括:
在操作系统Linux上搭建版本为Hadoop2.0的分布式系统基础架构。
3.根据权利要求1或2所述的方法,其特征在于,所述在所述Hadoop集群上建立分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,具体包括:
基于Hadoop2.0集群安装分布式应用程序协调服务Zookeeper;
在安装所述Zookeeper的Hadoop2.0集群上,配置安装分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,其中所述Hbase、Solr以及Storm共用所述Zookeeper。
4.根据权利要求3所述的方法,其特征在于,所述在所述总架构的数据访问层上,设置第一配置文件和第二配置文件,具体包括:
在分布式数据处理系统总架构的数据访问层上,设置元数据配置文件和入库策略配置文件,将Hbase中的数据存储与Solr中的数据索引进行关联;
在分布式数据处理系统总架构的数据访问层上,设置数据提取策略配置文件,使得Storm能够实时读取Hbase和/或Solr中的数据以进行计算处理,并将处理后的数据实时写入Hbase和/或Solr的相应位置,其中,所述数据提取策略配置文件包括:数据的提取目标、提取条件、提取周期、以及提取批次。
5.根据权利要求4所述的方法,其特征在于,所述元数据配置文件,包括:
数据集文件、元素集文件以及代码集文件;
所述数据集文件用于描述源数据的结构类型;所述元素集文件用于描述源数据的字段属性;所述代码集文件用于描述源数据的字典数据;
所述入库策略配置文件,包括:
存储策略、索引策略;
所述存储策略用于描述需要存储的数据集以及所述数据集的存储位置、存储周期和存储特性;
所述索引策略用于描述索引库的结构、索引库对应的Solr服务器或分区、需要索引的数据以及所述数据集的存储周期。
6.一种应用权利1-5任一项所述方法集成的分布式处理系统,其特征在于,包括:
Hadoop集群、配置于所述集群中的分布式数据库Hbase、全文搜索服务器Solr和分布式实时计算系统Storm、以及配置于所述集群的数据访问层上的统一数据访问接口;
其中,所述分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm通过配置于所述集群的数据访问层上的第一配置文件和第二配置文件进行数据处理。
7.一种基于权利要求6所述的分布式数据处理系统的数据处理方法,其特征在于,包括:
通过数据访问接口,获取业务数据访问请求;
根据所述业务数据访问请求,统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,完成对所述访问请求的响应。
8.根据权利要求7所述的方法,其特征在于,所述业务数据访问请求为入库请求;
相应的,统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,完成对所述访问请求的响应,具体包括:
提取与所述入库请求对应的入库数据和索引数据;
将所述入库数据存储于所述分布式数据库Hbase中;
将所述索引数据存储于所述全文搜索服务器Solr中。
9.根据权利要求7所述的方法,其特征在于,所述业务数据访问请求为查询请求;
相应的,统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,完成对所述访问请求的响应,具体包括:
提取所述查询请求中包括的查询条件,并将所述查询条件发送至所述全文搜索服务器Solr中进行数据查询;
接收所述全文搜索服务器Solr返回的查询结果;
从所述查询结果中抽取表名以及行主键名,并将所述表名以及行主键名发送至所述分布式数据库Hbase进行数据查询;
接收所述分布式数据库Hbase返回的查询结果,并将结果数据返回至所述查询请求的发送端。
10.根据权利要求7所述的方法,其特征在于,所述业务数据访问请求为处理请求;
相应的,统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,完成对所述访问请求的响应,具体包括:
将所述处理请求动态生成storm处理流,并将所述storm处理流发送至所述分布式实时计算系统Storm,以触发Storm完成相应的数据处理,并将处理结果分别写入所述全文搜索服务器Solr以及所述分布式数据库Hbase中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510812126.3A CN105468720A (zh) | 2015-11-20 | 2015-11-20 | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510812126.3A CN105468720A (zh) | 2015-11-20 | 2015-11-20 | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105468720A true CN105468720A (zh) | 2016-04-06 |
Family
ID=55606421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510812126.3A Pending CN105468720A (zh) | 2015-11-20 | 2015-11-20 | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468720A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055622A (zh) * | 2016-05-26 | 2016-10-26 | 浪潮软件集团有限公司 | 一种数据搜索方法及系统 |
CN106254338A (zh) * | 2016-07-29 | 2016-12-21 | 杭州华三通信技术有限公司 | 报文检测方法以及装置 |
CN106295399A (zh) * | 2016-08-02 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种solr集群的访问权限控制方法 |
CN106528847A (zh) * | 2016-11-24 | 2017-03-22 | 北京集奥聚合科技有限公司 | 一种海量数据的多维度处理方法及系统 |
CN106844496A (zh) * | 2016-12-26 | 2017-06-13 | 山东中创软件商用中间件股份有限公司 | 基于企业服务总线的数据传输调度方法、装置及服务器 |
CN106921742A (zh) * | 2017-03-09 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种K‑UX3.0操作系统上搭建storm分布式应用集群的系统及方法 |
CN107294771A (zh) * | 2017-05-17 | 2017-10-24 | 上海斐讯数据通信技术有限公司 | 一种适用于大数据集群的高效部署系统以及使用方法 |
CN107644050A (zh) * | 2016-12-22 | 2018-01-30 | 北京锐安科技有限公司 | 一种基于solr的Hbase的查询方法及装置 |
CN108011915A (zh) * | 2017-07-05 | 2018-05-08 | 国网浙江省电力公司 | 一种基于云通讯的采集前置系统 |
CN108595490A (zh) * | 2018-03-15 | 2018-09-28 | 北京雷石天地电子技术有限公司 | 一种数据库检索机制的构建方法及系统 |
CN109144995A (zh) * | 2017-06-26 | 2019-01-04 | 辽宁艾特斯智能交通技术有限公司 | 一种高速公路海量交易数据检索方法 |
CN110019481A (zh) * | 2017-12-28 | 2019-07-16 | 中国移动通信集团河北有限公司 | 内存数据库访问方法、装置、设备及介质 |
CN110109892A (zh) * | 2018-01-25 | 2019-08-09 | 杭州海康威视数字技术股份有限公司 | 一种数据迁移方法、装置及电子设备 |
CN113508373A (zh) * | 2019-12-18 | 2021-10-15 | 斯诺弗雷克公司 | 分布式的基于元数据的集群计算 |
CN113656469A (zh) * | 2020-05-12 | 2021-11-16 | 北京市天元网络技术股份有限公司 | 大数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104036025A (zh) * | 2014-06-27 | 2014-09-10 | 蓝盾信息安全技术有限公司 | 一种基于分布式的海量日志采集系统 |
US20140280457A1 (en) * | 2013-03-15 | 2014-09-18 | State Farm Mutual Automobile Insurance Company | Implementation of a web-scale data fabric |
CN104944240A (zh) * | 2015-05-19 | 2015-09-30 | 重庆大学 | 一种基于大数据技术的电梯设备的状态监测系统 |
-
2015
- 2015-11-20 CN CN201510812126.3A patent/CN105468720A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140280457A1 (en) * | 2013-03-15 | 2014-09-18 | State Farm Mutual Automobile Insurance Company | Implementation of a web-scale data fabric |
CN104036025A (zh) * | 2014-06-27 | 2014-09-10 | 蓝盾信息安全技术有限公司 | 一种基于分布式的海量日志采集系统 |
CN104944240A (zh) * | 2015-05-19 | 2015-09-30 | 重庆大学 | 一种基于大数据技术的电梯设备的状态监测系统 |
Non-Patent Citations (1)
Title |
---|
陈涛: "分布式日志数据采集代理框架的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055622A (zh) * | 2016-05-26 | 2016-10-26 | 浪潮软件集团有限公司 | 一种数据搜索方法及系统 |
CN106254338B (zh) * | 2016-07-29 | 2019-09-06 | 新华三技术有限公司 | 报文检测方法以及装置 |
CN106254338A (zh) * | 2016-07-29 | 2016-12-21 | 杭州华三通信技术有限公司 | 报文检测方法以及装置 |
CN106295399A (zh) * | 2016-08-02 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种solr集群的访问权限控制方法 |
CN106295399B (zh) * | 2016-08-02 | 2020-03-06 | 浪潮电子信息产业股份有限公司 | 一种solr集群的访问权限控制方法 |
CN106528847A (zh) * | 2016-11-24 | 2017-03-22 | 北京集奥聚合科技有限公司 | 一种海量数据的多维度处理方法及系统 |
CN107644050A (zh) * | 2016-12-22 | 2018-01-30 | 北京锐安科技有限公司 | 一种基于solr的Hbase的查询方法及装置 |
CN106844496A (zh) * | 2016-12-26 | 2017-06-13 | 山东中创软件商用中间件股份有限公司 | 基于企业服务总线的数据传输调度方法、装置及服务器 |
CN106844496B (zh) * | 2016-12-26 | 2020-04-10 | 山东中创软件商用中间件股份有限公司 | 基于企业服务总线的数据传输调度方法、装置及服务器 |
CN106921742A (zh) * | 2017-03-09 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种K‑UX3.0操作系统上搭建storm分布式应用集群的系统及方法 |
CN107294771A (zh) * | 2017-05-17 | 2017-10-24 | 上海斐讯数据通信技术有限公司 | 一种适用于大数据集群的高效部署系统以及使用方法 |
CN109144995A (zh) * | 2017-06-26 | 2019-01-04 | 辽宁艾特斯智能交通技术有限公司 | 一种高速公路海量交易数据检索方法 |
CN108011915B (zh) * | 2017-07-05 | 2019-11-29 | 国网浙江省电力公司 | 一种基于云通讯的采集前置系统 |
CN108011915A (zh) * | 2017-07-05 | 2018-05-08 | 国网浙江省电力公司 | 一种基于云通讯的采集前置系统 |
CN110019481A (zh) * | 2017-12-28 | 2019-07-16 | 中国移动通信集团河北有限公司 | 内存数据库访问方法、装置、设备及介质 |
CN110109892A (zh) * | 2018-01-25 | 2019-08-09 | 杭州海康威视数字技术股份有限公司 | 一种数据迁移方法、装置及电子设备 |
CN108595490A (zh) * | 2018-03-15 | 2018-09-28 | 北京雷石天地电子技术有限公司 | 一种数据库检索机制的构建方法及系统 |
CN113508373A (zh) * | 2019-12-18 | 2021-10-15 | 斯诺弗雷克公司 | 分布式的基于元数据的集群计算 |
CN113508373B (zh) * | 2019-12-18 | 2024-06-11 | 雪花公司 | 分布式的基于元数据的集群计算 |
CN113656469A (zh) * | 2020-05-12 | 2021-11-16 | 北京市天元网络技术股份有限公司 | 大数据处理方法及装置 |
CN113656469B (zh) * | 2020-05-12 | 2024-01-05 | 北京市天元网络技术股份有限公司 | 大数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468720A (zh) | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 | |
US11120022B2 (en) | Processing a database query using a shared metadata store | |
CN109997126B (zh) | 事件驱动提取、变换、加载(etl)处理 | |
US10402424B1 (en) | Dynamic tree determination for data processing | |
US11050820B2 (en) | Cloud sharing system | |
US9996593B1 (en) | Parallel processing framework | |
US11238045B2 (en) | Data arrangement management in a distributed data cluster environment of a shared pool of configurable computing resources | |
US10120886B2 (en) | Database integration of originally decoupled components | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
CN108073696B (zh) | 基于分布式内存数据库的gis应用方法 | |
US20190251096A1 (en) | Synchronization of offline instances | |
Nguyen et al. | Prefetching-based metadata management in advanced multitenant hadoop | |
CN111177244A (zh) | 面向多个异构数据库的数据关联分析方法 | |
CN117389830A (zh) | 集群日志采集方法、装置、计算机设备及存储介质 | |
CN104714983B (zh) | 分布式索引的生成方法及装置 | |
US8694559B2 (en) | Using database content for multiple business data systems connected to one database | |
US11500874B2 (en) | Systems and methods for linking metric data to resources | |
KR101828522B1 (ko) | 이종 데이터 처리를 위한 분산 병렬 처리 시스템 | |
JP5464017B2 (ja) | 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム | |
CN110347654B (zh) | 一种上线集群特性的方法和装置 | |
US11727022B2 (en) | Generating a global delta in distributed databases | |
Thanekar et al. | A study on MapReduce: Challenges and Trends | |
Reddy et al. | High performance computing cluster system and its future aspects in processing big data | |
CN116578395B (zh) | 事务处理方法、系统、装置、电子设备及存储介质 | |
US12045221B1 (en) | Compact representation of table columns via templatization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160406 |