CN112083933A - 一种基于强化学习的服务功能链部署方法 - Google Patents

一种基于强化学习的服务功能链部署方法 Download PDF

Info

Publication number
CN112083933A
CN112083933A CN202010881131.0A CN202010881131A CN112083933A CN 112083933 A CN112083933 A CN 112083933A CN 202010881131 A CN202010881131 A CN 202010881131A CN 112083933 A CN112083933 A CN 112083933A
Authority
CN
China
Prior art keywords
node
current
service function
entering
function chain
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
Application number
CN202010881131.0A
Other languages
English (en)
Other versions
CN112083933B (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 Industrial Big Data Innovation Center Co ltd
Chongqing University
Original Assignee
Chongqing Industrial Big Data Innovation Center Co ltd
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 Industrial Big Data Innovation Center Co ltd, Chongqing University filed Critical Chongqing Industrial Big Data Innovation Center Co ltd
Priority to CN202010881131.0A priority Critical patent/CN112083933B/zh
Publication of CN112083933A publication Critical patent/CN112083933A/zh
Application granted granted Critical
Publication of CN112083933B publication Critical patent/CN112083933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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

Abstract

本发明公开一种基于强化学习的服务功能链部署方法,步骤为:1)读取当前物理网络拓扑和服务功能链请求;2)生成虚拟网络功能集在物理网络上的放置方案;3)判断虚拟网络功能集中每个虚拟网络功能是否都具有可供所述虚拟网络功能放置的服务器,若是,进入步骤4),否则,进入步骤6);4)判断物理网络中是否存在满足所述放置方案需求的链路,若是,则形成服务功能链请求的链路映射方案,进入步骤5),否则进入步骤6);5)接受服务功能链请求,根据放置方案和链路映射方案部署服务功能链请求,更新物理网络拓扑,返回步骤1);6)拒绝服务功能链请求,返回步骤1)。本发明解决了在VNF顺序已知的场景下在线进行服务功能链部署的问题。

Description

一种基于强化学习的服务功能链部署方法
技术领域
本发明涉及服务功能链领域,具体是一种基于强化学习的服务功能链部署方法。
背景技术
服务功能链(Service Function Chain,SFC)由一组链接的网络功能(NetworkFunction,NF)组成,其中网络功能需要由给定的网络流量以特定顺序遍历。例如,视频点播服务可能需要通过一组NFs(例如,
Figure BDA0002654154320000011
)。为了提供各种服务,基础设施供应商(InPs)通常需要链接各种NFs,以满足不同的用户的需求。通常,NF部署在昂贵的且生命周期很短的硬件设备上,同时在这些硬件设备上动态添加新的功能也是十分繁琐和困难的。
近年来,网络功能虚拟化(Network Function Virtualization,NFV)作为一种很有前景的网络范例被提出,其中NF与专用硬件设备解耦并在虚拟化平台上实现。在NFV范式下可以使用更灵活,更安全的方式部署SFC同时可以大幅度减少运营支出和资本支出。然而,网络的效率在很大程度上取决于底层网络中的服务功能链的部署方法,已有的服务功能链部署方法有:采用精确的方法来解决SFC部署问题,首先将SFC部署问题建模为一个带有特定优化目标的整数线性规划问题,然后采用随机舍入的方法来找到解决方案,以及采用启发式方法来解决SFC部署问题,如采用基于动态规划的算法在链路资源利用率和服务器资源利用率的指导下进行SFC的部署。缺点是这些方法主要适用于离线状态下的SFC部署,当考虑在线情景时,这些方法就显得不是很适用了。
发明内容
本发明的目的是提供一种基于强化学习的服务功能链部署方法,包括以下步骤:
1)读取当前物理网络信息和服务功能链请求。
所述服务功能链请求的虚拟网络功能集记为V={VNF1,VNF2,VNF3,…,VNFn}。n为所述服务功能链请求的虚拟网络功能数量。
2)利用蒙特卡洛树搜索方法和启发式度量-局部资源容量生成虚拟网络功能集在物理网络上的放置方案;
生成虚拟网络功能集在物理网络上的放置方案的步骤如下:
2.1)创建搜索树的根节点,初始化根节点状态。所述根节点状态包括当前物理网络信息以及服务功能链请求;
初始化根节点的访问次数σroot=0,初始化根节点的节点值nroot=0。初始化放置方案
Figure BDA0002654154320000021
2.2)判断当前根节点状态下服务功能链请求中的每个虚拟网络功能是否都已经生成了放置方案,若是,则进入步骤2.14),否则,初始化每个选择周期的评估样本数量θ=20(该值可以根据实际情况进行调整);进入步骤2.3);
2.3)判断评估样本数量θ>0是否成立,若是,则进入步骤2.4),否则,进入步骤2.6)。
2.4)为根节点状态下第j个虚拟网络功能VNFj生成放置方案;其中j为当前状态下第一个还未生成放置方案的VNF;判断当前根节点的孩子节点集合I是否为空集,若是,则进入步骤2.14),否则进入步骤2.5);
2.5)从当前根节点的孩子节点集合中选出最佳的孩子节点k,即:
Figure BDA0002654154320000022
式中,u表示搜索树中当前节点。I表示当前节点的孩子节点集合。ni表示孩子节点i的节点值。σi表示孩子节点i的访问次数。D表示探索系数。σu表示节点u的访问次数.
在最佳孩子节点k中存储用于放置虚拟网络功能VNFj的服务器编号,并进入步骤2.7);
2.6)计算当前搜索树中根节点的孩子节点的节点值和访问次数比值
Figure BDA0002654154320000023
以节点值和访问次数比值最大的孩子节点为根节点,并将节点值和访问次数比值最大的孩子节点中存储的服务器编号写入放置方案Solution中,并返回步骤2.2)。
2.7)将最佳孩子节点k加入到搜索树中,作为根节点的孩子节点,并进入步骤2.8)。最佳孩子节点k的状态为将虚拟网络功能VNFj放入最佳孩子节点k存储的服务器编号对应的服务器后物理网络信息和服务功能链请求的状态。
2.8)判断j>n是否成立,若是,则进入步骤2.9),否则进入步骤2.10)。
2.9)根据当前状态下的放置决策进行模拟部署,同时利用Dijkstra最短路径算法来进行链路映射,计算奖励reward,即:
Figure BDA0002654154320000031
式中,sk为当前服务功能链请求。R(sk)为部署当前服务功能链请求sk后的收益。C(sk)为部署当前服务功能链请求sk后的代价。
Figure BDA0002654154320000032
为当前奖励。
计算奖励reward完成后进入步骤2.11)。
2.10)令j=j+1。计算物理网络中每个服务器纵向启发式度量-局部资源容量。
其中,服务器vs纵向启发式度量-局部资源容量
Figure BDA0002654154320000033
如下所示:
Figure BDA0002654154320000034
式中,m表示在服务器vs上可搭载当虚拟网络功能VNFj的虚拟机。Cm代表虚拟机m剩余计算资源。N(vs)代表与服务器vs相连的所有物理链路的集合。Ce代表链路e的剩余带宽。
以最大纵向启发式度量-局部资源容量对应的服务器作为放置虚拟网络功能VNFj的服务器,并更新当前节点状态,返回步骤2.8)。
2.11)判断当前节点是否存在父节点,若是,则进入步骤2.12),否则进入步骤2.13)。
2.12)更新当前节点的节点值ncurrent=ncurrent+reward,当前节点的访问次数σcurrent=σcurrent+1,并将当前节点更改为当前节点的父节点,返回步骤2.11)。
2.13)更新评估样本数量θ=θ-1,根节点的节点值nroot=nroot+reward,根节点的访问次数σroot=σroot+1,返回步骤2.3)。
2.14)输出服务功能链请求的放置方案Solution。
3)判断所述放置方案的长度是否等于服务功能链请求的长度,若是,则进入步骤4),否则,进入步骤6)。放置方案的长度等于服务功能链请求的长度的判断标准为:虚拟网络功能集中每个虚拟网络功能在物理网络中都具有满足资源容量限制的可供所述虚拟网络功能放置的服务器;
其中,资源容量限制条件为请求的容量资源小于等于映射的服务器中虚拟机的剩余资源容量。
4)利用最短路径算法判断物理网络中是否存在满足所述放置方案需求的链路,若是,则形成服务功能链请求的链路映射方案,并进入步骤5),否则进入步骤6)。
链路满足所述放置方案需求的判断标准为:对于放置方案中相邻的两个服务器之间存在映射对应两个虚拟网络功能间虚拟链路的路径。
5)接受服务功能链请求,根据所述放置方案和链路映射方案部署服务功能链请求,并更新物理网络拓扑,返回步骤1)。
6)拒绝服务功能链请求,返回步骤1)。
本发明的技术效果是毋庸置疑的,本发明解决了在VNF顺序已知的场景下在线进行服务功能链部署的问题。本发明利用强化学习(Reinforcement Learning,RL)和启发式度量的优点,使用蒙特卡洛搜索树(Monte Carlo Tree Search,MCTS)方法来获得服务功能链中的虚拟网络功能的放置方案,为了加快收敛速度引入局部资源容量(Local ResourceCapacity,LRC)来对服务器进行排序,以实现在线服务功能链部署。本发明可以最大限度地提高服务功能链请求的平均收益代价比和请求的接收率。
附图说明
图1是一种服务功能链部署方法的总算法流程图。
图2是一种服务功能链部署方法的VNF放置方案算法流程图。
具体实施方式
下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。
实施例1:
参见图1至图2,一种基于强化学习的服务功能链部署方法,包括以下步骤:
1)读取当前物理网络信息和服务功能链请求(SFC)。
所述服务功能链请求的虚拟网络功能集记为V={VNF1,VNF2,VNF3,…,VNFn}。n为所述服务功能链请求的虚拟网络功能数量。
2)利用蒙特卡洛树搜索方法和启发式度量-局部资源容量生成虚拟网络功能集在物理网络上的放置方案。
生成虚拟网络功能集在物理网络上的放置方案的步骤如下:
2.1)创建搜索树的根节点,初始化根节点状态。所述根节点状态包括当前物理网络信息以及服务功能链请求;
初始化根节点的访问次数σroot=0,初始化根节点的节点值nroot=0。初始化每个选择周期的评估样本数量θ。初始化放置方案
Figure BDA0002654154320000051
2.2)判断当前根节点状态下服务功能链请求中的每个虚拟网络功能是否都已经生成了放置方案,若是,则进入步骤2.14),否则,初始化每个选择周期的评估样本数量θ=20(该值可以根据实际情况进行调整);进入步骤2.3);
2.3)判断评估样本数量θ>0是否成立,若是,则进入步骤2.4),否则,进入步骤2.6)。
2.4)为根节点状态下第j个虚拟网络功能VNFj生成放置方案;其中j为当前状态下第一个还未生成放置方案的VNF;判断当前根节点的孩子节点集合I是否为空集,若是,则进入步骤2.14),否则进入步骤2.5);
2.5)为根节点状态下第j个虚拟网络功能VNFj生成放置方案。i初始值为1。
从当前根节点的孩子节点集合中选出最佳的孩子节点k,即:
Figure BDA0002654154320000052
式中,u表示搜索树中当前节点。I表示当前节点的孩子节点集合。ni表示孩子节点i的节点值。σi表示孩子节点i的访问次数。D表示探索系数。
在最佳孩子节点k中存储用于放置虚拟网络功能VNFj的服务器编号,并进入步骤2.7)。
2.6)计算当前搜索树中根节点的孩子节点的节点值和访问次数比值
Figure BDA0002654154320000053
以节点值和访问次数比值最大的孩子节点为根节点,并将节点值和访问次数比值最大的孩子节点中存储的服务器编号写入放置方案Solution中,并返回步骤2.2)。
2.7)将最佳孩子节点k加入到搜索树中,作为根节点的孩子节点,并进入步骤2.8)。最佳孩子节点k的状态为将虚拟网络功能VNFj放入最佳孩子节点k存储的服务器编号对应的服务器后物理网络拓扑和服务功能链请求的状态。
2.8)判断j>n是否成立,若是,则进入步骤2.9),否则进入步骤2.10)。
2.9)根据当前状态下的放置决策进行模拟部署,同时利用Dijkstra最短路径算法来进行链路映射,计算奖励reward,即:
Figure BDA0002654154320000061
式中,sk为当前服务功能链请求。R(sk)为部署当前服务功能链请求sk后的收益。C(sk)为部署当前服务功能链请求sk后的代价。
计算奖励reward完成后进入步骤2.11)。
2.10)令j=j+1。计算物理网络中每个服务器纵向启发式度量-局部资源容量。
其中,服务器vs纵向启发式度量-局部资源容量
Figure BDA0002654154320000062
如下所示:
Figure BDA0002654154320000063
式中,m表示在服务器vs上可搭载当虚拟网络功能VNFj的虚拟机。Cm代表虚拟机m剩余计算资源。N(vs)代表与服务器vs相连的所有物理链路的集合。Ce代表链路e的剩余带宽。
以最大纵向启发式度量-局部资源容量对应的服务器作为放置虚拟网络功能VNFj的服务器,并更新当前节点状态,返回步骤2.8)。
2.11)判断当前节点是否存在父节点,若是,则进入步骤2.12),否则进入步骤2.13)。
2.12)更新当前节点的节点值ncurrent=ncurrent+reward,当前节点的访问次数σcurrent=σcurrent+1,并将当前节点更改为当前节点的父节点,返回步骤2.11)。
2.13)更新评估样本数量θ=θ-1,根节点的节点值nroot=nroot+reward,根节点的访问次数σroot=σroot+1,返回步骤2.3)。
2.14)输出服务功能链请求的放置方案Solution。
3)判断所述放置方案的路径长度是否等于服务功能链请求的长度,若是,则进入步骤4),否则,进入步骤6)。放置方案的长度等于服务功能链请求的长度的判断标准为:虚拟网络功能集中每个虚拟网络功能在物理网络中都具有满足资源容量限制的可供所述虚拟网络功能放置的服务器;
其中,资源容量限制条件为请求的容量资源小于等于映射的服务器中虚拟机的剩余资源容量。
4)利用Dijkstra最短路径算法判断物理网络中是否存在满足所述放置方案需求的链路,若是,则形成服务功能链请求的链路映射方案,并进入步骤5),否则进入步骤6)。
链路满足所述放置方案需求的判断标准为:对于放置方案中相邻的两个服务器之间存在映射对应两个虚拟网络功能间虚拟链路的路径。
5)接受服务功能链请求,根据所述放置方案和链路映射方案部署服务功能链请求,并更新物理网络信息,返回步骤1)。
6)拒绝服务功能链请求,返回步骤1)。
实施例2:
一种基于强化学习的服务功能链部署方法,方法包括如下步骤:
1)初始化程序,读取当前物理网络拓扑结构和服务功能链请求;
2)利用蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)方法和启发式度量-局部资源容量(Local Resource Capacity,LRC)来依次为SFC中的VNF生成在物理网络上的放置方案;
如图2所示,步骤2)中“利用MCTS和LRC来依次为SFC请求中的VNF生成在物理网络上的放置方案”具体方法包括如下步骤:
2.1)创建搜索树的根节点,初始化根节点状态。所述根节点状态包括当前物理网络信息以及服务功能链请求;
初始化根节点的访问次数σroot=0,初始化根节点的节点值nroot=0。初始化每个选择周期的评估样本数量θ。初始化放置方案
Figure BDA0002654154320000071
2.2)判断当前根节点状态下服务功能链请求中的每个虚拟网络功能是否都已经生成了放置方案,若是,则进入步骤2.14),否则,初始化每个选择周期的评估样本数量θ=20(该值可以根据实际情况进行调整);进入步骤2.3);
2.3)判断评估样本数量θ>0是否成立,若是,则进入步骤2.4),否则,进入步骤2.6)。
2.4)为根节点状态下第j个虚拟网络功能VNFj生成放置方案;其中j为当前状态下第一个还未生成放置方案的VNF;判断当前根节点的孩子节点集合I是否为空集,若是,则进入步骤2.14),否则进入步骤2.5);
2.5)从当前根节点的孩子节点集合中选出最佳的孩子节点k,即:
Figure BDA0002654154320000072
式中,u表示搜索树中当前节点。I表示当前节点的孩子节点集合。ni表示孩子节点i的节点值。σi表示孩子节点i的访问次数。D表示探索系数。
在最佳孩子节点k中存储用于放置虚拟网络功能VNFj的服务器编号,并进入步骤2.7)。
2.6)计算当前搜索树中根节点的孩子节点的节点值和访问次数比值
Figure BDA0002654154320000081
以节点值和访问次数比值最大的孩子节点为根节点,并将节点值和访问次数比值最大的孩子节点中存储的服务器编号写入放置方案Solution中,并返回步骤2.2)。
2.7)将最佳孩子节点k加入到搜索树中,作为根节点的孩子节点,并进入步骤2.8)。最佳孩子节点k的状态为将虚拟网络功能VNFj放入最佳孩子节点k存储的服务器编号对应的服务器后物理网络拓扑和服务功能链请求的状态。
2.8)判断j>n是否成立,若是,则进入步骤2.9),否则进入步骤2.10)。
2.9)根据当前状态下的放置决策进行模拟部署,同时利用Dijkstra最短路径算法来进行链路映射,计算奖励reward,即:
Figure BDA0002654154320000082
式中,sk为当前服务功能链请求。R(sk)为部署当前服务功能链请求sk后的收益。C(sk)为部署当前服务功能链请求sk后的代价。
计算奖励reward完成后进入步骤2.11)。
2.10)令j=j+1。计算物理网络中每个服务器纵向启发式度量-局部资源容量。
其中,服务器vs纵向启发式度量-局部资源容量
Figure BDA0002654154320000083
如下所示:
Figure BDA0002654154320000084
式中,m表示在服务器vs上可搭载当虚拟网络功能VNFj的虚拟机。Cm代表虚拟机m剩余计算资源。N(vs)代表与服务器vs相连的所有物理链路的集合。Ce代表链路e的剩余带宽。
以最大纵向启发式度量-局部资源容量对应的服务器作为放置虚拟网络功能VNFj的服务器,并更新当前节点状态,返回步骤2.8)。
2.11)判断当前节点是否存在父节点,若是,则进入步骤2.12),否则进入步骤2.13)。
2.12)更新当前节点的节点值ncurrent=ncurrent+reward,当前节点的访问次数σcurrent=σcurrent+1,并将当前节点更改为当前节点的父节点,返回步骤2.11)。
2.13)更新评估样本数量θ=θ-1,根节点的节点值nroot=nroot+reward,根节点的访问次数σroot=σroot+1,返回步骤2.3)。
2.14)输出服务功能链请求的放置方案Solution。
3)判断2)生成的放置方案的长度是否等于SFC请求的长度,若是则进入步骤4),否则进入步骤6);放置方案的长度等于服务功能链SFC请求的长度的判断标准为虚拟网络功能集中每个虚拟网络功能都具有可供所述虚拟网络功能放置的服务器;
4)利用步骤2)生成的VNF放置方案和Dijkstra最短路径算法判断是否存在满足需求的路径,若是则进入步骤5),否则进入步骤6)。
5)接受服务功能链请求,根据步骤2)的VNF放置方案和步骤4)找到的链路映射方案部署服务功能链请求,并且更新物理网络信息,返回步骤1);
6)拒绝服务功能链请求,返回步骤1)。

Claims (3)

1.一种基于强化学习的服务功能链部署方法,其特征在于,包括以下步骤:
1)读取当前物理网络信息和所述服务功能链请求。
所述服务功能链请求的虚拟网络功能集记为V={VNF1,VNF2,VNF3,...,VNFn};n为所述服务功能链请求的虚拟网络功能数量;
2)利用蒙特卡洛树搜索方法和启发式度量-局部资源容量生成虚拟网络功能集在物理网络上的放置方案。
3)判断所述放置方案的长度是否等于服务功能链请求的长度,若是,则进入步骤4),否则,进入步骤6);放置方案的长度等于服务功能链请求的长度的判断标准为:虚拟网络功能集中每个虚拟网络功能在物理网络中都具有满足资源容量限制的可供所述虚拟网络功能放置的服务器;
其中,资源容量限制条件为请求的资源容量小于等于映射的服务器中虚拟机的剩余资源容量。
4)利用Dijkstra最短路径算法判断物理网络中是否存在满足所述放置方案需求的链路,若是,则形成服务功能链请求的链路映射方案,并进入步骤5),否则进入步骤6);
5)接受服务功能链请求,根据所述放置方案和链路映射方案部署服务功能链请求,并更新物理网络信息,返回步骤1);
6)拒绝服务功能链请求,返回步骤1)。
2.根据权利要求1所述的一种基于强化学习的服务功能链部署方法,其特征在于,生成虚拟网络功能集在物理网络上的放置方案的步骤如下:
1)创建搜索树的根节点,初始化根节点状态;所述根节点状态包括当前物理网络信息以及服务功能链请求;
初始化根节点的访问次数σroot=0,初始化根节点的节点值nroot=0;初始化放置方案
Figure FDA0002654154310000011
2)判断当前根节点状态下服务功能链请求中的每个虚拟网络功能是否都已经生成了放置方案,若是,则进入步骤14),否则,初始化每个选择周期的评估样本数量θ;进入步骤3);
3)判断评估样本数量θ>0是否成立,若是,则进入步骤4),否则进入步骤6);
4)为根节点状态下第j个虚拟网络功能VNFj生成放置方案;其中j为当前状态下第一个还未生成放置方案的VNF;判断当前根节点的候选孩子节点集合I是否为空集,若是,则进入步骤14),否则进入步骤5);
5)从当前根节点的候选孩子节点集合中选出最佳的孩子节点k,即:
Figure FDA0002654154310000021
式中,u表示搜索树中当前节点;I表示当前节点的孩子节点集合;ni表示孩子节点i的节点值;σi表示孩子节点i的访问次数;D表示探索系数;σu表示节点u的访问次数;
在最佳孩子节点k中存储用于放置虚拟网络功能VNFj的服务器编号,并进入步骤7);
6)计算当前搜索树中根节点的孩子节点的节点值和访问次数比值
Figure FDA0002654154310000026
以节点值和访问次数比值最大的孩子节点为根节点,并将节点值和访问次数比值最大的孩子节点中存储的服务器编号写入放置方案Solution中,并返回步骤2);
7)将最佳孩子节点k加入到搜索树中,作为根节点的孩子节点,并进入步骤8);最佳孩子节点k的状态为将虚拟网络功能VNFj放入最佳孩子节点k存储的服务器编号对应的服务器后物理网络信息和服务功能链请求的状态;
8)判断j>n是否成立,若是,则进入步骤9),否则进入步骤10);
9)根据当前状态下的放置决策进行模拟部署,同时利用Dijkstra最短路径算法来进行链路映射,计算奖励reward,即:
Figure FDA0002654154310000022
式中,sk为当前服务功能链请求;R(sk)为部署当前服务功能链请求sk后的收益;C(sk)为部署当前服务功能链请求sk后的代价;
Figure FDA0002654154310000023
为当前奖励;
计算奖励reward完成后进入步骤11);
10)令j=j+1;计算物理网络中每个服务器纵向启发式度量-局部资源容量;
其中,服务器vs启发式度量-局部资源容量
Figure FDA0002654154310000024
如下所示:
Figure FDA0002654154310000025
式中,m表示在服务器vs上可搭载当前虚拟网络功能VNFj的虚拟机;Cm代表虚拟机m剩余计算资源;N(vs)代表与服务器vs相连的所有物理链路的集合;Ce代表链路e的剩余带宽;
以最大纵向启发式度量-局部资源容量对应的服务器作为放置虚拟网络功能VNFj的服务器,并更新当前节点状态,返回步骤8);
11)判断当前节点是否存在父节点,若是,则进入步骤12),否则进入步骤13)。
12)更新当前节点的节点值ncurrent=ncurrent+reward,当前节点的访问次数σcurrent=σcurrent+1,并将当前节点更改为当前节点的父节点,返回步骤11);
13)更新评估样本数量θ=θ-1,根节点的节点值nroot=nroot+reward,根节点的访问次数σroot=σroot+1,返回步骤3);
14)输出服务功能链请求的放置方案Solution。
3.根据权利要求1所述的一种基于强化学习的服务功能链部署方法,其特征在于,链路满足所述放置方案需求的判断标准为:对于放置方案中相邻的两个服务器之间存在映射对应两个虚拟网络功能间虚拟链路的路径。
CN202010881131.0A 2020-08-27 2020-08-27 一种基于强化学习的服务功能链部署方法 Active CN112083933B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010881131.0A CN112083933B (zh) 2020-08-27 2020-08-27 一种基于强化学习的服务功能链部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010881131.0A CN112083933B (zh) 2020-08-27 2020-08-27 一种基于强化学习的服务功能链部署方法

Publications (2)

Publication Number Publication Date
CN112083933A true CN112083933A (zh) 2020-12-15
CN112083933B CN112083933B (zh) 2023-07-04

Family

ID=73729642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010881131.0A Active CN112083933B (zh) 2020-08-27 2020-08-27 一种基于强化学习的服务功能链部署方法

Country Status (1)

Country Link
CN (1) CN112083933B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637189A (zh) * 2020-12-18 2021-04-09 重庆大学 物联网应用场景下的多层区块链跨域认证方法
CN112631717A (zh) * 2020-12-21 2021-04-09 重庆大学 基于异步强化学习的网络服务功能链动态部署系统及方法
CN112968794A (zh) * 2021-01-28 2021-06-15 广州杰赛科技股份有限公司 网络功能链部署方法、装置、终端设备以及存储介质
CN113395334A (zh) * 2021-05-31 2021-09-14 河南信大网御科技有限公司 服务功能链在线更新方法、系统及设备
CN113904923A (zh) * 2021-09-27 2022-01-07 重庆电子工程职业学院 一种基于软件定义网络的服务功能链联合优化方法
CN114124818A (zh) * 2021-11-11 2022-03-01 广东工业大学 一种sdn网络中多播传输的新增功能节点部署优化方法
CN114466059A (zh) * 2022-01-20 2022-05-10 天津大学 一种向移动边缘计算系统提供可靠服务功能链的方法
CN114598613A (zh) * 2022-04-07 2022-06-07 中国移动通信集团陕西有限公司 虚拟网络功能的部署方法、装置、设备及介质
CN114900522A (zh) * 2022-05-11 2022-08-12 重庆大学 一种基于蒙特卡洛树搜索的服务功能链迁移方法
CN114944985A (zh) * 2022-05-11 2022-08-26 重庆大学 一种资源异构环境下面向可靠性的服务功能链备份方法
CN115955402A (zh) * 2023-03-14 2023-04-11 中移动信息技术有限公司 服务功能链确定方法、装置、设备、介质及产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107332913A (zh) * 2017-07-04 2017-11-07 电子科技大学 一种5g移动网络中服务功能链的优化部署方法
CN108600019A (zh) * 2018-04-28 2018-09-28 电子科技大学 一种网络服务功能链映射方法
CN111371616A (zh) * 2020-03-05 2020-07-03 南京大学 一种面向numa架构服务器的虚拟网络功能链部署方法和系统
US20200233710A1 (en) * 2015-10-28 2020-07-23 Qomplx, Inc. Platform for hierarchy cooperative computing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200233710A1 (en) * 2015-10-28 2020-07-23 Qomplx, Inc. Platform for hierarchy cooperative computing
CN107332913A (zh) * 2017-07-04 2017-11-07 电子科技大学 一种5g移动网络中服务功能链的优化部署方法
CN108600019A (zh) * 2018-04-28 2018-09-28 电子科技大学 一种网络服务功能链映射方法
CN111371616A (zh) * 2020-03-05 2020-07-03 南京大学 一种面向numa架构服务器的虚拟网络功能链部署方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PHAM TRAN ANH QUANG等: "A Deep Reinforcement Learning Approach for VNF Forwarding Graph Embedding", 《IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT》, pages 1 - 14 *
周桥: "基于SDNFV的服务功能链部署优化技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 136 - 309 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637189B (zh) * 2020-12-18 2022-06-24 重庆大学 物联网应用场景下的多层区块链跨域认证方法
CN112637189A (zh) * 2020-12-18 2021-04-09 重庆大学 物联网应用场景下的多层区块链跨域认证方法
CN112631717A (zh) * 2020-12-21 2021-04-09 重庆大学 基于异步强化学习的网络服务功能链动态部署系统及方法
CN112631717B (zh) * 2020-12-21 2023-09-05 重庆大学 基于异步强化学习的网络服务功能链动态部署系统及方法
CN112968794A (zh) * 2021-01-28 2021-06-15 广州杰赛科技股份有限公司 网络功能链部署方法、装置、终端设备以及存储介质
CN113395334A (zh) * 2021-05-31 2021-09-14 河南信大网御科技有限公司 服务功能链在线更新方法、系统及设备
CN113904923A (zh) * 2021-09-27 2022-01-07 重庆电子工程职业学院 一种基于软件定义网络的服务功能链联合优化方法
CN113904923B (zh) * 2021-09-27 2023-08-22 重庆电子工程职业学院 一种基于软件定义网络的服务功能链联合优化方法
CN114124818A (zh) * 2021-11-11 2022-03-01 广东工业大学 一种sdn网络中多播传输的新增功能节点部署优化方法
CN114124818B (zh) * 2021-11-11 2023-07-04 广东工业大学 一种sdn网络中多播传输的新增功能节点部署优化方法
CN114466059B (zh) * 2022-01-20 2023-06-02 天津大学 一种向移动边缘计算系统提供可靠服务功能链的方法
CN114466059A (zh) * 2022-01-20 2022-05-10 天津大学 一种向移动边缘计算系统提供可靠服务功能链的方法
CN114598613A (zh) * 2022-04-07 2022-06-07 中国移动通信集团陕西有限公司 虚拟网络功能的部署方法、装置、设备及介质
CN114598613B (zh) * 2022-04-07 2023-09-29 中国移动通信集团陕西有限公司 虚拟网络功能的部署方法、装置、设备及介质
CN114900522A (zh) * 2022-05-11 2022-08-12 重庆大学 一种基于蒙特卡洛树搜索的服务功能链迁移方法
CN114944985A (zh) * 2022-05-11 2022-08-26 重庆大学 一种资源异构环境下面向可靠性的服务功能链备份方法
CN114944985B (zh) * 2022-05-11 2023-11-24 重庆大学 一种资源异构环境下面向可靠性的服务功能链备份方法
CN114900522B (zh) * 2022-05-11 2024-03-12 重庆大学 一种基于蒙特卡洛树搜索的服务功能链迁移方法
CN115955402A (zh) * 2023-03-14 2023-04-11 中移动信息技术有限公司 服务功能链确定方法、装置、设备、介质及产品
CN115955402B (zh) * 2023-03-14 2023-08-01 中移动信息技术有限公司 服务功能链确定方法、装置、设备、介质及产品

Also Published As

Publication number Publication date
CN112083933B (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
CN112083933A (zh) 一种基于强化学习的服务功能链部署方法
US20190253490A1 (en) Resource load balancing control method and cluster scheduler
WO2020117991A1 (en) Generating integrated circuit floorplans using neural networks
CN108122032A (zh) 一种神经网络模型训练方法、装置、芯片和系统
CN107003834B (zh) 行人检测设备和方法
WO2019084560A1 (en) SEARCH FOR NEURONAL ARCHITECTURES
CN112866059A (zh) 一种基于人工智能应用的无损网络性能测试方法和装置
CN112073237B (zh) 一种云边架构中大规模目标网络构建方法
CN113821332B (zh) 自动机器学习系统效能调优方法、装置、设备及介质
CN111737826B (zh) 一种基于增强学习的轨道交通自动仿真建模方法及装置
CN113535399A (zh) 一种nfv资源调度方法、装置以及系统
CN115473841A (zh) 网络路径的确定方法、装置及存储介质
CN109639582A (zh) 一种基于分布式哈希表的网络节点处理方法及装置
CN110380906B (zh) 一种大规模多维融合的虚拟网络映射方法
CN111106960B (zh) 一种虚拟网络的映射方法、映射装置及可读存储介质
CN114564523B (zh) 针对智慧虚拟场景的大数据漏洞分析方法及云端ai系统
CN114900522B (zh) 一种基于蒙特卡洛树搜索的服务功能链迁移方法
JP6944156B2 (ja) オーケストレータ装置、プログラム、情報処理システム、及び制御方法
CN110035126A (zh) 一种文件处理方法、装置、计算设备及存储介质
CN106778048B (zh) 数据处理的方法及装置
CN112434817B (zh) 构建通信算法数据库的方法、装置和计算机存储介质
Zheng et al. A single-player Monte Carlo tree search method combined with node importance for virtual network embedding
US10747936B1 (en) System, method, and computer program product for genetic routing in an electronic circuit design
CN111836274B (zh) 一种业务处理的方法及装置
CN115705497A (zh) 一种量子计算机操作系统和量子计算机

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