[發(fā)明專利]一種基于PM2的Node.js服務(wù)器重啟方法在審
| 申請(qǐng)?zhí)枺?/td> | 201811553604.3 | 申請(qǐng)日: | 2018-12-19 |
| 公開(kāi)(公告)號(hào): | CN109669817A | 公開(kāi)(公告)日: | 2019-04-23 |
| 發(fā)明(設(shè)計(jì))人: | 徐洋 | 申請(qǐng)(專利權(quán))人: | 深圳市活力天匯科技股份有限公司 |
| 主分類號(hào): | G06F11/14 | 分類號(hào): | G06F11/14;G06F9/4401 |
| 代理公司: | 北京中北知識(shí)產(chǎn)權(quán)代理有限公司 11253 | 代理人: | 盧業(yè)強(qiáng) |
| 地址: | 518057 廣東省深圳市南山*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 網(wǎng)絡(luò)請(qǐng)求 重啟 響應(yīng) 進(jìn)程 服務(wù)器發(fā)送 關(guān)閉指令 進(jìn)程接收 進(jìn)程停止 進(jìn)程通知 準(zhǔn)備就緒 響應(yīng)碼 斷開(kāi) 服務(wù) 刪除 返回 保證 | ||
本發(fā)明公開(kāi)一種基于PM2的Node.js服務(wù)器重啟方法。所述方法包括:PM2向Node.js服務(wù)器發(fā)送關(guān)閉指令;PM2建立新的Node.js進(jìn)程;新的Node.js進(jìn)程通知PM2準(zhǔn)備就緒;PM2控制新的Node.js進(jìn)程接收并響應(yīng)新的網(wǎng)絡(luò)請(qǐng)求;PM2控制舊的Node.js進(jìn)程停止接收新的網(wǎng)絡(luò)請(qǐng)求;舊的Node.js進(jìn)程完成正在進(jìn)行的網(wǎng)絡(luò)請(qǐng)求,斷開(kāi)舊的Node.js進(jìn)程的連接;PM2刪除舊的Node.js進(jìn)程的連接。本發(fā)明能夠保證Node.js服務(wù)器重啟時(shí)正常響應(yīng)新的網(wǎng)絡(luò)請(qǐng)求,不會(huì)出現(xiàn)異常響應(yīng)碼,還能正常返回重啟前已建立的網(wǎng)絡(luò)請(qǐng)求并正常關(guān)閉。解決了現(xiàn)有重啟方法中存在的卡頓現(xiàn)象和響應(yīng)緩慢問(wèn)題。
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)軟件技術(shù)領(lǐng)域,具體涉及一種基于PM2的Node.js服務(wù)器重啟方法。
背景技術(shù)
目前,在“互聯(lián)網(wǎng)+”概念影響下,越來(lái)越多的移動(dòng)互聯(lián)網(wǎng)產(chǎn)品需要及時(shí)和實(shí)時(shí)地為廣大用戶提供各種服務(wù),服務(wù)器的穩(wěn)定性和服務(wù)器上運(yùn)行程序的穩(wěn)定性越來(lái)越重要。
Node.js服務(wù)器以其處理高并發(fā)場(chǎng)景性能更高,支持函數(shù)式編程非常適合寫(xiě)異步回調(diào)鏈,得到了廣泛的應(yīng)用。但是,Node.js服務(wù)器重啟的處理方法還不夠完善。一種常用的Node.js服務(wù)器重啟方法是:先找到Node.js服務(wù)器的進(jìn)程,然后關(guān)閉該進(jìn)程,并開(kāi)啟新進(jìn)程;還有一種方法是:通過(guò)PM2指令發(fā)送指令通知Node.js進(jìn)程,服務(wù)器關(guān)閉;然后PM2重啟Node.js服務(wù)器。采用上述方法重啟Node.js服務(wù)器,Node.js進(jìn)程被關(guān)閉了,正在進(jìn)行的網(wǎng)絡(luò)請(qǐng)求中斷,同時(shí)新的網(wǎng)絡(luò)請(qǐng)求無(wú)法響應(yīng)。這種無(wú)法響應(yīng)的狀態(tài)會(huì)一直持續(xù)到新Node.js進(jìn)程完全啟動(dòng)完畢。由于部分網(wǎng)絡(luò)請(qǐng)求響應(yīng)異常,可能導(dǎo)致用戶端程序異常、崩潰和各種邊界條件下的不可預(yù)知狀態(tài)。同時(shí),直接調(diào)用Node.js的服務(wù)器關(guān)閉指令,不能馬上關(guān)閉已經(jīng)建立的連接(如與數(shù)據(jù)庫(kù)的連接),只有達(dá)到默認(rèn)超時(shí)時(shí)間后服務(wù)器關(guān)閉指令才會(huì)生效。這種卡頓現(xiàn)象和響應(yīng)緩慢的情況將會(huì)影響用戶端產(chǎn)品的使用體驗(yàn)。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明提出一種基于PM2的Node.js服務(wù)器重啟方法。
為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種基于PM2的Node.js服務(wù)器重啟方法,包括:
PM2向Node.js服務(wù)器發(fā)送關(guān)閉指令;
PM2建立新的Node.js進(jìn)程;
新的Node.js進(jìn)程通過(guò)發(fā)送就緒信號(hào)通知PM2準(zhǔn)備就緒;
PM2接收到所述就緒信號(hào)后,控制新的Node.js進(jìn)程接收并響應(yīng)新的網(wǎng)絡(luò)請(qǐng)求;
PM2控制舊的Node.js進(jìn)程(重啟前已有進(jìn)程)停止接收新的網(wǎng)絡(luò)請(qǐng)求;
舊的Node.js進(jìn)程完成正在進(jìn)行的網(wǎng)絡(luò)請(qǐng)求,監(jiān)聽(tīng)到關(guān)閉指令后,斷開(kāi)舊的Node.js進(jìn)程的連接;
PM2刪除舊的Node.js進(jìn)程的連接。
進(jìn)一步地,在所述PM2建立新的Node.js進(jìn)程之后還包括:
建立新的Node.js進(jìn)程與數(shù)據(jù)庫(kù)的連接,所述數(shù)據(jù)庫(kù)包括用于管理會(huì)話的MongoDB數(shù)據(jù)庫(kù)、用于管理應(yīng)用數(shù)據(jù)的MySQL數(shù)據(jù)庫(kù)和用于緩存的Redis數(shù)據(jù)庫(kù)中的一種或幾種。
進(jìn)一步地,在所述PM2控制舊的Node.js進(jìn)程停止接收新的網(wǎng)絡(luò)請(qǐng)求之后還包括:
斷開(kāi)舊的Node.js進(jìn)程與數(shù)據(jù)庫(kù)的連接,所述數(shù)據(jù)庫(kù)包括用于管理會(huì)話的MongoDB數(shù)據(jù)庫(kù)、用于管理應(yīng)用數(shù)據(jù)的MySQL數(shù)據(jù)庫(kù)和用于緩存的Redis數(shù)據(jù)庫(kù)中的一種或幾種。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市活力天匯科技股份有限公司,未經(jīng)深圳市活力天匯科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811553604.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 網(wǎng)絡(luò)接入請(qǐng)求的管理
- 處理網(wǎng)絡(luò)請(qǐng)求的方法
- 將網(wǎng)絡(luò)資源請(qǐng)求變換成零費(fèi)率網(wǎng)絡(luò)請(qǐng)求的技術(shù)
- 視頻列表切換控制方法及裝置
- 網(wǎng)絡(luò)服務(wù)請(qǐng)求
- 一種網(wǎng)絡(luò)請(qǐng)求緩沖處理方法及系統(tǒng)
- 網(wǎng)絡(luò)請(qǐng)求方法及裝置
- 一種網(wǎng)絡(luò)請(qǐng)求的處理、發(fā)送方法及裝置
- 網(wǎng)絡(luò)請(qǐng)求方法及裝置
- 用于發(fā)送網(wǎng)絡(luò)請(qǐng)求的方法和裝置
- 一種自動(dòng)交換光網(wǎng)絡(luò)控制節(jié)點(diǎn)的重啟方法
- 對(duì)按需重啟執(zhí)行重啟循環(huán)、重啟調(diào)度
- 重啟日志歸并方法、上傳方法、系統(tǒng)及可讀存儲(chǔ)介質(zhì)
- 應(yīng)用重啟方法及裝置
- 一種LINUX系統(tǒng)自動(dòng)重啟服務(wù)的配置方法
- 重啟控制系統(tǒng)
- 基站重啟定位方法、裝置、基站設(shè)備和存儲(chǔ)介質(zhì)
- 一種主控板重啟的控制方法及系統(tǒng)
- 自動(dòng)控制主機(jī)進(jìn)行重啟的方法、裝置及相關(guān)設(shè)備
- 一種用于故障錄波器的遠(yuǎn)程重啟方法及系統(tǒng)
- 時(shí)刻響應(yīng)
- 第一響應(yīng)和第二響應(yīng)
- 需求響應(yīng)方法和需求響應(yīng)系統(tǒng)
- 響應(yīng)裝置及其集成電路、響應(yīng)方法及響應(yīng)系統(tǒng)
- 響應(yīng)處理方法及響應(yīng)處理裝置
- 響應(yīng)裝置及網(wǎng)絡(luò)響應(yīng)方法
- 響應(yīng)生成方法、響應(yīng)生成裝置和響應(yīng)生成程序
- 響應(yīng)車(chē)輛、響應(yīng)車(chē)輛管理系統(tǒng)和響應(yīng)車(chē)輛控制系統(tǒng)
- 斷電響應(yīng)
- 響應(yīng)裝置、響應(yīng)方法及存儲(chǔ)介質(zhì)
- 一種進(jìn)程自動(dòng)恢復(fù)方法
- 進(jìn)程啟動(dòng)方法及內(nèi)核、進(jìn)程
- 一種進(jìn)程間的通信方法和裝置
- 進(jìn)程解析裝置、進(jìn)程解析方法和進(jìn)程解析程序
- 32位進(jìn)程和64位進(jìn)程交叉注入方法及裝置
- 一種應(yīng)用進(jìn)程控制方法及裝置
- 插件下載方法及裝置
- 進(jìn)程間的數(shù)據(jù)傳輸方法和裝置
- 進(jìn)程監(jiān)視裝置、進(jìn)程監(jiān)視方法和進(jìn)程監(jiān)視程序
- 一種基于動(dòng)態(tài)監(jiān)測(cè)的進(jìn)程優(yōu)化調(diào)度方法





