关于数据库相关论文范例,与利用P2P下载工具实现离线下载服务相关论文目录怎么自动生成
本论文是一篇关于数据库相关论文目录怎么自动生成,关于利用P2P下载工具实现离线下载服务相关本科论文范文。免费优秀的关于数据库及操作系统及用户方面论文范文资料,适合数据库论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
【摘 要】当用户使用普通下载工具下载大的资源文件或者冷门资源时,常常要等待一天甚至更长时间才能完成,下载时需要长时间地占用用户的电脑资源和网络资源,用户不能关闭下载工具和个人机器.而离线下载是利用服务器“代”用户进行下载,待服务端下载完成后,用户再用下载工具将资源从服务器取到自己本机,具备无需挂机等待、高速的特点.本文所述的是利用成熟的P2P下载工具BitComet、eMule进行二次开发,对用户提供离线下载服务的方法,该方法同时支持HTTP、BT、ED2K、MAGNET多种下载方式.而且在服务端可以分布运行多个P2P下载工具,以满足客户端的大量用户下载请求,下载任务在各个下载引擎上的分配由服务端统一调度管理.
【关 键 词】离线下载;p2p;BT;ED2K;下载任务管理;下载引擎
1.引言
在传统下载方式中,一般是把文件由服务器端传送到客户端,例如FTP,HTTP等等.由于是从一台服务器下载,服务器所提供的带宽是一定的,因而下载人越多速度越慢.但是这样就出现了一个问题,随着用户的增多,对带宽的要求也随之增多,用户过多就会造成瓶颈,而且搞不好还会把服务器挂掉,所以很多的服务器会都有用户人数的限制,这样即使你使用的是宽带网,通常也很难达到运营商许诺的最高下载速度,这里面固然有网络的原因,但与服务器的限制也不无关系.
随着P2P技术的出现,用户可以充分利用网络带宽,人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载,改变互联网现在的以大网站为中心的状态、重返”非中心化”,并把权力交还给用户.目前常用的P2P工具有支持BitTorrent协议的比特彗星BitComet,支持ED2K协议的电骡eMule.
但用户使用P2P工具下载电影、游戏大型资源,或者冷门资源时,用户就得下很久,有时需要花费几天的时间,期间用户必须长期挂机以保证下载任务的不中断,给用户的设备使用带来了很多不便和限制.
我们在此依托成熟的工具和技术,实现了一种离线下载的服务方案.将比特彗星BitComet和电骡eMule运行在服务端,用户通过web页面向服务端提交下载请求,服务端接受情况后,会根据下载请求的类型,分布将请
关于数据库相关论文范例
我们提供的离线下载服务,是帮助用户提供了一个下载代理,用户只需提交下载请求,由我们的下载代理保持在线,帮助用户完成下载任务.而这些代理的实现,我们使用的是比特彗星、电骡这样的成熟稳定工具,避免了完全从P2P底层协议进行开发,同时可以更好地利用网络中的已有资源点.
2.技术方案原理及实现
离线下载原理如下:
(1)用户通过Web页面提交一个下载请求.
(2)服务端的下载任务管理器接收到请求后,首先查询提交的下载链接是否被下载过.如果已下载过,直接把已下载的资源文件复制到服务器上用户的个人储存空间;如果没有,就将用户的下载请求转发到一个下载引擎模块.
(3)每个下载引擎模块管理着一个BitComet和eMule下载工具,下载引擎判断下载任务类型,如果是BT下载,则通过BitComet的http管理接口,将任务添加到BitComet的下载任务中,并开始下载;如果是ED2K下载,则通过eMule的http管理接口,将任务添加到eMule的下载任务中,并开始下载.
(4)BitComet和eMule下载工具执行下载任务,并由下载引擎模块通过他们的http管理接口查询下载进度.
(5)下载完成后,用户在Web页面上可以查询到下载进度已为100%,用户可以通过工具从本人的存储空间一次性取回自己的文件.
系统采用典型的分层架构,为了信息隐匿的需要,要求每一层只能调用其下一层的接口.每层都根据业务需求提供最低限度的接口,保证层次之间的依赖仅仅停留在接口级别.系统结构如图1.
离线下载系统包括:用户离线下载Portal页面、下载任务管理模块、下载引擎模块、文件管理模块.
2.1离线下载Portal页面
对用户以WEB页面的方式提供离线下载功能使用.用户离线下载Portal页面通过调用下载任务管理模块的下载管理接口提供给用户添加、删除、暂停、启动下载任务及强制重新下载的功能.其中,强制重新下载的使用场景为,有可能系统下载历史中的某一文件特征码对应的文件已经不合实际,用户根据系统下载历史所获取的文件并非用户所需要的文件,则用户可使用强制重新下载功能,让系统删除该文件特征码对应的下载文件并重新下载.
用户离线下载Portal网站可通过查询数据库获取用户的已完成下载任务及下载历史.Protal网站需要分为正在下载任务列表及已完成下载列表两个界面,正在下载任务列表中的任务清单及状态是通过下载任务管理模块的查询接口中返回;而已完成下载列表的数据则通过查询数据库表获取.
2.2下载任务管理模
下载任务管理模块通过读取数据库中的配置信息,以获取各下载引擎模块的信息.
下载任务管理模块以HTTP+JSON方式提供给用户离线下载Portal页面调用,用于提供网站查询用户的下载任务列表、添加用户下载任务、删除用户下载任务、暂停用户下载任务、启动用户下载任务、强制重新下载.其中强制重新下载时,系统删除该文件特征码对应的下载文件并重新下载.
下载任务管理模块通过定时调用各下载引擎的查询下载任务接口,以获取最新的下载任务状态,并更新系统任务列表.对于下载完成的任务,需要将下载文件移动到系统备份空间,并复制到相应用户的个人存储空间上.下载完成后,还需要通知下载引擎删除该完成的任务.2.3下载引擎模块
下载引擎模块代理第三方下载工具(BitComet及eMule)的下载控制操作,屏蔽各种下载工具的差异.根据配置信息,初始化本机上的第三方下载工具接口.
下载引擎模块以HTTP+JSON方式提供文件下载接口给下载任务管理模块调用,用于提供下载任务管理模块获取下载引擎节点上的下载任务列表、添加下载任务、删除下载任务、暂停下载任务、启动下载任务.
下载引擎模块需要增加消息队列以保证发向下载工具的操作是单线程操作,以确保操作顺序.
下载引擎模块对BitComet工具进行远程暂停、删除、启动操作之前,需要先做一次获取BitComet下载列表的操作,并根据特征码找出BitComet的taskid,再进行暂停、删除、启动操作.
2.4文件管理模块
离线下载的文件往往是较大的文件,如果通过网络连接来进行频繁的复制、移动操作将影响网络带宽及操作时间过长.
有关论文范文主题研究: | 数据库类论文范文 | 大学生适用: | 在职研究生论文、硕士论文 |
---|---|---|---|
相关参考文献下载数量: | 13 | 写作解决问题: | 毕业论文怎么写 |
毕业论文开题报告: | 论文提纲、论文题目 | 职称论文适用: | 核心期刊、中级职称 |
所属大学生专业类别: | 毕业论文怎么写 | 论文题目推荐度: | 免费选题 |
文件管理模块则在文件服务器上的一个应用模块,用于接受下载任务管理模块发出的下载文件复制、移动、删除操作,并最终于文件服务器上,通过外调操作系统命令进行文件的复制、移动及删除.经过测试,直接使用外调操作系统命令进行大文件的复制速度是最快的,比使用NIO或管道等方式都快.
参考代码如下:
Stringcmd1等于“cmd/ccopy\””+srcFile+“\”\””+trgFile+“\””;
Processp_tar1等于Runtime.getRuntime().exec(cmd1);
p_tar1.waitFor();
System.out.println(“exitValue等于”+p_tar1.exitValue());//获取命令返回结果,例如:0成功,非0失败
BufferedInputStreambis等于newBufferedInputStream(p_tar1.getInputStream());//获取命令执行结果的输出信息
本文url http://www.sxsky.net/benkelunwen/060278364.html
bis等于newBufferedInputStream(p_tar1.getErrorStream());//获取命令执行结果的异常信息
3.关键用例
离线下载系统中添加下载任务和删
关于数据库相关论文范例,与利用P2P下载工具实现离线下载服务相关论文目录怎么自动生成参考文献资料: