A node traffic adjustment method, device and equipment

By coordinating the work between the node controller and the cluster master controller to monitor and adjust traffic, the problem of inflexible node traffic adjustment in multi-controller storage systems is solved, cluster-level traffic control is achieved, and the adaptability and application scope of the storage system are improved.

CN119094445BActive Publication Date: 2025-11-18INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411211737.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2025-11-18
Estimated Expiration
2044-08-30

AI Technical Summary

Technical Problem

In a multi-controller storage system, the cluster master controller cannot perceive the traffic information on each node, resulting in traffic control being limited to each node and unable to flexibly adjust the traffic of each node, and it is highly dependent on the amount of upper-layer business data.

Method used

By starting a monitoring timer on the node controller, events are monitored and reported and sent to the cluster master controller. The cluster master controller calculates the traffic control value and feeds it back to the node controller to adjust its actual traffic, thereby achieving cluster-level traffic control.

Benefits of technology

It implements cluster-level flow control, improves the product adaptability of the storage system, and expands its application areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119094445B_ABST
    Figure CN119094445B_ABST
Patent Text Reader

Abstract

The application discloses a node traffic adjustment method, device and equipment, and relates to the technical field of data traffic control. The method comprises the following steps: starting a monitoring timer to monitor a monitored object; in response to the monitoring timer detecting that the monitored object generates a reporting event, sending the reporting event to a cluster master controller, so that the cluster master controller publishes an inspection notice according to the reporting event; receiving the inspection notice sent by the cluster master controller and starting an event reporting timer; sending the to-be-reported event and effective traffic of the node controller to the cluster master controller through the event reporting timer, so that the cluster master controller calculates a traffic regulation value of the corresponding node controller; receiving the traffic regulation value of the node controller, and adjusting the actual traffic of the node controller according to the traffic regulation value. Through the node traffic adjustment method, device and equipment disclosed in the application, cluster-level traffic adjustment can be realized, and the product adaptability of a storage system is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data flow control technology, and in particular to a method, apparatus and equipment for adjusting node flow. Background Technology

[0002] Storage systems are widely used in today's big data and information age, becoming an indispensable part of maintaining social and daily life. To meet the processing needs of different scenarios, traffic control of network nodes is necessary to ensure the security and stability of network equipment operation, thereby improving the equipment's business processing capabilities. Currently, multi-controller storage systems are widely used, where input / output processes are completed on each node controller, and the cluster master controller cannot perceive the traffic information on each node. The lack of control over input / output traffic by the cluster master controller limits traffic control to each node, and these controls are independent of each other. If multiple nodes are processing input / output simultaneously, traffic control for the entire storage cluster system cannot be achieved. Adjusting the traffic of individual nodes solely through the node controllers cannot flexibly regulate the traffic of each node and may even be highly dependent on the volume of upper-layer business data. Summary of the Invention

[0003] To address the issue of the inability of node controllers to flexibly adjust the traffic of individual nodes when regulating traffic, this application provides the following technical solution:

[0004] Firstly, a node traffic adjustment method is provided, applicable to any node controller, including:

[0005] Start the monitoring timer to monitor the object being monitored;

[0006] In response to the monitoring timer detecting a reporting event from the monitored object, a reporting event is sent to the cluster master controller, so that the cluster master controller can issue an inspection notification based on the reporting event;

[0007] Receive inspection notifications sent by the cluster master controller and start the event reporting timer;

[0008] The events to be reported and the effective traffic of the node controller are sent to the cluster master controller through the event reporting timer, so that the cluster master controller can calculate the traffic control value of the corresponding node controller. The events to be reported include the reporting events that occur in the monitored object after receiving the inspection notification. The traffic control value is the proportion of the total traffic of the cluster to which any node controller belongs.

[0009] Receive the flow control value from the node controller and adjust the actual flow of the node controller according to the flow control value.

[0010] Furthermore, the events to be reported and the effective traffic of the node controller are sent to the cluster master controller via an event reporting timer, so that the cluster master controller can calculate the traffic control value for the corresponding node controller, including:

[0011] At any reporting time, obtain the effective traffic of the node controller between the previous reporting time and the current reporting time. The first reporting time is the time when the inspection notification is received, and the time interval between adjacent reporting times is the reporting period.

[0012] From the pending events, obtain several events to be reported in chronological order of their occurrence time;

[0013] The effective traffic of the node controller between the previous reporting time and the current reporting time is packaged with several reporting events into a single reporting data, wherein the capacity of the single reporting data is not greater than the preset capacity.

[0014] Send a single report of data to the cluster master controller.

[0015] Furthermore, the effective traffic of the node controller between the previous reporting time and the current reporting time is obtained, including:

[0016] At each sampling interval, the traffic of the monitored object is acquired, where the sampling interval is the time interval for acquiring the traffic of the monitored object;

[0017] Traffic to the monitored object that occurs within the steady-state period after the monitoring timer starts will be removed.

[0018] Determine whether the number of non-zero traffic records of the monitored object collected within a reporting period is greater than the preset number of non-zero records;

[0019] If the number of non-zero traffic records for a monitored object collected within a reporting cycle exceeds a preset non-zero count, then according to:

[0020]

[0021] Calculate the average traffic of the monitored object during the reporting period, where, T represents the average traffic volume of the monitored objects during the reporting period. R V represents the duration of the reporting period. i The flow rate value of the monitored object is obtained by sampling at the sampling time. i is a natural number, representing the sampling times arranged sequentially in time within the reporting period. n is the total number of flow rate values ​​of the monitored object collected within the reporting period.

[0022] The average traffic of the monitored object is taken as the effective traffic of the node controller.

[0023] Furthermore, receiving the flow control value from the node controller and adjusting the actual flow of the node controller according to the flow control value includes:

[0024] Receive the flow control value from the node controller;

[0025] Determine the actual flow of the node controller based on its flow control value;

[0026] Input the actual flow rate of the node controller into the flow limiter of the node controller to adjust the actual flow rate of the node controller.

[0027] Furthermore, based on the flow control value of the node controller, the actual flow of the node controller is determined, including:

[0028] Get the total traffic of the cluster where the node controller is located;

[0029] The product of the total traffic of the cluster where the node controller resides and the traffic control value is taken as the actual traffic of the node controller.

[0030] Secondly, a node traffic adjustment method is provided, applied to the cluster master controller, including:

[0031] The inspection timer is started based on the reported event sent by any node controller, and an inspection notification is sent to any node controller. The reported event is obtained by the monitoring timer of any node controller monitoring the monitored object.

[0032] Based on the reported events sent by any node controller and the effective traffic of that node controller, the traffic control value of that node controller is determined and fed back to that node controller. The effective traffic is the average traffic of the monitored object monitored by that node controller within the reporting period corresponding to the reported events.

[0033] Furthermore, based on the reported events sent by any node controller and the effective traffic of that node controller, the traffic control value of that node controller is determined, and the traffic control value is fed back to that node controller, including:

[0034] Summarize the valid traffic sent by any node controller;

[0035] Based on the effective traffic sent by all node controllers, repeatedly perform a halving operation on the effective traffic of all node controllers until the result of the halving operation is less than or equal to a preset value.

[0036] The traffic ratio of each node controller is calculated based on the final halving operation result, and used as the traffic control value for the corresponding node controller.

[0037] Thirdly, a method for adjusting node traffic is provided, including:

[0038] A100: Start the monitoring timer to monitor the object being monitored;

[0039] A200: In response to the monitoring timer detecting a reporting event of the monitored object, it sends a reporting event to the cluster master controller, so that the cluster master controller can issue an inspection notice based on the reporting event;

[0040] B100: Starts an inspection timer based on a reported event sent by any node controller and sends an inspection notification to any node controller. The reported event is obtained by the monitoring timer of any node controller monitoring the monitored object.

[0041] A300: Receives inspection notifications sent by the cluster master controller and starts an event reporting timer;

[0042] A400: Sends the events to be reported and the effective traffic of the node controller to the cluster master controller through the event reporting timer, so that the cluster master controller can calculate the traffic control value of the corresponding node controller. The events to be reported include: the reporting events that occur in the monitored object after receiving the inspection notification. The traffic control value is the proportion of the total traffic of the cluster to which any node controller belongs.

[0043] Specifically, the events to be reported and the effective traffic of the node controller are sent to the cluster master controller via an event reporting timer, so that the cluster master controller can calculate the traffic control value for the corresponding node controller.

[0044] A410: At any reporting time, obtain the effective traffic of the node controller between the previous reporting time and the current reporting time. The first reporting time is the time when the inspection notification is received, and the time interval between adjacent reporting times is the reporting period.

[0045] Specifically, obtaining the effective traffic of the node controller from the previous reporting time to the current reporting time includes:

[0046] A411: Acquire the traffic of the monitored object at each sampling interval, where the sampling interval is the time interval for acquiring the traffic of the monitored object;

[0047] A412: Remove traffic from the monitored object that occurs within the steady-state period after the monitoring timer starts;

[0048] A413: Determine whether the number of non-zero traffic collected from the monitored object within a reporting cycle is greater than the preset number of non-zero traffic.

[0049] A414: In response to the fact that the number of non-zero traffic records of the monitored object collected within a reporting cycle is greater than the preset number of non-zero records, then according to:

[0050]

[0051] Calculate the average traffic of the monitored object during the reporting period, where, T represents the average traffic volume of the monitored objects during the reporting period. R V represents the duration of the reporting period. i The flow rate value of the monitored object is obtained by sampling at the sampling time. i is a natural number, representing the sampling times arranged sequentially in time within the reporting period. n is the total number of flow rate values ​​of the monitored object collected within the reporting period.

[0052] A415: The average traffic of the monitored object is used as the effective traffic of the node controller.

[0053] A420: Obtain several reporting events from the pending events according to the chronological order of their occurrence time;

[0054] A430: Package the effective traffic of the node controller between the previous reporting time and the current reporting time and several reporting events into a single reporting data, wherein the capacity of the single reporting data is not greater than the preset capacity;

[0055] A440: Sends single-report data to the cluster master controller.

[0056] B200: Based on the reported events sent by any node controller and the effective traffic of that node controller, determine the traffic control value of that node controller and feed back the traffic control value to that node controller. The effective traffic is the average traffic of the monitored object monitored by the node controller within the reporting period corresponding to the sent reported events.

[0057] Specifically, based on the reported events sent by any node controller and the effective traffic of that node controller, the traffic control value of that node controller is determined, and the traffic control value is fed back to the node controller. This includes:

[0058] B210: Summarizes the valid traffic sent by any node controller;

[0059] B220: Based on the effective traffic sent by all node controllers, repeatedly perform a halving operation on the effective traffic of all node controllers until the result of the halving operation is less than or equal to a preset value.

[0060] B230: Calculate the traffic ratio of each node controller based on the final halving operation result, and use it as the traffic control value for the corresponding node controller.

[0061] A500: Receives the flow control value from the node controller and adjusts the actual flow of the node controller according to the flow control value.

[0062] This includes receiving the traffic control value from the node controller and adjusting the actual traffic of the node controller based on the traffic control value, including:

[0063] A510: Receives the flow control value from the node controller;

[0064] A520: Determine the actual flow of the node controller based on the flow control value of the node controller;

[0065] Wherein, A520: Based on the flow control value of the node controller, determine the actual flow of the node controller, including:

[0066] A521: Get the total traffic of the cluster where the controller of this node is located;

[0067] A522: The product of the total traffic of the cluster where the node controller is located and the traffic control value is used as the actual traffic of the node controller.

[0068] A530: Input the actual flow of the node controller into the flow limiter of the node controller to adjust the actual flow of the node controller.

[0069] Fourthly, a node flow adjustment device is provided, applicable to any node controller, comprising:

[0070] The monitoring startup module is used to start the monitoring timer to monitor the monitored object;

[0071] The event reporting module is used to send a reporting event to the cluster master controller when the monitoring timer detects that a reporting event has occurred on the monitored object, so that the cluster master controller can issue an inspection notification based on the reporting event;

[0072] The event initiation module is used to receive inspection notifications sent by the cluster master controller and start the event reporting timer.

[0073] The data sending module is used to send the events to be reported and the effective traffic of the node controller to the cluster master controller through the event reporting timer, so that the cluster master controller can calculate the traffic control value of the corresponding node controller. The events to be reported include: the reporting events that occur in the monitored object after receiving the inspection notification, and the traffic control value is the proportion of the total traffic of the cluster to which any node controller belongs.

[0074] The flow setting module is used to receive the flow control value of the node controller and adjust the actual flow of the node controller according to the flow control value.

[0075] Fifthly, a node traffic adjustment device is provided, applied to the cluster master controller, comprising:

[0076] The notification publishing module is used to start the inspection timer based on the reported event sent by any node controller and send an inspection notification to any node controller. The reported event is obtained by the monitoring timer of any node controller monitoring the monitored object.

[0077] The control feedback module is used to determine the traffic control value of any node controller based on the reported event sent by any node controller and the effective traffic of that node controller, and to feed back the traffic control value to the node controller. The effective traffic is the average traffic of the monitored object monitored by the node controller within the reporting period corresponding to the reported event.

[0078] In a sixth aspect, a node traffic adjustment device is provided, including a memory, a processor, and a node traffic adjustment program stored in the memory and executable on the processor. When the processor executes the node traffic adjustment program, it implements the node traffic adjustment method described in the first, second, or third aspect.

[0079] In a seventh aspect, a computer-readable storage medium is provided, on which a node flow adjustment program is stored, wherein when the node flow adjustment program is executed by a processor, the node flow adjustment method described in the first, second, or third aspect is implemented.

[0080] Eighthly, a computer program product is provided, including a computer program that, when executed by a processor, implements the node flow adjustment method described in the first, second, or third aspect.

[0081] The beneficial effects of the technical solution provided in this application are: by implementing the node traffic adjustment method, apparatus and equipment disclosed in this application, cluster-level traffic control function can be realized, and the product adaptability of the storage system can be improved. Attached Figure Description

[0082] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0083] Figure 1 This is a schematic diagram of a node traffic adjustment method applied to a node controller provided in an embodiment of this application;

[0084] Figure 2This is a schematic diagram of a node traffic adjustment method applied to a cluster master controller provided in an embodiment of this application;

[0085] Figure 3 This is a schematic diagram of a node traffic adjustment method provided in an embodiment of this application;

[0086] Figure 4 This is a schematic diagram of a node flow adjustment device applied to a node controller, provided in an embodiment of this application;

[0087] Figure 5 This is a schematic diagram of a node traffic adjustment device applied to a cluster master controller, provided in an embodiment of this application.

[0088] Figure 6 This is a schematic diagram of a node flow adjustment device provided in an embodiment of this application. Detailed Implementation

[0089] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0090] Unless otherwise defined, the technical or scientific terms used in this disclosure shall have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms “first,” “second,” and similar terms used in this disclosure do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Similarly, the terms “an,” “a,” or “the,” and similar terms do not indicate a quantity limitation, but rather indicate the presence of at least one. The numbers in the accompanying drawings are only used to distinguish individual functional parts or modules and do not indicate logical relationships between parts or modules. The terms “comprising,” “including,” or “including,” and similar terms mean that the element or object preceding the term encompasses the element or object listed following the term and its equivalents, without excluding other elements or objects. The terms “connected,” “linked,” and similar terms are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. “Above,” “below,” “left,” “right,” etc., are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0091] The various embodiments according to this disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that in the drawings, the same reference numerals are assigned to components having substantially the same or similar structure and function, and repeated descriptions of them will be omitted.

[0092] To address the issue of the inability to flexibly adjust the traffic of each node when the node controller adjusts the traffic, this application provides the following technical solution.

[0093] In some embodiments, such as Figure 1 As shown, a node traffic adjustment method, applied to any node controller, includes:

[0094] A100: Start the monitoring timer to monitor the monitored object.

[0095] A node controller is a controller that manages the traffic of devices located at a node in a network.

[0096] A controller cluster is formed by individual node controllers within the same network. One node controller is designated as the cluster master controller, responsible for handling cluster master traffic control. Cluster master traffic control includes, at a minimum, sending inspection notifications and determining the control traffic for any given node controller. The cluster master controller cluster employs a redundant configuration; in the event of a failure of the current master controller, a pre-selected node controller will take over as the new master controller. The order in which the node controllers forming the controller cluster, the cluster master controller, and the node controller that will take over as the new master controller in the event of a failure can all be pre-configured when the controller cluster is created.

[0097] A monitoring timer is a timer set on a node controller to perform monitoring actions on the monitored object at sampling intervals. The monitoring timer collects data from the monitored object at each sampling interval. The sampling interval of the monitoring timer can be preset, for example, 1 second. The monitored object, as mentioned above, is the device located at a node in the network, including at least one of the following: virtual disk, virtual disk group, or host. Typically, one node controller corresponds to one monitored object. The data collected by the monitoring timer at each sampling interval includes at least one of the following: the performance parameters of the monitored object and the events of the monitored object. The performance parameters of the monitored object include at least one of the following: the number of read / write operations per second (WPS) and the bandwidth of the monitored object. The number of WPS represents the sum of the number of reads and writes per second; the bandwidth of the monitored object is related to the number of WPS and the size of the upper-layer business data of the monitored object. Typically, based on: BW=0... ps ×V, determine the bandwidth, where BW represents the bandwidth of the monitored object, O psThis indicates the number of read / write operations per second for the monitored object, and V represents the size of the upper-layer business data of the monitored object. The monitored object's events include at least: creation events, start events, stop events, inspection events, and idle events.

[0098] Typically, monitoring timers are started via commands. For example, a monitoring timer can be started using the Perf performance analysis command. Illustratively, the monitoring timer can be started using the command `mkthrottle-iops 10000-object 1`. This application does not specify the exact command used to start the monitoring timer.

[0099] A200: In response to the monitoring timer detecting a reporting event of the monitored object, it sends a reporting event to the cluster master controller, so that the cluster master controller can issue an inspection notice based on the reporting event.

[0100] Reported incidents include the following situations:

[0101] Creation event: This refers to a user setting the traffic of a monitored object via commands. When a user controls the traffic of a monitored object via commands, this event is marked as a creation event, and an event reporting timer is started.

[0102] Startup event: This refers to a change in the traffic of the monitored object from 0 to non-zero. When the traffic of the monitored object changes from 0 to non-zero, this event is marked as a startup event, and an event reporting timer is started.

[0103] Stop event: This refers to the change in traffic of the monitored object from non-zero to zero. When the traffic of the monitored object changes from non-zero to zero, this event is marked as a stop event, and an event reporting timer is started.

[0104] A300: Receives inspection notifications sent by the cluster master controller and starts an event reporting timer.

[0105] The event reporting timer is used to monitor the start time, stop event, and idle event of the monitored object described above.

[0106] Because the monitored object may report events at different times within the execution cycle of an event reporting timer, if the event reporting timer is already running, subsequent event reporting by the monitored object will not restart the event reporting timer.

[0107] An event reporting timer cycle begins with the start of the timer and ends with the detection of an idle event marker. The rules for marking idle events are as follows: an idle event is marked when the node controller has processed all events and no new events have occurred.

[0108] A400: Sends the events to be reported and the effective traffic of the node controller to the cluster master controller through the event reporting timer, so that the cluster master controller can calculate the traffic control value of the corresponding node controller. The events to be reported include: the reporting events that occur in the monitored object after receiving the inspection notification. The traffic control value is the proportion of the total traffic of the cluster to which any node controller belongs.

[0109] A500: Receives the flow control value from the node controller and adjusts the actual flow of the node controller according to the flow control value.

[0110] Specifically, A400: sends the events to be reported and the effective traffic of the node controller to the cluster master controller via the event reporting timer, so that the cluster master controller can calculate the traffic control value for the corresponding node controller, including:

[0111] A410: At any reporting time, obtain the effective traffic of the node controller between the previous reporting time and the current reporting time. The first reporting time is the time when the inspection notification is received, and the time interval between adjacent reporting times is the reporting period.

[0112] A420: Obtain several reporting events from the pending events according to the chronological order of their occurrence time;

[0113] A430: Package the effective traffic of the node controller between the previous reporting time and the current reporting time and several reporting events into a single reporting data, wherein the capacity of the single reporting data is not greater than the preset capacity;

[0114] A440: Sends single-report data to the cluster master controller.

[0115] To illustrate, the event reporting timer triggers a report every 5 seconds. The node controller number, the valid traffic of that node controller, and several reported events are packaged and sent to the cluster master controller.

[0116] The size of the packaged data packets can be predetermined, for example, 512KB. This limits the frequency and size of data sent to the cluster master controller, preventing interference with the cluster master controller's processing of other events.

[0117] Specifically, the effective traffic of the node controller between the previous reporting time and the current reporting time is obtained, including:

[0118] A411: Acquire the traffic of the monitored object at each sampling interval, where the sampling interval is the time interval for acquiring the traffic of the monitored object;

[0119] A412: Remove traffic from the monitored object that occurs within the steady-state period after the monitoring timer starts;

[0120] A413: Determine whether the number of non-zero traffic collected from the monitored object within a reporting cycle is greater than the preset number of non-zero traffic.

[0121] A414: In response to the fact that the number of non-zero traffic records of the monitored object collected within a reporting cycle is greater than the preset number of non-zero records, then according to:

[0122]

[0123] Calculate the average traffic of the monitored object during the reporting period, where, T represents the average traffic volume of the monitored objects during the reporting period. R V represents the duration of the reporting period. i The flow rate value of the monitored object is obtained by sampling at the sampling time. i is a natural number, representing the sampling times arranged sequentially in time within the reporting period. n is the total number of flow rate values ​​of the monitored object collected within the reporting period.

[0124] A415: The average traffic of the monitored object is used as the effective traffic of the node controller.

[0125] The start time of the traffic collection period is after the start time of the monitoring timer, and is one time interval from the start time of the monitoring timer. The first time interval can be preset, for example, set to 3 seconds.

[0126] The duration of the traffic collection period can be preset, for example, setting the duration of the traffic collection period to 5 seconds.

[0127] The preset period is the time interval for acquiring traffic data from the monitored object. Preferably, the preset period is the same as the sampling period of the monitoring timer. For example, 1 second.

[0128] By starting traffic collection on the monitored object immediately after the monitoring timer starts, traffic fluctuations and the impact of the monitoring timer's startup on the monitored object's traffic can be effectively prevented. This results in a relatively stable traffic value for the monitored object.

[0129] Traffic filtering is done to ensure that the monitored traffic is steady-state and to avoid the impact of traffic fluctuations.

[0130] A preset number of non-zero values ​​is used to indicate the traffic activity level of the monitored object. High traffic activity indicates that the monitored object is active during the traffic collection period, and the calculated effective traffic value can accurately reflect the traffic load of the monitored object. Accordingly, rate limiting of the monitored object based on this traffic load can more accurately reflect the data throughput capacity of the monitored object.

[0131] Specifically, A500: receives the flow control value from the node controller, and adjusts the actual flow of the node controller according to the flow control value, including:

[0132] A510: Receives the flow control value from the node controller;

[0133] A520: Determine the actual flow of the node controller based on the flow control value of the node controller;

[0134] A530: Input the actual flow of the node controller into the flow limiter of the node controller to adjust the actual flow of the node controller.

[0135] Specifically, A520: Based on the flow control value of the node controller, determine the actual flow of the node controller, including:

[0136] A521: Get the total traffic of the cluster where the controller of this node is located;

[0137] A522: The product of the total traffic of the cluster where the node controller is located and the traffic control value is used as the actual traffic of the node controller.

[0138] The total cluster traffic can be determined by external commands. After the total cluster traffic is updated, the actual traffic of each node controller is recalculated.

[0139] In other embodiments, such as Figure 2 As shown, a node traffic adjustment method, applied to the cluster master controller, includes:

[0140] B100: Starts an inspection timer based on a reported event sent by any node controller and sends an inspection notification to any node controller. The reported event is obtained by the monitoring timer of any node controller monitoring the monitored object.

[0141] To illustrate, the inspection timer performs three inspections. The first inspection occurs 30 seconds after the timer starts, and the subsequent two inspections are spaced 60 seconds apart. After all three inspections are completed, the timer shuts down. If a reported event occurs during any of the three inspections, the timer restarts the three-inspection cycle. An inspection notification is sent when the timer starts.

[0142] B200: Based on the reported events sent by any node controller and the effective traffic of that node controller, determine the traffic control value of that node controller and feed back the traffic control value to that node controller. The effective traffic is the average traffic of the monitored object monitored by the node controller within the reporting period corresponding to the sent reported events.

[0143] Specifically, B200: Based on the reported events sent by any node controller and the effective traffic of that node controller, determines the traffic control value for that node controller and feeds back the traffic control value to that node controller, including:

[0144] B210: Summarizes the valid traffic sent by any node controller;

[0145] B220: Based on the effective traffic sent by all node controllers, repeatedly perform a halving operation on the effective traffic of all node controllers until the result of the halving operation is less than or equal to a preset value.

[0146] B230: Calculate the traffic ratio of each node controller based on the final halving operation result, and use it as the traffic control value for the corresponding node controller.

[0147] Schematic representation: The cluster master controller obtains the effective traffic from the three node controllers A, B, and C as follows: Effective traffic V from node controller A A =100, the effective flow rate of the B node controller is V B =90, the effective flow rate of the C node controller is V C =80. The default value is 20. It should be noted that this value is for illustrative purposes only and does not represent the actual situation; therefore, it does not limit the specific flow rate in units.

[0148] The result obtained from the first halving is: V A1 =50, V B1 =45, V C1 =40;

[0149] The result obtained by halving the second time is: V A2 =25, V B2 =22.5, V C2 =20.

[0150] Due to V C2 =20, equal to the preset value. Then V A2 =25, V B2 =22.5, V C2 =20 Calculate the traffic ratio of each node controller.

[0151] In other embodiments, such as Figure 3As shown, a node traffic adjustment method includes:

[0152] A100: Start the monitoring timer to monitor the object being monitored;

[0153] A200: In response to the monitoring timer detecting a reporting event of the monitored object, it sends a reporting event to the cluster master controller, so that the cluster master controller can issue an inspection notice based on the reporting event;

[0154] B100: Starts an inspection timer based on a reported event sent by any node controller and sends an inspection notification to any node controller. The reported event is obtained by the monitoring timer of any node controller monitoring the monitored object.

[0155] A300: Receives inspection notifications sent by the cluster master controller and starts an event reporting timer;

[0156] A400: Sends the events to be reported and the effective traffic of the node controller to the cluster master controller through the event reporting timer, so that the cluster master controller can calculate the traffic control value of the corresponding node controller. The events to be reported include: the reporting events that occur in the monitored object after receiving the inspection notification. The traffic control value is the proportion of the total traffic of the cluster to which any node controller belongs.

[0157] Specifically, the events to be reported and the effective traffic of the node controller are sent to the cluster master controller via an event reporting timer, so that the cluster master controller can calculate the traffic control value for the corresponding node controller.

[0158] A410: At any reporting time, obtain the effective traffic of the node controller between the previous reporting time and the current reporting time. The first reporting time is the time when the inspection notification is received, and the time interval between adjacent reporting times is the reporting period.

[0159] Specifically, obtaining the effective traffic of the node controller from the previous reporting time to the current reporting time includes:

[0160] A411: Acquire the traffic of the monitored object at each sampling interval, where the sampling interval is the time interval for acquiring the traffic of the monitored object;

[0161] A412: Remove traffic from the monitored object that occurs within the steady-state period after the monitoring timer starts;

[0162] A413: Determine whether the number of non-zero traffic collected from the monitored object within a reporting cycle is greater than the preset number of non-zero traffic.

[0163] A414: In response to the fact that the number of non-zero traffic records of the monitored object collected within a reporting cycle is greater than the preset number of non-zero records, then according to:

[0164]

[0165] Calculate the average traffic of the monitored object during the reporting period, where, T represents the average traffic volume of the monitored objects during the reporting period. R V represents the duration of the reporting period. i The flow rate value of the monitored object is obtained by sampling at the sampling time. i is a natural number, representing the sampling times arranged sequentially in time within the reporting period. n is the total number of flow rate values ​​of the monitored object collected within the reporting period.

[0166] A415: The average traffic of the monitored object is used as the effective traffic of the node controller.

[0167] A420: Obtain several reporting events from the pending events according to the chronological order of their occurrence time;

[0168] A430: Package the effective traffic of the node controller between the previous reporting time and the current reporting time and several reporting events into a single reporting data, wherein the capacity of the single reporting data is not greater than the preset capacity;

[0169] A440: Sends single-report data to the cluster master controller.

[0170] B200: Based on the reported events sent by any node controller and the effective traffic of that node controller, determine the traffic control value of that node controller and feed back the traffic control value to that node controller. The effective traffic is the average traffic of the monitored object monitored by the node controller within the reporting period corresponding to the sent reported events.

[0171] Specifically, based on the reported events sent by any node controller and the effective traffic of that node controller, the traffic control value of that node controller is determined, and the traffic control value is fed back to the node controller. This includes:

[0172] B210: Summarizes the valid traffic sent by any node controller;

[0173] B220: Based on the effective traffic sent by all node controllers, repeatedly perform a halving operation on the effective traffic of all node controllers until the result of the halving operation is less than or equal to a preset value.

[0174] B230: Calculate the traffic ratio of each node controller based on the final halving operation result, and use it as the traffic control value for the corresponding node controller.

[0175] A500: Receives the flow control value from the node controller and adjusts the actual flow of the node controller according to the flow control value.

[0176] This includes receiving the traffic control value from the node controller and adjusting the actual traffic of the node controller based on the traffic control value, including:

[0177] A510: Receives the flow control value from the node controller;

[0178] A520: Determine the actual flow of the node controller based on the flow control value of the node controller;

[0179] Wherein, A520: Based on the flow control value of the node controller, determine the actual flow of the node controller, including:

[0180] A521: Get the total traffic of the cluster where the controller of this node is located;

[0181] A522: The product of the total traffic of the cluster where the node controller is located and the traffic control value is used as the actual traffic of the node controller.

[0182] A530: Input the actual flow of the node controller into the flow limiter of the node controller to adjust the actual flow of the node controller.

[0183] It should be understood that, although Figure 1 , Figure 2 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1 , Figure 2 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.

[0184] In other embodiments, such as Figure 4 As shown, a node flow adjustment device, applied to any node controller, includes:

[0185] The monitoring startup module is used to start the monitoring timer to monitor the monitored object;

[0186] The event reporting module is used to send a reporting event to the cluster master controller when the monitoring timer detects that a reporting event has occurred on the monitored object, so that the cluster master controller can issue an inspection notification based on the reporting event;

[0187] The event initiation module is used to receive inspection notifications sent by the cluster master controller and start the event reporting timer.

[0188] The data sending module is used to send the events to be reported and the effective traffic of the node controller to the cluster master controller through the event reporting timer, so that the cluster master controller can calculate the traffic control value of the corresponding node controller. The events to be reported include: the reporting events that occur in the monitored object after receiving the inspection notification, and the traffic control value is the proportion of the total traffic of the cluster to which any node controller belongs.

[0189] The flow setting module is used to receive the flow control value of the node controller and adjust the actual flow of the node controller according to the flow control value.

[0190] In other embodiments, such as Figure 5 As shown, a node traffic adjustment device, applied to a cluster master controller, includes:

[0191] The notification publishing module is used to start the inspection timer based on the reported event sent by any node controller and send an inspection notification to any node controller. The reported event is obtained by the monitoring timer of any node controller monitoring the monitored object.

[0192] The control feedback module is used to determine the traffic control value of any node controller based on the reported event sent by any node controller and the effective traffic of that node controller, and to feed back the traffic control value to the node controller. The effective traffic is the average traffic of the monitored object monitored by the node controller within the reporting period corresponding to the reported event.

[0193] For specific limitations regarding the node flow adjustment device described above, please refer to the limitations regarding the node flow adjustment method above, which will not be repeated here. Each module in the aforementioned node flow adjustment device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the corresponding operations of each module.

[0194] In other embodiments, such as Figure 6As shown, a node traffic adjustment device includes a memory, a processor, and a node traffic adjustment program stored in the memory and executable on the processor. When the processor executes the node traffic adjustment program, it implements the node traffic adjustment method described above, which will not be repeated here.

[0195] In other embodiments, a computer-readable storage medium stores a node traffic adjustment program thereon. When the node traffic adjustment program is executed by a processor, it implements the node traffic adjustment method described above, which will not be repeated here.

[0196] In other embodiments, a computer program product includes a computer program that, when executed by a processor, implements the node traffic adjustment method described above, which will not be repeated here.

[0197] By implementing the node traffic adjustment method, apparatus, and device disclosed in the embodiments of this application, cluster-level traffic control functions can be achieved, improving the product adaptability of the storage system. This enables the storage system to be applied to more industries, greatly expanding the range of scenarios the storage system can handle and broadening the product's application areas.

[0198] All of the above-mentioned optional technical solutions can be combined in any way to form the optional embodiments of this application, and will not be described in detail here.

[0199] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program loaded on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from memory, or installed from ROM. When the computer program is executed by an external processor, it performs the functions defined in the methods of embodiments of this application.

[0200] It should be noted that the computer-readable medium in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In the embodiments of this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the embodiments of this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (Radio Frequency), etc., or any suitable combination thereof.

[0201] The aforementioned computer-readable medium may be included in the aforementioned server; or it may exist independently and not assembled into the server. The aforementioned computer-readable medium carries one or more programs that, when executed by the server, cause the server to: in response to detecting that the peripheral mode of the terminal is not activated, acquire the frame rate of the application on the terminal; when the frame rate meets the screen-off condition, determine whether the user is acquiring the terminal's screen information; and in response to the determination that the user is not acquiring the terminal's screen information, control the screen to enter an immediate dimming mode.

[0202] Computer program code for performing the operations of the embodiments of this application can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages—such as Java, Smalltalk, and C++—and conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0203] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, for system or system embodiments, since they are fundamentally similar to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. The systems and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. Components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0204] The technical solutions provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.

[0205] The above description is only a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for adjusting node traffic, characterized in that, Applicable to any node controller, including: Start the monitoring timer to monitor the object being monitored; In response to the monitoring timer detecting a reporting event by the monitored object, the reporting event is sent to the cluster master controller so that the cluster master controller can issue an inspection notification based on the reporting event; Receive the inspection notification sent by the cluster master controller and start the event reporting timer; The event to be reported and the effective traffic of the node controller are sent to the cluster master controller through the event reporting timer, so that the cluster master controller can calculate the traffic control value of the corresponding node controller. The event to be reported includes the reporting event that occurs by the monitored object after receiving the inspection notification. The traffic control value is the proportion of the total traffic of the cluster to which any node controller belongs. Receive the flow control value from the node controller, and adjust the actual flow of the node controller according to the flow control value; The step of receiving the traffic control value from the node controller and adjusting the actual traffic of the node controller according to the traffic control value includes: Based on the received flow control value from the node controller, determine the actual flow of the node controller; Input the actual flow rate of the node controller into the flow limiter of the node controller to adjust the actual flow rate of the node controller.

2. The node flow adjustment method according to claim 1, characterized in that, The event to be reported and the effective traffic of the node controller are sent to the cluster master controller via the event reporting timer, so that the cluster master controller can calculate the traffic control value of the corresponding node controller, including: At any reporting time, obtain the effective traffic of the node controller between the previous reporting time and the current reporting time, wherein the first reporting time is the time when the inspection notification is received, and the time interval between adjacent reporting times is the reporting period. From the events to be reported, obtain several reporting events in chronological order of their occurrence time; The effective traffic of the node controller between the previous reporting time and the current reporting time is packaged with the several reporting events into a single reporting data, wherein the capacity of the single reporting data is not greater than a preset capacity; The single-report data is sent to the cluster master controller.

3. The node flow adjustment method according to claim 2, characterized in that, The acquisition of the effective traffic of the node controller from the previous reporting time to the current reporting time includes: At each sampling interval, the traffic of the monitored object is acquired, wherein the sampling interval is the time interval for acquiring the traffic of the monitored object; Traffic to the monitored object that occurs within the steady-state period after the monitoring timer starts will be removed. Determine whether the number of non-zero traffic flows of the monitored object collected within a reporting period is greater than a preset number of non-zero flows; If the number of non-zero traffic flows of the monitored object collected within the reporting period is greater than a preset number of non-zero flows, then according to: ; Calculate the average traffic of the monitored object during the reporting period, where, T is the average traffic volume of the monitored object during the reporting period. R V is the duration of the reporting period. i The flow rate value of the monitored object is obtained by sampling at the sampling time, where i is a natural number representing the sampling times arranged sequentially in time within the reporting period, and n is the total number of flow rate values ​​of the monitored object collected within the reporting period. The average traffic flow of the monitored object is taken as the effective traffic flow of the node controller.

4. The node traffic adjustment method according to claim 1, characterized in that, Before determining the actual traffic of the node controller based on the received traffic control value, the method further includes: Receive the flow control value from the node controller.

5. The node traffic adjustment method according to claim 1, characterized in that, Determining the actual traffic of the node controller based on its traffic control value includes: Get the total traffic of the cluster where the node controller is located; The product of the total traffic of the cluster where the node controller is located and the traffic control value is taken as the actual traffic of the node controller.

6. A method for adjusting node traffic, characterized in that, Applied to the cluster master controller, including: An inspection timer is started based on a reported event sent by any node controller, and an inspection notification is sent to the node controller. The reported event is obtained by the monitoring timer of any node controller monitoring the monitored object. Based on the reported event sent by any node controller and the effective traffic of that node controller, determine the traffic control value of that node controller and feed back the traffic control value to that node controller. The effective traffic is the average traffic of the monitored object monitored by the node controller within the reporting period corresponding to the reported event. The step of determining the traffic control value of a node controller based on the reported events sent by any node controller and the effective traffic of that node controller, and feeding back the traffic control value to the node controller, includes: Based on the effective traffic sent by all node controllers, repeatedly perform a halving operation on the effective traffic of all node controllers until the result of the halving operation is less than or equal to a preset value. The traffic ratio of each node controller is calculated based on the final halving operation result, and used as the traffic control value for the corresponding node controller.

7. The node flow adjustment method according to claim 6, characterized in that, The process of repeatedly halving the effective traffic sent by all node controllers until a result less than or equal to a preset value is obtained from the halving operation results further includes: Summarize the valid traffic sent by any node controller.

8. A node flow adjustment device, characterized in that, Applicable to any node controller, including: The monitoring startup module is used to start the monitoring timer to monitor the monitored object; The event reporting module is used to send the reporting event to the cluster master controller in response to the monitoring timer detecting that the monitored object has reported an event, so that the cluster master controller can issue an inspection notice based on the reporting event; The event initiation module is used to receive the inspection notification sent by the cluster master controller and start the event reporting timer. The data sending module is used to send the events to be reported and the effective traffic of the node controller to the cluster master controller through the event reporting timer, so that the cluster master controller can calculate the traffic control value of the corresponding node controller. The events to be reported include: the reporting events that occur in the monitored object after receiving the inspection notification. The traffic control value is the proportion of the total traffic of the cluster to which any node controller belongs. The flow setting module is used to receive the flow control value of the node controller and adjust the actual flow of the node controller according to the flow control value; The step of receiving the traffic control value from the node controller and adjusting the actual traffic of the node controller according to the traffic control value includes: Based on the received flow control value from the node controller, determine the actual flow of the node controller; Input the actual flow rate of the node controller into the flow limiter of the node controller to adjust the actual flow rate of the node controller.

9. A node flow adjustment device, characterized in that, Applied to the cluster master controller, including: The notification publishing module is used to start an inspection timer based on a reported event sent by any node controller and send an inspection notification to the node controller. The reported event is obtained by the monitoring timer of any node controller monitoring the monitored object. The control feedback module is used to determine the traffic control value of any node controller based on the reported event sent by any node controller and the effective traffic of the node controller, and to feed back the traffic control value to the node controller. The effective traffic is the average traffic of the monitored object monitored by the node controller within the reporting period corresponding to the reported event. The step of determining the traffic control value of a node controller based on the reported events sent by any node controller and the effective traffic of that node controller, and feeding back the traffic control value to the node controller, includes: Based on the effective traffic sent by all node controllers, repeatedly perform a halving operation on the effective traffic of all node controllers until the result of the halving operation is less than or equal to a preset value. The traffic ratio of each node controller is calculated based on the final halving operation result, and used as the traffic control value for the corresponding node controller.

10. A node flow adjustment device, characterized in that, The device includes a memory, a processor, and a node traffic adjustment program stored in the memory and executable on the processor. When the processor executes the node traffic adjustment program, it implements the node traffic adjustment method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Cluster flow control method and system

    CN110198274A

  • Big data cluster data flow regulation and control method

    CN114490111A