节点选路方法及系统与流程

文档序号:12753359阅读:297来源:国知局
节点选路方法及系统与流程

本发明涉及网络通信领域,尤其涉及节点选路方法及系统。



背景技术:

为了实现对用户访问请求的加速,内容分发网络(CDN)已经被使用。在内容分发网络中,通常通过在所需覆盖的地区不同运营商网络内就近部署边缘节点,并依赖边缘节点提供数据缓存,来达到加快访问速度的效果。然而,传统的内容分发网络路径选择比较少,而且在获取入口代理设备与源站服务器之间的最佳传输路径时,通常基于各代理设备之间的链路来计算最佳传输路径。这种计算方式过于简单,无法准确得到最佳传输路径。

为解决上述问题,有人提出路径探测的方法。这种方法通过中央服务器获取入口代理设备到出口代理设备到源站的分段链路质量进而得到最佳的传输路径。

现有的路径探测方法,存在以下缺陷:第一、需要上报到中央服务器计算处理后再反馈给入口代理设备进行选路,可能存在反馈周期过长,导致实际请求时可能已经不是最佳路径或者请求选路等待时间过长等问题;第二、入口代理设备和出口代理设备数量众多时,探测路径的组合数量级庞大,集中在中央服务器进行处理,可能存在性能瓶颈进而影响选路准确性;第三、分散的加速节点管理方式,可能存在资源利用率不高,造成一定的资源浪费。



技术实现要素:

为了解决上述和其他技术问题,本发明提供了用于节点选路的方法和系统。

在本发明的一个方面中,提供一种用于节点选路的方法,所述方法包括:由调度中心向入口节点预分配加速节点集群;在入口节点处接收用户访问请求;由入口节点处的服务部件根据用户访问请求从为该入口节点分配的加速节点集群中选择最优加速节点;以及针对所述用户访问请求,经由所述最优加速节点进行回源。

优选地,所述用户访问请求中包括请求流量类型,其中所述选择最优加速节点包括基于所述请求流量类型来选择加速节点。

优选地,所述用户访问请求包括用户访问请求的源站IP,其中所述选择最优加速节点包括基于所述用户访问请求的源站IP来选择加速节点。

优选地,选择选择最优加速节点包括:确定在所述入口节点处是否存储了针对所述用户访问请求的源站路径质量探测信息,如果是,则基于所述路径质量探测信息来选择最优加速节点。

优选地,选择最优加速节点包括:确定是否针对所述用户访问请求预设了加速节点。

优选地,如果针对所述用户访问请求预设了加速节点,则提取用户访问请求的源站IP,并针对所述源站IP,对预设的加速节点进行质量探测,并至少部分基于所述质量探测的结果来确定具有最佳质量探测结果的加速节点作为所述最优加速节点。

优选地,如果针对所述用户访问请求没有预设加速节点,则:提取用户访问请求的源站IP,并确定该源站IP对应的地理区域;确定所述地理区域是否有加速节点,如果确定所述地理区域有加速节点,则针对所述源站IP,对对应区域的加速节点进行质量探测,并至少部分基于所述质量探测的结果来确定具有最佳质量探测结果的加速节点作为所述最优加速节点;以及如果确定所述地理区域没有加速节点,则针对所述源站IP,对默认加速节点进行质量探测,并至少部分基于所述质量探测的结果来确定具有最佳质量探测结果的加速节点作为所述最优加速节点。

优选地,由入口节点处的服务部件将最优路径与源站IP的映射关系存储起来,并定期对所述映射关系中的源站IP进行探测并更新探测结果。

优选地,由调度中心向入口节点分配加速节点集群包括:基于初始化请求中所包含的入口节点的IP地址来确定所述入口节点所在的地理区域;至少基于所确定的所述入口节点所在的地理区域来为该入口节点分配加速节点群集;以及将关于为该入口节点所分配的加速节点群集的信息同步给所述入口节点。

在本发明的另一个方面中,还提供了一种用于节点选路的系统,所述系统包括:调度中心,所述调度中心被配置成为入口节点分配加速节点群集;加速节点群集,所述加速节点群集被配置成用于访问源站;以及入口节点,所述入口节点被配置成:接收用户访问请求;以及根据用户访问请求从为该入口节点分配的加速节点集群中选择最优加速节点进行回源。

通过本发明的用于节点选路的方法和系统,可以实现以下技术效果:

首先,因为用户请求无需要上报到调度中心处理后再反馈给入口代理设备进行选路,所以本发明可以缩短选路过程所需的时间,提高响应速度;其次,由于选路过程在各入口节点处进行分布式处理而非在调度中心处进行集中式处理,所以本发明的处理速度更快,而不受调度中心的性能瓶颈的限制;再次,本发明避免了重复计算,提高了计算效率。

提供本发明内容以便以简化的形式介绍以下在具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。而且,所要求保护的主题不限于解决该公开的任一部分中所注的任何或全部缺点的实现方式。

附图说明

图1示出了根据本发明的一实施例的选路系统的结构框图。

图2示出了根据本发明的一实施例的入口节点初始化方法的流程图。

图3示出了根据本发明的一实施例的选路方法的流程图。

图4示出了根据本发明的一实施例的用于选择加速节点的流程图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

参考图1,图1示出了根据本发明的一个实施例的选路系统100的结构框图。选路系统100可包括一个或多个入口节点101_1、101_2、……、101_M。这些入口节点101_1—101_M可位于一个或多个地理区域中。用户可通过一个或多个用户设备连接到所述一个或多个入口节点。需要指出的是,虽然图中为了方便每个入口节点示出了一个用户设备,但是应当理解,在入口节点和入口设备之间可不存在一一对应关系。用户设备可以采取各种形式,包括但不限于:包括手持式计算设备、PDA(个人数字助手)、便携式媒体播放器、可穿戴计算机、导航设备(诸如GPS(全球定位系统))、笔记本计算机、台式计算机、多媒体控制台、游戏系统等等。入口节点接收来自用户设备的用户访问请求。优选地,每个入口节点101_1—101_M可包括一个入口节点服务部件102_1—102_M。替换地,每个入口节点可包括多个入口节点服务部件。所述入口节点服务部件可具有特定版本,所述版本可支持不同的流量类型。根据本发明的实施例,入口节点服务部件可被配置成接收用户访问请求,并根据用户访问请求从为该入口节点预分配的加速节点集群中选择最优加速节点进行回源。入口节点服务部件选择最优加速节点的过程在下面参考图3和图4进行更详细的描述。

选路系统100还可包括一个或多个加速节点或加速节点群集103_1—103_N。所述加速节点可位于一个或多个地理区域。这些加速节点可被配置成用于访问源站。任选地,该一个或多个加速节点或加速节点群集103_1—103_N中的每个加速节点可包括一个或多个加速节点服务部件104_1—104_N。

选路系统100还可包括调度中心105,该调度中心可被配置成在入口节点初次上线时为入口节点预分配加速节点群集,以及在随后更新各入口节点的加速节点群集分配。

参考图2,图2示出了根据本发明的一个实施例的入口节点初始化方法200的流程图。在入口节点初次上线时,执行该入口节点初始化方法以初始化入口节点。该入口节点初始化方法200包括:在步骤202,由入口节点向调度中心发送初始化请求。例如,该初始化请求可以由入口节点101_1通过入口节点服务部件101_2发送。该初始化请求可包括该入口节点的IP信息、所部署的服务部件信息、以及对加速节点的特殊要求等信息。

该方法200还包括:在步骤204,由调度中心105基于从入口节点接收到的初始化请求来向该入口节点预分配加速节点群集。具体而言,该步骤204可包括:基于该初始化请求中所包含的入口节点的IP信息来确定该入口节点所在的地理区域;基于所确定的该入口节点所在的地理区域、该入口节点所部署的服务部件信息、以及该入口节点对加速节点的特殊要求等来为该入口节点预分配加速节点群集;以及将关于为该入口节点所分配的加速节点群集的信息同步给该入口节点。在一个示例中,为该入口节点预分配加速节点群集可至少部分基于特定算法。优选地,该特定算法为一致性哈希算法。在一个示例中,将关于为该入口节点所分配的加速节点群集的信息同步给该入口节点可包括将为该入口节点预分配的加速节点群集的IP库同步到该入口节点。

该方法还包括:在步骤206,由该入口节点将向其预分配的加速节点群集中与该入口节点同区域的一个或多个加速节点标记为默认加速节点。在一个示例中,入口节点和加速节点的区域分别是基于入口节点和加速节点的IP地址来确定的。

该方法200还包括:任选地,在步骤208,可更新为该入口节点预分配的加速节点群集以及默认加速节点。在一个示例中,该入口节点可周期性地向该调度中心请求同步关于加速节点群集的信息。如果加速节点有变更(如新增加速节点、加速节点下线等),该调度中心可例如通过特定算法重新向该入口节点分配加速节点并将新分配的加速节点的信息同步给该入口节点。优选地,该特定算法为一致性哈希算法。在一个示例中,该入口节点可周期性地重新确定默认加速节点。

参考图3,图3示出了根据本发明的一个示例的选路方法300的流程图。该方法300可包括:在任选的步骤302,在入口节点初始化过程期间,由调度中心根据入口节点所在区域向入口节点预分配加速节点集群。优选地,该步骤可基于上面参考方法200所描述的入口节点初始化方法来进行。注意,如果入口节点已经被初始化,则该步骤可被省略。

在步骤304,在入口节点(例如入口节点101_1)处接收用户访问请求。在一个示例中,该用户访问请求可包括流量类型。流量类型的示例包括但不限于:HTTP流量、TCP流量、UDP流量等等。

该方法300还可包括:在步骤306,在入口节点处,响应于该用户访问请求,从为该入口节点分配的加速节点群集中选择最优加速节点。例如,该步骤可由该入口节点处的入口节点服务部件来执行。在一个示例中,选择最优加速节点可基于与加速节点相关联的信息,例如,该信息可包括例如该加速节点所在的区域、与该加速节点相关联的成本、该加速节点的带宽以及该加速节点所支持的通信协议等。在一个示例中,在该入口节点服务部件处,已经针对流量类型预先设置好相应的加速节点类型。例如,针对HTTP类型的流量,预设好带宽最大的加速节点;针对TCP类型的流量,预设好支持TCP协议且成本最低的加速节点等等。选择最优加速节点的流程在以下参考图4更详细地示出。

该方法300还可包括,在步骤308,通过选择的一个或多个加速节点(即最优加速节点)回源。优选地,通过该一个或多个最佳加速节点中具有最佳探测质量的一个节点回源。替换地,可通过该一个或多个最佳加速节点中的任一加速节点回源,例如可通过该一个或多个最佳加速节点中的随机加速节点回源。

参见图4,在一个示例中,用于响应于用户访问请求来选择最优加速节点的步骤可包括:在步骤402,确定是否已针对该用户访问请求中的源站存储了探测质量信息。具体而言,确定是否针对该用户访问请求中的源站存储了质量探测的结果并确定了最优加速节点。如果在步骤402确定已针对该用户访问请求中的源站存储了探测质量信息,则该流程去往步骤426,基于该探测质量信息中的最优加速节点来进行回源。如果在步骤402确定没有针对该用户访问请求中的源站存储探测质量信息(例如对该源站的初次用户访问请求),则该流程去往步骤404,确定是否针对该用户访问请求预设了一个或多个加速节点?如果在步骤404确定已针对该请求预设了加速节点,则在步骤408,通过入口节点的服务部件提取用户访问请求的源站IP,并针对此源站IP,对该一个或多个预设的加速节点进行质量探测。例如,可通过该一个或多个预设的加速节点来访问该源站IP,并对访问参数(诸如响应延迟、稳定性等)进行评估,从而得到质量探测结果。在一个示例中,任选地,可存储针对该一个或多个预设的加速节点的质量探测结果,例如存储在该入口节点处。随后在步骤422,至少部分基于质量探测结果确定一个或多个加速节点作为最优加速节点。例如,可将具有最低响应延迟的一个或多个加速节点确定为最优加速节点。此外,确定最优加速节点还可考虑其它因素,诸如加速节点的成本、加速节点的带宽、加速节点所支持的协议类型等等中的一者或多者。随后,任选地,在步骤424,可更新最优加速节点。例如,可周期性地(例如每分钟、每小时、每天、每周等)更新最优加速节点。对最优加速节点的更新可通过重复之前确定最佳加速节点的过程来进行。随后,在步骤426,可选择最优加速节点作为在步骤304中被选择的加速节点。

任选地,该过程还可包括在步骤406,从预设加速节点中随机选择一个加速节点进行回源。尽管在图4中示出步骤406在步骤408之前执行,但步骤406也可在其它时刻执行。

如果在步骤404确定没有针对该请求预设加速节点,则该流程去往步骤410,提取用户访问请求的源站IP,并确定该源站IP对应的地理区域。在一个示例中,确定该源站IP对应的地理区域可包括将该源站IP与IP库中的数据进行比较来确定该地理区域。接下来,在步骤412,可确定该地理区域是否有加速节点。如果在步骤412确定该区域有加速节点,则在步骤416,针对该源站IP,对对应区域的加速节点进行质量探测。同样地,可通过该对应区域的一个或多个加速节点来访问该源站IP,并对访问参数(诸如响应延迟、稳定性等)进行评估,从而得到质量探测结果。接着,该流程去往步骤422,至少部分基于质量探测结果选择一个加速节点作为最优加速节点。随后任选地在步骤424更新最优加速节点。接着,在步骤426,可选择最优加速节点作为在步骤304中被选择的加速节点。

任选地,该过程还可包括在步骤414,从与该源站IP对应的地理区域中的加速节点中随机选择一个加速节点回源。同样地,尽管在图4中示出步骤414在步骤416之前执行,但步骤414也可在其它时刻执行。

如果在步骤412确定该地理区域没有加速节点,则在步骤420,针对此源站IP,对默认加速节点进行质量探测。例如,默认加速节点可以是预先设定的加速节点。随后该过程可去往步骤422、424以及426。

同样,该过程可包括任选的步骤418,从默认加速节点中随机选择一个加速节点回源。尽管在图4中示出步骤418在步骤420之前执行,但步骤418也可在其它时刻执行。

此外,在运行过程中,入口节点处的服务部件可定期地进行质量探测,并更新探测质量的结果,并基于经更新的探测质量结果来选择新的最优加速节点来取代原来的最优加速节点。

其中,入口节点和加速节点之间的任何通信可以是加密通信。

为便于理解,在下文中提供了更具体的示例。应当理解,这些示例是为了说明而提供的,而不旨在以任何方式限制本发明的范围。

假设A地区有入口节点X/Y,B地区有入口节点Z,以便服务A地区和B地区的用户。在以下示例中,从用户到达这些入口节点的用户访问请求均无特殊要求。假设在调度中心的资源池中,加速节点1~12是A地区节点,加速节点13~24是B地区节点,加速节点25~36是C地区节点,加速节点1~36均能支持入口节点X/Y/Z的服务类型。假设加速节点1~36在带宽、成本等方面的权重均相同。

入口节点初始化过程如下:

1、入口节点X/Y/Z部署上服务部件第一次上线,入口节点X/Y/Z向调度中心请求加速节点,并上报入口节点X/Y/Z的IP信息、服务部件版本信息等;

2、调度中心收到请求,根据入口节点X/Y/Z的IP信息查询IP库,判断入口节点X/Y是A地区的节点,入口节点Z是B地区的节点,根据入口节点X/Y/Z上报的服务部件版本信息,分别判断筛选出支持入口节点X/Y/Z服务类型的所有加速节点集合;

3、调度中心通过一致性哈希算法,在支持入口节点X/Y/Z服务类型的加速节点集合中在各个区域选取一定数量的加速节点返回给入口节点X/Y/Z;

4、调度中心将加速节点1~8,13~20,25~32分配给入口节点X,将加速节点5~12,17~24,29~36分配给入口节点Y,将加速节点1~4,9~12,13~16,21~23,25~28,33~36分配给入口节点Z,并将IP库同步给入口节点X/Y/Z,入口节点X/Y/Z获取到的加速节点可能有重合也可能完全不同,但总体加速节点能均衡分配给所有的入口节点;

5、入口节点X/Y/Z查询IP库,找到本机IP信息对应的区域,并将该区域的加速节点标记为默认区域加速节点。入口节点X将A地区的加速节点1~8标记为默认区域加速节点,入口节点Y将A地区的加速节点5~12标记为默认区域加速节点,入口节点Z将B地区的13~16,21~23标记为默认区域加速节点;

6、服务过程中,入口节点X/Y/Z间隔一定时间定期向调度中心请求更新,若加速节点有变化(增加或者删减),调度中心会重新分配,并同步给入口节点,入口节点更新所获取到的加速节点信息,若加速节点没有变化,调度中心则返回无变化,入口节点无需更新。

在A地区或B地区的用户向入口节点发送访问请求时,选路过程如下:

1、用户请求通过某种方式引导到A地区的入口节点X/Y的B地区的入口节点Z。如果入口节点X/Y/Z无该请求的访问记录,则确定A地区和B地区的上网用户是第一次访问该请求;

2、入口节点X/Y/Z的服务部件解析该请求中所涉及的源站IP,服务部件在IP库中查询该源站IP所属区域。此处,假设该源站IP在A地区;

3、入口节点X的服务部件在A地区的加速节点1~8中随机选择一个加速节点回源,并将该源站加入A地区加速节点1~8进行探测;

4、入口节点Y的服务部件在A地区的加速节点5~12中随机选择一个加速节点回源,并将该源站加入A地区加速节点5~12进行探测;

5、入口节点Z的服务部件在A地区的加速节点1~4,9~12中随机选择一个加速节点回源,并将该源站加入A地区加速节点1~4,9~12进行探测;

6、入口节点X/Y/Z的服务部件分别分析探测结果,并各自得到针对该源站访问质量最好的加速节点(假设分别为加速节点1、加速节点12和加速节点10);

7、入口节点和加速节点通过加密方式传输;

8、第二次用户请求到达入口节点X/Y/Z,入口节点X/Y/Z查询该域名的探测信息,用户请求分别从加速节点1、加速节点12和加速节点10进行回源;

9、入口节点X/Y/Z不断有该源站的请求到达,服务部件定期对A地区加速节点进行重新探测该源站的服务质量,并更新探测结果,得到更新的访问质量最好的加速节点,保证用户请求及时地从访问质量最好的加速节点回源。

可以看出,本发明的选路过程可在入口节点处完成,而无需集中于调度中心处完成。与传统方法相比,因为用户请求无需要上报到调度中心处理后再反馈给入口代理设备进行选路,所以本发明可以缩短选路过程所需的时间,提高响应速度;其次,由于选路过程在各入口节点处进行分布式处理而非在调度中心处进行集中式处理,所以本发明的处理速度更快,而不受调度中心的性能瓶颈的限制;再次,本发明避免了重复计算,提高了计算效率。

应当理解,此处描述的系统和/或方法本质是示例性的,这些具体实施例或示例不应被视为限制性的,因为许多变体是可能的。此处描述的具体例程或方法可以表示任何数量的处理策略中的一个或多个。如此,所示和/或所述的各种动作可以以所示和/或所述顺序、以其它顺序、并行地执行,或者被省略。同样,上述过程的次序可以改变。

本公开的主题包括各种过程、系统和配置以及此处公开的其它特征、功能、动作和/或属性、以及它们的任一和全部等价物的所有新颖且非显而易见的组合和子组合。

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