随着高校校园网的快速发展,网络作为信息的传播平台正在高速向前迈进。学校校园网中各种资讯、软件、多媒体资源越来越丰富并且呈现出爆发式的增长。以本校为例,目前软件资源容量为300 G、音乐资源容量为4 T、电影资源容量为9 T、学习资源容量近达1 T等,这些信息资源帮助人们更好地完成工作与学习、丰富业余生活、提供更加快速方便的下载方式。但是这是数字资源分布在不同服务器与存储中,如何更加有效地利用这些海量的校内网资源成为信息管理者深思的问题。人们在互联网上查找信息都会用到搜索引擎来搜索需要的信息,通过搜索引擎的模糊匹配机制,能很容易找到想要得到的信息。对于学校信息中心信息管理人员来说,如果能在校内网中引入一套搜索引擎机制来解决这个问题,就能使广大师生能快捷便利地使用这些信息而且减少重复从外网下载、降低校内网出口带宽的压力、充分提高校园网内部资源的利用率的问题。
1 需求分析
搜索引擎原理,通常指的是收集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。
本系统主要目标是仿照搜索引擎的原理实现对校内网信息资源的全面搜索。这些资源可能是不同类型,可能分别存在不同服务器中且服务器的类型也不近相同,如有FTP服务器、HTTP服务器等。对于这些不同的环境要求,要求本系统要完成以下需求:
(1)索引建立要满足不同的服务器类型,如http、ftp等。
(2)索引建立时要区分文件的类型。
(3)定时(手工)删除本机器的索引,并重新建立指定目录的文件索引。
(4)搜索能支持模糊查询。
(5)提供用户搜索、下载功能,记录关键字频率及文件访问次数。
对于以上需求,本系统采用多agent模式,对不同服务器,分别安装索引建立模式(agent),再通过对参数的配置实现对不同服务器中资源的索引建立。
2 系统分析
2.1 系统结构
本搜索引擎结构如图1所示,软件的设计与开发主要为两个部分:(1)索引的建立。主要负责在后台数据的建立,采用客户端与服务器结构(C/S结构);(2)Web的查询。主要负责向用户提供友好界面的查询服务,采用浏览器与服务器结构(B/S结构)。通过开发索引建立程序,将文件存放的服务器(FTP、HTTP等)进行搜索,分析文件的名称、大小、类别、位置等并将这些文件信息合并服务器IP、访问的前缀等建立对应的索引添加到数据库服务器中。
2.2 数据库设计
为了方便数据库中文件信息的处理,数据库设计了两个基本数据表,一个存放索引建立模块,将文件的索引放入表1中;另一个表主要存放用户搜索的相关信息,如表2所示。如果搜索数据非常庞大时,要对基本数据表按不同的规则进行分割,成立多个子表(可以按照服务器类型、文件类型或者服务器所属网络等分类),实现对资源的高效率搜索。