CN114979009A - 网络请求的处理方法、装置、计算机可读介质及电子设备 - Google Patents

网络请求的处理方法、装置、计算机可读介质及电子设备 Download PDF

Info

Publication number
CN114979009A
CN114979009A CN202210550675.8A CN202210550675A CN114979009A CN 114979009 A CN114979009 A CN 114979009A CN 202210550675 A CN202210550675 A CN 202210550675A CN 114979009 A CN114979009 A CN 114979009A
Authority
CN
China
Prior art keywords
controller
network request
dynamic
network
dynamic attribute
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
CN202210550675.8A
Other languages
English (en)
Other versions
CN114979009B (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210550675.8A priority Critical patent/CN114979009B/zh
Publication of CN114979009A publication Critical patent/CN114979009A/zh
Application granted granted Critical
Publication of CN114979009B publication Critical patent/CN114979009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

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

Abstract

本申请公开了一种网络请求的处理方法、装置、计算机可读介质以及电子设备,所述方法包括:获取目标设备基于第一映射关系向第一控制器发起的网络请求;确定第一控制器处理网络请求对应的第一动态属性参数;当第一动态属性参数超出预设参数范围时,将网络请求发送至第二控制器;其中,第二控制器处理网络请求对应的第二动态属性参数低于第一动态属性参数;通过第二控制器与目标设备建立第二映射关系,并基于第二映射关系处理目标设备发送的网络请求。本申请技术方案根据控制器的动态负载情况实现了控制器的调度,避免了因控制器自身的资源使用问题而导致的网络请求处理慢的问题,提高了控制器的调度效率和网络请求的处理效率。

Description

网络请求的处理方法、装置、计算机可读介质及电子设备
技术领域
本申请属于计算机技术领域,具体涉及一种网络请求的处理方法、网络请求的处理装置、计算机可读介质以及电子设备。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络架构,在SDN网络中,设备的控制面与数据面是分离的,底层网络设备通过集中的控制器来管理,因此,SDN网络中控制器的调度显得尤为重要。目前,SDN网络中在调度控制器时,通常忽略控制本身的动态变化因素,或将控制器的动态变化因素设置为常数,但实际上控制器的动态变化因素也会影响到网络数据的处理效率,忽略控制器的动态变化可能导致控制器调度的计算结果偏离预期目标,控制器调度效率不高。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种网络请求的处理方法、装置、计算机可读介质以及电子设备,以优化相关技术中控制器调度效率不高的问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种网络请求的处理方法,包括:
获取目标设备基于第一映射关系向第一控制器发起的网络请求;所述第一映射关系为所述目标设备与所述第一控制器之间建立的映射关系;
确定所述第一控制器处理所述网络请求对应的第一动态属性参数,所述第一动态属性参数包括所述第一控制器因负载变化而随之变化的动态参数;
当所述第一动态属性参数超出预设参数范围时,将所述网络请求发送至第二控制器;其中,所述第二控制器处理所述网络请求对应的第二动态属性参数低于所述第一动态属性参数;
通过所述第二控制器与所述目标设备建立第二映射关系,并基于所述第二映射关系处理所述目标设备发送的所述网络请求。
根据本申请实施例的一个方面,提供一种网络请求的处理装置,包括:
网络请求获取模块,用于获取目标设备基于第一映射关系向第一控制器发起的网络请求;所述第一映射关系为所述目标设备与所述第一控制器之间建立的映射关系;
参数确定模块,用于确定所述第一控制器处理所述网络请求对应的第一动态属性参数,所述第一动态属性参数包括所述第一控制器因负载变化而随之变化的动态参数;
网络请求发送模块,用于当所述第一动态属性参数超出预设参数范围时,将所述网络请求发送至第二控制器;其中,所述第二控制器处理所述网络请求对应的第二动态属性参数低于所述第一动态属性参数;
网络请求处理模块,用于通过所述第二控制器与所述目标设备建立第二映射关系,并基于所述第二映射关系处理所述目标设备发送的所述网络请求。
在本申请的一个实施例中,所述装置还包括:
请求参数发送模块,用于将所述网络请求对应的请求参数发送至与所述第一控制器处于同一网络域中的多个控制器;
第二控制器确定模块,用于根据各个控制器基于所述请求参数而生成的处理所述网络请求对应的动态属性参数,从所述多个控制器中选择一个作为所述第二控制器。
在本申请的一个实施例中,所述请求参数发送模块包括:
候选控制器确定单元,用于获取与所述第一控制器处于同一网络域中的多个控制器的动态属性参数,并根据中各个控制器的动态属性参数,从所述多个控制器中选择部分作为候选控制器;
请求参数发送单元,用于将所述网络请求对应的请求参数发送至多个所述候选控制器;
相应的,所述第二控制器确定模块具体用于:
根据各个候选控制器基于所述请求参数而生成的处理所述网络请求对应的候选动态属性参数,从所述多个候选控制器中选择一个作为所述第二控制器。
在本申请的一个实施例中,所述第二控制器确定模块进一步用于:
获取各个候选控制器基于所述请求参数而生成的处理所述网络请求对应的候选动态属性参数;从候选动态属性参数未超出候选控制器对应的参数阈值,且候选动态属性参数低于所述第一动态属性参数的多个候选控制器中,选择动态属性参数最小的候选控制器作为所述第二控制器。
在本申请的一个实施例中,参数确定模块具体用于:
获取所述第一控制器的网络拓扑收集信息;对所述网络拓扑收集信息进行解析,根据解析结果中的指定代码点获取所述第一动态属性参数,所述指定代码点为所述第一动态属性参数对应的编码。
在本申请的一个实施例中,所述动态属性参数包括动态处理时延、动态网络负载和动态并发处理数中的一种或多种;所述动态处理时延表示控制器接收所述网络请求到处理所述网络请求所消耗的时间;所述动态网络负载表示控制器可连接的设备数量和正在处理的网络请求的数量;所述动态并发处理数表示控制器在单位时间内处理的网络请求的数量。
在本申请的一个实施例中,所述装置还包括:
映射关系断开模块,用于断开所述目标设备与所述第一控制器之间建立的所述第一映射关系。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的网络请求的处理方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器执行所述可执行指令使得所述电子设备执行如以上技术方案中的网络请求的处理方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的网络请求的处理方法。
在本申请实施例提供的技术方案中,通过获取目标设备基于第一映射关系向第一控制器发起的网络请求,并计算第一控制器处理网络请求对应的第一动态属性参数,由于动态属性参数反应了控制器的负载情况,在第一动态属性参数超出预设参数范围时,表明第一控制器负载较多时,此时将网络请求发送至负载较少的第二控制器,由第二控制器实现网络请求的处理,相当于根据控制器的动态负载情况实现了控制器的调度,避免了因控制器自身的资源使用问题而导致的网络请求处理慢的问题,提高了控制器的调度效率和网络请求的处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
图2示意性地示出了本申请一个实施例提供的网络请求的处理方法的流程图。
图3示意性地示出了本申请一个实施例提供的TLV信息的示意图。
图4示意性地示出了本申请一个具体实施例提供的络请求的处理方法的流程图及系统架构。
图5示意性地示出了本申请实施例提供的网络请求的处理装置的结构框图。
图6示意性示出了适于用来实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
如图1所示,系统架构100可以包括网络设备110和控制器120,网络设备110和控制器120可以构成SDN网络。网络设备110是接到网络中的物理实体,可以包括SDN网络中进行数据访问的底层设备,如计算机、路由器、交换机、防火墙、网关、打印机等。
控制器120是SDN网络中的软件系统或者系统的集合,用于对网络设备110的网络访问进行管控,控制器120将告诉网络设备110如何转发流量,但是并不真正转发这些流量,如NOX/POX控制器、Trema控制器、Ryu控制器等。控制器120可以是独立的控制器,也可以是多个控制器构成的控制器集群,示例性的,如图1所示,控制器120为控制器集群,包括控制器A-控制器D。
多个网络设备110可以构成一个自治系统(Autonomous System,AS),自治系统是一个有权自主地决定在本系统中应采用哪种路由协议的小型单位,自治系统具有一个唯一的编号,称为自治系统号(Autonomous SystemNumber,ASN)。如图1所示,网络设备R1-R5构成自制系统AS1,网络设备R6-R9构成自制系统AS2。一个自制系统可以通过一个或多个控制器120来控制。
本申请实施例提供的技术方案可以由控制器120实现。举例而言,目标设备为网络设备110的一种,当目标设备需要进行网络访问时,向该目标设备对应的控制器发起网络请求,该目标设备对应的控制器通常是默认的,记为第一控制器。一般的,目标设备与第一控制器之间的数据传输基于二者之间建立的映射关系实现,该映射关系记为第一映射关系,则目标设备基于第一映射关系将网络请求发送至第一控制器。第一控制器接收到网络请求时,计算处理该网络请求所对应的动态属性参数,将第一控制器的动态属性参数记为第一动态属性参数,第一动态属性参数反应了第一控制器的负载情况。当第一动态属性参数超出预设参数范围时,第一控制器将网络请求发送至第二控制器;其中,第二控制器处理网络请求对应的第二动态属性参数低于第一动态属性参数。最后,通过第二控制器与目标设备建立第二映射关系,并基于第二映射关系处理目标设备发送的网络请求。
示例性的,以图1为例,第一控制器为控制器A,第二控制器为控制器B,目标设备为网络设备R2,本申请技术方案的实施过程为:网络设备R2与控制器A之间建立第一映射关系,网络设备R2基于第一映射关系向控制器A发起网络请求。控制器A接收到网络请求A,计算自身处理该网络请求时对应的第一动态属性参数,该第一动态属性参数反应了控制器A的负载情况(如控制器A的负载较多或较少)。当控制器A判断第一动态属性参数超出预设参数范围时,表明通过控制器A来处理网络请求的效率较低,故而找到一处理网络请求效率较高的控制器B,该控制器B的第二动态属性参数低于控制器A的第一动态属性参数,然后将网络请求发送至控制器B。最后,控制器B与网络设备R2之间建立第二映射关系,控制器B基于该第二映射关系向网络设备R2反馈网络请求的处理信息,实现网络请求的高效处理。
下面结合具体实施方式对本申请提供的网络请求的处理方法做出详细说明。
图2示意性地示出了本申请一个实施例提供的网络请求的处理方法的流程图,该方法可以由图1所示的网络架构实施。如图2所示,本申请实施例提供的网络请求的处理方法包括步骤210至步骤240,具体如下:
步骤210、获取目标设备基于第一映射关系向第一控制器发起的网络请求;第一映射关系为目标设备与第一控制器之间建立的映射关系。
具体的,目标设备可以是任意进行网络访问的设备,如计算机、路由器、交换机、防火墙等。目标设备在进行网络访问时,向对应的控制器发起网络请求,该网络请求用于获取本次网络访问所需要的数据。一般的,目标设备通常对应一个或多个预先配置好的控制器,将该控制器记为第一控制器。在发起网络请求时,目标设备首先与第一控制器之间建立第一映射关系,该第一映射关系相当于目标设备与第一控制器之间进行数据传输的通道,然后目标设备基于第一映射关系将网络请求发送至第一控制器。
步骤220、确定第一控制器处理网络请求对应的第一动态属性参数,第一动态属性参数包括第一控制器因负载变化而随之变化的动态参数。
具体的,控制器的动态属性参数是一种动态参数,也就是一种可变化的参数。这种动态参数体现了控制器的负载情况,随着控制器负载的变化而变化。例如,动态属性参数可以包括动态处理时延、动态网络负载、动态并发处理数等,在使用过程中,动态属性参数可以是这些参数中的一种或多种。
动态处理时延(Dynamic Processing Delay)表示控制器接收网络请求到处理网络请求所消耗的时间,也就是控制器从接收一个网络请求,到处理完毕该网络请求所消耗的时间。
动态网络负载(Dynamic Network Load)表示控制器可连接的设备数量和正在处理的网络请求的数量,控制器可连接的设备数量实际上就是控制器的管理规模,也即控制器所管控的设备的数量,动态网络负载可以直观体现控制器的负载量。
动态并发处理数(Dynamic Concurrent Processing)表示控制器在单位时间内处理的网络请求的数量。
为便于描述,将第一控制器的动态属性参数记为第一动态属性参数。当第一控制器接收到网络请求时,根据该网络请求的相关参数,计算处理该网络请求所对应的第一动态属性参数,例如,计算处理该网络请求所对应的动态处理时延、动态网络负载、动态并发处理数等。
在本申请的一个实施例中,控制器的动态属性参数由控制器的网络拓扑收集信息携带,进而第一动态属性参数的获取过程包括:获取第一控制器的网络拓扑收集信息;对网络拓扑收集信息进行解析,根据解析结果中的指定代码点获取第一动态属性参数,指定代码点为第一动态属性参数对应的编码。
具体而言,网络拓扑收集信息是指收集网络拓扑的信息,一般为BGP-LS(BorderGateway Protocol Link-state-Link State,边界网关协议-链路状态)信息,这种信息通常是路由级的采集和交换。在本申请实施例中,网络拓扑收集信息使用BGP-LS扩展TLV(Type Lenght Value,类型长度值)属性信息。TLV是一种通过<类型,长度,值>三元组信息进行编码的方式,具备很好的可扩展性,因此,可以通过BGP-LS扩展TLV属性信息携带控制器的动态属性参数。
在本申请实施例中,TLV是可选的(即可以从动态处理时延、动态网络负载、动态并发处理数等参数中选择一个或多个),对应值的长度是可变的,通常可为4Bytes(4字节)。示例性的,BGP-LS扩展TLV属性信息如图3所示,在类型(Type)和长度(Length)定义的字段中,具有对应的控制器动态属性参数的值(Controller Dynamic Attributes Value),该动态属性参数的值是可变化的(variable)。
在本申请的一个实施例中,控制器动态属性参数在BGP-LS扩展TLV属性信息中的定义如下表1所示:
表1控制器动态属性参数定义
TLV代码点 描述 长度
xxx 动态处理时延 变量
xxx 动态网络负载 变量
xxx 动态并发处理数 变量
xxx 其他 变量
TLV代码点(TLV Code Point)是指动态属性参数在BGP-LS扩展TLV属性信息中的编码数字(表1中的“xxx”即表示一个具体的TLV代码点),也就是说,BGP-LS扩展TLV属性信息实际携带的是代码点,将代码点的含义定义为对应的动态属性参数,就实现了通过BGP-LS扩展TLV属性信息携带相应的动态属性参数。动态属性参数对应的长度(Length)是可变的(Variable),也就是变量。
在本申请实施例中,TLV代码点可在未定义范围(如1253-65535)内按需选择,也就是选择一个不具备特定含义的代码点来表示相应的动态属性参数。示例性的,以TLV CodePoint为1253来表示动态处理时延,值长度占4字节,对应的BGP-LS扩展TLV属性信息如下表2所示:
表2动态处理时延对应的TLV信息
Figure BDA0003650548590000091
BGP-LS扩展TLV属性信息是一种编码信息,因此,在获得BGP-LS扩展TLV属性信息后,需对其解析,解析结果中指定代码点所对应的参数,就是控制器的动态属性参数。例如,对于表2所示的BGP-LS扩展TLV属性信息,解析后得到代码点1253对应的参数,该参数为动态处理时延。
在多控制器的动态部署和调度上,通过BGP-LS扩展TLV字段属性信息来携带控制器的动态属性参数,在效率上比采用通用Restful接口调度速度更快。同时,这种方法还可以在控制器数量有限和保障单机处理性能的前提下进行高效调度和充分利用,也在一定程度上节约了控制器数量成本。
步骤230、当第一动态属性参数超出预设参数范围时,将网络请求发送至第二控制器;其中,第二控制器处理网络请求对应的第二动态属性参数低于第一动态属性参数。
具体的,第一动态属性参数实际上体现了第一控制器当前的负载情况,当第一动态属性参数超出预设参数范围时,表明第一控制器当前的负载承受量较多,将不能够及时处理目标设备的网络请求。此时,选择一个动态属性参数低于第一动态属性参数的控制器,即为第二控制器,将网络请求发送至第二控制器,由第二控制器处理该网络请求。由于第二控制器的第二动态属性参数低于第一动态属性参数,表明第二控制器的负载承受量低于第一控制器的负载承受量,那么,由第二控制器来处理目标设备的网络请求,可以提高网络请求的处理效率。
在本申请的一个实施例中,第二控制器的确定方式包括:将网络请求对应的请求参数发送至与第一控制器处于同一网络域中的多个控制器;根据各个控制器基于请求参数而生成的处理网络请求对应的动态属性参数,从多个控制器中选择一个作为第二控制器。
具体的,网络域是由多个控制器所组成的集合,网络域定义了安全边界,即同一网络域中的控制器之间建立了信任关系,可以在无验证、无授权等情况下相互访问,不同网络域之间控制器的访问,则需要经过严格的验证、授权等操作。将网络请求对应的请求参数发送至与第一控制器处于同一网络域中的多个控制器,然后从这多个控制器中确定出第二控制器,相当于从与第一控制器建立信任关系的多个控制器中选择第二控制器,使得后续可以快速通过第二控制器处理网络请求,提高网络请求的处理效率,同时也保证网络请求的处理安全性。
网络请求的请求参数是用以表征该网络请求的相关参数。各个控制器在接收到网络请求的请求参数后,基于请求参数计算自身处理该网络请求所对应的动态属性参数。然后基于各个控制器的动态属性参数,从中选择一个作为第二控制器。例如,选择动态属性参数最小的控制器作为第二控制器。需要说明的是,第一控制器在发送网络请求的请求参数时,还将自身的第一动态属性参数同步发送至其他控制器,以便其他控制器进行动态属性参数的比较。
在本申请的一个实施例中,将请求参数发送至各个控制器的过程包括:获取与第一控制器处于同一网络域中的多个控制器的动态属性参数,并根据中各个控制器的动态属性参数,从多个控制器中选择部分作为候选控制器;将网络请求对应的请求参数发送至多个候选控制器。
一般的,处于同一个网络域的各个控制器之间的数据会进行拓扑同步,即当某一个控制器的参数发生变化时,该控制器会将变化的参数告知其他控制器,使其他控制器对该控制器的变化参数进行记录。那么,第一控制器应记录了处于同一网络域中的其他各个控制器的动态属性参数。根据各个控制器的动态属性参数,从中选择部分控制器作为候选控制器,继而将网络请求的请求参数发送至候选控制器。例如,可以将动态属性参数不低于第一动态属性参数的控制器剔除,将动态属性参数低于第一动态属性参数的控制器作为候选控制器。又例如,将动态属性参数低于预设阈值的控制器作为候选控制器。
获得候选控制器的步骤相当于对网络域中的各个控制器进行了初步筛选,将明显不符合条件的控制器剔除,留下候选控制器,进而后续可以从后续控制器中确定第二控制器,减少确定第二控制器的计算量。
在本申请的一个实施例中,获得候选控制器之后,第二控制器的确定方式为:根据各个候选控制器基于请求参数而生成的处理网络请求对应的候选动态属性参数,从多个候选控制器中选择一个作为第二控制器。
在这种情况下,无需网络域中的所有控制器都计算动态属性参数,仅需各个候选控制器计算自身的候选动态属性参数。然后基于各个候选控制器的候选动态属性参数,从候选控制器中选择一个作为第二控制器。例如,将候选动态属性参数最小的候选控制器作为第二控制器。
在本申请的一个实施例中,第二控制器的确定方式为:从候选动态属性参数未超出候选控制器对应的参数阈值,且候选动态属性参数低于第一动态属性参数的多个候选控制器中,选择动态属性参数最小的候选控制器作为第二控制器。
具体而言,各个控制器由于自身处理能力的不同,所能承受的负载量也不尽相同,因此,各个控制器的动态属性参数通常具有一对应的参数阈值。各个候选控制器计算处理网络请求所对应的候选动态属性参数,当某一个候选控制器的候选动态属性参数超过该候选控制器的参数阈值时,则表明该候选控制器的所承受的负载量较大,不适合作为处理网络请求的第二控制器。最后,可以从候选动态属性参数未超出候选控制器对应的参数阈值,且候选动态属性参数低于第一动态属性参数的多个候选控制器中,选择动态属性参数最小的候选控制器作为第二控制器。
步骤240、通过第二控制器与目标设备建立第二映射关系,并基于第二映射关系处理目标设备发送的网络请求。
具体的,在确定第二控制器后,就可以通过第二控制器来处理目标设备的网络请求,此时在第二控制器与目标设置之间建立第二映射关系,然后基于该第二映射关系来处理该网络请求。
在本申请的一个实施例中,在第二控制器与目标设备建立第二映射关系时,还需要断开目标设备与第一控制器之间建立的第一映射关系,相当于将目标设备与第一控制器之间的第一映射关系转移为目标设备与第二控制器之间的第二映射关系,避免了目标设备同时连接多个控制器而造成数据传输混乱。
在本申请实施例提供的技术方案中,通过获取目标设备基于第一映射关系向第一控制器发起的网络请求,并计算第一控制器处理网络请求对应的第一动态属性参数,由于动态属性参数反应了控制器的负载情况,在第一动态属性参数超出预设参数范围时,表明第一控制器负载较多时,此时将网络请求发送至负载较少的第二控制器,由第二控制器实现网络请求的处理,相当于根据控制器的动态负载情况实现了控制器的调度,避免了因控制器自身的资源使用问题而导致的网络请求处理慢的问题,提高了控制器的调度效率和网络请求的处理效率。
本申请技术方案将控制器本身的动态属性加入到控制器的动态部署和调度过程中,能使得控制器在网络负载不同的情况下,尽可能的避免因控制器本身的资源等问题导致调度时计算结果偏离预期目标的问题。
示例性的,图4示意性地示出了本申请一个具体实施例提供的络请求的处理方法的流程图及系统架构。如图4所示,在本申请实施例中,第一控制器为控制器A,第二控制器为控制器B,动态属性参数为动态处理时延,目标设备为网络设备R2,该方法包括:
S1、网络设备R2与控制器A建立第一映射关系,并基于该第一映射关系将网络请求发送至控制器A。
S2、控制器A接收到网络请求后,计算自身处理该网络请求的第一动态处理时延。如图4所示,控制器A的第一动态处理时延为100ms。
S3、当第一动态处理时延大于第一预设时延阈值时,控制器A将第一动态处理时延和网络请求对应的请求参数发送至网络域中的其他控制器。
第一动态处理时延通过控制器A发送的BGP-LS扩展TLV属性信息所携带,如图4所示,第一动态处理时延对应的代码点为1253,长度为4Bytes(字节),具体值为100ms。
假设控制器A对应的易第一预设时延阈值为50ms,那么此时第一动态处理时延100ms大于第一预设时延阈值50ms,表明控制器A当前负载量较大,需通过其他控制器来处理该网络请求,故而将第一动态处理时延和网络请求对应的请求参数发送至网络域中的其他控制器。接下来,本申请实施例中,网络域中的其他控制器以控制器B为例进行说明。
S4、网络域中的控制器B接收到第一动态处理时延和网络请求对应的请求参数,计算自身处理该网络请求对应的第二动态处理时延,并判断第二动态处理时延是否大于自身的第二预设时延阈值。
如图4所示,控制器B的原始动态处理时延为20ms,在接收到请求参数后,计算所得的第二动态处理时延为50ms。假设控制器B的第二预设时延阈值为60ms,则第二动态处理时延为50ms小于第二预设时延阈值为60ms,表明控制器B可以处理该网络请求,进入S5。
若控制器B的第二预设时延阈值为40ms,则第二动态处理时延为50ms大于第二预设时延阈值为60ms,那么控制器B也不适于处理该网络请求,需考虑其他控制器(如控制器C、控制器D等)的计算结果。
各个控制器对应的预设时延阈值可以相同也可以不同,需根据各控制器自身的处理能力决定。
S5、当第二动态处理时延大于控制器B对应的第二预设时延阈值时,控制器B与网络设备R2建立第二映射关系。
同时,控制器B将自身的动态处理时延更新为50ms,并将更新后的动态处理时延通过BGP-LS扩展TLV属性信息告知网络域中的其他控制器(包括控制器A),以便其他控制器对控制器B的动态处理时延进行记录。
在本申请的一个实施例中,当控制器B确定能够处理该网络请求时,控制器B向控制器A反馈一应答信息,以通知控制器A该网络请求已找到合适的控制器来处理,控制器A可以停止向除控制器B以外的控制器发送网络请求对应的请求参数,避免其他控制器重复计算。
在本申请的一个实施例中,当确定有两个以上的控制器均可以对该网络请求进行处理时,则最先与网络设备R2建立映射关系的控制器用于处理该网络请求,其他控制器无需处理该网络请求。
S6、控制器A断开与网络设备R2之间的第一映射关系。
同时,控制器A更新与网络设备R2断开链接后的动态处理时延,假设为50ms,然后通过BGP-LS扩展TLV属性信息告知网络域中的其他控制器(包括控制器B),以便其他控制器对控制器A的动态处理时延进行记录。
在本申请实施例中,BGP-LS扩展TLV属性加入控制器本身的动态属性,如器处理动态时延、动态网络负载等,使得控制器的动态属性可以实现路由级实时采集和交换。在多控制器的动态部署和调度上,通过BGP-lS扩展tlv字段属性来携带控制器单元本身的动态属性,在效率上比采用通用Restful接口调度速度更快;在控制器数量有限和保障单机处理性能的前提下进行高效调度和充分利用,可在一定程度上节约控制器数量成本。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的网络请求的处理方法。图5示意性地示出了本申请实施例提供的网络请求的处理装置的结构框图。如图5所示,该装置包括:
网络请求获取模块510,用于获取目标设备基于第一映射关系向第一控制器发起的网络请求;所述第一映射关系为所述目标设备与所述第一控制器之间建立的映射关系;
参数确定模块520,用于确定所述第一控制器处理所述网络请求对应的第一动态属性参数,所述第一动态属性参数包括所述第一控制器因负载变化而随之变化的动态参数;
网络请求发送模块530,用于当所述第一动态属性参数超出预设参数范围时,将所述网络请求发送至第二控制器;其中,所述第二控制器处理所述网络请求对应的第二动态属性参数低于所述第一动态属性参数;
网络请求理模块540,用于通过所述第二控制器与所述目标设备建立第二映射关系,并基于所述第二映射关系处理所述目标设备发送的所述网络请求。
在本申请的一个实施例中,所述装置还包括:
请求参数发送模块,用于将所述网络请求对应的请求参数发送至与所述第一控制器处于同一网络域中的多个控制器;
第二控制器确定模块,用于根据各个控制器基于所述请求参数而生成的处理所述网络请求对应的动态属性参数,从所述多个控制器中选择一个作为所述第二控制器。
在本申请的一个实施例中,所述请求参数发送模块包括:
候选控制器确定单元,用于获取与所述第一控制器处于同一网络域中的多个控制器的动态属性参数,并根据中各个控制器的动态属性参数,从所述多个控制器中选择部分作为候选控制器;
请求参数发送单元,用于将所述网络请求对应的请求参数发送至多个所述候选控制器;
相应的,所述第二控制器确定模块具体用于:
根据各个候选控制器基于所述请求参数而生成的处理所述网络请求对应的候选动态属性参数,从所述多个候选控制器中选择一个作为所述第二控制器。
在本申请的一个实施例中,所述第二控制器确定模块进一步用于:
获取各个候选控制器基于所述请求参数而生成的处理所述网络请求对应的候选动态属性参数;从候选动态属性参数未超出候选控制器对应的参数阈值,且候选动态属性参数低于所述第一动态属性参数的多个候选控制器中,选择动态属性参数最小的候选控制器作为所述第二控制器。
在本申请的一个实施例中,参数确定模块520具体用于:
获取所述第一控制器的网络拓扑收集信息;对所述网络拓扑收集信息进行解析,根据解析结果中的指定代码点获取所述第一动态属性参数,所述指定代码点为所述第一动态属性参数对应的编码。
在本申请的一个实施例中,所述动态属性参数包括动态处理时延、动态网络负载和动态并发处理数中的一种或多种;所述动态处理时延表示控制器接收所述网络请求到处理所述网络请求所消耗的时间;所述动态网络负载表示控制器可连接的设备数量和正在处理的网络请求的数量;所述动态并发处理数表示控制器在单位时间内处理的网络请求的数量。
在本申请的一个实施例中,所述装置还包括:
映射关系断开模块,用于断开所述目标设备与所述第一控制器之间建立的所述第一映射关系。
本申请各实施例中提供的网络请求的处理装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图6示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图6示出的电子设备的计算机系统600仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理器601(Central Processing Unit,CPU),其可以根据存储在只读存储器602(Read-Only Memory,ROM)中的程序或者从存储部分608加载到随机访问存储器603(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器603中,还存储有系统操作所需的各种程序和数据。中央处理器601、在只读存储器602以及随机访问存储器603通过总线604彼此相连。输入/输出接口605(Input/Output接口,即I/O接口)也连接至总线604。
以下部件连接至输入/输出接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至输入/输出接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理器601执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、控制器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种网络请求的处理方法,其特征在于,包括:
获取目标设备基于第一映射关系向第一控制器发起的网络请求;所述第一映射关系为所述目标设备与所述第一控制器之间建立的映射关系;
确定所述第一控制器处理所述网络请求对应的第一动态属性参数,所述第一动态属性参数包括所述第一控制器因负载变化而随之变化的动态参数;
当所述第一动态属性参数超出预设参数范围时,将所述网络请求发送至第二控制器;其中,所述第二控制器处理所述网络请求对应的第二动态属性参数低于所述第一动态属性参数;
通过所述第二控制器与所述目标设备建立第二映射关系,并基于所述第二映射关系处理所述目标设备发送的所述网络请求。
2.根据权利要求1所述的网络请求的处理方法,其特征在于,在将所述网络请求发送至第二控制器之前,所述方法还包括:
将所述网络请求对应的请求参数发送至与所述第一控制器处于同一网络域中的多个控制器;
根据各个控制器基于所述请求参数而生成的处理所述网络请求对应的动态属性参数,从所述多个控制器中选择一个作为所述第二控制器。
3.根据权利要求2所述的网络请求的处理方法,其特征在于,将所述网络请求对应的请求参数发送至与所述第一控制器处于同一网络域中的多个控制器,包括:
获取与所述第一控制器处于同一网络域中的多个控制器的动态属性参数,并根据中各个控制器的动态属性参数,从所述多个控制器中选择部分作为候选控制器;
将所述网络请求对应的请求参数发送至多个所述候选控制器;
相应的,根据各个控制器基于所述请求参数而生成的处理所述网络请求对应的动态属性参数,从所述多个控制器中选择一个作为所述第二控制器,包括:
根据各个候选控制器基于所述请求参数而生成的处理所述网络请求对应的候选动态属性参数,从所述多个候选控制器中选择一个作为所述第二控制器。
4.根据权利要求3所述的网络请求的处理方法,其特征在于,根据各个候选控制器基于所述请求参数而生成的处理所述网络请求对应的候选动态属性参数,从所述多个候选控制器中选择一个作为所述第二控制器,包括:
获取各个候选控制器基于所述请求参数而生成的处理所述网络请求对应的候选动态属性参数;
从候选动态属性参数未超出候选控制器对应的参数阈值,且候选动态属性参数低于所述第一动态属性参数的多个候选控制器中,选择动态属性参数最小的候选控制器作为所述第二控制器。
5.根据权利要求1所述的网络请求的处理方法,其特征在于,确定所述第一控制器处理所述网络请求对应的第一动态属性参数,包括:
获取所述第一控制器的网络拓扑收集信息;
对所述网络拓扑收集信息进行解析,根据解析结果中的指定代码点获取所述第一动态属性参数,所述指定代码点为所述第一动态属性参数对应的编码。
6.根据权利要求1-5任一项所述的网络请求的处理方法,其特征在于,动态属性参数包括动态处理时延、动态网络负载和动态并发处理数中的一种或多种;
所述动态处理时延表示控制器接收所述网络请求到处理所述网络请求所消耗的时间;
所述动态网络负载表示控制器可连接的设备数量和正在处理的网络请求的数量;
所述动态并发处理数表示控制器在单位时间内处理的网络请求的数量。
7.根据权利要求1-5任一项所述的网络请求的处理方法,其特征在于,在通过所述第二控制器与所述目标设备建立第二映射关系之后,所述方法还包括:
断开所述目标设备与所述第一控制器之间建立的所述第一映射关系。
8.一种网络请求的处理装置,其特征在于,包括:
网络请求获取模块,用于获取目标设备基于第一映射关系向第一控制器发起的网络请求;所述第一映射关系为所述目标设备与所述第一控制器之间建立的映射关系;
参数确定模块,用于确定所述第一控制器处理所述网络请求对应的第一动态属性参数,所述第一动态属性参数包括所述第一控制器因负载变化而随之变化的动态参数;
网络请求发送模块,用于当所述第一动态属性参数超出预设参数范围时,将所述网络请求发送至第二控制器;其中,所述第二控制器处理所述网络请求对应的第二动态属性参数低于所述第一动态属性参数;
网络请求处理模块,用于通过所述第二控制器与所述目标设备建立第二映射关系,并基于所述第二映射关系处理所述目标设备发送的所述网络请求。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任意一项所述的网络请求的处理方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器执行所述可执行指令使得所述电子设备执行权利要求1至7中任意一项所述的网络请求的处理方法。
CN202210550675.8A 2022-05-18 2022-05-18 网络请求的处理方法、装置、计算机可读介质及电子设备 Active CN114979009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210550675.8A CN114979009B (zh) 2022-05-18 2022-05-18 网络请求的处理方法、装置、计算机可读介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210550675.8A CN114979009B (zh) 2022-05-18 2022-05-18 网络请求的处理方法、装置、计算机可读介质及电子设备

Publications (2)

Publication Number Publication Date
CN114979009A true CN114979009A (zh) 2022-08-30
CN114979009B CN114979009B (zh) 2023-11-07

Family

ID=82984464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210550675.8A Active CN114979009B (zh) 2022-05-18 2022-05-18 网络请求的处理方法、装置、计算机可读介质及电子设备

Country Status (1)

Country Link
CN (1) CN114979009B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811133A (zh) * 2012-07-31 2012-12-05 苏州阔地网络科技有限公司 一种网络会议漂移控制的方法及系统
CN104301243A (zh) * 2014-09-22 2015-01-21 华为技术有限公司 一种负载控制方法和装置
CN106027410A (zh) * 2016-07-28 2016-10-12 北京邮电大学 一种控制器负载均衡的方法及装置
WO2018000202A1 (zh) * 2016-06-28 2018-01-04 华为技术有限公司 一种负载迁移方法、装置及系统
CN111294406A (zh) * 2020-02-18 2020-06-16 中国科学技术大学苏州研究院 软件定义网络控制器混合映射方法
CN112350952A (zh) * 2020-10-28 2021-02-09 武汉绿色网络信息服务有限责任公司 控制器分配方法、网络业务系统
CN113645146A (zh) * 2021-08-09 2021-11-12 北京邮电大学 基于新流密度的软件定义网络控制器负载均衡方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811133A (zh) * 2012-07-31 2012-12-05 苏州阔地网络科技有限公司 一种网络会议漂移控制的方法及系统
CN104301243A (zh) * 2014-09-22 2015-01-21 华为技术有限公司 一种负载控制方法和装置
WO2018000202A1 (zh) * 2016-06-28 2018-01-04 华为技术有限公司 一种负载迁移方法、装置及系统
CN112492574A (zh) * 2016-06-28 2021-03-12 华为技术有限公司 一种负载迁移方法、装置及系统
CN106027410A (zh) * 2016-07-28 2016-10-12 北京邮电大学 一种控制器负载均衡的方法及装置
CN111294406A (zh) * 2020-02-18 2020-06-16 中国科学技术大学苏州研究院 软件定义网络控制器混合映射方法
CN112350952A (zh) * 2020-10-28 2021-02-09 武汉绿色网络信息服务有限责任公司 控制器分配方法、网络业务系统
CN113645146A (zh) * 2021-08-09 2021-11-12 北京邮电大学 基于新流密度的软件定义网络控制器负载均衡方法及系统

Also Published As

Publication number Publication date
CN114979009B (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
CN110891093B (zh) 一种时延敏感网络中边缘计算节点选择方法及系统
CN110035401B (zh) 一种默认服务质量QoS控制方法及设备
AU2021266341B2 (en) Session processing method, device, and system
CN110121180B (zh) 一种数据分析装置、系统及方法
CN108696911B (zh) 一种物联网数据传输方式的选择方法和装置
Yin et al. Distributed resource sharing in fog-assisted big data streaming
US11843516B2 (en) Federated learning in telecom communication system
WO2023115829A1 (zh) 一种边缘计算资源的分配方法、装置、设备及存储介质
CN113840317A (zh) 算力上报方法、获取方法、算力网元及算力感知控制网元
JP2024515333A (ja) ネットワークスライス自己最適化方法、基地局、及び記憶媒体
CN113114480B (zh) 一种数据的上报方法及相关设备
CN111124439B (zh) 一种云边协同的智能动态卸载算法
CN114979009B (zh) 网络请求的处理方法、装置、计算机可读介质及电子设备
US20150372895A1 (en) Proactive Change of Communication Models
CN112202896A (zh) 边缘计算方法、框架、终端和存储介质
CN110875945B (zh) 用于在通用服务实体上进行任务处理的方法、装置和介质
Huang et al. Intelligent task migration with deep Qlearning in multi‐access edge computing
CN110768870A (zh) 一种智能专线的质量监控方法和装置
CN105659218A (zh) 通信系统、通用服务控制设备、数据发送方法和非瞬态计算机可读介质
CN114301980A (zh) 容器集群的调度方法、装置、系统及计算机可读介质
US11108652B2 (en) Server assisted network discovery (SAND)
CN108289326B (zh) 一种无人系统装备通信方法、系统、设备及计算机介质
US20210103830A1 (en) Machine learning based clustering and patterning system and method for network traffic data and its application
CN117395178B (zh) 一种基于网络划分的质量监控方法
CN116755886A (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