局域网FTP搜索引擎的建立
摘 要 FTP服务是网络服务的一种应用广泛的文件传输形式,本文拟构建一个基于Web的FTP主机的文件搜索系统,能够以Web形式轻松的检索FTP上的文件,并且可以直观的以Web模式模拟FTP主机的文件结构。
关键词 搜索引擎;FTP;Web
1 背景
当前,计算机网络已经越来越普及,各个单位也已经逐步建立自己的FTP(File Transfer Protocol)服务器,用来管理存储对于自己单位内部共享的一些文件或者对外共享的一些文件。随着被FTP管理的文件数量的不断增长,达到上万、上百万,甚至更多的时候,如何在如此庞大数据里边更快捷的找到自己所需的文件,将成为一个很重要的问题。
目前出现了一些FTP搜索引擎,可以用来搜索整个互联网内处于匿名访问的FTP上的文件信息,而需要权限才能访问的FTP则无法直接建立索引,因此不能达到搜索效果。本文拟构建的FTP搜索引擎是针对单位内部,局域网内的一个或者几个FTP服务器建立的;使内部用户直接可以看到FTP上的目录结构,并可以准确的搜索文件位置,然后下载浏览,达到检索高效、准确。
2 拟构建系统之模型
系统构建网络拓扑模型如图1所示。
根据拓扑结构,内部网络部署若干台FTP服务器,根据需要,在每台需要被查询的FTP服务器上,建立扫描文件结构发生变化的爬虫程序,并在内部网络建立FTP文件索引数据库服务器,用来存放FTP服务器上爬虫程序获取的索引数据,另外还要建立Web服务器,用来做Web查询。
3 系统模式分析
本系统采用两个模块构建,分别是部署于FTP服务器的爬虫程序和部署于Web服务器的索引查询引擎。
部署于FTP服务器的爬虫是一用来监控FTP文件结构变化的程序,它用来监视FTP服务器的变化,当FTP服务器有新的文件上传或者有文件被删除或者文件位置发生变化的时候,爬虫程序会立即捕捉到此变化,然后将变化信息响应到建立索引的数据库服务器。
部署于Web服务器的查询引擎是主要用来做查询服务,以及针对用户输入的查询关键字做模糊处理,直接以模糊方式查询,当搜索到结果以后,显示时候将文件所处FTP位置显示,同时将对应的超级连接做在上边,可以方便。
在访问范围上,拟构建的搜索系统可以供内网和外网同时检索,访问方式
4 系统的实现
FTP服务器爬虫程序主要用来建立FTP文件的树形结构,如图2所表示,每获得一个服务器就建立一个FTP根节点,然后在遍历根节点下边的子节点,直到将子节点遍历完毕。FTP服务器爬虫程序可以采用Java或者C++等程序来实现,可以作为操作系统的一个服务来加载。此种爬虫程序可以根据需求分为两类,一类是实时记载服务器文件结构变化的,一类是分周期的记载数据库变化的。
分周期记载的爬虫程序的运行过程是:当加载到一个新的FTP服务器,程序遍历该服务器,获得服务器的文件结构,同时也将此结构记载到数据库服务器,当过一定周期后,重新遍历服务器文件结构,将结果再记载到数据库,并删除原有的遍历结果,如此反复。
两类程序有各自的优缺点,第一类实时性比较强,当服务器文件结构发生变化后,立即可以体现到检索结构中,但缺点是占用FTP系统资源太多,可能会影响FTP服务性能;第二类正好与相反,因为它是周期性的遍历,因此可选择FTP比较空闲的时候来遍历,不会太多影响FTP服务性能,但实时性就比较差,不能将FTP的文件变化立刻体现到检索结果中去。两类程序可根据服务器性能来选择合适的类型。
搜索引擎Web端可以采用J2EE+AJAX来实现,用户检索时可选择精确检索和模糊检索,精确检索查询完全匹配的,模糊查询检索可以用相似性来检索。此外,针对每个独立的FTP主机,遍历其上爬虫程序建立于数据库的索引树结构,就可以建立起虚拟的FTP文件结构,从而可以在WEB程序上显示FTP的文件结构。
5 结束语
本文讨论建立基于局域网的单个FTP和多个FTP的搜索,根据FTP服务器的实际情况,选择适合的爬虫程序类型,建立索引树。对于本文设计构建的结果,可以将本系统推广于Internet,将爬虫程序置入需要索引的FTP上,或者通过外部间接获取索引,从而达到FTP的文件搜索效果,使得用户更加高效的找到所需要的文件。
参考文献
[1]陈华,王继民,韩近强,谢欣.《互联网上FTP文件的分布特征与启示》
陈华,李晓明.高级文件搜索引擎核心功能的实现技术.《搜索引擎与Web挖掘进展》,高等教育出版社,2003
下一篇:无线Mesh网络的应用层转发