本发明涉及数据存储领域,尤其涉及一种基于块存储的数据存储与备份恢复系统。
背景技术:
1、块存储作为一项成熟的数据存储解决方案,以高度精细化的“数据块”为基本单位,赋予用户存储资源的操控能力,每个区块象征着一段不间断的硬盘容量。云硬盘则是针对虚拟机精心设计的虚拟化块存储服务,通过按需配置预定存储空间,它不仅实现了成本效益的最大化,还确保了服务的高度可靠性和近乎无限的扩展潜力。
2、随着信息技术的突飞猛进,企业和个人对数据资源的依赖不断加深,数据的安全性与即时可用性已经成为不可忽视的核心议题。在此背景下,高效能的数据备份机制与迅速的数据恢复技术,成为了确保业务连续性与维护数据安全的生命线。然而,传统的备份方法常受限于恢复速度缓慢及资源消耗过大的弊端,在应对突发事件时,能够实现秒级恢复的解决方案显得尤为关键,凸显了现代备份技术革新升级的迫切需求。
3、在信息技术的迅猛发展浪潮中,企业和个人对数据的依赖与日俱增,数据的安全性和即时可访问性已成为关乎业务存亡的核心要素。因此,构建高效的数据备份机制与快速恢复能力,成为了维护数据安全、确保业务连续性的关键。传统备份技术因恢复速度缓慢、资源消耗大等局限,在应对紧急状况时显得力不从心,促使业界迫切需求能够实现秒级恢复的现代备份技术革。
技术实现思路
1、为了解决以上技术问题,本发明提供了一种基于块存储的数据存储与备份恢复系统,通过整合块存储的灵活性与云技术的优势,构建了一个可扩展、高可靠、易于管理的数据保护体系,特别适合于对数据安全及业务连续性有严格要求的各类组织和个人用户,为数字化时代的数据管理提供了强有力的支持。
2、本发明的技术方案是:
3、一种基于块存储的数据存储与备份恢复系统,其特征在于,包括:
4、a)一个调度模块,负责接收备份指令、智能调度备份任务、处理恢复指令、实施恢复操作调度,以及维持与备份执行模块和存储模块之间的心跳检测;
5、b)至少一个备份执行模块,用于接收并执行备份及恢复任务,包括数据的精密提取、安全传输和备份记录管理;
6、c)一组分布于备份集群各存储节点上的存储模块,专注于数据的保管与解析,确保备份数据的完整性和安全性;
7、d)其中,各模块间通过一种基于tcp协议的定制通信协议进行高效通信,该协议定义了组件注册请求、心跳检测请求与响应、创建快照请求及其响应、创建备份请求与响应、获取元数据请求与响应,以及恢复请求与响应等一系列报文类型,以实现系统内各组件的协同作业。
8、进一步的,
9、所述调度模块进一步包括自动故障检测与恢复机制,能够在检测到任一组件异常时,自动重新调度任务,确保服务连续性。
10、所述备份执行模块采用多线程分段处理技术,根据数据块大小动态调整处理策略,以优化备份效率,并支持增量数据识别与重复数据删除,减少存储占用。
11、所述存储模块能够根据存储节点配置自适应标识其提供的备份性能等级,包括但不限于标准型和高性能型,以实现按需分配存储资源。
12、采用了一种基于io多路复用技术的通信框架,特别是netty框架,以单线程高效管理多个tcp连接,优化系统资源利用,特别是在备份与恢复任务处理中的并发性能。
13、再进一步的,
14、提供一种详尽的备份恢复流程,涵盖组件初始化、备份任务创建与执行、恢复任务执行以及块存储使用的全过程管理,确保数据保护与业务连续性的高度自动化与智能化。
15、其中,
16、各组件的启动:首要是在管理节点上配置并启动调度模块及备份执行模块,随后,需在每个备份集群的存储节点上配置并启动存储模块,形成一个分布式的数据守护网络;首先应当运行调度模块,紧接着备份执行模块及存储模块相继启动,在这个过程中,通过协议中的regist指令向调度模块报告自身的ip地址及组件身份,存储模块在进行注册时,根据存储节点的不同配置清晰标识自身所提供的备份性能等级,是标准型或高性能高性能型;同时调度模块会周期性向所有已注册的组件下发heart_check_request消息,以此检验各组件的运行状态,若在规定时间内未接收到相应的heart_check_response,将自动识别该组件为离线状态,并从活跃组件清单中移除。
17、创建备份任务:当调度模块接收到备份请求时,立即向备份执行模块下发create_snapshot_request命令;备份执行模块接到消息后,在生产集群对应块存储中创建临时快照以保证对应时刻的数据,确保备份数据的一致性;创建成功后返回create_snapshot_response消息给调度模块确认创建完成;调度模块接收到消息后根据存储需求选举对应性能的存储模块,并向备份执行模块下发create_backup_request命令,报文体中封装带有创建成功的快照信息及选举到的存储模块信息;备份执行模块接收到消息后开始执行备份,并返回create_backup_response消息给调度模块。
18、备份任务执行:备份执行模块首先使用创建成功的快照创建一个临时卷,并将临时卷挂载到自身上;采用多线程的方式分段从卷上读取数据,依据数据块的规模划分处理任务:若块大小超过100g则以100g为处理单元,每个线程处理100g/x字节的数据,当100g全部处理完成后再处理下一段数据;若数据块小于100g则每个线程处理块大小/10/x字节的数据;在对数据处理的过程中,备份执行模块需要向存储模块下发get_metadata_request指令,旨在获取卷的最近一次元数据记录;存储模块接收到消息后,返回get_metadata_response携带所需消息;备份执行模块获取到消息后,将读取的数据判断是否为增量数据,若为增量数据则计算数据的md5值并与重删数据库的指纹值做对比;当数据处理完成之后,向存储模块下发create_backup_request命令,报文中不仅封装了待备份数据,还包括备份索引地址,存储模块将数据落盘成功后返回create_backup_response;当所有数据都落盘完成后,回收临时卷和快照并更新备份状态成功。
19、备份索引地址中对于经过重复数据删除处理的数据,则仅记录其索引位置。
20、恢复任务执行:调度模块根据备份信息向存储模块下发restore_request指令,存储模块在接到消息之后首先创建一个逻辑上的块存储,然后遍历从该备份到其根备份即备份链上的全量备份的元数据记录,将逻辑块上的每一块数据均翻译为根据元数据记录对应的存储节点指定的数据索引位置;在所有块均翻译完成后返回调度模块restore_response并更新块映射的存储节点location信息,从生产集群转为备份集群;同时,存储模块异步进行数据同步工作,通过创建若干次快照并不间断的进行快照差异数据块比对的方式不断将差异数据写入原生产集群的对应位置,当差异数据为空时,数据同步完成,向调度模块再次上报restore_response消息更新块映射的存储节点location信息,从备份集群转为生产集群。
21、块存储使用:当虚机在进行挂载时,调度模块根据块映射的存储节点location信息将块存储设备映射到虚机上;若该块存储已经处于已挂载的状态,在schedule接到更新块映射location信息的时候还需要执行swap操作将虚机上的存储信息更新为新的location的块信息。
22、采用io多路复用技术,允许单个线程同时监控并处理若干个tcp连接;备份执行模块及存储模块的child线程池被限制为仅包含一个线程。
23、本发明的有益效果是
24、a.增强的数据安全与恢复能力:高效能的备份机制结合秒级恢复技术,确保在面对系统故障或灾难事件时,数据可以迅速恢复,减少业务中断时间,提升服务可靠性和客户满意度。
25、b.智能化与自动化运维调度:调度模块(schedule组件)实现了备份与恢复流程的智能化调度,减轻了人工干预负担,提高了运维效率。
26、c.高度可扩展性与灵活性:备份执行模块(backup组件)和存储模块(storage组件)设计为可横向扩展,能够轻松适应数据量的快速增长,满足未来扩展需求。