本發(fā)明實施例涉及RPC通信技術(shù)領(lǐng)域,尤其涉及一種遠(yuǎn)程過程調(diào)用跟蹤方法及裝置。
背景技術(shù):
隨著軟件微服務(wù)架構(gòu)的深入推廣,基于Thrift框架(Thrift框架是一種開源的跨語言的RPC服務(wù)框架)的RPC(Remote Procedure Call,遠(yuǎn)程過程調(diào)用)通信被廣泛使用。RPC是指計算機A上的進(jìn)程,調(diào)用另外一臺計算機B上的進(jìn)程,其中計算機A上的調(diào)用進(jìn)程被掛起,而計算機B上的被調(diào)用進(jìn)程開始執(zhí)行,當(dāng)值返回給計算機A時,計算機A進(jìn)程繼續(xù)執(zhí)行。在RPC通信過程中,如何跟蹤微服務(wù)之間的RPC調(diào)用從而對微服務(wù)性能做出分析一直是業(yè)界難題。
現(xiàn)有技術(shù)中,對于微服務(wù)之間的遠(yuǎn)程過程調(diào)用跟蹤方法通常為:在業(yè)務(wù)代碼中打印輸出RPC調(diào)用日志。本發(fā)明的發(fā)明人在研究本申請的過程中發(fā)現(xiàn),現(xiàn)有遠(yuǎn)程過程調(diào)用跟蹤方法存在以下不足:(1)、RPC調(diào)用跟蹤不夠準(zhǔn)確方便,所有的業(yè)務(wù)代碼都需要修改添加打印日志,對業(yè)務(wù)代碼侵入性大;(2)、打印RPC調(diào)用日志格式不統(tǒng)一,不便于離線日志分析。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種遠(yuǎn)程過程調(diào)用跟蹤方法及裝置,旨在解決現(xiàn)有的遠(yuǎn)程過程調(diào)用跟蹤方法存在的RPC調(diào)用跟蹤不夠準(zhǔn)確方便、對業(yè)務(wù)代碼侵入性大,以及打印日志格式不統(tǒng)一的技術(shù)問題。
為了解決以上提出的問題,本發(fā)明實施例采用的技術(shù)方案包括:
一種遠(yuǎn)程過程調(diào)用跟蹤方法,包括:
對當(dāng)前應(yīng)用發(fā)起遠(yuǎn)程過程調(diào)用;
自動生成當(dāng)前遠(yuǎn)程過程調(diào)用唯一的請求標(biāo)識和調(diào)用標(biāo)識;
將所述當(dāng)前遠(yuǎn)程過程調(diào)用唯一的請求標(biāo)識和調(diào)用標(biāo)識傳遞至下一個遠(yuǎn)程過程調(diào)用。
本發(fā)明實施例采取的技術(shù)方案還包括:所述自動生成當(dāng)前遠(yuǎn)程過程調(diào)用唯一的請求標(biāo)識和調(diào)用標(biāo)識還包括:自動記錄當(dāng)前遠(yuǎn)程過程調(diào)用的調(diào)用時間以及參數(shù)采樣數(shù)據(jù)。
本發(fā)明實施例采取的技術(shù)方案還包括:所述自動生成當(dāng)前遠(yuǎn)程過程調(diào)用唯一的請求標(biāo)識和調(diào)用標(biāo)識還包括:將上層遠(yuǎn)程過程調(diào)用的調(diào)用標(biāo)識傳遞給當(dāng)前遠(yuǎn)程過程調(diào)用。
本發(fā)明實施例采取的技術(shù)方案還包括:所述將當(dāng)前遠(yuǎn)程過程調(diào)用唯一的請求標(biāo)識和調(diào)用標(biāo)識傳遞至下一個遠(yuǎn)程過程調(diào)用后還包括:自動收集遠(yuǎn)程過程調(diào)用在調(diào)用過程中產(chǎn)生的調(diào)用跟蹤日志。
本發(fā)明實施例采取的技術(shù)方案還包括:所述調(diào)用跟蹤日志包括遠(yuǎn)程過程調(diào)用的請求標(biāo)識、調(diào)用標(biāo)識、調(diào)用時間和參數(shù)采樣數(shù)據(jù)。
本發(fā)明實施例采取的技術(shù)方案還包括:所述自動收集遠(yuǎn)程過程調(diào)用在調(diào)用過程中產(chǎn)生的調(diào)用跟蹤日志還包括:將所收集的調(diào)用跟蹤日志統(tǒng)一格式化輸出。
本發(fā)明實施例采取的另一技術(shù)方案為:一種遠(yuǎn)程過程調(diào)用跟蹤裝置,包括:
調(diào)用發(fā)起模塊:用于對當(dāng)前應(yīng)用發(fā)起遠(yuǎn)程過程調(diào)用;
代碼生成模塊:用于自動生成當(dāng)前遠(yuǎn)程過程調(diào)用唯一的請求標(biāo)識和調(diào)用標(biāo)識;以及
將所述當(dāng)前遠(yuǎn)程過程調(diào)用唯一的請求標(biāo)識和調(diào)用標(biāo)識傳遞至下一個遠(yuǎn)程過程調(diào)用。
本發(fā)明實施例采取的技術(shù)方案還包括:所述代碼生成模塊還用于:自動記錄當(dāng)前遠(yuǎn)程過程調(diào)用的調(diào)用時間以及參數(shù)采樣數(shù)據(jù)。
本發(fā)明實施例采取的技術(shù)方案還包括:所述代碼生成模塊還用于將上層遠(yuǎn)程過程調(diào)用的調(diào)用標(biāo)識傳遞給當(dāng)前遠(yuǎn)程過程調(diào)用。
本發(fā)明實施例采取的技術(shù)方案還包括數(shù)據(jù)收集模塊,所述數(shù)據(jù)收集模塊用于自動收集遠(yuǎn)程過程調(diào)用在過程中產(chǎn)生的調(diào)用跟蹤日志。
本發(fā)明實施例采取的技術(shù)方案還包括:所述調(diào)用跟蹤日志包括遠(yuǎn)程過程調(diào)用的請求標(biāo)識、調(diào)用標(biāo)識、調(diào)用時間和參數(shù)采樣數(shù)據(jù)。
本發(fā)明實施例采取的技術(shù)方案還包括數(shù)據(jù)輸出模塊,所述數(shù)據(jù)輸出模塊用于將所收集的調(diào)用跟蹤日志統(tǒng)一格式化輸出。遠(yuǎn)程過程調(diào)用跟蹤方法遠(yuǎn)程過程調(diào)用跟蹤裝置。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例的有益效果在于:本發(fā)明實施例的遠(yuǎn)程過程調(diào)用跟蹤方法及裝置在發(fā)起RPC調(diào)用時通過Thrift框架增加自動生成RPC調(diào)用的ReqID和RpcID,同時自動記錄RPC調(diào)用的調(diào)用時間及參數(shù)采樣數(shù)據(jù),并將當(dāng)前RPC調(diào)用的ReqID和RpcID透明傳遞至下一個RPC調(diào)用,從而對RPC調(diào)用方便準(zhǔn)確地進(jìn)行跟蹤,實現(xiàn)對上層業(yè)務(wù)相關(guān)的調(diào)用完全透明跟蹤,對業(yè)務(wù)代碼無侵入。通過Thrift框架自動收集客戶端和服務(wù)端在PRC調(diào)用過程中產(chǎn)生的ReqID、RpcID、調(diào)用時間和參數(shù)采樣數(shù)據(jù)等調(diào)用跟蹤日志,便于集成存儲和離線分析RPC整體調(diào)用關(guān)系;通過Thrift框架格式化地統(tǒng)一輸出客戶端和服務(wù)端的調(diào)用跟蹤日志,便于RPC調(diào)用的進(jìn)一步處理和分析。
附圖說明
圖1為本發(fā)明第一實施例的遠(yuǎn)程過程調(diào)用跟蹤方法的流程圖;
圖2是本發(fā)明第二實施例的遠(yuǎn)程過程調(diào)用跟蹤方法的流程圖;
圖3是本發(fā)明實施例的RPC調(diào)用跟蹤宏觀邏輯圖;
圖4是本發(fā)明實施例的對RPC調(diào)用數(shù)據(jù)進(jìn)行可視化繪制效果圖;
圖5是本發(fā)明第一實施例的遠(yuǎn)程過程調(diào)用跟蹤裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明第二實施例的遠(yuǎn)程過程調(diào)用跟蹤裝置的結(jié)構(gòu)示意圖。
具體實施方式
為了便于理解本發(fā)明,下面將參照相關(guān)附圖對本發(fā)明進(jìn)行更全面的描述。附圖中給出了本發(fā)明的較佳實施例。但是,本發(fā)明可以以許多不同的形式來實現(xiàn),并不限于本文所描述的實施例。相反地,提供這些實施例的目的是使對本發(fā)明的公開內(nèi)容的理解更加透徹全面。
除非另有定義,本文所使用的所有的技術(shù)和科學(xué)術(shù)語與屬于本發(fā)明的技術(shù)領(lǐng)域的技術(shù)人員通常理解的含義相同。本文中在本發(fā)明的說明書中所使用的術(shù)語只是為了描述具體的實施例的目的,不是旨在于限制本發(fā)明。
實施例一
請參閱圖1,是本發(fā)明第一實施例的遠(yuǎn)程過程調(diào)用跟蹤方法的流程圖。本發(fā)明第一實施例的遠(yuǎn)程過程調(diào)用跟蹤方法包括以下步驟:
步驟100:對當(dāng)前應(yīng)用發(fā)起RPC調(diào)用;
步驟110:自動生成當(dāng)前RPC調(diào)用唯一的請求標(biāo)識ReqID和RPC調(diào)用標(biāo)識RpcID;
在步驟110中,在使用Thrift進(jìn)行網(wǎng)絡(luò)RPC調(diào)用時,本發(fā)明實施例通過Thrift框架自動在API調(diào)用接口中透明嵌入當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID,對上層業(yè)務(wù)相關(guān)的調(diào)用完全透明,對業(yè)務(wù)代碼無侵入。
步驟120:將當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID傳輸?shù)较乱粋€RPC調(diào)用;
在步驟120中,服務(wù)端的樁代碼解析得到當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID,如果服務(wù)端又發(fā)起其它RPC調(diào)用,則服務(wù)端的樁代碼會進(jìn)一步透明傳遞ReqID和RpcID。
本發(fā)明第一實施例的遠(yuǎn)程過程調(diào)用跟蹤方法在發(fā)起RPC調(diào)用時通過Thrift框架增加自動生成RPC調(diào)用的ReqID和RpcID,并將當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID傳輸?shù)椒?wù)端,從而對RPC調(diào)用方便準(zhǔn)確地進(jìn)行跟蹤,對上層業(yè)務(wù)相關(guān)的調(diào)用完全透明,對業(yè)務(wù)代碼無侵入。
實施例二
請參閱圖2和圖3,圖2是本發(fā)明第二實施例的遠(yuǎn)程過程調(diào)用跟蹤方法的流程圖,圖3是本發(fā)明實施例的RPC調(diào)用跟蹤宏觀邏輯圖。本發(fā)明第二實施例的遠(yuǎn)程過程調(diào)用跟蹤方法包括以下步驟:
步驟200:用戶對當(dāng)前應(yīng)用發(fā)起RPC調(diào)用;
步驟210:Thrift框架的客戶端樁代碼自動生成當(dāng)前RPC調(diào)用全局唯一的請求標(biāo)識ReqID,同時將上層RPC調(diào)用的RpcID(即ParentRpcID)傳遞給當(dāng)前RPC調(diào)用,并為當(dāng)前RPC調(diào)用生成一個RPC調(diào)用標(biāo)識RpcID;同時Thrift框架自動記錄當(dāng)前RPC調(diào)用的發(fā)起時間和結(jié)束時間,以及當(dāng)前RPC調(diào)用的參數(shù)采樣數(shù)據(jù);
在步驟210中,Thrift框架集成于客戶端和服務(wù)端中,Thrift框架通過IDL(Interface Description Language,接口描述語言)編譯器來定義RPC的調(diào)用接口和數(shù)據(jù)類型,然后通過一個編譯器生成不同語言的代碼,并由生成的代碼負(fù)責(zé)RPC協(xié)議層和傳輸層的實現(xiàn)。在使用Thrift進(jìn)行網(wǎng)絡(luò)RPC調(diào)用時,本發(fā)明實施例自動在API調(diào)用接口中透明嵌入當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID,并會將當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID傳輸?shù)椒?wù)端,服務(wù)端的樁代碼解析得到當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID,如果服務(wù)端又發(fā)起其它RPC調(diào)用,則服務(wù)端會進(jìn)一步將解析得到的當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID透明傳遞至下一個RPC調(diào)用,從而實現(xiàn)對上層業(yè)務(wù)相關(guān)的調(diào)用完全透明跟蹤,對業(yè)務(wù)代碼無侵入。其中,ReqID用于唯一標(biāo)識一次RPC調(diào)用請求,所有ReqID一樣的RPC調(diào)用構(gòu)成一棵多叉樹,其中ParentRpcID為0的應(yīng)用為樹的根節(jié)點,樹中每個節(jié)點自身的標(biāo)識為RpcID,具體如圖4所示,是本發(fā)明實施例的對RPC調(diào)用數(shù)據(jù)進(jìn)行可視化繪制效果圖。
步驟220:Thrift框架自動收集客戶端和服務(wù)端在PRC調(diào)用過程中產(chǎn)生的ReqID、RpcID、調(diào)用時間和參數(shù)采樣數(shù)據(jù)等調(diào)用跟蹤日志,并將客戶端和服務(wù)端的調(diào)用跟蹤日志統(tǒng)一格式化輸出;
在步驟220中,本發(fā)明實施例通過Thrift框架自動收集客戶端和服務(wù)端在PRC調(diào)用過程中產(chǎn)生的ReqID、RpcID、調(diào)用時間和參數(shù)采樣數(shù)據(jù)等調(diào)用跟蹤日志,便于集成存儲和離線分析RPC整體調(diào)用關(guān)系,方便RPC調(diào)用的可視化繪制;通過格式化統(tǒng)一輸出客戶端和服務(wù)端的調(diào)用跟蹤日志,便于RPC調(diào)用的進(jìn)一步處理和分析。
本發(fā)明第二實施例的遠(yuǎn)程過程調(diào)用跟蹤方法在發(fā)起RPC調(diào)用時通過Thrift框架增加自動生成RPC調(diào)用的ReqID和RpcID,同時自動記錄RPC調(diào)用的調(diào)用時間及參數(shù)采樣數(shù)據(jù),并將當(dāng)前RPC調(diào)用的ReqID和RpcID透明傳遞至下一個RPC調(diào)用,從而對RPC調(diào)用方便準(zhǔn)確地進(jìn)行跟蹤,實現(xiàn)對上層業(yè)務(wù)相關(guān)的調(diào)用完全透明跟蹤,對業(yè)務(wù)代碼無侵入。通過Thrift框架自動收集客戶端和服務(wù)端在PRC調(diào)用過程中產(chǎn)生的ReqID、RpcID、調(diào)用時間和參數(shù)采樣數(shù)據(jù)等調(diào)用跟蹤日志,便于集成存儲和離線分析RPC整體調(diào)用關(guān)系;通過Thrift框架格式化地統(tǒng)一輸出客戶端和服務(wù)端的調(diào)用跟蹤日志,便于RPC調(diào)用的進(jìn)一步處理和分析。
實施例三
請參閱圖5,是本發(fā)明第一實施例的遠(yuǎn)程過程調(diào)用跟蹤裝置的結(jié)構(gòu)示意圖。本發(fā)明第一實施例的遠(yuǎn)程過程調(diào)用跟蹤裝置包括:
調(diào)用發(fā)起模塊10:用于對當(dāng)前應(yīng)用發(fā)起RPC調(diào)用;
代碼生成模塊20:用于自動生成當(dāng)前RPC調(diào)用唯一的請求標(biāo)識ReqID和RPC調(diào)用標(biāo)識RpcID,并將當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID傳輸?shù)较乱粋€RPC調(diào)用;其中,在使用Thrift進(jìn)行網(wǎng)絡(luò)RPC調(diào)用時,本發(fā)明實施例自動在API調(diào)用接口中透明嵌入當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID,對上層業(yè)務(wù)相關(guān)的調(diào)用完全透明,對業(yè)務(wù)代碼無侵入。并會將當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID傳輸?shù)椒?wù)端,服務(wù)端的樁代碼解析得到當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID,如果服務(wù)端又發(fā)起其它RPC調(diào)用,則服務(wù)端的樁代碼會進(jìn)一步透明傳遞ReqID和RpcID。
本發(fā)明第一實施例的遠(yuǎn)程過程調(diào)用跟蹤裝置在發(fā)起RPC調(diào)用時通過Thrift框架增加自動生成RPC調(diào)用的ReqID和RpcID,并將當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID傳輸?shù)椒?wù)端,從而對RPC調(diào)用方便準(zhǔn)確地進(jìn)行跟蹤,對上層業(yè)務(wù)相關(guān)的調(diào)用完全透明,對業(yè)務(wù)代碼無侵入。
實施例四
請參閱圖6,是本發(fā)明第二實施例的遠(yuǎn)程過程調(diào)用跟蹤裝置的結(jié)構(gòu)示意圖。本發(fā)明第二實施例的遠(yuǎn)程過程調(diào)用跟蹤裝置包括調(diào)用發(fā)起模塊10、代碼生成模塊20、數(shù)據(jù)收集模塊30和數(shù)據(jù)輸出模塊40;
調(diào)用發(fā)起模塊10:用于對當(dāng)前應(yīng)用發(fā)起RPC調(diào)用;
代碼生成模塊20:用于自動生成當(dāng)前RPC調(diào)用的全局唯一的請求標(biāo)識ReqID,將上層RPC調(diào)用的RpcID(即ParentRpcID)傳遞給當(dāng)前RPC調(diào)用,并為當(dāng)前RPC調(diào)用生成一個RPC調(diào)用標(biāo)識RpcID;同時自動記錄當(dāng)前RPC調(diào)用的發(fā)起時間和結(jié)束時間,以及當(dāng)前RPC調(diào)用的參數(shù)采樣數(shù)據(jù);
其中,代碼生成模塊20通過Thrift框架對RPC調(diào)用進(jìn)行跟蹤記錄,Thrift框架集成于客戶端和服務(wù)端中,通過IDL編譯器來定義RPC的調(diào)用接口和數(shù)據(jù)類型,然后通過一個編譯器生成不同語言的代碼,并由生成的代碼負(fù)責(zé)RPC協(xié)議層和傳輸層的實現(xiàn)。在使用Thrift進(jìn)行網(wǎng)絡(luò)RPC調(diào)用時,本發(fā)明實施例自動在API調(diào)用接口中透明嵌入當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID,并會將當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID傳輸?shù)椒?wù)端,服務(wù)端的樁代碼解析得到當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID,如果服務(wù)端又發(fā)起其它RPC調(diào)用,則服務(wù)端會進(jìn)一步將解析得到的當(dāng)前RPC調(diào)用的請求標(biāo)識ReqID和調(diào)用標(biāo)識RpcID透明傳遞至下一個RPC調(diào)用,從而實現(xiàn)對上層業(yè)務(wù)相關(guān)的調(diào)用完全透明跟蹤,對業(yè)務(wù)代碼無侵入。ReqID用于唯一標(biāo)識一次RPC調(diào)用請求,所有ReqID一樣的RPC調(diào)用構(gòu)成一棵多叉樹,其中ParentRpcID為0的應(yīng)用為樹的根節(jié)點,樹中每個節(jié)點自身的標(biāo)識為RpcID,具體如圖4所示,是本發(fā)明實施例的對RPC調(diào)用數(shù)據(jù)進(jìn)行可視化繪制效果圖。
數(shù)據(jù)收集模塊30:用于自動收集客戶端和服務(wù)端在PRC調(diào)用過程中產(chǎn)生的ReqID、RpcID、調(diào)用時間和參數(shù)采樣數(shù)據(jù)等調(diào)用跟蹤日志;其中,本發(fā)明實施例通過Thrift框架自動收集客戶端和服務(wù)端在PRC調(diào)用過程中產(chǎn)生的ReqID、RpcID、調(diào)用時間和參數(shù)采樣數(shù)據(jù)等調(diào)用跟蹤日志,便于集成存儲和離線分析RPC整體調(diào)用關(guān)系,方便RPC調(diào)用的可視化繪制。
數(shù)據(jù)輸出模塊40:用于將客戶端和服務(wù)端的調(diào)用跟蹤日志統(tǒng)一格式化輸出;其中,通過格式化統(tǒng)一輸出客戶端和服務(wù)端的調(diào)用跟蹤日志,便于對RPC調(diào)用的進(jìn)一步處理和分析。
本發(fā)明第二實施例的遠(yuǎn)程過程調(diào)用跟蹤裝置在發(fā)起RPC調(diào)用時通過Thrift框架增加自動生成RPC調(diào)用的ReqID和RpcID,同時自動記錄RPC調(diào)用的調(diào)用時間及參數(shù)采樣數(shù)據(jù),并將當(dāng)前RPC調(diào)用的ReqID和RpcID透明傳遞至下一個RPC調(diào)用,從而對RPC調(diào)用方便準(zhǔn)確地進(jìn)行跟蹤,實現(xiàn)對上層業(yè)務(wù)相關(guān)的調(diào)用完全透明跟蹤,對業(yè)務(wù)代碼無侵入。通過Thrift框架自動收集客戶端和服務(wù)端在PRC調(diào)用過程中產(chǎn)生的ReqID、RpcID、調(diào)用時間和參數(shù)采樣數(shù)據(jù)等調(diào)用跟蹤日志,便于集成存儲和離線分析RPC整體調(diào)用關(guān)系;通過Thrift框架格式化地統(tǒng)一輸出客戶端和服務(wù)端的調(diào)用跟蹤日志,便于RPC調(diào)用的進(jìn)一步處理和分析。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。