[發(fā)明專(zhuān)利]一種基于node.js的服務(wù)器進(jìn)程調(diào)度方法、系統(tǒng)和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201911409183.1 | 申請(qǐng)日: | 2019-12-31 |
| 公開(kāi)(公告)號(hào): | CN111538585B | 公開(kāi)(公告)日: | 2022-03-01 |
| 發(fā)明(設(shè)計(jì))人: | 方禺;王興華;薛立俊;陳達(dá)健 | 申請(qǐng)(專(zhuān)利權(quán))人: | 明度智云(浙江)科技有限公司 |
| 主分類(lèi)號(hào): | G06F9/50 | 分類(lèi)號(hào): | G06F9/50 |
| 代理公司: | 杭州合譜慧知識(shí)產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 33290 | 代理人: | 張剛 |
| 地址: | 310000 浙江省杭州市*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 node js 服務(wù)器 進(jìn)程 調(diào)度 方法 系統(tǒng) 裝置 | ||
本發(fā)明公開(kāi)了一種基于node.js的服務(wù)器進(jìn)程調(diào)度方法,包括:調(diào)度進(jìn)程獲取前端業(yè)務(wù)請(qǐng)求,根據(jù)對(duì)所掛載的多個(gè)邏輯進(jìn)程的預(yù)設(shè)分配策略將所述業(yè)務(wù)請(qǐng)求選擇分配至所掛載的第一邏輯進(jìn)程中,其中所述調(diào)度進(jìn)程為Node.js進(jìn)程;所述第一邏輯進(jìn)程根據(jù)接收的業(yè)務(wù)請(qǐng)求創(chuàng)建一業(yè)務(wù)實(shí)例,并將所述業(yè)務(wù)實(shí)例輸入為其創(chuàng)建的多個(gè)線程中執(zhí)行;當(dāng)所述調(diào)度進(jìn)程監(jiān)聽(tīng)到第一邏輯進(jìn)程執(zhí)行出現(xiàn)異常離線時(shí),重啟第二邏輯進(jìn)程以加載第一邏輯進(jìn)程未完成信息。本發(fā)明通過(guò)將各業(yè)務(wù)合理分配至掛載的多個(gè)邏輯進(jìn)程中,達(dá)到各處理業(yè)務(wù)的邏輯進(jìn)程的負(fù)載均衡,有效加強(qiáng)了網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于node.js的服務(wù)器進(jìn)程調(diào)度方法和系統(tǒng)。
背景技術(shù)
Node.js是一個(gè)基于Chrome V8引擎的JavaScript運(yùn)行環(huán)境,其本身并不支持多線程,但為了充分利用server的Multi-core,就必須使用多進(jìn)程的方式,那么進(jìn)程之間如何負(fù)載均衡就會(huì)是一個(gè)關(guān)鍵所在。例如現(xiàn)在的電子批記錄軟件,具有一個(gè)后臺(tái)處理模塊,用以處理軟件業(yè)務(wù)中產(chǎn)生的一個(gè)個(gè)工作流實(shí)例,后臺(tái)模塊需要接受前臺(tái)的業(yè)務(wù)指令,根據(jù)業(yè)務(wù)需求來(lái)生成,管理,操作,或關(guān)閉一條條工作流,但當(dāng)前臺(tái)業(yè)務(wù)需求量較大時(shí),單實(shí)例后臺(tái)模塊的計(jì)算性能就將滿足不了要求,導(dǎo)致軟件不穩(wěn)定和性能不足的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)中的不足,提供了一種基于node.js的服務(wù)器進(jìn)程調(diào)度方法,包括:調(diào)度進(jìn)程獲取前端業(yè)務(wù)請(qǐng)求,根據(jù)對(duì)所掛載的多個(gè)邏輯進(jìn)程的預(yù)設(shè)分配策略將所述業(yè)務(wù)請(qǐng)求選擇分配至所掛載的第一邏輯進(jìn)程中,其中所述調(diào)度進(jìn)程為Node.js進(jìn)程;所述第一邏輯進(jìn)程根據(jù)接收的業(yè)務(wù)請(qǐng)求創(chuàng)建一業(yè)務(wù)實(shí)例,并將所述業(yè)務(wù)實(shí)例輸入為其創(chuàng)建的多個(gè)線程中執(zhí)行;當(dāng)所述調(diào)度進(jìn)程監(jiān)聽(tīng)到第一邏輯進(jìn)程執(zhí)行出現(xiàn)異常離線時(shí),重啟第二邏輯進(jìn)程以加載第一邏輯進(jìn)程未完成信息。
優(yōu)選的,所述步驟根據(jù)對(duì)所掛載的多個(gè)邏輯進(jìn)程的預(yù)設(shè)分配策略將所述業(yè)務(wù)請(qǐng)求選擇分配至所掛載的第一邏輯進(jìn)程中,具體包括:將所述業(yè)務(wù)請(qǐng)求根據(jù)預(yù)設(shè)的隨機(jī)分配策略或最小分配策略分配至所掛載的第一邏輯進(jìn)程。
優(yōu)選的,所述最小分配策略被配置為在分配前檢測(cè)掛載的各邏輯進(jìn)程的負(fù)載狀態(tài)并分析其繁忙度,將所述業(yè)務(wù)請(qǐng)求發(fā)送至繁忙度最小的邏輯進(jìn)程處理。
優(yōu)選的,當(dāng)所述業(yè)務(wù)實(shí)例狀態(tài)發(fā)生改變或業(yè)務(wù)實(shí)例執(zhí)行至預(yù)設(shè)節(jié)點(diǎn)時(shí),備份所述業(yè)務(wù)實(shí)例的快照信息至實(shí)時(shí)數(shù)據(jù)庫(kù)。
優(yōu)選的,所述調(diào)度進(jìn)程實(shí)時(shí)監(jiān)控各邏輯進(jìn)程的負(fù)載狀態(tài),并在監(jiān)聽(tīng)到一邏輯進(jìn)程出現(xiàn)異常離線時(shí),重啟第二邏輯進(jìn)程以加載第一邏輯進(jìn)程未完成信息。
本發(fā)明還公開(kāi)了一種基于node.js的服務(wù)器進(jìn)程調(diào)度系統(tǒng),包括調(diào)度模塊和邏輯模塊,其中:調(diào)度模塊,掛載有多個(gè)邏輯模塊,所述調(diào)度模塊用于獲取前端業(yè)務(wù)請(qǐng)求,并根據(jù)對(duì)預(yù)設(shè)分配策略將所述業(yè)務(wù)請(qǐng)求選擇分配至所掛載的第一邏輯模塊中,所述調(diào)度模塊被配置為在監(jiān)聽(tīng)到第一邏輯模塊執(zhí)行出現(xiàn)異常離線時(shí),重啟第二邏輯模塊以加載第一邏輯模塊未完成信息,其中所述調(diào)度模塊為Node模塊;第一邏輯模塊,根據(jù)接收的業(yè)務(wù)請(qǐng)求創(chuàng)建一業(yè)務(wù)實(shí)例,并將所述業(yè)務(wù)實(shí)例輸入為其創(chuàng)建的多個(gè)線程中執(zhí)行。
優(yōu)選的,所述調(diào)度模塊還被配置為將所述業(yè)務(wù)請(qǐng)求根據(jù)預(yù)設(shè)的隨機(jī)分配策略或最小分配策略分配至所掛載的第一邏輯模塊。
優(yōu)選的,所述最小分配策略被配置為在分配前檢測(cè)掛載的各邏輯模塊的負(fù)載狀態(tài)并分析其繁忙度,將所述業(yè)務(wù)請(qǐng)求發(fā)送至繁忙度最小的邏輯模塊處理。
優(yōu)選的,基于node.js的服務(wù)器進(jìn)程調(diào)度系統(tǒng)還包括實(shí)時(shí)數(shù)據(jù)庫(kù),所述實(shí)時(shí)數(shù)據(jù)庫(kù)被配置為當(dāng)所述業(yè)務(wù)實(shí)例狀態(tài)發(fā)生改變或業(yè)務(wù)實(shí)例執(zhí)行至預(yù)設(shè)節(jié)點(diǎn)時(shí)備份所述業(yè)務(wù)實(shí)例的快照信息。
本發(fā)明還公開(kāi)了一種基于node.js的服務(wù)器進(jìn)程調(diào)度裝置,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述任一所述方法的步驟。
該專(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/201911409183.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 控制基站發(fā)射功率控制命令的方法
- 一種接入分組數(shù)據(jù)網(wǎng)絡(luò)的方法
- 一種基于Kubernetes容器集群管理系統(tǒng)的資源調(diào)度方法
- 一種基于非統(tǒng)一內(nèi)存訪問(wèn)技術(shù)的多JVM部署方法
- 一種計(jì)算板級(jí)熱插拔控制裝置及控制方法
- 基于IAB node能力進(jìn)行資源分配的方法、裝置、節(jié)點(diǎn)、介質(zhì)
- 一種基于PM2的Node.js服務(wù)器重啟方法
- 一種Pod調(diào)度方法及裝置
- 一種變壓器隔離IGBT驅(qū)動(dòng)控制系統(tǒng)及方法、電路
- 一種基于備用機(jī)制的邊緣物聯(lián)代理資源調(diào)度方法及裝置
- JS文件處理方法和裝置
- 一種JS代碼的測(cè)試方法、存儲(chǔ)介質(zhì)、設(shè)備和系統(tǒng)
- 一種JS代碼的測(cè)試方法、存儲(chǔ)介質(zhì)、設(shè)備和系統(tǒng)
- 分布式的JS文件篡改監(jiān)控方法、系統(tǒng)、設(shè)備及存儲(chǔ)介質(zhì)
- 在IOS應(yīng)用內(nèi)調(diào)用函數(shù)的方法及系統(tǒng)
- 一種可擴(kuò)展的游戲構(gòu)建方法、游戲運(yùn)行方法和存儲(chǔ)介質(zhì)
- 一種提高腳本的加載效率的方法及終端
- 一種應(yīng)用程序依賴(lài)的JS代碼與原生庫(kù)兼容的方法及終端
- JS代碼防重復(fù)注入方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 原生應(yīng)用調(diào)用JS的方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種基于UDP分布式小文件存儲(chǔ)系統(tǒng)及其數(shù)據(jù)處理方法
- 一種新型云計(jì)算管理系統(tǒng)
- 一種云計(jì)算管理裝置
- 一種節(jié)能數(shù)據(jù)服務(wù)器架構(gòu)系統(tǒng)
- 一種基于云計(jì)算的客戶信息管理裝置
- 一種基于即時(shí)通訊技術(shù)的通訊系統(tǒng)
- 服務(wù)器系統(tǒng)及分配服務(wù)器的方法
- 一種MMORPG游戲服務(wù)器端
- 一種訪問(wèn)請(qǐng)求的處理方法、服務(wù)器及存儲(chǔ)介質(zhì)
- 基于Spark技術(shù)的大數(shù)據(jù)脫敏管理系統(tǒng)





