CN108491166A - 面向光盘库的读数据缓存管理方法 - Google Patents

面向光盘库的读数据缓存管理方法 Download PDF

Info

Publication number
CN108491166A
CN108491166A CN201810258153.4A CN201810258153A CN108491166A CN 108491166 A CN108491166 A CN 108491166A CN 201810258153 A CN201810258153 A CN 201810258153A CN 108491166 A CN108491166 A CN 108491166A
Authority
CN
China
Prior art keywords
file
address
disk
read
queue
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
Application number
CN201810258153.4A
Other languages
English (en)
Other versions
CN108491166B (zh
Inventor
姚杰
曹强
刘逸麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Phyllis Tong Mdt Infotech Ltd
Original Assignee
Jiangsu Phyllis Tong Mdt Infotech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Phyllis Tong Mdt Infotech Ltd filed Critical Jiangsu Phyllis Tong Mdt Infotech Ltd
Priority to CN201810258153.4A priority Critical patent/CN108491166B/zh
Publication of CN108491166A publication Critical patent/CN108491166A/zh
Application granted granted Critical
Publication of CN108491166B publication Critical patent/CN108491166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种面向光盘库的读数据缓存管理方法,光盘库包括可原地更新的用于读数据缓存的磁盘和已刻录过数据的只读光盘;将光盘中读操作次数高的文件缓存到磁盘中,进而提高读操作次数高的文件的读取速度,进而降低光盘库中文件的平均延迟时间。本发明的有益效果为:其能提高光盘库读取数据时命中磁盘缓存的概率,从而降低平均读延迟时间,提高光盘库整体性能。

Description

面向光盘库的读数据缓存管理方法
技术领域
本发明涉及计算机数据存储技术领域,具体涉及一种面向光盘库的读数据缓存管理方法。
背景技术
大数据时代数据总量不断增加,大数据分析技术也在进步,大数据分析程序能从大量的数据中来挖掘潜在的价值,所以需要一种能够廉价长期保存大量数据的存储系统,并能够通过编程方式存取这些数据。
光盘是一种适合廉价长期存储数据的存储介质。蓝光光盘能够可靠地保存数据长达50年,而且它也是一种价格相对划算的存储介质。光盘有着很好的兼容性,30年前制造的光盘依然能被现有光驱读取。在洪水、地震、飓风等自然灾害或电磁脉冲等人为攻击中,光盘是唯一能保存下来的存储介质,提供了较高的数据保存的可靠性。光盘是由毫米级别的塑料片和微米级别的膜涂层构成,生产成本较低。但是光盘容量相对于大数据分析程序需要存储系统能提供在线的数据访问模式,而访问光盘存在秒级别的延时,访问速度也未能达到在线访问的要求,需要采用硬盘等存储介质来保证在线访问,采用光盘介质来保证数据长期存储。
蓝光光盘能够可靠地保存数据长达50年,而且它也是一种价格相对划算的存储介质。光盘有着很好的兼容性,30年前制造的光盘依然能被现有光驱读取。目前常用的蓝光光盘的容量为25GB、50GB、100GB等。25GB和100GB的蓝光光盘在光驱中的标准访问速度分别为26.9MB/s和17.9MB/s,最大访问速度分别为53.8MB/s和35.8MB/s。而硬盘容量一般为4TB和8TB,单个硬盘的访问速度为150MB/s。因此无论从容量还是从性能来看光盘都是远远低于硬盘的。
为了克服单张光盘在容量和访问速度上的限制,人们提出了光盘库存储系统。光盘库存储系统是通过光盘驱动器存取光盘数据的计算机设备。光盘驱动器能够存取光盘介质上的数据,并通过数据接口和主机系统实现数据通讯。而光盘库系统通常包含大量物理光盘,一个或者多个光盘读写驱动器,光盘库控制器以及与之相对应的机械光盘交换装置组成。光盘库机械光盘交换装置能够将光盘在物理盘槽和光盘驱动器之间传递。机械取从物理盘槽到光盘驱动器的延迟时间为几十秒,而光盘在光盘驱动器的读取延迟时间也为几百微秒,因此物理取盘时间的总延迟远远大于磁盘读取的延迟时间。
目前武汉光忆科技公司和华中科技大学开发出磁光电融合的新型光盘库,使用磁盘作为光盘数据的写缓存,但是并不能高效地使用磁盘作为光盘的读数据缓存。
因此,迫切的需要一种新型的面向光盘库的读数据缓存管理方法,从而提高光盘库读取数据时命中磁盘缓存的概率,从而降低平均读延迟时间,提高光盘库整体性能。
发明内容
本发明的目的在于提供一种面向光盘库的读数据缓存管理方法,其能提高光盘库读取数据时命中磁盘缓存的概率,从而降低平均读延迟时间,提高光盘库整体性能。
为实现上述目的,本发明的技术方案是
一种面向光盘库的读数据缓存管理方法,
光盘库包括可原地更新的用于读数据缓存的磁盘和已刻录过数据的只读光盘;
光盘库包含一个全局文件命名空间和文件地址映射表,
光盘库中所有文件都在全局文件命名空间中有唯一的绝对路径,是文件的逻辑地址;绝对路径从全局文件命名空间根目录到该文件的所有父目录直至文件本身名称;用户或者外部程序通过发送逻辑地址请求,读取相应的文件;
文件地址映射表中包含至少一条文件地址映射记录,文件地址映射记录包括文件的逻辑地址、与逻辑地址对应的文件物理地址以及对应文件的读操作次数;
文件物理地址是指文件存储在缓存中的磁盘路径地址和光盘路径地址,如果磁盘路径地址上没有缓存该文件,则相应的文件磁盘路径地址为空;文件物理地址一定存在的光盘路径地址由光盘卷号和光盘内部文件地址组成;
磁盘读缓存管理方法包括:接收文件读请求;解析读请求的逻辑地址,通过地址映射表确定读请求对应的数据在光盘库中的文件物理地址;如果文件物理地址中包含不为空的文件磁盘路径地址,即读缓存命中,则从该文件磁盘路径地址处读取该文件,并且把该文件地址映射表中的读操作次数计数增加一,更新其最近读取时间;
如果文件物理地址只存在光盘路径地址,即文件磁盘路径地址为空,读缓存不命中,则从相应的光盘路径地址中读取所请求的文件,发送给用户,把该文件保存一份到磁盘缓存中,之后根据预取算法把该光盘上相关数据一起读到磁盘缓存中,随后更新上述文件地址映射表,记录该请求文件和预取到磁盘缓存中的该光盘上相关数据在磁盘中的磁盘路径地址,并且把该请求文件地址映射表中的读操作次数计数增加一;
当磁盘缓存空间满时,根据淘汰算法把一个或一组文件淘汰出磁盘缓存。
优选地,文件地址映射表的文件地址映射记录包含一系列条目,每个条目代表全局文件命名空间中的一个文件的属性列表;文件属性列表包含文件的逻辑地址,磁盘缓存上的磁盘路径地址,光盘上的光盘路径地址,读操作次数,最近读取时间;如果某一文件不在磁盘缓存中,则相应表项中的磁盘路径地址为空;文件在光盘上的物理地址,包括所在光盘的卷号和光盘内部文件地址;读操作次数记录该文件被读取的次数;最近读取时间为最近一次读取该文件的时间。
优选地,如果判定读操作对应的文件的磁盘路径地址为空,即读缓存不命中,从光盘中光盘路径地址读取文件,具体为:
解析读操作所在光盘,把该光盘放到光盘库中的光盘驱动器中,并根据该文件的光盘内部文件地址,读取该文件;
通过光盘驱动器从光盘开始读取该文件时,优先把文件数据反馈给请求,同时在磁盘缓存中创建新文件,请求文件数据拷贝到磁盘缓存中创建相应镜像文件;创建镜像文件完成后,把镜像文件在磁盘缓存中的磁盘路径地址记录到文件地址映射表中该请求文件的对应属性列表中;
在文件地址映射表中该请求文件的对应属性列表中的读操作次数计数增一,并更新当前时间到最近读取时间。
优选地,预取算法包括如下步骤:
设定预取策略,为每个策略定义一个唯一的预取配置参数,用于设置启用该策略,分别为各策略定义预取配置参数为0、1、2和3;
如果预取配置参数等于0,则仅仅从该光盘上读所请求的文件;
如果预取配置参数等于1,则会读取该文件光盘相同父目录下的所有兄弟文件到磁盘缓存中,并更新相应文件在文件地址映射表中的条目;
如果预取配置参数等于2,则会读取该文件同物理光盘相同父目录下的所有兄弟文件及父目录所有同级目录下的所有文件到磁盘缓存中,并更新相应文件在文件地址映射表中的条目;
如果预取配置参数等于3,则会把整个光盘所有文件读入磁盘缓存,并更新相应文件在文件地址映射表中的条目。
优选地,淘汰算法包括如下步骤:
设定淘汰策略,为每个策略定义一个唯一的淘汰配置参数,用于设置启用该策略,分别为各策略定义淘汰配置参数为0、1、2和3;
当淘汰配置参数为0时,把所有已缓存文件根据读取次数从大到小降序排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的所占容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,直到待缓存文件能够完全写入磁盘缓存;
当淘汰配置参数为1时,把所有已缓存文件根据最近读取时间从远到近排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,直到待缓冲文件能够完全写入磁盘缓存;
当淘汰算法配置参数为2时,淘汰算法把所有已缓存文件根据文件大小从小到大排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,只到带缓冲文件能够完全写入磁盘缓存;
当淘汰配置参数为3时,淘汰算法把所有已缓存文件根据文件大小乘以该文件读取计数的值从大到小排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,只到带缓冲文件能够完全写入磁盘缓存。
本发明的工作原理为:将光盘中读操作次数高的文件缓存到磁盘中,进而提高读操作次数高的文件的读取速度,进而降低光盘库中文件的平均延迟时间。
本发明的有益效果为:
1、本发明使用文件作为缓存调度的基本单位,而不是使用单张光盘作为调度的单位,实现精确度更高的细粒度调度,减小每次缓存调度的数据量,减小不必要的缓存空间浪费。缩短了读操作的平均响应时间。
2、本发明提出的文件地址映射表记录文件的存取次数和最近存取时间,方便统计文件的存取热点和频率,从而能够设计优化的缓存调度算法,更符合用户访问光盘库的模式,从而提高缓冲命中率。
3、本发明中的预取算法能够较好的利用文件存取的局域性,并提供多种策略配置根据用户访问行为提高预取效率,减少机械换盘操作。
4、本发明中的淘汰算法能够把最不经常访问的文件淘汰掉,留出有用空间给经常存取的文件,提高磁盘缓存的整体效率。
附图说明
图1为本发明中光盘库读数据缓存的结构示意图;
图2为本发明实施例中的文件地址映射表的结构示意图;
图3为本发明实施例中基于读数据缓存的文件读请求的流程图;
图4为本发明实施例中基于读数据缓存的预取算法的流程图;
图5为本发明实施例中基于读数据缓存的淘汰算法的流程图示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明具体实施的技术方案是:
一种面向光盘库的读数据缓存管理方法,
光盘库包括可原地更新的用于读数据缓存的磁盘和已刻录过数据的只读光盘;
光盘库包含一个全局文件命名空间和文件地址映射表,
光盘库中所有文件都在全局文件命名空间中有唯一的绝对路径,是文件的逻辑地址;绝对路径从全局文件命名空间根目录到该文件的所有父目录直至文件本身名称;用户或者外部程序通过发送逻辑地址请求,读取相应的文件;
文件地址映射表中包含至少一条文件地址映射记录,文件地址映射记录包括文件的逻辑地址、与逻辑地址对应的文件物理地址以及对应文件的读操作次数;
文件物理地址是指文件存储在缓存中的磁盘路径地址和光盘路径地址,如果磁盘路径地址上没有缓存该文件,则相应的文件磁盘路径地址为空;文件物理地址一定存在的光盘路径地址由光盘卷号和光盘内部文件地址组成;
磁盘读缓存管理方法包括:接收文件读请求;解析读请求的逻辑地址,通过地址映射表确定读请求对应的数据在光盘库中的文件物理地址;如果文件物理地址中包含不为空的文件磁盘路径地址,即读缓存命中,则从该文件磁盘路径地址处读取该文件,并且把该文件地址映射表中的读操作次数计数增加一,更新其最近读取时间;
如果文件物理地址只存在光盘路径地址,即文件磁盘路径地址为空,读缓存不命中,则从相应的光盘路径地址中读取所请求的文件,发送给用户,把该文件保存一份到磁盘缓存中,之后根据预取算法把该光盘上相关数据一起读到磁盘缓存中,随后更新上述文件地址映射表,记录该请求文件和预取到磁盘缓存中的该光盘上相关数据在磁盘中的磁盘路径地址,并且把该请求文件地址映射表中的读操作次数计数增加一;
当磁盘缓存空间满时,根据淘汰算法把一个或一组文件淘汰出磁盘缓存。
优选地,文件地址映射表的文件地址映射记录包含一系列条目,每个条目代表全局文件命名空间中的一个文件的属性列表;文件属性列表包含文件的逻辑地址,磁盘缓存上的磁盘路径地址,光盘上的光盘路径地址,读操作次数,最近读取时间;如果某一文件不在磁盘缓存中,则相应表项中的磁盘路径地址为空;文件在光盘上的物理地址,包括所在光盘的卷号和光盘内部文件地址;读操作次数记录该文件被读取的次数;最近读取时间为最近一次读取该文件的时间。
优选地,如果判定读操作对应的文件的磁盘路径地址为空,即读缓存不命中,从光盘中光盘路径地址读取文件,具体为:
解析读操作所在光盘,把该光盘放到光盘库中的光盘驱动器中,并根据该文件的光盘内部文件地址,读取该文件;
通过光盘驱动器从光盘开始读取该文件时,优先把文件数据反馈给请求,同时在磁盘缓存中创建新文件,请求文件数据拷贝到磁盘缓存中创建相应镜像文件;创建镜像文件完成后,把镜像文件在磁盘缓存中的磁盘路径地址记录到文件地址映射表中该请求文件的对应属性列表中;
在文件地址映射表中该请求文件的对应属性列表中的读操作次数计数增一,并更新当前时间到最近读取时间。
优选地,预取算法包括如下步骤:
设定预取策略,为每个策略定义一个唯一的预取配置参数,用于设置启用该策略,分别为各策略定义预取配置参数为0、1、2和3;
如果预取配置参数等于0,则仅仅从该光盘上读所请求的文件;
如果预取配置参数等于1,则会读取该文件光盘相同父目录下的所有兄弟文件到磁盘缓存中,并更新相应文件在文件地址映射表中的条目;
如果预取配置参数等于2,则会读取该文件同物理光盘相同父目录下的所有兄弟文件及父目录所有同级目录下的所有文件到磁盘缓存中,并更新相应文件在文件地址映射表中的条目;
如果预取配置参数等于3,则会把整个光盘所有文件读入磁盘缓存,并更新相应文件在文件地址映射表中的条目。
优选地,淘汰算法包括如下步骤:
设定淘汰策略,为每个策略定义一个唯一的淘汰配置参数,用于设置启用该策略,分别为各策略定义淘汰配置参数为0、1、2和3;
当淘汰配置参数为0时,把所有已缓存文件根据读取次数从大到小降序排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的所占容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,直到待缓存文件能够完全写入磁盘缓存;
当淘汰配置参数为1时,把所有已缓存文件根据最近读取时间从远到近排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,直到待缓冲文件能够完全写入磁盘缓存;
当淘汰算法配置参数为2时,淘汰算法把所有已缓存文件根据文件大小从小到大排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,只到带缓冲文件能够完全写入磁盘缓存;
当淘汰配置参数为3时,淘汰算法把所有已缓存文件根据文件大小乘以该文件读取计数的值从大到小排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,只到带缓冲文件能够完全写入磁盘缓存。
本发明的工作原理为:将光盘中读操作次数高的文件缓存到磁盘中,进而提高读操作次数高的文件的读取速度,进而降低光盘库中文件的平均延迟时间。
本发明的有益效果为:
1、本发明使用文件作为缓存调度的基本单位,而不是使用单张光盘作为调度的单位,实现精确度更高的细粒度调度,减小每次缓存调度的数据量,减小不必要的缓存空间浪费。缩短了读操作的平均响应时间。
2、本发明提出的文件地址映射表记录文件的存取次数和最近存取时间,方便统计文件的存取热点和频率,从而能够设计优化的缓存调度算法,更符合用户访问光盘库的模式,从而提高缓冲命中率。
3、本发明中的预取算法能够较好的利用文件存取的局域性,并提供多种策略配置根据用户访问行为提高预取效率,减少机械换盘操作。
4、本发明中的淘汰算法能够把最不经常访问的文件淘汰掉,留出有用空间给经常存取的文件,提高磁盘缓存的整体效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (5)

1.一种面向光盘库的读数据缓存管理方法,其特征在于,
光盘库包括可原地更新的用于读数据缓存的磁盘和已刻录过数据的只读光盘;
光盘库包含一个全局文件命名空间和文件地址映射表,
光盘库中所有文件都在全局文件命名空间中有唯一的绝对路径,是文件的逻辑地址;绝对路径从全局文件命名空间根目录到该文件的所有父目录直至文件本身名称;用户或者外部程序通过发送逻辑地址请求,读取相应的文件;
文件地址映射表中包含至少一条文件地址映射记录,文件地址映射记录包括文件的逻辑地址、与逻辑地址对应的文件物理地址以及对应文件的读操作次数;
文件物理地址是指文件存储在缓存中的磁盘路径地址和光盘路径地址,如果磁盘路径地址上没有缓存该文件,则相应的文件磁盘路径地址为空;文件物理地址一定存在的光盘路径地址由光盘卷号和光盘内部文件地址组成;
磁盘读缓存管理方法包括:接收文件读请求;解析读请求的逻辑地址,通过地址映射表确定读请求对应的数据在光盘库中的文件物理地址;如果文件物理地址中包含不为空的文件磁盘路径地址,即读缓存命中,则从该文件磁盘路径地址处读取该文件,并且把该文件地址映射表中的读操作次数计数增加一,更新其最近读取时间;
如果文件物理地址只存在光盘路径地址,即文件磁盘路径地址为空,读缓存不命中,则从相应的光盘路径地址中读取所请求的文件,发送给用户,把该文件保存一份到磁盘缓存中,之后根据预取算法把该光盘上相关数据一起读到磁盘缓存中,随后更新上述文件地址映射表,记录该请求文件和预取到磁盘缓存中的该光盘上相关数据在磁盘中的磁盘路径地址,并且把该请求文件地址映射表中的读操作次数计数增加一;
当磁盘缓存空间满时,根据淘汰算法把一个或一组文件淘汰出磁盘缓存。
2.根据权利要求1所述的面向光盘库的读数据缓存管理方法,其特征在于,
文件地址映射表的文件地址映射记录包含一系列条目,每个条目代表全局文件命名空间中的一个文件的属性列表;文件属性列表包含文件的逻辑地址,磁盘缓存上的磁盘路径地址,光盘上的光盘路径地址,读操作次数,最近读取时间;如果某一文件不在磁盘缓存中,则相应表项中的磁盘路径地址为空;文件在光盘上的物理地址,包括所在光盘的卷号和光盘内部文件地址;读操作次数记录该文件被读取的次数;最近读取时间为最近一次读取该文件的时间。
3.根据权利要求2所述的面向光盘库的读数据缓存管理方法,其特征在于,
如果判定读操作对应的文件的磁盘路径地址为空,即读缓存不命中,从光盘中光盘路径地址读取文件,具体为:
解析读操作所在光盘,把该光盘放到光盘库中的光盘驱动器中,并根据该文件的光盘内部文件地址,读取该文件;
通过光盘驱动器从光盘开始读取该文件时,优先把文件数据反馈给请求,同时在磁盘缓存中创建新文件,请求文件数据拷贝到磁盘缓存中创建相应镜像文件;创建镜像文件完成后,把镜像文件在磁盘缓存中的磁盘路径地址记录到文件地址映射表中该请求文件的对应属性列表中;
在文件地址映射表中该请求文件的对应属性列表中的读操作次数计数增一,并更新当前时间到最近读取时间。
4.根据权利要求3所述的面向光盘库的读数据缓存管理方法,其特征在于,
预取算法包括如下步骤:
设定预取策略,为每个策略定义一个唯一的预取配置参数,用于设置启用该策略,分别为各策略定义预取配置参数为0、1、2和3;
如果预取配置参数等于0,则仅仅从该光盘上读所请求的文件;
如果预取配置参数等于1,则会读取该文件光盘相同父目录下的所有兄弟文件到磁盘缓存中,并更新相应文件在文件地址映射表中的条目;
如果预取配置参数等于2,则会读取该文件同物理光盘相同父目录下的所有兄弟文件及父目录所有同级目录下的所有文件到磁盘缓存中,并更新相应文件在文件地址映射表中的条目;
如果预取配置参数等于3,则会把整个光盘所有文件读入磁盘缓存,并更新相应文件在文件地址映射表中的条目。
5.根据权利要求4所述的面向光盘库的读数据缓存管理方法,其特征在于,
淘汰算法包括如下步骤:
设定淘汰策略,为每个策略定义一个唯一的淘汰配置参数,用于设置启用该策略,分别为各策略定义淘汰配置参数为0、1、2和3;
当淘汰配置参数为0时,把所有已缓存文件根据读取次数从大到小降序排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的所占容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,直到待缓存文件能够完全写入磁盘缓存;
当淘汰配置参数为1时,把所有已缓存文件根据最近读取时间从远到近排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,直到待缓冲文件能够完全写入磁盘缓存;
当淘汰算法配置参数为2时,淘汰算法把所有已缓存文件根据文件大小从小到大排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,只到带缓冲文件能够完全写入磁盘缓存;
当淘汰配置参数为3时,淘汰算法把所有已缓存文件根据文件大小乘以该文件读取计数的值从大到小排列成一个逻辑队列;具体淘汰步骤为:
当队尾文件的容量大于待缓存的文件,则删除该队尾文件,把待缓存文件写入缓存;如果是否,则从队尾开始向前一步,把当前文件大小和队尾文件大小相加,如果总容量大于待缓冲文件的大小,则删除这两个文件,把待缓存文件写入缓存;如果是否,继续向前一步计算前面所有文件的总容量,如果大于待缓冲文件的大小,则把这些文件全部删除,把待缓存文件写入缓存;否则继续该过程,只到带缓冲文件能够完全写入磁盘缓存。
CN201810258153.4A 2018-03-27 2018-03-27 面向光盘库的读数据缓存管理方法 Active CN108491166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810258153.4A CN108491166B (zh) 2018-03-27 2018-03-27 面向光盘库的读数据缓存管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810258153.4A CN108491166B (zh) 2018-03-27 2018-03-27 面向光盘库的读数据缓存管理方法

Publications (2)

Publication Number Publication Date
CN108491166A true CN108491166A (zh) 2018-09-04
CN108491166B CN108491166B (zh) 2021-05-07

Family

ID=63337658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810258153.4A Active CN108491166B (zh) 2018-03-27 2018-03-27 面向光盘库的读数据缓存管理方法

Country Status (1)

Country Link
CN (1) CN108491166B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634520A (zh) * 2018-11-29 2019-04-16 南京航空航天大学 一种基于hdfs光盘库的存储系统
CN110807010A (zh) * 2019-10-29 2020-02-18 北京猎豹移动科技有限公司 文件读取方法、装置、电子设备和存储介质
CN111061429A (zh) * 2019-11-22 2020-04-24 北京浪潮数据技术有限公司 一种数据访问方法、装置、设备、介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2562991A1 (en) * 2011-01-13 2013-02-27 Huawei Technologies Co., Ltd. Data prefetching method, node and system for distributed hash table dht memory system
CN103985393A (zh) * 2014-04-28 2014-08-13 武汉光忆科技有限公司 一种多光盘数据并行管理方法及装置
CN104063330A (zh) * 2014-06-25 2014-09-24 华为技术有限公司 数据预取方法及装置
CN106202414A (zh) * 2016-07-12 2016-12-07 武汉光忆科技有限公司 一种基于大容量光盘库的文件系统及文件存储方法和系统
CN107704211A (zh) * 2017-10-31 2018-02-16 武汉光忆科技有限公司 一种磁光电混合光盘库及其管理方法和管理系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2562991A1 (en) * 2011-01-13 2013-02-27 Huawei Technologies Co., Ltd. Data prefetching method, node and system for distributed hash table dht memory system
CN103985393A (zh) * 2014-04-28 2014-08-13 武汉光忆科技有限公司 一种多光盘数据并行管理方法及装置
CN104063330A (zh) * 2014-06-25 2014-09-24 华为技术有限公司 数据预取方法及装置
CN106202414A (zh) * 2016-07-12 2016-12-07 武汉光忆科技有限公司 一种基于大容量光盘库的文件系统及文件存储方法和系统
CN107704211A (zh) * 2017-10-31 2018-02-16 武汉光忆科技有限公司 一种磁光电混合光盘库及其管理方法和管理系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634520A (zh) * 2018-11-29 2019-04-16 南京航空航天大学 一种基于hdfs光盘库的存储系统
CN109634520B (zh) * 2018-11-29 2021-12-07 南京航空航天大学 一种基于hdfs光盘库的存储系统
CN110807010A (zh) * 2019-10-29 2020-02-18 北京猎豹移动科技有限公司 文件读取方法、装置、电子设备和存储介质
CN111061429A (zh) * 2019-11-22 2020-04-24 北京浪潮数据技术有限公司 一种数据访问方法、装置、设备、介质
CN111061429B (zh) * 2019-11-22 2022-06-17 北京浪潮数据技术有限公司 一种数据访问方法、装置、设备、介质

Also Published As

Publication number Publication date
CN108491166B (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN107704211B (zh) 一种磁光电混合光盘库及其管理方法和管理系统
US9747318B2 (en) Retrieving data in a storage system using thin provisioning
JP6870246B2 (ja) ストレージ装置、及びストレージ制御装置
EP2397946A1 (en) Storage system using a rapid storage device as a cache
JP5943363B2 (ja) キャッシュを有するストレージ・システムにおけるデータのキャッシングを決定するプログラム、システム、および方法
CN103246696A (zh) 高并发数据库的访问方法及应用于多服务器系统的方法
US9996557B2 (en) Database storage system based on optical disk and method using the system
EP2735978A1 (en) Storage system and management method used for metadata of cluster file system
WO2015169245A1 (zh) 数据缓存方法、缓存和计算机系统
CN108829341B (zh) 一种基于混合存储系统的数据管理方法
JP6099059B2 (ja) ストレージのためのトラックのキャッシュ管理するプログラム、システム、および方法
CN113821171B (zh) 一种基于哈希表与lsm树的键值存储方法
WO2014015828A1 (zh) 数据存储空间的处理方法、处理系统及数据存储服务器
CN108845957B (zh) 一种置换和回写自适应的缓冲区管理方法
CN102981963A (zh) 一种固态盘的闪存转换层的实现方法
CN103985393B (zh) 一种多光盘数据并行管理方法及装置
US20160062651A1 (en) Cache management for sequential write storage
CN108491166A (zh) 面向光盘库的读数据缓存管理方法
CN108182154A (zh) 一种基于固态硬盘的日志文件的读写方法及固态硬盘
CN104391653A (zh) 一种基于数据块的高速缓存设计方法
CN105786410A (zh) 一种提高数据存储系统处理速度的方法及数据存储系统
CN109388341A (zh) 一种基于Device Mapper的系统存储优化方法
CN104657461A (zh) 基于内存与ssd协作式的文件系统元数据搜索缓存方法
CN109739696B (zh) 一种双控存储阵列固态硬盘缓存加速方法
CN106527987A (zh) 一种不带dram的ssd主控可靠性提升系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant