1、河海大学硕士学位论文基于多粒度多层次滑动窗口模型的数据流聚集查询技术研究姓名:王颖申请学位级别:硕士专业:计算机应用技术指导教师:冯钧20080601摘要随着信息采集手段的快速发展,很多应用领域的数据呈现出“连续数据流”的形式而不是传统的静态存储结构形式。这些应用领域包括交通监控系统、传感器网络数据管理、金融证券信息分析等等。数据流具有大容量、不可 预测和突发性到达等特点,给传统的数据管理手段提出了挑战性的问题。数据流处理固有的两个基本特点是近似性和适应性,在很多 实际应用中,用 户并不需要得到完全精确的结果,而仅需要一个近似值,因此,实时给出近似 查询结果是数据流处理的主要目标,而数据流处理
2、的适应性是影响近似性的关键因素。本文在详细总结数据流管理体系中的一系列问题的基础之上,对其中的部分关键技术进行了研究和探讨,其中包括滑动窗口处理模型、数据流概要方法以及数据流聚集计算的数据结构等。 论文的主要工作和创新体现在以下三点:()深入研究了滑动窗口模型在数据流处理中的作用和特点,并根据数据流应用中的特征,将多层次划分思想和多粒度描述引入到滑动窗口模型中来,提出了一种多层次窗口模型的建模方法,并对其展开了探讨。()在多层次滑动窗口模型的基础上, 设计了(碰)酉,多粒度多层次聚集树)结构和适合一的不同层次窗口过期数据的几何快照存储结构,使得不仅能支持数据流的简单聚集查询,而且还能支持涉及过
3、期数据的数据流分组聚集和基于条件的复杂聚集查询。()给出了上述两种 结构的数据流在 线聚集与近似查询 算法,能有效地解决有限时空条件下的数据流聚集查询问题。关键词:数据流管理,多层次滑动窗口模型,多粒度多层次聚集树(),几何快照存储结构,聚集 查询学位论文独创性声明:本人所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同事对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意。如不实,本人负全部责任。、【论文作者(签名):壶麴一口易年莎月,日(注:手写亲笔签名)学
4、位论文使用授权说明河海大学、中国科学技术信息研究所、国家图书馆、中国学术期刊(光盘版)电子杂志社有权保留本人所送交学位论文的复印件或电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅。论文全部或部分内容的公布(包括刊登)授权河海大学研究生院办理。、论文作者(签名):皇塑凼谚年多月多日(注:手写亲笔签名)第一章绪论随着信息采集手段的快速发展,很多应用领域的数据呈现出“连续数据流”的形式而不是传统的静态存储结构形式。这些应用领域包括交通监控系统、传感器网络数据管理、金融证券信息分析等等。数据流具有大容量、不可
5、 预测和突发性到达等特点,给传统的数据管理手段提出了挑战性的问题。在传统的数据管理中,存储的是一系列静态的、没有预先定义时间概念的数据记录,除非在记录 中显式定义了时间戳的属性。 传统的数据管理系统()主要用于处理人工发起的、 暂时的、一次性 查询。而数据流的管理在很多方面表现出不同的特性,甚至在管理模式上也是截然不同的。流式应用要求对快速变化的数据流进行在线分析,其查询 是持久的、结果是连续的,而传统的存在的静态数据管理解决方案显然不能满足这种要求。传统的数据处理技术将所有数据存放到数据库或者数据仓库中;系统响应用户提交的查询语句,搜索数据存储媒介,返回 查询结果。当数据规模很大时,数据往往
6、以磁盘或者磁带为介质,因而执行查询操作需要大量的交换,效率低下,不能适 应实时系统的需求。相反,新的数据流处理技术仅维护一个远小于其规模的概要数据结构,从而能够 常驻内存。由此可知,设计一种合适的数据结构在数据流处理中显得至关重要,而这 也是本论文的一个研究重点。本文针对连续数据流的动态变化特性,研究了数据流的多层次滑动窗口模型,能支持在不同时段对数据流进行不同时间粒度的建模;给出相应的内存数据结构,克服了目前相关研究中因执行查询操作需要大量的交换而效率低下的缺点,而且既能支持数据流的简单聚集查询,还能支持涉及过期数据的数据流分组聚集和基于条件的复杂聚集查询;并给出数据流在线聚集与近似查询算法
7、,有效解决了有限时空条件下的数据流聚集与查询问题。研究背景近年来在数据库领域中,数据挖掘, 联机分析处理,内存数据库, 实时数据库,主动查询处理技术,数据库近似查询等技术得到了迅猛的发展,是数据库领域最为活跃的研究方向。这些技术大都依然以传统数据库为研究基点,而传统数据库系统适用于需要持久稳固的数据存储和复杂查询的应用,通常数据库由一系列对象组成,插入、更新、删除等操作没有 查询发生频繁, 查询的结果反映了当前时刻数据库的状态。然而,近几年许 多的应用证明了这种数据模式和查询范例并不能够完全满足应用的需要,如传感器数据位置跟踪、金融 证券管理、流量监控、曲事务日志在线分析等,在这 些应用背景中
8、数据都是以连续的、不可预测和突发性的、快速的、 时变的数据流形式到达,由此产生了一系列新的研究问题。数据流是实时的、 连续的、有序的项的序列(由到达时间隐含表示或显式地由时间戳指定),并按照数据项到达的顺序控制。数据流到达的频率是不被处理系统所控制的,它们是不可 预测和随时间变化的。由于数据流无界性的特点,完整地将数据流即时地存储到本地是不可行的。数据流上的查询在周期性的时间中连续运行,当新数据到达时增量式地返回结果,就是所谓的长时间运行的、连续的、不停滞的和持久 稳固的查询。因此,在数据流应用系统中,不能 简单地将数据流存放到传统的数据库中再进行查询。因为传统 的数据库并不是为不断快速到达的
9、连续数据流而设计的,不能直接支持数据流应用中典型的“连续查询。而且,在对数据流的查询和分析中,近似性和适应性也是两个重要特点,在很多实际应用中,用户并不需要得到完全精确的结果,而仅需要一个近似值,而传统的数据库管理系统所注重的是通过静态的执行计划提供精确的查询结果,不支持近似性和适应性操作。解决上述问题的途径之一就是在内存中维护一个远小于其规模的概要数据结构,当接到用户查询请求时,快速返回近似的查询结果,满足实际应用中仅需要一个近似值的要求。因此,适合于数据流处理的数据结构应当既能满足有限时空条件的要求,又能将查询误差控制在合理范围以内,这也正是本论文的重点研究内容。数据流管理系统的应用领域以
10、及主要研究内容数据流管理系统的应用领域数据流管理系统的应用有以下特征,一方面需要维护大数据量的、快速的、随时间变化的数据流数据;另一方面对系统有很强的实时性要求,需要在规定的时间内做出及时响应,并能 够连续不断地返回查询结果。因此数据流管理系统在以下领域中有着广泛的应用。()空间时间应用很多应用都涉及空间时间数据库,例如交通应用等。交通监控系统中,随着经济的快速发展,城市中 车辆数量的增长速度和城市交通网的修建速度之间的矛盾日益突出,特别是节 假日期间,堵车现象尤为显著,交通 拥堵情况成为世界各大城市面临的共同问题,严 重影响了人们的生活质量。一 辆移动的汽车可以看成是空间时间流上的一个数据。
11、如何实时分析这些空间时间数据, 给出合理化的建议,是一个巨大的挑战。如何构建一个智能的交通监控系统成为目前智能交通领域的研究热点。它是一种理想的交通管理模式,通过计算机网络和遍布各区域的摄像头、传感器等,采集实时交通数据,由交通监控系统处理获得的道路网上的交通信息,科学地控制和引导交通流,从而可以大大地改善交通拥挤状况。空间时间数据库还广泛地出现在商业、制造业中。由于全球化程度加深,越来越多的公司的生产和经营往往跨越多个地理空间。各分公司产生的数据也可以被视为具备空间时间特性实时分析这类数据能够为管理者的科学决策带来便利。()传感器网络数据管理传感器网络可以应用于不同的监控应用中,实时监测、感
12、知和采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理,获得详尽而准确的信息,传送到需要这些信息的用户。其产生的数据正符合数据流数据的特征,它的典型应用包括复杂的过滤和对异常事件警报活动的响应,在多数据流上的聚集查询用于对多个数据源的分析,对单个数据流的聚集查询用来作为单个传感器错误的补偿。典型的应用有交通管理、国防军事、国家安全、环境监测、医 疗卫生、反恐抗灾等领域。()股票行情分析股票信息也是数据流数据的一种,股票价格在线分析涉及到发现数据流数据相关性,识别趋势 ,套 汇时机和未来价格 预测等。典型的 查询如下:最近成交量震荡的最高变更率。查 找所有价格在元元的股票,哪些股
13、票在最近的分钟内在最高标记和最低标记之间并大于最后价格的,哪些股票最近分钟内平均成交量以的幅度震荡。()曲事务 日志分析使用曲日志的在线挖掘,电话呼叫记录,自动化银行取款机处理事务日志等也符合数据流模式特征,目标是发现有趣的客户行为模式,鉴别预示着欺诈的可疑消费行为和预测未来的相关数据值。数据流管理系统的主要研究内容设计有效的数据流管理系统需要对传统数据库的几乎所有方面进行修改或扩充。本领域的热点问题有:在数据模式和查询语言中加入时间、顺序、窗口;数据流上的连续查询处理;实现近似查询的方法如大纲技术、滑动窗口技术等;设计可以重新优化的自适应性查询;设计适合于数据流操作的调度策略;分布式数据流查
14、询的处理;数据流数据挖掘等问题。研究涉及的数据处理技术相当广泛。数据流管理国内外研究现状数据流应用的出现引起了国内外专家和学者的关注,国外很多的大学和机构在流式数据库方面进行了大量的研究工作,国内在这方面的研究还比较少。首先看一下国外现有的原型系统以及研究状况:()斯坦福大学数据流管理系统蝴【:它是一个通用的数据流管理系统。该系统支持一种描述性查询语言()【,用户可以采用注册数据流 查询,也可以直接输入查询计划。可按照用户的查询需求针对数据流进行实时的连续查询。用户或应用程序向系统注册查询,被注册的查询将一直被保留到查询被显式地注销为止。在系统中,用户采用注册的查询经过查询编译器生成查询计划,
15、系统为每个查询产生一个独立的查询计划。在用户直接输入查询计划的情况下,调度策略在有流速突发的情况下可能导致很高的输出延迟,对其改进后可以把输出延迟限定在某个预定义的范围内。()美国加州大学伯克莱分校电信电话数据流管理系统黟印:也是一个通用的数据流管理系统,在开放式关系数据库管理系统黟基础上开发。它 继 承了美国加州大学伯克莱分校的 鲫数据流项目开发成果,以系统为查询处理系统【】,以系统作为负载平衡和容错处理系统。在系统中,注册的数据流查询经过预处理后被变换成一个操作符执行序列,而后交给元组路由选择器。()布朗大学和麻省理工大学联合开发的大型数据流监控系统瑚 【】:它是个处理流监控的数据流管理系
16、统,可以处理实时监控、以时间序列存储的大量历史数据的管理以及包含对历史以及当前数据进行管理的三种典型应用。用户可以通过组合(查询操作符)和(查询操作符之间的数据流)创建查询计划。其它数据流系统主要有缸、拍、咀、等。表对,聊三者进行比较,主要在应 用背景和使用技术方面进行比较。表砸,和的比较开发单位斯坦福大学伯克莱大学布朗大学和麻省理工应用背景通用数据流系统传感器网络传感器网络数据模型关系模型数据流代数查询代数查询语言类语言 图形语言调度策略链式操作排序,元组路由两级查询优化多查询共享成组过滤,共享批处理,操作合并,操作重排序自适应采样、卸载负载平衡、容错处理基于的卸 载与国际上数据流领域极其活
17、跃的研究态势相比,国内数据流技术的研究基本上处于跟踪学习阶段,复旦大学、北京大学、哈尔滨工业大学、东南大学等一些研究机构已经针对数据流的各种相关问题展开研究,发表了一些有关数据流技术的论文。文献概述了如何维护概要数据结构以便迅速获得近似查询结果。文献】探讨如何有效地减少网络中数据流的传输量,文献还提出了一种新的数据流传输方式分布式复式数据流的概念。文献讨论了基于草 图的分布式数据流聚集查询的近似处理算法,利用随机技术,在数据流过时实时计算数据的草图概要;同时采用的新颖的草图分割技术,有效地提高近似应答的精度。文献】采用基于大纲的数据流自适应聚集算子的批处理算法处理数据流,该算法能随流速的变化动
18、态调整自己的执行策略,以便更好地利用有限的系统资源提供尽可能好的查询质量。此外还有一些关于数据流数据挖掘方面的文章,如文献提出一种新的挖掘数据流近似频繁项的算法一一算法。但国内目前具有国际影响的技术成果很少,有待进一步提高。数据流上聚集查询的研究内容以及研究现状数据流上聚集查询的研究内容聚集计算主要包括计数(),求和(啪),平均值(),最大值 ()【),最小值()等等。聚集计算在传统数据库应用中,是一个最基本的功能,也是应用最频繁的功能。随着数据流的出现,数据流聚集计算成为一个新的研究热点。数据流聚集计算在数据流管理系统和应用系统中起着重要作用。传统数据的聚集统计研究已经相当成熟,但数据流的聚
19、集计算研究尚处于初级阶段。传统数据库上的查询是静态的、反映数据库历史状态的一次性查询,而在数据流上的查询是动态的、 预定义的、反映数据流 历史、当前及未来状 态的连续查询,并且数据流上的查询结果往往也是一个数据流。因此,传统数据库上的聚集查询理论并不适用于快速变化的数据流上的连续聚集查询。并且在大部分数据流查询应用中,并不需要精确地查询每一条记录,而是需要一些聚集值。也就是说在数据流查询中,聚集查询比数据流上的数据查询更为重要。因此,数据流上的聚集查询技术在数据流理论中占有着极其重要的地位,如何在快速变化的连续数据流上进行聚集查询成为一个非常重要的课题。例如在以交通调度为目的的交通监控系统中,
20、除了对特定车辆的监控外,更加关注道路网上车辆聚集信息的获取,如某时间段、某个区域的交通流量、平均速度等信息。例如“南京市西康路上的车辆早上从七点半到八点的车流量是多少?”,人们往往会关心一个总量或是平均的情况,而不是关心到底哪辆车通过西康路的速度。与普通关系数据库中的聚集查询不同,移动对象上的聚集条件中可能包括空间()、时间()、或者 时空()谓词。如上面提到的交通分析的例子,用户需要分析某个空间区域(例如某个路口或者路段)、某段时间(例如上下班交通高峰时期)的车辆的平均速度(均值是一个聚集函数),该要求可以写成如下聚集查询:,(劝产查询平均速度宰坩巧誊根据车辆历史信息和地图进行查询宰严在给定
21、地域范围内查询木“ 西康路”产给定地域范围为西康路宰:,:】产查询 :时段宰产查询每日平均速度唪连续数据流上的聚集查询依据不同的数据流应用环境,对精度的要求也有所不同,可能具有不同的近似概率或近似特征。一般地,聚集查询方法主要有两类:在线联机查询处理和预计算提纲方法。第一种方法由用户控制计算结果的情况并在前面的计算结果的基础上计算数据流下一时刻的聚集结果并与之改进;第二种方法需在查询之前建立或存储查询大纲(又称为概要数据结构),接到聚集查询时由查询大纲直接得出查询结果。第二种方法需要对查询大纲进行更新维护,这些工作都是基于预处理方法,在这种情况下,所设计的算法应能简要概括出并预先存储关于数据流
22、的大纲,并在适当的范围内保证查询大纲的准确性。该大纲可以存储在一个小空间内,它的规模至多应该是次线性的,即如果数据流的大小为,则大纲的大小不超过伙),并且能够用来对用户查询提供近似查询结果。这里的用户查询要求对近似结果有合理的保证,即保 证近似查询结果在一定的误差范围内。这种近似的联机查询计算结果特别适合大多数数据流处理的应用环境,如在前面所述的时空应用,传感器网络数据管理,股票行情分析,事务日志分析等等,其对数据流的查询都不是以提供一个精确的查询结果为目标,而是需要系统提供一个对其应用有价值的聚集值。数据流上聚集查询的研究现状到目前为止,基于 连续数据流上的聚集查询研究尚处在起步阶段,国内外
23、对于数据流上聚集查询研究成果都不够系统,已有的研究成果也主要集中在连续数据流上的连接算法以及近似查询算法研究上。连续数据流上的精确聚集查询的研究思路还仅局限在如何优化连接,先得到 连接 结果,然后再由连接结果得出精确聚集值,提出了埠法,“博法以及算法,而这些算法大都仍基于传统数据库查询思想,并不能很好地解决数据流上的聚集查询问题。而在近似聚集查询算法中,提出了如窗口查询【、础技术【、直方图 、小波技术蝴】和抽样技术【”】等大纲生成算法,但没有提出如何在大纲的基础上实现连续数据流上的聚集查询。本文的主要工作在数据流处理过程中,一般对最近时段的信息要求比较详细,而对较远时段的信息往往只需掌握概况。
24、为此,本文提出了一种多层次时间窗口模型,能支持在不同时段对数据流进行不同时间粒度的建模:设计了多时间粒度的聚集树结构和存放过期数据的几何快照存储结构;提出了数据流在线聚集与近似查询算法,通过性能分析可知,无论在存储空间还是处理时间上都能满足数据流在线聚集与查询分析的苛刻要求,从而有效解决了有限时空条件下的数据流聚集与查询问题。论文主要工作和创新体现在以下三点:()提出了一种多层次滑动窗口模型,能支持在不同时段对数据流进行不同时间粒度的建模,并对其展开了探讨;()在多层次滑动窗口模型的基础上, 设计了多粒度多 层次聚集树(,粕撕)结构以及适合存储从的不同层次窗口流出的过期数据的几何快照存储结构,
25、使得不仅能支持数据流的简单聚集查询,而且还能支持涉及 过期数据的数据流分组聚集和基于条件的复杂聚集查询;()给出了上述两种结构的数据流在线聚集与近似聚集查询算法,能有效地解决有限时空条件下的数据流聚集与查询问题。论文结构全文共分为六章,具体 组织如下:第一章介绍课题的研究背景并概述相关领域的研究工作,提出本文的主要研究内容及研究思路。第二章主要介绍了数据流管理系统中的基础知识以及所面临的挑战。第三章主要介绍数据流建模方面相关知识,提出了一种多层次时间窗口模型,并针对该建模方法展开探讨。第四章基于第三章中提出的多层次时间窗口模型,设计了过期数据的几何快照存储结构和多粒度多层次聚集树结构,并给出了
26、基于两种结构的在线聚集算法与近似查询算法,从而有效地解决了有限时空条件下的数据流聚集查询问题。第五章讲述本次实验过程,并对实验结果进行分析。第六章则是对本次毕业设计的总结和展望。第二章数据流管理概述由上一章可知,对于目前众多领域中的应用而言,数据流管理是至关重要的,因此本章主要对数据流管理方面内容进行了介绍。首先介绍数据流以及数据流查询的特点;然后根据这些特点,引出传统数据管理和数据流管理之间的比较;最后给出数据流管理技术面临的一些挑战性问题,并且重点说明了其中的几个主要问题。数据流的出现近年来,出现 了一类新的数据密集型应用, 这类应用中数据的特征是:大量、连续、无限、快速、随时间 改变。
27、这类数据持续到达,数据到达速度及数据量可能是不可预知的,这 种数据称为数据流。这类应用出现在许多领域中,包括传感器网络、交通管理、网络监控、 电信数据管理、股票分析、生产制造 过程等。在这类数据流模型中,单独的数据单元可能是相关的元组,例如网 络测量、呼叫记录、传感读数等产生的数据。也有可能是无关的独立元组,例如交通管理、生 产制造过程等。由于 这些数据以大量、快速、随 时间改变的数据流形式持续到达,以一种流的形式源源不断地进入系统,所以无法以永久的关系形式全部保存下来之后再进行处理。因此, 许多已有的数据库技术难以应用于数据流,由此产生了一些新的基础性研究问题。数据流的特点数据流是一个实时的
28、、 连续的、潜在无界的、有序的(隐含地通过到达时间或者明确的时间戳)项的序列。与传统关系数据库中的数据相比,数据流数据具有许多自己的特点【】: 数据流中的数据元素数据流中的数据元素在线到达的,即实时性;系统无法控制将要处理的新到达的数据元素的顺序,即无法预知性:数据随时间变化, 规模宏大且无界,即大小无界性;数据流中的数据一旦流过,就被丢弃,不能再次被访问,即一遍扫描数据;数据流中的查询是相对静止不变的,而数据是时刻变化的,即持续查询性。数据流查询数据流上的查询【】与 传统数据库中的查询类型基本上相似,但是有一个主要区别,数据库中的 查询主要是一次查询,数据流上的查询则更多的是连续查询。一次查
29、询是指查询提交后,系 统根据当前的数据集合的快照给出查询的结果。连续查询是指查询随着新数据的到来而不断地返回查询结果。与一次查询相比,连续查询的特点是长期运行。在数据流管理系统中, 连续查询被注册后,有两种方式 终结:一是注册的查询中明确的指出了查询持续的时间,二是用户明确地提出撤销该查询的请求,否则随着数据流新的数据元素的到达,该查询将源源不断地返回查询结果。数据流上的查询可以分为预定义查询和即席()查询两种查询形式。预定义查询是一类在任何相关数据到来之前在数据流管理系统已经定义的查询。预定义查询通常是连续查询。预定义查询注册到系统后,主要针对数据流后续到来的数据计算查询结果;而即席查询是针
30、对数据流中流过的数据进行查询,即对历史数据进行查询。由于系统无法保存数据流流过的所有数据,系 统只能通过提取和组织流过数据的概要信息来支持即席查询,因此即席查询一般只能得到近似的查询结果。传统的数据管理和数据流管理比较由上面介绍的数据流特点可知,在数据流应用中,如果把持续到达的数据存储到传统数据库管理系统()中,用的传统操作方式对数据流数据进行操作是非常困难的。 传统的并不是为快速连续地存放独立的数据单元而设计的,而且也并不支持“连续查询(舐),而 “连续查询是数据流应用的典型特征。另外,现在人们都 认识到,“近似性(印)和“自适应性(够)是对数据流进行快速查询和其他处理(如数据分析和数据采集
31、)的关键要素,而传统 的主要目标恰恰与之相反:通过稳定的查询设计,得到精确的答案。所以,传统在支持流式应用上的局限性是很明 显的,存在的静 态数据管理解决方案不能满足应用要求,传统的数据管理体系必须转变才能适应新的需求。如图为传统数据处理模式和数据流处理模式的比较,由该图可知,传统的数据处理技术将所有数据存放到数据库或者数据仓库中;系统响应用户提交的(数据操纵语言)语句,搜索数据存储媒介,返回 查询结果。当数据规模很大时,数据往往以磁盘或者磁带为介质,因而执行查询操作需要大量的交换,效率低下,不能适应实时系统的需求。相反,新的数据流处理技术并不保存整个数据集,仅维护一个远小于其规模的概要数据结
32、构,从而能够常驻内存。()传统数据处理模式()数据流处理模式图传统数据处理模式和数据流处理模式的比较该图从高层次上说明了两种管理模式的区别,传统的数据库本质上存储的是静态数据,主要处 理一次性查询;而流式系统则利用持久的、存储的查询处理到来的数据。也就是说,传统 的数据管理体系结构完全被改变了。本质上的区别决定了需要重新考虑许多数据管理和处理方面的问题。从上面的比较可以分析得出,传统的数据管理模式和流式数据管理模式主要有以下一些区别:()数据模型:传统的数据管理中是持久稳定的数据模型,最为成熟的是关系模型,所存储 的是关系元组,其他 还有数据文件等半结构化形式。而流式数据则呈现出的是瞬间的“流
33、形式,与传统模型相比较,动态性更强一些。()查询的模式:从上面的图的比较来看,传统的数据库所面对的查询是一次性的,或者是增量式的,对于固定的查询及时返回查询结果;而流式数据的查询中,更多的是注册的连续查询,而且返回 结果是随时间变化而变化的,因此查询结果也是流式的。()存储模式:随着存储技术的发展,大容量的存储己经成为很普遍的解决方案,正适应了 传统静态存储的需求,海量数据的管理成为传统数据管理的主题之一;但是在数据流环境下,由于实时性等多种需求,只能存储在有限的主存空间中,通常采用摘要存储的方式。()数据更新情况:在以往的数据存储中,数据更新的速度是比较慢的,通常是批量进行更新的;在数据流模
34、型中,频繁的更新是其主要特征之一,随着数据的到达实时更新。()实时性:传统的数据管理很少支持实时性应用;而数据流应用的实时性要求很高。下表很好地显示了传统数据库管理系统和数据流管理系统的区别:表传统数据库管理系统和数据流管理系统的区别传统数据库管理系统()数据流管理系统()持久的关系瞬时的流一次查询连续查询随机访问顺序访问“无限”的磁盘空间受限的内存只有当前的状态时间历史数据是重要的没有实时的服务实时需求相对较低的更新率可能有几个的到达速率数据流管理面临的挑战数据流管理技术是一门新技术,在很多问题上尚处于发展的阶段,因此在很多方面都会面临一些挑战性的问题。这里仅说明几个主要的问题:()数据流模
35、型的研究由上面所述的数据流的特点可知,数据流模型应该能够考虑下面两个问题:用有限来表示无限。同时处理大量数据是不可能的,处理无限的数据更是不可能, 应该采取一种把无限数据集映射到有限数据集的方式进行处理。模型能够增量式的维护。在实时的动态情况下,数据流是不断更新的。因此,在有限的主存中维持一定数量的数据单元,根据一定的更新机制,进行实时的更新和维护。()存储空间的影响和近似性处理由于数据流潜在的无界性,数据存储的问题就成为了数据流管理中的一个重要问题。在数据流上计算精确的结果所需要的空间可能是无限增长的,因此,现存的一些的算法是不适合数据流应用的。因为在数据流应用中,实时性是非常重要的一个方面
36、,在先前到达的数据被处理的时候,新的数据还会随时到达。这就要求数据流中的每个元素的处理时间是很短的,如果处理算法不能跟上数据流的更新速度,则数据处理的延迟就会很大。因此利用外部存储的解决方法是不适合的。因此通常的做法是把数据保存在有限的主存空间中。与此同时需要考虑的另外一个问题就是数据处理精确性的问题。对于部分查询来说,在有限的存储空间中是能够得到准确结果的。但是对于一些查询,如果事先不知道输入数据流的大小,在一定的存储空间中得到精确的结果是不可能的。所幸的是,对于大多数的数据流应用,高质量的近似结果是可以接受的。因此数据流处理的近似方法成为了研究的重点,同时也是众多研究者所关注的热点问题,提
37、出了很多有效的解决方法,其中涉及到的技术有很多,例如:草图( 鹤)技术、随机采样(:锄曲、直方图(伊 锄)、小波()等等。基于这些摘要技术,就可以处理相应的数据流的近似查询。()数据流的波动性和适应性调节数据流的不可控制性使得数据处理变得复杂化,从而决定了数据流的不稳定性,在数据处理过程中需要重点考虑数据的波动性的影响,波动性主要体现在两个方面:一是数据量的波动性,由于数据流中元素的到达是不可预测的,未来到达的数据量也是无法预知的,数据量的波动是实际应用中经常遇到的情况。另外一个是更新速率的波动性,数据更新的速率也是不可控的,因此如何适应不同速率的数据流也是数据流管理的重点问题之一。数据流的波
38、动性对数据管理的影响是很明显的,为了消除这些影响需要采取一些处理机制。从上面的介绍可以看出,数据流 查询处理是带有一定的近似性的,因此适应性调节应该与近似性结合起来,当检测到流入的数据的波动性超过一定的程度,则应该对近似摘要结构进行相应的调节,保证处理的正常进行。其中涉及两个方面的难点,波动性的 检测方法和适应性调节方法。()块查询操作在数据流上的实现块查询操作()是指那些只有得到所有的输入之后才能得出查询结果的查询。排序就是典型的块操作,此外,还有一些集合性操作例如、等等,这些操作都不适和数据流模型,因为数据流是无限的。如果用传统的查询操作树来表示数据流的连续查询,则块操作是不能插入到树结构
39、中的,块 操作把一个数据流作为输入,是无法得到整个输入集合的,也就无法产生最终的结果。但是排序和集合性查询在实际应用中是非常常见的。如何有效解决这个问题是数据流计算中一个重要的挑战性问题。()查询处理机制及查询优化在数据流管理中存在大量的连续查询,而且是长期运行的。在运行期间,数据流的数据特征、数据到达速率、查询的数量都是相当可观的。因此在处理过程中需要采取一定的处理机制进行协调和管理,为了处理波动性,操作必须是适应性的。带来的问题主要有两个方面:资源管理:需要处理多重查询、操作和概要之间的动态资源分配。概要存储管理方法是在给定大小的存储空间内,优化概要结构获得更高的准确性。一个重要问题是如何
40、在多重的算子和查询之间共享概要存储。此外,还包括资源分配的平滑适应及其对吞吐量和准确性的影响。系统状态变化时,需要系统具有适应的再分配能力。问题的实质是准确性和资源的折衷。除了存储空间之外,还有计算和资源等。整体的优化问题是给定一系列查询,定义准确性为查询或算子的资源分配的函数,目标是确定最优的资源分配和最高的准确性。动态调度:系统需要处理多重查询计划调度的问题,调度需要提供操作内部和操作之间的速率同步问题。到达速率和输出的时变性带来一定的复杂性。调度的目标是使得响应时间和(埘州,服务质量)达到最优化,调度还需要考虑算子间的内存分配,包括到达流的缓冲区管理,磁盘上摘要的容量和个别查询的性能要求
41、等等。()查询历史数据在数据流的计算模型中,一旦一个数据项流过, 则不能再对其进行重新访问。 这种局限性意味着,在一些数据已经流过的情况下发布的即席查询将不可能得到精确的结果。一种简单 的解决方法是确保即席查询只允许涉及未来的数据,也就是说,即席查询在数据流开始的地方发布,任何已经过时的数据都被忽略。这种方法对某些应用来说可能是可行的,然而它仍然存在着许多问题,不能完美地满足需要。一种更好地处理历史数据的即席查询的方法是利用数据流的概要(通常意义的大纲或聚集)。采用这种方法需要事先确定如何最有效地利用内存资源,以便对一定范围的未来可能出现的查询给出最近似的查询结果。本章小结本章主要介绍了数据流
42、管理系统中的基本概念与基础知识。首先介绍了数据流的特点以及数据流查询;然后根据流式应用区别于传统应用的特性进一步分析了传统的数据管理和数据流管理的区别,进而说明研究的必要性;最后给出数据流管理所面临的挑战。下面的第三章和第四章将对其中的部分关键技术进行了研究和探讨,其中包括滑动窗口处理模型、数据流概要方法等。第三章数据流建模前面已经提到,数据流建模是数据流研究中的基础问题,是数据流管理和分析不可缺少的重要组成部分。数据流模型反映了数据流的基本特点,适应数据流的处理需求。在各研究机构的研究中分别提出了与自己的应用背景相关的数据流模型。本章首先从数据流的形式定义谈起,然后介绍了当前已有的一些数据流
43、模型,并有重点地介绍了滑动窗口模型以及在此模型基础上的基本窗口技术,最后引入多层次滑动窗口模型的概念,并针对该建模方法展开探讨。数据流形式定义通常将数据流表示为一系列连续而有序的乃扮二元组组成的序列。其中为元素的时间点(砌砌),表示实体(觑册)元素。 实体部分包含了数据流中元素所表示的信息,假设其中每个,包含七个属性凰为,以,设属性的取值域为如,则称彳蚋如,儡),如憾一)为川勺属性空间。则元素的取值空间为馏觑妒如聊)如阻)。需要说明的是,每个属性的取值可以是数值型的,有其特定的上下界,即:觑嘏)【胁,】;也可以是范畴型的,即:觑娥),其中 胪函,如, ,厶。对于复杂数据类型来讲,还会有更 为复
44、杂的描述方法。对于不同的应用特点, 时间点是具有不同含义的。这里主要区分两种特征的时间点,一种是强约 束性的,表示绝对的时间含义,也就是 时间戳,主要用在基于 时间的表示形式中。时间戳可以是显式的(),即数据的某个属性与现实中的时间相关,可以作为时间 戳;也可以是隐式的(),即系统给元组加上一个时间维表示时间戳,隐式的 时间戳用在那些数据源不包含时间信息的情况下。此外,还有一种具有较为松弛的约束, 仅表示先后的顺序,或者与元组相关的准确时间不是很重要,而只要强调最近和久远的概念,主要用于索引实体在序列中的位置,主要用于基于元组的表示形式中。通常情况下,还可以把数据流简单看成一系列元素组成的有序
45、序列,即可以表示为口,口,口 实际应用中是适合的,因 为在一些应用中,通常关心的是 单一的属性,而这些数据的 时间戳是很明确的。例如:网络监控中某一监测点的数据流量等。数据流模型分类针对不同的应用领域,研究者们分别提出相应的数据流模型,其中最具有代表性的模型就是窗口模型。窗口模型的主要思想是,在大部分应用中,用户往往关心的只是最近的数据。例如,只有一个星期之内的数据被认为是对结果有用的,更为久一点的数据就会被丢弃。因此在建模过程中强调最近数据的重要性,把各种操作的范围限制在易管理的窗口内处理,这是一种比较直观的建模方法。如何定义模型强调最近数据的重要性是关键所在。数据流模型根据不同的时序范围可
46、以划分成多种子模型,包括快照窗口模型()、界标窗口模型()和滑动窗口模型()。在使用窗口之前,首先要确定窗口边界,即确定窗口的大小。通常根据时间定义窗口的大小为(如窗口保留从时间点幻开始,幻刀时间段内的数据)。时间一般可分为:物理时间:指流数据的创建时间(或进人系统时的系统时间)。例如,基于物理时间的查询:“前分 钟通过公路 计费站的车辆;逻辑时间:指流数据在窗口中的相对位置(比如数据的顺序号)。例如,基于逻辑时间的查询:“通过公路收费站的最后辆车辆。()快照()窗口模型即将操作限制在两个预定义的时间戳之间。例如,如图所示,在:,查询“:至:之间通过公路收费站的所有车辆。窗口的两个边界都是固定的,即两个边 界分别为:和:。(图中的