數(shù)據(jù)表儲存、修改、查詢和統(tǒng)計方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)控制領(lǐng)域,具體而言,涉及數(shù)據(jù)表儲存方法、數(shù)據(jù)表修改方法、數(shù) 據(jù)查詢方法和數(shù)據(jù)統(tǒng)計方法。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,目前基于各種云架構(gòu)的產(chǎn)品層出不窮,云存儲技術(shù) 的載體是云端系統(tǒng),具體的,云端系統(tǒng)包括公有云和私有云。私有云安全但不便于大規(guī)模調(diào) 用,公有云的安全性從實際上和必理上都感覺會弱一些,但各種運算資源、存儲資源和帶寬 資源都相對好的多。因此,很多用戶都面臨要將自己的數(shù)據(jù)存入公共網(wǎng)絡(luò)而又面臨安全問 題的窘境。
[0003] 比如現(xiàn)在的視頻、音頻、文本、數(shù)據(jù)庫等數(shù)據(jù),很多都是個人或公共機構(gòu)的私有數(shù) 據(jù),如果單一地放在一家服務(wù)提供商,不管提供商如何加密,用戶都認為是脫離了自己的控 制范圍,造成必理上的不安全感,目前全球采用的主要技術(shù)都是通過自身的加密手段將用 戶的數(shù)據(jù)保存加密,并在自身系統(tǒng)中分開存放。
[0004] 可W預(yù)知的是,通過獲取加密密碼,或者使用暴力破解工具來反向計算出解密密 碼,便可W從儲存在云端系統(tǒng)里的數(shù)據(jù)中獲取想要得到的明文信息,W直接讀取。其中,數(shù) 據(jù)表作為數(shù)據(jù)的主要對象,數(shù)據(jù)表是其他對象的基礎(chǔ),如果數(shù)據(jù)表出現(xiàn)泄密現(xiàn)象,則數(shù)據(jù)庫 中的核必內(nèi)容則會有泄密的風(fēng)險。由此,需要出現(xiàn)一個方法,W解決云存儲環(huán)境中的數(shù)據(jù)表 泄密問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于提供數(shù)據(jù)表儲存方法、數(shù)據(jù)表修改方法、數(shù)據(jù)查詢方法和數(shù)據(jù) 統(tǒng)計方法,W解決上述的問題。
[0006] 在本發(fā)明的實施例中提供了數(shù)據(jù)表儲存方法,包括:
[0007] 獲取構(gòu)建新數(shù)據(jù)表指令,所述構(gòu)建新數(shù)據(jù)表指令包括多個所述新數(shù)據(jù)表之間的關(guān) 聯(lián)方式;
[0008] 根據(jù)所述關(guān)聯(lián)方式和預(yù)先獲取的原數(shù)據(jù)表的類型,將一個所述原數(shù)據(jù)表中的字段 進行拆分,W生成多個新數(shù)據(jù)表,使單獨的所述新數(shù)據(jù)表無法表示所述原數(shù)據(jù)表的含義,且 每種所述字段的拆分方式是唯一的;
[0009] 分別將不同的所述新數(shù)據(jù)表按照預(yù)設(shè)的首次儲存位置,儲存至至少兩個云端系統(tǒng) 中。
[0010] 優(yōu)選的,若所述原數(shù)據(jù)表的類型為數(shù)字型,則所述根據(jù)所述關(guān)聯(lián)方式和預(yù)先獲取 的原數(shù)據(jù)表的類型,將一個所述原數(shù)據(jù)表中的字段進行拆分,W生成多個新數(shù)據(jù)表包括:
[0011] 將所述原數(shù)據(jù)表中的原字段進行拆分,W生成填充字段和平衡字段,所述填充數(shù) 字和所述平衡數(shù)字分別組成所述新數(shù)據(jù)表,使所述填充數(shù)字和所述平衡數(shù)字的結(jié)合與所述 原字段滿足預(yù)設(shè)的函數(shù)關(guān)系。
[0012] 優(yōu)選的,所述原字段的數(shù)值分別與所述填充字段的數(shù)值和所述平衡字段的數(shù)值具 有正相關(guān)性。
[0013] 優(yōu)選的,所述將所述原數(shù)據(jù)表中的原字段進行拆分,W生成填充字段和平衡字段 包括:從預(yù)先獲取的數(shù)字矩陣中獲取所述填充數(shù)字,按照預(yù)設(shè)的函數(shù)關(guān)系,使用所述填充字 段與所述待處理字段進行計算,W生成平衡字段。
[0014] 優(yōu)選的,所述數(shù)字矩陣為行與列均為奇數(shù)的方陣,且矩陣中同一行的數(shù)字按照由 前至后的順序依次增大,行數(shù)較大的行中的首位數(shù)字大于行數(shù)較小的行中末位數(shù)字,所述 數(shù)字矩陣中的數(shù)字個數(shù)大于最大數(shù),所述最大數(shù)是由所述原字段每個數(shù)位均由9替代后產(chǎn) 生的數(shù)字的數(shù)值。
[0015] 優(yōu)選的,所述從預(yù)先獲取的數(shù)字矩陣中獲取所述填充數(shù)字包括:
[001引根據(jù)所述原字段的位數(shù),確定中間數(shù)的數(shù)值X,中間數(shù)=巧至,
[0017] 計算所述原字段的數(shù)值與所述中間數(shù)的數(shù)位差值Y;
[0018] 根據(jù)所述數(shù)位差值和所述中間數(shù)的數(shù)值,在所述數(shù)字矩陣中獲取所述填充數(shù)字, 所述填充數(shù)字為數(shù)字矩陣中第X+Y個元素的數(shù)值。
[0019] 優(yōu)選的,在所述填充數(shù)字和所述平衡數(shù)字分別組成所述新數(shù)據(jù)表后,還包括在所 述新數(shù)據(jù)表內(nèi)的相鄰字段間增加填充數(shù)字,或在所述新數(shù)據(jù)表內(nèi)的相鄰記錄值之間添加填 充數(shù)字。
[0020] 優(yōu)選的,若所述原數(shù)據(jù)表的類型為字符型,則所述根據(jù)所述關(guān)聯(lián)方式和預(yù)先獲取 的原數(shù)據(jù)表的類型,將一個所述原數(shù)據(jù)表中的字段進行拆分,W生成多個新數(shù)據(jù)表包括:
[0021] 將所述原數(shù)據(jù)表中文字的字符編碼進行拆分,W獲得多組相互關(guān)聯(lián)的已拆分字符 編碼;
[0022] 將一組或多組相互關(guān)聯(lián)的所述已拆分字符編碼分別組成多個新數(shù)據(jù)表。
[0023] 優(yōu)選的,在所述將一組或多組相互關(guān)聯(lián)的所述已拆分字符編碼分別組成多個新數(shù) 據(jù)表后還包括;將一個所述新數(shù)據(jù)表中相鄰兩個所述已拆分字符編碼間添加填充編碼,且 每個字所對應(yīng)的字符編碼使用唯一的一種方式進行拆分。
[0024] 優(yōu)選的,若所述原數(shù)據(jù)表的類型為日期型,則所述根據(jù)所述關(guān)聯(lián)方式和預(yù)先獲取 的原數(shù)據(jù)表的類型,將一個所述原數(shù)據(jù)表中的字段進行拆分,W生成多個新數(shù)據(jù)表包括:
[00巧]根據(jù)原數(shù)據(jù)表中的未處理日期型字段生成多個相互關(guān)聯(lián)的已拆分字段,且使多個 所述已拆分字段與所述未處理日期型字段滿足預(yù)設(shè)的函數(shù)關(guān)系,其中,所述已拆分字段包 括日期型字段和,或數(shù)字型字段;將一個或多個所述已拆分日期型字段/上述已拆分數(shù)字 型字段組成一個所述新數(shù)據(jù)表。
[0026] 優(yōu)選的,所述將一個未處理日期型字段生成多個相互關(guān)聯(lián)的已處理日期型字段/ 數(shù)字型字段包括:
[0027] 選擇預(yù)定的日期型字段所顯示的日期作為基準(zhǔn)日期;
[0028] 計算所述未處理日期型字段的日期與所述基準(zhǔn)日期的天數(shù)差值;
[0029] 按照預(yù)設(shè)的比例,將所述天數(shù)差值分為多個天數(shù)數(shù)值,使多個所述天數(shù)數(shù)值的結(jié) 合與所述天數(shù)差值符合預(yù)設(shè)的函數(shù)關(guān)系;
[0030] 將每個所述天數(shù)數(shù)值的字段組成新數(shù)據(jù)表。
[0031] 優(yōu)選的,在所述分別將不同的所述新數(shù)據(jù)表按照預(yù)設(shè)的首次儲存位置,儲存至至 少兩個云端系統(tǒng)中前還包括:
[0032] 將所述構(gòu)建新數(shù)據(jù)表指令、所述關(guān)聯(lián)方式和所述首次儲存位置儲存在緩存中;
[0033] 在所述分別將不同的所述新數(shù)據(jù)表按照預(yù)設(shè)的首次儲存位置,儲存至至少兩個云 端系統(tǒng)中后,還包括:
[0034] 發(fā)出所述關(guān)聯(lián)方式和所述首次儲存位置,并刪除緩存的所述構(gòu)建新數(shù)據(jù)表指令、 所述關(guān)聯(lián)方式和所述首次儲存位置。
[0035] 優(yōu)選的,所述分別將不同的所述新數(shù)據(jù)表按照預(yù)設(shè)的首次儲存位置,儲存至至少 兩個云端系統(tǒng)中包括,分別將不同的所述新數(shù)據(jù)表儲存至至少一個公有儲存系統(tǒng)和一個私 有儲存系統(tǒng)中。
[0036] 優(yōu)選的,所述分別將不同的所述新數(shù)據(jù)表按照預(yù)設(shè)的首次儲存位置,儲存至至少 兩個云端系統(tǒng)中包括:
[0037] 分別將不同的所述新數(shù)據(jù)表按照預(yù)設(shè)的新數(shù)據(jù)表儲存位置,儲存至至少Η個云端 系統(tǒng)中,且每個所述新數(shù)據(jù)表存儲至至少兩個所述云端數(shù)據(jù)庫中。
[0038] 優(yōu)選的,在所述根據(jù)所述關(guān)聯(lián)方式和預(yù)先獲取的原數(shù)據(jù)表的類型,將一個所述原 數(shù)據(jù)表中的字段進行拆分前還包括:
[0039] 獲取所述原數(shù)據(jù)表所對應(yīng)的身份信息;
[0040] 判斷所述原數(shù)據(jù)表的身份信息是否出現(xiàn)在預(yù)先獲取的執(zhí)行列表中,所述執(zhí)行列表 包括應(yīng)當(dāng)被儲存的原數(shù)據(jù)表的身份信息;
[0041] 若是,則執(zhí)行所述拆分步驟。
[0042] 優(yōu)選的,所述分別將不同的所述新數(shù)據(jù)表按照預(yù)設(shè)的首次儲存位置,儲存至至少 兩個云端系統(tǒng)中包括:
[0043] 將多個所述新數(shù)據(jù)表按照預(yù)定的儲存比例儲存至公有儲存系統(tǒng)和私有儲存系統(tǒng) 中。
[0044] 本發(fā)明實施例還提供了基于數(shù)據(jù)表儲存方法的非還原數(shù)據(jù)表的數(shù)據(jù)表修改方法, 包括:
[0045] 獲取待寫入數(shù)據(jù)、寫入位置和寫入方式,所述寫入方式包括刪除、增加和替換;
[0046] 根據(jù)所述寫入位置和預(yù)先獲取的儲存位置,在云端數(shù)據(jù)庫中查找待修改的新數(shù)據(jù) 表,所述儲存位置包括每個所述新數(shù)據(jù)表的儲存地址;
[0047] 若所述寫入方式為刪除,則按照寫入位置和所述關(guān)聯(lián)方式,將所述待修改的新數(shù) 據(jù)表中與所述寫入位置相對應(yīng)的字段刪除,W生成已修改數(shù)據(jù)表;
[0048] 若所述寫入方式為增加/替換,則將待寫入數(shù)據(jù)按照其類型和所述關(guān)聯(lián)方式進行 拆分,將所述待修改的新數(shù)據(jù)表中與所述寫入位置相對應(yīng)的字段刪除,并將拆分后的所述 待寫入數(shù)據(jù)按照所述寫入位置加入所述待修改的新數(shù)據(jù)表,W生成多個已修改數(shù)據(jù)表。
[0049] 本發(fā)明實施例還提供了基于數(shù)據(jù)表儲存方法的還原數(shù)據(jù)表的數(shù)據(jù)表修改方法,包 括:
[0050] 獲取待寫入數(shù)據(jù)、寫入位置和寫入方式;
[0051] 讀取與所述寫入位置相對應(yīng)的多個所述新數(shù)據(jù)表;
[0052] 根據(jù)所述關(guān)聯(lián)方式將多個所述新數(shù)據(jù)表還原為原數(shù)據(jù)表,或根據(jù)所述關(guān)聯(lián)方式將 多個所述新數(shù)據(jù)表還原為部分原數(shù)據(jù)表;
[0053] 根據(jù)所述寫入位置、所述待寫入方式和所述寫入數(shù)據(jù),對所述原數(shù)據(jù)表/部分原 數(shù)據(jù)表進行修改,W生成已修改的原數(shù)據(jù)表;
[0054] 根據(jù)所述關(guān)聯(lián)方式,將所述已修改的原數(shù)據(jù)表按照其類型進行拆分;
[0055] 按照預(yù)設(shè)的已修改數(shù)據(jù)表儲存位置,將所述拆分后的原數(shù)據(jù)表儲存至不同的云端 系統(tǒng)中。
[0056] 本發(fā)明實施例還提供了基于數(shù)據(jù)表儲存方法的數(shù)據(jù)表的數(shù)據(jù)查詢方法,包括:
[0057] 獲取查詢關(guān)鍵字;
[0058] 按照所述關(guān)聯(lián)方式對所述關(guān)鍵字進行拆分,W獲得多個新關(guān)鍵字;
[0059] 在多個云端系統(tǒng)中查詢與所述新關(guān)鍵字的相符合的關(guān)鍵數(shù)據(jù)表;
[0060] 將多個所述關(guān)鍵數(shù)據(jù)表按照所述關(guān)聯(lián)方式組合為原數(shù)據(jù)表,或組合為部分原數(shù)據(jù) 表;
[0061] 發(fā)出所述原數(shù)據(jù)表或所述部分原數(shù)據(jù)表。
[0062] 本發(fā)明實施例還提供了基于數(shù)據(jù)表儲存方法的數(shù)據(jù)統(tǒng)計方法,包括:
[0063] 獲取統(tǒng)計方式和查詢關(guān)鍵字,所述統(tǒng)計方式中包括數(shù)據(jù)類型和計算方式;
[0064] 按照所述關(guān)聯(lián)方式對所述關(guān)鍵字進行拆分,W獲得多個新關(guān)鍵字;