一种基于网络延时的CDN调度算法及系统的制作方法

文档序号:19730193发布日期:2020-01-18 03:51阅读:287来源:国知局
一种基于网络延时的CDN调度算法及系统的制作方法

本发明涉及通信领域,具体涉及一种基于网络延时的cdn调度算法及系统。



背景技术:

cdn返回给用户的目标cdn节点通常是根据物理距离的远近来分配,例如浙江省绍兴市的用户会访问杭州(离他最近)的cdn节点,这样分配的原则一般情况下是对的,但是终端用户常常出现连接的最近的cdn节点后出现连接失败或者网络卡顿的问题。这是由于没有考虑到不同运营商的互联互通问题,导致该cdn节点目前的网络拥塞等问题。

智能dns解析可以一定程度的解决上面所述的问题。dns策略解析最基本的功能是可以智能的判断终端用户的地域、源ip的运营商,然后根据不同的访问者把域名分别解析成不同的ip地址。如访问者是网通用户,dns策略解析服务器会把你的域名对应的网通ip地址解析给这个访问者。如访问者是电信用户,dns策略解析服务器会把您域名对应的电信ip地址解析给这个访问者。

但是现有方案也存在如下缺点:

1这种方式是基于“地理位置+运营商类型”双因素来判断用户连接到这个cdn节点,理论上应该最快。但是现实中的网络情况收到较多其他因素的干扰,例如:该cdn节点目前的网络负载情况是否较高,该节点是否正在受到ddos/cc等攻击,运营商基础网络情况,例如绍兴电信的的终端用户连接到杭州电信的cdn节快还是上海电信的节点更快?实际上是不一定的,甚至是实时变化的。智能dns的方案就没办法解决这样的问题。

2因为客户端上一般都存在域名缓存的问题,一旦当前连接的cdn节点出现故障连接不通,重新需要进行dns解析的时候操作系统取的仍然是缓存的信息,终端会有几分钟的时间连接不了网络。



技术实现要素:

本发明的目的在于针对现有技术的不足,提供一种基于网络延时的cdn调度算法及系统。

为了解决上述技术问题,采用如下技术方案:

一种基于网络延时的cdn调度算法,包括以下步骤:

(a)客户端发起业务访问流程;

(b)所述客户端的网络调度模块接收到dns服务器请求;

(c)所述网络调度模块发送查询请求到cdn调度中心;

(d)所述cdn调度中心的cdn负载均衡器查找n台备选缓存服务器;

(e)n台备选缓存服务器地址返回给所述客户端的网络调度模块;

(f)所述网络调度模块同时向n台备选缓存服务器发送网络探测报文;

(g)最先返回的缓存服务器作为本次连接的目的地址;

(h)如果产生网络连接中断、延迟超过阈值时,重新进行返回到步骤(f)。

进一步,所述cdn负载均衡器查找所述备选缓存服务器是基于现有的cdn网络,按照地理位置、服务器负载情况以及运营商信息综合选择最近的备选缓存服务器。

进一步,所述备选缓存服务器的数量大于等于3。

一种基于网络延时的cdn调度系统,包括客户端、cdn调度中心和缓存服务器,所述客户端连接有网络调度模块,所述网络调度模块连接所述cdn调度中心,所述cdn调度中心连接有cdn负载均衡器,所述cdn负载均衡器查找所述缓存服务器;

所述客户端为终端客户app端;

所述cdn调度中心:用于接收所述dns服务器的请求,并根据所述客户端的业务访问流程的请求,由cdn负载均衡器查找备选缓存服务器。

由于采用上述技术方案,具有以下有益效果:

本发明为一种基于网络延时的cdn调度算法及系统,针对客户端为app的场景下,cdn节点分配算法增加终端网络探测数据,更加有效地进行网络加速。

由于本发明将网络调度的触角延伸到终端上,可以感知到真实的网络情况,让终端根据真实的网络情况选择最快的节点,可以较大幅度提升用户的使用体验。

附图说明

下面结合附图对本发明作进一步说明:

图1为本发明中一种基于网络延时的cdn调度算法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

如图1所示,一种基于网络延时的cdn调度算法,包括以下步骤:

(a)客户端发起业务访问流程。

(b)所述客户端的网络调度模块接收到dns服务器请求。

(c)所述网络调度模块发送查询请求到cdn调度中心。

(d)所述cdn调度中心的cdn负载均衡器查找n台备选缓存服务器;所述备选缓存服务器的数量大于等于3。

(e)n台备选缓存服务器地址返回给所述客户端的网络调度模块。

(f)所述网络调度模块同时向n台备选缓存服务器发送网络探测报文。

(g)最先返回的缓存服务器作为本次连接的目的地址。

(h)如果产生网络连接中断、延迟超过阈值时,重新进行返回到步骤(f)。

所述cdn负载均衡器查找所述备选缓存服务器是基于现有的cdn网络,按照地理位置、服务器负载情况以及运营商信息综合选择最近的备选缓存服务器。

具体地,终端客户app端进行域名解析时,首先被终端客户app端预置的网络调度模块截获,cdn调度中心根据该终端所处地理位置、运营商情况返回前三台可能最快的cdn节点信息,预置的app调度模块同时发送网络探测报文到这三台cdn节点,最先返回的cdn节点即是最优的连接目标,网络调度模块将选择的结果上传到cdn分配调度中心。如果客户端网络延迟达到某个阈值(例如大于500ms)网络调度模块会对这三台cdn备选节点重新进行网络探测,重新选择最快的节点。

一种基于网络延时的cdn调度系统,包括客户端、cdn调度中心和缓存服务器,所述客户端连接有网络调度模块,所述网络调度模块连接所述cdn调度中心,所述cdn调度中心连接有cdn负载均衡器,所述cdn负载均衡器查找所述缓存服务器;

所述客户端为终端客户app端;

所述cdn调度中心:用于接收所述dns服务器的请求,并根据所述客户端的业务访问流程的请求,由cdn负载均衡器查找备选缓存服务器。

所述备选缓存服务器指的是cdn的缓存服务器,比如www.baidu.com这个域名对应的全国有30台缓存服务器(实际上我们在杭州访问百度和在北京访问百度对应的服务器ip地址是不一样的,存在很多的镜像服务器也叫缓存服务器),分布在各个省里面,一个杭州的用户用浏览器来访问www.baidu.com的时候cdn缓存服务器,cdn调度中心认为可能最快的三台缓存服务器应该是杭州、上海、南京三个地方的缓存服务器,这时候用户电脑上的网络调度模块同时向这三个缓存服务器ip发送网络探测报文(可以理解为ping),最先返回的就说明他的网络是最快的。探测报文不是文件,是网络数据包。

为了更好地理解本发明,参看下表1的实验数据

表1

从上表数据可以看出,相同源ip到同一城市里不同运营商机房的服务器延迟相差较大。延迟从最高的203.97提高到43.86。(以上每组数据为测试20次的平均值)

以上仅为本发明的具体实施例,但本发明的技术特征并不局限于此。任何以本发明为基础,为解决基本相同的技术问题,实现基本相同的技术效果,所作出地简单变化、等同替换或者修饰等,皆涵盖于本发明的保护范围之中。

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