专利名称:一种流控信息处理方法和装置的制作方法
技术领域:
本发明涉及数据通信技术领域,尤指一种流控信息处理方法和装置。
技术背景流控信息对于数据传输是至关重要的,流控信息的处理方案直接影响数 据传输的速度和效率。在大多数情况下,网络设备中的物理层芯片自动完成流控信息的处理,不需要上层软件的干预,具体为物理层芯片实时监控数据流量,在数据流 量达到流控阈值时自动停止数据流,待过一段时间后再回复数据流的传送。然而有些芯片,在其硬件结构的限制下无法自动完成基于通道的流控信 息的处理,例如,基于SIP-3和SIP-4接口的ATM SAR芯片,当PCV通道 数(几K)多于接口可提供的实际物理通道数(256)时,就无法完成基于 PVC通道的流控信息的处理,此时需要上层软件的协助,具体为物理层芯 片实时监控各PVC通道数据流量,生成相应的流控信息上报给上层软件, 流控信息具体分为流控和解流控两种,上层软件根据芯片上报的流控信息来 停止或恢复相应PVC通道的数据流的发送;在这种情况下,多通道共享流 控信息接口 ,流控信息接口中的流控信息具体为消息队列或状态表等。目前,上述由软件处理流控信息的方案具体包括以下两种方案一、流控信息的更新由芯片通过外i殳组件互连标准(PCI, Peripheral Component Interconnection)总线上报中断来通知上层软件,即芯片每生成 一个流控信息就向上层软件上报一个PCI中断,上层软件收到PCI中断后读 取流控信息,并控制相应通道的数据发送。这种方案的优点在于流控信息的获取和处理及时,但是需要芯片提供PCI中断接口,且当流量大的时候芯片会上报大量的PCI中断,导致CPU的负担过重,占用过多的系统资源,使得其它任务得不到调度,整个系统的 处理能力下降。方案二、芯片生成流控信息后存放到共享流控信息接口,上层软件定时 地主动查询流控信息接口中的流控信息,譬如通过定时器任务实现。 这种方案相对于方案一的优点在于占用的系统资源较少,但是定时查询会导致流控信息的处理不及时,尤其是存在大量的其它任务和PCI中断的情况下,定时器任务和可能得不到调度,此时,如果流控信息接口中的流控信 息不能得到及时处理的话,很可能会被后续产生的流控信息所覆盖而丢失, 而如果丢失的流控信息是解流控的信息的话会导致相应通道上的流量无法 恢复。综上所述,现有的流控信息处理方法占用过多的系统资源或者对流控供 信息的处理不及时。发明内容本发明提供了 一种流控信息处理方法,该方法可以及时有效地处理流控 信息,且占用较少的系统资源。本发明还提供了一种流控信息处理装置,该装置可以及时有效地处理流 控信息,且占用较少的系统资源。为达到上述目的,本发明的技术方案具体是这样实现的本发明公开了 一种流控信息处理方法,两个以上的数据通道共享一个流 控信息接口,该方法包4舌对于所述两个以上数据通道中的每一个数据通道,在发送该数据通道的 数据之前或之后,从所述共享流控信息接口荻取指定数量的流控信息,根据 所述流控信息设置所述流控信息所对应的数据通道的流控状态。本发明还公开了一种流控信息处理装置,该装置包括共享流控信息接 口单元,流控信息处理单元,其中,所述共享流控信息接口单元,用于保存两个以上数据通道的流控信息; 所述流控信息处理单元,用于在发送所述两个以上数据通道中的每一个 数据通道的数据之前或之后,从所述共享流控信息接口单元获取指定数量的 流控信息,根据所述流控信息设置所述流控信息所对应的数据通道的流控状 态。由上述技术方案可见,本发明这种对于共享一个流控信息接口的两个以 上数据通道中的每一个数据通道,在发送该数据通道的数据之前或之后,从 所述共享流控信息接口获取指定数量的流控信息,根据所述流控信息设置所 述流控信息所对应的数据通道的流控状态的技术方案,可以及时有效地处理 流控信息,且占用较少的系统资源。
图1是本发明实施例一种流控信息处理方法的流程图; 图2是本发明实施例流控信息处理方法的图形示意图; 图3是对本发明的流控信息处理方法进行举例说明的一个具体实施例 的图形示意图;图4为图3所示实施例中的每一个数据通道的数据发送过程流程图; 图5是本发明实施例一种流控信息处理装置的组成结构框图。
具体实施方式
分析流控信息的本质,其数量自然与数据流量成正比的关系,即发送方 向数据流量越大,流控信息产生的机率越大;反之,发送方向数据流量越小, 流控信息的产生机率越小。因此在本发明实施例中,从发送数据的角度入手 考虑流量信息的处理,具体参见图l。图1是本发明实施例 一 种流控信息处理方法的流程图,该方法适用于两 个以上的数据通道共享 一个流控信息接口的情况,这里的两个以上的数据通 道包括两个数据通道,如图l所示,该方法包括步骤101,对于共享同一个流控信息接口的两个以上数据通道中的每一 个数据通道,在发送该数据通道的数据之前^人所述共享流控信息接口获取指 定数量的流控信息,根据所述流控信息设置所述流控信息所对应的数据通道 的流控^1犬态。步骤102,根据该数据通道当前的流控状态确定是否发送该数据通道的 数据。如图l所示的方案中,在每个通道发送数据之前,都主动去处理流控信 息,更新相应通道的流控状态,然后再根据本通道的流控状态来控制本通道 的数据发送。该方案中由于流量产生流控信息,又在流量中处理流控信息, 从而使得流控信息能及时地得到处理。这种处理流控信息的方案是一种负反 馈机制,流控信息的处理是迅速收敛的,而不是延时发散的,其原理还可以 进一步用图2解释。图2是本发明实施例流控信息处理方法的图形示意图。如图2所示,用实 线箭头表示数据流向,用虚线箭头表示流控信息的流向,数据从链路层到达 驱动层时根据物理层反馈的流控信息来判断是否进行数据的发送。在本发明的其它实施例中,对于共享同 一个流控信息接口的两个以上数 据通道中的每一个数据通道,也可以在发送该数据通道的数据之后,从所述 共享流控信息接口获取指定数量的流控信息,根据所述流控信息设置所述流 控信息所对应的数据通道的流控状态。即在本发明中,对于当前要发送数据 的数据通道,即可以先发送数据后处理流控信息,也可以先处理流控信息后 发送数据。为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 具体实施例,对本发明进一步详细说明。图3是对本发明的流控信息处理方法进行举例说明的一个具体实施例 的图形示意图。在本具体实施例中,设网络设备系统中有两个通道进行数据 发送,分别为通道1和通道2,且这两个通道的共享流控信息接口为流控消 息队列的形式,在某个通道的数据流量超过预设阈值时物理层芯片能及时生成流控信息写入流控消息队列。在某一时刻t之前,数据通道1和2都在进行数据的发送,且数据流量没有超过各自的预设阈值,也没有产生流控信息,则在t时刻之后有如下的步骤① 通道1有下行数据需要发送,在发送数据之前查询共享流控消息队列 发现没有流控信息需要处理,判断出通道1的流控状态标志位为"非流控", 将通道1的数据发送出去。所发送数据使得通道1的数据流量超过了预设闳 值。② 从物理层的芯片反馈回一个表示通道1进行流控的流控信息,该流控 信息由芯片写入流控消息队列里。③ 通道2有下行数据需要发送,在发送数据之前查询共享流控信息队列 并获取流控信息,发现该流控信息表示通道1进行流控,则将通道1的流控 状态才示志位更新为"流4空"。 根据通道2的流控状态标志位判断出通道2的当前状态为"非流控", 将通道2的数据进行正常发送。 通道1再次有下行数据需要发送,在发送数据之前查询共享流控消息 队列发现没有流控信息需要处理;根据通道1的流控状态标志位判断出通道 1的当前状态为"流控",则终止此次通道1的数据发送。⑥ 通道1停止发送数据,其流量下降且小于预设阈值,物理层芯片反馈 一个表示通道1解流控的流控信息,该流控信息由芯片写入流控消息队列。⑦ 通道2有下行数据需要发送,在发送数据之前查询共享流控信息队列 并获取流控信息,发现该流控信息表示通道1解流控,则将通道1的流控状 态标志位更新为"非流控"。⑧ 根据通道2的流控状态标志位判断出通道2的当前状态为"非流控", 将通道2的数据进行正常发送。⑨ 通道1再次有下行数据需要发送,在发送数据之前查询共享流控消息 队列发现没有流控信息需要处理;根据通道1的流控状态标志位判断出通道 l的当前状态为"非流控",则将通道1的数据进行正常发送。在图3所示的具体实施例中,数据通道的个数可以更多,如512个1024 个等,并且在每一数据通道发送数据之前所处理的流控信息的个数也可以不 止一个,如可以是两个流控信息或更多。根据上述流程可以总结出如图4所示的每一个数据通道的数据发送过程。图4为图3所示实施例中的每一个数据通道的数据发送过程流程图。如 图4所示,包括以下步骤步骤401,判断共享流控消息队列中是否有流控信息,是则执行步骤 402,否则执行步骤403。步骤402,从共享流控消息队列中获取指定数量的流控信息,根据所述 流控信息设置所述流控信息所对应的数据通道的流控状态。执行步骤403。步骤403,判断本数据通道是否处于"流控"状态,是则执行步骤404, 否则执行步骤405。步骤404,不发送本通道的数据。步骤405,发送本通道的数据。可以看出,通过上述实施例可以快速有效地处理流控信息,并且在每个 数据通道发送数据之前处理一定数量的流控信息,可以分担流控信息的处理 负荷,例如,当通过调度多线程来实现多通道的数据发送时,流控信息的处 理负荷可以有所述多线程来分担,且不会产生额外的负栽。基于上述实施例,接下来给出本发明一种流控信息处理装置的组成结构 框图。图5是本发明实施例一种流控信息处理装置的组成结构框图。如图5 所示,该装置主要包括共享流控信息接口单元501和流控信息处理单元 502,其中共享流控信息接口单元501,用于保存两个以上数据通道的流控信息。 流控信息处理单元502,用于在发送所述两个以上数据通道中的每一个 数据通道的数据之前或之后,从所述共享流控信息接口单元501获取指定数量的流控信息,根据所述流控信息设置所述流控信息所对应的数据通道的流 控状态。在图5中,流控信息处理单元502,用于在发送所述两个以上数据通道 中的每一个数据通道的数据时,根据该数据通道的当前流控状态确定是否发 送该数据通道的数据。在图5中,流控信息处理单元502,在发送该数据通道的数据之前,从 共享流控信息接口获取指定数量的流控信息时,如果所述共享流控信息接口 单元502中没有流控信息,则直接根据该数据通道的当前流控状态确定是否 发送该数据通道的数据。如图5所示的装置还可以包括流控信息生成单元503,在图5中用虛 线框表示,用于根据所述两个以上数据通道中的每一个数据通道的数据流量 生成对应于该数据通道的流控信息发送到共享流控信息接口单元501。在实 际当中,流行信息产生单元可以是上述过程中描述的产生流控信息的物理层芯片。在图5中,共享流控信息接口单元中501的流控信息可以以消息队列或 状态表的形式存在。图5所示的流控信息处理装置可以设置在路由器、交换机等需要处理流 控信息以达到控制流量目的任何网络设备中。综上所述本发明这种对于共享一个流控信息接口的两个以上数据通道 中的每一个数据通道,在发送该数据通道的数据之前或之后,从所述共享流 控信息接口获取指定数量的流控信息,根据所述流控信息设置所述流控信息 所对应的数据通道的流控状态的技术方案,可以及时有效地处理流控信息, 且占用较少的系统资源。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护 范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种流控信息处理方法,两个以上的数据通道共享一个流控信息接口,其特征在于,该方法包括对于所述两个以上数据通道中的每一个数据通道,在发送该数据通道的数据之前或之后,从所述共享流控信息接口获取指定数量的流控信息,根据所述流控信息设置所述流控信息所对应的数据通道的流控状态。
2、 如权利要求l所述的方法,其特征在于,所述发送该数据通道的数 据包括根据该数据通道的当前流控状态确定是否发送该数据通道的数据。
3、 如权利要求l所述的方法,其特征在于,当在发送该数据通道的数 据之前,从所述共享流控信息接口获取指定数量的流控信息时,如果所述共 享流控信息接口中没有流控信息,则直接根据该数据通道的当前流控状态确 定是否发送该数据通道的数据。
4、 如权利要求l所述的方法,其特征在于,该方法进一步包括根据 所述两个以上数据通道中的每一 个数据通道的数据流量生成对应于该数据 通道的流控信息发送到所述共享流控信息接口 。
5、 如权利要求1至4中任一项所述的方法,其特征在于,所述流控信 息接口中的流控信息以消息队列或状态表的形式存在。
6、 一种流控信息处理装置,其特征在于,该装置包括共享流控信息 接口单元,流控信息处理单元,其中,所述共享流控信息接口单元,用于保存两个以上数据通道的流控信息;所述流控信息处理单元,用于在发送所述两个以上数据通道中的每一个 数据通道的数据之前或之后,从所述共享流控信息接口单元获取指定数量的 流控信息,根据所述流控信息设置所述流控信息所对应的数据通道的流控状 态。
7、 如权利要求6所述的流控信息处理装置,其特征在于,所述流控信 息处理单元,用于在发送所述两个以上数据通道中的每一个数据通道的数据时,根据该数据通道的当前流控状态确定是否发送该数据通道的数据。
8、 如权利要求6所述的流控信息处理装置,其特征在于,所述流控信 息处理单元,在发送该数据通道的数据之前,从共享流控信息接口获取指定 数量的流控信息时,如果所述共享流控信息接口单元中没有流控信息,则直 接根据该数据通道的当前流控状态确定是否发送该数据通道的数据。
9、 如权利要求6所述的流控信息处理装置,其特征在于,该装置进一 步包括流控信息生成单元,用于根据所述两个以上数据通道中的每一个数 据通道的数据流量生成对应于该数据通道的流控信息发送到所述共享流控 信息4妻口单元。
10、 如权利要求6至9中任一项所述的流控信息处理装置,其特征在于, 所述共享流控信息接口单元中的流控信息以消息队列或状态表的形式存在。
全文摘要
本发明公开了一种流控信息处理方法,该方法包括两个以上的数据通道共享一个流控信息接口;对于所述两个以上数据通道中的每一个数据通道,在发送该数据通道的数据之前或之后,从所述共享流控信息接口获取指定数量的流控信息,根据所述流控信息设置所述流控信息所对应的数据通道的流控状态。本发明还公开了一种流控信息处理装置。本发明的技术方案可以及时有效地处理流控信息,且占用较少的系统资源。
文档编号H04L12/56GK101252545SQ20081010389
公开日2008年8月27日 申请日期2008年4月11日 优先权日2008年4月11日
发明者晖 刘, 涛 刘, 孔鹏亮, 娜 尹, 王厚雪, 涛 陶 申请人:杭州华三通信技术有限公司