Content distribution method and device, electronic equipment and storage medium
By dynamically adjusting the distribution weight and rate limiting value based on the device's bandwidth utilization and request rejection rate in a peer-to-peer content delivery network, the problem of high rejection rate caused by uneven return points is solved, load balancing and device stability are achieved, and user experience is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-23
- Publication Date
- 2026-03-24
AI Technical Summary
In peer-to-peer content delivery networks, uneven return rates under high request volumes lead to high device rejection rates, impacting user experience.
By obtaining the device's bandwidth utilization and request rejection rate, distribution attribute information is determined, and distribution weights and rate limiting values are dynamically adjusted to achieve load balancing and return scheduling.
It reduced the device rejection rate, improved the speed of content requests and user experience, and ensured the robustness of device nodes.
Smart Images

Figure CN121728047A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present disclosure relate to the technical field of computer, and particularly, to a content distribution method and device, electronic equipment and storage medium. BACKGROUND
[0002] Currently, in a peer-to-peer content delivery network (PCDN) system, a scheduler can return a device node (which can be referred to as a return point) that has cached a content according to a content request. However, under a high request volume, there can be a situation of unbalanced return points, and a high return point device can have a high rejection rate, which will seriously affect the content request experience of users. SUMMARY
[0003] Embodiments of the present disclosure provide a content distribution method, device, electronic equipment and storage medium, which can balance return points, reduce service rejection rate, and improve user experience.
[0004] In a first aspect, embodiments of the present disclosure provide a content distribution method, comprising:
[0005] receiving a target content acquisition request sent by a first device;
[0006] acquiring a plurality of second devices that store the target content and respective distribution attribute information of the plurality of second devices, wherein the respective distribution attribute information of a second device is determined based on a bandwidth utilization rate and a request rejection rate of the second device at a preset time point;
[0007] determining a target device from the plurality of second devices according to the respective distribution attribute information of the plurality of second devices;
[0008] returning a device identifier of the target device to the first device, so that the first device requests the target content from the target device according to the device identifier.
[0009] In a second aspect, embodiments of the present disclosure further provide a content distribution device, comprising:
[0010] a receiving module configured to receive a target content acquisition request sent by a first device;
[0011] a scheduling module configured to perform the following steps:
[0012] acquire a plurality of second devices that store the target content and respective distribution attribute information of the plurality of second devices, wherein the respective distribution attribute information of a second device is determined based on a bandwidth utilization rate and a request rejection rate of the second device at a preset time point;
[0013] Based on the distribution attribute information corresponding to each of the plurality of second devices, the target device is determined from the plurality of second devices;
[0014] The device identifier of the target device is returned to the first device, so that the first device requests the target content from the target device based on the device identifier.
[0015] Thirdly, embodiments of this disclosure also provide an electronic device, the electronic device comprising:
[0016] One or more processors;
[0017] Storage device for storing one or more programs.
[0018] When the one or more programs are executed by the one or more processors, the one or more processors implement the content distribution method as described in any embodiment of this disclosure.
[0019] Fourthly, embodiments of this disclosure also provide a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the content distribution method as described in any of the embodiments of this disclosure.
[0020] The technical solution of this disclosure embodiment is to receive a request for obtaining target content sent by a first device; obtain a plurality of second devices storing the target content, and distribution attribute information corresponding to each of the plurality of second devices; wherein the distribution attribute information corresponding to the second device is determined based on the bandwidth utilization rate and request rejection rate of the second device at a preset time; and return the device identifier of the target device to the first device so that the first device requests the target content from the target device according to the device identifier.
[0021] By determining the distribution attribute information of each device in the distribution network system based on the bandwidth utilization and request rejection rate at preset times, and determining the target device for request scheduling based on the distribution attribute information, load balancing-based return can be achieved, effectively solving the problem of high rejection rates of individual devices caused by uneven distribution, and improving the user's content request experience. Attached Figure Description
[0022] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0023] Figure 1 A schematic flowchart illustrating a content distribution method provided in an embodiment of this disclosure;
[0024] Figure 2 This is a schematic diagram of a content distribution system in a content distribution method provided in an embodiment of the present disclosure;
[0025] Figure 3 A schematic block diagram of the data flow of a content distribution method provided in an embodiment of this disclosure;
[0026] Figure 4 A schematic diagram illustrating the adjustment process of distribution weight in a content distribution method provided in this embodiment of the disclosure;
[0027] Figure 5 A schematic diagram illustrating the process of adjusting the rate limiting value in a content distribution method provided in this embodiment of the disclosure;
[0028] Figure 6 This is a schematic diagram of the structure of a content distribution device provided in an embodiment of the present disclosure;
[0029] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0030] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0031] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0032] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0033] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0034] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0035] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0036] Figure 1 This is a flowchart illustrating a content distribution method provided in an embodiment of this disclosure. The embodiments of this disclosure are applicable to content distribution scenarios, such as content distribution in a peer-to-peer content distribution system. This method can be executed by a content distribution device (also known as a scheduler), which can be implemented in software and / or hardware and can be configured in an electronic device, such as a server.
[0037] like Figure 1 As shown, the content distribution method provided in this embodiment may include:
[0038] S110, Receive the request to obtain the target content sent by the first device.
[0039] For example, Figure 2 This is a schematic diagram of a content distribution system in a content distribution method provided in an embodiment of this disclosure. See also... Figure 2 In this embodiment of the disclosure, the content distribution system may include a scheduler and multiple device nodes (such as...). Figure 2 (Device nodes 1-N in the system).
[0040] The scheduler may include a scheduling module and a policy generation module; wherein the scheduling module can be used to execute some of the content distribution methods provided in the embodiments of this disclosure. Figure 2 As shown, the content distribution process can be represented by solid lines. Any device node can send a request to the scheduling module to obtain the target content. The scheduling module can return the device identifier of the target device based on the distribution attribute information of each device node. Figure 2 In this system, distribution attribute information 1-N can correspond to device nodes 1-N respectively. The policy generation module can be used to adjust the distribution attribute information of each device node. For example... Figure 2 As shown, the dashed line can be used to represent the process of adjusting the distribution attribute information. The policy generation module can dynamically adjust the corresponding distribution attribute information based on the real-time bandwidth utilization and real-time rejection rate of each device node.
[0041] In this context, a device node can be considered as a user's terminal device node within the distribution network system. Multiple device nodes can store different content, which may include, but is not limited to, data in modalities such as text, images, audio, and video. Content distribution can occur between different device nodes. By utilizing the network resources and computing power of device nodes, the server load in the distribution network system can be reduced, enabling more efficient content transmission.
[0042] In this embodiment, any node among the device nodes can initiate a content retrieval request. This retrieval request can be scheduled by the scheduling module to a suitable device node to achieve content distribution among device nodes. In this embodiment, the device node initiating the retrieval request can be referred to as the first device, and the content requested by the first device can be referred to as the target content. The retrieval request for the target content may carry a content identifier of the target content.
[0043] S120: Obtain a plurality of second devices storing the target content, and distribution attribute information corresponding to each of the plurality of second devices.
[0044] In this embodiment, a device identifier can uniquely correspond to a device node, and a content identifier can uniquely correspond to a content. The device identifier of each device node and the content identifier of its stored content can be stored in the scheduling module. Correspondingly, the scheduling module's acquisition of several second devices storing the target content can include: querying the device identifier of the device node storing the corresponding content based on the content identifier in the acquisition request. In this embodiment, the device node storing the content corresponding to the content identifier in the acquisition request can be referred to as a second device. The term "several second devices" can be understood as including at least one second device.
[0045] The distribution attribute information may include information characterizing the ability to accept content retrieval requests (referred to as request acceptance capacity). For example, the distribution attribute information may include at least one of the following: distribution weight and rate limiting value. The distribution weight and rate limiting value are positively correlated with the request acceptance capacity; that is, a higher distribution weight indicates a stronger request acceptance capacity, and a higher rate limiting value also indicates a stronger request acceptance capacity. The rate limiting value can characterize the upper limit of the return frequency of a corresponding device identifier per unit time, i.e., the upper limit of the number of retrieval requests accepted per unit time. The unit time can be set according to specific business scenarios, such as 1 second. The return frequency of the device identifier can be understood as the number of times the device identifier returns requests.
[0046] In this embodiment, the distribution attribute information corresponding to the second device is determined based on the bandwidth utilization and request rejection rate of the second device at a preset time. The preset time may include intervals at preset time intervals, which can be set according to specific business scenarios, for example, a time interval at the millisecond level.
[0047] The bandwidth utilization rate includes the ratio of actual bandwidth to preset bandwidth. Actual bandwidth refers to the bandwidth actually measured by the device node. This actual bandwidth can be measured using existing bandwidth measurement methods. Preset bandwidth can refer to the calibration bandwidth of the device node, which can be understood as the maximum available bandwidth of the device node. It can be assumed that the preset bandwidth of each device node may be different, and the preset bandwidth of each device node can be stored in the policy generation module. Therefore, the bandwidth utilization rate at a preset time includes the ratio of the bandwidth actually measured by the device node at the preset time to the preset bandwidth.
[0048] The request rejection rate includes the proportion of rejected requests within a preset time range to the total number of requests. The preset time range can be set according to specific business scenarios, such as 1 second. The total number of requests within the preset time range can refer to the total number of content retrieval requests received within that time range; the number of rejected requests within the preset time range can refer to the number of retrieval requests rejected after receiving content retrieval requests. The number of rejected requests and the total number of requests within the preset time range can be recorded using existing methods (such as logs). The request rejection rate at a preset moment can include the proportion of rejected requests within the preset time range before the preset moment, out of the total number of requests.
[0049] See you again Figure 2 The strategy generation module can dynamically adjust the distribution attribute information of each device node based on the bandwidth utilization and request rejection rate of each device node at each preset time.
[0050] Among these factors, bandwidth utilization can serve as a negative feedback factor for adjusting distribution attribute information. If bandwidth utilization is low, it can be assumed that the bandwidth of the corresponding device node is not being fully utilized, and its request handling capacity can be appropriately increased; conversely, if bandwidth utilization is high, it can be assumed that the bandwidth of the corresponding device node is being fully utilized, and its request handling capacity can be appropriately reduced.
[0051] The request rejection rate can be used to characterize the Quality of Service (QoS) of content distribution by device nodes. If the request rejection rate is normal, the distribution attribute information can be adjusted according to bandwidth utilization; if the request rejection rate is abnormal, it can be considered that the device node is overloaded with requests, and its request handling capacity can be reduced slightly.
[0052] In this embodiment, the scheduling module and the policy generation module can be executed in parallel. After acquiring a number of second devices, the scheduling module can obtain the latest distribution attribute information corresponding to each of the second devices from the policy generation module.
[0053] S130. Determine the target device from the several second devices based on the distribution attribute information corresponding to each of the several second devices.
[0054] In this embodiment, the scheduling module can determine the target device with better request acceptance capability based on the latest distribution attribute information corresponding to each of the several second devices.
[0055] S140. Return the device identifier of the target device to the first device so that the first device can request the target content from the target device based on the device identifier.
[0056] In this embodiment, the scheduling module can return the device identifier of the target device to the first device to complete the return operation. Correspondingly, the first device can send a request to the target device to retrieve the target content based on the device identifier; the target device can then locate the target content based on the content identifier carried in the retrieval request and return it to the first device. This enables request scheduling, allowing content distribution between device nodes.
[0057] In addition, after returning the device identifier, the scheduling module can also update the return frequency of the target device's device identifier, laying the foundation for executing subsequent request scheduling operations.
[0058] The technical solution of this disclosure embodiment includes receiving a request to obtain target content sent by a first device; obtaining a plurality of second devices storing the target content, and distribution attribute information corresponding to each of the plurality of second devices; wherein the distribution attribute information corresponding to the second devices is determined based on the bandwidth utilization rate and request rejection rate of the second devices at a preset time; wherein the bandwidth utilization rate includes the ratio of actual bandwidth to preset bandwidth; the request rejection rate includes the ratio of the number of rejected requests within a preset time range to the total number of requests; determining a target device from the plurality of second devices according to the distribution attribute information corresponding to each of the plurality of second devices; and returning the device identifier of the target device to the first device, so that the first device requests the target content from the target device according to the device identifier.
[0059] By determining the distribution attribute information of each device in the distribution network system based on the bandwidth utilization and request rejection rate at preset times, and determining the target device for request scheduling based on the distribution attribute information, load balancing-based return can be achieved, effectively solving the problem of high rejection rates of individual devices caused by uneven distribution, and improving the user's content request experience.
[0060] This disclosure embodiment can be combined with various optional schemes in the content distribution method provided in the above embodiments. The content distribution method provided in this embodiment details the determination of target devices based on distribution attribute information. By determining target devices based on distribution weights, it is possible to ensure load balancing among devices when request handling resources are sufficient, thus resolving the problem of high rejection rates on individual devices due to uneven return points. By determining target devices based on rate limiting values, it is possible to balance the rejection rates of each device, keeping the rejection rates of each device at a normal level and ensuring the robustness of device nodes.
[0061] In the content distribution method provided in this embodiment, when the distribution attribute information includes distribution weight, determining the target device from the plurality of second devices according to the distribution attribute information corresponding to each of the plurality of second devices may include: determining the target device from the plurality of second devices based on the distribution of the return frequency of the device identifier conforming to the distribution of the corresponding distribution weight.
[0062] Specifically, the distribution of return frequency can be determined based on the return frequency of each second device's device identifier after the return device identifier is returned; the distribution of distribution weight can be determined based on the current distribution weight of each second device. Furthermore, the target device can be determined from several second devices by aiming for the distribution of return frequency of each second device to match the distribution of distribution weight of the corresponding device.
[0063] For example, suppose the second device includes device 1 and device 2. Device 1 has a current return frequency of 90 and a current distribution weight of 1, while device 2 has a current return frequency of 200 and a current distribution weight of 2. Furthermore, if the device identifier of device 1 is returned, the distribution of the return frequency can be 91:200; if the device identifier of device 2 is returned, the distribution of the return frequency can be 90:201. Since 91:200 better matches the distribution of distribution weights (i.e., 1:2), device 1 can be identified as the target device.
[0064] Among these optional implementations, by determining the target device based on the distribution weight of each second device, the load balance of each device can be guaranteed when there are sufficient resources to handle the request, thus solving the problem of high rejection rate of individual devices due to uneven return points.
[0065] In some optional implementations, when the distribution attribute information includes a rate limiting value, determining the target device from the several second devices based on the distribution attribute information corresponding to each of the several second devices may include: determining the target device from the several second devices based on the return frequency of the device identifier being less than or equal to the corresponding rate limiting value.
[0066] Specifically, the second devices can be filtered based on the frequency of their return values after the device identifier is returned. If the return frequency of a second device is less than or equal to its rate limit, then the second device is considered to still have request handling capacity and can be identified as the target device. If the return frequency of a second device is greater than its rate limit, then the second device is considered to have reached its request handling capacity limit and can be filtered out.
[0067] Among these optional implementation methods, by determining the target device based on the rate limiting value, it is possible to limit the return frequency of each device when there is insufficient resources to handle requests, thereby preventing the device from handling too many acquisition requests. This can balance the rejection rate of each device, keep the rejection rate of each device at a normal level, and ensure the robustness of the device nodes.
[0068] For example, Figure 3 This is a schematic block diagram of the data flow for a content distribution method provided in an embodiment of this disclosure. See also... Figure 3 The content distribution method provided in this embodiment may include:
[0069] S310. After the process starts, receive the request to obtain the target content sent by the first device.
[0070] S320: Determine if the target content exists in the device storage; if yes, proceed to S330; otherwise, end the process.
[0071] S330. Based on the content identifier of the target content, obtain several candidate devices and the distribution attribute information corresponding to each of the candidate devices.
[0072] S340. Filter several candidate devices to obtain several second devices, with the return frequency of the device identifier of the candidate device being less than or equal to the corresponding rate limiting value.
[0073] S350. Based on the distribution of the return frequency of the device identifiers of several second devices conforming to the distribution of the corresponding distribution weights, determine the target device from the several second devices.
[0074] The rate limiting value and distribution weight are included in the distribution attribute information, which is determined based on the bandwidth utilization and request rejection rate of the device at a preset time.
[0075] S360. Return the device identifier of the target device to the first device, so that the first device can request the target content from the target device based on the device identifier.
[0076] Experiments have shown that the content distribution method provided in this embodiment significantly reduces the rejection rate compared to traditional content distribution methods, and the content distribution speed is also significantly improved due to the implementation of load balancing return points.
[0077] This disclosure provides a detailed description of the technical solution for determining target devices based on distribution attribute information. By determining target devices based on distribution weights, it is possible to ensure load balancing among devices when there are sufficient resources to handle requests, thus resolving the issue of high rejection rates on individual devices due to uneven return points. By determining target devices based on rate limiting values, it is possible to balance the rejection rates of each device, keeping them at a normal level and ensuring the robustness of device nodes. Furthermore, the content distribution method provided in this disclosure belongs to the same concept as the content distribution method provided in the above embodiments. Technical details not described in detail in this embodiment can be found in the above embodiments, and the same technical features have the same beneficial effects in this embodiment and the above embodiments.
[0078] This embodiment can be combined with various optional schemes in the content distribution method provided in the above embodiments. The content distribution method provided in this embodiment details the process of adjusting distribution attribute information. When the request rejection rate at a preset time is normal, the bandwidth utilization rate at the preset time can be compared with a first utilization rate and a second utilization rate, and the latest determined distribution attribute information before the preset time can be adjusted according to the comparison result. When the request rejection rate at the preset time is abnormal, the latest determined distribution attribute information before the preset time can be directly adjusted. Therefore, the distribution attribute information can more accurately represent the current request handling capacity, laying the foundation for load balancing-based return points.
[0079] The content distribution method provided in this embodiment, the process of determining distribution attribute information, may include: in response to a request rejection rate at a preset time being less than or equal to a preset threshold, comparing the bandwidth utilization rate at the preset time with a first utilization rate and a second utilization rate; wherein the first utilization rate is lower than the second utilization rate; and adjusting the latest determined distribution attribute information before the preset time according to the comparison result.
[0080] It is understandable that the second device is essentially a device node, meaning that the process of determining the distribution attribute information of the second device is essentially the same as the process of determining the distribution attribute information of each device node in the distribution network system.
[0081] The preset threshold represents the boundary between normal and abnormal rejection rates and can be set according to specific business scenarios. If the request rejection rate at a preset time is less than or equal to the preset threshold, the rejection rate of the corresponding device node can be considered normal; if the request rejection rate at a preset time is greater than the preset threshold, the rejection rate of the corresponding device node can be considered abnormal.
[0082] The first utilization rate represents low bandwidth utilization, and the second utilization rate represents high bandwidth utilization; that is, the first utilization rate is less than the second utilization rate. The first and second utilization rates can also be set according to specific business scenarios.
[0083] In this embodiment, if the request rejection rate of a device node at a preset time is less than or equal to a preset threshold, the bandwidth utilization rate at the preset time can be compared with a first utilization rate and a second utilization rate. If the comparison result shows that the bandwidth utilization rate at the preset time is less than the first utilization rate, it can be considered that the bandwidth of the device node is not being fully utilized, and its request handling capacity can be appropriately increased. If the comparison result shows that the bandwidth utilization rate at the preset time is greater than or equal to the second utilization rate, it can be considered that the bandwidth of the device node is being fully utilized, and its request handling capacity can be appropriately reduced. This allows for the adjustment of the latest determined distribution attribute information before the preset time based on the comparison result.
[0084] Furthermore, this embodiment allows configuration of the initial distribution attribute information for each device node, and the reasonable range of the distribution attribute information can be configured. Accordingly, the distribution attribute information of each device node can be adjusted subsequently within this reasonable range.
[0085] For example, Figure 4 This is a schematic diagram illustrating the adjustment process of distribution weight in a content distribution method provided in this embodiment of the disclosure. See also... Figure 4 When the distribution attribute information includes distribution weights, the process of adjusting the distribution weights may include:
[0086] S410. In response to a request rejection rate at a preset time being less than or equal to a preset threshold, the bandwidth utilization rate at the preset time is compared with a first utilization rate and a second utilization rate; wherein the first utilization rate is lower than the second utilization rate.
[0087] S420. In response to the fact that the bandwidth utilization rate at a preset time is less than the first utilization rate, the latest distribution weight determined before the preset time is amplified by the first amplification factor.
[0088] The pre-configured distribution weight can be within the range of (0, 1), and an initial value for the distribution weight can be set for each device node within this range. The first amplification factor can be set according to the specific business scenario, and is usually a value greater than 1.
[0089] If the bandwidth utilization rate at the preset time is less than the first utilization rate, the latest distribution weight determined before the preset time can be multiplied by the first amplification factor to slightly increase the request handling capacity of the corresponding device node.
[0090] S430. In response to the fact that the bandwidth utilization rate at a preset time is greater than or equal to the first utilization rate and less than the second utilization rate, the latest distribution weight determined before the preset time is increased by a preset amount.
[0091] The preset amplitude can be set according to the specific business scenario, and it needs to be less than the difference in distribution weight before and after the amplification process.
[0092] If the comparison result shows that the bandwidth utilization rate at the preset time is greater than or equal to the first utilization rate and less than the second utilization rate, the latest distribution weight determined before the preset time can be added with a preset value to slightly increase the request handling capacity of the corresponding device node.
[0093] S440. In response to the bandwidth utilization rate being greater than or equal to the second utilization rate at a preset time, the latest determined distribution weight before the preset time is reduced by a preset amount.
[0094] If the comparison result shows that the bandwidth utilization rate at the preset time is greater than or equal to the second utilization rate, the distribution weight can be reduced by a preset value to slightly reduce the request handling capacity of the corresponding device node.
[0095] In addition, the process of adjusting the distribution weight may also include: in response to the request rejection rate being greater than a preset threshold at a preset time, reducing the distribution weight determined before the preset time by a first reduction coefficient.
[0096] The first reduction factor can be set according to the specific business scenario, and is usually a value between 0 and 1. The preset amplitude is less than the difference in distribution weights before and after the reduction process. It can be understood that compared to the slightly larger adjustment of distribution weights by the first and second amplification factors, the distribution weights can be fine-tuned by the preset amplitude.
[0097] If the request rejection rate of a device node exceeds a preset threshold at a preset time, the rejection rate of that device node can be considered abnormal. In this case, the distribution weight can be multiplied by a first reduction factor to slightly reduce the request handling capacity of the corresponding device node.
[0098] For example, Figure 5 This is a schematic diagram illustrating the process of adjusting the rate limiting value in a content distribution method provided in an embodiment of this disclosure. Figure 5 As shown, when the distribution attribute information includes a rate limiting value, the process of adjusting the rate limiting value may include:
[0099] S510. In response to a request rejection rate at a preset time being less than or equal to a preset threshold, the bandwidth utilization rate at the preset time is compared with a first utilization rate and a second utilization rate; wherein the first utilization rate is lower than the second utilization rate.
[0100] S520: In response to the fact that the bandwidth utilization rate at a preset time is less than the first utilization rate, the latest determined flow limit value before the preset time is amplified by the second amplification factor.
[0101] The pre-configured rate limiting value can be within the range of [1, 2], and the lower limit of 1 can be set as the initial value of the rate limiting value for each device node. The second amplification factor can be set according to the specific business scenario, and is usually a value greater than 1.
[0102] If the bandwidth utilization rate at the preset time is less than the first utilization rate, the latest determined rate limiting value before the preset time can be multiplied by the second amplification factor to slightly increase the request handling capacity of the corresponding device node.
[0103] S530, in response to the bandwidth utilization rate being greater than or equal to the second utilization rate at a preset time, the latest determined flow limit value before the preset time is reduced by the second reduction factor.
[0104] The second reduction factor can be set according to the specific business scenario, and is usually a value between 0 and 1. If the bandwidth utilization at the preset time is greater than or equal to the second utilization, the latest determined rate limiting value before the preset time can be multiplied by the second reduction factor to slightly reduce the request handling capacity of the corresponding device node.
[0105] Since the rate limit value represents the upper limit of the return frequency of the corresponding device identifier per unit time, it needs to be used as a condition for filtering device nodes. Small adjustments to the rate limit value have little impact on the filtering effect of the device node. Therefore, if the bandwidth utilization rate at the preset time is greater than or equal to the first utilization rate and less than the second utilization rate, the rate limit value does not need to be adjusted.
[0106] In addition, the process of adjusting the rate limit value may also include: in response to the request rejection rate being greater than a preset threshold at a preset time, reducing the rate limit value determined before the preset time by a third reduction coefficient.
[0107] The third reduction factor can be set according to the specific business scenario, and is usually a value between 0 and 1. The second reduction factor must be greater than the third reduction factor. It can be understood that, compared with the second reduction factor, the third reduction factor is expected to make a greater adjustment to the rate limiting value.
[0108] If the request rejection rate of a device node exceeds a preset threshold at a preset time, the rejection rate of that device node can be considered abnormal. In this case, the latest rate limiting value determined before the preset time can be multiplied by a third reduction factor to further reduce the request handling capacity of the corresponding device node.
[0109] The technical solution of this disclosure describes in detail the process of adjusting distribution attribute information. When the request rejection rate at a preset time is normal, the bandwidth utilization at the preset time can be compared with a first utilization rate and a second utilization rate, and the latest distribution attribute information determined before the preset time can be adjusted according to the comparison result. When the request rejection rate at the preset time is abnormal, the latest distribution attribute information determined before the preset time can be directly adjusted. Therefore, the distribution attribute information can more accurately represent the current request handling capacity, laying the foundation for load balancing-based return points. The content distribution method provided in this disclosure belongs to the same concept as the content distribution method provided in the above embodiments. Technical details not described in detail in this embodiment can be found in the above embodiments, and the same technical features have the same beneficial effects in this embodiment and the above embodiments.
[0110] Figure 6 This is a schematic diagram of a content distribution device provided in an embodiment of the present disclosure. The content distribution device provided in this embodiment is applicable to content distribution scenarios, such as content distribution in a peer-to-peer content distribution system.
[0111] like Figure 6 As shown, the content distribution apparatus provided in this embodiment may include:
[0112] The receiving module 610 is used to receive the request to obtain the target content sent by the first device;
[0113] Scheduling module 620 is used to perform the following steps:
[0114] Acquire a number of second devices storing target content, and distribution attribute information corresponding to each of the second devices; wherein the distribution attribute information corresponding to the second device is determined based on the bandwidth utilization rate and request rejection rate of the second device at a preset time.
[0115] Based on the distribution attribute information corresponding to each of the several second devices, the target device is determined from the several second devices;
[0116] The device identifier of the target device is returned to the first device, so that the first device can request the target content from the target device based on the device identifier.
[0117] In some optional implementations, the distribution attribute information includes at least one of the following: distribution weight and rate limiting value; wherein, the rate limiting value represents the upper limit of the return frequency of the corresponding device identifier per unit time.
[0118] In some optional implementations, bandwidth utilization includes the ratio of actual bandwidth to preset bandwidth; request rejection rate includes the ratio of the number of rejected requests within a preset time range to the total number of requests.
[0119] In some alternative implementations, the content distribution device may also include:
[0120] The strategy generation module is used to dynamically adjust distribution attribute information based on the following process:
[0121] If the request rejection rate at a preset time is less than or equal to a preset threshold, the bandwidth utilization at the preset time is compared with a first utilization rate and a second utilization rate; wherein the first utilization rate is lower than the second utilization rate.
[0122] Based on the comparison results, the latest distribution attribute information determined before the preset time is adjusted.
[0123] In some alternative implementations, where the distribution attribute information includes distribution weights, the policy generation module can be used to:
[0124] In response to the fact that the bandwidth utilization rate at a preset time is less than the first utilization rate, the latest distribution weight determined before the preset time is amplified by the first amplification factor.
[0125] In response to a bandwidth utilization rate at a preset time being greater than or equal to a first utilization rate and less than a second utilization rate, the latest determined distribution weight before the preset time is increased by a preset magnitude; wherein, the preset magnitude is less than the difference in distribution weight before and after the amplification process.
[0126] In response to the bandwidth utilization rate being greater than or equal to the second utilization rate at a preset time, the latest distribution weight determined before the preset time is reduced by a preset amount.
[0127] In some alternative implementations, the policy generation module can also be used for:
[0128] If the request rejection rate exceeds a preset threshold at a preset time, the distribution weight determined before the preset time is reduced by a first reduction factor; wherein the preset magnitude is less than the difference in distribution weight before and after the reduction process.
[0129] In some alternative implementations, where the distribution attribute information includes a rate-limiting value, the policy generation module can be used to:
[0130] In response to the fact that the bandwidth utilization rate at a preset time is less than the first utilization rate, the latest determined flow limit value before the preset time is amplified by the second amplification factor.
[0131] In response to the bandwidth utilization rate being greater than or equal to the second utilization rate at a preset time, the latest determined flow limit value before the preset time is reduced by the second reduction factor.
[0132] In some alternative implementations, the strategy generation module can also be used for:
[0133] If the request rejection rate exceeds a preset threshold at a preset time, the rate limiting value determined before the preset time is reduced by a third reduction coefficient; wherein, the second reduction coefficient is greater than the third reduction coefficient.
[0134] In some alternative implementations, where the distribution attribute information includes distribution weights, the scheduling module can be used to:
[0135] The target device is determined from several second devices by taking the distribution of the frequency of device identification as conforming to the distribution of the corresponding distribution weight.
[0136] In some alternative implementations, where the distribution attribute information includes a rate-limiting value, the scheduling module can be used to:
[0137] The target device is determined from several second devices based on the return frequency of the device identifier being less than or equal to the corresponding current limiting value.
[0138] The content distribution apparatus provided in this disclosure can execute the content distribution method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of executing the method.
[0139] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.
[0140] The following is for reference. Figure 7 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 7 The diagram below shows the structure of the terminal device or server 700. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 7 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0141] like Figure 7As shown, the electronic device 700 may include a processing unit (e.g., a central processing unit, a graphics processor, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. The RAM 703 also stores various programs and data required for the operation of the electronic device 700. The processing unit 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0142] Typically, the following devices can be connected to I / O interface 705: input devices 706 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 707 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 708 including, for example, magnetic tapes, hard disks, etc.; and communication devices 709. Communication device 709 allows electronic device 700 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 7 An electronic device 700 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0143] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory 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 communication device 709, or installed from storage device 708, or installed from ROM 702. When the computer program is executed by processing device 701, it performs the functions defined in the content distribution method of embodiments of this disclosure.
[0144] The electronic device provided in this embodiment and the content distribution method provided in the above embodiments belong to the same disclosed concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.
[0145] This disclosure provides a storage medium for computer-executable instructions, which, when executed by a computer processor, can be used to perform the content distribution method provided in the above embodiments.
[0146] It should be noted that the storage medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. 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 (FLASH), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium that contains or stores executable instructions that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable executable instructions. Such transmitted data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit executable instructions for use by or in connection with an instruction execution system, apparatus, or device. Executable instructions contained on the storage 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.
[0147] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed networks.
[0148] The aforementioned storage medium may be included in the aforementioned electronic device; or it may exist independently and not be assembled into the electronic device.
[0149] The aforementioned storage medium carries one or more executable instructions, which, when executed by the electronic device, cause the electronic device to:
[0150] The system receives a request to acquire target content from a first device; acquires a plurality of second devices storing the target content, and distribution attribute information corresponding to each of the plurality of second devices; wherein the distribution attribute information corresponding to the second devices is determined based on the bandwidth utilization rate and request rejection rate of the second devices at a preset time; determines the target device from the plurality of second devices according to the distribution attribute information corresponding to each of the plurality of second devices; and returns the device identifier of the target device to the first device, so that the first device requests the target content from the target device according to the device identifier.
[0151] Executable instructions for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The executable instructions 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).
[0152] This disclosure also provides a computer program product, including a computer program that, when executed by a processor, can implement the content distribution method provided in any embodiment of this disclosure.
[0153] In implementing a computer program product, computer program code for performing the operations of this disclosure 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++, as well as conventional procedural programming languages such as C or similar 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).
[0154] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0155] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units and modules do not, in certain circumstances, constitute a limitation on the unit or module itself.
[0156] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Parts (ASSP), System on Chip (SOC), Complex Programmable Logic Device (CPLD), and so on.
[0157] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, 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 devices, magnetic storage devices, or any suitable combination of the foregoing.
[0158] According to one or more embodiments of this disclosure, a content distribution method is provided, the method comprising:
[0159] Receive a request from the first device to obtain the target content;
[0160] Acquire a plurality of second devices storing the target content, and distribution attribute information corresponding to each of the plurality of second devices; wherein the distribution attribute information corresponding to the second device is determined based on the bandwidth utilization rate and request rejection rate of the second device at a preset time.
[0161] Based on the distribution attribute information corresponding to each of the plurality of second devices, the target device is determined from the plurality of second devices;
[0162] The device identifier of the target device is returned to the first device, so that the first device requests the target content from the target device based on the device identifier.
[0163] According to one or more embodiments of this disclosure, a content distribution method is provided, further comprising:
[0164] In some optional implementations, the distribution attribute information includes at least one of the following: distribution weight and rate limiting value; wherein the rate limiting value represents the upper limit of the return frequency of the corresponding device identifier per unit time.
[0165] According to one or more embodiments of this disclosure, a content distribution method is provided, further comprising:
[0166] In some optional implementations, the bandwidth utilization rate includes the ratio of actual bandwidth to preset bandwidth; the request rejection rate includes the ratio of the number of rejected requests within a preset time range to the total number of requests.
[0167] According to one or more embodiments of this disclosure, a content distribution method is provided, further comprising:
[0168] In some optional implementations, the process of determining the distribution attribute information includes:
[0169] In response to a request rejection rate that is less than or equal to a preset threshold at the preset time, the bandwidth utilization rate at the preset time is compared with a first utilization rate and a second utilization rate; wherein the first utilization rate is lower than the second utilization rate.
[0170] Based on the comparison results, the latest distribution attribute information determined before the preset time is adjusted.
[0171] According to one or more embodiments of this disclosure, a content distribution method is provided, further comprising:
[0172] In some optional implementations, when the distribution attribute information includes distribution weights, adjusting the latest determined distribution attribute information before the preset time based on the comparison result includes:
[0173] In response to the fact that the bandwidth utilization rate at the preset time is less than the first utilization rate, the latest distribution weight determined before the preset time is amplified by the first amplification factor.
[0174] In response to the fact that the bandwidth utilization rate at the preset time is greater than or equal to the first utilization rate and less than the second utilization rate, the distribution weight most recently determined before the preset time is increased by a preset amount; wherein, the preset amount is less than the difference between the distribution weight before and after the amplification process;
[0175] In response to the bandwidth utilization rate at the preset time being greater than or equal to the second utilization rate, the latest distribution weight determined before the preset time is reduced by the preset magnitude.
[0176] According to one or more embodiments of this disclosure, a content distribution method is provided, further comprising:
[0177] In some optional implementations, the process of determining the distribution attribute information further includes:
[0178] If the request rejection rate at the preset time exceeds the preset threshold, the distribution weight determined most recently before the preset time is reduced by a first reduction coefficient; wherein the preset amplitude is less than the difference between the distribution weights before and after the reduction process.
[0179] According to one or more embodiments of this disclosure, a content distribution method is provided, further comprising:
[0180] In some optional implementations, when the distribution attribute information includes a rate limiting value, adjusting the latest determined distribution attribute information before the preset time based on the comparison result includes:
[0181] In response to the fact that the bandwidth utilization rate at the preset time is less than the first utilization rate, the latest determined rate limiting value before the preset time is amplified by the second amplification factor.
[0182] In response to the bandwidth utilization rate at the preset time being greater than or equal to the second utilization rate, the latest determined flow limit value before the preset time is reduced by a second reduction factor.
[0183] According to one or more embodiments of this disclosure, a content distribution method is provided, further comprising:
[0184] In some optional implementations, the process of determining the distribution attribute information further includes:
[0185] If the request rejection rate at the preset time is greater than the preset threshold, the rate limiting value determined before the preset time is reduced by a third reduction coefficient; wherein the second reduction coefficient is greater than the third reduction coefficient.
[0186] According to one or more embodiments of this disclosure, a content distribution method is provided, further comprising:
[0187] In some optional implementations, when the distribution attribute information includes the distribution weight, determining the target device from the plurality of second devices based on the distribution attribute information corresponding to each of the plurality of second devices includes:
[0188] The target device is determined from the plurality of second devices based on the distribution of the return frequency of the device identifier conforming to the distribution of the corresponding distribution weight.
[0189] According to one or more embodiments of this disclosure, a content distribution method is provided, further comprising:
[0190] In some optional implementations, when the distribution attribute information includes the rate limiting value, determining the target device from the plurality of second devices based on the distribution attribute information corresponding to each of the plurality of second devices includes:
[0191] The target device is determined from the plurality of second devices based on the return frequency of the device identifier being less than or equal to the corresponding rate limiting value.
[0192] According to one or more embodiments of this disclosure, a content distribution apparatus is provided, the apparatus comprising:
[0193] The receiving module is used to receive the request to obtain the target content sent by the first device;
[0194] The scheduling module is used to perform the following steps:
[0195] Acquire a plurality of second devices storing the target content, and distribution attribute information corresponding to each of the plurality of second devices; wherein, the distribution attribute information corresponding to the second device is determined based on the bandwidth utilization rate and request rejection rate of the second device at a preset time; wherein, the bandwidth utilization rate includes the ratio of actual bandwidth to preset bandwidth; the request rejection rate includes the ratio of the number of rejected requests within a preset time range to the total number of requests;
[0196] Based on the distribution attribute information corresponding to each of the plurality of second devices, the target device is determined from the plurality of second devices;
[0197] The device identifier of the target device is returned to the first device, so that the first device requests the target content from the target device based on the device identifier.
[0198] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0199] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0200] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A content distribution method, characterized in that, include: Receive a request from the first device to obtain the target content; Acquire a plurality of second devices storing the target content, and distribution attribute information corresponding to each of the plurality of second devices; wherein the distribution attribute information corresponding to the second device is determined based on the bandwidth utilization rate and request rejection rate of the second device at a preset time; determine the target device from the plurality of second devices according to the distribution attribute information corresponding to each of the plurality of second devices; The device identifier of the target device is returned to the first device, so that the first device requests the target content from the target device based on the device identifier.
2. The method according to claim 1, characterized in that, The distribution attribute information includes at least one of the following: distribution weight and rate limiting value; wherein, the rate limiting value represents the upper limit of the return frequency of the corresponding device identifier per unit time.
3. The method according to claim 1, characterized in that, The bandwidth utilization rate includes the ratio of actual bandwidth to preset bandwidth; the request rejection rate includes the ratio of the number of rejected requests within a preset time range to the total number of requests.
4. The method according to claim 1, characterized in that, The process of determining the distribution attribute information includes: In response to a request rejection rate that is less than or equal to a preset threshold at the preset time, the bandwidth utilization rate at the preset time is compared with a first utilization rate and a second utilization rate; wherein the first utilization rate is lower than the second utilization rate. Based on the comparison results, the latest distribution attribute information determined before the preset time is adjusted.
5. The method according to claim 4, characterized in that, When the distribution attribute information includes distribution weights, adjusting the latest determined distribution attribute information before the preset time based on the comparison result includes: In response to the fact that the bandwidth utilization rate at the preset time is less than the first utilization rate, the latest distribution weight determined before the preset time is amplified by the first amplification factor. In response to the fact that the bandwidth utilization rate at the preset time is greater than or equal to the first utilization rate and less than the second utilization rate, the distribution weight most recently determined before the preset time is increased by a preset amount; wherein, the preset amount is less than the difference between the distribution weight before and after the amplification process; In response to the bandwidth utilization rate at the preset time being greater than or equal to the second utilization rate, the latest distribution weight determined before the preset time is reduced by the preset magnitude.
6. The method according to claim 5, characterized in that, The process of determining the distribution attribute information also includes: If the request rejection rate at the preset time exceeds the preset threshold, the distribution weight determined most recently before the preset time is reduced by a first reduction coefficient; wherein the preset amplitude is less than the difference between the distribution weights before and after the reduction process.
7. The method according to claim 4, characterized in that, When the distribution attribute information includes a rate limiting value, adjusting the latest determined distribution attribute information before the preset time based on the comparison result includes: In response to the fact that the bandwidth utilization rate at the preset time is less than the first utilization rate, the latest determined rate limiting value before the preset time is amplified by the second amplification factor. In response to the bandwidth utilization rate at the preset time being greater than or equal to the second utilization rate, the latest determined flow limit value before the preset time is reduced by a second reduction factor.
8. The method according to claim 7, characterized in that, The process of determining the distribution attribute information also includes: If the request rejection rate at the preset time is greater than the preset threshold, the rate limiting value determined before the preset time is reduced by a third reduction coefficient; wherein the second reduction coefficient is greater than the third reduction coefficient.
9. The method according to claim 2, characterized in that, When the distribution attribute information includes the distribution weight, determining the target device from the plurality of second devices based on the distribution attribute information corresponding to each of the plurality of second devices includes: The target device is determined from the plurality of second devices based on the distribution of the return frequency of the device identifier conforming to the distribution of the corresponding distribution weight.
10. The method according to claim 2, characterized in that, When the distribution attribute information includes the rate limiting value, determining the target device from the plurality of second devices based on the distribution attribute information corresponding to each of the plurality of second devices includes: The target device is determined from the plurality of second devices based on the return frequency of the device identifier being less than or equal to the corresponding rate limiting value.
11. A content distribution device, characterized in that, include: The receiving module is used to receive the request to obtain the target content sent by the first device; The scheduling module is used to perform the following steps: Acquire a plurality of second devices storing the target content, and distribution attribute information corresponding to each of the plurality of second devices; wherein, the distribution attribute information corresponding to the second device is determined based on the bandwidth utilization rate and request rejection rate of the second device at a preset time; wherein, the bandwidth utilization rate includes the ratio of actual bandwidth to preset bandwidth; the request rejection rate includes the ratio of the number of rejected requests within a preset time range to the total number of requests; Based on the distribution attribute information corresponding to each of the plurality of second devices, the target device is determined from the plurality of second devices; The device identifier of the target device is returned to the first device, so that the first device requests the target content from the target device based on the device identifier.
12. An electronic device, characterized in that, The electronic device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the content distribution method as described in any one of claims 1-10.
13. A storage medium comprising computer-executable instructions, which, when executed by a computer processor, are used to perform the content distribution method as described in any one of claims 1-10.
14. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the content distribution method as described in any one of claims 1-10.