[发明专利]一种保持文件系统缓存一致性的方法无效

专利信息
申请号: 200710115612.5 申请日: 2007-12-17
公开(公告)号: CN101256524A 公开(公告)日: 2008-09-03
发明(设计)人: 吴庆民;张会健;施培任 申请(专利权)人: 浪潮电子信息产业股份有限公司
主分类号: G06F11/14 分类号: G06F11/14;G06F17/30;H04L29/06
代理公司: 济南信达专利事务所有限公司 代理人: 姜明
地址: 250014山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 保持 文件系统 缓存 一致性 方法
【说明书】:

1、技术领域

发明涉及计算机系统及通信技术领域,具体涉及一种保持文件系统缓存一致性的方法。

2、技术背景

为了提高文件系统的访问效率,一般文件系统都会使用缓存机制。这种机制采用软件方法,将最近最新访问的数据存储在内存中。当进程需要再次访问数据时,不需要访问磁盘,而是直接在内存中读写。

对于写操作,当进程向磁盘中写入数据时,操作系统首先确认相关的数据块是否存在缓存中,如果没有,则从磁盘中读入缓存,然后将新数据写入缓存。磁盘I/O操作会在稍后某个合适的时机执行。这样就给了进程再次修改该数据的机会,减少了磁盘I/O次数,从而大大提高了系统吞吐量。

这种机制造成的问题是,当系统意外宕机时,缓存中的“脏”数据可能因会没有及时写回磁盘而丢失。在7*24小时运行环境中,这类情况造成的后果是严重的。一般情况下,服务器不负责数据存储,理所当然不需要考虑此类风险,因此,目前的大多数HA(高可用)方案并不把此风险考虑在内。但是,如果是存储设备,或者说服务器直接负责数据的存储,那么,我们就必须有一种方案解决此问题。

3、发明内容

为了解决文件系统中缓存在异常宕机丢失问题,本发明提供了一个保持文件系统缓存一致性的方法。

本发明的方法要解决技术方案是按以下方式实现的,在工作服务器文件系统层写入数据块时,实时备份到备份服务器(或其它设备),备份完成之后才通知进程数据写入完毕。当数据磁盘I/O操作完成后,实时解除备份,使用备份不会无限增加,具体步骤如下:

1)在工作服务器操作系统写数据的处理过程中加入回调函数block_commit_write(),通过一个应用协议将数据传输到备份机,并保存在内存中一个io_sync(),获取写入到磁盘的数据块信息,通过应用协议传输到备份机,并根据此信息删除已经备份的数据块,假若工作服务器出现宕机,备份机首先将树形链表中的缓存写入磁盘,然后接替服务;

2)回调函数获取指定磁盘中的所有写入数据块及相关信息,传输到备份机,当得到数据备份完成的响应后,通知用户磁盘写操作完成,回调函数在驱动层之上不依赖于具体的磁盘。

本发明的有益效果是:不依赖于具体的磁盘类型,有效降低部署和使用成本。为了提高遍历和修改备份数据块的效率,备份的数据块采用树形结构存储。根结点可存储一些全局的信息,其子树的根结点表示服务端需要备份的磁盘,并按设备号有序排列。数据块按起始扇区号大小构成磁盘结点的子树,以二叉树形式排列,这样所有的数据都可以有序查找到。因此,在系统层操作过程中优化的数据结构可以明显提高系统性能。

4、附图说明

附图1是缓存一致性实现流程图;

附图2是缓存备份存储结构示意图。

5、具体实施方式

参照附图对本发明的方法作以下详细的说明。

本发明的方法要解决技术方案是按以下方式实现的,在工作服务器文件系统层写入数据块时,实时备份到备份服务器(或其它设备),备份完成之后才通知进程数据写入完毕。当数据磁盘I/O操作完成后,实时解除备份,使用备份不会无限增加。

具体步骤如下:

1)获取文件系统写操作和磁盘I/O获取系统写操作,磁盘I/O会根据操作系统平台的不同而不同。例如,在Linux系统中,可以在VFS(虚拟文件系统)层加入回调函数实现。当数据写入时,可以在函数block_commit_write()中加入回调,同样,当数据提交到磁盘时,可在函数end_bio_io_sync()中加入回调。

2)工作服务器与备份服务器的通信为了方便服务端和备份端通信,本发明提供了一整套的能信协议,该通信协议可以运行在多种网络环境中,不限于以太网、PCI-E等通信方式。该协议有两种数据包,分别是操作包和响应包。操作包用于工作服务器向备份服务器请求备份或解除备份操作。响应包是备份服务器处理完指定的操作时,对工作服务器的响应,用于服务器决定下一步工作。

如果此协议在非可靠的网络环境中运行,本协议提供了校验和重发机制,以此保证数据传输的可靠性。

●操作包有四个必要字段和三个可选字段构成:

i.操作:指定备份服务器需要进行的操作

ii.设备识别号:磁盘(分区)唯一标识

iii.起始扇区:数据块所对应的第一个扇区号

iv.大小:数据块的长度(字节)

数据项(可选项):数据块中包含的数据,如果操作是备份数据块,此项必填。

v.校验码(可选项):整个操作包的构码。在计算校验码时此项设为0

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200710115612.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top