一种提高缓存速度的方法和装置与流程

文档序号:12377474阅读:234来源:国知局
一种提高缓存速度的方法和装置与流程
本发明属于缓存设计
技术领域
,特别是涉及一种提高缓存速度的方法和装置。
背景技术
:通常在存储应用中,如果应用于特定的无时间限制的应用系统中,则目前的存储性能可以满足读写要求。但是当对于像是银行或者多媒体领域应用时,一是数据量很大,二是要求的实时性很高,有时如出现延时等问题,就会对业务产生极大的影响。技术实现要素:为解决上述问题,本发明提供了一种提高缓存速度的方法和装置,能够为读写数据的实时性提供更好的保障,有效提高读写速度,提高存储性能。本发明提供的一种提高缓存速度的方法,包括:分析每个数据报文的内容,判断数据的实时性;根据所述数据的实时性,将数据进行分类,确定每个所述数据的CoS值;将所述CoS值标记到对应的数据上;根据每个数据的CoS值对数据进行排序,并插入到缓存队列的对应位置。优选的,在上述提高缓存速度的方法中,还包括:利用预读算法对每个数据的被访问次数进行统计;根据每个数据的被访问次数进行排序;根据所述排序对所述缓存阵列中的数据的位置进行调整。优选的,在上述提高缓存速度的方法中,所述根据每个数据的被访问次数进行排序包括:当所述缓存阵列中的多个数据的CoS值相等时,根据每个所述数据的被访问次数进行排序。优选的,在上述提高缓存速度的方法中,还包括:当访问预设数据时,提高所述预设数据在所述缓存阵列中的排序位置。优选的,在上述提高缓存速度的方法中,还包括:将访问次数少的数据逐步降至所述缓存阵列的末尾,当所述缓存阵列排满之后,将所述访问次数少的数据淘汰出所述缓存阵列。本发明提供的一种提高缓存速度的装置,包括:分析单元,用于分析每个数据报文的内容,判断数据的实时性;分类单元,用于根据所述数据的实时性,将数据进行分类,确定每个所述数据的CoS值;标记单元,用于将所述CoS值标记到对应的数据上;插入单元,用于根据每个数据的CoS值对数据进行排序,并插入到缓存队列的对应位置。优选的,在上述提高缓存速度的装置中,还包括:统计单元,用于利用预读算法对每个数据的被访问次数进行统计;排序单元,用于根据每个数据的被访问次数进行排序;调整单元,用于根据所述排序对所述缓存阵列中的数据位置进行调整。优选的,在上述提高缓存速度的装置中,所述排序单元具体用于当所述缓存阵列中的多个数据的CoS值相等时,根据每个所述数据的被访问次数进行排序。优选的,在上述提高缓存速度的装置中,还包括:数据提高单元,用于当访问预设数据时,提高所述预设数据在所述缓存阵列中的排序位置。优选的,在上述提高缓存速度的装置中,还包括:数据降低单元,用于将访问次数少的数据逐步降至所述缓存阵列的末尾,当所述缓存阵列排满之后,将所述访问次数少的数据淘汰出所述缓存阵列。通过上述描述可知,本发明提供的上述提高缓存速度的方法和装置,由于该方法包括:分析每个数据报文的内容,判断数据的实时性;根据所述数据的实时性,将数据进行分类,确定每个所述数据的CoS值;将所述CoS值标记到对应的数据上;根据每个数据的CoS值对数据进行排序,并插入到缓存队列的对应位置,因此能够为读写数据的实时性提供更好的保障,有效提高读写速度,提高存储性能。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例提供的第一种提高缓存速度的方法的示意图;图2为缓存阵列的操作示意图;图3为本申请实施例提供的第一种提高缓存速度的装置的示意图。具体实施方式本发明的核心思想在于提供一种提高缓存速度的方法和装置,能够为读写数据的实时性提供更好的保障,有效提高读写速度,提高存储性能。QoS全称是QualityofService,即服务质量,指一个网络能够利用各种基础知识,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞问题的一种技术。应用在存储设备上,就是提高实时性数据在缓存中的命中率。以读数据为例,有些数据要求能够实时读出,而有些数据则要求的实时性不强。使用QoS技术,将数据按照实时性和热度进行综合排序,确定到底哪些数据进入缓存,从而提高读缓存的命中率。通过在缓存中使用QoS算法的思想,建立一个Diff-Serv服务模型,通过分类,标示,排序等步骤,确定每个数据报的实时性和热度。从而使不同实时性要求的数据得到不同的服务,来满足业务需求。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请实施例提供的第一种提高缓存速度的方法如图1所示,图1为本申请实施例提供的第一种提高缓存速度的方法的示意图。该方法包括如下步骤:S1:分析每个数据报文的内容,判断数据的实时性;S2:根据所述数据的实时性,将数据进行分类,确定每个所述数据的CoS值;其中,所述CoS即ClassofService,利用的是流量的传输优先级,通过CoS,用户可以实现穿过整个网络的端到端的优先级分配和传输。对于专用网络来说,由于服务提供商拥有整个网络,因此可以保证整个网络的优先级实施。具体的,CoS值共分为0-7总共8个等级,7的优先级最高,0最低。数据实时性1表示最优先,8表示不优先。根据分析每个数据报文的内容,判断数据的实时性,将数据进行分类。数据实时性和CoS值的对照如表1所示。表1数据实时性和CoS值的对照表CoS值数据实时性7162534435261708S3:将所述CoS值标记到对应的数据上;具体的,将已分类的数据通过Marking动作将CoS值标记到数据上。S4:根据每个数据的CoS值对数据进行排序,并插入到缓存队列的对应位置。具体的,将排序靠前的数据按照优先级插入到缓存队列中,这样就能够方便提取实时性更强的数据。通过上述描述可知,本申请实施例提供的上述提高缓存速度的方法,由于包括:分析每个数据报文的内容,判断数据的实时性;根据所述数据的实时性,将数据进行分类,确定每个所述数据的CoS值;将所述CoS值标记到对应的数据上;根据每个数据的CoS值对数据进行排序,并插入到缓存队列的对应位置,因此能够为读写数据的实时性提供更好的保障,有效提高读写速度,提高存储性能。本申请实施例提供的第二种提高缓存速度的方法,是在上述第一种提高缓存速度的方法的基础上,还包括如下技术特征:利用预读算法对每个数据的被访问次数进行统计;根据每个数据的被访问次数进行排序;根据所述排序对所述缓存阵列中的数据的位置进行调整。需要说明的是,确定哪些数据可以进入到缓存队列中,在考虑数据的实时性的基础上,进一步考虑数据被读写的频繁程度,因此,结合之前的缓存预读算法,确定哪些数据被读写的次数更多,最终按照优先级排入到缓存的队列中。本申请实施例提供的第三种提高缓存速度的方法,是在上述第二种提高缓存速度的方法的基础上,还包括如下技术特征:所述根据每个数据的被访问次数进行排序包括:当所述缓存阵列中的多个数据的CoS值相等时,根据每个所述数据的被访问次数进行排序。在这种情况下,就能够更方便对于经常访问数据的访问,进一步提高读取速度。本申请实施例提供的第四种提高缓存速度的方法,是在上述第三种提高缓存速度的方法的基础上,还包括如下技术特征:当访问预设数据时,提高所述预设数据在所述缓存阵列中的排序位置。在这种情况下,就能够根据实时的数据访问情况对排序进行对应的调整,这样就能够保证每时每刻的数据访问都具有足够高的速度。本申请实施例提供的第五种提高缓存速度的方法,是在上述第四种提高缓存速度的方法的基础上,还包括如下技术特征:将访问次数少的数据逐步降至所述缓存阵列的末尾,当所述缓存阵列排满之后,将所述访问次数少的数据淘汰出所述缓存阵列。在这种情况下,就能够保证访问次数少的数据影响其他数据的读取,进一步提高数据读取的速度。具体的如图2所示,图2为缓存阵列的操作示意图,其中,当有更高实时性的数据到来时,根据算法插入到缓存阵列的头,当数据被读取时,提高数据的优先级,即提高在缓存阵列中的排名,当缓存阵列满时,末尾的数据被淘汰。当缓存阵列中几个数据的CoS值相同时,开始先按照预读算法给出的顺序进行排序。当某个数据被访问时,随时提高它在队列中的排位。通过这样的算法,可以兼顾数据热度以及数据的实时性。本申请实施例提供的第一种提高缓存速度的装置如图3所示,图3为本申请实施例提供的第一种提高缓存速度的装置的示意图。该装置包括:分析单元301,用于分析每个数据报文的内容,判断数据的实时性;分类单元302,用于根据所述数据的实时性,将数据进行分类,确定每个所述数据的CoS值,具体的,CoS值共分为0-7总共8个等级,7的优先级最高,0最低。数据实时性1表示最优先,8表示不优先。根据分析每个数据报文的内容,判断数据的实时性,将数据进行分类;标记单元303,用于将所述CoS值标记到对应的数据上,具体的,将已分类的数据通过Marking动作将CoS值标记到数据上;插入单元304,用于根据每个数据的CoS值对数据进行排序,并插入到缓存队列的对应位置,具体的,将排序靠前的数据按照优先级插入到缓存队列中,这样就能够方便提取实时性更强的数据。通过上述描述可知,本申请实施例提供的上述提高缓存速度的装置,能够为读写数据的实时性提供更好的保障,有效提高读写速度,提高存储性能。本申请实施例提供的第二种提高缓存速度的装置,是在上述第一种提高缓存速度的装置的基础上,还包括如下技术特征:统计单元,用于利用预读算法对每个数据的被访问次数进行统计;排序单元,用于根据每个数据的被访问次数进行排序;调整单元,用于根据所述排序对所述缓存阵列中的数据位置进行调整。需要说明的是,确定哪些数据可以进入到缓存队列中,在考虑数据的实时性的基础上,进一步考虑数据被读写的频繁程度,因此,结合之前的缓存预读算法,确定哪些数据被读写的次数更多,最终按照优先级排入到缓存的队列中。本申请实施例提供的第三种提高缓存速度的装置,是在上述第二种提高缓存速度的装置的基础上,还包括如下技术特征:所述排序单元具体用于当所述缓存阵列中的多个数据的CoS值相等时,根据每个所述数据的被访问次数进行排序。在这种情况下,就能够更方便对于经常访问数据的访问,进一步提高读取速度。本申请实施例提供的第四种提高缓存速度的装置,是在上述第三种提高缓存速度的装置的基础上,还包括如下技术特征:数据提高单元,用于当访问预设数据时,提高所述预设数据在所述缓存阵列中的排序位置。在这种情况下,就能够根据实时的数据访问情况对排序进行对应的调整,这样就能够保证每时每刻的数据访问都具有足够高的速度。本申请实施例提供的第五种提高缓存速度的装置,是在上述第四种提高缓存速度的装置的基础上,还包括如下技术特征:数据降低单元,用于将访问次数少的数据逐步降至所述缓存阵列的末尾,当所述缓存阵列排满之后,将所述访问次数少的数据淘汰出所述缓存阵列。在这种情况下,就能够保证访问次数少的数据影响其他数据的读取,进一步提高数据读取的速度。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1