一种面向数据库系统的复制数据起源追踪方法
【专利摘要】本发明公开一种面向数据库系统的复制数据起源追踪方法,包括以下步骤:(1)针对Perm中语义模型不能很好表达复制数据起源信息的情况,设计一种在数据库系统中适用于复制数据的数据起源追踪语义模型PC-CS,根据不同复制情况语义模型分为四类进行定义;(2)在语义模型PC-CS的关系模式表示基础上,设计出PC-CS模型下查询重写规则,具体引入复制表达式进行扩展实现;(3)基于设计的重写规则,将普通的查询重写为带PC-CS起源的新查询,实现对复制数据起源的追踪。本发明充分考虑语义的完备和存储空间的节省,能够满足用户在数据库查询中对复制数据起源信息追踪的需求。
【专利说明】一种面向数据库系统的复制数据起源追踪方法
【技术领域】
[0001] 本发明涉及数据起源追踪领域,更具体的讲,涉及到数据库中复制数据的数据起 源追踪领域,提出一种面向数据库系统的、基于查询重写的复制数据起源追踪的方法,具体 完成复制数据起源追踪语义模型PC-CS和基于该模型的查询重写规则的设计,实现对数据 库系统中复制数据起源的追踪。
【背景技术】
[0002] 数据起源是对数据处理的整个历史的信息,包括数据的来源和处理这些数据的所 有后继过程。B. Glavic和G. Alonso提出了在数据库系统中利用查询重写实现起源追踪 的 Perm 系统(Provenance extension of the relational model)。系统将数据起源形式 化表达成关系模式,再通过查询重写规则将起源信息添加到关系模式中,得到一个对应的 新查询,执行这个新查询得到的结果既包括了与给定查询一样的查询结果,还增加了数据 起源信息,以此实现数据起源的追踪。在Perm中,设计了一种起源语义模型PI-CS(Perm Influence Contribution Semantics),以关系模式形式来描述数据起源。PI-CS模型属于 influence-CS模型,即输出数据项的起源指作用在这个数据项上的所有的输入数据,只要 这个输入数据项对输出数据项产生了影响就认为它属于输出数据项的起源。在PI-CS模型 中,定义了更多的操作符,数据起源能够表示成统一的关系模式,实现了与数据一样进行优 化和查询。
[0003] 但是,Perm中PI-CS模型对于输出数据项的起源情况没有进行区分,不能明确输 出结果是由哪个输入数据复制而来的。
【发明内容】
[0004] 发明目的:针对Perm中PI-CS模型不能明确表达copy-CS类起源的不足,本发 明提供一种基于查询重写的、适用于Perm、能表达复制数据起源的数据起源追踪方法。方 法首先给出数据起源追踪语义模型PC-CS,具体给出数据库系统中复制数据起源类型分类 及定义;然后在语义模型PC-CS的关系模式表示基础上,设计出PC-CS模型下查询重写规 贝U,具体引入复制表达式进行扩展实现;最后基于设计的重写规则,将普通的查询重写为带 PC-CS起源的新查询,执行新查询实现对复制数据起源的追踪。
[0005] 技术方案:一种面向数据库系统的复制数据起源追踪方法,包括:
[0006] PC-CS 模型:
[0007] 以PI-CS为模型基础,引入复制映射的概念,设计了能够描述copy-CS类起源的语 义模型PC-CS,对不同的类型给出其定义。
[0008] 1、PC-CS中起源分类
[0009] 在查询过程中,根据是输入数据整个元组进行了复制还是输入数据元组 中的某些属性项进行了复制,可以分为完全复制(complete copy)和部分复制 (partial copy);根据是对输入数据的直接复制还是间接复制,可以分为直接复制 (direct copy)和传递复制(transitive copy)。所以,PC-CS模型中数据起源分为 四种情况:Complete-Direct-Copy-CS 模型(简称 CDC-CS),Partial-Direct-Copy-CS 模型(简称 F*DC-CS),Complete-Transitive-Copy-CS 模型(简称 CTC-CS)和 Partial-Transitive-Copy-CS 模型(简称 PTC-CS)。
[0010] 2、PC-CS模型的定义
[0011] 如果满足条件:
[0012]
【权利要求】
1. 一种面向数据库系统的复制数据起源追踪方法,其特征在于,包括以下步骤: 1) 给出复制数据起源追踪的语义模型PC-CS,具体给出数据库系统中复制数据起源类 型分类及定义; 2) 在语义模型PC-CS的关系模式表示基础上,制定出一组复制数据起源查询重写规 则; 3) 根据查询重写规则完成对复制数据起源追踪。
2. 根据权利要求1所述的面向数据库系统的复制数据起源追踪方法,其特征在于:步 骤1)中所述语义模型PC-CS是根据对数据库查询中复制数据起源进行追踪的需要,在细化 复制类别的基础上,引入复制映射的概念,进行各操作符的复制映射表达,实现复制数据起 源追踪的语义描述;进一步包含以下步骤 : 11) 根据发生的复制是完全复制还是部分复制,是直接复制还是传递复制,具体分为全 部直接复制、部分直接复制、直接传递复制、部分传递复制四种类型的语义模型,对不同类 型的语义模型给出定义; 12) 对复制映射的表达,根据11)分类,对PC-CS语义模型中的直接复制映射和传递复 制映射分别给出直接复制起源语义操作符和传递复制起源语义操作符,分别定义了空元操 作符和一元操作符、连接操作符以及集合操作符; 13) 根据直接复制映射起源语义操作符和传递复制映射起源语义操作符,分别设计了 各操作符的映射表达式:直接复制表达式和传递复制表达式。
3. 如权利要求2所述的面向数据库系统的复制数据起源追踪方法,其特征在于: 如果滿足备件:
那么证据集⑶/CT(q,t)就称为结果元组t在查询q下的⑶C-CS/CTC-CS起源; 如果满足条件:
那么证据集ro/PT(q,t)就称为结果元组t在查询q下的roC-CS/PTC-CS起源; 其中q表示查询,a表示查询Q输入项的一个属性,T表示结果元组,w表示结果元组T的证据集,CM()表不一个复制映射。
4. 根据权利要求1所述的面向数据库系统的复制数据起源追踪方法,其特征在于: 所述步骤2)中所制定出一组复制数据起源查询重写规则,是在查询重写中最外层增加一 个用来存储复制证据集属性的投影,根据用户的查询请求,从原查询的最外层操作符开始 依次逐层地根据当前层操作符的重写规则,进行查询重写,直至最里层的操作符被重写完 为止,然后执行重写完的新查询得到原查询结果数据的数据起源信息;进一步包含以下步 骤: 21)基于复制表达式,设计出PC-CS的查询重写规则;查询重写规则具体包含了一元操 作符、连接操作符、集合操作符和起源属性包含的重写规则,并分别设计了对应的重写表达 式; 22)对复制数据起源查询重写规则分别进行正确性分析。
5. 如权利要求4所述的面向数据库系统的复制数据起源追踪方法,其特征在于: 使用C(q)Cf(ai,X)来定义复制表达式CM(q),复制表达式CM(q)用于表示对查询q复 制映射的追踪; PC-CS重写规则在PI-CS规则的基础上引入复制表达式而得到的,依据CM(q)定义和PI-CS重写规则,在重写中增加一个最外层的投影,这个投影中包含了用来存储复制证据集 的C(q)属性,这种投影表达式用P#(q)来表示;此外用符号C来表示PC-CS起源重写的操 作符; PC-CS起源重写的操作符C:表示将一个查询q映射成一个重写查询 nCD/CT/PD/PT _ττ (nC\ q -n〇.^ur,Kci)o
6. 根据权利要求I所述的面向数据库系统的复制数据起源追踪方法,其特征在于:所 述步骤3)中根据查询重写规则完成对复制数据的起源追踪,进一步包含以下步骤: 31) 根据基于查询重写规则的起源追踪方法,设计了复制数据起源追踪系统框架; 32) 对起源追踪模块主要函数结构进行设计,实现查询树的重写; 33) 对查询操作和结果分析,说明方法有效性和可行性。
7. 根据权利要求6所述的面向数据库系统的复制数据起源追踪方法,其特征在于:分 析查询q的复制映射通过复制表达式CM(q)表达正确性,即分析查询q的基本表中的属性 a,查询q的结果元组t,查询q和结果元组t的PI-CS血统PI(q,t)中的证据集是否满足条 件⑴: nC(a)(qC)=CM(q,a,w,t) (I) 其中qe通过q的复制表达式CM(q)得到,CM(q,a,w,t)为复制映射的定义表达。
【文档编号】G06F17/30GK104239581SQ201410539143
【公开日】2014年12月24日 申请日期:2014年10月13日 优先权日:2014年10月13日
【发明者】许国艳, 胡煜欣, 罗章璇 申请人:河海大学