C#.NET网络蜘蛛设计模式 【KEYS】C#.NET, 线程, 网络蜘蛛, Vector ,数组 ,XML, 排序算法,Meta Search. 【详细计划】 列表: 1. 搜集蜘蛛引擎开发信息。 2. 建立UrlTreeNode(URL索引树),HashTable(哈希表)保存相关键值,XML数据交换BUFF。 3. 算法选择: 单线程选用DFS(深度优先),多线程选用BFS(广度优先),视情况而定。 4. 相关数据处理: (1) 读取URL:读取当前URL,分析链接(1/0),进入UnVisited.xml/Visited.xml。 (2) 处理URL:读取UnVisited.xml,返回(1)。 (3) 直到UnVisited.xml为空,否则(2)。 (4) 索引树的建立:与(2)同时进行(仅针对BFS算法)。 5. 算法实现: BFS: Begin Visit index: ClientPage:=index Push ClientPage into the end of UnVisited table While UnVisited 非空 then ClientPage:=UnVisited.top Visit ClientPage UnVisited.pop Push ClientPage into Visited End while End begin DFS: Begin: Build new Vector[] of self collections : url(二维) ClientPage:=index Push ClientPage into the header of Unvisited talbe While UnVisited 非空 then ClientPage:=UnVisited.top Visit ClientPage UnVisited.pop Push ClientPage into Visited End while End begin 6. 处理规则以及存储方式: 抓取当前网页,经过字符串(正则表达式)处理后,去除HTML标记,空格,换行,<style></style> <language>等标记,以及标记内部信息。保存文本。 考虑到 URL-> 关键字->文本 的处理路径。 使用XML存储相关项或数据库关键字插入(信息量可能过大,造成冗余)。 7. 检索过程: 根据提交关键字和查找项目,遍历XML或数据库相关字段,将信息保存自HASH表中,或DATAGRID,然后根据自定义“排序算法”进行排序和统计。 返回处理结果。 8. 相关知识及背景: C#.NET高级编程 XML原理和应用 Windows Sorkets programming 通用搜索算法(主要是DFS和BFS) SQL相关 正则表达式 .NET常用控件 ………………………….. 9. 周期: 9月22日-10月8日 注:其中不包括 “中文划词” 等

评论