本發(fā)明涉及一種應(yīng)用云計(jì)算平臺實(shí)現(xiàn)的大數(shù)據(jù)信息搜索技術(shù),尤其涉及一種基于索引分片均衡的大數(shù)據(jù)云搜索平臺及其方法。
背景技術(shù):
在網(wǎng)絡(luò)信息爆炸的大數(shù)據(jù)時代,構(gòu)建高效、易用、精確的搜索功能及其平臺是普遍的需求。不僅是谷歌、百度等專業(yè)級搜索網(wǎng)站需要不斷優(yōu)化和升級,即便是在普通的門戶、論壇、社交或商務(wù)網(wǎng)站的服務(wù)中,也希望嵌入功能強(qiáng)大又節(jié)約資源和容易實(shí)現(xiàn)的網(wǎng)內(nèi)和全網(wǎng)搜索工具,為目標(biāo)客戶提供便利。
Apache Lucene是一種開源、高度可擴(kuò)展的搜索引擎架構(gòu),專注于網(wǎng)絡(luò)信息的索引和搜索,可以為各類網(wǎng)站和應(yīng)用構(gòu)建搜索功能。Wikipedia、Linkedln等知名網(wǎng)站都應(yīng)用了Apache Lucene的搜索引擎架構(gòu)。
圖1示出了Apache Lucene搜索引擎的總體架構(gòu)。Apache Lucene的搜索引擎架構(gòu)總體上看包括分析器、索引編寫器和查詢引擎。Apache Lucene搜索引擎支持從網(wǎng)頁、Word文檔、PDF文檔等各種各樣的數(shù)據(jù)源當(dāng)中提取文本數(shù)據(jù)并提供給分析器。分析器負(fù)責(zé)處理文本數(shù)據(jù),將其轉(zhuǎn)換為標(biāo)記,后續(xù)將作為索引中的“項(xiàng)”(Term)而被添加到索引當(dāng)中;分析器在生成標(biāo)記的過程中對文本數(shù)據(jù)執(zhí)行提取單詞、移除通用單詞、忽略標(biāo)點(diǎn)、轉(zhuǎn)換詞根、大小寫統(tǒng)一等各種轉(zhuǎn)換,這樣有利于搜索的準(zhǔn)確,并可以減小后續(xù)所生成的索引的大小。索引編寫器負(fù)責(zé)生成和管理索引,包括創(chuàng)建新的索引、更改現(xiàn)有索引、刪除索引等操作,所生成的索引以索引文件的方式被保存在本地或者非本地的索引文件庫當(dāng)中;索引編寫器的主要作用是將由分析器基于原始的文本數(shù)據(jù)轉(zhuǎn)換而成的標(biāo)記保存在索引的數(shù)據(jù)結(jié)構(gòu)之中,索引是基本的搜索對象,其數(shù)據(jù)結(jié)構(gòu)有利于利用關(guān)鍵詞快速對索引進(jìn)行查詢。查詢引擎進(jìn)一步包括查詢解析器和索引搜索器;查詢解析器用于將用戶輸入的關(guān)鍵詞、詞組、短句等通過調(diào)用分析器轉(zhuǎn)換為查詢條件項(xiàng);索引搜索器基于轉(zhuǎn)換而來的查詢條件項(xiàng),在索引文件集的索引當(dāng)中進(jìn)行查詢,根據(jù)索引與查詢條件項(xiàng)的匹配程度計(jì)算分?jǐn)?shù),并按照分?jǐn)?shù)的排序返回文檔的集合,作為搜索結(jié)果反饋給用戶。
索引在Apache Lucene搜索引擎中居于核心位置,因而該引擎對于索引進(jìn)行了多種優(yōu)化,包括使索引文件在各種系統(tǒng)和平臺上具有兼容性;在逆序索引的基礎(chǔ)上又引入了索引分片技術(shù),從而能夠?yàn)槲谋緮?shù)據(jù)生成若干小的索引分片,能夠提升在索引當(dāng)中搜索查詢的速度。Apache Lucene搜索引擎為索引賦予的以上新特性,使之特別適合于實(shí)現(xiàn)云搜索平臺。
事實(shí)上,在面向大數(shù)據(jù)實(shí)現(xiàn)搜索服務(wù)的情況下,如果局限于在單一網(wǎng)絡(luò)節(jié)點(diǎn)上建立索引文件庫,則該節(jié)點(diǎn)所承擔(dān)的查詢負(fù)荷過重,超出了其處理能力,有可能造成搜索結(jié)果的生成延遲過大。因而,可以布署大量的用于存儲索引分片的節(jié)點(diǎn),組成一個分布式高可用的集群。對于由用戶輸入的關(guān)鍵詞等所生成的查詢請求,通過匹配分析將該查詢請求指向特定的索引分片,則由存儲該索引分片的節(jié)點(diǎn)來承擔(dān)該索引分片被查詢請求調(diào)用所產(chǎn)生的負(fù)荷。
為了保證可靠性,還建立了副本機(jī)制,為主索引分片創(chuàng)立一個或多個副本索引分片,副本索引分片存儲在主索引分片所在節(jié)點(diǎn)以外的其它節(jié)點(diǎn)上;如果主索引分片不可用,可以從副本索引分片中重新選出一個作為主索引分片,替代原來的主索引分片繼續(xù)接受查詢調(diào)用。
由此可見,在基于Apache Lucene引擎所實(shí)現(xiàn)的云搜索平臺當(dāng)中,可以采用節(jié)點(diǎn)的集群來存儲和承擔(dān)索引分片,將搜索帶來的負(fù)荷由集群中的各個節(jié)點(diǎn)分擔(dān),并且具有主備機(jī)制,可靠性有了很大的提高。
不過,在上述方案中,又產(chǎn)生了新的問題,即大量的索引分片應(yīng)該如何在各個節(jié)點(diǎn)之間進(jìn)行分配。對于這個問題,目前Apache Lucene引擎沒有給出可用的解決方案?,F(xiàn)有技術(shù)中多采用固定的映射規(guī)則來進(jìn)行分配,例如對于由數(shù)據(jù)源服務(wù)器A提供的文本數(shù)據(jù)所生成的索引分片,固定分配給節(jié)點(diǎn)Node1進(jìn)行存儲和承擔(dān)查詢調(diào)用負(fù)荷,而數(shù)據(jù)源服務(wù)器B提供的數(shù)據(jù)源所生成的索引分片固定分配給節(jié)點(diǎn)Node2;或者,網(wǎng)頁數(shù)據(jù)所生成的索引分片固定分配給節(jié)點(diǎn)Node1,文檔數(shù)據(jù)所生成的索引分片固定分配給節(jié)點(diǎn)Node2。還有的解決方案將各節(jié)點(diǎn)作為同一化處理,索引分片完全隨機(jī)分配。以上分配方案很容易造成的缺陷是節(jié)點(diǎn)之間不均衡,部分節(jié)點(diǎn)所存儲的索引分片數(shù)量過多以及由于索引分片被查詢調(diào)用所帶來的計(jì)算負(fù)荷過大,情況嚴(yán)重時又會造成部分節(jié)點(diǎn)過載。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述現(xiàn)有技術(shù)中存在的以上問題,本發(fā)明提出一種基于索引分片均衡的大數(shù)據(jù)云搜索平臺及其方法。本發(fā)明旨在解決基于Apache Lucene引擎的大數(shù)據(jù)云搜索平臺當(dāng)中,索引分片難于在集群的節(jié)點(diǎn)之間合理高效進(jìn)行分配的問題。本發(fā)明能夠?qū)崿F(xiàn)索引分片被查詢調(diào)用所帶來的計(jì)算負(fù)荷在各個節(jié)點(diǎn)之間的均衡化分布,避免集群中部分節(jié)點(diǎn)過載造成的延遲過大等問題,也抑制部分節(jié)點(diǎn)過閑的現(xiàn)象存在。
作為本發(fā)明的方案之一,集群會將由新數(shù)據(jù)源生成的大量的索引分片按照均衡原則分配到各個網(wǎng)絡(luò)節(jié)點(diǎn)之上進(jìn)行存儲并提供查詢;在副本機(jī)制下,當(dāng)集群中的一個節(jié)點(diǎn)離線或不可用時,可以基于均衡原則,將該節(jié)點(diǎn)所承擔(dān)的索引分片均衡地分配給其它節(jié)點(diǎn),即均衡地將其它節(jié)點(diǎn)上的副本索引分片設(shè)為主索引分片,以替代該離線或不可用的節(jié)點(diǎn)上承擔(dān)的原主索引分片來接受查詢調(diào)用。
本發(fā)明按照上述均衡原則進(jìn)行索引分片的分配。在對索引分片在可用節(jié)點(diǎn)之間進(jìn)行均衡分配的時候,需要考慮這些節(jié)點(diǎn)上已承擔(dān)的索引分片的數(shù)量、索引分片的被查詢調(diào)用的熱度(即被查詢調(diào)用的頻繁程度)、節(jié)點(diǎn)自身處理能力等因素;例如,在節(jié)點(diǎn)處理能力相當(dāng)?shù)那闆r下,會使各節(jié)點(diǎn)承擔(dān)的索引分片總數(shù)量和其中不同熱度的索引分片所占比例趨于相近;在節(jié)點(diǎn)處理能力不等的情況下,使每個節(jié)點(diǎn)承擔(dān)的索引分片總數(shù)量和其中不同熱度的索引分片所占比例與節(jié)點(diǎn)自身處理能力趨于正比;總之,是基于節(jié)點(diǎn)的負(fù)荷和能力的因素進(jìn)行均衡的分配。
不過,在實(shí)踐中發(fā)明人逐漸發(fā)現(xiàn),單純基于均衡原則進(jìn)行并不完善,部分節(jié)點(diǎn)過載或過閑的現(xiàn)象仍然會時有發(fā)生。原因在于,在大數(shù)據(jù)平臺之下,被大量查詢調(diào)用的高熱度索引分片其實(shí)是動態(tài)變化的,而均衡原則只能基于各索引分片被分配之時的熱度,在各節(jié)點(diǎn)之間進(jìn)行負(fù)荷的均衡,而不能適應(yīng)一段時間之后索引分片熱度的變化。舉例來說,節(jié)點(diǎn)Node1承擔(dān)著高熱度的索引分片H1和H2、中熱度索引分片M1和M2、低熱度索引分片L1和L2;因該Node1離線,需要進(jìn)行上述索引分片的重新分配,基于均衡原則,將H1、M1和L1分配給節(jié)點(diǎn)Node2承擔(dān),H2、M2和L2分配給節(jié)點(diǎn)Node3承擔(dān),在分配之時確實(shí)保證了Node2與Node3之間的負(fù)載均衡;但是,經(jīng)過一段時間的變化,Node2承擔(dān)的索引分片M1的熱度變?yōu)榱烁邿岫?,而Node3承擔(dān)的索引分片H2變成了中熱度,這樣Node2的負(fù)荷就明顯大于Node3了,產(chǎn)生了不均衡。實(shí)踐當(dāng)中,由于這一現(xiàn)象,造成集群節(jié)點(diǎn)之間的負(fù)荷均衡的維持時間一般較短,發(fā)生節(jié)點(diǎn)過閑或過載的機(jī)率相對較高。
本發(fā)明人經(jīng)進(jìn)一步研究認(rèn)為,索引分片的熱度,是與其內(nèi)容有密切關(guān)系的。例如,在世界杯期間,與“足球”有關(guān)的查詢請求明顯增加(當(dāng)然查詢請求包含的關(guān)鍵詞不局限為“足球”,還包括球隊(duì)名稱、球星姓名甚至足球彩票等關(guān)鍵詞);某條爆炸性新聞的出現(xiàn),導(dǎo)致該新聞有關(guān)的查詢請求量暴漲;這就導(dǎo)致內(nèi)容與這些查詢請求匹配的索引分片被查詢調(diào)用的頻率短時間明顯增大,成為高熱度的索引分片。相應(yīng)地,如果在索引分片的分配過程中,在均衡原則的基礎(chǔ)上,進(jìn)一步將索引分片內(nèi)容之間的相關(guān)度納入考慮,將內(nèi)容相關(guān)度高的索引分片分配在不同的節(jié)點(diǎn)上承擔(dān),那么由于某類內(nèi)容被公眾“熱搜”所造成的一部分索引分片熱度變化也就能夠相對均衡地發(fā)生在各個節(jié)點(diǎn)之上,而不會因少數(shù)節(jié)點(diǎn)承擔(dān)的索引分片被更多地轉(zhuǎn)換為高熱度索引分片而造成這些節(jié)點(diǎn)過載。
因而,本發(fā)明的最優(yōu)解決方案是,在對由新數(shù)據(jù)源產(chǎn)生的索引分片進(jìn)行分配時,或者由于某個節(jié)點(diǎn)離線或不可用而需要對該節(jié)點(diǎn)承擔(dān)的索引分片在可用節(jié)點(diǎn)之間進(jìn)行重新分配時,考慮均衡原則的同時,進(jìn)一步根據(jù)被分配的索引分片的內(nèi)容相關(guān)度,將內(nèi)容相關(guān)度高的索引分片分配在不同的節(jié)點(diǎn)上承擔(dān)。
根據(jù)本發(fā)明的上述方案,提供了一種基于索引分片均衡的大數(shù)據(jù)云搜索平臺,其特征在于,包括:
Apache Lucene引擎單元,基于Apache Lucene的搜索引擎架構(gòu),包括分析器、索引編寫器以及查詢引擎模塊;分析器獲得由各種類型的數(shù)據(jù)源文件轉(zhuǎn)化的源文本數(shù)據(jù),通過分析處理將源文本數(shù)據(jù)轉(zhuǎn)換為標(biāo)記;索引編寫器用于生成和管理索引,將由分析器轉(zhuǎn)換而成的標(biāo)記保存在索引的數(shù)據(jù)結(jié)構(gòu)之中,所生成的索引的文件形式為索引分片,臨時緩存索引分片并將所述索引分片提供給節(jié)點(diǎn)集群進(jìn)行存儲;所述索引分片包括主索引分片和至少一個副本索引分片;每個索引分片具有自身的索引分片ID;查詢引擎模塊進(jìn)一步包括查詢解析器和索引搜索器;查詢解析器用于將用戶輸入的關(guān)鍵詞、詞組、短句等查詢條件通過調(diào)用分析器轉(zhuǎn)換為查詢條件項(xiàng),索引搜索器基于轉(zhuǎn)換而來的查詢條件項(xiàng),向節(jié)點(diǎn)集群發(fā)起查詢請求;索引搜索器獲得節(jié)點(diǎn)集群的反饋結(jié)果,并根據(jù)該反饋結(jié)果確定索引分片與查詢條件項(xiàng)的匹配程度,產(chǎn)生分?jǐn)?shù),并按照分?jǐn)?shù)的排序返回搜索結(jié)果;
節(jié)點(diǎn)集群,包括若干節(jié)點(diǎn),所述節(jié)點(diǎn)用于存儲由Apache Lucene引擎單元提供的索引分片,并承擔(dān)索引分片被查詢調(diào)用的負(fù)荷;節(jié)點(diǎn)集群接收所述查詢請求,根據(jù)該查詢請求所指向的索引分片,將查詢請求分配給存儲相應(yīng)的索引分片的節(jié)點(diǎn),由該節(jié)點(diǎn)響應(yīng)該查詢請求而在查詢請求所指向的索引分片中完成查詢相關(guān)的計(jì)算,生成反饋結(jié)果;
索引分片分析單元,用于為索引分片生成所述內(nèi)容標(biāo)識符;
索引分片分配管理單元,包括索引分片分配記錄模塊、節(jié)點(diǎn)能力狀態(tài)管理模塊和分配方案確定模塊;其中索引分片分配記錄模塊,用于為節(jié)點(diǎn)集群中的每一個節(jié)點(diǎn)生成并存儲一個索引分片分配記錄表,索引分片分配記錄表記錄了在本節(jié)點(diǎn)上承擔(dān)的每個索引分片的相關(guān)信息,所述相關(guān)信息中包括索引分片的索引分片ID、內(nèi)容標(biāo)識符、熱度等級以及主副標(biāo)識;
節(jié)點(diǎn)能力狀態(tài)管理模塊,用于實(shí)時從集群的各節(jié)點(diǎn)獲得節(jié)點(diǎn)處理能力參數(shù),并通過節(jié)點(diǎn)能力狀態(tài)列表對各節(jié)點(diǎn)實(shí)時的節(jié)點(diǎn)處理能力參數(shù)進(jìn)行保存;
分配方案確定模塊,獲取當(dāng)前待分配的索引分片的索引分片ID;根據(jù)所獲取的當(dāng)前待分配的索引分片的索引分片ID,統(tǒng)計(jì)當(dāng)前分布在各熱度等級上的待分配索引分片的數(shù)量;確定集群中的可用節(jié)點(diǎn)及其節(jié)點(diǎn)號;通過查詢所述節(jié)點(diǎn)能力狀態(tài)列表當(dāng)中各個可用節(jié)點(diǎn)的節(jié)點(diǎn)處理能力參數(shù),決定各可用節(jié)點(diǎn)在各熱度等級上分別承擔(dān)的待分配索引分片的承擔(dān)數(shù)量;按照該承擔(dān)數(shù)量將各熱度等級上的待分配索引分片分派給可用節(jié)點(diǎn),形成分配方案;分配方案包括可用節(jié)點(diǎn)的節(jié)點(diǎn)號和每個可用節(jié)點(diǎn)被分配的索引分片的索引分片ID;將分配方案傳輸給Apache Lucene引擎單元和索引分片分配記錄模塊;
并且,索引分片分配記錄模塊則根據(jù)分配方案,更新每個節(jié)點(diǎn)的索引分片分配記錄表;
Apache Lucene引擎單元根據(jù)所述分配方案,將分配方案中的索引分片ID對應(yīng)的索引分片傳輸給相應(yīng)節(jié)點(diǎn)號的可用節(jié)點(diǎn)進(jìn)行存儲和承擔(dān),或,將涉及分配方案中的索引分片的查詢請求重定位到指向分配方案中與該索引方案對應(yīng)的節(jié)點(diǎn)。
優(yōu)選的是,分配方案確定模塊在按照所述承擔(dān)數(shù)量將各熱度等級上的待分配索引分片分派給可用節(jié)點(diǎn)時,還進(jìn)一步獲得待分配的索引分片的內(nèi)容標(biāo)識符;根據(jù)待分配的索引分片的內(nèi)容標(biāo)識符,確定待分配的索引分片之間的內(nèi)容相關(guān)度,從而使被分配在同一可用節(jié)點(diǎn)的待分配的索引分片之間的內(nèi)容相關(guān)度最小化而生成所述分配方案。
進(jìn)一步優(yōu)選的是,所述索引分片分析單元所生成的內(nèi)容標(biāo)識符包括數(shù)據(jù)源文件標(biāo)識符與關(guān)鍵詞標(biāo)識符;其中,由同一個數(shù)據(jù)源文件或同一系列的數(shù)據(jù)源文件所生成的各索引分片具有相同的數(shù)據(jù)源文件標(biāo)識符;所述索引分片分析單元分析每個索引分片存儲的標(biāo)記信息,從中提取關(guān)鍵詞作為關(guān)鍵詞標(biāo)識符。
進(jìn)一步優(yōu)選的是,分配方案確定模塊確定每兩個待分配的索引分片之間的內(nèi)容相關(guān)度,可按下述公式進(jìn)行確定:
R=a1·S+a2·K
其中R是表示兩個待分配的索引分片之間的內(nèi)容相關(guān)度的量化參數(shù);S是根據(jù)兩個待分配索引分片的數(shù)據(jù)源文件標(biāo)識符評估的相關(guān)度量化參數(shù);K表示根據(jù)兩個待分配索引分片的關(guān)鍵詞標(biāo)識符的重合度所評估的相關(guān)度量化參數(shù),a1與a2是加權(quán)求和系數(shù)。
進(jìn)一步優(yōu)選的是,在初次分配的情況下,索引分片分配記錄模塊則根據(jù)分配方案,更新每個節(jié)點(diǎn)的索引分片分配記錄表,在該表中為本節(jié)點(diǎn)新承擔(dān)下來的初次分配的每個索引分片建立條目,保存索引分片的索引分片ID、內(nèi)容標(biāo)識符、熱度等級以及主副標(biāo)識;在重新分配的情況下,索引分片分配記錄模塊根據(jù)分配方案中的節(jié)點(diǎn)號,查詢到相應(yīng)節(jié)點(diǎn)的索引分片分配記錄表,進(jìn)而根據(jù)分配方案當(dāng)中的索引分片ID,查詢到該索引分片的條目,將該條目的主副標(biāo)識更新為主索引分片。
本發(fā)明還提供了一種可應(yīng)用于大數(shù)據(jù)云搜索平臺的索引分片均衡方法,其特征在于,包括以下步驟:
基于Apache Lucene的搜索引擎架構(gòu),獲得由各種類型的數(shù)據(jù)源文件轉(zhuǎn)化的源文本數(shù)據(jù),通過分析處理將源文本數(shù)據(jù)轉(zhuǎn)換為標(biāo)記;生成索引,將由所述標(biāo)記保存在索引的數(shù)據(jù)結(jié)構(gòu)之中;所生成的索引的文件形式為索引分片,臨時緩存索引分片并將所述索引分片提供給節(jié)點(diǎn)集群進(jìn)行存儲;所述索引分片包括主索引分片和至少一個副本索引分片;每個索引分片具有自身的索引分片ID;
利用節(jié)點(diǎn)集群中的節(jié)點(diǎn)存儲其被分配的索引分片,并承擔(dān)索引分片被查詢調(diào)用的負(fù)荷;
其中,按照如下步驟確定節(jié)點(diǎn)集群中各節(jié)點(diǎn)被分配的索引分片:
為索引分片生成內(nèi)容標(biāo)識符;
為節(jié)點(diǎn)集群中的每一個節(jié)點(diǎn)生成并存儲一個索引分片分配記錄表,索引分片分配記錄表記錄了在本節(jié)點(diǎn)上承擔(dān)的每個索引分片的相關(guān)信息,所述相關(guān)信息中包括索引分片的索引分片ID、內(nèi)容標(biāo)識符、熱度等級以及主副標(biāo)識;
實(shí)時從集群的各節(jié)點(diǎn)獲得節(jié)點(diǎn)處理能力參數(shù),并通過節(jié)點(diǎn)能力狀態(tài)列表對各節(jié)點(diǎn)實(shí)時的節(jié)點(diǎn)處理能力參數(shù)進(jìn)行保存;
獲取當(dāng)前待分配的索引分片的索引分片ID;根據(jù)所獲取的當(dāng)前待分配的索引分片的索引分片ID,統(tǒng)計(jì)當(dāng)前分布在各熱度等級上的待分配索引分片的數(shù)量;確定集群中的可用節(jié)點(diǎn)及其節(jié)點(diǎn)號;通過查詢所述節(jié)點(diǎn)能力狀態(tài)列表當(dāng)中各個可用節(jié)點(diǎn)的節(jié)點(diǎn)處理能力參數(shù),決定各可用節(jié)點(diǎn)在各熱度等級上分別承擔(dān)的待分配索引分片的承擔(dān)數(shù)量;按照該承擔(dān)數(shù)量將各熱度等級上的待分配索引分片分派給可用節(jié)點(diǎn),形成分配方案;分配方案包括可用節(jié)點(diǎn)的節(jié)點(diǎn)號和每個可用節(jié)點(diǎn)被分配的索引分片的索引分片ID;
根據(jù)分配方案,更新每個節(jié)點(diǎn)的索引分片分配記錄表;
根據(jù)所述分配方案,將分配方案中的索引分片ID對應(yīng)的索引分片傳輸給相應(yīng)節(jié)點(diǎn)號的可用節(jié)點(diǎn)進(jìn)行存儲和承擔(dān),或,將涉及分配方案中的索引分片的查詢請求重定位到指向分配方案中與該索引方案對應(yīng)的節(jié)點(diǎn)。
優(yōu)選的是,在按照所述承擔(dān)數(shù)量將各熱度等級上的待分配索引分片分派給可用節(jié)點(diǎn)時,還進(jìn)一步獲得待分配的索引分片的內(nèi)容標(biāo)識符;根據(jù)待分配的索引分片的內(nèi)容標(biāo)識符,確定待分配的索引分片之間的內(nèi)容相關(guān)度,從而使被分配在同一可用節(jié)點(diǎn)的待分配的索引分片之間的內(nèi)容相關(guān)度最小化而生成所述分配方案。
進(jìn)一步優(yōu)選的是,為索引分片所生成的內(nèi)容標(biāo)識符包括數(shù)據(jù)源文件標(biāo)識符與關(guān)鍵詞標(biāo)識符;其中,由同一個數(shù)據(jù)源文件或同一系列的數(shù)據(jù)源文件所生成的各索引分片具有相同的數(shù)據(jù)源文件標(biāo)識符;以及,分析每個索引分片存儲的標(biāo)記信息,從中提取關(guān)鍵詞作為關(guān)鍵詞標(biāo)識符。
進(jìn)一步優(yōu)選的是,確定每兩個待分配的索引分片之間的內(nèi)容相關(guān)度,可按下述公式進(jìn)行確定:
R=a1·S+a2·K
其中R是表示兩個待分配的索引分片之間的內(nèi)容相關(guān)度的量化參數(shù);S是根據(jù)兩個待分配索引分片的數(shù)據(jù)源文件標(biāo)識符評估的相關(guān)度量化參數(shù);K表示根據(jù)兩個待分配索引分片的關(guān)鍵詞標(biāo)識符的重合度所評估的相關(guān)度量化參數(shù),a1與a2是加權(quán)求和系數(shù)。
進(jìn)一步優(yōu)選的是,在初次分配的情況下,根據(jù)分配方案,更新每個節(jié)點(diǎn)的索引分片分配記錄表,在該表中為本節(jié)點(diǎn)新承擔(dān)下來的初次分配的每個索引分片建立條目,保存索引分片的索引分片ID、內(nèi)容標(biāo)識符、熱度等級以及主副標(biāo)識;在重新分配的情況下,根據(jù)分配方案中的節(jié)點(diǎn)號,查詢到相應(yīng)節(jié)點(diǎn)的索引分片分配記錄表,進(jìn)而根據(jù)分配方案當(dāng)中的索引分片ID,查詢到該索引分片的條目,將該條目的主副標(biāo)識更新為主索引分片。
從而,在本發(fā)明提出的基于索引分片均衡的大數(shù)據(jù)云搜索平臺及其方法當(dāng)中,對索引分片在集群中的可用節(jié)點(diǎn)之間的分配,不僅考慮了節(jié)點(diǎn)之間負(fù)荷的均衡,還考慮了被分配的索引分片在自身內(nèi)容上的相關(guān)性,將相關(guān)性高的索引分片分配給不同的節(jié)點(diǎn)進(jìn)行承擔(dān),從而合理高效地解決了分配問題。本發(fā)明能夠?qū)崿F(xiàn)索引分片被查詢調(diào)用所帶來的計(jì)算負(fù)荷在各個節(jié)點(diǎn)之間的均衡化分布,特別是能夠使由于某類內(nèi)容被公眾“熱搜”所造成的一部分索引分片熱度提升相對均衡地發(fā)生在各個節(jié)點(diǎn)之上,避免集群中部分節(jié)點(diǎn)過載造成的延遲過大等問題,也抑制部分節(jié)點(diǎn)過閑的現(xiàn)象存在。
說明書附圖
圖1是現(xiàn)有Apache Lucene搜索引擎的總體架構(gòu)示意圖;
圖2是本發(fā)明所述基于索引分片均衡的大數(shù)據(jù)云搜索平臺架構(gòu)示意圖。
具體實(shí)施方式
下面通過實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步具體的說明。
圖2是本發(fā)明所述的基于索引分片均衡的大數(shù)據(jù)云搜索平臺架構(gòu)示意圖。該索引分片均衡的大數(shù)據(jù)云搜索平臺包括:
Apache Lucene引擎單元1,該單元基于Apache Lucene的搜索引擎架構(gòu),包括分析器、索引編寫器以及查詢引擎模塊。Apache Lucene引擎單元將網(wǎng)頁、Word文檔、PDF文檔等各種類型的數(shù)據(jù)源文件轉(zhuǎn)化為源文本數(shù)據(jù),提供給分析器。分析器將源文本數(shù)據(jù)轉(zhuǎn)換為標(biāo)記,所述標(biāo)記后續(xù)將作為索引中的“項(xiàng)”(Term)而被添加到索引當(dāng)中。索引編寫器負(fù)責(zé)生成和管理索引,將由分析器轉(zhuǎn)換而成的標(biāo)記保存在索引的數(shù)據(jù)結(jié)構(gòu)之中;索引編寫器可以執(zhí)行創(chuàng)建新的索引、更改現(xiàn)有索引、刪除索引等操作。索引編寫器所生成的索引的文件形式為索引分片,通過將初始的數(shù)據(jù)源文件轉(zhuǎn)換為大量小的索引分片,可以提高搜索過程中對索引的查詢效率。在本發(fā)明的云搜素平臺當(dāng)中,索引分片由Apache Lucene引擎單元提供給節(jié)點(diǎn)集群2,由節(jié)點(diǎn)集群2中的各個節(jié)點(diǎn)2-1至2-N長期存儲索引分片并且承擔(dān)索引分片被查詢調(diào)用所產(chǎn)生的計(jì)算和網(wǎng)絡(luò)傳輸?shù)蓉?fù)荷,索引編寫器僅臨時緩存索引分片。對索引分片采用副本機(jī)制,為主索引分片創(chuàng)立一個或多個副本索引分片,副本索引分片存儲在主索引分片所在節(jié)點(diǎn)以外的其它節(jié)點(diǎn)上;如果主索引分片不可用,可以從副本索引分片中重新選出一個作為主索引分片。查詢引擎模塊進(jìn)一步包括查詢解析器和索引搜索器;查詢解析器用于將用戶輸入的關(guān)鍵詞、詞組、短句等通過調(diào)用分析器轉(zhuǎn)換為查詢條件項(xiàng);索引搜索器基于轉(zhuǎn)換而來的查詢條件項(xiàng),向節(jié)點(diǎn)集群2發(fā)起查詢請求。節(jié)點(diǎn)集群2根據(jù)該查詢請求所指向的索引分片,將查詢請求分配給存儲相應(yīng)的索引分片的節(jié)點(diǎn);由該節(jié)點(diǎn)響應(yīng)該查詢請求而在查詢請求所指向的索引分片中完成查詢相關(guān)的計(jì)算,反饋結(jié)果給查詢引擎模塊;索引搜索器根據(jù)該結(jié)果確定索引分片與查詢條件項(xiàng)的匹配程度,產(chǎn)生分?jǐn)?shù),并按照分?jǐn)?shù)的排序返回搜索結(jié)果。
為了實(shí)現(xiàn)本發(fā)明提出的索引分片均衡的節(jié)點(diǎn)間分配方案,在節(jié)點(diǎn)集群2中設(shè)置索引分片分配管理單元3。索引分片分配管理單元3進(jìn)一步包括索引分片分配記錄模塊,該模塊為集群中的每一個節(jié)點(diǎn)2-1至2-N生成并存儲一個索引分片分配記錄表。該索引分片分配記錄表記錄了在本節(jié)點(diǎn)上承擔(dān)的每個索引分片的相關(guān)信息。
所述索引分片的相關(guān)信息包括以下信息項(xiàng):(1)每個索引分片的索引分片ID,索引分片ID是每個索引分片具有的編號或名稱;(2)每個索引分片的內(nèi)容標(biāo)識符,內(nèi)容標(biāo)識符由索引分片分析單元4生成,其具體生成過程將在下文介紹;(3)每個索引分片的熱度等級,如前文所述,熱度是索引分片的被查詢調(diào)用的頻繁程度,可以用一預(yù)定統(tǒng)計(jì)時間段內(nèi)索引分片被查詢調(diào)度的頻率來表示該索引分片的熱度;并且根據(jù)閾值區(qū)間將索引分片的熱度歸入熱度等級;例如頻率足夠大則該索引分片的熱度等級是高熱度,頻率低于一定閾值則熱度等級是低熱度,居中則是中熱度;集群中的節(jié)點(diǎn)實(shí)時或定期統(tǒng)計(jì)其承擔(dān)的索引分片的熱度,并傳輸給索引分片分配管理單元3,由索引分片分配管理單元3對該節(jié)點(diǎn)對應(yīng)的索引分片分配記錄表當(dāng)中的熱度等級進(jìn)行更新;(4)每個索引分片的主副標(biāo)識,表明索引分片當(dāng)前是主索引分片還是副本索引分片。
索引分片分析單元4用于為索引分片生成所述內(nèi)容標(biāo)識符。每當(dāng)Apache Lucene引擎單元1為新的數(shù)據(jù)源文件生成了索引分片之后,在該索引分片被初次分配至集群中的節(jié)點(diǎn)之前,先由Apache Lucene引擎單元1緩存在一緩存存儲器當(dāng)中;進(jìn)而,Apache Lucene引擎單元1向索引分片分析單元4發(fā)送分析請求;響應(yīng)分析請求,索引分片分析單元4從該緩存存儲器當(dāng)中讀取各個索引分片,并通過分析索引分片生成索引分片的內(nèi)容標(biāo)識符,索引分片分析單元4將內(nèi)容標(biāo)識符與被分析索引分片的索引分片ID相關(guān)聯(lián),然后內(nèi)容標(biāo)識符和索引分片ID一起被索引分片分析單元4傳輸給索引分片分配管理單元3。索引分片分配管理單元3將內(nèi)容標(biāo)識符應(yīng)用于對待分配的索引分片進(jìn)行初次分配,下文將予以介紹。分配之后,內(nèi)容標(biāo)識符將作為索引分片的相關(guān)信息而被存儲在索引分片分配記錄表當(dāng)中。
索引分片分析單元4為索引分片所生成的內(nèi)容標(biāo)識符包括數(shù)據(jù)源文件標(biāo)識符與關(guān)鍵詞標(biāo)識符。對于由同一個數(shù)據(jù)源文件或同一系列的數(shù)據(jù)源文件(例如一個很長的文檔被分為上、中、下等一系列分文檔,同一個題目下的一系列連載網(wǎng)頁)所生成的各索引分片,索引分片分析單元4為這些索引分片生成相同的數(shù)據(jù)源文件標(biāo)識符;具有相同的數(shù)據(jù)源文件標(biāo)識符的索引分片因來自同一個或同一系列數(shù)據(jù)源文件,因而可以認(rèn)為內(nèi)容相關(guān)度較高。索引分片分析單元4還獲取每個索引分片存儲在其項(xiàng)當(dāng)中的標(biāo)記信息,對標(biāo)記信息進(jìn)行分析,從中提取關(guān)鍵詞(例如,統(tǒng)計(jì)標(biāo)記信息中的詞頻,詞頻最高的若干個詞被作為關(guān)鍵詞),作為所述關(guān)鍵詞標(biāo)識符。顯然,索引分片的關(guān)鍵詞標(biāo)識符的重合度越高,則其內(nèi)容相關(guān)度越高。
根據(jù)均衡原則以及索引分片的內(nèi)容相關(guān)度,本發(fā)明可由索引分片分配管理單元3對待分配的索引分片在集群的各節(jié)點(diǎn)之間進(jìn)行分配,下面具體介紹。
索引分片分配管理單元3獲取當(dāng)前待分配的索引分片的索引分片ID。當(dāng)前待分配的索引分片來自兩種情況:一是有新的數(shù)據(jù)源文件由Apache Lucene引擎單元1生成了索引分片,需要初次分配給節(jié)點(diǎn)集群2中各個節(jié)點(diǎn)進(jìn)行存儲和承擔(dān);二是節(jié)點(diǎn)集群2中的一個節(jié)點(diǎn)離線或不可用,因而需要將其它可用節(jié)點(diǎn)上的副本索引分片設(shè)為主索引分片,以替代該離線或不可用的節(jié)點(diǎn)上承擔(dān)的原主索引分片,相當(dāng)于將不可用的節(jié)點(diǎn)上的主索引分片重新分配到其它節(jié)點(diǎn)。前一種情況下,待分配索引分片的索引分片ID由Apache Lucene引擎單元1提供給索引分片分配管理單元3;后一種情況下,節(jié)點(diǎn)集群2將不可用節(jié)點(diǎn)的節(jié)點(diǎn)號傳輸給索引分片分配管理單元3,索引分片分配管理單元3通過該節(jié)點(diǎn)號查詢該不可用節(jié)點(diǎn)對應(yīng)的索引分片分配記錄表,根據(jù)該表中記錄的每個索引分片的主副標(biāo)識,將其中的主索引分片作為待分配索引分片,進(jìn)而獲得待分配索引分片的索引分片ID。
索引分片分配管理單元3具有節(jié)點(diǎn)能力狀態(tài)管理模塊,該模塊實(shí)時從集群的各節(jié)點(diǎn)獲得節(jié)點(diǎn)處理能力參數(shù),并通過節(jié)點(diǎn)能力狀態(tài)列表對各節(jié)點(diǎn)實(shí)時的節(jié)點(diǎn)處理能力參數(shù)進(jìn)行保存。節(jié)點(diǎn)處理能力參數(shù)是根據(jù)每個節(jié)點(diǎn)的可用計(jì)算能力、可用內(nèi)存空間、可用傳輸帶寬等因素計(jì)算的一個比例系數(shù);例如,根據(jù)節(jié)點(diǎn)2-1與節(jié)點(diǎn)2-N各自的可用計(jì)算能力、可用內(nèi)存空間、可用傳輸帶寬,確定節(jié)點(diǎn)2-1對索引分片被查詢調(diào)用所產(chǎn)生的負(fù)荷的可用處理能力是節(jié)點(diǎn)2-N的5倍,若將節(jié)點(diǎn)2-N的可用處理能力定義為基準(zhǔn)值,則為節(jié)點(diǎn)2-1確定的比例系數(shù)為5,而節(jié)點(diǎn)2-N的比例系數(shù)為1。
索引分片分配管理單元3具有分配方案確定模塊,分配方案確定模塊根據(jù)所獲取的當(dāng)前待分配的索引分片的索引分片ID,統(tǒng)計(jì)當(dāng)前分布在各熱度等級上的待分配索引分片的數(shù)量。對于初次分配的索引分片,因其熱度尚未得到確定,則可以默認(rèn)其為中熱度的索引分片;對于重新分配的索引分片,分配方案確定模塊可以通過查詢索引分片分配記錄表而取得待分配索引分片的熱度等級。例如,可以確定當(dāng)前待分配的全部索引分片當(dāng)中,高熱度等級的索引分片數(shù)量為6,中熱度等級的索引分片數(shù)量為18,低熱度等級的索引分片數(shù)量為24。
分配方案確定模塊確定集群中的可用節(jié)點(diǎn)及其節(jié)點(diǎn)號。在初次分配的情況下,集群中的全部具有剩余處理能力的節(jié)點(diǎn)均可以作為可用節(jié)點(diǎn)。但是,在重新分配的情況下,只有保存了待分配的主索引分片的副本索引分片的節(jié)點(diǎn)才能夠作為可用節(jié)點(diǎn)。但是,在重新分配的情況下,也可以將全部具有剩余處理能力的節(jié)點(diǎn)均可以作為可用節(jié)點(diǎn),然后利用下文中介紹的副本傳輸機(jī)制實(shí)現(xiàn)副本在節(jié)點(diǎn)之間的交換共享。
分配方案確定模塊基于均衡原則,通過查詢所述節(jié)點(diǎn)能力狀態(tài)列表當(dāng)中作為節(jié)點(diǎn)處理能力參數(shù)的比例系數(shù),按比例系數(shù)決定各可用節(jié)點(diǎn)在各熱度等級上分別承擔(dān)的待分配索引分片的數(shù)量。例如,前述節(jié)點(diǎn)2-1確定的比例系數(shù)為5,而節(jié)點(diǎn)2-N的比例系數(shù)為1,則節(jié)點(diǎn)2-1承擔(dān)高熱度等級的待分配索引分片的數(shù)量為5,節(jié)點(diǎn)2-N承擔(dān)高熱度等級的待分配索引分片的數(shù)量為1,即使所承擔(dān)的數(shù)量與比例系數(shù)成正比;相應(yīng)的,節(jié)點(diǎn)2-1承擔(dān)中熱度等級的待分配索引分片的數(shù)量為15,節(jié)點(diǎn)2-N承擔(dān)中熱度等級的待分配索引分片的數(shù)量為3;節(jié)點(diǎn)2-1承擔(dān)低熱度等級的待分配索引分片的數(shù)量為20,節(jié)點(diǎn)2-N承擔(dān)低熱度等級的待分配索引分片的數(shù)量為4。
分配方案確定模塊按照均衡原則確定了各可用節(jié)點(diǎn)在各熱度等級上分別承擔(dān)的待分配索引分片的數(shù)量。可以按照該數(shù)量將各熱度等級上的待分配索引分片隨機(jī)分派給可用節(jié)點(diǎn)2-1至2-N。但如果根據(jù)本發(fā)明的優(yōu)選方案進(jìn)行分派,還要進(jìn)一步考慮索引分片的內(nèi)容相關(guān)度。
因此,索引分片分配管理單元3的分配方案確定模塊獲得待分配的索引分片的內(nèi)容標(biāo)識符。如果是初次分配,分配方案確定模塊可以根據(jù)待分配索引分片的索引分片ID,從索引分片分析單元4直接取得內(nèi)容標(biāo)識符;對于重新分配,可以根據(jù)待分配索引分片的索引分片ID通過查詢索引分片分配記錄表而取得待分配索引分片的內(nèi)容標(biāo)識符。
分配方案確定模塊根據(jù)待分配的索引分片的內(nèi)容標(biāo)識符,確定每兩個待分配索引分片之間的內(nèi)容相關(guān)度。確定內(nèi)容相關(guān)度時,要考慮數(shù)據(jù)源文件標(biāo)識符和關(guān)鍵詞標(biāo)識符兩個方面。可按下述公式進(jìn)行確定:
R=a1·S+a2·K
其中R是表示兩個待分配索引分片之間的內(nèi)容相關(guān)度的量化參數(shù);S是根據(jù)兩個待分配索引分片的數(shù)據(jù)源文件標(biāo)識符評估的相關(guān)度量化參數(shù);如果這兩個待分配索引分片的數(shù)據(jù)源文件標(biāo)識符一致,表明二者來自同一個或同一系列數(shù)據(jù)源文件,則S取一個預(yù)定值(大于0);如果兩個待分配索引分片的數(shù)據(jù)源文件標(biāo)識符不一致,則S取值為0。K表示根據(jù)兩個待分配索引分片的關(guān)鍵詞標(biāo)識符的重合度所評估的相關(guān)度量化參數(shù),重合度可按二者的關(guān)鍵詞標(biāo)識符中相同的關(guān)鍵詞所占總關(guān)鍵詞數(shù)的占比來確定,并將將不同的占比區(qū)間映射為不同的預(yù)定K值;顯然,重合度越高,二者內(nèi)容相關(guān)度越高,則K值越大。將S和K加權(quán)求和,作為R,a1與a2是加權(quán)系數(shù)。如果搜索服務(wù)面向指定的有限的數(shù)據(jù)源,則可以降低S的加權(quán)比例,主要依靠K來計(jì)算內(nèi)容相關(guān)度;如果面向的是不特定的海量的數(shù)據(jù)源,則可以加大S的加權(quán)比例。
進(jìn)而,索引分片分配管理單元3的分配方案確定模塊根據(jù)內(nèi)容相關(guān)度,將同一熱度等級下的待分配索引分片分為若干個子集,每個子集對應(yīng)一個可用節(jié)點(diǎn),子集中的待分配索引分片的數(shù)量與該節(jié)點(diǎn)在本熱度等級中承擔(dān)的待分配索引分片的數(shù)量相同。例如,高熱度等級的待分配索引分片分為兩個子集,第一子集內(nèi)的待分配索引分片數(shù)量為5,供節(jié)點(diǎn)2-1承擔(dān),第二子集內(nèi)待分配索引分片數(shù)量為1,供節(jié)點(diǎn)2-N承擔(dān)。中熱度等級的待分配索引分片也分為兩個子集,第一子集內(nèi)的待分配索引分片數(shù)量為15,供節(jié)點(diǎn)2-1承擔(dān),第二子集內(nèi)待分配索引分片數(shù)量為3,供節(jié)點(diǎn)2-N承擔(dān)。低熱度等級的待分配索引分片同樣分為兩個子集,第一子集內(nèi)的待分配索引分片數(shù)量為20,供節(jié)點(diǎn)2-1承擔(dān),第二子集內(nèi)待分配索引分片數(shù)量為4,供節(jié)點(diǎn)2-N承擔(dān)。并且,以使各子集的索引分片兩兩之間的內(nèi)容相關(guān)度值的總累加和最小的方式,決定分入每個子集中的待分配索引分片。即,設(shè)中熱度等級的索引分片記為P1-P18,取其中15個如P1-P15,計(jì)算它們兩兩之間的內(nèi)容相關(guān)度值的累加和;對于P16-P18,也計(jì)算它們每兩個彼此之間的內(nèi)容相關(guān)度值的累加和;再將兩個累加和相加作為第一總累加和。再取其中15個如P2-P16,計(jì)算它們兩兩之間的內(nèi)容相關(guān)度值的累加和;然后對于P1、P17、P18,也計(jì)算它們兩兩之間的內(nèi)容相關(guān)度值的累加和;再將兩個累加和相加作為第二總累加和。依次類推,完成所有的排列組合方式,將所得總累加和最小的一種組合方式下的15個索引分片和3個索引分片分別分入第一子集和第二子集。從而,保證了總內(nèi)容相關(guān)度的最小化。分配方案確定模塊根據(jù)各熱度等級的待分配索引分片的各個子集,生成分配方案。所述分配方案包括各個子集對應(yīng)的節(jié)點(diǎn)號,子集內(nèi)的索引分片的索引分片ID。
在此之后,索引分片分配管理單元3的分配方案確定模塊按照所述分配方案來控制對索引分片在各節(jié)點(diǎn)之間的分配。
在初次分配的情況下,索引分片分配管理單元3將分配方案傳輸給Apache Lucene引擎單元1和索引分片分配記錄模塊;Apache Lucene引擎單元1按照分配方案中各個子集的節(jié)點(diǎn)號及索引分片ID,將索引分片ID對應(yīng)的索引分片傳輸給相應(yīng)節(jié)點(diǎn)號的節(jié)點(diǎn)進(jìn)行存儲和承擔(dān);索引分片分配記錄模塊則根據(jù)分配方案,更新每個節(jié)點(diǎn)的索引分片分配記錄表,在該表中為本節(jié)點(diǎn)新承擔(dān)下來的初次分配的每個索引分片建立條目,保存索引分片的索引分片ID、內(nèi)容標(biāo)識符、熱度等級以及主副標(biāo)識。
在重新分配的情況下,索引分片分配管理單元3將分配方案傳輸給Apache Lucene引擎單元1和索引分片分配記錄模塊,索引分片分配記錄模塊則根據(jù)分配方案,更新每個節(jié)點(diǎn)的索引分片分配記錄表;根據(jù)分配方案中的各個子集的節(jié)點(diǎn)號,查詢到相應(yīng)節(jié)點(diǎn)的索引分片分配記錄表,進(jìn)而根據(jù)該子集的索引分片ID,查詢到該索引分片的條目,將該條目的主副標(biāo)識更新為主索引分片。Apache Lucene引擎單元1根據(jù)該分配方案,將涉及到其中的索引分片的查詢請求重定位到指向重新分配后新的節(jié)點(diǎn)。本發(fā)明還可以進(jìn)一步實(shí)現(xiàn)副本傳輸機(jī)制,如果新的節(jié)點(diǎn)上沒有被分配的索引分片的副本或者副本已不可用,則可以向索引分片分配管理單元3反饋無索引分片副本,索引分片分配管理單元3會指令集群中具有該副本的節(jié)點(diǎn)向提出反饋的節(jié)點(diǎn)傳輸索引分片副本;提出反饋的節(jié)點(diǎn)收到索引分片的副本之后則按照分配方案承擔(dān)相應(yīng)的查詢調(diào)用。
從而,在本發(fā)明提出的基于索引分片均衡的大數(shù)據(jù)云搜索平臺及其方法當(dāng)中,對索引分片在集群中的可用節(jié)點(diǎn)之間的分配,不僅考慮了節(jié)點(diǎn)之間負(fù)荷的均衡,還考慮了被分配的索引分片在自身內(nèi)容上的相關(guān)性,將相關(guān)性高的索引分片分配給不同的節(jié)點(diǎn)進(jìn)行承擔(dān),從而合理高效地解決了分配問題。本發(fā)明能夠?qū)崿F(xiàn)索引分片被查詢調(diào)用所帶來的計(jì)算負(fù)荷在各個節(jié)點(diǎn)之間的均衡化分布,特別是能夠使由于某類內(nèi)容被公眾“熱搜”所造成的一部分索引分片熱度提升相對均衡地發(fā)生在各個節(jié)點(diǎn)之上,避免集群中部分節(jié)點(diǎn)過載造成的延遲過大等問題,也抑制部分節(jié)點(diǎn)過閑的現(xiàn)象存在。
以上實(shí)施例僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。