WO2022100364A1 - 配置计算模式的方法、装置及计算设备 - Google Patents

配置计算模式的方法、装置及计算设备 Download PDF

Info

Publication number
WO2022100364A1
WO2022100364A1 PCT/CN2021/124251 CN2021124251W WO2022100364A1 WO 2022100364 A1 WO2022100364 A1 WO 2022100364A1 CN 2021124251 W CN2021124251 W CN 2021124251W WO 2022100364 A1 WO2022100364 A1 WO 2022100364A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
mode
computing
pool
computing mode
Prior art date
Application number
PCT/CN2021/124251
Other languages
English (en)
French (fr)
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 华为技术有限公司
Priority to EP21890891.1A priority Critical patent/EP4227802A4/en
Publication of WO2022100364A1 publication Critical patent/WO2022100364A1/zh
Priority to US18/315,310 priority patent/US20230273801A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Definitions

  • the present application relates to the field of computers, and in particular, to a method, an apparatus, and a computing device for configuring a computing mode.
  • the present application provides a method, apparatus, and computing device for configuring a computing mode, thereby providing a simpler method for configuring a computing mode of a computing device for application scenarios.
  • the present application provides a method for configuring a computing mode.
  • the method can be applied to an application server.
  • the application server preconfigures a computing mode pool, and the computing mode pool includes at least two computing modes.
  • the method specifically includes the following steps: After the application server determines that the first application is to be run or the first application is already running, it determines a first calculation mode associated with the first application from the calculation mode pool, and runs the first application according to the first calculation mode.
  • the first calculation mode is any mode in the calculation mode pool. Because the application server automatically selects the first computing mode from a plurality of pre-configured computing modes according to the first application, the process of configuring the computing mode of the application server to run the application is simplified, and the software system and hardware of the application server are solved manually. The problems of high complexity and long tuning period of system collaborative tuning.
  • the first computing mode selected by the application server is suitable for running the first application, so the operation effect of the application server running the first application is also improved.
  • the applications associated with the computing modes included in the computing mode pool include one or more of the following: big data, databases, distributed storage, containers, and virtual machines.
  • the application server may determine the first computing mode suitable for running the first application by itself. Determining the first computing mode associated with the first application from the computing mode pool includes: adaptively determining the first computing mode from the computing mode pool according to the first application, so that the running effect of running the first application in the first computing mode It is better than the running effect of running the first application in other computing modes in the computing mode pool. Wherein, the first computing mode determined by the application server and suitable for running the first application is obtained by the application server by learning according to the historical running effect.
  • the application server may further determine a first computing mode suitable for running the first application according to the preconfigured correspondence. Determining the first computing mode associated with the first application from the computing mode pool includes: determining the first computing mode from the computing mode pool according to the first application and a corresponding relationship, where the corresponding relationship includes the correspondence between the first application and the first computing mode relation. Since the application server automatically selects the first computing mode from the pre-configured corresponding relationship according to the first application, the process of configuring the computing mode of the application server to run the application is simplified, and the manual method is used to coordinate the software system and the hardware system of the application server. The complexity of tuning is high and the tuning cycle is long. In addition, the first computing mode selected by the application server is suitable for running the first application, so the running effect of the application server running the first application is also improved.
  • the application server may be a first application running by the application server by autonomously identifying, and selecting a first computing mode suitable for running the first application according to the first application.
  • the application server may also receive an instruction message from the host, and the application server instructs to select a first computing mode suitable for running the first application according to the instruction message.
  • the application server may determine the first computing mode associated with the first application before running the first application, or determine the first computing mode associated with the first application after running the first application, that is, the first application may be an application to be executed or running application. For example, the application server switches from the already running second application to running the first application, and determines the first computing mode associated with the first application from the computing mode pool.
  • the first application is an already running application.
  • the second computing mode included in the computing mode pool is associated with the second application.
  • the application server may also receive a first update message from the host, where the first update message is used to instruct to update the corresponding relationship, and the update includes deleting, adding or optimizing the calculation mode corresponding to the application in the corresponding relationship.
  • the application server may also receive a second update message from the host, where the second update message is used to instruct to update the calculation mode pool, and the update includes deleting, adding or optimizing the calculation modes in the calculation mode pool. Therefore, it is convenient for the application server to configure a more suitable computing mode according to the application, so that the computing device can achieve the best operation effect of the application scenario.
  • the application server may also send a configuration completion message to the host.
  • the host may also display a configuration completion prompt, so that the system maintenance personnel can intuitively see that the application server has completed the configuration of the first computing mode.
  • the first computing mode includes a first software system computing mode and a first hardware system computing mode
  • running the first application according to the first computing mode includes: The software system computing mode and the first hardware system computing mode run the first application.
  • the first software system computing mode indicates parameters of the operating system running the first application and parameters of the first application.
  • a configuration apparatus comprising various modules for performing the method of configuring the calculation mode in the first aspect or any possible design of the first aspect.
  • a third aspect provides a computing device, the computing device comprising at least one processor and a memory for storing a set of computer instructions; when the processor executes the set of computer instructions, the first aspect or the first aspect is performed Operation steps of the method for configuring a computing mode in any possible implementation manner.
  • a computer-readable storage medium comprising: computer software instructions; when the computer software instructions are executed in a computing device, the computing device is made to execute the first aspect or any one of the possible implementations of the first aspect. Operation steps of the method.
  • a fifth aspect provides a computer program product that, when the computer program product runs on a computer, causes a computing device to perform the operation steps of the method described in the first aspect or any possible implementation manner of the first aspect.
  • the present application may further combine to provide more implementation manners.
  • FIG. 1 is a schematic diagram of the architecture of a communication system provided by an embodiment of the present application.
  • FIG. 2 is a schematic interface diagram of a configuration application and a computing mode provided by an embodiment of the present application
  • FIG. 3 is a schematic logical diagram of a management system in an application server provided by an embodiment of the present application.
  • FIG. 4 is a flowchart of a method for configuring a computing mode provided by an embodiment of the present application
  • FIG. 5 is a schematic diagram of a host interface of a configuration application provided by an embodiment of the present application.
  • FIG. 6 is a schematic logical diagram of a management system in another application server provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a host interface of a batch configuration computing mode provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of the composition of a configuration apparatus provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of the composition of a computer system according to an embodiment of the present application.
  • words such as “exemplary” or “for example” are used to represent examples, illustrations or illustrations. Any embodiments or designs described in the embodiments of the present application as “exemplary” or “such as” should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as “exemplary” or “such as” is intended to present the related concepts in a specific manner.
  • “Plurality” means two or more, and other quantifiers are similar.
  • “And/or” describes the association relationship between associated objects, indicating that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, A and B exist at the same time, and B exists alone.
  • occurrences of the singular forms “a”, “an” and “the” do not mean “one or only one” unless the context clearly dictates otherwise, but rather “one or more” in one”.
  • a device means to one or more such devices.
  • "at least one of subsequent associated objects for example "at least one of A, B and C" includes A, B, C, AB, AC, BC, or ABC.
  • FIG. 1 is a schematic structural diagram of a communication system provided by this embodiment.
  • the communication system includes a host 110 and a service system 120 .
  • the host 110 and the service system 120 are connected in a wireless or wired manner.
  • host 110 may communicate with service system 120 over network 130 .
  • the network 130 may be the internet.
  • the Internet includes at least one network device.
  • Network equipment includes routers and switches.
  • the host 110 may be fixed or movable.
  • the host 110 may also be referred to as a terminal (terminal), a user equipment (UE), a mobile station (mobile station, MS), a mobile terminal (mobile terminal, MT), and the like. This embodiment does not limit the specific technology and specific device form adopted by the host 110 .
  • the service system 120 may be a cloud service system.
  • the service system 120 includes multiple application servers 121, and the multiple application servers 121 form a server cluster.
  • the multiple application servers 121 may be separate and different physical devices.
  • FIG. 1 is only a schematic diagram, and the present embodiment does not limit the number of hosts, network devices, and application servers included in the communication system.
  • Different application servers 121 may implement functions of different applications or functions of the same application. For example, one application is deployed on one application server 121 . For example, the big data is deployed on an application server 121 , and the database is deployed on an application server 121 . For another example, an application is deployed on at least two application servers 121, and each application server 121 deploys a part of the function of an application. For example, distributed storage is deployed on multiple application servers 121 . For another example, multiple applications are deployed on one application server 121 .
  • Applications can also be referred to as application services or services.
  • the application may include at least one of the following: big data (big data), database, distributed storage, container (container), virtual machine (virtualized machine, VM), search engine, and the like.
  • big data big data
  • database distributed storage
  • container container
  • virtual machine virtualized machine, VM
  • search engine search engine
  • database can also be specifically divided into MySQL database, TiDB database and memory database (redis).
  • Distributed storage can also be divided into ceph and glusterFS.
  • a client eg, a browser 111 or a client application 112
  • the client can also be called the client, which corresponds to the server and is a program that provides local services for system maintainers.
  • the system maintainer can configure the application and the computing mode associated with the application to the application server 121 through the client.
  • the computing mode may include at least one of the following: big data computing mode, database computing mode, distributed storage computing mode, container computing mode, virtual machine computing mode, search engine computing mode, and the like.
  • the application server 121 may store an application pool and a computing mode pool in advance.
  • the compute mode pool includes at least two compute modes.
  • the application pool includes at least two applications.
  • An application can be associated with a computing schema.
  • the service system 120 also includes a management server 122 .
  • the management server 122 is used to manage the life cycle of the application run by the application server 121 and the computing mode associated with the application.
  • the lifecycle includes deployment, deletion, optimization, etc.
  • the management server 122 provides the application management platform 1221 .
  • the system maintainer can access the application management platform 1221 through the client, and configure the computing mode, the application, and the application and the computing mode associated with the application to the application server 121 through the application management platform 1221 .
  • the system maintenance personnel can access the application management platform 1221 through the client on the host 110 .
  • the application maintenance interface of the application management platform 1221 may display an "application name” option.
  • the Application Name options include Big Data, Database, Distributed Storage, Containers, and Virtual Machines.
  • the application maintenance interface of the application management platform 1221 may further display an update button.
  • the "+” button 210 means adding an "application name” option.
  • the "-” button 220 means to delete the "application name” option.
  • the "Optimize” button 230 represents operations such as upgrading the application. For example, upgrade the version of the application, solve some defects of the application or increase the function of the application, etc.
  • the calculation mode maintenance interface of the application management platform 1221 may also display a “calculation mode” option.
  • the “Computing Mode” options include Big Data Computing Mode, Database Computing Mode, Distributed Storage Computing Mode, Container Computing Mode, and Virtual Machine Computing Mode.
  • the computing mode maintenance interface of the application management platform 1221 may further display an update button.
  • the "+” button 210 means adding a "Calculation Mode” option.
  • the "-” button 220 means to delete the "Calculation Mode” option.
  • the “Optimize” button 230 represents the optimized calculation mode. For example, the parameters of the calculation mode are optimized, so that when the application is run according to the calculation mode of the updated parameters, the application server runs the running effect of the application.
  • the system maintenance personnel can click the update button, and the host 110 responds to the click operation of the system maintenance personnel and sends an update instruction to the application server 121, instructing the application server 121 to update the application or computing mode.
  • the operations of the application or computing mode described above are merely illustrative and not limiting.
  • the functions implemented by the management server 122 may be encapsulated as a software package.
  • the service system 120 may not include the management server 122 .
  • a software package that manages functions implemented by the server 122 may be installed on the application server 121 .
  • the application server 121 provides the application management platform 1221 .
  • the system maintenance personnel can access the application management platform 1221 on the application server 121 through the client, and configure the computing mode, the application, and the application and the computing mode associated with the application to the application server 121 through the application management platform 1221 .
  • personnel with development capabilities such as the provider of the application server can also configure the application server 121 with the computing mode associated with the application.
  • This application does not limit the personnel who configure the computing mode, the application, the application and the computing mode associated with the application, etc. on the application server.
  • the application server 121 stores computing schema files of various computing schemas associated with the application.
  • the computing schema files include at least one of the following: big data computing schema files, database computing schema files, distributed storage computing schema files, container computing schema files, virtual machine computing schema files, search engine computing schema files, and the like.
  • the calculation mode files include software system calculation mode files and hardware system calculation mode files.
  • the software system calculation mode file describes the parameters of the software system of the application server 121 .
  • the parameters of the software system include the parameters of the application and the parameters of the operating system.
  • the hardware system calculation mode file describes the parameters of the hardware system of the application server 121 .
  • the parameters of the hardware system include the following parameters.
  • the system memory management unit refers to the memory management unit under the advanced reduced instruction set computing machine (Advanced Reduced Instruction Set Computing Machines, ARM) architecture.
  • the SMMU is used to map the peripheral address space to the processor's address space.
  • Prefetching is used to load data that may be used in memory into the processor's cache memory.
  • the storage form of the parameters of the hardware system in the computing device in the big data computing mode is shown in the following code.
  • the parameters of the operating system include the network card receive buffer (rx_buff), the ring buffer (ring_buffer), the large receive offload (LRO), the interrupt balance switch (irqbalance), and the card buffer switch. (RAID_cache), dirty background ratio (dirty_background_ratio) and how long dirty data can survive (dirty_expire_centisecs).
  • LRO is used by the network card to combine small data into large data packets and transmit the large data packets to the processor for processing.
  • dirty_background_ratio refers to the percentage of memory that can be filled with dirty data (dirty data is modified pages stored in memory, with writes to disk). If this value is exceeded, data will be written to disk.
  • dirty_expire_centisecs means that the kernel write buffer (pdflush) refresh time is up, and the dirty data is written to disk.
  • the parameters of the operating system in the big data computing mode are stored in the computing device as shown in the following code.
  • the parameters of the application include the following parameters.
  • yarn.nodemanager.numa-awareness.enabled refers to the switch that controls the yarn component to utilize the hardware non-uniform memory access (NUMA) feature.
  • NUMA hardware non-uniform memory access
  • yarn.nodemanager.resource.cpu-vcores refers to the total memory that the node manager process (nodemanager) of a single machine can use.
  • yarn.nodemanager.ResourceManager.Javaheapsize refers to the java heap memory of the resource management process (resourcemanager).
  • yarn.nodemanager.NodeManager.Javaheapsize refers to the Java heap size of the node manager.
  • mapreduce.map.memory.mb refers to the maximum memory that a single map container can use.
  • mapreduce.reduce.memory.mb refers to the maximum memory that a single reduce container can use.
  • HDFS.NameNode.Javaheapsize refers to the heap memory of the namespace node (namenode), which is related to the number of files.
  • HDFS.DataNode.dfs.datanode.handler.count refers to the concurrent number of remote procedure call (RPC) requests for datanode nodes.
  • HDFS.NameNode.service.handler.count refers to the concurrent number of remote procedure call requests for namespace nodes.
  • tez.am.resource.memory.mb refers to the Tez application master (AM) container memory.
  • tez.runtime.io.sort.mb refers to the output sort memory size.
  • tez.am.container.reuse.enabled refers to the container reuse switch.
  • tez.runtime.unordered.output.buffer.size-mb refers to the size of the buffer used if the connection (map Join) when writing database code does not directly use the disk.
  • tez.am.resource.cpu.vcores refers to the number of processor cores of the Tez AM container.
  • tez.container.max.java.heap.fraction refers to the proportion of the memory size of the java virtual machine (jvm) occupied by the task/application manager (task/AM).
  • the storage form of the parameters of the application in the big data computing mode in the computing device is shown in the following code.
  • mapreduce.map.memory.mb 7168 #app parameter
  • mapreduce.reduce.memory.mb 14336 #app parameter
  • the application server 121 may preconfigure a computing mode file.
  • the application server 121 is configured with multiple types of databases, and the application server 121 may configure a calculation schema file associated with the database.
  • the application server 121 preconfigures a computing schema file.
  • the application server 121 is configured with a MySQL database, a TiDB database, and an in-memory database (redis), and the application server 121 is configured with a computing schema file for the MySQL database, the TiDB database, and the in-memory database (redis), respectively.
  • application server 121 includes software management system 1211 and hardware management system 1212 .
  • the software management system 1211 is used to manage the parameters of the application and the parameters of the operating system.
  • the hardware management system 1212 is used to manage the hardware resources of the application server 121 .
  • the hardware resources of the application server 121 include computing resources, storage resources, memory resources and network resources.
  • the software management system 1211 and the hardware management system 1212 may be two mutually isolated systems. For example, the software management system 1211 is run by a processor running an application. Hardware management system 1212 is run by another processor. Alternatively, the software management system 1211 and the hardware management system 1212 may also be run by the same processor.
  • the hardware management system 1212 may be an intelligent baseboard management controller (iBMC).
  • iBMC is a server embedded management system for the full life cycle of application servers.
  • iBMC provides a series of management functions such as status monitoring, deployment, energy saving, and security of application server hardware.
  • the hardware may include a main processor, memory, image processor, and the like.
  • the software management system 1211 includes an intelligent baseboard management agent (iBMA) and an application parameter manager (APM) system. iBMA and APM run on the service processor and operating system of the application server 121 .
  • iBMA intelligent baseboard management agent
  • API application parameter manager
  • the method for configuring the calculation mode provided by this embodiment will be described in detail.
  • the host 110 and the application server 121 in FIG. 1 are used as examples for description.
  • the method includes the following steps:
  • the application server 121 determines a first computing mode associated with the first application from the computing mode pool.
  • the system maintenance personnel can instruct the application server 121 to run the first application and select a computing mode for running the first application.
  • the system maintenance personnel can also instruct the application server 121 to switch the running application and select the computing mode of the running application. For example, when the application server 121 runs the second application, it switches from the already running second application to running the first application according to the instruction message, determines the first computing mode associated with the first application, and runs the first application according to the first computing mode .
  • a client eg, a browser 111 or a client application 112
  • System maintenance personnel can access the application management platform 1221 through the client on the host 110 .
  • the interface of the application management platform 1221 may display an "application name" option.
  • the Application Name options include Big Data, Database, Distributed Storage, Containers, and Virtual Machines.
  • the interface of the application management platform 1221 may also display a "configure” button 510 and an "adaptive" option 520 .
  • the "adaptive" option 520 instructs the application server 121 to select a computing mode suitable for running the first application.
  • the application server 121 determines the first computing mode associated with the first application. For example, as shown in (b) of FIG. 5 , the system maintainer first clicks the “application name (eg: database)” option 530 , then selects the “adaptive” option 520 , and clicks the “configure” button 510 . The host 110 responds to the click operation of the system maintenance personnel and uses the database as the first application. The host 110 may generate an indication message, and send the indication message to the application server 121 (optional step S405 is performed), where the indication message includes the identifier of the first application. The host 110 may also forward the instruction message to the application server 121 through the management server 122 .
  • the system maintainer first clicks the “application name (eg: database)” option 530 , then selects the “adaptive” option 520 , and clicks the “configure” button 510 .
  • the host 110 responds to the click operation of the system maintenance personnel and uses the database as the first application.
  • the host 110 may generate
  • the application server 121 After receiving the instruction message, the application server 121 determines the first computing mode associated with the first application from the computing mode pool according to the instruction of the instruction message, and runs the first application according to the first computing mode. Therefore, since the application server automatically selects the first calculation mode from a plurality of preconfigured calculation modes according to the first application, the process of configuring the calculation mode of the application server to run the application is simplified, and the software system of the application server is solved manually. The problem of high complexity and long tuning cycle in co-tuning with hardware system. In addition, the first computing mode selected by the application server is suitable for running the first application, so the operation effect of the application server running the first application is also improved.
  • the application server 121 need not determine the first computing mode associated with the first application. For example, the system maintainer first clicks the "application name (eg: database)" option 530 and clicks the "configure” button 510, but does not select the "adaptive” option 520.
  • the host 110 responds to the click operation of the system maintenance personnel and uses the database as the first application.
  • the host 110 may generate an indication message, and send the indication message to the application server 121 (execute S405), where the indication message includes the identifier of the first application.
  • the application server 121 runs the first application according to the currently valid computing mode. Because the application server does not automatically select the first computing mode from the pre-configured computing modes according to the first application, and runs the first application according to the currently valid computing mode, the application server may have poor running effect of running the first application.
  • the application server 121 is pre-configured with multiple databases, after the system maintainer clicks the "database” option 530, as shown in (c) in FIG.
  • the database interface shows a MySQL database, TiDB database, or an in-memory database (redis). If the system maintainer clicks the "TiDB” option 531, and the system maintainer selects the "Adaptive” option 520, and clicks the "Configure” button 510. The host 110 responds to the click operation of the system maintenance personnel and uses TiDB as the first application.
  • the application server 121 receives the instruction message, and before running the first application, determines the first calculation mode associated with the first application from the calculation mode pool according to the identifier of the first application, makes the first calculation mode effective, and runs according to the first calculation mode first application.
  • the first calculation mode includes a first software system calculation mode and a first hardware system calculation mode.
  • the application server 121 may run the first application according to the first software system computing mode and the first hardware system computing mode.
  • the first software system computing mode indicates parameters of the operating system running the first application and parameters of the first application.
  • the application server 121 adaptively determines the first computing mode from the computing mode pool according to the first application, so that the running effect of running the first application in the first computing mode is better than that of other computing modes in the computing mode pool.
  • the running effect of the first application For example, the application server 121 adaptively determines the first calculation mode from the calculation mode pool according to the first application by using a related algorithm of machine learning. After the application server 121 runs the first application according to the first computing mode, the corresponding relationship between the application and the computing mode can be updated by using the relevant algorithm of machine learning, so that the application server 121 can run the application in a more reasonable computing mode.
  • the application server 121 preconfigures the corresponding relationship between the application and the computing mode.
  • the application server 121 determines the first computing mode from the computing mode pool according to the first application and the corresponding relationship.
  • the corresponding relationship includes the corresponding relationship between the first application and the first computing mode.
  • the correspondence between applications and computing modes can be presented in the form of a table. As shown in Table 1.
  • App ID calculation mode Application 1 Computation Mode 1 Application 2 Computation Mode 2 Application 3 Computation Mode 3 App 4 Computation Mode 4
  • the calculation mode associated with application 1 is calculation mode 1.
  • the computing mode associated with application 2 is computing mode 2.
  • the computing mode associated with application 3 is computing mode 3 .
  • the computing mode associated with application 4 is computing mode 4 .
  • Table 1 only shows the storage form of the corresponding relationship between the application and the calculation mode in the storage device in the form of a table, and does not limit the storage form of the corresponding relationship between the application and the calculation mode in the storage device.
  • the storage form of the correspondence between the application and the computing mode in the storage device may also be stored in other forms, which is not limited in this embodiment.
  • the application server 121 can query Table 1 to determine that the calculation mode associated with application 1 is calculation mode 1, and the application server 121 makes calculation mode 1 effective, according to calculation mode 1 Run app 1. If application 1 is a database, calculation mode 1 is a database calculation mode. The application server 121 validates the database calculation mode file, and the application server 121 runs the database according to the database calculation mode.
  • the database calculation schema file may include parameters of the software system and parameters of the hardware system suitable for running the database.
  • the first application is the application to be run.
  • the application server 121 may also determine a first computing mode associated with the first application after running the first application, and run the first application according to the first computing mode.
  • the first application is the already running application.
  • the application server 121 runs the second application according to the second computing mode
  • the application server 121 switches from the already running second application to running the first application
  • the application server 121 determines the first computing mode associated with the first application, according to the first application.
  • a computing mode runs the first application.
  • the indication message may further include an identification of the first computing mode associated with the first application.
  • the application server 121 After receiving the identifier of the first computing mode, the application server 121 determines the first computing mode according to the identifier of the first computing mode, and runs the first application according to the first computing mode.
  • the application server 121 may run the third application with the parameters of the software system and the parameters of the hardware system described in the first computing mode without switching the computing mode.
  • the so-called applications with similar functions may refer to applications with similar functions.
  • the third application is a MySQL database
  • the first application is a TiDB database.
  • the application server 121 can also select the computing mode pool from the A third computing mode associated with the third application is determined in the third application, and the third application is run according to the third computing mode.
  • the interface of the application management platform 1221 does not display the "adaptive" option 520.
  • the system maintainer first clicks the “application name (eg: database)” option 530 , and then clicks the “configure” button 510 .
  • the host 110 responds to the click operation of the system maintenance personnel and uses the database as the first application.
  • the host 110 instructs the application server 121 to run the first application, and the application server 121 automatically determines the first computing mode associated with the first application from the computing mode pool, and runs the first application according to the first computing mode.
  • the application server 121 adaptively determines the first calculation mode from the calculation mode pool according to the first application, or determines the first calculation mode from the calculation mode pool according to the first application and the corresponding relationship, and further, according to the first calculation mode Run the first application.
  • the application server 121 determines the first computing mode associated with the first application according to the identifier of the first application indicated by the host 110 or the identifier of the first computing mode, and runs the first application according to the first computing mode.
  • the host 110 may also send a configuration file to the application server 121, where the configuration file includes the identifier of the first application, the identifier of the first computing mode, and the computing mode file.
  • the application server 121 selects the first calculation mode file indicated by the identifier of the first calculation mode from the plurality of calculation mode files in the configuration file, the first calculation mode file is associated with the first application, and the application server 121 describes the first calculation mode file according to the first calculation mode file.
  • the parameters of the software system and the parameters of the hardware system run the first application.
  • the application server 121 runs the first application according to the first computing mode.
  • the application server 121 may also send a configuration complete message to the host 110 (optional step S403 is performed).
  • the host 110 receives the configuration complete message sent by the application server 121 (optional step S404 is performed).
  • the host 110 may also display a configuration completion prompt, so that the system maintenance personnel can intuitively see that the application server 121 has completed the configuration of the first computing mode.
  • the application server 121 is used to run an application as an example for description.
  • the application server 121 may deploy a plurality of virtual servers using a virtual technology (such as a virtual machine or a container).
  • Each virtual server Can run different apps or apps of the same type.
  • the computing modes of virtual servers running different applications are also different. Understandably, each virtual server is an independent system, and each virtual server runs its own software management system 1211 .
  • the software system compute mode file configured for each virtual server is appropriate for the applications it runs. All virtual servers in the application server 121 may share the parameters of the hardware system described in a hardware system computing model file. For example, as shown in FIG.
  • the application server 121 includes a virtual server 1 and a virtual server 2, and the virtual server 1 and the virtual server 2 run the software management system 1211 respectively.
  • the application server 121 runs the hardware management system 1212 .
  • the software management system 1211 run by all virtual servers in the application server 121 may communicate with the hardware management system 1212 .
  • the functions provided by the management server 122 also support batch configuration of the computing mode of the application server 121 .
  • the interface of the application management platform 1221 displays options 710 of multiple “servers” (eg, the application server 121 ).
  • the system maintenance personnel can click on the interface of the application management platform 1221 to display the "Server” option 710, select a different server, and the host 110 responds to the click operation of the system maintenance personnel, as shown in (b) in FIG. 7 , the interface of the application management platform 1221
  • the "App Name" option can be displayed.
  • the “configure” button 510 may be clicked.
  • the host 110 generates an instruction message in response to the click operation of the system maintenance personnel, and sends the instruction message to the application server 121 .
  • the host 110 may generate multiple indication messages, and send one indication message to each application server 121 . Indicates that the message contains the application ID.
  • the indication message may also contain an identification of the computing mode associated with the application.
  • the host 110 may generate an indication message and send the indication message to the management server 122, where the indication message includes the identifiers of the multiple application servers and the application identifiers.
  • the management server 122 receives the indication message sent by the host 110, and sends the corresponding application identifiers to the application servers 121 indicated by the identifiers of the multiple application servers.
  • Each application server 121 configures the computing mode according to the method for configuring the computing mode described in the above embodiments. In this way, the host 110 sends instruction messages to multiple application servers 121 at the same time, so that the application servers 121 can be tuned at the same time, which further greatly shortens the tuning time.
  • each application server 121 may also be different, that is, the parameters of the software system and the parameters of the hardware system are different.
  • each application server 121 may also have the same computing mode, that is, the parameters of the software system and the hardware system are the same.
  • the application server includes corresponding hardware structures and/or software modules for executing each function.
  • the units and method steps of each example described in conjunction with the embodiments disclosed in the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software-driven hardware depends on the specific application scenarios and design constraints of the technical solution.
  • FIG. 8 is a schematic structural diagram of a configuration apparatus provided in this embodiment. These configuration apparatuses can be used to implement the function of the application server in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.
  • the configuration device may be the application server 121 shown in FIG. 1 or FIG. 3 , or may be a module (eg, a chip) applied to the server.
  • the configuration apparatus 800 includes a communication module 810 , a selection module 820 , an operation module 830 and a storage module 840 .
  • the configuration apparatus 800 is configured to implement the function of the application server 121 in the method embodiment shown in FIG. 4 above.
  • the communication module 810 is used to receive the application identifier or the calculation mode identifier included in the indication information sent by the host 110 , and the selection module 820 is used to implement The function of S401 is to determine the first calculation mode associated with the first application from the calculation mode pool; the running module 830 is used to implement the function of S402, that is, to run the first application according to the first calculation mode; the storage module 840 is used to store the The configured compute mode file.
  • the communication module 810 is further configured to send a configuration complete message to the host 110 .
  • Embodiments of the present application further provide a computer-readable storage medium, including instructions, which, when executed on a computing device, cause the computing device to execute the above-mentioned method for configuring a computing mode applied to the configuration apparatus 800 .
  • FIG. 9 is a schematic structural diagram of a computer system provided in this embodiment.
  • computer system 900 includes computing device 910 .
  • Computing device 910 includes a processor 911 connected to system memory 912 .
  • the processor 911 can be a central processing unit (CPU), an image processor (graphics processing unit, GPU), a field programmable gate array (FPGA), or a digital signal processor (digital signal processor). , DSP) and other computing logic or a combination of any of the above computing logic.
  • the processor 911 may be a single-core processor or a multi-core processor.
  • the bus 913 is used for transferring information among the components of the computing device 910 , and the bus 913 may use a wired connection manner or a wireless connection manner, which is not limited in this embodiment.
  • the bus 913 is also connected to a secondary storage 914, an input/output interface 915, and a communication interface 916.
  • the bus 913 may be an industry standard architecture (ISA) bus, a peripheral component (PCI) bus, an extended industry standard architecture (EISA) bus, or the like.
  • ISA industry standard architecture
  • PCI peripheral component
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on.
  • auxiliary storage 914 is also generally referred to as external storage, and the storage medium of the auxiliary storage 914 may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, an optical disk), or a semiconductor medium (eg, a solid state disk, SSD)) etc.
  • auxiliary storage 914 may further include remote storage separate from processor 911, such as auxiliary storage 930 accessed through communication interface 916 and network 920, such as a network disk (including network file system) , NFS) and other network or cluster file systems).
  • the input/output interface 915 may also be connected with an input/output device for receiving input information and outputting operation results.
  • the input/output device can be a mouse, a keyboard, a monitor, or an optical drive.
  • the communication interface 916 uses a transceiver such as but not limited to a transceiver to implement communication with other devices or the network 920, and the communication interface 916 can be interconnected with the network 920 in a wired or wireless manner.
  • a transceiver such as but not limited to a transceiver to implement communication with other devices or the network 920, and the communication interface 916 can be interconnected with the network 920 in a wired or wireless manner.
  • System memory 912 may include software such as operating system 9121 (eg Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS or embedded operating system (eg Vxworks)), applications 9122, software management system 9123, hardware management system 9124 and calculation schema files 9125 etc.
  • operating system 9121 eg Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS or embedded operating system (eg Vxworks)
  • applications 9122 eg Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS or embedded operating system (eg Vxworks)
  • applications 9122 eg Vxworks
  • Calculation schema files 9125 may include calculation schema files for software systems and calculation schema files for hardware systems.
  • a software system calculation mode file indicates a calculation mode associated with an application. For example, the calculation mode indicated by the software system calculation mode file of big data is associated with the big data.
  • the software system calculation mode files stored in the system memory 912 include one or more of the following: software system calculation mode files for big data, software system calculation mode files for databases, software system calculation mode files for distributed storage, and software system calculation mode files for containers file, the software system calculation mode file of the virtual machine, and the software system calculation mode file of the search engine.
  • a computing mode indicated by a hardware system computing mode file is associated with an application.
  • the calculation mode indicated by the hardware system calculation mode file of big data is associated with the big data.
  • the hardware system calculation mode files stored in the system memory 912 include one or more of the following: hardware system calculation mode files for big data, hardware system calculation mode files for databases, hardware system calculation mode files for distributed storage, and hardware system calculation mode files for containers file, the hardware system calculation mode file of the virtual machine, and the hardware system calculation mode file of the search engine.
  • the communication interface 916 can realize the function of the communication module 810 , and the processor 911 can realize the function of the selection module 820 and the function of the operation module 830 .
  • the system memory 912 may implement the functions of the storage module 840 .
  • the computing device 910 transmits the instruction message to the processor 911, and the processor 911 determines to run the first application and the first computing mode associated with the first application according to the instruction message. Further, the processor 911 selects the first software system associated with the first application from a plurality of preset software system calculation mode files stored in the system memory 912 by executing the software program of the software management system 9123 stored in the system memory 912
  • the calculation mode file makes the calculation mode file of the first software system take effect.
  • the first software system calculation mode file describes the parameters of the software system, that is, the first software system calculation mode file describes the parameters of the operating system and the parameters of the first application when the computing device 910 runs the first application.
  • the processor 911 also selects the first hardware system calculation associated with the first application from a plurality of preset hardware system calculation mode files stored in the system memory 912 by executing the software program of the hardware management system 9124 stored in the system memory 912. mode file, so that the first hardware system computing mode file takes effect.
  • the first hardware system calculation mode file describes the parameters of the hardware system, that is, the first hardware system calculation mode file describes the parameters of the hardware system when the computing device 910 runs the first application.
  • the processor 911 calls the program and data of the first application stored in the system memory 912 to describe in the first software system calculation mode file
  • the parameters of the software system and the parameters of the hardware system described in the first hardware system calculation mode file run the first application to realize the functions of the first application.
  • the hardware management system 9124 is run by a processor other than the processor 911 in the computing device 910.
  • the processor 911 may also transmit an identification of the first computing mode associated with the first application to the processor running the hardware management system 9124.
  • the processor running the hardware management system 9124 selects the first hardware system calculation mode file associated with the first application from a plurality of preset hardware system calculation mode files, so that the first hardware system calculation mode file takes effect.
  • FIG. 9 is only an example of a computer system 900, and the computer system 900 may include more or less components than those shown in FIG. 9, or have components configured in different ways. Meanwhile, various components shown in FIG. 9 may be implemented in hardware, software, or a combination of hardware and software.
  • the method steps in this embodiment may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
  • Software instructions can be composed of corresponding software modules, and software modules can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (programmable ROM) , PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), registers, hard disks, removable hard disks, CD-ROMs or known in the art in any other form of storage medium.
  • An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and storage medium may reside in an ASIC.
  • the ASIC may be located in a network device or in an end device.
  • the processor and the storage medium may also exist in the network device or the terminal device as discrete components.
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • software it can be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer programs or instructions.
  • the processes or functions described in the embodiments of the present application are executed in whole or in part.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, network equipment, user equipment, or other programmable apparatus.
  • the computer program or instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program or instructions may be downloaded from a website site, computer, A server or data center transmits by wire or wireless to another website site, computer, server or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server, data center, or the like that integrates one or more available media.
  • the usable medium can be a magnetic medium, such as a floppy disk, a hard disk, and a magnetic tape; it can also be an optical medium, such as a digital video disc (DVD); it can also be a semiconductor medium, such as a solid state drive (solid state drive). , SSD).
  • a magnetic medium such as a floppy disk, a hard disk, and a magnetic tape
  • it can also be an optical medium, such as a digital video disc (DVD)
  • DVD digital video disc
  • it can also be a semiconductor medium, such as a solid state drive (solid state drive). , SSD).

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

一种配置计算模式的方法、装置及计算设备,涉及计算机领域,由此提供了一种更简单的针对应用场景配置计算设备的计算模式的方法。该方法包括计算设备预先配置计算模式池,计算模式池包括至少两个计算模式。在计算设备确定待运行第一应用或已运行第一应用后,从计算模式池中确定与第一应用关联的第一计算模式,按照第一计算模式运行第一应用。由于该第一计算模式是计算设备根据第一应用确定的适于运行第一应用的计算模式,从而不仅简化了配置计算设备运行应用的计算模式的过程,解决了采用人工方式对计算设备的软件系统和硬件系统协同调优的复杂度高和调优周期长的问题,还提高了计算设备运行第一应用的运行效果。

Description

配置计算模式的方法、装置及计算设备 技术领域
本申请涉及计算机领域,尤其涉及一种配置计算模式的方法、装置及计算设备。
背景技术
随着互联网技术(internet technology,IT)技术的高速发展,计算设备系统越来越复杂。例如,硬件种类、硬件的功能特性、软件种类越来越多。在计算设备运行不同的应用的场景下,系统维护人员对软件系统和硬件系统做调整和配置,使计算设备达到该应用场景的最佳运行效果。但是,采用人工方式对计算设备的软件系统和硬件系统协同调优的复杂度很高,要求系统维护人员具备对软件系统、硬件系统和应用的功能特性的详细了解和调优经验,而且调优周期也非常长。因此,如何提供一种更简单的针对应用场景配置计算设备的计算模式(compute mode,CM)的方法是一个亟待解决的问题。
发明内容
本申请提供一种配置计算模式的方法、装置及计算设备,由此提供了一种更简单的针对应用场景配置计算设备的计算模式的方法。
第一方面,本申请提供一种配置计算模式的方法,该方法可以应用于应用服务器,该应用服务器预配置计算模式池,该计算模式池包括至少两个计算模式,该方法具体包括如下步骤:在应用服务器确定待运行第一应用或已运行第一应用后,从计算模式池中确定与第一应用关联的第一计算模式,按照第一计算模式运行第一应用。其中,第一计算模式为计算模式池中任意一个模式。由于应用服务器依据第一应用从预先配置的多个计算模式中自动选择第一计算模式,从而简化了配置应用服务器运行应用的计算模式的过程,解决了采用人工方式对应用服务器的软件系统和硬件系统协同调优的复杂度高和调优周期长的问题。另外,应用服务器选择的第一计算模式是适于运行第一应用的,因此还提高了应用服务器运行第一应用的运行效果。
其中,与计算模式池包含的计算模式关联的应用包括以下一种或多种:大数据、数据库、分布式存储、容器、虚拟机。
在一种可能的实现方式中,应用服务器可以自行确定适于运行第一应用的第一计算模式。从计算模式池中确定与第一应用关联的第一计算模式,包括:根据第一应用从计算模式池中自适应地确定第一计算模式,使得以第一计算模式运行第一应用的运行效果优于计算模式池中其他计算模式运行第一应用的运行效果。其中,应用服务器确定的适于运行第一应用的第一计算模式是应用服务器根据历史运行效果学习得到的。
在另一种可能的实现方式中,应用服务器还可以根据预先配置的对应关系确定适于运行第一应用的第一计算模式。从计算模式池中确定与第一应用关联的第一计算模式,包括:根据第一应用和对应关系从计算模式池中确定第一计算模式,对应关系包含第一应用与第一计算模式的对应关系。由于应用服务器依据第一应用从预先配置的对应关系中自动选择第一计算模式,从而简化了配置应用服务器运行应用的计算模式的过程,解决了采用人工方式对应用服务器的软件系统和硬件系统协同调优的复杂度高和调优周期长的问题。另外,应用服务 器选择的第一计算模式是适于运行第一应用的,因此还提高了应用服务器运行第一应用的运行效果。
上述实施例中应用服务器可以是通过自主识别应用服务器运行的第一应用,依据第一应用选择适于运行第一应用的第一计算模式。
在另一种可能的实现方式中,应用服务器也可以接收来自主机的指示消息,应用服务器根据指示消息指示选取适于运行第一应用的第一计算模式。
应用服务器可以在运行第一应用之前确定与第一应用关联的第一计算模式,或者运行第一应用之后确定与第一应用关联的第一计算模式,即第一应用可以是待运行的应用或已运行的应用。例如,应用服务器从已运行的第二应用切换到运行第一应用,从计算模式池中确定与第一应用关联的第一计算模式。第一应用为已运行的应用。计算模式池包含的第二计算模式与第二应用关联。
另外,应用服务器也可以接收来自主机的第一更新消息,第一更新消息用于指示更新对应关系,更新包括删除、增加或优化对应关系中应用对应的计算模式。或者,应用服务器也可以接收来自主机的第二更新消息,第二更新消息用于指示更新计算模式池,更新包括删除、增加或优化计算模式池中的计算模式。从而,以便于应用服务器依据应用配置更加合适的计算模式,使计算设备达到应用场景的最佳运行效果。
此外,应用服务器按照第一计算模式运行第一应用后,还可以向主机发送配置完成消息。主机还可以显示配置完成提示,以便于系统维护人员直观地可以看到应用服务器已完成第一计算模式的配置。
在另一种可能的实现方式中,第一计算模式包括第一软件系统计算模式和第一硬件系统计算模式,按照第一计算模式运行第一应用,包括:按照第一计算模式包括的第一软件系统计算模式和第一硬件系统计算模式运行第一应用。其中,第一软件系统计算模式指示了运行第一应用的操作系统的参数和第一应用的参数。
第二方面,提供了一种配置装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的配置计算模式的方法的各个模块。
第三方面,提供一种计算设备,该计算设备包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的配置计算模式的方法的操作步骤。
第四方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在计算设备中运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
第五方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请实施例提供的一种通信系统的架构示意图;
图2为本申请实施例提供的一种配置应用和计算模式的界面示意图;
图3为本申请实施例提供的一种应用服务器中管理系统的逻辑示意图;
图4为本申请实施例提供的一种配置计算模式的方法的流程图;
图5为本申请实施例提供的一种配置应用的主机界面示意图;
图6为本申请实施例提供的另一种应用服务器中管理系统的逻辑示意图;
图7为本申请实施例提供的一种批量配置计算模式的主机界面示意图;
图8为本申请实施例提供的一种配置装置的组成示意图;
图9为本申请实施例提供的一种计算机系统的组成示意图。
具体实施方式
本申请说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
“多个”是指两个或两个以上,其它量词与之类似。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。再者,至少一个(at least one of).......”意味着后续关联对象中的一个或任意组合,例如“A、B和C中的至少一个”包括A,B,C,AB,AC,BC,或ABC。
下面将结合附图对本申请实施例的实施方式进行详细描述。
图1是本实施例提供的一种通信系统的架构示意图。如图1所示,该通信系统包括主机110和服务系统120。主机110和服务系统120之间通过无线或有线的方式相连。例如,主机110可以通过网络130与服务系统120进行通信。网络130可以是互联网络(internet)。互联网络包括至少一个网络设备。网络设备包括路由器和交换机等。
其中,主机110可以是固定位置的,也可以是可移动的。主机110也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。本实施例对主机110所采用的具体技术和具体设备形态不做限定。
服务系统120可以是一个云服务系统。服务系统120包括多个应用服务器121,多个应用服务器121组成一个服务器集群。多个应用服务器121可以是独立的不同的物理设备。图1只是示意图,本实施例对该通信系统中包括的主机、网络设备和应用服务器的数量不做限定。
不同的应用服务器121可以实现不同应用的功能或相同应用的功能。例如,一个应用部署在一个应用服务器121上。比如将大数据部署在一个应用服务器121上,将数据库部署在一个应用服务器121上。又如,一个应用部署在至少两个应用服务器121上,每个应用服务器121上部署了一个应用的部分功能。比如将分布式存储部署在多个应用服务器121上。又如,多个应用部署在一个应用服务器121上。
应用也可以称为应用服务或服务。应用可以包括以下至少一种:大数据(big data)、数据库、分布式存储、容器(container)、虚拟机(virtualized machine,VM)、搜索引擎等。其 中,数据库还可以具体分为MySQL数据库、TiDB数据库和内存数据库(redis)。分布式存储还可以具体分为ceph和glusterFS。
主机110安装有客户端(如:浏览器111或客户端应用112)。客户端(client)也可以称为用户端,与服务器相对应,为系统维护人员提供本地服务的程序。系统维护人员可以通过客户端对应用服务器121配置应用和与应用关联的计算模式。例如,计算模式可以包括以下至少一种:大数据计算模式、数据库计算模式、分布式存储计算模式、容器计算模式、虚拟机计算模式、搜索引擎计算模式等。应用服务器121可以预先存储有应用池和计算模式池。计算模式池包括至少两个计算模式。应用池包括至少两个应用。一个应用可以与一个计算模式关联。
在一些实施例中,服务系统120还包括管理服务器122。管理服务器122用于对应用服务器121运行的应用和与应用关联的计算模式的生命周期进行管理。生命周期包括部署、删除和优化等。例如,管理服务器122提供了应用管理平台1221。系统维护人员可以通过客户端访问应用管理平台1221,通过应用管理平台1221对应用服务器121配置计算模式、应用,以及应用和与应用关联的计算模式等。
示例的,系统维护人员可以通过主机110上的客户端访问应用管理平台1221。如图2中的(a)所示,应用管理平台1221的应用维护界面可以显示“应用名称”选项。“应用名称”选项包括大数据、数据库、分布式存储、容器和虚拟机。应用管理平台1221的应用维护界面可以还显示更新按钮。例如,“+”按钮210,表示增加“应用名称”选项。“-”按钮220,表示删除“应用名称”选项。“优化”按钮230,表示对应用进行升级等操作。例如,对应用的版本进行升级,解决应用程序的一些缺陷或增加应用程序的功能等。如图2中的(b)所示,应用管理平台1221的计算模式维护界面还可以显示“计算模式”选项。“计算模式”选项包括大数据计算模式、数据库计算模式、分布式存储计算模式、容器计算模式和虚拟机计算模式。应用管理平台1221的计算模式维护界面可以还显示更新按钮。例如,“+”按钮210,表示增加“计算模式”选项。“-”按钮220,表示删除“计算模式”选项。“优化”按钮230,表示优化计算模式。例如,优化计算模式的参数,使得依据更新后参数的计算模式运行应用时,应用服务器运行应用的运行效果。系统维护人员可以点击更新按钮,主机110响应系统维护人员的点击操作,向应用服务器121发送更新指示,指示应用服务器121更新应用或计算模式。上述对应用或计算模式的操作只是举例性说明,不予限定。
在另一些实施例中,可以将管理服务器122实现的功能封装为一个软件包。服务系统120可以不包括管理服务器122。应用服务器121上可以安装有管理服务器122实现的功能的软件包。例如,应用服务器121提供了应用管理平台1221。系统维护人员可以通过客户端访问应用服务器121上的应用管理平台1221,通过应用管理平台1221对应用服务器121配置计算模式、应用,以及应用和与应用关联的计算模式等。
除了系统维护人员可以为应用服务器121配置与应用关联的计算模式外,应用服务器的提供商等具有开发能力的人员也可以应用服务器121配置与应用关联的计算模式。本申请对应用服务器配置计算模式、应用,以及应用和与应用关联的计算模式等的人员不予限定。
具体的,应用服务器121存储多种与应用关联的计算模式的计算模式文件。例如,计算模式文件包括以下至少一种:大数据计算模式文件,数据库计算模式文件,分布式存储计算模式文件,容器计算模式文件,虚拟机计算模式文件,搜索引擎计算模式文件等。
计算模式文件包括软件系统计算模式文件和硬件系统计算模式文件。软件系统计算模式文件描述了应用服务器121的软件系统的参数。软件系统的参数包括应用的参数和操作系统 的参数。硬件系统计算模式文件描述了应用服务器121的硬件系统的参数。
例如,对于大数据计算模式,硬件系统的参数包括如下参数。
系统内存管理单元(system memory management unit,SMMU)是指高级精简指令集计算机器(advanced reduced instruction set computing machines,ARM)架构下的内存管理单元。SMMU用于外设地址空间到处理器的地址空间的映射。
预取(Prefetching)用于将内存中可能使用的数据加载到处理器的高速缓存存储器中。
大数据计算模式下的硬件系统的参数在计算设备中的存储形式如下代码所示。
#comupte mode:bigdata
[hardware]
SMMU=off              #hardware parameter
Prefetching=off    #hardware parameter
又如,对于大数据计算模式,操作系统的参数包括网卡接收缓冲区(rx_buff)、环形缓冲区(ring_buffer)、大量接收卸载(large receive offload,LRO)、中断均衡开关(irqbalance)、卡缓冲开关(RAID_cache)、脏的背景比(dirty_background_ratio)和脏数据能存活的时间(dirty_expire_centisecs)。
LRO用于网卡将小数据组合成大数据包,将大数据包传给处理器处理。
dirty_background_ratio指内存可以填充脏数据(脏数据为内存中存储的被修改的页,带写到磁盘)的百分比,超过这个值,将数据写到磁盘。
dirty_expire_centisecs指内核写缓冲区(pdflush)刷新时间到了,将脏数据写到磁盘。
大数据计算模式下的操作系统的参数在计算设备中的存储形式如下代码所示。
[software]
rx_buff=8                      #os parameter
Ring_Buffer=4096               #os parameter
LRO=on                         #os parameter
irqbalance=off                 #os parameter
irbbind=smartIrq.sh            #os parameter
RAID_Cache=on                  #os parameter
dirty_background_ratio=5       #os parameter
dirty_expire_centisecs=2000    #os parameter
又如,对于大数据计算模式,应用的参数包括如下参数。
yarn.nodemanager.numa-awareness.enabled指控制yarn组件利用硬件非一致性内存访问(non-uniform memory access,NUMA)特性的开关。
yarn.nodemanager.resource.cpu-vcores指单台机器的节点管理进程(nodemanager)所能使用的总内存。
yarn.nodemanager.ResourceManager.Javaheapsize指资源管理进程(resourcemanager)的java堆内存。
yarn.nodemanager.NodeManager.Javaheapsize指节点管理器的java堆内存。
mapreduce.map.memory.mb指单个映射容器(map container)所能使用的最大内存。
mapreduce.reduce.memory.mb指单个汇聚容器(reduce container)所能使用的最大内存。
HDFS.NameNode.Javaheapsize指命名空间节点(namenode)堆内存,与文件数目相关。
HDFS.DataNode.dfs.datanode.handler.count指数据节点(datanode)节点远程过程调用 (remote procedure call,RPC)请求的并发数。
HDFS.NameNode.service.handler.count指命名空间节点的远程过程调用请求的并发数。
tez.am.resource.memory.mb指Tez应用管理器(application master,AM)容器内存。
tez.runtime.io.sort.mb指输出排序内存大小。
tez.am.container.reuse.enabled指容器重用开关。
tez.runtime.unordered.output.buffer.size-mb指写数据库代码时的联结(map Join)如果不直接使用磁盘,使用的缓冲区大小。
tez.am.resource.cpu.vcores指Tez AM容器的处理器核数。
tez.container.max.java.heap.fraction指任务/应用管理器(task/AM)占用java虚拟机(jvm)内存大小的比例。
大数据计算模式下的应用的参数在计算设备中的存储形式如下代码所示。
yarn.nodemanager.numa-awareness.enabled=true        #app parameter
yarn.nodemanager.resource.cpu-vcores=128            #app parameter
yarn.nodemanager.ResourceManager.Javaheapsize=1024   #app parameter
yarn.nodemanager.NodeManager.Javaheapsize=1024      #app parameter
mapreduce.map.memory.mb=7168                        #app parameter
mapreduce.reduce.memory.mb=14336                    #app parameter
HDFS.NameNode.Javaheapsize=3072                     #app parameter
HDFS.DataNode.dfs.datanode.handler.count=512        #app parameter
HDFS.NameNode.service.handler.count=32              #app parameter
tez.am.resource.memory.mb=7168                      #app parameter
tez.runtime.io.sort.mb=1892                         #app parameter
tez.am.container.reuse.enabled=true                 #app parameter
tez.runtime.unordered.output.buffer.size-mb=537     #app parameter
tez.am.resource.cpu.vcores=10                       #app parameter
tez.container.max.java.heap.fraction=0.85           #app parameter
对于同一类的应用,应用服务器121可以预先配置一个计算模式文件。例如,应用服务器121配置了多个类型的数据库,应用服务器121可以配置一个与数据库关联的计算模式文件。或者,对于同一类的应用中的每个应用,应用服务器121预先配置一个计算模式文件。例如,应用服务器121配置了MySQL数据库、TiDB数据库和内存数据库(redis),应用服务器121分别为MySQL数据库、TiDB数据库和内存数据库(redis)配置一个计算模式文件。
在一些实施例中,应用服务器121包括软件管理系统1211和硬件管理系统1212。软件管理系统1211用于管理应用的参数和操作系统的参数。硬件管理系统1212用于管理应用服务器121的硬件资源。应用服务器121的硬件资源包括计算资源、存储资源、内存资源和网络资源。软件管理系统1211和硬件管理系统1212可以是两个相互隔离的系统。例如,软件管理系统1211由运行应用的处理器运行。硬件管理系统1212由另一个处理器运行。或者,软件管理系统1211和硬件管理系统1212也可以由同一个处理器运行。
示例的,如图3所示,为本实施例提供的一种应用服务器121中管理系统的逻辑示意图。硬件管理系统1212可以是智能板级管理控制(intelligent baseboard management controller,iBMC)。iBMC是面向应用服务器全生命周期的服务器嵌入式管理系统。iBMC提供了应用服务器的硬件的状态监控、部署、节能、安全等系列管理功能。硬件可以包括主处理器、内存、 图像处理器等。软件管理系统1211包括智能板级管理代理(intelligent baseboard management agent,iBMA)和应用参数管理(application parameter manager,APM)系统。iBMA和APM运行于应用服务器121的业务处理器及操作系统之上。
接下来,结合图4至图7,对本实施例提供的配置计算模式的方法进行详细说明。在这里,以图1中主机110和应用服务器121为例进行说明。如图4所示,该方法包括以下步骤:
S401、应用服务器121从计算模式池中确定与第一应用关联的第一计算模式。
在应用服务器121处于未运行任何应用的初始状态下,系统维护人员可以指示应用服务器121运行第一应用以及选取运行第一应用的计算模式。或者,在应用服务器121处于运行状态下,系统维护人员也可以指示应用服务器121切换运行的应用,以及选取运行的应用的计算模式。例如,应用服务器121运行第二应用时,根据指示消息从已运行的第二应用切换到运行第一应用,并确定与第一应用关联的第一计算模式,按照第一计算模式运行第一应用。
示例的,主机110上安装有客户端(如:浏览器111或客户端应用112)。系统维护人员可以通过主机110上的客户端访问应用管理平台1221。如图5中的(a)所示,应用管理平台1221的界面可以显示“应用名称”选项。“应用名称”选项包括大数据、数据库、分布式存储、容器和虚拟机。应用管理平台1221的界面可以还显示“配置”按钮510和“自适应”选项520。“自适应”选项520指示应用服务器121选取适于运行第一应用的计算模式。如果用户选择了“自适应”选项520,应用服务器121确定与第一应用关联的第一计算模式。例如,如图5中的(b)所示,系统维护人员先点击“应用名称(如:数据库)”选项530,再选择“自适应”选项520,以及点击“配置”按钮510。主机110响应系统维护人员的点击操作,将数据库作为第一应用。主机110可以生成指示消息,向应用服务器121发送指示消息(执行可选步骤S405),指示消息包括第一应用的标识。主机110也可以通过管理服务器122转发向应用服务器121发送指示消息。应用服务器121接收到指示消息后,依据指示消息的指示从计算模式池中确定与第一应用关联的第一计算模式,按照第一计算模式运行第一应用。从而,由于应用服务器依据第一应用从预先配置的多个计算模式中自动选择第一计算模式,从而简化了配置应用服务器运行应用的计算模式的过程,解决了采用人工方式对应用服务器的软件系统和硬件系统协同调优的复杂度高和调优周期长的问题。另外,应用服务器选择的第一计算模式是适于运行第一应用的,因此还提高了应用服务器运行第一应用的运行效果。
如果用户未选择“自适应”选项520,应用服务器121无需确定与第一应用关联的第一计算模式。例如,系统维护人员先点击“应用名称(如:数据库)”选项530以及点击“配置”按钮510,没有选择“自适应”选项520。主机110响应系统维护人员的点击操作,将数据库作为第一应用。主机110可以生成指示消息,向应用服务器121发送指示消息(执行S405),指示消息包括第一应用的标识。应用服务器121接收到指示消息后,按照当前已生效的计算模式运行第一应用。由于应用服务器未依据第一应用从预先配置的多个计算模式中自动选择第一计算模式,按照当前已生效的计算模式运行第一应用,因此应用服务器运行第一应用的运行效果可能较差。
如果应用服务器121预先配置了多个数据库,在系统维护人员点击“数据库”选项530后,如图5中的(c)所示,主机110响应系统维护人员的点击操作,显示数据库界面。数据库界面显示了MySQL数据库、TiDB数据库或内存数据库(redis)。若系统维护人员点击“TiDB”选项531,以及系统维护人员选择“自适应”选项520,以及点击“配置”按钮510。主机110响应系统维护人员的点击操作,将TiDB作为第一应用。
应用服务器121接收到指示消息,运行第一应用之前,依据第一应用的标识从计算模式 池中确定与第一应用关联的第一计算模式,使第一计算模式生效,按照第一计算模式运行第一应用。具体的,第一计算模式包括的第一软件系统计算模式和第一硬件系统计算模式。应用服务器121可以按照第一软件系统计算模式和第一硬件系统计算模式运行第一应用。第一软件系统计算模式指示了运行第一应用的操作系统的参数和第一应用的参数。
在一些实施例中,应用服务器121根据第一应用从计算模式池中自适应地确定第一计算模式,使得以第一计算模式运行第一应用的运行效果优于计算模式池中其他计算模式运行第一应用的运行效果。例如,应用服务器121利用机器学习的相关算法根据第一应用从计算模式池中自适应地确定第一计算模式。应用服务器121按照第一计算模式运行第一应用后,还可以利用机器学习的相关算法更新应用与计算模式的对应关系,以便于应用服务器121采用更合理的计算模式运行应用。
在另一些实施例中,应用服务器121预先配置应用与计算模式的对应关系。应用服务器121根据第一应用和对应关系从计算模式池中确定第一计算模式。对应关系包含第一应用与第一计算模式的对应关系。应用与计算模式的对应关系可以以表格的形式呈现。如表1所示。
表1
应用标识 计算模式
应用1 计算模式1
应用2 计算模式2
应用3 计算模式3
应用4 计算模式4
由表1可知,与应用1关联的计算模式为计算模式1。与应用2关联的计算模式为计算模式2。与应用3关联的计算模式为计算模式3。与应用4关联的计算模式为计算模式4。
需要说明的是,表1只是以表格的形式示意应用与计算模式的对应关系在存储设备中的存储形式,并不是对应用与计算模式的对应关系在存储设备中的存储形式的限定,当然,应用与计算模式的对应关系在存储设备中的存储形式还可以以其他的形式存储,本实施例对此不做限定。
假设应用服务器121接收到的第一应用的标识为应用1,应用服务器121可以查询表1,确定与应用1关联的计算模式为计算模式1,应用服务器121使计算模式1生效,按照计算模式1运行应用1。若应用1是数据库,计算模式1是数据库计算模式。应用服务器121使数据库计算模式文件生效,应用服务器121按照数据库计算模式运行数据库。数据库计算模式文件可以包括适于运行数据库的软件系统的参数和硬件系统的参数。
应理解,应用服务器121在运行第一应用之前,第一应用是待运行的应用。应用服务器121也可以在运行第一应用之后,确定与第一应用关联的第一计算模式,按照第一计算模式运行第一应用。此时,第一应用是已运行的应用。例如,应用服务器121按照第二计算模式运行第二应用,应用服务器121从已运行的第二应用切换到运行第一应用,应用服务器121再确定与第一应用关联的第一计算模式,按照第一计算模式运行第一应用。
在另一些实施例中,指示消息还可以包括与第一应用关联的第一计算模式的标识。应用服务器121接收到第一计算模式的标识后,依据第一计算模式的标识确定第一计算模式,按照第一计算模式运行第一应用。
在另一些实施例中,在应用服务器121以第一计算模式描述的软件系统的参数和硬件系统的参数运行第一应用之后,如果应用服务器121切换运行第三应用,第三应用和第一应用属于同类功能的应用,应用服务器121可以无需切换计算模式,仍以第一计算模式描述的软 件系统的参数和硬件系统的参数运行第三应用。所谓同类功能的应用可以是指具有相似功能的应用。例如,第三应用是MySQL数据库,第一应用是TiDB数据库。此外,如果应用服务器121已配置了适于运行第三应用的第三计算模式,以及适于运行第一应用的第一计算模式,应用服务器121切换运行第三应用后,也可以从计算模式池中确定与第三应用关联的第三计算模式,按照所述第三计算模式运行所述第三应用。
在另一些实施例中,如果应用管理平台1221的界面未显示“自适应”选项520。系统维护人员先点击“应用名称(如:数据库)”选项530,再点击“配置”按钮510。主机110响应系统维护人员的点击操作,将数据库作为第一应用。主机110指示应用服务器121运行第一应用,应用服务器121自行从计算模式池中确定与第一应用关联的第一计算模式,按照第一计算模式运行第一应用。例如,应用服务器121根据第一应用从计算模式池中自适应地确定第一计算模式,或者,根据第一应用和对应关系从计算模式池中确定第一计算模式,进而,按照第一计算模式运行第一应用。
上述实施例中,应用服务器121依据主机110指示的第一应用的标识或第一计算模式的标识确定与第一应用关联的第一计算模式,按照第一计算模式运行第一应用。在另一些实施例中,主机110还可以通过向应用服务器121发送配置文件,配置文件包括第一应用的标识、第一计算模式的标识和计算模式文件。应用服务器121从配置文件中的多个计算模式文件中选择第一计算模式的标识指示的第一计算模式文件,第一计算模式文件与第一应用关联,应用服务器121依据第一计算模式文件描述的软件系统的参数和硬件系统的参数运行第一应用。
S402、应用服务器121按照第一计算模式运行第一应用。
应用服务器121按照第一计算模式运行第一应用后,还可以向主机110发送配置完成消息(执行可选步骤S403)。主机110接收应用服务器121发送的配置完成消息(执行可选步骤S404)。如图5中的(d)所示,主机110还可以显示配置完成提示,以便于系统维护人员直观地可以看到应用服务器121已完成第一计算模式的配置。
如此,相比较于系统维护人员在具备对软件系统、硬件系统和应用的功能特性的详细了解和调优经验的条件下,通过长时间、试探性地调节软件系统和硬件系统的各种参数,来配置应用服务器的计算模式。本实施例支持多种面向应用场景的计算模式,并且可以将软件系统的参数、硬件系统的参数同时优化。系统维护人员不需要对软件和硬件的系统、应用的功能特性的详细了解即可完成对应用服务器的运行的应用的计算模式配置,完成软件系统的参数和硬件系统的参数的调优,从而,简化了配置应用服务器的计算模式的过程,有效地缩短了调优周期,降低了服务器的使用难度与成本。
上述实施例中是以应用服务器121运行一个应用为例进行说明的,在另一些实施例中,应用服务器121可以采用虚拟技术(如:虚拟机或容器)部署多个虚拟服务器,每个虚拟服务器可以运行不同的应用或同类功能的应用。同理,运行不同的应用的虚拟服务器的计算模式也不同。可理解的,每个虚拟服务器就是一个独立的系统,每个虚拟服务器中运行自己的软件管理系统1211。每个虚拟服务器配置的软件系统计算模式文件适用于其运行的应用。应用服务器121中的所有虚拟服务器可以共享一种硬件系统计算模式文件描述的硬件系统的参数。示例的,如图6所示,应用服务器121包括虚拟服务器1和虚拟服务器2,虚拟服务器1和虚拟服务器2分别运行了软件管理系统1211。应用服务器121运行硬件管理系统1212。应用服务器121中的所有虚拟服务器运行的软件管理系统1211可以与硬件管理系统1212进行通信。
此外,管理服务器122提供的功能还支持批量配置应用服务器121的计算模式。示例的,如图7中的(a)所示,应用管理平台1221的界面显示多个“服务器”(如:应用服务器121)的选项710。系统维护人员可以点击应用管理平台1221的界面显示“服务器”选项710,选择不同的服务器,主机110响应系统维护人员的点击操作,如图7中的(b)所示,应用管理平台1221的界面可以显示“应用名称”选项。在系统维护人员选择了多个应用服务器121要配置的应用后,可以点击“配置”按钮510。主机110响应系统维护人员的点击操作,生成指示消息,向应用服务器121发送指示消息。主机110可以生成多个指示消息,向每个应用服务器121发送一个指示消息。指示消息包含应用标识。指示消息还可以包含与应用关联的计算模式的标识。或者,主机110可以生成一个指示消息,向管理服务器122发送该指示消息,该指示消息包含多个应用服务器的标识和应用标识。管理服务器122接收到主机110发送的指示消息,向多个应用服务器的标识指示的应用服务器121发送对应的应用标识。每个应用服务器121依据上述实施例阐述的配置计算模式的方法配置计算模式。如此,主机110同时对多个应用服务器121下发指示消息,可以同时对应用服务器121调优,进一步大大缩短调优时间。
如果不同的应用服务器121接收到的应用标识不同,不同的应用服务器121运行的应用不同。每个应用服务器121的计算模式也可以不同,即软件系统的参数和硬件系统的参数不同。
如果不同的应用服务器121接收到的应用标识相同,不同的应用服务器121运行的应用相同,且每个应用服务器121的计算模式也可以相同,即软件系统的参数和硬件系统的参数相同。
可以理解的是,为了实现上述实施例中的功能,应用服务器包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
上文中结合图1至图7,详细描述了根据本实施例所提供的配置计算模式的方法,下面将结合图8,描述根据本实施例所提供的配置装置。
图8为本实施例提供的一种配置装置的结构示意图。这些配置装置可以用于实现上述方法实施例中应用服务器的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该配置装置可以是如图1或图3所示的应用服务器121,还可以是应用于服务器的模块(如芯片)。
如图8所示,配置装置800包括通信模块810、选择模块820和运行模块830和存储模块840。配置装置800用于实现上述图4中所示的方法实施例中应用服务器121的功能。
当配置装置800用于实现图4所示的方法实施例中应用服务器121的功能时:通信模块810用于接收主机110发送的指示信息包含的应用标识或计算模式标识,选择模块820用于实现S401的功能,即从计算模式池中确定与第一应用关联的第一计算模式;运行模块830用于实现S402的功能,即按照第一计算模式运行第一应用;存储模块840用于存储预先配置的计算模式文件。通信模块810还用于向主机110发送配置完成消息。
有关上述通信模块810、选择模块820和运行模块830和存储模块840更详细的描述可以直接参考图4所示的方法实施例中相关描述直接得到,这里不加赘述。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算设备上运行时, 使得计算设备执行上述应用于配置装置800的配置计算模式的方法。
图9是本实施例提供的一种计算机系统的结构示意图。如图9所示,计算机系统900包括计算设备910。计算设备910包括处理器911,处理器911与系统内存912连接。处理器911可以为中央处理器(central processing unit,CPU),图像处理器(graphics processing unit,GPU),现场可编程门阵列(field programmable gate array,FPGA),或数字信号处理器(digital signal processor,DSP)等计算逻辑或以上任意计算逻辑的组合。处理器911可以为单核处理器或多核处理器。
总线913用于在计算设备910的各部件之间传递信息,总线913可以使用有线的连接方式或采用无线的连接方式,本实施例并不对此进行限定。总线913还连接有辅助存储器(secondary storage)914、输入/输出接口915和通信接口916。总线913可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
辅助存储器914一般也称为外存,辅助存储器914的存储介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。在一些实施例中,辅助存储器914还可能进一步包括与处理器911分离的远程存储器,例如通过通信接口916和网络920进行访问的辅助存储器930,如:网盘(包括网络文件系统(network file system,NFS)等网络或机群文件系统)。
输入/输出接口915还可以连接有输入/输出设备,用于接收输入的信息,输出操作结果。输入/输出设备可以为鼠标、键盘、显示器或者光驱等。
通信接口916使用例如但不限于收发器一类的收发装置,来实现与其他设备或网络920之间的通信,通信接口916可以通过有线或者无线的形式与网络920互连。
本实施例的一些特征可以由处理器911执行系统内存912中的软件代码来完成/支持。系统内存912可以包括一些软件,例如,操作系统9121(例如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系统(例如Vxworks))、应用程序9122、软件管理系统9123、硬件管理系统9124和计算模式文件9125等。
计算模式文件9125可以包括软件系统的计算模式文件和硬件系统的计算模式文件。一个软件系统计算模式文件指示的计算模式与一个应用关联。例如,大数据的软件系统计算模式文件指示的计算模式与大数据关联。系统内存912存储的软件系统计算模式文件包括以下一个或多个:大数据的软件系统计算模式文件、数据库的软件系统计算模式文件、分布式存储的软件系统计算模式文件、容器的软件系统计算模式文件、虚拟机的软件系统计算模式文件、搜索引擎的软件系统计算模式文件。
一个硬件系统计算模式文件指示的计算模式与一个应用关联。例如,大数据的硬件系统计算模式文件指示的计算模式与大数据关联。系统内存912存储的硬件系统计算模式文件包括以下一个或多个:大数据的硬件系统计算模式文件、数据库的硬件系统计算模式文件、分布式存储的硬件系统计算模式文件、容器的硬件系统计算模式文件、虚拟机的硬件系统计算模式文件、搜索引擎的硬件系统计算模式文件。
通信接口916可以实现通信模块810的功能,处理器911可以实现选择模块820的功能和运行模块830的功能。系统内存912可以实现存储模块840的功能。
具体的,计算设备910通过通信接口916接收到指示消息后,将指示消息传输给处理器911,处理器911依据指示消息确定运行第一应用,以及与第一应用关联的第一计算模式。进 而,处理器911通过执行存储在系统内存912内的软件管理系统9123的软件程序,从系统内存912存储的多个预设的软件系统计算模式文件中选择与第一应用关联的第一软件系统计算模式文件,使第一软件系统计算模式文件生效。第一软件系统计算模式文件描述了软件系统的参数,即第一软件系统计算模式文件描述了计算设备910运行第一应用时的操作系统的参数和第一应用的参数。
处理器911还通过执行存储在系统内存912内的硬件管理系统9124的软件程序,从系统内存912存储的多个预设的硬件系统计算模式文件中选择与第一应用关联的第一硬件系统计算模式文件,使第一硬件系统计算模式文件生效。第一硬件系统计算模式文件描述了硬件系统的参数,即第一硬件系统计算模式文件描述了计算设备910运行第一应用时的硬件系统的参数。
在第一软件系统计算模式文件和第一硬件系统计算模式文件描述的计算模式下,处理器911调用存储在系统内存912内的第一应用的程序和数据,以第一软件系统计算模式文件描述的软件系统的参数,以及第一硬件系统计算模式文件描述的硬件系统的参数运行第一应用,实现第一应用的功能。
如果硬件管理系统9124由计算设备910中除处理器911之外的其他处理器运行。处理器911还可以将与第一应用关联的第一计算模式的标识传输给运行硬件管理系统9124的处理器。由运行硬件管理系统9124的处理器从多个预设的硬件系统计算模式文件中选择与第一应用关联的第一硬件系统计算模式文件,使第一硬件系统计算模式文件生效。
此外,图9仅仅是一个计算机系统900的例子,计算机系统900可能包含相比于图9展示的更多或者更少的组件,或者有不同的组件配置方式。同时,图9中展示的各种组件可以用硬件、软件或者硬件与软件的结合方式实施。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光 介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (18)

  1. 一种配置计算模式的方法,其特征在于,所述方法应用于应用服务器,所述应用服务器预配置计算模式池,所述计算模式池包括至少两个计算模式,所述方法包括:
    从所述计算模式池中确定与第一应用关联的第一计算模式;
    按照所述第一计算模式运行所述第一应用。
  2. 根据权利要求1所述的方法,其特征在于,从所述计算模式池中确定与第一应用关联的第一计算模式,包括:
    根据所述第一应用从所述计算模式池中自适应地确定所述第一计算模式,以所述第一计算模式运行所述第一应用的运行效果优于所述计算模式池中其他计算模式运行所述第一应用的运行效果。
  3. 根据权利要求1所述的方法,其特征在于,从所述计算模式池中确定与第一应用关联的第一计算模式,包括:
    根据所述第一应用和对应关系从所述计算模式池中确定所述第一计算模式,所述对应关系包含所述第一应用与所述第一计算模式的对应关系。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    接收第一更新消息,所述第一更新消息用于指示更新所述对应关系,所述更新包括删除、增加或优化所述对应关系中应用对应的计算模式。
  5. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    接收第二更新消息,所述第二更新消息用于指示更新所述计算模式池,所述更新包括删除、增加或优化所述计算模式池中的计算模式。
  6. 根据权利要求1-5中任一项所述的方法,其特征在于,从所述计算模式池中确定与第一应用关联的第一计算模式之前,所述方法还包括:
    接收指示消息,所述指示消息用于指示所述应用服务器选取适于运行所述第一应用的计算模式。
  7. 根据权利要求1-6中任一项所述的方法,其特征在于,所述第一计算模式包括第一软件系统计算模式和第一硬件系统计算模式,所述按照所述第一计算模式运行所述第一应用,包括:
    按照所述第一计算模式包括的第一软件系统计算模式和第一硬件系统计算模式运行所述第一应用,所述第一软件系统计算模式指示了运行所述第一应用的操作系统的参数和所述第一应用的参数。
  8. 根据权利要求1-7中任一项所述的方法,其特征在于,与所述计算模式池包含的计算模式关联的应用包括大数据、数据库、分布式存储、容器和虚拟机中至少一个。
  9. 一种配置装置,其特征在于,所述配置装置预配置计算模式池,所述计算模式池包括至少两个计算模式,包括:
    选择模块,用于从所述计算模式池中确定与第一应用关联的第一计算模式;
    运行模块,用于按照所述第一计算模式运行所述第一应用。
  10. 根据权利要求9所述的装置,其特征在于,所述选择模块从所述计算模式池中确定与第一应用关联的第一计算模式时,具体用于:
    根据所述第一应用从所述计算模式池中自适应地确定所述第一计算模式,以所述第一计算模式运行所述第一应用的运行效果优于所述计算模式池中其他计算模式运行所述第一应用的运行效果。
  11. 根据权利要求9所述的装置,其特征在于,所述选择模块从所述计算模式池中确定与第一应用关联的第一计算模式时,具体用于:
    根据所述第一应用和对应关系从所述计算模式池中确定所述第一计算模式,所述对应关系包含所述第一应用与所述第一计算模式的对应关系。
  12. 根据权利要求11所述的装置,其特征在于,所述装置还包括:
    通信模块,用于接收第一更新消息,所述第一更新消息用于指示更新所述对应关系,所述更新包括删除、增加或优化所述对应关系中应用对应的计算模式。
  13. 根据权利要求9或10所述的装置,其特征在于,所述装置还包括:
    通信模块,用于接收第二更新消息,所述第二更新消息用于指示更新所述计算模式池,所述更新包括删除、增加或优化所述计算模式池中的计算模式。
  14. 根据权利要求9-13中任一项所述的装置,其特征在于,所述装置还包括:
    通信模块,用于接收指示消息,所述指示消息用于指示所述应用服务器选取适于运行所述第一应用的计算模式。
  15. 根据权利要求9-14中任一项所述的装置,其特征在于,所述第一计算模式包括第一软件系统计算模式和第一硬件系统计算模式,所述运行模块按照所述第一计算模式运行所述第一应用时,具体用于:
    按照所述第一计算模式包括的第一软件系统计算模式和第一硬件系统计算模式运行所述第一应用,所述第一软件系统计算模式指示了运行所述第一应用的操作系统的参数和所述第一应用的参数。
  16. 根据权利要求9-15中任一项所述的装置,其特征在于,与所述计算模式池包含的计算模式关联的应用包括大数据、数据库、分布式存储、容器和虚拟机中至少一个。
  17. 一种计算设备,其特征在于,包括存储器和处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行上述权利要求1至8中任一项所述的方法。
  18. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被配置装置执行时,实现如权利要求1至8中任一项所述的方法。
PCT/CN2021/124251 2020-11-13 2021-10-16 配置计算模式的方法、装置及计算设备 WO2022100364A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21890891.1A EP4227802A4 (en) 2020-11-13 2021-10-16 METHOD, APPARATUS AND COMPUTER DEVICE FOR CONFIGURING A CALCULATION MODE
US18/315,310 US20230273801A1 (en) 2020-11-13 2023-05-10 Method for configuring compute mode, apparatus, and computing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011273205.9 2020-11-13
CN202011273205.9A CN114490015A (zh) 2020-11-13 2020-11-13 配置计算模式的方法、装置及计算设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/315,310 Continuation US20230273801A1 (en) 2020-11-13 2023-05-10 Method for configuring compute mode, apparatus, and computing device

Publications (1)

Publication Number Publication Date
WO2022100364A1 true WO2022100364A1 (zh) 2022-05-19

Family

ID=81491455

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/124251 WO2022100364A1 (zh) 2020-11-13 2021-10-16 配置计算模式的方法、装置及计算设备

Country Status (4)

Country Link
US (1) US20230273801A1 (zh)
EP (1) EP4227802A4 (zh)
CN (1) CN114490015A (zh)
WO (1) WO2022100364A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234466B (zh) * 2023-08-07 2024-02-23 北京冠群信息技术股份有限公司 企业管理软件开发方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1456994A (zh) * 2003-06-13 2003-11-19 中国科学院计算技术研究所 网格化的动态自组织计算机体系结构
CN101504654A (zh) * 2009-03-17 2009-08-12 东南大学 一种实现数据库模式自动匹配的方法
US20130027299A1 (en) * 2011-07-25 2013-01-31 Sony Corporation Information processing apparatus, information processing method, and input apparatus
CN105468726A (zh) * 2015-11-20 2016-04-06 广州视源电子科技股份有限公司 基于本地计算和分布式计算的数据计算方法及系统
CN110286954A (zh) * 2018-03-15 2019-09-27 腾讯科技(深圳)有限公司 一种应用程序的启动方法、装置及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6059842A (en) * 1998-04-14 2000-05-09 International Business Machines Corp. System and method for optimizing computer software and hardware
US8694574B2 (en) * 2012-11-08 2014-04-08 Concurix Corporation Optimized settings in a configuration database with boundaries
CN114341806A (zh) * 2019-04-12 2022-04-12 瑟威斯劳加拿大有限公司 用于软件模块开发的系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1456994A (zh) * 2003-06-13 2003-11-19 中国科学院计算技术研究所 网格化的动态自组织计算机体系结构
CN101504654A (zh) * 2009-03-17 2009-08-12 东南大学 一种实现数据库模式自动匹配的方法
US20130027299A1 (en) * 2011-07-25 2013-01-31 Sony Corporation Information processing apparatus, information processing method, and input apparatus
CN105468726A (zh) * 2015-11-20 2016-04-06 广州视源电子科技股份有限公司 基于本地计算和分布式计算的数据计算方法及系统
CN110286954A (zh) * 2018-03-15 2019-09-27 腾讯科技(深圳)有限公司 一种应用程序的启动方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4227802A4 *

Also Published As

Publication number Publication date
EP4227802A4 (en) 2024-03-20
CN114490015A (zh) 2022-05-13
US20230273801A1 (en) 2023-08-31
EP4227802A1 (en) 2023-08-16

Similar Documents

Publication Publication Date Title
JP6892729B2 (ja) コード実行要請ルーティング
US10999139B2 (en) Online upgrade method, apparatus, and system
US20200310915A1 (en) Orchestration of Heterogeneous Multi-Role Applications
US11113158B2 (en) Rolling back kubernetes applications
WO2017143548A1 (zh) 用于应用自动化部署的方法和云管理节点
US20220391260A1 (en) Method and Apparatus for Creating Container, Device, Medium, and Program Product
CN108984266B (zh) 一种虚拟机的管理方法、装置及系统
US11347684B2 (en) Rolling back KUBERNETES applications including custom resources
US10956335B2 (en) Non-volatile cache access using RDMA
CN109857723B (zh) 基于可扩容数据库集群的动态数据迁移方法及相关设备
US9582214B2 (en) Data access method and data access apparatus for managing initialization of storage areas
JP6421470B2 (ja) 仮想マシンマイグレーションプログラム、仮想マシンマイグレーションシステムおよび仮想マシンマイグレーション方法
US10845997B2 (en) Job manager for deploying a bundled application
US20230273801A1 (en) Method for configuring compute mode, apparatus, and computing device
US20240143377A1 (en) Overlay container storage driver for microservice workloads
US9898490B2 (en) Systems and methods for supporting multiple database server versions on a database machine
US11868805B2 (en) Scheduling workloads on partitioned resources of a host system in a container-orchestration system
US11456919B2 (en) Input and output for target device communication
US11604669B2 (en) Single use execution environment for on-demand code execution
US11937103B1 (en) Enhancing availability of radio-based applications using multiple compute instances and virtualized network function accelerators at cloud edge locations
US11972287B2 (en) Data transfer prioritization for services in a service chain
US11921700B1 (en) Error tables to track errors associated with a base table
US11797209B2 (en) Storage pool determination system
US10846127B2 (en) Fair and efficient concurrency management for graph processing
CN117749813A (zh) 基于云计算技术的数据迁移方法及云管理平台

Legal Events

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

Ref document number: 21890891

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021890891

Country of ref document: EP

Effective date: 20230510

NENP Non-entry into the national phase

Ref country code: DE