流媒体服务动态负载方法

文档序号:7965667阅读:157来源:国知局
专利名称:流媒体服务动态负载方法
技术领域
本发明涉及一种流媒体服务技术,具体的说是涉及一种流媒体服务动态负 载方法。
背景技术
衡量流媒体服务的服务质量在于响应的速度和播放流畅性。随着流媒体用 户数量的增加,单台服务器无法满足更多流媒体播放的需要;简单的多台累加 效果,不能实现系统的平滑扩容,导致大规模系统应用困难。传统的流媒体服 务服务采用流媒体服务器集中配置存放,从距离上远离用户,虽然具有较高上 联网络出口,由于骨干网路总带宽的限制和远距离的网络延时,导致远程流程体服务不能及时响应播放请求,且播放不流畅。在一些流媒体服务系统中,也使用边缘流媒体服务器在网络边缘为终端用 户提供服务,但是各个边缘流媒体服务器之间不能进行服务压力的负载平衡, 各个边缘流媒体之间压力不均衡,浪费了整个系统的资源。随着网络用户量的增加和网络用户使用带宽要求的增加,骨干网络的压力 日益增大,流媒体的远距离传输越来越不满足系统要求。随着流媒体技术的发 展和家庭娱乐中心的逐步成熟完善,人们对流媒体播放需求在快速增加。随着 流媒体用户的增多,骨干网络日益增大。需要采用一种集群流媒体服务器动态 负载,减轻骨干网络压力,快速响应用户请求的流媒体技术。在系统管理方面 可以实现系统的平滑扩容,简便的进行系统整体资源的调度。此技术可应用在 终端用户数量巨大的IPTV等面向公众的流媒体点播、直播系统的负载调度内。发明内容本发明的目的就在于提供一种效果更好的流媒体服务动态负载方法。 本发明的目的可通过以下措施来实现本发明包括中心媒体服务器(CMS)和边缘媒体服务器(EMS),其方法如下 (1) 、获取当前终端用户所在的区域和当前点播的节目(mpegid);(2) 、获取用户所在的区域对应的访问边缘媒体服务器(EMS)的访问策略表 (strategylist),将访问策略表内的边缘媒体服务器(EMS)按照网络利用率升序和访问优先级的降序排序;(3) 、按照访问策略表内的排序后的顺序依次获取各个边缘媒体服务器(EMS) 上的节目文件列表(mpeglist);(4) 、如果终端用户点播的节目(mpegid)在边缘媒体服务器(EMS)的节目 文件列表(mpeglist)内存在,则判断边缘媒体服务器(EMS)的当前负载是 否超过边缘媒体服务器(EMS)设定的最大网络利用率(Pmax),如果边缘媒体 服务器(EMS)的当前负载超过设定的最大网络利用率(Pmax),则判定策略表 内下一台边缘媒体服务器(EMS)的状态;否则使用该边缘媒体服务器(EMS) 为终端用户提供服务;(5) 、如果在访问策略表(strategylist)内找到可以提供该节目点播的边 缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的当前负载没有超过设置的 最大网络利用率(Pmax),则使用该边缘媒体服务器(EMS)为终端用户提供服 务;(6) 、如果在访问策略表(strategylist)没有找到可以支持用户节目点播 的边缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的负载小于设置的最大 利用率(Pmax),则开始判定中心媒体服务器(CMS)是否可以为用户提供服务;(7) 、获取系统内的中心媒体服务器(CMS)列表(cmslist),并按照当前网 络利用率从小到大排序;(8) 、依次获取各个中心媒体服务器(CMS)上的节目文件列表(mpeglist), 判定用户点播的节目在中心媒体服务器(CMS)的节目文件列表内是否存在, 如果节目文件不存在,则使用下一个中心媒体服务器(CMS)进行服务,如果 存在,则判定中心媒体服务器(CMS)的当前负载是否超过设定的最大网络利 用率(Pmax),如果超过,则使用下一个中心媒体服务器(CMS)提供服务,否则,使用当前中心媒体服务器(CMS)对终端用户提供服务;(9)、如果所有的中心媒体服务器(CMS)都不能提供用户所需的节目点播 或者超过设定的最大网络利用率,则提示用户点播失败,否则,使用一个可以 支持用户点播且网络利用率最小的中心媒体服务器(CMS)为终端用户提供流 媒体服务。本发明中负载为网络利用率(Pl)或中央处理器CPU利用率或用户连接数。 本发明中区域为终端用户的类型或终端用户的所在地等。本发明由于采用上述方法,可实现流媒体服务器的集群负载,流媒体终端 用户按照所在区域,可在最近负载最轻的流媒体服务器上进行流媒体访问,可 整合整个系统的流媒体服务器资源,实现全网负载均衡,保证用户的流畅点播, 减轻骨干网络的压力。


附图是本发明的程序流程图;具体实施方式
本发明以下结合附图和实施例作以详细的描述 实施例1如图所示,本发明包括中心媒体服务器(CMS)和边缘媒体服务器(EMS), 其方法如下(1) 、获取当前终端用户所在的区域和当前点播的节目(mpegid);(2) 、获取用户所在的区域对应的访问边缘媒体服务器(EMS)的访问策略表 (strategylist),将访问策略表内的边缘媒体服务器(EMS)按照网络利用率升序和访问优先级的降序排序;(3) 、按照访问策略表内的排序后的顺序依次获取各个边缘媒体服务器(EMS) 上的节目文件列表(mpeglist);(4) 、如果终端用户点播的节目(mpegid)在边缘媒体服务器(EMS)的节目 文件列表(mpeglist)内存在,则判断边缘媒体服务器(EMS)的当前负载是 否超过边缘媒体服务器(EMS)设定的最大网络利用率(Pmax),如果边缘媒体 服务器(EMS)的当前负载超过设定的最大网络利用率(Pmax),则判定策略表 内下一台边缘媒体服务器(EMS)的状态;否则使用该边缘媒体服务器(EMS) 为终端用户提供服务;(5) 、如果在访问策略表(strategylist)内找到可以提供该节目点播的边 缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的当前负载没有超过设置的 最大网络利用率(Pmax),则使用该边缘媒体服务器(EMS)为终端用户提供服 务;(6) 、如果在访问策略表(strategylist)没有找到可以支持用户节目点播 的边缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的负载小于设置的最大 利用率(Pmax),则开始判定中心媒体服务器(CMS)是否可以为用户提供服务;(7) 、获取系统内的中心媒体服务器(CMS)列表(cmslist),并按照当前网 络利用率从小到大排序;(8) 、依次获取各个中心媒体服务器(CMS)上的节目文件列表(mpeglist), 判定用户点播的节目在中心媒体服务器(CMS)的节目文件列表内是否存在, 如果节目文件不存在,则使用下一个中心媒体服务器(CMS)进行服务,如果 存在,则判定中心媒体服务器(CMS)的当前负载是否超过设定的最大网络利 用率(Pmax),如果超过,则使用下一个中心媒体服务器(CMS)提供服务,否 则,使用当前中心媒体服务器(CMS)对终端用户提供服务; (9)、如果所有的中心媒体服务器(CMS)都不能提供用户所需的节目点播 或者超过设定的最大网络利用率,则提示用户点播失败,否则,使用一个可以 支持用户点播且网络利用率最小的中心媒体服务器(CMS)为终端用户提供流 媒体服务。实施例2本发明包括中心媒体服务器(CMS)和边缘媒体服务器(EMS),其方法如下(1) 、获取当前终端用户所在的区域和当前点播的节目(mpegid);(2) 、获取用户所在的区域对应的访问边缘媒体服务器(EMS)的访问策略表 (strategylist),将访问策略表内的边缘媒体服务器(EMS)按照网络利用率升序和访问优先级的降序排序;(3) 、按照访问策略表内的排序后的顺序依次获取各个边缘媒体服务器(EMS )上的节目文件列表(mpeglist);(4) 、如果终端用户点播的节目(mpegid)在边缘媒体服务器(EMS)的节目 文件列表(mpeglist)内存在,则判断边缘媒体服务器(EMS)的当前负载是 否超过边缘媒体服务器(EMS)设定的最大网络利用率(Pmax),如果边缘媒体 服务器(EMS)的当前负载超过设定的最大网络利用率(Pmax),则判定策略表 内下一台边缘媒体服务器(EMS)的状态;否则使用该边缘媒体服务器(EMS) 为终端用户提供服务;(5) 、如果在访问策略表(strategylist)内找到可以提供该节目点播的边 缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的当前负载没有超过设置的 最大网络利用率(Pmax),则使用该边缘媒体服务器(EMS)为终端用户提供服 务;(6) 、如果在访问策略表(strategylist)没有找到可以支持用户节目点播 的边缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的负载小于设置的最大 利用率(Pmax),则开始判定中心媒体服务器(CMS)是否可以为用户提供服务;(7) 、获取系统内的中心媒体服务器(CMS)列表(cmslist),并按照当前网 络利用率从小到大排序;(8) 、依次获取各个中心媒体服务器(CMS)上的节目文件列表(mpeglist), 判定用户点播的节目在中心媒体服务器(CMS)的节目文件列表内是否存在, 如果节目文件不存在,则使用下一个中心媒体服务器(CMS)进行服务,如果 存在,则判定中心媒体服务器(CMS)的当前负载是否超过设定的最大网络利 用率(Pmax),如果超过,则使用下一个中心媒体服务器(CMS)提供服务,否则,使用当前中心媒体服务器(CMS)对终端用户提供服务;(9)、如果所有的中心媒体服务器(CMS)都不能提供用户所需的节目点播 或者超过设定的最大网络利用率,则提示用户点播失败,否则,使用一个可以 支持用户点播且网络利用率最小的中心媒体服务器(CMS)为终端用户提供流 媒体服务。本发明中负载为网络利用率(PI)或中央处理器CPU利用率或用户连接数等。实施例3本发明包括中心媒体服务器(CMS)和边缘媒体服务器(EMS),其方法如下(1) 、获取当前终端用户所在的区域和当前点播的节目(mpegid);(2) 、获取用户所在的区域对应的访问边缘媒体服务器(EMS)的访问策略表 (strategylist),将访问策略表内的边缘媒体服务器(EMS)按照网络利用率升序和访问优先级的降序排序;(3) 、按照访问策略表内的排序后的顺序依次获取各个边缘媒体服务器(EMS ) 上的节目文件列表(mpeglist);(4) 、如果终端用户点播的节目(mpegid)在边缘媒体服务器(EMS)的节目
文件列表(即eglist)内存在,则判断边缘媒体服务器(EMS)的当前负载是 否超过边缘媒体服务器(EMS)设定的最大网络利用率(Pmax),如果边缘媒体 服务器(EMS)的当前负载超过设定的最大网络利用率(Pmax),则判定策略表 内下一台边缘媒体服务器(EMS)的状态;否则使用该边缘媒体服务器(EMS) 为终端用户提供服务;(5) 、如果在访问策略表(strategylist)内找到可以提供该节目点播的边 缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的当前负载没有超过设置的 最大网络利用率(Pmax),则使用该边缘媒体服务器(EMS)为终端用户提供服 务;(6) 、如果在访问策略表(strategylist)没有找到可以支持用户节目点播 的边缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的负载小于设置的最大 利用率(Pmax),则开始判定中心媒体服务器(CMS)是否可以为用户提供服务;(7) 、获取系统内的中心媒体服务器(CMS)列表(cmslist),并按照当前网 络利用率从小到大排序;(8) 、依次获取各个中心媒体服务器(CMS)上的节目文件列表(mpeglist), 判定用户点播的节目在中心媒体服务器(CMS)的节目文件列表内是否存在, 如果节目文件不存在,则使用下一个中心媒体服务器(CMS)进行服务,如果 存在,则判定中心媒体服务器(CMS)的当前负载是否超过设定的最大网络利 用率(Pmax),如果超过,则使用下一个中心媒体服务器(CMS)提供服务,否则,使用当前中心媒体服务器(CMS)对终端用户提供服务;(9)、如果所有的中心媒体服务器(CMS)都不能提供用户所需的节目点播 或者超过设定的最大网络利用率,则提示用户点播失败,否则,使用一个可以 支持用户点播且网络利用率最小的中心媒体服务器(CMS)为终端用户提供流
媒体服务。区域为终端用户的类型或终端用户的所在地。实施例4本发明的方法具体是此流媒体动态负载技术将用户按照区域进行划分,流媒体服务器的采用分 布式架设,在各个区域架设对应的流媒体服务器,在本地响应用户的流媒体请 求,响应速度,网络质量和流媒体播放质量将可以大大提高。技术内容主要包 括五个部分配置流媒体服务器配置,用户按区域划分分组,用户分组负载策 略配置,流媒体服务器负载检查,门户负载调度。五个部分配合将用户负载到 距离最近,负载最轻的流媒体服务器上。终端用户对应到一个用户分组中,用户分组可以配置对应优先访问的边缘 流媒体服务器(EMS)。终端用户在进行流媒体访问时,按照当前终端用户所在 用户分组,系统根据分组配置的负载策略表中找到一个可用、负载最小的边缘 流媒体服务器,分给终端用户访问。如果未找到可用的边缘流媒体服务器,则 使用中心流媒体服务器为终端用户提供服务。配置流媒体服务器配置流媒体服务器的配置主要包括服务器IP,服务器的端口,协议和最大网络利用率等。服务器的种类包括中心媒体服务器(CMS )和边缘媒体服务器(EMS )。流媒体服务器的负载检査主要为监测流媒体服务器的网络利用率(也可以是CPU利用率或用户连接数)。在提供指定码流流媒体服务时, 一个服务器的 网络利用率(也可以是CPU利用率或用户连接数)反映了整个服务器的整体负 载状态。配置流媒体服务器的最大网络利用率(也可以是最大CPU利用率或最大用 户连接数),当服务器的网络利用率超过此配置的最大值时,该服务器不再只 对已连接的用户提供服务,负载调度器不再负载新的用户到此服务器。
用户按区域划分分组-将终端用户按照所在地和用户类型,在流媒体负载调度的门户系统上,将 用户进行划分。不同区域的用户配置在不同的用户分组中。 用户分组负载策略配置在用户分组的流媒体点播负载分略配置中,可配置用户分组优先访问的流 媒体服务器,次优先访问的流媒体服务器, 一个分组可以配置任意个优先访问 的流媒体服务器。流媒体服务器负载检査-采用一个定时采集的后台程序,定时轮询各个流媒体服务器的负载状态, 将流媒体服务器的实时网络负载状态记录在数据库中,供负载调度使用。 访问负载调度流媒体服务器的负载调度将用户负载到其所在用户分组配置的优先级最 高、负载最轻且负载值小于配置的最大负载值得服务器上。按照当前访问的用 户的标示,获取用户所在的用户分组;通过用户分组获取用户分组配置的按优 先级访问的流媒体服务器;依照优先级顺序判定利用率最低的流媒体服务器; 将用户引导到负载最轻的流媒体服务器上。具体实现流程同上述实施例。
权利要求
1、一种流媒体服务动态负载方法,其特征在于它包括中心媒体服务器(CMS)和边缘媒体服务器(EMS),其方法如下(1)、获取当前终端用户所在的区域和当前点播的节目(mpegid);(2)、获取用户所在的区域对应的访问边缘媒体服务器(EMS)的访问策略表(strategylist),将访问策略表内的边缘媒体服务器(EMS)按照网络利用率升序和访问优先级的降序排序;(3)、按照访问策略表内的排序后的顺序依次获取各个边缘媒体服务器(EMS)上的节目文件列表(mpeglist);(4)、如果终端用户点播的节目(mpegid)在边缘媒体服务器(EMS)的节目文件列表(mpeglist)内存在,则判断边缘媒体服务器(EMS)的当前负载是否超过边缘媒体服务器(EMS)设定的最大网络利用率(Pmax),如果边缘媒体服务器(EMS)的当前负载超过设定的最大网络利用率(Pmax),则判定策略表内下一台边缘媒体服务器(EMS)的状态;否则使用该边缘媒体服务器(EMS)为终端用户提供服务;(5)、如果在访问策略表(strategylist)内找到可以提供该节目点播的边缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的当前负载没有超过设置的最大网络利用率(Pmax),则使用该边缘媒体服务器(EMS)为终端用户提供服务;(6)、如果在访问策略表(strategylist)没有找到可以支持用户节目点播的边缘媒体服务器(EMS)且该边缘媒体服务器(EMS)的负载小于设置的最大利用率(Pmax),则开始判定中心媒体服务器(CMS)是否可以为用户提供服务;(7)、获取系统内的中心媒体服务器(CMS)列表(cmslist),并按照当前网络利用率从小到大排序;(8)、依次获取各个中心媒体服务器(CMS)上的节目文件列表(mpeglist),判定用户点播的节目在中心媒体服务器(CMS)的节目文件列表内是否存在,如果节目文件不存在,则使用下一个中心媒体服务器(CMS)进行服务,如果存在,则判定中心媒体服务器(CMS)的当前负载是否超过设定的最大网络利用率(Pmax),如果超过,则使用下一个中心媒体服务器(CMS)提供服务,否则,使用当前中心媒体服务器(CMS)对终端用户提供服务;(9)、如果所有的中心媒体服务器(CMS)都不能提供用户所需的节目点播或者超过设定的最大网络利用率,则提示用户点播失败,否则,使用一个可以支持用户点播且网络利用率最小的中心媒体服务器(CMS)为终端用户提供流媒体服务。
2、 根据权利要求1所述的流媒体服务动态负载方法,其特征在于所述 负载为网络利用率(Pl)。
3、 根据权利要求1所述的流媒体服务动态负载方法,其特征在于所述 负载为中央处理器CPU利用率。
4、 根据权利要求1所述的流媒体服务动态负载方法,其特征在于所述负载为用户连接数。
5、 根据权利要求1或2或3或4所述的流媒体服务动态负载方法,其特 征在于所述区域为终端用户的类型。
6、 根据权利要求1或2或3或4所述的流媒体服务动态负载方法,其特征在于所述区域为终端用户的所在地。
全文摘要
本发明公开了一种流媒体服务动态负载方法,将终端用户按照区域进行用户分组的划分,用户分组可以配置对应优先访问的流媒体服务器。按照终端用户所在用户分组,系统根据分组配置的负载策略表找到一个可用、负载最小的边缘流媒体服务器,分给终端用户访问。如果未找到可用的边缘流媒体服务器,则使用中心流媒体服务器为终端用户提供服务。本发明由于采用上述方法,可实现流媒体服务器的集群负载,流媒体终端用户可在最近负载最轻的流媒体服务器上进行流媒体访问,可整合整个系统的流媒体服务器资源,实现全网负载均衡,保证用户的流畅点播,减轻骨干网络的压力。
文档编号H04L29/02GK101132393SQ20061010693
公开日2008年2月27日 申请日期2006年8月25日 优先权日2006年8月25日
发明者张永强, 朱建永, 李国勇, 李宏凡, 李洪坤, 王天还, 贾小波 申请人:郑州威科姆电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1