亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于XML路徑表達(dá)式優(yōu)化及其查詢和過濾計(jì)算方法研究

        2015-08-09 01:05:22樓樹美
        關(guān)鍵詞:定義優(yōu)化

        黃 碩,樓樹美

        (1. 華中師范大學(xué) 信息技術(shù)系,湖北 武漢430079;2. 信陽職業(yè)技術(shù)學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,河南 信陽 464000;3. 南京理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 210094)

        0 引言

        在Web技術(shù)中,為了分享公共資源,人們需要用信息載體來傳遞信息.目前,主要的信息載體用的是超文本(hypertext),但是超文本的缺點(diǎn)是只能依賴瀏覽器,不能被其他的應(yīng)用程序所利用,HTML具有局限性.針對(duì)HTML存在的問題,產(chǎn)生了XML[1](eXtensible Markup Language).XML作為互聯(lián)網(wǎng)上共享數(shù)據(jù)的新標(biāo)準(zhǔn)是可擴(kuò)展的置標(biāo)語言,可與HTML兼容,應(yīng)用范圍不受限制,是半結(jié)構(gòu)化數(shù)據(jù)特殊的表現(xiàn)方式.XML以其較高的靈活性、擴(kuò)展性和格式很快占據(jù)了商業(yè)市場(chǎng).多數(shù)企業(yè)已經(jīng)采用XML進(jìn)行數(shù)據(jù)共享和交流.大部分XML中,路徑表達(dá)式都是重要的組成部分之一,所以對(duì)路徑表達(dá)式進(jìn)行優(yōu)化,提高性能非常有必要.本文中提到了補(bǔ)路徑和路徑縮短法兩種優(yōu)化路徑表達(dá)式的方法.而如何提高查詢XML數(shù)據(jù)的效率是現(xiàn)在的一個(gè)熱門話題.網(wǎng)絡(luò)上現(xiàn)在已經(jīng)有非常多的XML數(shù)據(jù),提取這些數(shù)據(jù),需要一個(gè)文檔查詢工具,本論文中提到了最常用的查詢語言——XQuery[2].過濾技術(shù)是在過程中將有害信息過濾掉,在面對(duì)數(shù)據(jù)量比較大,對(duì)處理速度的要求比較高的情況下,需要對(duì)傳統(tǒng)的過濾技術(shù)進(jìn)行改造,本文最后詳細(xì)闡述了XML過濾算法的實(shí)現(xiàn).

        1 XML路徑表達(dá)式的優(yōu)化

        中國人民大學(xué)孟小峰[3]教授將XML描述為表現(xiàn)半結(jié)構(gòu)化數(shù)據(jù)的形式.它有結(jié)構(gòu)不規(guī)則、不進(jìn)行類型約束、模式信息模糊等特點(diǎn).與傳統(tǒng)關(guān)系的結(jié)構(gòu)數(shù)據(jù)相比,半結(jié)構(gòu)化數(shù)據(jù)模式?jīng)]有明確定義,模式產(chǎn)生在數(shù)據(jù)后面,且它規(guī)模會(huì)不斷變化.由于半結(jié)構(gòu)化數(shù)據(jù)的特點(diǎn),所以它的靈活性很大,能夠適應(yīng)網(wǎng)絡(luò)數(shù)據(jù)的復(fù)雜要求.

        1.1 優(yōu)化目的

        目前,正規(guī)路徑表達(dá)式被廣泛地應(yīng)用于包括XML在內(nèi)的許多半結(jié)構(gòu)化數(shù)據(jù)查詢語言中.首先,要對(duì)XML文檔進(jìn)行簡化,簡化成DTD,也就是擴(kuò)展正則表達(dá)式.對(duì)正則表達(dá)式DTD進(jìn)行優(yōu)化是XML路徑表達(dá)式優(yōu)化的重要問題.下面,我們通過一個(gè)實(shí)例來說明正則表達(dá)式優(yōu)化的問題.如圖1,需要查詢Q1:select×Where(college.persons.person.name)×.

        圖1 XML文檔樹結(jié)構(gòu)Fig. 1 XML document tree structure

        對(duì)于Q1,我們需要查詢出學(xué)院中所有工作人員的名字.如果文檔中沒有索引,對(duì)Q1進(jìn)行查詢要按照路徑“學(xué)院工作人員個(gè)人姓名”來對(duì)文檔中的每個(gè)元素進(jìn)行搜索,符合要求的元素將會(huì)被返回.在對(duì)XML進(jìn)行整理的時(shí)候,通過DTD可以得到查詢Q1的有用信息,但是,姓名到學(xué)院的路徑只有一條.所以,在查詢的時(shí)候,“學(xué)院工作人員個(gè)人姓名”通常被作為一個(gè)整體進(jìn)行操作.

        DTD能夠提供文檔模式的有用信息,利用這一點(diǎn),能夠?qū)Σ樵儗?shí)現(xiàn)優(yōu)化.對(duì)查詢進(jìn)行優(yōu)化的重點(diǎn)就是對(duì)路徑表達(dá)式進(jìn)行優(yōu)化.優(yōu)化查詢有三步:一、根據(jù)擴(kuò)展正則表達(dá)式的含義對(duì)DTD進(jìn)行縮減;二、對(duì)交結(jié)點(diǎn)進(jìn)行定義;三、根據(jù)交結(jié)點(diǎn)提出路徑縮短和補(bǔ)路徑兩種路徑表達(dá)式優(yōu)化策略.

        1.2 路徑表達(dá)式及其優(yōu)化策略

        將XML文檔看成是若干路徑實(shí)例的組合[4],每一個(gè)路徑實(shí)例都有相應(yīng)數(shù)據(jù)節(jié)點(diǎn),所以將路徑表達(dá)式查詢和XML文檔路徑實(shí)例結(jié)合起來,就可得到所需要的元素實(shí)例.

        定義1(交結(jié)點(diǎn))D(E,A,P,R,r)是XML的文檔模式,假設(shè)結(jié)點(diǎn)n1,n2,n3∈A∪E,每一條初始結(jié)點(diǎn)為n2終結(jié)點(diǎn)為n3的路徑都經(jīng)過n1,在XML模式中,就把n1叫作n2和n3的交結(jié)點(diǎn),表示為:Ent(n2,n3)=n1.

        基于Lore的系統(tǒng),關(guān)于SPE的查詢方法有以下三種:混合查詢(hybrid)、從底到頂(bottom-up)、從頂?shù)降?top-down).而外延鏈接算法則是混合查詢方法的一個(gè)完善.對(duì)于外延算法,下面提出了兩種對(duì)路徑表達(dá)式進(jìn)行優(yōu)化的策略,同時(shí),這兩種方法也同樣可以用到另外的路徑表達(dá)式的優(yōu)化中.這兩種方法分別是:路徑縮短(path shorten)和補(bǔ)路徑(path complementing).

        1.2.1 路徑縮短

        我們把下面提到的3個(gè)定理叫作關(guān)于路徑表達(dá)式查詢的路徑縮短策略,它們的原理相同,都是利用XML文檔模式信息,基于用戶查詢的本質(zhì),對(duì)路徑表達(dá)式查詢進(jìn)行縮短.

        定理1 假設(shè)XML文檔Td符合XML模式Gt,那么Td中除了被rootd用到的元素之外所有的都是它的后代,可以表示為,rootd的后代為(?n)n∈{Vd-rootd}→n.

        定理2 假設(shè)Gt中只有通過絕對(duì)路徑表達(dá)式查詢Q={Gt,Td,roott,PE,RS}能夠訪問最終目標(biāo),同時(shí),路徑PE最后元素的類型用End(PE)來表示,可以得到RS=EXT(End(P,E)).

        定義2 設(shè)Q={Gt,Td,roott,PE,RS}是一個(gè)查詢,同時(shí)End(roott+PE)=En,并且(?e)(e∈EXT(En)→e∈RS),則元素類型En只有PE這么一條訪問路徑(unique accessing path),我們將它寫成UAP(En)=PE.

        定義4 對(duì)于Gt和Td,并且E1,E2∈Vt,假設(shè)(?e2∈Vd)(e2∈EXT(E2)→(?e1)(e1∈EXT(E1)∧e1),那么我們稱E2的關(guān)鍵祖先(key ancestor)是E1,它代表的含義是元素實(shí)例在對(duì)E2進(jìn)行訪問的時(shí)候一定要經(jīng)過E1,寫作KA(E2)=E1.

        定理3n步絕對(duì)路徑表達(dá)式E1C1E2C2E3,…,Cn-1En中路徑連接符用Ei(1≤i≤n)和Ci(1≤i≤n-1)表示,對(duì)于Q1={Gt,Td,E1,C1E2C2E3,…,Cn-1En,RS1},并且UAP(E2)=C1E2,也就是說相對(duì)路徑查詢方式Q2={Gt,Td,E2,C2E3,…,Cn-1En,RS2}可來替換掉Q1,假設(shè)E3的關(guān)鍵祖先或者僅有的父元素為E2(C2可用‘/’,‘//’表示),那么Q1可以用Q3={Gt,Td,E3,C3E4,…,Cn-1En,RS3}來替換,也就是說UAP(E3)=C1E2C2E3.

        由定理3可以知道,在某種條件下,對(duì)Q2進(jìn)行優(yōu)化可以得到Q3,證明我們可以對(duì)相對(duì)路徑查詢進(jìn)行優(yōu)化.上面所提到的定理推論,它們的性質(zhì)是一樣的,都是在基于用戶需要查詢的內(nèi)容基礎(chǔ)上,用XML文檔的相關(guān)模式簡化并縮短路徑表達(dá)式,進(jìn)而減少了查詢的成本,它們共同構(gòu)成了簡化路徑表達(dá)式的路徑縮短策略.

        1.2.2 補(bǔ)路徑

        通過對(duì)路徑表達(dá)式進(jìn)行優(yōu)化來提高查詢速度的方法稱為路徑縮短策略.而補(bǔ)路徑,是用簡單的路徑表達(dá)式來代替用戶所建立的復(fù)雜度表達(dá)式,這樣也能提高查詢速度.同路徑縮短一樣都要用到XML文檔模式信息.

        定義5(互補(bǔ)路徑) 對(duì)于XML數(shù)據(jù)Td={Vd,Ed,δd,∑d,rootd,oid,typed,oidd}和XML模式Gt={Vt,Et,δt,∑t,roott},若E2∈V1,KA(E2)=E1,所有的n條路徑P1,P2,…,Pn都存在于E1和E2中,同時(shí)End(Pi)=E2(1≤i≤n),我們可以將路徑Pi相對(duì)于E1和E2之間的互補(bǔ)路徑(complementary paths)定義為

        可以寫成

        運(yùn)用補(bǔ)路徑方法對(duì)路徑表達(dá)式進(jìn)行優(yōu)化之后,仍然需要運(yùn)用路徑縮短方法來對(duì)路徑表達(dá)式進(jìn)行更深一步的簡化.在使用補(bǔ)路徑簡化方法中,最重要的問題就是找出查詢路徑所對(duì)應(yīng)的互補(bǔ)路徑,然后估算補(bǔ)路徑的成本,選擇相關(guān)的查詢方法.

        在這個(gè)方法中,通過反向路徑法來對(duì)關(guān)鍵祖先和互補(bǔ)路徑進(jìn)行確定,而確定互補(bǔ)路徑的經(jīng)過使用函數(shù)getCP(E1,E2,P)來代表.接下來,估算所有出現(xiàn)的查詢策略,并篩選出其中代價(jià)最少的執(zhí)行策略.在估算代價(jià)之前,運(yùn)用函數(shù)PS(P)和Cost(P)對(duì)路徑表達(dá)式P進(jìn)行縮短優(yōu)化,從路徑終端實(shí)行補(bǔ)路徑的方法,只要出現(xiàn)比之前代價(jià)小的方法就馬上結(jié)束.如此,對(duì)路徑比較長的表達(dá)式該策略的效益比較高.

        2 XML查詢語言及查詢處理

        2.1 XML查詢語言

        XML已經(jīng)逐漸成為Web上數(shù)據(jù)交換的新標(biāo)準(zhǔn),基于XML數(shù)據(jù)的半結(jié)構(gòu)化,傳統(tǒng)數(shù)據(jù)庫所適用的查詢語言不能再用,需要重新創(chuàng)建合適的查詢語言.XQuery[5.6]擁有多種XML查詢語言的長處,是目前公認(rèn)的XML查詢語言標(biāo)準(zhǔn).而Xpath是XQuery語言的核心部分.

        2.2 Xpath查詢處理

        2.2.1 Xpath表達(dá)式

        下面介紹ISBaXI-I對(duì)涉及上面所提到的XPE路徑查詢方法[7].XPE中有多個(gè)約束謂詞,ISBaXI-I的方法是把XPE劃分成若干個(gè)僅包含一個(gè)謂詞約束的XPE.將劃分之后得到的XPE查詢結(jié)果,作為下一個(gè)XPE計(jì)算的輸入.在查詢中經(jīng)常碰到一階謂詞XPE,它可以映射為XPE-Tree.

        定義6(XPE-Tree) 將XPE映射為XPE-Tree,而XPE最開始的結(jié)點(diǎn)是XPE-Tree的根結(jié)點(diǎn),寫作r.將XPE中的結(jié)點(diǎn)定位標(biāo)志作為樹節(jié)點(diǎn)u的前綴,謂詞作為后綴,n(u)∈E∪A.而根據(jù)u的子結(jié)點(diǎn)在XPE中出現(xiàn)的先后順序定義它們的長幼關(guān)系.

        我們將條件節(jié)點(diǎn)c定義為具有謂詞匹配條件的葉節(jié)點(diǎn);將目標(biāo)節(jié)點(diǎn)t定義為待求葉節(jié)點(diǎn).

        定義7 (XPE-Tree分支節(jié)點(diǎn)) 在XPE-Tree中,如果節(jié)點(diǎn)b∈Ance(c)nAnce(t),同時(shí)?d,d∈Ance(c)nAnce(t),且level(b)≥level(d),那么將b稱作XPE-Tree的分支節(jié)點(diǎn).

        用Irb來表示從節(jié)點(diǎn)r到節(jié)點(diǎn)b的路徑,同理,Ibc表示節(jié)點(diǎn)b到節(jié)點(diǎn)c的路徑,Ibt表示結(jié)點(diǎn)b到結(jié)點(diǎn)t的路徑.

        2.2.2 查詢處理

        查詢處理[8]的方法如下:

        (1)為了降低XML在結(jié)構(gòu)上匹配的復(fù)雜程度,先將XPE-Tree進(jìn)行模式的匹配;

        (2)對(duì)XPE-Tree中的b,c,t的解鎖對(duì)應(yīng)的節(jié)點(diǎn)集進(jìn)行謂詞匹配和兩次路徑連接運(yùn)算,就可以確定在XML中XPE-Tree結(jié)點(diǎn)b,c,t的解.

        對(duì)一階謂詞XPE查詢過程如下:

        首先,對(duì)XPE-Tree進(jìn)行路徑匹配(在模式索引TSM中),對(duì)VSM進(jìn)行判斷.若VSM為空,那么查詢結(jié)束;若VSM不為空,那么令i=1.對(duì)i與|VSM|的大小進(jìn)行比較,如果i>|VSM|,那么結(jié)束查詢過程;如果i<|VSM|,對(duì)vdi對(duì)應(yīng)的(TXML)xn結(jié)點(diǎn)進(jìn)行路徑連接運(yùn)算和謂詞匹配.然后,對(duì)WXML為空進(jìn)行判斷,如果不為空,在模式索引中尋找vdi在TSM中所對(duì)應(yīng)的路徑結(jié)構(gòu),輸出滿足XPE的xn,XML路徑結(jié)構(gòu)和待求節(jié)點(diǎn)values,之后進(jìn)行運(yùn)算i++;如果WXML為空,那么直接令i++.此時(shí)再重新將i與|VSM|的大小進(jìn)行比較,直至VSM為空,或者i>|VSM|,最后結(jié)束查詢.

        3 XML過濾算法

        過濾引擎通過下面的過程實(shí)現(xiàn)過濾功能:首先,為了能夠過濾帶分支路徑的路徑表達(dá)式,將路徑表達(dá)式用不確定性的自動(dòng)機(jī)NFA代替,在這個(gè)自動(dòng)機(jī)中,需要用特殊的標(biāo)記來區(qū)分分支路徑,接著,通過XML Schema將NFA轉(zhuǎn)化成DFA,最終,將若干個(gè)DFA合并成巨大的過濾引擎DFA.

        我們用路徑表達(dá)式來表示自動(dòng)機(jī),如圖2和圖3.圖2表示開始狀態(tài)1經(jīng)過任意元素轉(zhuǎn)移到結(jié)束狀態(tài)2.而我們用//來代表子孫關(guān)系,與(/*)*含義相同,其中,第一個(gè)*表示通配符,而第二個(gè)*表示kleene閉包,表示0或者幾個(gè)/*相連.

        圖2 /*的表達(dá)方式

        Fig. 2Theexpressionof/*

        圖3 //*的表達(dá)方式Fig. 3 The expression of //*

        當(dāng)對(duì)路徑表達(dá)式進(jìn)行簡化之后,將它們形成的DFA集合生成一個(gè)大的DFA,這個(gè)過程類似于在Trie樹中多加一個(gè)串.如果路徑表達(dá)式為p,我們最終合并得到的自動(dòng)機(jī)為A,那么要將p合入到A中生成A’的步驟如下:

        如果自動(dòng)機(jī)A開始的狀態(tài)為q,并且它的第一個(gè)step是p;那么基于A的狀態(tài)q和step的名稱e來對(duì)下一個(gè)狀態(tài)r進(jìn)行查詢.如果r里面是空的,那么形成一個(gè)新的r,此時(shí)q指向r,e為傳遞符號(hào),當(dāng)前的狀態(tài)變?yōu)閞.假設(shè)step有

        分支,那么當(dāng)前狀態(tài)r會(huì)用遞歸法來對(duì)這個(gè)過程進(jìn)行調(diào)用,這個(gè)過程結(jié)束之后會(huì)開始下一個(gè)step,屬性指針會(huì)記錄下屬性謂詞.當(dāng)p沒有分支點(diǎn)時(shí)候,在到達(dá)最終step的時(shí)候,節(jié)點(diǎn)會(huì)呈接受狀態(tài).如果有分支,那么在p的第一個(gè)分支節(jié)點(diǎn),保證該節(jié)點(diǎn)的狀態(tài)是接受狀態(tài),將p的id值添加到該節(jié)點(diǎn)的接受路徑表達(dá)式列表.

        需要注意,要將XML分析完畢同時(shí)找出來所有滿足條件的接受狀態(tài),此時(shí)才能終止DFA.而查詢過程僅僅能夠輸出一次,最終,給滿足條件的用戶傳輸整個(gè)XML文檔.

        4 結(jié)論

        相比于傳統(tǒng)的HMTL,XML的靈活性和擴(kuò)展性都非常好,得到了廣泛的應(yīng)用,成為互聯(lián)網(wǎng)數(shù)據(jù)共享的新標(biāo)準(zhǔn).在XML查詢語言中,最重要的部分就是路徑表達(dá)式.本文提出了兩種優(yōu)化策略:路徑縮短策略和補(bǔ)路徑,極大地縮短了查詢所需的時(shí)間,提高了查詢效率.對(duì)于查詢語言Xpath,它的查詢處理是通過對(duì)XPE-Tree進(jìn)行匹配以及兩次路徑連接運(yùn)算來實(shí)現(xiàn)查詢處理的.XML的過濾系統(tǒng)通過路徑表達(dá)式來進(jìn)行模式和內(nèi)容匹配,在用戶信息輸入系統(tǒng)之后,生成過濾引擎,過濾引擎與數(shù)據(jù)流進(jìn)行匹配,輸出用戶感興趣的信息,以此來完成過濾過程.

        猜你喜歡
        定義優(yōu)化
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
        永遠(yuǎn)不要用“起點(diǎn)”定義自己
        海峽姐妹(2020年9期)2021-01-04 01:35:44
        定義“風(fēng)格”
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        基于低碳物流的公路運(yùn)輸優(yōu)化
        修辭學(xué)的重大定義
        97久久综合区小说区图片区| 少妇精品久久久一区二区三区| 台湾佬自拍偷区亚洲综合| 99福利网| 国产精品久久国产精品久久 | 国产精品国产自线拍免费| 国产一区二区三区18p| 亚洲精品乱码久久久久久不卡| 欧洲成人午夜精品无码区久久| 天天插视频| 免費一级欧美精品| 国产精品一区二区三区四区亚洲| 草草地址线路①屁屁影院成人| 欧美成人精品三级网站| 日韩高清毛片| av一区二区三区高清在线看| 色吧噜噜一区二区三区| 高清破外女出血av毛片| 日韩永久免费无码AV电影| 亚洲av日韩av天堂久久不卡| 久久99精品久久久大学生| 成人黄色网址| 9丨精品国产高清自在线看| 青青草视频在线观看绿色| 精品亚洲麻豆1区2区3区| 国产精品一区二区无线| 无码天堂亚洲国产av麻豆| 99国语激情对白在线观看| 国产suv精品一区二区四| 久久精品国产亚洲精品| 成人国产乱对白在线观看| 亚洲色图专区在线视频| 亚洲熟妇av日韩熟妇在线| 久久狠狠高潮亚洲精品暴力打| 极品人妻少妇一区二区| 日韩黄色大片免费网站| 国产日产亚洲系列最新 | 无码人妻专区免费视频 | 网红尤物泛滥白浆正在播放| 婷婷色香五月综合缴缴情| 亚洲精品久久久久高潮|