CN105868011A - 一种提高软件系统运行效率的方法及装置 - Google Patents

一种提高软件系统运行效率的方法及装置 Download PDF

Info

Publication number
CN105868011A
CN105868011A CN201610187468.5A CN201610187468A CN105868011A CN 105868011 A CN105868011 A CN 105868011A CN 201610187468 A CN201610187468 A CN 201610187468A CN 105868011 A CN105868011 A CN 105868011A
Authority
CN
China
Prior art keywords
module
system resource
server
depended
big
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610187468.5A
Other languages
English (en)
Inventor
杨涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Feixun Data Communication Technology Co Ltd
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201610187468.5A priority Critical patent/CN105868011A/zh
Publication of CN105868011A publication Critical patent/CN105868011A/zh
Priority to PCT/CN2016/103899 priority patent/WO2017166805A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

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

Description

一种提高软件系统运行效率的方法及装置
技术领域
本发明涉及提高软件系统运行效率技术领域,更具体地,涉及一种提高软件系统运行效率的方法及装置。
背景技术
在软件系统投入使用前期,由于系统处理的业务较少,占用的CPU及内存资源也较少。当后续由于业务数量的不断增加,大大增加了系统服务器运行的负荷,出现CPU利用率过高、内存资源占用过多等情况,导致系统运行缓慢。
解决上述问题的传统方案:在软件设计前期会对各个模块承担的业务需求进行一个评估,如果有的模块可能存在导致系统运行效率低下的瓶颈,会将该模块设计为一个单独的进程进行独立部署。这种方式灵活性不够,特别是在业务负荷不大的情况下,将某些模块独立部署为一个进程或者独立部署到一台服务器上是一种资源的浪费。同时用户对软件进程的管理也会比较复杂,开发成本较高。这种模式不能灵活的应对各类用户和各种业务需求调整部署方案。部署工作必须有维护人员在场,用户无法自行实施部署,增加了软件维护的复杂性。
发明内容
有鉴于此,本发明提出一种提高软件系统运行效率的方法,所述方法包括:
检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。
进一步地,在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,所述方法还包括:
所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。
进一步地,所述系统资源占用大模块与所述被依赖模块之间采用服务调用方式进行交互,具体包括:
所述系统资源占用大模块向所述被依赖模块发起服务调用时,查询系统模块部署配置文件;
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。
进一步地,所述系统资源占用大模块与所述被依赖模块之间采用消息订阅方式进行交互,具体包括:
所述系统资源占用大模块向所述被依赖模块发起消息订阅时,查询系统模块部署配置文件;
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者,
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。
进一步地,所述系统模块部署配置文件包括:
所述系统资源占用大模块所在第一服务器IP地址及进程端口、所述被依赖模块所在第二服务器IP地址及进程端口、所述本地消息服务器IP地址、所述远程消息服务器IP地址;
所述第一服务器为所述本地服务器;
所述第二服务器为所述本地服务器或所述远程服务器。
进一步地,在检测到本地服务器的负荷达到预设值之前,所述方法还包括:
将所述系统资源占用大模块与所述被依赖模块集成部署在所述本地服务器上;或者,
将所述系统资源占用大模块独立部署在所述本地服务器上,并将所述被依赖模块独立部署在所述远程服务器上。
本发明还提出一种提高软件系统运行效率的装置,所述装置包括:
检测模块,用于检测本地服务器的负荷;
第一部署模块,用于当所述检测模块检测到所述本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。
进一步地,所述装置还包括:
通信代理模块,用于在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,在所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。
进一步地,所述通信代理模块包括:
第一发起子模块,用于所述系统资源占用大模块向所述被依赖模块发起服务调用;
第一查询子模块,用于所述第一发起子模块发起服务调用时,查询系统模块部署配置文件;
第一确认子模块,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;
服务调用子模块,当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,
当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。
进一步地,所述通信代理模块包括:
第二发起子模块,用于所述系统资源占用大模块向所述被依赖模块发起消息订阅;
第二查询子模块,用于所述第二发起子模块发起消息订阅时,查询系统模块部署配置文件;
第二确认子模块,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;
消息订阅子模块,用于当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者,
当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。
进一步地,所述装置还包括:
第二部署模块,用于所述检测模块检测到本地服务器的负荷达到预设值之前,
将所述系统资源占用大模块与所述被依赖模块集成部署在所述本地服务器上;或者,
将所述系统资源占用大模块独立部署在所述本地服务器上,并将所述被依赖模块独立部署在所述远程服务器上。
本发明通过检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。如此,通过模块的迁移分担运行负荷,提高系统运行效率。且这种模块的迁移对用户层面是透明的,不影响系统提供的功能,根据系统运行的实际情况对模块进行调配,具有很强的灵活性。同时,这种自行部署,无需维护人员在场,维护方便快捷。相对于传统技术预先将某些模块部署为一个独立进程或部署到一台服务器上,本发明根据本地服务器的负荷灵活调配模块,使系统资源得到充分利用。
附图说明
图1为本发明提高软件系统运行效率的方法的一种实施例的流程图;
图2为本发明提高软件系统运行效率的方法的另一种实施例的流程图;
图3为本发明提高软件系统运行效率的方法中系统资源占用大模块与被依赖模块之间交互的方法的一种实施例的流程图;
图4为本发明提高软件系统运行效率的方法中系统资源占用大模块与被依赖模块之间交互的方法的另一种实施例的流程图;
图5为本发明提高软件系统运行效率的方法的另一种实施例的流程图;
图6为本发明提高软件系统运行效率的装置的一种实施例的结构图;
图7为本发明提高软件系统运行效率的装置的另一种实施例的结构图;
图8为本发明提高软件系统运行效率的装置中通信代理模块的一种实施例的结构图;
图9为本发明提高软件系统运行效率的装置中通信代理模块的另一种实施例的结构图;
图10为本发明提高软件系统运行效率的装置的另一种实施例的结构图;
图11为本发明提高软件系统运行效率的装置在系统应用中各模块集成部署的一种结构图;
图12为本发明提高软件系统运行效率的装置在系统应用中各模块独立部署的一种结构图。
具体实施方式
本发明技术方案通过检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。如此,灵活地提高软件系统运行效率。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图1为为本发明提高软件系统运行效率的方法的一种实施例的流程图,
具体流程如下:
步骤S101,检测到本地服务器的负荷达到预设值;
具体地,负荷的预设值可以是CPU的利用率、内存的占有率等。
步骤S102,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。
具体地,预先对系统各个模块进行清晰的模块划分,并确定系统资源占用大模块与被依赖模块之间的依赖关系。其中,系统资源占用大模块个数至少为一个,每个系统资源占用大模块的被依赖模块个数至少为一个。
其中,在步骤S102之后,本发明提高软件系统运行效率的方法还如附图2所示,具体步骤如下:
步骤S201,检测到本地服务器的负荷达到预设值;
具体地,如图1中的步骤S101;
步骤S202,将系统资源占用大模块作为独立进程部署到本地服务器或远程服务器上;
具体地,如图1中的步骤S102。
步骤S203,系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。
具体地,在系统资源占用大模块被部署在本地服务器或远程服务器,即对系统资源占用大模块的迁移,对用户而言依然为透明,不影响系统提供的功能,因此,迁移后的系统资源占用大模块与被依赖模块可按照预先设置的服务调用方式或消息订阅方式进行交互。
其中,步骤S203的具体方法见附图3所示,具体步骤包括:
步骤S301,系统资源占用大模块向被依赖模块发起服务调用时,查询系统模块部署配置文件;
具体地,预先设置有记录存储模块,用于记录并存储系统模块部署配置文件,以便后续查询;
其中,系统模块部署配置文件包括:系统资源占用大模块所在第一服务器IP地址及进程端口、所述被依赖模块所在第二服务器IP地址及进程端口、所述本地消息服务器IP地址及进程端口、所述远程消息服务器IP地址及进程端口;
其中,第一服务器为所述本地服务器;第二服务器为所述本地服务器或所述远程服务器。
步骤S302,根据查询结果确定系统资源占用大模块与被依赖模块为同一进程时,则系统资源占用大模块通过本地服务器完成对被依赖模块的服务调用;
具体地,通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一进程。
步骤S303,或者,根据查询结果确定系统资源占用大模块与被依赖模块为不同进程或不同服务器时,则系统资源占用大模块通过远程服务器完成对被依赖模块的服务调用。
具体地,通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一服务器的不同进程或者不同服务器。
其中,步骤S203的具体方法还可参见附图4所示,具体步骤包括:
步骤S401,系统资源占用大模块向被依赖模块发起消息订阅时,查询系统模块部署配置文件;
具体地,预先设置有记录存储模块,用于记录并存储系统模块部署配置文件,以便后续查询;
其中,系统模块部署配置文件包括:系统资源占用大模块所在第一服务器IP地址及进程端口、所述被依赖模块所在第二服务器IP地址及进程端口、所述本地消息服务器IP地址及进程端口、所述远程消息服务器IP地址及进程端口;
其中,第一服务器为所述本地服务器;第二服务器为所述本地服务器或所述远程服务器。
步骤S402,根据查询结果确定系统资源占用大模块与被依赖模块为同一进程时,则系统资源占用大模块通过本地消息服务器完成对被依赖模块的消息订阅;
具体地,通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一进程。
步骤S403,或者,根据查询结果确定系统资源占用大模块与被依赖模块为不同进程或不同服务器时,则系统资源占用大模块通过远程消息服务器完成对被依赖模块的服务调用消息订阅。
具体地,通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一服务器的不同进程或者不同服务器。
图5为本发明提高软件系统运行效率的方法的另一种实施例的流程图,即如步骤S503检测到本地服务器的负荷达到预设值之前,提高软件系统运行效率的处理方法,具体步骤如下:
步骤S501,将系统资源占用大模块与被依赖模块集成部署在本地服务器上;
步骤S502,将系统资源占用大模块独立部署在本地服务器上,并将被依赖模块独立部署的远程服务器上。
具体地,模块独立部署还是集成部署取决于各个模块运行任务承载的负荷,根据系统运行的实际情况进行调配,具有很强的灵活性。
图6为本发明提高软件系统运行效率的装置的一种实施例的结构图,提高运行效率装置600包括模块检测模块601和第一部署模块602,
检测模块601,用于检测本地服务器的负荷;
具体地,负荷的预设值可以是CPU的利用率、内存的占有率等。
602,用于当检测模块601检测到所述本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。
具体地,预先对系统各个模块进行清晰的模块划分,并确定系统资源占用大模块与被依赖模块之间的依赖关系。其中,系统资源占用大模块个数至少为一个,每个系统资源占用大模块的被依赖模块个数至少为一个。
图7为本发明提高软件系统运行效率的装置的另一种实施例的结构图,提高运行效率装置600包括检测模块601、第一部署模块602和通信代理模块603,其中检测模块601、第一部署模块602如图6所示,
通信代理模块603,用于在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,在所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。
具体地,在系统资源占用大模块被部署在本地服务器或远程服务器,即对系统资源占用大模块的迁移,对用户而言依然为透明,不影响系统提供的功能,因此,迁移后的系统资源占用大模块与被依赖模块可按照预先设置的服务调用方式或消息订阅方式进行交互。
其中,通信代理模块603一种实施例的具体结构如图8所示,通信代理模块603包括第一发起子模块60311、第一查询子模块60312、第一确认子模块60313和服务调用子模块60314,
第一发起子模块60311,用于系统资源占用大模块向被依赖模块发起服务调用;
第一查询子模块60312,用于所述第一发起子模块发起服务调用时,查询系统模块部署配置文件;
具体地,预先设置有记录存储模块(图未示),用于记录并存储系统模块部署配置文件,以便后续查询;
其中,系统模块部署配置文件包括:系统资源占用大模块所在第一服务器IP地址及进程端口、被依赖模块所在第二服务器IP地址及进程端口、本地消息服务器IP地址及进程端口、所述远程消息服务器IP地址及进程端口;
其中,第一服务器为本地服务器;第二服务器为本地服务器或远程服务器。
第一确认子模块60313,根据查询结果确认系统资源占用大模块与被依赖模块为同一进程;或者,
根据查询结果确认系统资源占用大模块与被依赖模块为不同进程或不同服务器;
具体地,由于通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一进程;
由于通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一服务器的不同进程或者不同服务器。
服务调用子模块60314,当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,
当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。
其中,通信代理模块603另一种实施例的具体结构如图9所示,通信代理模块603包括第二发起子模块60321、第二查询子模块60322、第二确认子模块60323和消息订阅子模块60324,
第二发起子模块60321,用于系统资源占用大模块向被依赖模块发起消息订阅;
第二查询子模块60322,用于第二发起子模块发起消息订阅时,查询系统模块部署配置文件;
具体地,预先设置有记录存储模块(图未示),用于记录并存储系统模块部署配置文件,以便后续查询;
其中,系统模块部署配置文件包括:系统资源占用大模块所在第一服务器IP地址及进程端口、被依赖模块所在第二服务器IP地址及进程端口、本地消息服务器IP地址及进程端口、远程消息服务器IP地址及进程端口;
其中,第一服务器为本地服务器;第二服务器为本地服务器或远程服务器。
第二确认子模块60323,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;
具体地,由于通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一进程;
由于通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一服务器的不同进程或者不同服务器。
消息订阅子模块60324,用于当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者,
当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。
图10为本发明提高软件系统运行效率的装置的另一种实施例的结构图,提高运行效率装置600包括检测模块601、第一部署模块602、通信代理模块603和第二部署模块604,
其中,检测模块601、第一部署模块602、通信代理模块603的结构如7所示,
第二部署模块604,用于所述检测模块检测到本地服务器的负荷达到预设值之前,
将系统资源占用大模块与被依赖模块集成部署在所述本地服务器上;
或者,
将系统资源占用大模块独立部署在本地服务器上,并将被依赖模块独立部署在远程服务器上。
具体地,模块独立部署还是集成部署取决于各个模块运行任务承载的负荷,根据系统运行的实际情况进行调配,具有很强的灵活性。
图11为本发明提高软件系统运行效率的装置在系统应用中各模块集成部署的一种结构图,图中集成部署包括:系统资源占用大模块1101、通信代理模块1102、第一被依赖模块1103、第二被依赖模块1104、记录存储模块1105和本地消息服务器1106和本地服务器1107;
系统资源占用大模块1101依赖于第一被依赖模块1103与第二被依赖模块1104;
当系统资源占用大模块1101向第一被依赖模块1103发起服务调用时,通信代理模块1102查询系统模块部署配置文件,发现这系统资源占用大模块1101和第一被依赖模块1103为同一本地服务器1107的同一进程,通信代理模块1102通过本地服务器1107返回给系统资源占用大模块1101,系统资源占用大模块1101利用该本地服务器1107完成对第一被依赖模块1103的服务调用;
当系统资源占用大模块1101向第二被依赖模块1104发起订阅消息时,通信代理模块1102查询系统模块部署配置文件,查询配置得知系统资源占用大模块1101和第二被依赖模块1104也为同一本地服务器1107的同一进程,则通信代理模块1102向本地消息服务器1106订阅本地消息,第二被依赖模块1104发送消息通过本地消息服务器1106经由通信代理模块1102转发给系统资源占用大模块1201。
其中,这里系统模块部署配置文件包括:系统资源占用大模块1101所在本地服务器1107的IP地址及进程端口、第一被依赖模块1103及第二被依赖模块1104分别所在本地服务器1107的IP地址及进程端口、本地消息服务器1106的IP地址及进程端口、远程消息服务器(图未示)的IP地址及进程端口。
图12为本发明提高软件系统运行效率的装置在系统应用中各模块独立部署的一种结构图,图中独立部署包括:系统资源占用大模块1201、通信代理模块1202、第一被依赖模块1203、第二被依赖模块1204、记录存储模块1205和远程消息服务器1206和远程服务器1207;
系统资源占用大模块1201依赖于第一被依赖模块1203与第二被依赖模块1204;
当系统资源占用大模块1201向第一被依赖模块1203发起服务调用时,通信代理模块1202查询系统模块部署配置文件,发现这系统资源占用大模块1201和第一被依赖模块1203为不同进程或远程服务器1207,通信代理模块1202通过远程服务器1207返回给系统资源占用大模块1201,系统资源占用大模块1201利用该远程服务器1207完成对第一被依赖模块1203的服务调用;
当系统资源占用大模块1201向第二被依赖模块1204发起订阅消息时,通信代理模块1202查询系统模块部署配置文件,查询配置得知系统资源占用大模块1201和第二被依赖模块1204为不同进程或远程服务器1207,则通信代理模块1102向远程消息服务器1206订阅消息,第二被依赖模块1204发送消息通过远程消息服务器1206经由通信代理模块1202转发给系统资源占用大模块1201。
其中,这里系统模块部署配置文件包括:系统资源占用大模块1201所在本地服务器(图未示)的IP地址及进程端口、第一被依赖模块1203及第二被依赖模块1204分别所在远程服务器1207的IP地址及进程端口、本地消息服务器(图未示)的IP地址及进程端口、远程消息服务器1206的IP地址及进程端口。
另外,如果需要将某些模块从集成部署环境中切换到独立部署环境,则只需要修改系统模块部署配置文件,修改系统各个模块的部署情况,重新启动服务器即可。
应当理解,本实施例提供的提高运行效率装置600的功能模块可以为软件模块或者软硬件结合的功能模块,其可以通过处理器执行而实现如上所述的功能。并且,提高运行效率装置600还可以具有其他功能模块来实现灵活地提高软件系统运行效率各个具体步骤,具体可以参阅以上方法实施例的相应描述。
另外,所属技术领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,并被通讯内部的处理器执行,前述的程序在被执行时处理器可以执行包括上述方法实施例的全部或者部分步骤。其中,所述处理器可以作为一个或多个处理器芯片实施,或者可以为一个或多个专用集成电路(Application Specific Integrated Circuit,ASIC)的一部分;而前述的存储介质可以包括但不限于以下类型的存储介质:闪存(Flash Memory)、存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (11)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610187468.5A CN105868011A (zh) 2016-03-29 2016-03-29 一种提高软件系统运行效率的方法及装置
PCT/CN2016/103899 WO2017166805A1 (zh) 2016-03-29 2016-10-29 一种提高软件系统运行效率的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610187468.5A CN105868011A (zh) 2016-03-29 2016-03-29 一种提高软件系统运行效率的方法及装置

Publications (1)

Publication Number Publication Date
CN105868011A true CN105868011A (zh) 2016-08-17

Family

ID=56625221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610187468.5A Pending CN105868011A (zh) 2016-03-29 2016-03-29 一种提高软件系统运行效率的方法及装置

Country Status (2)

Country Link
CN (1) CN105868011A (zh)
WO (1) WO2017166805A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166805A1 (zh) * 2016-03-29 2017-10-05 上海斐讯数据通信技术有限公司 一种提高软件系统运行效率的方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304366A (zh) * 2007-05-08 2008-11-12 华为技术有限公司 一种分组网络中实现负载均衡的方法、装置和系统
CN101571813A (zh) * 2009-01-04 2009-11-04 四川川大智胜软件股份有限公司 一种多机集群中主从调度方法
US20100257269A1 (en) * 2009-04-01 2010-10-07 Vmware, Inc. Method and System for Migrating Processes Between Virtual Machines
CN102546920A (zh) * 2011-01-04 2012-07-04 中国移动通信有限公司 一种运行进程的方法、系统及设备
CN103957246A (zh) * 2014-04-22 2014-07-30 广州杰赛科技股份有限公司 基于租户感知的动态负载均衡方法及系统
CN104679594A (zh) * 2015-03-19 2015-06-03 成都艺辰德迅科技有限公司 一种中间件分布式计算方法
CN104811459A (zh) * 2014-01-23 2015-07-29 阿里巴巴集团控股有限公司 用于消息服务的处理方法、装置及系统、消息服务系统
CN105260241A (zh) * 2015-10-23 2016-01-20 南京理工大学 集群系统中进程相互协作的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200771B2 (en) * 2008-10-10 2012-06-12 International Business Machines Corporation Workload migration using on demand remote paging
CN105868011A (zh) * 2016-03-29 2016-08-17 上海斐讯数据通信技术有限公司 一种提高软件系统运行效率的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304366A (zh) * 2007-05-08 2008-11-12 华为技术有限公司 一种分组网络中实现负载均衡的方法、装置和系统
CN101571813A (zh) * 2009-01-04 2009-11-04 四川川大智胜软件股份有限公司 一种多机集群中主从调度方法
US20100257269A1 (en) * 2009-04-01 2010-10-07 Vmware, Inc. Method and System for Migrating Processes Between Virtual Machines
CN102546920A (zh) * 2011-01-04 2012-07-04 中国移动通信有限公司 一种运行进程的方法、系统及设备
CN104811459A (zh) * 2014-01-23 2015-07-29 阿里巴巴集团控股有限公司 用于消息服务的处理方法、装置及系统、消息服务系统
CN103957246A (zh) * 2014-04-22 2014-07-30 广州杰赛科技股份有限公司 基于租户感知的动态负载均衡方法及系统
CN104679594A (zh) * 2015-03-19 2015-06-03 成都艺辰德迅科技有限公司 一种中间件分布式计算方法
CN105260241A (zh) * 2015-10-23 2016-01-20 南京理工大学 集群系统中进程相互协作的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166805A1 (zh) * 2016-03-29 2017-10-05 上海斐讯数据通信技术有限公司 一种提高软件系统运行效率的方法及装置

Also Published As

Publication number Publication date
WO2017166805A1 (zh) 2017-10-05

Similar Documents

Publication Publication Date Title
CN101305551B (zh) 用于通信系统中的分布式工作流的构造和执行的方法、系统、网络节点和设备
CN111163130B (zh) 一种网络服务系统及其数据传输方法
CN107515783A (zh) 基于应用容器集群工具的应用容器管控方法及装置
CN103888501A (zh) 虚拟机迁移方法和装置
CN103491134A (zh) 一种监控容器的方法、装置与代理服务系统
CN104793982A (zh) 一种创建虚拟机的方法和设备
CN111143031A (zh) 一种虚拟机的容量更改方法及装置
CN107547400B (zh) 一种虚拟机迁移方法和装置
CN104702534A (zh) 一种实现多进程共享端口的数据处理的方法及装置
US10637748B2 (en) Method and apparatus for establishing interface between VNFMS, and system
CN111835797A (zh) 一种数据处理方法、装置及设备
CN105868011A (zh) 一种提高软件系统运行效率的方法及装置
CN111510435B (zh) 一种网络安全策略迁移方法及装置
CN112596669A (zh) 一种基于分布式存储的数据处理方法及装置
CN1149795C (zh) 下一代网络业务和智能数据网路由器的高级业务体系结构
CN113821333A (zh) 安卓应用程序迁移的方法和装置
CN104144076B (zh) 一种流程错误控制方法、装置和系统
CN103051484A (zh) 会话业务处理方法、系统和会话边缘控制器
JP2007530353A (ja) 多数の制御デバイスを備えたバスシステムでの非コンパチビリティを認識する方法
CN108173892B (zh) 云端镜像操作方法和装置
CN104010353A (zh) 一种信息处理方法及电子设备
CN109479214B (zh) 一种负载均衡的方法及相关装置
CN111709255B (zh) 一种基于cen/xfs的读卡类复合模块的并发调用方法
CN114363211A (zh) 一种灾备系统网络的网络连通验证方法及相关设备
CN113535402A (zh) 基于5g mec的负载均衡处理方法、装置及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160817

WD01 Invention patent application deemed withdrawn after publication