存储方法及装置制造方法

文档序号:6525888阅读:141来源:国知局
存储方法及装置制造方法
【专利摘要】本发明实施例提供一种存储方法及装置。该方法包括:当用户设备在代理层预览低码文件时,在用户数据层中定位与所述低码文件对应的高码文件所在的存储池;确定所述存储池所处的状态;如果确定所述存储池处于在线状态,则在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件;如果确定所述存储池处于休眠状态,则唤醒所述存储池,在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件。因此,无需采用离线存储,有效地提升回迁效率,在用户数据层大量的存储池中,可以将存储池设置成休眠状态,从而减少大量的存储设备带来大量的能耗,降低运维成本。
【专利说明】存储方法及装置
【技术领域】
[0001 ] 本发明实施例涉及通信【技术领域】,并且更具体地,涉及一种存储方法及装置。
【背景技术】
[0002]电视台的数据文件,如音视频素材和成片文件等,通常迁移到MAM (Media AssetManagement,媒资管理系统)中采用在线存储和离线存储的方式进行存储。在线存储是指存储设备及所存储的数据时刻保持“在线”状态,满足应用系统的高效访问,电视台普遍采用硬盘作为在线存储的存储设备,在线存储的容量一般不超过500TB,存储近期(约两周内)的数据文件。离线存储容量需求大,电视台普遍采用磁带库作为离线存储的存储设备,存储非近期(如超过两周)的数据文件,还对所有在线存储的数据文件进行归档备份,以防范可能发生的数据灾难。
[0003]当电视台的制作或播出系统需要使用某些数据文件时,首先,将会在MAM系统的在线存储中定位所需的数据文件并进行回迁,如果在MAM系统的在线存储中未读取到所需数据文件,那么将在离线存储中回调。由于离线存储在物理上远离应用系统,并且从磁带库中读取数据文件所需时间较长(通常为分钟级别),导致回迁效率低下。另外,在线状态的存储设备还带来大量的能耗,增加运维成本。

【发明内容】

[0004]本发明实施例提供一种存储方法及装置,能够提升回迁效率,并减少能耗,降低运维成本。
[0005]第一方面,提供了一种存储方法,该方法包括:当用户设备在代理层预览低码文件时,在用户数据层中定位与所述低码文件对应的高码文件所在的存储池;确定所述存储池所处的状态;如果确定所述存储池处于在线状态,则在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件;如果确定所述存储池处于休眠状态,则唤醒所述存储池,在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件。
[0006]结合第一方面,在另一种可能的实现方式中,所述确定所述存储池所处的状态,包括:确定所述存储池所处的状态是否为所述在线状态;在确定所述存储池处于非在线状态的情况下,根据所述存储池的健康信息确定所述存储池是否处于所述休眠状态,所述健康信息包括所述存储池的可靠性指标。
[0007]结合第一方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述在用户数据层中定位与所述低码文件对应的高码文件所在的存储池之前,所述方法还包括:从缓存层或者从代理层中读取所述高码文件的元数据信息;所述在用户数据层中定位所述高码文件所在的存储池,包括:根据所述高码文件的元数据信息在所述用户数据层中定位所述高码文件所在的存储池。
[0008]结合第一方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述方法还包括:当所述高码文件被请求读取的次数大于或等于数目阈值时,在缓存层中存储所述高码文件。
[0009]结合第一方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述缓存层的存储设备包括固态硬盘SSD或串行连接小型计算机系统接口 SAS硬盘。
[0010]结合第一方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述代理层的存储设备包括SAS硬盘,或者所述用户数据层的存储设备包括近线NL-SAS硬盘。
[0011]结合第一方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述方法还包括:当所述高码文件被请求读取的次数大于或等于数目阈值时,设置所述存储池的状态为在线状态;或者当所述高码文件被请求读取的次数小于数目阈值时,设置所述存储池的状态为休眠状态。
[0012]结合第一方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述方法还包括:当所述高码文件导入所述用户数据层的时间在预设时间段内时,设置所述存储池的状态为在线状态;或者当所述高码文件导入所述用户数据层的时间在预设时间段外时,设置所述存储池的状态为休眠状态。
[0013]第二方面,提供了一种存储装置,该装置包括:定位模块,用于当用户设备在代理层预览低码文件时,在用户数据层中定位与所述低码文件对应的高码文件所在的存储池;确定模块,用于确定所述定位模块定位的所述存储池所处的状态;回迁模块,用于如果所述确定模块确定所述存储池处于在线状态,则在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件;所述回迁模块还用于如果所述确定模块确定所述存储池处于休眠状态,则唤醒所述存储池,在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件。
[0014]结合第二方面,在另一种可能的实现方式中,所述确定模块具体用于:确定所述存储池所处的状态是否为所述在线状态;在确定所述存储池处于非在线状态的情况下,根据所述存储池的健康信息确定所述存储池是否处于所述休眠状态,所述健康信息包括所述存储池的可靠性指标。
[0015]结合第二方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述回迁模块还用于:从缓存层或者从代理层中读取所述高码文件的元数据信息;所述定位模块具体用于:根据所述回迁模块读取的所述高码文件的元数据信息在所述用户数据层中定位所述高码文件所在的存储池。
[0016]结合第二方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述回迁模块还用于:当所述高码文件被请求读取的次数大于或等于数目阈值时,在缓存层中存储所述高码文件。
[0017]结合第二方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述缓存层的存储设备包括固态硬盘SSD或串行连接小型计算机系统接口 SAS硬盘。
[0018]结合第二方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述代理层的存储设备包括SAS硬盘,或者所述用户数据层的存储设备包括近线NL-SAS硬盘。
[0019]结合第二方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述确定模块还用于:当所述高码文件被请求读取的次数大于或等于数目阈值时,设置所述存储池的状态为在线状态;或者所述确定模块还用于:当所述高码文件被请求读取的次数小于数目阈值时,设置所述存储池的状态为休眠状态。
[0020]结合第二方面及其上述实现方式中的任一种实现方式,在另一种实现方式中,所述确定模块还用于:当所述高码文件导入所述用户数据层的时间在预设时间段内时,设置所述存储池的状态为在线状态;或者所述确定模块还用于:当所述高码文件导入所述用户数据层的时间在预设时间段外时,设置所述存储池的状态为休眠状态。
[0021]本发明实施例当用户设备在代理层预览低码文件时,在用户数据层中定位与低码文件对应的高码文件所在的存储池,确定存储池所处的状态,如果确定存储池处于在线状态,则在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件,如果确定存储池处于休眠状态,则唤醒该存储池,在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。因此,当用户设备在代理层预览低码文件时,就在用户数据层定位该低码文件对应的高码文件所在的存储池,并且高码文件存放在用户数据层,无需采用离线存储,有效地提升回迁效率,存放高码文件的存储池可以处于在线状态或休眠状态,能够减少能耗,降低运维成本。
【专利附图】

【附图说明】
[0022]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是本发明一个实施例的存储方法的流程图。
[0024]图2是本发明一个实施例的用于电视台媒资管理系统的存储系统的示意图。
[0025]图3是本发明一个实施例的存储方法的过程的示意性流程图。
[0026]图4是本发明一个实施例的存储装置的结构框图。
[0027]图5是本发明另一个实施例的存储装置的结构框图。
【具体实施方式】
[0028]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]在本发明实施例中,用户设备可称之为终端(Terminal)、MS (Mobile Station,移动台)、移动终端(Mobile Terminal)等,该用户设备可以经RAN(Radio Access Network,无线接入网)与一个或多个核心网进行通信,例如,用户设备可以是移动电话(或称为“蜂窝”电话)、具有移动终端的计算机等,例如,用户设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。用户设备还可以是电视台的制作或播出系统。应理解,本发明实施例对此并不限定。
[0030]图1是本发明一个实施例的的存储方法的流程图,该方法可用于电视台媒资管理系统。
[0031]101,当用户设备在代理层预览低码文件时,在用户数据层中定位与低码文件对应的高码文件所在的存储池。
[0032]其中,低码文件,也称为高码文件的索引文件,是高码文件经码率和格式转换后的低码率的文件。
[0033]102,确定存储池所处的状态。
[0034]在用户数据(User Data)层中存储有大量的高码文件,高码文件所在的存储池(Storage Pool)具有的状态包括在线状态和非在线状态的休眠状态,存储池当前可能处于在线状态,或者存储池当前处于休眠状态,休眠状态是可唤醒的。可选地,存储池为非在线状态时,可能出现故障,导致存储池不可唤醒。
[0035]需要说明的是,本发明在用户数据层存储的高码文件可以不包括高码文件的元数据部分,高码文件的元数据信息存储在代理层中。
[0036]103,如果确定存储池处于在线状态,则在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。
[0037]104,如果确定存储池处于休眠状态,则唤醒存储池,在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。
[0038]本发明实施例当用户设备在代理层预览低码文件时,在用户数据层中定位与低码文件对应的高码文件所在的存储池,确定存储池所处的状态,如果确定存储池处于在线状态,则在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件,如果确定存储池处于休眠状态,则唤醒存储池,在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。因此,当用户设备在代理层预览低码文件时,就在用户数据层定位该低码文件对应的高码文件所在的存储池,并且高码文件存放在用户数据层,无需采用离线存储,有效地提升回迁效率。
[0039]另外,存放高码文件的存储池可以处于在线状态或休眠状态,在用户数据层大量的存储池中,可以将部分存储池设置成休眠状态,因此,减少大量的存储设备带来大量的能耗,降低运维成本。
[0040]可选地,作为一个实施例,在代理(Proxy)层中存储低码文件,以及与低码文件对应的高码文件的索引信息(如元数据信息),当用户设备在代理层预览低码文件时,可以通过代理层中的高码文件的元数据信息在用户数据层中定位高码文件所在的存储池。或者,在缓存(Cache)层,如SSD (Solid State Disk,固态硬盘)Cache层,缓存了该高码文件的元数据信息,可以通过缓存层中的高码文件的元数据信息在用户数据层中定位高码文件所在的存储池。可选地,可以将代理层中的高码文件的元数据信息迁移到缓存层。
[0041]可选地,作为另一个实施例,在步骤102中,确定存储池所处的状态是否为在线状态;在确定存储池处于非在线状态的情况下,可以根据存储池的健康信息确定该存储池是否处于休眠状态。可选地,健康信息可以存储在代理层中,其中健康信息包括存储池的可靠性指标。具体地,健康信息可以是MAID (Massive Arrays Idle Disks,大规模非活动磁盘阵列)信息,可靠性指标包括但不限于坏道的数量或增量、GLIST (Grown Defect List,增长缺陷列表)的数量或增量、已恢复错误(recovered error)的数量或增量、Cl (ChunkIsolation,区块隔离)的数量、以及是否为 PFF (Predictive Failure and Failure,即将失效或失效)的存储设备。等等。例如,当坏道的数量或增量大于某个阈值时,表示用户数据层中对应的存储池不能快速地唤醒,可以对该存储池进行故障处理。
[0042]可选地,作为另一个实施例,当高码文件为热点文件,如被请求读取的次数大于或等于数目阈值时,可以在缓存层中存储高码文件。这样,当用户设备请求读取该高码文件时,可以立即从缓存层中回迁该高码文件,从而进一步地提升回迁效率。
[0043]可选地,作为另一个实施例,当高码文件为热点数据文件,即访问频繁的数文件,如被请求读取的次数大于或等于数目阈值时,可以设置该高码文件所在的存储池的状态为在线状态。反之,设置该高码文件所在的存储池的状态为休眠状态。或者,当高码文件为近期文件,如导入用户数据层的时间在预设时间段(如一周或两周)内时,设置该高码文件所在的存储池的状态为在线状态;反之,设置该高码文件所在的存储池的状态为休眠状态。
[0044]通过上述方案,在用户数据层大量的存储池中,可以将非热点的高码文件所在的存储池或者将非近期的高码文件所在的存储池设置成休眠状态,从而减少大量的存储设备带来大量的能耗,实现节能,降低运维成本。
[0045]可选地,作为另一个实施例,本发明实施例中,缓存层的存储设备可以包括SSD硬盘或 SAS (Serial Attached SCSI (Small Computer System Interface,小型计算机系统接口),串行连接小型计算机系统接口)硬盘。或者,代理层的存储设备可以包括SAS硬盘。或者用户数据层的存储设备包括NL (Near Line,近线)-SAS硬盘。优选地,缓存层采用的存储设备的性能优于或等价于代理层采用的存储设备,代理层采用的存储设备的性能优于用户数据层采用的存储设备。例如,缓存层的存储设备采用SSD硬盘,也称为SSD Cache层,代理层的存储设备采用SAS硬盘,用户数据层的存储设备采用NL-SAS硬盘。应理解,本发明实施例对采用的存储设备的类型并不作限制。
[0046]下面结合具体的例子详细描述本发明实施例。
[0047]图2示出了本发明实施例用于电视台媒资管理系统的存储系统的示意图。在图2的存储系统中描绘了代理层和用户数据层,可选地,可以包括缓存。缓存层,代理层和用户数据层均属于同一个应用系统中。其中,代理层和用户数据层也可以统称为文件系统(FileSystem, FS)。可选地,在物理上,缓存层可以放置SSD硬盘或SAS硬盘,代理层的存储设备可以选用SAS硬盘,用户数据层的存储设备可以采用NL-SAS硬盘。应理解,本发明实施例对此并不限定。可选地,该存储系统的存储容量可以设置在1-2PB。
[0048]代理层和用户数据层实现数据文件的静态分级,在代理层存储数据文件的元数据和低码文件,还可以存储用户数据层中的各个存储池的健康信息,并定期刷新存储池的健康信息。在用户数据层存储高码文件,在图2的用户数据层描绘了 η (η为正整数)个存储池(pool)。可以将高码文件写入与存储池,可以依次写入或随机写入,优选地,可以将访问频繁的高码文件放在特定的存储池,或者将近期的高码文件放在特定的存储池。等等。应理解,本发明实施例对此并不限定。缓存层可以缓存高码文件或高码文件的元数据信息等,优先地,可以在缓存层缓存一些频繁访问的高码文件。这样,当用户设备(如电视台制作或播出系统)请求读取时,可以快速地从缓存层中回迁该高码文件。
[0049]图3是本发明一个实施例的存储方法的过程的示意流程图。图3的方法可以应用于图2的存储系统。
[0050]步骤301,用户设备请求预览低码文件。[0051]步骤302,用户设备从代理层读取低码文件。
[0052]步骤303,在用户设备数据层定位高码文件所在的存储池。
[0053]应理解,本发明实施例步骤302和步骤303可以同时执行,即在用户设备预览低码文件的过程中,就定位高码文件所在的存储池。可选地,在代理层读取元数据信息,或者在缓存层读取元数据信息,根据元数据信息在用户数据层定位高码文件所在的存储池。
[0054]步骤305,判断存储池是否为在线状态。如果确定存储池处于在线状态,则在用户设备已请求读取高码文件(即已执行步骤304)的情况下从存储池中回迁高码文件(步骤308a)。如果存储池为非在线状态,则执行步骤306,判断存储池是否为休眠状态,即是否可唤醒,可选地,可以通过在代理层读取存储池的健康信息,可以是MAID信息中的可靠性指标来判断存储池是否可唤醒。具体例子可以参考上述,此处不再赘述。如果确定存储池处于休眠状态,则执行步骤307唤醒存储池,在用户设备已请求读取高码文件(即已执行步骤304)的情况下从存储池中回迁高码文件(步骤308a)。可选地,当用户设备还未请求读取高码文件时,可以将该高码文件所在的处于休眠状态的存储池写入一个标志位,让该存储池处于唤醒待命状态,如果在一定时间内(如30分钟内),用户设备没有请求读取该高码文件,则重置该标志位,即取消该存储池的唤醒待命状态。
[0055]应理解,本发明实施例,对于步骤304和确定存储池状态的执行顺序不作限制。
[0056]可选地,当高码文件为热点文件,如被请求读取的次数大于或等于数目阈值时,可以设置该高码文件所在的存储池的状态为在线状态或者在缓存层中存储高码文件。这样,当用户设备请求读取该高码文件时,可以立即从缓存层中回迁该高码文件,从而进一步地提升回迁效率。
[0057]可选地,在用户数据层大量的存储池中,可以将非热点的高码文件所在的存储池或者将非近期的高码文件所在的存储池设置成休眠状态,从而减少大量的存储设备带来大量的能耗,实现节能,降低运维成本。
[0058]本发明实施例当用户设备在代理层预览低码文件时,在用户数据层中定位与低码文件对应的高码文件所在的存储池,确定存储池所处的状态,如果确定存储池处于在线状态,则在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件,如果确定存储池处于休眠状态,则唤醒存储池,在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。因此,当用户设备在代理层预览低码文件时,就在用户数据层定位该低码文件对应的高码文件所在的存储池,并且高码文件存放在用户数据层,无需采用离线存储或近线存储,有效地提升回迁效率。
[0059]图4是本发明一个实施例的存储装置的结构框图。图4的存储装置400包括定位模块401,确定模块402和回迁模块403。
[0060]定位模块401,用于当用户设备在代理层预览低码文件时,在用户数据层中定位与低码文件对应的高码文件所在的存储池。
[0061]确定模块402,用于确定定位模块401定位的存储池所处的状态。
[0062]回迁模块403,用于如果确定模块402确定存储池处于在线状态,则在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。
[0063]回迁模块403还用于如果确定模块402确定存储池处于休眠状态,则唤醒存储池,在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。[0064]在用户数据层中存储有大量的高码文件,高码文件所在的存储池具有的状态包括在线状态和非在线状态的休眠状态,存储池当前可能处于在线状态,或者存储池当前处于休眠状态。可选地,存储池为非在线状态时,可能出现故障,导致存储池不可唤醒。
[0065]需要说明的是,本发明在用户数据层存储的高码文件可以不包括高码文件的元数据部分,高码文件的元数据信息存储在代理层中。
[0066]本发明实施例当用户设备在代理层预览低码文件时,在用户数据层中定位与低码文件对应的高码文件所在的存储池,确定存储池所处的状态,如果确定存储池处于在线状态,则在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件,如果确定存储池处于休眠状态,则唤醒存储池,在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。因此,当用户设备在代理层预览低码文件时,就在用户数据层定位该低码文件对应的高码文件所在的存储池,并且高码文件存放在用户数据层,无需采用离线存储,有效地提升回迁效率。
[0067]另外,存放高码文件的存储池可以处于在线状态或休眠状态,在用户数据层大量的存储池中,可以将部分存储池设置成休眠状态,因此,减少大量的存储设备带来大量的能耗,降低运维成本。
[0068]存储装置400可实现图1至图3的实施例中涉及的操作,因此为避免重复,不再详细描述。
[0069]可选地,作为一个实施例,确定模块402可以具体用于:确定存储池所处的状态是否为在线状态;在确定存储池处于非在线状态的情况下,根据存储池的健康信息确定存储池是否处于休眠状态,健康信息包括存储池的可靠性指标。具体地,健康信息可以是MAID信息,可靠性指标包括但不限于坏道的数量或增量、GLIST的数量或增量、已恢复错误的数量或增量、CI的数量、以及是否为PFF的存储设备。等等。例如,当坏道的数量或增量大于某个阈值时,表示用户数据层中对应的存储池不能快速地唤醒,可以对该存储池进行故障处理。
[0070]可选地,作为另一个实施例,回迁模块403还用于从缓存层或者从代理层中读取高码文件的元数据信息;定位模块401可以具体用于根据回迁模块403读取的高码文件的元数据信息在用户数据层中定位高码文件所在的存储池。
[0071]可选地,作为另一个实施例,回迁模块403还可以用于:当高码文件被请求读取的次数大于或等于数目阈值时,在缓存层中存储高码文件。这样,当用户设备请求读取该高码文件时,可以立即从缓存层中回迁该高码文件,从而进一步地提升回迁效率。
[0072]可选地,作为另一个实施例,缓存层的存储设备可以包括SSD硬盘或SAS硬盘。或者,代理层的存储设备可以包括SAS硬盘。或者用户数据层的存储设备包括NL-SAS硬盘。优选地,缓存层采用的存储设备的性能优于或等价于代理层采用的存储设备,代理层采用的存储设备的性能优于用户数据层采用的存储设备。例如,缓存层的存储设备采用SSD硬盘,也称为SSDCache层,代理层的存储设备采用SAS硬盘,用户数据层的存储设备采用NL-SAS硬盘。应理解,本发明实施例对采用的存储设备的类型并不作限制。
[0073]可选地,作为另一个实施例,确定模块402还可以用于:当高码文件为热点数据文件,即访问频繁的数文件,如被请求读取的次数大于或等于数目阈值时,可以设置该高码文件所在的存储池的状态为在线状态。反之,设置该高码文件所在的存储池的状态为休眠状态。或者,确定模块402还可以用于:当高码文件为近期文件,如导入用户数据层的时间在预设时间段(如一周或两周)内时,设置该高码文件所在的存储池的状态为在线状态;反之,设置该高码文件所在的存储池的状态为休眠状态。
[0074]通过上述方案,在用户数据层大量的存储池中,可以将非热点的高码文件所在的存储池或者将非近期的高码文件所在的存储池设置成休眠状态,从而减少大量的存储设备带来大量的能耗,实现节能,降低运维成本。
[0075]图5是本发明一个实施例的存储装置的结构框图。在该实施例中,设备500包括处理器501和存储器502。处理器501控制存储系统的空间分配设备500的操作,处理器501还可以称为CPU。存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502的一部分还可以包括非易失性随机存取存储器(NVRAM)。处理器501和存储器502通过总线系统510耦合在一起,其中总线系统510除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统510。
[0076]上述本发明实施例揭示的方法可以应用上述的存储系统的空间分配设备500。其中,处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。
[0077]在本发明实施例中,处理器501通过调用存储器502存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
[0078]当用户设备在代理层预览低码文件时,在用户数据层中定位与低码文件对应的高码文件所在的存储池;确定存储池所处的状态;如果确定存储池处于在线状态,则在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件;如果确定存储池处于休眠状态,则唤醒存储池,在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。
[0079]在用户数据层中存储有大量的高码文件,高码文件所在的存储池具有的状态包括在线状态和非在线状态的休眠状态,存储池当前可能处于在线状态,或者存储池当前处于休眠状态。可选地,存储池为非在线状态时,可能出现故障,导致存储池不可唤醒。
[0080]需要说明的是,本发明在用户数据层存储的高码文件可以不包括高码文件的元数据部分,高码文件的元数据信息存储在代理层中。
[0081]本发明实施例当用户设备在代理层预览低码文件时,在用户数据层中定位与低码文件对应的高码文件所在的存储池,确定存储池所处的状态,如果确定存储池处于在线状态,则在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件,如果确定存储池处于休眠状态,则唤醒存储池,在用户设备已请求读取高码文件的情况下从存储池中回迁高码文件。因此,当用户设备在代理层预览低码文件时,就在用户数据层定位该低码文件对应的高码文件所在的存储池,并且高码文件存放在用户数据层,无需采用离线存储,有效地提升回迁效率。
[0082]另外,存放高码文件的存储池可以处于在线状态或休眠状态,在用户数据层大量的存储池中,可以将部分存储池设置成休眠状态,因此,减少大量的存储设备带来大量的能耗,降低运维成本。
[0083]存储装置500可实现图1至图3的实施例中涉及的操作,因此为避免重复,不再详细描述。[0084]可选地,作为一个实施例,处理器501可以具体用于:确定存储池所处的状态是否为在线状态;在确定存储池处于非在线状态的情况下,根据存储池的健康信息确定存储池是否处于休眠状态,健康信息包括存储池的可靠性指标。具体地,健康信息可以是MAID信息,可靠性指标包括但不限于坏道的数量或增量、GLIST的数量或增量、已恢复错误的数量或增量、CI的数量、以及是否为PFF的存储设备。等等。例如,当坏道的数量或增量大于某个阈值时,表示用户数据层中对应的存储池不能快速地唤醒,可以对该存储池进行故障处理。
[0085]可选地,作为另一个实施例,处理器501还可以用于从缓存层或者从代理层中读取高码文件的元数据信息;根据读取的高码文件的元数据信息在用户数据层中定位高码文件所在的存储池。
[0086]可选地,作为另一个实施例,处理器501还可以用于:当高码文件被请求读取的次数大于或等于数目阈值时,在缓存层中存储高码文件。这样,当用户设备请求读取该高码文件时,可以立即从缓存层中回迁该高码文件,从而进一步地提升回迁效率。
[0087]可选地,作为另一个实施例,缓存层的存储设备可以包括SSD硬盘或SAS硬盘。或者,代理层的存储设备可以包括SAS硬盘。或者用户数据层的存储设备包括NL-SAS硬盘。优选地,缓存层采用的存储设备的性能优于或等价于代理层采用的存储设备,代理层采用的存储设备的性能优于用户数据层采用的存储设备。例如,缓存层的存储设备采用SSD硬盘,也称为SSD Cache层,代理层的存储设备采用SAS硬盘,用户数据层的存储设备采用NL-SAS硬盘。应理解,本发明实施例对采用的存储设备的类型并不作限制。
[0088]可选地,作为另一个实施例,处理器501还可以用于:当高码文件为热点数据文件,即访问频繁的数文件,如被请求读取的次数大于或等于数目阈值时,可以设置该高码文件所在的存储池的状态为在线状态。反之,设置该高码文件所在的存储池的状态为休眠状态。或者,处理器501还可以用于:当高码文件为近期文件,如导入用户数据层的时间在预设时间段(如一周或两周)内时,设置该高码文件所在的存储池的状态为在线状态;反之,设置该高码文件所在的存储池的状态为休眠状态。
[0089]通过上述方案,在用户数据层大量的存储池中,可以将非热点的高码文件所在的存储池或者将非近期的高码文件所在的存储池设置成休眠状态,从而减少大量的存储设备带来大量的能耗,实现节能,降低运维成本。
[0090]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0091]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0092]在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0093]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0094]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0095]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
【权利要求】
1.一种存储方法,其特征在于,包括:当用户设备在代理层预览低码文件时,在用户数据层中定位与所述低码文件对应的高码文件所在的存储池;确定所述存储池所处的状态;如果确定所述存储池处于在线状态,则在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件;如果确定所述存储池处于休眠状态,则唤醒所述存储池,在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件。
2.如权利要求1所述的方法,其特征在于,所述确定所述存储池所处的状态,包括:确定所述存储池所处的状态是否为所述在线状态;在确定所述存储池处于非在线状态的情况下,根据所述存储池的健康信息确定所述存储池是否处于所述休眠状态,所述健康信息包括所述存储池的可靠性指标。
3.如权利要求1或2所述的方法,其特征在于,所述在用户数据层中定位与所述低码文件对应的高码文件所在的存储池之前,所述方法还包括:从缓存层或者从代理层中读取所述高码文件的元数据信息;所述在用户数据层中定位所述高码文件所在的存储池,包括:根据所述高码文件的 元数据信息在所述用户数据层中定位所述高码文件所在的存储池。
4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:当所述高码文件被请求读取的次数大于或等于数目阈值时,在缓存层中存储所述高码文件。
5.如权利要求3或4所述的方法,其特征在于,所述缓存层的存储设备包括固态硬盘SSD或串行连接小型计算机系统接口 SAS硬盘。
6.如权利要求1-5任一项所述的方法,其特征在于,所述代理层的存储设备包括SAS硬盘,或者所述用户数据层的存储设备包括近线NL-SAS硬盘。
7.如权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:当所述高码文件被请求读取的次数大于或等于数目阈值时,设置所述存储池的状态为在线状态;或者当所述高码文件被请求读取的次数小于数目阈值时,设置所述存储池的状态为休眠状态。
8.如权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:当所述高码文件导入所述用户数据层的时间在预设时间段内时,设置所述存储池的状态为在线状态;或者当所述高码文件导入所述用户数据层的时间在预设时间段外时,设置所述存储池的状态为休眠状态。
9.一种存储装置,其特征在于,该装置包括:定位模块,用于当用户设备在代理层预览低码文件时,在用户数据层中定位与所述低码文件对应的高码文件所在的存储池;确定模块,用于确定所述定位模块定位的所述存储池所处的状态;回迁模块,用于如果所述确定模块确定所述存储池处于在线状态,则在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件;所述回迁模块还用于如果所述确定模块确定所述存储池处于休眠状态,则唤醒所述存储池,在所述用户设备已请求读取所述高码文件的情况下从所述存储池中回迁所述高码文件。
10.如权利要求9所述的装置,其特征在于,所述确定模块具体用于:确定所述存储池所处的状态是否为所述在线状态;在确定所述存储池处于非在线状态的情况下,根据所述存储池的健康信息确定所述存储池是否处于所述休眠状态,所述健康信息包括所述存储池的可靠性指标。
11.如权利要求9或10所述的装置,其特征在于,所述回迁模块还用于:从缓存层或者从代理层中读取所述高码文件的元数据信息;所述定位模块具体用于:根据所述回迁模块读取的所述高码文件的元数据信息在所述用户数据层中定位所述高码文件所在的存储池。
12.如权利要求9-11任一项所述的装置,其特征在于,所述回迁模块还用于:当所述高码文件被请求读取的次数大于或等于数目阈值时,在缓存层中存储所述高码文件。
13.如权利要求11或12所述的装置,其特征在于,所述缓存层的存储设备包括固态硬盘SSD或串行连接小型计算机系统接口 SAS硬盘。
14.如权利要求9-13任一项所述的装置,其特征在于,所述代理层的存储设备包括SAS硬盘,或者所述用户数据层的存储设备包括近线NL-SAS硬盘。
15.如权利要求9-14任一项所述的装置,其特征在于,所述确定模块还用于:当所述高码文件被请求读取的次数大于或等于数目阈值时,设置所述存储池的状态为在线状态;或者所述确定模块还用于:当所述高码文件被请求读取的次数小于数目阈值时,设置所述存储池的状态为休眠状态。
16.如权利要求9-15任一项所述的装置,其特征在于,所述确定模块还用于:当所述高码文件导入所述用户数据层的时间在预设时间段内时,设置所述存储池的状态为在线状态;或者所述确定模块还用于:当所述高码文件导入所述用户数据层的时间在预设时间段外时,设置所述存储池的状态为休眠状态。
【文档编号】G06F17/30GK103714146SQ201310733355
【公开日】2014年4月9日 申请日期:2013年12月26日 优先权日:2013年12月26日
【发明者】宋宜纯, 顾军, 刘万铭, 李海林 申请人:华为技术有限公司, 中央电视台
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1