本申请涉及互联网领域,特别是涉及一种媒体资源部署系统、方法、装置、存储介质及处理器。
背景技术:
目前,媒体资源的传输通常由多点控制单元(multicontrolunit,mcu)来负责,各个客户端连接同一个mcu。但是mcu存在固有的物理瓶颈,例如,仅能够提供32路或64路的媒体资源,由于端口资源不足,难以满足大范围分布的数量众多的客户端对媒体资源的实际需求。当mcu无空闲的端口资源时,客户端只能等待mcu端口资源重新出现空闲才能进行连接以进行数据传输,这样给客户端的使用用户带来较大的不便,同时也缺乏灵活性,等待时间较长。
此外,一些机构例如学校、企业等,其内部重要的资源通常是不希望共享给外界的。因此,在进行媒体资源传输时,保障资源的安全性、私密性也十分重要。
技术实现要素:
基于上述问题,本申请提供了一种媒体资源部署系统、方法、装置、存储介质及处理器,不但解决媒体资源传输受限的问题,还保证资源的安全性和私密性。
本申请实施例公开了如下技术方案:
第一方面,本申请提供一种媒体资源部署系统,包括:全局调度系统、公有云服务器集群和私有云服务器集群,所述私有云服务器集群部署在局域网内;所述公有云服务器集群中的公有云服务器以及所述私有云服务器集群中的私有云服务器分别与所述全局调度系统通信连接;所述公有云服务器集群与所述私有云服务器集群通信连接;
所述全局调度系统,用于从所述公有云服务器集群中为公有云客户端分配目标公有云服务器,或从所述私有云服务器集群中为所述公有云客户端分配第一目标私有云服务器,以使所述公有云客户端利用所述第一目标公有云服务器或所述目标私有云服务器进行媒体资源数据的传输;
所述全局调度系统,还用于从所述私有云服务器集群中为私有云客户端分配第二目标私有云服务器,以使所述私有云客户端利用所述第二目标私有云服务器进行媒体资源数据的传输。
可选地,所述全局调度系统,还用于根据所述公有云客户端的位置信息或ip,判断所述公有云客户端是否满足预设的共享条件,如果是,则允许所述公有云客户端获得所述私有云服务器集群的共享资源;反之,则禁止所述公有云客户端获得所述私有云服务器集群的共享资源。
可选地,所述全局调度系统,还用于获得所述私有云客户端的标识信息;
所述全局调度系统具体用于将所述私有云客户端调度到所述私有云服务器集群中与所述标识信息匹配的服务器集群。
第二方面,本申请提供一种媒体资源部署系统,包括:第一调度系统、第二调度系统、公有云服务器集群和私有云服务器集群,所述私有云服务器集群部署在局域网内;所述公有云服务器集群中的公有云服务器与所述第一调度系统通信连接,所述私有云服务器集群中的私有云服务器与所述第二调度系统通信连接;
所述第一调度系统,用于从所述公有云服务器集群中为公有云客户端分配的目标公有云服务器,以使所述公有云客户端利用所述目标公有云服务器进行媒体资源数据的传输;
所述第二调度系统,用于从所述私有云服务器集群中为私有云客户端分配的目标私有云服务器,以使所述私有云客户端利用所述目标私有云服务器进行媒体资源数据的传输。
第三方面,本申请提供一种媒体资源部署方法,包括:
判断连接的客户端为公有云客户端或私有云客户端;
对于公有云客户端,从公有云服务器集群中为所述公有云客户端分配目标公有云服务器,或从私有云服务器集群中为所述公有云客户端分配第一目标私有云服务器,以使所述公有云客户端利用所述第一目标公有云服务器或所述目标私有云服务器进行媒体资源数据的传输;
对于私有云客户端,从所述私有云服务器集群中为私有云客户端分配第二目标私有云服务器,以使所述私有云客户端利用所述第二目标私有云服务器进行媒体资源数据的传输。
可选地,方法还包括:
根据所述公有云客户端的位置信息或ip,判断所述公有云客户端是否满足预设的共享条件,如果是,则向所述目标公有云服务器或所述第一目标私有云服务器发送允许所述公有云客户端获得所述私有云服务器集群的共享资源的指令;反之,则向所述目标公有云服务器或所述第一目标私有云服务器发送禁止所述公有云客户端获得所述私有云服务器集群的共享资源的指令。
可选地,方法还包括:
获得所述私有云客户端的标识信息;
所述从所述私有云服务器集群中为私有云客户端分配第二目标私有云服务器,具体包括:
将所述私有云客户端调度到所述私有云服务器集群中与所述标识信息匹配的服务器集群;从所述与标识信息匹配的服务器集群中为所述私有云客户端分配所述第二目标私有云服务器。
第四方面,本申请提供一种媒体资源部署方法,包括:
判断连接的客户端为公有云客户端或私有云客户端;
对于公有云客户端,从公有云服务器集群中为公有云客户端分配的目标公有云服务器,以使所述公有云客户端利用所述目标公有云服务器进行媒体资源数据的传输;
对于私有云客户端,从私有云服务器集群中为私有云客户端分配的目标私有云服务器,以使所述私有云客户端利用所述目标私有云服务器进行媒体资源数据的传输。
第五方面,本申请提供一种媒体资源部署装置,包括:
判断模块,用于判断连接的客户端为公有云客户端或私有云客户端;
第一分配模块,用于当所述判断模块判断连接的客户端为公有云客户端时,从公有云服务器集群中为所述公有云客户端分配目标公有云服务器,或从私有云服务器集群中为所述公有云客户端分配第一目标私有云服务器,以使所述公有云客户端利用所述第一目标公有云服务器或所述目标私有云服务器进行媒体资源数据的传输;
第二分配模块,用于当所述判断模块判断连接的客户端为私有云客户端时,从所述私有云服务器集群中为私有云客户端分配第二目标私有云服务器,以使所述私有云客户端利用所述第二目标私有云服务器进行媒体资源数据的传输。
第六方面,本申请提供一种媒体资源部署装置,包括:
判断模块,用于判断连接的客户端为公有云客户端或私有云客户端;
第一分配模块,用于当所述判断模块判断连接的客户端为公有云客户端时,从公有云服务器集群中为公有云客户端分配的目标公有云服务器,以使所述公有云客户端利用所述目标公有云服务器进行媒体资源数据的传输;
第二分配模块,用于当所述判断模块判断连接的客户端为私有云客户端时,从私有云服务器集群中为私有云客户端分配的目标私有云服务器,以使所述私有云客户端利用所述目标私有云服务器进行媒体资源数据的传输。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述程序被处理器运行时,实现如前述第三方面或第四方面提供的媒体资源部署方法。
第八方面,本申请提供一种处理器,用于运行计算机程序,所述程序运行时执行如前述第三方面或第四方面提供的媒体资源部署方法。
相较于现有技术,本申请具有以下有益效果:
本申请提供一种媒体资源部署系统,包括:全局调度系统、公有云服务器集群和私有云服务器集群,其中私有云服务器集群部署在局域网内。在该媒体资源部署系统中,私有云服务器集群没有独立的调度系统,而是公有云服务器集群和私有云服务器集群共享一个全局调度系统。全局调度系统用于从公有云服务器集群中为公有云客户端分配目标公有云服务器,或从私有云服务器集群中为公有云客户端分配第一目标私有云服务器,以使公有云客户端利用第一目标公有云服务器或目标私有云服务器进行媒体资源数据的传输;全局调度系统,还用于从私有云服务器集群中为私有云客户端分配第二目标私有云服务器,以使私有云客户端利用第二目标私有云服务器进行媒体资源数据的传输。
本申请提供另一种媒体资源部署系统,第一调度系统、第二调度系统、公有云服务器集群和私有云服务器集群,私有云服务器集群部署在局域网内。其中,第一调度系统为公有云服务器集群独立的调度系统,第二调度系统为私有云服务器集群独立的调度系统。第一调度系统,用于从公有云服务器集群中为公有云客户端分配的目标公有云服务器,以使公有云客户端利用目标公有云服务器进行媒体资源数据的传输;第二调度系统,用于从私有云服务器集群中为私有云客户端分配的目标私有云服务器,以使私有云客户端利用目标私有云服务器进行媒体资源数据的传输。
在本申请提供的技术方案中,由于公有云服务器集群中的公有云服务器以及私有云服务器集群中的私有云服务器能够被调度系统(无论是全局的调度系统还是独立的调度系统)分配,以按照需求与客户端进行媒体资源数据的传输,因此无需各自与mcu连接,避免mcu端口资源对于数据传输的限制。即便客户端众多、分布范围广,也可以从部署的服务器集群中灵活调度,减少客户端的等待时间。另外,公有云服务器和私有云服务器分属于不同的服务器集群,界限分明,由目标服务器实现媒体资源数据的传输,降低私有云服务器资源被随意获取的风险。
此外,本申请还相应地提供一种媒体资源部署方法、装置、存储介质及处理器。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种媒体资源部署系统的结构示意图;
图2为本申请实施例提供的一种媒体资源数据传输流向示意图;
图3为本申请实施例提供的一种媒体资源部署方法的流程图;
图4为本申请实施例提供的一种媒体资源部署装置的结构示意图;
图5为本申请实施例提供的另一种媒体资源部署系统的结构示意图;
图6为本申请实施例提供的另一种媒体资源部署方法的流程图;
图7为本申请实施例提供的另一种媒体资源部署装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,该图为本申请实施例提供的一种媒体资源部署系统的结构示意图。
如图1所示,该系统包括:
全局调度系统101、公有云服务器集群102和私有云服务器集群103,所述私有云服务器集群103部署在局域网内;所述公有云服务器集群102中的公有云服务器以及所述私有云服务器集群103中的私有云服务器分别与所述全局调度系统101通信连接;所述公有云服务器集群102与所述私有云服务器集群103通信连接;
所述全局调度系统101,用于从所述公有云服务器集群102中为公有云客户端分配目标公有云服务器,或从所述私有云服务器集群103中为所述公有云客户端分配第一目标私有云服务器,以使所述公有云客户端利用所述第一目标公有云服务器或所述目标私有云服务器进行媒体资源数据的传输;
所述全局调度系统101,还用于从所述私有云服务器集群103中为私有云客户端分配第二目标私有云服务器,以使所述私有云客户端利用所述第二目标私有云服务器进行媒体资源数据的传输。
本实施例中提及的媒体资源数据,可以是音频、视频、图片、文档等形式。此处对于媒体资源数据的具体形式不进行限定。
在本实施例中,将客户端调度到公有云服务器和调度到私有云服务器均依赖于全局调度系统101实现。在本实施例中,私有云服务器集群103并不具有独立的调度系统,因此,全局调度系统101负责对全局的服务器调度,包括对公有云服务器集群102的公有云服务器的调度和对私有云服务器集群103的私有云服务器的调度。
本实施例中提及的私有云客户端是指连接局域网的设备上运行的客户端;公有云客户端是指连接广域网的设备上运行的客户端。公有云服务器集群102中的公有云服务器可能是发布服务器和/或播放服务器;同理,私有云服务器集群103中的私有云服务器可能是发布服务器和/或播放服务器。发布服务器具有接收上传的媒体资源数据的功能,播放服务器具有发送媒体资源数据给客户端的功能。
公有云客户端的访问请求可能是发布媒体资源数据,也可能是播放媒体资源数据,对于前一种请求,当公有云客户端连接到全局调度系统101后,全局调度系统101需要从公有云服务器集群102为其分配发布服务器;对于后一种请求,当公有云服务器连接到全局调度系统101后,全局调度系统101需要从公有云服务器集群102为其分配播放服务器。
另外,如果公有云客户端请求的是发布或播放公有云和私有云的共享资源,则调度系统还可以从所述私有云服务器集群103中为所述公有云客户端分配第一目标私有云服务器。
类似地,私有云客户端的访问请求可能是发布媒体资源数据,也可能是播放媒体资源数据,对于前一种请求,当私有云客户端连接到全局调度系统101后,全局调度系统101需要从私有云服务器集群103为其分配发布服务器;对于后一种请求,当私有云服务器连接到全局调度系统101后,全局调度系统101需要从私有云服务器集群103为其分配播放服务器。
第一客户端对应于实现媒体资源数据发布的客户端,第二客户端对应于实现媒体资源播放的客户端。实际应用中,如果传输媒体资源数据的时间越短,传输越迅速,第一客户端的等待时间越短;反之,传输越慢,第一客户端的等待时间越长。类似地,对于第二客户端,其播放媒体资源数据之前,需要连接某一播放服务器,再从该播放服务器上获取媒体资源数据。第二客户端与该播放服务器的连接形式具体可以是远程通信连接。实际应用中,如果传输媒体资源数据的时间越短,传输越迅速,第二客户端的等待时间越短;反之,传输越慢,第二客户端的等待时间越长。
基于以上原因,也就是说,在该媒体资源部署系统中,并不是任意一个发布服务器与第一客户端连接就可以满足第一客户端的使用需求,也不是任意一个播放服务器与第二客户端就可以满足第二客户端的使用需求。为此,本实施例中全局调度系统101发挥了作用。所有请求发布或请求播放媒体资源数据的客户端(例如第一客户端和第二客户端)首先需要与调度系统101连接。
假设公有云服务器集群102可以具体细分为发布服务器集群和播放服务器集群,同理,私有云服务器集群103也可以具体细分为发布服务器集群和播放服务器集群。
下面对分配服务器、将客户端调度到服务器的示例实现方式进行描述。
所述全局调度系统101用于从所述发布服务器集群102中为第一客户端分配目标发布服务器组;第一客户端从全局调度系统101为其分配的目标发布服务器组中确定出目标发布服务器。
全局调度系统101还用于从播放服务器集群中为第二客户端分配目标播放服务器组;第二客户端从全局调度系统101为其分配的目标播放服务器组中确定出目标播放服务器。
作为示例,公有云服务器集群102的发布服务器集群具体包括20个发布服务器,公有云服务器集群102的播放服务器集群具体包括20个播放服务器,全局调度系统101从20个发布服务器中为第一客户端分配了包含共计5个发布服务器的目标发布服务器组;并且全局调度系统101还从20个播放服务器中为第二客户端分配了包含共计5个播放服务器的目标播放服务器组。第一客户端选择的目标发布服务器可能是目标发布服务器组中的任一个;第二客户端选择的目标播放服务器可能是目标播放服务器组中的任一个。
分配服务器有多种可能的实现方式。下面结合多种可能的实现场景描述调度客户端、分配服务器地址的实现方式。
第一种可能的实现方式:按照位置或地域来分配服务器,就近调度。
全局调度系统101具体用于在接收到所述第一客户端的访问请求后,如果访问请求中携带客户端的位置信息,即可以获得位置信息。另外,还可以根据第一客户端的ip地址解析出第一客户端的地域信息。对于全局调度系统101来说,每一个发布服务器的位置信息(或者地域信息)都是已知的。全局调度系统101再根据所述第一客户端的位置信息(或者地域信息)和发布服务器集群的位置信息(或者地域信息),向所述第一客户端发送目标发布服务器组的地址。发送的地址可能是与第一客户端在位置(或地域)较为接近的发布服务器的地址。
例如,媒体资源部署系统在东北地区有5个发布服务器,在西南地区有5个发布服务器,在华北地区有5个发布服务器,在东南地区有5个发布服务器。全局调度系统101解析出第一客户端的地域信息是成都市,由于成都位于西南地区,因此由位于西南地区的发布服务器与该第一客户端连接后,媒体资源数据的发布速度会比较快。因此全局调度系统101可以向第一客户端发送一组位于西南地区的5个发布服务器的地址,以便第一客户端接入和选择目标发布服务器。
全局调度系统101具体用于在接收到所述第二客户端的访问请求后,根据所述第二客户端的ip地址解析出第二客户端的地域信息。对于全局调度系统101来说,每一个播放服务器的地域信息都是已知的。全局调度系统101再根据第二客户端的地域信息和所述播放服务器集群的地域信息,向所述第二客户端发送目标播放服务器组的地址。
例如,媒体资源部署系统在东北地区有5个播放服务器,在西南地区有5个播放服务器,在华北地区有5个播放服务器,在东南地区有5个播放服务器。全局调度系统101解析出第二客户端的地域信息是哈尔滨市,由于哈尔滨位于东北地区,因此由位于东北地区的播放服务器与该第二客户端连接后,媒体资源数据的传输和播放速度会比较快。因此全局调度系统101可以向第二客户端发送一组位于东北地区的5个发布服务器的地址,以便第二客户端接入和选择目标播放服务器。
第二种可能的实现方式:客户端带宽固定,服务器优先级已定。
具体实现时,对于发布服务器集群,每个发布服务器的优先级已经确定;对于播放服务器集群,每个播放服务器的优先级已经确定。并且,第一客户端的带宽是固定的,第二客户端的带宽也是固定的。
实际应用中,某些(或某个)发布服务器或播放服务器承载的负荷可能已经达到预设阈值,不能再继续承担传输媒体资源数据的任务。实际应用中可以采用多种方式确定是否超负荷,例如连接的终端数量、剩余的带宽等。
对于以上情况,可以由全局调度系统101从多个服务器中分配多个可用的服务器给客户端。或者由客户端判断分配的服务器是否超负荷以及确认分配的服务器优先级后,选定服务器。
例如,第一客户端从分配的目标发布服务器组中确定负荷未达到预设阈值且优先级最高的发布服务器,将其作为所述目标发布服务器;第二客户端从所述目标播放服务器组中确定负荷未达到预设阈值且优先级最高的播放服务器,将其作为所述目标播放服务器。
第三种可能的实现方式:按照一致的运营商进行调度客户端、分配服务器。
所述全局调度系统101具体用于根据所述第一客户端的ip解析并确定所述第一客户端对应的运营商,从所述发布服务器集群中确定对应于该运营商的发布服务器,将其优先列入所述目标发布服务器组中。例如,通常分配的目标发布服务器组的数量是5个,如果第一客户端对应的运营商是联通,从多个服务器中确定出的同样对应于联通的发布服务器大于或等于5个,则从中选出5个作为分配的目标发布服务器组;如果确定出的同样对应于联通的发布服务器少于5个,则将这些发布服务器列入目标发布服务器组后,对于空缺以bgp发布服务器填补。bgp发布服务器是指按照边界网关协议记性数据传输的发布服务器。
同理,所述调度系统还用于根据所述第二客户端的ip解析并确定所述第二客户端对应的运营商,从所述播放服务器集群中确定对应于该运营商的播放服务器,将其优先列入所述目标播放服务器组中。
可以理解的是,进行媒体资源数据传输时,客户端与所连接的服务器的运营商一致,能够提升传输速度。
第四种可能的实现方式:将固定机构的私有云客户端调度到指定的服务器集群。
例如,一个企业对应于一个服务器集群,企业中运行的私有云客户端当需要发布或播放媒体资源数据时,全局调度系统101会首先获得私有云客户端的标识信息。由于客户端的标识信息与服务器集群具有对应关系,因此,全局调度系统101获得私有云客户端的标识信息后,可以将所述私有云客户端调度到所述私有云服务器集群103中与所述标识信息匹配的服务器集群。
全局调度系统101确定该标识信息确定对应的服务器集群,再从该集群中为客户端分配发布服务器或播放服务器。实际应用中,同一机构的私有云客户端可以带有同一种标识信息,这一标识信息与某一服务器集群的对应关系被预先存储到全局调度系统101,进而全局调度系统101在获取到私有云客户端的标识信息后可以利用该对应关系确定出服务于该机构的客户端的服务器集群,以实现对私有云客户端的调度。
以上列举出全局调度系统101调度第一客户端、第二客户端,为其分配服务器的可选实现方式,但是以上实现方式仅为示例,不作为对方案具体实现的限定。
在本申请提供的技术方案中,由于公有云服务器集群102中的公有云服务器以及私有云服务器集群103中的私有云服务器能够被全局调度系统101分配,以按照需求与客户端进行媒体资源数据的传输,因此无需各自与mcu连接,避免mcu端口资源对于数据传输的限制。即便客户端众多、分布范围广,也可以从部署的服务器集群中灵活调度,减少客户端的等待时间。另外,公有云服务器和私有云服务器分属于不同的服务器集群,界限分明,目标服务器实现媒体资源数据的传输,降低私有云服务器资源被随意获取的风险。
本申请实施例中,全局调度系统101,还用于根据所述公有云客户端的位置信息或ip,判断所述公有云客户端是否满足预设的共享条件,如果是,则允许所述公有云客户端获得所述私有云服务器集群103的共享资源;反之,则禁止所述公有云客户端获得所述私有云服务器集群103的共享资源。
在实际应用中,公有云服务器集群102和私有云服务器集群103之间具有可以共享的资源。例如,对于机构(例如企业或学校等)的介绍视频等。机构对于这类媒体资源的私密性和安全性要求不高,可以共享给公网的客户端的使用用户。
如果公有云客户端请求播放这类媒体资源,全局调度系统101可以根据所述公有云客户端的位置信息或ip,判断所述公有云客户端是否满足预设的共享条件。作为示例,共享条件可以是预设的规则,例如公有云客户端的末端公网ip为私有云服务器集群103的末端公网ip。这一共享条件满足,表示该公有云客户端刚从私有云服务器集群103所在的局域网运行过,即该客户端的用户为私有云服务器集群103所对应的机构中的用户。此时,可以将共享资源按照该客户端的需求通过数据传输共享给该客户端,为此全局调度系统101可以向目标公有云服务器或所述第一目标私有云服务器发送允许所述公有云客户端获得所述私有云服务器集群的共享资源的指令。如果不满足该共享条件,则可以向目标公有云服务器或所述第一目标私有云服务器发送禁止所述公有云客户端获得所述私有云服务器集群的共享资源的指令。
以上共享条件仅为示例。作为其他示例,共享条件还可以是验证通过或距离小于预设距离阈值等。此处对于共享条件不进行具体限定。
前面提及,全局调度系统101会给客户端分配一组服务器地址。下面介绍一种确定目标发布服务器和确定目标播放服务器的实现方式。
当全局调度系统101给第一客户端分配目标发布服务器组的地址后,第一客户端可以根据这些地址与这些发布服务器分别建立连接。分配的这目标发布服务器组用于分别接收所述第一客户端的测速请求。测速请求被同意后,第一客户端即可以对分配的各个发布服务器分别进行测速,从而了解当前发布服务器的数据传输性能等信息。最终,第一客户端可以将最优的测速结果对应的发布服务器作为所述目标发布服务器。
当全局调度系统101给第二客户端分配目标播放服务器组的地址后,第二客户端可以根据这些地址与这些播放服务器分别建立连接。分配的这目标播放服务器组用于分别接收所述第二客户端的测速请求。测速请求被同意后,第二客户端即可以对分配的各个播放服务器分别进行测速,从而了解当前播放服务器的数据传输性能等信息。最终,第二客户端可以将最优的测速结果对应的播放服务器作为所述目标播放服务器。
参见图2,该图为本申请实施例提供的一种媒体资源数据传输流向示意图。如图2所示:
媒体资源数据首先由发布者对应的第一客户端201发布到目标发布服务器202,媒体资源数据传输时两设备间采用的协议可以是实时传输协议rtp或实时传输控制协议rtcp。
再由目标发布服务器202将媒体资源数据在帧的层面传输给目标播放服务器203,期间,目标发布服务器202实现视频帧和音频帧的组帧,视频可以采用h.264格式,音频支持opus和aac的编码格式。
最后,第二客户端204从目标播放服务器203获得媒体资源数据并进行播放。媒体资源数据传输时,第二客户端204和目标播放服务器203之间采用rtp或rtcp。
实际应用中,目标发布服务器202和目标播放服务器203均可以以帧为单位对接服务器组件,例如cdn组件、recorder组件、数据分析组件、人工智能组件等。此处对服务器组件的具体类型不进行限定。
可以理解的是,如果第一客户端201为公有云客户端,则目标发布服务器202可能是目标公有云服务器或第一目标私有云服务器;如果第一客户端为私有云客户端,则目标发布服务器202可能是第二目标私有云服务器。
实际应用中,目标发布服务器202在接收所述第一客户端201上传的媒体资源数据时,对接收的数据包进行计数而不排序,即只做nack,直接将接收的数据包发送给所述目标播放服务器203。
当确定丢包时,目标发布服务器202向所述第一客户端201发送丢包重传请求,再将所述第一客户端201重传的数据包发送给所述目标播放服务器203。
由于丢包时目标发布服务器202不做数据包排序,直接把收到的数据传给目标播放服务器203,因此能够减少延时,减少播放的卡顿现象。另外,服务器直接的音视频传输都是在帧层面,不会在第二客户端播放媒体资源数据是扩散丢包的影响。
当丢包且补报失败时,目标播放服务器203可以向所述目标发布服务器202发送关键帧请求,以请求关键帧;目标发布服务器202还用于根据所述关键帧请求通知所述第一客户端201产生关键帧,再将所述关键帧回发给所述目标播放服务器203。获得新的关键帧后,目标播放服务器203可以利用该关键帧尽快向第二客户端204提供新的播放页面,减少第二客户端204的播放卡顿。
需要说明的是目标发布服务器202和目标播放服务器203之间除了传递媒体资源数据以外,还可以传递控制信息。
在本实施例中,目标播放服务器203还用于响应于所述第二客户端204的带宽调整请求,并反馈给所述目标发布服务器。例如,对于目标播放服务器203来说,连接的播放端(即第二客户端204)数量过多是,可以采用正态分布来调整带宽。目标播放服务器203的带宽有最低阈值和最高阈值,实际应用中调节带宽时,即是在该最低阈值与最高阈值之间来调整带宽。
实际应用中,媒体资源部署系统中还可以包括运维服务器,该运维服务器用于通过脚本监控发布服务器和播放服务器的使用带宽,将使用带宽上报给调度系统。调度系统可以根据各个发布服务器和播放服务器的使用带宽调度客户端,例如,当某一发布服务器过载,调度系统就不会将该发布服务器分配给新的第一客户端;当某一播放服务器过载,调度系统就不会将该播放服务器分配给新的第二客户端。从而,实现了对媒体资源部署系统中的每一个发布服务器和播放服务器的过载保护。
基于前述实施例提供的媒体资源部署系统,相应地,本申请还提供一种媒体资源部署方法。
参见图3,该图为本申请实施例提供的一种媒体资源部署方法的流程图。
如图3所示,该方法包括:
步骤301:判断连接的客户端为公有云客户端或私有云客户端,如果是公有云客户端,则执行步骤302;如果是私有云客户端,则执行步骤303。
步骤302:对于公有云客户端,从公有云服务器集群中为所述公有云客户端分配目标公有云服务器,或从私有云服务器集群中为所述公有云客户端分配第一目标私有云服务器,以使所述公有云客户端利用所述第一目标公有云服务器或所述目标私有云服务器进行媒体资源数据的传输;
步骤303:对于私有云客户端,从所述私有云服务器集群中为私有云客户端分配第二目标私有云服务器,以使所述私有云客户端利用所述第二目标私有云服务器进行媒体资源数据的传输。
由于公有云服务器集群中的公有云服务器以及私有云服务器集群中的私有云服务器能够被全局调度系统分配,以按照需求与客户端进行媒体资源数据的传输,因此无需各自与mcu连接,避免mcu端口资源对于数据传输的限制。即便客户端众多、分布范围广,也可以从部署的服务器集群中灵活调度,减少客户端的等待时间。另外,公有云服务器和私有云服务器分属于不同的服务器集群,界限分明,目标服务器实现媒体资源数据的传输,降低私有云服务器资源被随意获取的风险。
为了进一步提升公有云服务器集群和私有云服务器集群之间的共享资源的私密性和安全性,该方法还可以进一步包括:
根据所述公有云客户端的位置信息或ip,判断所述公有云客户端是否满足预设的共享条件,如果判断结果为是,则向所述目标公有云服务器或所述第一目标私有云服务器发送允许所述公有云客户端获得所述私有云服务器集群的共享资源的指令;如果判断结果为否,则向所述目标公有云服务器或所述第一目标私有云服务器发送禁止所述公有云客户端获得所述私有云服务器集群的共享资源的指令。
通过在不满足共享条件时发送禁止指令,避免资源泄露传播。
在实际应用中,如果机构具有对应的私有云服务器集群,则本实施例方法还可以进一步包括:
获得所述私有云客户端的标识信息;
步骤303具体可以包括:
将所述私有云客户端调度到所述私有云服务器集群中与所述标识信息匹配的服务器集群;
从所述与标识信息匹配的服务器集群中为所述私有云客户端分配所述第二目标私有云服务器。
可见,机构内的私有云客户端可以由对应的私有云服务器集群中的服务器专门处理该客户端的请求,与该客户端进行媒体资源数据的传输。
基于前述实施例提供的媒体资源部署方法,相应地,本申请还提供一种媒体资源部署装置。
参见图4,该图为该装置的结构示意图。如图4所示,该装置包括:
判断模块401,用于判断连接的客户端为公有云客户端或私有云客户端;
第一分配模块402,用于当所述判断模块401判断连接的客户端为公有云客户端时,从公有云服务器集群中为所述公有云客户端分配目标公有云服务器,或从私有云服务器集群中为所述公有云客户端分配第一目标私有云服务器,以使所述公有云客户端利用所述第一目标公有云服务器或所述目标私有云服务器进行媒体资源数据的传输;
第二分配模块403,用于当所述判断模块401判断连接的客户端为私有云客户端时,从所述私有云服务器集群中为私有云客户端分配第二目标私有云服务器,以使所述私有云客户端利用所述第二目标私有云服务器进行媒体资源数据的传输。
在本申请提供的技术方案中,由于公有云服务器集群中的公有云服务器以及私有云服务器集群中的私有云服务器能够被第一分配模块402或第二分配模块403分配,以按照需求与客户端进行媒体资源数据的传输,因此无需各自与mcu连接,避免mcu端口资源对于数据传输的限制。即便客户端众多、分布范围广,也可以从部署的服务器集群中灵活调度,减少客户端的等待时间。另外,公有云服务器和私有云服务器分属于不同的服务器集群,界限分明,目标服务器实现媒体资源数据的传输,降低私有云服务器资源被随意获取的风险。
另外,本申请实施例还提供另一种媒体资源部署系统,参见图5,该图为该系统的结构示意图。
如图5所示,该媒体资源部署系统包括:
第一调度系统501、第二调度系统502、公有云服务器集群503和私有云服务器集群504,所述私有云服务器集群504部署在局域网内;所述公有云服务器集群503中的公有云服务器与所述第一调度系统501通信连接,所述私有云服务器集群504中的私有云服务器与所述第二调度系统502通信连接;
所述第一调度系统501,用于从所述公有云服务器集群503中为公有云客户端分配的目标公有云服务器,以使所述公有云客户端利用所述目标公有云服务器进行媒体资源数据的传输;
所述第二调度系统502,用于从所述私有云服务器集群504中为私有云客户端分配的目标私有云服务器,以使所述私有云客户端利用所述目标私有云服务器进行媒体资源数据的传输。
在本实施例中,第一调度系统501用于将公有云客户端调度给目标公有云服务器,不负责调度私有云客户端。即,第一调度系统501是公有云服务器集群503独立部署的调度系统。第二调度系统502用于将私有云客户端调度给目标私有云服务器,不负责调度公有云客户端。即,第二调度系统502是私有云服务器集群504独立部署的调度系统。
在本实施例中,因为公有云和私有云各自独立部署调度系统,因此私有云服务器集群504和公有云服务器集群503不共享媒体资源。仅允许私有云客户端和局域网外部的特定的客户端在满足共享条件(或称预设共享规则)的情况下共享资源。
由于公有云服务器集群中的公有云服务器以及私有云服务器集群中的私有云服务器能够被独立的调度系统分配,以按照需求与客户端进行媒体资源数据的传输,因此无需各自与mcu连接,避免mcu端口资源对于数据传输的限制。即便客户端众多、分布范围广,也可以从部署的服务器集群中灵活调度,减少客户端的等待时间。另外,公有云服务器和私有云服务器分属于不同的服务器集群,界限分明,目标服务器实现媒体资源数据的传输,降低私有云服务器资源被随意获取的风险。
基于前述实施例提供的媒体资源部署系统,相应地,本申请实施例还提供了一种媒体资源部署方法。参见图6,该图为该方法的流程图。
如图6所示,该方法包括:
步骤601:判断连接的客户端为公有云客户端或私有云客户端,如果是公有云客户端,则执行步骤602;如果是私有云客户端,则执行步骤603。
步骤602:对于公有云客户端,从公有云服务器集群中为公有云客户端分配的目标公有云服务器,以使所述公有云客户端利用所述目标公有云服务器进行媒体资源数据的传输;
步骤603:对于私有云客户端,从私有云服务器集群中为私有云客户端分配的目标私有云服务器,以使所述私有云客户端利用所述目标私有云服务器进行媒体资源数据的传输。
基于前述实施例提供的媒体资源部署系统及方法,相应地,本申请实施例还提供了一种媒体资源部署装置。参见图7,该图为该装置的结构示意图。
如图7所示,该装置包括:
判断模块701,用于判断连接的客户端为公有云客户端或私有云客户端;
第一分配模块702,用于当所述判断模块701判断连接的客户端为公有云客户端时,从公有云服务器集群中为公有云客户端分配的目标公有云服务器,以使所述公有云客户端利用所述目标公有云服务器进行媒体资源数据的传输;
第二分配模块703,用于当所述判断模块701判断连接的客户端为私有云客户端时,从私有云服务器集群中为私有云客户端分配的目标私有云服务器,以使所述私有云客户端利用所述目标私有云服务器进行媒体资源数据的传输。
由于公有云服务器集群中的公有云服务器以及私有云服务器集群中的私有云服务器能够被第一分配模块702或第二分配模块703分配,以按照需求与客户端进行媒体资源数据的传输,因此无需各自与mcu连接,避免mcu端口资源对于数据传输的限制。即便客户端众多、分布范围广,也可以从部署的服务器集群中灵活调度,减少客户端的等待时间。另外,公有云服务器和私有云服务器分属于不同的服务器集群,界限分明,目标服务器实现媒体资源数据的传输,降低私有云服务器资源被随意获取的风险。
基于前述实施例提供的媒体资源部署系统、方法及装置,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述程序被处理器运行时,实现如前述方法实施例中提供的媒体资源部署方法。
基于前述实施例提供的媒体资源部署系统、方法及装置,本申请还提供一种处理器,该处理器用于运行计算机程序,所述程序运行时执行前述方法实施例提供的媒体资源部署方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法及装置实施例而言,由于其基本相似于系统实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。