[发明专利]一种基于node.js的服务器进程调度方法、系统和装置有效
申请号: | 201911409183.1 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111538585B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 方禺;王兴华;薛立俊;陈达健 | 申请(专利权)人: | 明度智云(浙江)科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 杭州合谱慧知识产权代理事务所(特殊普通合伙) 33290 | 代理人: | 张刚 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 node js 服务器 进程 调度 方法 系统 装置 | ||
本发明公开了一种基于node.js的服务器进程调度方法,包括:调度进程获取前端业务请求,根据对所挂载的多个逻辑进程的预设分配策略将所述业务请求选择分配至所挂载的第一逻辑进程中,其中所述调度进程为Node.js进程;所述第一逻辑进程根据接收的业务请求创建一业务实例,并将所述业务实例输入为其创建的多个线程中执行;当所述调度进程监听到第一逻辑进程执行出现异常离线时,重启第二逻辑进程以加载第一逻辑进程未完成信息。本发明通过将各业务合理分配至挂载的多个逻辑进程中,达到各处理业务的逻辑进程的负载均衡,有效加强了网络数据处理能力、提高网络的灵活性和可用性。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于node.js的服务器进程调度方法和系统。
背景技术
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,其本身并不支持多线程,但为了充分利用server的Multi-core,就必须使用多进程的方式,那么进程之间如何负载均衡就会是一个关键所在。例如现在的电子批记录软件,具有一个后台处理模块,用以处理软件业务中产生的一个个工作流实例,后台模块需要接受前台的业务指令,根据业务需求来生成,管理,操作,或关闭一条条工作流,但当前台业务需求量较大时,单实例后台模块的计算性能就将满足不了要求,导致软件不稳定和性能不足的问题。
发明内容
本发明针对现有技术中的不足,提供了一种基于node.js的服务器进程调度方法,包括:调度进程获取前端业务请求,根据对所挂载的多个逻辑进程的预设分配策略将所述业务请求选择分配至所挂载的第一逻辑进程中,其中所述调度进程为Node.js进程;所述第一逻辑进程根据接收的业务请求创建一业务实例,并将所述业务实例输入为其创建的多个线程中执行;当所述调度进程监听到第一逻辑进程执行出现异常离线时,重启第二逻辑进程以加载第一逻辑进程未完成信息。
优选的,所述步骤根据对所挂载的多个逻辑进程的预设分配策略将所述业务请求选择分配至所挂载的第一逻辑进程中,具体包括:将所述业务请求根据预设的随机分配策略或最小分配策略分配至所挂载的第一逻辑进程。
优选的,所述最小分配策略被配置为在分配前检测挂载的各逻辑进程的负载状态并分析其繁忙度,将所述业务请求发送至繁忙度最小的逻辑进程处理。
优选的,当所述业务实例状态发生改变或业务实例执行至预设节点时,备份所述业务实例的快照信息至实时数据库。
优选的,所述调度进程实时监控各逻辑进程的负载状态,并在监听到一逻辑进程出现异常离线时,重启第二逻辑进程以加载第一逻辑进程未完成信息。
本发明还公开了一种基于node.js的服务器进程调度系统,包括调度模块和逻辑模块,其中:调度模块,挂载有多个逻辑模块,所述调度模块用于获取前端业务请求,并根据对预设分配策略将所述业务请求选择分配至所挂载的第一逻辑模块中,所述调度模块被配置为在监听到第一逻辑模块执行出现异常离线时,重启第二逻辑模块以加载第一逻辑模块未完成信息,其中所述调度模块为Node模块;第一逻辑模块,根据接收的业务请求创建一业务实例,并将所述业务实例输入为其创建的多个线程中执行。
优选的,所述调度模块还被配置为将所述业务请求根据预设的随机分配策略或最小分配策略分配至所挂载的第一逻辑模块。
优选的,所述最小分配策略被配置为在分配前检测挂载的各逻辑模块的负载状态并分析其繁忙度,将所述业务请求发送至繁忙度最小的逻辑模块处理。
优选的,基于node.js的服务器进程调度系统还包括实时数据库,所述实时数据库被配置为当所述业务实例状态发生改变或业务实例执行至预设节点时备份所述业务实例的快照信息。
本发明还公开了一种基于node.js的服务器进程调度装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于明度智云(浙江)科技有限公司,未经明度智云(浙江)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911409183.1/2.html,转载请声明来源钻瓜专利网。