公开/公告号CN101557499A
专利类型发明专利
公开/公告日2009-10-14
原文格式PDF
申请/专利权人 中兴通讯股份有限公司;
申请/专利号CN200810088965.5
发明设计人 李木金;
申请日2008-04-09
分类号H04N7/173(20060101);H04N7/16(20060101);H04L29/06(20060101);
代理机构
代理人
地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部
入库时间 2023-12-17 22:48:43
法律状态公告日
法律状态信息
法律状态
2018-05-01
未缴年费专利权终止 IPC(主分类):H04N21/254 授权公告日:20110824 终止日期:20170409 申请日:20080409
专利权的终止
2011-08-24
授权
授权
2010-02-24
实质审查的生效
实质审查的生效
2009-10-14
公开
公开
技术领域
本发明涉及因特网网络电视(IPTV,Internet Protocol Television)领域,特别是一种媒体交付系统及方法、媒体交付系统资源更新方法。
背景技术
随着电信IPTV业务的不断商业化和成熟,使用IPTV业务的用户也将越来越多,新增用户数也将逐年大幅度递增,这对IPTV媒体交付系统提出了更高的要求和挑战。IPTV业务范围和用户数量的不断扩展势必会加重IPTV媒体交付系统的负载,带来用户终端的响应时间延长、播放质量下降、用户体验差等诸多问题。当前的解决方案有以下三种:第一,提高IPTV承载网的带宽,使数据传输得更快速顺畅,但随之也带来了因IPTV承载网改造而导致的建设成本提高,且其扩展性不强,因为网络带宽的增长速度总是低于用户数量的增长速度;第二,提高IPTV媒体交付系统的服务器的硬件性能,包括,CPU频率、内存容量等性能指标,然而,高性能的服务器购买价格和维护费用都非常昂贵,也提高了IPTV媒体交付系统的建设成本;第三,采用IPTV媒体交付系统,如图1所示,IPTV媒体交付系统由中心节点、次中心节点和边缘节点组成。中心节点存储所有的媒体内容,中心节点分别连接直播源或片库、若干次中心节点,各次中心节点存储管辖区域的所有内容,次中心节点下连接若干边缘节点,各边缘节点存储次中心节点管辖区域的部分内容,并向用户终端即机顶盒提供媒体内容。各节点由若干个接入节点(POP,Point of Present)单元所组成,而每一个POP单元由若干台流媒体服务器组成。但是,现有的IPTV媒体交付系统只具备较单一的负载均衡调度策略,例如,按照用户请求媒体流的顺序依次调度到不同的POP单元中的流媒体服务器上,或者,按照不同的POP单元的流媒体服务器中的并发流数来调度到不同的流媒体服务器上。按照用户的请求流的顺序进行调度时效性不强,很可能存在多台服务器利用率不高的问题;按照并发流的数量进行调度则没有考虑各个流媒体服务器之间的性能差异,用户端的网络差异和流媒体文件的码率差异。这些轻量级的负载均衡策略已无法满足IPTV业务增长的需要。
发明内容
有鉴于此,本发明的主要目的在于提供一种媒体交付系统,减少了共享存储器的访问压力,提高了系统效率。
本发明的另一目的在于提供一种媒体交付方法,动态监测,合理高效。
本发明的另一目的在于提供一种媒体交付系统资源更新方法,使流媒体服务器负载均衡,系统效率提高。
为达到上述目的,本发明的技术方案是这样实现的:
一种媒体交付系统,该系统包括至少一个内容交付网络节点,该节点包括:
至少一个管理单元,用于管理其辖区内的媒体内容分布,接受其辖区内的用户终端的媒体内容请求;
至少一个POP单元,用于对节点辖区下单个小区的媒体内容分布式存储,向用户终端交付所请求的媒体内容,其中,热片由流媒体服务器向用户终端交付,冷片由共享存储器向用户终端交付。
所述POP单元包括:
共享存储器,用于存储所属节点辖区内的全部媒体内容,接受流媒体服务器的访问;
至少一个流媒体服务器,用于存储其所属区域的热片,向用户终端交付所请求的热片;或根据用户终端的冷片请求访问共享存储器,向用户终端交付所请求的冷片。
所述流媒体服务器还用于向管理单元上报自身的媒体内容请求量;
管理单元还用于根据所述媒体内容请求量,将其辖区内的媒体内容划分为冷片、热片;
所述热片是指媒体内容请求量超过阈值的媒体内容,所述冷片是指媒体内容请求量未超过阈值的媒体内容。
所述流媒体服务器还用于向管理单元上报自身负载能力值参数;
管理单元还用于根据所述负载能力值参数计算各流媒体服务器的负载能力值,并选择流媒体服务器向用户终端交付媒体内容。
所述管理单元包括通讯模块、监控模块、查找模块、计算模块和数据存储模块,
通讯模块,用于接收用户终端的媒体内容请求,向监控模块发送用户终端请求的媒体内容;根据监控模块的统计结果,向用户终端返回交付媒体内容的流媒体服务器地址;将流媒体服务器上报的媒体内容请求量发送监控模块;
监控模块,用于接收通讯模块发送的用户终端请求的媒体内容,向查找模块发送查找媒体内容命令;根据查找模块反馈的查找结果,向计算模块发送计算流媒体服务器负载能力值命令;实时统计所属节点辖区各媒体内容的请求次数,将媒体内容划分为冷片、热片,向通讯模块返回交付媒体内容的流媒体服务器地址;
查找模块,用于根据监控模块的命令,在数据存储模块中查找用户终端请求的媒体内容的信息,并向监控模块反馈查找结果;
计算模块,用于根据监控模块的计算流媒体服务器负载能力值命令,统计流媒体服务器的负载能力值,选出向用户终端交付所请求的媒体内容的流媒体服务器,将所述流媒体服务器的地址发送到监控模块;
数据存储模块,用于存储该节点下各流媒体服务器中热片存储信息及该节点存储的媒体内容信息。
所述管理单元、流媒体服务器均配置公网IP地址。
所述负载能力值的计算基于CPU资源、存储IO资源、网卡流量或带宽资源、套接字连接数或句柄、综合能力资源中的至少一项。
所述负载能力值θ的计算公式为:
θ=Wij*(1-UCPU*WCPU)*(1-UMEM*WMEM)*(1-UI/O*WI/O)
其中,Wij表示第i个POP单元的第j个流媒体服务器的权重系数,UCPU、UMEM、UI/O分别代表CPU、内存和并发流的利用率,WCPU、WMEM、WI/O、则分别代表CPU、内存和并发流的权重系数。
所述系统包括中心节点、至少一个次中心节点和至少一个边缘节点;所述中心节点管辖次中心节点,所述次中心节点管辖边缘节点;所述中心节点、次中心节点、边缘节点均为内容交付网络节点;
其中,管辖节点存储其辖区的全部媒体内容,边缘节点或次中心节点无用户终端请求的媒体内容,或,边缘节点或次中心节点的流媒体服务器负载能力值低于阈值时,边缘节点或次中心节点将用户终端的请求重定向至该节点的管辖节点。
该系统中:所述边缘节点或次中心节点具有至少一个同级互访节点,所述互访节点为内容交付网络节点;
边缘节点或次中心节点将用户终端的请求重定向至管辖节点之前,将用户终端的请求重定向至该节点的互访节点;所述互访节点无用户终端请求的媒体内容,或所述互访节点的流媒体服务器负载能力值低于阈值时,所述互访节点将用户终端的请求重定向至该节点的管辖节点。
所述共享存储器是独立冗余磁盘阵列。
所述管理单元,在流媒体服务器在自身资源利用率低于门限值时,或周期性地,根据统计的热片信息,更新辖区内流媒体服务器的热片。
所述管理单元从共享存储器中复制热片副本,存储在流媒体服务器中。
所述管理单元从管辖节点或互访节点请求热片副本,存储在流媒体服务器及该节点的共享存储器中。
一种媒体交付方法,该方法包括:
A、判断内容交付网络节点是否具有用户终端请求的媒体内容,如果是,进入步骤B,否则,向用户终端反馈无请求的媒体内容,结束流程;
B、该节点的流媒体服务器向用户终端交付热片,或通过流媒体服务器访问共享存储器,由共享存储器向用户终端交付冷片。
步骤B进一步包括:
B1、判断用户终端请求的媒体内容是否为热片,如果是,进入步骤B2;否则,进入步骤B3;
B2、统计载有该热片的流媒体服务器的负载能力值,将负载能力值最大的载有热片的流媒体服务器地址返回给用户终端,用户终端接收该流媒体服务器地址,向该流媒体服务器请求媒体内容,相应的流媒体服务器将媒体内容交付用户终端;
B3、统计该节点下所有流媒体服务器的负载能力值,将负载能力值最大的流媒体服务器地址返回给用户终端,用户终端接收该流媒体服务器地址,通过该流媒体服务器访问共享存储器,共享存储器将媒体内容交付用户终端。
所述热片是指媒体内容请求量超过阈值的媒体内容,所述冷片是指媒体内容请求量未超过阈值的媒体内容。
步骤A中若当前内容交付网络节点无用户终端请求的媒体内容,还包括:
A1、判断当前节点是否具有管辖节点,如果是,将用户终端的媒体内容请求重定向至该管辖节点,进入步骤A2;否则,向用户终端反馈无请求的媒体内容,结束流程;
A2、判断管辖节点是否具有用户终端请求的媒体内容,如果是,进入步骤B,否则,向用户终端反馈无请求的媒体内容,结束流程。
步骤A1之前还包括:
A01、判断当前节点是否具有互访节点,如果是,将用户终端的媒体内容请求重定向至该互访节点,进入步骤A02;否则,进入步骤A1;
A02、判断互访节点是否具有用户终端请求的媒体内容,如果是,进入步骤B,否则,向用户终端反馈无请求的媒体内容,结束流程。
步骤B2或步骤B3中统计流媒体服务器的负载能力值后,还包括,
将各流媒体服务器的负载能力值与阈值逐一比较,如果存在负载能力值大于阈值的流媒体服务器,则继续当前流程;否则,将用户终端请求重定向至当前节点的互访节点或管辖节点,或拒绝用户终端的请求。
一种媒体交付系统资源更新方法,该方法包括:
S1、统计内容交付网络节点流媒体服务器中媒体内容的请求量,上报各流媒体服务器中的媒体内容请求量;
S2、根据各流媒体服务器中的媒体内容请求量,统计该节点下的热片,更新各流媒体服务器的热片。
步骤S2中,所述更新是在流媒体服务器自身资源利用率低于门限值时进行,或周期性更新。
步骤S2中,根据管理单元统计的热片信息,从共享存储器中复制热片副本,更新到流媒体服务器的本地磁盘。
步骤S2中,根据管理单元统计的热片信息,管理单元向管辖节点、或互访节点请求该热片副本,存储在流媒体服务器及该节点的共享存储器中。
本发明的媒体交付系统采用流媒体服务器存储媒体内容请求量大的热片和共享存储器集中存储相结合的方式,减少了共享存储器的访问压力,提高了效率;同时,动态实时地监测内容交付网络(CDN,Content Delivery Network)节点中各个POP单元中的流媒体服务器的状态,将当前流媒体服务器的CPU利用率、网络带宽、内存占有率、当前流媒体服务器的最大并发流数等诸多性能指标作为服务重定向的参数,使流媒体服务器调度更合理,效率更高。
附图说明
图1为现有的IPTV媒体交付系统示意图;
图2为本发明的媒体交付系统结构示意图;
图3为本发明系统中CDN节点示意图;
图4为本发明管理单元的结构示意图;
图5为本发明媒体内容交付方法的流程图;
图6为本发明确定交付媒体内容的流媒体服务器的流程图;
图7为本发明改进后的确定流媒体服务器的流程图;
图8为本发明媒体交付系统资源更新方法的流程图。
具体实施方式
本发明的基本思想是:将CDN节点存储的媒体内容区分为冷片和热片,进行分布式存储,减少共享存储器的访问压力;同时,优先选择载有热片的流媒体服务器向用户终端交付媒体内容,避免了共享存储器访问瓶颈的拥堵,更好的满足用户体验;流媒体服务器返回的数据直达用户终端,有效地利用网络带宽,减轻了管理单元的压力。
本发明所采用的媒体交付系统如图2所示,该系统包含多个内容交付网络节点,即CDN节点,分别为:中心节点F、次中心节点D、次中心节点E、边缘节点B、边缘节点A和边缘节点C。其中,中心节点F连接片库,管辖次中心节点D、次中心节点E;次中心节点D管辖边缘节点A、边缘节点B、边缘节点C。
同一管辖级别的节点之间可以设置协议允许互访或禁止互访,例如:次中心节点D与次中心节点E之间建立允许互访协议,则从次中心节点D可以直接访问次中心节点E,类似的还有边缘节点A与边缘节点C之间。但是,边缘节点B与边缘节点A之间、边缘节点B与边缘节点C之间均设置为禁止互访协议,故从边缘节点A或者边缘节点C均不能直接访问边缘节点B。
中心节点、次中心节点或边缘节点内部包括至少一个管理单元和n个POP单元,边缘节点的管理单元为节点代理(CDN Agent),次中心节点或中心节点的管理单元为节点管理(CDN Manager)。以一个POP单元为例,如图3所示,各POP单元内部包括一台共享存储器和m台流媒体服务器。管理单元和各个POP单元中的流媒体服务器均配置公网IP地址,均能够被外网机器直接访问,这样,流媒体服务器返回用户终端的数据不需要经过管理单元就直接到达用户终端。
管理单元,用于管理其辖区内的媒体内容分布,接受其辖区内的用户终端的媒体内容请求。
POP单元,用于对所属节点管辖区域下单个小区的媒体内容分布式存储,向用户终端交付所请求的媒体内容。其中,
流媒体服务器,用于存储所属区域的热片,向用户终端交付所请求的热片;或根据用户终端的冷片请求访问共享存储器;向管理单元上报自身的媒体内容请求量;统计并存储自身负载能力值参数,向管理单元上报自身负载能力值参数;流媒体服务器在自身资源(CPU、网络带宽、并发流等)利用率低于门限值时,或周期性地,根据管理单元提供的热片信息,更新自身热片。
共享存储器,是独立冗余磁盘阵列(RAID,Redundant Array of IndependentDisk),用于存储所属节点管辖区域下单个小区的全部媒体内容,并接收流媒体服务器的冷片访问。
管理单元包括通讯模块、监控模块、查找模块、计算模块和数据存储模块,如图4所示,
通讯模块,用于接收用户终端的媒体内容请求,向监控模块发送用户终端请求的媒体内容;根据监控模块的统计结果,向用户终端返回交付媒体内容的流媒体服务器地址;将流媒体服务器上报的媒体内容请求量发送监控模块;
监控模块,用于接收通讯模块发送的用户终端请求的媒体内容,向查找模块发送查找媒体内容命令;根据查找模块反馈的查找结果,向计算模块发送计算流媒体服务器负载能力值命令;实时统计所属节点辖区各媒体内容的请求次数,将媒体内容划分为冷片、热片,向通讯模块返回交付媒体内容的流媒体服务器地址;
查找模块,用于根据监控模块的命令,在数据存储模块中查找用户终端请求的媒体内容的信息,并向监控模块反馈查找结果;
计算模块,用于根据监控模块的计算流媒体服务器负载能力值命令,统计流媒体服务器的负载能力值,选出向用户终端交付所请求的媒体内容的流媒体服务器,将所述流媒体服务器的地址发送到监控模块;
数据存储模块,用于存储该节点下各流媒体服务器中热片存储信息及该节点存储的媒体内容信息。
管理单元的管理是指:根据流媒体服务器上报的媒体内容请求量将节点辖区内的媒体内容划分为冷片和热片,热片是指媒体内容请求量超过阈值的媒体内容,冷片是指媒体内容请求量未超过阈值的媒体内容;根据流媒体服务器上报的负载能力值参数,计算各流媒体服务器的负载能力值,并由通讯模块向用户终端返回交付所请求媒体内容的流媒体服务器地址,或将用户终端的请求重定向至该节点的互访节点或管辖节点,即由通讯模块将该节点的互访节点或管辖节点的管理单元地址发送给用户终端,或向用户终端反馈无请求的媒体内容;接收各流媒体服务器上报的媒体内容请求量;根据媒体内容请求量,在流媒体服务器在自身资源利用率低于门限值时,或周期性的,更新辖区内各流媒体服务器的热片。管理单元从共享存储器中复制热片副本,存储在流媒体服务器的本地磁盘(LD,Local Disk);或从管辖节点、或互访节点请求热片副本,存储在流媒体服务器及该节点的共享存储器中。
管理单元寻找能够交付所请求的媒体内容的流媒体服务器涉及对各个流媒体服务器的负载能力值(θ)进行计算。所谓负载能力值就是对流媒体服务器能够承受负载的度量。负载能力值越大,说明该流媒体服务器能够承载的媒体内容请求越多。负载能力值的计算基于CPU资源、存储IO资源、网卡流量或带宽资源、套接字连接数或句柄、综合能力资源中的至少一项,各数据项如表1所示:
表1
一种计算负载能力值θ的公式如下:
θ=Wij*(1-UCPU*WCPU)*(1-UMEM*WMEM)*(1-UI/O*WI/O) (1)
其中,Wij表示第i个POP单元的第j个流媒体服务器的权重系数,UCPU、UMEM、UI/O分别代表CPU、内存和并发流的利用率,WCPU、WMEM、WI/O、则分别代表上述三项指标的权重系数,用来体现各项指标对系统负载能力的影响程度。计算θ值时各数据项的具体参数,一方面取决于实际系统的硬件设施限制,另一方面不同用户对各数据项分配有不同的考虑,应根据实际系统需求设定。
管理单元在对用户终端的请求重定向时,如果当前节点不是中心节点,且无用户终端请求内容,或当前节点自身的流媒体服务器负载能力值低于阈值时,将用户终端的请求重定向至互访节点;如果没有互访节点,将用户终端的请求重定向至当前节点的管辖节点;如果当前节点是中心节点,因其只有一个,既无互访节点,也无管辖节点,中心节点上没有用户终端请求的内容时,直接向用户终端返回无法交付所请求媒体内容,而不再重定向。
实际应用中,系统的布局根据需要确定,例如,有几个管辖级别、各个节点是否有互访节点,热片分布情况等都可以根据用户的需要进行选择。
以图2中的系统各节点只有一个POP单元为例,边缘节点A的共享存储器A0,存储该节点下的所有片P1~P100,边缘节点A的流媒体服务器A1存储热片P20~P30,流媒体服务器A2存储热片P25~P35,流媒体服务器A3存储热片P30~P40。其他节点类似,各节点的热片分布情况如表2所示:
表2
采用以上系统,向用户终端交付所请求的媒体内容的流程如图5所示。
步骤1、用户终端向电子节目单(EPG,Electronic Programmer Guide)发送IPTV业务请求,选择所要观看的节目。
用户终端选择所要观看的节目,向EPG发送IPTV业务请求。例如:用户终端1请求节目片P160,其他用户终端所请求的节目如表3所示:
表3
步骤2、当要播放用户终端所请求的节目时,EPG向用户终端返回所属边缘节点的CDN Agent的统一资源定位符(URL,Uniform Resource Locator)。
EPG获得用户终端发送的IPTV业务请求,向用户终端返回该用户终端所属小区,即所属边缘节点的CDN Agent的URL。上述例子中,用户终端1属边缘节点C管辖范围,所以EPG获得用户终端1的IPTV业务请求后,将边缘节点C的CDN Agent的URL返回用户终端1,其他用户终端所属边缘节点如表4所示:。
表4
步骤3、用户终端向相应边缘节点的CDN Agent发出IPTV业务请求。
用户终端1接收到边缘节点C的CDN Agent的URL,则根据该URL向边缘节点C的CDN Agent发送片P160的观看请求。其他用户终端类似,此不赘述。
步骤4、CDN Agent寻找能够交付所请求媒体内容的流媒体服务器,选中的流媒体服务器向用户终端交付所请求媒体内容。
步骤4的具体过程如图6所示:
步骤401、边缘节点的CDN Agent接收用户终端通过实时流协议(RTSP,Real Time Streaming Protocol)发送的媒体内容请求;
各节点的CDN Agent或CDN Manager均设有公网IP地址,用户终端通过IP地址能够直接访问CDN Agent,各用户终端通过RTSP向CDN Agent发送媒体内容请求。
根据表3及表4,边缘节点A、边缘节点B、边缘节点C的CDN Agent分别接收用户终端1~11的媒体内容请求。
步骤402、边缘节点的CDN Agent判断该节点是否存有用户终端请求的媒体内容,如果是,进入步骤411;否则,进入步骤403;
边缘节点是整个IPTV交付系统管辖级别最低的节点,即管辖区域最小的节点,同时也是数量相对较多的节点,如果边缘节点能够直接为用户提供服务,将会节省用户终端通过节点代理重定向至次中心节点或中心节点的时间,为用户带来更佳的体验。因此,首先判断边缘节点是否有用户终端所请求的媒体内容。
根据表2至表4,用户终端1向边缘节点C请求P160,边缘节点C存储P150~P200,边缘节点C上有用户终端1请求的媒体内容,则对用户终端1的请求,进入步骤411继续处理;用户终端3向边缘节点A请求P180,边缘节点A存储P1~P100,边缘节点A上没有用户终端3请求的媒体内容,则对用户终端3的请求,进入步骤403继续处理;其他用户终端的请求与用户终端1或用户终端3的处理类似,此不赘述。
步骤403、边缘节点的CDN Agent判断该节点是否有互访节点,如果有,边缘节点的CDN Agent将用户终端的媒体内容请求重定向至该互访节点的CDNAgent,进入步骤404;否则,进入步骤405;
所谓互访节点是指:同一管辖级别的CDN节点之间通过建立互访协议,允许彼此之间的访问,从而共享彼此之间的片源。所谓重定向就是将用户终端的请求转向下一个可以访问的对象。例如:边缘节点A与边缘节点C之间是互访节点,边缘节点A的CDN Agent将用户终端的请求转向边缘节点C的CDNAgent就是完成一次重定向。CDN节点访问同一管辖级别的节点,与访问更高管辖级别节点相比,更节省时间,因而互访节点能够更加有效的利用整个系统资源。没有互访协议,同一管辖级别的CDN节点之间就不能互相访问,例如:边缘节点B与边缘节点A之间,因为没有互访协议就不能互相访问。
例如:根据表2至表4,用户终端3向边缘节点A请求P180,边缘节点A中没有P180,但具有互访节点,即边缘节点C,边缘节点A的CDN Agent将用户终端3的媒体内容请求重定向至边缘节点C的CDN Agent,进入步骤404;用户终端6向边缘节点B请求P1,边缘节点B存储P150~P300,边缘节点B上没有用户终端6请求的媒体内容,且边缘节点B没有互访节点,则对用户终端6的请求,进入步骤405继续处理。
步骤404、边缘节点的互访节点的CDN Agent判断该节点是否存有用户终端请求的媒体内容,如果是,进入步骤411;否则,进入步骤405;
边缘节点的互访节点的CDN Agent判断该节点是否存有用户终端请求的媒体内容的过程与步骤402类似,例如:根据表2至表4,用户终端3请求P180,边缘节点A的互访节点,即边缘节点C存储P150~P200,边缘节点C上有用户终端3请求的媒体内容,则对用户终端3的请求,进入步骤411继续处理;用户终端9请求P960,边缘节点C上没有用户终端9请求的媒体内容,则对用户终端9的请求,进入步骤405继续处理。
步骤405、边缘节点的CDN Agent将用户终端的媒体内容请求重定向至管辖该边缘节点的次中心节点的CDN Manager;
边缘节点中没有用户终端请求的媒体内容,边缘节点的CDN Agent将用户终端的请求重定向至管辖该边缘节点的次中心节点的CDN Manager。例如:对于用户终端5的请求,边缘节点C的CDN Agent将该请求重定向至管辖边缘节点C的次中心节点D的CDN Manager,即将用户终端5的媒体内容请求交给次中心节点D的CDN Manager继续处理。
步骤406、次中心节点的CDN Manager判断该节点是否存有用户终端请求的媒体内容,如果是,进入步骤411;否则,进入步骤407;
次中心节点是边缘节点的上一级管辖节点,数量相对边缘节点要少一些,每一个次中心节点存储其管辖下的所有边缘节点上的全部内容,如果边缘节点不能为用户终端提供服务,那么就将用户终端的请求重定向至次中心节点,由次中心节点为用户提供服务。
次中心节点的CDN Manager判断该节点是否存有用户终端请求的媒体内容的过程与步骤402类似,例如:根据表2至表4,用户终端5请求P330,次中心节点D存储P1~P500,次中心节点D上有用户终端5请求的媒体内容,则对用户终端5的请求,进入步骤411继续处理;用户终端7请求P629,次中心节点D存储P1~P500,次中心节点D上没有用户终端7请求的媒体内容,则对用户终端7的请求,进入步骤407继续处理。
步骤407、次中心节点的CDN Manager判断该次中心节点是否有互访节点,如果有,次中心节点的CDN Manager将用户终端的媒体内容请求重定向至该互访节点的CDN Manager,进入步骤408,否则,进入步骤409;
该过程与边缘节点的互访节点判断类似,此不赘述。
步骤408、次中心节点的互访节点的CDN Manager判断该节点是否存有用户终端请求的媒体内容,如果是,进入步骤411;否则,进入步骤409;
次中心节点的互访节点的CDN Manager判断该节点是否存有用户终端请求的媒体内容的过程与步骤402类似,例如:根据表2至表4,用户终端8请求P700,次中心节点D的互访节点,即次中心节点E存储P501~P800,次中心节点E上有用户终端8请求的媒体内容,则对用户终端8的请求,进入步骤411继续处理;用户终端10请求P900,次中心节点E上没有用户终端10请求的媒体内容,则对用户终端10的请求,进入步骤409继续处理。
步骤409、次中心节点的CDN Manager将用户终端的媒体内容请求重定向至中心节点的CDN Manager;
次中心节点中没有用户终端请求的媒体内容,次中心节点的CDN Manager将用户终端的请求重定向至中心节点的CDN Manager。例如:对于用户终端9的请求,次中心节点E的CDN Manager将该请求重定向至中心节点F的CDNManager,即将用户终端9的媒体内容请求交给中心节点F继续处理。
步骤410、中心节点的CDN Manager判断中心节点是否存有用户终端请求的媒体内容,如果是,进入步骤411;否则,中心节点的CDN Manager向用户终端反馈无此媒体内容,结束当前流程。
中心节点只有一个,且直接连接片库,存储了全部的媒体内容。次中心节点将用户终端的请求重定向至中心节点后,由中心节点为用户提供服务。
中心节点的CDN Manager判断中心节点是否存有用户终端请求的媒体内容的过程与步骤402类似,例如:根据表2至表4,用户终端9请求P960,中心节点F存储P1~P1000,中心节点F上有用户终端9请求的媒体内容,则对用户终端9的请求,进入步骤411继续处理;用户终端11请求P1001,中心节点F上没有用户终端11请求的媒体内容,则向用户终端11反馈无此媒体内容,结束当前流程。
步骤411、节点的管理单元判断用户终端请求的媒体内容是否为该节点的热片,如果是,管理单元统计该节点中载有该热片的各流媒体服务器的负载能力值θ,将θ值最大的载有热片的流媒体服务器URL返回给用户终端,用户终端接收该URL,向该流媒体服务器请求媒体内容,相应的流媒体服务器将媒体内容交付用户终端,结束当前流程;否则,进入步骤412;
边缘节点、次中心节点或中心节点内部存储媒体内容时,节点的管理单元根据媒体内容请求量将节点管辖区域的媒体内容划分为冷片和热片,热片是指媒体内容请求量超过阈值的媒体内容,冷片是指媒体内容请求量未超过阈值的媒体内容。将热片存储在节点的流媒体服务器,冷片仅存储在共享存储器,以减少共享存储器的访问压力。媒体内容请求量的阈值根据系统的实际需求设定。
边缘节点、次中心节点或中心节点存有用户终端请求的媒体内容时,管理单元寻找为用户终端提供服务的流媒体服务器的过程类似,例如:根据表2至表4,用户终端1向边缘节点C请求P160,边缘节点C存储P150~P200,其中,热片为P150~P175,及P180~P190,则P160是边缘节点C中的热片;且边缘节点C中流媒体服务器C1和流媒体服务器C2均载有热片P160,管理单元统计流媒体服务器C1和流媒体服务器C2的负载能力值θ,设此时θC1=60,θC2=40,则θC1>θC2,将流媒体服务器C1的URL返回给用户终端1。用户终端1接收流媒体服务器C1的URL,向流媒体服务器C1请求P160,流媒体服务器C1将P160交付用户终端1,结束当前流程。
根据表2至表4,用户终端6向边缘节点B请求P1,该请求被重定向至次中心节点D,次中心节点D存储P1~P500,其中,热片为P150~P160,P230~P240及P330~P340,则P1不是次中心节点D中的热片,则进入步骤412继续处理。
步骤412、节点的管理单元统计该节点下所有流媒体服务器的负载能力值θ,将θ值最大的流媒体服务器URL返回给用户终端,用户终端接收该URL,通过该流媒体服务器访问共享存储器,共享存储器将媒体内容交付用户终端。
如果用户终端请求的媒体内容不是热片,即所请求的为冷片,则需要通过流媒体服务器访问节点的共享存储器,才能得到用户终端请求的内容。此时,管理单元直接计算该节点下各流媒体服务器的负载能力值θ,选择θ值最大的流媒体服务器即可。例如:根据表2至表4,用户终端6请求P1,该请求被重定向至次中心节点D,P1是次中心节点D的冷片,则计算流媒体服务器D1、D2和D3的负载能力值,设此时流媒体服务器D1、D2和D3的负载能力值分别为50、40、80,则将流媒体服务器D3的URL返回给用户终端6,用户终端6接收流媒体服务器D3的URL,通过流媒体服务器D3访问共享存储器D0,共享存储器D0将P1交付用户终端6。表3中各用户终端请求媒体内容的路径及最终结果如表5所示,以用户终端10为例,边缘节点A中没有用户终端11请求的媒体内容,历经边缘节点A的互访节点C、次中心节点D、次中心节点D的互访节点E、中心节点F,且所请求的P900为中心节点F中的冷片,最终经流媒体服务器F1访问共享存储器F0,得到P900,其它用户终端访问路径同样道理,此不赘述,空白处表示访问路径中不含该项:
表5
对于一个实际系统,任何一项资源(CPU、网络带宽、并发流等)利用率超过一定的门限(例如,90%),系统接受新的请求会有比较大的延时。根据这个原理,作为对以上实施例的改进,对流媒体服务器的负载能力值θ设定一个阈值,低于阈值的流媒体服务器将不能承载新的媒体内容服务请求。这样,当边缘节点、次中心节点或中心节点中存有用户终端所请求的内容时,还需要判断该节点下的流媒体服务器负载能力值θ是否低于阈值,即对步骤412进行改进,改进后的过程如图7所示:
步骤701、管理单元统计该节点中各流媒体服务器的负载能力值θ;
步骤702、管理单元将各流媒体服务器θ值逐一与阈值比较,如果存在θ值大于阈值的流媒体服务器,则进入步骤703;否则,管理单元将用户终端请求重定向至当前节点的互访节点或管辖节点的管理单元,或拒绝用户终端的请求,结束当前流程。
当前节点的管理单元对用户终端的请求重定向时,按照表5的访问路径的顺序,即当前边缘结点、边缘节点的互访节点、次中心节点、次中心节点的互访节点、中心节点的顺序。如果当前节点没有θ值大于阈值的流媒体服务器,说明各流媒体服务器都处于繁忙状态,按照该节点上不存在用户终端请求的媒体内容时处理,将用户终端的请求重定向到当前节点的互访节点或管辖节点的管理单元。例如:表5中用户终端2请求时,如果流媒体服务器B2的负载能力值低于阈值,本应将用户终端2的请求重定向到边缘节点B的互访节点,但由于边缘节点B没有互访节点,则直接将用户终端2的请求重定向至次中心节点D的管理单元。如果当前节点已经是中心节点,由于其既没有互访节点,也没有管辖节点,考虑到用户体验,太久的延时会造成系统资源浪费,则可以拒绝此次用户终端的媒体内容请求,向用户终端反馈系统繁忙。
步骤703、管理单元将负载能力值最大的流媒体服务器的URL返回用户终端。
用户终端获得流媒体服务器的URL,就可以通过该流媒体服务器访问相应的共享存储器,获得所请求的媒体内容。
对于步骤411的改进,当前节点的管理单元首先统计载有用户终端所请求热片的流媒体服务器的负载能力值,后续过程与步骤701至703类似,此不赘述。
本发明还提供了一种媒体交付系统资源更新的方法,其过程如图8所示:
步骤801、用户终端请求媒体内容时,各节点流媒体服务器统计媒体内容请求量并存储;
步骤802、流媒体服务器周期性向管理单元上报媒体内容请求量;
步骤803、管理单元统计该节点下热片;
根据各流媒体服务器上报的媒体内容请求量,管理单元将该节点下各个POP单元的相同的媒体内容的请求量累加,得到该节点下各个媒体内容的访问量,将累加后媒体内容请求量超过阈值的标记为热片。
步骤804、管理单元周期性的向各流媒体服务器发送热片信息,流媒体服务器更新自身热片。
如果变更后的热片存储在节点自身的共享存储器中,则管理单元从共享存储器中复制热片副本,更新到流媒体服务器的本地磁盘即可;如果该节点自身并未存储变更后的热片,则管理单元向该节点的互访节点或管辖节点请求该热片副本,存储在该节点的共享存储器及流媒体服务器中。步骤802或步骤804也可以不采用周期性工作的方式,而是根据实际系统的需要,在流媒体服务器自身资源利用率低于门限时,管理单元安排媒体内容请求量发送或热片更新。流媒体服务器的资源利用率涉及CPU资源、存储IO资源、网卡流量或带宽资源等。热片的更新,保证系统中用户终端的访问随着时间的推移仍能够在流媒体服务器与共享存储器之间平衡,而不会随着热片的改变集中到共享存储器,保证系统工作效率。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
机译: 媒体投放系统和方法,媒体投放系统资源更新方法
机译: 融合媒体服务交付系统中使用服务交互的媒体服务交付装置和方法
机译: 流媒体内容交付系统和流媒体内容交付方法