本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種服務的調(diào)用方法和服務器。
背景技術(shù):
在配置后臺的服務器的網(wǎng)絡框架時,開發(fā)者會根據(jù)業(yè)務的類型確定一個網(wǎng)絡框架,網(wǎng)絡框架分為多線程或單線程,例如,在應對多客戶機的網(wǎng)絡應用中,開發(fā)者會在服務器使用多線程的網(wǎng)絡框架。多線程的目的是讓每個連接都擁有獨立的線程,防止一個連接的阻塞而影響其他的連接。在配置服務器的網(wǎng)絡框架時具體使用多線程還是單線程,開發(fā)者會根據(jù)服務器運行的業(yè)務靈活的選擇其中的一種。
目前這種單一的網(wǎng)絡框架的服務器在無法在處理用戶的業(yè)務請求時,無法根據(jù)業(yè)務特點來區(qū)分運行,導致服務器的處理效率低下。同時,服務器的程序結(jié)構(gòu)單一,功能不清晰,難以維護。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種服務的調(diào)用方法和服務器??山鉀Q現(xiàn)有技術(shù)中服務器的處理效率低和難以維護的問題。
為了解決上述技術(shù)問題,本發(fā)明實施例提供了一種服務的調(diào)用方法,服務器包括業(yè)務接口層和功能接口層,所述業(yè)務接口層采用單線程異步的工作機制,所述功能接口層采用多線程異步的工作機制,所述方法包括:
所述服務器通過所述業(yè)務接口層接收業(yè)務請求;
所述服務器識別所述業(yè)務請求的類型;
如果所述業(yè)務請求為服務請求,向所述功能接口層發(fā)送功能調(diào)用請求,所述功能調(diào)用請求用于在所述功能接口層中調(diào)用所述業(yè)務請求對應的至少一個原子操作;
在所述至少一個原子操作全部調(diào)用成功之后,向所述業(yè)務接口層返回調(diào)用 結(jié)果。
相應地,本發(fā)明實施例還提供了一種服務器,包括:
接收模塊、識別模塊、調(diào)用模塊和返回模塊,其中,所述接收模塊、所述識別模塊和所述調(diào)用模塊位于業(yè)務接口層中,所述返回模塊位于功能接口層中,所述業(yè)務接口層采用單線程異步的工作機制,所述功能接口層采用多線程異步的工作機制;
所述接收模塊,用于通過所述業(yè)務接口層接收業(yè)務請求;
所述識別模塊,用于識別所述業(yè)務請求的類型;
所述調(diào)用模塊,用于如果所述業(yè)務請求為服務請求,向所述功能接口層發(fā)送功能調(diào)用請求,所述功能調(diào)用請求用于在所述功能接口層中調(diào)用所述業(yè)務請求對應的至少一個原子操作;
所述返回模塊,用于在所述至少一個原子操作全部調(diào)用成功之后,向所述業(yè)務接口層返回調(diào)用結(jié)果。
實施本發(fā)明實施例,具有如下有益效果:
通過業(yè)務接口層接收業(yè)務請求,如果業(yè)務請求的類型為服務請求,向功能接口層調(diào)用業(yè)務請求對應的至少一個原子操作,接收功能接口層返回的調(diào)用接口。這樣通過對服務器的層次的劃分和工作機制的配置,使服務器的系統(tǒng)結(jié)構(gòu)清晰,不同類型的業(yè)務請求交給對應的層去處理,優(yōu)化了服務器的處理效率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種服務的調(diào)用方法的流程示意圖;
圖2是本發(fā)明實施例提供的一種服務的調(diào)用方法的另一流程示意圖;
圖3是本發(fā)明實施例提供的一種服務器的一種網(wǎng)絡框架的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實施例提供的一種服務器的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實施例提供的一種服務器的另一結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在本發(fā)明實施例中,服務器用于響應前端的業(yè)務請求,服務器劃分為3個層次,業(yè)務接口層(Service)、功能接口層(Server)和任務作業(yè)層(Mon),其中業(yè)務接口層采用單線程異步的工作機制,功能接口層采用多線程異步的工作機制,任務作業(yè)層采用多線程同步的工作機制。業(yè)務接口層用于向外部提供事務性的接口,用戶可以通過事務性的接口調(diào)用功能接口層中的原子操作,功能接口層中包含多個原子操作,原子操作為服務器中功能單一的操作,一般為慢速操作,任務作業(yè)層用于響應用戶觸發(fā)的作業(yè)任務,作業(yè)任務為一個非實時性的任務,處理過程需要耗費很長的時間。通過對服務器的層次的劃分和工作機制的配置,用作后臺的服務器的系統(tǒng)結(jié)構(gòu)清晰,特定的業(yè)務請求交給對應的層去處理,優(yōu)化了服務器的處理效率。
參見圖1,為本發(fā)明實施例提供的一種服務的調(diào)用方法的流程示意圖,在本發(fā)明實施例中,所述方法包括:
S101、服務器通過業(yè)務接口層接收業(yè)務請求。
具體的,用戶通過前端系統(tǒng)向服務器的業(yè)務接口層發(fā)送業(yè)務請求,服務器通過業(yè)務接口層接收業(yè)務請求。業(yè)務接口層采用單線程異步的工作方式處理業(yè)務請求,即業(yè)務接口層采用單線程工作機制,即業(yè)務接口層每次只能處理一個業(yè)務請求,業(yè)務接口層每接收到一個業(yè)務請求就發(fā)往功能接口層,業(yè)務接口層同時又采用異步的工作機制,即業(yè)務接口層向功能接口層發(fā)送完功能調(diào)用請求后,又可以重新處理另一個業(yè)務請求,并不會等到功能接口層返回調(diào)用結(jié)果后才開始處理另一業(yè)務請求。其中,另一個業(yè)務請求可能來自同一用戶的業(yè)務請求或不同用戶的業(yè)務請求。
S102、所述服務器識別所述業(yè)務請求的類型。
具體的,業(yè)務請求中可攜帶表示其類型的類型字段,服務器接收到業(yè)務請求后提取類型字段,根據(jù)類型字段識別業(yè)務請求的類型,其中業(yè)務請求的類型根據(jù)執(zhí)行時間的長短分為服務請求和作業(yè)任務,服務請求的執(zhí)行時間通常比較 段,作業(yè)任務的執(zhí)行時間通常比較長。例如,獲取用戶狀態(tài)的業(yè)務請求為服務請求,轉(zhuǎn)賬操作的請求為作業(yè)任務,一個業(yè)務請求具體屬于服務請求還是作業(yè)任務可以預先根據(jù)執(zhí)行時間的長短來確定。
S103、如果所述業(yè)務請求為服務請求,向所述功能接口層發(fā)送功能調(diào)用請求,所述功能調(diào)用請求用于在所述功能接口層中調(diào)用所述服務請求對應的至少一個原子操作。
具體的,根據(jù)S102識別的業(yè)務請求的類型,如果業(yè)務請求為服務請求,服務器的業(yè)務接口層查詢業(yè)務請求對應的至少一個原子操作,向功能接口層發(fā)送攜帶對應的至少一個原子操作的函數(shù)名的功能調(diào)用請求,功能接口層接收功能調(diào)用請求,執(zhí)行功能調(diào)用請求中的至少一個原子操作。功能接口層采用多線程異步的工作機制處理接收到的功能調(diào)用請求,具體的處理過程為:
功能接口層包含多個原子操作,每個原子操作的功能是單一為解耦的,業(yè)務接口層采用的單線程異步的工作機制,這樣會導致業(yè)務接口層會不斷的向功能接口層發(fā)送功能調(diào)用請求,以調(diào)用功能接口層的原子操作,不同的功能調(diào)用請求調(diào)用的原子操作可能會相同,這樣功能接口層采用多線程的工作機制才能處理同時調(diào)用多個相同的原子操作的要求。功能接口層中的原子操作為慢速的操作,執(zhí)行過程耗時非常長,為了減少服務器的CPU資源的消耗,功能接口層在執(zhí)行原子操作的過程中利用自身的硬件能力來執(zhí)行,并不消耗服務器的CPU資源,只是在開始執(zhí)行和結(jié)束原子操作的時候通知CPU該原子操作的執(zhí)行狀態(tài),因此功能接口層采用的是異步的工作機制。其中,功能接口層可以采用Leader/Follow的工作機制來處理業(yè)務接口層的功能調(diào)用請求。
S104、在所述至少一個原子操作全部調(diào)用成功之后,向所述業(yè)務接口層返回調(diào)用結(jié)果。
具體的,業(yè)務請求是事務性的,在業(yè)務請求對應的至少一個原子操作全部調(diào)用成功后,功能接口層向業(yè)務接口層返回調(diào)用結(jié)果,由業(yè)務接口層向調(diào)用結(jié)果通知給用戶。
實施本發(fā)明的實施例,通過業(yè)務接口層接收業(yè)務請求,如果業(yè)務請求的類型為服務請求,向功能接口層調(diào)用業(yè)務請求對應的至少一個原子操作,接收功能接口層返回的調(diào)用接口。這樣通過對服務器的層次的劃分和工作機制的配置,使服務器的系統(tǒng)結(jié)構(gòu)清晰,不同類型的業(yè)務請求交給對應的層去處理,優(yōu)化了 服務器的處理效率。
參見圖2,為本發(fā)明實施例提供的一種服務的調(diào)用方法的另一流程示意圖,在本發(fā)明實施例中,所述方法包括:
S201、服務器通過業(yè)務接口層接收業(yè)務請求。
具體的,服務器包括業(yè)務接口層、功能接口層和任務作業(yè)層,每個層采用不同的工作機制。服務器通過業(yè)務接口層接收用戶通過前端系統(tǒng)發(fā)送的業(yè)務請求,業(yè)務接口層用于向外部提供一個相對友好的功能接口,用戶通過功能接口調(diào)用后臺服務器相應的功能。業(yè)務接口層采用單線程異步的工作機制,具體過程為:業(yè)務接口層接收來自前端系統(tǒng)的大量的業(yè)務請求,業(yè)務接口層可以根據(jù)業(yè)務請求到來的先后順序每次只處理一個業(yè)務請求,即單線程的工作機制,為了防止業(yè)務請求在調(diào)用對應的至少一個原子操作發(fā)生阻塞,業(yè)務接口層在將業(yè)務請求轉(zhuǎn)發(fā)到功能接口層或作業(yè)任務層之后,即可以重新處理另一個線程,不需要等待上一個線程的調(diào)用結(jié)果返回,即異步的工作機制。這樣,在業(yè)務接口層使用單線程異步的工作機制可以方式一個業(yè)務請求阻塞導致無法在響應新的業(yè)務請求,提高處理效率。
示例性的,業(yè)務接口層根據(jù)時間的先后順序接收到的業(yè)務請求為operation request1、operation request2、……、operation requestn,業(yè)務接口層每次只處理一個業(yè)務請求,業(yè)務接口層將operation request1轉(zhuǎn)發(fā)給功能接口層或作業(yè)任務層之后,就開始處理operation request2,將operation request2轉(zhuǎn)發(fā)給功能接口層或作業(yè)任務層之前,就開始處理operation request3,依次類推,采用單線程異步的工作機制處理接收到的業(yè)務請求,防止阻塞在單一的線程中,提高處理效率。
S202、獲取所述業(yè)務請求中攜帶的類型字段。
具體的,業(yè)務請求中攜帶類型字段,類型字段用于表示業(yè)務請求的類型,例如,業(yè)務請求中攜帶的類型字段為:operation request(task),task字段表示業(yè)務請求為作業(yè)任務,operation request(service),service字段表示業(yè)務請求為服務請求。
S203、根據(jù)所述類型字段識別所述業(yè)務請求的類型。
具體的,根據(jù)S202的識別結(jié)果,如果業(yè)務請求為服務請求,執(zhí)行S204,如果業(yè)務請求為作業(yè)任務,執(zhí)行S205。
S204、向所述功能接口層發(fā)送功能調(diào)用請求,所述功能調(diào)用請求用于在所 述功能接口層中調(diào)用所述服務請求對應的至少一個原子操作。
具體的,服務器預先提供已封裝的操作函數(shù),不同的操作函數(shù)對應的原子操作是不相同的,用戶向服務器發(fā)送業(yè)務請求即為調(diào)用服務器的業(yè)務接口層中提供的操作函數(shù)。服務器的業(yè)務接口層查詢業(yè)務請求對應的至少一個原子操作,服務器的業(yè)務接口層向業(yè)務接口層發(fā)送攜帶對應的至少一個原子操作的函數(shù)名的功能調(diào)用請求。功能接口層采用多線程異步的工作機制處理業(yè)務接口層發(fā)送的功能調(diào)用請求,具體的處理過程為:
功能接口層包含多個原子操作,每個原子操作的功能是單一為解耦的,業(yè)務接口層采用的單線程異步的工作機制,這樣會導致業(yè)務接口層會不斷的向功能接口層發(fā)送功能調(diào)用請求,以調(diào)用功能接口層的原子操作,不同的功能調(diào)用請求調(diào)用的原子操作可能會相同,這樣功能接口層采用多線程的工作機制才能處理同時調(diào)用多個相同的原子操作的要求。功能接口層中的原子操作為慢速的操作,執(zhí)行過程耗時非常長,為了減少服務器的CPU資源的消耗,功能接口層在執(zhí)行原子操作的過程中利用自身的硬件能力來執(zhí)行,并不消耗服務器的CPU資源,只是在開始執(zhí)行和結(jié)束原子操作的時候通知CPU該原子操作的執(zhí)行狀態(tài),因此功能接口層采用的是異步的工作機制。
示例性的,服務器的業(yè)務接口層查詢到operation request1對應的至少一個原子操作為Server1、Server2和Server3,operation request2對應的至少一個原子操作為Server1、Server3和Server5,業(yè)務接口層依次向功能接口層發(fā)送功能調(diào)用請求Function call request1(Server1,Server2,Server3)和Function call request2(Server1,Server3,Server5),可以看出Function call request1和Function call request2均需要調(diào)用原子操作Server1和Server3,這時功能接口層需要開啟多線程的工作機制。功能接口層中的原子操作一般為慢速操作,例如,大文件的讀寫操作、數(shù)據(jù)庫的讀寫操作等,耗時較長,功能接口層采用異步的方式來執(zhí)行原子操作,具體為利用功能接口層自身的硬件資源來執(zhí)行原子操作,不需要調(diào)用服務器的CPU的資源,功能接口層在開始執(zhí)行和結(jié)束執(zhí)行某個原子操作時,只需要通知CPU,在執(zhí)行結(jié)束后,生成調(diào)用成功或失敗的消息。
S205、將所述業(yè)務請求寫入所述任務作業(yè)層的任務表中。
具體的,根據(jù)S202識別的業(yè)務請求的類型,將業(yè)務請求寫入任務作業(yè)層的任務表中,任務表中存儲的業(yè)務請求的最大數(shù)量可以根據(jù)處理能力進行設(shè)置, 任務表可以是一個先進先出的隊列,新到來的業(yè)務請求放置在隊列的尾部,任務作業(yè)層每次讀取隊列的頭部的業(yè)務請求。
S206、當滿足所述業(yè)務請求的執(zhí)行條件時,確定所述業(yè)務請求對應的至少一個作業(yè)階段,并控制所述任務作業(yè)層執(zhí)行所述至少一個作業(yè)階段。
具體的,可以通過狀態(tài)值的轉(zhuǎn)換對任務表中的業(yè)務請求進行處理,任務表中的每個業(yè)務請求設(shè)置一個狀態(tài)值,任務作業(yè)層周期性的讀取任務表中的業(yè)務請求的狀態(tài)值,當狀態(tài)值符合預設(shè)值時,確定業(yè)務請求對應的至少一個作業(yè)階段,并控制任務作業(yè)層執(zhí)行所述至少一個作業(yè)階段。任務作業(yè)層采用多線程同步的工作機制來處理任務表中的業(yè)務請求,即同時可以處理多個業(yè)務請求,針對一個業(yè)務請求,該業(yè)務請求對應的所有的作業(yè)階段均成功執(zhí)行后,向業(yè)務接口層返回執(zhí)行結(jié)果,由業(yè)務接口層向用戶呈現(xiàn)。其中,在執(zhí)行每個作業(yè)階段的過程中也會去調(diào)用功能接口層中的原子操作,調(diào)用的方式操作服務請求,此處不再贅述。
示例性的,作業(yè)表中最大可存儲100個業(yè)務請求,任務作業(yè)層每間隔1s讀取業(yè)務請求的狀態(tài)值,如果業(yè)務請求的狀態(tài)值為1,查詢業(yè)務請求的至少一個作業(yè)階段,業(yè)務請求為轉(zhuǎn)賬業(yè)務請求,轉(zhuǎn)賬業(yè)務請求對應的作業(yè)階段包括:賬號獲取階段、審核階段、賬戶余額更新階段,功能接口層依次執(zhí)行上述三個作業(yè)階段,在所有的作業(yè)階段全部成功執(zhí)行后,向業(yè)務接口層返回執(zhí)行結(jié)果;如果不是全部成功執(zhí)行,則回滾到轉(zhuǎn)賬操作之前的狀態(tài),通知作業(yè)任務表的轉(zhuǎn)賬操作的狀態(tài)值變?yōu)?。
S207、所述至少一個原子操作是否全部調(diào)用成功。
具體的,服務請求為事務性的操作,如果至少一個原子操作全部調(diào)用成功,執(zhí)行S208,否則,執(zhí)行S209。
S208、向所述業(yè)務接口層返回調(diào)用結(jié)果。
S209、向所述業(yè)務接口層返回失敗消息。
其中,調(diào)用失敗后,恢復到調(diào)用至少一個原子操作之前的狀態(tài)。
實施本發(fā)明的實施例,通過業(yè)務接口層接收業(yè)務請求,如果業(yè)務請求的類型為服務請求,向功能接口層調(diào)用業(yè)務請求對應的至少一個原子操作,接收功能接口層返回的調(diào)用接口。這樣通過對服務器的層次的劃分和工作機制的配置,使服務器的系統(tǒng)結(jié)構(gòu)清晰,不同類型的業(yè)務請求交給對應的層去處理,優(yōu)化了 服務器的處理效率。
參見圖3,為本發(fā)明實施例提供的一種服務器的網(wǎng)絡框架的結(jié)構(gòu)示意圖,在本發(fā)明實施例中,以廣告消息的群發(fā)過程來說明本發(fā)明實施例的服務器的工作原理:
服務器包括業(yè)務接口層Service、功能接口層Server和任務作業(yè)層Mon、業(yè)務接口層采用單線程異步的工作機制,功能接口層采用多線程異步的工作機制,任務作業(yè)層采用多線程同步的工作機制。業(yè)務接口層提供多種操作功能、包括獲取廣告主資料、獲取用戶標簽、獲取群發(fā)素材和定向推廣等,用戶向業(yè)務接口層發(fā)送定向推廣的業(yè)務請求,業(yè)務接口確定定向推廣為作業(yè)任務,將定向推廣放入到作業(yè)任務層的作業(yè)表中,作業(yè)任務表周期性的讀取定向周期性的匹配定向推廣的狀態(tài)值,當狀態(tài)值為1時,確定定向推廣對應的作業(yè)階段為預算計費、審核、通知和發(fā)送4個作業(yè)階段。在4個作業(yè)階段全部成功執(zhí)行后,即完成定向推廣的業(yè)務請求;如果業(yè)務請求為服務請求,確定服務請求對應的至少一個原子操作,調(diào)用功能接口層中的至少一個原子操作,在所有的原子操作調(diào)用成功后,向業(yè)務接口層返回調(diào)用結(jié)果。
參見圖4,為本發(fā)明實施例提供的一種服務器的結(jié)構(gòu)示意圖,在本發(fā)明實施例中,所述服務器包括接收模塊40、識別模塊41、調(diào)用模塊42和返回模塊43,其中所述接收模塊40、識別模塊41和調(diào)用模塊42位于業(yè)務接口層中,所述業(yè)務接口層采用單線程異步的工作機制,所述返回模塊43位于功能接口層中,所述功能接口層采用多線程異步的工作機制。
接收模塊40,用于通過所述業(yè)務接口層接收業(yè)務請求。
識別模塊41,用于識別所述業(yè)務請求的類型。
調(diào)用模塊42,用于如果所述業(yè)務請求為服務請求,向所述功能接口層發(fā)送功能調(diào)用請求,所述功能調(diào)用請求用于在所述功能接口層中調(diào)用所述業(yè)務請求對應的至少一個原子操作。
返回模塊43,用于在所述至少一個原子操作全部調(diào)用成功之后,向所述業(yè)務接口層返回調(diào)用結(jié)果。
本發(fā)明實施例和方法實施例一基于同一構(gòu)思,其帶來的技術(shù)效果也相同,具體過程請參照方法實施例一的描述,此處不再贅述。
進一步的,參見圖5,為本發(fā)明實施例提供的一種服務器的另一結(jié)構(gòu)示意圖, 在本發(fā)明實施例中,所述服務器除包括接收模塊40、識別模塊41、調(diào)用模塊42和返回模塊43之外,還包括:寫入模塊44、執(zhí)行模塊45和失敗返回模塊46,其中,所述寫入模塊44位于業(yè)務接口層中,執(zhí)行模塊45位于任務作業(yè)層中,失敗返回模塊46位于功能接口層中,任務作業(yè)層采用多線程同步的工作機制。
寫入模塊44,用于如果所述業(yè)務請求為作業(yè)任務,將所述業(yè)務請求寫入所述任務作業(yè)層的任務表中。
執(zhí)行模塊45,用于當滿足所述業(yè)務請求的執(zhí)行條件時,確定所述業(yè)務請求對應的至少一個作業(yè)階段,并控制所述任務作業(yè)層依次執(zhí)行所述至少一個作業(yè)階段。
失敗返回模塊46,用于如果所述至少一個原子操作中沒有全部調(diào)用成功,向所述業(yè)務接口層返回失敗消息;其中,所述失敗返回模塊位于功能接口層中。
可選的,所述識別模塊用于獲取所述業(yè)務請求中攜帶的類型字段,根據(jù)所述類型字段識別所述業(yè)務請求的類型。
可選的所述執(zhí)行模塊用于控制所述任務作業(yè)層根據(jù)預設(shè)周期讀取所述作業(yè)表中的所述業(yè)務請求的狀態(tài)值;
如果讀取的狀態(tài)值為預設(shè)值,確定所述業(yè)務請求對應的至少一個作業(yè)階段,并控制所述任務作業(yè)層依次執(zhí)行所述至少一個作業(yè)階段。
可選的,所述功能接口層中的原子操作包括:文件讀寫操作、數(shù)據(jù)庫操作和支付操作。
本發(fā)明實施例和方法實施例二基于同一構(gòu)思,其帶來的技術(shù)效果也相同,具體請參照方法實施例二的描述,此處不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所揭露的僅為本發(fā)明一種較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。