数据溯源是对数据的起源以及数据的产生过程的描述信息,这些信息在很多方面发挥着重要的作用,例如调试数据和转换、审计、评估数据的质量和信任度以及实现对数据的访问控制等方面。数据溯源模型主要有:流溯源信息模型、时间-值中心溯源模型、四维溯源模型、开放的数据溯源模型、Provenir数据溯源模型、数据溯源安全模型,PrInt数据溯源模型等,这些模型都建立在不同领域、不同行业。
早在大数据概念出现之前,数据溯源技术就在数据库领域得到广泛研究。其基本出发点是帮助人们确定数据仓库中各项数据的来源,例如,了解它们是由哪些表中的哪些数据项运算而成,据此可以方便地验算结果的正确性,或者以极小的代价进行数据更新。除数据库以外,还包括XML数据、流数据与不确定数据的溯源技术。数据溯源技术也可用于文件的溯源与恢复,例如,研究者通过扩展Linux内核与文件系统,创建一个数据起源存储系统原型系统,可以自动搜集起源数据。此外,也有在云存储场景中的应用。
数据溯源是对数据的起源以及数据的产生过程的描述信息,这些信息在很多方面发挥着重要的作用,例如调试数据和转换、审计、评估数据的质量和信任度以及实现对数据的访问控制等方面。
一、概念和定义
数据溯源(dataprovenance)是一个新兴的研究领域,诞生于20世纪90年代。当初,某些文献将其称为数据志或数据档案,后来,大部分文献将其命名为数据起源,有追踪数据的起源和重现数据的历史状态之意。本文称其为数据溯源,从应用的角度出发,强调追踪的过程和方法。目前,数据溯源还没有公认的定义,因应用领域不同而定义各异。我们参考一些学者给出的定义:1、将数据溯源定义为从源数据到数据产品的衍生过程信息;2、在数据库领域将其定义为"数据及其在数据库间运动的起源";3、数据溯源是对目标数据衍生前的原始数据以及演变过程的描述;4、数据溯源是一种元数据,用来记录工作流演变过程、标注信息以及实验过程等信息。在其它一些领域中还有其它一些叫法:如数据族系(DataLineage)、数据系谱(DataPedigree)、数据来源(DataOrigin)、数据世系等。数据溯源定义为记录原始数据在整个生命周期内(从产生、传播到消亡)的演变信息和演变处理内容。我们认为,DataProvenance应该翻译成"数据溯源",强调的是一种溯本追源的技术,根据追踪路径重现数据的历史状态和演变过程,实现数据历史档案的追溯。
二、数据溯源模型
建立一个数据模型是数据溯源的关键技术。根据模型可以初步确定数据溯源的大体步骤和基本思路。从数据溯源信息管理的角度出发,提出异构数据的数据溯源概念。即采用横轴表示时间(t)、纵轴表示过程(p)、z轴表示数据的异构分布特性。将数据溯源信息保存到不同的数据库中,形成携带溯源信息的异构数据库。通过数据库接口以及数据转换工具汇聚成目标数据库。这个过程的逆过程所经历的路径能够实现数据溯源的各种操作,如:数据追踪、信息评估、过程重现等,从而完成数据溯源任务。
三、几种主要的数据溯源模型
目前,数据溯源模型主要有:流溯源信息模型、时间-值中心溯源模型、四维溯源模型、开放的数据溯源模型、Provenir数据溯源模型、数据溯源安全模型,PrInt数据溯源模型等,这些模型都建立在不同领域、不同行业。
1、流溯源信息模型由6个相关实体构成,主要包括流实体(变化事件实体、元数据实体和查询输入实体)和查询实体(变化事件实体、接收查询输入实体,包括元数据实体)。实体间关系密切,通过这种密切的关系可以根据数据的溯源时间来推断数据溯源。
2、BowersS提出的Time-ValueCentric(TVC)模型又称时间-值中心溯源模型,是一种简单有效的溯源模型。由于过去的溯源模型无论是基于标注的还是基于过程的溯源模型都用于面向交易的系统中,并不适合高容量特定需求以及连续的医疗流。于是,提出支持医疗领域数据源特点的TVC模型专门处理医疗事件流的溯源信息。根据数据中的时间戳和流ID号来推断医疗事件的序列和原始数据的痕迹。
3、四维溯源模型是由YogeshL.Simmhan等人提出。此模型将溯源看成一系列离散的活动集,这些活动发生在整个工作流生命周期中,并由四个维度(时间、空间、层和数据流分布)组成。四维溯源模型通过时间维区分标注链中处于不同活动层中的多个活动,进而通过追踪发生在不同工作流组件中的活动,捕获工作流溯源和支持工作流执行的数据溯源。
4、开放的数据溯源模型OPM,在首届InternationalProvenanceandAnnotationWorkshop会议中,与会者对数据溯源的描述产生了一些共同的观念,并提出了一种原始的数据模型。后来,南安普顿大学等组织整理了会议的主要思想并发表了题为"TheOpenProvenanceModel"文章,文中提及的模型基本形成业界信息交换标准,定义一些具体的格式和协议就能应用到实际当中。
5、Provenir数据溯源。模型2008年,在由Freire和Moreau组织的第二届IPAW会议中,Sahoo等人提出了Provenir数据溯源模型,该模型使用W3C标准对模型加以逻辑描述,考虑了数据库和工作流两个领域的具体细节,从模型、存储到应用等方面形成了一个完整的体系,成为首个完整的数据溯源管理系统。用分类的方式阐明它们之间的相互关系.该模型提供对数据产生历史的元数据、原数据、修改元数据等功能,并使用物化视图的方法有效解决了数据溯源的存储问题.
6、数据溯源安全模型。数据溯源技术能够溯本追源,通过其起源链的记录信息来实现追源的目的,但是记录信息本身也是数据。因此,同样存在安全隐患,为了防止有人恶意篡改数据溯源中起源链的相关信息,李秀美等2010年研究了数据溯源的安全模型,利用密钥树再生成的方法并引入时间戳参数,有效地防止某人恶意篡改溯源链中的溯源记录,对数据对象在生命周期内修改行为的记录按时间先后组成溯源链,用文档来记载数据的修改行为,当进行各种操作时,文档随着数据的演变而更新其内容,通过对文档添加一些无法修改的参数比如:时间戳、加密密钥、校验和等来限制操作权限,保护溯源链的安全。7、PrInt数据溯源模型。PrInt是一种支持实例级数据一体化进程的数据溯源模型。该模型主要集中解决一体化进程系统中不允许用户直接更新异构数据源而导致数据不一致的问题。由PrInt提供的再现性是基于日志记录的,并将数据溯源纳入一体化进程。以上七种模型是比较经典的模型,其中,对于前三种模型而言,流模型和时间-值模型没有明确指出对W7模式的支持,只有四维模型支持动态构建数据溯源图,能根据一系列溯源事件以及数据结点和服务结点所构成的数据流边来构建。存在的不足之处在于形成过程不直接,难于理解。后面几种模型是从不同的角度,不同层次,针对数据溯源的某种特性而建立起来的模型。随着时间的推移,数据溯源模型会越来越多。
四、数据溯源方法
目前,数据溯源追踪的主要方法有标注法和反向查询法。除此之外,还有通用的数据追踪方法,双向指针追踪法,利用图论思想和专用查询语言追踪法,以及文献提出以位向量存储定位等方法。标注法是一种简单且有效的数据溯源方法,使用非常广泛。通过记录处理相关的信息来追溯数据的历史状态,即用标注的方式来记录原始数据的一些重要信息,如背景、作者、时间、出处等,并让标注和数据一起传播,通过查看目标数据的标注来获得数据的溯源。Sudha等人提出的7W模型,就是采用标注法,事先标记并携带溯源信息完成数据溯源的模型,被称为eager方法。采用标注法来进行数据溯源虽然简单,但存储标注信息需要额外的存储空间。反向查询法,有的文献也称逆置函数法。由于标注法并不适合细粒度数据,特别是大数据集中的数据溯源,于是,提出了逆置函数反向查询法,此方法是通过逆向查询或构造逆向函数对查询求逆,或者说根据转换过程反向推导,由结果追溯到原数据的过程。这种方法是在需要时才计算所以又叫lazzy方法。反向查询法关键是要构造出逆向函数,逆向函数构造的好与坏直接影响查询的效果以及算法的性能,与标注法相比,它比较复杂,但需要的存储空间比标注法要小。
五、数据溯源的应用
数据溯源最早仅用于数据库、数据仓库系统中,后来发展到对数据真实性要求比较高的各个领域:如生物、历史、考古、天文、医学等。随着互联网的迅猛发展以及网络欺骗行为的频繁发生,人们越来越怀疑数据的真伪,对数据的真实性要求越来越高。数据溯源成为考究数据真假的有效途径,掀起了一波数据溯源研究的热潮,因此,数据溯源追踪逐渐扩展到计算机各行各业。目前,研究领域已经覆盖到地理信息系统(GIS)、云计算、网格计算、普适计算、无线传感器网络和语义网络等。其中,数据溯源在数据库和工作流领域的研究最为流行。
六、数据溯源技术趋势
未来数据溯源技术将在网络安全领域发挥重要作用。在2009年呈报美国国土安全部的"国家网络空间安全"的报告中,将其列为未来确保国家关键基础设施安全的3项关键技术之一。然而,数据溯源技术在大数据安全中的应用还面临如下挑战。
(1)数据溯源与隐私保护之间的平衡:一方面,基于数据溯源对大数据进行安全保护首先要通过分析技术获得大数据的来源,然后才能更好地支持安全策略和安全机制的工作;另一方面,数据来源往往本身就是隐私敏感数据,用户不希望这方面的数据被分析者获得。因此,如何平衡这两者的关系是需要研究的问题之一。
(2)数据溯源技术自身的安全性保护:当前数据溯源技术并没有充分考虑安全问题,例如,标记自身是否正确、标记信息与数据内容之间是否安全绑定等。而在大数据环境下,其大规模、高速性、多样性等特点使该问题更加突出。
[本文部分内容摘选自知乎https://www.zhihu.com/question/53885651/answer/287611733 作者:泽之瞳]