[發明專利]分布式計算數據轉發方法和裝置在審
| 申請號: | 201710266456.6 | 申請日: | 2017-04-21 |
| 公開(公告)號: | CN107423118A | 公開(公告)日: | 2017-12-01 |
| 發明(設計)人: | 王鵬;黃焱;謝高輝 | 申請(專利權)人: | 廣州五舟科技股份有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/50 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司44224 | 代理人: | 潘桂生,葛紅 |
| 地址: | 510663 廣東省廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 計算 數據 轉發 方法 裝置 | ||
技術領域
本發明涉及分布式計算技術領域,特別是涉及分布式計算數據轉發方法和裝置。
背景技術
將計算性能較弱的計算節點整合成為具有較強計算能力的集群是分布式計算平臺的重要功能。這一過程涉及計算遷移,即將用戶的操作指令通過網絡通信傳送并運行在遠端服務器,然后將結果返回給用戶。網絡轉發機制是計算遷移的關鍵問題。
轉發雖解決了外網主動訪問內網IP的難題,但同時也為數據傳輸帶來了轉發延時。為了最大限度的減少轉發時延,轉發節點對數據不做任何解封裝和封裝動作,接收后直接轉發。
計算機與路由器在網絡體系中所處層次不一樣,雖轉發原理相似,但其區別有二:一是路由器采用的是專業IOS(Internetwork Operating System,互聯網操作系統),轉發速度要快;二是計算機接收數據采用的是系統自帶的send和recv函數,實際上對報文解析到了傳輸層,而路由器只對報文解析到網絡層,這之差別就造成了一部分時延。也就是說,計算機在分布式計算中轉發數據存在一定的延時。
在分布式計算中,作為服務器的計算機,既要接受客戶端的連接申請,又要接收客戶端發送的數據信息,還要保證數據信息實現點對點準確無誤的傳送,是典型的并發模型。解決并發模型的方法主要有多線程和多進程兩種方式,線程由于資源的共享原因,常常需要大量的互斥變量,造成程序代碼比較復雜,甚至影響到程序的并發度。而該系統需要最大限度的提高服務器的并發處理能力,多進程并發模型成為首選。
傳統的多進程并發模型在客戶端數量較多時,客戶端無限制地向服務器端提出連接申請,服務器端的進程爆滿,占用服務器的大量資源,從而影響服務器的性能,甚至讓服務器宕機(亦稱當機或死機)。
發明內容
基于此,有必要針對傳統的分布式計算中,服務器在進行數據轉發時采用多進程并發模式,容易造成進程數量過大,數量較大的進程將占用服務器的大量資源,極大地影響服務器的性能的缺陷,提供一種分布式計算數據轉發方法和裝置。
一種分布式計算數據轉發方法,包括:
獲取預設進程數;
創建進程池,所述進程池包括數量為所述預設進程數的子進程;
檢測網絡端口是否接收到客戶端的連接請求;
當檢測到所述網絡端口接收到客戶端的連接請求時,則檢測所述進程池中是否存在空閑狀態的子進程;
當檢測到所述進程池中存在空閑狀態的子進程時,則響應所述連接請求,將處于空閑狀態的所述子進程中的一個建立與客戶端的連接。
在其中一個實施例中,所述獲取預設進程數的步驟具體為:
獲取網絡連接參數;
根據所述網絡連接參數獲取所述預設進程數。
在其中一個實施例中,所述創建進程池的步驟之后還包括:
檢測所述進程池中是否存在退出狀態的子進程;
當所述進程池中存在退出狀態的子進程時,則創建子進程。
在其中一個實施例中,所述當所述進程池中存在退出狀態的子進程時,則創建子進程的步驟包括:
當所述進程池中存在退出狀態的子進程,則獲取所述退出狀態的子進程的數量;
創建與所述退出狀態的子進程數量相等的子進程。
在其中一個實施例中,所述檢測所述進程池中是否存在空閑狀態的子進程的步驟之后還包括:
當檢測到所述進程池中不存在空閑狀態的子進程時,則向客戶端返回拒絕連接的響應消息。
一種分布式計算數據轉發裝置,包括:
進程數獲取模塊,用于獲取預設進程數;
進程池創建模塊,用于創建進程池,所述進程池包括數量為所述預設進程數的子進程;
連接請求檢測模塊,用于檢測網絡端口是否接收到客戶端的連接請求;
空閑進程檢測模塊,用于當檢測到所述網絡端口接收到客戶端的連接請求時,則檢測所述進程池中是否存在空閑狀態的子進程;
連接建立模塊,用于當檢測到所述進程池中存在空閑狀態的子進程時,則響應所述連接請求,將處于空閑狀態的所述子進程中的一個建立與客戶端的連接。
在其中一個實施例中,所述進程數獲取模塊包括:
網絡參數獲取單元,用于獲取網絡連接參數;
進程數獲取單元,用于根據所述網絡連接參數獲取所述預設進程數。
在其中一個實施例中,還包括:
退出狀態檢測模塊,用于檢測所述進程池中是否存在退出狀態的子進程;
子進程創建模塊,用于當所述進程池中存在退出狀態的子進程時,則創建子進程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州五舟科技股份有限公司,未經廣州五舟科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710266456.6/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





