基于Web的数据仓库的研究

web是什么意思  时间:2021-01-11  阅读:()

何雪梅唐常杰王利强张天庆四川联合大学计算机系成都(610064)何摘要本文分析了Web数据的特点以及由此引起的Web数据仓库的困难,并以我们建立的Web数据仓库原型为例讨论了Web数据仓库的解决方法,提出并实现了从Web中提取数据的Wrapper算法.

关键词数据仓库环球网半结构RESEARCHONWEB-BASEDDATAWAREHOUSEHeXuemei,TangChangjie,WangLiqiang,ZhangTianqingSichuanUnionUniversity,ComputerScienceDepartment,Sichuan,Chengdu610064AbstractBasedonthefeaturesofwebdata,aprototypeofwebdatawarehouse—W_Warehouseisproposed.
Thewrapperalgorithmtoextractdatafromwebisalsoimplemented.
KeyWordsDataWarehouse,WWW,Semistructure1引言数据仓库是近几年来出现的、发展迅速的一种技术.
数据仓库把一个单位的历史数据收集到一个中央仓库中以便于处理,它是支持决策过程的、面向主题的、随时间而变的、持久的数据集合.
调查研究表明,大多数企业并不缺乏数据,而是受阻于过量的冗余数据和数据不一致.
而且它们变得越来越难于访问、管理和用于决策支持,信息中心面临着开发决策支持应用的需求被大量积压,所要开发的应用变得越来越复杂和耗费人力,数据仓库正是解决这一矛盾的工具.

近年来,WWW成为当今网络上的信息主体,其信息传送和存储量均超过其它类型协议的工具(传送量占21%,存储量占26.
3%).
WWW是一个巨大的数据源,人们自然产生了将WWW和数据仓库相互转换的需求,并形成了当前Web数据库的研究热点.
本文分析Web数据特点,构建了一个能够获取Web数据的数据仓库原型,详细讨论了其中关键的Wrapper算法.

2Web数据的半结构Web中有大量丰富的数据:文本、图片、声音、图像等,这些数据多存在于HTML超文本文件中;没有严格的结构及类型定义,被称为半结构化的(semi-structured)数据.
目前尚没有一个关于半结构化的精确定义,其内涵依赖于用户所处理的问题及观察数据的角度.
图1是一个Web上的半结构数据的例子.

在Web中主要存在两种结构.
一种是超文本结构,依据此结构,逻辑上相关联的结构信息在物理上被链接,利用标签能够将文件以及图象的区域连接到本地计算机或Internet其他地方的文档中去.
另一种是由HTML文本特点决定的文本组织结构,通过HTML语言,用不同的方法将数据组织在文本中.
例如,给定一个HTML页,通过HTML标签容易识别该页的标题(title)或一些复杂的结构,如表格(table)、项目列表(list)等.

Web数据仓库用户感兴趣的往往是这些半结构化的数据.
在HTML文档中,数据所在的行一般是一些没有完整的语法结构的句子片段,从这种文档中提取数据不能简单套用传统的信息提取的方法.

信息提取(InformationExtraction)的目标是根据文档内容来概括、总结文档.
它涉及自然语言处理(NaturalLanguageProcessing,NLP)的技术,主要任务是从文本中识别预先定义的信息类型,如用在商业领域的一个信息提取系统会提取公司名称、产品、设备、商业数据等.
用自然语言处理的方法进行信息提取要求所处理的文本信息具有完整的句法、语法结构.
因为Web半结构数据的特点给Web数据仓库带来了先天的困难,对此我们提出一种新的方法进行信息提取.

图1来源http://www.
internet.
net3Web数据模型及其视图研究表明,一般不能简单地使用自然语言处理的方法来进行Web数据的提取.
根据Web数据的结构特点我们将传统的数据库技术扩展到Web数据,对Web数据源添加数据库模型的概念,引入新的视图定义语言并在其上获取数据.

3.
1数据模型每一个Web页可视为由URL唯一确定的对象,它包含一个属性集合,这些属性对应于Web页中相应的信息段.
属性的类型可以是文本(text)、图象(image)、链点(anchor)等简单类型;也可以是复杂类型,如具有嵌套结构的列表等.
复杂类型属性的值是多值的,如列表属性的值又可以是文本,图象,链点等.
一个Web页的数据模型可以表示为:P(A1:T1,A2:T2,…An:Tn)其中P是Web页的名称,Ai表示属性,Ti表示类型.
图1的数据模型可以表示为:Product{Manufacturer:TEXT;ProductList:LISTOF{Name:ANCHOR;Price:TEXT;}}3.
2视图定义在引入Web页的数据模型基础上定义关系视图,实现用结构化视图表示Web中的半结构数据.

一个针对Web数据模型的视图定义语言的格式为:DEFINEVIEWR(B1:datatype,B2:datatype,…Bn:datatype)ASSELECTA1,A2…,AnONS其中R是关系的名称,B1,B2…Bn是属性名,A1,A2…An是Web页数据模型中的属性,S是数据模型的名称.
在定义视图时将属性的类型转化为数据仓库中数据库管理系统的数据类型,用datatype表示.
W_Warehouse数据仓库原型目前市场上的数据仓库产品解决了从关系型数据库和一些文件系统中获取数据.
但是,还没有一个数据仓库系统很好地解决从Web中提取数据的问题.

W_Warehouse是一个在Windows平台上,用ViscualC++开发的,以我们已经开发的HBaseforWindows为数据库管理系统的数据仓库系统原型.
W_Warehouse的特点及难点都在于从Web中提取数据.

图2为W_Warehouse的结构.
这个数据仓库用HBase的工作区和I/O机制表示从数据源中获取的底层详细数据,新的版本将加入多维数据管理的模块实现用多维数据模型表示综合数据.

目前W_Warehouse支持从SQLServer及Web中获取数据.
VisualC++的MFC类库可以通过ODBC(开放数据库链接)和ODBC驱动程序访问数据库.
而通过WinInet类可以编写使用Http协议从网络数据源(服务器)访问信息的Internet客户应用程序.

各模块的功能如下:(1)WrapperWrapper将查询转换为数据源系统可以理解的命令或查询,并将得到的原始的结果数据翻译为数据仓库中HBase的数据格式.
对每一种数据源需要不同的Wrapper,因为Wrapper的功能依赖于数据源的类型.
对于运作数据库系统(如:SQLServer),Wrapper的功能是将查询转化为在运作环境中的查询,并将数据从运作数据库中的数据模型翻译成数据仓库中的数据模型.

W_Warehouse的难点之一是获取Web数据源的Wrapper模块.
它的特殊困难在于:在数据源端没有标准的查询语言,故对每一个Web页应有特定的应用程序提取数据.
但是作为数据仓库数据源的Web页是不断变化和增加的,对Wrapper程序的硬编码(hardcode)显然是不能接受的.
使一个Wrapper程序可以适用于不同Web页的数据提取成为我们研究的主要问题,本文第5节提出了一个基于机器学习的Wrapper算法.

图2W_Warehouse的结构(2)ViewSpecifierViewSpecifier的功能是提出查询,指出Web页中感兴趣的数据及其关系模型的定义.
Wrapper根据ViewSpecifier所定义的视图提取及翻译数据.
Wrapper根据定义的视图提取数据,放入.
WDB数据文件.
目前在W_Warehouse中用图形界面的形式实现视图的定义.

(3)LoaderLoader将Wrapper获取的数据文件转化为HBase中的DBF数据库文件,装载到数据仓库.
在装载从不同数据源获取的数据时Loader还应有集成数据的功能.

5Wrapper算法在W-Warehouse中Wrapper根据ViewSpecifier定义的视图提取Web中相关数据,由机器来确定哪些是用户感兴趣的数据.
我们采用了机器学习中基于例子进行学习的方法,给Wrapper输入Web中的数据作为训练的实例,Wrapper通过学习获得该页中用户感兴趣的数据的格式描述,然后用模式匹配的方法将此Web页中所有满足此格式描述的数据提取出来.
对于不同Web的页,根据视图定义及训练实例,Wrapper均可提取出用户感兴趣的数据,这一点对于不断增加、变化的Web页是非常有意义的.

图3是此算法的描述.
图3Wrapper数据提取算法的描述(1)对HTML文本预处理HTML文件中没有明确的标记表示数据的结构,结构隐含于标签中.
预处理的目的是利用标签将文本划分为逻辑上的行.
各个Web站点的文档结构各不相同,体现结构所用的标签也不同.
例如,在一些文本中用表示新的一行的开始,而在另一些文本中用表示新的一行的开始.
针对标签的特点,该算法定义了两级分隔符,首先利用第一级分隔符分隔文本,若所得到的行的长度大于50个字符,则用第二级分隔符继续分隔此行.
分隔符不是固定的,针对一些特殊的页面可以修改、增加、删除.

分隔符分为两级:level1:,,,,,,level2:,,,,,,,其中Preprocessor算法如下:CWrapper::GenerateLine(){pFile=OpenHttpFile();//打开一个HTML文件InitDelimiters(level=1);//首先用第一级分隔符//对文件分行while(pFile->ReadString(sz,2))//每次从文件读//入一个字符{if(InTag)如果当前字符在标签中{ReadUntillGetTag();//获得当前标签InTag=false;if(InDelimiters(Tag))//如果当前标签//是第一级分隔符,则新的一行开始{if(strLine[LastLine].
GetLength()>50)//如果上一行的长度大于50,则用二//级分隔符对其再次分行{InitDelimiters(level=2);DivideLine(strLine[LastLine]);InitDelimiters(level=1);}strLine[CurrentLine]=Tag;}elsestrLine[CurrentLine]+=Tag;}else{if(!
strcmp(sz,"Clickherefortheprice此行的行描述为:text1text2text3至此,Learner学习的结果是用户感兴趣的数据所在的行的行描述及其映射规则.

(3)ExtractorExtractor在strLine[]中匹配所有满足LineDes的行,并将数据写入.
WDB文件.
下面是从图1提取数据得到的.
WDB文件.

…CompaqDeskpro2000MtPent-1662.
5Gb32Mb8XCdrom256KCacheWin3.
1/951424.
49Deskpro2000Pent-1331.
2Gb-Hd16MbPci/Isa256KCacheWin3.
1/951009.
29Deskpro2000Pent-1332.
5Gb-Hd16MbPci/Isa256KCacheWin3.
1/951113.
19…W_Warehouse中的数据组织W_Warehouse中的数据按照决策的需要组织成不同主题的数据仓库表.
为了易于OLAP,DSS等数据仓库用户的操作,W_Warehouse构造了多维结构的汇总表.
另外在W_Warehouse中还有对数据仓库所有组成单元的解释性数据—元数据.
图4是W_Warehouse中的数据组织结构.

小结目前数据仓库的研究已经越过了初期的模型研究阶段,数据仓库与WWW的结合是一项方兴未艾环境数据仓库主题1…主题表1…(关系模型)主题表n(关系模型)汇总表1…(多维模型)汇总表n…(多维模型)主题n元数据源数据描述文件Wrapper产生的元数据Loader产生的元数据HBase中的元数据图4W_Warehouse中的数据组织结构的热点技术.
我们在Web数据仓库实现方面作了探索和尝试,在数据的组织及加工方面还需要进一步的研究.

阿里云年中活动最后一周 - ECS共享型N4 2G1M年付59元

以前我们在参与到云服务商促销活动的时候周期基本是一周时间,而如今我们会看到无论是云服务商还是电商活动基本上周期都要有超过一个月,所以我们有一些网友习惯在活动结束之前看看商家是不是有最后的促销活动吸引力的,比如有看到阿里云年中活动最后一周,如果我们有需要云服务器的可以看看。在前面的文章中(阿里云新人福利选择共享性N4云服务器年79.86元且送2月数据库),(LAOZUO.ORG)有提到阿里云今年的云...

安徽BGP云服务器 1核 1G 5M 29元/月 香港云服务器 1核 1G 19元首月 麻花云

麻花云怎么样?麻花云公司成立于2007年,当前主打产品为安徽移动BGP线路,数据中心连入移动骨干网。提供5M,10M大带宽云主机,香港云服务器产品,数据中心为香港将军澳机房,香港宽频机房 cn2-GIA优质线路、采用HYPER-V,KVM虚拟技术架构一、麻花云官网点击直达麻花云官方网站合肥网联网络科技有限公司优惠码: 专属优惠码:F1B07B 享受85折优惠。最新活动 :双11 云上嗨购 香港云主...

CloudCone 新增洛杉矶优化线路 年付17.99美元且简单线路测试

CloudCone 商家在以前的篇幅中也有多次介绍到,这个商家也蛮有意思的。以前一直只有洛杉矶MC机房,而且在功能上和Linode、DO、Vultr一样可以随时删除采用按时计费模式。但是,他们没有学到人家的精华部分,要这样的小时计费,一定要机房多才有优势,否则压根没有多大用途。这不最近CloudCone商家有点小变化,有新人洛杉矶优化线路,具体是什么优化的等会我测试看看线路。内存CPU硬盘流量价格...

web是什么意思为你推荐
免费注册域名怎样免费注册域名呢 要详细的步骤哦国际域名国内域名和国际域名的区别域名注册申请域名怎么申请和注册域名空间什么是域名,空间?免备案虚拟空间虚拟免费空间网站怎么备案重庆虚拟空间重庆合川宝龙城市广场有前途么重庆虚拟空间重庆顺丰快递运的电脑主机19号中午11点到的第二天物流状态还是在重庆集散中心?今天能不能领导件?jsp虚拟空间jsp虚拟主机有支持的吗北京网站空间求永久免费的网站服务器!虚拟主机评测浅谈建站新手如何挑选虚拟主机
yuming 过期域名 西安服务器租用 域名查询软件 vps教程 个人域名备案 warez 腾讯云盘 linkcloud php主机 美国仿牌空间 windows2003iso 英文站群 韩国网名大全 nerds 服务器合租 美国免费空间 域名dns 百度云加速 免费asp空间 更多