bitmap原理很明了,按照这个原理直接进行实施也是可以的,但直接这样实施的话,由于一次数据块的写入多了两次磁盘访问(bitmap的设置和清除),写入效率会受到较大影响,所以还需要考虑一些优化。
优化主要是两方面的:bitmap的设置后批量写入;bitmap的延时清除。这两方面的优化原理上和磁盘缓存差不多,需要在内存中构建和磁盘bitmap文件对应的数据结构,bitmap操作首先在缓存中进行,必要时才进行真正的磁盘操作。
下面来看看bitmap在磁盘上以及在内存中的结构。
Bitmap文件的磁盘组织
Bitmap磁盘文件可以存放在MD设备之外,此时MD结构中的bitmap_file表示这个bitmap文件;bitmap磁盘文件也可以存放在MD