一種不確定數(shù)據(jù)的數(shù)據(jù)存儲方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)據(jù)存儲技術(shù)領(lǐng)域,具體涉及一種不確定數(shù)據(jù)的數(shù)據(jù)存儲方法。
【背景技術(shù)】
[0002] 近些年,隨著互聯(lián)網(wǎng)的迅猛發(fā)展與數(shù)據(jù)采集技術(shù)的不斷提高,人們可獲得的數(shù)據(jù) 量越來越大,這為大數(shù)據(jù)環(huán)境下特定信息的查詢與管理帶來了新的挑戰(zhàn)。與此同時,由于數(shù) 據(jù)感知設(shè)備的誤差或?qū)γ舾行畔⒌碾[私保護(hù),軍事、物流、金融等領(lǐng)域所獲得的數(shù)據(jù)往往不 能準(zhǔn)確描述數(shù)據(jù)的特征,即所獲得數(shù)據(jù)具有不確定性。不確定數(shù)據(jù)是指真實獲得的、不精確 的、沒有確定取值的數(shù)據(jù),如GPS定位數(shù)據(jù)、全國人口總數(shù)數(shù)據(jù)等。相比于確定性數(shù)據(jù),不確 定數(shù)據(jù)最大的特點在于同一個數(shù)據(jù)對應(yīng)多個可能的取值,對于同類型的數(shù)據(jù),不確定數(shù)據(jù) 規(guī)模遠(yuǎn)大于確定性數(shù)據(jù)規(guī)模。以移動通信運營商記錄用戶3G上網(wǎng)情況為例,用戶每次連接 3G網(wǎng)絡(luò)直至斷開為一次上網(wǎng)記錄,每條記錄中都需要記錄用戶的姓名、手機(jī)號碼、連接時 間、結(jié)束時間、所用流量、連接網(wǎng)絡(luò)時用戶坐標(biāo)、斷開網(wǎng)絡(luò)時用戶坐標(biāo)、連接網(wǎng)絡(luò)期間用戶移 動路徑等信息,而由于硬件設(shè)備的局限以及對個人隱私信息的保護(hù),獲得的用戶地理位置 信息存在著不確定性,每條記錄中每個用戶位置信息都可能對應(yīng)一個甚至多個可能的坐標(biāo) 值,這為對用戶行為的分析帶來了巨大挑戰(zhàn)。
[0003] 為解決迅速增長的海量不確定數(shù)據(jù)的存儲問題,相關(guān)學(xué)者提出了不確定數(shù)據(jù)模型 的概念,在已經(jīng)成熟的關(guān)系型數(shù)據(jù)模型基礎(chǔ)上提供對不確定數(shù)據(jù)存儲的支持。現(xiàn)有不確定 數(shù)據(jù)存儲多采取類關(guān)系型的鍵值對數(shù)據(jù)結(jié)構(gòu)存儲不確定數(shù)據(jù)。這種存儲方式雖在模型實 現(xiàn)、操作層面上具有簡單、便捷的特點,但其僅適用于單一類型的不確定數(shù)據(jù),對于不同級 別不確定數(shù)據(jù)并存的情況,如屬性級不確定數(shù)據(jù)與記錄級不確定數(shù)據(jù)并存,現(xiàn)有模型未能 提供有效的應(yīng)對策略,導(dǎo)致存儲模型結(jié)構(gòu)單一、僵化,可擴(kuò)展性不足。同時,由于現(xiàn)有數(shù)據(jù)存 儲結(jié)構(gòu)低效,沒有高效合理的索引結(jié)構(gòu)輔助數(shù)據(jù)查詢過程,現(xiàn)有模型不能以較低的空間與 時間開銷實現(xiàn)從已有確定數(shù)據(jù)向不確定數(shù)據(jù)的轉(zhuǎn)換,難以滿足大數(shù)據(jù)環(huán)境下不確定數(shù)據(jù)查 詢與分析情景的應(yīng)用需求。
【發(fā)明內(nèi)容】
[0004] 針對現(xiàn)有技術(shù)的不足,本發(fā)明提出一種不確定數(shù)據(jù)的數(shù)據(jù)存儲方法。
[0005] 本發(fā)明技術(shù)方案如下:
[0006] 一種不確定數(shù)據(jù)的數(shù)據(jù)存儲方法,包括以下步驟:
[0007] 步驟1 :根據(jù)待存儲的每條不確定數(shù)據(jù)記錄的不確定情況創(chuàng)建該記錄的記錄級不 確定性元組;
[0008] 步驟2 :將每條不確定數(shù)據(jù)記錄中包含的所有不確定數(shù)據(jù)項按屬性名稱劃分,根 據(jù)屬性名稱分別創(chuàng)建該屬性名稱的屬性單元,組成每條不確定數(shù)據(jù)記錄的屬性單元集合, 其中,各屬性單元包含與該屬性名稱相關(guān)的所有不確定數(shù)據(jù)項;
[0009] 步驟3 :根據(jù)屬性單元集合中各個屬性單元的屬性名稱創(chuàng)建屬性包含單元,屬性 包含單元記錄當(dāng)前記錄中包含的所有屬性名稱;
[0010] 步驟4 :為每條不確定數(shù)據(jù)記錄創(chuàng)建行鍵;
[0011] 步驟5 :將每條不確定數(shù)據(jù)記錄的記錄級不確定性元組、屬性單元集合、屬性包含 單元與行鍵整合為一條完整的不確定數(shù)據(jù)記錄的邏輯表示;
[0012] 步驟6 :重復(fù)步驟1至步驟5,將所有不確定數(shù)據(jù)記錄的邏輯表示整合為不確定數(shù) 據(jù)邏輯模型;
[0013] 步驟7 :將不確定數(shù)據(jù)邏輯模型及對應(yīng)的數(shù)據(jù)進(jìn)行存儲,并對不確定數(shù)據(jù)邏輯模 型以屬性名稱為索引項建立屬性索引樹:屬性索引樹的節(jié)點對應(yīng)屬性名稱的集合,一個葉 子節(jié)點對應(yīng)一個屬性名稱,葉子節(jié)點為行鍵的集合,行鍵的集合記錄著不確定數(shù)據(jù)邏輯模 型中所有含有該葉子節(jié)點對應(yīng)屬性名稱的不確定數(shù)據(jù)記錄;
[0014] 步驟8 :遍歷不確定數(shù)據(jù)邏輯模型中的所有不確定數(shù)據(jù)記錄,根據(jù)不確定數(shù)據(jù)記 錄間的生成規(guī)則創(chuàng)建生成規(guī)則矩陣Matrixral6S;
[0015] 步驟8. 1 :遍歷不確定數(shù)據(jù)邏輯模型中的所有不確定數(shù)據(jù)記錄,查找不確定數(shù)據(jù) 記錄間的生成規(guī)則,若兩條記錄中存在多種生成規(guī)則的整合為一種新的生成規(guī)則,放入生 成規(guī)則集合Srales*;
[0016] 步驟8. 2 :根據(jù)不確定數(shù)據(jù)記錄間的生成規(guī)則創(chuàng)建生成規(guī)則矩陣MatriXrales:將生 成規(guī)則集合Srales中的行健作為行值和列值,生成規(guī)則作為其對應(yīng)的內(nèi)容,創(chuàng)建生成規(guī)則矩 陣Matrixrules;
[0017] 步驟9 :當(dāng)查詢不確定數(shù)據(jù)時,根據(jù)查詢語句的條件屬性,利用不確定數(shù)據(jù)邏輯模 型進(jìn)行查詢操作;
[0018] 步驟9. 1 :在不確定數(shù)據(jù)邏輯模型的屬性索引樹中查找包含該條件屬性的葉子節(jié) 點對應(yīng)的所有不確定數(shù)據(jù)記錄作為候選記錄集合Setrandidate;;
[0019] 步驟9. 2 :根據(jù)查詢語句的限制條件查找候選記錄集合Set_didat#的記錄,獲得 中間結(jié)果集Set^i,根據(jù)生成規(guī)則矩陣Matrixrales,對中間結(jié)果集的各條記錄進(jìn) 行篩選,完成查詢操作。
[0020] 本發(fā)明的有益效果:
[0021] 本發(fā)明提出了一種不確定數(shù)據(jù)的數(shù)據(jù)存儲方法,在大規(guī)模屬性數(shù)量情況下,本發(fā) 明提出的存儲方法一方面對不確定數(shù)據(jù)記錄內(nèi)的不確定數(shù)據(jù)進(jìn)行了整合,根據(jù)屬性劃分不 確定數(shù)據(jù)并進(jìn)行存儲,提高了讀取不確定數(shù)據(jù)的效率,另一方面,對所有屬性構(gòu)建了屬性索 引樹,大大減低了模型檢索各屬性數(shù)據(jù)的時間。同時,該方法通過添加記錄級不確定性元 組,提供了對不同級別不確定性數(shù)據(jù)的支持,使得模型應(yīng)用場景更加廣泛,具有高可用性與 高擴(kuò)展性,很好地達(dá)到了優(yōu)化不確定數(shù)據(jù)存儲的效果。
【附圖說明】
[0022] 圖1為本發(fā)明【具體實施方式】中的不確定數(shù)據(jù)的數(shù)據(jù)存儲方法的流程圖;
[0023] 圖2為本發(fā)明【具體實施方式】中的不確定數(shù)據(jù)的屬性單元的示意圖;
[0024] 圖3為本發(fā)明【具體實施方式】中的不確定數(shù)據(jù)的不確定數(shù)據(jù)邏輯模型的示意圖;
[0025] 圖4為本發(fā)明【具體實施方式】中的不確定數(shù)據(jù)的屬性索引樹結(jié)構(gòu)圖;
[0026] 圖5為本發(fā)明【具體實施方式】中的不確定數(shù)據(jù)的生成規(guī)則矩陣與不確定數(shù)據(jù)邏輯 豐旲型的關(guān)系不意圖。
【具體實施方式】
[0027] 下面結(jié)合附圖對本發(fā)明【具體實施方式】加以詳細(xì)的說明。
[0028] 以移動通信運營商記錄用戶3G上網(wǎng)情況為例,用戶每次連接3G網(wǎng)絡(luò)直至斷開為 一次上網(wǎng)記錄,若每條記錄除用戶姓名、手機(jī)號碼、連接時間、結(jié)束時間、所用流量等基本信 息外,每隔一定時間還記錄用戶的地理位置,如一分鐘或三十秒,考慮到用戶連接網(wǎng)絡(luò)的時 間一般較長,記錄中用戶不同時刻的地理位置數(shù)據(jù)數(shù)量隨時間線性增長,又由于硬件設(shè)備 的局限以及對個人隱私信息的保護(hù),獲得的用戶地理位置信息存在著不確定性,每條記錄 中每個用戶位置信息都可能對應(yīng)一個甚至多個可能的坐標(biāo)值。當(dāng)基于這些記錄進(jìn)行數(shù)據(jù)分 析或執(zhí)行特定查詢時,整個操作的時間開銷極大,通過本發(fā)明提出的基于不確定數(shù)據(jù)的數(shù) 據(jù)存儲方法對用戶上網(wǎng)記錄數(shù)據(jù)的存儲進(jìn)行優(yōu)化。
[0029] 一種不確定數(shù)據(jù)的數(shù)據(jù)存儲方法,如圖1所示,包括以下步驟:
[0030] 步驟1 :根據(jù)待存儲的每條不確定數(shù)據(jù)記錄的不確定情況創(chuàng)建該記錄的記錄級不 確定性元組。
[0031] 記錄級不確定性元組的數(shù)據(jù)以<記錄不確定概率?_,最新修改時間IrtW>結(jié)構(gòu)存 儲,其中,記錄不確定概率PMW表示當(dāng)前整條不確定數(shù)據(jù)記錄的不確定性,以浮點數(shù)類型表 示,其概率值PMWG[0,1]。當(dāng)PMW=0時,表示當(dāng)前記錄完全不可信,當(dāng)PMW=1時,表示 當(dāng)前記錄完全可信,PMW值越大表示當(dāng)前記錄確定性越大。最新修改時間TMW表示當(dāng)前記錄 中記錄級不確定性元組創(chuàng)建時間或最近修改時間的時間戳,即創(chuàng)建時間或最近修改時間距 離格林威治標(biāo)準(zhǔn)時間(1970年1月1日00:00:000)的毫秒偏移量。
[0032]本實施方式中,由于延遲,系統(tǒng)可能對同一用戶的上網(wǎng)情況創(chuàng)建多條上網(wǎng)記錄, 每條記錄都有一個不確定性概率,表示該記錄為真正的用戶上網(wǎng)記錄的可能性,如< 0. 4, 1416290242 >,其中0. 4表示當(dāng)前整條記錄的不確定性,則這條用戶上網(wǎng)記錄是真實數(shù)據(jù) 的可能性為〇. 4,1416290242表示當(dāng)前記錄中記錄級不確定性元組創(chuàng)建時間或最近修改時 間距離格林威治標(biāo)準(zhǔn)時間(1970年1月1日00:00:000)的毫秒偏移量。
[0033] 步驟2 :將每條不確定數(shù)據(jù)記錄中包含的所有不確定數(shù)據(jù)項按屬性名稱劃分,根 據(jù)屬性名稱分別創(chuàng)建該屬性名稱的屬性單元,組成每條不確定數(shù)據(jù)記錄的屬性單元集合, 其中,各屬性單元包含與該屬性名稱相關(guān)的所有不確定數(shù)據(jù)項。
[0034] 如圖2所示,各個不確定數(shù)據(jù)項均以<屬性取值V,屬性取值概率P,最新修改時 間T>的結(jié)構(gòu)存儲,其中,屬性取值V表示所描述的屬性K的一個可能取值,屬性取值概率 P表示當(dāng)前記錄中屬性K取值為V時的概率,以浮點數(shù)類型表示,屬性取值概率的概率值 PG[0, 1]。當(dāng)P= 〇時,表示當(dāng)前記錄中屬性K不可能取值為V,當(dāng)P= 1時,當(dāng)前記錄 中屬性K一定取值為V,P值越大表示當(dāng)前屬性單元屬性取值為V的可能性越大,最新修改 時間T表示該數(shù)據(jù)項創(chuàng)建或修改時間的時間戳,即創(chuàng)建或修改時間距離格林威治標(biāo)準(zhǔn)時間 (1970年1月1日00:00:000)的毫秒偏移量。每條記錄中的所有屬性單元構(gòu)成本條記錄的 屬性單元集合。
[0035]本實施方式中,由于每條用戶上網(wǎng)記錄都包含很多屬性,每個屬性又可能包含 多個不確定的取值,為加快數(shù)據(jù)的檢索速度,為每條記錄中的每個屬性創(chuàng)建一個不確定 數(shù)據(jù)集合,即屬性單元,將這個屬性對應(yīng)的所有可能的取值情況都放入這個屬性單元中, 以連接時間start為例,記錄中包含兩個start屬性可能的取值,此時,為連接時間屬 性start創(chuàng)建一個屬性單元,在這個屬性單元中放入與start相關(guān)的兩個不確定數(shù)據(jù): < 2014110100:00:000,0.65,1416290242 > 和 < 2014110100:01:234,0. 35,1416290242 >,這兩個<屬性取值,屬性取值概率,最新修改時間> 結(jié)構(gòu)數(shù)據(jù)表示此條用戶上網(wǎng)記錄可 能開始于2014110100:00:000,也可能開始于2014110100:01:234,前者發(fā)生的概率為0. 65 而后者發(fā)生的概率為0. 35,這兩個關(guān)于屬性start的不確定數(shù)據(jù)項記錄時間距離格林威治 標(biāo)準(zhǔn)時間(1970年1月1日00:00:000)的毫秒偏移量都為1416290242。
[0036] 步驟3 :根據(jù)屬性