CN116346826B - 数据库节点部署方法、装置、电子设备及存储介质 - Google Patents

数据库节点部署方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116346826B
CN116346826B CN202310621244.0A CN202310621244A CN116346826B CN 116346826 B CN116346826 B CN 116346826B CN 202310621244 A CN202310621244 A CN 202310621244A CN 116346826 B CN116346826 B CN 116346826B
Authority
CN
China
Prior art keywords
available
database
target
node
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
CN202310621244.0A
Other languages
English (en)
Other versions
CN116346826A (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.)
Industrial Fulian Foshan Innovation Center Co ltd
Original Assignee
Industrial Fulian Foshan Innovation Center 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 Industrial Fulian Foshan Innovation Center Co ltd filed Critical Industrial Fulian Foshan Innovation Center Co ltd
Priority to CN202310621244.0A priority Critical patent/CN116346826B/zh
Publication of CN116346826A publication Critical patent/CN116346826A/zh
Application granted granted Critical
Publication of CN116346826B publication Critical patent/CN116346826B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Abstract

本发明公开了一种数据库节点部署方法、装置、电子设备及存储介质,涉及计算机技术领域;该方法包括:在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片;获取所述目标分片中各数据库节点所属的可用区;基于所述各数据库节点所属的可用区,确定属于同一可用区的数据库节点;在所述属于同一可用区的数据库节点中,筛选出目标数据库节点;在设置的各可用区中,剔除所述各数据库节点所属的可用区,得到所述目标分片未使用的可用区;将筛选的目标数据库节点部署至所述未使用的可用区。本申请可使得目标切片的数据库节点能够尽量分布于不同可用区,进而提高数据库实例的可用性。

Description

数据库节点部署方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种数据库节点部署方法、装置、电子设备及计算机可读存储介质。
背景技术
云数据库是指被优化或部署到一个虚拟计算环境中的数据库,能够实现按需付费、按需扩展、高可用性以及存储整合等优势。云数据库实例包括多个数据库节点,多个数据库节点可以设置在不同可用区(Availability Zone,AZ)运行,从而保证各可用区间故障隔离,实现跨可用区的云数据库的高可用性。
一般在云数据库实例创建时,用户会设置云数据库实例中的各数据库节点所分布的可用区,然而,各数据库节点所分布的可用区可能设置不合理,导致云数据库实例的可用性较低。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种数据库节点部署方法、装置、电子设备及计算机可读存储介质,能够提高云数据库实例的可用性。
为了解决上述技术问题,本发明提供了一种数据库节点部署方法,包括:
在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片;
获取所述目标分片中各数据库节点所属的可用区;
基于所述各数据库节点所属的可用区,确定属于同一可用区的数据库节点;
在所述属于同一可用区的数据库节点中,筛选出目标数据库节点;
在设置的各可用区中,剔除所述各数据库节点所属的可用区,得到所述目标分片未使用的可用区;
将筛选的目标数据库节点部署至所述未使用的可用区。
采用该技术方案,在目标分片中存在多个数据库节点属于同一可用去的情况下,将该多个数据库节点的某个或某些数据库节点部署至目标分片未使用的可用区,从而能够提高数据库节点部署的合理性,使得目标切片的数据库节点能够尽量分散分布于不同可用区,进而提高数据库实例的可用性。
可选的,在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片,包括:检测所述各云数据库实例的分片是否满足预设的节点均匀分布条件;将不满足预设的节点均匀分布条件的分片作为候选分片,得到候选分片集合;从所述候选分片集合中,确定目标分片。
采用该技术方案,基于不满足节点均匀分布条件的数据库实例分片,得到目标分片,能够优先调整节点分布不均匀的分片的数据库实例。
可选的,检测所述各云数据库实例的分片是否满足预设的节点均匀分布条件,包括:若当前检测到的分片的数据库节点的数量小于或等于所述设置的各可用区的数量,且所述当前检测到的分片的数据库节点位于不同的可用区,判定所述当前检测到的分片满足所述预设的节点均匀分布条件;
若所述当前检测到的分片的数据库节点的数量大于所述设置的各可用区的数量,且在所述当前检测到的分片的数据库节点中,位于不同的可用区的数据库节点的数量与所述设置的各可用区的数量相等,判定所述当前检测到的分片满足所述预设的节点均匀分布条件。
采用该技术方案,能够在各分片中剔除掉尽量使用不同可用区的分片,从而便于得到节点分布不均匀的分片,进而确定数据库节点分布不合理的分片。
可选的,从所述候选分片集合中,确定所述目标分片,包括:若当前候选分片中的多个数据库节点均属于同一资源告警可用区,将所述当前候选分片确定为所述目标分片。
采用该技术方案,在当前检测到的候选分片占用过多资源告警可用区的资源时,可优先重新部署该分片的数据库节点,减少资源告警可用区的软硬件占用压力。
可选的,在所述属于同一可用区的数据库节点中,筛选出目标数据库节点,包括:确定第一可用区集合中出现次数大于一的可用区,所述第一可用区集合包括所述目标分片中各数据库节点所属的可用区;基于所述目标分片在所述出现次数大于一的可用区中的数据库节点,确定所述目标数据库节点;
所述将筛选的目标数据库节点部署至所述未使用的可用区,包括:在第二可用区集合中选择一个目标可用区;其中,所述第二可用区集合包括所述目标分片未使用的可用区;在所述第一可用区集合中,删除所述目标数据库节点对应的原可用区;将所述目标可用区加入所述第一可用区集合;将所述目标可用区从所述第二可用区集合中删除;将所述目标数据库节点部署至所述目标可用区。
可选的,将所述目标数据库节点部署至所述目标可用区之后,所述方法还包括:在所述目标分片中的数据库节点数量小于或等于所述设置的各可用区数量的情况下,若所述第一可用区集合中不存在重复的可用区,判定所述目标分片完成重新部署;在所述目标分片中的数据库节点数量大于所述设置的各可用区数量的情况下,若所述第二可用区集合为空集,判定所述目标分片完成重新部署。
在一些实施例中,数据库节点部署方法应用于电子设备,所述在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片,包括:
若接收到集群巡检请求,进行集群巡检,得到集群巡检结果;响应于集群巡检异常的结果,在各云数据库实例的分片中,确定数据库节点部署存在异常的各分片;向用户设备发送所述异常的各分片的标识,所述用户设备用于在人机交互界面展示所述异常的各分片的标识,并将用户在所述人机交互界面上选择的目标分片的标识传输至所述电子设备。
另外,本发明还提供了一种数据库节点部署装置,该装置包括:
确定模块,用于在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片;
获取模块,用于获取所述目标分片中各数据库节点所属的可用区;
分类模块,用于基于所述各数据库节点所属的可用区,确定属于同一可用区的数据库节点;
筛选模块,用于在所述属于同一可用区的数据库节点中,筛选出目标数据库节点;
剔除模块,用于在设置的各可用区中,剔除所述各数据库节点所属的可用区,得到所述目标分片未使用的可用区;
部署模块,用于将筛选的目标数据库节点部署至所述未使用的可用区。
另外,本发明还提供了一种电子设备,该电子设备包括处理器及存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行上述的数据库节点部署方法。
另外,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述的数据库节点部署方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一实施例提供的数据库节点部署方法的步骤流程图。
图2是本申请一实施例提供的步骤101的细分步骤流程图。
图3是本申请一实施例提供的数据库节点部署装置的结构示意图。
图4为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本申请的数据库节点部署方法可应用在一个或者多个电子设备中。所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于处理器、微程序控制器(Microprogrammed Control Unit,MCU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。例如,所述电子设备可以是云平台中的服务器等。
图1是本申请数据库节点部署方法一实施例的步骤流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
参阅图1所示,本申请数据库节点部署方法可以包括以下步骤。
步骤101,在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片。
云数据库实例是一组用于管理云数据库文件的内存结构。
分片是数据存储节点中的一个独立的数据区域(也称存储空间),该区域可以是物理上与其他分片隔离的,也是可以是逻辑上进行隔离的。
每个云数据库实例包括至少一个分片,若云数据库实例的分片数等于一,该云数据库实例为关系型云数据库;若云数据库实例的分片数大于一,该云数据库实例为分布式云数据库。
云数据库实例的分片包括至少一个数据库节点(DB节点),如包括主数据库节点和备用数据库节点。数据库节点运行于物理机,物理机安装于可用区。可用区是同一服务区内,电力和网络互相独立的地理区域,一般是一个独立的物理机房,这样可以保证可用区的独立性。
在一些实施例中,步骤101可以包括:电子设备获取用户输入的目标切片的标识。本实施例可供用户在各云数据库实例的分片中选择目标切片。
在另一些实施例中,用户设备,如云平台运维人员可通过客户端或应用程序接口向电子设备发送集群巡检请求,集群巡检请求包括:巡检指标和巡检指标参数,巡检指标包括:集群内各云数据库实例的数据库节点是否都跨可用区分布,巡检指标参数包括目前云平台所拥有的可用区的数量。
电子设备若接收到集群巡检请求,进行集群巡检,巡检集群内各云数据库实例,得到集群巡检结果。例如,在各云数据库实例全部巡检完成后,若云平台所有云数据库实例巡检状态都返回正常,则集群巡检结果返回正常;若存在云数据库实例巡检状态异常,则集群巡检结果返回异常。
电子设备响应于集群巡检异常的结果,在各云数据库实例的分片中,确定数据库节点部署存在异常的各分片;向用户设备发送所述异常的各分片的标识,用户设备用于在人机交互界面展示所述异常的各分片的标识,并将用户在人机交互界面上选择的目标分片的标识传输至电子设备。例如用户设备可展示所有异常巡检状态的云数据库实例的切片及各云数据库实例的切片对应的数据库节点所属的可用区。
在进行集群巡检过程中,电子设备可判断每个云数据库实例的分片数目,若分片数等于1,则将此云数据库实例标记为关系型云数据库,若分片数大于1,则将此云数据库实例标记为分布式云数据库。
参考图2所示,在一些实施例中,可以通过以下步骤实现确定待重新部署数据库节点的目标分片:
步骤1011,检测各云数据库实例的分片是否满足预设的节点均匀分布条件。
其中,分片的数据库节点部署存在异常表征该分片的数据库节点在各可用区的分布情况不满足预设的节点均匀分布条件,分片的数据库节点部署正常表征该分片的数据库节点在各可用区的分布情况满足预设的节点均匀分布条件。节点均匀分布条件表征该分片的数据库节点优先占用不同的可用区。
在一些实施例中,步骤1011可以包括:
若当前检测到的分片的数据库节点的数量小于或等于设置的各可用区的数量,且当前检测到的分片的数据库节点位于不同的可用区,判定当前检测到的分片满足预设的节点均匀分布条件;
若当前检测到的分片的数据库节点的数量小于或等于设置的各可用区的数量,且当前检测到的分片的存在不同的数据库节点位于相同的可用区,判定当前检测到的分片不满足预设的节点均匀分布条件;
若当前检测到的分片的数据库节点的数量大于设置的各可用区的数量,且在当前检测到的分片的数据库节点中,位于不同的可用区的数据库节点的数量与设置的各可用区的数量相等,判定当前检测到的分片满足预设的节点均匀分布条件;
若当前检测到的分片的数据库节点的数量大于设置的各可用区的数量,且在当前检测到的分片的数据库节点中,位于不同的可用区的数据库节点的数量小于设置的各可用区的数量,判定当前检测到的分片不满足预设的节点均匀分布条件。
上述设置的各可用区指的是各切片可以占用的可用区集合,即云平台所拥有的可用区集合。
示例性的,以下分别以关系型云数据库、分布式云数据库为应用场景说明步骤1011的过程。其中,云平台拥有的可用区数量记作N,分片的数据库节点数量记作M。
1.针对标记为关系型云数据库的云数据库实例。关系型云数据库的云数据库实例中包括一个分片,因此,关系型云数据库的云数据库实例的巡检状态即为该分片的巡检状态,检测过程如下:
情况1:若云数库实例的数据库节点数量M小于或等于可用区数量N,判断该云数据库实例是否存在M个数据库节点都位于不同可用区;若M个数据库节点都位于不同可用区,则该云数据库实例的巡检状态返回正常;若在M个数据库节点中,存在位于相同可用区的数据库节点,该云数据库实例的巡检状态返回异常。巡检状态正常表征满足节点均匀分布条件,巡检状态异常表征不满足节点均匀分布条件。
情况2:若云数据库实例的数据库节点M大于N,判断该云数据库实例中是否存在N个数据库节点都位于不同可用区,若存在N个数据库节点都位于不同可用区,则该云数据库实例巡检状态返回正常,若不存在N个数据库节点都位于不同可用区,即云数据库实例中的M个数据库节点所占可用区的数目小于N个,该云数据库实例巡检状态返回异常。
以云平台所拥有的可用区数量N为4,分别为AZ1,AZ2,AZ3,AZ4说明上述情况1和情况2的判断过程。
基于情况1,云数据库实例的数据库节点数为3,当3个数据库节点分别位于AZ1、AZ2、AZ3时,3个数据库节点都位于不同可用区,此云数据库实例巡检状态返回正常;当3个数据库节点分别位于AZ1、AZ2、AZ2时,此云数据库实例巡检状态返回异常。
基于情况2,云数据库实例的数据库节点数为5,当5个节点分别位于AZ1、AZ2、AZ3、AZ4、AZ4时,存在4个数据库节点都位于不同可用区,此云数据库实例巡检状态返回正常;当5个数据库节点分别位于AZ1、AZ2、AZ2、AZ3、AZ3时,此云数据库实例巡检状态返回异常。
2.针对标记为分布式云数据库的云数据库实例,该云数据库实例中包括多个切片,可对每个切片均检测是否满足预设的节点均匀分布条件。
以云平台所拥有的可用区数量为4,分别为AZ1,AZ2,AZ3,AZ4,云数据库实例分片数为2,分别为分片1和分片2,且分片1和分片2的DB节点数为3为例说明检测过程。
当云数据库实例分片1的3个数据库节点分别位于AZ1、AZ2、AZ3时,此云数据库实例分片1巡检状态返回正常,当3数据库个节点分别位于AZ1、AZ2、AZ2时,此云数据库实例分片1巡检状态返回异常;
当云数据库实例分片2的3个数据库节点分别位于AZ1、AZ2、AZ3时,此云数据库实例分片2巡检状态返回正常;当3个数据库节点分别位于AZ1、AZ2、AZ2时,此云数据库实例分片2巡检状态返回异常。
步骤1012,将不满足预设的节点均匀分布条件的分片作为候选分片,得到候选分片集合。
如,候选分片集合包括:候选分片1、候选分片2和候选分片3。
步骤1013,从候选分片集合中,确定目标分片。
在一些实施例中,可将候选分片集合中各候选分片的标识传输给用户设备,由用户设备选择目标分片。
在另一些实施例中,可以遍历候选分片集合,若当前候选分片中的多个数据库节点均属于同一资源告警可用区,将当前候选分片确定为目标分片。
资源告警可用区表征该可用区的资源缺乏。如该可用区需要为其他业务需求预留剩下的资源,或者,该可用区被占用的资源过多,或者,该可用区的资源暂时无法使用。
例如,云平台所拥有的可用区数量为4,可用区分别为AZ1、AZ2、AZ3、AZ4,候选切片1的4个数据库节点分别位于AZ1、AZ2、AZ3,AZ3,候选切片2的4个数据库节点位于AZ1、AZ2、AZ4、AZ4,若AZ3有其他业务需求需预留剩下的资源,新建的数据库节点不能占用AZ3的资源,因此,目标切片可为候选切片1。
步骤102,获取目标分片中各数据库节点所属的可用区。
具体地,即获取目标分片所属可用区的标识。
在一些实施例中,可定义第一可用区集合,第一可用区集合包括目标分片中各数据库节点所属的可用区的标识,第一可用区集合记作U,集合U中的元素可以重复,集合U中元素个数与数据库节点个数相同。
例如,目标分片有4个数据库节点,4个数据库节点分别位于可用区AZ1,AZ2,AZ2,AZ2,U={AZ1,AZ2,AZ2,AZ2}。
步骤103,基于各数据库节点所属的可用区,确定属于同一可用区的数据库节点。
在第一可用区集合中,若存在重复出现的可用区,则该重复出现的可用区对应的数据库节点均属于该可用区。
例如,U={AZ1,AZ2,AZ2,AZ2},即目标切片的数据库节点2、数据库节点3、数据库节点4均位于可用区AZ2。
步骤104,在属于同一可用区的数据库节点中,筛选出目标数据库节点。
在一些实施例中,步骤104可以包括:在属于同一可用区的数据库节点中,随机选择一个数据库节点作为目标数据库节点。
例如,数据库节点2、数据库节点3,和数据库节点4均位于可用区AZ2,在数据库节点2、数据库节点3,和数据库节点4中选择数据库节点2作为目标数据库节点。
在另一些实施例中,步骤104可以包括:在属于同一可用区的数据库节点中,将处于空闲状态的数据库节点作为目标数据库节点。处于空闲状态的数据库节点包括:当前未数据进行增删改查等相关操作的数据库节点、备用数据库节点等。
步骤105,在设置的各可用区中,剔除各数据库节点所属的可用区,得到目标分片未使用的可用区。
未使用的可用区为在云平台的各可用区中,目标切片的数据库节点未占用的可用区。
在一些实施例中,可定义第二可用区集合,第二可用区集合包括第二可用区集合包括目标分片未使用的可用区。
电子设备将云平台所拥有的可用区去除第一可用区集合中的元素后,可得到第二可用区集合,第二可用区集合记作N, N={AZn1,AZn2,...}。
例如,云平台所拥有的AZ数量为5,分别为AZ1,AZ2,AZ3,AZ4,AZ5,集合U={AZ1,AZ2,AZ2,AZ2},目标切片为使用的可用区集合N={AZ3,AZ4,AZ5}。
步骤106,将筛选的目标数据库节点部署至未使用的可用区。
在一些实施例中,电子设备在第二可用区集合中随机选择一个可用区作为目标可用区,如可用区AZ3;将目标数据库节点部署至目标可用区。例如,将目标数据库节点的软件以及相关数据文件由迁移至目标可用区中的物理机。
进一步的,电子设备还可在第一可用区集合中,删除目标数据库节点对应的原可用区,将目标可用区加入第一可用区集合,将目标可用区从第二可用区集合中删除。例如,在集合U删除一个原可用区AZ2,将目标可用区AZ3加入第一可用区集合,将目标可用区AZ3从第二可用区集合中删除。
本申请实施例维护第一可用区集合以及第二可用区集合,使得第一可用区集合中包括目标切片各数据库节点分别占用的可用区,第二可用区集合中包括目标切片未占用的可用区,便于后续基于第一可用区集合和第二可用区集合分析目标切片的数据库节点的分布情况。
在将筛选的目标数据库节点部署至未使用的可用区之后,电子设备可重复执行上述步骤102至步骤106,直至目标切片中各数据库节点满足预设的节点均匀分布条件,判定目标切片重新部署完成。
在一些实施例中,在步骤106之后,在目标分片中的数据库节点数量小于或等于所述设置的各可用区数量的情况下,若所述第一可用区集合中不存在重复的可用区,判定所述目标分片完成重新部署;若所述第一可用区集合中存在重复的可用区,判定所述目标分片未完成重新部署,即可重新执行步骤102至步骤106。
在所述目标分片中的数据库节点数量大于所述设置的各可用区数量的情况下,若所述第二可用区集合为空集,判定所述目标分片完成重新部署;若所述第二可用区集合不为空集,判定所述目标分片未完成重新部署,即可重新执行步骤102至步骤106。
示例性的,定义云数据库实例各数据库节点所属可用区组,即第一可用区集合U={AZu},集合U中元素可重复;云平台所拥有可用区去除集合U中元素后,定义未使用剩余可用区组,即第二可用区集合N={AZn},以下结合第一可用区集合和第二可用区集合说明目标分片完成重新部署的过程;其中,u的取值为AZ的序号,n的取值也为AZ的序号,但是u的取值与n的取值不能相同;同时可以可用去集合U和第二可用区集合N内的元素总数量等于目标切片的数据库节点数。
情况1:若目标切片的数据库节点M小于等于可用区数量N,循环查找集合U中可用区,查找顺序AZ1->AZ2->...,直到集合U中AZ查找完成。对每个查找出的可用区,循环判断集合U中该可用区出现的次数,若该可用区在集合U中出现次数大于1,则随机选择一个在该可用区中的目标数据库节点,该可用区可作为原可用区,在该原可用区中删除目标数据库节点,如删除掉数据库文件以及相应的管理软件,然后,随机在集合N中选择一个目标可用区,在目标可用区中添加目标数据库节点,且在集合U中将一个原可用区替换为目标可用区,在集合N中删除目标可用区,直至各可用区在集合U中出现次数等于1。
情况2:若目标切片的数据库节点M大于可用区N,循环查找集合U中AZ,查找顺序AZ1->AZ2->...,直到集合N为空。对每个查找出的AZ,循环判断集合U中该可用区出现的次数,若该可用区在集合U中出现次数大于1,则随机选择一个在该可用区中的目标数据库节点,该可用区可作为原可用区,在该原可用区中删除目标数据库节点,随机在集合N中选择一个目标可用区,在该目标可用区中添加目标数据库节点,且在集合U中将一个原可用区替换为目标可用区,在集合N中删除目标可用区,直至集合N为空。
以下以云平台所拥有的AZ数量为5,分别为AZ1,AZ2,AZ3,AZ4,和AZ5说明上述的情况1和情况2。
基于情况1,目标切片的数据库节点数为4,数据库节点1位于可用区AZ1,数据库节点2,数据库节点3和数据库节点4均位于AZ2,则集合U={AZ1,AZ2,AZ2,AZ2},集合N={AZ3,AZ4,AZ5},AZ1出现次数为1跳过,AZ2出现次数大于1,先在AZ2中删除一个数据库节点,如删除数据库节点3,在集合N中随机选择一个可用区AZ3,在可用区AZ3中新增一个该数据库节点3,此时集合U={AZ1,AZ2,AZ3,AZ2},集合N={AZ4,AZ5};
然后,再次判断出AZ2出现次数仍大于1,再删除一个在AZ2的数据库节点,如删除数据库节点4,在集合N中随机选择一个AZ5,在AZ5中新增数据库节点4,此时集合U={AZ1,AZ2,AZ3,AZ5},集合N={AZ4},再次判断AZ2出现的次数为1跳过,AZ3出现的次数为1跳过,AZ5出现的次数为1跳过,此时集合U中AZ查找结束,集合U中每个可用区出现一次,目标切片重新部署完成。
基于情况2,目标切片的数据库节点数为6,数据库节点1位于AZ1,数据库节点2和数据库节点3均位于AZ2,数据库节点4和数据库节点5均位于AZ3,数据库节点6位于AZ4,则集合U={AZ1,AZ2,AZ2,AZ3,AZ3,AZ4},集合N={AZ5},AZ1出现次数为1跳过,AZ2出现次数大于1,先删除一个在AZ2的数据库节点3,在集合N中随机选择一个AZ5,在AZ5中新增一个数据库节点3,此时集合U={AZ1,AZ2,AZ5,AZ3,AZ3,AZ4},集合N为空,目标切片重新部署完成。
上述目标切片可为分布式云数据库实例中的分片,也可为关系型云数据库实例的分片,由于关系型云数据库实例仅包括一个分片,因此,对目标切片为关系型云数据库实例的切片处理时,可看作重新部署关系型云数据库的数据库节点。
本实施例电子设备能够响应集群巡检请求,从而能自动处理跨多可用区分布的处于异常巡检状态的云数据库实例,减少人为的维护时间,另外,本实施例不再局限于仅在创建云数据库实例时对数据库节点所属可用区进行规划,而是在云平台升级可用区后等多种时机均能部署数据库节点,能够满足云平台各阶段的部署需求,且,在部署过程中,使得切片的数据库节点能够尽量分布到不同可用区,实现云数据库实例跨多可用区的可用性。
基于与上述实施例中的数据库节点部署方法相同的思想,本申请还提供数据库节点部署装置,该装置可用于执行上述数据库节点部署方法。为了便于说明,数据库节点部署装置实施例的结构示意图中,仅仅示出了与本申请实施例相关的部分,本邻域技术人员可以理解,图示结构并不构成对该装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,数据库节点部署装置包括确定模块301、获取模块302、分类模块303、筛选模块304、剔除模块305以及部署模块306。在一些实施例中,上述模块可以为存储于存储器中且可被处理器调用执行的可程序化软件指令。可以理解的是,在其他实施方式中,上述模块也可为固化于处理器中的程序指令或固件(firmware)。
确定模块301,用于在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片;
获取模块302,用于获取所述目标分片中各数据库节点所属的可用区;
分类模块303,用于基于所述各数据库节点所属的可用区,确定属于同一可用区的数据库节点;
筛选模块304,用于在所述属于同一可用区的数据库节点中,筛选出目标数据库节点;
剔除模块305,用于在设置的各可用区中,剔除所述各数据库节点所属的可用区,得到所述目标分片未使用的可用区;
部署模块306,用于将筛选的目标数据库节点部署至所述未使用的可用区。
图4为本申请电子设备一实施例的示意图。
电子设备100包括存储器20、处理器30以及存储在存储器20中并可在处理器30上运行的计算机程序40。处理器30执行计算机程序40时实现上述数据库节点部署方法实施例中的步骤,例如图1所示的步骤101至步骤106。
示例性的,计算机程序40同样可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在存储器20中,并由处理器30执行。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述计算机程序40在电子设备100中的执行过程。例如,可以分割成图3所示的确定模块301、获取模块302、分类模块303、筛选模块304、剔除模块305以及部署模块306。
本领域技术人员可以理解,所述示意图仅仅是电子设备100的示例,并不构成对电子设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备100还可以包括输入输出设备、网络接入设备、总线等。
处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器、单片机或者处理器30也可以是任何常规的处理器等。
存储器20可用于存储计算机程序40和/或模块/单元,处理器30通过运行或执行存储在存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现电子设备100的各种功能。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
电子设备100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
另外,以上对本发明实施例所提供的数据库节点部署方法、装置、电子设备及存储介质进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种数据库节点部署方法,其特征在于,所述方法包括:
在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片;
获取所述目标分片中各数据库节点所属的可用区;
基于所述各数据库节点所属的可用区,确定属于同一可用区的数据库节点;
在所述属于同一可用区的数据库节点中,筛选出目标数据库节点;
在设置的各可用区中,剔除所述各数据库节点所属的可用区,得到所述目标分片未使用的可用区;
将筛选的目标数据库节点部署至所述未使用的可用区;
所述在所述属于同一可用区的数据库节点中,筛选出目标数据库节点,包括:
确定第一可用区集合中出现次数大于一的可用区,所述第一可用区集合包括所述目标分片中各数据库节点所属的可用区;
基于所述目标分片在所述出现次数大于一的可用区中的数据库节点,确定所述目标数据库节点;
所述将筛选的目标数据库节点部署至所述未使用的可用区,包括:
在第二可用区集合中选择一个目标可用区;其中,所述第二可用区集合包括所述目标分片未使用的可用区;
在所述第一可用区集合中,删除所述目标数据库节点对应的原可用区;
将所述目标可用区加入所述第一可用区集合;
将所述目标可用区从所述第二可用区集合中删除;将所述目标数据库节点部署至所述目标可用区。
2.如权利要求1所述的数据库节点部署方法,其特征在于,所述在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片,包括:
检测所述各云数据库实例的分片是否满足预设的节点均匀分布条件;
将不满足预设的节点均匀分布条件的分片作为候选分片,得到候选分片集合;
从所述候选分片集合中,确定目标分片。
3.如权利要求2所述的数据库节点部署方法,其特征在于,所述检测所述各云数据库实例的分片是否满足预设的节点均匀分布条件,包括:
若当前检测到的分片的数据库节点的数量小于或等于设置的各可用区的数量,且所述当前检测到的分片的数据库节点位于不同的可用区,判定所述当前检测到的分片满足所述预设的节点均匀分布条件;
若所述当前检测到的分片的数据库节点的数量大于所述设置的各可用区的数量,且在所述当前检测到的分片的数据库节点中,位于不同的可用区的数据库节点的数量与所述设置的各可用区的数量相等,判定所述当前检测到的分片满足所述预设的节点均匀分布条件。
4.如权利要求2所述的数据库节点部署方法,其特征在于,所述从所述候选分片集合中,确定所述目标分片,包括:
若当前候选分片中的多个数据库节点均属于同一资源告警可用区,将所述当前候选分片确定为所述目标分片。
5.如权利要求1所述的方法,其特征在于,所述将所述目标数据库节点部署至所述目标可用区之后,所述方法还包括:
在所述目标分片中的数据库节点数量小于或等于设置的各可用区数量的情况下,若所述第一可用区集合中不存在重复的可用区,判定所述目标分片完成重新部署;
在所述目标分片中的数据库节点数量大于所述设置的各可用区数量的情况下,若所述第二可用区集合为空集,判定所述目标分片完成重新部署。
6.如权利要求1所述的数据库节点部署方法,其特征在于,所述数据库节点部署方法应用于电子设备,所述在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片,包括:
若接收到集群巡检请求,进行集群巡检,得到集群巡检结果;
响应于集群巡检异常的结果,在各云数据库实例的分片中,确定数据库节点部署存在异常的各分片;
向用户设备发送所述异常的各分片的标识,所述用户设备用于在人机交互界面展示所述异常的各分片的标识,并将用户在所述人机交互界面上选择的目标分片的标识传输至所述电子设备。
7.一种数据库节点部署装置,其特征在于,所述装置包括:
确定模块,用于在各云数据库实例的分片中,确定待重新部署数据库节点的目标分片;
获取模块,用于获取所述目标分片中各数据库节点所属的可用区;
分类模块,用于基于所述各数据库节点所属的可用区,确定属于同一可用区的数据库节点;
筛选模块,用于在所述属于同一可用区的数据库节点中,筛选出目标数据库节点;
剔除模块,用于在设置的各可用区中,剔除所述各数据库节点所属的可用区,得到所述目标分片未使用的可用区;
部署模块,用于将筛选的目标数据库节点部署至所述未使用的可用区;
所述在所述属于同一可用区的数据库节点中,筛选出目标数据库节点,包括:
确定第一可用区集合中出现次数大于一的可用区,所述第一可用区集合包括所述目标分片中各数据库节点所属的可用区;
基于所述目标分片在所述出现次数大于一的可用区中的数据库节点,确定所述目标数据库节点;
所述将筛选的目标数据库节点部署至所述未使用的可用区,包括:
在第二可用区集合中选择一个目标可用区;其中,所述第二可用区集合包括所述目标分片未使用的可用区;
在所述第一可用区集合中,删除所述目标数据库节点对应的原可用区;
将所述目标可用区加入所述第一可用区集合;
将所述目标可用区从所述第二可用区集合中删除;将所述目标数据库节点部署至所述目标可用区。
8.一种电子设备,所述电子设备包括处理器及存储器,其特征在于,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行如权利要求1至权利要求6中任一项所述的数据库节点部署方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至权利要求6中任一项所述的数据库节点部署方法。
CN202310621244.0A 2023-05-30 2023-05-30 数据库节点部署方法、装置、电子设备及存储介质 Active CN116346826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310621244.0A CN116346826B (zh) 2023-05-30 2023-05-30 数据库节点部署方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310621244.0A CN116346826B (zh) 2023-05-30 2023-05-30 数据库节点部署方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116346826A CN116346826A (zh) 2023-06-27
CN116346826B true CN116346826B (zh) 2023-08-04

Family

ID=86879114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310621244.0A Active CN116346826B (zh) 2023-05-30 2023-05-30 数据库节点部署方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116346826B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116471274A (zh) * 2023-06-20 2023-07-21 深圳富联富桂精密工业有限公司 数据库节点部署方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296633B1 (en) * 2016-03-23 2019-05-21 Amazon Technologies, Inc. Data storage management system
CN110851525A (zh) * 2018-07-24 2020-02-28 华为技术有限公司 一种数据分片方法、相关设备及计算机存储介质
CN112434039A (zh) * 2020-11-30 2021-03-02 浙江大华技术股份有限公司 数据的存储方法、装置、存储介质以及电子装置
CN114157663A (zh) * 2021-11-25 2022-03-08 联想(北京)有限公司 一种云数据访问方法及云服务器
US11356120B1 (en) * 2020-09-15 2022-06-07 Amazon Technologies, Inc. Hierarchical erasure coding for multi-region storage
CN115617264A (zh) * 2022-09-21 2023-01-17 浙江大华技术股份有限公司 分布式存储方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9521197B2 (en) * 2012-12-05 2016-12-13 International Business Machines Corporation Utilizing data object storage tracking in a dispersed storage network
US20210397599A1 (en) * 2020-06-18 2021-12-23 Netflix, Inc. Techniques for generating a consistent view of an eventually consistent database

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296633B1 (en) * 2016-03-23 2019-05-21 Amazon Technologies, Inc. Data storage management system
CN110851525A (zh) * 2018-07-24 2020-02-28 华为技术有限公司 一种数据分片方法、相关设备及计算机存储介质
US11356120B1 (en) * 2020-09-15 2022-06-07 Amazon Technologies, Inc. Hierarchical erasure coding for multi-region storage
CN112434039A (zh) * 2020-11-30 2021-03-02 浙江大华技术股份有限公司 数据的存储方法、装置、存储介质以及电子装置
CN114157663A (zh) * 2021-11-25 2022-03-08 联想(北京)有限公司 一种云数据访问方法及云服务器
CN115617264A (zh) * 2022-09-21 2023-01-17 浙江大华技术股份有限公司 分布式存储方法及装置

Also Published As

Publication number Publication date
CN116346826A (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN116346826B (zh) 数据库节点部署方法、装置、电子设备及存储介质
US20080295095A1 (en) Method of monitoring performance of virtual computer and apparatus using the method
CN109525658A (zh) 一种产号方法、服务器、设备、存储介质和业务系统
US20230376359A1 (en) Cross-cluster load balancer
CN111897558A (zh) 容器集群管理系统Kubernetes升级方法和装置
CN111343219B (zh) 计算服务云平台
CN111143039A (zh) 一种虚拟机的调度方法、装置及计算机存储介质
CN114168464A (zh) 一种基于动态调度的分布式模糊测试方法及系统
CN113126925B (zh) 一种成员列表确定方法、装置、设备及可读存储介质
CN113094224B (zh) 服务器资产管理方法、装置、计算机设备和存储介质
CN117093465A (zh) 服务器日志收集方法、装置、通信设备及存储介质
CN113810216A (zh) 一种集群的故障切换方法、装置及电子设备
CN116471274A (zh) 数据库节点部署方法、装置、电子设备及存储介质
CN108776611B (zh) 一种基于云管理平台的云主机管理方法及装置
CN114443057B (zh) 对话模型的部署和对话方法、装置、电子设备及存储介质
CN115185459A (zh) 应用云计算的分布式存储集群迁移系统及方法、存储介质
CN111198766B (zh) 数据库访问操作部署方法、数据库访问方法及装置
CN114564210A (zh) 一种副本部署方法、装置、系统、电子设备及存储介质
KR20140073405A (ko) 가상 시스템의 시스템 리소스 관리 방법
CN114020214A (zh) 存储集群的扩容方法、装置、电子设备及可读存储介质
CN112395269A (zh) MySQL高可用组的搭建方法及装置
CN112817987A (zh) 访问分布式存储集群的方法及装置、设备、存储介质
CN112083892A (zh) 一种数据存储方法、装置、设备和介质
US20070124343A1 (en) Method or apparatus for processing data in a system management application program
US20200241904A1 (en) Systems and methods to manage workload domains with heterogeneous hardware specifications

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