[發明專利]并發和異步任務處理方法及其設備在審
| 申請號: | 201911413124.1 | 申請日: | 2019-12-31 |
| 公開(公告)號: | CN111131499A | 公開(公告)日: | 2020-05-08 |
| 發明(設計)人: | 涂海;郭書偉 | 申請(專利權)人: | 北京訊鳥軟件有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06;G06F9/48;G06F9/50 |
| 代理公司: | 北京汲智翼成知識產權代理事務所(普通合伙) 11381 | 代理人: | 陳曦;陳琳 |
| 地址: | 100086 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 并發 異步 任務 處理 方法 及其 設備 | ||
本發明公開了一種并發和異步任務處理方法和設備。通過多線程Reactor加多進程Worker架構,基于epoll的reactor能夠處理不限定個數的連接請求,因此能夠提高服務器一側響應客戶端請求的并發處理能力;通過同時創建兩種進程,一種是普通的worker進程,一種是task worker進程,worker進程是用來處理耗時不是太長的請求,task worker進程用來處理耗時較長的請求,所有的異步任務都可以都會平均分配給task任務進程執行,進一步提高服務器一側的任務響應處理速度。
技術領域
本發明涉及一種用于服務器端的并發和異步任務處理方法,同時涉及一種用于服務器端的并發和異步任務處理的計算機設備,屬于計算通信技術領域。
背景技術
云語音呼叫系統在同時或極短時間內,有大量的來自客戶端請求到達服務器一端,每個請求都需要服務端耗費資源進行處理,并做出相應的反饋,向發出請求的客戶端返回反饋數據。
從服務端視角看高并發服務端處理請求需要耗費服務端的資源,比如能同時開啟的進程數、能同時運行的線程數、網絡連接數、CPU、I/O、內存等等,由于服務器一端資源是有限的,那么服務器能夠同時處理的請求也是有限的;服務器一端的處理和響應會越來越慢,甚至會丟棄部分請求不予處理,更嚴重的會導致服務端崩潰。因此,目前亟需對高并發的客戶端請求進行快速處理的方案。
發明內容
本發明所要解決的首要技術問題在于提供了一種用于服務器端的并發和異步任務處理方法。
本發明所要解決的另一技術問題在于提供一種用于并發和異步任務處理的計算機設備。
為實現上述目的,本發明采用下述的技術方案:
根據本發明實施例的第一方面,提供一種用于服務器端的并發和異步任務處理方法,包括如下步驟:
通過主reactor線程接收客戶端發送的請求,所述主reactor線程對應由復數個reactor線程組成的reactor線程組;將所述客戶端的請求分發給所述reactor線程組中的第一reactor線程,所述第一reactor線程是所述reactor線程組中的任意一個reactor線程,所述第一reactor線程是基于epoll并且配置為監聽所述客戶端的變化;所述第一reactor線程將所述客戶端的請求根據預定協議解析后通過pipe管道傳輸給worker進程處理,所述worker進程配置為處理耗時小于預定閾值的客戶端請求;所述第一reactor線程接收所述worker進程對所述客戶端請求的處理結果,并將所述處理結果按照預定協議通過socket反饋給發出請求的所述客戶端。
在本發明的一些實施例中,所述方法還包括:創建不同于所述worker進程的taskworker進程,所述task worker進程配置為處理耗時大于所述預定閾值的客戶端請求。
在本發明的一些實施例中,所述方法還包括:通過復數個ws工作進程中的第一ws工作進程接收第一客戶端的第一消息和第一連接,其中,所述第一ws工作進程是所述復數個ws工作進程中的任意一個工作進程,所述第一客戶端是所述客戶端中的任意一個客戶端;將所述第一消息發送代理服務器以便所述代理服務器針對所述第一消息作出第一響應消息,將所述第一連接放入連接池,所述連接池配置為維護所述復數個ws工作進程處理的復數個連接;所述代理服務器將所述第一響應消息通過進程間通信經由第一監控進程傳送給所述連接池中的第一連接。
在本發明的一些實施例中,所述方法還包括:所述代理服務器將檢測到的與所述客戶端不同的終端設備的事件作為回調數據發送給tcp客戶端監聽接口;所述tcp客戶端監聽接口將所述回調數據通過第二監控進程與所述第一監控進程之間的進程間通信,將所述回調數據返回給所述客戶端。
在本發明的一些實施例中,所述連接池中的第一連接采用第一連接,第一監控進程標識,所述第一監控進程配置為通過所述第一連接的通道與其他進程進行數據傳遞。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京訊鳥軟件有限公司,未經北京訊鳥軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911413124.1/2.html,轉載請聲明來源鉆瓜專利網。





