CN107786620A - 一种获取资源的方法、终端及服务器 - Google Patents
一种获取资源的方法、终端及服务器 Download PDFInfo
- Publication number
- CN107786620A CN107786620A CN201610797105.3A CN201610797105A CN107786620A CN 107786620 A CN107786620 A CN 107786620A CN 201610797105 A CN201610797105 A CN 201610797105A CN 107786620 A CN107786620 A CN 107786620A
- Authority
- CN
- China
- Prior art keywords
- terminal
- caching server
- server
- network
- information
- 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.)
- Granted
Links
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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种获取资源的方法、终端及服务器,涉及通信领域,结合网络拓扑以及网络质量信息,根据终端的信息选择最优的缓存服务器实现资源获取。包括:请求调度服务器接收终端发送的调度请求信息;调度请求信息包括终端的信息;请求调度服务器根据网络的网络拓扑信息、网络质量探测记录集以及终端的信息,为终端分配N个缓存服务器;N为大于等于1的整数;请求调度服务器向终端发送缓存服务器信息,缓存服务器信息包括N个缓存服务器的地址,以及N个缓存服务器中的每一个缓存服务器与终端之间的网络质量信息。
Description
技术领域
本发明涉及通信领域,尤其涉及一种获取资源的方法、终端及服务器。
背景技术
CDN(Content Delivery Network,内容分发网络)是现有的互联网中新增加的一层网络架构,是最接近用户的网络“边缘”。可以将网络内容发布到CDN,使用户可以就近在CDN取得所需的内容。如此,可以解决互联网网络拥挤的状况,提高用户所能获取服务或业务的服务质量。
CDN在中在不同的网络位置部署有多个不同的缓存服务器,多个缓存服务器均存储内容,终端获取到多个缓存服务器的地址后,可以同时从多个缓存服务器下载内容。
现有技术中,用户请求缓存服务器时,首先向DNS(Domain Name System,域名系统)服务器发送调度请求,DNS服务器会将该调度请求转发给CDN DNS服务器,CDN DNS服务器根据DNS服务器的地址来分配缓存服务器,并将缓存服务器的地址下发给DNS服务器,由DNS服务器将缓存服务器的地址转发给终端,终端从分配的缓存服务器下载内容分片。
实际上,用户的地址与为其分配的DNS服务器的地址不同,根据DNS服务器的地址为该用户分配的缓存服务器可能在距离上并非网络临近,导致用户在该缓存服务器获取资源的效果很差。同时,现有技术为多个用户配置同一个DNS服务器,因此,不同的用户由于对应同一个DNS服务器而被分配了同样的缓存服务器。无法基于用户来分配缓存服务器,多个用户在同一个缓存服务器获取资源,也有可能影响资源获取的效果。
发明内容
本发明实施提供一种资源获取的方法、终端及服务器,结合网络拓扑以及网络质量信息,根据终端的信息选择最优的缓存服务器实现资源获取,从而提升资源获取的效果。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,公开了一种获取资源的方法,包括:
终端向请求调度服务器发送调度请求信息,该调度请求信息携带终端的信息。随后,终端接收调度请求服务器发送的缓存服务器信息,该信息携带调度请求服务器根据终端的信息为终端分配的N个缓存服务器的地址以及N个缓存服务器中的每一个缓存服务器与终端之间的网络质量信息,进而终端根据N个缓存服务器中的每一个缓存服务器与终端之间的网络质量信息制定调度策略,最终根据调度策略获取资源。这里的N为大于等于1的整数。
本发明实施例中,N个缓存服务器是调度请求服务器结合网络的网络拓扑信息、网络质量信息以及终端的信息为终端分配的,进而终端根从分配的多个内容缓存服务器获取需要下载的内容。避免像现有技术那样根据DNS的地址为终端分配缓存服务器,该用户分配的缓存服务器可能在距离上并非网络临近,导致用户在该缓存服务器获取资源的效果很差。本发明实施例能够根据用户的地址,结合网络拓扑、网络质量信息以及终端的信息实现缓存服务器分配,可以在保证为终端分配的缓存服务器与终端网络临近的同时,保证终端与分配的缓存服务器之间的网络质量较佳,从而提升数据资源获取的效果。
结合第一方面,在第一方面的第一种可能的实现方式中,网络质量信息至少包括往返时间RTT和丢包率。
如此,可以通过以上两个信息准确衡量终端与缓存服务器之间的网络直连,进而可以根据网络质量实现最优的缓存服务器分配方案。
一种可能的设计中,终端根据N个缓存服务器中的每一个缓存服务器与终端之间的网络质量信息制定调度策略包括:针对N个缓存服务器中的一个缓存服务器,根据该缓存服务器与终端之间的RTT和丢包率计算该缓存服务器的吞吐率;按照N个缓存服务器的吞吐率,确定需要从N个缓存服务器中的每一个缓存服务器下载的内容分片。
本发明实施例中,根据缓存服务器的吞吐率确定缓存服务器下载的内容分片,可以保证优先从吞吐率较优的缓存服务器下载,这样,能够提升资源获取的效果。
一种可能的设计中,终端按照N个缓存服务器的吞吐率,确定需要从N个缓存服务器中的每一个缓存服务器下载的内容分片,具体为:确定N个缓存服务器的吞吐率的比值关系;根据所述比值关系,确定需要从N个缓存服务器中的每一个缓存服务器所下载的内容分片的比重;根据所述比重,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片。
这样,按照缓存服务器吞吐率的比值关系,确定各自下载的内容分片的比值关系,可以保证吞吐率较大的缓存服务器下载的内容分片范围较大,使得终端待下载的大部分从吞吐率较高的缓存服务器下载,如此,可以提升终端与缓存服务器之间的资源获取效率。
一种可能的设计中,所述根据所述比重,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片,具体为:按照所述资源的播放顺序,所述终端确定从吞吐率高的缓存服务器中下载所述资源中先播放的内容分片,从吞吐率低的缓存服务器中下载所述资源中后播放的内容分片;且从每一个缓存服务器中下载的内容分片数量与所述比重相对应。
通常,资源(网络内容)都是分片存储,每个分片的长度都是相同的。在实际下载中,若是将视频资源的前几个分片在吞吐率最大的缓存服务器优先下载,后续的分片在其他吞吐率稍差的缓存服务器下载。这样对于终端而言,可以保证前几个分片的流畅播放,在前几个分片播放的过程中下载其余分片,可以提高用户体验。
第二方面,公开了一种获取资源的方法,包括:
请求调度服务器接收终端发送的调度请求信息,该消息包括终端的信息;接着,根据网络的网络拓扑信息、网络质量探测记录集以及终端的信息,为终端分配N个缓存服务器,这里的N为大于等于1的整数;最后向终端发送缓存服务器信息,该信息包括上一步骤分配的N个缓存服务器的地址,以及N个缓存服务器中的每一个缓存服务器与终端之间的网络质量信息。
调度请求服务器获取网络的网络拓扑信息和网络质量探测记录集,并维护在本地。当接收终端的调度请求,则根据终端的信息、本地维护的网络拓扑信息和网络质量探测记录集为终端分配多个缓存服务器,以便于终端根从分配的多个内容缓存服务器获取需要下载的内容。如此,根据用户的地址,结合网络拓扑、网络质量信息以及终端的信息实现缓存服务器分配,可以在保证为终端分配的缓存服务器与终端网络临近的同时,保证终端与分配的缓存服务器之间的网络质量较佳,从而提升数据资源获取的效果。
一种可能的设计中,网络拓扑信息包括:所述网络中的终端的地址、所述网络中的缓存服务器的地址、以及所述网络中的终端与所述网络中的缓存服务器之间的链路信息;网络质量探测记录集包括M条探测记录,M为正整数,每一条探测记录包括探测时间、终端的地址、终端所属网络、终端的接入类型、缓存服务器的地址以及网络质量信息(包括往返时间RTT和丢包率)。
一种可能额设计中,终端的信息包括终端的IP地址和终端的接入类型,则请求调度服务器根据网络的网络拓扑信息、网络质量探测记录集以及终端的信息,为终端分配N个缓存服务器,具体为:根据终端的IP地址查询网络拓扑信息,定位出终端的网络位置,即终端的所属网络;根据终端的所属网络以及终端的接入类型查询网络质量探测记录集,将网络质量探测记录集中与终端的所属网络以及终端的接入类型匹配的缓存服务器确定为候选缓存服务器;进而,计算候选缓存服务器中的每一个缓存服务器的吞吐率,根据候选缓存服务器中的每一个缓存服务器的吞吐率,确定K个缓存服务器,这里K为大于等于N的正整数;计算K个缓存服务器中的每一个缓存服务器到终端的最短路径;分别计算K个缓存服务器中除第一缓存服务器(即候选缓存服务器中吞吐率最大的缓存服务器)外的每一个缓存服务器与第一缓存服务器在最短路径上的相交跳数;将相交跳数按从小到大排序后的前N-1个缓存服务器以及第一缓存服务器确定为分配给该终端的N个缓存服务器。
这样,可以根据终端的信息确定出N个缓存服务器,并且可以保证这N个缓存服务器与终端网络临近,以及终端与这N个缓存服务器之间的网络质量较佳,从而可以有效提升终端与缓存服务器之间的资源获取效率。
在另外一种可能的设计中,请求调度服务器接收终端发送的调度请求信息之前,方法还包括:接收网络质量监控器上报的探测记录,包括探测时间、终端的地址、终端所属网络、终端的接入类型、缓存服务器的地址以及网络质量信息,这里网络质量信息是终端与缓存服务器之间的网络质量信息;其次,请求调度服务器根据网络质量监控器上报的探测记录生成网络质量探测记录集;向SDN(Software Defined Network,软件定义网络)控制器发送获取网络拓扑的请求信息,并接收SDN控制设备发送的网络拓扑响应信息,网络拓扑响应信息包括所述网络拓扑信息。
也就是说,根据网络中的终端的网络质量探测记录生成网络的网络质量信息,根据请求到的网络拓扑信息生成所述网络的网络拓扑信息。如此,可以将生成的这两组信息维护在本地,当接收终端的调度请求时,可以根据终端的信息查询本地维护的上述信息,为终端分配网络临近且网络质量好的缓存服务器,以便提升数据资源获取的效果。
第三方面,公开了一种终端,包括:
发送单元,用于向请求调度服务器发送调度请求信息,该请求信息携带终端的信息;接收单元,用于接收调度请求服务器发送的缓存服务器信息,该信息包括N个缓存服务器的地址以及这N个缓存服务器中的每一个缓存服务器与该终端之间的网络质量信息,这里的N为大于等于1的整数;策略制定单元,用于根据上述N个缓存服务器中的每一个缓存服务器与该终端之间的网络质量信息制定调度策略;获取单元,用于根据以上制定的调度策略获取资源。
本发明实施例中,N个缓存服务器是调度请求服务器结合SDN的网络拓扑信息和SDN的网络质量信息以及终端的信息为终端分配的,进而终端根从分配的多个内容缓存服务器获取需要下载的内容。避免像现有技术那样根据DNS的地址为终端分配缓存服务器,该用户分配的缓存服务器可能在距离上并非网络临近,导致用户在该缓存服务器获取资源的效果很差。本发明实施例能够根据用户的地址,结合网络拓扑、网络质量信息以及终端的信息实现缓存服务器分配,可以在保证为终端分配的缓存服务器与终端网络临近的同时,保证终端与分配的缓存服务器之间的网络质量较佳,从而提升数据资源获取的效果。
在一种可能的设计中,所述策略制定单元具体用于,根据所述N个缓存服务器中的每一个缓存服务器与所述终端之间的RTT和丢包率,确定所述N个缓存服务器中的每一个缓存服务器的吞吐率;按照所述N个缓存服务器的吞吐率,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片。
在另一种可能额设计中,所述策略制定单元具体用于,确定N个缓存服务器的吞吐率的比值关系;根据所述比值关系,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片的比重;根据所述比重,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片。
一种可能的设计中,所述策略制定单元具体用于,按照所述资源的播放顺序,确定从吞吐率高的缓存服务器中下载所述资源中先播放的内容分片,从吞吐率低的缓存服务器中下载所述资源中后播放的内容分片;且从每一个缓存服务器中下载的内容分片数量与所述比重相对应。
第四方面,公开了一种请求调度服务器,包括:
接收单元,用于接收终端发送的调度请求信息,该请求信息包括终端的信息;分配单元,用于根据网络的网络拓扑信息、网络质量探测记录集以及该终端的信息,为该终端分配N个缓存服务器,这里N为大于等于1的整数;发送单元,用于向该终端发送缓存服务器信息,该信息包括上述N个缓存服务器的地址,以及这N个缓存服务器中的每一个缓存服务器与该终端之间的网络质量信息。
调度请求服务器获取网络的网络拓扑信息和网络质量探测记录集,并维护在本地。当接收终端的调度请求,则根据终端的信息、本地维护的网络拓扑信息和网络质量探测记录集为终端分配多个缓存服务器,以便于终端根从分配的多个内容缓存服务器获取需要下载的内容。如此,根据用户的地址,结合网络拓扑、网络质量信息以及终端的信息实现缓存服务器分配,可以在保证为终端分配的缓存服务器与终端网络临近的同时,保证终端与分配的缓存服务器之间的网络质量较佳,从而提升数据资源获取的效果。
一种可能的设计中,网络拓扑信息包括:所述网络中的终端的地址、所述网络中的缓存服务器的地址、以及所述网络中的终端与所述网络中的缓存服务器之间的链路信息;网络质量探测记录集包括M条探测记录,M为正整数,每一条探测记录包括探测时间、终端的地址、终端所属网络、终端的接入类型、缓存服务器的地址以及网络质量信息(包括往返时间RTT和丢包率)。
一种可能的设计中,所述终端的信息包括终端的IP地址和终端的接入类型。所述分配单元具体用于,根据该终端的IP地址,确定该终端的所属网络;根据该终端的所属网络以及该终端的接入类型查询网络质量探测记录集,将网络质量探测记录集中与终端的所属网络以及终端的接入类型匹配的缓存服务器确定为候选缓存服务器;计算候选缓存服务器中的每一个缓存服务器的吞吐率,根据候选缓存服务器中的每一个缓存服务器的吞吐率,确定K个缓存服务器,其中,K为大于等于所述N的正整数;计算所述K个缓存服务器中的每一个缓存服务器到所述终端的最短路径;分别计算所述K个缓存服务器中除第一缓存服务器外的每一个缓存服务器与所述第一缓存服务器在最短路径上的相交跳数,这里第一缓存服务器是所述候选缓存服务器中吞吐率最大的缓存服务器;将相交跳数按从小到大排序后的前N-1个缓存服务器以及第一缓存服务器确定为分配给该终端的N个缓存服务器。
在另一种可能的设计中,请求调度服务器还包括生成单元。接收单元还用于,在接收终端发送的调度请求信息之前,接收网络质量监控器上报的探测记录;生成单元用于,根据网络质量监控器上报的探测记录生成网络质量探测记录集;发送单元还用于,向软件定义网络SDN控制设备发送获取网络拓扑的请求信息;接收单元还用于,接收SDN控制设备发送的网络拓扑响应信息,网络拓扑响应信息包括网络拓扑信息。
第五方面,公开了一种终端,其特征在于,包括:处理器和存储器,所述存储器用于存储支持终端执行第一方面所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述终端还可以包括通信接口,用于终端与其他设备或通信网络通信。
第六方面,公开了一种请求调度服务器,包括:处理器和存储器,所述存储器用于存储支持请求调度服务器执行上述第二方面所述的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述请求调度服务器还可以包括通信接口,用于请求调度服务器与其他设备或通信网络通信。
第七方面,本发明实施例还公开了一种计算机存储介质,用于储存为上述终端或者请求调度服务器所用的计算机软件指令,其包含用于执行上述方面为终端或者请求调度服务器所设计的程序。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的CDN网络的架构图;
图2为现有的为终端分配缓存服务器以及终端下载内容分片的流程示意图;
图3为本发明实施例提供的内容分片示意图;
图4为本发明实施例提供的网络拓扑的示意图;
图5为本发明实施例提供的另一网络拓扑示意图;
图6为本发明实施例提供的路径相交性的示意图;
图7为本发明实施例提供的资源获取系统的架构图;
图8为本发明实施例提供的资源获取的方法的流程示意图;
图9为本发明实施例提供的网络拓扑信息以及网络质量探测记录集的流程示意图;
图10为本发明实施例提供的请求调度服务器为终端分配缓存服务器的流程示意图;
图11为本发明实施例提供的跳数的示意图;
图12为本发明实施例提供的终端制定调度策略的流程示意图;
图13为本发明实施例提供的调度策略的示意图;
图14为本发明实施例提供的终端的结构框图;
图15为本发明实施例提供的终端的另一结构框图;
图16为本发明实施例提供的请求调度服务器的结构框图;
图17为本发明实施例提供的请求调度服务器的另一结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,CDN网络,是现有互联网上构建的一个覆盖网络,该网络包括多个缓存服务器。将网络内容发布到最接近用户的缓存服务器上,使用户可以就近在缓存服务器上下载到所需的内容。如此,解决了互联网网络拥挤的状况,提高用户所能获取网络内容业务的服务质量。
通常,在不同的网络位置部署有多个不同的缓存服务器,多个缓存服务器均存储内容,终端获取到多个缓存服务器的地址后,可以同时从多个缓存服务器下载内容,同时,终端与缓存服务器之间可以采用多路径传输技术进行数据传输,可以有效利用终端与缓存服务器间的有效带宽,提升传输的吞吐率。
目前,为终端分配缓存服务器以及终端下载内容分片的流程如图2所示,具体包括:
1.终端向DNS服务器1发送调度请求,具体是通过触发URL发送形式为“A.com”的调度请求。
2.DNS服务器1根据授权DNS地址将上述调度请求发送到CDN DNS服务器。
3.CDN DNS服务器根据DNS服务器1的地址为终端分配的缓存服务器为缓存服务器S1,并返回缓存服务器S1的信息到DNS服务器1。
4.DNS服务器1将缓存服务器S1的信息返回给终端。
5.终端为缓存服务器S1分配下载的内容分片,比如分片1-3从缓存服务器1下载。
6.终端向服务缓存服务器S1发送下载请求,并获取数据。
同时,在多源路径传输中,需要为终端分配多个缓存服务器,则可以人工将终端的DNS服务器由DNS服务器1修改为DNS服务器2,终端可以同时通过上述步骤1-6向DNS服务器2发送调度请求,DNS服务器2会将该调度请求转发给CDN DNS服务器,CDN DNS服务器根据DNS服务器2的地址来分配缓存服务器S2,并将分配的缓存服务器S2的地址下发给DNS服务器2,由DNS服务器2将缓存服务器S2的地址转发给终端,终端从缓存服务器S2获取数据。
可见,现有技术是根据终端的DNS服务器的地址为该用户分配的缓存服务器。由于用户的地址与为其DNS服务器的地址不同,因此现有技术为用户分配的缓存服务器可能在距离上与终端并非网络临近,导致用户在该缓存服务器获取资源的效果很差。同时,由于多个用户的DNS服务器相同,因此,现有技术为不同的用户分配的缓存服务器可能是一样的。无法以用户粒度来分配缓存服务器,多个用户在同一个缓存服务器获取资源,也有可能影响资源获取的效果。
本发明实施例中RRS(Request Router Service,调度请求服务器)获取网络的网络拓扑信息和网络质量探测记录(包括网络中的终端与网络中的缓存服务器之间的网络质量信息),并维护在本地。当接收终端的调度请求,则根据终端的信息、本地维护的网络拓扑信息和网络质量信息为终端分配多个缓存服务器,以便于终端根从分配的多个内容缓存服务器获取需要下载的内容。如此,根据用户终端的地址,结合网络拓扑、网络质量信息实现最优的缓存服务器分配效果,提升数据资源的获取效果。
首先,对本发明涉及的技术术语做以解释说明:
内容分片:参考图3所示,网络内容(如:视频资源)都是分片存储,每个分片的长度都是相同的(如5s)。在实际下载中,终端可以将视频资源的前几个分片在吞吐率最大的缓存服务器优先下载,后续的分片在其他吞吐率稍差的缓存服务器下载。这样对于终端而言,可以保证前几个分片的流畅播放,在前几个分片播放的过程中下载其余分片,可以提高用户体验。
网络拓扑信息:包括网络中的节点(node)信息和以及节点之间的链路(link)信息。其中,如图4所示,节点信息可以是节点的IP地址。链路即两个节点直连的路径,也称为一跳。链路信息可以是link对应的左右节点的IP地址、端口IP以及link对应外部网络的IP地址段。示例的,参考图5,若网络中分布一个终端以及三个缓存服务器,该网络的网络拓扑信息则包括10个节点信息以及11条link信息。
路径的相交性:源节点与目的节点之间的路由包括很多跳的路由信息,每一跳都是一个路径。两条路由之间重复路径的跳数越高则认为路径的相交性越高。示例的,参考图6,终端到缓存服务器1的最短路径为虚线部分,终端到缓存服务器2的最短路径为实线部分。则终端到缓存服务器1的路径(图示虚线路径)与终端到缓存服务器2的路径(图示实线路径)的相交路径为1跳。
本发明提供一种资源获取系统,如图7所示,该资源获取系统包括:NQM(NetworkQuality Monitor,网络质量监控器)、SDN控制设备、RRS、终端以及至少一个缓存服务器。其中,SDN控制设备(网络设备控制器):对SDN中转发设备的数据转发进行统一的控制,SDN控制设备可以感知网络中的网络拓扑信息。
NQM:可以从SDN控制设备获取网络中分布的缓存服务器的信息。另外,NQM本地维护有该网络中的终端的信息。如此,NQM向终端下发网络质量探测任务,指示终端探测该终端与某个缓存服务器之间的网络质量,如RTT(Round-Trip Time,往返时间)、丢包率,同时可以收集终端到各个缓存服务器的网络质量信息以及终端的信息(如:接入类型、IP地址、探测时间等)。同时会将收集到的信息上报给RRS。
RRS:获取NQM上报的多个终端的探测记录(探测时间、终端的地址、终端所属网络、终端的接入类型、缓存服务器的地址以及终端到缓存服务器之间的网络质量信息),还可以从SDN控制设备获取网络拓扑信息。在本地维护该网络的网络拓扑信息及各个终端的探测记录。
缓存服务器:负责内容的存储,同时接收终端请求,为终端提供内容下载服务。这里的是缓存服务器是SDN控制设备维护的网络中分布的缓存服务器。
终端:向请求调度服务器发送内容下载请求,并从请求调度服务器获取多个缓存服务器的地址以及该终端到多个缓存服务器的网络质量信息,同时根据获取到的网络质量信息进行数据下载调度,为不同的缓存服务器确定不同的内容分片。
进一步地,以下参考图7资源获取系统中的接口,结合表1详细介绍各个硬件图7所示的资源获取系统中各个硬件模块之间的交互接口。
表1
本发明实施例提供一种资源获取的方法,如图8所示,所述方法包括以下步骤:
101、终端向请求调度服务器发送调度请求信息。
其中,调度请求信息用于指示请求调度服务器为该终端分配缓存服务器,调度请求信息中携带了终端的信息,所述终端的信息至少包括所述终端的IP地址以及所述终端的接入类型。示例的,终端的接入类型可以是WIFI接入或者DSL接入。具体实现中,终端通过IF-3接口向RRS发送调度请求信息。
102、请求调度服务器接收终端发送的调度请求信息,并根据网络的网络拓扑信息、网络质量探测记录集以及所述终端的信息,为所述终端分配N个缓存服务器。
其中,所述N为大于等于1的整数。网络的网络拓扑信息包括:所述网络中的终端的地址、所述网络中的缓存服务器的地址、以及所述网络中的终端与所述网络中的缓存服务器之间的链路信息。
网络质量探测记录集包括M条探测记录;其中,每一条探测记录包括探测时间、终端的地址、终端所属网络、终端的接入类型、缓存服务器的地址以及网络质量信息;其中,网络质量信息包括RTT和丢包率,M为正整数。
在步骤101之前,NQM向终端下发网络质量探测指示,指示终端探测自身与缓存服务器之间的网络质量。终端将探测记录(包含探测结果RTT、丢包率等)上报给NQM。NQM可以周期性向请求调度服务器上报终端的探测记录,进而可以根据各个终端的探测记录生成网络质量探测记录集,并将其存储在图7中的请求调度服务器的网络质量数据库中。另外,请求调度服务器会向SDN控制设备请求网络的网络拓扑信息,并将SDN控制设备返回的SDN的网络拓扑信息维护在图7所示请求调度服务器的网络拓扑数据库中。
具体实现中,请求调度服务器首先根据终端的IP地址查询网络的网络拓扑信息,定位终端的网络位置,即终端的所属网络。进而,可以根据终端的所属网络、终端的接入类型、请求调度服务器维护的网络拓扑信息和网络质量探测记录集,确定候选缓存服务器。再计算所述候选缓存服务器中的每一个缓存服务器的吞吐率,根据所述候选缓存服务器中的每一个缓存服务器的吞吐率,确定K个缓存服务器。进一步,计算这K个缓存服务器中的每一个缓存服务器到所述终端的最短路径,分别计算K个缓存服务器中除第一缓存服务器(即候选缓存服务器中吞吐率最大的缓存服务器)外的每一个缓存服务器与第一缓存服务器在最短路径上的相交跳数;最后,将相交跳数按从小到大排序后的前N-1个缓存服务器以及第一缓存服务器确定为分配给该终端的N个缓存服务器。
103、请求调度服务器向所述终端发送缓存服务器信息。
其中,所述缓存服务器信息包括上述步骤确定的N个缓存服务器的地址,以及这N个缓存服务器中的每一个缓存服务器与该终端之间的网络质量信息。
104、终端接收调度请求服务器发送的缓存服务器信息,并根据N个缓存服务器中的每一个缓存服务器与该终端之间的网络质量信息制定调度策略。
所谓调度策略即确定哪个缓存服务器应该下载哪些内容分片。具体实现中,终端根据N个缓存服务器中的每一个缓存服务器与终端之间的RTT和丢包率计算所述N个缓存服务器中的每一个缓存服务器的吞吐率,再按照所述N个缓存服务器的吞吐率,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片。
进一步地,可以根据以下方式确定缓存服务器下载的内容分片:首先,确定N个缓存服务器的吞吐率的比值关系。再按照所述比值关系,确定N个目标缓存服务器中的每一个目标缓存服务器所下载的内容分片的比重。最后根据所述比重,确定需要从所述N个缓存服务器中的每一个目标缓存服务器下载的内容分片。
示例的,若计算确定3个缓存服务器的吞吐率比例为6∶3∶1,假设待下载内容(资源)包括10个分片,3个缓存服务器下载的内容分片的比重也是6∶3∶1。
进一步地,根据所述比重,确定需要从所述N个缓存服务器中的每一个目标缓存服务器下载的内容分片具体为:按照所述资源的播放顺序,所述终端确定从吞吐率高的缓存服务器中下载所述资源中先播放的内容分片,从吞吐率低的缓存服务器中下载所述资源中后播放的内容分片;且从每一个缓存服务器中下载的内容分片数量与所述比重相对应。
通常,视频资源都是分片存储,每个分片的长度都是相同的。终端将视频资源的前几个分片在吞吐率最大的缓存服务器优先下载,后续的分片在其他吞吐率稍差的缓存服务器下载。这样对于终端而言,可以保证前几个分片的流畅播放的同时在播放的过程中下载其余分片,可以提高用户体验。示例的,若3个缓存服务器的吞吐率比例为6∶3∶1,待获取的资源包括10个分片,则首先在吞吐率比重为6/10的缓存服务器下载前6个分片,在吞吐率比重为3/10的缓存服务器下载前6个分片之后的3个分片,最后在吞吐率比重为1/10的缓存服务器下载最后一个分片。
在此,最终确定的调度策略可以是:(缓存服务器1,Range1)、(缓存服务器2,Range2),Range是可以为内容分片的序列号范围,比如Range1为(分片1,分片3),表示分片1、分片2、分片3从缓存服务器1下载。
105、所述终端根据所述调度策略获取资源。
具体地,即终端从缓存服务器下载所述终端为所述缓存服务器确定的内容分片。示例的,承上所述,终端为吞吐率比重为6/10的缓存服务器确定的内容分片前6个分片,则终端在该缓存服务器下载前6个分片。
以向缓存服务器1为例说明获取资源的具体过程:首先,终端通过IF-4接口向缓存服务器1发送数据下载请求,该下载请求中包括请求下载的内容标识,如分片1、分片2以及分片3的标识。接着,缓存服务器1通过IF-4接口向终端发送数据。
进一步地,在步骤101之前,RRS可以通过图9所示的流程生成网络的网络拓扑信息以及网络质量探测记录集,具体包括:
201、NQM通过IF6接口向终端下发探测任务,其中包括探测缓存服务器的IP地址和探测周期。
具体地,探测周期一般为5分钟。另外,NQM本地维护有网络中的终端的信息,又可以从SDN控制设备获取网络中部署的缓存服务器的信息。如此,NQM向终端下发网络质量探测任务,指示终端探测自身与某个缓存服务器之间的网络质量。
202、终端接收到网络探测任务后启动探测,以预设时长为间隔连续向探测服务器发送Q个ping包。
需要说明的是,此处是以终端到缓存服务器的网络质量为RTT,丢包率为例,因此终端会间隔预设时长向探测服务器发送固定个数的ping包。预设时长可以是100ms,同时Q可以是1000。所谓探测服务器及步骤201NQM下发的探测任务中的缓存服务器IP地址对应的缓存服务器。
203、服务器向终端发送ping响应包。
204、终端计算平均RTT及丢包率。
其中,RTT的取值为多次获得RTT的平均值,丢包率为丢包数量与总的发送包数量的比值。
205、终端通过IF6接口按照探测周期向NQM上报探测记录。
这里,探测记录包括探测时间、终端的地址、终端的接入类型、缓存服务器的地址以及网络质量信息。
其中,网络质量信息包括RTT和丢包率。终端的地址可以是终端的IP地址,缓存服务器的地址可以缓存服务器的IP地址。
206、NQM通过IF1接口定期将终端上报的探测记录同步到RRS。
其中,上报的网络质量探测结果包括:探测时间、终端IP、终端接入类型、缓存服务器IP、RTT以及丢包率。另外,可以一次上报多个终端的网络质量探测结果,上报周期可以是5分钟。
如此,RRS可以根据NQM上报的M条探测记录生成网络质量探测记录集。
207、RRS通过IF-2接口定期向SDN控制设备请求网络的网络拓扑信息。
具体地,可以采用SDN Controller北向接口,网络拓扑信息请求周期一般设置为24小时。另外,所述网络拓扑请求信息中包括一组拓扑对象的标识;所述一组拓扑对象由该网络中的终端与该网络中的缓存服务器组成。
208、SDN控制设备向RRS返回网络拓扑响应信息。
其中,所述网络拓扑响应信息携带所述一组拓扑对象的拓扑信息,拓扑信息包括所述一组拓扑对象的节点信息和各个节点之间的link信息。具体地,拓扑对象的节点信息可以是拓扑对象的标识以及拓扑对象的之间的link信息,link对应的左右节点的IP、端口IP以及link对应外部网络的IP地址段。
如此,RRS可以根据SDN控制设备返回的网络拓扑响应信息生成该网络的网络拓扑信息。
209、RRS根据所述网络质量监控器周期上报的探测记录生成所述网络的网络质量探测记录集,根据拓扑响应信息生成SDN的网络拓扑信息。
具体地,终端首先根据接入类型和所属网络对各个终端进行分类,示例的:包括南京电信WIFI接入的终端、南京电信DSL接入的终端、合肥电信DSL接入的终端等几个分类。然后在逐个记录各个终端与缓存服务器之间的网络质量信息(RTT、丢包率)。RRS生成的网络质量探测记录集可以如表2所示:
表2
进一步地,在本发明的优选实施例中,RRS可以通过图10所示的流程为终端分配缓存服务器,具体包括:
301、RRS收到终端发送的调度请求信息后,根据所述终端的IP地址查询所述SDN的网络拓扑信息,确定所述终端的所属网络。
另外,RRS接收终端发送的调度请求信息中包括终端的IP地址和终端的接入类型。因此,RRS可以接收该调度请求信息获取终端的接入类型。
在此之前,RRS根据SDN控制设备返回的网络拓扑响应信息生成了网络的网络拓扑信息,其中记录有该网络中的终端的地址、所述SDN中的缓存服务器的地址、以及所述SDN中的终端与所述SDN中的缓存服务器之间的链路信息。因此,根据终端的IP地址查询SDN的网络拓扑信息,就可以定位到终端的网络位置,即终端的所属网络。
示例的,当前终端的IP地址117.34.80.8,根据网络拓扑可以定位到该终端所属的网络为南京电信。
302、RRS根据终端所属网络以及终端的接入类型查询网络质量探测记录集,将网络质量探测记录集中与终端所属网络以及终端的接入类型匹配的缓存服务器确定为候选缓存服务器。
在此之前,RRS接收NQM上报的各个终端的探测记录,对所有终端按照网络位置(比如同一城域网)、接入类型(WIFI/4G等)这两个维度进行分类,并统计每个终端到各个缓存服务器的网络质量信息,生成了表2所示的网络质量探测记录集。
示例的,若步骤301根据终端的IP地址117.34.80.8,定位到该终端所属网络为南京电信,此处根据该终端的接入类型为WIFI接入,查询表2所示的SDN的网络质量信息可确定与该终端匹配的候选缓存服务器为缓存服务器10.136.1.5。参考表2可知,南京电信WIFI接入的终端到缓存服务器10.136.1.5对应有两组网络质量信息,分别是(48ms,0.8%)(50ms,1%)。此时,根据这两组网络质量信息求平均值后确定南京电信WIFI接入的终端到缓存服务器10.136.1.5的网络质量为{[(49+50)/2]ms,[(1+0.8)/2]%}即(49ms,0.9%)。
若查询表2确定终端到缓存服务器仅仅对应一组网络质量信息,则将该组网络质量信息直接作为终端与缓存服务器之间的网络质量信息。
303、计算所述候选缓存服务器中的每一个缓存服务器的吞吐率,根据所述候选缓存服务器中的每一个缓存服务器的吞吐率,确定K个缓存服务器。
优选地,可以将候选服务器按照吞吐率从大到小的顺序排序,选择前K个缓存服务器。当然,也可以基于其他规则在候选缓存服务器中确定K个缓存服务器,在此不作限定。
具体实现中,可以根据计算获得所述缓存服务器的吞吐率T。
其中,所述MSS是TCP数据包每次能够传输的最大数据分段,为了达到最佳的传输效能。MSS值是在双方(如:终端和缓存服务器)TCP协议在建立连接的时候经过双方协商确定的,具体实现中,往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes),因此MSS通常为1460。P为丢包率。
示例的,缓存服务器1的RTT为20ms、丢包率为1%;缓存服务器2的RTT为40ms、丢包率为10%;缓存服务器3的RTT为100ms、丢包率为10%。则不同缓存服务器吞吐率排序结果为:缓存服务器1>缓存服务器2>缓存服务器3。
304、计算所述K个缓存服务器中的每一个缓存服务器到所述终端的最短路径,分别计算所述K个缓存服务器中除第一缓存服务器外的每一个缓存服务器与所述第一缓存服务器在最短路径上的相交跳数。
其中,所述第一缓存服务器是所述候选缓存服务器中吞吐率最大的缓存服务器。通常,两个节点直连就是一跳。所谓跳数,即直连路径的个数。相交跳数,即重合的直连路径的个数。参考图11所示,节点A与节点B之间的直连路径为s,节点B与节点C之间的直连路径为v,节点A到节点C的路径为两跳。
也就是说,计算终端到K个缓存服务器的最短路径,选择与最优缓存服务器(吞吐率最大的缓存服务器,即上述第一缓存服务器)路径相交最小的N-1个缓存服务器,最终选定第一缓存服务器与上述N-1个缓存服务器这N个缓存服务器分配给终端。
具体实现中,可以采用典型SPF(Shortest Path First,最短路径优先算法)计算终端到K个缓存服务器的最短路径,如Dijkstra算法。示例的,计算终端到K个缓存服务器的最短路径分别为P1,P2,P3......PK。以步骤303中排名第一的缓存服务器(即所述第一缓存服务器)为基准,计算其他缓存服务器的最短路径与第一缓存服务器的最短路径的相交次数,分别为:P12、P13、P14......P1k。将路径相交次数由小到大进行排序,选择前N-1个缓存服务器。最终与第一缓存服务器构成RRS为终端确定的N个缓存服务器。
优选地,在本实施例中K=5,N=3。
进一步地,在本发明的优选实施例中,终端可以通过图12所示的流程确定调度策略,具体包括:
401、终端计算N个缓存服务器中的每一个缓存服务器的吞吐率,按照吞吐率从大到小的顺序排序N个缓存服务器。
具体实现中,终端接收RRS的缓存服务器信息,这个信息是RRS为响应终端的调度请求信息而下发的。缓存服务器信息携带RRS为终端分配的N个缓存服务器的地址以及N个缓存服务器中的每一个缓存服务器与所述终端之间的RTT和丢包率。
可以根据计算获得所述缓存服务器的吞吐率T。
402、终端按照所述N个缓存服务器的吞吐率,确定需要从N个缓存服务器中的每一个缓存服务器下载的内容分片。
具体实现中,终端可以通过以下方式确定缓存服务器下载的内容分片:首先,确定N个缓存服务器的吞吐率的比值关系,根据N个缓存服务器的吞吐率的比值关系确定N个目标缓存服务器中的每一个目标缓存服务器所下载的内容分片的比重,进而根据每一个目标缓存服务器所下载的内容分片的比重,确定需要从N个缓存服务器中的每一个目标缓存服务器下载的内容分片。
示例的,缓存服务器1的RTT为20ms、丢包率为1%;缓存服务器2的RTT为40ms、丢包率为10%;缓存服务器3的RTT为100ms、丢包率为10%。计算获得缓存服务器1的吞吐率为T1,缓存服务器2的吞吐率为T2,缓存服务器3的吞吐率为T3,则,三者的吞吐率比值关系为T1=6T3,T2=3T3。
计算3个缓存服务器的吞吐率比例为T1∶T2∶T3=6∶3∶1,假设待下载内容包括10个分片,具体分配参考图13:分片1-分片6从缓存服务器1下载,分片7-分片9从缓存服务器2下载,分片10从缓存服务器3下载。如果前面的缓存服务器已经将前面的分片分配完成,则不从后面缓存服务器下载。例如,待下载的分片个数为9个,则仅仅从缓存服务器1(分片1-6)、缓存服务器2(分配7-9)下载,不从缓存服务器3下载。
进一步地,按照所述资源的播放顺序,所述终端确定从吞吐率高的缓存服务器中下载所述资源中先播放的内容分片,从吞吐率低的缓存服务器中下载所述资源中后播放的内容分片;且从每一个缓存服务器中下载的内容分片数量与所述比重相对应。
也就是说,优先从吞吐率高的缓存服务器下载前面的分片,吞吐率低的缓存服务器下载后面的分片。如此,可以保证前几个分片的流畅播放的同时在播放的过程中下载其余分片,可以提高用户体验。
具体实现中,内容下载可以分片为粒度,分片的大小可配置,比如128KB、256KB、512KB、1MB等。
403、实时统计每个缓存服务器的实际吞吐率。
如此,后续根据实际吞吐率进行确定吞吐率排序及各个缓存服务器分配的分片范围均。
本发明实施例提供的资源获取的方法,调度请求服务器获取网络的网络拓扑信息和网络质量探测记录集,并维护在本地。当接收终端的调度请求,则根据终端的信息、本地维护的网络拓扑信息和网络质量探测记录集为终端分配多个缓存服务器,以便于终端根从分配的多个内容缓存服务器获取需要下载的内容。如此,根据用户的地址,结合网络拓扑、网络质量信息以及终端的信息实现缓存服务器分配,可以在保证为终端分配的缓存服务器与终端网络临近的同时,保证终端与分配的缓存服务器之间的网络质量较佳,从而提升数据资源获取的效果。
上述主要从终端、请求调度服务器的工作过程的角度对本发明实施例提供的方案进行了介绍。可以理解的是,终端、请求调度服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对终端、请求调度服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图14示出了上述实施例中所涉及的终端的一种可能的结构示意图,终端包括:发送单元501,接收单元502,策略制定单元503,获取单元504。发送单元501用于支持终端20执行图8中的过程101以及图9中的过程205,接收单元502用于支持终端执行图8中的过程104;策略制定单元503用于支持终端执行图8中的过程104;获取单元504用于支持终端执行图8中的过程105。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图15示出了上述实施例中所涉及的终端的一种可能的结构示意图。终端可以包括:处理器601、通信接口602和存储器603。通信接口602用于支持终端与其他网络实体的通信。存储器603,用于存储执行本发明方案的程序代码,并由处理器601来控制执行。所述处理器601用于执行所述存储器603中存储的程序代码,对终端的动作进行控制管理,例如,处理器601用于支持终端执行图8中的过程104中制定调度策略的部分以及105,和/或用于本文所描述的技术的其它过程。
其中,处理器601可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。通信接口602可以是通信端口,或者可以是收发器或者收发电路等。存储器603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random accessmemory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-OnlyMemory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
在采用对应各个功能划分各个功能模块的情况下,图16示出了上述实施例中所涉及的请求调度服务器的一种可能的结构示意图,请求调度服务器包括:接收单元701,分配单元702以及发送单元703。接收单元701用于支持请求调度服务器执行图8中的过程102中接收调度请求信息的动作,分配单元702用于支持请求调度服务器执行图8中的过程102中分配缓存服务器的动作;发送单元703用于支持请求调度服务器执行图8中的过程103。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图17示出了上述实施例中所涉及的请求调度服务器的一种可能的结构示意图。请求调度服务器可以包括:处理器801、通信接口802和存储器803。通信接口802用于支持请求调度服务器与其他网络实体的通信。存储器803,用于存储执行本发明方案的程序代码,并由处理器801来控制执行。所述处理器801用于执行所述存储器803中存储的程序代码。处理器801用于对请求调度服务器的动作进行控制管理,例如,处理器801用于支持请求调度服务器执行图8中的过程102,和/或用于本文所描述的技术的其它过程。
其中,处理器801、可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。通信接口802可以是通信端口,或者可以是收发器或者收发电路等。存储器803可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random accessmemory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、只读光盘(CompactDisc Read-OnlyMemory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是一个物理模块或多个物理模块,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (20)
1.一种获取资源的方法,其特征在于,包括:
终端向请求调度服务器发送调度请求信息;所述调度请求信息携带终端的信息;
所述终端接收所述调度请求服务器发送的缓存服务器信息;所述缓存服务器信息包括N个缓存服务器的地址以及所述N个缓存服务器中的每一个缓存服务器与所述终端之间的网络质量信息;所述N为大于等于1的整数;
所述终端根据所述N个缓存服务器中的每一个缓存服务器与所述终端之间的网络质量信息制定调度策略;
所述终端根据所述调度策略获取资源。
2.根据权利要求1所述的方法,其特征在于,所述网络质量信息包括往返时间RTT和丢包率。
3.根据权利要求2所述的方法,其特征在于,所述终端根据所述N个缓存服务器中的每一个缓存服务器与所述终端之间的网络质量信息制定调度策略包括:
所述终端根据所述N个缓存服务器中的每一个缓存服务器与所述终端之间的RTT和丢包率,确定所述N个缓存服务器中的每一个缓存服务器的吞吐率;
所述终端按照所述N个缓存服务器的吞吐率,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片。
4.根据权利要求3所述的方法,其特征在于,所述终端按照所述N个缓存服务器的吞吐率,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片,具体为:
确定N个缓存服务器的吞吐率的比值关系;
根据所述比值关系,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片的比重;
根据所述比重,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片。
5.根据权利要求4所述的方法,其特征在于,所述根据所述比重,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片,具体为:
按照所述资源的播放顺序,所述终端确定从吞吐率高的缓存服务器中下载所述资源中先播放的内容分片,从吞吐率低的缓存服务器中下载所述资源中后播放的内容分片;且从每一个缓存服务器中下载的内容分片数量与所述比重相对应。
6.一种获取资源的方法,其特征在于,包括:
请求调度服务器接收终端发送的调度请求信息;所述调度请求信息包括终端的信息;
所述请求调度服务器根据网络的网络拓扑信息、网络质量探测记录集以及所述终端的信息,为所述终端分配N个缓存服务器;所述N为大于等于1的整数;
所述请求调度服务器向所述终端发送缓存服务器信息,所述缓存服务器信息包括所述N个缓存服务器的地址,以及所述N个缓存服务器中的每一个缓存服务器与所述终端之间的网络质量信息。
7.根据权利6所述的方法,其特征在于,所述网络拓扑信息包括:所述网络中的终端的地址、所述网络中的缓存服务器的地址、以及所述网络中的终端与所述网络中的缓存服务器之间的链路信息;
所述网络质量探测记录集包括M条探测记录;其中,每一条探测记录包括探测时间、终端的地址、终端所属网络、终端的接入类型、缓存服务器的地址以及网络质量信息;其中,所述网络质量信息包括往返时间RTT和丢包率,所述M为正整数。
8.根据权利要求7所述的方法,其特征在于,所述终端的信息包括终端的IP地址和终端的接入类型,
所述请求调度服务器根据网络的网络拓扑信息、网络质量探测记录集以及所述终端的信息,为所述终端分配N个缓存服务器,具体为:
根据所述终端的IP地址,确定所述终端的所属网络;
根据所述终端的所属网络以及所述终端的接入类型查询所述网络质量探测记录集,将所述网络质量探测记录集中与所述终端的所属网络以及所述终端的接入类型匹配的缓存服务器确定为候选缓存服务器;
计算所述候选缓存服务器中的每一个缓存服务器的吞吐率,根据所述候选缓存服务器中的每一个缓存服务器的吞吐率,确定K个缓存服务器;其中,所述K为大于等于所述N的正整数;
计算所述K个缓存服务器中的每一个缓存服务器到所述终端的最短路径;
分别计算所述K个缓存服务器中除第一缓存服务器外的每一个缓存服务器与所述第一缓存服务器在最短路径上的相交跳数;所述第一缓存服务器是所述候选缓存服务器中吞吐率最大的缓存服务器;
将相交跳数按从小到大排序后的前N-1个缓存服务器以及所述第一缓存服务器确定为分配给所述终端的N个缓存服务器。
9.根据权利要求6所述的方法,其特征在于,所述请求调度服务器接收终端发送的调度请求信息之前,所述方法还包括:
接收网络质量监控器上报的探测记录;
根据所述网络质量监控器上报的探测记录生成所述网络质量探测记录集;
向软件定义网络SDN控制设备发送获取网络拓扑的请求信息;
接收所述SDN控制设备发送的网络拓扑响应信息,所述网络拓扑响应信息包括所述网络拓扑信息。
10.一种终端,其特征在于,包括:
发送单元,用于向请求调度服务器发送调度请求信息;所述调度请求信息携带终端的信息;
接收单元,用于接收所述调度请求服务器发送的缓存服务器信息;所述缓存服务器信息包括N个缓存服务器的地址以及所述N个缓存服务器中的每一个缓存服务器与所述终端之间的网络质量信息;所述N为大于等于1的整数;
策略制定单元,用于所述N个缓存服务器中的每一个缓存服务器与所述终端之间的网络质量信息制定调度策略;
获取单元,用于根据所述策略制定单元制定的所述调度策略获取资源。
11.根据权利要求10所述的终端,其特征在于,所述网络质量信息包括往返时间RTT和丢包率。
12.根据权利要求11所述的终端,其特征在于,所述策略制定单元具体用于,根据所述N个缓存服务器中的每一个缓存服务器与所述终端之间的RTT和丢包率,确定所述N个缓存服务器中的每一个缓存服务器的吞吐率;
按照所述N个缓存服务器的吞吐率,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片。
13.根据权利要求12所述的终端,其特征在于,所述策略制定单元具体用于,确定N个缓存服务器的吞吐率的比值关系;
根据所述比值关系,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片的比重;
根据所述比重,确定需要从所述N个缓存服务器中的每一个缓存服务器下载的内容分片。
14.根据权利要求13所述的终端,其特征在于,所述策略制定单元具体用于,
按照所述资源的播放顺序,确定从吞吐率高的缓存服务器中下载所述资源中先播放的内容分片,从吞吐率低的缓存服务器中下载所述资源中后播放的内容分片;且从每一个缓存服务器中下载的内容分片数量与所述比重相对应。
15.一种请求调度服务器,其特征在于,包括:
接收单元,用于接收终端发送的调度请求信息;所述调度请求信息包括终端的信息;
分配单元,用于根据网络的网络拓扑信息、网络质量探测记录集以及所述终端的信息,为所述终端分配N个缓存服务器;所述N为大于等于1的整数;
发送单元,用于向所述终端发送缓存服务器信息,所述缓存服务器信息包括所述N个缓存服务器的地址,以及所述N个缓存服务器中的每一个缓存服务器与所述终端之间的网络质量信息。
16.根据权利要求15所述的请求调度服务器,其特征在于,所述网络拓扑信息包括:所述网络中的终端的地址、所述网络中的缓存服务器的地址、以及所述网络中的终端与所述网络中的缓存服务器之间的链路信息;
所述网络质量探测记录集包括M条探测记录;其中,每一条探测记录包括探测时间、终端的地址、终端所属网络、终端的接入类型、缓存服务器的地址以及网络质量信息;其中,所述网络质量信息包括往返时间RTT和丢包率,所述M为正整数。
17.根据权利要求16所述的请求调度服务器,其特征在于,所述终端的信息包括终端的IP地址和终端的接入类型,
所述分配单元具体用于,根据所述终端的IP地址,确定所述终端的所属网络;
根据所述终端的所属网络以及所述终端的接入类型查询所述网络质量探测记录集,将所述网络质量探测记录集中与所述终端的所属网络以及所述终端的接入类型匹配的缓存服务器确定为候选缓存服务器;
计算所述候选缓存服务器中的每一个缓存服务器的吞吐率,根据所述候选缓存服务器中的每一个缓存服务器的吞吐率,确定K个缓存服务器;其中,所述K为大于等于所述N的正整数;
计算所述K个缓存服务器中的每一个缓存服务器到所述终端的最短路径;
分别计算所述K个缓存服务器中除第一缓存服务器外的每一个缓存服务器与所述第一缓存服务器在最短路径上的相交跳数;所述第一缓存服务器是所述候选缓存服务器中吞吐率最大的缓存服务器;
将相交跳数按从小到大排序后的前N-1个缓存服务器以及所述第一缓存服务器确定为分配给所述终端的N个缓存服务器。
18.根据权利要求15所述的请求调度服务器,其特征在于,还包括生成单元,
所述接收单元还用于,在接收所述终端发送的调度请求信息之前,接收网络质量监控器上报的探测记录;
所述生成单元用于,根据所述网络质量监控器上报的探测记录生成所述网络质量探测记录集;
所述发送单元还用于,向软件定义网络SDN控制设备发送获取网络拓扑的请求信息;
所述接收单元还用于,接收所述SDN控制设备发送的网络拓扑响应信息,所述网络拓扑响应信息包括所述网络拓扑信息。
19.一种终端,其特征在于,包括:处理器和存储器,其中,
所述存储器中存有计算机可读程序;所述处理器通过运行所述存储器中的程序,以用于完成上述权利要求1至5所述的方法。
20.一种服务器,其特征在于,包括:处理器和存储器,其中,
所述存储器中存有计算机可读程序;
所述处理器通过运行所述存储器中的程序,以用于完成上述权利要求6至9所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610797105.3A CN107786620B (zh) | 2016-08-31 | 2016-08-31 | 一种获取资源的方法、终端及服务器 |
PCT/CN2017/094944 WO2018040816A1 (zh) | 2016-08-31 | 2017-07-28 | 一种资源获取的方法、终端及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610797105.3A CN107786620B (zh) | 2016-08-31 | 2016-08-31 | 一种获取资源的方法、终端及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107786620A true CN107786620A (zh) | 2018-03-09 |
CN107786620B CN107786620B (zh) | 2019-10-22 |
Family
ID=61301361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610797105.3A Active CN107786620B (zh) | 2016-08-31 | 2016-08-31 | 一种获取资源的方法、终端及服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107786620B (zh) |
WO (1) | WO2018040816A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848530A (zh) * | 2018-07-10 | 2018-11-20 | 网宿科技股份有限公司 | 一种获取网络资源的方法、装置及调度服务器 |
CN109951341A (zh) * | 2019-04-01 | 2019-06-28 | 北京达佳互联信息技术有限公司 | 内容获取方法、装置、终端及存储介质 |
CN109966736A (zh) * | 2019-03-06 | 2019-07-05 | 绎谛数据科技(上海)有限公司 | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 |
CN110278254A (zh) * | 2019-06-12 | 2019-09-24 | 深圳梨享计算有限公司 | 用于FogCDN场景的调度方法及调度端 |
WO2020134753A1 (zh) * | 2018-12-28 | 2020-07-02 | 广州华多网络科技有限公司 | 请求消息处理方法、装置及系统、服务器、存储介质 |
CN113315646A (zh) * | 2020-02-27 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 用于内容分发网络的异常处理方法、装置及内容分发网络 |
CN113891387A (zh) * | 2021-11-12 | 2022-01-04 | 山东亚华电子股份有限公司 | 一种音视频通信链路的探测方法及设备 |
CN113993158A (zh) * | 2021-10-28 | 2022-01-28 | 成都长虹网络科技有限责任公司 | 一种网络质量监测方法、系统、计算机设备及存储介质 |
CN114760362A (zh) * | 2022-06-13 | 2022-07-15 | 杭州马兰头医学科技有限公司 | 网络接入请求的调度方法、系统、电子装置和存储介质 |
WO2024082688A1 (zh) * | 2022-10-20 | 2024-04-25 | 上海哔哩哔哩科技有限公司 | 礼物特效资源播放方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585357A (zh) * | 2003-08-19 | 2005-02-23 | 华为技术有限公司 | 一种在网络中选择服务器的方法 |
CN101287011A (zh) * | 2008-05-26 | 2008-10-15 | 蓝汛网络科技(北京)有限公司 | 内容分发网络中响应用户服务请求的方法、系统和设备 |
US20100036954A1 (en) * | 2008-08-06 | 2010-02-11 | Edgecast Networks, Inc. | Global load balancing on a content delivery network |
CN103166985A (zh) * | 2011-12-09 | 2013-06-19 | 上海盛霄云计算技术有限公司 | 一种全局负载均衡调度方法、数据传输方法、装置及系统 |
-
2016
- 2016-08-31 CN CN201610797105.3A patent/CN107786620B/zh active Active
-
2017
- 2017-07-28 WO PCT/CN2017/094944 patent/WO2018040816A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585357A (zh) * | 2003-08-19 | 2005-02-23 | 华为技术有限公司 | 一种在网络中选择服务器的方法 |
CN101287011A (zh) * | 2008-05-26 | 2008-10-15 | 蓝汛网络科技(北京)有限公司 | 内容分发网络中响应用户服务请求的方法、系统和设备 |
US20100036954A1 (en) * | 2008-08-06 | 2010-02-11 | Edgecast Networks, Inc. | Global load balancing on a content delivery network |
CN103166985A (zh) * | 2011-12-09 | 2013-06-19 | 上海盛霄云计算技术有限公司 | 一种全局负载均衡调度方法、数据传输方法、装置及系统 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11153378B2 (en) * | 2018-07-10 | 2021-10-19 | Wangsu Science & Technology Co., Ltd. | Method, device, and scheduling server for network resource acquisition |
CN108848530A (zh) * | 2018-07-10 | 2018-11-20 | 网宿科技股份有限公司 | 一种获取网络资源的方法、装置及调度服务器 |
WO2020010670A1 (zh) * | 2018-07-10 | 2020-01-16 | 网宿科技股份有限公司 | 一种获取网络资源的方法、装置及调度服务器 |
EP3621342A4 (en) * | 2018-07-10 | 2020-03-18 | Wangsu Science & Technology Co., Ltd. | NETWORK RESOURCE ACQUISITION METHOD AND DEVICE, AND PLANNING SERVER |
WO2020134753A1 (zh) * | 2018-12-28 | 2020-07-02 | 广州华多网络科技有限公司 | 请求消息处理方法、装置及系统、服务器、存储介质 |
CN109966736B (zh) * | 2019-03-06 | 2022-08-16 | 绎谛数据科技(上海)有限公司 | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 |
CN109966736A (zh) * | 2019-03-06 | 2019-07-05 | 绎谛数据科技(上海)有限公司 | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 |
CN109951341B (zh) * | 2019-04-01 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 内容获取方法、装置、终端及存储介质 |
CN109951341A (zh) * | 2019-04-01 | 2019-06-28 | 北京达佳互联信息技术有限公司 | 内容获取方法、装置、终端及存储介质 |
CN110278254B (zh) * | 2019-06-12 | 2022-02-22 | 深圳梨享计算有限公司 | 用于FogCDN场景的调度方法及调度端 |
CN110278254A (zh) * | 2019-06-12 | 2019-09-24 | 深圳梨享计算有限公司 | 用于FogCDN场景的调度方法及调度端 |
CN113315646A (zh) * | 2020-02-27 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 用于内容分发网络的异常处理方法、装置及内容分发网络 |
CN113993158B (zh) * | 2021-10-28 | 2023-05-23 | 成都长虹网络科技有限责任公司 | 一种网络质量监测方法、系统、计算机设备及存储介质 |
CN113993158A (zh) * | 2021-10-28 | 2022-01-28 | 成都长虹网络科技有限责任公司 | 一种网络质量监测方法、系统、计算机设备及存储介质 |
CN113891387A (zh) * | 2021-11-12 | 2022-01-04 | 山东亚华电子股份有限公司 | 一种音视频通信链路的探测方法及设备 |
CN113891387B (zh) * | 2021-11-12 | 2024-03-29 | 山东亚华电子股份有限公司 | 一种音视频通信链路的探测方法及设备 |
CN114760362A (zh) * | 2022-06-13 | 2022-07-15 | 杭州马兰头医学科技有限公司 | 网络接入请求的调度方法、系统、电子装置和存储介质 |
CN114760362B (zh) * | 2022-06-13 | 2022-09-02 | 杭州马兰头医学科技有限公司 | 网络接入请求的调度方法、系统、电子装置和存储介质 |
WO2024082688A1 (zh) * | 2022-10-20 | 2024-04-25 | 上海哔哩哔哩科技有限公司 | 礼物特效资源播放方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107786620B (zh) | 2019-10-22 |
WO2018040816A1 (zh) | 2018-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107786620A (zh) | 一种获取资源的方法、终端及服务器 | |
CN103746911B (zh) | 一种sdn网络结构及其通信方法 | |
CN102318288B (zh) | 节点排序与选取方法、装置及系统 | |
US8098584B2 (en) | Optimization of traffic routing for data center services | |
JP6752281B2 (ja) | ユーザプレーン用ソフトウェア定義トポロジ(sdt) | |
CN103475719B (zh) | 一种cdn-p2p融合网络中跨域流量最小化的内容分发方法 | |
CN108092888A (zh) | 一种基于Overlay网络的传输方法、网关及传输系统 | |
JP2004508743A (ja) | インターネットルート非集合およびルート選択参照 | |
CN104468351B (zh) | 基于sdn辅助ccn路由的管理方法、ccn转发装置及网络控制器 | |
CN109787921A (zh) | Cdn带宽调度方法、采集及调度服务器和存储介质 | |
CN104660507B (zh) | 数据流转发路由的控制方法及装置 | |
CN102571557A (zh) | 动态产生应用层流量优化协议图 | |
CN106998263A (zh) | 用于保持网络服务级别的系统和方法 | |
CN104348722B (zh) | 确定内容获取路径、请求处理的方法、装置和系统 | |
CN105681413B (zh) | 一种cdn与isp协同处理数据的方法及装置 | |
CN107454019A (zh) | 软件定义网络动态带宽分配方法、装置、设备及存储介质 | |
CN104917659B (zh) | 一种基于虚拟网络连接特性的虚拟网络映射方法 | |
CN102065142A (zh) | 基于文件下载的内容分发网络调度方法和系统 | |
CN104580165A (zh) | 智慧协同网络中的一种协作缓存方法 | |
CN109842574A (zh) | 一种基于可编程网络技术的多宿主网络路由转发方法 | |
CN106412043B (zh) | Cdn网络流量引导方法和装置 | |
CN108234319A (zh) | 一种数据的传输方法和装置 | |
CN104270312B (zh) | 支持流量优化和应用感知的中继路径分配系统及方法 | |
CN108769097A (zh) | 支持网络控制的内容分发网络系统 | |
CN105872093A (zh) | Cdn加速方法和系统 |
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 |