计算磁盘碎片率的方法及系统的制作方法

文档序号:6777173阅读:711来源:国知局
专利名称:计算磁盘碎片率的方法及系统的制作方法
技术领域
本发明涉及一种计算磁盘碎片率的方法及系统,特别是涉及一种利用文件配置表来快速计算出磁盘碎片率的方法与系统。
但是,一旦磁盘使用久了,可使用的连续区段空间会变的越来越少,因为文件在存取时,都会尽量在磁盘中找寻连续区段的空间来存放,数据的修改、复制、删除以及移动等等,都会造成连续区段空间越来越少。因此,将新文件写入具有不连续区块的可用空间的磁盘时,如果没有足以容纳该文件的数据的连续可用空间区域,就会将该文件分段写入,也就是不连续地存放。
当组成某个文件的数据在磁盘上的存放位置不连续时,该文件便是一个分散的文件,分散成数个文件片段,每个文件片段则是指含有该文件部分数据的一段连续的区段。磁盘上的数据若是被拆散成一个个片段,读取这些数据所花的时间比读取连续数据所花的时间要多,因为它需要磁盘驱动器的读取/写入磁头移动更多次,不连续也会阻碍已删除文件的复原。
但是,目前只有少数软件提供磁盘碎片的相关信息,而且大部分计算磁盘碎片率都需要花费相当长的时间,不方便使用者了解,甚至因为太花费时间,而使得多数使用者不愿意去执行,使得磁盘内的文件处理及存取效率相当低。
本发明的计算磁盘碎片率的系统,包含有一定位模块、一横贯模块以及一计算模块,由定位模块取得文件配置表的起始位置以及长度,并由连接于该定位模块的横贯模块按顺序对每一簇进行判断,判断其是否具有文件结束标志以及接续片段指向相邻区域,由此来判断簇的连续性,而累加出不连续簇的总数,再利用计算模块根据该数值加以计算,即可得到磁盘碎片率。
另一方面,按照本发明的计算磁盘碎片率的方法,首先取得文件配置表之起始位置以及长度,接着按顺序判断文件配置表中每一簇的连续性,判断其是否具有文件结束标志以及接续片段指向相邻区域,并累加出不连续簇的总数,最后将不连续簇的总数除以簇总数,即可得到磁盘碎片率。
按照本发明的计算磁盘碎片率的方法及系统,可快速得到磁盘的碎片率,随时对使用者提供磁盘碎片的信息,在磁盘碎片率过高时,对磁盘进行重整,而提高磁盘读取速度,进而增进程序的执行速度。


图1为本发明的计算磁盘碎片率的方法的步骤流程示意图;图2为本发明的计算磁盘碎片率的系统构成示意图;图3为本发明的计算磁盘碎片率的系统的定位模块运作步骤流程示意图;图4为本发明的计算磁盘碎片率的系统的横贯模块运作步骤流程示意图;以及图5为本发明的计算磁盘碎片率的系统的计算模块运作步骤流程示意图。
为对本发明的目的、构造特征及其功能有进一步的了解,以下结合附图详细说明本发明的具体实施方式

具体实施例方式
参照图1,按照本发明的计算磁盘碎片率的方法,首先取得文件配置表的起始位置以及长度(步骤101),而可取得每一个簇的地址,接着按顺序判断每一个簇的连续性(步骤102),并累加不连续簇数(步骤103),而可计算出磁盘碎片率(步骤104)。
如图2所示,按照本发明的计算磁盘碎片率的系统包含有一定位模块22、一横贯模块24以及一计算模块26。定位模块22用来定位文件配置表起始位置;横贯模块24连接于该定位模块22,用以判断该文件配置表之簇的连续性,并加以累加得到不连续簇的总数;计算模块26连接该横贯模块24,可取得该不连续簇的总数,并由该数值计算出该磁盘的碎片率。详细运作流程描述如下。
首先,如图3所示,利用定位模块22取得磁盘的基本输入输出单元参数区块(步骤301),接着分析基本输入输出单元参数区块之数据(步骤302),而得到文件配置表的起始位置以及长度(步骤303)。
接着,如图4所示,利用横贯模块24依据所得到的文件配置表的起始位置以及长度,对文件配置表进行横贯。首先,将不连续的簇数设为零(步骤401),取得文件配置表的第一个簇(步骤402),判断是否具有文件的结束标志(步骤403),如果是,则直接跳到步骤406,表示该簇的数据为连续。否则,判断文件接续片段是否指向相邻的簇(步骤404),如果是,则直接跳到步骤406,表示该簇的数据为连续。如否,表示该簇的数据为不连续,则不连续簇数加一(步骤405),接着判断是否为最后一个簇(步骤406),如果不是,则取出下一个簇(步骤407),继续判断,一直到所有簇判断完为止,而得到不连续簇的总数(步骤408)。如此,横贯一次文件配置表即可巧妙地得到不连续簇的总数,因而可相当快速计算出磁盘的碎片率。
最后,利用计算模块26计算出磁盘的碎片率,如图5所示,首先计算出簇总数(步骤501),藉由将文件配置表的总长度除以一个簇的长度即可得到(两个数据皆在前述定位模块22定位时可得到),接着将不连续簇的总数除以簇总数,即可得到磁盘碎片率(步骤502)。
以上详细描述了本发明的具体实施方式
,并非用来限定本发明的实施范围;即凡依本发明权利要求范围所作的等同变化与修改,皆为本发明权利要求范围所涵盖。
权利要求
1.一种计算磁盘碎片率的方法,至少包含有下列步骤取得文件配置表的起始位置以及长度;按顺序判断该文件配置表中每一簇的连续性;累加不连续簇数;及将该不连续簇数除以簇总数而得到该磁盘碎片率。
2.如权利要求1记载的计算磁盘碎片率的方法,其特征在于所述文件配置表的起始位置以及长度由分析该磁盘的基本输入输出单元参数区块而得到。
3.如权利要求1记载的计算磁盘碎片率的方法,其特征在于取得文件配置表的起始位置以及长度的步骤系包含有取得该磁盘的基本输入输出单元参数区块;分析该基本输入输出单元参数区块的数据;以及取得该文件配置表之起始位置以及长度。
4.如权利要求1记载的计算磁盘碎片率的方法,其特征在于所述簇连续性的判断包含有下列步骤判断该簇是否具有文件的结束标志;判断该簇的接续片段指向非相邻之簇;以及确认该簇为不连续的簇。
5.如权利要求4记载的计算磁盘碎片率的方法,其特征在于在所述判断该簇是否具有文件结束标志的步骤中,如判断为是,则直接确认该簇为不连续簇。
6.如权利要求4记载的计算磁盘碎片率的方法,其特征在于在所述判断该簇的接续片段指向非相邻之簇的步骤中,如判断为指向相邻的簇,则确认该簇为连续的簇。
7.如权利要求4记载的计算磁盘碎片率的方法,其特征在于所述簇总数由该文件配置表的长度除以所述每一簇之长度而得到。
8.一种计算磁盘碎片率的系统,包含有一定位模块,用以定位文件配置表起始位置;一横贯模块,连接于所述定位模块,用以判断所述文件配置表之簇的连续性,并加以累加得到不连续簇的总数;以及一计算模块,连接所述横贯模块,可取得所述不连续簇的总数,并由该数值计算出该磁盘的碎片率。
9.如权利要求8记载的计算磁盘碎片率的系统,其特征在于所述定位模块藉由一基本输入输出单元参数区块而取得所述文件配置表的起始位置及长度,而将该文件配置表加以定位。
10.如权利要求8记载的计算磁盘碎片率的系统,其特征在于藉由判断所述簇是否具有文件的结束标志来决定所述簇的连续性。
11.如权利要求10记载的计算磁盘碎片率的系统,其特征在于所述簇如被判断为不具有文件的结束标志,则判断该簇的接续片段指向非相邻的簇。
12.如权利要求8记载的计算磁盘碎片率的系统,其特征在于所述磁盘的碎片率由将该不连续簇的总数除以簇总数而得到。
13.如权利要求12记载的计算磁盘碎片率的系统,其特征在于所述簇总数由该文件配置表的长度除以每一簇的长度而得到。
全文摘要
一种计算磁盘碎片率的方法及系统,可快速的计算出磁盘碎片的状况;本发明借由取得文件配置表的起始位置以及每一簇的长度,来按顺序判断每一簇是否具有文件结束标志或是接续片段指向相邻区域,决定出不连续簇的总数,从而可决定出磁盘碎片率。
文档编号G11B20/10GK1423271SQ01139859
公开日2003年6月11日 申请日期2001年12月3日 优先权日2001年12月3日
发明者林光信, 刘雅彬 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1