一种发送数据资源的获取请求的方法和系统与流程

文档序号:14993520发布日期:2018-07-20 23:01阅读:216来源:国知局

本发明涉及数据传输技术领域,特别涉及一种发送数据资源的获取请求的方法和系统。



背景技术:

随着互联网技术的不断进步,cdn(内容分发网络,contentdeliverynetwork)服务也随之快速发展。cdn服务集群中包括大量用于存储数据资源和加速网络服务的节点服务器,节点服务器可以包括边缘节点服务器(可简称为边缘节点)和父节点服务器(可简称为父节点,包括动态父节点和静态父节点)。

当用户想要获取某个数据资源时,用户可以通过终端向cdn服务集群发送数据资源的获取请求,从而cdn服务集群中的某个边缘节点可以接收到该获取请求。如果本地未存储有上述数据资源,该边缘节点则可以选择最优路径进行回源处理以获取数据资源,即通过最优路径上的动态父节点向相应的资源服务器发送数据资源的获取请求。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

如果某一时刻边缘节点中存在大量数据资源的回源需求,而相应的最优路径均通过同一动态父节点,这样,动态父节点将需要同时转发大量的数据资源的获取请求,从而动态父节点会因为流量持续过载而导致回源效率降低、cdn服务集群的回源加速服务的质量变差。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种发送数据资源的获取请求的方法和系统。所述技术方案如下:

第一方面,提供了一种发送数据资源的获取请求的方法,所述方法包括:

当需要发送第一数据资源的获取请求时,第一节点获取本地存储的所述第一数据资源所属资源服务器对应的多个次级节点的流量调度信息,其中,所述流量调度信息包含待分流域名等级和待分流比例;

所述第一节点根据所述多个次级节点的流量调度信息,在所述多个次级节点中选择目标节点;

所述第一节点向所述目标节点发送所述第一数据资源的获取请求。

可选的,所述方法还包括:

第二节点周期性获取历史周期中各域名等级对应的历史流量,预测当前周期中各域名等级对应的最新流量;

所述第二节点根据预设分流阈值和各域名等级对应的最新流量,确定所述第二节点的流量调度信息。

可选的,所述第二节点根据预设分流阈值和各域名等级对应的最新流量,确定所述第二节点的流量调度信息,包括:

所述第二节点从最高域名等级开始累加各域名等级对应的最新流量;

当累加结果大于所述预设分流阈值时,所述第二节点停止累加并将最后累加的域名等级确定为待分流域名等级;

所述第二节点将所述累加结果和所述预设分流阈值之差,与所述待分流域名等级对应的最新流量之比,确定为待分流比例。

可选的,所述方法还包括:

所述第一节点周期性向所有次级节点发送探测消息;

所述第一节点接收所述所有次级节点中每个次级节点反馈的探测响应,确定所述第一节点和所述每个次级节点间的网络时延;

所述第一节点根据所述网络时延,为所述每个次级节点设置优先级,其中,优先级越高的次级节点对应的网络时延越小。

可选的,所述第一节点根据所述多个次级节点的流量调度信息,在所述多个次级节点中选择目标节点,包括:

所述第一节点按照优先级从高到低的顺序,在所述多个次级节点中依次选取备选节点;

当所述第一数据资源所属资源服务器的域名等级等于所述备选节点的流量调度信息中的待分流域名等级,且所述第一数据资源的获取请求不满足预设分流标准,或者所述第一数据资源所属资源服务器的域名等级大于所述备选节点的流量调度信息中的待分流域名等级时,将所述备选节点确定为目标节点。

可选的,所述每个次级节点反馈的探测响应中携带有各自的流量调度信息;

所述第一节点接收所述所有次级节点中每个次级节点反馈的探测响应之后,还包括:

所述第一节点基于所述探测响应中携带的流量调度信息,更新本地存储的所述每个次级节点的流量调度信息。

可选的,所述方法还包括:

所述第一节点接收第三节点发送的第二数据资源的请求响应;

所述第一节点基于所述请求响应中携带的所述第三节点的流量调度信息,更新本地存储的所述第三节点的流量调度信息。

第二方面,提供了一种发送数据资源的获取请求的系统,所述系统包括多个节点,所述多个节点包括第一节点,所述第一节点,用于:

当需要发送第一数据资源的获取请求时,获取本地存储的所述第一数据资源所属资源服务器对应的多个次级节点的流量调度信息,其中,所述流量调度信息包含待分流域名等级和待分流比例;

根据所述多个次级节点的流量调度信息,在所述多个次级节点中选择目标节点;

向所述目标节点发送所述第一数据资源的获取请求。

可选的,所述多个节点还包括第二节点,所述第二节点,用于:

周期性获取历史周期中各域名等级对应的历史流量,预测当前周期中各域名等级对应的最新流量;

根据预设分流阈值和各域名等级对应的最新流量,确定所述第二节点的流量调度信息。

可选的,所述第二节点,具体用于:

从最高域名等级开始累加各域名等级对应的最新流量;

当累加结果大于所述预设分流阈值时,停止累加并将最后累加的域名等级确定为待分流域名等级;

将所述累加结果和所述预设分流阈值之差,与所述待分流域名等级对应的最新流量之比,确定为待分流比例。

可选的,所述第一节点,还用于:

周期性向所有次级节点发送探测消息;

接收所述所有次级节点中每个次级节点反馈的探测响应,确定所述第一节点和所述每个次级节点间的网络时延;

根据所述网络时延,为所述每个次级节点设置优先级,其中,优先级越高的次级节点对应的网络时延越小。

可选的,所述第一节点,具体用于:

按照优先级从高到低的顺序,在所述多个次级节点中依次选取备选节点;

当所述第一数据资源所属资源服务器的域名等级等于所述备选节点的流量调度信息中的待分流域名等级,且所述第一数据资源的获取请求不满足预设分流标准,或者所述第一数据资源所属资源服务器的域名等级大于所述备选节点的流量调度信息中的待分流域名等级时,将所述备选节点确定为目标节点。

可选的,所述每个次级节点反馈的探测响应中携带有各自的流量调度信息;

所述第一节点,还用于:

基于所述探测响应中携带的流量调度信息,更新本地存储的所述每个次级节点的流量调度信息。

可选的,所述多个节点还包括第三节点,所述第一节点,还用于:

接收所述第三节点发送的第二数据资源的请求响应;

基于所述请求响应中携带的所述第三节点的流量调度信息,更新本地存储的所述第三节点的流量调度信息。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例中,当需要发送第一数据资源的获取请求时,第一节点获取本地存储的第一数据资源所属资源服务器对应的多个次级节点的流量调度信息,其中,流量调度信息由节点基于本地流量负载情况生成;第一节点根据多个次级节点的流量调度信息,在多个次级节点中选择目标节点;第一节点向目标节点发送第一数据资源的获取请求。这样,每个节点可以根据次级节点的流量调度信息,对域名等级较低的流量进行分流,保证域名等级较高的流量得到较优的回源加速服务,有效减少了动态父节点因为流量持续过载而导致回源效率降低的情况,从而可以提高cdn服务集群的回源加速服务的质量。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种cdn服务集群的网络架构图;

图2是本发明实施例提供的一种发送数据资源的获取请求的方法流程图;

图3是本发明实施例提供的一种发送数据资源的获取请求的分流原理图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种发送数据资源的获取请求的方法,该方法可以由cdn服务集群中的多个节点服务器共同实现,网络架构可以如图1所示,节点服务器可以包含边缘节点服务器(以下简称为边缘节点)和多级父节点服务器(以下简称为父节点),其中,边缘节点为cdn服务集群中用户请求的接入节点,父节点为cdn服务集群中部署层级位于边缘节点之后的节点,包含用来缓存数据资源的静态父节点,和用来提供回源加速服务的动态父节点。本实施例后续涉及的节点均不考虑静态父节点,本实施例中所有节点均指cdn服务集群中的节点服务器,不包括终端和资源服务器。上述节点服务器中可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的发送数据资源的获取请求的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。在某种情况下,上述节点服务器的功能也可以由多台服务器形成的服务器组来实现,本实施例以节点服务器为单独服务器为例进行说明,其余情况与之类似,不再赘述。

下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:

步骤201,当需要发送第一数据资源的获取请求时,第一节点获取本地存储的第一数据资源所属资源服务器对应的多个次级节点的流量调度信息。

其中,第一节点可以是所有边缘节点和存在次级节点的所有动态父节点中的任一节点。

在实施中,动态父节点在提供回源加速服务时,可以基于本地流量负载情况生成流量调度信息,然后将流量调度信息通过预设的方式反馈给上级节点。上级节点在获取到动态父节点的流量调度信息后,可以将其存储在本地,以在发送数据资源的获取请求时根据流量调度信息选择传输路径。同时,动态父节点可以对每个资源服务器对应的域名按照重要程度进行分级,确定多个域名等级,如域名等级可分为普通级、v1级、v2级、v3级等,并可以以数字0-3指代,其中,域名等级越高的资源服务器的重要程度越高。进而流量调度信息可以包含有待分流域名等级和相应的待分流比例,具体的,流量调度信息可以采用“lv1:lv2”的记录方式,其中,lv1为待分流域名等级,lv2为待分流比例,例如流量调度信息“0:10”表示普通级流量分流10%,v1~v3级流量不分流;流量调度信息“1:20”表示普通级流量全分流,v1级流量分流20%,v2~v3级流量不分流;流量调度信息“3:50”表示普通~v2级流量全分流,v3级流量分流50%。

这样,在第一节点为边缘节点的情况下,第一节点在接收到用户对于某个数据资源(如第一资源数据)的获取请求后,如果本地未存储有第一资源数据,需要通过其它节点向第一资源数据所属资源服务器发送相应的获取请求,第一节点则可以先确定第一资源数据所属资源服务器对应的多个次级节点,然后获取本地存储的多个次级节点的流量调度信息。在第一节点为动态父节点的情况下,第一节点如果接收到上一级节点发送的第一资源数据的获取请求后,需要将该获取请求通过其它节点转发至第一资源数据所属资源服务器,第一节点则可以先确定第一资源数据所属资源服务器对应的多个次级节点,然后获取本地存储的多个次级节点的流量调度信息。可以理解,针对每个资源服务器,cdn服务集群的技术人员可以在每个边缘节点和动态父节点中设置该资源服务器对应的次级节点,即当前节点可以通过这些次级节点中的任一节点向资源服务器发送数据资源的获取请求。

步骤202,第一节点根据多个次级节点的流量调度信息,在多个次级节点中选择目标节点。

在实施中,第一节点在获取到多个次级节点的流量调度信息之后,可以根据这些流量调度信息,在多个次级节点中选择用于转发第一资源数据的获取请求的目标节点。

步骤203,第一节点向目标节点发送第一数据资源的获取请求。

在实施中,第一节点在选择完目标节点后,可以向目标节点发送第一数据资源的获取请求。

可选的,动态父节点可以根据各域名等级的历史流量来确定流量调度信息,相应的处理可以如下:第二节点周期性获取历史周期中各域名等级对应的历史流量,预测当前周期中各域名等级对应的最新流量;第二节点根据预设分流阈值和各域名等级对应的最新流量,确定第二节点的流量调度信息。

其中,第二节点可以是用于提供回源加速服务的所有动态父节点中的任一节点,可以是cdn服务集群中任意节点的任意次级节点。

在实施中,cdn服务集群中还可以设有流量服务器,流量服务器用于记录各个动态父节点实际的流量负载情况,其中包括动态父节点上各个域名等级对应的历史流量。动态父节点在提供回源加速服务时,需要周期性对流量调度信息进行更新。以第二节点为例,第二节点可以周期性从流量服务器获取历史周期中本地的各域名等级对应的历史流量,然后基于这些历史流量,预测当前周期的各个域名等级对应的最新流量,具体可以采用最小二乘法来进行拟合,或者采用其它可行的预测算法。之后,第二节点则可以根据预测出的本地最新总流量和预设分流阈值,来确定当前周期的第二节点的流量调度信息。可以理解,预设分流阈值可以是cdn服务集群的技术人员基于每个动态父节点的机器性能,针对每个动态父节点预先设置的分流触发值,即当周期内总流量超过该预设分流阈值时,动态父节点将进入过载状态,需要对流量进行分流处理。

可选的,动态父节点可以优先分流低域名等级的获取请求,相应的,确定流量调度信息的处理可以如下:第二节点从最高域名等级开始累加各域名等级对应的最新流量;当累加结果大于预设分流阈值时,第二节点停止累加并将最后累加的域名等级确定为待分流域名等级;第二节点将累加结果和预设分流阈值之差,与待分流域名等级对应的最新流量之比,确定为待分流比例。

在实施中,第二节点在生成流量调度信息的过程中,可以先从最高域名等级开始累加各域名等级对应的最新流量。当累加结果大于预设分流阈值时,则可以停止累加并将最后累加的域名等级确定为待分流域名等级。此处表明如果仅承载待分流域名等级及更高域名等级的所有最新流量,第二节点将已处于过载状态,故而,需要对待分流域名等级的部分流量和更低域名等级的所有最新流量进行分流。这样,第二节点可以先计算累加结果和预设分流阈值之差(即上述待分流域名等级的部分流量的流量大小),然后将该差值与待分流域名等级对应的最新流量的比值,确定为待分流比例。

可选的,节点可以对所有次级节点进行优先级排序,相应的处理可以如下:第一节点周期性向所有次级节点发送探测消息;第一节点接收所有次级节点中每个次级节点反馈的探测响应,确定第一节点和每个次级节点间的网络时延;第一节点根据网络时延,为每个次级节点设置优先级,其中,优先级越高的次级节点对应的网络时延越小。

在实施中,第一节点可以周期性向其预先记录的所有次级节点发送探测消息。次级节点接收到探测消息后,可以向第一节点反馈相应的探测响应。之后,第一节点可以接收所有次级节点中每个次级节点反馈的探测响应,然后可以通过探测消息的发送时间和每个探测响应的接收时间确定第一节点和每个次级节点间的网络时延。进一步的,第一节点可以根据上述网络时延,为每个次级节点设置优先级,其中优先级越高的次级节点对应的网络时延越小。

可选的,第一节点可以优先选择向网络延迟小的次级节点发送获取请求,相应的,步骤202的处理可以如下:第一节点按照优先级从高到低的顺序,在多个次级节点中依次选取备选节点;当第一数据资源所属资源服务器的域名等级等于备选节点的流量调度信息中的待分流域名等级,且第一数据资源的获取请求不满足预设分流标准,或者第一数据资源所属资源服务器的域名等级大于备选节点的流量调度信息中的待分流域名等级时,将备选节点确定为目标节点。

在实施中,第一节点在获取了多个次级节点的流量调度信息之后,可以按照多个次级节点的优先级,以从高到低的顺序依次选取一个次级节点作为备选节点。当第一数据资源所属资源服务器的域名等级大于备选节点的流量调度信息中的待分流域名等级时,可以将该备选节点确定为目标节点,当第一数据资源所属资源服务器的域名等级等于备选节点的流量调度信息中的待分流域名等级,可以先确定第一数据资源的获取请求是否满足预设分流标准,如果不满足,则代表不需要对该获取请求进行分流,进而可以将该备选节点确定为目标节点,而当第一数据资源所属资源服务器的域名等级等于备选节点的流量调度信息中的待分流域名等级,且第一数据资源的获取请求满足预设分流标准,或者当第一数据资源所属资源服务器的域名等级小于备选节点的流量调度信息中的待分流域名等级,则代表需要对该获取请求进行分流,进而可以选取下一次级节点作为备选节点。需要说明的是,上述预设分流规则可以是cdn服务集群的技术人员预先设定的任意分流规则,不同的次级节点的分流规则可以相同也可以不同。例如,可以对于每个获取请求设置一个随机数,如果该随机数小于流量调度信息中的待分流比例,则代表相应的获取请求符合预设分流规则。

可选的,次级节点可以通过探测响应或者数据资源的请求响应将流量调度信息发送给第一节点,具体可以如下述两种情况:

情况一,第一节点基于探测响应中携带的流量调度信息,更新本地存储的每个次级节点的流量调度信息。

在实施中,第一节点周期性向所有次级节点发送探测消息后,每个次级节点都可以将本地最新生成的流量调度信息添加至探测响应中,然后将探测响应反馈给第一节点。这样,第一节点接收到上述探测响应后,可以基于其中携带的流量调度信息,更新本地存储的每个次级节点的流量调度信息。

情况二,第一节点接收第三节点发送的第二数据资源的请求响应;第一节点基于请求响应中携带的第三节点的流量调度信息,更新本地存储的第三节点的流量调度信息。

其中,第三节点可以是用于提供回源加速服务的所有动态父节点中的任一节点,可以是cdn服务集群中任意节点的任意次级节点,可以和上述第二节点相同也可以不同。

在实施中,如果第一节点成功通过第三节点向某个资源服务器发送了第二数据资源的获取请求,则在一定时间之后,第三节点可以接收到资源服务器反馈的第二数据资源的请求响应。之后,第三节点可以将本地最新生成的流量调度信息添加至该请求响应中,然后可以将请求响应反馈给第一节点。这样,第一节点接收到第三节点发送的第二数据资源的请求响应之后;可以基于请求响应中携带的第三节点的流量调度信息,更新本地存储的第三节点的流量调度信息。

为了便于理解,图3为本实施例的分流原理图,如果多个域名等级的流量超过预设分流阈值,则可以对域名等级较低的流量进行分流,以保证剩余的流量不超过预设分流阈值。

本发明实施例中,当需要发送第一数据资源的获取请求时,第一节点获取本地存储的第一数据资源所属资源服务器对应的多个次级节点的流量调度信息,其中,流量调度信息由节点基于本地流量负载情况生成;第一节点根据多个次级节点的流量调度信息,在多个次级节点中选择目标节点;第一节点向目标节点发送第一数据资源的获取请求。这样,每个节点可以根据次级节点的流量调度信息,对域名等级较低的流量进行分流,保证域名等级较高的流量得到较优的回源加速服务,有效减少了动态父节点因为流量持续过载而导致回源效率降低的情况,从而可以提高cdn服务集群的回源加速服务的质量。

基于相同的技术构思,本发明实施例还提供了一种发送数据资源的获取请求的系统,所述系统包括多个节点,所述多个节点包括第一节点,所述第一节点,用于:

当需要发送第一数据资源的获取请求时,获取本地存储的所述第一数据资源所属资源服务器对应的多个次级节点的流量调度信息,其中,所述流量调度信息包含待分流域名等级和待分流比例;

根据所述多个次级节点的流量调度信息,在所述多个次级节点中选择目标节点;

向所述目标节点发送所述第一数据资源的获取请求。

可选的,所述多个节点还包括第二节点,所述第二节点,用于:

周期性获取历史周期中各域名等级对应的历史流量,预测当前周期中各域名等级对应的最新流量;

根据预设分流阈值和各域名等级对应的最新流量,确定所述第二节点的流量调度信息。

可选的,所述第二节点,具体用于:

从最高域名等级开始累加各域名等级对应的最新流量;

当累加结果大于所述预设分流阈值时,停止累加并将最后累加的域名等级确定为待分流域名等级;

将所述累加结果和所述预设分流阈值之差,与所述待分流域名等级对应的最新流量之比,确定为待分流比例。

可选的,所述第一节点,还用于:

周期性向所有次级节点发送探测消息;

接收所述所有次级节点中每个次级节点反馈的探测响应,确定所述第一节点和所述每个次级节点间的网络时延;

根据所述网络时延,为所述每个次级节点设置优先级,其中,优先级越高的次级节点对应的网络时延越小。

可选的,所述第一节点,具体用于:

按照优先级从高到低的顺序,在所述多个次级节点中依次选取备选节点;

当所述第一数据资源所属资源服务器的域名等级等于所述备选节点的流量调度信息中的待分流域名等级,且所述第一数据资源的获取请求不满足预设分流标准,或者所述第一数据资源所属资源服务器的域名等级大于所述备选节点的流量调度信息中的待分流域名等级时,将所述备选节点确定为目标节点。

可选的,所述每个次级节点反馈的探测响应中携带有各自的流量调度信息;

所述第一节点,还用于:

基于所述探测响应中携带的流量调度信息,更新本地存储的所述每个次级节点的流量调度信息。

可选的,所述多个节点还包括第三节点,所述第一节点,还用于:

接收所述第三节点发送的第二数据资源的请求响应;

基于所述请求响应中携带的所述第三节点的流量调度信息,更新本地存储的所述第三节点的流量调度信息。

本发明实施例中,当需要发送第一数据资源的获取请求时,第一节点获取本地存储的第一数据资源所属资源服务器对应的多个次级节点的流量调度信息,其中,流量调度信息由节点基于本地流量负载情况生成;第一节点根据多个次级节点的流量调度信息,在多个次级节点中选择目标节点;第一节点向目标节点发送第一数据资源的获取请求。这样,每个节点可以根据次级节点的流量调度信息,对域名等级较低的流量进行分流,保证域名等级较高的流量得到较优的回源加速服务,有效减少了动态父节点因为流量持续过载而导致回源效率降低的情况,从而可以提高cdn服务集群的回源加速服务的质量。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1