CN107679192B - 多集群协同数据处理方法、系统、存储介质及设备 - Google Patents
多集群协同数据处理方法、系统、存储介质及设备 Download PDFInfo
- Publication number
- CN107679192B CN107679192B CN201710930420.3A CN201710930420A CN107679192B CN 107679192 B CN107679192 B CN 107679192B CN 201710930420 A CN201710930420 A CN 201710930420A CN 107679192 B CN107679192 B CN 107679192B
- Authority
- CN
- China
- Prior art keywords
- data
- cluster
- processing
- hadoop
- basic
- 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.)
- Active
Links
Images
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/24—Querying
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种多集群协同数据处理方法、系统、存储介质及设备,该方法包括:接收采集数据,并将采集数据转化为结构化数据;在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区;根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程。本发明通过构建基础数据共享区能够减少数据冗余。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种多集群协同数据处理方法、系统、存储介质及设备。
背景技术
近年来,随着大数据时代的来临,越来越多企业认识到数据的价值,并希望通过数据分析与数据挖掘指导其企业的经营决策。在这些需求的促使之下,出现了适用于各个场景的大数据处理技术,其中,以Hadoop技术为代表的技术生态圈和采用大规模并行处理(Massively Parallel Process,简称为MPP)架构的分布式数据库技术最具代表性。采用share nothing架构,每个节点使用独立本地资源,数据一般按照分布键Hash分布,通过网络实现节点间的数据交换,以达到系统线性扩展,高效处理PB级数据。
虽然丰富的技术组件以及蓬勃发展的技术为我们提供了更加多样的选择,但是这些多样性和差异性却对如何构建企业级的大数据处理架构等方面的技术提出了新的挑战。
当前主要面临的问题有:
1.单一技术构建的集群往往存在局限性,表现为一类技术通常无法满足所有业务场景,例如,采用Hadoop技术集群能够实现批量数据处理,但难以满足复杂模型计算和交互式数据查询的需求。
2.多种技术构建的集群间系统虽然能够满足不同场景的应用,但存在基础数据冗余存储、数据不一致等问题。并且,异构集群间的数据传输,通常需要通过将数据导出成文件以后,再传输到其他集群中数据库,形成两次落地,数据交换效率低下。
发明内容
本发明实施例提供了一种多集群协同数据处理方法,以克服单一技术构建的集群应对业务场景服务的局限性,以及多种异构系统间数据冗余及数据交换效率不高的问题。该多集群协同数据处理方法,包括:接收采集数据,并将采集数据转化为结构化数据;在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区;根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程。
本发明实施例还提供了一种多集群协同数据处理系统,以克服单一技术构建的集群应对业务场景服务的局限性,以及多种异构系统间数据冗余及数据交换效率不高的问题。该多集群协同数据处理系统,包括:数据接收单元,用于:接收采集数据,并将采集数据转化为结构化数据;数据加载合并单元,用于:在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区;批量数据处理单元,用于:根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程。
本发明实施例还提供了一种计算机可读存储介质,以克服单一技术构建的集群应对业务场景服务的局限性,以及多种异构系统间数据冗余及数据交换效率不高的问题。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述各实施例所述方法的步骤。
本发明实施例还提供了一种计算机设备,该计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各实施例所述方法的步骤。
本发明实施例的方法、系统、存储介质及设备,通过构建同一的基础数据共享区,供各集群共享使用基础数据,能够避免数据流转过程中多次落地,大大减少了数据冗余,也降低了数据存储成本与基础数据不一致的风险。通过采用包括Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群的异构集群协同数据处理,能够充分利用各集群的技术特点,形成统一的大数据处理平台,满足不同应用场景,提供多样化的数据服务。通过Hadoop集群构建基础数据共享区,能够充分利用Hadoop集群扩展性好的优点。利用分布式数据库集群能够充分利用其效的节点间并行数据传输的优点,实现异构集群节点间高速并行访问,提高数据交换效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例的多集群协同数据处理方法的流程示意图;
图2是本发明一实施例中接收采集数据并将采集数据转化为结构化数据的方法流程示意图;
图3是本发明一实施例中在Hadoop集群上构建基础数据共享区并将结构化数据加载至基础数据共享区的方法流程示意图;
图4是本发明另一实施例中在Hadoop集群上构建基础数据共享区并将结构化数据加载至基础数据共享区的方法流程示意图;
图5是本发明另一实施例的多集群协同数据处理方法流程示意图;
图6是本发明一实施例中利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理数据的方法示意图;
图7是本发明一实施例中单个分布式数据库集群数据节点访问Hadoop集群数据节点的示意图;
图8是本发明一实施例中分布式数据库集群利用基础数据共享区提供数据服务的方法流程示意图;
图9是本发明一实施例的多集群协同数据处理方法的流程示意图;
图10是本发明一实施例中集群间传输数据的方法流程示意图;
图11是本发明实施例的多集群协同数据处理系统的结构示意图;
图12是本发明一实施例中数据接收单元的结构示意图;
图13是本发明一实施例中数据加载合并单元的结构示意图;
图14是本发明另一实施例中数据加载合并单元的结构示意图;
图15是本发明另一实施例的多集群协同数据处理系统的结构示意图;
图16是本发明一实施例中批量数据处理单元的结构示意图;
图17是本发明一实施例中第二批量数据处理模块的结构示意图;
图18是本发明又一实施例的多集群协同数据处理系统的结构示意图;
图19是本发明一实施例中Hadoop集群的结构示意图;
图20是本发明一实施例中多个分布式数据库集群的结构示意图;
图21是本发明实施例的计算机设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
为了克服了单一技术构建的集群应对业务场景服务的局限性,以及多种异构系统间数据冗余及数据交换效率不高的问题,本发明提出了一种多集群协同数据处理方法。图1是本发明实施例的多集群协同数据处理方法的流程示意图。如图1所示,本发明实施例的多集群协同数据处理方法,可包括:
步骤S110:接收采集数据,并将采集数据转化为结构化数据;
步骤S120:在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区;
步骤S130:根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程。
采集数据可以是结构化数据、非结构化数据及半结构化数据。通过上述步骤S110可以将非结构化数据及半结构化数据转化成结构化数据。将结构化数据放入基础数据共享区中,能够为集群的批量处理服务提供结构化数据。上述基础数据共享区在Hadoop集群存储区域中,能够以与源系统表结构相同的方式组织积累源数据,数据一致性好。
在上述步骤S120中,Hadoop集群具有更好的扩展性,采用Hadoop集群构建企业级基础数据共享区,使用更灵活。通过构建基础数据共享区,形成一个统一存储区域,各集群共享访问使用基础数据,能够解决数据冗余与一致性问题,同时也解决了现有技术中各数据多次落地导致数据交换效率不高的问题。
在上述步骤S130中,通过Hadoop集群与Hadoop联机处理集群之间及Hadoop集群与多个分布式数据库集群之间的传输机制,能够使得Hadoop联机处理集群和分布式数据库集群方便地访问基础数据共享区中的基础数据,可以减少现有技术因在不同集群生成文件而导致的基础数据冗余。Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同进行数据处理,例如实现数据的处理、转换或再组织,能够利用异构集群之间及各集群的技术特点,来应对不同数据需求的场景。
具体实施时,可以按照数据的使用场景,通过集群间数据传输机制,将基础数据由Hadoop集群上的基础数据共享区分别传输给高速读写的多个分布式数据库集群或Hadoop联机处理集群,进行后续的数据处理与再组织转换,提供相应的业务应用与访问,最终完成整个数据处理系统的处理流程。
分布式数据库集群采用分布式数据库技术提供数据服务,可以通过使用高效的节点间并行数据传输方式访问基础数据,实现数据的处理、转换或再组织,具有更高的读写效率。
本发明实施例,通过构建同一的基础数据共享区,供各集群共享使用基础数据,能够避免数据流转过程中多次落地,大大减少了数据冗余,也降低了数据存储成本与基础数据不一致的风险。通过采用包括Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群的异构集群协同数据处理,能够充分利用各集群的技术特点,形成统一的大数据处理平台,满足不同应用场景,提供多样化的数据服务。通过Hadoop集群构建基础数据共享区,能够充分利用Hadoop集群扩展性好的优点。利用分布式数据库集群能够充分利用其效的节点间并行数据传输的优点,实现异构集群节点间高速并行访问,提高数据交换效率。
图2是本发明一实施例中接收采集数据并将采集数据转化为结构化数据的方法流程示意图。如图2所示,在上述步骤S110中,接收采集数据,并将采集数据转化为结构化数据的方法,可包括:
步骤S111:接收结构化的、半结构化的及非结构化的采集数据;
步骤S112:将半结构化的和非结构化的采集数据转化为结构化的数据,将结构化的采集数据和转化得到的结构化的数据作为所述结构化数据。
在步骤S111中,更具体的实施方式可以是:周期性地,接收由结构化数据采集服务器采集的上游源系统导出的文本文件,作为结构化的采集数据;接收由非结构化数据采集服务器通过部署代理程序/软件在上游源系统的应用服务器、日志服务器及图片服务器,按设定频度或记录触发的方式采集的信息,作为半/非结构化的采集数据。
实施例中,可以按照约定规则对接收到的采集数据进行包括解压缩、校验、编码转换及文件合并等基本处理。
在上述步骤S112中,更具体的实施方式可以是:运用MapReduce计算框架,根据预定义规则,采用包括特征提取和正则表达式匹配的手段对非结构化的和半结构化的采集数据进行数据清洗及信息提取,转化为结构化的采集数据。对结构化的采集数据的文件,进行编码转换、文件合并及数据清洗后,再放入基础数据共享区。
图3是本发明一实施例中在Hadoop集群上构建基础数据共享区并将结构化数据加载至基础数据共享区的方法流程示意图。如图3所示,在上述步骤S120中,在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区的方法,可包括:
步骤S121:利用Hadoop集群在其存储区域上构建基础数据共享区,供Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群使用;
步骤S122:按照结构化数据的使用需求,选择相应的加载算法与保留周期,对结构化数据进行增量数据及存量数据合并,以加载至Hadoop集群的基础数据共享区。
在上述步骤S122中,按照结构化数据的使用需求选择相应的加载算法可以提高数据加载效率。保留周期可以指数据在基础数据共享区保留时间。
具体实施例中,可以按照结构化数据的源数据生成方式和数据使用要求选择加载算法,对结构化数据进行增量数据和存量数据合并,加载至Hadoop集群的基础数据共享区。
一般可采用Hadoop集群中的Hive组件对结构化数据进行增量数据和存量数据合并。
具体实施时,对于事件类和日志明细类的结构化数据,可采用追加算法累加每日发生数据;对于参数类的结构化数据,可采用存量替换算法,仅保留最新的存量快照;对于其余类型的结构化数据,可采用历史拉链算法,保留数据变化过程。实施例中,可通过分区技术,实现仅访问个别的数据分区,保持对最新数据的访问效率。
其中,上述追加算法,可指将当天的新增数据简单追加到截止昨天的记录清单之后,典型的应用场景如交易明细记录的累积。上述存量替换算法,可指使用最新的全量数据替换掉当前数据,典型的应用场景如参数、机构树等数据的累积。上述历史拉链算法,可指对加载的数据结构上增加了开始日期与结束日期,保留了数据变化的历史。
图4是本发明另一实施例中在Hadoop集群上构建基础数据共享区并将结构化数据加载至基础数据共享区的方法流程示意图。如图4所示,在上述步骤S120中,在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区的方法,可包括:
步骤S123:根据结构化数据的源数据来源方式,利用Hadoop集群在构建的基础数据共享区中建立相应数据库;
步骤S124:将结构化数据加载至在基础数据共享区中建立的相应数据库中。
本实施例中,基础数据共享区按结构化数据的源数据来源分别建库,可以便于实施访问权限的管理。
图5是本发明另一实施例的多集群协同数据处理方法流程示意图。如图5所示,实施例中,多集群协同数据处理方法,还可包括:
步骤S140:根据预先配置的作业调度信息,判断是否存在在Hadoop集群上运行的批量加工作业配置,如果存在,则对基础数据共享区的数据运行相应的批量加工处理,计算生成结果数据,并将结果数据存储至基础数据共享区。
可以通过在调度服务器中预先配置的作业调度信息。通过上述步骤S140可以利用Hadoop集群快速预先进行简单批量数据处理。存储至基础数据共享区的结果数据可以供各集群共享使用。
图6是本发明一实施例中利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理数据的方法示意图。如图6所示,在上述步骤S130中,根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程的方法,可以包括:
步骤S131:对于高频、高并发及低延时的联机数据访问的数据使用场景,利用Hadoop联机处理集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;
步骤S132:对于面向多张大表进行表关联或交互式查询的数据访问的数据使用场景,利用分布式数据库集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;
步骤S133:对于无访问时效要求的数据服务需求的数据使用场景,利用Hadoop集群获取并处理基础共享区的数据,以提供相应的数据访问服务,并完成数据处理流程。
更具体地,实施例中,当有高频、高并发及低延时的联机数据访问时,Hadoop集群与Hadoop联机处理集群可采用distcp工具实现二者间的数据传输,将基础数据共享区的数据加载到Hadoop联机处理集群,并可利用Hadoop联机处理集群的HBase组件提供数据服务。
具体实施例中,可在分布式数据库集群上建立外表,外表指向Hadoop集群的基础数据共享区的表,在分布式数据库集群需要提供数据访问服务时,可利用外表访问所需的基础共享区的数据。如此以来,无需预先冗余全量数据,就可以方便地访问基础数据。
具体实施例中,可通过包括分区剪枝和谓词下推的方法访问所需的基础数据共享区的数据。以此,可以减少访问的数据量,减少网络负载,提升访问效率。
图7是本发明一实施例中单个分布式数据库集群数据节点访问Hadoop集群数据节点的示意图。如图7所示,一个分布式数据库集群可包含多个主(协调)节点、多个数据节点,还可以包括其他事务管理、导入导出等逻辑服务节点。所谓主节点可以是指分布式数据库架构中的一种协调节点,负责SQL语句解析与全局数据处理与汇总,分析语句中是否使用到外表并指向了Hadoop集群。一个Hadoop集群结构一般包含一个主名称节点与一个或多个从名称节点,以及多个数据节点。主名称节点对外提供元数据服务,从名称节点作为热备节点,通常情况下仅做数据备份,在主节点异常时,可实现主备切换,提供服务。名称节点可以是Hadoop集群存储与管理元数据的节点,可以保存每个数据块以及其副本的存储位置等信息。在访问Hadoop集群上的数据时,首先访问名称节点,以确定所需数据的实际物理数据节点分布。
图8是本发明一实施例中分布式数据库集群利用基础数据共享区提供数据服务的方法流程示意图。如图8所示,在上述步骤S132中,利用分布式数据库集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务的方法,可包括:
步骤S1321:接收来自根据应用场景选定的分布式数据库集群所对应的客户端的SQL查询请求;
步骤S1322:选定的分布式数据库集群的主节点接收并解析SQL查询请求的SQL语句;
步骤S1323:根据解析结果,主节点访问Hadoop集群的主名称节点的元数据信息,并获取相应的数据分布信息;
步骤S1324:根据数据分布信息,生成选定的分布式数据库集群中各数据节点的SQL执行计划;
步骤S1325:主节点将SQL执行计划分发给选定的分布式数据库集群的各数据节点;
步骤S1326:选定的分布式数据库集群的各数据节点按照SQL执行计划访问Hadoop集群的数据节点,拉取基础数据共享区的数据;
步骤S1327:采用谓词下推方法,从拉取的基础共享区的数据中仅获取符合SQL查询请求中查询条件的数据;
步骤S1328:选定的分布式数据库集群的数据节点根据SQL查询请求中关联条件对获取的符合查询条件的数据进行重分布,以实现包括关联筛选的计算;
步骤S1329:选定的分布式数据库集群的数据节点对重分布后的数据对应的本地数据进行计算,并将计算结果返回至主节点;
步骤S13210:主节点利用计算结果执行SQL查询请求中尚未执行的逻辑,并将执行结果作为查询结果返回至客户端。
在上述步骤S1321中,具体实施时,可以根据包括复杂模型数据处理和多张大表关联的批量处理的应用场景,将多个分布式数据库集群中的复杂批量数据处理集群作为选定的分布式数据库集群。以此,可以充分利用MPP架构大规模并行计算的特性,提升结构化数据进行复杂批量处理时的效率。可以根据以批量数据处理为主且需要提供对处理结果数据的联机查询的混合负载的应用场景,将多个分布式数据库集群中的混合负载处理集群作为选定的分布式数据库集群。可以根据包括提供高时效的交互式查询或灵活查询的分析服务的应用场景,将多个分布式数据库集群中的分析挖掘处理集群作为选定的分布式数据库集群。可以根据针对特定业务的应用场景,将多个分布式数据库集群中的其他特定业务数据处理集群作为选定的分布式数据库集群。其他特定业务数据处理集群可以是主要针对特定业务场景建立独立集群提供服务,例如,面向监管报送场景下的大表关联,参数更新,结果查询等服务。
在上述步骤S1323中,具体实施时,可根据解析结果中用于访问Hadoop集群的外表,主节点访问Hadoop集群的主名称节点的元数据信息,并获取外表的相关数据在Hadoop集群中的数据分布信息。进一步,优选实施例中,如果需要访问的是Hadoop集群的分区表,且解析结果中的查询条件中包含分区条件,则可访问Hadoop集群的主名称节点的元数据信息,并仅获取分区目录下文件的分布信息,以此可以实现分区剪枝,提高数据访问效率。
在上述步骤S1326中,分布式数据库集群的多个数据节点之间的数据拉取可以是并行执行,以此可以提高数据拉取的效率,进而提高数据传输效率。
在上述步骤S1327中,可选定的分布式数据库集群的数据节点采用包括谓词下推方法的优化策略,从拉取的基础共享区的数据中仅获取符合SQL查询请求中查询条件的数据,以此可以减少网络传输数据量。优化策略采用谓词下推方法,具体实施方式可以是,根据SQL查询条件,逐个访问Hadoop集群的数据节点中相关文件的文件头中记录的索引信息,并根据索引信息的偏移位置,仅获取符合该SQL查询条件的数据。
上述多个分布式数据库集群可以包括多个功能集群。实施例中,多个分布式数据库集群可包括:复杂批量数据处理集群、混合负载处理集群、分析挖掘处理集群及特定业务数据处理集群。本实施例中,采用异构技术构建的多个分布式集群,不仅能够实现基础数据共享,还能够实现复杂结构化数据批量处理、混合负载、联机访问等功能。
具体地,复杂批量数据处理集群,主要可应对复杂模型数据处理,多张大表关联等批量处理场景,利用MPP架构大规模并行计算的特性,提升结构化数据复杂批量处理的效率;混合负载处理集群,主要可应对以批量数据处理为主,但还需要提供对处理结果数据的联机查询的混合负载场景;分析挖掘处理集群,主要可提供高时效的交互式查询或灵活查询等分析服务;其他特定业务数据处理集群,主要可针对特定业务场景建立独立集群提供服务,如面向监管报送场景下的大表关联,参数更新,结果查询等服务。
图9是本发明一实施例的多集群协同数据处理方法的流程示意图。如图9所示,本实施例中,多集群协同数据处理方法,可包括:
步骤1:从各渠道采集数据,并对其中非结构化数据实施数据结构化转化。
具体地,周期性地,接收上游源系统导出的文本文件,为结构化数据;通过在上游部署代理程序采集信息,为半/非结构化数据,以原始文件形式加载到分布式文件系统中。
步骤2:数据加载及预处理。
具体地,周期性地,将采集到的数据,进行数据预处理,并放入基础数据共享区。更具体地,对结构化数据文件,进行编码转换、文件合并、数据清洗,放入基础数据共享区。具体地,运用MapReduce计算框架,采用预定义的规则进行特征提取、正则表达式等手段实现对非/半结构化数据转化为结构化数据后,再放入/加载至基础数据共享区。在进行特征提取等步骤中可包含相关预处理动作。
步骤3:选择加载策略,进入Hadoop集群。
具体地,周期性地,实施数据加载、合并。更具体地,按照数据使用需求,选择不同的加载算法与保留周期,进行增存量数据合并(增量数据和存量数据的合并在一起。一般新增数据表,都需要投产首日存量数据,然后接收每日增量数据,按照主键进行数据合并。对使用方看到的即是一份最新数据。),完成当日数据准备,一般采用Hive组件。其中,对于加载算法选择,按照源数据的生成方式不同以及使用要求可有所区别。其中,事件类或日志明细类数据,采用追加算法,不断累加每日发生数据;参数类数据,一般采用存量替换算法,仅保留最新的存量快照;其余数据一般采用历史拉链算法,保留数据变化过程,并通过分区技术,实现仅访问个别的数据分区,保持对最新数据的访问效率。
步骤4:简单批量处理。对加载到Hadoop集群的基础数据共享区的结构化数据进行批量处理吗,该处理是由Hadoop集群执行,对于一些简单指标加工的场景,可以直接使用该集群的计算能力实现,无需跨集群数据传输后再进行处理。具体地,根据调度服务器6中预先配置的作业调度信息,判断是否存在在Hadoop集群上运行的简单批量加工作业配置。如果存在,则运行相关批量处理作业,计算生成结果数据,并将结果数据放入基础数据共享区。之后可利用结果数据提供数据服务。
步骤5:根据使用场景传输到不同的功能集群。可将基础数据共享区的基础数据,还可结果数据传输到功能集群。具体地,按照不同场景的数据服务需求,采用不同功能的集群提供数据服务。
步骤6:如果是高频、高并发、低延时的联机数据访问,则采用Hadoop联机处理集群提供服务。
进一步,具体地,Hadoop集群与Hadoop联机处理集群采用distcp工具,实现集群间数据传输并加载到联机集群的HBase组件提供服务。
步骤7:如果是面向复杂逻辑的多张大表进行表关联或交互式灵活查询的数据访问需求,则采用分布式数据库集群提供服务。
具体地,在分布式数据库集群上建立外表指向Hadoop处理集群中基础数据共享区的表,而无需预先冗余全量数据。在分布式数据库集群上相关作业在运行时,访问所需的共享区数据,通过分区剪枝、谓词下推等技术减少访问的数据量,减少网络负载,提升访问效率。集群间的数据传输如图7所示。
步骤8:对于其他无访问时效要求的服务需求,由Hadoop集群直接提供数据访问服务。
图10是本发明一实施例中集群间传输数据的方法流程示意图。结合图7,如图10所示,集群间传输数据的方法,可包括:
步骤91:根据应用场景,用户选择使用相应的分布式数据库对应客户端发送SQL查询请求。
步骤92:分布式数据库主节点接收并解析SQL语句。
具体地,单个分布式数据库集群通过使用软硬件设置负载均衡策略选择其中某一主节点,接收并解析SQL语句。
步骤93:访问Hadoop元数据信息,获取数据分布等信息。
具体地,对于语句中涉及访问Hadoop集群的外表,分布式数据库集群主节点访问Hadoop集群主名称节点的元数据信息,获取外表相关数据(外表指向的数据)在Hadoop集群中的数据分布信息。优选地,如果访问的是分区表(基础数据共享区中的分区建库的分区表),且查询条件中包含了分区条件,可以仅获取分区目录下文件的分布信息,即实现分区剪枝。
步骤94:按照Hadoop集群中的数据分布情况,即,按照Hadoop集群中放的元数据信息,生成分布式数据库中各数据节点的SQL执行计划。
步骤95:当前访问选中的分布式数据库主节点将执行计划分发给当前集群的各个数据节点。
步骤96:各个数据节点按照执行计划,访问Hadoop集群对应数据节点获取数据。多个数据节点之间的数据拉取是并行执行。
步骤97:分布式数据库数据节点获取数据过程中进一步进行优化策略,实现谓词下推,仅获取符合本次查询条件的数据,以减少网络传输数据量。
所述优化策略采用谓词下推方法,即根据查询条件,逐个访问Hadoop集群中相关文件的文件头中记录的索引信息,根据索引记录的偏移位置,仅获取符合本次查询条件的数据。
步骤98:分布式数据库的数据节点获取数据(经过筛选后的基础共享区数据)后,根据关联条件(SQL语句中包含的关联条件)对数据进行重分布,实现关联筛选等计算。
步骤99:选定的分布式数据库的数据节点对本地数据(分布式数据库存储在本数据节点的数据以及步骤98中获取数据并重分布以后的数据)进行计算,例如数据关联或聚合等计算,计算结果返回MPP分布式数据库集群的主节点。
步骤910:分布式数据库主节点完成其余逻辑执行。分布式数据库的数据节点上,仅有本节点数据,故计算的是一个局部结果。把所有数据节点的局部结果返回到主节点后,可由主节点完成最终的全局计算结果。返回客户端最终查询结果。
基于与图1所示的多集群协同数据处理方法相同的发明构思,本申请实施例还提供了一种多集群协同数据处理装置,如下面实施例所述。由于该多集群协同数据处理装置解决问题的原理与多集群协同数据处理方法相似,因此该多集群协同数据处理装置的实施可以参见多集群协同数据处理方法的实施,重复之处不再赘述。
图11是本发明实施例的多集群协同数据处理系统的结构示意图。如图11所示,本发明实施例的多集群协同数据处理系统,可包括:数据接收单元210、数据加载合并单元220及批量数据处理单元230,上述各单元顺序连接。
数据接收单元210,用于:接收采集数据,并将采集数据转化为结构化数据;
数据加载合并单元220,用于:在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区;
批量数据处理单元230,用于:根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程。
本发明实施例,通过数据加载合并单元构建同一的基础数据共享区,供各集群共享使用基础数据,能够避免数据流转过程中多次落地,大大减少了数据冗余,也降低了数据存储成本与基础数据不一致的风险。通过批量数据处理单元采用包括Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群的异构集群协同数据处理,能够充分利用各集群的技术特点,形成统一的大数据处理平台,满足不同应用场景,提供多样化的数据服务。
图12是本发明一实施例中数据接收单元的结构示意图。如图12所示,数据接收单元210,可包括:数据采集模块211和非结构化数据提取模块212,二者相互连接。
数据采集模块211,用于:接收结构化的、半结构化的及非结构化的采集数据;
非结构化数据提取模块212,用于:将半结构化的和非结构化的采集数据转化为结构化的数据,将结构化的采集数据和转化得到的结构化的数据作为所述结构化数据。
更具体的实施例中,数据采集模块211还可用于:周期性地,接收由结构化数据采集服务器采集的上游源系统导出的文本文件,作为结构化的采集数据;接收由非结构化数据采集服务器通过部署代理程序/软件在上游源系统的应用服务器、日志服务器及图片服务器,按设定频度或记录触发的方式采集的信息,作为半/非结构化的采集数据。
图13是本发明一实施例中数据加载合并单元的结构示意图。如图13所示,数据加载合并单220,可包括:第一基础数据共享区构建模块221和第一数据加载合并模块222,二者相互连接。
第一基础数据共享区构建模块221,用于:利用Hadoop集群在其存储区域上构建基础数据共享区,供Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群使用;
第一数据加载合并模块222,用于:按照结构化数据的使用需求,选择相应的加载算法与保留周期,对结构化数据进行增量数据及存量数据合并,以加载至Hadoop集群的基础数据共享区。
具体实施例中,第一数据加载合并模块222还可用于,按照结构化数据的源数据生成方式和数据使用要求选择加载算法,对结构化数据进行增量数据和存量数据合并,加载至Hadoop集群的基础数据共享区。
具体实施时,第一数据加载合并模块222还可用于,对于事件类和日志明细类的结构化数据,可采用追加算法累加每日发生数据;对于参数类的结构化数据,可采用存量替换算法,仅保留最新的存量快照;对于其余类型的结构化数据,可采用历史拉链算法,保留数据变化过程。实施例中,可通过分区技术,实现仅访问个别的数据分区,保持对最新数据的访问效率。
图14是本发明另一实施例中数据加载合并单元的结构示意图。如图14所示,数据加载合并单元220,可包括:第二基础数据共享区构建模块223和第二数据加载合并模块224,二者相互连接。
第二基础数据共享区构建模块223,用于:根据结构化数据的源数据来源方式,利用Hadoop集群在构建的基础数据共享区中建立相应数据库;
第二数据加载合并模块224,用于:将结构化数据加载至在基础数据共享区中建立的相应数据库中。
图15是本发明另一实施例的多集群协同数据处理系统的结构示意图。如图15所示,实施例中,多集群协同数据处理系统,还可包括:简单批量处理单元240,可连接在数据加载合并单元220及批量数据处理单元230之间。
简单批量处理单元240,用于:根据预先配置的作业调度信息,判断是否存在在Hadoop集群上运行的批量加工作业配置,如果存在,则对基础数据共享区的数据运行相应的批量加工处理,计算生成结果数据,并将结果数据存储至基础数据共享区。
图16是本发明一实施例中批量数据处理单元的结构示意图。如图16所示,批量数据处理单元230,可包括:第一批量数据处理模块231、第二批量数据处理模块232及第三批量数据处理模块233。
第一批量数据处理模块231,用于:对于高频、高并发及低延时的联机数据访问的数据使用场景,利用Hadoop联机处理集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;
第二批量数据处理模块232,用于:对于面向多张大表进行表关联或交互式查询的数据访问的数据使用场景,利用分布式数据库集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;
第三批量数据处理模块233,用于:对于无访问时效要求的数据服务需求的数据使用场景,利用Hadoop集群获取并处理基础共享区的数据,以提供相应的数据访问服务,并完成数据处理流程。
图17是本发明一实施例中第二批量数据处理模块的结构示意图。如图17所示,第二批量数据处理模块232,可包括:查询请求接收模块2321、查询语句解析模块2322、数据分布信息获取模块2323、执行计划生成模块2324、执行计划分发模块2325、基础数据拉取模块2326、查询数据获取模块2327、数据重分布模块2328、本地数据计算模块2329及查询结果返回模块23210,上述各模块顺序连接。
查询请求接收模块2321,用于:接收来自根据应用场景选定的分布式数据库集群所对应的客户端的SQL查询请求;
查询语句解析模块2322,用于:选定的分布式数据库集群的主节点接收并解析SQL查询请求的SQL语句;
数据分布信息获取模块2323,用于:根据解析结果,主节点访问Hadoop集群的主名称节点的元数据信息,并获取相应的数据分布信息;
执行计划生成模块2324,用于:根据数据分布信息,生成选定的分布式数据库集群中各数据节点的SQL执行计划;
执行计划分发模块2325,用于:主节点将SQL执行计划分发给选定的分布式数据库集群的各数据节点;
基础数据拉取模块2326,用于:选定的分布式数据库集群的各数据节点按照SQL执行计划访问Hadoop集群的数据节点,拉取基础数据共享区的数据;
查询数据获取模块2327,用于:采用谓词下推方法,从拉取的基础共享区的数据中仅获取符合SQL查询请求中查询条件的数据;
数据重分布模块2328,用于:选定的分布式数据库集群的数据节点根据SQL查询请求中关联条件对获取的符合查询条件的数据进行重分布,以实现包括关联筛选的计算;
本地数据计算模块2329,用于:选定的分布式数据库集群的数据节点对重分布后的数据对应的本地数据进行计算,并将计算结果返回至主节点;
查询结果返回模块23210,用于:主节点利用计算结果执行SQL查询请求中尚未执行的逻辑,并将执行结果作为查询结果返回至客户端。
实施例中,批量数据处理单元230,还可用于执行:所述多个分布式数据库集群包括:复杂批量数据处理集群、混合负载处理集群、分析挖掘处理集群及特定业务数据处理集群。
图18是本发明又一实施例的多集群协同数据处理系统的结构示意图。如图18所示,该系统可包括:结构化数据采集服务器1、非结构化数据采集服务器2、Hadoop集群3、多个分布式数据库集群4、Hadoop联机处理集群5及调度服务器6。该系统在工作过程中,可实现:数据抽取、数据加载、数据转换及调度服务。
第一部分数据抽取,由结构化数据采集服务器1和非结构化数据采集服务器2组成,分别实现结构化数据和非结构化数据的抽取、采集、汇聚、传输。
具体地,结构化数据采集服务器1,采集上游源系统导出的文本文件,经过译码、校验、分发等相关数据预处理后,传输到Hadoop集群3。非结构化数据采集服务器2,通过部署代理软件在上游源系统的应用服务器、日志服务器、图片服务器等,按一定频度或者记录触发的方式采集非结构化数据,传输到Hadoop集群3。
第二部分数据加载,由Hadoop集群3负责实现源系统数据的加载、存储,并建立基础数据共享区,实现基础数据共享,同时提供有限场景下的批量数据处理功能以及提供特定业务场景的数据服务。
具体地,Hadoop集群3接收结构化数据采集服务器1和非结构化数据采集服务器2所传输的数据后,按照预先设置的加载策略,将数据加载到集群中的基础数据共享区中,所述基础数据共享区是指在集群存储区域中,以与源系统表结构相同的方式组织积累源数据,形成一个统一的可共享访问的数据区域。
第三部分数据转换,转换后的数据用于对外提供数据服务,由多个分布式数据库集群4与Hadoop联机处理集群5组成。其中,多个分布式数据库集群4主要采用分布式数据库技术,按照不同的业务场景与使用方式,重新组织数据,划分多个不同的物理集群,提供结构化数据的批量处理与访问;Hadoop联机处理集群5组成主要采用Hadoop相关技术,面向高容量、高并发、低延迟的数据更新与访问服务。
具体地,按照数据的使用场景,通过集群间数据传输机制,分别传输给高速读写的多个分布式数据库集群4或Hadoop联机处理集群5,进行后续的数据处理与再组织转换,提供相应的业务应用与访问,最终完成整个数据处理系统的处理流程。
第四部分调度服务,包括了调度服务器6,主要实现多集群整体批量作业的调度执行以及相关元数据管理。
具体实施例中,结构化数据采集服务器1,采集上游源系统导出的文本文件,经过译码、校验、分发等相关数据预处理后,传输到Hadoop集群3。非结构化数据采集服务器2通过部署代理软件在上游源系统的应用服务器、日志服务器、图片服务器等,按一定频度或者记录触发的方式采集非结构化数据,传输到Hadoop集群3。Hadoop集群3接收结构化数据采集服务器1和非结构化数据采集服务器2所传输的数据后,按照预先设置的加载策略将数据加载到集群中的基础数据共享区中。所述基础数据共享区是指在集群存储区域中,以与源系统表结构相同的方式组织积累源数据,形成一个统一的可共享访问的数据区域。然后按照数据的使用场景,通过集群间数据传输机制,分别传输给高速读写的多个分布式数据库集群4或Hadoop联机处理集群5,进行后续的数据处理与再组织转换,提供相应的业务应用与访问,最终完成整个数据处理系统的处理流程。
图19是本发明一实施例中Hadoop集群的结构示意图。如图19所示,实施例中,Hadoop集群3可包含数据接收单元210、非结构化数据提取单元250、数据加载合并单元220、批量数据处理单元230,基础数据共享区260。
数据接收单元210,负责接收结构化数据采集服务器1与非结构化数据采集服务器2传输的数据,对接收到的数据按照约定规则进行基本的处理,如解压缩、校验、编码转换、文件合并等。
非结构化数据提取单元250,对于非结构化数据,通过非结构化数据提取单元250,采用特征提取、正则表达式匹配等手段,进行数据清洗并提取关注的信息为结构化数据,提供给数据加载合并单元220。
数据加载合并单元220,按照数据使用需求,选择不同的加载算法与保留周期,进行增存量数据合并,完成当日数据准备。其中,对于加载算法的选择,按照源数据的生成方式不同以及使用要求有所区别。其中,事件类或日志明细类数据,采用追加算法,不断累加每日发生数据,所述追加算法,指将当天的新增数据简单追加到截止昨天的记录清单之后,典型的应用场景如交易明细记录的累积。参数类数据,一般采用存量替换算法,仅保留最新的存量快照,所述存量替换算法,指使用最新的全量数据替换掉当前数据,典型的应用场景如参数、机构树等数据的累积。其余数据一般采用历史拉链算法,保留数据变化过程,并通过分区技术,实现仅访问个别的数据分区,保持对最新数据的访问效率,所述历史拉链算法,指对加载的数据结构上增加了开始日期与结束日期,保留了数据变化的历史,具体为,数据加载时,通过比对现有表中结束日期为最大日期的记录与当天新增记录的主键,如果存在则将现有表中相关记录结束日期设为加载日期。然后对于当天新增的数据,开始日期为加载日期,结束日期为系统“最大日期”,加载到表中。
批量数据处理单元230,实现适用于Hadoop技术实现的数据处理。所述适用于Hadoop技术实现的数据处理是指,简单逻辑的或大吞吐量要求的数据批量处理、半结构化数据清洗等功能。这是由于Hadoop集群3构建了基础数据共享区260,实现了统一基础数据的存储,并实现海量数据的批量处理,故一般采用Hadoop中的HDFS、Hive、MapReduce等组件实现。
基础数据共享区260,包含与上游源系统数据结构一致的基础数据,以及简单批量加工后有共享需求的公共数据,并按照使用需求保留历史数据。基础数据共享区的数据,按数据来源分别建库,以便实施访问权限的管理。
由于Hadoop相关组件在关联计算时,中间结果需落地写磁盘,所以对于多表关联的复杂模型计算场景或者时效性要求较高的交互式查询场景,会导致反复写磁盘效率不高,难以满足时效性需求。为了解决上述问题,同时也遵循读写分离的设计原则,将相关特征的负载按照应用场景分别部署到分布式数据库集群以及其他不同技术组件的集群上,即由多个分布式数据库集群4与Hadoop联机处理集群5进行处理。
具体实施例中,多个分布式数据库集群4,主要采用MPP分布式数据库技术。为了满足资源隔离需求、负载特性差异、集群节点规模上限等因素,按照不同业务场景与数据访问要求,构建了多个集群。与一般的MPP分布式数据库集群架构类似,每一个集群包含多个主(协调)节点、多个数据节点以及其他事务管理、导入导出等逻辑服务节点。其中,主节点可实现计算任务的接收、解析与响应,实现总体协调和全局数据处理,多个主节点之间可通过软件或硬件实现负载均衡。数据节点可实现本地数据的存储与计算,每台物理服务器按照配置情况,可部署多个数据节点。每张数据表的数据可按照分布键进行Hash分布,由对应的数据节点管理。
图20是本发明一实施例中多个分布式数据库集群的结构示意图。如图20所示,多个分布式数据库集群4主要可包括复杂批量数据处理集群41、混合负载处理集群42、分析挖掘处理集群43、其他特定业务数据处理集群44。
其中,复杂批量数据处理集群41,主要可应对复杂模型数据处理,多张大表关联等批量处理场景,利用MPP架构大规模并行计算的特性,提升结构化数据复杂批量处理的效率;混合负载处理集群42,主要可应对以批量数据处理为主,但还需要提供对处理结果数据的联机查询的混合负载场景;分析挖掘处理集群43,主要提供高时效的交互式查询或灵活查询等分析服务;其他特定业务数据处理集群44,主要可针对特定业务场景建立独立集群提供服务,如面向监管报送场景下的大表关联,参数更新,结果查询等服务。
具体实施例中,Hadoop联机处理集群5,采用Hadoop技术,利用Hadoop生态圈丰富的工具与技术组件提供各类服务。同样从资源隔离、负载差异性、读写分离等因素考虑,构建多个集群应对不同场景,主要采用HBase组件,面向高并发的联机交易场景。
具体地实施例中,调度服务器6,部署关系型数据库,存储多集群系统所有的作业元数据信息,其中包括作业属性,作业间依赖关系与调度顺序,相关的配置信息以及作业运行期间的日志信息等。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现各实施例所述方法的步骤。
本发明实施例还提供一种计算机设备。图21是本发明实施例的计算机设备结构示意图。如图21所示,计算机设备500包括存储器510、处理器520及存储在存储器上并可在处理器520上运行的计算机程序,所述处理器520执行所述程序时实现各实施例所述方法的步骤。
综上所述,本发明实施例的方法、系统、存储介质及设备,主要采用了Hadoop分布式文件系统与MPP分布式数据库技术构建了多个集群,通过集群间通讯,能够提供包括复杂模型计算、高并发查询、交互式数据分析、搜索等各类具体服务,能够满足不同业务场景需求与海量数据处理。本发明实施例,通过构建同一的基础数据共享区,供各集群共享使用基础数据,能够避免数据流转过程中多次落地,大大减少了数据冗余,也降低了数据存储成本与基础数据不一致的风险。通过采用包括Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群的异构集群协同数据处理,能够充分利用各集群的技术特点,形成统一的大数据处理平台,满足不同应用场景,提供多样化的数据服务。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种多集群协同数据处理方法,其特征在于,包括:
接收采集数据,并将采集数据转化为结构化数据;
在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区;
根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程;
其中,根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程,包括:
对于面向多张大表进行表关联或交互式查询的数据访问的数据使用场景,利用分布式数据库集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;
其中,利用分布式数据库集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,包括:
接收来自根据应用场景选定的分布式数据库集群所对应的客户端的SQL查询请求;
选定的分布式数据库集群的主节点接收并解析SQL查询请求的SQL语句;
根据解析结果,主节点访问Hadoop集群的主名称节点的元数据信息,并获取相应的数据分布信息;
根据数据分布信息,生成选定的分布式数据库集群中各数据节点的SQL执行计划;
主节点将SQL执行计划分发给选定的分布式数据库集群的各数据节点。
2.如权利要求1所述的多集群协同数据处理方法,其特征在于,接收采集数据,并将采集数据转化为结构化数据,包括:
接收结构化的、半结构化的及非结构化的采集数据;
将半结构化的和非结构化的采集数据转化为结构化的数据,将结构化的采集数据和转化得到的结构化的数据作为所述结构化数据。
3.如权利要求1所述的多集群协同数据处理方法,其特征在于,在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区,包括:
利用Hadoop集群在其存储区域上构建基础数据共享区,供Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群使用;
按照结构化数据的使用需求,选择相应的加载算法与保留周期,对结构化数据进行增量数据及存量数据合并,以加载至Hadoop集群的基础数据共享区。
4.如权利要求1所述的多集群协同数据处理方法,其特征在于,在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区,包括:
根据结构化数据的源数据来源方式,利用Hadoop集群在构建的基础数据共享区中建立相应数据库;
将结构化数据加载至在基础数据共享区中建立的相应数据库中。
5.如权利要求1所述的多集群协同数据处理方法,其特征在于,还包括:
根据预先配置的作业调度信息,判断是否存在Hadoop集群上运行的批量加工作业配置,如果存在,则对基础数据共享区的数据运行相应的批量加工处理,计算生成结果数据,并将结果数据存储至基础数据共享区。
6.如权利要求1所述的多集群协同数据处理方法,其特征在于,根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程,包括:
对于高频、高并发及低延时的联机数据访问的数据使用场景,利用Hadoop联机处理集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;
对于无访问时效要求的数据服务需求的数据使用场景,利用Hadoop集群获取并处理基础共享区的数据,以提供相应的数据访问服务,并完成数据处理流程。
7.如权利要求1所述的多集群协同数据处理方法,其特征在于,利用分布式数据库集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,还包括:选定的分布式数据库集群的各数据节点按照SQL执行计划访问Hadoop集群的数据节点,拉取基础数据共享区的数据;
采用谓词下推方法,从拉取的基础共享区的数据中仅获取符合SQL查询请求中查询条件的数据;
选定的分布式数据库集群的数据节点根据SQL查询请求中关联条件对获取的符合查询条件的数据进行重分布,以实现包括关联筛选的计算;
选定的分布式数据库集群的数据节点对重分布后的数据对应的本地数据进行计算,并将计算结果返回至主节点;
主节点利用计算结果执行SQL查询请求中尚未执行的逻辑,并将执行结果作为查询结果返回至客户端。
8.如权利要求1所述的多集群协同数据处理方法,其特征在于,所述多个分布式数据库集群包括:复杂批量数据处理集群、混合负载处理集群、分析挖掘处理集群及特定业务数据处理集群。
9.一种多集群协同数据处理系统,其特征在于,包括:
数据接收单元,用于:接收采集数据,并将采集数据转化为结构化数据;
数据加载合并单元,用于:在Hadoop集群上构建基础数据共享区,并将结构化数据加载至基础数据共享区;
批量数据处理单元,用于:根据数据使用场景,利用Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群协同处理基础数据共享区的数据,以提供相应的数据服务,并完成数据处理流程;
其中,批量数据处理单元,包括:
第二批量数据处理模块,用于:对于面向多张大表进行表关联或交互式查询的数据访问的数据使用场景,利用分布式数据库集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;
其中,第二批量数据处理模块,包括:
查询请求接收模块,用于:接收来自根据应用场景选定的分布式数据库集群所对应的客户端的SQL查询请求;
查询语句解析模块,用于:选定的分布式数据库集群的主节点接收并解析SQL查询请求的SQL语句;
数据分布信息获取模块,用于:根据解析结果,主节点访问Hadoop集群的主名称节点的元数据信息,并获取相应的数据分布信息;
执行计划生成模块,用于:根据数据分布信息,生成选定的分布式数据库集群中各数据节点的SQL执行计划;
执行计划分发模块,用于:主节点将SQL执行计划分发给选定的分布式数据库集群的各数据节点。
10.如权利要求9所述的多集群协同数据处理系统,其特征在于,数据接收单元,包括:
数据采集模块,用于:接收结构化的、半结构化的及非结构化的采集数据;
非结构化数据提取模块,用于:将半结构化的和非结构化的采集数据转化为结构化的数据,将结构化的采集数据和转化得到的结构化的数据作为所述结构化数据。
11.如权利要求9所述的多集群协同数据处理系统,其特征在于,数据加载合并单元,包括:
第一基础数据共享区构建模块,用于:利用Hadoop集群在其存储区域上构建基础数据共享区,供Hadoop集群、Hadoop联机处理集群及多个分布式数据库集群使用;
第一数据加载合并模块,用于:按照结构化数据的使用需求,选择相应的加载算法与保留周期,对结构化数据进行增量数据及存量数据合并,以加载至Hadoop集群的基础数据共享区。
12.如权利要求9所述的多集群协同数据处理系统,其特征在于,数据加载合并单元,包括:
第二基础数据共享区构建模块,用于:根据结构化数据的源数据来源方式,利用Hadoop集群在构建的基础数据共享区中建立相应数据库;
第二数据加载合并模块,用于:将结构化数据加载至在基础数据共享区中建立的相应数据库中。
13.如权利要求9所述的多集群协同数据处理系统,其特征在于,还包括:
简单批量处理单元,用于:根据预先配置的作业调度信息,判断是否存在Hadoop集群上运行的批量加工作业配置,如果存在,则对基础数据共享区的数据运行相应的批量加工处理,计算生成结果数据,并将结果数据存储至基础数据共享区。
14.如权利要求9所述的多集群协同数据处理系统,其特征在于,批量数据处理单元,包括:
第一批量数据处理模块,用于:对于高频、高并发及低延时的联机数据访问的数据使用场景,利用Hadoop联机处理集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;
第三批量数据处理模块,用于:对于无访问时效要求的数据服务需求的数据使用场景,利用Hadoop集群获取并处理基础共享区的数据,以提供相应的数据访问服务,并完成数据处理流程。
15.如权利要求9所述的多集群协同数据处理系统,其特征在于,第二批量数据处理模块,还包括:
基础数据拉取模块,用于:选定的分布式数据库集群的各数据节点按照SQL执行计划访问Hadoop集群的数据节点,拉取基础数据共享区的数据;
查询数据获取模块,用于:采用谓词下推方法,从拉取的基础共享区的数据中仅获取符合SQL查询请求中查询条件的数据;
数据重分布模块,用于:选定的分布式数据库集群的数据节点根据SQL查询请求中关联条件对获取的符合查询条件的数据进行重分布,以实现包括关联筛选的计算;
本地数据计算模块,用于:选定的分布式数据库集群的数据节点对重分布后的数据对应的本地数据进行计算,并将计算结果返回至主节点;
查询结果返回模块,用于:主节点利用计算结果执行SQL查询请求中尚未执行的逻辑,并将执行结果作为查询结果返回至客户端。
16.如权利要求9所述的多集群协同数据处理系统,其特征在于,批量数据处理单元,还用于执行:所述多个分布式数据库集群包括:复杂批量数据处理集群、混合负载处理集群、分析挖掘处理集群及特定业务数据处理集群。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
18.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710930420.3A CN107679192B (zh) | 2017-10-09 | 2017-10-09 | 多集群协同数据处理方法、系统、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710930420.3A CN107679192B (zh) | 2017-10-09 | 2017-10-09 | 多集群协同数据处理方法、系统、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107679192A CN107679192A (zh) | 2018-02-09 |
CN107679192B true CN107679192B (zh) | 2020-09-22 |
Family
ID=61139278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710930420.3A Active CN107679192B (zh) | 2017-10-09 | 2017-10-09 | 多集群协同数据处理方法、系统、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107679192B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256120B (zh) * | 2018-02-22 | 2022-02-18 | 中国银行股份有限公司 | 数据采集和文件下传的控制方法和装置 |
CN108763963B (zh) * | 2018-06-12 | 2022-08-26 | 北京奇虎科技有限公司 | 基于数据访问权限的分布式处理方法、装置及系统 |
CN110874371B (zh) * | 2018-08-31 | 2023-06-02 | 杭州海康威视数字技术股份有限公司 | 一种数据分析系统、方法及装置 |
CN110543464B (zh) * | 2018-12-12 | 2023-06-23 | 广东鼎义互联科技股份有限公司 | 一种应用于智慧园区的大数据平台及操作方法 |
CN111431951B (zh) * | 2019-01-09 | 2022-05-17 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、节点设备、系统及存储介质 |
CN109901381A (zh) * | 2019-02-28 | 2019-06-18 | 重庆零壹空间航天科技有限公司 | 一种火箭飞行数据冗余处理系统及方法 |
CN110300188B (zh) * | 2019-07-25 | 2022-03-22 | 中国工商银行股份有限公司 | 数据传输系统、方法和设备 |
CN110650020B (zh) * | 2019-09-25 | 2022-05-10 | 天津市滨海新区信息技术创新中心 | 拟态模糊判决方法、装置及系统 |
CN110909060B (zh) * | 2019-11-26 | 2023-10-03 | 中信银行股份有限公司 | 数据报送方法和系统 |
CN111049898A (zh) * | 2019-12-10 | 2020-04-21 | 杭州东方通信软件技术有限公司 | 一种实现计算集群资源跨域架构的方法及系统 |
CN113630365B (zh) * | 2020-05-07 | 2023-03-21 | 中移动信息技术有限公司 | 海量异构数据的并行传输方法、装置、设备及存储介质 |
CN111695098B (zh) * | 2020-06-04 | 2023-08-11 | 中国工商银行股份有限公司 | 多分布式集群访问方法及装置 |
CN113836164A (zh) * | 2020-06-24 | 2021-12-24 | 中兴通讯股份有限公司 | 统一sql的方法、系统、设备及介质 |
CN111611288A (zh) * | 2020-07-02 | 2020-09-01 | 北京许继电气有限公司 | 自主可控数据库分布式集群的流式数据处理方法 |
CN112187443A (zh) * | 2020-10-13 | 2021-01-05 | 成都数融科技有限公司 | 基于同态加密的市民数据跨域安全联合计算方法及系统 |
CN112380205B (zh) * | 2020-11-17 | 2024-04-02 | 北京融七牛信息技术有限公司 | 一种分布式架构的特征自动生成方法和系统 |
CN112416990A (zh) * | 2020-11-30 | 2021-02-26 | 中国民航信息网络股份有限公司 | 数据整合的方法、装置、服务器以及存储介质 |
CN112463755B (zh) * | 2020-12-11 | 2023-08-18 | 同济大学 | 基于hdfs的异构物联网大数据的存储与读取系统及方法 |
CN112632036B (zh) * | 2020-12-24 | 2024-04-30 | 深圳赛安特技术服务有限公司 | 一种数据交换体系的管理平台、方法及相关设备 |
CN116166756B (zh) * | 2023-04-26 | 2023-07-04 | 浪潮通用软件有限公司 | 一种微服务应用数据的共享方法、装置及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103747060B (zh) * | 2013-12-26 | 2017-12-08 | 惠州华阳通用电子有限公司 | 一种基于流媒体服务集群的分布式监控系统及方法 |
US9767149B2 (en) * | 2014-10-10 | 2017-09-19 | International Business Machines Corporation | Joining data across a parallel database and a distributed processing system |
CN104572895B (zh) * | 2014-12-24 | 2018-02-23 | 天津南大通用数据技术股份有限公司 | MPP数据库与Hadoop集群数据互通方法、工具及实现方法 |
CN107220310A (zh) * | 2017-05-11 | 2017-09-29 | 中国联合网络通信集团有限公司 | 一种数据库数据管理系统、方法及装置 |
-
2017
- 2017-10-09 CN CN201710930420.3A patent/CN107679192B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107679192A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107679192B (zh) | 多集群协同数据处理方法、系统、存储介质及设备 | |
US9639575B2 (en) | Method and system for processing data queries | |
CN112905595A (zh) | 一种数据查询方法、装置及计算机可读存储介质 | |
CN111327681A (zh) | 一种基于Kubernetes的云计算数据平台构建方法 | |
CN106569896B (zh) | 一种数据分发及并行处理方法和系统 | |
Maitrey et al. | Handling big data efficiently by using map reduce technique | |
Xiong et al. | Data vitalization: a new paradigm for large-scale dataset analysis | |
Liroz-Gistau et al. | FP-Hadoop: Efficient processing of skewed MapReduce jobs | |
Hammoud | MapReduce network enabled algorithms for classification based on association rules | |
Yan et al. | A parallel algorithm for mining constrained frequent patterns using MapReduce | |
Wang et al. | Elastic pipelining in an in-memory database cluster | |
CN111126852A (zh) | 一种基于大数据建模的bi应用系统 | |
Shahvarani et al. | Distributed stream KNN join | |
Chen et al. | Providing scalable database services on the cloud | |
Kamburugamuve et al. | Survey of apache big data stack | |
Chen et al. | Pisces: optimizing multi-job application execution in mapreduce | |
Yang | From Google file system to omega: a decade of advancement in big data management at Google | |
KR101472257B1 (ko) | 예측 논리적 데이터 지역성을 이용한 병렬질의 처리 방법 및 장치 | |
US9779177B1 (en) | Service generation based on profiled data objects | |
Nagdive et al. | A review of Hadoop ecosystem for bigdata | |
Vilaça et al. | On the expressiveness and trade-offs of large scale tuple stores | |
Papanikolaou | Distributed algorithms for skyline computation using apache spark | |
Monu et al. | A Review on Storage and Large-Scale Processing of Data-Sets Using Map Reduce, YARN, SPARK, AVRO, MongoDB | |
Gao | Scalable architecture for integrated batch and streaming analysis of big data | |
Zhu et al. | Hydb: Access optimization for data-intensive service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |