hell74111
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分45分
  • 威望322点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1913回复:7

基于文件的热备份

楼主#
更多 发布于:2009-03-16 11:26

       关于热备份,现在很多实现都是基于块级(扇区)的,实现方法是COW(写前拷贝)技术;即在用户写数据之前,将原来的块拷贝出来,等到所有块拷贝完成以后,再将原始的块覆盖过去。
   现在小弟,要基于文件实现热备份技术。有人说COW技术也可以用在文件级来实现。但现在,经过思考后发现很有问题。

   基于块级的话,COW只拷贝第一次写操作之前的数据。这里有个判断,该块是第几次被写。在块级,实现很容易,只用建立一张表就OK了,对每一块进行标记。
  但基于文件,这种方法似乎有点难度。如果以文件为粒度进行标记的话,那么用户只操作几个字节,我就需要将整个文件进行拷贝,严重影响性能。



  现在考虑,参见块级的实现方法,将文件进行分块处理,分块标记。 如果用户只写了几个字节,我就判断这几个字节涉及到哪些块,然后将这些块拷贝出去。


 不知道这样的设计,是否有可行性?
 
 请各位高手指教一下,或者有更好的实现方法,也请提示一二,先谢谢了!!
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-03-16 12:10
每当一个文件被写的时候,你过滤到了以后,同时也把这个写的内容写入到备份文件一下就可以啦,就是你复制一个写入动作而已啦

不用什么分块的也可以,这个叫啥呢,基于文件过滤的吧
提问归提问,还是只能靠自己
hell74111
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分45分
  • 威望322点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-03-16 12:42
引用第1楼looksail于2009-03-16 12:10发表的  :
每当一个文件被写的时候,你过滤到了以后,同时也把这个写的内容写入到备份文件一下就可以啦,就是你复制一个写入动作而已啦

不用什么分块的也可以,这个叫啥呢,基于文件过滤的吧


       我是基于文件过滤驱动来做的。要求是文件的热备份,就是假设我1:00开始备份C分区,当备份结束时,D分区的内容和1:00点时C分区的内容一模一样。 你说的那个相当于做文件的同步操作啊。。
qianjunhua
驱动小牛
驱动小牛
  • 注册日期2003-12-08
  • 最后登录2013-02-27
  • 粉丝11
  • 关注0
  • 积分712分
  • 威望1052点
  • 贡献值1点
  • 好评度57点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-03-16 12:46
是啊 就是类似我的实时的文件备份的功能啊
hell74111
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分45分
  • 威望322点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-03-16 12:54
引用第3楼qianjunhua于2009-03-16 12:46发表的  :
是啊 就是类似我的实时的文件备份的功能啊

   弱弱问下,允许用户操作,这里是如何处理的。。。。比如用户要修改我还没有备份的数据,那备份完成后C和D的内容应该是不一样的,我该如何将D还原为C原来的状态??

PS.  我现在考虑的是,备份初始化的过程。 就是原来D分区什么都没有,在做同步之前,我要先将C区的内容全部拷贝到D区。我想在拷贝的时候允许用户操作。至于同步操作,我觉得是比较简单的,在驱动层直接将动作重定向的D分区就可以了。
qianjunhua
驱动小牛
驱动小牛
  • 注册日期2003-12-08
  • 最后登录2013-02-27
  • 粉丝11
  • 关注0
  • 积分712分
  • 威望1052点
  • 贡献值1点
  • 好评度57点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-03-16 20:04
我这个是基于文件为单位的 不是以分区为单位的
yuanyuan
驱动大牛
驱动大牛
  • 注册日期2003-01-15
  • 最后登录2010-08-04
  • 粉丝0
  • 关注0
  • 积分1025分
  • 威望300点
  • 贡献值0点
  • 好评度232点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-03-19 12:05
这个是文件同步
hgwolf
驱动中牛
驱动中牛
  • 注册日期2002-05-16
  • 最后登录2011-12-12
  • 粉丝0
  • 关注0
  • 积分1035分
  • 威望520点
  • 贡献值0点
  • 好评度316点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2009-03-19 20:08
xp的系统还原,文件系统的volsnap
牛犊小牛中牛大牛老牛,天那,我什么时候能变成牛顿啊
游客

返回顶部