系統(tǒng)環(huán)境配置自動更新方法及裝置的制造方法
【專利摘要】本發(fā)明涉及計算機技術(shù)領(lǐng)域,提供了一種系統(tǒng)環(huán)境配置自動更新方法及裝置。所述方法包括:根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量;獲取與所述環(huán)境變量對應的配置文件,加載所述配置文件。本發(fā)明無需通過拷貝相應的配置文件進行替換以適應不同的環(huán)境,直接通過環(huán)境變量動態(tài)加載需要加載的配置文件,操作簡單,且動態(tài)加載的方式無需重新啟動服務器,提高了效率。
【專利說明】
系統(tǒng)環(huán)境配置自動更新方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別是涉及一種系統(tǒng)環(huán)境配置自動更新方法及裝置。
【【背景技術(shù)】】
[0002]隨著互聯(lián)網(wǎng)系統(tǒng)發(fā)展越來越成熟,每一個互聯(lián)網(wǎng)系統(tǒng)在開發(fā)和應用過程中都會需要多個環(huán)境,比如開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境等等。不同的環(huán)境需要有不同的數(shù)據(jù)庫的不同資源,因此針對不同的資源需要通過不同的配置來解決適配問題。這樣,每次切換不同環(huán)境時需要進行一次配置文件的替換,這種操作方式累贅且繁瑣,而且不能動態(tài)更新配置文件。
[0003]鑒于此,如何使切換不同環(huán)境時不需要進行配置文件的替換,且能夠動態(tài)更新配置文件,是目前亟待解決的技術(shù)問題。
【
【發(fā)明內(nèi)容】
】
[0004]本發(fā)明提供一種系統(tǒng)環(huán)境配置自動更新方法及裝置,旨在解決現(xiàn)有技術(shù)的系統(tǒng)每次切換不同環(huán)境時需要進行一次配置文件的替換,且配置文件不能動態(tài)更新的技術(shù)問題。
[0005]根據(jù)本發(fā)明實施例的第一方面,提供一種系統(tǒng)環(huán)境配置自動更新方法,所述方法包括:
[0006]根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量;
[0007]獲取與所述環(huán)境變量對應的配置文件,加載所述配置文件。
[0008]在一些實施例中,所述根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量包括:
[0009]根據(jù)擬切換的環(huán)境類型,將配置文件中代表環(huán)境類型的環(huán)境變量的值修改為所述擬切換的環(huán)境類型值。
[0010]在一些實施例中,所述根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量之前還包括:
[0011]預先存儲對應于不同環(huán)境類型的配置文件,每一所述配置文件與代表每一環(huán)境類型的環(huán)境變量一一對應。
[0012]在一些實施例中,所述方法還包括:
[0013]當所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。
[0014]在一些實施例中,所述當所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存包括:
[0015]按預設(shè)頻率檢查所述配置文件內(nèi)容是否有更新,若所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。
[0016]根據(jù)本發(fā)明實施例的第二方面,還提供一種系統(tǒng)環(huán)境配置自動更新裝置,所述裝置包括:
[0017]環(huán)境變量設(shè)置模塊,用于根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量;
[0018]配置文件加載模塊,用于獲取與所述環(huán)境變量對應的配置文件,加載所述配置文件。
[0019]在一些實施例中,所述環(huán)境變量設(shè)置模塊具體用于:根據(jù)擬切換的環(huán)境類型,將配置文件中代表環(huán)境類型的環(huán)境變量的值修改為所述擬切換的環(huán)境類型值。
[0020]在一些實施例中,所述裝置還包括:
[0021]配置文件預存儲模塊,用于預先存儲對應于不同環(huán)境類型的配置文件,每一所述配置文件與代表每一環(huán)境類型的環(huán)境變量一一對應。
[0022]在一些實施例中,所述裝置還包括:
[0023]配置文件更新模塊,用于當所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。
[0024]在一些實施例中,所述配置文件更新模塊具體用于:按預設(shè)頻率檢查所述配置文件內(nèi)容是否有更新,若所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。
[0025]本發(fā)明上述實施例提供的技術(shù)方案可產(chǎn)生以下有益效果:無需通過拷貝相應的配置文件進行替換以適應不同的環(huán)境,直接通過環(huán)境變量動態(tài)加載需要加載的配置文件,操作簡單,且動態(tài)加載的方式無需重新啟動服務器,提高了效率。
[0026]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
[0027]下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
【【附圖說明】】
[0028]圖1為本發(fā)明實施例的系統(tǒng)環(huán)境配置自動更新方法的流程圖;
[0029]圖2為本發(fā)明另一實施例的系統(tǒng)環(huán)境配置自動更新方法的流程圖;
[0030]圖3為本發(fā)明又一實施例的系統(tǒng)環(huán)境配置自動更新方法的流程圖;
[0031]圖4為本發(fā)明實施例的系統(tǒng)環(huán)境配置自動更新裝置的框圖;
[0032]圖5為本發(fā)明另一實施例的系統(tǒng)環(huán)境配置自動更新裝置的框圖;
[0033]圖6為本發(fā)明又一實施例的系統(tǒng)環(huán)境配置自動更新裝置的框圖。
【【具體實施方式】】
[0034]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0035]此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
[0036]如圖1所示,本發(fā)明實施例提供了一種系統(tǒng)環(huán)境配置自動更新方法,該方法包括步驟S11-S12:
[0037]S11、根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量。
[0038]互聯(lián)網(wǎng)系統(tǒng)在開發(fā)和應用過程中都會需要多個環(huán)境,比如開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境等等,當系統(tǒng)開發(fā)完成之后,則進入測試環(huán)節(jié),此時需進行環(huán)境類型切換,即切換到測試環(huán)境。類似的,當測試和修改完成,系統(tǒng)正式運營時,需切換到生產(chǎn)環(huán)境(或者說運營環(huán)境)O
[0039]本實施例的關(guān)鍵點在于通過環(huán)境變量去獲取相應的配置文件,所以本步驟中,首先需要確定擬切換的環(huán)境類型,例如,擬切換的環(huán)境類型是測試環(huán)境,則自動設(shè)置代表測試環(huán)境的環(huán)境變量。具體的,環(huán)境變量的名稱是固定的,設(shè)置的是該環(huán)境變量的值。
[0040]在一實施例中,可通過如下方式設(shè)置環(huán)境變量:
[0041]根據(jù)擬切換的環(huán)境類型,將配置文件中代表環(huán)境類型的環(huán)境變量的值修改為所述擬切換的環(huán)境類型值。
[0042]例如,在系統(tǒng)服務器的配置文件中進行配置,例如,某一系統(tǒng)的配置文件為catalina.sh文件,貝Ij在該系統(tǒng)的catalina.sh文件中進行如下配置:
[0043]-DAPP_ENV = test
[0044]其中-DAPP_ENV是代表環(huán)境類型的環(huán)境變量名稱,test是代表測試環(huán)境的環(huán)境變量值,-DAPP_ENV = test就是將環(huán)境變量設(shè)置為測試環(huán)境。
[0045]S12、獲取與所述環(huán)境變量對應的配置文件,加載所述配置文件。
[0046]根據(jù)上一步驟設(shè)置的環(huán)境變量值,獲取該環(huán)境變量值代表的環(huán)境類型的配置文件,也即獲取與所述環(huán)境變量對應的配置文件。例如,上一步驟中通過_DAPP_ENV = test將系統(tǒng)配置為測試環(huán)境,本步驟則獲取與測試環(huán)境對應的配置文件。例如,可通過如下代碼獲取配置文件:
[0047]System.getProperty(“APP_ENV”);
[0048]獲取到相應的配置文件后,加載該配置文件。
[0049]在另一實施例中,如圖2所示,在步驟SII之前,本方法還包括:
[0050]S10、預先存儲對應于不同環(huán)境類型的配置文件,每一所述配置文件與代表每一環(huán)境類型的環(huán)境變量對應。
[0051]因為后續(xù)需要獲取當前配置的環(huán)境相對應的配置文件,因此需要服務器中預先存有各種環(huán)境下的配置文件,每一配置文件都與相應的環(huán)境類型的環(huán)境變量值一一對應,例如當環(huán)境變量值為test時,能直接查找到測試環(huán)境的配置文件并加載。
[0052]在另一實施例中,如圖3所示,本方法還包括:
[0053]S13、當所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。
[0054]系統(tǒng)環(huán)境的配置文件不會一直一成不變,因此需要提供當環(huán)境配置文件有變化時如何更新該配置文件的方案。因為配置文件的內(nèi)容讀取完成后存在內(nèi)存,當該配置文件內(nèi)容有修改時,需要動態(tài)更新配置文件內(nèi)容到內(nèi)存。
[0055]具體地,可按預設(shè)頻率檢查所述配置文件內(nèi)容是否有更新,若所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。例如,設(shè)置一個定時任務,每隔3秒(頻率可自行配置)定時檢查配置文件是否有更新,如果有更新時將更新配置文件的內(nèi)容到內(nèi)存。通過上述步驟S13的方式可動態(tài)更新配置文件,動態(tài)更新的方式可以在更新后直接使用新的配置文件,而無需重新啟動服務器,提高了效率。
[0056]本發(fā)明實施例提供的上述方法,無需通過拷貝相應的配置文件進行替換以適應不同的環(huán)境,直接通過環(huán)境變量動態(tài)加載需要加載的配置文件,操作簡單,且動態(tài)加載的方式無需重新啟動服務器,提高了效率。
[0057]對應本發(fā)明上述實施例提供的系統(tǒng)環(huán)境配置自動更新方法,本發(fā)明實施例還提供一種系統(tǒng)環(huán)境配置自動更新裝置100,如圖4所示,所述系統(tǒng)環(huán)境配置自動更新裝置100包括:
[0058]環(huán)境變量設(shè)置模塊110,用于根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量。
[0059]配置文件加載模塊120,用于獲取與所述環(huán)境變量對應的配置文件,加載所述配置文件。
[0060]互聯(lián)網(wǎng)系統(tǒng)在開發(fā)和應用過程中都會需要多個環(huán)境,比如開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境等等,當系統(tǒng)開發(fā)完成之后,則進入測試環(huán)節(jié),此時需進行環(huán)境類型切換,即切換到測試環(huán)境。類似的,當測試和修改完成,系統(tǒng)正式運營時,需切換到生產(chǎn)環(huán)境(或者說運營環(huán)境)。
[0061]本發(fā)明實施例的關(guān)鍵點在于通過環(huán)境變量去獲取相應的配置文件,所以首先需要確定擬切換的環(huán)境類型,例如,擬切換的環(huán)境類型是測試環(huán)境,則自動設(shè)置代表測試環(huán)境的環(huán)境變量。具體的,環(huán)境變量的名稱是固定的,設(shè)置的是該環(huán)境變量的值。
[0062]在一實施例中,所述環(huán)境變量設(shè)置模塊110具體用于:根據(jù)擬切換的環(huán)境類型,將配置文件中代表環(huán)境類型的環(huán)境變量的值修改為所述擬切換的環(huán)境類型值。
[0063]例如,在系統(tǒng)服務器的配置文件中進行配置,例如,某一系統(tǒng)的配置文件為 catalina.sh文件,貝lj在該系統(tǒng)的catalina.sh文件中進行如下配置:
[0064]-DAPP_ENV = test[〇〇65] 其中_DAPP_ENV是代表環(huán)境類型的環(huán)境變量名稱,test是代表測試環(huán)境的環(huán)境變量值,-DAPP_ENV = test就是將環(huán)境變量設(shè)置為測試環(huán)境。
[0066]根據(jù)設(shè)置好的環(huán)境變量值,可以獲取該環(huán)境變量值代表的環(huán)境類型的配置文件, 也即獲取與所述環(huán)境變量對應的配置文件。例如,通過_DAPP_ENV= test將系統(tǒng)配置為測試環(huán)境后則可以獲取與測試環(huán)境對應的配置文件。例如,可通過如下代碼獲取配置文件:
[0067]System.getProperty( UAPP_ENV,>);
[0068]獲取到相應的配置文件后,加載該配置文件。
[0069]在另一實施例中,如圖5所示,所述裝置還包括:
[0070]配置文件預存儲模塊130,用于預先存儲對應于不同環(huán)境類型的配置文件,每一所述配置文件與代表每一環(huán)境類型的環(huán)境變量一一對應。
[0071]因為后續(xù)需要獲取當前配置的環(huán)境相對應的配置文件,因此需要服務器中預先存有各種環(huán)境下的配置文件,每一配置文件都與相應的環(huán)境類型的環(huán)境變量值一一對應,例如當環(huán)境變量值為test時,能直接查找到測試環(huán)境的配置文件并加載。
[0072]在另一實施例中,如圖6所示,所述裝置還包括:
[0073]配置文件更新模塊140,用于當所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。
[0074]系統(tǒng)環(huán)境的配置文件不會一直一成不變,因此需要提供當環(huán)境配置文件有變化時如何更新該配置文件的方案。因為配置文件的內(nèi)容讀取完成后存在內(nèi)存,當該配置文件內(nèi)容有修改時,需要動態(tài)更新配置文件內(nèi)容到內(nèi)存。
[0075]具體地,其中,所述配置文件更新模塊140具體用于:按預設(shè)頻率檢查所述配置文件內(nèi)容是否有更新,若所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。例如,設(shè)置一個定時任務,每隔3秒(頻率可自行配置)定時檢查配置文件是否有更新,如果有更新時將更新配置文件的內(nèi)容到內(nèi)存。
[0076]通過上述方式可動態(tài)更新配置文件,動態(tài)更新的方式可以在更新后直接使用新的配置文件,而無需重新啟動服務器,提高了效率。
[0077]本發(fā)明實施例提供的上述裝置,無需通過拷貝相應的配置文件進行替換以適應不同的環(huán)境,直接通過環(huán)境變量動態(tài)加載需要加載的配置文件,操作簡單,且動態(tài)加載的方式無需重新啟動服務器,提高了效率。
[0078]本領(lǐng)域內(nèi)的技術(shù)人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0079]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0080]這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0081]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0082]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種系統(tǒng)環(huán)境配置自動更新方法,其特征在于,所述方法包括: 根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量; 獲取與所述環(huán)境變量對應的配置文件,加載所述配置文件。2.如權(quán)利要求1所述的系統(tǒng)環(huán)境配置自動更新方法,其特征在于,所述根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量包括: 根據(jù)擬切換的環(huán)境類型,將配置文件中代表環(huán)境類型的環(huán)境變量的值修改為所述擬切換的環(huán)境類型值。3.如權(quán)利要求1所述的系統(tǒng)環(huán)境配置自動更新方法,其特征在于,所述根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量之前還包括: 預先存儲對應于不同環(huán)境類型的配置文件,每一所述配置文件與代表每一環(huán)境類型的環(huán)境變量 對應。4.如權(quán)利要求1所述的系統(tǒng)環(huán)境配置自動更新方法,其特征在于,所述方法還包括: 當所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。5.如權(quán)利要求4所述的系統(tǒng)環(huán)境配置自動更新方法,其特征在于,所述當所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存包括: 按預設(shè)頻率檢查所述配置文件內(nèi)容是否有更新,若所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。6.一種系統(tǒng)環(huán)境配置自動更新裝置,其特征在于,所述裝置包括: 環(huán)境變量設(shè)置模塊,用于根據(jù)擬切換的環(huán)境類型,自動設(shè)置代表所述環(huán)境類型的環(huán)境變量; 配置文件加載模塊,用于獲取與所述環(huán)境變量對應的配置文件,加載所述配置文件。7.如權(quán)利要求6所述的系統(tǒng)環(huán)境配置自動更新裝置,其特征在于,所述環(huán)境變量設(shè)置模塊具體用于:根據(jù)擬切換的環(huán)境類型,將配置文件中代表環(huán)境類型的環(huán)境變量的值修改為所述擬切換的環(huán)境類型值。8.如權(quán)利要求6所述的系統(tǒng)環(huán)境配置自動更新裝置,其特征在于,所述裝置還包括: 配置文件預存儲模塊,用于預先存儲對應于不同環(huán)境類型的配置文件,每一所述配置文件與代表每一環(huán)境類型的環(huán)境變量一一對應。9.如權(quán)利要求6所述的系統(tǒng)環(huán)境配置自動更新裝置,其特征在于,所述裝置還包括: 配置文件更新模塊,用于當所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。10.如權(quán)利要求9所述的系統(tǒng)環(huán)境配置自動更新裝置,其特征在于,所述配置文件更新模塊具體用于:按預設(shè)頻率檢查所述配置文件內(nèi)容是否有更新,若所述配置文件的內(nèi)容有更新時,將更新后的配置文件的內(nèi)容寫入內(nèi)存。
【文檔編號】G06F9/445GK106020877SQ201610323148
【公開日】2016年10月12日
【申請日】2016年5月16日
【發(fā)明人】謝偉波
【申請人】樂視控股(北京)有限公司, 樂視網(wǎng)信息技術(shù)(北京)股份有限公司