CN101605242B - 用于实现视频点播服务的方法、装置和系统 - Google Patents
用于实现视频点播服务的方法、装置和系统 Download PDFInfo
- Publication number
- CN101605242B CN101605242B CN200810110131XA CN200810110131A CN101605242B CN 101605242 B CN101605242 B CN 101605242B CN 200810110131X A CN200810110131X A CN 200810110131XA CN 200810110131 A CN200810110131 A CN 200810110131A CN 101605242 B CN101605242 B CN 101605242B
- Authority
- CN
- China
- Prior art keywords
- peer
- data segment
- download
- data
- downloaded
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种用于实现视频点播服务的方法、装置和系统。所述方法包括:根据用户所点播的视频服务,获取有关视频文件的数据段的信息;通过第一集合和第二集合来下载所述数据段,其中在所述第一集合中的数据段是按照播放的时间顺序来下载的;当确定还未完成下载的数据段的下载源稀缺时,向跟踪器发送对于对等体列表的查询消息;以及基于从所述跟踪器接收到的所述对等体列表,更新作为下载源的对等体,其中,所述对等体列表中包括作为所述数据段的下载源的对等体,并且当所述对等体列表中包括提供所述视频文件的服务器时,添加所述服务器作为所述数据段的下载源。
Description
技术领域
本发明一般涉及视频点播(VoD,Video on Demand)服务,并且更特别地,涉及一种用于实现视频点播服务的方法、装置和系统,其通过对等和服务器-客户机混合媒体内容分发的方式来实现因特网协议电视视频点播(IPTV VoD)服务。
背景技术
随着宽带接入的广泛部署以及网络、技术、设备和内容的融合,全新的服务模型IPTV进入了市场。当前IPTV VoD服务的内容分发机制仍然是服务器-客户机模型,该模型使得媒体服务器承受了大量的业务,并且导致了系统的诸多缺点,例如低的可扩缩性、可靠性和稳健性。
BitTorrent(BT,比特洪流)是第二代对等(P2P)文件分发协议。在最近几年间,BitTorrent已被证明是用于P2P内容分发的非常有效的机制。P2P内容分发机制可以解决服务器/客户机的缺点。同时从若干资源下载相同的内容显然会提升到下载器的数据吞吐量,明显使服务器免于过载,并且将加强系统的可扩缩性、可靠性以及稳健性。
BitTorrent被设计用于在大量用户间高效地分发文件。该协议中有若干机制可以确保BT具有基于对等体带宽的最佳下载吞吐量,例如最稀缺最先(rarest-first)数据段选择算法以及随机对等体列表。但也因为那些算法,BT在诸如VoD这样的时间敏感业务的情况下令人非常失望。原因在于,在数据对时间敏感的情况下,应当在特定时间内获得将要由媒体播放器使用的所有数据段,在该截止时间之后,特定的数据段对于媒体播放器来说便是无用的。BitTorrent被设计用来高效下载内容,但却只有在正确下载了所有的数据段之后才可以使用内容。因此,需要在那些机制上进行加强,以便BitTorrent支持流式传输。
BiToS系统是一种基于BitTorrent的改进,用于支持P2P媒体流式传输,虽然其仍然处于研究中,但却给出了一种利用加强的BitTorrent机制来支持IPTV VoD的解决方案。然而,BiToS仍然是纯P2P的下载机制。由于对数据段下载选择的随机性,有可能在媒体内容被播放之前该媒体内容的数据段还没能完成下载,结果使得媒体播放器“饥饿”而不能播放该媒体内容。
因此需要一种改进的用于实现VoD的方法、装置和系统来解决上述问题。
发明内容
根据本发明的第一方面,提供了一种用于实现视频点播服务的方法,其包括:根据用户所点播的视频服务,获取有关视频文件的数据段的信息;通过第一集合和第二集合来下载所述数据段,其中在所述第一集合中的数据段是按照播放的时间顺序来下载的;当确定还未完成下载的数据段的下载源稀缺时,向跟踪器发送对于对等体列表的查询消息;以及基于从所述跟踪器接收到的所述对等体列表,更新作为下载源的对等体,其中,所述对等体列表中包括作为所述数据段的下载源的对等体,并且当所述对等体列表中包括提供所述视频文件的服务器时,添加所述服务器作为所述数据段的下载源。
根据本发明的第二方面,提供了一种用于实现视频点播服务的装置,其包括:获取模块,其被配置以便根据用户所点播的视频服务,获取有关视频文件的数据段的信息;下载模块,其被配置以便通过第一集合和第二集合来下载所述数据段,其中在所述第一集合中的数据段是按照播放的时间顺序来下载的;发送模块,其被配置以便当确定还未完成下载的数据段的下载源稀缺时,向跟踪器发送对于对等体列表的查询消息;以及更新模块,其被配置以便基于从所述跟踪器接收到的所述对等体列表,更新作为下载源的对等体,其中,所述对等体列表中包括作为所述数据段的下载源的对等体,并且当所述对等体列表中包括提供所述视频文件的服务器时,添加所述服务器作为所述数据段的下载源。
根据本发明的第三方面,提供了一种用于实现视频点播服务的跟踪器,其包括:接收模块,其被配置以便从视频点播装置接收对于与用户所点播的视频文件的数据段相关联的对等体列表的查询消息;生成模块,其被配置以便生成响应于所述查询消息的对等体列表,所述对等体列表中包括作为所述数据段的下载源的对等体;确定模块,其被配置以便基于所述查询消息来确定是否将提供所述视频文件的服务器包括在所述对等体列表中;以及发送模块,其被配置以便将所述对等体列表发送给所述视频点播装置。
根据本发明的第四方面,提供了一种用于实现视频点播服务的系统,其包括:服务器,其被配置以便提供视频文件;跟踪器,其被配置以便接收对于对等体列表的查询消息,以及生成基于所述查询消息的对等体列表;以及用户装置,其被配置以便:根据用户所点播的视频服务,获取有关视频文件的数据段的信息,通过第一集合和第二集合来下载所述数据段,其中在所述第一集合中的数据段是按照播放的时间顺序来下载的,当确定还未完成下载的数据段的下载源稀缺时,向所述跟踪器发送对于对等体列表的查询消息,以及基于从所述跟踪器接收到的所述对等体列表,更新作为下载源的对等体,其中,所述对等体列表中包括作为所述数据段的下载源的对等体,并且当所述对等体列表中包括所述服务器时,添加所述服务器作为所述数据段的下载源。
附图说明
在所附权利要求中阐述了本发明的新颖性特征。当结合附图阅读时,通过参照以下对说明性实施例的详细描述,将最好地理解本发明本身以及优选的使用模式,及其进一步的目的和优点,在附图中:
图1依照本发明的示例性实施例示出了用于IPTV VoD服务的对等和服务器-客户机混合媒体内容分发系统;
图2是依照本发明的示例性实施例说明了用于实现VoD服务的方法的流程图;
图3依照本发明的示例性实施例说明了用于下载数据段的策略;
图4依照本发明的示例性实施例说明了对等体列表的生成;以及
图5依照本发明的示例性实施例描绘了用于实现VoD服务的系统的简化框图。
具体实施例
下面将参照附图来详细描述本发明的实施例。贯穿本说明书全文,谈及特征、优点或类似的措辞并非意味着可以利用本发明而实现的所有特征与优点应当在或者是在本发明的任何单个的实施例中。相反,要理解涉及特征与优点的措辞意味着结合实施例所描述的具体特征、优点或特性包括在本发明的至少一个实施例中。因而,贯穿本说明书全文,对特征和优点的讨论以及类似的措辞可以指同一实施例,但却不一定指同一实施例。此外,所描述的本发明的特征、优点以及特性可以用任何合适的方式合并在一个或多个实施例中。相关领域的技术人员将会认识到,可以在没有特定实施例的一个或多个具体特征或优点的情况下实践本发明。在其它的实例中,可以在某些实施例中实现附加的特征和优点,其不一定出现于本发明的所有实施例之中。
如前所述,当前IPTV VoD服务的内容分发机制仍然是服务器-客户机模型,该模型使得媒体服务器承受了大量的业务,并且导致了系统的诸多缺点,例如低的可扩缩性、可靠性和稳健性。此外,虽然BiToS系统给出了一种利用加强的BitTorrent机制来支持IPTV VoD的解决方案,但是BiToS仍然是纯P2P的下载机制,为了向用户提供对时间敏感媒体内容的稳定、高效的下载,需要改变BitTorrent协议的若干算法。为此,本发明提出了一种用于IPTV VoD服务的P2P(BitTorrent)和服务器-客户机混合媒体内容分发系统,其中,P2P内容下载是主要的下载方法,而服务器-客户机内容下载是辅助的下载方法。
图1依照本发明的示例性实施例示出了用于IPTV VoD服务的对等和服务器-客户机混合媒体内容分发系统100。如图1所示,混合媒体内容分发系统100包括媒体服务器101、IPTV VoD跟踪器102、IPTV电子节目指南(EPG)服务器103、媒体源104、媒体编码器105,以及对等群(peerswarm)106a和106b,其包括作为该IPTV VoD服务的用户端点的多个对等体(客户机)。媒体服务器101、IPTV VoD跟踪器102和IPTV EPG服务器103及其任意或全部组件均可以在通用或专用计算机系统(例如,个人计算机、工作站、服务器、大型计算机、笔记本式或膝上型计算机、平板PC、台式计算机、便携式计算机系统、PDA、STB(机顶盒)、移动电话、无线设备等中的一个或多个)上执行。对等群106a中的用户端点通过对等网络共享诸如IPTV VoD 1的第一媒体内容,而对等群106b中的用户端点通过对等网络共享诸如IPTV VoD 2的第二媒体内容。用户端点可以是诸如IPTV STB、手机、计算机或任何网络感知设备的IPTV端点,其访问以便注册IPTV VoD服务。用户端点(也可称为客户机)与媒体服务器101、IPTV VoD跟踪器102和IPTV EPG服务器103可以通过通信网络进行信息交换和数据传输,例如,通过因特网、城域网、局域网等。此外,媒体内容分发系统100可以包括附加的服务器、客户机和未示出的其它设备。
媒体编码器105从媒体源104接收媒体内容,将该媒体内容编码成合适的媒体文件用于网络交付,并且将媒体文件传递至IPTV媒体服务器101。媒体服务器101存储媒体内容,在逻辑上将媒体内容拆分成数据段,并且将所拆分的信息转发至IPTV VoD跟踪器102和IPTV EPG服务器103,以便用户通过该信息来获取所请求的媒体内容。
当提供IPTV VoD服务时,IPTV EPG服务器103会将媒体信息发布给用户。用户浏览VoD媒体列表并且选择播放的媒体内容,例如,电影、电视节目等。在本发明的示例性实施例中,基于BitTorrent协议,用户可以从EPG服务器103下载.torrent文件,该文件含有与对应的VoD媒体文件、其长度、名称有关的信息,以及用于每个文件数据段的散列信息。
当用户希望获取其选择播放的VoD媒体文件时,该用户联络为该VoD管理对等群的IPTV VoD跟踪器102。IPTV VoD跟踪器102向用户响应对等体列表,该对等体列表定义了正在下载相同的媒体文件的一组对等体。用户然后可以与该组对等体中的其它对等体通信,以便获得文件数据段,与此同时,其还按照tit-for-tat(互惠互利)的方式上传文件数据段给其对应对等体(counterpart peers)。
在用户端点上,通过诸如下载软件等的下载装置,可以下载媒体内容的每个数据段,将其存储在本地存储器中,并且不会将其移除,除非用户终端关闭。一旦媒体数据头的启动卷到达,用户终端上的媒体播放器(未示出)便会开始提供相应的媒体内容。
依照本发明的实施例的媒体分发系统100为用户提供了对时间敏感媒体内容的稳定、高效的下载,其通过改变BitTorrent协议的若干算法来满足此目的:
a、在对等端上的粗略顺序(rough-sequential)下载策略,以便使得BitTorrent支持媒体流式传输。在对等端上有两个下载线程,其中一个按照播放时间的顺序来从P2P对等体获得内容数据段,这是为了满足媒体播放器对媒体内容的顺序需要;另一个按照最稀缺-最先的下载顺序来满足在P2P群中数据段的分集,这是BitTorrent网络的基本需要。
b、加强跟踪器逻辑,以便根据对等体的下载进度来向对等体列表查询响应过滤的对等体列表。一旦对等体发现一些数据段绝迹(extinct),或者当前在下载的数据段稀缺(例如,在与该对等体通信的对应对等体中,仅有少于20%的对等体具有该数据段),其便向跟踪器发起对等体列表查询消息。跟踪器将向其返回随机的对等体列表,该表含有的那些对等体具有该对等体所需要的、按播放时间顺序排列的数据。
c、媒体服务器在该P2P内容分发系统中充当稳定的种子。跟踪器逻辑上的加强会将媒体服务器有条件的放入到对等体列表中。当跟踪器发现对等体的剩余数据段(未完成下载的数据段)在P2P群上具有高稀缺性时,其会将媒体服务器放入对等体列表中,以便使对等体从媒体服务器下载相应的数据段。
本发明通过将P2P模式引入到实时媒体内容分发系统,提供了对IPTVVoD服务的高可扩缩性、可靠性以及稳健性。用户可以获得对其带宽的充分使用,而不会受到服务器端的处理能力或带宽的限制。与此同时,由于在本发明中采用P2P和服务器-客户机混合下载策略,媒体服务器仅承载辅助业务,因此本发明还使得媒体服务器不用承受过载,并且提升了内容分发网络的总吞吐量。
尽管仅对用于IPTV VoD服务的对等和服务器-客户机混合媒体内容分发系统100说明了两个对等群106a和106b,然而可以存在针对不同VoD服务的多个对等群,以及可以同样有效地使用具有多个服务器的系统。
下面的示意性流程图一般作为逻辑流程图来进行阐述。因此,所示出的顺序和所标记的步骤表示所提出的方法的一个实施例。可以想到在功能、逻辑或效果方面等效于所描述的方法的一个或多个步骤或其部分的其它步骤和方法。另外,所采用的格式和符号是为了阐释该方法的逻辑步骤而提供的,并且被理解为并不限制该方法的范围。尽管在流程图中可以采用各种箭头类型和线条类型,然而它们被理解为并不限制相应的方法的范围。事实上,某些箭头或其它的连接符可能仅仅用于指示该方法的逻辑流程。例如,箭头可以指示所示方法的所列步骤之间未指定的持续时间的等待或监视期。另外,特定方法发生的顺序可以严格按照所示对应步骤的顺序,或者,可以不严格按照所示对应步骤的顺序。
图2是依照本发明的示例性实施例说明了用于实现VoD服务的方法200的流程图。当例如通过EPG服务器103向用户发布了可供点播的媒体信息之后,该过程开始。在步骤202,用户实现对视频服务的点播,例如通过浏览VoD媒体列表并且选择想要播放的诸如电影、电视节目等的媒体内容。在步骤204,根据用户所点播的视频服务,获取有关视频文件的数据段的信息。在本发明的示例性实施例中,用户端点可以基于BitTorrent协议来下载所点播的媒体内容的视频文件。举例来说,用户从EPG服务器103下载.torrent文件,其含有与VoD文件有关的信息,以及用于每个文件的数据段的散列信息。
在步骤206,用户端点通过第一集合(例如下面详细讨论的按时间顺序下载的数据段集合)和第二集合(例如下面详细讨论的剩余的数据段集合)来下载所点播的视频文件的数据段,其中为了满足来自媒体播放器的对媒体数据段的播放需求,在该第一集合中的数据段是按照播放的时间顺序来下载的。下面参照图3对该下载过程进行详细说明。
图3依照本发明的示例性实施例示出了用于下载数据段的策略,其中采用了加强的BitTorrent数据段选择算法。如图3所示,用户端点(其同样是共享所点播的视频文件的对等体,为便于描述,下文称之为用户端点)中的数据段选择算法将数据段及其状态标记为已下载、正在下载,或者未下载,并且将数据段分成三类:
·接收到的数据段集合:其含有已经下载完的所有的媒体内容数据段。
·按时间顺序下载的数据段集合:含有未下载完的媒体内容数据段,包括还未下载的数据段以及正在下载的数据段。在该集合中,根据其将被媒体播放器使用的截止时间,播放时间早的数据段具有比播放时间晚的数据段要高的下载优先级,即在该集合中的数据段是按照播放的时间顺序来下载的。该集合类别具有固定大小的多个数据段,例如,图3中所示的8个数据段,或者更多或更少的数据段。一旦该集合中的某个数据段被下载完,其便被移除到接收到的数据段集合中。与此同时,按照播放顺序但却未下载的下一数据段将被从剩余的数据段集合中选入该集合。
·剩余的数据段集合:含有不在按时间顺序下载的数据段集合中的其它未下载完的数据段,包括还未下载的数据段以及正在下载的数据段。图3中所示出的在该集合中的数据段间的空隙表示的是已经下载完并且被移除到接收到的数据段集合中的数据段。
在本发明的示例性实施例中,在用户端点开始下载所点播的媒体内容的数据段之前,基于播放该视频内容的时间顺序,其会对所有待下载的数据段(即视频文件的所有数据段)进行排序。然后,将这些待下载的数据段安排到具有固定大小的按时间顺序下载的数据段集合,并且将剩余的这些待下载的数据段安排到剩余的数据段集合。
在加强的数据段选择算法中,用户端点在任何给定时间均可以具有在同时下载的多个数据段。可以选择从按时间顺序下载的数据段集合或者从剩余的数据段集合下载数据段。在本发明的示例性实施例中,当具有可用的下载资源时,便可以确定是从按时间顺序下载的数据段集合还是从剩余的数据段集合来选择数据段进行下载,对此定义了概率p,这意味着在并行下载的数据段中,百分之p的数据段选自按时间顺序下载的数据段集合,并且百分之(1-p)的数据段选自剩余的数据段集合。
如以上所提及的,用于从按时间顺序下载的数据段集合选择下载数据段的机制是按照播放的时间顺序,也就是说,应当根据数据段在媒体文件中的时间线顺序来下载该数据段。该下载机制可以满足来自媒体播放器的对媒体数据段按照时间顺序进行播放的需求。用于从剩余的数据段集合选择下载数据段的机制是原始的BitTorrent最稀缺-最先机制。根据本发明的示例性实施例,对最稀缺-最先机制做出了稍许改变。如果多个数据段具有相同的稀缺性,则将选择作为沿媒体文件时间线的首个数据段的数据段进行下载,即按照播放的时间顺序从所述多个数据段中选择第一数据段进行下载。因而,基于该下载机制,当下载源同样稀缺时,播放时间早的数据段将具有比播放时间晚的数据段要高的下载优先级,由此在一定程度上弥补了常规P2P下载机制在时间敏感业务方面的不足。
因此,在按时间顺序下载的数据段集合中下载的数据段要满足来自媒体播放器对媒体数据段的按照时间顺序播放的需求,而在剩余的数据段集合中下载的数据段要满足在P2P群组中的数据段分集,这意味着需要权衡对等体使用的下载带宽。如上所述,可以通过设置概率p来为对等体划分对等体下载带宽。因此,概率p可以是动态值,并且可以根据以下中的至少一项来进行动态调整:对视频文件的播放速率,以及用于下载的带宽。在本发明的一个实施例中,概率p通过以下公式来计算:p=媒体播放器消耗速率/下载器所使用的带宽,其中媒体播放器消耗速率表示媒体播放器播放视频文件时对数据段的消耗速率,而下载器所使用的带宽表示对等体中的VoD下载器所占用的带宽。
返回图2,在步骤208,如果确定还未完成下载的数据段的下载源稀缺,则在步骤210,用户端点向跟踪器发送对于对等体列表的查询消息,否则用户端点继续从现有下载源下载数据段。在本发明的示例性实施例中,一旦用户端点发现在其按时间顺序下载的数据段集合或剩余的数据段集合中的数据段无下载源,或者当前正在下载的数据段的下载源少于预先确定的阈值(例如,仅20%的对应对等体具有该数据段),该用户端点便确定还未完成下载的数据段的下载源稀缺,并且向跟踪器发起查询消息以获得对等体列表。由于该对等体列表中的对等体正在下载或已经下载了所点播的视频文件,因此这些对等体可以作为所点播的视频文件的下载源。用户端点然后可以与这些对等体进行通信,从而开始下载该视频文件的数据段。在对等体向跟踪器发送的对等体列表查询消息中,可以包括第一进度指示符H,其指示的数据段是当前正在按时间顺序下载的数据段集合中下载的数据段中索引号最大的数据段,其中数据段的索引号指示了该数据段在播放时所处的时间顺序,例如,播放时间越晚,索引号越大。当跟踪器接收到该查询消息时,将会依照特定的算法对消息进行响应。在原始的BitTorrent协议中,跟踪器响应算法是返回对等体的随机列表,但在时间敏感业务中,媒体内容的数据段具有关于其索引号(序号)的优先级。因此,在本发明的方法中,采用了加强的BitTorrent跟踪器响应算法,依照该响应算法,跟踪器根据用户端点的下载进度来响应对等体列表查询。下面参照图4详细说明了对等体列表的生成。
图4依照本发明的示例性实施例说明了对等体列表的生成。为了指示共享视频文件的对等群中的各个对等体的下载进度,从各个对等体到跟踪器都具有周期性报告,以便使跟踪器知道哪个对等体有什么。除了在原始BitTorrent协议中从对等体报告给跟踪器的信息之外,本发明提出在报告中添加新的进度指示符,以便针对每个对等体而呈现按照时间顺序的下载进度。在本发明的示例性实施例中,每个VoD对等群中的对等体周期性地向跟踪器报告具有第二进度指示符D的信息,该第二进度指示符D指示的是在已下载完的按时间顺序连续排列的数据段中,播放时间最晚(即具有最大索引号)的数据段。因此,该数据段以及播放时间在该数据段之前的所有数据段在相应的对等体上都已经完成下载,而按播放时间顺序来说,该数据段的下一个数据段还未完成下载。举例来说,当诸如图4中的对等体25的对等体向跟踪器发送具有第二进度指示符D=10的报告信息时,其便已经下载完了索引号为1到10的数据段,而索引号大于10的数据段即使已经完成下载,就播放顺序来看,这些数据段也是不连续的。
在跟踪器端,其为每个VoD对等群保持动态的数据段-对等体列表。通过数据段索引号进行索引,每个条目含有的那些对等体的进度指示符D与对应的数据段索引号相匹配。如图4所示,对应于数据段索引号12的对等体包括编号为8,24,31…的对等体,这表示在这些对等体上已经下载完索引号小于以及等于12的数据段,但却还没有下载完索引号为13的数据段。响应于对等体列表查询消息,跟踪器将从以下条目生成随机的对等体列表,即该条目具有比发起查询消息的对等体的第一进度指示符更大的索引号,这意味着在列表中的对等体具有比发起查询消息的对等体的当前第一进度指示符所指示的数据段的播放时间要早的所有数据段,因此列表中的这些对等体将具有发起查询消息的对等体就播放时间而言更想要的数据段。举例来说,如图4所示,对于发起对等体列表查询消息的对等体44,其查询消息中包括第一进度指示符H=8,并且该对等体44处于VoD 2对等群。响应于该查询消息,跟踪器在用于VoD 2对等群的数据段-对等体列表中找到索引号8,从索引号大于8的条目中随机选择对等体。因此,相比于对等体44在当前查询消息中的第一进度指示符所指示的数据段,在所生成的对等体列表中,与各对等体相关联的第二进度指示符所指示的数据段的播放时间要晚。跟踪器然后将该对等体列表返回给对等体44。
返回图2,在步骤212,用户端点从跟踪器接收响应于其查询消息的对等体列表。在步骤214,基于所接收到的对等体列表,该用户端点更新作为下载源的对等体。依照本发明的示例性实施例,用户端点在更新下载源时,保留现有的下载源,并且将最新的对等体列表中的对等体添加为新的下载源。因此,随着共享视频文件的对等体数的不断增加,用户端点可用的下载源可能会越多。根据特定的对等协议,用户端点可以通过与作为下载源的对等体之间的通信来下载还未完成下载的数据段。与此同时,用户端点还可以通过与共享该视频文件的对等体之间的通信来上传其已完成下载的数据段。
需要指出的是,BitTorrent机制具有的缺点在于:当具有某些数据段的所有对等体都离开对等群时,整个下载群将关于这些数据段而阻塞。因此,在本发明的示例性实施例中,当将BitTorrent引入到VoD系统中时,将媒体服务器用作可靠的种子,这将避免上述事故发生。在本发明的方法中,BitTorrent是获得媒体内容的唯一方式,而媒体服务器充当的是P2P群组中仅上传数据段的种子。其保存媒体内容的所有数据段,总是将数据段上传给对等体,并且在长持续时间中保持服务于对等群,其可以充当P2P下载系统中的可靠种子。然而,为了最好地利用P2P下载,并不期望媒体服务器承担过多的下载业务,因此对其的使用是有条件的。跟踪器并不会对所有的对等体列表查询都将媒体服务器放入到对等体列表中,而仅当第一进度指示符所指示的数据段在共享该媒体内容的对等群中具有高稀缺性时,换句话说,仅当具有该数据段的对等体数少于预先确定的阈值(例如,仅有5%的对等体具有该数据段)时,才将媒体服务器放入到对等体列表中。以这样的方式,媒体服务器不会承受高负载,而仅是P2P下载的辅助,另一方面,其可以满足对数据段的重要需求。因此,在步骤216,当返回的对等体列表中包括提供所点播的视频文件的服务器时,在步骤218,用户端点还将添加该服务器作为视频文件的数据段的下载源。在步骤220,如果已经下载完所点播的视频文件的所有数据段,那么该过程结束。
以上描述了根据本发明的实施例的用于实现VoD服务的方法。应当指出的是,所描述的方法仅为示例,而不是对本发明的限制。本发明的用于实现VoD服务的方法可具有更多、更少或不同的步骤,所描述的一些步骤可合并为单个步骤或划分为更细的步骤,且一些步骤之间的顺序可改变或可并行执行。
图5依照本发明的示例性实施例描绘了用于实现VoD服务的系统500的简化框图。如图5所示,系统500包括用户实现视频点播服务的用户装置(即共享视频文件的对等体)510a,510b,...,510n、跟踪器520,以及服务器530。服务器530被配置用于提供可供用户装置510a-510n获得的VoD媒体服务。用户装置510a-510n与服务器530、跟踪器520之间可以通过通信网络进行信息交换和数据传输,例如,通过因特网、城域网、局域网等。此外,系统500可以包括附加的服务器、对等体和未示出的其它设备。
根据本发明的示例性实施例,用户装置510包括获取模块511、下载模块512、发送模块513,以及更新模块514,如图5中所示出的510a。当用户装置510点播了视频服务后,获取模块511用于获取有关所点播的视频文件的数据段的信息,例如通过下载.torrent文件。获取模块511还可以用于从跟踪器520获取含有该数据段的下载源信息的对等体列表。
下载模块512用于从该视频文件的下载源下载数据段,例如从共享该视频文件的其它对等体,或者从提供视频文件的服务器530。下载模块512可以使用如图3中所说明的下载策略,并结合图2中所描述的方法,通过第一集合和第二集合来下载这些数据段,其中在第一集合中,按照播放的时间顺序来下载数据段。
发送模块513用于在还未完成下载的数据段的下载源稀缺时,向跟踪器520发送对于对等体列表的查询消息,以便获得数据段的下载源。根据本发明示例性实施例,在该查询消息中具有第一进度指示符,其指示的是正在用户装置的第一集合中下载的数据段中播放时间最晚的数据段。发送模块513还用于周期性地向跟踪器520发送含有第二进度指示符的报告消息,由于按照播放时间顺序,第二进度指示符所指示的数据段及其之前的所有数据段都已经下载完,因此跟踪器520可以根据第二进度指示符来获知各个对等体的下载情况。在本发明的另一实施例中,发送模块513还用于向共享视频文件的对等体上传已下载到用户装置510的数据段。
更新模块514用于基于从跟踪器520返回的对等体列表,更新作为下载源的对等体,其中当该对等体列表中包括服务器530时,更新模块514还将其添加为下载源。
根据本发明的示例性实施例,跟踪器520包括接收模块521、生成模块522、确定模块523,以及发送模块524,如图5所示。接收模块521用于从用户装置接收对于与视频文件的数据段相关联的对等体列表的查询消息。接收模块521还用于从共享视频文件的对等体接收周期性发送的含有相应的下载进度指示符的报告消息。
生成模块522用于生成响应于来自用户装置的查询消息的对等体列表,在所生成的对等体列表中含有视频文件的数据段的下载源。
确定模块523用于基于来自用户装置的查询消息来确定是否将服务器530包括在对等体列表中。依照本发明的示例性实施例,基于查询消息中的第一进度指示符,如果确定模块523确定在共享所点播的视频文件的对等体中,当具有第一进度指示符所指示的数据段的对等体的数目少于预先确定的阈值(例如5%)时,便将服务器530包括在该对等体列表中。
发送模块524用于将所生成的对等体列表发送给向跟踪器520发起对等体列表查询消息的用户装置。
以上描述了根据本发明的实施例的实现VoD服务的系统500,应当指出的是,所描述的系统500仅为示例,而不是对本发明的限制。本发明的实现VoD服务的系统500可具有比所描述的更多、更少或不同的功能模块,所描述的一些功能模块可合并在一起,或进一步划分,或具有不同的连接关系和包含关系,所有这些变化均处于本发明的精神和范围之内。
本发明与当前的IPTV VoD服务相比,可以显著地降低媒体服务器上的业务,可以减少媒体服务器的数目,并且可以将媒体服务器端的带宽需求缩小几十甚至上百倍。与近来研究的BiToS(其是全P2P(BitTorrent)网络)相比,本发明提出了P2P和服务器-客户机混合网络,利用媒体服务器作为辅助下载方法,这可以克服P2P连接的不可靠性,并且增加媒体内容下载的完整性,因此增加了客户满意度。
可以用硬件、软件、固件或其组合的方式实现本发明。适于实现文中所描述的方法的任何计算机系统或其它装置都是合适的。一种典型的硬件和软件的组合可以是含有计算机程序的通用计算机系统,当该计算机程序被加载和执行时,其控制该计算机系统而使其执行文中所描述的方法的步骤,或者构成根据本发明的实施例的装置和系统中的功能模块。
本发明还可以体现在计算机程序产品中,该计算机程序产品含有使得能够实现文中所描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行这些方法,或者构成根据本发明的实施例的装置和系统中的功能模块。
尽管已经公开了本发明的具体实施例,然而本领域的普通技术人员应该理解在不背离本发明的精神和范围的情况下可以对具体的实施例进行改变。因此,本发明的范围并不限于具体的实施例,并且其旨在所附权利要求涵盖本发明范围内的任何以及所有这样的应用、修改和实施例。
Claims (30)
1.一种用于实现视频点播服务的方法,其包括:
根据用户所点播的视频服务,获取有关视频文件的数据段的信息;
通过第一集合和第二集合来下载所述数据段,其中在所述第一集合中的数据段是按照播放的时间顺序来下载的;
当确定还未完成下载的数据段的下载源稀缺时,向跟踪器发送对于对等体列表的查询消息;以及
基于从所述跟踪器接收到的所述对等体列表,更新作为下载源的对等体,其中,所述对等体列表中包括作为所述数据段的下载源的对等体,并且当所述对等体列表中包括提供所述视频文件的服务器时,添加所述服务器作为所述数据段的下载源。
2.根据权利要求书1的方法,其中,所述查询消息中包括第一进度指示符,其指示的是所述第一集合中正在下载的数据段中播放时间最晚的数据段。
3.根据权利要求书2的方法,其中,在共享所述视频文件的对等体中,当具有所述第一进度指示符所指示的数据段的对等体的数目少于第一阈值时,所述对等体列表中包括所述服务器。
4.根据权利要求书1至3中任何一项的方法,其中,还未完成下载的数据段的下载源稀缺包括以下情况中的至少一种:
所述第一集合或所述第二集合中的数据段无下载源,以及
当前正在下载的数据段的下载源少于第二阈值。
5.根据权利要求书2或3的方法,其进一步包括:周期性地向所述跟踪器发送含有第二进度指示符的报告消息,其中,所述第二进度指示符指示的是在已下载完的按时间顺序连续排列的数据段中,播放时间最晚的数据段。
6.根据权利要求书5的方法,其中,相比于所述查询消息中的第一进度指示符所指示的数据段,与所述对等体列表中的对等体相关联的第二进度指示符所指示的数据段的播放时间要晚。
7.根据权利要求书1至3中任何一项的方法,其中通过第一集合和第二集合来下载所述数据段包括:
基于播放的时间顺序,对所有待下载的数据段进行排序;以及
将所述待下载的数据段安排到具有固定大小的所述第一集合,并且将剩余的所述待下载的数据段安排到所述第二集合。
8.根据权利要求书1至3中任何一项的方法,其中通过第一集合和第二集合来下载所述数据段包括:当要下载新的数据段时,基于预先确定的概率来选择下载来自所述第一集合或所述第二集合的未下载的数据段。
9.根据权利要求书8的方法,其中所述预先确定的概率是根据以下中的至少一项来动态调整的:对所述视频文件的播放速率,以及用于下载的带宽。
10.根据权利要求书1至3中任何一项的方法,其中通过第一集合和第二集合来下载所述数据段包括:当通过所述第一集合下载完一个数据段之后,按照播放的时间顺序,从所述第二集合中选择还未下载的另一数据段到所述第一集合中。
11.根据权利要求书1至3中任何一项的方法,其中通过第一集合和第二集合来下载所述数据段包括:在所述第二集合中,按照最稀缺最先的顺序选择数据段进行下载。
12.根据权利要求书11的方法,其中通过第一集合和第二集合来下载所述数据段进一步包括:在所述第二集合中,当多个数据段一样稀缺时,按照播放的时间顺序从所述多个数据段中选择数据段进行下载。
13.根据权利要求书1至3中任何一项的方法,其进一步包括:向共享所述视频文件的对等体上传已下载的数据段。
14.一种用于实现视频点播服务的装置,其包括:
获取模块,其被配置以便根据用户所点播的视频服务,获取有关视频文件的数据段的信息;
下载模块,其被配置以便通过第一集合和第二集合来下载所述数据段,其中在所述第一集合中的数据段是按照播放的时间顺序来下载的;
发送模块,其被配置以便当确定还未完成下载的数据段的下载源稀缺时,向跟踪器发送对于对等体列表的查询消息;以及
更新模块,其被配置以便基于从所述跟踪器接收到的所述对等体列表,更新作为下载源的对等体,其中,所述对等体列表中包括作为所述数据段的下载源的对等体,并且当所述对等体列表中包括提供所述视频文件的服务器时,添加所述服务器作为所述数据段的下载源。
15.根据权利要求书14的装置,其中,所述查询消息中包括第一进度指示符,其指示的是所述第一集合中正在下载的数据段中播放时间最晚的数据段。
16.根据权利要求书15的装置,其中,在共享所述视频文件的对等体中,当具有所述第一进度指示符所指示的数据段的对等体的数目少于第一阈值时,所述对等体列表中包括所述服务器。
17.根据权利要求书14至16中任何一项的装置,其中,还未完成下载的数据段的下载源稀缺包括以下情况中的至少一种:
所述第一集合或所述第二集合中的数据段无下载源,以及
当前正在下载的数据段的下载源少于第二阈值。
18.根据权利要求书15或16的装置,其中所述发送模块被进一步配置以便:周期性地向所述跟踪器发送含有第二进度指示符的报告消息,其中,所述第二进度指示符指示的是在已下载完的按时间顺序连续排列的数据段中,播放时间最晚的数据段。
19.根据权利要求书18的装置,其中,相比于所述查询消息中的第一进度指示符所指示的数据段,与所述对等体列表中的对等体相关联的第二进度指示符所指示的数据段的播放时间要晚。
20.根据权利要求书14至16中任何一项的装置,其中所述下载模块被进一步配置以便:
基于播放的时间顺序,对所有待下载的数据段进行排序;以及
将所述待下载的数据段安排到具有固定大小的所述第一集合,并且将剩余的所述待下载的数据段安排到所述第二集合。
21.根据权利要求书14至16中任何一项的装置,其中所述下载模块被进一步配置以便:当要下载新的数据段时,基于预先确定的概率来选择下载来自所述第一集合或所述第二集合的未下载的数据段。
22.根据权利要求书21的装置,其中所述预先确定的概率是根据以下中的至少一项来动态调整的:对所述视频文件的播放速率,以及用于下载的带宽。
23.根据权利要求书14至16中任何一项的装置,其中所述下载模块被进一步配置以便:当通过所述第一集合下载完一个数据段之后,按照播放的时间顺序,从所述第二集合中选择还未下载的另一数据段到所述第一集合中。
24.根据权利要求书14至16中任何一项的装置,其中所述下载模块被进一步配置以便:在所述第二集合中,按照最稀缺最先的顺序选择数据段进行下载。
25.根据权利要求书24的装置,其中所述下载模块被进一步配置以便:在所述第二集合中,当多个数据段一样稀缺时,按照播放的时间顺序从所述多个数据段中选择数据段进行下载。
26.根据权利要求书14至16中任何一项的装置,其中所述发送模块被进一步配置以便:向共享所述视频文件的对等体上传已下载的数据段。
27.一种用于实现视频点播服务的跟踪器,其包括:
接收模块,其被配置以便从视频点播装置接收对于与用户所点播的视频文件的数据段相关联的对等体列表的查询消息;
生成模块,其被配置以便生成响应于所述查询消息的对等体列表,在所述对等体列表中包括作为所述数据段的下载源的对等体;
确定模块,其被配置以便基于所述查询消息来确定是否将提供所述视频文件的服务器包括在所述对等体列表中;以及
发送模块,其被配置以便将所述对等体列表发送给所述视频点播装置,
其中所述确定模块被进一步配置以便:基于所述查询消息中的第一进度指示符,确定在共享所述视频文件的对等体中,当具有所述第一进度指示符所指示的数据段的对等体的数目少于第一阈值时,将所述服务器包括在所述对等体列表中,其中所述第一进度指示符指示的是正在所述视频点播装置的第一集合中下载的数据段中播放时间最晚的数据段,其中在所述第一集合中的数据段是按照播放的时间顺序来下载的。
28.根据权利要求书27的跟踪器,其中所述接收模块进一步被配置以便:从共享所述视频文件的对等体接收周期性发送的含有第二进度指示符的报告消息,其中,所述第二进度指示符指示的是在相应对等体上已下载完的按时间顺序连续排列的数据段中,播放时间最晚的数据段。
29.根据权利要求书28的跟踪器,其中,相比于所述查询消息中的第一进度指示符所指示的数据段,与所述对等体列表中的对等体相关联的第二进度指示符所指示的数据段的播放时间要晚。
30.一种用于实现视频点播服务的系统,其包括:
服务器,其被配置以便提供视频文件;
跟踪器,其被配置以便接收对于对等体列表的查询消息,以及生成基于所述查询消息的对等体列表;以及
用户装置,其被配置以便:
根据用户所点播的视频服务,获取有关视频文件的数据段的信息,
通过第一集合和第二集合来下载所述数据段,其中在所述第一集合中的数据段是按照播放的时间顺序来下载的,
当确定还未完成下载的数据段的下载源稀缺时,向所述跟踪器发送对于对等体列表的查询消息,以及
基于从所述跟踪器接收到的所述对等体列表,更新作为下载源的对等体,其中,所述对等体列表中包括作为所述数据段的下载源的对等体,并且当所述对等体列表中包括所述服务器时,添加所述服务器作为所述数据段的下载源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810110131XA CN101605242B (zh) | 2008-06-13 | 2008-06-13 | 用于实现视频点播服务的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810110131XA CN101605242B (zh) | 2008-06-13 | 2008-06-13 | 用于实现视频点播服务的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101605242A CN101605242A (zh) | 2009-12-16 |
CN101605242B true CN101605242B (zh) | 2013-07-17 |
Family
ID=41470762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810110131XA Expired - Fee Related CN101605242B (zh) | 2008-06-13 | 2008-06-13 | 用于实现视频点播服务的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101605242B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958901B (zh) * | 2010-09-28 | 2014-11-05 | 中兴通讯股份有限公司 | 一种基于长期演进的多媒体点播方法、系统和移动终端 |
CN102394908A (zh) * | 2011-08-11 | 2012-03-28 | 杭州顺网科技股份有限公司 | 一种基于局域网的网络视频加速方法 |
CN102404608A (zh) * | 2011-11-30 | 2012-04-04 | 苏州奇可思信息科技有限公司 | 基于局域网点到点传输的视频点播方法 |
US10841352B2 (en) * | 2012-11-27 | 2020-11-17 | International Business Machines Corporation | Non-chronological buffering of segments of a media file |
WO2015149231A1 (en) * | 2014-03-31 | 2015-10-08 | Telefonaktiebolaget L M Ericsson (Publ) | Method and broadcast multicast service center, bm-sc, node for providing an on-request service |
CN104936042B (zh) * | 2015-06-30 | 2018-08-07 | 北京奇艺世纪科技有限公司 | 一种视频片段下载方法及装置 |
CN111031383B (zh) * | 2019-12-06 | 2022-08-05 | RealMe重庆移动通信有限公司 | 流媒体传输方法及装置、电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008002295A1 (en) * | 2006-06-27 | 2008-01-03 | Thomson Licensing | Performance aware peer-to-peer video-on-demand |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8707375B2 (en) * | 2006-04-05 | 2014-04-22 | At&T Intellectual Property I, L.P. | Peer-to-peer video on demand techniques |
KR20080051208A (ko) * | 2006-12-05 | 2008-06-11 | 엘지전자 주식회사 | 멀티미디어 데이터의 스트리밍 서비스 방법 및 이를 이용한시스템 |
-
2008
- 2008-06-13 CN CN200810110131XA patent/CN101605242B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008002295A1 (en) * | 2006-06-27 | 2008-01-03 | Thomson Licensing | Performance aware peer-to-peer video-on-demand |
Also Published As
Publication number | Publication date |
---|---|
CN101605242A (zh) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11659062B2 (en) | Remote access of media items | |
US9979771B2 (en) | Adaptive variable fidelity media distribution system and method | |
CN101605242B (zh) | 用于实现视频点播服务的方法、装置和系统 | |
KR101359081B1 (ko) | 성능 인식 p2p 콘텐트 온 디맨드 | |
US9332051B2 (en) | Media manifest file generation for adaptive streaming cost management | |
US20070288638A1 (en) | Methods and distributed systems for data location and delivery | |
JP5580302B2 (ja) | ピアツーピアネットワークのための放送シーディング | |
CN101355522B (zh) | 一种媒体服务器的控制方法和系统 | |
US9497035B2 (en) | Method, device, and system for playing media based on P2P | |
US20120143986A1 (en) | Systems and methods for downloading by different processes | |
CN102316135A (zh) | 网络点播方法和系统 | |
CN101800731A (zh) | 网络传输管理服务器、网络传输管理方法及网络传输系统 | |
Yang et al. | Kangaroo: Video Seeking in {P2P} Systems | |
Lin et al. | Autotune: game-based adaptive bitrate streaming in P2P-assisted cloud-based vod systems | |
Kim et al. | Efficient neighbor selection through connection switching for P2P live streaming | |
Bideh et al. | Adaptive content-and-deadline aware chunk scheduling in mesh-based P2P video streaming | |
Wang et al. | PLVER: Joint stable allocation and content replication for edge-assisted live video delivery | |
US11089103B1 (en) | Content management in a distributed cache of a wireless mesh network | |
Shen et al. | Toward efficient short-video sharing in the YouTube social network | |
Cao et al. | P2P-based Video-on-Demand Service Using Multiple Cache Replacement Algorithm | |
Bhattacharya et al. | Coconet: Co-operative cache driven overlay network for p2p vod streaming | |
Feng | A research on scheduling strategy in peer-to-peer streaming media | |
Fu et al. | PACTS: a service oriented architecture for real-time peer-assisted content delivery service | |
Rong et al. | GMaker: A video recommendation module for peer-assisted VoD | |
Ketmaneechairat et al. | The Mathematical Models for Different Start Video Broadcasting |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130717 Termination date: 20160613 |
|
CF01 | Termination of patent right due to non-payment of annual fee |