基于p2p的数据传输方法及系统的制作方法

文档序号:9581781阅读:416来源:国知局
基于p2p的数据传输方法及系统的制作方法
【技术领域】
[0001]本申请涉及网络数据传输及应用领域,尤其涉及到一种基于P2P的数据传输方法及系统。
【背景技术】
[0002]直播视频技术的应用已经非常广泛,电视就是一种被广泛应用的直播视频技术,直播视频技术特点是时效性。随着网络技术的日益发展,以及互联网电子终端产品(计算机、平板电脑、网络电视、移动终端等)不断更新,特别是移动终端,收看节目时受地理位置约束小、具有较强的便利性,因此,通过互联网观看直播节目已然成为潮流。
[0003]市面上的网页浏览器普遍集成flash player插件,所以现有的在线直播网站基本采用Flash直播技术直接从视频源服务器下载数据。一些网站为了降低带宽成本,提供了第三方P2P (peer-to-peer)插件的下载选项,实现基于P2P技术的直播。近年来,P2P在加强网络上用户之间的交流、文件交换、分布计算机等方面起到了很大的作用,尤其是基于P2P的视频直播技术越来越受到人们的关注。
[0004]虽然使用Flash直播技术可以避免让用户下载第三方插件,在用户体验方面会友好很多,但是由于Flash直播的P2P技术起步较晚,鲜有团队对Flash点播P2P技术进行开发研究,对于Flash直播P2P技术的研究则更少,因此难以大规模使用。而且在传统开发理念中,比起点播技术,直播更要求时间的同步,向客户端推送该时段的少量数据需要同步,这样相应可供分享与上传的数据就更少了,在分享率方面的难度就更大。现有Flash直播P2P技术开发思路是这样的:代理服务器向不同用户同时推送某一时段数据(不妨设为30秒的视频数据,直播数据码率是500Kbps),用户同时下载,如果其中一个用户网速快于另一用户,于是,网速快的用户下载位置较多地超前于网速慢的用户,则网速快的用户比网速慢的用户下载更多的数据,有可能上传数据提供给网速慢的用户下载,但是这样的分享数据严重依赖不同用户网速的有限差距,且下载这30秒的短时数据可能产生的可供分享的数据量差距不会太明显(普通用户一般下载速度为200KB/S,下载完仅需9.3秒),因此P2P分享效果不佳。

【发明内容】

[0005]本申请提供一种基于P2P的数据传输方法/系统,以统筹客户端对数据的处理效率及提高网络数据的分享率。
[0006]根据本申请的第一方面,本申请提供一种基于P2P的数据传输方法,包括:
[0007]指令获取步骤,获取客户端请求传输数据的指令;
[0008]数据传输步骤,根据客户端的请求指令向该客户端传输数据;
[0009]传输模式调度步骤,基于客户端当前下载数据的第二进度位置和该客户端当前处理数据的第一进度位置调度数据传输的模式。
[0010]根据本申请的第二方面,本申请提供一种基于P2P的数据传输系统,包括:
[0011]指令获取模块,用于获取客户端请求传输数据的指令;
[0012]数据传输模块,用于根据客户端的请求指令向该客户端传输数据;
[0013]传输模式调度模块,用于基于客户端当前下载数据的第二进度位置和该客户端当前处理数据的第一进度位置调度数据传输的模式。
[0014]本申请的有益效果是:根据本申请提供的基于P2P的数据传输方法/系统,基于指定客户端下载数据的状态和该客户端处理数据的状态调度数据的传输,从而能够在兼顾客户端处理数据的状态同时,调度数据的传输,进而统筹客户端对数据的处理流畅度及提高网络数据的分享率。
【附图说明】
[0015]图1为本申请实施例公开的基于P2P的数据传输系统结构图;
[0016]图2为本申请实施例中枢服务器结构框图;
[0017]图3为本申请实施例公开的基于P2P的数据传输方法流程图;
[0018]图4为本申请实施例时间-数据流对应示意图;
[0019]图5为本申请实施例数据传输初始位置策略示意图;
[0020]图6为本申请实施例调度数据传输模式流程图。
【具体实施方式】
[0021]下面通过【具体实施方式】结合附图对本发明作进一步详细说明。
[0022]以Flash视频直播为例进行说明,首先,对本申请中用到的术语进行说明:
[0023]数据流,为由数据源通过代理服务器向客户端单向传输的数据的集合,本申请中的数据可以是音频数据、视频数据、视听数据、符号数据、文字或图形等能够被许可的客户端处理的数据。
[0024]直播,由于本实施例以Flash视频直播为例进行说明,因此,客户端对数据的处理表现为直播。数据源实时向代理服务器推送数据流,根据客户端的请求,立即从代理服务器中下载推送的数据,并立即按照下载时间的先后顺序对下载的数据进行处理。考虑到数据源可能为分时段推送数据流以及客户端缓存数据等因素,因此,本申请中的客户端处理数据的时间会滞后于客户端下载数据的时间。未作特殊说明的情况下,本申请中对数据的直播也可以是其它的数据处理方式,如图文显示、动画演示等。
[0025]在本实施例中,以Flash视频直播为例进行说明,其直播原理为:通常首先通过建立代理服务器来保存(缓存)直播源推送过来的直播视频数据流,Flash客户端和代理服务器之间通过互联网建立连接,代理服务器根据客户端的请求,通过互联网向其推送直播的视频数据,如此,客户端便能欣赏直播视频。在其它实施例中,视频点播的原理与直播类似,不同之处在于,代理服务器存储数据流的时间不同,对于视频点播,代理服务器存储数据流的时间相对于直播的方式会更早一些。
[0026]请参考图1,为本实施例公开的一种基于P2P的数据传输系统,包括:信号连接的代理服务器11和中枢服务器10,其中,中枢服务器10包括:指令获取模块12、传输模式调度模块13和数据传输模块14。其中:
[0027]代理服务器11用于存储用于传输的数据流。
[0028]指令获取模块12用于获取客户端请求传输数据的指令。所称客户端可以是客户端21、客户端22、客户端23或其它连接到互联网并且具备获取数据资格的客户端。
[0029]数据传输模块14,用于根据客户端的请求指令向该客户端传输数据。
[0030]传输模式调度模块13用于基于客户端当前下载数据的第二进度位置和该客户端当前处理数据的第一进度位置调度数据的传输。
[0031]在一种具体实施例中,代理服务器11和中枢服务器10可以集成到一台主控计算机中,也可以由多台计算机分工。需要说明的是,当代理服务器11中枢服务器10由多台计算机分工作业时,它们相互之间应该能够交互。
[0032]在一种具体实施例中,请参考图2,图中,虚线框内示意了传输模式调度模块13的模块构成,点划箭头线为信号/指令走向,实线箭头为数据/数据流走向,传输模式调度模块13包括:进度监测单元134、第一判断单元131和传输模式确定单元132。其中:
[0033]进度监测单元134用于监测客户端(譬如客户端21)当前处理数据的第一进度位置与该客户端当前下载数据的第二进度位置。
[0034]第一判断单元131用于判断第一进度位置与第二进度位置之间的时长数据量是否小于第一预设时长数据量。
[0035]传输模式确定单兀132,用于确定数据传输模式。
[0036]如果第一判断单元131输出的判断结果为小于第一预设时长数据量,则传输模式确定单元132将数据传输模块14确定为采用第一传输模式向客户端(譬如客户端21)传输数据,其中,第一传输模式为直接将代理服务器11所存储的数据流传输给客户端。进一步,如果第一判断单元131输出的判断结果为大于第一预设时长数据量,则传输模式确定单元132将数据传输模块14变更为至少包括第二传输模式,其中,第二传输模式为将其它客户端(譬如客户端22)上传的数据传输给客户端(譬如客户端21)。
[0037]在另一种具体实施例中,传输模式调度模块13还包括:第二判断单元133,第二判断单元133用于判断第一进度位置与第二进度位置之间的时长数据量是否大于第二预设时长数据量。如果第二判断单元133输出的判断结果为大于第二预设时长数据量,则传输模式确定单元132将数据传输模块14变更为第二传输模式。
[0038]其中,第二进度位置超前于第一进度位置,第二预设时长数据量大于第一预设时长数据量。
[0039]需要说明的是,在其它实施例中,该系统还可以进一步包括分块模块,分块模块与代理服务器11信号连
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1