CN113497817B - 流量调度方法、装置、cdn网络的边缘节点及服务器 - Google Patents
流量调度方法、装置、cdn网络的边缘节点及服务器 Download PDFInfo
- Publication number
- CN113497817B CN113497817B CN202010205012.3A CN202010205012A CN113497817B CN 113497817 B CN113497817 B CN 113497817B CN 202010205012 A CN202010205012 A CN 202010205012A CN 113497817 B CN113497817 B CN 113497817B
- Authority
- CN
- China
- Prior art keywords
- edge node
- access request
- resource access
- node
- traffic
- 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/50—Network services
- H04L67/60—Scheduling 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/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种流量调度方法、装置、CDN网络的边缘节点及服务器;其中,该方法包括:接收用户的资源访问请求;根据边缘节点预先存储的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据。本发明中,由边缘节点在接收到用户的资源访问请求后,直接根据边缘节点预先存储的流量调度策略,确定由本边缘节点或流量调度策略指示的其他边缘节点提供资源访问请求对应的资源数据。相对于中心302调度,本发明在边缘节点即可实现流量调度,无需让所有的请求都访问调度服务器,因而提高了流量调度效率。
Description
技术领域
本发明涉及互联网技术领域,尤其是涉及一种流量调度方法、装置、 CDN网络的边缘节点及服务器。
背景技术
相关技术中,内容分发网络(Content Delivery Network,CDN)中边缘节点的流量调度方式通常采用DNS(Domain Name System,域名***)调度或中心302调度;DNS调度对local DNS(本地递归域名服务器)依赖性很大,对流量的调度精准度较低;而采用中心302调度的方式时,用户请求都需要访问调度服务器,请求数据的首包延迟较长,导致流量调度效率降低。
发明内容
有鉴于此,本发明的目的在于提供一种流量调度方法、装置、CDN网络的边缘节点及服务器,以提高边缘节点的流量调度的效率及精准度。
第一方面,本发明实施例提供了一种流量调度方法,该方法应用于CDN 网络的边缘节点;该方法包括:接收用户的资源访问请求;根据边缘节点预先存储的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,流量调度策略用于指示提供资源访问请求对应的资源数据的边缘节点;目标节点为:提供资源访问请求对应的资源数据的边缘节点。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述边缘节点与预设的调度服务器通信连接;上述流量调度策略通过下述方式获得:向调度服务器查询是否存在当前边缘节点的流量调度策略;如果存在当前边缘节点的流量调度策略,向调度服务器获取当前边缘节点的流量调度策略,保存获取到的流量调度策略。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据边缘节点预先存储的流量调度策略,确定目标节点的步骤,包括:根据边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,根据边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点的步骤,包括:判断资源访问请求是否与边缘节点预先存储的流量调度策略相匹配;如果相匹配,根据流量调度策略将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述流量调度策略包括:需要进行流量调度的资源访问请求的请求条件;上述请求条件包括指定的访问域名和指定的线路信息;上述判断资源访问请求是否与边缘节点预先存储的流量调度策略相匹配的步骤之前,该方法还包括:获取资源访问请求的线路信息;上述判断资源访问请求是否与边缘节点预先存储的流量调度策略相匹配的步骤,包括:判断从边缘节点预先存储的流量调度策略中,是否能查询到资源访问请求对应的访问域名和线路信息;如果查询到,确定资源访问请求与边缘节点预先存储的流量调度策略相匹配。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述流量调度策略包括:需要进行流量调度的资源访问请求的请求条件;以及,通过当前边缘节点提供满足请求条件的资源访问请求对应的资源数据的第一流量权重,通过除当前边缘节点以外的指定边缘节点提供满足请求条件的资源访问请求对应的资源数据的第二流量权重;其中,请求条件包括指定的访问域名和指定的线路信息;上述根据流量调度策略将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点的步骤,包括:根据第一流量权重和第二流量权重,将当前边缘节点确定为目标节点,或者,将指定边缘节点确定为目标节点。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,通过流量调度策略,从除当前边缘节点以外的边缘节点中,确定目标节点的步骤,包括:将从流量调度策略中查询到的访问域名和线路信息对应的边缘节点,确定为目标节点。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,上述方法还包括:如果资源访问请求与边缘节点预先存储的流量调度策略不匹配,将当前边缘节点确定为目标节点。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第八种可能的实施方式,其中,上述方法还包括:如果从除当前边缘节点以外的边缘节点中确定目标节点,且资源访问请求的类型为Https请求,向用户返回目标节点的节点域名,以使用户通过目标节点获取资源访问请求对应的资源数据;如果从除当前边缘节点以外的边缘节点中确定目标节点,且资源访问请求的类型为Http请求,向用户返回目标节点的IP地址,以使用户通过目标节点获取资源访问请求对应的资源数据。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第九种可能的实施方式,其中,根据边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点的步骤,包括:查询资源访问请求中是否携带指定标识;指定标识用于指示:资源访问请求通过除当前边缘节点以外的边缘节点发送;其中,如果没有携带指定标识,根据边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点;如果从除当前边缘节点以外的边缘节点中,确定目标节点,在资源访问请求中添加指定标识。
结合第一方面的第九种可能的实施方式,本发明实施例提供了第一方面的第十种可能的实施方式,其中,上述方法还包括:如果资源访问请求携带指定标识,将当前边缘节点确定为目标节点。
第二方面,本发明实施例提供了一种流量调度方法,该方法应用于调度服务器;调度服务器与CDN网络的边缘节点通信连接;该方法包括:获取CDN网络中各个边缘节点的当前流量和预设规划流量;根据CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略;向边缘节点提供边缘节点对应的流量调度策略,以使边缘节点在接收到用户的资源访问请求后,根据提供的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,流量调度策略用于指示提供资源访问请求对应的资源数据的边缘节点;目标节点为:提供资源访问请求对应的资源数据的边缘节点。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,根据CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略的步骤,包括:针对每个边缘节点,如果当前边缘节点的当前流量大于或等于预设规划流量,生成当前边缘节点的流量调度策略;流量调度策略包括需要进行流量调度的资源访问请求的请求条件,以及请求条件对应的边缘节点;其中,请求条件包括指定的访问域名和指定的线路。
结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,生成当前边缘节点的流量调度策略的步骤,包括:根据当前边缘节点的当前流量与预设规划流量的差值,确定通过当前边缘节点提供满足请求条件的资源访问请求对应的资源数据的第一流量权重,以及通过除当前边缘节点以外的指定边缘节点提供满足请求条件的资源访问请求对应的资源数据的第二流量权重;将第一流量权重和第二流量权重与请求条件关联保存。
第三方面,本发明实施例提供了一种流量调度装置,该装置设置于CDN 网络的边缘节点;该装置包括:请求接收模块,用于接收用户的资源访问请求;目标节点确定模块,用于根据边缘节点预先存储的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,流量调度策略用于指示提供资源访问请求对应的资源数据的边缘节点;目标节点为:提供资源访问请求对应的资源数据的边缘节点。
第四方面,本发明实施例提供了一种流量调度装置,该装置设置于调度服务器;调度服务器与CDN网络的边缘节点通信连接;该装置包括:流量获取模块,用于获取CDN网络中各个边缘节点的当前流量和预设规划流量;策略生成模块,用于根据CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略;策略提供模块,用于向边缘节点提供边缘节点对应的流量调度策略,以使边缘节点在接收到用户的资源访问请求后,根据提供的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,目标节点为:提供资源访问请求对应的资源数据的边缘节点。
第五方面,本发明实施例提供了一种CDN网络的边缘节点,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述流量调度方法。
第六方面,本发明实施例提供了一种服务器,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述流量调度方法。
第七方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述流量调度方法。
本发明实施例带来了以下有益效果:
上述一种流量调度方法、装置、CDN网络的边缘节点及服务器,当CDN 网络的边缘节点接收用户的资源访问请求时,根据边缘节点预先存储的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,目标节点为提供资源访问请求对应的资源数据的边缘节点。该方式中,由CDN网络的边缘节点在接收到用户的资源访问请求后,直接根据边缘节点预先存储的流量调度策略,确定由当前边缘节点或流量调度策略指示的其他边缘节点向资源访问请求提供对应的资源数据。相对于中心302调度的方式,上述方式在边缘节点即可实现流量调度,无需让所有的请求都访问调度服务器,因而提高了流量调度效率。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用于授权DNS调度的流量调度的应用场景示意图;
图2为本发明实施例提供的一种应用于中心302调度的流量调度的应用场景示意图;
图3为本发明实施例提供的另一种流量调度的应用场景示意图;
图4为本发明实施例提供的一种流量调度方法的流程图;
图5为本发明实施例提供的另一种流量调度方法的流程图;
图6为本发明实施例提供的另一种流量调度方法的流程图;
图7为本发明实施例提供的另一种流量调度方法的流程图;
图8为本发明实施例提供的另一种流量调度方法中,用户终端、DNS 调度策略服务、边缘302调度策略服务及CDN边缘节点的交互过程的示意图;
图9为本发明实施例提供的一种流量调度装置的结构示意图;
图10为本发明实施例提供的另一种流量调度装置的结构示意图;
图11为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,首先示出一种流量调度的应用场景,如图1所示,该场景适用于边缘节点的DNS调度的过程;该场景包括用户终端、local DNS、授权DNS、CDN边缘节点。上述用户终端可以为计算机或移动终端(如平板电脑、手机等)等,该用户终端上安装有客户端或浏览器。上述local DNS 为本地递归域名服务器,用户终端在发出资源访问请求后,首先由与用户终端通信连接的local DNS进行处理,以得到资源访问请求对应的服务器的访问地址。上述授权DNS为授权域名服务器(也称为权威域名服务器),其中存储着设定服务器的域名信息。上述CDN边缘节点属于内容分发网络;内容分发网络是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器(相当于上述CDN边缘节点),通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
用户终端发出资源访问请求后,由local DNS首先在资源访问请求中获取到用户终端想要访问的网址,如www.xyz.123.com,依次向域名***中的各级域名服务器进行询问(首次查询该网址)或从缓存中读取历史数据(非首次查询该网址),得到该网址的授权域名服务器的访问地址,最后向授权域名服务器进行询问得到用户终端想要访问的网址对应的服务器访问地址;用户终端直接访问该服务器访问地址,得到资源访问请求对应的资源数据。
上述资源获取过程与内容分发网络相结合的情况下,上述用户终端想要访问的网址对应的服务器访问地址即为边缘节点的访问地址,为了用户就近获取所需内容,通常在多个地区设置设定网站的CDN边缘节点,在各个CDN边缘节点同步存储着设定网站的资源数据。调度服务器可以根据 CDN边缘节点的规划流量及实际流量,生成对应的调度策略,并将调度策略发送至对应的授权DNS,授权DNS在接收到local DNS对设定网站的访问地址询问后,可以根据该调度策略向local DNS返回某一个CDN边缘节点的访问地址,该过程为边缘节点的DNS调度的过程;该方式中,与授权 DNS通信的是local DNS,因为授权DNS主要根据local DNS的IP地址而不是根据用户终端的IP地址分配CDN边缘节点,导致该方式对localDNS 依赖性很大,不适合做精准流量控制,实际调度流量和预期流量误差会比较大。
如图2所示,为另一种流量调度的应用场景,该场景适用于中心302 调度过程;该场景包括用户终端、local DNS、调度服务器及CDN边缘节点用户终端通过Local DNS解析域名时候,获得IP地址并不是CDN边缘节点的访问地址,而是CDN网络中的调度服务器(实际中,该调度服务器可以为CDN服务厂家的调度机)的IP地址;用户终端向调度服务器发送资源访问请求时,会带有准确的用户终端的IP地址,调度服务器根据设定的策略(该策略根据节点流量,文件热度以及带宽冗余等制定),返回给用户终端当前最合适的CDN边缘节点的访问地址;此时,用户终端获得302 响应,重新向该CDN边缘节点发起资源访问请求,从而获取到资源访问请求对应的资源数据。中心302调度可以满足精准流量控制需要,缺陷是每个请求都要访问调度服务器,会增加首包延迟,错误率会有一定程度的增加。
基于上述问题,本发明实施例提供了一种流量调度方法、装置、CDN 网络的边缘节点及服务器,可以应用于内容分发网络或其他分布式网络的流量控制过程。
首先,本发明实施例提供了一种流量调度方法,该方法应用于CDN网络的边缘节点,该方法基于如图3所示的应用场景实现;该应用场景包括用户终端、local DNS、授权DNS、CDN边缘节点及调度服务器;如图4 所示,该方法包括以下步骤:
步骤S200,接收用户的资源访问请求。
上述资源访问请求可以为用户通过用户终端发送的;该资源访问请求中通常包括访问域名、待访问资源的相关信息、发出该请求的用户终端的 IP地址等内容;上述待访问资源的相关信息可以包括待访问资源的存储位置及对待访问资源的基本描述等。
步骤S202,根据边缘节点预先存储的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,该流量调度策略用于指示提供该资源访问请求对应的资源数据的边缘节点;该目标节点为:提供所述资源访问请求对应的资源数据的边缘节点。
上述流量调度策略通常可以由与边缘节点通信连接的调度服务器生成,并由边缘节点获取得到并保存;调度服务器在获取边缘节点的当前流量的情况下,根据当前流量与该边缘节点的规划流量,结合预设的负载均衡算法生成;常见的负载均衡算法包括轮询法、随机法、随机轮询法、源地址哈希法等;各个算法有相应的适用场景及优缺点,如轮询法适用于机器性能相同的服务,一旦某个机器性能不好,极有可能产生木桶效应,性能差的机器扛不住更多的流量。在生成流量调度策略时,可以选择一种较为合适的负载均衡算法,或将几种算法结合起来使用。为了及时地对边缘节点的流量进行调度,该流量调度策略通常是以设定频率更新的,如每分钟更新一次。
通常情况下,该流量调度策略中,通常包括当前边缘节点和其他目标节点的访问地址及各个节点对应的流量权重;上述流量权重可以根据当前边缘节点的规划流量(也称为规划带宽)和历史实际流量确定。例如,当前边缘节点的当月规划流量为40G,而历史实际流量为每个月50G,为了使当前边缘节点每个月的实际流量更接近规划流量,则可以将当前边缘节点的流量权重可以设置为0.8,其他目标节点的流量权重可以设置为0.2;当其他目标节点为多个时,在该流量调度策略中,多个其他目标节点的流量权重之和为0.2;各个其他目标节点的流量权重可以根据该节点的规划流量和历史实际流量确定。当前边缘节点在根据预先存储的流量调度策略确定目标节点并对资源访问请求进行响应后,当前边缘节点处理的实际流量与其他目标节点处理的实际流量的比值与在流量调度策略中各个节点的流量权重比值相近,从而实现了对当前边缘节点的实际流量的调节,使得实际流量更为接近规划流量。
当依据流量调度策略,将其他边缘节点作为目标节点时,将该目标节点的访问地址发送至用户终端,该过程可以称为一次边缘302调度;用户终端在得到对应的302响应后,再向目标节点发送资源访问请求以获取该请求对应的资源数据。
结合上述描述,当前边缘节点接收到的资源访问请求可能是在边缘302 调度后的资源访问请求;此时,该资源访问请求中通常带有边缘302调度的约定标识。在流量调度策略中,可以设置一个资源访问请求可以被边缘 302调度的次数;由于边缘302调度也会消耗一定的时间和资源,通常可以设置一个资源访问请求最多可以被边缘302调度一次。在这种情况下,在当前边缘节点接收到的资源访问请求已经通过边缘302调度时,直接将当前边缘节点确定为目标节点,为该资源访问请求提供对应的资源数据。
上述一种流量调度方法,当边缘节点接收用户的资源访问请求时,根据边缘节点预先存储的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,目标节点为提供资源访问请求对应的资源数据的边缘节点。该方式中,由CDN网络的边缘节点在接收到用户的资源访问请求后,直接根据边缘节点预先存储的流量调度策略,确定由本边缘节点或流量调度策略指示的其他边缘节点向资源访问请求提供对应的资源数据。相对于中心302调度的方式,上述方式在边缘节点即可实现流量调度,无需让所有的请求都访问调度服务器,因而提高了流量调度效率。
本发明实施例还提供另一种流量调度方法,该方法在上述实施例方法的基础上实现;该方法重点描述根据边缘节点预先存储的流量调度策略,确定目标节点的具体实现过程(通过下述步骤S304-S306实现),如图5 所示,该方法包括如下步骤:
步骤S300,接收用户的资源访问请求。
步骤S302,查询资源访问请求中是否携带指定标识;指定标识用于指示:资源访问请求通过除当前边缘节点以外的边缘节点发送;如果携带,执行步骤S304;如果没有携带,执行步骤S306。
上述指定标识可以为设置在资源访问请求的约定位置的指定字符等标识;当在资源访问请求中查找到该指定标识时,则表明该资源访问请求曾经被发送至除当前边缘节点以外的边缘节点,即该资源访问请求已经过边缘302调度;上述指定标识可以由进行边缘302调度的边缘节点添加至资源访问请求中。
步骤S304,将当前边缘节点确定为目标节点,以通过该目标节点,向用户返回资源访问请求对应的资源数据。结束。
如果当前边缘节点能够提供资源访问请求对应的资源数据,把当前边缘节点确定为目标节点;并根据资源访问请求中待访问资源的相关信息,如存储位置或基本描述等,返回该数据访问请求对应的资源数据。
步骤S306,根据边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点,以通过该目标节点,向用户返回资源访问请求对应的资源数据。
在内容分发网络中,边缘节点与预设的调度服务器通信连接;边缘节点可以直接向调度服务器查询并获取流量调度策略;具体地,上述流量调度策略可以通过下述方式获得:
(1)向调度服务器查询是否存在当前边缘节点的流量调度策略;当前边缘节点可以一定的预设频率向调度服务器进行查询,该预设频率与调度服务器生成流量调度策略的频率可以保持一致,或根据需求对该预设频率进行设置。
(2)如果存在当前边缘节点的流量调度策略,向调度服务器获取当前边缘节点的流量调度策略,保存获取到的流量调度策略;通常情况下,调度服务器会为当前流量等于或超过规划流量的边缘节点生成流量调度策略,针对于其他边缘节点没有生成对应的流量调度策略,这些边缘节点在向调度服务器获取流量调度策略,得到的是空白策略。
在上述流量调度策略中,通常包括当前边缘节点和其他目标节点的访问地址及各个节点对应的流量权重;在根据边缘节点预先存储的流量调度策略确定当前边缘节点为目标节点,或者确定其他边缘节点为目标节点时,依据上述流量权重的比例为当前边缘节点或其他边缘节点分配资源访问请求的响应工作。例如,当接收到10个资源访问请求时,如果当前边缘节点和其他边缘节点的流量权重分别为0.8和0.2,则确定由当前边缘节点作为其中的8个资源访问请求的目标节点,对这8个资源访问请求进行响应,其他边缘节点作为剩余2个资源访问请求的目标节点,对这2个资源访问请求进行响应。
如果在接收到一个资源访问请求后,基于上述步骤S306,从除当前边缘节点以外的边缘节点中确定目标节点,需要在该资源访问请求中添加指定标识,以表明该资源访问请求已经被边缘302调度。
如果从除所述当前边缘节点以外的边缘节点中确定目标节点时,当前边缘节点需要确定资源访问请求的类型为Https请求或Http请求。Https请求为超文本传输安全协议(Hyper Text Transfer Protocol over Secure Socket Layer或Hypertext TransferProtocol Secure);上述Http请求为超文本传输协议(Hyper Text Transfer Protocol)。其中,HTTPS请求的URL(Uniform Resource Locator,统一资源定位符)以https://开头,HTTP的URL以http:// 开头,可以通过资源访问请求的开头的URL来确定资源访问请求的类型。
如果从除当前边缘节点以外的边缘节点中确定目标节点,且资源访问请求的类型为Https请求,向用户返回目标节点的节点域名,以使用户通过目标节点获取资源访问请求对应的资源数据;具体而言,当资源访问请求的类型为Https请求时,保密性要求较高,对应地,可以向用户返回目标节点的节点域名,以使用户根据该节点域名对目标节点进行访问,从而获取资源访问请求对应的资源数据。
如果从除当前边缘节点以外的边缘节点中确定目标节点,且资源访问请求的类型为Http请求,向用户返回目标节点的IP地址,以使用户通过目标节点获取资源访问请求对应的资源数据;当资源访问请求的类型为Https 请求时,保密性要求较低,对应地,可以直接向用户返回目标节点的IP地址,以使用户访问目标节点,获取资源访问请求对应的资源数据。
上述流量调度方法,在接收用户的资源访问请求后,查询资源访问请求中是否携带指定标识,判断该资源访问请求是否已经过边缘302调度,如果是,直接将当前边缘节点作为目标节点提供对应的资源数据;如果否,根据边缘节点预先存储的流量调度策略和当前边缘节点的流量,判断当前边缘节点能否提供资源访问请求对应的资源数据;如果能提供,以将当前边缘节点作为目标节点提供对应的资源数据;如果不能提供,再确定其他能够提供该资源数据的边缘节点作为目标节点;此时,当资源访问请求的类型为Https请求,向用户返回目标节点的节点域名;资源访问请求的类型为Http请求,向用户返回目标节点的IP地址;以使用户通过目标节点获取资源访问请求对应的资源数据。该方式中,边缘节点根据接收到的资源访问请求的边缘302调度情况、当前的流量情况及预设的流量策略确定是否由自身提供对应的资源数据,无需让所有的请求都访问调度服务器,提高了流量调度效率。
本发明实施例还提供另一种流量调度方法,该方法在上述实施例方法的基础上实现;该方法重点描述确定资源访问请求是否与边缘节点预先存储的流量调度策略相匹配的具体实现过程(通过下述步骤S404及S406实现),以及根据边缘节点预先存储的流量调度策略,确定目标节点的具体实现过程(通过下述步骤S408实现),如图6所示,该方法包括如下步骤:
步骤S400,接收用户的资源访问请求。
步骤S402,获取资源访问请求的线路信息。
上述线路信息包括该用户终端采用的是哪个运营商,属于哪个地理区域;该线路信息可以为北京联通,上海电信等等。该线路信息可以从资源访问请求中包含的用户IP地址中获得;上述用户IP地址可以为发送该资源访问请求的用户终端的IP地址;通过在预设的IP库中查询该IP地址的信息,可以确定该用户终端的线路信息。
步骤S404,判断从边缘节点预先存储的流量调度策略中,是否能查询到所述资源访问请求对应的访问域名和线路信息;如果查询到,执行步骤 S406;如果没有查询到,执行步骤S410。
上述判断过程主要用于判断资源访问请求是否与边缘节点预先存储的流量调度策略相匹配。由于边缘节点中可能不止保存了一个网站的资源数据,而边缘节点预先存储的流量调度策略可能仅针对其中的一个或几个网站的资源访问请求。如一个网站仅有该边缘节点作为它的服务器时,流量调度策略中不会包含针对于访问该网站资源的请求的调度策略。
上述访问域名及线路信息均可以从资源访问请求中获取到;上述流量调度策略包括需要进行流量调度的资源访问请求的请求条件;该请求条件包括指定的访问域名和指定的线路信息。在流量调度策略中,查找是否有该资源访问请求中的访问域名及线路信息;如果有,则说明该流量调度策略中包含针对于该资源访问请求的调度策略;如果没有,则说明该流量调度策略中不包含针对于该资源访问请求的调度策略。
步骤S406,确定该资源访问请求与边缘节点预先存储的流量调度策略相匹配。
在流量调度策略中,如果查找到有该资源访问请求中的访问域名、线路信息边缘节点,则确定该资源访问请求与边缘节点预先存储的流量调度策略相匹配。接下来,需要根据当前边缘节点的当前流量,确定当前边缘节点能否提供资源访问请求对应的资源数据。
在流量调度策略中,除了包括需要进行流量调度的资源访问请求的请求条件,通常还包括:通过当前边缘节点提供满足请求条件的资源访问请求对应的资源数据的第一流量权重,以及通过除当前边缘节点以外的指定边缘节点提供满足请求条件的资源访问请求对应的资源数据的第二流量权重。
步骤S408,根据流量调度策略中的第一流量权重和第二流量权重,将当前边缘节点确定为目标节点,或者,将指定边缘节点确定为目标节点,以通过该目标节点,向用户返回资源访问请求对应的资源数据。结束。
具体而言,上述第一流量权重可以表示当前边缘节点能够提供满足请求条件的资源访问请求对应的资源数据在该当前边缘节点接收到的资源访问请求对应的资源数据中占的比例,同样地,上述第二流量权重可以表示除当前边缘节点以外的指定边缘节点能够提供满足请求条件的资源访问请求对应的资源数据在该当前边缘节点接收到的资源访问请求对应的资源数据中占的比例。在接收到满足请求条件的资源访问请求后,可以结合当前边缘节点及其他指定边缘节点已提供的资源数据,按照第一流量权重及第二流量权重所表示的提供资源数据占比比例,选择将当前边缘节点或者指定边缘节点确定为目标节点。
该流量调度策略中,与从当前的资源访问请求中的访问域名和线路信息对应的边缘节点为指定边缘节点;因此,在通过流量调度策略,从除当前边缘节点以外的边缘节点中,确定目标节点时,可以将从流量调度策略中查询到的访问域名和线路信息对应的边缘节点,确定为目标节点。
步骤S410,确定资源访问请求与边缘节点预先存储的流量调度策略不匹配,将当前边缘节点确定为目标节点,以通过该目标节点,向用户返回资源访问请求对应的资源数据。
上述流量调度方法,在接收用户的资源访问请求后,首先根据该请求对应的访问域名、线路信息和用户IP地址的类型,确定该资源访问请求是否与边缘节点预先存储的流量调度策略相匹配;如果相匹配,进而通过判断当前流量是否小于当前边缘节点的预设规划流量,确定当前边缘节点是否能够提供该资源访问请求对应的资源数据;如果能提供,以将当前边缘节点作为目标节点提供对应的资源数据;如果不能提供,再确定其他能够提供该资源数据的边缘节点作为目标节点,以使用户通过目标节点获取资源访问请求对应的资源数据。该方式在进行边缘302调度判断前,对资源访问请求是否与边缘节点预先存储的流量调度策略相匹配进行了判断,如果不匹配则无需调度,提高了流量调度的效率。
本发明实施例还提供了另一种流量调度方法,该方法应用于调度服务器;该调度服务器与CDN网络的边缘节点通信连接;该方法在上述实施例方法的基础上实现;如图7所示,该方法包括以下步骤:
步骤S500,获取CDN网络中各个边缘节点的当前流量和预设规划流量。
具体而言,可以向各个边缘节点发送查询请求,并接收边缘节点返回的当前流量;上述各个边缘节点的预设规划流量可以预先保存在调度服务器的设定存储位置,也可以由相关技术人员通过鼠标键盘等人机交互设备输入至该调度服务器中。
步骤S502,根据CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略;
具体而言,针对每个边缘节点,如果当前边缘节点的当前流量大于或等于预设规划流量,生成当前边缘节点的流量调度策略;流量调度策略包括需要进行流量调度的资源访问请求的请求条件,以及请求条件对应的边缘节点;其中,请求条件包括指定的访问域名和指定的线路。在生成流量调度可以基于预设的负载均衡算法生成,如轮询法、随机法、随机轮询法、源地址哈希法等;各个算法有相应的适用场景及优缺点,可以选择一种较为合适的负载均衡算法,或将几种算法结合起来使用。为了及时地对边缘节点的流量进行调度,该流量调度策略通常是以设定频率更新的,如每分钟更新一次。
上述步骤S502具体通过以下方式实现:
(1)根据当前边缘节点的当前流量与预设规划流量的差值,确定通过当前边缘节点提供满足请求条件的资源访问请求对应的资源数据的第一流量权重,以及通过除当前边缘节点以外的指定边缘节点提供满足请求条件的资源访问请求对应的资源数据的第二流量权重。
(2)将第一流量权重和第二流量权重与请求条件关联保存。
步骤S504,向边缘节点提供边缘节点对应的流量调度策略,以使边缘节点在接收到用户的资源访问请求后,根据提供的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,目标节点为:提供资源访问请求对应的资源数据的边缘节点。
当接收到边缘节点关于该边缘节点的流量调度策略的查询时,将已经生成的该边缘节点对应的流量调度策略发送至该边缘节点;当该边缘节点接收用户的资源访问请求时,根据调度服务器提供的流量调度策略,确定目标节点,并通过目标节点向用户返回资源访问请求对应的资源数据。
上述流量调度方法,获取CDN网络中各个边缘节点的当前流量和预设规划流量后,根据CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略,并向边缘节点提供边缘节点对应的流量调度策略,以使边缘节点在接收到用户的资源访问请求后,根据提供的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据。该方式中,调度服务器向当前流量大于或等于预设规划流量的边缘节点提供调度策略,该边缘节点接收到接收用户的资源访问请求后,直接根据边缘节点预先存储的流量调度策略,确定由本边缘节点或流量调度策略指示的其他边缘节点向资源访问请求提供对应的资源数据,提高边缘节点的流量的调度效率,同时也提高了流量的精准度。
本发明实施例还提供另一种流量调度方法,该方法在上述实施例方法的基础上实现;该方法将DNS调度与上述边缘302调度结合,作用于CDN 边缘节;DNS调度可以由DNS调度策略模块实现,边缘302调度可以由边缘302调度策略模块实现。
相关技术中,仅采用DNS调度策略进行流量调度时,DNS调度策略模块按照节点带宽规划生成DNS调度策略,下发到授权DNS上,达到一个比较粗的流量调度效果,策略执行完毕后节点实际带宽和预期规划带宽还是有比较大的差异。而本发明实施例提供的方法中,边缘302调度策略模块会继续找出所有带宽超过规划的节点,针对每个节点生成一个调度策略,这个策略是把超出规划的带宽调度到未达规划的节点上。策略会下发到 CDN边缘节点上,边缘节点按照调度策略把少量请求边缘302调度给未达规划节点。
该方法应用于图3所示的应用场景时,用户终端、DNS调度策略服务、边缘302调度策略服务及CDN边缘节点的交互过程如图8所示;其中DNS 调度策略服务及边缘302调度策略服务可以设置在调度服务器中,DNS服务包括授权DNS及local DNS;该方法具体包括以下步骤:
1、中心DNS调度策略服务生成调度策略下发给DNS;具体地,DNS 调度策略服务会按照每个节点的规划带宽(相当于上述规划流量)和当前实际的业务带宽(相当于上述实际流量)生成一个全局的调度规划,这个调度规划会下发给授权DNS;该调度规划指示了用户可以从哪个边缘节点获取资源。
2、用户通过用户终端发送资源访问请求后,首先通过local DNS进行域名解析,local DNS从缓存中获取对应的CDN边缘节点1的访问地址(非首次查询该网址且缓存没有过期的情况下)或通过授权DNS解析得到CDN 边缘节点1的IP地址。
3、用户终端将访问请求发送至CND边缘节点1。
4、CND边缘节点1会按照边缘302调度策略模块提供的调度策略确定直接服务本次请求,还是将该请求进行边缘302调度到其它CDN边缘节点;如果不需要进行边缘302调度,结束。
5、边缘302调度策略服务以一定的频率向CDN边缘节点提供边缘302 调度策略。
具体地,边缘302调度策略服务会读取每个边缘节点规划带宽和实际带宽,对于实际带宽和规划带宽不一致的边缘节点,将会对这些边缘节点生成调度策略,调度策略是按节点维度生成的,每个边缘节点策略都不一样,调度策略会被下发到节点上执行。该调度策略的格式可以为以下格式:
其中,"domain":"a.com"表示该策略中访问域名为“a.com”;regions 表示网络区域,“线路信息”代表实际的线路信息,如北京联通等; default_weight为策略权重,具体值为20000,servers为除当前边缘节点的其他可以相应当前的资源访问请求的边缘节点,相当于上述指定边缘节点;在该策略中,当请求为http请求时,可重定向至边缘节点“http请求节点地址”,当请求为https请求时,可重定向至边缘节点“https请求节点地址”, weight权重为500。该格式仅作为一种实例,具体实现时,可根据需求进行设定。
其中,上述default_weight可以理解为前述实施例中的第一流量权重,上述weight可以理解为前述实施例中的第二流量权重;对于访问域名为 a.com,线路信息符合region的值的资源访问请求,通过当前边缘节点获取资源的权重为20000,通过“http请求节点地址”或“https请求节点地址”对应的servers边缘节点获取资源的权重为500,即,相当于仅有约2.4%的资源需要通过其他边缘节点获取,即约2.4%的资源访问请求需要进行302 调度。
6、如果需要进行边缘302调度,CDN边缘节点1根据边缘302调度策略,计算出来本次请求需要被边缘302调度到的哪个边缘节点(假设调度至CDN边缘节点2),返回重定向后的边缘节点的访问地址(也称为302 地址)。
边缘节点执行边缘302调度策略的过程包括以下步骤:
(1)接收到用户的资源访问请求后,通过节点上的IP库获取请求的线路信息。
(2)判断该请求是否被边缘302调度过;如果已经边缘302调度过,直接跳过302调度环节,即直接向用户返回该资源访问请求对应的资源;如果没有被边缘302调度,继续执行下述步骤。
(3)在边缘302调度策略搜索该请求对应的访问域名和线路信息,判断该请求与边缘302调度策略是否匹配;如果不匹配则跳过;如果匹配,继续执行下述步骤。
(4)如果和策略匹配,则判断本次请求是否需要进行边缘302调度;如果不需要边缘302调度,直接跳过302调度环节;如果需要,继续执行下述步骤。上述是否需要边缘302调度的过程可以根据策略权重来计算,通常情况只有很小比例的请求需要重新边缘 302调度 。
(5)如果需要进行边缘302调度,则判断本次请求是否是https请求; http请求和https请求会按照不同的格式返回;例如,当该请求为https请求时,返回Https://节点域名/domain/uri;当该请求为http请求时,返回Http:// 节点IP/domain/uri。
7、用户根据当前边缘节点返回的内容重定向请求至新的边缘节点(即访问CDN边缘节点2)。
在实际应用中,DNS调度误差通常在5%-10%,只对误差部分做边缘 302调度修正,大部分请求还是按照DNS调度,整体首包延迟变化不大,实际调度效果能达到预期,提高了边缘节点流量调度的精准度的同时,也提高了调度效率。此外,上述DNS调度还可以用中心302调度代替,具体可由相关技术人员根据需求设定。
对应于上述流量调度方法实施例,本发明实施例还提供了一种流量调度装置,该装置设置于CDN网络的边缘节点;如图9所示,该装置包括:
请求接收模块700,用于接收用户的资源访问请求;
第一目标节点确定模块702,用于根据边缘节点预先存储的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,流量调度策略用于指示提供资源访问请求对应的资源数据的边缘节点;目标节点为:提供资源访问请求对应的资源数据的边缘节点。
上述一种流量调度装置,当CDN网络的边缘节点接收用户的资源访问请求时,根据边缘节点预先存储的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,目标节点为提供资源访问请求对应的资源数据的边缘节点。该方式中,由CDN网络的边缘节点在接收到用户的资源访问请求后,直接根据边缘节点预先存储的流量调度策略,确定由本边缘节点或流量调度策略指示的其他边缘节点向资源访问请求提供对应的资源数据。相对于中心302调度的方式,上述方式在边缘节点即可实现流量调度,无需让所有的请求都访问调度服务器,因而提高了流量调度效率。
具体地,上述边缘节点与预设的调度服务器通信连接;上述流量调度策略通过下述方式获得:向调度服务器查询是否存在当前边缘节点的流量调度策略;如果存在当前边缘节点的流量调度策略,向调度服务器获取当前边缘节点的流量调度策略,保存获取到的流量调度策略。
具体地,上述第一目标节点确定模块还用于:根据边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点。
具体地,上述第一目标节点确定模块还用于:判断资源访问请求是否与边缘节点预先存储的流量调度策略相匹配;如果相匹配,根据流量调度策略将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点。
在实际实现过程中,上述流量调度策略包括:需要进行流量调度的资源访问请求的请求条件;请求条件包括指定的访问域名和指定的线路信息;进一步地,上述装置还包括:信息获取模块,用于获取资源访问请求的用户IP地址和的线路信息;上述目标节点还用于:判断从边缘节点预先存储的流量调度策略中,是否能查询到资源访问请求对应的访问域名和线路信息;如果查询到,确定资源访问请求与边缘节点预先存储的流量调度策略相匹配。
进一步地,上述流量调度策略包括:需要进行流量调度的资源访问请求的请求条件;以及,通过当前边缘节点提供满足请求条件的资源访问请求对应的资源数据的第一流量权重,通过除当前边缘节点以外的指定边缘节点提供满足请求条件的资源访问请求对应的资源数据的第二流量权重;其中,请求条件包括指定的访问域名和指定的线路信息;上述第一目标节点确定模块还用于:根据第一流量权重和第二流量权重,将当前边缘节点确定为目标节点,或者,将指定边缘节点确定为目标节点。
进一步地,上述第一目标节点确定模块还用于:将从流量调度策略中查询到的访问域名和线路信息对应的边缘节点,确定为目标节点。
进一步地,上述装置还包括:第二目标节点确定模块,如果资源访问请求与边缘节点预先存储的流量调度策略不匹配,将当前边缘节点确定为目标节点。
进一步地,上述装置还包括:节点域名返回模块,用于如果从除当前边缘节点以外的边缘节点中确定目标节点,且资源访问请求的类型为Https 请求,向用户返回目标节点的节点域名,以使用户通过目标节点获取资源访问请求对应的资源数据;IP地址返回模块,用于如果从除当前边缘节点以外的边缘节点中确定目标节点,且资源访问请求的类型为Http请求,向用户返回目标节点的IP地址,以使用户通过目标节点获取资源访问请求对应的资源数据。
进一步地,上述第一目标节点确定模块还用于:查询资源访问请求中是否携带指定标识;指定标识用于指示:资源访问请求通过除当前边缘节点以外的边缘节点发送;如果没有携带指定标识,根据边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除当前边缘节点以外的边缘节点中确定目标节点;如果从除当前边缘节点以外的边缘节点中确定目标节点,在资源访问请求中添加指定标识。
进一步地,上述装置还包括:第三目标节点确定模块,如果资源访问请求携带指定标识,将当前边缘节点确定为目标节点。
本发明实施例所提供的流量调度装置,其实现原理及产生的技术效果和前述流量调度方法实施例相同,为简要描述,流量调度装置实施例部分未提及之处,可参考前述流量调度方法实施例中相应内容。
对应于上述流量调度方法实施例,本发明实施例还提供了一种流量调度装置,该述装置设置于调度服务器;调度服务器与CDN网络的边缘节点通信连接;如图10所示,该装置包括:
流量获取模块800,用于获取CDN网络中各个边缘节点的当前流量和预设规划流量;
策略生成模块802,用于根据CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略;
策略提供模块804,用于向边缘节点提供边缘节点对应的流量调度策略,以使边缘节点在接收到用户的资源访问请求后,根据提供的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据;其中,目标节点为:提供资源访问请求对应的资源数据的边缘节点。
上述流量调度装置,获取CDN网络中各个边缘节点的当前流量和预设规划流量后,根据CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略,并向边缘节点提供边缘节点对应的流量调度策略,以使边缘节点在接收到用户的资源访问请求后,根据提供的流量调度策略,确定目标节点,以通过目标节点,向用户返回资源访问请求对应的资源数据。该方式中,调度服务器向当前流量大于或等于预设规划流量的边缘节点提供调度策略,该边缘节点接收到接收用户的资源访问请求后,直接根据边缘节点预先存储的流量调度策略,确定由本边缘节点或流量调度策略指示的其他边缘节点向资源访问请求提供对应的资源数据,提高边缘节点的流量的调度效率,同时也提高了流量的精准度。
具体地,上述策略生成模块还用于:针对每个边缘节点,如果当前边缘节点的当前流量大于或等于预设规划流量,生成当前边缘节点的流量调度策略;流量调度策略包括需要进行流量调度的资源访问请求的请求条件,以及请求条件对应的边缘节点;其中,请求条件包括指定的访问域名和指定的线路。
进一步地,上述策略生成模块还用于:根据当前边缘节点的当前流量与预设规划流量的差值,确定通过当前边缘节点提供满足请求条件的资源访问请求对应的资源数据的第一流量权重,以及通过除当前边缘节点以外的指定边缘节点提供满足请求条件的资源访问请求对应的资源数据的第二流量权重;将第一流量权重和第二流量权重与请求条件关联保存。
本发明实施例所提供的流量调度装置,其实现原理及产生的技术效果和前述流量调度方法实施例相同,为简要描述,流量调度装置实施例部分未提及之处,可参考前述流量调度方法实施例中相应内容。
本发明实施例还提供一种CDN网络的边缘节点,参见图11所示,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述流量调度方法。
本发明实施例还提供一种服务器,其结构与上述CDN网络的边缘节相同,参见图11所示,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述流量调度方法。
进一步地,图11所示的服务器还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线) 实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA 总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称 ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器 131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述流量调度方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的流量调度方法及装置和网关服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (19)
1.一种流量调度方法,其特征在于,所述方法应用于CDN网络的边缘节点;所述方法包括:
接收用户的资源访问请求;
根据所述边缘节点预先存储的流量调度策略,确定目标节点,以通过所述目标节点,向所述用户返回所述资源访问请求对应的资源数据;
其中,所述流量调度策略用于指示提供所述资源访问请求对应的资源数据的边缘节点;所述目标节点为:提供所述资源访问请求对应的资源数据的边缘节点;
所述流量调度策略包括:需要进行流量调度的资源访问请求的请求条件;以及,通过当前边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第一流量权重,通过除所述当前边缘节点以外的指定边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第二流量权重;其中,所述请求条件包括指定的访问域名和指定的线路信息;
所述第一流量权重表示所述当前边缘节点提供满足请求条件的资源访问请求对应的资源数据在所述当前边缘节点接收到的资源访问请求对应的资源数据中占的比例;所述第二流量权重表示除所述当前边缘节点以外的所述指定边缘节点能够提供满足请求条件的资源访问请求对应的资源数据在所述当前边缘节点接收到的资源访问请求对应的资源数据中占的比例。
2.根据权利要求1所述的方法,其特征在于,所述边缘节点与预设的调度服务器通信连接;所述流量调度策略通过下述方式获得:
向所述调度服务器查询是否存在当前边缘节点的流量调度策略;
如果存在所述当前边缘节点的流量调度策略,向所述调度服务器获取所述当前边缘节点的流量调度策略,保存获取到的流量调度策略。
3.根据权利要求1所述的方法,其特征在于,根据所述边缘节点预先存储的流量调度策略,确定目标节点的步骤,包括:
根据所述边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除所述当前边缘节点以外的边缘节点中确定目标节点。
4.根据权利要求3所述的方法,其特征在于,根据所述边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除所述当前边缘节点以外的边缘节点中确定目标节点的步骤,包括:
判断所述资源访问请求是否与所述边缘节点预先存储的流量调度策略相匹配;
如果相匹配,根据所述流量调度策略将当前边缘节点确定为目标节点,或者,从除所述当前边缘节点以外的边缘节点中确定目标节点。
5.根据权利要求4所述的方法,其特征在于,所述流量调度策略包括:需要进行流量调度的资源访问请求的请求条件;所述请求条件包括指定的访问域名和指定的线路信息;
所述判断所述资源访问请求是否与边缘节点预先存储的流量调度策略相匹配的步骤之前,所述方法还包括:获取所述资源访问请求的线路信息;
所述判断所述资源访问请求是否与边缘节点预先存储的流量调度策略相匹配的步骤,包括:判断从边缘节点预先存储的流量调度策略中,是否能查询到所述资源访问请求对应的访问域名和线路信息;如果查询到,确定所述资源访问请求与边缘节点预先存储的流量调度策略相匹配。
6.根据权利要求4所述的方法,其特征在于,所述根据所述流量调度策略将当前边缘节点确定为目标节点,或者,从除所述当前边缘节点以外的边缘节点中确定目标节点的步骤,包括:根据所述第一流量权重和所述第二流量权重,将当前边缘节点确定为目标节点,或者,将所述指定边缘节点确定为目标节点。
7.根据权利要求5所述的方法,其特征在于,通过所述流量调度策略,从除所述当前边缘节点以外的边缘节点中,确定目标节点的步骤,包括:将从所述流量调度策略中查询到的所述访问域名和所述线路信息对应的边缘节点,确定为目标节点。
8.根据权利要求4所述的方法,其特征在于,所述方法还包括:如果所述资源访问请求与所述边缘节点预先存储的流量调度策略不匹配,将所述当前边缘节点确定为目标节点。
9.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果从除所述当前边缘节点以外的边缘节点中确定目标节点,且所述资源访问请求的类型为Https请求,向所述用户返回所述目标节点的节点域名,以使所述用户通过所述目标节点获取所述资源访问请求对应的资源数据;
如果从除所述当前边缘节点以外的边缘节点中确定目标节点,且所述资源访问请求的类型为Http请求,向所述用户返回所述目标节点的IP地址,以使所述用户通过所述目标节点获取所述资源访问请求对应的资源数据。
10.根据权利要求3所述的方法,其特征在于,根据所述边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除所述当前边缘节点以外的边缘节点中确定目标节点的步骤,包括:
查询所述资源访问请求中是否携带指定标识;所述指定标识用于指示:所述资源访问请求通过除所述当前边缘节点以外的边缘节点发送;其中,如果没有携带所述指定标识,根据所述边缘节点预先存储的流量调度策略,将当前边缘节点确定为目标节点,或者,从除所述当前边缘节点以外的边缘节点中确定目标节点;
如果从除所述当前边缘节点以外的边缘节点中确定目标节点,在所述资源访问请求中添加所述指定标识。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:如果所述资源访问请求携带所述指定标识,将当前边缘节点确定为目标节点。
12.一种流量调度方法,其特征在于,所述方法应用于调度服务器;所述调度服务器与CDN网络的边缘节点通信连接;所述方法包括:
获取所述CDN网络中各个边缘节点的当前流量和预设规划流量;
根据所述CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略;
向所述边缘节点提供所述边缘节点对应的流量调度策略,以使所述边缘节点在接收到用户的资源访问请求后,根据提供的流量调度策略,确定目标节点,以通过所述目标节点,向所述用户返回所述资源访问请求对应的资源数据;其中,所述流量调度策略用于指示提供所述资源访问请求对应的资源数据的边缘节点;所述目标节点为:提供所述资源访问请求对应的资源数据的边缘节点;
所述流量调度策略包括:需要进行流量调度的资源访问请求的请求条件;以及,通过当前边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第一流量权重,通过除所述当前边缘节点以外的指定边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第二流量权重;其中,所述请求条件包括指定的访问域名和指定的线路信息;
所述第一流量权重表示所述当前边缘节点提供满足请求条件的资源访问请求对应的资源数据在所述当前边缘节点接收到的资源访问请求对应的资源数据中占的比例;所述第二流量权重表示除所述当前边缘节点以外的所述指定边缘节点能够提供满足请求条件的资源访问请求对应的资源数据在所述当前边缘节点接收到的资源访问请求对应的资源数据中占的比例。
13.根据权利要求12所述的方法,其特征在于,根据所述CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略的步骤,包括:
针对每个边缘节点,如果当前边缘节点的当前流量大于或等于预设规划流量,生成所述当前边缘节点的流量调度策略;所述流量调度策略包括需要进行流量调度的资源访问请求的请求条件,以及所述请求条件对应的边缘节点;其中,所述请求条件包括指定的访问域名和指定的线路信息。
14.根据权利要求13所述的方法,其特征在于,生成所述当前边缘节点的流量调度策略的步骤,包括:
根据所述当前边缘节点的当前流量与预设规划流量的差值,确定通过所述当前边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第一流量权重,以及通过除所述当前边缘节点以外的指定边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第二流量权重;
将所述第一流量权重和所述第二流量权重与所述请求条件关联保存。
15.一种流量调度装置,其特征在于,所述装置设置于CDN网络的边缘节点;所述装置包括:
请求接收模块,用于接收用户的资源访问请求;
第一目标节点确定模块,用于根据所述边缘节点预先存储的流量调度策略,确定目标节点,以通过所述目标节点,向所述用户返回所述资源访问请求对应的资源数据;其中,所述流量调度策略用于指示提供所述资源访问请求对应的资源数据的边缘节点;所述目标节点为:提供所述资源访问请求对应的资源数据的边缘节点;
所述流量调度策略包括:需要进行流量调度的资源访问请求的请求条件;以及,通过当前边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第一流量权重,通过除所述当前边缘节点以外的指定边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第二流量权重;其中,所述请求条件包括指定的访问域名和指定的线路信息;
所述第一流量权重表示所述当前边缘节点提供满足请求条件的资源访问请求对应的资源数据在所述当前边缘节点接收到的资源访问请求对应的资源数据中占的比例;所述第二流量权重表示除所述当前边缘节点以外的所述指定边缘节点能够提供满足请求条件的资源访问请求对应的资源数据在所述当前边缘节点接收到的资源访问请求对应的资源数据中占的比例。
16.一种流量调度装置,其特征在于,所述装置设置于调度服务器;所述调度服务器与CDN网络的边缘节点通信连接;所述装置包括:
流量获取模块,用于获取所述CDN网络中各个边缘节点的当前流量和预设规划流量;
策略生成模块,用于根据所述CDN网络中各个边缘节点的当前流量和预设规划流量,生成边缘节点的流量调度策略;
策略提供模块,用于向所述边缘节点提供所述边缘节点对应的流量调度策略,以使所述边缘节点在接收到用户的资源访问请求后,根据提供的流量调度策略,确定目标节点,以通过所述目标节点,向所述用户返回所述资源访问请求对应的资源数据;其中,所述流量调度策略用于指示提供所述资源访问请求对应的资源数据的边缘节点;所述目标节点为:提供所述资源访问请求对应的资源数据的边缘节点;
所述流量调度策略包括:需要进行流量调度的资源访问请求的请求条件;以及,通过当前边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第一流量权重,通过除所述当前边缘节点以外的指定边缘节点提供满足所述请求条件的资源访问请求对应的资源数据的第二流量权重;其中,所述请求条件包括指定的访问域名和指定的线路信息;
所述第一流量权重表示所述当前边缘节点提供满足请求条件的资源访问请求对应的资源数据在所述当前边缘节点接收到的资源访问请求对应的资源数据中占的比例;所述第二流量权重表示除所述当前边缘节点以外的所述指定边缘节点能够提供满足请求条件的资源访问请求对应的资源数据在所述当前边缘节点接收到的资源访问请求对应的资源数据中占的比例。
17.一种CDN网络的边缘节点,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至11任一项所述的流量调度方法。
18.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求12-14任一项所述的流量调度方法。
19.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1至14任一项所述的流量调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010205012.3A CN113497817B (zh) | 2020-03-20 | 2020-03-20 | 流量调度方法、装置、cdn网络的边缘节点及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010205012.3A CN113497817B (zh) | 2020-03-20 | 2020-03-20 | 流量调度方法、装置、cdn网络的边缘节点及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113497817A CN113497817A (zh) | 2021-10-12 |
CN113497817B true CN113497817B (zh) | 2023-04-07 |
Family
ID=77993155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010205012.3A Active CN113497817B (zh) | 2020-03-20 | 2020-03-20 | 流量调度方法、装置、cdn网络的边缘节点及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113497817B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338705B (zh) * | 2021-11-24 | 2023-12-01 | 阿里巴巴(中国)有限公司 | 内容分发网络cdn节点的资源水位控制方法、设备及介质 |
CN116208556A (zh) * | 2021-11-30 | 2023-06-02 | 中兴通讯股份有限公司 | 流量均衡方法、电子设备、计算机可读存储介质 |
CN114301848B (zh) * | 2021-12-10 | 2023-08-29 | 阿里巴巴(中国)有限公司 | 基于cdn的通信方法、***、设备及存储介质 |
CN114448960A (zh) * | 2021-12-27 | 2022-05-06 | 天翼云科技有限公司 | 一种调度***、方法、装置、设备及介质 |
CN114285753B (zh) * | 2021-12-27 | 2024-04-26 | 上海七牛信息技术有限公司 | 一种cdn调度方法和*** |
CN114598701B (zh) * | 2022-02-16 | 2023-08-22 | 阿里巴巴(中国)有限公司 | Cdn调度方法、***、计算设备及存储介质 |
CN114785794A (zh) * | 2022-03-29 | 2022-07-22 | 北京字节跳动网络技术有限公司 | 资源分配方法、装置、设备、介质、程序产品和*** |
CN114884880B (zh) * | 2022-04-06 | 2024-03-08 | 阿里巴巴(中国)有限公司 | 数据传输方法以及*** |
CN116684468B (zh) * | 2023-08-02 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577714B (zh) * | 2014-10-13 | 2019-12-13 | 中兴通讯股份有限公司 | 基于软件定义网络实现内容分发网络的方法及*** |
CN109547517B (zh) * | 2017-09-22 | 2021-11-09 | 贵州白山云科技股份有限公司 | 一种带宽资源调度方法和装置 |
CN108306971B (zh) * | 2018-02-02 | 2020-06-23 | 网宿科技股份有限公司 | 一种发送数据资源的获取请求的方法和*** |
CN110830564B (zh) * | 2019-10-30 | 2022-11-01 | 北京金山云网络技术有限公司 | Cdn调度方法、装置、***及计算机可读存储介质 |
-
2020
- 2020-03-20 CN CN202010205012.3A patent/CN113497817B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113497817A (zh) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113497817B (zh) | 流量调度方法、装置、cdn网络的边缘节点及服务器 | |
US11811657B2 (en) | Updating routing information based on client location | |
EP2356577B1 (en) | Request routing and updating routing information utilizing client location information | |
US9444759B2 (en) | Service provider registration by a content broker | |
US10404790B2 (en) | HTTP scheduling system and method of content delivery network | |
US20180205697A1 (en) | Managing content delivery network service providers by a content broker | |
US9734472B2 (en) | Request routing utilizing cost information | |
JP5389153B2 (ja) | クラスに基づいてルーティングをリクエストするための方法とシステム | |
US10601767B2 (en) | DNS query processing based on application information | |
US8688837B1 (en) | Dynamically translating resource identifiers for request routing using popularity information | |
US9525659B1 (en) | Request routing utilizing point of presence load information | |
WO2021057369A1 (zh) | HttpDNS调度方法、装置、介质及设备 | |
CN117527809A (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 |