本發(fā)明涉及計算機領(lǐng)域,具體涉及一種通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法。
背景技術(shù):
1、分布式架構(gòu)是分布式計算技術(shù)的應(yīng)用和工具,其解決了互聯(lián)網(wǎng)應(yīng)用的兩大難題:高并發(fā)和高可用。但同時也帶來一些其他的問題:在分布式架構(gòu)中,服務(wù)被拆分為不同的模塊,但是這些服務(wù)都有相同的一些驗證模塊,這些服務(wù)被大批量的調(diào)用的時候,就會進行重復(fù)的無用的驗證處理,從而占用大量服務(wù)器的內(nèi)存,降低了服務(wù)器的響應(yīng)速度,影響用戶的體驗感。
2、因此,有必要提供一種新的技術(shù)方案。
技術(shù)實現(xiàn)思路
1、為解決現(xiàn)有技術(shù)中存在的技術(shù)問題,本發(fā)明公開了一種通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,具體技術(shù)方案如下所述:
2、本發(fā)明提供一種通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,包括如下步驟:
3、s1,后端網(wǎng)關(guān)收到第一個文件操作請求的時候,首先判斷整體服務(wù)是否處于授權(quán)可用的期間,若是,則進行下一步;
4、s2,接著判斷當(dāng)前請求操作的文件是否處于被服務(wù)節(jié)點打開的狀態(tài),若否,則準(zhǔn)備為文件尋找一個可用的服務(wù)節(jié)點;
5、s3,啟動第一協(xié)程獲取所有的服務(wù)節(jié)點,再啟動第二協(xié)程判斷各服務(wù)節(jié)點是否處于可用的狀態(tài),將可用的服務(wù)節(jié)點存入到可用服務(wù)的通道當(dāng)中,將不可用的服務(wù)節(jié)點存入到不可用服務(wù)的通道當(dāng)中;
6、s4,調(diào)用可用服務(wù)通道中的第一個值,將第一個文件操作請求轉(zhuǎn)發(fā)到對應(yīng)的第一個服務(wù)節(jié)點,第一個服務(wù)節(jié)點即處于不可用狀態(tài),啟動第三協(xié)程對所有服務(wù)節(jié)點的狀態(tài),進行刷新,刷新后的所有的服務(wù)節(jié)點再重新歸置到對應(yīng)的可用服務(wù)通道或不可用服務(wù)通道中,其中第一個服務(wù)節(jié)點歸置到不可用服務(wù)通道中,關(guān)閉第三協(xié)程;
7、s5,第一個服務(wù)節(jié)點收到第一個文件操作請求后,對文件執(zhí)行對應(yīng)的操作,操作結(jié)束之后,第一個服務(wù)節(jié)點回歸到可用狀態(tài),并在下一次的狀態(tài)刷新后歸置到可用服務(wù)通道中。
8、每個回歸到可用狀態(tài)的服務(wù)節(jié)點都按順序排在可用服務(wù)通道的隊列后端。
9、進一步的,還包括步驟:
10、s6,后端網(wǎng)關(guān)繼續(xù)收到第二個文件操作請求后,直接調(diào)用可用服務(wù)通道中的第二個值,將第二個文件操作請求轉(zhuǎn)發(fā)到第二個服務(wù)節(jié)點后,第二個服務(wù)節(jié)點處于不可用狀態(tài),再次啟動第三協(xié)程對所有服務(wù)節(jié)點的狀態(tài)進行刷新,刷新后的第二個服務(wù)節(jié)點歸置到不可用服務(wù)通道中,然后關(guān)閉第三協(xié)程,第二個服務(wù)節(jié)點執(zhí)行完第二個文件操作請求之后,第二個服務(wù)節(jié)點處于可用狀態(tài),等待下一次的狀態(tài)刷新后重新歸置可用服務(wù)通道中;
11、s7,后續(xù)新的文件操作請求重復(fù)執(zhí)行步驟s6中的操作。
12、新的文件操作請求直接調(diào)用被歸類為可用狀態(tài)的服務(wù)節(jié)點,節(jié)省了大量前期驗證的過程,節(jié)省了時間,降低了系統(tǒng)的壓力。
13、進一步的,步驟s1中,若服務(wù)不處于授權(quán)可用的期間,則向前臺發(fā)出當(dāng)前服務(wù)不可用的提示。
14、進一步的,步驟s2中,若當(dāng)前請求操作的文件處于被服務(wù)節(jié)點打開的狀態(tài),則直接將該操作請求轉(zhuǎn)發(fā)到這個服務(wù)節(jié)點中。
15、進一步的,服務(wù)節(jié)點不可用狀態(tài)包括兩種情況:第一種是該服務(wù)節(jié)點正在處理別的任務(wù),則該服務(wù)節(jié)點保持原狀態(tài)列隊在不可用服務(wù)通道中;第二種是該服務(wù)節(jié)點被直接封停,此情況時啟動第四協(xié)程在不可用服務(wù)通道中刪除該服務(wù)節(jié)點的信息。
16、第三協(xié)程更新服務(wù)節(jié)點的狀態(tài),包括那些被封停的服務(wù)節(jié)點會一起被更新,如果被封停的服務(wù)節(jié)點重新被啟用,則會被歸置到可用服務(wù)通道或者不可用服務(wù)通道中。
17、進一步的,所述服務(wù)節(jié)點的狀態(tài)值設(shè)置前綴1或2進行標(biāo)記,其中1表示服務(wù)不可用狀態(tài),2表示服務(wù)可用狀態(tài)。
18、進一步的,可用服務(wù)通道中未被文件操作請求調(diào)用的服務(wù)節(jié)點的狀態(tài)值前綴設(shè)置為2,服務(wù)節(jié)點被文件調(diào)用后的狀態(tài)值的前綴設(shè)置為1,文件操作請求被執(zhí)行后的服務(wù)節(jié)點的狀態(tài)值的前綴設(shè)置為2。
19、進一步的,后續(xù)的文件操作請求直接調(diào)用狀態(tài)值前綴為2的服務(wù)節(jié)點。
20、在服務(wù)節(jié)點的狀態(tài)值前標(biāo)記1或2能夠進一步的減少驗證時間,提高整體的工作效率。
21、本發(fā)明具有以下有益效果:
22、1、本發(fā)明提供的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,通過協(xié)程以及標(biāo)記來減少在代碼上時間的損耗,減少大量重復(fù)的驗證,降低了單個服務(wù)的代碼量,提升了工作效率。
23、2、本發(fā)明提供的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,通過設(shè)置各個服務(wù)節(jié)點的狀態(tài)值來標(biāo)記服務(wù)節(jié)點的狀態(tài),同時實時檢測和更新各服務(wù)節(jié)點的狀態(tài),讓后續(xù)的文件操作請求能夠直接調(diào)用可用狀態(tài)的服務(wù)節(jié)點,從而達到減輕服務(wù)器端壓力,提升用戶體驗的效果。
24、3、本發(fā)明提供的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,減輕了服務(wù)器壓力,在硬件設(shè)施有限的前提下,能夠提升吞吐量和并發(fā)量。
25、本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
1.一種通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,其特征在于,包括如下步驟:
2.根據(jù)權(quán)利要求1所述的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,其特征在于,還包括步驟:
3.根據(jù)權(quán)利要求1所述的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,其特征在于,步驟s1中,若服務(wù)不處于授權(quán)可用的期間,則向前臺發(fā)出當(dāng)前服務(wù)不可用的提示。
4.根據(jù)權(quán)利要求1所述的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,其特征在于,步驟s2中,若當(dāng)前請求操作的文件處于被服務(wù)節(jié)點打開的狀態(tài),則直接將該操作請求轉(zhuǎn)發(fā)到這個服務(wù)節(jié)點中。
5.根據(jù)權(quán)利要求1所述的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,其特征在于,服務(wù)節(jié)點不可用狀態(tài)包括兩種情況:第一種是該服務(wù)節(jié)點正在處理別的任務(wù),則該服務(wù)節(jié)點保持原狀態(tài)列隊在不可用服務(wù)通道中;第二種是該服務(wù)節(jié)點被直接封停,此情況時啟動第四協(xié)程在不可用服務(wù)通道中刪除該服務(wù)節(jié)點的信息。
6.根據(jù)權(quán)利要求2所述的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,其特征在于,所述服務(wù)節(jié)點的狀態(tài)值設(shè)置前綴1或2進行標(biāo)記,其中1表示服務(wù)不可用狀態(tài),2表示服務(wù)可用狀態(tài)。
7.根據(jù)權(quán)利要求6所述的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,其特征在于,可用服務(wù)通道中未被文件操作請求調(diào)用的服務(wù)節(jié)點的狀態(tài)值前綴設(shè)置為2,服務(wù)節(jié)點被文件調(diào)用后的狀態(tài)值的前綴設(shè)置為1,文件操作請求被執(zhí)行后的服務(wù)節(jié)點的狀態(tài)值的前綴設(shè)置為2。
8.根據(jù)權(quán)利要求6所述的通過協(xié)程和標(biāo)記來減少尋找服務(wù)節(jié)點壓力的方法,其特征在于,后續(xù)的文件操作請求直接調(diào)用狀態(tài)值前綴為2的服務(wù)節(jié)點。