[發(fā)明專(zhuān)利]高并發(fā)連接實(shí)現(xiàn)方法和裝置在審
| 申請(qǐng)?zhí)枺?/td> | 201511000789.1 | 申請(qǐng)日: | 2015-12-28 |
| 公開(kāi)(公告)號(hào): | CN105630616A | 公開(kāi)(公告)日: | 2016-06-01 |
| 發(fā)明(設(shè)計(jì))人: | 李彥峰 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京像素軟件科技股份有限公司 |
| 主分類(lèi)號(hào): | G06F9/54 | 分類(lèi)號(hào): | G06F9/54 |
| 代理公司: | 北京德琦知識(shí)產(chǎn)權(quán)代理有限公司 11018 | 代理人: | 楊春香;宋志強(qiáng) |
| 地址: | 102200 北京市昌平區(qū)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 并發(fā) 連接 實(shí)現(xiàn) 方法 裝置 | ||
技術(shù)領(lǐng)域
本申請(qǐng)涉及計(jì)算機(jī)技術(shù),特別涉及高并發(fā)連接實(shí)現(xiàn)方法和裝置。
背景技術(shù)
目前,在Java和PHP這類(lèi)語(yǔ)言中,每個(gè)連接都會(huì)生成一個(gè)新線程,每 個(gè)新線程可能需要2MB的配套內(nèi)存,基于此,以一個(gè)擁有8GBRAM的系 統(tǒng)為例,則理論上最大的并發(fā)連接數(shù)量是4000個(gè)用戶(hù)。然而,隨著客戶(hù)群的 增長(zhǎng),如果希望Web應(yīng)用程序支持更多用戶(hù),則就必須添加更多服務(wù)器, 這會(huì)增加服務(wù)器成本、流量成本和人工成本等成本。
除這些成本上升外,還有一個(gè)潛在技術(shù)問(wèn)題,即用戶(hù)可能針對(duì)每個(gè)請(qǐng)求 使用不同的服務(wù)器,因此,任何共享資源都必須在所有服務(wù)器之間共享。
發(fā)明內(nèi)容
本申請(qǐng)?zhí)峁┝烁卟l(fā)連接實(shí)現(xiàn)方法和裝置,以實(shí)現(xiàn)高并發(fā)連接,防止當(dāng)客戶(hù) 增多時(shí)只能通過(guò)添加更多服務(wù)器等帶來(lái)的技術(shù)缺陷。
本申請(qǐng)?zhí)峁┑募夹g(shù)方案包括:
一種高并發(fā)連接實(shí)現(xiàn)方法,包括:
客戶(hù)端通過(guò)公共網(wǎng)關(guān)cmngate連接到服務(wù)器群;服務(wù)器群中包含兩個(gè)以上服 務(wù)器,所述服務(wù)器群中的服務(wù)器是基于Node.js建立的;
客戶(hù)端利用直譯式腳本語(yǔ)言JavaScript回調(diào)函數(shù)的方式與服務(wù)器群中的服務(wù) 器實(shí)現(xiàn)異步輸入/輸出I/O。
一種高并發(fā)連接實(shí)現(xiàn)裝置,包括:
連接模塊,用于通過(guò)公共網(wǎng)關(guān)cmngate將客戶(hù)端連接到服務(wù)器群;服務(wù)器群 中包含兩個(gè)以上服務(wù)器,所述服務(wù)器群中的服務(wù)器是基于Node.js建立的;
輸入/輸出模塊,用于利用直譯式腳本語(yǔ)言JavaScript回調(diào)函數(shù)的方式使客戶(hù) 端與服務(wù)器群中的服務(wù)器實(shí)現(xiàn)異步輸入/輸出I/O。
由以上技術(shù)方案可以看出,本發(fā)明中,客戶(hù)端把函數(shù)傳遞給服務(wù)器后,且在 服務(wù)器執(zhí)行完該函數(shù)之前,客戶(hù)端還是可以處理其他事件的,并非僅僅等待服 務(wù)器的處理結(jié)果,而當(dāng)服務(wù)器執(zhí)行完函數(shù)時(shí),客戶(hù)端回調(diào)該函數(shù),繼續(xù)該函數(shù) 的處理,即實(shí)現(xiàn)了異步處理。通過(guò)該異步處理,能夠?qū)崿F(xiàn)客戶(hù)端與服務(wù)器之間 的高并發(fā)連接。
附圖說(shuō)明
圖1為本發(fā)明提供的方法流程圖;
圖2為本發(fā)明提供的實(shí)施例結(jié)構(gòu)圖;
圖3為本發(fā)明提供的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體 實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
在本發(fā)明提供的方法中,能夠?qū)崿F(xiàn)高并發(fā)連接,這能夠避免背景技術(shù)中當(dāng) 客戶(hù)增多時(shí)只能通過(guò)添加更多服務(wù)器等帶來(lái)的技術(shù)缺陷。
下面通過(guò)圖1對(duì)本發(fā)明提供的方法進(jìn)行描述:
參見(jiàn)圖1,圖1為本發(fā)明提供的方法流程圖。如圖1所示,該流程可包 括以下步驟:
步驟101,客戶(hù)端通過(guò)公共網(wǎng)關(guān)(cmngate)連接到服務(wù)器群,服務(wù)器群中 包含兩個(gè)以上服務(wù)器,服務(wù)器群中的服務(wù)器是基于Node.js建立的。
Node是一個(gè)服務(wù)器端JavaScript解釋器,它將改變服務(wù)器應(yīng)該如何工作的 概念,它的目標(biāo)是幫助程序員構(gòu)建高度可伸縮的應(yīng)用程序,編寫(xiě)能夠處理數(shù)萬(wàn) 條同時(shí)連接到一個(gè)(只有一個(gè))物理機(jī)的連接代碼。
Node.js的優(yōu)點(diǎn)有:
1)、采用事件驅(qū)動(dòng)、異步編程,為網(wǎng)絡(luò)服務(wù)而設(shè)計(jì)。
2)、Node.js非阻塞模式的I/O處理給Node.js帶來(lái)在相對(duì)低系統(tǒng)資源耗用下 的高性能與出眾的負(fù)載能力,非常適合用作依賴(lài)其它I/O資源的中間層服務(wù)。
3)、Node.js輕量高效,可以認(rèn)為是數(shù)據(jù)密集型分布式部署環(huán)境下的實(shí)時(shí)應(yīng) 用系統(tǒng)的完美解決方案。Node非常適合如下情況:在響應(yīng)客戶(hù)端之前,預(yù)計(jì)可 能有很高的流量,但所需的服務(wù)器端邏輯和處理不一定很多。
本發(fā)明中的服務(wù)器基于Node.js建立,則建立后的服務(wù)器能夠?qū)崿F(xiàn)Node.js 的上述優(yōu)點(diǎn)。
步驟102,客戶(hù)端利用JavaScript回調(diào)函數(shù)的方式與服務(wù)器群中的服務(wù)器實(shí) 現(xiàn)異步輸入/輸出(I/O)。
在本發(fā)明中,作為一個(gè)優(yōu)選實(shí)施例,客戶(hù)端利用JavaScript回調(diào)函數(shù)的方式 與服務(wù)器群中的服務(wù)器實(shí)現(xiàn)異步(I/O)包括:
步驟a1,客戶(hù)端將I/O相關(guān)聯(lián)的函數(shù)作為參數(shù)通過(guò)I/O請(qǐng)求傳遞給服務(wù)器群 中的服務(wù)器。
通過(guò)步驟a1,實(shí)現(xiàn)了函數(shù)的傳遞。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京像素軟件科技股份有限公司,未經(jīng)北京像素軟件科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201511000789.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





