CN113973136B - 流量调度方法、装置及系统 - Google Patents
流量调度方法、装置及系统 Download PDFInfo
- Publication number
- CN113973136B CN113973136B CN202010646746.5A CN202010646746A CN113973136B CN 113973136 B CN113973136 B CN 113973136B CN 202010646746 A CN202010646746 A CN 202010646746A CN 113973136 B CN113973136 B CN 113973136B
- Authority
- CN
- China
- Prior art keywords
- node
- address information
- user terminal
- target network
- scheduling 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种流量调度方法、装置及系统,以至少解决现有的CDN依赖于用户端发送域名请求进行流量调度存在局限性的问题。所述流量调度系统包括:ISP节点、GSLB节点以及CDN节点;ISP节点用于向GSLB节点发送第一调度请求,基于GSLB节点返回的CDN节点的地址信息向CDN节点发送第二调度请求,第一调度请求中携带用户端的地址信息,第二调度请求中至少携带用户端的地址信息及用户端所需的目标网络资源的标识信息;GSLB节点用于基于用户端的地址信息,确定用于为用户端提供网络资源的CDN节点并将CDN节点的地址信息反馈给ISP节点;CDN节点用于基于用户端的地址信息及目标网络资源的标识信息,将目标网络资源发送给用户端。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种流量调度方法、装置及系统。
背景技术
随着互联网流量尤其是移动互联网流量的爆发增长,互联网服务提供商(Internet Service Provider,ISP)以及移动通信网络运营商(Mobile NetworkOperator,MNO)需要准备更多的网络与计算能力等资源来应对流量增长的需求。在ISP侧,用于存储网络资源的互联网数据中心(Internet Data Center,IDC)需要提供更多的计算资源以及网络带宽应对海量的用户访问请求。在MNO侧,用户流量被承载在多跳路由的网络中,每一跳路由都将加大用户与ISP的IDC之间传输时间,造成用户获取媒体内容等的延时。为了分散IDC的流量压力以及提高获取网络资源的效率,构建在网络架构之上的内容分发网络(Content Delivery Network,CDN)应运而生,其采用了各种缓存服务器来缓存IDC中的网络资源并利用全局负载技术将用户端的访问请求重定向至相应的缓存服务器上,由缓存服务器直接响应用户端的访问请求,向用户端提供所需的网络资源,起到对访问流量的调度作用。
现有技术中,在CDN不参与流量调度的情况下,由ISP服务器响应用户端的访问请求以向用户端返回相应的网络资源;在CDN参与流量调度的情况下,则由用户端向MNO侧的域名系统(Domain Name System,DNS)服务器发送域名请求,由DNS服务器从IDC处获取CDN对应的域名并根据该域名找到CDN中能够提供网络资源的缓存服务器,并将该缓存服务器的地址信息返回给用户端,使得用户端通过该地址信息从该缓存服务器处获取所需的内容资源,由此,对IDC的访问流量被切换到了CDN中的缓存服务器。
然而,由于CDN的流量调度是以用户端发送域名请求开始,而域名请求的发送频率与间隔由用户端的软件或者操作系统决定,这样就可能出现初始时,用户端以非CDN流量调度的方式获取网络资源,期间ISP侧启动了CDN流量调度策略,但此时网络资源仍然是在用户端与ISP服务器之间传送,只有在用户端再次向MNO侧的DNS服务器发送域名请求,才能将用户端对ISP服务器的访问切换至CDN中缓存服务器,由缓存服务器向用户端提供所需的网络资源。
发明内容
本申请实施例提供一种流量调度方法、装置及系统,以至少解决现有的CDN依赖于用户端发送域名请求进行流量调度存在局限性的问题。
为了解决上述技术问题,本申请实施例采用下述技术方案:
根据本申请实施例的第一方面,提供一种流量调度系统,包括:互联网服务提供商ISP节点、全局负载均衡GSLB节点以及内容分发网络CDN节点;
所述ISP节点用于向所述GSLB节点发送第一调度请求,基于所述GSLB节点返回的CDN节点的地址信息,向所述CDN节点发送第二调度请求,其中,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源;
所述GSLB节点用于基于所述用户端的地址信息,确定用于为所述用户端提供网络资源的CDN节点并将所述CDN节点的地址信息反馈给所述ISP节点;
所述CDN节点用于基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
可选地,所述第二调度请求中还携带当前下行TCP连接的顺序号;
所述CDN节点具体用于:
调用TCP/IP协议栈,在网络协议层中创建TCP套接字,并将所述TCP套接字的对端地址信息设置为所述用户端的地址信息以及将所述TCP套接字的下行顺序号设置为所述当前下行TCP连接的顺序号;
建立所述TCP套接字与所述目标网络资源的标识信息之间的映射关系;
在接收到上行TCP ACK报文时,若所述上行TCP ACK报文携带的源端地址信息与所述TCP套接字的对端地址信息一致且ACK顺序号与所述TCP套接字的下行顺序号一致,则通过所述TCP套接字与发送所述上行TCP ACK的用户端建立TCP连接;
基于所述目标网络资源的标识信息获取所述目标网络资源并通过所述TCP连接将所述目标网络资源反馈给发送所述上行TCP ACK的用户端。
可选地,所述流量调度系统还包括移动网络运营商MNO的流量代理网关PGW;
所述ISP节点,还用于在基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求之前,向移动网络运营商MNO核心网中的流量代理网关PGW发送资源访问路径切换请求,所述资源访问路径切换请求中携带所述CDN节点的地址信息、所述用户端的地址信息以及所述ISP节点的地址信息;
所述PGW用于将来自用户端的上行数据报文携带的目的端地址信息及发送至所述用户端的的下行数据报文携带的源端地址信息替换为所述CDN节点的地址信息。
可选地,所述ISP节点具体用于:
在触发流量调度条件时,向所述GSLB节点发送所述第一调度请求,其中,所述触发流量调度条件包括以下一种或多种情况:所述ISP节点的访问流量超过预设流量、所述ISP节点接收到来自所述用户端的加速请求、所述用户端已订购加速服务。
根据本申请实施例的第二方面,提供一种流量调度方法,应用于ISP节点,所述方法包括:
向全局负载均衡GSLB节点发送第一调度请求,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于请求向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点的地址信息;
接收所述GSLB节点返回的所述CDN节点的地址信息;
基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源。
可选地,向全局负载均衡GSLB节点发送第一调度请求,包括:
在触发流量调度条件时,向所述GSLB节点发送所述第一调度请求,其中,所述触发流量调度条件包括以下一种或多种情况:所述ISP节点的访问流量超过预设流量、所述ISP节点接收到来自所述用户端的加速请求、所述用户端已订购加速服务。
根据本申请实施例的第三方面,提供一种流量调度方法,应用于CDN节点,所述方法包括:
接收ISP节点发送的调度请求,所述调度请求中至少携带用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述调度请求是所述ISP节点基于所述CDN节点的地址信息向所述CDN节点发送的,所述ISP节点基于所述用户端的地址信息从GSLB节点处获取所述CDN节点的地址信息;
基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
可选地,所述调度请求中还携带当前下行TCP连接的顺序号;
基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端,包括:
调用TCP/IP协议栈,在网络协议层中创建TCP套接字,并将所述TCP套接字的对端地址信息设置为所述用户端的地址信息以及将所述TCP套接字的下行顺序号设置为所述当前下行TCP连接的顺序号;
建立所述TCP套接字与所述目标网络资源的标识信息之间的映射关系;
在接收到上行TCP ACK报文时,若所述上行TCP ACK报文携带的源端地址信息与所述TCP套接字的对端地址信息一致且ACK顺序号与所述TCP套接字的下行顺序号一致,则通过所述TCP套接字与发送所述上行TCP ACK的用户端建立TCP连接;
基于所述目标网络资源的标识信息获取所述目标网络资源并通过所述TCP连接将所述目标网络资源反馈给发送所述上行TCP ACK的用户端。
根据本申请实施例的第四方面,提供一种流量调度装置,应用于ISP节点,所述装置包括:
第一发送模块,用于向全局负载均衡GSLB节点发送第一调度请求,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于请求向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点的地址信息;
第一接收模块,用于接收所述GSLB节点返回的所述CDN节点的地址信息;
第二发送模块,用于基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源。
根据本申请实施例的第五方面,提供一种流量调度装置,应用于CDN节点,所述装置包括:
第二接收模块,用于接收ISP节点发送的调度请求,所述调度请求中至少携带用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述调度请求是所述ISP节点基于所述CDN节点的地址信息向所述CDN节点发送的,所述ISP节点基于所述用户端的地址信息从GSLB节点处获取所述CDN节点的地址信息;
第三发送模块,用于基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
根据本申请实施例的第七方面,提供一种流量调度系统,包括:ISP节点、GSLB节点、CDN节点;
所述ISP节点用于向所述GSLB节点发送第一调度请求,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于请求向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点的地址信息,以及基于所述GSLB节点返回的所述CDN节点的地址信息,向所述CDN节点发送第二调度请求,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源;
所述GSLB节点用于响应于所述第一调度请求,基于所述用户端的地址信息确定用于为所述用户端提供网络资源的CDN节点并将所述CDN节点的地址信息反馈给所述ISP节点;
所述CDN节点用于基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
由ISP节点从GSLB节点处获取向用户端提供目标网络资源的CDN节点的地址信息,并基于CDN节点的地址信息向CDN节点发送携带有目标网络资源的标识信息及用户端的地址信息的调度请求,由CDN节点基于目标网络资源的标识信息及用户端的地址信息向用户端提供目标网络资源,进而将用户端对ISP节点的访问主动切换至对CDN节点的访问,起到分散ISP节点的流量压力及提高网络资源的获取效率的目的。整个流量调度过程通过ISP节点、GSLB节点以及CDN节点之间的交互实现,无需依赖于用户端发送的域名请求,解决了现有的CDN依赖于用户端发送域名请求进行流量调度存在局限性的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有的一种流量调度系统的结构示意图;
图2为本申请实施例提供的一种流量调度系统的结构示意图;
图3为本申请实施例提供的一种流量调度方法的流程图;
图4为本申请实施例提供的另一种流量调度方法的流程图;
图5为本申请实施例提供的一种流量调度方法的流程图,其中,该方法应用于ISP节点;
图6为本申请实施例提供的一种流量调度方法的流程图,其中,该方法应用于CDN节点;
图7为本申请实施例提供的一种流量调度装置的框图,其中,该装置应用于ISP节点;
图8为本申请实施例提供的一种流量调度装置的框图,其中,该装置应用于CDN节点;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的技术方案可以应用于内容分发网络CDN的流量调度场景中,通过CDN将用户端对IDC中网络资源的访问请求重定向至CDN中相应的CDN节点(如缓存服务器),由CDN节点直接响应用户端的访问请求,向用户端提供所需的网络资源,从而分散IDC的流量压力和提高获取网络资源的效率。
现有技术中,如图1所示,IDC的ISP服务器中存储了大量的网络资源,如媒体资源。以用户通过用户端观看视频xyz.mp4为例,该视频的统一资源定位符(Uniform ResourceLocator,URL)为http://videoserver.abc.com/xyz.mp4。在CDN不参与流量调度时,用户端直接通过MNO侧的流量代理网关(PDNGateway,PGW)访问IDC的ISP服务器,以获取所需的网络资源,如图1所示的虚线a所示。
在CDN参与流量调度时,用户端通过PGW向IP骨干网中的DNS服务器发起域名请求,该域名请求中携带有视频xyz.mp4的域名videoserver.abc.com。DNS服务器接收到域名请求后,根据域名videoserver.abc.com查找ISP侧的DNS系统(以下称为ISP DNS)并向该ISPDNS发送CDN域名查询请求,CDN服务器响应该CDN域名查询请求,向IP骨干网中的DNS服务器返回CDN对应的域名videoserver.abc.cdn123.com。进一步地,ISP DNS根据CDN对应的域名查找CDN中的DNS服务器或全局负载均衡(Global Server Loader Balance,GSLB)服务器,并向CDN中的DNS服务器或GSLB发送DNS域名请求,以找到用于提供上述视频资源的CDN缓存服务器。CDN中的DNS服务器或GSLB服务器响应该DNS域名请求,根据预置的调度策略确定距离用户端最近的CDN缓存服务器的IP地址并将该IP地址反馈给IP骨干网中的DNS服务器,由该DNS服务器将该IP地址通过PGW返回给用户端,进而用户端可基于该IP地址向CDN缓存服务器发起对上述视频资源的HTTP请求,以从CDN缓存服务器获取上述视频资源,如图1所示的实线b所示。
由以上流量调度过程可以看出,CDN的流量调度是以用户端发送域名请求开始,而域名请求的发送频率与间隔由用户端的软件或者操作系统决定,这样就可能出现初始时,用户端以非CDN流量调度的方式获取网络资源(如上述视频资源),期间ISP侧启动了CDN流量调度策略,但此时网络资源仍然是在用户端与ISP服务器之间传送,只有在用户端再次向MNO侧的DNS服务器发送域名请求,才能将用户端对ISP服务器的访问切换至CDN中的DNS缓存服务器,由DNS缓存服务器向用户端提供所需的网络资源。
为了解决现有的CDN依赖于用户端发送域名请求进行流量调度存在局限性的问题,本申请实施例通过ISP节点、GSLB节点以及CDN节点之间的交互来实现流量调度。
以下结合附图,详细说明本申请各实施例提供的技术方案。
首先对本申请实施例提供的流量调度系统进行介绍。如图2所示,作为一个例子,本申请实施例提供的流量调度系统可以包括:互联网服务提供商ISP节点、至少一个CDN节点以及全局负载均衡GSLB节点。在该流量调度系统中,ISP节点可以与至少一个CDN节点以及GSLB节点进行通信或数据交互。
可选地,图2所示的流量调度系统还可以包括移动通信网络运营商MNO的流量代理网关PGW和用户端,ISP节点与用户端之间可通过PGW进行通信或数据交互,CDN节点与用户端之间也可通过PGW进行通信或数据交互。
在实际应用中,ISP节点可以包括互联网服务提供商ISP的服务器(以下称为ISP服务器)和域名系统(以下称为ISP DNS)。ISP节点可位于ISP的互联网数据中心IDC中。ISP服务器中存储有大量的网络资源,如媒体资源等;ISP DNS中存储有各个网络资源的域名对应的别名CNAME记录,通过查询CNAME记录可以获取各个网络资源对应的CDN网络的域名。
CDN节点可以是内容分发网络中的缓存服务器,其可以缓存网络资源。
GSLB节点可以是内容分发网络中具有负载均衡作用的服务器,其负责CDN中各个CDN节点的调度,具体地,GSLB节点在接收到来自用户端的访问请求时,可以基于预置的流量调度策略返回最佳的CDN节点的地址信息。其中,流量调度策略可以例如为向用户端分配与其物理位置最近的CDN节点,相应地,GSLB节点可以基于用户端的位置信息,从CDN中确定距离用户端最近的CDN节点,由该CDN节点向用户端提供网络资源。
PGW可以接收来自用户端的上行报文数据,并根据上行报文数据中携带的目的端地址信息,将该上行报文信息转发至相应的目的端(如ISP节点或者CDN节点)。PGW还可以接收发送给用户端的下行报文数据(如来自ISP节点或CDN节点的下行报文数据),并根据下行报文数据中携带的目的端地址信息,将该下行报文数据转发至相应的目的端(如用户端)。
用户端可以是手机、平板电脑、智能穿戴设备、个人计算机等智能设备,用户可以通过操作用户端等以产生访问请求,例如,用户可以通过在用户端中输入待观看视频的统一资源定位符以产生观看该视频的请求。相应地,用户端可基于用户的操作产生访问请求,并将访问请求发送给PGW,以通过PGW将访问请求转发至ISP节点或者CDN节点。
具体地,在未启用流量调度时,用户端可通过PGW访问ISP节点中的ISP服务器,以获取所需的网络资源,如图2所示的虚线a。
在启用流量调度时,ISP节点中的ISP服务器可以向GSLB节点请求获取为用户端提供网络资源的CDN节点的地址信息。GSLB节点基于用户端的位置信息,将距离用户端最近的CDN节点定为用户端提供网络资源的CDN节点并将用户端的地址信息发送给该CDN节点,由该CDN节点基于用户端的地址信息与用户端建立通信连接(如TCP连接),进而由该CDN节点基于通信连接向用户端提供网络资源,如图2所示的实线b所示。
在一种可选的实施方式中,ISP节点向GSLB节点发送第一调度请求,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于请求向GSLB节点获取用于为用户端提供网络资源的CDN节点的地址信息。其中,地址信息可以包括IP地址,如用户端的地址信息可以包括用户端的IP地址,CDN节点的地址信息可以包括CDN节点的IP地址。当然,地址信息还可以包括IP端口号等。
具体实施时,在触发流量调度条件时,ISP节点向GSLB节点发送第一调度请求。其中,触发流量调度条件可以包括以下一种或多种情况的组合:ISP节点的访问流量超过预设流量、ISP节点接收到来自目标网络资源的用户端的加速请求、ISP节点检测到目标网络资源的用户端已订购针对目标网络资源的加速服务。
可以理解,ISP节点通过对其自身的访问流量进行监控,在其访问流量超过预设流量时向GSLB节点发送第一调度请求,以自动触发流量调度,可以降低ISP节点的流量负荷,避免ISP节点的访问流量超负荷而影响网络资源的获取效率,保障ISP节点能够持续正常工作;在接收到来自用户端的加速请求时,自动触发流量调度,可以避免在用户端获取网络资源的过程中出现卡顿等问题,保障用户端使用网络资源的流畅性,提升用户体验;在检测到用户端已订购加速服务时,自动触发流量调度,可以实现对该用户端的有针对性的即时流量调度且不会干预其他用户端流量。
需要说明的是,实际应用中,还可以根据实际需要对触发流量调度条件进行自定义设置,本申请实施例对此不作限定。
接着,GSLB节点响应于所述第一调度请求,基于所述用户端的地址信息确定用于为用户端提供网络资源的CDN节点并将CDN节点的地址信息反馈给ISP节点。
具体实施时,GSLB节点中的调度回应模块在接收到第一调度请求后,可基于用户端的地址信息和预置的流量调度策略确定用于为用户端提供网络资源的CDN节点。例如,流量调度策略可以包括向用户端分配物理位置最近的CDN节点。相应地,GSLB节点中的调度回应模块根据用户端的地址信息,判断用户端所属的区域位置,选择距离该区域位置最近的CDN节点作为用于提供目标网络资源的CDN节点并将该CDN节点的地址信息作为回应结果反馈给ISP节点。
进一步地,ISP节点基于所述GSLB节点返回的CDN节点的地址信息,向CDN节点发送第二调度请求,所述第二调度请求中至少携带用户端的地址信息及用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求CDN节点向用户端提供所述目标网络资源。
其中,网络资源的标识信息是指用于定位标识网络资源的信息,例如,目标网络资源的标识信息可以包括目标网络资源的唯一标识ID、目标网络资源的进度指针,所述进度指针用于表征目标网络资源在整个网络资源中的顺序定位。具体实施时,ISP节点中的调度功能模块可通过HTTP Restful Web Service的方式向GSLB节点发送第二调度请求。
进一步地,CDN节点基于用户端的地址信息及目标网络资源的标识信息,将目标网络资源发送给用户端。
可选地,CDN节点在接收到第二调度请求后,可基于目标网络资源的标识信息获取目标网络资源,并等待以等待用户端发送初始TCP SYN请求。在接收到来自用户端的初始TCP SYN请求,基于用户端的地址信息与用户端建立TCP连接,以及通过TCP连接将目标网络资源返回给用户端。
可选地,考虑到CDN节点的容量有限,为了实现针对部分特定的用户端进行流量调度,可通过在CDN节点中增加对TCP/IP协议栈的增强功能实现。具体地,第二调度请求中还可以携带当前下行TCP连接的顺序号。相应地,CDN节点可调用TCP/IP协议栈,在网络协议层中创建TCP套接字,并将所述TCP套接字的对端地址信息设置为所述用户端的地址信息以及将所述TCP套接字的下行顺序号设置为所述当前下行TCP连接的顺序号;建立所述TCP套接字与所述目标网络资源的标识信息之间的映射关系;在接收到上行TCP ACK报文时,若所述上行TCP ACK报文携带的源端地址信息与所述TCP套接字的对端地址信息一致且ACK顺序号与所述TCP套接字的下行顺序号一致,则通过所述TCP套接字与发送所述上行TCP ACK的用户端建立TCP连接;基于所述目标网络资源的标识信息获取所述目标网络资源并通过所述TCP连接将所述目标网络资源反馈给所述发送所述上行TCP ACK的用户端。
可以理解,通过该实施方式,CDN节点无需等待用户端发送TCP SYN请求便可基于第二调度请求中携带的参数在网络协议层创建TCP套接字,进而在接收到的上行TCP ACK报文中携带的源端地址信息及ACK顺序号与上述第二调度请求中携带的参数一致时,与发送该上行TCP ACK报文的用户端建立TCP连接并传输目标网络资源,可以实现对特定用户端的流量调度。
通过本申请实施例提供的流量调度系统,由ISP节点从GSLB节点处获取向用户端提供目标网络资源的CDN节点的地址信息,并基于CDN节点的地址信息向CDN节点发送携带有目标网络资源的标识信息及用户端的地址信息的调度请求,由CDN节点基于目标网络资源的标识信息及用户端的地址信息向用户端提供目标网络资源,进而将用户端对ISP节点的访问主动切换至对CDN节点的访问,起到分散ISP节点的流量压力及提高网络资源的获取效率的目的。整个流量调度过程通过ISP节点、GSLB节点以及CDN节点之间的交互实现,无需依赖于用户端发送的域名请求,解决了现有的CDN依赖于用户端发送域名请求进行流量调度的局限性的问题。
基于图2所示的流量调度系统,本申请实施例提供一种流量调度方法,该方法可应用于如图2所示的流量调度系统中。如图3所示,该方法可以包括以下步骤:
S302、ISP节点向GSLB节点发送第一调度请求。
其中,第一调度请求中携带目标网络资源的用户端的地址信息。第一调度请求用于请求向GSLB节点获取用于提供目标网络资源的CDN节点的地址信息。具体地,ISP节点中的调度功能模块可通过HTTP Restful Web Service的方式向GSLB节点发送第一调度请求。
在本申请实施例中,地址信息可以包括IP地址,如用户端的地址信息可以包括用户端的IP地址,CDN节点的地址信息可以包括CDN节点的IP地址。当然,地址信息还可以包括IP端口号等。
在一种可选的实施方式中,在触发流量调度条件时,ISP节点向GSLB节点发送第一调度请求。其中,触发流量调度条件可以包括以下一种或多种情况的组合:ISP节点的访问流量超过预设流量、ISP节点接收到来自目标网络资源的用户端的加速请求、ISP节点检测到目标网络资源的用户端已订购针对目标网络资源的加速服务。
可以理解,ISP节点通过对其自身的访问流量进行监控,在其访问流量超过预设流量时向GSLB节点发送第一调度请求,以自动触发流量调度,可以降低ISP节点的流量负荷,避免ISP节点的访问流量超负荷而影响网络资源的获取效率,保障ISP节点能够持续正常工作;在接收到来自用户端的加速请求时,自动触发流量调度,可以避免在用户端获取网络资源的过程中出现卡顿等问题,保障用户端使用网络资源的流畅性,提升用户体验;在检测到用户端已订购加速服务时,自动触发流量调度,可以实现对该用户端的有针对性的即时流量调度且不会干预其他用户端流量。
需要说明的是,实际应用中,还可以根据实际需要对触发流量调度条件进行自定义设置,本申请实施例对此不作限定。
S304、GSLB节点响应于第一调度请求,基于用户端的地址信息,确定用于为用户端提供网络资源的CDN节点,并将CDN节点的地址信息返回给ISP节点。
具体地,GSLB节点中的调度回应模块在接收到第一调度请求后,可基于用户端的地址信息和预置的流量调度策略确定用于为用户端提供网络资源的CDN节点。
例如,流量调度策略可以包括向用户端分配物理位置最近的CDN节点。相应地,GSLB节点中的调度回应模块根据用户端的地址信息,判断用户端所属的区域位置,选择距离该区域位置最近的CDN节点作为用于提供目标网络资源的CDN节点并将该CDN节点的地址信息作为回应结果反馈给ISP节点。
S306、ISP节点基于CDN节点的地址信息,向CDN节点发送第二调度请求。
其中,第二调度请求中至少携带目标网络资源的标识信息及用户端的地址信息。第二调度请求用于请求CDN节点向用户端提供用户端所需的目标网络资源。网络资源的标识信息是指用于定位标识网络资源的信息,例如,目标网络资源的标识信息可以包括目标网络资源的唯一标识ID、目标网络资源的进度指针,所述进度指针用于表征目标网络资源在整个网络资源中的顺序定位。
具体地,ISP节点中的调度功能模块可通过HTTP Restful Web Service的方式向GSLB节点发送第二调度请求。
S308、CDN节点基于用户端的地址信息及所需的目标网络资源的标识信息,将目标网络资源发送给用户端。
在一种可选的实施方式中,CDN节点在接收到第二调度请求后,可基于目标网络资源的标识信息获取目标网络资源,并等待以等待用户端发送初始TCP SYN请求。在接收到来自用户端的初始TCP SYN请求,基于用户端的地址信息与用户端建立TCP连接,以及通过TCP连接将目标网络资源返回给用户端。
在另一种可选的实施方式中,考虑到CDN节点的容量有限,为了实现针对部分特定的用户端进行流量调度,可通过在CDN节点中增加对TCP/IP协议栈的增强功能实现。
具体地,对于步骤S308,第二调度请求中还可以携带当前下行TCP连接的顺序号。相应地,CDN节点可调用TCP/IP协议栈,在网络协议层中创建TCP套接字,并将所述TCP套接字的对端地址信息设置为所述用户端的地址信息以及将所述TCP套接字的下行顺序号设置为所述当前下行TCP连接的顺序号;建立所述TCP套接字与所述目标网络资源的标识信息之间的映射关系;在接收到上行TCP ACK报文时,若所述上行TCP ACK报文携带的源端地址信息与所述TCP套接字的对端地址信息一致且ACK顺序号与所述TCP套接字的下行顺序号一致,则通过所述TCP套接字与发送所述上行TCP ACK的用户端建立TCP连接;基于所述目标网络资源的标识信息获取所述目标网络资源并通过所述TCP连接将所述目标网络资源反馈给所述发送所述上行TCP ACK的用户端。表1示出了TCP套接字与目标网络资源的标识信息之间的映射关系的示例。
表1
示例地,如图4所示,CDN节点接收到来自用户端的上行TCP ACK报文,此时CDN节点不做响应。接着,CDN节点接收到来自ISP节点的第二调度请求。CDN节点基于上述步骤在网络协议层中创建TCP套接字并根据第二调度请求中携带的目标网络资源的标识信息获取目标网络资源。CDN节点再次接收到来自用户端重新发送的上行TCP ACK报文时,比对该上行TCP ACK报文携带的ACK顺序号及源端地址信息与所述TCP套接字的对端地址信息及下行TCP顺序号是否一致,若一致,则与该用户端建立TCP连接并通过TCP连接向该用户端传输目标网络资源。
可以理解,通过该实施方式,CDN节点无需等待用户端发送TCP SYN请求便可基于第二调度请求中携带的参数在网络协议层创建TCP套接字,进而在接收到的上行TCP ACK报文中携带的源端地址信息及ACK顺序号与上述第二调度请求中携带的参数一致时,与发送该上行TCP ACK报文的用户端建立TCP连接并传输目标网络资源,可以实现对特定用户端的流量调度。
通过本申请实施例提供的流量调度方法,由ISP节点从GSLB节点处获取向用户端提供目标网络资源的CDN节点的地址信息,并基于CDN节点的地址信息向CDN节点发送携带有目标网络资源的标识信息及用户端的地址信息的调度请求,由CDN节点基于目标网络资源的标识信息及用户端的地址信息向用户端提供目标网络资源,进而将用户端对ISP节点的访问主动切换至对CDN节点的访问,起到分散ISP节点的流量压力及提高网络资源的获取效率的目的。整个流量调度过程通过ISP节点、GSLB节点以及CDN节点之间的交互实现,无需依赖于用户端发送的域名请求,解决了现有的CDN依赖于用户端发送域名请求进行流量调度的局限性的问题。
进一步地,考虑到来自用户端的上行报文数据(如前文所述的TCP ACK报文)和发送给用户端的下行报文数据都要通过移动网络运营商MNO的核心网传送。为了保证流量调度过程中资源访问路径的正常切换,在本申请的另一个实施例中,在上述步骤S306之前,本申请实施例提供的流量调度方法还可以包括:ISP节点向MNO核心网中的流量代理网关PGW发送资源访问路径切换请求,其中,资源访问路径切换请求中携带CDN节点的地址信息、用户端的地址信息以及ISP节点的地址信息;PGW响应于资源访问请求,将来自用户端的上行数据报文携带的目的端地址信息及发送至用户端的的下行数据报文携带的源端地址信息替换为CDN节点的地址信息。
如图5所示,本申请实施例还提供一种流量调度方法,该方法可应用于如图2所示的流量调度系统中的ISP节点,该方法可以包括以下步骤:
S502、向全局负载均衡GSLB节点发送第一调度请求。
其中,第一调度请求中携带用户端的地址信息。第一调度请求用于请求向所述GSLB节点获取用于为用户端提供网络资源的CDN节点的地址信息。
在一种可选的实施方式中,该步骤S502可以包括:在触发流量调度条件时,向所述GSLB节点发送所述第一调度请求,其中,所述触发流量调度条件包括以下一种或多种情况:ISP节点的访问流量超过预设流量、ISP节点接收到来自所述目标网络资源的用户端的加速请求、所述目标网络资源的用户端已订购针对所述目标网络资源的加速服务。
S504、接收GSLB节点返回的CDN节点的地址信息。
S506、基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求。
其中,第二调度请求中至少携带所述用户端的地址信息及用户端所需的目标网络资源的标识信息。第二调度请求用于请求CDN节点向用户端提供目标网络资源。
在本申请的另一个实施例中,在上述步骤S506之前,所述方法还包括:向移动网络运营商MNO核心网中的流量代理网关PGW发送资源访问路径切换请求,所述资源访问路径切换请求中携带CDN节点的地址信息、用户端的地址信息以及ISP节点的地址信息,所述资源访问路径切换请求用于请求PGW将来自用户端的上行数据报文携带的目的端地址信息及发送至所述用户端的的下行数据报文携带的源端地址信息替换为CDN节点的地址信息。
本实施例提供的流量调度方法,由ISP节点从GSLB节点处获取向用户端提供目标网络资源的CDN节点的地址信息,并基于CDN节点的地址信息向CDN节点发送携带有目标网络资源的标识信息及用户端的地址信息的调度请求,由CDN节点基于目标网络资源的标识信息及用户端的地址信息向用户端提供目标网络资源,进而将用户端对ISP节点的访问主动切换至对CDN节点的访问,起到分散ISP节点的流量压力及提高网络资源的获取效率的目的。整个流量调度过程通过ISP节点、GSLB节点以及CDN节点之间的交互实现,无需依赖于用户端发送的域名请求,解决了现有的CDN依赖于用户端发送域名请求进行流量调度的局限性的问题。
如图6所示,本申请实施例还提供一种流量调度方法,该方法可应用于如图2所示的流量调度系统中的CDN节点,该方法可以包括以下步骤:
S602、接收ISP节点发送的调度请求。
其中,调度请求中至少携带用户端的地址信息及所述用户端所需的目标网络资源的标识信息。调度请求是所述ISP节点基于CDN节点的地址信息向CDN节点发送的,ISP节点基于用户端的地址信息从GSLB节点处获取CDN节点的地址信息。
S604、基于用户端的地址信息及目标网络资源的标识信息,将目标网络资源发送给用户端。
在一种可选的实施方式中,所述第二调度请求中还携带当前下行TCP连接的顺序号。相应地,该步骤可以包括:基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端,包括:调用TCP/IP协议栈,在网络协议层中创建TCP套接字,并将所述TCP套接字的对端地址信息设置为所述用户端的地址信息以及将所述TCP套接字的下行顺序号设置为所述当前下行TCP连接的顺序号;建立所述TCP套接字与所述目标网络资源的标识信息之间的映射关系;在接收到上行TCP ACK报文时,若所述上行TCP ACK报文携带的源端地址信息与所述TCP套接字的对端地址信息一致且ACK顺序号与所述TCP套接字的下行顺序号一致,则通过所述TCP套接字与发送所述上行TCP ACK的用户端建立TCP连接;基于所述目标网络资源的标识信息获取所述目标网络资源并通过所述TCP连接将所述目标网络资源反馈给所述发送所述上行TCP ACK的用户端。
本实施例提供的流量调度方法,由ISP节点从GSLB节点处获取向用户端提供目标网络资源的CDN节点的地址信息,并基于CDN节点的地址信息向CDN节点发送携带有目标网络资源的标识信息及用户端的地址信息的调度请求,由CDN节点基于目标网络资源的标识信息及用户端的地址信息向用户端提供目标网络资源,进而将用户端对ISP节点的访问主动切换至对CDN节点的访问,起到分散ISP节点的流量压力及提高网络资源的获取效率的目的。整个流量调度过程通过ISP节点、GSLB节点以及CDN节点之间的交互实现,无需依赖于用户端发送的域名请求,解决了现有的CDN依赖于用户端发送域名请求进行流量调度的局限性的问题。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
如图7所示,本申请实施例还提供一种流量调度装置,该装置可应用于如图2所示的流量调度系统中的ISP节点,所述装置700包括:
第一发送模块710,用于向全局负载均衡GSLB节点发送第一调度请求,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于请求向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点的地址信息;
第一接收模块720,用于接收所述GSLB节点返回的所述CDN节点的地址信息;
第二发送模块730,用于基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源。
可选地,所述第一发送模块710具体用于:
在触发流量调度条件时,向所述GSLB节点发送所述第一调度请求,其中,所述触发流量调度条件包括以下一种或多种情况:ISP节点的访问流量超过预设流量、ISP节点接收到来自所述目标网络资源的用户端的加速请求、所述目标网络资源的用户端已订购针对所述目标网络资源的加速服务。
可选地,所述第二发送模块730还用于:向所述CDN节点发送第二调度请求之前,向移动网络运营商MNO核心网中的流量代理网关PGW发送资源访问路径切换请求,所述资源访问路径切换请求中携带CDN节点的地址信息、用户端的地址信息以及ISP节点的地址信息,所述资源访问路径切换请求用于请求PGW将来自用户端的上行数据报文携带的目的端地址信息及发送至所述用户端的的下行数据报文携带的源端地址信息替换为CDN节点的地址信息。
如图8所示,本申请实施例还提供一种流量调度装置,该装置可应用于如图2所示的流量调度系统中的CDN节点,所述装置800包括:
第二接收模块810,用于接收ISP节点发送的调度请求,所述调度请求中至少携带用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述调度请求是所述ISP节点基于所述CDN节点的地址信息向所述CDN节点发送的,所述ISP节点基于所述用户端的地址信息从GSLB节点处获取所述CDN节点的地址信息;
第三发送模块820,用于基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
可选地,所述第二调度请求中还携带当前下行TCP连接的顺序号;
所述第三发送模块820具体用于:
基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端,包括:调用TCP/IP协议栈,在网络协议层中创建TCP套接字,并将所述TCP套接字的对端地址信息设置为所述用户端的地址信息以及将所述TCP套接字的下行顺序号设置为所述当前下行TCP连接的顺序号;
建立所述TCP套接字与所述目标网络资源的标识信息之间的映射关系;
在接收到上行TCP ACK报文时,若所述上行TCP ACK报文携带的源端地址信息与所述TCP套接字的对端地址信息一致且ACK顺序号与所述TCP套接字的下行顺序号一致,则通过所述TCP套接字与发送所述上行TCP ACK的用户端建立TCP连接;基于所述目标网络资源的标识信息获取所述目标网络资源并通过所述TCP连接将所述目标网络资源反馈给所述发送所述上行TCPACK的用户端。
图9是本申请的一个实施例电子设备的结构示意图。请参考图9,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成流量调度装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
向全局负载均衡GSLB节点发送第一调度请求,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于请求向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点的地址信息;
接收所述GSLB节点返回的所述CDN节点的地址信息;
基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源。
或者,具体用于执行以下操作:
接收ISP节点发送的调度请求,所述调度请求中至少携带用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述调度请求是所述ISP节点基于所述CDN节点的地址信息向所述CDN节点发送的,所述ISP节点基于所述用户端的地址信息从GSLB节点处获取所述CDN节点的地址信息;
基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
上述如本申请图5或图6所示实施例揭示的流量调度装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图5或图6的方法,并实现流量调度装置在图7或图8所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图7或图8所示实施例的方法,并具体用于执行以下操作:
向全局负载均衡GSLB节点发送第一调度请求,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于请求向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点的地址信息;
接收所述GSLB节点返回的所述CDN节点的地址信息;
基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源。
或者,具体用于执行以下操作:
接收ISP节点发送的调度请求,所述调度请求中至少携带用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述调度请求是所述ISP节点基于所述CDN节点的地址信息向所述CDN节点发送的,所述ISP节点基于所述用户端的地址信息从GSLB节点处获取所述CDN节点的地址信息;
基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (10)
1.一种流量调度系统,其特征在于,包括:互联网服务提供商ISP节点、全局负载均衡GSLB节点以及内容分发网络CDN节点;
所述ISP节点用于向所述GSLB节点发送第一调度请求,基于所述GSLB节点返回的CDN节点的地址信息,向所述CDN节点发送第二调度请求,其中,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源;
所述GSLB节点用于基于所述用户端的地址信息,确定用于为所述用户端提供网络资源的CDN节点并将所述CDN节点的地址信息反馈给所述ISP节点;
所述CDN节点用于基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
2.根据权利要求1所述的流量调度系统,其特征在于,所述第二调度请求中还携带当前下行TCP连接的顺序号;
所述CDN节点具体用于:
调用TCP/IP协议栈,在网络协议层中创建TCP套接字,并将所述TCP套接字的对端地址信息设置为所述用户端的地址信息以及将所述TCP套接字的下行顺序号设置为所述当前下行TCP连接的顺序号;
建立所述TCP套接字与所述目标网络资源的标识信息之间的映射关系;
在接收到上行TCP ACK报文时,若所述上行TCP ACK报文携带的源端地址信息与所述TCP套接字的对端地址信息一致且ACK顺序号与所述TCP套接字的下行顺序号一致,则通过所述TCP套接字与发送所述上行TCP ACK的用户端建立TCP连接;
基于所述目标网络资源的标识信息获取所述目标网络资源并通过所述TCP连接将所述目标网络资源反馈给发送所述上行TCP ACK的用户端。
3.根据权利要求1所述的流量调度系统,其特征在于,所述流量调度系统还包括移动网络运营商MNO的流量代理网关PGW;
所述ISP节点,还用于在基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求之前,向移动网络运营商MNO核心网中的流量代理网关PGW发送资源访问路径切换请求,所述资源访问路径切换请求中携带所述CDN节点的地址信息、所述用户端的地址信息以及所述ISP节点的地址信息;
所述PGW用于将来自用户端的上行数据报文携带的目的端地址信息及发送至所述用户端的下行数据报文携带的源端地址信息替换为所述CDN节点的地址信息。
4.根据权利要求1至3中任一项所述的流量调度系统,其特征在于,所述ISP节点具体用于:
在触发流量调度条件时,向所述GSLB节点发送所述第一调度请求,其中,所述触发流量调度条件包括以下一种或多种情况:所述ISP节点的访问流量超过预设流量、所述ISP节点接收到来自所述用户端的加速请求、所述用户端已订购加速服务。
5.一种流量调度方法,其特征在于,应用于ISP节点,所述方法包括:
向全局负载均衡GSLB节点发送第一调度请求,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于请求向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点的地址信息;
接收所述GSLB节点返回的所述CDN节点的地址信息;
基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源。
6.根据权利要求5所述的流量调度方法,其特征在于,向全局负载均衡GSLB节点发送第一调度请求,包括:
在触发流量调度条件时,向所述GSLB节点发送所述第一调度请求,其中,所述触发流量调度条件包括以下一种或多种情况:所述ISP节点的访问流量超过预设流量、所述ISP节点接收到来自所述用户端的加速请求、所述用户端已订购加速服务。
7.一种流量调度方法,其特征在于,应用于CDN节点,所述方法包括:
接收ISP节点发送的调度请求,所述调度请求中至少携带用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述调度请求是所述ISP节点基于所述CDN节点的地址信息向所述CDN节点发送的,所述ISP节点基于所述用户端的地址信息从GSLB节点处获取所述CDN节点的地址信息;
基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
8.根据权利要求7所述的流量调度方法,其特征在于,所述调度请求中还携带当前下行TCP连接的顺序号;
基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端,包括:
调用TCP/IP协议栈,在网络协议层中创建TCP套接字,并将所述TCP套接字的对端地址信息设置为所述用户端的地址信息以及将所述TCP套接字的下行顺序号设置为所述当前下行TCP连接的顺序号;
建立所述TCP套接字与所述目标网络资源的标识信息之间的映射关系;
在接收到上行TCP ACK报文时,若所述上行TCP ACK报文携带的源端地址信息与所述TCP套接字的对端地址信息一致且ACK顺序号与所述TCP套接字的下行顺序号一致,则通过所述TCP套接字与发送所述上行TCP ACK的用户端建立TCP连接;
基于所述目标网络资源的标识信息获取所述目标网络资源并通过所述TCP连接将所述目标网络资源反馈给发送所述上行TCP ACK的用户端。
9.一种流量调度装置,其特征在于,应用于ISP节点,所述装置包括:
第一发送模块,用于向全局负载均衡GSLB节点发送第一调度请求,所述第一调度请求中携带用户端的地址信息,所述第一调度请求用于请求向所述GSLB节点获取用于为所述用户端提供网络资源的CDN节点的地址信息;
第一接收模块,用于接收所述GSLB节点返回的所述CDN节点的地址信息;
第二发送模块,用于基于所述CDN节点的地址信息,向所述CDN节点发送第二调度请求,所述第二调度请求中至少携带所述用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述第二调度请求用于请求所述CDN节点向所述用户端提供所述目标网络资源。
10.一种流量调度装置,其特征在于,应用于CDN节点,所述装置包括:
第二接收模块,用于接收ISP节点发送的调度请求,所述调度请求中至少携带用户端的地址信息及所述用户端所需的目标网络资源的标识信息,所述调度请求是所述ISP节点基于所述CDN节点的地址信息向所述CDN节点发送的,所述ISP节点基于所述用户端的地址信息从GSLB节点处获取所述CDN节点的地址信息;
第三发送模块,用于基于所述用户端的地址信息及所述目标网络资源的标识信息,将所述目标网络资源发送给所述用户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010646746.5A CN113973136B (zh) | 2020-07-07 | 2020-07-07 | 流量调度方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010646746.5A CN113973136B (zh) | 2020-07-07 | 2020-07-07 | 流量调度方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113973136A CN113973136A (zh) | 2022-01-25 |
CN113973136B true CN113973136B (zh) | 2023-04-25 |
Family
ID=79584540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010646746.5A Active CN113973136B (zh) | 2020-07-07 | 2020-07-07 | 流量调度方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113973136B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598701B (zh) * | 2022-02-16 | 2023-08-22 | 阿里巴巴(中国)有限公司 | Cdn调度方法、系统、计算设备及存储介质 |
CN114827674B (zh) * | 2022-03-30 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种网络资源显示方法、装置及系统 |
CN116302447B (zh) * | 2023-04-27 | 2023-08-04 | 云动时代科技股份有限公司 | 一种基于云平台的管理软件的方法及软件管理系统 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079760A (zh) * | 2007-07-27 | 2007-11-28 | 华为技术有限公司 | 实现网络监控的方法、系统及内容分发网络 |
CN101860720A (zh) * | 2009-04-10 | 2010-10-13 | 中兴通讯股份有限公司 | 内容定位方法及内容分发网络节点 |
WO2014059883A1 (zh) * | 2012-10-18 | 2014-04-24 | 中兴通讯股份有限公司 | 一种实现交互式网络电视业务的融合设备、系统和方法 |
CN103763209A (zh) * | 2014-01-03 | 2014-04-30 | 上海聚力传媒技术有限公司 | 一种cdn服务器的调度方法与装置 |
CN103873497A (zh) * | 2012-12-11 | 2014-06-18 | 中国电信股份有限公司 | 用于调度信息的方法、装置和系统 |
CN104320681A (zh) * | 2014-11-07 | 2015-01-28 | 百视通网络电视技术发展有限责任公司 | 一种cdn回源服务的方法及系统 |
JP2015156657A (ja) * | 2015-03-09 | 2015-08-27 | アルカテル−ルーセント | Iptvシステムのためのエッジコンテンツ配信デバイスおよびコンテンツ配信ネットワーク |
CN105100151A (zh) * | 2014-05-14 | 2015-11-25 | 中国移动通信集团公司 | 一种内容分发的方法、设备和系统 |
CN106899621A (zh) * | 2015-12-17 | 2017-06-27 | 中国联合网络通信集团有限公司 | 一种调度系统及方法 |
CN107979638A (zh) * | 2017-11-16 | 2018-05-01 | 北京小米移动软件有限公司 | 内容提供方法、装置、设备及存储介质 |
CN108243215A (zh) * | 2016-12-26 | 2018-07-03 | 中兴通讯股份有限公司 | 内容分发网络服务器的调度方法与调度装置 |
CN109451002A (zh) * | 2018-10-29 | 2019-03-08 | 中国联合网络通信集团有限公司 | 一种cdn节点的选择方法及设备 |
CN110177110A (zh) * | 2019-06-04 | 2019-08-27 | 湖北五五互联科技有限公司 | 内容访问方法、设备及计算机可读存储介质 |
CN110417676A (zh) * | 2019-08-06 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种调度方法、装置和调度网络 |
WO2019242638A1 (zh) * | 2018-06-20 | 2019-12-26 | 华为技术有限公司 | 一种负载均衡方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170171344A1 (en) * | 2015-12-15 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Scheduling method and server for content delivery network service node |
-
2020
- 2020-07-07 CN CN202010646746.5A patent/CN113973136B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079760A (zh) * | 2007-07-27 | 2007-11-28 | 华为技术有限公司 | 实现网络监控的方法、系统及内容分发网络 |
CN101860720A (zh) * | 2009-04-10 | 2010-10-13 | 中兴通讯股份有限公司 | 内容定位方法及内容分发网络节点 |
WO2014059883A1 (zh) * | 2012-10-18 | 2014-04-24 | 中兴通讯股份有限公司 | 一种实现交互式网络电视业务的融合设备、系统和方法 |
CN103873497A (zh) * | 2012-12-11 | 2014-06-18 | 中国电信股份有限公司 | 用于调度信息的方法、装置和系统 |
CN103763209A (zh) * | 2014-01-03 | 2014-04-30 | 上海聚力传媒技术有限公司 | 一种cdn服务器的调度方法与装置 |
CN105100151A (zh) * | 2014-05-14 | 2015-11-25 | 中国移动通信集团公司 | 一种内容分发的方法、设备和系统 |
CN104320681A (zh) * | 2014-11-07 | 2015-01-28 | 百视通网络电视技术发展有限责任公司 | 一种cdn回源服务的方法及系统 |
JP2015156657A (ja) * | 2015-03-09 | 2015-08-27 | アルカテル−ルーセント | Iptvシステムのためのエッジコンテンツ配信デバイスおよびコンテンツ配信ネットワーク |
CN106899621A (zh) * | 2015-12-17 | 2017-06-27 | 中国联合网络通信集团有限公司 | 一种调度系统及方法 |
CN108243215A (zh) * | 2016-12-26 | 2018-07-03 | 中兴通讯股份有限公司 | 内容分发网络服务器的调度方法与调度装置 |
CN107979638A (zh) * | 2017-11-16 | 2018-05-01 | 北京小米移动软件有限公司 | 内容提供方法、装置、设备及存储介质 |
WO2019242638A1 (zh) * | 2018-06-20 | 2019-12-26 | 华为技术有限公司 | 一种负载均衡方法和装置 |
CN109451002A (zh) * | 2018-10-29 | 2019-03-08 | 中国联合网络通信集团有限公司 | 一种cdn节点的选择方法及设备 |
CN110177110A (zh) * | 2019-06-04 | 2019-08-27 | 湖北五五互联科技有限公司 | 内容访问方法、设备及计算机可读存储介质 |
CN110417676A (zh) * | 2019-08-06 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种调度方法、装置和调度网络 |
Non-Patent Citations (2)
Title |
---|
王俊飞 ; .全局负载均衡技术在互联网中的实现.广东科技.2007,(第05期),全文. * |
甘士成.内容分发网络负载均衡技术研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2018,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113973136A (zh) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113973136B (zh) | 流量调度方法、装置及系统 | |
US9608957B2 (en) | Request routing using network computing components | |
US10601767B2 (en) | DNS query processing based on application information | |
US9401962B2 (en) | Traffic steering system | |
US20180270300A1 (en) | Supporting internet protocol (ip) clients in an information centric network (icn) | |
KR20140054382A (ko) | 이동성 및 멀티-호밍 컨텐츠 검색 애플리케이션을 위한 시스템 및 방법 | |
US11765618B2 (en) | Wireless communication system | |
EP3917083A1 (en) | Network device and method for searching for edge service implemented in network device | |
US8539099B2 (en) | Method for providing on-path content distribution | |
Pirmagomedov et al. | Augmented computing at the edge using named data networking | |
US11864093B2 (en) | Methods, systems, and computer readable media for communicating delegated network function (NF) discovery results between service communication proxies (SCPs) and using the delegated NF discovery results for alternate routing | |
CN114710548A (zh) | 报文转发方法及装置 | |
KR100804348B1 (ko) | 통신시스템, 피어투피어 메시지 필터를 갖는 컴퓨터 및피어투피어 메시지 처리 방법 | |
Moon et al. | Practicalizing delay-tolerant mobile apps with cedos | |
US20190037044A1 (en) | Content distribution and delivery optimization in a content delivery network (cdn) | |
CN114500608B (zh) | 通信系统及通信方法 | |
CN113613290B (zh) | 一种下行数据流传送方法、装置及终端 | |
CN112099942B (zh) | 端口复用方法、系统、终端、服务器、设备及存储介质 | |
CN113132251A (zh) | 业务调度方法、装置以及存储介质 | |
JP2016532404A (ja) | ブラウザ発信プロシージャのためのモバイルデバイスベースのプロキシ | |
CN112543191B (zh) | 一种负载均衡方法及装置 | |
KR101366778B1 (ko) | 패킷 교환 제어 방법 및 장치 | |
JP2023129580A (ja) | 通信システム及び通信方法 | |
CN117880385A (zh) | 一种支持同主机tcp连接转发模式切换的方法 | |
JP2024127482A (ja) | 制御装置、制御方法及びプログラム |
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 |