本技術涉及計算機,具體涉及一種配置項變更方法、裝置、設備及集群。
背景技術:
1、當前,單體應用/微服務通常會配置很多配置項,用于指示單體應用/微服務的不同業務邏輯。然而,在生產環境中,單體應用/微服務調用配置項后,經常出現運行錯誤、崩潰等異常情況,導致用戶無法正常使用單體應用/微服務,嚴重影響了用戶的使用體驗。
2、因此,如何避免單體應用/微服務調用配置項后出現運行異常,成為亟需解決的技術問題。
技術實現思路
1、本技術提供了一種配置項變更方法、裝置、設備及集群,有助于避免單體應用/微服務調用配置項后出現異常,進而有助于提高單體應用/微服務的運行穩定性和可靠性。
2、為了達到上述目的,本技術采用了如下技術方案:
3、第一方面,提供了一種配置項變更方法,應用于計算設備,計算設備用于運行目標服務的目標版本,目標版本配置有目標配置項,目標配置項的取值為第一值;目標配置項用于配置目標服務的軟件功能,或者,目標配置項用于開啟或關閉目標服務的軟件功能;目標服務包括單體應用或微服務;該方法包括:計算設備在運行目標服務的目標版本時,接收變更請求,變更請求用于請求變更目標配置項;計算設備驗證目標版本是否支持使用目標配置項,得到驗證結果;在驗證結果指示目標版本支持使用目標配置項的情況下,計算設備將目標配置項的取值變更為第二值。
4、該方案中,計算設備上運行有目標服務的目標版本,目標版本配置有目標配置項,目標配置項的取值為第一值。在此基礎上,計算設備運行目標服務的目標版本時,若接收到目標配置項變更請求,則驗證目標版本是否支持使用目標配置項,以得到驗證結果,在驗證結果指示目標版本支持使用目標配置項的情況下,計算設備將目標配置項的取值變更為第二值。由于是在計算設備運行的當前版本(即目標版本)支持使用目標配置項時,才執行變更請求,因此,避免了由于當前版本不支持使用目標配置項所引發的風險(如:運行異常等),從而有助于避免目標服務調用配置項出現運行異常,進而有助于提高目標服務的運行穩定性和可靠性。
5、此外,由于目標服務可以是單體應用或微服務,因此,該方案既可以用于管理單體應用的配置項,也可以管理用于管理微服務的配置項,提高了配置項變更方法的適用范圍。另外,在對目標服務執行版本升級、回滾等操作后,運維人員請求變更配置項時,通過該方案對變更的目標配置項進行驗證,有助于對目標配置項變更所引發的風險實現有效控制,進而有助于提高目標服務執行版本升級、回滾后的運行穩定性。
6、在一種可能的實現方式中,目標版本包括第一值指示的第一業務邏輯和第二值指示的第二業務邏輯;計算設備將目標配置項的取值變更為第二值之后,該方法還包括:計算設備運行第一測試用例,以得到第一測試用例的測試結果;第一測試用例用于指示運行第二業務邏輯,第一測試用例的測試結果用于指示第二業務邏輯通過測試或未通過測試;在第一測試用例的測試結果指示第二業務邏輯未通過測試的情況下,計算設備將目標配置項的取值變更為第一值。這樣,有助于及時消除由于變更目標配置項所帶來的風險,從而有助于避免影響用戶使用目標服務,進而有助于提高用戶的使用體驗。
7、另一種可能的實現方式中,該方法還包括:在第一測試用例的測試結果指示第二業務邏輯未通過測試的情況下,計算設備刪除目標配置項的取值范圍中的第一值。這樣,有助于避免后續再次將目標配置項的值變更為第一值,從而有助于提高目標服務的運行穩定性和可靠性。
8、在一種可能的實現方式中,計算設備驗證目標版本是否支持使用目標配置項,得到驗證結果,包括:計算設備確定目標配置項對應的版本范圍;版本范圍用于指示支持使用目標配置項的服務版本;在版本范圍包括目標版本的情況下,計算設備確定驗證結果指示目標版本支持使用目標配置項;或在版本范圍不包括目標版本的情況下,計算設備確定驗證結果指示目標版本不支持使用目標配置項。這樣,不僅有助于保證驗證結果指示內容的準確性,還有助于提高確定驗證結果的速度。
9、另一種可能的實現方式中,該方法還包括:在版本范圍不包括目標版本的情況下,計算設備運行目標服務的第一版本;第一版本選自版本范圍。
10、該實現方式中,通過運行版本范圍包括的第一版本,也即,運行支持使用目標配置項的版本,這樣,不僅可以調用目標配置項,還有助于提高調用目標配置項后,目標服務的運行穩定性和可靠性。
11、另一種可能的實現方式中,在版本范圍包括目標版本的情況下,計算設備確定驗證結果指示目標版本支持使用目標配置項,包括:在版本范圍包括目標版本的情況下,計算設備確定目標版本的版本狀態;版本狀態用于指示已驗證版本范圍包括目標版本或未驗證版本范圍包括目標版本;在版本狀態指示已驗證版本范圍包括目標版本的情況下,計算設備確定驗證結果指示目標版本支持使用目標配置項。這樣,有助于提高驗證結果的準確性和可靠性。
12、另一種可能的實現方式中,該方法還包括,包括:在版本狀態指示未驗證版本范圍包括目標版本的情況下,計算設備確定驗證結果指示目標版本不支持使用目標配置項。這樣,有助于提高驗證結果的準確性和可靠性。
13、另一種可能的實現方式中,該方法還包括:在目標版本的版本狀態指示未驗證版本范圍包括目標版本的情況下,計算設備運行目標服務的第二版本,和/或,刪除版本范圍中的目標版本;第二版本選自版本范圍,且第二版本的版本狀態指示已驗證版本范圍包括第二版本。
14、該實現方式中,通過運行版本范圍包括的第二版本,且第二版本的版本狀態指示已驗證,這樣,不僅可以調用目標配置項,還有助于提高調用目標配置項后,目標服務的運行穩定性和可靠性。
15、另一種可能的實現方式中,版本范圍包括版本集合或第三版本;版本集合包括至少一個服務版本,至少一個服務版本中的每個服務版本均支持使用目標配置項;第三版本用于指示支持使用目標配置項的最低服務版本。這樣,不僅有助于提高版本范圍的多樣性,還可以為風險等級不同的配置項選擇不同類型的范圍版本,從而有助于提高版本范圍與配置項的風險等級的匹配度。
16、另一種可能的實現方式中,在目標配置項的管理模式為嚴苛模式的情況下,版本范圍包括版本集合;在目標配置項的管理模式為非嚴苛模式的情況下,版本范圍包括第三版本。
17、該實現方式中,通過將不同的管理模式與不同類型的版本范圍相對應,實現根據管理模式確定不同類型的版本范圍,進而有助于確定的版本范圍與目標配置項的風險等級相匹配。
18、另一種可能的實現方式中,計算設備確定目標配置項對應的版本范圍,包括:計算設備確定目標服務的環境類型;環境類型包括生產環境或非生產環境;若目標服務的環境類型為生產環境,計算設備確定目標配置項對應的版本范圍。
19、該實現方式中,在確定驗證結果之前,先確定環境類型,有助于避免在非生產環境中對變更請求中的目標配置項進行驗證,從而有助于保證驗證操作的必要性以及有效性,避免執行無效操作,影響正常的配置項變更流程。
20、另一種可能的實現方式中,該方法還包括:在驗證結果指示目標版本不支持使用目標配置項的情況下,計算設備基于變更請求,返回第一提示信息;第一提示信息用于指示目標版本不支持使用目標配置項。
21、該實現方式中,通過返回第一提示信息,使得運維人員了解不支持配置目標配置項的原因,從而有助于運維人員及時調整變更策略,進而有助于運維人員更好的管理目標服務。
22、另一種可能的實現方式中,在驗證結果指示目標版本支持使用目標配置項的情況下,計算設備將目標配置項的取值變更為第二值,包括:在驗證結果指示目標版本支持使用目標配置項的情況下,計算設備確定目標配置項的取值范圍;在目標配置項的取值范圍包括第二值的情況下,計算設備將目標配置項的取值變更為第二值。
23、該實現方式中,在目標配置項的取值范圍包括第一值時,才變更目標配置項,這樣,有助于避免目標配置項由于取值不合適而影響目標服務的運行穩定性。
24、另一種可能的實現方式中,該方法還包括:在目標配置項的取值范圍不包括第二值的情況下,計算設備基于變更請求,返回第二提示信息;第二提示信息用于指示目標配置項的取值范圍不包括第一值。
25、該實現方式中,在目標配置項的取值范圍不包括第一值時,返回第二提示信息,這樣,有助于運維人員及時了解無法變更目標配置項的原因。
26、另一種可能的實現方式中,計算設備驗證目標版本是否支持使用目標配置項,得到驗證結果,包括:計算設備確定目標版本對應的目標標識范圍,目標標識范圍用于指示目標版本支持使用的配置項;在目標標識范圍包括目標配置項的標識的情況下,計算設備確定驗證結果指示目標版本支持使用目標配置項;或在目標標識范圍不包括目標配置的標識的情況下,計算設備確定驗證結果指示目標版本不支持使用目標配置項。該實現方式中,通過目標版本對應目標標識范圍是否包括目標配置項的標識,確定驗證結果,不僅提高確定驗證結果的方式的多樣性,還提高了確定驗證結果的效率。另一種可能的實現方式中,在接收到變更請求之前,該方法還包括:計算設備運行第二測試用例,以得到第二測試用例的測試結果;第二測試用例用于指示運行目標版本的目標業務邏輯,目標業務邏輯包括目標配置項指示的業務邏輯,第二測試用例的測試結果用于指示目標配置項通過測試或未通過測試;在第二測試用例的測試結果指示目標配置項通過測試的情況下,計算設備更新目標配置項對應的版本范圍,更新后的版本范圍包括目標版本。
27、該實現方式中,通過運行第二測試用例,從而實現運行目標配置項指示的業務邏輯(即目標版本中的目標業務邏輯),進而實現測試目標版本是否支持使用目標配置項。在此基礎上,若第二測試用例的測試結果指示目標配置項通過測試,計算設備更新目標配置項對應的版本范圍,以使得更新后的版本范圍包括目標版本,從而使得目標配置項對應的版本范圍可以用于指示目標版本是否支持使用目標配置項,進而實現可以根據目標配置項對應的版本范圍,對變更請求中的目標配置項進行驗證,以確保目標配置項在目標版本的有效性以及穩定性,避免未經過驗證的目標配置項變更生效。
28、另一種可能的實現方式中,版本范圍包括版本集合或第三版本;計算設備更新目標配置項對應的版本范圍,包括:基于目標配置項的管理模式為嚴苛模式,計算設備更新目標配置項對應的版本集合;更新后的版本集合包括目標版本;基于目標配置項的管理模式為非嚴苛模式、且目標配置項對應的第三版本未包括目標版本,計算設備更新目標配置項對應的第三版本,更新后的第三版本包括目標版本。這樣,有助于提高更新的準確性。
29、另一種可能的實現方式中,該方法還包括:在第二測試用例的測試結果指示目標配置項通過測試的情況下,計算設備將目標版本的版本狀態設置為指示已驗證版本范圍包括目標版本。
30、該實現方式中,通過設置目標配置項測試通過的情況下,將版本狀態修改為指示已驗證,這樣,有助于保證版本狀態指示內容的準確性,進而有助于保證后續驗證結果的準確性。
31、另一種可能的實現方式中,計算設備運行第三測試用例,以得到第三測試用例的測試結果;第三測試用例用于測試目標版本,第三測試用例的測試結果用于指示目標版本通過測試或未通過測試;在第三測試用例的測試結果指示目標版本通過測試、且第二測試用例的測試結果指示目標配置項通過測試的情況下,計算設備確定目標版本的測試結果為通過測試。這樣,有助于避免目標版本不支持使用目標配置項時,目標版本通過測試,從而避免不支持使用目標配置項的目標版本被提供給用戶使用,影響用戶的使用體驗。
32、第二方面,提供了一種配置項變更裝置,該裝置包括:用于執行第一方面提供的任意一種方法的功能單元,各個功能單元所執行的動作通過硬件實現或通過硬件執行相應的軟件實現。如,配置項變更裝置可以包括:接收模塊、驗證模塊和變更模塊;接收模塊,用于在計算設備運行目標服務的目標版本時,接收到變更請求,變更請求用于請求變更目標配置項;驗證模塊,用于驗證目標版本是否支持使用目標配置項,得到驗證結果;變更模塊,用于在驗證結果指示目標版本支持使用目標配置項的情況下,將目標配置項的取值變更為第二值。
33、第三方面,提供了一種處理器,處理器可以用于執行上述第一方面提供的任意一種方法。
34、第四方面,提供了一種芯片,包括:處理器和供電電路;供電電路可以用于為芯片供電;處理器可以用于執行上述第一方面提供的任意一種方法。
35、第五方面,提供了一種計算設備,包括處理器、存儲器及存儲在存儲器上的計算機程序/指令;處理器執行計算機程序,以使計算設備上述第一方面提供的任意一種方法的步驟。
36、第六方面,提供了一種計算設備集群,包括:至少一個計算設備,至少一個計算設備中的每個計算設備包括處理器和存儲器;每個計算設備包括處理器、存儲器及存儲在存儲器上的計算機程序/指令;處理器執行計算機程序/指令,以使計算設備集群實現上述第一方面提供的任意一種方法的步驟。
37、第七方面,提供了一種包括指令的計算機程序產品,包括計算機程序/指令,計算機程序/指令被處理器執行時實現上述第一方面提供的任意一種方法的步驟。
38、第八方面,提供了一種計算機可讀存儲介質,計算機可讀存儲介質上存儲有計算機程序/指令,計算機程序/指令被處理器執行時實現上述第一方面提供的任意一種方法的步驟。
39、其中,第二方面至第八方面中任一種實現方式所帶來的技術效果,可以參見上述第一方面中不同實現方式所帶來的技術效果,此處不再贅述。