利用边缘服务节点为流媒体应用进行加速处理方法和系统
技术领域
本申请涉及流媒体加速领域,更具体地,涉及一种利用边缘服务节点为流媒体应用进行加速处理的方法和系统。
背景技术
现有技术中,CDN(Content Delivery Network,内容分发网络) 是构建在数据网络上的一种分布式的内容分发网。 CDN的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避免单点失效带来的不良影响。CDN利用全局负载均衡技术将用户的访问指向离用户最近的工作正常的流媒体服务器上,由流媒体服务器直接响应用户的请求。服务器中如果没有用户要访问的内容,会根据配置自动从原服务器抓取相应的内容并提供给用户。
对等计算(Peer to Peer,P2P)可以简单的定义成通过直接交换来共享计算机资源和服务,而对等计算模型应用层形成的网络通常称为对等网络。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来说不依赖专用的集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求作出响应,提供资源和服务。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU的共享)、存储共享(如缓存和磁盘空间的使用)等。
现有技术中,流媒体是指以流的方式在网络中传输音频、视频和多媒体文件的形式。目前在线点播、在线直播视频,视频通话等流媒体应用已经被广泛使用。关于流媒体服务的播放体验,以及其耗费的大量带宽也被广泛关注。
在线点播的主要方式为用户下载网站存储到服务器的视频资源频道, 缓存一小部分之后就可以边下边播。为了提高下载速度,网站会在离用户比较近的idc机房假设服务器,并把内容提前分发过来。这套内容分发网络(content Delivery Network)简称为CDN。
在线直播一般采用称为对等网络的技术。所谓对等网络,又称为P2P网络, 是无中心服务器、依靠用户群(peers)交换信息的互联网体系。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能。P2P网络的一个重要的目标就是让所有的客户端都能提供资源,包括带宽,存储空间和计算能力。
为了解决构建CDN网络的带宽成本和P2P网络不稳定的稳定的问题,后来发展出了混合型的网络, 采用CDN+P2P的方式,也称为P2SP。
目前,采用CDN网络、P2P网络或者P2SP网络的流媒体应用都存在一些不足。
1. 纯CDN网络。播放质量依赖于CDN网络的架设情况,一些小的宽带运营商出口带宽小,在内部架设CDN网络成本高,CDN的热点策略也难以生效。CDN网络带宽成本高昂。
2. 发布源+P2P的方式(基本依赖P2P)。P2P需要有大量高质量的Peer,已经缓存了需要的资源频道, 因此新发布的资源效果会比较差。P2P网络还需要Peer有一定的存储能力,上行带宽,这些都不好保证一定能从用户那得到。
3. CDN + P2P。CDN系统与P2P系统通过一定策略协同工作,可以保证用户比较好的下载体验。但是,Peer端仍然受限于存储能力和上行带宽,质量没法保证。CDN还是会受制于部署方式,不能与P2P网络有效的配合工作, 带宽成本仍然很高。
如何解决上述不足,成为亟待解决的技术问题。
发明内容
有鉴于此,本申请提供一种利用边缘服务节点为流媒体应用进行加速处理的方法和系统,以解决现有技术中无法配合CDN网络和P2P网络进行稳定的加速服务等问题。
本申请公开了一种利用边缘服务节点为流媒体应用进行加速处理的方法,其特征在于,步骤为:
获取流媒体系统内为CDN网络还是P2P网络,然后在获取流媒体频道号信息、频道用户的规模信息、频道用户的区域分布信息和频道的服务质量衡量值;
根据预置的用户规模阈值N1和服务质量阈值N2,当判断到获取的所述频道用户的规模信息超过所述用户规模阈值N1,以及频道的服务质量衡量值低于所述服务质量阈值N2时,则根据所述频道用户的区域分布信息获取该区域内相对应的边缘节点,根据所述边缘节点对流媒体频道号信息进行加速处理;
进行加速处理的所述边缘节点从所述流媒体系统中下载到数据并存储到本地缓存,并把所述本地缓存的数据分享到所述流媒体系统中;
当判断到被加速处理的所述流媒体频道号信息中的所述频道用户的规模信息低于或等于所述用户规模阈值N1时,则通知进行加速处理的所述边缘节点退出,并清除对应的本地缓存中的数据。
优选地,其中,所述获取流媒体系统内为CDN网络还是P2P网络,然后在获取流媒体频道号信息、频道用户的规模信息、频道用户的区域分布信息和频道的服务质量衡量值;进一步为:
获取流媒体系统内为CDN网络还是P2P网络,当判断为CDN网络时,从CDN网络获取流媒体频道号信息、频道用户的规模信息、频道用户的区域分布信息和频道的服务质量衡量值;
当判断为P2P网络时,从P2P网络获取流媒体频道号信息、频道用户的规模信息、频道用户的P2P连接信息、频道用户的区域分布信息和频道的服务质量衡量值。
优选地,其中,所述边缘节点,进一步为:边缘加速服务节点,该边缘加速服务节点设置在用户的本地运营商机房、智能路由器、机顶盒或PC服务器等内部。
优选地,其中,所述频道用户的P2P连接信息,包括:用户的外网IP地址、内网IP地址、用户的nat打洞服务器的地址、及用户在P2P内部的标示ID。
本申请还公开了一种利用边缘服务节点为流媒体应用进行加速处理的系统,其特征在于,包括:加速频道决策模块和边缘节点模块,该系统与流媒体系统相耦接,其中,
所述加速频道决策模块,分别与所述边缘节点模块和流媒体系统相耦接,用于获取流媒体系统内为CDN网络还是P2P网络,然后在获取流媒体频道号信息、频道用户的规模信息、频道用户的区域分布信息和频道的服务质量衡量值;根据预置的用户规模阈值N1和服务质量阈值N2,当判断到获取的所述频道用户的规模信息超过所述用户规模阈值N1,以及频道的服务质量衡量值低于所述服务质量阈值N2时,则根据所述频道用户的区域分布信息获取该区域内相对应的边缘节点,并将该边缘节点发送给所述边缘节点模块;当判断到被加速处理的所述流媒体频道号信息中的所述频道用户的规模信息低于或等于所述用户规模阈值N1时,则通知所述边缘节点模块对进行加速处理的所述边缘节点退出,并清除对应的本地缓存中的数据;
所述边缘节点模块,分别与所述加速频道决策模块和流媒体系统相耦接,用于根据所述边缘节点对流媒体频道号信息进行加速处理;从所述流媒体系统中下载到数据并存储到本地缓存,并把所述本地缓存的数据分享到所述流媒体系统中;根据所述加速频道决策模块发送的退出信息,执行所述边缘节点退出,并清除对应的本地缓存中的数据。
优选地,其中,所述加速频道决策模块,进一步用于获取流媒体系统内为CDN网络还是P2P网络,当判断为CDN网络时,从CDN网络获取流媒体频道号信息、频道用户的规模信息、频道用户的区域分布信息和频道的服务质量衡量值;
当判断为P2P网络时,从P2P网络获取流媒体频道号信息、频道用户的规模信息、频道用户的P2P连接信息、频道用户的区域分布信息和频道的服务质量衡量值。
优选地,其中,所述边缘节点模块,进一步为:边缘加速服务节点,该边缘加速服务节点设置在用户的本地运营商机房、智能路由器、机顶盒或PC服务器等内部。
优选地,其中,所述频道用户的P2P连接信息,包括:用户的外网IP地址、内网IP地址、用户的nat打洞服务器的地址、及用户在P2P内部的标示ID。
与现有技术相比,本申请所述的利用边缘服务节点为流媒体应用进行加速处理的方法和系统,达到了如下效果:
1)本发明通过增加一种称为“边缘加速”的服务来一并配合CDN网络和P2P网络,通过增加一种边缘加速服务来,来改进既有的流媒体技术,并且不需要改变原有的技术架构,改进后从中分析出需要加速的流媒体频道,将边缘加速节点部署在服务质量较好的运营商机房内。
2)本发明实现了加速服务,由于边缘加速节点比一般的用户在网络水平, 存储能力,负载水平都要好,可以有效提高频道的服务质量。
3)本发明同时适应各种流媒体技术,在不改变原技术的基础上部署到各种流媒体应用中,并提升原系统的服务质量和缩减运营成本。本发明部署灵活,可以应用到目前常用的各种流媒体应用中,而无论流媒体应用在实践中采用了什么网络结构,包括(但不限于)CDN、P2P、P2SP类型的网络架构。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例一所述的利用边缘服务节点为流媒体应用进行加速处理的方法流程图;
图2为本发明实施例二所述的利用边缘服务节点为流媒体应用进行加速处理的系统结构图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
如图1所示,为依据本发明实施例一所述的利用边缘服务节点为流媒体应用进行加速处理的方法,该方法步骤包括:
步骤101,获取流媒体系统内为CDN网络还是P2P网络,然后在获取流媒体频道号信息、频道用户的规模信息、频道用户的区域分布信息和频道的服务质量衡量值;
步骤102,根据预置的用户规模阈值N1和服务质量阈值N2,当判断到获取的所述频道用户的规模信息超过所述用户规模阈值N1,以及频道的服务质量衡量值低于所述服务质量阈值N2时,则根据所述频道用户的区域分布信息获取该区域内相对应的边缘节点,根据所述边缘节点对流媒体频道号信息进行加速处理;
步骤103,进行加速处理的所述边缘节点(伪装成该频道的超级用户)从所述流媒体系统(可以从CDN网络,也可以从P2P网络)中下载到数据并存储到本地缓存,并把所述本地缓存的数据分享到所述流媒体系统中;
步骤104,当判断到被加速处理的所述流媒体频道号信息中的所述频道用户的规模信息低于或等于所述用户规模阈值N1时,则通知进行加速处理的所述边缘节点退出,并清除对应的本地缓存中的数据。
具体地,对于步骤101来说,获取流媒体系统内为CDN网络还是P2P网络,当判断为CDN网络时,从CDN网络获取流媒体系统的各个频道的服务情况,具体包括:流媒体频道号信息、频道用户的规模信息、频道用户的区域分布信息和频道的服务质量衡量值;
当判断为P2P网络时,从P2P网络获取流媒体系统的各个频道的服务情况,具体包括:流媒体频道号信息、频道用户的规模信息、频道用户的P2P连接信息(所述频道用户的P2P连接信息:用于接入到P2P网络,并连接到相应的用户来进行数据的分享。这个所述频道用户的P2P连接信息的内容取决于具体的P2P网络,包括:用户的外网IP地址、内网IP地址、用户的nat打洞服务器的地址、及用户在P2P内部的标示ID等内容)、频道用户的区域分布信息和频道的服务质量衡量值。
所述边缘节点,进一步为:边缘加速服务节点,该边缘加速服务节点设置在用户的本地运营商机房、智能路由器、机顶盒或PC服务器等内部。(具体可以是部署普通用户家里智能路由器、机顶盒或PC服务器等内部)。
如图2所示,为依据本发明实施例二所述的利用边缘服务节点为流媒体应用进行加速处理的系统,该系统包括:加速频道决策模块201和边缘节点模块202,该系统与流媒体系统203相耦接,其中,
所述加速频道决策模块201,分别与所述边缘节点模块202和流媒体系统203相耦接,用于获取流媒体系统内为CDN网络2031还是P2P网络2032,然后在获取流媒体频道号信息、频道用户的规模信息、频道用户的区域分布信息和频道的服务质量衡量值;根据预置的用户规模阈值N1和服务质量阈值N2,当判断到获取的所述频道用户的规模信息超过所述用户规模阈值N1,以及频道的服务质量衡量值低于所述服务质量阈值N2时,则根据所述频道用户的区域分布信息获取该区域内相对应的边缘节点,并将该边缘节点发送给所述边缘节点模块202;当判断到被加速处理的所述流媒体频道号信息中的所述频道用户的规模信息低于或等于所述用户规模阈值N1时,则通知所述边缘节点模块202对进行加速处理的所述边缘节点退出,并清除对应的本地缓存中的数据。
所述边缘节点模块202,分别与所述加速频道决策模块201和流媒体系统203相耦接,用于根据所述边缘节点对流媒体频道号信息进行加速处理;从所述流媒体系统203中下载到数据并存储到本地缓存,并把所述本地缓存的数据分享到所述流媒体系统中;根据所述加速频道决策模块201发送的退出信息,执行所述边缘节点退出,并清除对应的本地缓存中的数据。
具体地,所述加速频道决策模块201,用于获取流媒体系统203内为CDN网络还是P2P网络,当判断为CDN网络2031时,从CDN网络获取流媒体系统203的各个频道的服务情况,具体包括:流媒体频道号信息、频道用户的规模信息、频道用户的区域分布信息和频道的服务质量衡量值;
当判断为P2P网络2032时,从P2P网络获取流媒体系统203的各个频道的服务情况,具体包括:流媒体频道号信息、频道用户的规模信息、频道用户的P2P连接信息(所述频道用户的P2P连接信息:用于接入到P2P网络,并连接到相应的用户来进行数据的分享。这个所述频道用户的P2P连接信息的内容取决于具体的P2P网络,包括:用户的外网IP地址、内网IP地址、用户的nat打洞服务器的地址、及用户在P2P内部的标示ID等内容)、频道用户的区域分布信息和频道的服务质量衡量值。
所述边缘节点模块202,进一步为:边缘加速服务节点,该边缘加速服务节点设置在用户的本地运营商机房、智能路由器、机顶盒或PC服务器等内部。
结合附图2所示,本发明实施例三的应用实施例为所述的利用边缘服务节点为流媒体应用进行加速处理的系统;其中,所述边缘节点模块202为服务于特定区域T的边缘加速节点;用户A和用户B是T区域内的用户;CDN网络2031是用户使用的CDN网络;P2P网络2032是用户使用的P2P网络。
步骤1,当加速频道决策模块201从CDN网络2031或者P2P网络2032得知区域T内的用户A、用户B(及其他用户,规模超过阈值N1)在观看频道C,并且整体服务质量小于N2时,则通知所述边缘节点模块202对频道C来进行加速。
步骤2,所述边缘节点模块202收到加速频道C的决策后,会向CDN网络2031及P2P网络2032注册,并开始缓存频道C的数据。
步骤3,所述边缘节点模块202获取数据的方式和用户A和用户B的方式一致:既可以从CDN网络2031上或者,也可以从P2P网络2032上获得。
步骤4,所述边缘节点模块202缓存完成后,会通知CDN网络2031和P2P网络2032,其会进一步会通知用户A及用户B连接并使用所述边缘节点模块202,以达到改善服务的质量的目标。
与现有技术相比,本申请所述的利用边缘服务节点为流媒体应用进行加速处理的方法和系统,达到了如下效果:
1)本发明通过增加一种称为“边缘加速”的服务来一并配合CDN网络和P2P网络,通过增加一种边缘加速服务来,来改进既有的流媒体技术,并且不需要改变原有的技术架构,改进后从中分析出需要加速的流媒体频道,将边缘加速节点部署在服务质量较好的运营商机房内。
2)本发明实现了加速服务,由于边缘加速节点比一般的用户在网络水平, 存储能力,负载水平都要好,可以有效提高频道的服务质量。
3)本发明同时适应各种流媒体技术,在不改变原技术的基础上部署到各种流媒体应用中,并提升原系统的服务质量和缩减运营成本。本发明部署灵活,可以应用到目前常用的各种流媒体应用中,而无论流媒体应用在实践中采用了什么网络结构,包括(但不限于)CDN、P2P、P2SP类型的网络架构。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者系统中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。