优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

-MP3下载器的设计与实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

1.2.2 文件下载
文件下载,提供了在互联网上共享资源的一种方式,一般来讲,下载是把文件从服务器端传送到客户端,例如,FTP,HTTP等,但是这样就出现了一个问题,随着用户的增多,对带宽的要求也随之增多,用户过多就会造成瓶颈,而且搞不好还会把服务器挂掉,所以很多的服务器会都有用户人数的限制,下载速度的限制,这样就给用户造成了诸多的不便。随着需求的变化,技术的推动,国内外出现了一批优秀的下载工具,如:BT(全名叫BitTorrent)、电骡emule、迅雷。
 BT下载是用户越多,下载越快,这是因为BT是一种传销的方式来达到共享的[7]。BT首先在上传者端把一个文件分成了Z个部分,甲在服务器随机下载了第N各部分,乙在服务器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了服务器端得负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑上去拿就快得多了。所以BT具有下载用户越多,下载速度越快。
 电骡是建立在点对点(peer2peer)技术上的文件共享软件。它与传统文件共享的区别是:共享文件不是在集中的服务器上等待用户端来下载,而是分散在所有参与者的硬盘上。所有参与者组成一个虚拟网络,每个用户端都可以从这个虚拟网络里的任何一个人的机器里下载文件!同时每个人也可以把自己的文件共享给任何人。 本文来自think58

[资料来源:www.THINK58.com]

迅雷,是一款新型的基于P2SP技术的下载软件。P2SP除了包含P2P以外,P2SP的“S”是指服务器。P2SP有效地把原本孤立的服务器和其镜像资源以及P2P资源整合到了一起。也就是说,在下载的稳定性和下载的速度上,都比传统的P2P或P2S有了非常大的提高。
三种下载工具,都提供了多任务,多线程,多源,断点续传的下载机制,其中BT和EMULE是P2P模式,没有自己的服务器;而迅雷是基于P2SP的模式,它除了包含P2P模式外,它还拥有自己的服务器。三种下载工具最显著的特点是,享受下载的同时,也在贡献。
2.2 XML
 XML代表eXtensible Markup Language(可扩展标记语言),它是由W3C设计的一种可扩展标记语言,融合了S G M L(标准通用标记语言)的灵活性和强大功能和已经被广泛采用的H T M L。继承了SGML的规范,但又较SGML更为简化,属于SGML的一个子集。不同于HTML的是,XML是一种数据描述语言,它能描述数据的具体含义,而HTML是一种格式描述语言,它不能描述数据的意义,只能定义数据的显示格式。
一个XML文档最基本的构成包括:声明,处理指令(可选),元素。
文档的声明:<? xml version=”1.0” encoding=”GB2313” ?> 说明它是一个XML文档,两个属性分别表示版本号和编码方式。

copyright think58 [资料来源:http://think58.com]


处理指令:用于将命令或信息传给使用XML文档的应用程序。
元素:元素是XML文档的灵魂,它构成了文档的主要内容。所有的XML元素必须合理包含,且所有的XML文档必须有一个根元素。如同HTML一样,XML元素同样也可以拥有属性。XML元素的属性以名字/值成对的出现。XML语法规范要求XML元素属性值必须用引号引着(详细信息,请参考W3C XML文档)。
2.3 搜索引擎的原理
搜索引擎一般分为四部分:从互联网上抓取网页→建立索引数据库→在索引数据库中搜索→对搜索结果进行处理和排序。  
(1) 从互联网上抓取网页:采用超链分析技术,把整个互联网看作是有URL链接构成的WEB有向图,然后从种子URL链接集出发,可采用广度优先和深度优先遍历整个WEB图。
(2) 建立索引数据库(可以以文件的形式存储):对收集回来的网页进行分析,提取主题相关的信息,并利用这些相关的信息建立索引数据库
(3) 在索引数据库中搜索:当用户输入关键词搜索后,分解搜索请求,由搜索系统程序从索引数据库中找到符合该关键词的所有相关的链接信息。
(4) 对搜索结果进行处理和排序:采用PageRank算法对网页链接排序。
网络爬虫,作为搜索引擎的基础组成部分,网络爬虫起着举足轻重的作用,随着应用的深化和技术的发展,网络爬虫越来越多的应用于站点结构分析、内容安全检测、页面有效性分析、用户兴趣挖掘以及个性化信息获取等多种服务中。 [版权所有:http://think58.com]
网络爬虫,主要依赖WEB页面之间的连接关系,从Web上自动地获取页面信息,并且随着链接不断向所需要的Web页面进行扩展。从一个初始的URL集合出发,将这些URL全部放入到一个有序的待提取URL队列里。从这个队列里按顺序取出URL,通过HTTP协议,获取URL所指向的页面,然后再从这些已获取的页面中分析提取出新URL,并将它们继续放入到待提取URL队列里,然后重复上述过程,直到网络爬虫根据自己的搜索策略停止采集为止。
2.4 线程
2.4.1 线程
线程就是程序中单独顺序的流控制[1]。
 线程的生命周期:一个线程从创建到消亡的过程。
线程的生命周期可分为四个状态:
1. 创建状态
(1) 当用new操作符创建一个新的线程对象时,该线程处于创建状态。
(2) 处于创建状态的线程只是一个空的线程对象,系统不为它分配资源。
(3) 此时只能调用start方法启动该线程,调用其它任何方法都会产生线程非法状态异常。
2. 可运行状态
(1) 执行线程的start()方法将为线程分配必须的系统资源,安排其运行,并调用线程体要执行的方法,这样就使得该线程处于可运行( Runnable )状态。
(2) 这一状态并不是运行中状态(Running),因为线程也许实际上并未真正运行。

[来源:http://think58.com]


3. 不可运行状态
当发生下列事件时,处于运行状态的线程会转入到不可运行状态。
(1) 调用了sleep()方法;
(2) 线程调用wait方法所等待的特定条件的满足
(3) 线程输入/输出阻塞
4. 消亡状态
当线程要执行的方法执行结束后,该线程自然消亡。

copyright think58 [版权所有:http://think58.com]

[资料来源:THINK58.com]