CN107346262B - 一种任务迁移的方法及控制器 - Google Patents

一种任务迁移的方法及控制器 Download PDF

Info

Publication number
CN107346262B
CN107346262B CN201710418085.9A CN201710418085A CN107346262B CN 107346262 B CN107346262 B CN 107346262B CN 201710418085 A CN201710418085 A CN 201710418085A CN 107346262 B CN107346262 B CN 107346262B
Authority
CN
China
Prior art keywords
controller
task
migrated
tasks
migration
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
CN201710418085.9A
Other languages
English (en)
Other versions
CN107346262A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710418085.9A priority Critical patent/CN107346262B/zh
Publication of CN107346262A publication Critical patent/CN107346262A/zh
Application granted granted Critical
Publication of CN107346262B publication Critical patent/CN107346262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例公开了一种任务迁移的方法及控制器,应用于控制器集群***中,方法包括:控制器计算所述控制器上每一个任务迁移到所述控制器集群内其它控制器的衰减系数;其中,任务的衰减系数与所述任务迁移所需要传递消息的数量以及消息传递时长负相关;所述控制器根据所述衰减系数确定待迁移任务以及所述待迁移任务迁移的目标控制器;所述控制器将所述待迁移任务向所述目标控制器进行任务迁移。采用本申请实施例,可使得控制器集群***中的任务分布更均衡,提升SDN网络的整体性能。

Description

一种任务迁移的方法及控制器
技术领域
本申请涉及信息技术领域,尤其涉及一种任务迁移的方法及控制器。
背景技术
传统信息技术(英文:Information Technology,IT)架构中的网络,根据业务需求部署上线以后,如果业务需求发生变动,重新修改相应网络设备(路由器、交换机、防火墙)上的配置是一件非常繁琐的事情。在互联网/移动互联网瞬息万变的业务环境下,网络的高稳定与高性能还不足以满足业务需求,灵活性和敏捷性反而更为关键。软件定义网络(英文:Software Defined Network,SDN)所做的事是将网络设备上的控制权分离出来,由集中的控制器管理,无须依赖底层网络设备(路由器、交换机、防火墙),屏蔽了来自底层网络设备的差异。而控制权是完全开放的,用户可以自定义任何想实现的网络路由和传输规则策略,从而更加灵活和智能。
对于目前的SDN网络来说,现有的分布式***为SDN控制器分配的任务不够均衡,多个控制器之间的任务调度不够灵活。
发明内容
本申请实施例所要解决的技术问题在于,提供一种任务迁移的方法及控制器,以期使得控制器集群***中的任务分布更均衡,提升SDN网络的整体性能。
第一方面,本申请的实施例提供了一种任务迁移的方法,应用于控制器集群***中,可包括:
控制器计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数;其中,任务的衰减系数与所述任务迁移所需要传递消息的数量以及消息传递时长负相关;
所述控制器根据所述衰减系数确定待迁移任务以及所述待迁移任务迁移的目标控制器;
所述控制器将所述待迁移任务向所述目标控制器进行任务迁移。
由于衰减系数与任务迁移所需要传递消息的数量以及消息传递时长负相关,因此达到预设阈值被迁移的任务是一些传递消息的数量较少,消息传递时长较短的任务,迁移需要传递的消息数量较多,消息传递时长较长的任务则可以不迁移,从而优化了控制器的处理效率,提高了控制器处理任务的能力,进而提高整个***处理任务的吞吐量,最终实现***性能的整体提升。
在一种可能的实现方式中,触发所述控制器计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数的方式包括以下任意一种:
接收调度器分配的任务;
接收所述控制器集群***中其它控制器迁移的任务;
所述控制器上的定时器配置的超时时间到达。
通过灵活的配置计算触发方式,可以增加任务迁移的灵活性,提升SDN网络的适应性。
在一种可能的实现方式中,根据所述衰减系数确定待迁移任务以及所述待迁移任务迁移的目标控制器,包括:
将所述控制器上衰减系数由大到小排在前n个的任务确定为待迁移任务;n为大于或等于1的整数;
根据所述待迁移任务的衰减系数确定所述待迁移任务迁移的目标控制器。
由于控制器随时可能接收到调度器分配的任务以及其它控制器迁移的任务,因此,其接收的任务的RF排名可能随时变化,在进行迁移时,可以设定n值来确定需要进行迁移的任务的数量,再结合RF的大小确定具体要迁移哪些任务,从而可以在任务迁移占用的资源极少的情况下,实现SDN网络任务的合理调度,从而提升整个网络的性能。
在一种可能的实现方式中,还包括:
当所述控制器上的任务的衰减系数均小于预设阈值时,停止任务迁移。
通过配置预设阈值来停止任务迁移,从而可以确保控制器上的任务衰减系数较大的都已迁移完成,提高了SDN网络的性能。
在一种可能的实现方式中,还包括:
停止任务迁移后,将所述控制器上的任务数量与所述控制器集群***中其它控制器上的任务数量分别进行比较;
若任务数量之差达到预设的不平衡参数,则降低所述预设阈值,再次进行任务迁移。
通过增加各个控制器之间任务数量之差与不平衡参数的比较,可以根据比较结果灵活调整RF的预设阈值,从而确保任务迁移后各个控制器的任务数量比较均衡,调度方式更加灵活,利于提升各个控制器的任务处理效率,提升了SDN网络的灵活性和工作效率。
第二方面,本申请的实施例提供了一种控制器,所述控制器为控制器集群***中的任意一个控制器,可包括:
处理单元,用于计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数;其中,任务的衰减系数与所述任务迁移所需要传递消息的数量以及消息传递时长负相关;根据所述衰减系数确定待迁移任务以及所述待迁移任务迁移的目标控制器;
收发单元,用于将所述待迁移任务向所述目标控制器进行任务迁移。
在一种可能的实现方式中,触发所述处理单元计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数的方式包括以下任意一种:
所述收发单元接收调度器分配的任务;
所述收发单元接收所述控制器集群***中其它控制器迁移的任务;
所述控制器上的定时器配置的超时时间到达。
在一种可能的实现方式中,所述处理单元用于:
将所述控制器上衰减系数由大到小排在前n个的任务确定为待迁移任务;n为大于或等于1的整数;
根据所述待迁移任务的衰减系数确定所述待迁移任务迁移的目标控制器。
在一种可能的实现方式中,所述收发单元还用于当所述控制器上的任务的衰减系数均小于预设阈值时,停止任务迁移。
在一种可能的实现方式中,所述处理单元还用于停止任务迁移后,将所述控制器上的任务数量与所述控制器集群***中其它控制器上的任务数量分别进行比较;
若任务数量之差达到预设的不平衡参数,则降低所述预设阈值,再次进行任务迁移。
第三方面,本申请的实施例提供了一种控制器,所述控制器为控制器集群***中的任意一个控制器,可包括:
处理器、存储器和总线,所述处理器和存储器通过总线连接,其中,所述存储器用于存储一组程序代码,所述处理器用于调用所述存储器中存储的程序代码,执行本申请实施例第一方面或第一方面任一实现方式中的步骤。
第四方面,本申请的实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,实现上述第一方面或第一方面的任意可能的实现方式中的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1本申请实施例提供的一种SDN网络的架构示意图;
图2是本申请实施例提供的一种任务迁移的方法的流程示意图;
图3是本申请实施例提供的另一种任务迁移的方法的流程示意图;
图4是本申请实施例提供的又一种任务迁移的方法的流程示意图;
图5是本申请实施例提供的一种控制器的组成示意图;
图6是本申请实施例提供的另一种控制器的组成示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请的实施例进行描述。本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参见图1,图1是本发明实施例提供的一种SDN网络的架构示意图,该SDN网络中包括SDN的架构自上而下可以分为五个部分:应用层、北向接口、控制层、南向接口、网络设备层。
应用层:包括各种不同的业务和应用,应用层通过控制层提供的编程接口对底层设备进行编程,开发各种业务应用,实现丰富多彩的业务创新。
北向接口:连接应用层与控制层的接口,使得各项SDN应用能够便捷的调用底层的网络资源。
控制层:是整个SDN网络的核心,集中管理网络中的所有设备,把整个网络看做统一的资源池,根据用户不同的需求以及全局网络拓扑,灵活动态的分配资源。对下层,通过标准的协议与网络设备层进行通信;对上层,通过开放接口向应用层提供对网络资源的控制能力。
南向接口:连接控制层与网络设备的接口,实现对网络设备状态、数据流量转发的管控。
网络设备层:即硬件设备层,包含组成整个IT基础架构的网络中的所有物理设备,比方说交换机、路由器等等。网络设备层主要负责数据处理、转发等工作。
在本申请实施例中,控制层可包括调度器(英文“Scheduler”)及由该调度器管理的一个以上的控制器(英文:Controller),网络设备层可以包括但不限于交换机(英文:Switch)等网络设备,如除了图1所示的交换机之外,还可以包括诸如路由器、网关设备、安全设备等其它网络设备。
需要说明的时,在本申请实施例中,控制器功能有多个,控制器的一个功能可以理解为一个应用,当需要实现控制器的一个功能时,调度器可以把一个与控制器的功能对应的应用分解成多个任务,让多个控制器去执行上述多个任务,从而完成一个应用的功能。每一个任务之间可以用消息(英文:message)进行传递;在控制器上执行任务可以被消息或者控制器上设置的定时器超时诱发。由于现有的任务调度方式不够灵活,无法充分发挥SDN网络的性能。本申请在调度器进行任务调度之后,控制器可以对任务进行迁移,从而提升SDN网络的性能。
下面将结合图2-图5对本申请的任务迁移的方法进行详细说明。
图2是本申请实施例提供的一种任务迁移的方法的流程示意图,该方法应用于控制器集群***中,包括但不限于如下步骤:
S201,控制器计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数(英文:Reduction Factor,RF)。
其中,任务的衰减系数与所述任务迁移所需要传递消息的数量以及消息传递时长负相关。即,对于所述控制器上的任意一个具体的任务而言,一个任务的衰减系数可以根据该任务迁移到控制器集群***中某个具体的控制器时所需要传递消息的数量以及消息传递时长确定。
例如,当前控制器为第一控制器,其被分配了3个任务,控制器集群***中的控制器还包括第二控制器和第三控制器;则第一控制器可以计算这3个任务分别迁移到第二控制器和第三控制器的RF。
每个任务在进行迁移时需要传递的消息的数量可能相同,也可能不同,例如,上述3个任务中,任务1需要传递2条消息,任务2需要传递3条消息,任务3需要传递3条消息。此处的消息传递时长可以是两个控制器之间传递一条消息的时长。RF与任务迁移所需要传递消息的数量以及消息传递时长负相关表示,传递消息的数量越多,RF值越小,消息传递时长越大,RF值越小。其也可以称为成反比,即传递消息的数量与RF值成反比,消息传递时长与RF值成反比。可选地,其可以根据各种可能的公式进行计算:如RF=n/(x*y),n为预设的正数调整因子,x为传递消息的数量,y为消息传递时长;或者RF=n/(x+y),或者其它可表示RF与x和y负相关的任意公式,本发明实施例不作任何限定。
需要说明的是,此处的消息传递时长也可以是根据两个控制器之间迁移任务发送的多条消息的总消息传递时长,其同样可以根据上述各种公式计算得到RF,此处不再赘述。
可选地,在步骤S201之前,还可以包括但不限于步骤S200,步骤S200可用于触发控制器执行计算衰减系数的步骤。
触发所述控制器计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数的方式可以包括但不限于以下任意一种:
控制器接收调度器分配的任务。
控制器接收所述控制器集群***中其它控制器迁移的任务;
控制器上的定时器配置的超时时间到达。
例如,若控制器接收调度器分配的任务,即调度器进行任务初始化分配。在进行任务初始化分配时,调度器可以将处理输入输出(英文:InputOutput,IO)任务的线程就近分配给本地的控制器;可以将IO任务可以放在本地,避免迁移,其它非IO的任务可以迁移,当然,IO任务也可以根据用户需求分配给任意控制器并进行迁移,本发明实施例不作任何限定。
其它任务可以根据轮询的方式分配给其它控制器;或者也可以根据当前各个控制器的资源利用率如处理器利用率、内存利用率等来进行初始化分配,如给处理器利用率较大的控制器分配较少的任务,给处理器利用率较小的控制器分配较多的任务,本发明实施例同样不作任何限定。任务初始化分配好之后,控制器节点将接收到调度器分配的任务,此时便可以使用本申请实施例所述的方法来进行任务迁移。
若接收控制器集群***中其它控制器迁移的任务,则其它控制器将会向当前控制器发送消息,可以由消息触发衰减系数计算;当然,还可以通过在控制器上配置定时器的超时时间,当超时时间到达时便执行计算衰减系数的步骤。
S202,根据所述衰减系数确定待迁移任务以及所述待迁移任务迁移的目标控制器。
S203,将所述待迁移任务向所述目标控制器进行任务迁移。
可选地,在步骤S202中,可以设定一个用于与衰减系数比较的预设阈值,例如,当前控制器为第一控制器,当第一控制器上的任务B由第一控制器迁移到第二控制器的RF最大且达到预设阈值时,则可以确定该任务为待迁移任务,迁移的目标控制器为第二控制器。或者,还可以将第一控制器上的所有任务根据衰减系数的大小排序,将排序靠前的n个任务确定为待迁移任务,由于衰减系数是根据当前控制器与目标控制器之间的需要传递消息的数量和消息传递时长确定的,因此,当根据衰减系数确定了待传输任务之后,由衰减系数与目标控制器的对应关系也就可以确定目标控制器。
若选择使用预设阈值与衰减系数比较来确定待迁移任务,例如,当前控制器为第一控制器,其一共有3个任务,调度器管理的其它控制器还包括第二控制器和第三控制器;则第一控制器可以计算这3个任务分别迁移到第二控制器和第三控制器的RF。任务1需要传递2条消息,任务2需要传递3条消息,任务3需要传递3条消息。第一控制器与第二控制器之间的消息传递时长为2ms,第一控制器与第三控制器之间的消息传递时长为4ms,如果使用RF=n/(x*y)的公式进行计算,n取值为120。则可以得出3个任务分别进行迁移时的RF:
RF112=120/2*2=30;
RF123=120/2*4=15;
RF212=120/3*2=20;
RF223=120/3*4=10;
RF312=120/3*2=20;
RF323=120/3*4=10;
其中,RFijk表示任务i从第j控制器迁移到第k控制器的衰减系数。
当预设阈值为20的时候,则第一控制器上的任务1迁移到第二控制器为RF112=30,可以将任务1迁移到第二控制器,同理,可以将任务2和任务3也迁移到第二控制器上;当预设阈值为15的时候,第一控制器可以将任务1迁移到第二控制器,也可以将任务1迁移到第三控制器,由于迁移到第二控制器的RF更大,因此可以迁移到第二控制器,当然,还可以结合第二控制器上当前的任务数量或资源利用率如处理器利用率同时进行参照,当第二控制器上任务数量较多或资源利用率较高时,也可以迁移到第三控制器。
可选地,当前控制器如上述的第一控制器在进行任务迁移时,也可能会接收来自调度器分配的任务或所述其它控制器如第二控制器和/或第三控制器迁移的任务。此时,第一控制器可以配置一个用于任务迁移的定时器,在定时器的超时时间内对迁入的任务计算RF,并根据预设阈值判断是否将其再次迁移;或者也可以在定时器的超时时间内先不作处理,等待下一个超时时间进行RF计算并决定是否迁移。或者,还可以在接收到任一一个任务时进行RF计算并决定是否迁移,本发明实施例不作任何限定。
在本实施例中,控制器可以计算每一个任务迁移到控制器集群***中其它控制器的衰减系数,然后根据衰减系数确定待迁移任务及迁移的目标控制器并进行迁移,由于衰减系数与任务迁移所需要传递消息的数量以及消息传递时长负相关,因此达到预设阈值被迁移的任务是一些传递消息的数量较少,消息传递时长较短的任务,迁移需要传递的消息数量较多,消息传递时长较长的任务则可以不迁移,从而优化了控制器的处理效率,提高了控制器处理任务的能力,进而提高整个***处理任务的吞吐量,最终实现***性能的整体提升。
图3是本申请实施例提供的另一种任务迁移的方法的流程示意图,步骤S301和步骤S201相同,S303与步骤S203相同,此处不再赘述。本实施例中,所述方法还可以包括但不限于如下步骤:
S302,将所述控制器上衰减系数由大到小排在前n个的任务确定为待迁移任务,根据所述待迁移任务的衰减系数确定所述待迁移任务迁移的目标控制器;n为大于或等于1的整数。
S304,当所述控制器上的任务的衰减系数均小于预设阈值时,停止任务迁移。
可选地,n可以由用户实时设置,也可以由控制器生产厂家预先设定。上述预设阈值可以由用户进行实时设置,也可以由生产商在设备出厂时进行默认设置或者设置多个选项供用户选择,此处不作任何限定。
由于控制器随时可能接收到调度器分配的任务以及其它控制器迁移的任务,因此,其接收的任务的RF排名可能随时变化,在进行迁移时,可以设定n值来确定需要进行迁移的任务的数量,再结合RF的大小确定具体要迁移哪些任务,当任务迁移执行到控制器上的任务的衰减系数均小于所述预设阈值时,便可以停止任务迁移。
在本实施例中,描述了任务迁移的具体实现方式,通过上述方式可以在任务迁移占用的资源极少的情况下,实现SDN网络任务的合理调度,从而提升整个网络的性能。
图4是本申请实施例提供的又一种任务迁移的方法的流程示意图,步骤S401-S404步骤S301-S304相同,此处不再赘述。本实施例中,所述方法还可以包括但不限于如下步骤:
S405,停止任务迁移后,将所述控制器上的任务数量与所述控制器集群***中其它控制器上的任务数量分别进行比较。
S406,若任务数量之差达到预设的不平衡参数,则降低所述预设阈值,再次进行任务迁移。
需要说明的是,所述控制器与任意一个其它控制器的任务数量之差达到预设的不平衡参数,都可以触发降低预设阈值,再次进行任务迁移的步骤。
其中,任务数量也可以使用队列长度表征,如任务数量为10,则可以称队列长度为10。
当根据预设阈值进行任务迁移之后,有可能出现控制器之间任务数量不均衡的情况,才因此,可以将控制器上的任务数量与其它控制器上的任务数量进行比较。通过设定不平衡参数,若任务数量之差达到预设的不平衡参数,则说明控制器之间的任务数量还不够均衡,例如停止任务迁移后,第一控制器上的任务为3个,第二控制器上的任务为10个,第三控制器上的任务为2个,则此时任务数量之差分别为7和8,若不平衡参数为2,则此时可以降低RF的预设阈值,再次按上述图1-图3中调度任务的方法进行任务迁移,直至三个控制器之间的任务数量之差小于2。
下面以交换机加入网络的应用为例进行说明:
一个新的交换机加入网络后会启动四个相应的任务,Init、Query、Collect、Route。这四个任务的作用分别如下:
Init:负责接管刚加入的交换机
Query:查询交换的状态
Collect:收集交换机信息
Route:针对搜集到的信息,调度器让相应的控制器下发流表,让交换机根据更新的流表转发数据包,使包的转发更有效率。Route这里是一个全局的操作,并不是针对某一个交换机做的操作,指的是所有交换机都更新流表,同时更改数据包的转发对象。
交换机0(即新加入的交换机)向调度器发送交换机加入消息;
调度器给交换机0选择第一控制器,把init任务发送给第一控制器;
第一控制器执行Init任务,接管交换机0;
调度器为query任务、collect任务用轮询或其它的形式分别选择一个控制器如分别选择第二控制器或第三控制器;
调度器还可以根据初始分配的超时时间来为route任务选择一个控制器如第二控制器;
当任务初始化分配完成之后,各个控制器便可以计算自身的任务迁移到控制器集群***中其它控制器的RF,例如query任务的迁移到第三控制器的RF较大,则可以将query任务迁移到第三控制器,如果任务迁移后各个控制器的任务数量不满足不平衡参数的设定,则可以再次进行迁移。
需要说明的是,除了由控制器计算RF并决定是否进行任务迁移之外,也可以由调度器进行统一调度,此时,各个控制器在计算了各自的任务迁移相关的RF之后,可以将RF上报给调度器,调度器根据预设阈值进行统一调度和任务迁移;当各个控制器的任务数量不均衡时,也可以由调度器根据各个控制器的任务数量进行全局调度,本发明实施例不作任何限定。
在本实施例中,增加了各个控制器之间任务数量之差与不平衡参数的比较,可以根据比较结果灵活调整RF的预设阈值,从而确保任务迁移后各个控制器的任务数量比较均衡,调度方式更加灵活,利于提升各个控制器的任务处理效率,提升了SDN网络的灵活性和工作效率。
根据前述方法,图5为本申请实施例提供的一种控制器的组成示意图,所述控制器可以为控制器集群***中的任意一个控制器,如图5所示,所述控制器包括:
处理单元100,用于计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数;其中,任务的衰减系数与所述任务迁移所需要传递消息的数量以及消息传递时长负相关;根据所述衰减系数确定待迁移任务以及所述待迁移任务迁移的目标控制器;
收发单元200,用于将所述待迁移任务向所述目标控制器进行任务迁移。
可选地,触发所述处理单元100计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数的方式包括以下任意一种:
所述收发单元200接收调度器分配的任务;
所述收发单元200接收所述控制器集群***中其它控制器迁移的任务;
所述控制器上的定时器配置的超时时间到达。
可选地,所述处理单元100用于:
将所述控制器上衰减系数由大到小排在前n个的任务确定为待迁移任务;n为大于或等于1的整数;
根据所述待迁移任务的衰减系数确定所述待迁移任务迁移的目标控制器。
可选地,所述收发单元200还用于当所述控制器上的任务的衰减系数均小于预设阈值时,停止任务迁移。
可选地,所述处理单元100还用于停止任务迁移后,将所述控制器上的任务数量与所述控制器集群***中其它控制器上的任务数量分别进行比较;
若任务数量之差达到预设的不平衡参数,则降低所述预设阈值,再次进行任务迁移。
根据前述方法,图6为本申请实施例提供的另一种控制器的组成示意图,所述控制器可以为控制器集群***中的任意一个控制器,如图6所示,该控制器可以包括处理器110、存储器120和总线130。处理器110和存储器120通过总线130连接,该存储器120用于存储指令,该处理器110用于执行该存储器120存储的指令,以实现如上图2-图4对应的方法中的步骤。
进一步的,该控制器还可以包括、输入口140和输出口150。其中,处理器110、存储器120、输入口140和输出口150可以通过总线130相连。
处理器110用于执行该存储器120存储的指令,以控制输入口140接收信号,并控制输出口150发送信号,完成上述方法中控制器执行的步骤。其中,输入口140和输出口150可以为相同或者不同的物理实体。为相同的物理实体时,可以统称为输入输出口。所述存储器120可以集成在所述处理器110中,也可以与所述处理器110分开设置。
作为一种实现方式,输入口140和输出口150的功能可以考虑通过收发电路或者收发的专用芯片实现。处理器110可以考虑通过专用处理芯片、处理电路、处理器或者通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的控制器。即将实现处理器110,输入口140和输出口150功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器110,输入口140和输出口150的功能。
需要说明的是,本实施例也可以基于通用的物理服务器结合网络功能虚拟化(英文:Network Function Virtualization,NFV)技术实现的虚拟控制器,所述虚拟控制器可以是运行有用于任务迁移功能的程序的虚拟机(英文:Virtual Machine,VM),所述虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***。
该控制器所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其它步骤请参见前述方法或其它实施例中关于这些内容的描述,此处不做赘述。
本领域技术人员可以理解,为了便于说明,图6仅示出了一个存储器和处理器。在实际的控制器中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本发明实施例对此不做限制。
应理解,在本申请实施例中,处理器可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),该处理器还可以是其它通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。
该总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本申请实施例提供的方法,本申请实施例还提供一种***,其包括前述的调度器和一个或多于一个控制器。
还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本发明实施例的范围。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种任务迁移的方法,应用于控制器集群***中,其特征在于,包括:
控制器计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数;其中,任务的衰减系数与所述任务迁移所需要传递消息的数量以及消息传递时长负相关;
所述控制器根据所述衰减系数确定待迁移任务以及所述待迁移任务迁移的目标控制器;
所述控制器将所述待迁移任务向所述目标控制器进行任务迁移;
当所述控制器上的任务的衰减系数均小于预设阈值时,停止任务迁移;
停止任务迁移后,将所述控制器上的任务数量与所述控制器集群***中其它控制器上的任务数量分别进行比较;
若任务数量之差达到预设的不平衡参数,则降低所述预设阈值,再次进行任务迁移。
2.根据权利要求1所述的方法,其特征在于,触发所述控制器计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数的方式包括以下任意一种:
接收调度器分配的任务;
接收所述控制器集群***中其它控制器迁移的任务;
所述控制器上的定时器配置的超时时间到达。
3.根据权利要求1所述的方法,其特征在于,根据所述衰减系数确定待迁移任务以及所述待迁移任务迁移的目标控制器,包括:
将所述控制器上衰减系数由大到小排在前n个的任务确定为待迁移任务;n为大于或等于1的整数;
根据所述待迁移任务的衰减系数确定所述待迁移任务迁移的目标控制器。
4.一种控制器,其特征在于,包括:
处理单元,用于计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数;其中,任务的衰减系数与所述任务迁移所需要传递消息的数量以及消息传递时长负相关;根据所述衰减系数确定待迁移任务以及所述待迁移任务迁移的目标控制器;
收发单元,用于将所述待迁移任务向所述目标控制器进行任务迁移;
所述收发单元还用于当所述控制器上的任务的衰减系数均小于预设阈值时,停止任务迁移;
所述处理单元还用于停止任务迁移后,将所述控制器上的任务数量与控制器集群***中其它控制器上的任务数量分别进行比较;
若任务数量之差达到预设的不平衡参数,则降低所述预设阈值,再次进行任务迁移。
5.根据权利要求4所述的控制器,其特征在于,触发所述处理单元计算所述控制器上每一个任务迁移到所述控制器集群***中其它控制器的衰减系数的方式包括以下任意一种:
所述收发单元接收调度器分配的任务;
所述收发单元接收所述控制器集群***中其它控制器迁移的任务;
所述控制器上的定时器配置的超时时间到达。
6.根据权利要求4所述的控制器,其特征在于,所述处理单元用于:
将所述控制器上衰减系数由大到小排在前n个的任务确定为待迁移任务;n为大于或等于1的整数;
根据所述待迁移任务的衰减系数确定所述待迁移任务迁移的目标控制器。
7.一种控制器,其特征在于,包括:
处理器、存储器和总线,所述处理器和存储器通过总线连接,其中,所述存储器用于存储一组程序代码,所述处理器用于调用所述存储器中存储的程序代码,执行如权利要求1-3任一项所述的方法。
8.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,当其在计算机上运行时,实现如权利要求1-3任一项所述的方法。
CN201710418085.9A 2017-06-06 2017-06-06 一种任务迁移的方法及控制器 Active CN107346262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710418085.9A CN107346262B (zh) 2017-06-06 2017-06-06 一种任务迁移的方法及控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710418085.9A CN107346262B (zh) 2017-06-06 2017-06-06 一种任务迁移的方法及控制器

Publications (2)

Publication Number Publication Date
CN107346262A CN107346262A (zh) 2017-11-14
CN107346262B true CN107346262B (zh) 2020-12-15

Family

ID=60253546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710418085.9A Active CN107346262B (zh) 2017-06-06 2017-06-06 一种任务迁移的方法及控制器

Country Status (1)

Country Link
CN (1) CN107346262B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221561B (zh) * 2020-01-14 2024-05-31 平安科技(深圳)有限公司 流表更新方法、装置、***、计算机设备及存储介质
CN112131179B (zh) * 2020-09-23 2023-11-21 平安科技(深圳)有限公司 任务状态检测方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973676A (zh) * 2014-04-21 2014-08-06 蓝盾信息安全技术股份有限公司 一种基于sdn的云计算安全保护***及方法
CN104102533A (zh) * 2014-06-17 2014-10-15 华中科技大学 一种基于带宽感知的Hadoop调度方法和***
CN104767695A (zh) * 2015-04-20 2015-07-08 清华大学 一种数据中心中的任务级别的流调度方法
CN104935523A (zh) * 2014-03-21 2015-09-23 ***通信集团公司 一种负载均衡的处理方法和设备
CN105808340A (zh) * 2014-12-29 2016-07-27 中移(苏州)软件技术有限公司 负载均衡方法及***
CN106168912A (zh) * 2016-07-28 2016-11-30 重庆邮电大学 一种Hadoop大数据平台中基于备份任务运行时间估计的调度方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935523A (zh) * 2014-03-21 2015-09-23 ***通信集团公司 一种负载均衡的处理方法和设备
CN103973676A (zh) * 2014-04-21 2014-08-06 蓝盾信息安全技术股份有限公司 一种基于sdn的云计算安全保护***及方法
CN104102533A (zh) * 2014-06-17 2014-10-15 华中科技大学 一种基于带宽感知的Hadoop调度方法和***
CN105808340A (zh) * 2014-12-29 2016-07-27 中移(苏州)软件技术有限公司 负载均衡方法及***
CN104767695A (zh) * 2015-04-20 2015-07-08 清华大学 一种数据中心中的任务级别的流调度方法
CN106168912A (zh) * 2016-07-28 2016-11-30 重庆邮电大学 一种Hadoop大数据平台中基于备份任务运行时间估计的调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chuang"an Wang et.al."A Switch Migration-Based Decision-Making Scheme for Balancing Load in SDN".《IEEE Access》.2017,第5卷4537-4544. *

Also Published As

Publication number Publication date
CN107346262A (zh) 2017-11-14

Similar Documents

Publication Publication Date Title
CN107925587B (zh) 用于网络切片的方法和装置
Yu et al. Network function virtualization in the multi-tenant cloud
EP2972855B1 (en) Automatic configuration of external services based upon network activity
CN107896195B (zh) 服务链编排方法、装置及服务链拓扑结构***
Duan et al. A load balancing and multi-tenancy oriented data center virtualization framework
CN107278359A (zh) 云计算***中报文处理的方法、主机和***
Salahuddin et al. RSU cloud and its resource management in support of enhanced vehicular applications
CN111224821B (zh) 安全服务部署***、方法及装置
US20100287262A1 (en) Method and system for guaranteed end-to-end data flows in a local networking domain
US8095661B2 (en) Method and system for scaling applications on a blade chassis
WO2015038485A1 (en) Controlling data storage input/output requests
CN107209692A (zh) 虚拟化资源的操纵
CN103475722A (zh) 一种业务协同平台实现***
CN105282004A (zh) 网络虚拟化处理方法、装置及***
CN105407056A (zh) 一种软件定义网络中的业务链建立方法及***
CN106105119A (zh) 操作网络实体的方法
KR102093418B1 (ko) Sdn 기반의 사용자 요구 반영 가상 네트워크 생성장치 및 그 방법
CN107346262B (zh) 一种任务迁移的方法及控制器
CN106161603B (zh) 一种组网的方法、设备及架构
CN105162897A (zh) 一种虚拟机ip地址分配的***、方法及网络虚拟机
CN104883302A (zh) 一种数据包转发的方法、装置及***
CN111371608B (zh) 一种部署sfc业务链的方法、装置和介质
Kumar Analysis of network function virtualization and software defined virtualization
JP2015525982A (ja) 通信方法、通信システム、情報処理装置、通信端末およびプログラム
CN110086676B (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