CN103685061A - 缓存数据控制方法和装置 - Google Patents
缓存数据控制方法和装置 Download PDFInfo
- Publication number
- CN103685061A CN103685061A CN201310634241.7A CN201310634241A CN103685061A CN 103685061 A CN103685061 A CN 103685061A CN 201310634241 A CN201310634241 A CN 201310634241A CN 103685061 A CN103685061 A CN 103685061A
- Authority
- CN
- China
- Prior art keywords
- buffer memory
- data
- data retransmission
- store status
- transmission buffer
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种缓存数据控制方法和装置,一种缓存数据控制方法包括:根据接收缓存和发送缓存的存储状态确定数据转发速率,所述数据转发速率使所述接收缓存不拥塞;使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存。本发明实施例提供的缓存数据控制方法和装置,用于降低网络设备的成本。
Description
技术领域
本发明实施例涉及网络技术领域,尤其涉及一种缓存数据控制方法和装置。
背景技术
千兆无源光网络(Gigabit capability Passive Optical Network,GPON)系统一般由局端的光线路终端(Optical Line Termination,OLT)和用户端的光网络单元(Optical Network Unit,ONU)组成。局端的OLT和用户端ONU的数量比是1:N,二者通过分光器实现用户端ONU的汇聚。
在GPON系统中,各个ONU上行基于带宽授权往OLT发送数据包,即OLT会告诉ONU具体允许发送上行数据包的时间。如果ONU在OLT允许其发送上行数据包的时间段内不能把整个数据包发完,则它可以先将数据包中的部分数据报文发送到OLT进行缓存,到下次带宽授权的时候继续发送未发完的数据报文。因此OLT会收到很多数据报文的分片,这些数据报文的分片需要基于GEM端口标识(GEMPORT ID)进行重组,重组后完整的数据包才能够进行后续处理,由于OLT可能连接很多ONU,因此OLT重组需要的缓存很大。由于OLT发送数据也可能出现拥塞,因此OLT还需要另外一块缓存来存数据,这个缓存用于发送队列,要吸收发送端的拥塞。
为了应对OLT中接收端和发送端的数据拥塞,目前需要为发送端和接收端都分配较大的缓存,这样会导致OLT成本的增加。
发明内容
本发明实施例提供一种缓存数据控制方法和装置,用于降低网络设备的成本。
第一方面提供一种缓存数据控制方法,包括:
根据接收缓存和发送缓存的存储状态确定数据转发速率,所述数据转发速率使所述接收缓存不拥塞;
使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
在第一方面第一种可能的实现方式中,所述根据接收缓存和发送缓存的存储状态确定数据转发速率,包括:
若所述接收缓存的存储状态不大于第一阈值,则根据所述发送缓存的存储状态确定所述数据转发速率。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述若所述接收缓存的存储状态不大于第一阈值,则根据所述发送缓存的存储状态确定第一数据转发速率,包括:
若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态不大于第二阈值,则确定所述数据转发速率为第一数据转发速率;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存,包括:
使用所述第一数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
结合第一方面第一种可能的实现方式,在第三种可能的实现方式中,所述若所述接收缓存的存储状态不大于所述第一阈值,则根据所述发送缓存的存储状态确定第一数据转发速率,包括:
若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第二阈值而小于等于第三阈值,则确定所述数据转发速率为第二数据转发速率;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存,包括:
使用所述第二数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
结合第一方面第一种可能的实现方式,在第四种可能的实现方式中,所述若所述接收缓存的存储状态不大于所述第一阈值,则根据所述发送缓存的存储状态确定第一数据转发速率,包括:
若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第三阈值,则确定所述数据转发速率为第三数据转发速率;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存,包括:
使用所述第三数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
在第一方面第五种可能的实现方式中,所述根据接收缓存和发送缓存的存储状态确定数据转发速率,包括:
若所述接收缓存的存储状态大于第一阈值,则确定所述数据转发速率为第四数据转发速率,所述第四数据转发速率不小于所述接收缓存的数据接收速率;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存,包括:
使用所述第四数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
结合第一方面至第一方面第五种可能的实现方式中任一种可能的实现方式,在第六种可能的实现方式中,所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存之前,还包括:
确定从所述接收缓存发送至所述发送缓存的数据的优先级;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存之后,还包括:
若所述发送缓存拥塞,则根据优先级从低到高的顺序依次丢弃所述发送缓存中的数据,以使所述发送缓存不拥塞。
结合第一方面至第一方面第六种可能的实现方式中任一种可能的实现方式,在第七种可能的实现方式中,所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存之前,还包括:
将所述接收缓存接收到的数据分片重组为完整的数据。
第二方面提供一种缓存数据控制装置,包括:
确定模块,用于根据接收缓存和发送缓存的存储状态确定数据转发速率,所述数据转发速率使所述接收缓存不拥塞;
转发模块,用于使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
在第二方面第一种可能的实现方式中,所述确定模块,具体用于若所述接收缓存的存储状态不大于第一阈值,则根据所述发送缓存的存储状态确定所述数据转发速率。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述确定模块,具体用于若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态不大于第二阈值,则确定所述数据转发速率为第一数据转发速率;
所述转发模块,具体用于使用所述第一数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
结合第二方面第一种可能的实现方式,在第三种可能的实现方式中,所述确定模块,具体用于若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第二阈值而小于等于第三阈值,则确定所述数据转发速率为第二数据转发速率;
所述转发模块,具体用于使用所述第二数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
结合第二方面第一种可能的实现方式,在第四种可能的实现方式中,所述确定模块,具体用于若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第三阈值,则确定所述数据转发速率为第三数据转发速率;
所述转发模块,具体用于使用所述第三数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
在第二方面第五种可能的实现方式中,所述确定模块,具体用于若所述接收缓存的存储状态大于第一阈值,则确定所述数据转发速率为第四数据转发速率,所述第四数据转发速率不小于所述接收缓存的数据接收速率;
所述转发模块,具体用于使用所述第四数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
结合第二方面至第二方面第五种可能的实现方式中任一种可能的实现方式,在第六种可能的实现方式中,还包括:
优先级模块,用于确定从所述接收缓存发送至所述发送缓存的数据的优先级;
丢弃模块,用于若所述发送缓存拥塞,则根据优先级从低到高的顺序依次丢弃所述发送缓存中的数据,以使所述发送缓存不拥塞。
结合第二方面至第二方面第六种可能的实现方式中任一种可能的实现方式,在第七种可能的实现方式中,还包括:
重组模块,用于将所述接收缓存接收到的数据分片重组为完整的数据。
本发明实施例提供的缓存数据控制方法和装置,通过对接收缓存和发送缓存的存储状态进行判断,确定从接收缓存向发送缓存转发数据的数据转发速率,并且该数据转发速率使接收缓存不拥塞,使网络设备无需同时配置较大的接收缓存和发送缓存,而是可以使用较小的发送缓存,即可实现网络设备的正常数据收发,从而节约了网络设备的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图;
图1为本发明实施例提供的缓存数据控制方法实施例一的流程图;
图2为本发明实施例提供的缓存数据控制方法实施例二的流程图;
图3为本发明实施例提供的缓存数据控制装置实施例一的结构示意图;
图4为本发明实施例提供的缓存数据控制装置实施例二的结构示意图;
图5为本发明实施例提供的缓存数据控制装置实施例三的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在网络系统中,网络设备都需要进行接收数据和发送数据的操作,而由于接收端所接收数据的速率与发送端发送数据的速率可能不同,为了保证接收到的数据不会由于无法及时发出而丢失,需要在通信设备中设置缓存。
对于GPON、非对称数字用户环路(Asymmetric Digital Subscriber Line,ADSL)ADSL、甚高速数字用户环路(Very-high-bit-rate Digital Subscriber loop,VDSL)等网络而言,设置在局端的网络设备会接收到多个用户端的网络设备发送的数据,而每个用户端的网络设备在为其分配的一次数据发送时间内可能无法发送完一个完整的数据包,而是发送一个非完整的数据包分片,这些非完整的数据包分片需要缓存在局端的网络设备中,等局端接收到一个完整的数据包的所有分片后,将其重组为完整的数据包才能将其发送出去。
网络设备在接收到数据后,可能还需要对其进行一定的处理再将其发送出去,因此一般需要在网络设备的接收端和发送端分别设置一个缓存,其中接收端的缓存用于存储网络设备接收到的数据,而发送端的缓存用于存储网络设备的数据发送队列。
由于局端的网络设备接收到的数据可能包括完整的数据和不完整的数据分片,因此无法通过对接收端缓存中的数据进行分析得到数据的优先级信息,而发送端缓存中的数据是经过重组后的完整的数据包,并且其可以通过网络设备中的相应分析得到数据的优先级,因此在网络设备的接收端缓存中丢失数据的代价超过在网络设备的发送端缓存中丢失数据。而对于上述需要进行数据重组的网络设备,其接收端需要存储大量的数据分片,因此必须为其配置较大容量的缓存,但对于发送端的缓存而言,丢弃部分优先级较低的数据不会对用户使用造成过大影响。因此本发明实施例提供的缓存数据控制方法通过对接收端缓存和发送端缓存的存储状态进行判断,控制接收端缓存向发送端缓存发送数据的速率,可以在保证接收端缓存不丢失数据的情况下,在发送端仅配置容量较小的缓存,从而降低网络设备的成本。
本实施例提供的缓存数据控制方法适用于各种网络系统中的网络设备,只要其同时具备接收数据和发送数据的能力。
图1为本发明实施例提供的缓存数据控制方法实施例一的流程图,如图1所示,本实施例的方法包括:
步骤S101,根据接收缓存和发送缓存的存储状态确定数据转发速率,该数据转发速率使接收缓存不拥塞。
具体地,本实施例的缓存数据控制方法基于任一网络中的网络设备,该网络设备需要同时具有数据收发能力,并且分别为接收端配置接收缓存、为发送端配置发送缓存。为接收端和发送端分别配置的接收缓存和发送缓存可以是物理上相互隔离的两个缓存,或者是由一个物理缓存进行逻辑分割出的两个缓存。接收端接收到的数据存储至接收缓存,发送端将发送缓存中的数据依次发出。本实施例首先判断发送缓存和接收缓存的存储状态,从而确定接收缓存和发送缓存的拥塞程度。接收缓存和发送缓存的存储状态可以为表征接收缓存和发送缓存当前拥塞程度的参数,例如为已存储数据占总存储空间的比例等。其次,根据接收缓存和发送缓存当前存储状态的情况,确定从接收缓存向发送缓存转发数据的数据转发速率,该数据转发速率需要保证接收缓存不拥塞。保证接收缓存不拥塞即保证接收缓存中存储的数据不超过接收缓存总的存储空间的容量。由于接收缓存可能一直在接收数据,若接收缓存发生拥塞,则接收缓存将无法存储新接收的数据,会导致数据丢失,因此本实施例中,根据接收缓存和发送缓存的存储状态确定的数据转发速率是一个动态变化的参数,只要该数据转发速率保证接收缓存不拥塞,即接收缓存中的数据不丢失即可。
步骤S102,使用该数据转发速率将接收缓存中的数据发送至发送缓存。
具体地,网络设备接收到数据后,需要对其进行相应的处理,并将处理完的数据发送出去,但由于网络设备向外发送数据存在一定的带宽限制,因此在网络设备的发送端需要配置发送缓存,发送缓存中用于存储网络设备需要向外发送的数据。在步骤S101中根据接收缓存和发送缓存的存储状态确定数据转发速率之后,使用该数据转发速率将接收缓存中的数据发送至发送缓存。由于将数据从接收缓存转发至发送缓存之前,网络设备可以对数据进行分析和处理操作,因此发送到发送缓存中的数据是经过识别后并可以对其进行优先级分级的数据,即使使用确定的数据转发速率向发送缓存中发送数据导致发送缓存拥塞,也可以根据通过分析获取的数据优先级,将优先级低的数据从发送缓存中丢弃。网络设备进行的业务很多,例如语音业务、上网业务、下载业务等,某些业务对实时性和误码率要求不高,可以允许数据丢失,例如下载业务、上网业务等;而某些业务对数据实时性和误码率要求较高,丢失数据会导致业务中断,例如语音业务。因此可以根据业务特点,在将数据从接收缓存转发至发送缓存之前,对不同业务的数据进行分析并标注优先级,为不能容忍数据丢失的业务数据配置高优先级,为能够容忍数据丢失的业务数据配置低优先级。这样在发送缓存产生拥塞时,可以将低优先级的数据丢弃,而不会对业务产生影响。这样无需在网络设备中配置较大的发送缓存,同样可以实现网络设备的正常数据收发。
本实施例,通过对接收缓存和发送缓存的存储状态进行判断,确定从接收缓存向发送缓存转发数据的数据转发速率,并且该数据转发速率使接收缓存不拥塞,使网络设备无需同时配置较大的接收缓存和发送缓存,而是可以使用较小的发送缓存,即可实现网络设备的正常数据收发,从而节约了网络设备的成本。
图2为本发明实施例提供的缓存数据控制方法实施例二的流程图,如图2所示,本实施例的方法包括:
步骤S201,判断接收缓存的存储状态是否大于第一阈值。
具体地,本实施例根据接收缓存的和发送缓存的具体状态对本发明实施例提供的缓存数据控制方法进行详细说明。首先,为了保证接收缓存不拥塞,需要先确定接收缓存的存储状态,接收缓存的存储状态可以分为拥塞和不拥塞两种,本实施例中对接收缓存的存储状态设置第一阈值,若接收缓存的存储状态大于第一阈值,则认为接收缓存即将拥塞,需要使用一个能够保证接收缓存不拥塞的转发速率将接收缓存中的数据转发至发送缓存。若接收缓存的存储状态不大于第一阈值,则认为接收缓存处于不拥塞状态,可以使用任何数据转发速率向发送缓存中转发数据,该数据转发速率可以根据发送缓存的存储状态确定。接收缓存的第一阈值例如可以是接收缓存中已存储的数据超过90%等,若判断接收缓存的存储状态不大于第一阈值,则执行步骤S202,若判断接收缓存的存储状态大于第一阈值,则执行步骤S209。
步骤S202,若接收缓存的存储状态不大于第一阈值,则判断发送缓存的存储状态。
具体地,若接收缓存的存储状态不大于第一阈值,则从接收缓存向发送缓存转发数据的速率可以根据发送缓存的存储状态确定。本实施例虽然只需保证接收缓存中的数据不丢失,即可使网络设备正常运行,但若能够同时保证发送缓存中的数据也不丢失,则网络设备的性能更优,因此,在确定了接收缓存的存储状态后,还需要对发送缓存的存储状态进行判断。本实施例中,将发送缓存的存储状态分为三种情况,分别是不大于第二阈值、大于第二阈值小于等于第三阈值、大于第三阈值,相应地,可以对应发送缓存的存储状态为不拥塞、轻微拥塞和拥塞。但本发明提供的缓存数据控制方法不以此为限,还可以将发送缓存的存储状态分为三种以上,但其方法和本实施例类似。若判断发送缓存的存储状态不大于第二阈值则执行步骤S203,若判断发送缓存的存储状态大于第二阈值小于等于第三阈值则执行步骤S205,若判断发送缓存的存储状态大于第三阈值则执行步骤S207。
步骤S203,若接收缓存的存储状态不大于第一阈值,且发送缓存的存储状态不大于第二阈值,则确定数据转发速率为第一数据转发速率。
具体地,发送缓存的存储状态不大于第二阈值是发送缓存不拥塞的状态,例如发送缓存中已存储的数据不大于总存储空间的50%。若接收缓存的存储状态不大于第一阈值,即接收缓存不拥塞,且发送缓存的存储状态不大于第二阈值,即发送缓存也不拥塞,则可以使用较高的数据转发速率将数据从接收缓存中转发至发送缓存,设该速度为第一数据转发速率。然后执行步骤S204。
步骤S204,使用第一数据转发速率将接收缓存中的数据发送至发送缓存。
具体地,由于接收缓存和发送缓存都不拥塞,因此使用速率较高的第一数据转发速率将接收缓存中的数据发送至发送缓存不会对接收缓存和发送缓存造成影响。
步骤S205,若接收缓存的存储状态不大于第一阈值,且发送缓存的存储状态大于第二阈值而小于等于第三阈值,则确定数据转发速率为第二数据转发速率。
具体地,发送缓存的存储状态大于第二阈值而小于等于第三阈值是发送缓存轻微拥塞的状态,例如发送缓存中已存储的数据大于总存储空间的50%而小于75%。若接收缓存的存储状态不大于第一阈值,即接收缓存不拥塞,且发送缓存的存储状态大于第二阈值而小于等于第三阈值,即发送缓存轻微拥塞,则可以使用正常的数据转发速率将数据从接收缓存中转发至发送缓存,设该速度为第二数据转发速率。然后执行步骤S206。
步骤S206,使用第二数据转发速率将接收缓存中的数据发送至发送缓存。
具体地,由于接收缓存不拥塞而发送缓存轻微拥塞,因此使用正常速率的第二数据转发速率将接收缓存中的数据发送至发送缓存不会对接收缓存和发送缓存造成影响。
步骤S207,若接收缓存的存储状态不大于第一阈值,且发送缓存的存储状态大于第三阈值,则确定数据转发速率为第三数据转发速率。
具体地,发送缓存的存储状态大于第三阈值是发送缓存拥塞的状态,例如发送缓存中已存储的数据大于总存储空间的90%。若接收缓存的存储状态不大于第一阈值,即接收缓存不拥塞,且发送缓存的存储状态大于第三阈值,即发送缓存拥塞,则可以使用较小的数据转发速率将数据从接收缓存中转发至发送缓存,设该速度为第三数据转发速率。然后执行步骤S208。
需要说明的是,若发送缓存中所存储的数据已占到其总存储空间的100%,即发送缓存完全拥塞,且此时接收缓存的存储状态仍不大于第一阈值,则此时可以使第三数据转发速率为零,即不向发送缓存中发送数据。
步骤S208,使用第三数据转发速率将接收缓存中的数据发送至发送缓存。
具体地,由于接收缓存不拥塞而发送缓存拥塞,因此使用速率较小的第三数据转发速率将接收缓存中的数据发送至发送缓存不会对接收缓存和发送缓存造成影响。
步骤S209,若接收缓存的存储状态大于第一阈值,则确定数据转发速率为第四数据转发速率,该第四数据转发速率不小于接收缓存的数据接收速率。
具体地,若接收缓存的存储状态大于第一阈值,则为了保证接收缓存不拥塞,则不需要考虑发送缓存的存储状态,而是根据接收缓存的存储状态和接收缓存的数据接收速率确定从接收缓存向发送缓存发送数据的数据转发速率。因此,若接收缓存的存储状态大于第一阈值,为了保证接收缓存中的数据不丢失,需要使接收缓存发出数据的速率大于等于接收缓存接收数据的速率,设此时接收缓存向发送缓存发送数据的速率为第四数据转发速率。然后执行步骤S210。
步骤S210,确定从接收缓存发送至发送缓存的数据的优先级。
具体地,由于接收缓存的存储状态大于第一阈值时,确定的第四数据转发速率没有考虑发送缓存的存储状态,而此时发送缓存的存储状态可能为拥塞或者不拥塞的状态。若发送缓存的存储状态为拥塞,则可能需要从发送缓存中丢弃数据,但为了保证网络设备的正常运行,某些数据是不能被丢失的,因此,需要确定网络设备需要丢弃的数据。网络设备中需要发送的数据可以根据数据业务的类型进行区分,为不同业务的数据分配不同的优先级。在将接收缓存中的数据转发至发送缓存之前,就可以对其进行业务的识别并为每个数据分配优先级信息。网络设备进行的业务很多,例如语音业务、上网业务、下载业务等,某些业务对实时性和误码率要求不高,可以允许数据丢失,例如下载业务、上网业务等;而某些业务对数据实时性和误码率要求较高,丢失数据会导致业务中断,例如语音业务。因此可以根据业务特点,在将数据从接收缓存转发至发送缓存之前,对不同业务的数据进行分析并标注优先级,为不能容忍数据丢失的业务数据配置高优先级,为能够容忍数据丢失的业务数据配置低优先级。
另外,虽然本步骤仅在判断接收缓存的存储状态大于第一阈值,即接收缓存即将拥塞的情况下才对数据的优先级进行判断,但本发明不限于此。例如还可以在步骤S204、步骤S206和步骤S208之前均对接收缓存转发至发送缓存的数据优先级进行判断。确定数据的优先级后,在发送端可以根据数据的优先级,优先发送优先级高的数据,以保证网络设备业务的正常运行。
步骤S211,使用第四数据转发速率将接收缓存中的数据发送至发送缓存。
具体地,由于接收缓存拥塞,因此使用第四数据转发速率将接收缓存中的数据发送至发送缓存,该第四数据转发速率大于等于接收缓存接收数据的速率,能够保证接收缓存不拥塞,此时由于发送缓存可能处于拥塞状态或不拥塞状态,因此发送缓存中的数据可能需要被丢弃,才能继续接收从接收缓存中发送的数据。当发送缓存处于拥塞状态时,需要丢弃数据,此时执行步骤S212,当发送缓存不拥塞时,则无需从发送缓存中丢弃数据,整个缓存数据控制流程结束。
步骤S212,若发送缓存拥塞,则根据优先级从低到高的顺序依次丢弃发送缓存中的数据,以使发送缓存不拥塞。
具体地,若从接收缓存向发送缓存发送数据后,发送缓存处于拥塞状态,则根据数据的优先级信息,按照从低到高的顺序依次丢弃发送缓存中已存储的数据,直至发送缓存不拥塞为止。网络设备中优先级低的数据为一些对实时性和误码率要求较低的业务数据,因此将优先级等级低的部分数据丢弃不会对网络设备的运行造成影响,也不会对用户使用造成影响。但这样就无需为发送缓存配置较大容量的存储空间,从而降低了网络设备的成本。
本实施例,通过对接收缓存和发送缓存的存储状态进行判断,确定从接收缓存向发送缓存转发数据的数据转发速率,并且该数据转发速率使接收缓存不拥塞,使网络设备无需同时配置较大的接收缓存和发送缓存,而是可以使用较小的发送缓存,即可实现网络设备的正常数据收发,从而节约了网络设备的成本。
进一步地,在图1和图2所示实施例中,使用任一数据转发速率将接收缓存中的数据发送至发送缓存之前,还可以包括:将接收缓存接收到的数据分片重组为完整的数据。
具体地,对于GPON、ADSL、VDSL等网络而言,处于局端的网络设备在同一时间可能只能接收到一系列的数据分片,这些数据分片无法直接进行发送,网络设备也无法识别数据分片是哪种业务的数据。因此在接收缓存向发送缓存发送数据之前,接收缓存需要将属于一个数据包的数据分片重组为完整的数据包,才能够将其发送至发送缓存。例如对于GPON网络,属于一个数据包的数据分片携带的GEM端口标识(GEMPORT ID)是相同的,网络设备可以根据GEMPORT ID将数据分片进行重组。
而正是由于一些网络设备接收到的数据可能为数据分片,在将数据分片重组之前无法对其优先级进行确定,因此必需为接收缓存配置较大容量的存储空间,因此使用本发明实施例提供的缓存数据控制方法,可以将网络设备的发送缓存容量降低,从而节约成本。
图3为本发明实施例提供的缓存数据控制装置实施例一的结构示意图,如图3所示,本实施例的缓存数据控制装置包括:
确定模块31,用于根据接收缓存和发送缓存的存储状态确定数据转发速率,所述数据转发速率使所述接收缓存不拥塞。
转发模块32,用于使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
本实施例的缓存数据控制装置用于实现图1所示方法实施例的技术方法,其实现原理和技术效果类似,此处不再赘述。
进一步地,图3所示实施例中,确定模块31,具体用于若所述接收缓存的存储状态不大于第一阈值,则根据所述发送缓存的存储状态确定所述数据转发速率。
进一步地,图3所示实施例中,确定模块31,具体用于若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态不大于第二阈值,则确定所述数据转发速率为第一数据转发速率;转发模块32,具体用于使用所述第一数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
进一步地,图3所示实施例中,确定模块31,具体用于若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第二阈值而小于等于第三阈值,则确定所述数据转发速率为第二数据转发速率;转发模块32,具体用于使用所述第二数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
进一步地,图3所示实施例中,确定模块31,具体用于若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第三阈值,则确定所述数据转发速率为第三数据转发速率;转发模块32,具体用于使用所述第三数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
进一步地,图3所示实施例中,确定模块31,具体用于若所述接收缓存的存储状态大于第一阈值,则确定所述数据转发速率为第四数据转发速率,所述第四数据转发速率不小于所述接收缓存的数据接收速率;转发模块32,具体用于使用所述第四数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
图4为本发明实施例提供的缓存数据控制装置实施例二的结构示意图,如图4所示,本实施例的缓存数据控制装置在图3的基础上,还包括:
优先级模块41,用于确定从所述接收缓存发送至所述发送缓存的数据的优先级。
丢弃模块42,用于若所述发送缓存拥塞,则根据优先级从低到高的顺序依次丢弃所述发送缓存中的数据,以使所述发送缓存不拥塞。
图5为本发明实施例提供的缓存数据控制装置实施例三的结构示意图,如图5所示,本实施例的缓存数据控制装置在图4的基础上,还包括:
重组模块51,用于将所述接收缓存接收到的数据分片重组为完整的数据。
图3至图5所示实施例提供的缓存数据控制装置可以配置于任一网络设备中,并且该网络设备分别提供物理上或逻辑上的接收缓存和发送缓存。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种缓存数据控制方法,其特征在于,包括:
根据接收缓存和发送缓存的存储状态确定数据转发速率,所述数据转发速率使所述接收缓存不拥塞;
使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
2.根据权利要求1所述的方法,其特征在于,所述根据接收缓存和发送缓存的存储状态确定数据转发速率,包括:
若所述接收缓存的存储状态不大于第一阈值,则根据所述发送缓存的存储状态确定所述数据转发速率。
3.根据权利要求2所述的方法,其特征在于,所述若所述接收缓存的存储状态不大于第一阈值,则根据所述发送缓存的存储状态确定第一数据转发速率,包括:
若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态不大于第二阈值,则确定所述数据转发速率为第一数据转发速率;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存,包括:
使用所述第一数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
4.根据权利要求2所述的方法,其特征在于,所述若所述接收缓存的存储状态不大于所述第一阈值,则根据所述发送缓存的存储状态确定第一数据转发速率,包括:
若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第二阈值而小于等于第三阈值,则确定所述数据转发速率为第二数据转发速率;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存,包括:
使用所述第二数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
5.根据权利要求2所述的方法,其特征在于,所述若所述接收缓存的存储状态不大于所述第一阈值,则根据所述发送缓存的存储状态确定第一数据转发速率,包括:
若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第三阈值,则确定所述数据转发速率为第三数据转发速率;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存,包括:
使用所述第三数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
6.根据权利要求1所述的方法,其特征在于,所述根据接收缓存和发送缓存的存储状态确定数据转发速率,包括:
若所述接收缓存的存储状态大于第一阈值,则确定所述数据转发速率为第四数据转发速率,所述第四数据转发速率不小于所述接收缓存的数据接收速率;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存,包括:
使用所述第四数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存之前,还包括:
确定从所述接收缓存发送至所述发送缓存的数据的优先级;
所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存之后,还包括:
若所述发送缓存拥塞,则根据优先级从低到高的顺序依次丢弃所述发送缓存中的数据,以使所述发送缓存不拥塞。
8.根据权利要求1~7任一项所述的方法,其特征在于,所述使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存之前,还包括:
将所述接收缓存接收到的数据分片重组为完整的数据。
9.一种缓存数据控制装置,其特征在于,包括:
确定模块,用于根据接收缓存和发送缓存的存储状态确定数据转发速率,所述数据转发速率使所述接收缓存不拥塞;
转发模块,用于使用所述数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
10.根据权利要求9所述的装置,其特征在于,所述确定模块,具体用于若所述接收缓存的存储状态不大于第一阈值,则根据所述发送缓存的存储状态确定所述数据转发速率。
11.根据权利要求10所述的装置,其特征在于,所述确定模块,具体用于若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态不大于第二阈值,则确定所述数据转发速率为第一数据转发速率;
所述转发模块,具体用于使用所述第一数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
12.根据权利要求10所述的装置,其特征在于,所述确定模块,具体用于若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第二阈值而小于等于第三阈值,则确定所述数据转发速率为第二数据转发速率;
所述转发模块,具体用于使用所述第二数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
13.根据权利要求10所述的装置,所述确定模块,具体用于若所述接收缓存的存储状态不大于所述第一阈值,且所述发送缓存的存储状态大于第三阈值,则确定所述数据转发速率为第三数据转发速率;
所述转发模块,具体用于使用所述第三数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
14.根据权利要求9所述的装置,其特征在于,所述确定模块,具体用于若所述接收缓存的存储状态大于第一阈值,则确定所述数据转发速率为第四数据转发速率,所述第四数据转发速率不小于所述接收缓存的数据接收速率;
所述转发模块,具体用于使用所述第四数据转发速率将所述接收缓存中的数据发送至所述发送缓存。
15.根据权利要求9~14任一项所述的装置,其特征在于,还包括:
优先级模块,用于确定从所述接收缓存发送至所述发送缓存的数据的优先级;
丢弃模块,用于若所述发送缓存拥塞,则根据优先级从低到高的顺序依次丢弃所述发送缓存中的数据,以使所述发送缓存不拥塞。
16.根据权利要求9~15任一项所述的装置,其特征在于,还包括:
重组模块,用于将所述接收缓存接收到的数据分片重组为完整的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310634241.7A CN103685061B (zh) | 2013-11-29 | 2013-11-29 | 缓存数据控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310634241.7A CN103685061B (zh) | 2013-11-29 | 2013-11-29 | 缓存数据控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685061A true CN103685061A (zh) | 2014-03-26 |
CN103685061B CN103685061B (zh) | 2017-06-06 |
Family
ID=50321415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310634241.7A Expired - Fee Related CN103685061B (zh) | 2013-11-29 | 2013-11-29 | 缓存数据控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685061B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027411A (zh) * | 2016-06-30 | 2016-10-12 | 广东睿江云计算股份有限公司 | 基于qos的云主机系统的数据处理方法及装置 |
CN106101014A (zh) * | 2016-06-03 | 2016-11-09 | 广东睿江云计算股份有限公司 | 一种基于QoS的云主机通信队列保障方法及系统 |
CN107484204A (zh) * | 2017-07-21 | 2017-12-15 | 京信通信系统(中国)有限公司 | 基站上行突发缓解方法及装置 |
CN109413166A (zh) * | 2018-10-09 | 2019-03-01 | 浙江明度智控科技有限公司 | 一种工业网关及其数据管理方法 |
CN112073331A (zh) * | 2017-05-31 | 2020-12-11 | 华为技术有限公司 | 一种流量控制方法、设备及系统 |
CN113259247A (zh) * | 2020-02-11 | 2021-08-13 | 华为技术有限公司 | 网络设备中的缓存装置和和缓存装置中的数据管理方法 |
CN113840272A (zh) * | 2021-10-12 | 2021-12-24 | 北京奕斯伟计算技术有限公司 | 数据传输方法、数据传输装置以及电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050013245A1 (en) * | 2003-07-15 | 2005-01-20 | Srinivas Sreemanthula | Method and apparatus for accelerating throughput in a wireless or other telecommunication system |
CN1588909A (zh) * | 2004-07-15 | 2005-03-02 | 复旦大学 | 一种控制网络数字电视节目组播发送速率的方法 |
CN101114999A (zh) * | 2007-08-26 | 2008-01-30 | 上海华为技术有限公司 | 数据发送控制方法及数据传输设备 |
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
CN101902776A (zh) * | 2010-07-08 | 2010-12-01 | 华南理工大学 | 一种改进的基于rts/cts的多跳无线网络拥塞控制方法 |
-
2013
- 2013-11-29 CN CN201310634241.7A patent/CN103685061B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050013245A1 (en) * | 2003-07-15 | 2005-01-20 | Srinivas Sreemanthula | Method and apparatus for accelerating throughput in a wireless or other telecommunication system |
CN1588909A (zh) * | 2004-07-15 | 2005-03-02 | 复旦大学 | 一种控制网络数字电视节目组播发送速率的方法 |
CN101114999A (zh) * | 2007-08-26 | 2008-01-30 | 上海华为技术有限公司 | 数据发送控制方法及数据传输设备 |
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
CN101902776A (zh) * | 2010-07-08 | 2010-12-01 | 华南理工大学 | 一种改进的基于rts/cts的多跳无线网络拥塞控制方法 |
Non-Patent Citations (1)
Title |
---|
朱华伟: "10GEPON系统ONU交换模块设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101014A (zh) * | 2016-06-03 | 2016-11-09 | 广东睿江云计算股份有限公司 | 一种基于QoS的云主机通信队列保障方法及系统 |
CN106027411A (zh) * | 2016-06-30 | 2016-10-12 | 广东睿江云计算股份有限公司 | 基于qos的云主机系统的数据处理方法及装置 |
CN112073331A (zh) * | 2017-05-31 | 2020-12-11 | 华为技术有限公司 | 一种流量控制方法、设备及系统 |
CN107484204A (zh) * | 2017-07-21 | 2017-12-15 | 京信通信系统(中国)有限公司 | 基站上行突发缓解方法及装置 |
CN109413166A (zh) * | 2018-10-09 | 2019-03-01 | 浙江明度智控科技有限公司 | 一种工业网关及其数据管理方法 |
CN109413166B (zh) * | 2018-10-09 | 2021-07-27 | 浙江明度智控科技有限公司 | 一种工业网关及其数据管理方法 |
CN113259247A (zh) * | 2020-02-11 | 2021-08-13 | 华为技术有限公司 | 网络设备中的缓存装置和和缓存装置中的数据管理方法 |
CN113840272A (zh) * | 2021-10-12 | 2021-12-24 | 北京奕斯伟计算技术有限公司 | 数据传输方法、数据传输装置以及电子装置 |
CN113840272B (zh) * | 2021-10-12 | 2024-05-14 | 北京奕斯伟计算技术股份有限公司 | 数据传输方法、数据传输装置以及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103685061B (zh) | 2017-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685061A (zh) | 缓存数据控制方法和装置 | |
US9185047B2 (en) | Hierarchical profiled scheduling and shaping | |
CN110061929B (zh) | 针对非对称网络的数据中心负载均衡方法 | |
CN103476062A (zh) | 一种数据流调度的方法、设备和系统 | |
CN102075437A (zh) | 一种通信方法、网关及网络 | |
CN115174490B (zh) | 一种数据传输方法及网络应用终端 | |
CN104836681A (zh) | 一种多链路绑定的数据分发方法及装置 | |
US8149719B2 (en) | System and method for marking live test packets | |
CN111181873A (zh) | 数据发送方法、装置、存储介质和电子设备 | |
CN101562500B (zh) | 数据传输请求、发送方法及数据传输装置 | |
CN102754390A (zh) | 以太网环保护倒换方法、网络设备及系统 | |
CN116132852A (zh) | 全光网络带宽分配方法、光网关和计算机可读存储介质 | |
CN102957626A (zh) | 一种报文转发方法和装置 | |
CN101207570A (zh) | 数据传输方法、数据发送速率控制方法及基站 | |
CN102223311A (zh) | 一种队列调度方法及装置 | |
CN101459615A (zh) | 一种传输报文的方法、端口和系统 | |
CN104092632A (zh) | 一种网络设备 | |
CN102217257B (zh) | 丢包处理方法、目的网络节点设备及移动传输网络系统 | |
CN104104601A (zh) | 数据传输方法、设备及系统 | |
CN103516619A (zh) | 一种网络虚拟化系统中带宽调整的方法及装置 | |
CN113542144A (zh) | 一种网络设备资源处理方法及装置 | |
JPH10242981A (ja) | ダイナミックタイムスロット割り当てシステム | |
CN113206794B (zh) | 一种转发限速方法及装置 | |
CN116418745A (zh) | 一种数据交换方法及装置 | |
CN103067280A (zh) | 报文处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170606 Termination date: 20181129 |