一种动态调度方法、装置及系统与流程

文档序号:16433790发布日期:2018-12-28 20:20阅读:184来源:国知局
一种动态调度方法、装置及系统与流程
本申请涉及通信
技术领域
,尤其涉及一种动态调度方法、装置及系统。
背景技术
随着互联网产业的蓬勃发展,数据中心网络的规模不断扩大,如何有效降低数据调度和路由分配的复杂度是当前学术界和工业界共同关注的热点问题,也越来越具有挑战性。目前采用的一种调度技术是快速通过(fastpass)技术。fastpass技术的具体方案为:数据中心网络中设置一个中心调度器,采用该中心调度器控制该数据中心网络中的所有数据调度和路由分配。中心调度器通过分析所有主机(host)的数据请求信息,执行如下操作。1)时隙分配:在每个时隙,采用贪婪算法对源-目主机进行匹配直到无法加入任何一对源-目主机为止,以达到最大匹配。在该方案下,在一个时隙内,一个主机最多与一个主机进行数据传输。2)路径选择:采用基于二分图的边着色算法对到达交换机的数据包进行路由选择,以保证数据包传输零冲突。然而,当采用fastpass技术进行调度时,要求中心调度器在每个时隙都要从所有主机收集数据请求信息,并根据根收集到的庞大数据请求信息完成主机到主机的传输配对和全局路由分配的计算任务。因此,中心调度器的信息交换成本较高,且数据调度和路由分配的计算复杂度较大。技术实现要素:本申请提供了一种动态调度方法、装置及系统,以降低信息交换成本,以及数据调度和路由分配的计算复杂度。第一方面,本申请提供一种动态调度方法,该方法包括:在每个时隙内,调度平台接收每个汇聚交换机的第一虚拟输出队列voq长度信息,该第一voq长度信息包括该汇聚交换机内的m-1个voq中缓存的数据包个数,该m-1个voq中的每个voq用于缓存需要从第一集群pod发送到m-1个第二pod中的一个第二pod的数据包,该第一pod为该汇聚交换机所在的pod,该m-1个第二pod为由该调度平台管理的m个pod中除该第一pod以外的其他pod,m≥2,m为整数;该调度平台对接收到的所有第一voq长度信息进行汇总,得到全局voq长度信息,该全局voq长度信息包括需要从该m个pod中的每个pod发送至该m个pod中除该pod以外的其他每个pod的数据包总个数;该调度平台根据该全局voq长度信息确定传输匹配方案,该传输匹配方案用于指示每个pod向该m个pod中除该pod以外的一个pod发送数据包,并接收该m个pod中除该pod以外的一个pod发送的数据包;该调度平台根据该传输匹配方案向每个汇聚交换机发送对应的匹配结果信息,以使得每个汇聚交换机按照该传输匹配方案发送数据包。采用本申请提供的动态调度方法,调度平台只需在每个时隙收集从每个pod中的汇聚交换机缓存的需要从该pod发送至其他pod的数据包的个数,然后确定出一个能够使得每个pod向m个pod中除该pod以外的一个pod发送数据包,并接收该m个pod中除该pod以外的一个pod发送的数据包的传输匹配方案即可。由于一个pod可以与多个主机相连,因此相比于现有技术中收集每个主机的数据请求信息,以及计算主机到主机的传输配对和全局路由分配的方案,采用申请提供的动态方法能够大大降低信息交换成本,以及数据调度和路由分配的计算复杂度。在一种可能设计中,该调度平台对接收到的所有第一voq长度信息进行汇总,得到全局voq长度信息,包括:该调度平台将每个pod中的汇聚交换机的第一voq长度信息进行汇总,得到与该m个pod一一对应的m个第二voq长度信息,该第二voq长度信息包括当前时隙内对应的pod中所有汇聚交换机缓存的需要从该对应的pod发送至该m个pod中除该对应的pod以外其他每个pod的数据包总个数;该调度平台将该m个第二voq长度信息进行汇总,得到该全局voq长度信息。在一种可能设计中,该调度平台根据该全局voq长度信息确定传输匹配方案,包括:该调度平台将该全局voq长度信息转换为带权二分图信息;该调度平台根据该带权二分图信息,采用最大权匹配算法,得到该传输匹配方案。在这种可能的设计中,采用带权二分图的最大权匹配算法,能够根据数据包的积压状态来实时调整传输匹配方案,以实现对链路资源更加合理的分配,从而有效提高网络带宽利用率和网内延迟。在一种可能设计中,该调度平台根据该传输匹配方案向每个汇聚交换机发送对应的匹配结果信息,包括:该调度平台根据该传输匹配方案生成与每个汇聚交换机对应的匹配结果信息;该调度平台向每个汇聚交换机发送该对应匹配结果信息。第二方面,本申请提供一种调度方法,该方法包括:在每个时隙内,汇聚交换机确定第一虚拟输出队列voq长度信息,该第一voq长度信息包括该汇聚交换机内的m-1个voq中缓存的数据包个数,该m-1个voq中的每个voq用于缓存需要从第一pod发送到m-1个第二pod中的一个第二pod的数据包,该第一pod为该汇聚交换机所在的pod,该m-1个第二pod为由该调度平台管理的m个pod中除该第一pod以外的其他pod,m≥2,m为整数;该汇聚交换机向该调度平台发送该第一voq长度信息;该汇聚交换机接收该调度平台发送的匹配结果信息,该匹配结果信息用于指示该汇聚交换机发送第一数据包,该第一数据包为需要从该第一pod发送至该第三pod的数据包,该第三pod为该其他pod中的一个;该汇聚交换机根据该匹配结果信息发送第一数据包。采用本申请提供的动态调度方法,汇聚交换机通过向调度平台发送第一voq长度信息,以使得该调度平台能够确定该汇聚交换机内的m-1个voq中缓存的数据包个数。而调度平台只需在每个时隙收集从每个pod中的汇聚交换机缓存的需要从该pod发送至其他pod的数据包的个数,然后确定出一个能够使得每个pod向m个pod中除该pod以外的一个pod发送数据包,并接收该m个pod中除该pod以外的一个pod发送的数据包的传输匹配方案即可。由于一个pod可以与多个主机相连,因此相比于现有技术中收集每个主机的数据请求信息,以及计算主机到主机的传输配对和全局路由分配的方案,采用申请提供的动态方法能够大大降低信息交换成本,以及数据调度和路由分配的计算复杂度。在一种可能设计中,该汇聚交换机与n/2个核心交换机连接,n≥2,n为整数,该第一数据包的个数为n,该汇聚交换机根据该匹配结果信息发送该第一数据包,包括:当n≤n/2时,该汇聚交换机根据该匹配结果信息,在该当前时隙内同时发送n个该第一数据包;当n≥n/2时,该汇聚交换机根据该匹配结果信息,在该当前时隙内同时发送n/2个该第一数据包。在一种可能设计中,该汇聚交换机与n/2个核心交换机连接,n≥2,n为整数,该第一数据包的个数为n,该汇聚交换机根据该匹配结果信息发送该第一数据包,包括:当n≤n/2时,该汇聚交换机根据该匹配结果信息,在下一个时隙内同时发送n个该第一数据包;当n≥n/2时,该汇聚交换机根据该匹配结果信息,在下一个时隙内同时发送n/2个该第一数据包。第三方面,本申请提供一种调度平台,包括:接收单元,用于在每个时隙内,接收每个汇聚交换机的第一虚拟输出队列voq长度信息,该第一voq长度信息包括该汇聚交换机内的m-1个voq中缓存的数据包个数,该m-1个voq中的每个voq用于缓存需要从第一pod发送到m-1个第二pod中的一个第二pod的数据包,该第一pod为该汇聚交换机所在的pod,该m-1个第二pod为由该调度平台管理的m个pod中除该第一pod以外的其他pod,m≥2,m为整数;处理单元,用于对该接收单元接收到的所有第一voq长度信息进行汇总,得到全局voq长度信息,该全局voq长度信息包括需要从该m个pod中的每个pod发送至该m个pod中除该pod以外的其他每个pod的数据包总个数;该处理单元,还用于根据该全局voq长度信息确定传输匹配方案,该传输匹配方案用于指示每个pod向该m个pod中除该pod以外的一个pod发送数据包,并接收该m个pod中除该pod以外的一个pod发送的数据包;发送单元,用于根据该处理单元确定的该传输匹配方案向每个汇聚交换机发送对应的匹配结果信息,以使得每个汇聚交换机按照该传输匹配方案发送数据包。在一种可能设计中,该处理单元包括第一处理模块和与该m个pod一一对应的m个第二处理模块,该处理单元对接收到的所有第一voq长度信息进行汇总,得到全局voq长度信息,具体包括:该m个第二处理模块中的每个第二处理模块,用于将对应的pod中的所有汇聚交换机的第一voq长度信息进行汇总,得到第二voq长度信息,并将该第二voq长度信息发送至该第一处理模块,该第二voq长度信息包括当前时隙内该所有汇聚交换机缓存的需要从该对应的pod发送至该m个pod中除该对应的pod以外其他每个pod的数据包总个数;该第一处理模块,用于将该m个第二处理模块得到的m个第二voq长度信息进行汇总,得到该全局voq长度信息。在一种可能设计中,该处理单元根据该全局voq长度信息确定传输匹配方案,具体包括:该第一处理模块将该全局voq长度信息转换为带权二分图信息;该调度平台根据该带权二分图信息,采用最大权匹配算法,得到该传输匹配方案。在一种可能设计中,该发送单元根据该处理单元确定的该传输匹配方案向每个汇聚交换机发送对应的匹配结果信息,具体包括:根据该传输匹配方案生成与每个汇聚交换机对应的匹配结果信息;向每个汇聚交换机发送该对应匹配结果信息。本申请提供的调度平台的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。第四方面,本申请提供一种汇聚交换机,包括:处理单元,用于在每个时隙内,确定第一虚拟输出队列voq长度信息,该第一voq长度信息包括该汇聚交换机内的m-1个voq中缓存的数据包个数,该m-1个voq中的每个voq用于缓存需要从第一pod发送到m-1个第二pod中的一个第二pod的数据包,该第一pod为该汇聚交换机所在的pod,该m-1个第二pod为由该调度平台管理的m个pod中除该第一pod以外的其他pod,m≥2,m为整数;发送单元,用于向该调度平台发送该处理单元确定的该第一voq长度信息;接收单元,用于接收该调度平台发送的匹配结果信息,该匹配结果信息用于指示该汇聚交换机发送第一数据包,该第一数据包为需要从该第一pod发送至该第三pod的数据包,该第三pod为该其他pod中的一个;发送单元,用于根据该接收单元接收到的该匹配结果信息发送第一数据包。在一种可能设计中,该汇聚交换机与n/2个核心交换机连接,n≥2,n为整数,该第一数据包的个数为n,该发送单元根据该匹配结果信息发送该第一数据包,具体包括:当n≤n/2时,根据该匹配结果信息,在该当前时隙内同时发送n个该第一数据包;当n≥n/2时,根据该匹配结果信息,在该当前时隙内同时发送n/2个该第一数据包。在一种可能设计中,该汇聚交换机与n/2个核心交换机连接,n≥2,n为整数,该第一数据包的个数为n,该发送单元根据该匹配结果信息发送该第一数据包,具体包括:当n≤n/2时,根据该匹配结果信息,在下一个时隙内同时发送n个该第一数据包;当n≥n/2时,根据该匹配结果信息,在下一个时隙内同时发送n/2个该第一数据包。本申请提供的汇聚交换机的技术效果可以参见上述第二方面或第二方面的各个实现方式的技术效果,此处不再赘述。第五方面,本申请还提供了一种调度平台,包括:处理器、存储器及收发器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第一方面各种实现方式所述动态调度方法。本申请提供的调度平台的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。第六方面,本申请还提供了一种汇聚交换机,包括:处理器、存储器及收发器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第二方面各种实现方式所述动态调度方法。本申请提供的汇聚交换机的技术效果可以参见上述第二方面或第二方面的各个实现方式的技术效果,此处不再赘述。第七方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的动态调度方法各实施例中的部分或全部步骤。第八方面,本申请还提供了一种通信系统,包括如第三方面或第三方面的任一种实现方式所述的调度平台,和如第四方面或第四方面的任一种实现方式所述的汇聚交换机;或者包括如第五方面或第五方面的任一种实现方式所述的调度平台,和如第六方面或第六方面的任一种实现方式所述的汇聚交换机。附图说明图1a为本申请提供的一种通信系统的结构示意图;图1b为本申请提供的另一种通信系统的结构示意图;图2为本申请提供的一种汇聚交换机的结构示意图一;图3为本申请提供的一种调度平台的结构示意图一;图4为本申请提供的一种动态调度方法一个实施例的流程图;图5为本申请提供的一种带权二分图的示意图;图6a为本申请提供的一种调度平台的结构示意图二;图6b为本申请提供的一种调度平台的结构示意图三;图6c为本申请提供的一种调度平台的结构示意图四;图7a为本申请提供的一种汇聚交换机的结构示意图二;图7b为本申请提供的一种汇聚交换机的结构示意图三;图7c为本申请提供的一种汇聚交换机的结构示意图四。具体实施方式首先,本文中术语“系统”和“网络”在本文中常被可互换使用。,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。其次,本申请提供的动态调度方法可以适用于包括多个集群(pod)的通信系统。如图1a所示,为本申请提供的一种通信系统框图,包括核心交换机群组、m(m≥2,m为整数)个pod、与每个pod连接的多个主机、以及调度平台。其中,m个pod中的每个pod中包括多个汇聚交换机和多个边缘交换机。调度平台可以是独立于各个pod部署的控制系统,与每个汇聚交换机连接,收集每个汇聚交换机的数据缓存信息,并通过集中调度,控制每个汇聚交换机进行数据转发。或者,如图1a所示,该调度平台也可以包括部对应于每个pod的pod控制器和集中控制器两部分。其中,pod控制器与该pod控制器所属的pod中的每个汇聚交换机连接,用于收集该pod内每个汇聚交换机的数据缓存信息,然后再将收集到信息发送至集中控制器。集中控制器根据对各个pod发送的信息,确定调度方案,并控制每个pod控制器将确定的传输方案通知到每个汇聚交换机,以使得各个汇聚交换机根据该调度方案进行数据传输。在本申请中,上述通信系统可以是基于n元胖树(fat-tree)交换网络的一个通信系统。其中,n表示该胖树交换网络每个交换机(包括边缘交换机、汇聚交换机以及核心交换机)有n个端口,且一个n元胖树系统可以包括n个pod。一个pod中包含n/2个汇聚交换机和n/2个边缘交换机。每个汇聚交换机的n/2端口分别与n/2个核心交换机连接,另外n/2个端口分别与该pod中的n/2边缘交换机连接。每个边缘交换机的n/2个端口分别与该pod中的n/2汇聚交换机连接,另外n/2个端口分别与n/2个主机连接。由于一个pod内的每个汇聚交换机都与n/2个核心交换机连接,因此,一个pod与连接(n/2)2个核心交换机。示例性的,假设n=4,那么基于4元胖树交换网络,如图1a所示的通信系统的具体形式可以如图1b所示,包括核心交换机群1、核心交换机群2、pod1、pod2、pod3、pod4、调度平台以及16个主机。其中,核心交换机群1中包括两个核心交换机(如图1b所示c11和c12),核心交换机群2中包括两个核心交换机(如图1b所示c21和c22)。调度平台包括pod控制器1、pod控制器2、pod控制器3、pod控制器4以及集中控制器。pod1中包括汇聚交换机11、汇聚交换机12、边缘交换机11和边缘交换机12。pod控制器1与集中控制器、汇聚交换机11和汇聚交换机12连接。汇聚交换机11的两个端口分别与c11和c12连接,另外两个端口分别与边缘交换机11和边缘交换机12连接。汇聚交换机12的两个端口分别与c21和c22连接,另外两个端口分别与边缘交换机11和边缘交换机12连接。边缘交换机11另外两个端口分别与和两个主机连接,边缘交换机12的另外两个端口分别与另外两个主机连接。pod2中包括汇聚交换机21、汇聚交换机22、边缘交换机21和边缘交换机22。pod控制器2与集中控制器、汇聚交换机21和汇聚交换机22连接。汇聚交换机21的两个端口分别与c11和c12连接,另外两个端口分别与边缘交换机21和边缘交换机22连接。汇聚交换机22的两个端口分别与c21和c22连接,另外两个端口分别与边缘交换机21和边缘交换机22连接。边缘交换机21另外两个端口分别与和两个主机连接,边缘交换机22的另外两个端口分别与另外两个主机连接。pod3中包括汇聚交换机31、汇聚交换机32、边缘交换机31和边缘交换机32。pod控制器3与集中控制器、汇聚交换机31和汇聚交换机32连接。汇聚交换机31的两个端口分别与c11和c12连接,另外两个端口分别与边缘交换机31和边缘交换机32连接。汇聚交换机32的两个端口分别与c21和c22连接,另外两个端口分别与边缘交换机31和边缘交换机32连接。边缘交换机31另外两个端口分别与和两个主机连接,边缘交换机32的另外两个端口分别与另外两个主机连接。pod4中包括汇聚交换机41、汇聚交换机42、边缘交换机41和边缘交换机42。pod控制器4与集中控制器、汇聚交换机41和汇聚交换机42连接。汇聚交换机41的两个端口分别与c11和c12连接,另外两个端口分别与边缘交换机41和边缘交换机42连接。汇聚交换机42的两个端口分别与c21和c22连接,另外两个端口分别与边缘交换机41和边缘交换机42连接。边缘交换机41另外两个端口分别与和两个主机连接,边缘交换机42的另外两个端口分别与另外两个主机连接。需要说明的是,本申请提供的通信系统,除了基于上述n元胖树交换网络外,还可以基于其他网络结构,此处不再一一列。示例性的,如图2所示,为本申请提供的一种汇聚交换机的硬件结构示意图,包括:包括处理器、存储器以及通信接口等。其中,处理器是该汇聚交换机的控制中心,利用各种接口和线路连接整个汇聚交换机的各个部分,通过运行或执行存储在存储器内的应用程序和/或操作系统,以及调用存储在存储器内的数据,执行汇聚交换机的各种功能和处理数据,从而对汇聚交换机进行整体监控。处理器可以包括数字信号处理器设备、微处理器设备、模数转换器、数模转换器等等,这些设备能够根据各自的能力而分配汇聚交换机的控制和信号处理功能。通信接口为可用于收发信息,并将接收到的信息给处理器处理。示例性的,如图3所示,为本申请提供的一种调度平台的硬件结构示意图,包括:可以包括存储、处理器、总线以及通信接口。其中,总线用于连接处理器、存储器和通信接口,并且在处理器、存储器、和通信接口之间实现数据传输。处理器通过总线从通信接口接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理,以及将处理后的数据通过总线从通信接口发送至其他设备。存储器包括程序模块以及数据模块等。程序模块可以由软件、固件、硬件或其中的至少两种组成,用于存储应用程序以及操作系统。通信接口用于将本调度平台与pod中的汇聚交换机之间进行连接,以实现调度平台与pod之间的信息交互。需要说明的是,本申请中涉及到的时隙是指:传输一个最大传输单元(maximumtransmissionunit,mtu)大小的数据包的时间段。基于如图1b所示的通信系统,参见图4,为本申请提供的一种动态调度方法一个实施例的流程图,该方法包括如下步骤:步骤401,每个主机采用局部最长队列优先(longestqueuefirst,lqf)调度算法,向与其连接的边缘交换机发送数据包。需要说明的是,在本申请中,每个主机内都配置了m个voq。该m个voq分别用于缓存该主机发送至网络中的m个其他主机的数据包。示例性的,以系统中的第i个主机(主机i)为例,假设主机i中用于缓存主机i发送到主机j(表示系统中的第j个主机)的voq表示为voqij。数据包以先进先出(firstinputfirstoutput,fifo)的规则进出voqij。即对于voqij中缓存的数据包,最先缓存进voqij的数据包,最先被从voqij输出。在本申请中,主机i在每个时隙允许向系统输入一个数据包,即向与主机i连接的边缘交换机发送一个数据包。那么,主机到主机的数据流模式为:允许满足条件的任意数据流。其中,λij<1表示从主机i到主机j的数据包到达速率。表示对于主机j,系统中除主机j外的其他所有主机发送至主机j的数据的传输速率之和不大于1。表示对于主机i,主机i发送到系统中除主机i外的其他所有主机的数据的传输速率之和不大于1。通过上述数据流模式,可以避免每个主机输入系统的数据包的传输速率过高,高于系统对数据包的转发速度,而导致的系统中传输道路堵塞,从而保证了系统的稳定性。在本申请中,每个主机均采用局部lqf调度算法,从m个voq中选择队列长度最长(即已经缓存的数据包的数量最多)的voq进行服务。如果队列长度最长的voq的队列长度大于1,则从该voq的队首输出一个数据包,传输给所连接的边缘交换机。若该队列长度最长的voq的队列长度小于1(即voq中未缓存数据包),则不对该voq进行任何操作。步骤402,每个边缘交换机每接收到一个数据包,则将该数据包随机转发给与该边缘交换机连接的任意一个汇聚交换机。示例性的,以如图1b中的pod1中的边缘交换机11为例,边缘交换机11有2个端口分别与pod1中的汇聚交换机11和汇聚交换机12连接。边缘交换机11每接收到一个数据包,即可随机选择一个与汇聚交换机连接的端口输出该数据包,以将该数据包随机转发给汇聚交换机11或者汇聚交换机12。步骤403,在每个时隙内,每个汇聚交换机确定该汇聚交换机的第一voq长度信息。在本申请中,系统中的每个汇聚交换机中均配置m-1个voq。以一个汇聚交换机为例,该汇聚交换机中的m-1个voq中的每个voq用于缓存需要从第一pod发送到m-1个第二pod中的一个第二pod的数据包,该第一pod为该汇聚交换机所在的pod,该m-1个第二pod为由该调度平台管理的m个pod中除该第一pod以外的其他pod。其中,本申请中所说的从一个pod发送至另一个pod的数据包,是指从一个pod连接的主机发送给另一个pod连接的主机的数据包。示例性的,对于如图1b中所示的汇聚交换机11和汇聚交换机12来说,pod1为第一pod,pod2、pod3和pod4均为第二pod。汇聚交换机11中配置的3个voq分别为voq1112、voq1113、voq1114。其中,voq1112用于缓存需要从pod1发送给pod2的数据包;voq1113用于缓存需要从pod1发送给pod3的数据包;voq1114用于缓存需要从pod1发送给pod4的数据包。汇聚交换机12中均配置的3个voq,分别为voq1212、voq1213、voq1214。其中,voq1212用于缓存需要从pod1发送给pod2的数据包;voq1213用于缓存需要从pod1发送给pod3的数据包;voq1214用于缓存需要从pod1发送给pod4的数据包。可以理解的是,汇聚交换机11和汇聚交换机12中均可能缓存需要从pod1发送给pod2、pod3和/或pod4的数据包。在每个时隙内,每个汇聚交换机均需查看或者检测该汇聚交换机内的每个voq中数据包的缓存情况,确定第一voq长度信息。每个汇聚交换机的第一voq长度信息包括该汇聚交换机内m-1个voq中缓存的数据包的个数。也就是说,第一voq长度信息用于指示当前时隙内该汇聚交换机中缓存的需要从第一pod发送至m-1个第二pod中的每个第二pod的数据包个数。例如,汇聚交换机11中的voq1112中缓存了3个数据包,voq1113中缓存了5个数据包,voq1114中缓存了8个数据包,那么,汇聚交换机11的第一voq长度信息(以下简称为第一voq长度信息11)用于指示当前时隙内汇聚交换机11中缓存的需要从pod1发送给pod2的数据包有3个,需要从pod1发送给pod3的数据包有5个,需要从pod1发送给pod4的数据包有8个。第一voq长度信息11可以如表1所示:表1pod1pod2pod3pod4汇聚交换机11358汇聚交换机12中的voq1212中缓存了1个数据包,voq1213中缓存了3个数据包,voq1214中缓存了4个数据包,那么,汇聚交换机12的第一voq长度信息(以下简称为第一voq长度信息12)用于指示当前时隙内汇聚交换机12中缓存的需要从pod1发送给pod2的数据包有1个,需要从pod1发送给pod3的数据包有3个,需要从pod1发送给pod4的数据包有4个。第一voq长度信息12可以如表2所示:表2pod1pod2pod3pod4汇聚交换机12134步骤404,每个汇聚交换机向该调度平台发送该第一voq长度信息。步骤405,在每个时隙内,调度平台对接收到的所有第一voq长度信息进行汇总,得到全局voq长度信息。其中,全局voq长度信息包括当前时隙内需要从该m个pod中的每个pod发送至该m个pod中除该pod以外的其他每个pod的数据包总个数。在一个示例中,调度平台可以先将每个pod中的汇聚交换机的第一voq长度信息进行汇总,得到与m个pod一一对应的m个第二voq长度信息。该第二voq长度信息包括当前时隙内对应的pod中所有汇聚交换机缓存的需要从该对应的pod发送至该m个pod中除该对应的pod以外其他每个pod的数据包总个数。然后调度平台将该m个第二voq长度信息进行汇总,得到该全局voq长度信息。示例性的,每个pod中的各个汇聚交换机可以将各自的第一voq长度信息发送给对应的pod控制器。pod控制器将其所在的pod中所有汇聚交换机的第一voq长度进行汇总,得到与其所在pod对应的第二voq长度信息。例如,pod1中汇聚交换机11和汇聚交换机12将各自的第一voq长度信息11和第一voq长度信息12发送给pod控制器1。pod控制器1将第一voq长度信息11和第一voq长度信息12中需要从pod1发送给pod2的数据包的个数相加(即将voq1112和voq1212中缓存的数据包的个数相加),得到汇聚交换机11和汇聚交换机12上缓存的需要从pod1发送给pod2的数据包总个数4(即3+1=4);将第一voq长度信息11和第一voq长度信息12中需要从pod1发送给pod3的数据包的个数相加(即将voq1113和voq1213中缓存的数据包的个数相加),得到汇聚交换机11和汇聚交换机12上缓存的需要从pod1发送给pod3的数据包总个数8(即5+3=8);将第一voq长度信息11和第一voq长度信息12中需要从pod1发送给pod4的数据包的个数相加(即将voq1113和voq1213中缓存的数据包的个数相加),得到汇聚交换机11和汇聚交换机12上缓存的需要从pod1发送给pod4的数据包总个数12(即8+4=12),从而得到与pod1对应的第二voq长度信息(以下简称为第二voq长度信息1)。然后pod控制器1将第二voq长度信息1发送集中控制器。第二voq长度信息1可以如表3所示:表3pod1pod2pod3pod4pod14812同理,pod2中的pod控制器2接收并汇总pod2中的汇聚交换机21和汇聚交换机22发送的第一voq长度信息,得到的与pod2对应的第二voq长度信息(以下简称为第二voq长度信息2)。假设第二voq长度信息2包括汇聚交换机21和汇聚交换机22上缓存的需要从pod2发送给pod1的数据包总个数5,需要从pod2发送给pod3的数据包总个数9,需要从pod2发送给pod4的数据包总个数6。然后pod控制器2将第二voq长度信息2发送集中控制器。第二voq长度信息2可以如表4所示:表4pod1pod2pod3pod4pod2596pod3中的pod控制器3接收并汇总pod3中的汇聚交换机31和汇聚交换机32发送的第一voq长度信息,得到的与pod3对应的第二voq长度信息(以下简称为第二voq长度信息3)。假设第二voq长度信息3包括汇聚交换机31和汇聚交换机32上缓存的需要从pod3发送给pod1的数据包总个数13,需要从pod3发送给pod2的数据包总个数7,需要从pod3发送给pod4的数据包总个数10。然后pod控制器3将第二voq长度信息3发送集中控制器。第二voq长度信息3可以如表5所示:表5pod1pod2pod3pod4pod313710pod4中的pod控制器4接收并汇总pod4中的汇聚交换机41和汇聚交换机42发送的第一voq长度信息,得到的与pod4对应的第二voq长度信息(以下简称为第二voq长度信息4)。假设第二voq长度信息4包括汇聚交换机41和汇聚交换机42上缓存的需要从pod4发送给pod1的数据包总个数3,需要从pod4发送给pod2的数据包总个数10,需要从pod4发送给pod3的数据包总个数7。然后pod控制器4将第二voq长度信息4发送集中控制器。第二voq长度信息4可以如表6所示:表6pod1pod2pod3pod4pod43107集中控制器接收到第二voq长度信息1、第二voq长度信息2、第二voq长度信息3以及第二voq长度信息4后,将第二voq长度信息1、第二voq长度信息2、第二voq长度信息3以及第二voq长度信息4合并,得到全局voq长度信息。全局voq长度信息可以如表7所示:表7pod1pod2pod3pod4pod14812pod2596pod313710pod43107步骤406,调度平台根据该全局voq长度信息确定传输匹配方案。其中,该传输匹配方案用于指示每个pod向该m个pod中除该pod以外的一个pod发送数据包,并接收该m个pod中除该pod以外的一个pod发送的数据包。示例性的,基于表7所示的全局voq长度信息,调度平台可以确定的传输匹配方案有多种。例如,确定的传输匹配方案可以是((1,4),(2,3),(3,1),(4,2))。其中,(1,4)表示在该传输匹配方案对应的时隙内(当前时隙内或者当前时隙的下一个时隙内),pod1向pod4发送数据包;同理,(2,3)表示在该传输匹配方案对应的时隙内,pod2向pod3发送数据包;(3,1)表示在该传输匹配方案对应的时隙内,pod3向pod1发送数据包;(4,2)表示在该传输匹配方案对应的时隙内,pod4向pod2发送数据包。或者,该传输匹配方案也可以是((1,2),(2,1),(3,4),(4,3))。即表示在该传输匹配方案对应的时隙内,pod1向pod2发送数据包,pod2向pod1发送数据包,pod3向pod4发送数据包,pod4向pod3发送数据包。那么调度平台可以随机确定一个传输匹配方案,用来指示每个pod向该m个pod中除该pod以外的一个pod发送数据包,并接收该m个pod中除该pod以外的一个pod发送的数据包。也就是说,调度平台可以随机确定一个保证每个pod在对应的时隙内,能够仅接收来自于一个pod的数据包,并且仅向一个pod发送数据包的传输匹配方案即可。值得说明的是,通过该传输匹配方案,可以保证每个pod内的汇聚交换机,在每个时隙内仅接收一个pod发送的数据,从而减少了下行冲突,实现了从核心交换机到汇聚交换机的下行链路无阻塞传输。可选的,在本申请中,调度平台也可以采用带权二分图的最大权匹配算法,确定最终使用的传输匹配方案。即调度平台根据可以先将该全局voq长度信息转换为带权二分图信息。示例性的,基于如表7所示的全局voq长度信息,可以得到如图5所示的带权二分图。其中每个顶点代表一个pod,例如,①表示pod1,②表示pod2,③表示pod3,④表示pod4。pod与pod之间的连线(包括实线和虚线)被赋予权重值,其中权重值代表相应voq的队列长度。voq的队列长度(即该voq内缓存的数据包的个数)越长,该voq的队列长度的权重值越大。假设,以数据包的个数作为voq的队列长度的权重值,那么,①与④之间的实线,表示需要从pod1发送到pod4的数据包的voq的队列长度的权重值为12;②与③之间的实线,表示需要从pod2发送到pod3的数据包的voq的队列长度的权重值为9;②与④之间的虚线,表示需要从pod2发送到pod4的数据包的voq的队列长度的权重值为6等。然后,调度平台即可采用最大权匹配算法,计算出该多个传输匹配方案中,voq的队列长度的权重值之和最大的传输匹配方案,即最佳传输匹配方案。例如,如图5所示,pod与pod之间的实线表示voq的队列长度的权重值之和最大的一个传输匹配方案。即确定的具有最大权值的传输匹配方案为((1,4),(2,3),(3,1),(4,2)),该传输匹配方案权值为12+9+13+10=44。值得说明的是,采用带权二分图的最大权匹配算法,能够根据数据包的积压状态来实时调整传输匹配方案,以实现对链路资源更加合理的分配,从而有效提高网络带宽利用率和网内延迟。可以理解的是,当集中控制获得全局voq长度信息之后,即可根据该全局voq长度信息确定传输匹配方案。步骤407,调度平台根据该传输匹配方案向每个汇聚交换机发送对应的匹配结果信息。在本申请中,与每个汇聚交换机对应的匹配结果信息可以相同。即调度平台可以根据该传输匹配方案,生成一个描述该传输匹配方案的匹配结果信息,然后将该匹配结果信息发送给所有的汇聚交换机,以使得每个汇聚交换机按照该传输匹配方案发送数据包。可选的,与每个汇聚交换机对应的匹配结果信息也可以不同。即调度平台可以根据该传输匹配方案,生成与每个汇聚交换机对应的不同的匹配结果信息。可以理解的是,对于每个汇聚交换机来说,该汇聚交换机可以根据该匹配结果信息确定发送第一数据包,该第一数据包为需要从第一pod发送至第三pod的数据包,该第三pod为其他pod中的一个。示例性的,基于上述最佳的传输匹配方案((1,4),(2,3),(3,1),(4,2))。集中控制器可以现根据传输匹配方案生成与各个pod对应的匹配信息。例如:与pod1对应的信息(1,4),与pod2对应的信息(2,3),与pod3对应的信息(3,1),与pod4对应的信息(4,2)。然后集中控制器将与各个pod对应的匹配信息发送给各个pod控制器。pod控制器1根据该信息(1,4),生成与汇聚交换11和汇聚交换机12对应的匹配结果信息。例如,pod控制器1根据该信息(1,4)生成信息“1114”和“1214”。pod控制器1将“1114”发送给汇聚交换机11,以使得汇聚交换机发送voq1114内缓存的数据包。pod控制器1将“1214”发送给汇聚交换机12,以使得汇聚交换机发送voq1214内缓存的数据包。那么,对于汇聚交换机11和汇聚交换机12来说,根据匹配结果信息可以确定需要发送的第一数据包为从pod1发送到pod4的数据包,第一pod为pod1,第三pod为pod4。步骤408,每个汇聚交换机根据接收到的匹配结果信息发送数据包。在一个示例中,当该汇聚交换机与n/2(n≥2,n为整数)个核心交换机连接时,如果第一数据包的个数n(n≥0,n为整数)。那么,当n≤n/2时,该汇聚交换机可以根据该匹配结果信息,在当前时隙(即接收到该匹配结果信息的时隙)或者下一个时隙内同时发送n个第一数据包。当n≥n/2时,该汇聚交换机可以根据该匹配结果信息,在当前时隙或者下一个时隙内同时发送n/2个第一数据包。从上述实施例可以看出,采用本申请提供的动态调度方法,调度平台只需在每个时隙收集从每个pod中的汇聚交换机缓存的需要从该pod发送至其他pod的数据包的个数,然后确定出一个能够使得每个pod向m个pod中除该pod以外的一个pod发送数据包,并接收该m个pod中除该pod以外的一个pod发送的数据包的传输匹配方案即可。由于一个pod可以与多个主机相连,因此相比于现有技术中收集每个主机的数据请求信息,以及计算主机到主机的传输配对和全局路由分配的方案,采用申请提供的动态方法能够大大降低信息交换成本,以及数据调度和路由分配的计算复杂度。上述主要从各个网元之间交互的角度对本申请提供的方案进行了介绍。可以理解的是,各个网元,例如调度平台和汇聚交换机等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本申请可以根据上述方法示例对调度平台和汇聚交换机等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在采用对应各个功能划分各个功能模块的情况下,图6a示出了上述实施例中所涉及的调度平台的一种可能的结构示意图,调度平台包括:处理单元601、发送单元602以及接收单元603。处理单元601用于支持调度平台执行图4中的步骤405-407;发送单元602用于支持调度平台执行图4中的步骤408;接收单元603用于支持调度平台执行如图4中的步骤404。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。在采用集成的单元的情况下,图6b示出了上述实施例中所涉及的调度平台的一种可能的结构示意图。调度平台包括:处理模块611和通信模块612。处理模块611用于对调度平台的动作进行控制管理,例如,处理模块611用于支持调度平台执行图4中步骤404-408,和/或用于本文所描述的技术的其它过程。通信模块612用于支持调度平台与其他网络实体的通信,例如与图1b中示出的功能模块或网络实体之间的通信。调度平台还可以包括存储模块613,用于存储调度平台的程序代码和数据。其中,处理模块611可以是处理器或控制器,例如可以是中央处理器(centralprocessingunit,cpu),通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块612可以是收发器、收发电路或通信接口等。存储模块613可以是存储器。当处理模块611为处理器,通信模块612为通信接口,存储模块613为存储器时,本申请所涉及的调度平台可以为图6c所示的调度平台。参阅图6c所示,该调度平台包括:处理器621、通信接口622、存储器623以及总线624。其中,通信接口622、处理器621以及存储器623通过总线624相互连接;总线624可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。在采用对应各个功能划分各个功能模块的情况下,图7a示出了上述实施例中所涉及的汇聚交换机的一种可能的结构示意图,汇聚交换机包括:发送单元701、处理单元702和接收单元703。发送单元701用于支持汇聚交换机执行图4中的步骤404和408;处理单元702用于支持汇聚交换机执行图4中的步骤403;接收单元703用于支持汇聚交换机执行图4中的步骤402和407。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。在采用集成的单元的情况下,图7b示出了上述实施例中所涉及的汇聚交换机的一种可能的结构示意图。汇聚交换机包括:处理模块711和通信模块712。处理模块711用于对汇聚交换机的动作进行控制管理,例如,处理模块711用于支持汇聚交换机执行图4中的步骤402-403、407-408,和/或用于本文所描述的技术的其它过程。通信模块712用于支持汇聚交换机与其他网络实体的通信,例如与图1b中示出的功能模块或网络实体之间的通信。汇聚交换机还可以包括存储模块713,用于存储汇聚交换机的程序代码和数据。其中,处理模块711可以是处理器或控制器,例如可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块712可以是收发器、收发电路或通信接口等。存储模块713可以是存储器。当处理模块711为处理器,通信模块712为通信接口,存储模块713为存储器时,本申请所涉及的汇聚交换机可以为图7c所示的汇聚交换机。参阅图7c所示,该汇聚交换机包括:处理器721、通信接口722、存储器723以及总线724。其中,通信接口722、处理器721以及存储器723通过总线724相互连接;总线724可以是pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(readonlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablerom,eprom)、电可擦可编程只读存储器(electricallyeprom,eeprom)、寄存器、硬盘、移动硬盘、只读光盘(cd-rom)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的动态调度方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。本领域的技术人员可以清楚地了解到本申请中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者vpn网关等)执行本发明各个实施例或者实施例的某些部分所述的方法。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。以上所述的本发明实施方式并不构成对本发明保护范围的限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1