本發(fā)明公開(kāi)一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法,涉及計(jì)算機(jī)java后端開(kāi)發(fā)。
背景技術(shù):
1、隨著信息技術(shù)的飛速發(fā)展,現(xiàn)代軟件系統(tǒng)的復(fù)雜性和規(guī)模不斷增加,尤其在云計(jì)算、大數(shù)據(jù)和微服務(wù)架構(gòu)廣泛應(yīng)用的背景下,系統(tǒng)的可靠性和穩(wěn)定性成為關(guān)鍵因素。對(duì)于大型分布式系統(tǒng)而言,系統(tǒng)中各類(lèi)服務(wù)通過(guò)接口相互調(diào)用,這些接口的穩(wěn)定性直接影響到系統(tǒng)的整體性能和用戶體驗(yàn)。然而,由于網(wǎng)絡(luò)波動(dòng)、資源不足、第三方服務(wù)異常等多種不可控因素,接口調(diào)用中可能會(huì)發(fā)生異常,導(dǎo)致系統(tǒng)服務(wù)不可用,甚至引發(fā)級(jí)聯(lián)故障。
2、現(xiàn)有技術(shù)的不足,在現(xiàn)有的技術(shù)實(shí)現(xiàn)中,接口調(diào)用異常的處理通常依賴(lài)于開(kāi)發(fā)人員在代碼中手動(dòng)添加異常處理邏輯,例如捕獲異常并返回錯(cuò)誤信息。這種方式存在以下不足之處:
3、異常處理分散且不統(tǒng)一:在每個(gè)接口中手動(dòng)處理異常,導(dǎo)致異常處理邏輯分散,缺乏統(tǒng)一的管理,增加了代碼的復(fù)雜性和維護(hù)成本。
4、用戶體驗(yàn)不佳:當(dāng)接口發(fā)生異常時(shí),傳統(tǒng)的處理方式通常是返回錯(cuò)誤碼或異常信息,直接暴露給用戶。這不僅影響用戶體驗(yàn),還可能泄露系統(tǒng)內(nèi)部信息,存在安全風(fēng)險(xiǎn)。
5、無(wú)法有效利用緩存:即使在異常情況下,系統(tǒng)中也可能存在與當(dāng)前接口相關(guān)的緩存數(shù)據(jù)。然而,傳統(tǒng)的異常處理方式無(wú)法利用這些緩存數(shù)據(jù),導(dǎo)致接口異常時(shí)服務(wù)中斷。
6、難以應(yīng)對(duì)復(fù)雜的異常場(chǎng)景:在分布式系統(tǒng)中,異常的觸發(fā)原因可能是多種多樣的,單一的異常處理方式難以應(yīng)對(duì)復(fù)雜的異常場(chǎng)景,如網(wǎng)絡(luò)延遲、部分服務(wù)不可用等。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明針對(duì)現(xiàn)有技術(shù)的問(wèn)題,提供一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法,通過(guò)在接口調(diào)用中自動(dòng)捕獲異常并根據(jù)接口名稱(chēng)從緩存中獲取預(yù)備結(jié)果,以提高系統(tǒng)的穩(wěn)定性和用戶體驗(yàn)。
2、本發(fā)明提出的具體方案是:
3、本發(fā)明提供一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法,包括:
4、步驟1:通過(guò)使用面向切面編程方法aop利用切點(diǎn)表達(dá)式定義需要攔截的接口或方法,根據(jù)需要攔截的接口攔截中樞平臺(tái)系統(tǒng)中所述接口的調(diào)用,
5、步驟2:在接口調(diào)用過(guò)程中,捕獲拋出的任何異常,在捕獲到異常時(shí),記錄異常日志以供后續(xù)分析,
6、步驟3:根據(jù)捕獲異常的接口名稱(chēng),在緩存中匹配查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,
7、步驟4:將查詢(xún)結(jié)果返回給中樞平臺(tái)系統(tǒng)的用戶。
8、進(jìn)一步,所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法的步驟3中使用redis或guava緩存各接口的預(yù)備結(jié)果,用于接口調(diào)用過(guò)程中出現(xiàn)異常時(shí)將預(yù)備結(jié)果返回給用戶。
9、進(jìn)一步,所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法的步驟3中在緩存中查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,包括:根據(jù)捕獲異常的接口名稱(chēng),查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,若緩存中存在對(duì)應(yīng)的預(yù)備結(jié)果,則直接返回預(yù)備結(jié)果,若緩存中沒(méi)有匹配的預(yù)備結(jié)果,則返回一個(gè)通用的備用響應(yīng),告知中樞平臺(tái)系統(tǒng)用戶暫時(shí)不可用。
10、進(jìn)一步,所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法中還包括步驟5,步驟5中進(jìn)行緩存更新:使用定時(shí)任務(wù)定期或根據(jù)條件更新緩存內(nèi)容,以確保緩存結(jié)果的有效性和及時(shí)性。
11、本發(fā)明還提供一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)裝置,包括攔截模塊、異常管理模塊、查詢(xún)模塊和返回輸出模塊,
12、攔截模塊通過(guò)使用面向切面編程方法aop利用切點(diǎn)表達(dá)式定義需要攔截的接口或方法,根據(jù)需要攔截的接口攔截中樞平臺(tái)系統(tǒng)中所述接口的調(diào)用,
13、異常管理模塊在接口調(diào)用過(guò)程中,捕獲拋出的任何異常,在捕獲到異常時(shí),記錄異常日志以供后續(xù)分析,
14、查詢(xún)模塊根據(jù)捕獲異常的接口名稱(chēng),在緩存中匹配查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,
15、返回輸出模塊將查詢(xún)結(jié)果返回給中樞平臺(tái)系統(tǒng)的用戶。
16、進(jìn)一步,所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)裝置的查詢(xún)模塊使用redis或guava緩存各接口的預(yù)備結(jié)果,用于接口調(diào)用過(guò)程中出現(xiàn)異常時(shí)將預(yù)備結(jié)果返回給用戶。
17、進(jìn)一步,所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)裝置的查詢(xún)模塊在緩存中查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,包括:根據(jù)捕獲異常的接口名稱(chēng),查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,若緩存中存在對(duì)應(yīng)的預(yù)備結(jié)果,則直接返回預(yù)備結(jié)果,若緩存中沒(méi)有匹配的預(yù)備結(jié)果,則返回一個(gè)通用的備用響應(yīng),告知中樞平臺(tái)系統(tǒng)用戶暫時(shí)不可用。
18、進(jìn)一步,所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)裝置的還包括緩存更新模塊,緩存更新模塊進(jìn)行緩存更新:使用定時(shí)任務(wù)定期或根據(jù)條件更新緩存內(nèi)容,以確保緩存結(jié)果的有效性和及時(shí)性。
19、本發(fā)明的有益之處是:
20、(1)提高運(yùn)行中樞平臺(tái)系統(tǒng)的容錯(cuò)能力:通過(guò)切面技術(shù)在接口調(diào)用中攔截異常并返回緩存結(jié)果,確保在接口出現(xiàn)故障時(shí)仍能提供有效的響應(yīng),從而大幅提高系統(tǒng)的容錯(cuò)性和穩(wěn)定性。
21、(2)優(yōu)化用戶體驗(yàn):避免直接將接口異常暴露給用戶,減少因系統(tǒng)故障導(dǎo)致的用戶不滿,提升用戶對(duì)系統(tǒng)的滿意度和信任度。
22、(3)增強(qiáng)緩存利用效率:利用緩存中的預(yù)備結(jié)果,可以在接口異常時(shí)快速響應(yīng)請(qǐng)求,減少系統(tǒng)資源消耗和響應(yīng)時(shí)間,從而提高整體系統(tǒng)性能。
23、(4)降低系統(tǒng)維護(hù)成本:通過(guò)統(tǒng)一的異常處理機(jī)制,減少了對(duì)單個(gè)接口的個(gè)性化異常處理需求,從而簡(jiǎn)化了系統(tǒng)的維護(hù)和升級(jí)工作,降低了運(yùn)營(yíng)成本。
24、(5)提高系統(tǒng)的可靠性和可用性:通過(guò)有效的容錯(cuò)措施和緩存機(jī)制,即使在異常情況下,系統(tǒng)仍能保持較高的可用性,保證服務(wù)的連續(xù)性和可靠性。
25、(6)增強(qiáng)安全性和隱私保護(hù):防止異常信息直接暴露給用戶,避免敏感信息泄露,提高系統(tǒng)的安全性和隱私保護(hù)水平。
1.一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法,其特征是包括:
2.根據(jù)權(quán)利要求1所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法,其特征是步驟3中使用redis或guava緩存各接口的預(yù)備結(jié)果,用于接口調(diào)用過(guò)程中出現(xiàn)異常時(shí)將預(yù)備結(jié)果返回給用戶。
3.根據(jù)權(quán)利要求1所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法,其特征是步驟3中在緩存中查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,包括:根據(jù)捕獲異常的接口名稱(chēng),查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,若緩存中存在對(duì)應(yīng)的預(yù)備結(jié)果,則直接返回預(yù)備結(jié)果,若緩存中沒(méi)有匹配的預(yù)備結(jié)果,則返回一個(gè)通用的備用響應(yīng),告知中樞平臺(tái)系統(tǒng)用戶暫時(shí)不可用。
4.根據(jù)權(quán)利要求1所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法,其特征是還包括步驟5,步驟5中進(jìn)行緩存更新:使用定時(shí)任務(wù)定期或根據(jù)條件更新緩存內(nèi)容,以確保緩存結(jié)果的有效性和及時(shí)性。
5.一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)裝置,其特征是包括攔截模塊、異常管理模塊、查詢(xún)模塊和返回輸出模塊,
6.根據(jù)權(quán)利要求5所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)裝置,其特征是查詢(xún)模塊使用redis或guava緩存各接口的預(yù)備結(jié)果,用于接口調(diào)用過(guò)程中出現(xiàn)異常時(shí)將預(yù)備結(jié)果返回給用戶。
7.根據(jù)權(quán)利要求5所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)裝置,其特征是查詢(xún)模塊在緩存中查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,包括:根據(jù)捕獲異常的接口名稱(chēng),查詢(xún)預(yù)先緩存的預(yù)備結(jié)果,若緩存中存在對(duì)應(yīng)的預(yù)備結(jié)果,則直接返回預(yù)備結(jié)果,若緩存中沒(méi)有匹配的預(yù)備結(jié)果,則返回一個(gè)通用的備用響應(yīng),告知中樞平臺(tái)系統(tǒng)用戶暫時(shí)不可用。
8.根據(jù)權(quán)利要求5所述的一種應(yīng)用于城市運(yùn)行中樞平臺(tái)的提升接口容錯(cuò)方法,其特征是還包括緩存更新模塊,緩存更新模塊進(jìn)行緩存更新:使用定時(shí)任務(wù)定期或根據(jù)條件更新緩存內(nèi)容,以確保緩存結(jié)果的有效性和及時(shí)性。