优化存储系统中的文件放置的方法及装置的制作方法

文档序号:6564161阅读:175来源:国知局
专利名称:优化存储系统中的文件放置的方法及装置的制作方法
技术领域
本发明涉及在存储系统中的文件放置技术,具体地说,涉及对存储系 统中的文件》文置进行优化的方法及装置。
背景技术
未见存储系统对于应用程序在执行复杂的数据处理任务的过程中起着重要的作用。现在,应用程序变得越来越复杂,相应地需要越来越多的文 件.例如,在线商店或在线地图的网页通常包括数十个网页单元,每一个 网页都由多个文件组成,而新兴的电子办公文档也需要S1用超过几十个相 关的文件资源来呈现。因此,在诸如硬盘的存储系统中放置文件的方式会 很大程度地影响应用程序对文件的访问性能。例如,如果文件放置得过于
分散,则在执行应用程序时,会增加通过i/o接口访问文件的成本。
对于例如上述的在线商店或在线地图的应用程序,由一个网页的多个 文件组成的一组文件被同时访问的可能性很高.这些应用程序的文件访问 请求总是遵循固定的模式,并且某一组文件总是被同时访问.通常这一组 文件的每个文件被*地放置在硬盘的多个非连续的块中,从而在读取或
写入这些文件时增加了 1/0成本,降低了响应速度.
现有技术的磁盘碎片整理工具可以将一个文件的多个块放在一个连续 的存储空间中,当读取一个文件时,很大的概率是顺序读取该文件的各个 块,这样,磁盘碎片整理工具的整理会使得该文件的读取效率提高,但是 该碎片整理工具同等地处理所有的文件,并不考虑文件之间的相关性.因 此,对于上述一组文件中的多个文件,磁盘碎片整理工具仍然是将其随机 放置在存储空间内的,导致了在例如访问一个网页时硬盘转动的等待时间 较长.显然,如果文件被任意地放置在硬盘上,则文件访问操作等待时间 将变成应用程序或整个系统的性能瓶颈之一.

发明内容
本发明正是基于上述技术问题而提出的,其目的在于提供一种优化存 储系统中的文件放置的方法及装置,其可以根据应用程序调整存储系统中
的文件的放置,从而改善应用程序对文件的访问性能,降低诸如CPU、存 储器、1/0接口和总线等资源的消耗.
根据本发明的 一个方面,提供一种优化存储系统中的文件放置的方法,
包括以下步骤根据上述存储系统中多个文件之间的访问相关性,将上述 多个文件分成至少一个组;以及将上述至少一个组的每一组文件集中地放 置在上述存储系统的一个存储区域中.
根据本发明的另 一个方面,提供一种优化存储系统中的文件放置的装 置,包括分组单元,用于根据上述存储系统中多个文件之间的访问相关 性,将上述多个文件分成至少一个组;以及文件放置单元,用于将上述至 少一个组的每一组文件集中地放置在上述存储系统的一个存储区域中.


图1是根据本发明的一个实施例的优化存储系统中的文件放置的方法 的流程图2是根据本发明的另一个实施例的优化存储系统中的文件放置的方 法的流程图3是才艮据本发明的另一个实施例的优化存储系统中的文件放置的方 法的流程图4是根据本发明的另一个实施例的优化存储系统中的文件放置的方 法的流程图5是根据本发明的另一个实施例的优化存储系统中的文件放置的方 法的流程图6是根据本发明的另一个实施例的优化存储系统中的文件放置的方 法的流程图7是根据本发明的一个实施例的优化存储系统中的文件放置的装置 的示意性框图8是根据本发明的另一个实施例的优化存储系统中的文件放置的装 置的示意性框图9是根据本发明的另一个实施例的优化存储系统中的文件放置的装 置的示意性框图10是根据本发明的另一个实施例的优化存储系统中的文件放置的 装置的示意性框图11是根据本发明的另一个实施例的优化存储系统中的文件放置的 装置的示意性框图12是根据本发明的另一个实施例的优化存储系统中的文件放置的 装置的示意性框图。
具体实施例方式
相信通过以下结合附图对本发明的具体实施例的详细说明,本发明的 上述和其它目的、特征和优点会变得更明显。
图1是根据本发明的一个实施例的优化存储系统中的文件放置的方法 的流程图.
如图l所示,首先在步骤101,获得存储系统中的多个文件之间的访 问相关性。这里的访问相关性是指影响存储系统访问多个文件的速度的因 素.具体地,文件之间的访问相关性可以根据存储系统中的文件的内容获 得.例如, 一个word文件包含有若干图片资源文件,则访问该文件时, 需要访问该多个资源,那么,这些资源之间就具有访问相关性.
另外,如果文件采用标记语言的格式,则可以通过分析一个文件与其
设某个在线商店的网页包含5个网页资源,通常每个网页资源会对应一个
web文件和多个图片资源,那么,在请求呈现该在线商店的网页时,每一 个网页资源会被同时访问,则每一个网页资源之间都具有访问相关性,但 是不同的网页之间的访问相关性整体较差.
在其它的实施例中,还可以分析数据库以获得多个文件之间的访问相 关性.在数据库的结构中隐含了文件之间的逻辑关系,这样,利用分析数 据库结构的专用工具也可以获得文件之间的访问相关性。
在其它的实施例中,还可以分析应用程序的行为以获得多个文件之间 的访问相关性.应用程序的行为,例如对文件的访问/调用,可以在一定程 度上反映出文件之间的访问相关性。在这种情况下,需要在操作系统中使 用专门的监i见/分析应用程序的行为的工具.
在其它的实施例中,文件之间的访问相关性还可以由用户直接标注。
不限于此,还可以使用其它本领域技术人员已知的实施方式。
然后,在步骤102,根据获得的多个文件之间的访问相关性,将存储 系统中的文件分成一个或多个组.文件分组是将具有访问相关性的文件分 成一组.如果存储系统中的所有文件之间都具有访问相关性,则分成一组 文件;如果有多种访问相关性,则文件^皮分成多个组.每一组所包含的文 件之间都具有访问相关性。
然后,在步骤110,将所述一组或多组文件的每组文件集中地i文置在 存储系统的一个存储区域中.在现有技术中,文件通常是3皮任意放置的, 这样同 一个应用程序需要的多个文件可能被放置得很*,造成文件访问 操作等待时间较长,为了解决这一问题,在本实施例中,具有访问相关性 的一组文件,即与同一个应用程序相关联的多个文件,被集中地放置在存 储系统的一个存储区域中,例如硬盘的一个区或连续的多个区.
虽然以上仅说明了一组具有访问相关性的文件的优化放置的情况,但 本领域的技术人员可以很容易地知道,本实施例同样可以应用于多组具有 访问相关性的文件的优化放置.
通过以上描述可以看出,本实施例的优化存储系统中的丈件放置的方 法通过获得多个文件之l可的访问相关性,并将具有访问相关性的文件集中 地放置在一个存储区域内,使得应用程序可以方便地访问与^目关联的文
件,从而改善应用程序对文件的访问性能,降低诸如CPU、存储器、I/O
接口的资源的消耗。
图2是根据本发明的另一个实施例的优化存储系统中的文件放置的方 法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略 其说明.下面结合附图对本实施例进行详细的说明.
如图2所示,在执行了图1的步骤102之后,还可以在步骤203,获 得每组文件在存储系统中的^L程度。在本实施例中,分散程度可以釆用 该组文件中的各个文件在存储系统中所处的位置进行度量.例如,如果存 储系统为一个磁盘,则可以根据文件所处的磁道的距离、或者根据i兹头的 移动距离、或者根据访问文件整体所需的时间度量该文件的M程度;如 果存储系统为多个磁盘,则还可以根据各个磁盘间的访问时间度量文件的 ^ft程度. 一组文件的*程度是该组中所有文件的*程度之和。
然后,在步骤205,按照分散程度对各组文件进行排序,再对排序后 的各组文件执行步骤110:首先将M程度最大的一组具有访问相关性的 文件集中地放置在一个存储区域中,然后按照M程度从大到小依次放置 其余组具有访问相关性的文件。
可选择地,也可以只对^R程度最大的一组文件优化放置,其余的组 随机或者顺序地执行步骤110。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的方 法通过收集文件在存储系统中的现有布局信息,可以确定哪一组文件应当
优先进行文件^:置的优化.
图3是根据本发明的另一个实施例的优^R^储系统中的文件放置的方 法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略 其说明.下面结合附图对本实施例进行详细的说明.
如图3所示,在执行了图1的步骤102之后,还可以在步骤303,获 得每组文件在存储系统中的访问频率, 一组文件的访问频率是该组中所有
文件的访问频率之和。然后,在步骤305,按照访问频率对各组文件进行 排序,再对排序后的各组文件执行步骤110:首先将访问频率最高的一组 具有访问相关性的文件集中地放置到 一个高速存储区域中,然后按照访问 频率从高到低依次将其余组具有访问相关性的文件放置到次高速存储区域 中。
可选择地,也可以只将访问频率最高的 一组文件放置在高速存储区域 中,其余的组随机或者顺序地执行步骤110.
图4是根据本发明的另一个实施例的优化存储系统中的文件放置的方 法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略 其说明。下面结合附图对本实施例进行详细的说明.
如图4所示,在执行了图1的步骤102之后,还可以在步骤403,对 于每组文件,获得该组中每个文件在存储系统中的访问频率。然后,在步 骤405,将每组中的各个文件在各自组内按照访问频率进行排序,再对每 组文件执行步骤110,即,对每一组文件,将其中访问频率高的文件优先 放置在该组文件的存储区域内访问速度快的存储位置,而访问频率4氐的文 件则被》文置在该存储区域内访问速度较慢的存储位置,所谓访问速度快的 存储位置,可以是先被访问的存储位置,或者是距离磁头较近的存储位置, 或者是频繁被访问的存储位置,或者是采用了更高效率的存储设备所在的 位置。
可选择地,对特定的一组文件,也可以只将其中访问频率最高的文件 优先放置在该组文件的存储区域内速度快的存储位置,而其它文件则随机 地放置在该存储区域中.
这样,通过将访问频率高的文件放置在访问速度快的存储区域,可以 大大提高应用程序对文件的访问性能.
此外,如图4所示的实施例也可以与如图2所示的实施例相结合,即, 先对各个组按照M程度进行排序,以获得各个组的优先优化顺序,然后, 对每一组中的各个文件按照访问频率进行排序。最后按照上述的优先优化 顺序,对每组文件执行步骤110.当然,也可以只获得分散程度最大的一
组文件,或者对每一组只获得访问频率最高的文件,然后执行步骤110.
此外,如图4所示的实施例也可以与如图3所示的实施例相结合,即, 先对各个组按照访问频率进行排序,然后对每一组中的各个文件按照访问 频率进行排序,最后对每组文件执行步骤110,即,将访问频率高的组放 置在存储系统的高速存储区域中,并且对于每一组,将其中访问频率高的 文件放置在该组对应的存储区域的访问速度快的存储位置.当然,也可以 只获得访问频率最高的一组,或者对每一组只获得访问频率最高的文件, 然后执行步骤110。
图5是根据本发明的另一个实施例的优化存储系统中的文件放置的方 法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略 其说明.下面结合附图对本实施例进行详细的说明.
如图5所示,在执行了图1的步骤102之后,还可以在步骤503,对 于每组文件,获得其中各个文件在存储系统中的访问顺序。这可以通过分 析应用程序的访问行为而实现.在本实施例中, 一组具有访问相关性的文 件的访问顺序是在执行一个应用程序时该组中各个文件被访问的顺序.
然后,在步骤505,将每组中的各个文件在组内按照访问顺序进行排 序,然后对每组文件执行步骤110,即,对于每一组文件,将其中的各个 文件按照访问顺序的先后次序放置在一个存储区域中.这样,具有访问相 关性的文件不仅可以被集中地放置在一个存储区域中,而且其中的各个文 件也按照访问顺序进行放置,从而进一步提高应用程序对文件的访问性能。
此外,如图5所示的实施例也可以与如图2所示的实施例相结合,即, 先对各个组按照*程度进行排序,以获得各组的优先优化顺序,然后对 每一组中的各个文件按照访问顺序进行排序,最后对每组文件执行步骤 110。当然,也可以只对M程度最大的组执行步骤llO.
此外,如图5所示的实施例也可以与如图3所示的实施例相结合,即, 先对各个组按照访问频率进行排序,以获得各组的优先优化顺序,然后对 每一组中的各个文件按照访问顺序进行排序,最后对每一组执行步骤110. 当然,也可以只对访问频率最高的组执行步骤IIO。
图6是根据本发明的另一个实施例的优化存储系统中的文件放置的方 法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略 其说明.下面结合附图对本实施例进行详细的说明。
如图6所示,在执行了图1的步骤102之后,还可以在步骤603,获 得与多组文件具有访问相关性的至少一个共同文件,然后在步骤605,将 所述共同文件放置在存储系统中访问速度最快的存储区域内,然后对每组 文件执行步骤110.
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的方 法进一步将多个应用程序共用的文件单独地存放在访问速度快的存储区 域,从而进一步地优化了具有访问相关性的文件的放置.
此外,如图6所示的实施例还可以与上述的其它实施例相结合,这对 于本领域的技术人员很容易理解,此处省略相应的说明。
上面以举例的方式说明了优化存储系统中的文件放置的方法的多个实 施例,但是,本领域的技术人员可以根据上述描述联想到其它多种变化的 实施方式,都包含在本发明的范围之中.
在同一个发明构思下,图7是根据本发明的一个实施例的优化存储系 统中的文件放置的装置的示意性框图.下面结合附图对本实施例进^f亍详细 说明,对于与前面实施例相同的部分,适当地省略说明。
如图7所示,本实施例的优化存储系统中的文件放置的装置700包括 分组单元701,用于根据存储系统中多个文件之间的访问相关性,将多个 文件分成一个或多个组;以及文件;^文置单元702,用于将该一个或多个组 的每一组文件集中地放置在存储系统的 一个存储区域中.
具体地,分组单元701是将具有访问相关性的文件分成一组.如果存 储系统中的所有文件之间都具有访问相关性,则分成一组文件;如果有多 种访问相关性,则文件被分成多个组。每一组所包含的文件之间都具有访 问相关性.然后,文件放置单元702将每一组具有访问相关性的文件集中 地放置在存储系统的 一个存储区域中,以使应用程序在访问有关的文件时 能够连续地读取这些文件.
另外,本实施例的优化存储系统中的文件放置的装置700还包括访 问相关性获取单元703,用于获取上述存储系统中多个文件之间的访问相 关性,并提供给分组单元701.如前所述,访问相关性是指影响存储系统 访问多个文件的速度的因素.
具体地,访问相关性获取单元703可以根据存储系统中的文件中的至 少一个文件的内容获得文件之间的访问相关性.如果文件采用标记语言的 格式,则访问相关性获取单元703分析其中一个文件与其它一个或多个文 件的引用关系以获得文件之间的访问相关性.
进一步地,访问相关性获取单元703还可以分析数据库以获得文件之 间的访问相关性.如前所述,4艮据数据库的结构,可以知道文件之间的访 问相关性,在这种情况下,需要访问相关性获取单元703能够支持相应的 数据库的分析功能。
进一步地,访问相关性获取单元703还可以分析应用程序的行为以获 得文件之间的访问相关性。在这种情况下,访问相关性获取单元703对应 用程序的监视和分析需要得到操作系统的支持.
然后,访问相关性获取单元703所得到的多个文件之间的访问相关性 被提供给分组单元701,作为对存储系统中的文件进行分组的1^出.
1应当指出,本实施例的优化存储系统中的文件放置的装置700及其组 件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半 导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备 的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以 由上述硬件电路和软件的结合实现。并且,本实施例的优化存储系统中的 文件放置的装置700在操作上可以实现如图1所示的实施例的优化存储系 统中的文件;改置的方法。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的装 置可以获取存储系统中多个文件之间的访问相关性,并将具有访问相关性 的文件集中地放置在一个存储区域内,使得应用程序可以方便地访问与之 相关联的文件,从而改善应用程序对文件的访问性能,降低诸如CPU、存储器、1/0接口的资源的消耗。
图8是根据本发明的另一个实施例的优化存储系统中的文件放置的装 置800的示意性框图,其中与前面实施例相同的部分采用相同的标记,并 适当省略其说明。下面结合附图,对本实施例进行详细的说明.
如图8所示,本实施例的优化存储系统中的文件放置的装置800在图 7所示的优化存储系统中的文件放置的装置700的基础上,还包括* 程度获取单元801,用于获得由分组单元701分成的一个或多个组的每一 组文件在存储系统中的分散程度;以及第一排序单元802,用于按照上述 M程度对一个或多个组进行排序。
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个 组以后,M程度获取单元801通过对每一组文件中的各个文件在存储系 统中所处的位置进行度量而获取每一组文件的^t程度.然后,第一排序 单元802将这些组按照M程度的大小进行排序,并提供给文件放置单元 702.文件放置单元702首先将^t程度最大的一组文件放置在一个存储区 域中,然后按照M程度从大到小依次将其余组文件放置在相应的存储区 域中。可选择地,文件放置单元702可以仅将^L程度最大的一组文件放
置在一个存储区域中。
应当指出,本实施例的优化存储系统中的文件放置的装置800及其组 件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半 导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备 的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以 由上述硬件电路和软件的结合实现.并且,本实施例的优化存储系统中的 文件放置的装置800在操作上可以实现如图2所示的实施例的优化存储系 统中的文件》文置的方法。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的装 置进一步收集文件在存储系统中的现有布局信息,可以确定哪一组文件应 当优先进行文件放置的优化.
图9是根据本发明的另一个实施例的优化存储系统中的文件放置的装
置900的示意性框图,其中与前面实施例相同的部分采用相同的标记,并 适当省略其说明。下面结合附图对本实施例进行详细描述。
如图9所示,本实施例的优化存储系统中的文件放置的装置900在图 7所示的优化存储系统中的文件放置的装置700的^ 出上,还包括文件 组访问频率获取单元901,其获得由分组单元701分成的一个或多个组的 每一组文件在存储储系统中的访问频率;以及第二排序单元902,其按照 由文件组访问频率获取单元901获得的各组文件的访问频率对各个组进行 排序.
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个 组以后,由文件组访问频率获取单元901获取各组文件的访问频率,其中 一组文件的访问频率是该组中所有文件的访问频率之和.然后,各组文件 的访问频率被提供给第二排序单元902进行排序,并将排序后的各组文件 提供给文件放置单元702.文件放置单元702将一个或多个组中访问频率 最高的一组文件放置到一个高速存储区域中,然后按照访问频率从高到低 依次将其余组文件放置到次高速存储区域中.可选择地,文件放置单元702 可以仅将访问频率最高的 一组文件放置到 一个高速存储区域中.
应当指出,本实施例的优化存储系统中的文件放置的装置900及其组 件可以由诸如超大M^莫集成电路或门阵列、诸如逻辑芯片、晶体管等的半 导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备 的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以 由上述硬件电路和软件的结合实现.并且,本实施例的优化存储系统中的 文件放置的装置900在操作上可以实现如图3所示的实施例的优化存储系 统中的文件放置的方法。
图10是根据本发明的另一个实施例的优化存储系统中的文件放置的 装置1000的示意性框图,其中与前面实施例相同的部分釆用相同的标记, 并适当省略其说明.下面结合附图对本实施例进行详细描述.
如图IO所示,本实施例的优化存储系统中的文件放置的装置1000在 图7所示的优化存储系统中的文件放置的装置700的^ 出上,还包括丈
件访问频率获取单元1001,其对于由分组单元701分成的一个或多个组的 每一组文件,获得该组文件中的各个文件在存储系统中的访问频率;以及 第三排序单元1002,其用于将每一组中的各个文件在各自组内按照访问频 率进行排序.
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个 组以后,由文件访问频率获取单元1001获取每一组文件中的各个文件的访 问频率。然后,每一组的各个文件的访问频率被提供给第三排序单元1002, 由第三排序单元1002对每一组的各个文件在组内进行排序,并将排序后的 各组文件提供给文件放置单元702。文件放置单元702将每一组文件集中 放置在存储系统的 一个存储区域中,并且将各个组中访问频率高的文件放 置在该组文件的存储区域内访问速度快的存储位置,将访问频率低的文件 放置在该存储区域内访问速度慢的存储位置.可选择地,文件放置单元702 仅将每一组文件中访问频率高的文件放置在该组文件的存储区域内访问速 度快的存储位置。
这样,通过将访问频率高的文件放置在访问速度快的存储区域,可以 大大提高应用程序对文件的访问性能.
应当指出,本实施例的优化存储系统中的文件放置的装置1000及其组 件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半 导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备 的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以 由上述硬件电路和软件的结合实现.并且,本实施例的优化存储系统中的 文件放置的装置1000在操作上可以实现如图4所示的实施例的优化存储系 统中的文件放置的方法。
此外,图IO所示的实施例还可以与图8所示的实施例相结合,即,当 分组单元701将存储系统中的文件分成一个或多个组以后,由M禾呈度获 取单元801获取每一组文件的分散程度,并且由文件访问频率获取单元 1001获取每一组文件中的各个文件的访问频率.然后,第一排序单元802 将这些组按照^t程度的大小进行排序,再由第三排序单元1002对每一组的各个文件在组内进行排序。排序后的各组文件被提供给文件放置单元
702.文件放置单元702首先将M程度最大的一组文件放置在一个存储区 域中,然后按照M程度从大到小依次将其余组文件放置在相应的存储区 域中,并且对于每一组文件,将访问频率高的文件放置在该组文件的存储 区域内访问速度快的存储位置,将访问频率低的文件放置在该存储区域内 访问速度慢的存储位置。可选择地,文件放置单元702可以仅将*程度 最大的一组文件放置在一个存储区域中,并且将其中的文件按照访问频率 的高低放置在该存储区域的访问速度快或慢的存储位置;或者仅将每一组 文件中访问频率高的文件放置在该组文件的存储区域内访问速度快的存储 位置.
此外,图IO所示的实施例还可以与图9所示的实施例相结合,即,当 分组单元701将存储系统中的文件分成一个或多个组以后,由文件组访问 频率获取单元901获取各组文件的访问频率,并且由文件访问频率获取单 元1001获取每一组文件中的各个文件的访问频率。然后,各组文件的访问 频率被提供给第二排序单元902进行排序,再由第三排序单元1002对每一 组的各个文件在组内进行排序。排序后的各组文件被提供给文件放置单元 702.文件放置单元702将一个或多个组中访问频率最高的一组文件》丈置到 一个高速存储区域中,然后按照访问频率从高到低依次将其余组文件放置 到次高速存储区域中;并且,对于每一组文件,将各个组中访问频率高的 文件放置在该组文件的存储区域内访问速度快的存储位置,将访问频率低 的文件放置在该存储区域内访问速度慢的存储位置.可选择地,文件放置 单元702可以仅将访问频率最高的一组文件;^置到一个高速存储区域中, 并且将其中的文件按照访问频率的高低放置在该存储区域的访问速度快或 慢的存储位置;或者仅将每一组文件中访问频率高的文件放置在该组文件 的存储区域内访问速度快的存储位置.
图11是根据本发明的另一个实施例的优化存储系统中的文件放置的 装置1100的示意性框图,其中与前面实施例相同的部分采用相同的标记, 并适当省略其说明.下面结合附图对本实施例进行详细描述。
如图ll所示,本实施例的优化存储系统中的文件放置的装置IIOO在 图7所示的优化存储系统中的文件放置的装置700的基础上,还包括文 件访问顺序获取单元1101,用于对于由分组单元701分成的一个或多个组 的每一组文件,获得该组文件中的各个文件在存储系统中的访问顺序;以 及第四排序单元1102,其将每一组中的各个文件在各自组内按照访问顺序 进行排序.
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个 组以后,文件访问顺序获取单元1101获得每一组文件中的各个文件在存储 系统中的访问顺序,如前所述, 一组具有访问相关性的文件的访问顺序是 在执行一个应用程序时该组中各个文件被访问的顺序.然后,第四排序单 元1102根据访问顺序将每一组文件中的各个文件进行排序.排序后的各组 文件被提供给文件放置单元702,由文件放置单元702将每一组文件放置 在一个存储区域中,并且每一组的各个文件按照访问顺序的先后次序放置。
应当指出,本实施例的优化存储系统中的文件放置的装置1100及其组 件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半 导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备 的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以 由上述硬件电路和软件的结合实现。并且,本实施例的优化存储系统中的 文件^L置的装置1100在操作上可以实现如图5所示的实施例的优化存储系 统中的文件力文置的方法.
此外,图ll所示的实施例还可以与图8所示的实施例相结合,即,当 分组单元701将存储系统中的文件分成一个或多个组以后,由*程度获 取单元801获取每一组文件的分散程度,并且由文件访问顺序获取单元 1101获取每一组文件中的各个文件的访问顺序.然后,第一排序单元802 将这些组按照*程度的大小进行排序,再由第四排序单元1102对每一组 的各个文件在组内进行排序.排序后的各组文件被提供给文件放置单元 702.文件放置单元702首先将M程度最大的一组文件放置在一个存储区 域中,然后按照M程度从大到小依次将其余组文件放置在相应的存储区
域中,并且对于每一组文件,各个文件按照访问顺序的先后次序放置。
此外,图ll所示的实施例还可以与图9所示的实施例相结合,即,当 分组单元701将存储系统中的文件分成一个或多个组以后,由文件组访问 频率获取单元901获取各组文件的访问频率,并且由文件访问顺序获取单 元1101获取每一组文件中的各个文件的访问顺序.然后,各组文件的访问 频率被提供给第二排序单元卯2进行排序,再由第四排序单元1102对每一 组的各个文件在组内进行排序。排序后的各组文件被提供给文件放置单元 702。文件放置单元702将一个或多个组中访问频率最高的一组文件;改置到 一个高速存储区域中,然后按照访问频率从高到低依次将其余组文件放置 到次高速存储区域中;并且,对于每一组文件,各个文件按照访问顺序的 先后次序放置.
图12是根据本发明的另一个实施例的优化存储系统中的文件放置的 装置1200的示意性框图,其中与前面实施例相同的部分采用相同的标记, 并适当省略其说明.下面结合附图对本实施例进行详细描述.
如图12所示,本实施例的优化存储系统中的文件放置的装置1200在 图7所示的优化存储系统中的文件放置的装置700的_&> 出上,还包括共 同文件获取单元1201,用于获得与上述至少一个组的每一组文件具有访问 相关性的至少一个共同文件.
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个 组以后,共同文件获取单元1201获得与每一组文件具有访问相关性的一个 或多个共同文件(如果有的话),然后由文件;^文置单元702将该共同文件 放置在存储系统中访问速度最快的存储区域内,然后再将每一组文件放置 在一个存储区域中。
如前所述,共同文件是多个应用程序共用的文件,其会被应用^f呈序频 繁地访问,因此,在本实施例中,将共同文件单独放置在访问速度最快的 存储区域可以提高应用程序的访问效率.
应当指出,本实施例的优化存储系统中的文件放置的装置1200及其组 件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半
导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备 的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以 由上述硬件电路和软件的结合实现.并且,本实施例的优化存储系统中的
文件放置的装置1200在操作上可以实现如图6所示的实施例的优化存储系 统中的文件;故置的方法.
此外,图12所示的实施例可以与上述的各个实施例相结合,根据上述 描述,本领域的技术人员可以容易地理解其实现方式,因此此处不再详细 说明。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的装
域,从而进一步地优化了存储系统中文件的放置.
本发明也可体现在计算机程序产品中,该程序产品包含使能实现本文 中描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行 这些方法.
以上虽然通过一些示例性的实施例详细描述了本发明的优化存储系统 中的文件放置的方法和装置,但是以上这些实施例并不是穷举的,本领域 技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发 明并不限于这些实施例,本发明的范围仅由所附的权利要求限定.
权利要求
1.一种优化存储系统中的文件放置的方法,包括以下步骤根据上述存储系统中多个文件之间的访问相关性,将上述多个文件分成至少一个组;以及将上述至少一个组的每一组文件集中地放置在上述存储系统的一个存储区域中。
2. 根据权利要求1所述的优化存储系统中的文件放置的方法,还包 括获取上述存储系统中多个文件之间的访问相关性。
3. 根据权利要求2所述的优化存储系统中的文件放置的方法,其中,述文件中至少 一 个文件的内容获得上述多个文件之间的访问相关性。
4. 根据权利要求3所述的优化存储系统中的文件放置的方法,其中, 上述文件中至少一个文件采用标记语言的格式;所述获取上述存储系统中多个文件之间的访问相关性的步骤包括分 析上述至少一个文件与其它一个或多个文件的引用关系以获得上述多个文 件之间的访问相关性。
5. 根据权利要求2所述的优化存储系统中的文件放置的方法,其中,据库以获得上述多个文件之间的访问相关性.
6. 根据权利要求2所述的优化存储系统中的文件放置的方法,其中,用程序的行为以获得上述多个文件之间的访问相关性.
7. 根据权利要求2所述的优化存储系统中的文件放置的方法,其中, 所述获取上述存储系统中多个文件之间的访问相关性的步骤包括用户直 接标注多个文件之间的访问相关性.
8. 根据权利要求1至7任意一项所述的优化存储系统中的文件放置 的方法,还包括获得上述至少一个组的每一组文件在上述存储系统中的*程度;按照上述M程度对上述至少一个组进行排序;所述放置步骤包括首先》文置^:程度最大的一组文件,然后按照分 散程度从大到小依次放置其余组文件;或者仅放置^"R程度最大的一组文 件.
9. 根据权利要求1至7任意一项所述的优化存储系统中的文件放置 的方法,还包括获得上述至少一个组的每一组文件在上述存储系统中的 访问频率;按照上述访问频率对上述至少一个组进行排序;所述放置步骤包括将访问频率最高的一组文件放置到一个高速存储 区域中,然后按照访问频率从高到低依次将其余组文件放置到次高速存储 区域中;或者仅将访问频率最高的 一组文件放置到 一个高速存储区域中.
10. 根据权利要求1至9任意一项所述的优化存储系统中的文件放置 的方法,还包括对于上述至少一个组的每一组文件,获得该组文件中的 各个文件在上述存储系统中的访问频率;将每一组中的各个文件在各自组 内按照访问频率进行排序;所述放置步骤还包括对于每一组文件,将访问频率高的文件》文置在 该组文件的存储区域内访问速度快的存储位置,将访问频率低的文件放置 在该存储区域内访问速度慢的存储位置.
11. 根据权利要求1至9任意一项所述的优化存储系统中的文件放置 的方法,还包括对于上述至少一个组的每一组文件,获得该组文件中的 各个文件在上述存储系统中的访问顺序;将每一组中的各个文件在各自组 内按照访问顺序进行排序;所述放置步骤还包括对于每一组文件,将各个文件按照访问顺序的 先后次序;^文置在该组文件的存储区域中.
12. 根据权利要求11所述的优化存储系统中的文件放置的方法,其中, 上述一组文件中的各个文件的访问顺序是在执行一个应用程序时该组文件 中的各个文件被访问的顺序。
13. 根据权利要求1至12任意一项所述的优化存储系统中的文件放置 的方法,在所述二改置步骤之前,还包括获得与上述至少一个组的每一组文件具有访问相关性的文件;将所述与上述至少一个组的每一组文件具有 访问相关性的文件放置在上述存储系统中访问速度最快的存储区域内。
14. 一种优化存储系统中的文件放置的装置,包括分组单元,用于根据上述存储系统中多个文件之间的访问相关性,将 上述多个文件分成至少一个组;以及文件放置单元,用于将上述至少一个组的每一组文件集中地放置在上 述存储系统的一个存储区域中。
15. 根据权利要求14所述的优化存储系统中的文件放置的装置,还包 括访问相关性获取单元,用于获取上述存储系统中多个文件之间的访问 相关性。
16. 根据权利要求15所述的优化存储系统中的文件放置的装置,其中, 所述访问相关性获取单元才艮据上述文件中至少 一个文件的内容获得上述多 个文件之间的访问相关性。
17. 根据权利要求15所述的优化存储系统中的文件;^文置的装置,其中, 上述文件中至少 一个文件采用标记语言的格式;所述访问相关性获取单元用于分析上述至少 一个文件与其它 一个或多
18.根据权利要求15所述的优化存储系统中的文件放置的装置,其中,zs,相关性.
19.根据权利要求15所述的优化存储系统中的文件放置的装置,其中,间的访问相关性.
20.根据权利要求14至19任意 一项所述的优化存储系统中的文件放置 的装置,还包括M程度获取单元,用于获得上述至少一个组的每一组文件在上述存 储系统中的M程度;以及第一排序单元,用于按照上述*程度对上述至少一个组进行排序;其中,上述文件放置单元首先放置*程度最大的一组文件,然后按照分散程度从大到小依次放置其余组文件;或者上述文件放置单元仅放置 *程度最大的 一组文件.
21. 根据权利要求14至19任意一项所述的优化存储系统中的文件放置 的装置,还包括文件组访问频率获取单元,用于获得上述至少一个组的每一组文件在 上述存储储系统中的访问频率;以及笫二排序单元,用于按照上述访问频率对上述至少一个组进行排序;其中,上述文件放置单元将访问频率最高的一组文件放置到一个高速 存储区域中,然后按照访问频率从高到低依次将其余组文件放置到次高速 存储区域中;或者上述文件放置单元仅将访问频率最高的 一组文件;故置到 一个高速存储区域中.
22. 根据权利要求14至21任意一项所述的优化存储系统中的文件放置 的装置,还包括文件访问频率获取单元,用于对于上述至少一个组的每一组文件,获得该组文件中的各个文件在上述存储系统中的访问频率;以及第三排序单元,用于将每一组中的各个文件在各自组内按照访问频率进行排序;其中,上述文件放置单元将每一组文件中访问频率高的文件放置在该 组文件的存储区域内访问速度快的存储位置,将访问频率低的文件》文置在 该存储区域内访问速度慢的存储位置;或者上述文件放置单元仅将每一组 文件中访问频率高的文件放置在该组文件的存储区域内访问速度快的存储 位置.
23. 根据权利要求14至21任意 一项所述的优化存储系统中的文件放置 的装置,还包括文件访问顺序获取单元,用于对于上述至少一个组的每一组文4牛,获 得该组文件中的各个文件在上述存储系统中的访问顺序;以及第四排序单元,用于将每一组中的各个文件在各自组内按照访问顺序进行排序;其中,上述文件放置单元将每一组文件中的各个文件按照访问顺序的 先后次序放置在该组文件的存储区域中.
24.根据权利要求14至23任意一项所述的优化存储系统中的文件放置 的装置,还包括共同文件获取单元,用于获得与上述至少一个组的每一组文件具有访 问相关性的至少 一个共同文件;其中,上述文件放置单元还将所述至少一个共同文件放置在上述存储 系统中访问速度最快的存储区域内.
全文摘要
本发明提供一种优化存储系统中的文件放置的方法及装置,所述方法包括以下步骤根据上述存储系统中多个文件之间的访问相关性,将上述多个文件分成至少一个组;以及将上述至少一个组的每一组文件集中地放置在上述存储系统的一个存储区域中。采用本发明的方法,通过获取文件之间的访问相关性,并将具有访问相关性的文件集中地放置在一个存储区域内,使得应用程序可以高效访问与之相关联的文件,从而改善应用程序对文件的访问性能,降低诸如CPU、存储器、I/O接口的资源消耗。
文档编号G06F17/30GK101196889SQ200610164588
公开日2008年6月11日 申请日期2006年12月8日 优先权日2006年12月8日
发明者哲 向, 民 曲, 闯 李, 王庆波 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1