CN103401793B - 一种调节设备带宽的方法、装置 - Google Patents

一种调节设备带宽的方法、装置 Download PDF

Info

Publication number
CN103401793B
CN103401793B CN201310293556.XA CN201310293556A CN103401793B CN 103401793 B CN103401793 B CN 103401793B CN 201310293556 A CN201310293556 A CN 201310293556A CN 103401793 B CN103401793 B CN 103401793B
Authority
CN
China
Prior art keywords
equipment
link
information
receives
state
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.)
Active
Application number
CN201310293556.XA
Other languages
English (en)
Other versions
CN103401793A (zh
Inventor
郭朋波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310293556.XA priority Critical patent/CN103401793B/zh
Publication of CN103401793A publication Critical patent/CN103401793A/zh
Application granted granted Critical
Publication of CN103401793B publication Critical patent/CN103401793B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种调节设备带宽的方法、装置,涉及通讯领域,解决了如何对网络流量的变化进行实时响应的问题。所述方法包括:测量第一设备的发送流量速度S1和接收流量速度S2;根据所述S1获得发送流量状态信息TxTsi,以及根据所述S2获得接收流量状态信息RxTsi;其中,所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第一设备的接收链路中需进入工作状态或休眠状态的个数;根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态,并将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备。

Description

一种调节设备带宽的方法、装置
技术领域
本发明涉及通讯领域,尤其涉及一种调节设备带宽的方法和装置。
背景技术
根据现网统计,网络的流量是呈现周期性变化的,根据网络流量的周期性变化趋势,通过监测网络设备上的流量,在网络流量降低或升高时降低或提高设备性能,可以使网络设备按照需要的性能运行,避免网络设备一直处于全速运行状态,可以在对用户业务不产生影响的情况下,节省能耗,降低网络设备运维成本。
目前骨干或边缘网络设备的用户业务平面由大量数目的核心处理芯片构成,比如NP(NetWork Processor,网络处理器)、TM(Traffic Management,业务管理)、SE(SwitchElement,交换单元),各核心处理芯片间采用大量的高速串行链路收发器(SerDes,HighSpeed Serial Link Transceiver)进行互连及数据传输,因此,根据网络流量的变化对SerDes进行控制,可以节省能耗。
现有技术通过网管系统检测整网流量的变化趋势,并由网管向各个网络节点的网络设备下发控制信息,调节网络设备的处理能力,如对部分模块、SerDes进行控制,使其进入工作或休眠状态等。此技术主要通过软件进行控制,在网管软件和网络设备主控软件之间建立控制信令协议的可靠传输通道来传输控制信令,由网管发起控制,并由网络设备进行响应及确认。
然而,上述现有技术通过软件控制网络设备的流量,发送控制和响应的时间长,且仅适合长周期是控制,无法对网络流量的变化进行实时响应。
发明内容
本发明的实施例提供一种调节设备带宽的方法、装置,可以根据实际的网络流量,调节设备的带宽。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种调节设备带宽的方法,包括:
测量第一设备的发送流量速度S1和接收流量速度S2
根据所述发送流量速度S1获得发送流量状态信息TxTsi,以及根据所述接收流量速度S2获得接收流量状态信息RxTsi;其中,所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第一设备的接收链路中需进入工作状态或休眠状态的个数;
根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态,并将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备。
在第一种可能实现的方式中,根据第一方面,所述方法还包括:
预先将所述第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为
预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为
根据所述发送流量速度S1获得发送流量状态信息TxTsi,以及根据所述接收流量速度S2获得接收流量状态信息RxTsi包括:
若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;
若所述S2较上次测得的减小且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;
其中,r为带宽比例。
在第二种可能实现的方式中,根据第一方面,所述根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态包括:
根据所述TxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,
按照所述第一设备的各个TxSdsCtrl信息,控制所述第一设备的各个发送链的状态;
根据所述RxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第一设备的一个接收链路需进入的状态,
按照所述第一设备的各个RxSdsCtrl信息,控制所述第一设备的各个接收链路的状态。
在第三种可能实现的方式中,根据第二种可能实现的方式,还包括:
接收所述至少一个第二设备的各个接收链路状态RxLSta信息,得到所述第一设备的各个发送链路状态TxLSta信息,第二设备的一个所述RxLSta信息用于指示第二设备的一个接收链路是否可用,第一设备的一个所述TxLSta信息用于指示第一设备的一个发送链路是否可用;
确定所述第一设备的各个接收链路状态RxLSta信息,并至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备;第一设备的一个RxLSta信息用于指示所述第一设备的一个接收链路是否可用,也用于指示与之互连的第二设备对应的发送链路是否可用。
在第四种可能实现的方式中,根据第三种可能实现的方式,所述按照所述第一设备的各个TxSdsCtrl信息,控制所述第一设备的各个发送链的状态包括:
若所述TxSdsCtrl信息指示所述第一设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,等待已分发向该发送链路的业务流量发送完毕后,采用该发送链路发送空闲流量,然后等待该发送链路的TxLSta信息指示该发送链路不可用时,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
在第五种可能实现的方式中,根据第三种可能实现的方式,所述按照所述第一设备的各个RxSdsCtrl信息,控制所述第一设备的各个接收链路的状态包括:
若所述RxSdsCtrl信息指示所述第一设备的一个处于工作状态的接收链路需进入休眠状态,则待所述该接收链路的RxLSta信息指示该接收链路为不可用时,控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第一设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
在第六种可能实现的方式中,根据第三种可能实现的方式,还包括:
接收所述至少一个第二设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第一设备的标识一致,则该RxLSta信息有效;
所述得到所述第一设备的各个发送链路状态TxLSta信息包括:
将所述至少一个第二设备发送的有效的RxLSta信息作为所述第一设备的发送链路状态TxLSta信息。
在第七种可能实现的方式中,根据第三种可能实现的方式,所述确定所述第一设备的各个接收链路状态RxLSta信息包括:
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,根据接收链路可用度的统计结果确定该链路的RxLSta信息。
在第八种可能实现的方式中,根据第七种可能实现的方式,所述根据检测结果统计该接收链路的可用度,根据接收链路可用度的统计结果确定该链路的RxLSta信息包括:
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
在第九种可能实现的方式中,根据第一方面,所述根据所述RxTsi控制所述第一设备的各接收链路的状态包括:
根据所述RxTsi,使得所述第二设备的至少一条接收链路进入休眠状态,
所述方法还包括:
通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第一设备的接收链路与所述第二设备的发送链路同步。
在第十种可能实现的方式中,根据第一方面,所述根据所述TxTsi控制所述第一设备的各发送链路的状态包括:
根据所述TxTsi,使得所述第一设备的至少一条发送链路进入休眠状态,
所述方法还包括:
通过处于休眠状态的发送链路向所述第二设备定期发送更新信息,以保持所述第一设备的发送链路与所述第二设备的接收链路同步。
在第十一种可能实现的方式中,根据第一方面或前十种任一可能的实现方式,所述方法还包括:
建立并保存与第二设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第一设备侧的第一链路索引LinkID 1、第二设备的索引DeviceID、该链路在第二设备侧的第二链路索引LinkID 2、与所述第二设备连接的所有LinkID 1之间的对应关系。
在第十二种可能实现的方式中,根据第十一种可能实现的方式,若所述第一设备需要向所述第二设备发送RxLSta信息,则所述至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备包括:
由所述第一设备一个接收链路的LinkID 1查询该链路的相关信息,得到第二设备的索引DeviceID、与所述第二设备连接的所有LinkID 1;
采用查询到的所有LinkID 1标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第二设备发送所述RxLSta信息。
第二方面,提供了一种调节设备带宽的方法,包括:
接收第一设备发送的TxTsi和RxTsi;其中,所述TxTsi用于指示所述第二设备的接收链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第二设备的发送链路中需进入工作状态或休眠状态的个数;
根据所述TxTsi控制所述第二设备的各接收链路的状态,根据所述RxTsi控制所述第二设备的各发送链路的状态。
在第一种可能实现的方式中,根据第二方面,所述根据所述TxTsi控制所述第二设备的各接收链路的状态,根据所述RxTsi控制所述第二设备的各发送链路的状态包括:
根据所述TxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第二设备的一个接收链路需进入的状态,按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链的状态;
根据所述RxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态。
在第二种可能实现的方式中,根据第一种可能实现的方式,还包括:
接收所述至少一个第一设备的各个接收链路状态RxLSta信息,得到所述第二设备的各个发送链路状态TxLSta信息,第一设备的一个RxLSta信息用于指示设备的一个接收链路是否可用,第二设备的一个所述TxLSta信息用于指示所述第二设备的一个发送链路是否可用;
确定所述第二设备的各个接收链路状态RxLSta信息,并至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备;第二设备的一个RxLSta信息用于指示所述第二设备的一个接收链路是否可用,也指示与之互连的第一设备对应的发送链路是否可用。
在第三种可能实现的方式中,根据第二种可能实现的方式,所述按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态包括:
若所述TxSdsCtrl信息指示所述第二设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,同时等待已分发向该发送链路的业务流量排空后,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
在第四种可能实现的方式中,根据第二种可能实现的方式,所述按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链的状态包括:
若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路需进入休眠状态,则将该接收链路的RxLSta信息置为不可用状态,并发送给第一设备,然后控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
在第五种可能实现的方式中,根据第二种可能实现的方式,还包括:
接收所述至少一个第一设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第二设备的标识一致,则该RxLSta信息有效;
所述得到所述第二设备的各个发送链路状态TxLSta信息包括:
将所述至少一个第一设备发送的有效的RxLSta信息作为所述第二设备的发送链路状态TxLSta信息。
在第六种可能实现的方式中,根据第二种可能实现的方式,所述确定所述第二设备的各个接收链路状态RxLSta信息包括:
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
在第七种可能实现的方式中,根据第六种可能实现的方式,所述根据检测结果统计该接收链路的可用度,根据接收链路可用度的统计结果确定该链路的RxLSta信息包括:
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值,且错误数据包的权值设置远大于正确数据包的权值设置;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
在第八种可能实现的方式中,根据第二方面,所述根据所述TxTsi控制所述第二设备的各接收链路的状态包括:
根据所述TxTsi,使得所述第二设备的至少一条接收链路进入休眠状态,
所述方法还包括:
通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息,以保持所述第二设备的接收链路与所述第一设备的发送链路同步。
在第九种可能实现的方式中,根据第二方面,所述根据所述RxTsi控制所述第二设备的各发送链路的状态包括:
根据所述RxTsi,使得所述第二设备的至少一条发送链路进入休眠状态,
所述方法还包括:
通过处于休眠状态的发送链路向所述第一设备定期发送更新信息,以保持所述第二设备的发送链路与所述第一设备的接收链路同步。
在第十种可能实现的方式中,根据第二方面或前九种任一可能的实现方式,还包括:
建立并保存与第一设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第二设备侧的第二链路索引LinkID 2、第一设备的索引DeviceID、该链路在第一设备侧的第一路索引LinkID 1与所述第一设备连接的所有LinkID 2之间的对应关系。
在第十一种可能实现的方式中,根据第十种可能实现的方式,若所述第二设备需要向所述第一设备发送RxLSta信息,则所述至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备包括:
由所述第二设备一个接收链路的LinkID 2查询该链路的相关信息,得到第一设备的索引DeviceID、、与该接收链路互连的第二设备的链路LinkID 1、与所述第一设备连接的所有LinkID 2;
采用查询到的所有LinkID 2标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第一设备发送所述RxLSta信息。
第三方面,提供了一种调节设备带宽的装置,包括:
测量单元:用于测量第一设备的发送流量速度S1和接收流量速度S2
获得单元:用于根据所述发送流量速度S1获得发送流量状态信息TxTsi,以及根据所述接收流量速度S2获得接收流量状态信息RxTsi;其中,所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第一设备的接收链路中需进入工作状态或休眠状态的个数;
控制单元:用于根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态;
发送单元:用于将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备。
在第一种可能实现的方式中,根据第三方面,所述装置还包括:分档单元,所述分档单元用于,预先将所述第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为
预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为
所述获得单元具体用于,
若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;
若所述S2较上次测得的减小且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;
其中,r为带宽比例。
在第二种可能实现的方式中,根据第三方面,所述控制单元包括:控制发送链路模块和控制接收链路模块;
所述控制发送链路模块用于,根据所述TxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态;
所述控制接收链路模块用于,根据所述RxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第一设备的一个接收链路需进入的状态,按照所述第一设备的各个RxSdsCtrl信息,控制各个接收链路的状态。
在第三种可能实现的方式中,根据第三方面,还包括:接收单元、确定发送链路状态单元和确定接收链路状态单元,
所述接收单元用于,接收所述至少一个第二设备的各个接收链路状态RxLSta信息,第二设备的一个所述RxLSta信息用于指示其对应的第二设备的一个接收链路是否可用;
所述确定发送链路状态单元用于,得到所述第一设备的各个发送链路状态TxLSta信息,第一设备的一个所述TxLSta信息用于指示其对应的第一设备的一个发送链路是否可用;
所述确定接收链路状态单元用于,确定所述第一设备的各个接收链路状态RxLSta信息;
所述发送单元还用于,至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备;第一设备的一个RxLSta信息用于指示所述第一设备的一个接收链路是否可用,也指示与之互连的第二设备对应的发送链路是否可用。
在第四种可能实现的方式中,根据第三种可能实现的方式,所述控制发送链路模块具体用于,
若所述TxSdsCtrl信息指示所述第一设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,等待已分发向该发送链路的业务流量发送完毕后,采用该发送链路发送空闲流量,然后等待该发送链路的TxLSta信息指示该发送链路不可用时,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
在第五种可能实现的方式中,根据第三种可能实现的方式,所述控制接收链路模块用于,
若所述RxSdsCtrl信息指示所述第一设备的一个处于工作状态的接收链路需进入休眠状态,则待所述该接收链路的RxLSta信息指示该接收链路为不可用时,控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第一设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
在第六种可能实现的方式中,根据第三种可能实现的方式,所述接收单元还用于,
接收所述至少一个第二设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第一设备的标识一致,则该RxLSta信息有效;
所述确定发送链路状态单元用于,将所述至少一个第二设备发送的有效的RxLSta信息作为所述第一设备的发送链路状态TxLSta信息。
在第七种可能实现的方式中,根据第三种可能实现的方式,所述确定接收链路状态单元用于,
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
在第八种可能实现的方式中,根据第七种可能实现的方式,所述确定接收链路状态单元具体用于,
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
在第九种可能实现的方式中,根据第三方面,所述控制单元具体用于,根据所述RxTsi,使得所述第二设备的至少一条接收链路进入休眠状态;
所述接收单元还用于,在控制所述第一设备的一个接收链路进入休眠状态后,通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息,以保持所述第一设备的接收链路与所述第二设备的发送链路同步。
在第十种可能实现的方式中,根据第三方面,所述控制单元具体用于,根据所述TxTsi,使得所述第一设备的至少一条发送链路进入休眠状态;
所述发送单元还用于,在控制所述第一设备的一个发送链路进入休眠状态后,通过处于休眠状态的发送链路向所述第二设备定期发送更新信息,以保持所述第一设备的发送链路与所述第二设备的接收链路同步。
在第十一种可能实现的方式中,根据第三方面或前十种任一可能的实现方式,还包括:
建立保存单元:用于建立并保存与第二设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第一设备侧的第一链路索引LinkID 1、第二设备的索引DeviceID、该链路在第二设备侧的第二链路索引LinkID 2、与所述第二设备连接的所有LinkID 1之间的对应关系。
在第十二种可能实现的方式中,根据第十一种可能实现的方式,还包括:查询单元,所述查询单元用于,
在所述第一设备需要向所述第二设备发送RxLSta信息的情况下,根据所述第一设备一个接收链路的LinkID 1查询该链路的相关信息,得到第二设备的索引DeviceID、与所述第二设备连接的所有LinkID 1;
所述发送单元还用于采用所述查询单元查询到的所有LinkID 1标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第二设备发送所述RxLSta信息。
第四方面,提供了一种调节设备带宽的装置,包括:
接收单元:用于接收第一设备发送的TxTsi和RxTsi;其中,所述TxTsi用于指示所述第二设备的接收链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第二设备的发送链路中需进入工作状态或休眠状态的个数;
控制单元:用于根据所述TxTsi控制所述第二设备的各接收链路的状态,根据所述RxTsi控制所述第二设备的各发送链路的状态。
在第一种可能实现的方式中,根据第四方面,所述控制单元包括:控制发送链路模块和控制接收链路模块;
所述控制接收链路模块用于,根据所述TxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第二设备的一个接收链路需进入的状态,按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链路的状态;
所述控制发送链路模块用于,根据所述RxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态。
在第二种可能实现的方式中,根据第一种可能实现的方式,还包括:确定发送链路状态单元、确定接收链路状态单元和发送单元,
所述接收单元还用于,接收所述至少一个第一设备的各个接收链路状态RxLSta信息,第一设备的一个RxLSta信息用于指示一个其对应的第一设备的接收链路是否可用;
所述确定发送链路状态单元用于,得到所述第二设备的各个发送链路状态TxLSta信息,第二设备的一个所述TxLSta信息用于指示其对应的所述第二设备的一个发送链路是否可用;
所述确定接收链路状态单元用于,确定所述第二设备的各个接收链路状态RxLSta信息;
所述发送单元用于,至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备;第二设备的一个RxLSta信息用于指示所述第二设备的一个接收链路是否可用,也指示与之互连的第一设备对应的发送链路是否可用。
在第三种可能实现的方式中,根据第二种可能实现的方式,所述控制发送链路模块具体用于,
若所述TxSdsCtrl信息指示所述第二设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,同时等待已分发向该发送链路的业务流量排空后,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
在第四种可能实现的方式中,根据第二种可能实现的方式,控制接收链路模块用于,
若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路需进入休眠状态,则将该接收链路的RxLSta信息置为不可用状态,并发送给第一设备,然后控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
在第五种可能实现的方式中,根据第二种可能实现的方式,所述接收单元还用于,接收所述至少一个第一设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第二设备的标识一致,则该RxLSta信息有效;
所述确定发送链路状态单元用于,将所述至少一个第一设备发送的有效的RxLSta信息作为所述第二设备的发送链路状态TxLSta信息。
在第六种可能实现的方式中,根据第二种可能实现的方式,所述定接收链路状态单元用于,
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
在第七种可能实现的方式中,根据第六种可能实现的方式,所述确定接收链路状态单元具体用于,
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值,且错误数据包的权值设置远大于正确数据包的权值设置;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
在第八种可能实现的方式中,根据第四方面,所述控制单元具体用于,根据所述TxTsi,使得所述第二设备的至少一条接收链路进入休眠状态,
所述接收单元还用于:在控制所述第二设备的一个接收链路进入休眠状态后,通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第二设备的接收链路与所述第一设备的发送链路同步。
在第九种可能实现的方式中,根据第四方面,所述控制单元具体用于,根据所述RxTsi,使得所述第二设备的至少一条发送链路进入休眠状态,
所述发送单元还用于,在控制所述第二设备的一个发送链路进入休眠状态后,通过处于休眠状态的发送链路向所述第一设备定期发送更新信息,以保持所述第二设备的发送链路与所述第一设备的接收链路同步。
在第十种可能实现的方式中,根据第四方面或前九种任一可能的实现方式,还包括:
建立保存单元:用于建立并保存与第一设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第二设备侧的第二链路索引LinkID 2、第一设备的索引DeviceID、该链路在第一设备侧的第一路索引LinkID 1与所述第一设备连接的所有LinkID2之间的对应关系。
在第十一种可能实现的方式中,根据第十种可能实现的方式,还包括:查询单元,所述查询单元用于,在所述第二设备需要向所述第一设备发送RxLSta信息的情况下,根据所述第二设备一个接收链路的LinkID 2查询该链路的相关信息,得到第一设备的索引DeviceID、与所述第一设备连接的所有LinkID 2;
所述发送单元还用于,采用所述查询单元查询到的所有LinkID 2标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第一设备发送所述RxLSta信息。
本发明实施例提供的一种调节设备带宽的方法、装置,根据所述发送流量速度S1获得发送流量状态信息TxTsi,以及根据所述接收流量速度S2获得接收流量状态信息RxTsi,再根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态,并将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备;所第二设备述接收第一设备发送的TxTsi和RxTsi,根据所述TxTsi控制所述第二设备的各接收链路的状态,根据所述RxTsi控制所述第二设备的各发送链路的状态。采用上述方法,控制第一设备和第二设备互连的链路中处于工作状态的链路数,从而达到调节第一设备和第二设备的带宽的效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种调节设备带宽的方法示意图;
图2为本发明实施例提供的另一种调节设备带宽的方法示意图;
图3为本发明实施例提供的另一种调节设备带宽的方法示意图;
图4为本发明实施例提供的一种调节设备带宽的装置示意图;
图5为本发明实施例提供的另一种调节设备带宽的装置示意图;
图6为本发明实施例提供的另一种调节设备带宽的装置示意图;
图7为本发明实施例提供的另一种调节设备带宽的装置示意图;
图8为本发明实施例提供的另一种调节设备带宽的装置示意图;
图9为本发明实施例提供的另一种调节设备带宽的装置示意图;
图10为本发明实施例提供的另一种调节设备带宽的装置示意图;
图11为本发明实施例提供的另一种调节设备带宽的装置示意图;
图12为本发明实施例提供的另一种调节设备带宽的装置示意图;
图13为本发明实施例提供的另一种调节设备带宽的装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所有实施例中带宽表示流量速度,即单位时间的流量。
本发明所有实施例中的第一设备是指主控的设备,也就是需要测量其发送流量速度和接收流量速度的设备;第二设备是指从属设备,也就是与第一设备互连的设备,且不需要测量其发送流量速度和接收流量速度,只需要接收第一设备的测量结果的设备。并且,每一个第一设备和第二设备都有一个预先配置的设备索引。
对于任意一个第二设备,都可以和多个第一设备互连,同时,对于任意一个第一设备,也可以和多个第二设备互连。为便于描述,本发明所有实施例中,只对一个第一设备连接任意一个第二设备的情况进行详细描述。
本发明实施例中的SerDes可以是高速串行链路接收器,也可以是高速串行链路发送器,本发明实施例中的一条链路是指互连的第一设备和第二设备之间的任意一条链路,示例的,如果第一设备采用该链路向第二设备发送数据包,对于该链路而言,其连接第一设备侧包括一个发送SerDes,因此对于第一设备而言,所述链路可以称为发送链路;其连接第二设备侧包括一个接收SerDes;因此对于第二设备而言,所述链路可以称为接收链路。
下面结合附图对本发明实施例提供的一种调节设备带宽的方法进行详细描述。
如图1所示,所述一种调节设备带宽的方法包括以下步骤:
S101、第一设备测量第一设备的发送流量速度S1和接收流量速度S2
预先将所述第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为
示例的,流量速度的测量可以按照一定的周期T进行,也就是每隔时间T,就进行一次流量速度的测量。
若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应发送流量状态信息TxTsi(Transmitter Traffic StatusInformation);若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;
若所述S2较上次测得的减小且根据所述n确定需要进入工作状态的接收链路数,并生成相应接收流量状态信息RxTsi(Receiver Traffic StatusInformation);若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;
其中,所述是将所述第一设备的最大发送带宽WT分成的N档中,第n-1、n、n+1档分别对应的带宽值,所述是将所述第一设备的最大接收带宽WR分成的N档中,第n-1、n、n+1档分别所对应的带宽值,且其中,N为正整数,0≤n≤N-1,r为根据经验或者仿真结果预先设置的带宽比例。
S102、第一设备根据所述发送流量速度S1获得发送流量状态信息TxTsi,以及根据所述接收流量速度S2获得接收流量状态信息RxTsi。
其中,所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第一设备的接收链路中需进入工作状态或休眠状态的个数。
S103、第一设备根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态,并将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备。
示例的,第一设备可以根据所述TxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,并按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路进入各自状态。其中,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态。
第一设备将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备。
第一设备可以根据所述RxTsi生成所述第一设备的各个发送链路控制RxSdsCtrl信息,并按照所述第一设备的各个RxSdsCtrl信息,控制各个发送链路进入各自状态。其中,一个所述RxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态。
可选的,所述方法还可以包括以下a)和b)两个步骤:
a)接收所述至少一个第二设备的各个接收链路状态RxLSta信息,得到所述第一设备的各个发送链路状态TxLSta信息,第二设备的一个所述RxLSta信息用于指示第二设备的一个接收链路是否可用,第一设备的一个所述TxLSta信息用于指示所述第一设备的一个发送链路是否可用。
对于步骤a),进一步的,第一设备还可以检查接收的RxLSta信息的有效性,以确定其接收的RxLSta信息是第二设备发送给第一设备的特定链路RxLSta信息。具体的,所述第一设备还可以接收所述至少一个第二设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第一设备的标识一致,则该RxLSta信息有效。如果第一设备对接收的RxLSta的有效性检测,则第一设备将所述至少一个第二设备发送的有效的RxLSta信息作为所述第一设备的发送链路状态TxLSta信息。
b)确定所述第一设备的各个接收链路状态RxLSta信息,并至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备;第一设备的一个RxLSta信息用于指示所述第一设备的一个接收链路是否可用。进一步的,还可以将第二设备的DeviceID、与该接收链路互连的第二设备的链路LinkID 2也发送给所述第二设备。
对于步骤b),示例的,所述确定所述第一设备的各个接收链路状态RxLSta信息可以采用以下方式:
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
具体的,根据接收链路可用度的统计结果确定该链路的RxLSta信息可以采用如下方式:
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值,通常情况下,错误数据包的权值设置可以远大于正确数据包的权值设置;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
或者,若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用。
综上所述可知,对于第一设备,其一个接收链路的RxLSta信息是第一设备自身确定的,其可以指示第一设备的该接收链路是否可用,同时,也可以指示采用该链路连接的第二设备的发送链路是否可用;同理,对于第二设备,其一个接收链路的RxLSta信息是第二设备自身确定的,其可以指示第二设备的该接收链路是否可用,同时,也可以指示采用该链路连接的第二设备的发送链路是否可用。
若第一设备能够获得第一设备测的发送链路和接收链路是否可用,并且第二设备也能够获得第一设备测的发送链路和接收链路是否可用,则具体的,所述按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路进入各自状态包括:若所述TxSdsCtrl信息指示所述第一设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,等待已分发向该发送链路的业务流量发送完毕后,采用该发送链路发送空闲流量,然后等待该发送链路的TxLSta信息指示该发送链路不可用时,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
所述按照所述第一设备的各个TxSdsCtrl信息,控制所述第一设备的各个发送链的状态包括:
若所述RxSdsCtrl信息指示所述第一设备的一个处于工作状态的接收链路需进入休眠状态,则待所述该接收链路的RxLSta信息指示该接收链路为不可用时,控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第一设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
进一步可选的,所述根据所述RxTsi控制所述第一设备的各接收链路的状态包括:根据所述RxTsi,使得所述第二设备的至少一条接收链路进入休眠状态;所述方法还可以包括:通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第一设备的接收链路与所述第二设备的发送链路同步。
所述根据所述TxTsi控制所述第一设备的各发送链路的状态包括:根据所述TxTsi,使得所述第一设备的至少一条发送链路进入休眠状态,所述方法还可以包括:通过处于休眠状态的发送链路向所述第二设备定期发送更新信息,以保持所述第一设备的发送链路与所述第二设备的接收链路同步。
进一步的可选的,所述方法还可以包括:建立并保存第一设备与第二设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第一设备侧的第一链路索引LinkID 1、第二设备的索引DeviceID、该链路在第二设备侧的第二链路索引LinkID 2、与所述第二设备连接的所有LinkID 1之间的对应关系。
若第一设备建立并保存第一设备与第二设备连接的各链路的相关信息,则若所述第一设备需要向所述第二设备发送RxLSta信息,则所述至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备包括:
由所述第一设备一个接收链路的LinkID 1查询该链路的相关信息,得到第二设备的索引DeviceID、与该接收链路互连的第二设备的链路LinkID 2、与所述第二设备连接的所有LinkID 1;
采用查询到的所有LinkID 1标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第二设备发送所述RxLSta信息。
本发明实施例提供的一种调节设备带宽的方法,可以控制第一设备和第二设备互连的链路中处于工作状态的链路数,从而达到调节第一设备和第二设备的带宽的效果。
本发明实施例还包括一种调节设备带宽的方法,如图2所示,所述方法包括以下步骤:
S201、第二设备接收第一设备发送的TxTsi和RxTsi。
其中,所述TxTsi用于指示所述第二设备的接收链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第二设备的发送链路中需进入工作状态或休眠状态的个数。
S202、第二设备根据所述TxTsi控制所述第二设备的各接收链路的状态,根据所述RxTsi控制所述第二设备的各发送链路的状态。
具体的,第二设备根据所述TxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第二设备的一个接收链路需进入的状态,按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链路的状态;
根据所述RxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态。
可选的,所述方法还可以包括c)和d)两个步骤:
c)接收所述至少一个第一设备的各个接收链路状态RxLSta信息,得到所述第二设备的各个发送链路状态TxLSta信息,其中,第一设备的一个所述RxLSta信息用于指示第二设备的一个发送链路是否可用,第一设备的一个所述TxLSta信息用于指示所述第二设备的一个接收链路是否可用。
对于步骤c),进一步的,第二设备还可以检查接收的RxLSta信息的有效性,以确定其接收的RxLSta信息是第一设备发送给第二设备的特定链路RxLSta信息。具体的,所述第二设备还可以接收所述至少一个第一设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第二设备的标识一致,则该RxLSta信息有效。如果第二设备对接收的RxLSta的有效性检测,则第二设备将所述至少一个第一设备发送的有效的RxLSta信息作为所述第二设备的发送链路状态TxLSta信息。
d)确定所述第二设备的各个接收链路状态RxLSta信息,并至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备;第二设备的一个RxLSta信息用于指示所述第二设备的一个接收链路是否可用。进一步的,还可以将第一设备的DeviceID、与该接收链路互连的第一设备的链路LinkID 1也发送给所述第一设备。
对于步骤d),示例的,所述确定所述第二设备的各个接收链路状态RxLSta信息可以采用以下方式:
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
具体的,根据接收链路可用度的统计结果确定该链路的RxLSta信息可以采用如下方式:
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值,通常情况下,错误数据包的权值设置可以远大于正确数据包的权值设置;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
或者,若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用。
若第二设备能够获得第二设备测的发送链路和接收链路是否可用,并且第一设备也能够获得第二设备测的发送链路和接收链路是否可用,则具体的,所述按照所述第二设备的各个TxSdsCtrl信息,控制各个发送链路的状态包括:
若所述TxSdsCtrl信息指示所述第二设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,同时等待已分发向该发送链路的业务流量排空后,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
所述按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链路的状态包括:
若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路需进入休眠状态,则将该接收链路的RxLSta信息置为不可用状态,并发送给第一设备,然后控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
进一步可选的,所述根据所述TxTsi控制所述第二设备的各接收链路的状态包括:根据所述TxTsi,使得所述第二设备的至少一条接收链路进入休眠状态。所述方法还可以包括:通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第二设备的接收链路与所述第一设备的发送链路同步。
所述根据所述RxTsi控制所述第二设备的各发送链路的状态包括:根据所述RxTsi,使得所述第二设备的至少一条发送链路进入休眠状态,所述方法还包括:通过处于休眠状态的发送链路向所述第一设备定期发送更新信息,以保持所述第二设备的发送链路与所述第一设备的接收链路同步。
进一步的可选的,所述方法还可以包括:建立并保存与第一设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第二设备侧的第二链路索引LinkID 2、第一设备的索引DeviceID、该链路在第一设备侧的第一链路索引LinkID 1、与所述第一设备连接的所有LinkID 2之间的对应关系。
若第二设备建立并保存第二设备与第一设备连接的各链路的相关信息,则若所述第二设备需要向所述第一设备发送RxLSta信息,则所述至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备包括:
由所述第二设备一个接收链路的LinkID 2查询该链路的相关信息,得到第一设备的索引DeviceID、与第一设备互连的对应链路LinkID 1、与所述第一设备连接的所有LinkID 2;
采用查询到的所有LinkID 2标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第一设备发送所述RxLSta信息。
本发明实施例提供的一种调节设备带宽的方法,可以控制第一设备和第二设备互连的链路中处于工作状态的链路数,从而达到调节第一设备和第二设备的带宽的效果。
本发明还提供了一种调节设备带宽的方法,如图3所示,所述方法包括以下步骤:
S301、本端建立并保存与对端连接的各链路的相关信息。
具体的,第一设备的一个链路的相关信息包括:该链路在第二设备侧的第二链路索引LinkID 2、第二设备的索引DeviceID、该链路在第一设备侧的第一链路索引LinkID 1、与所述第一设备连接的所有LinkID 2之间的对应关系。
第二设备的一个链路的相关信息包括:该链路在第一设备侧的第一链路索引LinkID 1、第一设备的索引DeviceID、该链路在第二设备侧的第二链路索引LinkID 2、与所述第二设备连接的所有LinkID 1之间的对应关系。
需要指出的是,对于第一设备而言,本端为第一设备本身,对端为第二设备;对于第二设备而言,本端为第二设备本身,对端为第一设备。第一设备和第二设备建立并保存与对端连接的各链路的相关信息所需的具体操作是相同的,因此下面建立并保存与对端连接的各链路的相关信息的方式适用于第一设备和第二设备。
示例的,可以采用如下方式本端建立与对端连接的各链路的相关信息:
在初始化时,或者,在Device之间的连接关系发生变化时,本端采用所有发送链路向对端发送数据包,对于其中的任意一个发送链路而言,此数据包中包括本端的DeviceID,以及该发送链路对应的LinkID;于此同时,对端也采用所有发送链路向对端发送数据包,对于其中的任意一个发送链路而言,此数据包中包括本端的DeviceID,以及该发送链路对应的LinkID。
本端的任意一个接收LinkID为LinkID_A的接收链路接收对端发送的数据包,此数据包中包括了该接收链路对应的对端DeviceID_B和该接收链路对应的对端LinkID为LinkID_B,这样本端就可以得到所有本端LinkID对应的对端DeviceID,以及对端LinkID。
示例的,可以将上述信息对应的保存在一个表中,表中包括本端所有链路数个项,其中的任意一项包括本端的一个LinkID对应的对端DeviceID,以及对端LinkID。进一步的,根据连接的对端DeviceID相同的原理,可以得到连接所有相同对端的所有本端链路之间的对应关系,则表中的任意一项还包括与该本端链路连接相同对端的所有本端LinkID。
表1
S302、本端确定其发送链路状态和接收链路状态。
在S301中初始化时,或者,在Device之间的连接关系发生变化时,本端采用所有发送链路向对端发送数据包,对于第一设备而言,第一设备向第二设备发送数据包,第二设备根据接收到的数据包,确定所述第二设备的各个接收链路状态RxLSta信息,并至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第一设备,第二设备的一个RxLSta信息用于指示所述第二设备的一个接收链路是否可用,同时,也指示该链路连接的第一设备的该发送链路的TxLSta。
对于第二设备而言,第二设备向第一设备发送数据包,第一设备根据接收到的数据包,确定所述第一设备的各个接收链路状态RxLSta信息,并至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备,第一设备的一个RxLSta信息用于指示所述第一设备的一个接收链路是否可用,同时,也指示该链路连接的第一设备的该发送链路的TxLSta。
也就是说,无论本端是第一设备还是第二设备,都需要确定本端所有链路的RxLSta,并接收对端确定的同本端连接对端链路的RxLSta,作为对应的本端链路的TxLSta。
并且,上述至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二或者第二设备的含义是:本端要将得到的RxLSta发送给对端,但也可以将其他信息也同时发送给对端,示例的,可以是本端的DeviceID、所检测的本端LinkID、对端LinkID、对端的DeviceID(本端保存与对端连接的各链路的相关信息中得到的)这几个参数中的部分或者全部。
本端确定本端所有链路的RxLSta所采用的方法可以为:
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
具体的,接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
或者,若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用。
本端接收对端确定的同本端连接对端链路的RxLSta,作为对应的本端链路的TxLSta,进一步的,若对端在发送对端链路的RxLSta的同时,也将该RxLSta目标设备的DeviceID同时发送给本端,则若该目标设的备DeviceID与本端的DeviceID一致,对端的该RxLSta信息对于本端来说就是有效的TxLSta;否则,对端的该RxLSta信息对于本端来说就是无效的TxLSta。
本端可以采用广播方式或者轮询方式将对端链路的TxLSta(本端检测的RxLSta)发送给对端。
广播方式:
示例的,首先,根据本端RxLSta信息对应的链路的LinkID 1,查询本端与对端连接的各链路的相关信息,获得包括该链路对应的对端DeviceID、对端LinkID 2、与对端连接的所有LinkID 1之间的对应关系;然后,在接收链路状态改变时,采用与对端设备连接的所有本端链路中TxLSta信息指示为可用状态的链路发送本端的RxLSta信息。
轮询方式:
示例的,首先,根据本端RxLSta信息对应的链路的LinkID 1,查询本端与对端连接的各链路的相关信息,获得包括该链路对应的对端DeviceID、对端LinkID 2、与对端连接的所有LinkID 1之间的对应关系;按照特定轮询周期或者在接收链路状态改变时,从与对端设备连接的所有本端的LinkID中,选择一条或者几条TxLSta信息指示为可用的状态的链路发送本端RxLSta信息,在下次发送RxLSta信息时,选择另外一条或者几条TxLSta信息指示为可用的状态的链路发送本端RxLSta信息。
S303、第一设备测量其发送流量速度S1和接收流量速度S2,根据所述发送流量速度S1获得发送流量状态信息TxTsi,根据所述接收流量速度S2获得接收流量状态信息RxTsi。
其中,所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第一设备的接收链路中需进入工作状态或休眠状态的个数。
其中,第一设备测量其发送流量速度S1和接收流量速度S2属于现有技术,这里不再进行赘述。下面对将根据所述发送流量速度S1获得发送流量状态信息TxTsi,根据所述接收流量速度S2获得接收流量状态信息RxTsi的具体方法进行详细描述:
首先,需要说明的是,第一设备对S1和S2的测量可以是按照一定周期TS进行测量的,TxTsi和RxTsi也是以周期TS进行更新的,也就是说,本发明实施例提供的调节设备带宽的方法,是以周期TS进行调节的,TS的大小可以根据具体情况进行配置。
首先,需预先将所述第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为
然后,若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;
若所述S2较上次测得的减小且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;
其中,所述是将所述第一设备的最大发送带宽WT分成的N档中,第n-1、n、n+1档分别对应的带宽值,所述是将所述第一设备的最大接收带宽WR分成的N档中,第n-1、n、n+1档分别所对应的带宽值,且N为正整数,0≤n≤N-1,r为带宽比例。
示例的,r可以设置为0.8。并且,具体的,所述第一设备的WT、WR可以按照线性分布均匀的划分为N档,也可以按照非线性分布非均匀的划分为N档。
对于任意设备,其发送链路总数和接收链路总数是确定的,且每条发送链路和接收链路的带宽是固定的。示例的,假设第一设备的发送链路总数为NT,接收链路的总数为NR,第一设备的每条发送链路的带宽为BT,每条接收链路的带宽为BR,则第一设备的WT等于NT乘以BT,WR等于NR乘以BR。
所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数。假设所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi。示例的,所述TxTsi的生成可以为直接将n值转换为二进制数发送,也可以是以n值为输入值采用第一映射方案得到一个映射值(示例的,所述第一映射方案可以是任意一个函数,但所述函数必须能满足映射值和输入值是一一对应的关系,即只能通过其中的一个值唯一的得到另一个值),然后将所述映射值转换为二进制数发送给第二设备,以使得第二设备可以根据接收到的映射值的二进制数解析出n值。类似的,RxTsi的生成可以采用与TxTsi的生成相同的方法。
S304、第一设备根据TxTsi控制所述第一设备各发送链路的状态。
具体的,第一设备可以根据所述TxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,并按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态。其中,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态。
示例的,假设第一设备总的发送链数为NT,且若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数的方法如下:
示例的,首先,对于第一设备而言,可以给每条链路都设置并保存一个门限值,当然各条链路的门限值可以根据具体情况设置为各条链路相同,或者各发送链路采用同一个门限值,各接收连裤采用同一个门限。然后,对于第一设备的任意一条接收链路LinkID 1,用自己的门限值RxTHTsi[LinkID 1]与n比较,如果n大于等于RxTHTsi[LinkID 1],接收链路的RxSdsCtrl信息指示第一设备的该接收链路需进入工作状态,否则,该接收链路的RxSdsCtrl信息指示第一设备的该接收链路需进入休眠状态。对于第一设备的任意一条发送链路,可以采用相同方法可以得到其TxSdsCtrl。通过上述方式,就可以确定第一设备需要进入工作状态的发送链路数和接收链路数,并进一步生成相应TxTsi和RxTsi。
示例的,若第一设备的NT个发送链路中,所述TxTsi指示了所述第一设备的发送链路中需进入工作状态的发送链路数为n个进入工作状态,则剩余的NT-n1个发送链路处于休眠状态。
当然,必须保证第二设备根据其接收的TxTsi,也选择相同的n个接收链路进入工作状态,NT-n个接收链路处于休眠状态,才能保证一条链路在第一设备侧和第二设备侧为其指定的状态是相同的。
若所述TxSdsCtrl信息指示所述第一设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,等待已分发向该发送链路的业务流量发送完毕后,采用该发送链路发送空闲流量,然后等待该发送链路的TxLSta信息指示该发送链路不可用时,控制该发送链路进入休眠状态。
需要指出的是,对于第一设备而言,如果是将一个处于工作状态的发送链路需进入休眠状态,则优选的,需要先保证该链路发送的业务流量发送完毕,即该链路发送的业务流量已排空,才能向第二设备发送RxTsi和TxTsi,并且等待相应链路的TxLSta为不可用时,才能控制该发送链路进入休眠状态,因此,第一设备需要等待接收到第二设备发送的该链路的TxLSta信息指示该发送链路不可用时,也就是说,第二设备已经接收完业务流量,并将相应接收链路的RxLSta信息改为不可用,将之发送给第一设备,则第一设备就可以确定其业务流量已经发送完毕,并且可以将控制该发送链路进入休眠状态了。
也就是说,必须保证第一设备和第二设备对同一个链路在第一设备侧和第二设备侧的控制是相同的,且必须保证业务流量发送完毕才能控制链路状态的改变,否则将导致业务流量的丢失。
或者,若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
需要指出的是,若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路需进入工作状态,则先开启该发送链路,但此时还不能确定第二设备是否能正常接收,因此为确保业务流量不丢失,第一设备此时不能在开启该发送链路后立即发送业务流量,需要采用该发送链路发送空闲流量。
对于第二设备侧,也会先开启对应的接收链路,当接收到第一设备的空闲流量后,检测该接收链路的RxLSta,若RxLSta信息指示该发送链路为可用,则控制该接收链路进入工作状态,并且,将所述该接收链路的RxLSta发送给第一设备,也就是第一设备对应的发送链路的TxLSta。
第一设备等待接收第二设备发送的TxLSta,若TxLSta信息指示该发送链路为可用,则第一设备才能控制该发送链路进入工作状态。。
或者,若所述TxSdsCtrl信息指示所述第一设备的一个处于工作状态的发送链路进还是处于工作状态,或者,若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路进还是处于休眠状态,即链路的状态不改变,则无需任何操作。
进一步的,第一设备在控制所述第一设备的一个发送链路进入休眠状态后,还可以通过处于休眠状态的发送链路向所述第二设备定期发送更新信息,以保持所述第一设备的发送链路与所述第二设备的接收链路同步。
S305、第一设备将所述TxTsi和所述RxTsi发送给与所述第一设备互连的第二设备。
S306、第二设备根据接收的TxTsi和RxTsi,根据TxTsi控制所述第二设备各接收链路进入各自状态,根据RxTsi控制所述第二设备各发送链路进入各自状态。
具体的,第二设备根据所述TxTsi生成所述第二设备的各个接收链路控制RxSdsCtrl信息,并按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链路进入各自状态,其中,一个所述RxSdsCtrl信息用于指示第二设备的一个接收链路需进入的状态。
并且,第二设备根据所述RxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,并按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路进入各自状态,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态。
第二设备根据TxTsi生成所述第二设备的各个接收链路控制RxSdsCtrl信息的方式与第一设备根据所述TxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息采用相同的方式;第二设备根据所述RxTsi生成所述第二设备的各个发送链路控制TxSdsCtrl信息的方式与第一设备根据所述RxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息采用相同的方式相同,具体方式在S304中已经详细描述,此处不再赘述。
需要指出的是,与第一设备不同,第二设备需要先通过接收TxTsi或RxTsi得到n值,以通过TxTsi得到n值为例,如果第二设备接收的TxTsi直接为n值的二进制数,则可以将其直接转换回十进制数即可,如果第二设备接收的TxTsi为第一设备以n值为输入采用第一映射方案得到的映射值的二进制数,则第二设备需要先将接收的TxTsi转换为十进制数,再采用与第一映射方案对应的解析方法(示例的,如果所述第一映射方案是一个函数,所述与第一映射方案对应的解析方法可以是所述函数对应的反函数)得到n值。
若所述TxSdsCtrl信息指示所述第二设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,同时等待已分发向该发送链路的业务流量排空后,控制该发送链路进入休眠状态。
需要指出的是,对于第二设备而言,如果是将一个处于工作状态的发送链路需进入休眠状态,则需要先保证该链路发送的业务流量已被第一设备接收完毕,才能控制该发送链路进入休眠状态。
也就是说,必须保证第一设备和第二设备对同一个链路在第一设备侧和第二设备侧的控制是相同的,且必须保证业务流量发送完毕才能控制链路状态的改变,否则将导致业务流量的丢失。
或者,若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
需要指出的是,若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路需进入工作状态,则先开启该发送链路,但此时还不能确定第一设备是否能正常接收,因此为确保业务流量不丢失,第二设备此时不能在开启该发送链路后立即发送业务流量,需要采用该发送链路发送空闲流量。
对于第一设备侧,也会根据RxSdsCtrl,先开启对应的接收链路,当接收到第二设备的空闲流量后,检测该接收链路的RxLSta,若RxLSta信息指示该发送链路为可用,则控制该接收链路进入工作状态,也就是可以发送业务流量了,并且,将所述该接收链路的RxLSta发送给第二设备,也就是第二设备对应的发送链路的TxLSta。
第二设备等待接收第一设备发送的TxLSta,若TxLSta信息指示该发送链路为可用,则第二设备才能控制该发送链路进入工作状态,也就是可以发送业务流量了。
或者,若所述TxSdsCtrl信息指示所述第二设备的一个处于工作状态的发送链路还是进入工作状态,或者,若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路还是进入休眠状态,即链路的状态不改变,则无需任何操作。若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路需进入休眠状态,则将该接收链路的RxLSta置为不可用并发送给第一设备,然后控制该接收链路进入休眠状态。
需要指出的是,若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路需进入休眠状态,则对应的,第一设备也会指示该发送链路进入休眠状态,第一设备将停止向该发送链路分发业务流量,同时等待已分发向该发送链路的业务流量排空后,采用该发送链路发送空闲流量,第二设备将接收链路的状态置为不可用,并控制该接收链路进入休眠状态。
或者,若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息指示该接收链路为可用时,控制该接收链路进入工作状态,也就是第一设备可以接收业务流量了(当然,第二设备会将该RxLSta发送给第一设备,指示第一设备的对应发送链路可用,也就是说第一设备可以控制该发送链路进入工作状态,发送业务流量了)。
需要指出的是,若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路需进入工作状态,则需先开启该接收链路,然后第二设备需要等待接收第一设备发送的空闲流量,若检测该接收链路的RxLSta信息中的指示该接收链路为可用时,才能控制该接收链路进入工作状态。
或者,若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路还是进入工作状态,或者,若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路还是进入休眠状态,即链路的状态不改变,则无需任何操作。
进一步的,第二设备在控制所述第二设备的一个接收链路进入休眠状态后,还可以通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第二设备的接收链路与所述第一设备的发送链路同步;
并且,第二设备在控制所述第二设备的一个发送链路进入休眠状态后,还可以通过处于休眠状态的发送链路向所述第一设备定期发送更新信息,以保持所述第二设备的发送链路与所述第一设备的接收链路同步。
S307、第一设备根据所述RxTsi控制所述第一设备各接收链路进入各自状态。
具体的,第一设备可以根据所述RxTsi生成所述第一设备的各个发送链路控制RxSdsCtrl信息,并按照所述第一设备的各个RxSdsCtrl信息,控制各个发送链路进入各自状态。其中,一个所述RxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态。
示例的,假设第一设备总的接收链数为NR,且RxTsi指示所述第一设备的接收链路中需进入工作状态的个数为n,则第一设备剩余的NT-n个接收链路处于休眠状态。
若所述RxSdsCtrl信息指示所述第一设备的一个处于工作状态的接收链路需进入休眠状态,则待所述该接收链路的RxLSta信息指示该接收链路为不可用时,控制该接收链路进入休眠状态。
或者,若所述RxSdsCtrl信息指示所述第一设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
或者,若所述RxSdsCtrl信息指示所述第一设备的一个处于工作状态的接收链路进还是处于工作状态,或者,若所述RxSdsCtrl信息指示所述第一设备的一个处于休眠状态的接收链路进还是处于休眠状态,即链路的状态不改变,则无需任何操作。
进一步的,第一设备在控制一个接收链路进入休眠状态后,还可以通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第一设备的接收链路与所述第二设备的发送链路同步。
需要说明的是,上述S306和S307分别是第一设备和第二设备两侧分别进行处理,因此实际上无需区分先后顺序。
本发明实施例提供的一种调节设备带宽的方法,可以控制第一设备和第二设备互连的链路中处于工作状态的链路数,从而达到调节第一设备和第二设备的带宽的效果。
本发明实施例还提供了一种调节设备带宽的装置,该装置中的各个功能模块可以执行上述相应的步骤,对各个功能模块的描述可参考上述的方法实施例,在此不加赘述。
如图4所示,所述装置40包括:
测量单元41:用于测量第一设备的发送流量速度S1和接收流量速度S2
获得单元42:用于根据所述发送流量速度S1获得发送流量状态信息TxTsi,以及根据所述接收流量速度S2获得接收流量状态信息RxTsi;其中,所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第一设备的接收链路中需进入工作状态或休眠状态的个数;
控制单元43:用于根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态;
发送单元44:将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备。
所述装置还包括:分档单元50,所述分档单元50用于,预先将所述第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为
预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为
所述获得单元具体用于,
若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;
若所述S2较上次测得的减小且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;
其中,r为带宽比例。
如图5所示,所述控制单元43包括:控制发送链路模块431和控制接收链路模块432;
所述控制发送链路模块431用于,根据所述TxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态;
所述控制接收链路模块432用于,根据所述RxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第一设备的一个接收链路需进入的状态,按照所述第一设备的各个RxSdsCtrl信息,控制各个接收链路的状态。
可选的,如图6所示,还可以包括:接收单元45、确定发送链路状态单元46和确定接收链路状态单元47,
所述接收单元45用于,接收所述至少一个第二设备的各个接收链路状态RxLSta信息,第二设备的一个所述RxLSta信息用于指示其对应的第二设备的一个接收链路是否可用;
所述确定发送链路状态单元46用于,得到所述第一设备的各个发送链路状态TxLSta信息,第一设备的一个所述TxLSta信息用于指示其对应的第一设备的一个发送链路是否可用;
所述确定接收链路状态单元47用于,确定所述第一设备的各个接收链路状态RxLSta信息;
所述发送单元44还用于,至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备;第一设备的一个RxLSta信息用于指示所述第一设备的一个接收链路是否可用,也指示与之互连的第二设备对应的发送链路是否可用。
所述控制发送链路模块431具体用于,
若所述TxSdsCtrl信息指示所述第一设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,等待已分发向该发送链路的业务流量发送完毕后,采用该发送链路发送空闲流量,然后等待该发送链路的TxLSta信息指示该发送链路不可用时,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
所述控制接收链路模块432用于,若所述RxSdsCtrl信息指示所述第一设备的一个处于工作状态的接收链路需进入休眠状态,则待所述该接收链路的RxLSta信息指示该接收链路为不可用时,控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第一设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
进一步的,所述接收单元45还用于,接收所述至少一个第二设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第一设备的标识一致,则该RxLSta信息有效;
所述确定发送链路状态单元46用于,将所述至少一个第二设备发送的有效的RxLSta信息作为所述第一设备的发送链路状态TxLSta信息。
所述确定接收链路状态单元47用于,
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
所述确定接收链路状态单元47具体用于,
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
所述控制单元43具体用于,根据所述RxTsi,使得所述第二设备的至少一条接收链路进入休眠状态;
所述接收单元45还用于,在控制所述第一设备的一个接收链路进入休眠状态后,通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息,以保持所述第一设备的接收链路与所述第二设备的发送链路同步。
所述控制单元43具体用于,根据所述TxTsi,使得所述第一设备的至少一条发送链路进入休眠状态;
所述发送单元44还用于,在控制所述第一设备的一个发送链路进入休眠状态后,通过处于休眠状态的发送链路向所述第二设备定期发送更新信息,以保持所述第一设备的发送链路与所述第二设备的接收链路同步。
可选的,如图7所示,所述装置还可以包括:
建立保存单元48:用于建立并保存与第二设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第一设备侧的第一链路索引LinkID 1、第二设备的索引DeviceID、该链路在第二设备侧的第二链路索引LinkID 2、与所述第二设备连接的所有LinkID 1之间的对应关系。
进一步可选的,所述装置还可以包括:查询单元49,用于在所述第一设备需要向所述第二设备发送RxLSta信息的情况下,根据所述第一设备一个接收链路的LinkID 1查询该链路的相关信息,得到第二设备的索引DeviceID、与所述第二设备连接的所有LinkID 1;
所述发送单元44还用于采用所述查询单元49查询到的所有LinkID 1标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第二设备发送所述RxLSta信息。
本发明实施例提供的一种调节设备带宽的装置,可以控制第一设备和第二设备互连的链路中处于工作状态的链路数,从而达到调节第一设备和第二设备的带宽的效果。
本发明实施例还提供了一种调节设备带宽的装置,该装置中的各个功能模块可以执行上述相应的步骤,对各个功能模块的描述可参考上述的方法实施例,在此不加赘述。
如图8所示,所述装置80包括:
接收单元81:用于接收第一设备发送的TxTsi和RxTsi;其中,所述TxTsi用于指示所述第二设备的接收链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第二设备的发送链路中需进入工作状态或休眠状态的个数;
控制单元82:用于根据所述TxTsi控制所述第二设备的各接收链路的状态,根据所述RxTsi控制所述第二设备的各发送链路的状态。
如图9所示,所述控制单元82包括:控制发送链路模块821和控制接收链路模块822;
所述控制接收链路模块822用于,根据所述TxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第二设备的一个接收链路需进入的状态,按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链路的状态;
所述控制发送链路模块821用于,根据所述RxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态。
可选的,如图10所示,还可以包括:确定发送链路状态单元83、确定接收链路状态单元84和发送单元85,
所述接收单元81还用于,接收所述至少一个第一设备的各个接收链路状态RxLSta信息,第一设备的一个RxLSta信息用于指示一个其对应的第一设备的接收链路是否可用;
所述确定发送链路状态单元83用于,得到所述第二设备的各个发送链路状态TxLSta信息,第二设备的一个所述TxLSta信息用于指示其对应的所述第二设备的一个发送链路是否可用;
所述确定接收链路状态单元84用于,确定所述第二设备的各个接收链路状态RxLSta信息;
所述发送单元85用于,至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备;第二设备的一个RxLSta信息用于指示所述第二设备的一个接收链路是否可用,也指示与之互连的第一设备对应的发送链路是否可用。
所述控制发送链路模块821具体用于,若所述TxSdsCtrl信息指示所述第二设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,同时等待已分发向该发送链路的业务流量排空后,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
控制接收链路模块822用于,若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路需进入休眠状态,则将该接收链路的RxLSta信息置为不可用状态,并发送给第一设备,然后控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
进一步的,所述接收单元81还用于:接收所述至少一个第一设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第二设备的标识一致,则该RxLSta信息有效;
所述确定发送链路状态单元83用于:
将所述至少一个第一设备发送的有效的RxLSta信息作为所述第二设备的发送链路状态TxLSta信息。
所述定接收链路状态单元84用于:
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
所述确定接收链路状态单元84具体用于:
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值,且错误数据包的权值设置远大于正确数据包的权值设置;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
所述控制单元82具体用于,根据所述TxTsi,使得所述第二设备的至少一条接收链路进入休眠状态,
所述接收单元81还用于,在控制所述第二设备的一个接收链路进入休眠状态后,通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第二设备的接收链路与所述第一设备的发送链路同步。
所述控制单元82具体用于,根据所述RxTsi,使得所述第二设备的至少一条发送链路进入休眠状态,
所述发送单元85还用于:在控制所述第二设备的一个发送链路进入休眠状态后,通过处于休眠状态的发送链路向所述第一设备定期发送更新信息,以保持所述第二设备的发送链路与所述第一设备的接收链路同步。
可选的,如图11所示,所述装置还可以包括:
建立保存单元86:用于建立并保存与第一设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第二设备侧的第二链路索引LinkID 2、第一设备的索引DeviceID、该链路在第一设备侧的第一路索引LinkID 1与所述第一设备连接的所有LinkID2之间的对应关系。
进一步可选的,还可以包括:查询单元87,用于在所述第二设备需要向所述第一设备发送RxLSta信息的情况下,根据所述第二设备一个接收链路的LinkID 2查询该链路的相关信息,得到第一设备的索引DeviceID、与所述第一设备连接的所有LinkID 2;
所述发送单元85还用于采用所述查询单元87查询到的所有LinkID 2标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第一设备发送所述RxLSta信息。
本发明实施例提供的一种调节设备带宽的装置,可以控制第一设备和第二设备互连的链路中处于工作状态的链路数,从而达到调节第一设备和第二设备的带宽的效果。
本发明实施例还提供了一种调节设备带宽的装置,如图12所示,所述装置120包括:
存储器121以及与所述存储121器连接的处理器122,所述装置120还可以包括发送器123和接收器124;
其中,所述存储器121用于,保存预先将所述第一设备的最大发送带宽WT分成的N档,其中第n档对应的发送带宽为,且保存预先将所述第一设备的最大接收带宽WR分成的N档,其中第n档对应的发送带宽为
所述存储器121还用于,保存与第二设备连接的各链路的相关信息。
所述处理器122用于,测量第一设备的发送流量速度S1和接收流量速度S2;根据所述发送流量速度S1获得发送流量状态信息TxTsi,以及根据所述接收流量速度S2获得接收流量状态信息RxTsi;其中,所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第一设备的接收链路中需进入工作状态或休眠状态的个数;根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态。
其中,所述根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态包括:
根据所述TxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制所述第一设备的各个发送链的状态;根据所述RxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第一设备的一个接收链路需进入的状态,按照所述第一设备的各个RxSdsCtrl信息,控制所述第一设备的各个接收链路的状态。
所述按照所述第一设备的各个TxSdsCtrl信息,控制所述第一设备的各个发送链的状态包括:
若所述TxSdsCtrl信息指示所述第一设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,等待已分发向该发送链路的业务流量发送完毕后,采用该发送链路发送空闲流量,然后等待该发送链路的TxLSta信息指示该发送链路不可用时,控制该发送链路进入休眠状态;若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
所述按照所述第一设备的各个RxSdsCtrl信息,控制所述第一设备的各个接收链路的状态包括:
若所述RxSdsCtrl信息指示所述第一设备的一个处于工作状态的接收链路需进入休眠状态,则待所述该接收链路的RxLSta信息指示该接收链路为不可用时,控制该接收链路进入休眠状态;若所述RxSdsCtrl信息指示所述第一设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
所述处理器122还用于,预先将所述第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;若所述S2较上次测得的减小且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;其中,r为带宽比例。
所述处理器122还用于,得到所述第一设备的各个发送链路状态TxLSta信息,确定所述第一设备的各个接收链路状态RxLSta信息。
所述得到所述第一设备的各个发送链路状态TxLSta信息包括:将所述至少一个第二设备发送的有效的RxLSta信息作为所述第一设备的发送链路状态TxLSta信息。
所述确定所述第一设备的各个接收链路状态RxLSta信息包括:若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,根据接收链路可用度的统计结果确定该链路的RxLSta信息。
所述根据检测结果统计该接收链路的可用度,根据接收链路可用度的统计结果确定该链路的RxLSta信息包括:接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值;若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
所述处理器122还用于,建立与第二设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第一设备侧的第一链路索引LinkID 1、第二设备的索引DeviceID、该链路在第二设备侧的第二链路索引LinkID 2、与所述第二设备连接的所有LinkID 1之间的对应关系。
所述发送器123用于,将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备。
所述发送器123还用于至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备。
所述发送器123还用于在控制所述第一设备的一个发送链路进入休眠状态后,通过处于休眠状态的发送链路向所述第二设备定期发送更新信息,以保持所述第一设备的发送链路与所述第二设备的接收链路同步。
所述接收器124用于,接收所述至少一个第二设备的各个接收链路状态RxLSta信息。
所述接收器124还用于,接收所述至少一个第二设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第一设备的标识一致,则该RxLSta信息有效。
所述接收器124还用于,在控制所述第一设备的一个接收链路进入休眠状态后,通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第一设备的接收链路与所述第二设备的发送链路同步。
本发明实施例提供的一种调节设备带宽的装置,可以控制第一设备和第二设备互连的链路中处于工作状态的链路数,从而达到调节第一设备和第二设备的带宽的效果。
本发明实施例还提供了一种调节设备带宽的装置,该装置中的各个功能模块可以执行上述相应的步骤,对各个功能模块的描述可参考上述的方法实施例,在此不加赘述。
如图13所示,所述装置130包括:
存储器131以及与所述存储器131连接的处理器132,还包括发送器133和接收器134;
其中,所述存储器131还用于,保存与第一设备连接的各链路的相关信息。
所述处理器132用于,根据所述TxTsi控制所述第二设备的各接收链路的状态,根据所述RxTsi控制所述第二设备的各发送链路的状态。
所述根据所述TxTsi控制所述第二设备的各接收链路的状态,根据所述RxTsi控制所述第二设备的各发送链路的状态包括:根据所述TxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第二设备的一个接收链路需进入的状态,按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链的状态;根据所述RxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态。
所述按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态包括:若所述TxSdsCtrl信息指示所述第二设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,同时等待已分发向该发送链路的业务流量排空后,控制该发送链路进入休眠状态;若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
所述按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链的状态包括:若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路需进入休眠状态,则将该接收链路的RxLSta信息置为不可用状态,并发送给第一设备,然后控制该接收链路进入休眠状态;若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
所述处理器132还用于,得到所述第二设备的各个发送链路状态TxLSta信息,确定所述第二设备的各个接收链路状态RxLSta信息。
所述得到所述第二设备的各个发送链路状态TxLSta信息包括:将所述至少一个第一设备发送的有效的RxLSta信息作为所述第二设备的发送链路状态TxLSta信息。
所述确定所述第二设备的各个接收链路状态RxLSta信息包括:若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
所述根据检测结果统计该接收链路的可用度,根据接收链路可用度的统计结果确定该链路的RxLSta信息包括:接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值,且错误数据包的权值设置远大于正确数据包的权值设置;若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
所述处理器132还用于,建立与第一设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第二设备侧的第二链路索引LinkID 2、第一设备的索引DeviceID、该链路在第一设备侧的第一路索引LinkID 1与所述第一设备连接的所有LinkID 2之间的对应关系。
所述发送器133用于,至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备。
所述发送器133还用于,在控制所述第二设备的一个发送链路进入休眠状态后,通过处于休眠状态的发送链路向所述第一设备定期发送更新信息,以保持所述第二设备的发送链路与所述第一设备的接收链路同步。
所述接收器134用于,接收第一设备发送的TxTsi和RxTsi,其中,所述TxTsi用于指示所述第二设备的接收链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第二设备的发送链路中需进入工作状态或休眠状态的个数;
所述接收器134还用于,接收所述至少一个第一设备的各个接收链路状态RxLSta信息,得到所述第二设备的各个发送链路状态TxLSta信息。
所述接收器134还用于,接收所述至少一个第一设备发送所述RxLSta信息的目标设备标识,
所述接收器134还用于,在控制所述第二设备的一个接收链路进入休眠状态后,通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第二设备的接收链路与所述第一设备的发送链路同步。
本发明实施例提供的一种调节设备带宽的装置,可以控制第一设备和第二设备互连的链路中处于工作状态的链路数,从而达到调节第一设备和第二设备的带宽的效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (48)

1.一种调节设备带宽的方法,其特征在于,包括:
预先将第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为
预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为
测量第一设备的发送流量速度S1和接收流量速度S2
若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应的TxTsi;若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;
若所述S2较上次测得的减小且则根据所述n确定需要进入工作状态的接收链路数,并生成相应的接收流量状态信息RxTsi;若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应的RxTsi;其中,r为带宽比例,所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第一设备的接收链路中需进入工作状态或休眠状态的个数;
根据所述TxTsi控制所述第一设备的各发送链路的状态,其中,所述第一设备的各发送链路的状态包括工作状态或休眠状态,根据所述RxTsi控制所述第一设备的各接收链路的状态,其中,所述第一设备的各接收链路的状态包括工作状态或休眠状态,并将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备。
2.根据权利要求1所述的方法,其特征在于,
所述根据所述TxTsi控制所述第一设备的各发送链路的状态,根据所述RxTsi控制所述第一设备的各接收链路的状态包括:
根据所述TxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,
按照所述第一设备的各个TxSdsCtrl信息,控制所述第一设备的各个发送链的状态;
根据所述RxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第一设备的一个接收链路需进入的状态,
按照所述第一设备的各个RxSdsCtrl信息,控制所述第一设备的各个接收链路的状态。
3.根据权利要求2所述的方法,其特征在于,还包括:
接收所述至少一个第二设备的各个接收链路状态RxLSta信息,得到所述第一设备的各个发送链路状态TxLSta信息,第二设备的一个所述RxLSta信息用于指示第二设备的一个接收链路是否可用,第一设备的一个所述TxLSta信息用于指示第一设备的一个发送链路是否可用;
确定所述第一设备的各个接收链路状态RxLSta信息,并至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备;第一设备的一个RxLSta信息用于指示所述第一设备的一个接收链路是否可用,也用于指示与之互连的第二设备对应的发送链路是否可用。
4.根据权利要求3所述的方法,其特征在于,所述按照所述第一设备的各个TxSdsCtrl信息,控制所述第一设备的各个发送链的状态包括:
若所述TxSdsCtrl信息指示所述第一设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,等待已分发向该发送链路的业务流量发送完毕后,采用该发送链路发送空闲流量,然后等待该发送链路的TxLSta信息指示该发送链路不可用时,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
5.根据权利要求3所述的方法,其特征在于,所述按照所述第一设备的各个RxSdsCtrl信息,控制所述第一设备的各个接收链路的状态包括:
若所述RxSdsCtrl信息指示所述第一设备的一个处于工作状态的接收链路需进入休眠状态,则待该接收链路的RxLSta信息指示该接收链路为不可用时,控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第一设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
6.根据权利要求3所述的方法,其特征在于,还包括:
接收所述至少一个第二设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第一设备的标识一致,则该RxLSta信息有效;
所述得到所述第一设备的各个发送链路状态TxLSta信息包括:
将所述至少一个第二设备发送的有效的RxLSta信息作为所述第一设备的发送链路状态TxLSta信息。
7.根据权利要求3所述的方法,其特征在于,所述确定所述第一设备的各个接收链路状态RxLSta信息包括:
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,根据接收链路可用度的统计结果确定该链路的RxLSta信息。
8.根据权利要求7所述的方法,其特征在于,所述根据检测结果统计该接收链路的可用度,根据接收链路可用度的统计结果确定该链路的RxLSta信息包括:
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
9.根据权利要求1所述的方法,其特征在于,所述根据所述RxTsi控制所述第一设备的各接收链路的状态包括:
根据所述RxTsi,使得所述第二设备的至少一条接收链路进入休眠状态,
所述方法还包括:
通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第一设备的接收链路与所述第二设备的发送链路同步。
10.根据权利要求1所述的方法,其特征在于,所述根据所述TxTsi控制所述第一设备的各发送链路的状态包括:
根据所述TxTsi,使得所述第一设备的至少一条发送链路进入休眠状态,
所述方法还包括:
通过处于休眠状态的发送链路向所述第二设备定期发送更新信息,以保持所述第一设备的发送链路与所述第二设备的接收链路同步。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述方法还包括:
建立并保存与第二设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第一设备侧的第一链路索引LinkID 1、第二设备的索引DeviceID、该链路在第二设备侧的第二链路索引LinkID 2、与所述第二设备连接的所有LinkID 1之间的对应关系。
12.根据权利要求3所述的方法,其特征在于,若所述第一设备需要向所述第二设备发送RxLSta信息,则所述至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备包括:
由所述第一设备一个接收链路的LinkID 1查询该链路的相关信息,得到第二设备的索引DeviceID、与所述第二设备连接的所有LinkID 1;
采用查询到的所有LinkID 1标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第二设备发送所述RxLSta信息。
13.一种调节设备带宽的方法,其特征在于,包括:
接收第一设备发送的TxTsi和RxTsi;其中,所述TxTsi用于指示第二设备的接收链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第二设备的发送链路中需进入工作状态或休眠状态的个数;所述TxTsi由所述第一设备预先将所述第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为测量第一设备的发送流量速度S1,若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应的TxTsi,若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;所述RxTsi由所述第一设备预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为测量第一设备的接收流量速度S2,若所述S2较上次测得的减小且则根据所述n确定需要进入工作状态的接收链路数,并生成相应的接收流量状态信息RxTsi;若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应的RxTsi;
根据所述TxTsi控制所述第二设备的各接收链路的状态,其中,所述第二设备的各接收链路的状态包括工作状态或休眠状态,根据所述RxTsi控制所述第二设备的各发送链路的状态,其中,所述第二设备的各发送链路的状态包括工作状态或休眠状态。
14.根据权利要求13所述的方法,其特征在于,所述根据所述TxTsi控制所述第二设备的各接收链路的状态,根据所述RxTsi控制所述第二设备的各发送链路的状态包括:
根据所述TxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第二设备的一个接收链路需进入的状态,按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链的状态;
根据所述RxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态。
15.根据权利要求14所述的方法,其特征在于,还包括:
接收至少一个第一设备的各个接收链路状态RxLSta信息,得到所述第二设备的各个发送链路状态TxLSta信息,第一设备的一个RxLSta信息用于指示设备的一个接收链路是否可用,第二设备的一个所述TxLSta信息用于指示所述第二设备的一个发送链路是否可用;
确定所述第二设备的各个接收链路状态RxLSta信息,并至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备;第二设备的一个RxLSta信息用于指示所述第二设备的一个接收链路是否可用,也指示与之互连的第一设备对应的发送链路是否可用。
16.根据权利要求14所述的方法,其特征在于,所述按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态包括:
若所述TxSdsCtrl信息指示所述第二设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,同时等待已分发向该发送链路的业务流量排空后,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
17.根据权利要求15所述的方法,其特征在于,所述按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链的状态包括:
若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路需进入休眠状态,则将该接收链路的RxLSta信息置为不可用状态,并发送给第一设备,然后控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
18.根据权利要求17所述的方法,其特征在于,还包括:
接收所述至少一个第一设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第二设备的标识一致,则该RxLSta信息有效;
所述得到所述第二设备的各个发送链路状态TxLSta信息包括:
将所述至少一个第一设备发送的有效的RxLSta信息作为所述第二设备的发送链路状态TxLSta信息。
19.根据权利要求15所述的方法,其特征在于,所述确定所述第二设备的各个接收链路状态RxLSta信息包括:
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
20.根据权利要求19所述的方法,其特征在于,所述根据检测结果统计该接收链路的可用度,根据接收链路可用度的统计结果确定该链路的RxLSta信息包括:
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值,且错误数据包的权值设置远大于正确数据包的权值设置;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
21.根据权利要求13所述的方法,其特征在于,所述根据所述TxTsi控制所述第二设备的各接收链路的状态包括:
根据所述TxTsi,使得所述第二设备的至少一条接收链路进入休眠状态,
所述方法还包括:
通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息,以保持所述第二设备的接收链路与所述第一设备的发送链路同步。
22.根据权利要求13所述的方法,其特征在于,所述根据所述RxTsi控制所述第二设备的各发送链路的状态包括:
根据所述RxTsi,使得所述第二设备的至少一条发送链路进入休眠状态,
所述方法还包括:
通过处于休眠状态的发送链路向所述第一设备定期发送更新信息,以保持所述第二设备的发送链路与所述第一设备的接收链路同步。
23.根据权利要求15-20任一项所述的方法,其特征在于,还包括:
建立并保存与第一设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第二设备侧的第二链路索引LinkID 2、第一设备的索引DeviceID、该链路在第一设备侧的第一路索引LinkID 1与所述第一设备连接的所有LinkID 2之间的对应关系。
24.根据权利要求15所述的方法,其特征在于,若所述第二设备需要向所述第一设备发送RxLSta信息,则所述至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备包括:
由所述第二设备一个接收链路的LinkID 2查询该链路的相关信息,得到第一设备的索引DeviceID、与该接收链路互连的第二设备的链路LinkID 1、与所述第一设备连接的所有LinkID 2;
采用查询到的所有LinkID 2标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第一设备发送所述RxLSta信息。
25.一种调节设备带宽的装置,其特征在于,包括:
分档单元:用于预先将第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为
测量单元:用于测量第一设备的发送流量速度S1和接收流量速度S2
获得单元:用于若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;若所述S2较上次测得的减小且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应RxTsi;其中,r为带宽比例;其中,所述TxTsi用于指示所述第一设备的发送链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第一设备的接收链路中需进入工作状态或休眠状态的个数;
控制单元:用于根据所述TxTsi控制所述第一设备的各发送链路的状态,其中,所述第一设备的各发送链路的状态包括工作状态或休眠状态,根据所述RxTsi控制所述第一设备的各接收链路的状态,其中,所述第一设备的各接收链路的状态包括工作状态或休眠状态;
发送单元:用于将所述TxTsi和所述RxTsi发送给与所述第一设备互连的至少一个第二设备。
26.根据权利要求25所述的装置,其特征在于,所述控制单元包括:控制发送链路模块和控制接收链路模块;
所述控制发送链路模块用于,根据所述TxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态;
所述控制接收链路模块用于,根据所述RxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第一设备的一个接收链路需进入的状态,按照所述第一设备的各个RxSdsCtrl信息,控制各个接收链路的状态。
27.根据权利要求26所述的装置,其特征在于,还包括:接收单元、确定发送链路状态单元和确定接收链路状态单元,
所述接收单元用于,接收所述至少一个第二设备的各个接收链路状态RxLSta信息,第二设备的一个所述RxLSta信息用于指示其对应的第二设备的一个接收链路是否可用;
所述确定发送链路状态单元用于,得到所述第一设备的各个发送链路状态TxLSta信息,第一设备的一个所述TxLSta信息用于指示其对应的第一设备的一个发送链路是否可用;
所述确定接收链路状态单元用于,确定所述第一设备的各个接收链路状态RxLSta信息;
所述发送单元还用于,至少将第一设备与第二设备互连的链路所对应的RxLSta信息发送给所述第二设备;第一设备的一个RxLSta信息用于指示所述第一设备的一个接收链路是否可用,也指示与之互连的第二设备对应的发送链路是否可用。
28.根据权利要求27所述的装置,其特征在于,所述控制发送链路模块具体用于,
若所述TxSdsCtrl信息指示所述第一设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,等待已分发向该发送链路的业务流量发送完毕后,采用该发送链路发送空闲流量,然后等待该发送链路的TxLSta信息指示该发送链路不可用时,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第一设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
29.根据权利要求27所述的装置,其特征在于,所述控制接收链路模块用于,
若所述RxSdsCtrl信息指示所述第一设备的一个处于工作状态的接收链路需进入休眠状态,则待该接收链路的RxLSta信息指示该接收链路为不可用时,控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第一设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
30.根据权利要求27所述的装置,其特征在于,所述接收单元还用于,
接收所述至少一个第二设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第一设备的标识一致,则该RxLSta信息有效;
所述确定发送链路状态单元用于,将所述至少一个第二设备发送的有效的RxLSta信息作为所述第一设备的发送链路状态TxLSta信息。
31.根据权利要求27所述的装置,其特征在于,所述确定接收链路状态单元用于,
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
32.根据权利要求31所述的装置,其特征在于,所述确定接收链路状态单元具体用于,
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
33.根据权利要求25所述的装置,其特征在于,所述控制单元具体用于,根据所述RxTsi,使得所述第二设备的至少一条接收链路进入休眠状态;
所述装置还包括接收单元,用于在控制所述第一设备的一个接收链路进入休眠状态后,通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息,以保持所述第一设备的接收链路与所述第二设备的发送链路同步。
34.根据权利要求25所述的装置,其特征在于,所述控制单元具体用于,根据所述TxTsi,使得所述第一设备的至少一条发送链路进入休眠状态;
所述发送单元还用于,在控制所述第一设备的一个发送链路进入休眠状态后,通过处于休眠状态的发送链路向所述第二设备定期发送更新信息,以保持所述第一设备的发送链路与所述第二设备的接收链路同步。
35.根据权利要求25-34任一项所述的装置,其特征在于,还包括:
建立保存单元:用于建立并保存与第二设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第一设备侧的第一链路索引LinkID 1、第二设备的索引DeviceID、该链路在第二设备侧的第二链路索引LinkID 2、与所述第二设备连接的所有LinkID 1之间的对应关系。
36.根据权利要求27所述的装置,其特征在于,还包括:查询单元,所述查询单元用于,
在所述第一设备需要向所述第二设备发送RxLSta信息的情况下,根据所述第一设备一个接收链路的LinkID 1查询该链路的相关信息,得到第二设备的索引DeviceID、与所述第二设备连接的所有LinkID 1;
所述发送单元还用于采用所述查询单元查询到的所有LinkID 1标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第二设备发送所述RxLSta信息。
37.一种调节设备带宽的装置,其特征在于,包括:
接收单元:用于接收第一设备发送的TxTsi和RxTsi;其中,所述TxTsi用于指示第二设备的接收链路中需进入工作状态或休眠状态的个数,所述RxTsi用于指示所述第二设备的发送链路中需进入工作状态或休眠状态的个数;所述TxTsi由所述第一设备预先将所述第一设备的最大发送带宽WT分成N档,其中第n档对应的发送带宽为测量第一设备的发送流量速度S1,若所述S1较上次测得的减小且则根据所述n确定需要进入工作状态的发送链路数,并生成相应的TxTsi,若所述S1较上次测得的增大且则根据所述n确定需要进入工作状态的发送链路数,并生成相应TxTsi;所述RxTsi由所述第一设备预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为预先将所述第一设备的最大接收带宽WR分成N档,其中第n档对应的发送带宽为测量第一设备的接收流量速度S2,若所述S2较上次测得的减小且则根据所述n确定需要进入工作状态的接收链路数,并生成相应的接收流量状态信息RxTsi;若S2较上次测得的增大且则根据所述n确定需要进入工作状态的接收链路数,并生成相应的RxTsi;
控制单元:用于根据所述TxTsi控制所述第二设备的各接收链路的状态,其中,所述第二设备的各接收链路的状态包括工作状态或休眠状态,根据所述RxTsi控制所述第二设备的各发送链路的状态,其中,所述第二设备的各发送链路的状态包括工作状态或休眠状态。
38.根据权利要求37所述的装置,其特征在于,所述控制单元包括:控制发送链路模块和控制接收链路模块;
所述控制接收链路模块用于,根据所述TxTsi生成所述第一设备的各个接收链路控制RxSdsCtrl信息,一个所述RxSdsCtrl信息用于指示第二设备的一个接收链路需进入的状态,按照所述第二设备的各个RxSdsCtrl信息,控制各个接收链路的状态;
所述控制发送链路模块用于,根据所述RxTsi生成所述第一设备的各个发送链路控制TxSdsCtrl信息,一个所述TxSdsCtrl信息用于指示第一设备的一个发送链路需进入的状态,按照所述第一设备的各个TxSdsCtrl信息,控制各个发送链路的状态。
39.根据权利要求38所述的装置,其特征在于,还包括:确定发送链路状态单元、确定接收链路状态单元和发送单元,
所述接收单元还用于,接收至少一个第一设备的各个接收链路状态RxLSta信息,第一设备的一个RxLSta信息用于指示一个其对应的第一设备的接收链路是否可用;
所述确定发送链路状态单元用于,得到所述第二设备的各个发送链路状态TxLSta信息,第二设备的一个所述TxLSta信息用于指示其对应的所述第二设备的一个发送链路是否可用;
所述确定接收链路状态单元用于,确定所述第二设备的各个接收链路状态RxLSta信息;
所述发送单元用于,至少将第二设备与第一设备互连的链路所对应的RxLSta信息发送给所述第一设备;第二设备的一个RxLSta信息用于指示所述第二设备的一个接收链路是否可用,也指示与之互连的第一设备对应的发送链路是否可用。
40.根据权利要求38所述的装置,其特征在于,所述控制发送链路模块具体用于,
若所述TxSdsCtrl信息指示所述第二设备的一个处于工作状态的发送链路需进入休眠状态,则停止向该发送链路分发业务流量,同时等待已分发向该发送链路的业务流量排空后,控制该发送链路进入休眠状态;
若所述TxSdsCtrl信息指示所述第二设备的一个处于休眠状态的发送链路需进入工作状态,则开启该发送链路,并采用该发送链路发送空闲流量,待该发送链路的TxLSta信息指示该发送链路为可用时,控制该发送链路进入工作状态。
41.根据权利要求39所述的装置,其特征在于,控制接收链路模块用于,
若所述RxSdsCtrl信息指示所述第二设备的一个处于工作状态的接收链路需进入休眠状态,则将该接收链路的RxLSta信息置为不可用状态,并发送给第一设备,然后控制该接收链路进入休眠状态;
若所述RxSdsCtrl信息指示所述第二设备的一个处于休眠状态的接收链路需进入工作状态,则开启该接收链路,待该接收链路的RxLSta信息中的指示该接收链路为可用时,控制该接收链路进入工作状态。
42.根据权利要求41所述的装置,其特征在于,所述接收单元还用于,接收所述至少一个第一设备发送所述RxLSta信息的目标设备标识,若该目标设备标识与所述第二设备的标识一致,则该RxLSta信息有效;
所述确定发送链路状态单元用于,将所述至少一个第一设备发送的有效的RxLSta信息作为所述第二设备的发送链路状态TxLSta信息。
43.根据权利要求39所述的装置,其特征在于,所述定接收链路状态单元用于,
若一个接收链路无法建立同步,则该接收链路的RxLSta信息指示该接收链路不可用;
若一个接收链路的同步已建立,则对该接收链路上接收到的数据包的正确性进行检测,根据检测结果统计该接收链路的可用度,然后根据接收链路可用度的统计结果确定该链路的RxLSta信息。
44.根据权利要求43所述的装置,其特征在于,所述确定接收链路状态单元具体用于,
接收链路每接收到一个正确的数据包,则该接收链路的可用度增加一定权值,接收链路每收到一个错误的数据包,则该接收链路的可用度减少一定的权值,且错误数据包的权值设置远大于正确数据包的权值设置;
若一段时间内的可用度的统计结果小于基准阈值,则RxLSta信息指示该接收链路不可用,若一段时间内的可用度的统计结果大于所述基准阈值,则RxLSta信息指示该接收链路可用。
45.根据权利要求37所述的装置,其特征在于,所述控制单元具体用于,根据所述TxTsi,使得所述第二设备的至少一条接收链路进入休眠状态,
所述接收单元还用于:在控制所述第二设备的一个接收链路进入休眠状态后,通过处于休眠状态的接收链路接收所述第二设备定期发送的更新信息以保持所述第二设备的接收链路与所述第一设备的发送链路同步。
46.根据权利要求37所述的装置,其特征在于,所述控制单元具体用于,根据所述RxTsi,使得所述第二设备的至少一条发送链路进入休眠状态,
所述装置还包括发送单元,用于在控制所述第二设备的一个发送链路进入休眠状态后,通过处于休眠状态的发送链路向所述第一设备定期发送更新信息,以保持所述第二设备的发送链路与所述第一设备的接收链路同步。
47.根据权利要求39-44任一项所述的装置,其特征在于,还包括:
建立保存单元:用于建立并保存与第一设备连接的各链路的相关信息,一个链路的相关信息包括:该链路在第二设备侧的第二链路索引LinkID 2、第一设备的索引DeviceID、该链路在第一设备侧的第一路索引LinkID 1与所述第一设备连接的所有LinkID 2之间的对应关系。
48.根据权利要求39所述的装置,其特征在于,还包括:查询单元,所述查询单元用于,在所述第二设备需要向所述第一设备发送RxLSta信息的情况下,根据所述第二设备一个接收链路的LinkID 2查询该链路的相关信息,得到第一设备的索引DeviceID、与所述第一设备连接的所有LinkID 2;
所述发送单元还用于,采用所述查询单元查询到的所有LinkID 2标识的链路中TxLSta信息指示可用的链路的全部或部分向所述第一设备发送所述RxLSta信息。
CN201310293556.XA 2013-07-12 2013-07-12 一种调节设备带宽的方法、装置 Active CN103401793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310293556.XA CN103401793B (zh) 2013-07-12 2013-07-12 一种调节设备带宽的方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310293556.XA CN103401793B (zh) 2013-07-12 2013-07-12 一种调节设备带宽的方法、装置

Publications (2)

Publication Number Publication Date
CN103401793A CN103401793A (zh) 2013-11-20
CN103401793B true CN103401793B (zh) 2017-06-20

Family

ID=49565322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310293556.XA Active CN103401793B (zh) 2013-07-12 2013-07-12 一种调节设备带宽的方法、装置

Country Status (1)

Country Link
CN (1) CN103401793B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105323114A (zh) * 2014-07-31 2016-02-10 宇龙计算机通信科技(深圳)有限公司 一种路由设备及状态调整方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146039A (zh) * 2007-08-14 2008-03-19 中兴通讯股份有限公司 自动调整带宽的装置及其调整方法
CN101184041A (zh) * 2007-12-07 2008-05-21 烽火通信科技股份有限公司 一种在多业务传输平台上实现自动分级带宽调整的方法
CN101834758A (zh) * 2010-04-09 2010-09-15 华为技术有限公司 逻辑端口节能实现方法及其设备与系统
CN101989926A (zh) * 2009-07-31 2011-03-23 美国博通公司 用于能量高效的以太网系统和方法
CN102318289A (zh) * 2011-07-29 2012-01-11 华为技术有限公司 带宽调整方法、总线控制器及信号转换器
CN102457413A (zh) * 2010-10-29 2012-05-16 美国博通公司 发现节点中的节能方法
CN102724123A (zh) * 2012-06-27 2012-10-10 青岛上锋科技有限公司 网络流量控制方法及控制装置
CN103200115A (zh) * 2013-04-19 2013-07-10 杭州华三通信技术有限公司 一种spb网络中的流量控制方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8433783B2 (en) * 2010-09-29 2013-04-30 Citrix Systems, Inc. Systems and methods for providing quality of service via a flow controlled tunnel
US8885506B2 (en) * 2011-06-14 2014-11-11 Broadcom Corporation Energy efficiency ethernet with assymetric low power idle

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146039A (zh) * 2007-08-14 2008-03-19 中兴通讯股份有限公司 自动调整带宽的装置及其调整方法
CN101184041A (zh) * 2007-12-07 2008-05-21 烽火通信科技股份有限公司 一种在多业务传输平台上实现自动分级带宽调整的方法
CN101989926A (zh) * 2009-07-31 2011-03-23 美国博通公司 用于能量高效的以太网系统和方法
CN101834758A (zh) * 2010-04-09 2010-09-15 华为技术有限公司 逻辑端口节能实现方法及其设备与系统
CN102457413A (zh) * 2010-10-29 2012-05-16 美国博通公司 发现节点中的节能方法
CN102318289A (zh) * 2011-07-29 2012-01-11 华为技术有限公司 带宽调整方法、总线控制器及信号转换器
CN102724123A (zh) * 2012-06-27 2012-10-10 青岛上锋科技有限公司 网络流量控制方法及控制装置
CN103200115A (zh) * 2013-04-19 2013-07-10 杭州华三通信技术有限公司 一种spb网络中的流量控制方法和设备

Also Published As

Publication number Publication date
CN103401793A (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
CN102004673A (zh) 多核处理器负载均衡的处理方法及系统
CN110225553A (zh) 一种数据分流方法及设备、系统
CN107395521B (zh) 一种基于物联网的大数据信息处理方法及系统
CN105072620B (zh) 基于网络虚拟化的运营商间资源共享方法
CN103220234A (zh) 矩阵堆叠系统的拓扑发现方法和设备
CN104852859A (zh) 一种聚合接口业务处理方法和设备
CN106781429A (zh) 智能电表、集中器及抄表方法
CN103701721B (zh) 报文传输方法及装置
CN102984082A (zh) 一种网络服务质量控制方法及装置
CN103401793B (zh) 一种调节设备带宽的方法、装置
CN113453096B (zh) 一种无源光网络pon口流量的预测方法及装置
CN104243246B (zh) 一种基于ZigBee技术的FlexRay总线测试与优化方法及装置
CN107306412A (zh) 用以实现消息可靠传输的方法、用户设备和基站
CN101848158A (zh) 一种数据通道的负载均衡方法、装置和网络交换设备
CN105376118B (zh) 一种afdx交换机发送性能的测试方法
CN104009937A (zh) 一种增强型传输选择标准配置信息传输方法及装置
CN105323122B (zh) 一种基于交换机的网络设备吞吐量测试装置及测试方法
CN102624769A (zh) 管线式网络装置及相关数据传送方法
CN106570011A (zh) 一种分布式爬虫url种子分发方法、调度节点及抓取节点
CN102223273A (zh) 一种数字传感网络及通讯方法
CN109862534A (zh) 资源配置方法和装置
CN103648167B (zh) 电网应急通信的业务调度方法与系统
CN109308210A (zh) 一种在多核服务器上优化nfv转发服务链性能的方法
CN102789399A (zh) 多核分布式系统中的进程间通信方法
CN105553865A (zh) 一种fc交换机芯片信用管理测试方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant