[發(fā)明專利]一種基于lookup操作的多線程消息處理方法在審
| 申請(qǐng)?zhí)枺?/td> | 202010469760.2 | 申請(qǐng)日: | 2020-05-28 |
| 公開(kāi)(公告)號(hào): | CN111737026A | 公開(kāi)(公告)日: | 2020-10-02 |
| 發(fā)明(設(shè)計(jì))人: | 李偉;李雪生 | 申請(qǐng)(專利權(quán))人: | 蘇州浪潮智能科技有限公司 |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54;G06F16/182 |
| 代理公司: | 濟(jì)南舜源專利事務(wù)所有限公司 37205 | 代理人: | 孫玉營(yíng) |
| 地址: | 215100 江蘇省蘇州市吳*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 lookup 操作 多線程 消息 處理 方法 | ||
本發(fā)明提供一種基于lookup操作的多線程消息處理方法,包括:增加lookup消息處理線程池,并設(shè)置所述線程池的最少處理量;設(shè)置起始位置并遍歷消息隊(duì)列,根據(jù)所述最少處理量篩選出待處理消息隊(duì)列;將待處理消息隊(duì)列中的消息平均分配給所述線程池的線程;所述各個(gè)線程同時(shí)進(jìn)行l(wèi)ookup處理操作。本發(fā)明在消息隊(duì)列中主動(dòng)將集中發(fā)送至MDS的lookup消息轉(zhuǎn)移至對(duì)應(yīng)的線程池中,同時(shí)行執(zhí)行l(wèi)ookup處理操作,大大節(jié)約消息隊(duì)列整體的消息處理時(shí)間。
技術(shù)領(lǐng)域
本發(fā)明分布式文件處理技術(shù)領(lǐng)域,具體涉及一種基于lookup操作的多線程消息處理方法。
背景技術(shù)
目前的分布式文件系統(tǒng)中,很多場(chǎng)景下在執(zhí)行實(shí)際的操作前都需要執(zhí)行至少一次lookup操作,例如在某個(gè)目錄下創(chuàng)建文件或者刪除文件之前進(jìn)行l(wèi)ookup操作以確定文件是否真的存在,從而協(xié)助上層模塊是否可執(zhí)行實(shí)際的操作。在所有消息中,很多場(chǎng)景下的lookup操作只是為了獲取文件的基本屬性,而不會(huì)去寫(xiě)入改變?cè)撐募祟惒僮鞑⒉粫?huì)影響數(shù)據(jù)的一致性和準(zhǔn)確性。
此類lookup操作消息在實(shí)際應(yīng)用中經(jīng)常會(huì)在一個(gè)較短的時(shí)間段內(nèi)集中的發(fā)送到MDS的消息隊(duì)列中,而在MDS中,所有的消息必須等上一個(gè)消息處理完成后,才能從消息隊(duì)列中取出下一個(gè)消息進(jìn)行處理,以保證數(shù)據(jù)的一致性和正確性。假設(shè)消息隊(duì)列中同時(shí)存在n個(gè)消息要處理,即第n個(gè)消息的耗時(shí)可表示如下:耗時(shí)n=本消息處理時(shí)間+前面n-1個(gè)消息的處理時(shí)間。如果在前面n-1消息中存在一個(gè)高耗時(shí)的消息處理操作,例如網(wǎng)絡(luò)延遲等,就會(huì)導(dǎo)致隊(duì)列中該消息后面的消息均出現(xiàn)高耗時(shí),從未導(dǎo)致上層應(yīng)用連續(xù)多次的性能波動(dòng)。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)的上述不足,本發(fā)明提供一種基于lookup操作的多線程消息處理方法,以解決上述技術(shù)問(wèn)題。
本發(fā)明提供一種基于lookup操作的多線程消息處理方法,包括:
獲取分布式文件系統(tǒng)需進(jìn)行l(wèi)ookup處理操作的消息隊(duì)列;
在所述消息隊(duì)列中增加lookup消息處理線程池,設(shè)置達(dá)到所述線程池處理消息的最低處理量;
遍歷消息隊(duì)列,并根據(jù)所述最低處理量篩選出待處理消息隊(duì)列;
將待處理消息隊(duì)列中的lookup類型消息平均分配給所述線程池的線程,線程池中的多個(gè)線程同時(shí)處理所述lookup類型消息。
進(jìn)一步的,所述遍歷消息隊(duì)列,并根據(jù)所述最低處理量篩選出待處理消息隊(duì)列,包括:
配置當(dāng)前處理消息之后第M個(gè)消息為所述起始位置;
從起始位置開(kāi)始遍歷當(dāng)前消息隊(duì)列,將連續(xù)屬于lookup類型的消息數(shù)量達(dá)到最少處理量的消息作為待處理消息隊(duì)列。
進(jìn)一步的,所述方法還包括:
在所述待處理消息隊(duì)列的起點(diǎn)插入一個(gè)自定義類型消息;
監(jiān)控所述自定義類型消息的處理狀態(tài):當(dāng)所述自定義類型消息被處理時(shí),暫停原有消息處理線程,線程池中的多個(gè)線程同時(shí)處理所述lookup類型消息。
進(jìn)一步的,所述方法還包括:
增加一個(gè)新的線程,所述新的線程用于處理所述自定義類型消息。
進(jìn)一步的,所述方法還包括:
各線程處理完成后單獨(dú)向上層模塊返回處理結(jié)果。
進(jìn)一步的,在所述消息隊(duì)列中增加lookup消息處理線程池,包括:
增加一個(gè)線程池,所述線程池用于處理消息隊(duì)列中的lookup類型消息;
并設(shè)置所述線程池默認(rèn)休眠狀態(tài);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蘇州浪潮智能科技有限公司,未經(jīng)蘇州浪潮智能科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202010469760.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 多線程應(yīng)用系統(tǒng)的異常處理方法和異常處理裝置
- 一種面向片上網(wǎng)絡(luò)的多線程調(diào)度實(shí)現(xiàn)方法
- 基于計(jì)算機(jī)多線程多核顯微鏡細(xì)胞圖像快速掃描處理方法
- 一種基于同步鎖的多線程處理方法、終端以及存儲(chǔ)介質(zhì)
- 多線程并發(fā)處理系統(tǒng)及方法
- 海外控股估值流程控制方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 讀數(shù)方法、電子裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種基于云平臺(tái)多線程調(diào)度的方法、系統(tǒng)、設(shè)備及介質(zhì)
- 一種基于云平臺(tái)的前端多線程調(diào)度方法和系統(tǒng)
- 多線程調(diào)度方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)





