[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112199427A - 一种数据处理方法和系统 - Google Patents

一种数据处理方法和系统 Download PDF

Info

Publication number
CN112199427A
CN112199427A CN202011019732.7A CN202011019732A CN112199427A CN 112199427 A CN112199427 A CN 112199427A CN 202011019732 A CN202011019732 A CN 202011019732A CN 112199427 A CN112199427 A CN 112199427A
Authority
CN
China
Prior art keywords
metadata
node
storage
cluster
service
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.)
Granted
Application number
CN202011019732.7A
Other languages
English (en)
Other versions
CN112199427B (zh
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202011019732.7A priority Critical patent/CN112199427B/zh
Publication of CN112199427A publication Critical patent/CN112199427A/zh
Application granted granted Critical
Publication of CN112199427B publication Critical patent/CN112199427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种数据处理方法和系统,涉及计算机技术领域。该方法的一具体实施方式包括:所述用户模块,包括元数据集群、计算集群和共享存储,所述计算集群位于所述元数据集群和所述共享存储之间,用于从所述元数据集群中获取元数据,以及将数据落盘在所述共享存储;所述管理模块,用于监控所述用户模块的运维信息、管理所述元数据集群和所述计算集群级别的增删改查操作。该实施方式将计算与存储解耦,建立虚拟节点解决了存储节点扩容或缩容时数据需迁移的问题,以实现MPP数据库扩展性与并发性的突破。

Description

一种数据处理方法和系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法和系统。
背景技术
传统数仓一般使用MPP(Massively Parallel Processing大规模并行处理)或OracleRAC架构数据库作为底层技术,均属于shared-nothing架构,这种架构下计算和存储是紧耦合的。随着近年来数据量的成倍增长,对数据库的存储与工作负载能力提出了更高的要求,同时由于架构本身的限制,也带来了一些问题:
1)并发能力限制:数据打散分布到各个计算节点存储,每个计算节点都需要参与到每条查询执行当中,而每个计算节点只能访问本地存储的数据;集群节点在横向扩容/缩容时会涉及数据重分布,当数据量比较庞大时,重分布过程耗时较长,因此单节点的硬件资源成为制约整个集群并发性的因素。
2)集群大小的限制:当集群节点数大到一定程度时,节点故障的概率会显著增加,频繁的节点切换操作会导致数据库处于不可用状态,一定程度上制约着集群规模的增长。
基于以上两点,如何突破数据库扩展性与并发的限制,成为制约当前数据库发展的主要因素,影响海量数据的规模化存储。
发明内容
有鉴于此,本发明实施例提供一种数据处理方法和系统,至少能够解决现有技术中计算和存储紧耦合的现象。
为实现上述目的,根据本发明实施例的另一方面,提供了一种数据处理系统,包括管理模块和用户模块,
所述用户模块,包括元数据集群、计算集群和共享存储,所述计算集群位于所述元数据集群和所述共享存储之间,用于从所述元数据集群中获取元数据,以及将数据落盘在所述共享存储;其中,元数据用于描述数据的属性信息;
所述管理模块,用于监控所述用户模块的运维信息、管理所述元数据集群和所述计算集群级别的增删改查操作。
可选的,所述元数据集群包括调度层、服务层以及存储层;
所述调度层一侧与所述计算集群连接,另一侧与所述服务层连接,用于根据所述计算集群传输的元数据服务请求中的服务类型,确定所述服务层中处理所述元数据服务请求的服务节点,以将所述服务节点的标识传输至所述计算集群;
所述服务层由一组无状态的服务节点组成,一侧与所述计算集群连接,另一侧与所述存储层连接,用于接收所述计算集群传输的元数据服务请求,落盘到所述存储层上进行元数据结构的读写修改操作,以及将接收自所述存储层的执行结果反馈至所述计算集群;
所述存储层与所述服务层连接,用于进行元数据结构的读写修改操作,并在执行完毕后,将执行结果传输至所述服务层。
可选的,所述存储层还负责多副本存储元数据。
可选的,所述计算集群包括多个子计算集群,每个子计算集群为用户登陆所述用户模块的接口,包括一个管理节点和多个计算节点;
所述管理节点从所述元数据集群中获取元数据,以在接收到业务需求时,确定与所述业务需求对应的至少一个元数据;以及汇总计算节点传输的计算结果并转发;
所述计算节点从所述共享存储中获取与所述至少一个元数据对应的数据,对所获取的数据进行逻辑计算,将计算结果传输至所述管理节点。
可选的,所述计算集群还设置有缓存层,用于缓存所述计算集群经常访问的数据和元数据;其中,经常访问为访问频度大于或等于预设访问频率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据处理方法,包括:
所述共享存储接收所述计算集群传输的数据,确定所述数据所处记录,对所述记录的键值进行哈希处理,得到哈希值;
确定哈希环中与所述哈希值对应的物理分区,以将所述数据存储至与所述物理分区对应的存储节点中。
可选的,在所述共享存储接收所述计算集群传输的数据之前,还包括:
对一存储节点的节点名称进行哈希处理,得到第一哈希值,确定所述哈希环中与所述第一哈希值对应的第一位置;
按照顺时针方向,获取所述哈希环中与所述第一位置相邻的下一位置,由所述第一位置和下一位置构建一物理分区,建立所述一物理分区与所述一存储节点之间的映射关系。
可选的,一个物理分区对应于至少一个虚拟分区;
所述方法还包括:
对一虚拟节点的节点名称进行哈希处理,得到第二哈希值,确定所述哈希环中与所述第二哈希值对应的第二位置;
按照顺时针方向,获取所述哈希环中与所述第二位置相邻的下一位置,由所述第二位置和下一位置构建一虚拟分区,建立所述一虚拟节点和所述一虚拟分区之间的映射关系;
基于虚拟节点和存储节点之间的对应关系,建立物理分区与虚拟分区之间的映射关系;
所述确定哈希环中与所述哈希值对应的物理分区,包括:确定所述哈希环中与所述哈希值对应的虚拟分区,基于物理分区与虚拟分区之间的映射关系,确定物理分区。
可选的,还包括:接收存储节点扩容/缩容指令,在所述计算集群的一管理节点中注册/删除至少一个存储节点;
根据存储节点的当前总数量和虚拟节点的总数量,调整存储节点和虚拟节点之间的对应关系。
可选的,包括:
所述元数据集群中调度层根据一管理节点传输的元数据服务请求中的服务类型,确定服务层中处理所述元数据服务请求的服务节点;
将所述服务节点的标识反馈至所述一管理节点,以使得所述一管理节点根据所述标识建立与所述服务节点的通信连接;
服务节点接收所述一个管理节点传输的元数据服务请求,以对所述存储层中的元数据结构进行修改和保存;
存储层在元数据结构修改完毕后,将执行结果传输至所述服务层,以通过所述服务层将执行结果反馈至所述一管理节点。
为实现上述目的,根据本发明实施例的再一方面,提供了一种数据处理电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的数据处理方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的数据处理方法。
根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:基于共享存储的MPP数据库计算与存储分离架构,按照功能划分为管理模块和用户模块。数据存储在共享存储上,元数据存储在元数据集群上,元数据/数据的获取都需在集群之间进行通信,以此提高运行效率。后续即使存储节点需要扩容,但改变的也仅仅是存储节点与虚拟节点之间的对应关系,与虚拟节点对应的数据并未发生迁移,以此解决了现有集群扩容缩容时数据需重分布的缺点。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种数据处理方法的主要流程示意图;
图2是本发明实施例的一种元数据集群的结构示意图;
图3是根据本发明实施例的一种数据处理方法的流程示意图;
图4(a)~图4(c)是hash环的构造示意图;
图5是根据本发明实施例的一种可选的数据处理方法的流程示意图;
图6是本发明实施例的一种扩容节点的示意图;
图7是本发明实施例的一种元数据集群运行机制的示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的移动设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
参见图1,示出的是本发明实施例提供的一种数据处理系统的主要架构图,主要分为两个部分,用户模块和管理模块,其中:
1、管理模块也称为管理控制台,是集群全生命周期管理的入口,用以监控所述用户模块的运维信息、管理所述元数据集群和所述计算集群级别的增删改查操作。主要功能包括调用IAAS层接口创建集群、自动化部署、集群启停、扩容、升级等日常运营操作,数据状态、集群健康状态、故障恢复状态按负责等运维监控信息展示平台。
2、用户模块分为三个部分,元数据集群、计算集群和共享存储。
1)元数据集群,仅存储元数据,按照逻辑架构可分为调度层、服务层和存储层,具体参见图2所示。
①调度层为第一层,用于管理元数据(为数据的属性信息),主要进行全局协调调度,包括访问控制、查询优化等。具体地,根据管理节点传输的元数据服务请求的服务类型,确定服务层中处理该元数据服务请求的服务节点,以将该服务节点的标识传输至管理节点。
②服务层位于第二层,由一组无状态的服务节点组成,用于接收计算集群传输的元数据服务请求,落盘到存储层上进行元数据结构的读写修改操作,以及将接收自存储层的执行结果反馈至计算集群。
③存储层位于第三层,用于进行元数据结构的读写修改操作,并在执行完毕后,将执行结果传输至所述服务层。另外,存储层还负责多副本存储元数据,整体实现负载均衡,保障集群的高可用性。
2)计算集群,位于元数据集群和共享存储之间,包括多个子计算集群。从用户层面感知,每个子计算集群就是一个独立的MPP数据库,包括一个管理节点master与若干个计算节点:
①管理节点是数据库的入口,负责调度整个数据库所有系统的工作,用户发出的请求经管理节点解析优化,按照最优查询计划的任务分配方案,将其分发给计算节点。如需要获取所有中学生的体重,则确定与该业务需求对应的至少一个元数据。
②计算节点则根据查询计划执行相应的运算工作,如从共享存储中获取与至少一个元数据对应的数据,对所获取的数据进行逻辑计算,并将计算结果反馈给管理节点,由管理节点汇总转发给客户端。
如图1所示,本方案在计算集群上还设置有缓存层,位于共享存储之前,利用的是本地计算集群的存储空间,用于缓存被本地计算集群经常访问(访问频度大于或等于预设访问频率)的数据和元数据。其中,数据库中设有访问频度统计系统表,能记录和识别热点数据,这部分就是被缓存层存储的信息。
当访问这些数据或元数据,即在缓存被命中的情况下,计算节点只需要从本地磁盘访问数据即可,无需远程访问位于共享存储或是元数据集群上的分布式存储系统,从而保证I/O吞吐量不下降。缓存机制的设置,为常用热点数据与元数据的访问效率提供了有力的保证。
3)共享存储,用于统一存储用户数据,有关共享存储内部的实现机制,参见后续图3~图5所示描述。
本方案中数据库的计算资源使用计算集群中的物理资源,用户数据保存在统一的共享存储上,实现计算与存储的解耦,并进行严格的物理隔离。
上述实施例所提供的方法,基于共享存储的MPP数据库计算与存储分离架构,按照功能划分为管理模块和用户模块。数据存储在共享存储上,元数据存储在元数据集群上,元数据/数据的获取都需在集群之间进行通信,以此提高运行效率。
参见图3,示出了根据本发明实施例的一种数据处理方法流程示意图,包括如下步骤:
S301:共享存储接收计算集群传输的数据,确定所述数据所处记录,对所述记录的键值进行哈希处理,得到哈希值;
S302:确定哈希环中与所述哈希值对应的物理分区,以将所述数据存储至与所述物理分区对应的存储节点中。
上述实施方式中,对于步骤S301和S302,在MPPDB中决定数据分布的键值称为分布键,一般选择结构化数据表中的某一列作为该表的分布键,GP4与GP5(为GTP格式的文件)采用的数据分布策略是取模,即根据每条记录对应的分布键的值计算出hash值,再对集群规模(分区数量)进行取模得到余数,将该记录存储至与该余数对应的分区中。这种策略使得在数据自身没有发生倾斜的情况下,数据在各个分区上基本是均匀分布的。
Hash取模的方式当集群进行扩容或缩容时,由哈希运算的单向唯一性可知,原有的映射关系几乎全部失效,存储节点上的数据都需要重新进行hash分布。数据通过网络在节点之间移动,在这种情况下,有大量的网络和I/O开销,一方面严重影响扩、缩容过程中正在运行的查询,另一方面扩缩容的时间窗口也较长。
为解决上述问题,引入了一致性hash算法,一致性hash依然利用标准的hash函数计算hash值。与取模方式不同,一致性hash通过将计算的hash值划分到不同的物理分区,并将不同物理分区映射到不同的存储节点以解决现有取模方式的缺点。
将标准hash函数返回的hash值映射到[0,2^32-1](该数值仅为示例,假设hash值是一个32位无符号整形)的整数空间,使其首尾连接得到如图4(a)所示hash环。对于需要存储的数据,通过hash算法将其映射到环状地址空间,例如(object为待存储的数据):
hash(object1)=key1
hash(object2)=key2
hash(object3)=key3
hash(object4)=key4
将计算的键值存储到圆环的对应位置,可以得到图4(b)所示节点hash的映射。
一致性hash的存储节点,可以将节点名称node通过hash算法映射到环状地址空间:
hash(node1)=pos1
hash(node2)=pos2
每个节点相当于一个存储数据节点,根据节点位置(即第一位置):
node1存储从pos1->pos2位置的数据(key2,key3)
node2存储pos2->pos1位置的数据(key4,key1)
由此可知,每个存储节点仅存储其位置与hash环中相邻的下一位置之间的数据,两个位置构成一个物理分区,最终结构参见图4(c)所示。
因此共享存储在接收到一个新的数据时,首先基于该数据在表中的分布键进行hash处理,确定hash环中与该hash值对应的物理分区,最终将该数据存储值与该物理分区对应的存储节点中,完成数据分布。
上述实施例所提供的方法,通过将计算的hash值划分到不同的物理分区,并将不同物理分区映射到不同的存储节点,整体以hash环形式展示,解决了现有集群扩容缩容时数据需重分布的缺点。
参见图5,示出了根据本发明实施例的一种可选的数据处理方法流程示意图,包括如下步骤:
S501:对一虚拟节点的节点名称进行哈希处理,得到第二哈希值,确定哈希环中与所述第二哈希值对应的第二位置;
S502:按照顺时针方向,获取所述哈希环中与所述第二位置相邻的下一位置,由所述第二位置和下一位置构建一虚拟分区,建立所述一虚拟节点和所述一虚拟分区之间的映射关系;
S503:对一存储节点的节点名称进行哈希处理,得到第一哈希值,确定所述哈希环中与所述第一哈希值对应的第一位置;
S504:按照顺时针方向,获取所述哈希环中与所述第一位置相邻的下一位置,由所述第一位置和下一位置构建一物理分区,建立所述一物理分区与所述一存储节点之间的映射关系;
S505:基于虚拟节点和存储节点之间的对应关系,建立物理分区与虚拟分区之间的映射关系;其中,一个物理分区对应于至少一个虚拟分区;
S506:共享存储接收计算集群传输的数据,确定所述数据所处记录,对所述记录的键值进行哈希处理,得到哈希值;
S507:确定所述哈希环中与所述哈希值对应的虚拟分区,基于物理分区与虚拟分区之间的映射关系,确定物理分区,以将所述数据存储至与物理分区对应的存储节点中。
上述实施方式中,对于步骤S506可参见图3所示步骤S301的描述,在此不再赘述。
上述实施方式中,对于步骤S501~S505、S507,增加或减少存储节点时,不可避免带来一部分存储节点上的数据移动,这将引起系统中资源的不平衡,影响集群工作效率。因此引入虚拟节点解决这个问题。
预先设定一个固定的虚拟节点数(实际远大于实际物理分区数量),先通过hash算法处理各个虚拟节点的节点名称,得到第二hash值,确定hash环中与第二hash值对应的位置pos。之后与物理分区确定方式同理,按照顺时针方向,由该pos与下一位置pos构建一虚拟分区,建立虚拟节点和虚拟分区之间的映射关系。
通过上述步骤,可以将记录均匀地分布到每个虚拟分区上,再通过虚拟节点与存储节点的对应关系,将虚拟分区映射到物理分区上。由于虚拟分区的数量远大于物理分区数量,所以一个物理分区往往对应多个虚拟分区(例如1:4),多个虚拟分区对应的数据保存在他们对应的物理分区上面,这就是GP6的一致性HASH数据分布策略。
本方案将每个虚拟分区对应的数据都单独存储为文件,数据落盘持久化在共享存储内,并保留数据到虚拟分区的映射关系。在这种策略下,物理分区扩容缩容过程只是动态调整了虚拟分区到物理分区的映射关系,存储在共享存储上的底层数据文件无需发生任何改变,且不涉及任何的数据读写和网络传输。扩容需要的时间窗口大小是固定的(启动一台新的虚拟机,并将其注册到主节点中),缩容即需删除节点,与集群中已有的数据量没有任何关系,真正做到秒级扩容/缩容。
如图6所示,每个虚拟节点的文件在共享存储中独立存放,并存储着存储节点1、存储节点2与虚拟节点的对应关系。当管理模块发布扩容指令时,存储节点3被注册到主节点中,存储节点1与存储节点2的部分对应关系失效,调整为存储节点3与部分虚拟节点的对应关系,过程不涉及数据移动。
通常会根据存储节点总数量以及虚拟节点总数量的比值,确定一个物理分区应对应多少虚拟分区,对应的数值随着存储节点的扩容/缩容而改变。
上述实施例所提供的方法,设置固定数量的虚拟节点,设置虚拟节点与数据之间的对应关系,即使发生节点扩容/缩容,改变的也仅仅是存储节点和虚拟节点之间的对应关系,不涉及数据迁移,无网络与IO消耗,真正实现低成本秒级扩容。
参见图7,示出了根据本发明实施例的一种元数据集群运行机制示意图,master1为一个子计算集群的主节点,包括如下步骤:
1、一个计算集群的master1发送元数据服务请求至元数据集群的调度层。由于每个catalog节点分工不同,对应处理的请求类型有差异,因此调度层在收到服务请求后,先根据请求中的服务类型,确定服务层中能够处理该请求的catalog节点。
2、调用层将带有指定服务节点的id的信息反馈给master1;
3、master1根据调度层反馈回的服务节点id,与服务层对应服务节点建立连接,之后发送元数据读写请求;
4、服务节点接收master1传输的元数据服务请求,根据请求中的内容进行锁表操作,并落盘到存储层上进行元数据的读写修改操作。
其中,锁表发生在insert、update、delete中,数据库使用独占式封锁机制,当执行上面的语句时,对表进行锁住,直到发生commite(用于把事务所做的修改保存到数据库)、回滚或退出数据库用户。例如A程序执行了对tableA的insert,在还未commite时,B程序也对tableA进行insert,则此时会发生资源正忙的异常,就是锁表。且锁表常发生于并发而不是并行情况,并行时,当一个线程操作数据库时,另一个线程是不能操作数据库的。
5、存储层在元数据读写修改完毕之后,将执行结果反馈给服务层。
6、服务层将执行结果反馈给master1,至此元数据服务请求处理完毕。
在本发明实施例中所述各个部件的具体实施内容,在上面所述方法中已经详细说明了,故在此重复内容不再说明。
图8示出了可以应用本发明实施例的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805(仅仅是示例)。网络804用于在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,服务器805可以是提供各种服务的服务器。
需要说明的是,本发明实施例所提供的方法一般由服务器805执行,相应地,装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括用户模块、管理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,用户模块还可以被描述为“数据库入口模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
共享存储接收计算集群传输的数据,确定所述数据所处记录,对所述记录的键值进行哈希处理,得到哈希值;
确定哈希环中与所述哈希值对应的物理分区,以将所述数据存储至与所述物理分区对应的存储节点中。
本发明实施例提供的技术方案,相对于现有技术至少存在如下有益效果:
1、海量数据背景下突破单集群规模的限制,实现节点数横向线性增加,避免了因集群被拆分而导致的多集群间海量的数据复制操作,节约了ETL调度资源。
2、在共享同一套元数据的情况下,计算集群之间实现严格的资源隔离,可合理规划用户的CPU,内存使用量,避免了不同用户的计算资源争抢现象。
3、传统的数据库并发性受限于节点的硬件资源,本发明通过多计算集群模式实现并发性的线性叠加。
4、基于共享存储实现数据三副本持久化存储,且规避数据库集群故障对数据存储造成的影响,为数据高可用性提供了有利保障。
5、将虚拟节点的文件独立存放,保存物理节点与虚拟节点对应关系的方式,使得扩缩容的过程中无需进行数据重分布,只需进行对应关系调整,真正实现秒级扩、缩容。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种数据处理系统,包括管理模块和用户模块,其特征在于:
所述用户模块,包括元数据集群、计算集群和共享存储,所述计算集群位于所述元数据集群和所述共享存储之间,用于从所述元数据集群中获取元数据,以及将数据落盘在所述共享存储;其中,元数据用于描述数据的属性信息;
所述管理模块,用于监控所述用户模块的运维信息、管理所述元数据集群和所述计算集群级别的增删改查操作。
2.根据权利要求1所述的系统,其特征在于,所述元数据集群包括调度层、服务层以及存储层;
所述调度层一侧与所述计算集群连接,另一侧与所述服务层连接,用于根据所述计算集群传输的元数据服务请求中的服务类型,确定所述服务层中处理所述元数据服务请求的服务节点,以将所述服务节点的标识传输至所述计算集群;
所述服务层由一组无状态的服务节点组成,一侧与所述计算集群连接,另一侧与所述存储层连接,用于接收所述计算集群传输的元数据服务请求,落盘到所述存储层上进行元数据结构的读写修改操作,以及将接收自所述存储层的执行结果反馈至所述计算集群;
所述存储层与所述服务层连接,用于进行元数据结构的读写修改操作,并在执行完毕后,将执行结果传输至所述服务层。
3.根据权利要求2所述的系统,其特征在于,所述存储层还负责多副本存储元数据。
4.根据权利要求1所述的系统,其特征在于,所述计算集群包括多个子计算集群,每个子计算集群为用户登陆所述用户模块的接口,包括一个管理节点和多个计算节点;
所述管理节点从所述元数据集群中获取元数据,以在接收到业务需求时,确定与所述业务需求对应的至少一个元数据;以及汇总计算节点传输的计算结果并转发;
所述计算节点从所述共享存储中获取与所述至少一个元数据对应的数据,对所获取的数据进行逻辑计算,将计算结果传输至所述管理节点。
5.根据权利要求1所述的系统,其特征在于,所述计算集群还设置有缓存层,用于缓存所述计算集群经常访问的数据和元数据;其中,经常访问为访问频度大于或等于预设访问频率。
6.一种使用如权利要求1所述的数据处理系统的数据处理方法,其特征在于,包括:
所述共享存储接收所述计算集群传输的数据,确定所述数据所处记录,对所述记录的键值进行哈希处理,得到哈希值;
确定哈希环中与所述哈希值对应的物理分区,以将所述数据存储至与所述物理分区对应的存储节点中。
7.根据权利要求6所述的方法,其特征在于,在所述共享存储接收所述计算集群传输的数据之前,还包括:
对一存储节点的节点名称进行哈希处理,得到第一哈希值,确定所述哈希环中与所述第一哈希值对应的第一位置;
按照顺时针方向,获取所述哈希环中与所述第一位置相邻的下一位置,由所述第一位置和下一位置构建一物理分区,建立所述一物理分区与所述一存储节点之间的映射关系。
8.根据权利要求6或7所述的方法,其特征在于,一个物理分区对应于至少一个虚拟分区;
所述方法还包括:
对一虚拟节点的节点名称进行哈希处理,得到第二哈希值,确定所述哈希环中与所述第二哈希值对应的第二位置;
按照顺时针方向,获取所述哈希环中与所述第二位置相邻的下一位置,由所述第二位置和下一位置构建一虚拟分区,建立所述一虚拟节点和所述一虚拟分区之间的映射关系;
基于虚拟节点和存储节点之间的对应关系,建立物理分区与虚拟分区之间的映射关系;
所述确定哈希环中与所述哈希值对应的物理分区,包括:确定所述哈希环中与所述哈希值对应的虚拟分区,基于物理分区与虚拟分区之间的映射关系,确定物理分区。
9.根据权利要求8所述的方法,其特征在于,还包括:
接收存储节点扩容/缩容指令,在所述计算集群的一管理节点中注册/删除至少一个存储节点;
根据存储节点的当前总数量和虚拟节点的总数量,调整存储节点和虚拟节点之间的对应关系。
10.根据权利要求6所述的方法,其特征在于,包括:
所述元数据集群中调度层根据一管理节点传输的元数据服务请求中的服务类型,确定服务层中处理所述元数据服务请求的服务节点;
将所述服务节点的标识反馈至所述一管理节点,以使得所述一管理节点根据所述标识建立与所述服务节点的通信连接;
服务节点接收所述一个管理节点传输的元数据服务请求,以对所述存储层中的元数据结构进行修改和保存;
存储层在元数据结构修改完毕后,将执行结果传输至所述服务层,以通过所述服务层将执行结果反馈至所述一管理节点。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求6-10中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求6-10中任一所述的方法。
CN202011019732.7A 2020-09-24 2020-09-24 一种数据处理方法和系统 Active CN112199427B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011019732.7A CN112199427B (zh) 2020-09-24 2020-09-24 一种数据处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011019732.7A CN112199427B (zh) 2020-09-24 2020-09-24 一种数据处理方法和系统

Publications (2)

Publication Number Publication Date
CN112199427A true CN112199427A (zh) 2021-01-08
CN112199427B CN112199427B (zh) 2024-12-27

Family

ID=74008057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011019732.7A Active CN112199427B (zh) 2020-09-24 2020-09-24 一种数据处理方法和系统

Country Status (1)

Country Link
CN (1) CN112199427B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698926A (zh) * 2021-03-25 2021-04-23 成都新希望金融信息有限公司 数据处理方法、装置、设备、存储介质及系统
CN113886037A (zh) * 2021-09-14 2022-01-04 北京东方金信科技股份有限公司 一种分布式数据库集群中实现数据分布的方法及系统
CN113934707A (zh) * 2021-10-09 2022-01-14 京东科技信息技术有限公司 云原生数据库、数据库扩容方法、数据库缩容方法和装置
CN114003644A (zh) * 2021-10-21 2022-02-01 河南星环众志信息科技有限公司 分布式事务处理方法、设备、介质和数据库系统
CN114020836A (zh) * 2021-10-28 2022-02-08 国电南京自动化股份有限公司 一种基于时序库的分布式工业scada系统量测数据处理方法
CN114357049A (zh) * 2022-01-07 2022-04-15 苏州浪潮智能科技有限公司 一种存储集群互联方法、装置、计算机设备和存储介质
CN116095099A (zh) * 2023-01-20 2023-05-09 广东省中山市质量计量监督检测所 一种基于机器视觉的机械零件质检系统
CN117573614A (zh) * 2023-11-16 2024-02-20 天翼云科技有限公司 减少元数据且增删节点时只有少量数据迁移的系统及方法
CN117971506A (zh) * 2024-03-29 2024-05-03 天津南大通用数据技术股份有限公司 Mpp数据库查询任务均衡的方法、系统、设备及介质
CN117997896A (zh) * 2024-04-03 2024-05-07 环球数科集团有限公司 一种基于ipfs协议的数据传输、存储和访问系统
WO2024119504A1 (zh) * 2022-12-09 2024-06-13 华为技术有限公司 数据处理方法、装置、设备和系统
WO2025002006A1 (zh) * 2023-06-26 2025-01-02 华为云计算技术有限公司 一种事务处理方法及系统
WO2025086688A1 (zh) * 2023-10-27 2025-05-01 华为云计算技术有限公司 一种数据处理方法、系统及计算设备集群

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867035A (zh) * 2012-08-28 2013-01-09 浪潮(北京)电子信息产业有限公司 一种分布式文件系统集群高可用方法和装置
CN103795801A (zh) * 2014-02-12 2014-05-14 浪潮电子信息产业股份有限公司 一种基于实时应用集群的元数据集群设计方法
CN109491807A (zh) * 2018-11-01 2019-03-19 浪潮软件集团有限公司 一种数据交换方法、装置和系统
CN109522283A (zh) * 2018-10-30 2019-03-26 深圳先进技术研究院 一种重复数据删除方法及系统
CN109739684A (zh) * 2018-11-20 2019-05-10 清华大学 基于向量时钟的分布式键值数据库的副本修复方法与装置
CN110471613A (zh) * 2018-05-09 2019-11-19 杭州海康威视系统技术有限公司 存储数据的方法、读取数据的方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867035A (zh) * 2012-08-28 2013-01-09 浪潮(北京)电子信息产业有限公司 一种分布式文件系统集群高可用方法和装置
CN103795801A (zh) * 2014-02-12 2014-05-14 浪潮电子信息产业股份有限公司 一种基于实时应用集群的元数据集群设计方法
CN110471613A (zh) * 2018-05-09 2019-11-19 杭州海康威视系统技术有限公司 存储数据的方法、读取数据的方法、装置及系统
CN109522283A (zh) * 2018-10-30 2019-03-26 深圳先进技术研究院 一种重复数据删除方法及系统
CN109491807A (zh) * 2018-11-01 2019-03-19 浪潮软件集团有限公司 一种数据交换方法、装置和系统
CN109739684A (zh) * 2018-11-20 2019-05-10 清华大学 基于向量时钟的分布式键值数据库的副本修复方法与装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698926A (zh) * 2021-03-25 2021-04-23 成都新希望金融信息有限公司 数据处理方法、装置、设备、存储介质及系统
CN113886037A (zh) * 2021-09-14 2022-01-04 北京东方金信科技股份有限公司 一种分布式数据库集群中实现数据分布的方法及系统
CN113934707A (zh) * 2021-10-09 2022-01-14 京东科技信息技术有限公司 云原生数据库、数据库扩容方法、数据库缩容方法和装置
CN114003644A (zh) * 2021-10-21 2022-02-01 河南星环众志信息科技有限公司 分布式事务处理方法、设备、介质和数据库系统
CN114020836A (zh) * 2021-10-28 2022-02-08 国电南京自动化股份有限公司 一种基于时序库的分布式工业scada系统量测数据处理方法
CN114020836B (zh) * 2021-10-28 2025-02-07 国电南京自动化股份有限公司 一种基于时序库的分布式工业scada系统量测数据处理方法
CN114357049A (zh) * 2022-01-07 2022-04-15 苏州浪潮智能科技有限公司 一种存储集群互联方法、装置、计算机设备和存储介质
CN114357049B (zh) * 2022-01-07 2024-01-19 苏州浪潮智能科技有限公司 一种存储集群互联方法、装置、计算机设备和存储介质
WO2024119504A1 (zh) * 2022-12-09 2024-06-13 华为技术有限公司 数据处理方法、装置、设备和系统
CN116095099A (zh) * 2023-01-20 2023-05-09 广东省中山市质量计量监督检测所 一种基于机器视觉的机械零件质检系统
WO2025002006A1 (zh) * 2023-06-26 2025-01-02 华为云计算技术有限公司 一种事务处理方法及系统
WO2025086688A1 (zh) * 2023-10-27 2025-05-01 华为云计算技术有限公司 一种数据处理方法、系统及计算设备集群
CN117573614A (zh) * 2023-11-16 2024-02-20 天翼云科技有限公司 减少元数据且增删节点时只有少量数据迁移的系统及方法
CN117971506A (zh) * 2024-03-29 2024-05-03 天津南大通用数据技术股份有限公司 Mpp数据库查询任务均衡的方法、系统、设备及介质
CN117971506B (zh) * 2024-03-29 2024-06-18 天津南大通用数据技术股份有限公司 Mpp数据库查询任务均衡的方法、系统、设备及介质
CN117997896A (zh) * 2024-04-03 2024-05-07 环球数科集团有限公司 一种基于ipfs协议的数据传输、存储和访问系统
CN117997896B (zh) * 2024-04-03 2024-06-04 环球数科集团有限公司 一种基于ipfs协议的数据传输、存储和访问系统

Also Published As

Publication number Publication date
CN112199427B (zh) 2024-12-27

Similar Documents

Publication Publication Date Title
CN112199427B (zh) 一种数据处理方法和系统
US10671695B2 (en) System and method for storing and processing database requests
US20200301947A1 (en) System and method to improve data synchronization and integration of heterogeneous databases distributed across enterprise and cloud using bi-directional transactional bus of asynchronous change data system
US8108352B1 (en) Data store replication for entity based partition
US9727590B2 (en) Data management and indexing across a distributed database
US9489443B1 (en) Scheduling of splits and moves of database partitions
US7076553B2 (en) Method and apparatus for real-time parallel delivery of segments of a large payload file
US7457835B2 (en) Movement of data in a distributed database system to a storage location closest to a center of activity for the data
US10922303B1 (en) Early detection of corrupt data partition exports
JP7549137B2 (ja) トランザクション処理方法、システム、装置、機器、及びプログラム
US20150269239A1 (en) Storage device selection for database partition replicas
US11461201B2 (en) Cloud architecture for replicated data services
CN112948178A (zh) 一种数据处理方法、装置、系统、设备及介质
CN108073696A (zh) 基于分布式内存数据库的gis应用方法
US11609933B1 (en) Atomic partition scheme updates to store items in partitions of a time series database
CN114003580A (zh) 一种运用于分布式调度系统的数据库构建方法及装置
CN111459913B (zh) 分布式数据库的容量扩展方法、装置及电子设备
CN110826993A (zh) 项目管理处理方法、装置、存储介质和处理器
CN105511966B (zh) 一种用于数据库集群业务分割优化的方法和系统
US11157454B2 (en) Event-based synchronization in a file sharing environment
CN118673086B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
Sukhija et al. Load balancing and fault tolerance mechanisms for scalable and reliable big data analytics
CN117560370A (zh) 一种分片存储方法及装置
CN119537481A (zh) 数据库同步方法、装置、设备、介质和程序产品
HK40037752A (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
GR01 Patent grant
GR01 Patent grant