集成分布式数据处理系统的方法、相应系统及其数据处理方法_3

文档序号:9708418阅读:来源:国知局
DataNode、作为Hbase中的服务节点Reg1nServer、作为Solr中的服务节点Solr Server以及还作为Storm中的Supervisor,其中,构成集群的一个计算机可作为一个从节点;所述系统集群主节点层222具体由构成集群的一个计算机来充当主节点,所述系统集群主节点层222包括Hadoop中的名称节点NameNode、Hbase中的主节点Hbase Mas ter、Solr 中的ResourceMas ter 以及 Storm 中的Nimbus。
[0054]在所述分布式数据处理系统中,所述系统集群从节点层221与系统集群主节点层222之间的通信主要通过系统协调服务层23的协调实现。所述系统协调服务层23具体为分布式应用程序协调服务Zookeeper,所述Zookeeper是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。所述数据访问层24具体为业务数据访问请求提供统一的数据访问接口。
[0055]—般地,所述数据访问层24提供的统一的数据访问接口中主要包括:通用建库程序、配置解析程序、以及数据访问程序等。其中配置解析程序往往同设置的第一配置文件和第二配置文件相互结合,共同作用。基于分布式数据处理系统实现海量数据的多元化并行处理。
[0056]本发明所提出的一种分布式数据处理系统,以Hadoop分布式框架为基础,分别建立分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,从而将各分布式服务平台的存储、索引以及实时运算功能通过提供的统一数据访问接口来实现各种功能的综合,进而达到了当出现业务数据访问请求时多元化并行处理海量数据的目的,除了多元化并行处理数据,所提的系统还具备可扩展性、高可用性、稳定性、容灾及高效性等特点,其集成成本低,适用范围广,使用也简单方便。
[0057]实施例三
[0058]图3为本发明实施例三提供的一种基于分布式数据处理系统的数据处理方法的流程示意图。本实施例以上述实施例为基础,基于实施例二中所提的分布式数据处理系统,给出了当出现业务数据访问请求时进行数据处理的方法。
[0059]具体的,本实施例所提的数据处理方法包括:通过数据访问接口,获取业务数据访问请求;根据所述业务数据访问请求,统一调度系统中的分布式数据库Hbase、全文搜索服务器So lr以及分布式实时计算系统Storm,完成对所述访问请求的响应。
[0060]进一步的,如图3所示,基于分布式数据处理系统的数据处理方法,具体包括:
[0061]步骤301、基于数据访问接口,获取业务数据访问请求。
[0062]在本实施例中,所述数据访问接口为一个统一数据访问接口,主要基于设置在数据访问层的第一配置文件和第二配置文件实现。当存在业务数据访问请求时,首先在系统集群的数据访问中间区中基于数据访问接口加载数据访问层的配置解析程序,该配置解析程序用于解析第一配置文件和第二配置文件的相关数据配置信息。由此获取并解析了数据访问请求。
[0063]步骤302、判断所述业务数据访问请求的具体要求,如果是入库请求,则执行步骤303?步骤306 ;或者如果是查询请求,则执行步骤307?311 ;或者如果是处理请求,则执行步骤312和313。
[0064]在本实施例中,根据步骤301解析出的业务数据访问请求可以判断该访问请求具体为哪一种,其判断的过程仍在系统集群的数据访问中间区中进行。本发明所提的分布式数据处理系统,可处理的数据请求分为三种:入库请求、查询请求以及处理请求。进一步的,处理请求包括的范围更广,示例性的,如对数据的增、删、改、合并等等。当判断出具体的访问请求后,就可根据相应的请求执行相应的步骤。
[0065]步骤303、集成Hbase、Solr和Storm的分布式数据处理系统响应业务数据的入库请求。
[0066]在本实施例中,当访问请求为入库请求时,就需统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,由此响应入库请求。
[0067]步骤304、提取与所述入库请求对应的入库数据和索引数据。
[0068]在本实施例中,需要处理的源数据集文件统一存放在系统集群主节点的相关目录中,在响应入库请求后,系统集群通过Zookeeper的协调将源数据集文件从主节点上负载均衡的分发至系统集群的各从节点上,由此每个从节点只需处理部分源数据集文件,从而实现数据处理的并行化。具体的,各从节点并行读取其相应目录下的部分源数据集文件,并提取入库请求所对应的入库数据和索引数据。
[0069]步骤305、将所述入库数据存储于所述分布式数据库Hbase中。
[0070]在本实施例中,主要是系统集群中的Hbase进行工作,所述Hbase中的各Reg1nServer负责调用Hbase的数据入库程序接口,从而并行的将入库数据存放至Hbase所对应的HDFS上。
[0071]步骤306、将所述索引数据存储于所述全文搜索服务器Solr中,之后结束数据处理。
[0072]在本实施例中,主要是系统集群中Solr进行工作,所述Solr中的各SolrServer负责调用数据索引的程序接口,从而并行的将索引数据存放至Solr的从节点计算机的本地磁盘中。
[0073]当通过Hbase和Solr的共同作用并行的将相应的入库数据和索引数据存放至相应的位置后,就可以结束入库请求的数据处理。
[0074]步骤307、集成Hbase、Solr和Storm的分布式数据处理系统响应业务数据的查询请求。
[0075]在本实施例中,当访问请求为查询请求时,就需统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,由此响应查询请求。
[0076]步骤308、提取所述查询请求中包括的查询条件,并将所述查询条件发送至所述全文搜索服务器Solr中进行数据查询。
[0077]在本实施例中,解析出数据访问请求为查询请求后,需要基于系统集群中的Hbase和Solr来完成查询请求。首先由索引服务器Solr先进行索引查询,再进入Hbase数据库中进行具体查询,这样可以避免盲目查询节省查询时间。
[0078]具体的,由于系统集群为分布式的,所以首先将查询请求的查询内容基于Zookeeper由Solr中主节点ResourceMaster分发至各从节点SolrServer,由此实现查询请求的并行处理。在各从节点接收到查询请求后,提取查询请求中相应的查询条件,并基于查询条件通过Solr中的数据查询程序接口返回待查询条件的索引查询结果。需要注意的是,每个从节点只需完成该从节点所对应数据中相应的查询条件,这样所有从节点并行运行实现整个查询条件的索引处理。
[0079]步骤309、接收所述全文搜索服务器Solr返回的查询结果。
[°08°]在本实施例中,接着步骤308的返回结果进一步处理,具体为,Solr中的各从节点将相应的索引查询结果返回至系统集群的数据访问中间区中。即系统集群的数据访问中间区接收Solr返回的查询条件相关的索引查询结果。
[0081]步骤310、从所述查询结果中抽取表名以及行主键名,并将所述表名以及行主键名发送至所述分布式数据库Hbase进行数据查询。
[0082]在本实施例中,当系统集群的数据访问中间区接收到由Solr返回的索引查询结果后,可从该索引查询结果中抽取待查询数据所对应的Hbase的相关表的名称,以及待查询数据所在Hbase表中的行主键名。该数据访问中间区将抽取的Hbase表的名称及相应表中的行主键名再次发送给Hbase,由Hbase再次进行数据查询。
[0083]需要说明的是,在Hbase中进行数据查询的过程也是并行的,即由各从节点调用相应的数据查询程序接口并行实现待查询数据的查询。
[0084]步骤311、接收所述分布式数据库Hbase返回的查询结果,并将结果数据返回至所述查询请求的发送端,之后结束数据处理。
[0085]在本实施例中,Hbase中各从节点的查询结果将汇总到数据访问中间区。在数据访问中间区接收到Hbase返回的结果后,将查询结果返回给查询请求的发送端,从而结束查询请求的数据处理。
[0086]步骤312、集成Hbase、Solr和Storm的分布式数据处理系统响应业务数据的处理请求。
[0087]在本实施例中,当访问请求为处理请求时,就需统一调度系统中的分布式数据库Hbase、全文搜索服务器Solr以及分布式实时计算系统Storm,由此响应处理请求。
[0088]步骤313、将所述处理请求动态生成storm处理流,并将所述storm处理流发送至所述分布式实时计算系统Storm,以触发Storm完成相应的数据处理,并将处理结果分别写入所述全文搜索服务器Solr以及所述分布式数据库Hbase中,之后结束数据处理。
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1