本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及一種識別報文所屬組件的方法和計算設(shè)備。
背景技術(shù):
隨著網(wǎng)絡(luò)通信技術(shù)的迅速發(fā)展、所承載信息的日益豐富,互聯(lián)網(wǎng)已成為人類社會重要的基礎(chǔ)設(shè)施,越來越多的企業(yè)或者個人通過網(wǎng)絡(luò)服務(wù)器以及服務(wù)器的各種組件向用戶提供網(wǎng)絡(luò)內(nèi)容和服務(wù)。
網(wǎng)絡(luò)服務(wù)器的各種組件在給人們的生活帶來各種方便的同時,也給網(wǎng)絡(luò)安全管理帶來一些嚴(yán)峻的問題,例如組件可能攜帶安全漏洞、病毒、木馬等,造成用戶隱私泄露、網(wǎng)絡(luò)安全隱患。因此對組件進行識別十分關(guān)鍵。
通常地,可以通過識別報文來確定其所屬組件,但目前這一過程主要由人工完成,需要由識別人員從報文中提取有效的關(guān)鍵字段,再借助搜索引擎判斷組件類型、所屬公司和型號,由于報文種類繁多,復(fù)雜度較高,整個過程耗費極大的人力和時間。
因此,迫切需要一種更先進的識別報文所屬組件的方案。
技術(shù)實現(xiàn)要素:
為此,本發(fā)明提供一種識別報文所屬組件的方案,以力圖解決或者至少緩解上面存在的至少一個問題。
根據(jù)本發(fā)明的一個方面,提供了一種識別報文所屬組件的方法,適于在計算設(shè)備中執(zhí)行,該方法包括步驟:從待識別報文中提取至少一個關(guān)鍵字段;對于所提取的一個關(guān)鍵字段,利用搜索引擎查詢該關(guān)鍵字段,以得到多個包含有該關(guān)鍵字段的報文、以及返回該報文的ip地址;分別獲取查詢到的每個ip地址指向的網(wǎng)絡(luò)內(nèi)容的截圖;根據(jù)所獲取的多個網(wǎng)絡(luò)內(nèi)容的截圖來判斷該關(guān)鍵字段是否有效;對于基于有效的關(guān)鍵字段而獲取的每個網(wǎng)絡(luò)內(nèi)容截圖,計算查詢到的、指向該網(wǎng)絡(luò)內(nèi)容的ip地址返回的報文與待識別報文的相似度;選取其中相似度最高的報文所對應(yīng)的網(wǎng)絡(luò)內(nèi)容的截圖,根據(jù)該截圖,采用預(yù)先建立的深度學(xué)習(xí)模型來獲取待識別報文的組件信息;以及根據(jù)該組件信息確定待識別報文所屬的組件。
根據(jù)本發(fā)明的另一方面,提供了一種計算設(shè)備,包括:一個或多個處理器;存儲器;以及一個或多個程序,其中一個或多個程序存儲在存儲器中并被配置為由一個或多個處理器執(zhí)行,一個或多個程序包括用于執(zhí)行根據(jù)本發(fā)明的識別報文所屬組件的方法中的任一方法的指令。
根據(jù)本發(fā)明的還有一個方面,提供了一種存儲程序的可讀存儲介質(zhì),程序包括指令,該指令當(dāng)由計算設(shè)備執(zhí)行時,使得計算設(shè)備執(zhí)行根據(jù)本發(fā)明的識別報文所屬組件的方法中的任一方法。
根據(jù)本發(fā)明的識別報文所屬組件的方案,通過獲取其報文包含有從待識別報文中提取的關(guān)鍵字段的多個報文,并利用深度學(xué)習(xí)模型來獲取待識別報文的組件信息,最后根據(jù)組件信息確定組件,實現(xiàn)了報文所屬組件的自動化識別,極大地節(jié)省了人力和時間成本。
其中,還根據(jù)返回所獲取的報文的多個ip地址指向的網(wǎng)絡(luò)內(nèi)容的截圖來判斷關(guān)鍵字段是否有效,從而避免了利用無效關(guān)鍵字段進行識別的冗余流程,提高了識別效率。
附圖說明
為了實現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護的主題的范圍內(nèi)。通過結(jié)合附圖閱讀下面的詳細(xì)描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。遍及本公開,相同的附圖標(biāo)記通常指代相同的部件或元素。
圖1示出了根據(jù)本發(fā)明的一個示例性實施方式的計算設(shè)備100的結(jié)構(gòu)框圖;
圖2示出了根據(jù)本發(fā)明的一個示例性實施方式的識別報文所屬組件的方法200的流程圖;以及
圖3示出了根據(jù)本發(fā)明一個示例性實施方式的網(wǎng)絡(luò)空間搜索引擎的查詢結(jié)果的頁面截圖。
具體實施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
圖1示出了根據(jù)本發(fā)明一個示例性實施例的計算設(shè)備100的結(jié)構(gòu)框圖。該計算設(shè)備100可以實現(xiàn)為服務(wù)器,例如文件服務(wù)器、數(shù)據(jù)庫服務(wù)器、應(yīng)用程序服務(wù)器和網(wǎng)絡(luò)服務(wù)器等,也可以實現(xiàn)為包括桌面計算機和筆記本計算機配置的個人計算機。此外,計算設(shè)備100還可以實現(xiàn)為小尺寸便攜(或者移動)電子設(shè)備的一部分,這些電子設(shè)備可以是諸如蜂窩電話、個人數(shù)字助理(pda)、個人媒體播放器設(shè)備、無線網(wǎng)絡(luò)瀏覽設(shè)備、個人頭戴設(shè)備、應(yīng)用專用設(shè)備、或者可以包括上面任何功能的混合設(shè)備。
在基本的配置102中,計算設(shè)備100典型地包括系統(tǒng)存儲器106和一個或者多個處理器104。存儲器總線108可以用于在處理器104和系統(tǒng)存儲器106之間的通信。
取決于期望的配置,處理器104可以是任何類型的處理,包括但不限于:微處理器((μp)、微控制器(μc)、數(shù)字信息處理器(dsp)或者它們的任何組合。處理器104可以包括諸如一級高速緩存110和二級高速緩存112之類的一個或者多個級別的高速緩存、處理器核心114和寄存器116。示例的處理器核心114可以包括運算邏輯單元(alu)、浮點數(shù)單元(fpu)、數(shù)字信號處理核心(dsp核心)或者它們的任何組合。示例的存儲器控制器118可以與處理器104一起使用,或者在一些實現(xiàn)中,存儲器控制器218可以是處理器104的一個內(nèi)部部分。
取決于期望的配置,系統(tǒng)存儲器106可以是任意類型的存儲器,包括但不限于:易失性存儲器(諸如ram)、非易失性存儲器(諸如rom、閃存等)或者它們的任何組合。系統(tǒng)存儲器106可以包括操作系統(tǒng)120、一個或者多個程序122以及程序數(shù)據(jù)124。在一些實施方式中,程序122可以被配置為在操作系統(tǒng)上由一個或者多個處理器104利用程序數(shù)據(jù)124執(zhí)行指令。
計算設(shè)備100還可以包括有助于從各種接口設(shè)備(例如,輸出設(shè)備142、外設(shè)接口144和通信設(shè)備146)到基本配置102經(jīng)由總線/接口控制器130的通信的接口總線140。示例的輸出設(shè)備142包括圖形處理單元148和音頻處理單元150。它們可以被配置為有助于經(jīng)由一個或者多個a/v端口152與諸如顯示器或者揚聲器之類的各種外部設(shè)備進行通信。示例外設(shè)接口144可以包括串行接口控制器154和并行接口控制器156,它們可以被配置為有助于經(jīng)由一個或者多個i/o端口158和諸如輸入設(shè)備(例如,鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備)或者其他外設(shè)(例如打印機、掃描儀等)之類的外部設(shè)備進行通信。示例的通信設(shè)備146可以包括網(wǎng)絡(luò)控制器160,其可以被布置為便于經(jīng)由一個或者多個通信端口164與一個或者多個其他計算設(shè)備162通過網(wǎng)絡(luò)通信鏈路的通信。
網(wǎng)絡(luò)通信鏈路可以是通信介質(zhì)的一個示例。通信介質(zhì)通常可以體現(xiàn)為在諸如載波或者其他傳輸機制之類的調(diào)制數(shù)據(jù)信號中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,并且可以包括任何信息遞送介質(zhì)?!罢{(diào)制數(shù)據(jù)信號”可以這樣的信號,它的數(shù)據(jù)集中的一個或者多個或者它的改變可以在信號中編碼信息的方式進行。作為非限制性的示例,通信介質(zhì)可以包括諸如有線網(wǎng)絡(luò)或者專線網(wǎng)絡(luò)之類的有線介質(zhì),以及諸如聲音、射頻(rf)、微波、紅外(ir)或者其它無線介質(zhì)在內(nèi)的各種無線介質(zhì)。這里使用的術(shù)語計算機可讀介質(zhì)可以包括存儲介質(zhì)和通信介質(zhì)二者。
其中,計算設(shè)備100的一個或多個程序122包括用于執(zhí)行根據(jù)本發(fā)明的識別報文所屬組件的方法中任一方法的指令。根據(jù)本發(fā)明的識別報文所屬組件的方法,通過獲取其報文包含有從待識別報文中提取的關(guān)鍵字段的多個報文,并利用深度學(xué)習(xí)模型來獲取待識別報文的組件信息,最后根據(jù)組件信息確定組件,實現(xiàn)了報文所屬組件的自動化識別,極大地節(jié)省了人力和時間成本。
圖2示出了根據(jù)本發(fā)明一個示例性實施方式的識別報文所屬組件的方法200的流程圖。識別報文所屬組件的方法200適于在計算設(shè)備100中執(zhí)行,并始于步驟s210。
在步驟s210中,從待識別報文中提取至少一個關(guān)鍵字段。具體地,可以根據(jù)預(yù)置的關(guān)鍵字集合,在待識別的報文中通過字符串匹配得到至少一個關(guān)鍵字段。例如,待識別的報文可以如下:
預(yù)置的關(guān)鍵字集合可以為server:|www-authenticate:basicrealm=|location=|<title>,那么根據(jù)該關(guān)鍵字集合,最后得到的關(guān)鍵字段為www-authenticate:basicrealm="camera_authenticate1"。
通常地,提取到的關(guān)鍵字段為多個,那么接著對于所提取的其中一個關(guān)鍵字段,在步驟s220中,利用搜索引擎查詢該關(guān)鍵字段,以得到多個包含有該關(guān)鍵字段的報文、以及返回該報文的ip地址。
這里的搜索引擎可以是諸如zoomeye和shadon之類的網(wǎng)絡(luò)空間搜索引擎,多個可以是諸如5個之類的固定數(shù)目。圖3示出了根據(jù)本發(fā)明一個示例性實施方式的網(wǎng)絡(luò)空間搜索引擎的查詢結(jié)果的頁面截圖,在如圖3所示的實施例中,在網(wǎng)絡(luò)空間搜索引擎zoomeye中以serverapache為搜索詞進行查詢,返回的查詢結(jié)果包括多個包含有serverapache的報文、以及返回該報文的ip地址??梢栽谄渲须S機抽取更新時間較新的固定數(shù)目個報文和返回該報文的ip地址,以進行后續(xù)處理。
在步驟s230中,分別獲取查詢到的每個ip地址指向的網(wǎng)絡(luò)內(nèi)容的截圖。具體地,經(jīng)由瀏覽器訪問每個查詢到的ip地址,并將顯示在瀏覽器上的網(wǎng)絡(luò)內(nèi)容截圖。
獲取截圖之后,在步驟s240中,根據(jù)所獲取的多個網(wǎng)絡(luò)內(nèi)容的截圖來判斷該關(guān)鍵字段是否有效。具體地,對于所獲取的多個網(wǎng)絡(luò)內(nèi)容的截圖,判斷其中每兩個網(wǎng)絡(luò)內(nèi)容的截圖是否相似,例如,所獲取的多個網(wǎng)絡(luò)內(nèi)容的截圖為截圖1~3,則分別判斷其中截圖1和截圖2、截圖1和截圖3、截圖2和截圖3是否相似。
根據(jù)本發(fā)明的一個實施例,可以使用sift算法來判斷兩個截圖是否相似。具體地,可以使用sift算法分別提取兩個截圖的sift特征,通過對兩個截圖的sift特征進行匹配,來判斷兩個截圖是否相似。其中,可以通過特征匹配對數(shù)量是否超過預(yù)定的相似比例來確定兩個截圖是否相似。
對每兩個網(wǎng)絡(luò)內(nèi)容的截圖進行相似判斷后,可以得到多個判斷結(jié)果。若所得到的多個判斷結(jié)果中不相似的數(shù)目沒有超過預(yù)定比例,則確定該關(guān)鍵字段有效,若多個判斷結(jié)果中不相似的數(shù)目超過預(yù)定比例確定該關(guān)鍵字段無效。例如,所獲取的多個網(wǎng)絡(luò)內(nèi)容的截圖為截圖1~3,截圖1和截圖2、截圖1和截圖3、截圖2和截圖3的判斷結(jié)果分別為不相似、不相似、相似,其中不相似的數(shù)目占比為2/3,超過了預(yù)定比例1/2,因此確定對應(yīng)的關(guān)鍵字段無效。這樣,就避免了利用無效關(guān)鍵字段進行識別的冗余流程,提高了識別效率。
可以理解地,網(wǎng)絡(luò)內(nèi)容截圖是否相似可以反映其對應(yīng)的報文是否相似,因此當(dāng)查詢某個關(guān)鍵字段得到的多個報文多數(shù)都相似時,那么可以認(rèn)為包含該關(guān)鍵字段的所有報文存在一定規(guī)律,那么待識別報文也自然與這些報文相似,因此通過這些報文提取出的組件信息可以認(rèn)為是待識別報文的組件信息。
而當(dāng)查詢某個關(guān)鍵字段得到的多個報文彼此之間多數(shù)都不相似時,可以認(rèn)為包含該關(guān)鍵字段的報文不存在規(guī)律,無法通過這些報文提取出具有典型性的、通用的組件信息,因而可以認(rèn)為該關(guān)鍵字段無效。
在確定一個關(guān)鍵字段無效之后,還需要繼續(xù)對所提取的其他的無效字段重復(fù)上述查詢、獲取、判斷該關(guān)鍵字段是否有效的步驟,直至確定某個關(guān)鍵字段有效、或者全部關(guān)鍵字段無效為止。若全部關(guān)鍵字段均為無效,則可以認(rèn)為該待識別報文為無法識別的報文,不再對其進行識別。
若確定一個關(guān)鍵字段有效,則在步驟s250中,對于基于該有效的關(guān)鍵字段而獲取的每個包含有該關(guān)鍵字段的報文,均計算該報文與待識別報文的相似差值。
具體地,可以刪除兩個報文所包含的時間信息,再利用levenshtein算法計算兩個報文之間的相似差值。
假設(shè),待識別報文如下:
http/1.1505httpversionnotsupported\nserver:hphttpserver;hphpofficejetprox551dwprinter-cv037a;serialnumber:cn584kj0c2;built:frijan09,201502:58:26pm{bzp1cn1502ar}
將其刪除時間信息后如下:
http/1.1505httpversionnotsupported\nserver:hphttpserver;hphpofficejetprox551dwprinter-cv037a;serialnumber:cn584kj0c2;built:{bzp1cn1502ar}
又假設(shè),查詢到的報文如下:
http/1.1505httpversionnotsupported\nserver:hphttpserver;hphpofficejetprox476dwmfp-cn461a;serialnumber:cn45kik01v;built:tuenov24,201503:37:44pm{lwp1cn1548ar}
將其刪除時間信息后如下:
http/1.1505httpversionnotsupported\nserver:hphttpserver;hphpofficejetprox476dwmfp-cn461a;serialnumber:cn45kik01v;built:{lwp1cn1548ar}
最后,利用levenshtein算法計算得到的兩個報文之間的相似差值為26,即待識別報文變換到查詢到的報文所需要修改的字?jǐn)?shù)。
在步驟s260中,選取其中相似差值最小的預(yù)定數(shù)目個報文(即與待識別報文最相似的報文),并根據(jù)這些報文采用預(yù)先建立的深度學(xué)習(xí)模型來獲取待識別報文的組件信息。這樣,可以進一步提高最后識別出的組件的準(zhǔn)確度。
具體地,可將所選取的預(yù)定數(shù)目個報文輸入至該深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)中,以得到其輸出的組件信息。其中,深度學(xué)習(xí)模型為深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),根據(jù)本發(fā)明的一個實施例,可以通過tensorflow框架構(gòu)建深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),根據(jù)輸入信息的情況,將深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的層數(shù)設(shè)置為5~9層,每一層均為卷積層,每一層的具體參數(shù)在訓(xùn)練過程中需要調(diào)整。在每一層卷積層計算結(jié)束后,利用elu函數(shù)作為激活函數(shù),將最后一層卷積層激活后接入全連接層,并輸入到softmax函數(shù)進行處理,從而構(gòu)建出第一深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)和第二深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。在后續(xù)訓(xùn)練過程中,將softmax函數(shù)的預(yù)測結(jié)果和真實的標(biāo)簽值作為輸入,利用cross-entropy算法計算對應(yīng)的loss值,將loss值輸入到momentum優(yōu)化方法計算梯度,并更新深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的模型參數(shù)。另外,可以采用屬于相同組件的預(yù)定數(shù)目個不同報文和共同的組件信息作為樣本對該深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。
例如,一個待識別報文如下:
提取出的有效的關(guān)鍵字段如下:
<title>bitnami:opensource.simplified</title>
在網(wǎng)絡(luò)空間搜索引擎查詢到的相似差值最小的3個報文如下:
將這3個報文輸入深度學(xué)習(xí)模型后,可以得到輸出的組件信息為:bitnami。得到組件信息之后,最后在步驟s270中,可以根據(jù)該組件信息確定待識別報文所屬的組件。例如,得到的組件信息為tomcat,根據(jù)該領(lǐng)域的常識性經(jīng)驗,可以判斷組件為apache。還可以利用諸如google、baidu之類的搜索引擎搜索tomcat,從而根據(jù)返回的搜索結(jié)果確定組件。
應(yīng)當(dāng)理解,這里描述的各種技術(shù)可結(jié)合硬件或軟件,或者它們的組合一起實現(xiàn)。從而,本發(fā)明的方法和設(shè)備,或者本發(fā)明的方法和設(shè)備的某些方面或部分可采取嵌入有形媒介,例如軟盤、cd-rom、硬盤驅(qū)動器或者其它任意機器可讀的存儲介質(zhì)中的程序代碼(即指令)的形式,其中當(dāng)程序被載入諸如計算機之類的機器,并被該機器執(zhí)行時,該機器變成實踐本發(fā)明的設(shè)備。
在程序代碼在可編程計算機上執(zhí)行的情況下,計算設(shè)備一般包括處理器、處理器可讀的存儲介質(zhì)(包括易失性和非易失性存儲器和/或存儲元件),至少一個輸入裝置,和至少一個輸出裝置。其中,存儲器被配置用于存儲程序代碼;處理器被配置用于根據(jù)該存儲器中存儲的該程序代碼中的指令,執(zhí)行本發(fā)明的各種方法。
以示例而非限制的方式,計算機可讀介質(zhì)包括計算機存儲介質(zhì)和通信介質(zhì)。計算機可讀介質(zhì)包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息。通信介質(zhì)一般以諸如載波或其它傳輸機制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并且包括任何信息傳遞介質(zhì)。以上的任一種的組合也包括在計算機可讀介質(zhì)的范圍之內(nèi)。
應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開的示例中的設(shè)備的模塊或單元或組件可以布置在如該實施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個或多個設(shè)備中。前述示例中的模塊可以組合為一個模塊或者此外可以分成多個子模塊。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
此外,所述實施例中的一些在此被描述成可以由計算機系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實施的方法或方法元素的組合。因此,具有用于實施所述方法或方法元素的必要指令的處理器形成用于實施該方法或方法元素的裝置。此外,裝置實施例的在此所述的元素是如下裝置的例子:該裝置用于實施由為了實施該發(fā)明的目的的元素所執(zhí)行的功能。
如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來描述普通對象僅僅表示涉及類似對象的不同實例,并且并不意圖暗示這樣被描述的對象必須具有時間上、空間上、排序方面或者以任意其它方式的給定順序。
盡管根據(jù)有限數(shù)量的實施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實施例。此外,應(yīng)當(dāng)注意,本說明書中使用的語言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。對于本發(fā)明的范圍,對本發(fā)明所做的公開是說明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書限定。