CN110019529A - 数据节点的管理方法、系统以及相关设备 - Google Patents

数据节点的管理方法、系统以及相关设备 Download PDF

Info

Publication number
CN110019529A
CN110019529A CN201711479904.7A CN201711479904A CN110019529A CN 110019529 A CN110019529 A CN 110019529A CN 201711479904 A CN201711479904 A CN 201711479904A CN 110019529 A CN110019529 A CN 110019529A
Authority
CN
China
Prior art keywords
data
back end
fragmentation
data fragmentation
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
CN201711479904.7A
Other languages
English (en)
Other versions
CN110019529B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711479904.7A priority Critical patent/CN110019529B/zh
Publication of CN110019529A publication Critical patent/CN110019529A/zh
Application granted granted Critical
Publication of CN110019529B publication Critical patent/CN110019529B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

本申请实施例提供了一种数据节点管理的方法、系统和相关设备,该方法包括将数据节点中的所有主分片的主本数据服务转出到其他数据节点,通知所述数据节点停止对外体提供数据服务,并在收到数据节点发送的恢复主本数据服务的请求后,将转出的主本数据服务转回到所述数据节点中。该方法使得分布式数据库系统可以在没有备用分布式数据库系统的情况下,实现对整个分布式数据系统中的所有数据节点实现滚动式软件升级或系统检修,而不中断对应用侧提供业务服务,同时也节约了大量的存储资源。

Description

数据节点的管理方法、系统以及相关设备
技术领域
本发明涉及数据库领域,尤其涉及一种数据库节点管理的方法、系统以及相关设备。
背景技术
传统的数据库软件升级更新,是先将服务全部下线,业务停止后再更新版本和配置, 然后重新启动并提供服务。在对业务可用性要求越来越高的今天,升级过程中的业务中 断是很难让客户或运营商接受的事情。为了在数据库软件升级过程中不中断业务,现有技术需要用两套相同的系统,降低了存储利用率,尤其是在分布式存储的情况下,现有 技术中同时使用两套分布式系统,资源浪费更为严重。
发明内容
鉴于此,有必要提供一种数据节点的管理方法,使得分布式数据库系统可以在没有 备用分布式数据库系统的情况下,实现对整个分布式数据系统中的所有数据节点实现滚 动式软件升级或系统检修,而不中断对应用侧(应用客户端或者应用服务器,下同)提供业务服务。
第一方面,提供一种数据节点管理方法,应用于分布式数据库系统中的元数据管理设备, 所述分布式数据库系统还包含多个数据节点,该方法包括:在所述多个数据节点中区分出第 一数据节点和辅助数据节点,所述第一数据节点为所述多个数据节点中待停止数据服务的数 据节点,所述辅助数据节点为所述多个数据节点中所述第一数据节点之外的所有数据节点; 将所述第一数据节点中所有主本数据分片的主本数据服务转出到所述辅助数据节点中;通知 所述第一数据节点停止提供数据服务,并在收到所述第一数据节点发送的恢复主本数据服务 的请求后,将所述转出的主本数据服务转回到所述第一数据节点中。
在一个可能的方案中,所述将所述第一数据节点中所有主本数据分片的主本数据服务转 出到所述辅助数据节点中包括:在所述第一数据节点中确定出第一数据分片,所述第一数据 分片为主本数据分片;在所述辅助数据节点中确定出第二数据分片,所述第二数据分片为所 述第一数据分片的副本数据分片;向所述第一数据节点发送第一降级请求,所述第一降级请 求中包含所述第一数据分片标识,以指示所述第一数据节点将所述第一数据分片降级为副本 数据分片,以便所述第一数据分片停止提供主本数据服务;确认所述第一数据分片已降级为 副本数据分片后,向所述第二数据分片所在数据节点发送第一升级请求,以指示所述第二数 据分片所在数据节点将所述第二数据分片升级为主本数据分片,以便所述第二数据分片提供 主本数据服务,所述第一升级请求中包含所述第二数据分片标识;为所述第一数据分片和所 述第二数据分片更新路由信息。
在一个可能的方案中,所述第一升级请求中还包含缓存日志指示信息,以指示所述第二 数据分片所在数据节点为所述第二数据分片缓存数据增量日志。
在一个可能的方案中,所述第一升级请求中还包含截止时间,以指示所述第二数据分片 所在数据节点在所述截止时间之后删除所述第二数据分片的增量日志。
在一个可能的方案中,所述截止时间可以包含一个时间长度信息,以指示所述第二数据 分片所在数据节点在为所述第二数据分片缓存增量日志累积超过所述时间长度后,删除为所 述第二数据分片缓存增量日志。
在一个可能的方案中,所述截止时间可以包含一个截止时间点,以指示所述第二数据分 片所在数据节点在所述截止时间点后,删除为所述第二数据分片缓存增量日志。
在一个可能的方案中,所述将所述转出的主本数据服务转回到所述第一数据节点中包括: 向所述第二数据分片所在数据节点发送第二降级请求,以指示所述第二数据分片所在数据节 点在将所述第二数据分片的数据同步到所述第一数据分片后将所述第二数据分片降级为数 据分片,以便所述第二数据分片停止提供主本数据服务,所述第二降级请求中包含所述第二 数据分片的标识、所述第一数据分片的标识和同步数据指示信息;确认所述第二数据分片成 功降级后,向所述第一数据节点发送第二升级请求,以指示所述第一数据节点将所述第一数 据分片升级为主本数据分片,以便所述第一数据分片重新提供主本数据服务,所述第二升级 请求中包含所述第一数据分片标识;为所述第一数据分片和所述第二数据分片更新路由信息。
在一个可能的方案中,所述在所述辅助数据节点中确定出第二数据分片包括:在所述辅 助数据节点中确定出副本数据节点列表,所述副本数据节点列表包含所述第一数据分片对应 的副本数据分片;在所述副本数据节点列表中选出负载最小或数据量最小的数据节点;以所 述负载最小或数据量最小的数据节点中所述第一数据分片对应的副本数据分片为所述第二 数据分片。
在一个可能的方案中,所述恢复主本数据服务的请求中包含所述第一数据节点已经升级 成功的信息或者所述第一数据节点系统维护成功的信息。
第二方面,提供了一种元数据管理设备,所述元数据管理设备用于管理分布式数据库系 统中的多个数据节点,该元数据管理设备包括:节点区分模块,用于在所述多个数据节点中 区分出第一数据节点和辅助数据节点,所述第一数据节点为所述多个数据节点中待停止数据 服务的数据节点,所述辅助数据节点为所述多个数据节点中所述第一数据节点之外的所有数 据节点;主本数据服务转出模块,用于将所述第一数据节点中所有主本数据分片的主本数据 服务转出到所述辅助数据节点中;主本数据服务转回模块,用于通知所述第一数据节点停止 提供数据服务,并在收到所述第一数据节点发送的恢复主本数据服务的请求后,将所述转出 的主本数据服务转回到所述第一数据节点中。
在一个可能的方案中,所述将所述第一数据节点中所有主本数据分片的主本数据服务转 出到所述辅助数据节点中包括:在所述第一数据节点中确定出第一数据分片,所述第一数据 分片为主本数据分片;在所述辅助数据节点中确定出第二数据分片,所述第二数据分片为所 述第一数据分片的副本数据分片;向所述第一数据节点发送第一降级请求,所述第一降级请 求中包含所述第一数据分片标识,以指示所述第一数据节点将所述第一数据分片降级为副本 数据分片,以便所述第一数据分片停止提供主本数据服务;确认所述第一数据分片已降级为 副本数据分片后,向所述第二数据分片所在数据节点发送第一升级请求,以指示所述第二数 据分片所在数据节点将所述第二数据分片升级为主本数据分片,以便所述第二数据分片提供 主本数据服务,所述第一升级请求中包含所述第二数据分片标识;为所述第一数据分片和所 述第二数据分片更新路由信息。
在一个可能的方案中,所述第一升级请求中还包含缓存日志指示信息,以指示所述第二 数据分片所在数据节点为所述第二数据分片缓存数据增量日志。
在一个可能的方案中,所述第一升级请求中还包含截止时间,以指示所述第二数据分片 所在数据节点在所述截止时间之后删除所述第二数据分片的增量日志。
在一个可能的方案中,所述截止时间可以包含一个时间长度信息,以指示所述第二数据 分片所在数据节点在为所述第二数据分片缓存增量日志累积超过所述时间长度后,删除为所 述第二数据分片缓存增量日志。
在一个可能的方案中,所述截止时间可以包含一个截止时间点,以指示所述第二数据分 片所在数据节点在所述截止时间点后,删除为所述第二数据分片缓存增量日志。
在一个可能的方案中,所述将所述转出的主本数据服务转回到所述第一数据节点中包括: 向所述第二数据分片所在数据节点发送第二降级请求,以指示所述第二数据分片所在数据节 点在将所述第二数据分片的数据同步到所述第一数据分片后将所述第二数据分片降级为数 据分片,以便所述第二数据分片停止提供主本数据服务,所述第二降级请求中包含所述第二 数据分片的标识、所述第一数据分片的标识和同步数据指示信息;确认所述第二数据分片成 功降级后,向所述第一数据节点发送第二升级请求,以指示所述第一数据节点将所述第一数 据分片升级为主本数据分片,以便所述第一数据分片重新提供主本数据服务,所述第二升级 请求中包含所述第一数据分片标识;为所述第一数据分片和所述第二数据分片更新路由信息。
在一个可能的方案中,所述在所述辅助数据节点中确定出第二数据分片包括:在所述辅 助数据节点中确定出副本数据节点列表,所述副本数据节点列表包含所述第一数据分片对应 的副本数据分片;在所述副本数据节点列表中选出负载最小或数据量最小的数据节点;以所 述负载最小或数据量最小的数据节点中所述第一数据分片对应的副本数据分片为所述第二 数据分片。
在一个可能的方案中,所述恢复主本数据服务的请求中包含所述第一数据节点已经升级 成功的信息或者所述第一数据节点系统维护成功的信息。
第三方面,提供了一种分布式数据库系统,包括元数据管理设备和多个数据节点,
所述元数据管理设备用于:在所述多个数据节点中区分出第一数据节点和辅助数据节点, 所述第一数据节点为所述多个数据节点中待停止数据服务的数据节点,所述辅助数据节点为 所述多个数据节点中所述第一数据节点之外的所有数据节点;将所述第一数据节点中所有主 本数据分片的主本数据服务转出到所述辅助数据节点中;通知所述第一数据节点停止提供数 据服务,并在收到所述第一数据节点发送的恢复主本数据服务的请求后,将所述转出的主本 数据服务转回到所述第一数据节点中。
所述数据节点用于:接收所述元数据管理设备在将所述第一数据节点中所有主本数据分 片的主本数据服务转出到所述辅助数据节点中时发送的第一降级请求,所述第一降级请求中 包含第一数据分片标识;将所述第一数据分片降级为副本数据分片,以便所述第一数据分片 停止提供主本数据服务。以及接收所述元数据管理设备在将所述第一数据节点中所有主本数 据分片的主本数据服务转出到所述辅助数据节点过程中时发送的第一升级请求,所述第一升 级请求中包含第二数据分片标识和缓存日志指示信息;将所述第二数据分片升级为主本数据 分片,并根据所述缓存日志指示信息为所述第二数据分片缓存数据增量日志。以及接收所述 元数据管理设备在将所述转出的主本数据服务转回到所述第一数据节点中时发送的第二降 级请求,所述第二降级请求中包含第二数据分片的标识、第一数据分片的标识和同步数据指 示信息;根据所述同步数据指示信息,将所述第二数据分片的数据增量日志发送给所述第一 数据分片所在数据节点,或者将所述第二数据分片的全量数据传送给所述第一数据分片所在 数据节点,以便将所述第二数据分片的数据同步到所述第一数据分片;将所述第二数据分片 降级为副本数据分片,以便所述第二数据分片停止提供主本数据服务。以及接收所述元数据 管理设备在将所述转出的主本数据服务转回到所述第一数据节点中时发送的第二升级请求, 所述第二升级请求中包含所述第一数据分片标识;将所述第一数据分片升级为主本数据分片, 以便所述第一数据分片重新提供主本数据服务。
第四方面,提供一种计算机程序产品,包括可执行程序代码,其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述服务器或者客户端可执行如上述方 面所述的数据节点的管理方法。
第五方面,本申请实施例提供了一种计算机存储介质,用于储存为上述元数据管理设备、 数据节点所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
附图说明
图1是本申请实施例适用的分布式数据库系统架构图示意图;
图2是本申请实施例一提供的数据节点管理方法流程图;
图3是本申请实施例二提供的数据节点管理方法流程图;
图4是本申请实施例三提供的元数据管理设备和数据节点的硬件结构图;
图5是本申请实施例四提供的元数据管理设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
如图1所示为本发明实施例提供的分布式数据库系统架构图,包括元数据管理设备101、 数据节点102、数据节点103、数据节点104和元数据管理客户端105,这里假设只有3个数 据节点,实际部署中数据节点可以不限定为3个。其中:
元数据管理节点101,负责系统整体的分布式管理能力,可以独立部署,也可以内置到 某个数据节点中。主要包括如下功能:
元数据管理功能:管理元数据,这里元数据是用来描述数据的数据,主要是描述数据属 性(property)的信息,例如表结构定义、数据类型、数据节点定义、数据分片定义、数据 分片与数据节点映射等;
路由管理功能:管理数据分片与物理节点间的映射关系
升级管理功能:提供接收用户发起的数据库升级请求命令,提供数据节点优雅停机,通 知集群成员升级节点上下线,管理升级后数据节点成员重新接入集群,并通知主备管理进行 分片升降级处理等;
主备管理功能:系统中主副本分片的管理,支持基于多个副本分片,决策选择合适的候 选副本节点为新主数据节点,同时负责主副本之间的升降级管理;
复制管理功能:定义和管理各数据分片的主副本复制关系,并负责复制完整性的管控, 例如通过下发复制请求给源数据节点,由源数据节点完成业务数据到目标节点的复制;
元数据同步功能:负责将元数据定义信息同步给数据节点、应用客户端等设备。当元数 据发生变更时,将变更信息通知到上述设备。
数据节点(如102~104中的每一个):可以是物理数据库服务器,也可以虚拟数据库服 务器,用于存储业务数据,在元数据管理设备管控下,对应用侧(应用客户端或者应用服务 器,下同)提供数据服务。其中包含多个数据分片,数据分片分主本数据分片和副本数据分 片,主本数据分片直接对应用侧提供业务服务(接收并处理应用侧的数据访问请求),同时 向副本数据分片提供同步业务数据的服务,主本数据分片提供的这些服务称为主本数据服务; 副本数据分片从对应的主本数据分片同步数据,以防主本数据分片不能工作时,接替主本数 据分片向应用侧提供业务服务,以确保系统的高可用性(High Avai labil ity)。
本发明实施例提供的基于图1所示分布式数据库系统架构的技术方案,可以使得分布式 数据库系统可以在没有备用分布式数据库系统的情况下,实现所有数据节点的软件升级、系 统检修,而不中断对应用侧提供业务服务。下面通过实施例进一步阐述该技术方案。
实施例一
图2为元数据管理设备进行数据节点管理的方法流程图,其中:
步骤201:在多个数据节点中区分出第一数据节点和辅助数据节点。
所述第一数据节点为所述多个数据节点中待停止数据服务的数据节点,所述辅助数据节 点为所述多个数据节点中所述第一数据节点之外的所有数据节点;
步骤202:将所述第一数据节点中所有主本数据分片的主本数据服务转出到所述辅助数 据节点中。
该步骤具体可以包括:
在所述第一数据节点中确定出第一数据分片,所述第一数据分片为主本数据分片;
在所述辅助数据节点中确定出第二数据分片,所述第二数据分片为所述第一数据分片的 副本数据分片;
向所述第一数据节点发送第一降级请求,所述第一降级请求中包含所述第一数据分片标 识,以指示所述第一数据节点将所述第一数据分片降级为副本数据分片,以便所述第一数据 分片停止提供主本数据服务;
确认所述第一数据分片已降级为副本数据分片后,向所述第二数据分片所在数据节点发 送第一升级请求,以指示所述第二数据分片所在数据节点将所述第二数据分片升级为主本数 据分片,以便所述第二数据分片提供主本数据服务,所述第一升级请求中包含所述第二数据 分片标识;
为所述第一数据分片和所述第二数据分片更新路由信息。
可选地,所述第一升级请求中还包含缓存日志指示信息,以指示所述第二数据分片所在 数据节点为所述第二数据分片缓存数据增量日志。
可选地,所述第一升级请求中还包含截止时间,以指示所述第二数据分片所在数据节点 在所述截止时间之后删除所述第二数据分片的增量日志。
可选地,所述在所述辅助数据节点中确定出第二数据分片可以包括:
在所述辅助数据节点中确定出副本数据节点列表,所述副本数据节点列表包含所述第一 数据分片对应的副本数据分片;
在所述副本数据节点列表中选出负载最小或数据量最小的数据节点;
以所述负载最小或数据量最小的数据节点中所述第一数据分片对应的副本数据分片为 所述第二数据分片。
步骤203:通知所述第一数据节点停止提供数据服务,并在收到所述第一数据节点发送 的恢复主本数据服务的请求后,将所述转出的主本数据服务转回到所述第一数据节点中。
该步骤具体可以包括:
向所述第二数据分片所在数据节点发送第二降级请求,以指示所述第二数据分片所在数 据节点在将所述第二数据分片的数据同步到所述第一数据分片后将所述第二数据分片降级 为数据分片,以便所述第二数据分片停止提供主本数据服务,所述第二降级请求中包含所述 第二数据分片的标识、所述第一数据分片的标识和同步数据指示信息;
确认所述第二数据分片成功降级后,向所述第一数据节点发送第二升级请求,以指示所 述第一数据节点将所述第一数据分片升级为主本数据分片,以便所述第一数据分片重新提供 主本数据服务,所述第二升级请求中包含所述第一数据分片标识;
为所述第一数据分片和所述第二数据分片更新路由信息。
可选地,所述恢复主本数据服务的请求中包含所述第一数据节点已经升级成功的信息或 者所述第一数据节点系统维护成功的信息。
需要说明的是,元数据管理节点可以在接收到元数据管理客户端发送的数据节点软件升 级请求的情况下执行上述管理功能,也可以在获知某个数据节点需要进行系统维护、检修或 重启的情况下,执行上述管理功能。
上述实施例一使得分布式数据库系统可以在没有备用分布式数据库系统的情况下,实现 对其中一个数据节点的软件升级、系统检修,而不中断该数据节点所提供的数据服务。下面 通过一个数据节点软件升级的场景为例进一步描述以上技术方案。
实施例二
图3为元数据管理设备进行数据节点管理的方法流程图。流程图中分布式数据库系统的 元数据管理设备为MN,三个数据节点分别为DN1,DN2和DN3,其中DN1需要升级数据库软件,DN1上有两个主本数据分片,分别为MDS1和MDS2,均提供主本数据服务,其对 应的副本分片分别为在DN2上的BDS1和DN3上的BDS2。MN为DN1软件升级而执行的 数据节点管理过程如下:
步骤300:MN区分出需要升级数据库软件的DN1和辅助数据节点DN2、DN3。
MN可以通过元数据管理客户端发送的软件升级请求中确定出DN1需要升级数据库软 件,也可以根据其他触发因素确定出DN1需要升级数据库软件。
为了使得DN1可以停止数据服务以进行软件升级,需要将分布式数据库系统下DN1之 外的数据节点作为辅助数据节点,因为这些节点上会有DN1上主本数据分片对应的副本数 据分片,从而可以将DN1中的主本数据分片上提供的主本数据服务转出到辅助数据节点中 对应的副本数据分片上。本例中辅助数据节点为DN2和DN3。
步骤301:MN确定出DN1中所有主本数据分片。
MN通过本地维护的元数据信息,确定出DN1中所有主本数据分片。本例假设DN1中有两个主本数据分片,分别为MDS1和MDS2,针对MDS1执行步骤302-303,针对MDS2, 执行步骤304-305。
可选地,MN通过本地维护的元数据信息,确定出MDS1和MDS2。表-1为元数据信息样例。
表-1元数据信息表
节点编码 分片编码 分片类型 副本编码
DN1 MDS1 主本数据分片 BDS1
DN1 MDS2 主本数据分片 BDS2
DN1 BDS3 副本数据分片
DN2 BDS1 副本数据分片
DN2 MDS3 主本数据分片 BDS3
DN3 BDS2 副本数据分片
DN3
步骤302:MN向DN1发送分片降级指示信息。
MN向DN1发送分片降级指示信息,所述指示信息中包含MDS1的标识;
DN1根据所述降级指示信息将MDS1降级为副本数据分片,以便MDS1停止提供主本数据服务。
可选地,DN1首先锁定MDS1分片,确保新的业务请求不再接入该分片,如果MDS1 上还有未完成的数据库事务,则等待数据库事务结束,再将MDS1降级为副本数据分片。
步骤303:MN向DN2发送分片升级指示信息。
MN向DN2发送分片升级指示信息,所述指示信息中包含BDS1的标识和缓存增量日志 标识,其中BDS1为MDS1在DN2中对应副本数据分片标识。可选地,MN根据自身维护 的元数据信息(如表-1),确定出BDS1的标识。
DN2根据所述升级指示信息,将BDS1分片升级为主本,并为其缓存增量日志,以便后 续同步数据。
可选地,本步骤所述升级指示信息还可以包含截止时间信息,以便指示DN2在超过所 述截止时间,不再为BDS1分片缓存增量日志,并删除已经为BDS1分片缓存的增量数据日志,以避免占用过多的存储空间。
可选地,所述截止时间信息可以包含一个时间长度信息,DN2在为BDS1缓存增量日志 累积超过所述时间长度后,删除所缓存的增量日志。
可选地,所述截止时间信息可以包含一个截止时间点,DN2在所述截止时间点后,删除 为BDS1缓存的增量日志。
一般情况下,DN1的软件升级过程不会太长,MN设定的截止时间前,软件升级过程应 该已经结束,从而可以及时通知DN2将BDS1降级为副本,增量日志将不再缓存。
表-2为增量日志的数据格式样例。
表-2
日志ID 生成日志的数据节点 生成日志的分片 逻辑日志
101 DN2 Tablet3 逻辑日志1
102 DN2 Tablet3 逻辑日志2
103 DN2 Tablet4 逻辑日志3
104 DN2 Tablet4 逻辑日志4
步骤304-205:参考步骤302-303。
通过该步骤,MN触发MDS2降级为副本数据分片,触发BDS2分片升级为主本数据分片。
步骤306:MN确认DN1上所有主本分片已降级完成。
本例中MN确认DN1上MDS1和MDS2均已降级完成,相应副本分片BDS1和BDS2 已经提供主本数据服务。
步骤307:MN向DN1发送停止数据服务指示。
由于DN1上所有主本数据已经降级为副本数据,可以在应用侧无感知的情况下安全停 机,则向DN1发送停止数据服务的指示。
DN1根据所述停止数据服务的指示,停止所述数据分片的数据服务,包括数据同步服务, 并从分布式集群中退出,触发MN更新元数据信息广播到集群中所有相关设备,以便这些设 备不再访问DN1上的数据。
至此,DN1可以进行软件升级或者系统维护等操作。
步骤308:MN等待DN1软件升级完成。
MN等待DN1升级完成。例如可以轮询DN1的状态,或者监听DN1发送的消息,以便 确定DN1是否升级完成。可选地,DN1升级完成要进行设备重启。
步骤309:MN接收到DN1发送的恢复主本数据服务请求。
DN1升级成功后,向MN发送恢复主本数据服务请求,以指示MN恢复DN1中MDS1 和MDS2的主本数据服务。
步骤310:MN向DN2发送分片降级指示信息。
MN向DN2发送降级指示信息,所述降级指示信息中包含MDS1的标识、BDS1的标识、同步数据指示信息。
步骤311:DN2向DN1发起数据同步。
DN2根据所述降级指示信息,检查本地是否缓存有BDS1的数据增量日志,如果有,则 向DN1发送数据增量日志,以便DN1重演增量日志,即根据所述增量日志更新MDS1(相 当于将BDS1的数据同步到MDS1,但过程比全量同步快),如果没有缓存BDS1的数据增 量日志,则将BDS1的全量数据传送给DN1,以便DN1将BDS1的数据同步给MDS1(比 重演增量日志慢,但不必额外存储空间存储数据增量日志)。
步骤312:DN1进行数据同步
DN1根据DN2发送的数据增量日志或者BDS1的全量日志,进行数据同步,使MDS1 的数据追平BDS1。
步骤313:DN1向DN2确认同步数据完毕。
DN1向DN2发送同步数据完毕的消息。
步骤314:DN2将BDS1降级为副本数据分片。
DN2确认DN1完成数据同步后,将BDS1降级为副本数据分片。
步骤315:DN2向MN确认降级成功。
DN2确认将BDS1降级为副本数据分片后,向MN发送消息,指示已经将BDS1降级为副本数据分片。
步骤316:MN向DN1发送分片升级指示。
MN向DN1发送分片升级指示,所述升级指示中包含MDS1标识。DN1根据所述升级 指示信息,将MDS1升级为主本数据分片。
步骤317-322:与步骤310-316类似。
MN触发BDS2降级为副本数据分片,MDS2升级为主本数据分片。
至此,DN1中的两个数据分片MDS1和MDS2均已恢复提供主本数据服务。流程结束。
如果要对分部署数据库中其他数据节点进行软件升级或者系统维护,可以针对其他数据 节点逐个执行上述步骤300-322类似的操作。
上述实施例二使得分布式数据库系统可以在没有备用分布式数据库系统的情况下,实现 对整个分布式数据系统中的所有数据节点实现滚动式软件升级或系统检修,而不中断对应用 侧提供业务服务,同时也节约了大量的存储资源。
实施例三
本实施例提供了元数据管理设备和数据节点的硬件结构图,如图4所示。
其中,图4所示的通用计算机可以为图1中的元数据管理设备,也可以为图1中的数据 节点。元数据管理设备或数据节点均可以采用通用的计算机硬件,其包括处理器401、存储 器402、总线403、输入设备404、输出设备405以及网络接口406。
具体的,存储器402可以包括以易失性和/或非易失性存储器形式的计算机存储媒体, 如只读存储器和/或随机存取存储器。存储器402可以存储操作系统、应用程序、其他程序 模块、可执行代码和程序数据。
输入设备404可以用于输入信息,便于系统管理员对所述设备进行操作和管理等,如配 置运营商对终端使用无线网络的要求,输入设备404如键盘或指向设备,如鼠标、轨迹球、 触摸板、麦克风、操纵杆、游戏垫、卫星电视天线、扫描仪或类似设备。这些输入设备可以 通过总线403连接至处理器401。
输出设备405可以用于输出信息,便于系统管理员对所述设备进行操作和管理等,除了 监视器之外,输出设备405还可以为其他外围输出设各,如扬声器和/或打印设备,这些输 出设备也可以通过总线403连接到处理器401。
元数据管理设备或数据节点可以通过网络接口406连接到网络中,例如连接到局域网 (Local Area Network,LAN)。在联网环境下,元数据管理设备或数据节点中存储的计算机 执行指令可以存储在远程存储设备中,而不限于在本地存储。
当元数据管理设备中的处理器401执行存储器402中存储的可执行代码或应用程序时, 元数据管理设备可以执行以上实施例一至实施例二中的元数据管理设备一侧的方法步骤,例 如执行步骤301、306等。具体执行过程参见上述实施例一至实施例二,在此不再赘述。
当数据节点中的处理器401执行存储器402中存储的可执行代码或应用程序时,数据节 点可以执行以上实施例一至实施例二中的数据节点侧的方法步骤,例如执行步骤312、314 等。具体执行过程参见上述实施例一至实施例二,在此不再赘述。
实施例四
本实施例提供了客户端的结构示意图,如图5所示,客户端包括:
节点区分模块501,用于在所述多个数据节点中区分出第一数据节点和辅助数据节点, 所述第一数据节点为所述多个数据节点中待停止数据服务的数据节点,所述辅助数据节点为 所述多个数据节点中所述第一数据节点之外的所有数据节点;
主本数据服务转出模块502,用于将所述第一数据节点中所有主本数据分片的主本数据 服务转出到所述辅助数据节点中;
主本数据服务转回模块503,用于通知所述第一数据节点停止提供数据服务,并在收到 所述第一数据节点发送的恢复主本数据服务的请求后,将所述转出的主本数据服务转回到所 述第一数据节点中。
在本实施例中,客户端是以功能模块的形式来呈现。这里的“模块”可以指特定应用集成 电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序 的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施 例中,本领域的技术人员可以想到客户端也可以采用图4所示的形式。节点区分模块501、 主本数据服务转出模块502和主本数据服务转回模块503都可以通过图4中的处理器401和 存储器402来实现。例如,节点区分模块501区分数据节点的功能可以通过由处理器401来 执行存储器402中存储的代码来实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算 法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件 的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究 竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员 可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。
本领域普通技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过 其它的方式实现。例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另 外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以 忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过 一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部 件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元 上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个 单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可 以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以 存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对 现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是 个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等 各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应 以权利要求的保护范围为准。

Claims (15)

1.一种数据节点管理方法,应用于分布式数据库系统中的元数据管理设备,所述分布式数据库系统还包含多个数据节点,其特征在于包括:
在所述多个数据节点中区分出第一数据节点和辅助数据节点,所述第一数据节点为所述多个数据节点中待停止数据服务的数据节点,所述辅助数据节点为所述多个数据节点中所述第一数据节点之外的所有数据节点;
将所述第一数据节点中所有主本数据分片的主本数据服务转出到所述辅助数据节点中;
通知所述第一数据节点停止提供数据服务,并在收到所述第一数据节点发送的恢复主本数据服务的请求后,将所述转出的主本数据服务转回到所述第一数据节点中。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一数据节点中所有主本数据分片的主本数据服务转出到所述辅助数据节点中包括:
在所述第一数据节点中确定出第一数据分片,所述第一数据分片为主本数据分片;
在所述辅助数据节点中确定出第二数据分片,所述第二数据分片为所述第一数据分片的副本数据分片;
向所述第一数据节点发送第一降级请求,所述第一降级请求中包含所述第一数据分片标识,以指示所述第一数据节点将所述第一数据分片降级为副本数据分片,以便所述第一数据分片停止提供主本数据服务;
确认所述第一数据分片已降级为副本数据分片后,向所述第二数据分片所在数据节点发送第一升级请求,以指示所述第二数据分片所在数据节点将所述第二数据分片升级为主本数据分片,以便所述第二数据分片提供主本数据服务,所述第一升级请求中包含所述第二数据分片标识;
为所述第一数据分片和所述第二数据分片更新路由信息。
3.根据权利要求2所述的方法,其特征在于,所述第一升级请求中还包含缓存日志指示信息,以指示所述第二数据分片所在数据节点为所述第二数据分片缓存数据增量日志。
4.根据权利要求3所述的方法,其特征在于,所述第一升级请求中还包含截止时间,以指示所述第二数据分片所在数据节点在所述截止时间之后删除所述第二数据分片的增量日志。
5.根据权利要求2所述的方法,其特征在于,所述将所述转出的主本数据服务转回到所述第一数据节点中包括:
向所述第二数据分片所在数据节点发送第二降级请求,以指示所述第二数据分片所在数据节点在将所述第二数据分片的数据同步到所述第一数据分片后将所述第二数据分片降级为数据分片,以便所述第二数据分片停止提供主本数据服务,所述第二降级请求中包含所述第二数据分片的标识、所述第一数据分片的标识和同步数据指示信息;
确认所述第二数据分片成功降级后,向所述第一数据节点发送第二升级请求,以指示所述第一数据节点将所述第一数据分片升级为主本数据分片,以便所述第一数据分片重新提供主本数据服务,所述第二升级请求中包含所述第一数据分片标识;
为所述第一数据分片和所述第二数据分片更新路由信息。
6.根据权利要求2所述的方法,其特征在于,所述在所述辅助数据节点中确定出第二数据分片包括:
在所述辅助数据节点中确定出副本数据节点列表,所述副本数据节点列表包含所述第一数据分片对应的副本数据分片;
在所述副本数据节点列表中选出负载最小或数据量最小的数据节点;
以所述负载最小或数据量最小的数据节点中所述第一数据分片对应的副本数据分片为所述第二数据分片。
7.根据权利要求1所述的方法,其特征在于,所述恢复主本数据服务的请求中包含所述第一数据节点已经升级成功的信息或者所述第一数据节点系统维护成功的信息。
8.一种元数据管理设备,所述元数据管理设备用于管理分布式数据库系统中的多个数据节点,其特征在于包括:
节点区分模块,用于在所述多个数据节点中区分出第一数据节点和辅助数据节点,所述第一数据节点为所述多个数据节点中待停止数据服务的数据节点,所述辅助数据节点为所述多个数据节点中所述第一数据节点之外的所有数据节点;
主本数据服务转出模块,用于将所述第一数据节点中所有主本数据分片的主本数据服务转出到所述辅助数据节点中;
主本数据服务转回模块,用于通知所述第一数据节点停止提供数据服务,并在收到所述第一数据节点发送的恢复主本数据服务的请求后,将所述转出的主本数据服务转回到所述第一数据节点中。
9.根据权利要求8所述的元数据管理设备,其特征在于,所述将所述第一数据节点中所有主本数据分片的主本数据服务转出到所述辅助数据节点中包括:
在所述第一数据节点中确定出第一数据分片,所述第一数据分片为主本数据分片;
在所述辅助数据节点中确定出第二数据分片,所述第二数据分片为所述第一数据分片的副本数据分片;
向所述第一数据节点发送第一降级请求,所述第一降级请求中包含所述第一数据分片标识,以指示所述第一数据节点将所述第一数据分片降级为副本数据分片,以便所述第一数据分片停止提供主本数据服务;
确认所述第一数据分片已降级为副本数据分片后,向所述第二数据分片所在数据节点发送第一升级请求,以指示所述第二数据分片所在数据节点将所述第二数据分片升级为主本数据分片,以便所述第二数据分片提供主本数据服务,所述第一升级请求中包含所述第二数据分片标识;
为所述第一数据分片和所述第二数据分片更新路由信息。
10.根据权利要求9所述的元数据管理设备,其特征在于,所述第一升级请求中还包含缓存日志指示信息,以指示所述第二数据分片所在数据节点为所述第二数据分片缓存数据增量日志。
11.根据权利要求10所述的元数据管理设备,其特征在于,所述第一升级请求中还包含截止时间,以指示所述第二数据分片所在数据节点在所述截止时间之后删除所述第二数据分片的增量日志。
12.根据权利要求9所述的元数据管理设备,其特征在于,所述将所述转出的主本数据服务转回到所述第一数据节点中包括:
向所述第二数据分片所在数据节点发送第二降级请求,以指示所述第二数据分片所在数据节点在将所述第二数据分片的数据同步到所述第一数据分片后将所述第二数据分片降级为数据分片,以便所述第二数据分片停止提供主本数据服务,所述第二降级请求中包含所述第二数据分片的标识、所述第一数据分片的标识和同步数据指示信息;
确认所述第二数据分片成功降级后,向所述第一数据节点发送第二升级请求,以指示所述第一数据节点将所述第一数据分片升级为主本数据分片,以便所述第一数据分片重新提供主本数据服务,所述第二升级请求中包含所述第一数据分片标识;
为所述第一数据分片和所述第二数据分片更新路由信息。
13.根据权利要求9所述的元数据管理设备,其特征在于,所述在所述辅助数据节点中确定出第二数据分片包括:
在所述辅助数据节点中确定出副本数据节点列表,所述副本数据节点列表包含所述第一数据分片对应的副本数据分片;
在所述副本数据节点列表中选出负载最小或数据量最小的数据节点;
以所述负载最小或数据量最小的数据节点中所述第一数据分片对应的副本数据分片为所述第二数据分片。
14.根据权利要求8所述的元数据管理设备,其特征在于,所述恢复主本数据服务的请求中包含所述第一数据节点已经升级成功的信息或者所述第一数据节点系统维护成功的信息。
15.一种分布式数据库系统,包括元数据管理设备和多个数据节点,其特征在于包括:
所述元数据管理设备,用于:
在所述多个数据节点中区分出第一数据节点和辅助数据节点,所述第一数据节点为所述多个数据节点中待停止数据服务的数据节点,所述辅助数据节点为所述多个数据节点中所述第一数据节点之外的所有数据节点;
将所述第一数据节点中所有主本数据分片的主本数据服务转出到所述辅助数据节点中;
通知所述第一数据节点停止提供数据服务,并在收到所述第一数据节点发送的恢复主本数据服务的请求后,将所述转出的主本数据服务转回到所述第一数据节点中。
所述数据节点,用于:
接收所述元数据管理设备在将所述第一数据节点中所有主本数据分片的主本数据服务转出到所述辅助数据节点中时发送的第一降级请求,所述第一降级请求中包含第一数据分片标识;
将所述第一数据分片降级为副本数据分片,以便所述第一数据分片停止提供主本数据服务。
以及
接收所述元数据管理设备在将所述第一数据节点中所有主本数据分片的主本数据服务转出到所述辅助数据节点过程中时发送的第一升级请求,所述第一升级请求中包含第二数据分片标识和缓存日志指示信息;
将所述第二数据分片升级为主本数据分片,并根据所述缓存日志指示信息为所述第二数据分片缓存数据增量日志。
以及
接收所述元数据管理设备在将所述转出的主本数据服务转回到所述第一数据节点中时发送的第二降级请求,所述第二降级请求中包含第二数据分片的标识、第一数据分片的标识和同步数据指示信息;
根据所述同步数据指示信息,将所述第二数据分片的数据增量日志发送给所述第一数据分片所在数据节点,或者将所述第二数据分片的全量数据传送给所述第一数据分片所在数据节点,以便将所述第二数据分片的数据同步到所述第一数据分片;
将所述第二数据分片降级为副本数据分片,以便所述第二数据分片停止提供主本数据服务。
以及
接收所述元数据管理设备在将所述转出的主本数据服务转回到所述第一数据节点中时发送的第二升级请求,所述第二升级请求中包含所述第一数据分片标识;
将所述第一数据分片升级为主本数据分片,以便所述第一数据分片重新提供主本数据服务。
CN201711479904.7A 2017-12-29 2017-12-29 数据节点的管理方法、系统以及相关设备 Active CN110019529B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711479904.7A CN110019529B (zh) 2017-12-29 2017-12-29 数据节点的管理方法、系统以及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711479904.7A CN110019529B (zh) 2017-12-29 2017-12-29 数据节点的管理方法、系统以及相关设备

Publications (2)

Publication Number Publication Date
CN110019529A true CN110019529A (zh) 2019-07-16
CN110019529B CN110019529B (zh) 2024-01-30

Family

ID=67187177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711479904.7A Active CN110019529B (zh) 2017-12-29 2017-12-29 数据节点的管理方法、系统以及相关设备

Country Status (1)

Country Link
CN (1) CN110019529B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457281A (zh) * 2019-08-14 2019-11-15 北京博睿宏远数据科技股份有限公司 数据处理方法、装置、设备及介质
CN114201549A (zh) * 2020-09-17 2022-03-18 金篆信科有限责任公司 切换方法、系统、服务器及存储介质
CN116680256A (zh) * 2023-07-21 2023-09-01 腾讯科技(深圳)有限公司 数据库节点升级方法、装置和计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254175A1 (en) * 2011-04-01 2012-10-04 Eliot Horowitz System and method for optimizing data migration in a partitioned database
CN104769919A (zh) * 2012-10-05 2015-07-08 甲骨文国际公司 对复制型数据库的访问进行负载平衡
CN104978362A (zh) * 2014-04-11 2015-10-14 中兴通讯股份有限公司 分布式文件系统的数据迁移方法、装置及元数据服务器
CN106777126A (zh) * 2016-12-16 2017-05-31 广东电网有限责任公司电力调度控制中心 一种支持异构时序数据库的数据在线迁移方法
CN107105049A (zh) * 2017-05-10 2017-08-29 腾讯科技(深圳)有限公司 数据迁移方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254175A1 (en) * 2011-04-01 2012-10-04 Eliot Horowitz System and method for optimizing data migration in a partitioned database
CN104769919A (zh) * 2012-10-05 2015-07-08 甲骨文国际公司 对复制型数据库的访问进行负载平衡
CN104978362A (zh) * 2014-04-11 2015-10-14 中兴通讯股份有限公司 分布式文件系统的数据迁移方法、装置及元数据服务器
CN106777126A (zh) * 2016-12-16 2017-05-31 广东电网有限责任公司电力调度控制中心 一种支持异构时序数据库的数据在线迁移方法
CN107105049A (zh) * 2017-05-10 2017-08-29 腾讯科技(深圳)有限公司 数据迁移方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457281A (zh) * 2019-08-14 2019-11-15 北京博睿宏远数据科技股份有限公司 数据处理方法、装置、设备及介质
CN114201549A (zh) * 2020-09-17 2022-03-18 金篆信科有限责任公司 切换方法、系统、服务器及存储介质
CN114201549B (zh) * 2020-09-17 2022-11-25 金篆信科有限责任公司 切换方法、系统、服务器及存储介质
CN116680256A (zh) * 2023-07-21 2023-09-01 腾讯科技(深圳)有限公司 数据库节点升级方法、装置和计算机设备
CN116680256B (zh) * 2023-07-21 2024-01-09 腾讯科技(深圳)有限公司 数据库节点升级方法、装置和计算机设备

Also Published As

Publication number Publication date
CN110019529B (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
CN104715001B (zh) 用于对数据处理系统的集群中的共享资源执行写入操作的方法和系统
CN105814544B (zh) 用于支持分布式数据网格中的持久化分区恢复的系统和方法
JP5841177B2 (ja) マルチサーバ予約システムにおける同期化メカニズムのための方法及びシステム
CN100478902C (zh) 地理分布式集群
CN102782670B (zh) 存储器高速缓存数据中心
CN103138912B (zh) 数据同步方法及系统
CN110224871A (zh) 一种Redis集群的高可用方法及装置
KR20150061258A (ko) 분산 raid 시스템에서 패리티 청크 운용 방법과 이를 지원하는 데이터 서버 장치
WO2014170952A1 (ja) 計算機システム、計算機システム管理方法及びプログラム
CN104735098A (zh) 会话信息的控制方法和控制系统
CN105472002A (zh) 基于集群节点间即时拷贝的会话同步方法
CN108337315B (zh) 监控系统的部署方法、装置、计算机设备及存储介质
CN110019529A (zh) 数据节点的管理方法、系统以及相关设备
CN101706781A (zh) 一种数据库缓存集中管理方法和系统
EP3059932B1 (en) Lock server malfunction processing method and system thereof in distribution system
JP2016508349A (ja) クラスタ境界にわたるサービス移行
US20120278429A1 (en) Cluster system, synchronization controlling method, server, and synchronization controlling program
CN101751415A (zh) 元数据服务系统、元数据同步方法与写服务器更新方法
CN113268472B (zh) 一种分布式数据存储系统及方法
JP6405255B2 (ja) 通信システム、キュー管理サーバ、及び、通信方法
CN111858628A (zh) 基于数据库的管理方法、平台、电子设备及存储介质
EP4176345A1 (en) Fully coherent efficient non-local storage cluster file system
CN113010496A (zh) 一种数据迁移方法、装置、设备和存储介质
WO2011130375A1 (en) System and method for data caching
CN114003350A (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