流媒体点播系统及方法
技术领域
本发明属于计算机网络技术领域,涉及一种点播系统,尤其涉及一种流媒体点播系统;同时,本发明还涉及一种流媒体点播方法。
背景技术
P2P是英文Peer-to-Peer(对等)的简称,又被称为“点对点”。“对等”技术是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。
P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。P2P另一个重要特点是改变互联网现在的以p2p工作组大网站为中心的状态、重返“非中心化”,并把权力交还给用户。
P2P系统中,最简单的点播Tracker(Tracker是收集、管理并向客户端提供节点的服务器软件)体系架构是多台客户端访问一台Tracker服务器。
这种C-S模式有两个致命的缺点:
第一、只提供一台Tracker服务器,容错性很差,一旦这台Tracker服务器无法正常工作,整个网络即刻陷入瘫痪。
第二、随着客户端节点和文件数量的增加,和Tracker服务器通信的数据包数量和数据包大小也会大量增加,造成服务器超负荷运行,无法正常处理。
发明内容
本发明所要解决的技术问题是:提供一种流媒体点播系统,可提高点播系统的容错性及下载速度。
此外,本发明进一步提供一种流媒体点播方法,可提高点播系统的容错性及下载速度。
为解决上述技术问题,本发明采用如下技术方案:
一种流媒体点播系统,所述流媒体点播系统包括:
若干客户端;
若干Tracker服务器组,每组Tracker服务器组包括一个或多个Tracker服务器;
点播数据源服务器,在该点播数据源服务器中,每一个流媒体文件设置一个唯一标识FID;
分组设定单元,用以通过配置Tracker分组配置文件设定各流媒体文件与对应Tracker服务器组的映射;
当客户端播放一个流媒体文件时,下载所述Tracker分组配置文件,并从点播数据源服务器获得该流媒体文件的唯一标识FID,然后根据从Tracker分组配置文件解析出的信息确定当前播放的文件应该向哪组Tracker服务器通信。
作为本发明的一种优选方案,所述分组设定单元配置Tracker分组配置文件的方法为:通过设定流媒体文件的唯一标识FID的位数来分组;
确定了FID的位数后,以此位数代表的值作为一个分组ID,该分组ID对应一个Tracker服务器组;
一个Tracker服务器组对应多台Tracker服务器的IP和端口。
作为本发明的一种优选方案,点播相同流媒体文件的客户端集中到同一组Tracker服务器组。
作为本发明的一种优选方案,当流媒体文件数量或大小增加至一设定阈值,现有Tracker服务器组难于承受时,则增加Tracker服务器的数量;将新增加的Tracker服务器加入现有分组或单独成组。当流媒体文件数量或大小减小至一设定阈值,则减少Tracker服务器的数量。
作为本发明的一种优选方案,所述分组设定单元配置Tracker分组配置文件的方法为:通过设定流媒体文件的唯一标识FID的位数来分组;
当流媒体文件数量或大小增加至一设定阈值,现有Tracker服务器组难于承受时,则增加所述唯一标识FID用于分组的位数,同时增加Tracker服务器的数量;将新增加的Tracker服务器加入现有分组或单独成组。
一种上述流媒体点播系统的流媒体点播方法,所述流媒体点播方法包括如下步骤:
步骤S1、在所述点播数据源服务器中,每一个流媒体文件设置一个唯一标识FID;
步骤S2、通过配置Tracker分组配置文件设定各流媒体文件与对应Tracker服务器组的映射;
步骤S3、当客户端播放一个流媒体文件时,下载所述Tracker分组配置文件,并从点播数据源服务器获得该流媒体文件的唯一标识FID,然后根据从Tracker分组配置文件解析出的信息确定当前播放的文件应该向哪组Tracker服务器通信。
作为本发明的一种优选方案,所述分组设定单元配置Tracker分组配置文件的方法为:通过设定流媒体文件的唯一标识FID的位数来分组;
确定了FID的位数后,以此位数代表的值作为一个分组ID,该分组ID对应一个Tracker服务器组;
一个Tracker服务器组对应多台Tracker服务器的IP和端口。
作为本发明的一种优选方案,点播相同流媒体文件的客户端集中到同一组Tracker服务器组。
作为本发明的一种优选方案,当流媒体文件数量或大小增加至一设定阈值,现有Tracker服务器组难于承受时,则增加Tracker服务器的数量;将新增加的Tracker服务器加入现有分组或单独成组。当流媒体文件数量或大小减小至一设定阈值,则减少Tracker服务器的数量。
作为本发明的一种优选方案,所述步骤S1中,每一个流媒体文件都用SHA1算法计算出一个唯一标识此文件的20字节的FID。
本发明的有益效果在于:本发明提出的流媒体点播系统及方法,通过设置多个Tracker服务器组分别对应不同的流媒体文件,使得点播相同流媒体文件的客户端集中到同一组Tracker服务器组,可提高点播系统的容错性及下载速度。此外,本发明可根据流媒体文件数量或大小自动调节Tracker服务器的数量。
附图说明
图1为本发明流媒体点播系统的组成示意图。
图2为本发明流媒体点播方法的流程图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
请参阅图1,本发明揭示了一种流媒体点播系统,所述流媒体点播系统包括:若干客户端10、若干Tracker服务器组20、点播数据源服务器40、分组设定单元30。
每组Tracker服务器组20包括一个或多个Tracker服务器,以便使点播相同流媒体文件的客户端集中到同一组Tracker服务器组20。
在所述点播数据源服务器40中,每一个流媒体文件设置一个唯一标识FID。本实施例中,每一个流媒体文件都用SHA1算法计算出一个唯一标识此文件的20字节的FID。其中,SHA1算法是一种安全散列算法,是美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布的一系列密码散列函数。
分组设定单元30用以通过配置Tracker分组配置文件设定各流媒体文件与对应Tracker服务器组的映射。
本实施例中,所述分组设定单元30配置Tracker分组配置文件的方法为:通过设定流媒体文件的唯一标识FID的位数来分组;确定了FID的位数后,以此位数代表的值作为一个分组ID,该分组ID对应一个Tracker服务器组。比如取2位,则Tracker分组最多有四个分组,组号分别为0、1、2、3。一个Tracker服务器组对应多台Tracker服务器的IP和端口。
当客户端播放一个流媒体文件时,下载所述Tracker分组配置文件,并从点播数据源服务器获得该流媒体文件的唯一标识FID,然后根据从Tracker分组配置文件解析出的信息确定当前播放的文件应该向哪组Tracker服务器通信。
此外,当流媒体文件数量或大小增加至一设定阈值,现有Tracker服务器组难于承受时,则增加所述唯一标识FID用于分组的位数,同时增加Tracker服务器的数量;将新增加的Tracker服务器加入现有分组或单独成组。同时可调整某些流媒体文件与Tracker服务器组的对应映射关系,以便将一些流媒体文件放在新增加的Tracker服务器组。该改进可以在当流媒体文件数量过大时,Tracker服务器组可以正常工作,无须承受过重的负担。
同样地,当流媒体文件数量或大小减小至一设定阈值,则减少Tracker服务器的数量,以减少不必要的浪费。
以上介绍了本发明流媒体点播系统的组成,本发明在揭示上述流媒体点播系统的同时,还揭示一种上述流媒体点播系统的流媒体点播方法。请参阅图2,所述流媒体点播方法包括如下步骤:
【步骤S1】在所述点播数据源服务器中,每一个流媒体文件设置一个唯一标识FID。
本实施例中,每一个流媒体文件都用SHA1算法计算出一个唯一标识此文件的20字节的FID。其中,SHA1算法是一种安全散列算法,是美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布的一系列密码散列函数。
【步骤S2】通过配置Tracker分组配置文件设定各流媒体文件与对应Tracker服务器组的映射。
配置Tracker分组配置文件的方法为:通过设定流媒体文件的唯一标识FID的位数来分组;确定了FID的位数后,以此位数代表的值作为一个分组ID,该分组ID对应一个Tracker服务器组。比如取2位,则Tracker分组最多有四个分组,组号分别为0、1、2、3。一个Tracker服务器组对应多台Tracker服务器的IP和端口。
【步骤S3】当客户端播放一个流媒体文件时,下载所述Tracker分组配置文件,并从点播数据源服务器获得该流媒体文件的唯一标识FID,然后根据从Tracker分组配置文件解析出的信息确定当前播放的文件应该向哪组Tracker服务器通信。
此外,当流媒体文件数量或大小增加至一设定阈值,现有Tracker服务器组难于承受时,则增加Tracker服务器的数量;将新增加的Tracker服务器加入现有分组或单独成组。当流媒体文件数量或大小减小至一设定阈值,则减少Tracker服务器的数量。
综上所述,本发明提出的流媒体点播系统及方法,通过设置多个Tracker服务器组分别对应不同的流媒体文件,可提高点播系统的容错性及下载速度。此外,本发明可根据流媒体文件数量或大小自动调节Tracker服务器的数量。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。