1.1项目的开发背景和目的
在当代信息技术高速发展的时代,一方面信息量有处于“爆炸”的趋向,另一方面,现在的搜索引擎都只针对广域网的信息,而针对局域网和专用网络的信息资源的几乎没有。
与此同时,私人FTP、各类大中型局域网的FTP的大量出现,资源的快速增长与蕴藏丰富的同时,局域网内部的利用率不高,用户没有一个高效的方法获取资源。像和我们这样的一间学校内,FTP服务器器有两百多台,资源分散,一个学生要想找到他所要的资源往往要一个个登陆上去看,需要花费数个小时的时间。基于这种背景下,此项目所制作的FTP搜索引擎,就是想为用户提供更有针对性的、更方便的、更针对区域性的资源搜索服务。
1.2软件的用户群体
该项目面向的用户群体为固定FTP与私人FTP并存各类大中型局域网的FTP资源使用者,特别适合在大学校园中使用。
在内网中使用FTP搜索引擎,不但可大大加快局域网内资源搜索与定位速度,减少用户大海捞针的苦恼使用户能够在短时间内寻找到所需资源,而且又能提高局域网中资源的使用率,减少对外流量开支。
1.3项目所用的前台和后台技术及数据库技术
该项目能为在指定IP范围内进行FTP服务器搜索并将服务器端文件目录信息进行分类整理并为用户提供以B/S形式的文件搜索服务的FTP搜索引擎。
项目分前台与后台两部分,前台为B/S形式的文件搜索服务,使用Visual Studio 2005 以C#及VB.Net进行开发。后台为FTP服务器搜索及整理程序,使用Borland Develpor 以C++语言进行开发。数据使用SQL Server 2005进行存储。整个项目将在Widows Server 2003 上运行。
多模块多线程控制及模块线程容错控制技术
搜索引擎针对的网络搜索中,需要处理的数据量大,处理时间长,由此,软件采取多模块多线程协同计算的工作模式方来满足实际应用,且搜索引擎的采用算法效率高、占用资源小,并同时能满足大规模、大数据量的计算。
此系统能保持长时间的稳定运行,以系统服务的形式运行,并且带有良好的容错功能,能在软件内部某些模块出现错误的情况下将模块隔离,使得局部的错误不会影响到整个软件系统的运行。
服务器集群分布式协同工作控制技术
为了解决针对较大型局域网或城域网进行资源搜索时数据处理量特别大,网络环境更加复杂。单靠一台引擎服务器无法完成任务。我们采用了服务器集群分布式协同工作技术,利用多台服务器分成不同的网格节点,每个节点处理一个网段资源的方式来完成工作任务。只要在控制台启动集群控制模式,添加引擎服务器节点。控制台便可以统一管理各个节点协调工作,将任务分配到各个节点上,共同完成整个网络的搜索任务,对于管理员来说这些节点任务分配,协调工作都是透明的,和控制一台引擎服务器没什么分别。
命令脚本控制技术
系统运行于远程的服务器,软件带有能强大的、灵活的、方便的远程控制方式。在远程控制该软件时,我们定义了一套通讯命令使得搜索引擎管理员能够利用命令灵活的控制软件的运行,设定软件的运行任务,查看运行状态,并能以通讯命令为基础编写其脚本来使用搜索引擎运作。同时,在设计系统时候亦提供了一套服务管理软件使得管理员能轻松的生成配置脚本以达到轻松控制服务程序的要求。
中文语句分词技术
在前台搜索效率方面,在解决搜索效率问题上,我们采用了逆向最大匹配分词法等先进的分词算法,使得在处理用户输入数据及查询性能得到极大的提高。
基于AES原理及SSL安全控制原理的数据加密和安全隧道建立技术
该系统提供服务管理器程序能够对网络中的多台搜索服务器进行方便、快捷、高效、灵活的管理、配置、监控。同时软件具有防止攻击、防止数据包截获、破解等功能,且在服务器端保存的文件亦进行加密处理。为了将安全性做到最好,我们通过AES加密模型为基础,自主开发了一套加密算法,针对网络通讯及文件进行加密,并且通过软件的时间控制以及类似于SSL的安全隧道建立技术以防止黑客攻击、破解。以达搜索引擎管理员在远程连接服务器端发送数据时包含的敏感数据进行保护的需求。
1.4参考资料
用户操作手册
概要设计说明书