WO2019128430A1 - Procédé, appareil et dispositif permettant de déterminer une largeur de bande, et support de stockage - Google Patents

Procédé, appareil et dispositif permettant de déterminer une largeur de bande, et support de stockage 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
English (en)
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/fr

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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

L'invention concerne un procédé, un appareil et un dispositif permettant de déterminer une largeur de bande, et un support de stockage, qui appartiennent au domaine technique des réseaux. Le procédé consiste : à recevoir un premier paquet de données et un second paquet de données; lorsqu'il est déterminé que le premier paquet de données et le second paquet de données sont envoyés en continu par une extrémité d'envoi, à calculer une différence de temps de réception entre le second paquet de données et le premier paquet de données, la différence de temps de réception servant à indiquer une durée consommée par une extrémité de réception pour recevoir le second paquet de données; à calculer un quotient d'une longueur de données du second paquet de données et de la différence de temps de réception et à le considérer comme une largeur de bande prédite; et selon la largeur de bande prédite calculée, à déterminer une largeur de bande entre l'extrémité d'envoi et l'extrémité de réception. Dans la présente invention, une durée consommée par le processus de réception d'un second paquet de données peut être déterminée avec précision au niveau d'une extrémité de réception selon une différence de temps de réception entre deux paquets de données envoyés en continu, de façon à calculer une largeur de bande précise, ce qui permet d'améliorer la précision de calcul; et un débit de code d'adaptation est réglé en fonction de la largeur de bande calculée, de sorte que le taux d'utilisation de largeur de bande puisse être amélioré autant que possible lorsqu'une transmission de données normale est assurée.
PCT/CN2018/111960 2017-12-29 2018-10-25 Procédé, appareil et dispositif permettant de déterminer une largeur de bande, et support de stockage WO2019128430A1 (fr)

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 (fr) 2019-07-04

Family

ID=67063012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/111960 WO2019128430A1 (fr) 2017-12-29 2018-10-25 Procédé, appareil et dispositif permettant de déterminer une largeur de bande, et support de stockage

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141277B (zh) * 2021-05-19 2022-11-22 北京安信智通科技有限公司 传输带宽的确定方法、装置以及存储介质

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 (zh) * 2012-05-25 2012-10-03 浙江工业大学 一种无线网络中改进的tcpw拥塞控制方法

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 (zh) * 2006-09-08 2009-02-18 中山大学 一种链路、路径、网络可用带宽测量方法
US7804777B2 (en) * 2006-10-31 2010-09-28 Cisco Technology, Inc. Upstream data rate estimation
CN101964727B (zh) * 2009-07-22 2012-09-05 中兴通讯股份有限公司 一种利用混合报文测量可用带宽的方法和装置
CN106330600B (zh) * 2016-08-18 2019-03-22 成都网优力软件有限公司 一种小流量快速获取网络可用带宽的方法
CN106656679B (zh) * 2017-02-08 2019-09-24 北京邮电大学 可用带宽测量方法

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 (zh) * 2012-05-25 2012-10-03 浙江工业大学 一种无线网络中改进的tcpw拥塞控制方法

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2019128592A1 (fr) Procédé et appareil de diffusion en direct
US11200022B2 (en) Method and apparatus of playing audio data
CN110278464B (zh) 显示榜单的方法和装置
CN109246123B (zh) 媒体流获取方法及装置
EP4000700A1 (fr) Procédé de commande de mouvement de plan de caméra, dispositif, appareil, et support de stockage
CN109951398B (zh) 数据发送方法、装置及计算机设备
CN111107389B (zh) 确定观看直播时长的方法、装置和系统
CN111510482B (zh) 失败网络请求的确定方法、装置及计算机存储介质
CN111327694B (zh) 文件上传方法、装置、存储介质及电子设备
CN111106902B (zh) 数据报文传输方法、装置、设备及计算机可读存储介质
CN110740340A (zh) 视频直播方法及装置、存储介质
WO2020088542A1 (fr) Procédé, appareil et système de gestion de données, et serveur, terminal et support de stockage associés
CN110856152A (zh) 播放音频数据的方法、装置、电子设备及介质
CN108401194B (zh) 时间戳确定方法、装置和计算机可读存储介质
CN111986700B (zh) 无接触式操作触发的方法、装置、设备及存储介质
CN112015612B (zh) 一种获取卡顿信息的方法及装置
CN109688064B (zh) 数据传输方法、装置、电子设备和存储介质
WO2019128430A1 (fr) Procédé, appareil et dispositif permettant de déterminer une largeur de bande, et support de stockage
CN112669884B (zh) 音频数据处理方法、装置、设备及存储介质
EP4007229A1 (fr) Procédé et appareil de détermination de bandes passantes, terminal et support de stockage
CN113448692B (zh) 分布式图计算的方法、装置、设备及存储介质
CN110708582B (zh) 同步播放的方法、装置、电子设备及介质
CN110336881B (zh) 执行业务处理请求的方法和装置
CN115035187A (zh) 声源方向确定方法、装置、终端、存储介质及产品
CN111314205B (zh) 即时通信匹配的方法、装置、系统、设备以及存储介质

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