本發(fā)明涉及分布式領(lǐng)域,尤其涉及分布式中考慮隱私保護(hù)的一種基于屬性劃分的數(shù)據(jù)安全存儲方法。
背景技術(shù):
:隨著信息化和互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)用戶數(shù)和應(yīng)用規(guī)模迅速擴(kuò)大,數(shù)據(jù)存儲量呈現(xiàn)爆炸式的增長。在海量數(shù)據(jù)面前,也要求能夠快速的進(jìn)行管理和計算,提高響應(yīng)速度。分布式環(huán)境很好地適應(yīng)地這些要求,但不但能優(yōu)化數(shù)據(jù)存儲帶來的性能開銷,并且分布式環(huán)境開放的平臺和共享的模式,用戶和資源高度集中,也面臨著很多安全性和隱私保護(hù)方面的挑戰(zhàn)。尤其是在面向應(yīng)用數(shù)據(jù)的存取場景中,應(yīng)用頻繁地對用戶數(shù)據(jù)進(jìn)行存取操作,傳統(tǒng)的加密會造成額外的計算開銷,已經(jīng)不能適應(yīng)這種場景,而混淆會造成原數(shù)據(jù)信息丟失,也不能應(yīng)用于分布式應(yīng)用存取的需求,如何有效地保護(hù)數(shù)據(jù)隱私而不影響應(yīng)用的操作效率成為了分布式數(shù)據(jù)存儲研究中的關(guān)鍵。目前,針對分布式中數(shù)據(jù)安全存儲已經(jīng)開展了一定的研究,可以根據(jù)系統(tǒng)中各個數(shù)據(jù)節(jié)點的負(fù)載情況,同時,考慮數(shù)據(jù)本身的因素,考慮傳輸代價、效率等方面的影響,將數(shù)據(jù)進(jìn)行一定的劃分放置。但是,這些方法在對用戶數(shù)據(jù)進(jìn)行劃分處理時,沒有考慮數(shù)據(jù)隱私保護(hù)帶來的影響,僅僅從性能等方面需求角度出發(fā)。另外在分布式環(huán)境中,不同用戶之間的數(shù)據(jù)隔離是通過邏輯上來進(jìn)行隔離的,同時為了不影響應(yīng)用數(shù)據(jù)處理時效率,數(shù)據(jù)往往是明文存儲在服務(wù)器中的,一旦服務(wù)器被攻破,會造成非常嚴(yán)重的隱私泄露問題。技術(shù)實現(xiàn)要素:本發(fā)明提出一種基于屬性劃分的數(shù)據(jù)安全存儲方法,在數(shù)據(jù)的屬性劃分和存儲過程中,同時考慮性能和安全方面的需求,有效地保護(hù)數(shù)據(jù)隱私而不影響應(yīng)用的操作效率,同時提高存儲資源的利用率,節(jié)省運行成本。本發(fā)明主要包括兩個階段,數(shù)據(jù)的分割和數(shù)據(jù)的放置。主要包括以下步驟:S1:數(shù)據(jù)預(yù)處理,依據(jù)用戶服務(wù)質(zhì)量需求對數(shù)據(jù)進(jìn)行分區(qū):將相同用戶服務(wù)質(zhì)量需求的數(shù)據(jù)劃分為一個分區(qū)。由于DBSCAN算法在聚類的過程中,會計算每個對象兩兩間的距離值,會造成大量的I/O和計算開銷,所以,本發(fā)明采用分區(qū)的方法對數(shù)據(jù)進(jìn)行預(yù)處理,同時考慮到租戶數(shù)據(jù)的特征,本發(fā)明將具有相同用戶服務(wù)質(zhì)量需求的數(shù)據(jù)劃分為一個分區(qū),這樣在同一個分區(qū)中有著相同的用戶服務(wù)質(zhì)量需求,處理方便。S2:數(shù)據(jù)劃分,為了使數(shù)據(jù)分割對應(yīng)用存儲造成的影響最小,即因數(shù)據(jù)分割,應(yīng)用存取數(shù)據(jù)增加的時間開銷最小,本發(fā)明首先按數(shù)據(jù)之間的關(guān)聯(lián)度,采用聚類算法DBSCAN來對數(shù)據(jù)進(jìn)行聚類,將聯(lián)系緊密的數(shù)據(jù)聚集在一起;S21:計算數(shù)據(jù)之間的距離,根據(jù)數(shù)據(jù)庫中的事務(wù)來計算分區(qū)內(nèi)數(shù)據(jù)之間的關(guān)聯(lián)度,通過關(guān)聯(lián)度計算數(shù)據(jù)之間的距離;例如某條SQL查詢語句查詢表中數(shù)據(jù)U1和數(shù)據(jù)U2,那么數(shù)據(jù)U1和U2之間的關(guān)聯(lián)度加1。數(shù)據(jù)之間的關(guān)聯(lián)度計算如下:Fij=Σfreqopk,whereopkincludeUiandUj]]>其中,F(xiàn)ij表示數(shù)據(jù)Ui和數(shù)據(jù)Uj之間的關(guān)聯(lián)度,表示操作opk表示數(shù)據(jù)庫操作中第k次操作opk包含的數(shù)據(jù)Ui和數(shù)據(jù)Uj次數(shù),其中k為正整數(shù);則數(shù)據(jù)Ui和數(shù)據(jù)Uj之間的距離Dij為:Dij=1/∑FijS22:同時對每個分區(qū)內(nèi)數(shù)據(jù)進(jìn)行水平切分:通過數(shù)據(jù)之間的距離并基于數(shù)據(jù)庫事務(wù),用DBSCAN算法對分區(qū)內(nèi)數(shù)據(jù)聚類,避免大量分布式事務(wù)的產(chǎn)生,保證訪問效率。DBSCAN聚類算法的主要參數(shù)有鄰域,半徑,鄰域?qū)ο?。DBSCAN算法對于構(gòu)成簇的每個對象,其鄰域包含的對象個數(shù),必須大于或等于某個給定的值如果此鄰域內(nèi)的某個對象的鄰域也滿足上述要求,就繼續(xù)聚類,重復(fù)這個過程直到處理完所有的數(shù)據(jù)對象。S22這一步驟每個分區(qū)的聚類可以同時進(jìn)行。S23:對聚類后的數(shù)據(jù)進(jìn)行垂直切分:依據(jù)用戶服務(wù)質(zhì)量需求中的隱私約束規(guī)則對數(shù)據(jù)進(jìn)行劃分,根據(jù)輸入的隱私約束規(guī)則對數(shù)據(jù)進(jìn)行垂直劃分,為了保護(hù)租戶數(shù)據(jù)的隱私,根據(jù)隱私約束規(guī)則,對聚類得到的數(shù)據(jù)進(jìn)行垂直劃分,并根據(jù)系統(tǒng)均衡化要求對劃分后的數(shù)據(jù)進(jìn)行合并或再劃分。隱私約束規(guī)則包括:組合隱私約束、依賴隱私約束、值隱私約束;組合隱私約束,即不能同時出現(xiàn)在一個數(shù)據(jù)塊中的隱私屬性組合;值隱私約束主要指某屬性中的某些數(shù)據(jù)是屬于隱私,需要單獨保護(hù);依賴隱私屬性主要指分區(qū)內(nèi)數(shù)據(jù)塊某些單獨的數(shù)據(jù)的屬性不具有任何敏感信息,但是與其它分區(qū)數(shù)據(jù)塊中屬性放在一起則會泄露租戶的隱私;數(shù)據(jù)劃分流程如下:a.讀取用戶服務(wù)質(zhì)量需求中的隱私約束規(guī)則和屬性值;b.依據(jù)組合隱私約束和關(guān)聯(lián)隱私約束,計算每個屬性在約束中出現(xiàn)的次數(shù);c.組合隱私約束和關(guān)聯(lián)隱私約束中出現(xiàn)次數(shù)最少的屬性分離出去;如出現(xiàn)的最小出現(xiàn)次數(shù)相同屬性,對屬性內(nèi)數(shù)據(jù)進(jìn)行值隱私約束判斷,分離含有值隱私約束的屬性,對值隱私約束的數(shù)據(jù)進(jìn)行混淆加密處理;均未含有值隱私約束的屬性隨機(jī)分離其中一屬性;d.跳轉(zhuǎn)至步驟b,直至屬性劃分完畢。S24:當(dāng)所有隱私約束規(guī)則都滿足時,對劃分后的數(shù)據(jù)采用輪訓(xùn)機(jī)制進(jìn)行合并,將沒有隱私約束的數(shù)據(jù)進(jìn)行合并;具體合并方法:采用輪訓(xùn)機(jī)制,從最小的數(shù)據(jù)劃分開始,遍歷所有待合并的數(shù)據(jù),若沒有隱私約束且加入后數(shù)據(jù)塊大小不超過系統(tǒng)設(shè)置上線,則將該數(shù)據(jù)加入到數(shù)據(jù)劃分中,直到遍歷完所有的數(shù)據(jù)劃分或帶合并數(shù)據(jù)。若已遍歷完所有的數(shù)據(jù)劃分,而待合并數(shù)據(jù)還未分配完,說明剩余的數(shù)據(jù)已不能加入任何一個數(shù)據(jù)劃分,則將它們在不違背隱私約束規(guī)則的前提下合并。具體為:a.選擇最小的數(shù)據(jù)劃分;b.遍歷所有待合并數(shù)據(jù);c.依據(jù)隱私約束規(guī)則,選擇與最小的數(shù)據(jù)屬性組合后滿足隱私約束規(guī)則的屬性下的待合并數(shù)據(jù);d.選擇滿足系統(tǒng)設(shè)置上限的待合并數(shù)據(jù)進(jìn)行合并;e.重復(fù)步驟a直至遍歷完所有數(shù)據(jù)劃分;f.對剩余的待合并數(shù)據(jù)中滿足隱私約束規(guī)則的進(jìn)行合并,剩余待合并數(shù)據(jù)保持原劃分。S3:將劃分所得的數(shù)據(jù)塊按一種啟發(fā)式算法存儲在數(shù)據(jù)節(jié)點中。按滿足用戶服務(wù)質(zhì)量需求同時資源使用效益增量最大為目標(biāo)進(jìn)行數(shù)據(jù)塊的放置。是圍繞存儲的資源使用效益來進(jìn)行的。首先會選擇資源使用效益增量最大并且滿足用戶服務(wù)質(zhì)量需求的節(jié)點進(jìn)行分配,因為該節(jié)點的剩余資源最少,所以分配次數(shù)最小,時間最快。在分配過程中,選擇能夠讓其資源使用效益增加最大的數(shù)據(jù)塊進(jìn)行分配,確保系統(tǒng)資源利用率最大化。在分配結(jié)束后,將其移出分配列表,重復(fù)該過程,具體過程如下:S31:依據(jù)用戶服務(wù)質(zhì)量需求選擇存儲節(jié)點范圍;S32:計算范圍中存儲節(jié)點的資源使用效益,資源使用效益由低到高的存儲節(jié)點信息插入隊列Ldata中;存儲節(jié)點的資源使用效益使用以下公式進(jìn)行計算:Erecourse=UCPU·Umem·(1-|UCPU-Umem|)其中,UCPU為CPU使用率,Umem為內(nèi)存使用率。S33:判斷待存儲隊列Ldata數(shù)據(jù)是否為空,為空說明全部數(shù)據(jù)已存儲在節(jié)點中,直接跳入步驟S36,不為空則進(jìn)入步驟S34;S34:取Ldata的隊首節(jié)點即資源使用效益作為目標(biāo)存儲節(jié)點,即資源使用效益最小的節(jié)點作為目標(biāo)節(jié)點,以保證資源使用效益增量,最大判斷該目標(biāo)節(jié)點能否滿足用戶的性能服務(wù)質(zhì)量需求;不滿足性能需求時,取Ldata下一節(jié)點進(jìn)行需求判斷;滿足性能需求進(jìn)入步驟S35;S35:存儲待存數(shù)據(jù),在Ldata中刪除該待存數(shù)據(jù)塊,并重新計算目標(biāo)存儲節(jié)點的資源使用效益,依據(jù)資源使用效益由低到高重新插入隊列Ldata中,再跳轉(zhuǎn)至步驟S32;S36:結(jié)束后輸出各個數(shù)據(jù)塊的存儲映射。本發(fā)明中首先對數(shù)據(jù)進(jìn)行預(yù)處理,按相同用戶服務(wù)質(zhì)量需求來對數(shù)據(jù)進(jìn)行分區(qū),然后再用DBSCAN算法進(jìn)行聚類,這樣每個分區(qū)可以設(shè)置不同的鄰域和閾值參數(shù),不僅可以提高DBSCAN算法的計算效率和適應(yīng)性,同時聚類后的數(shù)據(jù)塊內(nèi)部都具有相同的用戶服務(wù)質(zhì)量需求,并且地理位置相同,所以在后期的分割和存儲中,每個數(shù)據(jù)塊內(nèi)部的標(biāo)準(zhǔn)相同,大大簡化了后期計算的復(fù)雜度。按數(shù)據(jù)的關(guān)聯(lián)度進(jìn)行聚類,可以將關(guān)聯(lián)度高的數(shù)據(jù)劃分到一個數(shù)據(jù)塊中,相比于隨機(jī)分割對應(yīng)用存取的影響小。按租戶的隱私約束要求對數(shù)據(jù)進(jìn)行劃分,可定制的,有針對性的保護(hù)租戶隱私,更能適應(yīng)分布式平臺的需求。圍繞資源使用效益的啟發(fā)式放置算法在保障用戶的性能服務(wù)質(zhì)量需求的前提下,最大限度地提高系統(tǒng)資源利用率。與現(xiàn)有的分布式管理技術(shù)相比,本發(fā)明不僅根據(jù)用戶服務(wù)質(zhì)量需求,考慮了數(shù)據(jù)的存儲性能,還考慮了隱私保護(hù),降低了應(yīng)用存取數(shù)據(jù)的開銷,具有高效性,相比于傳統(tǒng)方法能更好地應(yīng)用于分布式平臺中?!靖綀D說明】圖1為發(fā)明總體流程圖;圖2為考慮隱私保護(hù)的的用戶數(shù)據(jù)屬性劃分方法流程圖;圖3為用戶數(shù)據(jù)安全存儲方法流程圖?!揪唧w實施方式】下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)描述:以下結(jié)合說明書附圖和具體實施方式對本發(fā)明的方法做進(jìn)一步詳細(xì)說明,應(yīng)理解這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。本發(fā)明的輸入為應(yīng)用數(shù)據(jù)和用戶服務(wù)質(zhì)量需求,根據(jù)本發(fā)明的實際情況,用戶服務(wù)質(zhì)量由二元組表示{privacy,time},其中privacy{a1,a2,a3……}表示隱私約束規(guī)則,ai表示隱私約束屬性對。time表示性能要求時間。其中,隱私約束主要包括以下三方面:組合隱私約束,即不能同時出現(xiàn)在一個數(shù)據(jù)塊中的隱私屬性組合,如姓名和身份證號碼不能同時出現(xiàn);值隱私約束主要指某屬性中的某些取值是屬于隱私,例如病屬性,對于某些病種如感冒,過敏等不具有隱私屬性,而對于艾滋等敏感病種就具有隱私屬性,需要單獨保護(hù);依賴隱私屬性主要指分區(qū)內(nèi)數(shù)據(jù)塊某些單獨的屬性不具有任何敏感信息,但是與其它分區(qū)數(shù)據(jù)塊中屬性放在一起則會泄露租戶的隱私,例如醫(yī)生的主治病和病人的姓名放在一起,就可以推測出該病人所患病種。上述三種隱私約束均來自于用戶服務(wù)質(zhì)量需求。圖2所示是本發(fā)明所示考慮隱私保護(hù)的用戶數(shù)據(jù)分割方法流程圖,包括以下步驟:S1:數(shù)據(jù)預(yù)處理,將數(shù)據(jù)進(jìn)行分區(qū)。由于DBSCAN算法在聚類的過程中,會計算每個對象兩兩間的距離值,會造成大量的I/O和計算開銷,所以,本發(fā)明采用分區(qū)的方法對數(shù)據(jù)進(jìn)行預(yù)處理,同時考慮到租戶數(shù)據(jù)的特征,將相同具有租戶ID的數(shù)據(jù)劃分為一個分區(qū),這樣同一個分區(qū)中有著相同的服務(wù)質(zhì)量需求,處理方便。例如用DataTable={U(TenantData)},TenantData表示屬于租戶的所有應(yīng)用數(shù)據(jù)的集合。根據(jù)多租戶共享模式存儲模型中DataTable表的TenantID來判斷某條數(shù)據(jù)記錄所屬的租戶,將多租戶數(shù)據(jù)劃分為以租戶為單位的邏輯空間。S2:數(shù)據(jù)劃分,為了使數(shù)據(jù)分割對應(yīng)用存儲造成的影響最小,即因數(shù)據(jù)分割,應(yīng)用存取數(shù)據(jù)增加的時間開銷最小,本發(fā)明首先按數(shù)據(jù)之間的關(guān)聯(lián)度,采用聚類算法DBSCAN來對數(shù)據(jù)進(jìn)行聚類,將聯(lián)系緊密的數(shù)據(jù)聚集在一起;S21:計算數(shù)據(jù)之間的距離,本發(fā)明采用數(shù)據(jù)之間的關(guān)聯(lián)度來衡量數(shù)據(jù)之間的距離,用Fij來表示。關(guān)聯(lián)度是根據(jù)數(shù)據(jù)庫中的事務(wù)來計算的,計算公式為:Fij=Σfreqopk,whereopkincludeUiandUj]]>其中,F(xiàn)ij表示數(shù)據(jù)Ui和數(shù)據(jù)Uj之間的關(guān)聯(lián)度,表示操作opk表示數(shù)據(jù)庫操作中第k次操作opk包含的數(shù)據(jù)Ui和數(shù)據(jù)Uj次數(shù),其中k為正整數(shù);例如下表為數(shù)據(jù)庫中操作頻率統(tǒng)計表:那么計算數(shù)據(jù)A與數(shù)據(jù)B之間的關(guān)聯(lián)度時,由于操作op1、op2、op4都包含數(shù)據(jù)A和數(shù)據(jù)B,那么其關(guān)聯(lián)度為三者的次數(shù)之和Fij=10+20+30=60。根據(jù)下面公式來計算兩數(shù)據(jù)之間的距離:Dij=1/∑Fij其中Dij表示數(shù)據(jù)Ui和數(shù)據(jù)Uj之間的距離。S22:水平切分,基于數(shù)據(jù)庫事務(wù),用DBSCAN算法對數(shù)據(jù)聚類,將關(guān)聯(lián)緊密的數(shù)據(jù)聚集在一起,避免大量分布式事務(wù)的產(chǎn)生,保證訪問效率。DBSCAN聚類算法的主要參數(shù)有鄰域,半徑,核心對象。對象p的ε鄰域是指以p為中心,ε為半徑的空間。核心對象是指如果給定對象的ε鄰域內(nèi)的對象個數(shù)大于等于閾值MinPts,則該對象為核心對象。DBSCAN算法對于構(gòu)成簇的每個對象,其鄰域包含的對象個數(shù),必須大于或等于某個給定的值如果此鄰域內(nèi)的某個對象的鄰域也滿足上述要求,就繼續(xù)聚類,重復(fù)這個過程直到處理完所有的數(shù)據(jù)對象。DBSCAN算法的具體步驟:(1)確定基于密度聚類挖掘的半徑ε,鄰域最少對象數(shù)MinPts;根據(jù)每個數(shù)據(jù)分區(qū)的用戶服務(wù)質(zhì)量需求和性能要求,可以選取不同的參數(shù)值,鄰域ε可以取[0,1/30]之間,閾值MinPts取[0,n/2],其中n表示數(shù)據(jù)記錄的個數(shù),表示至少將數(shù)據(jù)劃分為2個簇。(2)從數(shù)據(jù)對象集合D中任意選出一個點p進(jìn)行鄰域查詢,若它的ε鄰域的對象數(shù)大于閾值MinPts,則該點為核心對象,將其flag標(biāo)記為core,否則標(biāo)記為noiSe;(3)若p為核心對象,則以p為中心,ε為半徑建立類簇,同時將該類簇中的數(shù)據(jù)對象依次加入到一個容器LiSt中進(jìn)行遞歸調(diào)用;(4)重復(fù)(2)、(3)直至數(shù)據(jù)對象集合D中所有的對象均被標(biāo)記,同時盡可能的歸到某個類簇中。S22這一步驟每個分區(qū)的聚類可以同時進(jìn)行。S23:垂直切分,根據(jù)輸入的隱私約束規(guī)則對數(shù)據(jù)進(jìn)行垂直劃分,為了保護(hù)租戶數(shù)據(jù)的隱私,根據(jù)隱私約束規(guī)則,對聚類得到的數(shù)據(jù)進(jìn)行垂直劃分,并根據(jù)系統(tǒng)均衡化要求對劃分后的數(shù)據(jù)進(jìn)行合并或再劃分。具體劃分方法:根據(jù)用戶服務(wù)質(zhì)量需求中的隱私約束規(guī)則對數(shù)據(jù)進(jìn)行垂直劃分。本發(fā)明中的隱私約束規(guī)則主要是組合隱私約束、值隱私約束和關(guān)聯(lián)隱私約束,具體劃分方法如下:1.首先處理組合隱私約束和關(guān)聯(lián)隱私約束,計算每個屬性在約束中出現(xiàn)的次數(shù),2.然后根據(jù)隱私約束將組合中出現(xiàn)次數(shù)較少的屬性分離出去,3.如果規(guī)則中屬性出現(xiàn)次數(shù)相同,則判斷該屬性是否有值隱私約束,若沒有,則隨機(jī)分離一個屬性出去;若有,則將該屬性分離出去,并將該屬性中有值隱私約束部分的值采用混淆或加密的方式處理,4.重復(fù)上述步驟,直到所有的隱私約束規(guī)則都滿足為止。將出現(xiàn)次數(shù)少的屬性分離出去,意味著該屬性的隱私約束條件越少,該屬性在后期組合成功的概率更大,防止分塊過多,影響數(shù)據(jù)訪問效率。下表為實施例中用戶數(shù)據(jù)表:IDTenantIDNameAgeSexOccupIllneSSPhySicianAddr1556143LiSa21MStudentFluDavidaddrA2556143Jack19FStudentFluDavidaddrB3556143Sam30FTeacherAIDSJeSSicaaddrC4556143John44FEngineerCancerAndrewaddrD5556143Tom37MNurSePneumoniaJameSaddrE6556143Alice26MProgrammerPneumoniaJameSaddrF7556143Mike63FOfficerCancerAndrewaddrG組合隱私約束:{<name,Addr>,<age,Sex,Addr>,<name,IllneSS>,<age,Sex,IllneSS>,<age,Sex,phySician>}表示這些屬性值組合起來會泄露用戶的隱私。值隱私約束:{<IllneSS,AIDS>}表示疾病是艾滋病的記錄需要特別保護(hù)。關(guān)聯(lián)隱私約束:<phySician(JeSSica,Andrew),name>,表示醫(yī)生與患者之間存在關(guān)聯(lián),只要知道患者對應(yīng)的主治醫(yī)生,就可以通過該醫(yī)生的主治方向判斷患者所患病種。根據(jù)上述隱私約束規(guī)則,將實施例中的數(shù)據(jù)進(jìn)行劃分,首先從組合隱私約束開始,name出現(xiàn)的次數(shù)為3次,Addr出現(xiàn)的次數(shù)為2次,所以將Addr分離出去,在第二個隱私約束規(guī)則<age,Sex,Addr>中,age和Sex出現(xiàn)次數(shù)都為3次,所以將Addr分離出去,因為第一個隱私約束規(guī)則中已經(jīng)將Addr分離,所以第二個隱私約束規(guī)則不做處理。在第三個隱私約束規(guī)則<name,IllneSS>中,name和IllneSS出現(xiàn)的次數(shù)相同,而值隱私約束和關(guān)聯(lián)隱私約束都沒有設(shè)計這兩個屬性的組合,所以任意選擇其中一個屬性分離。直到將所有的隱私約束規(guī)則處理完之后,關(guān)聯(lián)隱私約束的處理方法和組合隱私約束相同。得到的垂直劃分結(jié)果如下:{TenantID,Name,Age,Sex,Occup}{IllneSS}{PhySican}{Addr}值隱私約束需要對AIDS的記錄特別保護(hù),所以在劃分時,將IllneSS值為AIDS的數(shù)據(jù)通過加密的方式來進(jìn)行保護(hù)。S24:當(dāng)所有隱私約束規(guī)則都滿足時,對數(shù)據(jù)進(jìn)行合并,將沒有隱私約束的屬性進(jìn)行合并。具體合并方法:采用輪訓(xùn)機(jī)制,從最小的數(shù)據(jù)劃分開始,遍歷所有待合并的數(shù)據(jù),若沒有隱私約束且加入后數(shù)據(jù)塊大小不超過系統(tǒng)設(shè)置上限,則將該數(shù)據(jù)加入到數(shù)據(jù)劃分中,直到遍歷完所有的數(shù)據(jù)劃分或帶合并數(shù)據(jù)。若已遍歷完所有的數(shù)據(jù)劃分,而待合并數(shù)據(jù)還未分配完,說明剩余的數(shù)據(jù)已不能加入任何一個數(shù)據(jù)劃分,則將它們在不違背隱私約束規(guī)則的前提下合并。實施例中,對于劃分結(jié)果,采用輪訓(xùn)機(jī)制,從最小的數(shù)據(jù)劃分開始,即IllneSS開始,下一個待合并的屬性為PhySican,通過查詢隱私約束規(guī)則,發(fā)現(xiàn)它們之間沒有隱私約束,則將PhySican加入IllneSS中,得到中間結(jié)果:{TenantID,Name,Age,Sex,Occup}{IllneSS,PhySican}{Addr}接著遍歷Addr,同樣地查詢隱私約束規(guī)則,發(fā)現(xiàn)它跟IllneSS和PhySican都沒有隱私約束規(guī)則,則將Addr加入其中,得到結(jié)果:{TenantID,Name,Age,Sex,Occup}{IllneSS,PhySican,Addr}再接著遍歷下一個即TenantID,Name,Age,Sex,Occup,同樣地發(fā)現(xiàn)兩個分組之間存在隱私約束規(guī)則,同時已經(jīng)沒有其他的屬性存在,所以劃分結(jié)束,得到最終的劃分結(jié)果。圖3為用戶數(shù)據(jù)安全存儲方法流程圖,采用啟發(fā)式算法進(jìn)行存儲,包括:S3:將劃分所得的數(shù)據(jù)塊按一種啟發(fā)式算法存儲在數(shù)據(jù)節(jié)點中。按滿足用戶服務(wù)質(zhì)量需求同時資源使用效益增量最大為目標(biāo)進(jìn)行數(shù)據(jù)塊的放置。是圍繞存儲的資源使用效益來進(jìn)行的。首先會選擇資源使用效益最大并且滿足用戶服務(wù)質(zhì)量需求的節(jié)點進(jìn)行分配,因為該節(jié)點的剩余資源最少,所以分配次數(shù)最小,時間最快。在分配過程中,選擇能夠讓其資源效益增加最大的數(shù)據(jù)塊進(jìn)行分配,確保系統(tǒng)資源利用率最大化。在分配結(jié)束后,將其移出分配列表,重復(fù)該過程。S31:計算每個節(jié)點的資源使用效益,并按升序插入到隊列Ldata中,計算公式:Erecourse=UCPU·Umem·(1-|UCPU-Umem|)資源使用效益反應(yīng)出不同資源的利用情況。目標(biāo)是所有維資源利用最大化。在傳統(tǒng)的資源使用效益中,往往只考慮了一個方面,如存儲使用率,內(nèi)存使用率,CPU使用率等,為了能更好地衡量多維資源的綜合使用效率,本發(fā)明提出資源使用效益,主要考慮物理機(jī)的CPU和內(nèi)存利用率,將節(jié)點按計算所得的資源使用效益升序放置在隊列Ldata中。S32:判斷待存儲隊列Ldata是否為空;S33:若為空說明全部數(shù)據(jù)已存儲在節(jié)點中,結(jié)束算法;S34:取Ldata的隊首節(jié)點作為目標(biāo)存儲節(jié)點,即資源使用效益最小的節(jié)點作為目標(biāo)節(jié)點,以保證資源使用效益增量最大。S35:判斷該目標(biāo)節(jié)點能否滿足用戶的性能質(zhì)量需求。具體的計算公式:size(node)>size(block)cost=Σi=1nΣj=1lensize(blocki)Bw(nodej)-Bw(nodej-1)+timemerge]]>應(yīng)用存取數(shù)據(jù)的時間消耗主要跟帶寬,數(shù)據(jù)塊大小,連接次數(shù)有關(guān),本發(fā)明用cost來表示。其中,n表示應(yīng)用執(zhí)行某個事物所需連接次數(shù),len表示傳輸數(shù)據(jù)塊到服務(wù)器所經(jīng)過的鏈路跳數(shù),每經(jīng)過一個節(jié)點為一跳。timemerge表示應(yīng)用合并數(shù)據(jù)所需要的計算時間。S36:若該目標(biāo)節(jié)點不滿足用戶的性能質(zhì)量需求,則取Ldata中下一個節(jié)點作為目標(biāo)節(jié)點進(jìn)行判斷S37:若該目標(biāo)節(jié)點滿足用戶的性能質(zhì)量需求,則存儲,在Ldata中刪除該數(shù)據(jù)塊,并重新計算該節(jié)點的資源使用效益,重新插入隊列Ldata中。S38:最后輸出各個數(shù)據(jù)塊的存儲映射。以上對本發(fā)明實施例所提供的一種考慮隱私保護(hù)的數(shù)據(jù)管理方法進(jìn)行了詳細(xì)介紹,以上說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。當(dāng)前第1頁1 2 3