允许误差的目录控管系统与方法

文档序号:6409461阅读:182来源:国知局
专利名称:允许误差的目录控管系统与方法
技术领域
本发明涉及一种管理计算机文件储存与更新的系统及方法,尤其是涉及一种允许误差的目录控管系统与方法。
背景技术
现有技术中,存在通过限制容量以管理磁盘的方法,该方法透过限制文件所属目录(Directory)的容量份额(Capacity Quota)的机制来进行。该机制中,预先设置多个目录的容量信息,该容量信息记录多个目录的一上限容量及一已使用容量。当存取或更新文件时,文件系统先提出一请求的磁盘容量,并进行以下步骤(a)确定储存或更新该文件的目录;(b)判断该文件所请求的磁盘容量是否小于等于该目录的剩余容量,其中该剩余容量等于该上限容量减去该已使用容量;(c)如果该文件所请求的磁盘容量小于等于该目录的剩余容量,更新该目录的已使用容量,令其加上该请求的磁盘容量作为该目录的新的已使用容量;(d)更新与该目录相关联之上层目录的已使用容量,令其加上该请求的磁盘容量作为该上层目录的已使用容量;(e)储存或更新该文件后,比对该请求的磁盘容量与储存或更新该文件所实际使用的磁盘容量是否相符;(f)如果该请求的磁盘容量与储存或更新该文件所实际使用的磁盘容量不相符,更新该目录的已使用容量令其等于该目录实际使用的磁盘容量;(g)更新与该目录相关联之上层目录的已使用容量,令其等于实际使用的磁盘容量。储存或更新文件过程中,因为该请求的磁盘容量比实际使用的磁盘容量大,该方法会使得任何更新动作引发上层目录的更新,从而产生频繁的磁盘读写作业,容易导致磁盘的损坏,缩短磁盘的寿命,更严重的是,文件系统会因为扇区损坏而导致资料流失。
为解决上述问题,需要提供一种允许误差的目录控管系统与方法,对共享磁盘的目录进行控管,降低储存或更新文件时更动文件系统的次数,以减少磁盘读写频率而延长扇区寿命,并减少因扇区损坏而导致资料流失的机率,以及增加文件系统效率。

发明内容本发明的主要目的在于,提供一种允许误差的目录控管系统,其可实现共享磁盘的目录控管,其包括有一共享磁盘及一目录控管模块。该共享磁盘用于记录目录架构及该目录架构中多个目录的目录信息,该目录架构记录文件所属的目录及目录相互间上下层次关联,该目录信息包括一设定容量、一回报容量、一已分配容量及一已使用容量,目录分为控管目录及非控管目录;该目录控管模块可在储存或更新文件时,比对所请求的磁盘容量与该文件所属目录的剩余容量,如果该文件所属目录的剩余容量大于等于更新该文件所请求的磁盘容量时,更新该目录的已使用容量;判断已使用容量加上已分配容量是否超过回报容量的容错范围,如果已使用容量加上已分配容量未超过回报容量的容错范围,更新该文件及该文件所属目录的目录信息,如果已使用容量加上已分配容量超过回报容量的容错范围,则更新当前目录的回报容量;判断当前目录是否为最上层目录,如果当前目录为最上层目录,更新该文件及该文件所属目录的目录信息,如果当前目录不是最上层目录,则更新当前目录的已分配容量,然后链接至当前目录的上层目录;接着判断该上层目录的已使用容量加上已分配容量是否超过回报容量的容错范围。其中,设定容量为该控管目录的限制容量的设定值,以数学符号I表示,当设定容量不为0时表示该目录为控管目录,当设定容量为0时表示该目录为非控管目录;回报容量为某一目录汇报给父目录的容量占用值,以数学符号A表示;已分配容量为目录的所有子目录的回报容量总和,以数学符号D表示;及已使用容量为目录的所有文件已使用的容量总和,以数学符号U表示;上述设定容量、回报容量、已分配容量及已使用容量皆为单位KB(Kilo-Byte)的整数倍,其中A<=I。
本发明还提供一种允许误差的目录控管方法,包括以下步骤比对更新文件时所请求的磁盘容量与该文件所属目录的剩余容量;如果该文件所属目录的剩余容量大于等于更新该文件所请求的磁盘容量时,更新该目录的已使用容量;接着判断已使用容量加上已分配容量是否超过回报容量的容错范围,如果否,则更新该文件及该文件所属目录的目录信息;上述判断如果是,则更新当前目录的回报容量;判断当前目录是否为最上层目录,如果当前目录为最上层目录,则更新该文件及该文件所属目录的目录信息;如果当前目录不是最上层目录,则更新当前目录的已分配容量,然后链接至当前目录的上层目录;流程转到判断该上层目录的已使用容量加上已分配容量,是否超过回报容量的容错范围的步骤。
通过本发明提供的允许误差的目录控管系统与方法,在储存或更新文件时,对文件系统中多个目录进行控管,在一允许误差范围内无须更新目录的目录信息,从而降低储存或更新文件时更动文件系统的次数,以减少磁盘读写频率而延长扇区寿命,并减少因扇区损坏而导致资料流失的机率,以及增加文件系统效率。

图1是本发明允许误差的目录控管系统与方法的硬件架构图。
图2是本发明允许误差的目录控管系统与方法的功能模块与文件的关联图。
图3是本发明允许误差的目录控管系统与方法的目录架构的示意图。
图4是本发明允许误差的目录控管系统与方法之控管目录信息所包含的内容示意图。
图5是本发明允许误差的目录控管系统与方法的目录信息包含的内容的示意图。
图6是本发明允许误差的目录控管系统与方法的流程图。
具体实施方式如图1所示,是本发明允许误差的目录控管系统与方法的硬件架构图。该系统应用于网络的共享磁盘系统下,该网络的共享磁盘系统采用二层(或多层)架构包括服务器端,包括一服务器1及一共享磁盘2;及客户端,包括多个客户端计算机4,并通过企业内部网3相连,实现各设备间的协同工作。
共享磁盘2用于储存企业的相关资料,并限制客户端计算机访问该共享磁盘上不同的目录,以达到共享的目的。服务器1负责管理对共享磁盘2的访问与维护,能够迅速执行大量资料的更新和检索。客户端计算机4是系统的主要模块执行计算机,其负责本系统的执行与结果输出,及共享磁盘文件维护。
如图2所示,是本发明允许误差的目录控管系统与方法的功能模块与文件的关联图。客户端计算机4包括一应用程序40及一共享磁盘连接模块41。服务器1包括一共享磁盘管理模块10;该共享磁盘管理模块10包括一文件控管模块100及一目录控管模块101。共享磁盘2储存有文件20、目录架构21及文件系统信息22。如图3所示,是本发明允许误差的目录控管系统与方法的文件系统信息22包含的内容的示意图。文件系统信息22包括一般文件系统信息及容错率;其中容错率是目录容量可容忍的误差范围,以数学符号R表示,其为一小于1的浮点数值。
共享磁盘管理模块10用于管理共享磁盘2中多个文件,包括建立、更新、删除及查询各文件中的记录,其中更新操作包括增加及删除文件内容。目录控管模块101可经由共享磁盘管理模块10,读取及储存共享磁盘2中的多个文件20。目录控管模块101参考目录架构21及文件系统信息22的内容,以完成多个文件20储存或更新时的目录控管。
共享磁盘连接模块41用于连接客户端计算机4中之应用程序40与服务器1中的共享磁盘管理模块10,以实现应用程序40利用该共享磁盘管理模块10对共享磁盘内数据的浏览、存取等操作。利用共享磁盘连接模块41,应用程序40可访问不同种类的共享磁盘中的资料。
如图4所示,是本发明允许误差的目录控管系统与方法的目录架构的示意图。目录架构21由共享磁盘管理模块10提供,呈现多个目录210间的上下层次关系及多笔文件记录211所属目录210的关联,其中该多笔文件记录211分别对应于共享磁盘2中的多个文件20,记录该多个文件20的容量。多个目录210中都附有目录信息212以利控管,在本发明中不需对所有目录210加以控管,可以指定多个目录210加以控管。其中该被指定进行控管的多个目录称为控管目录,其它没有被指定进行控管的多个目录称为非控管目录。下层的控管目录的设定容量小于等于上层的控管目录的设定容量。最上层的控管目录的设定容量需小于等于共享磁盘2的总容量C(图中未揭露)。该总容量C为共享磁盘的容量上限,由共享磁盘管理模块10提供。系统管理者可指定多个控管目录的个别容错率R,其下层的控管目录的容错率小于等于上层的控管目录的容错率。
如图5所示,是本发明允许误差的目录控管系统与方法的目录信息212包含的内容的示意图。该目录信息212包括一设定容量、一回报容量、一已分配容量及一已使用容量。其中,设定容量是该控管目录的限制容量的设定值,以数学符号I表示,当设定容量不为0时表示该目录为控管目录,当设定容量为0时表示该目录为非控管目录;回报容量是某一目录汇报给父目录的容量占用值,以数学符号A表示;已分配容量是目录的所有子目录的回报容量总和,以数学符号D表示;及已使用容量是目录的所有文件已使用的容量总和,以数学符号U表示;上述设定容量、回报容量、已分配容量及已使用容量皆为单位KB(Kilo-Byte)的整数倍,其中A<=I。已分配容量D协助判断文件20的更新容量是否超出容量误差范围。该已使用容量U不需协助判断文件20的更新容量是否超出容量误差范围。
如图6所示,是本发明允许误差的目录控管系统与方法的流程图。当进行文件20的更新时,需先向共享磁盘2请求一磁盘容量M(步骤S60)。该更新包括文件之增加及删除,因此该M可能为一大于等于零之整数,或为一小于零之整数。
然后链接至该文件20所属的目录(步骤S61)。
此时执行目录控管模块101,读取目录信息212,判断该文件20所属的目录的剩余容量FC(图中未揭露)是否大于等于该磁盘容量M(步骤S62)。
其中,该目录的剩余容量FC计算方法如下当该目录的设定容量I不为0时,即该目录为控管目录时,该目录的剩余容量FC为((设定容量-已分配容量)*(1+容错率))-已使用容量;如数学式(1)表示FC=((I-D)*(1+R))-U (1)当该目录的设定容量I为0时,即该目录为非控管目录时,该目录的剩余容量FC为该目录的剩余容忍容量TC加上父目录的剩余容量。
该目录的剩余容忍容量TC计算方法如下当前目录为最上层目录时,该目录的剩余容忍容量TC为该共享磁盘2的总容量C;当前目录为非最上层目录时,该目录的剩余容忍容量TC为已使用容量*容错率;如数学式(2)表示TC=U*R(2)在步骤62,如果该目录的剩余容量FC小于M,则拒绝更新该文件及该文件所属目录的目录信息(步骤S69),然后结束;如果该目录的剩余容量FC大于等于M KB,则更新当前目录的已使用容量U(步骤S63)。如数学式(3)表示U=U+M (3)接着判断是否该更新后的已使用容量U加上已分配容量D超过更新前的回报容量A的容错范围(步骤S64),使用下列数学式(4)及数学式(5)进行判断M<=0时U+D<A*(1-R) (4)M>0时U+D>A*(1+R)(5)在步骤S64,如果该更新后的已使用容量U加上已分配容量D没有超过回报容量A的容错范围,则更新文件及该文件所属目录的目录信息(步骤S70),然后结束;如果该更新后的已使用容量U加上已分配容量D超过回报容量A的容错范围,则更新当前目录的回报容量A(步骤S65);该步骤S65如下列虚拟代码表示If((U+D)-A)>当前目录的父目录的剩余容量FCthenM=当前目录的父目录的剩余容量FCElse
M=(U+D)-AEnd ifA=A+M对于控管目录而言,必有A<=I的不等式成立;否则就需要进行适当地处理,处理步骤如下If(I!=0且A>I)thenM=M-(A-I)A=IEnd if然后判断当前目录是否为最上层目录(步骤S66)。如果是,流程转至步骤S70,更新该文件及该文件所属目录的目录信息,然后结束。如果否,更新当前目录的已分配容量D(步骤S67);如数学式(6)表示D=D+M(6)然后链接到上层目录,该链接需参考目录架构21(步骤S68)。然后流程返回至步骤S64。
权利要求
1.一种允许误差的目录控管系统,其可实现共享磁盘的文件管理的目录控管,其特征在于,该系统包括一共享磁盘,用于记录目录架构及该目录架构中多个目录的目录信息,该目录架构记录文件所属的目录及目录相互间上下层次关联,该目录信息包括设定容量、回报容量、已分配容量及已使用容量,目录分为控管目录及非控管目录;及一目录控管模块,其可在储存或更新文件时,比对所请求的磁盘容量与该文件所属目录的剩余容量,如果该文件所属目录的剩余容量大于等于更新该文件所请求的磁盘容量时,更新该目录的已使用容量;判断已使用容量加上已分配容量是否超过回报容量的容错范围,如果已使用容量加上已分配容量未超过回报容量的容错范围,更新该文件及该文件所属目录的目录信息,如果已使用容量加上已分配容量超过回报容量的容错范围,则更新当前目录的回报容量。
2.如权利要求1所述的允许误差的目录控管系统,其特征在于,所述的目录控管模块还用于判断当前目录是否为最上层目录,如果当前目录为最上层目录,更新该文件及该文件所属目录的目录信息,如果当前目录不是最上层目录,则更新当前目录的已分配容量,然后链接至当前目录的上层目录。
3.如权利要求1所述的允许误差的目录控管系统,其特征在于,所述的回报容量是某一目录汇报给父目录的容量占用值,所述的已分配容量是目录的所有子目录的回报容量总和,所述的已使用容量是目录的所有文件已使用的容量总和。
4.如权利要求1所述的允许误差的目录控管系统,其特征在于,当一目录的设定容量不为0时,表示该目录为控管目录,当一目录的设定容量为0时,表示该目录为非控管目录。
5.如权利要求1所述的允许误差的目录控管系统,其特征在于,所述的容错范围通过设定一目录的容错率进行表述。
6.如权利要求1所述的允许误差的目录控管系统,其特征在于,所述的更新包括记录该文件所请求的磁盘容量于该所属控管目录的目录信息中。
7.一种允许误差的目录控管方法,其可实现文件管理的目录控管,其特征在于,该方法包括以下步骤比对更新文件时所请求的磁盘容量,与该文件所属目录的剩余容量;如果该文件所属目录的剩余容量大于等于更新该文件所请求的磁盘容量时,更新该目录的已使用容量;接着判断已使用容量加上已分配容量是否超过回报容量的容错范围,如果否,则更新该文件及该文件所属目录的目录信息;上述判断如果是,则更新当前目录的回报容量;判断当前目录是否为最上层目录,如果当前目录为最上层目录,则更新该文件及该文件所属目录的目录信息;如果当前目录不是最上层目录,则更新当前目录的已分配容量,然后链接至当前目录的上层目录;及流程转到判断该上层目录的已使用容量加上已分配容量,是否超过回报容量的容错范围的步骤。
8.如权利要求7所述的允许误差的目录控管方法,其特征在于,所述的回报容量是某一目录汇报给父目录的容量占用值,所述的已分配容量是目录的所有子目录的回报容量总和,所述的已使用容量是目录的所有文件已使用的容量总和。
9.如权利要求7所述的允许误差的目录控管方法,其特征在于,当一目录的设定容量不为0时,表示该目录为控管目录,当一目录的设定容量为0时,表示该目录为非控管目录。
10.如权利要求7所述的允许误差的目录控管方法,其特征在于,所述的容错范围通过设定一目录的容错率进行表述。
全文摘要
本发明的允许误差的目录控管系统包括一共享磁盘及一目录控管模块。该共享磁盘用于记录目录架构及该目录架构中多个目录的目录信息,该目录架构记录文件所属的目录及目录相互间上下层次关联,其中目录分为控管目录及非控管目录;该目录控管模块可在储存或更新文件时,比对文件所请求的磁盘容量与该文件所属目录的目录信息,判断上述的储存或更新是否在该目录的容错范围内,并分别根据控管目录及非控管目录的不同,执行相应的储存或更新文件的操作,并更新相应目录的目录信息。本发明还提供一种利用该系统实现文件管理的目录控管的方法。
文档编号G06F17/30GK1728132SQ20041005098
公开日2006年2月1日 申请日期2004年7月31日 优先权日2004年7月31日
发明者吴政锰 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1