System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据库,尤其是涉及一种大规模分布式并行数据库集群系统在线备份方法。
技术介绍
1、在大规模分布式并行数据库集群系统中,为了实现数据库备份数据的一致性,需要在备份过程中确保备份目标保持在备份结束前维持不改变的状态。现有集群实例级备份需要在备份前设置集群锁,确保整个集群的数据在备份完成前保持不变,直至备份完成后再释放集群锁;库级备份需要设置库级锁,表级备份需要设置表级锁。通过加锁,保障了备份数据是备份时间点上的一份快照数据,实现了备份数据的一致性。但是,因为设置的锁是只读锁,导致在备份的过程中,业务系统使用数据库集群仅能读取数据,无法进行表结构变更,无法向表中新增数据或者更改数据,也无法删除数据,影响业务系统对客户提供业务功能,甚至导致业务系统在整改备份期间无法对外提供服务。而对于大规模分布式并行数据库集群系统,备份操作所需时间更长,备份要求业务系统提供备份作业时间窗口,在窗口期内业务系统停止对外提供业务服务,或者仅提供有限的业务功能,这会使需要24小时持续对外提供服务能力的业务系统造成了非常大的影响。此外,随着客户业务的发展,大规模分布式并行数据库集群系统中存储的数据量越来越大,要求的备份作业时间窗口越来越长,业务系统在数据备份期间不能够对外提供服务的时间越来越长,甚至达到几个小时,导致客户被迫放弃了使用大规模分布式并行数据库集群系。
技术实现思路
1、有鉴于此,本专利技术旨在提出一种大规模分布式并行数据库集群系统在线备份方法,以实现大规模数据库备份的高效率和对业务系统
2、为达到上述目的,本专利技术的技术方案是这样实现的:
3、一种大规模分布式并行数据库集群系统在线备份方法。
4、进一步的,数据库集群系统接收在线备份请求后执行在线备份操作,在线备份方法包括以下步骤:
5、t1、设置备份标签:为数据库系统加锁,在锁闭期间对每个备份对象设置标签,所有备份对象设置完标签后释放锁;
6、t2、数据备份:根据对应的标签信息对所有备份对象依次执行元数据备份和表数据备份操作,备份完成后无效化该标签;若在备份过程中有包含备份对象的数据更新请求则转到t3,直到所有备份对象完成备份后转到t4;
7、t3、更新数据及保留备份点:判断该备份对象标签是否有效,若有效则临时保留当前版本数据后进行数据更新,并将当前版本数据作为备份版本,若无效则直接进行数据更新,回到t2;
8、t4、清除备份标签和临时数据:删除所有备份对象上的标签,删除t3中所有临时保留的版本数据。
9、进一步的,在所述t1为数据库系统加锁时,按照请求中备份颗粒度申请对应级别的锁,包括库级锁、表级锁、集群级锁,以对数据库系统加上锁。
10、进一步的,所述t1中备份标签内容包括备份id、有效性、备份时间、备份对象当前的版本号。
11、进一步的,所述t2中元数据备份操作包括以下步骤:
12、s1、读取备份对象标签中的版本号,备份该版本元数据内容;
13、s2、设置该备份对象标签为无效;
14、s3、返回到s1对下一个备份对象进行元数据备份,备份期间若有包含备份对象的元数据更新请求则转到s4,否则直到备份完所有对象转到s5;
15、s4、判断该备份对象标签是否有效,若有效则临时保留当前版本元数据后进行数据更新,并将当前版本元数据作为备份版本,若无效则直接进行数据更新,回到s3;
16、s5、结束元数据备份操作。
17、进一步的,所述t2中表数据备份操作包括以下步骤:
18、a1、获取每张表的数据条数,并按由小到大对表进行排序以生成表数据备份计划;
19、a2、读取备份对象标签中的版本号,备份该版本表数据内容后,设置该备份对象标签为无效;
20、a3、返回到a2对下一个备份对象进行表数据备份,备份期间若有包含备份对象的表数据更新请求则转到a4,否则直到备份完所有对象转到a5;
21、a4、判断该备份对象标签是否有效,若有效则临时保留当前版本表数据后进行数据更新,并将当前版本表数据作为备份版本,若无效则直接进行数据更新,回到a3;
22、a5、结束表数据备份操作。
23、进一步的,所述t2中元数据备份和表数据备份操作为并行操作。
24、进一步的,所述a1中,表数据备份计划包括优先备份数据条数少的表。
25、进一步的,一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行所述的一种大规模分布式并行数据库集群系统在线备份方法。
26、进一步的,一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行所述的一种大规模分布式并行数据库集群系统在线备份方法。
27、进一步的,一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述的一种大规模分布式并行数据库集群系统在线备份方法。
28、相对于现有技术,本专利技术所述的在线备份方法具有以下有益效果:
29、(1)本专利技术所述的在线备份方法,通过备份标签和备份点保留机制将备份操作和数据更新操作隔离为两个独立的处理过程,解决了数据库备份在执行备份过程中长时间阻塞使用数据库的业务系统的写操作,导致业务系统无法对外提供服务问题,使得数据库在线备份过程中的业务操作具有极高的连贯性,确保业务系统持续对用户提供服务;
30、(2)本专利技术所述的在线备份方法,为数据库系统加锁会使得业务系统使用数据库时仅能处理只读业务,但是,设置标签是一个轻量级的操作,在秒级内即可完成,对业务系统的影响微乎其微,而后续的几个处理阶段,数据库的备份作业在无锁的情况下执行,对业务系统使用数据库完全没有影响,实现大规模数据库备份的高效率和对业务系统的无感知。
本文档来自技高网...【技术保护点】
1.一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:数据库集群系统接收在线备份请求后执行在线备份操作,在线备份方法包括以下步骤:
2.根据权利要求1所述的一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:在所述T1为数据库系统加锁时,按照请求中备份颗粒度申请对应级别的锁,包括库级锁、表级锁、集群级锁,以对数据库系统加上锁。
3.根据权利要求1所述的一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:所述T1中备份标签内容包括备份ID、有效性、备份时间、备份对象当前的版本号。
4.根据权利要求3所述的一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:所述T2中元数据备份操作包括以下步骤:
5.根据权利要求3所述的一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:所述T2中表数据备份操作包括以下步骤:
6.根据权利要求1所述的一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:所述T2中元数据备份和表数据备份操作为并行操作。
7.根据权利要求5所述的一种大
8.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1-7任一所述的一种大规模分布式并行数据库集群系统在线备份方法。
9.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-7任一所述的一种大规模分布式并行数据库集群系统在线备份方法。
10.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述的一种大规模分布式并行数据库集群系统在线备份方法。
...【技术特征摘要】
1.一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:数据库集群系统接收在线备份请求后执行在线备份操作,在线备份方法包括以下步骤:
2.根据权利要求1所述的一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:在所述t1为数据库系统加锁时,按照请求中备份颗粒度申请对应级别的锁,包括库级锁、表级锁、集群级锁,以对数据库系统加上锁。
3.根据权利要求1所述的一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:所述t1中备份标签内容包括备份id、有效性、备份时间、备份对象当前的版本号。
4.根据权利要求3所述的一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:所述t2中元数据备份操作包括以下步骤:
5.根据权利要求3所述的一种大规模分布式并行数据库集群系统在线备份方法,其特征在于:所述t2中表数据备份操作包括以下步骤:
6.根据权利要求1所述的一种大规模分布式并行数据库集群系统在线备份...
【专利技术属性】
技术研发人员:王洪越,
申请(专利权)人:天津南大通用数据技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。