[发明专利]一种WORM追加写判断方法及存储设备有效
申请号: | 201310436864.3 | 申请日: | 2013-09-23 |
公开(公告)号: | CN103500092B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 仇锋利;彭勇;宛涌 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F12/02 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 worm 追加 判断 方法 存储 设备 | ||
技术领域
本发明涉及通信领域,尤其涉及一种WORM(Write once Read many,单写多读)追加写判断方法及存储设备。
背景技术
WORM是一种只能单次写入但允许多次读取的数据存储方式,能有效避免数据被意外删除、重写或更改。因此,许多企业单位依赖WORM存储来存储关键数据,防止关键数据遭到更改或删除。以WORM形式保存的文件(即WORM文件)不能被改写,因此认为WORM文件的保护范围是[0,原始文件大小]。对WORM文件的操作主要有修改写和追加写,修改写指的是某次写操作要修改WORM文件保护范围之内的数据,对于WORM文件修改写是不允许的;追加写指的是某次写操作要写入的数据在WORM文件保护范围之外,对于WORM文件追加写是允许的。
用户设备在向存储设备的文件系统写入数据时,会先向所述存储设备的文件系统发送OPEN指令,通知所述存储设备的文件系统准备进行数据写入,然后在接收到用户设备发送的WRITE指令后,就可以在判断出本次写操作是对WORM文件的追加写时将本次写操作的数据写入WORM文件中。
现有技术判断本次写操作是否为追加写的方法主要有两种。一种是根据文件打开标识来判断,用户设备发送的OPEN指令中携带有文件打开标识。如果该文件打开标识携带了追加写标识,则存储设备的文件系统就会判断出本次写操作为追加写操作,否则,就认为是修改写,不允许本次写操作。但是,在应用本方法时,有的网络协议如NFS(Network File System,网络文件系统)V3中存储设备上的客户端会对OPEN指令中携带的文件打开标识进行转换,不会将文件打开标识下发到存储设备的服务端,存储设备的服务端在写文件时就无法判断此次写操作是否是追加写,导致存储设备的服务端不会按照追加写模式写文件。
另一种方法是根据文件指针位置来判断,存储设备的文件系统接收到WRITE指令后会从调度后当前文件指针位置开始写入,如果当前文件指针位置在先前写入的WORM文件的保护范围内,就认为是修改写,否则就是追加写。如果存储设备的文件系统在进行的两次写操作时,都没有进行文件指针调度,则两次写操作都会从文件初始位置开始写入,此时,若第二次写入的内容包含第一次写入的内容,则第二次写操作实际上是追加写,但是存储设备的文件系统检测出第二次写操作的指针在第一次写入的WORM文件的保护范围内,因此错误地将第二次写操作判断为修改写,无法准确判断出第二次写操作为追加写,导致写操作无法进行。
发明内容
本发明的实施例提供一种WORM追加写判断方法及存储设备,可以更加准确地判断对WORM文件的写操作是否是追加写。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,公开了一种WORM追加写判断方法,包括:
获得本次写操作的起始指针位置;
接收用户设备发送的写WRITE指令,所述WRITE指令中携带有本次写操作的数据大小;
根据所述WRITE指令识别所述本次写操作的写入范围,其中,所述写操作的写入范围是大于等于所述本次写操作的起始指针位置值,小于等于所述本次写操作的起始指针位置值加上所述本次写操作的数据大小;
检测WORM文件的保护范围和所述本次写操作的写入范围是否有交集;
若检测到有交集,则检测所述本次写操作与所述WORM文件在交集部分的数据是否一样;
若一样,则判断所述本次写操作是追加写;若不一样,则判断所述本次写操作是修改写。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
若检测到没有交集,则判断所述本次写操作是追加写。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获得本次写操作的起始指针位置之前,所述方法还包括:
获得所述用户设备发送的打开OPEN指令,所述OPEN指令中携带有文件打开标识;
则,所述获得本次写操作的起始指针位置,包括:
若所述文件打开标识中携带有追加写标识,则获得的本次写操作的起始指针位置为所述WORM文件的结束位置。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,若所述文件打开标识中没有携带追加写标识,则获得的本次写操作的起始指针位置为所述WORM文件的起始位置。
结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述接收所述用户设备发送的OPEN指令之后,若所述文件打开标识中没有携带追加写标识,则所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310436864.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:机车遮阳帘
- 下一篇:制动器以及用于进行制动的操纵单元