CN109522053A - 一种大规模并行处理***及数据处理方法 - Google Patents

一种大规模并行处理***及数据处理方法 Download PDF

Info

Publication number
CN109522053A
CN109522053A CN201710850853.8A CN201710850853A CN109522053A CN 109522053 A CN109522053 A CN 109522053A CN 201710850853 A CN201710850853 A CN 201710850853A CN 109522053 A CN109522053 A CN 109522053A
Authority
CN
China
Prior art keywords
node
processing
request
memory
management
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
Application number
CN201710850853.8A
Other languages
English (en)
Inventor
戴志勇
夏晨
郑晓文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710850853.8A priority Critical patent/CN109522053A/zh
Publication of CN109522053A publication Critical patent/CN109522053A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种大规模并行处理***及数据处理方法,至少包括:管理节点、两个或两个以上的处理节点、以及存储节点;其中,管理节点,用于接收来自用户的请求并分发给处理节点,以及用于将来自处理节点对用户的请求的处理结果返回给对应的用户;处理节点,用于处理来自管理节点的用户的请求,对存储在存储节点上的元数据进行操作;存储节点,存储处理节点的元数据。通过本申请,一方面,使得MPP架构具了有良好的可扩展性,避免了由于单个处理节点提供服务而带来的瓶颈问题;另一方面,将元数据存储管理从处理节点中剥离出来,实现了多个处理节点共享了同一份元数据。

Description

一种大规模并行处理***及数据处理方法
技术领域
本申请涉及计算机技术,尤指一种大规模并行处理***及数据处理方法。
背景技术
大规模并行处理(MPP,Massively Parallel Processing)技术使用多个结构化查询语言(SQL,Structured Query Language)数据库节点搭建的数据仓库***。在执行查询时,查询可以分散到多个SQL数据库节点上执行,再将查询结果汇总后返回给用户。MPP技术基于关系数据库的成熟技术,是伴随着分布式与并行数据库技术的发展而来的。其中,最为关键的技术就是MPP技术能够判断出数据之间的相互依赖关系,将可以进行并行操作的部分分发到各个节点上并行运行,并针对关系数据库中最为常用的等值比较和等值联接(Join)等操作做出特别的优化,将待比较的两个不同表的列按照某种规律进行哈希(hash)处理,根据得到的不同的hash值将数据分发到不同的SQL数据库节点上进行比较处理(也可以被看作是Hash Join的分布式形式)。这种将查询中能进行并行的操作和操作产生的中间结果,通过这样的方式分发到不同的SQL数据库节点上运算,实现了最大程度地并行处理,提高了性能。
图1为相关技术中MPP***的组成示意图,如图1所示,传统的MPP架构,一般会部署两个主节点(Master)来保证服务的高可用,分别是主用主节点(Primary Master)和备用主节点(Standby Master)。正常情况下,只有Primary Master节点接收来自用户的连接请求,Standby Master节点利用事务日志保持与Primary Master节点的同步,同步一般是实时的;Primary Master节点还要管理本地磁盘的元数据(Meta Date),其中,元数据被定义为描述数据的数据。可以把元数据简单地理解成最小的数据单位。元数据可以为数据说明其元素或属性(如名称、大小、数据类型、等),或其结构(如长度、字段、数据列等),或其相关数据(如位于何处、如何联系、拥有者等)。当Primary Master节点出现故障时,StandbyMaster节点自动切换成Primary Master节点,以保证原Primary Master节点故障时最后提交的事务可以正常提交,并且使用相同的端口接入来自用户的新的连接请求。
传统MPP架构利用日志技术实时同步两台Master节点的数据,并不具备良好的可扩展性,而且维护代价较高,且同时只有一个Master节点即Primary Master节点对外服务,这样,一方面,浪费了硬件资源,另一方面,由于Standby Master节点并不对外提供服务,因此,请求越多,Primary Master节点的压力就会越大,从而造成了单个Primary Master节点的处理能力也很可能会成为整个***的瓶颈的问题。
发明内容
本申请提供了一种大规模并行处理***及数据处理方法,具有良好的可扩展性,避免***瓶颈问题。
本申请提供了一种大规模并行处理***,包括:管理节点、两个或两个以上的处理节点、以及存储节点;其中,
管理节点,用于接收来自用户的请求并分发给处理节点,以及用于将来自处理节点对用户的请求的处理结果返回给对应的用户;
处理节点,用于处理来自管理节点的用户的请求,对存储在存储节点上的元数据进行操作;
存储节点,存储处理节点的元数据。
可选地,所述大规模并行处理***还包括调度节点,用于在所述处理节点的进程或者所述处理节点意外退出后,启动新的处理节点的进程或者处理节点;
所述管理节点还用于:将意外退出的处理节点的用户的请求转发给新的处理节点。
可选地,所述处理节点还用于:启动时向所述管理节点发送注册请求;
所述管理节点还用于:接受所述处理节点的注册请求,并记录注册的处理节点的信息。
可选地,所述存储节点设置在第三方数据存储***。
本申请还提供了一种并行处理***,包括:管理节点、两个或两个以上的处理节点、以及存储节点;其中,
管理节点,用于接收来自用户的请求并分发给处理节点;
处理节点,用于处理来自管理节点的用户的请求,并对存储在存储节点上的元数据进行操作;
存储节点,存储处理节点的元数据。
本申请还提供了一种数据处理方法,在至少包括管理节点、两个或两个以上处理节点、以及存储节点的大规模并行处理***中;包括:
处理节点接收来自管理节点分发的请求;
处理节点根据请求对存储在存储节点上的元数据进行操作。
可选地,所述方法之前还包括:所述处理节点启动时向所述管理节点发送注册请求,以使得注册的处理节点的信息记录在所述管理节点。
可选地,在所述处理节点的进程或者所述处理节点意外退出后,还包括:启动新的处理节点的进程或者处理节点。
本申请再提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的实现数据处理的方法。
本申请又提供了一种实现数据处理的装置,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:接收并处理来自管理节点分发的请求;根据请求对存储在存储节点上的元数据进行操作。
本申请至少包括:管理节点、两个或两个以上的处理节点、以及存储节点;其中,管理节点,用于接收来自用户的请求并分发给处理节点,以及用于将来自处理节点对用户的请求的处理结果返回给对应的用户;处理节点,用于处理来自管理节点的用户的请求,对存储在存储节点上的元数据进行操作;存储节点,存储处理节点的元数据。通过本申请实施例,一方面,由于各处理节点没有主备之分,均可提供服务,因此处理节点的扩展变得更加容易,使得MPP***具了有良好的可扩展性,避免了由于单个处理节点提供服务而带来的瓶颈问题;另一方面,将元数据存储管理从处理节点中剥离出来,实现了多个处理节点共享了同一份元数据。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为相关技术中MPP***的组成示意图;
图2为本申请实施例中MPP***的组成示意图;
图3为本申请数据处理方法的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在本申请一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2为本申请实施例中MPP***的组成示意图,如图2所示,至少包括:管理节点、两个或两个以上处理节点、以及存储节点;其中,
管理节点,用于接收来自用户的请求并分发给处理节点,以及用于将来自处理节点对用户的请求的处理结果返回给对应的用户。
具体地,管理节点可以使用相关算法如轮询调度(Round Robin Scheduling)算法或者根据在管理节点自身注册的处理节点的负载情况,将来自用户的请求转发到其中的一个处理节点,比如负载轻的一个处理节点等。
处理节点,用于处理来自管理节点的用户的请求,对存储在存储节点上的元数据进行操作。
其中,根据请求进行的操作可以包括:***新的元数据如创建一个新的表、删除元数据如删除一个表、读取元数据如读一个表的详细信息等等。
可选地,可以依靠存储节点提供的事务(Transaction)功能保证每个操作的原子性。
存储节点,用于存储处理节点的元数据。
存储节点可以设置在第三方数据存储***,比如开放结构服务(OTS,Open TableService)***中。OTS开放结构化存储是对大量结构化和半结构化数据存储和时实查询服务,如主要是大规模、低延迟和强一致的结构化数据。OTS提供海量结构化数据的存储和实时访问,表格存储以实例和表的形式组织数据,通过数据分片和负载均衡技术,实现了规模上的无缝扩展。
本申请提供的MPP架构,一方面,由于各处理节点没有主备之分,均可提供服务,因此处理节点的扩展变得更加容易,MPP***中的处理节点具有了水平拓展能力,使得MPP***具了有良好的可扩展性,不再局限于一个处理节点对外提供服务,也就是说,每一个处理节点都可以对外提供服务,这样,使得整个MPP***处理请求的能力和处理节点的个数形成了良好的正比关系,处理节点的个数越多,本申请整个MPP***下***的吞吐量越大,也避免了由于单个处理节点提供服务而带来的瓶颈问题。另一方面,将元数据存储管理从处理节点中剥离出来,即元数据不再存储在本地磁盘,而是放在第三方数据库中,实现了多个处理节点共享同一份元数据。
可选地,处理节点还用于:启动时向管理节点发送注册请求;相应地,管理节点还用于:接受处理节点的注册请求,并记录注册的处理节点的信息,比如记录后续通信时使用的处理节点的主机名称(hostname)和端口号(port)。
可选地,本申请MPP***还包括调度节点(图2中未示出),用于在处理节点的进程或者处理节点意外退出即通常讲的挂掉后,启动新的处理节点的进程或者处理节点即将新的处理节点的进程或者处理节点拉起来。而新的处理节点启动后,会主动注册到管理节点;相应地,管理节点还用于:将挂掉的处理节点上的用户的请求转发给新的处理节点。
本申请中,管理节点可以看到新注册的处理节点的信息,因此可以将用户的请求转发给新的处理节点。而用户是感知不到上述变化的,只会看到一个节点在提供服务。
本申请另一实施例还提供了一种并行处理***,包括:管理节点、两个或两个以上的处理节点、以及存储节点;其中,
管理节点,用于接收来自用户的请求并分发给处理节点;
处理节点,用于处理来自管理节点的用户的请求,并对存储在存储节点上的元数据进行操作;
存储节点,存储处理节点的元数据。
可选地,处理节点还用于:将对用户的请求的处理结果返回给对应的用户;或者,将对用户的请求的处理结果返回给管理节点,此时,管理节点还用于:将来自处理节点的处理结果返回给用户。
图3为本申请数据处理方法的流程示意图,如图3所示,在至少包括管理节点、两个或两个以上处理节点、以及存储节点的MPP***中,包括:
步骤300:处理节点接收来自管理节点分发的请求。
本申请数据处理方法之前还包括:处理节点注册在管理节点。具体包括:
处理节点启动时向管理节点发送注册请求;相应地,管理节点会接受处理节点的注册请求,并记录注册的处理节点的信息,比如记录后续通信时使用的处理节点的主机名称(hostname)和端口号(port)。
步骤301:处理节点根据请求对存储在存储节点上的元数据进行操作。
其中,根据请求进行的操作可以包括:***新的元数据如创建一个新的表、删除元数据如删除一个表、读取元数据如读一个表的详细信息等等。
可选地,可以依靠存储节点提供的Transaction功能保证每个操作的原子性。
本申请提供的数据处理方法,一方面,由于各处理节点没有主备之分,均可提供服务,因此处理节点的扩展变得更加容易,处理节点具有了水平拓展能力,使得处理节点所在MPP架构具了有良好的可扩展性,不再局限于一个处理节点对外提供服务,也就是说,每一个处理节点都可以对外提供服务,这样,使得整个MPP架构处理请求的能力和处理节点的个数形成了良好的正比关系,处理节点的个数越多,本申请整个MPP架构下***的吞吐量越大,也避免了由于单个处理节点提供服务而带来的瓶颈问题。另一方面,将元数据存储管理从处理节点中剥离出来,即元数据不再存储在本地磁盘,而是放在第三方数据库中,这样,多个处理节点共享了同一份元数据。
可选地,在处理节点的进程或者处理节点意外退出即通常讲的挂掉后,还包括:启动新的处理节点的进程或者处理节点即将新的处理节点的进程或者处理节点拉起来。
新的处理节点启动后,会主动注册到管理节点,这样,管理节点可以将挂掉的处理节点上的用户的请求转发给新的处理节点。
本申请中,管理节点可以看到新注册的处理节点的信息,因此可以将用户的请求转发给新的处理节点。而用户是感知不到上述变化的,只会看到一个节点在提供服务。
本申请还提供一种实现数据处理的装置,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:接收并处理来自管理节点分发的请求;根据请求对存储在存储节点上的元数据进行操作。
本申请再提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的实现数据处理的方法。
需要强调的是,只要是并行计算***都适用本申请提供的上述任一实施例。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种大规模并行处理***,其特征在于,包括:管理节点、两个或两个以上的处理节点、以及存储节点;其中,
管理节点,用于接收来自用户的请求并分发给处理节点,以及用于将来自处理节点对用户的请求的处理结果返回给对应的用户;
处理节点,用于处理来自管理节点的用户的请求,并对存储在存储节点上的元数据进行操作;
存储节点,存储处理节点的元数据。
2.根据权利要求1所述的大规模并行处理***,其特征在于,所述大规模并行处理***还包括调度节点,用于在所述处理节点的进程或者所述处理节点意外退出后,启动新的处理节点的进程或者处理节点;
所述管理节点还用于:将意外退出的处理节点的用户的请求转发给新的处理节点。
3.根据权利要求1或2所述的大规模并行处理***,其特征在于,所述处理节点还用于:启动时向所述管理节点发送注册请求;
所述管理节点还用于:接受所述处理节点的注册请求,并记录注册的处理节点的信息。
4.根据权利要求1或2所述的大规模并行处理***,其特征在于,所述存储节点设置在第三方数据存储***。
5.一种并行处理***,其特征在于,包括:管理节点、两个或两个以上的处理节点、以及存储节点;其中,
管理节点,用于接收来自用户的请求并分发给处理节点;
处理节点,用于处理来自管理节点的用户的请求,并对存储在存储节点上的元数据进行操作;
存储节点,存储处理节点的元数据。
6.一种数据处理方法,其特征在于,在至少包括管理节点、两个或两个以上处理节点、以及存储节点的大规模并行处理***中;包括:
处理节点接收来自管理节点分发的请求;
处理节点根据请求对存储在存储节点上的元数据进行操作。
7.根据权利要求6所述的数据处理方法,其特征在于,所述方法之前还包括:所述处理节点启动时向所述管理节点发送注册请求,以使得注册的处理节点的信息记录在所述管理节点。
8.根据权利要求6或7所述的数据处理方法,其特征在于,在所述处理节点的进程或者所述处理节点意外退出后,还包括:启动新的处理节点的进程或者处理节点。
9.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求6~权利要求8任一项所述的实现数据处理的方法。
10.一种实现数据处理的装置,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:接收并处理来自管理节点分发的请求;根据请求对存储在存储节点上的元数据进行操作。
CN201710850853.8A 2017-09-20 2017-09-20 一种大规模并行处理***及数据处理方法 Pending CN109522053A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710850853.8A CN109522053A (zh) 2017-09-20 2017-09-20 一种大规模并行处理***及数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710850853.8A CN109522053A (zh) 2017-09-20 2017-09-20 一种大规模并行处理***及数据处理方法

Publications (1)

Publication Number Publication Date
CN109522053A true CN109522053A (zh) 2019-03-26

Family

ID=65768106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710850853.8A Pending CN109522053A (zh) 2017-09-20 2017-09-20 一种大规模并行处理***及数据处理方法

Country Status (1)

Country Link
CN (1) CN109522053A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114691051A (zh) * 2022-05-30 2022-07-01 恒生电子股份有限公司 数据处理方法以及装置
CN116644086A (zh) * 2023-05-24 2023-08-25 上海沄熹科技有限公司 一种基于SST的Insert SQL语句实现方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136003A (zh) * 2011-03-25 2011-07-27 上海交通大学 大规模分布式存储***
CN102904948A (zh) * 2012-09-29 2013-01-30 南京云创存储科技有限公司 一种超大规模低成本存储***
CN104331421A (zh) * 2014-10-14 2015-02-04 安徽四创电子股份有限公司 一种大数据的高效处理方法及***
CN104778277A (zh) * 2015-04-30 2015-07-15 福州大学 一种基于Redis的RDF数据分布式存储和查询方法
CN105630589A (zh) * 2014-11-24 2016-06-01 航天恒星科技有限公司 分布式流程调度***及流程调度、执行方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136003A (zh) * 2011-03-25 2011-07-27 上海交通大学 大规模分布式存储***
CN102904948A (zh) * 2012-09-29 2013-01-30 南京云创存储科技有限公司 一种超大规模低成本存储***
CN104331421A (zh) * 2014-10-14 2015-02-04 安徽四创电子股份有限公司 一种大数据的高效处理方法及***
CN105630589A (zh) * 2014-11-24 2016-06-01 航天恒星科技有限公司 分布式流程调度***及流程调度、执行方法
CN104778277A (zh) * 2015-04-30 2015-07-15 福州大学 一种基于Redis的RDF数据分布式存储和查询方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张绍华: "大数据技术与应用 大数据治理与服务", 上海科学技术出版社, pages: 219 - 221 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114691051A (zh) * 2022-05-30 2022-07-01 恒生电子股份有限公司 数据处理方法以及装置
CN114691051B (zh) * 2022-05-30 2022-10-04 恒生电子股份有限公司 数据处理方法以及装置
CN116644086A (zh) * 2023-05-24 2023-08-25 上海沄熹科技有限公司 一种基于SST的Insert SQL语句实现方法
CN116644086B (zh) * 2023-05-24 2024-02-20 上海沄熹科技有限公司 一种基于SST的Insert SQL语句实现方法

Similar Documents

Publication Publication Date Title
CN102779185B (zh) 一种高可用分布式全文索引方法
US8161244B2 (en) Multiple cache directories
CN102682052B (zh) 过滤数据存储上的查询数据
US8176256B2 (en) Cache regions
CN104067216B (zh) 用于实施可扩展数据存储服务的***和方法
US8108612B2 (en) Location updates for a distributed data store
GB2595615A (en) Managing data objects for graph-based data structures
CN102567495B (zh) 一种海量信息存储***及实现方法
US8635250B2 (en) Methods and systems for deleting large amounts of data from a multitenant database
CN108885582A (zh) 存储器池结构的多租户存储器服务
CN107169083A (zh) 公安卡口海量车辆数据存储与检索方法及装置、电子设备
CN105005611B (zh) 一种文件管理***及文件管理方法
WO2022218227A1 (zh) 基于区块链的存证方法、装置及电子设备
CN108717457B (zh) 一种电子商务平台大数据处理方法和***
CN104539583B (zh) 一种实时数据库订阅***及方法
CN107800808A (zh) 一种基于Hadoop架构的数据存储***
CN110784498B (zh) 一种个性化数据容灾方法及装置
CN106326239A (zh) 分布式文件***及其文件元信息管理方法
CN105138571A (zh) 分布式文件***及其存储海量小文件的方法
CN102663007A (zh) 一种支持敏捷开发和横向扩展的数据存储与查询方法
CN111209364A (zh) 一种基于众包地图更新的海量数据接入处理方法及***
CN106021593A (zh) 一种第一数据库与第二数据库接管过程中的复制处理方法
CN102891872A (zh) 一种对等网络中数据存储和查询的方法及***
CN103414762A (zh) 云备份方法和装置
CN109522053A (zh) 一种大规模并行处理***及数据处理方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190326

RJ01 Rejection of invention patent application after publication