CN114900522B - 一种基于蒙特卡洛树搜索的服务功能链迁移方法 - Google Patents

一种基于蒙特卡洛树搜索的服务功能链迁移方法 Download PDF

Info

Publication number
CN114900522B
CN114900522B CN202210532948.6A CN202210532948A CN114900522B CN 114900522 B CN114900522 B CN 114900522B CN 202210532948 A CN202210532948 A CN 202210532948A CN 114900522 B CN114900522 B CN 114900522B
Authority
CN
China
Prior art keywords
service function
function chain
node
migration
server
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
CN202210532948.6A
Other languages
English (en)
Other versions
CN114900522A (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.)
Chongqing University
Original Assignee
Chongqing University
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 Chongqing University filed Critical Chongqing University
Priority to CN202210532948.6A priority Critical patent/CN114900522B/zh
Publication of CN114900522A publication Critical patent/CN114900522A/zh
Application granted granted Critical
Publication of CN114900522B publication Critical patent/CN114900522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开一种基于蒙特卡洛树搜索的服务功能链迁移方法,包括以下步骤:1)判断当前是否需要进行服务功能链迁移;2)确定待迁移服务功能链请求集合R′mig;3)确定最优迁移方案;4)形成服务功能链请求集合的链路映射方案;7)根据迁移方案和链路映射方案对待迁移服务功能链请求集合R′mig实行迁移操作,并更新物理网络拓扑;本发明解决了当服务功能链部署完成后,由于服务器资源消耗过载情景下的服务功能链迁移问题。

Description

一种基于蒙特卡洛树搜索的服务功能链迁移方法
技术领域
本发明涉及服务功能链领域,具体是一种基于蒙特卡洛树搜索的服务功能链迁移方法。
背景技术
网络功能虚拟化(Network Function Virtualization,NFV)技术的出现彻底改变了传统的网络架构模式。在NFV范式下,网络功能不再需要依靠专用硬件设备来实现,而是通过虚拟化技术实现为在通用服务器上运行的软件组件,即虚拟网络功能(VirtualNetwork Functions,VNF)。在基于NFV的网络架构中,用户的网络服务是以服务功能链(Service Function Chain,SFC)的形式来实现的。SFC是指对数据流进行处理的一组有序的VNFs集合,若干数量由虚拟链路链接而成的VNF便形成了一个特定的网络服务。一个高效、合理的SFC部署方案不仅能提高网络资源的利用率,还可以给用户带来更好的服务体验。
SFC迁移考虑的是当SFC部署完成后,若用户网络服务的资源需求发生变化或是底层物理网络中服务器出现故障导致无法继续支持VNF的运行,为了给用户带来持续高质量的服务体验,进而需要对已经部署好的SFC进行动态迁移。在网络负载动态变化的情况下,SFC迁移被认为是提高网络资源利用率,维持网络负载均衡的一种有效途径。然而,当前大多数研究工作都单纯的以成功迁移为目标,忽视了基于该目标而制定的迁移策略可能会导致额外的资源消耗。如何设计有效的算法在特定的环境下对已经部署好的SFC进行迁移使得最大化网络负载均衡的同时最小化底层物理网络中链路带宽的消耗是当前服务功能链迁移问题所面临的重大挑战。
发明内容
本发明的目的是提供一种基于蒙特卡洛树搜索的服务功能链迁移方法,包括以下步骤:
1)判断当前是否需要进行服务功能链迁移,若是,则进入步骤2)。
判断当前是否需要进行服务功能链迁移的方法包括:若底层物理服务器出现故障,或者底层物理网络资源过载,则底层物理服务器需要进行服务功能链迁移。
需要进行服务功能链迁移的底层物理服务器满足下式:
式中,β∈[0,1]表示资源过载阈值。表示服务器vi的CPU资源消耗情况。/>表示物理服务器vi的CPU资源容量。/>表示链路ej的带宽资源消耗情况。/>代表物理链路ej所具有的带宽容量。Vp为服务器集合。Ep为物理链路集合。
2)获取当前物理网络拓扑和服务功能链的部署方案。
3)确定待迁移服务功能链请求集合R′mig
所述服务功能链请求集合R′mig={SFC1,SFC2,SFC3,…,SFCn}。n代表待迁移服务功能链的数量;SFCn为第n个待迁移服务功能链。
确定待迁移服务功能链请求集合R′mig的步骤如下:
3.1)确定需要迁移的物理服务器集合
3.2)将过载服务器上CPU资源消耗最高的虚拟网络功能所属的服务功能链添加到服务功能链请求集合Rmig中,直到服务器负载处于正常状态为止。
将发生故障服务器上的所有服务功能链添加到服务功能链请求集合Rmig中。
3.3)根据虚拟网络功能的CPU需求大小对服务功能链请求集合进行降序排序,得到待迁移服务功能链迁移顺序R′mig
4)计算迁移前的网络负载和总的链路带宽资源消耗,并确定最优迁移方案。
最优迁移方案的长度等于服务功能链请求集合R′mig的长度的判断标准为:待迁移服务功能链请求集合R′mig中每个服务功能链都具有可供相应虚拟网络功能迁移的服务器。
确定最优迁移方案的步骤包括:
4.1)创建并初始化搜索树。
所述搜索树根节点root的初始状态为Φ0。搜索树节点的状态包括物理网络中服务器和物理链路的资源负载状态,当前待迁移服务功能链请求集合R′mig的状态。
根节点的访问次数σroot初始化为0,根节点的节点值nroot初始化为0。迁移方案result初始化为
4.2)判断待迁移服务功能链集合R′mig中每个服务功能链是否都有对应的迁移方案,若是,则进入步骤4.13)。否则,对每个选择阶段待评估样本数量θ进行初始化。进入步骤4.3)。
4.3)判断评估样本数量θ是否大于0,若是,则进入步骤4.4),否则,进入步骤4.6)。
4.4)判断当前根节点的子节点集合I是否为空集,如是,则进入步骤4.13),否则,进入步骤4.5)。
4.5)为当前根节点对应状态下的第m条服务功能链SFCm制定迁移方案result,从而将服务功能链SFCm上相应虚拟网络功能的目标迁移服务器编号存储在最佳子节点k上。m初始化设置为1。
最佳子节点k满足下式:
式中,u为当前节点。I为当前节点的孩子节点集。ni为节点i的节点值。σi为节点i的访问次数。D为探索系数。σu节点u的节点值。
4.6)计算当前根节点的各个子节点的节点值n与访问次数σ的比值,将比值最大的子节点作为新的根节点,并在迁移方案result中写入新的根节点中存储的服务器编号,返回步骤4.2)。
4.7)将最佳子节点k作为根节点的子节点添加到搜索树中。最佳子节点k的状态包括将服务功能链SFCm上相应的虚拟网络功能迁移到最佳子节点k存储的服务器编号对应的服务器后物理网络拓扑状态、当前网络中服务功能链的部署方案和当前需要进行迁移的服务功能链集合R′mig的状态。
4.8)判断当m大于n是否成立,若是,则进入步骤4.9),否则,进入步骤4.10)。
4.9)计算奖励reward=Rt。Rt为即时奖励。
计算奖励reward的步骤包括:
4.9.1)计算在t时刻下的网络资源负载即:
式中,表示底层物理网络中CPU资源消耗方差。/>表示底层物理链路资源消耗方差。ω1、ω2分别表示CPU资源和链路带宽资源对网络负载平衡影响的权重因子。
4.9.2)计算在t时刻下网络中带宽资源的消耗百分比即:
式中,表示消耗的带宽资源。/>表示总的带宽资源。
4.9.3)计算奖励reward,即:
式中,α12表示用于平衡目标的可调权重因子。
4.10)更新参数m=m+1,计算物理网络中每个服务器纵向启发式度量-局部资源容量H(vi),即:
式中,Ep(vi)表示与服务器vi相连的物理链路集合。Vp(μ′t)表示符合当前需要迁移的服务功能链请求μ′t资源约束、可以进行迁移的物理服务器集合。表示物理服务器vi的CPU资源容量。/>代表物理链路ej所具有的带宽容量。
将最大纵向启发式度量-局部资源容量对应的服务器设置为服务功能链SFCm上相应虚拟网络功能的目标迁移服务器,并更新当前节点状态,返回步骤4.8)。
4.11)判断当前节点是否存在父节点,若是,则进入步骤4.12)。否则,更新评估样本数量θ、根节点的节点值nroot、根节点的访问次数σroot,并返回步骤4.3)。
4.12)更新当前节点的节点值ncurrent、当前节点的访问次数σcurrent、并将当前节点更改为当前节点的父节点,返回步骤11)。
4.13)输出迁移方案result。
5)判断最优迁移方案的长度是否等于待迁移服务功能链请求集合R′mig的长度,若是,则进入步骤6),否则,进入步骤8)。
6)利用迪杰斯特拉最短路径算法判断物理网络中是否存在满足最优迁移方案需求的链路,若是,则形成服务功能链请求集合的链路映射方案,并进入步骤7),否则进入步骤8)。
物理网络中存在满足最优迁移方案需求的链路的标准包括:将待迁移服务功能链SFCm上相应的虚拟网络功能迁移至目标服务器后,与当前服务功能链SFCm中前一个虚拟网络功能放置的服务器之间、后一个虚拟网络功能放置的服务器之间均存在映射对应虚拟链路的物理路径。
7)根据迁移方案和链路映射方案对待迁移服务功能链请求集合R′mig实行迁移操作,并更新物理网络拓扑,返回步骤1)。
8)迁移失败,返回步骤1)。
本发明的技术效果是毋庸置疑的,本发明解决了服务功能链迁移问题。本发明充分利用了蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)算法和启发式算法局部资源容量(Local Resource Capacity,LRC)的优势来获得服务功能链的迁移方案,为了加快MCTS算法的收敛速度在其模拟阶段引入LRC算法对服务器进行迁移优先级排序,以实现快速生成服务功能链的最佳迁移方案。本发明可以实现最大化网络负载均衡的同时最小化底层物理网络中链路带宽资源的消耗。
附图说明
图1为服务功能链迁移方法的总算法流程图。
图2为服务功能链迁移方法生成迁移方案的算法流程图。
具体实施方式
下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。
实施例1:
参见图1至图2,一种基于蒙特卡洛树搜索的服务功能链迁移方法,包括以下步骤:
1)判断当前是否需要进行服务功能链迁移,若是,则进入步骤2)。
判断当前是否需要进行服务功能链迁移的方法包括:若底层物理服务器出现故障,或者底层物理网络资源过载,则底层物理服务器需要进行服务功能链迁移。
需要进行服务功能链迁移的底层物理服务器满足下式:
式中,β∈[0,1]表示资源过载阈值。表示服务器vi的CPU资源消耗情况。/>表示物理服务器vi的CPU资源容量。/>表示链路ej的带宽资源消耗情况。/>代表物理链路ej所具有的带宽容量。Vp为服务器集合。Ep为物理链路集合。
2)获取当前物理网络拓扑和服务功能链的部署方案。
3)确定待迁移服务功能链请求集合R′mig
所述服务功能链请求集合R′mig={SFC1,SFC2,SFC3,…,SFCn}。n代表待迁移服务功能链的数量;SFCn为第n个待迁移服务功能链。
确定待迁移服务功能链请求集合R′mig的步骤如下:
3.1)确定需要迁移的物理服务器集合
3.2)将过载服务器上CPU资源消耗最高的虚拟网络功能所属的服务功能链添加到服务功能链请求集合Rmig中,直到服务器负载处于正常状态为止。
将发生故障服务器上的所有服务功能链添加到服务功能链请求集合Rmig中。
3.3)根据虚拟网络功能的CPU需求大小对服务功能链请求集合进行降序排序,得到待迁移服务功能链迁移顺序R′mig
4)计算迁移前的网络负载和总的链路带宽资源消耗,并确定最优迁移方案。
最优迁移方案的长度等于服务功能链请求集合R′mig的长度的判断标准为:待迁移服务功能链请求集合R′mig中每个服务功能链都具有可供相应虚拟网络功能迁移的服务器。
确定最优迁移方案的步骤包括:
4.1)创建并初始化搜索树。
所述搜索树根节点root的初始状态为Φ0。搜索树节点的状态包括物理网络中服务器和物理链路的资源负载状态,当前待迁移服务功能链请求集合R′mig的状态。
根节点的访问次数σroot初始化为0,根节点的节点值nroot初始化为0。迁移方案result初始化为
4.2)判断待迁移服务功能链集合R′mig中每个服务功能链是否都有对应的迁移方案,若是,则进入步骤4.13)。否则,对每个选择阶段待评估样本数量θ进行初始化。进入步骤4.3)。
4.3)判断评估样本数量θ是否大于0,若是,则进入步骤4.4),否则,进入步骤4.6)。
4.4)判断当前根节点的子节点集合I是否为空集,如是,则进入步骤4.13),否则,进入步骤4.5)。
4.5)为当前根节点对应状态下的第m条服务功能链SFCm制定迁移方案result,从而将服务功能链SFCm上相应虚拟网络功能的目标迁移服务器编号存储在最佳子节点k上。m初始化设置为1。
最佳子节点k满足下式:
式中,u为当前节点。I为当前节点的孩子节点集。ni为节点i的节点值。σi为节点i的访问次数。D为探索系数。σu节点u的节点值。
4.6)计算当前根节点的各个子节点的节点值n与访问次数σ的比值,将比值最大的子节点作为新的根节点,并在迁移方案result中写入新的根节点中存储的服务器编号,返回步骤4.2)。
4.7)将最佳子节点k作为根节点的子节点添加到搜索树中。最佳子节点k的状态包括将服务功能链SFCm上相应的虚拟网络功能迁移到最佳子节点k存储的服务器编号对应的服务器后物理网络拓扑状态、当前网络中服务功能链的部署方案和当前需要进行迁移的服务功能链集合R′mig的状态。
4.8)判断当m大于n是否成立,若是,则进入步骤4.9),否则,进入步骤4.10)。
4.9)计算奖励reward=Rt。Rt为即时奖励。
计算奖励reward的步骤包括:
4.9.1)计算在t时刻下的网络资源负载即:
式中,表示底层物理网络中CPU资源消耗方差。/>表示底层物理链路资源消耗方差。ω1、ω2分别表示CPU资源和链路带宽资源对网络负载平衡影响的权重因子。
4.9.2)计算在t时刻下网络中带宽资源的消耗百分比即:
式中,表示消耗的带宽资源。/>表示总的带宽资源。
4.9.3)计算奖励reward,即:
式中,α12表示用于平衡目标的可调权重因子。
4.10)更新参数m=m+1,计算物理网络中每个服务器纵向启发式度量-局部资源容量H(vi),即:
式中,Ep(vi)表示与服务器vi相连的物理链路集合。Vp(μ′t)表示符合当前需要迁移的服务功能链请求μ′t资源约束、可以进行迁移的物理服务器集合。表示物理服务器vi的CPU资源容量。/>代表物理链路ej所具有的带宽容量。
将最大纵向启发式度量-局部资源容量对应的服务器设置为服务功能链SFCm上相应虚拟网络功能的目标迁移服务器,并更新当前节点状态,返回步骤4.8)。
4.11)判断当前节点是否存在父节点,若是,则进入步骤4.12)。否则,更新评估样本数量θ、根节点的节点值nroot、根节点的访问次数σroot,并返回步骤4.3)。
4.12)更新当前节点的节点值ncurrent、当前节点的访问次数σcurrent、并将当前节点更改为当前节点的父节点,返回步骤11)。
4.13)输出迁移方案result。
5)判断最优迁移方案的长度是否等于待迁移服务功能链请求集合R′mig的长度,若是,则进入步骤6),否则,进入步骤8)。
6)利用迪杰斯特拉最短路径算法判断物理网络中是否存在满足最优迁移方案需求的链路,若是,则形成服务功能链请求集合的链路映射方案,并进入步骤7),否则进入步骤8)。
物理网络中存在满足最优迁移方案需求的链路的标准包括:将待迁移服务功能链SFCm上相应的虚拟网络功能迁移至目标服务器后,与当前服务功能链SFCm中前一个虚拟网络功能放置的服务器之间、后一个虚拟网络功能放置的服务器之间均存在映射对应虚拟链路的物理路径。
7)根据迁移方案和链路映射方案对待迁移服务功能链请求集合R′mig实行迁移操作,并更新物理网络拓扑,返回步骤1)。
8)迁移失败,返回步骤1)。
实施例2:
参见图1至图2,一种基于蒙特卡洛搜索树的服务功能链迁移方法,包括以下步骤:
1)根据迁移触发机制判断当前是否需要进行SFC迁移;
迁移触发机制标志着SFC迁移过程的开始,决定何时执行迁移以及如何选择要迁移的服务功能链,主要包含以下两种情况:
1.1)底层物理服务器出现故障;
1.2)底层物理网络资源过载;
具体的,当满足以下条件时,将触发SFC迁移操作:
式中,β∈[0,1]表示资源过载阈值,可以根据网络流量大小对其进行动态调整;表示服务器vi的CPU资源消耗情况,/>表示物理服务器vi的CPU资源容量;/>表示链路ej的带宽资源消耗情况,/>代表物理链路ej所具有的带宽容量。
2)读取当前物理网络拓扑和当前网络中SFC的部署方案;
3)确定需要实施迁移的服务功能链请求集合R′mig
所述SFC请求集合R′mig={SFC1,SFC2,SFC3,…,SFCn};n代表需要实施迁移操作的SFC的数量;
确定需要迁移的SFC请求集合R′mig的具体步骤如下:
3.1)确定需要迁移的物理服务器集合
3.2)对于处于过载状态下的服务器不断将该服务器上CPU资源消耗最高的VNF所属的SFC添加到需要进行迁移的SFC请求集合Rmig中,直到服务器负载处于正常状态为止;
3.3)根据相应VNF的CPU需求大小对Rmig进行降序排序,以得出最终具体的SFC迁移顺序R′mig
4)计算迁移前的网络负载和总的链路带宽资源消耗;
5)在蒙特卡洛树搜索算法的模拟阶段借助启发式算法-局部资源容量进行优先级采样,并通过逐步建立搜索树的方式来获得最优迁移方案;
为SFC请求集合R′mig生成迁移方案的步骤如下:
5.1)初始化搜索树:创建搜索树的根节点root;并设置根节点的初始状态为Φ0;其中,节点的状态包括物理网络中服务器和物理链路的资源负载状态,以及当前需要实施迁移的SFC请求集合R′mig的状态;
根节点的访问次数σroot初始化为0,根节点的节点值nroot初始化为0;迁移方案result初始化为
5.2)判断需要迁移的SFC集合R′mig中每个服务功能链是否都有相应的迁移方案,若是,则进入步骤5.13);否则,对每个选择阶段需要评估的样本数量θ初始化设置为30(该值可以根据实际的网络流量大小进行动态调整);进入步骤5.3);
5.3)判断评估样本数量θ是否大于0,若是,则进入步骤5.4),否则,进入步骤5.6);
5.4)若当前根节点的孩子节点集合I为空集,则进入步骤5.13),否则进入步骤5.5);
5.5)为当前根节点对应状态下的第m条服务功能链SFCm制定迁移方案;m初始化设置为1;
从根节点开始使用树的置信上限算法向下遍历搜索树,选出最佳的孩子节点k,即:
其中u为当前节点,I为当前节点的孩子节点集。ni为节点i的节点值,σi为节点i的访问次数。D为探索系数,该值通常是一个常数。
将服务功能链SFCm上相应VNF需要迁移到的目标服务器编号存储在最佳孩子节点k上,并进入步骤5.7);
5.6)计算当前根节点的各个孩子节点的节点值n和访问次数σ比值;将比值最大的孩子节点作为新的根节点,并在迁移方案result中写入新的根节点中存储的服务器编号,返回步骤5.2);
5.7)将最佳孩子节点k作为根节点的孩子节点添加到搜索树中,最佳孩子节点k的状态包括将服务功能链SFCm上相应的VNF迁移到最佳孩子节点k存储的服务器编号对应的服务器后物理网络拓扑状态、当前网络中服务功能链的部署方案和当前需要进行迁移的服务功能链集合R′mig的状态;并进入步骤5.8);
5.8)当m大于n成立时进入步骤5.9),否则进入步骤5.10);
5.9)计算奖励reward=Rt,即:
其中,表示底层物理网络中CPU资源消耗方差,/>表示底层物理链路资源消耗方差,ω12分别表示CPU资源和链路带宽资源对网络负载平衡影响的权重因子,可通过对其进行调节来实现目标的调整。
表示在t时刻下网络中带宽资源的消耗百分百,/>表示消耗的带宽资源,/>表示总的带宽资源;
其中,表示在t时刻下的网络资源负载;/>表示在t时刻下网络链路带宽资源消耗,α12是用于平衡目标的可调权重因子,可通过对其进行调节来实现归一化操作;
计算奖励reward=Rt完成后进入步骤5.11);
5.10)更新m=m+1;计算物理网络中每个服务器纵向启发式度量-局部资源容量H(vi),即:
其中,Ep(vi)表示与服务器vi相连的物理链路集合;Vp(μ′t)表示符合当前需要迁移的SFC请求μ′t资源约束的可以进行迁移的物理服务器集合;
将最大纵向启发式度量-局部资源容量对应的服务器设置为服务功能链SFCm上相应VNF的目标迁移服务器,并更新当前节点状态,返回步骤5.8);
5.11)若当前节点存在父节点,则进入步骤5.12),否则更新评估样本数量θ,根节点的节点值nroot,根节点的访问次数σroot,返回步骤5.3);
5.12)更新当前节点的节点值ncurrent,当前节点的访问次数σcurrent,并将当前节点更改为当前节点的父节点,返回步骤5.11);
5.13)选取最优解:输出迁移方案result。
6)判断获得的迁移方案的长度是否等于需要进行迁移的SFC请求集合R′mig的长度,若是,则进入步骤7),否则,进入步骤9);迁移方案的长度等于服务功能链请求集合R′mig的长度的判断标准为:需要迁移的SFC请求集合R′mig中每个服务功能链都具有可供相应虚拟网络功能迁移的服务器;
7)利用Dijkstra最短路径算法判断物理网络中是否存在满足所述迁移方案需求的链路,若是,则形成SFC迁移的链路映射方案,并进入步骤8),否则进入步骤9);
8)根据迁移方案和链路映射方案对R′mig实行迁移操作,并更新物理网络拓扑,返回步骤1);
9)迁移失败,返回步骤1)。
实施例3:
一种基于蒙特卡洛搜索树的服务功能链迁移方法,方法包括如下步骤:
1)根据迁移触发机制判断当前是否需要进行SFC迁移;
迁移触发机制标志着SFC迁移过程的开始,决定何时执行迁移以及如何选择要迁移的服务功能链,主要包含以下两种情况:
1.1)底层物理服务器出现故障;
1.2)底层物理网络资源过载;
具体的,当满足以下条件时,将触发SFC迁移操作:
式中,β∈[0,1]表示资源过载阈值,可以根据网络流量大小对其进行动态调整;表示服务器vi的CPU资源消耗情况,/>表示物理服务器vi的CPU资源容量;/>表示链路ej的带宽资源消耗情况,/>代表物理链路ej所具有的带宽容量。
2)读取当前物理网络拓扑和当前网络中SFC的部署方案;
3)确定需要实施迁移的服务功能链请求集合R′mig
所述SFC请求集合R′mig={SFC1,SFC2,SFC3,…,SFCn};n代表需要实施迁移操作的SFC的数量;
确定需要迁移的SFC请求集合R′mig的具体步骤如下:
3.1)确定需要迁移的物理服务器集合
3.2)对于处于过载状态下的服务器不断将该服务器上CPU资源消耗最高的VNF所属的SFC添加到需要进行迁移的SFC请求集合Rmig中,直到服务器负载处于正常状态为止;
3.3)根据相应VNF的CPU需求大小对Rmig进行降序排序,以得出最终具体的SFC迁移顺序R′mig
4)计算迁移前的网络负载和总的链路带宽资源消耗;
5)在蒙特卡洛树搜索算法的模拟阶段借助启发式算法-局部资源容量进行优先级采样,并通过逐步建立搜索树的方式来获得最优迁移方案;
如图2所示,步骤5)中“在蒙特卡洛树搜索算法的模拟阶段借助局部资源容量算法进行优先级采样,并通过逐步建立搜索树的方式来获得最优迁移方案”具体方法包含如下步骤:
5.1)初始化搜索树:创建搜索树的根节点root;并设置根节点的初始状态为Φ0;其中,节点的状态包括物理网络中服务器和物理链路的资源负载状态,以及当前需要实施迁移的SFC请求集合R′mig的状态;
根节点的访问次数σroot初始化为0,根节点的节点值nroot初始化为0;迁移方案result初始化为
5.2)判断需要迁移的SFC集合R′mig中每个服务功能链是否都有相应的迁移方案,若是,则进入步骤5.13);否则,对每个选择阶段需要评估的样本数量θ初始化设置为30(该值可以根据实际的网络流量大小进行动态调整);进入步骤5.3);
5.3)判断评估样本数量θ是否大于0,若是,则进入步骤5.4),否则,进入步骤5.6);
5.4)若当前根节点的孩子节点集合I为空集,则进入步骤5.13),否则进入步骤5.5);
5.5)为当前根节点对应状态下的第m条服务功能链SFCm制定迁移方案;m初始化设置为1;
从根节点开始使用树的置信上限算法向下遍历搜索树,选出最佳的孩子节点k,即:
其中u为当前节点,I为当前节点的孩子节点集。ni为节点i的节点值,σi为节点i的访问次数。D为探索系数,该值通常是一个常数。
将服务功能链SFCm上相应VNF需要迁移到的目标服务器编号存储在最佳孩子节点k上,并进入步骤5.7);
5.6)计算当前根节点的各个孩子节点的节点值n和访问次数σ比值;将比值最大的孩子节点作为新的根节点,并在迁移方案result中写入新的根节点中存储的服务器编号,返回步骤5.2);
5.7)将最佳孩子节点k作为根节点的孩子节点添加到搜索树中,最佳孩子节点k的状态包括将服务功能链SFCm上相应的VNF迁移到最佳孩子节点k存储的服务器编号对应的服务器后物理网络拓扑状态、当前网络中服务功能链的部署方案和当前需要进行迁移的服务功能链集合R′mig的状态;并进入步骤5.8);
5.8)当m大于n成立时进入步骤5.9),否则进入步骤5.10);
5.9)计算奖励reward=Rt,即:
其中,表示底层物理网络中CPU资源消耗方差,/>表示底层物理链路资源消耗方差,ω12分别表示CPU资源和链路带宽资源对网络负载平衡影响的权重因子,可通过对其进行调节来实现目标的调整。
表示在t时刻下网络中带宽资源的消耗百分百,/>表示消耗的带宽资源,/>表示总的带宽资源;
其中,表示在t时刻下的网络资源负载;/>表示在t时刻下网络链路带宽资源消耗,α12是用于平衡目标的可调权重因子,可通过对其进行调节来实现归一化操作;
计算奖励reward=Rt完成后进入步骤5.11);
5.10)更新m=m+1;计算物理网络中每个服务器纵向启发式度量-局部资源容量H(vi),即:
其中,Ep(vi)表示与服务器vi相连的物理链路集合;Vp(μ′t)表示符合当前需要迁移的SFC请求μ′t资源约束的可以进行迁移的物理服务器集合
将最大纵向启发式度量-局部资源容量对应的服务器设置为服务功能链SFCm上相应VNF的目标迁移服务器,并更新当前节点状态,返回步骤5.8);
5.11)若当前节点存在父节点,则进入步骤5.12),否则更新评估样本数量θ,根节点的节点值nroot,根节点的访问次数σroot,返回步骤5.3)。
5.12)更新当前节点的节点值ncurrent,当前节点的访问次数σcurrent,并将当前节点更改为当前节点的父节点,返回步骤5.11);
5.13)选取最优解:输出迁移方案result。
6)判断获得的迁移方案的长度是否等于需要进行迁移的SFC请求集合R′mig的长度,若是,则进入步骤7),否则,进入步骤9);迁移方案的长度等于服务功能链请求集合R′mig的长度的判断标准为:需要迁移的SFC请求集合R′mig中每个服务功能链都具有可供相应虚拟网络功能迁移的服务器;
7)利用Dijkstra最短路径算法判断物理网络中是否存在满足所述迁移方案需求的链路,若是,则形成SFC迁移的链路映射方案,并进入步骤8),否则进入步骤9);
8)根据迁移方案和链路映射方案对R′mig实行迁移操作,并更新物理网络拓扑,返回步骤1);
9)迁移失败,返回步骤1)。

Claims (6)

1.一种基于蒙特卡洛树搜索的服务功能链迁移方法,其特征在于,包括以下步骤:
1)判断当前是否需要进行服务功能链迁移,若是,则进入步骤2);
2)获取当前物理网络拓扑和服务功能链的部署方案;
3)确定待迁移服务功能链请求集合R′mig
4)计算迁移前的网络负载和总的链路带宽资源消耗,并确定最优迁移方案;
5)判断最优迁移方案的长度是否等于待迁移服务功能链请求集合R′mig的长度,若是,则进入步骤6),否则,进入步骤8);
6)利用迪杰斯特拉最短路径算法判断物理网络中是否存在满足最优迁移方案需求的链路,若是,则形成服务功能链请求集合的链路映射方案,并进入步骤7),否则进入步骤8);
7)根据迁移方案和链路映射方案对待迁移服务功能链请求集合R′mig实行迁移操作,并更新物理网络拓扑,返回步骤1);
8)迁移失败,返回步骤1);
确定待迁移服务功能链请求集合R′mig的步骤如下:
3.1)确定需要迁移的物理服务器集合
3.2)将过载服务器上CPU资源消耗最高的虚拟网络功能所属的服务功能链添加到服务功能链请求集合Rmig中,直到服务器负载处于正常状态为止;
将发生故障服务器上的所有服务功能链添加到服务功能链请求集合Rmig中;
3.3)根据虚拟网络功能的CPU需求大小对服务功能链请求集合进行降序排序,得到待迁移服务功能链迁移顺序R′mig
确定最优迁移方案的步骤包括:
4.1)创建并初始化搜索树;
所述搜索树根节点root的初始状态为Φ0;搜索树节点的状态包括物理网络中服务器和物理链路的资源负载状态,当前待迁移服务功能链请求集合R′mig的状态;
根节点的访问次数σroot初始化为0,根节点的节点值nroot初始化为0;迁移方案result初始化为
4.2)判断待迁移服务功能链集合R′mig中每个服务功能链是否都有对应的迁移方案,若是,则进入步骤4.13);否则,对每个选择阶段待评估样本数量θ进行初始化;进入步骤4.3);
4.3)判断评估样本数量θ是否大于0,若是,则进入步骤4.4),否则,进入步骤4.6);
4.4)判断当前根节点的子节点集合I是否为空集,如是,则进入步骤4.13),否则,进入步骤4.5);
4.5)为当前根节点对应状态下的第m条服务功能链SFCm制定迁移方案result,从而将服务功能链SFCm上相应虚拟网络功能的目标迁移服务器编号存储在最佳子节点k上;m初始化设置为1;
4.6)计算当前根节点的各个子节点的节点值n与访问次数σ的比值,将比值最大的子节点作为新的根节点,并在迁移方案result中写入新的根节点中存储的服务器编号,返回步骤4.2);
4.7)将最佳子节点k作为根节点的子节点添加到搜索树中;最佳子节点k的状态包括将服务功能链SFCm上相应的虚拟网络功能迁移到最佳子节点k存储的服务器编号对应的服务器后物理网络拓扑状态、当前网络中服务功能链的部署方案和当前需要进行迁移的服务功能链集合R′mig的状态;
4.8)判断当m大于n是否成立,若是,则进入步骤4.9),否则,进入步骤4.10);
4.9)计算奖励reward=Rt;Rt为即时奖励;
4.10)更新参数m=m+1,计算物理网络中每个服务器纵向启发式度量-局部资源容量H(vi),即:
式中,Ep(vi)表示与服务器vi相连的物理链路集合;Vp(μ′t)表示符合当前需要迁移的服务功能链请求μ′t资源约束、可以进行迁移的物理服务器集合;表示物理服务器vi的CPU资源容量;/>代表物理链路ej所具有的带宽容量;
将最大纵向启发式度量-局部资源容量对应的服务器设置为服务功能链SFCm上相应虚拟网络功能的目标迁移服务器,并更新当前节点状态,返回步骤4.8);
4.11)判断当前节点是否存在父节点,若是,则进入步骤4.12);否则,更新评估样本数量θ、根节点的节点值nroot、根节点的访问次数σroot,并返回步骤4.3);
4.12)更新当前节点的节点值ncurrent、当前节点的访问次数σcurrent、并将当前节点更改为当前节点的父节点,返回步骤4.11);
4.13)输出迁移方案result;
最佳子节点k满足下式:
式中,u为当前节点;I为当前节点的孩子节点集;ni为节点i的节点值;σi为节点i的访问次数;D为探索系数;σu节点u的节点值;
计算奖励reward的步骤包括:
4.9.1)计算在t时刻下的网络资源负载即:
式中,表示底层物理网络中CPU资源消耗方差;/>表示底层物理链路资源消耗方差;ω1、ω2分别表示CPU资源和链路带宽资源对网络负载平衡影响的权重因子;
4.9.2)计算在t时刻下网络中带宽资源的消耗百分比即:
式中,表示消耗的带宽资源;/>表示总的带宽资源;
4.9.3)计算奖励reward,即:
式中,α12表示用于平衡目标的可调权重因子。
2.根据权利要求1所述的一种基于蒙特卡洛树搜索的服务功能链迁移方法,其特征在于,所述服务功能链请求集合R′mig={SFC1,SFC2,SFC3,…,SFCn};n代表待迁移服务功能链的数量;SFCn为第n个待迁移服务功能链。
3.根据权利要求1所述的一种基于蒙特卡洛树搜索的服务功能链迁移方法,其特征在于,最优迁移方案的长度等于服务功能链请求集合R′mig的长度的判断标准为:待迁移服务功能链请求集合R′mig中每个服务功能链都具有可供相应虚拟网络功能迁移的服务器。
4.根据权利要求1所述的一种基于蒙特卡洛树搜索的服务功能链迁移方法,其特征在于,判断当前是否需要进行服务功能链迁移的方法包括:若底层物理服务器出现故障,或者底层物理网络资源过载,则底层物理服务器需要进行服务功能链迁移。
5.根据权利要求4所述的一种基于蒙特卡洛树搜索的服务功能链迁移方法,其特征在于,需要进行服务功能链迁移的底层物理服务器满足下式:
式中,β∈[0,1]表示资源过载阈值;表示服务器vi的CPU资源消耗情况;/>表示物理服务器vi的CPU资源容量;/>表示链路ej的带宽资源消耗情况;/>代表物理链路ej所具有的带宽容量;Vp为服务器集合;Ep为物理链路集合。
6.根据权利要求1所述的一种基于蒙特卡洛树搜索的服务功能链迁移方法,其特征在于,物理网络中存在满足最优迁移方案需求的链路的标准包括:将待迁移服务功能链SFCm上相应的虚拟网络功能迁移至目标服务器后,与当前服务功能链SFCm中前一个虚拟网络功能放置的服务器之间、后一个虚拟网络功能放置的服务器之间均存在映射对应虚拟链路的物理路径。
CN202210532948.6A 2022-05-11 2022-05-11 一种基于蒙特卡洛树搜索的服务功能链迁移方法 Active CN114900522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210532948.6A CN114900522B (zh) 2022-05-11 2022-05-11 一种基于蒙特卡洛树搜索的服务功能链迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210532948.6A CN114900522B (zh) 2022-05-11 2022-05-11 一种基于蒙特卡洛树搜索的服务功能链迁移方法

Publications (2)

Publication Number Publication Date
CN114900522A CN114900522A (zh) 2022-08-12
CN114900522B true CN114900522B (zh) 2024-03-12

Family

ID=82724804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210532948.6A Active CN114900522B (zh) 2022-05-11 2022-05-11 一种基于蒙特卡洛树搜索的服务功能链迁移方法

Country Status (1)

Country Link
CN (1) CN114900522B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115952008B (zh) * 2023-03-15 2023-06-16 之江实验室 一种服务器集群资源的统一调度方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130904A (zh) * 2019-12-30 2020-05-08 重庆邮电大学 一种基于深度确定性策略梯度的虚拟网络功能迁移优化算法
CN112083933A (zh) * 2020-08-27 2020-12-15 重庆大学 一种基于强化学习的服务功能链部署方法
CN113591224A (zh) * 2021-08-12 2021-11-02 广东电网有限责任公司 一种城市电网连锁故障风险评估方法及系统
CN113904923A (zh) * 2021-09-27 2022-01-07 重庆电子工程职业学院 一种基于软件定义网络的服务功能链联合优化方法
CN113992527A (zh) * 2021-10-26 2022-01-28 郑州轻工业大学 网络服务功能链在线迁移方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180026911A1 (en) * 2016-07-25 2018-01-25 Cisco Technology, Inc. System and method for providing a resource usage advertising framework for sfc-based workloads
US20220086218A1 (en) * 2020-12-23 2022-03-17 Dario Sabella Interoperable framework for secure dual mode edge application programming interface consumption in hybrid edge computing platforms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130904A (zh) * 2019-12-30 2020-05-08 重庆邮电大学 一种基于深度确定性策略梯度的虚拟网络功能迁移优化算法
CN112083933A (zh) * 2020-08-27 2020-12-15 重庆大学 一种基于强化学习的服务功能链部署方法
CN113591224A (zh) * 2021-08-12 2021-11-02 广东电网有限责任公司 一种城市电网连锁故障风险评估方法及系统
CN113904923A (zh) * 2021-09-27 2022-01-07 重庆电子工程职业学院 一种基于软件定义网络的服务功能链联合优化方法
CN113992527A (zh) * 2021-10-26 2022-01-28 郑州轻工业大学 网络服务功能链在线迁移方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NFV环境下服务功能链主动防御关键技术研究;徐水灵;《中国优秀硕士学位论文全文数据库(电子期刊)》;20201015;全文 *
Policy Network Assisted Monte Carlo Tree Search for Intelligent Service Function Chain Deployment;Zhihan Fu等;《2021 IEEE 20th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)》;20211022;全文 *

Also Published As

Publication number Publication date
CN114900522A (zh) 2022-08-12

Similar Documents

Publication Publication Date Title
Yao et al. A novel reinforcement learning algorithm for virtual network embedding
US11233710B2 (en) System and method for applying machine learning algorithms to compute health scores for workload scheduling
EP3525096A1 (en) Resource load balancing control method and cluster scheduler
CN112083933B (zh) 一种基于强化学习的服务功能链部署方法
CN109818786B (zh) 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法
CN110275758A (zh) 一种虚拟网络功能智能迁移方法
Zhou et al. A modified PSO algorithm for task scheduling optimization in cloud computing
CN104993941B (zh) 一种基于Openflow网络高容错性虚拟网络映射算法
CN112866059B (zh) 一种基于人工智能应用的无损网络性能测试方法和装置
CN111274036A (zh) 一种基于速度预测的深度学习任务的调度方法
CN114050961B (zh) 一种大规模网络仿真系统及资源动态调度分配方法
CN114900522B (zh) 一种基于蒙特卡洛树搜索的服务功能链迁移方法
CN106708625A (zh) 一种基于最小费用最大流的大规模资源调度系统及方法
CN115330189A (zh) 一种基于改进飞蛾火焰算法的工作流优化调度方法
CN111314235A (zh) 一种基于虚拟网络功能资源需求预测的网络延时优化方法
Li et al. An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters
CN113822456A (zh) 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法
CN113179175B (zh) 一种电力通信网业务的实时带宽预测方法及装置
CN110995619A (zh) 一种服务质量感知的虚拟网络映射方法和装置
Bouzidi et al. Dynamic clustering of software defined network switches and controller placement using deep reinforcement learning
CN101944157A (zh) 一种应用与仿真网格系统的生物智能调度方法
CN115033359A (zh) 一种基于时延控制的物联代理多任务调度方法和系统
Zhou et al. JPAS: Job-progress-aware flow scheduling for deep learning clusters
Shi et al. Multijob associated task scheduling for cloud computing based on task duplication and insertion
CN113596868A (zh) 基于sdn和nfv的5g网络切片资源管理机制

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