一种缓存数据接收和读取方法及装置、及路由器缓存装置制造方法

文档序号:6492892阅读:136来源:国知局
一种缓存数据接收和读取方法及装置、及路由器缓存装置制造方法
【专利摘要】本发明公开了一种缓存数据接收方法,包括:接收缓存数据,对处于已激活状态的至少两个存储单元按照优先级从高到低的顺序进行数据存储;如果所述处于已激活状态的存储单元中优先级最低的存储单元的存储量达到预设的激活水线,则将处于待激活状态的存储单元转为已激活状态,并将处于去激活状态的存储单元中优先级最高的存储单元转为待激活状态。本发明还公开一种缓存数据读取方法、缓存数据接收或读取装置、以及路由器的缓存装置。采用本发明实施例,能够减少路由器缓存容量的硬件能力浪费,达到节能降耗的目的;同时还能够有效避免因存储量不足发生的数据溢出现象,保证业务服务质量。
【专利说明】一种缓存数据接收和读取方法及装置、及路由器缓存装置
【技术领域】
[0001]本发明涉及路由器【技术领域】,特别是涉及一种缓存数据接收和读取的方法及装置、以及路由器缓存装置。
【背景技术】
[0002]通信网络已经深入到人们生活的每个角落,路由器作为通信网络的核心设备在网络中用量巨大。随着带宽需求的日益增加,设备的带宽容量迅速增大,由此也带来了设备的功耗高的问题。
[0003]为了保证流量突发时的业务质量,路由器设备设计了大容量的流量缓存单元,保证全速情况下有上百毫秒的流量缓存能力。但在实际应用中,流量突发的场景极少,其平均流量不足50%,很容易造成硬件能力的浪费。
[0004]参照图1,为典型的路由器的缓存结构示意图。如图1所示,路由器的缓存结构一般可以包括:一缓存控制器Ia和η个缓存单元2a。
[0005]现有路由器一般采用负载分担模式进行流量缓存。当路由器需要进行流量缓存时,不管需要缓存的数据有多少,η个缓存单元2a都被占用,每个缓存单元2a均分需要缓存的数据。因此,当需要缓存的数据很少时,每个缓存单元2a都仅被占用很少的空间,这就造成了硬件能力的极大浪费。
[0006]现有技术中,可以通过监测流量到达路由器的速率,来确定需要预留的流量缓存能力的大小,由此实现动态减小缓存容量、降低缓存功耗的效果。
[0007]但是,对于现有方案,存在以下两个缺陷:
[0008]第一,实现监测流量速率的功能需要占用较大的硬件资源,而且对流量的突发变化不能做到有效预判动作;第二,改变缓存单元的状态需要一定的激活时间,例如将缓存单元从节能状态转换到工作状态,由此很容易因缓存单元来不及转换导致因缓存空间不足造成数据溢出,对业务服务质量造成影响。

【发明内容】

[0009]本发明提供了一种缓存数据接收和读取的方法及装置、以及路由器的缓存装置,能够减少路由器缓存容量的硬件能力浪费,达到节能降耗的目的;同时还能够有效避免因存储量不足发生的数据溢出现象,保证业务服务质量。
[0010]第一方面,提供了一种缓存数据接收方法,所述方法包括:接收缓存数据,对处于已激活状态的至少两个存储单元按照优先级从高到低的顺序进行数据存储;如果所述处于已激活状态的存储单元中优先级最低的存储单元的存储量达到预设的激活水线,则将处于待激活状态的存储单元转为已激活状态,并将处于去激活状态的存储单元中优先级最高的存储单元转为待激活状态;其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据;所述处于去激活状态的存储单元不可以接收缓存数据;所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
[0011]在第一方面的第一种可能的实现方式中,在所述接收缓存数据之前,所述方法还包括:对各存储单元进行优先级标定;优先级高的存储单元优先存储缓存数据。
[0012]在第一方面的第二种可能的实现方式中,在所述接收缓存数据之前,所述方法还包括:对各存储单元进行状态标识;所述存储单元的状态包括:已激活状态、待激活状态、去激活状态。
[0013]第二方面,提供了一种缓存数据读取方法,所述方法包括:读取缓存数据;如果处于已激活状态的存储单元中优先级最低的存储单元被取空,且比所述被取空的存储单元优先级高一级的存储单元的存储量还未达到预设的激活水线,则将所述被取空的存储单元转化为待激活状态;其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据;所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
[0014]在第二方面的第一种可能的实现方式中,在所述将所述被取空的存储单元转化为待激活单元之后,所述方法还包括:当处于待激活状态的存储单元的数量大于I时,将所述处于待激活状态的存储单元中优先级最低的存储单元转化为去激活状态;其中,所述处于去激活状态的存储单元不可以接收缓存数据。
[0015]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,在所述读取缓存数据之前,所述方法还包括:对各存储单元进行优先级标定;优先级高的存储单元优先存储缓存数据。
[0016]结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,在所述读取缓存数据之前,所述方法还包括:对各存储单元进行状态标识;所述存储单元的状态包括:已激活状态、待激活状态、去激活状态。
[0017]第三方面,提供了一种缓存数据接收装置,所述装置包括:接收单元,用于接收缓存数据,对处于已激活状态的至少两个存储单元按照优先级从高到低的顺序进行数据存储;第一处理单元,用于如果所述处于已激活状态的存储单元中优先级最低的存储单元的存储量达到预设的激活水线,则将处于待激活状态的存储单元转为已激活状态,并将处于去激活状态的存储单元中优先级最高的存储单元转为待激活状态;其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据;所述处于去激活状态的存储单元不可以接收缓存数据;所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
[0018]在第三方面的第一种可能的实现方式中,所述装置还包括:优先级标定单元,用于对各存储单元进行优先级标定,优先级高的存储单元优先存储缓存数据。
[0019]在第三方面的第二种可能的实现方式中,所述装置还包括:状态标定单元,用于对各存储单元进行状态标识;所述存储单元的状态包括:已激活状态、待激活状态、去激活状态。
[0020]第四方面,提供了一种缓存数据读取装置,所述装置包括:读取单元,用于读取缓存数据;第二处理单元,用于如果处于已激活状态的存储单元中优先级最低的存储单元被取空,且比所述被取空的存储单元优先级高一级的存储单元的存储量还未达到预设的激活水线,则将所述被取空的存储单元转化为待激活状态;其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据;所述处于去激活状态的存储单元不可以接收缓存数据;所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
[0021]在第四方面的第一种可能的实现方式中,所述第二处理单元,还用于当处于待激活状态的存储单元的数量大于I时,将所述处于待激活状态的存储单元中优先级最低的存储单元转化为去激活状态;其中,所述处于去激活状态的存储单元不可以接收缓存数据。
[0022]结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述装置还包括:优先级标定单元,用于对各存储单元进行优先级标定,优先级高的存储单元优先存储缓存数据。
[0023]结合第四方面的第一种可能的实现方式,在第四方面的第三种可能的实现方式中,所述装置还包括:状态标定单元,用于对各存储单元进行状态标识;所述存储单元的状态包括:已激活状态、待激活状态、去激活状态。
[0024]第五方面,提供了一种路由器的缓存装置,所述缓存装置包括缓存控制器和至少两个存储单元;所述缓存装置还包括第三方面中任何一种可能的实现方式所述的缓存数据接收装置和第四方面中任何一种可能的实现方式所述的缓存数据读取装置。
[0025]在第五方面的第一种可能的实现方式中,所述缓存数据接收装置和缓存数据读取装置独立于所述缓存控制器设置;或者,所述缓存数据接收装置和缓存数据读取装置集成为所述缓存控制器的两个功能模块设置。
[0026]一方面,本发明实施例所述方法,对处于已激活状态的存储单元按照优先级从高到低的顺序进行数据存储,可以避免在缓存数据较少的情况下,所有的存储单元均被占用且只被占用较少的存储空间,由此可以节省路由器缓存容量的硬件能力,实现节能降耗。
[0027]另一方面,对于路由器的存储单元而言,对其进行状态改变,例如将存储单元从待激活状态转化为已激活状态、从去激活状态转化为待激活状态,都是需要一定的激活时间的。如果等到所有处于已激活状态的存储单元均存满了再对处于待激活状态的存储单元进行状态改变,就会导致因存储量不足发生数据溢出的现象,影响业务服务质量。因此,本发明实施例所述方法中,通过设定激活水线,提前对处于待激活状态和去激活状态的存储单元进行状态改变,由此可以有效避免因存储量不足发生的数据溢出现象,保证业务服务质量。
【专利附图】

【附图说明】
[0028]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029]图1为典型的路由器的缓存结构示意图;[0030]图2为本发明实施例所述的缓存数据接收方法和读取方法的一种应用场景示意图;
[0031]图3为本发明实施例一的缓存数据接收方法流程图;
[0032]图4为本发明实施例二的缓存数据接收方法流程图;
[0033]图5为本发明实施例一的缓存数据读取方法流程图;
[0034]图6为本发明实施例二的缓存数据读取方法流程图;
[0035]图7为本发明实施例所述的路由器缓存装置的结构示意图。
【具体实施方式】
[0036]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037]本发明提供了一种缓存数据接收和读取的方法及装置、以及路由器缓存装置,能够减少路由器缓存容量的硬件能力浪费,达到节能降耗的目的;同时还能够有效避免因存储量不足发生的数据溢出现象,保证业务服务质量。
[0038]参照图2,为本发明实施例所述的缓存数据接收方法和读取方法的一种应用场景示意图。如图2所示,路由器缓存装置可以包括:一缓存控制器10和η个存储单元20 ;所述η为正整数。所述缓存控制器10通过高速总线与外界设备相连,接收需要缓存的数据,并通过数据&地址线将接收到的数据发送至各存储单元20。
[0039]本发明实施例所述路由器的缓存装置还包括一数据接收装置和数据读取装置,通过所述数据接收装置和数据读取装置实现对路由器的缓存容量的动态管理,减少路由器缓存容量的硬件能力浪费,达到节能降耗的目的;同时还能够有效避免因存储量不足发生的数据溢出现象,保证业务服务质量。
[0040]参照图3,为本发明实施例一的缓存数据接收方法流程图。如图3所示,所述方法可以包括以下步骤:
[0041]步骤S301:接收缓存数据,对处于已激活状态的存储单元按照优先级从高到低的顺序进行数据存储。
[0042]步骤S302:如果所述处于已激活状态的存储单元中优先级最低的存储单元的存储量达到预设的激活水线,则将处于待激活状态的存储单元转为已激活状态,并将处于去激活状态的存储单元中优先级最高的存储单元转为待激活状态。
[0043]其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据;所述处于去激活状态的存储单元不可以接收缓存数据。
[0044]所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
[0045]一方面,本发明实施例所述方法,对处于已激活状态的存储单元按照优先级从高到低的顺序进行数据存储,可以避免在缓存数据较少的情况下,所有的存储单元均被占用且只被占用较少的存储空间,由此可以节省路由器缓存容量的硬件能力,实现节能降耗。[0046]另一方面,对于路由器的存储单元而言,对其进行状态改变,例如将存储单元从待激活状态转化为已激活状态、从去激活状态转化为待激活状态,都是需要一定的激活时间的。如果等到所有处于已激活状态的存储单元均存满了再对处于待激活状态的存储单元进行状态改变,就会导致因存储量不足发生数据溢出的现象,影响业务服务质量。因此,本发明实施例所述方法中,通过设定激活水线,提前对处于待激活状态和去激活状态的存储单元进行状态改变,由此可以有效避免因存储量不足发生的数据溢出现象,保证业务服务质量。
[0047]需要说明的是,对于本发明实施例所述的缓存数据接收方法,在接收缓存数据之前,需要首先对各存储单元进行优先级标定和状态标定。
[0048]具体的,在接收缓存数据之前,所述方法还包括:对路由器的η个存储单元进行优先级标定,优先级高的存储单元优先存储缓存数据,η为大于等于2的整数。
[0049]在实际应用中,可以对η个存储单元分别独立的进行优先级标定;也可以先对η个存储单元进行分组,再对各组存储单元分别进行优先级标定。
[0050]在接收缓存数据时,优先向高优先级的存储单元存储数据,当高优先级的存储单元均存满时,向优先级低一级的存储单元存储数据;以此类推,最后向优先级最低的存储单元存储数据。
[0051]例如,可以将η个存储单元分为三组,分别标定为高优先级、中优先级和低优先级。在需要进行数据缓存时,优先向被标定为高优先级的存储单元缓存数据。只有当所有高优先级的存储单元均存满后,再向中优先级的存储单元缓存数据;以此类推,当所有中优先级的存储单元存满后,再向低优先级的存储单元缓存数据。
[0052]需要补充说明的是,在接收缓存数据时,对于相同优先级的一组存储单元,可以机会均等的轮流存储缓存数据;也可以同时存储缓存数据。
[0053]具体的,在接收缓存数据之前,所述方法还包括:对路由器的η个存储单元进行状态标定,通过所述状态标定标明各存储单元当前的状态。
[0054]具体的,所述存储单元的状态可以包括已激活状态、待激活状态、去激活状态。
[0055]其中,处于已激活状态的存储单元具备直接存储数据的能力,可以直接用于接收和读取缓存数据。
[0056]处于待激活状态的存储单元属于备用存储单元,不具备直接存储数据的能力,需要转化为已激活状态时才能够用于接收和读取缓存数据。处于待激活状态的存储单元主要用于存储空间大小变动时的快速缓冲空间,即为当所有处于已激活状态的存储单元均存满时,需要将处于待激活状态的存储单元转化为已激活状态,来存储缓存数据。
[0057]所述处于去激活状态的存储单元是指处于休眠的存储单元,不可以直接接收缓存数据。只有当所有处于待激活状态的存储单元均被转为激活状态时,才需要将部分处于去激活状态的存储单元转化为待激活状态,以备使用。
[0058]参照图4,为本发明实施例二的缓存数据接收方法流程图。如图4所示,所述方法可以包括以下步骤:
[0059]步骤S401:接收缓存数据,对处于已激活状态的存储单元按照优先级从高到低的顺序进行数据存储。
[0060]具体的,对当前处于已激活状态的存储单元进行优先级判断,优先选择其中优先级最高的存储单元存储缓存数据,当优先级最高的存储单元均存满后,选择优先级次高的储存单元存储缓存数据,依此类推。
[0061]步骤S402:判断所述处于已激活状态的存储单元中优先级最低的存储单元的存储量是否达到预设的激活水线,如果是,进入步骤S403 ;如果否,进入步骤S404。
[0062]步骤S403:将处于待激活状态的存储单元转为已激活状态;将处于去激活状态的存储单元中优先级最高的存储单元转为待激活状态。
[0063]具体的,根据实际应用的需要,可以预先设定所述激活水线。当处于已激活状态的存储单元中优先级最低的存储单元的存储量达到了所述激活水线,说明当前可直接用于存储数据的存储单元的存储量已经很少了,需要尽快将处于待激活状态的存储单元转为已激活状态,以此来增加更多的可用存储单元。同时,将处于去激活状态的存储单元中优先级最高的存储单元转为待激活状态,以此来增加备用存储单元的数量。由此来避免发生数据溢出的现象,保证业务服务质量。否则,即为处于已激活状态的存储单元中优先级最低的存储单元的存储量还未达到所述激活水线,则说明当前可直接用于存储数据的存储单元的存储量还比较充裕,不用担心会发生数据溢出的问题。
[0064]需要补充说明的是,设定所述激活水线时,可以综合考虑路由器接收数据的速度和存储单元状态改变所需要的时间。换言之,只需保证所述存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间即可。
[0065]具体的,本发明实施例所述方法,还可以包括:设置存储指针,用于指示各存储单元的占用情况,即为存储量。
[0066]通过所述存储指针,确定所述处于已激活状态的存储单元中优先级最低的存储单元的存储量,进而判断该存储单元的存储量是否达到激活水线。
[0067]步骤S404:接收待缓存数据的流程结束。
[0068]一方面,本发明实施例所述方法,对处于已激活状态的存储单元按照优先级从高到低的顺序进行数据存储,可以避免在缓存数据较少的情况下,所有的存储单元均被占用且只被占用较少的存储空间,由此可以节省路由器缓存容量的硬件能力,实现节能降耗。
[0069]另一方面,对于路由器的存储单元而言,对其进行状态改变,例如将存储单元从待激活状态转化为已激活状态、从去激活状态转化为待激活状态,都是需要一定的激活时间的。如果等到所有处于已激活状态的存储单元均存满了再对处于待激活状态的存储单元进行状态改变,就会导致因存储量不足发生数据溢出的现象,影响业务服务质量。因此,本发明实施例所述方法中,通过设定该激活水线,提前对处于待激活状态和去激活状态的存储单元进行状态改变,由此可以有效避免因存储量不足发生的数据溢出现象,保证业务服务质量。
[0070]同时,本发明实施例中,通过设定所述激活水线,当处于已激活状态的存储单元中优先级最低的存储单元的存储量还未达到所述激活水线,说明当前可直接用于存储数据的存储单元的存储量还比较充裕,不用担心会发生数据溢出的问题,此时不对任何处于待激活状态和去激活状态的存储单元进行状态改变,由此可以实现对已激活的储存单元的存储量的最大利用,减少路由器缓存容量的硬件能力浪费,达到节能降耗的目的。
[0071]参照图5,为本发明实施例一的缓存数据读取方法流程图。如图5所示,所述方法可以包括以下步骤:[0072]步骤S501:读取缓存数据。
[0073]步骤S502:如果处于已激活状态的存储单元中优先级最低的存储单元被取空,且比所述被取空的存储单元优先级高一级的存储单元的存储量还未达到预设的激活水线,则将所述被取空的存储单元转化为待激活状态。
[0074]其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据。
[0075]所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
[0076]本发明实施例所述方法中,通过设定激活水线,当处于已激活状态的存储单元中优先级最低的存储单元被取空,且比所述被取空的存储单元优先级高一级的存储单元的存储量还未达到激活水线,说明当前处于已激活状态的存储单元太多了,存在富裕。此时将所述被取空的存储单元转化为待激活状态,由此可以有效的节省路由器缓存容量的硬件能力,实现节能降耗。
[0077]需要说明的是,对于本发明实施例所述的缓存数据读取方法,在读取缓存数据之前,需要首先对各存储单元进行优先级标定和状态标定。
[0078]具体的,在读取缓存数据之前,所述方法还包括:对路由器的η个存储单元进行优先级标定,优先级高的存储单元优先存储缓存数据。
[0079]具体的,在读取缓存数据之前,所述方法还包括:对路由器的η个存储单元进行状态标定,通过所述状态标定标明各存储单元当前的状态。
[0080]此处对各存储单元进行优先级标定和状态标定的方法与前述实施例相同,在此不再赘述。
[0081]对于本发明实施例所述的缓存数据读取方法,在将所述被取空的存储单元转化为待激活状态之后,还可以包括:当处于待激活状态的存储单元的数量大于I时,将所述处于待激活状态的存储单元中优先级最低的存储单元转化为去激活状态;其中,所述处于去激活状态的存储单元不可以接收缓存数据。
[0082]参照图6,为本发明实施例二的缓存数据读取方法流程图。如图6所述,所述方法可以包括以下步骤:
[0083]步骤S601:读取缓存数据。
[0084]步骤S602:判断当前读取缓存数据的存储单元是否为空,如果是,进入步骤S:603 ;如果否,进入步骤S608。
[0085]步骤S603:判断所述当前读取缓存数据的存储单元是否为处于已激活状态的存储单元中优先级最低的,如果是,进入步骤S604 ;如果否,进入步骤S608。
[0086]步骤S604:判断比所述当前读取缓存数据的存储单元优先级高一级的存储单元的存储量是否达到预设的激活水线,如果否,进入步骤S605 ;如果是,进入步骤S608。
[0087]步骤S605:将所述当前读取缓存数据的存储单元转化为待激活状态。
[0088]步骤S606:判断处于待激活状态的存储单元的数量是否大于I,如果是,进入步骤S607 ;如果否,进入步骤S608。
[0089]步骤S607:将处于待激活状态的存储单元中优先级最低的存储单元转化为去激活状态。[0090]步骤S608:读取缓存数据流程结束。
[0091]本发明实施例二所述的缓存数据读取方法中,对缓存数据进行读取,当某一存储单元被取空时,对该存储单元的优先级进行判断,当所述被取空的存储单元为处于已激活状态的存储单元中优先级最低的,则进一步判断比其优先级高一级的存储单元的存储量是否达到激活水线,如果是,则说明比所述被取空的存储单元优先级高的存储单元都存在存储空间富余,则该被取空的存储单元暂时不需要用于存储缓存数据,可以将其从已激活状态转化为待激活状态,作为备用,由此节省路由器缓存容量的硬件能力,实现节能降耗。
[0092]进一步的,当处于待激活状态的存储单元的数量是否大于I时,可以将其中优先级最低的存储单元转化为去激活状态,减小处于工作状态的存储单元,由此节省路由器缓存容量的硬件能力,实现节能降耗。
[0093]对应于本发明实施例所述的缓存数据接收方法和读取方法,本发明实施例还提供一种路由器。参照图7,为本发明实施例所述的路由器缓存装置的结构示意图。
[0094]如图7所示,所述路由器缓存装置可以包括:一缓存控制器10和η个存储单元20。
[0095]所述路由器缴存装置还可以包括:一缓存数据接收装置30和一缓存数据读取装置40。
[0096]其中,所述缓存数据接收装置30包括:接收单元和第一处理单元。
[0097]所述接收单元,用于接收缓存数据,对处于已激活状态的存储单元按照优先级从高到低的顺序进行数据存储。
[0098]所述第一处理单元,用于如果所述处于已激活状态的存储单元中优先级最低的存储单元的存储量达到预设的激活水线,则将处于待激活状态的存储单元转为已激活状态,并将处于去激活状态的存储单元中优先级最高的存储单元转为待激活状态。
[0099]所述缓存数据读取装置40可以包括:读取单元和第二处理单元。
[0100]所述读取单元,用于读取缓存数据。
[0101]所述第二处理单元,用于如果处于已激活状态的存储单元中优先级最低的存储单元被取空,且比所述被取空的存储单元优先级高一级的存储单元的存储量还未达到预设的激活水线,则将所述被取空的存储单元转化为待激活状态。
[0102]其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据;所述处于去激活状态的存储单元不可以接收缓存数据。
[0103]所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
[0104]需要说明的是,所述第二处理单元,还可以用于当处于待激活状态的存储单元的数量大于I时,将所述处于待激活状态的存储单元中优先级最低的存储单元转化为去激活状态。
[0105]本发明实施例所述路由器缓存装置还可以包括:优先级标定单元。
[0106]具体的,所述优先级标定单元,用于对各存储单元进行优先级标定,优先级高的存储单元优先存储缓存数据。
[0107]在实际应用中,可以对各存储单元分别独立的进行优先级标定;也可以先对η个存储单元进行分组,再对各组存储单元分别进行优先级标定。[0108]需要补充说明的是,在接收缓存数据时,对于相同优先级的一组存储单元,机会均等的存储缓存数据。
[0109]进一步的,所述缓存装置还可以包括:状态标定单元。
[0110]具体的,所述状态标定单元,用于对各存储单元进行状态标定,通过所述状态标定标明各存储单元当前的状态。
[0111]具体的,所述存储单元的状态可以包括已激活状态、待激活状态、去激活状态。
[0112]其中,处于已激活状态的存储单元可以直接用于存储缓存数据;而处于待激活状态的存储单元属于备用存储单元,当所有处于已激活状态的存储单元均存满时,需要将处于待激活状态的存储单元转化为已激活状态,来存储缓存数据;所述处于去激活状态的存储单元是指处于休眠的存储单元,只有当所有处于待激活状态的存储单元均被转为激活状态时,才需要将部分处于去激活状态的存储单元转化为待激活状态,以备使用。
[0113]需要进一步说明的是,所述缓存控制器10可以是一个独立的物理器件;也可以是路由器的某个器件中集成的一个逻辑功能模块。
[0114]当然,所述缓存数据接收装置30和缓存数据读取装置40可以是独立于缓存控制器设置的物理器件;也可以是集成在所述缓存控制器10中的两个逻辑功能模块。
[0115]需要说明的是,每个所述存储单元可以是一个独立的物理存储器件,例如一个最小物理结构的存储器件;一个内存颗粒。
[0116]当然,每个所述存储单元也可以由一组存储器件构成。在这种情况下,当接收缓存数据时,这些存储器件机会均等的轮流写入缓存数据。
[0117]一方面,本发明实施例所述路由器缓存装置,对处于已激活状态的存储单元按照优先级从高到低的顺序进行数据存储,可以避免在缓存数据较少的情况下,所有的存储单元均被占用且只被占用较少的存储空间,由此可以节省路由器缓存容量的硬件能力,实现节能降耗。
[0118]另一方面,对于路由器的存储单元而言,对其进行状态改变,例如将存储单元从待激活状态转化为已激活状态、从去激活状态转化为待激活状态,都是需要一定的激活时间的。如果等到所有处于已激活状态的存储单元均存满了再对处于待激活状态的存储单元进行状态改变,就会导致因存储量不足发生数据溢出的现象,影响业务服务质量。因此,本发明实施例所述方法中,通过设定激活水线,提前对处于待激活状态和去激活状态的存储单元进行状态改变,由此可以有效避免因存储量不足发生的数据溢出现象,保证业务服务质量。
[0119]以上对本发明所提供的一种缓存数据接收与读取方法及装置、路由器缓存装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
[0120]本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此夕卜,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
[0121 ] 计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
[0122]计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
【权利要求】
1.一种缓存数据接收方法,其特征在于,所述方法包括: 接收缓存数据,对处于已激活状态的至少两个存储单元按照优先级从高到低的顺序进行数据存储; 如果所述处于已激活状态的存储单元中优先级最低的存储单元的存储量达到预设的激活水线,则将处于待激活状态的存储单元转为已激活状态,并将处于去激活状态的存储单元中优先级最高的存储单元转为待激活状态; 其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据;所述处于去激活状态的存储单元不可以接收缓存数据; 所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
2.根据权利要求1所述的方法,其特征在于,在所述接收缓存数据之前,所述方法还包括: 对各存储单元进行优先级标定;优先级高的存储单元优先存储缓存数据。
3.根据权利要求1所述的方法,其特征在于,在所述接收缓存数据之前,所述方法还包括: 对各存储单元进行状态标识; 所述存储单元的状态包括:已激活状态、待激活状态、去激活状态。
4.一种缓存数据读取方法,其特`征在于,所述方法包括: 读取缓存数据; 如果处于已激活状态的存储单元中优先级最低的存储单元被取空,且比所述被取空的存储单元优先级高一级的存储单元的存储量还未达到预设的激活水线,则将所述被取空的存储单元转化为待激活状态; 其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据; 所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
5.根据权利要求4所述的方法,其特征在于,在所述将所述被取空的存储单元转化为待激活单元之后,所述方法还包括: 当处于待激活状态的存储单元的数量大于I时,将所述处于待激活状态的存储单元中优先级最低的存储单元转化为去激活状态; 其中,所述处于去激活状态的存储单元不可以接收缓存数据。
6.根据权利要求4或5所述的方法,其特征在于,在所述读取缓存数据之前,所述方法还包括: 对各存储单元进行优先级标定;优先级高的存储单元优先存储缓存数据。
7.根据权利要求4或5所述的方法,其特征在于,在所述读取缓存数据之前,所述方法还包括: 对各存储单元进行状态标识; 所述存储单元的状态包括:已激活状态、待激活状态、去激活状态。
8.一种缓存数据接收装置,其特征在于,所述装置包括: 接收单元,用于接收缓存数据,对处于已激活状态的至少两个存储单元按照优先级从高到低的顺序进行数据存储; 第一处理单元,用于如果所述处于已激活状态的存储单元中优先级最低的存储单元的存储量达到预设的激活水线,则将处于待激活状态的存储单元转为已激活状态,并将处于去激活状态的存储单元中优先级最高的存储单元转为待激活状态; 其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据;所述处于去激活状态的存储单元不可以接收缓存数据; 所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
9.根据权利要求8所述的缓存数据接收装置,其特征在于,所述装置还包括: 优先级标定单元,用于对各存储单元进行优先级标定,优先级高的存储单元优先存储缓存数据。
10.根据权利要求8所述的缓存数据接收装置,其特征在于,所述装置还包括: 状态标定单元,用于对各存储单元进行状态标识; 所述存储单元的状态包括:已激活状态、待激活状态、去激活状态。
11.一种缓存数据读取装置,其特征在于,所述装置包括:` 读取单元,用于读取缓存数据; 第二处理单元,用于如果处于已激活状态的存储单元中优先级最低的存储单元被取空,且比所述被取空的存储单元优先级高一级的存储单元的存储量还未达到预设的激活水线,则将所述被取空的存储单元转化为待激活状态; 其中,所述处于已激活状态的存储单元可以接收缓存数据;所述处于待激活状态的存储单元不可以接收缓存数据,需要转化为已激活状态才能接收缓存数据;所述处于去激活状态的存储单元不可以接收缓存数据; 所述激活水线的预设规则为:存储单元激活水线以上的存储空间被缓存数据占满所需的时间大于或等于所述存储单元状态改变所需要的时间。
12.根据权利要求11所述的缓存数据读取装置,其特征在于,所述第二处理单元,还用于当处于待激活状态的存储单元的数量大于I时,将所述处于待激活状态的存储单元中优先级最低的存储单元转化为去激活状态; 其中,所述处于去激活状态的存储单元不可以接收缓存数据。
13.根据权利要求11或12所述的缓存数据读取装置,其特征在于,所述装置还包括: 优先级标定单元,用于对各存储单元进行优先级标定,优先级高的存储单元优先存储缓存数据。
14.根据权利要求11或12所述的缓存数据读取装置,其特征在于,所述装置还包括: 状态标定单元,用于对各存储单元进行状态标识; 所述存储单元的状态包括:已激活状态、待激活状态、去激活状态。
15.一种路由器的缓存装置,其特征在于,所述缓存装置包括缓存控制器和至少两个存储单元;所述缓存装置还包括如权利要求8至10任一项所述的缓存数据接收装置和如权利要求11至14任一项所述的缓存数据读取装置。
16.根据权利要求15所述的路由器的缓存装置,其特征在于,所述缓存数据接收装置和缓存数据读取装置独立于所述缓存控制器设置;或者, 所述缓存数据接收装置和缓存数据读取装置集成为所述缓存控制器的两个功能模块设置。`
【文档编号】G06F3/06GK103870206SQ201210539030
【公开日】2014年6月18日 申请日期:2012年12月13日 优先权日:2012年12月13日
【发明者】杨雪仁, 韵江, 周建华 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1