CN114297002A - 一种基于对象存储的海量数据备份方法及系统 - Google Patents
一种基于对象存储的海量数据备份方法及系统 Download PDFInfo
- Publication number
- CN114297002A CN114297002A CN202111658681.7A CN202111658681A CN114297002A CN 114297002 A CN114297002 A CN 114297002A CN 202111658681 A CN202111658681 A CN 202111658681A CN 114297002 A CN114297002 A CN 114297002A
- Authority
- CN
- China
- Prior art keywords
- backup
- strategy
- subtask
- object storage
- objects
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000003860 storage Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 claims abstract description 9
- 238000012544 monitoring process Methods 0.000 claims description 23
- 238000004519 manufacturing process Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 238000011084 recovery Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种基于对象存储的海量数据备份方法及系统,属于数据备份技术领域,包括以下步骤:步骤1、计算服务器承载的最大进程数N;步骤2、创建备份进程并生成与其相对应的备份策略;步骤3、将步骤2中的备份策略拆分若干备份子任务,并创建备份子任务相对应的子任务进程;步骤4、子任务进程执行与其对应的备份策略,将对象存储中的数据备份至后端存储服务器;步骤5、备份任务完成后,释放子任务进程和备份进程资源。该基于对象存储的海量数据备份方法及系统,有效的提高每个子任务进程整体并发性能,有效地促进了整体上多进程架构的性能及扩展性需求,实现子任务进程间的通信数据同步,原生保证了对多机分布式环境的扩展支持。
Description
技术领域
本发明属于数据备份技术领域,具体涉及基于对象存储的海量数据备份方法及系统。
背景技术
在较长一段时间内,DAS、SAN、NAS三种存储架构被广泛应用,其中,DAS和SAN是基于物理块的存储方式,NAS是基于文件的存储方式;但随着数据量爆炸增长,非结构化数据的占比显著增加,三种架构无法有效应对。对象存储作为一项云存储服务,得到了广泛的应用。
对象存储(Object-based Storage),是一种新的网络存储架构,是一个基于对象的海量存储,呈现出来的是一个“桶”(bucket),可以往“桶”里面放对象(Object);对象存储的对象实际上就是文件的数据和一组属性信息的组合,对象存储多适合存储非结构化数据。
随着非结构化数据的海量增加,对象存储应用越来越广泛,对存储对象的备份方案也提出了更高的要求,提高备份效率,减少数据丢失的风险;
针对对象存储的海量数据备份的性能优化,目前主要通过对整个备份任务采用遍历、读、写多并发的方式来提高备份性能,业务整体上由一条通道完成,此架构存在扩展瓶颈:线程模型导致无法满足多机环境的横向扩展;单通道模型无法充分利用系统资源,以及后端存储的多链路写优势得不到充分发挥,备份速度缓慢。
发明内容
本发明的目的在于提供一种基于对象存储的海量数据备份方法及系统,以解决整体策略任务下发后备份恢复速度缓慢的问题。
为实现上述目的,本发明提供如下技术方案:一种基于对象存储的海量数据备份方法,包括以下步骤:
步骤1、计算服务器承载的最大进程数N;
步骤2、创建备份进程并生成与其相对应的备份策略;
步骤3、将步骤2中的备份策略拆分若干备份子任务,并创建备份子任务相对应的子任务进程;
步骤4、子任务进程执行与其对应的备份策略,将对象存储中的数据备份至后端存储服务器;
步骤5、备份任务完成后,释放子任务进程和备份进程资源。
优选的,步骤2中,所述创建备份进程的方法包括遍历统计备份对象,若对象数量超过阈值,则将备份对象合并成一个集合,作为一个子任务对象集合策略,备份策略的拆分是根据备份源的目录层级决定,目录层级数即为拆分点个数,根据拆分点进行策略拆分,遍历统计备份源对象个数;
优选的,所述子任务包括遍历线程、读线程、写线程并发执行并通过cache缓存交互。
优选的,所述历线程、读线程、写线程通过状态器同步通信数据。
优选的,所述子任务进程执行过程中,将当前备份进度发送给状态器,并保持子任务间的通信数据同步,子进程备份的数据以存储数据对象的形式存放在后端服务器中,所述后端服务器中索引库记录备份数据的元数据信息,所述数据信息包括文件名、大小、数据偏移,根据索引库中记录,即可读写存储中数据;子任务进程是根据拆分的逻辑子策略创建,创建的最大个数则根据计算出的服务器所能承受的最大任务进程数N决定,超过N,则通过阻塞队列排队等待;
优选的,步骤1中,所述最大进程数N的获取方法如下,包括,
如果任务是IO密集型:最大进程数N=2NCPU;
如果任务是计算密集型:最大进程数N=NCPU;
其中,NCPU表示服务器CPU核心数。
优选的,所述备份策略执行时,遍历备份源下的对象并进行合并,开启监控进程,监测是否有对象合并。
优选的,所述备份子任务包括生产解析的策略备份,监控作业进程状态,调度所述策略拆分模块解析的策略对象,统计/jeny-bucket/test/对象数量,并将对象合并成多个大对象集合,若监测到大对象集合,则拆分成多个子任务。
优选的,所述生产解析的策略备份时创建相应的子任务进程,执行子备份任务。
本发明另提供一种基于对象存储的海量数据备份方法的系统,包括:
最大进程计算模块,用于计算服务器承受的进程数量;
统计模块,用于遍历计算对象存储桶中对象数量,若对象数量超过阈值,则合并成一个对象集合;
监控进程模块,用于监测对象合并状态,若监测到生成新合并,则创建子任务进程;
调度系统模块,包括:
策略拆分模块,用于策略的生产解析;
作业调度模块,用于调度所述策略拆分模块解析的策略对象;
作业监控模块,用于监控作业进程状态;
状态器,用于保持Conductor、策略拆分模块、作业调度模块、作业监控模块之间通信数据同步。
本发明的技术效果和优点:该基于对象存储的海量数据备份方法及系统,通过拆分点,将备份整体策略拆分成若干子任务进程,多个子任务进程并发执行,提高整体备份作业速度;
拆分备份整体策略通过底层的逻辑实现,应用层面还是保证了整体策略的完整性,达到了备份速度的提升,而且不会影响对整体策略的运维;
每个子任务进程又包含遍历进程、读进程、写进程三个线程并发执行,三个线程之间通过cache缓存交互,有效的提高每个子任务进程整体并发性能,从而更加有效地促进了整体上多进程架构的性能及扩展性需求;
通过状态器实现子任务进程间的通信数据同步,原生保证了对多机分布式环境的扩展支持。
附图说明
图1为本发明的方法流程图;
图2为本发明系统架构图;
图3为本发明实施例的系统架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了如图1中所示的一种基于对象存储的海量数据备份方法,
包括以下步骤:
步骤1、计算当前服务器承载的最大进程数N;根据当前服务器的性能参数,计算当前服务器所能承载的最大任务进程数N;本实施例中,生产环境上安装代理服务,备份任务是将对象存储中的海量数据备份至后端服务器存储;代理服务器上通过开启最大任务进程计算,计算得到当前服务器所能承载的最大任务进程数;
服务器的最大进程数是根据服务器的性能指标计算的,跟服务器的CPU和I/O有关,IO密集型= 2NCPU;计算密集型= NCPU,其中NCPU表示服务器CPU核心数,本实施例中,计算得到当前服务器的最大任务进程数为5;
步骤2、根据备份任务,在生产代理机上,创建备份进程并生成与其相对应的备份策略;同时开启统计进程,监控进程,本实施例中,备份任务1,备份源是/jeny-bucket/test/,在备份策略下发的同时,开启统计进程,遍历备份源下的对象并进行合并,开启监控进程,监测是否有对象合并;
步骤3、将步骤2中的备份策略拆分若干备份子任务,并创建备份子任务相对应的子任务进程;本实施例中,备份子任务为多个备份逻辑子策略,主进程中的调度系统模块会开启三个线程,PolicyAnalyze、JobMonitor、JobSchedule。这里/jeny-bucket/test/下有2000个对象,统计进程会将这2000个对象合并成2个大对象集合,监控进程监测到2个对象集合,此时会通知主进程例如,PolicyAnalyze线程进行任务拆分,拆分成2个子任务;
如图3所示,步骤4、子任务进程执行与其对应的备份策略,将对象存储中的数据备份至后端存储服务器;本实施例中,备份任务1被拆分成了2个子任务策略,备份任务1-1,备份任务1-2,主进程中的JobSchedule线程会创建相应的子任务进程,执行子备份任务;备份任务1-1中,由遍历、读、写三个线程并发执行,通过cache缓存交互,有效的提高整体并发性能,并充分提升每个子任务进程整体并发性能,子任务进程执行过程中,会将当前备份进度情况,例如已完成备份数据的进度百分比,文件个数,目录个数等汇报给状态器,保持子任务间的通信数据同步,各子进程备份的数据是独立的,每个进程生成的数据会以存储数据对象的形式存放在后端服务器中;后端服务器中索引库记录了备份数据的元数据信息,例如文件名、大小、数据偏移,根据索引库中记录,即可读写存储中数据;
步骤5、备份任务完成后,释放子任务进程和备份进程资源,本实施例中,备份任务1-1进程结束,回收资源,备份任务1-2进程结束,回收资源,。整个备份任务主线程结束,回收备份任务1资源;
本发明通过计算服务器的最大任务进程数,控制子任务进程的执行个数,提高备份效率;同时通过统计进程,对桶对象进行合并,这样保证每个进程备份的数据均衡,减少倾斜度;在总的备份任务中,设有一个总调度器,控制PolicyAnalyze, JobMonitor,JobSchedule三个模块,三个模块通过一个状态器保持通信数据同步,整个调度在逻辑上保持原子性,不耦合具体的备份或恢复逻辑,方便多机分布式集群模式的扩展。
本发明另提供如图2所示一种基于对象存储的海量数据备份方法的系统,包括:
最大进程计算模块,用于计算服务器承受的进程数量;依据服务器的性能参数计算当前服务器所能承受的最大进程个数;
统计模块,用于遍历计算对象存储桶中对象数量,若对象数量超过阈值,则合并成一个对象集合;本实施例中,阈值为1000;
监控进程模块,用于监测对象合并状态,若监测到生成新合并,则创建子任务进程;
调度系统模块,包括:
策略拆分模块,用于策略的生产解析;本实施例中为PolicyAnalyze;
作业调度模块,用于调度所述策略拆分模块解析的策略对象;本实施例中为JobSchedule;
作业监控模块,用于监控作业进程状态;本实施例中为JobMonitor,给调度系统进行整体备份恢复任务的调度控制;
状态器,用于保持Conductor、策略拆分模块、作业调度模块、作业监控模块之间通信数据同步。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于对象存储的海量数据备份方法,其特征在于:包括以下步骤:
步骤1、计算服务器承载的最大进程数N;
步骤2、创建备份进程并生成与其相对应的备份策略;
步骤3、将步骤2中的备份策略拆分若干备份子任务,并创建备份子任务相对应的子任务进程;
步骤4、子任务进程执行与其对应的备份策略,将对象存储中的数据备份至后端存储服务器;
步骤5、备份任务完成后,释放子任务进程和备份进程资源。
2.根据权利要求1所述的一种基于对象存储的海量数据备份方法,其特征在于:步骤2中,所述创建备份进程的方法包括遍历统计备份对象,若对象数量超过阈值,则将备份对象合并成一个集合,作为一个子任务对象集合策略。
3.根据权利要求2所述的一种基于对象存储的海量数据备份方法,其特征在于:所述子任务包括遍历线程、读线程、写线程并发执行并通过cache缓存交互。
4.根据权利要求3所述的一种基于对象存储的海量数据备份方法,其特征在于:所述历线程、读线程、写线程通过状态器同步通信数据。
5.根据权利要求4所述的一种基于对象存储的海量数据备份方法,其特征在于:所述子任务进程执行过程中,将当前备份进度发送给状态器,并保持子任务间的通信数据同步,子进程备份的数据以存储数据对象的形式存放在后端服务器中,所述后端服务器中索引库记录备份数据的元数据信息,所述数据信息包括文件名、大小、数据偏移,根据索引库中记录,即可读写存储中数据。
6.根据权利要求1所述的一种基于对象存储的海量数据备份方法,其特征在于:步骤1中,所述最大进程数N的获取方法如下,包括,
如果任务是IO密集型:最大进程数N=2NCPU;
如果任务是计算密集型:最大进程数N=NCPU;
其中,NCPU表示服务器CPU核心数。
7.根据权利要求1所述的一种基于对象存储的海量数据备份方法,其特征在于:所述备份策略执行时,遍历备份源下的对象并进行合并,开启监控进程,监测是否有对象合并。
8.根据权利要求1所述的一种基于对象存储的海量数据备份方法,其特征在于:所述备份子任务包括生产解析的策略备份,监控作业进程状态,调度所述策略拆分模块解析的策略对象,统计/jeny-bucket/test/对象数量,并将对象合并成多个大对象集合,若监测到大对象集合,则拆分成多个子任务。
9.根据权利要求8所述的一种基于对象存储的海量数据备份方法,其特征在于:所述生产解析的策略备份时创建相应的子任务进程,执行子备份任务。
10.执行权利要求1-9中任意一项所述的基于对象存储的海量数据备份方法的系统,其特征在于:包括:
最大进程计算模块,用于计算服务器承受的进程数量;
统计模块,用于遍历计算对象存储桶中对象数量,若对象数量超过阈值,则合并成一个对象集合;
监控进程模块,用于监测对象合并状态,若监测到生成新合并,则创建子任务进程;
调度系统模块,包括:
策略拆分模块,用于策略的生产解析;
作业调度模块,用于调度所述策略拆分模块解析的策略对象;
作业监控模块,用于监控作业进程状态;
状态器,用于保持Conductor、策略拆分模块、作业调度模块、作业监控模块之间通信数据同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111658681.7A CN114297002A (zh) | 2021-12-30 | 2021-12-30 | 一种基于对象存储的海量数据备份方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111658681.7A CN114297002A (zh) | 2021-12-30 | 2021-12-30 | 一种基于对象存储的海量数据备份方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297002A true CN114297002A (zh) | 2022-04-08 |
Family
ID=80974075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111658681.7A Pending CN114297002A (zh) | 2021-12-30 | 2021-12-30 | 一种基于对象存储的海量数据备份方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297002A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114247A (zh) * | 2022-05-30 | 2022-09-27 | 中银金融科技有限公司 | 文件数据处理方法及装置 |
CN116700094A (zh) * | 2023-06-21 | 2023-09-05 | 哈尔滨博尼智能技术有限公司 | 一种数据驱动控制系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040047207A (ko) * | 2002-11-29 | 2004-06-05 | (주)소프트위드솔루션 | 과부하 조절 기능을 갖는 데이터 백업 시스템 및 이를이용한 데이터 백업 방법 |
CN109144783A (zh) * | 2018-08-22 | 2019-01-04 | 南京壹进制信息技术股份有限公司 | 一种分布式海量非结构化数据备份方法及系统 |
CN113127694A (zh) * | 2019-12-31 | 2021-07-16 | 深圳云天励飞技术有限公司 | 一种数据存储方法、装置、电子设备及存储介质 |
CN113419842A (zh) * | 2021-08-25 | 2021-09-21 | 北京翼辉信息技术有限公司 | 一种基于JavaScript构建边缘计算微服务的方法、装置 |
CN113467996A (zh) * | 2021-07-08 | 2021-10-01 | 咪咕音乐有限公司 | 数据库备份方法、装置、计算机设备及存储介质 |
-
2021
- 2021-12-30 CN CN202111658681.7A patent/CN114297002A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040047207A (ko) * | 2002-11-29 | 2004-06-05 | (주)소프트위드솔루션 | 과부하 조절 기능을 갖는 데이터 백업 시스템 및 이를이용한 데이터 백업 방법 |
CN109144783A (zh) * | 2018-08-22 | 2019-01-04 | 南京壹进制信息技术股份有限公司 | 一种分布式海量非结构化数据备份方法及系统 |
CN113127694A (zh) * | 2019-12-31 | 2021-07-16 | 深圳云天励飞技术有限公司 | 一种数据存储方法、装置、电子设备及存储介质 |
CN113467996A (zh) * | 2021-07-08 | 2021-10-01 | 咪咕音乐有限公司 | 数据库备份方法、装置、计算机设备及存储介质 |
CN113419842A (zh) * | 2021-08-25 | 2021-09-21 | 北京翼辉信息技术有限公司 | 一种基于JavaScript构建边缘计算微服务的方法、装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114247A (zh) * | 2022-05-30 | 2022-09-27 | 中银金融科技有限公司 | 文件数据处理方法及装置 |
CN116700094A (zh) * | 2023-06-21 | 2023-09-05 | 哈尔滨博尼智能技术有限公司 | 一种数据驱动控制系统 |
CN116700094B (zh) * | 2023-06-21 | 2024-03-01 | 哈尔滨博尼智能技术有限公司 | 一种数据驱动控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yan et al. | Tr-spark: Transient computing for big data analytics | |
Ren et al. | Workload characterization on a production hadoop cluster: A case study on taobao | |
US7979399B2 (en) | Database journaling in a multi-node environment | |
CN114297002A (zh) | 一种基于对象存储的海量数据备份方法及系统 | |
CN105871603B (zh) | 一种基于内存数据网格的实时流式数据处理失效恢复系统及方法 | |
WO2016025924A1 (en) | Systems and methods for auto-scaling a big data system | |
US9135262B2 (en) | Systems and methods for parallel batch processing of write transactions | |
CN107665219B (zh) | 一种日志管理方法及装置 | |
Wang et al. | Improving mapreduce performance with partial speculative execution | |
CN111858626B (zh) | 一种基于并行执行的数据同步的方法和装置 | |
CN112637263B (zh) | 一种多数据中心资源优化提升方法、系统和存储介质 | |
CN110874271A (zh) | 一种海量建筑图斑特征快速计算方法及系统 | |
CN116302574B (zh) | 一种基于MapReduce的并发处理方法 | |
CN111930716A (zh) | 一种数据库扩容方法、装置及系统 | |
CN110083306A (zh) | 一种分布式对象存储系统及存储方法 | |
Liu et al. | Optimizing shuffle in wide-area data analytics | |
CN112015765B (zh) | 基于缓存价值的Spark缓存淘汰方法及系统 | |
CN115587118A (zh) | 任务数据的维表关联处理方法及装置、电子设备 | |
Yang et al. | Improving Spark performance with MPTE in heterogeneous environments | |
CN115083538A (zh) | 一种药物数据的处理系统、运行方法及数据处理方法 | |
CN111506407B (zh) | Pull模式与Push模式相结合的资源管理与作业调度方法、系统 | |
CN113901141B (zh) | 一种分布式数据同步方法及系统 | |
US20200226060A1 (en) | In-place garbage collection of a sharded, replicated distributed state machine based on mergeable operations | |
CN114840343A (zh) | 基于分布式系统的任务调度方法及系统 | |
Seibold et al. | Efficient deployment of main-memory DBMS in virtualized data centers |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Building 1, 6th Floor, Changfeng Building, No.14 Xinghuo Road, Research and Innovation Park, Jiangbei New District, Nanjing City, Jiangsu Province, 210000 Applicant after: Aerospace One System (Jiangsu) Information Technology Co.,Ltd. Address before: 210000 floor 3, building B, building C, building 5, Baixia high tech Industrial Park, No. 5, Yongzhi Road, Qinhuai District, Nanjing, Jiangsu Province Applicant before: NANJING UNARY INFORMATION TECHNOLOGY Co.,Ltd. |