一种可扩展的p2p流媒体系统的制作方法

文档序号:7962979阅读:171来源:国知局
专利名称:一种可扩展的p2p流媒体系统的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种可扩展的P2P流媒体系统。
背景技术
流媒体服务是在IP网络上的一种基于流式传输技术的大数据量网络服务, 提供该服务的流媒体服务器需要很大的网络带宽。请参阅图1,该图为传统流 媒体系统的架构示意图,传统的流媒体系统基于C/S ( Client/Server)模式,由 流媒体服务器及若干个客户端组成,在该系统中,所有的客户端均需要从流媒 体服务器中获取其需要的流媒体资源,因此传统的流媒体系统对流媒体服务器 的带宽要求很高,并且其支撑的用户数量也很有限, 一般只有几千个用户。
目前在现有技术中得到广泛应用的流媒体系统是一种基于P2P技术的流 媒体系统,请参阅图2,该图为现有技术中P2P流媒体系统的架构示意图,其 主要包括源服务器,查询服务器、登录服务器,超级节点和客户端,各组成部 分的主要作用如下
源服务器,用于将原始流媒体资源分发给各超级节点,并将该原始流媒体 资源的特征信息发送给查询服务器;
查询服务器,用于将系统所能提供的流媒体资源的特征信息提供给登录客 户端,对系统中各客户端当前下载流媒体资源的状态信息进行收集管理,在接 收到客户端发出的种子查询请求时,将能提供相应资源的客户端及超级节点的 地址信息发送给请求发起客户端;
登录服务器,用于处理客户端的登录请求,对发出登录请求的客户端进行 验证,将其重定向到对应的查询服务器上;
超级节点,用于从源服务器中获取原始流媒体资源,并根据客户端的请求
向其提供相应的流4某体资源;
客户端,用于向查询服务器发送种子查询请求,根据接收到的地址信息与 相应的超级节点及客户端建立连接,进行资源交互。
上述P2P流々某体系统实现了资源查询与资源交互的分离,由于源服务器将 原始流媒体资源分发给系统中的超级节点,因此系统中的各客户端最初通过与 超级节点的交互获取到流媒体资源,然后获取到流々某体资源的客户端就可以作 为资源提供方向系统中的其他客户端提供该流媒体资源,这一过程实现了流媒 体资源在整个系统中的不断传播,最终使得系统中的任一客户端都可以从相邻 的其它客户端那里获取所需要的流媒体资源,而不需要直接从源服务器中获取 流媒体资源,从而大大降低了源服务器的带宽消耗。
在同等带宽资源的条件下,上述P2P流媒体系统中的源服务器和上述传统 流媒体系统中的流媒体服务器相比,可以支撑更多的用户,因此一般而言,上 述P2P流媒体系统一般可以支撑十几万人甚至几十万个用户。然而当用户数量 超过P2P流媒体系统的最大支撑数量时,就需要对上述P2P流媒体系统中的服 务器进行扩展,而上述P2P流媒体系统的可扩展性很差,若要对该系统进行扩 展,就必须对整个系统的架构进行重新建构。
另外在上述P2P流媒体系统中,查询服务器是最为繁忙及关键的部分,若 若其发生故障,那么整个系统都会瘫痪,因此上述P2P流媒体系统的可靠性较 低。
鉴于上述P2P流々某体系统存在的种种缺陷,可知其并不适合大容量网络环 境的应用。

发明内容
本发明提供一种可扩展的P2P流媒体系统,用以解决现有技术中P2P流媒 体系统的可扩展性较差的问题。 本发明技术方案包括
一种可扩展的P2P流媒体系统,包括源服务器、代理服务器和查询服务器, 其中,
源服务器,用于将自身存储的原始流媒体资源分发给对应的超级节点,并
将自身存储的流^某体资源的特征信息发送给对应的代理服务器;
代理服务器,用于收集与自身对应的各源服务器中存储的流媒体资源的特
征信息,并将该信息同步到所有的查询服务器上;
查询服务器,用于管理当前登录自身的各客户端的状态信息,将系统当前
所能提供的流媒体资源的特征信息显示给客户端,在收到客户端的种子查询请
求时,将能提供相应资源的客户端及超级节点的地址信息发送给请求发起客户
较佳地,系统中新增源服务器时,该新增源服务器将自身存储的原始流媒 体资源分发给预先配置的相应的超级节点,并将自身存储的流媒体资源的特征 信息发送给预先配置的对应的代理服务器。
较佳地,所述源服务器在自身存储的流媒体资源被删除或自身存储的流媒 体资源的特征信息发生变化时,对自身对应的代理服务器中存储的流媒体资源 的特征信息进行相应更新。
较佳地,所述代理服务器在自身存储的流媒体资源的特征信息发生变化 时,将自身存储的流媒体资源的特征信息同步到所有的查询服务器上。
较佳地,当系统中新增代理服务器时,需要重新配置源服务器与代理服务 器的对应关系,源服务器根据该重新配置的对应关系与相应的代理服务器建立 连接,将自身存储的流媒体资源的特征信息发送给对应的代理服务器,对代理
服务器中存储的流^f某体资源的特征信息进行更新;
代理服务器将更新后的流媒体资源的特征信息同步到所有的查询服务器。 较佳地,系统中新增查询服务器时,系统中所有的代理服务器分别与该新
增的查询服务器建立连接,系统中所有的代理服务器分别将自身存储的流媒体
资源的特征信息发送给该新增的查询服务器。
较佳地,所述系统还包括管理服务器和登录服务器,其中, 管理服务器,用于管理系统中所有的查询服务器,根据系统中所有查询服 务器的状态信息为登录服务器制定重定向策略,将其发送给所有的登录服务
器;
登录服务器,用于处理客户端的登录请求,并根据管理服务器制定的重定 向策略将客户端重定向到相应的查询服务器。
较佳地,系统中新增查询服务器时,该查询服务器自动将自身的状态信息 报告给管理服务器。
较佳地,所述管理服务器定时获取系统中所有查询服务器的状态信息,以 此制定重定向策略,并且在重定向策略发生变化时,对所有登录服务器中存储 的重定向策略进行更新。
较佳地,所述查询服务器的状态信息中包括查询服务器当前的工作状况指 示信息、当前最大支撑用户数信息及当前在线用户数信息。
较佳地,所述系统还包括
域名服务器,用于将系统中所有的登录服务器绑定到同一域名上,在接收 到客户端的登录请求时,随机为客户端确定对应的登录服务器,将所述确定的 登录服务器的地址信息返回给客户端。
较佳地,当系统中新增登录服务器时,新增的登录服务器与系统中所有的 查询服务器及管理服务器建立连接,并在域名服务器中添加该新增登录服务器 的地址信息。
较佳地,所述系统还包括
备用管理服务器,与所述管理服务器共用相同的地址,对管理服务器中存 储的查询客户端的状态信息进行M,在管理服务器发生故障时,根据系统中 所有查询服务器的状态信息为登录服务器制定重定向策略,将其发送给所有的 登录服务器。
本发明有益效果如下
本发明提供了 一种可扩展的P2P流媒体系统,包括源服务器、代理服务器、 查询服务器,系统中的代理服务器用于收集与自身对应的各源服务器中存储的 流媒体资源的特征信息,并将该信息同步到所有的查询服务器上,从而使得系 统中所有的查询服务器中存储的流媒体资源的特征信息相同,这样客户端登录 到系统中任意 一 台查询服务器上均可获得相同质量的流媒体服务。
本发明所述系统进一步包括用于监控及管理系统中所有的查询服务器的 管理服务器,管理服务器定时获取系统中所有查询服务器的状态信息,根据系 统中所有查询服务器的状态信息为登录服务器制定重定向策略,在某个查询服 务器发生故障时,可自动避开该查询服务器,将客户端重定向到其他正常工作 的查询服务器,保证了系统的稳定性及可靠性。
本发明所述系统实现了在用户数不断增长或者系统提供的流媒体资源量 不断增长,系统的支撑能力不足的情况下,仅需要在系统中增加相应的服务器, 而无需改写服务器代码以及变更系统架构即可对系统的支撑能力进行扩容。


图1为传统流士某体系统的架构示意图2为现有技术中P2P流媒体系统的架构示意图3为本发明可扩展的P2P流媒体系统的架构示意图。
具体实施例方式
为解决上述现有P2P流媒体系统中存在的缺陷,本发明提供了一种可扩展 的P2P流媒体系统,该系统实现了在用户数不断增长或者系统提供的流媒体资 源量不断增长,系统的支撑能力不足的情况下,仅需要在系统中增加相应的服 务器,而无需改写服务器代码以及变更系统架构即可对系统的支撑能力进行扩
容o
下面将结合各个附图对本发明技术方案的主要实现原理具体实施方式
及其对应能够达到的有益效果进4亍详细的阐迷。
请参阅图3,该图为、本发明可扩展的P2P流媒体系统的架构示意图,其主 要包括源服务器、代理服务器、查询服务器、登录服务器、超级节点及客户端, 其中各个组成部分的主要功能如下
源服务器,与对应的超级节点及对应的代理服务器分别连接,用于将自身 存储的原始流媒体资源分发给自身对应的超级节点,并将自身存储的流媒体资 源的特征信息发送给对应的代理服务器,并在自身存储的流々某体资源被删除或 自身存储的流媒体资源的特征信息发生变化时,对自身对应的代理服务器中存 储的流^f某体资源的特征信息进行相应更新。
代理服务器,与对应的源服务器及系统中所有的查询服务器分别连接,用 于接收与自身对应的各源服务器中存储的流媒体资源的特征信息,并在自身存 储的流媒体资源的特征信息发生变化时,将该信息同步到所有的查询服务器 上,使得系统中所有的查询服务器中存储的流媒体资源的特征信息相同
查询服务器,与系统中所有的代理服务器分别连接,用于管理当前登录自 身的各客户端的状态信息,将系统当前所能提供的流媒体资源的特征信息显示 给客户端,在收到客户端的种子查询请求时,将能提供相应资源的客户端及超 级节点的地址信息发送给请求发起客户端;
系统中所有的查询服务器中存储的流媒体资源的特征信息相同,因此系统 中所有的查询服务器对外提供的流媒体服务是完全一致的,这样客户端登录到 系统中任意一 台查询服务器上均可获得相同质量的流々某体服务。
登录服务器,与系统中所有的查询服务器分别连接,用于处理客户端的登 录请求,对发出登录请求的客户端进行验证,将其重定向到对应的查询服务器 上。
超级节点,连接相应的源服务器,用于从源服务器中获取原始流媒体资源, 并根据客户端的请求向其提供相应的流媒体资源。
客户端,用于通过登录服务器向查询服务器发送种子查询请求,根据接收
到的地址信息与相应的超级节点及客户端建立连接,进行资源交互。
较佳地,为了避免大量客户端集中登录某台登录服务器,导致网络拥塞的
情况的出现,本发明可扩展的P2P流4某体系统进一步包括
域名服务器,用于将系统中所有的登录服务器绑定到同一域名上,在接收
到客户端的登录请求时,随机为客户端确定对应的登录服务器,将所述确定的
登录服务器的地址信息返回给客户端,从而避免了大量客户端集中登录某台登
录服务器,导致其过度拥塞的情况的出现。
较佳地,由于查询服务器是整个系统中最繁忙及最关键的部分,因此为了
维护系统的整体稳定性及可靠性,本发明可扩展的P2P流々某体系统进一步包

管理服务器,与系统中所有的查询服务器分别连接,用于监控及管理系统 中所有的查询服务器,定时获取系统中所有查询服务器的状态信息,根据系统 中所有查询服务器的状态信息为登录服务器制定重定向策略,在重定向策略发 生变化时将其分别发送给所有的登录服务器。
所述管理服务器获取的查询服务器的状态信息包括查询服务器当前的工 作状况指示信息、当前最大支撑用户数信息及当前在线用户数信息,其中查询 服务器的工作状况指示信息用于指示查询服务器当前是否工作正常。
当有某台查询服务器发生故障时,管理服务器会很快获知此故障,在状态 信息列表中将其工作状况指示信息设置为故障,管理服务器立即修改登录服务 器的重定向策略,使客户端登录时避开该故障的查询服务器,并将修改后的重 定向策略发送给系统中的所有登录客户端。登录在该故障的查询服务器上的客 户端会重新进行登录,登录服务器会根据最新的重定向策略将重登录的客户端 重定向到其它正常的查询服务器上。当发生故障的查询服务器恢复后,管理服 务器会在状态信息列表中将其工作状况指示信息变更为正常,然后修改登录服 务器的重定向策略,使登录服务器可将新登录的客户端重定向到该查询服务器 上,并将修改后的重定向策略发送给系统中的所有登录客户端。这一过程对于 客户端来i并是完全透明的,不会影响其正常的工作和登录。
本发明所述系统是一种可扩展的P2P流媒体系统,该系统实现了在用户数 不断增长或者系统提供的流+某体资源量不断增长,系统的支撑能力不足的情况
下,仅需要在系统中增加相应的服务器,使多台服务器組合起来共同对外提供 服务,即"平行扩展",而无需改写服务器代码以及变更系统架构即可对系统 的支撑能力进行扩容,下面详细说明对系统中各个组成部分进行平行扩展的具 体过程
1) 源服务器的平行扩展
每台源服务器负责发布一部分媒体流资源,当有更多媒体流资源需要发布 时,就需要在系统中增加相应的源服务器,系统中新增源服务器时,该新增源 服务器将自身存储的原始流媒体资源分发给预先配置的相应的超级节点,并将 自身存储的流媒体资源的特征信息发送给预先配置的对应的代理服务器,即可 保证系统中的客户端都可以查询到该新增J;某体流资源的特征信息。
2) 代理服务器的平行扩展
每台代理服务器负责管理有限数量的源服务器,当系统中某台代理服务器 管理的源服务器的数量超过其最大支撑能力时,需要在系统中新增代理服务 器,并重新配置源服务器与代理服务器的对应关系,源服务器根据该重新配置 的对应关系与相应的代理服务器建立连接,将自身存储的流媒体资源的特征信 息发送给重新配置的对应的代理服务器,对代理服务器中存储的流媒体资源的 特征信息进行更新,代理服务器将更新后的流媒体资源的特征信息同步到所有 的查询服务器。
3) 查询服务器的平行扩展
查询服务器负责客户端的状态维护和种子查询等功能,是整个系统中最为 繁忙和关键的部分,当在线用户总数量超过所有查询服务器的总支撑人数时, 就需要在系统中新增查询服务器以緩解系统压力。系统中新增查询服务器时, 系统中所有的代理服务器分别与该新增的查询服务器建立连接,所有的代理服
务器分别将自身存储的流媒体资源的特征信息发送给该新增的查询服务器,该 查询服务器自动将自身的状态信息报告给管理服务器。系统新增查询服务器 后,管理服务器会重新制定重定向策略控制将登录客户端重定向到新增的查询 服务器上,而不会给已经满负荷的查询服务器再增加任何新的负荷。
4) 管理服务器的平行扩展
管理服务器只是负责监控和维护所有查询服务器的状态信息,在整个系统 中的压力最小,单台机器就足够胜任了, 一般不需要增加新机器来平行扩展, 但是鉴于其作用的重大,为了安全起见,可在系统中增加了一台备份的管理服 务器,进行双机的热备份,保证其中一台不工作时另一台可以顶替其继续工作。 所述备用管理服务器与所述管理服务器共用相同的地址,对管理服务器中存储 的查询客户端的状态信息进行备份,在管理服务器发生故障时,根据系统中所 有查询服务器的状态信息为登录服务器制定重定向策略,将其发送给所有的登 录服务器。
5) 登录服务器的平行扩展
登录服务器用于处理客户端的登录请求,将其重定向到相应的查询服务器 上,当登录客户端的总数量超过所有登录服务器的总支撑人数时,就需要增加 新的登录服务器来緩解系统的登录压力。当系统中新增登录服务器时,新增的 登录服务器与系统中所有的查询服务器及管理服务器建立连接,并在域名解析 服务器中添加该新增登录服务器的地址信息。
6) 超级节点的平行扩展
超级节点主要是负责从相应的源服务器中获取原始的流媒体资源,并根据 客户端的请求向其提供相应的流媒体资源,超级节点数量多少会对流媒体资源 的中转效果有一定影响。系统增加超级节点时,该超级节点对应的源服务器需 要将自身存储的原始流媒体资源发送给该新增的超级节点。在整个系统的用户 数较少的情况下,客户端之间的交互不太频繁,所以这时超级节点的中转作用 就显得比较重要,这时在系统中新增超级节点可以改善流媒体资源的中转效
果;但是随着系统用户数的不断增加,客户端之间的交互就变的越来越频繁, 从而成为了流4某体资源交互的主要方式,这时再增加新的超级节点对于整体的 流媒体资源的整体中转效果并没有太大的改善,所以在整个系统的用户数较多 的情况下,超级节点的数量一般是固定的,不需要无限制的平行扩展。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种可扩展的P2P流媒体系统,其特征在于,包括源服务器、代理服务器和查询服务器,其中,源服务器,用于将自身存储的原始流媒体资源分发给对应的超级节点,并将自身存储的流媒体资源的特征信息发送给对应的代理服务器;代理服务器,用于收集与自身对应的各源服务器中存储的流媒体资源的特征信息,并将该信息同步到所有的查询服务器上;查询服务器,用于管理当前登录自身的各客户端的状态信息,将系统当前所能提供的流媒体资源的特征信息显示给客户端,在收到客户端的种子查询请求时,将能提供相应资源的客户端及超级节点的地址信息发送给请求发起客户端。
2、 如权利要求1所述的系统,其特征在于,系统中新增源服务器时,该 新增源服务器将自身存储的原始流媒体资源分发给预先配置的相应的超级节 点,并将自身存储的流^ 某体资源的特征信息发送给预先配置的对应的代理服务 器。
3、 如权利要求1所述的系统,其特征在于,所述源服务器在自身存储的 流媒体资源被删除或自身存储的流媒体资源的特征信息发生变化时,对自身对 应的代理服务器中存储的流媒体资源的特征信息进行相应更新。
4、 如权利要求2或3所述的系统,其特征在于,所述代理服务器在自身 存储的流媒体资源的特征信息发生变化时,将自身存储的流媒体资源的特征信 息同步到所有的查询服务器上。
5、 如权利要求l所述的系统,其特征在于,当系统中新增代理服务器时, 需要重新配置源服务器与代理服务器的对应关系,源服务器根据该重新配置的 对应关系与相应的代理服务器建立连接,将自身存储的流媒体资源的特征信息 发送给对应的代理服务器,对代理服务器中存储的流4某体资源的特征信息进行 更新; 代理服务器将更新后的流々某体资源的特征信息同步到所有的查询服务器。
6、 如权利要求1所述的系统,其特征在于,系统中新增查询服务器时, 系统中所有的代理服务器分别与该新增的查询服务器建立连接,系统中所有的 代理服务器分别将自身存储的流媒体资源的特征信息发送给该新增的查询服 务器。
7、 如权利要求1所述的系统,其特征在于,所述系统还包括管理服务器 和登录服务器,其中,管理服务器,用于管理系统中所有的查询服务器,根据系统中所有查询服 务器的状态信息为登录服务器制定重定向策略,将其发送给所有的登录服务 器;登录服务器,用于处理客户端的登录请求,并根据管理服务器制定的重定 向策略将客户端重定向到相应的查询服务器。
8、 如权利要求7所述的系统,其特征在于,系统中新增查询服务器时, 该查询服务器自动将自身的状态信息报告给管理服务器。
9、 如权利要求7所述的系统,其特征在于,所述管理服务器定时获取系 统中所有查询服务器的状态信息,以此制定重定向策略,并且在重定向策略发 生变化时,对所有登录服务器中存储的重定向策略进行更新。
10、 如权利要求7至9中任意一项所述的系统,其特征在于,所述查询服 务器的状态信息中包括查询服务器当前的工作状况指示信息、当前最大支撑用 户数信息及当前在线用户数信息。
11、 如权利要求7所述的系统,其特征在于,所述系统还包括 域名服务器,用于将系统中所有的登录服务器绑定到同一域名上,在接收到客户端的登录请求时,随机为客户端确定对应的登录服务器,将所述确定的 登录服务器的地址信息返回给客户端。
12、 如权利要求11所述的系统,其特征在于,当系统中新增登录服务器 时,新增的登录服务器与系统中所有的查询服务器及管理服务器建立连接,并 在域名服务器中添加该新增登录服务器的地址信息。
13、如权利要求7所述的系统,其特征在于,所述系统还包括 备用管理服务器,与所述管理服务器共用相同的地址,对管理服务器中存 储的查询客户端的状态信息进行备份,在管理服务器发生故障时,根据系统中 所有查询服务器的状态信息为登录服务器制定重定向策略,将其发送给所有的 登录服务器。
全文摘要
本发明公开了一种可扩展的P2P流媒体系统,用以解决现有技术中P2P流媒体系统的可扩展性较差的问题。所述系统包括源服务器,用于将自身存储的原始流媒体资源分发给对应的超级节点,并将自身存储的流媒体资源的特征信息发送给对应的代理服务器;代理服务器,用于收集与自身对应的各源服务器中存储的流媒体资源的特征信息,并将该信息同步到所有的查询服务器上;查询服务器,用于管理当前登录自身的各客户端的状态信息,将系统当前所能提供的流媒体资源的特征信息显示给客户端;本发明实现了在系统的支撑能力不足时,仅需要在系统中增加相应的服务器,而无需改写服务器代码以及变更系统架构即可对系统的支撑能力进行扩容。
文档编号H04L29/06GK101098271SQ20061009015
公开日2008年1月2日 申请日期2006年6月29日 优先权日2006年6月29日
发明者波 吴, 洋 宋, 斌 方, 林实立 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1