CN109656911B - 分布式并行处理数据库系统及其数据处理方法 - Google Patents

分布式并行处理数据库系统及其数据处理方法 Download PDF

Info

Publication number
CN109656911B
CN109656911B CN201811511539.8A CN201811511539A CN109656911B CN 109656911 B CN109656911 B CN 109656911B CN 201811511539 A CN201811511539 A CN 201811511539A CN 109656911 B CN109656911 B CN 109656911B
Authority
CN
China
Prior art keywords
data
node
recovery
backup
nodes
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
Application number
CN201811511539.8A
Other languages
English (en)
Other versions
CN109656911A (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.)
Nanjing Nanrui Ruizhong Data Co ltd
State Grid Corp of China SGCC
NARI Group Corp
Original Assignee
CHINA REALTIME DATABASE CO LTD
State Grid Corp of China SGCC
NARI Group 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 REALTIME DATABASE CO LTD, State Grid Corp of China SGCC, NARI Group Corp filed Critical CHINA REALTIME DATABASE CO LTD
Priority to CN201811511539.8A priority Critical patent/CN109656911B/zh
Publication of CN109656911A publication Critical patent/CN109656911A/zh
Application granted granted Critical
Publication of CN109656911B publication Critical patent/CN109656911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式并行处理数据库系统及其数据处理方法,通过制定数据分片分布规则,冗余备份规则,重做日志机制为数据恢复提供可靠数据支持。按照数据操作类型选择重做日志恢复或节点间一致性恢复进行数据自动恢复。本发明支持分布式部署,实现数据自动恢复,提供稳定的存储计算服务。

Description

分布式并行处理数据库系统及其数据处理方法
技术领域
本发明属于分布式并行数据库在信息化系统应用领域,特别是涉及一种分布式并行处理数据库系统及其数据处理方法。
背景技术
数据库技术产生于20世纪年代后期,其理论与技术发展极为迅速,应用也日益广泛。随着微型计算机的广泛应用,为加强和扩大微型计算机处理数据的功能,要求将许多分布在不同地点上的微型计算机互连起来参与共同工作。这样数据库进入了分布式数据库时代。20世纪90年代以来,分布式数据库系统进入商品化应用阶段,传统的关系数据库产品发展成以计算机网络及多任务操作系统为核心的分布式数据库产品。
随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。在这种形势下,集中式数据库的“集中计算”概念向“分布计算”概念发展,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。分布式并行处理数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。传统的单机关系型数据库多采用导出文件进行全量备份方式或记录备份周期备份点的增量备份方式。当节点出现异常,对节点进行故障排查,修复好后根据需要人工选择合适的备份数据进行数据恢复,没有做到数据恢复自动化。分布式并行计算和存储技术思想的引入则可以很好的解决单机数据库遇到的这种瓶颈,通过对分布式并行处理数据库关键技术的研究。
发明内容
为解决现有技术的不足,本发明的目的在于提出一种分布式并行数据库系统及其数据处理方法,目的是通过数据分布方式、数据冗余备份、重做日志恢复和节点间一致性恢复等方面的设计,为分布式并行数据库数据恢复提供一整套数据恢复系统或方案,并使其成为分布式并行数据库数据的主要恢复方式,无需用户干预即可完成异常节点数据恢复任务。
本发明所采用的技术方案为:一种分布式并行处理数据库系统,采用联邦构架,通过并行使用多个节点来装载数据和执行查询操作,所述节点根据功能划分为数据节点和调度节点,各所述数据节点之间互相连接协同计算,多个数据节点形成数据集群,多个调度节点形成调度集群;
所述调度集群,负责数据库的访问、数据发布和数据收集、对来自数据集群的计算结果的收集和任务调度;
所述数据集群,负责数据库的数据存储和数据计算,接收经调度集群分解的任务并将该任务在指定的数据节点上进行相应计算;
还包括管理集群,存储有数据分片规则,并根据数据分片规则生成分片映射表,插入数据时,根据分片映射表到对应的数据节点上存储,实现数据分布式存储;
所述数据分片规则包括制定一个节点生成多少用于数据存储的主分片和一个主分片对应多少用以备份的备份分片。
进一步的,各所述调度节点采用统一访问接口。
进一步的,所述数据分片规则采用Hash分片规则、随机分片规则或复制分片规则中的任意一种。
进一步的,所述管理集群内置数据冗余备份算法;所述数据冗余备份算法为:每个所述数据节点内包括1个或多个独立的用来存储数据的主分片和1个或多个独立的用来备份其他数据节点上的主分片数据的备份分片,数据插入时根据分片映射表存储到相应的主分片上,并在其他备份分片上进行冗余备份。
进一步的,在进行数据查询操作时,存储有该数据的主分片的数据节点作为主节点,存储有该数据的备份数据的数据节点作为备份节点,若当主节点不可用时,选择备节点分担执行任务,否则,选择主节点执行任务。
进一步的,所述管理集群还包括节点状态服务,所述节点状态服务用于定期检测各节点的状态是否正常提供服务并将各节点的状态交由管理集群记录,所述管理集群通过调用节点状态服务来定位当前可用节点,判断节点资源是否可用和选取合适的节点去处理数据处理请求。
进一步的,所述管理集群存储有节点状态信息,所述节点状态信息包括节点状态和各节点内的数据状态信息。
进一步的,本发明还包括数据自动恢复工具,所述管理集群调用数据自动恢复工具对故障排除后的标记数据错误状态的节点进行数据恢复。
进一步的,所述数据自动恢复工具根据需恢复数据量选择重做日志恢复或节点间一致性恢复。
进一步的,所述管理集群还存储有主备节点一致性状态信息;当数据自动恢复工具采用节点间一致性恢复时,根据主备节点一致性状态信息进行数据恢复。
进一步的,所述重做日志恢复为:将相关性的重做日志进行顺序处理,将无相关性的重做日志进行并行处理。
进一步的,所述节点间一致性恢复为:在节点上引入存储单元编号和操作号,异常节点首先比对是否存在正常节点上的存储单元编号,若不存在则进行拷贝恢复;若存在,则继续比对正常节点与异常节点的操作号,若不一致,则进行拷贝恢复;
所述存储单元编号为节点上进行数据存储的最小存储单元的编号;
所述操作号为对所述最小存储单元的操作序列进行标识;当所述最小存储单元被操作后,对应的操作号的信息发生变更。
本发明还公开了一种基于上述数据库系统的数据处理方法,包括数据分片方法,所述数据分片方法,包括以下步骤:
S1-1:设置数据分片规则,初始化分片,生成用于存储数据的主分片和分片映射表;
S1-2:进行数据库连接,数据插入时,根据数据分片规则和分片映射表将数据分布到对应的主分片进行存储。
进一步的,所述数据分片规则包括Hash分片规则、随机分片规则或复制分片规则中的任意一种;
所述Hash分片规则为:创建Hash分布表,数据插入时,指定某列为Hash分布列,并对其进行Hash运算得到Hash值,以确定该数据的存储分片;
所述随机分布规则为:数据插入时,使数据随机且均匀分布到集群所有主分片上;
所述复制分布规则为:通过数据复制的方式,在每个节点上存储完整数据。
进一步的,还包括数据高可用方法,包括:在初始化分片时,还生成备份分片,通过备份主分片数据到备份分片上,形成冗余备份;在进行数据查询操作时,存储有该数据的主分片的数据节点作为主节点,存储有该数据的备份数据的数据节点作为备份节点,若当主节点不可用时,选择备节点分担执行任务,否则,选择主节点执行任务。
进一步的,所述数据高可用方法还包括可同时使用主节点和备份节点提供服务。
进一步的,还包括数据恢复方法,所述数据恢复方法包括:
S2-1:当某节点出现故障时,管理集群检测到此节点并标记为不可用状态,称为异常节点;
S2-2:当异常节点的故障被排除后,管理集群调用数据自动恢复工具对异常节点进行数据恢复;
S2-3:数据自动恢复工具根据需恢复数据量选择重做日志恢复或节点间一致性恢复;
S2-4:若选择重做日志恢复操作,将集群对异常节点的操作进行记录形成重做日志,通过处理该重做日志变为正常节点;
S2-5:若选择节点间一致性恢复操作,引入主分片上进行数据存储的最小存储单元的编号和用于标记该最小存储单元的操作序列的操作号,异常节点首先比对是否存在正常节点上的最小存储单元的编号,若不存在则进行拷贝恢复;若存在,则继续比对正常节点与异常节点的操作号,若不一致,则进行拷贝恢复,实现异常节点变为正常节点;
当所述最小存储单元被操作后,对应的操作号的信息会发生变更;
所述正常节点为存储有异常节点的主分片数据的备份数据的节点;
S2-6:管理集群将此异常节点标记为可用状态,可正常提供服务。
进一步的,所述数据恢复方法还包括:引入节点状态服务,该节点状态服务定期检测各个节点的状态是否正常,能否正常提供服务,并将该节点的节点状态交由管理集群存储。
进一步的,进行重做日志恢复操作时,通过管理集群对重做日志的相关性进行自动识别,将有相关性的重做日志进行顺序处理,无相关性的重做日志进行并行处理。
有益效果:本发明与现有技术相比,本发明实现了一种应对分布式并行处理数据库,通过数据分布式存储方式解决单机存储量少、计算能力低的问题,通过设计分布方式有效提升分布式架构并行处理效率,采用数据冗余备份的方式,节点异常时其它节点接管,解决节点出现异常时系统无法提供服务的问题,实现高可用,解决了该分布存储方式下异常节点数据的恢复问题,通过重做日志或主备数据节点上存储单元编号及操作号设计解决数据不一致情况下数据恢复的问题。本发明通用性强,突破了当前关系型数据库的存储空间和计算限制,保证系统高可用,极大减少人工操作实现数据自动恢复。
附图说明
图1分布式并行处理数据库系统部署架构;
图2数据分片示意图;
图3分片冗余备份示意图;
图4多节点提供服务示意图;
图5节点状态信息示意图;
图6表在各节点的状态信息示意图;
图7重做日志示意图;
图8存储单元数据拷贝示意图。
具体实施方式
下面结合附图进一步阐述本发明。
本发明采用的技术方案主要包含四个部分:一,总体功能架构设计。二,数据分布式存储设计。三,数据冗余备份和高可用设计。四,重做日志恢复和节点间一致性恢复设计。
总体功能架构设计:
分布式并行处理数据库部署架构如图1所示,本发明的分布式并行处理数据库采用联邦架构。
本发明的数据库系统是分布式的,安装部署的时候需要两台或以上的服务器,以下将服务器成为节点,通常把这一系列具有相同功能或特点的N个节点称做集群,本发明按照功能把集群分为调度集群、数据集群和管理集群,对应的按照功能将节点分为调度节点和数据节点。
本发明的调度集群包括分布式访问层和分布式定位层;所述分布式访问层采用统一的访问接口,使分布式并行处理数据库作为一个完整的逻辑整体进行访问;所述分布式定位层作为数据的分布和收集者,负责数据的分发、查询结果的收集汇总和任务调度;在查询访问多个数据节点上的数据时,并发式的访问处理能够实现多路数据请求在多个数据节点上的并行处理,从而实现了高效的分布式数据访问。
本发明的数据集群包括分布式存储层和分布式计算层,负责整个数据库系统的数据存储和数据计算,接收来自经调度集群分解的任务并将分解的任务分布到指定的数据节点上进行相应计算,执行结果通过调度集群返回给应用程序;
本发明的管理集群包括管理层,作为整个数据库系统的管理者,主要存储数据分布方式、各节点状态、主备节点一致性状态等关键信息。分布式并行数据库通过并行使用多个CPU和磁盘来将诸如装载数据、建立索引、执行查询等操作并行化以提升性能的数据库系统。在组成大规模计算机集群的时候,通常有两种特性要考虑:并行和分布式。并行强调多节点同时执行,共同解决一个大问题,通常在严格的高性能网络环境中,有严格的执行要求和反馈时限。或者通过良好的分发极致,分布式并行处理不同的任务,从而达到数据处理高性能的需求。在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。
数据分布式存储设计:
海量数据仓库存储的特征是事实表数据量大,这就对数据存储空间有了更高的要求,传统的数据库无法对超大的数据表进行存储,更无法实现数据分析功能。分布式并行处理数据库为避免大量数据存储到单一节点上,数据按照随机、哈希等方法进行分片分布到数据节点上,然后建立数据的索引方便查询,也就是说将超大的数据表进行数据和索引分片进行存储,数据与其相关的索引的分片存储在一个数据节点中。本发明采用多个数据节点进行分布式存储,能够实现更大数据规模的存储,同时能够发挥多节点并行计算的优势,提升数据查询分析性能。
如图2所示,每个数据节点内又可分成几个独立的更小单位用来存储数据的主分片,目的是使数据分布更加平滑。
下面是Hash分片规则、随机分片规则和复制分片规则的三种数据分片规则的具体机制的说明。
Hash分片规则:
创建Hash分布表时,通过指定某列为Hash分布列,数据入库时,根据Hash分布列的数据值计算Hash值,以确定该数据的存储分片。在系统中,数据的Hash分布采用一致性Hash算法,在分布式并行处理数据库集群结构发生变化时,仅需要迁移少量数据。数据Hash分布,配合系统中提供的高效并行执行计划,可以实现极高的查询性能,查询性能随分布式并行处理数据库集群节点数的增加线性递增。
随机分片规则:
分布式并行处理数据库集群中创建随机分布表时,采用负载均衡思想,统筹资源调度存储,使数据随机且均匀分布到集群所有分片上,并交由管理集群记录其分布等信息。
复制分片规则:
对数据量较小,变化不大的维度表,可设计为复制表。复制表在每个节点上存储的是完整数据。通过复制分布表,可以减少在关联过程中的节点间“拉表”,提升数据库关联处理的效率。
数据冗余备份和高可用设计:
在分布式并行处理数据库集群中,通过备份主分片数据到其它备份分片上,形成冗余备份,来实现高可用。如图3所示,以一个主分片只有一个备份为例,把Node1中的T_n1表冗余备份到Node2中,那么T_n1表的可用节点为Node1和Node2,在查询T_n1表时这两个节点都可以被选择为执行节点。但是,如果T_n2表的可用节点也为Node1和Node2时,应避免T_n1表和T_n2表选取相同的执行节点。例如都选择Node1,将造成Node1的资源消耗较大,从而拖慢SQL的整体运行效率。
为高效利用资源,规定Node1为T_n1表的执行主节点,只有此主节点不可用时才会选择Node2;同理,规定Node2为T_n2表的执行主节点,只有此主节点不可用时才会选择Node1。如此,Node1和Node2总能分担执行任务,达到效率最大化。节点间协调如图3所示。
在分布式并行处理数据库中,使用主备机制来实现整个系统的高可用,当主节点出现异常之后,可以切换到备份节点继续进行工作。另外一种情况是同时使用主备节点提供服务,这个时候节点就无主备的区分,多节点同时提供服务进行工作,其中一个节点出现异常之后,退出服务,由其余节点接管工作。如图4所示,在多节点情况下,节点1向外提供服务。
多节点共同工作的情况下,每个节点都可以对外提供服务,提供了极大的便利性,但同时也带来了管理上的复杂性,因为每个节点有存在异常的可能,例如网络中断,硬盘损坏,进程崩溃这些故障,系统需要及时发现哪些节点出现了点问题并处理。因此实现多节点的高可用机制,首先需要有节点状态服务,节点状态服务会定期地检测各个节点的状态是否正常,能否正常提供服务,集群数据库系统的管理集群可以通过节点状态服务定位当前可用节点,判断节点资源是否可用,从而选取合适的节点去处理客户端发送过来的数据处理请求。
如图5所示,描述了节点状态信息。在分布式并行处理数据库中,除了节点状态外,我们还将节点的资源精细化到数据表进行状态统计,从节点状态服务中,可以知道每个数据表在每个节点上的状态是否可用。如图6所示,描述了数据表在各节点的状态信息。
节点的异常无法避免,当一个节点异常之后,这个节点就无法对外提供服务,此时如果这个节点存储的是数据信息,那分布式并行处理数据库集群中的管理集群就无法从这个节点上获得数据,也无法向这个节点更新数据。系统为了应对这种异常,通常都是使用另外一个对等的备份节点来进行接管,继续进行工作,对等的备份节点上的数据和异常的节点上的数据是一致的,因此处理数据查询请求可以达到同样的结果。
在有异常节点的情况下,如果只是处理数据查询请求,那分布式并行处理数据库集群的处理不会变得复杂,但如果是处理数据更改的相关请求就变得复杂了,因为对等的备份节点中的所有节点都需要同样地进行操作,对于异常节点,它暂时无法进行这些操作了。对数据的更改到达不了异常的节点,这就表示它的数据信息与其它正常节点的信息不一致,它的数据是有问题的数据,不能对它的数据进行操作,也不能使用它的数据进行查询。这个时候分布式并行处理数据库管理集群检测到异常发生后,调用节点状态服务去标记这个异常节点的数据错误状态,并将该异常节点的节点状态交由管理集群记录,表示这个异常节点的数据不可用了,从而进行后续的数据恢复操作。
重做日志恢复和节点间一致性恢复设计:
当异常节点的故障被排除后,分布式并行处理数据库管理集群需要调用自动恢复工具对其进行数据恢复处理,与正常节点一致之后才能正常使用。自动恢复工具主要处理集群中出现的异常,自动恢复工具的主要工作就是处理那些故障排除后的标记数据错误状态的节点。进行数据恢复时,对需要恢复的数据量进行评估,如果数据量较少选择重做日志恢复,数据量较大选择节点间一致性恢复:
重做日志恢复:
在执行DDL操作的时候,集群会将操作转化为指令操作在各个节点上,如果此时有异常节点,那么指令就不会被发送到这个异常节点,异常节点也因此会缺失这个指令操作。因此,如果此时系统将对异常节点的操作都记录下来,形成一份重做日志,当这个节点处理完异常可以继续工作的时候,让异常节点处理一下这份重做日志,那么当这个异常节点处理完它所缺失的操作后,也能够变为正常节点继续正常工作。如图7所示,描述了节点上的重做日志。在处理重做日志的时候,需要注意的是要处理每条操作记录与它之前的记录的相关性,否则将会引起数据结果错误,保守的做法是按照重做日志记录的顺序来进行重做。但顺序依次做会极大地降低处理效率,在重做日志记录数据较大的情况下,这种恢复的时间将会很长,因此通常管理集群会自动识别出哪些重做日志是有相关性的,将有相关性的顺序处理,将无相关性的操作并行处理,这样来加快异常处理的效率。简单的判断相关性的处理方式是根据数据表名,不过此时需要处理关于数据表重命名操作的特殊情况。
节点间一致性恢复:
DDL形成的重做日志在数据量上是比较容易控制的,不会太大,而DML由于本身就是针对数据的语句,所以如果要将DML的指令进行存储重放的话,对重做日志本身是个较大的考验,重做日志系统甚至无法存储包含超大数据量的信息。另一方面包含超大数据信息的重做日志在处理起来也不会高效,所以集群对DML重做日志是使用特殊的处理流程,一般是直接使用正常数据节点上落地到磁盘上的存储文件对异常节点进行恢复。
分片上存储的数据信息由最小存储单元进行存储,以下简称“存储单元”。同时每个存储单元都有一个操作号来标识这个存储单元的操作序列,只要这个存储单元被操作了,那操作号的信息就会发生变更。当然每个存储单元也有自身的存储单元编号,这个编号是存储单元的唯一标识。因此,DML恢复的流程就变成了异常节点与正常节点比对相关存储单元的过程,异常节点首先比对正常节点上的存储单元编号是否存在,不存在的则是需要拷贝恢复的。如果存储单元编号存在,则是会继续比对正常节点与异常节点的操作号,如果不一致,那么则进行拷贝恢复。
从上述过程可以看到,DML的恢复得用了正常节点上存储的信息,这些信息本身就是存在的不会额外占用重做日志的空间,同时直接基于节点间存储单元拷贝的方式,能够快速地更新恢复,并且只需要考虑数据的最终状态,即使中间正常节点进行了多次的DML操作,对于异常节点的恢复,是只需要一次基于节点间一致性恢复。如图8所示表示基于数据文件进行存储单元数据拷贝的过程。
本发明还公开了基于分布式处理数据库的数据处理方法,包括以下步骤:步骤1:配置各集群对应的IP地址、端口,配置分布式并行处理数据库登录用户名和密码,内核等基本信息,调度节点和数据节点分别安装和启动相应服务,进行分布式并行处理数据库安装。
步骤2:初始化分布式并行处理数据库,设置数据分片规则,通过管理集群初始化分片,生成分片映射表。
步骤3:当进行数据库连接,创建Hash分布表,数据插入时,对指定列进行Hash运算,根据分片映射表到对应分片进行存储,同时按照内置的冗余备份算法到其它分片上进行冗余备份。
步骤4:当某节点出现故障,系统会检测到此节点并标记为不可用状态,若用户进行数据查询操作需要用到此节点数据,由于该节点出于不可用状态,系统会到其对应的冗余备份的节点进行数据查询工作。进行数据恢复时,DDL操作恢复执行步骤5,DML操作执行步骤6。
步骤5:对故障节点进行的DDL操作会在集群中形成重做日志,对故障节点进行排查恢复为正常节点后,根据此重做日志按照顺序进行数据恢复工作,执行步骤7.
步骤6:对故障节点进行的DML操作,由于数据量大需要到其对应的冗余备份节点进行拷贝恢复,拷贝内容根据对比两个分片存储单元编号、操作号选择合适存储单元进行拷贝恢复。拷贝规则为:当存储单元编号和操作号一致时不对此存储单元进行拷贝;当存储单元编号一致操作号不一致时拷贝此存储单元到需要恢复节点;当存储单元编号不一致时,拷贝此存储单元到需要恢复节点。执行步骤7。
步骤7:系统将此节点置为正常节点,可正常提供服务。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员参照上述实施例依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。

Claims (9)

1.一种分布式并行处理数据库系统,其特征在于:采用联邦构架,通过并行使用多个节点来装载数据和执行查询操作,所述节点根据功能划分为数据节点和调度节点,各所述数据节点之间互相连接协同计算,多个数据节点形成数据集群,多个调度节点形成调度集群;
所述调度集群,负责数据库的访问、数据发布和数据收集、对来自数据集群的计算结果的收集和任务调度;
所述数据集群,负责数据库的数据存储和数据计算,接收经调度集群分解的任务并将该任务在指定的数据节点上进行相应计算;
还包括管理集群,存储有数据分片规则,并根据数据分片规则生成分片映射表,插入数据时,根据分片映射表到对应的数据节点上存储,实现数据分布式存储;
所述数据分片规则包括制定一个节点生成多少用于数据存储的主分片和一个主分片对应多少用以备份的备份分片;
所述管理集群还包括节点状态服务,所述节点状态服务用于定期检测各节点的状态是否正常提供服务并将各节点的状态交由管理集群记录,所述管理集群通过调用节点状态服务来定位当前可用节点,判断节点资源是否可用和选取合适的节点去处理数据处理请求;
所述管理集群存储有节点状态信息,所述节点状态信息包括节点状态和各节点内的数据状态信息;
还包括数据自动恢复工具,所述管理集群调用数据自动恢复工具对故障排除后的标记数据错误状态的节点进行数据恢复;
所述数据自动恢复工具根据需恢复数据量选择重做日志恢复或节点间一致性恢复;
所述管理集群还存储有主备节点一致性状态信息;当数据自动恢复工具采用节点间一致性恢复时,根据主备节点一致性状态信息进行数据恢复;
所述节点间一致性恢复为:在节点上引入存储单元编号和操作号,异常节点首先比对是否存在正常节点上的存储单元编号,若不存在则进行拷贝恢复;若存在,则继续比对正常节点与异常节点的操作号,若不一致,则进行拷贝恢复;
所述存储单元编号为节点上进行数据存储的最小存储单元的编号;
所述操作号为对所述最小存储单元的操作序列进行标识;当所述最小存储单元被操作后,对应的操作号的信息发生变更。
2.根据权利要求1所述的数据库系统,其特征在于:所述管理集群内置数据冗余备份算法;所述数据冗余备份算法为:每个所述数据节点内包括1个或多个独立的用来存储数据的主分片和1个或多个独立的用来备份其他数据节点上的主分片数据的备份分片,数据插入时根据分片映射表存储到相应的主分片上,并在其他备份分片上进行冗余备份。
3.根据权利要求2所述的数据库系统,其特征在于:在进行数据查询操作时,存储有该数据的主分片的数据节点作为主节点,存储有该数据的备份数据的数据节点作为备份节点,若当主节点不可用时,选择备节点分担执行任务,否则,选择主节点执行任务。
4.根据权利要求1所述的数据库系统,其特征在于:所述重做日志恢复为:将相关性的重做日志进行顺序处理,将无相关性的重做日志进行并行处理。
5.基于权利要求1-4任意一项所述的数据库系统的数据处理方法,其特征在于:包括数据分片方法,所述数据分片方法,包括以下步骤:
S1-1:设置数据分片规则,初始化分片,生成用于存储数据的主分片和分片映射表;
S1-2:进行数据库连接,数据插入时,根据数据分片规则和分片映射表将数据分布到对应的主分片进行存储;
还包括数据恢复方法,所述数据恢复方法包括:
S2-1:当某节点出现故障时,管理集群检测到此节点并标记为不可用状态,称为异常节点;
S2-2:当异常节点的故障被排除后,管理集群调用数据自动恢复工具对异常节点进行数据恢复;
S2-3:数据自动恢复工具根据需恢复数据量选择重做日志恢复或节点间一致性恢复;
S2-4:若选择重做日志恢复操作,将集群对异常节点的操作进行记录形成重做日志,通过处理该重做日志变为正常节点;
S2-5:若选择节点间一致性恢复操作,引入主分片上进行数据存储的最小存储单元的编号和用于标记该最小存储单元的操作序列的操作号,异常节点首先比对是否存在正常节点上的最小存储单元的编号,若不存在则进行拷贝恢复;若存在,则继续比对正常节点与异常节点的操作号,若不一致,则进行拷贝恢复,实现异常节点变为正常节点;
当所述最小存储单元被操作后,对应的操作号的信息会发生变更;
所述正常节点为存储有异常节点的主分片数据的备份数据的节点;
S2-6:管理集群将此异常节点标记为可用状态,可正常提供服务。
6.根据权利要求5所述的数据处理方法,其特征在于:还包括数据高可用方法,包括:在初始化分片时,还生成备份分片,通过备份主分片数据到备份分片上,形成冗余备份;在进行数据查询操作时,存储有该数据的主分片的数据节点作为主节点,存储有该数据的备份数据的数据节点作为备份节点,若当主节点不可用时,选择备节点分担执行任务,否则,选择主节点执行任务。
7.根据权利要求6所述的数据处理方法,其特征在于:所述数据高可用方法还包括可同时使用主节点和备份节点提供服务。
8.根据权利要求5所述的数据处理方法,其特征在于:所述数据恢复方法还包括:引入节点状态服务,该节点状态服务定期检测各个节点的状态是否正常,能否正常提供服务,并将该节点的节点状态交由管理集群存储。
9.根据权利要求5所述的数据处理方法,其特征在于:进行重做日志恢复操作时,通过管理集群对重做日志的相关性进行自动识别,将有相关性的重做日志进行顺序处理,无相关性的重做日志进行并行处理。
CN201811511539.8A 2018-12-11 2018-12-11 分布式并行处理数据库系统及其数据处理方法 Active CN109656911B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811511539.8A CN109656911B (zh) 2018-12-11 2018-12-11 分布式并行处理数据库系统及其数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811511539.8A CN109656911B (zh) 2018-12-11 2018-12-11 分布式并行处理数据库系统及其数据处理方法

Publications (2)

Publication Number Publication Date
CN109656911A CN109656911A (zh) 2019-04-19
CN109656911B true CN109656911B (zh) 2023-08-01

Family

ID=66113675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811511539.8A Active CN109656911B (zh) 2018-12-11 2018-12-11 分布式并行处理数据库系统及其数据处理方法

Country Status (1)

Country Link
CN (1) CN109656911B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213623B (zh) * 2019-06-03 2021-08-06 上海哔哩哔哩科技有限公司 视频上传方法、视频上传装置及计算机可读存储介质
CN110351122B (zh) * 2019-06-17 2022-02-25 腾讯科技(深圳)有限公司 容灾方法、装置、系统与电子设备
CN110275793B (zh) * 2019-06-27 2023-04-07 咪咕文化科技有限公司 一种用于MongoDB数据分片集群的检测方法及设备
CN112306743B (zh) * 2019-07-26 2023-11-21 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及计算机存储介质
CN110427284B (zh) * 2019-07-31 2022-02-18 中国工商银行股份有限公司 数据处理方法、分布式系统、计算机系统和介质
CN110716897A (zh) * 2019-10-15 2020-01-21 北部湾大学 一种基于云计算的海洋档案数据库并行化构建方法和装置
CN110990329B (zh) * 2019-12-09 2023-12-01 杭州趣链科技有限公司 一种联邦计算高可用方法、设备及介质
CN111400100B (zh) * 2020-03-16 2021-05-28 杭州坤泽实业股份有限公司 一种分布式软件备份的管理方法及其系统
CN111506407B (zh) * 2020-04-14 2022-04-26 中山大学 Pull模式与Push模式相结合的资源管理与作业调度方法、系统
CN113934792B (zh) * 2020-06-29 2023-03-24 金篆信科有限责任公司 分布式数据库的处理方法、装置、网络设备和存储介质
CN111897494A (zh) * 2020-07-27 2020-11-06 星辰天合(北京)数据科技有限公司 目标文件的处理方法和装置
CN112347076B (zh) * 2020-11-05 2023-11-14 中国平安人寿保险股份有限公司 分布式数据库的数据存储方法、装置和计算机设备
CN112579363B (zh) * 2020-12-30 2023-02-03 上海爱数信息技术股份有限公司 一种MySQL数据保护系统及其备份和恢复方法
CN112711382B (zh) * 2020-12-31 2024-04-26 百果园技术(新加坡)有限公司 基于分布式系统的数据存储方法、装置和存储节点
CN113297173B (zh) * 2021-05-24 2023-10-31 阿里巴巴新加坡控股有限公司 分布式数据库集群管理方法及装置、电子设备
CN113656384B (zh) * 2021-10-18 2022-04-08 阿里云计算有限公司 数据处理方法、分布式数据库系统、电子设备及存储介质
CN113986925A (zh) * 2021-10-28 2022-01-28 傲拓科技股份有限公司 分布式时序数据库及其存储方法
CN114048070A (zh) * 2021-11-05 2022-02-15 中国平安人寿保险股份有限公司 数据批量备份方法、装置、设备及存储介质
CN115437843B (zh) * 2022-08-25 2023-03-28 北京万里开源软件有限公司 一种基于多级分布式共识的数据库存储分区恢复方法
CN116881052B (zh) * 2023-09-07 2023-11-24 上海凯翔信息科技有限公司 一种分布式存储的数据修复系统
CN117131078B (zh) * 2023-10-20 2024-02-06 天津南大通用数据技术股份有限公司 一种基于跨分布模式的关联查询优化方法
CN118069430A (zh) * 2024-04-17 2024-05-24 天津南大通用数据技术股份有限公司 一种分布式数据库数据自动恢复方法
CN118394853B (zh) * 2024-07-01 2024-09-03 天津南大通用数据技术股份有限公司 一种分布式数据库故障因素的水平计算方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060117505A (ko) * 2005-05-11 2006-11-17 인하대학교 산학협력단 비공유 공간 데이터베이스 클러스터에서 확장성 해싱을이용한 클러스터 로그 기반의 회복 방법
CN104767778A (zh) * 2014-01-07 2015-07-08 中兴通讯股份有限公司 任务处理方法及装置
CN104679893A (zh) * 2015-03-18 2015-06-03 成都金本华科技股份有限公司 一种基于大数据的信息检索方法
CN106354585B (zh) * 2016-08-31 2019-04-30 天津南大通用数据技术股份有限公司 数据库集群多数据分片备份的部署方法及装置
CN107357688B (zh) * 2017-07-28 2020-06-12 广东神马搜索科技有限公司 分布式系统及其故障恢复方法和装置

Also Published As

Publication number Publication date
CN109656911A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN109656911B (zh) 分布式并行处理数据库系统及其数据处理方法
US9201742B2 (en) Method and system of self-managing nodes of a distributed database cluster with a consensus algorithm
CN102831120B (zh) 一种数据处理方法及系统
CN104965850B (zh) 一种基于开源技术的数据库高可用实现方法
US8126848B2 (en) Automated method for identifying and repairing logical data discrepancies between database replicas in a database cluster
US8874505B2 (en) Data replication and failure recovery method for distributed key-value store
US11886284B2 (en) System and method for data redistribution in a database
EP2643771B1 (en) Real time database system
CN109144783B (zh) 一种分布式海量非结构化数据备份方法及系统
CN109063005B (zh) 一种数据迁移方法及系统、存储介质、电子设备
CN110175089A (zh) 一种具有读写分离功能的双活灾备系统
US10970177B2 (en) Methods and systems of managing consistency and availability tradeoffs in a real-time operational DBMS
CN113986450A (zh) 一种虚拟机备份方法及装置
Naganandhini et al. Optimizing replication of data for distributed cloud computing environments: techniques, challenges, and research gap
KR100492167B1 (ko) 비공유 구조의 데이터베이스 클러스터 서버 시스템과온라인 확장 방법
Santos et al. Leveraging 24/7 availability and performance for distributed real-time data warehouses
Lin et al. ReHRS: A hybrid redundant system for improving MapReduce reliability and availability
EP3555756A1 (en) System and method for utilizing a designated leader within a database management system
CA2619778A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring
JP2019066939A (ja) 移行管理装置及び移行管理方法
JP2015149076A (ja) 管理装置、管理システム、およびデータ管理方法
Li et al. A distributed storage method for real-time database system design
US11455219B2 (en) High availability and automated recovery in scale-out distributed database system
JP5713412B2 (ja) 管理装置、管理システム、および管理方法
US20230033806A1 (en) Data guard at pdb (pluggable database) level

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
CP03 Change of name, title or address

Address after: No. 19 Chengxin Avenue, Moling Street, Jiangning District, Nanjing City, Jiangsu Province, 211106

Patentee after: Nanjing Nanrui Ruizhong Data Co.,Ltd.

Country or region after: Zhong Guo

Patentee after: NARI Group Corp.

Country or region after: China

Patentee after: STATE GRID CORPORATION OF CHINA

Address before: No.180 software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province, 210012

Patentee before: CHINA REALTIME DATABASE Co.,Ltd.

Country or region before: Zhong Guo

Patentee before: NARI Group Corp.

Country or region before: China

Patentee before: STATE GRID CORPORATION OF CHINA

CP03 Change of name, title or address