发明内容
针对不同终端类型需要频繁鉴别转码导致的流媒体服务器的使用效率较低的问题,本发明提供了一种流媒体处理方法及***,以至少解决上述问题。
根据本发明的一个方面,提供了一种流媒体处理方法,该方法包括:Flash服务器(FlashServer,简称为FS)接收终端的流媒体请求,并获取所述终端的信息,其中,所述信息包括以下至少之一:所述终端的处理能力、所述终端的网络质量;所述FS获取UCI级别服务器的级别,并根据所述信息选择对应的UCI级别服务器,并将所述流媒体请求发送至所述UCI级别服务器,其中,所述UCI级别服务器的级别是预先配置的;所述UCI级别服务器与流媒体服务器进行连接,从所述流媒体服务器获取所述流媒体请求对应的流媒体,并根据所述信息对所述流媒体进行适配;所述FS从所述UCI级别服务器接收适配后所述流媒体,并将所述流媒体发送至所述终端。
优选地,在所述FS接收到所述终端的所述流媒体请求之前,所述方法还包括所述终端通过以下方式的至少之一获取所述文件服务的地址:Web服务器根据数据库的配置获取所述FS地址并发送给所述终端;Web服务器根据与所述Web服务器连接的所有FS的负载的情况,选择FS,并将选择的FS地址发送给所述终端。
优选地,所述终端的处理能力包括以下至少之一:所述终端的CPU大小、所述终端的缓存配置信息;和/或,所述终端的网络质量包括以下至少之一:所述终端所述网络的服务带宽、所述终端所处网络的丢包率、所述终端所处网络的网络抖动状态。
优选地,所述FS获取UCI级别服务器的级别,并根据所述信息选择对应的UCI级别服务器包括:所述FS根据所述信息获取到与所述信息对应的多个UCI级别服务器;所述FS根据所述多个UCI级别服务器中负载信息选择一个UCI级别服务器。
优选地,该方法还包括:根据UCI级别服务器的负载情况和/或异常情况调整UCI服务器的级别,并将调整后的级别同步至FS。
优选地,在所述FS接收到所述终端的所述流媒体请求之前,所述方法还包括:所述终端通过Flash向所述FS发起所述流媒体请求,并与所述FS建立连接。
根据本发明的另一方面,还提供了一种流媒体处理***,包括终端,FS,UCI级别服务器,流媒体服务器,其中,接收获取模块,位于FS上,用于接收终端的流媒体请求,并获取所述终端的信息,其中,所述信息包括以下至少之一:所述终端的处理能力、所述终端的网络质量;获取发送模块,位于所述FS上,用于获取UCI级别服务器的级别,并根据所述信息选择对应的UCI级别服务器,并将所述流媒体请求发送至所述UCI级别服务器,其中,所述UCI级别服务器的级别是预先配置的;获取适配模块,位于所述UCI级别服务器上,用于与流媒体服务器进行连接,从所述流媒体服务器获取所述流媒体请求对应的流媒体,并根据所述信息对所述流媒体进行适配;接收发送模块,位于所述FS上,用于从所述UCI级别服务器接收适配后所述流媒体,并将所述流媒体发送至所述终端。
优选地,该***还包括获取模块,位于所述终端上,用于在所述FS接收到所述终端的所述流媒体请求之前,通过以下方式的至少之一获取所述文件服务的地址:Web服务器根据数据库的配置获取所述FS地址并发送给所述终端;Web服务器根据与所述Web服务器连接的所有FS的负载的情况,选择FS,并将选择的FS地址发送给所述终端。
优选地,所述获取发送模块还用于根据所述信息获取到与所述信息对应的多个UCI级别服务器;并根据所述多个UCI级别服务器中负载信息选择一个UCI级别服务器。
优选地,该***还包括调整同步模块:所述调整同步模块用于根据UCI级别服务器的负载情况和/或异常情况调整UCI服务器的级别,并将调整后的级别同步至FS。
通过本发明,通过采用获取终端的能力信息将不同的终端进行分级,并根据终端的不同级别分别为其分配不同的UCI级别服务器,通过不同的UCI级别服务器为其提供合适的流媒体,从而解决了不同终端类型需要频繁鉴别转码导致的流媒体服务器的使用效率较低的问题,进而提供了更优质的流媒体服务,提高了码流适配效率。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在以下实施例中,提供了一种流媒体处理方法,图1是根据本发明实施例的***示意图,结合图1,该方法通过为不同处理能力和处于不同的网络质量的终端,分配与该终端对应级别的统一编码接口(Unified Coding Interface,简称为UCI)级别服务器,采用***分级别控制的方式,从而大大提高了网络中流媒体服务器的使用效率,同时,能够缓解由于不同终端类型带来频繁鉴别转码的压力,提高了服务质量和服务范围。
图2是根据本发明实施例的流媒体处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,FS接收终端的流媒体请求,并获取终端的信息,其中,该信息包括以下至少之一:终端的处理能力、终端的网络质量。
步骤S204,FS获取UCI级别服务器的级别,并根据所述信息选择对应的UCI级别服务器,并将流媒体请求发送至UCI级别服务器,其中,所述UCI级别服务器的级别是预先配置的。
步骤S206,UCI级别服务器与流媒体服务器进行连接,从流媒体服务器获取流媒体请求对应的流媒体,并根据该信息对流媒体进行适配。
步骤S208,FS从UCI级别服务器接收适配后流媒体,并将流媒体发送至终端。
通过本实施例的上述步骤,采用FS获取终端的信息并将不同的终端进行分级,并根据终端的不同级别分别为其分配不同级别的UCI级别服务器,通过不同的UCI级别服务器为其提供合适的流媒体,从而解决了不同终端类型需要频繁鉴别转码导致的流媒体服务器的使用效率较低的问题,进而提供了更优质的流媒体服务,提高了码流适配效率。
作为本实施例的一种较优的实施方式,在FS接收到终端的流媒体请求之前,终端可以不同的方式获取FS地址,例如,可以通过Web服务器根据数据库的配置获取FS地址并发送给终端;又例如,Web服务器根据与Web服务器连接的所有FS的负载的情况,选择FS,并将选择的FS地址发送给终端。通过多种方式来获取FS地址,以适应不同的应用环境。
较优地,在步骤S202中,FS获取的终端的处理能力和终端的网络质量的信息包括:终端的处理能力包括以下至少之一:终端的CPU大小、终端的缓存配置信息;和/或,终端的网络质量包括以下至少之一:终端网络的服务带宽、终端所处网络的丢包率、终端所处网络的网络抖动状态。
作为本实施例的另外一种较优的实施方式,FS根据获取UCI级别服务器的级别,并根据所述信息选择对应的UCI级别服务器包括:FS根据信息获取到与信息对应的多个UCI级别服务器;FS根据多个UCI级别服务器中负载信息选择一个UCI级别服务器。通过这种负载均衡的处理选择方式,可以提高服务器的处理效率。
作为本实施例的一种较优的实施方式,可以根据UCI级别服务器的负载情况和/或异常情况调整UCI服务器的级别,并将调整后的级别同步至FS。例如,现有三个终端进行流媒体请求,即,终端A,终端B和终端C,其中,终端A和终端B是同一类型的终端,终端C是硬件参数高于终端A和终端B的终端,终端A获取到FS1的地址,终端B获取到FS2的地址,终端3获取到FS3的地址,并且,FS1为终端A选择UCI级别服务器1,FS2为终端B选择UCI级别服务器2,FS3为终端C选择UCI级别服务器3,其中,UCI级别服务器1和UCI级别服务器2设置为级别1,UCI级别服务器3设置为级别2,进行流媒体处理,假如某时刻,UCI级别服务器1出现故障不能工作,此时,可以采取不同的处理方式:例如,可以将备用的UCI级别服务器4的级别调整值级别1,来继续进行终端A的流媒体处理;又例如,还可以根据检测得知UCI级别服务器2的负荷较低,可以将终端A的流媒体处理调整至UCI级别服务器2,来继续进行终端A的流媒体处理,并将该调整同步至所有的FS或者同步至进行调整的FS。从而使得各个UCI级别服务器在一定程度上达到负载均衡,并且保证流媒体处理的顺利进行。
优选的,在FS接收到终端的流媒体请求之前,终端通过Flash向FS发起流媒体请求,并与FS建立连接。通过Flash的方式,可以使得各种终端无需单独安装插件或者软件,而直接使用Flash进行流媒体应用,给使用带来极大便利。
在本实施例中,还提供了一种流媒体处理***,该***用于实现上述实施例及其优选的实施方式,已经进行过说明的不再赘述,下面对该对该装置涉及的各个模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的***和方法较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的流媒体处理***的结构框图,如图3所示,该***包括接收获取模块30、获取发送模块32、获取适配模块34和接收发送模块36,下面对该***的各个模块及其功能进行说明。
接收获取模块30,位于FS上,用于接收终端的流媒体请求,并获取终端的信息,其中,信息包括以下至少之一:终端的处理能力、终端的网络质量;获取发送模块32,位于FS上,用于获取UCI级别服务器的级别,并根据所述信息选择对应的UCI级别服务器,并将流媒体请求发送至UCI级别服务器,其中,所述UCI级别服务器的级别是预先配置的;获取适配模块34,位于UCI级别服务器上,用于与流媒体服务器进行连接,从流媒体服务器获取流媒体请求对应的流媒体,并根据信息对流媒体进行适配;接收发送模块36,位于FS上,用于从UCI级别服务器接收适配后流媒体,并将流媒体发送至终端。
作为本实施例的一种较优的实施方式,该***还包括获取模块,位于终端上,用于在FS接收到终端的流媒体请求之前,通过以下方式的至少之一获取文件服务的地址:Web服务器根据数据库的配置获取FS地址并发送给终端;Web服务器根据与Web服务器连接的所有FS的负载的情况,选择FS,并将选择的FS地址发送给终端。
较优地,获取发送模块32还用于根据信息获取到与信息对应的多个UCI级别服务器;并根据多个UCI级别服务器中负载信息选择一个UCI级别服务器。
作为本实施例的一种较优的实施方式,还包括调整同步模块:该调整同步模块用于根据UCI级别服务器的负载情况和/或异常情况调整UCI服务器的级别,并将调整后的级别同步至FS。
下面结合优选实施例进行说明,该优选实施例结合了上述实施例及其优选实施方式,在本优选实施例中,通过***分级管理提高了网络中流媒体服务器的使用效率。
图4是根据本发明优选实施例的基于Flash的流媒体实现方法的流程图,如图3所示,该流程包括如下步骤:
步骤S402,终端打开URL链接,获取FS地址,并进行连接。例如,用户终端可通过HTTP打开URL连接,Web服务器可根据数据库配置或者负载均衡获取到对应FS地址(包括防火墙地址);对获取的FS地址,Flash对其建立链接。
步骤S404,FS对终端进行交互式检测,获取终端的信息,并对终端信息进行能力排序,根据能力排序分段信息,将请求转给对应的UCI级别服务器,UCI级别服务器支持线性部署,其中,获取的终端的信息包括处理能力信息、网络质量信息。在本步骤中,FS对建立链接的终端进行交互式检测;FS通过检测,获取终端处理能力(包括并不仅限于CPU大小、缓存配置)和环境质量信息(包括并不仅限于带宽、丢包率、网络抖动状态);FS对终端处理能力和环境质量信息进行综合排序;对排序后的结果根据预设值分段进行处理;将终端请求发给对应的UCI级别服务器。
步骤S406,UCI级别服务器根据FS发来的请求与流媒体服务器建立流媒体连接。在本步骤中,UCI级别服务器分为N1、N2、N3...Nn级别,服务器本地存储级别可配置,可由级别服务器监控台对级别服务器进行灵活动态调整级别,并同步给FS;对应UCI级别服务器收到FS发来的终端请求;UCI级别服务器建立与流媒体服务器的链接;UCI级别服务器根据终端请求,对流媒体服务器发送请求通知。
步骤S408,流媒体服务器将流媒体发给UCI级别服务器,不同的UCI级别服务器直接根据本地设置对应级别进行适配,并将流媒体发给FS。在本步骤中,流媒体服务器收到请求并响应;流媒体服务器将流媒体数据发给对应请求的UCI级别服务器;UCI级别服务器根据本地级别直接进行适配,其中,UCI级别服务器管理维护台对UCI级别服务器的运行状态及负载情况进行监控,当监控到某Nx级别服务器出现非工作等异常状态,会根据各级别服务器负载情况,灵活设置其它级别服务器到该级别工作,并同步到FS。
步骤S410,FS将流媒体数据打包发给终端。在本步骤中,FS收到UCI级别服务器的流媒体数据;FS将流媒体数据打包发给网关或终端。
图5是根据本发明优选实施例的基于Flash的流媒体实现***的示意图,如图5所示,该***包括Web服务器、多个FS、UCI分级服务器管理台、多个UCI分级服务器和流媒体服务器,下面结合图5以终端X的请求为例进行说明。
步骤一、终端X打开URL链接,通过Web服务器获取FS地址,并进行连接。其中,该终端X可以通过HTTP打开URL链接,Web服务器可根据数据库配置或者负载均衡获取到对应FS地址,终端获取FS地址1,Flash对其建立链接。
步骤二、FS对终端X进行交互式检测,获取终端X处理能力信息、网络质量信息,并对终端X的信息进行能力排序,根据能力排序分段信息,将请求转给对应的UCI级别服务器,UCI级别服务器支持线性部署。在该过程中,FS1对建立链接的终端X进行交互式检测;FS1通过检测,获取终端X处理能力和环境质量信息(例如终端CPU处理能力1GHZ,带宽1M、丢包率0.1%、网络抖动5ms);FS1对终端X处理能力和环境质量信息进行综合排序(例如获取综合值85);对排序后的结果根据预设值分段进行处理(例如UCI级别服务器管理台预先设置综合值在80~90段的分给UCI级别服务器2,FS1根据终端X综合值85及负载情况,将请求送往UCI级别服务器2)。
步骤三、UCI级别服务器根据FS发来的请求与流媒体服务器建立流媒体连接。在该过程中,UCI级别服务器2对流媒体服务器建立连接;UCI级别服务器2将终端X请求转化为流媒体信令,并转发流媒体服务器;流媒体服务器根据请求信令进行响应。
步骤四、流媒体服务器将流媒体发给UCI级别服务器,不同的UCI级别服务器直接根据本地设置对应级别进行适配,提高适配效率,并将流媒体发给FS。
步骤五、流媒体服务器响应请求,就本例子说明,流媒体服务器发送流媒体数据到UCI级别服务器2。UCI级别服务器2根据本地预设值80~90范围,直接对流媒体数据进行适配调优,并发送给FS1。
步骤六、FS将流媒体数据打包发给终端。在该步骤中,FS1收到适配后的流媒体数据并打包;FS将数据包发给终端X。
通过上述优选实施例,通过考虑流媒体服务器的广泛应用,各种终端无需区分***环境或安装特定软件,使用便捷,并且,FS交互机制能够区分终端能力及环境信息,对影响应用的关键因素都可以进行有效区分,通过UCI分级服务管理机制,有效提高了流媒体服务器的使用效率,节省设备资源成本,在同样业务量的需求下,提供了更优质的流媒体服务,提高了码流适配效率,从而有效提高了流媒体服务器的资源利用率,为服务商带来更多的利润空间。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。