1.一种流媒体数据的传输方法,其特征在于,包括:
流媒体服务器接收来自移动终端的浏览器的目标连接请求,所述目标连接请求包括连接对象的信息;
所述流媒体服务器创建一个与所述目标连接请求对应的目标事件处理器,所述目标事件处理器采用websocket协议与所述移动终端的浏览器进行数据传输;
所述流媒体服务器查询是否已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同;
若已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则所述流媒体服务器将第一连接请求对应的缓冲队列中的流媒体数据复用至所述目标事件处理器,以便于所述目标事件处理器将复用得到的流媒体数据发送给所述移动终端的浏览器;所述第一连接请求是指所述其它连接请求中连接对象与所述目标连接请求的连接对象相同的连接请求;
若不存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则所述流媒体服务器创建一个与所述目标连接请求对应的新的缓冲队列,根据所述目标连接请求的连接对象的信息提取相应的流媒体数据,并将提取得到的流媒体数据通过所述新的缓冲队列分发至所述目标事件处理器,以便于所述目标事件处理器将提取得到的流媒体数据发送给所述移动终端的浏览器。
2.根据权利要求1所述的流媒体数据的传输方法,其特征在于,所述流媒体服务器预先建立流媒体连接池,所述流媒体连接池用于存储和管理当前各路连接请求的流管理对象,流管理对象记录有与其对应的连接请求的连接对象的信息;
所述流媒体服务器查询是否已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同具体为:所述流媒体服务器查询所述流媒体连接池的各个流管理对象中是否已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同;
若不存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则在所述流媒体服务器创建一个与所述目标连接请求对应的新的缓冲队列之前,所述流媒体服务器将所述目标连接请求对应的流管理对象注册进所述流媒体连接池。
3.根据权利要求1所述的流媒体数据的传输方法,其特征在于,所述流媒体服务器预先建立缓冲区,所述缓冲区用于存放各路连接请求对应的缓冲队列;
所述流媒体数据的传输方法还包括:
所述流媒体服务器根据当前的流媒体数据获取速度调整所述缓冲区的大小;其中,当前的流媒体数据获取速度越快,则调整后的所述缓冲区越小;当前的流媒体数据获取速度越慢,则调整后的所述缓冲区越大。
4.根据权利要求1至3中任意一项所述的流媒体数据的传输方法,其特征在于,在流媒体服务器接收来自移动终端的浏览器的目标连接请求之前,还包括:CDN网络的调度中心根据所述移动终端与所述CDN网络上各个节点服务器之间的网络连接情况确定所述各个节点服务器中的一个节点服务器作为所述流媒体服务器;
所述流媒体服务器与所述移动终端之间建立基于websocket协议的数据传输链路。
5.根据权利要求4所述的流媒体数据的传输方法,其特征在于,所述流媒体服务器通过预设在所述流媒体服务器上的websocket服务程序完成与所述移动终端之间的数据传输链路的建立;其中,所述websocket服务程序预先部署在所述CDN网络上,并通过所述CDN网络的内部服务更新渠道以二进制文件形式自动同步到所述各个节点服务器上。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述流媒体数据的传输方法的步骤。
7.一种流媒体服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:流媒体服务器接收来自移动终端的浏览器的目标连接请求,所述目标连接请求包括连接对象的信息;
所述流媒体服务器创建一个与所述目标连接请求对应的目标事件处理器,所述目标事件处理器采用websocket协议与所述移动终端的浏览器进行数据传输;
所述流媒体服务器查询是否已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同;
若已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则所述流媒体服务器将第一连接请求对应的缓冲队列中的流媒体数据复用至所述目标事件处理器,以便于所述目标事件处理器将复用得到的流媒体数据发送给所述移动终端的浏览器;所述第一连接请求是指所述其它连接请求中连接对象与所述目标连接请求的连接对象相同的连接请求;
若不存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则所述流媒体服务器创建一个与所述目标连接请求对应的新的缓冲队列,根据所述目标连接请求的连接对象的信息提取相应的流媒体数据,并将提取得到的流媒体数据通过所述新的缓冲队列分发至所述目标事件处理器,以便于所述目标事件处理器将提取得到的流媒体数据发送给所述移动终端的浏览器。
8.根据权利要求7所述的流媒体服务器,其特征在于,所述流媒体服务器预先建立流媒体连接池,所述流媒体连接池用于存储和管理当前各路连接请求的流管理对象,流管理对象记录有与其对应的连接请求的连接对象的信息;
所述流媒体服务器查询是否已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同具体为:所述流媒体服务器查询所述流媒体连接池的各个流管理对象中是否已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同;
若不存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则在所述流媒体服务器创建一个与所述目标连接请求对应的新的缓冲队列之前,所述流媒体服务器将所述目标连接请求对应的流管理对象注册进所述流媒体连接池。
9.根据权利要求1所述的流媒体服务器,其特征在于,所述流媒体服务器预先建立缓冲区,所述缓冲区用于存放各路连接请求对应的缓冲队列;
所述处理器执行所述计算机程序时还包括:
所述流媒体服务器根据当前的流媒体数据获取速度调整所述缓冲区的大小;其中,当前的流媒体数据获取速度越快,则调整后的所述缓冲区越小;当前的流媒体数据获取速度越慢,则调整后的所述缓冲区越大。
10.根据权利要求7至9中任意一项所述的流媒体服务器,其特征在于,在流媒体服务器接收来自移动终端的浏览器的目标连接请求之前,还包括:CDN网络的调度中心根据所述移动终端与所述CDN网络上各个节点服务器之间的网络连接情况确定所述各个节点服务器中的一个节点服务器作为所述流媒体服务器;
所述流媒体服务器与所述移动终端之间建立基于websocket协议的数据传输链路。