CN101159645A - 面向p2p应用的互为服务器的设计方法以及网络架构 - Google Patents
面向p2p应用的互为服务器的设计方法以及网络架构 Download PDFInfo
- Publication number
- CN101159645A CN101159645A CNA2007101769675A CN200710176967A CN101159645A CN 101159645 A CN101159645 A CN 101159645A CN A2007101769675 A CNA2007101769675 A CN A2007101769675A CN 200710176967 A CN200710176967 A CN 200710176967A CN 101159645 A CN101159645 A CN 101159645A
- Authority
- CN
- China
- Prior art keywords
- ftp
- file
- server
- download
- network
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明属于计算机网络技术领域。设计方法步骤:将FTP下载集成在P2P客户端软件中,作为P2P下载方式的补充,软件在下载时优先从P2P网络中寻找资源进行分片下载;当P2P网络中的资源不足以提供完整的文件时,P2P客户端软件自动选择向FTP服务器申请下载该文件;FTP服务器从内容管理服务器调度成功后,P2P客户端软件开始从FTP服务器上下载尚未完成的文件片断;最终保证下载到完整的资源文件。该网络架构包括FTP服务器、内容管理服务器、多个用户节点及用户FTP和FTP服务器之间的命令通道和数据通道。本发明充分利用FTP协议功能,使资源传输更加稳定,确保用户快捷方便地获取完整文件,充分保障了用户的权益。
Description
技术领域:
本发明成果可用于全国各大中型媒体机构的内容管理平台(也称做媒体资产管理系统)以及其他媒体机构的数字内容和节目的交换、分发,在资源分发时使用基于智能节点弹性重叠网的P2P网络,属于计算机网络技术领域。
背景技术
我国各大中型媒体机构的内容管理平台(也称做媒体资产管理系统)以及其他媒体机构的内容和节目的交换、分发,在形式上较为落后,现阶段主要采取的是单纯的C/S传输方式(FTP等),要求设置拥有强大处理能力和大带宽的高性能计算机,配合高档的服务器软件,将大量的数据集中存放在服务器上,而且还要安装多样化的服务软件。这种方式比较适用于上传节目源是电视台等固定用户,客户端部署简单不要求高性能,但是缺点是FTP服务器压力较大,下载速度较慢,大文件下载时间较长,导致传媒机构工作效率低,代价高,消耗时间巨大。
P2P网络技术的应用,使得更多的人可以通过Internet实现即时通讯、文件共享、分布计算以及协同合作。P2P网络是一种完全分散式的体系机构,系统中的任何一个实体都处于同等的地位,它既可以请求得到服务,同时又可以提供服务,功能与职责对等,P2P技术使得Internet上的任何计算机之间都能够直接交换信息。P2P技术的特征之一就是弱化服务器的作用,甚至取消服务器,任意两台PC互为服务器,同时又是客户端。
现在用于文件共享分发的主流P2P软件有BT、电驴(eMule)、酷狗(KuGoo)等。它们的应用主要在Internet上,适合于大量用户共享的情况。它们的缺点是,在使用范围较小或较固定的网络,如校园网、公司网、小区网等网络发布资源后,共享用户数量较少,在线状态不稳定,极易造成资源下载不稳定,时快时慢,甚至无法下载完整的情况。这对于在一些有固定网络业务,要求速度和稳定并重的网络中是极为不利的,例如本发明所应用的传媒机构网络,如果使用一些主流的P2P技术,虽然可以减轻服务器负担,但是很可能出现这样的情况:某个用户购买了一个音像制品的播放权,当他下载的时候,这个资源不是P2P网络里的热点,因此没有共享用户,或者共享用户数量很少不稳定。这就会造成该用户虽然已经付款,但是在获得购买的音像产品时消耗时间过长,甚至无法获得完整的文件,造成无法使用。
发明内容
如果使用当前的主流P2P软件作为传媒机构音像制品分发平台,就无法保证用户下载时的稳定性,甚至无法确保用户最终可以得到完整的资源。因此,本发明的目的是能够在我国各传媒机构内部和各传媒机构之间,利用P2P网络的高度分布式结构,减轻C/S模式中的服务器压力,提高传输速度,但同时基于P2FP的思想,构建一个更加稳定的分布式文件分发系统。本发明不仅适用于传媒机构网络,同样适用于用户规模不大,P2P资源更新较快的网络,例如校园网,小区网,公司网等。
本发明提出了一种将C/S传输方式(FTP)和P2P传输方式相结合的结构(P2FP),充分利用FTP协议功能,使资源传输更加稳定,确保用户快捷方便地获取完整文件,充分保障了用户的权益。
本发明提供了一种面向P2P应用的互为服务器的设计方法,其特征在于,包括以下步骤:
1)将FTP下载集成在P2P客户端软件中,作为P2P下载方式的补充,软件在下载时优先从P2P网络中寻找资源进行分片下载;
2)当P2P网络中的资源不足以提供完整的文件时,P2P客户端软件自动选择向FTP服务器申请下载该文件;
3)FTP服务器从内容管理服务器调度成功后,P2P客户端软件开始从FTP服务器上下载尚未完成的文件片断。最终保证下载到完整的资源文件。
这样使得无论P2P网络上是否存在资源,是否存在完整资源,都可以下载完整。同时优先从P2P网络上下载存在的资源片断,又最大程度地避免了FTP服务器的压力,充分利用了P2P网络的分布性能。
本发明还提供了一种面向P2P应用的互为服务器的网络架构,其特征在于,包括:
FTP服务器:用于资源的存储;FTP服务器由内容管理服务器管理调度。使用标准FTP协议,并支持IPv6协议传输。
内容管理服务器:进行FTP目录文件的调度,当Peer端申请下载时,内容管理服务器自动生成FTP目录和文件,并通知Peer端相应的FTP下载URL和用户名密码,然后Peer端与FTP服务器连接进行下载;
多个用户节点:既是上传文件的服务器端,又是下载文件的客户端;集成了FTP客户端下载功能;
用户FTP和服务器FTP之间要传送文件,需要有两个连接:命令通道和数据连接。命令通道是传送命令的,数据通道是用于传送文件。在命令通道中主要用到的命令有:USER,PASS,TYPE,SIZE,REST,CWD,PWD,RETR,PASV,PORT,QUIT等。其中REST命令表示由特定偏移量重启文件传递,后面接的参数代表服务器要开始传输的那一点,此命令并不传送文件,此命令后跟其它要求文件传输的FTP命令。RETR命令表示开始传送指定的文件(从REST参数指定的偏移量开始传送)。由此可见,FTP本身就提供了从服务器上按指定偏移量下载一定大小文件数据的功能。所以本发明中就是利用这个特性和P2P传输进行了结合。
本发明的原理如下:
P2FP结构中,对文件进行分片传输是使这种结构能够运行的基础。也就是说,P2P要求文件分片,同时从FTP服务器上也可以利用文件的偏移量来进行某些片断的下载。P2FP中具体的分片大小可以在配置文件中进行更改。一般分片大小为512K字节或1M字节。
在本发明中的P2P传输协议中,两个Peer端交互消息,消息中包含文件片断的索引值。索引的总个数是按照文件大小与分片大小的比求出。除了最后一片大小不定,其余片断大小均为固定的分片大小。因此在交互信息时,根据文件大小和要传输片断的索引号,就可以算出该片断在文件中的偏移量和长度(即当前片断的长度)。
本发明从FTP和P2P两种分片传输的机制中找到共同点,就是它们的本质都是从服务器文件上找到要传输的偏移量和传输长度,然后服务器将相应的数据发送到客户端。本发明本着“P2P优先,确保完整”的原则,当P2P网络中存在资源文件的X个片断时,优先从P2P网络中下载这X个片断。剩余的片断再向FTP服务器提出申请下载。它们在Peer下载端本地都是操作的同一个文件,所以最终达到下载完整的目的。
由于在传媒机构,分发的资源大多属于版权保护,由集中的内容提供商发布。使用P2P网络和FTP方式结合,可以充分利用分布式网络的优势,避免集中式网络瓶颈对传输造成的影响,同时集成的FTP方式也保证了资源的完整下载和缩短用户的下载等待时间,避免了传统P2P网络中没有“种子”下载无法完成的局面。
本发明提出了P2FP的思想,其中F即指FTP服务,是将原本孤立的P2P资源和FTP资源整合到一起,也就是说用户得到的资源可能一部分来自于P2P网络,其余部分来于FTP服务器。这样,在下载的稳定性上和速度上,都比传统中单独的FTP或P2P方式有了非常大的提高。
附图说明
图1本发明的应用网络结构,
图2本发明的下载的流程图
具体实施方式
本实施例中开发计算机为“DELL微机,Intel(R)Pentium(R)4 CPU 3.00GHz,1GB内存,80G硬盘”。采用VisualStudio2003开发环境,编程语言为C#。Peer端运行环境为WindowsXP以上版本的操作系统+.NetFramework1.1。由于运行网络为IPv6网络,因此FTP服务器采用Xlight FTP服务器(可支持IPv4和IPv6)。
本发明运行在CNGI IPv6网络上,部署20个智能节点和200个Peer客户端,我们设计了多个专门的针对性测试,用以测试本发明的稳定性和性能,例如P2P网络上没有共享或P2P网络上只存在一部分文件的情况,测试表明,本发明可以实现单纯的P2P下载或FTP下载,或组合型从P2P和FTP上下载同一个文件的不同部分。但是对于使用者是没有任何区别的,使用者不需要对下载方式进行选择,本发明自动选择最优化的方式,确保最快、最稳定的下载到完整的文件。最慢下载平均速度达到1.7MB/s(P2P网络没有文件共享,单纯使用FTP),最快下载平均速度达到8.1MB/s(P2P网络中存在完整的文件),完全符合实际使用要求。
具体实施方案为:
1.总体网络结构
本发明是基于网络的内容分发P2P软件,运行时会有多个Peer端,既是上传文件的服务器端,又是下载文件的客户端。同时,集成了FTP客户端下载功能,所以在网络结构中就需要架设FTP服务器。在本发明的总体网络结构中,还包括内容管理服务器,Peer端和它进行交互,提出FTP下载申请,由内容管理服务器进行文件的调度,然后通知Peer端FTP下载的URL和用户名密码。只会Peer端与FTP服务器连接进行下载。
附图1展示了本发明的应用网络结构,其中CNGI是中国下一代互联网,网络协议使用IPv6协议。内容管理服务器和FTP服务器可以架设在同一个物理计算机上,其中内容管理服务器的文件调度技术不属于本发明范畴,不再详细叙述。附图中的虚线表示,某个Peer端在下载时,P2FP结构中传输的方式,即由Peer端和FTP传输共同组成。
2.模块化面向对象开发。
本发明中的Peer端软件开发采用模块化面向对象的开发方式,将软件分为网络通信模块、人机交互模块、业务流程模块、对象原型模块、接口模块等模块,层次清晰,结构合理,便于团队合作共同开发,并且对软件升级,增加新功能提供了良好的扩充性。
本发明中使用到的FTP参数(用户名、密码、IP地址等)、FTP操作都相应封装在自定义类FTPHelper中。主要操作如下描述:
Public FTPFactory(string remoteHost,stringremotePath,string remoteUser,string remotePass,IPAddressipaddr,int remotePort,bool debug,bool logined)
功能:FTPHelper类的构造函数。
输入:FTP服务器的主机名,地址,文件路径,用户名,密码,端口号等。
输出:无
功能:读取FTP服务器消息,解析消息码,识别消息类型。
输入:无
输出:无
功能:向FTP服务器发送消息。
输入:消息文本
输出:无
功能:发送QUIT消息,关闭Socket连接。
输入:无
输出:无
功能:根据本对象的用户名密码等属性,连接登录FTP服务器
输入:无
输出:无
功能:登录FTP后,获取某个文件的大小
输入:文件在FTP服务器上的路径
输出:文件大小字节数
功能:获取FTP服务器上某个目录下的文件列表
输入:目录名
输出:文件名称列表
public void download(string remFileName,stringlocFileName,long FileOffset,int downLength)
功能:按偏移量进行下载
输入:文件名,在本地客户端保存的文件名,文件偏移量,要下载的大小(单位字节)
输出:无
本发明在实现中为结合P2P和FTP,将每个下载任务抽象为类ClientFile,该类包含了该文件的ID,所拥有的下载连接等属性。它所具有的主要操作如下:
public void CreateConnection(string cnodeIP,string[]IpString,string FileID,string FileName,string PeerUserName,stringlocalName,int currentUserID)
功能:为当前下载任务创建下载连接,包括P2P连接和FTP连接。
输入:智能节点IP,提供共享的Peer端IP列表,文件ID,文件名,Peer端用户名,本地文件名,用户ID
输出:无
3.附图2是P2FP下载过程中分配连接进行下载的流程图
用户在搜索到需要的文件后,点击下载保存,Peer端会预先为该文件分配空间。然后与智能节点交互,得到正在共享此文件的Peer端的列表,并且智能节点对这些Peer端进行了QoS计算,得出每个Peer的消耗值(COST)。下载Peer端对列表进行排序,将评价最优的Peer排在列表前。
下载之前,首先Peer端查询该文件配置表,获取所有状态为“未下载”的片断索引数组。如果是新文件首次下载,则所有片断都被加入到数组中。
接着,与列表中的第一个Peer进行连接,交互消息,查询对方拥有的该文件片断索引列表,与本地进行比较,将匹配上的片断置为“已分配”状态。使用异步与这个Peer连接,下载匹配到的所有片断。同时从Peer列表中删除这个Peer端,再取出第一个Peer连接,如此循环,直到未下载片断个数为0,或Peer列表中个数为0。
如果仍有未下载片断,而Peer列表中个数已为0,则表示P2P网络中已经没有可用的Peer端提供共享了。此时向内容管理服务器申请下载该文件,获取相应的FTP URL以及用户名密码。连接FTP服务器,按剩余的未下载片断索引计算偏移量和长度,依次下载文件的剩余部分。最终得以快速稳定地下载到完整的文件。
Claims (3)
1.面向P2P应用的互为服务器的设计方法,其特征在于,包括以下步骤:
1)将FTP下载集成在P2P客户端软件中,作为P2P下载方式的补充,软件在下载时优先从P2P网络中寻找资源进行分片下载;
2)当P2P网络中的资源不足以提供完整的文件时,P2P客户端软件自动选择向FTP服务器申请下载该文件;
3)FTP服务器从内容管理服务器调度成功后,P2P客户端软件开始从FTP服务器上下载尚未完成的文件片断;最终保证下载到完整的资源文件。
2.面向P2P应用的互为服务器的网络架构,其特征在于,包括
FTP服务器:用于资源的存储;FTP服务器由内容管理服务器管理调度;使用标准FTP协议,并支持IPv6协议传输;
内容管理服务器:进行FTP目录文件的调度,当Peer端申请下载时,内容管理服务器自动生成FTP目录和文件,并通知Peer端相应的FTP下载URL和用户名密码,然后Peer端与FTP服务器连接进行下载;
多个用户节点:既是上传文件的服务器端,又是下载文件的客户端;集成了FTP客户端下载功能;
用户FTP和FTP服务器之间要传送文件,需要有两个连接:命令通道和数据通道;命令通道用于传送命令的,数据通道用于传送文件。
3.根据权利要求2所述的网络架构,其特征在于,内容管理服务器和FTP服务器架设在同一个物理计算机上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101769675A CN101159645A (zh) | 2007-11-08 | 2007-11-08 | 面向p2p应用的互为服务器的设计方法以及网络架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101769675A CN101159645A (zh) | 2007-11-08 | 2007-11-08 | 面向p2p应用的互为服务器的设计方法以及网络架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101159645A true CN101159645A (zh) | 2008-04-09 |
Family
ID=39307572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101769675A Pending CN101159645A (zh) | 2007-11-08 | 2007-11-08 | 面向p2p应用的互为服务器的设计方法以及网络架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101159645A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977324A (zh) * | 2010-11-09 | 2011-02-16 | 青岛海信宽带多媒体技术有限公司 | 一种实现屏幕共享的方法 |
CN101729755B (zh) * | 2009-11-23 | 2011-10-12 | 青岛海信宽带多媒体技术有限公司 | 一种多媒体终端 |
CN102377821A (zh) * | 2011-10-17 | 2012-03-14 | 邦讯技术股份有限公司 | 网络终端设备的版本智能更新方法和装置 |
CN102868721A (zh) * | 2011-08-05 | 2013-01-09 | 新游网络科技有限公司 | 下载文件用的网络控制的元件与方法以及其网络系统 |
CN103327415A (zh) * | 2013-06-05 | 2013-09-25 | 北京奇虎科技有限公司 | 一种加速网络视频下载的方法和装置 |
CN103546428A (zh) * | 2012-07-10 | 2014-01-29 | 新华瑞德(北京)网络科技有限公司 | 文件的处理方法及装置 |
CN104519138A (zh) * | 2014-12-31 | 2015-04-15 | 北京东土科技股份有限公司 | 一种基于分布式ftp的数据传输方法及系统 |
CN105471944A (zh) * | 2014-09-03 | 2016-04-06 | 优视科技有限公司 | 一种网络数据共享系统、方法及装置 |
CN106550015A (zh) * | 2016-10-12 | 2017-03-29 | 中国农业大学 | 一种对等网络下的节点文件传输方法、索引服务器及系统 |
CN108268293A (zh) * | 2016-12-29 | 2018-07-10 | 广东中科遥感技术有限公司 | 移动app快速原型演示的方法 |
CN109168158A (zh) * | 2018-08-08 | 2019-01-08 | Oppo广东移动通信有限公司 | 资源下载方法及相关装置 |
CN112187483A (zh) * | 2019-07-03 | 2021-01-05 | 西安诺瓦星云科技股份有限公司 | 节目发布方法和节目发布系统 |
CN113301162A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
-
2007
- 2007-11-08 CN CNA2007101769675A patent/CN101159645A/zh active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729755B (zh) * | 2009-11-23 | 2011-10-12 | 青岛海信宽带多媒体技术有限公司 | 一种多媒体终端 |
CN101977324A (zh) * | 2010-11-09 | 2011-02-16 | 青岛海信宽带多媒体技术有限公司 | 一种实现屏幕共享的方法 |
CN102868721A (zh) * | 2011-08-05 | 2013-01-09 | 新游网络科技有限公司 | 下载文件用的网络控制的元件与方法以及其网络系统 |
CN102377821A (zh) * | 2011-10-17 | 2012-03-14 | 邦讯技术股份有限公司 | 网络终端设备的版本智能更新方法和装置 |
CN102377821B (zh) * | 2011-10-17 | 2014-02-19 | 邦讯技术股份有限公司 | 网络终端设备的版本智能更新方法和装置 |
CN103546428A (zh) * | 2012-07-10 | 2014-01-29 | 新华瑞德(北京)网络科技有限公司 | 文件的处理方法及装置 |
CN103327415B (zh) * | 2013-06-05 | 2017-04-12 | 北京奇虎科技有限公司 | 一种加速网络视频下载的方法和装置 |
CN103327415A (zh) * | 2013-06-05 | 2013-09-25 | 北京奇虎科技有限公司 | 一种加速网络视频下载的方法和装置 |
CN105471944B (zh) * | 2014-09-03 | 2019-05-28 | 优视科技有限公司 | 一种网络数据共享系统、方法及装置 |
CN105471944A (zh) * | 2014-09-03 | 2016-04-06 | 优视科技有限公司 | 一种网络数据共享系统、方法及装置 |
WO2016106907A1 (zh) * | 2014-12-31 | 2016-07-07 | 北京东土科技股份有限公司 | 一种基于分布式ftp的数据传输方法及系统 |
CN104519138B (zh) * | 2014-12-31 | 2017-12-26 | 北京东土科技股份有限公司 | 一种基于分布式ftp的数据传输方法及系统 |
CN104519138A (zh) * | 2014-12-31 | 2015-04-15 | 北京东土科技股份有限公司 | 一种基于分布式ftp的数据传输方法及系统 |
CN106550015A (zh) * | 2016-10-12 | 2017-03-29 | 中国农业大学 | 一种对等网络下的节点文件传输方法、索引服务器及系统 |
CN108268293A (zh) * | 2016-12-29 | 2018-07-10 | 广东中科遥感技术有限公司 | 移动app快速原型演示的方法 |
CN108268293B (zh) * | 2016-12-29 | 2021-11-02 | 广东中科遥感技术有限公司 | 移动app快速原型演示的方法 |
CN109168158A (zh) * | 2018-08-08 | 2019-01-08 | Oppo广东移动通信有限公司 | 资源下载方法及相关装置 |
CN109168158B (zh) * | 2018-08-08 | 2021-04-13 | Oppo广东移动通信有限公司 | 资源下载方法及相关装置 |
CN112187483A (zh) * | 2019-07-03 | 2021-01-05 | 西安诺瓦星云科技股份有限公司 | 节目发布方法和节目发布系统 |
CN113301162A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101159645A (zh) | 面向p2p应用的互为服务器的设计方法以及网络架构 | |
US20230370300A1 (en) | System and method for providing network support services and premises gateway support infrastructure | |
Valancius et al. | Greening the internet with nano data centers | |
Adler et al. | Optimal peer selection for P2P downloading and streaming | |
CN1897588B (zh) | 一种混合模式的网络文件传输方法及系统 | |
CN103348347B (zh) | 在家庭网络中共享数据的方法以及实现该方法的装置 | |
CN102694704A (zh) | 一种家庭网关及其区分用户身份的方法 | |
CN100527695C (zh) | 构建半固定p2p网络的方法及其系统 | |
WO2020036156A1 (ja) | 通信制御装置、通信制御システム、通信制御方法および通信制御プログラム | |
TWI337818B (en) | Network management system and management method thereof | |
CN108234607A (zh) | 一种基于微服务架构模式下的文件分发方法与系统 | |
CN104581421A (zh) | 一种点对点流媒体下载方法及节点终端装置 | |
CN101242412A (zh) | 一种多维数据实例传送的方法和装置以及系统 | |
Komorita et al. | Loosely coupled service composition for deployment of next generation service overlay networks | |
JP4808122B2 (ja) | 内部ネットワーク上の内部端末に外部ネットワーク上の外部サーバからコンテンツを取得して送信する方法、内部サーバ、及び外部サーバ | |
CN110196839A (zh) | 一种基于视联网的共享文件方法和装置 | |
CN103731400A (zh) | 共享资源的系统和方法 | |
Johnson et al. | Kwaabana: File sharing for rural networks | |
CN110086831A (zh) | 用于网关的鉴权方法 | |
Kelényi et al. | Peer-to-peer file sharing for mobile devices | |
Garg et al. | Bridging the digital divide: storage media+ postal network= generic high-bandwidth communication | |
EP1407374B1 (en) | Targeted delivery of media-promoted content to selected network service providers in a content delivery network | |
KhudaBukhsh et al. | Analysing and leveraging client heterogeneity in swarming-based live streaming | |
Labrador et al. | Increasing interoperability for research clouds: CS3APIs for connecting sync&share storage, applications and science environments | |
KR100814676B1 (ko) | 통합 컨텐츠 제공 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080409 |