WO2018072619A1 - 一种资源调度的方法、装置和系统 - Google Patents

一种资源调度的方法、装置和系统 Download PDF

Info

Publication number
WO2018072619A1
WO2018072619A1 PCT/CN2017/105466 CN2017105466W WO2018072619A1 WO 2018072619 A1 WO2018072619 A1 WO 2018072619A1 CN 2017105466 W CN2017105466 W CN 2017105466W WO 2018072619 A1 WO2018072619 A1 WO 2018072619A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
application object
output value
risk
determining
Prior art date
Application number
PCT/CN2017/105466
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 阿里巴巴集团控股有限公司
Publication of WO2018072619A1 publication Critical patent/WO2018072619A1/zh

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
    • 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/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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 resource scheduling technologies, and in particular, to a resource scheduling method, a resource scheduling device, and a resource scheduling system.
  • Resource scheduling refers to finding the appropriate server resource from the data center (computer room) when deploying an application object, and then allocating the server resource to the application object.
  • embodiments of the present application have been proposed in order to provide a resource scheduling method, a resource scheduling apparatus, and a corresponding resource scheduling system that overcome the above problems or at least partially solve the above problems.
  • the present application discloses a system for resource scheduling, the system comprising an identification unit, a scheduling unit, and a plurality of servers;
  • the identifying unit receives a resource scheduling request of the target application object, and determines a risk coefficient of the multiple servers according to the request, and sends the risk coefficient of the multiple servers to the scheduling unit;
  • the scheduling unit allocates resources for the target application object according to risk factors of the multiple servers.
  • the present application also discloses a method for resource scheduling, including:
  • the step of determining the risk coefficient of the server includes:
  • the step of counting the first output value generated by the service system when the server is in the running state includes:
  • the server When the server is in an operational state, the first production value generated in the preset analog service system is counted.
  • the step of counting the second output value generated by the service system when the server is in a stopped state includes:
  • the step of determining the risk coefficient of the server according to the first output value and the second output value includes:
  • the step of allocating resources for the target application object according to the risk factor of the server includes:
  • it also includes:
  • the step of determining a risk coefficient of the application object includes:
  • the step of determining the risk coefficient of the application object according to the third output value and the fourth output value includes:
  • the step of determining the risk coefficient of the server includes:
  • a device for resource scheduling including:
  • a server risk determining module configured to determine a risk factor of the server when receiving a resource scheduling request of the target application object
  • an allocating module configured to allocate resources to the target application object according to the risk factor of the server.
  • the server risk determination module includes:
  • a first statistic sub-module configured to: when receiving the resource scheduling request of the target application object, the first output value generated by the service system when the server is in a running state;
  • a second statistic sub-module configured to collect a second output value generated by the service system when the server is in a stopped state
  • the server risk determining submodule is configured to determine a risk factor of the server according to the first output value and the second output value.
  • the first statistic submodule includes:
  • a first statistical unit configured to be in a preset analog service system when the server is in a running state The first production value produced.
  • the second statistic submodule includes:
  • An application object obtaining unit configured to acquire one or more application objects deployed on the server
  • a second statistic unit configured to: when the one or more application objects are in a stopped state, count a second output value generated in the preset analog service system;
  • the server risk determination submodule includes:
  • a first difference statistics unit configured to calculate a first difference between the first output value and the second output value
  • a server risk determining unit configured to determine a risk coefficient of the server according to the first difference, where the risk coefficient is proportional to the first difference.
  • the allocation module includes:
  • Locating a sub-module configured to find a target server whose risk coefficient is less than a first preset threshold
  • An allocation submodule for allocating resources for the target application object from the target server is
  • it also includes:
  • An application object risk determination module is used to determine the risk factor of the application object.
  • the application object risk determination module includes:
  • a third statistic sub-module configured to count, when the application object is in a running state, a third output value generated in the preset simulated service system
  • a fourth statistic sub-module configured to collect, when the application object is in a stopped state, a fourth output value generated in the preset analog service system
  • the application object risk determination submodule is configured to determine a risk coefficient of the application object according to the third output value and the fourth output value.
  • the application object risk determination submodule includes:
  • a second difference statistics unit configured to calculate a second difference between the third output value and the fourth output value
  • an application object risk determining unit configured to determine, according to the second difference, a risk coefficient of the application object, where the risk coefficient is proportional to the second difference.
  • the server risk determination module includes:
  • Obtaining a submodule configured to acquire one or more application objects deployed on the server when receiving a resource scheduling request of the target application object
  • a statistics submodule configured to collect a sum of the second differences of the one or more application objects
  • Determining a submodule configured to determine a risk factor of the server according to a sum of the second differences, the service
  • the risk factor of the device is proportional to the sum of the second differences.
  • the embodiments of the present application include the following advantages:
  • the risk factor of the server when receiving the resource scheduling request of the target application object, the risk factor of the server is determined, and then the resource is allocated to the target application object according to the risk coefficient of the server, so that the resource allocation is fully considered.
  • the performance of the server and possible risks avoid the allocation of server resources with large risk factors to the target application object, which reduces the output value loss of the business system caused by the server failure, and improves the stability of the operation of the business system.
  • Embodiment 1 is a flow chart of steps in Embodiment 1 of a method for resource scheduling according to the present application;
  • FIG. 2 is a flow chart of steps of a second embodiment of a method for resource scheduling according to the present application
  • FIG. 3 is a schematic block diagram of a method for resource scheduling according to the present application.
  • FIG. 4 is a schematic block diagram of determining a risk coefficient of an application object according to the present application.
  • FIG. 5 is a flowchart of steps in Embodiment 3 of a method for resource scheduling according to the present application
  • FIG. 6 is a schematic block diagram of determining a risk coefficient of a server according to the present application.
  • FIG. 7 is a structural block diagram of an apparatus embodiment of resource scheduling according to the present application.
  • FIG. 8 is a structural block diagram of a system embodiment of resource scheduling according to the present application.
  • FIG. 1 a flow chart of a first embodiment of a method for resource scheduling according to the present application is shown, which may specifically include the following steps:
  • Step 101 When receiving a resource scheduling request of a target application object, determining a risk coefficient of the server;
  • the application object may be a service of the Internet, including an online task, an offline task, and the like.
  • the risk factor may refer to a probability that the server may not continue to operate normally due to various reasons during the running process.
  • the risk factor of the server can be determined by the asset loss value of the server, and the risk coefficient of the server can be directly proportional to the asset loss value of the server. If the value of the asset loss of a server is larger, the risk coefficient of the server can be considered. It is also bigger.
  • a plurality of different application objects such as an online application object or an offline application object, can be deployed, and a plurality of different application objects cooperate with each other to support different service systems.
  • the asset loss value of the server may refer to an output value lost by the service system when the server fails to operate normally due to a failure or other reasons.
  • the asset loss value of the server can be obtained by constructing a simulated business system.
  • the simulation system that is identical to the business system can be constructed by modeling to simulate the operation of the entire business system.
  • the simulation business system can simulate the operation of the website, including simulating a series of actions such as the user placing an order to purchase a product, completing the payment, etc., in the process of simulating the user action, the simulated business system can know that Data such as turnover generated during the process.
  • the asset loss value of each application object can be obtained by stopping the operation of each application object on the server separately, so that according to the asset loss value of all the application objects on the server, Obtain the asset loss value of the server, and then get the risk factor of the server according to the asset loss value.
  • the asset loss value of the server can be determined by the loss of the transaction amount caused by the failure of the server.
  • the value of the asset loss may be determined according to the specific situation of the application environment, which is not limited by the embodiment of the present application.
  • Step 102 Allocate resources for the target application object according to the risk factor of the server.
  • the risk coefficients may be arranged in order from small to large, and then the target application is selected from the target server whose risk coefficient is less than the first preset threshold.
  • the object allocates resources.
  • the target server has a small risk factor, when the target server fails, the resulting asset loss is relatively small, thus minimizing the impact on the target application object due to server failure.
  • the resource scheduling request of the target application object when receiving the resource scheduling request of the target application object, by determining the risk coefficient of the server, and then according to the risk coefficient of the server, allocating resources for the target application object, so that the resource allocation is sufficient Considering the performance and possible risks of the server, avoiding servers with large risk factors
  • the resource is allocated to the target application object, which reduces the output value loss of the business system caused by the server failure, and improves the stability of the operation of the business system.
  • FIG. 2 a flow chart of a second embodiment of a method for resource scheduling according to the present application is shown. Specifically, the method may include the following steps:
  • Step 201 Determine a risk coefficient of the application object.
  • FIG. 3 is a schematic block diagram of a method for resource scheduling according to the present application.
  • an analog system identical to the business system can be built to simulate the operation of the entire business system.
  • the simulation business system can simulate the operation of the website, and simulate a series of actions such as the user placing an order to purchase a product and completing the payment.
  • the simulation service system can know that Data such as turnover generated during the process.
  • the simulated service system may be used to determine an asset loss value of the application object, thereby obtaining an asset loss value of the server. Then, the risk factor of the server is determined by the asset loss value of the server.
  • the risk coefficient of the server may be proportional to the asset loss value of the server, and the greater the asset loss value, the greater the risk coefficient.
  • the asset loss value of the application object may refer to an output value lost by the service system when the application object fails to operate normally due to a failure or other reasons
  • the asset loss value of the server refers to the The output value lost by the service system when the server fails to operate normally due to a fault or other reasons. Taking an e-commerce website as an example, the asset loss value of the server can be determined by the loss of the transaction amount caused by the failure of the server.
  • the step of determining the risk coefficient of the application object may specifically include the following sub-steps:
  • Sub-step 2012 when the application object is in a stop state, counting a fourth output value generated in the preset analog service system
  • Sub-step 2013, determining an asset loss value of the application object according to the third output value and the fourth output value
  • Sub-step 2014 determining a risk coefficient of the application object according to the third output value and the fourth output value.
  • the third output value generated by the simulated service system may be first calculated in the preset analog service system, and then the running of an application object may be stopped. And continue to count The fourth output value generated by the simulated service system at this time is obtained by calculating a difference between the third output value and the fourth output value to obtain an asset loss value of the application object, thereby obtaining a risk coefficient of the application object.
  • the sub-step of determining the risk coefficient of the application object according to the third output value and the fourth output value may further include:
  • the risk coefficient of the application object can be obtained according to the proportional relationship between the asset loss value and the risk coefficient.
  • Step 202 Acquire one or more application objects deployed on the server when receiving a resource scheduling request of the target application object.
  • each of the resource pools may be obtained separately.
  • Application objects deployed on the server for example, when the application object A applies for 4 CPU cores, 8 GB memory, and 60 G disk resources to the system.
  • Step 203 Count a sum of the second differences of the one or more application objects.
  • the second difference may be regarded as an asset loss value of the application object. Therefore, after obtaining the second difference of each application object respectively, the sum of the second differences of all the application objects may be counted. .
  • Step 204 Determine, according to the sum of the second differences, a risk coefficient of the server, where a risk coefficient of the server is proportional to a sum of the second differences;
  • different application objects play different roles in the operation of the business system. Therefore, those skilled in the art can assign different weight values to each application object according to the importance degree of the application object, thereby weighting
  • the method for determining the asset loss value of the server is not limited in this embodiment of the present application.
  • the risk coefficient of the server can be obtained according to the proportional relationship between the asset loss value and the risk coefficient.
  • a person skilled in the art may more specifically need to specifically set a correspondence between the asset loss value of the server and the risk coefficient, which is not limited by the embodiment of the present application.
  • Step 205 Allocate resources for the target application object according to the risk factor of the server.
  • the step of allocating resources to the target application object according to the risk factor of the server may specifically include the following sub-steps:
  • Sub-step 2051 searching for a target server whose risk coefficient is less than a first preset threshold
  • Sub-step 2052 from the target server, allocate resources for the target application object.
  • the risk coefficients may be arranged in order from small to large, and then the target application object is selected from the target server whose risk coefficient is less than the first preset threshold.
  • the first preset threshold may be set according to actual needs, which is not limited by the embodiment of the present application.
  • FIG. 5 a flow chart of steps in a third embodiment of a method for resource scheduling according to the present application is shown, which may specifically include the following steps:
  • Step 501 When receiving the resource scheduling request of the target application object, the first output value generated by the service system when the server is in the running state is counted;
  • FIG. 6 it is a functional block diagram of determining the risk coefficient of the server of the present application.
  • it may first determine whether each application object in the server is in a normal running state, and if so, the output value of the service system at this time may be counted as the first production value.
  • the first production value can be determined in different manners in different service systems, which is not limited in this embodiment of the present application. For example, for an e-commerce website, the transaction value when the application objects are in a normal running state may be used as the first production value.
  • the step of counting the first output value generated by the service system when the server is in the running state may specifically include the following sub-steps:
  • Sub-step 5011 when the server is in an operational state, the first production value generated in the preset analog service system is counted.
  • an analog system identical to the business system can be built to simulate the operation of the entire service.
  • the simulation business system can simulate the operation of the website, and simulate the user to place an order to purchase the product, so that the transaction amount can be continuously generated.
  • the first output value generated by the analog service system when the server is in the running state can be counted.
  • Step 502 Statistics the second output value generated by the service system when the server is in a stopped state
  • the step of counting the second output value generated by the service system when the server is in a stopped state may specifically include the following sub-steps:
  • Sub-step 5021 acquiring one or more application objects deployed on the server
  • Sub-step 5022 when the one or more application objects are in a stopped state, the second output value generated in the preset analog service system is counted.
  • one or more application objects deployed on each server in the resource pool may be separately obtained, and then all application objects deployed on one server are stopped in the simulated service system, thereby obtaining the application object.
  • Step 503 Determine a risk coefficient of the server according to the first output value and the second output value.
  • the step of determining the risk coefficient of the server according to the first output value and the second output value may specifically include the following sub-steps:
  • Sub-step 5031 counting a first difference between the first output value and the second output value
  • Sub-step 5032 determining a risk coefficient of the server according to the first difference, the risk coefficient being proportional to the first difference.
  • the difference between the first output value and the second output value may be calculated to determine the asset loss value of the server, and then obtain the server according to the correspondence between the asset loss value of the server and the risk coefficient. Risk factor.
  • the risk factor of the server may be proportional to the asset loss value of the server, and the greater the asset loss value, the greater the risk coefficient.
  • those skilled in the art may set the asset loss value and risk coefficient of the server according to actual needs. The corresponding relationship between the embodiments is not limited in this embodiment.
  • Step 504 Find a target server whose risk coefficient is less than a first preset threshold.
  • Step 505 Allocate resources for the target application object from the target server.
  • the risk coefficient may be Arrange from small to large, and then allocate resources for the target application object from the target server whose risk factor is less than the first preset threshold.
  • the first preset threshold may be set according to actual needs, which is not limited by the embodiment of the present application.
  • the asset loss value of the server is obtained, and according to the correspondence between the risk coefficient and the asset loss value.
  • the relationship obtains the risk factor of the server. Since the loss value generated by multiple application objects at the same time is not necessarily a simple superposition of the loss value when the single application object fails, the method of the embodiment avoids the simple addition. The problem that the loss value of the computing server is inaccurate due to the loss value of each application object improves the accuracy of the risk factor of the computing server.
  • the application can build a set of simulation running system, and the simulated running system and the e-commerce website are the same in the technical architecture and the production environment, and are used to simulate user ordering.
  • the e-commerce website can be composed of several application objects.
  • the transaction amount of the e-commerce website can be statistically obtained every hour, assuming that the transaction amount is 10 million yuan;
  • the simulation running system stops the operation of the application object A, the application object B and the application object C at the same time;
  • the risk coefficient corresponding to the asset loss value of 2 million yuan is 0.3 (example value).
  • the system finds a server with sufficient free resources from the resource pool, that is, finds all servers with more than 4 CPU cores, 8G memory, and 60G disk idle resources; suppose the search obtains server 1, server 2 and There are idle resources on the server 3 that meet the requirements;
  • the system calculates the risk factors on server 1, server 2 and server 3 respectively; assuming that the asset loss value of server 1 is 3 million yuan, the asset loss value of server 2 is 2 million yuan, and the asset loss value of server 3 is 4 million yuan, the corresponding risk coefficient is 0.35 for server 1, the risk coefficient for server 2 is 0.3, and the risk coefficient for server 3 is 0.42.
  • the resources of the server 2 can be allocated to the application object D for use.
  • FIG. 7 a structural block diagram of an apparatus for resource scheduling according to the present application is shown, which may specifically include the following modules:
  • the server risk determining module 701 is configured to determine a risk coefficient of the server when receiving the resource scheduling request of the target application object;
  • the allocating module 702 is configured to allocate resources to the target application object according to the risk factor of the server.
  • server risk determining module 701 may specifically include the following sub-modules:
  • a first statistic sub-module configured to: when receiving the resource scheduling request of the target application object, the first output value generated by the service system when the server is in a running state;
  • a second statistic sub-module configured to collect a second output value generated by the service system when the server is in a stopped state
  • the server risk determining submodule is configured to determine a risk factor of the server according to the first output value and the second output value.
  • the first statistic sub-module may specifically include the following units:
  • the first statistic unit is configured to count the first output value generated in the preset analog service system when the server is in the running state.
  • the second statistic sub-module may specifically include the following units:
  • An application object obtaining unit configured to acquire one or more application objects deployed on the server
  • a second statistic unit configured to: when the one or more application objects are in a stopped state, count a second output value generated in the preset analog service system;
  • server risk determination sub-module may specifically include the following units:
  • a first difference statistics unit configured to calculate a first difference between the first output value and the second output value
  • a server risk determining unit configured to determine a risk coefficient of the server according to the first difference, where the risk coefficient is proportional to the first difference.
  • the allocation module 702 may specifically include the following submodules:
  • Locating a sub-module configured to find a target server whose risk coefficient is less than a first preset threshold
  • An allocation submodule for allocating resources for the target application object from the target server is
  • the device may further include the following modules:
  • An application object risk determination module is used to determine the risk factor of the application object.
  • the application object risk determining module may specifically include the following sub-modules:
  • a third statistic sub-module configured to count, when the application object is in a running state, a third output value generated in the preset simulated service system
  • a fourth statistic sub-module configured to collect, when the application object is in a stopped state, a fourth output value generated in the preset analog service system
  • the application object risk determination submodule is configured to determine a risk coefficient of the application object according to the third output value and the fourth output value.
  • the application object risk determination sub-module may specifically include the following units:
  • a second difference statistics unit configured to calculate a second difference between the third output value and the fourth output value
  • an application object risk determining unit configured to determine, according to the second difference, a risk coefficient of the application object, where the risk coefficient is proportional to the second difference.
  • server risk determining module 701 may further include the following sub-modules:
  • Obtaining a submodule configured to acquire one or more application objects deployed on the server when receiving a resource scheduling request of the target application object
  • a statistics submodule configured to collect a sum of the second differences of the one or more application objects
  • Determining a submodule configured to determine a risk coefficient of the server according to a sum of the second differences, where a risk coefficient of the server is proportional to a sum of the second differences.
  • the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
  • the system may specifically include an identifying unit 801, a scheduling unit 802, and multiple servers.
  • the identifying unit 801 may receive a resource scheduling request of the target application object, determine a risk coefficient of the multiple servers according to the request, and send the risk coefficient of the multiple servers to the scheduling unit;
  • the scheduling unit 802 can allocate resources for the target application object according to risk factors of the multiple servers.
  • embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the computer device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
  • RAM random access memory
  • ROM read only memory
  • Memory is an example of a computer readable medium.
  • Computer readable media includes both permanent and non-persistent, removable and non-removable media.
  • Information storage can be implemented by any method or technology. The information can be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
  • computer readable media does not include non-persistent computer readable media, such as modulated data signals and carrier waves.
  • Embodiments of the present application are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
  • These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device
  • Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the instruction device implements the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种资源调度的方法、装置和系统,所述方法包括:当接收到目标应用对象的资源调度请求时,确定服务器的风险系数(101);依据所述服务器的风险系数,为所述目标应用对象分配资源(102),使得在资源分配时充分考虑了服务器的性能和可能存在的风险,避免了将风险系数较大的服务器资源分配给目标应用对象,减少了因为服务器故障而导致的业务系统的产值损失,提高了业务系统运行的稳定性。

Description

一种资源调度的方法、装置和系统
本申请要求2016年10月20日递交的申请号为201610917746.8、发明名称为“一种资源调度的方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及资源调度技术领域,特别是涉及一种资源调度的方法、一种资源调度的装置和一种资源调度的系统。
背景技术
资源调度是指在部署一个应用对象的时候,从数据中心(机房)里查找出合适的服务器资源,然后将该服务器资源分配给该应用对象使用。
通常,已有技术中在为应用对象分配资源时,仅仅考虑该应用对象所申请的资源的数量,例如,当某个应用对象申请4个CPU内核,8G内存,60G磁盘的资源时,系统只需要从机房中查找出哪些服务器能够提供上述资源,从而在查找出的服务器上为该应用对象分配资源。
但是,由于不同的服务器的使用情况并不相同,发生故障所造成的损失也不同,因此,按照已有的方法为应用对象分配资源,在服务器故障时,对系统造成的损失也可能会是极其严重的。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种资源调度的方法、一种资源调度的装置和相应的一种资源调度的系统。
为了解决上述问题,本申请公开了一种资源调度的系统,所述系统包括识别单元、调度单元和多台服务器;
所述识别单元接收目标应用对象的资源调度请求,并根据所述请求确定所述多台服务器的风险系数,将所述多台服务器的风险系数发送至调度单元;
所述调度单元依据所述多台服务器的风险系数,为所述目标应用对象分配资源。
为了解决上述问题,本申请还公开了一种资源调度的方法,包括:
当接收到目标应用对象的资源调度请求时,确定服务器的风险系数;
依据所述服务器的风险系数,为所述目标应用对象分配资源。
可选地,所述当接收到目标应用对象的资源调度请求时,确定服务器的风险系数的步骤包括:
当接收到目标应用对象的资源调度请求时,统计所述服务器处于运行状态时,业务系统产生的第一产值;以及,
统计所述服务器处于停止状态时,所述业务系统产生的第二产值;
根据所述第一产值和第二产值,确定所述服务器的风险系数。
可选地,所述统计所述服务器处于运行状态时,业务系统产生的第一产值的步骤包括:
当所述服务器处于运行状态时,统计在预置的模拟业务系统中产生的第一产值。
可选地,所述统计所述服务器处于停止状态时,所述业务系统产生的第二产值的步骤包括:
获取所述服务器上部署的一个或多个应用对象;
当所述一个或多个应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第二产值;
可选地,所述根据所述第一产值和第二产值,确定所述服务器的风险系数的步骤包括:
统计所述第一产值和第二产值之间的第一差值;
根据所述第一差值,确定所述服务器的风险系数,所述风险系数与所述第一差值成正比。
可选地,所述依据所述服务器的风险系数,为所述目标应用对象分配资源的步骤包括:
查找出所述风险系数小于第一预设阈值的目标服务器;
从所述目标服务器上,为所述目标应用对象分配资源。
可选地,还包括:
确定应用对象的风险系数。
可选地,所述确定应用对象的风险系数的步骤包括:
当所述应用对象处于运行状态时,统计在预置的模拟业务系统中产生的第三产值; 以及,
当所述应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第四产值;
根据所述第三产值和第四产值,确定所述应用对象的风险系数。
可选地,所述根据所述第三产值和第四产值,确定所述应用对象的风险系数的步骤包括:
统计所述第三产值和第四产值之间的第二差值;
根据所述第二差值,确定所述应用对象的风险系数,所述风险系数与所述第二差值成正比。
可选地,所述当接收到目标应用对象的资源调度请求时,确定服务器的风险系数的步骤包括:
当接收到目标应用对象的资源调度请求时,获取所述服务器上部署的一个或多个应用对象;
统计所述一个或多个应用对象的所述第二差值之和;
根据所述第二差值之和,确定所述服务器的风险系数,所述服务器的风险系数与所述第二差值之和成正比。
为了解决上述问题,本申请还公开了一种资源调度的装置,包括:
服务器风险确定模块,用于在接收到目标应用对象的资源调度请求时,确定服务器的风险系数;
分配模块,用于依据所述服务器的风险系数,为所述目标应用对象分配资源。
可选地,所述服务器风险确定模块包括:
第一统计子模块,用于在接收到目标应用对象的资源调度请求时,统计所述服务器处于运行状态时,业务系统产生的第一产值;
第二统计子模块,用于统计所述服务器处于停止状态时,所述业务系统产生的第二产值;
服务器风险确定子模块,用于根据所述第一产值和第二产值,确定所述服务器的风险系数。
可选地,所述第一统计子模块包括:
第一统计单元,用于在所述服务器处于运行状态时,统计在预置的模拟业务系统中 产生的第一产值。
可选地,所述第二统计子模块包括:
应用对象获取单元,用于获取所述服务器上部署的一个或多个应用对象;
第二统计单元,用于在所述一个或多个应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第二产值;
可选地,所述服务器风险确定子模块包括:
第一差值统计单元,用于统计所述第一产值和第二产值之间的第一差值;
服务器风险确定单元,用于根据所述第一差值,确定所述服务器的风险系数,所述风险系数与所述第一差值成正比。
可选地,所述分配模块包括:
查找子模块,用于查找出所述风险系数小于第一预设阈值的目标服务器;
分配子模块,用于从所述目标服务器上,为所述目标应用对象分配资源。
可选地,还包括:
应用对象风险确定模块,用于确定应用对象的风险系数。
可选地,所述应用对象风险确定模块包括:
第三统计子模块,用于在所述应用对象处于运行状态时,统计在预置的模拟业务系统中产生的第三产值;
第四统计子模块,用于在所述应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第四产值;
应用对象风险确定子模块,用于根据所述第三产值和第四产值,确定所述应用对象的风险系数。
可选地,所述应用对象风险确定子模块包括:
第二差值统计单元,用于统计所述第三产值和第四产值之间的第二差值;
应用对象风险确定单元,用于根据所述第二差值,确定所述应用对象的风险系数,所述风险系数与所述第二差值成正比。
可选地,所述服务器风险确定模块包括:
获取子模块,用于在接收到目标应用对象的资源调度请求时,获取所述服务器上部署的一个或多个应用对象;
统计子模块,用于统计所述一个或多个应用对象的所述第二差值之和;
确定子模块,用于根据所述第二差值之和,确定所述服务器的风险系数,所述服务 器的风险系数与所述第二差值之和成正比。
与背景技术相比,本申请实施例包括以下优点:
本申请实施例,当接收到目标应用对象的资源调度请求时,通过确定服务器的风险系数,然后依据所述服务器的风险系数,为所述目标应用对象分配资源,使得在资源分配时充分考虑了服务器的性能和可能存在的风险,避免了将风险系数较大的服务器资源分配给目标应用对象,减少了因为服务器故障而导致的业务系统的产值损失,提高了业务系统运行的稳定性。
附图说明
图1是本申请的一种资源调度的方法实施例一的步骤流程图;
图2是本申请的一种资源调度的方法实施例二的步骤流程图;
图3是本申请的一种资源调度的方法的原理框图;
图4是本申请的确定应用对象的风险系数的原理框图;
图5是本申请的一种资源调度的方法实施例三的步骤流程图;
图6是本申请的确定服务器的风险系数的原理框图;
图7是本申请的一种资源调度的装置实施例的结构框图;
图8是本申请的一种资源调度的系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种资源调度的方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤101,当接收到目标应用对象的资源调度请求时,确定服务器的风险系数;
在本申请实施例中,所述应用对象可以是互联网的一种服务,包括在线任务、离线任务等等。
不同的应用对象在执行相应的任务或服务时,所需要的CPU、内存、磁盘或网络资源都是不一样的。当某个应用对象向系统发出资源调度请求时,例如应用对象A向系统 申请4个CPU内核,8G内存,60G磁盘的资源时,此时,可以首先分别确定出多台服务器的风险系数。
所述风险系数可以是指服务器在运行过程中由于各种原因而出现的无法继续正常运行的一种概率。通常,服务器的风险系数可以由服务器的资产损失值确定,所述服务器的风险系数可以与服务器的资产损失值成正比,如果一台服务器的资产损失值越大,则可以认为该服务器的风险系数也越大。
通常,在一台服务器上,可以部署有多个不同的应用对象,例如在线应用对象或离线应用对象,通过多个不同的应用对象相互之间的配合,从而能够支持不同的业务系统的运行。所述服务器的资产损失值可以是指当所述服务器因故障或其他原因而导致无法正常运行时,所述业务系统所损失的产值。
在具体实现中,服务器的资产损失值可以通过构建模拟业务系统的方式来获得。例如,对于一个业务系统,可以通过建模搭建出与所述业务系统完全相同的模拟系统,用来模拟整个业务系统的运行情况。以电子商务网站为例,模拟业务系统能够模拟所述网站的运行,包括模拟用户下单购买商品、完成支付等一系列的动作,在模拟用户动作的过程中,该模拟业务系统能够获知在该过程中所产生的成交额等数据。
进一步地,在构建出模拟业务系统后,可以通过分别停止服务器上的每个应用对象的运行,获得每一个应用对象的资产损失值,从而根据所述服务器上全部的应用对象的资产损失值,获得服务器的资产损失值,进而根据资产损失值,得到服务器的风险系数。
以电子商务网站为例,服务器的资产损失值可以通过该服务器故障时,所造成的成交额的损失来确定。当然,对于其他应用环境的服务器,其资产损失值可以根据该应用环境的具体情况来确定,本申请实施例对此不作限定。
步骤102,依据所述服务器的风险系数,为所述目标应用对象分配资源。
在具体实现中,当确定出资源池中全部服务器的风险系数后,可以将所述风险系数按照从小到大的顺序排列,然后从风险系数小于第一预设阈值的目标服务器中,为目标应用对象分配资源。
由于目标服务器的风险系数较小,因此,当目标服务器发生故障时,所造成的资产损失也相对较小,从而能够尽可能地减少由于服务器故障而对目标应用对象造成的影响
在本申请实施例中,当接收到目标应用对象的资源调度请求时,通过确定服务器的风险系数,然后依据所述服务器的风险系数,为所述目标应用对象分配资源,使得在资源分配时充分考虑了服务器的性能和可能存在的风险,避免了将风险系数较大的服务器 资源分配给目标应用对象,减少了因为服务器故障而导致的业务系统的产值损失,提高了业务系统运行的稳定性。
参照图2,示出了本申请的一种资源调度的方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤201,确定应用对象的风险系数;
如图3所示,是本申请的一种资源调度的方法的原理框图。在具体实现中,对于一个业务系统,可以搭建出与所述业务系统完全相同的模拟系统,用来模拟整个业务系统的运行情况。以电子商务网站为例,模拟业务系统能够模拟所述网站的运行,以及模拟用户下单购买商品、完成支付等一系列的动作,在模拟用户动作的过程中,该模拟业务系统能够获知在该过程中所产生的成交额等数据。
在具体实现中,可以采用所述模拟业务系统分别确定出应用对象的资产损失值,进而获得服务器的资产损失值。然后,通过服务器的资产损失值确定服务器的风险系数,例如,所述服务器的风险系数可以是与服务器的资产损失值成正比,资产损失值越大,风险系数也越大。所述应用对象的资产损失值可以是指当所述应用对象因故障或其他原因而导致无法正常运行时,所述业务系统所损失的产值,而所述服务器的资产损失值则是指当所述服务器因故障或其他原因而导致无法正常运行时,所述业务系统所损失的产值。以电子商务网站为例,服务器的资产损失值可以通过该服务器故障时,所造成的成交额的损失来确定。
在本申请的一种优选实施例中,所述确定应用对象的风险系数的步骤具体可以包括如下子步骤:
子步骤2011,当所述应用对象处于运行状态时,统计在预置的模拟业务系统中产生的第三产值;
子步骤2012,当所述应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第四产值;
子步骤2013,根据所述第三产值和第四产值,确定所述应用对象的资产损失值;
子步骤2014,根据所述第三产值和第四产值,确定所述应用对象的风险系数。
如图4所示,是本申请的确定应用对象的风险系数的原理框图。在具体实现中,可以首先在预置的模拟业务系统中统计出当全部应用对象均处于正常运行状态下时,所述模拟业务系统所产生的第三产值,然后可以停止某一个应用对象的运行,进而继续统计 出此时所述模拟业务系统所产生的第四产值,通过计算第三产值和第四产值之间的差值,获得所述应用对象的资产损失值,进而得到该应用对象的风险系数。
在具体实现中,所述根据所述第三产值和第四产值,确定所述应用对象的风险系数的子步骤可以进一步包括:
S11,统计所述第三产值和第四产值之间的第二差值;
S12,根据所述第二差值,确定所述应用对象的风险系数,所述风险系数与所述第二差值成正比。
以电子商务网站为例,应用对象的资产损失值可以以该应用对象故障时,所造成的成交额的损失来确定。例如,当全部应用对象均处于正常运行状态时,所述网站在单位时间内的成交额为T1,而在某个应用对象发生故障后,该网站在单位时间内的成交额为T2,因此,可以认为该应用对象的资产损失值为S=T1-T2,然后可以按照资产损失值与风险系数之间的正比例关系,得到该应用对象的风险系数。当然,本领域技术人员可以根据实际需要,具体设定资产损失值与风险系数之间对应关系,本申请实施例对此不作限定。
步骤202,当接收到目标应用对象的资源调度请求时,获取所述服务器上部署的一个或多个应用对象;
通常,在一台服务器上,可以部署有多个不同的应用对象,用于支持不同的业务系统的运行。
在本申请实施例中,当接收到目标应用对象的资源调度请求时,例如,当应用对象A向系统申请4个CPU内核,8G内存,60G磁盘的资源时,可以分别获得资源池中每一台服务器上部署的应用对象。
步骤203,统计所述一个或多个应用对象的所述第二差值之和;
在具体实现中,所述第二差值可以看作是应用对象的资产损失值,因此,在分别获得每个应用对象的第二差值后,可以统计全部应用对象的第二差值之和。
步骤204,根据所述第二差值之和,确定所述服务器的风险系数,所述服务器的风险系数与所述第二差值之和成正比;
在具体实现中,当获得每一台服务器上部署的应用对象后,可以根据步骤201获得的每一个应用对象的资产损失值,计算获得每一台服务器的资产损失值。例如,当在服务器一上部署有应用对象A、应用对象B、应用对象C时,如果所述应用对象A的资产损失值为200万,所述应用对象B的资产损失值为300万,所述应用对象A的资产损失 值为600万,则可以认为服务器一的资产损失值为200万+300万+600万=1100万。当然,不同的应用对象在业务系统的运行中所起的作用并不相同,因此,本领域技术人员还可以根据应用对象的重要程度,为每一个应用对象分配不同的权重值,从而通过加权的方式,确定出所述服务器的资产损失值,本申请实施例对此不作限定。
当确定出服务器的资产损失值之后,可以根据资产损失值与风险系数之间的正比例关系,得到服务器的风险系数。当然,本领域技术人员可以更加实际需要具体设定服务器的资产损失值与风险系数之间的对应关系,本申请实施例对此不作限定。
步骤205,依据所述服务器的风险系数,为所述目标应用对象分配资源。
在本申请的一种优选实施例中,所述依据所述服务器的风险系数,为所述目标应用对象分配资源的步骤具体可以包括如下子步骤:
子步骤2051,查找出所述风险系数小于第一预设阈值的目标服务器;
子步骤2052,从所述目标服务器上,为所述目标应用对象分配资源。
在具体实现中,当获得资源池中全部服务器的风险系数后,可以将所述风险系数按照从小到大的顺序排列,然后从风险系数小于第一预设阈值的目标服务器中,为目标应用对象分配资源。所述第一预设阈值可以根据实际需要设定,本申请实施例对此不作限定。
参照图5,示出了本申请的一种资源调度的方法实施例三的步骤流程图,具体可以包括如下步骤:
步骤501,当接收到目标应用对象的资源调度请求时,统计所述服务器处于运行状态时,所述业务系统产生的第一产值;
如图6所示,是本申请的确定服务器的风险系数的原理框图。在具体实现中,当接收到目标应用对象的资源调度请求时,可以首先确定服务器中的每一个应用对象是否均处于正常运行状态,若是,则可以统计此时业务系统的产值作为第一产值。不同的业务系统,可以采用不同的方式确定第一产值,本申请实施例对此不作限定。例如,对于电子商务网站,可以以应用对象均处于正常运行状态时的成交额作为所述第一产值。
在本申请的一种优选实施例中,所述统计所述服务器处于运行状态时,所述业务系统产生的第一产值的步骤具体可以包括如下子步骤:
子步骤5011,当所述服务器处于运行状态时,统计在预置的模拟业务系统中产生的第一产值。
在具体实现中,对于一个业务系统,可以搭建出与所述业务系统完全相同的模拟系统,用来模拟整个业务的运行情况。以电子商务网站为例,模拟业务系统能够模拟所述网站的运行,以及模拟用户下单购买商品,从而能够不断的产生成交额。
然后,可以统计所述服务器处于运行状态时,所述模拟业务系统产生的第一产值。
步骤502,统计所述服务器处于停止状态时,所述业务系统产生的第二产值;
在本申请的一种优选实施例中,所述统计所述服务器处于停止状态时,所述业务系统产生的第二产值的步骤具体可以包括如下子步骤:
子步骤5021,获取所述服务器上部署的一个或多个应用对象;
子步骤5022,当所述一个或多个应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第二产值。
通常,在一台服务器上,可以部署有多个不同的应用对象,用于支持不同的业务系统的运行。
在本申请实施例中,可以分别获得资源池中每一台服务器上部署的一个或多个应用对象,然后同时在模拟的业务系统中停止某一台服务器上部署的全部应用对象,进而获得所述模拟业务系统中产生的第二产值。
步骤503,根据所述第一产值和第二产值,确定所述服务器的风险系数;
在本申请的一种优选实施例中,所述根据所述第一产值和第二产值,确定所述服务器的风险系数的步骤具体可以包括如下子步骤:
子步骤5031,统计所述第一产值和第二产值之间的第一差值;
子步骤5032,根据所述第一差值,确定所述服务器的风险系数,所述风险系数与所述第一差值成正比。
在具体实现中,可以通过计算第一产值和第二产值之间的差值,确定出所述服务器的资产损失值,然后根据服务器的资产损失值与风险系数之间的对应关系,获得服务器的风险系数。
通常,服务器的风险系数可以是与服务器的资产损失值成正比,资产损失值越大,风险系数也越大,当然,本领域技术人员可以根据实际需要设定服务器的资产损失值与风险系数之间的对应关系,本申请实施例对此不作限定。
步骤504,查找出所述风险系数小于第一预设阈值的目标服务器;
步骤505,从所述目标服务器上,为所述目标应用对象分配资源。
在具体实现中,当获得资源池中全部服务器的风险系数后,可以将所述风险系数按 照从小到大的顺序排列,然后从风险系数小于第一预设阈值的目标服务器中,为目标应用对象分配资源。所述第一预设阈值可以根据实际需要设定,本申请实施例对此不作限定。
在本申请实施例中,通过确定服务器上部署的一个或多个应用对象,然后停止所述服务器上的全部应用对象,获得服务器的资产损失值,进而根据风险系数与资产损失值之间的对应关系得到服务器的风险系数,由于多个应用对象在同时故障时,所产生的损失值并不一定是由单个应用对象故障时的损失值的简单叠加,采用本实施例的方法避免了通过简单加总每一个应用对象的损失值而造成计算服务器的资产损失值不准确的问题,提高了计算服务器的风险系数的准确性。
为了便于理解,下面以一个具体的实施例对本申请的资源调度的方法作一介绍。
1、确定服务器的风险系数;
假设有一个电子商务网站,用户可以在所述网站上下单购买商品。本申请可以搭建一套模拟运行系统,所述模拟运行系统与所述电子商务网站,在技术架构和生产环境上是相同的,用于模拟用户下单。所述电子商务网站可以由若干个应用对象组成。
(1)当所述电子商务网站中的全部应用对象均处于正常运行时,可以统计获得所述电子商务网站每个小时的成交额,假设成交额为1000万元;
(2)经过分析,可以确定某一台服务器上部署有应用对象A、应用对象B和应用对象C,共3个应用对象;
(3)模拟运行系统同时停止应用对象A、应用对象B和应用对象C的运行;
(4)统计获得在应用对象A、应用对象B和应用对象C均停止运行时,模拟运行系统每个小时的成交额,假设为800万元;
(5)可以确定该台服务器的资产损失值为1000万元–800万元=200万元;
(6)根据服务器的资产损失值与风险系数之间的对应关系,例如,对应于200万元资产损失值的风险系数为0.3(示例值)。
2、资源调度;
(1)资源申请者向系统为应用对象D申请4个CPU内核,8G内存,60G磁盘的资源;
(2)系统从资源池中查找出有足够的空闲资源的服务器,即查找到所有有超过4个CPU内核,8G内存,60G磁盘空闲资源的服务器;假设查找获得服务器1、服务器2和 服务器3上有满足需求的空闲资源;
(3)系统采集服务器1、服务器2和服务器3上分别部署的应用对象列表;
(4)系统分别计算出服务器1、服务器2和服务器3上的风险系数;假设服务器1的资产损失值为300万元,服务器2的资产损失值为200万元,服务器3的资产损失值为400万元,对应的风险系数分别是服务器1为0.35,服务器2的风险系数为0.3,服务器3的风险系数为0.42;
(5)由于服务器2的风险系数为最小,从而可以将服务器2的资源分配给应用对象D使用。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图7,示出了本申请的一种资源调度的装置实施例的结构框图,具体可以包括如下模块:
服务器风险确定模块701,用于在接收到目标应用对象的资源调度请求时,确定服务器的风险系数;
分配模块702,用于依据所述服务器的风险系数,为所述目标应用对象分配资源。
在本申请实施例中,所述服务器风险确定模块701具体可以包括如下子模块:
第一统计子模块,用于在接收到目标应用对象的资源调度请求时,统计所述服务器处于运行状态时,业务系统产生的第一产值;
第二统计子模块,用于统计所述服务器处于停止状态时,所述业务系统产生的第二产值;
服务器风险确定子模块,用于根据所述第一产值和第二产值,确定所述服务器的风险系数。
在本申请实施例中,所述第一统计子模块具体可以包括如下单元:
第一统计单元,用于在所述服务器处于运行状态时,统计在预置的模拟业务系统中产生的第一产值。
在本申请实施例中,所述第二统计子模块具体可以包括如下单元:
应用对象获取单元,用于获取所述服务器上部署的一个或多个应用对象;
第二统计单元,用于在所述一个或多个应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第二产值;
在本申请实施例中,所述服务器风险确定子模块具体可以包括如下单元:
第一差值统计单元,用于统计所述第一产值和第二产值之间的第一差值;
服务器风险确定单元,用于根据所述第一差值,确定所述服务器的风险系数,所述风险系数与所述第一差值成正比。
在本申请实施例中,所述分配模块702具体可以包括如下子模块:
查找子模块,用于查找出所述风险系数小于第一预设阈值的目标服务器;
分配子模块,用于从所述目标服务器上,为所述目标应用对象分配资源。
在本申请实施例中,所述装置还可以包括如下模块:
应用对象风险确定模块,用于确定应用对象的风险系数。
在本申请实施例中,所述应用对象风险确定模块具体可以包括如下子模块:
第三统计子模块,用于在所述应用对象处于运行状态时,统计在预置的模拟业务系统中产生的第三产值;
第四统计子模块,用于在所述应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第四产值;
应用对象风险确定子模块,用于根据所述第三产值和第四产值,确定所述应用对象的风险系数。
在本申请实施例中,所述应用对象风险确定子模块具体可以包括如下单元:
第二差值统计单元,用于统计所述第三产值和第四产值之间的第二差值;
应用对象风险确定单元,用于根据所述第二差值,确定所述应用对象的风险系数,所述风险系数与所述第二差值成正比。
在本申请实施例中,所述服务器风险确定模块701还可以包括如下子模块:
获取子模块,用于在接收到目标应用对象的资源调度请求时,获取所述服务器上部署的一个或多个应用对象;
统计子模块,用于统计所述一个或多个应用对象的所述第二差值之和;
确定子模块,用于根据所述第二差值之和,确定所述服务器的风险系数,所述服务器的风险系数与所述第二差值之和成正比。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图8,示出了本申请的一种资源调度的系统实施例的结构框图,所述系统具体可以包括识别单元801、调度单元802和多台服务器;
所述识别单元801可以接收目标应用对象的资源调度请求,并根据所述请求确定所述多台服务器的风险系数,将所述多台服务器的风险系数发送至调度单元;
所述调度单元802可以依据所述多台服务器的风险系数,为所述目标应用对象分配资源。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种资源调度的方法、一种资源调度的装置和一种资源调度的系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领 域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (21)

  1. 一种资源调度的系统,其特征在于,所述系统包括识别单元、调度单元和多台服务器;
    所述识别单元接收目标应用对象的资源调度请求,并根据所述请求确定所述多台服务器的风险系数,将所述多台服务器的风险系数发送至调度单元;
    所述调度单元依据所述多台服务器的风险系数,为所述目标应用对象分配资源。
  2. 一种资源调度的方法,其特征在于,包括:
    当接收到目标应用对象的资源调度请求时,确定服务器的风险系数;
    依据所述服务器的风险系数,为所述目标应用对象分配资源。
  3. 根据权利要求2所述的方法,其特征在于,所述当接收到目标应用对象的资源调度请求时,确定服务器的风险系数的步骤包括:
    当接收到目标应用对象的资源调度请求时,统计所述服务器处于运行状态时,业务系统产生的第一产值;以及,
    统计所述服务器处于停止状态时,所述业务系统产生的第二产值;
    根据所述第一产值和第二产值,确定所述服务器的风险系数。
  4. 根据权利要求3所述的方法,其特征在于,所述统计所述服务器处于运行状态时,业务系统产生的第一产值的步骤包括:
    当所述服务器处于运行状态时,统计在预置的模拟业务系统中产生的第一产值。
  5. 根据权利要求4所述的方法,其特征在于,所述统计所述服务器处于停止状态时,所述业务系统产生的第二产值的步骤包括:
    获取所述服务器上部署的一个或多个应用对象;
    当所述一个或多个应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第二产值。
  6. 根据权利要求3-5任一所述的方法,其特征在于,所述根据所述第一产值和第二产值,确定所述服务器的风险系数的步骤包括:
    统计所述第一产值和第二产值之间的第一差值;
    根据所述第一差值,确定所述服务器的风险系数,所述风险系数与所述第一差值成正比。
  7. 根据权利要求2所述的方法,其特征在于,所述依据所述服务器的风险系数,为 所述目标应用对象分配资源的步骤包括:
    查找出所述风险系数小于第一预设阈值的目标服务器;
    从所述目标服务器上,为所述目标应用对象分配资源。
  8. 根据权利要求2所述的方法,其特征在于,还包括:
    确定应用对象的风险系数。
  9. 根据权利要求8所述的方法,其特征在于,所述确定应用对象的风险系数的步骤包括:
    当所述应用对象处于运行状态时,统计在预置的模拟业务系统中产生的第三产值;以及,
    当所述应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第四产值;
    根据所述第三产值和第四产值,确定所述应用对象的风险系数。
  10. 根据权利要求9所述的方法,其特征在于,所述根据所述第三产值和第四产值,确定所述应用对象的风险系数的步骤包括:
    统计所述第三产值和第四产值之间的第二差值;
    根据所述第二差值,确定所述应用对象的风险系数,所述风险系数与所述第二差值成正比。
  11. 根据权利要求10所述的方法,其特征在于,所述当接收到目标应用对象的资源调度请求时,确定服务器的风险系数的步骤包括:
    当接收到目标应用对象的资源调度请求时,获取所述服务器上部署的一个或多个应用对象;
    统计所述一个或多个应用对象的所述第二差值之和;
    根据所述第二差值之和,确定所述服务器的风险系数,所述服务器的风险系数与所述第二差值之和成正比。
  12. 一种资源调度的装置,其特征在于,包括:
    服务器风险确定模块,用于在接收到目标应用对象的资源调度请求时,确定服务器的风险系数;
    分配模块,用于依据所述服务器的风险系数,为所述目标应用对象分配资源。
  13. 根据权利要求12所述的装置,其特征在于,所述服务器风险确定模块包括:
    第一统计子模块,用于在接收到目标应用对象的资源调度请求时,统计所述服务器处于运行状态时,业务系统产生的第一产值;
    第二统计子模块,用于统计所述服务器处于停止状态时,所述业务系统产生的第二产值;
    服务器风险确定子模块,用于根据所述第一产值和第二产值,确定所述服务器的风险系数。
  14. 根据权利要求13所述的装置,其特征在于,所述第一统计子模块包括:
    第一统计单元,用于在所述服务器处于运行状态时,统计在预置的模拟业务系统中产生的第一产值。
  15. 根据权利要求14所述的装置,其特征在于,所述第二统计子模块包括:
    应用对象获取单元,用于获取所述服务器上部署的一个或多个应用对象;
    第二统计单元,用于在所述一个或多个应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第二产值。
  16. 根据权利要求13-15任一所述的装置,其特征在于,所述服务器风险确定子模块包括:
    第一差值统计单元,用于统计所述第一产值和第二产值之间的第一差值;
    服务器风险确定单元,用于根据所述第一差值,确定所述服务器的风险系数,所述风险系数与所述第一差值成正比。
  17. 根据权利要求12所述的装置,其特征在于,所述分配模块包括:
    查找子模块,用于查找出所述风险系数小于第一预设阈值的目标服务器;
    分配子模块,用于从所述目标服务器上,为所述目标应用对象分配资源。
  18. 根据权利要求12所述的装置,其特征在于,还包括:
    应用对象风险确定模块,用于确定应用对象的风险系数。
  19. 根据权利要求18所述的装置,其特征在于,所述应用对象风险确定模块包括:
    第三统计子模块,用于在所述应用对象处于运行状态时,统计在预置的模拟业务系统中产生的第三产值;
    第四统计子模块,用于在所述应用对象处于停止状态时,统计在所述预置的模拟业务系统中产生的第四产值;
    应用对象风险确定子模块,用于根据所述第三产值和第四产值,确定所述应用对象的风险系数。
  20. 根据权利要求19所述的装置,其特征在于,所述应用对象风险确定子模块包括:
    第二差值统计单元,用于统计所述第三产值和第四产值之间的第二差值;
    应用对象风险确定单元,用于根据所述第二差值,确定所述应用对象的风险系数,所述风险系数与所述第二差值成正比。
  21. 根据权利要求20所述的装置,其特征在于,所述服务器风险确定模块包括:
    获取子模块,用于在接收到目标应用对象的资源调度请求时,获取所述服务器上部署的一个或多个应用对象;
    统计子模块,用于统计所述一个或多个应用对象的所述第二差值之和;
    确定子模块,用于根据所述第二差值之和,确定所述服务器的风险系数,所述服务器的风险系数与所述第二差值之和成正比。
PCT/CN2017/105466 2016-10-20 2017-10-10 一种资源调度的方法、装置和系统 WO2018072619A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610917746.8 2016-10-20
CN201610917746.8A CN107967173A (zh) 2016-10-20 2016-10-20 一种资源调度的方法、装置和系统

Publications (1)

Publication Number Publication Date
WO2018072619A1 true WO2018072619A1 (zh) 2018-04-26

Family

ID=61996536

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/105466 WO2018072619A1 (zh) 2016-10-20 2017-10-10 一种资源调度的方法、装置和系统

Country Status (3)

Country Link
CN (1) CN107967173A (zh)
TW (1) TWI780065B (zh)
WO (1) WO2018072619A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680835A (zh) * 2020-06-05 2020-09-18 广州汇量信息科技有限公司 一种风险预测方法、装置、存储介质及电子设备
CN112732272A (zh) * 2019-10-28 2021-04-30 阿里巴巴集团控股有限公司 一种应用程序的发布方法和装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110881058B (zh) * 2018-09-06 2022-04-12 阿里巴巴集团控股有限公司 请求调度方法、装置、服务器及存储介质
CN110020766A (zh) * 2018-11-21 2019-07-16 阿里巴巴集团控股有限公司 风险控制方法、装置、服务器及存储介质
US11360442B2 (en) * 2019-01-31 2022-06-14 Morgan Stanley Services Group Inc. Exposure minimization response by artificial intelligence
CN111031140A (zh) * 2019-12-20 2020-04-17 支付宝(杭州)信息技术有限公司 资源结算方法及装置、电子设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002021348A1 (en) * 2000-09-11 2002-03-14 Charles William Douglas Blandy A method of allocating resources
CN103780646A (zh) * 2012-10-22 2014-05-07 中国长城计算机深圳股份有限公司 一种云资源的调度方法及系统
CN104345858A (zh) * 2013-08-02 2015-02-11 北京百度网讯科技有限公司 服务器硬件设备的功耗管理方法及装置、服务器
CN105069571A (zh) * 2015-08-13 2015-11-18 中国石油化工股份有限公司 基于事故后果的长输管道微观效能评估方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938549B2 (en) * 2008-10-15 2015-01-20 Aster Risk Management Llc Reduction of peak-to-average traffic ratio in distributed streaming systems
CN102289766A (zh) * 2011-07-29 2011-12-21 东北大学 一种基于连续双向拍卖机制的网格资源调度方法
TWI493933B (zh) * 2013-02-01 2015-07-21 Chunghwa Telecom Co Ltd The Dynamic Storage Configuration System and Method of Cloud Group Group Data Room
CN106020927B (zh) * 2016-05-05 2018-03-16 中国人民解放军国防科学技术大学 一种云计算系统中任务调度与资源配置的通用方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002021348A1 (en) * 2000-09-11 2002-03-14 Charles William Douglas Blandy A method of allocating resources
CN103780646A (zh) * 2012-10-22 2014-05-07 中国长城计算机深圳股份有限公司 一种云资源的调度方法及系统
CN104345858A (zh) * 2013-08-02 2015-02-11 北京百度网讯科技有限公司 服务器硬件设备的功耗管理方法及装置、服务器
CN105069571A (zh) * 2015-08-13 2015-11-18 中国石油化工股份有限公司 基于事故后果的长输管道微观效能评估方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732272A (zh) * 2019-10-28 2021-04-30 阿里巴巴集团控股有限公司 一种应用程序的发布方法和装置
CN112732272B (zh) * 2019-10-28 2024-05-28 阿里巴巴集团控股有限公司 一种应用程序的发布方法和装置
CN111680835A (zh) * 2020-06-05 2020-09-18 广州汇量信息科技有限公司 一种风险预测方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
TWI780065B (zh) 2022-10-11
TW201816627A (zh) 2018-05-01
CN107967173A (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
WO2018072619A1 (zh) 一种资源调度的方法、装置和系统
US20210027393A1 (en) Automated cost calculation for virtualized infrastructure
US20200134558A1 (en) Order allocation method and device
JP6321681B2 (ja) ウェブサイトユーザを識別する方法および装置
JP6725155B2 (ja) モバイルデバイス属性の経時的変化に基づいて一意のモバイルデバイスを識別するための方法及びシステム
US9779406B2 (en) User feature identification method and apparatus
US20150032759A1 (en) System and method for analyzing result of clustering massive data
CN106897335B (zh) 一种业务数据的存储方法、记录标识符的生成方法及装置
US20170351728A1 (en) Detecting potential root causes of data quality issues using data lineage graphs
US10680975B2 (en) Method of dynamic resource allocation for public clouds
WO2017114198A1 (zh) 一种数据处理方法和装置
JP6678829B2 (ja) ユーザ信用評価
TWI622885B (zh) Data exchange method and device
CN105573732B (zh) 一种基于分布式系统的业务对象的处理方法和装置
CN105608087B (zh) 一种资源调度方法与设备
US20120323821A1 (en) Methods for billing for data storage in a tiered data storage system
US20140095934A1 (en) Test case production utilizing problem reports
WO2017118318A1 (zh) 一种数据存储与业务处理的方法及装置
CN107832446B (zh) 一种配置项信息的搜索方法及计算设备
CN110874786A (zh) 虚假交易团伙识别方法、设备及计算机可读介质
CN107194712B (zh) 共享账户变动信息记录方法及装置、内部账户补账方法及系统
WO2016169420A1 (zh) 一种业务请求执行状态的查询方法、装置及系统
CN111143546A (zh) 一种获得推荐语的方法、装置及电子设备
CN116629612A (zh) 一种风险预测的方法、装置、存储介质及电子设备
US11030674B2 (en) Cognitive order processing by predicting resalable returns

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: 17863187

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17863187

Country of ref document: EP

Kind code of ref document: A1