[go: up one dir, main page]

WO2017166805A1 - Method and device for improving operational efficiency of software system - Google Patents

Method and device for improving operational efficiency of software system Download PDF

Info

Publication number
WO2017166805A1
WO2017166805A1 PCT/CN2016/103899 CN2016103899W WO2017166805A1 WO 2017166805 A1 WO2017166805 A1 WO 2017166805A1 CN 2016103899 W CN2016103899 W CN 2016103899W WO 2017166805 A1 WO2017166805 A1 WO 2017166805A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
system resource
dependent
server
resource occupation
Prior art date
Application number
PCT/CN2016/103899
Other languages
French (fr)
Chinese (zh)
Inventor
杨涛
Original Assignee
上海斐讯数据通信技术有限公司
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 上海斐讯数据通信技术有限公司 filed Critical 上海斐讯数据通信技术有限公司
Publication of WO2017166805A1 publication Critical patent/WO2017166805A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

Definitions

  • the invention relates to the technical field of improving the operating efficiency of a software system, and more particularly to a method and device for improving the operating efficiency of a software system.
  • the present invention provides a method for improving the operating efficiency of a software system, the method comprising:
  • the system resource occupying large module is deployed as a separate process to the local server or the remote server.
  • the method further includes:
  • the system resource occupies a large module and the dependent module uses a service invocation mode or a message subscription mode to interact.
  • system resource occupation module interacts with the dependent module by using a service invocation manner, and specifically includes:
  • system resource occupation module If the system resource occupation module is the same process as the dependent module, the system resource occupation module completes the service call to the dependent module by using the local server; or
  • the system resource occupation large module and the dependent module are different processes or different servers according to the query result, the system resource occupation large module completes the service call to the dependent module by the remote server.
  • system resource occupation module interacts with the dependent module by using a message subscription manner, and specifically includes:
  • system resource occupation module sends a message subscription to the dependent module, querying the system module to deploy the configuration file
  • system resource occupation module If the system resource occupation module is the same process as the dependent module, the system resource occupation module completes the message subscription to the dependent module through the local message server; or
  • the system resource occupation module completes the message subscription to the dependent module through the remote message server.
  • system module deployment configuration file includes:
  • the system resource occupies a first server IP address and a process port where the large module is located, a second server IP address and a process port where the dependent module is located, the local message server IP address, and the remote message server IP address;
  • the first server is the local server
  • the second server is the local server or the remote server.
  • the method further includes:
  • the system resource occupying large module is independently deployed on the local server, and the dependent module is independently deployed on the remote server.
  • the invention also provides an apparatus for improving the operating efficiency of a software system, the apparatus comprising:
  • a detection module for detecting the load of the local server
  • the first deployment module is configured to deploy the system resource occupation large module as an independent process to the local server or the remote server when the detection module detects that the load of the local server reaches a preset value.
  • the device further includes:
  • a communication agent module configured to use a service invocation mode or a message subscription mode between the system resource occupying large module and the dependent module after the system resource occupation large module is deployed as an independent process to the local server or the remote server Interaction.
  • the communication proxy module includes:
  • a first initiating submodule configured by the system resource occupation module to initiate a service call to the dependent module
  • a first query submodule configured to query a system module to deploy a configuration file when the first initiating submodule initiates a service invocation
  • the first confirmation submodule confirms, according to the query result, that the system resource occupation large module is the same process as the dependent module;
  • the service invoking submodule when the first confirmation submodule confirms that the system resource occupies a large module and When the dependent module is the same process, the system resource occupies a large module to complete a service call to the dependent module by using the local server; or
  • the system resource occupation large module completes the dependent module by using the remote server. Service call.
  • the communication proxy module includes:
  • a second initiating submodule configured by the system resource occupation module to initiate a message subscription to the dependent module
  • a second query submodule configured to query a system module to deploy a configuration file when the second initiating submodule initiates a message subscription
  • a message sub-module configured to: when the second confirmation sub-module confirms that the system resource occupation large module is the same process as the dependent module, the system resource occupation large module completes the Subscribed by a message that depends on the module; or,
  • the system resource occupation large module completes the dependent module by using a remote message server. Message subscription.
  • the device further includes:
  • a second deployment module configured to: before the detecting module detects that the load of the local server reaches a preset value
  • the present invention When detecting that the load of the local server reaches a preset value, the present invention deploys the system resource occupying large module as an independent process to the local server or the remote server. In this way, the operation load is shared by the migration of modules, and the system operation efficiency is improved.
  • the migration of the module is transparent to the user level, does not affect the functions provided by the system, and is configured according to the actual situation of the system operation, and has strong flexibility. At the same time, this self-deployment eliminates the need for maintenance personnel to be present and is quick and easy to maintain. Compared with the traditional technology, some modules are deployed as a separate process or deployed to a server.
  • the present invention flexibly allocates modules according to the load of the local server, so that system resources are fully utilized.
  • FIG. 1 is a flow chart of an embodiment of a method for improving the operating efficiency of a software system according to the present invention
  • FIG. 2 is a flow chart of another embodiment of a method for improving the operating efficiency of a software system according to the present invention
  • FIG. 3 is a flowchart of an embodiment of a method for interacting between a system resource occupying large module and a dependent module in the method for improving the operating efficiency of the software system;
  • FIG. 4 is a flowchart of another embodiment of a method for interacting between a system resource occupying large module and a dependent module in the method for improving the operating efficiency of the software system according to the present invention
  • FIG. 5 is a flow chart of another embodiment of a method for improving the operating efficiency of a software system according to the present invention.
  • FIG. 6 is a structural diagram of an embodiment of an apparatus for improving operating efficiency of a software system according to the present invention.
  • FIG. 7 is a structural diagram of another embodiment of an apparatus for improving operating efficiency of a software system according to the present invention.
  • FIG. 8 is a structural diagram of an embodiment of a communication proxy module in an apparatus for improving operating efficiency of a software system according to the present invention.
  • FIG. 9 is a structural diagram of another embodiment of a communication proxy module in an apparatus for improving operating efficiency of a software system according to the present invention.
  • FIG. 10 is a structural diagram of another embodiment of an apparatus for improving operating efficiency of a software system according to the present invention.
  • FIG. 11 is a structural diagram of integrated deployment of modules in a system application for improving the operating efficiency of a software system according to the present invention
  • FIG. 12 is a structural diagram of the independent deployment of each module in the system application of the device for improving the operating efficiency of the software system of the present invention.
  • the technical solution of the system resource occupation is deployed as an independent process to the local server or the remote server. In this way, the efficiency of the software system can be flexibly improved.
  • FIG. 1 is a flow chart of an embodiment of a method for improving the operating efficiency of a software system according to the present invention. The specific process is as follows:
  • Step S101 detecting that the load of the local server reaches a preset value
  • the preset value of the load may be a utilization rate of the CPU, an occupancy rate of the memory, or the like.
  • step S102 the system resource occupation large module is deployed as an independent process to the local server or the remote server.
  • clear module division is performed on each module of the system in advance, and it is determined that the system resource occupies a dependency relationship between the large module and the dependent module.
  • the system resource occupies at least one large number of modules, and each system resource occupies at least one dependent module of a large module.
  • step S102 the method for improving the operating efficiency of the software system of the present invention is also shown in FIG. 2, and the specific steps are as follows:
  • Step S201 detecting that the load of the local server reaches a preset value
  • step S101 in FIG. 1 As shown in step S101 in FIG. 1;
  • Step S202 deploying the system resource occupying large module as an independent process to the local server or the remote server;
  • step S203 the system resource occupation large module interacts with the dependent module by using a service invocation mode or a message subscription mode.
  • the system resource occupies a large module that is deployed on the local server or the remote server, that is, the migration of the system resource consuming large module is still transparent to the user, and does not affect the functions provided by the system. Therefore, the system resources after the migration
  • the occupied large module and the dependent module can interact according to a preset service calling manner or a message subscription manner.
  • step S203 The specific method of step S203 is shown in FIG. 3, and the specific steps include:
  • Step S301 when the system resource occupation large module initiates a service call to the dependent module, querying the system module to deploy the configuration file;
  • a record storage module is configured in advance for recording and storing the system module deployment configuration file for subsequent query
  • the system module deployment configuration file includes: a first resource IP address and a process port where the system resource occupies a large module, a second server IP address and a process port where the dependent module is located, the local message server IP address, and a process port, The remote message server IP address and process port;
  • the first server is the local server; the second server is the local server or the remote server.
  • Step S302 determining, according to the query result, that the system resource occupying large module and the dependent module are the same process, the system resource occupying large module completes the service call to the dependent module by using the local server;
  • the server resource occupying the large module and the server IP address and the process port where the dependent module is located respectively can be obtained, so that it can be clearly determined whether the system resource occupies the large module and the dependent module is the same process.
  • Step S303 or determining, according to the query result, that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation large module completes the service call to the dependent module through the remote server.
  • the server resource occupies the large module and the server IP address and the process port where the dependent module is located, respectively, so that it is possible to clearly determine whether the system resource occupies a large module and the dependent module is the same server. Process or different server.
  • step S203 can also be seen in FIG. 4, and the specific steps include:
  • Step S401 when the system resource occupation large module initiates a message subscription to the dependent module, query the system module to deploy the configuration file;
  • a record storage module is configured in advance for recording and storing the system module deployment configuration file for subsequent query
  • the system module deployment configuration file includes: a first resource IP address and a process port where the system resource occupies a large module, a second server IP address and a process port where the dependent module is located, the local message server IP address, and a process port, The remote message server IP address and process port;
  • the first server is the local server; the second server is the local server or the remote server.
  • Step S402 determining, according to the query result, that the system resource occupation large module and the dependent module are the same process, the system resource occupation large module completes the message subscription to the dependent module through the local message server;
  • the server resource occupying the large module and the server IP address and the process port where the dependent module is located respectively can be obtained, so that it can be clearly determined whether the system resource occupies the large module and the dependent module is the same process.
  • Step S403 or determining, according to the query result, that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation large module completes the service call message subscription of the dependent module through the remote message server.
  • the server resource occupies the large module and the server IP address and the process port where the dependent module is located, respectively, so that it is possible to clearly determine whether the system resource occupies a large module and the dependent module is the same server. Process or different server.
  • FIG. 5 is a flowchart of another embodiment of a method for improving the operating efficiency of a software system according to the present invention, that is, a method for improving the operating efficiency of a software system before detecting that the load of the local server reaches a preset value in step S503, and the specific steps are as follows: :
  • Step S501 the system resource occupying large module and the dependent module are integrated and deployed on the local server;
  • Step S502 the system resource occupation large module is independently deployed on the local server, and will be independently deployed on the remote server by the dependent module.
  • the module is deployed independently or integrated depends on the load carried by each module running task, and is deployed according to the actual situation of the system operation, and has strong flexibility.
  • FIG. 6 is a structural diagram of an embodiment of an apparatus for improving the operating efficiency of a software system according to the present invention.
  • the improved operating efficiency apparatus 600 includes a module detecting module 601 and a first deployment module 602.
  • a detecting module 601, configured to detect a load of the local server
  • the preset value of the load may be a utilization rate of the CPU, an occupancy rate of the memory, or the like.
  • the detection module 601 When the detection module 601 detects that the load of the local server reaches a preset value, deploy the system resource occupation large module as an independent process to the local server or the remote server.
  • clear module division is performed on each module of the system in advance, and it is determined that the system resource occupies a dependency relationship between the large module and the dependent module.
  • the system resource occupies at least one large number of modules, and each system resource occupies at least one dependent module of a large module.
  • FIG. 7 is a structural diagram of another embodiment of an apparatus for improving the operating efficiency of a software system according to the present invention.
  • the operating efficiency improvement apparatus 600 includes a detection module 601, a first deployment module 602, and a communication proxy module 603, wherein the detection module 601, the first The deployment module 602 is shown in Figure 6.
  • the communication proxy module 603 is configured to adopt a service calling manner or a message subscription manner between the system resource occupying large module and the dependent module after the system resource occupying large module is deployed as an independent process to the local server or the remote server. Interact.
  • the system resource occupies a large module that is deployed on the local server or the remote server, that is, the migration of the system resource consuming large module is still transparent to the user, and does not affect the functions provided by the system. Therefore, the system resources after the migration
  • the occupied large module and the dependent module can interact according to a preset service calling manner or a message subscription manner.
  • the specific structure of an embodiment of the communication proxy module 603 is as shown in FIG. 8.
  • the communication proxy module 603 includes a first initiation submodule 60311, a first query submodule 60312, a first confirmation submodule 60313, and a service invocation submodule 60314. ,
  • the first initiating submodule 60311 is configured to: the system resource occupation large module initiates a service call to the dependent module;
  • the first query sub-module 60312 is configured to query the system module to deploy a configuration file when the first initiating sub-module initiates a service call;
  • a record storage module (not shown) is configured in advance for recording and storing the system module deployment configuration file for subsequent query;
  • the system module deployment configuration file includes: the first server IP address and process port where the system resource occupies a large module, the second server IP address and process port where the dependent module is located, the local message server IP address and the process port, and the remote message. Server IP address and process port;
  • the first server is a local server; the second server is a local server or a remote server.
  • the first confirmation sub-module 60313 confirms that the system resource occupation large module is the same process as the dependent module according to the query result;
  • the system resource occupies a large module and the dependent module is a different process or a different server;
  • the configuration file of the query system module can respectively obtain the IP address and the process port of the server that the system resource occupies the large module and the dependent module, it can be clearly determined whether the system resource occupies the large module and the dependent module is the same process;
  • the configuration file of the query system module can respectively obtain the IP address and the process port of the server where the system resource occupies the large module and the dependent module, it is possible to clearly determine whether the system resource occupies different processes of whether the large module and the dependent module are the same server or Different servers.
  • the system resource occupation large module completes the dependent module by using the remote server. Service call.
  • the specific structure of another embodiment of the communication proxy module 603 is as shown in FIG. 9.
  • the communication proxy module 603 includes a second initiation submodule 60321, a second query submodule 60322, a second confirmation submodule 60323, and a message subscription submodule. 60324,
  • the second initiating sub-module 60321 is configured to: the system resource occupation large module initiates a message subscription to the dependent module;
  • the second query sub-module 60322 is configured to query the system module to deploy the configuration file when the second initiating sub-module initiates the message subscription;
  • a record storage module (not shown) is configured in advance for recording and storing the system module deployment configuration file for subsequent query;
  • the system module deployment configuration file includes: the first server IP address and process port where the system resource occupies a large module, the second server IP address and process port where the dependent module is located, the local message server IP address and the process port, and the remote message server IP. Address and process port;
  • the first server is a local server; the second server is a local server or a remote server.
  • the second confirmation sub-module 60323 confirms that the system resource occupation large module is the same process as the dependent module according to the query result;
  • the configuration file of the query system module can respectively obtain the IP address and the process port of the server that the system resource occupies the large module and the dependent module, it can be clearly determined whether the system resource occupies the large module and the dependent module is the same process;
  • the configuration file of the query system module can respectively obtain the IP address and the process port of the server where the system resource occupies the large module and the dependent module, it is possible to clearly determine whether the system resource occupies different processes of whether the large module and the dependent module are the same server or Different servers.
  • a message sub-module 60324 configured to: when the second acknowledgment sub-module confirms that the system resource occupies a large module and the Dependent module are the same process, the system resource occupies a large module to complete the a message subscription that is dependent on the module; or,
  • the system resource occupation large module completes the dependent module by using a remote message server. Message subscription.
  • the apparatus for improving operational efficiency 600 includes a detection module 601, a first deployment module 602, a communication proxy module 603, and a second deployment module 604.
  • the structure of the detection module 601, the first deployment module 602, and the communication proxy module 603 is as shown in FIG.
  • a second deployment module 604 configured to: before the detecting module detects that the load of the local server reaches a preset value,
  • the module is deployed independently or integrated depends on the load carried by each module running task, and is deployed according to the actual situation of the system operation, and has strong flexibility.
  • FIG. 11 is a structural diagram of integrated deployment of modules in a system application of an apparatus for improving operating efficiency of a software system according to the present invention.
  • the integrated deployment in the figure includes: a system resource occupation large module 1101, a communication proxy module 1102, and a first dependent module 1103. a second dependent module 1104, a record storage module 1105 and a local message server 1106 and a local server 1107;
  • the system resource occupancy module 1101 is dependent on the first dependent module 1103 and the second dependent module 1104;
  • the communication agent module 1102 queries the system module deployment configuration file, and finds that the system resource occupation module 1101 and the first dependent module 1103 are the same local server 1107. The same process, the communication proxy module 1102 returns to the system resource occupation large module 1101 through the local server 1107, and the system resource occupies a large module. 1101 using the local server 1107 to complete a service call to the first dependent module 1103;
  • the communication proxy module 1102 queries the system module deployment configuration file, and the query configuration knows that the system resource occupancy module 1101 and the second dependent module 1104 are also the same.
  • the communication proxy module 1102 subscribes to the local message server 1106 for local messages, and the second dependent module 1104 sends the message to the system resource occupant module 1201 via the communication proxy module 1102 via the local message server 1106.
  • the system module deployment configuration file includes: an IP address and a process port of the local server 1107 where the system resource occupies the large module 1101, an IP address and a process of the local server 1107 where the first dependent module 1103 and the second dependent module 1104 are respectively located.
  • FIG. 12 is a structural diagram of the independent deployment of each module in the system application of the device for improving the operating efficiency of the software system according to the present invention.
  • the independent deployment in the figure includes: a system resource occupation large module 1201, a communication proxy module 1202, and a first dependent module 1203. a second dependent module 1204, a record storage module 1205 and a remote message server 1206 and a remote server 1207;
  • the system resource occupation module 1201 depends on the first dependent module 1203 and the second dependent module 1204;
  • the communication agent module 1202 queries the system module deployment configuration file, and finds that the system resource occupation large module 1201 and the first dependent module 1203 are different processes or remote.
  • the server 1207, the communication proxy module 1202 returns to the system resource occupation module 1201 through the remote server 1207, and the system resource occupation module 1201 uses the remote server 1207 to complete the service call to the first dependent module 1203.
  • the communication agent module 1202 queries the system module deployment configuration file, and the query configuration knows that the system resource occupation module 1201 and the second dependent module 1204 are different processes. Or the remote server 1207, the communication proxy module 1102 subscribes to the message to the remote message server 1206, and the second dependent module 1204 sends the message through. The remote message server 1206 forwards to the system resource occupancy module 1201 via the communication agent module 1202.
  • the system module deployment configuration file includes: the IP address and the process port of the local server (not shown) where the system resource occupies the large module 1201, the first dependent module 1203, and the second dependent module 1204 are respectively located on the remote server 1207.
  • the functional modules of the operational efficiency improving apparatus 600 may be software modules or functional modules combined with software and hardware, which may be implemented by a processor to implement the functions as described above. Moreover, the operation efficiency improvement apparatus 600 may further have other functional modules to implement various specific steps for flexibly improving the operating efficiency of the software system. For details, refer to the corresponding description of the foregoing method embodiments.
  • the processor executes, and when the aforementioned program is executed, the processor can execute all or part of the steps including the above method embodiments.
  • the processor may be implemented as one or more processor chips, or may be part of one or more application specific integrated circuits (ASICs); and the foregoing storage medium may include but not be limited to the following types. Storage medium: Flash memory, Read-Only Memory (ROM), Random Access Memory (RAM), removable hard disk, disk or optical disk, and other media that can store program code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present invention provides a method for improving operational efficiency of a software system. The method comprises: upon detecting that a load of a local server reaches a predetermined value, deploying, to the local server or a remote server, a module occupying a large amount of system resources as an independent process. The present invention further provides a device for improving operational efficiency of a software system. In this way, the present invention improves, by means of transferring a module to share loading, operational efficiency of a system. In addition, the transferring of a module is transparent for user-facing layers, and thus does not affect functions provided by the system, and great flexibility is provided since modules are arranged according to an actual condition of system operation. Furthermore, the deployment is autonomous and does not require involvement of maintenance personnel, thus being convenient and efficient. Compared to the prior art in which some modules are deployed as an independent process or deployed to one server in advance, the present invention enables flexible arrangement of modules according to a load of a local server, thus fully utilizing system resources.

Description

一种提高软件系统运行效率的方法及装置Method and device for improving operating efficiency of software system 技术领域Technical field
本发明涉及提高软件系统运行效率技术领域,更具体地,涉及一种提高软件系统运行效率的方法及装置。The invention relates to the technical field of improving the operating efficiency of a software system, and more particularly to a method and device for improving the operating efficiency of a software system.
背景技术Background technique
在软件系统投入使用前期,由于系统处理的业务较少,占用的CPU及内存资源也较少。当后续由于业务数量的不断增加,大大增加了系统服务器运行的负荷,出现CPU利用率过高、内存资源占用过多等情况,导致系统运行缓慢。In the early stage of the software system being put into use, the system handles less business and consumes less CPU and memory resources. When the number of services continues to increase, the load on the system server is greatly increased, and the CPU utilization is too high and the memory resources are occupied too much. This causes the system to run slowly.
解决上述问题的传统方案:在软件设计前期会对各个模块承担的业务需求进行一个评估,如果有的模块可能存在导致系统运行效率低下的瓶颈,会将该模块设计为一个单独的进程进行独立部署。这种方式灵活性不够,特别是在业务负荷不大的情况下,将某些模块独立部署为一个进程或者独立部署到一台服务器上是一种资源的浪费。同时用户对软件进程的管理也会比较复杂,开发成本较高。这种模式不能灵活的应对各类用户和各种业务需求调整部署方案。部署工作必须有维护人员在场,用户无法自行实施部署,增加了软件维护的复杂性。The traditional solution to the above problem: an evaluation of the business requirements of each module in the early stage of software design. If some modules may have bottlenecks that cause the system to run inefficiently, the module will be designed as a separate process for independent deployment. . This method is not flexible enough, especially when the business load is not large, it is a waste of resources to deploy some modules independently as one process or independently to one server. At the same time, the management of the software process by the user will be more complicated and the development cost is higher. This model cannot flexibly respond to various user and various business needs to adjust deployment plans. The deployment work must have the presence of maintenance personnel, and users cannot implement the deployment themselves, which increases the complexity of software maintenance.
发明内容Summary of the invention
有鉴于此,本发明提出一种提高软件系统运行效率的方法,所述方法包括:In view of this, the present invention provides a method for improving the operating efficiency of a software system, the method comprising:
检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。When it is detected that the load of the local server reaches a preset value, the system resource occupying large module is deployed as a separate process to the local server or the remote server.
进一步地,在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,所述方法还包括: Further, after the system resource occupation module is deployed as an independent process to the local server or the remote server, the method further includes:
所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。The system resource occupies a large module and the dependent module uses a service invocation mode or a message subscription mode to interact.
进一步地,所述系统资源占用大模块与所述被依赖模块之间采用服务调用方式进行交互,具体包括:Further, the system resource occupation module interacts with the dependent module by using a service invocation manner, and specifically includes:
所述系统资源占用大模块向所述被依赖模块发起服务调用时,查询系统模块部署配置文件;When the system resource occupation large module initiates a service call to the dependent module, querying the system module to deploy the configuration file;
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,If the system resource occupation module is the same process as the dependent module, the system resource occupation module completes the service call to the dependent module by using the local server; or
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。When the system resource occupation large module and the dependent module are different processes or different servers according to the query result, the system resource occupation large module completes the service call to the dependent module by the remote server.
进一步地,所述系统资源占用大模块与所述被依赖模块之间采用消息订阅方式进行交互,具体包括:Further, the system resource occupation module interacts with the dependent module by using a message subscription manner, and specifically includes:
所述系统资源占用大模块向所述被依赖模块发起消息订阅时,查询系统模块部署配置文件;When the system resource occupation module sends a message subscription to the dependent module, querying the system module to deploy the configuration file;
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者,If the system resource occupation module is the same process as the dependent module, the system resource occupation module completes the message subscription to the dependent module through the local message server; or
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。When the system resource occupation module and the dependent module are different processes or different servers, the system resource occupation module completes the message subscription to the dependent module through the remote message server.
进一步地,所述系统模块部署配置文件包括:Further, the system module deployment configuration file includes:
所述系统资源占用大模块所在第一服务器IP地址及进程端口、所述被依赖模块所在第二服务器IP地址及进程端口、所述本地消息服务器IP地址、所述远程消息服务器IP地址; The system resource occupies a first server IP address and a process port where the large module is located, a second server IP address and a process port where the dependent module is located, the local message server IP address, and the remote message server IP address;
所述第一服务器为所述本地服务器;The first server is the local server;
所述第二服务器为所述本地服务器或所述远程服务器。The second server is the local server or the remote server.
进一步地,在检测到本地服务器的负荷达到预设值之前,所述方法还包括:Further, before detecting that the load of the local server reaches a preset value, the method further includes:
将所述系统资源占用大模块与所述被依赖模块集成部署在所述本地服务器上;或者,Deploying the system resource occupation large module and the dependent module on the local server; or
将所述系统资源占用大模块独立部署在所述本地服务器上,并将所述被依赖模块独立部署在所述远程服务器上。The system resource occupying large module is independently deployed on the local server, and the dependent module is independently deployed on the remote server.
本发明还提出一种提高软件系统运行效率的装置,所述装置包括:The invention also provides an apparatus for improving the operating efficiency of a software system, the apparatus comprising:
检测模块,用于检测本地服务器的负荷;a detection module for detecting the load of the local server;
第一部署模块,用于当所述检测模块检测到所述本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。The first deployment module is configured to deploy the system resource occupation large module as an independent process to the local server or the remote server when the detection module detects that the load of the local server reaches a preset value.
进一步地,所述装置还包括:Further, the device further includes:
通信代理模块,用于在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,在所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。a communication agent module, configured to use a service invocation mode or a message subscription mode between the system resource occupying large module and the dependent module after the system resource occupation large module is deployed as an independent process to the local server or the remote server Interaction.
进一步地,所述通信代理模块包括:Further, the communication proxy module includes:
第一发起子模块,用于所述系统资源占用大模块向所述被依赖模块发起服务调用;a first initiating submodule, configured by the system resource occupation module to initiate a service call to the dependent module;
第一查询子模块,用于所述第一发起子模块发起服务调用时,查询系统模块部署配置文件;a first query submodule, configured to query a system module to deploy a configuration file when the first initiating submodule initiates a service invocation;
第一确认子模块,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,The first confirmation submodule confirms, according to the query result, that the system resource occupation large module is the same process as the dependent module; or
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;Determining, according to the query result, that the system resource occupation large module and the dependent module are different processes or different servers;
服务调用子模块,当所述第一确认子模块确认所述系统资源占用大模块与 所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,The service invoking submodule, when the first confirmation submodule confirms that the system resource occupies a large module and When the dependent module is the same process, the system resource occupies a large module to complete a service call to the dependent module by using the local server; or
当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。When the first confirmation sub-module confirms that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation large module completes the dependent module by using the remote server. Service call.
进一步地,所述通信代理模块包括:Further, the communication proxy module includes:
第二发起子模块,用于所述系统资源占用大模块向所述被依赖模块发起消息订阅;a second initiating submodule, configured by the system resource occupation module to initiate a message subscription to the dependent module;
第二查询子模块,用于所述第二发起子模块发起消息订阅时,查询系统模块部署配置文件;a second query submodule, configured to query a system module to deploy a configuration file when the second initiating submodule initiates a message subscription;
第二确认子模块,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,a second confirmation sub-module, according to the query result, confirming that the system resource occupation large module is the same process as the dependent module; or
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;Determining, according to the query result, that the system resource occupation large module and the dependent module are different processes or different servers;
消息订阅子模块,用于当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者,a message sub-module, configured to: when the second confirmation sub-module confirms that the system resource occupation large module is the same process as the dependent module, the system resource occupation large module completes the Subscribed by a message that depends on the module; or,
当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。When the second confirmation sub-module confirms that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation large module completes the dependent module by using a remote message server. Message subscription.
进一步地,所述装置还包括:Further, the device further includes:
第二部署模块,用于所述检测模块检测到本地服务器的负荷达到预设值之前,a second deployment module, configured to: before the detecting module detects that the load of the local server reaches a preset value,
将所述系统资源占用大模块与所述被依赖模块集成部署在所述本地服务器上;或者,Deploying the system resource occupation large module and the dependent module on the local server; or
将所述系统资源占用大模块独立部署在所述本地服务器上,并将所述被依 赖模块独立部署在所述远程服务器上。Deploying the system resource occupying large module independently on the local server, and The module is deployed independently on the remote server.
本发明通过检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。如此,通过模块的迁移分担运行负荷,提高系统运行效率。且这种模块的迁移对用户层面是透明的,不影响系统提供的功能,根据系统运行的实际情况对模块进行调配,具有很强的灵活性。同时,这种自行部署,无需维护人员在场,维护方便快捷。相对于传统技术预先将某些模块部署为一个独立进程或部署到一台服务器上,本发明根据本地服务器的负荷灵活调配模块,使系统资源得到充分利用。When detecting that the load of the local server reaches a preset value, the present invention deploys the system resource occupying large module as an independent process to the local server or the remote server. In this way, the operation load is shared by the migration of modules, and the system operation efficiency is improved. The migration of the module is transparent to the user level, does not affect the functions provided by the system, and is configured according to the actual situation of the system operation, and has strong flexibility. At the same time, this self-deployment eliminates the need for maintenance personnel to be present and is quick and easy to maintain. Compared with the traditional technology, some modules are deployed as a separate process or deployed to a server. The present invention flexibly allocates modules according to the load of the local server, so that system resources are fully utilized.
附图说明DRAWINGS
图1为本发明提高软件系统运行效率的方法的一种实施例的流程图;1 is a flow chart of an embodiment of a method for improving the operating efficiency of a software system according to the present invention;
图2为本发明提高软件系统运行效率的方法的另一种实施例的流程图;2 is a flow chart of another embodiment of a method for improving the operating efficiency of a software system according to the present invention;
图3为本发明提高软件系统运行效率的方法中系统资源占用大模块与被依赖模块之间交互的方法的一种实施例的流程图;FIG. 3 is a flowchart of an embodiment of a method for interacting between a system resource occupying large module and a dependent module in the method for improving the operating efficiency of the software system;
图4为本发明提高软件系统运行效率的方法中系统资源占用大模块与被依赖模块之间交互的方法的另一种实施例的流程图;4 is a flowchart of another embodiment of a method for interacting between a system resource occupying large module and a dependent module in the method for improving the operating efficiency of the software system according to the present invention;
图5为本发明提高软件系统运行效率的方法的另一种实施例的流程图;5 is a flow chart of another embodiment of a method for improving the operating efficiency of a software system according to the present invention;
图6为本发明提高软件系统运行效率的装置的一种实施例的结构图;6 is a structural diagram of an embodiment of an apparatus for improving operating efficiency of a software system according to the present invention;
图7为本发明提高软件系统运行效率的装置的另一种实施例的结构图;7 is a structural diagram of another embodiment of an apparatus for improving operating efficiency of a software system according to the present invention;
图8为本发明提高软件系统运行效率的装置中通信代理模块的一种实施例的结构图;8 is a structural diagram of an embodiment of a communication proxy module in an apparatus for improving operating efficiency of a software system according to the present invention;
图9为本发明提高软件系统运行效率的装置中通信代理模块的另一种实施例的结构图;9 is a structural diagram of another embodiment of a communication proxy module in an apparatus for improving operating efficiency of a software system according to the present invention;
图10为本发明提高软件系统运行效率的装置的另一种实施例的结构图;10 is a structural diagram of another embodiment of an apparatus for improving operating efficiency of a software system according to the present invention;
图11为本发明提高软件系统运行效率的装置在系统应用中各模块集成部署的一种结构图; 11 is a structural diagram of integrated deployment of modules in a system application for improving the operating efficiency of a software system according to the present invention;
图12为本发明提高软件系统运行效率的装置在系统应用中各模块独立部署的一种结构图。FIG. 12 is a structural diagram of the independent deployment of each module in the system application of the device for improving the operating efficiency of the software system of the present invention.
具体实施方式detailed description
本发明技术方案通过检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。如此,灵活地提高软件系统运行效率。When detecting that the load of the local server reaches a preset value, the technical solution of the system resource occupation is deployed as an independent process to the local server or the remote server. In this way, the efficiency of the software system can be flexibly improved.
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。The present invention will be further described in detail below with reference to the accompanying drawings.
图1为为本发明提高软件系统运行效率的方法的一种实施例的流程图,具体流程如下:1 is a flow chart of an embodiment of a method for improving the operating efficiency of a software system according to the present invention. The specific process is as follows:
步骤S101,检测到本地服务器的负荷达到预设值;Step S101, detecting that the load of the local server reaches a preset value;
具体地,负荷的预设值可以是CPU的利用率、内存的占有率等。Specifically, the preset value of the load may be a utilization rate of the CPU, an occupancy rate of the memory, or the like.
步骤S102,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。In step S102, the system resource occupation large module is deployed as an independent process to the local server or the remote server.
具体地,预先对系统各个模块进行清晰的模块划分,并确定系统资源占用大模块与被依赖模块之间的依赖关系。其中,系统资源占用大模块个数至少为一个,每个系统资源占用大模块的被依赖模块个数至少为一个。Specifically, clear module division is performed on each module of the system in advance, and it is determined that the system resource occupies a dependency relationship between the large module and the dependent module. The system resource occupies at least one large number of modules, and each system resource occupies at least one dependent module of a large module.
其中,在步骤S102之后,本发明提高软件系统运行效率的方法还如附图2所示,具体步骤如下:After the step S102, the method for improving the operating efficiency of the software system of the present invention is also shown in FIG. 2, and the specific steps are as follows:
步骤S201,检测到本地服务器的负荷达到预设值;Step S201, detecting that the load of the local server reaches a preset value;
具体地,如图1中的步骤S101;Specifically, as shown in step S101 in FIG. 1;
步骤S202,将系统资源占用大模块作为独立进程部署到本地服务器或远程服务器上;Step S202, deploying the system resource occupying large module as an independent process to the local server or the remote server;
具体地,如图1中的步骤S102。Specifically, it is as shown in step S102 in FIG.
步骤S203,系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。 In step S203, the system resource occupation large module interacts with the dependent module by using a service invocation mode or a message subscription mode.
具体地,在系统资源占用大模块被部署在本地服务器或远程服务器,即对系统资源占用大模块的迁移,对用户而言依然为透明,不影响系统提供的功能,因此,迁移后的系统资源占用大模块与被依赖模块可按照预先设置的服务调用方式或消息订阅方式进行交互。Specifically, the system resource occupies a large module that is deployed on the local server or the remote server, that is, the migration of the system resource consuming large module is still transparent to the user, and does not affect the functions provided by the system. Therefore, the system resources after the migration The occupied large module and the dependent module can interact according to a preset service calling manner or a message subscription manner.
其中,步骤S203的具体方法见附图3所示,具体步骤包括:The specific method of step S203 is shown in FIG. 3, and the specific steps include:
步骤S301,系统资源占用大模块向被依赖模块发起服务调用时,查询系统模块部署配置文件;Step S301, when the system resource occupation large module initiates a service call to the dependent module, querying the system module to deploy the configuration file;
具体地,预先设置有记录存储模块,用于记录并存储系统模块部署配置文件,以便后续查询;Specifically, a record storage module is configured in advance for recording and storing the system module deployment configuration file for subsequent query;
其中,系统模块部署配置文件包括:系统资源占用大模块所在第一服务器IP地址及进程端口、所述被依赖模块所在第二服务器IP地址及进程端口、所述本地消息服务器IP地址及进程端口、所述远程消息服务器IP地址及进程端口;The system module deployment configuration file includes: a first resource IP address and a process port where the system resource occupies a large module, a second server IP address and a process port where the dependent module is located, the local message server IP address, and a process port, The remote message server IP address and process port;
其中,第一服务器为所述本地服务器;第二服务器为所述本地服务器或所述远程服务器。The first server is the local server; the second server is the local server or the remote server.
步骤S302,根据查询结果确定系统资源占用大模块与被依赖模块为同一进程时,则系统资源占用大模块通过本地服务器完成对被依赖模块的服务调用;Step S302, determining, according to the query result, that the system resource occupying large module and the dependent module are the same process, the system resource occupying large module completes the service call to the dependent module by using the local server;
具体地,通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一进程。Specifically, by querying the system module to deploy the configuration file, the server resource occupying the large module and the server IP address and the process port where the dependent module is located respectively can be obtained, so that it can be clearly determined whether the system resource occupies the large module and the dependent module is the same process.
步骤S303,或者,根据查询结果确定系统资源占用大模块与被依赖模块为不同进程或不同服务器时,则系统资源占用大模块通过远程服务器完成对被依赖模块的服务调用。Step S303, or determining, according to the query result, that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation large module completes the service call to the dependent module through the remote server.
具体地,通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一服务器的不同进程或者不同服务器。Specifically, by querying the system module to deploy the configuration file, the server resource occupies the large module and the server IP address and the process port where the dependent module is located, respectively, so that it is possible to clearly determine whether the system resource occupies a large module and the dependent module is the same server. Process or different server.
其中,步骤S203的具体方法还可参见附图4所示,具体步骤包括: The specific method of step S203 can also be seen in FIG. 4, and the specific steps include:
步骤S401,系统资源占用大模块向被依赖模块发起消息订阅时,查询系统模块部署配置文件;Step S401, when the system resource occupation large module initiates a message subscription to the dependent module, query the system module to deploy the configuration file;
具体地,预先设置有记录存储模块,用于记录并存储系统模块部署配置文件,以便后续查询;Specifically, a record storage module is configured in advance for recording and storing the system module deployment configuration file for subsequent query;
其中,系统模块部署配置文件包括:系统资源占用大模块所在第一服务器IP地址及进程端口、所述被依赖模块所在第二服务器IP地址及进程端口、所述本地消息服务器IP地址及进程端口、所述远程消息服务器IP地址及进程端口;The system module deployment configuration file includes: a first resource IP address and a process port where the system resource occupies a large module, a second server IP address and a process port where the dependent module is located, the local message server IP address, and a process port, The remote message server IP address and process port;
其中,第一服务器为所述本地服务器;第二服务器为所述本地服务器或所述远程服务器。The first server is the local server; the second server is the local server or the remote server.
步骤S402,根据查询结果确定系统资源占用大模块与被依赖模块为同一进程时,则系统资源占用大模块通过本地消息服务器完成对被依赖模块的消息订阅;Step S402, determining, according to the query result, that the system resource occupation large module and the dependent module are the same process, the system resource occupation large module completes the message subscription to the dependent module through the local message server;
具体地,通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一进程。Specifically, by querying the system module to deploy the configuration file, the server resource occupying the large module and the server IP address and the process port where the dependent module is located respectively can be obtained, so that it can be clearly determined whether the system resource occupies the large module and the dependent module is the same process.
步骤S403,或者,根据查询结果确定系统资源占用大模块与被依赖模块为不同进程或不同服务器时,则系统资源占用大模块通过远程消息服务器完成对被依赖模块的服务调用消息订阅。Step S403, or determining, according to the query result, that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation large module completes the service call message subscription of the dependent module through the remote message server.
具体地,通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一服务器的不同进程或者不同服务器。Specifically, by querying the system module to deploy the configuration file, the server resource occupies the large module and the server IP address and the process port where the dependent module is located, respectively, so that it is possible to clearly determine whether the system resource occupies a large module and the dependent module is the same server. Process or different server.
图5为本发明提高软件系统运行效率的方法的另一种实施例的流程图,即如步骤S503检测到本地服务器的负荷达到预设值之前,提高软件系统运行效率的处理方法,具体步骤如下:FIG. 5 is a flowchart of another embodiment of a method for improving the operating efficiency of a software system according to the present invention, that is, a method for improving the operating efficiency of a software system before detecting that the load of the local server reaches a preset value in step S503, and the specific steps are as follows: :
步骤S501,将系统资源占用大模块与被依赖模块集成部署在本地服务器上; Step S501, the system resource occupying large module and the dependent module are integrated and deployed on the local server;
步骤S502,将系统资源占用大模块独立部署在本地服务器上,并将被依赖模块独立部署的远程服务器上。Step S502, the system resource occupation large module is independently deployed on the local server, and will be independently deployed on the remote server by the dependent module.
具体地,模块独立部署还是集成部署取决于各个模块运行任务承载的负荷,根据系统运行的实际情况进行调配,具有很强的灵活性。Specifically, whether the module is deployed independently or integrated depends on the load carried by each module running task, and is deployed according to the actual situation of the system operation, and has strong flexibility.
图6为本发明提高软件系统运行效率的装置的一种实施例的结构图,提高运行效率装置600包括模块检测模块601和第一部署模块602,FIG. 6 is a structural diagram of an embodiment of an apparatus for improving the operating efficiency of a software system according to the present invention. The improved operating efficiency apparatus 600 includes a module detecting module 601 and a first deployment module 602.
检测模块601,用于检测本地服务器的负荷;a detecting module 601, configured to detect a load of the local server;
具体地,负荷的预设值可以是CPU的利用率、内存的占有率等。Specifically, the preset value of the load may be a utilization rate of the CPU, an occupancy rate of the memory, or the like.
602,用于当检测模块601检测到所述本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。602. When the detection module 601 detects that the load of the local server reaches a preset value, deploy the system resource occupation large module as an independent process to the local server or the remote server.
具体地,预先对系统各个模块进行清晰的模块划分,并确定系统资源占用大模块与被依赖模块之间的依赖关系。其中,系统资源占用大模块个数至少为一个,每个系统资源占用大模块的被依赖模块个数至少为一个。Specifically, clear module division is performed on each module of the system in advance, and it is determined that the system resource occupies a dependency relationship between the large module and the dependent module. The system resource occupies at least one large number of modules, and each system resource occupies at least one dependent module of a large module.
图7为本发明提高软件系统运行效率的装置的另一种实施例的结构图,提高运行效率装置600包括检测模块601、第一部署模块602和通信代理模块603,其中检测模块601、第一部署模块602如图6所示,FIG. 7 is a structural diagram of another embodiment of an apparatus for improving the operating efficiency of a software system according to the present invention. The operating efficiency improvement apparatus 600 includes a detection module 601, a first deployment module 602, and a communication proxy module 603, wherein the detection module 601, the first The deployment module 602 is shown in Figure 6.
通信代理模块603,用于在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,在所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。The communication proxy module 603 is configured to adopt a service calling manner or a message subscription manner between the system resource occupying large module and the dependent module after the system resource occupying large module is deployed as an independent process to the local server or the remote server. Interact.
具体地,在系统资源占用大模块被部署在本地服务器或远程服务器,即对系统资源占用大模块的迁移,对用户而言依然为透明,不影响系统提供的功能,因此,迁移后的系统资源占用大模块与被依赖模块可按照预先设置的服务调用方式或消息订阅方式进行交互。Specifically, the system resource occupies a large module that is deployed on the local server or the remote server, that is, the migration of the system resource consuming large module is still transparent to the user, and does not affect the functions provided by the system. Therefore, the system resources after the migration The occupied large module and the dependent module can interact according to a preset service calling manner or a message subscription manner.
其中,通信代理模块603一种实施例的具体结构如图8所示,通信代理模块603包括第一发起子模块60311、第一查询子模块60312、第一确认子模块60313和服务调用子模块60314, The specific structure of an embodiment of the communication proxy module 603 is as shown in FIG. 8. The communication proxy module 603 includes a first initiation submodule 60311, a first query submodule 60312, a first confirmation submodule 60313, and a service invocation submodule 60314. ,
第一发起子模块60311,用于系统资源占用大模块向被依赖模块发起服务调用;The first initiating submodule 60311 is configured to: the system resource occupation large module initiates a service call to the dependent module;
第一查询子模块60312,用于所述第一发起子模块发起服务调用时,查询系统模块部署配置文件;The first query sub-module 60312 is configured to query the system module to deploy a configuration file when the first initiating sub-module initiates a service call;
具体地,预先设置有记录存储模块(图未示),用于记录并存储系统模块部署配置文件,以便后续查询;Specifically, a record storage module (not shown) is configured in advance for recording and storing the system module deployment configuration file for subsequent query;
其中,系统模块部署配置文件包括:系统资源占用大模块所在第一服务器IP地址及进程端口、被依赖模块所在第二服务器IP地址及进程端口、本地消息服务器IP地址及进程端口、所述远程消息服务器IP地址及进程端口;The system module deployment configuration file includes: the first server IP address and process port where the system resource occupies a large module, the second server IP address and process port where the dependent module is located, the local message server IP address and the process port, and the remote message. Server IP address and process port;
其中,第一服务器为本地服务器;第二服务器为本地服务器或远程服务器。The first server is a local server; the second server is a local server or a remote server.
第一确认子模块60313,根据查询结果确认系统资源占用大模块与被依赖模块为同一进程;或者,The first confirmation sub-module 60313 confirms that the system resource occupation large module is the same process as the dependent module according to the query result; or
根据查询结果确认系统资源占用大模块与被依赖模块为不同进程或不同服务器;According to the query result, it is confirmed that the system resource occupies a large module and the dependent module is a different process or a different server;
具体地,由于通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一进程;Specifically, since the configuration file of the query system module can respectively obtain the IP address and the process port of the server that the system resource occupies the large module and the dependent module, it can be clearly determined whether the system resource occupies the large module and the dependent module is the same process;
由于通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一服务器的不同进程或者不同服务器。Since the configuration file of the query system module can respectively obtain the IP address and the process port of the server where the system resource occupies the large module and the dependent module, it is possible to clearly determine whether the system resource occupies different processes of whether the large module and the dependent module are the same server or Different servers.
服务调用子模块60314,当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,The service invoking sub-module 60314, when the first confirmation sub-module confirms that the system resource occupation large module is the same process as the dependent module, the system resource occupation large module completes the Called by the service of the dependent module; or,
当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。 When the first confirmation sub-module confirms that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation large module completes the dependent module by using the remote server. Service call.
其中,通信代理模块603另一种实施例的具体结构如图9所示,通信代理模块603包括第二发起子模块60321、第二查询子模块60322、第二确认子模块60323和消息订阅子模块60324,The specific structure of another embodiment of the communication proxy module 603 is as shown in FIG. 9. The communication proxy module 603 includes a second initiation submodule 60321, a second query submodule 60322, a second confirmation submodule 60323, and a message subscription submodule. 60324,
第二发起子模块60321,用于系统资源占用大模块向被依赖模块发起消息订阅;The second initiating sub-module 60321 is configured to: the system resource occupation large module initiates a message subscription to the dependent module;
第二查询子模块60322,用于第二发起子模块发起消息订阅时,查询系统模块部署配置文件;The second query sub-module 60322 is configured to query the system module to deploy the configuration file when the second initiating sub-module initiates the message subscription;
具体地,预先设置有记录存储模块(图未示),用于记录并存储系统模块部署配置文件,以便后续查询;Specifically, a record storage module (not shown) is configured in advance for recording and storing the system module deployment configuration file for subsequent query;
其中,系统模块部署配置文件包括:系统资源占用大模块所在第一服务器IP地址及进程端口、被依赖模块所在第二服务器IP地址及进程端口、本地消息服务器IP地址及进程端口、远程消息服务器IP地址及进程端口;The system module deployment configuration file includes: the first server IP address and process port where the system resource occupies a large module, the second server IP address and process port where the dependent module is located, the local message server IP address and the process port, and the remote message server IP. Address and process port;
其中,第一服务器为本地服务器;第二服务器为本地服务器或远程服务器。The first server is a local server; the second server is a local server or a remote server.
第二确认子模块60323,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,The second confirmation sub-module 60323 confirms that the system resource occupation large module is the same process as the dependent module according to the query result; or
根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;Determining, according to the query result, that the system resource occupation large module and the dependent module are different processes or different servers;
具体地,由于通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一进程;Specifically, since the configuration file of the query system module can respectively obtain the IP address and the process port of the server that the system resource occupies the large module and the dependent module, it can be clearly determined whether the system resource occupies the large module and the dependent module is the same process;
由于通过查询系统模块部署配置文件可以分别得到系统资源占用大模块和被依赖模块所在的服务器IP地址及进程端口,从而可以明确得到系统资源占用大模块与被依赖模块是否为同一服务器的不同进程或者不同服务器。Since the configuration file of the query system module can respectively obtain the IP address and the process port of the server where the system resource occupies the large module and the dependent module, it is possible to clearly determine whether the system resource occupies different processes of whether the large module and the dependent module are the same server or Different servers.
消息订阅子模块60324,用于当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者, a message sub-module 60324, configured to: when the second acknowledgment sub-module confirms that the system resource occupies a large module and the Dependent module are the same process, the system resource occupies a large module to complete the a message subscription that is dependent on the module; or,
当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。When the second confirmation sub-module confirms that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation large module completes the dependent module by using a remote message server. Message subscription.
图10为本发明提高软件系统运行效率的装置的另一种实施例的结构图,提高运行效率装置600包括检测模块601、第一部署模块602、通信代理模块603和第二部署模块604,10 is a structural diagram of another embodiment of an apparatus for improving the operating efficiency of a software system. The apparatus for improving operational efficiency 600 includes a detection module 601, a first deployment module 602, a communication proxy module 603, and a second deployment module 604.
其中,检测模块601、第一部署模块602、通信代理模块603的结构如7所示,The structure of the detection module 601, the first deployment module 602, and the communication proxy module 603 is as shown in FIG.
第二部署模块604,用于所述检测模块检测到本地服务器的负荷达到预设值之前,a second deployment module 604, configured to: before the detecting module detects that the load of the local server reaches a preset value,
将系统资源占用大模块与被依赖模块集成部署在所述本地服务器上;Deploying a system resource occupation large module and a dependent module on the local server;
或者,or,
将系统资源占用大模块独立部署在本地服务器上,并将被依赖模块独立部署在远程服务器上。Large modules occupying system resources are deployed independently on the local server and deployed independently on the remote server by dependent modules.
具体地,模块独立部署还是集成部署取决于各个模块运行任务承载的负荷,根据系统运行的实际情况进行调配,具有很强的灵活性。Specifically, whether the module is deployed independently or integrated depends on the load carried by each module running task, and is deployed according to the actual situation of the system operation, and has strong flexibility.
图11为本发明提高软件系统运行效率的装置在系统应用中各模块集成部署的一种结构图,图中集成部署包括:系统资源占用大模块1101、通信代理模块1102、第一被依赖模块1103、第二被依赖模块1104、记录存储模块1105和本地消息服务器1106和本地服务器1107;11 is a structural diagram of integrated deployment of modules in a system application of an apparatus for improving operating efficiency of a software system according to the present invention. The integrated deployment in the figure includes: a system resource occupation large module 1101, a communication proxy module 1102, and a first dependent module 1103. a second dependent module 1104, a record storage module 1105 and a local message server 1106 and a local server 1107;
系统资源占用大模块1101依赖于第一被依赖模块1103与第二被依赖模块1104;The system resource occupancy module 1101 is dependent on the first dependent module 1103 and the second dependent module 1104;
当系统资源占用大模块1101向第一被依赖模块1103发起服务调用时,通信代理模块1102查询系统模块部署配置文件,发现这系统资源占用大模块1101和第一被依赖模块1103为同一本地服务器1107的同一进程,通信代理模块1102通过本地服务器1107返回给系统资源占用大模块1101,系统资源占用大模块 1101利用该本地服务器1107完成对第一被依赖模块1103的服务调用;When the system resource occupation module 1101 initiates a service call to the first dependent module 1103, the communication agent module 1102 queries the system module deployment configuration file, and finds that the system resource occupation module 1101 and the first dependent module 1103 are the same local server 1107. The same process, the communication proxy module 1102 returns to the system resource occupation large module 1101 through the local server 1107, and the system resource occupies a large module. 1101 using the local server 1107 to complete a service call to the first dependent module 1103;
当系统资源占用大模块1101向第二被依赖模块1104发起订阅消息时,通信代理模块1102查询系统模块部署配置文件,查询配置得知系统资源占用大模块1101和第二被依赖模块1104也为同一本地服务器1107的同一进程,则通信代理模块1102向本地消息服务器1106订阅本地消息,第二被依赖模块1104发送消息通过本地消息服务器1106经由通信代理模块1102转发给系统资源占用大模块1201。When the system resource occupation module 1101 initiates a subscription message to the second dependent module 1104, the communication proxy module 1102 queries the system module deployment configuration file, and the query configuration knows that the system resource occupancy module 1101 and the second dependent module 1104 are also the same. The same process of the local server 1107, the communication proxy module 1102 subscribes to the local message server 1106 for local messages, and the second dependent module 1104 sends the message to the system resource occupant module 1201 via the communication proxy module 1102 via the local message server 1106.
其中,这里系统模块部署配置文件包括:系统资源占用大模块1101所在本地服务器1107的IP地址及进程端口、第一被依赖模块1103及第二被依赖模块1104分别所在本地服务器1107的IP地址及进程端口、本地消息服务器1106的IP地址及进程端口、远程消息服务器(图未示)的IP地址及进程端口。The system module deployment configuration file includes: an IP address and a process port of the local server 1107 where the system resource occupies the large module 1101, an IP address and a process of the local server 1107 where the first dependent module 1103 and the second dependent module 1104 are respectively located. The port, the IP address and process port of the local message server 1106, the IP address of the remote message server (not shown), and the process port.
图12为本发明提高软件系统运行效率的装置在系统应用中各模块独立部署的一种结构图,图中独立部署包括:系统资源占用大模块1201、通信代理模块1202、第一被依赖模块1203、第二被依赖模块1204、记录存储模块1205和远程消息服务器1206和远程服务器1207;FIG. 12 is a structural diagram of the independent deployment of each module in the system application of the device for improving the operating efficiency of the software system according to the present invention. The independent deployment in the figure includes: a system resource occupation large module 1201, a communication proxy module 1202, and a first dependent module 1203. a second dependent module 1204, a record storage module 1205 and a remote message server 1206 and a remote server 1207;
系统资源占用大模块1201依赖于第一被依赖模块1203与第二被依赖模块1204;The system resource occupation module 1201 depends on the first dependent module 1203 and the second dependent module 1204;
当系统资源占用大模块1201向第一被依赖模块1203发起服务调用时,通信代理模块1202查询系统模块部署配置文件,发现这系统资源占用大模块1201和第一被依赖模块1203为不同进程或远程服务器1207,通信代理模块1202通过远程服务器1207返回给系统资源占用大模块1201,系统资源占用大模块1201利用该远程服务器1207完成对第一被依赖模块1203的服务调用;When the system resource occupation module 1201 initiates a service call to the first dependent module 1203, the communication agent module 1202 queries the system module deployment configuration file, and finds that the system resource occupation large module 1201 and the first dependent module 1203 are different processes or remote. The server 1207, the communication proxy module 1202 returns to the system resource occupation module 1201 through the remote server 1207, and the system resource occupation module 1201 uses the remote server 1207 to complete the service call to the first dependent module 1203.
当系统资源占用大模块1201向第二被依赖模块1204发起订阅消息时,通信代理模块1202查询系统模块部署配置文件,查询配置得知系统资源占用大模块1201和第二被依赖模块1204为不同进程或远程服务器1207,则通信代理模块1102向远程消息服务器1206订阅消息,第二被依赖模块1204发送消息通过 远程消息服务器1206经由通信代理模块1202转发给系统资源占用大模块1201。When the system resource occupation module 1201 initiates a subscription message to the second dependent module 1204, the communication agent module 1202 queries the system module deployment configuration file, and the query configuration knows that the system resource occupation module 1201 and the second dependent module 1204 are different processes. Or the remote server 1207, the communication proxy module 1102 subscribes to the message to the remote message server 1206, and the second dependent module 1204 sends the message through. The remote message server 1206 forwards to the system resource occupancy module 1201 via the communication agent module 1202.
其中,这里系统模块部署配置文件包括:系统资源占用大模块1201所在本地服务器(图未示)的IP地址及进程端口、第一被依赖模块1203及第二被依赖模块1204分别所在远程服务器1207的IP地址及进程端口、本地消息服务器(图未示)的IP地址及进程端口、远程消息服务器1206的IP地址及进程端口。The system module deployment configuration file includes: the IP address and the process port of the local server (not shown) where the system resource occupies the large module 1201, the first dependent module 1203, and the second dependent module 1204 are respectively located on the remote server 1207. The IP address and process port, the IP address and process port of the local message server (not shown), the IP address of the remote message server 1206, and the process port.
另外,如果需要将某些模块从集成部署环境中切换到独立部署环境,则只需要修改系统模块部署配置文件,修改系统各个模块的部署情况,重新启动服务器即可。In addition, if you need to switch some modules from the integrated deployment environment to the stand-alone deployment environment, you only need to modify the system module deployment configuration file, modify the deployment of each module of the system, and restart the server.
应当理解,本实施例提供的提高运行效率装置600的功能模块可以为软件模块或者软硬件结合的功能模块,其可以通过处理器执行而实现如上所述的功能。并且,提高运行效率装置600还可以具有其他功能模块来实现灵活地提高软件系统运行效率各个具体步骤,具体可以参阅以上方法实施例的相应描述。It should be understood that the functional modules of the operational efficiency improving apparatus 600 provided by the embodiment may be software modules or functional modules combined with software and hardware, which may be implemented by a processor to implement the functions as described above. Moreover, the operation efficiency improvement apparatus 600 may further have other functional modules to implement various specific steps for flexibly improving the operating efficiency of the software system. For details, refer to the corresponding description of the foregoing method embodiments.
另外,所属技术领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,并被通讯内部的处理器执行,前述的程序在被执行时处理器可以执行包括上述方法实施例的全部或者部分步骤。其中,所述处理器可以作为一个或多个处理器芯片实施,或者可以为一个或多个专用集成电路(Application Specific Integrated Circuit,ASIC)的一部分;而前述的存储介质可以包括但不限于以下类型的存储介质:闪存(Flash Memory)、存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。In addition, those skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by hardware related to program instructions, and the foregoing programs may be stored in a computer readable storage medium and communicated internally. The processor executes, and when the aforementioned program is executed, the processor can execute all or part of the steps including the above method embodiments. The processor may be implemented as one or more processor chips, or may be part of one or more application specific integrated circuits (ASICs); and the foregoing storage medium may include but not be limited to the following types. Storage medium: Flash memory, Read-Only Memory (ROM), Random Access Memory (RAM), removable hard disk, disk or optical disk, and other media that can store program code.
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案 的本质脱离本申请各实施例技术方案的范围。 Finally, it should be noted that the above embodiments are only used to explain the technical solutions of the present application, and are not limited thereto; although the present application is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still Modifications to the technical solutions described in the foregoing embodiments, or equivalent replacement of some of the technical features; and these modifications or replacements do not make corresponding technical solutions The essence of the present invention departs from the scope of the technical solutions of the embodiments of the present application.

Claims (11)

  1. 一种提高软件系统运行效率的方法,其特征在于,所述方法包括:A method for improving the operating efficiency of a software system, the method comprising:
    检测到本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。When it is detected that the load of the local server reaches a preset value, the system resource occupying large module is deployed as a separate process to the local server or the remote server.
  2. 如权利要求1所述的方法,其特征在于,The method of claim 1 wherein
    在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,所述方法还包括:After the system resource occupation module is deployed as an independent process on the local server or the remote server, the method further includes:
    所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。The system resource occupies a large module and the dependent module uses a service invocation mode or a message subscription mode to interact.
  3. 如权利要求2所述的方法,其特征在于,所述系统资源占用大模块与所述被依赖模块之间采用服务调用方式进行交互,具体包括:The method of claim 2, wherein the interaction between the system resource occupant module and the dependent module is performed by using a service invocation manner, and specifically includes:
    所述系统资源占用大模块向所述被依赖模块发起服务调用时,查询系统模块部署配置文件;When the system resource occupation large module initiates a service call to the dependent module, querying the system module to deploy the configuration file;
    根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,If the system resource occupation module is the same process as the dependent module, the system resource occupation module completes the service call to the dependent module by using the local server; or
    根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。When the system resource occupation large module and the dependent module are different processes or different servers according to the query result, the system resource occupation large module completes the service call to the dependent module by the remote server.
  4. 如权利要求2所述的方法,其特征在于,所述系统资源占用大模块与所述被依赖模块之间采用消息订阅方式进行交互,具体包括:The method of claim 2, wherein the interaction between the system resource occupant module and the dependent module is performed by using a message subscription manner, and specifically includes:
    所述系统资源占用大模块向所述被依赖模块发起消息订阅时,查询系统模块部署配置文件;When the system resource occupation module sends a message subscription to the dependent module, querying the system module to deploy the configuration file;
    根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者, If the system resource occupation module is the same process as the dependent module, the system resource occupation module completes the message subscription to the dependent module through the local message server; or
    根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完成对所述被依赖模块的消息订阅。When the system resource occupation module and the dependent module are different processes or different servers, the system resource occupation module completes the message subscription to the dependent module through the remote message server.
  5. 如权利要求3或4所述的方法,其特征在于,所述系统模块部署配置文件包括:The method of claim 3 or 4, wherein the system module deployment configuration file comprises:
    所述系统资源占用大模块所在第一服务器IP地址及进程端口、所述被依赖模块所在第二服务器IP地址及进程端口、所述本地消息服务器IP地址、所述远程消息服务器IP地址;The system resource occupies a first server IP address and a process port where the large module is located, a second server IP address and a process port where the dependent module is located, the local message server IP address, and the remote message server IP address;
    所述第一服务器为所述本地服务器;The first server is the local server;
    所述第二服务器为所述本地服务器或所述远程服务器。The second server is the local server or the remote server.
  6. 如权利要求2所述的方法,其特征在于,在检测到本地服务器的负荷达到预设值之前,所述方法还包括:The method of claim 2, wherein before the detecting that the load of the local server reaches a preset value, the method further comprises:
    将所述系统资源占用大模块与所述被依赖模块集成部署在所述本地服务器上;或者,Deploying the system resource occupation large module and the dependent module on the local server; or
    将所述系统资源占用大模块独立部署在所述本地服务器上,并将所述被依赖模块独立部署在所述远程服务器上。The system resource occupying large module is independently deployed on the local server, and the dependent module is independently deployed on the remote server.
  7. 一种提高软件系统运行效率的装置,其特征在于,所述装置包括:An apparatus for improving the operating efficiency of a software system, the apparatus comprising:
    检测模块,用于检测本地服务器的负荷;a detection module for detecting the load of the local server;
    第一部署模块,用于当所述检测模块检测到所述本地服务器的负荷达到预设值时,将系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上。The first deployment module is configured to deploy the system resource occupation large module as an independent process to the local server or the remote server when the detection module detects that the load of the local server reaches a preset value.
  8. 如权利要求7所述的装置,其特征在于,所述装置还包括:The device of claim 7 wherein said device further comprises:
    通信代理模块,用于在系统资源占用大模块作为独立进程部署到所述本地服务器或远程服务器上之后,在所述系统资源占用大模块与被依赖模块之间采用服务调用方式或消息订阅方式进行交互。a communication agent module, configured to use a service invocation mode or a message subscription mode between the system resource occupying large module and the dependent module after the system resource occupation large module is deployed as an independent process to the local server or the remote server Interaction.
  9. 如权利要求8所述的装置,其特征在于,所述通信代理模块包括:The apparatus of claim 8 wherein said communication agent module comprises:
    第一发起子模块,用于所述系统资源占用大模块向所述被依赖模块发起服 务调用;a first initiating submodule, configured by the system resource occupying large module to serve the dependent module Call
    第一查询子模块,用于所述第一发起子模块发起服务调用时,查询系统模块部署配置文件;a first query submodule, configured to query a system module to deploy a configuration file when the first initiating submodule initiates a service invocation;
    第一确认子模块,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,The first confirmation submodule confirms, according to the query result, that the system resource occupation large module is the same process as the dependent module; or
    根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;Determining, according to the query result, that the system resource occupation large module and the dependent module are different processes or different servers;
    服务调用子模块,当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过所述本地服务器完成对所述被依赖模块的服务调用;或者,The service invoking sub-module, when the first confirmation sub-module confirms that the system resource occupation large module is the same process as the dependent module, the system resource occupation large module completes the Dependent on the service call of the module; or,
    当所述第一确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过所述远程服务器完成对所述被依赖模块的服务调用。When the first confirmation sub-module confirms that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation large module completes the dependent module by using the remote server. Service call.
  10. 如权利要求8所述的装置,其特征在于,所述通信代理模块包括:The apparatus of claim 8 wherein said communication agent module comprises:
    第二发起子模块,用于所述系统资源占用大模块向所述被依赖模块发起消息订阅;a second initiating submodule, configured by the system resource occupation module to initiate a message subscription to the dependent module;
    第二查询子模块,用于所述第二发起子模块发起消息订阅时,查询系统模块部署配置文件;a second query submodule, configured to query a system module to deploy a configuration file when the second initiating submodule initiates a message subscription;
    第二确认子模块,根据查询结果确认所述系统资源占用大模块与所述被依赖模块为同一进程;或者,a second confirmation sub-module, according to the query result, confirming that the system resource occupation large module is the same process as the dependent module; or
    根据查询结果确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器;Determining, according to the query result, that the system resource occupation large module and the dependent module are different processes or different servers;
    消息订阅子模块,用于当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为同一进程时,则所述系统资源占用大模块通过本地消息服务器完成对所述被依赖模块的消息订阅;或者,a message sub-module, configured to: when the second confirmation sub-module confirms that the system resource occupation large module is the same process as the dependent module, the system resource occupation large module completes the Subscribed by a message that depends on the module; or,
    当所述第二确认子模块确认所述系统资源占用大模块与所述被依赖模块为不同进程或不同服务器时,则所述系统资源占用大模块通过远程消息服务器完 成对所述被依赖模块的消息订阅。When the second confirmation sub-module confirms that the system resource occupation large module and the dependent module are different processes or different servers, the system resource occupation module is completed by the remote message server. Subscribe to the message of the dependent module in pairs.
  11. 如权利要求8所述的装置,其特征在于,所述装置还包括:The device of claim 8 further comprising:
    第二部署模块,用于所述检测模块检测到本地服务器的负荷达到预设值之前,a second deployment module, configured to: before the detecting module detects that the load of the local server reaches a preset value,
    将所述系统资源占用大模块与所述被依赖模块集成部署在所述本地服务器上;或者,Deploying the system resource occupation large module and the dependent module on the local server; or
    将所述系统资源占用大模块独立部署在所述本地服务器上,并将所述被依赖模块独立部署在所述远程服务器上。 The system resource occupying large module is independently deployed on the local server, and the dependent module is independently deployed on the remote server.
PCT/CN2016/103899 2016-03-29 2016-10-29 Method and device for improving operational efficiency of software system WO2017166805A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610187468.5 2016-03-29
CN201610187468.5A CN105868011A (en) 2016-03-29 2016-03-29 Method and device for improving running efficiency of software system

Publications (1)

Publication Number Publication Date
WO2017166805A1 true WO2017166805A1 (en) 2017-10-05

Family

ID=56625221

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/103899 WO2017166805A1 (en) 2016-03-29 2016-10-29 Method and device for improving operational efficiency of software system

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868011A (en) * 2016-03-29 2016-08-17 上海斐讯数据通信技术有限公司 Method and device for improving running efficiency of software system

Citations (3)

* 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
CN102546920A (en) * 2011-01-04 2012-07-04 中国移动通信有限公司 Method, system and device of running process
CN105868011A (en) * 2016-03-29 2016-08-17 上海斐讯数据通信技术有限公司 Method and device for improving running efficiency of software system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304366A (en) * 2007-05-08 2008-11-12 华为技术有限公司 A method, device and system for realizing load balancing in a packet network
CN101571813B (en) * 2009-01-04 2012-02-29 四川川大智胜软件股份有限公司 A master-slave scheduling method in a multi-machine cluster
US9817695B2 (en) * 2009-04-01 2017-11-14 Vmware, Inc. Method and system for migrating processes between virtual machines
CN104811459A (en) * 2014-01-23 2015-07-29 阿里巴巴集团控股有限公司 Processing method, processing device and system for message services and message service system
CN103957246B (en) * 2014-04-22 2017-03-01 广州杰赛科技股份有限公司 Dynamic load balancing method based on tenant's perception and system
CN104679594B (en) * 2015-03-19 2017-11-14 福州环亚众志计算机有限公司 A kind of middleware distributed computing method
CN105260241B (en) * 2015-10-23 2019-04-16 南京理工大学 The co-operating method of process in group system

Patent Citations (3)

* 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
CN102546920A (en) * 2011-01-04 2012-07-04 中国移动通信有限公司 Method, system and device of running process
CN105868011A (en) * 2016-03-29 2016-08-17 上海斐讯数据通信技术有限公司 Method and device for improving running efficiency of software system

Also Published As

Publication number Publication date
CN105868011A (en) 2016-08-17

Similar Documents

Publication Publication Date Title
EP3913859B1 (en) Vnf life cycle management method and apparatus
CN107526659B (en) Method and apparatus for failover
EP3125468B1 (en) Cloud application processing method and application deployment method and relevant apparatus and system
CN117149445B (en) Cross-cluster load balancing method and device, equipment and storage medium
CN112351051A (en) Cloud service processing method and device, cloud server, cloud service processing system and storage medium
WO2018095414A1 (en) Method and apparatus for detecting and recovering fault of virtual machine
CN111274033B (en) Resource deployment method, device, server and storage medium
US11941406B2 (en) Infrastructure (HCI) cluster using centralized workflows
CN107423942B (en) Method and device for business transfer
WO2019153532A1 (en) Deployment method and apparatus for monitoring system, and computer device and storage medium
CN110912972A (en) Service processing method, system, electronic equipment and readable storage medium
WO2018090605A1 (en) Data center management method and system
CN107977295A (en) Management of distributed applications system and method based on container
CN106559447A (en) The method for processing business and system of JSLEE containers
CN109802986A (en) Device management method, system, device and server
CN106464516A (en) Event Processing in Network Management System
US11544091B2 (en) Determining and implementing recovery actions for containers to recover the containers from failures
CN112698979A (en) Method and device for processing zookeeper double nodes, storage medium and processor
WO2017166805A1 (en) Method and device for improving operational efficiency of software system
CN111835797A (en) Data processing method, device and equipment
CN101167307A (en) Dynamically self-adaptive distributed resource management system and method
US20170322788A1 (en) Parallel distribution of application services to virtual nodes
CN114756396B (en) A container service fault repair method and device
CN111221620A (en) Storage method, storage device and storage medium
CN115134413A (en) Registration method of micro service cluster, service request processing method and micro service cluster

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16896574

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16896574

Country of ref document: EP

Kind code of ref document: A1