本申請涉及通信技術領域,特別是涉及一種報文處理方法及裝置。
背景技術:
隨著網(wǎng)絡不斷發(fā)展,網(wǎng)絡設備的功能越來越多,網(wǎng)絡設備處理報文的效率備受關注。
在相關技術中,網(wǎng)絡設備預設的功能模塊通常按一定的次序串聯(lián),那么,當網(wǎng)絡設備接收到報文時,對該報文進行處理的當前功能模塊會接收該報文的關鍵信息和該當前功能模塊之前的所有功能模塊對該報文的處理結果信息集合,同樣,當下一功能模塊對該報文進行處理時,下一功能模塊不僅接收上述當前功能模塊接收的數(shù)據(jù)信息,還接收上述當前功能模塊對上述報文的處理結果信息。
由此可見,在網(wǎng)絡設備功能繁多的應用場景下,網(wǎng)絡設備處理報文時在各個功能模塊之間需要傳輸大量數(shù)據(jù),大大降低報文處理效率。另外,各功能模塊依次串聯(lián)、相互聯(lián)系,還會導致增加或刪除任一功能模塊困難。
技術實現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N報文處理方法及裝置,以解決相關技術中報文處理效率低且增加或刪除功能模塊困難的問題。
具體地,本申請是通過如下技術方案實現(xiàn)的:
第一方面,本申請?zhí)峁┮环N報文處理方法,應用于網(wǎng)絡設備,所述網(wǎng)絡設備預設有若干個功能模塊,所述方法包括:
針對網(wǎng)絡設備接收到的會話首報文,獲取所述報文多個字段的信息作為報文關鍵信息保存;
從若干剩余功能模塊中選取出一個功能模塊作為當前功能模塊;
確定所述當前功能模塊進行報文處理所需要的報文關鍵信息以及處理結果信息集合的子集,并發(fā)送至所述當前功能模塊;其中處理結果信息集合初始為空;
接收所述當前功能模塊返回的處理結果信息,并將所述處理結果信息更新到處理結果信息集合中;
如果剩余功能模塊數(shù)量不為零,返回從若干剩余功能模塊中選取出一個功能模塊作為當前功能模塊的步驟。
第二方面,本申請?zhí)峁┮环N報文處理裝置,應用于網(wǎng)絡設備,所述網(wǎng)絡設備預設有若干個功能模塊,所述裝置包括:
信息獲取單元,用于針對網(wǎng)絡設備接收到的會話首報文,獲取所述報文多個字段的信息作為報文關鍵信息保存;
模塊選取單元,用于從若干剩余功能模塊中選取出一個功能模塊作為當前功能模塊;
信息發(fā)送單元,用于確定所述當前功能模塊進行報文處理所需要的報文關鍵信息以及處理結果信息集合的子集,并發(fā)送至所述當前功能模塊;其中處理結果信息集合初始為空;
信息更新單元,用于接收所述當前功能模塊返回的處理結果信息,并將所述處理結果信息更新到處理結果信息集合中;
數(shù)量檢測單元,用于當剩余功能模塊數(shù)量不為零時,返回從若干剩余功能模塊中選取出一個功能模塊作為當前功能模塊的步驟。
分析以上技術方案可知,本申請通過若干功能模塊中需要對會話首報文進行處理的功能模塊依次對該會話首報文進行處理,并將獲得的處理結果信息集合保存在控制中心,按需向當前功能模塊發(fā)送報文關鍵信息和處理結果信息子集合,可以避免傳輸當前功能模塊處理報文時不需要的冗余數(shù)據(jù),減少了數(shù)據(jù)的傳輸量,從而提高了報文處理效率。另外,在各個功能模塊之間不需要進行數(shù)據(jù)傳輸,即各個功能模塊之間相互獨立,從而可以較為容易地實現(xiàn)對某一功能模塊的刪除或增加。
附圖說明
圖1是相關技術中的功能模塊架構圖;
圖2是本申請一示例性實施例示出的一種報文處理方法的功能模塊架構圖;
圖3是本申請一示例性實施例示出的一種報文處理方法的流程圖;
圖4是本申請一示例性實施例示出的一種選取當前功能模塊的流程圖;
圖5是本申請一示例性實施例示出的一種報文處理裝置所在設備的硬件結構圖;
圖6是本申請一示例性實施例示出的一種報文處理裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。
應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
參考圖1,為相關技術中的功能模塊架構圖。其中,各個功能模塊依次串聯(lián),所述功能模塊預先配置在網(wǎng)絡設備中。當前功能模塊接收上一功能模塊傳送的報文關鍵信息和處理結果信息集合,選取有用的信息對報文進行處理,然后將報文關鍵信息和更新后的處理結果信息集合發(fā)送至下一功能模塊,以使下一功能模塊從中選取有用的信息對報文進行處理,這樣各個功能模塊不得不接收處理報文時不需要的冗余信息,導致各個功能模塊之間傳輸?shù)臄?shù)據(jù)信息巨大,網(wǎng)絡設備處理報文的效率降低。
參考圖2,為本申請一示例性實施例示出的一種報文處理方法的功能模塊架構圖。該方法可以應用于網(wǎng)絡設備,所述網(wǎng)絡設備中預設有若干功能模塊,各個功能模塊之間相互獨立。該方法中各個步驟的處理事實上是一種調度控制的過程,可以形象地理解為一個“控制中心”在執(zhí)行多個步驟,這個控制中心可以通過計算機軟件實現(xiàn)。所述控制中心可以保存各個功能模塊進行報文處理后得到的處理結果信息,還可以向當前功能模塊發(fā)送處理報文所需要報文關鍵信息和處理結果信息集合的子集。
基于圖2所示的功能模塊架構圖,參考圖3,為本申請一示例性實施例示出的一種報文處理方法流程圖,該方法可以包括以下步驟:
步驟301:針對網(wǎng)絡設備接收到的會話首報文,獲取所述報文多個字段的信息作為報文關鍵信息保存。
在本實施例中,新建會話時,可以將網(wǎng)絡設備接收到的第一個會話報文稱為該會話的會話首報文。網(wǎng)絡設備可以提取接收到的會話首報文中多個字段的信息作為報文關鍵信息,所述報文關鍵信息通??梢杂砷_發(fā)人員自定義,例如:所述報文關鍵信息可以包括會話首報文中源IP地址、目的IP地址、源MAC地址、目的MAC地址、端口號等字段的信息。網(wǎng)絡設備在提取出這些報文關鍵信息后,可以將其保存至控制中心。
步驟302:從若干剩余功能模塊中選取出一個功能模塊作為當前功能模塊。
在本實施例中,控制中心可以從若干剩余功能模塊選取出一個功能模塊,并判斷選取出的功能模塊是否需要進行報文處理,如果選取出的功能模塊需要進行報文處理,則可以將該功能模塊作為當前功能模塊,執(zhí)行步驟303;否則,可以按照所述處理次序重新選擇下一個功能模塊,繼續(xù)執(zhí)行步驟302。
舉例來說,假設網(wǎng)絡設備中預設有3個功能模塊,則剩余功能模塊的集合中初始可以包含功能模塊1、功能模塊2和功能模塊3。當控制中心選取出功能模塊1后,可以判斷功能模塊1是否需要進行報文處理。如果功能模塊1需要進行報文處理,則可以將功能模塊1作為當前功能模塊;否則控制中心可以從剩余的功能模塊2和功能模塊3中選取出功能模塊2,并判斷功能模塊2是否需要進行報文處理,以確定是否將功能模塊2作為當前功能模塊。
步驟303:確定所述當前功能模塊進行報文處理所需要的報文關鍵信息以及處理結果信息集合的子集,并發(fā)送至所述當前功能模塊;其中處理結果信息集合初始為空。
在本實施例中,控制中心在選取出當前功能模塊后,可以確定所述當前功能模塊進行報文處理時所需要的報文關鍵信息和處理結果信息集合的子集,并將所述報文關鍵信息和處理結果信息子集發(fā)送至所述當前功能模塊。
舉例來說,假設控制中心在前述步驟302中將功能模塊3確定為當前功能模塊,如果功能模塊3進行報文處理時需要會話首報文的目的IP地址和功能模塊2的處理結果信息,則控制中心可以將目的IP地址作為報文關鍵信息,并將功能模塊2的處理結果信息作為處理結果信息子集發(fā)送至功能模塊3。
需要說明的是,所述處理結果信息集合初始為空,即還未有任何功能模塊對報文進行過處理時,控制中心針對該新建會話未保存任何處理結果信息。
步驟304:接收所述當前功能模塊返回的處理結果信息,并將所述處理結果信息更新到處理結果信息集合中。
在本實施例中,所述當前功能模塊在接收到控制中心發(fā)送的所述報文關鍵信息和處理結果信息子集后,可以利用這些信息進行報文處理。后續(xù)所述當前功能模塊可以將進行報文處理得到的處理結果信息返回至控制中心,控制中心可以將所述處理結果信息更新到處理結果信息集合中。
舉例來說,假設功能模塊1為目的NAT(Network Address Translation,網(wǎng)絡地址轉換)功能模塊,功能模塊2為路由功能模塊。該目的NAT功能模塊可以利用會話首報文的目的IP地址查找目的NAT映射表,得到NAT后的目的IP地址并返回至控制中心,控制中心可以將所述NAT后的目的IP地址更新到處理結果信息集合中;后續(xù)該路由功能模塊可以利用會話首報文的源IP地址和所述NAT后的目的IP地址查找路由表,得到路由信息并返回至控制中心,控制中心可以將所述路由信息更新到處理結果信息集合中,即處理信息集合包含有所述NAT后的目的IP地址和所述路由信息。
步驟305:如果剩余功能模塊數(shù)量不為零,返回從若干剩余功能模塊中選取出一個功能模塊作為當前功能模塊的步驟。
在本實施例中,當剩余功能模塊數(shù)量不為零時,說明本網(wǎng)絡設備還未完成對報文的處理,可以返回前述步驟302,繼續(xù)進行報文處理。
在一個可選的實施例中,當所有功能模塊中需要對會話首報文進行處理的功能模塊均完成報文處理后,控制中心可以輸出所述會話首報文的報文關鍵信息和處理結果信息集合,以使本網(wǎng)絡設備根據(jù)所述報文關鍵信息和所述處理結果信息集合建立會話表項。當本網(wǎng)絡設備接收到會話的后續(xù)報文時,可以按照所述會話表項,對所述后續(xù)報文進行處理。采用這樣的方式,可以避免再次判斷哪些功能模塊需要對所述后續(xù)報文進行處理,哪些功能模塊不需要對所述后續(xù)報文進行處理,達到快速處理報文的效果,從而可以提高報文處理效率。
由上述實施例可見,本申請通過若干功能模塊中需要對會話首報文進行處理的功能模塊依次對該會話首報文進行處理,并將獲得的處理結果信息集合保存在控制中心,按需向當前功能模塊發(fā)送報文關鍵信息和處理結果信息子集合,可以避免傳輸當前功能模塊處理報文時不需要的冗余數(shù)據(jù),減少了數(shù)據(jù)的傳輸量,從而提高了報文處理效率。另外,在各個功能模塊之間不需要進行數(shù)據(jù)傳輸,即各個功能模塊之間相互獨立,從而可以較為容易地實現(xiàn)對某一功能模塊的刪除或增加。
參考圖4,結合前述步驟302,可以采用以下步驟選取當前功能模塊:
步驟3021:按照各個功能模塊之間的預設處理次序,從若干功能模塊中選取出一個功能模塊。
在本實施例中,控制中心可以按照各個功能模塊之間預設的處理次序,從若干剩余功能模塊的集合中選取出一個功能模塊,所述處理次序通??梢杂砷_發(fā)人員自定義。后續(xù)控制中心可以從所述剩余功能模塊的集合中移除選取出的功能模塊,所述剩余功能模塊的集合中初始包含所有功能模塊。
舉例來說,假設網(wǎng)絡設備中預設有3個功能模塊,則剩余功能模塊的集合中初始可以包含功能模塊1、功能模塊2和功能模塊3。當控制中心按照功能模塊1至功能模塊3的處理次序選取出功能模塊1后,剩余功能模塊的集合中可以包含功能模塊2和功能模塊3。
需要說明的是,也可以不為功能模塊設置處理次序,控制中心可以從若干剩余功能模塊的集合中任選出一個功能模塊,并將該功能模塊從所述剩余功能模塊的集合中移除。但該方式在實際實現(xiàn)時較為復雜,因此通常為功能模塊設置處理次序,使控制中心按照所述處理次序從若干剩余功能模塊的集合中選取出一個功能模塊。
步驟3022:當所述選取出的功能模塊在處理次序上不是首個功能模塊時,按照預設規(guī)則判斷選擇到的功能模塊是否需要對所述報文進行處理;如果是,則將選擇到的功能模塊確定為當前功能模塊;否則按照處理次序重新選擇下一個功能模塊。
在本實施例中,如果控制中心檢測到在前述步驟3021中選取出的功能模塊在處理次序上是首個功能模塊,則默認選擇到的功能模塊需要進行報文處理,可以將該功能模塊確定為當前功能模塊。如果控制中心檢測到在前述步驟3021中選取出的功能模塊在處理次序上不是首個功能模塊,則可以按照預設規(guī)則判斷選擇到的功能模塊是否需要進行報文處理。
舉例來說,假設網(wǎng)絡設備中預設有3個功能模塊,則當控制中心按照功能模塊1至功能模塊3的處理次序選取出功能模塊1時,由于默認處理次序上的首個功能模塊需要進行報文處理,因此可以將功能模塊1確定為當前功能模塊。后續(xù)當控制中心選取出功能模塊2時,由于功能模塊2在處理次序上不是首個功能模塊,因此可以按照預設規(guī)則判斷功能模塊2是否需要進行報文處理。
在一個可選的實施例中,如果控制中心檢測到選取出的功能模塊在處理次序上不是首個功能模塊,則說明已經至少有一個功能模塊對報文進行過處理??刂浦行目梢愿鶕?jù)保存的報文關鍵信息和處理結果信息集合,判斷選擇到的功能模塊是否需要進行報文處理。
舉例來說,當控制中心選取出功能模塊2時,可以根據(jù)保存的報文關鍵信息以及功能模塊1對報文進行處理后返回至控制中心的處理結果信息1,判斷功能模塊2是否需要進行報文處理。假設圖2所示的功能模塊1是包過濾功能模塊,該包過濾功能模塊對會話首報文進行處理后,向控制中心返回的處理結果信息為丟棄該會話首報文,則根據(jù)該處理結果信息,之后的功能模塊2和功能模塊3均不需要再對會話首報文進行處理。在另一個例子中,假設圖2所示的功能模塊2是非等價路由功能模塊,功能模塊3是等價路由功能模塊,功能模塊4是源NAT功能模塊,該非等價路由功能模塊對會話首報文進行處理后,向控制中心返回的處理結果信息為查找到的非等價路由信息,則根據(jù)該處理結果信息,不需要再查找等價路由信息,即該等價路由功能模塊不需要再對該會話首報文進行處理,而由該源NAT功能模塊對該會話首報文進行處理。
當控制中心根據(jù)所述報文關鍵信息和所述處理結果信息集合判斷出某一功能模塊不需要進行報文處理時,可以跳過該功能模塊,繼續(xù)選取下一功能模塊并判斷該功能模塊是否需要進行報文處理。采用這樣的方式,控制中心可以避免向不需要進行報文處理的功能模塊發(fā)送所述報文關鍵信息和所述處理結果信息集合,減少了數(shù)據(jù)傳輸量,同時也提高了報文處理的靈活性,從而可以進一步提高報文處理效率。
在另一個可選的實施例中,可以為所述若干功能模塊中的每個功能模塊配置對應的處理標識,所述處理標識通??梢杂砷_發(fā)人員自定義,每一處理標識可以用于標記對應的功能模塊是否處于需要進行報文處理的狀態(tài)。需要說明的是,處理次序上的首個功能模塊對應的處理標識的初始默認狀態(tài)為需要進行報文處理狀態(tài),即默認所述首個功能模塊需要進行報文處理。
舉例來說,可以將0設置為不需要進行報文處理的功能模塊的處理標識,將1設置為需要進行報文處理的功能模塊的處理標識。在初始默認狀態(tài)下,即還未有任何功能模塊對報文進行過處理時,可以將所有功能模塊的處理標識都設置為1,表示默認每個功能模塊都需要進行報文處理。
當選擇到的功能模塊對應的處理標識被設置為需要進行報文處理狀態(tài)時,控制中心可以將該功能模塊確定為當前功能模塊;當選擇到的功能模塊對應的處理標識被設置為不需要進行報文處理狀態(tài)時,控制中心可以按照處理次序重新選擇下一個功能模塊,并根據(jù)所述處理標識判斷該功能模塊是否可以作為當前功能模塊。
需要說明的是,控制中心可以將報文關鍵信息和處理結果信息集合與預設的處理條件表進行匹配,并根據(jù)匹配結果對剩余功能模塊對應的處理標識進行更新,將其中不需要進行報文處理的功能模塊對應的處理標識設置為不需要進行報文處理狀態(tài)。所述處理條件表通常可以由開發(fā)人員自定義。結合前述步驟304,當控制中心將當前功能模塊返回的處理信息更新到處理信息集合中后,可以根據(jù)報文關鍵信息和更新過的處理信息集合修改剩余功能模塊對應的處理標識。
舉例來說,假設圖2所示的功能模塊1是包過濾功能模塊,該包過濾功能模塊對會話首報文進行處理后,向控制中心返回的處理結果信息為丟棄該會話首報文,則控制中心在將該處理結果信息與處理條件表進行匹配后,可以確定功能模塊2和功能模塊3均不需要再對會話首報文進行處理,控制中心可以將功能模塊2和功能模塊3分別對應的處理標識設置為不需要進行報文處理狀態(tài)。在另一個例子中,一種典型的處理條件是結果互斥條件,也就是說假設第一功能模塊的處理結果與第二功能模塊的處理結果是互斥的,那么只要第一或第二功能模塊任意一個的處理結果已經更新,也就是說結果互斥條件已經被滿足,那么另一個可以不用處理,即可以將之標識為無需處理的狀態(tài)。假設圖2所示的功能模塊2是非等價路由功能模塊,功能模塊3是等價路由功能模塊,功能模塊4是源NAT功能模塊,該非等價路由功能模塊對會話首報文進行處理后,向控制中心返回的處理結果信息為查找到的非等價路由信息。在等價路由功能模塊對應的處理條件表中,查找到非等價路由信息對應于不需要進行報文處理,未查找到非等價路由信息對應于需要進行報文處理,因此控制中心在將該處理結果信息與處理條件表進行匹配后,可以確定該等價路由功能模塊不需要再對該會話首報文進行處理,而由該源NAT功能模塊對該會話首報文進行處理??刂浦行目梢詫⒌葍r路由功能模塊對應的處理標識設置為不需要進行報文處理狀態(tài),而將源NAT功能模塊對應的處理標識設置為需要進行報文處理狀態(tài)。
當控制中心根據(jù)所述處理標識判斷出某一功能模塊不需要進行報文處理時,也可以跳過該功能模塊,繼續(xù)選取下一功能模塊并判斷該功能模塊是否需要進行報文處理。采用這樣的方式,控制中心可以避免向不需要進行報文處理的功能模塊發(fā)送保存的報文關鍵信息和處理結果信息集合的子集,減少了數(shù)據(jù)傳輸量,同時也提高了報文處理的靈活性,從而可以進一步提高報文處理效率。
與前述報文處理方法的實施例相對應,本申請還提供了報文處理裝置的實施例。
本申請報文處理裝置的實施例可以應用在網(wǎng)絡設備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在網(wǎng)絡設備的處理器將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。從硬件層面而言,如圖5所示,為本申請報文處理裝置所在網(wǎng)絡設備的一種硬件結構圖,除了處理器、內存、網(wǎng)絡接口、以及非易失性存儲器之外,實施例中裝置所在的網(wǎng)絡設備通常根據(jù)該報文處理的實際功能,還可以包括其他硬件,對此不再贅述。
請參考圖6,為本申請一示例性實施例示出的一種報文處理裝置的框圖,該報文處理裝置600可以應用于圖5所示的網(wǎng)絡設備,包括:
信息獲取單元601,用于針對網(wǎng)絡設備接收到的會話首報文,獲取所述報文多個字段的信息作為報文關鍵信息保存;
模塊選取單元602,用于從若干剩余功能模塊中選取出一個功能模塊作為當前功能模塊;
信息發(fā)送單元603,用于確定所述當前功能模塊進行報文處理所需要的報文關鍵信息以及處理結果信息集合的子集,并發(fā)送至所述當前功能模塊;其中處理結果信息集合初始為空;
信息更新單元604,用于接收所述當前功能模塊返回的處理結果信息,并將所述處理結果信息更新到處理結果信息集合中;
數(shù)量檢測單元605,用于當剩余功能模塊數(shù)量不為零時,返回從若干剩余功能模塊中選取出一個功能模塊作為當前功能模塊的步驟。
在一個可選的實施例中,所述模塊選取單元602可以包括:
模塊選取子單元6021,用于按照各個功能模塊之間的預設處理次序,從若干剩余功能模塊中選取出一個功能模塊;
模塊判斷子單元6022,用于當所述選取出的功能模塊在處理次序上不是首個功能模塊時,按照預設規(guī)則判斷選擇到的功能模塊是否需要對所述報文進行處理;如果是,則將選擇到的功能模塊確定為當前功能模塊;否則按照處理次序重新選擇下一個功能模塊。
在另一個可選的實施例中,所述模塊判斷子單元6022可以通過如下方式判斷選擇到的功能模塊是否需要進行報文處理:
根據(jù)所述報文關鍵信息以及所述處理結果信息集合,判斷所述首個剩余功能模塊是否需要進行報文處理。
在另一個可選的實施例中,所述報文處理裝置600可以包括:
標識更新單元606,用于將報文關鍵信息以及所述處理結果信息集合與預設的處理條件表進行匹配,并對所述若干剩余功能模塊中的每個功能對應的處理標識進行更新;
所述模塊判斷子單元6022可以通過如下方式判斷選擇到的功能模塊是否需要進行報文處理:
為所述若干功能模塊中的每個功能模塊配置對應的處理標識;其中每一處理標識用于標記對應的功能模塊是否處于需要進行報文處理的狀態(tài);
當所述選擇到的功能模塊對應的處理標識被設置為需要進行報文處理狀態(tài)時,將選擇到的功能模塊作為所述當前功能模塊;當所述選擇到的功能模塊對應的處理標識被設置為不需要進行報文處理狀態(tài)時,按照處理次序重新選擇下一個功能模塊。
在另一個可選的實施例中,所述首個功能模塊對應的處理標識的初始默認狀態(tài)為需要進行報文處理狀態(tài)。
在另一個可選的實施例中,所述處理條件為結果互斥條件。
上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。