Bandwidth requirement processing method and apparatus, and electronic device and storage medium
By dynamically adjusting the bandwidth demand reporting period by the user-side device, and determining the appropriate reporting frequency based on the changes in the data volume, it solves the problem that local devices cannot handle frequently reported bandwidth demand in traditional optical network spectroscopy solutions, and improves the efficiency and stability of data transmission.
Patent Information
- Application Number
- PCT/CN2024/127399
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-22
- Filing Date
- 2024-10-25
- Publication Date
- 2025-05-30
AI Technical Summary
In traditional optical network spectroscopy solutions, local devices cannot handle frequently reported bandwidth requirements, resulting in inefficient data transmission.
The user-side equipment dynamically adjusts the bandwidth demand reporting period according to the changes in the data volume, and determines the appropriate reporting frequency by counting the changes in multiple data volumes, reducing the pressure on the local equipment.
It effectively solves the problem that local devices cannot handle the bandwidth requirements frequently reported, and improves the efficiency and stability of data transmission.
Smart Images

Figure CN2024127399_30052025_PF_FP_ABST
Abstract
Description
Bandwidth demand processing method, device, electronic device and storage medium
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on November 22, 2023, with application number 202311566331.7 and invention name “A method and device for reporting and processing bandwidth demands”, the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of communication technology, and in particular to a bandwidth demand processing method, device, electronic device, and storage medium. Background Art
[0004] With the development of optical access networks, the traditional connection method of one Optical Line Terminal (OLT) deployed at the central office (the server end, such as a service provider or operator) and one Optical Network Unit (ONU) device can no longer meet data transmission needs. Therefore, optical splitting technology has emerged. Current optical splitting solutions are based on Ethernet Passive Optical Network (EPON) chips, Gigabit-Capable Passive Optical Network (GPON) chips, or Field-Programmable Gate Array (FPGA). These solutions allocate bandwidth based on Ethernet Layer 2 protocol control messages transmitted between the OLT and multiple ONUs, ensuring that multiple ONUs occupy different time slots to transmit data to the OLT, thereby meeting the transmission needs of multiple ONUs.
[0005] Summary of the Invention
[0006] Exemplary embodiments of the present application provide a bandwidth demand processing method, apparatus, electronic device, and storage medium.
[0007] In a first aspect, the present application proposes a method for processing bandwidth requirements, comprising:
[0008] collecting a first amount of data at a first frequency;
[0009] Counting at least two second data amounts collected within a first time period; the second data amount includes multiple first data amounts collected within the first time period according to the first frequency; N is an integer greater than 1;
[0010] When the change between the at least two second data amounts is less than a set threshold, a second frequency is determined based on the first duration and a second bandwidth requirement value is sent according to the second frequency; the first frequency is higher than the second frequency; wherein the set threshold is used to characterize the degree of change in the data amount.
[0011] Based on the above solution, the user-end device dynamically adjusts the period for reporting bandwidth requests based on changes in the amount of data to be transmitted. When the amount of data collected over a certain period (a first period) changes relatively slowly, the user-end device updates the frequency of bandwidth request reporting based on that period. This increases the period for reporting bandwidth requests to the central office without affecting actual data transmission, resolving the issue of the central office device being unable to process frequently reported bandwidth requests.
[0012] In some embodiments, before counting the at least two second data amounts collected within the first time period, the method further includes:
[0013] Obtain multiple preset candidate durations;
[0014] For any candidate duration, counting at least two second data amounts collected in at least two of the candidate durations;
[0015] Among the multiple candidate durations, determine the candidate duration with the smallest change between the at least two second data amounts as the first duration.
[0016] Based on the above scheme, the second data volume collected according to multiple candidate time lengths is counted, and the time length with the smallest change is selected according to the change of the second data volume collected under each time length type. The time length with the smallest change indicates that when the data volume is collected at this time length, the collected data volume changes relatively slowly, and the reporting frequency is updated with the time length with the smallest change.
[0017] In some embodiments, when the variation between the at least two second data amounts is not less than a set threshold, the method further includes:
[0018] Determining a first bandwidth requirement value according to the first data volume; and
[0019] The first bandwidth requirement value is sent to the central office device according to the first frequency.
[0020] In some embodiments, determining the first bandwidth requirement value according to the first data volume includes:
[0021] When the first data volume shows an increasing trend and the increase is greater than a first preset value, the first bandwidth requirement value is determined according to the first data volume and the data volume stored in the cache.
[0022] Based on the above solution, this application proposes to comprehensively consider the input data volume and cache status when reporting bandwidth requirements to avoid cache overflow problems.
[0023] In some embodiments, the variation between the at least two second data amounts is determined in the following manner:
[0024] determining an average value of a plurality of first data amounts contained in each second data amount; and
[0025] The variation between the at least two second data amounts is determined according to the degree of dispersion of the average values respectively determined for the at least two second data amounts.
[0026] Based on the above solution, the embodiment of the present application proposes that the degree of variation of the data volume of the corresponding time length can be accurately characterized by the degree of dispersion of the average data volume collected in each time length.
[0027] In some embodiments, sending the second bandwidth requirement value according to the second frequency includes:
[0028] A second data volume is collected according to the second frequency, and the second bandwidth requirement value is determined according to the second data volume; and the second bandwidth requirement value is sent according to the second frequency.
[0029] In some embodiments, determining the second bandwidth requirement value according to the second data volume includes:
[0030] When it is determined that the amount of the second data collected continuously shows an increasing trend and the increase is greater than the second preset value,
[0031] The second bandwidth requirement value is determined according to a plurality of continuously collected second data amounts and the amount of data stored in the cache.
[0032] Based on the above solution, the second bandwidth requirement value is not calculated based on the amount of data collected each time, but is calculated based on the amount of data collected multiple times, thereby reducing the frequency of reporting the second bandwidth requirement value and alleviating the pressure on the local equipment.
[0033] In some embodiments, determining the second bandwidth requirement value based on the plurality of continuously collected second data amounts and the amount of data stored in the cache includes:
[0034] determining a first target data volume according to a peak value among a plurality of first data volumes contained in each of the plurality of continuously collected second data volumes and a most recently collected second data volume among the plurality of continuously collected second data volumes;
[0035] When the amount of data stored in the cache is less than a first threshold, calculating the second bandwidth requirement value according to the first target data amount; and
[0036] When the amount of data stored in the cache is not less than the first threshold, a second target data amount is determined according to the first target data amount and the amount of data stored in the cache; and the second bandwidth requirement value is calculated according to the second target data amount.
[0037] Based on the above scheme, this application proposes that when calculating the bandwidth requirement value, not only the actual input data volume is considered, but also the amount of data already stored in the cache is considered. These two points are combined to jointly determine the bandwidth requirement value to avoid the problem of device cache overflow.
[0038] In some embodiments, the first target data volume is determined using the following formula:
[0039] R1=αOB i +(1-α)OB t
[0040] Among them, R1 is the first target data volume, OB i is the average data volume of the second data volume collected most recently, OB t is the average value of the peak values of the first data amounts included in the plurality of second data amounts, and α is determined according to the number of first data amounts included in each second data amount that are larger than the average data amount of the second data amount.
[0041] In some embodiments, the second target data volume is determined using the following formula:
[0042] Among them, R2 is the second target data volume, R1 is the first target data volume, B is the data volume stored in the cache, and n is a preset constant.
[0043] In some embodiments, determining the second bandwidth requirement value according to the collected second data volume includes:
[0044] When the need for emergency reporting is determined based on the growth rate of the second data amounts collected twice adjacently and / or the amount of data stored in the cache, the second bandwidth requirement value is determined based on multiple continuously collected second data amounts and the amount of data stored in the cache.
[0045] In some embodiments, determining the second bandwidth requirement value according to the second data volume includes:
[0046] Generate an emergency bandwidth identifier when the increase in the amount of the second data collected most recently compared to the amount of the second data collected most recently is greater than a third preset value, and the proportion of the amount of data stored in the cache exceeds a sixth preset value; or when the result of dividing the remaining storage space in the cache by the average amount of data of the second data collected most recently is less than a fourth preset value; and
[0047] Determining the second bandwidth requirement value according to a plurality of continuously collected second data amounts and an amount of data stored in the cache;
[0048] The sending the second bandwidth requirement value includes:
[0049] Sending the second bandwidth requirement value and the emergency bandwidth identifier to the central office device;
[0050] The emergency bandwidth identifier is used to instruct the central office device to allocate additional bandwidth to the user terminal device during the current data transmission period.
[0051] Under normal circumstances, after receiving bandwidth requests reported by user-side devices, the central office will not immediately meet them, but will instead meet them during the next data transmission cycle. Based on the above solution, if there is a sudden increase in data volume between two consecutive collections or if the amount of data stored in the cache is excessive, an emergency request will replace the regular request. The emergency request will instruct the central office to immediately meet the user's bandwidth request during the current data transmission cycle, without having to wait until the next cycle to be met. This prevents data congestion and data loss on the user-side devices.
[0052] In some embodiments, determining the second bandwidth requirement value according to the collected second data volume includes:
[0053] An emergency bandwidth identifier is generated when the increase in the amount of the second data collected most recently compared to the amount of the second data collected when the bandwidth demand was most recently reported is greater than a fifth preset value, and the increase in the amount of the second data collected most recently compared to the amount of the second data collected most recently is greater than a third preset value; or when the proportion of the amount of data stored in the cache exceeds a sixth preset value; and
[0054] Determining the second bandwidth requirement value according to a plurality of continuously collected second data amounts and an amount of data stored in the cache;
[0055] The sending the second bandwidth requirement value includes:
[0056] Sending the second bandwidth requirement value and the emergency bandwidth identifier to the central office device;
[0057] The emergency bandwidth identifier is used to instruct the central office device to allocate additional bandwidth to the user terminal device during the current data transmission period.
[0058] In some embodiments, when the growth rate of the latest collected second data volume compared to the second data volume collected previously is greater than the third preset value, the growth rate of the latest collected second data volume compared to the second data volume collected when the bandwidth demand was last reported is greater than the fifth preset value.
[0059] In some embodiments, when the growth rate of the most recently collected second data volume compared to the previously collected second data volume is greater than the third preset value, the proportion of the data volume stored in the cache exceeds the sixth preset value.
[0060] Traditional solutions determine whether to request emergency bandwidth based solely on the amount of input data, without considering the actual cache situation. Excessive or overloaded caches can lead to data overflows, data loss, and other issues. Therefore, to avoid this problem, this application proposes requesting emergency bandwidth from the central office even when the cache is overloaded, promptly alleviating cache pressure and preventing cache overflows and other issues on user-side devices.
[0061] In some embodiments, determining the second bandwidth requirement value based on the plurality of continuously collected second data amounts and the amount of data stored in the cache includes:
[0062] Calculating a third target data volume based on the most recently collected second data volume and the second data volume collected when the bandwidth requirement was most recently reported;
[0063] When the amount of data stored in the cache is less than a second threshold, determining the second bandwidth requirement value according to the third target data amount; and
[0064] When the amount of data stored in the cache is not less than the second threshold, a fourth target data amount is determined according to the third target data amount and the amount of data stored in the cache; and the second bandwidth requirement value is determined according to the fourth target data amount.
[0065] Based on the above solution, the bandwidth requirement value is determined by combining the two factors of input data volume and cache storage data volume. This not only meets the transmission requirements of the input data volume, but also alleviates the storage pressure of the cache and avoids the problem of device cache overflow.
[0066] In some embodiments, after sending the second bandwidth requirement value and the emergency bandwidth identifier to the central office device, the method further includes:
[0067] The frequency of sending the bandwidth request to the central office device is switched from the second frequency to the first frequency.
[0068] Based on the above solution, since the emergency bandwidth can already indicate a significant change in the amount of data currently being transmitted, this application proposes prioritizing the accuracy of the collected data volume so that data transmission requirements can be met in a timely manner. In scenarios where emergency bandwidth requirements arise, the original frequency of collection and calculation of bandwidth requirements is directly restored, increasing the frequency of calculating bandwidth requirements.
[0069] In some embodiments, after determining the second frequency according to the first duration, the method further includes:
[0070] collecting a second amount of data at the second frequency;
[0071] When there is a periodic sudden increase in the second data volume within a preset time period, determining a third bandwidth requirement value according to each sudden increase in the second data volume, and determining an emergency bandwidth requirement time according to the duration of each sudden increase in the second data volume; and
[0072] An emergency bandwidth identifier, the emergency bandwidth requirement time, and the third bandwidth requirement value are sent to the central office device; wherein the emergency bandwidth identifier is used to instruct the central office device to allocate additional bandwidth to the user terminal device in a current data transmission cycle.
[0073] Based on the above solution, when a periodic surge in data volume is detected, the statistical period and the duration of each surge will be synchronously reported to the central office device. In this way, the central office device can not only allocate additional bandwidth for the surge in data volume in a timely manner, but also recover the additional allocated bandwidth in a timely manner, avoiding the problem of bandwidth waste.
[0074] In some embodiments, after reporting the bandwidth requirement to the central office device according to the second frequency, the method further includes:
[0075] collecting a second amount of data at the second frequency;
[0076] Calculating peak values of a plurality of first data amounts contained in each of a plurality of continuously collected second data amounts, and determining an average value of the calculated plurality of peak values; and
[0077] When the ratio between the latest collected second data volume and the average value of the multiple peak values is greater than the seventh preset value, or the proportion of data stored in the cache exceeds the eighth preset value, the frequency of reporting bandwidth requirements to the local-end device will be switched from the second frequency to the first frequency.
[0078] Based on the above scheme, after extending the reporting cycle, in order to avoid the problem of untimely reporting of increased data volume, the present application proposes to determine the growth of the data volume based on the peak value and average value of the collected second data volume when collecting the second data volume at the second frequency. When the growth is obvious, exit the second frequency and switch back to the first frequency to timely increase the frequency of collection and reporting, so as to solve the problem of untimely reporting of increased data volume when reporting at a low frequency.
[0079] In some embodiments, after determining the second frequency according to the first duration, the method further includes:
[0080] collecting a second amount of data at the second frequency;
[0081] When a decrease in a plurality of continuously collected second data amounts exceeds a ninth preset value, and / or the amount of data stored in the cache is less than a third threshold, determining a bandwidth release value according to the plurality of second data amounts; and
[0082] A bandwidth release request is sent to the central office device; the bandwidth release request carries the bandwidth release value and is used to request the central office device to release the bandwidth indicated by the bandwidth release value.
[0083] Based on the above solution, this application proposes that when the data volume is reduced and the cache pressure is small, the user terminal device will actively request to release part of the bandwidth to save bandwidth resources.
[0084] In some embodiments, determining the bandwidth release value according to the multiple second data amounts includes:
[0085] Calculating an average value of a plurality of first data amounts contained in each of the plurality of second data amounts;
[0086] determining a fifth target data volume based on the calculated multiple average values and the second data volume collected when the bandwidth requirement was most recently reported; and
[0087] The bandwidth release value is determined according to the fifth target data volume.
[0088] In some embodiments, the fifth target data volume is determined using the following formula:
[0089] Among them, R i The is the fifth target data volume, LR is the average data volume of the second data volume collected when the bandwidth requirement value was reported most recently, is the average value of the average data amounts of the Q second data amounts, and k is a preset constant.
[0090] In a second aspect, the present application proposes a bandwidth demand processing method, which is applied to a central office device and includes:
[0091] receiving a second bandwidth requirement value sent by a user terminal device at a second frequency; wherein the second frequency is determined based on a first duration, a change between at least two second data amounts collected during the first duration is less than a set threshold; and the second data amount includes multiple first data amounts collected during the first duration at the first frequency; and
[0092] Allocate bandwidth for the next data transmission cycle to the user terminal device according to the second bandwidth requirement value.
[0093] In some embodiments, after allocating bandwidth in a next data transmission cycle to the user equipment according to the second bandwidth requirement value, the method further includes:
[0094] Receiving an emergency bandwidth identifier, the emergency bandwidth requirement time, and the third bandwidth requirement value from a user terminal device;
[0095] Allocate additional emergency bandwidth to the user terminal device in a current data transmission period according to the emergency bandwidth identifier and the third bandwidth requirement value, and determine a time to release the additional emergency bandwidth according to the emergency bandwidth requirement time.
[0096] In some embodiments, before receiving the second bandwidth requirement value sent by the user terminal device according to the second frequency, the method further includes:
[0097] A first bandwidth requirement value sent by the user terminal device according to a first frequency is received; the first bandwidth requirement value is determined according to a first data volume collected according to the first frequency.
[0098] In some embodiments, after allocating bandwidth in a next data transmission cycle to the user equipment according to the second bandwidth requirement value, the method further includes:
[0099] receiving a bandwidth release request from a user terminal device; the bandwidth release request carrying a bandwidth release value; the bandwidth release value being determined based on the multiple second data amounts continuously collected by the user terminal device when a decrease in the multiple second data amounts exceeds a ninth preset value and the amount of data stored in the cache is less than a third threshold;
[0100] The bandwidth indicated by the bandwidth release value allocated to the user terminal equipment is released.
[0101] In a third aspect, the present application proposes a bandwidth demand processing device, or the device is applied to the user terminal device, the device comprising:
[0102] a processing unit configured to collect a first amount of data at a first frequency;
[0103] The processing unit is configured to count at least two second data amounts collected within a first time period; the second data amount includes multiple first data amounts collected within a first time period according to the first frequency;
[0104] The processing unit is configured to determine a second frequency according to the first duration when a change between the at least two second data amounts is less than a set threshold; the first frequency is higher than the second frequency; wherein the set threshold is used to represent a degree of change in the data amount; and
[0105] The communication unit is configured to send the second bandwidth requirement value according to the second frequency.
[0106] In some embodiments, the processing unit is configured to:
[0107] Obtain multiple preset candidate durations;
[0108] For any candidate duration, counting at least two second data amounts collected in at least two of the candidate durations; the second data amount includes multiple first data amounts collected at the first frequency in one of the candidate durations;
[0109] The processing unit is configured to:
[0110] Among the multiple candidate durations, determine the candidate duration with the smallest change between the at least two second data amounts as the first duration.
[0111] In some embodiments, the processing unit is configured to:
[0112] determining a first bandwidth requirement value according to a first data volume collected at the first frequency; and
[0113] The first bandwidth requirement value is sent to the central office device according to the first frequency.
[0114] In some embodiments, the processing unit is configured to:
[0115] When the first data volume shows an increasing trend and the increase is greater than a first preset value,
[0116] The first bandwidth requirement value is determined according to the first data amount and the data amount stored in the cache.
[0117] In some embodiments, the processing unit, when determining the change between at least two second data amounts, is configured to:
[0118] determining an average value of a plurality of first data amounts contained in each second data amount;
[0119] The variation between the at least two second data amounts is determined according to the degree of dispersion of the average values respectively determined for the at least two second data amounts.
[0120] In some embodiments, the processing unit is configured to collect a second amount of data at the second frequency, and determine the second bandwidth requirement value based on the collected second amount of data;
[0121] The communication unit is specifically configured to send the second bandwidth requirement value to the central office device according to a second frequency.
[0122] In some embodiments, the processing unit is configured to:
[0123] When it is determined that the amount of the second data collected continuously shows an increasing trend and the increase is greater than the second preset value,
[0124] The second bandwidth requirement value is determined according to the multiple continuously collected second data amounts and the amount of data stored in the cache.
[0125] In some embodiments, the processing unit is configured to:
[0126] Determining a first target data volume according to a peak value among multiple first data volumes contained in each second data volume and a newly collected second data volume;
[0127] When the amount of data stored in the cache is less than a first threshold, calculating the second bandwidth requirement value according to the first target data amount;
[0128] When the amount of data stored in the cache is not less than the first threshold, a second target data amount is determined according to the first target data amount and the amount of data stored in the cache; and the second bandwidth requirement value is calculated according to the second target data amount.
[0129] In some embodiments, the processing unit is configured to:
[0130] The first target data volume is determined using the following formula:
[0131] R1=αOB i +(1-α)OB t
[0132] Among them, R1 is the first target data volume, OB i is the average data volume of the second data volume collected most recently, OB tis the average value of the peak values of the first data amounts included in the plurality of second data amounts, and α is determined according to the number of first data amounts included in each second data amount that are larger than the average data amount of the second data amount.
[0133] In some embodiments, the processing unit is configured to:
[0134] The second target data volume is determined using the following formula:
[0135] Among them, R2 is the second target data volume, R1 is the first target data volume, B is the data volume stored in the cache, and n is a preset constant.
[0136] In some embodiments, the processing unit is specifically configured to generate an emergency bandwidth identifier when the growth rate of the most recently collected second data volume compared to the previously collected second data volume is greater than a third preset value, or when the result obtained by dividing the remaining storage space in the cache by the average data volume of the current first time period is less than a fourth preset value; and determine the second bandwidth requirement value based on multiple continuously collected second data volumes and the data volume stored in the cache;
[0137] The communication unit is specifically configured to send the second bandwidth requirement value and the emergency bandwidth identifier to the central office device;
[0138] The emergency bandwidth identifier is used to instruct the central office device to allocate additional bandwidth to the user terminal device during the current data transmission period.
[0139] In some embodiments, when the growth rate of the latest collected second data volume compared to the second data volume collected previously is greater than the third preset value, the growth rate of the latest collected second data volume compared to the second data volume collected when the bandwidth demand was last reported is greater than the fifth preset value.
[0140] In some embodiments, when the growth rate of the most recently collected second data volume compared to the previously collected second data volume is greater than the third preset value, the proportion of the data volume stored in the cache exceeds the sixth preset value.
[0141] In some embodiments, the processing unit is configured to:
[0142] Calculating a third target data volume based on the most recently collected second data volume and the second data volume collected when the bandwidth requirement was most recently reported;
[0143] When the amount of data stored in the cache is less than a second threshold, determining the second bandwidth requirement value according to the third target data amount;
[0144] When the amount of data stored in the cache is not less than the second threshold, a fourth target data amount is determined according to the third target data amount and the amount of data stored in the cache; and the second bandwidth requirement value is determined according to the fourth target data amount.
[0145] In some embodiments, the processing unit is configured to:
[0146] The frequency of sending the bandwidth request to the central office device is switched from the second frequency to the first frequency.
[0147] In some embodiments, the processing unit is further configured to collect the second data volume at the second frequency; when there is a periodic sudden increase in the second data volume within a preset time period, determine a third bandwidth requirement value based on each sudden increase in the second data volume, and determine an emergency bandwidth requirement time based on the duration of each sudden increase in the second data volume;
[0148] The communication unit is further configured to send an emergency bandwidth identifier, the emergency bandwidth requirement time, and the third bandwidth requirement value to the central office device; wherein the emergency bandwidth identifier is configured to instruct the central office device to allocate additional bandwidth to the user terminal device during a current data transmission cycle.
[0149] In some embodiments, the processing unit is configured to:
[0150] collecting a second amount of data at the second frequency;
[0151] Calculating peak values of a plurality of first data amounts contained in each of a plurality of continuously collected second data amounts, and determining an average value of the calculated plurality of peak values;
[0152] When the ratio between the latest collected second data volume and the average value of the multiple peak values is greater than the seventh preset value, or the proportion of data stored in the cache exceeds the eighth preset value, the frequency of reporting bandwidth requirements to the local-end device will be switched from the second frequency to the first frequency.
[0153] In some embodiments, the processing unit is configured to collect a second amount of data at the second frequency; when a decrease in a plurality of consecutively collected second amounts of data exceeds a ninth preset value and the amount of data stored in the cache is less than a third threshold, determine a bandwidth release value based on the plurality of second amounts of data;
[0154] The communication unit is further configured to send a bandwidth release request to the central office device; the bandwidth release request carries the bandwidth release value and is configured to request the central office device to release the bandwidth indicated by the bandwidth release value.
[0155] In some embodiments, the processing unit is configured to:
[0156] Calculating an average value of a plurality of first data amounts contained in each of the plurality of second data amounts;
[0157] determining a fifth target data volume based on the calculated multiple average values and the second data volume collected when the bandwidth requirement was most recently reported;
[0158] The bandwidth release value is determined according to the fifth target data volume.
[0159] In some embodiments, the processing unit is configured to:
[0160] In some embodiments, the fifth target data volume is determined using the following formula:
[0161] Among them, R i The is the fifth target data volume, LR is the average data volume of the second data volume collected when the bandwidth requirement value was reported most recently, is the average value of the average data amounts of the Q second data amounts, and k is a preset constant.
[0162] In a fourth aspect, the present application proposes a bandwidth demand processing device, which is a central office device, or is applied to the central office device, and includes:
[0163] A communication unit configured to receive a second bandwidth requirement value reported by a user terminal device at a second frequency; wherein the second frequency is determined based on a first duration, and a change between at least two second data amounts collected within at least two of the first durations is less than a set threshold; the second data amount includes N first data amounts collected at the first frequency; N is an integer greater than 1; and
[0164] The processing unit is configured to allocate bandwidth in a next data transmission cycle to the user terminal device according to the second bandwidth requirement value.
[0165] In some embodiments, the communication unit is configured to receive an emergency bandwidth identifier, the emergency bandwidth requirement time, and the third bandwidth requirement value from a user terminal device;
[0166] The processing unit is configured to allocate additional emergency bandwidth to the user terminal device in a current data transmission period according to the emergency bandwidth identifier and the third bandwidth requirement value, and determine a time to release the additional emergency bandwidth according to the emergency bandwidth requirement time.
[0167] In some embodiments, the communication unit is configured to:
[0168] A first bandwidth requirement value reported by the user terminal device according to a first frequency is received; the first bandwidth requirement value is determined according to a first data volume collected according to the first frequency.
[0169] In some embodiments, the communication unit is configured to receive a bandwidth release request from a user terminal device; the bandwidth release request carries a bandwidth release value; the bandwidth release value is determined based on the Q second data amounts continuously collected by the user terminal device when a decrease in the Q second data amounts exceeds a ninth preset value and the amount of data stored in the cache is less than a third threshold; Q is an integer greater than 1, and the value of Q is determined based on the number of bandwidth demands reported within a recently set time period;
[0170] The processing unit is configured to release the bandwidth indicated by the bandwidth release value allocated to the user terminal equipment.
[0171] In a fifth aspect, the present application proposes a bandwidth reporting system, including a user terminal device and a central office device, wherein:
[0172] The user terminal device is configured to collect a first amount of data at a first frequency;
[0173] The user terminal device is further configured to count at least two second data amounts collected within at least two first time periods; the second data amount includes N first data amounts collected at the first frequency; N is an integer greater than 1;
[0174] The user terminal device is further configured to determine a second frequency according to the first duration when a change between the at least two second data amounts is less than a set threshold;
[0175] The user terminal device is further configured to report a second bandwidth requirement value to the central office device according to a second frequency;
[0176] The central office device is configured to receive a second bandwidth requirement value reported by the user terminal device according to a second frequency, and allocate bandwidth in a next data transmission cycle to the user terminal device according to the second bandwidth requirement value.
[0177] In a sixth aspect, an electronic device is provided, comprising a controller and a memory. The memory is configured to store computer-executable instructions, and the controller executes the computer-executable instructions in the memory to utilize hardware resources in the controller to perform the steps of any possible implementation of the method of the first aspect or the second aspect.
[0178] In a seventh aspect, a computer-readable storage medium is provided, in which instructions are stored. When the computer-readable storage medium is run on a computer, the computer executes the methods in the above aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0179] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0180] FIG1 is a schematic diagram of the system architecture of an all-optical network.
[0181] FIG2 is a schematic diagram of a system architecture of an optical splitting network.
[0182] FIG3A is a flow chart of a method for processing bandwidth requirements provided in an embodiment of the present application.
[0183] FIG3B is a flow chart of another bandwidth demand processing method provided in an embodiment of the present application.
[0184] FIG3C is a flow chart of a method for processing a temporary emergency bandwidth requirement provided in an embodiment of the present application.
[0185] FIG4 is a schematic diagram of the architecture of a user terminal device provided in an embodiment of the present application.
[0186] FIG5 is a schematic structural diagram of a bandwidth demand processing device provided in an embodiment of the present application.
[0187] FIG6 is a schematic structural diagram of another bandwidth demand processing device provided in an embodiment of the present application.
[0188] FIG7 is a schematic diagram of the architecture of a bandwidth demand reporting system provided in an embodiment of the present application.
[0189] FIG8 is a schematic structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0190] To make the objectives, technical solutions and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
[0191] It should be noted that the terms "first," "second," and the like in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Instead, they are merely examples of devices and methods consistent with certain aspects of this application, as detailed in the appended claims.
[0192] In traditional all-optical networks, a central office device can only connect to one user-end device. For example, as shown in the system architecture diagram of an all-optical network in Figure 1, there is a one-to-one relationship between the central office device and the user-end device. As the bandwidth of a single port continues to increase, the need to connect a single downlink interface of a central office device to multiple user-end devices has arisen, leading to the emergence of Ethernet splitting technology. For example, the system architecture of an Ethernet splitting network can be seen in Figure 2. Current splitting technology is implemented using EPON / GPON chips or FPGA chips that implement the EPON / GPON protocol. Both implementations require specialized chip design, increasing splitting costs. Furthermore, in splitting solutions, multiple ONUs (online operators) are required to frequently report bandwidth requirements to the optical transmission line (OLT). Multiple user-end devices (such as ONUs) frequently report their bandwidth requirements to the central office device (such as the OLT). However, these solutions require multiple ONUs to frequently report bandwidth requirements to the OLT, but the Ethernet chip on the OLT, due to limited processing performance, cannot handle these frequent reporting requests. However, the processing performance of the central office equipment using traditional Ethernet chips is limited and cannot handle the frequently reported bandwidth requirements.
[0193] The embodiment of the present application proposes a bandwidth demand processing method. When collecting data volume to determine the reported bandwidth demand, the user-end device will determine the period for calculating the bandwidth demand based on the change in the data volume. When the data volume changes significantly and irregularly, the user-end device will collect data volume at a higher frequency and determine whether it is necessary to report the bandwidth demand and calculate the specific bandwidth demand value based on the amount of data collected each time. When the data volume changes slightly or shows regular changes within a certain period of time, the user-end device will determine whether it is necessary to report the bandwidth demand and calculate the specific bandwidth demand value based on multiple data volumes collected within the period.
[0194] The following describes the solution of this application in detail. For example, see Figure 3A, which illustrates a flow chart of a method for reporting bandwidth requirements according to an embodiment of this application. For example, the method illustrated in Figure 3A can be executed by any user-end device connected to a central office device, where the user-end device utilizes a conventional Ethernet chip. The method illustrated in Figure 3A is as follows.
[0195] Step 301A: Collect a first amount of data at a first frequency.
[0196] For example, the user terminal device may collect the first amount of data at a frequency of once every 2 ms. The collected first amount of data is the amount of data input to the user terminal device within 2 ms. In this case, the first frequency is 2 ms / time (500 Hz). The first frequency can be flexibly set according to needs.
[0197] In an optional manner, the user-end device may also report the bandwidth demand to the central office device based on the first data volume collected each time, that is, report the bandwidth demand to the central office device according to the first frequency. For example, the user-end device may determine whether it is necessary to report the bandwidth demand based on the first data volume collected each time, such as determining whether the difference between the first data volume collected last time meets the conditions. Further, in the case where it is determined that reporting is necessary, the first bandwidth demand value may be calculated based on the first data volume collected each time. For ease of description, in the embodiment of the present application, when the bandwidth demand value is calculated based on the data volume collected at the first frequency as a benchmark, the calculated bandwidth demand value is collectively referred to as the first bandwidth demand value. The first frequency may be a common bandwidth demand reporting frequency in a passive optical network system, or a benchmark bandwidth demand reporting frequency determined based on actual conditions, or an upper limit of the frequency at which the OLT in the system can bear the bandwidth reporting demand.
[0198] 302A, counting at least two second data amounts collected within at least two first time periods.
[0199] Each second data volume includes N first data volumes collected at the first frequency. That is, each second data volume can be understood as a group of first data volumes. N can be an integer greater than 1.
[0200] For example, within any first time length, the first data amount can be collected N times according to the first frequency. For example, if the first frequency is 2ms / time (500 Hz) and the first time length is 16ms, then the first data amount can be collected 8 times within 16ms, that is, N is 8. The set of 8 first data amounts collected within 16ms is a second data amount, that is, the second data amount is collected once in 16ms (the collection frequency of the second data amount is 62.5 Hz). Furthermore, at least two second data amounts collected in at least two first time lengths in the past can be counted. The first time length can be flexibly set according to the scenario, for example, it can be 16ms, 32ms, 64ms, 128ms, etc.
[0201] Optionally, the second data volume can be counted periodically. For example, a timer can be set, for example, 16 ms can be set as the timeout period of the timer, and each time the timer times out, the second data volume collected within each first time period is counted.
[0202] Optionally, at least two second data volumes are collected continuously or the collection time interval does not exceed a preset interval threshold.
[0203] 303A: When the variation between at least two second data amounts is less than a set threshold, determine the second frequency according to the first duration.
[0204] Wherein, the set threshold is used to characterize the degree of change in the amount of data; and the first frequency is higher than the second frequency. Exemplarily, when determining the amount of change between at least two second data amounts, the average value of the N first data amounts contained in each second data amount can be calculated to obtain at least two average values. Further, the amount of change between at least two data amounts is determined based on the degree of dispersion of at least two average values. For example, continuing with the example in the above steps, taking 16ms as the first duration as an example, at least two first durations are set to 10 first durations, then 10 second data amounts are counted in the past 160ms, and each second data amount contains 8 first data amounts. When calculating the amount of change between these 10 second data amounts, the average value of the 8 first data amounts contained in each second data amount can be calculated to obtain 10 average values. Further, the variance of these 10 average values is calculated to characterize the amount of change between the 10 second data amounts. Wherein, the smaller the variance, the smaller the amount of change. For example, the average values of 10 second data amounts and 10 second data amounts are respectively:
[0205] (1) 3bit, 2bit, 5bit, 5bit, 4bit, 3bit, 6bit, 4bit; the average value is 4bit; (2) 3bit, 6bit, 4bit, 3bit, 2bit, 5bit, 4bit, 5bit; the average value is 4bit; (3) 5bit, 5bit, 5bit, 5bit, 5bit, 5bit, 5bit, 5bit; the average value is 5bit; (4) 6bit, 4bit, 3bit, 7bit, 5bit, 5bit, 6bit, 4bit; the average value is 5bit; (5) 6bit, 4bit, 3bit, 7bit, 5bit, 5bit, 6bit, 4bit; the average value is 5bit; (6) 6 bits, 4 bits, 3 bits, 7 bits, 5 bits, 5 bits, 6 bits, 4 bits; the average value is 5 bits; (7) 2 bits, 8 bits, 3 bits, 7 bits, 7 bits, 3 bits, 6 bits, 4 bits; the average value is 5 bits; (8) 1 bit, 9 bits, 3 bits, 7 bits, 5 bits, 5 bits, 6 bits, 4 bits; the average value is 5 bits; (9) 2 bits, 3 bits, 3 bits, 4 bits, 5 bits, 5 bits, 6 bits, 4 bits; the average value is 4 bits; (10) 2 bits, 3 bits, 3 bits, 4 bits, 5 bits, 5 bits, 6 bits, 4 bits; the average value is 4 bits. The variance of the 10 average values is 0.24, that is, the variation of the 10 second data amounts is 0.24.
[0206] When the change is less than the set threshold, the second frequency can be determined based on the first duration. For example, if the first duration is 16ms, the second frequency can be 16ms / time (i.e., 62.5 Hz). As in the above example, the first frequency is 2ms / time (500 Hz), which shows that the second frequency is lower than the first frequency.
[0207] In some embodiments, when counting the amount of second data collected within at least two first durations, the amount of second data collected within multiple candidate durations may also be counted simultaneously. For example, multiple durations may be preset, such as 16ms, 32ms, 64ms, 128ms, and so on, based on demand or experience. For each duration, if the change in at least two second data amounts corresponding to that duration is determined to be less than a set threshold, that duration may be determined as a candidate duration, and the multiple candidate durations may include the first duration. Furthermore, the first duration is the candidate duration corresponding to the minimum change in at least two second data amounts among the multiple candidate durations. For any one of the multiple candidate durations, the at least two second data amounts collected within at least two of any candidate durations may be counted. After counting the amount of second data collected within the multiple candidate durations, the candidate duration with the minimum change between the at least two second data amounts may be further determined as the first duration, and if the change between the at least two second data amounts corresponding to the first duration is less than a set threshold, bandwidth demand reporting may be performed according to the second frequency. When the variation between the second data volumes corresponding to multiple candidate durations is smaller than a set threshold, the candidate duration with the highest priority may be determined as the first duration according to the priority selection order configured for the candidate durations.
[0208] Among them, the set threshold is used to characterize the degree of change in the data volume. When the change is less than the set threshold, it means that the change in the data volume is not large (the change is relatively gentle), and there is no need to frequently report the bandwidth; when the change is greater than or equal to the set threshold, it means that the data volume has changed to a certain extent, the bandwidth demand has also changed, and the bandwidth demand needs to be reported.
[0209] 304A: Report the second bandwidth requirement to the central office device according to the second frequency.
[0210] After determining the second frequency, the user-end device can collect the second data volume according to the second frequency, calculate the second bandwidth requirement value based on the collected second data volume, and report the second bandwidth requirement value to the central office device. Collecting the second data volume according to the second frequency means collecting the first data volume N times according to the first frequency, and the second data volume is the set of N first data volumes collected according to the first frequency. For example, continuing with the above example, if the first frequency is 2ms / time and the second frequency is 16ms / time, then collecting the second data volume once according to the second frequency is essentially collecting the first data volume 8 times according to the first frequency, and the collected second data volume is a set of 8 first data volumes.
[0211] Based on this solution, the user-end device dynamically adjusts the frequency of bandwidth request reporting based on changes in the amount of data to be transmitted. When the amount of data collected over a certain period of time changes relatively slowly, the user-end device updates the frequency of bandwidth request reporting based on that period (reducing the frequency of reporting). This increases the frequency of bandwidth request reporting to the central office without affecting actual data transmission, resolving the issue of the central office device being unable to process frequently reported bandwidth requests.
[0212] Correspondingly, on the central office side, bandwidth is allocated to the user terminal device based on the bandwidth demand reported by the user terminal device. As an example, see FIG3B , which is a flow chart of a method for central office device to process bandwidth demand according to an embodiment of the present application, specifically including the following steps.
[0213] 301B: The central office device receives the second bandwidth requirement value reported by the user terminal device according to the second frequency.
[0214] For example, the method for determining the second frequency and the second bandwidth requirement value can refer to the relevant introduction in FIG. 3A , which will not be described in detail here.
[0215] It is known that a central office device is connected to multiple user-end devices, each of which occupies multiple different transmission time slots within a data transmission cycle. For ease of description, the user-end device that sends the second bandwidth requirement value is referred to as user-end device A. User-end device A can send the second bandwidth requirement value to the central office device within any transmission time slot it occupies within the current data transmission cycle.
[0216] 302B: The central office device allocates bandwidth in the next data transmission cycle to the user terminal device according to the second bandwidth requirement value.
[0217] Illustratively, after receiving the second bandwidth requirement value, the central office device may store the second bandwidth requirement value. When allocating transmission time slots in the next data transmission period, the central office device may calculate at least one transmission time slot allocated to user terminal device A in the next data transmission period based on the stored second bandwidth requirement value. The product of the number of the at least one transmission time slot and the fixed bandwidth value corresponding to each transmission time slot must be greater than or equal to the second bandwidth requirement value to meet the bandwidth requirement of user terminal device A.
[0218] For example, in the subsequent description of the embodiments of this application, a reporting mode in which a user terminal device collects a first amount of data at a first frequency and uses the first amount of data as a basis for reporting bandwidth requirements will be referred to as normal mode. The reporting frequency in normal mode is the first frequency. Furthermore, a reporting mode in which a second amount of data is collected at a second frequency and uses the second amount of data as a basis for reporting bandwidth requirements will be referred to as inert mode, and the reporting frequency in inert mode is the second frequency.
[0219] The following is a detailed introduction to the process of switching from normal mode to slow mode.
[0220] In some embodiments, before switching from normal mode to inert mode, the user-end device can count the second data amounts collected within multiple candidate time lengths in the process of reporting bandwidth requirements in normal mode, and determine whether to switch to inert mode based on the change in at least two second data amounts collected, as well as determine the reporting frequency in inert mode.
[0221] For example, the process of counting the second data volume is introduced by taking the second duration among multiple candidate durations as an example, wherein the second duration is any one of the multiple candidate durations, and the second duration can be the first duration described in the above embodiment, or it can be any other duration except the first duration, and the embodiment of the present application does not limit this. Here, the process of counting the second data volume is introduced by taking the second duration as an example. When counting the second data volume, the first data volume collected according to the first frequency can be counted within multiple consecutive second durations in history. Among them, a group of first data volumes collected within any second duration is a second data volume. For example, the second duration is 10 minutes, the current time is 2:00, and it is defined that 5 groups of first data volumes need to be counted for the second duration. Then, the five groups of first data volumes collected in the five time periods of 1:50-2:00, 1:40-1:50, 1:30-1:40, 1:20-1:30 and 1:10-1:20 can be counted respectively.
[0222] Furthermore, when determining the variation of at least two second data volumes collected within at least two second time periods, the average of the multiple first data volumes contained in each second data volume can be calculated. For example, continuing with the above example, if five sets of data volumes are counted for the second time period, five average values can be calculated. Furthermore, the variation of the second data volume can be determined based on the degree of dispersion of the multiple average values calculated. For example, the variance of the multiple average values can be calculated, and the variance can be used to represent the variation of the second data volume.
[0223] As an optional method, a sliding window can be used to calculate the variance. During the sliding window process, the calculated value is iterated each time to reduce the amount of calculation, which is equivalent to averaging the amount of calculation within each sampling period. As an example, see the following formula (1), which shows the effect of clearing old data on the variance when the window slides:
[0224] Among them, δ 2 1 is the variance after eliminating the influence of old data, M is the number of data in the current window, h i is the i-th data in the historical window, is the average value of the data in the historical window, and D is the data deleted when the window slides.
[0225] Furthermore, see formula (2) below, which shows the effect of new data on the variance when the window slides:
[0226] Among them, δ 2 2 is the variance after adding the new data, M is the number of data in the current window, is the historical variance, is the average value of the data in the window after the new data is added, A is the new data, is the average value of the data in the historical window.
[0227] In some embodiments, when performing data volume detection (which may be statistical) in normal mode and inert mode, detection can be performed according to different detection windows. For example, the embodiment of the present application proposes that a sensitive window and an inert window can be set. Among them, detection according to the sensitive window can be understood as detecting the data volume according to the first frequency. The value of the inert window is determined according to the reporting frequency in the corresponding inert mode. For example, if the reporting frequency in the inert mode is updated to the second frequency, then detection according to the inert window can be understood as detecting the data volume according to the second frequency. For example, the sensitive window can be used to detect the data volume in normal mode as a reference for the data volume of the reported bandwidth, and can also be used to determine whether the data volume has increased suddenly in the inert mode to determine whether it is necessary to exit the inert mode. The inert window can be used to detect the data volume in the inert mode as a reference for the data volume of the reported bandwidth. Below, the detection process of the data volume (or traffic) is introduced in combination with different devices.
[0228] In one possible scenario, when the user terminal device is an access point (AP) device, since the AP device inputs the received message from the downstream device into the central processing unit (CPU), the length of the message within the window (the inert window and the sensitive window) can be calculated in the CPU, and the average data volume within the detection time can be determined based on the length and timestamp of the message within the window. Therefore, it can be determined whether the bandwidth requirement needs to be reported based on the detected average data volume. For example, the message length can be determined using the following formula (3):
[0229] LEN1=LEN2+LEN new -LEN old ; Formula (3)
[0230] Among them, LEN1 is the length of the message in the current window, LEN2 is the length of the message in the previous window, and LEN new The length of the message added when the window slides, LEN old The length of the message removed when the window slides.
[0231] Furthermore, the average amount of data within the detection time can be determined based on the message length and timestamp. For example, see the following formula (4):
[0232] Among them, OB is the average data volume, LEN1 is the message length in the window, TS n Timestamp of the newly added message, TS o is the timestamp of the message to be removed. When the window is a sensitive window, OB is the first data amount. When the window is a slow window, OB is the second data amount.
[0233] In another possible scenario, when the user-end device is a switching device, since the switching device is only used for data forwarding and does not process messages, the received data is stored in the cache. The number of bits stored in the cache can be read to determine the average data volume within the window. For example, the data volume detection process in the inert mode is used as an example. The average data volume collected can be referred to in the following formula (5):
[0234] Among them, OB i is the amount of data collected for the i-th time, TX is the number of bits sent by the optical port (i.e., optical fiber interface), Drop is the number of bits that failed to be sent, and F is the number of bits stored in the cache. i When OB is the first data amount collected for the i-th time (the average data amount under a sensitive window), n is 1; i When TX is the second data amount collected for the i-th time (the average data amount under a slow window), n is the number of collections under a slow window including the sensitive window. i-n 、Drop i-n 、F i-n When in is less than or equal to 0, the values of the three parameters are 0 or preset initial values.
[0235] In one possible implementation, after the data volume is detected through the window, whether the bandwidth requirement needs to be reported and the reported bandwidth requirement value can be determined based on the data volume. For example, the reporting methods proposed in the embodiments of the present application can include regular reporting, emergency reporting, and temporary emergency reporting. These three reporting methods in the inert mode are introduced below.
[0236] (1) Conventional reporting in slow mode
[0237] For example, the reporting detection period of the inert mode is taken as the first duration as an example for introduction. When the second data amount collected by the user terminal device in multiple consecutive first durations shows an increasing trend and the growth rate is greater than the second preset value, it is determined that the bandwidth demand needs to be reported. For the convenience of description, it is subsequently set that the second data amount collected each time in the inert mode includes N first data amounts, and the average value of the N first data amounts is called the average data amount corresponding to the second data amount. As an example, the user terminal device can count whether the average data amount corresponding to the second data amount collected four times in a row increases by more than 120% (that is, based on the N first data amounts contained in each of the four second data amounts, the average data amount corresponding to each second data amount is calculated to obtain four average data amounts, and determine whether the ratio of each average data amount to the previous average data amount in the four average data amounts is greater than 120%). If so, it can be determined that it is necessary to perform regular reporting of bandwidth demand in the inert mode, that is, report the bandwidth demand to the central office device according to the second frequency. Furthermore, the user-end device may determine the second bandwidth requirement value to be reported to the central office device based on the multiple collected second data amounts and the amount of data stored in the cache.
[0238] In one possible scenario, the amount of data in the cache is less than a first threshold value, which can represent a threshold value at which the cached data volume may be blocked, such as 40% of the total cached amount. When the amount of data in the cache accounts for less than 40%, in this case, the user terminal device can determine the first target data volume based on the peak value of the N first data volumes contained in each of the multiple second data volumes continuously collected within a preset time period, and the second data volume most recently collected within the preset time period (i.e., the collection time is the latest time), and determine the second bandwidth requirement value based on the first target data volume. For example, the method for determining the first target data volume can be referred to the following formula (6):
[0239] R1=αOB i +(1-α)OB t ; Formula (6)
[0240] Among them, R1 is the first target data volume, OB i is the average data volume corresponding to the second data volume collected most recently, OB t is the average of the peak values of the first data volumes contained in each of the multiple second data volumes, and α is a weighting factor determined based on the number of first data volumes in each second data volume that are greater than the average data volume. A larger weighting factor indicates that the traffic volume representing the requested bandwidth demand approaches the average traffic volume, leading to higher bandwidth utilization. The size of the first target data volume can represent the size of the second bandwidth demand value.
[0241] In some embodiments, when determining the weight coefficient, the average number of overflow cycles can be determined first: obtain the N first data amounts contained in any second data amount, divide the total number of N first data amounts that exceed the average data amount (that is, the number of first data amounts that exceed the average data amount in the N first data amounts) by the average data amount to obtain the overflow cycle number of any second data amount. The average overflow cycle number can directly reflect the impact of using the average data amount of this cycle as the export bandwidth on delay and cache accumulation. In order to prevent a large impact, it is necessary to apply for additional traffic based on the size of the average overflow cycle value. Furthermore, the average value of the overflow cycle numbers of multiple second data amounts collected continuously is used as the average overflow cycle number. The weight coefficient is inversely proportional to the average overflow cycle number, and the weight coefficient can be calculated as follows: in, is the weight coefficient, k is a preset negative number, a is the average overflow cycle number, and b is determined according to the value of the first duration. For example, if the first duration is 128ms, b can be 16%. For example, based on the range of the first duration (16ms, 32ms, 64ms, 128ms), the values of b can be (0%, 4%, 8%, 16%) respectively.
[0242] In another possible scenario, the amount of data stored in the cache is not less than the first threshold, and the user terminal device can obtain a second target data amount based on the first target data amount and the amount of data stored in the cache, and determine the second bandwidth requirement value based on the second target data amount. For example, the second target data amount can be calculated using the following formula (7):
[0243] Among them, R2 is the second target data volume, R1 is the first target data volume, B is the amount of data stored in the cache, and n is a preset constant.
[0244] (2) Emergency reporting in slow mode
[0245] The user terminal device can collect a second data volume at a second frequency in the inert mode. The second frequency is determined based on the first duration. The specific determination method can be found in the relevant description of the above embodiment. In the inert mode, the user terminal device can determine the need for emergency reporting based on the growth rate of the second data volume collected between two adjacent times and / or the amount of data stored in the cache, and determine the second bandwidth requirement value based on multiple consecutively collected second data volumes and the amount of data stored in the cache.
[0246] For example, it may be determined that emergency reporting needs to be performed in the inert mode when the following three conditions are met.
[0247] Case 1: When the growth rate of the latest collected second data volume compared to the second data volume collected when the bandwidth demand was last reported is greater than the fifth preset value, and the growth rate of the latest collected second data volume compared to the second data volume collected last time is greater than the third preset value, an emergency bandwidth identifier is generated. Alternatively, when the proportion of the data volume stored in the cache exceeds the sixth preset value, an emergency bandwidth identifier is generated. Exemplarily, when calculating the growth rate of each second data volume, the average data volume corresponding to each second data volume can be calculated first, and the growth rate can be further determined by using the ratio between the average data volumes. For example, when the average data volume of the latest collected second data volume increases by more than 300% compared to the average data volume of the second data volume collected when the bandwidth demand was last reported, and increases by more than 110% compared to the average data volume of the second data volume collected last time, it is determined that emergency reporting needs to be performed in the inert mode, and an emergency identifier can be generated.
[0248] Case 2: When the growth rate of the second data volume collected most recently compared to the average data volume of the second data volume collected previously is greater than the third preset value, and the proportion of the data volume stored in the cache exceeds the sixth preset value, it is determined that an emergency report is required. For example, when it is determined that the cache usage rate (i.e., the proportion of the data volume stored in the cache) exceeds 40%, and the average data volume growth rate exceeds 110%, it is determined that an emergency report needs to be performed in the inert mode and an emergency flag is generated.
[0249] Case 3: When the result of dividing the remaining free storage space in the cache by the average data size of the most recently collected second data volume is less than a fourth preset value, it is determined that an emergency report is required. That is, assuming that the average data size of subsequent second data volumes remains unchanged, a determination is made as to how many first time durations are required to fill the entire cache. When the required number of first time durations is less than a fourth preset value (e.g., 15), it is determined that an emergency report needs to be performed in the inert mode, and an emergency flag is generated.
[0250] In some embodiments, after determining that an emergency report is required in the inert mode, the second bandwidth requirement value can be determined based on the amount of data stored in the cache, the average amount of the second data collected most recently, and the average amount of the second data collected when the bandwidth requirement was most recently reported. In one possible scenario, the amount of data stored in the cache is less than the second threshold, such as when the amount of data stored in the cache accounts for less than 40%, a third target data amount can be calculated based on the average amount of the second data collected most recently and the average amount of the second data collected when the bandwidth requirement was most recently reported, and the second bandwidth requirement value can be determined based on the third target data amount.
[0251] For example, the third target data volume can be calculated using the following formula (8):
[0252] R3=OB i +k(OB i -LR); Formula (8)
[0253] Among them, R3 is the third target data volume, OB i is the average data volume of the second data volume collected most recently, k is a preset constant (also a gain coefficient), and LR is the average data volume of the second data volume collected in the most recent reporting of bandwidth requirements.
[0254] In another possible scenario, the amount of data stored in the cache is not less than the second threshold, for example, the amount of data stored in the cache accounts for more than 40%. The user terminal device may determine a fourth target data amount based on the amount of data stored in the cache and the third target data amount, and determine the second bandwidth requirement value based on the fourth target data amount. For example, the fourth target data amount may be determined using the following formula (9):
[0255] Among them, R4 is the fourth target data volume, R3 is the third target data volume, B is the amount of data stored in the cache, and n is a preset constant.
[0256] For example, when performing an emergency report, the second bandwidth requirement value may be sent with an emergency flag to instruct the central office device to allocate additional bandwidth to the user terminal device during the current data transmission period. Optionally, after performing an emergency report in inert mode, the inert mode may be exited and switched back to normal mode for bandwidth reporting.
[0257] (3) Temporary emergency reporting in slow mode
[0258] For example, after switching to the inert mode, the user-end device can make a temporary emergency report to the central office device based on the periodic surge in the amount of collected second data. Temporary emergency reporting in inert mode increases the emergency bandwidth demand time compared to emergency reporting, so that the central office device can not only allocate additional bandwidth to the user-end device, but also release this additional bandwidth after a set time. As an optional method, see Figure 3C, which introduces a process for processing temporary emergency bandwidth requirements, which specifically includes the following steps.
[0259] 301C, the central office device receives the emergency bandwidth identifier, the emergency bandwidth requirement time, and the third bandwidth requirement value from the user terminal device.
[0260] Here, a sudden increase refers to a situation where the amount of data currently collected increases by more than a preset amount compared to the amount of data collected previously or several times. For example, this may be a situation where the ratio of the amount of data collected using the first frequency to the average peak flow rate is greater than a seventh preset value, or the amount of data currently collected is a preset multiple of the amount of data collected previously. For example, the average peak flow rate can be determined based on the maximum value of multiple amounts of data collected using the first frequency over multiple first time periods. When periodic sudden increases occur within a preset time period, this may be a situation where the amount of data exceeds a preset multiple of a second amount of data, occurring more than a first preset number of times but less than a second preset number of times within the preset time period. For example, if there are more than three but less than 20 sudden increases in data volume per second that exceed three times the average data volume, the user-end device determines a third bandwidth requirement value based on the amount of data collected each time, and determines an emergency bandwidth requirement time based on the duration of each sudden increase in data volume. The user-end device sends an emergency bandwidth identifier, the emergency bandwidth requirement time, and the third bandwidth requirement value to the central office device.
[0261] 302C: The central office device allocates additional emergency bandwidth to the user terminal device in the current data transmission period according to the emergency bandwidth identifier and the third bandwidth requirement value, and determines a time to release the additional emergency bandwidth according to the emergency bandwidth requirement time.
[0262] Allocating additional emergency bandwidth to a user-end device refers to allocating additional transmission time slots to the user-end device. These additional transmission time slots can be used to meet the emergency bandwidth requirement. Therefore, the central office device can reclaim these additional transmission time slots when the additional transmission time slots meet the emergency bandwidth requirement.
[0263] In some embodiments, after reporting the second bandwidth demand value, the user-end device may also determine, based on the storage status of the cache, whether to instruct the central office device to release some bandwidth to conserve bandwidth resources. For example, the user-end device may determine that some bandwidth can be released when the decrease in the Q consecutively collected second data amounts exceeds a ninth preset value and the amount of data in the cache is less than a third threshold. For example, if the amount of data in the cache is less than the average amount of the most recently collected second data amount, and the average amount of the most recently collected second data amount is 50% less than the average amount of the previous second data amount, and this situation persists for (20+E) ms, then it is determined that some bandwidth can be released. Where E is the additional duration, and the value of E is affected by the number of reports from the user-end device within a set time period. Alternatively, for another example, if the amount of data in the cache is less than the average amount of the most recently collected second data amount, and the average amount of the most recently collected second data amount is 90% less than the average amount of the previous second data amount, and this situation persists for (40+E) ms, then it is determined that some bandwidth can be released.
[0264] In some embodiments, the user terminal device may determine the bandwidth value to be released based on the Q second data amounts collected continuously. For example, the user terminal device may determine the fifth target data amount based on the average data amount of the Q second data amounts collected continuously and the average data amount of the second data amount collected when the bandwidth requirement value was most recently reported, and use the fifth target data amount to determine the bandwidth release value. As an example, the fifth target data amount may be calculated using the following formula (10):
[0265] Wherein, R5 is the fifth target data volume, LR is the average data volume of the second data volume collected when the bandwidth requirement value was reported most recently, is the average of the Q second data volumes, and k is a preset constant (also a gain coefficient). The value of k is affected by the magnitude of the data volume decrease. For example, when the data volume decreases by 50%, k can be set to 1 / 4, and when the data volume decreases by 90%, k can be set to 1 / 8. The purpose of k is to prevent bandwidth from being released too quickly.
[0266] In one possible implementation, in the process of collecting and reporting data volume in the inert mode using an inert window, a sensitive window can be used to synchronously collect data volume. For example, the average peak flow rate can be determined based on the maximum value of multiple data volumes collected using the sensitive window in multiple first time periods. The average peak flow rate value can be used as an upper limit judgment for the application data volume. That is, the amount of data that needs to be reported after collecting using the inert window should be between the average peak flow rate and the average data volume of the current first time period. Furthermore, the average peak flow rate can also be used as a basis for switching to the inert mode. For example, when the ratio between the amount of data collected using the sensitive window and the average peak flow rate is greater than the seventh preset value, it indicates that a sudden increase in data volume has occurred. In this case, the inert mode can be exited and switched back to the normal mode for bandwidth reporting to avoid data accumulation.
[0267] As an optional method, it can also be determined whether to exit the inert mode based on the amount of data stored in the cache. For example, when the amount of data stored in the cache exceeds an eighth preset value, the inert mode can be exited and switched back to the normal mode for bandwidth reporting.
[0268] In normal mode, a sensitive window can be used to collect data volume, and when it is determined that the collected data volume is on an increasing trend and the growth rate is greater than a first preset value, it is determined that regular reporting needs to be performed in normal mode. For example, it can be determined that regular reporting in normal mode is required when the growth rate of the data volume collected twice in a row exceeds 110%. The amount of data for regular reporting in normal mode can be determined based on the latest collected data volume and the amount of data stored in the cache. For example, when the proportion of the data volume stored in the cache does not exceed a certain set value, such as 40%, the sixth target data volume can be determined based on the data volume collected m times, and the first bandwidth requirement value to be reported can be determined based on the sixth target data volume. As an example, the sixth target data volume can be calculated using the following formula (11):
[0269] Among them, R6 is the sixth target data volume, OB i is the amount of data collected for the current i-th time, B i is the amount of data stored in the cache at the time of the current i-th collection, B i -m is the amount of data stored in the cache at the time of acquisition for the (im)th acquisition, and m is a preset constant, for example, 5. Indicates the average cache data increment per cycle in the last m cycles.
[0270] For example, when the amount of data stored in the cache exceeds a certain set value, such as 40%, the seventh target data amount can be determined based on the amount of data stored in the cache and the sixth target data amount, and the first bandwidth requirement value can be calculated using the seventh target data amount. As an example, the seventh target data amount can be calculated using the following formula (12):
[0271] Among them, R7 is the seventh target data amount, R6 is the sixth target data amount, B is the amount of data stored in the cache, and m is a preset constant, for example, 5.
[0272] For example, the conditions for emergency reporting in normal mode can also refer to the emergency reporting in the inert mode described in the above embodiment. Unlike the emergency reporting in the inert mode, when determining whether condition 1 is met, the preset value for determining the growth rate of the data volume in the normal mode is less than the third preset value. For example, temporary emergency reporting in normal mode can refer to the temporary emergency reporting in the inert mode described in the above embodiment.
[0273] In some embodiments, the various operations performed by the user-end device mentioned above may also be performed by specific modules included in the user-end device. For example, referring to FIG4 , which is a schematic diagram of the architecture of a user-end device provided in an embodiment of the present application, the user-end device may include a traffic detector, a traffic model detector, and a bandwidth reporter. Among them, the traffic detector is used to detect the amount of data in normal mode and inert mode according to the sensitive window and the inert window respectively, and the traffic model detector is used to switch between inert mode and normal mode according to the amount of data detected by the traffic detector. The bandwidth reporter is used to determine whether bandwidth reporting is required and to determine the bandwidth reporting value based on the amount of data detected by the traffic detector. The bandwidth reporter is also used to determine whether bandwidth release is required and to determine the bandwidth release value based on the amount of data detected by the traffic detector. It should be noted that FIG4 is only an example and is not a specific limitation on the composition of the user-end device.
[0274] Based on the same concept as the above method, referring to FIG5 , a bandwidth demand processing device 500 is provided in an embodiment of the present application. The device 500 is used to execute the steps disclosed in the above method embodiments. To avoid repetition, they will not be described here. The device 500 includes: a processing unit 501 and a communication unit 502.
[0275] The processing unit 501 is configured to collect a first amount of data at a first frequency;
[0276] The processing unit 501 is further configured to count at least two second data amounts collected within at least two first time periods; the second data amount includes N first data amounts collected within a first time period at the first frequency; N is an integer greater than 1;
[0277] The processing unit 501 is further configured to determine a second frequency according to the first duration when a change between the at least two second data amounts is less than a set threshold; the first frequency is higher than the second frequency; wherein the set threshold is used to represent a degree of change in the data amount; and
[0278] The communication unit 502 is further configured to report the second bandwidth requirement value to the central office device according to the second frequency.
[0279] In some embodiments, the processing unit 501 is specifically configured to:
[0280] Obtain multiple preset candidate durations;
[0281] For any candidate duration, counting at least two second data amounts collected in at least two of the candidate durations; the second data amount includes multiple first data amounts collected at the first frequency in one of the candidate durations;
[0282] The processing unit 501 is further configured to:
[0283] Among the multiple candidate durations, determine the candidate duration with the smallest change between the at least two second data amounts as the first duration.
[0284] In some embodiments, the processing unit 501 is specifically configured to:
[0285] determining a first bandwidth requirement value according to a first data volume collected at the first frequency;
[0286] Report the first bandwidth requirement value to the central office device according to the first frequency.
[0287] In some embodiments, the processing unit 501 is specifically configured to:
[0288] When it is determined that the first data volume collected at the first frequency is increasing and the increase is greater than a first preset value, a first bandwidth requirement value is calculated based on the first data volume collected at the first frequency and the data volume stored in the cache.
[0289] In some embodiments, the processing unit 501, when determining the change between at least two second data amounts, is specifically configured to:
[0290] Determining an average value of the N first data amounts contained in each second data amount;
[0291] The variation between the at least two second data amounts is determined according to the degree of dispersion of the average values respectively determined for the at least two second data amounts.
[0292] In some embodiments, the processing unit 501 is further configured to collect a second amount of data according to the second frequency, and determine the second bandwidth requirement value based on the collected second amount of data;
[0293] The communication unit 502 is specifically configured to send the second bandwidth requirement value to the central office device according to a second frequency.
[0294] In some embodiments, the processing unit 501 is specifically configured to:
[0295] When it is determined that the multiple continuously collected second data amounts show an increasing trend and the growth rate is greater than the second preset value, the second bandwidth requirement value is determined according to the multiple continuously collected second data amounts and the data amount stored in the cache.
[0296] In some embodiments, the processing unit 501 is specifically configured to:
[0297] determining a first target data volume according to a peak value in the N first data volumes contained in each of the plurality of continuously collected second data volumes and a most recently collected second data volume among the plurality of continuously collected second data volumes;
[0298] When the amount of data stored in the cache is less than a first threshold, calculating the second bandwidth requirement value according to the first target data amount;
[0299] When the amount of data stored in the cache is not less than the first threshold, a second target data amount is determined according to the first target data amount and the amount of data stored in the cache; and the second bandwidth requirement value is calculated according to the second target data amount.
[0300] In some embodiments, the processing unit 501 is specifically configured to:
[0301] The first target data volume is determined using the following formula:
[0302] R1=αOB i +(1-α)OB t
[0303] Among them, R1 is the first target data volume, OB i is the average data volume of the second data volume collected most recently, OB t is the average value of the peak values of the first data amounts included in the plurality of second data amounts, and α is determined according to the number of first data amounts included in each second data amount that are larger than the average data amount of the second data amount.
[0304] In some embodiments, the processing unit 501 is specifically configured to:
[0305] The second target data volume is determined using the following formula:
[0306] Among them, R2 is the second target data volume, R1 is the first target data volume, B is the data volume stored in the cache, and n is a preset constant.
[0307] In some embodiments, the processing unit 501 is specifically configured to:
[0308] When the need for emergency reporting is determined based on the growth rate of the second data amounts collected twice adjacently and / or the amount of data stored in the cache, the second bandwidth requirement value is determined based on multiple continuously collected second data amounts and the amount of data stored in the cache.
[0309] In some embodiments, the processing unit 501 is specifically configured to generate an emergency bandwidth identifier when the growth rate of the most recently collected second data volume compared to the previously collected second data volume is greater than a third preset value, or when the result obtained by dividing the remaining storage space in the cache by the average data volume of the current first time period is less than a fourth preset value; and determine the second bandwidth requirement value based on multiple continuously collected second data volumes and the data volume stored in the cache;
[0310] The communication unit 502 is specifically configured to send the second bandwidth requirement value and the emergency bandwidth identifier to the central office device;
[0311] The emergency bandwidth identifier is used to instruct the central office device to allocate additional bandwidth to the user terminal device during the current data transmission period.
[0312] In some embodiments, when the growth rate of the latest collected second data volume compared to the second data volume collected previously is greater than the third preset value, the growth rate of the latest collected second data volume compared to the second data volume collected when the bandwidth demand was last reported is greater than the fifth preset value.
[0313] In some embodiments, when the growth rate of the most recently collected second data volume compared to the previously collected second data volume is greater than the third preset value, the proportion of the data volume stored in the cache exceeds the sixth preset value.
[0314] In some embodiments, the processing unit 501 is specifically configured to:
[0315] Calculating a third target data volume based on the most recently collected second data volume and the second data volume collected when the bandwidth requirement was most recently reported;
[0316] When the amount of data stored in the cache is less than a second threshold, determining the second bandwidth requirement value according to the third target data amount;
[0317] When the amount of data stored in the cache is not less than the second threshold, a fourth target data amount is determined according to the third target data amount and the amount of data stored in the cache; and the second bandwidth requirement value is determined according to the fourth target data amount.
[0318] In some embodiments, the processing unit 501 is further configured to:
[0319] The frequency of reporting bandwidth requirements to the central office device is switched from the second frequency to the first frequency.
[0320] In some embodiments, the processing unit 501 is further configured to collect the second data volume at the second frequency; when there is a periodic sudden increase in the second data volume within a preset time period, determine a third bandwidth requirement value based on each sudden increase in the second data volume, and determine an emergency bandwidth requirement time based on the duration of each sudden increase in the second data volume;
[0321] The communication unit 502 is further configured to send an emergency bandwidth identifier, the emergency bandwidth requirement time, and the third bandwidth requirement value to the central office device; wherein the emergency bandwidth identifier is configured to instruct the central office device to allocate additional bandwidth to the user terminal device during the current data transmission cycle.
[0322] In some embodiments, the processing unit 501 is further configured to:
[0323] collecting a second amount of data at the second frequency;
[0324] Calculating peak values of N first data amounts contained in each of a plurality of continuously collected second data amounts, and determining an average value of the calculated plurality of peak values;
[0325] When the ratio between the latest collected second data volume and the average value of the multiple peak values is greater than the seventh preset value, or the proportion of data stored in the cache exceeds the eighth preset value, the frequency of reporting bandwidth requirements to the local-end device will be switched from the second frequency to the first frequency.
[0326] In some embodiments, the processing unit 501 is further configured to collect a second data amount at the second frequency; when a decrease in the Q consecutively collected second data amounts exceeds a ninth preset value and the amount of data stored in the cache is less than a third threshold, determine a bandwidth release value based on the Q second data amounts;
[0327] The communication unit 502 is further used to send a bandwidth release request to the central office device; the bandwidth release request carries the bandwidth release value, and is used to request the central office device to release the bandwidth indicated by the bandwidth release value; the Q is an integer greater than 1, and the value of the Q is determined based on the number of bandwidth demands reported within a set time period.
[0328] In some embodiments, the processing unit 501 is specifically configured to:
[0329] Calculating an average value of the N first data amounts contained in each of the Q second data amounts;
[0330] Determine a fifth target data volume based on the Q calculated average values and the second data volume collected when the bandwidth requirement was most recently reported;
[0331] The bandwidth release value is determined according to the fifth target data volume.
[0332] In some embodiments, the processing unit 501 is specifically configured to:
[0333] In some embodiments, the fifth target data volume is determined using the following formula:
[0334] Among them, R i The is the fifth target data volume, LR is the average data volume of the second data volume collected when the bandwidth requirement value was reported most recently, is the average value of the average data amounts of the Q second data amounts, and k is a preset constant.
[0335] Based on the same concept as the above method, see Figure 6, a bandwidth demand processing device 600 is provided in an embodiment of the present application. The device 600 is used to implement the steps of processing the bandwidth demand from the user terminal device introduced in the embodiment of the above method. The device 600 includes: a communication unit 601 and a processing unit 602.
[0336] Communication unit 601 is configured to receive a second bandwidth requirement value reported by a user terminal device at a second frequency; wherein the second frequency is determined based on a first duration, and a change between at least two second data amounts collected within at least two of the first durations is less than a set threshold; the second data amount includes N first data amounts collected at the first frequency, where N is an integer greater than 1;
[0337] The processing unit 602 is configured to allocate bandwidth in a next data transmission cycle to the user terminal device according to the second bandwidth requirement value.
[0338] In some embodiments, the communication unit 601 is further configured to receive an emergency bandwidth identifier, the emergency bandwidth requirement time, and the third bandwidth requirement value from a user terminal device;
[0339] The processing unit 602 is further configured to allocate additional emergency bandwidth to the user terminal device in a current data transmission period according to the emergency bandwidth identifier and the third bandwidth requirement value, and determine a time to release the additional emergency bandwidth according to the emergency bandwidth requirement time.
[0340] In some embodiments, the communication unit 601 is further configured to:
[0341] A first bandwidth requirement value reported by the user terminal device according to a first frequency is received; the first bandwidth requirement value is determined according to a first data volume collected according to the first frequency.
[0342] In some embodiments, the communication unit 601 is further configured to receive a bandwidth release request from a user terminal device; the bandwidth release request carries a bandwidth release value; the bandwidth release value is determined based on the Q second data amounts continuously collected by the user terminal device when a decrease in the Q second data amounts exceeds a ninth preset value and the amount of data stored in the cache is less than a third threshold; Q is an integer greater than 1, and the value of Q is determined based on the number of bandwidth demands reported within a recently set time period;
[0343] The processing unit 602 is further configured to release the bandwidth indicated by the bandwidth release value allocated to the user terminal equipment.
[0344] FIG7 shows a bandwidth demand reporting system 700 provided in an embodiment of the present application. System 700 is used to implement the various method embodiments described above and specifically includes a user terminal device 701 and a central office device 702. For example, the steps performed by user terminal device 701 can be specifically referred to in the description of FIG5 , and the steps performed by central office device 702 can be specifically referred to in the description of FIG6 , wherein:
[0345] The user terminal device 701 is configured to collect a first amount of data at a first frequency;
[0346] The user terminal device 701 is further configured to count at least two second data amounts collected within at least two first time periods; the second data amount includes N first data amounts collected at the first frequency; N is an integer greater than 1;
[0347] The user terminal device 701 is further configured to determine a second frequency according to the first duration when a change between the at least two second data amounts is less than a set threshold;
[0348] The user terminal device 701 is further configured to report a second bandwidth requirement value to the central office device 702 according to a second frequency;
[0349] The central office device 702 is configured to receive a second bandwidth requirement value reported by the user terminal device 701 at a second frequency, and allocate bandwidth in a next data transmission cycle to the user terminal device 701 according to the second bandwidth requirement value.
[0350] Figure 8 shows a schematic diagram of the structure of an electronic device 800 provided in an embodiment of the present application. The electronic device 800 in the embodiment of the present application may further include a communication interface 803, such as a network port, through which the electronic device can transmit data. For example, the communication interface 803 can implement the functions of the communication unit 502 described in Figure 5 or the communication unit 601 described in Figure 6.
[0351] In an embodiment of the present application, the memory 802 stores instructions that can be executed by at least one controller 801. At least one controller 801 can be used to execute the various steps in the above method by executing the instructions stored in the memory 802. For example, the controller 801 can implement the functions of the processing unit 501 in Figure 5 or the processing unit 602 in Figure 6.
[0352] The controller 801 is the control center of the electronic device, and can connect various parts of the entire electronic device using various interfaces and lines, running or executing instructions stored in the memory 802 and calling data stored in the memory 802. Optionally, the controller 801 may include one or more processing units. The controller 801 may integrate an application controller and a modem controller, wherein the application controller mainly processes the operating system and application programs, and the modem controller mainly processes wireless communications. It is understood that the modem controller may not be integrated into the controller 801. In some embodiments, the controller 801 and the memory 802 may be implemented on the same chip. In some embodiments, they may also be implemented on separate chips.
[0353] The controller 801 can be a general controller, such as a central processing unit (CPU), a digital signal controller, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general controller can be a microcontroller or any conventional controller, etc. The step of adjusting the bandwidth of the data transmission channel during data transmission disclosed in the embodiments of the present application can be directly executed by the hardware controller, or can be executed by a combination of hardware and software modules in the controller.
[0354] The memory 802 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 802 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (RAM), a static random access memory (SRAM), a programmable read-only memory (PROM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory 802 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 802 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0355] By designing and programming the controller 801, for example, the code corresponding to the method introduced in the aforementioned embodiment can be solidified into the chip, so that the chip can execute the steps of the aforementioned method during operation. How to design and program the controller 801 is a technology well known to those skilled in the art and will not be repeated here.
[0356] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0357] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram, as well as the combination of the flow processes and / or boxes in the flow chart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a controller of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the controller of the computer or other programmable data processing device produce a device for implementing the function specified in one or more flow processes in the flow chart and / or one or more boxes in the block diagram.
[0358] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0359] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0360] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present application.
[0361] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.
Claims
1. A method for processing bandwidth requirements, the method comprising: Collecting a first amount of data at a first frequency; Counting at least two second data amounts collected within the first time period; The second data volume includes a plurality of first data volumes collected at the first frequency within the first time period; as well as When the change between the at least two second data amounts is less than a set threshold, a second frequency is determined according to the first duration and a second bandwidth requirement value is sent according to the second frequency; the first frequency is higher than the second frequency; wherein the set threshold is used to characterize the degree of change in the data amount.
2. The method according to claim 1, wherein: Before counting the at least two second data amounts collected within the first time period, the method further includes: Obtaining multiple preset candidate durations; For any candidate duration, counting at least two second data amounts collected within the any candidate duration, where the second data amount includes a plurality of first data amounts collected within the any candidate duration according to the first frequency; Among the multiple candidate durations, determine the candidate duration with the smallest change between the at least two second data amounts as the first duration.
3. The method according to claim 1 or 2, wherein: In a case where the variation between the at least two second data amounts is not less than a set threshold, the method further includes: Determining a first bandwidth requirement value according to the first data volume; and The first bandwidth requirement value is sent according to the first frequency.
4. The method according to claim 3, wherein: The determining a first bandwidth requirement value according to the first data volume includes: When the first data volume shows an increasing trend and the increase is greater than a first preset value, the first bandwidth requirement value is determined according to the first data volume and the data volume stored in the cache.
5. The method according to claim 1 or 2, wherein: The variation between the at least two second data amounts is determined in the following manner: determining an average value of a plurality of first data amounts contained in each second data amount; and The variation between the at least two second data amounts is determined according to the discreteness of the average values respectively determined for the at least two second data amounts.
6. The method according to claim 1 or 2, wherein: Sending the second bandwidth requirement value according to the second frequency includes: collecting a second amount of data at the second frequency, and determining the second bandwidth requirement value according to the collected second amount of data; and The second bandwidth requirement value is sent according to a second frequency.
7. The method according to claim 6, wherein: The determining the second bandwidth requirement value according to the collected second data volume includes: When it is determined that the multiple second data amounts collected continuously show an increasing trend and the increase is greater than a second preset value, the second bandwidth requirement value is determined according to the multiple second data amounts collected continuously and the data amount stored in the cache.
8. The method according to claim 7, wherein: The determining the second bandwidth requirement value according to the multiple second data amounts collected continuously and the amount of data stored in the cache includes: Determine a first target data volume according to a peak value among a plurality of first data volumes contained in each of the plurality of second data volumes collected continuously and a second data volume collected most recently among the plurality of second data volumes collected continuously; When the amount of data stored in the cache is less than a first threshold, calculating the second bandwidth requirement value according to the first target data amount; and When the amount of data stored in the cache is not less than the first threshold, a second target data amount is determined according to the first target data amount and the amount of data stored in the cache; and the second bandwidth requirement value is calculated according to the second target data amount.
9. The method according to claim 6, wherein: The determining the second bandwidth requirement value according to the collected second data volume includes: When it is determined that emergency reporting is required based on the growth rate of two adjacent collected second data volumes and / or the amount of data stored in the cache, the second bandwidth requirement value is determined based on multiple continuously collected second data volumes and the amount of data stored in the cache.
10. The method according to claim 9, wherein: The determining the second bandwidth requirement value according to the collected second data volume includes: An emergency bandwidth identifier is generated when the following conditions are met: The growth rate of the second data amount collected the most recently compared to the second data amount collected the last time is greater than the third preset value, and the proportion of the data amount stored in the cache exceeds the sixth preset value; or The result obtained by dividing the remaining storage space in the cache by the average data volume of the second data volume most recently collected is less than a fourth preset value; or, The growth rate of the second data amount collected the most recently compared to the second data amount collected when the bandwidth demand was last reported is greater than the fifth preset value, and the growth rate of the second data amount collected the most recently compared to the second data amount collected the most recently is greater than the third preset value; or, The amount of data stored in the cache accounts for a proportion exceeding a sixth preset value; and The second bandwidth requirement value is determined according to a plurality of continuously collected second data amounts and the amount of data stored in the cache.
11. The method according to claim 10, wherein: The sending the second bandwidth requirement value according to the second frequency includes: Sending the second bandwidth requirement value and the emergency bandwidth identifier to the central office device; The emergency bandwidth identifier is used to instruct the central office device to allocate additional bandwidth to the user terminal device during the current data transmission period.
12. The method according to claim 10 or 11, wherein: The determining the second bandwidth requirement value according to the plurality of continuously collected second data amounts and the amount of data stored in the cache includes: Calculate a third target data volume according to the most recently collected second data volume and the second data volume collected when the bandwidth requirement was last reported; When the amount of data stored in the cache is less than a second threshold, determining the second bandwidth requirement value according to the third target data amount; and When the amount of data stored in the cache is not less than the second threshold, a fourth target data amount is determined according to the third target data amount and the amount of data stored in the cache; and the second bandwidth requirement value is determined according to the fourth target data amount.
13. The method according to claim 10 or 11, wherein: After sending the second bandwidth requirement value and the emergency bandwidth identifier to the central office device, the method further includes: The frequency of sending the bandwidth request to the central office device is switched from the second frequency to the first frequency.
14. The method according to claim 1 or 2, wherein: After determining the second frequency according to the first duration, the method further includes: collecting a second amount of data according to the second frequency; When there is a periodic sudden increase in the second data volume within a preset time period, determining a third bandwidth requirement value according to each sudden increase in the second data volume, and determining an emergency bandwidth requirement time according to the duration of each sudden increase in the second data volume; and An emergency bandwidth identifier, the emergency bandwidth requirement time, and the third bandwidth requirement value are sent to the central office device; wherein the emergency bandwidth identifier is used to instruct the central office device to allocate additional bandwidth to the user terminal device in the current data transmission cycle.
15. The method according to claim 1 or 2, wherein: After reporting the bandwidth requirement to the central office device according to the second frequency, the method further includes: collecting a second amount of data according to the second frequency; Calculating peak values of a plurality of first data amounts contained in each of a plurality of second data amounts collected continuously, and determining an average value of the calculated plurality of peak values; and When the ratio of the latest collected second data volume to the average value of the multiple peak values is greater than the seventh preset value, or the proportion of data stored in the cache exceeds the eighth preset value, the frequency of reporting bandwidth requirements to the local device will be switched from the second frequency to the first frequency.
16. The method according to claim 1 or 2, wherein: After determining the second frequency according to the first duration, the method further includes: collecting a second amount of data according to the second frequency; When the decrease range of the multiple second data amounts collected continuously exceeds a ninth preset value, and / or the amount of data stored in the cache is less than a third threshold, determining a bandwidth release value according to the multiple second data amounts; and Send a bandwidth release request to the central office device; the bandwidth release request carries the bandwidth release value, which is used to request the central office device to The bandwidth indicated by the bandwidth release value is released.
17. The method according to claim 16, wherein: The determining of the bandwidth release value according to the multiple second data amounts includes: Calculating an average value of a plurality of first data amounts contained in each of the plurality of second data amounts; Determining a fifth target data volume according to the calculated multiple average values and the second data volume collected when the bandwidth requirement was most recently reported; and The bandwidth release value is determined according to the fifth target data volume.
18. A method for processing bandwidth requirements, the method comprising: Receiving a second bandwidth requirement value sent by a user terminal device at a second frequency; wherein the second frequency is determined according to a first duration, and a change between at least two second data amounts collected within the first duration is less than a set threshold; and the second data amount includes a plurality of first data amounts collected at the first frequency within the first duration; and The bandwidth in the next data transmission cycle is allocated to the user terminal device according to the second bandwidth requirement value.
19. The method according to claim 18, wherein: After allocating bandwidth in the next data transmission cycle to the user terminal device according to the second bandwidth requirement value, the method further includes: receiving an emergency bandwidth identifier, an emergency bandwidth requirement time, and the third bandwidth requirement value from a user terminal device; and According to the emergency bandwidth identifier and the third bandwidth requirement value, additional emergency bandwidth is allocated to the user terminal device in a current data transmission cycle, and according to the emergency bandwidth requirement time, a time for releasing the additional emergency bandwidth is determined.
20. The method according to claim 18 or 19, wherein: Before receiving the second bandwidth requirement value reported by the user terminal device according to the second frequency, the method further includes: A first bandwidth requirement value sent by the user terminal device according to a first frequency is received; the first bandwidth requirement value is determined according to a first data volume collected according to the first frequency.
21. The method according to claim 18 or 19, wherein: After allocating bandwidth in the next data transmission cycle to the user terminal device according to the second bandwidth requirement value, the method further includes: receiving a bandwidth release request from a user terminal device; the bandwidth release request carries a bandwidth release value; the bandwidth release value is determined according to the multiple second data amounts when a decrease in a plurality of second data amounts continuously collected by the user terminal device exceeds a ninth preset value and / or the amount of data stored in the cache is less than a third threshold; and The bandwidth indicated by the bandwidth release value allocated to the user terminal equipment is released.
22. A bandwidth demand processing device, the device being a user terminal device, or the device being applied to the user terminal device, the device comprising: a processing unit configured to collect a first amount of data at a first frequency; It is also configured to count at least two second data volumes collected within a first time period; the second data volume includes multiple first data volumes collected at the first frequency within a first time period; it is also configured to determine the second frequency according to the first time period when the change between the at least two second data volumes is less than a set threshold; the first frequency is higher than the second frequency; wherein the set threshold is used to characterize the degree of change in the data volume; as well as The communication unit is configured to send the second bandwidth requirement value according to the second frequency.
23. A bandwidth demand processing device, the device being a central office device, or the device being applied to the central office device, the device comprising: A communication unit, configured to receive a second bandwidth requirement value sent by a user terminal device according to a second frequency; wherein the second frequency is determined according to a first duration, and a change between at least two second data amounts collected within the first duration is less than a set threshold; the second data amount includes a plurality of first data amounts collected within the first duration according to the first frequency; and the second bandwidth requirement value is determined according to the second data amount; and The processing unit is configured to allocate bandwidth in a next data transmission cycle to the user terminal device according to the second bandwidth demand value.
24. An electronic device, comprising a controller and a memory, The memory is used to store computer programs or instructions; and The controller is used to execute the computer program or instructions in the memory so that the method described in any one of claims 1 to 17 or any one of claims 18 to 21 is executed.
25. A computer-readable storage medium storing computer-executable instructions, wherein when the computer-executable instructions are called by a computer, the computer executes the method according to any one of claims 1 to 17 or any one of claims 18 to 21.
Citation Information
Patent Citations
Internet-of-Things communication data topology method and system for reducing data acquisition terminals
CN111800503A
Data acquisition method, device and equipment and readable storage medium
CN115333964A
Data acquisition method and equipment
CN116668311A
Enabling additional metrics in a monitoring system to diagnose problems
US20180241649A1