欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種網格數(shù)據(jù)庫連接查詢自適應處理方法

文檔序號:6584273閱讀:786來源:國知局

專利名稱::一種網格數(shù)據(jù)庫連接查詢自適應處理方法
技術領域
:本發(fā)明涉及數(shù)據(jù)庫技術中的一種網格數(shù)據(jù)庫連接查詢自適應處理方法,屬于網格數(shù)據(jù)庫連接查詢
技術領域
。
背景技術
:網格是下一代Internet上的計算平臺,它的核心任務是管理分布在Internet廣域環(huán)境中各種類型的軟硬件資源,為基于Internet的分布式應用提供一個統(tǒng)一的、虛擬的共享資源計算平臺。作為網格計算模型的一個重要組成部分,網格上的數(shù)據(jù)管理一直以來是網格研究的一個熱點。目前網格數(shù)據(jù)管理的研究對象主要集中在基于文件的信息資源,很少涉及數(shù)據(jù)庫資源,然而,來自于科學和商業(yè)領域的大量網格應用迫切需要數(shù)據(jù)庫系統(tǒng)的支持,因此如何將數(shù)據(jù)庫資源并入現(xiàn)有的網格架構,滿足更加廣泛的網格應用數(shù)據(jù)管理需求,已經成為一項亟待解決的新課題。網格數(shù)據(jù)庫是將數(shù)據(jù)庫技術和網格技術相結合而形成的一個新的研究內容。目前國內外的研究主要集中在網格環(huán)境下數(shù)據(jù)庫的訪問和集成領域,即如何設計和實現(xiàn)網格應用與數(shù)據(jù)庫系統(tǒng)的統(tǒng)一接口。用戶能夠以數(shù)據(jù)庫無關的方式統(tǒng)一訪問和管理存儲在不同數(shù)據(jù)庫中的數(shù)據(jù),但對網格環(huán)境下分布式查詢的支持很少。隨著符合GGF(GlobalGridForum)標準的Globus工具包[RamanV,NarangI,CroneC,etal.ServicesforDataAccessanDataProcessingonGrids.In:GGFDocumentGFD.14,GlobalGridForum,2003]以及網格數(shù)據(jù)庫接口標準OGSA-DAI(OpenGridServicesArchitecture-DataAccessandIntegration)[AnjomshoaaA,etal.TheDesignandImplementationofGridDatabaseServicesin0GSA-DAI.In-ProceedingsofUKe_ScienceAllHandsMeeting,Nottingham,S印tember2004]的發(fā)展,越來越多的研究關注網格數(shù)據(jù)庫的查詢處理。然而,與傳統(tǒng)分布式數(shù)據(jù)庫不同,在網格數(shù)據(jù)庫中,分布式查詢操作是進行在動態(tài)組成的虛擬數(shù)據(jù)庫之上,每個節(jié)點上的數(shù)據(jù)庫都只包含所需信息的一部分,查詢操作還涉及到數(shù)據(jù)庫異構性、通信開銷等問題,這些都給網格環(huán)境下的分布式查詢處理帶來了新的困難。同時,在網格數(shù)據(jù)庫的查詢處理中還存在著局部代價參數(shù)不可得、不精確、不完全或變化的情況,使得傳統(tǒng)的查詢優(yōu)化技術不能滿足網格數(shù)據(jù)庫的查詢優(yōu)化要求,需要采用適應性的查詢處理AQP(adaptivequeryprocessing),即在查詢執(zhí)行期間,在網格環(huán)境參數(shù)發(fā)生變化的情況下,對查詢計劃中尚未進行的子查詢進行適應性的動態(tài)優(yōu)化調整,以保證最好的效率。經查詢國內外文獻和專利,當前有關網格數(shù)據(jù)庫查詢處理的研究主要有文獻[AlpdemirMN,MukherjeeA,PatonNW,etal.Service-baseddistributedqueryingonthegrid.In:ICSOC2003,F(xiàn)irstInternationalConference,Trento,Italy,Springer,December2003.467482]中提至lj的0GSA-DQP(OpenGridServicesArchitecture-DistributedQueryProcessing)是英國MyGrid項目組在OGSA-DAI的基礎上開發(fā)的分布式查詢處理系統(tǒng)。支持異構數(shù)據(jù)源的集成,并利用并行數(shù)據(jù)庫技術實現(xiàn)復雜查詢的隱性并行化。文獻[ZhouYongluan,OoiBengChin,TanKian-Lee,etal.Anadaptabledistributedqueryprocessingarchitecture.Data&KnowledgeEngineering,To即pear,2005]中提出的SwAP研究了網格環(huán)境參數(shù)的動態(tài)獲取方法,通過設置Eddy進行監(jiān)控,取得相關的工作負載、傳輸速率等信息。文獻[DailH,SievertO,BermanF,etal.Schedulinginthegridapplicationdevelopmentsoftwareproject.In:Gridresourcemanagement:stateoftheartandfuturetrends.KluwerAcademicPublishersGroup,2003]中提出的GrADS以及文獻[ThainD,Ta皿enbaumT,LivnyM.Condorandthegrid.In:GridComputing:MakingtheGlobalInfrastructureaReality,JohnWiley&Sonslnc,2003]中提出的Condor都采用基于DAG的模型描述子查詢計劃,支持子查詢之間的前驅、后繼的依賴關系以及子查詢執(zhí)行的消耗描述。文獻[BlytheJJ,DeelmanS,GilE,etal.Taskschedulingstrategiesforworkflow_basedapplicationsingrids.ClusterComputingandtheGrid,2005.IEEEinternationalSymposiumonMay2005,2:759767]對子查詢在網格中的節(jié)點分配優(yōu)化進行了研究。采用min-min調度算法,考慮局部分配和全局執(zhí)行消耗的影響,將子查詢按照計算任務的處理模式進行啟發(fā)式優(yōu)化調度。在上述石開究中,0GSA-DQP的查詢優(yōu)化是基于Polar*[SmithJ,SampaioS,WatsonP.Thedesign,implementationandevaluationofanodmgCompliant,parallelobjectdatabaseserver.DistributedandParallelDatabases,2004,16(3):275319]并行數(shù)據(jù)庫的靜態(tài)查詢處理引擎實現(xiàn)的,沒有充分考慮網格環(huán)境的動態(tài)特性。而GrADS、Condor以及min-min調度算法將子查詢按照網格中計算任務的處理模式進行建模和適應性的優(yōu)化調度,具有以下不足(1)子查詢和單純的計算任務有所不同。計算任務主要使用節(jié)點的內存、CPU等資源以完成計算,只要能夠滿足計算需求,可以將計算任務調度到任何一個節(jié)點上執(zhí)行;而子查詢主要使用節(jié)點數(shù)據(jù)庫中的數(shù)據(jù)資源,子查詢與節(jié)點之間存在著數(shù)據(jù)關聯(lián)關系,因此子查詢不能像計算任務一樣被任意調度,否則只會降低效率。min-min調度算法則忽略了子查詢與執(zhí)行節(jié)點之間的數(shù)據(jù)關聯(lián)關系。(2)計算任務通常功能性較強,彼此之間相對獨立,數(shù)據(jù)依賴關系簡單;而子查詢本身由全局查詢分解而成,彼此之間的數(shù)據(jù)依賴關系緊密,存在著豐富的關聯(lián)關系。GrADS和Condor中的DAG模型式,對子查詢之間的相互關系描述能力不夠強,不支持子查詢之間的順序、并發(fā)以及其它的關聯(lián)關系描述,因此,對子查詢的自適應性支持力度不足。
發(fā)明內容本發(fā)明針對
背景技術
中網格數(shù)據(jù)庫查詢處理技術存在的缺陷,在充分考慮網格環(huán)境動態(tài)特性的基礎上,提出一種網格數(shù)據(jù)庫連接查詢自適應處理方法。本發(fā)明的網格數(shù)據(jù)庫連接查詢自適應處理方法,依次包括抽樣計算方法、最優(yōu)執(zhí)行路徑獲取方法及查詢流水線動態(tài)調整方法,具體內容如下(—)抽樣計算方法該抽樣計算方法基于如下代價模型公式5CW(尸)maxiW(附(/—l))x丄—1))><邪柳)+曹(&(,)A(,+d)7W(附(0)x丄m(O)—①,Nt(O)=0,s(O)=s(l),s(k+l)=s(k),BW(S丄,S》=,其中P為查詢計劃;i為連接查詢涉及的網格節(jié)點編號;k為連接查詢涉及的網格節(jié)點總數(shù);Nt表示處理階段的查詢選擇度;BW表示網格節(jié)點之間的網絡帶寬;L為單個元組的存儲空間大?。籔C表示網格節(jié)點對單個輸入元組的連接處理代價;S表示網格節(jié)點;S(O為映射函數(shù),表示把給定的位置映射到相應關系表所處網格節(jié)點的id;m()為映射函數(shù),表示把給定的位置映射到連接柵格中的對應結點標識,即m(position)—T。(1)T。(2)...T。(p。siti。n);o()為映射函數(shù),表示把給定的位置映射到相應的關系表id;①表示空值;T表示關系表,各關系表的位置為其在查詢計劃P中的處理次序;下同;抽樣計算方法的步驟如下(1)獲取抽樣信息,包括當前執(zhí)行路徑上的各處理階段的查詢選擇度Nt、各網格節(jié)點對單個輸入元組的連接處理代價PC及各網格節(jié)點之間的網絡帶寬BW;(2)根據(jù)步驟(1)得到的抽樣信息,更新各網格節(jié)點對單個輸入元組的連接處理代價PC;(3)根據(jù)步驟(1)得到的抽樣信息,更新各網格節(jié)點之間的網絡帶寬BW;(4)根據(jù)步驟(1)得到的抽樣信息,更新連接柵格中各個處理階段的查詢選擇度Nt:對于當前執(zhí)行路徑上的Nt值,則直接獲得更新;對于不在當前執(zhí)行路徑上的Nt值,按以下步驟獲得更新①設置布爾型變量flag為FALSE;②遍歷連接柵格中的每個結點,當當前訪問的結點及其所依賴的各結點的Nt值中有且僅有一個未被更新時,則依照元組貢獻依賴表相應公式計算更新該Nt值,并將布爾型變量flag置為TRUE;③當布爾型變量flag為TRUE時,轉到步驟①繼續(xù)執(zhí)行;當所有結點都訪問完,布爾型變量flag為FALSE時,則更新結束;(5)根據(jù)步驟(2)、(3)、(4)得到的更新后的Nt值、BW值和PC值,依據(jù)代價模型公式對連接柵格中各候選查詢計劃中各階段的處理代價進行重新計算;(二)最優(yōu)執(zhí)行路徑獲取方法最優(yōu)執(zhí)行路徑,即最小最大流路徑,亦即連接處理代價最小的執(zhí)行路徑,經過方法(一)的計算后,連接柵格構成了一個具有權值的連通圖,記為D(x,y);輸入連通圖D(x,y)輸出從x到y(tǒng)之間的一條最小最大流路徑,X為起始結點,y為終結點步驟如下(1)將各個結點的min值初始化為①;(2)新建一個空的隊列Q,將起始結點x放入隊列Q,并給起始結點x增加標號(_,O),且置min(x)=0;(3)當隊列Q為空,轉到步驟(7);當隊列Q非空,取出隊列Q中的首個元素u;(4)當u二y,轉到步驟(5);當u#y,依次處理u的上層結點t:當t的最后一個下層結點不為U,轉到步驟(5);當t的最后一個下層結點為U,將t加入隊列Q;(5)當u二x,轉到步驟(3);當u#x,依次處理u的下層結點v:當w(u,v)>min(v),置m=w(u,v);當w(u,v)《min(v),置m=min(v);函數(shù)w()表示取權值;(6)給u增加標號(v,m),當m<min(u),置min(u)=m,轉到步驟(3);(7)從終結點y開始依次向下尋找標號最小的結點直至起始結點x,則這條路徑即為所要尋找的最優(yōu)執(zhí)行路徑;(三)查詢流水線動態(tài)調整方法若方法(二)獲得的最優(yōu)執(zhí)行路徑不是當前執(zhí)行路徑,則按如下步驟進行查詢流水線動態(tài)調整(1)查找當前執(zhí)行路徑與方法(二)得到的最優(yōu)執(zhí)行路徑在前部分是否存在公共流水管道,即從起始處理節(jié)點開始依次經過的網格節(jié)點是否都相同,并以此確定流水線阻斷的位置若存在公共流水管道,則流水線阻斷的位置為公共流水管道的最后一個網格節(jié)點處;若不存在公共流水管道,則流水線阻斷的位置為起始處理節(jié)點處;(2)在步驟(1)得到的流水線阻斷位置斷開流水,直至上層流水全部完成;(3)依據(jù)方法(二)得到的最優(yōu)執(zhí)行路徑,在流水線阻斷位置依次調整流水的輸入路徑,逐步重新建立起處理流水線。本發(fā)明是一種基于流水線并行處理的網格數(shù)據(jù)庫連接查詢自適應處理方法,該方法充分考慮了網格數(shù)據(jù)庫所處網格環(huán)境的動態(tài)特性,對查詢處理代價的估算精度高,查詢計劃的動態(tài)調整及時準確,可以有效提高查詢處理的效率。通過該方法在網格數(shù)據(jù)庫原型系統(tǒng)NHGridDB中的實現(xiàn)及在TPC-D數(shù)據(jù)集上的相應實驗(實驗采用的連接查詢來自于IBM用于DB2UDB優(yōu)化測試的用例),結果表明本發(fā)明方法的處理效率較靜態(tài)流水線處理方法提高了15%30%。圖1是本發(fā)明的方法流程圖。圖2(0)是連接查詢實例的關系表連接關系示意圖;圖2(1)(3)是以1\為起始表的候選查詢計劃示意圖。圖3是連接查詢實例以1\為起始表的連接柵格示意圖。圖4是查詢選擇度Nt的抽樣計算實例示意圖。圖5是最優(yōu)執(zhí)行路徑獲取方法的執(zhí)行過程實例示意圖。圖6是查詢流水線動態(tài)調整實例示意圖。圖7是在調整因子|3取不同值時,本發(fā)明方法較靜態(tài)流水線處理方法處理效率提高情況的實驗示意圖。圖8是在數(shù)據(jù)集SF值取不同值時,本發(fā)明方法較靜態(tài)流水線處理方法處理效率提高情況的實驗示意圖。具體實施例方式在網格數(shù)據(jù)庫中,用戶提交的查詢通常是連接查詢,且連接查詢涉及的多個關系表被存放在不同的節(jié)點上??紤]到網格環(huán)境中各個節(jié)點是獨立工作的,為了減少查詢處理7的時間,采用流水線方式進行并行處理,即按照某個處理順序(查詢執(zhí)行計劃),起始節(jié)點不斷地將該節(jié)點的數(shù)據(jù)發(fā)送至其上層節(jié)點;上層節(jié)點將接收到的數(shù)據(jù)與本地數(shù)據(jù)做連接處理,并將所得處理結果再不斷地向其上層節(jié)點發(fā)送。以上過程持續(xù)至最上層節(jié)點,最上層節(jié)點直接將處理結果返回給用戶。對于網格數(shù)據(jù)庫中的連接查詢,通常存在多個候選查詢計劃。為了在查詢處理過程中給查詢計劃的自適應調整提供依據(jù),需要計算比較各候選查詢計劃基于流水線并行處理的代價,那么,就需要考慮節(jié)點之間傳送中間處理結果的通信代價以及節(jié)點上進行連接操作的處理代價。對于節(jié)點之間傳送中間處理結果的通信代價,必須對查詢執(zhí)行計劃中各階段的查詢選擇度進行估計,我們參照文獻[MishraC,KoudasN.JoinReorderingbyJoinSimulation.In-Proceedingsofthe2009IEEEInternationalConferenceonDataEngineering.Washington,DC,USA:IEEEComputerSociety,2009.493504]中提出的查詢選擇度估計方法,引入柵格(lattice)和元組貢獻依賴表(TupleContributionD印endencyTables)的概念,為每個連接查詢建立相應的連接柵格,然后根據(jù)柵格推出元組貢獻依賴表,即查詢選擇度的估計公式。連接柵格包含了給定起始表情況下的所有候選查詢計劃。由于網格環(huán)境下各節(jié)點是獨立并行工作的,因此,各候選查詢計劃基于流水線并行處理的代價是查詢執(zhí)行路徑中各流水階段處理代價的最大值,即所謂的"瓶頸"。各流水階段的處理代價包括對輸入元組的接收代價、對輸入元組的處理代價及將結果元組向上層流水發(fā)送的代價。根據(jù)圖1,本發(fā)明的網格數(shù)據(jù)庫連接查詢自適應處理方法依次包括抽樣計算方法、最優(yōu)執(zhí)行路徑獲取方法及查詢流水線動態(tài)調整方法,具體內容如下(—)抽樣計算方法該抽樣計算方法基于如下代價模型公式max<formula>formulaseeoriginaldocumentpage8</formula>m(0)—①,Nt(O)=0,s(0)=s(l),s(k+l)=s(k),BW(S丄,S》=,其中P為查詢計劃;i為連接查詢涉及的網格節(jié)點編號;k為連接查詢涉及的網格節(jié)點總數(shù);Nt表示處理階段的查詢選擇度;BW表示網格節(jié)點之間的網絡帶寬,如節(jié)點Si和Sj之間的網絡帶寬記為BW(Si,Sj);L為單個元組的存儲空間大?。籔C表示網格節(jié)點對單個輸入元組的連接處理代價,如節(jié)點Si處理單個輸入元組的連接處理代價記為PC(S》;S表示網格節(jié)點;S(O為映射函數(shù),表示把給定的位置映射到相應關系表所處網格節(jié)點的id;m()為映射函數(shù),表示把給定的位置映射到連接柵格中的對應結點標識,即imposition)—T。(1)T。(2)...T。(p。siti。n),這里關系表排列不分先后;o()為映射函數(shù),表示把給定的位置映射到相應的關系表id,查詢計劃P則表示為相應的查詢計劃執(zhí)行路徑,即關系表的執(zhí)行序列T。(1),T。(2),...,T。(k);①表示空值;柵格即為文獻[MishraC,KoudasN.JoinReorderingbyjoinSimulation.In-Proceedingsofthe2009IEEEInternationalConferenceonDataEngineering.Washington,DC,USA:IEEEComputerSociety,2009.493504]中l(wèi)attice的概念;T表示關系表,各關系表的位置為其在查詢計劃P中的處理次序,起始表的位置為l,依次往上累加;下同;抽樣計算方法的步驟如下(1)獲取抽樣信息,包括當前執(zhí)行路徑上的各處理階段的查詢選擇度Nt、各網格節(jié)點對單個輸入元組的連接處理代價PC及各網格節(jié)點之間的網絡帶寬BW;(2)根據(jù)步驟(1)得到的抽樣信息,更新各網格節(jié)點對單個輸入元組的連接處理代價PC;各節(jié)點PC值可以認為與當前獲取的該節(jié)點的PC值相同或做微小波動,這是因為在流水線處理粒度(各網格節(jié)點在進行連接處理時一次性處理的輸入元組數(shù))一定的情況下,PC值主要與該節(jié)點上參與連接的關系表的大小有關,而該節(jié)點上參與連接的關系表沒變;(3)根據(jù)步驟(1)得到的抽樣信息,更新各網格節(jié)點之間的網絡帶寬BW;如果兩網格節(jié)點之間的BW值不在獲取的抽樣信息中,可以通過請求獲得;(4)根據(jù)步驟(1)得到的抽樣信息,更新連接柵格中各個處理階段的查詢選擇度Nt:對于當前執(zhí)行路徑上的Nt值,則直接獲得更新;對于不在當前執(zhí)行路徑上的Nt值,按以下步驟獲得更新①設置布爾型變量flag為FALSE;②遍歷連接柵格中的每個結點,當當前訪問的結點及其所依賴的各結點的Nt值中有且僅有一個未被更新時,則依照元組貢獻依賴表相應公式計算更新該Nt值,并將布爾型變量flag置為TRUE;所述元組貢獻依賴表艮卩為文獻[MishraC,KoudasN.JoinReorderingbyJoinSimulation.In-Proceedingsofthe2009IEEEInternationalConferenceonDataEngineering.Washington,DC,USA:IEEEComputerSociety,2009.493504]中TupleContributionDependencyTables的概念;③當布爾型變量flag為TRUE時,轉到步驟①繼續(xù)執(zhí)行;當所有結點都訪問完,布爾型變量flag為FALSE時,則更新結束;(5)根據(jù)步驟(2)、(3)、(4)得到的更新后的Nt值、BW值和PC值,依據(jù)代價模型公式對連接柵格中各候選查詢計劃中各階段的處理代價進行重新計算;[OO73](二)最優(yōu)執(zhí)行路徑獲取方法(標號算法)最優(yōu)執(zhí)行路徑,即最小最大流路徑,亦即連接處理代價最小的執(zhí)行路徑,經過方法(一)抽樣計算過程后,我們得到了連接柵格中各候選查詢計劃各階段的處理代價,下面需要尋找一條效率最優(yōu)的執(zhí)行路徑,而此時的連接柵格構成了一個具有權值的簡單連通圖,將該連通圖記為D(x,y);輸入連通圖D(x,y)輸出從x到y(tǒng)之間的一條最小最大流路徑,X為起始結點,y為終結點步驟如下(1)將各個結點的min值初始化為①;(2)新建一個空的隊列Q,將起始結點x放入隊列Q,并給起始結點x增加標號(_,O),且置min(x)=0;(3)當隊列Q為空,轉到步驟(7);當隊列Q非空,取出隊列Q中的首個元素u;(4)當u二y,轉到步驟(5);當u^y,依次處理u的上層結點t:當t的最后一個下層結點不為U,轉到步驟(5);當f的最后一個下層結點為U,將t加入隊列Q;(5)當u=x,轉到步驟(3);當u#x,依次處理u的下層結點v:當w(u,v)>min(v),置m=w(u,v);當w(u,v)《min(v),置m=in(v);函數(shù)w()表示取權值,w(u,v)表示相鄰結點u、v之間的處理代價;(6)給u增加標號(v,m),當m<min(u),置min(u)=m,轉到步驟(3);(7)從終結點y開始依次向下尋找標號最小的結點直至起始結點x,則這條路徑即為所要尋找的最優(yōu)執(zhí)行路徑;(三)查詢流水線動態(tài)調整方法,在方法(二)獲取到當前最優(yōu)執(zhí)行路徑后,如果得到的最優(yōu)執(zhí)行路徑不是當前正在執(zhí)行的路徑,那么就需要對查詢計劃進行調整,步驟如下(1)查找當前執(zhí)行路徑與方法(二)得到的最優(yōu)執(zhí)行路徑在前部分是否存在公共流水管道,即從起始處理節(jié)點開始依次經過的網格節(jié)點是否都相同,并以此確定流水線阻斷的位置若存在公共流水管道,則流水線阻斷的位置為公共流水管道的最后一個網格節(jié)點處;若不存在公共流水管道,則流水線阻斷的位置為起始處理節(jié)點處;(2)在步驟(1)得到的流水線阻斷位置斷開流水,直至上層流水全部完成;(3)依據(jù)方法(二)得到的最優(yōu)執(zhí)行路徑,在流水線阻斷位置依次調整流水的輸入路徑,逐步重新建立起處理流水線。顯然,流水線的阻斷和重新建立需要消耗額外的代價,因此在查詢處理的過程中不能頻繁地調整流水,因此,設定調整因子13,當存在其他執(zhí)行路徑比當前執(zhí)行路徑的效率更優(yōu)且偏差大于等于P時,再進行查詢流水線的調整。調整因子P需要通過數(shù)據(jù)集實驗獲得。圖7所示是在調整因子|3取不同值時,本發(fā)明方法較靜態(tài)流水線處理方法處理效率提高情況的實驗示意圖;圖8所示是在數(shù)據(jù)集SF值取不同值時,本發(fā)明方法較靜態(tài)流水線處理方法處理效率提高情況的實驗示意圖。為方便描述,我們假定有如下連接查詢實例JQ:SELECT1\.a,T2.b,T3.cFROM1\,T2,T3,T4WHERE1\.a=T2.aANDT2.b=T3.bAND1\.c=T4.c,關系表連接關系如圖2(0)所示,關系表VT2、T3、T4分別存儲于節(jié)點S2、S3、S4上,則以1\表為起始表的候選查詢計劃如圖2(1)(3)所示,進而可以得到如圖3所示的連接柵格,相應的元組貢獻依賴表如下Nt1NtOvr2)It(T/T2)e(t(T;)IX]T2)1NtOvr4)ItCTjtxiXj麵1\1^3)|1肌)[><]13|Nt(l\T2T3)St(T,T2)NtB(HT3)Nt(1\T2T4)Nt(1\T2)XNt(1\T4)Nt(1\T2T3T4)Nt(1\T2T3)XNt(1\T4)在圖3所示的連接柵格中任意選擇其中一條路徑作為執(zhí)行路徑,即如圖4加黑部分所示的抽樣實例。對于圖4(1),在執(zhí)行過程中可以抽樣獲得NtOVr2)、Nt(1\T2T3)、Nt(1\T2T3T4),那么,依據(jù)上述的元組貢獻依賴表,Nt(1\T2T3T4)除以Nt(1\T2T3)則為Nt(1\T4),進而Nt(1\T4)乘以Nt(1\T2)則可以得到Nt(1\T2T4);同理,對于圖4(2),在執(zhí)行過程中可以抽樣獲得Nt(n)、Nt(m)、Ntdm),那么Nt(m)除以Nt(n)則為Nt(1\T4),進而Nt(1\T2T3T4)除以Nt(1\T4)則可以得到Nt(1\T2T3)。整個抽樣計算過程沒有消耗額外的連接處理代價,因此對查詢處理的效率沒有影響。下面以圖5來說明本發(fā)明中最優(yōu)執(zhí)行路徑的獲取方法(標號算法)如圖5(1)所示連通圖D(a,f),其中a為起始結點,f為結束結點,線段之間的數(shù)值為通過抽樣計算所得的相應查詢計劃各階段的處理代價。圖5(2)給出了針對圖5(1)所示情況采用標號算法獲取最優(yōu)執(zhí)行路徑的過程以及執(zhí)行結果,圖中加黑部分即為得到的最優(yōu)執(zhí)行路徑a-b-d-f。下面以圖6所示的例子來說明查詢流水線的動態(tài)調整方法圖6(1)相對圖5(1)的不同在于e-f邊的權值由11變?yōu)榱?,而此時的最優(yōu)路徑也因此發(fā)生了變化(圖6(2)中加黑部分a-b-e-f)??梢钥闯?,新得到的最優(yōu)路徑與當前正在執(zhí)行的路徑在前部分存在公共的流水管道a-b段(圖6(2)中加黑加粗部分)。因此,不需要完全斷開整個流水線,可以從b處斷開流水直至上層b-d-f流水完成,然后從b處向上依次重新調整流水的輸入路徑,再次逐步建立起處理流水線。像這樣采用流水線的復用技術,可以節(jié)省復用部分流水線因阻斷和重新建立所消耗的額外代價,當然,獲取到的最優(yōu)路徑與當前正在執(zhí)行的路徑也可能不存在可復用部分,那么此時查詢計劃的調整就需要斷開整個流水線,即從起始節(jié)點處斷開流水。權利要求一種網格數(shù)據(jù)庫連接查詢自適應處理方法,其特征在于依次包括抽樣計算方法、最優(yōu)執(zhí)行路徑獲取方法及查詢流水線動態(tài)調整方法,具體內容如下(一)抽樣計算方法該抽樣計算方法基于如下代價模型公式<mrow><mi>Cost</mi><mrow><mo>(</mo><mi>P</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>max</mi><mrow><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mi>k</mi></mrow></munder><mo>[</mo><mfrac><mrow><mi>Nt</mi><mrow><mo>(</mo><mi>m</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>&times;</mo><mi>L</mi></mrow><mrow><mi>BW</mi><mrow><mo>(</mo><msub><mi>S</mi><mrow><mi>s</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>,</mo><msub><mi>S</mi><mrow><mi>s</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><mi>Nt</mi><mrow><mo>(</mo><mi>m</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>&times;</mo><mi>PC</mi><mrow><mo>(</mo><msub><mi>S</mi><mrow><mi>s</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>)</mo></mrow><mo>+</mo><mfrac><mrow><mi>Nt</mi><mrow><mo>(</mo><mi>m</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>&times;</mo><mi>L</mi></mrow><mrow><mi>BW</mi><mrow><mo>(</mo><msub><mi>S</mi><mrow><mi>s</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>,</mo><msub><mi>S</mi><mrow><mi>s</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>)</mo></mrow></mrow></mfrac><mo>]</mo></mrow>m(0)→Φ,Nt(Φ)=0,s(0)=s(1),s(k+1)=s(k),BW(Si,Si)=∞,其中P為查詢計劃;i為連接查詢涉及的網格節(jié)點編號;k為連接查詢涉及的網格節(jié)點總數(shù);Nt表示處理階段的查詢選擇度;BW表示網格節(jié)點之間的網絡帶寬;L為單個元組的存儲空間大??;PC表示網格節(jié)點對單個輸入元組的連接處理代價;S表示網格節(jié)點;s(·)為映射函數(shù),表示把給定的位置映射到相應關系表所處網格節(jié)點的id;m(·)為映射函數(shù),表示把給定的位置映射到連接柵格中的對應結點標識,即m(position)→To(1)To(2)...To(position);o(·)為映射函數(shù),表示把給定的位置映射到相應的關系表id;Φ表示空值;T表示關系表,各關系表的位置為其在查詢計劃P中的處理次序;下同;抽樣計算方法的步驟如下(1)獲取抽樣信息,包括當前執(zhí)行路徑上的各處理階段的查詢選擇度Nt、各網格節(jié)點對單個輸入元組的連接處理代價PC及各網格節(jié)點之間的網絡帶寬BW;(2)根據(jù)步驟(1)得到的抽樣信息,更新各網格節(jié)點對單個輸入元組的連接處理代價PC;(3)根據(jù)步驟(1)得到的抽樣信息,更新各網格節(jié)點之間的網絡帶寬BW;(4)根據(jù)步驟(1)得到的抽樣信息,更新連接柵格中各個處理階段的查詢選擇度Nt對于當前執(zhí)行路徑上的Nt值,則直接獲得更新;對于不在當前執(zhí)行路徑上的Nt值,按以下步驟獲得更新①設置布爾型變量flag為FALSE;②遍歷連接柵格中的每個結點,當當前訪問的結點及其所依賴的各結點的Nt值中有且僅有一個未被更新時,則依照元組貢獻依賴表相應公式計算更新該Nt值,并將布爾型變量flag置為TRUE;③當布爾型變量flag為TRUE時,轉到步驟①繼續(xù)執(zhí)行;當所有結點都訪問完,布爾型變量flag為FALSE時,則更新結束;(5)根據(jù)步驟(2)、(3)、(4)得到的更新后的Nt值、BW值和PC值,依據(jù)代價模型公式對連接柵格中各候選查詢計劃中各階段的處理代價進行重新計算;(二)最優(yōu)執(zhí)行路徑獲取方法最優(yōu)執(zhí)行路徑,即最小最大流路徑,亦即連接處理代價最小的執(zhí)行路徑,經過方法(一)的計算后,連接柵格構成了一個具有權值的連通圖,記為D(x,y);輸入連通圖D(x,y)輸出從x到y(tǒng)之間的一條最小最大流路徑,x為起始結點,y為終結點步驟如下(1)將各個結點的min值初始化為∞;(2)新建一個空的隊列Q,將起始結點x放入隊列Q,并給起始結點x增加標號(-,0),且置min(x)=0;(3)當隊列Q為空,轉到步驟(7);當隊列Q非空,取出隊列Q中的首個元素u;(4)當u=y(tǒng),轉到步驟(5);當u≠y,依次處理u的上層結點t當t的最后一個下層結點不為u,轉到步驟(5);當t的最后一個下層結點為u,將t加入隊列Q;(5)當u=x,轉到步驟(3);當u≠x,依次處理u的下層結點v當w(u,v)>min(v),置m=w(u,v);當w(u,v)≤min(v),置m=min(v);函數(shù)w(·)表示取權值;(6)給u增加標號(v,m),當m<min(u),置min(u)=m,轉到步驟(3);(7)從終結點y開始依次向下尋找標號最小的結點直至起始結點x,則這條路徑即為所要尋找的最優(yōu)執(zhí)行路徑;(三)查詢流水線動態(tài)調整方法若方法(二)獲得的最優(yōu)執(zhí)行路徑不是當前執(zhí)行路徑,則按如下步驟進行查詢流水線動態(tài)調整(1)查找當前執(zhí)行路徑與方法(二)得到的最優(yōu)執(zhí)行路徑在前部分是否存在公共流水管道,即從起始處理節(jié)點開始依次經過的網格節(jié)點是否都相同,并以此確定流水線阻斷的位置若存在公共流水管道,則流水線阻斷的位置為公共流水管道的最后一個網格節(jié)點處;若不存在公共流水管道,則流水線阻斷的位置為起始處理節(jié)點處;(2)在步驟(1)得到的流水線阻斷位置斷開流水,直至上層流水全部完成;(3)依據(jù)方法(二)得到的最優(yōu)執(zhí)行路徑,在流水線阻斷位置依次調整流水的輸入路徑,逐步重新建立起處理流水線。2.根據(jù)權利要求1所述的網格數(shù)據(jù)庫連接查詢自適應處理方法,其特征在于所述查詢計劃P表示為關系表的執(zhí)行序列T。(d,T。(2),...,T。(k);其中T、0(O、k的定義同權利要求l。全文摘要本發(fā)明涉及一種網格數(shù)據(jù)庫連接查詢自適應處理方法,屬于網格數(shù)據(jù)庫連接查詢
技術領域
。該方法依次包括抽樣計算方法、最優(yōu)執(zhí)行路徑獲取方法及查詢流水線動態(tài)調整方法三部分。抽樣計算方法是基于代價模型公式,實現(xiàn)對查詢選擇度、節(jié)點間的網絡帶寬及節(jié)點對單個元組的處理代價值的更新,并計算更新各候選計劃各階段的處理代價;在最優(yōu)執(zhí)行路徑獲取法中,根據(jù)柵格構成的連通圖找出起始點到終點間的最小最大流路徑(最優(yōu)執(zhí)行路徑);若最優(yōu)執(zhí)行路徑非當前執(zhí)行路徑,則通過查詢流水線動態(tài)調整法對查詢計劃進行調整。本發(fā)明充分考慮了網格數(shù)據(jù)庫所處網格環(huán)境的動態(tài)特性,對查詢處理代價估算精度高,查詢計劃的調整及時準確,有效提高了查詢處理效率。文檔編號G06F17/30GK101739451SQ20091023263公開日2010年6月16日申請日期2009年12月3日優(yōu)先權日2009年12月3日發(fā)明者劉亮,吳浩,秦小麟申請人:南京航空航天大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
会东县| 揭阳市| 永福县| 时尚| 天峻县| 九江县| 西林县| 松桃| 济源市| 长白| 灌阳县| 双江| 虎林市| 湟中县| 泗洪县| 定南县| 施秉县| 阿瓦提县| 大化| 科尔| 弥勒县| 左权县| 于田县| 阳东县| 确山县| 和硕县| 龙海市| 肇东市| 于都县| 分宜县| 育儿| 凌源市| 博客| 内黄县| 治县。| 沁源县| 塔河县| 孙吴县| 临安市| 昔阳县| 安达市|