面向数据自治开放的数据盒模型
面向數(shù)據(jù)自治開(kāi)放的數(shù)據(jù)盒模型
熊贇1,2,朱揚(yáng)勇1,2
1. 復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,上海 201203
2. 上海市數(shù)據(jù)科學(xué)重點(diǎn)實(shí)驗(yàn)室,上海 201203
摘要:在數(shù)據(jù)自治開(kāi)放模式中,數(shù)據(jù)使用者可以將數(shù)據(jù)上傳到應(yīng)用軟件或下載數(shù)據(jù)到其設(shè)備中。其中面臨的問(wèn)題首先是讓數(shù)據(jù)使用者看得見(jiàn)有哪些數(shù)據(jù),其次是如何合理組織數(shù)據(jù)方便應(yīng)用軟件使用、計(jì)量和管控。提出了一個(gè)數(shù)據(jù)盒模型作為數(shù)據(jù)自治開(kāi)放環(huán)境下的基本數(shù)據(jù)模型,介紹了數(shù)據(jù)盒的基本要素組成及運(yùn)作系統(tǒng)架構(gòu),說(shuō)明了該數(shù)據(jù)模型的具體實(shí)施方式。
關(guān)鍵詞:數(shù)據(jù)開(kāi)放;數(shù)據(jù)共享;數(shù)據(jù)自治開(kāi)放;數(shù)據(jù)模型
doi:10.11959/j.issn.2096-0271.2018015
論文引用格式:熊贇, 朱揚(yáng)勇. 面向數(shù)據(jù)自治開(kāi)放的數(shù)據(jù)盒模型[J]. 大數(shù)據(jù), 2018, 4(2): 21-30.
XIONG Y, ZHU Y Y. Data box: a novel data model for self-governing openness of data[J]. Big Data Research, 2018, 4(2): 21-30.
1? 引言
20世紀(jì)60年代國(guó)際科學(xué)理事會(huì)的國(guó)際科技數(shù)據(jù)委員會(huì)(CODATA)推動(dòng)了科學(xué)數(shù)據(jù)開(kāi)放,但開(kāi)放程度有限,并且大多集中于各自領(lǐng)域,如地震科學(xué)、水利科學(xué)、天文學(xué)等[1-3]。隨著數(shù)據(jù)資源的戰(zhàn)略性和商業(yè)價(jià)值越來(lái)越突顯[4],數(shù)據(jù)資源的開(kāi)放共享變得越來(lái)越困難,目前為止,尚未形成完全開(kāi)放的數(shù)據(jù)共享局面。20世紀(jì)60年代,數(shù)據(jù)庫(kù)管理系統(tǒng)(database management system,DBMS)的研制成功[5,6]使數(shù)據(jù)脫離了具體的應(yīng)用程序,由DBMS統(tǒng)一管理,這種數(shù)據(jù)資源管理模式是封閉的、內(nèi)部授權(quán)的、有限的。而在數(shù)據(jù)開(kāi)放的環(huán)境中,應(yīng)用程序和用戶對(duì)數(shù)據(jù)的訪問(wèn)和使用是開(kāi)放的、不可預(yù)知的、無(wú)限的,數(shù)據(jù)的結(jié)構(gòu)形式也是靈活、復(fù)雜多樣的。在數(shù)據(jù)自治開(kāi)放模式中,數(shù)據(jù)由數(shù)據(jù)擁有者在法律框架下自行確權(quán)和管理、自行制定開(kāi)放規(guī)則(即數(shù)據(jù)自治),然后將數(shù)據(jù)開(kāi)放給使用者,包括上傳數(shù)據(jù)到應(yīng)用軟件使用數(shù)據(jù)或下載數(shù)據(jù)到使用者的設(shè)備中。其中面臨的問(wèn)題首先是讓數(shù)據(jù)使用者看得見(jiàn)有哪些數(shù)據(jù),其次是如何合理組織數(shù)據(jù)以方便應(yīng)用軟件使用、計(jì)量和管控[7,8]。
然而,現(xiàn)有的數(shù)據(jù)資源管理技術(shù)(數(shù)據(jù)庫(kù)管理系統(tǒng)、文件系統(tǒng))和應(yīng)用軟件技術(shù)針對(duì)處于封閉不開(kāi)放狀態(tài)的數(shù)據(jù),聚焦于盡量保護(hù)系統(tǒng)數(shù)據(jù)不受外界侵害,即針對(duì)數(shù)據(jù)安全風(fēng)險(xiǎn)和隱私威脅進(jìn)行研發(fā),主要解決途徑包括密碼技術(shù)、噪音擾亂技術(shù)、訪問(wèn)控制和軟件行為監(jiān)控機(jī)制[9-13]。這些方法雖然在一定程度上保護(hù)了數(shù)據(jù)的安全和隱私,但是在保護(hù)數(shù)據(jù)權(quán)益上有以下缺陷。
● 諸多加密和多授權(quán)機(jī)制、安全策略、信任級(jí)別等方式是采用數(shù)據(jù)封閉的思路解決數(shù)據(jù)非法訪問(wèn)問(wèn)題的,無(wú)法用于數(shù)據(jù)開(kāi)放下保護(hù)數(shù)據(jù)權(quán)益和數(shù)據(jù)機(jī)密性。
● 差分隱私等隱私保護(hù)方法大多針對(duì)靜態(tài)數(shù)據(jù)集,且通常是針對(duì)單點(diǎn)式數(shù)據(jù)需求,即假定數(shù)據(jù)只有一個(gè)使用者,因而不能很好地適應(yīng)數(shù)據(jù)開(kāi)放下的多用戶數(shù)據(jù)訪問(wèn)的動(dòng)態(tài)應(yīng)用需求;更重要的是,由于添加噪聲導(dǎo)致結(jié)果丟失準(zhǔn)確性,限制了數(shù)據(jù)的使用,不利于數(shù)據(jù)開(kāi)放。
● 開(kāi)放數(shù)據(jù)的訪問(wèn)/應(yīng)用軟件往往是事先未知的,當(dāng)使用方在特定條件下對(duì)數(shù)據(jù)資源有修改能力時(shí),數(shù)據(jù)仍存在被零成本復(fù)制的風(fēng)險(xiǎn),開(kāi)放的數(shù)據(jù)資源需要額外保護(hù)機(jī)制,這需要制定軟件訪問(wèn)數(shù)據(jù)的行為規(guī)范,并對(duì)數(shù)據(jù)訪問(wèn)行為建模和持續(xù)監(jiān)控。
因此,需要有新型的數(shù)據(jù)組織方式合理組織數(shù)據(jù),以適應(yīng)數(shù)據(jù)自治開(kāi)放模式。本文提出一個(gè)數(shù)據(jù)盒模型作為數(shù)據(jù)自治開(kāi)放環(huán)境下的基本數(shù)據(jù)模型,稱為“數(shù)據(jù)盒”,以有效組織用于開(kāi)放的數(shù)據(jù)資源。數(shù)據(jù)盒是數(shù)據(jù)自治開(kāi)放的基本單元,包括數(shù)據(jù)描述、數(shù)據(jù)操作和約束等基本要素,并通過(guò)在數(shù)據(jù)盒中封裝數(shù)據(jù)防泄露和數(shù)據(jù)權(quán)益保護(hù)等機(jī)制,使之具有獨(dú)立性、可用性、可控性,使得數(shù)據(jù)擁有者在數(shù)據(jù)開(kāi)放的同時(shí)又能保證數(shù)據(jù)稀缺性不喪失和隱私不泄露,并且不影響現(xiàn)有系統(tǒng),能有效支持?jǐn)?shù)據(jù)自治開(kāi)放。
2 ?面向數(shù)據(jù)自治開(kāi)放的數(shù)據(jù)模型
面向數(shù)據(jù)自治開(kāi)放的數(shù)據(jù)模型的核心思想是建立基于“數(shù)據(jù)盒”模型的開(kāi)放數(shù)據(jù)組織,按照數(shù)據(jù)盒的方式向數(shù)據(jù)使用者開(kāi)放數(shù)據(jù),即呈現(xiàn)給數(shù)據(jù)使用者的是一定數(shù)量的數(shù)據(jù)盒,并且,在數(shù)據(jù)盒中封裝數(shù)據(jù)防泄露和數(shù)據(jù)權(quán)益保護(hù)等機(jī)制。也就是說(shuō),數(shù)據(jù)盒是帶有自主程序單元和內(nèi)在計(jì)算能力的數(shù)據(jù)組織存儲(chǔ)模型。數(shù)據(jù)擁有者將數(shù)據(jù)灌裝入數(shù)據(jù)盒中,封裝的數(shù)據(jù)只能通過(guò)數(shù)據(jù)盒中的自主程序單元接口進(jìn)行受控的訪問(wèn)。這樣做的好處是既方便數(shù)據(jù)使用者使用開(kāi)放數(shù)據(jù),即外部可見(jiàn)、可理解、可編程,又能防止數(shù)據(jù)擁有者權(quán)益受到侵犯,即內(nèi)部可控、可跟蹤、可撤銷。面向數(shù)據(jù)自治開(kāi)放的數(shù)據(jù)模型包括以下幾個(gè)方面。
● 為數(shù)據(jù)使用者提供開(kāi)放數(shù)據(jù)的基本組成單元——數(shù)據(jù)盒,如圖1所示,包括數(shù)據(jù)盒的數(shù)據(jù)描述、數(shù)據(jù)操作和數(shù)據(jù)約束等基本要素以及數(shù)據(jù)盒的性質(zhì)。
● 封裝在數(shù)據(jù)盒中的數(shù)據(jù)防泄露和數(shù)據(jù)權(quán)益保護(hù)機(jī)制,并設(shè)有供外部軟件使用的接口。
● 數(shù)據(jù)盒的計(jì)量與定價(jià),即根據(jù)數(shù)據(jù)使用者提出的要求和目標(biāo),計(jì)算數(shù)據(jù)使用者所需數(shù)據(jù)盒的數(shù)量和時(shí)間等,并進(jìn)行定價(jià)。
圖1 數(shù)據(jù)盒的組織結(jié)構(gòu)
2.1 數(shù)據(jù)盒基本要素
(1)數(shù)據(jù)盒的數(shù)據(jù)描述
因?yàn)閿?shù)據(jù)盒的設(shè)計(jì)目標(biāo)是面對(duì)數(shù)據(jù)開(kāi)放環(huán)境的,數(shù)據(jù)來(lái)源復(fù)雜多樣、不可預(yù)知,所以數(shù)據(jù)盒的數(shù)據(jù)描述包含數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)采用BSON(binary serialized document format)存儲(chǔ)復(fù)雜類型的數(shù)據(jù)。BSON使用C語(yǔ)言風(fēng)格的數(shù)據(jù)表現(xiàn)形式,其編碼和解碼都是快速的。每個(gè)數(shù)據(jù)盒設(shè)有唯一的標(biāo)識(shí)名(字符串類型),稱為數(shù)據(jù)盒標(biāo)牌。每個(gè)數(shù)據(jù)盒還設(shè)置數(shù)據(jù)使用的相應(yīng)軟硬件環(huán)境。由于開(kāi)放數(shù)據(jù)盒為數(shù)據(jù)使用者服務(wù)是在分布式環(huán)境下進(jìn)行的,所以數(shù)據(jù)盒的性質(zhì)也參考分布式存儲(chǔ)的性質(zhì),即數(shù)據(jù)盒性質(zhì)包括最終一致性和基本可用性。其中,最終一致性是指要求系統(tǒng)數(shù)據(jù)副本最終能夠一致,而不需要實(shí)時(shí)保證數(shù)據(jù)副本一致;基本可用性是指出現(xiàn)故障時(shí),允許損失部分可用性,保證核心功能或當(dāng)前重要功能可用。
(2)數(shù)據(jù)盒的數(shù)據(jù)操作
數(shù)據(jù)資源以數(shù)據(jù)盒的形式存放在數(shù)據(jù)站中,與傳統(tǒng)的DBMS相比,數(shù)據(jù)開(kāi)放自治下的數(shù)據(jù)資源管理不涉及事務(wù)處理,只有數(shù)據(jù)使用,但也不同于數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)是不對(duì)外開(kāi)放的。數(shù)據(jù)盒的數(shù)據(jù)操作包括數(shù)據(jù)盒的創(chuàng)建、數(shù)據(jù)盒的刪除(當(dāng)數(shù)據(jù)盒不再被使用時(shí),則需要?jiǎng)h除該數(shù)據(jù)盒)、數(shù)據(jù)盒的切塊和切片(數(shù)據(jù)盒中存放了多條數(shù)據(jù)記錄,每條數(shù)據(jù)記錄有多個(gè)字段/屬性,數(shù)據(jù)盒使用者可能只需要使用該數(shù)據(jù)盒中的部分?jǐn)?shù)據(jù)記錄和部分?jǐn)?shù)據(jù)字段,這需要數(shù)據(jù)切塊或切片操作,即選取數(shù)據(jù)盒中的部分?jǐn)?shù)據(jù)記錄和部分?jǐn)?shù)據(jù)字段,形成新的數(shù)據(jù)盒,切塊或切片后的數(shù)據(jù)盒是原始數(shù)據(jù)盒的一部分,包含原始數(shù)據(jù)盒的部分?jǐn)?shù)據(jù)字段和數(shù)據(jù)記錄)、數(shù)據(jù)盒的拼接(數(shù)據(jù)盒的使用者可能會(huì)使用多個(gè)數(shù)據(jù)盒中的數(shù)據(jù)記錄,并且可能是這些數(shù)據(jù)盒中的部分?jǐn)?shù)據(jù)字段,因此,需要將多個(gè)數(shù)據(jù)盒拼接起來(lái),形成新的數(shù)據(jù)盒)、數(shù)據(jù)盒的交(數(shù)據(jù)盒的使用者可能需要兩個(gè)數(shù)據(jù)盒共同的數(shù)據(jù)記錄,數(shù)據(jù)盒的交實(shí)現(xiàn)共同數(shù)據(jù)記錄的提取,形成新的數(shù)據(jù)盒)、數(shù)據(jù)盒的并(數(shù)據(jù)盒的使用者可能需要兩個(gè)數(shù)據(jù)盒的所有數(shù)據(jù)記錄,數(shù)據(jù)盒的并實(shí)現(xiàn)兩個(gè)數(shù)據(jù)盒中的數(shù)據(jù)記錄的合并,形成新的數(shù)據(jù)盒)以及數(shù)據(jù)盒中數(shù)據(jù)的查詢(通過(guò)設(shè)置一定的條件,對(duì)數(shù)據(jù)盒中的數(shù)據(jù)進(jìn)行查詢,例如某個(gè)字段滿足一定的閾值作為查詢條件等)、插入(當(dāng)數(shù)據(jù)盒有新的數(shù)據(jù)裝入時(shí),需要執(zhí)行插入操作)、刪除(數(shù)據(jù)盒中的數(shù)據(jù)不再被需要的時(shí)候,需要執(zhí)行刪除操作)和更新(數(shù)據(jù)盒中數(shù)據(jù)記錄的某些值發(fā)生變化時(shí),需要執(zhí)行更新操作)等。此外,數(shù)據(jù)開(kāi)放的粒度是有差異的,數(shù)據(jù)盒粒度劃分也是數(shù)據(jù)盒的重要數(shù)據(jù)操作。
(3)數(shù)據(jù)盒的數(shù)據(jù)約束
數(shù)據(jù)盒的數(shù)據(jù)約束包括數(shù)據(jù)盒約束、數(shù)據(jù)盒內(nèi)的數(shù)據(jù)約束、數(shù)據(jù)盒間的數(shù)據(jù)約束、數(shù)據(jù)盒多副本控制約束等。數(shù)據(jù)盒內(nèi)的數(shù)據(jù)約束類似于傳統(tǒng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)約束;數(shù)據(jù)盒間的數(shù)據(jù)約束主要是指數(shù)據(jù)盒之間的關(guān)聯(lián)約束;數(shù)據(jù)盒多副本控制約束主要是指數(shù)據(jù)盒可以擁有多少個(gè)副本,這些副本可被哪些數(shù)據(jù)使用者使用(例如,對(duì)使用數(shù)據(jù)盒的機(jī)器的M AC地址加以限制等)。
2.2 數(shù)據(jù)權(quán)益保護(hù)機(jī)制
數(shù)據(jù)權(quán)益保護(hù)機(jī)制是將數(shù)據(jù)盒及其權(quán)屬綁定為有機(jī)整體,以明確數(shù)據(jù)權(quán)益的保護(hù)對(duì)象、保護(hù)等級(jí)以及保護(hù)粒度等。其中,保護(hù)粒度是指數(shù)據(jù)盒中的數(shù)據(jù)記錄可被訪問(wèn)的粒度,例如,數(shù)據(jù)字段“薪水”的訪問(wèn)可以分為訪問(wèn)每一條數(shù)據(jù)記錄“薪水”的具體值、訪問(wèn)“薪水”的平均值或統(tǒng)計(jì)值等。數(shù)據(jù)盒權(quán)屬包括數(shù)據(jù)所有者的信息標(biāo)記、開(kāi)放數(shù)據(jù)的使用權(quán)限以及相應(yīng)的使用許可范圍、定位跟蹤標(biāo)識(shí)等。外部軟件可通過(guò)數(shù)據(jù)盒接口訪問(wèn)數(shù)據(jù)盒中的數(shù)據(jù),因此,數(shù)據(jù)權(quán)益保護(hù)機(jī)制還包括外部軟件行為監(jiān)控機(jī)制,對(duì)外部軟件行為進(jìn)行監(jiān)控,評(píng)價(jià)軟件的言行一致性,甄別權(quán)益受損的軟件行為模式。
2.3 數(shù)據(jù)防泄露機(jī)制
由于數(shù)據(jù)使用者可能通過(guò)多次獲取數(shù)據(jù)片段實(shí)現(xiàn)對(duì)數(shù)據(jù)盒中數(shù)據(jù)的拼圖,形成一個(gè)完整的數(shù)據(jù)盒,導(dǎo)致數(shù)據(jù)泄露。數(shù)據(jù)防泄露機(jī)制包括:數(shù)據(jù)盒正常使用情況下的數(shù)據(jù)加密保護(hù),實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)密文形式共享;數(shù)據(jù)盒被盜取或控制情況下的數(shù)據(jù)機(jī)密性保護(hù),提供數(shù)據(jù)盒抗盜取和抗逆向拆解能力;數(shù)據(jù)監(jiān)控保護(hù),發(fā)現(xiàn)數(shù)據(jù)盒的不正當(dāng)使用時(shí),啟動(dòng)數(shù)據(jù)盒自毀機(jī)制。
2.4 數(shù)據(jù)盒的計(jì)量與定價(jià)
數(shù)據(jù)盒的計(jì)量是指根據(jù)數(shù)據(jù)使用者的要求,對(duì)數(shù)據(jù)使用需求建模,根據(jù)不同的需求粒度切分?jǐn)?shù)據(jù)盒,為數(shù)據(jù)使用者提供數(shù)據(jù)資源;數(shù)據(jù)盒的定價(jià)是指按照數(shù)據(jù)盒的定價(jià)規(guī)則對(duì)數(shù)據(jù)使用者進(jìn)行定價(jià)。
綜上,按照數(shù)據(jù)盒為基本單元組織數(shù)據(jù),并封裝數(shù)據(jù)防泄露和權(quán)益保護(hù)機(jī)制以及提供數(shù)據(jù)盒計(jì)量和定價(jià)策略,為數(shù)據(jù)開(kāi)放提供技術(shù)保障。
3 ?數(shù)據(jù)盒運(yùn)作系統(tǒng)框架
以數(shù)據(jù)盒形式展示的數(shù)據(jù)資源存放在數(shù)據(jù)站中,每個(gè)數(shù)據(jù)站配備一套數(shù)據(jù)資源管理系統(tǒng),用以管理該站下的所有數(shù)據(jù)盒,并通過(guò)數(shù)據(jù)盒虛擬化、應(yīng)用裝載等功能供外部使用數(shù)據(jù)。其具體運(yùn)作的系統(tǒng)如圖2所示,包括數(shù)據(jù)源管理模塊、數(shù)據(jù)盒構(gòu)建與環(huán)境配置模塊、數(shù)據(jù)灌裝模塊、交互模塊。
圖2 系統(tǒng)模塊組成
各個(gè)模塊介紹如下。
(1)數(shù)據(jù)源管理模塊
數(shù)據(jù)源管理模塊即數(shù)據(jù)站配備的數(shù)據(jù)資源管理系統(tǒng),用于管理數(shù)據(jù)擁有者的數(shù)據(jù)源,這個(gè)數(shù)據(jù)源可能是單點(diǎn)的,也可能是分布式的。數(shù)據(jù)擁有者想要開(kāi)放的數(shù)據(jù)都從該數(shù)據(jù)源中獲得,而且數(shù)據(jù)擁有者本身并不需要關(guān)心數(shù)據(jù)源的組織方式和存儲(chǔ)格式。
(2)數(shù)據(jù)盒構(gòu)建與環(huán)境配置模塊
數(shù)據(jù)盒構(gòu)建與環(huán)境配置模塊負(fù)責(zé)數(shù)據(jù)盒的生成以及數(shù)據(jù)盒環(huán)境的配置。
依據(jù)數(shù)據(jù)盒的大小(數(shù)據(jù)盒大小由數(shù)據(jù)擁有者提供的該數(shù)據(jù)盒中的數(shù)據(jù)記錄的多少?zèng)Q定,即由數(shù)據(jù)記錄的字段數(shù)、數(shù)據(jù)記錄的條數(shù)決定數(shù)據(jù)盒的大小)、約束條件、接口和監(jiān)控要求以及環(huán)境需求(由數(shù)據(jù)擁有者提供的該數(shù)據(jù)盒初始使用環(huán)境,即使用這些數(shù)據(jù)可用的軟硬件環(huán)境,例如,GPU、內(nèi)存、操作系統(tǒng)配置等)構(gòu)建數(shù)據(jù)盒,并配置數(shù)據(jù)盒環(huán)境。數(shù)據(jù)盒大小實(shí)際是根據(jù)數(shù)據(jù)記錄的字段及其條數(shù)、值決定的。
(3)數(shù)據(jù)灌裝模塊
數(shù)據(jù)灌裝模塊負(fù)責(zé)將數(shù)據(jù)源進(jìn)行格式轉(zhuǎn)化,導(dǎo)入數(shù)據(jù)盒。從數(shù)據(jù)源中獲取的數(shù)據(jù)可能是有不同格式的,在經(jīng)過(guò)一定的格式轉(zhuǎn)化之后,形成BSON以支持?jǐn)?shù)據(jù)盒的數(shù)據(jù)灌裝。
(4)交互模塊
交互模塊負(fù)責(zé)承載數(shù)據(jù)使用者使用數(shù)據(jù)盒的展示、交互。數(shù)據(jù)使用者可以通過(guò)該模塊的交互來(lái)獲得和使用數(shù)據(jù)盒。該模塊把最后得到的數(shù)據(jù)盒交付給數(shù)據(jù)使用者。
該系統(tǒng)的運(yùn)作流程如下。
● 準(zhǔn)備數(shù)據(jù):數(shù)據(jù)擁有者選定希望開(kāi)放的數(shù)據(jù),確定數(shù)據(jù)字段和數(shù)據(jù)記錄,并給出數(shù)據(jù)的使用約束,通過(guò)數(shù)據(jù)源管理模塊將數(shù)據(jù)交付給數(shù)據(jù)盒灌裝模塊。
● 數(shù)據(jù)盒構(gòu)建與環(huán)境配置:配置數(shù)據(jù)所需的軟硬件環(huán)境,通過(guò)數(shù)據(jù)盒構(gòu)建與環(huán)境配置模塊將軟硬件環(huán)境配置信息封裝到數(shù)據(jù)盒中,生成數(shù)據(jù)盒,并分配數(shù)據(jù)盒標(biāo)識(shí)。
● 數(shù)據(jù)灌裝:在數(shù)據(jù)盒灌裝模塊,實(shí)現(xiàn)原始數(shù)據(jù)格式轉(zhuǎn)換,轉(zhuǎn)碼為BSON,將數(shù)據(jù)擁有者想要發(fā)布的數(shù)據(jù)記錄按照其約束條件實(shí)施數(shù)據(jù)盒的灌裝,并且封裝數(shù)據(jù)訪問(wèn)控制和數(shù)據(jù)防泄露機(jī)制。
● 數(shù)據(jù)盒交付:將生成的數(shù)據(jù)盒交付給數(shù)據(jù)站。數(shù)據(jù)使用者通過(guò)交互模塊,挑選所需的數(shù)據(jù)盒,并告知數(shù)據(jù)盒的使用方式和使用目的,根據(jù)數(shù)據(jù)使用者提交的數(shù)據(jù)使用需求和數(shù)據(jù)訪問(wèn)程序及其聲明,數(shù)據(jù)擁有者對(duì)數(shù)據(jù)盒進(jìn)行定價(jià),數(shù)據(jù)站為數(shù)據(jù)使用者提供數(shù)據(jù)盒及其服務(wù)。
通過(guò)上述步驟,數(shù)據(jù)擁有者可以以數(shù)據(jù)盒為基本組織單元組織所擁有的數(shù)據(jù)資源,放在數(shù)據(jù)站中,對(duì)外開(kāi)放發(fā)布;數(shù)據(jù)使用者可以發(fā)出數(shù)據(jù)使用需求,從數(shù)據(jù)站中申請(qǐng)使用數(shù)據(jù)盒。
以數(shù)據(jù)盒為基本單元的數(shù)據(jù)自治開(kāi)放數(shù)據(jù)資源組織使用示意如圖3所示。
圖3 ?以數(shù)據(jù)盒為基本單元的數(shù)據(jù)自治開(kāi)放數(shù)據(jù)資源組織使用示意
4 ?數(shù)據(jù)盒模型的特性和效果
從數(shù)據(jù)盒的基本要素組成以及運(yùn)作系統(tǒng)架構(gòu)可以看到,數(shù)據(jù)盒是一個(gè)類似于現(xiàn)實(shí)世界中用來(lái)盛放物品的盒子的數(shù)據(jù)裝置,盒中存放的是數(shù)據(jù)源。盒子便于運(yùn)輸,也便于數(shù)據(jù)的流通。數(shù)據(jù)盒可以配置不同大小的尺寸,可以根據(jù)數(shù)據(jù)使用者的需求裝入不同大小的數(shù)據(jù)。每個(gè)盒子設(shè)置一個(gè)標(biāo)識(shí),稱為數(shù)據(jù)盒標(biāo)牌,用于識(shí)別數(shù)據(jù)盒。數(shù)據(jù)盒為數(shù)據(jù)使用者提供數(shù)據(jù)的訪問(wèn)接口,數(shù)據(jù)使用者可以聲明其訪問(wèn)需求,通過(guò)接口訪問(wèn)數(shù)據(jù)盒中的數(shù)據(jù)。考慮到數(shù)據(jù)盒的使用權(quán)限,數(shù)據(jù)盒還存放數(shù)據(jù)防泄露和數(shù)據(jù)權(quán)益保護(hù)程序。每個(gè)數(shù)據(jù)使用者可以申請(qǐng)獲取一系列(一個(gè)或多個(gè))數(shù)據(jù)盒。數(shù)據(jù)盒將數(shù)據(jù)擁有者的數(shù)據(jù)、訪問(wèn)權(quán)限等進(jìn)行了有機(jī)合理的組織,使得數(shù)據(jù)使用者能夠很方便地看見(jiàn)有哪些數(shù)據(jù)被開(kāi)放、數(shù)據(jù)的結(jié)構(gòu)和組成等,按照數(shù)據(jù)盒的方式向數(shù)據(jù)使用者開(kāi)放數(shù)據(jù),使數(shù)據(jù)擁有者可以根據(jù)數(shù)據(jù)的開(kāi)放程度進(jìn)行數(shù)據(jù)的把控,實(shí)現(xiàn)了數(shù)據(jù)內(nèi)部可控、可跟蹤、可撤銷;并且,數(shù)據(jù)盒的集成形式為數(shù)據(jù)使用者/應(yīng)用軟件的使用、計(jì)量、管控提供了便利。數(shù)據(jù)使用者看到的是一系列封裝好的數(shù)據(jù)盒,可以根據(jù)數(shù)據(jù)使用需求方便地選擇使用數(shù)據(jù)盒。對(duì)數(shù)據(jù)使用者而言,開(kāi)放的數(shù)據(jù)是外部可見(jiàn)的、可理解的,數(shù)據(jù)使用者也可以提出自己對(duì)數(shù)據(jù)的訪問(wèn)需求和程序,讓數(shù)據(jù)盒擁有者進(jìn)行審核,實(shí)現(xiàn)數(shù)據(jù)盒可編程。這種數(shù)據(jù)資源組織形式提升了數(shù)據(jù)的獨(dú)立性、可用性和可控性,實(shí)現(xiàn)了數(shù)據(jù)自治。
5 ?具體實(shí)施方式
數(shù)據(jù)盒的生命周期包括以下幾個(gè)階段。
● 創(chuàng)建:選擇/生成一個(gè)具有指定存儲(chǔ)和計(jì)算能力的基礎(chǔ)映像實(shí)例。
● 灌裝:向映像實(shí)例中添加用戶所選的數(shù)據(jù),還可以添加用戶根據(jù)數(shù)據(jù)自治開(kāi)放標(biāo)準(zhǔn)編寫(xiě)的程序模塊。
● 運(yùn)輸:將灌裝了數(shù)據(jù)的數(shù)據(jù)盒運(yùn)送給用戶,運(yùn)輸方式可以為在線,也可為離線。
● 加載使用:用戶根據(jù)使用說(shuō)明在本地加載數(shù)據(jù)盒,所有訪問(wèn)受到數(shù)據(jù)盒訪問(wèn)控制的限制。用戶可以要求重新灌裝數(shù)據(jù)或自定義模塊。
● 銷毀:到達(dá)指定的訪問(wèn)期限后,數(shù)據(jù)盒自動(dòng)銷毀內(nèi)部數(shù)據(jù)。
面向數(shù)據(jù)盒的軟件開(kāi)發(fā)和運(yùn)行平臺(tái)主要為數(shù)據(jù)盒的加載和使用環(huán)節(jié)提供支撐,著重解決數(shù)據(jù)盒應(yīng)用開(kāi)發(fā)和運(yùn)行的技術(shù)問(wèn)題,對(duì)傳統(tǒng)的集成開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境進(jìn)行了必要的技術(shù)改造和擴(kuò)展。
下面以數(shù)據(jù)擁有者如何將其數(shù)據(jù)資源構(gòu)建為若干數(shù)據(jù)盒用于開(kāi)放為例,說(shuō)明本數(shù)據(jù)模型的具體實(shí)施方式,如圖4所示。
圖4 數(shù)據(jù)盒的實(shí)施步驟
(1)生成一個(gè)初始數(shù)據(jù)盒
使用Java中的Docker-Java-API從基礎(chǔ)鏡像創(chuàng)建容器,基礎(chǔ)鏡像中有Java、Tomcat、MongoDB等軟件環(huán)境,生成一個(gè)初始數(shù)據(jù)盒。
(2)確定要裝入數(shù)據(jù)盒的數(shù)據(jù)
如圖4(a)所示,數(shù)據(jù)使用者選定需要裝入數(shù)據(jù)盒的數(shù)據(jù),確定需要開(kāi)放的數(shù)據(jù)字段、數(shù)據(jù)記錄等。例如,數(shù)據(jù)使用者有一個(gè)用MySQL存儲(chǔ)的醫(yī)療數(shù)據(jù)庫(kù),包含病人基本信息、醫(yī)生基本信息、門診就診信息等多張表。數(shù)據(jù)擁有者希望開(kāi)放的是用藥數(shù)據(jù),這涉及病人基本信息表的非敏感字段,例如數(shù)據(jù)表中的病人就醫(yī)順序號(hào)(非身份證號(hào)或醫(yī)保卡號(hào)等)、病人疾病診斷、病人用藥信息等,這些數(shù)據(jù)分別在不同數(shù)據(jù)表中。數(shù)據(jù)使用者首先選定這些所需字段以及想要開(kāi)放的數(shù)據(jù)記錄條數(shù)(或時(shí)間區(qū)間等),例如,開(kāi)放2017年1—6月的數(shù)據(jù)。
(3)根據(jù)選定的數(shù)據(jù),設(shè)置數(shù)據(jù)盒的大小、約束條件等
如圖4(b)所示,若數(shù)據(jù)使用者要開(kāi)放的數(shù)據(jù)是2017年半年的數(shù)據(jù),那么,計(jì)算2017年半年的數(shù)據(jù)量(例如20 GB),根據(jù)數(shù)據(jù)量,設(shè)置該數(shù)據(jù)盒的大小。數(shù)據(jù)擁有者根據(jù)數(shù)據(jù)的特點(diǎn)和使用權(quán)限,設(shè)置約束條件,例如,不允許將這個(gè)數(shù)據(jù)盒與涉及病人個(gè)體信息的數(shù)據(jù)盒進(jìn)行拼接,或不允許對(duì)該數(shù)據(jù)盒中的某個(gè)字段(如年齡字段)進(jìn)行逐條訪問(wèn);數(shù)據(jù)盒的多副本約束即約束該數(shù)據(jù)盒的使用者數(shù)量等。
(4)在灌裝數(shù)據(jù)擁有者數(shù)據(jù)時(shí),配置數(shù)據(jù)盒對(duì)應(yīng)的運(yùn)行環(huán)境
如圖4(c)所示,選定需要的軟硬件環(huán)境,例如,Intel Xeon E3*4、Nvidia GPU 4G 256 m、RAM 16 GB等硬件環(huán)境以及Ubuntu 14.04-64bit、jre8、Python3等軟件環(huán)境。
(5)灌裝和打包數(shù)據(jù)盒,把數(shù)據(jù)裝載進(jìn)數(shù)據(jù)盒
如圖4(d)所示,例如對(duì)于數(shù)據(jù)源為MySQL的數(shù)據(jù),可以使用Java中的MySQL-connectorAPI來(lái)讀取數(shù)據(jù)源中的數(shù)據(jù),并進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換,將這些數(shù)據(jù)輸出到文件中,保存為BSON。將BSON文件復(fù)制到創(chuàng)建好的容器中,并將BSON文件讀入。將一個(gè)用于向外界暴露數(shù)據(jù)獲取接口的網(wǎng)站應(yīng)用以war包的形式復(fù)制到容器中,并在Tomcat中啟動(dòng)。建立數(shù)據(jù)盒標(biāo)牌。打包這個(gè)鏡像,并將鏡像以文件形式提供給數(shù)據(jù)使用者。
(6)在該鏡像中封裝數(shù)據(jù)盒防泄露機(jī)制
數(shù)據(jù)盒防泄露機(jī)制作用如下:數(shù)據(jù)盒正常使用情況下的數(shù)據(jù)加密保護(hù),實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)密文形式共享;數(shù)據(jù)盒被盜取或控制情況下的數(shù)據(jù)機(jī)密性保護(hù),不允許數(shù)據(jù)盒抗盜取和抗逆向拆解;根據(jù)數(shù)據(jù)擁有者的數(shù)據(jù)約束,不允許數(shù)據(jù)使用者對(duì)數(shù)據(jù)盒進(jìn)行非法拼裝;控制數(shù)據(jù)使用者的數(shù)據(jù)記錄數(shù)量等。
(7)在該鏡像里封裝數(shù)據(jù)盒訪問(wèn)監(jiān)控機(jī)制,實(shí)施對(duì)數(shù)據(jù)盒中數(shù)據(jù)訪問(wèn)的控制
例如,數(shù)據(jù)使用者聲明只對(duì)數(shù)據(jù)進(jìn)行聚類分析,但在使用數(shù)據(jù)過(guò)程中,如果數(shù)據(jù)使用者還做了其他數(shù)據(jù)訪問(wèn)操作,不正當(dāng)使用數(shù)據(jù)時(shí),那么封裝在數(shù)據(jù)盒中的訪問(wèn)監(jiān)控程序?qū)?bào)警,并阻止非法訪問(wèn)操作,甚至執(zhí)行數(shù)據(jù)盒自毀操作。
(8)數(shù)據(jù)盒灌裝完成后,外部數(shù)據(jù)使用者可以訪問(wèn)和使用該數(shù)據(jù)盒
數(shù)據(jù)使用者提出對(duì)數(shù)據(jù)盒的使用需求以及使用方式(例如聚類分析、逐條讀取、只利用其中的某些字段等),數(shù)據(jù)擁有者根據(jù)這些需求對(duì)數(shù)據(jù)盒進(jìn)行定價(jià),通過(guò)數(shù)據(jù)站為數(shù)據(jù)使用者提供數(shù)據(jù)盒服務(wù)。數(shù)據(jù)使用者可以利用Docker在其本地啟動(dòng)這個(gè)鏡像,并通過(guò)提供的接口獲取數(shù)據(jù),即獲取數(shù)據(jù)盒,實(shí)現(xiàn)數(shù)據(jù)開(kāi)放;同時(shí),數(shù)據(jù)盒中封裝的訪問(wèn)控制和防泄露機(jī)制又能保證數(shù)據(jù)使用者無(wú)法直接接觸到數(shù)據(jù),保證數(shù)據(jù)在開(kāi)放時(shí)的安全性。
6 ?結(jié)束語(yǔ)
本文提出的面向數(shù)據(jù)自治開(kāi)放的數(shù)據(jù)盒模型,將數(shù)據(jù)擁有者的數(shù)據(jù)、訪問(wèn)權(quán)限等進(jìn)行了有機(jī)合理的組織,使得數(shù)據(jù)擁有者可以根據(jù)自己對(duì)數(shù)據(jù)的開(kāi)放程度進(jìn)行把控。數(shù)據(jù)使用者也可以提出自己對(duì)數(shù)據(jù)的訪問(wèn)需求和程序,讓數(shù)據(jù)盒擁有者進(jìn)行審核,實(shí)現(xiàn)數(shù)據(jù)盒可編程。這種數(shù)據(jù)資源組織形式提升了數(shù)據(jù)的獨(dú)立性、可用性和可控性,實(shí)現(xiàn)了數(shù)據(jù)自治,使得數(shù)據(jù)擁有者在數(shù)據(jù)開(kāi)放的同時(shí)又能保證其數(shù)據(jù)稀缺性不喪失和隱私不泄露,有效地支持了數(shù)據(jù)開(kāi)放。
點(diǎn)擊下方?閱讀原文?即可獲取全文
作 者 簡(jiǎn) 介
熊贇(1980-),女,博士,復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院教授。2004年起從事數(shù)據(jù)領(lǐng)域方面的研究工作,作為項(xiàng)目負(fù)責(zé)人主持國(guó)家自然科學(xué)基金、上海市科學(xué)技術(shù)委員會(huì)發(fā)展基金以及企業(yè)合作項(xiàng)目。相關(guān)研究成果在國(guó)際權(quán)威期刊和會(huì)議發(fā)表論文40余篇、出版著作3本。目前主要研究方向?yàn)閿?shù)據(jù)科學(xué)和大數(shù)據(jù)。
?
朱揚(yáng)勇(1963-),男,博士,復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院教授、學(xué)術(shù)委員會(huì)主任,上海市數(shù)據(jù)科學(xué)重點(diǎn)實(shí)驗(yàn)室主任。1989年起從事數(shù)據(jù)領(lǐng)域研究,2008年提出數(shù)據(jù)資源保護(hù)和利用,2009年發(fā)表了數(shù)據(jù)科學(xué)論文“Data explosion,data nature and dataology”,并出版專著《數(shù)據(jù)學(xué)》,對(duì)數(shù)據(jù)科學(xué)進(jìn)行了系統(tǒng)探討和描述。2010年創(chuàng)辦了“International Workshop on Dataology and Data Science”,2014年和石勇、張成奇共同創(chuàng)辦了“International Conference on Data Science”。擔(dān)任第462次香山科學(xué)會(huì)議“數(shù)據(jù)科學(xué)與大數(shù)據(jù)的理論問(wèn)題探索”的執(zhí)行主席、“大數(shù)據(jù)技術(shù)與應(yīng)用叢書(shū)”主編。目前主要研究方向?yàn)閿?shù)據(jù)科學(xué)、大數(shù)據(jù)。
?
《大數(shù)據(jù)》期刊
《大數(shù)據(jù)(Big?Data?Research,BDR)》雙月刊是由中華人民共和國(guó)工業(yè)和信息化部主管,人民郵電出版社主辦,中國(guó)計(jì)算機(jī)學(xué)會(huì)大數(shù)據(jù)專家委員會(huì)學(xué)術(shù)指導(dǎo),北京信通傳媒有限責(zé)任公司出版的科技期刊。
關(guān)注《大數(shù)據(jù)》期刊微信公眾號(hào),獲取更多內(nèi)容
總結(jié)
以上是生活随笔為你收集整理的面向数据自治开放的数据盒模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 构造函数中调用构造函数new和delet
- 下一篇: 顶嵌