- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FTP搜索引擎的设计与实现 张运凯 刘宏忠 郭宏刚 摘要:FTP是因特网最主要的服务之一,FTP搜索引擎为人们使用FTP服务提供了很大的方便。本文分析和设计了一个基于WEB的FTP搜索引擎,并在PHP+Mysql环境下给出了编程实现方法。 关键词:FTP;搜索引擎;PHP;Mysql; 引言 FTP是因特网最主要的服务之一,在FTP服务器上保存有大量的各种各样的共享软件、技术资料和多媒体数据等文件。因为每个FTP服务器都有若干个目录,其目录和文件结构比较复杂,要在FTP服务器上找到自己需要的文件不是一件容易的事情,要在多个FTP服务器上查找文件更是困难。基于WWW的FTP搜索引擎可以很好的解决上述问题。目前,国内外有很多FTP搜索引擎,国内较著名的有北大天网、百合谷搜索和FTP星空搜索等。为了更好的为我校校园用户和省主节点用户提供服务,我们设计了自己的FTP服务器搜索引擎。 1.FTP搜索引擎的结构 FTP搜索引擎由数据采集、数据查询和站点维护等模块组成。实现一个FTP搜索引擎,首先要收集各个FTP站点上的文件信息,并把这些信息存储到数据库中;然后给用户提供一个查询界面,以收取用户要查询的信息,把这些查询信息转化为数据库语言,并进行数据库查询,把查询结果以友好的界面显示给用户;搜索引擎建立好以后,为了使数据库数据与FTP站点的数据保持一致,需要更新FTP站点的文件信息,添加新的FTP站点等管理和维护。其结构如下图所示。
我们在设计FTP搜索引擎时,采用Linux操作系统Redhat8.0,WWW服务器采用Apache,数据库采用MySQL,编程语言采用PHP。 2. 数据库结构和设置 2.1文件信息分析 在FTP站点上,根目录下的目录中又有许多文件夹和文件,每一个文件的信息包括文件名,文件地址,文件大小,日期,类型等。对应这些文件信息,在文件数据库中设置相应的字段,用来纪录这些信息,用字段name存储文件名,一般不超过255个字符,设置为varchar类型,长度为255,host表示FTP网站的名称,说明是哪一个网站上的文件,address字段准确给出文件的URL地址,由于有些文件URL比较长,把address字段类型设置为longtext,有了这些字段,就可以在网络中找到此文件的位置。另外,还需要纪录下文件的大小,时间,日期,以供用户分辨选择他们所要的文件。最后,查询时对文件名字段的访问比较频繁,把它设置成Index字段,这样可以提高查询速度。 2.2 FTP站点信息分析 一个FTP站点通常包含服务器名称,用户名,和密码。对应FTP站点的信息,数据字段设置如下:设置站点名、站点IP地址、用户名、用户密码等几个字段,站点名字段类型为vchar,长度为60,IP地址vchar类型,长度为50,用户名vchar类型,长度50,密码设置为password类型,长度为60。另外,FTP站点名也是使用较为频繁的数据,把它设置为Index字段。 2.3数据库结构设置 基于以上分析,设置数据库如下:在file_address数据库中有两个数据表,一个为fileaddress数据表,另一个为ftpserver数据表,其中fileaddress数据表用于记录ftp站点的文件信息,ftpserver数据表用于记录各个ftp站点的信息。 3. 数据采集 要构建搜索引擎,首先要收集各个FTP站点的文件信息,记录到数据库,用于提供搜索。因特网中有许多的FTP站点,要收集某个FTP站点的信息时,从数据表中读出站点信息,然后登陆到此站点,多数FTP服务器都开辟有一个公共访问区,称为匿名FTP,对公众提供免费的文件信息服务,一般用户名为Anonymous,密码为一个Email地址。数据采集程序用此用户名和密码登陆站点,然后对站点所有目录进行采集,读取每个目录下的文件信息,在收到文件信息之后,对其进行分析,将文件信息存储到相应的数据表字段中。完成此站点的数据采集之后,再读取另外一个FTP站点的信息,进行文件信息采集。如此循环,采集所有已知FTP站点的文件信息。 首先连接到此ftp站点,并用相应的用户名和密码登陆,此时,当前目录一般为根目录,有的并不是,所以要先取得当前目录,然后从此目录开始扫描此站点的文件信息,如果此目录为空(只有两个文件:.和..),则此站点没有文件,退出登陆,如果不为空,则判断每个文件是否是目录,如果是,则改变当前目录到此子目录下,扫描此子目录并判断,如果还有子目录,则继续转到其下扫描。下面是采集数据的程序。 get_ftp_info() { ftp_connect() /*连接FTP站点; ftp_lo
文档评论(0)