基于域名系统的数据调度方法和系统与流程

文档序号:20020153发布日期:2020-02-25 11:29阅读:520来源:国知局
基于域名系统的数据调度方法和系统与流程

本申请涉及数据调度领域,具体而言,涉及一种基于域名系统的数据调度方法和系统。



背景技术:

现有商业cdn(contentdeliverynetwork,内容分发网络)的加速基本都是基于域名的加速。大部分用户及流量的调度基本都是基于dns的,具体原理如图1所示,用户访问某个直播url:http://host.com/app/steam.flv的直播内容;运营商的递归forwarddns去根(.)权威dns查询.com.的ns(nameserver,名称服务器)记录,根(.)返回com.权威dns的ns;运营商的forwarddns去com.权威dns查询host.com.的ns记录,com.返回host.com.的ns;运营商的forwarddns去host权威dns查询host.com.的a记录,host权威返回a(1.1.1.1)记录于运营商的forwarddns;运营商的forwarddns将a记录返回给用户。在cdn的调度系统中,host权威即为cdn的调度系统,host会根据forwarddns的ip归属情况,返回就近的cdn节点ip地址。

但是,基于dns的地址判断粒度较粗,而且dns可能和用户的网络距离很远,用户也可能会设置错误的dns,该服务器和用户实际距离较远;dns请求里面不会携带有内容信息,无法针对内容作出更加灵活的判断;由于dns带有ttl(timetolive,生存时间)缓存,所以用户一段时间内的请求都会导向同一个cdn节点,会导致节点流量较高的时候,流量无法切走,影响用户体验;因为调度存在的问题会导致业务体验数据很受影响,具体地,调度不准会影响卡顿率;不能基于内容的调度会影响命中率,进而影响首屏和卡顿率。

部分cp(contentprovider,内容供应商)的域名的解析基本都是基于httpdns(hypertexttransferprotocoldomainnamesystem,超文本传输协议域名服务器)来实现的,具体原理如图2所示,用户的播放器获取播放url(uniformresourcelocator)后会请求httpdns接口来获得播放器的域名的a记录信息;httpdns获取到用户的请求之后,会根据域名(domain)用户ip(clientip);来选择cdn的节点的ip返回给用户。

但是,httpdns请求里面不会携带有内容信息,无法针对内容作出更加灵活的判断;httpdns集中部署的问题会严重影响业务的可用性;因为调度存在的问题会导致业务体验数据很受影响,不能基于内容的调度会影响命中率,进而影响首屏和卡顿率。

针对现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种基于域名系统的数据调度方法和系统,以至少解决现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

根据本申请实施例的一个方面,提供了一种基于域名系统的数据调度方法,包括:客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;客户终端基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,则客户终端将接收到边缘服务器直接返回的数据;如果边缘服务器在本地没有缓存内容请求所请求的数据,则客户终端将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

根据本申请实施例的另一方面,还提供了一种基于域名系统的数据调度方法,包括:边缘服务器接收到客户终端发送的内容请求,其中,客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,边缘服务器将内容请求对应的数据发送至客户终端,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地没有缓存内容请求所请求的数据,则边缘服务器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端。

根据本申请实施例的另一方面,还提供了一种基于域名系统的数据调度系统,包括:客户终端,用于通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息,并基于地址信息发送内容请求,其中,内容请求至少包括:域名名称、客户终端的地址信息;边缘服务器,用于接收并响应内容请求,并将请求得到的数据返回给客户终端;调度中心,用于如果边缘服务器在本地没有缓存内容请求所请求的数据,接收边缘服务器发送的内容请求,并基于内容请求确定客户终端所在的网络区域中的最优接入节点;其中,边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

根据本申请实施例的另一方面,还提供了一种基于域名系统的数据调度系统,包括:客户终端,用于通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息,并基于地址信息发送内容请求,其中,内容请求至少包括:域名名称、客户终端的地址信息;边缘服务器,用于接收内容请求,并判断内容请求是否为流粒度调度;边缘调度器,用于在边缘服务器判断内容请求不是流粒度调度之后,接收内容请求;调度中心,用于如果边缘调度器在本地没有缓存内容请求所请求的数据,接收边缘调度器发送的内容请求,并基于内容请求确定客户终端所在的网络区域中的最优接入节点;其中,边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

根据本申请实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行以下步骤:客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;客户终端基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,则客户终端将接收到边缘服务器直接返回的数据;如果边缘服务器在本地没有缓存内容请求所请求的数据,则客户终端将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

根据本申请实施例的另一方面,还提供了一种移动设备,包括:处理器,处理器用于运行程序,其中,在程序运行时执行以下步骤:客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;客户终端基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,则客户终端将接收到边缘服务器直接返回的数据;如果边缘服务器在本地没有缓存内容请求所请求的数据,则客户终端将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

根据本申请实施例的另一方面,还提供了一种基于域名系统的数据调度系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;客户终端基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,则客户终端将接收到边缘服务器直接返回的数据;如果边缘服务器在本地没有缓存内容请求所请求的数据,则客户终端将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

在本申请实施例中,客户终端通过在内容分发网络中完成域名调度,可以得到内容分发网络中的边缘服务器的地址信息,基于地址信息发送内容请求至边缘服务器,并接收边缘服务器响应内容请求而返回的数据,该数据可以是边缘服务器本地缓存的数据,也可以是边缘服务器从调度中心请求到的数据,从而实现基于域名的数据调度的目的。

容易注意到的,在完成域名调度后,客户终端得到的是内容分发网络中的边缘服务器的地址信息,而且边缘服务器响应内容请求返回数据,与现有技术相比,域名调度下沉至边缘服务器,用户请求失败的情况会降低,而且边缘服务器基于流粒度进行数据调度,达到了提升命中率,提高接口可用性,降低首屏时间和卡顿率的技术效果。

由此,本申请实施例提供的方案解决了现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据现有技术的一种基于dns的数据调度方法的原理图;

图2是根据现有技术的一种基于httpdns的数据调度方法的原理图;

图3是根据本申请实施例的一种用于实现基于域名系统的数据调度方法的计算机终端(或移动设备)的硬件结构框图;

图4是根据本申请实施例的一种用于实现基于域名系统的数据调度方法的计算机终端作为客户终端的示例性框图;

图5是根据本申请实施例1的一种基于域名系统的数据调度方法的流程图;

图6是根据本申请实施例的一种可选的基于httpdns的数据调度方法的交互图;

图7是根据本申请实施例的一种可选的基于dns的数据调度方法的交互图;

图8是根据本申请实施例2的一种基于域名系统的数据调度方法的流程图;

图9是根据本申请实施例3的一种基于域名系统的数据调度装置的示意图;

图10是根据本申请实施例4的一种基于域名系统的数据调度装置的示意图;

图11是根据本申请实施例5的一种基于域名系统的数据调度系统的示意图;

图12是根据本申请实施例6的一种基于域名系统的数据调度系统的示意图;以及

图13是根据本申请实施例的一种计算机终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

cdn:内容分发网络,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,cdn系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

边缘服务器:可以为用户提供一个进入网络的通道和与其他服务器设备通讯的功能,通常是一组完成单一功能的服务器,例如,dns服务器。

实施例1

根据本申请实施例,提供了一种基于域名系统的数据调度方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图3示出了一种用于实现基于域名系统的数据调度方法的计算机终端(或移动设备)的硬件结构框图。如图3所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用302a、302b,……,302n来示出)处理器302(处理器302可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器304、以及用于通信功能的传输装置306。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。

应当注意到的是上述一个或多个处理器302和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的客户终端、边缘服务器,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。

存储器304可用于存储应用软件的软件程序以及模块,如本申请实施例中的基于域名系统的数据调度方法对应的程序指令/数据存储装置,处理器302通过运行存储在存储器304内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于域名系统的数据调度方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器304可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置306包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置306可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。

图3示出的硬件结构框图,不仅可以作为上述计算机终端10(或移动设备)的示例性框图,还可以作为上述服务器的示例性框图,一种可选实施例中,图4以框图示出了使用上述图3所示的计算机终端10(或移动设备)作为客户终端的一种实施例。如图4所示,计算机终端10(或移动设备)可以经由数据网络连接或电子连接到一个或多个服务器00,例如,dns服务器、边缘服务器等。一种可选实施例中,上述计算机终端10(或移动设备)可以是任意移动计算设备等。数据网络连接可以是局域网连接、广域网连接、因特网连接,或其他类型的数据网络连接。计算机终端10(或移动设备)可以执行以连接到由一个服务器(例如安全服务器)或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。

在上述运行环境下,本申请提供了如图5所示的基于域名系统的数据调度方法。

图5是根据本申请实施例1的一种基于域名系统的数据调度方法的流程图。如图5所示,该方法可以包括如下步骤:

步骤s52,客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息。

具体地,上述的客户终端可以是用户使用的移动设备或者计算机设备等,包括但不限于:智能手机(包括android手机和ios手机)、ipad、平板电脑、掌上电脑、笔记本电脑、pc(personalcomputer,个人电脑)等。

在一种可选的方案中,客户终端可以通过在cdn中完成dns调度,从而获取到cdn的边缘服务器的ip。

步骤s54,客户终端基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息。

具体地,客户终端的地址信息可以是客户终端的ip。在内容请求中,可以通过domain参数表示域名名称,通过client_ip参数表示客户终端的ip。为了方便边缘服务器确定本地是否缓存有相应的数据,则内容请求中还可以包括:数据流,在内容请求中,可以通过stream参数进行表示。

在一种可选的方案中,客户终端可以发送携带有domain、stream和client_ip参数的内容请求至边缘服务器。

步骤s56,如果边缘服务器在本地缓存了内容请求所请求的数据,则客户终端将接收到边缘服务器直接返回的数据。

步骤s58,如果边缘服务器在本地没有缓存内容请求所请求的数据,则客户终端将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

在一种可选的方案中,边缘服务器在接收到客户终端发送的内容请求之后,可以基于stream和client_ip判断本地是否缓存有相应的数据,如果本地缓存有相应的数据,则可以将本地缓存的相应的数据返回给客户终端,如果边缘服务器本地未缓存相应的数据,则可以向cdn中的调度中心请求响应的数据,从cdn的调度中心获取相应的数据并返回给客户终端。

在另一种可选的方案中,边缘服务器在接收到客户终端发送的内容请求之后,可以将本地缓存的相应的数据返回给客户终端,或者向边缘调度器发送内容请求,获取边缘调度器本地缓存的相应的数据,如果边缘调度器未缓存相应的数据,则可以向cdn中的调度中心请求响应的数据,从cdn的调度中心获取相应的数据并返回给客户终端。

本申请上述实施例1所提供的方案,客户终端通过在内容分发网络中完成域名调度,可以得到内容分发网络中的边缘服务器的地址信息,基于地址信息发送内容请求至边缘服务器,并接收边缘服务器响应内容请求而返回的数据,该数据可以是边缘服务器本地缓存的数据,也可以是边缘服务器从调度中心请求到的数据,从而实现基于域名的数据调度的目的。

容易注意到的,在完成域名调度后,客户终端得到的是内容分发网络中的边缘服务器的地址信息,而且边缘服务器响应内容请求返回数据,与现有技术相比,域名调度下沉至边缘服务器,用户请求失败的情况会降低,而且边缘服务器基于流粒度进行数据调度,达到了提升命中率,提高接口可用性,降低首屏时间和卡顿率的技术效果。

由此,本申请提供的上述实施例1的方案解决了现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

本申请上述实施例中,步骤s58,边缘服务器通过访问内容分发网络的调度中心请求数据,包括:

步骤s582,调度中心接收边缘服务器发送的内容请求。

步骤s584,调度中心根据客户终端的地址信息确定客户终端所在的网络区域。

步骤s586,调度中心根据域名名称和数据流确定网络区域中的最优接入节点。

具体地,调度中心可以在区域isp的运营商节点中,通过stream进行一致性hash算法选出最优的cdn节点作为最优接入节点。

步骤s588,调度中心将最优接入节点的地址信息返回给边缘服务器,使得边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

在一种可选的方案中,对于基于httpdns实现的域名解析,调度中心在接收到边缘服务器发送的内容请求之后,可以根据内容请求中携带的client_ip来选定用户所属的区域isp(internetserviceprovider,互联网服务供应商),然后根据domain和stream来确认区域isp内的具体cdn节点作为最优接入节点,并将最优接入节点的地址信息返回给边缘服务器,从而边缘服务器可以从最优接入节点获取到相应的数据,并返回至客户终端。

本申请上述实施例中,边缘服务器将从最优接入节点请求到的数据返回给客户终端,并在本地缓存内容请求所请求到的数据。

在一种可选的方案中,对于基于httpdns实现的域名解析,边缘服务器接收到调度中心返回的最优接入节点的地址信息之后,可以从最优接入节点获取相应的数据并返回给客户终端,同时在本地缓存相应的数据,以方便下次客户终端发送同样的内容请求时,边缘服务器可以直接将相应的数据返回至客户终端,进一步达到提升命中率,提高接口可用性,降低首屏时间和卡顿率的效果。

图6是根据本申请实施例的一种可选的基于httpdns的数据调度方法的交互图,如图6所示,该方法可以包括如下步骤:

步骤s61,客户终端请求httpdns接口,传输携带有domain、stream、client_ip参数的内容请求。

可选地,客户终端发送内容请求可以是url,例如,内容请求可以是http://api.httpdns.com/stream=ab&client_ip=1.1.1.1&domain=ab.com。

步骤s62,httpdns边缘节点判断用户请求的信息在本地是否有缓存。

步骤s63,如果httpdns边缘节点本地有缓存,则返回相应的数据。

可选地,httpdns边缘节点可以返回cdn节点a记录信息至客户终端。

步骤s64,如果httpdns边缘节点本地无缓存,则发送携带有domain、stream、client_ip参数的内容请求至httpdns中心节点。

可选地,httpdns边缘节点可以向httpdns中心节点请求cdn节点的a记录信息。

步骤s65,httpdns中心节点根据domain、stream、client_ip来选择cdn的最优节点。

可选地,httpdns中心节点根据client_ip来选定用户所属的区域isp,然后根据domain和stream来确认区域isp内的具体cdn节点,得到最优节点。

步骤s66,httpdns中心节点将最优节点返回至httpdns边缘节点,httpdns边缘节点从最优节点获取相应的数据,并对数据进行缓存。

可选地,httpdns边缘节点收到httpdns中心节点返回的信息之后,可以从最优节点获取cdn节点的a记录信息,并根据stream和client_ip对信息进行缓存。

步骤s67,httpdns边缘节点将相应的数据返回至客户终端。

可选地,httpdns边缘节点可以返回cdn节点a记录信息至客户终端。

通过上述方案,在httpdns的调度的基础之上添加业务层的调度方法,使其能够为直播业务带来质量的提升的同时降低直播业务的成本。通过将httpdns下沉至cdn的边缘节点,这样httpdns就会拥有与cdn一样的分布式部署,用户请求失败的情况会大大降低,而且有效的提高接口高可用性;httpdns可以是基于流粒度的调度,这样可以大大的提供流在边缘节点的命中率,可以有效的降低首屏时间、卡顿率和cdn中心节点下行的带宽。

本申请上述实施例中,在步骤s54,客户终端基于地址信息发送内容请求至边缘服务器之后,该方法还包括:

步骤s510,边缘服务器判断内容请求是否为流粒度调度之后的请求。

步骤s512,如果是,边缘服务器响应内容请求,并将响应结果返回给客户终端。

步骤s514,如果不是,边缘服务器向边缘调度器请求流粒度的调度策略。

在一种可选的方案中,对于基于dns实现的域名解析,边缘服务器在接收到内容请求url之后,可以判断该url是否为流粒度调度之后的url,如果是,则返回相应的内容;如果不是,则向边缘调度器请求流粒度的调度策略。

本申请上述实施例中,在步骤s514,边缘服务器向边缘调度器请求流粒度的调度策略之后,该方法还包括:

步骤s518,边缘调度器接收内容请求。

步骤s520,边缘调度器查询本地是否缓存了内容请求所请求的数据。

步骤s522,如果边缘调度器本地缓存了内容请求所请求的数据,则边缘调度器将数据通过边缘服务器返回给客户终端。

在一种可选的方案中,对于基于dns实现的域名解析,边缘调度器在接收到内容请求之后,通过判断消息:stream和client_ip来查询本地缓存中是否有同样的解析记录,如果有,则确定本地缓存了相应的数据,返回相应的数据至边缘服务器,并由边缘服务器转发至客户终端。

本申请上述实施例中,步骤s524,如果边缘调度器在本地没有缓存内容请求所请求的数据,边缘调度器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端。

在一种可选的方案中,对于基于dns实现的域名解析,如果边缘调度器查询本地缓存中没有同样的解析记录,则确定本地未缓存相应的数据,可以向调度中心请求最优接入节点,并从最优接入节点获取到相应的数据。

本申请上述实施例中,步骤s524,边缘调度器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,包括:

步骤s5242,调度中心接收边缘调度器发送的内容请求。

步骤s5244,调度中心根据客户终端的地址信息确定客户终端所在的网络区域。

步骤s5246,调度中心根据域名名称和数据流确定网络区域中的最优接入节点。

步骤s5248,调度中心将最优接入节点的地址信息返回给边缘调度器,使得边缘调度器通过访问最优接入节点获取内容请求所请求的数据。

在一种可选的方案中,对于基于dns实现的域名解析,调度中心在接收到边缘调度器发送的内容请求之后,可以根据内容请求中携带的client_ip来选定用户的isp归属,然后根据domain和stream在isp归属的运营商节点中,选出具体cdn节点作为最优接入节点,并将最优接入节点的地址信息返回给边缘调度器,从而边缘调度器可以从最优接入节点获取到相应的数据,并通过边缘服务器返回至客户终端。

本申请上述实施例中,步骤s526,边缘调度器接收到调度中心返回的最优接入节点的地址信息之后,将最优接入节点的地址信息发送给边缘服务器,并在本地缓存解析结果,其中,解析结果为边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

在一种可选的方案中,对于基于dns实现的域名解析,边缘调度器接收到调度中心返回的最优接入节点的地址信息之后,可以将最优接入节点的地址信息转发至边缘服务器,边缘服务器可以从最优接入节点获取相应的数据并返回给边缘调度器,由边缘调度器进行本地缓存,以方便下次客户终端发送同样的内容请求时,边缘调度器可以直接将相应的数据返回至客户终端,进一步达到提升命中率,提高接口可用性,降低首屏时间和卡顿率的效果。

本申请上述实施例中,在步骤s526,边缘服务器通过访问最优接入节点获取内容请求所请求的数据之后,该方法还包括:

步骤s528,边缘服务器发送数据至客户终端,并在本地缓存内容请求所请求到的数据。

在一种可选的方案中,对于基于dns实现的域名解析,边缘服务器接收到调度中心返回的最优接入节点的地址信息之后,可以从最优接入节点获取相应的数据并返回给客户终端,同时在本地缓存相应的数据,以方便下次客户终端发送同样的内容请求时,边缘服务器可以直接将相应的数据返回至客户终端,进一步达到提升命中率,提高接口可用性,降低首屏时间和卡顿率的效果。

本申请上述实施例中,在步骤s526,边缘服务器通过访问最优接入节点获取内容请求所请求的数据之后,该方法还包括:

步骤s530,边缘服务器发送地址跳转信息至客户终端,其中,地址跳转信息使得客户终端上的网页跳转至请求的数据的网页。

在一种可选的方案中,对于基于dns实现的域名解析,边缘服务器可以将地址跳转信息返回至客户终端,从而客户终端上的网页可以跳转至相应数据的网页。

图7是根据本申请实施例的一种可选的基于dns的数据调度方法的交互图,如图7所示,该方法可以包括如下步骤:

步骤s71,客户终端在完成dns调度之后获取到了cdn的边缘节点ip,向cdn边缘节点请求内容。

可选地,客户终端发送内容请求可以是url,例如,内容请求可以是http://host.com/app/stream.flv,该内容请求中携带的参数并未写出。

步骤s72,cdn边缘节点判断用户请求的url是否为流粒度调度之后的url。

步骤s73,如果用户请求的url是流粒度调度之后的url,则返回相应的数据。

可选地,cdn边缘节点可以返回直播内容。

步骤s74,如果用户请求的url不是流粒度调度之后的url,则向cdn边缘调度器请求流粒度的调度策略。

步骤s75,cdn边缘调度器判断本地缓存中是否有同样的解析记录。

可选地,cdn边缘调度器可以根据stream和client_ip询本地缓存中是否有同样的解析记录。

步骤s76,如果本地缓存有同样的解析记录,则返回结果。

可选地,如果cdn边缘调度器本地缓存有同样的解析记录,则可以通过cdn边缘节点返回相应的数据。

步骤s77,如果本地未缓存有同样的解析记录,则向cdn调度中心请求最优cdn节点。

步骤s78,cdn调度中心根据domain、stream、client_ip来选择cdn的最优节点。

可选地,httpdns中心节点根据client_ip来确认用户的isp归属,然后在isp归属的运营商节点中,通过stream来一致性hash选出最优的cdn节点。

步骤s79,cdn调度中心将最优节点返回至cdn边缘调度器。

可选地,httpdns边缘节点收到httpdns中心节点返回的信息之后,可以从最优节点获取cdn节点的a记录信息,并根据stream和client_ip对信息进行缓存。

步骤s710,cdn边缘调度器将最优节点返回至cdn边缘节点,并同时保存解析结果。

步骤s711,cdn边缘节点返回用户302的地址跳转信息至客户终端。

可选地,地址跳转信息可以是:http://cdn_ip/domain/app/stream.flv。

通过上述方案,在dns的调度的基础之上添加业务层与用户ip的调度方法,使其能够为直播业务带来质量的提升的同时降低直播业务的成本。cdn可以获取用户的client_ip来进行二次调度,这样可以有效的避免dns设置错误带来的调度错误,也能避免节点流量跑超后的业务无法及时调度走的问题;通过将调度器下沉至cdn的边缘节点,可以有效的提高接口高可用性;cdn可以是基于流粒度的调度,这样可以大大的提供流在边缘节点的命中率,可以有效的降低首屏时间、卡顿率和cdn中心节点下行的带宽。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

实施例2

根据本申请实施例,还提供了一种基于域名系统的数据调度方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在上述实施例1的运行环境下,本申请提供了如图8所示的基于域名系统的数据调度方法。图8是根据本申请实施例2的一种基于域名系统的数据调度方法的流程图。如图8所示,该方法可以包括如下步骤:

步骤s82,边缘服务器接收到客户终端发送的内容请求,其中,客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息。

具体地,上述的客户终端可以是用户使用的移动设备或者计算机设备等,包括但不限于:智能手机(包括android手机和ios手机)、ipad、平板电脑、掌上电脑、笔记本电脑、pc(personalcomputer,个人电脑)等。

在一种可选的方案中,客户终端可以通过在cdn中完成dns调度,从而获取到cdn的边缘服务器的ip,并发送内容请求至边缘服务器。

步骤s84,如果边缘服务器在本地缓存了内容请求所请求的数据,边缘服务器将内容请求对应的数据发送至客户终端,其中,内容请求至少包括:域名名称、客户终端的地址信息。

具体地,客户终端的地址信息可以是客户终端的ip。在内容请求中,可以通过domain参数表示域名名称,通过client_ip参数表示客户终端的ip。为了方便边缘服务器确定本地是否缓存有相应的数据,则内容请求中还可以包括:数据流,在内容请求中,可以通过stream参数进行表示。

步骤s86,如果边缘服务器在本地没有缓存内容请求所请求的数据,则边缘服务器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端。

在一种可选的方案中,边缘服务器在接收到客户终端发送的内容请求之后,以基于stream和client_ip判断本地是否缓存有相应的数据,如果本地缓存有相应的数据,则可以将本地缓存的相应的数据返回给客户终端,如果边缘服务器本地未缓存相应的数据,则可以向cdn中的调度中心请求响应的数据,从cdn的调度中心获取相应的数据并返回给客户终端。

在另一种可选的方案中,边缘服务器在接收到客户终端发送的内容请求之后,可以将本地缓存的相应的数据返回给客户终端,或者向边缘调度器发送请求,获取边缘调度器本地缓存的相应的数据,如果边缘调度器未缓存相应的数据,则可以向cdn中的调度中心请求响应的数据,从cdn的调度中心获取相应的数据并返回给客户终端。

本申请上述实施例2所提供的方案,客户终端通过在内容分发网络中完成域名调度,可以得到内容分发网络中的边缘服务器的地址信息,边缘服务器接收到客户终端发送的内容请求,如果在本地缓存了内容请求所请求的数据,则边缘服务器直接将内容请求对应的数据发送至客户终端,如果在本地没有缓存内容请求所请求的数据,则边缘服务器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端,从而实现基于域名的数据调度的目的。

容易注意到的,在完成域名调度后,客户终端得到的是内容分发网络中的边缘服务器的地址信息,而且边缘服务器响应内容请求返回数据,与现有技术相比,域名调度下沉至边缘服务器,用户请求失败的情况会降低,而且边缘服务器基于流粒度进行数据调度,达到了提升命中率,提高接口可用性,降低首屏时间和卡顿率的技术效果。

由此,本申请提供的上述实施例2的方案解决了现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

本申请上述实施例中,在步骤s82边缘服务器接收到客户终端发送的内容请求之后,该方法还包括:

步骤s88,边缘服务器判断内容请求是否为流粒度调度之后的请求。

步骤s810,如果是,边缘服务器响应内容请求,并将响应结果返回给客户终端。

步骤s812,如果不是,边缘服务器向边缘调度器请求流粒度的调度策略。

在一种可选的方案中,对于基于dns实现的域名解析,边缘服务器在接收到内容请求url之后,可以判断该url是否为流粒度调度之后的url,如果是,则返回相应的内容;如果不是,则向边缘调度器请求流粒度的调度策略。

可选地,边缘服务器通过访问内容分发网络的调度中心请求数据,包括:调度中心接收边缘服务器发送的内容请求;调度中心根据客户终端的地址信息确定客户终端所在的网络区域;调度中心根据域名名称和数据流确定网络区域中的最优接入节点;调度中心将最优接入节点的地址信息返回给边缘服务器,使得边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

可选地,边缘服务器将从最优接入节点请求到的数据返回给客户终端,并在本地缓存内容请求所请求到的数据。

可选地,在边缘服务器向边缘调度器请求流粒度的调度策略之后,该方法还包括:边缘调度器接收内容请求;边缘调度器查询本地是否缓存了内容请求所请求的数据;如果边缘调度器本地缓存了内容请求所请求的数据,则边缘调度器将数据通过边缘服务器返回给客户终端。

可选地,如果边缘调度器在本地没有缓存内容请求所请求的数据,边缘调度器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端。

可选地,边缘调度器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,包括:调度中心接收边缘调度器发送的内容请求;调度中心根据客户终端的地址信息确定客户终端所在的网络区域;调度中心根据域名名称和数据流确定网络区域中的最优接入节点;调度中心将最优接入节点的地址信息返回给边缘调度器,使得边缘调度器通过访问最优接入节点获取内容请求所请求的数据。

可选地,边缘调度器接收到调度中心返回的最优接入节点的地址信息之后,将最优接入节点的地址信息发送给边缘服务器,并在本地缓存解析结果,其中,解析结果为边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

可选地,在边缘服务器通过访问最优接入节点获取内容请求所请求的数据之后,该方法还包括:边缘服务器发送数据至客户终端,并在本地缓存内容请求所请求到的数据。

可选地,在边缘服务器通过访问最优接入节点获取内容请求所请求的数据之后,该方法还包括:边缘服务器发送地址跳转信息至客户终端,其中,地址跳转信息使得客户终端上的网页跳转至请求的数据的网页。

实施例3

根据本申请实施例,还提供了一种用于实施上述基于域名系统的数据调度方法的基于域名系统的数据调度装置,如图9所示,该装置900包括:获取模块902,发送模块904和接收模块906。

其中,获取模块902用于通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;发送模块904用于基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息;接收模块906用于如果边缘服务器在本地缓存了内容请求所请求的数据,则将接收到边缘服务器直接返回的数据,如果边缘服务器在本地没有缓存内容请求所请求的数据,则将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

具体地,上述的客户终端可以是用户使用的移动设备或者计算机设备等,包括但不限于:智能手机(包括android手机和ios手机)、ipad、平板电脑、掌上电脑、笔记本电脑、pc(personalcomputer,个人电脑)等。客户终端的地址信息可以是客户终端的ip。在内容请求中,可以通过domain参数表示域名名称,通过client_ip参数表示客户终端的ip。为了方便边缘服务器确定本地是否缓存有相应的数据,则内容请求中还可以包括:数据流,在内容请求中,可以通过stream参数进行表示。

此处需要说明的是,上述获取模块902,发送模块904和接收模块906对应于实施例1中的步骤s52至步骤s58,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。

本申请上述实施例3所提供的方案,客户终端通过获取模块在内容分发网络中完成域名调度,可以得到内容分发网络中的边缘服务器的地址信息,通过发送模块基于地址信息发送内容请求至边缘服务器,并通过接收模块接收边缘服务器响应内容请求而返回的数据,该数据可以是边缘服务器本地缓存的数据,也可以是边缘服务器从调度中心请求到的数据,从而实现基于域名的数据调度的目的。

容易注意到的,在完成域名调度后,客户终端得到的是内容分发网络中的边缘服务器的地址信息,而且边缘服务器响应内容请求返回数据,与现有技术相比,域名调度下沉至边缘服务器,用户请求失败的情况会降低,而且边缘服务器基于流粒度进行数据调度,达到了提升命中率,提高接口可用性,降低首屏时间和卡顿率的技术效果。

由此,本申请提供的上述实施例3的方案解决了现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

实施例4

根据本申请实施例,还提供了一种用于实施上述基于域名系统的数据调度方法的基于域名系统的数据调度装置,如图10所示,该装置1000包括:接收模块1002和发送模块1004。

其中,接收模块1002用于接收到客户终端发送的内容请求,其中,客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;发送模块1004用于如果边缘服务器在本地缓存了内容请求所请求的数据,将内容请求对应的数据发送至客户终端,如果边缘服务器在本地没有缓存内容请求所请求的数据,则通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端。

具体地,上述的客户终端可以是用户使用的移动设备或者计算机设备等,包括但不限于:智能手机(包括android手机和ios手机)、ipad、平板电脑、掌上电脑、笔记本电脑、pc(personalcomputer,个人电脑)等。客户终端的地址信息可以是客户终端的ip。在内容请求中,可以通过domain参数表示域名名称,通过client_ip参数表示客户终端的ip。为了方便边缘服务器确定本地是否缓存有相应的数据,则内容请求中还可以包括:数据流,在内容请求中,可以通过stream参数进行表示。

此处需要说明的是,上述接收模块1002和发送模块1004对应于实施例2中的步骤s82至步骤s86,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。

本申请上述实施例4所提供的方案,客户终端通过在内容分发网络中完成域名调度,可以得到内容分发网络中的边缘服务器的地址信息,边缘服务器通过接收模块接收到客户终端发送的内容请求,如果在本地缓存了内容请求所请求的数据,则边缘服务器直接将内容请求对应的数据发送至客户终端,如果在本地没有缓存内容请求所请求的数据,则边缘服务器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端,从而实现基于域名的数据调度的目的。

容易注意到的,在完成域名调度后,客户终端得到的是内容分发网络中的边缘服务器的地址信息,而且边缘服务器响应内容请求返回数据,与现有技术相比,域名调度下沉至边缘服务器,用户请求失败的情况会降低,而且边缘服务器基于流粒度进行数据调度,达到了提升命中率,提高接口可用性,降低首屏时间和卡顿率的技术效果。

由此,本申请提供的上述实施例4的方案解决了现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

实施例5

根据本申请实施例,提供了一种基于域名系统的数据调度系统的实施例,如图11所示,该系统包括:客户终端10、边缘服务器20和调度中心30。

其中,客户终端10用于通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器20的地址信息,并基于地址信息发送内容请求,其中,内容请求至少包括:域名名称、客户终端的地址信息;边缘服务器用于接收并响应内容请求,并将请求得到的数据返回给客户终端;调度中心30用于如果边缘服务器在本地没有缓存内容请求所请求的数据,接收边缘服务器发送的内容请求,并基于内容请求确定客户终端所在的网络区域中的最优接入节点;其中,边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

具体地,上述的客户终端可以是用户使用的移动设备或者计算机设备等,包括但不限于:智能手机(包括android手机和ios手机)、ipad、平板电脑、掌上电脑、笔记本电脑、pc(personalcomputer,个人电脑)等。客户终端的地址信息可以是客户终端的ip。在内容请求中,可以通过domain参数表示域名名称,通过client_ip参数表示客户终端的ip。为了方便边缘服务器确定本地是否缓存有相应的数据,则内容请求中还可以包括:数据流,在内容请求中,可以通过stream参数进行表示。

本申请上述实施例5所提供的方案,客户终端通过在内容分发网络中完成域名调度,可以得到内容分发网络中的边缘服务器的地址信息,基于地址信息发送内容请求至边缘服务器,并接收边缘服务器响应内容请求而返回的数据,如果边缘服务器在本地没有缓存内容请求所请求的数据,调度中心接收边缘服务器发送的内容请求,并基于内容请求确定客户终端所在的网络区域中的最优接入节点,边缘服务器通过访问最优接入节点获取内容请求所请求的数据,并返回给客户终端,从而实现基于域名的数据调度的目的。

容易注意到的,在完成域名调度后,客户终端得到的是内容分发网络中的边缘服务器的地址信息,而且边缘服务器响应内容请求返回数据,与现有技术相比,域名调度下沉至边缘服务器,用户请求失败的情况会降低,而且边缘服务器基于流粒度进行数据调度,达到了提升命中率,提高接口可用性,降低首屏时间和卡顿率的技术效果。

由此,本申请提供的上述实施例5的方案解决了现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

可选地,边缘服务器还用于如果本地缓存了内容请求所请求的数据,则将请求得到的数据返回给客户终端。

可选地,调度中心还用于接收边缘服务器发送的内容请求,根据客户终端的地址信息确定客户终端所在的网络区域,根据域名名称和数据流确定网络区域中的最优接入节点,将最优接入节点的地址信息返回给边缘服务器,使得边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

可选地,边缘服务器还用于将从最优接入节点获取到的数据返回给客户终端,并在本地缓存内容请求所请求到的数据。

实施例6

根据本申请实施例,提供了一种基于域名系统的数据调度系统的实施例,如图12所示,该系统包括:客户终端10、边缘服务器20、调度中心30和边缘调度器40。

其中,客户终端10用于通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器20的地址信息,并基于地址信息发送内容请求,其中,内容请求至少包括:域名名称、客户终端的地址信息;边缘服务器用于接收内容请求,并判断内容请求是否为流粒度调度;边缘调度器40用于在边缘服务器判断内容请求不是流粒度调度之后,接收内容请求;调度中心30用于如果边缘调度器在本地没有缓存内容请求所请求的数据,接收边缘调度器发送的内容请求,并基于内容请求确定客户终端所在的网络区域中的最优接入节点;其中,边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

具体地,上述的客户终端可以是用户使用的移动设备或者计算机设备等,包括但不限于:智能手机(包括android手机和ios手机)、ipad、平板电脑、掌上电脑、笔记本电脑、pc(personalcomputer,个人电脑)等。客户终端的地址信息可以是客户终端的ip。在内容请求中,可以通过domain参数表示域名名称,通过client_ip参数表示客户终端的ip。为了方便边缘服务器确定本地是否缓存有相应的数据,则内容请求中还可以包括:数据流,在内容请求中,可以通过stream参数进行表示。

本申请上述实施例6所提供的方案,客户终端通过在内容分发网络中完成域名调度,可以得到内容分发网络中的边缘服务器的地址信息,基于地址信息发送内容请求至边缘服务器,边缘服务器判断内容请求是否为流粒度调度,在边缘服务器判断内容请求不是流粒度调度之后,边缘调度器接收内容请求,如果边缘调度器在本地没有缓存内容请求所请求的数据,接收边缘调度器发送的内容请求,并基于内容请求确定客户终端所在的网络区域中的最优接入节点,边缘服务器通过访问最优接入节点获取内容请求所请求的数据,从而实现基于域名的数据调度的目的。

容易注意到的,在完成域名调度后,客户终端得到的是内容分发网络中的边缘服务器的地址信息,而且边缘服务器响应内容请求返回数据,与现有技术相比,域名调度下沉至边缘服务器,用户请求失败的情况会降低,而且边缘服务器基于流粒度进行数据调度,达到了提升命中率,提高接口可用性,降低首屏时间和卡顿率的技术效果。

由此,本申请提供的上述实施例6的方案解决了现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

可选地,边缘服务器还用于判断内容请求是否为流粒度调度之后的请求,如果是,响应内容请求,并将响应结果返回给客户终端;如果不是,向边缘调度器请求流粒度的调度策略。

可选地,边缘调度器还用于接收内容请求,查询本地是否缓存了内容请求所请求的数据,如果本地缓存了内容请求所请求的数据,则将数据通过边缘服务器返回给客户终端。

可选地,边缘调度器还用于如果在本地没有缓存内容请求所请求的数据,通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端。

可选地,调度中心还用于接收边缘调度器发送的内容请求,根据客户终端的地址信息确定客户终端所在的网络区域,根据域名名称和数据流确定网络区域中的最优接入节点,将最优接入节点的地址信息返回给边缘调度器,使得边缘调度器通过访问最优接入节点获取内容请求所请求的数据。

可选地,边缘调度器还用于接收到调度中心返回的最优接入节点的地址信息之后,将最优接入节点的地址信息发送给边缘服务器,并在本地缓存解析结果,其中,解析结果为边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

可选地,边缘服务器还用于在通过访问最优接入节点获取内容请求所请求的数据之后,发送数据至客户终端,并在本地缓存内容请求所请求到的数据。

可选地,边缘服务器还用于在通过访问最优接入节点获取内容请求所请求的数据之后,发送地址跳转信息至客户终端,其中,地址跳转信息使得客户终端上的网页跳转至请求的数据的网页。

实施例7

根据本申请实施例,提供了一种基于域名系统的数据调度系统的实施例,包括:

处理器;以及

存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,则客户终端将接收到边缘服务器直接返回的数据;如果边缘服务器在本地没有缓存内容请求所请求的数据,则客户终端将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

本申请上述实施例7所提供的方案,客户终端通过在内容分发网络中完成域名调度,可以得到内容分发网络中的边缘服务器的地址信息,基于地址信息发送内容请求至边缘服务器,并接收边缘服务器响应内容请求而返回的数据,该数据可以是边缘服务器本地缓存的数据,也可以是边缘服务器从调度中心请求到的数据,从而实现基于域名的数据调度的目的。

容易注意到的,在完成域名调度后,客户终端得到的是内容分发网络中的边缘服务器的地址信息,而且边缘服务器响应内容请求返回数据,与现有技术相比,域名调度下沉至边缘服务器,用户请求失败的情况会降低,而且边缘服务器基于流粒度进行数据调度,达到了提升命中率,提高接口可用性,降低首屏时间和卡顿率的技术效果。

由此,本申请提供的上述实施例7的方案解决了现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

实施例8

本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行基于域名系统的数据调度方法中以下步骤的程序代码:客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;客户终端基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息;;如果边缘服务器在本地缓存了内容请求所请求的数据,则客户终端将接收到边缘服务器直接返回的数据;如果边缘服务器在本地没有缓存内容请求所请求的数据,则客户终端将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

可选地,图13是根据本申请实施例的一种计算机终端的结构框图。如图13所示,该计算机终端a可以包括:一个或多个(图中仅示出一个)处理器1302以及存储器1304。

其中,存储器可用于存储软件程序以及模块,如本申请实施例中的基于域名系统的数据调度方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于域名系统的数据调度方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;客户终端基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,则客户终端将接收到边缘服务器直接返回的数据;如果边缘服务器在本地没有缓存内容请求所请求的数据,则客户终端将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

可选的,上述处理器还可以执行如下步骤的程序代码:调度中心接收边缘服务器发送的内容请求;调度中心根据客户终端的地址信息确定客户终端所在的网络区域;调度中心根据域名名称和数据流确定网络区域中的最优接入节点;调度中心将最优接入节点的地址信息返回给边缘服务器,使得边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

可选的,上述处理器还可以执行如下步骤的程序代码:边缘服务器将从最优接入节点请求到的数据返回给客户终端,并在本地缓存内容请求所请求到的数据。

可选的,上述处理器还可以执行如下步骤的程序代码:在客户终端基于地址信息发送内容请求至边缘服务器之后,边缘服务器判断内容请求是否为流粒度调度之后的请求;如果是,边缘服务器响应内容请求,并将响应结果返回给客户终端;如果不是,边缘服务器向边缘调度器请求流粒度的调度策略。

可选的,上述处理器还可以执行如下步骤的程序代码:在边缘服务器向边缘调度器请求流粒度的调度策略之后,边缘调度器接收内容请求;边缘调度器查询本地是否缓存了内容请求所请求的数据;如果边缘调度器本地缓存了内容请求所请求的数据,则边缘调度器将数据通过边缘服务器返回给客户终端。

可选的,上述处理器还可以执行如下步骤的程序代码:如果边缘调度器在本地没有缓存内容请求所请求的数据,边缘调度器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端。

可选的,上述处理器还可以执行如下步骤的程序代码:调度中心接收边缘调度器发送的内容请求;调度中心根据客户终端的地址信息确定客户终端所在的网络区域;调度中心根据域名名称和数据流确定网络区域中的最优接入节点;调度中心将最优接入节点的地址信息返回给边缘调度器,使得边缘调度器通过访问最优接入节点获取内容请求所请求的数据。

可选的,上述处理器还可以执行如下步骤的程序代码:边缘调度器接收到调度中心返回的最优接入节点的地址信息之后,将最优接入节点的地址信息发送给边缘服务器,并在本地缓存解析结果,其中,解析结果为边缘服务器通过访问最优接入节点获取内容请求所请求的数据。

可选的,上述处理器还可以执行如下步骤的程序代码:在边缘服务器通过访问最优接入节点获取内容请求所请求的数据之后,边缘服务器发送数据至客户终端,并在本地缓存内容请求所请求到的数据。

可选的,上述处理器还可以执行如下步骤的程序代码:在边缘服务器通过访问最优接入节点获取内容请求所请求的数据之后,边缘服务器发送地址跳转信息至客户终端,其中,地址跳转信息使得客户终端上的网页跳转至请求的数据的网页。

采用本申请实施例,客户终端通过在内容分发网络中完成域名调度,可以得到内容分发网络中的边缘服务器的地址信息,基于地址信息发送内容请求至边缘服务器,并接收边缘服务器响应内容请求而返回的数据,该数据可以是边缘服务器本地缓存的数据,也可以是边缘服务器从调度中心请求到的数据,从而实现基于域名的数据调度的目的。

容易注意到的,在完成域名调度后,客户终端得到的是内容分发网络中的边缘服务器的地址信息,而且边缘服务器响应内容请求返回数据,与现有技术相比,域名调度下沉至边缘服务器,用户请求失败的情况会降低,而且边缘服务器基于流粒度进行数据调度,达到了提升命中率,提高接口可用性,降低首屏时间和卡顿率的技术效果。

由此,本申请实施例提供的方案解决了现有技术播放视频的过程中,由于播放请求分散到多个cdn节点,导致命中率低的技术问题。

处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:边缘服务器接收到客户终端发送的内容请求,其中,客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,边缘服务器将内容请求对应的数据发送至客户终端,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地没有缓存内容请求所请求的数据,则边缘服务器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端。

可选的,上述处理器还可以执行如下步骤的程序代码:在边缘服务器接收到客户终端发送的内容请求之后,边缘服务器判断内容请求是否为流粒度调度之后的请求;如果是,边缘服务器响应内容请求,并将响应结果返回给客户终端;如果不是,边缘服务器向边缘调度器请求流粒度的调度策略。

本领域普通技术人员可以理解,图13所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图13其并不对上述电子装置的结构造成限定。例如,计算机终端a还可包括比图13中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图13所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

实施例9

本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的基于域名系统的数据调度方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;客户终端基于地址信息发送内容请求至边缘服务器,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,则客户终端将接收到边缘服务器直接返回的数据;如果边缘服务器在本地没有缓存内容请求所请求的数据,则客户终端将接收到边缘服务器通过访问内容分发网络的调度中心请求到的数据。

可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:边缘服务器接收到客户终端发送的内容请求,其中,客户终端通过在内容分发网络中完成域名调度,得到内容分发网络中的边缘服务器的地址信息;如果边缘服务器在本地缓存了内容请求所请求的数据,边缘服务器将内容请求对应的数据发送至客户终端,其中,内容请求至少包括:域名名称、客户终端的地址信息;如果边缘服务器在本地没有缓存内容请求所请求的数据,则边缘服务器通过访问内容分发网络的调度中心,获取内容请求所请求的数据,并将数据返回给客户终端。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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