CN115514981A - 一种视频流调度系统及相关产品 - Google Patents
一种视频流调度系统及相关产品 Download PDFInfo
- Publication number
- CN115514981A CN115514981A CN202111022800.XA CN202111022800A CN115514981A CN 115514981 A CN115514981 A CN 115514981A CN 202111022800 A CN202111022800 A CN 202111022800A CN 115514981 A CN115514981 A CN 115514981A
- Authority
- CN
- China
- Prior art keywords
- scheduling
- video stream
- edge device
- client
- edge
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 claims description 69
- 238000012423 maintenance Methods 0.000 claims description 61
- 238000000034 method Methods 0.000 claims description 59
- 230000004044 response Effects 0.000 claims description 33
- 238000013439 planning Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 6
- 230000006855 networking Effects 0.000 description 39
- 230000008569 process Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 235000019580 granularity Nutrition 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种视频流调度系统及相关产品,其中,该系统包括第一边缘装置、第二边缘装置和调度装置。第一边缘装置用于接收客户端发送的拉流请求,该拉流请求用于拉取视频流;第一边缘装置还用于在第一边缘装置未存储有上述视频流的情况下,向调度装置发送调度请求,该调度请求用于指示调度装置给客户端分配待接入的边缘装置;调度装置用于接收上述调度请求,并获取上述视频流的特征,然后根据上述视频流的特征确定第二边缘装置;第二边缘装置用于向上述客户端推送上述视频流。相较于客户端从第一边缘装置拉取视频流,客户端从第二边缘装置拉取视频流的成本更低。
Description
技术领域
本申请涉及云计算领域,尤其涉及一种视频流调度系统及相关产品。
背景技术
直播作为一种新兴行业,已经成为互联网中流量占比最高的行业之一。在直播业务中,直播平台通过购买云厂商提供的云服务,使得主播通过直播平台可以上传正在直播的内容,观众也可以通过直播平台观看到上述正在直播的内容。
为了令观众可以通过直播平台观看到直播内容,目前常用的方法是:观众客户端就近接入一个边缘节点,并通过该边缘节点获取所需的直播内容。但是,利用上述方法会消耗大量的带宽,从而带来巨大的成本。
因此,如何减少视频流调度过程中耗费的成本仍然是一个亟需解决的问题。
发明内容
本申请公开了一种视频流调度系统及相关产品,能够减少视频流调度过程中耗费的成本。
第一方面,本申请提供了一种视频流调度系统,该系统包括第一边缘装置、第二边缘装置和调度装置。第一边缘装置用于接收客户端发送的拉流请求,该拉流请求用于拉取视频流;第一边缘装置还用于在第一边缘装置未存储有上述视频流的情况下,向调度装置发送调度请求,该调度请求用于指示调度装置给客户端分配待接入的边缘装置;调度装置用于接收上述调度请求,并获取上述视频流的特征,然后根据上述视频流的特征确定第二边缘装置;第二边缘装置用于向上述客户端推送上述视频流。
利用第一方面提供的视频流调度系统,当第一边缘装置未存储有客户端请求的视频流时,调度装置可以为客户端分配一个待接入的边缘装置,即第二边缘装置。使得客户端可以从第二边缘装置拉取视频流,并且客户端从第二边缘装置拉取视频流的成本低于客户端从第一边缘装置拉取视频流的成本。因此,利用本申请提供的视频流调度系统可以减少视频流调度过程中耗费的成本。
在一种可能的实现方式中,上述调度装置还用于存储至少一个调度策略,并根据视频流的特征,从至少一个调度策略中获得目标调度策略,然后根据目标调度策略确定第二边缘装置。通过该方式,调度装置可以根据实际的需求(即客户端请求的视频流的特征,例如该视频流的访问热度)为客户端分配待接入的边缘装置,这样可以在保证用户体验的同时,减少视频流调度过程中耗费的成本。
在一种可能的实现方式中,上述视频流的特征包括访问视频流的客户端的数量,至少一个调度策略包括第一调度策略、第二调度策略和第三调度策略。当访问该视频流的客户端的数量小于第一阈值时,说明该视频流的访问热度低,即该视频流为冷流,那么目标调度策略可以为第一调度策略;当访问该视频流的客户端的数量大于第一阈值,且小于第二阈值时,说明说明该视频流的访问热度较高,即该视频流为温流,那么目标调度策略可以为第二调度策略;当访问该视频流的客户端的数量大于第二阈值时,说明该视频流的访问热度高,即该视频流为热流,那么目标调度策略可以为第三调度策略。其中,第一调度策略用于指示多个区域中所有请求该视频流的客户端接入同一个边缘装置;第二调度策略用于指示每个区域中所有请求该视频流的客户端接入同一个边缘装置,不同区域的请求该视频流的客户端可以接入不同的边缘装置;第三调度策略用于指示请求该视频流的客户端接入就近的边缘装置。
应理解,由于实际应用中,一些视频流的访问热度较高,而一些视频流的访问热度较低,并且,相较于访问热度高的视频流,访问热度低的视频流需要更少的带宽就可以为用户带来较好的体验(例如,用户可以观看到流畅且清晰的视频),因此,上述实现方式中不同访问热度的视频流对应不同的调度策略,如此可以在保证用户体验的同时,减少视频流调度过程中耗费的成本。
在一种可能的实现方式中,当目标调度策略为第三调度策略时,第二边缘装置和第一边缘装置为同一个边缘装置。应理解,当客户端的数量大于第二阈值时,说明视频流为热流,需要更多的带宽才能为用户带来较好的体验,因此,为了保证用户的体验第二边缘装置和第一边缘装置应为同一个边缘装置,即距离客户端近的边缘装置。
在一种可能的实现方式中,当目标调度策略第一调度策略和第二调度策略时,上述调度装置用于获取与目标调度策略对应的线路,根据视频流的标识和视频流的域名,从与目标调度策略对应的线路中获取第二边缘装置,与目标调度策略对应的线路包括至少一个边缘装置。如此,可以令多个区域中请求同一条冷流的客户端接入同一个边缘装置,同一个区域中请求同一条温流的客户端接入同一个边缘装置,进而减少视频流调度过程中的回源成本。
在一种可能的实现方式中,上述视频流的特征还包括目标区域,当客户端的数量小于第一阈值时,第二边缘装置为部署在目标区域中的边缘装置。可选的,上述目标区域为客户端所处的区域中客户端数量最多的区域。由于实际应用中上传冷流的客户端与大部分请求该冷流的客户端位于同一个区域。因此,通过上述实现方式可以使得访问同一条冷流的客户端中的大部分客户端距离第二边缘装置的距离近,如此,可以减少视频流调度过程中耗费的成本。
在一种可能的实现方式中,上述视频流调度系统还包括运维装置。上述第一边缘装置还用于向运维装置上报视频流的流量、客户端所属的运营商以及客户端所在的区域中的至少一个。上述调度装置用于向运维装置查询视频流的特征,视频流的特征包括视频流的流量、客户端所属的运营商以及客户端所在的区域中的至少一个。通过上述方式,调度装置可以获取该视频流的特征,从而使得为请求该视频流的客户端分配更合适的第二边缘装置,减少视频流调度过程中耗费的成本。
在一种可能的实现方式中,上述视频流调度系统还包括节点管理装置。上述调度装置还用于向运维装置查询多条历史视频流的特征,每条历史视频流均是通过视频流的域名进行访问的且每条历史视频流的标识不同,根据多条历史视频流的特征,预测出多个区域的冷流流量值以及每个区域的温流流量值,其中,冷流流量值指示访问数量小于第一阈值的视频流的流量,温流流量值指示访问数量大于第一阈值且小于第二阈值的视频流的流量,根据冷流流量值和温流流量值,配置得到第一线路和第二线路,第一线路包括用于传输冷流的至少一个边缘装置,第一线路对应第一调度策略,第二线路包括用于传输温流的至少一个边缘装置,第二线路对应第二调度策略,将第一线路和第二线路发送至节点管理装置。上述调度装置用于向节点管理装置查询与目标调度策略对应的线路。上述实现方式中,调度装置通过多条历史视频流的特征来预测多个区域的冷流流量值以及每个区域的温流流量值,可以使得配置得到的第一线路和第二线路满足未来的流量需求,那么根据第一线路和第二线路得到的第二边缘装置能够满足客户端的流量需求。
可选的,上述第一线路包括的至少一个边缘装置属于同一个运营商,上述第二线路包括的至少一个边缘装置属于同一个运营商。
在一种可能的实现方式中,上述调度装置还用于向第一边缘装置返回调度响应,调度响应指示第二边缘装置为待接入的边缘装置。上述第一边缘装置还用于接收调度响应,并根据调度响应生成重定向响应,重定向响应用于指示客户端向第二边缘装置发送拉流请求,将重定向响应发送至客户端。如此,客户端可以向第二边缘装置请求上述视频流。
第二方面,本申请提供了一种视频流的调度方法,该包括如下步骤:调度装置接收第一边缘装置发送的调度请求,调度请求用于给请求视频流的客户端分配待接入的边缘装置,然后获取该条视频流的特征,并根据该条视频流的特征确定上述待接入的边缘装置为第二边缘装置。
在一种可能的实现方式中,上述调度装置存储有至少一个调度策略,上述调度装置根据视频流的特征确定第二边缘装置,包括:调度装置根据视频流的特征,从至少一个调度策略中获得目标调度策略;调度装置根据目标调度策略确定第二边缘装置。
在一种可能的实现方式中,在一种可能的实现方式中,上述视频流的特征包括访问视频流的客户端的数量,至少一个调度策略包括第一调度策略、第二调度策略和第三调度策略。当请求该视频流的客户端的数量小于第一阈值时,目标调度策略为第一调度策略;当请求该视频流的客户端的数量大于第一阈值,且小于第二阈值时,目标调度策略为第二调度策略;当请求该视频流的客户端的数量大于第二阈值时,目标调度策略为第三调度策略。
在一种可能的实现方式中,上述调度装置根据目标调度策略确定第二边缘装置,包括:调度装置获取与目标调度策略对应的线路,然后根据视频流的标识和视频流的域名,从与目标调度策略对应的线路中获取第二边缘装置,其中,上述与目标调度策略对应的线路包括至少一个边缘装置。
在一种可能的实现方式中,上述视频流的特征还包括目标区域,当客户端的数量小于第一阈值时,第二边缘装置为部署在目标区域中的边缘装置。可选的,上述目标区域为客户端所处的区域中客户端数量最多的区域。
在一种可能的实现方式中,上述视频流调度系统还包括运维装置,运维装置存储有视频流的流量、客户端所属的运营商以及客户端所在的区域中的至少一个。上述调度装置获取视频流的特征,包括:调度装置向运维装置查询视频流的特征,视频流的特征包括视频流的流量、客户端所属的运营商以及客户端所在的区域中的至少一个。
在一种可能的实现方式中,上述视频流调度系统还包括节点管理装置,在调度装置根据视频流的特征确定第二边缘装置之前,上述方法还包括:调度装置向运维装置查询多条历史视频流的特征,每条历史视频流均是通过视频流的域名进行访问的且每条历史视频流的标识不同,然后根据多条历史视频流的特征,预测出多个区域的冷流流量值以及每个区域的温流流量值,其中,冷流流量值指示访问数量小于第一阈值的视频流的流量,温流流量值指示访问数量大于第一阈值且小于第二阈值的视频流的流量,然后根据冷流流量值和温流流量值,配置得到第一线路和第二线路,第一线路包括用于传输冷流的至少一个边缘装置,第一线路对应第一调度策略,第二线路包括用于传输温流的至少一个边缘装置,第二线路对应第二调度策略,然后将第一线路和第二线路发送至节点管理装置。上述调度装置获取与目标调度策略对应的线路,包括:调度装置向节点管理装置查询与目标调度策略对应的线路。
可选的,上述第一线路包括的至少一个边缘装置属于同一个运营商,上述第二线路包括的至少一个边缘装置属于同一个运营商。
在一种可能的实现方式中,在调度装置根据视频流的特征确定待接入的边缘装置为第二边缘装置之后,上述方法还包括:调度装置向第一边缘装置返回调度响应,调度响应指示第二边缘装置为待接入的边缘装置,以使得第一边缘装置通知客户端向第二边缘装置发送视频流的拉流请求。
第三方面,本申请提供了一种视频流的调度装置,该调度装置包括接收模块和调度管理模块。上述接收模块用于接收第一边缘装置发送的调度请求,调度请求用于给请求视频流的客户端分配待接入的边缘装置,获取视频流的特征。上述调度管理模块用于根据视频流的特征确定待接入的边缘装置为第二边缘装置。
在一种可能的实现方式中,上述调度管理模块用于存储有至少一个调度策略,根据视频流的特征,从至少一个调度策略中获得目标调度策略,根据目标调度策略确定第二边缘装置。
在一种可能的实现方式中,上述视频流的特征包括访问视频流的客户端的数量,至少一个调度策略包括第一调度策略、第二调度策略和第三调度策略。当请求该视频流的客户端的数量小于第一阈值时,目标调度策略为第一调度策略;当请求该视频流的客户端的数量大于第一阈值,且小于第二阈值时,目标调度策略为第二调度策略;当请求该视频流的客户端的数量大于第二阈值时,目标调度策略为第三调度策略。
在一种可能的实现方式中,上述调度管理模块用于获取与目标调度策略对应的线路,根据视频流的标识和视频流的域名,从与目标调度策略对应的线路中获取第二边缘装置,与目标调度策略对应的线路包括至少一个边缘装置。
在一种可能的实现方式中,上述视频流的特征还包括目标区域,当客户端的数量小于第一阈值时,第二边缘装置为部署在目标区域中的边缘装置。可选的,上述目标区域为客户端所处的区域中客户端数量最多的区域。
在一种可能的实现方式中,上述接收模块用于向运维装置查询视频流的特征,运维装置存储有视频流的流量、客户端所属的运营商以及客户端所在的区域中的至少一个,视频流的特征包括视频流的流量、客户端所属的运营商以及客户端所在的区域中的至少一个。
在一种可能的实现方式中,上述调度装置还包括流量预测模块。上述接收模块还用于向运维装置查询多条历史视频流的特征,每条历史视频流均是通过视频流的域名进行访问的且每条历史视频流的标识不同。上述流量预测模块用于根据多条历史视频流的特征,预测出多个区域的冷流流量值以及每个区域的温流流量值,其中,冷流流量值指示访问数量小于第一阈值的视频流的流量,温流流量值指示访问数量大于第一阈值且小于第二阈值的视频流的流量。上述调度管理模块还用于根据冷流流量值和温流流量值,配置得到第一线路和第二线路,第一线路包括用于传输冷流的至少一个边缘装置,第一线路对应第一调度策略,第二线路包括用于传输温流的至少一个边缘装置,第二线路对应第二调度策略,将第一线路和第二线路发送至节点管理装置。上述调度管理模块用于向节点管理装置查询与目标调度策略对应的线路。
可选的,上述第一线路包括的至少一个边缘装置属于同一个运营商,上述第二线路包括的至少一个边缘装置属于同一个运营商。
在一种可能的实现方式中,上述调度管理模块用于向第一边缘装置返回调度响应,调度响应指示第二边缘装置为待接入的边缘装置,以使得第一边缘装置通知客户端向第二边缘装置发送视频流的拉流请求。
第四方面,本申请提供一种计算设备,该计算设备包括处理器和存储器,存储器存储计算机指令,处理器执行计算机指令,以使计算设备系统执行前述第二方面或第二方面的任意可能的实现方式中的方法。
第五方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序代码,当计算机程序代码被计算设备执行时,计算设备执行前述第二方面或第二方面的任意可能的实现方式中的方法。
附图说明
图1是本申请提供的一种直播过程的示意图;
图2是本申请提供的一种视频流调度系统的结构示意图;
图3是本申请提供的一种调度装置的结构示意图;
图4是本申请提供的多组冷流线路的示意图;
图5是本申请提供的多组冷流线路的示意图;
图6是本申请提供的多组温流线路的示意图;
图7是本申请提供的一种视频流调度的流程示意图;
图8是本申请提供的一种计算设备的结构示意图;
图9是本申请提供的一种计算设备系统的结构示意图。
具体实施方式
下面将结合附图,对本申请提供的技术方案进行描述。
为了使本申请提供的技术方案更清晰,在具体描述本申请提供的技术方案之前,首先进行相关术语的解释。
推流(push):音视频流产生设备(例如手机、电脑等)将直播内容推送至服务器的过程。
拉流(pull):音视频流播放设备(例如手机、电脑等)将服务器上存储的直播内容拉取至本地的过程。
内容分发网络(content delivery network,CDN):是建立并覆盖在承载网上,由部署在不同区域的服务器节点组成的分布式网络。CDN包括源站、中心节点和边缘节点。其中,源站为用户实际业务所处的网络节点,边缘节点是指距离最终用户接入具有较少的中间环节的网络节点,对最终接入用户有较好的响应能力和连接速度,中心节点为源站和边缘节点之间进行数据传输的网络节点。在CDN中,源站中的资源会缓存至边缘节点,如此,用户可以就近获取所需的资源,提高用户访问网站的响应速度,并降低源站的压力。
域名(domain name,DN),又称网域,是由一串用“点”分隔的字符组成的因特网(internet)上某一台计算机或计算机组的名称,例如,www.abc.com。在传输控制协议/互联网协议(transmission control protocol/internet protocol,TCP/IP)网络中,域名与IP地址一一对应。在实际应用中,IP地址不便于记忆而域名便于记忆,但网络中的服务器间又只能通过IP地址才能相互识别,因此,为了访问网络中的服务器需要将域名和IP地址进行相互转换,这一过程简称为域名解析。域名解析需要通过专门的域名解析服务器来完成,域名解析服务(domain name server,DNS)服务器就是TCP/IP网络中为客户端提供域名解析服务的功能实体,通过DNS服务器,客户端通过域名就可以访问对应的服务器。
302重定向:又称暂时性转移,是超文本传输协议(hypertext transferprotocol,HTTP)中的一个状态码(status code),能够实现服务端的重定向。
统一资源定位符(uniform resource locator,URL),也可以称为统一资源定位器、定位地址、URL地址或网页地址(网址),是因特网上标准的资源的地址,如同网络上的门牌。URL的结构可以为:[协议类型]://[服务器地址]:[端口号],其中,协议类型指示网络服务的类型(如HTTP),服务器地址可以是域名或服务器的IP地址,端口号是指接入服务器的网络端口号。
接下来,对本申请涉及的应用场景进行介绍。
本申请提供的技术方案适用于涉及视频流调度的场景,例如,直播、视频云、视频点播、短视频观看、虚拟现实(virtual reality,VR)、云游戏等。下面以直播为例,对视频流调度的场景进行简单地介绍。
在直播业务中,直播平台通过购买云厂商提供的云服务,使得主播通过直播平台可以上传正在直播的内容,观众也可以通过直播平台观看到上述正在直播的内容。其中,直播平台购买的云服务包括多个计算节点(例如:源站、中心节点、边缘节点)提供的服务。其中,源站提供视频注入、录制、截屏、转码等服务,中心节点提供数据交换的服务,边缘节点提供保障主播推送直播流以及用户在观看直播流时的服务质量及用户体验的服务。下面将结合直播平台购买的云服务对直播的过程进行说明:
如图1所示,在直播的过程中,主播A的客户端将携带直播的内容的视频流就近上传至边缘节点1,再由边缘节点1将该视频流推流至中心节点1,之后,继续由中心节点1将该视频流推流至源站。源站接收到上述视频流后,对其进行编码、转码、清晰度转换、帧率转换、码率转换等操作,从而将上述视频流转换成不同清晰度、不同帧率、不同码率的流媒体。对应的,当观众B想要观看主播A的直播时,观众B的客户端向直播平台发起观看请求,此时云厂商根据观众B的客户端的IP地址所在的网络运营商和省份,向观众B的客户端返回就近的一个边缘节点(即边缘节点4)的IP地址,之后,观众B的客户端向边缘节点4发送拉流请求。由于边缘节点4中未存储有主播A的客户端上传的视频流,因此,边缘节点4将通过回源的方式从中心节点2中拉取该视频流。又由于中心节点2中也未存储有该视频流,因此,中心节点2继续通过回源的方式从源站拉取该视频流。中心节点2获取该视频流后,将其推送至边缘节点4,边缘节点4再将其推送至观众B的客户端。
可以看出,现有技术中如果观众B想要观看到主播A的直播内容,需要边缘节点2采用回源的方式从源站获取主播A的直播内容,这一过程会消耗大量的带宽,从而增加成本。
与上述直播的场景类似,视频云、云游戏、视频点播、短视频观看以及VR也是以云计算为依托,以云服务方式向用户提供视频资源的应用场景。因此,这些场景也会出现相同的问题,即用户访问某一视频资源时,用户所在的客户端会接入就近的边缘节点,如果边缘节点存储有用户所需的视频资源,该边缘节点便可以直接将该视频资源返回给用户,但如果边缘节点未存储有用户所需的视频资源,该边缘节点会通过回源的方式向中心节点或源站请求该视频资源,之后再返回给用户。在实际应用中,访问该视频资源的用户众多,并且这些用户所处的地理位置可能各不相同,采用上述方法会增加边缘节点的回源率,并且由此还会带来巨大的成本。
为了解决上述问题,本申请提供了一种视频流调度系统,能够减少视频流调度过程中边缘节点的回源率,减少回源成本,从而减少视频流调度过程中所耗费的成本。
请参见图2,图2示出了本申请提供的一种视频流调度系统的结构示意图。如图2所示,该系统包括组网装置100、运维装置200、节点管理装置300以及调度装置400。其中,组网装置100、运维装置200、节点管理装置300以及调度装置400均为软件装置。下面对视频流调度系统的各个部分进行介绍:
(1)组网装置100
组网装置100包括至少一个节点装置,用于向客户端提供视频服务。本申请实施例中,组网装置100向客户端提供的视频服务包括:上传视频、对视频进行处理以及观看视频,以直播为例,主播可以通过组网装置100上传直播的内容,并对直播的内容进行编码、转码、清晰度转换、帧率转换、码率转换等处理,观众也可以通过组网装置100观看到主播正在直播的内容。
在一具体的实施例中,组网装置100中的每个节点装置为部署在计算节点(硬件设备)上的软件装置,上述部署有节点装置的计算节点可以采用CDN网络架构进行部署,因此,组网装置100中的节点装置相当于采用CDN网络架构部署的软件装置。以图2为例,组网装置100包括部署在源站上的节点装置(以下称为源站装置,例如第一源站装置)、部署在中心节点上的节点装置(以下称为中心装置,例如第一中心装置和第二中心装置)以及部署在边缘节点上的节点装置(以下称为边缘装置,例如第一边缘装置、第二边缘装置、第三边缘装置以及第四边缘装置)。需要说明的一点是,组网装置100中的源站装置、中心装置、边缘装置的数量可以是一个或多个,本申请实施例并不限定。
组网装置100中的边缘装置定期向运维装置200上报节点装置日志,边缘装置上报的节点装置日志包括边缘装置的状态信息、边缘装置的视频流信息以及边缘装置的标识。可选的,边缘装置上报的节点装置日志还包括边缘装置的类型、边缘装置能够支持的客户端的数量、边缘装置的上下线状态、边缘装置出现负荷过载的次数等。
上述边缘装置的状态信息包括但不限于以下至少一个:边缘装置的容量信息、边缘装置上连接的客户端的数量、边缘装置所在的区域(即部署有该边缘装置的边缘节点所在的区域,例如,省份)、边缘装置所属的运营商(即部署有该边缘装置的边缘节点的建设厂商)、边缘装置的状态信息的更新时间等。此处需要说明的一点是,上述边缘装置的容量信息是指边缘装置的带宽信息,可选的,边缘装置的容量信息包括:边缘装置的建设带宽(即租用的边缘节点的带宽)、边缘装置的实时带宽、带宽使用率、边缘装置推送或拉取的视频流所占用的带宽、边缘装置的剩余带宽等。
上述边缘装置的视频流信息包括:推流信息和拉流信息,其中,推流信息是指推送至该边缘装置的视频流的信息,具体可以包括视频流占用的带宽、视频流的标识、视频流的帧率、视频流码率、视频流的域名、推送该视频流的客户端所在的区域以及所属的运营商等。拉流信息是指从该边缘装置拉取的视频流的信息,具体可以包括视频流占用的带宽、视频流的标识、、视频流的帧率、视频流码率、视频流的域名、拉取该视频流的客户端所在的区域以及所属的运营商等。
上述边缘装置的标识用于标识对应的边缘装置。可选的,边缘装置的标识可以是边缘装置所在的边缘节点的IP地址,也可以是边缘装置的编号。上述边缘装置的类型用于标识该边缘装置的用途,例如,第一边缘装置的类型是边缘装置,用于就近服务当地用户,以保障用户上传视频流以及观看视频流时的服务质量和体验。上述边缘装置能够支持的客户端的数量是指该边缘装置上最多能够连接的客户端的数量。上述边缘装置的上下线状态用于指示该边缘装置是否正常运行。
可选的,除了组网装置100中的边缘装置会定期向运维装置200上报节点装置日志,组网装置100中的源站装置、中心装置也可以定期向运维装置上报节点装置日志。应理解,组网装置100中的源站装置、中心装置向运维装置200上报的节点装置日志与上述边缘装置上报的节点装置日志类似,为了简便,此处不再进行叙述。
(2)运维装置200
运维装置200用于接收组网装置100中的边缘装置上报的节点装置日志,并对这些节点装置日志进行解析,获得每个边缘装置的状态信息、每个边缘装置的视频流信息、每个边缘装置的标识。可选的,运维装置200还可以获得每个边缘装置能够支持的客户端的数量、每个边缘装置的上下线状态、每个边缘装置出现负荷过载的次数等。
运维装置200还用于存储上述通过对边缘装置的节点装置日志解析得到的信息。并且,运维装置200支持持久化存储,即运维装置200重启时并不会丢失上述信息。运维装置200还提供查询功能,本申请实施例中,调度装置400可以从运维装置200中查询组网装置100中每个边缘装置的状态信息以及视频流信息。
可选的,如果组网装置100中的源站装置和中心装置也向运维装置200发送节点装置日志,那么,运维装置200还可以接收源站装置和中心装置上报的节点装置日志,并对源站装置和中心装置上报的节点装置日志进行解析,获得源站装置和中心装置的相关信息。应理解,运维装置200通过对源站装置和中心装置上报的节点装置日志进行解析而获得的源站装置和中心装置的相关信息,与上述运维装置200通过对边缘装置上报的节点装置日志进行解析而获得的边缘装置的相关信息类似,为了简便,此处不再进行叙述。
(3)节点管理装置300
节点管理装置300用于构建节点装置地图,并存储节点装置地图。其中,节点装置地图包括组网装置100中的边缘装置的节点装置信息。每个边缘装置的节点装置信息包括但不限于:边缘装置的标识、边缘装置所在的区域、边缘装置所属的运营商、边缘装置的建设带宽、边缘装置的剩余带宽、边缘装置能够支持的设备的数量、边缘装置的上下线状态、边缘装置出现负荷过载的次数。
在一具体的实施例中,节点管理装置300定期采集组网装置100中的边缘装置的节点装置信息,并根据采集到的节点装置信息构建上述节点装置地图。此处需要说明的一点是,节点装置地图与上述运维装置200中存储的节点装置的状态信息是不同的,相较于节点装置地图,运维装置200中存储的节点装置的状态信息是实时的。这是因为:边缘装置向运维装置200上报节点装置日志的时间周期小于节点管理装置300采集边缘装置的节点装置信息的时间周期,例如,边缘装置每隔15分钟向运维装置200上报一个节点装置日志,而节点管理装置300每隔半个月采集一次边缘装置的节点装置信息,那么,运维装置200中存储的节点装置的状态信息每隔15分钟更新一次,而节点装置地图每隔半个月更新一次,因此,相较于节点装置地图,运维装置200中存储的节点装置的状态信息是实时的。
可选的,上述节点装置地图还包括组网装置100中的源站装置和中心装置的节点装置信息。应理解,组网装置100中的源站装置和中心装置的节点装置信息与上述边缘装置的节点装置信息类似,为了简便,此处不再进行叙述。
节点管理装置300还用于接收调度装置400发送的多组线路,并存储上述多组线路。节点管理装置300还提供查询功能,本申请实施例中,调度装置400可以从节点管理装置300中查询节点装置地图和上述多组线路。
节点管理装置300还用于提供域名解析服务。如图2所示,节点管理装置300包括DNS服务器310。当客户端想要访问视频流时,首先向DNS服务器310发送域名解析请求,之后,DNS服务器310会对该请求中的域名进行解析,获得对应的IP地址,并将IP地址返回至客户端,以使得客户端能够接入组网装置100中的边缘装置。
(4)调度装置400
调度装置400用于实现视频流的调度。具体地,调度装置400通过运维装置200获取视频流的特征,并根据该条视频流的特征确定适合客户端接入的边缘装置,从而能够以较低成本令客户端获得该条视频流。
图3为本申请实施例中的调度装置400的结构示意图,应理解,图3仅是示例性地展示了调度装置400的一种结构化示意图,本申请并不限定调度装置400中的各个模块的划分。如图3所示,调度装置400包括接收模块410、流量预测模块420、线路规划模块430以及调度管理模块440。可选的,调度装置400还包括流量规划模块450。下面简要地描述调度装置400中的各个模块的功能:
①接收模块410:当客户端向组网装置100中的第一边缘装置发送拉取视频流的请求时,如果第一边缘装置未存储有该条视频流,则第一边缘装置向接收模块410发送调度请求,在这种情况下,接收模块410用于接收第一边缘装置发送的调度请求,以及从运维装置200查询得到该条视频流的特征,然后将该条视频流的特征发送至调度管理模块440。
接收模块410还用于从运维装置200中查询历史视频流的特征,并将查询到的历史视频流的特征发送至流量预测模块420。其中,每条历史视频流的域名均为域名A,即每条历史视频流均是通过域名A进行访问的。而且,每条历史视频流的标识不同。
由前文可知,运维装置200中存储有边缘装置上报的视频流的拉流信息,其中,边缘装置上报的视频流的拉流信息包括上述客户端请求的视频流的特征以及上述历史视频流的特征。更具体地,上述客户端请求的视频流的特征包括但不限于以下一个或多个:该条视频流的流量、访问该条视频流的客户端的数量、访问该条视频流的客户端所属的运营商、访问该条视频流的客户端所在的区域、访问该条视频流的客户端数量最多的区域。每条历史视频流的特征包括但不限于以下一个或多个:该历史视频流的流量、访问该历史视频流的客户端的标识、访问该历史视频流的客户端所处的区域、访问该历史视频流的客户端所属的运营商、运维装置200记录特征的时间、上传对应的拉流信息的边缘装置的标识、该条历史视频流的域名(即域名A)、该条历史视频流的标识、传输该历史视频流所消耗的带宽、访问该条历史视频流的当前客户端数量、访问该条历史视频流的累计客户端数量、该条历史视频流的帧率、该条历史视频流的码率等。
可选的,接收模块410还用于从运维装置200查询得到组网装置100中每个边缘装置的实时状态信息,并将每个边缘装置的实时状态信息发送至调度管理模块440,以便调度管理模块440确定适合客户端待接入的边缘装置。例如,接收模块410可以实时获取每个边缘装置的上下线状态,当接收模块410确定某个边缘装置处于上线状态(即正常运行)时,告知调度管理模块440该边缘装置处于上线状态,那么,调度管理模块440为客户端分配的待接入的边缘装置可以是该边缘装置。当接收模块410确定某个边缘装置处于下线状态(即非正常运行,例如,故障)时,告知调度管理模块440该边缘装置处于下线状态,那么,调度管理装置440为客户端分配待接入的边缘装置不会是该边缘装置。
②流量预测模块420:用于接收上述接收模块410发送的历史视频流的特征,并根据上述历史视频流的特征对未来域名A下的视频流的流量进行预测,获得流量预测值。流量预测模块420还用于将流量预测值发送至线路规划模块430。
可选的,流量预测模块420采用对视频流的流量预测具有较优效果的人工智能模型(例如prophet模型),将上述查询到的历史视频流的特征作为模型的输入,经过模型的学习输出上述流量预测值。其中,流量预测值可以包括多个粒度下的流量预测值,多个粒度可以包括时间、客户端所属的运营商、客户端所处的区域、视频流的访问热度、或上述多个粒度的组合等。此处需要说明的是,本申请实施例中,视频流的访问热度是指访问视频流的客户端的数量,可选的,按照视频流的访问热度可以将视频流分为:冷流、温流和热流。其中,冷流是指访问热度低的视频流,热流是指访问热度高的视频流、温流是指访问热度大于冷流且小于热流的视频流。具体地,如果访问视频流的客户端的数量小于第一阈值,则该视频流为冷流;如果访问视频流的客户端的数量大于第二阈值,则该视频流为热流;如果访问视频流的客户端的数量大于第一阈值且小于第二阈值,则该视频流为温流。需要说明的,上述第一阈值、第二阈值可以是预先设定的,也可以是调度装置400根据实际情况动态调整的,本申请对此不作具体限定。
本申请实施例中,流量预测值包括多个区域的冷流流量值和每个区域的温流流量值,其中,多个区域的冷流流量值是指预测出的位于多个区域的多个客户端访问域名A下的冷流所耗费的流量之和,并且,上述多个区域的多个客户端所属的运营商可以相同,也可以不同,域名A下的冷流是指通过域名A访问的、且访问数量小于第一阈值的视频流;每个区域的温流流量值是指预测出的位于该区域的多个客户端访问域名A下的温流所耗费的流量之和,并且,每个区域的多个客户端所属的运营商可以相同,也可以不同,域名A下的温流是指通过域名A访问的、且访问数量大于第一阈值且小于第二阈值的视频流。
应理解,流量预测值还可以包括其他粒度的流量预测值,例如,不同时间段内的流量预测值、不同区域的流量预测值、热流的流量预测值等,本申请不作具体限定。
③线路规划模块430:用于接收流量预测模块420发送的流量预测值,并根据流量预测值为域名A配置多组线路,每组线路包括组网装置100中的至少一个边缘装置。线路规划模块430还用于将上述配置好的多组线路发送至节点管理装置300。
在一具体的实施例中,线路规划模块430可以根据视频流的访问热度从组网装置100中的边缘装置中确定多个边缘装置,从而为域名A配置一组或多组冷流线路、以及一组或多组温流线路。具体地,由于访问冷流的客户端数量较少,因此,本申请实施例中,为多个区域配置一组或多组冷流线路。其中,每组冷流线路中边缘装置的剩余容量之和大于预测出的位于多个区域的客户端访问域名A下的冷流所耗费的流量。又由于访问温流的客户端数量大于访问冷流的客户端数量,因此,本申请实施例中,为每个区域配置一组或多组温流线路。其中,每组温流线路中边缘装置所在的区域相同,且每组温流线路中边缘装置的剩余容量之和大于预测出的位于该区域的客户端访问域名A下的温流所耗费的流量。
可选的,在配置多组冷流线路时,可以考虑边缘装置所在的区域,使得每组冷流线路包括的边缘装置所在的区域相同,并且,每组冷流线路包括的边缘装置的剩余容量之和大于预测出的属于对应运营商的客户端访问域名A下的冷流所耗费的流量。
可选的,在配置多组冷流线路时,可以考虑边缘装置所属的运营商,使得每组冷流线路包括的边缘装置所属的运营商相同,且每组冷流线路中边缘装置的剩余容量之和大于预测出的属于对应运营商的客户端访问域名A下的冷流所耗费的流量。
举例说明,组网装置100包括15个边缘装置(即S1-S15),其中,S1、S2、S4、S5、S8、S12、S13、S15所属的运营商为运营商A,并且,S1、S2、S12、S13、S15所处的区域为区域A,S4、S5、S8所处的区域为区域B;运营商B在区域A部署有S3、S6、S7、S9、S10、S11、S14所属的运营商为运营商B,并且,S3、S9、S10所处的区域为区域A,S6、S7、S11、S14所处的区域为区域B。线路规划模块430根据上述方式可以得到如图4所示的2组冷流线路,即线路1和线路2。其中,线路1包括S1和S5,线路2包括S3和S7。线路1中S1和S5的剩余容量之和大于预测出的属于运营商A的客户端访问域名A下冷流所耗费的流量,线路2中S3和S7的剩余容量大于预测出的属于运营商B的客户端访问域名A下冷流所耗费的流量。
可选的,在配置多组冷流线路时,可以考虑边缘装置所属的运营商以及边缘节点所在的区域,使得每组冷流线路中的边缘装置所属的运营商和所在的区域相同,并且,每组冷流线路中边缘装置的剩余容量之和大于预测出的属于对应运营商的客户端访问域名A下的冷流所耗费的流量。
仍以组网装置100包括S1-S15为例进行说明,线路规划模块430根据上述方式可以得到如图5所示的4组冷流线路,即线路3至线路6,其中,线路3包括S1和S15,线路4包括S5和S8,线路5包括S9和S10,线路6包括S7和S11。线路3中S1和S15的剩余容量之和大于预测出的属于运营商A的客户端访问域名A下冷流所耗费的流量,线路4中S5和S8的剩余容量大于预测出的属于运营商A的客户端访问域名A下冷流所耗费的流量;线路5中S9和S10的容量大于预测出的属于运营商B的客户端访问域名A下冷流所耗费的流量;线路6中S7和S11的剩余容量大于预测出的属于运营商B的客户端访问域名A下冷流所耗费的流量。
可选的,在配置多组温流线路时,可以考虑边缘装置所属的运营商以及边缘装置所在的区域,使得每组温流线路中的边缘装置所属的运营商和所在的区域相同,并且,每组温流线路中边缘装置的剩余容量之和大于预测出的属于对应运营商、位于对应区域的客户端访问域名A下的温流所耗费的流量。
仍以组网装置100包括S1-S15为例进行说明,线路规划模块430根据上述方式可以得到如图6所示的4组温流线路,即线路7至线路10。其中,线路7包括S1、S2和S12,线路8包括S4和S5,线路9包括S3和S9,线路10包括S11和S14。线路7中S1、S2和S12的剩余容量之和大于预测出的属于运营商A、且位于区域A的客户端访问域名A下的温流所耗费的流量;线路8中S4和S5的剩余容量之和大于预测出的属于运营商A、且位于区域B的客户端访问域名A下的温流所耗费的流量;线路9中S3和S9的剩余容量之和大于预测出的属于运营商B、且位于区域A的客户端访问域名A下的温流所耗费的流量;线路10中S11和S14的剩余容量之和大于预测出的属于运营商B、且位于区域B的客户端访问域名A下的温流所耗费的流量。
值得注意的是,当线路规划模块430按照上述方式配置线路(包括冷流线路和温流线路)时,可能出现节点复用的情况,即:组网装置100中的某个边缘装置可能被配置到多组线路中,例如,上述S1既在线路1,又在线路3。那么,在这种情况下配置的多组线路应满足以下条件:
当配置多组线路时考虑到边缘节点所属的运营商,那么,多组线路中属于同一运营商的边缘装置的容量之和大于预测出的属于同一运营商的客户端访问域名A下的冷流和温流所耗费的流量。例如,线路1和线路7包括的S1、S2、S4、S5、S12的容量之和大于预测出的属于运营商A的客户端访问域名A下的冷流和温流所耗费的流量。并且,多组线路中属于同一运营商、位于同一区域的边缘装置的容量之和大于预测出的属于同一运营商、位于同一区域的客户端访问域名A下的温流与冷流所耗费的流量。例如,线路1和线路3包括的S1、S5和S15的容量之和大于预测出的属于运营商A、位于区域A的客户端访问域名A下的温流所耗费的流量与属于运营商A访问域名A下的冷流所耗费的流量之和。
当配置多组线路时未考虑到边缘节点所属的运营商,那么,多组线路中边缘装置的容量之和大于预测出的位于多个区域的客户端访问域名A下的冷流和温流所耗费的流量。并且,多组线路中位于同一区域的边缘装置的容量之和大于预测出的属于同一运营商、位于同一区域的客户端访问域名A下的温流与冷流所耗费的流量。
应理解,上述方式仅仅为示例性的线路配置方式,在实际应用中,线路规划模块430还可以结合其他信息为域名A配置线路,例如,根据访问域名A下的视频流的客户端的优先级、访问成本等信息为域名A配置线路。
可选的,上述为域名A配置多组线路的步骤可以由线路规划模块430执行,也可以由上述节点管理装置300执行。应理解,节点管理装置300为域名A配置多组线路的方式与上述方式一致,为了简便此处不再展开叙述。
需要说明的一点是,上述线路规划模块430用于对域名A进行线路配置,而不是对域名A下的每一条视频流进行线路配置,其原因是:一般地,视频流的标识每隔一段时间会发生变化,而视频流的域名并不会随着时间发生变化。比如说,直播平台每天为主播A分配的直播间地址可能不同,导致主播A每天上传的视频流的标识不同,但这些视频流的域名均是直播平台的域名。如果线路规划模块430对一条视频流进行线路配置,那么,当视频流的标识发生变化时,调度装置400无法根据发生变化的视频流标识,获取已经配置好的线路,也就无法得到调度结果。但是,如果视频流的标识不随着时间发生变化,比如说,主播A每天上传的视频流的标识均相同,在这种情况下,线路规划模块430可以用于对视频流进行线路配置。应理解,线路规划模块430对视频流进行线路配置的过程与上述对域名A进行线路配置的过程类似,为了简便,此处不再叙述。
④调度管理模块440:用于接收上述接收模块410发送的视频流的特征,然后根据该条视频流的特征从至少一个调度策略中选择目标调度策略,并根据目标调度策略确定适合客户端接入的边缘装置为第二边缘装置。
调度管理模块440还用于存储有上述至少一个调度策略。考虑到实际应用中,一些视频流的访问热度较高,而一些视频流的访问热度较低,并且,相较于访问热度高的视频流,访问热度低的视频流需要更少的带宽就可以为用户带来较好的体验(例如,用户可以观看到流畅且清晰的视频),因此,本申请实施例针对不同访问热度的视频流配置了不同的调度策略,具体如下:
第一调度策略,该策略是针对冷流配置的。对于冷流来说,由于访问冷流的客户端数量很少,需要较少的带宽就能够为用户带来较好的体验,因此第一调度策略用于指示:将访问冷流的客户端接入上述配置好的冷流线路中的边缘装置,并将访问同一条冷流的客户端接入同一个边缘装置。
可选的,第一调度策略还可以指示:按照客户端所属的运营商将访问冷流的客户端接入上述配置好的冷流线路(此处的冷流线路在配置时考虑到了边缘装置所属的运营商)中的边缘装置,并将访问同一条冷流的客户端接入同一个边缘装置。
可选的,考虑到实际应用中还存在这样一种情况:上传冷流的客户端与大部分请求该冷流的客户端位于同一个区域。因此,第一调度策略还可以用于指示将属于同一运营商的、访问同一条冷流的客户端接入位于目标区域的同一个边缘装置,其中,相较于其他区域,目标区域为访问该冷流的客户端数量最多的区域。举例说明,假设,客户端访问数量小于11人的视频流为冷流,当前请求位于广东省的主播上传的直播内容的客户端数量为10个,这10个客户端均属于运营商A,并且其中有8个属于运营商A的客户端都位于广东省,那么,可以令全国请求该直播内容的10个客户端均接入位于广东省的同一个边缘装置。
第二调度策略,该策略是针对温流配置的。对于温流来说,由于访问温流的用户数量多于访问冷流的用户数量,因此第二调度策略用于指示:按照客户端所属的运营商和所在的区域,将访问温流的客户端接入上述配置好的温流线路中的边缘装置,并将位于同一个区域的、访问同一条温流的客户端接入同一个边缘装置。
可选的,第二调度策略还可以指示:按照客户端所属的运营商以及客户端所在的区域,将访问温流的客户端接入上述配置好的每组温流线路(此处的温流线路在配置时考虑到了边缘装置所属的运营商)的边缘装置,并且,将属于同一运营商的、位于同一区域的、访问同一条温流的客户端接入同一个边缘装置。
第三调度策略,该策略是针对热流配置的。对于热流来说,由于访问热流的客户端数量最多,需要更多的带宽才能为用户带来较好的体验,因此第三调度策略用于指示将访问热流的客户端就近接入对应的边缘装置。
可选的,调度管理模块440还用于将第二边缘装置的信息发送至第一边缘装置。这样,第一边缘装置接收第二边缘装置的信息后,可以将第二边缘装置的信息发送至上述客户端,以使得客户端向第二边缘装置重新发送拉流请求,从而获得想要请求的视频流。
⑤流量规划模块450:用于获取流量预测模块420预测得到的域名A的流量预测值,并结合组网装置100中各边缘装置的分布情况、建设带宽、边缘装置的负荷过载次数等信息进行流量规划,从而提前为域名A分配未来(例如,下周、下个月)所需的具备相应容量的边缘装置,以使得未来客户端在访问域名A下的视频流时可以获得较好的体验。例如,当前位于某一区域的客户端中有较少的客户端访问域名A下的视频流,那么,流量规划模块450在进行流量规划时可以为该区域分配较少的带宽,即为该区域分配的边缘装置具备的容量之和较少。
本申请实施例中,图2所示的视频流调度系统的部署灵活,具体可以部署在云环境(也称为公有云、中心云)中,云环境是云计算模式下利用基础资源向用户提供云服务的实体,云环境包括云数据中心和云服务平台,云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。其中,视频流调度系统可以独立地部署在云数据中心中的服务器或虚拟机上,或者,视频流调度系统中的各个部分分别部署在云数据中心中的多台服务器上,或者分别部署在云数据中心中的多台虚拟机上,又或者分别部署在云数据中心中的服务器和虚拟机上。
以直播场景为例,上述视频流调度系统由云服务提供商在云服务平台抽象成一种视频流调度的云服务提供给直播平台,直播平台在云服务平台购买该项云服务后(例如,可预充值再根据最终资源的使用情况进行结算、或按照使用时间进行付费),云环境利用部署在云数据中心的视频流调度系统向直播平台提供视频流调度的云服务。在使用该项云服务时,视频流调度系统为请求视频流的客户端分配适合接入的边缘节点,从而减少视频流调度过程中所耗费的成本。
具体实现中,云厂商向直播平台提供的云服务可以分为两部分:即基础云服务和增值云服务。其中,基础云服务为上述组网装置100提供的视频服务,组网装置100向客户端提供的视频服务包括:主播可以通过组网装置100上传直播的内容,并对直播的内容进行编码、转码、清晰度转换、帧率转换、码率转换等处理,观众也可以通过组网装置100观看到主播正在直播的内容。增值云服务为上述运维装置200、节点管理装置300以及调度装置400提供的视频流调度的云服务。这样,直播平台可以选择性的购买云服务。如果直播平台仅购买了基础云服务,观众客户端会就近接入当地的边缘节点,以获得想要观看的直播内容。如果直播平台购买了增值云服务,观众客户端会根据视频流调度系统为其分配的合适的边缘节点进行接入,从而减少视频流调度过程中所耗费的成本,并在总体上减少直播平台的成本。
可选的,上述视频流调度系统还可以部署在边缘环境(也称为边缘云)中。边缘环境是距离客户端较近的边缘数据中心或边缘计算设备(例如边缘服务器)的集合。客户端包括智能手机、台式电脑、便携电脑、平板电脑等。其中,上述视频流调度系统可以是单独地部署在边缘环境中的一个边缘服务器或一个虚拟机上,或者,视频流调度系统中的各个部分分别部署在边缘环境中的多个边缘服务器上、或多个虚拟机上,或一部分部署在边缘服务器上,一部分部署在虚拟机上。
可选的,上述视频流调度系统还可以分布式地部署在不同的场景中,不同的环境可以包括上述云环境、上述边缘环境。例如,上述视频流调度系统中的一部分部署在云环境,另一部分部署在边缘环境。
下面结合图7,对图2示出的视频调度系统实现视频流调度的过程进行更详细地描述。
请参见图7,图7示出了本申请提供的一种视频流调度的方法的流程示意图。如图7所示,该方法包括但不限于如下步骤:
S101:第一边缘装置接收客户端发送的拉流请求。
其中,第一边缘装置为组网装置100中的一个边缘装置。拉流请求用于拉取视频流。拉流请求包括视频流的域名(即域名A)、视频流的标识、客户端所属的运营商以及客户端所在的区域等。
具体地,当客户端想要访问视频流时,客户端首先向DNS服务器310发送域名解析请求,其中,域名解析请求包括域名A,DNS服务器310中存储有域名A对应的IP地址。DNS服务器310接收到域名解析请求后,对该请求中的域名A进行解析,确定与域名A对应的IP地址为第一边缘装置的IP地址。之后,DNS服务器310将第一边缘装置的IP地址发送至客户端。客户端接收到第一边缘装置的IP地址后,向第一边缘装置发送上述拉流请求。此处需要说明的一点是,一般地,第一边缘装置为距离客户端最近的边缘装置,从而为客户端提供更快的响应能力和连接速度。
S102:在第一边缘装置未存储有客户端拉取的视频流的情况下,第一边缘装置向调度装置400发送调度请求。
其中,调度请求用于指示调度装置400给客户端分配待接入的边缘装置,以在更少的成本下令客户端拉取到视频流。调度请求包括客户端所在的区域、客户端所属的运营商、域名A以及视频流的标识中的至少一个。
应理解,在第一边缘装置存储有客户端拉取的视频流的情况下,第一边缘装置向客户端返回该视频流。
S103:调度装置400接收上述调度请求,并获取视频流的特征。
在一具体的实施例中,由前述内容可知,第一边缘装置在接收到客户端发送的拉流请求后,会将该视频流的相关信息以节点装置日志的形式上报至运维装置200,因此运维装置200存储有该条视频流的流量、访问该条视频流的客户端所属的运营商,访问该条视频流的客户端所在的区域中的至少一个。另外,运维装置200还可以根据组网装置100中的多个边缘装置(包括第一边缘装置)上报的节点装置日志,统计出访问该条视频流的客户端的数量,因此,运维装置200还可以存储有访问该条视频流的客户端的数量。那么,调度装置400获取视频流的特征,包括:调度装置400向运维装置200查询视频流的特征,其中,视频流的特征包括该条视频流的流量、访问该条视频流的客户端所属的运营商,访问该条视频流的客户端所在的区域、访问该条视频流的客户端的数量中的至少一个。
S104:调度装置400根据视频流的特征确定第二边缘装置。
在一具体的实施例中,调度装置400存储有至少一个调度策略,那么,调度装置400根据视频流的特征确定第二边缘装置,包括:根据视频流的特征从至少一个调度策略中获得目标调度策略,然后根据目标调度策略确定第二边缘装置。其中,第二边缘装置为组网装置100中的一个边缘装置。
可选的,上述至少一个调度策略包括第一调度策略和第二调度策略。当访问该条视频流的客户端的数量小于第一阈值时,目标调度策略为第一调度策略;当访问该条视频流的客户端的数量大于第一阈值且小于第二阈值时,目标调度策略为第二调度策略。
在一具体的实施例中,调度装置400根据目标调度策略确定第二边缘装置,包括:获取与目标调度策略对应的线路,然后根据视频流的标识和域名A,从与目标调度策略对应的线路中获取第二边缘装置,其中,与所述目标调度策略对应的线路包括至少一个边缘装置。
更具体地,节点管理装置300存储有与目标调度策略对应的线路(包括第一线路和第二线路),那么,调度装置400获取与目标调度策略对应的线路,包括:向节点管理装置300查询与目标调度策略对应的线路,从而得到与目标调度策略对应的线路。其中,当目标调度策略为第一调度策略时,与目标调度策略对应的线路为第一线路,第一线路为冷流线路,第一线路包括用于传输冷流的至少一个边缘装置;当目标调度策略为第二调度策略时,与目标调度策略对应的线路为第二线路,第二线路为温流线路,第二线路包括用于传输温流的至少一个边缘装置。应理解,第一线路可以是调度装置400按照前文的方式配置得到的多组冷流线路中的一组,第二线路可以是调度装置400按照前文所述的方式配置得到的多组温流线路中的一组。而且,第一线路中的至少一个边缘装置所属的运营商可以相同,可以不同,同样的,第二线路中的至少一个边缘装置所属的运营商可以相同,可以不同。
进一步地,节点管理装置300中的第一线路和第二线路可以是这样得到的:首先,调度装置400向运维装置200查询多条历史视频流的特征,其中,每条历史视频流均是通过视频流的域名进行访问的且每条历史视频流的标识不同。然后,调度装置400根据多条历史视频流的特征,预测处多个区域的冷流流量值以及每个区域的温流流量值,其中,冷流流量值指示访问数量小于第一阈值的视频流(即冷流)的流量,温流流量值指示访问数量大于第一阈值且小于第二阈值的视频流(即温流)的流量。然后,调度装置400根据上述冷流流量值和温流流量值,配置得到第一线路和第二线路。然后,调度装置400将配置好的第一线路和第二线路发送至节点管理装置300。最后,节点管理装置300接收上述第一线路和第二线路,并存储上述第一线路和第二线路。
在一具体的实施例中,调度装置400根据视频流的标识和域名A,从与目标调度策略对应的线路中获取第二边缘装置,包括:调度装置400采用哈希算法,基于域名A、视频流的标识以及与目标调度策略对应的线路中各个边缘装置的状态信息计算出第二边缘装置。
可选的,当视频流的标识不随时间变化时,调度装置400可以存储有视频流的标识、目标调度策略以及第二边缘装置之间的对应关系,那么,调度装置400确定目标调度策略后,可以直接根据上述对应关系确定第二边缘装置。应理解,上述对应关系可以是用户预先配置的,也可以是调度装置400根据实际情况(例如:与目标调度策略对应的线路中各个边缘装置的状态信息)动态调整的,本申请不作限定。
在另一些实施例,视频流的特征还包括目标区域,当访问该条视频流的客户端的数量小于第一阈值,即目标调度策略为第一调度策略时,第二边缘装置为部署在目标区域中的边缘装置。可选的,考虑到实际应用中还存在这样一种情况:上传冷流的客户端与大部分请求该冷流的客户端位于同一个区域,因此,当目标区域可以是请求该条视频流的客户端所在的区域中、客户端数量最多的区域。
可选的,上述至少一个调度策略还包括第三调度策略,当访问该条视频流的客户端的数量大于第二阈值时,目标调度策略为第三调度策略。此时,第二边缘装置和第一边缘装置为同一个边缘装置。
以上述图4-图6为例对上述S104进行说明:假设访问该条视频流的一个客户端所属的运营商为运营商A,该客户端所在的区域为区域A,当前访问该条视频流的客户端大多位于区域B,第一边缘装置为S1,节点管理装置300中存储的多组线路包括调度装置400按照上述方式配置得到的,即多组线路包括上述线路1至线路10。
当目标调度策略为第一调度策略时,调度装置400向节点管理装置300查询运营商A对应的冷流线路(即线路1),得到S1和S5,然后结合该条视频流的标识、域名A以及S1和S5的状态信息,确定第二边缘装置为S1。进一步地,如果考虑到当前访问该条视频流的客户端大多位于区域B,那么第二边缘装置为S5。
当目标调度策略为第二调度策略时,调度装置400向节点管理装置300查询运营商A、区域A对应的温流线路(即线路7),得到S1、S2和S12,然后结合视频流的标识、域名A以及S1、S2和S12的状态信息,确定目标边缘装置为S2。
当目标调度策略为第三调度策略时,调度装置400确定第二边缘装置为第一边缘装置,即S1。
S105:调度装置400向第一边缘装置返回调度响应。
其中,调度响应用于指示客户端待接入的边缘装置为第二边缘装置,可选的,调度响应包括第二边缘装置的IP地址。
S106:第一边缘装置接收调度装置400返回的调度响应,根据调度响应生成重定向响应,并向客户端返回重定向响应。
其中,重定向响应包括跳转URL和跳转状态码,跳转URL指向第二边缘装置,跳转状态码用于指示客户端跳转至跳转URL指向的边缘装置(即第二边缘装置)。可选的,跳转状态码可以是302重定向的状态码。
S107:客户端接收第一边缘装置返回的重定向响应,并向第二边缘装置发送拉流请求,其中,拉流请求用于拉取上述视频流。
S108:第二边缘装置接收客户端发送的拉流请求,向客户端返回上述视频流。
具体地,第二边缘装置接收客户端发送的拉流请求后,如果第二边缘装置存储有该条视频流,则第二边缘装置向客户端返回该条视频流。如果第二边缘装置未存储有该条视频流,则第二边缘装置采用回源的方式获取该条视频流,并将获取到的视频流返回至客户端。
可选的,在调度装置400根据目标调度策略确定第二边缘装置后,除了上述S105-S108,调度装置400还可以采用以下方式令第二边缘装置向客户端发送视频流:调度装置400向第二边缘装置发送推流请求,以使得第二边缘装置向客户端发送视频流。其中,推流请求包括客户端的IP地址、视频流的标识。
可选的,除了上述多个区域的冷流流量值以及每个区域的温流流量值,调度装置400还可以根据上述多条历史视频流的特征,得到多个粒度下的流量预测值,例如,未来一个月内的流量值、未来一周的热流流量值。那么,调度装置400可以根据预测得到的多个粒度的流量预测值为域名A进行流量规划,从而为域名A分配具备相应容量的边缘装置,以使得未来(例如,下周、下个月)客户端在访问域名A下的视频流时可以获得较好的体验。
需要说明的是,上述实施例并没有对调度装置400预测多个区域的冷流流量值以及每个区域的温流流量值的过程进行介绍,具体可参见上述流量预测模块420的介绍;上述实施例也没有对第一调度策略、第二调度策略以及第三调度策略进行详细介绍,具体可参见上述调度管理模块440的介绍,上述实施例还没有对调度装置400配置第一线路和第二线路的过程进行详细介绍,具体请参见上述线路规划模块430的介绍。
通过实施本申请提供的视频流调度方法,当第一边缘装置未存储有客户端请求的视频流时,上述调度装置可以为客户端分配一个更适合接入的边缘装置,即第二边缘装置。使得客户端从第二边缘装置拉取视频流的成本低于客户端从第一边缘装置拉取视频流的成本,从而减少视频流调度过程中耗费的成本。
前述内容详细介绍了本申请提供的调度装置400,以及利用调度装置400如何实现视频流的调度,下面结合图3、图8和图9进一步地介绍调度装置400。
请参见图3,图3示出了本申请提供的一种调度装置400的结构示意图。如图3所示,调度装置400包括接收模块410、流量预测模块420、线路规划模块430以及调度管理模块440。可选的,调度装置400还包括流量规划模块450。其中,接收模块410用于执行上述S103以及上述S104中向运维装置200查询多条历史视频的特征的步骤,流量预测模块420用于执行上述S104中根据多条历史视频流的特征,预测多个区域的冷流流量值以及每个区域的温流流量值的步骤;线路规划模块430用于执行上述S104中根据多个区域的冷流流量值以及每个区域的温流流量值,配置第一线路和第二线路的步骤,以及将第一线路和第二线路发送至节点管理装置300的步骤;调度管理模块440用于执行上述S104中根据视频流的特征确定第二边缘装置的相关步骤以及上述S105;流量规划模块450用于执行上述方法实施例中根据多个粒度下的流量预测值为域名A进行流量规划,从而提前为域名A分配未来所需的(例如,下周、下个月)边缘装置的步骤。
本申请实施例中,调度装置400的部署灵活,具体可以部署在云环境中。在一具体的实施例中,调度装置400可以独立地部署在云数据中心中的服务器或虚拟机上,也可以分布式地部署在云数据中心中的多台服务器上,或者分布式地部署在云数据中心中的多台虚拟机上,又或者分布式地部署在云数据中心中的服务器和虚拟机上。
可选的,调度装置400还可以部署在边缘环境中。在一具体的实施例中,调度装置400可以是单独地部署在边缘环境中的一个边缘服务器或一个虚拟机上,也可以分布式地部署在边缘环境中的多个边缘服务器上、或多个虚拟机上,或一部分部署在边缘服务器上,一部分部署在虚拟机上。
可选的,调度装置400还可以分布式地部署在不同的场景中,不同的环境可以包括上述云环境、上述边缘环境。例如,调度装置400中的一部分模块部署在云环境,另一部分模块部署在边缘环境。
当调度装置400单独地部署在任意环境中的一个计算设备上(例如,单独部署在云环境中的一个计算设备上)时,部署有调度装置400的计算设备可以是如图8所示的计算设备。如图8所示,图8示出了部署有调度装置400的计算设备500的硬件结构示意图。其中,计算设备500包括存储器510、处理器520、通信接口530以及总线540。其中,存储器510、处理器520、通信接口530通过总线540实现彼此之间的通信连接。
存储器510可以是只读存储器(read only memory,ROM),静态存储设备、动态存储设备或者随机存取存储器(random access memory,RAM)。存储器510可以存储程序,例如,接收模块410中的程序、流量预测模块420中的程序、线路规划模块430中的程序、调度管理模块440中的程序、流量规划模块450中的程序等。当存储器510中存储的程序被处理器520执行时,处理器520和通信接口530用于执行上述步骤S103-S105所述的部分或全部方法。存储器510还可以存储处理器520在执行过程中产生的中间数据或结果数据,例如,边缘节点的状态信息、流量预测值、第一调度策略、第二调度策略等。
处理器520可以采用通用的中央处理器(central processing unit,CPU),微处理器,专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。
处理器520还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述调度装置400的部分或全部功能可用通过处理器520中的硬件的集成逻辑电路或者软件形式的指令完成。处理器520还可以是通用处理器、数据信号处理器(digital signalprocess,DSP)、现场可编程逻辑门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件,分立门或者晶体管逻辑器件,分立硬件组件,以实现或者执行本申请实施例中公开的方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器510,处理器520读取存储器510中的信息,结合其硬件完成上述调度装置400的部分或全部功能。
通信接口530使用例如但不限于收发器一类的手法模块,来实现计算设备500与其他设备或通信网络之间的通信。例如,可以通过通信接口530向运维装置200查询视频流的特征,还可以通过通信接口530将第二边缘装置的相关信息发送至第一边缘装置。
总线540可以包括在计算设备500中的各个部件(例如,存储器510、处理器520、通信接口530)之间传送信息的通路。
当调度装置400中的各个部分分布式地部署在同一环境或不同环境中的多个计算设备上时,部署有调度装置400的多个计算设备可以构成如图9所示的计算设备系统。如图9所示,图9示出了部署有调度装置400的计算设备系统的硬件结构示意图。其中,计算设备系统600包括多个计算设备700,计算设备系统600中的多个计算设备700可以通过内部处理器执行计算机指令协同地实现调度装置400的功能。
如图9所示,每个计算设备700包括存储器710、处理器720、通信接口730以及总线740。其中,存储器710、处理器720、通信接口730通过总线740实现彼此之间的通信连接。
存储器710可以是ROM、RAM、静态存储设备或者动态存储设备。存储器710可以存储计算机指令,当存储器710中存储的计算机指令被处理器720执行时,处理器720和通信接口730用于执行上述步骤S103-S105所述的部分或全部方法。存储器510还可以存储处理器520在执行过程中产生的中间数据或结果数据,例如,边缘节点的状态信息、流量预测值、第一调度策略、第二调度策略等。
处理器720可以采用通用的CPU、GPU、ASIC、微处理器或者一个或多个集成电路。处理器720还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的模型训练系统的部分或全部功能可用通过处理器720中的硬件的集成逻辑电路或者软件形式的指令完成。处理器720还可以是DSP、FPGA、其他可编程逻辑器件、通用处理器、分立门、分立硬件组件或者晶体管逻辑器件。可以实现或者执行本申请实施例中公开的方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器710,处理器720读取存储器710中的信息,结合其硬件完成上述调度装置400的部分功能。
通信接口730使用例如但不限于收发器一类的收发模块,来实现计算设备700与其他设备或通信网络之间的通信。例如,可以通过通信接口730获取其他计算设备计算得到的流量预测值。
总线740可包括在计算设备700各个部件(例如,存储器710、处理器720、通信接口730)之间传送信息的通路。
上述每个计算设备700间通过通信网络建立通信通路。每个计算设备700上运行调度装置400中的一部分(例如:接收模块410、流量预测模块420、线路规划模块430、调度管理模块440、流量规划模块450中的一个或多个模块)。任一计算设备700可以为云数据中心中的服务器,或边缘数据中心中的计算设备,或终端计算设备。
上述各个附图对应的流程的描述各有侧重,某个流程中没有详细描述的部分,可以参见其他流程的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件或者其组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供模型训练系统的计算机程序产品包括一个或多个由模型训练系统执行的计算指令,在计算机上加载和执行这些计算机程序指令时,全部或部分地产生按照本申请实施例图所述的流程或功能。
上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、双绞线或无线(例如,红外、无线、微波)等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质存储有提供模型训练系统的计算机程序指令。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,光盘)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))。
Claims (29)
1.一种视频流调度系统,其特征在于,所述系统包括第一边缘装置、第二边缘装置和调度装置;
所述第一边缘装置,用于接收客户端发送的拉流请求,所述拉流请求用于拉取视频流;
所述第一边缘装置,还用于在所述第一边缘装置未存储有所述视频流的情况下,向所述调度装置发送调度请求,所述调度请求用于指示所述调度装置给所述客户端分配待接入的边缘装置;
所述调度装置,用于接收所述调度请求,并获取所述视频流的特征,根据所述视频流的特征确定所述第二边缘装置;
所述第二边缘装置,用于向所述客户端推送所述视频流。
2.根据权利要求1所述的系统,其特征在于,
所述调度装置,还用于存储至少一个调度策略,根据所述视频流的特征,从所述至少一个调度策略中获得目标调度策略,根据所述目标调度策略确定所述第二边缘装置。
3.根据权利要求2所述的系统,其特征在于,所述视频流的特征包括访问所述视频流的客户端的数量,所述至少一个调度策略包括第一调度策略和第二调度策略,
当所述客户端的数量小于第一阈值时,所述目标调度策略为所述第一调度策略;
当所述客户端的数量大于所述第一阈值,且小于第二阈值时,所述目标调度策略为所述第二调度策略。
4.根据权利要求3所述的系统,其特征在于,
所述调度装置,用于获取与所述目标调度策略对应的线路,根据所述视频流的标识和所述视频流的域名,从与所述目标调度策略对应的线路中获取所述第二边缘装置,所述与所述目标调度策略对应的线路包括至少一个边缘装置。
5.根据权利要求4所述的系统,其特征在于,所述视频流的特征还包括目标区域,当所述客户端的数量小于所述第一阈值时,所述第二边缘装置为部署在所述目标区域中的边缘装置。
6.根据权利要求5所述的系统,其特征在于,所述目标区域为所述客户端所处的区域中客户端数量最多的区域。
7.根据权利要求1-6任一项所述的系统,其特征在于,所述视频流调度系统还包括运维装置;
所述第一边缘装置,还用于向所述运维装置上报所述视频流的流量、所述客户端所属的运营商以及所述客户端所在的区域中的至少一个;
所述调度装置,用于向所述运维装置查询所述视频流的特征,所述视频流的特征包括所述视频流的流量、所述客户端所属的运营商以及所述客户端所在的区域中的至少一个。
8.根据权利要求7所述的系统,其特征在于,所述视频流调度系统还包括节点管理装置;
所述调度装置,还用于向所述运维装置查询多条历史视频流的特征,每条历史视频流均是通过所述视频流的域名进行访问的且每条历史视频流的标识不同,根据所述多条历史视频流的特征,预测出多个区域的冷流流量值以及每个区域的温流流量值,其中,所述冷流流量值指示访问数量小于所述第一阈值的视频流的流量,所述温流流量值指示访问数量大于所述第一阈值且小于所述第二阈值的视频流的流量,根据所述冷流流量值和所述温流流量值,配置得到第一线路和第二线路,所述第一线路包括用于传输所述冷流的至少一个边缘装置,所述第一线路对应所述第一调度策略,所述第二线路包括用于传输所述温流的至少一个边缘装置,所述第二线路对应所述第二调度策略,将所述第一线路和所述第二线路发送至所述节点管理装置;
所述调度装置,用于向所述节点管理装置查询与所述目标调度策略对应的线路。
9.根据权利要求1-8所述的任一项系统,其特征在于,
所述调度装置,还用于向所述第一边缘装置返回调度响应,所述调度响应指示所述第二边缘装置为所述待接入的边缘装置;
所述第一边缘装置,还用于接收所述调度响应,并根据所述调度响应生成重定向响应,所述重定向响应用于指示所述客户端向所述第二边缘装置发送所述拉流请求,将所述重定向响应发送至所述客户端。
10.一种视频流的调度方法,其特征在于,包括:
所述调度装置接收第一边缘装置发送的调度请求,所述调度请求用于给请求视频流的客户端分配待接入的边缘装置;
所述调度装置获取所述视频流的特征;
所述调度装置根据所述视频流的特征确定所述待接入的边缘装置为第二边缘装置。
11.根据权利要求10所述的方法,其特征在于,所述调度装置存储有至少一个调度策略,所述调度装置根据所述视频流的特征确定所述第二边缘装置,包括:
所述调度装置根据所述视频流的特征,从所述至少一个调度策略中获得目标调度策略;
所述调度装置根据所述目标调度策略确定所述第二边缘装置。
12.根据权利要求11所述的方法,其特征在于,所述视频流的特征包括访问所述视频流的客户端的数量,所述至少一个调度策略包括第一调度策略和第二调度策略,
当所述客户端的数量小于第一阈值时,所述目标调度策略为所述第一调度策略;
当所述客户端的数量大于所述第一阈值,且小于第二阈值时,所述目标调度策略为所述第二调度策略。
13.根据权利要求12所述的方法,其特征在于,所述调度装置根据所述目标调度策略确定所述第二边缘装置,包括:
所述调度装置获取与所述目标调度策略对应的线路;
所述调度装置根据所述视频流的标识和所述视频流的域名,从与所述目标调度策略对应的线路中获取所述第二边缘装置,所述与所述目标调度策略对应的线路包括至少一个边缘装置。
14.根据权利要求13所述的方法,其特征在于,所述视频流的特征还包括目标区域,当所述客户端的数量小于所述第一阈值时,所述第二边缘装置为部署在所述目标区域中的边缘装置。
15.根据权利要求14所述的方法,其特征在于,所述目标区域为所述客户端所处的区域中客户端数量最多的区域。
16.根据权利要求10-15任一项所述的方法,其特征在于,所述视频流调度系统还包括运维装置,所述运维装置存储有所述视频流的流量、所述客户端所属的运营商以及所述客户端所在的区域中的至少一个,所述调度装置获取所述视频流的特征,包括:
所述调度装置向所述运维装置查询所述视频流的特征,所述视频流的特征包括所述视频流的流量、所述客户端所属的运营商以及所述客户端所在的区域中的至少一个。
17.根据权利要求16所述的方法,其特征在于,所述视频流调度系统还包括节点管理装置,在所述调度装置根据所述视频流的特征确定所述第二边缘装置之前,所述方法还包括:
所述调度装置向所述运维装置查询多条历史视频流的特征,每条历史视频流均是通过所述视频流的域名进行访问的且所述每条历史视频流的标识不同;
所述调度装置根据所述多条历史视频流的特征,预测出多个区域的冷流流量值以及每个区域的温流流量值,其中,所述冷流流量值指示访问数量小于所述第一阈值的视频流的流量,所述温流流量值指示访问数量大于所述第一阈值且小于所述第二阈值的视频流的流量;
所述调度装置根据所述冷流流量值和所述温流流量值,配置得到第一线路和第二线路,所述第一线路包括用于传输所述冷流的至少一个边缘装置,所述第一线路对应所述第一调度策略,所述第二线路包括用于传输所述温流的至少一个边缘装置,所述第二线路对应所述第二调度策略;
所述调度装置将所述第一线路和所述第二线路发送至所述节点管理装置;
所述调度装置获取与所述目标调度策略对应的线路,包括:
所述调度装置向所述节点管理装置查询与所述目标调度策略对应的线路。
18.根据权利要求10-17所述的方法,其特征在于,在所述调度装置根据所述视频流的特征确定所述待接入的边缘装置为第二边缘装置之后,所述方法还包括:
所述调度装置向所述第一边缘装置返回调度响应,所述调度响应指示所述第二边缘装置为所述待接入的边缘装置,以使得所述第一边缘装置通知所述客户端向所述第二边缘装置发送所述视频流的拉流请求。
19.一种视频流的调度装置,其特征在于,所述调度装置包括:
接收模块,用于接收第一边缘装置发送的调度请求,所述调度请求用于给请求视频流的客户端分配待接入的边缘装置,获取所述视频流的特征;
调度管理模块,用于根据所述视频流的特征确定所述待接入的边缘装置为第二边缘装置。
20.根据权利要求19所述的调度装置,其特征在于,
所述调度管理模块,用于存储有至少一个调度策略,根据所述视频流的特征,从所述至少一个调度策略中获得目标调度策略,根据所述目标调度策略确定所述第二边缘装置。
21.根据权利要求20所述的调度装置,其特征在于,所述视频流的特征包括访问所述视频流的客户端的数量,所述至少一个调度策略包括第一调度策略和第二调度策略,
当所述客户端的数量小于第一阈值时,所述目标调度策略为所述第一调度策略;
当所述客户端的数量大于所述第一阈值,且小于第二阈值时,所述目标调度策略为所述第二调度策略。
22.根据权利要求21所述的调度装置,其特征在于,
所述调度管理模块,用于获取与所述目标调度策略对应的线路,根据所述视频流的标识和所述视频流的域名,从与所述目标调度策略对应的线路中获取所述第二边缘装置,所述与所述目标调度策略对应的线路包括至少一个边缘装置。
23.根据权利要求22所述的调度装置,其特征在于,所述视频流的特征还包括目标区域,当所述客户端的数量小于所述第一阈值时,所述第二边缘装置为部署在所述目标区域中的边缘装置。
24.根据权利要求23所述的调度装置,其特征在于,所述目标区域为所述客户端所处的区域中客户端数量最多的区域。
25.根据权利要求19-24任一项所述的调度装置,其特征在于,
所述接收模块,用于向运维装置查询所述视频流的特征,所述运维装置存储有所述视频流的流量、所述客户端所属的运营商以及所述客户端所在的区域中的至少一个,所述视频流的特征包括所述视频流的流量、所述客户端所属的运营商以及所述客户端所在的区域中的至少一个。
26.根据权利要求25所述的调度装置,其特征在于,所述调度装置还包括流量预测模块和线路规划模块,
所述接收模块,还用于向所述运维装置查询多条历史视频流的特征,每条历史视频流均是通过所述视频流的域名进行访问的且所述每条历史视频流的标识不同;
所述流量预测模块,用于根据所述多条历史视频流的特征,预测出多个区域的冷流流量值以及每个区域的温流流量值,其中,所述冷流流量值指示访问数量小于所述第一阈值的视频流的流量,所述温流流量值指示访问数量大于所述第一阈值且小于所述第二阈值的视频流的流量;
所述线路规划模块,用于根据所述冷流流量值和所述温流流量值,配置得到第一线路和第二线路,所述第一线路包括用于传输所述冷流的至少一个边缘装置,所述第一线路对应所述第一调度策略,所述第二线路包括用于传输所述温流的至少一个边缘装置,所述第二线路对应所述第二调度策略,将所述第一线路和所述第二线路发送至节点管理装置;
所述调度管理模块,用于向所述节点管理装置查询与所述目标调度策略对应的线路。
27.根据权利要求19-26所述的调度装置,其特征在于,
所述调度管理模块,用于向所述第一边缘装置返回调度响应,所述调度响应指示所述第二边缘装置为所述待接入的边缘装置,以使得所述第一边缘装置通知所述客户端向所述第二边缘装置发送所述视频流的拉流请求。
28.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述存储器存储计算机指令,所述处理器执行所述计算机指令,以使所述计算设备系统执行前述权利要求10-18任一项权利要求所述的方法。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被计算设备执行时,所述计算设备执行前述权利要求10-18任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/099884 WO2022268032A1 (zh) | 2021-06-22 | 2022-06-20 | 一种视频流调度系统及相关产品 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110692153 | 2021-06-22 | ||
CN2021106921537 | 2021-06-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115514981A true CN115514981A (zh) | 2022-12-23 |
Family
ID=84500558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111022800.XA Pending CN115514981A (zh) | 2021-06-22 | 2021-09-01 | 一种视频流调度系统及相关产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115514981A (zh) |
WO (1) | WO2022268032A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116437158B (zh) * | 2023-06-13 | 2023-09-01 | 浙江大华技术股份有限公司 | 视频传输方法、视频传输装置以及计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090150926A1 (en) * | 2007-12-06 | 2009-06-11 | General Instrument Corporation | Method And Apparatus For Delivering SDV Programming With Targeted Advertising To Selected Groups Of Subscribers |
CN107995125B (zh) * | 2017-11-17 | 2021-07-23 | 新华三技术有限公司 | 一种流量调度方法及装置 |
CN108712343A (zh) * | 2018-05-14 | 2018-10-26 | 网宿科技股份有限公司 | 流媒体资源的分发方法、系统、边缘节点及中心调度系统 |
CN112437015A (zh) * | 2019-08-26 | 2021-03-02 | 中国电信股份有限公司 | 分流调度方法、装置、系统和计算机可读存储介质 |
CN111327461B (zh) * | 2020-01-23 | 2022-03-11 | 华为云计算技术有限公司 | 一种基于cdn系统的域名管理方法、装置、设备及介质 |
CN112134954A (zh) * | 2020-09-22 | 2020-12-25 | 京东数字科技控股股份有限公司 | 服务请求处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-09-01 CN CN202111022800.XA patent/CN115514981A/zh active Pending
-
2022
- 2022-06-20 WO PCT/CN2022/099884 patent/WO2022268032A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022268032A1 (zh) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11470148B2 (en) | Content delivery network | |
US11924650B2 (en) | System, method and service product for content delivery | |
US8972493B2 (en) | Cloud delivery with reusable resource indicator | |
CN107113454B (zh) | 配置和提供自适应流式传输视频的清单文件的系统和方法 | |
US8849976B2 (en) | Dynamic route requests for multiple clouds | |
EP3257233B1 (en) | Dynamic content delivery network allocation system | |
CN103201984B (zh) | 用于基于isn存储器的覆盖网络的动态配置的系统和方法 | |
CN104137564A (zh) | 分块内容的受控流送 | |
CN101540775A (zh) | 内容分发方法、装置与内容分发网络系统 | |
CN113296924B (zh) | 一种内容分发方法、设备、系统及存储介质 | |
CN104580016A (zh) | 节点分配方法、装置及系统 | |
Viola et al. | Predictive CDN selection for video delivery based on LSTM network performance forecasts and cost-effective trade-offs | |
Santos et al. | A multi-tier fog content orchestrator mechanism with quality of experience support | |
CN110958279B (zh) | 一种数据处理方法及其装置 | |
WO2022268032A1 (zh) | 一种视频流调度系统及相关产品 | |
CN106209952B (zh) | 服务节点分配方法、装置、cdn管理服务器及系统 | |
WO2010058215A1 (en) | Method and system for content handling | |
Sun et al. | Beyond 1 million nodes: A crowdsourced video content delivery network | |
Dubin et al. | A fair server adaptation algorithm for HTTP adaptive streaming using video complexity | |
CN104683881A (zh) | Vcdn资源控制方法、装置及系统 | |
Meng et al. | Elastic caching solutions for content dissemination services of ip-based internet technologies prospective | |
CN102640515A (zh) | 节目内容获取方法及机顶盒 | |
KR20130113246A (ko) | 온 디맨드형 콘텐츠 전달 오버레이 네트워크 구성 방법 및 장치 | |
Gama et al. | An Orchestrator Architecture for Multi-tier Edge/Cloud Video Streaming Services | |
CN101800751A (zh) | 分布式实时数据编码传输方法 |
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 |