CN101196889A - 优化存储系统中的文件放置的方法及装置 - Google Patents
优化存储系统中的文件放置的方法及装置 Download PDFInfo
- Publication number
- CN101196889A CN101196889A CNA200610164588XA CN200610164588A CN101196889A CN 101196889 A CN101196889 A CN 101196889A CN A200610164588X A CNA200610164588X A CN A200610164588XA CN 200610164588 A CN200610164588 A CN 200610164588A CN 101196889 A CN101196889 A CN 101196889A
- Authority
- CN
- China
- Prior art keywords
- file
- group
- mentioned
- storage system
- correlativity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
Abstract
本发明提供一种优化存储系统中的文件放置的方法及装置,所述方法包括以下步骤:根据上述存储系统中多个文件之间的访问相关性,将上述多个文件分成至少一个组;以及将上述至少一个组的每一组文件集中地放置在上述存储系统的一个存储区域中。采用本发明的方法,通过获取文件之间的访问相关性,并将具有访问相关性的文件集中地放置在一个存储区域内,使得应用程序可以高效访问与之相关联的文件,从而改善应用程序对文件的访问性能,降低诸如CPU、存储器、I/O接口的资源消耗。
Description
技术领域
本发明涉及在存储系统中的文件放置技术,具体地说,涉及对存储系统中的文件放置进行优化的方法及装置。
背景技术
文件存储系统对于应用程序在执行复杂的数据处理任务的过程中起着重要的作用。现在,应用程序变得越来越复杂,相应地需要越来越多的文件。例如,在线商店或在线地图的网页通常包括数十个网页单元,每一个网页都由多个文件组成,而新兴的电子办公文档也需要引用超过几十个相关的文件资源来呈现。因此,在诸如硬盘的存储系统中放置文件的方式会很大程度地影响应用程序对文件的访问性能。例如,如果文件放置得过于分散,则在执行应用程序时,会增加通过I/O接口访问文件的成本。
对于例如上述的在线商店或在线地图的应用程序,由一个网页的多个文件组成的一组文件被同时访问的可能性很高。这些应用程序的文件访问请求总是遵循固定的模式,并且某一组文件总是被同时访问。通常这一组文件的每个文件被分散地放置在硬盘的多个非连续的块中,从而在读取或写入这些文件时增加了I/O成本,降低了响应速度。
现有技术的磁盘碎片整理工具可以将一个文件的多个块放在一个连续的存储空间中,当读取一个文件时,很大的概率是顺序读取该文件的各个块,这样,磁盘碎片整理工具的整理会使得该文件的读取效率提高,但是该碎片整理工具同等地处理所有的文件,并不考虑文件之间的相关性。因此,对于上述一组文件中的多个文件,磁盘碎片整理工具仍然是将其随机放置在存储空间内的,导致了在例如访问一个网页时硬盘转动的等待时间较长。显然,如果文件被任意地放置在硬盘上,则文件访问操作等待时间将变成应用程序或整个系统的性能瓶颈之一。
发明内容
本发明正是基于上述技术问题而提出的,其目的在于提供一种优化存储系统中的文件放置的方法及装置,其可以根据应用程序调整存储系统中的文件的放置,从而改善应用程序对文件的访问性能,降低诸如CPU、存储器、I/O接口和总线等资源的消耗。
根据本发明的一个方面,提供一种优化存储系统中的文件放置的方法,包括以下步骤:根据上述存储系统中多个文件之间的访问相关性,将上述多个文件分成至少一个组;以及将上述至少一个组的每一组文件集中地放置在上述存储系统的一个存储区域中。
根据本发明的另一个方面,提供一种优化存储系统中的文件放置的装置,包括:分组单元,用于根据上述存储系统中多个文件之间的访问相关性,将上述多个文件分成至少一个组;以及文件放置单元,用于将上述至少一个组的每一组文件集中地放置在上述存储系统的一个存储区域中。
附图说明
图1是根据本发明的一个实施例的优化存储系统中的文件放置的方法的流程图;
图2是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图;
图3是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图;
图4是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图;
图5是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图;
图6是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图;
图7是根据本发明的一个实施例的优化存储系统中的文件放置的装置的示意性框图;
图8是根据本发明的另一个实施例的优化存储系统中的文件放置的装置的示意性框图;
图9是根据本发明的另一个实施例的优化存储系统中的文件放置的装置的示意性框图;
图10是根据本发明的另一个实施例的优化存储系统中的文件放置的装置的示意性框图;
图11是根据本发明的另一个实施例的优化存储系统中的文件放置的装置的示意性框图;
图12是根据本发明的另一个实施例的优化存储系统中的文件放置的装置的示意性框图。
具体实施方式
相信通过以下结合附图对本发明的具体实施例的详细说明,本发明的上述和其它目的、特征和优点会变得更明显。
图1是根据本发明的一个实施例的优化存储系统中的文件放置的方法的流程图。
如图1所示,首先在步骤101,获得存储系统中的多个文件之间的访问相关性。这里的访问相关性是指影响存储系统访问多个文件的速度的因素。具体地,文件之间的访问相关性可以根据存储系统中的文件的内容获得。例如,一个word文件包含有若干图片资源文件,则访问该文件时,需要访问该多个资源,那么,这些资源之间就具有访问相关性。
另外,如果文件采用标记语言的格式,则可以通过分析一个文件与其它一个或多个文件的引用关系获得这些文件之间的访问相关性。例如,假设某个在线商店的网页包含5个网页资源,通常每个网页资源会对应一个web文件和多个图片资源,那么,在请求呈现该在线商店的网页时,每一个网页资源会被同时访问,则每一个网页资源之间都具有访问相关性,但是不同的网页之间的访问相关性整体较差。
在其它的实施例中,还可以分析数据库以获得多个文件之间的访问相关性。在数据库的结构中隐含了文件之间的逻辑关系,这样,利用分析数据库结构的专用工具也可以获得文件之间的访问相关性。
在其它的实施例中,还可以分析应用程序的行为以获得多个文件之间的访问相关性。应用程序的行为,例如对文件的访问/调用,可以在一定程度上反映出文件之间的访问相关性。在这种情况下,需要在操作系统中使用专门的监视/分析应用程序的行为的工具。
在其它的实施例中,文件之间的访问相关性还可以由用户直接标注。
以上列举了获得多个文件之间的访问相关性的几种实施方式,但是并不限于此,还可以使用其它本领域技术人员已知的实施方式。
然后,在步骤102,根据获得的多个文件之间的访问相关性,将存储系统中的文件分成一个或多个组。文件分组是将具有访问相关性的文件分成一组。如果存储系统中的所有文件之间都具有访问相关性,则分成一组文件;如果有多种访问相关性,则文件被分成多个组。每一组所包含的文件之间都具有访问相关性。
然后,在步骤110,将所述一组或多组文件的每组文件集中地放置在存储系统的一个存储区域中。在现有技术中,文件通常是被任意放置的,这样同一个应用程序需要的多个文件可能被放置得很分散,造成文件访问操作等待时间较长,为了解决这一问题,在本实施例中,具有访问相关性的一组文件,即与同一个应用程序相关联的多个文件,被集中地放置在存储系统的一个存储区域中,例如硬盘的一个区或连续的多个区。
虽然以上仅说明了一组具有访问相关性的文件的优化放置的情况,但本领域的技术人员可以很容易地知道,本实施例同样可以应用于多组具有访问相关性的文件的优化放置。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的方法通过获得多个文件之间的访问相关性,并将具有访问相关性的文件集中地放置在一个存储区域内,使得应用程序可以方便地访问与之相关联的文件,从而改善应用程序对文件的访问性能,降低诸如CPU、存储器、I/O接口的资源的消耗。
图2是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图对本实施例进行详细的说明。
如图2所示,在执行了图1的步骤102之后,还可以在步骤203,获得每组文件在存储系统中的分散程度。在本实施例中,分散程度可以采用该组文件中的各个文件在存储系统中所处的位置进行度量。例如,如果存储系统为一个磁盘,则可以根据文件所处的磁道的距离、或者根据磁头的移动距离、或者根据访问文件整体所需的时间度量该文件的分散程度;如果存储系统为多个磁盘,则还可以根据各个磁盘间的访问时间度量文件的分散程度。一组文件的分散程度是该组中所有文件的分散程度之和。
然后,在步骤205,按照分散程度对各组文件进行排序,再对排序后的各组文件执行步骤110:首先将分散程度最大的一组具有访问相关性的文件集中地放置在一个存储区域中,然后按照分散程度从大到小依次放置其余组具有访问相关性的文件。
可选择地,也可以只对分散程度最大的一组文件优化放置,其余的组随机或者顺序地执行步骤110。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的方法通过收集文件在存储系统中的现有布局信息,可以确定哪一组文件应当优先进行文件放置的优化。
图3是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图对本实施例进行详细的说明。
如图3所示,在执行了图1的步骤102之后,还可以在步骤303,获得每组文件在存储系统中的访问频率,一组文件的访问频率是该组中所有文件的访问频率之和。然后,在步骤305,按照访问频率对各组文件进行排序,再对排序后的各组文件执行步骤110:首先将访问频率最高的一组具有访问相关性的文件集中地放置到一个高速存储区域中,然后按照访问频率从高到低依次将其余组具有访问相关性的文件放置到次高速存储区域中。
可选择地,也可以只将访问频率最高的一组文件放置在高速存储区域中,其余的组随机或者顺序地执行步骤110。
图4是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图对本实施例进行详细的说明。
如图4所示,在执行了图1的步骤102之后,还可以在步骤403,对于每组文件,获得该组中每个文件在存储系统中的访问频率。然后,在步骤405,将每组中的各个文件在各自组内按照访问频率进行排序,再对每组文件执行步骤110,即,对每一组文件,将其中访问频率高的文件优先放置在该组文件的存储区域内访问速度快的存储位置,而访问频率低的文件则被放置在该存储区域内访问速度较慢的存储位置。所谓访问速度快的存储位置,可以是先被访问的存储位置,或者是距离磁头较近的存储位置,或者是频繁被访问的存储位置,或者是采用了更高效率的存储设备所在的位置。
可选择地,对特定的一组文件,也可以只将其中访问频率最高的文件优先放置在该组文件的存储区域内速度快的存储位置,而其它文件则随机地放置在该存储区域中。
这样,通过将访问频率高的文件放置在访问速度快的存储区域,可以大大提高应用程序对文件的访问性能。
此外,如图4所示的实施例也可以与如图2所示的实施例相结合,即,先对各个组按照分散程度进行排序,以获得各个组的优先优化顺序,然后,对每一组中的各个文件按照访问频率进行排序。最后按照上述的优先优化顺序,对每组文件执行步骤110。当然,也可以只获得分散程度最大的一组文件,或者对每一组只获得访问频率最高的文件,然后执行步骤110。
此外,如图4所示的实施例也可以与如图3所示的实施例相结合,即,先对各个组按照访问频率进行排序,然后对每一组中的各个文件按照访问频率进行排序,最后对每组文件执行步骤110,即,将访问频率高的组放置在存储系统的高速存储区域中,并且对于每一组,将其中访问频率高的文件放置在该组对应的存储区域的访问速度快的存储位置。当然,也可以只获得访问频率最高的一组,或者对每一组只获得访问频率最高的文件,然后执行步骤110。
图5是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图对本实施例进行详细的说明。
如图5所示,在执行了图1的步骤102之后,还可以在步骤503,对于每组文件,获得其中各个文件在存储系统中的访问顺序。这可以通过分析应用程序的访问行为而实现。在本实施例中,一组具有访问相关性的文件的访问顺序是在执行一个应用程序时该组中各个文件被访问的顺序。
然后,在步骤505,将每组中的各个文件在组内按照访问顺序进行排序,然后对每组文件执行步骤110,即,对于每一组文件,将其中的各个文件按照访问顺序的先后次序放置在一个存储区域中。这样,具有访问相关性的文件不仅可以被集中地放置在一个存储区域中,而且其中的各个文件也按照访问顺序进行放置,从而进一步提高应用程序对文件的访问性能。
此外,如图5所示的实施例也可以与如图2所示的实施例相结合,即,先对各个组按照分散程度进行排序,以获得各组的优先优化顺序,然后对每一组中的各个文件按照访问顺序进行排序,最后对每组文件执行步骤110。当然,也可以只对分散程度最大的组执行步骤110。
此外,如图5所示的实施例也可以与如图3所示的实施例相结合,即,先对各个组按照访问频率进行排序,以获得各组的优先优化顺序,然后对每一组中的各个文件按照访问顺序进行排序,最后对每一组执行步骤110。当然,也可以只对访问频率最高的组执行步骤110。
图6是根据本发明的另一个实施例的优化存储系统中的文件放置的方法的流程图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图对本实施例进行详细的说明。
如图6所示,在执行了图1的步骤102之后,还可以在步骤603,获得与多组文件具有访问相关性的至少一个共同文件,然后在步骤605,将所述共同文件放置在存储系统中访问速度最快的存储区域内,然后对每组文件执行步骤110。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的方法进一步将多个应用程序共用的文件单独地存放在访问速度快的存储区域,从而进一步地优化了具有访问相关性的文件的放置。
此外,如图6所示的实施例还可以与上述的其它实施例相结合,这对于本领域的技术人员很容易理解,此处省略相应的说明。
上面以举例的方式说明了优化存储系统中的文件放置的方法的多个实施例,但是,本领域的技术人员可以根据上述描述联想到其它多种变化的实施方式,都包含在本发明的范围之中。
在同一个发明构思下,图7是根据本发明的一个实施例的优化存储系统中的文件放置的装置的示意性框图。下面结合附图对本实施例进行详细说明,对于与前面实施例相同的部分,适当地省略说明。
如图7所示,本实施例的优化存储系统中的文件放置的装置700包括:分组单元701,用于根据存储系统中多个文件之间的访问相关性,将多个文件分成一个或多个组;以及文件放置单元702,用于将该一个或多个组的每一组文件集中地放置在存储系统的一个存储区域中。
具体地,分组单元701是将具有访问相关性的文件分成一组。如果存储系统中的所有文件之间都具有访问相关性,则分成一组文件;如果有多种访问相关性,则文件被分成多个组。每一组所包含的文件之间都具有访问相关性。然后,文件放置单元702将每一组具有访问相关性的文件集中地放置在存储系统的一个存储区域中,以使应用程序在访问有关的文件时能够连续地读取这些文件。
另外,本实施例的优化存储系统中的文件放置的装置700还包括:访问相关性获取单元703,用于获取上述存储系统中多个文件之间的访问相关性,并提供给分组单元701。如前所述,访问相关性是指影响存储系统访问多个文件的速度的因素。
具体地,访问相关性获取单元703可以根据存储系统中的文件中的至少一个文件的内容获得文件之间的访问相关性。如果文件采用标记语言的格式,则访问相关性获取单元703分析其中一个文件与其它一个或多个文件的引用关系以获得文件之间的访问相关性。
进一步地,访问相关性获取单元703还可以分析数据库以获得文件之间的访问相关性。如前所述,根据数据库的结构,可以知道文件之间的访问相关性,在这种情况下,需要访问相关性获取单元703能够支持相应的数据库的分析功能。
进一步地,访问相关性获取单元703还可以分析应用程序的行为以获得文件之间的访问相关性。在这种情况下,访问相关性获取单元703对应用程序的监视和分析需要得到操作系统的支持。
然后,访问相关性获取单元703所得到的多个文件之间的访问相关性被提供给分组单元701,作为对存储系统中的文件进行分组的基础。
应当指出,本实施例的优化存储系统中的文件放置的装置700及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。并且,本实施例的优化存储系统中的文件放置的装置700在操作上可以实现如图1所示的实施例的优化存储系统中的文件放置的方法。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的装置可以获取存储系统中多个文件之间的访问相关性,并将具有访问相关性的文件集中地放置在一个存储区域内,使得应用程序可以方便地访问与之相关联的文件,从而改善应用程序对文件的访问性能,降低诸如CPU、存储器、I/O接口的资源的消耗。
图8是根据本发明的另一个实施例的优化存储系统中的文件放置的装置800的示意性框图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图,对本实施例进行详细的说明。
如图8所示,本实施例的优化存储系统中的文件放置的装置800在图7所示的优化存储系统中的文件放置的装置700的基础上,还包括:分散程度获取单元801,用于获得由分组单元701分成的一个或多个组的每一组文件在存储系统中的分散程度;以及第一排序单元802,用于按照上述分散程度对一个或多个组进行排序。
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个组以后,分散程度获取单元801通过对每一组文件中的各个文件在存储系统中所处的位置进行度量而获取每一组文件的分散程度。然后,第一排序单元802将这些组按照分散程度的大小进行排序,并提供给文件放置单元702。文件放置单元702首先将分散程度最大的一组文件放置在一个存储区域中,然后按照分散程度从大到小依次将其余组文件放置在相应的存储区域中。可选择地,文件放置单元702可以仅将分散程度最大的一组文件放置在一个存储区域中。
应当指出,本实施例的优化存储系统中的文件放置的装置800及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。并且,本实施例的优化存储系统中的文件放置的装置800在操作上可以实现如图2所示的实施例的优化存储系统中的文件放置的方法。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的装置进一步收集文件在存储系统中的现有布局信息,可以确定哪一组文件应当优先进行文件放置的优化。
图9是根据本发明的另一个实施例的优化存储系统中的文件放置的装置900的示意性框图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图对本实施例进行详细描述。
如图9所示,本实施例的优化存储系统中的文件放置的装置900在图7所示的优化存储系统中的文件放置的装置700的基础上,还包括:文件组访问频率获取单元901,其获得由分组单元701分成的一个或多个组的每一组文件在存储储系统中的访问频率;以及第二排序单元902,其按照由文件组访问频率获取单元901获得的各组文件的访问频率对各个组进行排序。
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个组以后,由文件组访问频率获取单元901获取各组文件的访问频率,其中一组文件的访问频率是该组中所有文件的访问频率之和。然后,各组文件的访问频率被提供给第二排序单元902进行排序,并将排序后的各组文件提供给文件放置单元702。文件放置单元702将一个或多个组中访问频率最高的一组文件放置到一个高速存储区域中,然后按照访问频率从高到低依次将其余组文件放置到次高速存储区域中。可选择地,文件放置单元702可以仅将访问频率最高的一组文件放置到一个高速存储区域中。
应当指出,本实施例的优化存储系统中的文件放置的装置900及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。并且,本实施例的优化存储系统中的文件放置的装置900在操作上可以实现如图3所示的实施例的优化存储系统中的文件放置的方法。
图10是根据本发明的另一个实施例的优化存储系统中的文件放置的装置1000的示意性框图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图对本实施例进行详细描述。
如图10所示,本实施例的优化存储系统中的文件放置的装置1000在图7所示的优化存储系统中的文件放置的装置700的基础上,还包括:文件访问频率获取单元1001,其对于由分组单元701分成的一个或多个组的每一组文件,获得该组文件中的各个文件在存储系统中的访问频率;以及第三排序单元1002,其用于将每一组中的各个文件在各自组内按照访问频率进行排序。
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个组以后,由文件访问频率获取单元1001获取每一组文件中的各个文件的访问频率。然后,每一组的各个文件的访问频率被提供给第三排序单元1002,由第三排序单元1002对每一组的各个文件在组内进行排序,并将排序后的各组文件提供给文件放置单元702。文件放置单元702将每一组文件集中放置在存储系统的一个存储区域中,并且将各个组中访问频率高的文件放置在该组文件的存储区域内访问速度快的存储位置,将访问频率低的文件放置在该存储区域内访问速度慢的存储位置。可选择地,文件放置单元702仅将每一组文件中访问频率高的文件放置在该组文件的存储区域内访问速度快的存储位置。
这样,通过将访问频率高的文件放置在访问速度快的存储区域,可以大大提高应用程序对文件的访问性能。
应当指出,本实施例的优化存储系统中的文件放置的装置1000及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。并且,本实施例的优化存储系统中的文件放置的装置1000在操作上可以实现如图4所示的实施例的优化存储系统中的文件放置的方法。
此外,图10所示的实施例还可以与图8所示的实施例相结合,即,当分组单元701将存储系统中的文件分成一个或多个组以后,由分散程度获取单元801获取每一组文件的分散程度,并且由文件访问频率获取单元1001获取每一组文件中的各个文件的访问频率。然后,第一排序单元802将这些组按照分散程度的大小进行排序,再由第三排序单元1002对每一组的各个文件在组内进行排序。排序后的各组文件被提供给文件放置单元702。文件放置单元702首先将分散程度最大的一组文件放置在一个存储区域中,然后按照分散程度从大到小依次将其余组文件放置在相应的存储区域中,并且对于每一组文件,将访问频率高的文件放置在该组文件的存储区域内访问速度快的存储位置,将访问频率低的文件放置在该存储区域内访问速度慢的存储位置。可选择地,文件放置单元702可以仅将分散程度最大的一组文件放置在一个存储区域中,并且将其中的文件按照访问频率的高低放置在该存储区域的访问速度快或慢的存储位置;或者仅将每一组文件中访问频率高的文件放置在该组文件的存储区域内访问速度快的存储位置。
此外,图10所示的实施例还可以与图9所示的实施例相结合,即,当分组单元701将存储系统中的文件分成一个或多个组以后,由文件组访问频率获取单元901获取各组文件的访问频率,并且由文件访问频率获取单元1001获取每一组文件中的各个文件的访问频率。然后,各组文件的访问频率被提供给第二排序单元902进行排序,再由第三排序单元1002对每一组的各个文件在组内进行排序。排序后的各组文件被提供给文件放置单元702。文件放置单元702将一个或多个组中访问频率最高的一组文件放置到一个高速存储区域中,然后按照访问频率从高到低依次将其余组文件放置到次高速存储区域中;并且,对于每一组文件,将各个组中访问频率高的文件放置在该组文件的存储区域内访问速度快的存储位置,将访问频率低的文件放置在该存储区域内访问速度慢的存储位置。可选择地,文件放置单元702可以仅将访问频率最高的一组文件放置到一个高速存储区域中,并且将其中的文件按照访问频率的高低放置在该存储区域的访问速度快或慢的存储位置;或者仅将每一组文件中访问频率高的文件放置在该组文件的存储区域内访问速度快的存储位置。
图11是根据本发明的另一个实施例的优化存储系统中的文件放置的装置1100的示意性框图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图对本实施例进行详细描述。
如图11所示,本实施例的优化存储系统中的文件放置的装置1100在图7所示的优化存储系统中的文件放置的装置700的基础上,还包括:文件访问顺序获取单元1101,用于对于由分组单元701分成的一个或多个组的每一组文件,获得该组文件中的各个文件在存储系统中的访问顺序;以及第四排序单元1102,其将每一组中的各个文件在各自组内按照访问顺序进行排序。
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个组以后,文件访问顺序获取单元1101获得每一组文件中的各个文件在存储系统中的访问顺序,如前所述,一组具有访问相关性的文件的访问顺序是在执行一个应用程序时该组中各个文件被访问的顺序。然后,第四排序单元1102根据访问顺序将每一组文件中的各个文件进行排序。排序后的各组文件被提供给文件放置单元702,由文件放置单元702将每一组文件放置在一个存储区域中,并且每一组的各个文件按照访问顺序的先后次序放置。
应当指出,本实施例的优化存储系统中的文件放置的装置1100及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。并且,本实施例的优化存储系统中的文件放置的装置1100在操作上可以实现如图5所示的实施例的优化存储系统中的文件放置的方法。
此外,图11所示的实施例还可以与图8所示的实施例相结合,即,当分组单元701将存储系统中的文件分成一个或多个组以后,由分散程度获取单元801获取每一组文件的分散程度,并且由文件访问顺序获取单元1101获取每一组文件中的各个文件的访问顺序。然后,第一排序单元802将这些组按照分散程度的大小进行排序,再由第四排序单元1102对每一组的各个文件在组内进行排序。排序后的各组文件被提供给文件放置单元702。文件放置单元702首先将分散程度最大的一组文件放置在一个存储区域中,然后按照分散程度从大到小依次将其余组文件放置在相应的存储区域中,并且对于每一组文件,各个文件按照访问顺序的先后次序放置。
此外,图11所示的实施例还可以与图9所示的实施例相结合,即,当分组单元701将存储系统中的文件分成一个或多个组以后,由文件组访问频率获取单元901获取各组文件的访问频率,并且由文件访问顺序获取单元1101获取每一组文件中的各个文件的访问顺序。然后,各组文件的访问频率被提供给第二排序单元902进行排序,再由第四排序单元1102对每一组的各个文件在组内进行排序。排序后的各组文件被提供给文件放置单元702。文件放置单元702将一个或多个组中访问频率最高的一组文件放置到一个高速存储区域中,然后按照访问频率从高到低依次将其余组文件放置到次高速存储区域中;并且,对于每一组文件,各个文件按照访问顺序的先后次序放置。
图12是根据本发明的另一个实施例的优化存储系统中的文件放置的装置1200的示意性框图,其中与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图对本实施例进行详细描述。
如图12所示,本实施例的优化存储系统中的文件放置的装置1200在图7所示的优化存储系统中的文件放置的装置700的基础上,还包括:共同文件获取单元1201,用于获得与上述至少一个组的每一组文件具有访问相关性的至少一个共同文件。
在本实施例中,当分组单元701将存储系统中的文件分成一个或多个组以后,共同文件获取单元1201获得与每一组文件具有访问相关性的一个或多个共同文件(如果有的话),然后由文件放置单元702将该共同文件放置在存储系统中访问速度最快的存储区域内,然后再将每一组文件放置在一个存储区域中。
如前所述,共同文件是多个应用程序共用的文件,其会被应用程序频繁地访问,因此,在本实施例中,将共同文件单独放置在访问速度最快的存储区域可以提高应用程序的访问效率。
应当指出,本实施例的优化存储系统中的文件放置的装置1200及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。并且,本实施例的优化存储系统中的文件放置的装置1200在操作上可以实现如图6所示的实施例的优化存储系统中的文件放置的方法。
此外,图12所示的实施例可以与上述的各个实施例相结合,根据上述描述,本领域的技术人员可以容易地理解其实现方式,因此此处不再详细说明。
通过以上描述可以看出,本实施例的优化存储系统中的文件放置的装置进一步将多个应用程序共用的文件单独地存放在访问速度快的存储区域,从而进一步地优化了存储系统中文件的放置。
本发明也可体现在计算机程序产品中,该程序产品包含使能实现本文中描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行这些方法。
以上虽然通过一些示例性的实施例详细描述了本发明的优化存储系统中的文件放置的方法和装置,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附的权利要求限定。
Claims (24)
1.一种优化存储系统中的文件放置的方法,包括以下步骤:
根据上述存储系统中多个文件之间的访问相关性,将上述多个文件分成至少一个组;以及
将上述至少一个组的每一组文件集中地放置在上述存储系统的一个存储区域中。
2.根据权利要求1所述的优化存储系统中的文件放置的方法,还包括:获取上述存储系统中多个文件之间的访问相关性。
3.根据权利要求2所述的优化存储系统中的文件放置的方法,其中,所述获取上述存储系统中多个文件之间的访问相关性的步骤包括:根据上述文件中至少一个文件的内容获得上述多个文件之间的访问相关性。
4.根据权利要求3所述的优化存储系统中的文件放置的方法,其中,上述文件中至少一个文件采用标记语言的格式;
所述获取上述存储系统中多个文件之间的访问相关性的步骤包括:分析上述至少一个文件与其它一个或多个文件的引用关系以获得上述多个文件之间的访问相关性。
5.根据权利要求2所述的优化存储系统中的文件放置的方法,其中,所述获取上述存储系统中多个文件之间的访问相关性的步骤包括:分析数据库以获得上述多个文件之间的访问相关性。
6.根据权利要求2所述的优化存储系统中的文件放置的方法,其中,所述获取上述存储系统中多个文件之间的访问相关性的步骤包括:分析应用程序的行为以获得上述多个文件之间的访问相关性。
7.根据权利要求2所述的优化存储系统中的文件放置的方法,其中,所述获取上述存储系统中多个文件之间的访问相关性的步骤包括:用户直接标注多个文件之间的访问相关性。
8.根据权利要求1至7任意一项所述的优化存储系统中的文件放置的方法,还包括:获得上述至少一个组的每一组文件在上述存储系统中的分散程度;按照上述分散程度对上述至少一个组进行排序;
所述放置步骤包括:首先放置分散程度最大的一组文件,然后按照分散程度从大到小依次放置其余组文件;或者仅放置分散程度最大的一组文件。
9.根据权利要求1至7任意一项所述的优化存储系统中的文件放置的方法,还包括:获得上述至少一个组的每一组文件在上述存储系统中的访问频率;按照上述访问频率对上述至少一个组进行排序;
所述放置步骤包括:将访问频率最高的一组文件放置到一个高速存储区域中,然后按照访问频率从高到低依次将其余组文件放置到次高速存储区域中;或者仅将访问频率最高的一组文件放置到一个高速存储区域中。
10.根据权利要求1至9任意一项所述的优化存储系统中的文件放置的方法,还包括:对于上述至少一个组的每一组文件,获得该组文件中的各个文件在上述存储系统中的访问频率;将每一组中的各个文件在各自组内按照访问频率进行排序;
所述放置步骤还包括:对于每一组文件,将访问频率高的文件放置在该组文件的存储区域内访问速度快的存储位置,将访问频率低的文件放置在该存储区域内访问速度慢的存储位置。
11.根据权利要求1至9任意一项所述的优化存储系统中的文件放置的方法,还包括:对于上述至少一个组的每一组文件,获得该组文件中的各个文件在上述存储系统中的访问顺序;将每一组中的各个文件在各自组内按照访问顺序进行排序;
所述放置步骤还包括:对于每一组文件,将各个文件按照访问顺序的先后次序放置在该组文件的存储区域中。
12.根据权利要求11所述的优化存储系统中的文件放置的方法,其中,上述一组文件中的各个文件的访问顺序是在执行一个应用程序时该组文件中的各个文件被访问的顺序。
13.根据权利要求1至12任意一项所述的优化存储系统中的文件放置的方法,在所述放置步骤之前,还包括:获得与上述至少一个组的每一组文件具有访问相关性的文件;将所述与上述至少一个组的每一组文件具有访问相关性的文件放置在上述存储系统中访问速度最快的存储区域内。
14.一种优化存储系统中的文件放置的装置,包括:
分组单元,用于根据上述存储系统中多个文件之间的访问相关性,将上述多个文件分成至少一个组;以及
文件放置单元,用于将上述至少一个组的每一组文件集中地放置在上述存储系统的一个存储区域中。
15.根据权利要求14所述的优化存储系统中的文件放置的装置,还包括:访问相关性获取单元,用于获取上述存储系统中多个文件之间的访问相关性。
16.根据权利要求15所述的优化存储系统中的文件放置的装置,其中,所述访问相关性获取单元根据上述文件中至少一个文件的内容获得上述多个文件之间的访问相关性。
17.根据权利要求15所述的优化存储系统中的文件放置的装置,其中,上述文件中至少一个文件采用标记语言的格式;
所述访问相关性获取单元用于分析上述至少一个文件与其它一个或多个文件的引用关系以获得上述多个文件之间的访问相关性。
18.根据权利要求15所述的优化存储系统中的文件放置的装置,其中,所述访问相关性获取单元用于分析数据库以获得上述多个文件之间的访问相关性。
19.根据权利要求15所述的优化存储系统中的文件放置的装置,其中,所述访问相关性获取单元用于分析应用程序的行为以获得上述多个文件之间的访问相关性。
20.根据权利要求14至19任意一项所述的优化存储系统中的文件放置的装置,还包括:
分散程度获取单元,用于获得上述至少一个组的每一组文件在上述存储系统中的分散程度;以及
第一排序单元,用于按照上述分散程度对上述至少一个组进行排序;
其中,上述文件放置单元首先放置分散程度最大的一组文件,然后按照分散程度从大到小依次放置其余组文件;或者上述文件放置单元仅放置分散程度最大的一组文件。
21.根据权利要求14至19任意一项所述的优化存储系统中的文件放置的装置,还包括:
文件组访问频率获取单元,用于获得上述至少一个组的每一组文件在上述存储储系统中的访问频率;以及
第二排序单元,用于按照上述访问频率对上述至少一个组进行排序;
其中,上述文件放置单元将访问频率最高的一组文件放置到一个高速存储区域中,然后按照访问频率从高到低依次将其余组文件放置到次高速存储区域中;或者上述文件放置单元仅将访问频率最高的一组文件放置到一个高速存储区域中。
22.根据权利要求14至21任意一项所述的优化存储系统中的文件放置的装置,还包括:
文件访问频率获取单元,用于对于上述至少一个组的每一组文件,获得该组文件中的各个文件在上述存储系统中的访问频率;以及
第三排序单元,用于将每一组中的各个文件在各自组内按照访问频率进行排序;
其中,上述文件放置单元将每一组文件中访问频率高的文件放置在该组文件的存储区域内访问速度快的存储位置,将访问频率低的文件放置在该存储区域内访问速度慢的存储位置;或者上述文件放置单元仅将每一组文件中访问频率高的文件放置在该组文件的存储区域内访问速度快的存储位置。
23.根据权利要求14至21任意一项所述的优化存储系统中的文件放置的装置,还包括:
文件访问顺序获取单元,用于对于上述至少一个组的每一组文件,获得该组文件中的各个文件在上述存储系统中的访问顺序;以及
第四排序单元,用于将每一组中的各个文件在各自组内按照访问顺序进行排序;
其中,上述文件放置单元将每一组文件中的各个文件按照访问顺序的先后次序放置在该组文件的存储区域中。
24.根据权利要求14至23任意一项所述的优化存储系统中的文件放置的装置,还包括:
共同文件获取单元,用于获得与上述至少一个组的每一组文件具有访问相关性的至少一个共同文件;
其中,上述文件放置单元还将所述至少一个共同文件放置在上述存储系统中访问速度最快的存储区域内。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200610164588XA CN101196889A (zh) | 2006-12-08 | 2006-12-08 | 优化存储系统中的文件放置的方法及装置 |
US11/860,572 US20080140691A1 (en) | 2006-12-08 | 2007-09-25 | Method, Device and Computer Program Product for Optimizing File Placement in a Storage System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200610164588XA CN101196889A (zh) | 2006-12-08 | 2006-12-08 | 优化存储系统中的文件放置的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101196889A true CN101196889A (zh) | 2008-06-11 |
Family
ID=39499519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200610164588XA Pending CN101196889A (zh) | 2006-12-08 | 2006-12-08 | 优化存储系统中的文件放置的方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080140691A1 (zh) |
CN (1) | CN101196889A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200208A (zh) * | 2012-01-06 | 2013-07-10 | 湖南智源信息网络技术开发有限公司 | 一种基于频率的分发数据请求方法及装置 |
CN103581051A (zh) * | 2012-08-02 | 2014-02-12 | 深圳市腾讯计算机系统有限公司 | 一种文件缓存方法、装置和系统 |
CN103703450A (zh) * | 2011-07-20 | 2014-04-02 | 华为技术有限公司 | Ssd存储访问的方法和装置 |
CN104144194A (zh) * | 2013-05-10 | 2014-11-12 | 中国移动通信集团公司 | 云存储系统的数据处理方法及装置 |
CN106802868A (zh) * | 2015-11-25 | 2017-06-06 | 通用汽车环球科技运作有限责任公司 | 通过数据挖掘优化的存储器配置 |
CN107729558A (zh) * | 2017-11-08 | 2018-02-23 | 郑州云海信息技术有限公司 | 文件系统碎片整理的方法、系统、装置及计算机存储介质 |
CN111857593A (zh) * | 2020-07-21 | 2020-10-30 | 星辰天合(北京)数据科技有限公司 | 提高快照数据和克隆数据读写速度的方法与装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101478619B1 (ko) | 2008-02-27 | 2015-01-06 | 삼성전자주식회사 | 가상화 기술을 이용한 데이터 입출력 방법 및 장치 |
US8510528B2 (en) | 2010-12-29 | 2013-08-13 | Teradata Us, Inc. | Differential data storage based on predicted access frequency |
US20150052164A1 (en) * | 2012-03-30 | 2015-02-19 | Hewlett-Packard Development Company L.P. | Associating an application with an application file |
JP7371481B2 (ja) * | 2019-12-17 | 2023-10-31 | 富士通株式会社 | ストレージ制御装置,ストレージシステム及び制御プログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5333311A (en) * | 1990-12-10 | 1994-07-26 | Alsoft, Inc. | Optimizing a magnetic disk by allocating files by the frequency a file is accessed/updated or by designating a file to a fixed location on a disk |
US5440737A (en) * | 1993-07-23 | 1995-08-08 | Nec Corporation | File-allocation control system for allocating files according to user-program priority and storage volume performance |
US6505217B1 (en) * | 1998-11-25 | 2003-01-07 | Compaq Computer Corporation | Method and apparatus for file placement |
US20030133008A1 (en) * | 1999-02-02 | 2003-07-17 | Stanley W. Stephenson | Wearable panoramic imager |
US7058763B2 (en) * | 2001-05-04 | 2006-06-06 | Lucent Technologies Inc. | File system for caching web proxies |
JP2003091727A (ja) * | 2001-09-17 | 2003-03-28 | Canon Inc | 画像処理装置及びその方法、プログラム |
US7003035B2 (en) * | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
US7213058B1 (en) * | 2002-02-27 | 2007-05-01 | Bellsouth Intellectual Property Corporation | Systems and methods for processing and managing collocation application over a computer network |
US20050046817A1 (en) * | 2003-08-26 | 2005-03-03 | Communication Synergy Technologies | Content preservation |
JP3882005B2 (ja) * | 2005-03-02 | 2007-02-14 | 松下電器産業株式会社 | 画像生成方法、物体検出方法、物体検出装置および画像生成プログラム |
US20070074035A1 (en) * | 2005-09-29 | 2007-03-29 | Tom Scanlon | Secure recordation for inspection systems and methods |
-
2006
- 2006-12-08 CN CNA200610164588XA patent/CN101196889A/zh active Pending
-
2007
- 2007-09-25 US US11/860,572 patent/US20080140691A1/en not_active Abandoned
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11169710B2 (en) | 2011-07-20 | 2021-11-09 | Futurewei Technologies, Inc. | Method and apparatus for SSD storage access |
CN103703450A (zh) * | 2011-07-20 | 2014-04-02 | 华为技术有限公司 | Ssd存储访问的方法和装置 |
CN103703450B (zh) * | 2011-07-20 | 2016-12-21 | 华为技术有限公司 | Ssd存储访问的方法和装置 |
US10089017B2 (en) | 2011-07-20 | 2018-10-02 | Futurewei Technologies, Inc. | Method and apparatus for SSD storage access |
US11960726B2 (en) | 2011-07-20 | 2024-04-16 | Futurewei Technologies, Inc. | Method and apparatus for SSD storage access |
CN103200208A (zh) * | 2012-01-06 | 2013-07-10 | 湖南智源信息网络技术开发有限公司 | 一种基于频率的分发数据请求方法及装置 |
CN103581051A (zh) * | 2012-08-02 | 2014-02-12 | 深圳市腾讯计算机系统有限公司 | 一种文件缓存方法、装置和系统 |
CN103581051B (zh) * | 2012-08-02 | 2018-04-20 | 深圳市腾讯计算机系统有限公司 | 一种文件缓存方法、装置和系统 |
CN104144194A (zh) * | 2013-05-10 | 2014-11-12 | 中国移动通信集团公司 | 云存储系统的数据处理方法及装置 |
CN106802868A (zh) * | 2015-11-25 | 2017-06-06 | 通用汽车环球科技运作有限责任公司 | 通过数据挖掘优化的存储器配置 |
CN106802868B (zh) * | 2015-11-25 | 2021-01-05 | 通用汽车环球科技运作有限责任公司 | 通过数据挖掘优化的存储器配置 |
CN107729558A (zh) * | 2017-11-08 | 2018-02-23 | 郑州云海信息技术有限公司 | 文件系统碎片整理的方法、系统、装置及计算机存储介质 |
CN107729558B (zh) * | 2017-11-08 | 2021-06-29 | 郑州云海信息技术有限公司 | 文件系统碎片整理的方法、系统、装置及计算机存储介质 |
CN111857593A (zh) * | 2020-07-21 | 2020-10-30 | 星辰天合(北京)数据科技有限公司 | 提高快照数据和克隆数据读写速度的方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
US20080140691A1 (en) | 2008-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101196889A (zh) | 优化存储系统中的文件放置的方法及装置 | |
CN103703450B (zh) | Ssd存储访问的方法和装置 | |
US8972337B1 (en) | Efficient query processing in columnar databases using bloom filters | |
CN101860449A (zh) | 一种数据查询方法、装置及系统 | |
US20140325148A1 (en) | Data storage devices which supply host with data processing latency information, and related data processing methods | |
CN100440124C (zh) | 用于选择命令发送到存储器的方法、存储器控制器和系统 | |
US7890480B2 (en) | Processing of deterministic user-defined functions using multiple corresponding hash tables | |
CN103218435A (zh) | 一种中文文本数据聚类方法及系统 | |
JP7039631B2 (ja) | アクセスリクエストを管理するための方法、装置、デバイス、および記憶媒体 | |
KR20150089538A (ko) | 인-메모리 데이터 관리 장치 및 인-메모리 데이터 관리 방법 | |
Peng et al. | Memory performance and scalability of Intel's and AMD's dual-core processors: a case study | |
Lee et al. | ActiveSort: Efficient external sorting using active SSDs in the MapReduce framework | |
CN101188521B (zh) | 一种挖掘用户行为数据的方法和网站服务器 | |
KR101990329B1 (ko) | 로그 데이터 분석을 이용한 데이터베이스 복구 속도 향상 기법 및 장치 | |
CN100377118C (zh) | 基于sram的嵌入式文件系统的实现方法 | |
US20140280283A1 (en) | Database System with Data Organization Providing Improved Bit Parallel Processing | |
Park et al. | FAST: Flash-aware external sorting for mobile database systems | |
CN1934542A (zh) | 高速缓存机制 | |
CN103455364A (zh) | 一种多核环境并行程序Cache性能在线获取系统及方法 | |
CN113157777B (zh) | 一种分布式实时查询数据的方法、集群、系统及存储介质 | |
CN112380256A (zh) | 能源系统数据存取的方法、数据库、计算机可读存储介质 | |
Xie et al. | Boosting random write performance for enterprise flash storage systems | |
CN107169313A (zh) | Dna数据文件的读取方法及计算机可读存储介质 | |
CN112148486A (zh) | 内存页面管理方法、装置、设备及可读存储介质 | |
CN112860641A (zh) | 基于hadoop的小文件存储方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080611 |