(计算机应用技术专业论文)时态处理构件tempdb中时间粒度的研究与实现.pdf_第1页
(计算机应用技术专业论文)时态处理构件tempdb中时间粒度的研究与实现.pdf_第2页
(计算机应用技术专业论文)时态处理构件tempdb中时间粒度的研究与实现.pdf_第3页
(计算机应用技术专业论文)时态处理构件tempdb中时间粒度的研究与实现.pdf_第4页
(计算机应用技术专业论文)时态处理构件tempdb中时间粒度的研究与实现.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)时态处理构件tempdb中时间粒度的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中山大学硕士学位论文 时态处理构件t e m p d b 中时问粒度的研究与实现 时态处理构件t e m p d b 中时间粒度的研究与实现 硕士生:王俊 指导教师:汤庸教授 专业:计算机应用技术 摘要 随着信息技术的发展,越来越多的应用系统需要处理时态信息。传统的数据 库系统已经不能满足用户对时态信息处理的需求,于是时态数据库技术就成为新 一代数据库研究重点领域之一。 时态数据库中,时间粒度是衡量时态元素离散程度的单位。不同的应用领域, 可能需要不同的时间粒度模型来描述时间属性,功能完善的时态数据库系统应能 支持用户对时间粒度的管理,包括时间粒度的定义、针对不同时间粒度的查询等 操作。 经过数十年的发展,虽然时态数据库理论研究取得了丰硕的成果。但由于技 术和标准化等多方面原因,完整的时态数据库系统产品至今未能出现。中山大学 数据库与协同软件实验室应时所需,采用中间件形式,实现了基于a t s q l 2 时 态查询语言的时态处理构件t e m p d b 。t e m p d b 存在于在应用层和关系数据库之 间,通过执行a t s q l 2 语句到标准s q l 的转换来实现用户时态信息的处理操作。 但是,t e m p d b 并没有实现对时间粒度管理的支持。 本文在保持t e m p d b 原有架构基础上,扩展出时间粒度管理层来实现对时 间粒度操作的支持并保持版本向前兼容。论文系统地阐述了t e m p d b 扩展实现 时间粒度管理的意义和所需的理论基础,讨论了t e m p d b 扩展时间粒度操作的 方案,并分别针对时态数据定义、时态数据操纵和时态数据查询三种语句对 a t s q l 2 范式进行扩展以方便在t e m p d b 中支持时间粒度操作。文章还进一步分 析了时间粒度管理层的设计与实现。时间粒度管理层的主要部分是粒度元数据管 理模块。在介绍元数据库管理模块时,文章主要分析了日历系统的存储、创建与 系统提供的接口。其次,文章分别阐述了扩展后时态d d l 、时态d 池和时态 q u e r y 三种a t s q l 2 语句的时间粒度处理算法。接着,论文选择一种常用的日历 中山大学硕士学位论文 时态处理构件t e m p d b 中时问粒度的研究与实现 系统,存储粒度元数据信息,新建数据库实例,并展示实验结果。最后,文章还 分析了扩展后t e m p d b 中间件的不足,并指出需要完善的工作。 关键词:时态数据库,时态数据库构件t e m p d b ,时间粒度,a t s q l 2 ,时 间粒度转换 l l 中山大学硕士学位论文 时态处理构件t c m p d b 中时间粒度的研究与实现 r e s e a r c ha n di m p l e m e n t a t i o no nt e m p o r a lg r a n u l a r i t yo f t e m p o r a ld a t ap r o c e s s i n gc o m p o n e n t m a j o r :c o m p u t e ra p p l i c a t i o nt e c h n o l o g y n a m e :w a n gj u n s u p e r v i s o r :p r o f e s s o rt a n gy 0 n g a bs t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o nt e c l m o l o 百e s ,m o r ea n dm o r ea p p l i c a t i o ns y s t e m s r e q u i r et e m p o r a l i n f o r m a t i o n p r o c e s s i n g t r a d i t i o n a lr d b m sc a n t f u l f i l lt h e r e q u i r e m e n t sa l r e a d y , t h u st e m p o r a ld a t a b a s eb e c o m e so n eo ft h em o s ti m p o r t a n t r e s e a r c hf i e l d so nt h en e w g e n e r a t i o nd a t a b a s e i nt e m p o r a ld a t a b a s e ,t e m p o r a lg r a n u l a r i t yi st h eu n i tf o rm e a s u r i n gt e m p o r a l e l e m e n t d i f f e r e n ta p p l i c a t i o n sm a yr e q u i r ed i f f e r e n tt e m p o r a lg r a n u l a r i t ys y s t e m s a ni d e a lt e m p o r a ld a t a b a s es y s t e ms h o u l db ea b l et os u p p o r tt h em a n a g e m e mo f t e m p o r a lg r a n u l a r i t y , i n c l u d i n gt h ed e f m r m no ft e m p o r a lg r a n u l a r i t y , q u e r i e sb a s e d o nd i f f e r e n tg r a n u l a r i t i e sa n ds o0 1 1 a f t e rs e v e r a ld e c a d e so fd e v e l o p m e n t ,a l t h o u g ht h et h e o r yo ft e m p o r a ld a t a b a s e h a sa c h i e v e df r u i t f u lr e s u l t s ,a c o m p l e t et e m p o r a ld a t a b a s ep r o d u c th a s n tb e e n d e v e l o p e ds of a r i no r d e rt os a t i s f yp r e s e n ta p p l i c a t i o nr e q u i r e m e n t ,d a t a b a s ea n d c o - s o f tr & dc e n t e ro fs u ny a t s e n u n i v e r s i t yc h e o s e dt ob u i l dt e m p o r a ld a t a p r o c e s s i n gm i d d l e w a r en a m e dt e m p d b t e m p d bi sb a s e du p o na t s q l 2l a n g u a g e , w h i c he x i s t sb e t w e e na p p l i c a t i o nl a y e ra n dr d b m s i tc a i la c h i e v et h ec o n v e r s i o n f r o ma t s q l 2l a n g u a g et os t a n d a r ds q lh a n d l e db yt h eu n d e r l y i n gd a t a b a s es y s t e m h o w e r v e r , t e m p d bc a n ts u p p o r tt h em a n a g e m e n to ft e m p o r a lg r a n u l a r i t y t h ep a p e rh a sa c h i e v e dt h em a n a g e m e n to ft e m p o r a lg r a n u l a r i t y , w h i l e r e m a i n i n gt h eo r i g i n a ls t r u c t u r eo ft e m p d ba n dm a i n t a i n i n gu p w a r dc o m p a t i b i l i t y t h ep a p e rd e t a i l st h es i g n i f i c a n c ea n db a s i ct h e o r yo fa c h i e v i n gt e m p o r a lg r a n u l a r i t y m a n a g e m e n t i nt e m p d b t h ep r o g r a mh o wt oe x t e n d t e m p o r a lg r a n u l a r i t y i i i 中山大学硕士学位论文 时态处理构件t c m p d b 中时问粒度的研究与实现 m a n a g e m e n ti nt e m p d bh a sb e e na l s od i s c u s s e d i no r d e rt os u p p o r tt h et e m p o r a l g r a n u l a r i t ym a n a g e m e n t ,a t s q l 2l a n g u a g eh a sb e e nm o d i f i e d i nt h r e ek i n d so f s t a t e m e n t s ,i n c l u d i n gt e m p o r a ld a t ad e f m i t i o nl a n g u a g e ,t e m p o r a ld a t am a n i p u l a t i o n l a n g u a g ea n dt e m p o r a lq u e r yl a n g u a g e t h e nt h ep a p e rp r o p o s e st h ec o n c e p to ft h e l a y e ro ft e m p o r a lg r a n u l a r i t ym a n a g e m e n t t h el a y e rc o n t a i n sa ni m p o r t a n tm o d u l e , w h i c hi sg r a n u l a r i t ym e t a d a t am a n a g e m e n tm o d u l e w h i l ei n t r o d u c i n gt h eg r a n u l a r i t y m e t a d a t am a n a g e m e n tm o d u l e ,t h ep a p e ra n a l y z e st h es t o r a g e ,c r e a t i o na n dt h e i n t e r f a c e s p r o v i d e db yt h e c a l e n d a rs y s t e m t h ep a p e rd e t a i l st h ep r o c e s s i n g a l g o r i t h m so ft e m p o r a ld d l ,t e m p o r a ld m la n dt e m p o r a lq u e r yl a n g u a g e t h e nt h e p a p e rh a sd i s p l a y e da n da n a l y z e dt h er e s u l t so ft h ee x p e r i m e n t f i n a l l y , t h ep a p e r h a s d i s c u s s e dt h ed e f i c i e n c i e so ft h ee x t e n d e dt e m p d b ,a n ds h o w st h ei s s u e sw h i c hs t i l l n e e dt or e s e a r c h k e yw o r d s :t e m p o r a ld a t a b a s e ,t e m p o r a ld a t a b a s em i d d l e w a r et e m p d b , a t s q l 2 ,t e m p o r a lg r a n u l a r i t y , t e m p o r a lg r a n u l a r i t yc o n v e r s i o n i v 论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:邈 日期:迎f ! :兰 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即:学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电 子版和纸质版,有权将学位论文用于非赢利目的的少量复制并允许论 文进入学校图书馆、院系资料室被查阅,有权将学位论文的内容编入 有关数据库进行检索,可以采用复印、缩印或其他方法保存学位论文。 学位论文作者签名:易绽 日期:沙。年6 月z 日 导师签名:脚 同期:叫口年莎月。目 中山大学硕士学位论文 时态处理构件t e m p d b 中时问粒度的研究与实现 1 1 研究背景 第1 章绪论 时间是运动变化的表现形式,是自然界中客观存在的固有属性。在某些特定 领域的应用系统中,往往需要描述并处理对象的时间属性。这些集成了时态信息 处理功能的系统,称为时态信息系统。时态信息系统中,随着时间变化的信息称 为时态信息,描述时态信息的数据,称为时态数据。从数据库角度研究时态信息 的表达、存储、管理等处理技术,称为时态数据库技术【1 1 。 传统的数据库系统只记录数据的瞬时状态,不能很好地反映事物的发展变化 过程。虽然它也支持用户自定义时间,但并不提供时态操作,与时态相关的业务 逻辑只能由程序员分别设计到各自的应用程序中。随着信息技术的发展,某些领 域,如电子政务、电子商务、数据仓库、决策支持等信息系统中,对时态信息处 理的需求日益迫切。传统的只记录瞬时状态的数据库系统已经不能满足需求,人 们转而研究时态数据库技术【1 2 】。 时态数据库技术的研究始于上个世纪7 0 年代。中山大学数据库与协同软件 实验室经过多年研究,参阅了大量文献,把时态数据库技术的起源与发展分为3 个时期:开创期( 1 9 8 2 年以前) 、理论与模型探索阶段( 1 9 8 3 1 9 9 3 年) 、应用与 发展阶段( 1 9 9 4 年以来) 【l 】。开创期的两个标志性成果是加州大学洛杉矶分校j b e nz v i 和纽约大学的j a m e sc l i f f o r d 在1 9 8 2 年的博士论文【3 1 。理论与模型探索 阶段,计算机学术界在时态数据库领域研究丰硕成果,形成许多时态数据库模型 和时态信息处理的方法,如t q u e l t 4 、t e m p s q l t 5 1 、t r c ( t e m p o r a lr e l a t i o n a l c a l c u l u s ) 1 6 】、t s q l 7 1 、o b j e c th i s t o r y 8 1 等时态数据库模型的提出。这个时期, a t a n s e l 、j c l i f f o r d 等学者曾在1 9 9 3 年共同编辑出版的总结性著作【9 】中对此前国 际时态数据库技术的研究作出了全面的总结,对时态数据库研究产生了深远的影 响。应用与发展阶段,学术界主要追寻的是数据模型的“标准化和“产品化 , “标准化 方面取得的突出成果是时态数据模型t s q l 2 的提出i l o l ,而“产品化 方面的具有代表性成果是基于a t s q l 2 语言的时态数据库系统t i m e d b 的实现。 目前,时态数据库的发展处于第3 阶段。 中山大学硕士学位论文 时态处理构件t e m p d b 中时问粒度的研究与实现 纵观时态数据库技术几十年的研究与发展历程,国内外研究成果主要集中在 基础理论、时态数据库模型、时态查询语言的标准化和时态数据库设计等方面。 但很遗憾,迄今为止,并没有真正实现一个如同传统关系数据库一样,既实现了 成熟的数据管理功能,如数据定义、存储、完整性控制、并发控制、事务处理等, 又实现时态处理功能的商业时态数据库管理系统】。这一方面是由于目前时态数 据库理论、技术、标准化工作还不够成熟;另一方面是由于传统的数据库系统应 用已经很广泛,产品提供商不会贸然改变现有的d b m s 结构。时态数据库管理 系统并没有足够让人感兴趣的市场空间。 目前,时态数据库应用方面的产品主要采用分层的设计思想,以中间件的形 式充当商业关系数据库的前端软件。国外,瑞士t i m e c o n s u l t 公司于1 9 9 8 年推 出了t i m e d b 。t i m e d b 是一个实现了双时态处理功能的数据库前端构件,所支 持的时态查询语言是a t s q l 2 ( a p p l i e dt s q l 2 ) 。该软件的主要功能是实现 a t s q l 2 语言到标准s q l 语言的转换,从而支持时态数据管理功能。它的出现 验证了时态数据库系统的可行性,并实践了许多实质性的设想。国内,中山大学 数据库协同软件实验室对该领域也进行了一系列研究工作,除了产生一系列的著 作和论文外【1 3 j 引,时态数据库处理构件t e m p d b 是多年研究工作取得成果的集 中体现,目前最新版本t e m p d b 2 1 可供全球免费下载使用【1 2 】。t e m p d b 也是传 统关系数据库系统的前端软件,目前虽无产品化,但以其强大的功能支持时态相 关操作,包括时态查询、时态定义、时态操作等,并在一定程度上支持双时态操 作。t e m p d b 在设计之初就注意到与底层商业数据库保持独立性,相比t i l i l e d b , t e m p d b 已处于领先优势】。虽然时态处理构件t e m p d b 的功能已经相对完善, 但在时间粒度管理方面仍是空白。 随着时态数据库领域研究的不断深入,人们开始把时间粒度引入到时态数据 库模型中。与时间粒度、时间结构、时间不确定性相关的研究论文也不断涌现。 时间粒度通俗地讲就是时间单位,比如日、月、年等,它是时态数据库中衡量时 间信息离散程度的一项指标。若时态数据库系统只支持一种粒度,则称为单粒度 时态数据库,如描述农业产量的问题中用“年,在描述工资信息的问题中用“日 等。若数据库系统支持多时间粒度,则称多粒度时态数据库。对于多粒度时态数 据库,人们主要研究了粒度的定义、表示、多粒度函数依赖关系、多粒度在时态 2 中山大学硕士学位论文时态处理构件t c m p d b 中时问粒度的研究与实现 推理和数据挖掘方面的应用等【1 9 枷文献【2 l 】提出了“粒度链一的概念,引入时 间粒度由粗粒度向细粒度的转换操作。文献f 2 2 】提出延长粒度链的方法支持带有 持续时间的事件,同时也提出了粗细粒度之间的转换问题。 总之,大多数与时间粒度相关的论文都没有涉及到在时态数据模型中如何实 现用户自定义时间粒度,也没有对时态查询语句进行时间粒度方面的扩充。鉴于 此,时间粒度方面的理论急需完善,时间粒度管理功能的实现也需要做探索性尝 试。 一方面考虑到用户对时间粒度管理的需求,另一方面又考虑到时间粒度管理 在理论与实现上的不足。本论文总结出一个可行的时间粒度模型,并在中山大学 数据库与协同软件实验室开发的时态处理构件t c m p d b 架构基础上,扩展出时 间粒度管理层,以实现系统对时间粒度管理功能的支持。 1 2 研究意义 在数据库中处理时态信息,就必须先对事物的时间属性进行描述。对于时间 属性,时态信息系统中一般采用时间点( t i m ep o i n t ) 、时间区间( t i m ei n t e r v a l ) 、 时间集合( t i m es e t ) 等来描述f l 】。表示不同时间单位之间离散化程度的因素是时间 粒度。例如,描述一个人出生用“天作为时间粒度,而火车时刻表用“分钟 作为时间粒度。时间粒度是指描述时态数据的最小时间单位。研究中通常用时间 单位表示不同的时间粒度。随着研究的深入,人们逐渐意识到时态数据库中增加 对时间粒度的支持意义重大。例如,在一个记录历史事件的时态表中,对越远古 的信息需求越不精确,对远古的信息记录时间粒度要粗,而对靠近现代的信息需 求越多,要求此时的时间粒度要细。如此,在同一个时态表中提出了多种时间粒 度的需求。 时态处理构件t e m p d b 中,时间单位使用的是传统数据库系统所支持的格 里历,它包含了日、月、年等标准。时态运算操作大都是基于关系数据库中的类 型d a t a t i m e 进行的。然而在某些实际应用中,一个与应用领域密切相关的日历 系统更能满足用户的需求,用户可以根据自己的需要定义时间粒度。对于一个包 含多种时态信息的数据库,不同时间粒度之间的运算和转换是必不可少的,例如, 飞机起飞时间的表是用“分作为时间粒度计算的,而关于节假日的表时间粒度 3 中山大学硕士学位论文时态处理构件t e m p d b 中时问粒度的研究与实现 是“天,这两种表所使用的时间粒度不一致,如果用户查询“国庆节的航班情 况 ,就必须查询这两个表信息,时间元素处在不同的时间粒度下,数据库系统 处理时就需要先进行不同的时问粒度之间转换。 时间粒度越小,离散时间点越多,描述事件变化信息就越精细;反之描述事 件变化信息就越粗糙。时间粒度的选择还会决定存储空间的大小,同时导致数据 检索和管理的困难程度不同【1 1 。 总之,在时态数据库系统中增加对时间粒度的支持,意义重大。一个理想的 时态数据库,应能根据具体情况智能地管理时间粒度。 时态处理构件t e m p d b 采用分层结构设计成传统数据库系统的前端软件, 实现了大多数时态相关操作,使得时态信息相关的业务逻辑能从应用程序中抽象 出来。但t e m p d b 中并没有实现对时间粒度的支持,在时态数据库处理构件 t e m p d b 中加入对时间粒度的支持具有重要意义。 1 3 本论文的主要工作 围绕上述研究背景与意义,本论文主要做以下几个方面工作: 一、分析并完善时间粒度基本理论,提出日历系统的功能、定义和描述方式, 以便在t e m p d b 中实现: 二、开创性扩展了a t s q l 2 语句,以支持时间粒度管理。论文分别对时态 数据定义、时态数据操纵、时态数据查询三种语句范式进行时间粒度扩 展: 三、分析t e m p d b 可行性扩展方案,提出了日历系统由系统级用户设计, 操作接口由a t s q l 2 语言定义的方案; 四、扩展t e m p d b 原有架构,引入时间粒度管理层,实现t e m p d b 对时间 粒度的支持,并详细阐述了时间粒度管理层中粒度元数据管理模块的设 计与实现; 五、根据扩展后时态d d l 、时态d m l 和时态q u e r y 三种语句,研究了不同 时间粒度转换处理算法; 六、辅以实例说明扩展后t e m p d b 的功能与变化。 4 中山大学硕士学位论文 时态处理构件t e m p d b 中时问粒度的研究与实现 1 4 论文的组织结构 本论文研究继承前人工作,继续深入探索时态数据库领域的实现技术。论文 包含六个部分,内容如下: 第1 章阐述本论文研究的背景和意义,论文的主要工作,以及论文结构编排; 第2 章阐述时态数据库基础知识、相关概念和本论文使用的基本理论; 第3 章详细介绍时间粒度扩展模块的理论基础,包括a t s q l 2 范式的扩展, 扩展方案的分析与讨论,以及介绍了扩展后t e m p d b 的架构; 第4 章详细介绍时间粒度管理层的重要模块粒度元数据管理模块,并分析了 不同时态语句的粒度转换算法; 第5 章讲述本论文研究成果的应用实例,并展示实验结果; 第6 章总结论文内容,并提出论文不足和研究前景。 5 中山大学硕士学位论文 时态处理构件t c m p d b 中时问粒度的研究与实现 第2 章时态数据库基础 2 1 时态数据库基础知识 2 1 1 三种基本时间 时态数据库理论一般支持3 种基本时间:用户自定义时间、有效时间和事务 时间。时态数据库中,用户自定义时间( u s e r - d e f i n e dt i m e ) 与传统关系数据库系 统时间类型的相类似,用户根据所提供的变量类型来定义时间属性,系统把这种 时间定义当作其他一般属性看待,并不给特殊解释,对它的操作和对普通字符串 的操作几乎没差别,用户会解释所定义时间的意义。 有效时间( v a l i dt i m e ) 是指对象在现实世界中发生并保持的那段时间,即该对 象在现实世界中为真的时间。例如,在一个记录教师职称变化的信息表中,张三 在2 0 0 8 年3 月至2 0 0 9 年1 0 月的职称是副教授,那么说明“张三为副教授”这 项事实有效的时间是2 0 0 8 年3 月至2 0 0 9 年l o 月这段时间。有效时间依赖于具 体的事实,描述的是事实在不同状态下对应的时间属性。它可以是过去、现在和 未来,依赖于事实本身的情况。 事务时间( t r a n s a c t i o n t i m e ) 是指数据库系统进行操作的时间。它由数据库各 种操作触发,记录了数据库修改更新等操作历史,有时也被称为系统时间。它是 应用独立的,用户不可以修改事务时间。例如,在一个支持时态处理的教务系统 中,张三的成绩录入数据库的时间是2 0 0 9 年1 0 月2 3 日,2 0 0 9 年1 0 月2 5 日发 现成绩录入有误并对数据库中数据进行了修改,则2 0 0 9 年1 0 月2 3 日是数据录 入数据库的事务时间,2 0 0 9 年l o 月2 5 日是修改数据库成绩的事务时间。事务 时间反映了数据库状态的变迁,记录了数据库演变的历史。 时态数据库技术更关注于对有效时间和事务时间的处理。这两种时间构成了 时态数据库系统两个独立的时间维。传统的关系数据库有两维:属性维、元组维, 也称横向维和纵向维。在传统数据库的基础上增加了时间维( 有效时间维和事务 时间维) 的概念后,时态数据库变成了四维结构。两种时间的不同定义,决定了 两个时间维的必要性。有效时问和事务时间紧密联系,却分工明确、各司其职。 6 中山大学硕士学位论文 时态处理构件t e m p d b 中时间粒度的研究与实现 前者从对象角度反映了事物的真实状态的属性,后者从系统角度反映了信息数据 录入到数据库中的状态变迁,两者必不可少。 2 1 2 四种数据库 根据时态信息处理方式的不同,学术界将时态数据库分成四种基本类型【3 l 】。 一、快照数据库( s n a p s h o td a t a b a s e ) 。严格来讲,快照数据库并不是真正意 义上的时态数据库,它只是反映现实世界某一瞬问的情况。传统的关系数据库是 一种快照数据库。 二、回滚数据库( r o l l b a c kd a t a b a s e ) 。回滚数据库只支持事务时间。根据事 务时间的不同,回滚数据库反映出数据库不同状态的切片。过去状态下的元组不 可以修改,只能查看,能改动的只是提交前的数据库。由于记录了不同事务时间 下的数据库状态,回滚数据库有很高的冗余。 三、历史数据库( h i s t o r i c a ld a t a b a s e ) 。历史数据库支持对有效时间的处理。 它跟踪记录每一个元组数据的“历史 状态,并提供基于有效时间的时态相关操 作。但是它不可以像回滚数据库一样对旧数据库的某个状态进行查询。 四、双时态数据库( b i t e m p o r a ld a t a b a s e ) 。双时态数据库既支持有效时间又支 持事务时间。它集成了前面所述的三种数据库的功能。这种数据库才是真正对数 据时态属性支持的数据库,但理想的双时态数据库系统难以完美的实现【3 2 1 。 t e m p d b 是部分实现了双时态支持的关系数据库前端软件。但一方面该中间 件对事务时间操作的支持还不够完善;另一方面,事务时间是系统时间,其定义 由系统给出,用户不能控制。所以,本论文主要讨论是对有效时间增加时间粒度 操作的支持。另外,有效时间是事物本身状态的属性,不同的应用环境下,有效 时间定义所需的粒度粗细也会有所不同。有效时间的粒度管理才显得有意义。 2 1 3 时间元素的描述 时间元素( t i m ee l e m e n t ) 指表示时间属性值的元素,时间元素在时态信息系 统中有着基础的地位。时态数据库表示时间元素( t e m p o r a le l e m e n t ) - - 般用时间 点、时间区间、时间跨度或者时间集合等。 时间点又称时刻( t 砥p o i n t ) ,这种描述方法把时间看成一个个离散的时间 7 中山大学硕十学位论文时态处理构件t e m p d b 中时间粒度的研究与实现 点,所有的时间点构成时间轴。时间点投影到时间轴上,便形成偏序关系,具备 良好的代数结构,可以把这种时间属性当作普通的字符串进行代数操作,处理起 来简单方便。传统关系数据库中,用户自定义时间就是用时间点方式来描述,当 离散化的程度适当时,就可以准确地描述现实世界事件发生及变化情况。例如, 记录某单位员工的入职时间是2 0 0 9 年7 月4 日,时间描述精确到“日。 时间区间( t i m ei n t e r v a l ) 是时间点的集合,表示一段时间,通过记录时间段的 起始点和终止点来描述时间区间,例如 2 0 0 0 3 1 ,2 0 1 0 5 6 】表示从2 0 0 0 年3 月1 日到2 0 1 0 年5 月6 日这一段时间。时间区间也可以描述时间点,时间区间hb 】, 当a = b 时,理解为延续时间为0 的段时间,即时间点。 时间跨度( t i m es p a n ) 是指持续的一段时间,表时间的长度。例如,“三年、 “4 0 天 、“三个月 、“2 3 小时 等。时态数据库系统中,一般用整数表示时间 跨度。时间跨度与时间区间都表示一段时间,但不同的是时间跨度没有时间起点, 也没有时间终点。 时间集合( t i m es e t ) 包括时间点集合和时间区间集合。在某些应用环境下, 利用单一的时间点或者时自j 区间都不能满足信息系统描述时间属性的要求,例 如,在公交车的发车时间表中,发车时间就是一些时间点的集合。在公司任职信 息表中,因为张三中途调离单位两年后又回来,此时描述张三的任职时间就是两 个时间区间的并集。时态数据库系统中,这种时间元素描述方法一般不用于计算 机中表示。 时态处理构件t e m p d b 最新版本中,描述有效时间、事务时间分别用的是 v t s _ t i m e d b ,v t e _ t i m e d b ) 、 t t s t i m e d b ,t t e _ _ t i m e d b ) ,时间元素的描述方法是前 开后闭的时间区间,包括区间起始点,不包括终点。根据文章2 1 2 节中的分析, 本文只对有效时间进行支持时间粒度的整合,所以发生粒度转换的时间描述方式 是时间区间。 2 2 时间粒度 时态数据库中,时间粒度( t e m p o r a lg r a n u l a r i t y ) 是衡量时态数据的单位, 用来表示时间元素之间的离散化程度。目前,传统的数据库系统通常只支持格里 历,如秒、分、时、日、月、年等时间单位,而一个与实际应用密切相关的日历 8 中山大学硕士学位论文 时态处理构件t e m p d b 中时问粒度的研究与实现 更能满足用户需求,这种日历系统中包含着相互联系多种时间粒度,不同时间的 粒度之间相互转换是经常发生的。 2 2 1 日历系统 日历系统是一种记录多种时间单位以及它们之间的转换关系的数据类型。 它封装了不同的时间粒度并提供粒度之间转换的接口,可以用一个粒度的有向图 来描述,如图2 1 就是一个在公历系统中的是日历有向刚1 1 。 图2 1 公历系统中的日历图 日历有向图中一个时间单位就是一个时间粒度。日历系统一般由d b m s 的 卖主、数据库系统用户或由第3 方软件开发商提供。一个日历系统是一个软件包, 它提供时态数据和特定字符串之间的转换函数,提供不同时间粒度之间的转换关 系【。日历系统的主要元素是时间单位和单位之间的转换关系。 一个日历系统与一个日历有向图两两对应。日历图上,粒度与粒度之间的转 换路线描述了不同日历之间转换关系。日历系统的建立往往要根据实际应用情况 而决定。数据库管理者要提供相应的规范说明文档,以方便用户使用。 9 中山大学硕士学位论文 时态处理构件t c m p d b 中时问粒度的研究与实现 2 2 2 时间粒度的转换 由于用户处理往往出现多种粒度,而系统通常只能处理一种粒度,因此需要 不同粒度之间能相互转换。时间元素一般有四种描述方式:时间点、时间区间、 时间跨度和时间集合。时间集合一般只在逻辑世界表示时间属性值,难于在数据 库系统中实现。所以下面仅讨论前三种类型的粒度转换操作。 时间点类型的粒度转换往往伴随着语义的不确定性,一个确定的粗粒度的时 间常量相对于细粒度来讲就是不确定的。例如,北京承办奥运会发生在2 0 0 8 年, 对于“年粒度 来讲它是精确的,但对于“天粒度是不确定的,因为并不知道 这件事情具体发生在0 8 年的哪一天。这种情况,在执行粒度转换操作的同时, 要对不确定性进行描述,扩大事件可能发生的范围,如转换成天粒度后时间为 2 0 0 8 0 10 12 0 0 8 1 2 3 1 。为了实现这种时间类型下粒度的转换,系统需要实现两 个不确定性函数:s e a l e o 和c a s t ( ) 。s c a l e 操作产生不确定的时间区间值,c a s t 操 作返回一个确定的时间点,e a s t 操作又分为两种:m a x c a s t o 和m i n c a s t o ,可根据 应用需要适当选择。图2 2 中所示的是调用s c a l e ( ) 函数与c a s t ( ) 的将“年粒度 转换成“天粒度 结果。 s c a l e ( 2 0 0 8 r e 口,d a y ) = 2 0 0 8 0 1 0 1 2 0 0 8 - 1 2 3 1 m i n c a s “2 0 0 虢血炉2 0 0 8 - o 1 o1 m a x c a s t ( 2 0 0 虢口,d a y ) 2 2 0 0 8 - 1 2 31 图2 2s c a l e o 函数与c a s t o 的调用结果 时间区间类型的粒度转换可以转换成时间点类型的转换。我们用二元组表示 一个时间区间,例如二元组 s t a r t ,e n d ,由于这个时间区间的边界s t a r t 、e n d 是一 个确定的时间点,因此,可以转换成对边界的时间点类型的粒度转换,然后再组 合成区间的形式。例如,时间区间【2 0 0 7 ,2 0 0 9 ,时间粒度是年,现要转换成天 为时间粒度的时间区间,首先分别转换两个确定的时间点2 0 0 7 年和2 0 0 9 年。如 图2 3 所示,再取时间起始点的m i n c a s t ( ) 和l 时间终点的m a x c a s t o 组成时间区间, 所以最终结果为 2 0 0 7 0 1 0 1 ,2 0 0 9 - 1 2 3 1 1 。 聊泐傩“2 0 0 k d a y ) = 2 0 0 7 - o 1 o1 m a x c a s t ( 2 0 0 9 弦q r ,d a y ) = 2 0 0 9 1 2 31 图2 - 3 时间区间始终点的转换结果 l o 中山大学硕士学位论文 时态处理构件t e m p d b 中时间粒度的研究与实现 时间跨度类型的粒度转换与以上两种转换不同。时间跨度没有起始时间,也 没有结束时间,只知道时间长度,比如“l o 小时”、“3 0 天 、“2 8 个月”等。时 间跨度表示一段时间,在数据库系统中一般用整数表示。则粒度的转换可以通过 时间单位的换算来简单实现。此时s c a l e ( ) i 函数定义有所不同,需要根据不同粒度 之间的换算规则来实现,如图2 4 所示。 s 阳彪( 1 咖肋22 4 i ,甜 s 口彪( 1 d 秒,m o n t h ) = 0 所d 玎i 妇1 脚d 月曲 图2 - 4 时间段的转换结果 时态处理构件t e m p d b 中对有效时间的描述采用的是时间区间类型,所以 本论文扩展的时间粒度模块主要支持时间区间类型的时态粒度转换。 2 2 3 时间运算中的粒度转换 现实世界中,有时需要在时间元素之间进行比较。时态数据库中,由于时态 数据并非都采用同一时间粒度,因此不同粒度的时间比较是经常发生的。根据 s q l 9 2 语义,分为以下几种情况【1 】: 1 1 不匹配:会报告一个粒度不匹配的异常。此语义与比较运算有关,包括 的基本运算有 语法 分析呻语义分析的过程来处理。a t s q l 2 语句解析后得到的是标准s q l 语句 集,再把这些s q l 语句传入数据访问模块,访问关系数据库后得到的操作结果 1 3 中山大学硕士学位论文 时态处理构件t e r n p d bd oz t , t ( f i j 粒度的研究与实现 需经过结果包装模块的包装处理,以用户便于理解的形式展示在用户界面f 2 5 1 。 整个t e m p d b 层次架构中,时态处理引擎是核心模块,而时态处理引擎中 的核心部分是语法处理和语义转换。考虑到a t s q l 2 并没有形成最终的标准, 开发者经常根据自身的需要改进和完善a t s q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论