本發(fā)明涉及數(shù)據(jù)計算,特別涉及一種大規(guī)模數(shù)據(jù)處理平臺的構(gòu)建方法。
背景技術(shù):
云計算技術(shù)擁有分布式計算,超大規(guī)模,虛擬化,高可靠性,高彈性,可擴(kuò)展,按需服務(wù)等特點(diǎn),能夠?yàn)榇髷?shù)據(jù)處理提供更為高效的分析以及更好的計算能力。針對大數(shù)據(jù)處理中的數(shù)以億計的小文件處理,需要分布式存儲系統(tǒng)和索引系統(tǒng)來為網(wǎng)頁和郵件等文件提供存儲支持。隨著大量小文本文件處理的應(yīng)用需求,不同信息系統(tǒng)中存在著大量異構(gòu)數(shù)據(jù)源;數(shù)據(jù)缺乏統(tǒng)一的規(guī)范化組織方法;在某些領(lǐng)域,大量小文本文件難以有效分析和高效存儲與檢索。
技術(shù)實(shí)現(xiàn)要素:
為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種大規(guī)模數(shù)據(jù)處理平臺的構(gòu)建方法,包括:
在mapreduce模型增加多個預(yù)處理負(fù)載節(jié)點(diǎn);
通過xml標(biāo)記數(shù)據(jù)的信息及map過程中的多值處理,實(shí)現(xiàn)數(shù)據(jù)處理的操作;
在云存儲資源中采用狀態(tài)轉(zhuǎn)移和動態(tài)規(guī)劃機(jī)制對負(fù)載平衡進(jìn)行優(yōu)化。
優(yōu)選地,所述這些負(fù)載節(jié)點(diǎn)執(zhí)行的任務(wù)是由主節(jié)點(diǎn)在執(zhí)行map任務(wù)以前所派發(fā)的任務(wù)中的子任務(wù),然后把用戶約束關(guān)系進(jìn)行預(yù)處理;用戶將具有約束關(guān)系的處理請求提交給主節(jié)點(diǎn),主節(jié)點(diǎn)根據(jù)任務(wù)請求動態(tài)生成描述該約束關(guān)系的xml文件,任務(wù)分割后,讀取xml文件中的多值映射關(guān)系,當(dāng)單個map任務(wù)開始時,分析輸入的文件并產(chǎn)生一對多關(guān)系的鍵值對,用戶對鍵值對進(jìn)行任意的操作;完成后則重新收集自定義的鍵值對,將數(shù)據(jù)處理的約束關(guān)系處理完畢,然后再開始mapreduce調(diào)度的map過程和reduce過程。
優(yōu)選地,所述在云存儲資源中采用動態(tài)規(guī)劃機(jī)制對負(fù)載平衡進(jìn)行優(yōu)化,進(jìn)一步包括:
用cdata={1,2,...m}表示云存儲中所有存儲數(shù)據(jù)塊的集合;、k∈cdata表示第k組存儲數(shù)據(jù),m為需分配的云存儲中存儲數(shù)據(jù)的總組數(shù);記云存儲平臺中第i個存儲節(jié)點(diǎn)獲得組存儲資源的存儲效率為l(u(i),i);將云存儲資源優(yōu)化分配問題表達(dá)為求解
(1)初始化過程中,將cdata中的數(shù)據(jù)按照一致性散列分布策略,分為m組數(shù)據(jù),存儲節(jié)點(diǎn)虛擬化為n個存儲節(jié)點(diǎn),初始化存儲節(jié)點(diǎn)的存儲效率值e和負(fù)載能力c;設(shè)置階段計數(shù)器i;
(2)根據(jù)虛擬化的存儲節(jié)點(diǎn)個數(shù),把此資源分配過程分為n個階段;確定狀態(tài)變量x(i+1),表示分配1至i個存儲節(jié)點(diǎn)后剩余的數(shù)據(jù);
(3)x(i)以一定的步長遍歷其取值區(qū)間[u(i)min,u(i)max],計算將剩余資源x(i)分配給第i個存儲節(jié)點(diǎn)之后的n-i個存儲節(jié)點(diǎn)的最大存儲效率v(x(i),i),同時將相關(guān)數(shù)據(jù)記錄在數(shù)據(jù)集合notedata[i]{x(i),u(i),v(x(i),i)}中;
(4)當(dāng)i=n時,根據(jù)第n個存儲節(jié)點(diǎn)的負(fù)載能力c和存儲效率e進(jìn)行數(shù)據(jù)分配,u(n)<=cn;
利用狀態(tài)轉(zhuǎn)移方程:x(i+1)=x(i)-u(i)
和動態(tài)規(guī)劃方程v(x(i),i)=maxu(i)∈u(x(i)){l(u(i),i),+v(x(i+1),i+1)},i=n-1,2,…,1
v(x(n),n)=l(x(n),n)
推出各個階段的最優(yōu)值,分配過程中根據(jù)每個階段的存儲節(jié)點(diǎn)的負(fù)載能力ci確定決策變量u(i)的邊界值;
(5)遞歸計算求得最優(yōu)決策序列notedata(u(1),u(2),...,u(n)),若
本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
本發(fā)明提出了一種大規(guī)模數(shù)據(jù)處理平臺的構(gòu)建方法,基于改進(jìn)的分布式處理架構(gòu)將來自不同異構(gòu)源的多種小文件進(jìn)行統(tǒng)一規(guī)范組織,便于高效存儲、分析與檢索。
附圖說明
圖1是根據(jù)本發(fā)明實(shí)施例的大規(guī)模數(shù)據(jù)處理平臺的構(gòu)建方法的流程圖。
具體實(shí)施方式
下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
本發(fā)明的一方面提供了一種大規(guī)模數(shù)據(jù)處理平臺的構(gòu)建方法。圖1是根據(jù)本發(fā)明實(shí)施例的大規(guī)模數(shù)據(jù)處理平臺的構(gòu)建方法流程圖。
本發(fā)明通過文件分類,建立索引結(jié)構(gòu),并基于權(quán)值相似度文件合并成大文件以在云計算環(huán)境下處理。在對小文本文件進(jìn)行分類時,利用mapreduce描述k近鄰分類過程,同時,在k近鄰中加入特征向量比較,順序重新構(gòu)造兩個特征詞相同的特征向量。針對文檔檢索過程中的復(fù)雜處理及內(nèi)容映射關(guān)系,基于xml和多值的改進(jìn)mapreduce模型。通過xml標(biāo)記數(shù)據(jù)的內(nèi)容,坐標(biāo),操作等信息,進(jìn)行數(shù)據(jù)復(fù)雜處理。數(shù)據(jù)的內(nèi)容一般具有映射關(guān)系,通過xml標(biāo)記及map過程中的多值處理,實(shí)現(xiàn)數(shù)據(jù)處理的操作。
首先,按文檔格式進(jìn)行初次分類。對于分類后的文本文檔,根據(jù)基于mapreduce和特征向量減少的改進(jìn)k近鄰分類方法進(jìn)行分類。然后合并統(tǒng)一類別的小文本文件,生成大文件。。將小文本文件按照時間順序?qū)懭氪笪募?,然后將大文件的名字、副本、位置信息寫入名字?jié)點(diǎn),將內(nèi)容寫入datanode。
在k近鄰算法中加入傳統(tǒng)的特征向量的比較方法,先找出兩個原始特征向量之間相同的詞及其權(quán)重,按照相同特征詞的順序重新構(gòu)造兩個特征詞都相同的特征向量,再利用特征詞對應(yīng)的權(quán)重向量來計算這兩個特征向量之間的相似度。
方法描述如下:對訓(xùn)練集中的所有文本進(jìn)行預(yù)處理,生成鍵值對形式的特征向量;
步驟1.歸一化輸入的文本的特征向量t和訓(xùn)練樣本的特征向量集et;并計算出t、et中相同的特征詞;
步驟2.把相同的特征詞和對應(yīng)的權(quán)值提取出來組成新的向量nt、net;
步驟3.應(yīng)用mapreduce進(jìn)行相似度計算。計算兩個特征向量的權(quán)值組成的一元向量之間的相似度sim(t,x);
步驟4.mapreduce對計算的文本的相似度計算結(jié)果進(jìn)行排序;
步驟5.取出相似度最高的k個文本;把這k個文本的相似度按類別累加;
步驟6.取相似度最大值si以及對應(yīng)的類別ci;
步驟7.若si大于預(yù)定義相似度閾值,則標(biāo)識該文本屬于ci類。
在索引結(jié)構(gòu)方面,以k維空間數(shù)據(jù)集劃分的樹構(gòu)建整個樹形結(jié)構(gòu)的主干,判斷k維樹是否為空,若為空則直接作為根節(jié)點(diǎn)。否則比較該點(diǎn)與k維樹根節(jié)點(diǎn)相應(yīng)維的值的大小關(guān)系,進(jìn)入其左、右子樹進(jìn)行下一步操作;若該點(diǎn)小于根節(jié)點(diǎn)相應(yīng)維的值,則進(jìn)入左子樹進(jìn)行查找操作直至某個節(jié)點(diǎn)的左子樹或右子樹為空。則將該點(diǎn)插入作為其葉子節(jié)點(diǎn);若該點(diǎn)大于根節(jié)點(diǎn)相應(yīng)維的值,則進(jìn)入右子樹進(jìn)行插入操作。然后,在該k維樹的葉子節(jié)點(diǎn)上加載位置敏感散列結(jié)構(gòu),即將剩余的點(diǎn)放置入位置敏感散列中。將數(shù)據(jù)集x轉(zhuǎn)化為空間中的二進(jìn)制串;預(yù)先選取參數(shù)r>0,c>1,隨機(jī)選取k個散列函數(shù);利用這些散列函數(shù)將數(shù)據(jù)點(diǎn)存入相應(yīng)的散列表中。
以上述文件索引規(guī)則為基礎(chǔ),對小文本文件進(jìn)行了合并,設(shè)有多個文件a1,a2…an,其中ai=ai1,ai2,…,aik…,且aik為文件名的第k個字符。具體步驟為:
步驟1,對輸入的字符串a(chǎn)i(i=l,2,...n),找到aik=‘.’,截取aik后面的所有字符。統(tǒng)計這個塊中具有此類文件的個數(shù),記為mij。依次計算同一節(jié)點(diǎn)中每一塊所包含的此類文件的個數(shù),得到序列mi1,mi2,...min,求mi=∑mij(j=0,1,…,n)表示這個節(jié)點(diǎn)中包含的擴(kuò)展名的類別。
步驟2.計算這個節(jié)點(diǎn)中存放的所有小文本文件的數(shù)目m,獲取小文本文件在分類過程中設(shè)置的權(quán)值。
步驟3.求解每個類型文件所占的比例mi/m,按比例從大到小排序。形成的擴(kuò)展名列表在datanode中維護(hù)。
步驟4.統(tǒng)計這個節(jié)點(diǎn)上的mi中的根節(jié)點(diǎn),形成根節(jié)點(diǎn)列表。在每個擴(kuò)展名中都有一個根節(jié)點(diǎn)列表。此列表在datanode中維護(hù)。
步驟5.根據(jù)待放置的塊所在的reduce任務(wù),得到此塊的擴(kuò)展名。
步驟6.讀取待放置的塊的根節(jié)點(diǎn)。設(shè)置根節(jié)點(diǎn)列表,按照權(quán)值相似度最大原則對根進(jìn)行排序。
步驟7.選擇此塊中排在第一位的根。
步驟8.在集群中找到擴(kuò)展名所占比例最大的節(jié)點(diǎn)。在其中查找此根,如果存在,放置此塊。
步驟9.將此節(jié)點(diǎn)從候選列表中排除,然后判斷列表是否為空。不為空,轉(zhuǎn)步驟8。
步驟10.將此根從根的列表中排除,判斷根的列表是否為空。不為空,轉(zhuǎn)步驟7;為空,隨機(jī)存放在有此擴(kuò)展名的節(jié)點(diǎn)上。
針對文檔檢索過程中的復(fù)雜處理及內(nèi)容映射關(guān)系,在原有的mapreduce模型增加多個預(yù)處理負(fù)載節(jié)點(diǎn),這些負(fù)載節(jié)點(diǎn)它們執(zhí)行的任務(wù)是由主節(jié)點(diǎn)在執(zhí)行map任務(wù)以前所派發(fā)的任務(wù)中的子任務(wù),然后把用戶約束關(guān)系進(jìn)行預(yù)處理。用戶將具有約束關(guān)系的處理請求提交給主節(jié)點(diǎn),主節(jié)點(diǎn)根據(jù)任務(wù)請求動態(tài)生成描述該約束關(guān)系的xml文件,任務(wù)分割后,讀取xml文件中的多值映射關(guān)系,當(dāng)單個map任務(wù)開始時,分析輸入的文件并產(chǎn)生一對多關(guān)系的鍵值對,用戶對鍵值對進(jìn)行任意的操作。完成后則重新收集自定義的鍵值對,將數(shù)據(jù)處理的約束關(guān)系處理完畢,然后再開始mapreduce調(diào)度的map過程和reduce過程。
為進(jìn)一步實(shí)現(xiàn)云存儲負(fù)載均衡,用cdata={1,2,...m}表示云存儲中所有存儲數(shù)據(jù)塊的集合。k∈cdata表示第k組存儲數(shù)據(jù),m為需分配的云存儲中存儲數(shù)據(jù)的總組數(shù)。記云存儲平臺中第i個存儲節(jié)點(diǎn)獲得組存儲資源的存儲效率為l(u(i),i);將云存儲資源優(yōu)化分配問題表達(dá)為求解
(1)初始化過程中,將cdata中的數(shù)據(jù)按照一致性散列分布策略,分為m組數(shù)據(jù),存儲節(jié)點(diǎn)虛擬化為n個存儲節(jié)點(diǎn),初始化存儲節(jié)點(diǎn)的存儲效率值e和負(fù)載能力c。設(shè)置階段計數(shù)器i。
(2)根據(jù)虛擬化的存儲節(jié)點(diǎn)個數(shù),把此資源分配過程分為n個階段。確定狀態(tài)變量x(i+1),表示分配1至i個存儲節(jié)點(diǎn)后剩余的數(shù)據(jù);
(3)x(i)以一定的步長遍歷其取值區(qū)間[u(i)min,u(i)max],計算將剩余資源x(i)分配給第i個存儲節(jié)點(diǎn)之后的n-i個存儲節(jié)點(diǎn)的最大存儲效率v(x(i),i),同時將相關(guān)數(shù)據(jù)記錄在數(shù)據(jù)集合notedata[i]{x(i),u(i),v(x(i),i)}中。
(4)當(dāng)i=n時,根據(jù)第n個存儲節(jié)點(diǎn)的負(fù)載能力c和存儲效率e進(jìn)行數(shù)據(jù)分配,u(n)<=cn。
利用狀態(tài)轉(zhuǎn)移方程:x(i+1)=x(i)-u(i)
和動態(tài)規(guī)劃方程v(x(i),i)=maxu(i)∈u(x(i)){l(u(i),i),+v(x(i+1),i+1)},i=n-1,2,…,1
v(x(n),n)=l(x(n),n)
推出各個階段的最優(yōu)值,分配過程中根據(jù)每個階段的存儲節(jié)點(diǎn)的負(fù)載能力ci確定決策變量u(i)的邊界值。
(5)遞歸計算求得最優(yōu)決策序列notedata(u(1),u(2),...,u(n)),若
基于上述改進(jìn)的mapreduce框架,在多檢索并發(fā)環(huán)境下,本發(fā)明設(shè)置共享檢索架構(gòu)并采用兩級共享,第一級共享使用公共樣本管理機(jī)制實(shí)現(xiàn)共享采樣,減少冗余i/o開銷;第二級共享將在線聚集的計算共享抽象成特殊的acq優(yōu)化問題。本發(fā)明從子任務(wù)層面實(shí)現(xiàn)多檢索作業(yè)的合并,即根據(jù)各個檢索作業(yè)子任務(wù)的相關(guān)性實(shí)現(xiàn)任務(wù)級合并,并將合并的共享任務(wù)發(fā)往各個計算節(jié)點(diǎn)完成進(jìn)一步處理?;趆adoop的共享檢索系統(tǒng)架構(gòu)的流程可包括:檢索采集器負(fù)責(zé)收集一組檢索請求,并通過對各檢索作業(yè)map子任務(wù)的分析實(shí)現(xiàn)任務(wù)級合并操作,形成一系列共享map任務(wù);共享map任務(wù)被分配到各個計算節(jié)點(diǎn)進(jìn)行相應(yīng)處理,包括從hdfs采集樣本數(shù)據(jù)以及計算相關(guān)統(tǒng)計量;根據(jù)統(tǒng)計量相關(guān)信息由reduce任務(wù)完成近似估計和精度判斷,若符合用戶精度需求則返回,否則重復(fù)執(zhí)行上述操作。
給定兩個檢索q1和q2,其相應(yīng)的map子任務(wù)集合為m1={m1,1,m1,2…,m1,m}和m2={m2,1,m2,2…,m2,n},則本發(fā)明的共享方案為:若兩個map子任務(wù)mi,1∈m1,mj,2∈m2具有相同的輸入數(shù)據(jù)即數(shù)據(jù)塊bi=bj,則將這兩個map子任務(wù)合并為共享map任務(wù)進(jìn)而實(shí)現(xiàn)兩個獨(dú)立i/o管道的合并,通過對數(shù)據(jù)塊bi的統(tǒng)一訪問完成采樣共享;若兩個map子任務(wù)mi,1∈m1,mj,2∈m2除了具有相同數(shù)據(jù)塊以外,還具有相同的檢索謂詞和聚集類型語句,包括sum,count,avg時,共享map任務(wù)實(shí)現(xiàn)對兩個map任務(wù)統(tǒng)計量計算的合并,通過計算和復(fù)用中間統(tǒng)計量完成統(tǒng)計量計算的共享;若兩個map子任務(wù)不具有相同輸入數(shù)據(jù)即bi≠bj時,則無法合并生成共享map任務(wù)。
針對上述不同的共享方式以及共享方案,本發(fā)明采用以下共享策略:針對每個數(shù)據(jù)塊bi.構(gòu)建統(tǒng)一的i/o管道用于樣本采集,并將獲取的隨機(jī)樣本保存于內(nèi)存中的樣本緩沖區(qū),為后續(xù)共享采樣提供數(shù)據(jù)支持;針對第一級共享,根據(jù)共享map任務(wù)中各個參與合并的map任務(wù)在每一輪精度估計所需樣本的需求量,從緩沖區(qū)中讀取相應(yīng)大小的樣本集并分配給中滿足共享采樣條件的map任務(wù)以完成計算任務(wù);若共享map任務(wù)中需要進(jìn)行統(tǒng)計量計算共享,則在第二級共享中從第一級共享結(jié)果獲取相應(yīng)樣本集,并對其按照底層map任務(wù)共享組進(jìn)行中間統(tǒng)計量的分類計算,各個共享組通過對中間統(tǒng)計量的復(fù)用得到各自統(tǒng)計量,從而完成計算任務(wù)。
所述統(tǒng)計量的分類計算,具體可由兩階段完成:劃分階段和調(diào)整階段。輸入一組樣本集合k={k1i,k2i,…kni},對樣本集合k進(jìn)行升序排序,劃分階段利用貪心策略確定初始共享分組方案;而調(diào)整階段的任務(wù)是對相鄰共享分組內(nèi)的map任務(wù)進(jìn)行局部調(diào)整。
劃分階段采用一組樣本量的方差值作為度量其差異大小的標(biāo)準(zhǔn),通過對方差較大的共享分組進(jìn)行劃分實(shí)現(xiàn)差異樣本量的分離。首先,計算當(dāng)前共享分組方案的整體共享開銷并記為cmin,其次,從共享分組方案中選取具有最大方差的共享分組作為劃分操作的候選共享分組,并根據(jù)共享分組內(nèi)樣本量的均值將其劃分成兩個新的共享分組,隨后,計算新產(chǎn)生的共享分組方案'的整體共享開銷并記為ccur,若cmin≤ccur則保留該新共享分組方案并重復(fù)上述劃分執(zhí)行流程,反之則返回原共享分組方案。
在調(diào)整階段,定義共享分組方案的第i個共享分組sgr表示樣本量的遷出分組,而第i-1個共享分組sgl;表示樣本量的遷入分組,選取小于分組內(nèi)樣本量均值的樣本量形成初始的候選遷移樣本量集合cand;對cand中的元素進(jìn)行進(jìn)一步優(yōu)先級判定,選取較優(yōu)的樣本量進(jìn)行遷移。針對中的每個元素cand[j],分別統(tǒng)計sgr內(nèi)剩余樣本量中與其具有公共邊界的樣本量個數(shù)egr以及sgl內(nèi)所有樣本量中與其具有公共邊界的樣本量個數(shù)egl。定義兩個變量cer和cel分別對cand[j]所對應(yīng)的egr和egl進(jìn)行排序,在cer中采用升序排列,而在cel中采用降序排列,針對任一cand[j],采用其在cer和cel中的索引位置rind和lind作為優(yōu)先級歸一化參數(shù),并引入權(quán)重系數(shù)win和wout以調(diào)節(jié)egr和egl對優(yōu)先級的影響。綜合考慮egr和egl影響的樣本量遷移優(yōu)先級按如下公式計算:
rank=winrind+woutlind
其中權(quán)重系數(shù)win+wout=1;為每個計算得到其對應(yīng)的遷移優(yōu)先級并選取具有最高優(yōu)先級的樣本量進(jìn)行相鄰共享分組間的遷移以獲取新的共享分組方案,并通過共享代價的計算和比較可以判定上述遷移實(shí)例是否有效,直至共享代價不再降低,并返回最終共享分組方案。
給定一個多表檢索,其map函數(shù)根據(jù)不同的共享需求對相應(yīng)的map任務(wù)或者共享分組進(jìn)行分別處理,實(shí)現(xiàn)輸入數(shù)據(jù)的讀取并對樣本集進(jìn)行統(tǒng)計量計算,將每一輪統(tǒng)計計算結(jié)果作為reduce函數(shù)的輸入數(shù)據(jù)。首先,map函數(shù)加載全局變量以支持后續(xù)統(tǒng)計量計算,并從變量中讀取采樣共享map任務(wù)集合以及統(tǒng)計量計算共享分組。其次,針對每一個到達(dá)的鍵值對,首先由公共樣本緩沖區(qū)進(jìn)行緩存,并根據(jù)不同的共享需求對其進(jìn)行讀取和使用。針對采樣共享,當(dāng)中保存了足量樣本時,獲取每個所需的樣本量并更新進(jìn)而根據(jù)變量中的檢索類型對:進(jìn)行統(tǒng)計量計算,并將計算結(jié)果以當(dāng)前檢索id為鍵值以統(tǒng)計量和當(dāng)前map任務(wù)id為組合鍵值形成鍵值對作為后續(xù)reduce函數(shù)的輸入數(shù)據(jù)。
綜上所述,本發(fā)明提出了一種大規(guī)模數(shù)據(jù)處理平臺的構(gòu)建方法,基于改進(jìn)的分布式處理架構(gòu)將來自不同異構(gòu)源的多種小文件進(jìn)行統(tǒng)一規(guī)范組織,便于高效存儲、分析與檢索。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計算系統(tǒng)來實(shí)現(xiàn),它們可以集中在單個的計算系統(tǒng)上,或者分布在多個計算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算系統(tǒng)可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲系統(tǒng)中由計算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。