一种磁盘大容量数据同步过程中的数据缓存方法及系统 技术领域 本发明涉及磁盘数据缓存领域, 特别涉及一种磁盘数据同步过程中的数据缓存方 法及系统。
背景技术 在数据管理系统中, 数据块存放是使用频度最高的操作, 因为磁盘数据任何数据 块发生变化, 就会将磁盘数据块存放到备份区。但磁盘数据变化瞬间会产生很多数据块变 化, 此时备份区将存放很多数据块, 从而可能导致备份区不能及时备份到所有数据块的变 化。为了拦截有效数据块变化, 在磁盘数据同步过程可采用数据缓存技术。
在磁盘数据同步过程中采用的数据缓存技术涉及到变化数据块记录, 而传统变化 数据块记录是指, 变化了一段数据块, 就将该数据块存入缓存区, 然后将指向该数据块的指 针保留在数据块队列中进行管理。而系统长时间运行时, 数据管理系统中的缓存区域会很 快到达指定缓存区最大值, 使得系统可靠性和完整性得不到保障, 系统就不那么稳定。
由上可知, 如何运用数据缓存来保存有效数据块变化, 是当前数据管理系统所需 要创新的技术。
发明内容 本发明所要解决的技术问题是, 提供一种磁盘大容量数据同步过程中的数据缓存 方法及系统, 能够及时缓存有效数据块。
为了解决上述问题, 本发明公开了一种数据缓存系统, 包括 :
数据块索引模块, 将磁盘数据划分为多个数据块, 并根据所划分的数据块的位置 为各数据块分配唯一的块索引 ;
数据块比对模块, 判断当前变化的数据块的块索引是否处于已经同步的数据块的 块索引范围内, 若当前变化的数据块的块索引处于已经同步的数据块的块索引范围内, 则 确定当前变化的数据块为有效变化的数据块 ;
数据缓存模块, 以磁盘数据块信息方式缓存所述数据块比对模块确定的有效变化 的数据块。
较佳地, 上述系统还包括数据缓存过滤模块 ;
所述数据块比对模块, 在判断当前变化的数据块的块索引处于已经同步的数据块 的块索引范围之外时, 确定当前变化的数据块为无效变化的数据块 ;
所述数据缓存过滤模块, 在所述数据比对模块确定当前变化的数据块为有效变化 的数据块时, 调用所述数据缓存模块缓存所述有效变化的数据块, 在所述数据比对模块确 定当前变化的数据块为无效变化的数据块时, 去除所确定的无效变化的数据块。
较佳地, 上述系统中, 所述数据缓存模块, 缓存所述有效变化的数据块的块索引指 针, 并提供数据块查询、 删除和添加操作。
较佳地, 上述系统中, 所述数据缓存过滤模块, 在所述数据比对模块确定当前变化
的数据块为有效变化的数据块时, 还将所述有效变化的数据块发送到备份服务器端, 并在 所述备份服务器端备份所述有效变化的数据块后, 调用所述数据缓存模块清除该有效变化 的数据块。
本发明还公开了一种磁盘大容量数据同步过程中的数据缓存方法, 包括 :
将磁盘数据划分为多个数据块, 并根据所划分的数据块的位置为各数据块分配唯 一的块索引 ;
在磁盘数据同步过程中, 判断当前变化的数据块的块索引是否处于已经同步的数 据块的块索引范围内, 若当前变化的数据块的块索引处于已经同步的数据块的块索引范围 内, 则确定当前变化的数据块为有效变化的数据块, 以磁盘数据块信息方式缓存所确定的 有效变化的数据块。
较佳地, 上述方法还包括 :
若当前变化的数据块的块索引处于已经同步的数据块的块索引范围之外时, 确定 当前变化的数据块为无效变化的数据块, 去除所确定的无效变化的数据块。
较佳地, 上述方法中, 以磁盘数据块信息方式缓存所确定的有效变化的数据块 指: 缓存所述有效变化的数据块的块索引指针, 并提供数据块查询、 删除和添加操作。
较佳地, 上述方法还包括 :
在确定当前变化的数据块为有效变化的数据块时, 还将所述有效变化的数据块发 送到备份服务器端, 并在所述备份服务器端备份所述有效变化的数据块后, 消除该有效变 化的数据块。
本发明技术方案记录有效变化的数据块, 去除同步过程中无效变化的数据块, 从 而能够及时缓存有效变化的数据块以及发送有效变化的数据块到备份服务器。这样, 当磁 盘上大数据量变化时, 就可以在有效数据不流失的基础上, 提高数据管理系统中数据保护 的效率, 提高数据保护的可靠性, 保证数据完整性。
附图说明
图 1 为本实施例中数据缓存系统结构示意图 ;
图 2 为本实施例中磁盘大容量数据同步过程中数据缓存流程图。 具体实施方式
为了使本申请的目的、 技术方案和优点更加清楚明白, 下面结合附图对本发明技 术方案作进一步详细说明。 需要说明的是, 在不冲突的情况下, 本申请的实施例和实施例中 的特征可以任意相互组合。
目前, 在磁盘大容量数据同步过程中, 数据块发生多次变化, 将造成数据块变化记 录的数据池不断增大, 导致保护数据不能及时更新到备用服务器。 因此, 为了解决数据块保 存空间不断增长, 申请人提出, 在大容量数据同步过程中只记录有效变化的数据块, 即将有 效变化的数据块保存到数据缓存区域即可。
实施例 1
本实施例基于上述思想, 提供一种数据缓存系统, 其结构如图 1 所示, 包括如下各模块。 数据块块索引模块, 将磁盘数据划分为多个数据块, 并根据所划分的数据块的位 置为各数据块分配唯一的块索引。
具体地, 数据块块索引模块将磁盘上的数据块分成若干数据块的接口, 并对每一 个数据块产生唯一可识别索引标示。
数据块比对模块, 判断当前变化的数据块块索引是否处于已经同步的数据块块索 引范围内, 若当前变化的数据块块索引处于已经同步的数据块块索引范围内, 则确定该数 据块为有效变化的数据块。
数据缓存模块, 以磁盘数据块信息方式缓存数据块比对模块确定的有效变化的数 据块。
具体地, 数据缓存模块是缓存有效变化的数据块的块索引指针, 并提供数据块查 询、 删除和添加操作。
还有一些方案中, 数据块比对模块, 在判断当前变化的数据块的块索引处于已经 同步的数据块的块索引范围之外时, 则确定当前变化的数据块为无效变化的数据块。此时 增加一个数据缓存过滤模块, 该模块在数据比对模块确定当前变化的数据块为有效变化的 数据块时, 调用数据缓存模块缓存有效变化的数据块, 在数据比对模块确定当前变化的数 据块为无效变化的数据块时, 则去除所确定的无效变化的数据块。
还有优选方案中, 数据缓存过滤模块, 在数据比对模块确定当前变化的数据块为 有效变化的数据块时, 还将有效变化的数据块发送到备份服务器端, 并在备份服务器端备 份有效变化的数据块后, 调用数据缓存模块清除该有效变化的数据块。
实施例 2
本实施例介绍一种在磁盘大容量数据同步过程中进行数据缓存的方法。
首先将磁盘数据划分为多个数据块, 并根据所划分的数据块的位置为各数据块分 配唯一的块索引, 之后在磁盘数据同步过程中, 判断当前变化的数据块的块索引是否处于 已经同步的数据块的块索引范围内, 若当前变化的数据块的块索引处于已经同步的数据块 的块索引范围内, 则确定当前变化的数据块为有效变化的数据块, 以磁盘数据块信息方式 缓存所确定的有效变化的数据块。
其中, 若当前变化的数据块的块索引处于已经同步的数据块的块索引范围之外 时, 确定当前变化的数据块为无效变化的数据块, 去除所确定的无效变化的数据块。
而以磁盘数据块信息方式缓存所确定的有效变化的数据块指 :
缓存所述有效变化的数据块的块索引指针, 并提供数据块查询、 删除和添加操作。
还有一些方案中, 在确定当前变化的数据块为有效变化的数据块时, 还将有效变 化的数据块发送到备份服务器端, 并在备份服务器端备份有效变化的数据块后, 消除该有 效变化的数据块。
下面结合具体应用详细说明上述数据缓存的方法。即以实施例 1 所提供的系统的 工作过程为例说明。具体地, 该数据缓存过程如图 2 所示, 包括如下步骤 :
步骤 1, 当磁盘数据块变化时, 判断是否处于磁盘同步数据阶段, 如果是, 进入步骤 2, 否则结束本流程 ;
步骤 2, 获取已经同步的数据块的块索引范围 ;
步骤 3, 获取当前变化的数据块的块索引 ;
步骤 4, 判断当前变化的数据块的块索引是否处于已经同步的数据块的块索引范 围内, 如果是, 进入步骤 5, 否则, 确定当前变化的数据块为无效变化的数据块, 并清除该数 据块 ;
步骤 5, 确定当前变化的数据块为有效变化的数据块, 以磁盘数据块信息方式缓存 所确定的有效变化的数据块 ;
步骤 6, 将有效变化的数据块发送到备份服务器端, 并在备份服务器端备份有效变 化的数据块后, 清除该有效变化的数据。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读存储器、 磁盘或光盘 等。可选地, 上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应 地, 上述实施例中的各模块 / 单元可以采用硬件的形式实现, 也可以采用软件功能模块的 形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
从上述实施例可以看出, 本申请技术方案在同步磁盘数据时, 对磁盘数据块发生 有效变化的数据块进行记录, 从而过滤出备份服务器在同步磁盘数据时候所需要的有效数 据, 并保存到备份服务器, 从而大大优化了数据管理系统的可靠性和完整性。 从而解决了用 户有效数据流失, 避免了同步时数据块变化频率过多, 导致系统进行反复同步磁盘数据的 问题。 以上所述, 仅为本申请的较佳实例而已, 并非用于限定本申请的保护范围。 凡在本 申请的精神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本申请的保护范 围之内。