一种提高软件系统运行效率的方法及装置制造方法及图纸

技术编号:13569632 阅读:61 留言:0更新日期:2016-08-21 12:01
本发明专利技术提出了一种提高软件系统运行效率的方法,所述方法包括:检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。本发明专利技术还提出了一种提高软件系统运行效率的装置。如此,通过模块迁移分担运行负荷,提高系统运行效率。且这种模块迁移对用户层面是透明的,不影响系统提供的功能,根据系统运行的实际情况对模块进行调配,具有很强的灵活性。同时,这种自行部署,无需维护人员在场,维护方便快捷。相对于传统技术预先将某些模块部署为一个独立进程或部署到一台服务器上,本发明专利技术根据本地服务器的负荷灵活调配模块,使系统资源得到充分利用。

【技术实现步骤摘要】

本专利技术涉及提高软件系统运行效率
,更具体地,涉及一种提高软件系统运行效率的方法及装置
技术介绍
在软件系统投入使用前期,由于系统处理的业务较少,占用的CPU及内存资源也较少。当后续由于业务数量的不断增加,大大增加了系统服务器运行的负荷,出现CPU利用率过高、内存资源占用过多等情况,导致系统运行缓慢。解决上述问题的传统方案:在软件设计前期会对各个模块承担的业务需求进行一个评估,如果有的模块可能存在导致系统运行效率低下的瓶颈,会将该模块设计为一个单独的进程进行独立部署。这种方式灵活性不够,特别是在业务负荷不大的情况下,将某些模块独立部署为一个进程或者独立部署到一台服务器上是一种资源的浪费。同时用户对软件进程的管理也会比较复杂,开发成本较高。这种模式不能灵活的应对各类用户和各种业务需求调整部署方案。部署工作必须有维护人员在场,用户无法自行实施部署,增加了软件维护的复杂性。
技术实现思路
有鉴于此,本专利技术提出一种提高软件系统运行效率的方法,所述方法包括:检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。进一步地,在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,所述方法还包括:所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。进一步地,所述系统资源占用大模块与所述被依赖模块之间采用服务调用方式进行交互,具体包括:所述系统资源占用大模块向所述被依赖模块发起服务调用时,查询系统模块部署配置文件;根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。进一步地,所述系统资源占用大模块与所述被依赖模块之间采用消息订阅方式进行交互,具体包括:所述系统资源占用大模块向所述被依赖模块发起消息订阅时,查询系统模块部署配置文件;根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。进一步地,所述系统模块部署配置文件包括:所述系统资源占用大模块所在第一服务器IP地址及进程端口、所述被依赖模块所在第二服务器IP地址及进程端口、所述本地消息服务器IP地址、所述远程消息服务器IP地址;所述第一服务器为所述本地服务器;所述第二服务器为所述本地服务器或所述远程服务器。进一步地,在检测到本地服务器的负荷达到预设值之前,所述方法还包括:将所述系统资源占用大模块与所述被依赖模块集成部署在所述本地服务器上;或者,将所述系统资源占用大模块独立部署在所述本地服务器上,并将所述被依赖模块独立部署在所述远程服务器上。本专利技术还提出一种提高软件系统运行效率的装置,所述装置包括:检测模块,用于检测本地服务器的负荷;第一部署模块,用于当所述检测模块检测到所述本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。进一步地,所述装置还包括:通信代理模块,用于在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,在所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。进一步地,所述通信代理模块包括:第一发起子模块,用于所述系统资源占用大模块向所述被依赖模块发起服务调用;第一查询子模块,用于所述第一发起子模块发起服务调用时,查询系统模块部署配置文件;第一确认子模块,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;服务调用子模块,当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。进一步地,所述通信代理模块包括:第二发起子模块,用于所述系统资源占用大模块向所述被依赖模块发起消息订阅;第二查询子模块,用于所述第二发起子模块发起消息订阅时,查询系统模块部署配置文件;第二确认子模块,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;消息订阅子模块,用于当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者,当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。进一步地,所述装置还包括:第二部署模块,用于所述检测模块检测到本地服务器的负荷达到预设值之前,将所述系统资源占用大模块与所述被依赖模块集成部署在所述本地服务器上;或者,将所述系统资源占用大模块独立部署在所述本地服务器上,并将所述被依赖模块独立部署在所述远程服务器上。本专利技术通过检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。如此,通过模块的迁移分担运行负荷,提高系统运行效率。且这种模块的迁移对用户层面是透明的,不影响系统提供的功能,根据系统运行的实际情况对模块进行调配,具有很强的灵活性。同时,这种自行部署,无需维护人员在场,维护方便快捷。相对于传统技术预先将某些模块部署为一个独立进程或部署到一台服务器上,本专利技术根据本地服务器的负荷灵活调配模块,使系统资源得到充分利用。附图说明图1为本专利技术提高软件系统运行效率的方法的一种实施例的流程图;图2为本专利技术提高软件系统运行效率的方法的另一种实施例的流程图;图3为本专利技术提高软件系统运行效率的方法中系统资源占用大模块与被依赖模块之间交互的方法的一种实施例的流程图;图4为本专利技术提高软件系统运行效率的方法中系统资源占用大模块与被依赖模块之间交互的方法的另一种实施例的流程图;图5为本专利技术提高软件系统运行效率的方法的另一种实施例的流程图;图6为本专利技术提高软件系统运行效率的装置的一种实施例的结构图;图7为本专利技术提高软件系统运行效率的装置的另一种实施例的结构图;图8为本专利技术提高软件系统运行效率的装置中通信代理模块的一种实施例的结构图;图9为本专利技术提高软件系统运行效率的装置中通信代理模块的另一种实施例的结构图;图10为本专利技术提高软件系统运行效率的装置的另一种实施例的结构图;图11为本专利技术提高软件系统运行效率的装置在系统应用中各模块集成部署的一种结构图;图12为本专利技术提高软件系统运本文档来自技高网...

【技术保护点】
一种提高软件系统运行效率的方法,其特征在于,所述方法包括:检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。

【技术特征摘要】
1.一种提高软件系统运行效率的方法,其特征在于,所述方法包括:检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。2.如权利要求1所述的方法,其特征在于,在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,所述方法还包括:所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。3.如权利要求2所述的方法,其特征在于,所述系统资源占用大模块与所述被依赖模块之间采用服务调用方式进行交互,具体包括:所述系统资源占用大模块向所述被依赖模块发起服务调用时,查询系统模块部署配置文件;根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。4.如权利要求2所述的方法,其特征在于,所述系统资源占用大模块与所述被依赖模块之间采用消息订阅方式进行交互,具体包括:所述系统资源占用大模块向所述被依赖模块发起消息订阅时,查询系统模块部署配置文件;根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。5.如权利要求3或4所述的方法,其特征在于,所述系统模块部署配置文件包括:所述系统资源占用大模块所在第一服务器IP地址及进程端口、所述被依赖模块所在第二服务器IP地址及进程端口、所述本地消息服务器IP地址、所述远程消息服务器IP地址;所述第一服务器为所述本地服务器;所述第二服务器为所述本地服务器或所述远程服务器。6.如权利要求2所述的方法,其特征在于,在检测到本地服务器的负荷达到预设值之前,所述方法还包括:将所述系统资源占用大模块与所述被依赖模块集成部署在所述本地服务器上;或者,将所述系统资源占用大模块独立部署在所述本地服务器上,并将所述被依赖模块独立部署在所述远程服务器上。7.一种提高软件系统运行效率的装置,其特征在于,所述装置包括:检测模块,用于检测本地服务器的负荷;第一部署模块,用于当所述检测模块检...

【专利技术属性】
技术研发人员:杨涛
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1