CN109189696B - 一种ssd缓存系统及缓存方法 - Google Patents
一种ssd缓存系统及缓存方法 Download PDFInfo
- Publication number
- CN109189696B CN109189696B CN201810911523.XA CN201810911523A CN109189696B CN 109189696 B CN109189696 B CN 109189696B CN 201810911523 A CN201810911523 A CN 201810911523A CN 109189696 B CN109189696 B CN 109189696B
- Authority
- CN
- China
- Prior art keywords
- photo
- target
- access
- file
- ssd cache
- 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.)
- Active
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种SSD缓存系统及缓存方法,其中系统包括:SSD缓存、存储装置、日志记录装置以及分类装置;分类装置包括:预测模块和历史表模块;预测模块用于利用目标分类器预测目标照片的类别;历史表模块用于存储最近被判定为一次访问文件的照片的元数据信息;分类装置用于在预测模块预测目标照片为一次访问文件,且目标照片的元数据信息未被存储或者目标照片的元数据信息被存储而当前请求与该元数据信息所对应的最近的请求之间的访问间隔大于访问间隔阈值时,将目标照片标记为一次访问文件;否则,将目标照片标记为非一次访问文件。本发明能够有效减小缓存写入,提高SSD缓存的使用寿命并改善SSD缓存的性能。
Description
技术领域
本发明属于数据存储领域,更具体地,涉及一种照片分类器训练方法、SSD缓存系统及缓存方法。
背景技术
社交网络平台向其用户提供在线通信的功能,当前已成为日常生活中较为重要的通信工具。大型社交网络平台往往拥有着数以亿计的用户,因此存在着海量的用户数据需要存储,而且随着用户的不断使用,其所需存储的用户数据增长非常迅速,且日浏览量巨大,因此对其存储系统提出了较高的要求。基于闪存的SSD(Solid State Disk,固态盘)具有更低的延时和能耗,更快的数据处理速度,更好的抗震性能,更高的可靠性和耐用性等优势,因此在大数据存储领域,被广泛地应用于HDD(Hard Disk Drive,硬盘驱动器)存储系统的缓存层,以提高服务性能。为了应对大规模的密集访问,社交网络平台的存储系统中也往往会在其缓存层配置SSD。
由于用户行为的特殊性,大量的照片只会被访问一次,但是按照现有的缓存方法,在缓存不命中时,这些照片仍然会被交换到缓存中,这一方面增加了缓存的写入量,另一方面也降低了缓存空间的利用率,对于SSD缓存来说,会对其使用寿命和缓存性能都造成极为不利的影响。
为了保证采用SSD缓存后,数据存储性能能够得到提高,现有的对SSD缓存的研究的主要目标为:寿命延长和性能改善。目前,关于SSD寿命延长的研究大多集中在以下几个方面:垃圾回收和磨损平整机制的优化、提高ECC的鲁棒性、使用写缓存减少SSD缓存的写入量等。SSD的性能改进主要通过硬件和算法两种途径来实现,理想情况下,利用足够大的SSD空间来容纳所有数据,可以保证较高的性能,但在现实中,SSD缓存空间是极为有限的;另一方面,替换算法可以极大地影响缓存性能,现有的替换算法仅在某些特定的局部性(时间、空间、内容等)上具有优势,因而仅适用于特定场景。总的来说,现有的用于提高SSD缓存的使用寿命和性能的方法,都无法避免只会被访问一次的照片进入SSD缓存,因此,在提高SSD缓存的使用寿命和改善SSD缓存性能方面,还存在的改进空间。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种照片分类器训练方法、SSD缓存系统及缓存方法,其目的在于,在缓存不命中时,根据照片的目标特征信息判断照片是否为一次访问文件,并避免一次访问文件交换到SSD缓存中,以有效减小SSD缓存的写入,从而提高SSD缓存的使用寿命并改善SSD缓存的性能。
为实现上述目的,按照本发明的第一方面,提供了一种照片分类器训练方法,按照预设的训练周期定期执行照片分类器的训练,包括如下步骤:
(1)在当前训练周期的开始时刻,对上一训练周期内的日志数据进行采样,由此得到样本数据集;样本数据集中的样本数据包括照片的目标特征信息和类别;
(2)根据照片的目标特征信息构建基于机器学习的照片分类器,用于在当前训练周期内根据照片的目标特征信息预测该照片的类别;
(3)利用样本数据集训练照片分类器,由此得到目标分类器;
其中,照片的目标特征信息为该照片的一个或多个属性,照片的类别为一次访问文件或非一次访问文件。
进一步地,照片分类器为决策树分类器、集成学习分类器或者随机森林分类器,以保证较高的预测精度;进一步优选地,照片分类器为决策树分类器,以保证较高的预测精度,同时计算成本不会太高。
更进一步地,照片分类器中,决策树的最大节点数大于照片的目标特征信息中所含属性个数的3倍,树高为5,且分裂次数上限为25,以保证预测的泛化性能较好,同时避免出现过度拟合,并且保证预测复杂度不会太高。
更进一步地,步骤(4)中,利用样本数据集训练照片分类器时,采用的方法为代价敏感学习方法,并且将非一次访问文件预测为一次访问文件的错误代价高于将一次访问文件预测为非一次访问文件的错误代价;在预测过程中,预测错误分为两种,一种错误是将非一次访问文件预测为一次访问文件,这种错误会导致目标照片的后期缓存丢失;另一种错误是将一次访问文件预测为非一次访问文件,这种错误则会导致SSD缓存空间的浪费;从SSD缓存的整体寿命和性能来看,第一种错误的代价要高于第二种错误的代价,且随着SSD缓存的空间增大,第一种错误的代价会相对更高,因此,在采用代价敏感学习方法训练照片分类器时,经过设置,使得将非一次访问文件预测为一次访问文件的错误代价高于将一次访问文件预测为非一次访问文件的错误代价。
按照本发明的第二方面,提供了一种SSD缓存系统,包括:SSD缓存、存储装置、日志记录装置以及分类装置;
日志记录装置用于根据目标特征集提取出被请求的目标照片的目标特征信息,并在请求得到响应时记录访问日志;
SSD缓存用于缓存照片,并在缓存不命中时将请求转发至存储装置;
存储装置用于存储用户上传的照片,并在SSD缓存不命中时,将目标照片发送至分类装置;
分类装置包括:预测模块和历史表模块;预测模块用于利用本发明第一方面所提供的照片分类器训练方法得到的目标分类器预测目标照片的类别;历史表模块用于存储最近被判定为一次访问文件的照片的元数据信息;
分类装置用于在预测模块预测目标照片为一次访问文件,且目标照片的元数据信息未被历史表模块存储或者目标照片的元数据信息被历史表模块存储而当前请求与该元数据信息所对应的最近的请求之间的访问间隔大于访问间隔阈值时,将目标照片标记为一次访问文件;否则,将目标照片标记为非一次访问文件,并将目标照片传输至SSD缓存,以由SSD缓存对目标照片进行缓存;
其中,日志记录装置所记录的访问日志包括照片的目标特征信息和类别,照片的类别为一次访问文件或非一次访问文件;历史表模块所存储的最大数据量不超过预设的数据量阈值;访问间隔为两个请求的访问序号之差。
进一步地,目标特征集的确定方式为:
(S1)分别构建候选特征集合和第一目标集合,候选特征集合由所有候选特征构成,且第一目标集合为空集;
(S2)依次计算候选特征集中每一个候选特征的信息增益;
(S3)获得候选特征集中信息增益最大的候选特征,将该候选特征加入第一目标集合,并从候选特征集合中移除该候选特征;
(S4)获得候选特征集中信息增益最大的候选特征,由该候选特征和第一目标集合中的所有候选特征构成第二目标集合,并从候选特征集合中移除该候选特征;
(S5)分别计算第一目标集合以及第二目标集合的信息增益;若第二目标集合的信息增益大于第一目标集合的信息增益,则将第二目标集合作为第一目标集合,并转入(S4);否则,将第一目标集合作为目标特征集,确定过程结束;
其中,候选特征为与访问模式相关的照片属性。
进一步地,访问间隔阈值按照预设的判定周期定期计算,包括:
(T1)在当前判定周期的开始时刻,获得前一判定周期内的日志数据,由此得到测试日志,用于计算当前判定周期内的访问间隔阈值;
(T2)利用opt算法对测试日志进行测试,由此得到SSD缓存的命中率;
(T3)设定测试日志中一次访问文件的百分比为0,并由此计算照片的访问间隔,计算公式为:
M=C/[S(1-h)(1-p)]; (1)
其中,M为访问间隔,h为SSD缓存的命中率,p为测试日志中一次访问文件的百分比,C为SSD缓存的存储空间大小,S为单张照片的平均尺寸;
(T4)扫描测试日志,若任意一张照片被再次访问的访问序号与该照片前一次被访问的访问序号之差大于访问间隔,则将该照片标识为一次访问文件,由此标识出测试日志中所有的一次访问文件;根据标识结果,重新计算日志数据中一次访问文件的百分比;
(T5)根据SSD缓存的命中率和测试日志中一次访问文件的百分比按照公式(1)重新计算照片的访问间隔;
(T6)重复执行(T4)~(T5),当迭代次数达到N次或者测试日志中一次访问文件的百分比收敛为一个常数后,转入(T7);
(T7)利用当前的访问间隔构建基于机器学习的文件分类器,用于根据照片再次访问的访问序号与该照片前一次被访问的访问序号之差判定是否将照片写入SSD缓存;利用LRU算法对测试日志进行测试,测试过程中在发生缓存替换操作时利用文件分类器判定是否将照片写入SSD缓存,并根据文件分类器的判定结果执行交换操作;在测试结束时,重新计算SSD缓存的命中率;
(T8)根据SSD缓存的命中率和测试日志中一次访问文件的百分比按照公式(1)重新计算照片的访问间隔,并将计算结果作为访问间隔阈值;
其中,N为预设的迭代次数上限,其具体取值依据访问模式设定,以保证经过迭代计算,测试日志中一次访问文件的百分比收敛为一个常数或者趋于收敛为一个常数;根据经验,N的取值设定为3,就能够以较小的计算开销获得较好的收敛效果。
进一步地,照片的元数据信息包括对应请求的访问序号。
进一步地,数据量阈值的取值不低于Qmax×SMeta×2%且不超过Qmax×SMeta×5%;其中,Qmax为SSD缓存可同时容纳的最大照片数,SMeta为单张照片的元数据信息的大小。
按照本发明的第三方面,提供了一种基于本发明第二方面所提供的SSD缓存系统的缓存方法,包括如下步骤:
(1)接收客户端请求;
(2)若缓存命中,则由SSD缓存将被请求的目标照片返回给客户端,并由日志记录装置根据目标特征集提取出目标照片的目标特征信息,转入步骤(5);否则,转入步骤(3);
(3)由SSD缓存将客户端请求转发至存储装置,并由存储装置分别将目标照片发送至预测模块和日志记录模块,以由日志记录装置根据目标特征集提取所述目标照片的目标特征信息,并由预测模块根据目标照片的目标特征信息预测目标照片的类型,同时由所述分类装置将目标照片返回给客户端;
(4)若目标照片被预测模块预测为一次访问文件,且目标照片的元数据信息未被历史表模块存储或者目标照片的元数据信息被历史表模块存储而当前请求与该元数据信息所对应的最近的请求之间的访问间隔大于访问间隔阈值,则由分类装置将目标照片标记为一次访问文件,并由历史表模块更新其所存储的元数据信息;否则,由分类装置将目标照片标记为非一次访问文件,并将目标照片传输至SSD缓存,以由SSD缓存对目标照片进行缓存;
(5)由日志记录装置记录访问日志,请求结束。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)实现了对一次访问文件的预测并且具有较高的预测精度:通过构建基于机器学习的照片分类器,不仅能够处理大量的数据分析,而且能够适应动态工作负载,自动调整特征选择和预测,从而实现了在不依赖历史信息的情况下对一次访问文件的预测;针对社交网络平台用户对照片访问行为的特性,采用周期性重新构建并训练分类器的方法,保证了用于预测分类器的有效性,从而提高了预测精度,实验结果显示,利用本发明所提供的照片分类器的训练方法所得到的目标分类器,其预测精度高于80%。
(2)提高了SSD缓存的使用寿命并改善了SSD缓存的性能:在缓存不命中时,利用已训练好的分类器预测被访问的照片是否为一次访问照片,并在预测结果的基础上结合所保存的最近被判定为一次访问文件的照片的元数据信息进一步判定该照片是否确实为一次访问文件,对于最终被判定确实为一次访问文件的照片,则不对其进行缓存,这既有效避免了因预测错误而导致的缓存丢失,也有效避免了一次访问文件进入SSD缓存,进而能够效减小SSD缓存的写入,提高SSD缓存的使用寿命并改善SSD缓存的性能。
附图说明
图1为本发明实施例提供的照片分类器训练方法的流程图;
图2为本发明实施例提供的SSD缓存系统示意图;
图3为本发明实施例提供的缓存方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了一种照片分类器训练方法、SSD缓存系统及缓存方法,其整体思路在于:在缓存不命中时,提取被请求照片的目标特征信息;利用基于机器学习的分类器预测该照片的类型;根据预测结果及所保存的元数据信息进一步判断该照片是否确实为一次访问文件;若该照片确实为一次访问文件,则将该照片返回给客户端,且不将该照片交换到SSD缓存中;若该照片被判定为非一次访问文件,则将该照片返回给客户端,同时将该照片交换到SSD缓存中,由此来避免一次访问文件被交换到SSD缓存中,从而效减小SSD缓存的写入,提高SSD缓存的使用寿命并改善SSD缓存的性能。
由于现有的大多数预测方法都是基于历史信息的,但是在此需要预测的访问是一次访问,没有历史信息可供参考。因此,用现有方法进行预测的难以保证预测的准确性。此外,服务类型和用户是不同的并且会不断变化,这导致了访问模式的动态变化和不可预测。因此,在某种意义上讲,采用现有基于历史信息的预测技术,无法实现对一次访问文件的预测。为此,在本发明中,利用基于机器学习的分类器,根据照片的目标特征信息实现预测;本发明所说的照片的目标特征信息,为日志数据中所记录的该照片的一个或多个属性。总的来说,与访问模式相关的照片属性可划分为以下三类:
第一类,照片所有者的社会信息,包括:
活跃的朋友:最近与该所有者互动的用户数量;
所有者的照片的平均视图:所有者的所有照片的总视图与用户照片的数量之比;
第二类,照片信息,包括:
照片类型:包括照片的分辨率和规格上;例如,有六个分辨率(a,b,c,m,l,o)和两个图片规格(即,png和jpg,分别用0和5表示),则总共有12种照片类型;在不同类型的照片中,请求的数量有很大的差异;对于特定类型的照片,其访问概率会随时间发生极小的波动,因此,在分类器中应该考虑时间特征。
照片大小:照片的大小与图像的分辨率有很强的相关性;一般来说,对于同一幅图像,分辨率越高,照片就越大;
照片年龄:当前时间点与上传照片时间点之间的时间间隔;从直观上看,更新的图片更受欢迎;
新近程度:当前照片访问时间与最后访问时间之间的时间间隔;如果图片之前从未被访问过,则为照片访问时间和上传时间之间的时间间隔;
第三类,缓存系统的相关信息,包括:
终端类型:终端类型主要包括个人电脑和移动设备;
最近请求:系统在最近配置的内部中接受的请求数;最近的请求可以间接地反映整个用户组的活动,请求数越大表示用户组越活跃,每张照片的平均访问概率也就越高;
访问周期:在访问发生的某天内的时间间隔;用户通常在相对固定的时间使用社交网络工具,比如晚上8点,这也意味着照片在不同的时间间隔中以不同的概率被访问;
以上所有与访问模式相关的照片属性均称为候选特征;由于候选特征数量庞大,为了保证预测具有较高的精度的同时具有较快的速度,预测过程中实际所使用的照片属性仅包括以上所列的一个或多个,由此确定照片的目标特征信息。
由于用户访问行为的特殊性,日志数据中一次访问文件所占的百分比往往会呈现周期性的变化,因此,所构建并训练的分类器的预测精度是有时限的,若一直采用同一个分类器进行预测,预测精度会随着时间的推移而逐渐下降。为了实现对照片类别的准确预测,按照日志数据中一次访问文件所占的百分比的变化周期划分不同的训练周期,并保证在每个训练周期的开始时刻为日志数据中一次访问文件所占百分比达到最大的时刻;在每一个训练周期的开始时刻,重新构建基于机器学习的分类器,并利用上一训练周期的日志数据训练所构建的分类器,用于在当前训练周期内预测照片的类别。在以下实施例中,训练周期为24小时,且每个训练周期的开始时刻为每天凌晨5点,也即是说,在每天凌晨5点,重新构建分类器并利用前24小时的日志数据训练分类器。
具体地,本发明所提供的照片分类器训练方法,按照预设的训练周期定期执行照片分类器的训练,如图1所示,包括如下步骤:
(1)在当前训练周期的开始时刻,以对上一训练周期内的日志数据进行采样,每分钟保留100条记录,共144,000条记录,由此得到样本数据集;样本数据集中的样本数据包括照片的目标特征信息和类别;照片的类别为一次访问文件或非一次访问文件,并且在本实施例中,照片的目标特征信息具体包括:所有者的照片的平均视图、照片新近程度、照片年龄、照片访问周期以及照片类型;
(2)根据照片的目标特征信息构建基于机器学习的照片分类器,用于在当前训练周期内根据照片的目标特征信息预测该照片的类别;
可选的机器学习算法包括:决策树、集成学习或者随机森林;采用这些机器学习算法构建分类器,可以保证较高的预测精度;
在本实施例中,所构建的分类器具体为决策树分类器,以保证较高的预测精度,同时计算成本不会太高;
其中,决策树的最大节点数大于照片的目标特征信息中所含属性个数的3倍,树高为5,且分裂次数上限为25,以保证预测的泛化性能较好,同时避免出现过度拟合,并且保证预测复杂度不会太高;目标特征为目标特征集中的特征;
(3)利用样本数据集训练照片分类器,由此得到目标分类器;
在本实施例中,利用样本数据集训练照片分类器时,采用的方法为代价敏感学习方法;并构建如表1所示的成本矩阵,在预测过程中,预测错误分为两种,一种错误是将非一次访问文件预测为一次访问文件,这种错误会导致目标照片的后期缓存丢失,其错误代价为v;另一种错误是将一次访问文件预测为非一次访问文件,这种错误则会导致SSD缓存空间的浪费,其错误代价为1;
表1成本矩阵
从SSD缓存的整体寿命和性能来看,第一种错误的代价要高于第二种错误的代价,且随着SSD缓存的空间增大,第一种错误的代价会相对更高,即v>1;v的具体取值根据SSD缓存空间的大小设定,通过广泛的敏感测试,当SSD缓存空间的范围为200GB~1.2TB时设置v=2,当SSD缓存空间的范围为1.2TB~2TB时设置v=3;
因此,在采用代价敏感学习方法训练照片分类器时,通过设置,使得将非一次访问文件预测为一次访问文件的错误代价高于将一次访问文件预测为非一次访问文件的错误代价。
本发明提供的SSD缓存系统,如图2所示,包括:SSD缓存、存储装置、日志记录装置以及分类装置;
日志记录装置用于根据目标特征集提取出被请求的目标照片的目标特征信息,并在请求得到响应时记录访问日志;
SSD缓存用于缓存照片,并在缓存不命中时将请求转发至存储装置;
存储装置用于存储用户上传的照片,并在SSD缓存不命中时,将目标照片发送至分类装置;
分类装置包括:预测模块和历史表模块;预测模块用于利用上述方法实施例所提供的照片分类器训练方法得到的目标分类器预测目标照片的类别;历史表模块用于存储最近被判定为一次访问文件的照片的元数据信息;在本实施例中,照片的元数据信息包括对应请求的访问序号;
分类装置用于在预测模块预测目标照片为一次访问文件,且目标照片的元数据信息未被历史表模块存储或者目标照片的元数据信息被历史表模块存储而当前请求与该元数据信息所对应的最近的请求之间的访问间隔大于访问间隔阈值时,将目标照片标记为一次访问文件;否则,将目标照片标记为非一次访问文件,并将目标照片传输至SSD缓存,以由SSD缓存对目标照片进行缓存;
其中,日志记录装置所记录的访问日志包括照片的目标特征信息和类别,照片的类别为一次访问文件或非一次访问文件;访问间隔为两个请求的访问序号之差;历史表模块所存储的最大数据量不超过预设的数据量阈值,在本实施例中,数据量阈值的取值不低于Qmax×SMeta×2%且不超过Qmax×SMeta×5%;其中,Qmax为SSD缓存可同时容纳的最大照片数,SMeta为单张照片的元数据信息的大小;这样设定数据量阈值的取值范围,既能够保证可以有足够的元数据信息可供查找,也能够保证元数据信息的存储不会带来过大的空间开销。
为了保证预测具有较高的精度的同时具有较高的速度,SSD缓存系统实际所使用的目标特征信息一般仅包括以上三类特征中的一个或多个属性。在一个可选的实施方式中,图2所示的SSD缓存系统中,日志记录装置提取被请求的目标照片的目标特征信息时,所依据的目标特征集的确定方式为:
(S1)分别构建候选特征集合和第一目标集合,候选特征集合由所有候选特征构成,且第一目标集合为空集;
(S2)依次计算候选特征集中每一个候选特征的信息增益;
(S3)获得候选特征集中信息增益最大的候选特征,将该候选特征加入第一目标集合,并从候选特征集合中移除该候选特征;
(S4)获得候选特征集中信息增益最大的候选特征,由该候选特征和第一目标集合中的所有候选特征构成第二目标集合,并从候选特征集合中移除该候选特征;
(S5)分别计算第一目标集合以及第二目标集合的信息增益;若第二目标集合的信息增益大于第一目标集合的信息增益,则将第二目标集合作为第一目标集合,并转入(S4);否则,将第一目标集合作为目标特征集,确定过程结束;
其中,候选特征为与访问模式相关的照片属性,即以上所列举的三类属性,在图2所示的SSD缓存系统中,最终所确定的目标特征集中包括:所有者的照片的平均视图、照片新近程度、照片年龄、照片访问周期以及照片类型。
为了在分类器预测结果的基础上,结合所保存的最近被确定为一次访问文件的照片的元数据信息准确地判断照片是否确实为一次访问文件,所采用访问间隔阈值需要定期更新;在一个可选的实施方式中,SSD缓存系统所使用的访问间隔阈值按照预设的判定周期定期计算,包括:
(T1)在当前判定周期的开始时刻,获得前一判定周期内的日志数据,由此得到测试日志,用于计算当前判定周期内的访问间隔阈值;
(T2)利用opt算法对测试日志进行测试,由此得到SSD缓存的命中率;
(T3)设定测试日志中一次访问文件的百分比为0,并由此计算照片的访问间隔,计算公式为:
M=C/[S(1-h)(1-p)]; (1)
其中,M为访问间隔,h为SSD缓存的命中率,p为测试日志中一次访问文件的百分比,C为SSD缓存的存储空间大小,S为单张照片的平均尺寸;
(T4)扫描测试日志,若任意一张照片被再次访问的访问序号与该照片前一次被访问的访问序号之差大于访问间隔,则将该照片标识为一次访问文件,由此标识出测试日志中所有的一次访问文件;根据标识结果,重新计算日志数据中一次访问文件的百分比;
(T5)根据SSD缓存的命中率和测试日志中一次访问文件的百分比按照公式(1)重新计算照片的访问间隔;
(T6)重复执行(T4)~(T5),迭代3次后,转入(T7);
(T7)利用当前的访问间隔构建基于机器学习的文件分类器,用于根据照片再次访问的访问序号与该照片前一次被访问的访问序号之差判定是否将照片写入SSD缓存;利用LRU算法对测试日志进行测试,测试过程中在发生缓存替换操作时利用文件分类器判定是否将照片写入SSD缓存,并根据文件分类器的判定结果执行交换操作;在测试结束时,重新计算SSD缓存的命中率;
(T8)根据SSD缓存的命中率和测试日志中一次访问文件的百分比按照公式(1)重新计算照片的访问间隔,并将计算结果作为访问间隔阈值;
在不同的社交网络平台中,所设定的判定周期可能不同,具体由平台的工作负载而确定,可能在有些平台中所设定的判定周期为一天,在另外一些平台中所设定的判定周期为一天,等等。
本发明还提供了一种基于图2所示SSD缓存系统的缓存方法,如图3所示,包括如下步骤:
(1)接收客户端请求;
(2)若缓存命中,则由SSD缓存将被请求的目标照片返回给客户端,并由日志记录装置根据目标特征集提取出目标照片的目标特征信息,转入步骤(5);否则,转入步骤(3);
(3)由SSD缓存将客户端请求转发至存储装置,并由存储装置分别将目标照片发送至预测模块和日志记录装置,以由日志记录装置根据目标特征集提取出目标照片的目标特征信息,并由预测模块根据目标照片的目标特征信息预测目标照片的类型,同时由分类装置将目标照片返回给客户端;
(4)若目标照片被预测模块预测为一次访问文件,且目标照片的元数据信息未被历史表模块存储或者目标照片的元数据信息被历史表模块存储而当前请求与该元数据信息所对应的最近的请求之间的访问间隔大于访问间隔阈值,则由分类装置将目标照片标记为一次访问文件,并由历史表模块更新其所存储的元数据信息;否则,由分类装置将目标照片标记为非一次访问文件,并将目标照片传输至SSD缓存,以由SSD缓存对目标照片进行缓存;
(5)由日志记录装置记录访问日志,请求结束。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种SSD缓存系统,其特征在于,包括:SSD缓存、存储装置、日志记录装置以及分类装置;
所述日志记录装置用于根据目标特征集提取出被请求的目标照片的目标特征信息,并在请求得到响应时记录访问日志;
所述SSD缓存用于缓存照片,并在缓存不命中时将请求转发至所述存储装置;
所述存储装置用于存储用户上传的照片,并在所述SSD缓存不命中时,将所述目标照片发送至所述分类装置;
所述分类装置包括:预测模块和历史表模块;所述预测模块用于利用已训练好的目标分类器预测所述目标照片的类别;所述历史表模块用于存储最近被判定为一次访问文件的照片的元数据信息;
所述分类装置用于在所述预测模块预测所述目标照片为一次访问文件,且所述目标照片的元数据信息未被所述历史表模块存储或者所述目标照片的元数据信息被所述历史表模块存储而当前请求与该元数据信息所对应的最近的请求之间的访问间隔大于访问间隔阈值时,将所述目标照片标记为一次访问文件;否则,将所述目标照片标记为非一次访问文件,并将所述目标照片传输至所述SSD缓存,以由所述SSD缓存对所述目标照片进行缓存;
其中,所述日志记录装置所记录的访问日志包括照片的目标特征信息和类别,照片的类别为一次访问文件或非一次访问文件;所述历史表模块所存储的最大数据量不超过预设的数据量阈值;所述访问间隔为两个请求的访问序号之差;
所述目标分类器的训练按照预设的训练周期定期执行,包括如下步骤:
(1)在当前训练周期的开始时刻,对上一训练周期内的日志数据进行采样,由此得到样本数据集;所述样本数据集中的样本数据包括照片的目标特征信息和类别;照片的目标特征信息为该照片的一个或多个属性;
(2)根据照片的目标特征信息构建基于机器学习的照片分类器,用于在当前训练周期内根据照片的目标特征信息预测该照片的类别;
(3)利用所述样本数据集训练所述照片分类器,由此得到目标分类器。
2.如权利要求1所述的SSD缓存系统,其特征在于,所述照片分类器为决策树分类器。
3.如权利要求2所述的SSD缓存系统,其特征在于,所述照片分类器中,决策树的最大节点数大于照片的目标特征信息中所含属性个数的3倍,树高为5,且分裂次数上限为25。
4.如权利要求2所述的SSD缓存系统,其特征在于,所述步骤(3)中,利用所述样本数据集训练所述照片分类器时,采用的方法为代价敏感学习方法,并且将非一次访问文件预测为一次访问文件的错误代价高于将一次访问文件预测为非一次访问文件的错误代价。
5.如权利要求1-4任一项所述的SSD缓存系统,其特征在于,所述目标特征集的确定方式为:
(S1)分别构建候选特征集合和第一目标集合,所述候选特征集合由所有候选特征构成,且所述第一目标集合为空集;
(S2)依次计算所述候选特征集中每一个候选特征的信息增益;
(S3)获得所述候选特征集中信息增益最大的候选特征,将该候选特征加入所述第一目标集合,并从所述候选特征集合中移除该候选特征;
(S4)获得所述候选特征集中信息增益最大的候选特征,由该候选特征和所述第一目标集合中的所有候选特征构成第二目标集合,并从所述候选特征集合中移除该候选特征;
(S5)分别计算所述第一目标集合以及所述第二目标集合的信息增益;若所述第二目标集合的信息增益大于所述第一目标集合的信息增益,则将所述第二目标集合作为所述第一目标集合,并转入(S4);否则,将所述第一目标集合作为所述目标特征集,确定过程结束;
其中,所述候选特征为与访问模式相关的照片属性。
6.如权利要求1-4任一项所述SSD缓存系统,其特征在于,所述访问间隔阈值按照预设的判定周期定期计算,包括:
(T1)在当前判定周期的开始时刻,获得前一判定周期内的日志数据,由此得到测试日志,用于计算当前判定周期内的访问间隔阈值;
(T2)利用opt算法对所述测试日志进行测试,由此得到SSD缓存的命中率;
(T3)设定所述测试日志中一次访问文件的百分比为0,并由此计算照片的访问间隔,计算公式为:
M=C/[S(1-h)(1-p)]; (1)
其中,M为访问间隔,h为SSD缓存的命中率,p为所述测试日志中一次访问文件的百分比,C为所述SSD缓存的存储空间大小,S为单张照片的平均尺寸;
(T4)扫描所述测试日志,若任意一张照片被再次访问的访问序号与该照片前一次被访问的访问序号之差大于所述访问间隔,则将该照片标识为一次访问文件,由此标识出所述测试日志中所有的一次访问文件;根据标识结果,重新计算所述日志数据中一次访问文件的百分比;
(T5)根据SSD缓存的命中率和所述测试日志中一次访问文件的百分比按照公式(1)重新计算照片的访问间隔;
(T6)重复执行(T4)~(T5),当迭代次数达到N次或者所述测试日志中一次访问文件的百分比收敛为一个常数后,转入(T7);
(T7)利用当前的访问间隔构建基于机器学习的文件分类器,用于根据照片再次访问的访问序号与该照片前一次被访问的访问序号之差判定是否将照片写入SSD缓存;利用LRU算法对所述测试日志进行测试,测试过程中在发生缓存替换操作时利用所述文件分类器判定是否将照片写入SSD缓存,并根据所述文件分类器的判定结果执行交换操作;在测试结束时,重新计算SSD缓存的命中率;
(T8)根据SSD缓存的命中率和所述测试日志中一次访问文件的百分比按照公式(1)重新计算照片的访问间隔,并将计算结果作为所述访问间隔阈值;
其中,N为预设的迭代次数上限。
7.如权利要求1-4任一项所述的SSD缓存系统,其特征在于,照片的元数据信息包括对应请求的访问序号。
8.如权利要求1-4任一项所述的SSD缓存系统,其特征在于,所述数据量阈值的取值不低于Qmax×SMeta×2%且不超过Qmax×SMeta×5%;
其中,Qmax为所述SSD缓存可同时容纳的最大照片数,SMeta为单张照片的元数据信息的大小。
9.一种基于权利要求1-8任一项所述的SSD缓存系统的缓存方法,其特征在于,包括如下步骤:
(1)接收客户端请求;
(2)若缓存命中,则由所述SSD缓存将被请求的目标照片返回给客户端,并由所述日志记录装置根据所述目标特征集提取出所述目标照片的目标特征信息,转入步骤(5);否则,转入步骤(3);
(3)由所述SSD缓存将客户端请求转发至所述存储装置,并由所述存储装置分别将所述目标照片发送至所述预测模块和所述日志记录装置,以由所述日志记录装置根据所述目标特征集提取出所述目标照片的目标特征信息,并由所述预测模块根据所述目标照片的目标特征信息预测所述目标照片的类型,同时由所述分类装置将所述目标照片返回给客户端;
(4)若所述目标照片被所述预测模块预测为一次访问文件,且所述目标照片的元数据信息未被所述历史表模块存储或者所述目标照片的元数据信息被所述历史表模块存储而当前请求与该元数据信息所对应的最近的请求之间的访问间隔大于访问间隔阈值,则由所述分类装置将所述目标照片标记为一次访问文件,并由所述历史表模块更新其所存储的元数据信息;否则,由所述分类装置将所述目标照片标记为非一次访问文件,并将所述目标照片传输至所述SSD缓存,以由所述SSD缓存对所述目标照片进行缓存;
(5)由所述日志记录装置记录访问日志,请求结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810911523.XA CN109189696B (zh) | 2018-08-12 | 2018-08-12 | 一种ssd缓存系统及缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810911523.XA CN109189696B (zh) | 2018-08-12 | 2018-08-12 | 一种ssd缓存系统及缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189696A CN109189696A (zh) | 2019-01-11 |
CN109189696B true CN109189696B (zh) | 2020-11-24 |
Family
ID=64921118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810911523.XA Active CN109189696B (zh) | 2018-08-12 | 2018-08-12 | 一种ssd缓存系统及缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189696B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110334036A (zh) * | 2019-06-28 | 2019-10-15 | 京东数字科技控股有限公司 | 一种实现缓存数据调度的方法和装置 |
CN116136838B (zh) * | 2023-04-19 | 2023-07-25 | 之江实验室 | 一种深度学习训练数据集快速载入临时缓存方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653444A (zh) * | 2015-12-23 | 2016-06-08 | 北京大学 | 基于互联网日志数据的软件缺陷故障识别方法和系统 |
CN106611185A (zh) * | 2016-06-07 | 2017-05-03 | 四川用联信息技术有限公司 | 多标准误分类代价敏感决策树构建方法 |
CN106611181A (zh) * | 2016-05-30 | 2017-05-03 | 四川用联信息技术有限公司 | 基于代价敏感二维尺度决策树构造方法 |
CN107223454A (zh) * | 2017-06-08 | 2017-10-03 | 中国农业大学 | 一种基于卷积神经网络的金针菇不同生长期智能补光的装置与方法 |
CN107247675A (zh) * | 2017-05-31 | 2017-10-13 | 华中科技大学 | 一种基于分类预测的缓存选择方法和系统 |
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
CN108228684A (zh) * | 2017-05-26 | 2018-06-29 | 北京市商汤科技开发有限公司 | 聚类模型的训练方法、装置、电子设备和计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158965B2 (en) * | 2012-06-14 | 2015-10-13 | The Board Of Trustees Of The Leland Stanford Junior University | Method and system for optimizing accuracy-specificity trade-offs in large scale visual recognition |
-
2018
- 2018-08-12 CN CN201810911523.XA patent/CN109189696B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653444A (zh) * | 2015-12-23 | 2016-06-08 | 北京大学 | 基于互联网日志数据的软件缺陷故障识别方法和系统 |
CN106611181A (zh) * | 2016-05-30 | 2017-05-03 | 四川用联信息技术有限公司 | 基于代价敏感二维尺度决策树构造方法 |
CN106611185A (zh) * | 2016-06-07 | 2017-05-03 | 四川用联信息技术有限公司 | 多标准误分类代价敏感决策树构建方法 |
CN108228684A (zh) * | 2017-05-26 | 2018-06-29 | 北京市商汤科技开发有限公司 | 聚类模型的训练方法、装置、电子设备和计算机存储介质 |
CN107247675A (zh) * | 2017-05-31 | 2017-10-13 | 华中科技大学 | 一种基于分类预测的缓存选择方法和系统 |
CN107223454A (zh) * | 2017-06-08 | 2017-10-03 | 中国农业大学 | 一种基于卷积神经网络的金针菇不同生长期智能补光的装置与方法 |
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109189696A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193646B (zh) | 一种基于混合主存架构的高效动态页面调度方法 | |
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
Wang et al. | Efficient SSD caching by avoiding unnecessary writes using machine learning | |
CN108268219B (zh) | 一种处理io请求的方法及装置 | |
US20170371807A1 (en) | Cache data determining method and apparatus | |
JP6642650B2 (ja) | Hadoopに基づいて、データマージモジュールとHBaseキャッシュモジュールを備えるHDFSに複数の2MB以下の小さなファイルを書き込む方法 | |
CN107247675B (zh) | 一种基于分类预测的缓存选择方法和系统 | |
CN109189696B (zh) | 一种ssd缓存系统及缓存方法 | |
US20210011857A1 (en) | Method and apparatus for buffering data blocks, computer device, and computer-readable storage medium | |
CN111737265B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN113360094B (zh) | 数据预测方法和装置、电子设备及存储介质 | |
CN111831691B (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN108932288B (zh) | 一种基于Hadoop的海量小文件缓存方法 | |
CN113268457B (zh) | 一种支持高效写的自适应学习索引方法和系统 | |
CN109471971B (zh) | 一种面向教育领域资源云存储的语义预取方法及系统 | |
CN112685337B (zh) | 一种存储集群中分级缓存读写数据的方法 | |
CN116931838A (zh) | 一种固态盘缓存管理方法、系统、电子设备及存储介质 | |
CN111858469A (zh) | 一种基于时间滑动窗口的自适应分级存储的方法 | |
JP2018511131A (ja) | オンライン媒体のための階層的なコストベースのキャッシング | |
CN114785858B (zh) | 应用于互感器在线监测系统的资源主动缓存方法及装置 | |
JP6215401B1 (ja) | データベース管理装置、データベース管理方法、およびデータベース管理プログラム | |
CN110334073A (zh) | 一种元数据预取方法、装置、终端、服务器及存储介质 | |
Wang et al. | Cache what you need to cache: Reducing write traffic in cloud cache via “one-time-access-exclusion” policy | |
CN105573675B (zh) | 缓存管理装置中基于训练机制的用户习惯获取方法及装置 | |
CN111880739A (zh) | 一种面向超融合设备的近数据处理系统 |
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 |