本發(fā)明涉及一種數(shù)據(jù)分析方法及系統(tǒng),尤其是一種基于zookeeper技術(shù)的數(shù)據(jù)分析方法及系統(tǒng)。
背景技術(shù):
隨著社會工業(yè)化、信息化水平的不斷提高,互聯(lián)網(wǎng)用戶呈現(xiàn)爆炸式增長的趨勢,大量的用戶在瀏覽、使用各種基于http協(xié)議的網(wǎng)站時,會產(chǎn)生了海量的數(shù)據(jù),這些數(shù)據(jù)中蘊藏著大量的有用信息,存在著各方面的應(yīng)用價值,因此如何將這些信息資源充分的開發(fā)利用成為眾多企業(yè)的研究方向,這其中如何處理和分析海量的數(shù)據(jù)又成為當前信息技術(shù)領(lǐng)域的難點和熱點問題。
采用中央數(shù)據(jù)庫分析方法的計算成本要比分析處理分布式的眾多小塊數(shù)據(jù)的總和的成本要高很多,所以在對海量信息中的可用數(shù)據(jù)資源進行分布式的大數(shù)據(jù)挖掘是最優(yōu)選方式,而目前市面上鮮有報道針對用戶上網(wǎng)的海量數(shù)據(jù)進行數(shù)據(jù)挖掘的有效技術(shù)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的就是為了解決現(xiàn)有技術(shù)中存在的上述問題,提供一種基于zookeeper技術(shù)的數(shù)據(jù)分析方法及系統(tǒng)。
本發(fā)明的目的通過以下技術(shù)方案來實現(xiàn):
基于zookeeper技術(shù)的數(shù)據(jù)分析方法,包括如下步驟:
s1,所有調(diào)度器、生產(chǎn)者向zookeeper注冊自身節(jié)點信息,選舉出主調(diào)度器、主生產(chǎn)者,各消費者向zookeeper注冊自身節(jié)點信息及其所在的消費者群組,并為其所在的消費者群組創(chuàng)建一個隊列以及通知主調(diào)度器;
s2,主調(diào)度器根據(jù)各消費者匯報的隊列,控制主生產(chǎn)者根據(jù)配置策略,將從已存在待處理數(shù)據(jù)的配置位置下載的待處理數(shù)據(jù)分別寫入各消費者群組中的相應(yīng)消費者本機,以及將待處理數(shù)據(jù)的本地存儲路徑注冊到相應(yīng)消費者對應(yīng)的隊列里;
s3,主調(diào)度器通知各消費者群組中的消費者進行待處理數(shù)據(jù)處理;
s4,各消費者按照指定原則獲取待處理數(shù)據(jù),進行解析、格式化處理,生成結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù),并導(dǎo)入到hadoop集群中;
s5,通過hive工具根據(jù)業(yè)務(wù)場景離線分析s4步驟中生成的結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù),并將分析結(jié)果集插入到關(guān)系型數(shù)據(jù)庫以及solr搜索引擎中。
優(yōu)選的,所述的基于zookeeper技術(shù)的數(shù)據(jù)分析方法,其中:在s1步驟中,在選舉所述主生產(chǎn)者時,所有生產(chǎn)者向zookeeper注冊自身節(jié)點信息,并請求創(chuàng)建/argus/lives/produsers/produsers#id目錄,都注冊成功了,取序號最小的節(jié)點作為主生產(chǎn)者。
優(yōu)選的,所述的基于zookeeper技術(shù)的數(shù)據(jù)分析方法,其中:在s1步驟中,在選舉所述主調(diào)度器時,所有調(diào)度器向zookeeper注冊自身節(jié)點信息并請求創(chuàng)建/argus/dispatchers/dispatcher#id目錄,都注冊成功了,取序號最小的節(jié)點作為主調(diào)度器。
優(yōu)選的,所述的基于zookeeper技術(shù)的數(shù)據(jù)分析方法,其中:在s2步驟中,所述待處理數(shù)據(jù)是數(shù)據(jù)采集器采集的http的流量鏡像數(shù)據(jù),所述數(shù)據(jù)采集器采用c語言編寫,所述http的流量鏡像數(shù)據(jù)由路由器通過旁路鏡像得到。
優(yōu)選的,所述的基于zookeeper技術(shù)的數(shù)據(jù)分析方法,其中:在s2步驟中,主生產(chǎn)者在下載待處理數(shù)據(jù)時根據(jù)數(shù)據(jù)采集器的數(shù)量采用多線程下載。
優(yōu)選的,所述的基于zookeeper技術(shù)的數(shù)據(jù)分析方法,其中:在所述s4步驟中,所述解析、格式化過程是將下載的每條http的流量數(shù)據(jù)中的refer屬性進行上下文關(guān)聯(lián),分析計算來關(guān)聯(lián)到每次的session,繼而還原整個訪問軌跡,并還原到當時的頁面請求快照。
優(yōu)選的,所述的基于zookeeper技術(shù)的數(shù)據(jù)分析方法,其中:在所述s4步驟中,消費者在進行解析、格式化處理,生成結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù)的任務(wù)時,根據(jù)處理結(jié)果進行下述處理:
當消費者反饋的任務(wù)結(jié)果是成功時,則主調(diào)度器將會通知該消費者對應(yīng)的隊列刪除數(shù)據(jù),并記錄日志;
當消費者反饋的任務(wù)結(jié)果是失敗時,則主調(diào)度器將該數(shù)據(jù)重新放入該消費者對應(yīng)的隊列來重試,并記錄數(shù)據(jù)的重試次數(shù),如果連續(xù)3-7次都失敗,則消費者會將數(shù)據(jù)保存進失敗目錄,同時向主調(diào)度器匯報失敗結(jié)果;
當消費者反饋的任務(wù)結(jié)果是超時,則主調(diào)度器直接通知該消費者對應(yīng)的隊列刪除數(shù)據(jù),并記錄日志。
基于zookeeper技術(shù)的數(shù)據(jù)分析系統(tǒng),包括
數(shù)據(jù)采集器,用于獲取由路由器通過旁路鏡像得到http的流量鏡像數(shù)據(jù),并存儲到指定位置;
zookeeper,用于感知發(fā)現(xiàn)節(jié)點、進行主節(jié)點選舉;
生產(chǎn)者,用于參加主節(jié)點選舉,并由主生產(chǎn)者從已存在待處理數(shù)據(jù)的配置位置下載待處理數(shù)據(jù),根據(jù)配置策略將待處理數(shù)據(jù)輪流寫入到各消費者群組中的相應(yīng)消費者本機,同時將待處理數(shù)據(jù)的本地存儲路徑注冊到相應(yīng)消費者對應(yīng)的隊列里,并向主調(diào)度器報告待處理數(shù)據(jù)數(shù)量;
調(diào)度器,用于參加主節(jié)點選舉,并由主調(diào)度器根據(jù)各消費者匯報的隊列,控制主生成者按照配置策略將下載的待處理數(shù)據(jù)分配給相應(yīng)消費者,并通知消費者處理及進行處理狀態(tài)的監(jiān)控管理;
消費者,用于創(chuàng)建隊列以及獲取待處理數(shù)據(jù),進行解析、格式化處理,生成結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù),并導(dǎo)入到hadoop集群中以及反饋任務(wù)結(jié)果給主調(diào)度器;
hadoop集群,用于通過hive工具根據(jù)業(yè)務(wù)場景離線分析消費者生成的結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù),并將分析結(jié)果集插入到關(guān)系型數(shù)據(jù)庫以及solr搜索引擎中。
優(yōu)選的,所述的基于zookeeper技術(shù)的數(shù)據(jù)分析系統(tǒng),其中:所述主調(diào)度器按照本地文件優(yōu)先的原則分配待處理數(shù)據(jù)給消費者。
優(yōu)選的,所述的基于zookeeper技術(shù)的數(shù)據(jù)分析系統(tǒng),其中:還包括用于存儲系統(tǒng)啟動基礎(chǔ)數(shù)據(jù)的redis緩存。
本發(fā)明技術(shù)方案的優(yōu)點主要體現(xiàn)在:
本發(fā)明設(shè)計精巧,過程簡單,通過位于協(xié)議層的數(shù)據(jù)采集器采集基于http協(xié)議的網(wǎng)站中的數(shù)據(jù),專用的數(shù)據(jù)采集器便于進行大數(shù)據(jù)的數(shù)據(jù)傳輸,提高數(shù)據(jù)傳輸效率,同時采用分布式任務(wù)調(diào)度框架,利用zookeeper來實現(xiàn)對任務(wù)的統(tǒng)籌管理,以便提供更為人性化的、更為方便的交互管理模式;進一步,在數(shù)據(jù)分析挖掘過程中利用hadoop系統(tǒng)(如hiveserver中安裝的基于hadoop的組件hive)來進行數(shù)據(jù)分析,從而既可以利用hadoop系統(tǒng)進行數(shù)據(jù)分析而避免了繁雜的對關(guān)系型數(shù)據(jù)庫的分表、拆表、合并等操作,簡化了數(shù)據(jù)分析流程,便于進行可視化查詢,又提供了更為方便地對任務(wù)進行調(diào)度、管理的技術(shù);結(jié)合專用的數(shù)據(jù)分析算法,能夠有效的挖掘出基于http協(xié)議的網(wǎng)站的有用數(shù)據(jù),提供了此種網(wǎng)絡(luò)數(shù)據(jù)的有效挖掘方法和系統(tǒng),為企業(yè)的發(fā)展和決策提供了數(shù)據(jù)支持。
采用本地文件優(yōu)先的任務(wù)分配原則,減少不必要的網(wǎng)絡(luò)io,有利于縮短數(shù)據(jù)的傳輸時間,提高數(shù)據(jù)的傳輸、分析效率。
具體實施方式
本發(fā)明的目的、優(yōu)點和特點,將通過下面優(yōu)選實施例的非限制性說明進行解釋。這些實施例僅是應(yīng)用本發(fā)明技術(shù)方案的典型范例,凡采取等同替換或者等效變換而形成的技術(shù)方案,均落在本發(fā)明要求保護的范圍之內(nèi)。
本發(fā)明揭示了一種基于zookeeper技術(shù)的數(shù)據(jù)分析系統(tǒng),包括數(shù)據(jù)采集器、zookeeper、生產(chǎn)者、調(diào)度器、消費者以及hadoop集群,整個系統(tǒng)采用分布式任務(wù)框架,分布式任務(wù)框架的日志使用slf4j工具來實現(xiàn)日志記錄,分布式任務(wù)框架處理日志與業(yè)務(wù)處理日志分開保存,在日志保存根目錄下,保存一份全量日志,該日志保存了完整的任務(wù)框架處理及業(yè)務(wù)處理日志,便于從總體分析、排查問題;在測試及調(diào)度階段同時提供控制臺日志,該日志也是全量的,在生產(chǎn)環(huán)境中應(yīng)關(guān)閉。
所述數(shù)據(jù)采集器用于獲取待處理數(shù)據(jù),并存儲到指定位置,所述待處理數(shù)據(jù)是由路由器通過旁路鏡像得到的http的流量鏡像數(shù)據(jù),它包括一次請求中包含的請求頭信息,請求體信息,響應(yīng)頭信息,響應(yīng)體等信息,所述數(shù)據(jù)采集器采用c語言進行編寫,能夠?qū)︾R像文件進行采集,基于linux內(nèi)核做增強,便于大數(shù)據(jù)量的數(shù)據(jù)傳輸,可以根據(jù)操作系統(tǒng)做編譯,其采集到的數(shù)據(jù)會存在中間服務(wù)器等待處理。
所述zookeeper至少用于感知發(fā)現(xiàn)節(jié)點、進行主節(jié)點選舉,整個系統(tǒng)的分布式狀態(tài)一致由zookeeper管理。
所述生產(chǎn)者用于參加主節(jié)點選舉,并且在選舉出主生產(chǎn)者后,由主生產(chǎn)者從已存在待處理數(shù)據(jù)的配置位置下載待處理數(shù)據(jù),并根據(jù)配置策略將待處理數(shù)據(jù)輪流寫入到各消費者群組包含的消費者本機,同時將待處理數(shù)據(jù)的本地存儲地址注冊到各消費者對應(yīng)的隊列里,并向下述的主調(diào)度器報告待處理數(shù)據(jù)的數(shù)量,其進程與調(diào)度器、消費者進程可以運行在一臺機器上,并且,只要數(shù)據(jù)采集器將采集到的待處理數(shù)據(jù)存放到中間服務(wù)器指定的位置,生產(chǎn)者就啟動數(shù)據(jù)下載。
所述生產(chǎn)者運行時采用主-從模式,多個生產(chǎn)者不能同時通過ftp下載數(shù)據(jù),如果需要同時有多個生產(chǎn)者ftp下載數(shù)據(jù)的話,則需要從文件選擇策略上隔離文件,以避免多個生產(chǎn)者下載到同一個文件導(dǎo)致錯誤。
所述主生產(chǎn)者下載文件時,根據(jù)數(shù)據(jù)采集器的數(shù)量,采用多線程下載,一臺線程下載一臺機器上的數(shù)據(jù),下載量為工單提交的請求量,所述工單是系統(tǒng)內(nèi)部定義的一個對象,由后臺進行配置,主生產(chǎn)者在下載文件后,將文件存放至工單指定的目錄(該目錄使用nfs掛載);并且,下載時可以使用已經(jīng)實現(xiàn)的策略,也可以使用自定義策略,可選的策略有:按數(shù)量下載、按時間片下載、按指定模式的文件名下載。
主生產(chǎn)者在下載待處理數(shù)據(jù)后,根據(jù)下述的主調(diào)度器的調(diào)度,按照如下配置策略將數(shù)據(jù)寫入到各消費者群組對應(yīng)的消費者本機中,
(1)按消費者群組的數(shù)量分配,比如共有3個群組,它們的消費能力都是40,則分配數(shù)量為:群組a40個,群組b40個,群組c20個。
(2)按比例分配,比如共有3個群組,它們的消費能力是40,則分配數(shù)量時按各自比例來分配:群組a34個,群組b33個,群組c33個。
(3)動態(tài)壓力分配,在分配之前獲取各生產(chǎn)者的壓力情況,如果壓力大,則暫緩?fù)撊航M分配文件。
(4)指定分配,完全由人工指定分配。
生產(chǎn)者的任務(wù)接口主要為了解耦任務(wù)框架的邏輯和業(yè)務(wù)邏輯,任務(wù)接口只做與框架任務(wù)調(diào)度的事情,業(yè)務(wù)邏輯通過實現(xiàn)producttaskhandler接口,該接口由框架調(diào)用來完成整個生產(chǎn)邏輯??蚣芴峁┑木€程池提供了線程隔離來保證線程安全,具體業(yè)務(wù)實現(xiàn)時無需考慮線程安全問題。
所述調(diào)度器用于參加主節(jié)點選舉,并且在選出主調(diào)度器后,由主調(diào)度器根據(jù)各消費者匯報的隊列,控制主生成者將其下載的待處理數(shù)據(jù)分配給相應(yīng)的消費者(即根據(jù)本地優(yōu)先原則,將待處理數(shù)據(jù)寫入各消費者本機),并通知消費者處理及進行處理狀態(tài)的監(jiān)控管理、進行數(shù)據(jù)可靠性管理、控制消費者壓力。
調(diào)度器采用一主多從結(jié)構(gòu),活動調(diào)度器稱為主調(diào)度器,非活動調(diào)度器稱為從調(diào)度器,在某一時刻只能有一個主調(diào)度器工作,在分配待處理數(shù)據(jù)時,所述主調(diào)度器按照本地文件優(yōu)先的原則分配待處理數(shù)據(jù)給消費者,即控制各生產(chǎn)者將待處理數(shù)據(jù)寫到各消費者本機上。
所述消費者用于在向zookeeper注冊時,為其所在的消費者群組創(chuàng)建一個隊列以及根據(jù)所述主調(diào)度器的通知獲取待處理數(shù)據(jù),放進相應(yīng)的線程進行處理,并將任務(wù)處理結(jié)果反饋給主調(diào)度器以及在任務(wù)處理成功時,將生成的數(shù)據(jù)導(dǎo)入到hadoop集群中。
其中,所述隊列使用activemq實現(xiàn),隊列中保存的元素信息為下載的待處理文件的本地存儲路徑。
在相應(yīng)線程中的處理包括對待處理數(shù)據(jù)進行解析、格式化處理,生成結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù),其任務(wù)處理結(jié)果分為成功、失敗以及超時。
當消費者反饋的任務(wù)結(jié)果是成功時,則主調(diào)度器將會向該消費者對應(yīng)的隊列發(fā)送簽收信息以通知隊列刪除數(shù)據(jù),并記錄日志,隨后主調(diào)度器會重新分配新的任務(wù)給消費者。
當消費者反饋的任務(wù)結(jié)果是失敗時,則主調(diào)度器將該待處理數(shù)據(jù)重新放入該消費者對應(yīng)的隊列來重試,并記錄數(shù)據(jù)的重試次數(shù),如果連續(xù)3-7次都失敗,優(yōu)選為5次,則消費者會將該待處理數(shù)據(jù)保存進失敗目錄,同時向主調(diào)度器匯報失敗結(jié)果。
當消費者反饋的任務(wù)結(jié)果是超時,則主調(diào)度器直接通知該消費者對應(yīng)的隊列刪除數(shù)據(jù),并記錄日志。
消費者的任務(wù)接口主要為了解耦任務(wù)框架的邏輯和業(yè)務(wù)邏輯,任務(wù)接口只做與框架任務(wù)調(diào)度的事情,業(yè)務(wù)邏輯通過taskcallback和taskresulthandler接口實現(xiàn),這兩個接口由框架調(diào)用來完成整個生產(chǎn)邏輯,框架提供的線程池來提供了線程隔離保證線程安全,具體業(yè)務(wù)實現(xiàn)時無需考慮線程安全問題。
所述hadoop集群用于通過hive工具根據(jù)業(yè)務(wù)場景離線分析消費者生成的結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù),并將分析結(jié)果集插入到關(guān)系型數(shù)據(jù)庫以及solr搜索引擎中。
所述離線分析基于hive和hbase工具,例如可通過mapreduce和spark計算框架,構(gòu)建統(tǒng)計分析平臺,提供對離線數(shù)據(jù)的查詢檢索分析功能以及通過集成rstudio頁面ide,提供基于spark計算框架的r語言運行和開發(fā)環(huán)境,并集成基本的挖掘算法,支持自定義挖掘算法,提供對離線數(shù)據(jù)的挖掘分析。
由于所述的基于zookeeper技術(shù)的數(shù)據(jù)分析系統(tǒng)在啟動時,需要大量基礎(chǔ)數(shù)據(jù),這部分數(shù)據(jù)變化頻率極低,適合放入緩存以避免每次從數(shù)據(jù)庫中獲取,提高性能,本系統(tǒng)中選用redis緩存,進入緩存時,遵循如下規(guī)則:首先查詢數(shù)據(jù)時先到緩存中查找,如果存在指定的key,則返回數(shù)據(jù)。如果不存在指定的key,則先到數(shù)據(jù)庫查詢數(shù)據(jù)后,將數(shù)據(jù)寫入緩存,再返回數(shù)據(jù)。
本發(fā)明的基于zookeeper技術(shù)的數(shù)據(jù)分析系統(tǒng)的工作過程,包括如下步驟:
s1,所有調(diào)度器向zookeeper注冊自身節(jié)點信息并啟動,選舉出主調(diào)度器,調(diào)度器向zookeeper的/argus/dispatchers目錄下注冊節(jié)點時,該節(jié)點名稱為:dispatcher#id,其中id為正整數(shù),取值范圍為[1,255],節(jié)點寫入內(nèi)容包括如下示例內(nèi)容:
type:dispatcher
id:1
launchtime:2014-05-0611:23:22.333
ip:192.168.1.201
nettyport:12301。
在選舉所述主調(diào)度器時,所有調(diào)度器向zookeeper注冊自身節(jié)點信息并請求創(chuàng)建/argus/dispatchers/dispatcher#id目錄,都注冊成功了,取序號最小(id最小)的節(jié)點作為主調(diào)度器。
master節(jié)點選舉出來后,相應(yīng)的調(diào)度器把自己的信息寫入至/argus/master/dispatcher下,名稱和內(nèi)容與自身的信息保持一致。
所有生產(chǎn)者向zookeeper注冊自身節(jié)點信息并啟動,具體的,生產(chǎn)者向zookeeper的/argus/livers/producers/ids/注冊自身節(jié)點信息,該節(jié)點名稱為:id,其中id為正整形數(shù)字,取值范圍為[1,255],節(jié)點寫入內(nèi)容包括如下示例內(nèi)容:
type:producer
id:1
launchtime:2014-05-0611:23:22.333
ip:192.168.1.201。
生產(chǎn)者啟動完成后,將會進行主節(jié)點選舉,選舉出主生產(chǎn)者,所述主生產(chǎn)者是所有生產(chǎn)者向zookeeper注冊自身節(jié)點信息并請求創(chuàng)建/argus/lives/produsers/produsers#id目錄時,都注冊成功了且序號(id)最小的節(jié)點。
如果主生產(chǎn)者或主調(diào)度器宕機時,則對應(yīng)的臨時節(jié)點就會消失,此時再次進行master選舉即可。
各消費者向zookeeper注冊自身節(jié)點信息并啟動時,為了便于后續(xù)將本地文件發(fā)送給消費者,需要在livers目錄下創(chuàng)建路徑為該機器ip的子目錄,然后在該子目錄下注冊自身節(jié)點信息,該節(jié)點名稱為:consumer#id,其中id為正整形數(shù)字,取值范圍為[1,255],節(jié)點寫入內(nèi)容包括如下示例內(nèi)容:
type:consumer
id:1
launchtime:2014-05-0611:23:22.333
ip:192.168.1.201
throughput:30
其中throughput為吞吐量。
消費者在啟動時會同時注冊自身所在的消費者群組至zookeeper,同時為其所在的消費者群組創(chuàng)建一個隊列并匯報給主調(diào)度器,其中消費者群組是由過個同類型的消費節(jié)點構(gòu)成的小集群,同一消費者集群中的多個消費者可以在不同的本機上,zookeeper根據(jù)消費的topic注冊每個生產(chǎn)者與消費者本機的配對關(guān)系,生產(chǎn)者根據(jù)topic至/topic/consumer_group獲取子節(jié)點列表,該列表是有序的。
s2,主調(diào)度器根據(jù)各消費者匯報的隊列,通知主生產(chǎn)者,主生產(chǎn)者通過zookeeper獲取相應(yīng)的消費者本機(即每個消費者進程所在的本機),從已存在待處理數(shù)據(jù)的配置位置下載待處理數(shù)據(jù),并根據(jù)上述的配置策略將待處理數(shù)據(jù)分別寫入到各消費者群組相應(yīng)的消費者本機中,以及將待處理數(shù)據(jù)的本地存儲路徑注冊到相應(yīng)消費者對應(yīng)的隊列里,主生產(chǎn)者向主調(diào)度器報告已完成下載及待處理數(shù)據(jù)的數(shù)量。
s3,所述主調(diào)度器通知各消費者群組中的消費者進行待處理數(shù)據(jù)處理,并監(jiān)控任務(wù)處理情況及進行調(diào)度。
s4,各消費者按照指定原則從與其匹配的隊列里獲取待處理數(shù)據(jù)的本地存儲路徑,進而獲得本地的待處理數(shù)據(jù)進行解析、格式化處理,生成結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù),并導(dǎo)入到hadoop集群中;所述解析、格式化過程是將下載的每條http的流量數(shù)據(jù)中的refer屬性進行上下文關(guān)聯(lián),分析計算來關(guān)聯(lián)到每次的session,繼而還原整個訪問軌跡,并還原到當時的頁面請求快照。
s5,通過hive工具根據(jù)業(yè)務(wù)場景離線分析s4步驟中生成的結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù),形成分析結(jié)果集插入到關(guān)系型數(shù)據(jù)庫以及solr搜索引擎中。
上文所列出的一系列的詳細說明僅僅是針對本發(fā)明的可行性實施方式的具體說明,它們并非用以限制本發(fā)明的保護范圍,凡未脫離本發(fā)明技藝精神所作的等效實施方式或變更均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。