CN107864096A - 路径调整方法及装置 - Google Patents

路径调整方法及装置 Download PDF

Info

Publication number
CN107864096A
CN107864096A CN201711047638.0A CN201711047638A CN107864096A CN 107864096 A CN107864096 A CN 107864096A CN 201711047638 A CN201711047638 A CN 201711047638A CN 107864096 A CN107864096 A CN 107864096A
Authority
CN
China
Prior art keywords
link
events
topology
path
scheduler object
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
CN201711047638.0A
Other languages
English (en)
Other versions
CN107864096B (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201711047638.0A priority Critical patent/CN107864096B/zh
Publication of CN107864096A publication Critical patent/CN107864096A/zh
Application granted granted Critical
Publication of CN107864096B publication Critical patent/CN107864096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及一种路径调整方法及装置,包括在获取到路由设备的拓扑变化事件时,将拓扑变化事件添加至拓扑事件表中;在拓扑变化事件为Link UP事件时,确定拓扑事件表中是否存在与拓扑变化事件对应同一链路的Link DOWN事件;在拓扑事件表中存在与Link UP事件对应同一链路的Link DOWN事件的情况下,将Link DOWN事件更新为Link UP事件;在当前轮次内,根据当前拓扑事件表中的当前Link DOWN事件进行与当前Link DOWN事件相关联的调度对象的路径调整。根据本公开的路径调整方法及装置能够减少对SDN控制器资源的无效占用,提高SDN控制器的调度效率。

Description

路径调整方法及装置
技术领域
本公开涉及网络技术领域,尤其涉及一种路径调整方法及装置。
背景技术
近年来,SDN(Software Defined Network,软件定义网络)技术被广泛应用于各个领域和各种用户实际网络中。在SDN技术应用过程中,SDN控制器可以根据底层路由设备的拓扑结构为调度对象调整路径。其中,调度对象为路径起点到路径终点之间的指定业务,例如,一个调度对象为A(路径起点)到D(路径终点)之间的FTP业务。
在实际应用的过程中,底层拓扑结构会由于链路的拓扑变化事件而产生变化,故而SDN控制器需要根据拓扑变化事件对调度对象路径进行调整。举例来说,图1示出了一种网络拓扑结构的示意图,假设调度对象原始路径为A->D->G,当A->D链路出现故障导致下线时,需要对调度对象的路径进行调整,SDN控制器可以重新调整调度对象路径为A->B->C->G。
但是,当对应于多个调度对象的链路出现抖动时,SDN控制器需要对该链路涉及的多个调度对象重新选路,并将新的路径下发至对应的设备中,假设发生抖动的链路涉及的调度对象为1000个,单个调度对象路径调整及下发路径至设备所耗时间为50ms,则1000个调度对象路径选择及下发共需用时50s,但实际上上述链路故障在1s后恢复了正常,即SDN控制器在调整了20个调度对象路径后,链路已恢复正常,那么对于剩余980个调度对象的路径调整显然是多余的,不仅无效占用了SDN控制器的资源,甚至可能会造成其他路径的拥塞。
可见,现有的调度对象的路径调整方案不够灵活,降低了SDN控制器的调度效率。
发明内容
有鉴于此,本公开提出了一种路径调整方法及装置,以减少对SDN控制器资源的无效占用,能够提高SDN控制器的调度效率。
根据本公开的一方面,提供了一种路径调整方法,应用于SDN控制器,包括:
在获取到路由设备的拓扑变化事件时,将所述拓扑变化事件添加至拓扑事件表中;所述拓扑变化事件包括链路上线Link UP事件或者链路下线Link DOWN事件;
在所述拓扑变化事件为Link UP事件时,确定所述拓扑事件表中是否存在与所述拓扑变化事件对应同一链路的Link DOWN事件;
在所述拓扑事件表中存在与所述Link UP事件对应同一链路的Link DOWN事件的情况下,将所述Link DOWN事件更新为Link UP事件;
在当前轮次内,根据当前拓扑事件表中的当前Link DOWN事件进行与所述当前Link DOWN事件相关联的调度对象的路径调整,所述调度对象为路径起点到路径终点之间的指定业务。
根据本公开的另一方面,提供了一种路径调整装置,应用于SDN控制器,所述装置包括:
第一添加模块,用于在获取到路由设备的拓扑变化事件时,将所述拓扑变化事件添加至拓扑事件表中;所述拓扑变化事件包括链路上线Link UP事件或者链路下线LinkDOWN事件;
第一确定模块,用于在所述拓扑变化事件为Link UP事件时,确定所述拓扑事件表中是否存在与所述拓扑变化事件对应同一链路的Link DOWN事件;
更新模块,用于在所述拓扑事件表中存在与所述Link UP事件对应同一链路的Link DOWN事件的情况下,将所述Link DOWN事件更新为Link UP事件;
调整模块,用于在当前轮次内,根据当前拓扑事件表中的当前Link DOWN事件进行与所述当前Link DOWN事件相关联的调度对象的路径调整,所述调度对象为路径起点到路径终点之间的指定业务。
这样,通过在拓扑事件表中记录路由设备的拓扑变化事件,SDN控制器可以在当前轮次内对上述拓扑事件表中的拓扑变化事件进行处理,在当前轮次内执行Link DOWN事件对应的调度对象的路径调整。SDN控制器在获取到新的Link UP事件时,可以将拓扑事件表中与该Link UP事件对应同一链路的Link DOWN事件更新为Link UP事件。这样一来,对于在当前轮次内未完成调度对象路径调整的Link DOWN事件而言,若周期内该Link DOWN事件对应的链路恢复上线,则拓扑事件表中该Link DOWN事件更新为Link UP事件,SDN控制器在下轮次将不再对该Link DOWN事件对应的调度对象进行路径调整。根据本公开上述实施例的路径调整方法及装置,对于路由设备组成的物理网络的拓扑变化响应灵活,减少了路径无效调整次数,进而减少了对SDN控制器资源的无效占用,能够提高SDN控制器的调度效率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出一种网络拓扑结构的示意图;
图2示出根据本公开一实施例的一种路径调整方法的流程图;
图3示出根据本公开一实施例的一种路径调整方法的流程图;
图4示出根据本公开一实施例的一种路径调整方法的流程图;
图5示出根据本公开一实施例的一种路径调整方法的流程图;
图6示出根据本公开一实施例的一种路径调整装置的结构框图;
图7示出根据本公开一实施例的一种路径调整装置的结构框图;
图8是根据一示例性实施例示出的一种路径调整装置的硬件结构框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
实施例1
图2示出根据本公开一实施例的一种路径调整方法的流程图,该方法可以应用于SDN控制器。如图1所示,该路径调整方法可以包括以下步骤:
步骤101、在获取到路由设备的拓扑变化事件时,将所述拓扑变化事件添加至拓扑事件表中;所述拓扑变化事件包括链路上线Link UP事件或者链路下线Link DOWN事件;
其中,上述路由设备组成的物理网络中某一链路上线时可以产生Link UP事件,上述路由设备组成的物理网络中某一链路下线时可以产生Link DOWN事件。上述SDN控制器可以主动查询物理网络的拓扑变化事件,以获取物理网络的拓扑变化事件。举例来说,SDN控制器可以周期性向上述路由设备中负责监控当前物理网络状态的网管路由设备发送拓扑变化事件查询指令,以使得上述网管路由设备可以根据上述拓扑变化事件查询指令将当前物理网络中由于链路变化等原因产生的拓扑变化事件发送给SDN控制器;或者,上述SDN控制器可以周期性向上述路由设备发送拓扑变化事件查询指令,以使得上述路由设备可以根据上述拓扑变化事件查询指令将由于自身的状态变化等原因产生的拓扑变化事件发送给SDN控制器。上述网管路由设备还可以主动上报物理网络中的拓扑变化事件给SDN控制器,SDN控制器可以通过接收上述网管网络设备上报的拓扑变化事件,以获取物理网络的拓扑变化事件。本公开对于上述SDN控制器获取物理网络的拓扑变化事件的方式不做具体限定。
上述拓扑事件表可以为用于存储SDN控制器获取的拓扑变化事件的列表。SDN控制器可以根据该拓扑事件表中记录的拓扑变化事件对本地存储的调度对象的路径做相应调整,举例来说,可以对Link DOWN事件对应的调度对象的路径做相应调整,其中,上述LinkDOWN事件对应的调度对象可以为路径中包括上述Link DOWN事件对应的链路的路径所对应的调度对象。SDN控制器获取到物理网络的拓扑变化事件后,可以将上述拓扑变化事件依次添加至拓扑事件表中。
步骤102、在所述拓扑变化事件为Link UP事件时,确定所述拓扑事件表中是否存在与所述拓扑变化事件对应同一链路的Link DOWN事件;
在SDN控制器获取的拓扑变化事件为Link UP事件时,可以确定当前的拓扑事件表中是否存在与该Link UP事件对应同一链路的Link DOWN事件,举例来说,在时刻1物理网络中的A->D链路发生故障造成下线,产生了对应于A->D链路的Link DOWN事件,SDN控制器获取到该Link DOWN事件后,将该Link DOWN事件存储于上述拓扑事件表中;在时刻2物理网络中的A->D链路恢复后上线,产生了对应于A->D链路的Link UP事件,SDN控制器获取到该Link UP事件后,可以查询上述拓扑事件表中是否存在对应于A->D链路的Link DOWN事件。
若上述A->D链路的Link DOWN事件对应的调度对象的路径尚未调整或者未全部完成调整,上述A->D链路的Link DOWN事件仍然记录于拓扑事件表中,可以确定当前存在与上述Link UP事件对应于同一A->D链路的Link DOWN事件;若上述A->D链路的Link DOWN事件对应的全部调度对象的路径均已完成路径调整,上述A->D链路的Link DOWN事件已从拓扑事件表中删除,可以确定当前不存在与上述Link UP事件对应于同一A->D链路的Link DOWN事件。
步骤103、在所述拓扑事件表中存在与所述Link UP事件对应同一链路的LinkDOWN事件的情况下,将所述Link DOWN事件更新为Link UP事件;
在上述拓扑事件表中存在与上述Link UP事件对应同一链路的Link DOWN事件的情况下,可以表明上述链路的Link DOWN事件对应的调度对象的路径调整尚未完成(尚未开始对该Link DOWN事件对应链路所相关的调度对象进行路径调整,或者已完成部分调度对象的路径调整,还有部分调度对象的路径调整尚未完成),此时可以将上述链路的LinkDOWN事件更新为Link UP事件。
步骤104、在当前轮次内,根据当前拓扑事件表中的当前Link DOWN事件进行与所述当前Link DOWN事件相关联的调度对象的路径调整,所述调度对象为路径起点到路径终点之间的指定业务。
SDN控制器可以通过多个轮次处理拓扑事件表中的Link DOWN事件。举例来说,在当前轮次开始时,SDN控制器可以读取当前拓扑事件表中的所有拓扑变化事件,并可以对读取的所有当前Link DOWN事件进行对应的调度对象的路径调整,其中,每个当前Link DOWN事件对应的调度对象是指包含该当前Link DOWN事件对应的链路的路径所对应的调度对象。在当前轮次结束(例如:完成路径调整的调度对象总数达到总数阈值、或者路径调整时间达到阈值、或者读取的所有Link DOWN事件所对应的调度对象的路径调整全部完成)时,停止路径调整操作,进入下一轮次,并可以根据下一轮次的拓扑事件表中的所有Link DOWN事件,在新的轮次内对新轮次的所有Link DOWN事件对应的调度对象进行路径调整。
当然,在下一轮次的拓扑事件表中可能会存在上一轮次尚未完成对应调度对象路径调整的Link DOWN事件,若SDN控制器获取的拓扑变化事件中存在与其对应同一链路的Link UP事件,则将该Link DOWN事件更新为Link UP事件,后续不再对该Link DOWN事件对应的调度对象进行路径调整,若SDN控制器获取的拓扑变化事件中不存在与其对应同一链路的Link UP事件,则Link DOWN事件可以保留在这一轮次的拓扑事件表中,SDN控制器获取的拓扑变化事件可以直接添加进来。
举例来说,时刻1对应的拓扑事件表中包括:对应A->D链路的Link DOWN事件、对应E->F链路的Link DOWN事件、对应C->G链路的Link DOWN事件,参照下表1。
表1
Link(A->D):DOWN
Link(E->F):DOWN
Link(C->G):DOWN
此时SDN控制器获取到对应A->D链路的Link UP事件、对应D->G链路的Link DOWN事件,并根据获取的拓扑变化事件对拓扑事件表进行更新,将拓扑事件表中对应A->D链路的Link DOWN事件更新为Link UP事件,将上述D->G链路的Link DOWN事件添加至拓扑事件表中,参照下表2。
表2
Link(A->D):UP
Link(E->F):DOWN
Link(C->G):DOWN
Link(D->G):DOWN
在当前轮次结束,A->D链路的Link DOWN事件对应的部分调度对象未完成路径调整,但由于SDN控制器获取的拓扑变化事件中有对应A->D链路的Link UP事件,上述表中对应A->D链路的Link DOWN事件已更新为Link UP事件;E->F链路的Link DOWN事件的全部调度对象均完成路径调整,故该E->F链路的Link DOWN事件可以从表2所示的拓扑事件表中删除;SDN控制器尚未开始对C->G链路的Link DOWN事件的处理,故该C->G链路的Link DOWN事件保留在表2所示的拓扑事件表中,此时拓扑事件表可以参照表3。
表3
Link(A->D):UP
Link(C->G):DOWN
Link(D->G):DOWN
需要说明的是,上述对于调度对象的路径的路径调整并非本公开的发明点所在,故参照现有技术即可,本公开对此不再赘述。
综上,通过在拓扑事件表中记录路由设备的拓扑变化事件,SDN控制器可以在当前轮次内对当前拓扑事件表中的所有Link DOWN事件对应的调度对象的路径进行调整。SDN控制器在获取到新的Link UP事件时,可以将拓扑事件表中与该Link UP事件对应同一链路的Link DOWN事件更新为Link UP事件。这样一来,对于在当前轮次内未完成调度对象路径调整的Link DOWN事件而言,若该Link DOWN事件对应的链路恢复上线,则将拓扑事件表中该Link DOWN事件更新为Link UP事件,SDN控制器在下一轮次将不再对该Link DOWN事件对应的调度对象进行路径调整。根据本公开上述实施例的路径调整方法,对于路由设备组成的物理网络的拓扑变化响应灵活,减少了路径无效调整次数,进而减少了对SDN控制器资源的无效占用,能够提高SDN控制器的调度效率。
为使本领域技术人员更好的了解本公开的有益效果,可以通过以下示例对本公开的有益效果加以说明:
假设当前拓扑事件表中记录有对应于A->D链路的Link DOWN事件,涉及A->D链路的调度对象有1000个,单个调度对象路径调整及下发路径至设备所耗时间为50ms,SDN控制器可以依次对上述1000个调度对象进行路径调整。在SDN控制器对20个调度对象进行路径调整后,A->D链路恢复正常,产生对应于A->D链路的Link UP事件,SDN控制器获取到该LinkUP事件后,将A->D链路对应的Link DOWN事件更新为Link UP事件;假设SDN控制器在当前轮次耗时为2s,当前轮次结束时,SDN控制器已完成40个调度对象的路径调整,还有960个调度对象的路径尚未做调整;SDN控制器在下一轮次获取到拓扑事件表中上述A->D链路对应的Link UP事件,根据该Link UP事件不再对上述剩余的960个调度对象进行路径调整,大大减少了对上述SDN控制器资源的无效占用,提高了SDN控制器的调度效率,且缓解了路径拥塞的状况。
图3示出根据本公开一实施例的一种路径调整方法的流程图。
在一种可能的实现方式中,参照图3,上述步骤104、根据当前拓扑事件表中的当前Link DOWN事件进行与所述当前Link DOWN事件相关联的调度对象的路径调整,可以包括以下步骤:
步骤1041、从所述当前拓扑事件表中读取所有Link DOWN事件;
SDN控制器可以从当前拓扑事件表中读取所有拓扑变化事件,其中,所有拓扑变化事件中可以包括当前拓扑事件表中的所有Link DOWN事件。步骤1042、遍历本地存储的所有调度对象的路径,将包括所述所有Link DOWN事件对应的链路的路径所对应的调度对象添加至待调度对象列表中;
SDN控制器可以遍历本地存储的所有调度对象的路径,对于路径中包括读取的所有Link DOWN事件对应链路的路径所对应的调度对象,可以添加至待调度对象列表中。其中,上述待调度对象列表可以为用于存储需要进行路径调整的调度对象的列表,SDN控制器可以从上述待调度对象列表中读取调度对象,并对读取的调度对象进行路径调整。
步骤1043、对所述待调度对象列表中预设数量个调度对象的路径进行调整后,进入下一轮次,根据下一轮次的拓扑事件表中的Link DOWN事件进行对应的调度对象的路径调整。
举例来说,上述预设数量可以为SDN控制器在一个轮次内最多可以处理的调度对象个数,在一种可能的实现方式中,可以通过以下方式确定上述预设数量:
将预设的拓扑敏感时间与预设的单次调度耗时的比值,确定为所述预设数量。
上述预设的拓扑敏感时间可以为SDN控制器的处理周期,例如:本领域技术人员通过大量的调研发现物理网络中链路故障至恢复正常耗时的经验值为1s,则可以设置上述拓扑敏感时间为1s。
上述单次调度耗时可以为SDN控制器为单个调度对象进行路径调整及下发路径至设备的所耗时间,举例来说,SDN控制器为单个调度对象进行路径调整及下发路径至设备所耗时间为50ms,可以确定SDN控制器的单次调度耗时为50ms。
上述拓扑敏感时间与单次调度耗时的比值可以为预设数量,举例来说,上述拓扑敏感时间设置为1s,上述单次调度耗时设置为50ms,则可以确定上述预设数量为20,即SDN处理器在一个轮次内可以为20个调度对象进行路径调整。
SDN控制器可以对待调度对象列表中记录的调度对象进行路径调整,在调整的调度对象个数达到预设数量后,SDN控制器可以结束当前轮次,进入下一轮次,并可以根据下一轮次的拓扑事件表中的Link DOWN事件进行对应的调度对象的路径调整。
若SDN控制器处理的调度对象的个数尚未达到预设数量,但当前待调度列表中记录的调度对象已全部完成了路径调整(举例来说,SDN控制器每完成一个调度对象的路径调整,将该调度对象从上述待调度列表中删除,在调度对象全部完成路径调整时,待调度列表为空),SDN控制器可以结束当前轮次,进入下一轮次;或者,
SDN控制器可以确定当前轮次调度总耗时是否达到上述拓扑敏感时间,若上述总耗时尚未达到上述拓扑敏感时间,则SDN控制器可以不做任何处理,直至当前轮次耗时达到上述拓扑敏感时间,结束当前轮次,进入下一轮次;若上述总耗时已达到上述拓扑敏感时间,则SDN控制器可以结束当前轮次,进入下一轮次。
再举例来说,上述预设数量可以为待调度列表中记录的调度对象总数。
SDN控制器完成待调度列表中记录的全部调度对象的路径调整后,可以结束当前轮次,进入下一轮次。
若SDN控制器遍历本地存储的所有调度对象的路径,确定本地记录里没有包含Link DOWN事件对应链路相关的路径对应的调度对象时(没有调度对象需要进行路径调整),SDN控制器可以在等待一段时间(例如:拓扑敏感时间)后,进入下一轮次,并可以根据下一轮次对应的拓扑事件表中的Link DOWN事件进行路径调整。
这样,在SDN控制器完成读取的Link DOWN事件对应的调度对象的路径调整、或者一个轮次结束时,可以重新读取更新后的拓扑事件表中的拓扑变化事件,以灵活响应物理网络的拓扑变化,提高SDN控制器的调度效率。
图4示出根据本公开一实施例的一种路径调整方法的流程图。
在一种可能的实现方式中,参照图4,上述方法还可以包括:
步骤1044、在遍历本地存储的所有调度对象的路径时,将每个Link DOWN事件对应的链路的路径所对应的调度对象添加至对应Link DOWN事件的调度对象列表中;
每一个Link DOWN事件均可以对应一个调度对象列表,该对应该Link DOWN事件的调度对象列表可以为用于记录该Link DOWN事件所对应的需要进行路径调整的调度对象的列表。SDN控制器遍历本地存储的所有调度对象的路径,在一条调度对象的路径包括一个Link DOWN事件对应的链路时,可以将该调度对象添加至该Link DOWN事件对应的调度对象列表中。
步骤1045、在所述待调度对象列表中的调度对象处理完成后,将所述调度对象从所述调度对象列表中删除;
SDN控制器可以从待调度对象列表中读取调度对象,并对该调度对象进行路径调整,在该调度对象路径调整完成后,可以将该调度对象从待调度列表中删除,同时将该调度对象从对应的Link DOWN事件对应的调度列表中删除。在SDN控制器将该调度对象从对应的Link DOWN事件对应的调度列表中删除后,可以检测该调度列表是否为空,其中,在上述调度列表中的调度对象全部完成路径调整后,该调度列表为空。
步骤1046、在所述调度对象列表为空时,将所述调度对象列表对应的Link DOWN事件从当前拓扑事件表中删除。
在上述调度列表为空时,表明上述调度列表对应的Link DOWN事件所对应的调度对象已全部完成路径调整,故可以将该Link DOWN事件从拓扑事件表中删除,以使得SDN控制器可以根据对于调度对象的处理情况,实时更新拓扑事件表,进而使得SDN控制器进行下一轮次的调度对象的路径调整时,不再对该Link DOWN事件对应的调度对象进行路径调整。
在一种可能的实现方式中,所述方法还可以包括:
从所述当前拓扑事件表中读取当前Link UP事件,并将所述当前Link UP事件对应的链路添加至拓扑缓存中,将所述当前Link UP事件从所述当前拓扑事件表中删除;
上述拓扑缓存可以为存储于SDN控制器中,SDN控制器可以根据从当前拓扑事件表中读取的拓扑变化事件而更新拓扑缓存的网络拓扑图,SDN控制器可以根据该拓扑缓存中的拓扑结构对调度对象的路径进行调整。
举例来说,在SDN控制器从当前拓扑事件表中读取的当前拓扑变化事件为Link UP事件时,若当前拓扑缓存中不存在该Link UP事件对应的链路,则可以在上述拓扑缓存中添加该Link UP事件对应的链路;若当前拓扑缓存中存在该Link UP事件对应的链路,该链路对应的状态为下线状态,则可以将该链路的状态更新为上线状态,其中,链路为下线状态时,可以标识该链路不可用,链路为上线状态时,可以标识该链路可用。同时可以将该LinkUP事件从当前拓扑事件表中删除,以使得SDN控制器进行下一轮次的调度对象的路径调整时,不再对该Link UP事件进行重复操作。
将所述所有Link DOWN事件对应的链路从所述拓扑缓存中删除,或者将所述拓扑缓存中所述所有Link DOWN事件对应的所述链路的状态更新为下线状态。
在SDN控制器从当前拓扑事件表中读取的所有拓扑变化事件包括所有的LinkDOWN事件时,可以将上述拓扑缓存中对应所有Link DOWN事件的链路删除,或者将所有LinkDOWN事件对应的链路的状态更新为下线状态,以使得在SDN控制器为所有Link DOWN事件对应的调度对象进行路径的调度时,避开所有Link DOWN事件对应的链路。
在一种可能的实现方式中,SDN控制器可以根据从拓扑事件表中读取的拓扑变化事件对上述拓扑缓存进行更新,并可以根据更新后的拓扑缓存对调度对象进行路径调整。
图5示出根据本公开一实施例的一种路径调整方法的流程图,该方法可以包括:
步骤501、SDN控制器获取路由设备的拓扑变化事件,并将所述拓扑变化事件添加至拓扑事件表中。
举例来说,路由设备可以通过多种现有上报方式实时向SDN控制器上报拓扑变化事件。SDN控制器可以根据接收到的拓扑变化事件变更基础拓扑结构图,其中上述基础拓扑结构图可以用于负责对外呈现当前的物理网络的拓扑结构,以使得用户可以第一时间发现底层物理网络的变化。
步骤502、在所述拓扑变化事件为Link UP事件时,将拓扑事件表中记录的与上述Link UP事件对应同一链路的Link DOWN事件更新为Link UP事件。
举例来说,在时刻1接收到对应于A->D链路的Link DOWN事件,在该Link DOWN事件未消除前(SDN控制器尚未处理该Link DOWN事件或者SDN控制器处理了该Link DOWN事件对应的部分调度对象,但涉及该Link DOWN事件的调度对象并未全部处理完成),又收到了对应于A->D链路的Link UP事件,SDN控制器可以将上述拓扑事件表中对应于A->D链路的LinkDOWN事件更新为Link UP事件。
步骤503、SDN控制器从当前拓扑事件表中读取所有拓扑变化事件,在拓扑变化事件为Link UP事件时,在拓扑缓存中添加Link UP事件对应的链路,并删除上述拓扑事件表中的Link UP事件;在拓扑变化事件为Link DOWN事件时,可以在拓扑缓存中删除Link DOWN事件对应的链路。
步骤504、SDN控制器遍历本地存储的所有调度对象的路径,将涉及到读取的所有Link DOWN事件的调度对象添加至待调度对象列表中,同时记录上述调度对象至对应的Link DOWN事件的调度对象列表中;
步骤505、SDN控制器逐个进行上述待调度对象列表中的调度对象的路径调整,在完成任一调度对象的路径调整时,将该调度对象从上述待调度对象列表中删除,同时将该调度对象从对应的Link DOWN事件的调度对象列表中删除,在对应的Link DOWN事件的调度对象列表为空时,将对应的Link DOWN事件从上述拓扑事件表中删除。
步骤506、在SDN控制器已完成路径调整的调度对象达到预设数量时,停止对上述待调度列表中的调度对象的路径调整,执行步骤503。
图6示出根据本公开一实施例的一种路径调整装置的结构框图,该路径调整装置可以应用于SDN控制器,如图6所示,该装置可以包括:第一添加模块601、第一确定模块602、更新模块603及调整模块604;其中,
第一添加模块601,可以用于在获取到路由设备的拓扑变化事件时,将所述拓扑变化事件添加至拓扑事件表中;所述拓扑变化事件包括链路上线Link UP事件或者链路下线Link DOWN事件;
第一确定模块602,可以用于在所述拓扑变化事件为Link UP事件时,确定所述拓扑事件表中是否存在与所述拓扑变化事件对应同一链路的Link DOWN事件;
更新模块603,可以用于在所述拓扑事件表中存在与所述Link UP事件对应同一链路的Link DOWN事件的情况下,将所述Link DOWN事件更新为Link UP事件;
调整模块604,可以用于在当前轮次内,根据当前拓扑事件表中的当前Link DOWN事件进行与所述当前Link DOWN事件相关联的调度对象的路径调整,所述调度对象为路径起点到路径终点之间的指定业务。
图7示出根据本公开一实施例的一种路径调整装置的结构框图。
在一种可能的实现方式中,参照图7,上述调整模块604,可以包括:
读取子模块6041,可以用于从所述当前拓扑事件表中读取所有Link DOWN事件;
添加子模块6042,可以用于遍历本地存储的所有调度对象的路径,将包括所述所有Link DOWN事件对应的链路的路径所对应的调度对象添加至待调度对象列表中;
调整子模块6043,可以用于对所述待调度对象列表中预设数量个调度对象的路径进行调整后,进入下一轮次,根据下一轮次的拓扑事件表中的Link DOWN事件进行对应调度对象的路径调整。
在一种可能的实现方式中,参照图7,上述装置还可以包括:
第二添加模块605,可以用于在遍历本地存储的所有调度对象的路径时,将每个Link DOWN事件对应的链路的路径所对应的调度对象添加至对应Link DOWN事件的调度对象列表中;
第一删除模块606,可以用于在所述待调度对象列表中的调度对象的路径调整完成后,将所述调度对象从所述调度对象列表中删除;
第二删除模块607,可以用于在所述调度对象列表为空时,将所述调度对象列表对应的Link DOWN事件从当前拓扑事件表中删除。
在一种可能的实现方式中,参照图7,上述装置还可以包括:
第三添加模块608,可以用于从所述当前拓扑事件表中读取当前Link UP事件,并将所述当前Link UP事件对应的链路添加至拓扑缓存中,将所述当前Link UP事件从所述当前拓扑事件表中删除;
处理模块609,可以用于将所述所有Link DOWN事件对应的链路从所述拓扑缓存中删除,或者将所述拓扑缓存中所述所有Link DOWN事件对应的链路的状态更新为下线状态。
在一种可能的实现方式中,上述装置还可以包括:
第二确定模块,用于将预设的拓扑敏感时间与预设的单次调度耗时的比值,确定为所述预设数量。
图8是根据一示例性实施例示出的一种路径调整装置的硬件结构框图。在实际应用中,该装置可通过服务器实现。参照图8,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与路径调整逻辑对应的机器可执行指令以执行上文所述的路径调整方法。
本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:随机存取存储器(英文:Radom Access Memory,简称:RAM)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种路径调整方法,其特征在于,应用于软件定义网络SDN控制器,所述方法包括:
在获取到路由设备的拓扑变化事件时,将所述拓扑变化事件添加至拓扑事件表中;所述拓扑变化事件包括链路上线Link UP事件或者链路下线Link DOWN事件;
在所述拓扑变化事件为Link UP事件时,确定所述拓扑事件表中是否存在与所述拓扑变化事件对应同一链路的Link DOWN事件;
在所述拓扑事件表中存在与所述Link UP事件对应同一链路的Link DOWN事件的情况下,将所述Link DOWN事件更新为Link UP事件;
在当前轮次内,根据当前拓扑事件表中的当前Link DOWN事件进行与所述当前LinkDOWN事件相关联的调度对象的路径调整,所述调度对象为路径起点到路径终点之间的指定业务。
2.根据权利要求1所述的方法,其特征在于,根据当前拓扑事件表中的当前Link DOWN事件进行与所述当前Link DOWN事件相关联的调度对象的路径调整,包括:
从所述当前拓扑事件表中读取所有Link DOWN事件;
遍历本地存储的所有调度对象的路径,将包括所述所有Link DOWN事件对应的链路的路径所对应的调度对象添加至待调度对象列表中;
对所述待调度对象列表中预设数量个调度对象的路径进行调整后,进入下一轮次,根据下一轮次的拓扑事件表中的Link DOWN事件进行对应的调度对象的路径调整。
3.根据权利要2所述的方法,其特征在于,所述方法还包括:
在遍历本地存储的所有调度对象的路径时,将每个Link DOWN事件对应的链路的路径所对应的调度对象添加至对应Link DOWN事件的调度对象列表中;
在所述待调度对象列表中的调度对象的路径调整完成后,将所述调度对象从所述调度对象列表中删除;
在所述调度对象列表为空时,将所述调度对象列表对应的Link DOWN事件从当前拓扑事件表中删除。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
从所述当前拓扑事件表中读取当前Link UP事件,并将所述当前Link UP事件对应的链路添加至拓扑缓存中,将所述当前Link UP事件从所述当前拓扑事件表中删除;
将所述所有Link DOWN事件对应的链路从所述拓扑缓存中删除,或者将所述拓扑缓存中所述所有Link DOWN事件对应的链路的状态更新为下线状态。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将预设的拓扑敏感时间与预设的单次调度耗时的比值,确定为所述预设数量。
6.一种路径调整装置,其特征在于,应用于软件定义网络SDN控制器,所述装置包括:
第一添加模块,用于在获取到路由设备的拓扑变化事件时,将所述拓扑变化事件添加至拓扑事件表中;所述拓扑变化事件包括链路上线Link UP事件或者链路下线Link DOWN事件;
第一确定模块,用于在所述拓扑变化事件为Link UP事件时,确定所述拓扑事件表中是否存在与所述拓扑变化事件对应同一链路的Link DOWN事件;
更新模块,用于在所述拓扑事件表中存在与所述Link UP事件对应同一链路的LinkDOWN事件的情况下,将所述Link DOWN事件更新为Link UP事件;
调整模块,用于在当前轮次内,根据当前拓扑事件表中的当前Link DOWN事件进行与所述当前Link DOWN事件相关联的调度对象的路径调整,所述调度对象为路径起点到路径终点之间的指定业务。
7.根据权利要求6所述的装置,其特征在于,所述调整模块,包括:
读取子模块,用于从所述当前拓扑事件表中读取所有Link DOWN事件;
添加子模块,用于遍历本地存储的所有调度对象的路径,将包括所述所有Link DOWN事件对应的链路的路径所对应的调度对象添加至待调度对象列表中;
调整子模块,用于对所述待调度对象列表中预设数量个调度对象的路径进行调整后,进入下一轮次,根据下一轮次的拓扑事件表中的Link DOWN事件进行对应的调度对象的路径调整。
8.根据权利要求7所述的装置,其特征在于,所述装置包括:
第二添加模块,用于在遍历本地存储的所有调度对象的路径时,将每个Link DOWN事件对应的链路的路径所对应的调度对象添加至对应Link DOWN事件的调度对象列表中;
第一删除模块,用于在所述待调度对象列表中的调度对象的路径调整完成后,将所述调度对象从所述调度对象列表中删除;
第二删除模块,用于在所述调度对象列表为空时,将所述调度对象列表对应的LinkDOWN事件从当前拓扑事件表中删除。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
第三添加模块,用于从所述当前拓扑事件表中读取当前Link UP事件,并将所述当前Link UP事件对应的链路添加至拓扑缓存中,将所述当前Link UP事件从所述当前拓扑事件表中删除;
处理模块,用于将所述所有Link DOWN事件对应的链路从所述拓扑缓存中删除,或者将所述拓扑缓存中所述所有Link DOWN事件对应的链路的状态更新为下线状态。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于将预设的拓扑敏感时间与预设的单次调度耗时的比值,确定为所述预设数量。
CN201711047638.0A 2017-10-31 2017-10-31 路径调整方法及装置 Active CN107864096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711047638.0A CN107864096B (zh) 2017-10-31 2017-10-31 路径调整方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711047638.0A CN107864096B (zh) 2017-10-31 2017-10-31 路径调整方法及装置

Publications (2)

Publication Number Publication Date
CN107864096A true CN107864096A (zh) 2018-03-30
CN107864096B CN107864096B (zh) 2020-02-14

Family

ID=61698041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711047638.0A Active CN107864096B (zh) 2017-10-31 2017-10-31 路径调整方法及装置

Country Status (1)

Country Link
CN (1) CN107864096B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638375A (zh) * 2012-04-26 2012-08-15 北京星网锐捷网络技术有限公司 一种网络故障识别方法及装置
CN104539461A (zh) * 2015-01-09 2015-04-22 烽火通信科技股份有限公司 一种抑制协议端口振荡上报的装置及方法
CN105337873A (zh) * 2014-05-30 2016-02-17 杭州迪普科技有限公司 Mstp组网业务分配方法以及装置
WO2016123040A1 (en) * 2015-01-30 2016-08-04 Hewlett-Packard Development Company, L.P. Adjusted spanning tree protocol path cost values in a software defined network
CN106130767A (zh) * 2016-09-23 2016-11-16 深圳灵动智网科技有限公司 一种业务路径故障监控及故障解决的系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638375A (zh) * 2012-04-26 2012-08-15 北京星网锐捷网络技术有限公司 一种网络故障识别方法及装置
CN105337873A (zh) * 2014-05-30 2016-02-17 杭州迪普科技有限公司 Mstp组网业务分配方法以及装置
CN104539461A (zh) * 2015-01-09 2015-04-22 烽火通信科技股份有限公司 一种抑制协议端口振荡上报的装置及方法
WO2016123040A1 (en) * 2015-01-30 2016-08-04 Hewlett-Packard Development Company, L.P. Adjusted spanning tree protocol path cost values in a software defined network
CN106130767A (zh) * 2016-09-23 2016-11-16 深圳灵动智网科技有限公司 一种业务路径故障监控及故障解决的系统和方法

Also Published As

Publication number Publication date
CN107864096B (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
CN110401662B (zh) 一种工控设备指纹识别方法、存储介质
CN104809129B (zh) 一种分布式数据存储方法、装置和系统
JP2006164233A (ja) 分散データ駆動型アーキテクチャ環境におけるディレクトリ構造
JP6939246B2 (ja) 処理分散プログラム、処理分散方法、および情報処理装置
CN115297124B (zh) 一种系统运维管理方法、装置及电子设备
CN113301126B (zh) 一种适用于异构组网网关的边缘计算方法
CN114385378A (zh) 物联网设备的活跃数据处理方法、装置及存储介质
CN116975938B (zh) 一种产品制造过程中的传感器数据处理方法
CN107864096A (zh) 路径调整方法及装置
KR102584292B1 (ko) 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인의 생성
CN109144989B (zh) 一种数据清洗的方法及用于数据清洗的装置
CN111428886B (zh) 一种故障诊断的深度学习模型自适应更新的方法及装置
CN115460124A (zh) 跨机房传输链路优化的方法、装置、设备和存储介质
CN110007940A (zh) 灰度发布的验证方法、系统、服务器及可读存储介质
CN114461626A (zh) 一种电网终端设备的监控方法和系统
CN109429100A (zh) 一种页面路径的存储方法、装置及系统
CN111652377A (zh) 一种基于区块链的机器人学习方法、设备及介质
CN112953844B (zh) 一种网络流量优化方法及装置
CN110968640A (zh) 油井数据处理方法及装置、油井控制系统
US20220324098A1 (en) Dynamic machine learning systems and methods for identifying pick objects based on incomplete data sets
US20230396564A1 (en) Information processing apparatus and information processing method
JPH1185720A (ja) 最適解探索方法及び最適解探索装置
JPH05298339A (ja) 生産計画立案方法
CN114064734A (zh) 数据查询请求分发方法、装置、服务器、电子设备和介质
CN112737839A (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