本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種基于多語言環(huán)境的軟件包發(fā)布方法及系統(tǒng)。
背景技術(shù):
隨著軟件需求的增大,技術(shù)的發(fā)展,以及人們對(duì)軟件的應(yīng)用或者產(chǎn)品的特定設(shè)置的要求的提高,各種應(yīng)用或產(chǎn)品或軟件功能的完善不斷推陳出新。現(xiàn)有技術(shù)中,對(duì)應(yīng)用或產(chǎn)品或軟件的研發(fā)需要開發(fā)人員在本地開發(fā)并編譯,然后遠(yuǎn)程登入服務(wù)器,并且將編譯后的軟件包上傳至服務(wù)器,同時(shí)根據(jù)不同的現(xiàn)場(chǎng)環(huán)境規(guī)則,在服務(wù)器上修改與現(xiàn)場(chǎng)環(huán)境相對(duì)應(yīng)的配置文件,接著根據(jù)目的地址而執(zhí)行分發(fā)操作,以完成發(fā)布任務(wù)。
對(duì)應(yīng)用或產(chǎn)品或軟件的發(fā)布或更新需要大量人為操作的介入,這樣會(huì)造成開發(fā)或發(fā)布人員的精力浪費(fèi)在重復(fù)性的操作中,增加發(fā)布的成本,并且人為操作會(huì)不可避免的產(chǎn)生誤操作的問題,使得發(fā)布可靠降低。另外,在現(xiàn)有技術(shù)中,在服務(wù)器通過內(nèi)置編譯器對(duì)源代碼完成編譯操作之后,服務(wù)器會(huì)根據(jù)內(nèi)置的多個(gè)現(xiàn)場(chǎng)環(huán)境規(guī)則進(jìn)行多次打包,以生成與現(xiàn)場(chǎng)環(huán)境(例如測(cè)試環(huán)境、UAT環(huán)境及生產(chǎn)環(huán)境等)相對(duì)應(yīng)的軟件包。當(dāng)完成編譯后進(jìn)行測(cè)試,如果在測(cè)試過程中發(fā)現(xiàn)問題需要重新編譯打包,以至不必要生成UAT環(huán)境軟件包及生產(chǎn)環(huán)境軟件包,同時(shí)也會(huì)造成服務(wù)器資源的浪費(fèi)。再者,現(xiàn)有技術(shù)的發(fā)布系統(tǒng)僅支持單一語言環(huán)境,其并不適用于多語言環(huán)境。
因此,亟需提供一種基于多語言環(huán)境的軟件包發(fā)布方法及系統(tǒng)。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述問題,本發(fā)明提供一種基于多語言環(huán)境的軟件包發(fā)布方法及系統(tǒng),其不僅能夠在一定程度上消除人為操作所產(chǎn)生的錯(cuò)誤,以增加發(fā)布的可靠性,通過系統(tǒng)自動(dòng)執(zhí)行重復(fù)性的工作來降低發(fā)布的成本,而且通過合理的部署編譯包而能夠有效地利用整個(gè)系統(tǒng)的資源,以達(dá)到節(jié)省資源的目的。
本發(fā)明的一方面,提供一種基于多語言環(huán)境的軟件包發(fā)布方法,其包括以下步驟:(a)服務(wù)器通過內(nèi)置編譯器對(duì)源代碼進(jìn)行編譯;(b)服務(wù)器對(duì)編譯后的源代碼進(jìn)行打包,以生成編譯包;(c)服務(wù)器發(fā)送配置信息請(qǐng)求至一配置模塊,以獲取相應(yīng)的配置信息;(d)服務(wù)器將所接收到所述配置信息添加至所述編譯包,以生成相應(yīng)的部署包,進(jìn)而執(zhí)行定向目標(biāo)的分發(fā)操作。
本發(fā)明的另一方面,提供一種基于多語言環(huán)境的軟件包發(fā)布系統(tǒng),其包括:源代碼編譯單元,所述源代碼編譯單元用于服務(wù)器通過內(nèi)置編譯器對(duì)源代碼進(jìn)行編譯;源代碼打包單元,所述源代碼打包單元與所述源代碼編譯單元相連,用于服務(wù)器對(duì)編譯后的源代碼進(jìn)行打包,以生成編譯包;配置信息獲取單元,所述配置信息獲取單元與所述源代碼打包單元相連,用于服務(wù)器發(fā)送配置信息請(qǐng)求至一配置模塊,以獲取相應(yīng)的配置信息;部署包生成單元,所述部署包生成單元與所述配置信息獲取單元相連,用于服務(wù)器將所接收到所述配置信息添加至所述編譯包,以生成相應(yīng)的部署包,進(jìn)而執(zhí)行定向目標(biāo)的分發(fā)操作。
本發(fā)明的優(yōu)點(diǎn)在于,本發(fā)明通過基于語言環(huán)境的軟件包發(fā)布方法及系統(tǒng),不僅實(shí)現(xiàn)在一定程度上消除人為操作所產(chǎn)生的錯(cuò)誤,以增加發(fā)布的可靠性,通過系統(tǒng)自動(dòng)執(zhí)行重復(fù)性的工作來降低發(fā)布成本的目的,而且通過合理的部署編譯包而能夠有效地利用整個(gè)系統(tǒng)的資源,以達(dá)到節(jié)省資源的效果。
附圖說明
圖1是本發(fā)明一實(shí)施例中基于多語言環(huán)境的軟件包發(fā)布方法的流程步驟示意圖;
圖2是本發(fā)明一實(shí)施例中基于多語言環(huán)境的軟件包發(fā)布系統(tǒng)的架構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明提供的基于多語言環(huán)境的軟件包發(fā)布方法及系統(tǒng)的具體實(shí)施方式做詳細(xì)說明。
參見圖1,本發(fā)明提供一種基于多語言環(huán)境的軟件包發(fā)布方法,其包括以下步驟:(a)服務(wù)器通過內(nèi)置編譯器對(duì)源代碼進(jìn)行編譯;(b)服務(wù)器對(duì)編譯后的源代碼進(jìn)行打包,以生成編譯包;(c)服務(wù)器發(fā)送配置信息請(qǐng)求至一配置模塊,以獲取相應(yīng)的配置信息;(d)服務(wù)器將所接收到所述配置信息添加至所述編譯包,以生成相應(yīng)的部署包,進(jìn)而執(zhí)行定向目標(biāo)的分發(fā)操作。
以下將具體描述每一步驟。
步驟S110:服務(wù)器通過內(nèi)置編譯器對(duì)源代碼進(jìn)行編譯。
在此步驟中,服務(wù)器通過內(nèi)置編譯器,例如C、PHP、Python、JAVA、.NET等多種語言的編譯器進(jìn)行編譯。該編譯器可以為本領(lǐng)域技術(shù)人員所常用的編譯器,在此不再一一列舉。另外,此處所述服務(wù)器是指具有編譯、打包及分發(fā)功能的服務(wù)器(下文相同),當(dāng)然在其他實(shí)施例中,可以設(shè)置多個(gè)服務(wù)器,分別具有編譯、打包及分發(fā)功能。
步驟S120:服務(wù)器對(duì)編譯后的源代碼進(jìn)行打包,以生成編譯包。
在此步驟中,生成的編譯包僅包含代碼,不包含任何環(huán)境相應(yīng)的配置信息。例如,.NET語言編譯器編譯生成的編譯包僅包含.dll文件,不包含環(huán)境相應(yīng)的配置信息。
步驟S130:服務(wù)器發(fā)送配置信息請(qǐng)求至一配置模塊,以獲取相應(yīng)的配置信息。
在此步驟中,通過配置模塊(或稱配置中心)以獲取相應(yīng)的配置信息,包括與現(xiàn)場(chǎng)環(huán)境相對(duì)應(yīng)的配置文件數(shù)據(jù),例如,根據(jù)目標(biāo)服務(wù)器環(huán)境(諸如測(cè)試環(huán)境、UAT環(huán)境、生產(chǎn)環(huán)境等)而確定出一定向目標(biāo)的服務(wù)器地址,以作為配置文件數(shù)據(jù),并返回至服務(wù)器。當(dāng)然,可以利用唯一的環(huán)境標(biāo)識(shí)以區(qū)分不同的目標(biāo)服務(wù)器環(huán)境。
步驟S140:服務(wù)器將所接收到所述配置信息添加至所述編譯包,以生成相應(yīng)的部署包,進(jìn)而執(zhí)行定向目標(biāo)的分發(fā)操作。
在此步驟中,基于上述編譯源代碼所生成的編譯包(其未包含環(huán)境配置信息的代碼包),將配置信息添加至相應(yīng)的編譯包中,以生成相應(yīng)的部署包。在現(xiàn)有技術(shù)中,編譯源代碼所生成的代碼包是包括生成所有環(huán)境配置信息的代碼包(例如測(cè)試環(huán)境、UAT環(huán)境、生產(chǎn)環(huán)境等)的軟件包。正如背景技術(shù)所言,當(dāng)完成編譯后進(jìn)行測(cè)試,如果在測(cè)試過程中發(fā)現(xiàn)問題需要重新編譯打包,以至不必要生成UAT環(huán)境軟件包及生產(chǎn)環(huán)境軟件包,同時(shí)也會(huì)造成服務(wù)器資源的浪費(fèi)。而在本發(fā)明中,在步驟S120中生成的編譯包僅包含代碼,不包含任何環(huán)境配置信息,只是在發(fā)布至目標(biāo)服務(wù)器之前,從配置模塊(其可以設(shè)置在一專用服務(wù)器中,不限于此)中根據(jù)所確定出的目標(biāo)服務(wù)器(及其環(huán)境)而提取出相應(yīng)的配置信息,并且將其添加至所述編譯包中,以形成相應(yīng)的部署包,從而完成定向目標(biāo)的發(fā)送操作。于是,通過合理的部署編譯包而能夠有效地利用整個(gè)系統(tǒng)的資源,以達(dá)到節(jié)省資源的效果。
需注意的是,在本實(shí)施例中,上述步驟是針對(duì).NET語言的編譯包而言。如果是JAVA語言,則編譯源代碼后直接生成部署包,當(dāng)該部署包在TOMCAT容器中運(yùn)行且接收到外界的訪問請(qǐng)求時(shí),會(huì)自動(dòng)從配置模塊獲取相關(guān)的配置信息,以完成后繼操作。
因此,通過上述步驟的實(shí)施,本發(fā)明所述方法能夠適用于多語言環(huán)境(例如在windows操作系統(tǒng)的IIS容器中,在linux操作系統(tǒng)的Tomcat容器中,或其他語言環(huán)境且不限于此)進(jìn)行相關(guān)操作。
另外,在步驟S140之后,在一實(shí)施例中,可以進(jìn)一步包括步驟:
(11)設(shè)置一文件鏡像服務(wù)器;
(12)將部署包發(fā)送至所述文件鏡像服務(wù)器;
(13)目標(biāo)服務(wù)器通過專用網(wǎng)絡(luò)從所述文件鏡像服務(wù)器中獲取相關(guān)的部署包。
一般情況,生成部署包的服務(wù)器的地理位置與目標(biāo)服務(wù)器(一般為多個(gè)目標(biāo)服務(wù)器)的地理位置是不同的,且在不同區(qū)域。因此,如果將部署包從其所屬的服務(wù)器直接發(fā)送至同一區(qū)域中的不同目標(biāo)服務(wù)器(相當(dāng)于多次重復(fù)發(fā)送部署包至目標(biāo)服務(wù)器),那么可能會(huì)產(chǎn)生至目標(biāo)服務(wù)器的網(wǎng)絡(luò)擁塞現(xiàn)象。而在本實(shí)施例中,首先將部署包指定發(fā)送至所述文件鏡像服務(wù)器,其中,所述文件鏡像服務(wù)器與目標(biāo)服務(wù)器設(shè)置在同一區(qū)域,且彼此通過專用網(wǎng)絡(luò)相連,然后通知與所述文件鏡像服務(wù)器相連的目標(biāo)服務(wù)器,接著所述目標(biāo)服務(wù)器通過利用具有高速傳輸特性的專用網(wǎng)絡(luò)(此處為內(nèi)網(wǎng),不占用外網(wǎng)資源)以從所述文件鏡像服務(wù)器中獲取相關(guān)的部署包。于是,就可以避免多次重復(fù)發(fā)送部署包至目標(biāo)服務(wù)器所引起的網(wǎng)絡(luò)擁塞問題,從而達(dá)到節(jié)省外網(wǎng)帶寬資源的目的。
另外,在步驟S140之后,在另一實(shí)施例中,可以進(jìn)一步包括步驟:
(21)、設(shè)置一文件存儲(chǔ)集群服務(wù)器;
(22)、將所有部署包備份至所述文件存儲(chǔ)集群服務(wù)器;
(23)、從所述文件存儲(chǔ)集群服務(wù)器發(fā)送所述部署包發(fā)送至文件鏡像服務(wù)器;
(24)、目標(biāo)服務(wù)器通過專用網(wǎng)絡(luò)從所述文件鏡像服務(wù)器中獲取相關(guān)的部署包;
(25)、當(dāng)目標(biāo)服務(wù)器需要執(zhí)行版本回滾操作時(shí),根據(jù)所述目標(biāo)服務(wù)器所存儲(chǔ)的歷史記錄信息,查找一先前版本且有效的部署包,如果查找到,則獲取所述有效部署包,并結(jié)束執(zhí)行;否則,執(zhí)行步驟(26);
(26)、通過所述文件鏡像服務(wù)器查詢相應(yīng)版本的有效部署包,如果查找到,則獲取所述有效部署包,并結(jié)束執(zhí)行;否則,執(zhí)行步驟(27);
(27)、通過所述文件存儲(chǔ)集群服務(wù)器查詢相應(yīng)版本的有效部署包。
在上述步驟中,首先,在本地設(shè)置一文件存儲(chǔ)集群服務(wù)器,這樣可以集中式地管理所生成的部署包及編譯包。然后,將相關(guān)的部署包從所述文件存儲(chǔ)集群服務(wù)器發(fā)送至所述文件鏡像服務(wù)器,接著通知與所述文件鏡像服務(wù)器相連的目標(biāo)服務(wù)器,從而使得目標(biāo)服務(wù)器能夠獲取所需的部署包。由于步驟(24)至步驟(27)的實(shí)施,因此,能夠有效進(jìn)行部署包(或編譯包)的版本控制,可以實(shí)現(xiàn)版本回滾。再者,如果發(fā)現(xiàn)當(dāng)前發(fā)布版本的部署包存有問題時(shí),利用三次緩存方式(即通過目標(biāo)服務(wù)器的歷史記錄、文件鏡像服務(wù)器以及文件存儲(chǔ)集群服務(wù)器),能夠找到該錯(cuò)誤部署包的先前有效版本。
另外,在步驟S140之中,在又一實(shí)施例中,進(jìn)一步包括步驟:
(31)設(shè)置一監(jiān)控模塊;
(32)所述監(jiān)控模塊長(zhǎng)期且周期性地與目標(biāo)服務(wù)器進(jìn)行心跳通信連接;
(33)當(dāng)所述監(jiān)控模塊在發(fā)送心跳通信請(qǐng)求至所述目標(biāo)服務(wù)器之后,在一預(yù)設(shè)時(shí)間內(nèi)沒有從所述目標(biāo)服務(wù)器接收到心跳通信響應(yīng),則發(fā)送通知信息給用戶,并且結(jié)束執(zhí)行;
(34)在將相應(yīng)的部署包進(jìn)行定向分發(fā)之前,所述監(jiān)控模塊再次發(fā)送心跳通信請(qǐng)求至所述目標(biāo)服務(wù)器;
(35)當(dāng)所述監(jiān)控模塊接收到從所述目標(biāo)服務(wù)器返回的心跳通信響應(yīng)時(shí),發(fā)送相應(yīng)的部署包至所述目標(biāo)服務(wù)器。
通過上述步驟(31)至(33)的實(shí)施,不僅可以迅速判斷與目標(biāo)服務(wù)器的通信是否存有問題,有助于用戶及時(shí)了解系統(tǒng)情況,而且在分發(fā)部署包之前,能夠明確地定位出某一故障目標(biāo)服務(wù)器,若仍希望將部署包發(fā)送至該故障目標(biāo)服務(wù)器,則需要等待用戶將該故障目標(biāo)服務(wù)器修復(fù)完畢,再執(zhí)行發(fā)送操作。于是,提高了系統(tǒng)的穩(wěn)定性。通過步驟(34)至(35)的實(shí)施,用于進(jìn)一步改善系統(tǒng)的穩(wěn)定性。
在又一實(shí)施例中,在步驟S110和S120進(jìn)一步包括:
(41)設(shè)置一管道模塊;
(42)通過異步方式在所述管道模塊中執(zhí)行源代碼染色操作;
(43)通過異步方式在所述管道模塊中執(zhí)行對(duì)編譯后的源代碼進(jìn)行自動(dòng)化測(cè)試操作。
通常情況下,提取代碼、編譯、打包及分發(fā)為彼此相關(guān)聯(lián)的四個(gè)步驟。在現(xiàn)有技術(shù)中,如果在編譯過程中,需要植入一段代碼,則需要修改相應(yīng)的編譯代碼。因此,本發(fā)明在提取代碼步驟結(jié)束之后,基于源代碼開銷最小原則,通過設(shè)置一可控的管道模塊并利用異步方式進(jìn)行源代碼染色操作(即可植入所需代碼),從而避免在編譯完成后再植入所需代碼而產(chǎn)生的高開銷問題。此外,在現(xiàn)有技術(shù)中,如果在編譯完成后希望進(jìn)行自動(dòng)化測(cè)試操作,則需要修改相應(yīng)的編譯模塊,這樣開銷成本較高。因此,本發(fā)明在編譯步驟之后,通過設(shè)置一可控的管道模塊并利用異步方式以實(shí)現(xiàn)自動(dòng)化測(cè)試操作。需注意的是,在上述步驟中采用異步方式能夠避免對(duì)宿主(即上述提取代碼、編譯、打包及分發(fā)四個(gè)步驟的正常執(zhí)行操作)產(chǎn)生影響。
參見圖2,本發(fā)明還提供一種基于多語言環(huán)境的軟件包發(fā)布系統(tǒng),其包括:源代碼編譯單元210、源代碼打包單元220、配置信息獲取單元230以及部署包生成單元240。其中,
所述源代碼編譯單元210用于服務(wù)器通過內(nèi)置編譯器對(duì)源代碼進(jìn)行編譯。
所述源代碼打包單元220與所述源代碼編譯單元210相連,用于服務(wù)器對(duì)編譯后的源代碼進(jìn)行打包,以生成編譯包。
所述配置信息獲取單元230與所述源代碼打包單元220相連,用于服務(wù)器發(fā)送配置信息請(qǐng)求至一配置模塊,以獲取相應(yīng)的配置信息。
所述部署包生成單元240與所述配置信息獲取單元230相連,用于服務(wù)器將所接收到所述配置信息添加至所述編譯包,以生成相應(yīng)的部署包,進(jìn)而執(zhí)行定向目標(biāo)的分發(fā)操作。
可選的,本發(fā)明所述軟件包發(fā)布系統(tǒng)進(jìn)一步包括:文件鏡像設(shè)置單元、部署包第一發(fā)送單元和部署包第一獲取單元,上述可選的單元未在圖中示出。
其中,所述文件鏡像設(shè)置單元用于設(shè)置一文件鏡像服務(wù)器。所述部署包第一發(fā)送單元與所述文件鏡像設(shè)置單元相連,用于將部署包發(fā)送至所述文件鏡像服務(wù)器。所述部署包第一獲取單元用于目標(biāo)服務(wù)器通過專用網(wǎng)絡(luò)從所述文件鏡像服務(wù)器中獲取相關(guān)的部署包。于是,就可以避免多次重復(fù)發(fā)送部署包至目標(biāo)服務(wù)器所引起的網(wǎng)絡(luò)擁塞問題,從而達(dá)到節(jié)省外網(wǎng)帶寬資源的目的。
可選的,本發(fā)明所述軟件包發(fā)布系統(tǒng)進(jìn)一步包括:文件存儲(chǔ)集群設(shè)置單元、部署包備份單元、部署包第二發(fā)送單元、部署包第二獲取單元、版本第一獲取單元、版本第二獲取單元以及版本第三獲取單元,上述可選的單元未在圖中示出。
其中,所述文件存儲(chǔ)集群?jiǎn)卧糜谠O(shè)置一文件存儲(chǔ)集群服務(wù)器。所述部署包備份單元與所述文件存儲(chǔ)集群設(shè)置單元相連,用于將所有部署包備份至所述文件存儲(chǔ)集群服務(wù)器。所述部署包第二發(fā)送單元用于從所述文件存儲(chǔ)集群服務(wù)器發(fā)送所述部署包至文件鏡像服務(wù)器。所述部署包第二獲取單元用于目標(biāo)服務(wù)器通過專用網(wǎng)絡(luò)從所述文件鏡像服務(wù)器中獲取相關(guān)的部署包。所述版本第一獲取單元用于當(dāng)目標(biāo)服務(wù)器需要執(zhí)行版本回滾操作時(shí),根據(jù)所述目標(biāo)服務(wù)器所存儲(chǔ)的歷史記錄信息,查找一先前版本且有效的部署包,如果查找到,則獲取所述有效部署包,并結(jié)束執(zhí)行;否則,調(diào)用版本第二獲取單元。所述版本第二獲取單元用于通過所述文件鏡像服務(wù)器查詢相應(yīng)版本的有效部署包,如果查找到,則獲取所述有效部署包,并結(jié)束執(zhí)行;否則,調(diào)用版本第三獲取單元。所述版本第三獲取單元用于通過所述文件存儲(chǔ)集群服務(wù)器查詢相應(yīng)版本的有效部署包。
若發(fā)現(xiàn)當(dāng)前發(fā)布版本的部署包存有問題時(shí),利用三次緩存方式(即通過目標(biāo)服務(wù)器的歷史記錄、文件鏡像服務(wù)器以及文件存儲(chǔ)集群服務(wù)器),能夠找到該錯(cuò)誤部署包的先前有效版本。因此,能夠有效進(jìn)行部署包(或編譯包)的版本控制。
可選的,本發(fā)明所述軟件包發(fā)布系統(tǒng)進(jìn)一步包括:監(jiān)控模塊設(shè)置單元、監(jiān)控模塊第一判斷單元、監(jiān)控模塊第一響應(yīng)單元、監(jiān)控模塊第二判斷單元及監(jiān)控模塊第二響應(yīng)單元,上述可選的單元未在圖中示出。
其中,所述監(jiān)控模塊設(shè)置單元用于設(shè)置一監(jiān)控模塊。所述監(jiān)控模塊判斷單元用于所述監(jiān)控模塊長(zhǎng)期且周期性地與目標(biāo)服務(wù)器進(jìn)行心跳通信連接。所述監(jiān)控模塊第一響應(yīng)單元用于當(dāng)所述監(jiān)控模塊在發(fā)送心跳通信請(qǐng)求至所述目標(biāo)服務(wù)器之后,在一預(yù)設(shè)時(shí)間內(nèi)沒有從所述目標(biāo)服務(wù)器接收到心跳通信響應(yīng),則發(fā)送通知信息給用戶。所述監(jiān)控模塊第二判斷單元用于在將相應(yīng)的部署包進(jìn)行定向分發(fā)之前,所述監(jiān)控模塊再次發(fā)送心跳通信請(qǐng)求至所述目標(biāo)服務(wù)器。所述監(jiān)控模塊第二響應(yīng)單元用于當(dāng)所述監(jiān)控模塊接收到從所述目標(biāo)服務(wù)器返回的心跳通信響應(yīng)時(shí),發(fā)送相應(yīng)的部署包至所述目標(biāo)服務(wù)器。于是,可以改善系統(tǒng)的穩(wěn)定性。
可選的,本發(fā)明所述軟件包發(fā)布系統(tǒng)進(jìn)一步包括:管道模塊設(shè)置單元、代碼染色單元以及代碼測(cè)試單元,上述可選的單元未在圖中示出。
其中,所述管道模塊設(shè)置單元用于設(shè)置一管道模塊。所述代碼染色單元用于通過異步方式在所述管道模塊中執(zhí)行源代碼染色操作。所述代碼測(cè)試單元用于通過異步方式在所述管道模塊中執(zhí)行對(duì)編譯后的源代碼進(jìn)行自動(dòng)化測(cè)試操作。這樣,在不影響原有步驟操作的情況下,執(zhí)行所需操作,且開銷成本較低。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。