[發(fā)明專利]并發(fā)和異步任務(wù)處理方法及其設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 201911413124.1 | 申請(qǐng)日: | 2019-12-31 |
| 公開(kāi)(公告)號(hào): | CN111131499A | 公開(kāi)(公告)日: | 2020-05-08 |
| 發(fā)明(設(shè)計(jì))人: | 涂海;郭書(shū)偉 | 申請(qǐng)(專利權(quán))人: | 北京訊鳥(niǎo)軟件有限公司 |
| 主分類號(hào): | H04L29/08 | 分類號(hào): | H04L29/08;H04L29/06;G06F9/48;G06F9/50 |
| 代理公司: | 北京汲智翼成知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11381 | 代理人: | 陳曦;陳琳 |
| 地址: | 100086 北京市海淀*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 并發(fā) 異步 任務(wù) 處理 方法 及其 設(shè)備 | ||
1.一種并發(fā)和異步任務(wù)處理方法,其特征在于包括如下步驟:
通過(guò)主reactor線程接收客戶端發(fā)送的請(qǐng)求,所述主reactor線程對(duì)應(yīng)由復(fù)數(shù)個(gè)reactor線程組成的reactor線程組;
將所述客戶端的請(qǐng)求分發(fā)給所述reactor線程組中的第一reactor線程,所述第一reactor線程是所述reactor線程組中的任意一個(gè)reactor線程,所述第一reactor線程是基于epoll并且配置為監(jiān)聽(tīng)所述客戶端的變化;
所述第一reactor線程將所述客戶端的請(qǐng)求根據(jù)預(yù)定協(xié)議解析后通過(guò)pipe管道傳輸給worker進(jìn)程處理,所述worker進(jìn)程配置為處理耗時(shí)小于預(yù)定閾值的客戶端請(qǐng)求;
所述第一reactor線程接收所述worker進(jìn)程對(duì)所述客戶端請(qǐng)求的處理結(jié)果,并將所述處理結(jié)果按照預(yù)定協(xié)議通過(guò)socket反饋給發(fā)出請(qǐng)求的所述客戶端。
2.如權(quán)利要求1所述的并發(fā)和異步任務(wù)處理方法,其特征在于還包括:
創(chuàng)建不同于所述worker進(jìn)程的task worker進(jìn)程,所述task worker進(jìn)程配置為處理耗時(shí)大于所述預(yù)定閾值的客戶端請(qǐng)求。
3.如權(quán)利要求1所述的并發(fā)和異步任務(wù)處理方法,其特征在于還包括:
通過(guò)復(fù)數(shù)個(gè)ws工作進(jìn)程中的第一ws工作進(jìn)程接收第一客戶端的第一消息和第一連接,其中,所述第一ws工作進(jìn)程是所述復(fù)數(shù)個(gè)ws工作進(jìn)程中的任意一個(gè)工作進(jìn)程,所述第一客戶端是所述客戶端中的任意一個(gè)客戶端;
將所述第一消息發(fā)送代理服務(wù)器以便所述代理服務(wù)器針對(duì)所述第一消息作出第一響應(yīng)消息,將所述第一連接放入連接池,所述連接池配置為維護(hù)所述復(fù)數(shù)個(gè)ws工作進(jìn)程處理的復(fù)數(shù)個(gè)連接;
所述代理服務(wù)器將所述第一響應(yīng)消息通過(guò)進(jìn)程間通信經(jīng)由第一監(jiān)控進(jìn)程傳送給所述連接池中的第一連接。
4.如權(quán)利要求3所述的并發(fā)和異步任務(wù)處理方法,其特征在于還包括:
所述代理服務(wù)器將檢測(cè)到的與所述客戶端不同的終端設(shè)備的事件作為回調(diào)數(shù)據(jù)發(fā)送給tcp客戶端監(jiān)聽(tīng)接口;
所述tcp客戶端監(jiān)聽(tīng)接口將所述回調(diào)數(shù)據(jù)通過(guò)第二監(jiān)控進(jìn)程與所述第一監(jiān)控進(jìn)程之間的進(jìn)程間通信,將所述回調(diào)數(shù)據(jù)返回給所述客戶端。
5.如權(quán)利要求3所述的并發(fā)和異步任務(wù)處理方法,其特征在于:
所述連接池中的第一連接采用第一連接,第一監(jiān)控進(jìn)程標(biāo)識(shí),所述第一監(jiān)控進(jìn)程配置為通過(guò)所述第一連接的通道與其他進(jìn)程進(jìn)行數(shù)據(jù)傳遞。
6.如權(quán)利要求4所述的并發(fā)和異步任務(wù)處理方法,其特征在于:
所述回調(diào)數(shù)據(jù)是根據(jù)為ws服務(wù)器提供的回調(diào)地址連接發(fā)送到tcp客戶端監(jiān)聽(tīng)接口。
7.如權(quán)利要求6所述的并發(fā)和異步任務(wù)處理方法,其特征在于:
所述tcp客戶端監(jiān)聽(tīng)接口將所述回調(diào)數(shù)據(jù)通過(guò)第二監(jiān)控進(jìn)程與所述第一監(jiān)控進(jìn)程之間的進(jìn)程間通信,將所述回調(diào)數(shù)據(jù)返回給所述客戶端包括:
所述ws服務(wù)器接收所述tcp客戶端監(jiān)聽(tīng)接口的與所述回調(diào)數(shù)據(jù)關(guān)聯(lián)的請(qǐng)求數(shù)據(jù),根據(jù)所述請(qǐng)求數(shù)據(jù)建立所述第二監(jiān)控進(jìn)程和第二連接,采用第二連接,第二監(jiān)控進(jìn)程標(biāo)識(shí)所述第二連接,其中,所述第二監(jiān)控進(jìn)程和第一監(jiān)控進(jìn)程均設(shè)置于所述連接池中;
通過(guò)所述第二監(jiān)控進(jìn)程接收所述回調(diào)數(shù)據(jù),并將所述回調(diào)數(shù)據(jù)通過(guò)所述第一監(jiān)控進(jìn)程推送到所述客戶端。
8.如權(quán)利要求2所述的并發(fā)和異步任務(wù)處理方法,其特征在于:
所述客戶端請(qǐng)求包括數(shù)據(jù)庫(kù)的輸入/輸出請(qǐng)求,所述數(shù)據(jù)庫(kù)的輸入/輸出請(qǐng)求由所述task worker進(jìn)程處理。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京訊鳥(niǎo)軟件有限公司,未經(jīng)北京訊鳥(niǎo)軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911413124.1/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 任務(wù)協(xié)作裝置及方法
- 用于量化任務(wù)價(jià)值的任務(wù)管理方法及裝置
- 用于運(yùn)行任務(wù)的系統(tǒng)、方法和裝置
- 一種分布式任務(wù)調(diào)度系統(tǒng)及方法
- 任務(wù)信息處理方法
- 一種同步任務(wù)異步執(zhí)行的方法和調(diào)度系統(tǒng)
- 數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì)
- 一種自動(dòng)分配和推送的任務(wù)管理平臺(tái)及方法
- 程序執(zhí)行控制的裝置及方法、終端和存儲(chǔ)介質(zhì)
- 基于會(huì)話的任務(wù)待辦方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)





