CN103294609A - 信息处理装置和存储器管理方法 - Google Patents
信息处理装置和存储器管理方法 Download PDFInfo
- Publication number
- CN103294609A CN103294609A CN2013100305522A CN201310030552A CN103294609A CN 103294609 A CN103294609 A CN 103294609A CN 2013100305522 A CN2013100305522 A CN 2013100305522A CN 201310030552 A CN201310030552 A CN 201310030552A CN 103294609 A CN103294609 A CN 103294609A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- caching
- storer
- unit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/16—General purpose computing application
- G06F2212/163—Server or database system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/311—In host system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/461—Sector or disk block
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/463—File
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种信息处理装置和存储器管理方法。服务器将从诸如盘的存储单元读取的/写入到该存储单元中的数据缓存在存储器中。当从存储器删除通过缓存控制而缓存在存储器中的数据时,服务器从存储器选择与删除目标数据包括在同一文件中的数据。服务器从存储器整体地删除该删除目标数据和所选择的数据。
Description
技术领域
此处讨论的实施例涉及一种信息处理装置、存储器管理方法和存储器管理程序。
背景技术
在现有技术中,作为用于加速对数据的访问的技术,缓存是已知的。例如,在计算机的操作系统(OS)中,通过将具有慢访问速度的存储装置(诸如盘)中所存储的数据的一部分存储在具有快访问速度的存储装置(诸如存储器)中,加速对数据的访问。
一般地,诸如存储器的具有快访问速度的存储装置具有小容量,并且用于除缓存以外的预期目的,诸如程序执行区域和OS管理区域。因此,OS对存储器区域进行管理,以允许一定程度的裕量。例如,当可用存储器剩余量低于预定义值时,OS执行缓存输出(cache out)处理以从存储器删除缓存区域中存储的数据,并且恢复存储器剩余量。
作为该缓存输出处理,已知LRU(Least Recently Use,最近最少使用)和MRU(Most Recently Use,最近最常使用)。LRU是删除长时间未使用的数据的方法,并且MRU是删除最近使用的数据的方法。除此之外,还存在如下的广为人知的方法:按照用户要保留的数据的顺序来对所缓存的数据赋予优先级,并且按照从具有最低优先级的数据开始的顺序来删除数据。
另外,除了由以上OS执行的控制之外,例如,存在如下的广为人知的方法:设置中间层以执行由应用层之间的应用执行的缓存控制以及由OS执行的缓存控制,并且通过应用来管理缓存。
专利文献1:日本早期公开专利公布7-182220
专利文献2:日本早期公开专利公布11-96102
然而,在现有技术中,由于在缓存区域中发生断裂(fragmentation)并且应用执行速度降低,因此存在处理性能劣化的问题。
例如,在现有技术中,当从缓存区域删除数据时,以4千字节的页单位来进行删除。因此,当一个文件等于或大于4千字节时,存在如下情况:整个文件没有保留在缓存区域上,并且仅文件的一部分保留在缓存区域上。即,发生缓存区域的断裂。在该状态下,当访问给定文件时,不可能在缓存区域中解决该访问,并且对盘进行访问以读取缓存区域中不存在的部分数据。结果,发生低速的盘访问,应用执行速度变慢,并且引起处理性能的劣化。
另外,在向正常缓存控制中的分层系统添加新层的方法中,使处理层增加一层,并且因此引起从缓存区域读取数据的速度下降。例如,当应用从缓存读取数据时,请求由正常OS执行的缓存控制,以通过由应用执行的缓存控制来读取数据。此后,通过由应用执行的缓存控制来获取通过由正常OS执行的缓存控制而读取的数据。这样,由于处理随着层的增加而增加,因此应用执行速度变慢,并且结果,处理性能劣化。
因此,本发明的实施例的一方面的目的是提供一种能抑制处理性能的劣化的信息处理装置、存储器管理方法和存储器管理程序。
发明内容
根据实施例的一方面,一种信息处理装置包括:缓存控制单元,该缓存控制单元将从存储单元读取的数据或写入到存储单元中的数据缓存在存储器中;选择单元,当从存储器删除由缓存控制单元缓存在存储器中的数据时,该选择单元从存储器选择与删除目标数据包括在同一文件中的数据;以及删除单元,该删除单元从存储器删除该删除目标数据和选择单元所选择的数据。
附图说明
图1是示出根据第一实施例的信息处理系统的整个配置示例的图;
图2是示出根据第一实施例的服务器的配置的功能框图;
图3是示出在盘的定义值区域中存储的信息的示例的图;
图4是示出存储器的页缓存区域的示例的图;
图5是示出在存储器的表区域中存储的缓存管理信息的示例的图;
图6是示出由根据第一实施例的服务器执行的缓存管理处理的流程的流程图;
图7是示出通过页缓存删除而执行的条目更新处理的具体示例的图;
图8是示出通过对文件的读取或写入而执行的条目更新处理的具体示例的图;
图9是示出根据第二实施例的信息处理系统的整体配置示例的图;
图10是示出根据第二实施例的服务器的配置的功能框图;
图11是示出全局缓存管理表的示例的图;
图12是示出由根据第二实施例的服务器执行的全局缓存管理处理的流程的流程图;以及
图13是示出用于执行存储器管理程序的计算机的硬件配置示例的图。
具体实施方式
将参照附图说明优选实施例。
此外,本发明不限于这些实施例。
[a]第一实施例
整体配置
图1是示出根据第一实施例的信息处理系统的整体配置示例的图。如图1所示,在信息处理系统中,服务器10、服务器20和服务器30经由网络5连接到彼此。这里,尽管示出了配置有三个服务器的示例,但是不限于此,并且数量可以是至少一个。另外,各个服务器是Web(网络)服务器、应用服务器等,并且不限制处理内容。
另外,在图1所示的信息处理系统中,每个服务器可单独地执行各种处理,或者每个服务器可合作地执行处理。作为合作示例,例如,存在使用Hadoop或HDFS(Hadoop分布式文件系统)的分布式处理系统。
这样的信息处理系统中的每个服务器将从存储单元读取的数据或者写入存储单元中的数据存储在由OS内核管理的页缓存区域(下文中可称为“页缓存”)中。随后,当删除存储在由OS内核管理的页缓存区域中的数据时,每个服务器从由OS内核管理的页缓存区域中选择与删除目标数据包括在同一文件中的数据。此后,每个服务器删除该删除目标数据以及所选择的数据。这里,由OS内核管理的页缓存区域以下将简称为“页缓存”。另外,页缓存中的存储将简称为“缓存”。
例如,当从页缓存删除最近参考的数据时,每个服务器指定由页缓存保持的索引节点号(inode number)。随后,每个服务器从页缓存中指定具有与所指定的索引节点号相同的索引节点号的页缓存。即,每个服务器在页缓存中存储的数据当中指定作为包括删除目标数据的那个文件的一部分的数据。此后,每个服务器从页缓存删除所指定的数据以及删除目标数据。
因此,当通过缓存输出来删除页缓存上的数据时,每个服务器可以以页单位和文件单位来删除页缓存上的数据。结果,能够抑制页缓存断裂、抑制应用处理速度的下降并且抑制处理性能的劣化。
服务器配置
接下来,将说明图1所示的服务器。图1所示的服务器具有相同的配置,并且因此将说明服务器10作为示例。图2是示出根据第一实施例的服务器的配置的框图。如图2所示,服务器10包括通信控制单元11、盘12、存储器13和控制单元14。另外,图2所示的处理单元仅是示例并且可包括其它处理单元,诸如输入单元(如鼠标)和显示单元(如显示器)。
通信控制单元11是用于控制与其它服务器的通信的处理单元,并且表示例如网络接口卡。例如,通信控制单元11将从其它服务器接收的各种请求或数据输出到控制单元14。另外,通信控制单元11将从控制单元14输出的处理结果或数据传送到目的地服务器。
盘12是用于存储数据等的存储装置,并且表示例如硬盘驱动器。该盘12包括文件区域12a和定义值区域12b。文件区域12a是用于存储数据(诸如由例如控制单元14的应用执行单元16执行的应用所使用的文件)的区域。
定义值区域12b是用于存储当缓存管理单元17判定是否要从存储器13删除文件时所使用的各种定义值的区域。图3是示出在盘的定义值区域中存储的信息的示例的图。如图3所示,定义值区域12b存储“删除比率初始值Rt”、“最小删除比率Rtmin”、“虚拟存储区域阈值Ft”、“损失加速度αt1”以及“损失加速度αt2”。
“删除比率初始值Rt”是在判定是否要从存储器13删除所缓存的页时所使用的阈值的初始值,并且被指定为例如0.02(2%)。该“删除比率初始值Rt”由阈值更新单元17e来更新。“最小删除比率Rtmin”是阈值的最小值,并且由例如管理者来设置。“虚拟存储区域阈值Ft”是在判定虚拟地分配给存储器13的物理区域的虚拟存储器的可用容量是否存在裕量时所使用的阈值,并且由例如管理者来设置。“损失加速度αt1”和“损失加速度αt2”是在对页缓存释放速度进行判定时所使用的阈值,并且由例如管理者来设置。当缓存管理单元17所计算出的释放比率(R)在αt1与αt2之间时,判定页缓存释放速度是安全值。
返回到图2,存储器13是用于存储例如由控制单元14执行的程序的存储装置,并且对从盘12读取的数据或写入盘12中的数据进行缓存。该存储器13包括管理区域13a、页缓存区域13b和表区域13c。管理区域13a是用于除缓存以外的其它预期目的的区域,诸如OS管理区域。
页缓存区域13b是用于存储从盘12读取的或写入盘12中的数据的区域,即缓存。图4是示出存储器的页缓存区域的示例的图。如图4所示,页缓存区域13b是由OS内核管理的资源。在图4的情况下,一页(一块(mass))是4千字节,并且一页中仅存储一个文件数据。大小高于4千字节的文件数据占据多个页。另外,以页单位来执行页出(page-out)处理。
在图4的情况下,示出了如下状态:文件04(F04)的数据存储在连续的页中,并且文件01(F01)的数据占据六页。另外,示出了文件02(F02)的数据存储在不连续的页中。
表区域13c是用于存储由缓存管理单元17使用的管理信息的区域。图5是示出在存储器的表区域中存储的缓存管理信息的示例的图。如图5所示,缓存管理信息是由存储器13中缓存的、以文件为单位的缓存条目的链接列表构成的信息。在头部中,放置了在存储器13上最少被参考的文件。即,当文件较靠近头部时,可能被OS丢弃,并且当文件较靠近末端时,较不可能被OS丢弃。
每个页缓存条目具有“索引节点号”、“先前页缓存数”、“从盘读取/写入盘的页数”、“所有者信息”以及“访问权限信息”。“索引节点号”是例如用于对文件或与文件有关的管理信息进行标识的标识符。“先前页缓存数”是在预定时间之前由存储器13缓存的文件的总页数,并且是在缓存管理单元17先前判定是否要从存储器进行删除时的缓存的页的总页数。
“从盘读取/写入盘的页数”是从盘12读取的文件页数和写入盘12中的文件页数的和值。该“从盘读取/写入盘的页数”由生成单元17a来更新。“所有者信息”是拥有文件的用户名。“访问权限信息”是用于表示分配给文件的访问权限的信息。可以从OS或页缓存获取“索引节点号”、“所有者信息”和“访问权限信息”。
控制单元14是用于控制服务器10的整个处理的处理单元,如诸如CPU(中央处理单元)的电子电路。该控制单元14包括OS执行单元15、应用执行单元16和缓存管理单元17。
OS执行单元15是用于执行OS的处理单元。由该OS执行单元15执行的OS向存储器13添加页缓存并且从存储器13删除页缓存。例如,OS执行单元15从存储器13的页缓存区域删除具有从缓存管理单元17(稍后描述)接收的索引节点号的每个页缓存。
应用执行单元16是用于执行应用的处理单元。由该应用执行单元16执行的应用参考存储器13的页缓存区域13b来判定所使用的数据是否被缓存。随后,在缓存命中的情况下,应用从页缓存区域13b读取相应的数据,即,页。另外,在缓存错过的情况下,应用从盘12的文件区域12a读取相应的数据。随后,应用将从盘12的文件区域12a读取的数据存储在存储器13的页缓存区域13b中。
缓存管理单元17是包括生成单元17a、计算单元17b、选择单元17c、删除请求单元17d和阈值更新单元17e的处理单元,并且使用这些来管理所缓存的页。
生成单元17a是如下的处理单元:该处理单元用于生成表示存储器13中所缓存的数据的信息的缓存管理信息,并且将缓存管理信息存储在存储器13的表区域13c中。例如,生成单元17a在服务器10启动之后预定时间参考页缓存区域13b,并且根据页缓存中包括的索引节点号指定所缓存的文件。随后,生成单元17a生成缓存管理信息,在该缓存管理信息中,按照从所指定的文件当中的最近没有参考的文件条目开始的顺序进行链接。此时,生成单元17a从页缓存或OS获取文件的所有者信息和访问权限信息,并且将所生成的缓存管理信息存储在每个条目中。
另外,生成单元17a是用于更新缓存管理信息的处理单元。例如,在通过由应用执行单元16执行的应用来执行对数据的读取或写入的情况下,生成单元17a根据数据的索引节点号等来指定包括所读取的或所写入的数据的文件。随后,生成单元17a对关于所指定的文件而创建的页缓存的数量进行计数,并且将其存储在缓存管理信息的“从盘读取/写入盘的页数”中。
计算单元17b是用于计算释放页缓存比率“R”的处理单元,该释放页缓存比率“R”表示在页缓存的文件中在预定时间内从存储器释放的页缓存的比率。例如,计算单元17b从缓存管理信息的头部条目开始在预定间隔处计算释放页缓存比率“R”。
更具体地,计算单元17b使用缓存管理信息的头部条目的索引节点号来从OS获取当前缓存的页缓存的总数“Pc”。随后,计算单元17b从目标条目获取先前页缓存数“Pp”以及从盘读取/写入盘的页数“Δ”。此后,计算单元17b计算释放页缓存比率“R”=“1–(Pc/Pp+Δ)”,并且将结果输出到选择单元17c。
这里,将说明在计算单元17b中计算的释放页缓存比率“R”的计算等式。以上用于计算释放页缓存比率“R”的等式通过将先前检查的页缓存数和通过后续访问而新创建的页缓存数相加来设置分母。在该等式中,在由OS实现页缓存释放的情况下,当前页缓存数(分子)小于分母。另外,在该等式中,在OS经常执行释放的情况下,分子较小,并且结果,释放页缓存比率“R”较接近1。相比之下,在OS不执行页缓存释放的情况下,分子等于分母,并且释放页缓存比率“R”是0。
选择单元17c是如下处理单元:该处理单元用于在计算单元17b所计算出的比率“R”高于阈值的情况下,从存储器13选择对应于删除目标条目的文件中所包括的数据。此时,在“R”高于阈值并且虚拟地分配给存储器13的物理区域的虚拟存储器区域的可用容量“F”低于预定值的情况下,选择单元17c可以从存储器13选择相应文件中所包括的数据。
例如,当计算单元17b计算出释放页缓存比率“R”时,选择单元17c从定义值区域12b获取删除比率初始值“Rt”、最小删除比率“Rtmin”和“虚拟存储区域阈值Ft”。另外,选择单元17c从OS获取虚拟存储器区域的可用容量“F”。随后,选择单元17c判定释放页缓存比率“R”是否高于删除比率初始值“Rt”以及虚拟存储器区域的可用容量“F”是否低于虚拟存储区域阈值“Ft”。此后,在满足上述条件的情况下,选择单元17c从缓存管理信息的目标条目获取索引节点号,并且将其输出到删除请求单元17d。
删除请求单元17d是用于请求OS删除选择单元17c所选择的数据的处理单元。例如,删除请求单元17d将用于删除从选择单元17c报告的索引节点号以及具有该索引节点号的页缓存的请求输出到由OS执行单元15执行的OS。
此后,OS从存储器13删除具有所接收的索引节点号的页缓存。随后,生成单元17a将缓存管理信息中的与该索引节点相对应的条目的“先前页缓存数”更新为“0”。此外,生成单元17a将该条目的“从盘读取/写入盘的页数”更新为“0”。这里,在与该条目相对应的文件的页缓存没有被删除的情况下,生成单元17a将当前获取的页缓存数“Pc”设置为“先前页缓存数”。
阈值更新单元17e是如下处理单元:该处理单元用于将当前计算出的释放页缓存比率“R”与先前计算出的释放页缓存比率“Rp”进行比较,并且更新删除比率初始值“Rt”以便适当地执行页缓存释放。另外,先前计算出的释放页缓存比率“Rp”在每次计算时存储在存储器13等中,而与条目或文件无关。
例如,在计算单元17b计算出的释放页缓存比率“R”与预定时间之前的释放页缓存比率“Rp”之间的差“α”大于损失加速度警告值“αt1”的情况下,阈值更新单元17e将删除比率初始值“Rt”改变为更小的值。另外,在计算单元17b计算出的释放页缓存比率“R”与预定时间之前的释放页缓存比率“Rp”之间的差“α”小于损失加速度安全值“αt2”的情况下,阈值更新单元17e将删除比率初始值“Rt”改变为更大的值。此时,阈值更新单元17e改变新的删除比率初始值“Rt”以使其不低于最小删除比率“Rtmin”。
即,阈值更新单元17e判定释放页缓存比率是否处于上升趋势,并且在上升趋势较大的情况下改变阈值。例如,在“α”大于“αt1”的情况下,阈值更新单元17e判定页缓存释放速度不足,并且将“Rt”改变为更小的值。通过该手段,选择单元17c很可能判定页缓存删除,并且页缓存释放速度增加,且整个装置的虚拟存储区域的剩余量具有裕量。
另外,在“α”小于“αt2”的情况下,阈值更新单元17e判定页缓存释放速度足够,并且将“Rt”更新为更大的值。通过该手段,选择单元17c不太可能判定页缓存删除,并且页缓存释放速度减小,且能抑制页缓存释放经常发生。
处理的流程
接下来,将说明服务器10执行的缓存管理处理的流程。图6是示出由根据第一实施例的服务器执行的缓存管理处理的流程的流程图。
如图6所示,当给出机会时(S101中为肯定的),缓存管理单元17的计算单元17b选择页缓存区域13b中存储的缓存管理信息的头部条目(S102)。这里,机会的示例可以是预定间隔或者发生延迟访问时,即,机会可以任意地设置。
随后,计算单元17b从所选择的条目获取先前页缓存数“Rp”以及从盘读取/写入盘的页数“Δ”(S103)。另外,计算单元17b从所选择的条目获取索引节点号,将该索引节点号输出到OS并且从OS获取具有该索引节点号的当前页缓存的总数“Pc”(S104)。
此后,计算单元17b计算释放页缓存比率“R”=“1–(Pc/Pp+Δ)”(S105)。另外,选择单元17c从OS获取虚拟存储器区域的可用容量“F”(S106)。
接下来,选择单元17c从定义值区域12b获取删除比率初始值“Rt”和“虚拟存储区域阈值Ft”,并且判定是否满足条件“R>Rt且F<Ft”(S107)。
随后,在选择单元17c判定满足条件“R>Rt且F<Ft”的情况下(S107中为肯定的),删除请求单元17d请求OS删除具有从该条目获取的索引节点号的页缓存(S108)。此后,生成单元17a更新该条目,并且随后将该条目移动到缓存管理信息的尾端(S109)。
随后,阈值更新单元17e从存储器13等获取先前计算出的释放页缓存比率“Rp”,并且计算“α=当前计算出的释放页缓存比率‘R’-先前计算出的释放页缓存比率‘Rp’”(S110)。
随后,阈值更新单元17e从定义值区域12b获取损失加速度警告值“αt1”,并且判定在S110中算出的“α”是否大于损失加速度警告值“αt1”(S111)。
此后,在“α”大于损失加速度警告值“αt1”的情况下(S111中为肯定的),阈值更新单元17e以“当前删除比率初始值‘Rt-RtΔ’”来更新定义值区域12b中存储的删除比率初始值“Rt”(S112)。即,阈值更新单元17e将删除比率初始值“Rt”更新为更小的值。此时,阈值更新单元17e设置删除比率初始值“Rt”,以使得删除比率初始值“Rt”不低于损失加速度安全值“αt2”。这里,RtΔ是任意值。
同时,在“α”小于损失加速度警告值“αt1”的情况下(S111中为否定的),阈值更新单元17e以“当前删除比率初始值‘Rt+RtΔ’”来更新定义值区域12b中存储的删除比率初始值“Rt”(S113)。即,阈值更新单元17e将删除比率初始值“Rt”更新为更大的值。
此后,缓存管理单元17等待预定时间(S114),并且当给出下一次机会时(S114中为肯定的),计算单元17b选择下一条目(S115),并且执行S103和随后步骤中的处理。另外,在S107中,甚至在选择单元17c判定不满足条件“R>Rt且F<Ft”的情况下(S107中为否定的),缓存管理单元17也执行S114和随后步骤中的处理。
具体示例
接下来,将说明每个上述处理的具体示例。这里,将说明通过页缓存而执行的缓存管理信息的条目更新处理和通过读取或写入而执行的缓存管理信息的条目更新处理。
通过页缓存删除而执行的更新
图7是示出通过页缓存删除而执行的条目更新处理的具体示例的图。如图7所示,缓存管理信息由多个以链接方式连接的条目构成,其中,头部条目是具有索引节点号“0x12345678”的文件信息。
在这样的配置中,当给出预定机会时,缓存管理单元17的计算单元17b从相应的条目获取“先前页缓存数(PC)”和“从盘读取/写入盘的页数‘Δ’”。另外,计算单元17b使用相应条目的索引节点号从OS获取“当前页缓存数(Pp)”。随后,计算单元17b计算释放页缓存比率“R”。此后,选择单元17c从OS获取虚拟存储区域的可用容量“F”并且从存储器13等获取先前计算出的释放页缓存比率“Rt”。另外,选择单元17c从定义值区域12b获取“虚拟存储区域阈值F0”。
随后,在满足条件“R>Rt且F<F0”的情况下,删除请求单元17d向OS报告相应条目的索引节点号,并且请求删除具有该索引节点号的页缓存。因此,OS可以从存储器13的页缓存区域13b删除具有所报告的索引节点号的每个页缓存,即,对应于相同文件的每个数据。此后,生成单元17a将所处理的条目的“先前页缓存数(Pc)”和“从盘读取/写入盘的页数‘Δ’”更新为0并且随后将其移动到缓存管理信息的尾端。
这里,将说明如下示例:判定是否要删除位于头部的条目(索引节点号=0x12345678)的页缓存。如图7所示,在目标条目中,存储有“先前页缓存数(Pc)=1000”和“从盘读取/写入盘的页数‘Δ’=0”。另外,如图3所示地设置每个定义值,并且假设先前计算出的R值“Rp”是0.02。
首先,计算单元17b向OS报告相应条目的索引节点号(0x12345678),并且从OS获取“当前页缓存数(Pc)=900”。随后,计算单元17b计算释放页缓存比率“R”=“1–(Pc/Pp+Δ)”,即,“R=1-(900/(1000+0))=0.1”。
接下来,选择单元17c从OS获取虚拟存储区域的可用容量“F=80千兆字节”。随后,选择单元17c判定是否满足条件“R>Rt且F<Ft”,即“0.1>0.02且80<100”。随后,由于满足该条件,因此删除请求单元17d请求OS删除具有条目中所登记的“索引节点号=0x12345678”的页缓存。随后,OS从存储器13的页缓存区域13b删除具有“索引节点号=0x12345678”的每个页缓存。
随后,在将“0”存储在索引节点号(0x12345678)的条目中的“先前页缓存数(Pc)”中以及将“0”存储在“从盘读取/写入盘的页数(Δ)”中之后,生成单元17a将该条目移动到缓存管理信息的尾端。
此后,阈值更新单元17e计算“α=R值(0.1)–Rp值(0.02)=0.08”,并且由于建立了条件“α=0.08>αt1(0.05)”,因此将从当前Rt值减去“0.01”的值设置为下一Rt值。即,阈值更新单元17e使用从当前Rt值“0.1”减去“0.01”得到的“0.09”作为下一删除比率初始值Rt来更新定义值。另外,在下次计算时,将当前计算出的R值(0.1)视为先前计算出的Rp值。
通过读取或写入而执行的更新
图8是示出通过文件的读取或写入而执行的条目更新处理的具体示例的图。如图8所示,缓存管理信息由多个以链接方式连接的条目构成,其中头部条目是具有索引节点号“0x12345678”的文件信息。
在这样的配置中,OS通过利用应用来执行处理而发出用于文件读取或写入的系统调用,并且将相应的页缓存存储在存储器13的页缓存区域13b中。即,在应用所参考的文件数据没有被缓存在存储器13中的情况下,从盘12读取该文件数据并对该文件数据进行缓存。此时,缓存管理单元17的生成单元17a对OS所创建的页缓存的数量进行计数。
此后,OS通过系统调用的扩展来读取缓存管理单元17,并且在此时将用于指定缓存管理信息中的相应文件的对象的地址传送到缓存管理单元17。缓存管理单元17的生成单元17a将所计数的页缓存的总数加到由所接收的地址表示的缓存管理信息的条目的“从盘读取/写入盘的页数”上,并且将该条目移动到缓存管理信息的尾端。
这里,将详细说明如下示例:其中,对处于从头部开始的第二位置处的条目(索引节点号=0x12340012)执行读取或写入。在“索引节点号=0x12340012”的文件中执行由用户“root sys”执行的操作,并且以“200页”生成与文件中的数据对应的页缓存。此时,缓存管理单元17的生成单元17a从OS获取“root sys”的用户信息、所生成的页缓存数“200”和分配给用户的访问权利“755”,并且暂时保持这些信息。
此后,当从OS接收到“索引节点号=0x12340012”时,生成单元17a指定与“索引节点号=0x12340012”对应的缓存管理信息的条目。随后,如图8所示,生成单元17a将暂时保持的页缓存数“200”加到所指定的条目的“从盘读取/写入盘的页数=10”上。类似地,生成单元17a将所指定的条目的“所有者”更新为“root sys”并且将“访问权利”更新为“755”。此后,生成单元17a将与“索引节点号=0x12340012”对应的条目移动到缓存管理信息的尾端。
这样,生成单元17a在每次发生文件的读取或写入时更新缓存管理信息的条目。另外,更新后的条目被移动到缓存管理信息的尾端。即,关于最近参考的文件,页缓存删除的优先级变低。因此,能够防止频繁参考的文件的页缓存被删除。
如上所述,在根据缓存数据的页数变化和盘访问状态而判定页缓存释放被频繁地执行的情况下,根据第一实施例的服务器10将其从缓存删除。当删除页缓存时,该服务器10将具有相同的索引节点号的页缓存作为选择目标来整体地进行处理,并且因此能够以页单位和文件单位来实现删除。即,根据第一实施例的服务器10可以整体地删除相同文件中的所缓存的数据。作为其结果,与频繁地执行页缓存释放的状态无关,能够防止仅文件的一部分被缓存在存储器13中的状态。因此,由于能够抑制存储器13中的断裂的发生并且能够抑制应用执行速度的下降,因此能够防止服务器10的整体处理性能的劣化。
[b]第二实施例
在第一实施例中,尽管已描述了服务器10独自删除页缓存的示例,但是其不限于此,并且可以在考虑到其它服务器的缓存状态的情况下来判定是否要删除页缓存。因此,在第二实施例中,将说明多个服务器合作地删除页缓存的示例。
整体配置
图9是示出根据第二实施例的信息处理系统的整体配置示例的图。如图9所示,该信息处理系统具有与图1所示的信息处理系统类似的配置。其与第一实施例的不同之处在于,一个代表性服务器保持全局缓存管理表,并且其它服务器具有该全局缓存管理表的副本。
全局缓存管理表是表示每个服务器的文件缓存状态和服务器的虚拟存储区域的剩余量的信息。该全局缓存管理表是在一个代表性服务器中生成的,并且被分发到每个服务器。在图9中,服务器10生成全局缓存管理表并且将其副本分发给每个服务器。另外,可以任意地选择代表性服务器。
在执行第一实施例中说明的处理之前,每个服务器参考全局缓存管理表。随后,在删除目标文件被缓存在多个其它服务器中的情况下,每个服务器从删除目标中排除该文件。通过该手段,能够抑制从页缓存删除可能是定义信息的文件,其中定义信息总是被分享的。
另外,在删除目标文件被缓存在一些其它服务器(等于或小于预先定义的阈值数量)中并且缓存该删除目标文件的服务器的虚拟存储区域等于或小于阈值的情况下,每个服务器可以从删除目标中排除该文件。当缓存该删除目标文件的服务器的虚拟存储区域等于或小于阈值时,意味着OS可能缓存输出该删除目标文件以解决存储器不足,而通过从缓存输出目标中排除这样的缓存条目,能够防止文件数据在所有服务器的页缓存上丢失。
服务器配置
图10是示出根据第二实施例的服务器的配置的功能框图。如图10所示,服务器10包括通信控制单元11、盘12、存储器13和控制单元14。其与第一实施例的不同之处在于,存储器13的表区域13c保持全局缓存管理表,并且设置全局缓存管理单元18。另外,全局缓存管理单元18中的处理在代表性服务器与其它服务器之间是不同的,并且因此将说明每种情况。
全局缓存管理表是表示哪个服务器缓存哪个文件并且表示服务器中的虚拟存储区域的可用程度的信息。图11是示出全局缓存管理表的示例的图。如图11所示,全局缓存管理表由“索引节点、文件名、IP(因特网协议)地址和服务器的虚拟存储区域的剩余量”构成。
该“索引节点”表示用于对缓存在存储器中的文件进行标识的索引节点号,并且“文件名”表示具有由索引节点号表示的数据的文件名。“IP地址”表示缓存该文件的服务器的IP地址。“服务器的虚拟存储区域的剩余量”表示在从服务器获取所缓存的文件信息时服务器的虚拟存储区域的剩余量。在图11的情况下,具有索引节点号“0x12345bbb”的文件具有文件名“/数据/文件1”,并且被缓存在具有IP地址“10.10.10.100”的服务器中,并且在该信息被获取时,其表示服务器的虚拟存储区域的剩余量是“900”MB。
这样的全局缓存管理表是从每个服务器所管理的缓存管理信息的尾端开始以预定义的条目数获取的信息。即,全局缓存管理表是较不可能从每个服务器的页缓存区域13b删除的页缓存的信息。
全局缓存管理单元18是如下处理单元:该处理单元用于生成全局缓存管理表、分发该全局缓存管理表以及传送条目信息。这里,将说明代表性节点的情况和其它节点的情况。
代表性节点
假设节点10是代表性节点。在该情况下,全局缓存管理单元18生成并分发全局缓存管理表。更具体地,当从其它节点接收到所缓存的文件的索引节点号以及虚拟存储区域的剩余量时,全局缓存管理单元18生成或更新全局缓存管理表并且将其分发到每个服务器。
例如,在从服务器20接收到索引节点号、文件名和虚拟存储区域的剩余量的情况下,全局缓存管理单元18生成与服务器20的IP地址、索引节点号、文件名和虚拟存储区域的剩余量相关联的条目,并且将该条目添加或合并到全局缓存管理表。此时,关于来自同一IP地址的数据,全局缓存管理单元18删除先前接收的旧信息。随后,全局缓存管理单元18将更新的全局缓存管理表的副本分发到与服务器10连接的每个服务器。此时,全局缓存管理单元18可分发整个全局缓存管理表的副本或者仅分发与先前的全局缓存管理表的差别。通过该手段,每个服务器可以保持共同的全局缓存管理表。
一般节点
接下来,假设节点10是不同于代表性节点的一般节点。在该情况下,全局缓存管理单元18传送全局缓存管理表的条目信息。更具体地,全局缓存管理单元18在预定间隔处从缓存管理信息的尾端开始获取预定义的数量的条目,获取与索引节点号对应的文件名并且获取虚拟存储区域的可用容量(在从OS进行获取时)。随后,全局缓存管理单元18将所获取的信息传送到代表性节点。作为该传送的响应,全局缓存管理单元18从代表性服务器接收全局缓存管理表的副本。随后,全局缓存管理单元18以所接收的全局缓存管理表的副本来更新存储器13的表区域13c中存储的全局缓存管理表。
处理的流程
接下来,将说明由根据第二实施例的服务器10执行的处理的流程。图12是示出由根据第二实施例的服务器执行的全局缓存管理处理的流程的流程图。在图6的S102与S103之间以及S115与S103之间执行图12所示的处理。
缓存管理单元17的计算单元17b获取与在S102中选择的头部条目中所包括的索引节点号相对应的文件名,并且对全局缓存管理表中所存储的文件名的数量进行计数(S201)。首先,判定文件名是否匹配,并且在这些文件名匹配且服务器的虚拟存储区域的剩余量等于或大于阈值的情况下,判定这些文件名被存储。将总存储数设置为缓存该文件的服务器的数量(N)。
计算单元170b判定所获取的服务器数量(N)是否是0(S202)。在0的情况下(S202中为肯定的),服务器10执行图6中的S103和随后步骤(S207)。在除了0的情况以外的情况下(S202中为否定的),服务器10执行S203。
随后,计算单元17b判定所获取的服务器数量(N)是否大于阈值(S203)。在判定所获取的服务器数量(N)大于阈值的情况下(S203中为肯定的),计算单元17b执行图6中的S115和随后步骤(S204)。
同时,在判定所获取的服务器数量(N)小于阈值的情况下(S203中为否定的),计算单元17b判定索引节点号的文件是否是预先设置的删除目标文件(S205)。
随后,在判定索引节点号的文件是预先设置的删除目标文件的情况下(S205中为肯定的),计算单元17b执行图6中的S108和随后步骤(S206)。同时,在判定索引节点号的文件不是预先设置的删除目标文件的情况下(S205中为否定的),计算单元17b执行图6中的S103和随后步骤(S207)。
即,计算单元17b预先定义了存储用于分发处理等的数据的目录,判定在一个服务器中缓存该目录中的文件是足够的,并且以积极方式将其从缓存删除。
这样,除了服务器自身的缓存状态之外,根据第二实施例的每个服务器还可以将其它服务器的缓存状态纳入考虑来执行缓存输出处理。更具体地,关于通常在服务器之间保持的文件,由于其非常可能是重要信息,因此根据第二实施例的每个服务器可以从删除目标中排除该文件。另外,在缓存被存储在全局缓存管理表中并且服务器的虚拟存储区域的剩余量小的情况下,通过从删除目标中排除该缓存,甚至在OS强制删除该缓存时,根据第二实施例的每个服务器也能够从删除目标中排除该缓存而将该缓存维持该服务器中,并且能够防止从所有服务器缓存输出文件数据。
[c]第三实施例
尽管以上描述了本发明的实施例,但是可以以除了以上实施例之外的各种不同的形式来实现本发明。因此,以下将说明不同的实施例。
盘
例如,图2等中说明的盘12不限于硬盘驱动器,而可以是SSD(固态驱动器)或具有低于存储器的速度且存储有缓存原始数据的存储装置。
可用容量的判定
例如,作为用于从缓存删除文件的判定规则,尽管描述了使用服务器的虚拟存储区域的剩余量的情况,但是其不限于此。例如,在第一实施例中,可仅判定释放页缓存比率“R”是否小于阈值“Rt”。另外,在第二实施例中,可以省略S203和S204中的处理。
选择删除文件的方法
例如,在第一实施例中,描述了计算释放页缓存比率“R”、指定删除目标文件以及选择文件的页缓存并从存储器删除该页缓存的示例,但是并不限于此。例如,服务器确定要删除最近没有参考的页缓存,而无需计算释放页缓存比率“R”。随后,服务器可以从存储器整体地选择和删除具有与该页缓存的索引节点号相同的索引节点号的那些页缓存。
系统
另外,在本实施例说明的每个处理中,可以手动地执行被说明为自动执行的处理的全部或部分。替选地,通过公知的方法,可以自动地执行被说明为手动执行的处理的全部或部分。除此之外,关于在以上描述和附图中示出的信息(包括处理过程、控制过程、具体名称和各种数据或参数),如果没有相反指定,则可以任意进行改变。
另外,每个装置的每个所示出的部件是功能概念,并且不总是要求被物理配置为如图中所示的那样。即,每个装置中的分布/集成的具体形式不限于图中所示出的那样。即,取决于各种负载或使用状态,可以通过功能上或物理上以任意单位分布或者集成这些装置的全部或部分来形成这些装置。例如,可以集成缓存管理单元17和全局缓存管理单元18。此外,在每个装置中执行的每个处理功能的部分或全部可以通过CPU以及由CPU分析和执行的程序来实现,或者可以通过布线逻辑(wired logic)被实现为硬件。
硬件配置
同时,在以上实施例中说明的各种处理可以通过在诸如个人计算机或工作站的计算机系统中执行准备的程序来实现。因此,在以下,将说明用于执行具有与上述实施例中的功能类似的功能的程序的计算机的示例。
图13是示出用于执行存储器管理程序的计算机的硬件配置示例的图。如图13所示,计算机100包括CPU102、输入装置103、输出装置104、通信接口105、介质读取装置106、HDD(硬盘驱动器)107、RAM(随机存取存储器)108和存储器109。另外,图13所示的这些单元经由总线101彼此连接。
输入装置103是鼠标、键盘等,输出装置104是显示器等,并且通信接口105是诸如NIC(网络接口卡)的接口。除了存储器管理程序107a之外,HDD107还存储例如图2所示的每个表。尽管HDD107被示出为存储介质的示例,但是可以将各种程序存储在诸如ROM(只读存储器)、RAM和CD-ROM的其它计算机可读存储介质中,并且使得计算机读取这些计算机可读存储介质。另外,可以将存储介质布置在远处并且通过利用计算机访问该存储介质来获取和使用程序。另外,此时,所获取的程序可存储在计算机本身的存储介质中并被使用。
通过读取存储器管理程序107a并且在RAM108中展开该程序,CPU102操作存储器管理处理108a来执行图2或图10中说明的每个功能。即,存储器管理处理108a激活OS执行单元15、应用执行单元16、缓存管理单元17和全局缓存管理单元18。因此,通过读取和执行程序,计算机100用作执行存储器管理方法的信息处理装置。
另外,通过利用介质读取装置106从存储介质读取存储器管理程序并且执行所读取的存储器管理程序,计算机100可以实现与上述实施例中的功能相类似的功能。另外,在其它实施例中涉及的程序不限于计算机100执行的程序。例如,甚至在不同的计算机或服务器执行程序或者这些计算机或服务器合作地执行程序的情况下,本发明也类似地适用。
能够抑制处理性能的劣化。
Claims (9)
1.一种信息处理装置,包括:
缓存控制单元,所述缓存控制单元将从存储单元读取的数据或写入到所述存储单元中的数据缓存在存储器中;
选择单元,当从所述存储器删除由所述缓存控制单元缓存在所述存储器中的数据时,所述选择单元从所述存储器选择与删除目标数据包括在同一文件中的数据;以及
删除单元,所述删除单元从所述存储器删除所述删除目标数据和由所述选择单元选择的数据。
2.根据权利要求1所述的信息处理装置,还包括:
生成单元,所述生成单元生成页管理信息,所述页管理信息用于以与用于标识包括所缓存的数据的文件的标识符以及在预定时间之前缓存在所述存储器中的该文件的页缓存的总数相关联的方式,对在所述预定时间中从所述存储单元读取的该文件的页缓存或者写入到所述存储单元中的该文件的页缓存进行计数;以及
计算单元,所述计算单元使用以下各项来计算在所述预定时间内从所述存储器释放包括所述删除目标数据的文件的页缓存的比率:所述页管理信息中所包括的页缓存数和页缓存的总数、以及在当前时间缓存在所述存储器中的该文件的页缓存的总数,
其中,在所述计算单元所计算出的比率高于阈值的情况下,所述选择单元从所述存储器选择与所述删除目标数据包括在同一文件中的数据。
3.根据权利要求2所述的信息处理装置,其中,在所述计算单元所计算出的比率高于所述阈值、并且虚拟地分配给所述存储器的物理区域的虚拟存储器区域的可用容量小于预定值的情况下,所述选择单元从所述存储器选择与所述删除目标数据包括在同一文件中的数据。
4.根据权利要求2所述的信息处理装置,还包括阈值更新单元,所述阈值更新单元在所述计算单元在所述当前时间计算出的比率与所述计算单元在所述预定时间之前计算出的比率之间的差大于第一参考值的情况下,将所述阈值更新为更小的值,并且在所述差小于第二参考值的情况下将所述阈值更新为更大的值。
5.根据权利要求2所述的信息处理装置,其中:
所述生成单元按照从在所述存储器中缓存的数据当中的最近没有参考的数据开始的顺序来生成所述页管理信息;以及
所述计算单元按照从所述页管理信息的头部条目开始的顺序来计算所述比率,并且将被计算出所述比率的条目移动到所述页管理信息的尾端。
6.根据权利要求2所述的信息处理装置,其中:
所述生成单元按照从在所述存储器中缓存的数据当中的最近没有参考的数据开始的顺序来生成所述页管理信息;以及
所述计算单元将所述页管理信息的条目当中的与从所述存储单元读取的或写入到所述存储单元中的数据相对应的条目移动到所述页管理信息的尾端。
7.根据权利要求2所述的信息处理装置,还包括:
获取单元,所述获取单元从每个信息处理装置获取用于标识缓存在由其它信息处理装置保持的存储器中的文件的标识符;以及
判定单元,所述判定单元使用由所述获取单元获取的标识符来判定所述删除目标数据是否被缓存在等于或大于预定数量的其它信息处理装置的存储器中,
其中,在所述判定单元判定所述删除目标数据被缓存在等于或大于所述预定数量的其它信息处理装置的存储器中的情况下,所述选择单元从删除目标中排除包括所述删除目标数据的文件。
8.根据权利要求7所述的信息处理装置,其中:
所述获取单元获取所述标识符以及所述每个信息处理装置中的虚拟存储器区域的剩余量;以及
另外,在与所述删除目标数据相关联的虚拟存储器区域的剩余量等于或小于预定值的情况下,所述选择单元从删除目标中排除包括所述删除目标数据的文件。
9.一种由信息处理设备执行的存储器管理方法,所述存储器管理方法包括:
将从存储单元读取的数据或写入到所述存储单元中的数据缓存在存储器中;
当从所述存储器删除缓存在所述存储器中的数据时,从所述存储器选择与删除目标数据包括在同一文件中的数据;以及
从所述存储器删除所述删除目标数据和所选择的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-015694 | 2012-01-27 | ||
JP2012015694A JP5861473B2 (ja) | 2012-01-27 | 2012-01-27 | 情報処理装置、メモリ管理方法およびメモリ管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103294609A true CN103294609A (zh) | 2013-09-11 |
CN103294609B CN103294609B (zh) | 2016-01-13 |
Family
ID=47594581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310030552.2A Expired - Fee Related CN103294609B (zh) | 2012-01-27 | 2013-01-25 | 信息处理装置和存储器管理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9021208B2 (zh) |
EP (1) | EP2624141A1 (zh) |
JP (1) | JP5861473B2 (zh) |
CN (1) | CN103294609B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852045A (zh) * | 2018-08-01 | 2020-02-28 | 珠海金山办公软件有限公司 | 一种删除文档内容的方法、装置、电子设备及存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015035343A1 (en) * | 2013-09-06 | 2015-03-12 | Lyve Minds, Inc. | Electronic device data distribution |
US10268592B2 (en) * | 2014-01-31 | 2019-04-23 | Avago Technologies International Sales Pte. Limited | System, method and computer-readable medium for dynamically mapping a non-volatile memory store |
JP6819869B2 (ja) * | 2017-02-28 | 2021-01-27 | 日本電気株式会社 | ストレージ装置、プログラム、情報処理方法 |
JP6842064B2 (ja) * | 2017-02-28 | 2021-03-17 | 日本電気株式会社 | ストレージ装置、プログラム、情報処理方法 |
CN111866419B (zh) * | 2019-04-24 | 2022-05-31 | 杭州海康微影传感科技有限公司 | 热成像图像显示方法、装置及热成像设备 |
US11275690B1 (en) * | 2020-08-17 | 2022-03-15 | Amazon Technologies, Inc. | Configurable caching policy for transferring data via shared memory |
US20240211406A1 (en) * | 2022-12-27 | 2024-06-27 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for accessing data from memory or storage at a storage node |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154813A (en) * | 1997-12-23 | 2000-11-28 | Lucent Technologies Inc. | Cache management system for continuous media system |
CN1522530A (zh) * | 2001-06-30 | 2004-08-18 | �ʼҷ����ֵ�������˾ | 接收机设备和方法 |
US20100250834A1 (en) * | 2009-03-31 | 2010-09-30 | Trika Sanjeev N | Method and system to perform caching based on file-level heuristics |
CN102323907A (zh) * | 2011-08-19 | 2012-01-18 | 长安大学 | 嵌入式arm处理器对nandflash数据存储和删除方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07182220A (ja) | 1993-12-21 | 1995-07-21 | Hitachi Ltd | 分散ファイルシステムおよびそのファイルキャッシング方法 |
JPH1196102A (ja) | 1997-09-25 | 1999-04-09 | Hitachi Ltd | サーバ分散管理方法 |
US7181574B1 (en) * | 2003-01-30 | 2007-02-20 | Veritas Operating Corporation | Server cluster using informed prefetching |
WO2008139521A1 (ja) * | 2007-04-27 | 2008-11-20 | Fujitsu Limited | リモートファイルシステム、端末装置およびサーバ装置 |
-
2012
- 2012-01-27 JP JP2012015694A patent/JP5861473B2/ja active Active
-
2013
- 2013-01-23 EP EP13152332.6A patent/EP2624141A1/en not_active Withdrawn
- 2013-01-25 CN CN201310030552.2A patent/CN103294609B/zh not_active Expired - Fee Related
- 2013-01-25 US US13/750,196 patent/US9021208B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154813A (en) * | 1997-12-23 | 2000-11-28 | Lucent Technologies Inc. | Cache management system for continuous media system |
CN1522530A (zh) * | 2001-06-30 | 2004-08-18 | �ʼҷ����ֵ�������˾ | 接收机设备和方法 |
US20100250834A1 (en) * | 2009-03-31 | 2010-09-30 | Trika Sanjeev N | Method and system to perform caching based on file-level heuristics |
CN102323907A (zh) * | 2011-08-19 | 2012-01-18 | 长安大学 | 嵌入式arm处理器对nandflash数据存储和删除方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852045A (zh) * | 2018-08-01 | 2020-02-28 | 珠海金山办公软件有限公司 | 一种删除文档内容的方法、装置、电子设备及存储介质 |
CN110852045B (zh) * | 2018-08-01 | 2024-06-18 | 珠海金山办公软件有限公司 | 一种删除文档内容的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2013156766A (ja) | 2013-08-15 |
EP2624141A1 (en) | 2013-08-07 |
US9021208B2 (en) | 2015-04-28 |
JP5861473B2 (ja) | 2016-02-16 |
CN103294609B (zh) | 2016-01-13 |
US20130198460A1 (en) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103294609A (zh) | 信息处理装置和存储器管理方法 | |
US9355112B1 (en) | Optimizing compression based on data activity | |
US8521986B2 (en) | Allocating storage memory based on future file size or use estimates | |
CN102760101B (zh) | 一种基于ssd 的缓存管理方法及系统 | |
US8972690B2 (en) | Methods and apparatuses for usage based allocation block size tuning | |
CN103440207B (zh) | 缓存方法及装置 | |
US10901619B2 (en) | Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse | |
US8103824B2 (en) | Method for self optimizing value based data allocation across a multi-tier storage system | |
CN106844740B (zh) | 基于内存对象缓存系统的数据预读方法 | |
CN103282889A (zh) | 用于数据储存系统的端点高速缓存 | |
CN110232049A (zh) | 一种元数据缓存管理方法和装置 | |
US9372810B2 (en) | Collaborative caching | |
CN109086141B (zh) | 内存管理方法和装置以及计算机可读存储介质 | |
CN105468541B (zh) | 一种面向透明计算智能终端的缓存管理方法 | |
CN107368608A (zh) | 基于arc替换算法的hdfs小文件缓存管理方法 | |
CN105095495A (zh) | 一种分布式文件系统缓存管理方法和系统 | |
CN114840148B (zh) | 在Kubernetes中基于linux内核bcache技术实现磁盘加速的方法 | |
CN108459821A (zh) | 一种数据缓存的方法及装置 | |
CN114860726A (zh) | 数据库存储冷热分离方法、装置、设备及可读存储介质 | |
CN107295059A (zh) | 业务推送量的统计系统及方法 | |
CN103685359B (zh) | 数据处理方法及装置 | |
CN105162891A (zh) | 一种基于ip网络的数据存储方法 | |
CN108804351A (zh) | 一种缓存置换方法以及装置 | |
CN109508140A (zh) | 存储资源管理方法、装置、电子设备及电子设备、系统 | |
US8621156B1 (en) | Labeled cache system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160113 Termination date: 20220125 |