趙佳彬 富春巖
摘要:隨著云計算、物聯(lián)網(wǎng)等的發(fā)展,大數(shù)據(jù)的時代已經(jīng)到來。大數(shù)據(jù)給人們的生活帶來了極大的便利,但也給傳統(tǒng)的數(shù)據(jù)管理方式帶來了極大的挑戰(zhàn)。為保證已經(jīng)歷多次加工過程的數(shù)據(jù)能被正確使用,用戶必須知道數(shù)據(jù)的演化過程。該文介紹了數(shù)據(jù)追溯概念框架,提出一種數(shù)據(jù)追溯系統(tǒng),并對其部分功能進行了分析。
中圖分類號:TP311? ? ?文獻標識碼:A? ? ?文章編號:1009-3044(2018)34-0012-02
1 引言
大數(shù)據(jù)環(huán)境下,數(shù)據(jù)從最初的發(fā)布者到最后的銷售者之間可能經(jīng)過了多個節(jié)點,經(jīng)歷了多次加工。在這種情況下,驗證數(shù)據(jù)的可靠性、時效性及安全性非常必要,但目前還缺乏有效的手段。研究者必須采用最準確的、最完整的、最具時效的數(shù)據(jù)才能開展有效的研究工作。不僅對科學(xué)計算、電子政務(wù)、企業(yè)信息化等領(lǐng)域非常重要,在政府部門、公司企業(yè)進行統(tǒng)計數(shù)據(jù)分析時,如果用存在問題的數(shù)據(jù)進行統(tǒng)計分析數(shù)據(jù)挖掘,都可能產(chǎn)生嚴重的不良后果[1]。
為了保證已經(jīng)歷多次加工的數(shù)據(jù)能被正確使用,用戶必須知曉數(shù)據(jù)的產(chǎn)生、更新、變換和傳播過程。通過數(shù)據(jù)追溯,用戶可了解數(shù)據(jù)在生命周期的語義變化過程,鑒別數(shù)據(jù)的來源,并回溯到所有相關(guān)數(shù)據(jù)的來源,實現(xiàn)對數(shù)據(jù)的質(zhì)量評估、數(shù)據(jù)的審計跟蹤,數(shù)據(jù)交換監(jiān)控等問題,并在相關(guān)的數(shù)據(jù)交換平臺中應(yīng)用。此外,數(shù)據(jù)追溯還可用于病毒防護及入侵檢測、數(shù)據(jù)發(fā)現(xiàn)、信息檢索等應(yīng)用領(lǐng)域。
2 數(shù)據(jù)追溯概念框架
要對數(shù)據(jù)進行有效的追溯需要一個概念框架。首先,數(shù)據(jù)模型的構(gòu)建,決定了原始數(shù)據(jù)的獲取、更新、重構(gòu)、評估等各種操作。本文提出了如圖 1 所示的概念框架。圖中包含了所追溯數(shù)據(jù)的初始數(shù)據(jù)模型應(yīng)該包含的數(shù)據(jù)信息。
3 數(shù)據(jù)追溯的方法
數(shù)據(jù)追溯的方法目前主要有標注的方法[2]和基于逆置函數(shù)的方法[3]。
3.1基于標注的方法
標注法是一種基于注釋的、簡單有效地進行數(shù)據(jù)追溯方法。只需要記錄、注釋下相關(guān)數(shù)據(jù)的輔助信息,以供使用者處理信息即可。工作流追溯管理系統(tǒng)一般采用的都是這種基于標注的方法。標注用于數(shù)據(jù)追溯,是對記錄中關(guān)于數(shù)據(jù)出處、作者、時間及其演變歷史等重要信息進行注釋,并將這些注釋信息與數(shù)據(jù)一起傳輸,這樣用戶就可以接通過注釋信息查詢數(shù)據(jù)的起源信息。
對于小型系統(tǒng)來說,進行數(shù)據(jù)追溯時,只要數(shù)據(jù)存儲策略得當,采用這種方式的效率還是很高的。但對于大型系統(tǒng)來說,數(shù)據(jù)記錄得太詳細會使注釋信息可能比原數(shù)據(jù)還多,系統(tǒng)將很難對超細粒度的實驗數(shù)據(jù)進行良好的管理,這樣就會導(dǎo)致管理和使用效率的降低。
3.2 基于逆置函數(shù)的方法
這種方法是另外一種進行數(shù)據(jù)追溯的方法,它一般是通過構(gòu)造逆向函數(shù)對查詢求逆,從結(jié)果逆向追溯到源數(shù)據(jù)。一般只有在需要用到數(shù)據(jù)追溯時,才進行計算。這種方法,只要設(shè)好逆置機制就可以實現(xiàn)跟蹤,無需存儲數(shù)據(jù)轉(zhuǎn)換時的中間結(jié)果,也不像標注法那樣,要存儲數(shù)據(jù)整個過程的注釋信息,這種方法只需要少量的元數(shù)據(jù)知識的信息,即可實現(xiàn)數(shù)據(jù)追溯。理論上來說,在一定的限制條件下,通過分析數(shù)據(jù)庫操作語句,可得出任意粒度的數(shù)據(jù)追溯。但實際上,逆置方式的優(yōu)點雖然很多,但不是所有的數(shù)據(jù)追溯都可以用逆置法實現(xiàn)。
4 數(shù)據(jù)追溯系統(tǒng)總體設(shè)計
包括模式級數(shù)據(jù)追溯解析、字段級模式級數(shù)據(jù)追溯解析功能,標注信息生成功能,溯源信息存儲、溯源信息查詢以及溯源信息顯示功能。
系統(tǒng)通過詞法分析器和語法分析器進行詞法和語法分析得到抽象語法樹;通過對抽象語法樹進行起源語義分析,將獲得 SQL 中模式級與字段級數(shù)據(jù)。 進行模式級及字段級數(shù)據(jù)追溯解析后,將生成SQL 執(zhí)行計劃,通過執(zhí)行計劃,生成元數(shù)據(jù)中的數(shù)據(jù)追溯起源標注信息,并將標注信息填充到元數(shù)據(jù)中。因此,標注信息會隨著元組的傳遞而進行傳輸,在元組傳遞到根結(jié)點時,將源元組的數(shù)據(jù)追溯起源標注信息與目標元組的數(shù)據(jù)追溯起源標注信息都填充至起源元數(shù)據(jù)表中。 最后,通過溯源信息存儲、溯源信息查詢以及溯源信息顯示功能實現(xiàn)數(shù)據(jù)追溯查詢和顯示的功能。
5 模式級和概念級溯源信息查詢功能
當溯源信息被解析和存儲后,可進行查詢并及顯示。下面簡單介紹一下模式級和概念級溯源信息查詢功能。
5.1 模式級溯源查詢
首先,輸入目標表名,從表名id映射表中找到目標表名對應(yīng)的 id,再從關(guān)系定義的表中找到目標表的定義,接下來根據(jù)表的類型對相應(yīng)的表結(jié)點進行初始化,然后遍歷目標表字段定義,生成一個新的子節(jié)點描述該字段并放入相應(yīng)的表結(jié)點中,并找到對應(yīng)該目標表的轉(zhuǎn)換結(jié)點,遍歷轉(zhuǎn)換列表,生成轉(zhuǎn)換對應(yīng)的 dot 圖形,再從對轉(zhuǎn)換表操作得到相應(yīng)的轉(zhuǎn)換定義。然后就可以初始化一個轉(zhuǎn)換 dot 結(jié)點,根據(jù)轉(zhuǎn)換定義填充 dot 圖,添加源表 dot 與新生成的轉(zhuǎn)換 dot 圖之間的連接邊,最后生成dot腳本。
5.2 概念級溯源查詢
首先,輸入目標表名和目標字段名,從表名id映射表中找到目標表名對應(yīng)的 id,再從關(guān)系定義的表中找到目標表的定義,從目標表定義中找到相關(guān)的目標字段定義,然后根據(jù)目標表名找到對應(yīng)的目標字段的定義,生成目標字段 dot 結(jié)點,找到該字段所對應(yīng)屬性的映射的 id,再在屬性映射表中找到屬性映射項,這樣就可以生成屬性映射 dot 結(jié)點,建立屬性映射 dot 結(jié)點到所對應(yīng)目標字段結(jié)點的連接。對源字段隊列進行初始化,將屬性映射的來源字段 id 放入其中,然后再取出源字段隊列的首元素字段 id,進行遞歸調(diào)用,最后生成dot腳本。
6 總結(jié)
數(shù)據(jù)溯源可以查詢數(shù)據(jù)來源,對數(shù)據(jù)來源進行跟蹤,評估數(shù)據(jù)的質(zhì)量好壞和數(shù)據(jù)的可靠性;可再現(xiàn)數(shù)據(jù)的產(chǎn)生、重構(gòu)過程,有利于數(shù)據(jù)共享和優(yōu)化;發(fā)生錯誤時,可迅速定位錯誤位置,分析錯誤原因,并解釋數(shù)據(jù)現(xiàn)狀產(chǎn)生的原因。因此,數(shù)據(jù)溯源在科學(xué)與生產(chǎn)、生活各個領(lǐng)域都有非常重要的意義。
參考文獻:
[1] 中國互聯(lián)網(wǎng)絡(luò)中心.2015年中國互聯(lián)網(wǎng)絡(luò)發(fā)展狀況統(tǒng)計報告[EB/OL], http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/hlwtjbg/201502/P020150203548852631921.pdf?COLLCC=3994320344&,2015.
[2] CHITICARIU L,TAN W C,VIJAYVARGIYA G. DBNotes: a post-itsystem for relational databases based on provenance[C]// Proc of theACM SIGMOD International Conference on Management of Data.NewYork: ACM Press,2005: 942-944.
[3] FAN Hao,POULOV A.Tracing data lineage using automed schematransformation pathways[C]// Proc of the 19th British National Con-ference on Databases.Berlin: Springer,2012.
【通聯(lián)編輯:梁書】