最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種請(qǐng)求消息處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

文檔序號(hào):41951020發(fā)布日期:2025-05-16 14:11閱讀:2來(lái)源:國(guó)知局
一種請(qǐng)求消息處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)與流程

本發(fā)明涉及計(jì)算機(jī),具體涉及一種請(qǐng)求消息處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。


背景技術(shù):

1、在軟件程序編寫和執(zhí)行時(shí),管道模式是責(zé)任鏈設(shè)計(jì)模式的變體之一。在管道模式下,一段程序包括多個(gè)管道處理器,每個(gè)管道處理器為一段代碼,用來(lái)處理一項(xiàng)具體工作,管道處理器之間順序連接,扮演著流水線的角色。計(jì)算機(jī)往往用來(lái)處理外部客戶端的各種請(qǐng)求消息,當(dāng)一個(gè)請(qǐng)求消息到達(dá)計(jì)算機(jī)設(shè)備時(shí),該請(qǐng)求消息要執(zhí)行的任務(wù)即為一段管道模式的程序任務(wù),該請(qǐng)求由一個(gè)線程開始處理,從第一個(gè)管道處理器開始,將數(shù)據(jù)傳遞到一個(gè)管道處理器處理后,再傳遞到下一個(gè)管道處理器進(jìn)行加工處理,直到全部步驟處理完畢,返回處理結(jié)果給客戶端。但是在處理序列中如果包含阻塞操作,如遠(yuǎn)程調(diào)用、數(shù)據(jù)庫(kù)命令執(zhí)行等,便會(huì)占用一個(gè)業(yè)務(wù)處理線程的時(shí)間,該線程會(huì)等待,白白占用物理機(jī)內(nèi)存等計(jì)算機(jī)資源,造成性能浪費(fèi)。當(dāng)計(jì)算機(jī)要處理的不同請(qǐng)求較多時(shí),就要?jiǎng)?chuàng)建更多的線程,新創(chuàng)建的線程又難以避免存在阻塞,導(dǎo)致性能浪費(fèi)的問題惡性循環(huán)。


技術(shù)實(shí)現(xiàn)思路

1、有鑒于此,本發(fā)明提供了一種請(qǐng)求消息處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),以解決性能浪費(fèi)的問題。

2、第一方面,本發(fā)明提供了一種請(qǐng)求消息處理方法,所述方法包括:接收第一請(qǐng)求,并判斷所述第一請(qǐng)求中的管道處理器是否存在阻塞場(chǎng)景;若存在所述阻塞場(chǎng)景,則為對(duì)應(yīng)的第一目標(biāo)管道處理器添加第一監(jiān)聽實(shí)例;通過第一線程處理所述第一請(qǐng)求,并在所述第一線程執(zhí)行到所述第一目標(biāo)管道處理器時(shí),判斷是否接收到第二請(qǐng)求;若接收到所述第二請(qǐng)求,則掛起所述第一目標(biāo)管道處理器,并通過所述第一線程處理所述第二請(qǐng)求;將所述第二請(qǐng)求的執(zhí)行中管道處理器注冊(cè)到所述第一監(jiān)聽實(shí)例的通知列表中;若所述第一線程通過所述第二請(qǐng)求的執(zhí)行中管道處理器收到所述第一監(jiān)聽實(shí)例發(fā)送的通知消息,則掛起所述第二請(qǐng)求的執(zhí)行中管道處理器,并返回執(zhí)行所述第一目標(biāo)管道處理器。

3、在一些可選地實(shí)施方式中,所述方法還包括:若所述第二請(qǐng)求的執(zhí)行中管道處理器存在阻塞,則掛起所述第二請(qǐng)求的執(zhí)行中管道處理器,并通過所述第一線程處理新接收的第三請(qǐng)求;將所述第三請(qǐng)求的執(zhí)行中管道處理器注冊(cè)到第二監(jiān)聽實(shí)例和所述第一監(jiān)聽實(shí)例的通知列表中,所述第二監(jiān)聽實(shí)例添加在所述第二請(qǐng)求的執(zhí)行中管道處理器中。

4、在一些可選地實(shí)施方式中,所述方法還包括:若所述第一線程通過所述第三請(qǐng)求的執(zhí)行中管道處理器先收到所述第一監(jiān)聽實(shí)例的通知消息,則掛起所述第三請(qǐng)求的執(zhí)行中管道處理器,并返回執(zhí)行所述第一目標(biāo)管道處理器;若所述第一線程通過所述第三請(qǐng)求的執(zhí)行中管道處理器同時(shí)收到所述第一監(jiān)聽實(shí)例的通知消息和所述第二監(jiān)聽實(shí)例的通知消息,則掛起所述第三請(qǐng)求的執(zhí)行中管道處理器,并返回執(zhí)行所述第一目標(biāo)管道處理器;若所述第一線程通過所述第三請(qǐng)求的執(zhí)行中管道處理器先收到所述第二監(jiān)聽實(shí)例的通知消息,則掛起所述第三請(qǐng)求的執(zhí)行中管道處理器,并返回執(zhí)行所述第二請(qǐng)求的執(zhí)行中管道處理器。

5、在一些可選地實(shí)施方式中,所述方法還包括:當(dāng)所述第一請(qǐng)求執(zhí)行完畢時(shí),判斷剩余請(qǐng)求是否完成;若剩余請(qǐng)求還未完成,且所述剩余請(qǐng)求的執(zhí)行中管道處理器均沒有阻塞,則通過所述第一線程執(zhí)行接收時(shí)間更早的請(qǐng)求;當(dāng)所述第二請(qǐng)求執(zhí)行完畢時(shí),判斷剩余請(qǐng)求是否完成;若剩余請(qǐng)求還未完成,且所述剩余請(qǐng)求的執(zhí)行中管道處理器均沒有阻塞,則通過所述第一線程執(zhí)行接收時(shí)間更早的請(qǐng)求。

6、在一些可選地實(shí)施方式中,所述第一線程是線程池中的執(zhí)行線程,所述線程池包括多個(gè)執(zhí)行線程,所述執(zhí)行線程處理的請(qǐng)求由調(diào)度線程分配,所述接收第一請(qǐng)求包括:通過所述調(diào)度線程接收目標(biāo)客戶端發(fā)送的所述第一請(qǐng)求;通過所述調(diào)度線程從所述線程池中查找空閑狀態(tài)的執(zhí)行線程,所述空閑狀態(tài)包括沒有執(zhí)行請(qǐng)求的狀態(tài)和阻塞場(chǎng)景;將所述第一請(qǐng)求分配給處于所述空閑狀態(tài)的所述第一線程。

7、在一些可選地實(shí)施方式中,所述方法還包括:通過所述第一線程將所述第一請(qǐng)求的處理結(jié)果反饋至所述調(diào)度線程;通過所述調(diào)度線程將所述處理結(jié)果反饋至所述目標(biāo)客戶端。

8、在一些可選地實(shí)施方式中,當(dāng)當(dāng)前設(shè)備存在多個(gè)處理器核心時(shí),所述調(diào)度線程的數(shù)量與所述處理器核心數(shù)量相同,且每個(gè)處理器核心對(duì)應(yīng)運(yùn)行一個(gè)調(diào)度線程。

9、第二方面,本發(fā)明提供了一種請(qǐng)求消息處理裝置,所述裝置包括:請(qǐng)求初始化模塊,用于接收第一請(qǐng)求,并判斷所述第一請(qǐng)求中的管道處理器是否存在阻塞場(chǎng)景;管道配置模塊,用于若存在所述阻塞場(chǎng)景,則為對(duì)應(yīng)的第一目標(biāo)管道處理器添加第一監(jiān)聽實(shí)例;阻塞判斷模塊,用于通過第一線程處理所述第一請(qǐng)求,并在所述第一線程執(zhí)行到所述第一目標(biāo)管道處理器時(shí),判斷是否接收到第二請(qǐng)求;跳轉(zhuǎn)執(zhí)行模塊,用于若接收到所述第二請(qǐng)求,則掛起所述第一目標(biāo)管道處理器,并通過所述第一線程處理所述第二請(qǐng)求;注冊(cè)模塊,用于將所述第二請(qǐng)求的執(zhí)行中管道處理器注冊(cè)到所述第一監(jiān)聽實(shí)例的通知列表中;返回執(zhí)行模塊,用于若所述第一線程通過所述第二請(qǐng)求的執(zhí)行中管道處理器收到所述第一監(jiān)聽實(shí)例發(fā)送的通知消息,則掛起所述第二請(qǐng)求的執(zhí)行中管道處理器,并返回執(zhí)行所述第一目標(biāo)管道處理器。

10、第三方面,本發(fā)明提供了一種計(jì)算機(jī)設(shè)備,包括:存儲(chǔ)器和處理器,存儲(chǔ)器和處理器之間互相通信連接,存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)指令,處理器通過執(zhí)行計(jì)算機(jī)指令,從而執(zhí)行上述第一方面或其對(duì)應(yīng)的任一實(shí)施方式的方法。

11、第四方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行上述第一方面或其對(duì)應(yīng)的任一實(shí)施方式的方法。

12、本發(fā)明提供的技術(shù)方案,具有如下優(yōu)點(diǎn):

13、本發(fā)明定義計(jì)算機(jī)設(shè)備每次接收到接收外部客戶端的請(qǐng)求時(shí),都需要提前判斷該請(qǐng)求中的管道處理器是否存在阻塞場(chǎng)景,若存在阻塞場(chǎng)景,則為對(duì)應(yīng)的第一目標(biāo)管道處理器添加第一監(jiān)聽實(shí)例。在后續(xù)通過第一線程處理該請(qǐng)求時(shí),如果執(zhí)行到第一目標(biāo)管道處理器發(fā)生阻塞時(shí),則判斷當(dāng)前時(shí)刻是否接收到新的第二請(qǐng)求。若接收到第二請(qǐng)求,則掛起第一目標(biāo)管道處理器,阻塞在計(jì)算機(jī)設(shè)備外部執(zhí)行,所以掛起第一目標(biāo)管道處理器并不會(huì)影響阻塞場(chǎng)景的外部執(zhí)行。此時(shí)仍然通過第一線程處理第二請(qǐng)求,并將第二請(qǐng)求的執(zhí)行中管道處理器注冊(cè)到第一監(jiān)聽實(shí)例的通知列表中。如果第一線程在執(zhí)行第二請(qǐng)求過程中收到第一監(jiān)聽實(shí)例發(fā)送的通知消息,則掛起第二請(qǐng)求,并重新返回剛剛掛起的第一目標(biāo)管道處理器繼續(xù)執(zhí)行任務(wù)。通過這一方案,令每個(gè)線程都不存在空閑等待時(shí)間,利用一個(gè)線程的空閑等待時(shí)間去短暫處理新線程的任務(wù),顯著減少了計(jì)算機(jī)資源浪費(fèi),提高了性能的利用。



技術(shù)特征:

1.一種請(qǐng)求消息處理方法,其特征在于,所述方法包括:

2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:

3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:

4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:

5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一線程是線程池中的執(zhí)行線程,所述線程池包括多個(gè)執(zhí)行線程,所述執(zhí)行線程處理的請(qǐng)求由調(diào)度線程分配,所述接收第一請(qǐng)求包括:

6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:

7.根據(jù)權(quán)利要求5所述的方法,其特征在于,當(dāng)當(dāng)前設(shè)備存在多個(gè)處理器核心時(shí),所述調(diào)度線程的數(shù)量與所述處理器核心的數(shù)量相同,且每個(gè)處理器核心對(duì)應(yīng)運(yùn)行一個(gè)調(diào)度線程。

8.一種請(qǐng)求消息處理裝置,其特征在于,所述裝置包括:

9.一種計(jì)算機(jī)設(shè)備,其特征在于,包括:

10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行權(quán)利要求1至7中任一項(xiàng)所述的方法。


技術(shù)總結(jié)
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,公開了一種請(qǐng)求消息處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),方法包括:接收第一請(qǐng)求,并判斷第一請(qǐng)求是否存在阻塞場(chǎng)景;若存在阻塞場(chǎng)景,則為對(duì)應(yīng)的第一目標(biāo)管道處理器添加第一監(jiān)聽實(shí)例;通過第一線程處理第一請(qǐng)求,并在第一線程執(zhí)行到第一目標(biāo)管道處理器時(shí),判斷是否接收到第二請(qǐng)求;若接收到第二請(qǐng)求,則掛起第一目標(biāo)管道處理器,并通過第一線程處理第二請(qǐng)求;將第二請(qǐng)求的執(zhí)行中管道處理器注冊(cè)到第一監(jiān)聽實(shí)例的通知列表中;若第一線程通過第二請(qǐng)求的執(zhí)行中管道處理器收到第一監(jiān)聽實(shí)例發(fā)送的通知消息,則掛起第二請(qǐng)求的執(zhí)行中管道處理器,并返回執(zhí)行第一目標(biāo)管道處理器。本發(fā)明減少了消息處理時(shí)的計(jì)算設(shè)備性能浪費(fèi)。

技術(shù)研發(fā)人員:余文浩
受保護(hù)的技術(shù)使用者:北京白龍馬云行科技有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2025/5/15
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1