CN112217874A - 一种服务功能链生成方法及装置 - Google Patents
一种服务功能链生成方法及装置 Download PDFInfo
- Publication number
- CN112217874A CN112217874A CN202010997635.9A CN202010997635A CN112217874A CN 112217874 A CN112217874 A CN 112217874A CN 202010997635 A CN202010997635 A CN 202010997635A CN 112217874 A CN112217874 A CN 112217874A
- Authority
- CN
- China
- Prior art keywords
- service function
- vnf
- service
- function diagram
- reliability
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供了一种服务功能链生成方法及装置,针对预设的各服务请求中的每一服务请求,确定该服务请求所请求的多个目标业务各自对应的虚拟网络功能VNF;针对多个目标业务对应的每一种业务处理顺序,确定与该业务处理顺序对应的VNF的排列顺序;基于各服务请求各自对应的VNF,以及各服务请求各自对应的VNF的多种排列顺序,生成多个服务功能图;针对每一服务功能图,基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度;将多个服务功能图中可靠度最大的服务功能图包含的初始SFC,作为各服务请求各自对应的目标SFC。基于上述处理,可以在一定程度上避免网络业务中断。
Description
技术领域
本发明涉及网络技术领域,特别是涉及一种服务功能链生成方法及装置。
背景技术
随着网络技术的快速发展,用户可以通过终端向服务器发送服务请求,进而,当服务器接收到该服务请求时,可以从预先生成的多个SFC(Service Function Chain,服务功能链)中,确定用于响应该服务请求的SFC,并向确定出的SFC发送该服务请求。每一SFC包含多个VNF(Virtual Network Function,虚拟网络功能),各VNF与该SFC响应的服务请求所请求的多个业务的业务类型相对应。
现有技术中,生成各SFC的方法可以包括如下步骤:针对预设的每一服务请求,确定该服务请求所请求的多个业务各自的业务类型,并确定各业务类型各自对应的VNF。然后,按照上述多个业务的处理顺序,确定各VNF的排列顺序,进而,按照确定出的排列顺序,生成包含各VNF的SFC。针对一个服务请求,由于有些业务的处理顺序并不限定,也就导致多个业务的业务处理顺序会有多种,现有技术中,可以从多种业务处理顺序中随机选择一种业务处理顺序,并按照所选择的业务处理顺序,确定对应的各VNF的排列顺序,进而,按照确定出的VNF的排列顺序,生成包含各VNF的SFC。
然而,基于上述处理,基于随机选择的业务处理顺序,生成的SFC的可靠度可能较低,可靠度表示SFC能够正常处理服务请求的概率,可靠度较低的SFC可能无法完成服务请求的处理,进而,会导致网络业务中断。
发明内容
本发明实施例的目的在于提供一种服务功能链生成方法及装置,可以避免现有技术中会导致网络业务中断的问题。具体技术方案如下:
第一方面,为了达到上述目的,本发明实施例提供了一种服务功能链生成方法,所述方法包括:
针对预设的各服务请求中的每一服务请求,确定该服务请求所请求的多个目标业务各自对应的虚拟网络功能VNF;
针对所述多个目标业务对应的每一种业务处理顺序,确定与该业务处理顺序对应的VNF的排列顺序;
基于所述各服务请求各自对应的VNF,以及所述各服务请求各自对应的VNF的多种排列顺序,生成多个服务功能图;其中,每一所述服务功能图均包含所述各服务请求各自对应的一个初始SFC,且该服务功能图包含的每一初始SFC中的各VNF按照对应的排列顺序相连,该服务功能图中从源服务器至目的服务器之间存在多条路径,且所述多条路径与该服务功能图包含的初始SFC一一对应;所述源服务器用于向SFC转发接收到的服务请求,所述目的服务器用于返回服务请求的处理结果;
针对每一所述服务功能图,基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度;其中,一个VNF的可靠度表示该VNF正常处理业务的概率;
将所述多个服务功能图中可靠度最大的服务功能图包含的初始SFC,作为所述各服务请求各自对应的目标SFC。
第二方面,为了达到上述目的,本发明实施例提供了一种服务功能链生成装置,所述装置包括:
第一确定模块,用于针对预设的各服务请求中的每一服务请求,确定该服务请求所请求的多个目标业务各自对应的虚拟网络功能VNF;
第二确定模块,用于针对所述多个目标业务对应的每一种业务处理顺序,确定与该业务处理顺序对应的VNF的排列顺序;
生成模块,用于基于所述各服务请求各自对应的VNF,以及所述各服务请求各自对应的VNF的多种排列顺序,生成多个服务功能图;其中,每一所述服务功能图均包含所述各服务请求各自对应的一个初始SFC,且该服务功能图包含的每一初始SFC中的各VNF按照对应的排列顺序相连,该服务功能图中从源服务器至目的服务器之间存在多条路径,且所述多条路径与该服务功能图包含的初始SFC一一对应;所述源服务器用于向SFC转发接收到的服务请求,所述目的服务器用于返回服务请求的处理结果;
第三确定模块,用于针对每一所述服务功能图,基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度;其中,一个VNF的可靠度表示该VNF正常处理业务的概率;
第四确定模块,用于将所述多个服务功能图中可靠度最大的服务功能图包含的初始SFC,作为所述各服务请求各自对应的目标SFC。
本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的服务功能链生成方法步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的服务功能链生成方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的服务功能链生成方法。
本发明实施例提供的一种服务功能链生成方法,可以针对预设的各服务请求中的每一服务请求,确定该服务请求所请求的多个目标业务各自对应的虚拟网络功能VNF;针对多个目标业务对应的每一种业务处理顺序,确定与该业务处理顺序对应的VNF的排列顺序;基于各服务请求各自对应的VNF,以及各服务请求各自对应的VNF的多种排列顺序,生成多个服务功能图;针对每一服务功能图,基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度;将多个服务功能图中可靠度最大的服务功能图包含的初始SFC,作为各服务请求各自对应的目标SFC。
基于上述处理,可以基于各服务功能图各自包含的VNF的可靠度,确定各服务功能图的可靠度。进而,可以将可靠度最大的服务功能图中的各初始SFC,作为预设各服务请求各自对应的目标SFC。由于一个VNF的可靠度表示该VNF正常处理业务的概率,且可靠度越大该VNF正常处理业务的概率越大,相应的,服务功能图的可靠度越高,该服务功能图包含的各初始SFC正常处理服务请求的概率越大,相应的,预设各服务请求各自对应的目标SFC正常处理服务请求的概率也较大,进而,可以在一定程度上避免网络业务中断。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种服务功能链生成方法的流程图;
图2(a)为本发明实施例提供的一种目标业务的业务处理顺序示意图;
图2(b)为本发明实施例提供的另一种目标业务的业务处理顺序示意图;
图2(c)为本发明实施例提供的另一种目标业务的业务处理顺序示意图;
图3为本发明实施例提供的一种生成服务功能图的方法的流程图;
图4为本发明实施例提供的另一种生成服务功能图的方法的流程图;
图5(a)为本发明实施例提供的一种服务功能图;
图5(b)为本发明实施例提供的另一种服务功能图;
图5(c)为本发明实施例提供的另一种服务功能图;
图5(d)为本发明实施例提供的另一种服务功能图;
图5(e)为本发明实施例提供的另一种服务功能图;
图5(f)为本发明实施例提供的另一种服务功能图;
图5(g)为本发明实施例提供的另一种服务功能图;
图6为本发明实施例提供的另一种服务功能链生成方法的流程图;
图7(a)为本发明实施例提供的一种服务功能图;
图7(b)为本发明实施例提供的一种第一子服务功能图;
图7(c)为本发明实施例提供的一种第二子服务功能图;
图7(d)为本发明实施例提供的一种子服务功能图;
图8为本发明实施例提供的一种VNF实例的共享次数对比图;
图9为本发明实施例提供的一种服务器所消耗的资源对比图;
图10为本发明实施例提供的一种服务功能链生成装置的结构图;
图11为本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,基于随机选择的业务处理顺序,生成的SFC的可靠度可能较低,可靠度表示SFC能够正常处理服务请求的概率,可靠度较低的SFC可能无法完成服务请求的处理,进而,会导致网络业务中断。
为了解决上述问题,参见图1,图1为本发明实施例提供的一种服务功能链生成方法的流程图,该方法可以应用于服务器,该方法可以包括以下步骤:
S101:针对预设的各服务请求中的每一服务请求,确定该服务请求所请求的多个目标业务各自对应的虚拟网络功能VNF。
S102:针对多个目标业务对应的每一种业务处理顺序,确定与该业务处理顺序对应的VNF的排列顺序。
S103:基于各服务请求各自对应的VNF,以及各服务请求各自对应的VNF的多种排列顺序,生成多个服务功能图。
其中,每一服务功能图均包含预设各服务请求各自对应的一个初始SFC,且该服务功能图包含的每一初始SFC中的各VNF按照对应的排列顺序相连,该服务功能图中从源服务器至目的服务器之间存在多条路径,且多条路径与该服务功能图包含的初始SFC一一对应;源服务器用于向SFC转发接收到的服务请求,目的服务器用于返回服务请求的处理结果。
S104:针对每一服务功能图,基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度。
其中,一个VNF的可靠度表示该VNF正常处理业务的概率。
S105:将多个服务功能图中可靠度最大的服务功能图包含的初始SFC,作为各服务请求各自对应的目标SFC。
基于本发明实施例提供的服务功能链生成方法,可以基于各服务功能图各自包含的VNF的可靠度,确定各服务功能图的可靠度。进而,可以将可靠度最大的服务功能图中的各初始SFC,作为预设各服务请求各自对应的目标SFC。由于一个VNF的可靠度表示该VNF正常处理业务的概率,且可靠度越大该VNF正常处理业务的概率越大,相应的,服务功能图的可靠度越高,该服务功能图包含的各初始SFC正常处理服务请求的概率越大,预设各服务请求各自对应的目标SFC正常处理服务请求的概率也较大,进而,可以在一定程度上避免网络业务中断。
在本发明实施例中,一个服务请求所请求的业务各不相同。属于一个VNF类型的VNF用于处理一种业务。
在步骤S101中,针对预设的各服务请求中的每一服务请求,服务器可以确定该服务请求所请求的多个目标业务,然后,确定该多个目标业务各自对应的VNF。
一种实现方式中,服务器中可以存储有预先记录的各业务与VNF类型的对应关系,在确定出一个服务请求所请求的多个目标业务之后,针对每一目标业务,服务器可以查找本地存储的对应关系,确定该目标业务对应的VNF类型。一个VNF类型可以包括多个不同的VNF,服务器可以从确定出的VNF类型中选择一个VNF用于处理该目标业务。VNF类型可以包括:编码类型、解码类型、地址转换类型、视频处理类型等。
在步骤S102中,在确定一个服务请求所请求的多个目标业务之后,服务器还可以确定该多个目标业务的多种业务处理顺序。然后,针对每一种业务处理顺序,服务器基于该种业务处理顺序,确定各目标业务各自对应的VNF的排列顺序,进而,可以得到该业务处理顺序对应的包含各VNF的SFC(即初始SFC)。
一种实现方式中,针对每一VNF,服务器可以基于该VNF对应的目标业务的业务处理顺序,确定该VNF的排列等级,进而,基于各VNF的排列等级,确定各VNF的多种排列顺序。
示例性的,参见图2(a),图2(a)为本发明实施例提供的一种目标业务的业务处理顺序示意图。一个VNF指向另一个VNF表示在图2(a)所示的业务处理顺序中,该VNF对应的目标业务在另一个VNF对应的目标业务之前。图2(a)中,VNF4未与其他VNF连接,表示在图2(a)所示的业务处理顺序中VNF4对应的目标业务可以在其他任一个VNF对应的目标业务之前,或者VNF4对应的目标业务也可以在其他任一个VNF对应的目标业务之后。即VNF4对应的目标业务,与其他任一个VNF对应的目标业务的相对业务处理顺序不限定。
针对一个VNF该VNF的入度表示指向该VNF的其他VNF的数目,出度表示该VNF指向的其他VNF的数目。服务器可以将图2(a)中入度和出度均为0的VNF的排列等级确定为0级。图2(a)中入度和出度均为0的VNF包括:VNF4,即VNF4的排列等级为0级。排列等级为0级表示该VNF在对应的排列顺序中的位置是任意的,即在VNF4对应的排列顺序中,VNF4可以在其他VNF之前,也可以在其他VNF之后。
然后,服务器可以从图2(a)中删除排列等级为0级的VNF(即VNF4)得到图2(b)。服务器可以将图2(b)中入度为0的VNF的排列等级确定为1级。图2(b)中入度为0的VNF包括:VNF2、VNF7,即VNF2和VNF7的排列等级均为1级。VNF2和VNF7的排列等级均为1级表示在VNF2和VNF7对应的排列顺序中,VNF2可以在VNF7之前,或者VNF2也可以在VNF7之后,且VNF2和VNF7均在除VNF4以外的其他VNF之前。
然后,服务器可以从图2(b)中删除排列等级为1级的VNF(即VNF2和VNF7)得到图2(c)。服务器可以将图2(c)中入度为0的VNF的排列等级确定为2级。图2(c)中入度为0的VNF包括:VNF1、VNF5,即VNF1和VNF5的排列等级均为2级。VNF1和VNF5的排列等级均为2级表示在VNF1和VNF5对应的排列顺序中,VNF1可以在VNF5之前,或者VNF1也可以在VNF5之后,VNF1和VNF5均在VNF2和VNF7之后,且VNF1和VNF5均在除VNF4、VNF2和VNF7以外的其他VNF之前。
以此类推,可以确定排列等级为0级的VNF包括:VNF4,排列等级为1级的VNF包括:VNF2、VNF7,排列等级为2级的VNF包括:VNF1、VNF5,排列等级为3级的VNF包括:VNF3,排列等级为4级的VNF包括:VNF6,排列等级为5级的VNF包括:VNF8、VNF10,排列等级为6级的VNF包括:VNF9。
然后,服务器可以根据各VNF的排列等级,确定各VNF的多种排列顺序。
例如,服务器可以确定各VNF的一种排列顺序为:VNF4→VNF7→VNF2→VNF1→VNF5→VNF3→VNF6→VNF8→VNF10→VNF9。服务器还可以确定各VNF的另一种排列顺序为:VNF2→VNF7→VNF1→VNF5→VNF3→VNF6→VNF8→VNF10→VNF9→VNF4。以此类推,可以确定各VNF的多种排列顺序。
在步骤S103中,服务器在确定各服务请求各自对应的VNF的多种排列顺序之后,可以生成多个服务功能图。
在本发明的一个实施例中,参见图3,图3为本发明实施例提供的一种生成服务功能图的方法的流程图,该方法可以包括以下步骤:
S301:生成初始服务功能图,作为当前的服务功能图。
其中,初始服务功能图中仅包含源服务器和目的服务器。
S302:按照预设顺序确定各服务请求中的第一个服务请求,作为当前的待处理服务请求。
S303:针对当前的待处理服务请求对应的VNF的每一种排列顺序,按照该种排列顺序从当前的待处理服务请求对应的VNF中选择第一个VNF,作为目标VNF。
S304:判断当前的服务功能图中是否已存在目标VNF,如果是,执行步骤S305。
S305:判断当前的服务功能图中已生成的初始SFC中,包含目标VNF的初始SFC的数目是否达到预设数目,如果否,执行步骤S306,如果是,执行步骤S307。
S306:将目标VNF分配给当前的待处理服务请求对应的待生成的初始SFC。
S307:生成新的目标VNF,并分配给当前的待处理服务请求对应的待生成的初始SFC。
S308:判断目标VNF是否为该种排列顺序中的最后一个VNF,如果是,执行步骤S309,如果否,执行步骤S3011;
S309:按照该种排列顺序,在当前的服务功能图中生成当前的待处理服务请求对应的,包含已分配的各VNF的初始SFC,作为当前的服务功能图。
S3010:确定预设顺序中的下一个服务请求,作为当前的待处理服务请求,并执行步骤S303,直至生成最后一个服务请求对应的初始SFC,得到多个服务功能图。
S3011:按照该种排列顺序从当前的待处理服务请求对应的VNF中选择下一个VNF,作为目标VNF,并返回执行步骤S304。
针对步骤S302和步骤S303,服务器可以按照预设顺序,对预设各服务请求进行排序,并从排序后的预设各服务请求中,确定第一个服务请求(即当前的待处理服务请求)。针对当前的待处理服务请求对应的VNF的每一种排列顺序,服务器可以按照该种排列顺序,从当前的待处理服务请求对应的VNF中选择第一个VNF(即目标VNF)。
针对步骤S304和步骤S305,服务器可以判断当前的服务功能图中是否已存在目标VNF,如果服务器判定当前的服务功能图中已存在目标VNF,表明已经将目标VNF分配给了其他服务请求对应的初始SFC。服务器可以判断当前的服务功能图中已生成的初始SFC中,包含目标VNF的初始SFC的数目是否达到预设数目,以根据判定结果做出相应处理。
其中,预设数目表示目标VNF能够处理的业务的最大数目。预设数目可以由技术人员根据经验设置,例如,预设数目可以为2,或者预设数目也可以为3,但并不限于此。
在步骤S306中,如果服务器判定当前的服务功能图中已生成的初始SFC中,包含目标VNF的初始SFC的数目未达到预设数目,表明未达到目标VNF能够处理的业务的最大数目,则服务器可以将目标VNF分配给当前的待处理服务请求对应的待生成的初始SFC,以减少生成的VNF的数目。
在步骤S307中,如果服务器判定当前的服务功能图中已生成的初始SFC中,包含目标VNF的初始SFC的数目达到预设数目,表明已达到目标VNF能够处理的业务的最大数目,则服务器可以生成新的目标VNF,并分配给当前的待处理服务请求对应的待生成的初始SFC,以保证能够处理各VNF对应的目标业务,避免网络业务中断。
针对步骤S308和步骤S309,服务器可以判断目标VNF是否为该种排列顺序中的最后一个VNF。如果目标VNF是该种排列顺序中的最后一个VNF,表明已确定出当前的待处理服务请求对应的待生成的初始SFC包含的所有VNF。进而,服务器可以在当前的服务功能图中,按照该种排列顺序生成当前的待处理服务请求对应的,包含已分配的各VNF的初始SFC,可以得到新的服务功能图,并作为当前的服务功能图。
在步骤S3010中,服务器可以按照预设顺序,确定下一个服务请求,作为当前的待处理服务请求。然后,针对当前的待处理服务请求对应的VNF的每一种排列顺序,按照该种排列顺序从当前的待处理服务请求对应的VNF中选择第一个VNF,作为目标VNF,以此类推,直至生成最后一个服务请求对应的初始SFC,得到多个服务功能图。
在步骤S3011中,如果目标VNF不是该种排列顺序中的最后一个VNF,服务器可以按照该种排列顺序,选择下一个VNF,作为目标VNF,并判断当前的服务功能图中是否已存在目标VNF,以此类推,直至生成该种排列顺序对应的初始SFC。
在本发明的一个实施例中,参见图4,在步骤S304之后,该方法还可以包括以下步骤:
S3012:生成目标VNF,并分配给当前的待处理服务请求对应的待生成的初始SFC,并执行步骤S308。
在步骤S3012中,如果服务器判定当前的服务功能图中不存在目标VNF,表明当前并未给其他服务请求对应的初始SFC分配目标VNF,因此,为了能够处理目标VNF对应的目标业务,可以生成目标VNF。然后,服务器可以判断目标VNF是否该种排列顺序中的最后一个VNF。如果目标VNF是该种排列顺序中的最后一个VNF,表明已确定出当前的待处理服务请求对应的待生成的初始SFC包含的所有VNF。服务器可以在当前的服务功能图中,按照该种排列顺序生成当前的待处理服务请求对应的,包含已分配的各VNF的初始SFC,可以得到新的服务功能图。
然后,服务器可以按照预设顺序,确定下一个服务请求,作为当前的待处理服务请求。然后,针对当前的待处理服务请求对应的VNF的每一种排列顺序,按照该种排列顺序从当前的待处理服务请求对应的VNF中选择第一个VNF,作为目标VNF,以此类推,直至生成最后一个服务请求对应的初始SFC,得到多个服务功能图。
如果目标VNF不是该种排列顺序中的最后一个VNF,服务器可以按照该种排列顺序,选择下一个VNF,作为目标VNF,并判断当前的服务功能图中是否已存在目标VNF,以此类推,直至生成该种排列顺序对应的初始SFC。
示例性的,预设数目可以为:3。预设各服务请求可以包括:服务请求1和服务请求2。服务请求1对应的VNF包括:VNF1、VNF2、VNF3,服务请求1对应的VNF的排列顺序包括:排列顺序1:VNF1→VNF2→VNF3,排列顺序2:VNF3→VNF1→VNF2。服务请求2对应的VNF包括:VNF2、VNF4,服务请求2对应的VNF的排列顺序包括:排列顺序3:VNF2→VNF4,排列顺序4:VNF4→VNF2。
服务器可以生成图5(a)所示的初始服务功能图,作为当前的服务功能图,图5(a)所示初始服务功能图中仅包括源服务器和目的服务器。
然后,服务器可以选择服务请求1,并确定服务请求1对应的VNF的排列顺序1中的第一个VNF(即VNF1),然后,判断当前的服务功能图中是否存在VNF1,图5(a)所示的初始服务功能图中不存在VNF1,则服务器可以生成VNF1,并将VNF1分配给服务请求1对应的待生成的初始SFC1。服务器可以判断VNF1是否为排列顺序1中的最后一个VNF,在本实施例中,VNF1不是排列顺序1中的最后一个VNF,则服务器可以确定排列顺序1中的下一个VNF(即VNF2)。
然后,服务器可以判断当前的服务功能图中是否已存在VNF2,图5(a)所示的初始服务功能图中不存在VNF2,则服务器可以生成VNF2,并将VNF2分配给服务请求1对应的待生成的初始SFC1。然后,服务器可以判断VNF2是否为排列顺序1中的最后一个VNF,在本实施例中,VNF2不是排列顺序1中的最后一个VNF,则服务器可以确定排列顺序1中的下一个VNF(即VNF3)。
然后,服务器可以判断当前的服务功能图中是否存在VNF3,图5(a)所示的初始服务功能图中不存在VNF3,则服务器可以生成VNF3,并将VNF3分配给服务请求1对应的待生成的初始SFC1。然后,服务器可以判断VNF3是否为排列顺序1中的最后一个VNF,在本实施例中,VNF3是排列顺序1中的最后一个VNF,服务器可以在当前的服务功能图中,按照排列顺序1连接已分配给待生成的初始SFC1的各VNF,得到服务请求1对应的初始SFC1,并连接初始SFC1中的第一个VNF(即VNF1)与源服务器,以及连接初始SFC1中的最后一个VNF(即VNF3)与目的服务器,可以得到图5(b)所示的服务功能图,作为当前的服务功能图。
同理,服务器可以在图5(a)所示的服务功能图中,生成排列顺序2对应的SFC2,可以得到图5(c)所示的服务功能图。
进而,服务器可以确定下一个服务请求(即服务请求2),并确定服务请求2对应的VNF的排列顺序3中的第一个VNF(即VNF2),然后,判断当前的服务功能图中是否存在VNF2,图5(b)所示的服务功能图中存在VNF2,则服务器可以判断当前的服务功能图中已生成的初始SFC中,包含VNF2的初始SFC的数目是否达到预设数目,图5(b)所示的服务功能图已生成的初始SFC中包含VNF2的初始SFC的数目为1,未达到预设数目(即3),则服务器可以将VNF2分配给服务请求2对应的待生成的初始SFC3。服务器可以判断VNF2是否为排列顺序3中的最后一个VNF,在本实施例中,VNF2不是排列顺序3中的最后一个VNF,则服务器可以确定排列顺序3中的下一个VNF(即VNF4)。
然后,服务器可以判断当前的服务功能图中是否已存在VNF4,图5(b)所示的服务功能图中不存在VNF4,则服务器可以生成VNF4,并将VNF4分配给服务请求2对应的待生成的初始SFC3。然后,服务器可以判断VNF4是否为排列顺序3中的最后一个VNF,在本实施例中,VNF4是排列顺序3中的最后一个VNF,服务器可以在当前的服务功能图中,按照排列顺序3连接已分配给待生成的初始SFC3的各VNF,得到服务请求2对应的初始SFC3,并连接初始SFC3中的第一个VNF(即VNF2)与源服务器,以及连接初始SFC3中的最后一个VNF(即VNF4)与目的服务器,可以得到图5(d)所示的服务功能图。
同理,服务器可以在图5(c)所示的服务功能图中,生成排列顺序3对应的SFC3,可以得到图5(e)所示的服务功能图。分别在图5(b)所示的服务功能图中和图5(c)所示的服务功能图中,生成排列顺序4对应的SFC4,可以得到图5(f)所示的服务功能图和图5(g)所示的服务功能图。
后续,服务器可以从图5(d)所示的服务功能图、确定图5(e)所示的服务功能图、图5(f)所示的服务功能图和图5(g)所示的服务功能图中,确定可靠度最大的服务功能图,服务器确定可靠度最大的服务功能图的方法,可以参考后续实施例中的详细介绍。
另外,服务器还可以确定生成的服务功能图的数目,生成的服务功能图的数目可以表示为如下公式(1)。
N表示生成的服务功能图的数目,Mi表示第i个服务请求对应的初始SFC的数目,n表示预设各服务请求的数目。
在步骤S104中,在生成各服务功能图之后,针对每一服务功能图,服务器可以基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度。
在本发明的一个实施例中,参见图6,步骤S104可以包括以下步骤:
S1041:针对每一服务功能图,判断该服务功能图中源服务器与目的服务器是否相邻,如果是,执行步骤S1042,如果否,执行步骤S1043。
S1042:计算源服务器的可靠度与目的服务器的可靠度的乘积,作为该服务功能图的可靠度。
S1043:从该服务功能图中选取与源服务器相邻的一个VNF,作为当前的待处理VNF。
S1044:基于当前的待处理VNF,生成该服务功能图的子服务功能图。
其中,该服务功能图的子服务功能图包括:通过在该服务功能图中删除当前的待处理VNF,并连接源服务器与当前的待处理VNF的相邻VNF得到的第一子服务功能图,以及通过在该服务功能图中,删除当前的待处理VNF得到的第二子服务功能图。
S1045:针对该服务功能图的每一子服务功能图,判断该子服务功能图中源服务器与目的服务器是否相邻,如果否,执行步骤S1046,如果是,执行步骤S1047。
S1046:将该子服务功能图作为当前的服务功能图,并返回执行步骤S1043。
S1047:计算源服务器的可靠度与目的服务器的可靠度的乘积,作为该子服务功能图的可靠度,并基于该服务功能图的每一子服务功能图的可靠度,计算该服务功能图的可靠度。
针对步骤S1041和步骤S1042,针对每一服务功能图,服务器可以判断该服务功能图中源服务器和目的服务器是否相邻,如果服务器判定该服务功能图中源服务器和目的服务器相邻,则服务器可以计算源服务器的可靠度和目的服务器的可靠度的乘积,得到该服务功能图的可靠度。
在步骤S1043中,针对每一服务功能图,如果服务器判定该服务功能图中源服务器和目的服务器不相邻,则服务器可以从该服务功能图中选取与源服务器相邻的一个VNF,作为当前的待处理VNF。
参见图7(a),图7(a)为本发明实施例提供的一种服务功能图。图7(a)所示的服务功能图中从源服务器至目的服务器存在两条路径,分别为:源服务器→VNF2→目的服务器,以及源服务器→VNF3→目的服务器。图5(a)中VNF1和VNF4不相邻,则服务器可以选择与VNF1相邻的VNF2作为当前的待处理VNF。
在步骤S1044中,针对上述实施例,服务器可以从图7(a)中删除VNF2,并连接源服务器与目的服务器,可以得到图7(b)所示的第一子服务功能图。服务器还可以从图7(a)中直接删除VNF2,可以得到图7(c)所示的第二子服务功能图。
针对步骤S1045和步骤S1046,针对每一子服务功能图,服务器可以判断该子服务功能图中源服务器与目的服务器是否相邻,如果该子服务功能图中源服务器与目的服务器相邻,则服务器可以计算源服务器的可靠度与目的服务器的可靠度的乘积,作为该子服务功能图的可靠度。
针对上述实施例,图7(c)所示的第二子服务功能图中源服务器与目的服务器不相邻,则服务器可以选择与源服务器相邻的VNF3,作为当前的待处理VNF。然后,服务器可以从图7(c)中删除VNF3,并连接源服务器与目的服务器,可以得到图7(d)所示的子服务功能图。由于图7(c)所示的第二子服务功能图中从源服务器至目的服务器仅存在一条路径,如果直接删除当前的待处理VNF(即VNF3),从源服务器无法到达目的服务器,因此,不对图7(c)进行直接删除VNF3的操作,也就是说,图7(c)所示的第二子服务功能图不存在直接删除当前的待处理VNF得到子服务功能图,仅存在图7(d)所示的子服务功能图。针对图7(d)所示的子服务功能图,该子服务功能图中源服务器与目的服务器相邻,则服务器可以计算源服务器的可靠度与目的服务器的可靠度的乘积,得到的乘积可以表示该子服务功能图的可靠度。
在步骤S1047中,如果该子服务功能图中源服务器与目的服务器相邻,计算源服务器的可靠度与目的服务器的可靠度的乘积,作为该子服务功能图的可靠度,然后,基于该服务功能图的每一子服务功能图的可靠度,计算该服务功能图的可靠度。
针对上述实施例,图7(b)所示的第一子服务功能图中源服务器与目的服务器相邻,则服务器可以计算源服务器的可靠度与目的服务器的可靠度的乘积,得到的乘积可以表示该子服务功能图的可靠度。
然后,服务器可以基于该服务功能图的每一子服务功能图的可靠度,计算该服务功能图的可靠度。
针对一个服务功能图,服务器可以生成该服务功能图的子服务功能图(可以称为一级子服务功能图),也就是说,可以基于该服务功能图的一级子服务功能图的可靠度,计算该服务功能图的可靠度。可以理解的是,针对该服务功能图的每一个一级子服务功能图,该一级子服务功能图也存在对应的子服务功能图(可以称为二级子服务功能图),进而,服务器可以生成该一级子服务功能图的二级子服务功能图,基于该一级子服务功能图的二级子服务功能图的可靠度,计算该一级子服务功能图的可靠度,以此类推,可以确定各级服务功能图的可靠度。
在本发明的一个实施例中,服务器基于该服务功能图的每一子服务功能图的可靠度,计算该服务功能图的可靠度的方法可以包括以下步骤:
基于该服务功能图的每一子服务功能图的可靠度和第一预设公式,计算该服务功能图的可靠度;其中,第一预设公式为:
R=v×R1+(1-v)×R2 (2)
R表示该服务功能图的可靠度,v表示当前的待处理VNF的可靠度,R1表示该服务功能图的第一子服务功能图的可靠度,R2表示该服务功能图的第二子服务功能图的可靠度。
针对上述实施例,图7(d)所示的子服务功能图的可靠度Rd为:源服务器的可靠度v1与目的服务器的可靠度v4的乘积(即v1v4),然后,服务器可以基于上述公式(2)和图7(d)所示的子服务功能图的可靠度Rd,计算图7(c)所示的第二服务功能图的可靠度Rc,由于图7(c)所示的第二服务功能图仅存在图7(d)所示的子服务功能图,因此,图7(c)所示的第二服务功能图的可靠度Rc为:v3v1v4。v3表示生成图7(d)所示的子服务功能图时,当前的待处理VNF(即VNF3)的可靠度。
图7(b)所示的第一子服务功能图的可靠度Rb为:源服务器的可靠度v1与目的服务器的可靠度v4的乘积(即v1v4)。进而,服务器可以基于上述公式(1)和图7(c)所示的第二服务功能图的可靠度,计算得到图7(a)所示的服务功能图的可靠度Ra为:v2v1v4+(1-v2)v3v1v4。v2表示生成图7(b)所示的子服务功能图和图7(c)所示的子服务功能图时,当前的待处理VNF(即VNF2)的可靠度。
在步骤S105中,服务器计算得到各服务功能图的可靠度之后,可以确定各服务功能图中可靠度最大的服务功能图(可以称为目标服务功能图)。然后,服务器可以确定目标服务功能图包含的各初始SFC,作为用于处理各初始SFC对应的服务请求的目标SFC。
在确定出目标服务功能图之后,服务器可以确定目标服务功能图中包含的各VNF,并生成各VNF各自对应的VNF实例。由于目标服务功能图中多个初始SFC可以包含同一个VNF,可以减少目标服务功能图中的VNF的数目,相应的,生成的VNF实例的数目也较少,也就是说,可以将一个VNF示例分配给多个初始SFC,进而,可以减少VNF实例所消耗的总资源。
VNF表示用于处理对应的业务的未完成资源配置的处理程序,VNF实例表示用于处理对应的业务的已完成资源配置的处理程序。为VNF实例配置的资源可以包括:带宽资源、内存资源等。
参见图8,图8为本发明实施例提供的一种VNF实例的共享次数对比图。
图8中柱状图表示VNF实例所消耗的总资源与VNF实例的共享次数的对应关系。折线图表示VNF实例的处理时延与VNF实例的共享次数的对应关系。一个VNF实例所消耗的资源可以表示为该VNF实例分配的带宽资源和内存资源。一个VNF实例的共享次数表示包含该VNF实例对应的VNF的初始SFC的数目减1。VNF实例的处理时延表示VNF实例处理一个业务的时长。
可见,当VNF实例的共享次数为0,即将一个VNF实例分配给一个SFC时,各VNF实例所消耗的总资源最大,且随着VNF实例的共享次数的增加,各VNF实例所消耗的总资源逐渐减少。
当VNF实例的共享次数为0时,VNF实例的处理时延最小,且随着VNF实例的共享次数的增加,VNF实例的处理时延逐渐增大。
参见图9,图9为本发明实施例提供的一种服务器所消耗的资源对比图。
图9中黑色柱状图表示采用现有技术提供的方法生成SFC时,服务器所消耗的资源与生成的SFC的数目的对应关系。白色柱状图表示采用本发明实施例提供的方法生成SFC时,服务器所消耗的资源与生成的SFC的数目的对应关系。服务器所消耗的资源可以为带宽资源和内存资源。
可见,当生成的SFC的数目相同时,采用本发明实施例提供的方法生成SFC时服务器所消耗的资源,小于采用现有技术提供的方法生成SFC时服务器所消耗的资源。
与图1的方法实施例相对应,参见图10,图10为本发明实施例提供的一种服务功能链生成装置的结构图,所述装置包括:
第一确定模块1001,用于针对预设的各服务请求中的每一服务请求,确定该服务请求所请求的多个目标业务各自对应的虚拟网络功能VNF;
第二确定模块1002,用于针对所述多个目标业务对应的每一种业务处理顺序,确定与该业务处理顺序对应的VNF的排列顺序;
生成模块1003,用于基于所述各服务请求各自对应的VNF,以及所述各服务请求各自对应的VNF的多种排列顺序,生成多个服务功能图;其中,每一所述服务功能图均包含所述各服务请求各自对应的一个初始SFC,且该服务功能图包含的每一初始SFC中的各VNF按照对应的排列顺序相连,该服务功能图中从源服务器至目的服务器之间存在多条路径,且所述多条路径与该服务功能图包含的初始SFC一一对应;所述源服务器用于向SFC转发接收到的服务请求,所述目的服务器用于返回服务请求的处理结果;
第三确定模块1004,用于针对每一所述服务功能图,基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度;其中,一个VNF的可靠度表示该VNF正常处理业务的概率;
第四确定模块1005,将所述多个服务功能图中可靠度最大的服务功能图包含的初始SFC,作为所述各服务请求各自对应的目标SFC。
可选的,所述第三确定模块1004,具体用于针对每一所述服务功能图,判断该服务功能图中所述源服务器与所述目的服务器是否相邻;
如果该服务功能图中所述源服务器与所述目的服务器相邻,计算所述源服务器的可靠度与所述目的服务器的可靠度的乘积,作为该服务功能图的可靠度;
如果该服务功能图中所述源服务器与所述目的服务器不相邻,从该服务功能图中选取与所述源服务器相邻的一个VNF,作为当前的待处理VNF;
基于当前的待处理VNF,生成该服务功能图的子服务功能图;其中,该服务功能图的子服务功能图包括:通过在该服务功能图中删除当前的待处理VNF,并连接所述源服务器与当前的待处理VNF的相邻VNF得到的第一子服务功能图,以及通过在该服务功能图中,删除当前的待处理VNF得到的第二子服务功能图;
针对该服务功能图的每一子服务功能图,判断该子服务功能图中所述源服务器与所述目的服务器是否相邻;
如果该子服务功能图中所述源服务器和所述目的服务器不相邻,将该子服务功能图作为当前的服务功能图,并返回执行从该服务功能图中选取与所述源服务器相邻的一个VNF,作为当前的待处理VNF的步骤;
如果该子服务功能图中所述源服务器与所述目的服务器相邻,计算所述源服务器的可靠度与所述目的服务器的可靠度的乘积,作为该子服务功能图的可靠度,并基于该服务功能图的每一子服务功能图的可靠度,计算该服务功能图的可靠度。
可选的,所述第三确定模块1004,具体用于基于该服务功能图的每一子服务功能图的可靠度和第一预设公式,计算该服务功能图的可靠度;其中,所述第一预设公式为:
R=v×R1+(1-v)×R2
R表示该服务功能图的可靠度,v表示当前的待处理VNF的可靠度,R1表示该服务功能图的第一子服务功能图的可靠度,R2表示该服务功能图的第二子服务功能图的可靠度。
可选的,所述生成模块1004,具体用于生成初始服务功能图,作为当前的服务功能图;其中,所述初始服务功能图中仅包含所述源服务器和所述目的服务器;
按照预设顺序确定所述各服务请求中的第一个服务请求,作为当前的待处理服务请求;
针对当前的待处理服务请求对应的VNF的每一种排列顺序,按照该种排列顺序从当前的待处理服务请求对应的VNF中选择第一个VNF,作为目标VNF;
判断当前的服务功能图中是否已存在所述目标VNF;
如果当前的服务功能图中已存在所述目标VNF,判断当前的服务功能图中已生成的初始SFC中,包含所述目标VNF的初始SFC的数目是否达到预设数目;如果当前的服务功能图中已生成的初始SFC中,包含所述目标VNF的初始SFC的数目未达到所述预设数目,将所述目标VNF分配给当前的待处理服务请求对应的待生成的初始SFC;如果当前的服务功能图中已生成的初始SFC中,包含所述目标VNF的初始SFC的数目达到所述预设数目,生成新的所述目标VNF,并分配给当前的待处理服务请求对应的待生成的初始SFC;
判断所述目标VNF是否为该种排列顺序中的最后一个VNF;
如果所述目标VNF是该种排列顺序中的最后一个VNF,按照该种排列顺序,在当前的服务功能图中生成当前的待处理服务请求对应的,包含已分配的各VNF的初始SFC,作为当前的服务功能图;确定所述预设顺序中的下一个服务请求,作为当前的待处理服务请求,并执行针对当前的待处理服务请求对应的VNF的每一种排列顺序,按照该种排列顺序,从当前的待处理服务请求对应的VNF中选择第一个VNF,作为所述目标VNF的步骤,直至生成最后一个服务请求对应的初始SFC,得到多个服务功能图;
如果所述目标VNF不是该种排列顺序中的最后一个VNF,按照该种排列顺序从当前的待处理服务请求对应的VNF中选择下一个VNF,作为所述目标VNF,并返回执行判断当前的服务功能图中是否已存在所述目标VNF的步骤。
可选的,所述生成模块1004,具体用于如果当前的服务功能图中不存在所述目标VNF,生成所述目标VNF,并分配给当前的待处理服务请求对应的待生成的初始SFC,并执行判断所述目标VNF是否为该种排列顺序中的最后一个VNF的步骤。
基于本发明实施例提供的服务功能链生成装置,可以基于各服务功能图各自包含的VNF的可靠度,确定各服务功能图的可靠度。进而,可以将可靠度最大的服务功能图中的各初始SFC,作为预设各服务请求各自对应的目标SFC。由于一个VNF的可靠度表示该VNF正常处理业务的概率,且可靠度越大该VNF正常处理业务的概率越大,相应的,服务功能图的可靠度越高,该服务功能图包含的各初始SFC正常处理服务请求的概率越大,预设各服务请求各自对应的目标SFC正常处理服务请求的概率也较大,进而,可以在一定程度上避免网络业务中断。
本发明实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现上述实施例所述的服务功能链生成方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一服务功能链生成方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一服务功能链生成方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种服务功能链生成方法,其特征在于,所述方法包括:
针对预设的各服务请求中的每一服务请求,确定该服务请求所请求的多个目标业务各自对应的虚拟网络功能VNF;
针对所述多个目标业务对应的每一种业务处理顺序,确定与该业务处理顺序对应的VNF的排列顺序;
基于所述各服务请求各自对应的VNF,以及所述各服务请求各自对应的VNF的多种排列顺序,生成多个服务功能图;其中,每一所述服务功能图均包含所述各服务请求各自对应的一个初始SFC,且该服务功能图包含的每一初始SFC中的各VNF按照对应的排列顺序相连,该服务功能图中从源服务器至目的服务器之间存在多条路径,且所述多条路径与该服务功能图包含的初始SFC一一对应;所述源服务器用于向SFC转发接收到的服务请求,所述目的服务器用于返回服务请求的处理结果;
针对每一所述服务功能图,基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度;其中,一个VNF的可靠度表示该VNF正常处理业务的概率;
将所述多个服务功能图中可靠度最大的服务功能图包含的初始SFC,作为所述各服务请求各自对应的目标SFC。
2.根据权利要求1所述的方法,其特征在于,所述针对每一所述服务功能图,基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度,包括:
针对每一所述服务功能图,判断该服务功能图中所述源服务器与所述目的服务器是否相邻;
如果该服务功能图中所述源服务器与所述目的服务器相邻,计算所述源服务器的可靠度与所述目的服务器的可靠度的乘积,作为该服务功能图的可靠度;
如果该服务功能图中所述源服务器与所述目的服务器不相邻,从该服务功能图中选取与所述源服务器相邻的一个VNF,作为当前的待处理VNF;
基于当前的待处理VNF,生成该服务功能图的子服务功能图;其中,该服务功能图的子服务功能图包括:通过在该服务功能图中删除当前的待处理VNF,并连接所述源服务器与当前的待处理VNF的相邻VNF得到的第一子服务功能图,以及通过在该服务功能图中,删除当前的待处理VNF得到的第二子服务功能图;
针对该服务功能图的每一子服务功能图,判断该子服务功能图中所述源服务器与所述目的服务器是否相邻;
如果该子服务功能图中所述源服务器和所述目的服务器不相邻,将该子服务功能图作为当前的服务功能图,并返回执行从该服务功能图中选取与所述源服务器相邻的一个VNF,作为当前的待处理VNF的步骤;
如果该子服务功能图中所述源服务器与所述目的服务器相邻,计算所述源服务器的可靠度与所述目的服务器的可靠度的乘积,作为该子服务功能图的可靠度,并基于该服务功能图的每一子服务功能图的可靠度,计算该服务功能图的可靠度。
3.根据权利要求2所述的方法,其特征在于,所述基于该服务功能图的每一子服务功能图的可靠度,计算该服务功能图的可靠度,包括:
基于该服务功能图的每一子服务功能图的可靠度和第一预设公式,计算该服务功能图的可靠度;其中,所述第一预设公式为:
R=v×R1+(1-v)×R2
R表示该服务功能图的可靠度,v表示当前的待处理VNF的可靠度,R1表示该服务功能图的第一子服务功能图的可靠度,R2表示该服务功能图的第二子服务功能图的可靠度。
4.根据权利要求1所述的方法,其特征在于,所述基于所述各服务请求各自对应的VNF,以及所述各服务请求各自对应的VNF的多种排列顺序,生成多个服务功能图,包括:
生成初始服务功能图,作为当前的服务功能图;其中,所述初始服务功能图中仅包含所述源服务器和所述目的服务器;
按照预设顺序确定所述各服务请求中的第一个服务请求,作为当前的待处理服务请求;
针对当前的待处理服务请求对应的VNF的每一种排列顺序,按照该种排列顺序从当前的待处理服务请求对应的VNF中选择第一个VNF,作为目标VNF;
判断当前的服务功能图中是否已存在所述目标VNF;
如果当前的服务功能图中已存在所述目标VNF,判断当前的服务功能图中已生成的初始SFC中,包含所述目标VNF的初始SFC的数目是否达到预设数目;如果当前的服务功能图中已生成的初始SFC中,包含所述目标VNF的初始SFC的数目未达到所述预设数目,将所述目标VNF分配给当前的待处理服务请求对应的待生成的初始SFC;如果当前的服务功能图中已生成的初始SFC中,包含所述目标VNF的初始SFC的数目达到所述预设数目,生成新的所述目标VNF,并分配给当前的待处理服务请求对应的待生成的初始SFC;
判断所述目标VNF是否为该种排列顺序中的最后一个VNF;
如果所述目标VNF是该种排列顺序中的最后一个VNF,按照该种排列顺序,在当前的服务功能图中生成当前的待处理服务请求对应的,包含已分配的各VNF的初始SFC,作为当前的服务功能图;确定所述预设顺序中的下一个服务请求,作为当前的待处理服务请求,并执行针对当前的待处理服务请求对应的VNF的每一种排列顺序,按照该种排列顺序,从当前的待处理服务请求对应的VNF中选择第一个VNF,作为所述目标VNF的步骤,直至生成最后一个服务请求对应的初始SFC,得到多个服务功能图;
如果所述目标VNF不是该种排列顺序中的最后一个VNF,按照该种排列顺序从当前的待处理服务请求对应的VNF中选择下一个VNF,作为所述目标VNF,并返回执行判断当前的服务功能图中是否已存在所述目标VNF的步骤。
5.根据权利要求4所述的方法,其特征在于,在所述判断当前的服务功能图中是否已存在所述目标VNF之后,所述方法还包括:
如果当前的服务功能图中不存在所述目标VNF,生成所述目标VNF,并分配给当前的待处理服务请求对应的待生成的初始SFC,并执行判断所述目标VNF是否为该种排列顺序中的最后一个VNF的步骤。
6.一种服务功能链生成装置,其特征在于,所述装置包括:
第一确定模块,用于针对预设的各服务请求中的每一服务请求,确定该服务请求所请求的多个目标业务各自对应的虚拟网络功能VNF;
第二确定模块,用于针对所述多个目标业务对应的每一种业务处理顺序,确定与该业务处理顺序对应的VNF的排列顺序;
生成模块,用于基于所述各服务请求各自对应的VNF,以及所述各服务请求各自对应的VNF的多种排列顺序,生成多个服务功能图;其中,每一所述服务功能图均包含所述各服务请求各自对应的一个初始SFC,且该服务功能图包含的每一初始SFC中的各VNF按照对应的排列顺序相连,该服务功能图中从源服务器至目的服务器之间存在多条路径,且所述多条路径与该服务功能图包含的初始SFC一一对应;所述源服务器用于向SFC转发接收到的服务请求,所述目的服务器用于返回服务请求的处理结果;
第三确定模块,用于针对每一所述服务功能图,基于该服务功能图包含的VNF的可靠度,计算该服务功能图的可靠度;其中,一个VNF的可靠度表示该VNF正常处理业务的概率;
第四确定模块,用于将所述多个服务功能图中可靠度最大的服务功能图包含的初始SFC,作为所述各服务请求各自对应的目标SFC。
7.根据权利要求6所述的装置,其特征在于,所述第三确定模块,具体用于针对每一所述服务功能图,判断该服务功能图中所述源服务器与所述目的服务器是否相邻;
如果该服务功能图中所述源服务器与所述目的服务器相邻,计算所述源服务器的可靠度与所述目的服务器的可靠度的乘积,作为该服务功能图的可靠度;
如果该服务功能图中所述源服务器与所述目的服务器不相邻,从该服务功能图中选取与所述源服务器相邻的一个VNF,作为当前的待处理VNF;
基于当前的待处理VNF,生成该服务功能图的子服务功能图;其中,该服务功能图的子服务功能图包括:通过在该服务功能图中删除当前的待处理VNF,并连接所述源服务器与当前的待处理VNF的相邻VNF得到的第一子服务功能图,以及通过在该服务功能图中,删除当前的待处理VNF得到的第二子服务功能图;
针对该服务功能图的每一子服务功能图,判断该子服务功能图中所述源服务器与所述目的服务器是否相邻;
如果该子服务功能图中所述源服务器和所述目的服务器不相邻,将该子服务功能图作为当前的服务功能图,并返回执行从该服务功能图中选取与所述源服务器相邻的一个VNF,作为当前的待处理VNF的步骤;
如果该子服务功能图中所述源服务器与所述目的服务器相邻,计算所述源服务器的可靠度与所述目的服务器的可靠度的乘积,作为该子服务功能图的可靠度,并基于该服务功能图的每一子服务功能图的可靠度,计算该服务功能图的可靠度。
8.根据权利要求7所述的装置方法,其特征在于,所述第三确定模块,具体用于基于该服务功能图的每一子服务功能图的可靠度和第一预设公式,计算该服务功能图的可靠度;其中,所述第一预设公式为:
R=v×R1+(1-v)×R2
R表示该服务功能图的可靠度,v表示当前的待处理VNF的可靠度,R1表示该服务功能图的第一子服务功能图的可靠度,R2表示该服务功能图的第二子服务功能图的可靠度。
9.根据权利要求6所述的装置,其特征在于,所述生成模块,具体用于生成初始服务功能图,作为当前的服务功能图;其中,所述初始服务功能图中仅包含所述源服务器和所述目的服务器;
按照预设顺序确定所述各服务请求中的第一个服务请求,作为当前的待处理服务请求;
针对当前的待处理服务请求对应的VNF的每一种排列顺序,按照该种排列顺序从当前的待处理服务请求对应的VNF中选择第一个VNF,作为目标VNF;
判断当前的服务功能图中是否已存在所述目标VNF;
如果当前的服务功能图中已存在所述目标VNF,判断当前的服务功能图中已生成的初始SFC中,包含所述目标VNF的初始SFC的数目是否达到预设数目;如果当前的服务功能图中已生成的初始SFC中,包含所述目标VNF的初始SFC的数目未达到所述预设数目,将所述目标VNF分配给当前的待处理服务请求对应的待生成的初始SFC;如果当前的服务功能图中已生成的初始SFC中,包含所述目标VNF的初始SFC的数目达到所述预设数目,生成新的所述目标VNF,并分配给当前的待处理服务请求对应的待生成的初始SFC;
判断所述目标VNF是否为该种排列顺序中的最后一个VNF;
如果所述目标VNF是该种排列顺序中的最后一个VNF,按照该种排列顺序,在当前的服务功能图中生成当前的待处理服务请求对应的,包含已分配的各VNF的初始SFC,作为当前的服务功能图;确定所述预设顺序中的下一个服务请求,作为当前的待处理服务请求,并执行针对当前的待处理服务请求对应的VNF的每一种排列顺序,按照该种排列顺序,从当前的待处理服务请求对应的VNF中选择第一个VNF,作为所述目标VNF的步骤,直至生成最后一个服务请求对应的初始SFC,得到多个服务功能图;
如果所述目标VNF不是该种排列顺序中的最后一个VNF,按照该种排列顺序从当前的待处理服务请求对应的VNF中选择下一个VNF,作为所述目标VNF,并返回执行判断当前的服务功能图中是否已存在所述目标VNF的步骤。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010997635.9A CN112217874B (zh) | 2020-09-21 | 2020-09-21 | 一种服务功能链生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010997635.9A CN112217874B (zh) | 2020-09-21 | 2020-09-21 | 一种服务功能链生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112217874A true CN112217874A (zh) | 2021-01-12 |
CN112217874B CN112217874B (zh) | 2021-08-17 |
Family
ID=74049795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010997635.9A Active CN112217874B (zh) | 2020-09-21 | 2020-09-21 | 一种服务功能链生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112217874B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115514671A (zh) * | 2022-09-16 | 2022-12-23 | 中国电信股份有限公司 | 网络可靠度的评估方法、装置及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130894A (zh) * | 2016-06-03 | 2016-11-16 | 上海华为技术有限公司 | 一种业务功能链的创建方法及系统 |
CN106452930A (zh) * | 2016-12-16 | 2017-02-22 | 北京邮电大学 | 一种基于探测的服务功能链的故障诊断方法及系统 |
CN108494596A (zh) * | 2018-03-23 | 2018-09-04 | 西安电子科技大学 | 多个vnf间依赖的协同式构建与映射sfc方法 |
CN108566308A (zh) * | 2018-04-28 | 2018-09-21 | 电子科技大学 | 一种基于共享保护服务功能链的可靠性增强方法 |
WO2019129118A1 (zh) * | 2017-12-29 | 2019-07-04 | 华为技术有限公司 | Vnf服务实例化方法及装置 |
JP2019213028A (ja) * | 2018-06-04 | 2019-12-12 | 日本電信電話株式会社 | サービスチェイン設計装置、サービスチェイン設計方法、および、サービスチェイン設計プログラム |
CN111654386A (zh) * | 2020-01-15 | 2020-09-11 | 许继集团有限公司 | 一种业务功能链建立方法及系统 |
-
2020
- 2020-09-21 CN CN202010997635.9A patent/CN112217874B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130894A (zh) * | 2016-06-03 | 2016-11-16 | 上海华为技术有限公司 | 一种业务功能链的创建方法及系统 |
CN106452930A (zh) * | 2016-12-16 | 2017-02-22 | 北京邮电大学 | 一种基于探测的服务功能链的故障诊断方法及系统 |
WO2019129118A1 (zh) * | 2017-12-29 | 2019-07-04 | 华为技术有限公司 | Vnf服务实例化方法及装置 |
CN108494596A (zh) * | 2018-03-23 | 2018-09-04 | 西安电子科技大学 | 多个vnf间依赖的协同式构建与映射sfc方法 |
CN108566308A (zh) * | 2018-04-28 | 2018-09-21 | 电子科技大学 | 一种基于共享保护服务功能链的可靠性增强方法 |
JP2019213028A (ja) * | 2018-06-04 | 2019-12-12 | 日本電信電話株式会社 | サービスチェイン設計装置、サービスチェイン設計方法、および、サービスチェイン設計プログラム |
CN111654386A (zh) * | 2020-01-15 | 2020-09-11 | 许继集团有限公司 | 一种业务功能链建立方法及系统 |
Non-Patent Citations (1)
Title |
---|
LEYI ZHANG ET AL.: "Redundancy mechanism of Service Function Chain", 《2019 IFIP/IEEE SYMPOSIUM ON INTEGRATED NETWORK AND SERVICE MANAGEMENT (IM)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115514671A (zh) * | 2022-09-16 | 2022-12-23 | 中国电信股份有限公司 | 网络可靠度的评估方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112217874B (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542361B (zh) | 一种分布式存储系统文件读取方法、系统及相关装置 | |
CN112217874B (zh) | 一种服务功能链生成方法及装置 | |
CN111372115A (zh) | 应用程序的访问方法及装置、通讯系统 | |
CN111654561B (zh) | 一种ip地址数量确定方法、装置、电子设备及存储介质 | |
CN110601978A (zh) | 流量分发控制方法和装置 | |
CN114153581A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110213671B (zh) | 一种热点短视频确定方法和装置 | |
CN111625348A (zh) | 任务分配方法、装置、服务器及存储介质 | |
CN112653736B (zh) | 一种并行回源方法、装置及电子设备 | |
CN111274017B (zh) | 一种资源的处理方法、装置、电子设备及存储介质 | |
CN112395034A (zh) | 页面显示方法、装置、电子设备和存储介质 | |
CN109408369B (zh) | 一种系统测试方法、装置及电子设备 | |
CN113360815A (zh) | 一种请求重试方法和装置 | |
CN111338607A (zh) | 一种用于测试的业务数据的选择方法、装置及电子设备 | |
US20230063599A1 (en) | Edge computing network, data transmission method and apparatus, device and storage medium | |
CN110381168B (zh) | 预测周期确定方法、预测内容推送方法、装置及系统 | |
CN111555918B (zh) | 一种回源优化方法、装置及电子设备 | |
CN112507216B (zh) | 一种数据对象推荐方法、装置、设备和存储介质 | |
CN112860432A (zh) | 一种进程管理方法、装置及服务器 | |
CN109309717B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN112162923A (zh) | 一种接口测试方法及装置 | |
CN113138850A (zh) | 资源分配方法、装置 | |
CN115987685B (zh) | 一种云服务数据共享方法及系统 | |
CN115174588B (zh) | 带宽控制方法、装置、设备、存储介质和程序产品 | |
US11403426B1 (en) | Single path prioritization for a communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |