资源数据采集技术方案.docx
《资源数据采集技术方案.docx》由会员分享,可在线阅读,更多相关《资源数据采集技术方案.docx(14页珍藏版)》请在冰豆网上搜索。
![资源数据采集技术方案.docx](https://file1.bdocx.com/fileroot1/2023-1/7/25cb439c-b5ef-4ae6-a60e-4fb24ef3cc08/25cb439c-b5ef-4ae6-a60e-4fb24ef3cc081.gif)
资源数据采集技术方案
资源数据采集
技术方案
公司名称
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 部分 系统设计规范...............................................................................................................7
第 4 部分 系统详细设计...............................................................................................................7
分 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 是一种组件技术,已完成的模块能方便的移植到
其它地方,可以提高开发速度,降低开发成本。
●基于 JAVA 完全跨平台特性——与平台无关,适应 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 系统集成 API
XML 文档结构在很多方面可以方便地反映对象的结构,这也是其适合面向对象的软件
技术的一个关键点。
使用 XML 对数据源的数据进行处理,它起着接口层或者封装的作用,
这样不同的应用程序之间,不同的操作系统之间,不同的数据库之间都可以交换数据。
使
用 XML 作为数据交换工具还可以解决异构数据库之间的集成。
对本项目中涉及到的数据采集、转换、分析、处理等问题,我们将开发专用的数据接
口,采用 XML 技术作为数据交换的页面描述规范。
XStream 是一个 Java 和 XML 相互转换的工具。
使用非常的简单,并且可以自定义转
换的过程,但是这个组件仅能做的就是这些最基本的工作,有了这个组件,我们可以不用
考虑具体一个 Java 对象和 XML 之间问题了。
分 3 分分 系统设计规范
分 4 分分 系统详细设计
4.1 应用功能设计
4.1.1 资源采集
我们可以使用采集,对网络上的各种资源进行挖掘。
a)采集工程:
采集工作的详细设置文件,包含了要采集的资源链接。
1.精确:
根据指定资源格式(字段)的定义,进行数据库字段级别的采集。
2.蜘蛛/爬虫:
根据指定的文件匹配表达式,自动对指定网站的资源进行全面分
析和采集。
b)字段:
各种资源的最小单位,譬如您要采集某个网站的多个帖子,那么每个帖子
可能包含以下字段:
作者、标题、日期、内容等。
c)链页:
一些帖子在多页面里的,这种情况下您可以为帖子的内容字段设置链页属
性,自动把多个分页的内容合并到内容字段。
d)追踪:
一些资源是要从列表页面中,通过点击多个页面才显示的,这种情况下,
您可以为内容自动设置跟踪属性,自动获取最终的内容。
e)登录验证:
一些资源网站需要您登录后才可以访问内容,这种情况下下,您可以
为整个网站、每个链接甚至每个资源单独定义登录验证以满足具体需求。
1.参数:
这是模拟登录需要的参数,譬如用户名、密码等。
2.登录采集工程:
一些网站的登录认证相当复杂,往往会采用一些动态参数/值,
如果用固定的参数是无法满足登录需求的,这个时候,您可以使用采集工程
来自动获取登录参数的值。
3.登录脚本:
如果即便使用采集工程仍然无法满足一些特别网站的登录需求,
您可以使用自定义的登录脚本来实现相应的登录认证。
f)数据处理:
1.脏字过滤:
对符合国家规定的敏感字符的过滤,还可以自定义要过滤的字符,
以确保采集到的内容符合相关法律法规。
2.垃圾内容过滤:
使用贝叶斯概率模型对已采集的内容自动分析判定是否为垃
圾内容,您可以自行对各种垃圾内容进行过滤。
3.内容嗅探:
对于 Flash/Silverlight 播放器,会在页面加载之后才从后台获取实
际的文件(.FLV/MP3/.XAP 等),您可以使用内容嗅探实现对这些实际内容的
采集。
4.关键字/标签(Tag)自动分析:
利用全文分词对采集的内容进行分析,自动获取
内容的关键字/标签列表。
5.文件格式批量转换:
对大量文件的快速转换,改变图片或视频的大小/添加水
印/改变格式,抽取压缩文件,Office 系列文档转换为 HTML,以多种方式修
改文件名称和内容,修改图片文件属性,文本排版,文本混淆,文本简繁大
小写编码互转,文本切分合并,网页文本互转,不良图片过滤,数据转换等。
g)图片转换:
改变图片大小和格式,添加水印,支持
jpg、bmp、png、gif、icl、jpeg 等。
h)压缩文档:
抽取/转换/生成压缩文档,支持 zip、rar 等。
i)Office 文档支持:
支持 doc、docx、xls、xlsx、xml、pdf、rtf 等。
j)文本排版:
段落智能修正、去掉干扰符、修正段落首尾空格、修正标点符号,支
持 txt,htm,eml。
k)文本切分合并:
按大小、行数或段落数剪切文本内容、和并内容,支持
txt,htm,eml。
l)不良图片过滤:
识别并过滤不良图片,支持所有图片。
m) 数据转换:
使用自定义脚本转换数据和文件,支持采集工程、各种数据库和各种
文件。
n)快速下载:
1.链接分析:
复制要下载各种资源(如图片等)的链接或网页内容,全自动分析
并下载到本地磁盘。
2.嗅探:
复制视频地址或内容,全自动分析并下载视频,特有嗅探功能,支持
所有视频网站。
o)通过多线程并行采集,加快采集速度。
4.1.2 数据导出
a)导出数据库:
把采集后的数据导出到各大数据库/数据文件中。
b)以 Excel、XML 等文件形式导出。
c)可以把文件导出到 FTP。
d)自定义导出脚本。
4.1.3 资源信息发布
a)采集后的数据:
可以把采集后的数据,发布到指定网站或系统。
b)网络请求:
可以自定义请求,譬如网络投票等。
4.1.4 任务计划
可以指定采集、转换、导出、发布、请求等各种任务定时执行。
a)可启用多个线程来完成同一个采集任务。
b)可自由设定采集网页数和暂停的时间,此功能主要解决采集过快而被屏闭或禁止访问
等问题。
c)可以在采集当中随身暂停、启动或停止任务。
4.1.5 消息通知
能够自动通过多种方式(邮件、系统日志、系统声音等)通知采集发布情况。
a)在各种任务完成之后,如采集,发布,计划任务等。
b)监控指定网站并在数据改变时。
4.1.6 监控设置
当网络资源更新或采集到新的资源信息时,通过各种通知方式,随时提醒。
4.1.7 脚本定义
脚本是对各种功能的自定义扩展,支持 JavaScript 语言编写。
a)采集脚本:
在采集工程中,如果遇到一些特殊的资源,正常的采集方式无法胜任
的时候,可以通过脚本来进行自定义的采集。
b)发布脚本:
可以针对特殊的网站进行发送请求。
c)常用脚本:
系统内置的常用的脚本,如对专用链的解释/编码、条形码的生成、敏
感字符的过滤、中文分词/Tag 识别、计算数学表达式、RSS 解释与生成、消息通
知等。
4.1.8 认证码识别
系统自动识别各种登录页面的认证码、验证码等。
a)默认识别:
全自动识别各种常见的认证码。
b)智能识别:
自定义识别各种特殊的认证码。
4.1.9 系统扩展
系统提供以下丰富的程序接口,方便系统进行二次开发。
a)消息通知:
编写各种特定的消息通知方式以满足需求。
b)中文分词/Tag 识别。
c)数据转换:
转换各种采集后的数据到系统当中。
d)功能扩展:
对各种功能(采集、发布、脚本、消息通知、计划任务等)进行自定义
设置并应用到实际的系统运行中。
4.1.10 任务管理
可以对采集、发布、请求、计划任务、脚本、消息通知等各种任务进行全面管理。
4.1.11 地图周边资源采集
可根据采集到的数据在地图上显示,以该点为中心,在指定的搜索范围内搜索其
周边的所有资源信息,并采集到系统当中。
以酒店为例:
以酒店为中心的 5 公里范围内,在这范围内的所有酒店、旅行社、
小吃、旅游景点、购物场所、公交信息等都可以搜索到并采集下来。