CN101783802A - 一种分布式流媒体发布系统和方法 - Google Patents
一种分布式流媒体发布系统和方法 Download PDFInfo
- Publication number
- CN101783802A CN101783802A CN201010105701A CN201010105701A CN101783802A CN 101783802 A CN101783802 A CN 101783802A CN 201010105701 A CN201010105701 A CN 201010105701A CN 201010105701 A CN201010105701 A CN 201010105701A CN 101783802 A CN101783802 A CN 101783802A
- Authority
- CN
- China
- Prior art keywords
- local
- video
- server
- relevant information
- database server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种分布式流媒体发布系统和方法,本地流媒体发布系统存储上传的视频数据,根据上传视频数据的视频源生成本地视频相关信息,向中央WEB服务器发送请求发布本地视频相关信息的信号;中央WEB服务器接收所述请求发布本地视频相关信息的信号,通知中央数据库服务器接收所述本地视频相关信息;中央数据库服务器连接请求的本地流媒体发布系统,读取该本地流媒体发布系统中的本地视频相关信息并保存;TS读取中央数据库服务器中保存的所述本地视频相关信息,并且进行视频注册,完成视频信息发布;当收到来自客户端的视频播放请求时,所述TS选择合适的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
Description
技术领域
本发明涉及流媒体发布技术,特别是指一种分布式流媒体发布系统和方法。
背景技术
跟踪服务器(Tracker Server,TS)是服务器端的一个重要组成部分。TS的功能是给缓存节点(cache peer)提供下载信息。
如图1所示,目前流媒体发布系统主要由本地环球网(WEB)服务器、本地数据库服务器、本地SP服务器以及TS组成。从图1所示结构可以看出,现有技术只能在单一的服务提供者(SP)服务器上存储视频源,使用单机数据库服务器管理数据,而不是分布式数据库服务器管理数据。也就是说,在唯一的一台SP服务器上存放视频源,通过TS给内容提供者(CP)服务器提供下载信息。视频源的管理和发布也是单一的,受地域局限的,不能实现多本地多SP服务器的存放视频。
这样就造成了唯一SP服务器的服务器压力,可能导致整个服务器的崩溃。而且这样单一的SP服务器架构方式不能积极有效的推广P2P业务,在视频源的管理和发布上都得由中央服务器管理员处理,这样就会使得视频的分类发布出现混乱,因为中央管理员并不知道该视频发布的本地限制。
因此,单机一级数据库服务器只能保存当地的视频数据,并且对本地视频做了有效的地域限制。
发明内容
有鉴于此,为解决上述问题,本发明提出了一种分布式流媒体发布系统和方法。
基于上述目的本发明提供的分布式流媒体发布系统,包括:
一个以上的本地流媒体发布系统,用于存储上传的视频数据,将上传的视频数据转化为视频流;根据上传视频数据的视频源生成本地视频相关信息并存储,以及向中央WEB服务器发送请求发布本地视频相关信息的信号;
中央WEB服务器,用于接收并管理所述请求发布本地视频相关信息的信号,通知中央数据库服务器接收所述本地视频相关信息;
中央数据库服务器,用于连接请求的本地流媒体发布系统,并且读取该本地流媒体发布系统中的本地视频相关信息并保存;以及
TS,用于读取中央数据库服务器中保存的所述本地视频相关信息,并且进行视频注册,完成视频信息发布;以及根据客户端的视频播放请求,选择合适的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
可选的,所述本地流媒体发布系统中包括:本地视频源服务器,用于存储上传的视频源,并将视频源转化为视频流;以及根据本地所存储视频源生成本地视频相关信息;
本地WEB服务器,用于将所述本地视频源相关信息写入到本地数据库服务器中;以及向中央WEB服务器发送请求发布本地视频相关信息的信号;
本地数据库服务器,用于存储所述本地视频源相关信息;
所述中央数据库服务器,用于连接请求的本地流媒体发布系统中的中央数据库服务器读取该本地流媒体发布系统中的本地视频相关信息并保存。
可选的,该分布式流媒体发布系统,所述本地视频源服务器包括:SP服务器和CP服务器,其中SP服务器用于存储上传的视频数据,根据上传视频数据的视频源生成本地视频相关信息并存储,并将上传的视频数据转化为视频流,将视频转化为视频流提供给CP服务器;CP服务器为视频流提供缓冲。
可选的,该分布式流媒体发布系统,所述本地数据库服务器中维护有发送信号标志位,该发送信号标志位用于指示是否要发送所述请求发布本地视频相关信息的信号以通知中央服务器已经有新的视频发布在本地WEB服务器;
所述本地WEB服务器定时读取本地数据库服务器中的发送信号标志位并且判断该发送信号标志位,如果判断出本地数据库服务器中的发送信号标志位指示为未发送状态,那么本地WEB服务器向中央WEB服务器发送所述请求发布本地视频相关信息的信号,该信号发送完成以后将发送信号标志位设定为已发送状态。
可选的,该分布式流媒体发布系统,所述本地数据库服务器中针对保存的本地视频相关信息设置有发送数据标志位,该发送数据标志位用于指示该视频的相关信息是否已经发布过;
所述中央数据库服务器连接本地数据库服务器并且判断本地数据库服务器中的发送数据标志位,如果中央数据库服务器判断出本地数据库服务器中的发送数据标志位为指示该本地视频相关信息未发布过,则中央数据库服务器就读取该本地数据库服务器数据,读取完成以后将发送数据标志位设为指示该本地视频相关信息已发布过。
可选的,该分布式流媒体发布系统,所述TS选择最近的或者网络条件最好的本地视频源服务器,向客户端提供该本地视频源服务器的IP地址信息。
可选的,该分布式流媒体发布系统,本地视频相关信息包括:视频存放路径、本地视频源服务器IP地址。
可选的,该分布式流媒体发布系统,所述本地视频相关信息还包括:视频名称、视频大小、视频码流。
基于上述目的,本发明还提供了一种分布式流媒体发布方法,设置中央WEB服务器、中央数据库服务器、TS以及一个以上的本地流媒体发布系统,并包括如下步骤:
A.本地流媒体发布系统存储存储上传的视频数据,根据上传视频数据的视频源生成本地视频相关信息,向中央WEB服务器发送请求发布本地视频相关信息的信号;
B.中央WEB服务器接收所述请求发布本地视频相关信息的信号,通知中央数据库服务器接收所述本地视频相关信息;
C.中央数据库服务器连接请求的本地流媒体发布系统,读取该本地流媒体发布系统中的本地视频相关信息并保存;
D.TS读取中央数据库服务器中保存的所述本地视频相关信息,并且进行视频注册,完成视频信息发布;
E.当收到来自客户端的视频播放请求时,所述TS选择合适的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
可选的,该分布式流媒体发布方法,所述本地流媒体发布系统中包括有本地视频源服务器、本地WEB服务器和本地数据库服务器;
所述本地数据库服务器中维护有发送信号标志位,该发送信号标志位用于指示是否要发送所述请求发布本地视频相关信息的信号以通知中央服务器已经有新的视频发布在本地WEB服务器;
所述本地数据库服务器中针对保存的本地视频相关信息设置有发送数据标志位,该发送数据标志位用于指示该视频的相关信息是否已经发布过;
所述步骤A进一步包括:
所述本地WEB服务器定时读取本地数据库服务器中的发送信号标志位并且判断该发送信号标志位,如果判断出本地数据库服务器中的发送信号标志位指示为有新的视频发布在本地WEB服务器,那么本地WEB服务器向中央WEB服务器发送所述请求发布本地视频相关信息的信号,该信号发送完成以后将发送信号标志位设定为指示现已没有新的视频发布在本地WEB服务器;
所述步骤B进一步包括:
所述中央WEB服务器接收所述请求发布本地视频相关信息的信号后,中央数据库服务器连接本地数据库服务器并且判断本地数据库服务器中的发送数据标志位,如果中央数据库服务器判断出本地数据库服务器中的发送数据标志位为指示该本地视频相关信息未发布过,则中央数据库服务器就读取该本地数据库服务器数据,读取完成以后将发送数据标志位设为指示该本地视频相关信息已发布过。
可选的,该分布式流媒体发布方法在步骤B所述中央WEB服务器接收所述请求发布本地视频相关信息的信号后,还包括:
中央WEB服务器判断中央数据库服务器是否繁忙,如果中央数据库服务器繁忙,中央WEB服务器则将所述请求信号排入其等待队列中。
可选的,该分布式流媒体发布方法,步骤A所述生成的本地视频相关信息为TL文件,所述根据本地所存储视频源生成本地视频相关信息后还包括:所述本地WEB服务器从本地视频源服务器读取包含有所述本地视频相关信息的TL文件以及该TL文件的存放地址,并写入到本地数据库服务器。
可选的,该分布式流媒体发布方法,所述步骤E进一步包括:所述TS选择最近的或者网络条件最好的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
可选的,该分布式流媒体发布方法,所述本地视频相关信息包括:视频存放路径、本地视频源服务器IP地址。
可选的,该分布式流媒体发布方法,所述本地视频相关信息还包括:视频名称、视频大小、视频码流。
从上面所述可以看出,本发明提供的分布式流媒体发布系统和方法,将单一的单TRACKER服务器和单本地视频源服务器改进成分布式的,即对多本地视频源的发布、验证进行集中的统一的管理,实现单TRACKER服务器支持多SP服务器,多CP服务器。同时分布式两级数据库服务器可以保存所有的本地数据库服务器中的数据。这样当地数据库服务器可以灵活的操作,有充分的自主权,中央数据库服务器只对最终的修改变动进行记录。两级数据库服务器也保证了数据的稳定和安全。
附图说明
图1为现有技术流媒体发布系统结构示意图;
图2为本发明实施例分布式流媒体发布系统结构示意图;
图3为本发明实施例分布式流媒体发布方法流程示意图;
图4为本发明实施例客户端从TS获得数据过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明提供的分布式流媒体发布系统主要包括:
一个以上的本地流媒体发布系统,用于存储上传的视频数据,将上传的视频数据转化为视频流;根据上传视频数据的视频源生成本地视频相关信息并存储,以及向中央WEB服务器发送请求发布本地视频相关信息的信号;
中央WEB服务器,用于接收并管理所述请求发布本地视频相关信息的信号,通知中央数据库服务器接收所述本地视频相关信息;
中央数据库服务器,用于连接请求的本地流媒体发布系统,并且读取该本地流媒体发布系统中的本地视频相关信息并保存;以及
TS,用于读取中央数据库服务器中保存的所述本地视频相关信息,并且进行视频注册,完成视频信息发布;以及根据客户端的视频播放请求,选择合适的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
其中,所述本地流媒体发布系统中包括:本地视频源服务器,用于存储上传的视频源,并将视频源转化为视频流;以及根据本地所存储视频源生成本地视频相关信息;
本地WEB服务器,用于将所述本地视频源相关信息写入到本地数据库服务器中;以及向中央WEB服务器发送请求发布本地视频相关信息的信号;
本地数据库服务器,用于存储所述本地视频源相关信息;
所述中央数据库服务器,用于连接请求的本地流媒体发布系统中的中央数据库服务器读取该本地流媒体发布系统中的本地视频相关信息并保存。
其中,所述本地视频源服务器包括:SP服务器和CP服务器,其中SP服务器用于存储上传的视频数据,根据上传视频数据的视频源生成本地视频相关信息并存储;并将上传的视频转化为视频流提供给CP服务器;CP服务器为视频流提供缓冲。
另外,所述本地数据库服务器中可维护有发送信号标志位,该发送信号标志位用于指示是否要发送所述请求发布本地视频相关信息的信号以通知中央服务器已经有新的视频发布在本地WEB服务器;
所述本地WEB服务器定时读取本地数据库服务器中的发送信号标志位并且判断该发送信号标志位,如果判断出本地数据库服务器中的发送信号标志位指示为未发送状态,那么本地WEB服务器向中央WEB服务器发送所述请求发布本地视频相关信息的信号,该信号发送完成以后将发送信号标志位设定为已发送状态。
所述本地数据库服务器中针对保存的本地视频相关信息设置有发送数据标志位,该发送数据标志位用于指示该视频的相关信息是否已经发布过;
所述中央数据库服务器连接本地数据库服务器并且判断本地数据库服务器中的发送数据标志位,如果中央数据库服务器判断出本地数据库服务器中的发送数据标志位为指示该本地视频相关信息未发布过,则中央数据库服务器就读取该本地数据库服务器数据,读取完成以后将发送数据标志位设为指示该本地视频相关信息已发布过。
所述本地视频源服务器可以将所述本地视频相关信息生成为广播标签(TL,Telecast-label)文件,即种子文件,内容是表征一个可用的频道标签,Telecast是p2p直播平台的名字。在本地视频相关信息中包括:视频存放路径、本地视频源服务器IP地址,还可以包括:视频名称、视频大小、视频码流等信息。
现在参考附图,对本发明具体实施例进行详细地说明。
如图2所示,该实施例中分布式流媒体发布系统包括:多个本地视频源服务器、多个本地WEB服务器、多个本地数据库服务器、一个中央数据库服务器、一个中央WEB服务器、以及一个TS。
本地视频源服务器用于存储上传的视频数据,根据上传视频数据的视频源生成TL文件,(可通过微软提供的Media Service)将视频转化为视频流,并且对其进行缓冲,其中该TL文件包含与本地视频相关的数据信息,具体地说包含视频存放路径、视频名称、视频大小、视频码流、本地视频源服务器IP地址等信息。更好地,本地视频源服务器包括SP服务器和CP服务器,其中SP服务器根据上传视频数据的视频源生成TL文件,并且(可通过微软提供的Media Service)将视频转化为视频流提供给CP服务器;CP服务器为视频流提供缓冲,它可以是一个缓存服务器。但是,对于本领域普通技术人员来说,该本地视频服务器可以是包括SP服务器和CP服务器两个独立的部件,也可以是将SP服务器与CP服务器集成在一起的一个独立的部件。
本地数据库服务器存储本地视频的相关数据信息,即存储本地视频源服务器所产生的TL文件,其包括例如视频存放路径、视频名称、视频大小、视频码流、本地视频源服务器IP地址等信息。并且在本地数据库服务器中具有发送信号标志位和发送数据标志位。所述发送信号标志位用来判断是否要发送信号以通知中央服务器已经有新的视频发布在本地WEB服务器,该发送信号标志位缺省为0,其中0表示为未发送状态,1为已经发送状态。如果该发送信号标志位为0,就向中央WEB服务器发送请求发送数据的信号。所述发送数据标志位用来判断该视频的相关信息是否已经发送过,该发送数据标志位也缺省为0。如果为1就代表该视频的相关信息已经发送过了,如果为0就代表该视频的相关信息未成发送,则中央数据库服务器就读取该本地数据库服务器数据。
本地WEB服务器用来管理并发布本地视频,并且通过WEB界面来操作本地数据库服务器。具体地说,本地WEB服务器从本地视频源服务器读取与各个本地视频源相关的信息,即TL文件,及TL文件的存放地址并且将其写入到本地数据库服务器。此外,根据本发明,本地WEB服务器定时读取本地数据库服务器中的发送信号标志位并且判断该发送信号标志位,如果判断出本地数据库服务器中的发送信号标志位为0,那么本地WEB服务器向中央WEB服务器发送请求信号以请求发送数据,该信号发送完成以后将发送信号标志位设定为1。
中央WEB服务器管理各个视频的发布,并且对中央数据库服务器进行操作。具体地说,中央WEB服务器接收各个本地WEB服务器的请求信号并且判断中央数据库服务器是否繁忙,如果中央数据库服务器繁忙,中央WEB服务器则将该请求信号排入其等待队列中。其中,由于各个本地web服务器的请求处理都会经由中央数据库服务器,中央web数据库服务器长时间的不定时的频繁读写数据库,会造成数据库服务器的数据的丢失、内容冗余、不稳定,不便于数据库的备份恢复及各项维护。因此中央web服务器接收本地web服务器的请求信号后,会先判断前一个队列句柄是否在处理中,如果在处理中则判定中央数据库服务器繁忙,将请求信号排入下一个等待队列中。等待服务器空闲。所述队列可以为内容缓冲区,做内容拷贝,并且也可以为空。
中央数据库服务器存储所获取的各个本地数据库服务器信息。具体地说,在不繁忙的情况下连接本地数据库服务器并且判断本地数据库服务器中的发送数据标志位是否为0。如果中央数据库服务器判断出本地数据库服务器中的发送数据标志位为0,中央数据库服务器就读取该本地数据库服务器数据,读取完成以后将发送数据标志位设为1。应该注意的是,中央数据库服务器发起了远程连接本地数据库服务器而不是本地数据库服务器发起了远程连接中央数据库服务器,这样保证了中央数据库服务器的安全。
TS从中央数据库服务器读取视频数据,即读取TL文件中的信息,并且对视频注册,完成分布式视频发布。
此后,当客户端想要观看视频时,客户端与TS相连,TS向客户端提供最近的或者网络条件最好的本地视频源服务器IP地址信息,此后客户端与该本地视频源服务器进行真正的视频流传输。
基于上述系统,本发明还提供了一种分布式流媒体发布方法,设置中央WEB服务器、中央数据库服务器、TS以及一个以上的本地流媒体发布系统,并包括如下步骤:
A.本地流媒体发布系统存储上传的视频数据,将上传的视频数据转化为视频流;根据上传视频数据的视频源生成本地视频相关信息并存储,向中央WEB服务器发送请求发布本地视频相关信息的信号;
B.中央WEB服务器接收所述请求发布本地视频相关信息的信号,通知中央数据库服务器接收所述本地视频相关信息;
C.中央数据库服务器连接请求的本地流媒体发布系统,读取该本地流媒体发布系统中的本地视频相关信息并保存;
D.TS读取中央数据库服务器中保存的所述本地视频相关信息,并且进行视频注册,完成视频信息发布;
E.当收到来自客户端的视频播放请求时,所述TS选择合适的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
其中,所述本地流媒体发布系统中包括有本地视频源服务器、本地WEB服务器和本地数据库服务器;
所述本地数据库服务器中维护有发送信号标志位,该发送信号标志位用于指示是否要发送所述请求发布本地视频相关信息的信号以通知中央服务器已经有新的视频发布在本地WEB服务器;所述本地数据库服务器中针对保存的本地视频相关信息设置有发送数据标志位,该发送数据标志位用于指示该视频的相关信息是否已经发布过;
所述步骤A进一步包括:
所述本地WEB服务器定时读取本地数据库服务器中的发送信号标志位并且判断该发送信号标志位,如果判断出本地数据库服务器中的发送信号标志位指示为有新的视频发布在本地WEB服务器,那么本地WEB服务器向中央WEB服务器发送所述请求发布本地视频相关信息的信号,该信号发送完成以后将发送信号标志位设定为指示现已没有新的视频发布在本地WEB服务器;
所述步骤B进一步包括:
所述中央WEB服务器接收所述请求发布本地视频相关信息的信号后,中央数据库服务器连接本地数据库服务器并且判断本地数据库服务器中的发送数据标志位,如果中央数据库服务器判断出本地数据库服务器中的发送数据标志位为指示该本地视频相关信息未发布过,则中央数据库服务器就读取该本地数据库服务器数据,读取完成以后将发送数据标志位设为指示该本地视频相关信息已发布过。
其中,在步骤B所述中央WEB服务器接收所述请求发布本地视频相关信息的信号后,还包括:中央WEB服务器判断中央数据库服务器是否繁忙,如果中央数据库服务器繁忙,中央WEB服务器则将所述请求信号排入其等待队列中。
其中,步骤A所述生成的本地视频相关信息为TL文件,所述根据本地所存储视频源生成本地视频相关信息后还包括:所述本地WEB服务器从本地视频源服务器读取包含有所述本地视频相关信息的TL文件以及该TL文件的存放地址,并写入到本地数据库服务器。
所述步骤E进一步包括:所述TS选择最近的或者网络条件最好的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
这里所述本地视频相关信息包括:视频存放路径、本地视频源服务器IP地址,还可以包括:视频名称、视频大小、视频码流等信息。
接下来,参考图3,对根据本发明的分布式流媒体发布方法进行详细的说明。图3给出了根据本发明的分布式流媒体发布方法的流程图。
如图3所示,根据本发明的分布式流媒体发布方法包括步骤:
步骤301,将视频数据上传到本地视频源服务器;本地视频源服务器中的SP存储上传的视频数据,根据上传视频数据的视频源自动生成TL文件,其中该TL文件包含视频存放路径、视频名称、视频大小、视频码流、本地视频源服务器IP地址等信息;并且(可通过微软提供的Media Service)将视频数据转化为视频流提供给CP服务器,CP服务器未视频流进行缓冲。
步骤302,本地WEB服务器从本地视频源服务器读取与各个本地视频源相关的信息(即TL文件)及TL文件的存放地址并且将其写入到本地数据库服务器。至此之前的步骤与现有技术相同。
步骤303,本地数据库服务器将发送信号标志位设置为0。
步骤304,本地WEB服务器定时轮询并读取本地数据库服务器中的发送信号标志位并且判断该发送信号标志位,其中本地数据库服务器中的发送信号标志位用来判断是否要发送信号以通知中央服务器已经有新的视频发布在本地WEB服务器,该发送信号标志位缺省为0,其中0为未发送状态,1为已经发送状态。
步骤305,如果本地WEB服务器判断出本地数据库服务器中的发送信号标志位为0,那么本地WEB服务器向中央WEB服务器发送请求信号以请求发送数据,该信号发送完成以后将发送信号标志位设定为1。
步骤306,中央WEB服务器接收各个本地WEB服务器的请求信号。
步骤307,中央WEB服务器判断中央数据库服务器是否繁忙,如果中央数据库服务器不繁忙,则直接进入步骤309。
步骤308,如果中央数据库服务器繁忙,中央WEB服务器则将该请求信号排入其等待队列中,当排队结束时进入步骤309。
步骤309,中央数据库服务器连接本地数据库服务器并且判断本地数据库服务器中的发送数据标志位是否为0,其中发送数据标志位用来判断该视频的相关信息是否已经发送过,如果为1就代表该视频的相关信息已经发送过了,如果为0就代表该视频的相关信息未成发送,发送数据标志位缺省为0。应该注意的是,中央数据库服务器发起了远程连接本地数据库服务器而不是本地数据库服务器发起了远程连接中央数据库服务器,这样保证了中央数据库服务器的安全。
步骤310,如果中央数据库服务器判断出本地数据库服务器中的发送数据标志位为0,中央数据库服务器就读取该本地数据库服务器数据,读取完成以后将发送数据标志位设为1。
步骤311,TS从中央数据库服务器读取视频数据,即读取TL文件中的信息。
步骤312,TS对视频注册,至此已完成了分布式视频发布。
步骤313,此后,当客户端想要观看视频时,客户端与TS相连,TS向客户端提供最近的或者网络条件最好的本地视频源服务器IP地址信息,此后客户端与该本地视频源服务器进行真正的视频流传输。
其中,步骤313客户端从TS获得数据具体过程的实施例,参见图4所示,可包括如下步骤:
针对已经发布的频道,客户端从TL中获取TS地址、频道等信息。其中TL为种子文件,可以从数据库获得也可以通过url获得,来源方式比较多。
步骤1、新加入P2P网络的客户端发起连接TS,TS中维护一个以频道名为根的哈希树,拥有同一频道的SP服务器(源)、CP服务器(提供者)及NP服务器(普通客户端)都将记录在该哈希树中,哈希树中包括:地址、进度、网络等信息。
步骤2、TS将SP服务器、CP服务器、NP服务器列表发送给新加入的客户端。
步骤3、客户端依次连接SP服务器列表,根据现有状况,优选的选择SP服务器。
步骤4、接着SP服务器将自己下面挂载的CP服务器列表发送给客户端。
步骤5、客户端连接CP服务器获得数据,这里一个客户端可以同时由多个CP服务器来提供数据,客户端对每个频道维护着多个(例如:13个)数据来源列表(其中由CP服务器、NP服务器组成,NP服务器来自TS上的哈希表,在步骤1时获得),并按照网络状况排列优先级,每间隔一定时间(例如:10s,也可以为动态更新列表)更新列表。更新列表是重复步骤1、2的过程流程。
需要说明的是,在整个处理过程中,只有本地视频源服务器存放的是真正的视频数据,其它所涉及的数据都是与各个本地视频源相关的信息。
通过上述描述可知,本发明在P2P系统的单一服务器管理(单SP服务器单套管理后台)里引入中央数据库,各个SP服务器向中间数据库同步各自本地数据库的信息,由TS对中央数据库的频道信息进行统一管理。原先TS、SP服务器、CP服务器、NP(客户端)服务器的角色和功能保持不变,图一描述的是中央服务器、TS、SP服务器、SP本地数据库与对频道的相关管控(发布,删除等)关系图,对象为服务器-服务器。从而使集中单一的存放视频源转化为多区域多视频服务器的分布式存放、发布。充分的利用了各地的区域服务器地域优势,使视频流的传输更流畅,并且实现了中央集中控制。
以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种分布式流媒体发布系统,其特征在于,包括:
一个以上的本地流媒体发布系统,用于存储上传的视频数据,将上传的视频数据转化为视频流;根据上传视频数据的视频源生成本地视频相关信息并存储,以及向中央WEB服务器发送请求发布本地视频相关信息的信号;
中央WEB服务器,用于接收并管理所述请求发布本地视频相关信息的信号,通知中央数据库服务器接收所述本地视频相关信息;
中央数据库服务器,用于连接请求的本地流媒体发布系统,并且读取该本地流媒体发布系统中的本地视频相关信息并保存;以及
TS,用于读取中央数据库服务器中保存的所述本地视频相关信息,并且进行视频注册,完成视频信息发布;以及根据客户端的视频播放请求,选择合适的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
2.根据权利要求1的分布式流媒体发布系统,其特征在于,所述本地流媒体发布系统中包括:本地视频源服务器,用于存储上传的视频源,并将视频源转化为视频流;以及根据本地所存储视频源生成本地视频相关信息;
本地WEB服务器,用于将所述本地视频源相关信息写入到本地数据库服务器中;以及向中央WEB服务器发送请求发布本地视频相关信息的信号;
本地数据库服务器,用于存储所述本地视频源相关信息;
所述中央数据库服务器,用于连接请求的本地流媒体发布系统中的中央数据库服务器读取该本地流媒体发布系统中的本地视频相关信息并保存。
3.根据权利要求2的分布式流媒体发布系统,其特征在于,所述本地视频源服务器包括:SP服务器和CP服务器,其中SP服务器用于存储上传的视频数据,根据上传视频数据的视频源生成本地视频相关信息并存储,并将上传的视频数据转化为视频流,将视频转化为视频流提供给CP服务器;CP服务器为视频流提供缓冲。
4.根据权利要求2的分布式流媒体发布系统,其特征在于,所述本地数据库服务器中维护有发送信号标志位,该发送信号标志位用于指示是否要发送所述请求发布本地视频相关信息的信号以通知中央服务器已经有新的视频发布在本地WEB服务器;
所述本地WEB服务器定时读取本地数据库服务器中的发送信号标志位并且判断该发送信号标志位,如果判断出本地数据库服务器中的发送信号标志位指示为未发送状态,那么本地WEB服务器向中央WEB服务器发送所述请求发布本地视频相关信息的信号,该信号发送完成以后将发送信号标志位设定为已发送状态。
5.根据权利要求4的分布式流媒体发布系统,其特征在于,所述本地数据库服务器中针对保存的本地视频相关信息设置有发送数据标志位,该发送数据标志位用于指示该视频的相关信息是否已经发布过;
所述中央数据库服务器连接本地数据库服务器并且判断本地数据库服务器中的发送数据标志位,如果中央数据库服务器判断出本地数据库服务器中的发送数据标志位为指示该本地视频相关信息未发布过,则中央数据库服务器就读取该本地数据库服务器数据,读取完成以后将发送数据标志位设为指示该本地视频相关信息已发布过。
6.根据权利要求2的分布式流媒体发布系统,其特征在于,所述TS选择最近的或者网络条件最好的本地视频源服务器,向客户端提供该本地视频源服务器的IP地址信息。
7.根据权利要求1-6任意一项的分布式流媒体发布系统,其特征在于,本地视频相关信息包括:视频存放路径、本地视频源服务器IP地址。
8.根据权利要求7的分布式流媒体发布系统,其特征在于,所述本地视频相关信息还包括:视频名称、视频大小、视频码流。
9.一种分布式流媒体发布方法,其特征在于,设置中央WEB服务器、中央数据库服务器、TS以及一个以上的本地流媒体发布系统,并包括如下步骤:
A.本地流媒体发布系统存储存储上传的视频数据,根据上传视频数据的视频源生成本地视频相关信息,向中央WEB服务器发送请求发布本地视频相关信息的信号;
B.中央WEB服务器接收所述请求发布本地视频相关信息的信号,通知中央数据库服务器接收所述本地视频相关信息;
C.中央数据库服务器连接请求的本地流媒体发布系统,读取该本地流媒体发布系统中的本地视频相关信息并保存;
D.TS读取中央数据库服务器中保存的所述本地视频相关信息,并且进行视频注册,完成视频信息发布;
E.当收到来自客户端的视频播放请求时,所述TS选择合适的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
10.根据权利要求9的分布式流媒体发布方法,其特征在于,所述本地流媒体发布系统中包括有本地视频源服务器、本地WEB服务器和本地数据库服务器;
所述本地数据库服务器中维护有发送信号标志位,该发送信号标志位用于指示是否要发送所述请求发布本地视频相关信息的信号以通知中央服务器已经有新的视频发布在本地WEB服务器;
所述本地数据库服务器中针对保存的本地视频相关信息设置有发送数据标志位,该发送数据标志位用于指示该视频的相关信息是否已经发布过;
所述步骤A进一步包括:
所述本地WEB服务器定时读取本地数据库服务器中的发送信号标志位并且判断该发送信号标志位,如果判断出本地数据库服务器中的发送信号标志位指示为有新的视频发布在本地WEB服务器,那么本地WEB服务器向中央WEB服务器发送所述请求发布本地视频相关信息的信号,该信号发送完成以后将发送信号标志位设定为指示现已没有新的视频发布在本地WEB服务器;
所述步骤B进一步包括:
所述中央WEB服务器接收所述请求发布本地视频相关信息的信号后,中央数据库服务器连接本地数据库服务器并且判断本地数据库服务器中的发送数据标志位,如果中央数据库服务器判断出本地数据库服务器中的发送数据标志位为指示该本地视频相关信息未发布过,则中央数据库服务器就读取该本地数据库服务器数据,读取完成以后将发送数据标志位设为指示该本地视频相关信息已发布过。
11.根据权利要求10所述的分布式流媒体发布方法,其特征在于,在步骤B所述中央WEB服务器接收所述请求发布本地视频相关信息的信号后,还包括:
中央WEB服务器判断中央数据库服务器是否繁忙,如果中央数据库服务器繁忙,中央WEB服务器则将所述请求信号排入其等待队列中。
12.根据权利要求9所述的分布式流媒体发布方法,其特征在于,步骤A所述生成的本地视频相关信息为TL文件,所述根据本地所存储视频源生成本地视频相关信息后还包括:所述本地WEB服务器从本地视频源服务器读取包含有所述本地视频相关信息的TL文件以及该TL文件的存放地址,并写入到本地数据库服务器。
13.根据权利要求9所述的分布式流媒体发布方法,其特征在于,所述步骤E进一步包括:所述TS选择最近的或者网络条件最好的本地流媒体发布系统,向客户端提供本地流媒体发布系统的地址信息。
14.根据权利要求9-13任意一项所述的分布式流媒体发布方法,其特征在于,所述本地视频相关信息包括:视频存放路径、本地视频源服务器IP地址。
15.根据权利要求14的分布式流媒体发布方法,其特征在于,所述本地视频相关信息还包括:视频名称、视频大小、视频码流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101057013A CN101783802B (zh) | 2010-02-03 | 2010-02-03 | 一种分布式流媒体发布系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101057013A CN101783802B (zh) | 2010-02-03 | 2010-02-03 | 一种分布式流媒体发布系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101783802A true CN101783802A (zh) | 2010-07-21 |
CN101783802B CN101783802B (zh) | 2012-11-14 |
Family
ID=42523620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101057013A Active CN101783802B (zh) | 2010-02-03 | 2010-02-03 | 一种分布式流媒体发布系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101783802B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843428A (zh) * | 2012-08-14 | 2012-12-26 | 北京百度网讯科技有限公司 | 一种上传数据处理系统及方法 |
CN103139619A (zh) * | 2011-11-30 | 2013-06-05 | 人民网股份有限公司 | 网络视频管理系统及方法 |
CN106792216A (zh) * | 2016-12-12 | 2017-05-31 | 深圳市中博睿存科技有限公司 | 分布式文件系统中流媒体读取方法及服务器 |
CN107395761A (zh) * | 2017-08-29 | 2017-11-24 | 北京大生在线科技有限公司 | 基于订阅的本地发布在线教育监课系统 |
CN107888942A (zh) * | 2017-11-24 | 2018-04-06 | 河南蓝信软件有限公司 | 一种视频数据共享系统及方法 |
CN111309694A (zh) * | 2018-12-12 | 2020-06-19 | 北京奇虎科技有限公司 | 一种日志文件的获取方法、服务器、装置和系统 |
CN111918143A (zh) * | 2020-07-06 | 2020-11-10 | 广州市家庭医生在线信息有限公司 | 支持分布式多集群多终端信息发布系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100405795C (zh) * | 2005-02-24 | 2008-07-23 | 广东省电信有限公司研究院 | 分布式对等流媒体的服务系统及其点播节目的实现方法 |
WO2009030643A2 (en) * | 2007-09-06 | 2009-03-12 | Edgeware Ab | An apparatus and a method for data streaming applications |
CN101409824B (zh) * | 2007-10-12 | 2011-12-28 | 中兴通讯股份有限公司 | 点播片源的在线采购系统和方法 |
CN101625701A (zh) * | 2009-08-12 | 2010-01-13 | 中兴通讯股份有限公司 | 视频共享方法和系统 |
-
2010
- 2010-02-03 CN CN2010101057013A patent/CN101783802B/zh active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139619A (zh) * | 2011-11-30 | 2013-06-05 | 人民网股份有限公司 | 网络视频管理系统及方法 |
CN102843428A (zh) * | 2012-08-14 | 2012-12-26 | 北京百度网讯科技有限公司 | 一种上传数据处理系统及方法 |
CN106792216A (zh) * | 2016-12-12 | 2017-05-31 | 深圳市中博睿存科技有限公司 | 分布式文件系统中流媒体读取方法及服务器 |
CN106792216B (zh) * | 2016-12-12 | 2020-05-12 | 北京同有飞骥科技股份有限公司 | 分布式文件系统中流媒体读取方法及服务器 |
CN107395761A (zh) * | 2017-08-29 | 2017-11-24 | 北京大生在线科技有限公司 | 基于订阅的本地发布在线教育监课系统 |
CN107395761B (zh) * | 2017-08-29 | 2020-09-18 | 北京大生在线科技有限公司 | 基于订阅的本地发布在线教育监课系统 |
CN107888942A (zh) * | 2017-11-24 | 2018-04-06 | 河南蓝信软件有限公司 | 一种视频数据共享系统及方法 |
CN111309694A (zh) * | 2018-12-12 | 2020-06-19 | 北京奇虎科技有限公司 | 一种日志文件的获取方法、服务器、装置和系统 |
CN111918143A (zh) * | 2020-07-06 | 2020-11-10 | 广州市家庭医生在线信息有限公司 | 支持分布式多集群多终端信息发布系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101783802B (zh) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101783802B (zh) | 一种分布式流媒体发布系统和方法 | |
KR101511682B1 (ko) | 컨텐트 디렉토리 서비스와 제어 포인트간의 컨텐트를동기화하는 방법 | |
CN101645928B (zh) | 内容资源缓存方法、装置及系统 | |
CN105897946B (zh) | 一种访问地址的获取方法及系统 | |
CN103392344B (zh) | 使用用于流化的http网络的格式未知的流化体系结构 | |
CN101449559B (zh) | 分布式存储器 | |
CN102469153B (zh) | 点对点实时串流系统 | |
CN101656861B (zh) | 一种录制节目的方法和多媒体系统 | |
US20110029649A1 (en) | integrated video service peer to peer network system | |
CN103166991B (zh) | 一种基于p2p和云存储实现跨节点存储的方法和装置 | |
US8732784B2 (en) | Hierarchical storage management for data | |
CN101262488B (zh) | 一种内容分发网络系统及方法 | |
CN104601724B (zh) | 上传和下载文件的方法及系统 | |
JP2008021293A (ja) | コンテンツ管理方法及び装置 | |
CN104469391B (zh) | 一种基于云平台的数字电视内容分发系统及方法 | |
CN101179565B (zh) | 一种电子节目单基本业务的实现方法 | |
CN105872640A (zh) | 一种直播视频的获取方法、装置及系统 | |
JP2012530968A (ja) | 同期された分散型メディア資産 | |
CN108574666B (zh) | 一种数据流调度方法、装置和系统 | |
CN106060173A (zh) | 基于云存储的集群式摄像数据存储系统 | |
CN101068341B (zh) | 流媒体调度系统及其媒体文件调度方法 | |
CN109600410A (zh) | 数据存储系统以及方法 | |
CN101170421A (zh) | 网络电视管理系统及方法 | |
CN100571380C (zh) | 用于分布式网络电视系统的分散存储方法及该系统 | |
US7698304B2 (en) | Caching data in a distributed system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |