专利名称:视频点播系统中处理会话的接入实体及方法
技术领域:
本发明涉及视频点播领域,特别涉及一种视频点播系统中处理会话的接入实体及方法。
背景技术:
当前主流的视频点播系统中的实体之间的会话是基于传输控制协议(TCP, Transmission Control Protocol)实现的。用户通过数字电视接收终端点播节目,这里的数字电视接收终端为数字电视接收终端,可以为机顶盒等,数字电视接收终端与网络侧的媒体接入平台(MAP,Media Access Platform)建立TCP连接。数字电视接收终端通过所建立的TCP连接向MAP发送建立(SETUP)请求消息建立会话,MAP接收到SETUP请求消息后为该请求申请视频服务器(VS,Video Server)等资源。资源申请成功后,MAP与所选定的VS 建立TCP连接并在TCP连接上发送SETUP请求消息建立会话,请求VS为数字电视接收终端提供视频。VS接收到该SETUP请求消息后,数字电视接收终端就可以为通过MAP与VS进行会话交互,点播VS提供的视频。在VS提供视频的过程中,数字电视接收终端与MAP、MAP与 VS之间的会话都要通过分别建立的TCP连接进行,当会话结束后所建立的TCP连接才会断开。
对于数字电视接收终端与MAP之间的会话,不同的数字电视接收终端与MAP要分别建立不同的TCP连接,无法建立一个TCP连接实现不同数字电视接收终端与MAP之间的会话。对于MAP与VS之间的会话,按照上述方案,也需要为不同的会话建立不同的会话连接。为了实现与数字电视接收终端或VS之间的不同会话,MAP就需要建立一组或几组线程分别建立与数字电视接收终端及VS之间的TCP连接,这样对于MAP与VS之间的通信,一个线程就需要管理多个不同的会话,当有多个会话要进行,也就是通过不同的TCP连接进行消息收发时,MAP的线程就需要轮循地向承载这些信息交互的套接字口(socket)写数据或读数据并处理,具体示意图如图1所示。图1为现有技术提供的视频点播系统承载会话的 TCP连接结构示意图。在图1中,MAP具有N个线程,每个线程管理了多个TCP连接,这多个 TCP连接包括与机顶盒(STB)之间的TCP连接以及与VS之间的TCP连接,每个TCP连接上承载一个会话。当某个会话进行时,MAP管理承载该会话的TCP连接的线程,会轮询到该会话相关信息交互的socket写数据或读数据,处理该会话。
在上述方案中,在为数字电视接收终端提供视频播放时,MAP分别与STB和VS分别建立一个会话,就需要分别建立与STB和VS之间的TCP连接。如果对于基于下一代点播系统(NG0D,Next Generation On Demand),网络侧又新增很多实体,其中相当于MAP的会话管理器(SM,Session Manager)需要与导航服务器(NS,Navigation Server)、边缘资源管理器 (ERM, Edge Resource Manager)、点播资源管理器(0DRM, On Demand Resource Manager)、 网络资源管理器(NRM, Network Resource Manager)、加密资源管理器(EnRM, Encryption Resource Manager及推流服务器(SS,Mreaming Server)分别建立会话,这时就需要7个 TCP连接。如果MAP及VS采用LINUX系统,一个进程可以建立65535个TCP连接,端口最大数目为65535,但是一部分是保留的,所以实际上可以建立的TCP连接数目远远少于65535, 对于MAP最多也就只能支持几千个会话,这将严重影响MAP的并发性能。另外,当MAP的线程在处理TCP连接时,采用的是轮循地向套接字口 socket写数据或读数据并处理,处理完后再切换处理另一个TCP连接的socket进行写数据或读数据并处理,这样切换会浪费很多时间,无疑会增加MAP的负担,降低性能。
由于视频点播系统的接入实体,诸如MAP或NGOD中的SM在建立TCP连接时的性能比较低,所以就需要在网络侧多部署多台同一类型的接入实体,增加了成本以及增加了维护费用。
为了解决上述视频点播系统的接入实体在建立TCP连接时出现的问题,可以采用传输控制协议(UDP,User Datagram Protocol)传输会话的信息,如图2所示,图2为现有技术提供的视频点播系统承载会话的UDP通道结构示意图,比如当MAP与VS之间建立会话时,不建立TCP连接,而是通过UDP进行会话的建立。即在MAP上设置处理UDP消息线程组, 由该线程组建立与VS之间的UDP通道,通过该UDP通道进行会话相关消息交互。但是,这种方式也存在缺点UDP是一种不可靠的传输层协议,如果视频点播系统出现网络阻塞或不稳定,就会出现会话相关消息丢失的情况,影响数字电视接收终端点播视频的稳定性,为了解决这个问题,就需要在以UDP进行会话消息交互的视频点播系统的接入实体设置重传机制,进行信息交互的检测和重传,这无疑增加了以UDP进行信息交互的视频点播系统的接入实体的实现难度和复杂度。
因此,在数字电视接收终端进行视频点播过程中,如何在保证点播视频稳定性的前提下,提高视频点播系统中的接入实体的并行处理会话能力,成为了一个亟待解决的问题。发明内容
有鉴于此,本发明提供一种视频点播系统中处理会话的接入实体,该接入实体能够在保证点播视频稳定性的前提下,提高视频点播系统中的接入实体的并行处理会话能力。
本发明还提供一种视频点播系统中处理会话的方法,该方法能够在保证点播视频稳定性的前提下,提高视频点播系统中的接入实体的并行处理会话能力。
为达到上述目的,本发明实施的技术方案具体是这样实现的
一种视频点播系统中处理会话的方法,接入实体设置连接池,该连接池中,与视频服务器之间至少建立一个传输控制协议TCP连接,所述视频服务器为至少一个,该方法包括
接入实体接收数字电视接收终端发送的视频点播请求,根据所述请求确定为该请求提供视频服务的视频服务器;
在连接池中选择与所确定视频服务器之间的一个TCP连接,通过所选定的TCP连接将所述请求转发给所确定视频服务器。
所述选择与所确定视频服务器之间的一个TCP连接的过程为
根据所确定视频服务器标识,在连接池中找到具有相同的所述标识的视频服务器,从找到的视频服务器与接入实体之间的多个TCP连接中选择一个TCP连接使用,所述选择的TCP连接为当前负载连接最轻的TCP连接。
所述将所述请求转发给所确定视频服务器之后,还包括
接收所确定视频服务器处理后返回的视频点播响应,该响应是通过所述所选定的 TCP连接发送给接入实体的;
通过与所述数字电视接收终端建立的TCP连接,将接收到的视频点播响应发送给数字电视接收终端。
在所述在连接池中选择与所确定视频服务器之间的一个TCP连接之前,还包括
判断在连接池中是否存在与所确定视频服务器之间的TCP连接,如果是,执行在连接池中选择与所确定视频服务器之间的一个TCP连接的步骤;如果否,在连接池中与所确定视频服务器之间建立至少一个TCP连接后,执行在连接池中选择与所确定视频服务器之间的一个TCP连接的步骤。
所述通过所选定的TCP连接将所述请求转发给所确定视频服务器,及所述该响应是通过所述所选定的TCP连接发送给接入实体的过程是对所述选定的TCP连接的套接字 socket进行会话交互数据的读写处理,处理过程为
在接入实体上设置两组线程,一组线程用于对该选定的TCP连接的socket进行会话交互数据的读处理,接收视频点播请求回应;另一组线程用于对该选定的TCP连接的 socket进行会话交互数据的写处理,发送视频点播请求。
该方法还包括接入实体定时检测连接池中的建立的TCP连接,当检测到TCP连接异常时重新进行连接,或者将异常的TCP连接所承载的会话迁移到连接池中的其他TCP连接上,所述其他TCP连接与所述异常的TCP连接所连接到的视频服务器相同。
所述迁移到连接池中的其他TCP连接上的会话相关消息通过实时流传输协议 RTSP的SETPARAMETER方法发送给与所述其他TCP连接的视频服务器。
一种视频点播系统中处理会话的接入实体,包括会话管理模块、视频服务器资源管理模块和连接池,其中,
会话管理模块,用于接收数字电视接收终端发送的视频点播请求,发送给视频服务器资源管理模块;根据视频服务器资源管理模块选择的所确定视频服务器,从连接池中获取到与所确定视频服务器之间的一个TCP连接,通过所选择的TCP连接将视频点播请求发送给所确定视频服务器;
视频服务器资源管理模块,用于根据会话管理模块发送来的所述请求,确定为所述请求提供视频服务的视频服务器,通知会话管理模块;
连接池,用于与视频服务器之间建立至少一个TCP连接,所述视频服务器为至少一个,选择与所确定视频服务器之间的一个TCP连接后,反馈给会话管理模块。
会话管理模块,还用于建立与所述数字电视接收终端之间的TCP连接,从所述所确定视频服务器接收到通过所选择的TCP连接发送的视频点播响应后,通过所建立的与数字电视接收终端之间的TCP连接,将该视频点播响应转发给所述数字电视接收终端。
连接池包括初始化模块、视频服务器连接建立和销毁模块及socket资源管理模块,其中,
初始化模块,用于启动连接池运行所需要的资源,包括管理连接池的线程启动及连接池的资源申请;
视频服务器连接建立和销毁模块,用于在socket资源管理模块的指示下建立和销毁与视频服务器之间的至少一个TCP连接,存储在socket资源管理模块中的缓冲池;
socket资源管理模块,用于从缓冲池中选择与所确定视频服务器之间的一个的 TCP连接,如果选择到,检测是否可用,如果可用,反馈给会话管理模块;如果不可用或没有选择到,指示视频服务器连接建立和销毁模块建立与所确定视频服务器之间的TCP连接。
所述连接池线程定时检测视频服务器资源,该视频服务器资源由所述视频服务器资源管理模块管理,当检测到有新的视频服务器注册到接入实体时,建立与该视频服务器之间的TCP连接,将该连接放置到缓冲池中,由所述socket资源管理模块处理;
当检测到有视频服务器注销时,删除缓冲池中接入实体与注销的视频服务器之间的所有TCP连接。
所述socket资源管理模块定期检测缓冲池中所有的TCP连接状态,当所检测的 TCP连接所承载的会话数为0或出现异常,指示视频服务器连接建立和销毁模块断开该TCP 连接。
所述会话管理模块,还用于设置两组线程,一组线程用于对从socket资源管理模块中的缓冲池选定的TCP连接的socket进行会话交互数据的读处理,接收视频点播请求回应;另一组线程用于对从socket资源管理模块中的缓冲池选定的TCP连接的socket进行会话交互数据的写处理,发送视频点播请求。
该接入实体还包括IP QAM资源管理模块,用于当会话管理模块与数字电视接收终端之间建立以TCP连接的会话后,从IP QAM资源管理模块中申请IP QAM资源,为数字电视接收终端请求的视频点播申请IP QAM资源。
由上述方案可以看出,本发明在视频点播系统的接入实体设置连接池,在该连接池中,与当前提供视频服务的视频服务器之间建立至少一个TCP连接,所述当前提供视频服务的视频服务器为至少一个。当接收到数字电视接收终端的视频点播时,从该连接池中选择与所确定提供视频服务的视频服务器之间的其中一个TCP连接进行会话交互。这样, 在视频点播过程中,采用可靠的传输层协议建立TCP连接进行会话交互,保证了点播视频的稳定性。由于接入实体从该连接池中选择与所确定提供视频服务的视频服务器之间的其中一个TCP连接进行会话交互,也就是预先建立的TCP连接并不是针对每一个会话建立,所以该TCP连接可以在不同的时间段处理不同的会话,使得多个会话可以共用一个TCP连接, 增大了接入实体所支持的最大会话数,从而提高视频点播系统中的接入实体的并行处理会话能力。
图1为现有技术提供的视频点播系统承载会话的TCP连接结构示意图2为现有技术提供的视频点播系统承载会话的UDP通道结构示意图3为本发明实施例提供的视频点播系统中处理会话的方法流程图4为本发明实施例提供的视频点播系统中处理会话的接入实体结构示意图5为本发明又一实施例提供的视频点播系统中处理会话的方法流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
本发明为了保证点播视频在进行会话交互时的稳定性,不造成会话交互信息丢失,所以接入实体和提供视频服务的视频服务器之间的会话交互仍然采用TCP连接。为了提高视频点播系统中的接入实体的并行处理会话能力,本发明在视频点播系统的接入实体设置连接池,在该连接池中,与当前提供视频服务的视频服务器之间建立至少一个TCP连接,所述当前提供视频服务的视频服务器为至少一个。当接收到数字电视接收终端的视频点播时,从该连接池中选择与所确定提供视频服务的视频服务器之间的其中一个TCP连接进行会话交互。
这样,接入实体从该连接池中选择与所确定提供视频服务的视频服务器之间的其中一个TCP连接进行会话交互,也就是预先建立的TCP连接并不是针对每一个会话建立,所以该TCP连接可以在不同的时间段处理不同的会话,使得多个会话可以共用一个TCP连接, 增大了接入实体所支持的最大会话数,从而提高视频点播系统中的接入实体的并行处理会话能力。
在本发明中,从中选择一个TCP连接使用,所述选择的TCP连接为当前负载连接最轻的TCP连接,负载是目前该TCP连接上已存在的会话数,会话数越多负载越重。
在本发明中,接入实体可以为MAP或SM,视频服务器可以为VS,SS, NS,ERM,ODRM, NRM 或 EnRM 等。
在本发明中,数字电视接收终端包括但不限于机顶盒、网际协议电视IPTV或一体机等。
图3为本发明实施例提供的视频点播系统中处理会话的方法流程图,在视频点播系统的接入实体设置连接池,该连接池中,与当前提供视频服务的视频服务器之间建立至少一个TCP连接,所述当前提供视频服务的视频服务器为至少一个,其具体步骤为
步骤301、接入实体接收到数字电视接收终端发送的视频点播请求;
在该步骤后,接入实体为数字电视接收终端建立会话,即和数字电视接收终端之间建立TCP连接;
步骤302、接入实体确定为该请求提供视频服务的视频服务器;
在该步骤中,如何确定为现有技术,这里不再赘述;
步骤303、接入实体在连接池中选择与所确定视频服务器之间的一个TCP连接后, 通过所选定的TCP连接将该视频点播请求转发给该视频服务器处理;
在该步骤中,选择过程为根据所确定视频服务器标识,在连接池中找到具有相同视频服务器标识的视频服务器,从找到的视频服务器与接入实体之间的多个TCP连接中选择一个TCP连接使用,可以选择当前未进行会话交互的TCP连接使用,也可以选择当前负载连接最轻的TCP连接;
在该步骤中,当该视频服务器处理后,返回视频点播响应,该响应通过步骤303的 TCP连接发送给接入实体,接入实体接收到后,通过与数字电视接收终端建立的TCP连接, 将视频点播响应发送给数字电视接收终端,数字电视接收终端就可以点播视频了。
在该方法中,在执行步骤303之前,还包括
接入实体确定在连接池中存在与所确定视频服务器之间的TCP连接,如果是,执行步骤303 ;如果否,则与所确定视频服务器之间建立至少一个TCP连接后,再执行步骤 303。
在该方法中,接入实体的连接池中与当前提供视频服务的视频服务器之间建立至少一个TCP连接,是动态建立的,对于其中一个当前提供视频服务的视频服务器,所建立的 TCP连接数目是根据数字电视接收终端数目及接入实体的系统并发能力建立的。当其中一个当前提供视频服务的视频服务器的多个TCP连接达到可承载上限时,具体的上限值根据会话数量及网络状况确定,也可以增加建立TCP连接来满足会话需要;当然,相反情况时, 也可以断开已有的一部分TCP连接。
在本发明中,如果采用一个线程对一个TCP连接的socket进行会话交互数据的读和写都进行处理,也就是对承载在该TCP连接的消息进行收发处理。当会话交互比较多时, 就会有很多的会话交互数据的读和写处理。当该线程对一个TCP连接的socket进行会话交互数据进行读处理时,就无法再进行写处理,反之依然,这会影响接入实体对数字电视接收终端的视频点播请求处理的反应度。因此,在本发明中,当接入实体通过所选定的TCP连接将该视频点播请求转发给该视频服务器时,采用的方法是对该选定的TCP连接的socket 进行会话交互数据的写处理,在处理过程中,设置两组线程,一组线程用于对该选定的TCP 连接的socket进行会话交互数据的读处理,也就是接收消息,另一组线程用于对该选定的 TCP连接的socket进行会话交互数据的写处理,也就是发送消息。这样,对于一个TCP连接可以同时进行携带会话交互数据的消息发送和接收,提高处理效率。
在本发明中,由于多个会话会采用一个TCP连接,如果该TCP连接异常断开,就会影响该TCP连接所承载的所有会话。这样,就对视频点播系统中的连接稳定性及连接异常断开后的补救措施要求很高。因此,在本发明中,接入实体定期对连接池中所建立的每一条 TCP连接进行检测,当检测到TCP连接异常时就重新进行连接,或者将异常的TCP连接所承载的会话迁移到其他TCP连接上,该其他TCP连接与异常的TCP连接所连接到的视频服务器相同,从而保证会话的正常运转。在这时,接入实体还需要通知视频服务器,会话迁移到哪个TCP连接上,保证视频服务器可以通过所迁移的TCP连接向接入实体发送会话相关消息。在这里,通知可以通过实时流传输协议(RTSP,Real Time Streaming Protocol)中的 SETPARAMETER方式建立,具体地,就是接入设备向视频服务器发送携带迁移的TCP连接信息和会话信息的消息。
采用的SETPARAMETER消息格式为
SET_PARAMETER rtsp ://streamingserver32. comcast. com :554RTSP/1. 0
CSeq :36394 // 序列号
Content-Type text/parameters // 内容类型文本
Content_Length :40// 内容长度
Session_groups :SM1. SGl SM2. SG2 SM3. SG3 //TCP 连接信息和会话信息。
图4为本发明实施例提供的视频点播系统中处理会话的接入实体结构示意图,包括会话管理模块、视频服务器资源管理模块和连接池,其中,
会话管理模块,用于接收数字电视接收终端发送的视频点播请求,发送给视频服务器资源管理模块选择所确定视频服务器,从连接池中获取到与所确定视频服务器之间的一个TCP连接,通过所选择的TCP连接将视频点播请求发送给所确定视频服务器;
视频服务器资源管理模块,用于确定为数字电视接收终端发送的视频点播请求提供视频服务的视频服务器,通知会话管理模块;
连接池,用于与视频服务器之间建立至少一个TCP连接,所述视频服务器为至少一个,选择与所确定视频服务器之间的一个TCP连接后,反馈给会话管理模块。
在该结构中,会话管理模块,还用于建立与数字电视接收终端之间的TCP连接,当从视频服务器接收到通过所选择的TCP连接发送的视频点播响应后,通过所建立的与数字电视接收终端之间的TCP连接,将该视频点播响应转发给数字电视接收终端。
具体地,初始化模块,用于启动连接池运行所需要的资源,包括管理连接池的线程启动及连接池的资源申请;
视频服务器连接建立和销毁模块,用于在socket资源管理模块的指示下建立和销毁与视频服务器之间的至少一个TCP连接,存储在socket资源管理模块中的缓冲池;
socket资源管理模块,用于从缓冲池中选择与所确定视频服务器之间的一个的 TCP连接,如果选择到,检测是否可用,如果可用,反馈给会话管理模块;如果不可用或没有选择到,指示视频服务器连接建立和销毁模块建立与所确定视频服务器之间的TCP连接。
在该接入实体中,socket资源管理模块还包括缓冲池,用于存储视频服务器连接建立和销毁模块建立和销毁与视频服务器之间的至少一个TCP连接。
在该接入实体,所述连接池线程定时检测视频服务器资源,该视频服务器资源由所述视频服务器资源管理模块管理,当检测到有新的视频服务器注册到接入实体时,建立与该视频服务器之间的TCP连接,将该连接放置到缓冲池中,由所述socket资源管理模块处理;
当检测到有视频服务器注销时,删除缓冲池中接入实体与注销的视频服务器之间的所有TCP连接。
在该接入实体中,所述socket资源管理模块定期检测缓冲池中所有的TCP连接状态,当所检测的TCP连接所承载的会话数为0或出现异常,指示视频服务器连接建立和销毁模块断开该TCP连接。
在该接入实体中,所述会话管理模块,还用于设置两组线程,一组线程用于对从 socket资源管理模块中的缓冲池选定的TCP连接的socket进行会话交互数据的读处理, 接收视频点播请求回应;另一组线程用于对从socket资源管理模块中的缓冲池选定的TCP 连接的socket进行会话交互数据的写处理,发送视频点播请求。
在接入实体中,当基于边缘解调器(IP QAM, Internet Protocol Quadrature Amplitude Modulation)的模式下时,还包括IP QAM资源管理模块,用于当会话管理模块与数字电视接收终端之间建立以TCP连接的会话后,从IP QAM资源管理模块中申请IP QAM 资源,为点播的视频申请IP QAM资源,这是现有技术,这里不再赘述。
图5为本发明又一实施例提供的视频点播系统中处理会话的方法流程图,假设数字电视接收终端为机顶盒,接入实体为MAP,在MAP的连接池中与当前提供视频服务的视频服务器之间建立至少一个TCP连接,所述当前提供视频服务的视频服务器为至少一个,其具体步骤为
步骤501、机顶盒向MAP发送点播视频请求;
步骤502、MAP接收到后,其会话管理模块建立会话,也就是建立与该机顶盒之间的连接;
步骤503、MAP中的会话管理模块向MAP中的IP QAM资源管理模块请求分配IP QAM资源;
步骤504、MAP中的IP QAM资源管理模块返回为机顶盒分配的IP QAM资源;
步骤505、MAP中的会话管理模块向MAP中的视频服务器资源管理模块请求分配视频服务器;
步骤506、MAP中的视频服务器资源管理模块将所分配的视频服务器标识返回给 MAP中的会话管理模块,具有该视频服务器标识的视频服务器就是所确定视频服务器;
步骤501 步骤506的过程都是现有技术,这里不再赘述;
步骤507、MAP中的会话管理模块根据所确定视频服务器标识向连接池申请TCP连接;
步骤508、MAP中的连接池将所选择的与所确定视频服务器之间的一个TCP连接, 发送给MAP中的会话管理模块;
步骤509、MAP中的会话管理模块通过所选定的TCP连接将该视频点播请求转发给该确定的视频服务器处理;
步骤510、该确定的视频服务器通过所选定的TCP连接返回点播视频响应给MAP中的会话管理模块;
步骤511、MAP中的会话管理模块通过与机顶盒之间的TCP连接返回点播视频响应。
从上述方案可以看出,在点播视频系统中,本发明的接入实体与视频服务器之间的TCP连接承载多个会话,有效节省了接入实体的有限TCP连接数量,提高了接入实体的并发会话处理数。本发明提供的断开TCP连接机制,提高了点播视频系统的稳定性。本发明对于同一 TCP连接承载的会话,接收消息和发送消息采用不同的线程处理,提高消息的响应效率,从而提高用户的体验度。
由于提高了接入实体的并发会话处理数,所以在相同数字电视接收终端的情况下,降低了使用的接入实体数量,降低了运营商采购成本,本发明提高了整个视频点播系统的维护性,可以广泛推广。
以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种视频点播系统中处理会话的方法,其特征在于,接入实体设置连接池,该连接池中,与视频服务器之间至少建立一个传输控制协议TCP连接,所述视频服务器为至少一个, 该方法包括接入实体接收数字电视接收终端发送的视频点播请求,根据所述请求确定为该请求提供视频服务的视频服务器;在连接池中选择与所确定视频服务器之间的一个TCP连接,通过所选定的TCP连接将所述请求转发给所确定视频服务器。
2.如权利要求1所述的方法,其特征在于,所述选择与所确定视频服务器之间的一个 TCP连接的过程为根据所确定视频服务器标识,在连接池中找到具有相同的所述标识的视频服务器,从找到的视频服务器与接入实体之间的多个TCP连接中选择一个TCP连接使用,所述选择的 TCP连接为当前负载连接最轻的TCP连接。
3.如权利要求1所述的方法,其特征在于,所述将所述请求转发给所确定视频服务器之后,还包括接收所确定视频服务器处理后返回的视频点播响应,该响应是通过所述所选定的TCP 连接发送给接入实体的;通过与所述数字电视接收终端建立的TCP连接,将接收到的视频点播响应发送给数字电视接收终端。
4.如权利要求1、2或3所述的方法,其特征在于,在所述在连接池中选择与所确定视频服务器之间的一个TCP连接之前,还包括判断在连接池中是否存在与所确定视频服务器之间的TCP连接,如果是,执行在连接池中选择与所确定视频服务器之间的一个TCP连接的步骤;如果否,在连接池中与所确定视频服务器之间建立至少一个TCP连接后,执行在连接池中选择与所确定视频服务器之间的一个TCP连接的步骤。
5.如权利要求3所述的方法,其特征在于,所述通过所选定的TCP连接将所述请求转发给所确定视频服务器,及所述该响应是通过所述所选定的TCP连接发送给接入实体的过程是对所述选定的TCP连接的套接字socket进行会话交互数据的读写处理,处理过程为在接入实体上设置两组线程,一组线程用于对该选定的TCP连接的socket进行会话交互数据的读处理,接收视频点播请求回应;另一组线程用于对该选定的TCP连接的socket 进行会话交互数据的写处理,发送视频点播请求。
6.如权利要求1、2或3所述的方法,其特征在于,该方法还包括接入实体定时检测连接池中的建立的TCP连接,当检测到TCP连接异常时重新进行连接,或者将异常的TCP连接所承载的会话迁移到连接池中的其他TCP连接上,所述其他TCP连接与所述异常的TCP连接所连接到的视频服务器相同。
7.如权利要求6所述的方法,其特征在于,所述迁移到连接池中的其他TCP连接上的会话相关消息通过实时流传输协议RTSP的SETPARAMETER方法发送给与所述其他TCP连接的视频服务器。
8.一种视频点播系统中处理会话的接入实体,其特征在于,包括会话管理模块、视频服务器资源管理模块和连接池,其中,所述会话管理模块,用于接收数字电视接收终端发送的视频点播请求,发送给视频服务器资源管理模块;根据视频服务器资源管理模块选择的所确定视频服务器,从连接池中获取到与所确定视频服务器之间的一个TCP连接,通过所选择的TCP连接将视频点播请求发送给所确定视频服务器;所述视频服务器资源管理模块,用于根据会话管理模块发送来的所述请求,确定为所述请求提供视频服务的视频服务器,通知会话管理模块;所述连接池,用于与视频服务器之间建立至少一个TCP连接,所述视频服务器为至少一个,选择与所确定视频服务器之间的一个TCP连接后,反馈给会话管理模块。
9.如权利要求8所述的接入实体,其特征在于,所述会话管理模块,还用于建立与所述数字电视接收终端之间的TCP连接,从所述所确定视频服务器接收到通过所选择的TCP连接发送的视频点播响应后,通过所建立的与数字电视接收终端之间的TCP连接,将该视频点播响应转发给所述数字电视接收终端。
10.如权利要求8或9所述的接入实体,其特征在于,所述连接池包括初始化模块、视频服务器连接建立和销毁模块及socket资源管理模块,其中,所述初始化模块,用于启动连接池运行所需要的资源,包括管理连接池的线程启动及连接池的资源申请;所述视频服务器连接建立和销毁模块,用于在socket资源管理模块的指示下建立和销毁与视频服务器之间的至少一个TCP连接,存储在socket资源管理模块中的缓冲池;所述socket资源管理模块,用于从缓冲池中选择与所确定视频服务器之间的一个的 TCP连接,如果选择到,检测是否可用,如果可用,反馈给会话管理模块;如果不可用或没有选择到,指示视频服务器连接建立和销毁模块建立与所确定视频服务器之间的TCP连接。
11.如权利要求10所述的接入实体,其特征在于,所述连接池线程定时检测视频服务器资源,该视频服务器资源由所述视频服务器资源管理模块管理,当检测到有新的视频服务器注册到接入实体时,建立与该视频服务器之间的TCP连接,将该连接放置到缓冲池中,由所述socket资源管理模块处理;当检测到有视频服务器注销时,删除缓冲池中接入实体与注销的视频服务器之间的所有TCP连接。
12.如权利要求10所述的接入实体,其特征在于,所述socket资源管理模块定期检测缓冲池中所有的TCP连接状态,当所检测的TCP连接所承载的会话数为0或出现异常,指示视频服务器连接建立和销毁模块断开该TCP连接。
13.如权利要求10所述的接入实体,其特征在于,所述会话管理模块,还用于设置两组线程,一组线程用于对从socket资源管理模块中的缓冲池选定的TCP连接的socket进行会话交互数据的读处理,接收视频点播请求回应;另一组线程用于对从socket资源管理模块中的缓冲池选定的TCP连接的socket进行会话交互数据的写处理,发送视频点播请求。
14.如权利要求8所述的接入实体,其特征在于,该接入实体还包括IPQAM资源管理模块,用于当所述会话管理模块与数字电视接收终端之间建立以TCP连接的会话后,从IP QAM资源管理模块中申请IP QAM资源,为数字电视接收终端请求的视频点播申请IP QAM资源。
全文摘要
本发明公开了一种视频点播系统中处理会话的接入实体及方法,在视频点播系统的接入实体设置连接池,在该连接池中,与视频服务器之间建立至少一个TCP连接,所述视频服务器为至少一个。当接收到数字电视接收终端的视频点播时,从该连接池中选择与所确定提供视频服务的视频服务器之间的其中一个TCP连接进行会话交互。采用可靠的传输层协议,保证了点播视频的稳定性。由于预先建立的TCP连接并不是针对每一个会话建立,所以该TCP连接可以在不同的时间段处理不同的会话,使得多个会话可以共用一个TCP连接,增大了接入实体所支持的最大会话数,从而提高视频点播系统中的接入实体的并行处理会话能力。
文档编号H04N21/643GK102523531SQ20111040549
公开日2012年6月27日 申请日期2011年12月8日 优先权日2011年12月8日
发明者华海亮, 徐小龙 申请人:深圳市同洲视讯传媒有限公司