专利名称:在互联网中用于加速点播多媒体内容的方法与装置的制作方法
技术领域:
本发明涉及在互联网中点播多媒体内容的方法与装置,尤其涉及在互联网中对点 播多媒体内容进行加速的方法与装置。
背景技术:
目前,由于互联网技术和多媒体处理技术的迅速发展,使得通过互联网传输多媒 体内容愈加方便,因而内容提供商在互联网上提供了越来越多的多媒体内容,也有越来越 多的用户依赖于互联网这一新媒介在线收听、收看多媒体内容。传统的多媒体点播服务主要基于服务器/客户端(Client/Server,C/S)的模式 运营。多媒体数据如视频,主要集中存储在服务器端,用户基于HTTP协议通过网页浏览器 与相应服务器建立连接并下载视频数据,达到在线观看的目的。这种模式一定程度上实现 了视频点播服务,然而这种模式下服务器所能承载的用户数量很有限,当用户规模扩大后, 就须要增加服务器及相应的服务器端带宽,且下载的灵活度不够,只能提供单线程下载,此 外,下载的速度也受限于服务器的带宽,无法提供高速的多媒体内容下载。鉴于现有技术中存在的上述问题,本发明提出了采用P2SP (Peer To Server and Peer,点对点端)技术对以HTTP方式的在线点播进行加速的方案,极大地提高了在线点播 的视频播放速度,带来了更好的用户体验(User Experience)。
发明内容
为了解决传统的基于HTTP协议的在线点播方式中,随着希望点播同一个多媒体 内容的用户数量的增加而服务器的带宽有限,而导致用户无法正常点播多媒体内容的问 题,本发明提出了采用P2SP (Peer ToServer and Peer,点对点端)技术对以HTTP方式的在 线点播进行加速的方案。具体地,根据本发明的第一方面,提供了一种在用户终端中点播多媒体内容的方 法,其中,所述用户终端获取所述多媒体内容在多媒体服务器上的地址信息,并根据该地址 信息进行所述多媒体内容的点播,该方法还包括以下步骤根据所述地址信息,获取所述多 媒体内容的指示信息;根据所述指示信息,当一个或多个点到点网络资源中包含所述多媒 体内容时,获取所述一个或多个点到点网络资源的资源相关信息;根据所述资源相关信息, 对所述点播进行加速;根据本发明的第二方面,提供了一种在第一网络服务器中用于辅助用户终端下载 多媒体内容的方法,其中,包括以下步骤获取来自所述用户终端的指示信息;根据所述指 示信息,获取所述多媒体内容的第一内容标识信息;将所述第一内容标识信息提供给所述 用户终端;根据本发明的第三方面,提供了一种在第二网络服务器中用于辅助用户终端加速 下载多媒体内容的辅助下载方法,多媒体服务器包含所述待下载的多媒体内容,该辅助下 载方法包括如下步骤接收来自所述用户终端的与所述用户终端所请求的多媒体内容相对应的节点相关信息;根据所述节点相关信息,获取对应的分片的其它用户终端节点的相关 信息;将所述其它用户终端节点的相关信息发送给所述用户终端;根据本发明的第四个方面,提供了一种在用户终端中点播多媒体内容的控制装 置,其中,包括,地址信息获取装置,用于获取所述多媒体内容在多媒体服务器上的地址信 息,点播装置,用于根据该地址信息进行所述多媒体内容的点播,该控制装置还包括指示 信息获取装置,用于根据所述地址信息,获取所述多媒体内容的指示信息;节点资源获取装 置,用于根据所述指示信息,当一个或多个点到点网络资源中包含所述多媒体内容时,获取 所述一个或多个点到点网络资源的资源相关信息;点播加速装置,用于根据所述资源相关 信息,对所述点播进行加速;根据本发明的第五方面,提供了一种在第一网络服务器中用于辅助用户终端下载 多媒体内容的第一辅助装置,其中,包括以下步骤第一获取装置,用于获取来自所述用户终端的指示信息;第一提供装置,用于根据所述指示信息,获取所述多媒体内容的第一内容标识信 息,并将所述第一内容标识信息提供给所述用户终端;根据本发明的第六方面,提供了一种在第二网络服务器中用于辅助用户终端加速 下载多媒体内容的第二辅助下载方法,多媒体服务器包含所述待下载的多媒体内容,该辅 助下载方法包括如下步骤第二获取装置,用于接收来自所述用户终端的与所述用户终端所请求的多媒体内 容相对应的第一内容标识信息;节点相关信息提供装置,用于根据所述第一内容标识信息,获取对应的分片的其 它对等用户终端节点的相关信息,并将所述其它对等用户终端节点的相关信息发送给所述 用户终端。通过使用根据本发明的方法或装置,具有如下优点能够根据该地址信息,从多个网络资源处同时获取该多媒体内容,极大地提高该 多媒体内容的下载速度。
通过参照附图阅读以下所作的对非限制性实施例的详细描述,能够更容易地理解 本发明的特征、目的和优点。其中,相同或相似的附图标记代表相同或相似的元件(装置)。图1示出了根据本发明的一个具体实施例的网络拓扑结构示意图;图2示出了根据本发明的一个具体实施例的系统方法流程图;图3示出了根据本发明的一个具体实施例的对R2SP方式对多媒体内容进行加速 点播的容错处理;图4示出了根据本发明的另一个具体实施例的以多媒体长度和多媒体的部分内 容作为指示信息以获取对应的第一内容标识信息的具体实现方式;图5示出了根据本发明的一个具体实施例的装置框图;图6示出了根据本发明的一个具体实施例的对R2SP方式对多媒体内容进行加速 点播的容错处理的装置框图。
8
具体实施例方式图1示出了根据本发明的一个具体实施例的网络拓扑结构示意图。其中,该网络 中包括用户终端1 ;多媒体服务器2,该多媒体服务器2用于存储多媒体内容并根据不同用 户的请求,为各个用户提供相应的多媒体内容;第一网络服务器3,该第一网络服务器3包 括索引服务器(Index Server);第二网络服务器4,该第二网络服务器4包括目录服务器 (Tracker Server),以及一个或多个对等节点5 (peer)。图2示出了根据本发明的一个实施例的方法流程图。以下,参照图2,并结合图1, 对本发明的方法流程图进行描述。在步骤S10中,用户终端1获取该所请求点播的多媒体内容在多媒体服务器2上 的地址信息。具体地,当用户希望点播一个多媒体内容时,其通过用户终端1中的浏览器,向多 媒体服务器2发出点播请求消息,该点播请求消息中包含所请求的多媒体内容在多媒体 服务器2上的地址信息,例如,该多媒体内容的统一资源定位器(URL,Uniform Resource Locator)。用户终端1通过底层技术,获取到该多媒体内容在所请求的多媒体内容服务器上 的URL。例如,用户终端1通过底层钩挂技术(hook)获取多媒体内容在所请求的多媒体内 容服务器上的URL。钩挂技术是Windows消息处理机制的一个平台,应用程序可以在上面设 置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息 到达后,在目标窗口处理函数之前处理它。钩挂机制允许应用程序截获处理window消息或 特定事件。钩挂实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定 的消息发出,在没有到达目的窗口前,钩挂程序就先捕获该消息,亦即钩挂函数先得到控制 权。这时钩挂函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还 可以强制结束消息的传递。此外,用户终端1还可以通过自动代理脚本,截获所请求的多媒 体内容的URL。当然用户终端1通过例如钩挂技术等获取所请求的多媒体内容的URL的操 作对于用户来说是全透明的,也即,用户不会觉察出用户终端1的获取所请求的多媒体内 容的地址的操作。在用户终端1获取了所请求的多媒体内容的URL后,例如,该多媒体内容的URL为 http://www. abc. com/a/1. flv后,该方法进入步骤S11,用户终端1分别向多媒体服务器2 和第一网络服务器3发送请求消息。其中,用户终端1向多媒体服务器2发送的请求消息 用于请求多媒体服务器2发送多媒体请求内容,用户终端1向第一网络服务器3发送的请 求消息中包括该多媒体内容的URL,也即,http://VWW. abc. com/a/1. flv。当然,用户终端1 可以同时或者不同时分别向多媒体服务器2和第一网络服务器3发送请求消息,该两个请 求消息的发送时间并没有明显的先后顺序。当多媒体服务器2接收到来自用户终端1的请求消息后,其可以根据该请求消息, 也即,在线点播请求消息,向用户终端1提供相应的多媒体内容,此为现有技术,因此,在此 不予赘述。然后,在步骤S12中,当第一网络服务器3接收到来自用户终端1的包括多媒体内 容的地址信息,例如,URL的消息后,第一网络服务器3根据该URL信息,获取与该URL相对 应的第一内容标识信息。
9
第一内容标识信息例如,可以包括MD5校验码(Message-digest Algorithm 5,信 息-摘要算法)。一般地,文件内容不同,所对应的MD5不同,因此,MD5可以用于唯一标识 内容。以下,为了便于说明,用MD5表示第一内容标识信息。但是,本领域技术人员应能理 解,第一内容标识信息不限于MD5,也可以通过SHA-1、RIPEMD以及Haval等算法生成用于 唯一标识多媒体内容的第一内容标识信息。在第一网络服务器3包括索引服务器,其中本地例如通过数据库的方式维护了多 个URL与多个多媒体内容的第一内容标识信息的映射表。URL包括多个多媒体内容在多媒 体内容服务器2上的地址。多媒体内容服务器2包括多个不同的内容提供商的服务器,例 如,可以是土豆网的服务器、酷6的服务器,优库的服务器等。该映射表是通过各个终端汇 报建立的。具体的汇报过程,将在下文中进行详细的描述。如果第一网络服务器3通过查找URL与第一内容标识信息的映射表,找到了与URL 对应的MD5,则该方法进入步骤S13。在步骤S13中,第一网络服务器3将在步骤S12中获取的与所请求的多媒体内容 的URL相对应的MD5发送给用户终端1。然后,在步骤S14中,用户终端1将该获取的MD5提供给第二网络服务器4。可以 理解,第二网络服务器4包括传统的P2P的Tracker Server,其中保存了 MD5与节点(peer) 的资源相关信息的对应关系。第二网络服务器4通过查找该对应关系,找到与由用户终端 1发送的MD5相对应的节点的资源相关信息,例如,节点的地址等。然后,该方法进入步骤S15,第二网络服务器4将与该MD5所对应的一个或多个节 点的资源相关信息返回给用户终端1。然后,在步骤S16中,用户终端1根据在步骤S15中获取的具体的对应的节点的资 源相关信息,向相应的节点发起下载请求。然后,在步骤S17中,用户终端1根据多媒体服务器2的地址,并基于HTTP协议对 多媒体内容进行在线点播,同时用户终端从相应的节点处根据点对点(P2P)协议对该多媒 体内容的点播进行加速。如果第一网络服务器3通过查找URL与第一内容标识信息的映射表,未找到与URL 对应的MD5,则该方法进入步骤S18,用户终端1仅仅根据其请求的多媒体服务器2的地址, 基于HTTP协议点播该多媒体内容。在一个变化的实施例中,当用户终端1在步骤S18中完成了从多媒体服务器2的 下载完整的多媒体内容后,该方法还包括步骤S19 (图中未示出),用户终端1根据已经缓存 在本地的完整的多媒体内容(图中未示出),本地生成对应于该多媒体内容的第二内容标 识信息,也即与该完整下载的多媒体内容相对应的MD5。具体地,用户终端1将整个多媒体 内容进行分块,为每个分块生成对应的MD5,在对所有计算出的该多媒体内容的MD5计算一 个总的MD5,该总的MD5即为与多媒体内容相对应的MD5。然后,用户终端1将该新生成的 MD5与该多媒体内容在多媒体服务器2上的URL的对应关系发送给第一网络服务器3,以便 于第一网络服务器3更新在第一网路服务器3上(例如,其数据库中)的更新第一网络服 务器3上URL与MD5的对应关系。此外,用户终端1还将生成的MD5与本节点的相关信息 报告给第二网络服务器,以便于第二网络服务器更新MD5与节点的对应关系。上述实施例是考虑到数据内容与URL之间的对应关系在一段时间内保持不变的情形。在实际应用中,多媒体内容服务器2可能对其保存的内容进行更新,例如在第一天 时,在htto://www. 123. A的地址中存放的多媒体t件为t件a,在第二天时,多媒体内容服 各器2将httD://WWW. 123. A的地址中存放的多媒体内容更新为文件b,在第二天时,一个用 户希望在线播放多媒体内容b,因此,用户终端1将与多媒体内容b对应的URL提供给第一 网络服务器3,也即,http://www. 123. A。但是,因为多媒体服务器2为第三方软件,因此, 第一网络服务器3无法快速地感知多媒体服务器2中的URL与多媒体内容的对应关系的更 新,也即,在第一网络服务器3上仍保存了第一天的http://www.123. A与多媒体内容a的 对应关系,因此,第一网络服务器3虽然根据该URL,也即httD://V驟.123. A可以找到对应 的MD5,但实质上并不是用户终端1希望下载的多媒体内容b所对应的MD5,而是已经过期 的多媒体内容a所对应的MD5。因此,如果用户终端1基于HTTP协议从多媒体服务器2下 载多媒体内容b的数据,而同时基于P2P协议从一个或多个对等终端5下载了多媒体内容 a的数据片段,这将导致数据内容的混乱,最终致使以及用户无法正常播放多媒体内容b。考虑到上述情形,本发明提供了 P2SP的容错方式。具体地,如图3所示,在步骤 S15中,用户终端1获取来自第一网络服务器3所提供的与URL相对应的MD5相对应的一个 或多个节点(也即对等终端5)相关信息。然后,该方法进入步骤S20,用户终端1分别从多 媒体服务器2和对等终端5获取各自的多媒体文件的contentjength和多媒体内容的部 分内容。该多媒体内容的部分内容可以是多媒体内容的前5k_前100k的内容。该多媒体 内容的前5k-前100k内容可以包括HTTP头、流媒体头以及一部分多媒体内容。可以理解, 因为不同的多媒体文件的HTTP头可能相同,因此,优选地,该多媒体内容的部分内容中不 包括HTTP头,仅包括流媒体头以及最靠近头部的一部分多媒体内容,这样的信息更准确, 更能区分不同的多媒体内容,使容错率更高。实际上,仅仅采用多媒体内容的部分内容作为 用于检索MD5的指示信息是不够的。因为可能会出现这样的情形例如,一个多媒体内容是 另一个多媒体内容的裁剪的片段,例如,将一段完整的多媒体文件分割成第一部分和第二 部分,则该第一部分的前5k至前100k的信息很有可能与该完整的多媒体内容的前5k至前 10k内容完全相同,因而,无法仅仅根据两段多媒体内容的前面部分数据内容对两者进行区 分。因此,为了对不同的多媒体内容进行指示,还需要内容长度信息。然后,在步骤S21中,用户终端1判断来自多媒体服务器1的数组[content length,前20k的数据内容]与来自对等终端5的[contentjength,前20k的数据内容]是 否相同。如果相同,则该方法进入步骤S 17,用户终端1根据多媒体服务器2的地址,并基 于HTTP协议对多媒体内容进行在线点播,同时用户终端从相应的节点处根据点对点(P2P) 协议对该多媒体内容的点播进行加速。如果用户终端1判断两者不相同,则该方法进入步骤S22,仅从该多媒体服务器2 中根据HTTP协议进行下载。在一个变化的实施例中,在用户终端1完成了从多媒体服务器2的下载多媒体内 容b,该方法还包括步骤S23,用户终端1根据已经缓存在本地的完整的多媒体内容b,本地 生成对应于该多媒体内容b的MD5。具体地,用户终端1将整个多媒体内容b进行分块,为 每个分块生成对应的MD5,在对所有计算出的该多媒体内容b的MD5计算一个总的MD5。然后在步骤S24中,用户终端1向第一网络服务器3发送一个报告信息,该报告信息中包括用于通知第一网络服务器3,在第一网络服务器3中保存的URL与MD5的对应关系 可能已经不准确的信息,优选地,在该报告信息中还可以包括用户终端1所生成的MD5与 URL的对应关系的指示信息。本领域技术人员应能理解,在多媒体服务器2中,也会根据多 媒体内容生成对应的MD5,且用户终端1用于生成MD5的规则应与多媒体服务器2中用于生 成MD5的规则相同。此外,在多媒体服务器2中的URL与多媒体内容的对应关系发生变化还有可能 是出于以下的目的为了防止盗链,多媒体服务器2,也即,视频网站的服务器可能会频繁 地变化存储多媒体数据内容所对应的URL,例如,存储该多媒体数据内容的目录地址定期 /不定期地进行更新,仍以上述的变化例为例进行说明,文件a在第一天在多媒体内容服 务器2中的地址为http://www.!23.A,内容提供商为了防止该多媒体内容被盗链,在第二 天中将文件a更换到http://www. 123. B所指向的目录中,其中,该http://www. 123. B的 地址中此前没有存储任何内容。在更新之后,http://www. 123. A的地址中没有存储仵何 多媒体内容。但是,因为第一网络服务器3无法快速感知内容服务器2中的多媒体内容与 URL的对应关系之间的变化,也即,内容提供商已经更新了多媒体内容与URL的对应关系, 但是第一网络服务器3不知道已经进行了上述更新,例如,在步骤S11中,用户终端1将 http://www. 123. B提供给第一网络服各器3,但是第一网络服务器3上仅保存了第一天中 的http://www. 123. A与文件a的对应关系,而http://www. 123. B的地址没有与其对应的 多媒体内容。也即,根据更新的URL地址,第一网络服务器3无法找到对应的多媒体内容, 但是,实际上,该多媒体内容仍然保存在多媒体内容服务器2上,只不过变化了保存的路 径。此时,该方法进入步骤S30,根据URL,用户终端1未获取对应的MD5,例如,用户终端1 收到了来自第一网络服务器3的未找到与URL相对应的MD5的反馈消息,或者,超过规定 的时间,用户终端1仍未收到来自第一网络服务器3的找到与URL相对应的MD5的反馈消 息。则该方法进入步骤S31,用户终端1将包括多媒体内容的部分内容和多媒体内容的长度 (content_length)的指示信息,发给第一网络服务器3进行检索。在第一网络服务器3上还可以保存多媒体内容的部分内容和多媒体内容的长度 (content_length)与MD5之间的对应关系。例如,根据多媒体内容的前20k内容与该段多 媒体内容的contentjength生成指示信息,在第一网络服务器3上预存了该指示信息与 MD5之间的对应关系。则在步骤S32中,第一网络服务器3根据在用户终端1在步骤S31中 发送的包含多媒体内容的前20k内容与该段多媒体内容的contentjength的指示信息进 行查找其中保存的指示信息与MD5之间的对应关系。若找到对应的MD5,则该方法进入步骤 S33。在步骤S33中,第一网络服务器3将在步骤S31中获取的与包含该多媒体的部分内容 和该段多媒体内容的contentjength的指示信息相对应的MD5发送给用户终端1。然后, 该方法进入步骤S14和S15,因为在上文中已经进行描述,因此,在此不予赘述。若在步骤S31中,第一网络服务器1未找到与包含该多媒体的部分内容和该段多 媒体内容的contentjength的指示信息相对应的MD5,则该方法进入步骤S18,用户终端1 仅仅根据其请求的多媒体服务器2的地址,基于HTTP协议点播该多媒体内容。在步骤S18后进入步骤S19,用户终端1根据已经缓存在本地的完整多媒体内容, 生成对应于该多媒体内容的第二内容标识信息。在上文中从系统方法的角度对本发明的各个实施例进行详细地描述,以下,将从装置的角度对本发明进行描述。参照图5,并结合图1和图2,对根据本发明的一个具体实施例的装置框图进行描 述。图5所示的控制装置10位于图1所示的用户终端1中。控制装置10包括地址信息获 取装置100,指示信息获取装置101,节点资源获取装置102,点播装置103和点播加速装置 104。其中,节点资源获取装置102还包括第一内容标识获取装置1020和第一内容标识提 供装置1021。其中,该第一指示信息提供装置102图5中所示的第一辅助装置20位于图1中所示的第一网络服务器3中。第一辅 助装置20包括第一获取装置200、第一提供装置201、报告获取装置202和更新装置203。图5中所示的第二辅助装置30位于图1中所示的第二网络服务器4中。第二辅 助装置30包括第二获取装置300和节点相关信息提供装置301。首先,地址信息获取装置100获取该所请求点播的多媒体内容在多媒体服务器2 上的地址信息。具体地,当用户希望点播一个多媒体内容时,其通过用户终端1中的浏览器,向多 媒体服务器2发出点播请求消息,该点播请求消息中包含所请求的多媒体内容在多媒体 服务器2上的地址信息,例如,该多媒体内容的统一资源定位器(URL,Uniform Resource Locator)。地址信息获取装置100通过底层技术,获取到该多媒体内容在所请求的多媒体内 容服务器上的URL。例如,地址信息获取装置100通过底层钩挂技术(hook)获取多媒体内 容在所请求的多媒体内容服务器上的URL。钩挂技术是Windows消息处理机制的一个平台, 应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他 进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩挂机制允许应用程序 截获处理window消息或特定事件。钩挂实际上是一个处理消息的程序段,通过系统调用, 把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩挂程序就先捕获该消息, 亦即钩挂函数先得到控制权。这时钩挂函数即可以加工处理(改变)该消息,也可以不作 处理而继续传递该消息,还可以强制结束消息的传递。此外,地址信息获取装置100还可以 通过自动代理脚本,截获所请求的多媒体内容的URL。当然地址信息获取装置100通过例如 钩挂技术等获取所请求的多媒体内容的URL的操作对于用户来说是全透明的,也即,用户 不会觉察出地址信息获取装置100的获取所请求的多媒体内容的地址的操作。在地址信息获取装置100获取了所请求的多媒体内容的URL后,指示信息获取装 置101根据获取装置100获取的信息,得到指示信息,例如,该指示信息包括该多媒体内容 的URL为http://www. abc. com/a/1. flv之后,指示信息提供装置10201分别向多媒体服务 器2和第一网络服务器3发送请求消息。其中,指示信息提供装置10201向多媒体服务器 2发送的请求消息用于请求多媒体服务器2发送多媒体请求内容,指示信息提供装置10201 向第一辅助装置20发送的请求消息中包括该多媒体内容的URL,也即,http://www. abc. com/a/1. flv。当然,指示信息提供装置10201可以同时或者不同时分别向多媒体服务器2 和第一网络服务器3发送请求消息,该两个请求消息的发送时间并没有明显的先后顺序。当多媒体服务器2接收到来自指示信息提供装置10201的请求消息后,多媒体服 务器2可以根据该请求消息,也即,在线点播请求消息,向用户终端1提供相应的多媒体内 容,此为现有技术,因此,在此不予赘述。
然后,当第一获取装置200接收到来自指示信息获取装置101的包括多媒体内容 的地址信息,例如,URL的消息后,第一提供装置201根据该URL信息,获取与该URL相对应 的第一内容标识信息。第一内容标识信息例如,可以包括MD5校验码(Message-digest Algorithm 5,信 息-摘要算法)。一般地,文件内容不同,所对应的MD5不同,因此,MD5可以用于唯一标识 内容。以下,为了便于说明,用MD5表示第一内容标识信息。但是,本领域技术人员应能理 解,第一内容标识信息不限于MD5,也可以通过SHA-1、RIPEMD以及Haval等算法生成用于 唯一标识多媒体内容的第一内容标识信息。在第一网络服务器3包括索引服务器,其中本地例如通过数据库的方式维护了多 个URL与多个多媒体内容的第一内容标识信息的映射表。URL包括多个多媒体内容在多媒 体内容服务器2上的地址。多媒体内容服务器2包括多个不同的内容提供商的服务器,例 如,可以是土豆网的服务器、酷6的服务器,优库的服务器等。该映射表是通过各个终端汇 报建立的。具体的汇报过程,将在下文中进行详细的描述。如果第一网络服务器3通过查找URL与第一内容标识信息的映射表,找到了与URL 对应的MD5,则第一提供装置201将获取的与所请求的多媒体内容的URL相对应的MD5发送 给控制装置10中的第一内容标识获取装置1020。然后,第一内容标识提供装置1021将该获取的MD5提供给第二网络服务器4的 第二辅助装置30中的第二获取装置300。可以理解,第二网络服务器4包括传统的P2P的 Tracker Server,其中保存了 MD5与节点(peer)的资源相关信息的对应关系。节点相关信 息提供装置301通过查找该对应关系,找到与由用户终端1发送的MD5相对应的节点的资 源相关信息,例如,节点的地址等,并且将与该MD5所对应的一个或多个节点的资源相关信 息返回给用户终端1的控制装置10。然后,控制装置10的节点资源获取装置102根据所获取的具体的对应的节点的资 源相关信息,向相应的节点发起下载请求。然后,点播装置(图5中未示出)根据多媒体服务器2的地址,并基于HTTP协议 对多媒体内容进行在线点播,同时点播加速装置(图5中未示出)从相应的节点处根据点 对点(P2P)协议对该多媒体内容的点播进行加速。本领域技术人员可以理解,点播装置和 点播加速装置可以由同一个硬件装置完成。如果第一网络服务器3的第一提供装置201通过查找URL与第一内容标识信息的 映射表,未找到与URL对应的MD5,则点播装置仅仅根据其请求的多媒体服务器2的地址,基 于HTTP协议点播该多媒体内容。在一个变化的实施例中,当点播装置完成了从多媒体服务器2的下载完整的多媒 体内容后,第二内容标识生成装置(图中未示出)根据已经缓存在本地的完整的多媒体内 容,本地生成对应于该多媒体内容的第二内容标识信息,也即与该完整下载的多媒体内容 相对应的MD5。具体地,第二内容标识生成装置将整个多媒体内容进行分块,为每个分块生 成对应的MD5,再对所有计算出的该多媒体内容的MD5计算一个总的MD5,该总的MD5即为 与多媒体内容相对应的MD5。然后,第一报告装置将该新生成的MD5与该多媒体内容在多媒 体服务器2上的URL的对应关系发送给第一网络服务器3的报告获取装置202,以便于第一 网络服务器3的更新装置203在第一网路服务器3上(例如,其数据库中)的更新第一网络服务器3上URL与MD5的对应关系。此外,第一报告装置还将生成的MD5与本节点的相 关信息报告给第二网络服务器,以便于第二网络服务器更新MD5与节点的对应关系。上述实施例是考虑到数据内容与URL之间的对应关系在一段时间内保持不变的 情形。在实际应用中,多媒体内容服务器2可能对其保存的内容进行更新,例如在第一天 时,在htto://www. 123. A的地址中存放的多媒体t件为t件a,在第二天时,多媒体内容服 务器2将http://www. 123. A的地址中存放的多媒体内容更新为文件b,在第二天时,一个 用户希望在线播放多媒体内容b,因此,指示信息提供装置10201将与多媒体内容b对应的 URL提供给第一获取装置200,也即,httD://V驟.123. A。但是,因为多媒体服务器2为第三 方软件,因此,第一网络服务器3无法快速地感知多媒体服务器2中的URL与多媒体内容的 对应关系的更新,也即,在第一网络服各器3上仍保存了第一天的httD: //www. 123. A与多 媒体内容a的对应关系,因此,第一网络服务器3虽然根据该URL,也即http://www. 123. A 可以找到对应的MD5,但实质上并不是用户终端1希望下载的多媒体内容b所对应的MD5, 而是已经过期的多媒体内容a所对应的MD5。因此,如果用户终端1基于HTTP协议从多媒 体服务器2下载多媒体内容b的数据,而同时基于P2P协议从一个或多个对等终端5下载 了多媒体内容a的数据片段,这将导致数据内容的混乱,最终致使以及用户无法正常播放 多媒体内容b。考虑到上述情形,本发明提供了 P2SP的容错方式。具体地,如图6所示,节点资源 获取装置102获取来自第一网络服务器3所提供的与URL相对应的MD5相对应的一个或多 个节点(也即对等终端5)相关信息后,预获取装置103分别从多媒体服务器2和对等终端 5获取各自的多媒体文件的contentjength和多媒体内容的部分内容。该多媒体内容的部分内容可以是多媒体内容的前5k_前IOOk的内容。该多媒体 内容的前5k-前IOOk内容可以包括HTTP头、流媒体头以及一部分多媒体内容。可以理解, 因为不同的多媒体文件的HTTP头可能相同,因此,优选地,该多媒体内容的部分内容中不 包括HTTP头,仅包括流媒体头以及最靠近头部的一部分多媒体内容,这样的信息更准确, 更能区分不同的多媒体内容,使容错率更高。实际上,仅仅采用多媒体内容的部分内容作为 用于检索MD5的指示信息是不够的。因为可能会出现这样的情形例如,一个多媒体内容是 另一个多媒体内容的裁剪的片段,例如,将一段完整的多媒体文件分割成第一部分和第二 部分,则该第一部分的前5k至前IOOk的信息很有可能与该完整的多媒体内容的前5k至前 IOk内容完全相同,因而,无法仅仅根据两段多媒体内容的前面部分数据内容对两者进行区 分。因此,为了对不同的多媒体内容进行指示,还需要内容长度信息。然后,比较装置104判断来自多媒体服务器1的数组[contentjength,前20k的 数据内容]与来自对等终端5的[contentjength,前20k的数据内容]是否相同。如果相 同,则点播装置分别根据多媒体服务器2的地址,并基于HTTP协议对多媒体内容进行在线 点播,同时加速点播装置从相应的节点处根据点对点(P2P)协议对该多媒体内容的点播进 行加速。如果比较装置104判断两者不相同,则点播装置仅从该多媒体服务器2中根据 HTTP协议进行下载。在一个变化的实施例中,在用户终端1完成了从多媒体服务器2的下载多媒体内 容b,用户终端1根据已经缓存在本地的完整的多媒体内容b,本地生成对应于该多媒体内
15容b的MD5。具体地,用户终端1将整个多媒体内容b进行分块,为每个分块生成对应的 MD5,再对所有计算出的该多媒体内容b的MD5计算一个总的MD5。则第二报告装置向第一网络服务器3发送一个报告信息,该报告信息中包括用于 通知第一网络服务器3,在第一网络服务器3中保存的URL与MD5的对应关系可能已经不准 确的信息,优选地,在该报告信息中还可以包括用户终端1所生成的MD5与URL的对应关 系的指示信息。本领域技术人员应能理解,在多媒体服务器2中,也会根据多媒体内容生成 对应的MD5,且用户终端1用于生成MD5的规则应与多媒体服务器2中用于生成MD5的规则 相同。此外,在多媒体服务器2中的URL与多媒体内容的对应关系发生变化还有可能 是出于以下的目的为了防止盗链,多媒体服务器2,也即,视频网站的服务器可能会频繁 地变化存储多媒体数据内容所对应的URL,例如,存储该多媒体数据内容的目录地址定期 /不定期地进行更新,仍以上述的变化例为例进行说明,文件a在第一天在多媒体内容服 各器2中的地址为httD://WWW. 123. Α,内容提供商为了防丨h该多媒体内容被盜链,在第二 天中将文件a更换到http://www. 123. B所指向的目录中,其中,该http://www. 123. B的 地址中此前没有存储任何内容。在更新之后,http://www. 123. A的地址中没有存储仵何 多媒体内容。但是,因为第一网络服务器3无法快速感知内容服务器2中的多媒体内容与 URL的对应关系之间的变化,也即,内容提供商已经更新了多媒体内容与URL的对应关系, 但是第一网络服务器3不知道已经进行了上述更新,例如,在步骤Sll中,用户终端1将 http://www. 123. B提供给第一网络服务器3,但是第一网络服务器3上仅保存了第一天中 的http://www. 123. A与文件a的对应关系,而http://www. 123. B的地址没有与其对应的 多媒体内容。也即,根据更新的URL地址,第一网络服务器3无法找到对应的多媒体内容,但 是,实际上,该多媒体内容仍然保存在多媒体内容服务器2上,只不过变化了保存的路径。 因此,也即,第一判断装置判断出根据URL无法找到对应的MD5,则在这种情形下,指示信息 提供装置101将根据多媒体内容的部分内容和多媒体内容的长度(contentjength)作为 指示信息,发给第一网络服务器3进行检索。在第一网络服务器3上还可以保存多媒体内容的部分内容和多媒体内容的长度 (content_length)与MD5之间的对应关系。例如,根据多媒体内容的前20k内容与该段多 媒体内容的contentjength生成指示信息,在第一网络服务器3上预存了该指示信息与 MD5之间的对应关系。则第一网络服务器3根据指示信息提供装置101发送的包含多媒体 内容的前20k内容与该段多媒体内容的contentjength的指示信息进行查找其中保存的 指示信息与MD5之间的对应关系。若找到对应的MD5,则第一网络服务器3将获取的与包含 该多媒体的部分内容和该段多媒体内容的contentjength的指示信息相对应的MD5发送 给用户终端1,也即,用户终端1的第一内容标识信息获取了对应的MD5,也即,第二判断装 置的判断结果为获取了对应的MD5。然后,节点资源获取装置102、点播装置和点播加速装 置分别进行各自的操作,因在上文中已经进行了描述,在此不予赘述。若未找到与包含该多媒体的部分内容和该段多媒体内容的contentjength的指 示信息相对应的MD5,即第二判断装置的判断结果为否,则点播装置仅仅根据其请求的多媒 体服务器2的地址,基于HTTP协议点播该多媒体内容。然后,第二内容标识生成装置根据已经缓存在本地的完整多媒体内容,生成对应于该多媒体内容的第二内容标识信息。本领域技术人员可以理解,在各个装置的实施例中,在同一个模块中实现相同功 能的子装置可以由相同的硬件或软件模块完成,例如,第一判断装置和第二判断装置均可 以由一个CPU完成。以上对本发明的具体实施方式
进行了描述。需要说明的是,本发明并不局限于上 述特定实施方式,本领域技术人员可以在所附权利要求的范围内做出各种变型或修改,这 些变形或修改都处于所附权利要求的保护范围内。
权利要求
一种在用户终端中点播多媒体内容的方法,其中,所述用户终端获取所述多媒体内容在多媒体服务器上的地址信息,并根据该地址信息进行所述多媒体内容的点播,该方法还包括以下步骤a.根据所述地址信息,获取所述多媒体内容的指示信息;b.根据所述指示信息,当一个或多个点到点网络资源中包含所述多媒体内容时,获取所述一个或多个点到点网络资源的资源相关信息;c.根据所述资源相关信息,对所述点播进行加速。
2.根据权利要求1所述的方法,其特征在于,所述指示信息包括以下任一项或全部 -所述地址信息;-所述点播的多媒体内容的长度与至少部分内容; 所述步骤b还包括bl.根据所述指示信息,获取与所述指示信息相对应的第一内容标识信息; b2.根据所述第一内容标识信息,获取包含所述第一内容标识信息所对应的内容的分 片的点到点网络资源的节点相关信息; 其中,所述步骤c还包括根据所述节点相关信息,基于点到点技术与所述点到点网络资源,对所述点播进行加速。
3.根据权利要求2所述的方法,其特征在于,所述步骤bl还包括 bll.将所述指示信息提供给第一网络服务器;bl2.获取来自所述第一网络服务器的与所述指示信息相对应的所述第一内容标识信肩、ο
4.根据权利要求2或3所述的方法,其特征在于,所述步骤b2还包括以下步骤 b21.将所述第一内容标识信息提供给第二网络服务器;b22.获取来自所述第二网络服务器的包含所述第一内容标识信息所对应的内容的分 片的点到点网络资源的所述节点相关信息。
5.根据权利要求1所述的方法,其特征在于,所述步骤b还包括以下步骤_根据所述地址信息,判断所述一个或多个点到点网络资源中是否包含所述多媒体内容;_当根据所述地址信息未找到所述一个或多个点到点网络资源时,根据点播的多媒体 内容的长度与至少部分内容,判断所述一个或多个点到点网络资源中是否包含所述多媒体 内容。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括以下步骤i.判断所述一个或多个点到点网络资源中是否包含所述多媒体内容;当所述一个或 多个点到点网络资源中不包含所述多媒体内容时-当完成所述点播后,生成与所述点播的多媒体内容相对应的第二内容标识信息; -将所述第二内容标识信息与所述指示信息报告给所述第一网络服务器,并将所述本 用户终端的节点相关信息报告给所述第二网络服务器。
7.根据权利要求6所述的方法,其特征在于,当所述步骤i的判断结果为所述一个或多 个点到点网络资源中包含所述多媒体内容时,所述步骤i之后还包括以下步骤ii.判断所述一个或多个点到点网络资源包含的所述多媒体内容是否与所述请求的多 媒体内容对应;若不对应,则仅从所述多媒体服务器处点播所述多媒体内容。
8.根据权利要求7所述的方法,所述步骤ii进一步包括iil.分别从所述一个或多个点到点网络资源以及所述多媒体服务器处预点播部分多 媒体内容并分别获取所述多媒体内容的文件长度; 2.根据从所述一个或多个点到点网络资源处以及所述多媒体服务器处分别获取的 所述多媒体内容的文件长度及至少部分文件内容,判断所述两个多媒体内容是否相同;若 不相同,则仅从所述多媒体服务器处点播所述多媒体内容。
9.根据权利要求8所述的方法,其特征在于,所述步骤ii2之后还包括-若不相同,当完成所述点播后,生成与所述点播的多媒体内容相对应的第二内容标识 信息,并向所述第一网络服务器反馈所述指示信息为与所述第二内容标识信息相对应。
10.一种在第一网络服务器中用于辅助用户终端下载多媒体内容的方法,其中,包括以 下步骤m.获取来自所述用户终端的指示信息;η.根据所述指示信息,获取所述多媒体内容的第一内容标识信息;ο.将所述第一内容标识信息提供给所述用户终端。
11.根据权利要求10所述的方法,其特征在于,所述本第一网络服务器中存储了一个 或多个多媒体内容的指示信息与多媒体的第一内容标识信息的对应关系,所述步骤η还包 括_根据所述地址信息和所述一个或多个多媒体内容的指示信息与多媒体的第一内容标 识信息的对应关系,获取所述多媒体内容的第一内容标识信息。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括以下步骤-获取来自所述用户终端报告的第二内容标识信息和/或来自所述用户终端报告的所 述指示信息与所述第一内容标识信息的对应关系发生变化的状态更新信息;-根据所述第二内容标识信息和/或所述状态更新信息,创建或更新所述一个或多个 多媒体内容的指示信息与所述第一内容标识信息的对应关系。
13.根据权利要求10至12中任一项所述的方法,其特征在于,所述指示信息包括以下 各项中的任一项或任多项-所述点播的多媒体内容在所请求的多媒体服务器上的地址信息;_所述点播的多媒体内容的长度与至少部分内容。
14.一种在第二网络服务器中用于辅助用户终端加速下载多媒体内容的辅助下载方 法,多媒体服务器包含所述待下载的多媒体内容,该辅助下载方法包括如下步骤I.接收来自所述用户终端的与所述用户终端所请求的多媒体内容相对应的第一内容 标识信息;II.根据所述第一内容标识信息,获取对应的分片的其它对等用户终端节点的相关信息;III.将所述其它对等用户终端节点的相关信息发送给所述用户终端。
15.一种在用户终端中点播多媒体内容的控制装置,其中,包括,地址信息获取装置,用 于获取所述多媒体内容在多媒体服务器上的地址信息,点播装置,用于根据该地址信息进行所述多媒体内容的点播,该控制装置还包括指示信息获取装置,用于根据所述地址信息,获取所述多媒体内容的指示信息; 节点资源获取装置,用于根据所述指示信息,当一个或多个点到点网络资源中包含所 述多媒体内容时,获取所述一个或多个点到点网络资源的资源相关信息; 点播加速装置,用于根据所述资源相关信息,对所述点播进行加速。
16.根据权利要求15所述的控制装置,其特征在于,所述指示信息包括以下任一项或 全部-所述地址信息;-所述点播的多媒体内容的长度与至少部分内容; 所述节点资源获取装置还包括第一内容标识获取装置,用于根据所述指示信息,获取与所述指示信息相对应的第一 内容标识信息;所述节点资源获取装置还用于,根据所述第一内容标识信息,获取包含所述第一内容 标识信息所对应的内容的分片的点到点网络资源的节点相关信息;其中,所述点播加速装置还用于,根据所述节点相关信息,基于点到点技术与所述点到 点网络资源,对所述点播进行加速。
17.根据权利要求16所述的控制装置,其特征在于,所述第一内容标识获取装置还包括指示信息提供装置,用于将所述指示信息提供给第一网络服务器; 所述第一内容标识获取装置还用于,获取来自所述第一网络服务器的与所述指示信息 相对应的所述第一内容标识信息。
18.根据权利要求16或17所述的控制装置,其特征在于,所述节点资源获取装置还包括第一内容标识提供装置,用于将所述第一内容标识信息提供给第二网络服务器; 节点资源获取装置还用于,获取来自所述第二网络服务器的包含所述第一内容标识信 息所对应的内容的分片的点到点网络资源的所述节点相关信息。
19.根据权利要求15所述的控制装置,其特征在于,还包括第一判断装置,用于根据所述地址信息,判断所述一个或多个点到点网络资源中是否 包含所述多媒体内容;第二判断装置,用于当根据所述地址信息未找到所述一个或多个点到点网络资源时, 根据点播的多媒体内容的长度与至少部分内容,判断所述一个或多个点到点网络资源中是 否包含所述多媒体内容。
20.根据权利要求17所述的控制装置,其特征在于,当根据所述地址信息,未能找到包含所述多媒体内容的所述一个或多个点到点网络资 源时,所述控制装置还包括第二内容标识生成装置,用于当完成所述点播后,生成与所述点播的多媒体内容相对 应的第二内容标识信息;第一报告装置,用于将所述第二内容标识信息与所述指示信息报告给所述第一网络服 务器,并将所述本用户终端的节点相关信息报告给所述第二网络服务器。
21.根据权利要求20所述的控制装置,其特征在于,当根据所述地址信息,找到包含所 述多媒体内容的所述一个或多个点到点网络资源时,所述控制装置还包括处理装置,用于判断所述一个或多个点到点网络资源包含的所述多媒体内容是否与所 述请求的多媒体内容对应;若不对应,则仅从所述多媒体服务器处点播所述多媒体内容。
22.根据权利要求21所述的控制装置,所述处理装置还包括预获取装置,用于分别从所述一个或多个点到点网络资源以及所述多媒体服务器处预 点播部分多媒体内容并分别获取所述多媒体内容的文件长度;比较装置,根据从所述一个或多个点到点网络资源处以及所述多媒体服务器处分别 获取的所述多媒体内容的文件长度及至少部分文件内容,判断所述两个多媒体内容是否相 同;若不相同,则仅从所述多媒体服务器处点播所述多媒体内容。
23.根据权利要求22所述的控制装置,其特征在于,还包括第二报告装置,用于若不相同,当完成所述点播后,生成与所述点播的多媒体内容相对 应的第二内容标识信息,并向所述第一网络服务器反馈所述指示信息为与所述第二内容标 识信息相对应。
24.一种在第一网络服务器中用于辅助用户终端下载多媒体内容的第一辅助装置,其 中,包括以下步骤第一获取装置,用于获取来自所述用户终端的指示信息;第一提供装置,用于根据所述指示信息,获取所述多媒体内容的第一内容标识信息,并 将所述第一内容标识信息提供给所述用户终端。
25.根据权利要求24所述的第一辅助装置,其特征在于,所述第一网络服务器中存储 了一个或多个多媒体内容的指示信息与多媒体的第一内容标识信息的对应关系,所述第一 提供装置还用于,根据所述地址信息和所述一个或多个多媒体内容的指示信息与多媒体的 第一内容标识信息的对应关系,获取所述多媒体内容的第一内容标识信息。
26.根据权利要求25所述的第一辅助装置,其特征在于,还包括报告获取装置,用于获取来自所述用户终端报告的第二内容标识信息和/或来自所述 用户终端报告的所述指示信息与所述第一内容标识信息的对应关系发生变化的状态更新 fn息;更新装置,用于根据所述第二内容标识信息和/或所述状态更新信息,创建或更新所 述一个或多个多媒体内容的指示信息与所述第一内容标识信息的对应关系。
27.根据权利要求24至25中任一项所述的第一辅助装置,其特征在于,所述指示信息 包括以下各项中的任一项或任多项-所述点播的多媒体内容在所请求的多媒体服务器上的地址信息;_所述点播的多媒体内容的长度与至少部分内容。
28.一种在第二网络服务器中用于辅助用户终端加速下载多媒体内容的第二辅助装 置,多媒体服务器包含所述待下载的多媒体内容,该辅助装置包括第二获取装置,用于接收来自所述用户终端的与所述用户终端所请求的多媒体内容相 对应的第一内容标识信息;节点相关信息提供装置,用于根据所述第一内容标识信息,获取对应的分片的其它对 等用户终端节点的相关信息,并将所述其它对等用户终端节点的相关信息发送给所述用户终端。
29.一种用户终端,包括根据权利要求14至23中任一项所述的用于点播多媒体内容的 控制装置。
30.一种第一网络服务器,包括根据权利要求24至27中任一项所述的用于辅助用户终 端下载多媒体内容的第一辅助装置。
31.一种第二网络服务器,包括根据权利要求28所述的用于辅助用户终端加速下载多 媒体内容的第二辅助装置。全文摘要
本发明提出在互联网中用于加速点播多媒体内容的方法与装置。其中,用户终端获取所请求的多媒体内容在多媒体服务器上的地址并根据该地址信息获取相应的指示信息,根据指示信息获取多个包含与该待下载的多媒体内容相同的内容的网络节点的相关信息,而后根据该多个网络节点的相关信息,基于P2P协议,加速多媒体内容的下载,以作为从多媒体服务器基于HTTP下载的补充。根据本发明的方法和装置,能够提高下载的速度,从而提高在线播放多媒体内容的流畅度,改善用户体验。
文档编号H04N7/173GK101883079SQ20091005098
公开日2010年11月10日 申请日期2009年5月8日 优先权日2009年5月8日
发明者朱巍, 汪奕菲, 王闻宇 申请人:上海聚力传媒技术有限公司