资源数据采集技术方案公司名称2011年7月二O一一年七月目录第1 部分概述 (3)1.1 项目概况 (3)1.2 系统建设目标 (3)1.3 建设的原则 (4)1.3.1 建设原则 (4)1.4 参考资料和标准 (5)第2 部分系统总体框架与技术路线 (5)2.1 系统应用架构 (6)2.2 系统层次架构 (6)2.3 关键技术与路线 (7)第3 部分系统设计规范 (9)第4 部分系统详细设计 (9)第 1 部分概述1.1 项目概况Internet已经发展成为当今世界上最大的信息库和全球范围内传播知识的主要渠道,站点遍布全球的巨大信息服务网,为用户提供了一个极具价值的信息源。
无论是个人的发展还是企业竞争力的提升都越来越多地依赖对网上信息资源的利用。
现在是信息时代,信息是一种重要的资源,它在人们的生活和工作中起着重要的作用。
计算机和现代信息技术的迅速发展,使Internet成为人们传递信息的一个重要的桥梁。
网络的不断发展,伴随着大量信息的产生,如何在海量的信息源中查找搜集所需的信息资源成为了我们今后建设在线预订类旅游网重要的组成部分。
因此,在当今高度信息化的社会里,信息的获取和信息的及时性。
而Web数据采集可以通过一系列方法,依据用户兴趣,自动搜取网上特定种类的信息,去除无关数据和垃圾数据,筛选虚假数据和迟滞数据,过滤重复数据。
直接将信息按照用户的要求呈现给用户。
可以大大减轻用户的信息过载和信息迷失。
1.2 系统建设目标在线预订类旅游网是在线提供机票、酒店、旅游线路等旅游商品为主,涉及食、住、行、游、购、娱等多方面的综合资讯信息、全方位的旅行信息和预订服务的网站。
如果用户要搜集这一类网站的相关数据,通常的做法是人工浏览网站,查看最近更新的信息。
然后再将之复制粘贴到Excel文档或已有资源系统中。
这种做法不仅费时费力,而且在查找的过程中可能还会遗漏,数据转移的过程中会出错。
针对这种情况,在线预订类旅游网信息自动采集的系统可以实现数据采集的高效化和自动化。
1.3 建设的原则1.3.1 建设原则由于在线预订类旅游网的数据采集涉及的方面多、数据量大、采集源数据结构多样化的特点。
因此,在进行项目建设的过程中,应该遵循以下原则:可扩充性根据实际的要求,系统可被方便地载减和灵活的扩展,使系统能适应变化和新情况。
可以实现模块级别的动态扩展,而且是运行时的。
所谓运行时模块的动态扩展,比如说你需要增加一些新的功能,你可以将新开发的类和文件按照Bundle进行组织,然后直接扔到运行时环境下,这些功能就可以用了。
因此系统不会受技术改造而重新做出调整。
创新性软件的投资要考虑到今后的发展,不能使用落后的产品与技术,避免投资的浪费;在系统软件选型、开发技术上,达到国内外先进水平。
规范性和标准性整个设计方案从网络协议、操作系统到各个设计细节,应该全部遵循通用的国际或行业标准,符合国家有关标准规范的。
低耦合性采集系统与其它系统彼此间相对独立,直接进行数据库入库、sql同步或者基于txt/xml 的数据交换,保证整体系统的低耦合性。
高效性在底层的技术实现上采用java语言,跨平台,跨数据库,运行效率卓越。
安全、稳定、准确、及时性采用先进的算法,采用多个子系统和工具组成一个安全、稳定、准确、及时的解决方案。
方案在总体设计上遵循稳定、开放、可扩展、经济、安全的原则,从而使整个方案组成合理,技术先进,易于扩展,既能满足当前的业务数据处理要求,又能符合长期发展的需要。
易操作和易维护原则整个系统易于维护,容易操作,易学,易用,完全通过WEB方式完成,降低维护的技术难度,也减少了人为隐患的发生。
1.4 参考资料和标准主要参阅并依据以下一些参考资料及标准:●《中国项目管理知识体系》(C-PMBOK),2001.5●GB/T 1526-1989《信息处理数据流程图、程序流程图、系统流程图、程序网络图、系统资源图的文件编制符号及约定》●GB/T 8566-1995《信息技术软件生存期过程》●GB/T 8567-1988《计算机软件产品开发文件编制指南》●GB/T 9385-1988《计算机软件需求说明编制指南》●GB/T 13702-1992《计算机件分类与代码》●GB/T 11457-1995《软件工程术语》第 2 部分系统总体框架与技术路线网络信息资源采集系统是一套功能强大的网络信息资源开发利用与整合系统,可用于定制跟踪和监控互联网实时信息,建立可再利用的信息服务系统。
能够从各种网络信息源,包括网页、BLOG、论坛等采集用户感兴趣的特定信息,经自动分类处理后,以多种形式提供给最终用户使用。
2.1 系统应用架构客户端●网络蜘蛛:按照指定规则抓取网站数据。
●数据分析:分析从网络蜘蛛来的数据,过滤掉我们不需要的信息。
●数据解析:根据指定资源格式(字段)的定义,进行数据库字段级别的解析。
●分组分析:根据不同的网络资源类型进行分类,并以多种存储方式进行存储。
2.2 系统层次架构整个系统分为四层,分别为:●数据层:数据层负责存储抓取来的各种信息及数据,这里面包括网页、文档、关系型数据、多媒体数据等。
●支撑层:支撑层提供了关键的硬、软件支撑系统,包括应用服务器、WEB服务器、规范接口等规范支撑系统。
●应用层:在应用层主要提供网络资源采集、数据转换、分析、处理、导出、发布、采集监控、消息通知、登录验证、任务计划、认证码识别等服务。
●表现层:表现层通过浏览器等方式,为用户提供多样化的信息服务。
2.3 关键技术与路线为了充分满足本项目的建设:我们采用先进、主流、可靠、实用、性价比好的三层架构体系,充分考虑今后纵向、横向扩张能力。
采用构件化和面向对象技术,使系统具有灵活的扩展性和良好的移植性。
2.3.1 J2EE规范体系从软件层次上看,我们采用了典型的J2EE三层架构体系,即应用—支撑—数据三层。
简单地说,J2EE(Java[tm] 2 Platform Enterprise Edition)是一个标准中间件体系结构,旨在简化和规范多层分布式应用系统的开发和部署,有了它,开发者只需要集中精力编写代码来表达应用的商业逻辑和表示逻辑,至于其他系统问题,如内存管理,多线程,资源分布和垃圾收集等,都将由J2EE自动完成。
J2EE已经被证明是一个稳定的、可扩展的、成熟的平台,在国内外拥有众多成功的应用实例。
J2EE 应用服务器(Application Server)采用目前国际最先进的开发理念、拥有许多适合基于Internet应用需求的特点:●三层结构体系——最适合Internet环境,可以使系统有很强的可扩展性和可管理性。
●面向对象、组件化设计——2EE是一种组件技术,已完成的模块能方便的移植到其它地方,可以提高开发速度,降低开发成本。
●基于JA V A完全跨平台特性——与平台无关,适应Internet需要,并能得到大多数厂商支持,用户可根据需要选择合适的服务器硬件和数据库。
并且如果需要更换系统平台时,J2EE也能方便的进行移植。
把J2EE三层架构软件体系引用到资源采集系统,将大大提高系统的可移植性、可伸缩性和可扩展性。
2.3.2 XML技术XML(eXtensible Markup Language,可扩展标记语言),是当前最热门的网络技术之一,被称为“第二代Web语言”、“下一代网络应用的基石”。
自它被提出以来,几乎得到了业界所有大公司的支持。
XML具有卓越的性能,它具有四大特点:●优良的数据存储格式●可扩展性●高度结构化●方便的网络传输以XML技术作为支持,为用户自定义应用界面和业务数据结构,并将其与底层数据库定义格式、界面标准输入、输出的接口转换作了实现,可实现分布式、异构应用系统之间的数据交换。
我们将在本项目中主要以XML为存储方式,方便扩展和数据分析。
2.3.3 WEB2.0技术Web2.0,是相对Web1.0(2003年以前的互联网模式)的新的一类互联网应用的统称,是一次从核心内容到外部应用的革命,是依据“六度分隔”(注:由美国哈佛大学社会心理学教授斯坦利·米尔格兰姆发现的,你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。
)、XML、AJAX等新理论和技术实现的互联网新一代模式。
由Web1.0单纯通过网络浏览器浏览html网页模式向内容更丰富、联系性更强、工具性更强的Web2.0互联网模式的发展已经成为互联网新的发展趋势。
Web1.0到Web2.0的转变,具体的说,从模式上是单纯的“读”向“写”、“共同建设”发展;由被动地接收互联网信息向主动创造网络信息迈进。
运行机制上,由“Client Server”向“Web Services”转变;作者由程序员等专业人士向全部普通用户发展;应用上由初级的“滑稽”的应用向全面大量应用发展。
采用创新的Ajax技术,同等网络环境下,页面响应时间最高减少90%。
2.3.4 系统集成APIXML文档结构在很多方面可以方便地反映对象的结构,这也是其适合面向对象的软件技术的一个关键点。
使用XML对数据源的数据进行处理,它起着接口层或者封装的作用,这样不同的应用程序之间,不同的操作系统之间,不同的数据库之间都可以交换数据。
使用XML作为数据交换工具还可以解决异构数据库之间的集成。
对本项目中涉及到的数据采集、转换、分析、处理等问题,我们将开发专用的数据接口,采用XML技术作为数据交换的页面描述规范。
XStream是一个Java和XML相互转换的工具。
使用非常的简单,并且可以自定义转换的过程,但是这个组件仅能做的就是这些最基本的工作,有了这个组件,我们可以不用考虑具体一个Java对象和XML之间问题了。
第 3 部分系统设计规范第 4 部分系统详细设计4.1 应用功能设计4.1.1 资源采集我们可以使用采集,对网络上的各种资源进行挖掘。
a)采集工程:采集工作的详细设置文件,包含了要采集的资源链接。
1.精确:根据指定资源格式(字段)的定义,进行数据库字段级别的采集。
2.蜘蛛/爬虫:根据指定的文件匹配表达式,自动对指定网站的资源进行全面分析和采集。
b)字段:各种资源的最小单位,譬如您要采集某个网站的多个帖子,那么每个帖子可能包含以下字段:作者、标题、日期、内容等。
c)链页:一些帖子在多页面里的,这种情况下您可以为帖子的内容字段设置链页属性,自动把多个分页的内容合并到内容字段。
d)追踪:一些资源是要从列表页面中,通过点击多个页面才显示的,这种情况下,您可以为内容自动设置跟踪属性,自动获取最终的内容。
e)登录验证:一些资源网站需要您登录后才可以访问内容,这种情况下下,您可以为整个网站、每个链接甚至每个资源单独定义登录验证以满足具体需求。