霍玉兵
(華北地質(zhì)勘查局第四地質(zhì)大隊(duì), 河北 秦皇島 066012)
隨著工程建筑業(yè)的發(fā)展,巖土工程勘察也取得了一定的進(jìn)步,巖土工程勘察也逐漸受到了重視。巖土工程勘察是施工建設(shè)中的重要步驟[1],通過巖土工程勘察可以準(zhǔn)確地了解施工前待施工場地的部分地理?xiàng)l件[2],施工影響因素等,可以利用巖土工程勘察數(shù)據(jù)設(shè)計(jì)具體的施工方案[3],因此,巖土工程勘察對(duì)施工來說十分重要。在巖土工程勘察的過程中,為了保證勘察的有效性,需要記錄很多的勘察數(shù)據(jù)[4]。在大量勘察現(xiàn)場生成了眾多數(shù)據(jù),匯聚形成了復(fù)雜的數(shù)據(jù)庫,在復(fù)雜的數(shù)據(jù)庫中查找有用的信息十分困難,因此需要進(jìn)行數(shù)據(jù)庫模糊檢索。例如施工地的地形特點(diǎn),自然環(huán)境變化數(shù)據(jù),穩(wěn)定性數(shù)據(jù)等,并進(jìn)行數(shù)據(jù)整合[5],將所有勘察到的數(shù)據(jù)輸送到勘察數(shù)據(jù)庫中,因此,在巖土工程勘察的過程中[6],往往會(huì)涉及眾多的數(shù)據(jù)報(bào)表,為了增加報(bào)表的數(shù)據(jù)處理效率,提高數(shù)據(jù)安全性[7],研究人員設(shè)計(jì)了巖土工程勘察數(shù)據(jù)庫。該數(shù)據(jù)庫可以儲(chǔ)存各種各樣的勘測數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一記錄。隨著計(jì)算機(jī)技術(shù)發(fā)展[8],巖土工程勘察技術(shù)也得到了進(jìn)步,各種圖形勘察數(shù)據(jù)也紛亂錯(cuò)雜,匯總到巖土勘察數(shù)據(jù)庫后,相關(guān)人員在調(diào)用時(shí)遇到了困境,因此需要根據(jù)關(guān)鍵詞進(jìn)行模糊檢索,挖掘需要使用的數(shù)據(jù)。
在這種情況下,相關(guān)的研究人員提出了巖土勘察數(shù)據(jù)庫模糊檢索方法[9]。但經(jīng)過一段時(shí)間的實(shí)踐發(fā)現(xiàn)傳統(tǒng)的模糊檢索方法檢索速度慢,檢索數(shù)據(jù)不準(zhǔn)確。因此本文提出基于云計(jì)算設(shè)計(jì)新的巖土工程勘察數(shù)據(jù)庫模糊檢索方法。因云計(jì)算技術(shù)可以利用計(jì)算機(jī)將數(shù)據(jù)庫進(jìn)行分格運(yùn)算,大大增加了數(shù)據(jù)檢索效率,對(duì)巖土工程勘察的工作具有一定的現(xiàn)實(shí)意義。
在巖土工程勘察數(shù)據(jù)模糊檢索的過程中,為了增加檢索的準(zhǔn)確度,需要對(duì)基于云計(jì)算的勘察數(shù)據(jù)庫模糊檢索框架進(jìn)行設(shè)計(jì),基于此構(gòu)建的檢索框架如圖1所示。
圖1 時(shí)態(tài)檢索框架
由圖1可知,為了保證模糊檢索的效率,該框架在啟動(dòng)階段即生成了勘察數(shù)據(jù)檢索模型,將模型中輸出的數(shù)據(jù)傳輸?shù)疥P(guān)系數(shù)據(jù)庫中,保證此時(shí)數(shù)據(jù)的安全性,進(jìn)行模糊檢索操作。在模糊檢索的初期,為了確定用戶檢索的關(guān)鍵詞狀態(tài),需要預(yù)先進(jìn)行用戶時(shí)態(tài)查詢,保證此時(shí)的時(shí)態(tài)元組在標(biāo)準(zhǔn)的檢索范圍內(nèi),然后需要使用檢索算法,找到符合時(shí)態(tài)約束條件的關(guān)鍵字節(jié)點(diǎn),并將其用作時(shí)態(tài)數(shù)據(jù)映射搜索的輸入節(jié)點(diǎn)[10],得到該時(shí)態(tài)檢索的結(jié)果,再根據(jù)時(shí)態(tài)排序機(jī)制,對(duì)檢索的結(jié)構(gòu)相似性和內(nèi)容相似性對(duì)進(jìn)行排序,并將輸出的時(shí)態(tài)檢索結(jié)果返回給用戶。
時(shí)態(tài)信息檢索模型是時(shí)態(tài)信息檢索過程的模擬和抽象代表。該時(shí)態(tài)信息檢索模型使用了有限長單位沖激響應(yīng)濾波器 (finite impulse response,FIR) 信息收集技術(shù),搜索目標(biāo)是獲取與時(shí)間范圍內(nèi)與關(guān)鍵詞密切相關(guān)的信息。為了更好地滿足用戶檢索的時(shí)態(tài)需求,時(shí)態(tài)信息檢索模型需要解決以下問題,即如何定義時(shí)態(tài)查詢、如何定義搜索結(jié)果、如何計(jì)算搜索結(jié)果的依賴關(guān)系、如何定義檢索到的數(shù)據(jù)模型等。
根據(jù)數(shù)據(jù)庫信息檢索的特點(diǎn),以及對(duì)大量時(shí)間相關(guān)系統(tǒng)應(yīng)用程序的需求,本方法選擇將大量的時(shí)態(tài)數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中。因此,數(shù)據(jù)庫中實(shí)體和實(shí)體之間的關(guān)系呈時(shí)態(tài)相關(guān)。傳統(tǒng)的數(shù)據(jù)映射將每個(gè)實(shí)體建模作為一個(gè)節(jié)點(diǎn),并將實(shí)體之間的連接作為建模邊緣。這種建模方法很好地說明了實(shí)體之間的關(guān)聯(lián)性,但是無法區(qū)分時(shí)態(tài)和實(shí)體之間的關(guān)聯(lián)關(guān)系。因此,對(duì)實(shí)體之間聯(lián)系的理解容易被誤導(dǎo),可能出現(xiàn)檢索不理想的情況。因此,為了更好地表達(dá)存儲(chǔ)于數(shù)據(jù)庫的實(shí)體時(shí)態(tài)特性信息,還需要采用基于云計(jì)算設(shè)計(jì)巖土勘察數(shù)據(jù)檢索加密算法。
由于巖土工程勘察數(shù)據(jù)庫具有特殊性,因此為了保證檢索的準(zhǔn)確性,需要對(duì)基于云計(jì)算技術(shù)的檢索加密算法進(jìn)行設(shè)計(jì)。云計(jì)算技術(shù)可以根據(jù)分布式計(jì)算法則,將巖土工程勘察數(shù)據(jù)庫中的數(shù)據(jù)分解成無數(shù)個(gè)小的數(shù)據(jù)程序,利用數(shù)據(jù)處理系統(tǒng)分別處理并反饋,即利用云計(jì)算網(wǎng)格作用,在短時(shí)間內(nèi)高效檢索巖土勘察數(shù)據(jù)庫中的數(shù)據(jù)。計(jì)算初始查找時(shí)間,計(jì)算公式如式(1)所示。
(1)
式中,T代表初始查找時(shí)間;n代表檢索系數(shù);TDP代表解密時(shí)間。根據(jù)該公式可以進(jìn)行數(shù)據(jù)的轉(zhuǎn)換,檢測此時(shí)的檢索元祖,公式如式(2)、式(3)所示。
式中,G代表初始檢索元祖;G0代表優(yōu)化后的檢索元祖;N代表錯(cuò)檢元祖數(shù)量;f代表屬性值。使用式(1)~式(3)實(shí)現(xiàn)檢索數(shù)據(jù)加密,生成48位的子密鑰。
根據(jù)上述設(shè)計(jì)的數(shù)據(jù)庫加密算法,可以生成巖土工程數(shù)據(jù)庫加密秘鑰。將明文不斷變換成密文,利用搭建的密文轉(zhuǎn)換系統(tǒng)進(jìn)行實(shí)時(shí)加密變換,保證巖土工程數(shù)據(jù)加密的安全性。采用云計(jì)算技術(shù)保護(hù)數(shù)據(jù)通信和數(shù)據(jù)儲(chǔ)存,保證加密數(shù)據(jù)的傳輸穩(wěn)定,實(shí)現(xiàn)秘鑰的實(shí)時(shí)生成。本文選取交易密鑰(tradekey,TK),生成索引初級(jí)秘鑰,需要將加密的數(shù)據(jù)秘鑰輸入到數(shù)據(jù)字典中,在使用MK函數(shù)進(jìn)行秘鑰更換,保證秘鑰生成的穩(wěn)定性,為了避免秘鑰更換后的隨機(jī)性,需要根據(jù)管理員的IP重新生成索引秘鑰,保證秘鑰與索引數(shù)據(jù)之間始終具有對(duì)應(yīng)關(guān)系。最后,需要將秘鑰生成的數(shù)據(jù)庫取值設(shè)置在標(biāo)準(zhǔn)范圍內(nèi),保證秘鑰的有效性,實(shí)現(xiàn)檢索秘鑰的有效加密。
為了保證基于云計(jì)算的巖土工程勘察數(shù)據(jù)檢索的實(shí)時(shí)性,還需要繪制檢索的時(shí)態(tài)數(shù)據(jù)圖。為了保證時(shí)態(tài)數(shù)據(jù)圖的準(zhǔn)確性,要確認(rèn)此時(shí)的檢索初始節(jié)點(diǎn),如果數(shù)據(jù)庫包含部分時(shí)態(tài)實(shí)體,并且實(shí)體之間包含時(shí)態(tài)連接,則必須設(shè)置時(shí)態(tài)數(shù)據(jù)映射,并且每個(gè)實(shí)體和實(shí)體之間的連接不必是時(shí)態(tài)。除此之外,還需要保證時(shí)態(tài)數(shù)據(jù)圖中的各個(gè)檢索數(shù)據(jù)具有時(shí)態(tài)特性,避免存在離散的數(shù)據(jù)節(jié)點(diǎn),便于時(shí)態(tài)區(qū)間的連接,設(shè)計(jì)的檢索時(shí)態(tài)數(shù)據(jù)圖如圖2所示。
圖2 時(shí)態(tài)數(shù)據(jù)圖
由圖2可知,在時(shí)態(tài)數(shù)據(jù)圖中,由幾個(gè)分布不均勻的節(jié)點(diǎn)相互連接,保證時(shí)態(tài)數(shù)據(jù)圖的數(shù)據(jù)時(shí)態(tài)關(guān)聯(lián)性,除此之外,為了保證時(shí)態(tài)數(shù)據(jù)圖中各個(gè)節(jié)點(diǎn)的時(shí)態(tài)能與檢索的時(shí)態(tài)呈對(duì)應(yīng)關(guān)系,需要搭建臨時(shí)的關(guān)系數(shù)據(jù)庫。在臨時(shí)關(guān)系數(shù)據(jù)庫中,特定時(shí)間的約束下相互關(guān)聯(lián)的臨時(shí)元組形成了一個(gè)集合,該集合可以根據(jù)數(shù)據(jù)庫中關(guān)系模式的默認(rèn)外鍵關(guān)系,連接時(shí)態(tài)元組,方便進(jìn)行元組集合。時(shí)態(tài)搜索的結(jié)果不是單個(gè)相關(guān)的時(shí)態(tài)元組,而是相關(guān)連接的時(shí)態(tài)元組集合,可以根據(jù)集合建立時(shí)態(tài)元組連接樹,時(shí)態(tài)元組連接樹中的元組集合包含所有的檢索關(guān)鍵詞。對(duì)于整個(gè)元組樹,如果刪除該元組樹中的一個(gè)節(jié)點(diǎn),就無法保證檢索集合完整。因此,臨時(shí)元組連接樹中每個(gè)元組的連接都必須遵守時(shí)間限制。
為了檢驗(yàn)本文設(shè)計(jì)的基于云計(jì)算的巖土工程勘察數(shù)據(jù)庫模糊檢索方法的有效性,搭建了實(shí)驗(yàn)檢測平臺(tái),將其與傳統(tǒng)的數(shù)據(jù)庫模糊檢索方法進(jìn)行對(duì)比。
為了保證實(shí)驗(yàn)的準(zhǔn)確性,避免實(shí)驗(yàn)出現(xiàn)誤差,需要在現(xiàn)有的基礎(chǔ)上,增加特殊的密文索引,增加數(shù)據(jù)庫的索引效率。因此,需要在現(xiàn)有的基礎(chǔ)上對(duì)實(shí)驗(yàn)平臺(tái)進(jìn)行數(shù)值化索引改造,將所有索引樹種的關(guān)鍵詞識(shí)別節(jié)點(diǎn)改造成設(shè)計(jì)的密文索引,為了增加密文索引的適用性,本文選用了B+型密文索引樹,對(duì)不同的關(guān)鍵詞進(jìn)行特征記憶,不間斷地進(jìn)行檢索,直到找到滿足查詢條件的所有節(jié)點(diǎn)為止,此時(shí)設(shè)計(jì)的密文索引示意圖如圖3所示。
圖3 密文索引示意圖
由圖3可知,為了保證整個(gè)密文索引實(shí)驗(yàn)的完整性,在進(jìn)行實(shí)驗(yàn)之前,首先需要進(jìn)行密文索引匹配,記錄此時(shí)符合密文匹配要求的節(jié)點(diǎn)數(shù)值。如果此時(shí)經(jīng)過檢驗(yàn)后發(fā)現(xiàn)B+樹的內(nèi)存比現(xiàn)有的數(shù)據(jù)文件小,則此時(shí)需要進(jìn)行鍵位順序排列,保證B+樹的處理效率,如果此時(shí)B+樹無法進(jìn)行數(shù)據(jù)排序識(shí)別,則需要根據(jù)此時(shí)B+樹不斷進(jìn)行有序性加密,保證加密后的數(shù)據(jù)符合原有的加密順序。因此在進(jìn)行數(shù)據(jù)加密前一定要驗(yàn)證此時(shí)B+樹的儲(chǔ)存狀態(tài)。
為了提高索引的效率,首先需要在B+樹中查詢快速加密的明文,如果此時(shí)查詢到了加密明文,則證明此時(shí)系統(tǒng)存在潛在風(fēng)險(xiǎn)。狡猾的攻擊者可以從系統(tǒng)最薄弱的部分開始攻擊,因此必須對(duì)B+樹進(jìn)行二次加密,以保持敏感信息的安全。加密B+樹時(shí),需要根據(jù)現(xiàn)有的方案,在保存時(shí)加密整個(gè)B+樹。查詢時(shí),首先需要解密B+樹,然后根據(jù)B+樹找到數(shù)據(jù)文件的加密記錄,解密符合標(biāo)準(zhǔn)的記錄。對(duì)索引文件使用節(jié)點(diǎn)加密法,無須解密整個(gè)索引文件,只需要解密幾個(gè)節(jié)點(diǎn)即可查詢索引文件,從而快速提高系統(tǒng)的查詢性能。因此,可以根據(jù)B+樹的結(jié)構(gòu)特點(diǎn),進(jìn)行后續(xù)的模糊檢索實(shí)驗(yàn),此時(shí)各個(gè)節(jié)點(diǎn)的參數(shù)如表1所示。
表1 節(jié)點(diǎn)參數(shù)
由表1可知,對(duì)于Enc-node,查詢B樹所花費(fèi)的時(shí)間代價(jià)不會(huì)增加。這主要是因?yàn)閷?duì)B+樹查詢的結(jié)點(diǎn)數(shù)一般為B+樹的深度,那么需要解密的結(jié)點(diǎn)數(shù)也為B+樹的深度,并不會(huì)隨著葉結(jié)點(diǎn)的增加而增加。
根據(jù)實(shí)驗(yàn)準(zhǔn)備中表1的節(jié)點(diǎn)參數(shù)的節(jié)點(diǎn)參數(shù)以及密文索引示意圖,繪制出此時(shí)B+數(shù)的深度變化性能示意圖,如圖4所示。
圖4 深度變化性能示意圖
由圖4可知,此時(shí)的測試平臺(tái)的深度加密狀態(tài)符合測試需求,因此分別使用本文設(shè)計(jì)的巖土工程模糊檢測方法和傳統(tǒng)的模糊檢測方法進(jìn)行模糊檢測,設(shè)置1~10個(gè)不同關(guān)鍵詞,根據(jù)關(guān)鍵詞個(gè)數(shù),進(jìn)行10次測試。使用不同方法進(jìn)行檢索,檢驗(yàn)不同方法檢索耗時(shí)的多少。耗時(shí)越少,說明該方法性能越好,效率越高。檢索耗時(shí)結(jié)果如表2所示。
表2 實(shí)驗(yàn)結(jié)果
由表2可知,在關(guān)鍵詞個(gè)數(shù)逐漸增加的情況下,本文設(shè)計(jì)的模糊檢索方法耗時(shí)與傳統(tǒng)的模糊檢索方法耗時(shí)也都在逐漸增加;本文設(shè)計(jì)的模糊檢索方法在連續(xù)10次的測試中,檢索耗時(shí)都低于傳統(tǒng)模糊檢索方法的耗時(shí);在關(guān)鍵詞最多為10個(gè)的情況下,傳統(tǒng)的模糊檢索方法耗時(shí)為6.865 s,而本文設(shè)計(jì)的模糊檢索方法耗時(shí)為1.591 s,是傳統(tǒng)模糊檢索方法耗時(shí)大約1/4的時(shí)間,遠(yuǎn)遠(yuǎn)低于傳統(tǒng)模糊檢索方法的耗時(shí),說明本文設(shè)計(jì)的模糊檢索方法實(shí)際應(yīng)用性能較好,檢索工作效率較高,驗(yàn)證了本文設(shè)計(jì)的方法在能夠?qū)崿F(xiàn)成功檢索的基礎(chǔ)上,具有一定的省時(shí)性。
綜上所述,在巖土工程勘察的大數(shù)據(jù)時(shí)代,掌握巖土工程勘察數(shù)據(jù)模糊檢索方法對(duì)提取重要的巖土工程數(shù)據(jù),實(shí)現(xiàn)高精度檢索有重要意義,因此本文解決了傳統(tǒng)的巖土工程勘察數(shù)據(jù)模糊檢索的耗時(shí)長、準(zhǔn)確率低的問題,設(shè)計(jì)了新的巖土工程勘察數(shù)據(jù)模糊檢索方法,進(jìn)行實(shí)驗(yàn)證明,設(shè)計(jì)的檢索方法能實(shí)現(xiàn)成功檢索,且連續(xù)幾次的檢索耗時(shí)均較低,因此本文設(shè)計(jì)法檢索方法具有省時(shí)性,有一定的應(yīng)用價(jià)值。