WO2019128430A1 - Method, apparatus and device for determining bandwidth, and storage medium - Google Patents

Method, apparatus and device for determining bandwidth, and storage medium Download PDF

Info

Publication number
WO2019128430A1
WO2019128430A1 PCT/CN2018/111960 CN2018111960W WO2019128430A1 WO 2019128430 A1 WO2019128430 A1 WO 2019128430A1 CN 2018111960 W CN2018111960 W CN 2018111960W WO 2019128430 A1 WO2019128430 A1 WO 2019128430A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
bandwidth
receiving
data
time difference
Prior art date
Application number
PCT/CN2018/111960
Other languages
French (fr)
Chinese (zh)
Inventor
施剑峰
潘亚东
李奎
Original Assignee
杭州海康威视系统技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州海康威视系统技术有限公司 filed Critical 杭州海康威视系统技术有限公司
Publication of WO2019128430A1 publication Critical patent/WO2019128430A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control

Definitions

  • the embodiments of the present invention relate to the field of network technologies, and in particular, to a bandwidth determining method, apparatus, device, and storage medium.
  • the process of transmitting data between the sender and the receiver is affected by the bit rate and bandwidth.
  • the code rate refers to the number of data bits transmitted by the sender in a unit time.
  • the bandwidth refers to the actual time between the sender and the receiver. The number of data bits transferred.
  • the code rate is set too small and the code rate is less than the bandwidth, the bandwidth utilization is small, which causes waste of network resources. If the code rate is set too large and the code rate is greater than the bandwidth, the normal transmission of data will be affected. As long as the bandwidth between the sender and the receiver is determined and the code rate is properly set, the bandwidth utilization can be improved as much as possible while ensuring normal data transmission.
  • the transmitting end obtains a real-time data transmission rate by calculating a quotient between the amount of transmitted data of the service data and the scheduling period of the scheduling frame, and uses the data transmission rate as a real-time bandwidth.
  • the related technology has at least the following defects: in the case that the code rate set by the transmitting end is fixed, the data transmission rate monitored by the transmitting end is fixed, so the above calculation bandwidth is calculated according to the data transmission rate. The method is actually affected by the code rate and cannot calculate the exact bandwidth.
  • the embodiment of the present application provides a bandwidth determining method, device, device, and storage medium, which can solve the problem that an accurate bandwidth cannot be calculated.
  • the technical solution is as follows:
  • a method for determining a bandwidth comprising:
  • each data packet sent by the sending end includes a sequence identifier, where the sequence identifier is used to indicate a sending sequence of the data packet, after the receiving the first data packet and the second data packet,
  • the method further includes:
  • the calculating a time difference between the receiving of the second data packet and the first data packet includes:
  • a time difference between the first time point and the second time point is calculated.
  • determining, according to the calculated predicted bandwidth, a bandwidth between the sending end and the receiving end including:
  • the method further includes:
  • a bandwidth determining apparatus comprising:
  • a receiving module configured to receive the first data packet and the second data packet
  • a time difference calculation module configured to calculate, when the first data packet and the second data packet are continuously sent by the transmitting end, a time difference of receiving the second data packet and the first data packet, where the receiving time difference is Means for indicating the length of time that the receiving end receives the second data packet;
  • a bandwidth calculation module configured to calculate a quotient between a data length of the second data packet and the received time difference as a predicted bandwidth
  • the bandwidth calculation module is configured to determine a bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
  • each data packet sent by the sending end includes a sequence identifier, where the sequence identifier is used to indicate a sending sequence of the data packet, and the device further includes:
  • a determining module configured to: when determining that the sequence identifier of the second data packet is the next sequential identifier of the sequential identifier of the first data packet, determining that the first data packet and the second data packet are The sender sends continuously.
  • the time difference calculation module includes:
  • a first acquiring unit configured to use a time point when the first data packet is received as a first time point
  • a second acquiring unit configured to use a time point when the second data packet is received as a second time point
  • a time difference obtaining unit configured to calculate a time difference between the first time point and the second time point.
  • the bandwidth calculation module includes:
  • a prediction bandwidth unit configured to obtain the calculated plurality of prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the sending end within a preset duration;
  • a statistical unit configured to calculate a statistical value of the multiple predicted bandwidths, as a bandwidth between the transmitting end and the receiving end.
  • the device further includes:
  • a sending module configured to send the bandwidth to the sending end, where the sending end sets a code rate that matches the bandwidth, and sends data to the receiving end according to the set code rate.
  • a receiving device comprising a processor and a memory, the memory storing at least one instruction loaded by the processor and executed to:
  • each data packet sent by the sending device includes a sequence identifier, where the sequence identifier is used to indicate a sending order of the data packet, and the instruction is loaded and executed by the processor to implement the following operating:
  • the instructions are loaded and executed by the processor to:
  • a time difference between the first time point and the second time point is calculated.
  • the instructions are loaded and executed by the processor to:
  • the instructions are loaded and executed by the processor to:
  • a computer readable storage medium having stored therein at least one instruction loaded by a processor and executed to implement the bandwidth determination method as described operating.
  • the method, the device, the device, and the storage medium provided by the embodiments of the present application calculate the receiving time difference between two data packets by using two data packets continuously sent by the transmitting end, and the receiving time difference indicates that the receiving end receives the second data packet.
  • the elapsed time is calculated by calculating the quotient between the data length of the second data packet and the reception time difference as the predicted bandwidth, thereby determining the bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
  • the receiving end can accurately determine the length of time taken by the process of receiving the second data packet, thereby calculating the data length and the cost according to the second data packet.
  • the length of time calculates the accurate bandwidth, improves the calculation accuracy, and sets the matching code rate according to the calculated bandwidth, which can improve the bandwidth utilization as much as possible while ensuring normal data transmission.
  • the embodiment of the present application is applied to the real-time data stream transmission process, and the bandwidth can be directly calculated without detecting the adjustment rate of the code rate, so that the code rate can be adjusted in real time, and a better real-time data stream playback effect can be achieved.
  • the sequence identifier is carried in the data packet, and the order of sending the data packet is indicated by the sequence identifier, and the continuously transmitted data packet can be determined intuitively and quickly, thereby speeding up the calculation. Even if the order of the data packets received by the receiving end is inconsistent with the order of the data packets sent by the transmitting end, it can ensure that the determined continuously transmitted data packets are correct, and the situation that the data packet sequence is disordered is avoided.
  • FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application.
  • FIG. 2 is a flowchart of a method for determining a bandwidth provided by an embodiment of the present application
  • FIG. 3 is a flowchart of a method for determining a bandwidth provided by an embodiment of the present application
  • FIG. 4 is a schematic diagram of a sending data packet according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a bandwidth determining apparatus according to an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a terminal according to an embodiment of the present disclosure.
  • the implementation environment includes: a sending device 101 and a receiving device 102.
  • the sending device 101 and the receiving device 102 are connected through a wired network or a wireless network, and the sending device 101 Data is transmitted to the receiving device 102.
  • the transmitting device 101 determines the number of data bits transmitted per unit time according to the set code rate, thereby providing data to the receiving device 102 in accordance with the code rate. If the bandwidth between the sending device 101 and the receiving device 102 is greater than the code rate, that is, the number of data bits actually sent in a unit time is greater than the code rate, the data provided by the sending device 101 is less than the actually transmitted data, and the bandwidth is utilized. The rate is small. If the bandwidth between the sending device 101 and the receiving device 102 is less than the code rate, that is, the number of data bits actually sent in a unit time is less than the code rate, the sending device 101 may provide more data than the actual data, resulting in data failure. Normal transmission.
  • the sending device 101 is a server
  • the receiving device 102 is a terminal.
  • the server sends video data to the terminal in real time. Play video data.
  • the sending device 101 is a storage server
  • the receiving device 102 is a service server
  • the sending device 101 sends service data to the receiving device 102
  • the receiving device 102 performs the service data according to the data.
  • the transmitting device 101 is a base station
  • the receiving device 102 is a user equipment
  • the base station transmits data to the user equipment.
  • the sending device 101 serves as a transmitting end
  • the receiving device 102 serves as a receiving end
  • the transmitting end sends data to the receiving end.
  • the receiving end determines the method between the sending end and the receiving end by using the method provided in this embodiment of the present application. Bandwidth.
  • FIG. 2 is a flowchart of a method for determining a bandwidth provided by an embodiment of the present application.
  • the execution body of the embodiment of the present application is a receiving end. Referring to FIG. 2, the method includes:
  • the method provided by the embodiment of the present application calculates the time difference of receiving two data packets by using two data packets continuously sent by the transmitting end, and calculates the time length of the process of receiving the second data packet by the receiving end, and then calculates The quotient between the data length of the second data packet and the reception time difference is used as the prediction bandwidth, thereby determining the bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
  • the receiving end can accurately determine the length of time taken by the process of receiving the second data packet, thereby calculating the data length and the cost according to the second data packet.
  • the length of time calculates the accurate bandwidth, improves the calculation accuracy, and sets the matching code rate according to the calculated bandwidth, which can improve the bandwidth utilization as much as possible while ensuring normal data transmission.
  • FIG. 3 is a flowchart of a method for determining a bandwidth provided by an embodiment of the present application.
  • the interaction body of the embodiment of the present application is a receiving end and a sending end. Referring to FIG. 3, the method includes:
  • the sending end sends multiple data packets to the receiving end.
  • the transmitting end can set a code rate, and the code rate determines the number of data bits transmitted in a unit time, and the transmitting end provides data according to the set code rate and sends the data to the receiving end.
  • the bandwidth determines the number of data bits actually transmitted in a unit time.
  • the receiving end receives the data packet, and the receiving end can calculate the bandwidth between the transmitting end and the receiving end according to the actual data receiving situation.
  • the sending end When the sending end sends data to the receiving end, the data to be sent generates multiple data packets, which are sequentially sent to the receiving end, and the receiving end sequentially receives the multiple data packets, thereby obtaining the data sent by the transmitting end.
  • the data may include various types such as audio data, video data, and image data.
  • the transmitting end generates a plurality of video data packets in the video data, and sends the video data packets to the receiving end.
  • the receiving end parses and processes each received video data packet, and then plays the video.
  • each data packet may include a sequence identifier, where the sequence identifier is used to indicate the sending order of the data packet.
  • Different order identifiers have a sequential order, and the order in which the data packets are sent can be determined according to the order of the data packets.
  • the order identifier of the first packet may be 1, and the order identifier of the second packet may be 2.
  • the sequence identifier can be located in a fixed field of the data packet, which can be located in the data header or data body. In the subsequent process, when the receiving end receives the data packet, it can extract the sequence identifier of the data packet from the fixed field of the data packet.
  • the receiving end receives the first data packet and the second data packet.
  • the first data packet and the second data packet received by the receiving end are taken as an example, and the second data packet is a data packet received after the first data packet, because at the sending end, the second data packet After the first data packet is sent, the receiving end first receives the first data packet, and when the first data packet is received, the second data packet is continuously received.
  • the receiving end determines that the first data packet and the second data packet are continuously sent by the sending end, calculate a receiving time difference between the second data packet and the first data packet.
  • the receiving end receives multiple data packets sent by the sending end. At this time, according to the order of receiving the data packets, it is determined that the continuously received data packets are the data packets continuously sent by the transmitting end.
  • the sequence identifier is included in each data packet, and the receiving end acquires the sequence identifier of the first data packet and the sequence identifier of the second data packet, and compares the two, when determining the second When the sequence identifier of the data packet is the next sequential identifier of the sequence identifier of the first data packet, it is determined that the first data packet and the second data packet are continuously transmitted by the transmitting end.
  • the sequence identifier is carried in the data packet, and the order of sending the data packet is indicated by the sequence identifier.
  • the sequential identification is used to identify the continuously transmitted data packet, and the continuously transmitted data packet can be determined intuitively and quickly, thereby speeding up the calculation. Even if the order of the data packets received by the receiving end is inconsistent with the order of the data packets sent by the transmitting end, it can ensure that the determined continuously transmitted data packets are correct, and the situation that the data packet sequence is disordered is avoided.
  • the receiving time difference between the second data packet and the first data packet is calculated, and the receiving time difference is that the receiving end receives the first data packet and starts receiving the second data.
  • the time difference between the time point of the packet and the time point at which the second data packet is received may indicate the length of time taken by the receiving end to receive the second data packet.
  • the receiving end when receiving the data packet, records the time point when the receiving of each data packet is completed, and then the time point when the first data packet is received is taken as the first time point, and the second data packet is received. The time point is used as the second time point, and the time difference between the first time point and the second time point is calculated. Since the second data packet is received after the first data packet, that is, at the first time point, the receiving end receives the first data packet and starts receiving the second data packet, and at the second time, the receiving terminal receives the second data. The package is complete. Therefore, the time difference between the first time point and the second time point is the length of time taken by the receiving end to receive the second data packet.
  • the receiving end calculates a quotient between a data length of the second data packet and a receiving time difference as a predicted bandwidth.
  • the actual number of data bits transmitted per unit time is the bandwidth
  • the data length of the second data packet is different from the receiving time.
  • the quotient between the two represents the number of data bits actually transmitted in a unit time, so the quotient between the data length of the second data packet and the reception time difference can be used as the predicted bandwidth.
  • the transmitting end continuously transmits the data packet A and the data packet B, and the receiving end first receives the data packet A, and then receives the data packet B, and calculates the receiving time difference T of the two data packets, and the predicted bandwidth is the data packet B.
  • the receiving end acquires the calculated multiple predicted bandwidths, and calculates a statistical value of the multiple predicted bandwidths, as the bandwidth between the transmitting end and the receiving end.
  • the multiple predicted bandwidths are respectively calculated according to data packets continuously sent by the transmitting end within a preset duration.
  • the receiving end uses the preset duration as a period. In each period, the foregoing steps 301-304 are repeatedly performed according to the plurality of data packets continuously sent by the transmitting end, so that any two consecutively transmitted data packets are grouped according to multiple groups.
  • the data packet calculates a plurality of predicted bandwidths, and performs statistics on the plurality of predicted bandwidths, and determines a statistical value of the plurality of predicted bandwidths as a bandwidth between the transmitting end and the receiving end.
  • the statistic value may be an average of multiple prediction bandwidths, or may be a weighted average of multiple prediction bandwidths, and the weight of each prediction bandwidth may be determined according to the calculation time of the prediction bandwidth, and the later the reception in the current period.
  • the weight of each predicted bandwidth may also be determined according to the variance of the predicted bandwidth, and the variance of each predicted bandwidth is calculated according to the multiple predicted bandwidths, and the weight of the predicted bandwidth with a larger variance is set to a lower weight, thereby reducing the weight. The effect of accidental network fluctuations on the calculation results.
  • the manner of calculating the bandwidth in the foregoing step 305 is optional.
  • the receiving end may not perform step 305.
  • the prediction bandwidth may be directly determined as the between the transmitting end and the receiving end. bandwidth.
  • the statistics are calculated according to the calculated multiple predicted bandwidths, so that a more accurate bandwidth can be obtained, and the influence of occasional network fluctuations on the bandwidth is avoided. Increased accuracy.
  • the receiving end sends the calculated bandwidth to the sending end.
  • the sending end receives the bandwidth sent by the receiving end, and sets a code rate that matches the bandwidth.
  • the sender receives the bandwidth calculated by the receiver and compares the bandwidth with the set maximum code rate. When the calculated bandwidth is not greater than the set maximum code rate, the transmitting end sets the code rate to be equal to the bandwidth, so that the bandwidth resource can be fully utilized. When the calculated bandwidth is greater than the set maximum code rate, the transmitting end sets the code rate to the maximum code rate, thereby improving the bandwidth utilization as much as possible while ensuring normal data transmission.
  • the transmitting end can accurately determine the current bandwidth, and how much is more than the code rate, so the code rate can be increased at one time without the need to adjust the detection rate.
  • the amplitude is set to match the bandwidth, and the data is continuously sent to the receiving end according to the adjusted code rate, thereby ensuring normal data transmission in the subsequent process, and also improving bandwidth utilization.
  • the period may be divided according to a preset duration, and the bandwidth is calculated according to multiple data packets continuously transmitted in each period, and the matched code rate is set according to the bandwidth, and continuously Calculating the bandwidth and adjusting the code rate can be adjusted according to the actual network conditions in time to improve the data transmission effect.
  • the method provided by the embodiment of the present application calculates the time difference of receiving two data packets by using two data packets continuously sent by the transmitting end, and calculates the time length of the process of receiving the second data packet by the receiving end, and then calculates The quotient between the data length of the second data packet and the reception time difference is used as the prediction bandwidth, thereby determining the bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
  • the receiving end can accurately determine the length of time taken by the process of receiving the second data packet, thereby calculating the data length and the cost according to the second data packet.
  • the length of time calculates the accurate bandwidth, improves the calculation accuracy, and sets the matching code rate according to the calculated bandwidth, which can improve the bandwidth utilization as much as possible while ensuring normal data transmission.
  • the bandwidth is gradually detected in a stepwise manner, and the embodiment of the present application is applied to the real-time data stream transmission process, and the bandwidth can be directly calculated without detecting the adjustment rate of the code rate, thereby adjusting the code in real time. Rate, can achieve better real-time data stream playback.
  • the sequence identifier is carried in the data packet, and the order of sending the data packet is indicated by the sequence identifier, so that the continuously transmitted data packet can be determined intuitively and quickly, and the calculation speed is accelerated. Even if the order of the data packets received by the receiving end is inconsistent with the order of the data packets sent by the transmitting end, it can ensure that the determined continuously transmitted data packets are correct, and the situation that the data packet sequence is disordered is avoided.
  • FIG. 5 is a schematic structural diagram of a bandwidth determining apparatus according to an embodiment of the present application.
  • the device includes:
  • the receiving module 501 is configured to receive the first data packet and the second data packet.
  • the time difference calculation module 502 is configured to: when determining that the first data packet and the second data packet are continuously sent by the transmitting end, calculate a receiving time difference between the second data packet and the first data packet, where the receiving time difference is used to indicate that the receiving end receives the second data The length of time it takes for the package process;
  • a bandwidth calculation module 503 configured to calculate a quotient between a data length of the second data packet and a reception time difference as a predicted bandwidth
  • the bandwidth calculation module 503 is further configured to determine a bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
  • each data packet sent by the sending end includes a sequence identifier, and the sequence identifier is used to indicate a sending sequence of the data packet, and the device further includes:
  • a determining module configured to: when determining that the sequence identifier of the second data packet is the next sequential identifier of the sequence identifier of the first data packet, determining that the first data packet and the second data packet are continuously sent by the sending end.
  • the time difference calculation module 502 includes:
  • a first acquiring unit configured to use a time point when the first data packet is received as a first time point
  • a second acquiring unit configured to use a time point when the second data packet is received as a second time point
  • the time difference obtaining unit is configured to calculate a time difference between the first time point and the second time point.
  • the bandwidth calculation module 503 includes:
  • a prediction bandwidth unit configured to obtain a plurality of calculated prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the transmitting end within a preset duration;
  • a statistical unit is configured to calculate a statistical value of multiple predicted bandwidths as a bandwidth between the transmitting end and the receiving end.
  • the device further includes:
  • the sending module is configured to send a bandwidth to the sending end, and the sending end sets a code rate that matches the bandwidth, and sends data to the receiving end according to the set code rate.
  • the bandwidth determining apparatus when calculating the bandwidth between the transmitting end and the receiving end, only exemplifies the division of each functional module. In actual applications, the foregoing function may be allocated according to requirements. It is completed by different functional modules, that is, the internal structure of the receiving end is divided into different functional modules to complete all or part of the functions described above.
  • the bandwidth determining apparatus and the bandwidth determining method embodiment provided by the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
  • FIG. 6 is a structural block diagram of a terminal 600 according to an exemplary embodiment of the present application.
  • the terminal 600 may be configured to perform the steps performed by the receiving end in the foregoing bandwidth determining method.
  • the terminal 600 can be a portable mobile terminal, such as a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III), and a MP4 (Moving Picture Experts Group Audio Layer IV). Image experts compress standard audio layers 4) players, laptops or desktops.
  • Terminal 600 may also be referred to as a user device, a portable terminal, a laptop terminal, a desktop terminal, and the like.
  • the terminal 600 includes a processor 601 and a memory 602.
  • Processor 601 can include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like.
  • the processor 601 may be configured by at least one of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). achieve.
  • the processor 601 may also include a main processor and a coprocessor.
  • the main processor is a processor for processing data in an awake state, which is also called a CPU (Central Processing Unit); the coprocessor is A low-power processor for processing data in standby.
  • the processor 601 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and rendering of the content that the display needs to display.
  • the processor 601 may also include an AI (Artificial Intelligence) processor for processing computational operations related to machine learning.
  • AI Artificial Intelligence
  • Memory 602 can include one or more computer readable storage media, which can be non-transitory. Memory 602 can also include high speed random access memory, as well as non-volatile memory, such as one or more disk storage devices, flash storage devices. In some embodiments, the non-transitory computer readable storage medium in memory 602 is for storing at least one instruction for execution by processor 601 to implement the bandwidth determination provided by the method embodiments of the present application. method.
  • the terminal 600 optionally further includes: a peripheral device interface 603 and at least one peripheral device.
  • the processor 601, the memory 602, and the peripheral device interface 603 can be connected by a bus or a signal line.
  • Each peripheral device can be connected to the peripheral device interface 603 via a bus, signal line or circuit board.
  • the peripheral device includes at least one of a radio frequency circuit 604, a touch display screen 605, a camera 606, an audio circuit 607, a positioning component 608, and a power source 609.
  • the peripheral device interface 603 can be used to connect at least one peripheral device associated with an I/O (Input/Output) to the processor 601 and the memory 602.
  • processor 601, memory 602, and peripheral interface 603 are integrated on the same chip or circuit board; in some other embodiments, any of processor 601, memory 602, and peripheral interface 603 or The two can be implemented on a separate chip or circuit board, which is not limited in this embodiment.
  • the RF circuit 604 is configured to receive and transmit an RF (Radio Frequency) signal, also referred to as an electromagnetic signal.
  • Radio frequency circuit 604 communicates with the communication network and other communication devices via electromagnetic signals.
  • the RF circuit 604 converts the electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal.
  • the radio frequency circuit 604 includes an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and the like.
  • Radio frequency circuitry 604 can communicate with other terminals via at least one wireless communication protocol.
  • the wireless communication protocols include, but are not limited to, the World Wide Web, a metropolitan area network, an intranet, generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and/or WiFi (Wireless Fidelity) networks.
  • the radio frequency circuit 604 may also include a circuit related to NFC (Near Field Communication), which is not limited in this application.
  • the display screen 605 is used to display a UI (User Interface).
  • the UI can include graphics, text, icons, video, and any combination thereof.
  • display 605 is a touch display
  • display 605 also has the ability to capture touch signals over the surface or surface of display 605.
  • the touch signal can be input to the processor 601 as a control signal for processing.
  • the display screen 605 can also be used to provide virtual buttons and/or virtual keyboards, also referred to as soft buttons and/or soft keyboards.
  • Camera component 606 is used to capture images or video.
  • camera assembly 606 includes a front camera and a rear camera.
  • the front camera is placed on the front panel of the terminal, and the rear camera is placed on the back of the terminal.
  • the rear camera is at least two, which are respectively a main camera, a depth camera, a wide-angle camera, and a telephoto camera, so as to realize the background blur function of the main camera and the depth camera, and the main camera Combine with a wide-angle camera for panoramic shooting and VR (Virtual Reality) shooting or other integrated shooting functions.
  • camera assembly 606 can also include a flash.
  • the flash can be a monochrome temperature flash or a two-color temperature flash.
  • the two-color temperature flash is a combination of a warm flash and a cool flash that can be used for light compensation at different color temperatures.
  • the audio circuit 607 can include a microphone and a speaker.
  • the microphone is used to collect sound waves of the user and the environment, and convert the sound waves into electrical signals for processing to the processor 601 for processing, or input to the radio frequency circuit 604 for voice communication.
  • the microphones may be multiple, and are respectively disposed at different parts of the terminal 600.
  • the microphone can also be an array microphone or an omnidirectional acquisition microphone.
  • the speaker is then used to convert electrical signals from the processor 601 or the RF circuit 604 into sound waves.
  • the speaker can be a conventional film speaker or a piezoelectric ceramic speaker.
  • audio circuit 607 can also include a headphone jack.
  • the location component 608 is used to locate the current geographic location of the terminal 600 to implement navigation or LBS (Location Based Service).
  • the positioning component 608 can be a positioning component based on a US-based GPS (Global Positioning System), a Chinese Beidou system, or a Russian Galileo system.
  • Power source 609 is used to power various components in terminal 600.
  • the power source 609 can be an alternating current, a direct current, a disposable battery, or a rechargeable battery.
  • the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery.
  • a wired rechargeable battery is a battery that is charged by a wired line
  • a wireless rechargeable battery is a battery that is charged by a wireless coil.
  • the rechargeable battery can also be used to support fast charging technology.
  • terminal 600 also includes one or more sensors 610.
  • the one or more sensors 610 include, but are not limited to, an acceleration sensor 611, a gyro sensor 612, a pressure sensor 613, a fingerprint sensor 614, an optical sensor 615, and a proximity sensor 616.
  • the acceleration sensor 611 can detect the magnitude of the acceleration on the three coordinate axes of the coordinate system established by the terminal 600.
  • the acceleration sensor 611 can be used to detect components of gravity acceleration on three coordinate axes.
  • the processor 601 can control the touch display screen 605 to display the user interface in a landscape view or a portrait view according to the gravity acceleration signal collected by the acceleration sensor 611.
  • the acceleration sensor 611 can also be used for the acquisition of game or user motion data.
  • the gyro sensor 612 can detect the body direction and the rotation angle of the terminal 600, and the gyro sensor 612 can cooperate with the acceleration sensor 611 to collect the 3D motion of the user to the terminal 600. Based on the data collected by the gyro sensor 612, the processor 601 can implement functions such as motion sensing (such as changing the UI according to the user's tilting operation), image stabilization at the time of shooting, game control, and inertial navigation.
  • functions such as motion sensing (such as changing the UI according to the user's tilting operation), image stabilization at the time of shooting, game control, and inertial navigation.
  • the pressure sensor 613 may be disposed at a side border of the terminal 600 and/or a lower layer of the touch display screen 605.
  • the pressure sensor 613 When the pressure sensor 613 is disposed on the side frame of the terminal 600, the user's holding signal to the terminal 600 can be detected, and the processor 601 performs left and right hand recognition or shortcut operation according to the holding signal collected by the pressure sensor 613.
  • the operability control on the UI interface is controlled by the processor 601 according to the user's pressure operation on the touch display screen 605.
  • the operability control includes at least one of a button control, a scroll bar control, an icon control, and a menu control.
  • the fingerprint sensor 614 is used to collect the fingerprint of the user.
  • the processor 601 identifies the identity of the user according to the fingerprint collected by the fingerprint sensor 614, or the fingerprint sensor 614 identifies the identity of the user according to the collected fingerprint. Upon identifying that the user's identity is a trusted identity, the processor 601 authorizes the user to perform related sensitive operations including unlocking the screen, viewing encrypted information, downloading software, paying and changing settings, and the like.
  • the fingerprint sensor 614 can be disposed on the front, back, or side of the terminal 600. When the physical button or vendor logo is provided on the terminal 600, the fingerprint sensor 614 can be integrated with the physical button or the manufacturer logo.
  • Optical sensor 615 is used to collect ambient light intensity.
  • the processor 601 can control the display brightness of the touch display 605 according to the ambient light intensity acquired by the optical sensor 615. Specifically, when the ambient light intensity is high, the display brightness of the touch display screen 605 is raised; when the ambient light intensity is low, the display brightness of the touch display screen 605 is lowered.
  • the processor 601 can also dynamically adjust the shooting parameters of the camera assembly 606 according to the ambient light intensity collected by the optical sensor 615.
  • Proximity sensor 616 also referred to as a distance sensor, is typically disposed on the front panel of terminal 600. Proximity sensor 616 is used to capture the distance between the user and the front of terminal 600. In one embodiment, when the proximity sensor 616 detects that the distance between the user and the front side of the terminal 600 is gradually decreasing, the touch screen display 605 is controlled by the processor 601 to switch from the bright screen state to the screen state; when the proximity sensor 616 detects When the distance between the user and the front side of the terminal 600 gradually becomes larger, the processor 601 controls the touch display screen 605 to switch from the screen state to the bright screen state.
  • FIG. 6 does not constitute a limitation to the terminal 600, and may include more or less components than those illustrated, or may combine some components or adopt different component arrangements.
  • FIG. 7 is a schematic structural diagram of a server according to an embodiment of the present application.
  • the server 700 may generate a large difference due to different configurations or performances, and may include one or more central processing units (CPUs) 722 ( For example, one or more processors) and memory 732, one or more storage media 730 that store application 742 or data 744 (eg, one or one storage device in Shanghai).
  • the memory 732 and the storage medium 730 may be short-term storage or persistent storage.
  • the program stored on storage medium 730 may include one or more modules (not shown), each of which may include a series of instruction operations in the server.
  • central processor 722 can be configured to communicate with storage medium 730, executing a series of instruction operations in storage medium 730 on server 700.
  • Server 700 may also include one or more power sources 727, one or more wired or wireless network interfaces 750, one or more input and output interfaces 758, one or more keyboards 757, and/or one or more operating systems 741 such as Windows Server TM, Mac OS X TM , Unix TM, Linux TM, FreeBSD TM and so on.
  • operating systems 741 such as Windows Server TM, Mac OS X TM , Unix TM, Linux TM, FreeBSD TM and so on.
  • the server 700 can be configured to perform the steps performed by the receiving end in the bandwidth determining method described above.
  • the embodiment of the present application further provides a receiving device, which may be the terminal 600 or the server 700, or other types of devices.
  • the receiving device includes a processor and a memory in which at least one instruction is stored, the instruction being loaded and executed by the processor to:
  • the bandwidth between the transmitting device and the receiving device is determined according to the calculated predicted bandwidth.
  • each data packet sent by the sending device includes a sequence identifier, and the sequence identifier is used to indicate a sending sequence of the data packet, and the instruction is loaded and executed by the processor to implement the following operations:
  • the instructions are loaded and executed by the processor to:
  • the time point when the first data packet is received is taken as the first time point
  • the time point when the second data packet is received is taken as the second time point
  • a time difference between the first time point and the second time point is calculated.
  • the instructions are loaded and executed by the processor to:
  • a statistical value of a plurality of predicted bandwidths is calculated as a bandwidth between the transmitting device and the receiving device.
  • the instructions are loaded and executed by the processor to:
  • the bandwidth is transmitted to the transmitting device, and the transmitting device sets a code rate that matches the bandwidth, and transmits data to the receiving device according to the set code rate.
  • the embodiment of the present application further provides a computer readable storage medium.
  • the computer readable storage medium may be a ROM (Read Only Memory), a RAM (Random Access Memory), a CD-ROM. (Compact Disc-Read Only Memory), magnetic tape, floppy disk, and optical data storage device.
  • the computer readable storage medium stores at least one instruction, at least one program, code set or instruction set, the instruction, the program, the code set or the instruction set being loaded and executed by a processor of the receiving device to perform the following operations:
  • the bandwidth between the transmitting device and the receiving device is determined according to the calculated predicted bandwidth.
  • each data packet sent by the sending device includes a sequence identifier, and the sequence identifier is used to indicate a sending sequence of the data packet, and the instruction is loaded and executed by the processor to implement the following operations:
  • the instructions are loaded and executed by the processor to:
  • the time point when the first data packet is received is taken as the first time point
  • the time point when the second data packet is received is taken as the second time point
  • a time difference between the first time point and the second time point is calculated.
  • the instructions are loaded and executed by the processor to:
  • a statistical value of a plurality of predicted bandwidths is calculated as a bandwidth between the transmitting device and the receiving device.
  • the instructions are loaded and executed by the processor to:
  • the bandwidth is transmitted to the transmitting device, and the transmitting device sets a code rate that matches the bandwidth, and transmits data to the receiving device according to the set code rate.
  • the storage medium may be a read only memory, a magnetic disk or an optical disk or the like.

Abstract

Disclosed are a method, apparatus and device for determining a bandwidth, and a storage medium, which belong to the technical field of networks. The method comprises: receiving a first data packet and a second data packet; when it is determined that the first data packet and the second data packet are sent continuously by a sending end, calculating a receiving time difference between the second data packet and the first data packet, wherein the receiving time difference is used for indicating a time duration consumed by a receiving end to receive the second data packet; calculating a quotient of a data length of the second data packet and the receiving time difference and taking same as a predicted bandwidth; and according to the calculated predicted bandwidth, determining a bandwidth between the sending end and the receiving end. In the present application, a time duration consumed by the process of receiving a second data packet can be determined accurately at a receiving end according to a receiveing time difference between two data packets sent continuously, so as to calculate an accurate bandwidth, thereby improving the calculation accuracy; and a matching code rate is set according to the calculated bandwidth, so that the bandwidth utilization rate can be improved as much as possible where normal data transmission is ensured.

Description

带宽确定方法、装置、设备及存储介质Bandwidth determination method, device, device and storage medium
本申请要求于2017年12月29日提交、申请号为201711484244.1、发明名称为“带宽确定方法、装置及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. 2009-11484244.1, entitled "Bandwidth Determination Method, Apparatus, and Storage Medium", which is hereby incorporated by reference.
技术领域Technical field
本申请实施例涉及网络技术领域,特别涉及一种带宽确定方法、装置、设备及存储介质。The embodiments of the present invention relate to the field of network technologies, and in particular, to a bandwidth determining method, apparatus, device, and storage medium.
背景技术Background technique
发送端与接收端之间传输数据的过程会受到码率和带宽的影响,码率是指单位时间内发送端传输的数据位数,带宽是指发送端与接收端之间单位时间内实际能够传输的数据位数。当码率设置的过小而导致码率小于带宽时,会导致带宽利用率较小,造成网络资源的浪费,而码率设置的过大而导致码率大于带宽时,会影响数据的正常传输,只要确定好发送端与接收端之间的带宽,合理设置码率,才能在保证数据正常传输的情况下尽可能地提高带宽利用率。The process of transmitting data between the sender and the receiver is affected by the bit rate and bandwidth. The code rate refers to the number of data bits transmitted by the sender in a unit time. The bandwidth refers to the actual time between the sender and the receiver. The number of data bits transferred. When the code rate is set too small and the code rate is less than the bandwidth, the bandwidth utilization is small, which causes waste of network resources. If the code rate is set too large and the code rate is greater than the bandwidth, the normal transmission of data will be affected. As long as the bandwidth between the sender and the receiver is determined and the code rate is properly set, the bandwidth utilization can be improved as much as possible while ensuring normal data transmission.
相关技术中,发送端通过计算业务数据的发送数据量与调度帧的调度周期之间的商,得到实时的数据传输速率,将该数据传输速率作为实时带宽。In the related art, the transmitting end obtains a real-time data transmission rate by calculating a quotient between the amount of transmitted data of the service data and the scheduling period of the scheduling frame, and uses the data transmission rate as a real-time bandwidth.
在实现本申请实施例的过程中,发现相关技术至少存在以下缺陷:在发送端设置的码率固定的情况下,其所监控到的数据传输速率是固定的,因此上述根据数据传输速率计算带宽的方法,实际是受到码率的影响,并不能计算出准确的带宽。In the process of implementing the embodiments of the present application, it is found that the related technology has at least the following defects: in the case that the code rate set by the transmitting end is fixed, the data transmission rate monitored by the transmitting end is fixed, so the above calculation bandwidth is calculated according to the data transmission rate. The method is actually affected by the code rate and cannot calculate the exact bandwidth.
发明内容Summary of the invention
本申请实施例提供了一种带宽确定方法、装置、设备及存储介质,可以解决不能计算出准确的带宽的问题。所述技术方案如下:The embodiment of the present application provides a bandwidth determining method, device, device, and storage medium, which can solve the problem that an accurate bandwidth cannot be calculated. The technical solution is as follows:
一方面,提供了一种带宽确定方法,所述方法包括:In one aspect, a method for determining a bandwidth is provided, the method comprising:
接收第一数据包和第二数据包;Receiving the first data packet and the second data packet;
当确定所述第一数据包和所述第二数据包由发送端连续发送时,计算所述第二数据包与所述第一数据包的接收时间差,所述接收时间差用于表示所述接收端接收所述第二数据包的过程所耗费的时长;When it is determined that the first data packet and the second data packet are continuously sent by the transmitting end, calculating a receiving time difference between the second data packet and the first data packet, where the receiving time difference is used to indicate the receiving The length of time taken by the terminal to receive the second data packet;
计算所述第二数据包的数据长度与所述接收时间差之间的商,作为预测带宽;Calculating a quotient between a data length of the second data packet and the reception time difference as a prediction bandwidth;
根据计算出的预测带宽,确定所述发送端与所述接收端之间的带宽。And determining a bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
在一种可能实现方式中,所述发送端发送的每个数据包中包括顺序标识,所述顺序标识用于指示数据包的发送顺序,所述接收第一数据包和第二数据包之后,所述方法还包括:In a possible implementation, each data packet sent by the sending end includes a sequence identifier, where the sequence identifier is used to indicate a sending sequence of the data packet, after the receiving the first data packet and the second data packet, The method further includes:
当确定所述第二数据包的顺序标识是所述第一数据包的顺序标识的下一个顺序标识时,确定所述第一数据包和所述第二数据包由所述发送端连续发送。When it is determined that the sequence identifier of the second data packet is the next sequential identifier of the sequence identifier of the first data packet, determining that the first data packet and the second data packet are continuously sent by the sending end.
在另一种可能实现方式中,所述计算所述第二数据包与所述第一数据包的接收时间差,包括:In another possible implementation, the calculating a time difference between the receiving of the second data packet and the first data packet includes:
将接收所述第一数据包完成时的时间点作为第一时间点;Taking a time point when the first data packet is received as a first time point;
将接收所述第二数据包完成时的时间点作为第二时间点;Taking a time point when the receiving of the second data packet is completed as a second time point;
计算所述第一时间点与所述第二时间点之间的时间差。A time difference between the first time point and the second time point is calculated.
在另一种可能实现方式中,所述根据计算出的预测带宽,确定所述发送端与所述接收端之间的带宽,包括:In another possible implementation manner, determining, according to the calculated predicted bandwidth, a bandwidth between the sending end and the receiving end, including:
获取计算出的多个预测带宽,所述多个预测带宽分别根据在预设时长内由所述发送端连续发送的数据包计算得到;Obtaining a plurality of calculated prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the transmitting end within a preset duration;
计算所述多个预测带宽的统计值,作为所述发送端与所述接收端之间的带宽。Calculating a statistical value of the multiple predicted bandwidths as a bandwidth between the transmitting end and the receiving end.
在另一种可能实现方式中,所述确定所述发送端与所述接收端之间的带宽之后,所述方法还包括:In another possible implementation, after the determining the bandwidth between the sending end and the receiving end, the method further includes:
向所述发送端发送所述带宽,由所述发送端设置与所述带宽匹配的码率,根据设置的码率向所述接收端发送数据。Transmitting the bandwidth to the transmitting end, setting, by the transmitting end, a code rate that matches the bandwidth, and transmitting data to the receiving end according to the set code rate.
另一方面,提供了一种带宽确定装置,所述装置包括:In another aspect, a bandwidth determining apparatus is provided, the apparatus comprising:
接收模块,用于接收第一数据包和第二数据包;a receiving module, configured to receive the first data packet and the second data packet;
时间差计算模块,用于当确定所述第一数据包和所述第二数据包由发送端 连续发送时,计算所述第二数据包与所述第一数据包的接收时间差,所述接收时间差用于表示所述接收端接收所述第二数据包的过程所耗费的时长;a time difference calculation module, configured to calculate, when the first data packet and the second data packet are continuously sent by the transmitting end, a time difference of receiving the second data packet and the first data packet, where the receiving time difference is Means for indicating the length of time that the receiving end receives the second data packet;
带宽计算模块,用于计算所述第二数据包的数据长度与所述接收时间差之间的商,作为预测带宽;a bandwidth calculation module, configured to calculate a quotient between a data length of the second data packet and the received time difference as a predicted bandwidth;
所述带宽计算模块,用于根据计算出的预测带宽,确定所述发送端与所述接收端之间的带宽。The bandwidth calculation module is configured to determine a bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
在一种可能实现方式中,所述发送端发送的每个数据包中包括顺序标识,所述顺序标识用于指示数据包的发送顺序,所述装置还包括:In a possible implementation, each data packet sent by the sending end includes a sequence identifier, where the sequence identifier is used to indicate a sending sequence of the data packet, and the device further includes:
确定模块,用于当确定所述第二数据包的顺序标识是所述第一数据包的顺序标识的下一个顺序标识时,确定所述第一数据包和所述第二数据包由所述发送端连续发送。a determining module, configured to: when determining that the sequence identifier of the second data packet is the next sequential identifier of the sequential identifier of the first data packet, determining that the first data packet and the second data packet are The sender sends continuously.
在另一种可能实现方式中,所述时间差计算模块,包括:In another possible implementation manner, the time difference calculation module includes:
第一获取单元,用于将接收所述第一数据包完成时的时间点作为第一时间点;a first acquiring unit, configured to use a time point when the first data packet is received as a first time point;
第二获取单元,用于将接收所述第二数据包完成时的时间点作为第二时间点;a second acquiring unit, configured to use a time point when the second data packet is received as a second time point;
时间差获取单元,用于计算所述第一时间点与所述第二时间点之间的时间差。And a time difference obtaining unit, configured to calculate a time difference between the first time point and the second time point.
在另一种可能实现方式中,所述带宽计算模块,包括:In another possible implementation manner, the bandwidth calculation module includes:
预测带宽单元,用于获取计算出的多个预测带宽,所述多个预测带宽分别根据在预设时长内由所述发送端连续发送的数据包计算得到;a prediction bandwidth unit, configured to obtain the calculated plurality of prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the sending end within a preset duration;
统计单元,用于计算所述多个预测带宽的统计值,作为所述发送端与所述接收端之间的带宽。And a statistical unit, configured to calculate a statistical value of the multiple predicted bandwidths, as a bandwidth between the transmitting end and the receiving end.
在另一种可能实现方式中,所述装置还包括:In another possible implementation manner, the device further includes:
发送模块,用于向所述发送端发送所述带宽,由所述发送端设置与所述带宽匹配的码率,根据设置的码率向所述接收端发送数据。And a sending module, configured to send the bandwidth to the sending end, where the sending end sets a code rate that matches the bandwidth, and sends data to the receiving end according to the set code rate.
另一方面,提供了一种接收设备,所述接收设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如下操作:In another aspect, a receiving device is provided, the receiving device comprising a processor and a memory, the memory storing at least one instruction loaded by the processor and executed to:
接收第一数据包和第二数据包;Receiving the first data packet and the second data packet;
当确定所述第一数据包和所述第二数据包由发送设备连续发送时,计算所述第二数据包与所述第一数据包的接收时间差,所述接收时间差用于表示所述接收设备接收所述第二数据包的过程所耗费的时长;And determining, when the first data packet and the second data packet are continuously sent by the sending device, a receiving time difference between the second data packet and the first data packet, where the receiving time difference is used to indicate the receiving The length of time taken by the device to receive the second data packet;
计算所述第二数据包的数据长度与所述接收时间差之间的商,作为预测带宽;Calculating a quotient between a data length of the second data packet and the reception time difference as a prediction bandwidth;
根据计算出的预测带宽,确定所述发送设备与所述接收设备之间的带宽。Determining a bandwidth between the transmitting device and the receiving device according to the calculated predicted bandwidth.
在一种可能实现方式中,所述发送设备发送的每个数据包中包括顺序标识,所述顺序标识用于指示数据包的发送顺序,所述指令由所述处理器加载并执行以实现如下操作:In a possible implementation manner, each data packet sent by the sending device includes a sequence identifier, where the sequence identifier is used to indicate a sending order of the data packet, and the instruction is loaded and executed by the processor to implement the following operating:
当确定所述第二数据包的顺序标识是所述第一数据包的顺序标识的下一个顺序标识时,确定所述第一数据包和所述第二数据包由所述发送设备连续发送。When it is determined that the sequence identifier of the second data packet is the next sequential identifier of the sequence identifier of the first data packet, determining that the first data packet and the second data packet are continuously sent by the sending device.
在另一种可能实现方式中,所述指令由所述处理器加载并执行以实现如下操作:In another possible implementation, the instructions are loaded and executed by the processor to:
将接收所述第一数据包完成时的时间点作为第一时间点;Taking a time point when the first data packet is received as a first time point;
将接收所述第二数据包完成时的时间点作为第二时间点;Taking a time point when the receiving of the second data packet is completed as a second time point;
计算所述第一时间点与所述第二时间点之间的时间差。A time difference between the first time point and the second time point is calculated.
在另一种可能实现方式中,所述指令由所述处理器加载并执行以实现如下操作:In another possible implementation, the instructions are loaded and executed by the processor to:
获取计算出的多个预测带宽,所述多个预测带宽分别根据在预设时长内由所述发送设备连续发送的数据包计算得到;Obtaining a plurality of calculated prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the sending device within a preset duration;
计算所述多个预测带宽的统计值,作为所述发送设备与所述接收设备之间的带宽。Calculating a statistical value of the plurality of predicted bandwidths as a bandwidth between the transmitting device and the receiving device.
在另一种可能实现方式中,其特征在于,所述指令由所述处理器加载并执行以实现如下操作:In another possible implementation, the instructions are loaded and executed by the processor to:
向所述发送设备发送所述带宽,由所述发送设备设置与所述带宽匹配的码率,根据设置的码率向所述接收设备发送数据。Transmitting the bandwidth to the sending device, setting, by the sending device, a code rate that matches the bandwidth, and transmitting data to the receiving device according to the set code rate.
再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如所述的带宽确定方法中所执行的操作。In a further aspect, a computer readable storage medium having stored therein at least one instruction loaded by a processor and executed to implement the bandwidth determination method as described operating.
本申请实施例提供的技术方案带来的有益效果至少包括:The beneficial effects brought by the technical solutions provided by the embodiments of the present application include at least:
本申请实施例提供的方法、装置、设备及存储介质,通过针对发送端连续发送的两个数据包,计算两个数据包的接收时间差,以接收时间差表示接收端接收第二个数据包的过程所耗费的时长,则计算第二个数据包的数据长度与接收时间差之间的商,作为预测带宽,从而根据计算出的预测带宽,确定发送端与接收端之间的带宽。本申请实施例在接收端根据发送端连续发送的两个数据包的接收时间差,可以准确确定接收第二个数据包的过程所耗费的时长,从而根据第二个数据包的数据长度和所耗费的时长计算出准确的带宽,提高了计算准确性,根据计算出的带宽设置匹配的码率,可以在保证数据正常传输的情况下尽可能地提高带宽利用率。The method, the device, the device, and the storage medium provided by the embodiments of the present application calculate the receiving time difference between two data packets by using two data packets continuously sent by the transmitting end, and the receiving time difference indicates that the receiving end receives the second data packet. The elapsed time is calculated by calculating the quotient between the data length of the second data packet and the reception time difference as the predicted bandwidth, thereby determining the bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth. In the embodiment of the present application, according to the receiving time difference of two data packets continuously sent by the transmitting end, the receiving end can accurately determine the length of time taken by the process of receiving the second data packet, thereby calculating the data length and the cost according to the second data packet. The length of time calculates the accurate bandwidth, improves the calculation accuracy, and sets the matching code rate according to the calculated bandwidth, which can improve the bandwidth utilization as much as possible while ensuring normal data transmission.
并且,本申请实施例应用于实时数据流发送过程中,无需探测码率的调整幅度即可直接计算带宽,从而实时地调整码率,能够达到更好的实时数据流播放效果。Moreover, the embodiment of the present application is applied to the real-time data stream transmission process, and the bandwidth can be directly calculated without detecting the adjustment rate of the code rate, so that the code rate can be adjusted in real time, and a better real-time data stream playback effect can be achieved.
并且,在数据包中携带顺序标识,以顺序标识来表示数据包的发送顺序,能够直观快速地确定连续发送的数据包,加快了计算速度。即使接收端接收的数据包顺序与发送端发送的数据包顺序不一致时,也能保证确定的连续发送的数据包正确,避免出现数据包顺序混乱的情况。Moreover, the sequence identifier is carried in the data packet, and the order of sending the data packet is indicated by the sequence identifier, and the continuously transmitted data packet can be determined intuitively and quickly, thereby speeding up the calculation. Even if the order of the data packets received by the receiving end is inconsistent with the order of the data packets sent by the transmitting end, it can ensure that the determined continuously transmitted data packets are correct, and the situation that the data packet sequence is disordered is avoided.
并且,根据在预设时长内由所述发送端连续发送的数据包计算得到的多个预测带宽计算统计值,可以得到更为准确的带宽,避免了偶然的网络波动对带宽的影响,进一步提高了准确率。Moreover, according to the calculation of the plurality of predicted bandwidths calculated by the data packets continuously sent by the transmitting end within the preset duration, a more accurate bandwidth can be obtained, thereby avoiding the influence of occasional network fluctuations on the bandwidth, and further improving. The accuracy rate.
附图说明DRAWINGS
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present application. Other drawings may also be obtained from those of ordinary skill in the art in light of the inventive work.
图1是本申请实施例提供的一种实施环境的示意图;1 is a schematic diagram of an implementation environment provided by an embodiment of the present application;
图2是本申请实施例提供的一种带宽确定方法的流程图;2 is a flowchart of a method for determining a bandwidth provided by an embodiment of the present application;
图3是本申请实施例提供的一种带宽确定方法流程图;3 is a flowchart of a method for determining a bandwidth provided by an embodiment of the present application;
图4是本申请实施例提供的一种发送数据包的示意图;4 is a schematic diagram of a sending data packet according to an embodiment of the present application;
图5是本申请实施例提供的带宽确定装置的结构示意图;FIG. 5 is a schematic structural diagram of a bandwidth determining apparatus according to an embodiment of the present application;
图6是本申请实施例提供的一种终端的结构示意图;FIG. 6 is a schematic structural diagram of a terminal according to an embodiment of the present disclosure;
图7是本申请实施例提供的一种服务器的结构示意图。FIG. 7 is a schematic structural diagram of a server according to an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application are clearly and completely described in the following with reference to the drawings in the embodiments of the present application. It is obvious that the described embodiments are a part of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present application without departing from the inventive scope are the scope of the present application.
图1是本申请实施例提供的一种实施环境的示意图,该实施环境包括:发送设备101和接收设备102,发送设备101与接收设备102之间通过有线网络或者无线网络连接,发送设备101会向接收设备102发送数据。1 is a schematic diagram of an implementation environment provided by an embodiment of the present application. The implementation environment includes: a sending device 101 and a receiving device 102. The sending device 101 and the receiving device 102 are connected through a wired network or a wireless network, and the sending device 101 Data is transmitted to the receiving device 102.
发送数据的过程中,发送设备101会根据设置的码率确定单位时间内发送的数据位数,从而按照码率向接收设备102提供数据。而如果发送设备101与接收设备102之间的带宽大于码率,即单位时间内实际发送的数据位数大于码率,此时会导致发送设备101提供的数据少于实际发送的数据,带宽利用率较小。如果发送设备101与接收设备102之间的带宽小于码率,即单位时间内实际发送的数据位数小于码率,此时会导致发送设备101提供的数据多于实际发送的数据,导致数据无法正常传输。In the process of transmitting data, the transmitting device 101 determines the number of data bits transmitted per unit time according to the set code rate, thereby providing data to the receiving device 102 in accordance with the code rate. If the bandwidth between the sending device 101 and the receiving device 102 is greater than the code rate, that is, the number of data bits actually sent in a unit time is greater than the code rate, the data provided by the sending device 101 is less than the actually transmitted data, and the bandwidth is utilized. The rate is small. If the bandwidth between the sending device 101 and the receiving device 102 is less than the code rate, that is, the number of data bits actually sent in a unit time is less than the code rate, the sending device 101 may provide more data than the actual data, resulting in data failure. Normal transmission.
本申请实施例可以应用于多种传输数据的场景下,例如,该发送设备101为服务器、该接收设备102为终端,在线播放视频的场景下,由服务器向终端发送视频数据,在终端上实时播放视频数据。或者,在基于网络系统处理业务的场景下,该发送设备101为存储服务器,该接收设备102为业务服务器,该发送设备101向该接收设备102发送业务数据,由该接收设备102根据业务数据进行业务处理。或者,在移动通信系统中,该发送设备101为基站,该接收设备102为用户设备,由基站向用户设备发送数据。The embodiment of the present application can be applied to multiple scenarios for transmitting data. For example, the sending device 101 is a server, and the receiving device 102 is a terminal. In a scenario where a video is played online, the server sends video data to the terminal in real time. Play video data. Or, in the scenario of processing a service based on the network system, the sending device 101 is a storage server, and the receiving device 102 is a service server, and the sending device 101 sends service data to the receiving device 102, and the receiving device 102 performs the service data according to the data. Business processing. Alternatively, in the mobile communication system, the transmitting device 101 is a base station, and the receiving device 102 is a user equipment, and the base station transmits data to the user equipment.
图1所示的实施环境中,发送设备101作为发送端,接收设备102作为接收端,发送端向接收端发送数据,接收端采用本申请实施例提供的方法,确定发送端与接收端之间的带宽。In the implementation environment shown in FIG. 1 , the sending device 101 serves as a transmitting end, the receiving device 102 serves as a receiving end, and the transmitting end sends data to the receiving end. The receiving end determines the method between the sending end and the receiving end by using the method provided in this embodiment of the present application. Bandwidth.
图2是本申请实施例提供的一种带宽确定方法的流程图。本申请实施例的 执行主体为接收端,参见图2,该方法包括:FIG. 2 is a flowchart of a method for determining a bandwidth provided by an embodiment of the present application. The execution body of the embodiment of the present application is a receiving end. Referring to FIG. 2, the method includes:
201、接收第一数据包和第二数据包。201. Receive a first data packet and a second data packet.
202、当确定第一数据包和第二数据包由发送端连续发送时,计算第二数据包与第一数据包的接收时间差,接收时间差用于表示接收端接收第二数据包的过程所耗费的时长。202. When it is determined that the first data packet and the second data packet are continuously sent by the sending end, calculate a receiving time difference between the second data packet and the first data packet, where the receiving time difference is used to indicate that the receiving end receives the second data packet. The length of time.
203、计算第二数据包的数据长度与接收时间差之间的商,作为预测带宽。203. Calculate a quotient between a data length of the second data packet and a reception time difference as a predicted bandwidth.
204、根据计算出的预测带宽,确定发送端与接收端之间的带宽。204. Determine a bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
本申请实施例提供的方法,通过针对发送端连续发送的两个数据包,计算两个数据包的接收时间差,以接收时间差表示接收端接收第二个数据包的过程所耗费的时长,则计算第二个数据包的数据长度与接收时间差之间的商,作为预测带宽,从而根据计算出的预测带宽,确定发送端与接收端之间的带宽。本申请实施例在接收端根据发送端连续发送的两个数据包的接收时间差,可以准确确定接收第二个数据包的过程所耗费的时长,从而根据第二个数据包的数据长度和所耗费的时长计算出准确的带宽,提高了计算准确性,根据计算出的带宽设置匹配的码率,可以在保证数据正常传输的情况下尽可能地提高带宽利用率。The method provided by the embodiment of the present application calculates the time difference of receiving two data packets by using two data packets continuously sent by the transmitting end, and calculates the time length of the process of receiving the second data packet by the receiving end, and then calculates The quotient between the data length of the second data packet and the reception time difference is used as the prediction bandwidth, thereby determining the bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth. In the embodiment of the present application, according to the receiving time difference of two data packets continuously sent by the transmitting end, the receiving end can accurately determine the length of time taken by the process of receiving the second data packet, thereby calculating the data length and the cost according to the second data packet. The length of time calculates the accurate bandwidth, improves the calculation accuracy, and sets the matching code rate according to the calculated bandwidth, which can improve the bandwidth utilization as much as possible while ensuring normal data transmission.
图3是本申请实施例提供的一种带宽确定方法的流程图。本申请实施例的交互主体为接收端与发送端,参见图3,该方法包括:FIG. 3 is a flowchart of a method for determining a bandwidth provided by an embodiment of the present application. The interaction body of the embodiment of the present application is a receiving end and a sending end. Referring to FIG. 3, the method includes:
301、发送端向接收端发送多个数据包。301. The sending end sends multiple data packets to the receiving end.
在发送数据的过程中,发送端可以设置码率,该码率确定了单位时间内传输的数据位数,则发送端会按照设置的码率提供数据,发送给接收端。而带宽确定了单位时间内实际传输的数据位数,本申请实施例通过接收端接收数据包,能够在接收端根据实际的数据接收情况,计算发送端与接收端之间的带宽。In the process of transmitting data, the transmitting end can set a code rate, and the code rate determines the number of data bits transmitted in a unit time, and the transmitting end provides data according to the set code rate and sends the data to the receiving end. The bandwidth determines the number of data bits actually transmitted in a unit time. In the embodiment of the present application, the receiving end receives the data packet, and the receiving end can calculate the bandwidth between the transmitting end and the receiving end according to the actual data receiving situation.
发送端向接收端发送数据时,会将待发送的数据生成多个数据包,依次发送给接收端,接收端依次接收该多个数据包,从而得到发送端发送的数据。When the sending end sends data to the receiving end, the data to be sent generates multiple data packets, which are sequentially sent to the receiving end, and the receiving end sequentially receives the multiple data packets, thereby obtaining the data sent by the transmitting end.
其中,该数据可以包括音频数据、视频数据、图像数据等多种类型。例如,在线播放视频的场景下,发送端将视频数据生成多个视频数据包,依次发送给接收端,接收端对接收到的每个视频数据包进行解析处理后,播放视频。The data may include various types such as audio data, video data, and image data. For example, in a scenario in which a video is played online, the transmitting end generates a plurality of video data packets in the video data, and sends the video data packets to the receiving end. The receiving end parses and processes each received video data packet, and then plays the video.
本申请实施例中,为了便于根据连续发送的两个数据包计算带宽,发送端在连续发送数据包时,每个数据包中可以包括顺序标识,该顺序标识用于指示 数据包的发送顺序,不同的顺序标识之间具有先后顺序,根据数据包的顺序标识可以确定数据包的发送顺序。例如,第一个数据包的顺序标识可以为1,第二个数据包的顺序标识可以为2。该顺序标识可以位于数据包的某一固定字段中,该固定字段可以位于数据头或者数据体中。后续过程中,接收端接收到数据包时,可以从数据包的固定字段中提取数据包的顺序标识。In the embodiment of the present application, in order to facilitate calculating the bandwidth according to two consecutively sent data packets, when the transmitting end continuously transmits the data packet, each data packet may include a sequence identifier, where the sequence identifier is used to indicate the sending order of the data packet. Different order identifiers have a sequential order, and the order in which the data packets are sent can be determined according to the order of the data packets. For example, the order identifier of the first packet may be 1, and the order identifier of the second packet may be 2. The sequence identifier can be located in a fixed field of the data packet, which can be located in the data header or data body. In the subsequent process, when the receiving end receives the data packet, it can extract the sequence identifier of the data packet from the fixed field of the data packet.
302、接收端接收第一数据包和第二数据包。302. The receiving end receives the first data packet and the second data packet.
本申请实施例以接收端先后接收到的第一数据包和第二数据包为例,该第二数据包为在第一数据包之后接收到的数据包,由于在发送端,第二数据包在第一数据包之后发送,因此该接收端先接收到第一数据包,当第一数据包接收完成时会连续接收第二数据包。In the embodiment of the present application, the first data packet and the second data packet received by the receiving end are taken as an example, and the second data packet is a data packet received after the first data packet, because at the sending end, the second data packet After the first data packet is sent, the receiving end first receives the first data packet, and when the first data packet is received, the second data packet is continuously received.
303、当接收端确定第一数据包和第二数据包由发送端连续发送时,计算第二数据包与第一数据包的接收时间差。303. When the receiving end determines that the first data packet and the second data packet are continuously sent by the sending end, calculate a receiving time difference between the second data packet and the first data packet.
接收端会接收到发送端发送的多个数据包,此时可以按照数据包的接收时间的先后顺序,确定连续接收到的数据包即为发送端连续发送的数据包。The receiving end receives multiple data packets sent by the sending end. At this time, according to the order of receiving the data packets, it is determined that the continuously received data packets are the data packets continuously sent by the transmitting end.
或者,在一种可能实现方式中,每个数据包中包括顺序标识,则接收端获取第一数据包的顺序标识和第二数据包的顺序标识,将两者进行比对,当确定第二数据包的顺序标识是第一数据包的顺序标识的下一个顺序标识时,确定第一数据包和第二数据包由发送端连续发送。Or, in a possible implementation manner, the sequence identifier is included in each data packet, and the receiving end acquires the sequence identifier of the first data packet and the sequence identifier of the second data packet, and compares the two, when determining the second When the sequence identifier of the data packet is the next sequential identifier of the sequence identifier of the first data packet, it is determined that the first data packet and the second data packet are continuously transmitted by the transmitting end.
在数据包中携带顺序标识,以顺序标识来表示数据包的发送顺序,采用顺序标识来识别连续发送的数据包,能够直观快速地确定连续发送的数据包,加快了计算速度。即使接收端接收的数据包顺序与发送端发送的数据包顺序不一致时,也能保证确定的连续发送的数据包正确,避免出现数据包顺序混乱的情况。The sequence identifier is carried in the data packet, and the order of sending the data packet is indicated by the sequence identifier. The sequential identification is used to identify the continuously transmitted data packet, and the continuously transmitted data packet can be determined intuitively and quickly, thereby speeding up the calculation. Even if the order of the data packets received by the receiving end is inconsistent with the order of the data packets sent by the transmitting end, it can ensure that the determined continuously transmitted data packets are correct, and the situation that the data packet sequence is disordered is avoided.
接收端确定第一数据包和第二数据包由发送端连续发送时,计算第二数据包与第一数据包的接收时间差,接收时间差为接收端接收第一数据包完成、开始接收第二数据包的时间点与接收第二数据包完成的时间点之间的时间差,可以表示接收端接收第二数据包的过程所耗费的时长。When the receiving end determines that the first data packet and the second data packet are continuously sent by the transmitting end, the receiving time difference between the second data packet and the first data packet is calculated, and the receiving time difference is that the receiving end receives the first data packet and starts receiving the second data. The time difference between the time point of the packet and the time point at which the second data packet is received may indicate the length of time taken by the receiving end to receive the second data packet.
具体实施时,接收端接收数据包时会记录接收每个数据包完成时的时间点,则将接收第一数据包完成时的时间点作为第一时间点,将接收第二数据包完成时的时间点作为第二时间点,计算第一时间点与第二时间点之间的时间差。由于第二数据包在第一数据包之后接收,也即是在第一时间点上,接收端 接收第一数据包完成,开始接收第二数据包,在第二时间点接收端接收第二数据包完成。因此,第一时间点与第二时间点之间的时间差即为接收端接收第二数据包的过程所耗费的时长。In a specific implementation, when receiving the data packet, the receiving end records the time point when the receiving of each data packet is completed, and then the time point when the first data packet is received is taken as the first time point, and the second data packet is received. The time point is used as the second time point, and the time difference between the first time point and the second time point is calculated. Since the second data packet is received after the first data packet, that is, at the first time point, the receiving end receives the first data packet and starts receiving the second data packet, and at the second time, the receiving terminal receives the second data. The package is complete. Therefore, the time difference between the first time point and the second time point is the length of time taken by the receiving end to receive the second data packet.
304、接收端计算第二数据包的数据长度与接收时间差之间的商,作为预测带宽。304. The receiving end calculates a quotient between a data length of the second data packet and a receiving time difference as a predicted bandwidth.
无论发送端设置的码率大于带宽还是小于带宽,在数据传输过程中,单位时间内实际传输的数据位数即为带宽,针对第二数据包,该第二数据包的数据长度与接收时间差之间的商即可代表单位时间内实际传输的数据位数,因此可以将该第二数据包的数据长度与接收时间差之间的商作为预测带宽。Regardless of whether the code rate set by the transmitting end is greater than the bandwidth or less than the bandwidth, in the data transmission process, the actual number of data bits transmitted per unit time is the bandwidth, and for the second data packet, the data length of the second data packet is different from the receiving time. The quotient between the two represents the number of data bits actually transmitted in a unit time, so the quotient between the data length of the second data packet and the reception time difference can be used as the predicted bandwidth.
参见图4,发送端连续发送了数据包A和数据包B,接收端先接收到数据包A,再接收到数据包B,计算两个数据包的接收时间差T,则预测带宽为数据包B的数据长度L(B)与接收时间差T之间的商L(B)/T。Referring to FIG. 4, the transmitting end continuously transmits the data packet A and the data packet B, and the receiving end first receives the data packet A, and then receives the data packet B, and calculates the receiving time difference T of the two data packets, and the predicted bandwidth is the data packet B. The quotient L(B)/T between the data length L(B) and the reception time difference T.
305、接收端获取计算出的多个预测带宽,计算多个预测带宽的统计值,作为发送端与接收端之间的带宽。305. The receiving end acquires the calculated multiple predicted bandwidths, and calculates a statistical value of the multiple predicted bandwidths, as the bandwidth between the transmitting end and the receiving end.
其中,多个预测带宽分别根据在预设时长内由发送端连续发送的数据包计算得到。接收端将预设时长作为周期,在每个周期内,根据发送端连续发送的多个数据包重复执行上述步骤301-304,从而将连续发送的任两个数据包作为一组,根据多组数据包计算出多个预测带宽,对多个预测带宽进行统计,将多个预测带宽的统计值确定为发送端与接收端之间的带宽。The multiple predicted bandwidths are respectively calculated according to data packets continuously sent by the transmitting end within a preset duration. The receiving end uses the preset duration as a period. In each period, the foregoing steps 301-304 are repeatedly performed according to the plurality of data packets continuously sent by the transmitting end, so that any two consecutively transmitted data packets are grouped according to multiple groups. The data packet calculates a plurality of predicted bandwidths, and performs statistics on the plurality of predicted bandwidths, and determines a statistical value of the plurality of predicted bandwidths as a bandwidth between the transmitting end and the receiving end.
其中,该统计值可以为多个预测带宽的平均值,或者也可以为多个预测带宽的加权平均值,每个预测带宽的权重可以根据预测带宽的计算时间确定,针对当前周期内越晚接收到的数据包,预测带宽的计算时间越晚,也越能够体现当前的网络情况,因此将计算时间较晚的预测带宽的权重设置为较高的权重,将计算时间较早的预测带宽的权重设置为较低的权重。或者,每个预测带宽的权重还可以根据预测带宽的方差确定,根据该多个预测带宽计算每个预测带宽的方差,将方差较大的预测带宽的权重设置为较低的权重,从而降低了偶然的网络波动对计算结果的影响。The statistic value may be an average of multiple prediction bandwidths, or may be a weighted average of multiple prediction bandwidths, and the weight of each prediction bandwidth may be determined according to the calculation time of the prediction bandwidth, and the later the reception in the current period. The arriving packet, the later the calculation time of the predicted bandwidth, the more the current network situation can be reflected. Therefore, the weight of the later-predicted prediction bandwidth is set to a higher weight, and the weight of the earlier predicted bandwidth is calculated. Set to a lower weight. Alternatively, the weight of each predicted bandwidth may also be determined according to the variance of the predicted bandwidth, and the variance of each predicted bandwidth is calculated according to the multiple predicted bandwidths, and the weight of the predicted bandwidth with a larger variance is set to a lower weight, thereby reducing the weight. The effect of accidental network fluctuations on the calculation results.
当然,上述步骤305中计算带宽的方式为可选方式,实际上,接收端也可以不执行步骤305,在执行步骤304得到预测带宽后可以直接将预测带宽确定为发送端与接收端之间的带宽。Certainly, the manner of calculating the bandwidth in the foregoing step 305 is optional. In fact, the receiving end may not perform step 305. After performing the step 410 to obtain the predicted bandwidth, the prediction bandwidth may be directly determined as the between the transmitting end and the receiving end. bandwidth.
与直接将预测带宽确定为发送端与接收端之间的带宽相比,根据计算得到 的多个预测带宽进行统计,可以得到更为准确的带宽,避免了偶然的网络波动对带宽的影响,进一步提高了准确率。Compared with directly determining the predicted bandwidth as the bandwidth between the transmitting end and the receiving end, the statistics are calculated according to the calculated multiple predicted bandwidths, so that a more accurate bandwidth can be obtained, and the influence of occasional network fluctuations on the bandwidth is avoided. Increased accuracy.
306、接收端向发送端发送计算出的带宽。306. The receiving end sends the calculated bandwidth to the sending end.
307、发送端接收接收端发送的带宽,设置与带宽匹配的码率。307. The sending end receives the bandwidth sent by the receiving end, and sets a code rate that matches the bandwidth.
发送端接收到接收端计算出的带宽,将带宽与设置的最大码率进行对比。当计算出的带宽不大于设置的最大码率时,发送端将码率设置为与带宽相等,从而能够充分地利用带宽资源。而当计算出的带宽大于设置的最大码率时,发送端将码率设置为最大码率,从而能够在保证数据正常传输的情况下尽可能地提高带宽利用率。The sender receives the bandwidth calculated by the receiver and compares the bandwidth with the set maximum code rate. When the calculated bandwidth is not greater than the set maximum code rate, the transmitting end sets the code rate to be equal to the bandwidth, so that the bandwidth resource can be fully utilized. When the calculated bandwidth is greater than the set maximum code rate, the transmitting end sets the code rate to the maximum code rate, thereby improving the bandwidth utilization as much as possible while ensuring normal data transmission.
接收端计算出带宽之后,向发送端发送该带宽,则发送端可以准确地确定当前的带宽是多少,相较于码率还富余多少,因此能够一次性提高码率,无需探测码率的调整幅度,将码率设置为与带宽匹配,并根据调整后的码率继续向接收端发送数据,从而保证了后续过程中可以保证数据的正常传输,而且还能提高带宽利用率。After the receiving end calculates the bandwidth and sends the bandwidth to the transmitting end, the transmitting end can accurately determine the current bandwidth, and how much is more than the code rate, so the code rate can be increased at one time without the need to adjust the detection rate. The amplitude is set to match the bandwidth, and the data is continuously sent to the receiving end according to the adjusted code rate, thereby ensuring normal data transmission in the subsequent process, and also improving bandwidth utilization.
实际应用中,在发送端与接收端传输数据的过程中,可以按照预设时长划分周期,根据每个周期内连续传输的多个数据包计算带宽,根据带宽设置匹配的码率,通过不断地计算带宽并调整码率,能够及时地根据实际的网络情况进行调整,提高了数据传输效果。In practical applications, in the process of transmitting data between the transmitting end and the receiving end, the period may be divided according to a preset duration, and the bandwidth is calculated according to multiple data packets continuously transmitted in each period, and the matched code rate is set according to the bandwidth, and continuously Calculating the bandwidth and adjusting the code rate can be adjusted according to the actual network conditions in time to improve the data transmission effect.
本申请实施例提供的方法,通过针对发送端连续发送的两个数据包,计算两个数据包的接收时间差,以接收时间差表示接收端接收第二个数据包的过程所耗费的时长,则计算第二个数据包的数据长度与接收时间差之间的商,作为预测带宽,从而根据计算出的预测带宽,确定发送端与接收端之间的带宽。本申请实施例在接收端根据发送端连续发送的两个数据包的接收时间差,可以准确确定接收第二个数据包的过程所耗费的时长,从而根据第二个数据包的数据长度和所耗费的时长计算出准确的带宽,提高了计算准确性,根据计算出的带宽设置匹配的码率,可以在保证数据正常传输的情况下尽可能地提高带宽利用率。The method provided by the embodiment of the present application calculates the time difference of receiving two data packets by using two data packets continuously sent by the transmitting end, and calculates the time length of the process of receiving the second data packet by the receiving end, and then calculates The quotient between the data length of the second data packet and the reception time difference is used as the prediction bandwidth, thereby determining the bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth. In the embodiment of the present application, according to the receiving time difference of two data packets continuously sent by the transmitting end, the receiving end can accurately determine the length of time taken by the process of receiving the second data packet, thereby calculating the data length and the cost according to the second data packet. The length of time calculates the accurate bandwidth, improves the calculation accuracy, and sets the matching code rate according to the calculated bandwidth, which can improve the bandwidth utilization as much as possible while ensuring normal data transmission.
并且,相关技术中通常采用逐步提高码率的方式来逐步探测带宽,而本申请实施例应用于实时数据流发送过程中,无需探测码率的调整幅度即可直接计算带宽,从而实时地调整码率,能够达到更好的实时数据流播放效果。Moreover, in the related art, the bandwidth is gradually detected in a stepwise manner, and the embodiment of the present application is applied to the real-time data stream transmission process, and the bandwidth can be directly calculated without detecting the adjustment rate of the code rate, thereby adjusting the code in real time. Rate, can achieve better real-time data stream playback.
并且,在数据包中携带顺序标识,以顺序标识来表示数据包的发送顺序, 能够直观快速地确定连续发送的数据包,加快了计算速度。即使接收端接收的数据包顺序与发送端发送的数据包顺序不一致时,也能保证确定的连续发送的数据包正确,避免出现数据包顺序混乱的情况。Moreover, the sequence identifier is carried in the data packet, and the order of sending the data packet is indicated by the sequence identifier, so that the continuously transmitted data packet can be determined intuitively and quickly, and the calculation speed is accelerated. Even if the order of the data packets received by the receiving end is inconsistent with the order of the data packets sent by the transmitting end, it can ensure that the determined continuously transmitted data packets are correct, and the situation that the data packet sequence is disordered is avoided.
并且,根据在预设时长内由所述发送端连续发送的数据包计算得到的多个预测带宽计算统计值,可以得到更为准确的带宽,避免了偶然的网络波动对带宽的影响,进一步提高了准确率。Moreover, according to the calculation of the plurality of predicted bandwidths calculated by the data packets continuously sent by the transmitting end within the preset duration, a more accurate bandwidth can be obtained, thereby avoiding the influence of occasional network fluctuations on the bandwidth, and further improving. The accuracy rate.
图5是本申请实施例提供的一种带宽确定装置的结构示意图。参见图5,该装置包括:FIG. 5 is a schematic structural diagram of a bandwidth determining apparatus according to an embodiment of the present application. Referring to Figure 5, the device includes:
接收模块501,用于接收第一数据包和第二数据包;The receiving module 501 is configured to receive the first data packet and the second data packet.
时间差计算模块502,用于当确定第一数据包和第二数据包由发送端连续发送时,计算第二数据包与第一数据包的接收时间差,接收时间差用于表示接收端接收第二数据包的过程所耗费的时长;The time difference calculation module 502 is configured to: when determining that the first data packet and the second data packet are continuously sent by the transmitting end, calculate a receiving time difference between the second data packet and the first data packet, where the receiving time difference is used to indicate that the receiving end receives the second data The length of time it takes for the package process;
带宽计算模块503,用于计算第二数据包的数据长度与接收时间差之间的商,作为预测带宽;a bandwidth calculation module 503, configured to calculate a quotient between a data length of the second data packet and a reception time difference as a predicted bandwidth;
带宽计算模块503,还用于根据计算出的预测带宽,确定发送端与接收端之间的带宽。The bandwidth calculation module 503 is further configured to determine a bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
在一种可能实现方式中,发送端发送的每个数据包中包括顺序标识,顺序标识用于指示数据包的发送顺序,装置还包括:In a possible implementation, each data packet sent by the sending end includes a sequence identifier, and the sequence identifier is used to indicate a sending sequence of the data packet, and the device further includes:
确定模块,用于当确定第二数据包的顺序标识是第一数据包的顺序标识的下一个顺序标识时,确定第一数据包和第二数据包由发送端连续发送。And a determining module, configured to: when determining that the sequence identifier of the second data packet is the next sequential identifier of the sequence identifier of the first data packet, determining that the first data packet and the second data packet are continuously sent by the sending end.
在另一种可能实现方式中,时间差计算模块502,包括:In another possible implementation, the time difference calculation module 502 includes:
第一获取单元,用于将接收第一数据包完成时的时间点作为第一时间点;a first acquiring unit, configured to use a time point when the first data packet is received as a first time point;
第二获取单元,用于将接收第二数据包完成时的时间点作为第二时间点;a second acquiring unit, configured to use a time point when the second data packet is received as a second time point;
时间差获取单元,用于计算第一时间点与第二时间点之间的时间差。The time difference obtaining unit is configured to calculate a time difference between the first time point and the second time point.
在另一种可能实现方式中,带宽计算模块503,包括:In another possible implementation, the bandwidth calculation module 503 includes:
预测带宽单元,用于获取计算出的多个预测带宽,多个预测带宽分别根据在预设时长内由发送端连续发送的数据包计算得到;a prediction bandwidth unit, configured to obtain a plurality of calculated prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the transmitting end within a preset duration;
统计单元,用于计算多个预测带宽的统计值,作为发送端与接收端之间的带宽。A statistical unit is configured to calculate a statistical value of multiple predicted bandwidths as a bandwidth between the transmitting end and the receiving end.
在另一种可能实现方式中,装置还包括:In another possible implementation, the device further includes:
发送模块,用于向发送端发送带宽,由发送端设置与带宽匹配的码率,根据设置的码率向接收端发送数据。The sending module is configured to send a bandwidth to the sending end, and the sending end sets a code rate that matches the bandwidth, and sends data to the receiving end according to the set code rate.
上述可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。The foregoing optional technical solutions may be used in any combination to form an optional embodiment of the present disclosure, and details are not described herein again.
需要说明的是:上述实施例提供的带宽确定装置在计算发送端与接收端之间的带宽时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将接收端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的带宽确定装置与带宽确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that, when calculating the bandwidth between the transmitting end and the receiving end, the bandwidth determining apparatus provided by the foregoing embodiment only exemplifies the division of each functional module. In actual applications, the foregoing function may be allocated according to requirements. It is completed by different functional modules, that is, the internal structure of the receiving end is divided into different functional modules to complete all or part of the functions described above. In addition, the bandwidth determining apparatus and the bandwidth determining method embodiment provided by the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
图6示出了本申请一个示例性实施例提供的终端600的结构框图,终端600可以用于执行上述带宽确定方法中接收端所执行的步骤。该终端600可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。FIG. 6 is a structural block diagram of a terminal 600 according to an exemplary embodiment of the present application. The terminal 600 may be configured to perform the steps performed by the receiving end in the foregoing bandwidth determining method. The terminal 600 can be a portable mobile terminal, such as a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III), and a MP4 (Moving Picture Experts Group Audio Layer IV). Image experts compress standard audio layers 4) players, laptops or desktops. Terminal 600 may also be referred to as a user device, a portable terminal, a laptop terminal, a desktop terminal, and the like.
通常,终端600包括有:处理器601和存储器602。Generally, the terminal 600 includes a processor 601 and a memory 602.
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。 Processor 601 can include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. The processor 601 may be configured by at least one of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). achieve. The processor 601 may also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, which is also called a CPU (Central Processing Unit); the coprocessor is A low-power processor for processing data in standby. In some embodiments, the processor 601 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and rendering of the content that the display needs to display. In some embodiments, the processor 601 may also include an AI (Artificial Intelligence) processor for processing computational operations related to machine learning.
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的带宽确定方法。 Memory 602 can include one or more computer readable storage media, which can be non-transitory. Memory 602 can also include high speed random access memory, as well as non-volatile memory, such as one or more disk storage devices, flash storage devices. In some embodiments, the non-transitory computer readable storage medium in memory 602 is for storing at least one instruction for execution by processor 601 to implement the bandwidth determination provided by the method embodiments of the present application. method.
在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。In some embodiments, the terminal 600 optionally further includes: a peripheral device interface 603 and at least one peripheral device. The processor 601, the memory 602, and the peripheral device interface 603 can be connected by a bus or a signal line. Each peripheral device can be connected to the peripheral device interface 603 via a bus, signal line or circuit board. Specifically, the peripheral device includes at least one of a radio frequency circuit 604, a touch display screen 605, a camera 606, an audio circuit 607, a positioning component 608, and a power source 609.
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。The peripheral device interface 603 can be used to connect at least one peripheral device associated with an I/O (Input/Output) to the processor 601 and the memory 602. In some embodiments, processor 601, memory 602, and peripheral interface 603 are integrated on the same chip or circuit board; in some other embodiments, any of processor 601, memory 602, and peripheral interface 603 or The two can be implemented on a separate chip or circuit board, which is not limited in this embodiment.
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。The RF circuit 604 is configured to receive and transmit an RF (Radio Frequency) signal, also referred to as an electromagnetic signal. Radio frequency circuit 604 communicates with the communication network and other communication devices via electromagnetic signals. The RF circuit 604 converts the electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 604 includes an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and the like. Radio frequency circuitry 604 can communicate with other terminals via at least one wireless communication protocol. The wireless communication protocols include, but are not limited to, the World Wide Web, a metropolitan area network, an intranet, generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and/or WiFi (Wireless Fidelity) networks. In some embodiments, the radio frequency circuit 604 may also include a circuit related to NFC (Near Field Communication), which is not limited in this application.
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中, 显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。The display screen 605 is used to display a UI (User Interface). The UI can include graphics, text, icons, video, and any combination thereof. When display 605 is a touch display, display 605 also has the ability to capture touch signals over the surface or surface of display 605. The touch signal can be input to the processor 601 as a control signal for processing. At this time, the display screen 605 can also be used to provide virtual buttons and/or virtual keyboards, also referred to as soft buttons and/or soft keyboards. In some embodiments, the display screen 605 may be one, and the front panel of the terminal 600 is disposed; in other embodiments, the display screen 605 may be at least two, respectively disposed on different surfaces of the terminal 600 or in a folded design; In still other embodiments, the display screen 605 can be a flexible display screen disposed on a curved surface or a folded surface of the terminal 600. Even the display screen 605 can be set to a non-rectangular irregular pattern, that is, a profiled screen. The display screen 605 can be prepared by using a material such as an LCD (Liquid Crystal Display) or an OLED (Organic Light-Emitting Diode).
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。 Camera component 606 is used to capture images or video. Optionally, camera assembly 606 includes a front camera and a rear camera. Usually, the front camera is placed on the front panel of the terminal, and the rear camera is placed on the back of the terminal. In some embodiments, the rear camera is at least two, which are respectively a main camera, a depth camera, a wide-angle camera, and a telephoto camera, so as to realize the background blur function of the main camera and the depth camera, and the main camera Combine with a wide-angle camera for panoramic shooting and VR (Virtual Reality) shooting or other integrated shooting functions. In some embodiments, camera assembly 606 can also include a flash. The flash can be a monochrome temperature flash or a two-color temperature flash. The two-color temperature flash is a combination of a warm flash and a cool flash that can be used for light compensation at different color temperatures.
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。The audio circuit 607 can include a microphone and a speaker. The microphone is used to collect sound waves of the user and the environment, and convert the sound waves into electrical signals for processing to the processor 601 for processing, or input to the radio frequency circuit 604 for voice communication. For the purpose of stereo acquisition or noise reduction, the microphones may be multiple, and are respectively disposed at different parts of the terminal 600. The microphone can also be an array microphone or an omnidirectional acquisition microphone. The speaker is then used to convert electrical signals from the processor 601 or the RF circuit 604 into sound waves. The speaker can be a conventional film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, not only can the electrical signal be converted into human audible sound waves, but also the electrical signal can be converted into sound waves that are inaudible to humans for ranging and the like. In some embodiments, audio circuit 607 can also include a headphone jack.
定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件608可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。The location component 608 is used to locate the current geographic location of the terminal 600 to implement navigation or LBS (Location Based Service). The positioning component 608 can be a positioning component based on a US-based GPS (Global Positioning System), a Chinese Beidou system, or a Russian Galileo system.
电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电 的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。 Power source 609 is used to power various components in terminal 600. The power source 609 can be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power source 609 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged by a wired line, and a wireless rechargeable battery is a battery that is charged by a wireless coil. The rechargeable battery can also be used to support fast charging technology.
在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。In some embodiments, terminal 600 also includes one or more sensors 610. The one or more sensors 610 include, but are not limited to, an acceleration sensor 611, a gyro sensor 612, a pressure sensor 613, a fingerprint sensor 614, an optical sensor 615, and a proximity sensor 616.
加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。The acceleration sensor 611 can detect the magnitude of the acceleration on the three coordinate axes of the coordinate system established by the terminal 600. For example, the acceleration sensor 611 can be used to detect components of gravity acceleration on three coordinate axes. The processor 601 can control the touch display screen 605 to display the user interface in a landscape view or a portrait view according to the gravity acceleration signal collected by the acceleration sensor 611. The acceleration sensor 611 can also be used for the acquisition of game or user motion data.
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。The gyro sensor 612 can detect the body direction and the rotation angle of the terminal 600, and the gyro sensor 612 can cooperate with the acceleration sensor 611 to collect the 3D motion of the user to the terminal 600. Based on the data collected by the gyro sensor 612, the processor 601 can implement functions such as motion sensing (such as changing the UI according to the user's tilting operation), image stabilization at the time of shooting, game control, and inertial navigation.
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。The pressure sensor 613 may be disposed at a side border of the terminal 600 and/or a lower layer of the touch display screen 605. When the pressure sensor 613 is disposed on the side frame of the terminal 600, the user's holding signal to the terminal 600 can be detected, and the processor 601 performs left and right hand recognition or shortcut operation according to the holding signal collected by the pressure sensor 613. When the pressure sensor 613 is disposed on the lower layer of the touch display screen 605, the operability control on the UI interface is controlled by the processor 601 according to the user's pressure operation on the touch display screen 605. The operability control includes at least one of a button control, a scroll bar control, an icon control, and a menu control.
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商标志集成在一起。The fingerprint sensor 614 is used to collect the fingerprint of the user. The processor 601 identifies the identity of the user according to the fingerprint collected by the fingerprint sensor 614, or the fingerprint sensor 614 identifies the identity of the user according to the collected fingerprint. Upon identifying that the user's identity is a trusted identity, the processor 601 authorizes the user to perform related sensitive operations including unlocking the screen, viewing encrypted information, downloading software, paying and changing settings, and the like. The fingerprint sensor 614 can be disposed on the front, back, or side of the terminal 600. When the physical button or vendor logo is provided on the terminal 600, the fingerprint sensor 614 can be integrated with the physical button or the manufacturer logo.
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度 较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。Optical sensor 615 is used to collect ambient light intensity. In one embodiment, the processor 601 can control the display brightness of the touch display 605 according to the ambient light intensity acquired by the optical sensor 615. Specifically, when the ambient light intensity is high, the display brightness of the touch display screen 605 is raised; when the ambient light intensity is low, the display brightness of the touch display screen 605 is lowered. In another embodiment, the processor 601 can also dynamically adjust the shooting parameters of the camera assembly 606 according to the ambient light intensity collected by the optical sensor 615.
接近传感器616,也称距离传感器,通常设置在终端600的前面板。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。Proximity sensor 616, also referred to as a distance sensor, is typically disposed on the front panel of terminal 600. Proximity sensor 616 is used to capture the distance between the user and the front of terminal 600. In one embodiment, when the proximity sensor 616 detects that the distance between the user and the front side of the terminal 600 is gradually decreasing, the touch screen display 605 is controlled by the processor 601 to switch from the bright screen state to the screen state; when the proximity sensor 616 detects When the distance between the user and the front side of the terminal 600 gradually becomes larger, the processor 601 controls the touch display screen 605 to switch from the screen state to the bright screen state.
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。It will be understood by those skilled in the art that the structure shown in FIG. 6 does not constitute a limitation to the terminal 600, and may include more or less components than those illustrated, or may combine some components or adopt different component arrangements.
图7是本申请实施例提供的一种服务器的结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。FIG. 7 is a schematic structural diagram of a server according to an embodiment of the present application. The server 700 may generate a large difference due to different configurations or performances, and may include one or more central processing units (CPUs) 722 ( For example, one or more processors) and memory 732, one or more storage media 730 that store application 742 or data 744 (eg, one or one storage device in Shanghai). Among them, the memory 732 and the storage medium 730 may be short-term storage or persistent storage. The program stored on storage medium 730 may include one or more modules (not shown), each of which may include a series of instruction operations in the server. Still further, central processor 722 can be configured to communicate with storage medium 730, executing a series of instruction operations in storage medium 730 on server 700.
服务器700还可以包括一个或一个以上电源727,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,一个或一个以上键盘757,和/或,一个或一个以上操作系统741,例如Windows Server TM,Mac OS X TM,Unix TM,Linux TM,FreeBSD TM等等。 Server 700 may also include one or more power sources 727, one or more wired or wireless network interfaces 750, one or more input and output interfaces 758, one or more keyboards 757, and/or one or more operating systems 741 such as Windows Server TM, Mac OS X TM , Unix TM, Linux TM, FreeBSD TM and so on.
服务器700可以用于执行上述带宽确定方法中接收端所执行的步骤。The server 700 can be configured to perform the steps performed by the receiving end in the bandwidth determining method described above.
本申请实施例还提供了一种接收设备,该接收设备可以为上述终端600或服务器700,另外也可以其他类型的设备。The embodiment of the present application further provides a receiving device, which may be the terminal 600 or the server 700, or other types of devices.
该接收设备包括处理器和存储器,存储器中存储有至少一条指令,指令由 处理器加载并执行以实现如下操作:The receiving device includes a processor and a memory in which at least one instruction is stored, the instruction being loaded and executed by the processor to:
接收第一数据包和第二数据包;Receiving the first data packet and the second data packet;
当确定第一数据包和第二数据包由发送设备连续发送时,计算第二数据包与第一数据包的接收时间差,接收时间差用于表示接收设备接收第二数据包的过程所耗费的时长;When it is determined that the first data packet and the second data packet are continuously transmitted by the sending device, calculating a receiving time difference between the second data packet and the first data packet, where the receiving time difference is used to indicate a duration of the process of the receiving device receiving the second data packet ;
计算第二数据包的数据长度与接收时间差之间的商,作为预测带宽;Calculating a quotient between a data length of the second data packet and a reception time difference as a predicted bandwidth;
根据计算出的预测带宽,确定发送设备与接收设备之间的带宽。The bandwidth between the transmitting device and the receiving device is determined according to the calculated predicted bandwidth.
在一种可能实现方式中,发送设备发送的每个数据包中包括顺序标识,顺序标识用于指示数据包的发送顺序,指令由处理器加载并执行以实现如下操作:In a possible implementation manner, each data packet sent by the sending device includes a sequence identifier, and the sequence identifier is used to indicate a sending sequence of the data packet, and the instruction is loaded and executed by the processor to implement the following operations:
当确定第二数据包的顺序标识是第一数据包的顺序标识的下一个顺序标识时,确定第一数据包和第二数据包由发送设备连续发送。When it is determined that the sequence identification of the second data packet is the next sequential identification of the sequential identification of the first data packet, it is determined that the first data packet and the second data packet are continuously transmitted by the transmitting device.
在另一种可能实现方式中,指令由处理器加载并执行以实现如下操作:In another possible implementation, the instructions are loaded and executed by the processor to:
将接收第一数据包完成时的时间点作为第一时间点;The time point when the first data packet is received is taken as the first time point;
将接收第二数据包完成时的时间点作为第二时间点;The time point when the second data packet is received is taken as the second time point;
计算第一时间点与第二时间点之间的时间差。A time difference between the first time point and the second time point is calculated.
在另一种可能实现方式中,指令由处理器加载并执行以实现如下操作:In another possible implementation, the instructions are loaded and executed by the processor to:
获取计算出的多个预测带宽,多个预测带宽分别根据在预设时长内由发送设备连续发送的数据包计算得到;Obtaining a plurality of calculated prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the sending device within a preset duration;
计算多个预测带宽的统计值,作为发送设备与接收设备之间的带宽。A statistical value of a plurality of predicted bandwidths is calculated as a bandwidth between the transmitting device and the receiving device.
在另一种可能实现方式中,其特征在于,指令由处理器加载并执行以实现如下操作:In another possible implementation, the instructions are loaded and executed by the processor to:
向发送设备发送带宽,由发送设备设置与带宽匹配的码率,根据设置的码率向接收设备发送数据。The bandwidth is transmitted to the transmitting device, and the transmitting device sets a code rate that matches the bandwidth, and transmits data to the receiving device according to the set code rate.
本申请实施例还提供了一种计算机可读存储介质,例如,计算机可读存储介质可以是ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc-Read Only Memory,光盘只读存储器)、磁带、软盘和光数据存储设备等。The embodiment of the present application further provides a computer readable storage medium. For example, the computer readable storage medium may be a ROM (Read Only Memory), a RAM (Random Access Memory), a CD-ROM. (Compact Disc-Read Only Memory), magnetic tape, floppy disk, and optical data storage device.
该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该指令、该程序、该代码集或该指令集由接收设备的处理器加载并执 行以实现如下操作:The computer readable storage medium stores at least one instruction, at least one program, code set or instruction set, the instruction, the program, the code set or the instruction set being loaded and executed by a processor of the receiving device to perform the following operations:
接收第一数据包和第二数据包;Receiving the first data packet and the second data packet;
当确定第一数据包和第二数据包由发送设备连续发送时,计算第二数据包与第一数据包的接收时间差,接收时间差用于表示接收设备接收第二数据包的过程所耗费的时长;When it is determined that the first data packet and the second data packet are continuously transmitted by the sending device, calculating a receiving time difference between the second data packet and the first data packet, where the receiving time difference is used to indicate a duration of the process of the receiving device receiving the second data packet ;
计算第二数据包的数据长度与接收时间差之间的商,作为预测带宽;Calculating a quotient between a data length of the second data packet and a reception time difference as a predicted bandwidth;
根据计算出的预测带宽,确定发送设备与接收设备之间的带宽。The bandwidth between the transmitting device and the receiving device is determined according to the calculated predicted bandwidth.
在一种可能实现方式中,发送设备发送的每个数据包中包括顺序标识,顺序标识用于指示数据包的发送顺序,指令由处理器加载并执行以实现如下操作:In a possible implementation manner, each data packet sent by the sending device includes a sequence identifier, and the sequence identifier is used to indicate a sending sequence of the data packet, and the instruction is loaded and executed by the processor to implement the following operations:
当确定第二数据包的顺序标识是第一数据包的顺序标识的下一个顺序标识时,确定第一数据包和第二数据包由发送设备连续发送。When it is determined that the sequence identification of the second data packet is the next sequential identification of the sequential identification of the first data packet, it is determined that the first data packet and the second data packet are continuously transmitted by the transmitting device.
在另一种可能实现方式中,指令由处理器加载并执行以实现如下操作:In another possible implementation, the instructions are loaded and executed by the processor to:
将接收第一数据包完成时的时间点作为第一时间点;The time point when the first data packet is received is taken as the first time point;
将接收第二数据包完成时的时间点作为第二时间点;The time point when the second data packet is received is taken as the second time point;
计算第一时间点与第二时间点之间的时间差。A time difference between the first time point and the second time point is calculated.
在另一种可能实现方式中,指令由处理器加载并执行以实现如下操作:In another possible implementation, the instructions are loaded and executed by the processor to:
获取计算出的多个预测带宽,多个预测带宽分别根据在预设时长内由发送设备连续发送的数据包计算得到;Obtaining a plurality of calculated prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the sending device within a preset duration;
计算多个预测带宽的统计值,作为发送设备与接收设备之间的带宽。A statistical value of a plurality of predicted bandwidths is calculated as a bandwidth between the transmitting device and the receiving device.
在另一种可能实现方式中,其特征在于,指令由处理器加载并执行以实现如下操作:In another possible implementation, the instructions are loaded and executed by the processor to:
向发送设备发送带宽,由发送设备设置与带宽匹配的码率,根据设置的码率向接收设备发送数据。The bandwidth is transmitted to the transmitting device, and the transmitting device sets a code rate that matches the bandwidth, and transmits data to the receiving device according to the set code rate.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。A person skilled in the art can understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be executed by a program to instruct related hardware, and the program may be stored in a computer readable storage medium. The storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。The above is only the preferred embodiment of the present application, and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application are included in the protection of the present application. Within the scope.

Claims (13)

  1. 一种带宽确定方法,其特征在于,应用于接收端中,所述方法包括:A method for determining a bandwidth, which is applied to a receiving end, and the method includes:
    接收第一数据包和第二数据包;Receiving the first data packet and the second data packet;
    当确定所述第一数据包和所述第二数据包由发送端连续发送时,计算所述第二数据包与所述第一数据包的接收时间差,所述接收时间差用于表示所述接收端接收所述第二数据包的过程所耗费的时长;When it is determined that the first data packet and the second data packet are continuously sent by the transmitting end, calculating a receiving time difference between the second data packet and the first data packet, where the receiving time difference is used to indicate the receiving The length of time taken by the terminal to receive the second data packet;
    计算所述第二数据包的数据长度与所述接收时间差之间的商,作为预测带宽;Calculating a quotient between a data length of the second data packet and the reception time difference as a prediction bandwidth;
    根据计算出的预测带宽,确定所述发送端与所述接收端之间的带宽。And determining a bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
  2. 根据权利要求1所述的方法,其特征在于,所述发送端发送的每个数据包中包括顺序标识,所述顺序标识用于指示数据包的发送顺序,所述接收第一数据包和第二数据包之后,所述方法还包括:The method according to claim 1, wherein each data packet sent by the transmitting end includes a sequence identifier, the sequence identifier is used to indicate a sending order of the data packet, and the receiving the first data packet and the first After the second data packet, the method further includes:
    当确定所述第二数据包的顺序标识是所述第一数据包的顺序标识的下一个顺序标识时,确定所述第一数据包和所述第二数据包由所述发送端连续发送。When it is determined that the sequence identifier of the second data packet is the next sequential identifier of the sequence identifier of the first data packet, determining that the first data packet and the second data packet are continuously sent by the sending end.
  3. 根据权利要求1所述的方法,其特征在于,所述根据计算出的预测带宽,确定所述发送端与所述接收端之间的带宽,包括:The method according to claim 1, wherein the determining the bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth comprises:
    获取计算出的多个预测带宽,所述多个预测带宽分别根据在预设时长内由所述发送端连续发送的数据包计算得到;Obtaining a plurality of calculated prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the transmitting end within a preset duration;
    计算所述多个预测带宽的统计值,作为所述发送端与所述接收端之间的带宽。Calculating a statistical value of the multiple predicted bandwidths as a bandwidth between the transmitting end and the receiving end.
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述确定所述发送端与所述接收端之间的带宽之后,所述方法还包括:The method according to any one of claims 1 to 3, wherein after the determining the bandwidth between the transmitting end and the receiving end, the method further comprises:
    向所述发送端发送所述带宽,由所述发送端设置与所述带宽匹配的码率,根据设置的码率向所述接收端发送数据。Transmitting the bandwidth to the transmitting end, setting, by the transmitting end, a code rate that matches the bandwidth, and transmitting data to the receiving end according to the set code rate.
  5. 一种带宽确定装置,其特征在于,所述装置包括:A bandwidth determining apparatus, characterized in that the apparatus comprises:
    接收模块,用于接收第一数据包和第二数据包;a receiving module, configured to receive the first data packet and the second data packet;
    时间差计算模块,用于当确定所述第一数据包和所述第二数据包由发送端连续发送时,计算所述第二数据包与所述第一数据包的接收时间差,所述接收时间差用于表示接收端接收所述第二数据包的过程所耗费的时长;a time difference calculation module, configured to calculate, when the first data packet and the second data packet are continuously sent by the transmitting end, a time difference of receiving the second data packet and the first data packet, where the receiving time difference is Means for indicating the length of time that the receiving end receives the second data packet;
    带宽计算模块,用于计算所述第二数据包的数据长度与所述接收时间差之间的商,作为预测带宽;a bandwidth calculation module, configured to calculate a quotient between a data length of the second data packet and the received time difference as a predicted bandwidth;
    所述带宽计算模块,用于根据计算出的预测带宽,确定所述发送端与所述接收端之间的带宽。The bandwidth calculation module is configured to determine a bandwidth between the transmitting end and the receiving end according to the calculated predicted bandwidth.
  6. 根据权利要求5所述的装置,其特征在于,所述发送端发送的每个数据包中包括顺序标识,所述顺序标识用于指示数据包的发送顺序,所述装置还包括:The device according to claim 5, wherein each of the data packets sent by the transmitting end includes a sequence identifier, the sequence identifier is used to indicate a sending order of the data packets, and the device further includes:
    确定模块,用于当确定所述第二数据包的顺序标识是所述第一数据包的顺序标识的下一个顺序标识时,确定所述第一数据包和所述第二数据包由所述发送端连续发送。a determining module, configured to: when determining that the sequence identifier of the second data packet is the next sequential identifier of the sequential identifier of the first data packet, determining that the first data packet and the second data packet are The sender sends continuously.
  7. 根据权利要求5所述的装置,其特征在于,所述带宽计算模块,包括:The device according to claim 5, wherein the bandwidth calculation module comprises:
    预测带宽单元,用于获取计算出的多个预测带宽,所述多个预测带宽分别根据在预设时长内由所述发送端连续发送的数据包计算得到;a prediction bandwidth unit, configured to obtain the calculated plurality of prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the sending end within a preset duration;
    统计单元,用于计算所述多个预测带宽的统计值,作为所述发送端与所述接收端之间的带宽。And a statistical unit, configured to calculate a statistical value of the multiple predicted bandwidths, as a bandwidth between the transmitting end and the receiving end.
  8. 根据权利要求5-7任一项所述的装置,其特征在于,所述装置还包括:The device according to any one of claims 5-7, wherein the device further comprises:
    发送模块,用于向所述发送端发送所述带宽,由所述发送端设置与所述带宽匹配的码率,根据设置的码率向所述接收端发送数据。And a sending module, configured to send the bandwidth to the sending end, where the sending end sets a code rate that matches the bandwidth, and sends data to the receiving end according to the set code rate.
  9. 一种接收设备,其特征在于,所述接收设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如下操作:A receiving device, characterized in that the receiving device comprises a processor and a memory, wherein the memory stores at least one instruction, the instruction being loaded and executed by the processor to implement the following operations:
    接收第一数据包和第二数据包;Receiving the first data packet and the second data packet;
    当确定所述第一数据包和所述第二数据包由发送设备连续发送时,计算所述第二数据包与所述第一数据包的接收时间差,所述接收时间差用于表示所述 接收设备接收所述第二数据包的过程所耗费的时长;And determining, when the first data packet and the second data packet are continuously sent by the sending device, a receiving time difference between the second data packet and the first data packet, where the receiving time difference is used to indicate the receiving The length of time taken by the device to receive the second data packet;
    计算所述第二数据包的数据长度与所述接收时间差之间的商,作为预测带宽;Calculating a quotient between a data length of the second data packet and the reception time difference as a prediction bandwidth;
    根据计算出的预测带宽,确定所述发送设备与所述接收设备之间的带宽。Determining a bandwidth between the transmitting device and the receiving device according to the calculated predicted bandwidth.
  10. 根据权利要求9所述的设备,其特征在于,所述发送设备发送的每个数据包中包括顺序标识,所述顺序标识用于指示数据包的发送顺序,所述指令由所述处理器加载并执行以实现如下操作:The device according to claim 9, wherein each data packet sent by the sending device includes a sequence identifier, the sequence identifier is used to indicate a sending order of the data packet, and the instruction is loaded by the processor. And execute to achieve the following operations:
    当确定所述第二数据包的顺序标识是所述第一数据包的顺序标识的下一个顺序标识时,确定所述第一数据包和所述第二数据包由所述发送设备连续发送。When it is determined that the sequence identifier of the second data packet is the next sequential identifier of the sequence identifier of the first data packet, determining that the first data packet and the second data packet are continuously sent by the sending device.
  11. 根据权利要求9所述的设备,其特征在于,所述指令由所述处理器加载并执行以实现如下操作:The device of claim 9 wherein said instructions are loaded and executed by said processor to:
    获取计算出的多个预测带宽,所述多个预测带宽分别根据在预设时长内由所述发送设备连续发送的数据包计算得到;Obtaining a plurality of calculated prediction bandwidths, where the plurality of prediction bandwidths are respectively calculated according to data packets continuously sent by the sending device within a preset duration;
    计算所述多个预测带宽的统计值,作为所述发送设备与所述接收设备之间的带宽。Calculating a statistical value of the plurality of predicted bandwidths as a bandwidth between the transmitting device and the receiving device.
  12. 根据权利要求9-11任一项所述的设备,其特征在于,所述指令由所述处理器加载并执行以实现如下操作:A device according to any one of claims 9-11, wherein the instructions are loaded and executed by the processor to:
    向所述发送设备发送所述带宽,由所述发送设备设置与所述带宽匹配的码率,根据设置的码率向所述接收设备发送数据。Transmitting the bandwidth to the sending device, setting, by the sending device, a code rate that matches the bandwidth, and transmitting data to the receiving device according to the set code rate.
  13. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至4任一权利要求所述的带宽确定方法中所执行的操作。A computer readable storage medium, wherein the computer readable storage medium stores at least one instruction loaded by a processor and executed to implement the method of any one of claims 1 to 4. The operations performed in the bandwidth determination method.
PCT/CN2018/111960 2017-12-29 2018-10-25 Method, apparatus and device for determining bandwidth, and storage medium WO2019128430A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711484244 2017-12-29
CN201711484244.1 2017-12-29

Publications (1)

Publication Number Publication Date
WO2019128430A1 true WO2019128430A1 (en) 2019-07-04

Family

ID=67063012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/111960 WO2019128430A1 (en) 2017-12-29 2018-10-25 Method, apparatus and device for determining bandwidth, and storage medium

Country Status (2)

Country Link
CN (1) CN109995609A (en)
WO (1) WO2019128430A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141277B (en) * 2021-05-19 2022-11-22 北京安信智通科技有限公司 Method and device for determining transmission bandwidth and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7948906B1 (en) * 1999-02-08 2011-05-24 Realnetworks, Inc. System and method for determining network conditions
CN102711172A (en) * 2012-05-25 2012-10-03 浙江工业大学 Modified TCPW congestion control method in wireless network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204051B2 (en) * 2003-03-19 2012-06-19 Samsung Electronics Co., Ltd. Apparatus and method for queuing delay-sensitive packets for transmission on heterogenous links
CN100463422C (en) * 2006-09-08 2009-02-18 中山大学 A link, path, and network availability bandwidth measurement method
US7804777B2 (en) * 2006-10-31 2010-09-28 Cisco Technology, Inc. Upstream data rate estimation
CN101964727B (en) * 2009-07-22 2012-09-05 中兴通讯股份有限公司 Method and device for measuring available bandwidth by using mixed messages
CN106330600B (en) * 2016-08-18 2019-03-22 成都网优力软件有限公司 A kind of method of small flow quick obtaining network availability bandwidth
CN106656679B (en) * 2017-02-08 2019-09-24 北京邮电大学 Availability bandwidth measurement method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7948906B1 (en) * 1999-02-08 2011-05-24 Realnetworks, Inc. System and method for determining network conditions
CN102711172A (en) * 2012-05-25 2012-10-03 浙江工业大学 Modified TCPW congestion control method in wireless network

Also Published As

Publication number Publication date
CN109995609A (en) 2019-07-09

Similar Documents

Publication Publication Date Title
WO2019128592A1 (en) Method and apparatus for live broadcasting
US20210153629A1 (en) Method for processing images, electronic device, and storage medium
US11200022B2 (en) Method and apparatus of playing audio data
CN109246123B (en) Media stream acquisition method and device
CN110278464B (en) Method and device for displaying list
EP4000700A1 (en) Camera shot movement control method, device, apparatus, and storage medium
CN109951398B (en) Data sending method and device and computer equipment
CN111107389B (en) Method, device and system for determining live broadcast watching time length
CN111327694B (en) File uploading method and device, storage medium and electronic equipment
CN110740340A (en) Video live broadcast method and device and storage medium
WO2020088542A1 (en) Data management method, apparatus and system, and server, terminal and storage medium
CN111510482B (en) Method and device for determining failed network request and computer storage medium
CN110856152A (en) Method, device, electronic equipment and medium for playing audio data
CN111106902B (en) Data message transmission method, device, equipment and computer readable storage medium
CN108401194B (en) Time stamp determination method, apparatus and computer-readable storage medium
CN110912830B (en) Method and device for transmitting data
CN109688064B (en) Data transmission method and device, electronic equipment and storage medium
WO2019128430A1 (en) Method, apparatus and device for determining bandwidth, and storage medium
CN112669884B (en) Audio data processing method, device, equipment and storage medium
EP4007229A1 (en) Bandwidth determination method and apparatus, and terminal, and storage medium
CN110708582B (en) Synchronous playing method, device, electronic equipment and medium
CN110336881B (en) Method and device for executing service processing request
CN115035187A (en) Sound source direction determining method, device, terminal, storage medium and product
CN111314205B (en) Instant messaging matching method, device, system, equipment and storage medium
CN112015612B (en) Method and device for acquiring stuck information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18897775

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18897775

Country of ref document: EP

Kind code of ref document: A1