国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種shp線面圖層數(shù)據(jù)層次加解密方法

      文檔序號(hào):6397468閱讀:594來(lái)源:國(guó)知局
      專利名稱:一種shp線面圖層數(shù)據(jù)層次加解密方法
      技術(shù)領(lǐng)域
      本發(fā)明公開(kāi)了一種可用于漸進(jìn)傳輸和數(shù)據(jù)安全分級(jí)調(diào)度的Shp線面圖層數(shù)據(jù)層次加解密方法,能夠?qū)崿F(xiàn)地理信息系統(tǒng)領(lǐng)域Gis矢量數(shù)據(jù)的高效快速傳輸和安全訪問(wèn)。
      背景技術(shù)
      GIS矢量數(shù)據(jù)因其具有高精度、海量、易存儲(chǔ)、自動(dòng)化處理以及無(wú)損縮放等傳統(tǒng)紙質(zhì)地圖無(wú)法比擬的優(yōu)點(diǎn),應(yīng)用范圍極其廣泛。然而,數(shù)字化存儲(chǔ)的GIS矢量數(shù)據(jù)極易被篡改,造成嚴(yán)重后果。為此,需要尋找一種海量數(shù)據(jù)高效傳輸、安全訪問(wèn)的技術(shù)和方法,而混沌序列密碼技術(shù)和LOD技術(shù)的集成,為這一問(wèn)題的解決提供了可能。
      序列密碼具有實(shí)現(xiàn)簡(jiǎn)單、便于硬件實(shí)施、加解密速度快、低錯(cuò)誤傳播等優(yōu)點(diǎn),在數(shù)據(jù)的安全傳輸與存儲(chǔ)中有著廣泛的應(yīng)用。LOD技術(shù)即層次細(xì)節(jié)技術(shù),根據(jù)要素的重要程度將不同比例尺地圖中的要素圖層劃分為不同的顯示級(jí),可實(shí)現(xiàn)海量地圖的多尺度顯示。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于基于混沌序列密碼技術(shù)、LOD技術(shù)及GIS矢量數(shù)據(jù)特點(diǎn),提出了一種針對(duì)shp線面圖層數(shù)據(jù)的層次加解密技術(shù),從而能有效兼顧矢量數(shù)據(jù)傳輸?shù)乃俣群桶踩?,為海量地理空間數(shù)據(jù)的高效傳輸和安全訪問(wèn)提供有效的技術(shù)手段。為了實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案一種shp線面圖層數(shù)據(jù)層次加解密方法,包括如下過(guò)程(—)針對(duì)線面圖層數(shù)據(jù)的逐級(jí)加密及存儲(chǔ)過(guò)程步驟11 :利用Hash函數(shù)的單向性構(gòu)造具有分級(jí)的密鑰鏈,將得到的各級(jí)hash值用來(lái)生成Logistic混沌系統(tǒng)的控制參數(shù)μ、初始值Xtl和初始迭代次數(shù)N,再使用不同級(jí)別的密鑰加密不同等級(jí)的資源,從而實(shí)現(xiàn)矢量數(shù)據(jù)的分級(jí)調(diào)度;各級(jí)密鑰生成的具體方法如下a)輸入密鑰key或選擇密鑰文件keyfile ;b)利用Hash函數(shù)SHA-256算法對(duì)輸入密鑰文件進(jìn)行處理,得到長(zhǎng)度為256位的hash值H,輸入用戶需求的分級(jí)數(shù)I,根據(jù)公式(I)推導(dǎo)生成各級(jí)別hash值H1 ;Hw=Hash(H1),1=1,2,3. · · (I)c)將各級(jí)別H1以字節(jié)為單位分為32組,每組的取值范圍為0-255,將這32組數(shù)據(jù)用于生成各級(jí)別Logistic映射的控制參數(shù)μ :、初始迭代次數(shù)N1和初始值Xcil ;d)根據(jù)公式(2) Logistic方程,輸入密鑰[μ !, X01],對(duì)各級(jí)密鑰進(jìn)行初始迭代N1次,以擴(kuò)大Logistic映射的雪崩效應(yīng);λγη+1 = μ *χη-μ *xlC2)步驟12 :選擇要加密的線面圖層數(shù)據(jù)R,獲取線面圖層數(shù)據(jù)R的相關(guān)信息圖層所含線要素個(gè)數(shù)IineNum、線要素編號(hào)linelD、線要素所含點(diǎn)個(gè)數(shù)pointNum、點(diǎn)要素坐標(biāo)信息pX、pY、圖層坐標(biāo)范圍 Xmin、Xfflax, Yfflin 和 Ymax ;
      步驟13 :判斷每個(gè)線對(duì)象的單調(diào)性,記錄單調(diào)性的轉(zhuǎn)折點(diǎn),并以轉(zhuǎn)折點(diǎn)為斷點(diǎn),拆分成兩個(gè)線對(duì)象,再繼續(xù)判斷轉(zhuǎn)折點(diǎn)到末點(diǎn)的單調(diào)性,直到所有線對(duì)象滿足單調(diào);分析線對(duì)象的單調(diào)性以X軸為投影直線,對(duì)于有η點(diǎn)的折線L,若用Xj表示第j點(diǎn)的橫坐標(biāo),若公式
      (3)成立,則定義第j點(diǎn)是L的單調(diào)點(diǎn);否則,為非單調(diào)點(diǎn);
      (Xj-Xj^1) (XJ+1-Xj)>0 (KjXn) (3)定義當(dāng)一條折線上的所有點(diǎn)滿足公式(3)時(shí),則稱其為沿X軸單調(diào)的折線;否則,不是沿X軸單調(diào)的折線;假設(shè)按公式(3)所判別的折線上的非單調(diào)點(diǎn)個(gè)數(shù)為M,則它們可將折線分為M+1個(gè)單調(diào)子段;步驟14 :利用道格拉斯-普克算法建立線狀要素LOD模型,對(duì)線面圖層數(shù)據(jù)R進(jìn)行分級(jí)即是對(duì)線面圖層數(shù)據(jù)R中的實(shí)體要素進(jìn)行分級(jí),具體方法如下用戶設(shè)置各個(gè)要素級(jí)別的分級(jí)閾值T1,對(duì)線面圖層數(shù)據(jù)R分級(jí),得到R=IR111=0,I, 2,…},R1表示第I個(gè)級(jí)別的要素組,其中,R1是內(nèi)容互不重復(fù)的要素組,避免數(shù)據(jù)存儲(chǔ)冗余;步驟15 :針對(duì)線面圖層數(shù)據(jù)R進(jìn)行逐級(jí)加密,具體方法如下a)設(shè)置指針指向圖層的第一個(gè)要素的第一個(gè)點(diǎn);b)判斷當(dāng)前點(diǎn)的級(jí)別,選擇對(duì)應(yīng)級(jí)別密鑰進(jìn)行加密運(yùn)算;c)對(duì)混沌序列進(jìn)行一次迭代,得到值xpl,Xpl表示對(duì)第I級(jí)別的初始值Xtll經(jīng)過(guò)初始迭代N1次后再迭代P次后的值,并將其放大m倍,得到keyx,根據(jù)公式(4)用keyx對(duì)點(diǎn)的橫坐標(biāo)pX的整數(shù)部分Px進(jìn)行異或操作,得到異或后的點(diǎn)坐標(biāo)P' x,對(duì)于點(diǎn)的縱坐標(biāo)pY的整數(shù)部分Py,處理過(guò)程相同,得到V y;p' x=px Λ keyx (4)p' y=py Λ keyy其中,為了避免加密地圖的分塊現(xiàn)象,出現(xiàn)周期性,合理選擇m的值以保證參與坐標(biāo)異或運(yùn)算的keyx盡量在地圖坐標(biāo)范圍之外。d)對(duì)得到的新坐標(biāo)進(jìn)行判斷,是否超出圖層坐標(biāo)取值范圍如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)V !£在[Xmin,Xmax]范圍內(nèi),則不做任何處理;如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)P' x〈Xmin,或者p' x>Xmax,則將其還原為原始坐標(biāo)值,即
      P' x=Px°對(duì)于轉(zhuǎn)換后的縱坐標(biāo)的整數(shù)部分p' y,處理過(guò)程與橫坐標(biāo)P' x的過(guò)程相同。e)將新坐標(biāo)值賦值給點(diǎn)對(duì)象,將點(diǎn)對(duì)象添加到對(duì)應(yīng)線對(duì)象中;f)若指針指向圖層最后一個(gè)要素的最后一個(gè)點(diǎn),則算法結(jié)束;若指針指向某一個(gè)要素的最后一個(gè)點(diǎn),則指針指向下一個(gè)要素的第一個(gè)點(diǎn),并跳回到步驟b);否則指針指向下一個(gè)點(diǎn),算法回跳到步驟b);步驟16 :加密圖層Re的分級(jí)存儲(chǔ),具體方法如下將矢量數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫(kù)中,關(guān)鍵是將地理要素集映射到關(guān)系數(shù)據(jù)庫(kù)的表結(jié)構(gòu)和關(guān)系模式上,每個(gè)級(jí)別的數(shù)據(jù)分層存放,將最概要的數(shù)據(jù)集存儲(chǔ)在最底層,其他尺度數(shù)據(jù)則按遞增的方式進(jìn)行存儲(chǔ),即每層只存儲(chǔ)比上層增加的對(duì)象信息,各個(gè)級(jí)別形成一個(gè)獨(dú)立的二進(jìn)制流;(二)針對(duì)線面圖層數(shù)據(jù)的逐級(jí)解密及顯示過(guò)程
      步驟21 :根據(jù)數(shù)據(jù)顯示請(qǐng)求的級(jí)別1,輸入密鑰key或選擇密鑰文件keyfile ;步驟22 :根據(jù)上述過(guò)程(一)中步驟11的方法,生成該級(jí)別解密密鑰初始迭代次
      數(shù)N1'控制參數(shù)μ I和初始值Xtll ;步驟23 :解密該級(jí)要素a)設(shè)置指針指向該級(jí)圖層的第一個(gè)要素的第一個(gè)點(diǎn);b)對(duì)混沌序列進(jìn)行一次迭代,得到值xpl,Xpl表示對(duì)第I級(jí)別的初始值Xtll經(jīng)過(guò)初始迭代N1次后再迭代P次后的值,并將其放大m倍,得到keyx,根據(jù)公式(5)用keyx對(duì)點(diǎn)的橫坐標(biāo)的整數(shù)部分P, x進(jìn)行異或操作,得到Px,對(duì)于點(diǎn)的縱坐標(biāo)的整數(shù)部分P, y,處理過(guò)程相同,得到Py;Px = P' x Λ keyx (5)py=p' y Akeyyc)對(duì)得到的新坐標(biāo)進(jìn)行判斷,是否超出圖層坐標(biāo)取值范圍如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)Px在[Xmin,XmaJ范圍內(nèi),則不做任何處理;如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)Px〈Xmin,或者Px>Xmax,則將其還原為原始坐標(biāo)值,即Px=P' χ。對(duì)于轉(zhuǎn)換后縱坐標(biāo)的整數(shù)部分Py,處理過(guò)程與橫坐標(biāo)Px的過(guò)程相同。d)將新坐標(biāo)值賦值給點(diǎn)對(duì)象,將點(diǎn)對(duì)象添加到對(duì)應(yīng)線對(duì)象中;e)若指針指向的該級(jí)數(shù)據(jù)最后一個(gè)要素的最后一個(gè)點(diǎn),則算法結(jié)束;若指針指向某一個(gè)要素的最后一個(gè)點(diǎn),則指針指向下一個(gè)要素的第一個(gè)點(diǎn),并跳回到步驟b);否則指針指向下一個(gè)點(diǎn),算法回跳到步驟b);步驟24 :線面圖層數(shù)據(jù)的層次顯示,具體方法如下用戶請(qǐng)求數(shù)據(jù)顯示時(shí),首先檢查本地緩存區(qū)的數(shù)據(jù)是否符合要求,如果緩存區(qū)數(shù)據(jù)級(jí)別cachedl大于請(qǐng)求的數(shù)據(jù)級(jí)別requestedl,貝U遍歷緩存區(qū)中requestedl及其以下的數(shù)據(jù);如果緩存區(qū)數(shù)據(jù)級(jí)別cachedl小于請(qǐng)求的數(shù)據(jù)級(jí)別requestedl,則遍歷緩存區(qū)的數(shù)據(jù),并請(qǐng)求傳輸從數(shù)據(jù)級(jí)別cachedl+Ι到數(shù)據(jù)級(jí)別requestedl的數(shù)據(jù),逐級(jí)解密;如果數(shù)據(jù)顯示請(qǐng)求為第一級(jí)即最概要信息,則直接讀取顯示該級(jí)解密后的要素信息;否則遍歷緩存區(qū)每條線要素,逐一比較各級(jí)別點(diǎn)的橫坐標(biāo)值PX,實(shí)現(xiàn)解密后數(shù)據(jù)的有序顯示。本發(fā)明基于混沌序列密碼技術(shù)、LOD技術(shù)及GIS矢量數(shù)據(jù)的特點(diǎn),提出了一種可用于漸進(jìn)傳輸和數(shù)據(jù)安全分級(jí)調(diào)度的shp線面圖層數(shù)據(jù)層次加解密方法,實(shí)現(xiàn)了線面圖層數(shù)據(jù)的逐級(jí)加密、存儲(chǔ)、解密及自適應(yīng)顯示,可有效增強(qiáng)地理信息系統(tǒng)領(lǐng)域GIS矢量數(shù)據(jù)的高效快速傳輸和安全訪問(wèn)。


      圖1是本發(fā)明技術(shù)中地圖數(shù)據(jù)的層次加密流程圖;圖2是本發(fā)明技術(shù)中地圖數(shù)據(jù)的層次解密流程圖;
      圖3是本發(fā)明技術(shù)中地圖數(shù)據(jù)的加密存儲(chǔ)結(jié)構(gòu);圖4是本發(fā)明技術(shù)中地圖數(shù)據(jù)交互過(guò)程示意圖;圖5是本發(fā)明實(shí)例采用的實(shí)驗(yàn)數(shù)據(jù);
      圖6是本發(fā)明實(shí)例中實(shí)驗(yàn)數(shù)據(jù)分級(jí)效果圖,其中圖(a)是一級(jí)數(shù)據(jù),圖(b )是一、二級(jí)數(shù)據(jù);圖7是本發(fā)明實(shí)施例中第一級(jí)別要素加解密效果圖,其中圖(a)是加密數(shù)據(jù),圖(b)是解密后數(shù)據(jù);圖8是本發(fā)明實(shí)施例中第一、二級(jí)別要素加解密效果圖,其中圖(a)是加密數(shù)據(jù),圖(b)是解密后數(shù)據(jù);圖9是本發(fā)明實(shí)施例中所有級(jí)別要素加解密效果圖,其中圖(a)是加密數(shù)據(jù),圖(b)是解密后數(shù)據(jù)。
      具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,做進(jìn)一步詳細(xì)說(shuō)明。
      本實(shí)施例選擇一 shp線圖層數(shù)據(jù),針對(duì)分級(jí)密鑰的生成,矢量數(shù)據(jù)的分級(jí)、逐級(jí)加密及存儲(chǔ)、逐級(jí)解密與顯示的整個(gè)過(guò)程(面圖層數(shù)據(jù)可采取同樣的方法),進(jìn)一步詳細(xì)說(shuō)明本發(fā)明。本實(shí)施例選擇國(guó)家基礎(chǔ)地理數(shù)據(jù)1:400萬(wàn)線圖層數(shù)據(jù)(如圖5)作為實(shí)驗(yàn)數(shù)據(jù)。(一)針對(duì)線圖層數(shù)據(jù)的逐級(jí)加密及存儲(chǔ)過(guò)程(如圖1)步驟11 :利用Hash函數(shù)的單向性構(gòu)造具有分級(jí)的密鑰鏈,各級(jí)密鑰生成的具體方法如下a)輸入密鑰key或選擇密鑰文件keyfile ;b)利用Hash函數(shù)SHA-256算法對(duì)輸入密鑰文件進(jìn)行處理,得到長(zhǎng)度為256位的hash值H,實(shí)例中設(shè)置將線圖層數(shù)據(jù)分為三級(jí),根據(jù)公式(I)推導(dǎo)生成各級(jí)別hash值H1 ;c)將各級(jí)H1以字節(jié)為單位分為32組,每組的取值范圍為0-255,將這32組數(shù)據(jù)用于生成各級(jí)別Logistic映射的控制參數(shù)μ :、初始迭代次數(shù)N1和初始值Xcil ;d)根據(jù)公式(2) Logistic方程,輸入密鑰μ1; Xtll],對(duì)各級(jí)密鑰進(jìn)行初始迭代N1次,以擴(kuò)大Logistic映射的雪崩效應(yīng);步驟12 :選擇要加密的線圖層數(shù)據(jù)R,獲取線圖層數(shù)據(jù)R的相關(guān)信息圖層所含線要素個(gè)數(shù)IineNum為1785、線要素編號(hào)linelD、線要素所含點(diǎn)個(gè)數(shù)pointNum為80965、點(diǎn)要素坐標(biāo)信息pX、pY、圖層坐標(biāo)范圍Xmin為73、Xmax為135、Ymin為3、Ymax為54 ;步驟13 :根據(jù)公式(3)對(duì)線要素進(jìn)行單調(diào)性分段,非單調(diào)點(diǎn)數(shù)為12584,將原線圖層分為14369個(gè)單調(diào)性子段,所含點(diǎn)個(gè)數(shù)為93549 ;這個(gè)步驟是考慮到地理空間數(shù)據(jù)的海量性,通過(guò)避免點(diǎn)要素的順序編碼PointID的冗余存儲(chǔ)以減少數(shù)據(jù)量,分級(jí)傳輸后根據(jù)點(diǎn)要素橫坐標(biāo)值的單調(diào)性來(lái)順序組織數(shù)據(jù)。步驟14 :利用道格拉斯-普克算法建立線狀要素LOD模型,對(duì)線圖層數(shù)據(jù)R進(jìn)行分級(jí),實(shí)例中設(shè)置了兩個(gè)分級(jí)閾值T1=IO. 00、T2=O. 35,將線面圖層R分為三級(jí)(如圖6),得到R= {Ri|1=0,1},R1表示第I個(gè)級(jí)別的要素組。其中,各級(jí)別是內(nèi)容互不重復(fù)的要素組,避免數(shù)據(jù)存儲(chǔ)冗余;步驟15 :針對(duì)線圖層數(shù)據(jù)R進(jìn)行逐級(jí)加密,具體方法如下a)新建圖層對(duì)象outLayl、outLay2、outLay3,線對(duì)象outLinel、outLine2、outLine3,點(diǎn)對(duì)象outPointl、outPoint2、outPoint3,分別存放分級(jí)加密數(shù)據(jù);b)設(shè)置指針指向線圖層的第一個(gè)線要素的第一個(gè)點(diǎn);
      c)判斷當(dāng)前點(diǎn)的級(jí)別,選擇對(duì)應(yīng)級(jí)別密鑰進(jìn)行加密運(yùn)算;d)對(duì)混沌序列進(jìn)行一次迭代,得到值xpl,Xpl表示對(duì)第I級(jí)別的初始值Xtll經(jīng)過(guò)初始迭代N1次后再迭代P次后的值,并將其放大m倍,得到keyx,根據(jù)公式(4)用keyx對(duì)點(diǎn)的橫坐標(biāo)pX的整數(shù)部分Px進(jìn)行異或操作,得到異或后的點(diǎn)坐標(biāo)P' x,對(duì)于點(diǎn)的縱坐標(biāo)pY的整數(shù)部分Py,處理過(guò)程也與上面過(guò)程類似,得到V y;以第一級(jí)別第一個(gè)點(diǎn)要素為例,X01初始迭代N1次后為O. 88,并將其放大200倍,得到該點(diǎn)的keyxS 126,點(diǎn)橫坐標(biāo)的整數(shù)部分px為121,兩者異或后的p' χ*7,加上小數(shù)部分即為該點(diǎn)新的橫坐標(biāo)值。位運(yùn)算的速度相當(dāng)快,對(duì)坐標(biāo)值進(jìn)行“異或運(yùn)算”是一種高效的加密解密算法。其中,為了避免加密地圖出現(xiàn)分塊現(xiàn)象,出現(xiàn)周期性,合理選擇m的值以保證參與坐標(biāo)異或運(yùn)算的keyx盡量在地圖坐標(biāo)范圍之外;同時(shí),為保證在解密過(guò)程中數(shù)據(jù)精度不受四舍五入的 損失,此處只是用整數(shù)部分,這樣就不會(huì)出現(xiàn)數(shù)據(jù)截?cái)喽斐傻木葥p失。e)對(duì)得到的新坐標(biāo)進(jìn)行判斷,是否超出圖層坐標(biāo)取值范圍如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)V !£在[Xmin,XmaJ范圍內(nèi),則不做任何處理;如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)P' x〈Xmin,或者p' x>Xmax,則將其還原為原始坐標(biāo)值。對(duì)于轉(zhuǎn)換后的縱坐標(biāo)的整數(shù)部分p' y,處理過(guò)程與橫坐標(biāo)的過(guò)程相同。這個(gè)步驟的目的是要保證點(diǎn)的坐標(biāo)范圍在原來(lái)的地圖范圍之內(nèi),而不出現(xiàn)特別突兀的點(diǎn),而且部分GIS系統(tǒng)對(duì)于地圖的范圍有所限制,如果超出則可能出現(xiàn)錯(cuò)誤。f)將新坐標(biāo)值[p' x,p' y]賦值給當(dāng)前點(diǎn)對(duì)象outPointl,將點(diǎn)對(duì)象添加到當(dāng)前線對(duì)象outLinel中;g)若指針指向的圖層最后一個(gè)要素的最后一個(gè)點(diǎn),則算法結(jié)束;若指針指向某一個(gè)要素的最后一個(gè)點(diǎn),則指針指向下一個(gè)要素的第一個(gè)點(diǎn),并跳回到步驟c);否則指針指向下一個(gè)點(diǎn),算法回跳到步驟c);步驟16 :將矢量數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫(kù)中,關(guān)鍵是將地理要素集映射到關(guān)系數(shù)據(jù)庫(kù)的表結(jié)構(gòu)和關(guān)系模式上。根據(jù)空間矢量數(shù)據(jù)分級(jí)傳輸?shù)幕舅枷?,每個(gè)級(jí)別的數(shù)據(jù)分層存放,將最概要的數(shù)據(jù)集存儲(chǔ)在最底層,其他尺度數(shù)據(jù)則按遞增的方式進(jìn)行存儲(chǔ),即每層只存儲(chǔ)比上層增加的對(duì)象信息,各個(gè)級(jí)別形成一個(gè)獨(dú)立的二進(jìn)制流。圖層數(shù)據(jù)加密后的存儲(chǔ)結(jié)構(gòu)如圖3,圖中每一行的橫向結(jié)構(gòu)是每一個(gè)線對(duì)象的二進(jìn)制存儲(chǔ),每一列縱向結(jié)構(gòu)式按照級(jí)別層級(jí)和記錄順序重新組織后的二進(jìn)制數(shù)據(jù)。經(jīng)過(guò)加密后的文件格式如表I所示。表I加密文件格式
      權(quán)利要求
      1.一種Shp線面圖層數(shù)據(jù)的層次加解密技術(shù),包括如下過(guò)程(一)針對(duì)線面圖層數(shù)據(jù)的逐級(jí)加密及存儲(chǔ)過(guò)程步驟11 :利用Hash函數(shù)的單向性構(gòu)造具有分級(jí)的密鑰鏈,將得到的各級(jí)hash值用來(lái)生成Logistic混沌系統(tǒng)的控制參數(shù)μ、初始值Xtl和初始迭代次數(shù)N,再使用不同級(jí)別的密鑰加密不同等級(jí)的資源,從而實(shí)現(xiàn)矢量數(shù)據(jù)的分級(jí)調(diào)度;各級(jí)密鑰生成的具體方法如下a)輸入密鑰key或選擇密鑰文件keyfile;b)利用Hash函數(shù)SHA-256算法對(duì)輸入密鑰文件進(jìn)行處理,得到長(zhǎng)度為256位的hash值H,輸入用戶需求的分級(jí)數(shù)I,根據(jù)公式(I)推導(dǎo)生成各級(jí)別hash值H1 ;Hw=Hash(H1),I = 1,2,3,·· · (I)c)將各級(jí)別H1以字節(jié)為單位分為32組,每組的取值范圍為0-255,將這32組數(shù)據(jù)用于生成各級(jí)別Logistic映射的控制參數(shù)μ :、初始迭代次數(shù)N1和初始值Xcil ;d)根據(jù)公式(2)Logistic方程,輸入密鑰[μ1; Xtll],對(duì)各級(jí)密鑰進(jìn)行初始迭代N1次, 以擴(kuò)大Logistic映射的雪崩效應(yīng);Χη+1= β*Χ -β*Χη(2)步驟12 :選擇要加密的線面圖層數(shù)據(jù)R,獲取線面圖層數(shù)據(jù)R的相關(guān)信息圖層所含線要素個(gè)數(shù)IineNum、線要素編號(hào)linelD、線要素所含點(diǎn)個(gè)數(shù)pointNum、點(diǎn)要素坐標(biāo)信息pX、 PY、圖層坐標(biāo)范圍 Xmin、Xmax、Yfflin 和 Ymax ;步驟13 :判斷每個(gè)線對(duì)象的單調(diào)性,記錄單調(diào)性的轉(zhuǎn)折點(diǎn),并以轉(zhuǎn)折點(diǎn)為斷點(diǎn),拆分成兩個(gè)線對(duì)象,再繼續(xù)判斷轉(zhuǎn)折點(diǎn)到末點(diǎn)的單調(diào)性,直到所有線對(duì)象滿足單調(diào);分析線對(duì)象的單調(diào)性以X軸為投影直線,對(duì)于有η點(diǎn)的折線L,若用表示第j點(diǎn)的橫坐標(biāo),若公式(3)成立,則定義第j點(diǎn)是L的單調(diào)點(diǎn);否則,為非單調(diào)點(diǎn);(Xj-Xj-!) (XJ+1-Xj)>0 (KjXn) (3)步驟14 :利用道格拉斯-普克算法建立線狀要素LOD模型,對(duì)線面圖層數(shù)據(jù)R進(jìn)行分級(jí)即是對(duì)線面圖層數(shù)據(jù)R中的實(shí)體要素進(jìn)行分級(jí),具體方法如下用戶設(shè)置各個(gè)要素級(jí)別的分級(jí)閾值T1,對(duì)線面圖層數(shù)據(jù)R分級(jí),得到RHR111=1,2,3,…},R1表示第I個(gè)級(jí)別的要素組,其中,R1是內(nèi)容互不重復(fù)的要素組,避免數(shù)據(jù)存儲(chǔ)冗余;步驟15 :針對(duì)線面圖層數(shù)據(jù)R進(jìn)行逐級(jí)加密,具體方法如下a)設(shè)置指針指向圖層第一個(gè)要素的第一個(gè)點(diǎn);b)判斷當(dāng)前點(diǎn)的級(jí)別,選擇對(duì)應(yīng)級(jí)別密鑰進(jìn)行加密運(yùn)算;c)對(duì)混沌序列進(jìn)行一次迭代,得到值xpl,xpl表示對(duì)第I級(jí)別的初始值Xtll經(jīng)過(guò)初始迭代N1次后再迭代P次后的值,并將其放大m倍,得到keyx,根據(jù)公式(4)用keyx對(duì)點(diǎn)的橫坐標(biāo)pX的整數(shù)部分Px進(jìn)行異或操作,得到異或后的點(diǎn)坐標(biāo)P' x,對(duì)于點(diǎn)的縱坐標(biāo)pY的整數(shù)部分Py,處理過(guò)程相同,得到V y;P' x=px Λ keyx (4)P' y=Py A keyyd)對(duì)得到的新坐標(biāo)進(jìn)行判斷,是否超出圖層坐標(biāo)取值范圍如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)P' x在[Xmin,XmaJ范圍內(nèi),則不做任何處理;如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)P' x〈Xmin,或者P' x > Xmax,則將其還原為原始坐標(biāo)值,即P' x=Px°對(duì)于轉(zhuǎn)換后的縱坐標(biāo)的整數(shù)部分V y,處理過(guò)程與橫坐標(biāo)V x的過(guò)程相同;e)將新坐標(biāo)值賦值給點(diǎn)對(duì)象,將點(diǎn)對(duì)象添加到對(duì)應(yīng)線對(duì)象中;f)若指針指向圖層最后一個(gè)要素的最后一個(gè)點(diǎn),則算法結(jié)束;若指針指向某一個(gè)要素的最后一個(gè)點(diǎn),則指針指向下一個(gè)要素的第一個(gè)點(diǎn),并跳回到步驟b);否則指針指向下一個(gè)點(diǎn),算法回跳到步驟b);步驟16 :加密線圖層Re的分級(jí)存儲(chǔ),具體方法如下將矢量數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫(kù)中,關(guān)鍵是將地理要素集映射到關(guān)系數(shù)據(jù)庫(kù)的表結(jié)構(gòu)和關(guān)系模式上,每個(gè)級(jí)別的數(shù)據(jù)分層存放,將最概要的數(shù)據(jù)集存儲(chǔ)在最底層,其他尺度數(shù)據(jù)則按遞增的方式進(jìn)行存儲(chǔ),即每層只存儲(chǔ)比上層增加的對(duì)象信息,各個(gè)級(jí)別形成一個(gè)獨(dú)立的二進(jìn)制流;(二)針對(duì)線面圖層數(shù)據(jù)的逐級(jí)解密及顯示過(guò)程步驟21 :根據(jù)數(shù)據(jù)顯示請(qǐng)求的級(jí)別1,輸入密鑰key或選擇密鑰文件keyfile ;步驟22 :根據(jù)上述過(guò)程(一)中步驟11的方法,生成該級(jí)別解密密鑰初始迭代次數(shù) N1、控制參數(shù)μ !和初始值Xtll ;步驟23 :解密該級(jí)要素a)設(shè)置指針指向該級(jí)數(shù)據(jù)的第一個(gè)要素的第一個(gè)點(diǎn);b)對(duì)混沌序列進(jìn)行一次迭代,得到值xpl,xpl表示對(duì)第I級(jí)別的初始值Xtll經(jīng)過(guò)初始迭代N1次后再迭代P次后的值,并將其放大m倍,得到keyx,根據(jù)公式(5)用keyx對(duì)點(diǎn)的橫坐標(biāo)的整數(shù)部分P, x進(jìn)行異或操作,得到Px,對(duì)于點(diǎn)的縱坐標(biāo)的整數(shù)部分P, y,處理過(guò)程相同,得到Py;Px=P' x Λ keyx (5)Py=P' y Λ keyyc)對(duì)得到的新坐標(biāo)進(jìn)行判斷,是否超出圖層坐標(biāo)取值范圍如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)Px在[Xmin,XmaJ范圍內(nèi),則不做任何處理;如果轉(zhuǎn)換后的點(diǎn)的橫坐標(biāo)PxOCmin,或者px>Xmax,則將其還原為原始坐標(biāo)值,即Px=P' x,對(duì)于轉(zhuǎn)換后的縱坐標(biāo)的整數(shù)部分Py,處理過(guò)程與橫坐標(biāo)Px的過(guò)程相同;d)將新坐標(biāo)值賦值給點(diǎn)對(duì)象,將點(diǎn)對(duì)象添加到對(duì)應(yīng)線對(duì)象中;e)若指針指向的該級(jí)數(shù)據(jù)最后一個(gè)要素的最后一個(gè)點(diǎn),則算法結(jié)束;若指針指向某一個(gè)要素的最后一個(gè)點(diǎn),則指針指向下一個(gè)要素的第一個(gè)點(diǎn),并跳回到步驟b);否則指針指向下一個(gè)點(diǎn),算法回跳到步驟b);步驟24 :線面圖層數(shù)據(jù)的層次顯示,具體方法如下用戶請(qǐng)求數(shù)據(jù)顯示時(shí),首先檢查本地緩存區(qū)的數(shù)據(jù)是否符合要求,如果緩存區(qū)數(shù)據(jù)級(jí)別cachedl大于請(qǐng)求的數(shù)據(jù)級(jí)別requestedl,貝U遍歷緩存區(qū)中requestedl及其以下的數(shù)據(jù);如果緩存區(qū)數(shù)據(jù)級(jí)別cachedl小于請(qǐng)求的數(shù)據(jù)級(jí)別requestedl,則遍歷緩存區(qū)的數(shù)據(jù), 并請(qǐng)求傳輸從數(shù)據(jù)級(jí)別cachedl+Ι到數(shù)據(jù)級(jí)別requestedl的數(shù)據(jù),逐級(jí)解密;如果數(shù)據(jù)顯示請(qǐng)求為第一級(jí)即最概要信息,則直接讀取顯示該級(jí)解密后的要素信息;否則遍歷緩存區(qū)每條線要素,逐一比較各級(jí)別點(diǎn)的橫坐標(biāo)值PX,實(shí)現(xiàn)解密后數(shù)據(jù)的有序顯示。
      全文摘要
      本發(fā)明公開(kāi)了一種shp線面圖層數(shù)據(jù)層次加解密方法,包括如下過(guò)程(1)針對(duì)線面圖層數(shù)據(jù)的逐級(jí)加密及存儲(chǔ)過(guò)程,包括各級(jí)密鑰的生成、單調(diào)性分段、建立LOD模型、逐級(jí)加密及分級(jí)存儲(chǔ)等步驟;(2)針對(duì)線面圖層數(shù)據(jù)的逐級(jí)解密及顯示過(guò)程,包括解密密鑰生成、逐級(jí)解密、層次顯示等步驟。本發(fā)明的方法能有效兼顧矢量數(shù)據(jù)傳輸?shù)乃俣群桶踩裕瑸楹A康乩砜臻g數(shù)據(jù)的高效傳輸和安全訪問(wèn)提供有效的技術(shù)手段。
      文檔編號(hào)G06F21/62GK103020544SQ20131000305
      公開(kāi)日2013年4月3日 申請(qǐng)日期2013年1月4日 優(yōu)先權(quán)日2013年1月4日
      發(fā)明者周衛(wèi), 王海榮, 李安波 申請(qǐng)人:南京師范大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1