机群文件系统共享语义测试方法
—76—机群文件系统共享语义测试方法机群文件系统共享语义测试方法 吕吕 正正1,陈,陈 昊昊1,2,吕,吕 毅毅3 (1. 西北大学信息科学与技术学院,西安 ;2. 中国劳动关系学院,北京 ;3. 中国科学院软件研究所,北京 ) 摘摘 要:要:机群文件系统能否满足用户需要的共享文件语义涉及机群文件系统服务的正确性、性能和易用性。为验证该类特性,提出文件系统共享语义测试概念,实现一个文件语义测试系统 。 使用随机测试和划分测试相结合的方法测试和验证文件系统是否满足一定的语义特性。测试表明该方法能够得到令人满意的结果。 关键词:关键词:机群文件系统;文件共享语义;共享语义测试;软件测试 File Test LV , CHEN Hao1,2, LV Yi3 (1. of and , , Xi’an ;2. China of , ; 3. of , of , ) 【【】file . The of file test is and a file test () is . uses 】 file is one of the key that , and of test and test to can . Test shows that the can get . 【【Key words】】 file ; file ; test; test 计计 算 算 机机 工工 程程 第第36卷Vol.36 No.11 卷 第第11期期 2010 年 June 2010年 6 月月··软件技术与数据库软件技术与数据库·· 文章编号:文章编号:1000——3428(2010)11——0076——04文献标识码:文献标识码:A 中图分类号:中图分类号: 概述概述 构造高性能、可扩展和可用易用的机群文件系统是机群系统研究的关键问题之一。
用户共享使用文件的模式决定了用户对机群文件系统共享语义的需求,而机群文件系统能否满足用户需要的共享文件语义是涉及机群文件系统服务的正确性、性能和易用性的一个重要问题。 由于机群文件系统使用户可以共享全局文件,因此系统必须解决用户对共享文件的冲突访问问题。机群文件共享语义(file share )是机群文件系统对共享文件或目录冲突访问的处理方法。对于机群文件系统,不同的应用程序有不同的语义要求,对于同一应用,系统实现的不同语义会造成性能和易用性的显著差异。为了能够对机群文件系统共享语义进行评价和验证,本文提出了文件系统共享语义测试概念和共享语义测试的方法。在此基础上实现了一个文件语义测试 。 使用随机测试和划分测试相结合的方法,用于测试和验证文件系统是否满足一定的语义特性。目前 能够测试的语义有 2 种:Unix 语义和 NFS 语义,这也是应用最广泛的 2 种文件系统共享语义。 2 机群文件系统共享语义机群文件系统共享语义 机群文件系统的共享语义是机群文件系统对共享文件或目录冲突访问的处理方法,也称为一致性语义( )。
2.1 Unix 语义语义 Unix 语义最初是指单机 Unix 文件系统的文件操作所表现的特征,它具有以下特性: (1)每次读文件操作都能看到所有发生在该读操作之前的、对相同文件写操作的修改结果,特别是某个用户的写文件操作应该立即被所有其他已打开该文件的用户可见。 (2)读写操作在文件粒度上保持原子性,每个读写操作在逻辑上是顺序执行的。 (3)某个进程的读/写操作所引起的文件偏移量的变化对于共享该文件的其他进程是可见的。 (4)在某个进程删除一个共享文件时不影响已打开该文件的其他进程对共享文件的访问,只有当最后一个进程关闭文件后,该文件才被真正删除。 2.2 NFS 语义语义 NFS 在实现时使用一种基于时间的客户端缓存弱一致性协议,是 语义的一个变种,因此,NFS 不满足 Unix语义[1]。另一方面,NFS 是事实上的工业标准,许多新的机群文件系统在设计时均需考虑与NFS使用的语义兼容, 因此,将 NFS 使用的语义单独定义为 NFS 语义。NFS 的语义可以归纳为:(1)每次读文件操作看到的是所有发生在该读操作之前对相同文件的写操作结果之一,具体结果由读写操作的相对时间确定;(2)读写操作在块粒度上保持原子性,每个读写操作在逻辑上是顺序执行的;(3)NFS 满足 语义的一个变种(Close-to-open 语义),表述为如果客户 A 写操作后关闭文件, 随后客户 B 打开同一文件读到的一定是客户 A 最后写的内容。
3 共享语义测试概念和测试方法共享语义测试概念和测试方法 3.1 共享语义测试概念共享语义测试概念 机群文件系统共享语义测试属于软件测试范畴,在本质上它是一种功能测试,即根据一种文件共享语义的描述对某种具体的机群文件系统实现进行测试,判别该系统实现是否满足特定语义标准。下文简称语义测试。 基金项目:基金项目:国家“ 863” 计划基金资助项目() 作者简介:作者简介:吕 正(1977-),男,博士研究生,主研方向:软件理论与测试;陈 昊,讲师、博士研究生;吕 毅,副研究员、博士 收稿日期:收稿日期:2009-11-10 E-mail::