一种调度方法及装置与流程
未命名
08-26
阅读:130
评论:0

1.本技术涉及内容分发网络技术,尤其涉及一种调度方法及装置。
背景技术:
2.网络中存在大量的空闲带宽,比如光猫的带宽、路由器的带宽、部分企业带宽、部分校企带宽等。这些空闲带宽相比互联网数据中心(internet data center,idc)的带宽,价格低廉且储备量大。在内容分发网络中,这些空闲带宽可作为idc带宽的延伸,具体地,可以将资源预先存储于这些空闲带宽对应的边缘设备中,用户设备从这些边缘设备中请求资源,从而有助于降低用户设备向源服务器请求资源的带宽(即回源带宽)消耗。
3.但这些空闲带宽对应于各种各样的边缘设备,不同边缘设备的出流带宽存在较大差异。比如,光猫的出流带宽通常位于50mbps至300mbps之间,而服务器的出流带宽通常位于300mbps至10gbps之间。
4.如何利用这些边缘设备的不同出流带宽,是目前亟需解决的技术问题。
技术实现要素:
5.本技术提供一种调度方法及装置,用于将用户设备的调度请求合理地调度到如光猫、路由器、idc设备、服务器等这些具备不同出流带宽的边缘设备中,以充分利用这些边缘设备的出流带宽。
6.第一方面,本技术提供一种调度方法,应用于调度设备,调度设备用于对多个边缘设备的出流量进行调度,方法包括:调度设备接收用户设备的调度请求,调度请求包括域名、数据量和资源标识,其中,数据量用于指示用户设备需要基于域名下载的资源的数据大小。进一步的,调度设备根据资源标识、域名对应的下载速度、数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从至少一个边缘设备中确定出目标边缘设备,目标边缘设备中存储有资源,多个边缘设备包括至少一个边缘设备。调度设备向用户设备发送调度响应,调度响应指示目标边缘设备,从而用户设备可根据调度响应确定目标边缘设备,并从目标边缘设备中请求下载资源。
7.上述技术方案中,调度设备对具有不同出流带宽的边缘设备的出流量进行有针对性的调度,其中,具有不同出流带宽的边缘设备可对应于各自的不同时长的调度周期。调度设备基于用户设备请求资源所属的域名对应的下载速度、资源的数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从至少一个边缘设备中确定目标边缘设备,从而有助于充分利用该各边缘设备的出流带宽。
8.在一种可能的实现方式中,调度设备根据资源标识、域名对应的下载速度、数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从至少一个边缘设备中确定出目标边缘设备,包括:调度设备根据资源标识,从多个边缘设备中确定出多个备选边缘设备,每一备选边缘设备均存储有资源;调度设备根据域名对应的下载速度、数据量和至少一个备选边缘设备在各自调度周期中的可调度出流量,从至少一个备选边缘设备中确定出目标
边缘设备。
9.上述技术方案中,用户设备请求的资源可以预先存储于多个边缘设备所包括的多个备选边缘设备中,调度设备从备选边缘设备中选择目标边缘设备,从而实现用户设备可以直接从备选边缘设备中请求资源,避免用户设备向源服务器请求资源,节省回源带宽。
10.在一种可能的实现方式中,调度设备根据域名对应的下载速度、数据量和至少一个备选边缘设备在各自调度周期中的可调度出流量,从至少一个备选边缘设备中确定出目标边缘设备之前,还包括:调度设备根据第一备选边缘设备在当前调度周期内的当前子调度周期中的可调度出流量,和当前调度周期中当前子调度周期之后的所有子调度周期的可调度出流量,确定第一备选边缘设备在当前调度周期中的可调度出流量。其中,当前调度周期是第一备选边缘设备对应的调度周期,当前调度周期包括多个子调度周期,该多个子调度周期中的当前子调度周期包括调度设备接收调度请求的接收时刻;第一备选边缘设备是至少一个备选边缘设备中的一个。
11.上述技术方案中,调度设备可先获取每个备选边缘设备在各自调度周期中的可调度出流量,进而结合每个备选边缘设备对应的可调度出流量,从多个备选边缘设备中选择目标边缘设备,从而有助于选择出与该调度请求更为匹配的目标边缘设备。
12.在一种可能的实现方式中,方法还包括:调度设备根据域名对应的下载速度和数据量,确定资源的下载时长;进而根据资源的下载时长和域名对应的下载速度,更新目标边缘设备在目标边缘设备的调度周期中的可调度出流量。
13.上述技术方案中,调度设备根据用户设备下载资源的下载时长,确定目标边缘设备在其对应的调度周期中向用户设备提供的出流量,进而更新目标边缘设备的调度周期中的可调度出流量,从而调度设备可进一步为该目标边缘设备调度其他的调度请求,有助于充分利用该目标边缘设备中的出流量。
14.在一种可能的实现方式中,调度设备还可以接收目标边缘设备上报的预留调度出流量,其中该预留调度出流量可用于指示目标边缘设备在目标边缘设备的调度周期内向用户设备的实际出流量小于用户设备请求的数据量;调度设备根据预留调度出流量,对目标边缘设备的下一调度周期中的出流量进行预先调度。
15.上述技术方案中,调度设备接收到目标边缘设备上报的预留调度出流量,根据预留调度出流量对目标边缘设备在下一个调度周期中的流量进行预先调度,从而保障用户设备尚未完成的下载请求可以执行完成。进一步的,该预留调度出流量由目标边缘设备进行上报,可提高调度设备对目标边缘设备中出流量进行预调度的准确性。
16.在一种可能的实现方式中,调度设备根据资源标识、域名对应的下载速度、数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从至少一个边缘设备中确定出目标边缘设备之前,还可以根据历史调度周期中域名的历史下载速度,计算域名的历史平均下载速度;将历史平均下载速度作为域名的下载速度。如此,有助于提高调度设备调度边缘设备的出流量的准确性。
17.在一种可能的实现方式中,调度设备根据资源标识,从多个边缘设备中确定出多个备选边缘设备,包括:调度设备根据资源标识和预热资源信息,从多个边缘设备中确定出存储有资源的多个备选边缘设备;其中,预热资源信息包括边缘设备的标识与边缘设备中存储资源的标识的映射关系。
18.上述技术方案中,调度设备指示边缘设备对热点资源进行预热,并记录各边缘设备中热点资源的标识。在用户设备请求资源时,调度设备可将用户设备的请求调度至预热有该资源的边缘设备中,避免用户设备向源服务器请求资源,节省回源带宽。
19.在一种可能的实现方式中,多个边缘设备至少包括光猫、路由器、idc设备和服务器的一个或多个。上述技术方案中,调度设备可对不同边缘设备的出流量进行调度,有助于利用各种空闲带宽,有助于降低用户设备向源服务器请求资源的带宽消耗。
20.第二方面,本技术提供一种调度装置,该装置具体可以是调度设备,或者是调度设备中的芯片。调度设备用于对多个边缘设备的出流量进行调度。
21.在一种可能的实现方式中,装置包括:收发模块,用于接收用户设备的调度请求,调度请求包括域名、数据量和资源标识,其中,数据量用于指示用户设备需要基于域名下载的资源的数据大小;处理模块,用于根据资源标识、域名对应的下载速度、数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从至少一个边缘设备中确定目标边缘设备,目标边缘设备存储有资源,多个边缘设备包括至少一个边缘设备;收发模块,还用于向用户设备发送调度响应,调度响应指示目标边缘设备,以使用户设备从目标边缘设备中请求下载资源。
22.在一种可能的实现方式中,处理模块具体用于:根据资源标识,从多个边缘设备中确定出多个备选边缘设备,每一备选边缘设备均存储有资源;根据域名对应的下载速度、数据量和至少一个备选边缘设备在各自调度周期中的可调度出流量,从至少一个备选边缘设备中确定出目标边缘设备。
23.在一种可能的实现方式中,处理模块还用于:根据第一备选边缘设备在当前调度周期内的当前子调度周期中的可调度出流量,和当前调度周期中当前子调度周期之后的所有子调度周期的可调度出流量,确定第一备选边缘设备在当前调度周期中的可调度出流量;其中,当前调度周期是第一备选边缘设备对应的调度周期,当前调度周期包括多个子调度周期,当前子调度周期包括接收调度请求的时刻;至少一个备选边缘设备包括第一备选边缘设备。
24.在一种可能的实现方式中,处理模块还用于:根据域名对应的下载速度和数据量,确定资源的下载时长;根据资源的下载时长和域名对应的下载速度,更新目标边缘设备在目标边缘设备的调度周期中的可调度出流量。
25.在一种可能的实现方式中,收发模块还用于:接收目标边缘设备上报的预留调度出流量,预留调度出流量指示目标边缘设备在目标边缘设备的调度周期内向用户设备的实际出流量小于数据量;处理模块还用于:根据预留调度出流量,对目标边缘设备的下一调度周期中的出流量调度。
26.在一种可能的实现方式中,处理模块还用于:根据历史调度周期中域名的历史下载速度,计算域名的历史平均下载速度;将历史平均下载速度作为域名的下载速度。
27.在一种可能的实现方式中,处理模块具体用于:根据资源标识和预热资源信息,从多个边缘设备中确定出存储有资源的多个备选边缘设备;其中,预热资源信息包括边缘设备的标识与边缘设备中存储资源的标识的映射关系。
28.在一种可能的实现方式中,多个边缘设备至少包括光猫、路由器、互联网数据中心idc设备和服务器的一个或多个。
29.第三方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备执行时,执行上述第一方面或第一方面的任一种可能的实现方式中的方法。
30.第四方面,本技术提供一种计算机程序产品,计算机程序产品包括计算机程序或指令,当计算机程序或指令被计算设备执行时,执行上述第一方面或第一方面的任一种可能的实现方式中的方法。
31.第五方面,本技术提供一种计算设备,包括处理器,处理器与存储器相连,存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,以实现上述第一方面或第一方面的任一种可能的实现方式中的方法。
32.第六方面,本技术提供一种芯片,包括至少一个处理器和接口;接口,用于为至少一个处理器提供程序指令或者数据;至少一个处理器用于执行程序行指令,以实现上述第一方面或第一方面的任一种可能的实现方式中的方法。
33.第七方面,本技术提供一种基于调度系统,该调度系统中包括多个边缘设备,和上述第二方面或第二方面的任一种可能的实现方式中的装置。
34.上述第二方面至第七方面中任一方面可以达到的技术效果可以参照上述第一方面中有益效果的描述,此处不再重复赘述。
附图说明
35.图1为本技术提供的一种调度系统的架构示意图;
36.图2为本技术提供的一种调度方法的流程示意图;
37.图3为本技术提供的一种资源预热的流程示意图;
38.图4为本技术提供的一种不同域名中热点资源与不同设备组中边缘设备的映射关系;
39.图5为本技术提供的一种调度设备调度边缘设备的出流量的示意图;
40.图6为本技术提供的再一种调度设备调度边缘设备的出流量的示意图;
41.图7为本技术提供的一种调度设备调度目标边缘设备的出流量的示意图;
42.图8本技术提供的一种基于调度装置的结构示意图;
43.图9本技术提供的再一种基于调度装置的结构示意图。
具体实施方式
44.为了更好的解释本技术实施例,先对本技术中的相关术语或技术解释:
45.近端网络加速(near end network accelerator,nena):基于现实中多种边缘设备,如光猫、路由器等,构建的一层最靠近用户的虚拟网络,将互联网用户的访问加速请求从原来的“最后一公里”延伸至“最后100米”。
46.域名解析系统(domain name system,dns):是互联网的一项服务,dns可用于将用户输入的域名映射成对应的网际互连协议(internet protocol,ip)地址。
47.生存时间值(time to live,ttl):本地dns中缓存dns记录的有效时间。当本地dns中缓存的某条dns记录的时间超过ttl之后,则可确定该dns记录失效,本地dns需要重新向权威dns请求新的dns记录。
48.内容分发网络(content delivery network,cdn):cdn是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使得用户能够就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。cdn的关键技术主要包括内容存储技术和内容分发技术。
49.互联网数据中心(internet data center,idc):是指一种拥有完善的设备(包括高速互联网接入带宽、高性能局域网络、安全可靠的机房环境等)、专业化的管理、完善的应用的服务平台。
50.图1为本技术示例性提供的一种调度系统,其中包括用户设备、边缘设备和调度设备。
51.用户设备(user equipment,ue),也可以称为终端、终端设备、用户设备、移动台、移动终端等。用户设备可广泛应用于各种场景中,例如,设备到设备(device-to-device,d2d)、车物(vehicle to everything,v2x)通信、机器类通信(machine-type communication,mtc)、物联网(internet of things,iot)、虚拟现实、增强现实、工业控制、自动驾驶、远程医疗、智能电网、智能家具、智能办公、智能穿戴、智能交通、智慧城市等。用户设备可以是手机、平板电脑、带无线收发功能的电脑、可穿戴设备、车辆、无人机、直升机、飞机、轮船、机器人、机械臂、智能家居设备等。本技术的实施例对用户设备所采用的具体技术和具体设备形态不做限定。
52.边缘设备为k个,k为大于或等于2的整数。
53.k个边缘设备中,每个边缘设备具备自己的设备能力,设备能力比如出流带宽、存储量、计算能力等,存储量可理解为设备可存储的资源量/数据量,计算能力比如中央处理器(central processing unit,cpu)的计算能力。
54.k个边缘设备可对应于多个不同类型,比如光猫、路由器、idc设备、服务器等类型。其中,不同类型的边缘设备之间的设备能力可存在差异,比如服务器1的出流带宽大于光猫1的出流带宽,服务器1的存储量大于光猫1的存储量。进一步的,相同类型的不同边缘设备之间的设备能力同样可存在差异,比如光猫1的出流带宽大于光猫2的出流带宽,而光猫1的存储量小于光猫2的存储量。
55.k个边缘设备可分别基于调度设备的调度,预先在本地存储有热点资源。比如光猫1中存储有热点资源1,光猫2中存储有热点资源2,服务器1中存储有热点资源3等。
56.其中,热点资源理解为被用户设备访问的频率较高的资源,资源又可称为是数据,热点资源又可称为是热点数据。热点资源比如某个下载频率较高的数据包,或者某个访问频率较高的视频等。
57.调度设备可基于用户设备的调度请求确定热点资源,然后指示边缘设备在本地存储热点资源。调度设备还可将用户设备的调度请求调度到该调度请求对应的边缘设备(如下简称为目标边缘设备)上,从而用户设备可从目标边缘设备中请求目标资源。
58.进一步的,如图1中,调度设备包括前端服务、后端服务。
59.前端服务可获取配置参数,如域名配置参数、热点识别算法参数等。前端服务还可用于展示调度系统的运行情况。
60.后端服务中可包括配置服务、热点计算服务、内容预热服务、调度服务、设备管理服务、数据库,具体如下解释:
61.配置服务,用于接收来自前端服务的配置参数,将配置参数下发至对应的服务中,比如将热点识别算法的参数下发至热点计算服务中。
62.热点计算服务,用于基于用户设备的调度请求,通过热点识别算法,预测出未来一段时间内的热点资源,将预测出的热点资源指示给内容预热服务。
63.内容预热服务,用于基于热点计算服务预测出的热点资源,执行热点资源的预热。具体地,内容预热服务向边缘设备发送预热指示,边缘设备基于预热指示向源服务器(或称为源站)请求对应的热点资源,并将请求到的热点资源存储于本地。
64.调度服务,用于接收用户设备发送的调度请求,根据调度请求指示的目标资源,结合数据库中存储的预热资源信息、边缘设备信息、域名配置信息等,从k个边缘设备中选择目标边缘设备,并将目标边缘设备通过调度响应指示给用户设备。
65.设备管理服务,用于管理边缘设备的实时状态,保证边缘设备的正常运行。比如设备管理服务监测边缘设备上报的心跳信息,以确定边缘设备的健康状态。
66.需要指出的是,本技术不限定用户设备的数量,用户设备可以是一个或多个;同样的,本技术不限定调度设备的数量,调度设备可以是一个或多个。
67.此外,图1示出的调度设备的结构仅是示例,调度设备还可以包括其他服务,或者将上述多个服务合并为一个服务,或者将上述的一个服务基于功能拆分为多个服务等。
68.基于上述调度系统,本技术提供一种调度方法,该调度方法可以由上述调度设备基于内容分发网络执行,调度设备可对k个边缘设备的出流量进行调度。
69.参见图2示出的一种调度方法的流程示意图中:
70.步骤201,用户设备向调度设备发送调度请求。
71.其中,该调度请求可用于用户设备请求资源,具体地,调度请求中包括:
72.(1)用户设备请求的资源的标识(如下简称为资源标识,或者目标资源标识);
73.(2)用户设备请求的该资源所对应的域名(如下简称为目标域名);
74.(3)用户设备请求的该资源的数据量(如下简称为目标数据量)。
75.也可以理解,该调度请求中目标数据量表征用户设备需要基于目标域名下载的目标资源的数据量。
76.比如调度请求中的目标域名为https://www.aaa.com/,目标数据量为10mb,目标资源标识为资源标识a,其中,资源标识a对应资源a,调度请求可指示用户设备向https://www.aaa.com/请求下载的资源a为10mb。
77.调度请求中还可包括range(区间)信息。解释为,调度请求用于请求的目标资源,可以是目标资源标识指示的整个资源中一部分。其中,range信息可包括start(开始)字段和end(结束)字段,start字段和end字段可用于指示目标资源在整个资源中的位置。结合上述例子,调度请求中包括资源标识a、range信息a等,表明用户设备请求下载的目标资源为资源a中range信息a对应的一部分资源。
78.此外,调度请求中还可包括目标资源的资源类型,资源类型比如是视频类型、安装包类型、图片类型等。
79.步骤202,调度设备根据目标资源标识、目标域名对应的下载速度、目标数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从至少一个边缘设备中确定出目标边缘设备。其中,调度设备选择的目标边缘设备中存储有目标资源。
80.示例性的,调度设备可依照k个边缘设备的先后顺序,依次确定每个边缘设备中是否存储有目标资源,从而确定出存储有目标资源的边缘设备。比如,k个边缘设备分别是边缘设备1至边缘设备10,即k=10。调度设备若确定边缘设备1中未存储有目标资源,则进一步确定边缘设备2中是否存储有目标资源。调度设备若确定边缘设备2中未存储有目标资源,则进一步确定边缘设备3中是否存储有目标资源。以此类推,直至确定出存储有目标资源的边缘设备,并确定该边缘设备是否可作为目标边缘设备。
81.具体地,边缘设备中可以存储有资源和资源标识的映射关系。相应的,调度设备在确定某个边缘设备中是否存储有目标资源时,可确定该边缘设备记录的映射关系中是否包括有目标资源标识。
82.进一步的,调度设备可基于该存储有目标资源的边缘设备在其对应调度周期中的可调度出流量,并结合调度请求中目标域名对应的下载速度、目标数据量,确定该边缘设备是否可作为目标边缘设备,具体可参见下述实现方式。
83.或者在另外一种实现方式中,调度设备还可以先从k个边缘设备中确定出一个或多个备选边缘设备,其中每一备选边缘设备均存储有目标资源。调度设备再根据目标域名对应的下载速度、目标数据量和备选边缘设备在各自调度周期中的可调度出流量,从至少一个备选边缘设备中确定出目标边缘设备。具体可参见步骤202-1和步骤202-2中描述。
84.步骤202-1,调度设备根据目标资源标识和预热资源信息,从k个边缘设备中选择出存储有目标资源的一个或多个备选边缘设备。
85.具体地,调度设备中记录有预热资源信息,预热资源信息中包括边缘设备的标识,和该边缘设备中预先存储的热点资源的标识。调度设备可以根据目标资源标识,从预热资源信息中确定出存储有目标资源的一个或多个备选边缘设备。
86.其中,预热资源信息是调度设备根据边缘设备中预先存储的热点资源确定的,而边缘设备中预先存储哪些热点资源是由调度设备指示的。
87.具体地,调度设备可先对k个边缘设备进行分组,得到k个设备组,其中,k为大于或等于2的整数。调度设备确定需要进行预热的资源(即热点资源),然后根据该热点资源的域名、资源大小(或称为数据量)等信息,确定将该热点资源预热至哪个设备组中。
88.如下,先解释说明调度设备对k个边缘设备进行分组:
89.调度设备可根据k个边缘设备的出流带宽和/或存储量等设备能力,将k个边缘设备分组得到k个设备组。其中,在一个设备组中包括多个边缘设备的情况下,该设备组内的多个边缘设备具有相同或相类似的出流带宽和/或存储量。本技术中,均以基于边缘设备的出流带宽和/或存储量为例说明。
90.示例性的,调度设备可将k个边缘设备划分为5个设备组,该5个设备组可分别表示为设备组1、设备组2、设备组3、设备组4和设备组5,具体可参见表1所示。
91.其中,设备组1中可包括低速光猫类、低速路由器类的边缘设备,这类边缘设备的出流带宽通常小于或等于50mbps,且存储量通常小于或等于25g。相应的,这类边缘设备可用于预先存储较小的热点资源(可称为小资源),比如预先存储小于100m的热点资源,并提供低速的下载服务,比如提供小于10mbps的下载服务。示例性的,设备组1中包括光猫1、光猫2、路由器1。本技术中,在存储量较小的边缘设备中预先存储数量较多的小资源,可延长边缘设备中存储小资源的存储时长,减少边缘设备更新热点资源的频率。
92.设备组2、设备组3、设备组4中边缘设备的说明,均可参见上述设备组1的说明。
93.此外,需要补充的是,设备组5又可称为是通用设备组,其中包括有idc设备类的边缘设备,这类边缘设备即部署于互联网数据中心的、专门用于存储热点资源的设备。这类边缘设备可用于提供各种大小的资源存储,以及各种速度的资源下载。
94.表1
[0095][0096]
需要指出的是,上述表1仅仅是示例性举例,调度设备可将k个边缘设备划分成其他数量的设备组,比如3个,7个,8个等。设备组对应的出流带宽的区间,以及存储量的区间也均是示例性说明,设备组对应的出流带宽的区间可以取其他值,比如设备组1对应的出流带宽设置为小于或等于70mbps,设备组2对应的出流带宽设置为大于70mbps,且小于或等于300mbps。或者上述多个设备组对应的出流带宽可以是不组成闭合区间,比如设备组1对应的出流带宽设置为小于或等于50mbps,设备组2对应的出流带宽设置为大于70mbps,且小于或等于300mbps。设备组对应的存储量的区间类似,不再赘述。
[0097]
如下示例性提供两种设备分组的方式:
[0098]
方式一,调度设备可将k个边缘设备中的idc设备类划分为一组。调度设备可接收用于设备分组的配置参数,该配置参数中包括预设出流带宽和预设存储量。调度设备可根据预设出流带宽和预设存储量,将剩余的边缘设备进行分组。
[0099]
仍可参见表1中例子,调度设备接收到的配置参数中包括两组参数,分别是预设出流带宽50mbps、预设存储量25g,以及预设出流带宽300mbps、预设存储量100g,调度设备根据该两组参数将剩余的边缘设备划分至设备组1、设备组2、设备组3和设备组4中。
[0100]
此外,调度设备还可以将新增的边缘设备配置到上述的某个设备组中,比如确定当前调度系统中新增一个边缘设备,这个边缘设备的出流带宽小于或等于50mbps,且存储量小于或等于25g,则可将该边缘设备划分至设备组1中。
[0101]
此外,调度设备若确定某个边缘设备的出流带宽对应的区间,与其存储量对应的区间之间存在矛盾,比如边缘设备的出流带宽小于或等于50mbps,而存储量大于25g,且小于或等于100g,调度设备可将出流带宽作为分组依据,将该边缘设备划分至设备组1中,或者调度设备还可将存储量作为分组依据,将该边缘设备划分至设备组2中,或者调度设备还可基于工作人员的指示,将该边缘设备划分至某个设备组中。
[0102]
方式二,调度设备可接收用于设备分组的配置参数,该配置参数中包括设备组的标识和该设备组的标识对应的边缘设备的标识。调度设备根据该配置参数,将k个边缘设备
划分至k个设备组中。
[0103]
结合表1中例子,该配置参数中包括设备组1的标识,以及光猫1的标识、光猫2的标识、路由器1的标识;设备组2的标识,以及光猫3的标识、光猫4的标识、路由器2的标识等。进一步的,调度设备根据配置参数中设备组标识和该设备组标识对应的边缘设备的标识,将k个边缘设备进行分组。
[0104]
此外,调度设备还可以将新增的边缘设备配置到上述的某个设备组中。示例性的,调度设备接收到某个新增边缘设备的指示,该指示中包括光猫5的标识、设备组1的标识,则调度设备可确定将该光猫5划分至设备组1中。
[0105]
进一步的,边缘设备中预先存储哪些热点资源,可由调度设备进行指示,具体可参见图3示例性示出的一种资源预热流程。
[0106]
步骤301,调度设备获取历史调度请求。
[0107]
其中,历史调度请求可以是上述步骤201之前,调度设备获取到的用户设备发送的调度请求,历史调度请求用于历史用户设备请求获取资源。此处,历史用户设备可与步骤201中用户设备为相同用户设备,也可以为不同用户设备。历史用户设备可以是一个或多个,其中一个历史用户设备发送的历史调度请求可以是一个或多个。
[0108]
历史调度请求中也可包括域名、数据量和资源标识,历史调度请求的具体说明可参见上述步骤201中调度请求的说明,此处不再赘述。
[0109]
示例性的,调度设备可获取当前预热周期中的多个历史调度请求,其中预热周期的时长可以是预先设定的,比如一天,两天,一周等。
[0110]
步骤302,调度设备根据历史调度请求中资源标识,统计得到i个资源,以及i个资源分别对应的访问频率,i为大于或等于1的正整数。
[0111]
举例来说,调度设备获取到100个历史调度请求,其中,30个历史调度请求中包括资源标识1,20个历史调度请求中包括资源标识2,50个历史调度请求中包括资源标识3,则调度设备可确定三个资源和三个资源分别对应资源的访问频率。其中,三个资源分别是资源标识1指示的资源1、资源标识2指示的资源2、资源标识3指示的资源3,资源1的访问频率是30次,资源2的访问频率是20次,资源3的访问频率是50次。
[0112]
步骤303,调度设备根据i个资源的访问频率,将i个资源由高到低进行排序,并从排序中选择前i个资源作为待预热的热点资源,i为大于或等于1且小于或等于i的整数。
[0113]
结合上述例子,调度设备可确定三个资源的排序为资源3、资源1、资源2,假设i=1,则调度设备可选择资源3作为待预热的热点资源。
[0114]
步骤304,调度设备根据i个热点资源,以及i个热点资源对应的访问频率,确定i个热点资源分别对应的待预热的边缘设备(可称为预热边缘设备)。
[0115]
具体地,针对一个热点资源解释说明:
[0116]
步骤304-1,调度设备根据热点资源,确定热点资源对应的热点系数。
[0117]
示例性的,调度设备中可预先设置有域名访问模型,调度设备可将热点资源的域名,输入至域名访问模型中,该域名访问模型输出该热点资源对应的热点系数。
[0118]
步骤304-2,调度设备根据热点资源对应的热点系数、访问频率,得到预热边缘设备的数量j,j为大于或等于1的正整数。
[0119]
示例性的,调度设备根据热点资源的访问频率确定热点资源的预热值,根据热点
资源的预热值和热点系数的乘积,得到预热边缘设备的数量j。
[0120]
步骤304-3,调度设备根据热点资源对应的数据量和域名,从k个设备组中选择出待预热的设备组(可称为预热边缘设备组)。
[0121]
其中,域名可对应于自己的下载速度,比如视频资源类域名的下载速度小于10mbps,安装包资源类域名的下载速度大于或等于10mbps。同一个域名可提供不同大小的热点资源的下载,比如提供小于100m的热点资源的下载,以及提供大于或等于100m的热点资源的下载。不同设备组的边缘设备中可预先存储有不同域名的不同大小的热点资源。
[0122]
示例性的,调度设备中配置有各设备组针对一个下载请求的下载速度区间和数据量区间,调度设备可根据某个域名的下载速度和该域名中的热点资源的数据量,将该域名中热点资源预热至对应的设备组中。
[0123]
结合表1中例子,比如设备组1对应的下载速度区间为小于10mbps,热点资源的数据量区间为小于100m,其中,域名a为视频资源类域名,域名a的下载速度小于10mbps,则域名a提供的小于100m的热点资源可存储于设备组1的边缘设备中。
[0124]
图4示例性示出不同域名中热点资源与不同设备组中边缘设备的映射关系:
[0125]
域名a为视频资源类域名,域名a的下载速度小于10mbps,域名a提供的小于100m的热点资源可存储于设备组1的边缘设备中,域名a提供的大于或等于100m的热点资源可存储于设备组3的边缘设备中。
[0126]
域名b为安装包资源类域名,域名b的下载速度大于或等于10mbps,域名b提供的小于100m的热点资源可存储于设备组2的边缘设备中,域名b提供的大于或等于100m的热点资源可存储于设备组4的边缘设备中。
[0127]
域名c中的热点资源可固定存储于设备组5的边缘设备中。
[0128]
本技术中,步骤304-3可在步骤304-1之前执行,也可以在步骤304-2之后执行。
[0129]
步骤304-4,调度设备从预热边缘设备组中选择j个预热边缘设备。
[0130]
示例性的,调度设备可以定周期监测边缘设备的心跳信息,其中,心跳信息中可包括边缘设备的剩余存储量等信息。
[0131]
调度设备在从预热边缘设备组中选择预热边缘设备时,可以根据边缘设备的心跳信息,从中选择出剩余存储量满足热点资源的数据量的边缘设备。
[0132]
步骤305,调度设备向i个热点资源对应的预热边缘设备,发送预热指示。
[0133]
相应的,i个热点资源对应的预热边缘设备,接收到调度设备发送给自己的预热指示,其中,预热指示可包括待预热的热点资源的标识、源服务器的地址等信息。对于其中一个预热边缘设备,该预热边缘设备可执行如下步骤306和步骤308。
[0134]
步骤306,预热边缘设备根据预热指示中热点资源的标识、源服务器的地址,从源服务器中请求下载热点资源。
[0135]
步骤307,预热边缘设备在下载完成热点资源之后,将热点资源的标识和自己设备的标识(即预热边缘设备的标识)的映射关系发送至调度设备。
[0136]
步骤308,调度设备保存该热点资源的标识和预热边缘设备的标识的映射关系。也即,将该映射关系更新至预热资源信息中。
[0137]
相应的,调度设备在接收到用户设备的、关于该热点资源的调度请求之后,可将调度请求调度至该预热边缘设备中。
[0138]
上述技术方案中,调度设备将不同的热点资源,预热至不同设备组的边缘设备中。具体地,将占用数据量较大的热点资源,预热至存储量较大的边缘设备中;将占用数据量较小的热点资源,预热至存储量较小的边缘设备中。如此,可在存储量较小的边缘设备中存储数量较多的小资源,且可延长边缘设备中存储小资源的存储时长,减少边缘设备更新热点资源的频率。进一步的,调度设备将下载速度要求较高的域名对应的热点资源,预热至出流带宽较大的边缘设备中,将下载速度要求较低的域名对应的热点资源,预热至出流带宽较小的边缘设备中,从而有助于实现精准调度。
[0139]
步骤202-2,根据目标域名对应的下载速度、目标数据量和至少一个备选边缘设备在各自调度周期中的可调度出流量,从至少一个备选边缘设备中确定出目标边缘设备。
[0140]
在一种可能方式中,调度设备可先确定各备选边缘设备在各自对应的调度周期中的可调度出流量,然后再结合目标域名对应的下载速度、目标数据量,从至少一个备选边缘设备中确定目标边缘设备。
[0141]
如下先解释说明调度设备确定各备选边缘设备在各自对应的调度周期中的可调度出流量的实现方式:
[0142]
预先说明的是,在k个边缘设备中,每个边缘设备对应于各自的调度周期,不同边缘设备对应的调度周期的时长可以相同或不同。边缘设备对应的调度周期的时长和出流带宽可共同指示该边缘设备在调度周期中的总出流量。
[0143]
示例性的,边缘设备的调度周期的时长表示为t,出流带宽表示为b,边缘设备在调度周期t中的总出流量可以是t
×
b。其中,调度周期的时长t的单位是可以ms或s,出流带宽b的单位可以是mbps,比如,图4中光猫1的出流带宽b为50mbps。
[0144]
在一种可能方式中,边缘设备的调度周期的时长与该边缘设备的出流带宽相关联。比如,服务器1的出流带宽大于光猫1的出流带宽,则服务器1的调度周期可小于光猫1的调度周期。也可以理解,通过设置调度周期的时长,来调整边缘设备在调度周期中的总出流量大小。示例性的,在边缘设备的出流带宽较小时,设置较长的调度周期;而在边缘设备的出流带宽较大时,设置较短的调度周期。
[0145]
进一步的,边缘设备的调度周期中可包括m个具有相同预设时长的子调度周期,其中预设时长可表示为t,边缘设备在任一个子调度周期的总出流量可基于预设时长t和该边缘设备的出流带宽b确定,示例性的,边缘设备在任一个子调度周期的总出流量等于t
×
b。
[0146]
调度设备可对边缘设备的一个调度周期中的总出流量进行调度,且可将调度周期中的一个子调度周期对应的出流量作为调度的最小调度粒度,从而有助于实现调度设备充分调度各边缘设备的出流量。
[0147]
具体地,调度设备可根据接收调度请求的接收时刻,从边缘设备的调度周期中确定当前子调度周期,其中,该接收时刻包含于当前子调度周期中。调度设备确定该当前子调度周期以及当前子调度周期之后的子调度周期均为剩余子调度周期,也即该边缘设备在对应调度周期中可用于调度的子调度周期。调度设备确定当前子调度周期对应的可调度出流量,以及当前子调度周期之后的子调度周期对应的可调度出流量均为该边缘设备在该调度周期中的可调度出流量。
[0148]
以任一个边缘设备为例说明,该边缘设备的调度周期的时长表示为t1,出流带宽表示为b1,其中,一个调度周期中包括m1个子调度周期,比如m1=5,则该边缘设备的一个子
调度周期的预设时长t1=t1/5。可将该边缘设备的当前调度周期表示为调度周期1。
[0149]
在调度周期1最开始,尚未存在有调度请求被调度至该边缘设备,则边缘设备中的总出流量(即初始出流量)为t1
×
b1。进一步的,调度设备可将总出流量t1
×
b1划分为5个子调度周期分别对应的出流量,可表示为[t1
×
b1,t1
×
b1,t1
×
b1,t1
×
b1,t1
×
b1]。在此情况中,边缘设备的剩余子调度周期即上述5个子调度周期,可调度出流量即5个子调度周期分别对应出流量。
[0150]
若调度设备接收到需要调度至该边缘设备的调度请求,调度设备可根据域名的下载速度和调度请求中的数据量,确定边缘设备在该调度周期1中向用户设备提供的出流量。
[0151]
其中,域名的下载速度可以是调度设备根据调度请求中域名获取到的。
[0152]
在一个示例中,调度设备中预先配置有多个域名和下载速度的对应关系,比如域名1和下载速度s1,域名2和下载速度s2,域名3和下载速度s3等。调度设备可根据调度请求中域名,从预配置信息中查找该域名的下载速度,比如调度请求中包括域名1,则可从预配置信息中查找到域名1对应的下载速度s1。
[0153]
又一个示例中,调度周期可基于历史调度情况,确定出域名的下载速度。如下针对于一个域名说明:
[0154]
调度设备可基于历史调度周期中,多个历史用户设备分别从该域名中下载资源的下载速度,确定该域名的下载速度。举例来说,在历史调度周期中有100个历史用户设备从该域名中下载资源。相应的,调度设备可获取该100个历史用户设备对应的100个下载速度,然后将该100个下载速度的平均值,作为该域名的下载速度。
[0155]
此处,历史用户设备可从该域名对应的多个边缘设备中下载资源,历史用户设备也可从该域名对应的源服务器中下载资源。
[0156]
为了更准确的得到边缘设备提供的该域名的下载速度,调度设备还可进一步基于历史调度周期中,多个历史用户设备从该边缘设备提供的域名中下载资源的下载速度,确定该域名的下载速度。
[0157]
举例来说,在历史调度周期中,有50个历史用户设备从该边缘设备提供的域名中下载资源。相应的,调度设备可从该边缘设备中获取50个历史用户设备对应的50个下载速度,将该50个下载速度的平均值,作为该边缘设备提供的域名的下载速度。
[0158]
上述例子中,调度设备可根据一个历史调度周期中多个历史用户设备的下载速度,确定域名的下载速度。调度设备还可根据多个历史调度周期中每个历史调度周期中多个历史用户设备的下载速度,确定域名的下载速度。
[0159]
上述仅是示例性说明调度设备获取域名的下载速度的方式,当然还可以有其他方式。比如,调度设备从边缘设备中获取历史用户设备的下载时长,并结合本地记录的历史用户设备的下载的数据量,确定出历史用户设备的下载速度,进而确定域名的下载速度。
[0160]
此外,还可以是边缘设备在本地确定历史用户设备在域名中下载资源的平均下载速度,将该平均下载速度上报至调度设备。
[0161]
进一步的,调度设备调度边缘设备在调度周期1中提供的出流量的方式如下:
[0162]
示例性的,在调度周期1的第1个子调度周期中,调度设备接收到需要调度至该边缘设备上的调度请求1,调度请求1中包括域名1和数据量l1,其中域名1的下载速度为s1。调度设备根据下载速度s1和数据量l1,确定用户设备的下载时长,即s1/l1。
[0163]
其中,下载时长可占用一个或多个子调度周期。举例来说,一个子调度周期的预设时长为1s,下载时长为2s,下载时长占用2个子调度周期;一个子调度周期的预设时长为2s,下载时长为4s,下载时长占用2个子调度周期;一个子调度周期的预设时长为2s,下载时长为3s,下载时长占用2个子调度周期。
[0164]
结合预设时长为2s,下载时长为3s说明:
[0165]
边缘设备的初始出流量为[2s
×
b1,2s
×
b1,2s
×
b1,2s
×
b1,2s
×
b1]。调度设备确定出调度请求1占用调度周期1中的第1个子调度周期和第2个子调度周期,且在第1个子调度周期中占用出流量2s
×
s1,在第2个子调度周期中占用出流量1s
×
s1。调度设备在确定将调度请求1调度至该边缘设备之后,更新边缘设备在调度周期1中的可调度出流量,其中,剩余子调度周期为第1子调度周期至第5子调度周期,第1子调度周期至第5子调度周期分别对应的可调度出流量为[2s
×
b1-2s
×
s1,2s
×
b1-1s
×
s1,2s
×
b1,2s
×
b1,2s
×
b1]。
[0166]
当然,在调度周期1的其他子调度周期中,调度设备也可接收到需要调度至该边缘设备上的调度请求。调度设备确定用户设备的下载时长,进而确定下载时长占用的子调度周期,以及在子调度周期中占用的出流量。此处,调度设备在确定下载时长占用的子调度周期时,需要根据接收该调度请求的当前子调度周期来确定。
[0167]
仍以上述例子解释,调度设备在第2个子调度周期中接收调度请求2,调度请求2中包括域名2和数据量l2,其中域名2的下载速度为s2。调度设备可根据当前子调度周期(即第2个子调度周期),确定剩余子调度周期是第2个子调度周期至第5个子调度周期,且第2个子调度周期至第5个子调度周期分别对应的可调度出流量为[2s
×
b1-1s
×
s1,2s
×
b1,2s
×
b1,2s
×
b1]。进一步的,调度设备依次确定下载时长、下载时长在多个剩余子调度周期中的占用子调度周期,以及在占用子调度周期中所占用的出流量。比如下载时长为5s,下载时长占用第2个子调度周期至第4个子调度周期,且在第2个子调度周期中占用出流量2s
×
s2,在第3个子调度周期中占用出流量2s
×
s2,在第4个子调度周期中占用出流量1s
×
s2。
[0168]
调度设备在确定将调度请求2调度至边缘设备之后,更新边缘设备在调度周期1中的可调度出流量,其中,剩余子调度周期是第2个子调度周期至第5个子调度周期,第2个子调度周期至第5个子调度周期分别对应的可调度出流量为[2s
×
b1-1s
×
s1-2s
×
s2,2s
×
b1-2s
×
s2,2s
×
b1-1s
×
s2,2s
×
b1]。
[0169]
上述技术方案中,调度设备在对一个边缘设备中出流量进行调度时,可先调度该边缘设备中对应的多个剩余子调度周期中、最前面的剩余子调度周期的可调度出流量,从而有助于保障边缘设备在各自调度周期中的出流量的有序调度。
[0170]
此外,调度设备还可确定边缘设备在调度周期1中的可调度出流量,不能满足用户设备请求的数据量。在该情况中,调度设备可确定调度周期2的预留调度出流量,并将该预留调度出流量在调度周期2中进行预先调度。其中,调度周期2是该边缘设备对应的调度周期1的下一个调度周期。
[0171]
如下提供两种可能的实现方式:
[0172]
实现方式1,调度设备确定边缘设备在调度周期1中向用户设备提供的出流量,并将用户设备请求的数据量与该出流量的差值,作为该调度周期2的预留调度出流量。
[0173]
举例来说,边缘设备在调度周期1中的剩余子调度周期为第4个子调度周期和第5个子调度周期,对应的可调度出流量是[2s
×
b1-1s
×
s2,2s
×
b1]。在调度周期1的第4个子
调度周期中,调度设备接收到调度请求3,调度请求3中包括域名3和数据量l3,其中域名3的下载速度为s3。假设调度设备确定用户设备的下载时长为5s,即下载时长占用3个子调度周期。调度设备确定该调度请求3在第4个子调度周期中占用出流量2s
×
s3,在第5个子调度周期中占用的出流量2s
×
s3,以及在调度周期2中的预留调度出流量为l3-2s
×
s3-2s
×
s3(如下可表示c1)。本技术中,还可将预留调度出流量c1称为是调度请求3对应的预留调度出流量c1。
[0174]
在调度周期2中,边缘设备的初始出流量仍为[t1
×
b1,t1
×
b1,t1
×
b1,t1
×
b1,t1
×
b1]。在一个示例性中,调度设备可将该预留调度出流量c1调度至第1个子调度周期中,即得到可调度出流量[t1
×
b1-c1,t1
×
b1,t1
×
b1,t1
×
b1,t1
×
b1]。当然,在预留调度出流量c1大于第1个子调度周期的t1
×
b1时,边缘设备还可根据预留调度出流量c1和第1个子调度周期的t1
×
b1,在第2个子调度周期中预先调度,以此类推,直至调度设备将预留调度出流量c1在边缘设备的调度周期2中预先调度完成。
[0175]
在另一个示例性中,调度设备还可将预留调度出流量平均分配至调度周期2的5个子调度周期中,每个子调度周期中占用的出流量为c1/5,相应的,可调度出流量为[t1
×
b1-c1/5,t1
×
b1-c1/5,t1
×
b1-c1/5,t1
×
b1-c1/5,t1
×
b1-c1/5]。该方式相比于上一种方式,调度设备可将预留调度出流量均匀分配至边缘设备在调度周期2的各个子调度周期中,有助于调度设备较均衡地调度边缘设备在调度周期2中的出流量。进一步的,在边缘设备的调度周期2的多个子调度周期中均剩余有出流量,从而调度设备可将在各个子调度周期中接收到的调度请求调度给该边缘设备。
[0176]
需要指出的是,调度设备虽然为边缘设备调度出流量,或者说,调度设备虽然为边缘设备规划了向用户设备提供的出流量,但是由于边缘设备的数量非常庞大,且类型多种多样,调度设备并不会把上述调度信息(或调度指示)发送给边缘设备,而是在本地做预估。如此,调度设备在本地做的预估与边缘设备实际向用户设备提供的出流量之间存在一定的误差,为了进一步提高调度准确性,本技术提供如下实现方式2。
[0177]
实现方式2,边缘设备根据其向用户设备提供的实际出流量,以及调度请求中数据量,确定调度周期2的预留调度出流量,将该调度周期2的预留调度出流量上报至调度设备。
[0178]
示例性的,在调度周期1中,调度设备将调度请求4调度至边缘设备,即用户设备可向边缘设备发送调度请求4(可参见下述步骤206和步骤207中描述)。
[0179]
相应的,边缘设备响应于调度请求4,向用户设备提供下载服务,其中边缘设备在调度周期1中向用户设备提供的实际出流量(或者理解为实际下载数据量)小于调度请求4中的数据量。边缘设备可根据其在调度周期1中向用户设备提供的实际出流量,以及调度请求4中的数据量,确定调度周期2的预留调度出流量(可表示为c2)。边缘设备在调度周期2开始时刻,向调度设备发送预留调度出流量c2。其中预留调度出流量c2还可称为是调度请求4对应的预留调度出流量c2。
[0180]
调度设备接收来自边缘设备的预留调度出流量c2,并将预留调度出流量c2预先调度至边缘设备的调度周期2中,调度方式可参见上述两个示例中的描述。
[0181]
需要补充的是,在上述调度周期1中,边缘设备的初始出流量为[t1
×
b1,t1
×
b1,t1
×
b1,t1
×
b1,t1
×
b1]。调度设备可将调度周期0的预留调度出流量,预先在调度周期1中调度,其中调度周期0是该边缘设备对应的调度周期1的上一个调度周期。
[0182]
示例性的,调度设备将调度周期0的预留调度出流量(如下可表示为c0),平均分配给调度周期1的5个子调度周期中,进而得到可调度出流量为[t1
×
b1-c0/5,t1
×
b1-c0/5,t1
×
b1-c0/5,t1
×
b1-c0/5,t1
×
b1-c0/5]。随后,调度设备基于预调度之后的剩余子调度周期和剩余流量,为该边缘设备调度出流量,调度方式具体可参见上述实施例中描述。
[0183]
还需要补充的是,上述仅以一个调度周期中的剩余子调度周期和剩余出流量,不能满足一个调度请求为例说明。在本技术中,还可以是一个调度周期中的剩余子调度周期和剩余出流量,不能满足多个调度请求。比如上述调度周期1中,调度设备将调度请求a、调度请求b、调度请求c均调度至边缘设备,但是边缘设备在调度周期1中的剩余子调度周期和剩余出流量,不能满足上述调度请求a、调度请求b、调度请求c,也即调度请求a、调度请求b、调度请求c均对应各自的预留调度出流量。
[0184]
结合上述实现方式1,调度设备可基于调度请求a、调度请求b、调度请求c分别对应的预留调度出流量,确定总的预留调度出流量。调度设备将该总的预留调度出流量作为调度周期2的预留调度出流量。
[0185]
结合上述实现方式2,边缘设备可基于调度请求a、调度请求b、调度请求c分别对应的预留调度出流量,确定总的预留调度出流量。边缘设备将该总的预留调度出流量上报至调度设备,相应的,调度设备将该边缘设备上报的预留调度出流量,作为调度周期2的预留调度出流量。
[0186]
此外,还可能存在如下情况:调度设备认为某个调度请求(比如调度请求d)在调度周期1中已完成调度,而在边缘设备的实际出流中,该调度请求d并未完成。在该情况中,边缘设备还可结合调度请求d对应的预留调度出流量,确定总的预留调度出流量,并上报至调度设备中,以使得调度设备对该边缘设备在调度周期2中的出流量进行预调度。
[0187]
如下,结合具体例子说明调度设备如何规划该边缘设备的出流量。
[0188]
应理解,可调度出流量均对应于各自的剩余子调度周期。比如,上述调度周期1中,可调度出流量[2s
×
b1-1s
×
s1,2s
×
b1,2s
×
b1,2s
×
b1]分别对应于第2个子调度周期至第5个子调度周期;可调度出流量[2s
×
b1-1s
×
s2,2s
×
b1]分别对应于第4个子调度周期和第5个子调度周期。如下为方便描述,均以可调度出流量说明。
[0189]
例子1,边缘设备是图4中的光猫3,光猫3的调度周期为5s,光猫3的出流带宽为100mbps,即光猫3在一个调度周期中的总出流量是500mb。调度周期中包括5个子调度周期,即每个子调度周期为1s,调度设备可将总出流量500mb划分为5个数组,即[100mb,100mb,100mb,100mb,100mb]。进一步的,如下为方便描述,以用户设备请求同一个域名b为例说明,该域名b的下载速度比如是10mbps。
[0190]
调度设备调度光猫3的出流量,可参见图5所示:
[0191]
在一个调度周期(可表示为调度周期a)开始时,光猫3向调度设备上报调度周期a的预留调度出流量,比如是100mb。调度设备将预留调度出流量100mb分配至5个子调度周期中,确定光猫3在调度周期a的剩余流量为[80mb,80mb,80mb,80mb,80mb]。
[0192]
在调度周期a的第1个子调度周期中:
[0193]
调度设备接收调度请求a11,该调度请求a11中包括域名b和数据量40mb。调度设备确定当前子调度周期为第1个子调度周期,确定剩余流量是[80mb,80mb,80mb,80mb,80mb]。调度设备确定将调度请求a11调度至光猫3,其中下载时长为4s,调度之后的剩余流量为
[70mb,70mb,70mb,70mb,80mb]。
[0194]
调度设备接收调度请求a12,该调度请求a12中包括域名b和数据量40mb。调度设备确定当前子调度周期为第1个子调度周期,确定剩余流量是[70mb,70mb,70mb,70mb,80mb]。调度设备确定将调度请求a12调度至边缘设备,其中下载时长为4s,调度之后的剩余流量为[60mb,60mb,60mb,60mb,80mb]。
[0195]
以此类推,直至调度设备将第1个子调度周期对应的可调度出流量调度完,或者在第1个子调度周期中未接收到更多的需要调度至该边缘设备的调度请求。示例性的,在第1个子调度周期结束时,第1个子调度周期对应的可调度出流量还有10mb,调度周期a中剩余流量为[10mb,30mb,40mb,50mb,70mb]。
[0196]
在调度周期a的第2s(即第2个子调度周期)中:
[0197]
调度设备接收调度请求a21,该调度请求a21中包括域名b和数据量40mb。调度设备确定当前子调度周期为第2个子调度周期,确定剩余流量是[30mb,40mb,50mb,70mb]。调度设备确定将调度请求a21调度至边缘设备,其中下载时长为4s,调度之后的剩余流量为[20mb,30mb,40mb,60mb]。
[0198]
以此类推,直至调度设备将第2个子调度周期对应的可调度出流量调度完,或者在第2个子调度周期中未接收到更多的需要调度至该边缘设备的调度请求。在第2个子调度周期结束时,第2个子调度周期对应的可调度出流量还有10mb,调度周期a中剩余流量为[10mb,10mb,30mb,40mb]。
[0199]
此外,还可能存在调度周期a中可调度出流量不能满足用户设备的调度请求的情况,比如在调度周期a的第3个子调度周期中:
[0200]
调度设备接收调度请求a31,该调度请求a31中包括域名b和数据量40mb。调度设备确定当前子调度周期为第3个子调度周期,确定剩余流量是[10mb,30mb,40mb]。调度设备确定将调度请求a31调度至边缘设备,其中下载时长为4s,调度之后的剩余流量为[0mb,20mb,30mb]。此处,调度周期a中剩余流量不能满足调度请求a31,在调度周期a的下一个调度周期的开始时刻,调度设备接收光猫3上报的预留调度出流量。
[0201]
例子2,边缘设备是图4中的光猫1,光猫1的调度周期为10s,光猫1的出流带宽为50mbps,即光猫1在一个调度周期中的总出流量是500mb。调度周期中包括5个子调度周期,即每个子调度周期为2s,调度设备可将总出流量500mb划分为5个数组,即[100mb,100mb,100mb,100mb,100mb]。进一步的,如下为方便描述,以用户设备请求同一个域名a为例说明,该域名a的下载速度比如是5mbps。
[0202]
调度设备调度光猫1的出流量,可参见图6所示:
[0203]
在一个调度周期(可表示为调度周期b)开始时,光猫1向调度设备上报调度周期b的预留调度出流量,比如是100mb。调度设备将预留调度出流量100mb分配至5个子调度周期中,确定光猫1在调度周期b的剩余流量为[80mb,80mb,80mb,80mb,80mb]。
[0204]
在调度周期b的第1个子调度周期中:
[0205]
调度设备接收调度请求b11,该调度请求b11中包括域名a和数据量20mb。调度设备确定当前子调度周期为第1个子调度周期,确定剩余流量是[80mb,80mb,80mb,80mb,80mb]。调度设备确定将调度请求b11调度至边缘设备,其中下载时长为4s,占用第1个子调度周期和第2个子调度周期,调度之后的剩余流量为[70mb,70mb,80mb,80mb,80mb]。
[0206]
调度设备接收调度请求b12,该调度请求b12中包括域名a和数据量25mb。调度设备确定当前子调度周期为第1个子调度周期,确定剩余流量是[70mb,70mb,80mb,80mb,80mb]。调度设备确定将调度请求b12调度至边缘设备,其中下载时长为5s,占用第1个子调度周期至第3个子调度周期,调度之后的剩余流量为[60mb,60mb,75mb,80mb,80mb]。
[0207]
以此类推,直至调度设备将第1个子调度周期对应的可调度出流量调度完,或者在第1个子调度周期中未接收到更多的需要调度至该边缘设备的调度请求。示例性的,在第1个子调度周期结束时,第1个子调度周期对应的可调度出流量还有10mb,调度周期b中剩余流量为[10mb,30mb,40mb,50mb,70mb]。
[0208]
在调度周期b的第2个子调度周期中:
[0209]
调度设备接收调度请求b21,该调度请求b21中包括域名a和数据量20mb。调度设备确定当前子调度周期为第2个子调度周期,确定剩余流量是[30mb,40mb,50mb,70mb]。调度设备确定将调度请求b21调度至边缘设备,其中下载时长为4s,占用第2个子调度周期和第3个子调度周期,调度之后的剩余流量为[20mb,30mb,50mb,70mb]。
[0210]
以此类推,直至调度设备将第2个子调度周期对应的可调度出流量调度完,或者在第2个子调度周期中未接收到更多的需要调度至该边缘设备的调度请求。在第2个子调度周期结束时,第2个子调度周期对应的可调度出流量还有10mb,调度周期b中剩余流量为[10mb,10mb,30mb,40mb]。
[0211]
此外,还可能存在调度周期b中剩余流量不能满足用户设备的调度请求的情况,比如在调度周期b的第3个子调度周期中:
[0212]
调度设备接收调度请求b31,该调度请求b31中包括域名a和数据量35mb。调度设备确定当前子调度周期为第3个子调度周期,确定剩余流量是[10mb,30mb,40mb]。调度设备确定将调度请求b31调度至边缘设备,其中下载时长为7s,占用第3个子调度周期至第5个子调度周期,调度之后的剩余流量为[0mb,20mb,30mb]。
[0213]
此处,调度周期b中剩余流量不能满足调度请求b31,在调度周期b的下一个调度周期的开始时刻,调度设备接收光猫1上报的预留调度出流量。
[0214]
上述详细描述了调度设备将调度请求调度给该边缘设备之后,调度设备更新该边缘设备在当前调度周期中的剩余子调度周期和可调度出流量。
[0215]
相应的,针对于任一个备选边缘设备(可称为第一备选边缘设备),该第一备选边缘设备的调度周期中包括m个具有相同预设时长的子调度周期,调度设备可确定该第一备选边缘设备在其当前调度周期中的剩余子调度周期和可调度出流量。
[0216]
具体地,调度设备根据其接收到的用户设备的调度请求的接收时刻,从第一备选边缘设备的当前调度周期包括的m个子调度周期中,确定调度请求对应的当前子调度周期。调度设备将m个子调度周期中,当前子调度周期和当前子调度周期之后的m个子调度周期,作为第一备选边缘设备在当前调度周期中的m+1个剩余子调度周期。调度设备将当前子调度周期的可调度出流量,以及m个子调度周期的可调度出流量组成第一备选边缘设备在当前调度周期中的可调度出流量。
[0217]
其中,m+1个剩余子调度周期中,任一个剩余子调度周期的可调度出流量大于或等于该剩余子调度周期之前剩余子调度周期的可调度出流量,m为大于或等于1,且小于或等于m-1的整数。比如上述调度周期1的可调度出流量的例子中,第1个子调度周期至第5个子
调度周期分别对应于[10mb,30mb,40mb,50mb,70mb],其中,任一个子调度周期的可调度出流量,大于或等于其前面的子调度周期的可调度出流量,比如70mb大于50mb,70mb大于40mb,40mb大于30mb等等。
[0218]
进一步的,调度设备可根据至少一个备选边缘设备分别在各自对应的调度周期中的可调度出流量,以及目标域名对应的下载速度、目标数据量,从至少一个备选边缘设备中确定目标边缘设备。此处,调度设备在对调度请求进行调度时,考虑备选边缘设备的可调度出流量,有助于选择出与该调度请求更为匹配的目标边缘设备。
[0219]
示例性的,调度设备可根据多个备选边缘设备分别在各自对应的调度周期中当前子调度周期对应的可调度出流量,和目标域名对应的下载速度,从多个备选边缘设备中选择出当前子调度周期的可调度出流量可满足目标域名对应的下载速度的备选边缘设备,以作为目标边缘设备。比如,选择出的目标边缘设备在当前子调度周期中的可调度出流量,大于目标域名对应的下载速度与当前子调度周期的时长的乘积。
[0220]
又或者,调度设备从上述多个备选边缘设备中先选择出当前子调度周期的可调度出流量满足目标域名对应的下载速度的备选边缘设备,然后再根据选择出的这些备选边缘设备分别在各自对应调度周期中总的可调度出流量,并结合目标数据量,从多个备选边缘设备中选择出可满足目标数据量的备选边缘设备,作为目标边缘设备。可选的,在调度设备未选择出可满足目标数据量的备选边缘设备的情况下,调度设备可从这些备选边缘设备中选择可调度出流量比较大的备选边缘设备,作为目标边缘设备。
[0221]
此外,调度设备还可结合用户设备、备选边缘设备的所属区域和/或所属运营商确定目标边缘设备。示例性的,调度设备从预热资源信息中确定出多个存储有该目标资源的备选边缘设备之后,可进一步执行如下步骤a至步骤c:
[0222]
步骤a,调度设备根据用户设备的标识,查找数据库得到用户设备的所属区域和运营商。其中,用户设备的标识可以是调度请求中的字段,用户设备的标识比如ip地址。数据库可以是ip库。
[0223]
步骤b,调度设备根据数据库中记载的备选边缘设备的所属区域和运营商,确定出与用户设备同属于相同区域和相同运营商的备选边缘设备。
[0224]
步骤c,调度设备再确定这些备选边缘设备中,各备选边缘设备在各自调度周期中剩余子调度周期,以及剩余子调度周期对应的可调度出流量,并从中选择出目标边缘设备。
[0225]
示例性的,数据库中预先存储有用户设备的标识、所属区域和运营商的对应关系,调度设备根据用户设备的标识,查找数据库,确定用户设备的所属区域为a1省,所属运营商为b1运营商。数据库中还预先存储有各备选边缘设备的标识以及各备选边缘设备的所属区域和运营商的信息。结合图4中例子,数据库中存储有光猫1的标识、a1省、b1运营商的映射关系,光猫2的标识、a1省、b1运营商的映射关系,路由器1的标识、a1省、b2运营商的映射关系等。调度设备可在确定光猫1、光猫2和路由器1中均存储有目标资源的情况下,根据光猫1、光猫2和路由器1分别对应的映射关系,以及用户设备的所属的a1省和b1运营商,确定出光猫1和光猫2。随后,调度设备再根据光猫1在光猫1的调度周期中的可调度出流量,以及光猫2在光猫2的调度周期中的可调度出流量,从光猫1和光猫2中选择出目标边缘设备。
[0226]
上述技术方案中,调度设备从多个备选边缘设备中选择出与用户设备属于相同区域和相同运营商的备选边缘设备,进而从这些备选边缘设备中选择出目标边缘设备,如此,
调度设备确定的目标边缘设备与用户设备属于相同区域和相同运营商,有助于用户设备更好的向目标边缘设备请求下载。
[0227]
进一步的,数据库中设置的区域还可以是更细粒度,比如市或县,从而实现用户设备的就近下载,进一步提高内容分发网络中的网络加速效果。
[0228]
调度设备还可以根据用户设备的标识,查找数据库得到用户设备的所属区域,然后选择与用户设备属于相同区域的目标边缘设备;又或者,调度设备还可以根据用户设备的标识,查找数据库得到用户设备的所属运营商,然后选择与用户设备属于相同运营商的目标边缘设备,具体可参见上述实施例中描述。
[0229]
此外,调度设备若在预热资源信息中未确定出存储有目标资源的目标边缘设备,则可向用户设备指示其向源服务器请求下载该目标资源。
[0230]
步骤203,调度设备根据目标域名对应的下载速度、目标数据量,和目标边缘设备在当前调度周期中的可调度出流量,确定目标边缘设备在当前调度周期中的目标出流量。
[0231]
其中,当前调度周期是目标边缘设备当前所处的调度周期。该当前调度周期中包括调度设备接收用户设备的调度请求的接收时刻。
[0232]
调度设备在确定出目标边缘设备在当前调度周期中的可调度出流量之后,可根据调度请求确定目标边缘设备在当前调度周期中的目标出流量,具体可参见图7所示。
[0233]
步骤701,调度设备根据调度请求中的目标域名,获取目标下载速度。
[0234]
其中,目标下载速度是目标域名对应的下载速度。其中,获取方式可参见上述实施例中关于调度设备确定域名的下载速度的方式。
[0235]
步骤702,调度设备根据目标数据量和目标下载速度,得到目标下载时长。
[0236]
其中,目标下载时长是调度设备确定的用户设备从目标边缘设备中请求下载目标资源所需的下载时长。示例性的,目标下载时长可以是目标数据量与目标下载速度的比值。
[0237]
步骤703,调度设备根据接收时刻、目标下载时长和目标边缘设备在当前调度周期中的多个剩余子调度周期,确定目标数据量在当前调度周期中占用的n个目标子调度周期,以及在n个目标子调度周期中的占用时长,其中n为大于或等于1。
[0238]
步骤704,调度设备根据n个目标子调度周期中的占用时长和目标下载速度,确定n个目标子调度周期中的目标出流量。
[0239]
上述步骤701至步骤704中未详尽描述的实现方式,均可参见上述步骤202中调度设备调度边缘设备在调度周期1中出流的实现方式,此处不再赘述。
[0240]
步骤204,调度设备根据目标边缘设备在当前调度周期中的目标出流量,更新目标边缘设备在当前调度周期中的可调度出流量。
[0241]
该实现方式,也可参见上述步骤202中调度设备调度边缘设备在调度周期1中出流的实现方式,此处不再赘述。
[0242]
步骤205,调度设备向用户设备发送调度响应。
[0243]
其中,调度响应中包括目标边缘设备的标识,比如目标边缘设备的ip地址。
[0244]
调度响应用于指示用户设备向目标边缘设备发送下载请求,从而用户设备可向目标边缘设备请求下载目标资源。
[0245]
步骤206,用户设备向目标边缘设备发送下载请求。
[0246]
具体地,用户设备根据调度响应中目标边缘设备的标识,向目标边缘设备发送下
载请求,该下载请求即用于向目标边缘设备请求下载目标域名对应的目标资源。
[0247]
一个可能的示例中,用户设备可先向cdn设备发送调度请求,cdn设备将该调度请求发送至调度设备。调度设备确定目标边缘设备,向cdn设备发送调度响应,该调度响应中包括目标边缘设备的标识。cdn设备根据调度响应中目标边缘设备的标识,生成重定向请求,该重定向请求可用于指示用户设备将调度请求重定向至目标边缘设备中。用户设备接收该重定向请求,根据重定向请求中的目标边缘设备的标识,向目标边缘设备发送调度请求,也即下载请求。重定向请求具体可以是302请求。
[0248]
步骤207,用户设备从目标边缘设备中下载目标资源。
[0249]
目标边缘设备在当前调度周期中向用户设备提供的实际出流量,可能存在小于目标数据量的情况,相应的,上述方法还包括:
[0250]
步骤208,目标边缘设备根据目标边缘设备在当前调度周期中向用户设备提供的实际出流量、目标数据量,确定下一个调度周期的预留调度出流量。
[0251]
其中,下一个调度周期是目标边缘设备对应的当前调度周期的下一个调度周期。其中,预留调度出流量可以是目标数据量与实际出流量的差值。本步骤的实现方式可参见步骤202中调度设备调度边缘设备在调度周期1中出流的实现方式。
[0252]
步骤209,目标边缘设备向调度设备发送预留调度出流量。
[0253]
其中,预留调度出流量可用于向调度设备指示:目标边缘设备在目标边缘设备的当前调度周期内向用户设备提供的实际出流量小于目标数据量。
[0254]
具体地,目标边缘设备可在当前调度周期的结束时刻,或者在下一个调度周期的开始时刻,向调度设备发送预留调度出流量。此处,该预留调度出流量由目标边缘设备进行上报,可提高调度设备对目标边缘设备中出流量进行预调度的准确性。
[0255]
步骤210,调度设备根据预留调度出流量,对目标边缘设备的下一调度周期中的出流量进行预先调度。
[0256]
调度设备可将预留调度出流量预先分配到目标边缘设备的下一个调度周期中。
[0257]
一个示例中,调度设备可将预留调度出流量,平均分配至下一个调度周期中,相应的,预调度子调度周期即为下一个调度周期中的全部子调度周期。
[0258]
又一个示例中,调度设备可将下一个调度周期的预留调度出流量,划分至下一个调度周期的前一个或多个子调度周期中,相应的,预调度子调度周期即为下一个调度周期中的部分子调度周期。
[0259]
此外,在当前调度周期的结束时刻,目标边缘设备还可向调度设备上报其在当前调度周期中的实际总出流量。相应的,调度设备基于该实际总出流量,和调度设备调度的目标边缘设备的总出流量,确定在下一个调度周期中是否适应性调节目标边缘设备的调度策略。
[0260]
基于上述内容和相同构思,图8和图9为本技术的提供的可能的装置的结构示意图。这些装置可以用于实现上述方法实施例中调度设备的功能,因此也能实现上述方法实施例所具备的有益效果。在本技术中,该装置可以是如图1所示的调度设备,还可以是应用于调度设备中的模块(如芯片)。
[0261]
如图8所示,该装置800包括处理模块801和收发模块802。
[0262]
在一种可能的实现方式中,装置包括:收发模块802,用于接收用户设备的调度请
求,调度请求包括域名、数据量和资源标识,其中,数据量用于指示用户设备需要基于域名下载的资源的数据大小;处理模块801,用于根据资源标识、域名对应的下载速度、数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从至少一个边缘设备中确定目标边缘设备,目标边缘设备存储有资源,多个边缘设备包括至少一个边缘设备;收发模块802,还用于向用户设备发送调度响应,调度响应指示目标边缘设备,以使用户设备从目标边缘设备中请求下载资源。
[0263]
在一种可能的实现方式中,处理模块801具体用于:根据资源标识,从多个边缘设备中确定出多个备选边缘设备,每一备选边缘设备均存储有资源;根据域名对应的下载速度、数据量和至少一个备选边缘设备在各自调度周期中的可调度出流量,从至少一个备选边缘设备中确定出目标边缘设备。
[0264]
在一种可能的实现方式中,处理模块801还用于:根据第一备选边缘设备在当前调度周期内的当前子调度周期中的可调度出流量,和当前调度周期中当前子调度周期之后的所有子调度周期的可调度出流量,确定第一备选边缘设备在当前调度周期中的可调度出流量;其中,当前调度周期是第一备选边缘设备对应的调度周期,当前调度周期包括多个子调度周期,当前子调度周期包括接收调度请求的时刻;至少一个备选边缘设备包括第一备选边缘设备。
[0265]
在一种可能的实现方式中,处理模块801还用于:根据域名对应的下载速度和数据量,确定资源的下载时长;根据资源的下载时长和域名对应的下载速度,更新目标边缘设备在目标边缘设备的调度周期中的可调度出流量。
[0266]
在一种可能的实现方式中,收发模块802还用于:接收目标边缘设备上报的预留调度出流量,预留调度出流量指示目标边缘设备在目标边缘设备的调度周期内向用户设备的实际出流量小于数据量;处理模块801还用于:根据预留调度出流量,对目标边缘设备的下一调度周期中的出流量进行调度。
[0267]
在一种可能的实现方式中,处理模块801还用于:根据历史调度周期中域名的历史下载速度,计算域名的历史平均下载速度;将历史平均下载速度作为域名的下载速度。
[0268]
在一种可能的实现方式中,处理模块801具体用于:根据资源标识和预热资源信息,从多个边缘设备中确定出存储有资源的多个备选边缘设备;其中,预热资源信息包括边缘设备的标识与边缘设备中存储资源的标识的映射关系。
[0269]
在一种可能的实现方式中,多个边缘设备至少包括光猫、路由器、互联网数据中心idc设备和服务器的一个或多个。
[0270]
如图9所示为本技术实施例提供的装置900,图9所示的装置可以为图8所示的装置的一种硬件电路的实现方式。该装置可适用于前面所示出的流程图中,执行上述方法实施例中调度设备的功能。
[0271]
为了便于说明,图9仅示出了该装置的主要部件。
[0272]
图9所示的装置900包括通信接口910、处理器920和存储器930,其中存储器930用于存储程序指令和/或数据。处理器920可能和存储器930协同操作。处理器920可能执行存储器930中存储的程序指令。存储器930中存储的指令或程序被执行时,该处理器920用于执行上述实施例中处理模块801执行的操作,通信接口910用于执行上述实施例中收发模块802执行的操作。
[0273]
存储器930和处理器920耦合。本技术实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。所述存储器930中的至少一个可以包括于处理器920中。
[0274]
在本技术实施例中,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。在本技术实施例中,通信接口为收发器时,收发器可以包括独立的接收器、独立的发射器;也可以集成收发功能的收发器、或者是通信接口。
[0275]
装置900还可以包括通信线路940。其中,通信接口910、处理器920以及存储器930可以通过通信线路940相互连接;通信线路940可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述通信线路940可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0276]
基于上述内容和相同构思,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备执行时,执行上述方法实施例中的方法。
[0277]
基于上述内容和相同构思,本技术提供一种计算机程序产品,计算机程序产品包括计算机程序或指令,当计算机程序或指令被计算设备执行时,执行上述方法实施例中的方法。
[0278]
基于上述内容和相同构思,本技术提供一种计算设备,包括处理器,处理器与存储器相连,存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,以实现上述方法实施例中的方法。
[0279]
基于上述内容和相同构思,本技术提供一种芯片,包括至少一个处理器和接口;接口,用于为至少一个处理器提供程序指令或者数据;至少一个处理器用于执行程序行指令,以实现上述方法实施例中的方法。
[0280]
基于上述内容和相同构思,本技术提供一种基于调度系统,该调度系统中包括上述方法实施例中的调度设备,和上述方法实施例中的边缘设备。
[0281]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。在本技术的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本技术的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
[0282]
可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
[0283]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的保护范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种调度方法,其特征在于,应用于调度设备,所述调度设备用于对多个边缘设备进行调度,所述方法包括:接收用户设备的调度请求,所述调度请求包括域名、数据量和资源标识,其中,所述数据量用于指示所述用户设备需要基于所述域名下载的资源的数据大小;根据所述资源标识、所述域名对应的下载速度、所述数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从所述至少一个边缘设备中确定出目标边缘设备,所述目标边缘设备存储有所述资源,所述多个边缘设备包括所述至少一个边缘设备;向所述用户设备发送调度响应,所述调度响应指示所述目标边缘设备,以使所述用户设备从所述目标边缘设备中请求下载所述资源。2.如权利要求1所述的方法,其特征在于,所述根据所述资源标识、所述域名对应的下载速度、所述数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从所述至少一个边缘设备中确定出目标边缘设备,包括:根据所述资源标识,从所述多个边缘设备中确定出多个备选边缘设备,每一备选边缘设备均存储有所述资源;根据所述域名对应的下载速度、所述数据量和至少一个备选边缘设备在各自调度周期中的可调度出流量,从所述至少一个备选边缘设备中确定出所述目标边缘设备。3.如权利要求2所述的方法,其特征在于,所述根据所述域名对应的下载速度、所述数据量和至少一个备选边缘设备在各自调度周期中的可调度出流量,从所述至少一个备选边缘设备中确定出所述目标边缘设备之前,还包括:根据第一备选边缘设备在当前调度周期内的当前子调度周期中的可调度出流量,和所述当前调度周期中所述当前子调度周期之后的所有子调度周期的可调度出流量,确定所述第一备选边缘设备在所述当前调度周期中的可调度出流量;其中,所述当前调度周期是所述第一备选边缘设备对应的调度周期,所述当前调度周期包括多个子调度周期,所述当前子调度周期包括接收所述调度请求的时刻;所述至少一个备选边缘设备包括所述第一备选边缘设备。4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:根据所述域名对应的下载速度和所述数据量,确定所述资源的下载时长;根据所述资源的下载时长和所述域名对应的下载速度,更新所述目标边缘设备在所述目标边缘设备的调度周期中的可调度出流量。5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:接收所述目标边缘设备上报的预留调度出流量,所述预留调度出流量指示所述目标边缘设备在所述目标边缘设备的调度周期内向所述用户设备的提供实际出流量小于所述数据量;根据所述预留调度出流量,对所述目标边缘设备的下一调度周期中的出流量调度。6.如权利要求1-5任一所述的方法,其特征在于,所述根据所述资源标识、所述域名对应的下载速度、所述数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从所述至少一个边缘设备中确定出目标边缘设备之前,还包括:根据历史调度周期中所述域名的历史下载速度,计算所述域名的历史平均下载速度;将所述历史平均下载速度作为所述域名的下载速度。
7.如权利要求2至6中任一所述的方法,其特征在于,所述根据所述资源标识,从所述多个边缘设备中确定出多个备选边缘设备,包括:根据所述资源标识和预热资源信息,从所述多个边缘设备中确定出存储有所述资源的多个备选边缘设备;其中,所述预热资源信息包括边缘设备的标识与所述边缘设备中存储资源的标识的映射关系。8.一种调度装置,其特征在于,应用于调度设备,所述调度设备用于对多个边缘设备进行调度,所述装置包括:收发模块,用于接收用户设备的调度请求,所述调度请求包括域名、数据量和资源标识,其中,所述数据量用于指示所述用户设备需要基于所述域名下载的资源的数据大小;处理模块,用于根据所述资源标识、所述域名对应的下载速度、所述数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从所述至少一个边缘设备中确定目标边缘设备,所述目标边缘设备存储有所述资源,所述多个边缘设备包括所述至少一个边缘设备;所述收发模块,还用于向所述用户设备发送调度响应,所述调度响应指示所述目标边缘设备,以使所述用户设备从所述目标边缘设备中请求下载所述资源。9.如权利要求8所述的装置,其特征在于,所述处理模块具体用于:根据所述资源标识,从所述多个边缘设备中确定出多个备选边缘设备,每一备选边缘设备均存储有所述资源;根据所述域名对应的下载速度、所述数据量和至少一个备选边缘设备在各自调度周期中的可调度出流量,从所述至少一个备选边缘设备中确定出所述目标边缘设备。10.如权利要求9所述的装置,其特征在于,所述处理模块还用于:根据第一备选边缘设备在当前调度周期内的当前子调度周期中的可调度出流量,和所述当前调度周期中所述当前子调度周期之后的所有子调度周期的可调度出流量,确定所述第一备选边缘设备在所述当前调度周期中的可调度出流量;其中,所述当前调度周期是所述第一备选边缘设备对应的调度周期,所述当前调度周期包括多个子调度周期,所述当前子调度周期包括接收所述调度请求的时刻;所述至少一个备选边缘设备包括所述第一备选边缘设备。11.如权利要求8-10任一项所述的装置,其特征在于,所述处理模块还用于:根据所述域名对应的下载速度和所述数据量,确定所述资源的下载时长;根据所述资源的下载时长和所述域名对应的下载速度,更新所述目标边缘设备在所述目标边缘设备的调度周期中的可调度出流量。12.如权利要求8-11任一项所述的装置,其特征在于,所述收发模块还用于:接收所述目标边缘设备上报的预留调度出流量,所述预留调度出流量指示所述目标边缘设备在所述目标边缘设备的调度周期内向所述用户设备的实际出流量小于所述数据量;所述处理模块还用于:根据所述预留调度出流量,对所述目标边缘设备的下一调度周期中的出流量调度。13.如权利要求8-12任一所述的装置,其特征在于,所述处理模块还用于:根据历史调度周期中所述域名的历史下载速度,计算所述域名的历史平均下载速度;
将所述历史平均下载速度作为所述域名的下载速度。14.如权利要求9至13中任一所述的装置,其特征在于,所述处理模块具体用于:根据所述资源标识和预热资源信息,从所述多个边缘设备中确定出存储有所述资源的多个备选边缘设备;其中,所述预热资源信息包括边缘设备的标识与所述边缘设备中存储资源的标识的映射关系。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被计算设备执行时,实现如权利要求1至7中任一项所述的方法。16.一种计算设备,其特征在于,包括处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述计算设备执行如权利要求1至7中任一项所述的方法。17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被计算设备执行时,实现如权利要求1至7中任一项所述的方法。
技术总结
一种调度方法及装置,用于调度设备将用户设备的调度请求合理地调度到具备不同出流带宽的各类边缘设备中,充分利用各类边缘设备的出流带宽。在本申请中,方法包括:调度设备接收用户设备的调度请求,其中调度请求包括域名、数据量和资源标识,其中,数据量用于指示用户设备需要基于域名下载的资源的数据大小,进一步的,调度设备根据资源标识、域名对应的下载速度、数据量和至少一个边缘设备在各自调度周期中的可调度出流量,从至少一个边缘设备中确定出目标边缘设备,目标边缘设备存储有资源,多个边缘设备包括至少一个边缘设备。调度设备向用户设备发送调度响应,调度响应指示目标边缘设备,以使用户设备从目标边缘设备中请求下载资源。载资源。载资源。
技术研发人员:梁孟孟 胡绪凯 陈伟 刘文康
受保护的技术使用者:华为云计算技术有限公司
技术研发日:2022.02.11
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/