本发明专利技术公开了一种交换机缓存调度方法以及系统,其中方法包括:接收数据包并缓存,判断所述数据包的数据量是否达到缓存总量的预警值,当所述数据量达到所述预警值,统计交换机中每个端口的输入流量和输出流量,根据所述输入流量和输出流量计算每个端口延迟移相发送数据的延迟时间,根据所述延迟时间调节数据发送时间。通过对缓存容量的实时监测,判断数据的缓存量是否超过预警值,当超过预警值时,根据端口数据输入输出情况使部分端口的远端端口数据延迟移相发送,动态调整通讯端口的数据发送和接收来提高缓存的利用效率,在保障通讯效率的同时最大限度的提升缓存的使用效率来保障通讯数据的稳定。保障通讯数据的稳定。保障通讯数据的稳定。
【技术实现步骤摘要】
一种交换机缓存调度方法以及系统
[0001]本申请涉及一种交换机缓存调度方法,具体涉及一种延迟端口的数据发送时间的调度方法。
技术介绍
[0002]存储转发模式是交换机交换数据通常会采用的一种通用模式,工作原理是交换机的主控单元缓存输入端口接收的数据包,检查数据包并过滤掉冲突数据包,根据目的地址通过查找表查找目的地址的输出端口,发送数据包。缓存是交换机存储数据包的重要能力,交换机采用先进先出的模式利用缓存功能暂时存储数据包。
[0003]当输入端口的数据大于输出端口的数据时就会出现缓存存满导致数据包溢出产生数据包丢失的问题。因为交换机的缓存能力是由其主IC性能决定的,所以现有的方案中会采用更换缓存能力更大的IC来解决缓存空间不足的问题。
[0004]但是更换缓存能力更大的IC一方面会导致交换机产品成本增加,另一方面,更换IC不但会导致原有已经部署的设备需要被替换而产生的重大经济损失,而且也需要投入更多的研发力量去解决已部署设备的替换问题,导致更多的投入。
技术实现思路
[0005]为了解决交换机缓存容量不足的问题,本申请提供一种交换机缓存调度方法。
[0006]一种交换机缓存调度方法,包括以下步骤:
[0007]接收数据包并缓存,判断所述数据包的数据量是否达到缓存总量的预警值,当所述数据量达到所述预警值,统计交换机中每个端口的输入流量和输出流量,根据所述输入流量和输出流量计算每个端口延迟移相发送数据的延迟时间,根据所述延迟时间调节远端端口的数据发送时间。
[0008]进一步地,根据所述输入流量和输出流量计算每个端口延迟移相发送数据的延迟时间,包括:将每个端口根据所述输入流量从大到小进行排序,从输入流量第二大的端口开始计算所述延迟时间。
[0009]进一步地,根据所述输入流量和输出流量计算每个端口延迟移相发送数据的延迟时间,具体包括:根据每个端口的所述输入流量和输出流量计算需要控制的端口数量,根据每个端口的所述输出流量和输出流量以及需要控制的端口数量计算每个端口的延迟时间。
[0010]进一步地,根据每个端口的所述输入流量和输出流量计算需要控制的端口数量,通过以下公式实现:
[0011]其中,Q
in
表示输入流量,Q
out
表示输出流量,i表示第i个端口,P表示需要控制的端口数量,I表示交换机的端口总数。
[0012]进一步地,根据每个端口的所述输出流量和输出流量以及需要控制的端口数量计算每个端口的延迟时间,通过以下公式实现:
[0013]其中,j=1,2,3
……
P,V表示端口的传输速率。
[0014]进一步地,根据所述延迟时间调节远端端口的数据发送时间,具体包括:将所述延迟时间通过PAUSE帧发送至每个端口对应的远端端口,根据所述PAUSE帧调节所述远端端口的数据发送时间。
[0015]进一步地,所述预警值为缓存总量的70%至90%,并且,所述缓存总量减去预警值后剩余的数值为预留量,所述预留量大于等于最大数据单元的数据量。
[0016]进一步地,所述预警值的计算方法为:
[0017]其中,Up表示预警值,U表示缓存总量。
[0018]本专利技术还提供了一种交换机缓存调度系统,包括:
[0019]判断单元,用于接收数据包,判断所述数据包的数据量是否达到缓存总量的预警值;
[0020]计算单元,用于统计交换机中每个端口的输入流量和输出流量,根据所述输入流量和输出流量计算每个端口延迟移相发送数据的延迟时间;
[0021]调节单元,用于根据所述延迟时间调节数据发送时间。
[0022]进一步地,所述计算单元具体包括:
[0023]端口数量计算单元,用于计算需要控制的端口数量;
[0024]延迟时间计算单元,用于计算每个端口的延迟时间。
[0025]本专利技术的有益效果为:
[0026]在本专利技术中当有大量数据包同时输入交换机时,通过对缓存容量的实时监测,判断数据的缓存量是否超过预警值,当超过预警值时,根据端口数据输入输出情况使部分端口的远端端口数据延迟移相发送,动态调整通讯端口的数据发送接收来提高缓存的利用效率,在保障通讯效率的同时最大限度的提升缓存的使用效率来保障通讯数据的稳定。并且,本专利技术在不增加缓存总量的情况下提升了交换机的数据通讯能力,有效降低了交换机缓存的需求总量,降低了组网成本,减少了更换交换机提升网络通讯质量带来的重新研发的成本。
附图说明
[0027]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1是本方案的步骤流程图。
具体实施方式
[0029]为使得本申请的申请目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述
的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0030]下面结合附图和具体实施例,进一步阐明本专利技术。
[0031]实施例1
[0032]一种交换机缓存调度方法,如图1所示,包括以下步骤:
[0033]S1,接收数据包并缓存数据包。在此步骤中,有时还包括对数据包进行检验,过滤错误和重复的数据包,对数据包进行检验是现有技术,在此不再赘述。
[0034]S2,判断数据包的数据量是否达到缓存总量的预警值,当数据包的数据量达到预警值时,执行S3
‑
S5的步骤,如果没有则按照正常的数据传输流程进行传输。此处的“达到”预警值指数据包的数据量大于或等于预警值。
[0035]S3,统计交换机中每个端口的输入流量和输出流量。
[0036]S4,根据每个端口的输入流量和输出流量计算每个端口延迟移相发送数据的延迟时间。
[0037]S5,根据延迟时间调节数据发送时间并进行数据发送。
[0038]图中的虚线表示现有技术中的数据传输过程,接收数据包,缓存数据包,不经过本实施例的缓存调度方法就直接发送数据包了。而本方案的技术手段为实线箭头的流程。
[0039]在步骤S2中所述的预警值一般为缓存总量的70%至90%,并且,缓存总量减去预警值后剩余的数值为预留量,预留量大于等于最大数据单元的数据量。在本实施例中的预警值取缓存总量的80%,预留量必须大于等于1518字节,因为1518字节大小是TCP通讯方式中的最大数据单元。取80%的缓存总量一是可以尽早预警给后续步骤一个启动条件而不是得到缓存容量溢出才发现,二是预留一些流量进行后续的接收工作。
[本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种交换机缓存调度方法,其特征在于,包括以下步骤:接收数据包并缓存,判断所述数据包的数据量是否达到缓存总量的预警值,当所述数据量达到所述预警值,统计交换机中每个端口的输入流量和输出流量,根据所述输入流量和输出流量计算每个端口延迟移相发送数据的延迟时间,根据所述延迟时间调节远端端口的数据发送时间。2.根据权利要求1所述的交换机缓存调度方法,其特征在于,根据所述输入流量和输出流量计算每个端口延迟移相发送数据的延迟时间,包括:将每个端口根据所述输入流量从大到小进行排序,从输入流量第二大的端口开始计算所述延迟时间。3.根据权利要求1所述的交换机缓存调度方法,其特征在于,根据所述输入流量和输出流量计算每个端口延迟移相发送数据的延迟时间,具体包括:根据每个端口的所述输入流量和输出流量计算需要控制的端口数量,根据每个端口的所述输出流量和输出流量以及需要控制的端口数量计算每个端口的延迟时间。4.根据权利要求3所述的交换机缓存调度方法,其特征在于,根据每个端口的所述输入流量和输出流量计算需要控制的端口数量,通过以下公式实现:其中,Q
in
表示输入流量,Q
out
表示输出流量,i表示第i个端口,P表示需要控制的端口数量,I表示交换机的端口总数。5.根据权利要求4所述的交换机缓存调度方法,其特征在于,根据每个端口的所述输...
【专利技术属性】
技术研发人员:蒋明波,张胜,
申请(专利权)人:杭州奥博瑞光通信有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。