本发明涉及数据通信领域,特别涉及一种业务链资源调度方法和装置。
背景技术:
:业务链是NFV(NetworkFunctionVirtualization,网络功能虚拟化)技术的一个热点应用场景。目前业务链组网方式比较灵活—有串形、星形和混合型。由于业务链部署与拓扑存在强相关性,不同的组网方式将导致不同的业务链部署方式。业务链资源调度涉及很多因素:是功能网元提前预置还是由客户临时触发配置;多个设备运行同一功能网元时,应该选择哪一个设备服务用户等。目前的业务链资源调度算法有RoundRobin(轮询),LeastLoad(最小负载)和Random(随机),总体比较简单,对资源使用不够充分,尤其是,在串形组网方式下会导致路径折返问题,造成服务器间链路带宽资源浪费。技术实现要素:鉴于以上技术问题,本发明提供了一种业务链资源调度方法和装置,实现了业务链路径的优化选择。根据本发明的一个方面,提供一种业务链资源调度方法,包括:获取用户的业务链需求信息,其中,业务链需求信息包括需求功能网元、以及需求功能网元的通过顺序;根据需求功能网元的通过顺序确定所有可行路径;获取所有可行路径的路径长度以及路径接待用户数;根据所有可行路径的路径长度以及路径接待用户数,从所有可行 路径中选择用户的业务链路径。在本发明的一个实施例中,在获取用户的业务链需求信息的步骤之后,所述方法还包括:判断当前业务链上需求功能网元对应的资源是否足够;若当前业务链上需求功能网元对应的资源足够,则执行根据需求功能网元的通过顺序确定所有可行路径的步骤;若当前业务链上需求功能网元对应的资源不足,则开启新的虚拟机并安装新的需求功能网元,之后执行根据需求功能网元的通过顺序确定所有可行路径的步骤。在本发明的一个实施例中,根据所有可行路径的路径长度以及路径接待用户数,从所有可行路径中选择用户的业务链路径的步骤包括:根据所有可行路径的路径长度,判断所有可行路径中是否存在不折返路径;若所有可行路径中存在不折返路径,则选择不折返路径中路径接待用户数最多的路径作为用户的业务链路径。在本发明的一个实施例中,根据所有可行路径的路径长度以及路径接待用户数,从所有可行路径中选择用户的业务链路径的步骤还包括:若所有可行路径中不存在不折返路径,则对可行路径进行纠正以确定用户的业务链路径。在本发明的一个实施例中,对可行路径进行纠正以确定用户的业务链路径的步骤包括:将所有可行路径,按照路径长度由短到长的顺序进行排序构成第一序列;对于第一序列中路径长度相同的可行路径,按照路径接待用户数由多到少的顺序排序,将第一序列排序成为第二序列;按照第二序列的顺序,通过新增虚拟机的方式,对可行路径进行路径纠正,将折返路径纠正为不折返路径;若对一条可行路径的路径纠正成功,则停止对后续可行路径的纠 正,并选择被纠正路径作为业务链路径;若对所有可行路径的路径纠正均失败,则将第二序列中的第一条作为用户的业务链路径。在本发明的一个实施例中,通过新增虚拟机的方式,对可行路径进行路径纠正,将折返路径纠正为不折返路径的步骤包括:确定新增虚拟机的服务器,其中,所述服务器的确定过程满足两个约束条件:新增的虚拟机个数最少;在能够新增虚拟机的服务器中,选择当前虚拟机数最少的服务器;在所述服务器上新增虚拟机,以便将折返路径纠正为不折返路径。在本发明的一个实施例中,获取所有可行路径的路径接待用户数的步骤包括:根据用户对虚拟机CPU和内存资源的平均消耗量,以及每个虚拟机CPU和内存的剩余资源量,获取每个虚拟机的CPU接待用户数和内存接待用户数;对CPU接待用户数和内存接待用户数求最小值,获得每个虚拟机的接待用户数;对每一可行路径中涉及的虚拟机的接待用户数求最小值,获得该可行路径的路径接待用户数。在本发明的一个实施例中,所述方法还包括:判断串行组网设备上是否预置有虚拟功能网元;若串行组网设备上预置有虚拟功能网元,则执行获取用户的业务链需求信息的步骤;若串行组网设备上没有预置虚拟功能网元,则根据每个虚拟功能网元的需求占比由高到低的顺序,依次在不同服务器上放置一个虚拟功能网元,之后执行获取用户的业务链需求信息的步骤。根据本发明的另一方面,提供一种业务链资源调度装置,包括需求获取模块、路径初选模块、参数获取模块和路径确定模块,其中:需求获取模块,用于获取用户的业务链需求信息,所述业务链需求信息包括需求功能网元、以及所述需求功能网元的通过顺序;路径初选模块,用于根据需求功能网元的通过顺序确定所有可行路径;参数获取模块,用于获取所有可行路径的路径长度以及路径接待用户数;路径确定模块,用于根据所有可行路径的路径长度以及路径接待用户数,从所有可行路径中选择用户的业务链路径。在本发明的一个实施例中,所述装置还包括资源检查模块和资源新增模块,其中:资源检查模块,用于判断当前业务链上需求功能网元对应的资源是否足够;并在当前业务链上需求功能网元对应的资源足够时,指示路径初选模块执行根据需求功能网元的通过顺序确定所有可行路径的操作;资源新增模块,用于根据资源检查模块的判断结果,在当前业务链上需求功能网元对应的资源不足时,开启新的虚拟机并安装新的需求功能网元,之后指示路径初选模块执行根据需求功能网元的通过顺序确定所有可行路径的操作。在本发明的一个实施例中,路径确定模块包括识别子模块和路径选择子模块,其中:识别子模块,用于根据所有可行路径的路径长度,判断所有可行路径中是否存在不折返路径;路径选择子模块,用于根据识别子模块的判断结果,在所有可行路径中存在不折返路径时,选择不折返路径中路径接待用户数最多的路径作为用户的业务链路径。在本发明的一个实施例中,路径确定模块还包括路径纠正子模块,其中:路径纠正子模块,用于根据识别子模块的判断结果,在所有可行路径中不存在不折返路径时,对可行路径进行纠正以确定用户的业务链路径。在本发明的一个实施例中,路径纠正子模块包括第一排序单元、 第二排序单元、路径纠正单元和路径确定单元,其中:第一排序单元,用于将所有可行路径,按照路径长度由短到长的顺序进行排序构成第一序列;第二排序单元,用于对于第一序列中路径长度相同的可行路径,按照路径接待用户数由多到少的顺序排序,将第一序列排序成为第二序列;路径纠正单元,用于按照第二序列的顺序,通过新增虚拟机的方式,对可行路径进行路径纠正,将折返路径纠正为不折返路径;路径确定单元,用于在路径纠正单元对一条可行路径的路径纠正成功时,停止对后续可行路径的纠正,并选择被纠正路径作为业务链路径;以及在路径纠正单元对所有可行路径的路径纠正均失败时,将第二序列中的第一条作为用户的业务链路径。在本发明的一个实施例中,路径纠正单元包括位置确定子单元和路径纠正子单元,其中:位置确定子单元,用于确定新增虚拟机的服务器,其中,所述服务器的确定过程满足两个约束条件:新增的虚拟机个数最少;在能够新增虚拟机的服务器中,选择当前虚拟机数最少的服务器;路径纠正子单元,用于在位置确定子单元确定的服务器上新增虚拟机,以便将折返路径纠正为不折返路径。在本发明的一个实施例中,参数获取模块在获取所有可行路径的路径接待用户数时,用于根据用户对虚拟机CPU和内存资源的平均消耗量,以及每个虚拟机CPU和内存的剩余资源量,获取每个虚拟机的CPU接待用户数和内存接待用户数;对CPU接待用户数和内存接待用户数求最小值,获得每个虚拟机的接待用户数;并对每一可行路径中涉及的虚拟机的接待用户数求最小值,获得该可行路径的路径接待用户数。在本发明的一个实施例中,所述装置还包括识别模块和网元预置模块,其中:识别模块,用于判断串行组网设备上是否预置有虚拟功能网元; 并在串行组网设备上预置有虚拟功能网元时,指示需求获取模块执行获取用户的业务链需求信息的操作;网元预置模块,用于根据识别模块的判断结果,在串行组网设备上没有预置虚拟功能网元时,根据每个虚拟功能网元的需求占比由高到低的顺序,依次在不同服务器上放置一个虚拟功能网元,之后指示需求获取模块执行获取用户的业务链需求信息的操作。本发明考虑了多重资源优化,对虚拟机CPU、虚拟机内存和服务器间链路带宽三种资源进行了优化使用,并从整条路径的角度进行负载均衡,从而实现了更优的业务链路径选择。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明业务链资源调度方法一个实施例的示意图。图2为本发明一个实施例中获取路径接待用户数的示意图。图3为本发明一个实施例中从可行路径中选择业务链路径的示意图。图4为本发明一个实施例中对折返路径进行纠正以确定业务链路径的示意图。图5为本发明业务链资源调度方法另一实施例的示意图。图6为本发明一个实施例中网元初始化放置的示意图。图7为本发明一个实施例中选择服务器以新增虚拟机的示意图。图8为本发明一个实施例中新增虚拟机后的示意图。图9为本发明业务链资源调度装置一个实施例的示意图。图10为本发明一个实施例中路径确定模块的示意图。图11为本发明一个实施例中路径纠正子模块的示意图。图12为本发明业务链资源调度装置另一实施例的示意图。图13为本发明第一具体实施例的网络资源示意图。图14为本发明第二具体实施例的网络资源示意图。图15为本发明第二具体实施例中路径纠正后的网络资源示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。图1为本发明业务链资源调度方法一个实施例的示意图。优选的,本实施例可由本发明业务链资源调度装置执行。该方法包括以下步骤:步骤101,获取用户的业务链需求信息,其中,业务链需求信息包括需求功能网元、以及需求功能网元的通过顺序。本发明针对单个用户进行服务,每来一个用户就进行一次选路计 算。每个用户都有需求功能网元(必须通过的功能网元)和固定的通过顺序,因此一个用户对应一条业务链需求信息,网络需要为用户选择一条业务链路径。在本发明的一个实施例中,用户的需求功能网元可以包括DPI(DeepPacketInspection,深度包检测)、FW(Firewall,防火墙)和NAT(NetworkAddressTranslation,网络地址转换)等虚拟功能单元。需求功能网元的通过顺序可以为:DPI->FW->NAT。步骤102,根据需求功能网元的通过顺序,遍历当前网络服务器中拥有需求功能网元的虚拟机,确定所有可行路径。步骤103,获取所有可行路径的路径长度以及路径接待用户数。在本发明的一个实施例中,如图2所示,图1的步骤103中,获取所有可行路径的路径接待用户数的步骤可以包括:步骤201,根据用户对虚拟机CPU和内存资源的平均消耗量,以及每个虚拟机CPU和内存的剩余资源量,通过下面公式获取每个虚拟机的CPU接待用户数和内存接待用户数:CPU接待用户数=VM的CPU剩余资源/用户对VMCPU资源的平均消耗量;内存接待用户数=VM内存剩余资源/用户对VM内存资源的平均消耗量。步骤202,对CPU接待用户数和内存接待用户数求最小值,获得每个虚拟机VM的接待用户数。即,虚拟机接待用户数=Min(CPU接待数,内存接待数)。步骤203,对每一可行路径中涉及的虚拟机的接待用户数求最小值,获得该可行路径的路径接待用户数。假设一条可行路径中涉及n个虚拟机,则:路径接待用户数=Min(VM1接待用户数,…,VMn接待用户数)。步骤104,根据所有可行路径的路径长度以及路径接待用户数,从所有可行路径中选择用户的业务链路径。在本发明的一个实施例中,如图3所示,图1中的步骤104可以 包括:步骤301,根据所有可行路径的路径长度,判断所有可行路径中是否存在不折返路径。若所有可行路径中存在不折返路径,则执行步骤302;否则,若所有可行路径中不存在不折返路径,则执行步骤303。在本发明的一个实施例中,在串形组网方式下,不折返路径长度固定等于一个恒定值(服务器个数+1),因此大于此恒定值的路径必然为折返路径。步骤302,选择不折返路径中路径接待用户数最多的路径作为用户的业务链路径,之后不再执行本实施例的其它步骤。步骤303,对可行路径进行纠正以确定用户的业务链路径。在本发明的一个实施例中,如图4所示,图3中的步骤303可以包括:步骤401,将所有可行路径,按照路径长度由短到长的顺序进行排序构成第一序列。步骤402,对于第一序列中路径长度相同的可行路径,按照路径接待用户数由多到少的顺序排序,将第一序列排序成为第二序列。步骤403,按照第二序列的顺序,通过新增虚拟机的方式,对每一条可行路径(折返路径)进行路径纠正。在本发明的一个实施例中,步骤403具体可以包括:确定新增虚拟机的服务器;以及在所述服务器上新增虚拟机,以便将折返路径纠正为不折返路径。其中,确定在哪个服务器server上新增虚拟机时,需满足以下两个约束条件:1、新增的VM个数要最少;2、在可以新增VM的server中,选择当前VM数最少的server。步骤404,若对一条可行路径的路径纠正成功,则停止对后续可行路径的纠正,并选择被纠正路径作为业务链路径。步骤405,若对所有可行路径的路径纠正均失败,则将第二序列中的第一条可行路径(路径长度最短)作为用户的业务链路径。基于本发明上述实施例提供的业务链资源调度装置,通过路径长度判定可行路径是否折返,并通过新增虚拟机来纠正折返路径。由此, 本发明可以有效防止业务链路径折返,从而有效解决了路径折返带来的服务器间链路带宽资源的浪费。同时,本发明上述实施例根据所有可行路径的路径长度以及路径接待用户数选择最终的业务连路径,考虑了多重资源优化,其中,本发明通过路径接待用户数考虑了虚拟机CPU资源和虚拟机内存资源,通过纠正路径折返考虑了服务器间链路带宽资源。因此,本发明上述实施例综合考虑了虚拟机资源和带宽资源,实现了对虚拟机CPU、虚拟机内存和服务器间链路带宽三种资源的优化使用;并从整条路径的角度进行负载均衡,实现了物理服务器和VM的负载均衡,从而实现了更优的业务链路径选择。在本发明的一个实施例中,在步骤101之前,所述方法还可以包括:用户到来前,在串形组网设备上预置各个虚拟功能网元。其中,在串形组网设备上预置各个虚拟功能网元的步骤具体可以包括:通过历史数据或者经验值推断每个功能网元的需求占比;并按占比由大到小的顺序依次在不同服务器上放置一个网元。由此,本发明提供了一套简单合理的虚拟功能网元初始化方案,这是现有方法不具有的。图5为本发明业务链资源调度方法另一实施例的示意图。优选的,本实施例可由本发明业务链资源调度装置执行。本实施例中的步骤503、步骤506-步骤508分别与图1所示实施例中的步骤101-步骤104相同或相似,下面不再对步骤503、步骤506-步骤508进行详述。该方法包括以下步骤:步骤501,判断串行组网设备上是否预置有虚拟功能网元。若串行组网设备上预置有虚拟功能网元,则执行步骤503;否则,若串行组网设备上没有预置虚拟功能网元,则执行步骤502。步骤502,根据每个虚拟功能网元的需求占比由高到低的顺序,依次在不同服务器上放置一个虚拟功能网元。在本发明的一个实施例中,步骤502可以包括:通过历史数据或者经验值推断每个功能网元的需求占比;并按占比由大到小的顺序依次在不同服务器上放置一个网元。假设DPI、FW、NAT三个功能网元的 需求占比依次减小,则可以按照图6所示的实施例的设置方式,在服务器1上开启DPI1,在服务器2上开启FW1,在服务器3上开启NAT1。步骤503,获取用户的业务链需求信息,其中,业务链需求信息包括需求功能网元、以及需求功能网元的通过顺序。步骤504,判断当前业务链上需求功能网元对应的资源是否足够。若当前业务链上需求功能网元对应的资源足够,则执行步骤506;否则,若当前业务链上需求功能网元对应的资源不足,则执行步骤505。步骤505,开启新的虚拟机并安装新的需求功能网元,之后执行步骤506。新增VM的具体流程如附图7所示,该图说明了应该选择哪台服务器承载新增的VM。在本发明的一个实施例中,假设每台服务器上能够开启的VM个数有限。如图7所示,新增VM的具体流程可以包括:步骤701,判断本地服务器的虚拟机数量是否达到上限,其中本地服务器指的是包含某一用户的需求功能网元(例如DPI)、但是该功能网元对应的资源不足的服务器。若判断本地服务器的虚拟机数量达到上限,则执行步骤703;否则,若判断本地服务器的虚拟机数量未达到上限,则执行步骤702。步骤702,在本地服务器新增虚拟机,并按照新的需求功能网元。若本地服务器有多个,则选择在现有虚拟机数量少的本地服务器上新增虚拟机。在本发明的一个实施例中,如图8所示,若服务器1(本地服务器)上的需求功能网元DPI1资源不足,则在服务器1上新增虚拟机VM2并按照新的需求功能网元DPI2。在本发明的另一实施例中,如图13所示,假设服务器3上的需求功能网元NAT1和服务器4上的需求功能网元NAT2均资源不足,由于服务器4上现有虚拟机数量少于服务器3,因此在服务器4上新增虚拟机VM2并按照新的需求功能网元NAT3。步骤703,判断邻居服务器(与本地服务器相邻的服务器)的虚拟机数量是否达到上限,若判断邻居服务器的虚拟机数量达到上限, 则执行步骤705;否则,若判断邻居服务器的虚拟机数量未达到上限,则执行步骤704。步骤704,在邻居服务器新增虚拟机,并按照新的需求功能网元。若邻居服务器有多个,则选择在现有虚拟机数量少的邻居服务器上新增虚拟机。步骤705,判断其它服务器(除本地服务器和零件服务器外的服务器)的虚拟机数量是否达到上限,若其它服务器的虚拟机数量达到上限,则执行步骤706;否则,若判断其它服务器的虚拟机数量未达到上限,则执行步骤707。步骤706,无法新增虚拟机,当前链路无法满足用户需求,之后步骤执行本实施例的其它步骤。步骤707,在其它服务器新增虚拟机,并按照新的需求功能网元。优选在邻近服务器(距离本地服务器较近的服务器)上开新的虚拟机。步骤506,根据需求功能网元的通过顺序,遍历当前网络服务器中拥有需求功能网元的虚拟机,确定所有可行路径。步骤507,获取所有可行路径的路径长度以及路径接待用户数。步骤508,根据所有可行路径的路径长度以及路径接待用户数,从所有可行路径中选择用户的业务链路径。本发明上述实施例提供了一套简单合理的功能网元初始化方案,从而解决了现有业务链资源调度方案中,在串行组网设备上没有预置有虚拟功能网元时,无法进行业务链资源调度的问题。同时,本发明上述实施例还提供了资源检查和新增机制,设计了应对资源耗尽情况的资源新增机制,从而得到了良好的资源扩展性,防止了因资源不足造成的丢包或虚机崩溃现象。图9为本发明业务链资源调度装置一个实施例的示意图。如图9所示,所述业务链资源调度装置包括需求获取模块100、路径初选模块200、参数获取模块300和路径确定模块400,其中:需求获取模块100,用于获取用户的业务链需求信息,所述业务 链需求信息包括需求功能网元、以及所述需求功能网元的通过顺序。路径初选模块200,用于根据需求功能网元的通过顺序确定所有可行路径。参数获取模块300,用于获取所有可行路径的路径长度以及路径接待用户数。在本发明的一个实施例中,参数获取模块300在获取所有可行路径的路径接待用户数时,可以用于根据用户对虚拟机CPU和内存资源的平均消耗量,以及每个虚拟机CPU和内存的剩余资源量,获取每个虚拟机的CPU接待用户数和内存接待用户数;对CPU接待用户数和内存接待用户数求最小值,获得每个虚拟机的接待用户数;并对每一可行路径中涉及的虚拟机的接待用户数求最小值,获得该可行路径的路径接待用户数。路径确定模块400,用于根据所有可行路径的路径长度以及路径接待用户数,从所有可行路径中选择用户的业务链路径。在本发明的一个实施例中,如图10所示,图9中的路径确定模块400可以包括识别子模块410、路径选择子模块420和路径纠正子模块430,其中:识别子模块410,用于根据所有可行路径的路径长度,判断所有可行路径中是否存在不折返路径。路径选择子模块420,用于根据识别子模块410的判断结果,在所有可行路径中存在不折返路径时,选择不折返路径中路径接待用户数最多的路径作为用户的业务链路径。路径纠正子模块430,用于根据识别子模块410的判断结果,在所有可行路径中不存在不折返路径时,对可行路径进行纠正以确定用户的业务链路径。在本发明的一个实施例中,如图11所示,图10中的路径纠正子模块430可以包括第一排序单元431、第二排序单元432、路径纠正单元433和路径确定单元434,其中:第一排序单元431,用于将所有可行路径,按照路径长度由短到 长的顺序进行排序构成第一序列。第二排序单元432,用于对于第一序列中路径长度相同的可行路径,按照路径接待用户数由多到少的顺序排序,将第一序列排序成为第二序列。路径纠正单元433,用于按照第二序列的顺序,通过新增虚拟机的方式,对可行路径进行路径纠正,将折返路径纠正为不折返路径。路径确定单元434,用于确定最终的业务链路径。例如:在路径纠正单元433对一条可行路径的路径纠正成功时,路径确定单元434用于停止对后续可行路径的纠正,并选择被纠正路径作为业务链路径;在路径纠正单元433对所有可行路径的路径纠正均失败时,路径确定单元434用于将第二序列中的第一条作为用户的业务链路径。基于本发明上述实施例提供的业务链资源调度装置,通过路径长度判定可行路径是否折返,并通过新增虚拟机来纠正折返路径。由此,本发明可以有效防止业务链路径折返,从而有效解决了路径折返带来的服务器间链路带宽资源的浪费。同时,本发明上述实施例根据所有可行路径的路径长度以及路径接待用户数选择最终的业务连路径,考虑了多重资源优化,其中,本发明通过路径接待用户数考虑了虚拟机CPU资源和虚拟机内存资源,通过纠正路径折返考虑了服务器间链路带宽资源。因此,本发明上述实施例综合考虑了虚拟机资源和带宽资源,实现了对虚拟机CPU、虚拟机内存和服务器间链路带宽三种资源的优化使用;并从整条路径的角度进行负载均衡,实现了物理服务器和VM的负载均衡,从而实现了更优的业务链路径选择。在本发明的一个实施例中,路径纠正单元433可以包括位置确定子单元和路径纠正子单元,其中:位置确定子单元,用于确定新增虚拟机的服务器,其中,所述服务器的确定过程满足两个约束条件:新增的虚拟机个数最少;在能够新增虚拟机的服务器中,选择当前虚拟机数最少的服务器。路径纠正子单元,用于在位置确定子单元确定的服务器上新增虚 拟机,以便将折返路径纠正为不折返路径。图12为本发明业务链资源调度装置另一实施例的示意图。与图9所示的实施例相比,在图12所示的实施例中,所述装置还可以包括识别模块500和网元预置模块600,其中:识别模块500,用于判断串行组网设备上是否预置有虚拟功能网元;并在串行组网设备上预置有虚拟功能网元时,指示需求获取模块100执行获取用户的业务链需求信息的操作。网元预置模块600,用于根据识别模块500的判断结果,在串行组网设备上没有预置虚拟功能网元时,根据每个虚拟功能网元的需求占比由高到低的顺序,依次在不同服务器上放置一个虚拟功能网元,之后指示需求获取模块100执行获取用户的业务链需求信息的操作。本发明上述实施例提供了一套简单合理的功能网元初始化方案,从而解决了现有业务链资源调度方案中,在串行组网设备上没有预置有虚拟功能网元时,无法进行业务链资源调度的问题。在本发明的一个实施例中,如图12所示,所述装置还可以包括资源检查模块700和资源新增模块800,其中:资源检查模块700,用于判断当前业务链上需求功能网元对应的资源是否足够;并在当前业务链上需求功能网元对应的资源足够时,指示路径初选模块200执行根据需求功能网元的通过顺序确定所有可行路径的操作。资源新增模块800,用于根据资源检查模块700的判断结果,在当前业务链上需求功能网元对应的资源不足时,开启新的虚拟机并安装新的需求功能网元,之后指示路径初选模块200执行根据需求功能网元的通过顺序确定所有可行路径的操作。本发明上述实施例提供了资源检查和新增机制,设计了应对资源耗尽情况的资源新增机制,从而得到了良好的资源扩展性,防止了因资源不足造成的丢包或虚机崩溃现象。下面通过具体示例对本发明进行说明:第一具体实施例:图13为本发明第一具体实施例的网络资源示意图。如图13所示,该实施例中串行组网设备上已经预置有虚拟功能单元,所以无需进行网络功能初始化操作。本实施例的业务链资源调度方法具体包括:步骤1.获取用户的业务链需求信息。其中,需求功能网元的通过顺序为:DPI->FW->NAT。附图13中标出了每个VM的目前CPU和内存使用率,假设用户对虚拟功能网元的资源平均消耗量如下表所示:DPIFWNATCPU0.3%0.2%0.15%内存0.25%0.1%0.1%步骤2.资源检查。比较图13中每个VM的目前CPU和内存使用率,以及上表中虚拟功能网元的资源平均消耗量,可得目前DPI,FW和NAT均有资源。步骤3.列出所有可行路径,并计算路径长度。路径编号路径长度1DPI2->FW3->NAT152DPI3->FW3->NAT17(折返)3DPI2->FW1->NAT154DPI3->FW1->NAT155DPI2->FW4->NAT156DPI3->FW4->NAT15步骤4.计算路径能接待的用户数路径可接待用户数为:路径编号路径接待用户数1DPI2->FW3->NAT11163DPI2->FW1->NAT11004DPI3->FW1->NAT11005DPI2->FW4->NAT11166DPI3->FW4->NAT1100步骤5.按照路径接待用户数由多到少的顺序排序,若路径接待用户数最多的路径存在多条(例如上表中的路径1和路径5),则随机选择一条作为业务链路径。输出业务链路径:DPI2->FW3->NAT1。具体实施例2:图14为本发明第二具体实施例的网络资源示意图。如图14所示,该实施例中串行组网设备上已经预置有虚拟功能单元,所以无需进行网络功能初始化操作。本实施例的业务链资源调度方法具体包括:步骤1.获取用户的业务链需求信息。其中,需求功能网元的通过顺序为:DPI->NAT->FW附图14中标出了每个VM的目前CPU和内存使用率,假设用户对虚拟功能网元的资源平均消耗量如下表所示:DPIFWNATCPU0.3%0.2%0.15%内存0.25%0.1%0.1%步骤2.资源检查。比较图13中每个VM的目前CPU和内存使用率,以及上表中虚拟功能网元的资源平均消耗量,可得目前DPI,FW和NAT均有资源。步骤3.列出所有可行路径,并计算长度。路径编号路径长度1DPI3->NAT1->FW29(折返)2DPI3->NAT2->FW211(折返)3DPI3->NAT1->FW39(折返)4DPI3->NAT2->FW311(折返)步骤4.计算路径能接待的用户数路径可接待用户数为:路径编号路径长度接待用户数1DPI3->NAT1->FW29402DPI3->NAT2->FW211403DPI3->NAT1->FW39204DPI3->NAT2->FW31120按照路径长度由小到大,接待用户数由多到少的顺序排序,若相同长度的路径接待用户数也相同,则随机排序。路径编号路径长度接待用户数1DPI3->NAT1->FW29403DPI3->NAT1->FW39202DPI3->NAT2->FW211404DPI3->NAT2->FW31120步骤5.从路径1开始进行折返纠正。如图14所示,本实施例采用以下三种方案均可以实现路径1的折返纠正:1、在服务器3上新增VM放置FW网元FW5便能解决路径折返问题,构成业务链路径:DPI3->NAT1->FW5。2、在服务器4上新增VM放置FW网元FW5便能解决路径折返问题,构成业务链路径:DPI3->NAT1->FW5。3、在服务器1上新增VM放置网元DPI4和NAT3也能解决路径折返问题,构成业务链路径:DPI4->NAT3->FW2。但是,考虑到路径纠正的两个约束条件:首先,新增的VM个数要最少,方案1、2中需新增1个VM,方案3需新增2个VM,因此排除方案3。同时,根据在可以新增VM的server中,选择当前VM数最少的server的约束条件,如图14所示,服务器3的当前VM数为2,服务器4的当前VM数为1。因此,选择方案2,如图15所示,在服务器4上新增VM放置FW网元FW5进行路径折返纠正,输出业务链路径:DPI3->NAT1->FW5。在上面所描述的业务链资源调度装置可以实现为用于执行本发明所描述功能的通用处理器、可编程逻辑控制器(PLC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全 可以明白如何实施这里公开的技术方案。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。当前第1页1 2 3