CN111277630A - 一种路由控制方法、装置、电子设备和存储介质 - Google Patents

一种路由控制方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111277630A
CN111277630A CN202010031982.6A CN202010031982A CN111277630A CN 111277630 A CN111277630 A CN 111277630A CN 202010031982 A CN202010031982 A CN 202010031982A CN 111277630 A CN111277630 A CN 111277630A
Authority
CN
China
Prior art keywords
forwarding
path
node
information
access request
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
CN202010031982.6A
Other languages
English (en)
Other versions
CN111277630B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010031982.6A priority Critical patent/CN111277630B/zh
Publication of CN111277630A publication Critical patent/CN111277630A/zh
Priority to PCT/CN2020/122102 priority patent/WO2021143239A1/zh
Priority to EP20914645.5A priority patent/EP4044559B1/en
Priority to JP2022517155A priority patent/JP7345059B2/ja
Priority to US17/735,001 priority patent/US20220263756A1/en
Application granted granted Critical
Publication of CN111277630B publication Critical patent/CN111277630B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/308Route determination based on user's profile, e.g. premium users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

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

Abstract

本申请涉及计算机技术领域,尤其涉及一种路由控制方法、装置、电子设备和存储介质,用以提高访问请求的处理效率,其中,方法包括:接收转发节点发送的路由查询请求,其中路由查询请求是由转发节点根据针对目标节点的访问请求生成的;根据云加速网络中各个转发节点的状态信息获得转发路径的路径信息;将路径信息发送给转发节点,以使转发节点根据路径信息由将访问请求转发至目标节点。由于本申请中是由智能路由服务器根据云加速网络中转发节点实时的状态信息确定的转发路径,而不是事先指定好的转发路径,减少了人工操作;并且根据转发节点实时的状态信息确定的转发路径的路径信息更加科学,提高了访问请求的处理效率。

Description

一种路由控制方法、装置、电子设备和存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种路由控制方法、装置、电子设备和存储介质。
背景技术
传统静态路由配置方案,对于指定的源站域名,根据实验或者统计信息来决定访问该域名的转发路径,并对该路径上所有节点的路由信息进行相应配置,使得每一个节点都将访问该域名的请求全部被转发到该路径上下一跳的节点,此后对于所有访问该域名的请求,其路由信息完全一样,不再发生变化,难以有效处理网络实时出现的突发状况,使得云加速网络可用性降低,对访问请求的处理效率较低。
发明内容
本申请实施例提供一种路由控制方法、装置、电子设备和存储介质,用以提高访问请求的处理效率。
本申请实施例提供的第一种路由控制方法,包括:
接收转发节点发送的路由查询请求,其中所述路由查询请求是由所述转发节点根据针对目标节点的访问请求生成的;
根据云加速网络中各个转发节点的状态信息,获得转发路径的路径信息,其中所述转发路径用于在所述云加速网络中转发所述访问请求;
将所述路径信息发送给所述转发节点,以使所述转发节点根据所述路径信息将所述访问请求转发至所述目标节点。
本申请实施例提供的第二种路由控制方法,包括:
获得第一转发路径的路径信息,其中所述第一转发路径的路径信息是所述智能路由服务器接收到路由查询请求后,根据云加速网络中各个转发节点的状态信息确定的,所述第一转发路径用于在所述云加速网络中转发针对目标节点的访问请求;
根据所述第一转发路径的路径信息将所述访问请求转发至所述目标节点。
在一种可选的实施方式中,所述第一转发路径的路径信息是所述智能路由服务器根据接所述云加速网络中各个转发节点的状态信息,以及所述云加速网络之外的节点的状态信息确定的。
在一种可选的实施方式中,所述方法还包括:
通过对所述云加速网络中的其他转发节点进行探测,确定其他转发节点的状态信息,并上报给所述智能路由服务器,以使所述智能路由服务器根据转发节点的状态信息确定每两个转发节点之间的第一网络距离;以及
通过对所述云加速网络之外的节点进行探测,确定所述云加速网络之外的节点的状态信息,并上报给所述智能路由服务器,以使所述智能路由服务器根据转发节点的状态信息以及所述云加速网络之外的节点的状态信息确定转发节点与所述云加速网络之外的节点之间的第二网络距离。
本申请实施例提供的第一种路由控制装置,包括:
接收单元,用于接收转发节点发送的路由查询请求,其中所述路由查询请求是由所述转发节点根据针对目标节点的访问请求生成的;
查询单元,用于根据云加速网络中各个转发节点的状态信息获得转发路径的路径信息,其中所述转发路径用于在所述云加速网络中转发所述访问请求;
发送单元,用于将所述路径信息发送给所述转发节点,以使所述转发节点根据所述路径信息将所述访问请求转发至所述目标节点。
在一种可选的实施方式中,所述查询单元具体用于:
根据预先配置的路由策略,从路由表中查询由所述转发节点至所述目标节点的至少一条转发路径的路径信息,其中所述路由表包括所述云加速网络中可用的转发节点以及每两个转发节点之间的第一网络距离,所述第一网络距离是根据转发节点的状态信息确定的。
在一种可选的实施方式中,所述路由表中还包括转发节点与所述云加速网络之外的节点之间的第二网络距离,所述第二网络距离是根据转发节点的状态信息以及所述云加速网络之外的节点的状态信息确定的。
在一种可选的实施方式中,所述路由查询请求包括所述目标节点对应的至少一个网络地址,所述查询单元具体用于:
若所述路由查询请求包括所述目标节点对应的一个网络地址,则从所述路由表中查询由所述转发节点至所述目标节点的最优转发路径的路径信息;
若所述路由查询请求包括所述目标节点对应的至少两个网络地址,则分别从所述路由表中查询由所述转发节点至所述目标节点对应的每个网络地址的转发路径的路径信息。
在一种可选的实施方式中,所述查询单元具体用于:
从所述目标节点对应的每个网络地址的转发路径中选取最优转发路径,将所述最优转发路径的路径信息作为由所述转发节点至所述目标节点的转发路径的路径信息;或
将所述目标节点对应的每个网络地址的转发路径的路径信息,作为由所述转发节点至所述目标节点的转发路径的路径信息,并为所述目标节点对应的每个网络地址的转发路径设置权重,其中每条转发路径对应的权重用于表示根据负载均衡原理确定的转发节点通过所述转发路径转发访问请求的优先级;或
从所述目标节点对应的每个网络地址的转发路径中选择至少两条转发路径,将选择的转发路径的路径信息作为由所述转发节点至所述目标节点的转发路径的路径信息,其中至少一条转发路径作为主转发路径,至少一条转发路径作为备选转发路径。
在一种可选的实施方式中,所述各个转发节点的状态信息,是各个转发节点对其他转发节点进行探测并上报的;
所述云加速网络之外的节点的状态信息,是各个转发节点对所述云加速网络之外的节点进行探测并上报的。
在一种可选的实施方式中,所述装置还包括:
更新单元,用于在路由表中删除第一预设时长内未上报其他转发节点状态信息的转发节点。
本申请实施例提供的第二种路由控制装置,包括:
路径获取单元,用于获得第一转发路径的路径信息,其中所述第一转发路径的路径信息是所述智能路由服务器接收到路由查询请求后根据云加速网络中各个转发节点的状态信息确定的,所述第一转发路径用于在所述云加速网络中转发针对目标节点的访问请求;
转发单元,用于根据所述第一转发路径的路径信息将所述访问请求转发至所述目标节点。
在一种可选的实施方式中,所述第一转发路径的路径信息是所述智能路由服务器根据接所述云加速网络中各个转发节点的状态信息以及所述云加速网络之外的节点的状态信息确定的。
在一种可选的实施方式中,所述装置还包括:
探测单元,用于通过对所述云加速网络中的其他转发节点进行探测,确定其他转发节点的状态信息,并上报给所述智能路由服务器,以使所述智能路由服务器根据转发节点的状态信息确定每两个转发节点之间的第一网络距离;以及
通过对所述云加速网络之外的节点进行探测,确定所述云加速网络之外的节点的状态信息,并上报给所述智能路由服务器,以使所述智能路由服务器根据转发节点的状态信息以及所述云加速网络之外的节点的状态信息确定转发节点与所述云加速网络之外的节点之间的第二网络距离。
在一种可选的实施方式中,所述路径获取单元具体用于:
接收所述智能路由服务器直接发送的所述第一转发路径的路径信息,其中所述路由查询请求为接收到所述访问请求后,根据所述访问请求生成的;或
接收所述云加速网络中的其他转发节点发送的所述第一转发路径的路径信息。
在一种可选的实施方式中,若所述第一转发路径的路径信息是所述智能路由服务器直接发送的,则所述路径获取单元还用于:
在接收到所述访问请求后,根据所述访问请求生成所述路由查询请求之前:
确定本地未缓存有在所述云加速网络中将所述访问请求转发至所述目标节点的第二转发路径的路径信息;或
确定本地缓存有在所述云加速网络中将所述访问请求转发至所述目标节点的第二转发路径的路径信息,且所述第二转发路径的路径信息的使用期限超过第二预设时长。
在一种可选的实施方式中,所述路径获取单元还用于:
在接收到所述访问请求后,若确定本地缓存有在所述云加速网络中将所述访问请求转发至所述目标节点的第二转发路径的路径信息,且所述第二转发路径的路径信息的使用期限未超过所述第二预设时长,则通过所述第二转发路径的路径信息将所述访问请求转发至所述目标节点。
在一种可选的实施方式中,若第一转发路径的数量为至少两条,所述转发单元具体用于:
若第一转发路径设置有相应的权重,则根据各第一转发路径对应的权重选择一条第一转发路径,并根据选择的第一转发路径的路径信息将所述访问请求转发至所述目标节点,其中每条第一转发路径对应的权重用于表示根据负载均衡原理确定的转发节点通过第一转发路径转发访问请求的优先级;
若第一转发路径包括至少一条主转发路径以及至少一条备选转发路径,则从所述至少一条主转发路径中选择一条主转发路径,并根据选择的主转发路径的路径信息将所述访问请求转发至所述目标节点。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任意一种路由控制方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行上述任意一种路由控制方法的步骤。
本申请有益效果如下:
本申请实施例提供的路由控制方法、装置、电子设备和存储介质,由于在本申请中是由智能路由服务器根据云加速网络中转发节点实时的状态信息确定的转发路径的路径信息,不需要人工预先配置,减少了人工操作;并且,转发路径不是事先指定好的转发路径,而是由智能路由服务器动态配置的,针对目标节点,转发路径在不同的时间段可能会受云加速网络中转发节点状态的影响而发生变化,本申请实施例确定的转发路径的路径信息更加科学,更加适用于当前的网络状态,使得云加速网络承担能力更高,提高了对访问请求的处理效率;并且,可以充分利用云加速网络进行访问请求的转发,有效处理云加速网络中实时出现的突发状态,提高了云加速网络的可用性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种静态路由配置方案原理示意图;
图2为本申请实施例中的一种应用场景示意图;
图3为本申请实施例中的一种路由控制方法的示意图;
图4为本申请实施例中的一种转发节点进行探测任务的流程示意图;
图5为本申请实施例中的一种云加速网络整体框架的示意图。
图6为本申请实施例中的另一种路由控制方法的示意图;
图7为本申请实施例中的一种转发节点进行数据转发的流程示意图;
图8为本申请实施例中的一个可选的交互实现时序流程示意图;
图9为本申请实施例中的一种智能路由服务器的组成结构示意图;
图10为本申请实施例中的一种转发节点的组成结构示意图;
图11为本申请实施例中的一种电子设备的框图;
图12为应用本申请实施例的一种计算装置的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
1、云加速:是一项浏览器加速技术,通过真实服务器网速加速,实现上网浏览提速,相对于传统的浏览器加速技术来说,云加速真正实现了网速实质性的提升。在本申请实施例中的云加速网络主要由两部分组成,分别是智能路由服务器和转发节点。其中,智能路由服务器用于集中处理转发节点上报的状态信息,并计算各个转发节点访问外部节点的转发路径的路径信息;同时,云加速网络会在全球各地部署转发节点,用于接受用户的访问请求以及转发数据。
例如,当位于北京的用户想要访问位于广州的源站,首先会发送访问请求至位于北京的转发节点,位于北京的转发节点发现没有路由信息,便会向智能路由服务器发送路由查询的请求,在得到响应消息后,根据响应消息中的路由信息对数据进行转发。
2、转发节点:可以是工作站、客户、网络用户或个人计算机,还可以是服务器、打印机和其他网络连接的设备。每一个工作站、服务器、终端设备、网络设备,即拥有自己唯一网络地址的设备都可以是转发节点。在本申请实施例中指云加速网络中的节点,可用于在云加速网络中转发数据。
3、云加速网络之外的节点:也称作外部节点或站点,在本申请实施例中是指接入到云加速网络的源站,可以是服务器或其他网络设备等。源站地址,就是用户的源站主机地址,在本申请实施例中,源站地址有两种类型:域名(只有一个)和网络地址(可以有多个),并且都支持端口。
4、网络距离:指网络传输距离,在本申请实施例中,网络距离是根据状态信息确定的,用于对网络中节点之间的传输时延、丢包率、负载等信息进行描述,可记载在路由表中。本申请实施例中的网络距离综合考虑了网络时延、丢包率以及负载对数据转发的影响,主要是作为智能路由服务器确定转发路径的路径信息时的参考信息,以便智能路由服务器可以实时感知网络状态,对路由方案进行调整。
5、状态信息:用于描述转发节点在云加速网络中状态的信息,包括网络时延、丢包率以及负载等信息,可通过探测得到。在本申请实施例中,状态信息是由转发节点探测得到的,主要分为两大类,一类为用于描述各个转发节点之间的传输时延等的状态信息;另一类为用于描述转发节点与云加速网络之外的节点之间的网络距离等的状态信息。
6、路由表:指的是路由器或者其他互联网网络设备上存储的表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。在本申请实施例中,智能路由服务器保存有路由表,其保存的路由表用于服务各个转发节点的路由查询请求。路由表中存储有各个转发节点以及各个转发节点之间的第一网络距离,此外,路由表中还可能存储有各个转发节点与云加速网络之外的。
7、转发路径:指用于转发节点转发访问请求的路径,转发路径包括至少一个转发节点,若转发路径中有多个转发节点时,则还进一步包含每个转发节点的转发顺序,即由哪一个转发节点转发至哪一个转发节点,最终以转发至目标节点的顺序。
在本申请实施例中,转发路径中各转发节点有相应的路由信息,即每个转发节点的源地址、目的地址、网络距离等,这些统一称作转发路径的路径信息。针对某一转发节点A,该转发节点A的下一跳转发节点B的地址即该转发节点A对应的目的地址,该转发节点A根据对应的路由信息将数据转发至转发节点B。
8、DNS(Domain Name System,域名系统):因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP(Internet Protocol,网络之间互连的协议)数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS服务器将域名地址翻译为该域名所对应的IP地址后,才能正常连接目标服务器,也就是目标节点。
9、PING(Packet Internet Groper,因特网包探索器):是Windows、Unix和Linux系统下的一个命令。PING也属于一个通信协议,是TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网络之间互连的协议)的一部分。利用PING命令可以检查网络是否连通有助于分析和判定网络故障。
下面对本申请实施例的设计思想进行简要介绍:
针对传统的静态路由配置方案,对于每一个源站域名,都需要人工确定访问该域名的转发路径,同时,接受终端设备请求的流量入口(第一跳转发节点)不止一个,这就使得对于每一个流量入口都需要人工指定不同的转发路径,这使得配置工作相当繁琐。
如图1所示,为相关技术中提供的传统静态路由配置方案原理的示意图。其中云加速网络之外的节点有外部节点1、外部节点2、外部节点3,云加速网络内部的转发节点有转发节点1、转发节点2、转发节点3,其中到外部节点1的转发路径仅有1条,为转发节点1->转发节点2->外部节点1,到外部节点2及外部节点3的转发路径各有两条,分别为转发节点3->转发节点4->节点2,转发节点5->转发节点4->外部节点2;转发节点3->转发节点4->外部节点3,转发节点5->转发节点4->外部节点3。对于外部节点2或是外部节点3,流量入口包括转发节点3和转发节点5。
其中,当转发节点1或转发节点2故障时,则到外部节点1的转发路径的路径信息出现问题,导致无法实现数据至外部节点1的转发;同理,当转发节点4出现故障时,到外部节点2及外部节点3的转发路径也会出现问题,导致无法将数据转发至外部节点2或是外部节点3。
也就是说,当网络出现中某个节点出现故障时,这就会使得所有需要经过该节点进行转发的访问请求都不能正常进行访问,使得网络的可用性降低。并且,在不同时间段,网络中每个转发节点的负载情况以及转发节点之间的通信速度也在动态变化,这就使得某些转发节点的性能下降会导致经过该转发节点的所有访问请求的平均访问时间在提升,从而使得加速网络的性能下降。
此外,网络中的部分转发节点可能会更新换代或者增删部分转发节点,而原先的路由方案是固定的,无法感知网络的动态变化,使得软件更新和硬件更新不能及时同步,导致原先配置的转发路径的路径信息在硬件更新换代之后并不一定能够表现出预期的性能。这就使得每次硬件更新后,需要人工去调整原先的路由方案来达到优化性能的目的,提升了人工成本。
有鉴于此,本申请实施例提出了一种路由控制方法、装置、电子设备和存储介质。在终端设备需要访问目标节点时,终端设备向转发节点发送访问请求,其中该访问节点为通过云加速网络访问目标节点的流量入口,该转发节点向智能路由服务器发送路由查询请求,路由查询请求中携带目标节点的地址信息,由智能路由服务器根据目标节点的地址信息,来决定每个转发节点访问该目标节点的转发路径的路径信息,并且智能路由服务器是根据云加速网络中每个转发节点的实时负载情况、转发节点间的通信时延和丢包率来动态决定转发每个访问请求的转发路径的路径信息,不需要人工预先配置好到目标节点的转发路径的路径信息,很大程度上减少了人工操作;此外,智能路由服务器根据转发节点的状态信息可以实时感知到云加速网络中硬件的更新,进而可对路由控制自行进行调整,从而解决了网络硬件和软件同步更新的问题。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图2所示,其为本申请实施例的应用场景示意图。该应用场景图包括两个终端设备110、云加速网络120以及服务器130,其中,服务器130即云加速网络120之外的节点,也就是外部节点或站点;云加速网络120主要包括智能路由服务器以及转发节点两部分。
用户A或用户B在需要访问目标节点时,可通过终端设备110向云加速网络120中的转发节点发送访问请求,转发节点在接收到访问请求后,生成路由查询请求,并发送给云加速网络120中的智能路由服务器,智能路由服务器在接收到路由查询请求后,查询在云加速网络120中转发该访问请求的转发路径的路径信息,并下发给转发节点,该转发节点在接收到转发路径的路径信息后,根据该路径信息在云加速网络120中转发该访问请求,由转发路径中的最后一个转发节点将访问请求转发给云加速网络120之外的服务器130中的目标节点。
在终端设备110向云加速网络120中的转发节点发送访问请求之前,还需要通过DNS服务器对目标节点的域名进行解析。
具体的,用户需要访问目标节点时,首先通过终端设备110将目标节点的域名发送给本地DNS服务器,由于该域名是需要接入到云加速服务的,因而本地DNS服务器将该域名解析为云加速域名,并发送给终端设备110;终端设备110在接收到云加速域名后,将云加速域名发送给云加速DNS服务器,由云加速DNS服务器对云加速域名进一步解析,得到云加速网络的入口地址,其中入口地址指通过云加速网络将访问请求转发给目标节点时的第一跳转发节点的地址,流量入口也就是第一个接收到终端设备110发送的访问请求的转发节点,即第一跳转发节点;终端设备110根据入口地址则可将访问请求发送给云加速网络120中的转发节点。
智能路由服务器在接收到路由查询请求后,根据云加速网络中各个转发节点的状态信息确定在云加速网络中转发该访问请求的转发路径的路径信息,并将确定的转发路径的路径信息发送给第一跳转发节点,转发节点通过获得的路径信息,将访问请求转发给目标节点。
在本申请实施例中,终端设备110为用户使用的电子设备,该电子设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器等具有一定计算能力并且运行有即时通讯类软件及网站或者社交类软件及网站的计算机设备。各终端设备110通过云加速网络120与服务器130通信,服务器130是一台服务器或若干台服务器组成的服务器集群或云计算中心,或者是一个虚拟化平台。目标节点即服务器130中的一台或多台服务器,当目标节点对应的网络地址的数量越多时,服务器130中可以包括多个目标节点所对应的服务器。
当云加速网络120中的转发节点基于智能路由服务器下发的转发路径的路径信息,将终端设备110的访问请求转发给服务器130中的目标节点后,目标节点可通过原转发路径的路径信息,将针对该访问请求的响应消息再转发给终端设备110,以实现终端设备110与服务器130的通信。
下面对智能路由服务器以及转发节点在本申请实施例的路由控制方法中的主要功能进行详细介绍。
参阅图3所示,为本申请实施例提出的一种路由控制方法的实施流程图,应用于智能路由服务器,该方法的具体实施流程如下:
S31:接收转发节点发送的路由查询请求。
其中,路由查询请求是由转发节点根据针对目标节点的访问请求生成的。
S32:根据云加速网络中各个转发节点的状态信息获得转发路径的路径信息,其中转发路径用于在云加速网络中转发访问请求。
其中,转发路径的路径信息指转发路径中包含的各个转发节点以及目标站点的网络地址等信息,网络地址可以是IP地址。
在本申请实施例中,各个转发节点的状态信息包括转发节点之间的传输时延。此外,还包括转发节点的丢包率、负载等中的任意一种或多种。
在本申请实施例中,各个转发节点之间的传输时延主要用于计算最短转发路径。
可选的,智能路由服务器根据云加速网络中各个转发节点的状态信息,获得相对应的转发路径的路径信息时,可通过查询路由表的方式。
具体的,根据预先配置的路由策略,从路由表中查询由转发节点至目标节点的至少一条转发路径的路径信息,其中路由表中记载了云加速网络中可用的转发节点以及每两个转发节点之间的第一网络距离,第一网络距离是根据转发节点的状态信息确定的。
其中,云加速网络中可用的转发节点是动态变化的,随着时间的推移,云加速网络中出现增删转发节点等情况时,路由表中所记载的可用的转发节点也会发生变化。
例如,转发节点1与转发节点2之间的传输时延为t,第一网络距离为1,转发节点1与转发节点3之间的传输时延为2t,第一网络距离为2,等。
需要说明的是,上述实施例列举的是仅依据传输时延来确定第一网络距离的一种方式,此外,还可综合考虑传输时延、丢包率和负载等状态信息来确定第一网络距离,在此不做具体限定。
在上述实施方式中,智能路由服务器通过查表的方式即可获取访问目标节点的转发路径的路径信息,简便易操作,效率较高。其中,路由表中记载了云加速网络中可用的转发节点,因而智能路由服务器可以实时感知云加速网络中硬件的更新,对路由方案及时进行调整,进而同步软件的更新,为转发节点下发准确可靠的转发路径的路径信息,避免下发的转发路径中存在故障的转发节点,提高了云加速网络的可用性和网络的性能,提高了访问请求的处理效率。
可选的,路由表中还包括转发节点与云加速网络之外的节点之间的第二网络距离,第二网络距离是根据转发节点的状态信息以及云加速网络之外的节点的状态信息确定的。
例如,转发节点1与外部节点1之间的第二网络距离为2,转发节点1与外部节点2之间的第二网络距离为4等,其中外部节点为云加速网络之外的节点。
该方式下,智能路由服务器主要是根据路由查询请求、云加速网络中各个转发节点的状态信息,以及云加速网络之外的节点的状态信息来获得转发路径的路径信息。
其中,云加速网络之外的节点的状态信息包括转发节点与外部节点之间的传输时延。此外,还包括外部节点的丢包率、负载等中的任意一种或多种。
在本申请实施例中,负载指CPU(Central Processing Unit/Processor,中央处理器)使用率、内存使用率等。当状态信息中包含负载时,无需由转发节点进行探测、计算,可直接对转发节点或是云加速网络之外的节点的CPU使用率、内存使用率等进行检测得到。
在上述实施方式中,智能路由服务器除了可以动态感知网络的实时状态,综合考虑传输时延、丢包率和机器负载来动态决定转发路径的路径信息以达到加速效果之外,还可以实时感知到云加速网络之外可用的外部节点,例如在新增外部节点的情况下,则可及时让新接入到云加速网络的外部节点可以尽快使用加速服务。
在一种可选的实施方式中,智能路由服务器保存两张路由表,一张路由表用于服务各个转发节点的路由查询请求,在智能路由服务器接收到路由查询请求后,主要通过查询该路由表,确定相应的转发路径的路径信息;另一张路由表用于实时计算新的路由信息。在路由信息计算完成后,切换两张路由表的身份,实现路由信息的动态更新。这样便可以在不影响正常服务的情况下计算最新的路由信息,以便智能路由服务器实时感知网络状态,在接收到路由查询请求后,则可依据最新的路由信息,计算出最新的转发路径的路径信息,此时计算得到的转发路径的路径信息能够适应于云加速网络当前的状态,可以有效实现加速服务。
可选的,各个转发节点的状态信息,是各个转发节点对其他转发节点进行探测并上报的,转发节点通过对云加速网络中的其他转发节点进行探测,确定其他转发节点的状态信息;云加速网络之外的节点的状态信息,是各个转发节点对云加速网络之外的节点进行探测并上报的,转发节点通过对云加速网络之外的节点进行探测,确定云加速网络之外的节点的状态信息。
其中,转发节点可周期或定时进行探测任务,探测得到上述状态信息后,可以周期上报给智能路由服务器,或者接收到智能路服务器的获取请求后,再上报给智能路由服务器等,在本申请实施例中不对状态信息的上报方式进行具体限定。
参阅图4所示,为本申请实施例提供的一种转发节点执行探测任务的探测流程图,具体包括以下步骤:
S41:从智能路由服务器拉取最新的转发节点和外部节点信息;
S42:扫描外部节点,检查外部节点是否禁止PING,对不禁PING的节点发送TCMP探测包,对禁PING发送TCP探测包或HTTP探测包;
S43:对所有的内部转发节点发送UDP探测包;
S44:等待接收回应包;
S45:接收探测响应消息;
S46:判断本轮探测任务是否超时,如果是,则执行S44,否则返回S44;
S47:向智能路由服务器上报所有的状态信息。
其中,S47中的状态信息则包括:各个转发节点的状态信息,以及云加速网络之外的节点的状态信息,也就是外部节点的状态信息。
其中,S41中最新的转发节点和外部节点信息指云加速网络中可用的转发节点以及云加速网络中可用的外部节点的信息,转发节点定时从智能路由服务器获取最新的转发节点和外部节点信息,可依据这些信息确定需要向哪些外部节点和哪些转发节点执行探测任务。使得网络中每个转发节点可以快速感知云加速网络中转发节点和云加速网络之外的节点的变化,从而有效地执行探测任务。
参阅图5所示,为本申请实施例提供的一种云加速网络整体架构示意图的示意图。
其中,转发节点之间执行的探测为UDP探测,针对任意一个转发节点,可向其他转发节点发送UDP探测包,在进行数据包探测的过程中,根据探测结果生成第一状态信息。
可选的,可通过下来方式实现周期探测的任务,具体的:
针对任意一个转发节点,检查针对各个其他转发节点探测得到的状态信息的时间戳,如果状态信息已经过期,需要向对应的其他转发节点发送UDP探测包,若超过一定时间仍没有收到响应消息,则认为本转发节点不可直达该其他转发节点。
以及,检查针对各个外部节点在探测得到的状态信息时间戳,如果状态信息已经过期,需要向对应的外部节点发送探测包,若超过一定时间仍没有收到响应消息,则认为本节点不能直达该外部节点。为了应对源站禁ping等情况,本方案提供可配置的探测方案,包括ICMP探测、TCP探测以及HTTP探测,涵盖了网络层、转发层以及应用层的探测方式。
例如,对转发节点1,检查上次对转发节点2进行探测的时间,如果上次探测的时间距离现在已经超过一个阈值,例如1分钟,就会再进行一次探测;如果没有超过这个阈值,就不需要进行探测。
在上述实施方式中,通过实现了自动周期探测,简单高效。
此外,转发节点与云加速网络之外的节点之间的探测是通过ICMP(InternetControl Message Protocol,控制报文协议)探测、TCP探测与HTTP探测中的任意一种或多种实现的。
可选的,若外部节点禁止PING,则向外部节点发送TCP探测包与HTTP探测包中的任意一种或多种。若外部节点允许PING,则向外部节点发送ICMP探测包、TCP探测包与HTTP探测包中的任意一种或多种。
例如外部节点1禁止PING,则转发节点1、2、3在对外部节点1进行探测时,发送TCP探测包,其中转发节点1、2、3也可发送不同类型的探测包,例如转发节点1发送TCP探测包,转发节点2和3发送HTTP探测包;外部节点2不禁PING,转发节点1、2、3在对外部节点1进行探测时,发送ICMP探测包。
在上述实施方式中,提供可配置的探测方案,包括ICMP探测、TCP探测以及HTTP探测,涵盖了网络层、转发层以及应用层的探测方式,可以有效应对外部节点禁PING等情况。
此外,图5所示中的架构中包含两个智能路由服务器,是为了保持稳定,在其中一个出现故障时,另一个智能路由服务器可提供服务;在此不对智能路由服务器的数量做具体限定,1个或3个也可,但是在智能路由服务器较多的情况下,转发节点需要向更多的智能路由服务器发送较多的状态信息,容易造成资源浪费。
在本申请实施例中,智能路由服务器可根据各个转发节点上报的状态信息确定云加速网络中可用的转发节点。
例如,根据转发节点上报的状态信息的时间戳确定,以转发节点周期上报状态信息为例。对于云加速网络中的任意一个转发节点,若该转发节点在第一预设时长内未上报其他转发节点的最新状态信息,则表明智能路由服务器侧保存的该转发节点上报的状态信息仍是之前上报的,与最新上报的状态信息相比时间戳较早,即其在最新一轮周期未上报最新状态信息,该情况下,则表明该转发节点故障。
在上述实施方式中,智能路由器可定时扫描每个转发节点上报的状态信息时间戳,在某个转发节点上报的状态信息已经超过第一预设时长,则认为该转发节点不能正常工作,便可在路由表中删除该转发节点,以便在下一轮的转发路径的路径信息计算过程中剔除该转发节点,以提高加速服务的可用性。
在本申请实施例中,一个目标节点只对应一个域名,但是该域名可对应至少一个网络地址,因而一个目标节点可能会对应多个网络地址。例如目标节点在不同地区都设置有相应的服务器,则针对不同地区的服务器,其网络地址不同。也就是说,不同用户在不同地点访问同一个域名时,可能会访问到不同的网络地址,但表象仍旧是这个域名。
考虑到路由查询请求包括目标节点对应的至少一个网络地址,因而智能路由服务器侧预先配置了路由策略,在根据预先配置的路由策略,从路由表中查询在云加速网络中转发访问请求的转发路径的路径信息时,还可分为以下两种情况:
情况一、路由查询请求包括目标节点对应的一个网络地址。
该情况下,则在获得转发路径的路径信息时,只需从路由表中查询由转发节点至目标节点的最优转发路径的路径信息即可。
需要说明的是,在本申请实施例中的最优转发路径的路径信息是根据指传输时延,以及负载和丢包率等信息中的部分或全部综合考虑得到的,首先需要保证最优转发路径的时延较短,优先选取最短时延路径作为最优转发路径,但是当最短时延路径上转发节点的负载或者丢包率较高时,也可将次短时延路径作为最优转发路径。
情况二、路由查询请求包括目标节点对应的至少两个网络地址。
该情况下,则在获得转发路径的路径信息时,智能路由服务器需要分别从路由表中查询由转发节点至目标节点对应的每个网络地址的转发路径的路径信息。其中,一条转发路径的路径信息则包括从一个源IP到一个目的IP所需的各个节点的路由信息,包括距离、IP地址等。
可选的,针对目标节点对应的任意一个网络地址,至该网络地址的转发路径可以是一个,即通过最短路径算法计算得到的最短时延转发路径,也可以是最优转发路径,也可以是多个,包括最短时延转发路径、次短时延转发路径等。
当一个目标节点对于至少两个网络地址时,这样就会存在至少两条转发路径至目标节点。例如转发路径1和转发路径2,其中转发路径1和转发路径2的源IP相同,目的IP不同,两条转发路径各对应一个目标节点的IP地址,假设转发路径1的目标IP为IP地址1,转发路径2的目的IP为IP地址2,这两条转发路径为根据最短路径算法计算得到的分别至IP地址1和IP地址2的最短时延路径,此外还可将至IP地址1的次短时延路径作为转发路径3,将至IP地址2的次短时延路径作为转发路径4,等。
其中,查询的转发路径的数量与预先配置的路由策略相关,根据路由策略具体可分为以下几种情况:
路由策略一、最短时延路径策略。
针对该路由策略,则从目标节点对应的每个网络地址的转发路径中选取最优转发路径,将最优转发路径的路径信息作为由转发节点至目标节点的转发路径的路径信息,并返回给转发节点。
其中,最短时延路径策略则是指根据最短路径算法计算得到至目标节点的最优转发路径,其中,最短路径算法包括弗洛伊德(Floyd)算法,迪杰斯特拉(Dijkstra)算法等。
例如,目标节点1对应有3个IP地址:IP地址A、IP地址B、IP地址C,其中分别对应北京、上海、天津三个地方的服务器,假设用户在天津发起访问目标节点的访问请求,则通过最短时延路径策略确定的转发路径的目的IP为IP地址C。
路由策略二、带权重的多条路径策略。
其中,每条转发路径都设置有相应的权重,每条转发路径对应的权重用于表示根据负载均衡原理确定的转发节点通过该转发路径转发访问请求的优先级;若某一转发路径的权重越大,则表明转发节点依据该转发路径转发访问请求的优先级越高,通过该转发路径进行转发的概率就越大。
针对该路由策略,则将目标节点对应的每个网络地址的转发路径的路径信息都作为由转发节点至目标节点的转发路径的路径信息,返回给转发节点,并为目标节点对应的每个网络地址的转发路径设置相应的权重。
仍以目标节点1为例,通过带权重的多条路径策略确定的了三条转发路径分别是目的IP为IP地址A的最短时延转发路径A,目的IP地址为IP地址B的最短时延转发路径B,以及IP地址C的最短时延转发路径C。
其中,最短时延转发路径A、最短时延转发路径B、最短时延转发路径C的权重可根据负载均衡原理确定,保证3个IP地址的目标节点负载均衡,也可人为自行设定。例如,最短时延转发路径A的权重为60%、最短时延转发路径B为30%、最短时延转发路径C为10%。
路由策略三、主备路径策略。
针对该路由策略,则从目标节点对应的每个网络地址的转发路径中选择至少两条转发路径,将选择的转发路径的路径信息作为由转发节点至目标节点的转发路径的路径信息,其中至少一条转发路径作为主转发路径,至少一条转发路径作为备选转发路径。
仍以目标节点1为例,假设通过主备路径策略确定的两条主转发路径以及两条备选转发路径,其中两条主转发路径为目的IP为IP地址C的最短时延转发路径C和次短时延路径C’,两条备选转发路径为目的IP地址为IP地址B的最短时延转发路径B,以及IP地址A的最短时延转发路径A;或者选择距离天津较近的北京,将目标IP为IP地址A的最短时延转发路径A以及次短时段转发路径A’作为备选转发路径等,在此不做具体限定。
在上述实施方式中,根据不同的路由策略来确定转发路径的路径信息,更加利于实现负载均衡,提高加速服务的可用性。
需要说明的是,上述实施方式既可适用于智能路由服务器仅依据各个转发节点的状态信息查询转发路径的路径信息的方式,也可适用于智能路由服务器依据各个转发节点的状态信息以及云加速网络之外的节点的状态信息查询转发路径的路径信息的方式,在此不做具体限定。
S33:将路径信息发送给转发节点,以使转发节点根据路径信息将访问请求转发至目标节点。
在本申请实施例中,转发节点接收到智能路由服务器下发的转发路径的路径信息后,通过该转发路径的路径信息转发访问请求。
参阅图6所示,为本申请实施例提供的另一种路由控制方法的实施流程图,应用于转发节点,该方法的具体实施流程如下:
S61:获得第一转发路径的路径信息。
其中,第一转发路径的路径信息是智能路由服务器接收到路由查询请求后,根据云加速网络中各个转发节点的状态信息确定的,第一转发路径用于在云加速网络中转发针对目标节点的访问请求;
可选的,第一转发路径的路径信息也可以是智能路由服务器根据接云加速网络中各个转发节点的状态信息,以及云加速网络之外的节点的状态信息确定的。
需要说明的是,智能路由服务器根据云加速网络中各个转发节点的状态信息,或者根据云加速网络中各个转发节点的状态信息以及云加速网络之外的节点的状态信息确定第一转发路径的路径信息的具体实现方式可参见上述实施例,这里不再赘述。
在一种可选的实施方式中,转发节点根据转发路径的路径信息进行访问请求的转发时,可将访问请求与接收到的转发路径的路径信息进行打包,一起发送给下一跳转发节点,以使下一跳转发节点直接根据接收到的转发路径的路径信息转发访问请求,而不需要再向智能路由服务器发送访问请求进行查询,以免转发路径的路径信息的重复查询,提高访问请求的转发效率。
例如,第一转发路径为:转发节点1->转发节点2->转发节点3->目标节点X。第一转发路径的路径信息包括各个转发节点的下一跳的IP地址等信息。
其中,转发节点1为第一跳转发节点,转发节点3为最后一跳转发节点,转发节点1在接收到访问请求后,则需要根据访问请求生成路由查询请求并发送给智能路由设备,在接收到智能路由设备下发的第一转发路径的路径信息后,确定其下一跳转发节点为转发节点3,此时则可将转发路径的路径信息与访问请求一同发送给转发节点2,以便转发节点2在接收到访问请求和转发路径的路径信息后,直接根据转发路径的路径信息将访问请求转发给转发节点3即可,无需再向智能路由服务器发送路由查询请求。
由上述实施方式可知,在本申请实施例中,获得智能路由服务器下发的在云加速网络中转发针对目标节点的访问请求的第一转发路径的路径信息的方式,主要可分为以下两种:
获得方式一、接收智能路由服务器直接发送的第一转发路径的路径信息,其中路由查询请求为接收到访问请求后,根据访问请求生成的。
该方式适用于第一跳转发节点,例如上述实施例中所列举转发节点1;或者是其他转发节点,且该转发节点的上一跳转发节点未将获取到的转发路径的路径信息发送给该转发节点。
假设,上述实施例中的转发节点2只是将访问请求发送给了转发节点3,则转发节点3仍需要向智能路由服务器发送路由查询请求。
获得方式二、接收云加速网络中的其他转发节点发送的第一转发路径的路径信息。
该方式适用于第一跳之后的转发节点,且该转发节点的上一跳转发节点将访问请求以及转发路径的路径信息一同发送给该转发节点,例如上述实施例中所列举的转发节点2。
考虑到智能路由服务器可以周期更新路由表,因而在一定时间内,访问同一目标节点的转发路径的路径信息不会发生变化,因而在一种可选的实施方式中,转发节点接收到转发路径的路径信息后,可将转发路径的路径信息缓存到本地。
该方式下,转发节点在接收到访问请求后,根据访问请求生成路由查询请求之前,还需要首先查询一下本地是否缓存有有效的第二转发路径的路径信息。
在本申请实施例中,第一转发路径的路径信息指智能路由服务器在接收到转发节点的访问请求后直接下发的转发路径的路径信息;第二转发路径的路径信息指缓存在转发节点本地的转发路径的路径信息。
可选的,若确定本地未缓存有在云加速网络中将访问请求转发至目标节点的第二转发路径的路径信息,则表明不存在有效的第二转发路径的路径信息,仍需要向智能路由服务器发送路由查询请求,查询相应的第一转发路径的路径信息。
例如,转发节点1查询到本地转存有一条第二转发路径为:转发节点1->转发节点2->转发节点3->目标节点X,该第二转发路径的路径信息为之前用户1访问目标节点X时缓存到转发节点1本地的,但是此次转发节点1接收到的是访问目标节点Y的访问请求。此时表明转发节点1本地不存在有效的第二转发路径的路径信息,
可选的,若确定本地缓存有在云加速网络中将访问请求转发至目标节点的第二转发路径的路径信息,且第二转发路径的路径信息的使用期限超过第二预设时长,则表明不存在有效的第二转发路径的路径信息,仍需要向智能路由服务器发送路由查询请求,查询相应的第一转发路径的路径信息。
例如,转发节点1查询到本地转存有一条第二转发路径为:转发节点1->转发节点2->转发节点3->目标节点X,该第二转发路径的路径信息为之前用户1访问目标节点X时缓存到转发节点1本地的,虽然此次转发节点1接收到的是用户2访问目标节点X的访问请求,目标节点相同,但是该转发路径的路径信息的使用时限已超过第二预设时长,表明此转发路径的路径信息已过期,其中的转发节点的状态信息可能已发生改变,不再适合此时进行转发。
可选的,若确定本地缓存有在云加速网络中将访问请求转发至目标节点的第二转发路径的路径信息,且第二转发路径的路径信息的使用期限未超过第二预设时长,表明本地缓存有有效的第二转发路径的路径信息,则可通过有效的第二转发路径的路径信息将访问请求转发至目标节点。
例如,在1分钟前,转发节点1接收到用户1访问目标节点X的访问请求,并获得智能路由服务器下发的转发路径的路径信息保存到本地,1分钟后,转发节点1又接收到用户2访问目标节点X的访问请求,在本地查询到之前缓存的转发路径的路径信息,且该转发路径的路径信息的使用期限未超过第二预设时长。
上述实施方式,比较适用于同一时间段内不同用户访问同一目标节点的情况,该方式下,转发节点无需每接收到一次访问请求,则向智能路由服务器进行一次查询,减少了智能路由服务器的工作量,减轻了网络负担,提升了转发效率。
S62:根据第一转发路径的路径信息将访问请求转发至目标节点。
在本申请实施例中,若第一转发路径只有一条,则直接通过该条第一转发路径的路径信息将访问请求转发至目标节点。
若第一转发路径有多条,则可从多条第一转发路径中选择一条,根据选择的第一转发路径的路径信息进行转发,具体可分为以下两种选择方式:
选择方式一、若第一转发路径设置有相应的权重,则根据各第一转发路径对应的权重选择一条第一转发路径,并根据选择的第一转发路径的路径信息将访问请求转发至目标节点,其中每条第一转发路径对应的权重用于表示根据负载均衡原理确定的转发节点通过第一转发路径转发访问请求的优先级。
例如,有三条设置有权重的第一转发路径,分别为:最短时延转发路径A,权重为60%;最短时延转发路径B,权重30%;最短时延转发路径C,权重10%则优先选择最短时延转发路径A进行转发。
选择方式二、若第一转发路径包括至少一条主转发路径以及至少一条备选转发路径,则从至少一条主转发路径中选择一条主转发路径,并根据选择的主转发路径的路径信息将访问请求转发至目标节点。
需要说明的是,上述选择方式也适用于确定多条有效的第二转发路径的方式,可采用上述两条选择方式,根据权重或主备从中选择一条第二转发路径,根据选择的第二转发路径的路径信息转发访问请求。并且,在选择的第一转发路径或第二转发路径不通,导致转发失败时,则可从剩余的第一转发路径或第二转发路径中再重新选择一条进行转发,直至转发成功。这样能保证一个目标节点被访问时,能最大限度提供高速稳定的访问体验,尽可能将路由跳数最小的那个网络地址作为访问的目标节点的网络地址。同时,在有多条转发路径时,当其中一个出现问题,则可实现故障自动切换,提高网络可用性,并提高资源利用率。
在本申请实施例中,转发节点可实时监听指定端口,针对用户发送的访问请求,是发送至转发节点的80和443端口,针对云加速网络内部的转发节点之间,是通过8889端口进行转发。因而根据接收到访问请求的端口的端口号则可确定是终端设备发送的访问请求,还是转发节点转发的访问请求。
可选的,在进行数据转发时,针对任意一个转发节点,若接收到的是其他转发节点转发的数据,则首先解析得到数据中的转发路径的路径信息,并检查下一跳节点是否是目标节点,若是目标节点,则去除转发路径的路径信息,只将访问请求转发至目标节点;若下一跳节点仍然是内部转发节点,则将转发路径的路径信息和访问请求一并转发至下一跳节点。
上述实施方式,可以有效避免重复查询智能路由服务器。
参阅图7所示,为本申请实施例提供的一种转发节点转发数据的流程图,具体包括以下步骤:
S71:监听指定端口;
S72:判断指定端口接收到的消息是否是终端设备发送的针对目标节点的访问请求,如果是,则执行S73,否则执行S74;
S73:判断本地是否缓存有与目标节点的域名对应的有效的转发路径的路径信息,如果是,则执行S75,否则执行S76;
S74:解析监听到的消息中的转发路径的路径信息;
S75:使用缓存的有效转发路径的路径信息转发访问请求;
S76:根据访问请求生成路由查询请求,并发送给智能路由服务器;
S77:接收智能路由服务器下发的转发路径的路径信息;
S78:检查下一跳节点是否是目标节点,如果是,则执行S79,否则执行S710;
S79:直接转发访问请求至目标节点;
S710:将转发路径的路径信息和访问请求一并转发至下一跳的转发节点。
可选的,上述实施方式中仅仅对转发路径的路径信息或访问请求等数据进行转发,而不关心数据内容,所以转发数据都是使用的短连接,即在需要传输数据时先建立连接,然后传输数据,最后关闭连接。这样的转发方式会带来大量的建立连接和关闭连接的过程,对于转发节点较多的转发路径的路径信息而言,这样的转发方式无疑会使得进一步优化平均访问时延变得困难。
在一种可选的实施方式中,针对指定类型的数据,可采用长连接进行数据转发。其中,指定类型指音视频数据、游戏数据、HTTPS协议的握手过程中的数据等。
其中,需要建立长连接或短连接有两部分:第一跳转发节点与终端设备之间,最后一跳转发节点与目标节点之间。在本申请实施例中这两个部分不相关,可以仅在最后一跳转发节点与目标节点之间建立长连接,也可以仅在第一跳转发节点与终端设备之间建立长连接,也可以在两部分都建立长连接。
上述实施方式,建立长连接之后,后面的请求都可复用一条长连接,例如游戏数据或者是HTTP三次握手,音视频等特定场景下的数据传输,数据需要持续发送和接收,因而一般都需要多次请求,该情况下则可采用长连接的方式,在第一次请求时建立长连接,之后的第二次请求、第三次请求等则可复用之前建立长连接,不需要重新建立,可以解决大量的建立连接和关闭连接的时间。
参阅图8所示,为本申请实施例提供的一种路由控制的交互时序图。该方法的具体实施流程如下:
S801:用户需要访问某个目标节点时,触发客户端向DNS服务器发送域名解析请求,请求中携带目标节点的域名;
S802:DNS服务器将该域名解析为云加速网络加速域名,并将解析得到的云加速网络加速域名发送给客户端;
S803:客户端将获得的云加速网络加速域名发送给云加速DNS服务器;
S804:云加速DNS服务器解析目标节点的云加速网络加速域名,获取云加速网络的入口地址,并将入口地址发送给客户端;
S805:客户端将针对目标节点的访问请求发送到云加速网络中离用户最近的转发节点1处,其中转发节点1是根据入口地址确定的;
S806:转发节点1向智能路由服务器发送路由查询请求;
S807:智能路由服务器向转发节点1发送该转发节点到目标节点的转发路径的路径信息,假设转发路径为转发节点1->转发节点2–>转发节点3–>目标节点;
S808:转发节点1接收到转发路径的路径信息后,将转发路径的路径信息以及访问请求一起转发给转发节点2;
S809:转发节点2识别出数据为转发节点1发送的数据,从而解析出数据中的转发路径的路径信息,且发现下一跳节点仍然是内部转发节点,所以将转发路径的路径信息与访问请求一并转发给转发节点3;
S810:转发节点3识别出数据为转发节点2发送的数据,从而解析出数据中的转发路径的路径信息,且发现下一跳节点为目标节点,所以去除转发路径的路径信息,只转发访问请求至目标节点;
S811:目标节点接收到访问请求后正常服务,发送响应消息至转发节点3;
S812:转发节点3根据之前的转发路径的路径信息将目标节点的响应消息转发给转发节点2;
S813:转发节点2根据之前的转发路径的路径信息将目标节点的响应消息转发给转发节点1;
S814:转发节点1将目标节点的响应消息转发给客户端。
其中,客户端可以指终端设备,也可以指终端设备上安装的应用程序、浏览器、小程序等。
在本申请实施例中,转发节点只需要将目标节点的域名以及该域名对应的网络地址告知智能路由服务器,或者只是将该域名对应的网络地址告知智能路由服务器即可,通过智能路由服务器来动态确定转发路径的路径信息,能够屏蔽云加速网络中的故障转发节点,得到较好的加速效果,在此基础上使得接入到云加速网络的所有访问请求能够得到访问时延最低或者是最优的转发路径的路径信息。
此外,对客户端而言,使用云加速网络进行加速服务是透明的,用户无需改变任何操作方式,且所有的访问请求能够更快的得到响应;对于网络管理员而言,减少了大量的配置工作,并且能自动屏蔽硬件故障的转发节点,节约了维护成本;对于云加速网络之外的节点而言,只需要在DNS服务器进行简单修改,将访问该节点的请求解析到云加速DNS服务器即可,接入门槛难度很低,便于实现,且成本较低。
如图9所示,其为本申请实施例提供的第一种路由控制装置900的结构示意图,其中路由控制装置900为智能路由服务器,该装置包括:
接收单元901,用于接收转发节点发送的路由查询请求,其中路由查询请求是由转发节点根据针对目标节点的访问请求生成的;
查询单元902,用于根据云加速网络中各个转发节点的状态信息获得转发路径的路径信息,其中转发路径用于在云加速网络中转发访问请求;
发送单元903,用于将路径信息发送给转发节点,以使转发节点根据路径信息将访问请求转发至目标节点。
在一种可选的实施方式中,查询单元902具体用于:
根据预先配置的路由策略,从路由表中查询由转发节点至目标节点的至少一条转发路径的路径信息,其中路由表包括云加速网络中可用的转发节点以及每两个转发节点之间的第一网络距离,第一网络距离是根据转发节点的状态信息确定的。
在一种可选的实施方式中,路由表中还包括转发节点与云加速网络之外的节点之间的第二网络距离,第二网络距离是根据转发节点的状态信息以及云加速网络之外的节点的状态信息确定的。
在一种可选的实施方式中,路由查询请求包括目标节点对应的至少一个网络地址,查询单元902具体用于:
若路由查询请求包括目标节点对应的一个网络地址,则从路由表中查询由转发节点至目标节点的最优转发路径的路径信息;
若路由查询请求包括目标节点对应的至少两个网络地址,则分别从路由表中查询由转发节点至目标节点对应的每个网络地址的转发路径的路径信息。
在一种可选的实施方式中,查询单元902具体用于:
从目标节点对应的每个网络地址的转发路径中选取最优转发路径,将最优转发路径的路径信息作为由转发节点至目标节点的转发路径的路径信息;或
将目标节点对应的每个网络地址的转发路径的路径信息,作为由转发节点至目标节点的转发路径的路径信息,并为目标节点对应的每个网络地址的转发路径设置权重,其中每条转发路径对应的权重用于表示根据负载均衡原理确定的转发节点通过转发路径转发访问请求的优先级;或
从目标节点对应的每个网络地址的转发路径中选择至少两条转发路径,将选择的转发路径的路径信息作为由转发节点至目标节点的转发路径的路径信息,其中至少一条转发路径作为主转发路径,至少一条转发路径作为备选转发路径。
在一种可选的实施方式中,各个转发节点的状态信息,是各个转发节点对其他转发节点进行探测并上报的;
云加速网络之外的节点的状态信息,是各个转发节点对云加速网络之外的节点进行探测并上报的。
在一种可选的实施方式中,该装置还包括:
更新单元904,用于在路由表中删除第一预设时长内未上报其他转发节点状态信息的转发节点。
如图10所示,其为本申请实施例提供的第二种路由控制装置1000的结构示意图,其中路由控制装置1000为转发节点,该装置包括:
路径获取单元1001,用于获得第一转发路径的路径信息,其中第一转发路径的路径信息是智能路由服务器接收到路由查询请求后根据云加速网络中各个转发节点的状态信息确定的,第一转发路径用于在云加速网络中转发针对目标节点的访问请求;
转发单元1002,用于根据第一转发路径的路径信息将访问请求转发至目标节点。
在一种可选的实施方式中,第一转发路径的路径信息是智能路由服务器根据云加速网络中各个转发节点的状态信息,以及云加速网络之外的节点的状态信息确定的。
在一种可选的实施方式中,该装置还包括:
探测单元1003,用于通过对云加速网络中的其他转发节点进行探测,确定其他转发节点的状态信息,并上报给智能路由服务器,以使智能路由服务器根据转发节点的状态信息确定每两个转发节点之间的第一网络距离;以及
通过对云加速网络之外的节点进行探测,确定云加速网络之外的节点的状态信息,并上报给智能路由服务器,以使智能路由服务器根据转发节点的状态信息以及云加速网络之外的节点的状态信息确定转发节点与云加速网络之外的节点之间的第二网络距离。
在一种可选的实施方式中,路径获取单元1001具体用于:
接收智能路由服务器直接发送的第一转发路径的路径信息,其中路由查询请求为接收到访问请求后,根据访问请求生成的;或
接收云加速网络中的其他转发节点发送的第一转发路径的路径信息。
在一种可选的实施方式中,若第一转发路径的路径信息是智能路由服务器直接发送的,则路径获取单元1001还用于:
在接收到访问请求后,根据访问请求生成路由查询请求之前:
确定本地未缓存有在云加速网络中将访问请求转发至目标节点的第二转发路径的路径信息;或
确定本地缓存有在云加速网络中将访问请求转发至目标节点的第二转发路径的路径信息,且第二转发路径的路径信息的使用期限超过第二预设时长。
在一种可选的实施方式中,路径获取单元1001还用于:
在接收到访问请求后,若确定本地缓存有在云加速网络中将访问请求转发至目标节点的第二转发路径的路径信息,且第二转发路径的路径信息的使用期限未超过第二预设时长,则通过第二转发路径的路径信息将访问请求转发至目标节点。
在一种可选的实施方式中,若第一转发路径的数量为至少两条,转发单元1002具体用于:
若第一转发路径设置有相应的权重,则根据各第一转发路径对应的权重选择一条第一转发路径,并根据选择的第一转发路径的路径信息将访问请求转发至目标节点,其中每条第一转发路径对应的权重用于表示根据负载均衡原理确定的转发节点通过第一转发路径转发访问请求的优先级;
若第一转发路径包括至少一条主转发路径以及至少一条备选转发路径,则从至少一条主转发路径中选择一条主转发路径,并根据选择的主转发路径的路径信息将访问请求转发至目标节点。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,本申请实施例还提供一种电子设备,如图11所示,电子设备1100至少包括处理器1101和存储器1102。
其中,存储器1102存储有程序代码,当程序代码被处理器1101执行时,使得处理器1101执行本说明书中描述的根据本申请各种示例性实施方式的路由控制方法中的步骤。例如,处理器1101可以执行如图3或图6中所示的步骤。
本申请实施例还提供一种计算装置,在一些可能的实施方式中,根据本申请的计算装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,存储单元存储有程序代码,当程序代码被处理单元执行时,使得处理单元执行本说明书上述描述的根据本申请各种示例性实施方式的路由控制方法中的步骤。例如,处理单元可以执行如图3或图6中所示的步骤。
参阅图12所示为本申请实施例中的一种计算装置的示意图。图12的计算装置120仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12,计算装置120以通用计算装置的形式表现。计算装置120的组件可以包括但不限于:上述至少一个处理单元121、上述至少一个存储单元122、连接不同系统组件(包括存储单元122和处理单元121)的总线123。
总线123表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元122可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1221和/或高速缓存存储单元1222,还可以进一步包括只读存储器(ROM)1223。
存储单元122还可以包括具有一组(至少一个)程序模块1224的程序/实用工具1225,这样的程序模块1224包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置120也可以与一个或多个外部设备124(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置120交互的设备通信,和/或与使得该计算装置120能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口125进行。并且,计算装置120还可以通过网络适配器126与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器126通过总线123与用于计算装置120的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置120使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的路由控制方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的路由控制方法中的步骤,例如,电子设备可以执行如图4所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的路由控制的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种路由控制方法,其特征在于,该方法包括:
接收转发节点发送的路由查询请求,其中所述路由查询请求是由所述转发节点根据针对目标节点的访问请求生成的;
根据云加速网络中各个转发节点的状态信息获得转发路径的路径信息,其中所述转发路径用于在所述云加速网络中转发所述访问请求;
将所述路径信息发送给所述转发节点,以使所述转发节点根据所述路径信息将所述访问请求转发至所述目标节点。
2.如权利要求1所述的方法,其特征在于,所述根据云加速网络中各个转发节点的状态信息获得转发路径的路径信息,包括:
根据预先配置的路由策略,从路由表中查询由所述转发节点至所述目标节点的至少一条转发路径的路径信息,其中所述路由表包括所述云加速网络中可用的转发节点以及每两个转发节点之间的第一网络距离,所述第一网络距离是根据转发节点的状态信息确定的。
3.如权利要求2所述的方法,其特征在于,所述路由表中还包括转发节点与所述云加速网络之外的节点之间的第二网络距离,所述第二网络距离是根据转发节点的状态信息以及所述云加速网络之外的节点的状态信息确定的。
4.如权利要求2或3所述的方法,其特征在于,所述路由查询请求包括所述目标节点对应的至少一个网络地址,所述根据预先配置的路由策略,从路由表中查询由所述转发节点至所述目标节点的至少一条转发路径的路径信息,包括:
若所述路由查询请求包括所述目标节点对应的一个网络地址,则从所述路由表中查询由所述转发节点至所述目标节点的最优转发路径的路径信息;
若所述路由查询请求包括所述目标节点对应的至少两个网络地址,则分别从所述路由表中查询由所述转发节点至所述目标节点对应的每个网络地址的转发路径的路径信息。
5.如权利要求4所述的方法,其特征在于,若所述路由查询请求包括所述目标节点对应的至少两个网络地址,则所述根据预先配置的路由策略,确定由所述转发节点至所述目标节点的至少一条转发路径的路径信息,还包括:
从所述目标节点对应的每个网络地址的转发路径中选取最优转发路径,将所述最优转发路径的路径信息作为由所述转发节点至所述目标节点的转发路径的路径信息;或
将所述目标节点对应的每个网络地址的转发路径的路径信息,作为由所述转发节点至所述目标节点的转发路径的路径信息,并为所述目标节点对应的每个网络地址的转发路径设置权重,其中每条转发路径对应的权重用于表示根据负载均衡原理确定的转发节点通过所述转发路径转发访问请求的优先级;或
从所述目标节点对应的每个网络地址的转发路径中选择至少两条转发路径,将选择的转发路径的路径信息作为由所述转发节点至所述目标节点的转发路径的路径信息,其中至少一条转发路径作为主转发路径,至少一条转发路径作为备选转发路径。
6.如权利要求3所述的方法,其特征在于,所述各个转发节点的状态信息,是各个转发节点对其他转发节点进行探测并上报的;
所述云加速网络之外的节点的状态信息,是各个转发节点对所述云加速网络之外的节点进行探测并上报的。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
在路由表中删除第一预设时长内未上报其他转发节点状态信息的转发节点。
8.一种路由控制方法,其特征在于,该方法包括:
获得第一转发路径的路径信息,其中所述第一转发路径的路径信息是智能路由服务器接收到路由查询请求后,根据云加速网络中各个转发节点的状态信息确定的,所述第一转发路径用于在所述云加速网络中转发针对目标节点的访问请求;
根据所述第一转发路径的路径信息将所述访问请求转发至所述目标节点。
9.如权利要求8所述的方法,其特征在于,所述获得第一转发路径的路径信息,包括:
接收所述智能路由服务器直接发送的所述第一转发路径的路径信息,其中所述路由查询请求为接收到所述访问请求后,根据所述访问请求生成的;或
接收所述云加速网络中的其他转发节点发送的所述第一转发路径的路径信息。
10.如权利要求9所述的方法,其特征在于,若所述第一转发路径的路径信息是所述智能路由服务器直接发送的,则在接收到所述访问请求后,根据所述访问请求生成所述路由查询请求之前,还包括:
确定本地未缓存有在所述云加速网络中将所述访问请求转发至所述目标节点的第二转发路径的路径信息;或
确定本地缓存有在所述云加速网络中将所述访问请求转发至所述目标节点的第二转发路径的路径信息,且所述第二转发路径的路径信息的使用期限超过第二预设时长。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
在接收到所述访问请求后,若确定本地缓存有在所述云加速网络中将所述访问请求转发至所述目标节点的第二转发路径的路径信息,且所述第二转发路径的路径信息的使用期限未超过所述第二预设时长,则通过所述第二转发路径的路径信息将所述访问请求转发至所述目标节点。
12.如权利要求8~10任一所述的方法,其特征在于,若第一转发路径的数量为至少两条,所述根据所述第一转发路径的路径信息将所述访问请求转发至所述目标节点,包括:
若第一转发路径设置有相应的权重,则根据各第一转发路径对应的权重选择一条第一转发路径,并根据选择的第一转发路径的路径信息将所述访问请求转发至所述目标节点,其中每条第一转发路径对应的权重用于表示根据负载均衡原理确定的转发节点通过第一转发路径转发访问请求的优先级;
若第一转发路径包括至少一条主转发路径以及至少一条备选转发路径,则从所述至少一条主转发路径中选择一条主转发路径,并根据选择的主转发路径的路径信息将所述访问请求转发至所述目标节点。
13.一种路由控制装置,其特征在于,包括:
接收单元,用于接收转发节点发送的路由查询请求,其中所述路由查询请求是由所述转发节点根据针对目标节点的访问请求生成的;
查询单元,用于根据云加速网络中各个转发节点的状态信息获得转发路径的路径信息,其中所述转发路径用于在所述云加速网络中转发所述访问请求;
发送单元,用于将所述路径信息发送给所述转发节点,以使所述转发节点根据所述路径信息将所述访问请求转发至所述目标节点。
14.一种路由控制装置,其特征在于,包括:
路径获取单元,用于获得第一转发路径的路径信息,其中所述第一转发路径的路径信息是所述智能路由服务器接收到路由查询请求后根据云加速网络中各个转发节点的状态信息确定的,所述第一转发路径用于在所述云加速网络中转发针对目标节点的访问请求;
转发单元,用于根据所述第一转发路径的路径信息将所述访问请求转发至所述目标节点。
15.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1至12中任一项所述方法的步骤。
CN202010031982.6A 2020-01-13 2020-01-13 一种路由控制方法、装置、电子设备和存储介质 Active CN111277630B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010031982.6A CN111277630B (zh) 2020-01-13 2020-01-13 一种路由控制方法、装置、电子设备和存储介质
PCT/CN2020/122102 WO2021143239A1 (zh) 2020-01-13 2020-10-20 路由控制方法、装置、电子设备和存储介质
EP20914645.5A EP4044559B1 (en) 2020-01-13 2020-10-20 Routing control method and apparatus, electronic device, and storage medium
JP2022517155A JP7345059B2 (ja) 2020-01-13 2020-10-20 ルーティング制御方法、装置、プログラム及びコンピュータ装置
US17/735,001 US20220263756A1 (en) 2020-01-13 2022-05-02 Routing control method and apparatus, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010031982.6A CN111277630B (zh) 2020-01-13 2020-01-13 一种路由控制方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111277630A true CN111277630A (zh) 2020-06-12
CN111277630B CN111277630B (zh) 2022-09-09

Family

ID=70998855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010031982.6A Active CN111277630B (zh) 2020-01-13 2020-01-13 一种路由控制方法、装置、电子设备和存储介质

Country Status (5)

Country Link
US (1) US20220263756A1 (zh)
EP (1) EP4044559B1 (zh)
JP (1) JP7345059B2 (zh)
CN (1) CN111277630B (zh)
WO (1) WO2021143239A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901240A (zh) * 2020-07-17 2020-11-06 厦门网宿有限公司 一种路由更新方法、网络加速系统、服务器及交换机
WO2021143239A1 (zh) * 2020-01-13 2021-07-22 腾讯科技(深圳)有限公司 路由控制方法、装置、电子设备和存储介质
CN114301951A (zh) * 2021-05-14 2022-04-08 中国人民解放军战略支援部队信息工程大学 一种信息流可视化展示方法及系统
WO2022218341A1 (zh) * 2021-04-16 2022-10-20 华为云计算技术有限公司 一种数据转发方法及相关装置
CN116389349A (zh) * 2023-06-06 2023-07-04 天翼云科技有限公司 一种节点自治的混合云数据传输方法及系统
CN116471283A (zh) * 2023-06-20 2023-07-21 北京中宏立达科技发展有限公司 一种文件传输方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979287A (zh) * 2022-05-17 2022-08-30 安徽安联云服务有限公司 一种多云平台管理系统
CN115037690A (zh) * 2022-06-21 2022-09-09 阿里巴巴(中国)有限公司 一种流量调度方法、装置、电子设备及存储介质
CN115695280A (zh) * 2022-09-06 2023-02-03 中国电信股份有限公司 基于边缘节点的路由方法及装置、电子设备、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012152751A1 (en) * 2011-05-12 2012-11-15 Telefonica, S.A. A method and a tracker for content delivery through a content delivery network
CN104954219A (zh) * 2014-03-27 2015-09-30 北京奇虎科技有限公司 Cdn网络访问路径优化方法、装置及系统
CN105704034A (zh) * 2016-04-05 2016-06-22 网宿科技股份有限公司 接入网络的方法和中央服务器
US20170359261A1 (en) * 2016-06-08 2017-12-14 Futurewei Technologies, Inc. Proactive load balancing based on fractal analysis
CN109787868A (zh) * 2019-03-18 2019-05-21 网宿科技股份有限公司 一种选取路由路径的方法、系统及服务器

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129156A (ja) * 2002-10-07 2004-04-22 Ntt Docomo Inc 経路制御システム、経路制御装置、転送装置及び経路制御方法
JP2008135914A (ja) * 2006-11-28 2008-06-12 Nec Corp 経路制御方法および通信ノード
US20100284269A1 (en) * 2009-05-07 2010-11-11 Shan Zhu Multi-Node State Recovery for a Communication Network
KR101438982B1 (ko) * 2009-12-18 2014-09-11 인텔 코오퍼레이션 무리 지능을 사용하는 대규모 분산 시스템에서 정보 라우팅을 위해 프레임워크를 이용하는 시스템 및 방법
WO2011083846A1 (ja) * 2010-01-08 2011-07-14 日本電気株式会社 通信システム、転送ノード、経路管理サーバおよび通信方法
EP2647166B1 (en) * 2010-12-01 2020-04-01 Nec Corporation Communication system, control device, communication method, and program
JP2012222461A (ja) * 2011-04-05 2012-11-12 Springsoft Inc ネットワークシステム
JP5939298B2 (ja) * 2011-09-16 2016-06-22 日本電気株式会社 通信端末、通信方法および通信システム
US9898317B2 (en) * 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
CN108027805B (zh) * 2012-09-25 2021-12-21 A10网络股份有限公司 数据网络中的负载分发
US9917865B2 (en) * 2012-10-16 2018-03-13 Citrix Systems, Inc. Systems and methods for bridging between public and private clouds through multilevel API integration
EP2922252B1 (en) * 2014-03-21 2017-09-13 Juniper Networks, Inc. Selectable service node resources
CN104158739B (zh) * 2014-08-29 2017-11-14 新华三技术有限公司 一种ip流量工程管理方法以及装置
US9634928B2 (en) * 2014-09-29 2017-04-25 Juniper Networks, Inc. Mesh network of simple nodes with centralized control
WO2016078071A1 (zh) * 2014-11-21 2016-05-26 华为技术有限公司 通信系统、控制节点和通信方法
US10079877B2 (en) * 2016-02-04 2018-09-18 Citrix Systems, Inc. System and method for cloud aware application delivery controller
EP3468117B1 (en) * 2016-07-01 2023-05-24 Huawei Technologies Co., Ltd. Service function chaining (sfc)-based packet forwarding method, device and system
WO2018077864A1 (en) * 2016-10-26 2018-05-03 Philips Lighting Holding B.V. Method and apparatus for dynamic tree building in mesh networks
CN108023812B (zh) * 2016-10-31 2021-06-08 华为技术有限公司 云计算系统的内容分发方法及装置、计算节点及系统
US11843577B2 (en) * 2016-12-13 2023-12-12 Zscaler, Inc. Fingerprinting to identify devices and applications for use in management and policy in the cloud
US10320677B2 (en) * 2017-01-02 2019-06-11 Microsoft Technology Licensing, Llc Flow control and congestion management for acceleration components configured to accelerate a service
US11706127B2 (en) * 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US20190238449A1 (en) * 2017-01-31 2019-08-01 The Mode Group High performance software-defined core network
US10708152B2 (en) * 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10693671B2 (en) * 2017-12-18 2020-06-23 Cisco Technology, Inc. Distributing traffic to multiple destinations via an isolation network
US20190199626A1 (en) * 2017-12-26 2019-06-27 Cisco Technology, Inc. Routing traffic across isolation networks
CN109547966B (zh) * 2018-12-27 2021-12-17 国网江苏省电力有限公司南京供电分公司 输电线路无线传感器网络的路由规划及故障诊断备份方法
US11425216B2 (en) * 2019-04-01 2022-08-23 Cloudflare, Inc. Virtual private network (VPN) whose traffic is intelligently routed
US20200328977A1 (en) * 2019-04-10 2020-10-15 Cisco Technology, Inc. Reactive approach to resource allocation for micro-services based infrastructure
CN109995653B (zh) * 2019-04-15 2021-07-09 深圳市迅雷网络技术有限公司 跨节点的数据传输方法、装置、系统及可读存储介质
US11470535B1 (en) * 2019-04-25 2022-10-11 Edjx, Inc. Systems and methods for locating server nodes in close proximity to edge devices using georouting
US10922250B2 (en) * 2019-04-30 2021-02-16 Microsoft Technology Licensing, Llc Monitoring and steering service requests to acceleration components
US11784912B2 (en) * 2019-05-13 2023-10-10 Cloudflare, Inc. Intelligently routing internet traffic
US11706162B2 (en) * 2019-10-21 2023-07-18 Sap Se Dynamic, distributed, and scalable single endpoint solution for a service in cloud platform
CA3159014A1 (en) * 2019-11-29 2021-06-03 Sri Ram Kishore Vemulpali Intelligent service layer for separating application from physical networks and extending service layer intelligence
CN113162779B (zh) * 2020-01-07 2024-03-05 华为云计算技术有限公司 一种多云互联的方法及设备
CN111277630B (zh) * 2020-01-13 2022-09-09 腾讯科技(深圳)有限公司 一种路由控制方法、装置、电子设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012152751A1 (en) * 2011-05-12 2012-11-15 Telefonica, S.A. A method and a tracker for content delivery through a content delivery network
CN104954219A (zh) * 2014-03-27 2015-09-30 北京奇虎科技有限公司 Cdn网络访问路径优化方法、装置及系统
CN105704034A (zh) * 2016-04-05 2016-06-22 网宿科技股份有限公司 接入网络的方法和中央服务器
US20170359261A1 (en) * 2016-06-08 2017-12-14 Futurewei Technologies, Inc. Proactive load balancing based on fractal analysis
CN109787868A (zh) * 2019-03-18 2019-05-21 网宿科技股份有限公司 一种选取路由路径的方法、系统及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李乔: "内容分发网络研究", 《电子学报》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021143239A1 (zh) * 2020-01-13 2021-07-22 腾讯科技(深圳)有限公司 路由控制方法、装置、电子设备和存储介质
CN111901240A (zh) * 2020-07-17 2020-11-06 厦门网宿有限公司 一种路由更新方法、网络加速系统、服务器及交换机
WO2022218341A1 (zh) * 2021-04-16 2022-10-20 华为云计算技术有限公司 一种数据转发方法及相关装置
CN114301951A (zh) * 2021-05-14 2022-04-08 中国人民解放军战略支援部队信息工程大学 一种信息流可视化展示方法及系统
CN114301951B (zh) * 2021-05-14 2023-11-14 中国人民解放军战略支援部队信息工程大学 一种信息流可视化展示方法及系统
CN116389349A (zh) * 2023-06-06 2023-07-04 天翼云科技有限公司 一种节点自治的混合云数据传输方法及系统
CN116389349B (zh) * 2023-06-06 2023-10-10 天翼云科技有限公司 一种节点自治的混合云数据传输方法及系统
CN116471283A (zh) * 2023-06-20 2023-07-21 北京中宏立达科技发展有限公司 一种文件传输方法
CN116471283B (zh) * 2023-06-20 2023-08-25 北京中宏立达科技发展有限公司 一种文件传输方法

Also Published As

Publication number Publication date
EP4044559B1 (en) 2024-06-26
JP7345059B2 (ja) 2023-09-14
EP4044559A4 (en) 2022-10-19
JP2022548152A (ja) 2022-11-16
US20220263756A1 (en) 2022-08-18
EP4044559A1 (en) 2022-08-17
WO2021143239A1 (zh) 2021-07-22
CN111277630B (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN111277630B (zh) 一种路由控制方法、装置、电子设备和存储介质
US11463511B2 (en) Model-based load balancing for network data plane
RU2562438C2 (ru) Сетевая система и способ управления сетью
JP5944537B2 (ja) 通信経路の管理方法
US9391859B2 (en) Service coordination for a data center
US9485273B2 (en) System and method to diffuse denial-of-service attacks using virtual machines
WO2017100365A1 (en) Directing data traffic between intra-server virtual machines
JP2018518862A (ja) グローバル仮想ネットワーク(gvn)において仮想インタフェースとアドバンストスマートルーティングとを提供するためのシステム及び方法
US20120303790A1 (en) Host Visibility as a Network Service
US20220200957A1 (en) Managing Application Access Controls And Routing In Cloud Computing Platforms
CN108600051B (zh) BGP Anycast集群服务质量探测方法和探测设备
US20140337471A1 (en) Migration assist system and migration assist method
WO2019011142A1 (zh) 一种进行网络链路切换的方法和系统
CN114363288A (zh) 报文处理方法、装置、链路负载均衡设备和存储介质
US10608889B2 (en) High-level interface to analytics engine
US20220200954A1 (en) Managing Access To Cloud-Hosted Applications Using Domain Name Resolution
US20220201673A1 (en) Dynamic Expansion And Contraction Of Edge Clusters For Managing Access To Cloud-Based Applications
US11924085B2 (en) Estimation of latency across regional clouds
US10462848B2 (en) Non-transitory computer readable recording medium, communication method and communication device
CN112242937B (zh) 一种网络测速方法、装置、电子设备及计算机可读介质
CN115225634A (zh) 虚拟网络下的数据转发方法、装置及计算机程序产品
WO2022212050A1 (en) Route discovery for failure detection in computer networks
US11422845B2 (en) Native cloud live traffic migration to counter suspected harmful traffic
CN115913583A (zh) 业务数据访问方法、装置和设备及计算机存储介质
CN112968879A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024426

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant