CN111541558B - SLA configuration method and device - Google Patents

SLA configuration method and device Download PDF

Info

Publication number
CN111541558B
CN111541558B CN202010203404.6A CN202010203404A CN111541558B CN 111541558 B CN111541558 B CN 111541558B CN 202010203404 A CN202010203404 A CN 202010203404A CN 111541558 B CN111541558 B CN 111541558B
Authority
CN
China
Prior art keywords
sla
value
processing node
target processing
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010203404.6A
Other languages
Chinese (zh)
Other versions
CN111541558A (en
Inventor
张天洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd Chengdu Branch
Original Assignee
New H3C Technologies Co Ltd Chengdu Branch
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 New H3C Technologies Co Ltd Chengdu Branch filed Critical New H3C Technologies Co Ltd Chengdu Branch
Priority to CN202010203404.6A priority Critical patent/CN111541558B/en
Publication of CN111541558A publication Critical patent/CN111541558A/en
Application granted granted Critical
Publication of CN111541558B publication Critical patent/CN111541558B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

The application relates to the technical field of data transmission, in particular to an SLA configuration method and device, which are applied to cluster control and configuration nodes in a distributed system, wherein the distributed system also comprises a plurality of instances and a plurality of processing nodes, and the method comprises the following steps: determining a target instance and a target processing node set corresponding to the target instance, wherein the target instance is any one of the instances, and the target processing node set comprises at least one target processing node; calculating SLA values of all target processing nodes corresponding to the target instances based on a preset LSA configuration strategy; and respectively sending the calculated SLA value of each processing node to each target processing node, so that each target processing node performs Qos control according to the SLA value of each processing node.

Description

SLA configuration method and device
Technical Field
The present application relates to the field of data transmission technologies, and in particular, to a method and an apparatus for SLA configuration.
Background
In network, storage, computing, etc. systems, the service capabilities that they provide are limited. For example, a router or a switch of a network system provides data forwarding capability, and service indexes of the data forwarding capability include packet forwarding capability (pps), Throughput (Throughput), forwarding delay, and the like; the storage devices in the storage system provide IOPS number, read-write bandwidth (Throughput), Burst write traffic (Burst), and the like. These service capability index values are limited under conditions determined by the system hardware and software. When a plurality of users or applications use system resources, the resources are allocated and scheduled according to a strategy by using a Qos technology so as to meet the requirements of Service-Level agreements (SLAs) of the users or the applications.
The distributed system is provided with scale-out (scale-out) capability. By utilizing the horizontal expansion capability, the system capacity and performance can be synchronously expanded, so that the distributed system is widely deployed in enterprises in recent years. Typical distributed systems today are distributed storage systems, distributed computing clusters, and the like. Therefore, it is significant to perform resource scheduling by using Qos technology in a distributed system.
In a centralized device, the Qos technology has a mature implementation scheme. Specifically, when data arrives at the device, it is first determined whether the data queue is full. If the queue is full, the data is directly discarded, otherwise, the data is written into the queue (the queue can be multiple, the specific number and the scheduling algorithm of the queue depend on the system), and the like for further processing. Tokens need to be taken from the token bucket and a packet needs to have a token before data can be taken from the queue for further processing. Tokens are put into the token bucket at a fixed rate, such as 100 tokens per 10 ms. The capacity of the bucket is fixed and if the put tokens exceed the capacity of the tokens, the excess tokens are discarded.
The maximum value of the Qos index can be conveniently limited by adjusting parameters such as token bucket capacity, token putting speed, queue length and the like; the Burst (Burst) value of the Qos metric may then be limited by a combination of two token buckets. The limitation on the minimum guaranteed value of the Qos indicator is generally achieved by a multi-queue scheduling method (the scheduling method includes strict priority, polling, weighted polling, etc.), and is not detailed herein.
However, the above method is implemented on a single device. Overall control cannot be performed in a distributed system.
Disclosure of Invention
The embodiment of the application provides an SLA configuration method and an SLA configuration device, which are used for solving the problem that the Qos of a distributed system cannot be effectively managed and controlled in the prior art.
The embodiment of the application provides the following specific technical scheme:
in a first aspect, the present application provides an SLA configuration method, applied to cluster control and configuration nodes in a distributed system, where the distributed system further includes a plurality of instances and a plurality of processing nodes, and the method includes:
determining a target instance and a target processing node set corresponding to the target instance, wherein the target instance is any one of the instances, and the target processing node set comprises at least one target processing node;
calculating SLA values of target processing nodes corresponding to the target instances based on a preset LSA configuration strategy;
and respectively sending the calculated SLA value of each processing node to each target processing node, so that each target processing node performs Qos control according to the SLA value of each processing node.
Optionally, the preset LSA configuration policy is based on weight distribution;
the step of calculating the SLA value of each target processing node corresponding to the target instance based on a preset LSA configuration policy includes:
and respectively calculating an SLA value of each target processing node according to the total LSA value required by the target instance and the weight value of each target processing node corresponding to the target instance, and taking the SLA value as a weight SLA value, wherein the sum of the weight values of each target processing node is 1.
Optionally, the method further comprises:
receiving an LSA request sent by each target processing node corresponding to the target instance, wherein the LSA request at least comprises an LSA value;
calculating the total SLA value requested by each target processing node according to the LSA request sent by each target processing node;
and if the total SLA value requested by each target processing node is less than or equal to the total LSA value required by the target instance, respectively sending an LSA response to each target processing node, wherein one SLA response at least comprises an SLA value distributed to the corresponding target processing node, and the SLA value is equal to the SLA value contained in the SLA request sent by the target processing node.
Optionally, the method further comprises:
if the total SLA value requested by each target processing node is larger than the total LSA value required by the target instance, the SLA value distributed to each target processing node is respectively calculated based on the SLA value requested by each target processing node, the weight SLA value of each target processing node and the total SLA value required by the target instance;
and sending LSA responses to the target processing nodes, wherein one SLA response at least comprises an SLA value distributed to the corresponding target processing node, and the SLA value is less than or equal to the SLA value contained in the SLA request sent by the target processing node.
Optionally, the step of calculating the SLA values allocated to the target processing nodes respectively based on the SLA values requested by the target processing nodes, the weighted SLA values of the target processing nodes, and the total SLA value required by the target instance includes:
calculating the difference value between the request SLA value and the weight SLA value of any target processing node, and dividing the difference value by the weight SLA value of any target processing node to obtain the excess proportion of any target processing node;
setting an X value, calculating the exceeding SLA value of the target processing node with the exceeding proportion larger than X until the calculated exceeding value total value of the target processing node with the exceeding proportion larger than X is equal to the difference between the total SLA value requested by each target processing node and the total LSA value required by the target instance, and determining the X value;
multiplying (1+ X) by the weight SLA value of the target processing node as an SLA value assigned to the target processing node for target processing nodes having an overrun ratio greater than the determined X value;
and regarding the target processing node with the exceeding proportion smaller than or equal to the determined X value, taking the SLA value included in the SLA request sent by the target processing node as the SLA value distributed to the target processing node.
In a second aspect, the present application provides an SLA configuration apparatus, applied to a cluster control and configuration node in a distributed system, where the distributed system further includes a plurality of instances and a plurality of processing nodes, and the apparatus includes:
a determining unit, configured to determine a target instance and a target processing node set corresponding to the target instance, where the target instance is any one of the multiple instances, and the target processing node set includes at least one target processing node;
the computing unit is used for computing the SLA value of each target processing node corresponding to the target instance based on a preset LSA configuration strategy;
and a sending unit, configured to send the calculated SLA values of the processing nodes to the target processing nodes, so that the target processing nodes perform Qos control according to the SLA values of the processing nodes.
Optionally, the preset LSA configuration policy is based on weight distribution;
when calculating the SLA value of each target processing node corresponding to the target instance based on the preset LSA configuration policy, the calculating unit is specifically configured to:
and respectively calculating an SLA value of each target processing node according to the total LSA value required by the target instance and the weight value of each target processing node corresponding to the target instance, and taking the SLA value as a weight SLA value, wherein the sum of the weight values of each target processing node is 1.
Optionally, the apparatus further comprises:
a receiving unit, configured to receive an LSA request sent by each target processing node corresponding to the target instance, where the LSA request at least includes an LSA value;
the computing unit is further configured to compute a total SLA value requested by each target processing node according to the LSA request sent by each target processing node;
if the total SLA value requested by each target processing node is less than or equal to the total LSA value required by the target instance, the sending unit is further configured to send an LSA response to each target processing node, where one SLA response at least includes an SLA value allocated to the corresponding target processing node, and the SLA value is equal to an SLA value included in the SLA request sent by the one target processing node.
Alternatively,
if the total SLA value requested by each target processing node is greater than the total LSA value required by the target instance, the computing unit is further configured to compute, based on the SLA value requested by each target processing node, the weighted SLA value of each target processing node, and the total SLA value required by the target instance, an SLA value allocated to each target processing node respectively;
the sending unit is further configured to send an LSA response to each target processing node, where one SLA response at least includes an SLA value assigned to the corresponding target processing node, and the SLA value is less than or equal to an SLA value included in an SLA request sent by the one target processing node.
Optionally, when the SLA value allocated to each target processing node is calculated based on the SLA value requested by each target processing node, the weight SLA value of each target processing node, and the total SLA value required by the target instance, respectively, the calculating unit is specifically configured to:
calculating the difference value between the request SLA value and the weight SLA value of any target processing node, and dividing the difference value by the weight SLA value of any target processing node to obtain the excess proportion of any target processing node;
setting an X value, calculating the exceeding SLA value of the target processing node with the exceeding proportion larger than X until the calculated exceeding value total value of the target processing node with the exceeding proportion larger than X is equal to the difference between the total SLA value requested by each target processing node and the total LSA value required by the target instance, and determining the X value;
multiplying (1+ X) by the weight SLA value of the target processing node as an SLA value assigned to the target processing node for target processing nodes having an overrun ratio greater than the determined X value;
and regarding the target processing node with the exceeding proportion smaller than or equal to the determined X value, taking the SLA value included in the SLA request sent by the target processing node as the SLA value distributed to the target processing node.
In a third aspect, the present application provides an SLA configuration apparatus, including:
a memory for storing program instructions;
and a processor, configured to call the program instructions stored in the memory, and execute any one of the methods according to the first aspect according to the obtained program.
In a fourth aspect, the present application provides a computer storage medium having stored thereon computer-executable instructions for causing a computer to perform the method of any of the first aspects.
The beneficial effects of this application are as follows:
to sum up, the SLA configuration method and apparatus provided by the present application are applied to cluster control and configuration nodes in a distributed system, where the distributed system further includes a plurality of instances and a plurality of processing nodes, and the method includes: determining a target instance and a target processing node set corresponding to the target instance, wherein the target instance is any one of the instances, and the target processing node set comprises at least one target processing node; calculating SLA values of target processing nodes corresponding to the target instances based on a preset LSA configuration strategy; and respectively sending the calculated SLA value of each processing node to each target processing node, so that each target processing node performs Qos control according to the SLA value of each processing node.
By adopting the SLA configuration method and device provided by the application, the cluster control and configuration nodes in the distributed system calculate the SLA value of each processing node according to the preset configuration strategy based on the cluster topology, and send the SLA value to each processing node to control the Qos according to the SLA value, so that the overall control of the Qos is realized in the distributed system.
Drawings
Fig. 1 is a schematic structural diagram of a distributed system according to an embodiment of the present application;
fig. 2 is a schematic flowchart of an SLA configuration method according to an embodiment of the present application;
fig. 3 is a schematic diagram illustrating a determination of an SLA value allocated to each target processing node according to an Ep of each target processing node according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an SLA configuration device provided in an embodiment of the present application;
fig. 5 is a schematic structural diagram of another SLA configuration device provided in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
First, the term "and" in the embodiment of the present application is only one kind of association relationship describing an association object, and indicates that three kinds of relationships may exist, for example, a and B may indicate: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
When the present application refers to the ordinal numbers "first", "second", "third" or "fourth", etc., it should be understood that this is done for differentiation only, unless it is clear from the context that the order is actually expressed.
The scheme of the present application will be described in detail by specific examples, but the present application is not limited to the following examples.
The distributed system further comprises a plurality of instances and a plurality of processing nodes, and exemplarily, as shown in fig. 1, the distributed system comprises cluster control and configuration nodes, an instance 1, an instance 2, an instance 3, an instance 4 … …, an instance M, a processing node 1, a processing node 2, processing nodes 3, … …, and a processing node N.
In the embodiment of the application, an instance refers to a logical entity with specific requirements on resources, and different instances have different instance IDs. For example, there are 10 users, each having respective requirements of bandwidth, IOPS, etc., and these users are 10 instances; for another example, 20 LUNs are configured in the distributed storage set, and each LUN has respective IOPS and Burst requirements, so that the LUNs are 20 instances; a processing node refers to an independent host/server which provides services to the outside by a cluster; cluster control and configuration center refers to an independent host/server for managing/maintaining each processing node.
The method embodiment of the present application will be described in detail below by using specific embodiments, and for example, referring to fig. 2, a detailed flow of the SLA configuration method provided by the present application is as follows:
step 200: and determining a target processing node set corresponding to the target instance, wherein the target instance is any one of the multiple instances, and the target processing node set comprises at least one target processing node.
In practical applications, each instance is predefined with a Profile of the instance, and the Profile of an instance may include the following:
1. an instance name; 2. a processing node set (including at least one processing node) corresponding to an instance, where the processing node corresponding to an instance is a processing node providing a service for the instance; 3. SLA related information of the instance.
Further, the SLA-related information of an example may include the following:
3.1, overall SLA requirements: values such as IOPS, Throughput, Burst, etc.;
3.2, the distribution strategy of the overall SLA at the corresponding node of the instance is as follows: such as equal distribution, prioritized distribution (different nodes define different priorities), distributed by node weight (different nodes define different weights), etc. Of course, the allocation policies of different examples may be the same or different, and the embodiments of the present application are not specifically limited herein.
In the embodiment of the present application, the Profile of each instance may be maintained in the cluster control and configuration center, that is, the predefined Profile of each instance is stored in the cluster control and configuration center. The cluster control and configuration center may then determine the set of processing nodes associated with each instance based on the Profile of that instance.
For example, assuming that the distributed system includes instances of instance a and instance B, and the processing nodes included in the distributed system are node 1, node 2, node 3, and node 4, the processing node set associated with instance a in the Profile of instance a includes node 1 and node 3, and the processing node set associated with instance B in the Profile of instance B includes node 2 and node 4, then the cluster control and configuration center may determine the processing nodes corresponding to instance a as node 1 and node 3 according to the Profile of instance a, and determine the processing nodes corresponding to instance B as node 2 and node 4 according to the Profile of instance B.
Furthermore, in this embodiment of the present application, the cluster control and configuration center may also be used to maintain a cluster state, that is, maintain state information of each processing node in the distributed system, including an in-place status, network connectivity, and a hardware state (CPU, memory, hard disk, etc.) of each processing node.
Step 210: and calculating the SLA value of each target processing node corresponding to the target instance based on a preset LSA configuration strategy.
Specifically, the preset LSA configuration policy may be an average allocation (that is, the weights of the target processing nodes corresponding to the target instances are the same), a priority allocation (that is, the processing priorities of the target processing nodes corresponding to the target instances are different), a weight allocation (that is, the weights of the target processing nodes corresponding to the target instances are not completely the same), and the like.
The following describes the above method embodiment in detail by using a preset LSA configuration policy as weight assignment.
Specifically, in this embodiment of the present application, the preset LSA configuration policy is based on weight assignment, and then, based on the preset LSA configuration policy, calculating an SLA value of each target processing node corresponding to the target instance, in an optional implementation manner, according to a total LSA value required by the target instance and a weight value of each target processing node corresponding to the target instance, calculating an SLA value of each target processing node respectively, and taking the SLA value as a weight SLA value, where a sum of the weight values of the target processing nodes is 1.
For example, assuming that the processing nodes corresponding to instance a are node 1, node 2 and node 3, the weight of node 1 is 0.2, the weight of node 2 is 0.3, the weight of node 3 is 0.5, and the LSA index corresponding to instance a is an IPOS value (e.g., IPOS value is Y), then it can be calculated as: the LSA value of node 1 is 0.2 x Y, the LSA value of node 2 is 0.3 x Y, and the LSA value of node 3 is 0.5 x Y.
Further, in this embodiment of the present application, the LSA value of one target processing node obtained by the above calculation according to the weight of the one target processing node may be used as the weight LSA value of the one target processing node, that is, the LSA value that needs to be allocated to the one target processing node is obtained by calculation according to the weight of the one target processing node and the LSA value required by the target instance under normal conditions.
Step 220: and respectively sending the calculated SLA values of the processing nodes to the target processing nodes so that the target processing nodes can perform Qos control according to the SLA values of the processing nodes.
The following operations may be performed for each instance: suppose the Instance ID value is Instance _ IDR (hereinafter, abbreviated as Instance R); the example R corresponds to a processing node set of { N1, N2, …, NK }; the distribution strategy of the node SLA is based on weight distribution, and the weights of the corresponding processing nodes are W1, W2, … and WK respectively; the LSA index for example R is IOPS, and the IOPS value is Y. Then, the IPOS value assigned to the processing node N1 is calculated as W1 ×, which is obtained according to the weights W1 and Y of the processing node N1, the cluster control and configuration center can send W1 × to the processing node N1, and the processing node N1 performs Qos control according to the received IPOS value. Specifically, SLA values may be issued in pairs of values, e.g., < instance R, W1 × Y >.
Further, in this embodiment of the present application, the SLA configuration mode is a static configuration mode, and when the system is initialized, or SLA configuration is performed based on a preset static configuration period, during the operation process of the distributed system, each processing node may further feed back a service load condition of itself to the cluster control and configuration center according to an actual condition of service operation of itself, and send an LSA request message to the cluster control and configuration center, so that the cluster control and configuration center may dynamically adjust an SLA value of each processing node according to the service load condition fed back by each processing node.
Then, in this embodiment of the present application, the SLA configuration method may further include the following steps:
step 1: and receiving an LSA request sent by each target processing node corresponding to the target instance, wherein the LSA request at least comprises an LSA value.
Specifically, the target processing node may send its SLA request to the cluster control and configuration node at a fixed period T1 (e.g., 10 seconds, with a configurable T1 value): the SLA request value is the maximum value of the actual SLA of the node instance in the past T1 period.
Of course, the target processing node may send its SLA request to the cluster control and configuration node non-periodically: the SLA requirements in the past T2 (the value of T2 is configurable, but T2< T1) are calculated in real time, and if the SLA requirement value minus the SLA value issued by the control node is greater than a fixed value Diff configured to be different for different SLA indexes (for example, Diff is 30 for IOPS; Diff is 5MB/s for Throughput), the SLA request is sent with the value of the SLA requirements in the past T2 time.
Step 2: calculating the total SLA value requested by each target processing node according to the LSA request sent by each target processing node;
and 3, step 3: if the total SLA value requested by each target processing node is less than or equal to the total LSA value required by the target instance, an LSA response is sent to each target processing node, where one SLA response at least includes an SLA value allocated to the corresponding target processing node, and the SLA value is equal to an SLA value included in the SLA request sent by the one target processing node.
That is, the sum of the requested SLA values of each target processing node for the target instance does not exceed the SLA value required by the target instance, and it is determined that the request of each target processing node can be satisfied, and the configuration is performed directly based on the requested SLA value included in the SLA request of each target processing node.
Further, if the total SLA value requested by each target processing node is greater than the total LSA value required by the target instance, calculating an SLA value allocated to each target processing node based on the SLA value requested by each target processing node, the weighted SLA value of each target processing node and the total SLA value required by the target instance, respectively; and sending an LSA response to each target processing node, wherein one SLA response at least comprises an SLA value distributed to the corresponding target processing node, and the SLA value is less than or equal to the SLA value contained in the SLA request sent by the target processing node.
That is to say, in the embodiment of the present application, if the sum of requested SLA values of each target processing node is greater than the SLA value required by the target instance, it indicates that the SLA value allocated to each target processing node needs to be calculated according to actual situations, so as to ensure that the sum of the SLA values allocated to each target processing node is not greater than the SLA value required by the target instance.
Since each target processing node has a corresponding weight SLA value, that is, an SLA value calculated according to the total SLA value required by the target instance and the weight value of the corresponding target processing node, since the sum of the request SLA values is greater than the SLA value required by the target instance, there must be a target processing node whose request SLA value is greater than its corresponding weight SLA value.
In this embodiment of the present application, when calculating the SLA values allocated to the target processing nodes respectively based on the SLA values requested by the target processing nodes, the weighted SLA values of the target processing nodes, and the total SLA value required by the target instance, an optional real-time manner is as follows:
calculating the difference value between the request SLA value and the weight SLA value of any target processing node, and dividing the difference value by the weight SLA value of any target processing node to obtain the excess proportion of any target processing node; setting an X value, calculating the exceeding SLA value of the target processing node with the exceeding proportion larger than X until the calculated exceeding value total value of the target processing node with the exceeding proportion larger than X is equal to the difference between the total SLA value requested by each target processing node and the total LSA value required by the target instance, and determining the X value; for a target processing node whose overrun proportion is greater than the determined value of X, multiplying (1+ X) by the target processing node's weight SLA value as the SLA value assigned to the target processing node; and regarding the target processing node with the exceeding proportion smaller than or equal to the determined X value, taking the SLA value included in the SLA request sent by the target processing node as the SLA value distributed to the target processing node.
For example, assuming there are K target processing nodes for instance O, the excess ratio of requested SLA values for each processing node can be computed in turn, E P (P ═ 1, 2 … …, K), wherein the excess proportion of requested SLA values for a target processing node is calculated as: (request SLA of the one target processing node-weight of the one target processing nodeSLA)/weight SLA of the one target processing node.
Specifically, if the requested SLA of one target processing node is not greater than its weight SLA, the exceeding ratio of the one target processing node is defined as 0.
Then, in descending order, Ep greater than 0 is sorted, and at this time, it is desirable to find a value X such that the sum of the out-of-SLA values of the target processing nodes with Ep greater than 0 is exactly equal to the sum of the requested SLAs (e.g., M) of the target processing nodes corresponding to instance O and the SLA value (e.g., Y) required by instance O, i.e., the sum of out-of-SLA values of the target processing nodes with Ep greater than 0 is (M-Y). Illustratively, referring to fig. 3, a diagram illustrating the determination of the SLA value assigned to each target processing node is shown according to the Ep of each target processing node.
In practical applications, the X value can be obtained as follows:
4.1, initialize I ═ 2, J ═ M-Y
4.2, setting the X value as EPI, and calculating the SLA exceeded by all nodes before the PI node (without the PI node) X SUM of values SUM X . If SUM X <J, then
{
I=I+1;
goto 4.2
}
Otherwise
{
Solving the following one-dimensional linear equation of X to obtain the X value:
(EP1-x) P1 node weight SLA + (EP2-x) P2 node weight SLA + … + (EP (I-1) -x) P (I-1) node weight SLA ═ J
}
After determining the X value, for all E P >X processing nodes, each of which has a response LSA value of (1+ X) × a weight LSA value of the node; the response LSA values of the other processing nodes are equal to the LSA values requested by the node.
Based on the foregoing embodiments, referring to fig. 4, the LSA configuration apparatus provided in this embodiment of the present application is applied to cluster control and configuration nodes in a distributed system, where the distributed system further includes a plurality of instances and a plurality of processing nodes, and the apparatus includes:
a determining unit 40, configured to determine a target instance and a target processing node set corresponding to the target instance, where the target instance is any one of the multiple instances, and the target processing node set includes at least one target processing node;
a calculating unit 41, configured to calculate, based on a preset LSA configuration policy, an SLA value of each target processing node corresponding to the target instance;
a sending unit 42, configured to send the calculated SLA values of the processing nodes to the target processing nodes, respectively, so that the target processing nodes perform Qos control according to the SLA values of the processing nodes.
Optionally, the preset LSA configuration policy is based on weight distribution;
when calculating the SLA value of each target processing node corresponding to the target instance based on the preset LSA configuration policy, the calculating unit 41 is specifically configured to:
and respectively calculating an SLA value of each target processing node according to the total LSA value required by the target instance and the weight value of each target processing node corresponding to the target instance, and taking the SLA value as a weight SLA value, wherein the sum of the weight values of each target processing node is 1.
Optionally, the apparatus further comprises:
a receiving unit, configured to receive an LSA request sent by each target processing node corresponding to the target instance, where the LSA request at least includes an LSA value;
a calculating unit 41, further configured to calculate a total SLA value requested by each target processing node according to the LSA request sent by each target processing node;
if the total SLA value requested by each target processing node is less than or equal to the total LSA value required by the target instance, the sending unit 42 is further configured to send an LSA response to each target processing node, where one SLA response at least includes an SLA value allocated to the corresponding target processing node, and the SLA value is equal to an SLA value included in the SLA request sent by the one target processing node.
Alternatively,
if the total SLA value requested by each target processing node is greater than the total LSA value required by the target instance, the calculating unit 41 is further configured to calculate, based on the SLA value requested by each target processing node, the weight SLA value of each target processing node and the total SLA value required by the target instance, an SLA value allocated to each target processing node respectively;
the sending unit 42 is further configured to send an LSA response to each target processing node, where one SLA response at least includes an SLA value assigned to the corresponding target processing node, and the SLA value is less than or equal to an SLA value included in the SLA request sent by the one target processing node.
Optionally, when the SLA values allocated to the target processing nodes are respectively calculated based on the SLA values requested by the target processing nodes, the weighted SLA values of the target processing nodes, and the total SLA value required by the target instance, the calculating unit 41 is specifically configured to:
calculating the difference between the request SLA value and the weight SLA value of any target processing node, and dividing the difference by the weight SLA value of any target processing node to obtain the excess proportion of any target processing node;
setting an X value, calculating the exceeding SLA value of the target processing node with the exceeding proportion larger than X until the calculated exceeding value total value of the target processing node with the exceeding proportion larger than X is equal to the difference between the total SLA value requested by each target processing node and the total LSA value required by the target instance, and determining the X value;
multiplying (1+ X) by the weight SLA value of the target processing node as an SLA value assigned to the target processing node for target processing nodes having an overrun ratio greater than the determined X value;
and regarding the target processing node with the exceeding proportion smaller than or equal to the determined X value, taking the SLA value included in the SLA request sent by the target processing node as the SLA value distributed to the target processing node.
Further, referring to fig. 5, the present application also provides an SLA configuration arrangement comprising a memory 50 and a processor 51, wherein,
a memory 50 for storing program instructions;
and a processor 51, configured to call the program instructions stored in the memory 50, and execute any one of the method embodiments according to the obtained program.
Still further, the present application provides a computer storage medium having computer-executable instructions stored thereon for causing a computer to perform any of the above-described method embodiments.
To sum up, the SLA configuration method and apparatus provided by the present application are applied to cluster control and configuration nodes in a distributed system, where the distributed system further includes a plurality of instances and a plurality of processing nodes, and the method includes: determining a target instance and a target processing node set corresponding to the target instance, wherein the target instance is any one of the instances, and the target processing node set comprises at least one target processing node; calculating SLA values of target processing nodes corresponding to the target instances based on a preset LSA configuration strategy; and respectively sending the calculated SLA value of each processing node to each target processing node, so that each target processing node performs Qos control according to the SLA value of each processing node.
By adopting the SLA configuration method and device provided by the application, the cluster control and configuration nodes in the distributed system calculate the SLA value of each processing node according to the preset configuration strategy based on the cluster topology, and send the SLA value to each processing node to control the Qos according to the SLA value, so that the overall control of the Qos is realized in the distributed system.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may 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, and so forth) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including the preferred embodiment and all changes and modifications that fall within the scope of the present application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. Thus, if such modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to encompass such modifications and variations.

Claims (10)

1. An SLA configuration method applied to a cluster control and configuration node in a distributed system, the distributed system further including several instances and several processing nodes, the method comprising:
determining a target instance and a target processing node set corresponding to the target instance, wherein the target instance is any one of the instances, and the target processing node set comprises at least one target processing node;
calculating SLA values of all target processing nodes corresponding to the target instances based on a preset LSA configuration strategy;
and respectively sending the calculated SLA value of each processing node to each target processing node, so that each target processing node performs Qos control according to the SLA value of each processing node.
2. The method of claim 1, wherein the preset LSA configuration policy is based on weight assignment;
the step of calculating the SLA value of each target processing node corresponding to the target instance based on a preset LSA configuration policy includes:
and respectively calculating an SLA value of each target processing node according to the total LSA value required by the target instance and the weight value of each target processing node corresponding to the target instance, and taking the SLA value as a weight SLA value, wherein the sum of the weight values of each target processing node is 1.
3. The method of claim 1, wherein the method further comprises:
receiving an LSA request sent by each target processing node corresponding to the target instance, wherein the LSA request at least comprises an LSA value;
calculating the total SLA value requested by each target processing node according to the LSA request sent by each target processing node;
if the total SLA value requested by each target processing node is less than or equal to the total LSA value required by the target instance, then an LSA response is sent to each target processing node, wherein one SLA response at least comprises the SLA value distributed to the corresponding target processing node, and the SLA value is equal to the SLA value included in the SLA request sent by the target processing node.
4. The method of claim 3, further comprising:
if the total SLA value requested by each target processing node is larger than the total LSA value required by the target instance, the SLA value distributed to each target processing node is respectively calculated based on the SLA value requested by each target processing node, the weight SLA value of each target processing node and the total SLA value required by the target instance;
and sending LSA responses to the target processing nodes, wherein one SLA response at least comprises an SLA value distributed to the corresponding target processing node, and the SLA value is less than or equal to the SLA value contained in the SLA request sent by the target processing node.
5. The method of claim 4, wherein the step of separately calculating the SLA values assigned to the target processing nodes based on the requested SLA values for the target processing nodes, the weighted SLA values for the target processing nodes, and the total SLA value required for the target instance comprises:
calculating the difference between the request SLA value and the weight SLA value of any target processing node, and dividing the difference by the weight SLA value of any target processing node to obtain the excess proportion of any target processing node;
setting an X value, calculating the exceeding SLA value of the target processing node with the exceeding proportion larger than X until the calculated exceeding value total value of the target processing node with the exceeding proportion larger than X is equal to the difference between the total SLA value requested by each target processing node and the total LSA value required by the target instance, and determining the X value;
for a target processing node whose overrun proportion is greater than the determined value of X, multiplying (1+ X) by the target processing node's weight SLA value as the SLA value assigned to the target processing node;
and regarding the target processing node with the exceeding proportion smaller than or equal to the determined X value, taking the SLA value included in the SLA request sent by the target processing node as the SLA value distributed to the target processing node.
6. An SLA configuration arrangement for a cluster control and configuration node in a distributed system, the distributed system further comprising a number of instances and a number of processing nodes, the arrangement comprising:
a determining unit, configured to determine a target instance and a target processing node set corresponding to the target instance, where the target instance is any one of the multiple instances, and the target processing node set includes at least one target processing node;
the computing unit is used for computing the SLA value of each target processing node corresponding to the target instance based on a preset LSA configuration strategy;
and a sending unit, configured to send the calculated SLA values of the processing nodes to the target processing nodes, respectively, so that the target processing nodes perform Qos control according to the SLA values of the processing nodes.
7. The apparatus of claim 6, wherein the preset LSA configuration policy is based on weight assignment;
when calculating the SLA value of each target processing node corresponding to the target instance based on the preset LSA configuration policy, the calculating unit is specifically configured to:
and respectively calculating an SLA value of each target processing node according to the total LSA value required by the target instance and the weight value of each target processing node corresponding to the target instance, and taking the SLA value as a weight SLA value, wherein the sum of the weight values of each target processing node is 1.
8. The apparatus of claim 6, wherein the apparatus further comprises:
a receiving unit, configured to receive an LSA request sent by each target processing node corresponding to the target instance, where the LSA request at least includes an LSA value;
the computing unit is further configured to compute a total SLA value requested by each target processing node according to the LSA request sent by each target processing node;
if the total SLA value requested by each target processing node is less than or equal to the total LSA value required by the target instance, the sending unit is further configured to send an LSA response to each target processing node, where one SLA response at least includes an SLA value allocated to the corresponding target processing node, and the SLA value is equal to an SLA value included in the SLA request sent by the one target processing node.
9. The apparatus of claim 8,
if the total SLA value requested by each target processing node is greater than the total LSA value required by the target instance, the computing unit is further configured to compute, based on the SLA value requested by each target processing node, the weighted SLA value of each target processing node, and the total SLA value required by the target instance, an SLA value allocated to each target processing node respectively;
the sending unit is further configured to send an LSA response to each target processing node, where one SLA response at least includes an SLA value assigned to the corresponding target processing node, and the SLA value is less than or equal to an SLA value included in an SLA request sent by the one target processing node.
10. The apparatus according to claim 9, wherein when the SLA values assigned to the target processing nodes are respectively calculated based on the SLA values requested by the target processing nodes, the weight SLA values of the target processing nodes, and the total SLA value required by the target instance, the calculating unit is specifically configured to:
calculating the difference value between the request SLA value and the weight SLA value of any target processing node, and dividing the difference value by the weight SLA value of any target processing node to obtain the excess proportion of any target processing node;
setting an X value, calculating the exceeding SLA value of the target processing node with the exceeding proportion larger than X until the calculated exceeding value total value of the target processing node with the exceeding proportion larger than X is equal to the difference between the total SLA value requested by each target processing node and the total LSA value required by the target instance, and determining the X value;
multiplying (1+ X) by the weight SLA value of the target processing node as an SLA value assigned to the target processing node for target processing nodes having an overrun ratio greater than the determined X value;
and regarding the target processing node with the exceeding proportion smaller than or equal to the determined X value, taking the SLA value included in the SLA request sent by the target processing node as the SLA value distributed to the target processing node.
CN202010203404.6A 2020-03-20 2020-03-20 SLA configuration method and device Active CN111541558B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010203404.6A CN111541558B (en) 2020-03-20 2020-03-20 SLA configuration method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010203404.6A CN111541558B (en) 2020-03-20 2020-03-20 SLA configuration method and device

Publications (2)

Publication Number Publication Date
CN111541558A CN111541558A (en) 2020-08-14
CN111541558B true CN111541558B (en) 2022-08-30

Family

ID=71979982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010203404.6A Active CN111541558B (en) 2020-03-20 2020-03-20 SLA configuration method and device

Country Status (1)

Country Link
CN (1) CN111541558B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009871A (en) * 2014-06-06 2014-08-27 中国科学院声学研究所 SDN controller implementation method and SDN controller
CN104010028A (en) * 2014-05-04 2014-08-27 华南理工大学 Dynamic virtual resource management strategy method for performance weighting under cloud platform
US9325585B1 (en) * 2012-07-10 2016-04-26 The Boeing Company Mission-driven autonomous and adaptive resource management
CN107548549A (en) * 2015-04-27 2018-01-05 微软技术许可有限责任公司 Equilibrium of stock in DCE
CN109167702A (en) * 2018-08-28 2019-01-08 新华三大数据技术有限公司 A kind of distributed test method and device based on load balancing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895317B2 (en) * 2007-06-27 2011-02-22 Computer Associates Think, Inc. Autonomic control of a distributed computing system using finite state machines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9325585B1 (en) * 2012-07-10 2016-04-26 The Boeing Company Mission-driven autonomous and adaptive resource management
CN104010028A (en) * 2014-05-04 2014-08-27 华南理工大学 Dynamic virtual resource management strategy method for performance weighting under cloud platform
CN104009871A (en) * 2014-06-06 2014-08-27 中国科学院声学研究所 SDN controller implementation method and SDN controller
CN107548549A (en) * 2015-04-27 2018-01-05 微软技术许可有限责任公司 Equilibrium of stock in DCE
CN109167702A (en) * 2018-08-28 2019-01-08 新华三大数据技术有限公司 A kind of distributed test method and device based on load balancing

Also Published As

Publication number Publication date
CN111541558A (en) 2020-08-14

Similar Documents

Publication Publication Date Title
CN110995614B (en) Computing power resource allocation method and device
EP2923479B1 (en) Method and apparatus for controlling utilization in a horizontally scaled software application
US11977784B2 (en) Dynamic resources allocation method and system for guaranteeing tail latency SLO of latency-sensitive application
CN107239336B (en) Method and device for realizing task scheduling
EP3117335B1 (en) Coordinated admission control for network-accessible block storage
US10230591B2 (en) Network resource governance in multi-tenant datacenters
US8149846B2 (en) Data processing system and method
US9559956B2 (en) Sharing bandwidth among multiple users of network applications
US20050055694A1 (en) Dynamic load balancing resource allocation
CN110830391A (en) Resource allocation method and device and cluster system
US20070064711A1 (en) System and method for providing, by a plurality of schedulers, differentiated service to consumers of distributed resources
US10394606B2 (en) Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
WO2003090420A1 (en) Method and system for dynamically allocating bandwidth to a plurality of network elements
EP2670085A1 (en) System for performing Data Cut-Through
Zhang et al. Dynamic scheduling with service curve for QoS guarantee of large-scale cloud storage
US20220232584A1 (en) Method and apparatus for bandwidth allocation
US20180115498A1 (en) Systems and methods for adaptive credit-based flow
CN109815204A (en) A kind of metadata request distribution method and equipment based on congestion aware
CN111541558B (en) SLA configuration method and device
CN109792411B (en) Apparatus and method for managing end-to-end connections
KR101813165B1 (en) Adaptive control plane management method for software defined network and apparatus thereof
Zhang et al. RICH: Strategy-proof and efficient coflow scheduling in non-cooperative environments
CN105847172B (en) Job flow control method and device
KR101996768B1 (en) Method and apparatus of managing resource
WO2023036240A1 (en) Resource scheduling method and apparatus, and computer device and readable medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant