本发明涉及存储技术领域,具体涉及一种worm状态自动判断方法及系统。
背景技术:
随着不断增长的数据存储需求,使得企业更加迫切地需要保证他们的业务信息和记录被准确而有效地存档。通过worm技术存储的数据,将不会因各种意外丢失或被修改,这就满足了企业对一些重要的业务数据长期安全存储的需求。worm:即一次写入多次读取(writeoncereadmany)技术,此功能特性可实现用户对目录设置宽限期和保护期,该目录下的文件进入保护期,防止文件中的数据被修改或删除。worm功能旨在保护存档数据。
在测试工作中,需要多次对文件夹的worm属性进行判断,判断文件夹处于宽限期、保护期还是超期状态,并需要人为的等待文件进入相应的状态,然后进行相关的操作。如果是手动执行,不仅操作繁琐,而且很容易因为对时间的判断错误而出现测试错误的情况。
技术实现要素:
为了克服上述现有技术中的不足,本发明提供一种worm状态自动判断方法及系统,以解决上述技术问题。
本发明的技术方案是:
一种worm状态自动判断方法,包括如下:创建脚本对worm状态进行自动判断,具体包括如下步骤:
计算本次操作距离上次对该文件的写操作的时间间隔;
根据设置的worm属性,判断当前文件所处的状态。
进一步的,步骤计算本次操作距离上次对该文件的写操作的时间间隔之前,包括:
共享目录下创建文件夹,并设定所创建文件夹的worm属性,其中,设置worm宽限期和worm超时时间值。
进一步的,设置worm超时时间值为30秒。
进一步的,步骤根据设置的worm期限值,判断当前文件所处的状态,包括:
若本次操作距离上次对该文件的写操作的时间间隔大于或等于宽限期的时间值,文件处于worm保护状态,其属性为只读;
若本次操作距离上次对该文件的写操作的时间间隔小于宽限期的时间值,允许对该文件进行写操作。
进一步的,该方法还包括:
计算当前时间与文件进入保护期的时间差,若时间差值大于worm超时时间值,worm保护状态失效。
进一步的,步骤共享目录下创建文件夹,并设定所创建文件夹的worm属性,之前还包括:
定义相关参数;其中,包括参数及输入路径;
挂载mnt/icfs;
开启nfs共享服务,创建nfs共享。
本发明技术方案还提供一种worm状态自动判断系统,包括计算模块和判断模块;
计算模块,用于对每次的文件操作进行计时,并计算本次操作距离上次对该文件的写操作的时间间隔;
判断模块,用于根据设置的worm属性和计算模块输出的时间值,判断当前文件所处的状态。
进一步的,该系统还包括文件夹创建模块和属性设置模块:
文件夹创建模块,所述文件夹创建模块用于在共享目录下创建文件夹;
属性设置模块,用于设置所创建文件夹的worm属性,其中,worm属性包括worm宽限期和worm超时时间值。
进一步的,该系统还包括:参数定义模块、挂载模块和共享开启模块
参数定义模块,用于定义相关参数;其中,包括参数及输入路径;
挂载模块,用于挂载mnt/icfs;
共享开启模块,用于开启nfs共享服务,创建nfs共享。
进一步的,worm超时时间值为30秒。
从以上技术方案可以看出,本发明具有以下优点:对worm(writeoncereadmany)属性查询,对文件夹处于宽限期、保护期或者超期状态进行自动化判断,再利用循环等待算法使得相关文件进入保护期状态,简单方便的完成worm属性的自动化测试。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为一种worm状态自动判断方法流程图。
具体实施方式
本发明提供一种worm状态自动判断方法及系统,对worm(writeoncereadmany)属性查询,对文件夹处于宽限期、保护期或者超期状态进行自动化判断,再利用循环等待算法使得相关文件进入保护期状态,简单方便的完成worm属性的自动化测试。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
如图1所示,本实施例提供的一种worm状态自动判断方法,包括如下:创建脚本对worm状态进行自动判断,具体包括如下步骤:
s1:共享目录下创建文件夹,并设定所创建文件夹的worm属性,其中,设置worm宽限期和worm超时时间值。
s2:计算本次操作距离上次对该文件的写操作的时间间隔;
s3:若本次操作距离上次对该文件的写操作的时间间隔大于或等于宽限期的时间值,文件处于worm保护状态,其属性为只读;
若本次操作距离上次对该文件的写操作的时间间隔小于宽限期的时间值,允许对该文件进行写操作。
s4:计算当前时间与文件进入保护期的时间差,若时间差值大于worm超时时间值,worm保护状态失效。
实施例二
本实施例提供的一种worm状态自动判断方法,包括如下:创建脚本对worm状态进行自动判断,具体包括如下步骤:
s1:共享目录下创建文件夹,并设定所创建文件夹的worm属性,其中,设置worm宽限期和worm超时时间值。在本步骤之前还需要进行如下设置:
定义相关参数;其中,包括参数及输入路径;
挂载mnt/icfs;
开启nfs共享服务,创建nfs共享。
s2:计算本次操作距离上次对该文件的写操作的时间间隔;
s3:若本次操作距离上次对该文件的写操作的时间间隔大于或等于宽限期的时间值,文件处于worm保护状态,其属性为只读;
若本次操作距离上次对该文件的写操作的时间间隔小于宽限期的时间值,允许对该文件进行写操作。
s4:计算当前时间与文件进入保护期的时间差,若时间差值大于worm超时时间值,worm保护状态失效。
实现脚本如下:
test.sh脚本内容:
通过执行./test.sh,其中利用了文件的worm状态的自动化判断和循环等待的算法,当文件进入保护期之后进行自动化操作,无需人工干预,大大减少了人工成本,提高了测试的效率。
实施例三
本发明技术方案还提供一种worm状态自动判断系统,包括计算模块和判断模块;
该系统还包括文件夹创建模块和属性设置模块:
文件夹创建模块,所述文件夹创建模块用于在共享目录下创建文件夹;
属性设置模块,用于设置所创建文件夹的worm属性,其中,worm属性包括worm宽限期和worm超时时间值;
该系统还包括:参数定义模块、挂载模块和共享开启模块
参数定义模块,用于定义相关参数;其中,包括参数及输入路径;
挂载模块,用于挂载mnt/icfs;
共享开启模块,用于开启nfs共享服务,创建nfs共享。
计算模块,用于对每次的文件操作进行计时,并计算本次操作距离上次对该文件的写操作的时间间隔;该计算模块还用于计算当前时间与进入保护期的时间差值;
判断模块,用于根据设置的worm属性和计算模块输出的时间值,判断当前文件所处的状态。
判断模块根据计算模块输出的计算值和计数值进行判断当前文件所处的状态;
其中,若本次操作距离上次对该文件的写操作的时间间隔大于或等于宽限期的时间值,文件处于worm保护状态,其属性为只读;若文件处于worm保护状态时,任何用户只能进行读操作,用户请求对文件进行写操作时,用户的写操作会被认为是越权操作,返回错误信息。
若本次操作距离上次对该文件的写操作的时间间隔小于宽限期的时间值,允许对该文件进行写操作。
若当前时间与文件进入保护期的时间差大于worm超时时间值,worm保护状态失效。若,worm超时时间值为30秒,则当前时间与文件进入保护期的时间差大于30秒时,worm保护状态失效,也就是文件的只读状态时效,这时候可以允许用户对文件进行读和/或写操作。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。