CN117573436A - 一种备份方法、装置、设备及存储介质 - Google Patents

一种备份方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117573436A
CN117573436A CN202311597746.0A CN202311597746A CN117573436A CN 117573436 A CN117573436 A CN 117573436A CN 202311597746 A CN202311597746 A CN 202311597746A CN 117573436 A CN117573436 A CN 117573436A
Authority
CN
China
Prior art keywords
node
backup
data block
backed
data
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
CN202311597746.0A
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202311597746.0A priority Critical patent/CN117573436A/zh
Publication of CN117573436A publication Critical patent/CN117573436A/zh
Pending legal-status Critical Current

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/1448Management of the data involved in backup or backup restore
    • 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/1461Backup scheduling policy
    • 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
    • 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

Landscapes

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

Abstract

本发明公开了一种备份方法、装置、设备及存储介质。该方法包括:获取待备份数据块对应的数据块热度和待备份数据块大小;通过管理节点获取各备份节点的节点信息;根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载;根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号;根据待备份数据块对应的备份节点编号生成备份指令;将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份,通过本发明的技术方案,能够提升备份效率。

Description

一种备份方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种备份方法、装置、设备及存储介质。
背景技术
当前互联网技术已经进入大数据时代,所述大数据之“大”,一方面指的是数据量的规模庞大,现有的行业数据动辄就可以达到TB甚至PB级,并且数据量仍在逐年上涨中;另一方面,大数据包括了各种各样不同类型的数据,数据之间物理含义、数据结构各异,分析处理时问题复杂。
分布式数据库的主要作用是承载大数据的存储和管理功能,为上层大数据应用提供底层支撑,因此,分布式数据库的安全性极其重要,而数据备份是保证分布式数据库安全的基础,完整的备份和有效的恢复手段是应对一切突发状况的重要保障,同时数据备份也对数据的重新利用,发挥数据更大价值,有着重大的作用。
衡量分布式数据库中数据备份方案优劣的一个重要指标是数据备份与恢复的速度,好的数据备份方案应当具有低延时、快响应的优点。此外,数据备份方案应当占用较少的存储资源,从而降低整个分布式存储系统的负载。以上的衡量指标都对分布式数据库中数据备份的方案的设计提出了更高的要求。
现有技术中的分布式数据库数据备份方案,一般是基于主从模式,即一个主数据库主节点与多个数据库从节点之间组成一个网络,由备份工具采用全量更新或增量更新的方式,将主节点中的数据完整地备份到从节点上。
但是,这种传统的数据备份方式会造成数据库系统的负载较高,一个主节点往往需要多个备份节点备份其全量数据;并且备份数据时并未考虑节点间的数据传输效率,也未考虑备份数据的热度,导致热数据的数据备份速度慢、数据库系统负载不均衡。
发明内容
本发明实施例提供一种备份方法、装置、设备及存储介质,能够提升备份效率。
根据本发明的一方面,提供了一种备份方法,包括:
获取待备份数据块对应的数据块热度和待备份数据块大小;
通过管理节点获取各备份节点的节点信息;
根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载;
根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号;
根据待备份数据块对应的备份节点编号生成备份指令;
将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份。
根据本发明的另一方面,提供了一种备份装置,该备份装置包括:
第一获取模块,用于获取待备份数据块对应的数据块热度和待备份数据块大小;
节点信息获取模块,用于通过管理节点获取各备份节点的节点信息;
计算模块,用于根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载;
待备份数据块对应的备份节点编号确定模块,用于根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号;
备份指令生成模块,用于根据待备份数据块对应的备份节点编号生成备份指令;
备份指令发送模块,用于将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的备份方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的备份方法。
本发明实施例通过获取待备份数据块对应的数据块热度和待备份数据块大小;通过管理节点获取各备份节点的节点信息;根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载;根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号;根据待备份数据块对应的备份节点编号生成备份指令;将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份,能够提升备份效率,合理均衡分布式数据库系统的整体负载。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例中的一种备份方法的流程图;
图2是本发明实施例中的分布式数据库集群的结构示意图;
图3是本发明实施例中的一种备份装置的结构示意图;
图4是本发明实施例中的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
实施例一
图1为本发明实施例提供的一种备份方法的流程图,本实施例可适用于备份的情况,该方法可以由本发明实施例中的备份装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:
S110,获取待备份数据块对应的数据块热度和待备份数据块大小。
需要说明的是,本发明实施例提出的备份方法运行与一个包括多个数据库节点与备份节点的分布式数据库集群内,所述分布式数据库集群包括:至少两个数据库节点、至少两个备份节点以及管理节点,所述数据库节点分别与所述备份节点和所述管理节点相连,所述管理节点和备份节点相连,本发明实施例提供的备份方法由数据库节点执行。
在一个具体的例子中,如图2所示,分布式数据库集群中包括N个数据库节点与M个备份节点,N与M均为大于1的整数,且一般情况下,M的数量少于N;以及一个管理节点,用于存储和管理数据库节点及备份节点的节点信息、各个节点的停止、运行备份等;N个数据库节点与M个备份节点、管理节点之间通过互联网或局域网相连接。
其中,数据块热度一般用于描述一段时间内数据被访问的频繁程度。
具体的,获取待备份数据块对应的数据块热度和待备份数据块大小的方式可以为:获取当前数据库节点的节点信息,其中,当前数据库节点的节点信息包括:数据库节点中各数据块内数据的访问次数和各数据块大小。根据库节点中各数据块大小和各数据块携带标识确定待备份数据块大小;根据待备份数据块内数据的访问次数和待备份数据块大小确定待备份数据块对应的数据块热度。
S120,通过管理节点获取各备份节点的节点信息。
其中,备份节点的节点信息包括:节点编号、IP地址、节点容量、空闲容量以及GeoHash值中的至少一种,节点编号:数据库系统中的主键,可以根据系统节点数量设置固定位数的编号,如10001。IP地址:数据库节点或备份节点的网络地址,可以为内网和/或互联网地址。节点容量:数据库节点或备份节点的总的存储容量。空闲容量:数据库节点或备份节点的剩余的空闲存储容量,根据空闲容量与节点容量的比值,可以计算出节点的存储负载。GeoHash:基于数据库节点或备份节点的地理位置信息(如GPS信息)计算得到,GeoHash值的位数不同代表了不同的位置精度,一般可以采用位数长度为5-8之间的数值。
具体的,通过管理节点获取各备份节点的节点信息的方式可以为:数据库节点向管理节点发送备份节点信息获取指令,管理节点向数据库节点发送各备份节点的节点信息,数据库节点接收管理节点发送的各备份节点的节点信息。
S130,根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载。
其中,各备份节点与当前数据库节点之间的节点距离,可以采用拓扑距离或地理位置距离来表示,其中,在分布式数据库集群中,当需要处理海量数据时,数据库节点之间的数据传输能力,即带宽,就成为了最明显的限制因素,拓扑距离可以较好反映数据库节点之间的带宽水平,其计算方式为:拓扑距离=网络中两个节点到达最近的共同祖先的距离总和。地理位置距离可以根据GeoHash值计算,地理位置距离=位数-相同的Geohash数值位数。
其中,节点负载的计算方式可以为根据备份节点的空闲容量与该节点的节点容量的比值,计算出该节点的存储负载,可以用于负载均衡控制。
具体的,根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载的方式可以为:根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离,根据各备份节点的节点信息确定各备份节点的节点负载。
S140,根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号。
具体的,根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号的方式可以为:根据待备份数据块对应的数据块热度和各备份节点与当前数据库节点之间的节点距离确定待备份数据块对应的备份节点编号;根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号的方式还可以为:根据待备份数据块对应的数据块热度和待备份数据块大小与各备份节点与当前数据库节点之间的节点距离确定待备份数据块对应的备份节点编号。根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号的方式还可以为根据待备份数据块对应的数据块热度和各备份节点与各备份节点的节点负载确定待备份数据块对应的备份节点编号。根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号的方式还可以为:根据待备份数据块对应的数据块热度、待备份数据块大小、各备份节点的节点负载确定待备份数据块对应的备份节点编号。根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号的方式还可以为:根据待备份数据块对应的数据块热度和待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载确定待备份数据块对应的备份节点编号。
S150,根据待备份数据块对应的备份节点编号生成备份指令。
其中,所述备份指令携带待备份数据块对应的备份节点编号。
其中,所述备份指令包括:每个备份数据块对应的备份指令。
具体的,根据待备份数据块对应的备份节点编号生成备份指令的方式可以为:数据库节点针对每个待备份数据块对应的备份节点编号生成对应的备份指令。例如可以是,数据库节点针对待备份数据块A的备份节点编号生成备份指令X,数据库节点针对待备份数据块B的备份节点编号生成备份指令Y。
S160,将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份。
具体的,将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份的方式可以为:备份节点对备份指令进行校验,判断是否接收备份指令,如果确定接收该备份指令,则向管理节点发送确定接收信号;管理节点在接收到确定接收信号后,综合考虑备份节点的负载、当前分布式数据库集群的网络带宽水平,调度该备份节点在合适的时间启动数据备份任务,并在备份节点完成数据备份任务后,指示分布式数据库集群中的数据库节点更新备份节点表和数据热度表中的数据。
可选的,数据库节点的节点信息包括:数据库节点中各数据块内数据的访问次数和各数据块大小;
获取待备份数据块对应的数据块热度和待备份数据块大小,包括:
根据当前数据库节点中各数据块大小确定待备份数据块大小;
根据待备份数据块内数据的访问次数和待备份数据块大小确定待备份数据块对应的数据块热度。
具体的,根据当前数据库节点中各数据块大小确定待备份数据块大小的方式可以为:根据当前数据库节点中各数据块携带的标识信息确定待备份数据块,根据当前数据库节点中各数据块大小确定待备份数据块大小。例如可以是,当前数据库节点包括:数据块A的大小为S1、数据块B的大小为S2、数据块C(待备份数据块)的大小为S3以及数据块D的大小为S4。则确定待备份数据块大小为S3。
具体的,根据待备份数据块内数据的访问次数和待备份数据块大小确定待备份数据块对应的数据块热度的方式可以为:统计单位时间内(例如,一小时/一天/一周/一月)数据块内所有数据的访问次数,除以数据块大小(即1GB的倍数),作为数据块热度的数值。
可选的,通过管理节点获取各备份节点的节点信息,包括:
向管理节点发送备份节点信息获取指令;
接收管理节点发送的各备份节点的节点信息,其中,所述备份节点的节点信息包括:节点编号、节点IP地址、节点容量、节点空闲容量以及节点GeoHash值。
需要说明的是,数据库节点向管理节点发送备份节点信息获取指令,管理节点根据备份节点信息获取指令查询得到各备份节点的节点信息,管理节点将各备份节点的节点信息发送至数据库节点,数据库节点接收管理节点发送的各备份节点的节点信息。
可选的,根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载,包括:
根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离,其中,数据库节点的节点信息还包括:节点编号、节点IP地址、节点容量、节点空闲容量、节点GeoHash值以及数据库节点中的各数据块的数据块编号;
根据各备份节点的节点信息确定各备份节点的节点负载。
需要说明的是,备份节点与当前数据库节点间的距离,可以采用拓扑距离或地理位置距离来表示,其中,拓扑距离可以根据计算机网络中两个节点到达最近的共同祖先的距离总和来计算,地理位置距离可以根据GeoHash值计算,地理位置距离=位数-相同的Geohash数值位数,例如当采用了6位位数的GeoHash值时,节点1的GeoHash值为wx4eqw,节点2的GeoHash值为wx4eut,则相同的Geohash数值(wx4e)位数位4,则距离=6(位数)-4(相同的Geohash数值)=2。
具体的,根据各备份节点的节点信息确定各备份节点的节点负载的方式可以为:根据备份节点的空闲容量与该节点的节点容量的比值,计算出该节点的存储负载,可以用于负载均衡控制。
可选的,根据待备份数据块对应的数据块热度、各备份节点与当前数据库节点之间的节点距离以及各备份节点的节点负载确定待备份数据块对应的备份节点编号,包括:
将与当前数据库节点之间的节点距离最近的备份节点对应的节点编号确定为数据块热度最高的待备份数据块对应的备份节点编号;
将除与当前数据库节点之间的节点距离最近的备份节点以外节点负载最小的备份节点对应的节点编号确定为除数据块热度最高的待备份数据块之外的其余待备份数据块对应的备份节点编号。
在一个具体的例子中,若当前数据库节点的各备份节点分别为备份节点G1、备份节点G2以及备份节点G3,当前数据库节点对应的待备份数据块包括:待备份数据块A、待备份数据块B以及待备份数据块C,备份节点G1与当前数据库节点之间的距离<备份节点G2与当前数据库节点之间的距离<备份节点G3与当前数据库节点之间的距离,备份节点G2的节点负载<备份节点G1的节点负载<备份节点G3的节点负载。待备份数据块A的数据块热度<待备份数据块B的数据块热度<待备份数据块C的数据块热度,则将G1确定为待备份数据块C对应的备份节点编号。将G2确定为待备份数据块A和待备份数据块B对应的备份节点编号。
本发明实施例在选择备份节点时,考虑了数据库节点与备份节点间的数据传输速度,提出了使用节点间距离衡量数据传输速度的标准,在对备份数据进行备份时,进一步考虑了备份数据的数据热度,将具有较高数据热度的数据备份至节点距离最近的备份节点上,这样明显提升了数据备份的效率,也提高了高速备份节点的资源利用效率。
本发明实施例在数据备份时,将热度较低的数据备份至负载较小的备份节点,可以在保证热数据恢复速度的同时,合理利用冷数据的数据量大、对数据恢复速度要求低的热点,实现了分布式数据库整体上的负载均衡。
可选的,根据待备份数据块对应的数据块热度、待备份数据块大小、各备份节点与当前数据库节点之间的节点距离以及各备份节点的节点负载确定待备份数据块对应的备份节点编号,包括:
将与当前数据库节点之间的节点距离最近的备份节点对应的节点编号确定为数据块热度最高的待备份数据块对应的备份节点编号;
将除与当前数据库节点之间的节点距离最近的备份节点以外节点负载最小的备份节点对应的节点编号确定为除数据块热度最高的待备份数据块之外的其余待备份数据块中最大的待备份数据块对应的备份节点编号;
将除节点负载最小的备份节点以外与当前数据库节点之间的节点距离次近的备份节点对应的节点编号确定为除数据块热度最高的待备份数据块和最大的待备份数据块之外的其余待备份数据块对应的备份节点编号。
可选的,根据待备份数据块大小和各备份节点与当前数据库节点之间的节点距离确定待备份数据块对应的备份节点编号,包括:
将与当前数据库节点之间的节点距离最近的备份节点对应的节点编号确定为数据块最大的待备份数据块对应的备份节点编号;
将与当前数据库节点之间的节点距离次近的备份节点对应的节点编号确定为除数据块最大的待备份数据块之外的其余待备份数据块对应的备份节点编号。
可选的,根据待备份数据块大小和各备份节点的节点负载确定待备份数据块对应的备份节点编号,包括:
将节点负载最小的备份节点对应的节点编号确定为数据块最大的待备份数据块对应的备份节点编号;
将除节点负载最小的备份节点以外,节点负载最小的备份节点对应的节点编号确定为除数据块最大的待备份数据块之外的其余待备份数据块对应的备份节点编号。
可选的,根据待备份数据块对应的数据块热度和各备份节点与当前数据库节点之间的节点距离确定待备份数据块对应的备份节点编号,包括:
将与当前数据库节点之间的节点距离最近的备份节点对应的节点编号确定为数据块热度最高的待备份数据块对应的备份节点编号;
将与当前数据库节点之间的节点距离次近的备份节点对应的节点编号确定为除数据块热度最高的待备份数据块之外的其余待备份数据块对应的备份节点编号。
在一个具体的例子中,本发明实施提供的备份方法具体执行过程描述如下:
S1,数据库节点获取分布式数据库集群内各个备份节点的节点信息,生成备份节点表;
其中,每一个数据库节点会生成并维护1份备份节点表,该备份节点表中包括了当前分布式数据库系统中所有备份节点的信息。
其中,备份节点表包括:节点编号、节点距离、空闲容量以及节点负载。
其中,节点编号与节点信息中的节点编号相同,用于标识单个备份节点。
节点距离:备份节点与当前数据库节点间的距离,可以采用拓扑距离或地理位置距离来表示,其中,拓扑距离可以根据计算机网络中两个节点到达最近的共同祖先的距离总和来计算,地理位置距离可以根据GeoHash值计算,地理位置距离=位数-相同的Geohash数值位数,例如当采用了6位位数的GeoHash值时,节点1的GeoHash值为wx4eqw,节点2的GeoHash值为wx4eut,则相同的Geohash数值(wx4e)位数位4,则距离=6(位数)-4(相同的Geohash数值)=2。
空闲容量:备份节点的剩余的空闲存储容量,用于判断备份节点是否足够存储待备份数据。
节点负载:根据备份节点的空闲容量与该节点的节点容量的比值,计算出该节点的存储负载,可以用于负载均衡控制。
S1可以包括以下子步骤:
S11,数据库节点向管理节点查询各备份节点的节点信息;
S12,计算各备份节点与当前数据库节点之间的节点距离;
S13,计算各备份节点的节点负载;
S14,生成备份节点表。
例如,数据库节点A所生成的备份节点表如表1所示:
表1
节点编号 节点距离 空闲容量 节点负载
10010 0 1000GB 75%
10011 4 2000GB 50%
10012 1 800GB 80%
其中,节点10010距离数据库节点A距离最近,节点10011距离数据库节点最远。因此,在进行数据备份时,为了保证数据传输速度,在不考虑系统负载均衡地情况下,应当优先将数据备份至节点10010,其次是节点10012,最次是10011。
在实际应用中,根据分布式数据库集群的一般特点,多个数据库节点的节点距离较近的备份节点往往集中在一个或几个备份节点上,如果仅考虑节点距离选择备份节点,可能会导致某几个备份节点超负载运行。
S2,计算待备份数据的数据热度,生成数据热度表;
每一个数据库节点会生成并维护1份数据热度表,其中,数据热度表包括:数据块编号、数据块大小、数据块热度以及节点编号。
数据块编号:用于标识当前数据库节点中的数据块。
数据块大小:数据块的数据大小,表明数据块所需的存储空间,数据块的大小可以为固定值,也可以为不固定值,一般为1GB的整数倍。
数据块热度:数据块内多条数据(如文件、视频、记录)的总的数据热度。
节点编号:节点编号与节点信息中的节点编号相同,用于标识单个备份节点,此处节点编号是根据数据块热度匹配到的对应的备份节点的节点编号。
S2可以包括以下子步骤:
S21,获取待备份数据的数据块编号;
S22,计算待备份数据块的数据块热度;
数据块热度的计算方式为:统计单位时间内(例如,一小时/一天/一周/一月)数据块内所有数据的访问次数,除以数据块大小(即1GB的倍数),作为数据块热度的数值。
S24,将节点编号初始值设置为空,生成数据热度表。
例如,数据库节点A所生成的数据热度表如表2所示:
表2
其中,数据块20002的数据块热度最高,其次是数据块20001和数据块20003。
在实际研究中发现,在分布式数据库集群所存储的海量数据中,访问热度往往集中在少量数据上,冷数据的数据量要明显高于热数据。
S3,根据待备份数据,确定待备份数据的对应的备份节点。
具体的,该步骤根据待备份数据的数据块热度,在备份节点表中匹配对应的备份节点;
由于具有较高热度的数据在数据恢复时,对于恢复速度的要求更高,因此,将热数据存储至节点距离最近的备份节点上,后续数据库节点需要恢复该热数据时,相比于备份在节点距离较远的备份节点上的数据,热数据能够更快地恢复至数据库节点上。
同时,针对冷数据的数据量一般明显高于热数据且对数据恢复的速度要求低的特点,可以将数据热度较低的数据块存储至系统内负载较低的备份节点上,从而实现整体的负载均衡。
因此,匹配的规则可以是:按照数据热度表中数据块的数据块热度进行排序,将前K(K为正整数)个数据块的节点编号设置为节点距离最近的备份节点的节点编号,其余数据块的节点编号设置为当前时间节点负载最小的H(H为正整数)个备份节点的节点编号。
例如,数据库节点A所生成的数据热度表如表3所示:
表3
其中,数据块20002的数据块热度最高,则从备份节点表中选择节点距离最近的节点10010作为备份节点;其余数据块则选择负载最小的备份节点10011作为备份节点。
进一步的,还可以根据需要考虑待备份数据块的数据块大小与备份节点空闲容量的大小。
S4,生成一个或多个数据备份请求,向备份节点发送数据备份请求。
数据库节点针对每个待备份的数据块,生成对应的数据备份请求,备份节点对数据备份请求进行校验,判断是否接收数据备份请求,如果确定接收该数据备份请求,则向管理节点发送确定接收信号;
管理节点在接收到确定接收信号后,综合考虑备份节点的负载、当前分布式数据库系统的网络带宽水平,调度该备份节点在合适的时间启动数据备份任务,并在备份节点完成数据备份任务后,指示分布式数据库系统中的数据库节点更新备份节点表和数据热度表中的数据。
此外,备份节点表和数据热度表也可以由每一个数据库节点维护并周期性地更新,例如,数据库节点每天或每周或每月更新备份节点表和数据热度表中的数据。
本实施例的技术方案,通过获取待备份数据块对应的数据块热度和待备份数据块大小;通过管理节点获取各备份节点的节点信息;根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载;根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号;根据待备份数据块对应的备份节点编号生成备份指令;将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份,能够提升备份效率,合理均衡分布式数据库系统的整体负载。
实施例二
图3为本发明实施例提供的一种备份装置的结构示意图。本实施例可适用于备份的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供备份功能的设备中,如图3所示,所述备份装置具体包括:第一获取模块310、节点信息获取模块320、计算模块330、待备份数据块对应的备份节点编号确定模块340、备份指令生成模块350和备份指令发送模块360。
其中,第一获取模块,用于获取待备份数据块对应的数据块热度和待备份数据块大小;
节点信息获取模块,用于通过管理节点获取各备份节点的节点信息;
计算模块,用于根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载;
待备份数据块对应的备份节点编号确定模块,用于根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号;
备份指令生成模块,用于根据待备份数据块对应的备份节点编号生成备份指令;
备份指令发送模块,用于将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例三
图4示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如备份方法。
在一些实施例中,备份方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的备份方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行备份方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种备份方法,其特征在于,应用于分布式数据库集群,所述分布式数据库集群包括:至少两个数据库节点、至少两个备份节点以及管理节点,所述数据库节点分别与所述备份节点和所述管理节点相连,所述管理节点和备份节点相连,所述备份方法由数据库节点执行,所述备份方法包括:
获取待备份数据块对应的数据块热度和待备份数据块大小;
通过管理节点获取各备份节点的节点信息;
根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载;
根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号;
根据待备份数据块对应的备份节点编号生成备份指令;
将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份。
2.根据权利要求1所述的方法,其特征在于,数据库节点的节点信息包括:数据库节点中各数据块内数据的访问次数和各数据块大小;
获取待备份数据块对应的数据块热度和待备份数据块大小,包括:
根据当前数据库节点中各数据块大小确定待备份数据块大小;
根据待备份数据块内数据的访问次数和待备份数据块大小确定待备份数据块对应的数据块热度。
3.根据权利要求1所述的方法,其特征在于,通过管理节点获取各备份节点的节点信息,包括:
向管理节点发送备份节点信息获取指令;
接收管理节点发送的各备份节点的节点信息,其中,所述备份节点的节点信息包括:节点编号、节点IP地址、节点容量、节点空闲容量以及节点GeoHash值。
4.根据权利要求2所述的方法,其特征在于,根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载,包括:
根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离,其中,数据库节点的节点信息还包括:节点编号、节点IP地址、节点容量、节点空闲容量、节点GeoHash值以及数据库节点中的各数据块的数据块编号;
根据各备份节点的节点信息确定各备份节点的节点负载。
5.根据权利要求1所述的方法,其特征在于,根据待备份数据块对应的数据块热度、各备份节点与当前数据库节点之间的节点距离以及各备份节点的节点负载确定待备份数据块对应的备份节点编号,包括:
将与当前数据库节点之间的节点距离最近的备份节点对应的节点编号确定为数据块热度最高的待备份数据块对应的备份节点编号;
将除与当前数据库节点之间的节点距离最近的备份节点以外节点负载最小的备份节点对应的节点编号确定为除数据块热度最高的待备份数据块之外的其余待备份数据块对应的备份节点编号。
6.根据权利要求1所述的方法,其特征在于,根据待备份数据块对应的数据块热度、待备份数据块大小、各备份节点与当前数据库节点之间的节点距离以及各备份节点的节点负载确定待备份数据块对应的备份节点编号,包括:
将与当前数据库节点之间的节点距离最近的备份节点对应的节点编号确定为数据块热度最高的待备份数据块对应的备份节点编号;
将除与当前数据库节点之间的节点距离最近的备份节点以外节点负载最小的备份节点对应的节点编号确定为除数据块热度最高的待备份数据块之外的其余待备份数据块中最大的待备份数据块对应的备份节点编号;
将除节点负载最小的备份节点以外与当前数据库节点之间的节点距离次近的备份节点对应的节点编号确定为除数据块热度最高的待备份数据块和最大的待备份数据块之外的其余待备份数据块对应的备份节点编号。
7.根据权利要求1所述的方法,其特征在于,根据待备份数据块对应的数据块热度和各备份节点与当前数据库节点之间的节点距离确定待备份数据块对应的备份节点编号,包括:
将与当前数据库节点之间的节点距离最近的备份节点对应的节点编号确定为数据块热度最高的待备份数据块对应的备份节点编号;
将与当前数据库节点之间的节点距离次近的备份节点对应的节点编号确定为除数据块热度最高的待备份数据块之外的其余待备份数据块对应的备份节点编号。
8.一种备份装置,其特征在于,所述备份装置部署在数据库节点中,所述备份装置包括:
第一获取模块,用于获取待备份数据块对应的数据块热度和待备份数据块大小;
节点信息获取模块,用于通过管理节点获取各备份节点的节点信息;
计算模块,用于根据各备份节点的节点信息和当前数据库节点的节点信息计算得到各备份节点与当前数据库节点之间的节点距离和各备份节点的节点负载;
待备份数据块对应的备份节点编号确定模块,用于根据待备份数据块对应的数据块热度和/或待备份数据块大小,与各备份节点与当前数据库节点之间的节点距离和/或各备份节点的节点负载确定待备份数据块对应的备份节点编号;
备份指令生成模块,用于根据待备份数据块对应的备份节点编号生成备份指令;
备份指令发送模块,用于将备份指令发送至对应的备份节点,以使备份节点基于备份指令对待备份数据块进行备份。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的备份方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的备份方法。
CN202311597746.0A 2023-11-27 2023-11-27 一种备份方法、装置、设备及存储介质 Pending CN117573436A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311597746.0A CN117573436A (zh) 2023-11-27 2023-11-27 一种备份方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311597746.0A CN117573436A (zh) 2023-11-27 2023-11-27 一种备份方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117573436A true CN117573436A (zh) 2024-02-20

Family

ID=89889739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311597746.0A Pending CN117573436A (zh) 2023-11-27 2023-11-27 一种备份方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117573436A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118113526A (zh) * 2024-04-02 2024-05-31 深圳市爱瑞古德科技有限公司 提高数据中心容灾能力的分布式数据存储规划方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118113526A (zh) * 2024-04-02 2024-05-31 深圳市爱瑞古德科技有限公司 提高数据中心容灾能力的分布式数据存储规划方法及系统

Similar Documents

Publication Publication Date Title
CN109783237B (zh) 一种资源配置方法及装置
CN112860695B (zh) 监控数据查询方法、装置、设备、存储介质及程序产品
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
CN117573436A (zh) 一种备份方法、装置、设备及存储介质
JP2022137281A (ja) データ照会方法、装置、電子デバイス、記憶媒体、及びプログラム
CN115729687A (zh) 任务调度方法、装置、计算机设备、存储介质
CN115604269A (zh) 一种服务器的负载均衡方法、装置、电子设备及存储介质
CN115190010A (zh) 基于软件服务依赖关系的分布推荐方法和装置
CN116578646A (zh) 一种时序数据同步方法、装置、设备及存储介质
CN115438007A (zh) 一种文件合并方法、装置、电子设备及介质
CN115617549A (zh) 线程解耦方法、装置、电子设备及存储介质
CN115454344A (zh) 一种数据存储方法、装置、电子设备及存储介质
JP2012038053A (ja) 計算機システム、及び、移動データ決定方法
CN115438056A (zh) 一种数据获取方法、装置、设备以及存储介质
CN114706890A (zh) 一种数据的多级查询方法、装置、电子设备及存储介质
CN115442432B (zh) 一种控制方法、装置、设备及存储介质
CN113992760B (zh) 回源流量的调度方法、装置、设备以及存储介质
CN111538716B (zh) 一种跨系统维护数据库的方法及相关装置
CN113791904B (zh) 用于处理查询输入的方法、装置、设备和可读存储介质
CN115563103A (zh) 一种多维度聚合方法、系统、电子设备及存储介质
CN117667935A (zh) 一种数据处理方法、装置、设备及介质
CN115510140A (zh) 一种数据抽取方法、装置、设备及存储介质
CN117041182A (zh) 分布式组件的主服务器节点选择方法、装置、设备及介质
CN115186032A (zh) 数据库的扩容方法、装置、电子设备及存储介质
CN117194498A (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