Method, device, base station and storage medium for determining transmission delay of data packet

By introducing a variable delay cursor in the wireless protocol stack and collecting the timestamps and identifiers of data packets, the problem of inability to accurately measure segment delay in the existing technology is solved, efficient data transmission delay determination is achieved, and data transmission efficiency is improved.

CN118413496BActive Publication Date: 2025-10-03PURPLE MOUNTAIN LAB
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410378733.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-03-29
Publication Date
2025-10-03
Estimated Expiration
2044-03-29

AI Technical Summary

Technical Problem

Existing technologies cannot accurately measure the segment delay of data packets in the wireless protocol stack, resulting in an inability to accurately describe the relationship between packet characteristics and packet delay, and an inability to obtain high-precision segment delay data, which affects data transmission efficiency.

Method used

By introducing an embeddable variable delay cursor in the wireless protocol stack, the timestamps and identifiers of data packets at each protocol layer are collected and sent to the control platform for calculating the one-way segment delay of the data packets, avoiding the need for time synchronization between network elements.

Benefits of technology

It achieves accurate determination of partial one-way segment delay of data packets without the need for time synchronization between network elements, optimizes the data transmission process, and improves data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118413496B_ABST
    Figure CN118413496B_ABST
Patent Text Reader

Abstract

The present invention provides a method, device, base station and storage medium for determining the transmission delay of a data packet. The method is applied to a wireless protocol stack, which includes multiple protocol layers and an embedded variable delay cursor is introduced into the wireless protocol stack. The method comprises: traversing the multiple protocol layers, for the first protocol layer, using the variable delay cursor, collecting a first timestamp of a data packet entering the first protocol layer, and determining a first identifier corresponding to the data packet in the first protocol layer; for each other protocol layer, using the variable delay cursor, collecting a second timestamp corresponding to a target data packet entering each other protocol layer, and determining a second identifier corresponding to the target data packet in each other protocol layer, wherein the target data packet is a data packet carrying an identifier of the previous protocol layer; sending the first timestamp, all second timestamps, the first identifier and all second identifiers to a control platform, wherein the control platform is configured to determine a first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier and all second identifiers. The method collects the timestamp of the data packet by the cursor in the wireless protocol stack, and combines the identifier of the data packet. After interacting with the control platform, the method can effectively determine a partial one-way segment delay of the data packet, thereby effectively optimizing the data transmission process and improving data transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing technology, and in particular to a method, device, base station and storage medium for determining the transmission delay of a data packet. Background Art

[0002] In existing technologies, end-to-end latency is considered a key metric that reflects the cumulative latency of the entire transmission process at the service level. Currently, time-sensitive wireless networks (TSN) are commonly used to calculate end-to-end latency using round-trip time (RTT). However, for TSN networks, which require bounded latency, obtaining segmented latency data is even more important.

[0003] The protocol's recommended segmented measurement strategy, when involving different network elements in the baseband unit (BBU), requires synchronizing the time between the different elements before measuring the packet delay at each element. While this approach can yield segmented delay, it fails to track the delay of a single packet across layers. Instead, it can only average multiple packets within a certain timeframe. This results in an inability to accurately describe the relationship between packet characteristics and packet delay, making it impossible to obtain highly accurate segmented delay data, resulting in low data transmission efficiency. Summary of the Invention

[0004] The present invention provides a method, device, base station and storage medium for determining the transmission delay of a data packet, which is used to overcome the defect of the existing technology that it is unable to obtain highly accurate segmented delay data. Without synchronizing the time between different network elements, the timestamp of the data packet is collected by a cursor in the wireless protocol stack. Combined with the identifier of the data packet, after interacting with a control platform, the partial one-way segmented delay of the data packet can be effectively determined, thereby effectively optimizing the data transmission process and improving data transmission efficiency.

[0005] The present invention provides a method for determining the transmission delay of a data packet, which is applied to a wireless protocol stack, wherein the wireless protocol stack includes multiple protocol layers and an embeddable variable delay cursor is introduced into the wireless protocol stack. The method comprises:

[0006] Traversing the multiple protocol layers, for a first protocol layer, collecting a first timestamp of a data packet entering the first protocol layer through the variable delay cursor, and determining a first identifier corresponding to the data packet at the first protocol layer;

[0007] For each other protocol layer, using the variable delay cursor, collect the second timestamp corresponding to the target data packet entering the other protocol layer, and determine the second identifier corresponding to the target data packet at the other protocol layer, where the target data packet is a data packet carrying the identifier of the previous protocol layer;

[0008] The first timestamp, all second timestamps, the first identifier and all second identifiers are sent to a control platform, and the control platform is used to determine a first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier and all second identifiers.

[0009] According to a method for determining the transmission delay of a data packet provided by the present invention, determining the second identifier corresponding to the target data packet at each other protocol layer includes: determining the second identifier corresponding to the target data packet at each other protocol layer based on the memory of the target data packet; or determining the identifier corresponding to the target data packet as the second identifier corresponding to the target data packet at each other protocol layer.

[0010] According to a method for determining the transmission delay of a data packet provided by the present invention, the method further includes: collecting, in real time through a time window, a timestamp corresponding to the data packet and a target identifier of the data packet under the timestamp, the timestamp belonging to the first timestamp and / or all the second timestamps; and determining, based on the timestamp, a second target transmission delay of the data packet in the protocol layer corresponding to the target identifier.

[0011] According to a method for determining the transmission delay of a data packet provided by the present invention, the first timestamp, all second timestamps, the first identifier and all second identifiers are sent to a control platform, including: constructing an identifier comparison table corresponding to the data packet based on the first identifier and all second identifiers; and sending the first timestamp, all second timestamps and the identifier comparison table to the control platform.

[0012] According to a method for determining the transmission delay of a data packet provided by the present invention, the first target transmission delay is obtained by the control platform based on the following steps: when the first target transmission delay is a same-layer transmission delay, the same-layer transmission delay is determined according to a first starting timestamp and a first ending timestamp corresponding to a first target protocol layer, where the first target protocol layer is any protocol layer among the multiple protocol layers; when the first target transmission delay is a cross-layer transmission delay, the cross-layer transmission delay is determined according to a second starting timestamp corresponding to the second target protocol layer and a second ending timestamp corresponding to a third target protocol layer, where the second target protocol layer is any protocol layer among the multiple protocol layers, and the third target protocol layer is any protocol layer that the data packet enters after leaving the second target protocol layer.

[0013] According to a method for determining the transmission delay of a data packet provided by the present invention, the method determines the second identifier corresponding to the target data packet at each other protocol layer based on the memory of the target data packet, including: when the memory of the target data packet is less than a preset threshold, determining the identifier corresponding to the target data packet as the second identifier corresponding to the target data packet at each other protocol layer; when the memory is greater than or equal to the preset threshold, segmenting the target data packet through the other protocol layer to obtain multiple sub-data packets; and determining the identifier corresponding to each of the multiple sub-data packets as the second identifier corresponding to the target data packet at each other protocol layer.

[0014] According to a method for determining the transmission delay of a data packet provided by the present invention, determining the first identifier corresponding to the data packet at the first protocol layer includes: adding a header to the data packet through the first protocol layer, the header carrying a serial number; and determining the serial number as the first identifier corresponding to the data packet at the first protocol layer.

[0015] According to a method for determining the transmission delay of a data packet provided by the present invention, the method further includes: storing the first timestamp, all the second timestamps, the first identifier, and all the second identifiers in the form of an asynchronous log.

[0016] The present invention also provides a device for determining the transmission delay of a data packet, which is applied to a wireless protocol stack, wherein the wireless protocol stack includes multiple protocol layers and an embeddable variable delay cursor is introduced into the wireless protocol stack. The device includes:

[0017] A data processing module is configured to traverse the multiple protocol layers, and for a first protocol layer, collect a first timestamp of a data packet entering the first protocol layer through the variable delay cursor, and determine a first identifier corresponding to the data packet at the first protocol layer; for each other protocol layer, collect a second timestamp corresponding to a target data packet entering each other protocol layer through the variable delay cursor, and determine a second identifier corresponding to the target data packet at each other protocol layer, wherein the target data packet is a data packet carrying an identifier of a previous protocol layer;

[0018] A delay determination module is used to send the first timestamp, all second timestamps, the first identifier and all second identifiers to a control platform, and the control platform is used to determine the first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier and all second identifiers.

[0019] The present invention also provides a base station, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method for determining the transmission delay of a data packet as described above is implemented.

[0020] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the above-described methods for determining the transmission delay of a data packet.

[0021] The present invention also provides a computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements any of the above methods for determining the transmission delay of a data packet.

[0022] The present invention provides a method, device, base station and storage medium for determining the transmission delay of a data packet. The method is applied to a wireless protocol stack, which includes multiple protocol layers. An embeddable variable delay cursor is introduced into the wireless protocol stack. The method traverses the multiple protocol layers and, for a first protocol layer, uses the variable delay cursor to collect a first timestamp of a data packet entering the first protocol layer and determines a first identifier corresponding to the data packet at the first protocol layer. For each other protocol layer, the method uses the variable delay cursor to collect a second timestamp corresponding to a target data packet entering each other protocol layer and determines a second identifier corresponding to the target data packet at each other protocol layer, where the target data packet is a data packet carrying an identifier of an upper protocol layer. The method sends the first timestamp, all second timestamps, the first identifier and all second identifiers to a control platform. The control platform is configured to determine a first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier and all second identifiers. This method does not require time synchronization between different network elements. It collects the timestamp of the data packet through the cursor in the wireless protocol stack and combines it with the identifier of the data packet. After interacting with the control platform, it can effectively determine the partial one-way segment delay of the data packet, and then effectively optimize the data transmission process and improve data transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the present invention or the prior art, a brief introduction is given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0024] Figure 1 This is a schematic diagram of a scenario in which a downlink scenario provides a delay;

[0025] Figure 2 It is a flow chart of a method for determining transmission delay of a data packet provided by the present invention;

[0026] Figure 3 This is a schematic diagram of a data storage scenario provided by the present invention;

[0027] Figure 4 is a schematic diagram of the quasi-real-time computing strategy provided by the present invention;

[0028] Figure 5 Schematic diagram of a scenario of the data packet transmission delay method provided by the present invention;

[0029] Figure 6 It is a schematic diagram of the structure of the wireless protocol stack provided by the present invention;

[0030] Figure 7a This is one of the schematic diagrams of the PDCP Data PDU structure provided by the present invention;

[0031] Figure 7b This is the second schematic diagram of the PDCP Data PDU structure provided by the present invention;

[0032] Figure 8 It is a schematic diagram of log information provided by the present invention;

[0033] Figure 9 This is a schematic diagram of a scenario of data packet tracing entering the MAC layer provided by the present invention;

[0034] Figure 10 It is a schematic diagram of a large amount of data during operation of the base station provided by the present invention;

[0035] Figure 11 It is a schematic diagram of data collected in the time window provided by the present invention;

[0036] Figure 12 It is a structural diagram of a device for determining transmission delay of a data packet provided by the present invention;

[0037] Figure 13 It is a structural diagram of the base station provided by the present invention. DETAILED DESCRIPTION

[0038] To make the objectives, technical solutions, and advantages of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.

[0039] In order to better understand the embodiments of the present invention, the prior art is first described in detail:

[0040] TSN communication technology ensures deterministic and predictable latency for latency-sensitive data transmission within TSN networks, meaning that latency is bounded. This means that in TSN networks, the time it takes for a data packet to be sent from its source to its destination is not only low, but also clearly bounded. This is particularly important for areas with high real-time requirements, such as industrial automation, the Internet of Vehicles, and mobile robotics.

[0041] Due to the inherent uncertainty of wireless communication environments and the complexity of wireless protocol stacks, TSN communication technology faces particular challenges in resource scheduling and traffic scheduling. Specifically, given limited wireless spectrum resources, how can scheduling algorithms effectively manage and allocate wireless resources to simultaneously meet the latency-sensitive requirements of real-time data flows and the demands of non-real-time data traffic? While traditional algorithms theoretically address this issue, their deployment complexity makes them impractical in practical wireless communication systems.

[0042] The integration of artificial intelligence (AI) and communications technology offers the potential to address resource scheduling issues in TSN. For intelligent scheduling algorithms optimized for latency, obtaining fine-grained, high-precision latency data through measurement and building relevant datasets based on this latency data are crucial for algorithm development.

[0043] In the existing technical framework, end-to-end latency is considered an important indicator that reflects the cumulative latency of the entire transmission process at the service level. Existing network test equipment and software can provide relatively accurate RTT measurements for wireless systems. The round-trip time (RTT) is used to calculate end-to-end latency. The specific steps are as follows:

[0044] Step 1: Time synchronization: Ensure that the clocks of the sender and receiver are synchronized. This can be achieved through mechanisms such as the Network Time Protocol (NTP) or the Precision Time Protocol (PTP). Time synchronization is the basis for accurate RTT measurement.

[0045] Step 2: Send a data packet with a timestamp. On the sender side, prepare a data packet in a specific format that includes a timestamp. This timestamp should be recorded just before the packet leaves the sender to ensure accurate RTT measurements.

[0046] Step 3: The receiving end receives and responds. When receiving the data packet, the receiving end reads and records the sending timestamp in the data packet, and then generates a response data packet, which may include the timestamp of the receiving time and the original sending timestamp.

[0047] Step 4: Calculate the RTT. After receiving the response packet, the sender records the timestamp of the response packet. At this point, the sender has three key timestamps: the sending timestamp, the receiving time at the receiver, and the time the response packet arrived at the sender.

[0048] However, for TSN networks, which require bounded latency, obtaining segmented latency data is even more important. When latency indicators fall below the target, segmented latency data needs to be analyzed to identify the cause of the increased latency and perform targeted optimization.

[0049] For segment delay measurement, the segment measurement scheme specified in the 3rd Generation Partnership Project Technical Specification (3GPP) TS 38.314 is as follows:

[0050] The calculation formula for the average uplink air interface delay in the uplink (UL) of each data radio bearer (DRB) of a single user equipment (UE) is:

[0051] Where M1(T, drbid) represents the average uplink air interface delay in a single DRB in the UL within the unit time T, in units of 0.1ms; drbid represents the identification code of the measured DRB; tSucc(i, drbid) represents the UL MAC SDU i The time point when the UL MAC SDU is successfully sent to the Radio Link Control (RLC) layer. SDU is the Service Data Unit. tSched(i, drbid) indicates the scheduling of the UL MAC SDU in the Medium Access Control (MAC) layer according to the provided scheduling grant. i time point; i represents the UL MACSDU to the bottom MAC layer within the unit time T; I(T) represents the UL MAC SDU i The total number of .

[0052] The calculation formula for the RLC layer delay of each DRB of a single UE is:

[0053] Where M2(T,drbid) represents the RLC layer delay in the UL of a single DRB in unit time T, in units of 0.1ms; tSent(i,drbid) represents the UL RLC SDU for a separated fifth-generation base station (gNodeB, gNB), iThe time point when the packet is sent to the Packet Data Convergence Protocol (PDCP) layer or the Centralized Unit-User Plane (CU-UP) layer; tReceiv(i, drbid) indicates the time when the UL RLC SDU including the first part of the UL RLC PDU is received i At the time point, PDU is the Protocol Data Unit (PDU).

[0054] Then, the segmented measurement strategy recommended by the protocol can be implemented through logs or internal residual computing power calculations.

[0055] A base station is a fixed radio station that transmits and receives signals in a wireless communication system. It is responsible for transmitting data to and from an associated wireless intelligent control platform (control platform). This control platform integrates multiple functional modules to enable intelligent control and management of the wireless communication system.

[0056] For the segmented measurement strategy recommended by the protocol, when different network elements in the BBU are involved, it is necessary to first synchronize the time between different network elements and then measure the delay of the data packet in each network element. Although the segmented delay can be obtained, it is impossible to track the delay of a single data packet across layers. Only the average value of multiple data packets within a certain period of time can be taken. This makes it impossible to accurately describe the relationship between packet characteristics and packet delay, and it is impossible to obtain highly accurate segmented delay data.

[0057] Regarding the wireless protocol stack processing, taking the downlink scenario as an example, the process of generating delay is analyzed as follows: Figure 1 As shown. Figure 1 As can be seen in the figure, the gNB is connected to the 5th Generation Mobile Communication Technology Core User Plane Function (5GC UPF) and the UE, which in turn is connected to the UE application (APP). The 5GC UPF and UE APP each have multiple flow-based Quality of Service (QoS) management frameworks (Flows).

[0058] On the gNB side, between the Service Data Adaptation Protocol (SDAP) layer and the PDCP layer, i.e. Figure 1In the part ① shown, there are two types of delays: the delay caused by data packets waiting in queue and the delay caused by high-level protocol stack processing;

[0059] Between the PLC layer and the MAC layer, that is, Figure 1 Part ② shown in the figure is mainly due to the latency caused by the waiting time for data packets to be buffered and wait for scheduling.

[0060] In the physical (Physical, PHY) layer, that is, Figure 1 Part ③ shown here mainly consists of the physical layer processing delay;

[0061] Between gNB and UE, i.e. Figure 1 The delay in section ④ shown is mainly composed of Common Public Radio Interface (CPRI) / eCPRI fronthaul time, radio frequency unit processing time, and downlink air interface propagation delay.

[0062] On the UE side, Figure 1 Part ⑤ shown mainly represents the UE processing delay.

[0063] comprehensive Figure 1 From the content shown, we can see that there are the following difficulties in implementing packet-level delay measurement: Difficulty 1: Data content is usually transparent to network elements, and network elements cannot directly track a specific data packet; Difficulty 2: Time synchronization: the time between network elements is usually not synchronized, and the delay cannot be directly calculated through timestamps; Difficulty 3: The complexity of the protocol stack: air interface transmission involves RLC segmentation, MAC Hybrid Automatic Repeat reQuest (HARQ) and other protocol-related content, and the process is complicated.

[0064] The above difficulties will make it impossible to obtain highly accurate segment delay data.

[0065] To solve the above technical problems, an embodiment of the present invention provides a method, device, base station, and storage medium for determining the transmission delay of a data packet. This method does not require time synchronization between network elements to measure the delay of any single data packet in each network element within the BBU. Instead, it uses a cursor in the wireless protocol stack to collect the timestamp of the data packet. Combined with the identifier of the data packet, after interacting with the control platform, it can effectively determine the partial one-way segment delay of the data packet, thereby effectively optimizing the data transmission process and improving data transmission efficiency. In addition, it can also comprehensively reflect the delay of the wireless network and meet the needs of wireless TSN network delay tracking, analysis, and optimization.

[0066] It should be noted that the execution subject involved in the embodiment of the present invention can be a data packet transmission delay determination device, a base station, or a wireless protocol stack. The wireless protocol stack can include multiple protocol layers, and an embeddable variable delay cursor is introduced into the wireless protocol stack.

[0067] The wireless protocol stack is a combination of protocols that implement data transmission, control, and management functions. These protocols are organized hierarchically into multiple layers, which in turn form the corresponding wireless protocol stack to ensure that data is correctly and efficiently transmitted and processed between the base station and the control platform.

[0068] Each protocol layer is responsible for specific data processing and communication control tasks, and exchanges data with the upper and lower protocol layers of the protocol layer.

[0069] A variable delay cursor (cursor for short) is a custom cursor used to collect data timestamps. It can be embedded into the delay target point in the process implementation function of the wireless protocol stack. The timestamp is usually a sequence of characters.

[0070] The embodiment of the present invention is further described below by taking a base station as an example.

[0071] like Figure 2 FIG. 1 is a flow chart of a method for determining a transmission delay of a data packet provided by the present invention, which may include:

[0072] 201. Traverse multiple protocol layers, for a first protocol layer, collect a first timestamp of a data packet entering the first protocol layer through a variable delay cursor, and determine a first identifier corresponding to the data packet in the first protocol layer.

[0073] Among them, the data packet is the carrier and unit of data (i.e., the original material of information) transmitted in the network, which can realize the encapsulation and transmission of data.

[0074] The first protocol layer refers to the protocol layer that a data packet first enters among multiple protocol layers.

[0075] The first timestamp is a long integer, indicating the total number of seconds or milliseconds from entering the first protocol layer to leaving the first protocol layer.

[0076] The first identifier is used to distinguish the data packet in the first protocol layer from the data packets in other protocol layers, and is also used to distinguish the data packet in the first protocol layer from other data packets. It is unique and also serves as an index.

[0077] During the transmission of a data packet in the wireless protocol stack, it will enter multiple protocol layers. When the data packet enters the first protocol layer, the first timestamp corresponding to the data packet can be collected through the variable delay cursor, and the first identifier corresponding to the data packet in the first protocol layer can be determined to prepare for the subsequent determination of the target transmission delay of the data packet.

[0078] 202. For each other protocol layer, collect the second timestamp corresponding to the target data packet entering each other protocol layer through the variable delay cursor, and determine the second identifier corresponding to the target data packet in each other protocol layer. The target data packet is a data packet carrying the identifier of the previous protocol layer.

[0079] The other protocol layers are protocol layers other than the first protocol layer among the multiple protocol layers, and the input of the other protocol layers is a data packet carrying an identifier of the previous protocol layer, ie, a target data packet.

[0080] The second timestamp is a long integer, indicating the total number of seconds or milliseconds from entering another protocol layer to leaving the other protocol layer.

[0081] The second identifier is used to distinguish data packets in the current protocol layer from data packets in other protocol layers except the current protocol layer, and is also used to distinguish data packets in the current protocol layer from other data packets. It is unique and also serves as an index.

[0082] When the data packet enters other protocol layers, the second timestamp corresponding to the target data packet can be collected through the above-mentioned variable delay cursor, and the second identifier corresponding to the target data packet in the first protocol layer can be determined, so as to prepare for the subsequent determination of the target transmission delay of the data packet.

[0083] For example, it is assumed that the wireless protocol stack includes three protocol layers, namely the first protocol layer, the second protocol layer, and the third protocol layer. When data packet S1 enters the first protocol layer, the timestamp T1 and identifier Q1 of data packet S1 at the first protocol layer can be determined. At this time, data packet S1 is updated to obtain data packet S2, which carries identifier Q1; then, when data packet S2 enters the second protocol layer, the timestamp T2 and identifier Q2 of data packet S2 at the second protocol layer can be determined. At this time, data packet S2 is updated to obtain data packet S3, which carries identifier Q2; finally, when data packet S3 enters the third protocol layer, the timestamp T3 and identifier Q3 of data packet S3 at the third protocol layer can be determined. At this time, three timestamps can be determined, namely timestamp T1, timestamp T2, and timestamp T3, and three identifiers can be determined, namely identifier Q1, identifier Q2, and identifier Q3.

[0084] 203. Send the first timestamp, all second timestamps, the first identifier, and all second identifiers to the control platform, and the control platform is configured to determine a first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier, and all second identifiers.

[0085] The first target transmission delay is the transmission delay between the first identifier and the second identifier.

[0086] After the first timestamp, all second timestamps, the first identifier, and all second identifiers are determined in the wireless protocol stack process, an offline delay calculation processing method can be adopted. Through data interaction with the control platform, all determined data can be sent to the control platform, so that the control platform can achieve the determination of the first target transmission delay of the data packet.

[0087] In an embodiment of the present invention, multiple protocol layers are traversed. For the first protocol layer, a variable delay cursor is used to collect the first timestamp of the data packet entering the first protocol layer, and the first identifier corresponding to the data packet in the first protocol layer is determined; for each other protocol layer, a variable delay cursor is used to collect the second timestamp corresponding to the target data packet entering each other protocol layer, and the second identifier corresponding to the target data packet in each other protocol layer is determined. The target data packet is a data packet carrying the identifier of the previous protocol layer; the first timestamp, all second timestamps, the first identifier and all second identifiers are sent to the control platform, and the control platform is used to determine the first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier and all second identifiers. This method does not require synchronization of time between different network elements. The timestamp of the data packet is collected by the cursor in the wireless protocol stack process, and combined with the identifier of the data packet, after interacting with the control platform, it can effectively determine the partial one-way segmented delay of the data packet, and then effectively optimize the data transmission process and improve data transmission efficiency in the future.

[0088] To better understand the embodiments of the present invention, the following describes in detail the method for determining the transmission delay of a data packet:

[0089] In some embodiments, the base station determines the first identifier corresponding to the data packet at the first protocol layer, which may include: the base station adds a header to the data packet through the first protocol layer, and the header carries a sequence number (Sequence Number, SN); the base station determines the sequence number as the first identifier corresponding to the data packet at the first protocol layer.

[0090] The SN is used to ensure the orderly transmission of data packets, retransmission mechanisms, and control information. It serves as a unique identifier for the data packet at the first protocol layer. Similarly, it serves as the starting point for tracking the data packet within the base station.

[0091] After a data packet enters the first protocol layer, a header is added to the data packet through the first protocol layer. The SN carried in the header is the first identifier corresponding to the data packet at the first protocol layer. This effectively improves the uniqueness of the data packet in the first protocol layer.

[0092] In some embodiments, the base station determines the second identifier corresponding to the target data packet at each other protocol layer, which may include one of the following implementation methods:

[0093] Implementation method 1: The base station determines the second identifier corresponding to the target data packet at each other protocol layer according to the memory of the target data packet.

[0094] Implementation method 2: The base station determines the identifier corresponding to the target data packet as the second identifier corresponding to the target data packet in each other protocol layer.

[0095] When the base station determines the second identifier corresponding to the target data packet in each other protocol layer, it performs the following identical operations for each other protocol layer: first, it determines whether the other protocol layer has a corresponding header identifier. If so, it determines the second identifier corresponding to the other protocol layer based on the target data packet's memory. If not, it directly determines the identifier corresponding to the target data packet in the previous protocol layer as the second identifier corresponding to the other protocol layer. By determining whether each other protocol layer has a corresponding header identifier, the accuracy of data packet processing can be improved, the possibility of errors and packet loss can be reduced, and the uniqueness of data packets in the other protocol layer can be improved.

[0096] In some embodiments, the method may further include: the base station storing the first timestamp, all second timestamps, the first identifier, and all second identifiers in the form of an asynchronous log.

[0097] Asynchronous logging is a logging method that allows you to generate logs containing a large amount of data. This log information is written and processed in a background thread rather than directly in the main thread. This design aims to reduce the impact of logging on the main thread's performance, thereby improving the responsiveness and throughput of the base station.

[0098] It should be noted that in order to save a large amount of experimental data in a high-speed operation environment such as a 5G base station, an efficient, scalable and reliable data management strategy is required. Figure 3 The figure shows a schematic diagram of a data storage scenario provided by the present invention. Figure 3It can be seen that in the asynchronous communication mechanism, without affecting the main business process, the base station can adopt the form of asynchronous log to store the first timestamp, all second timestamps, the first identifier and all second identifiers, that is, write the log data into the storage system (such as read-only memory (ROM), random access memory (RAM), etc.) to obtain log information.

[0099] Optionally, the log information can be an asynchronous message queue. This asynchronous message queue can be reused and selects appropriate input / output (I / O) for data caching and storage. Specifically, for certain high-frequency small packets, sampling technology can be used, that is, only recording a certain proportion of delay data. At the same time, the batch processing mechanism is optimized. Before writing I / O, data entries corresponding to multiple timestamps are merged into a batch for processing and writing, reducing the number of I / O operations.

[0100] The entry of the asynchronous message queue is a delay cursor mark point, and the exit of the asynchronous message queue is a target cache point.

[0101] In some embodiments, the base station determines the second identifier corresponding to the target data packet at each other protocol layer based on the memory of the target data packet, which may include: when the memory of the target data packet is less than a preset threshold, the base station determines the identifier corresponding to the target data packet as the second identifier corresponding to the target data packet at each other protocol layer; when the memory is greater than or equal to the preset threshold, the base station segments the target data packet through other protocol layers to obtain multiple sub-data packets; and determines the identifier corresponding to each of the multiple sub-data packets as the second identifier corresponding to the target data packet at each other protocol layer.

[0102] The preset threshold value may be set before the base station leaves the factory, or may be customized according to actual conditions, and is not specifically limited here.

[0103] The same operation can be performed for each other protocol layer: after determining the memory of the target data packet, the base station compares the memory with a preset threshold: if the memory is less than the preset threshold, it means that the data volume of the target data packet is small. At this time, the identifier corresponding to the target data packet in the previous protocol layer can be directly determined as the second identifier corresponding to the other protocol layer; otherwise, it means that the data volume of the target data packet is large. At this time, it is necessary to segment the target data packet through other protocol layers to obtain multiple sub-data packets, and determine the identifiers corresponding to each of these multiple sub-data packets in the other protocol layer, and then determine the identifiers corresponding to each of the sub-data packets as the second identifier corresponding to the target data packet in the other protocol layer. In this way, the identifier determination strategy can be flexibly and dynamically adjusted according to different memory conditions, thereby improving the flexibility of data processing.

[0104] In some embodiments, the base station sends the first timestamp, all second timestamps, the first identifier and all second identifiers to the control platform, which may include: the base station constructs an identifier comparison table corresponding to the data packet based on the first identifier and all second identifiers; the base station sends the first timestamp, all second timestamps and the identifier comparison table to the control platform.

[0105] The identification comparison table has an indexing function for the same data packet at different protocol layers. The data in the identification comparison table is written after decoding, providing data support for subsequent offline delay calculation.

[0106] After obtaining the first identifier and all second identifiers, the base station can construct an identifier comparison table for the data packet based on different protocol layers and all identifiers, which is convenient for indexing and tracking subsequent data packets and improves the positioning efficiency of the data packets. The first timestamp, all second timestamps and the identifier comparison table are then sent to the control platform so that the control platform can calculate based on all the received data to obtain the first target transmission delay corresponding to the data packet. The entire process does not involve direct subtraction of timestamps between different network elements, and thus does not require time synchronization between network elements, which simplifies the delay calculation steps and improves the calculation efficiency of the transmission delay.

[0107] In some embodiments, the first target transmission delay can be obtained by the control platform based on the following steps: when the first target transmission delay is the same-layer transmission delay, the same-layer transmission delay is determined according to the first starting timestamp and the first ending timestamp corresponding to the first target protocol layer, and the first target protocol layer is any protocol layer among multiple protocol layers; when the first target transmission delay is the cross-layer transmission delay, the cross-layer transmission delay is determined according to the second starting timestamp corresponding to the second target protocol layer and the second ending timestamp corresponding to the third target protocol layer, and the second target protocol layer is any protocol layer among multiple protocol layers, and the third target protocol layer is any protocol layer that the data packet enters after leaving the second target protocol layer.

[0108] The starting timestamp is a cursor start position in the timestamp of the corresponding protocol layer; the ending timestamp is a cursor end position in the timestamp of the corresponding protocol layer.

[0109] In the process of determining the first target transmission delay, the control platform needs to first determine whether the first target transmission delay is the same-layer transmission delay or the cross-layer transmission delay: if it is the former, the first start timestamp and the first end timestamp corresponding to the first target protocol layer are calculated to obtain the same-layer transmission delay; if it is the latter, the second start timestamp corresponding to the second target protocol layer and the second end timestamp corresponding to the third target protocol layer are calculated to obtain the cross-layer transmission delay.

[0110] For example, assume that the wireless protocol stack includes three protocol layers: the first protocol layer, the second protocol layer, and the third protocol layer. After entering the first protocol layer, a data packet leaves the first protocol layer, enters the second protocol layer, and then leaves the second protocol layer and enters the third protocol layer. In this case, if the first protocol layer is used as the second target protocol layer, either the second protocol layer or the third protocol layer can be used as the third target protocol layer. If the second protocol layer is used as the second target protocol layer, only the third protocol layer can be used as the third target protocol layer.

[0111] It should be noted that the first target protocol layer and the second target protocol layer may be the same or different, and are not specifically limited here.

[0112] Optionally, the base station calculates the first target transmission delay using subtraction based on the specific position of the cursor. Specifically, if the first target transmission delay is the same-layer transmission delay, the same-layer transmission delay is calculated according to the first formula; if the first target transmission delay is the cross-layer transmission delay, the cross-layer transmission delay is calculated according to the second formula.

[0113] Among them, the first formula is Delay X1=T End1 -T Start1 ; X1 represents the first target protocol layer; Delay X1 represents the same-layer transmission delay of the data packet; T End1 Indicates the absolute timestamp of the destination of the data packet in the target protocol layer, that is, the first destination timestamp; T Start1 The absolute timestamp indicating the starting point of the data packet in the target protocol layer, i.e., the first starting timestamp;

[0114] The second formula is: Delay(X2, X3)=T End2 -T Start2 ; X2 represents the second target protocol layer; X3 represents the third target protocol layer; Delay(X2, X3) represents the cross-layer transmission delay of the data packet; T End2Indicates the absolute timestamp of the endpoint of the data packet in the adjacent target protocol layer, that is, the second endpoint timestamp; T Start2 Indicates the absolute timestamp of the starting point of the data packet in the second target protocol layer, that is, the second starting point timestamp.

[0115] In some embodiments, the method may further include: the base station collects the timestamp corresponding to the data packet and the target identifier of the data packet under the timestamp in real time through a time window, and the timestamp belongs to the first timestamp and / or all second timestamps; the base station determines the second target transmission delay of the data packet in the protocol layer corresponding to the target identifier based on the timestamp.

[0116] The time window is a fixed time range. The length of the time window can be set according to the specific application scenario and requirements. In order to realize the external delay performance monitoring of the base station, a quasi-real-time calculation strategy needs to be introduced, such as Figure 4 As shown in FIG, it is a schematic diagram of the quasi-real-time computing strategy provided by the present invention. Figure 4 It can be seen that in the process of the data packet entering the base station, the delay data of the data packet is divided into two data streams, namely the persistent stream and the quasi-real-time stream. The delay data of the former is persisted and the offline delay calculation described in the above step 103 is performed, while the latter is that the base station collects the timestamp corresponding to the data packet and the target identifier of the data packet under the timestamp in real time through the time window, and then performs mini-batch calculation on the data packet according to the timestamp to obtain the second target transmission delay of the data packet in the protocol layer corresponding to the target identifier.

[0117] Optionally, the second target transmission delay may be a real-time delay in seconds, which is used for experimental performance monitoring outside the base station.

[0118] In summary, taking 5G New Radio (NR) as an example, Figure 5 FIG. 1 is a schematic diagram of a scenario of a data packet transmission delay method provided by the present invention. Figure 5 As can be seen in the figure, the wireless protocol stack includes the L1, L2, and L3 layers. Embeddable cursors are introduced into the process implementation functions of the wireless protocol stack. Asynchronous logging can be used to record the timestamps of data packets at key points in the wireless protocol stack in RAM / ROM, enabling subsequent offline latency calculation or small-batch latency analysis.

[0119] Take the 3GPP 5G NR protocol stack as an example, Figure 6 The figure shows the structure of the wireless protocol stack provided by the present invention. The wireless protocol stack may include: SDAP layer, PDCP layer, RLC layer, MAC layer and PHY layer. It should be noted that the L1 layer is the SDAP layer and PDCP layer; the L2 layer is the RLC layer; the L3 layer is the MAC layer.

[0120] from Figure 6 As can be seen in the figure, after a data packet enters the first protocol layer, the PDCP layer, a header is added to the data packet. This header carries the PDCP SN, which uniquely identifies the data packet at the PDCP layer. Similarly, the PDCP SN is also the starting point for data packet tracking in 5G NR. At this point, the data packet is updated based on the PDCP SN to obtain the first target data packet.

[0121] Optionally, the PDCP SN can be Figure 7a The 12-bit PDCP data PDU structure shown in FIG. 1 may also be as follows: Figure 7b The 18-bit PDCP Data PDU structure shown in FIG. Figure 7a or Figure 7b The PDCP DataPDU structure shown in the figure, D / C represents the identification bit for Data PDU and Control PDU; R represents the reserved bit; each Oct represents an octet. Figure 7a In the PDCP Data PDU structure shown in FIG, the position of the PDCP SN starts from the fifth bit to the sixteenth bit of the PDU; Figure 7b In the PDCP Data PDU structure shown, the PDCP SN is located from the seventh bit to the twenty-fourth bit of the PDU.

[0122] The data packet carrying the PDCP SN, i.e., the first target data packet, is then constructed at the PDCP layer into PDCP PDUs and sent to the RLC layer. The RLC layer segments the first target data packet and provides reliable transmission. At this point, the RLC layer's input data packet can be represented by an RLC Service Data Unit (SDU).

[0123] It should be noted that since the RLC layer in 5G NR (abbreviated as: 5G NR RLC) has three different operating modes, namely: Transparent Mode (TM), Unacknowledge Mode (UM) and Acknowledge Mode (AM), the tracking mechanism of the first target data packet in the RLC layer needs to be discussed in a classified manner according to the wireless protocol stack processes in different modes. Among them, for TM, the RLC layer does not process any data and is mostly used in situations where information such as broadcasting, paging and common control channels needs to be transmitted to multiple user terminals. The application scenarios are relatively limited. Therefore, this situation is not considered in the present invention.

[0124] Unlike Long Term Evolution (LTE) RLC, 5G NR RLC supports SDU segmentation but not concatenation. This means that a single RLC SDU can be used as multiple segments (i.e., as multiple sub-data packets), each of which is located in a corresponding RLC PDU, which is an output data packet of the RLC layer and carries the identifier of the RLC layer. However, a single RLC PDU cannot carry multiple SDUs or their segments. According to the 3rd Generation Partnership Project (3GPP) 5G NR related standards, the value of the segment size is not specified. If the grant is large enough, the entire RLC SDU is placed in a single RLC PDU, otherwise, the RLC SDU should be segmented, and the RLC maximizes the segment size given the grant, that is, the memory of each of the multiple sub-data packets is the largest when it is less than the preset threshold.

[0125] The following header fields (i.e., RLC SN, Segmentation Information (SI), and Segment Offset (SO)) assist the RLC layer in reassembling the complete RLC SDU from its segments and also serve as a tracking identifier for the RLC SDU packet:

[0126] RLC SN: Indicates the sequence number of the RLC SDU. Note that the RLC SN is specific to the SDU, not its segments. The length of the RLC SN is configured by Radio Resource Control (RRC). For Unacknowledged Mode Data (UMD) PDUs, it is 6 or 12 bits, and for Acknowledged Mode Data (AMD) PDUs, it is 12 or 18 bits.

[0127] SI: Indicates whether the RLC PDU contains a complete RLC SDU or the first / last / middle segment. The SI is 2 bits long.

[0128] SO: Indicates the position of the current segment in the RLC SDU (in bytes). The SO numbering starts at zero. The length of the SO is 16 bits.

[0129] It should be noted that the header fields above are identifiers of multiple segments, or sub-packets, and these header fields are used to identify the RLC SDU in the RLC layer. At this point, the RLC SDU is updated based on the header fields to obtain an RLC PDU, which is then sent to the MAC layer via the RLC layer. At this point, the data packet entering the MAC layer is represented by a MAC SDU.

[0130] In the MAC layer, multiple MAC SDUs and Control Elements (CEs) can be part of a single MAC PDU. As the output data packet of the MAC layer, the MAC PDU can be packaged into a Transport Block (TB) by the MAC layer. After packaging, it waits for the scheduler to send it to the PHY layer through the transmission channel for transmission.

[0131] It should be noted that since the MAC PDU in the 5G NR MAC itself does not have a unique header identification code, that is, there is no corresponding identifier, the MAC layer can only use the identifier of the upper protocol layer, that is, the RLC layer, as the tracking identifier of the data packet in the MAC layer.

[0132] Then, the base station stores all timestamps and identifiers in the form of asynchronous logs. For example, Figure 8 FIG2 is a schematic diagram of the log information provided by the present invention. The log information records the specific location of the function where the cursor is located, the PDCP SN passing through the PDCP layer, and the RLC SN, SI and SO passing through the RLC layer.

[0133] Furthermore, after determining the tracking basis of the data packet, an identifier comparison table of the data packet can be established. Specifically, as shown in Table 1, it is an identifier comparison table corresponding to the data packet after passing through the PDCP layer.

[0134] Table 1:

[0135]

[0136] As shown in Table 1, the PDCP SN, as a primary index, is the starting point for packet tracking. After a PDCP PDU enters the RLC layer, if its memory is too large (larger than the TB size in the MAC layer, which is the preset threshold), it will be segmented. After analysis in the above steps, the segmentation information is identified as the RLC SN, SI, and SO. Table 2 shows a table of identifiers corresponding to PDCP PDUs after passing through the RLC layer.

[0137] Table 2:

[0138]

[0139] As can be seen from Table 2, the unique identifiers of the RLC layer, RLC SN, SI and SO, jointly form the secondary index of the data packet tracking mechanism.

[0140] For data packet tracing entering the MAC layer, such as Figure 9 The figure is a schematic diagram of the scenario of data packet tracking entering the MAC layer provided by the present invention. Figure 9 As can be seen from the figure, when the RLC PDU enters the MAC layer (that is, when the RLC PDU just leaves the RLC layer), Figure 9 In the process 1 shown in FIG, the RLC SN, SI and SO of the RLC layer and the timestamp when entering the MAC layer are first recorded in a memory; then, as shown in FIG. Figure 9 In the process 2 shown in FIG, a sub-header is added to the RLC PDU by the MAC layer to construct a MAC sub PDU. When the MAC sub PDU is sent, Figure 9 In process 3, the content data, which records the time when the RLC PDU arrived at the MAC layer, is sent to the asynchronous message queue via a cursor and the sending timestamp is recorded. Finally, the memory is cleared and the next round of data packets arrives. This entire process effectively reduces the decoding process that directly records data packet behavior. Table 3 shows the corresponding identifier comparison table for the RLC PDU after passing through the MAC layer.

[0141] Table 3:

[0142]

[0143] Here, t0 represents the time when the RLC PDU enters the MAC layer, and t1 represents the time when the transmission of the TB in the MAC layer is completed.

[0144] When a large amount of data is generated during operation of the base station, the number of data packets is also large. In this case, Table 4 is an identifier comparison table corresponding to a large number of data packets.

[0145] Table 4:

[0146]

[0147] The timestamps in Table 4 are obtained by decoding the delay mark generated by the cursor. Figure 10 The figure is a schematic diagram of a large amount of data when the base station provided by the present invention is running. Figure 10 As can be seen in the figure, a large amount of data is generated during the operation of the base station. The cursor can collect time stamps for this large amount of data. The delay mark generated by the cursor is the time stamp that can be calculated by the control platform after decoding.

[0148] Next, the base station sends all timestamps and the identification comparison table shown in Table 4 above to the control platform. The control platform combines the identification comparison table and, in the process of determining the first target transmission delay of the data packet, needs to first determine whether the first target transmission delay is the same-layer transmission delay or the cross-layer transmission delay: if it is the former, the same-layer transmission delay is calculated according to the first formula above; if it is the latter, the cross-layer transmission delay is calculated according to the second formula above.

[0149] Exemplarily, when the first target protocol layer is the PDCP layer, the above first formula is specifically: DelayPDCP SNi =T End1,SNi -T Start1,SNi Among them, Delay PDCP SNi T represents the transmission delay of a data packet carrying a PDCP SN between two delay recording coordinate points in the PDCP layer, that is, the same-layer transmission delay of the data packet in the PDCP layer; End1,SNi Indicates the first endpoint timestamp corresponding to the data packet carrying the PDCP SN; T Start1,SNi Indicates the first starting point timestamp corresponding to the data packet carrying the PDCP SN.

[0150] When the second target protocol layer is the PDCP layer and the third target protocol layer is the RLC layer, the above second formula is specifically: in, Indicates the transmission delay of a data packet carrying PDCP SN i and a data packet carrying RLCSN j between two cross-layer delay record coordinate points, that is, the cross-layer transmission delay of the data packet between the PDCP layer and the RLC layer; Indicates the second endpoint timestamp corresponding to the data packet carrying RLC SN j; Indicates the second starting point timestamp corresponding to the data packet carrying the PDCP SN i.

[0151] It's important to note that since an identifier comparison table has been established for packet tracking, the data in this table can be used to determine the correspondence between packets carrying PDCP SN i and packets carrying RLC SN j. This correspondence is used to complete the calculation. The MAC layer's calculation process is similar, combining the packet correspondence analysis to determine the transmission delay for the target time period.

[0152] In addition, to address the situation of time asynchrony, a delay cursor can be added at the end of each protocol layer. The transmission delay of the single protocol layer where the data packet is located is first calculated, and then the transmission delays corresponding to all protocol layers are superimposed to obtain the total transmission delay of the data packet in the entire wireless protocol stack.

[0153] In summary, during the offline delay calculation process, the control platform combines the above Table 4 and Figure 10 , the first target transmission delay corresponding to the data packet can be accurately calculated. In the quasi-real-time calculation strategy, the timestamps corresponding to the data packets and the target identifiers of the data packets under the timestamps are collected in real time through the time window. Then, small batches of data packets are calculated based on the timestamps to obtain the second target transmission delay corresponding to the data packets.

[0154] It should be noted that in wireless communication systems, the generation of data packets is regarded as an infinite, dynamic data sequence, and the delay analysis system (such as a device for determining the transmission delay of a data packet) needs to be able to continuously receive and process these data sequences in order to provide delay analysis results (i.e., the second target transmission delay) in real time or near real time.

[0155] Combined with the above Figure 4 Stream processing is a computing model that processes continuous data streams (i.e., the aforementioned data sequences) in real time. The processing of continuously generated data packets in wireless communication systems can be considered a stream computing model. In stream computing, Mini Batch computing is a specific processing mode that attempts to find a balance between real-time processing and batch processing. Specifically, Mini Batch computing does not process each piece of data individually, nor does it wait for a large amount of data to accumulate before processing it all at once. Instead, it divides the continuously arriving data into smaller batches, each of which contains the data collected using a time window. Each Mini Batch is processed once.

[0156] Among them, combined Figure 10 ,like Figure 11 The figure shows a schematic diagram of the data collected by the time window provided by the present invention. For the data collected in the time window, a suitable time window size is established and a sampling mechanism is introduced in combination with the throughput rate of the data packet. The idea of ​​mini batch is used to complete the quasi-real-time calculation and analysis of the time delay. Specifically, in the process of performing small batch calculations on the data packets, a suitable balance between processing delay and system throughput can be found by adjusting the size and processing frequency of the mini batch. Among them, for smaller mini batches, the processing delay can be reduced and the response speed of the base station can be improved; for larger mini batches, the data processing efficiency can be improved.

[0157] Furthermore, in near-real-time computing strategies, mini-batch processing simplifies the implementation of fault tolerance and state management. Simply record the status after each mini-batch is processed. If a failure occurs, restart from the most recently successfully processed mini-batch. This approach is much simpler than fault tolerance mechanisms for single-data processing, improving data processing efficiency.

[0158] The following describes a device for determining the transmission delay of a data packet provided by the present invention. The device for determining the transmission delay of a data packet described below and the method for determining the transmission delay of a data packet described above can be referred to in correspondence with each other.

[0159] like Figure 12 FIG. 1 is a schematic diagram of the structure of a device for determining the transmission delay of a data packet provided by the present invention. The device is applied to a wireless protocol stack, which includes multiple protocol layers. An embeddable variable delay cursor is introduced into the wireless protocol stack. The device includes:

[0160] The data processing module 1201 is configured to traverse the multiple protocol layers and, for a first protocol layer, collect a first timestamp of a data packet entering the first protocol layer using the variable delay cursor, and determine a first identifier corresponding to the data packet at the first protocol layer; for each other protocol layer, collect a second timestamp corresponding to a target data packet entering each other protocol layer using the variable delay cursor, and determine a second identifier corresponding to the target data packet at each other protocol layer, where the target data packet is a data packet carrying an identifier of a previous protocol layer;

[0161] The delay determination module 1202 is used to send the first timestamp, all second timestamps, the first identifier and all second identifiers to the control platform, and the control platform is used to determine the first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier and all second identifiers.

[0162] Optionally, the data processing module 1201 is specifically used to determine the second identifier corresponding to the target data packet at each other protocol layer based on the memory of the target data packet; or, to determine the identifier corresponding to the target data packet as the second identifier corresponding to the target data packet at each other protocol layer.

[0163] Optionally, the delay determination module 1202 is also used to collect the timestamp corresponding to the data packet and the target identifier of the data packet under the timestamp in real time through a time window, and the timestamp belongs to the first timestamp and / or all the second timestamps; based on the timestamp, determine the second target transmission delay of the data packet in the protocol layer corresponding to the target identifier.

[0164] Optionally, the delay determination module 1202 is specifically configured to construct an identifier comparison table corresponding to the data packet based on the first identifier and all the second identifiers; and send the first timestamp, all the second timestamps and the identifier comparison table to the control platform.

[0165] Optionally, the first target transmission delay is obtained by the control platform based on the following steps: when the first target transmission delay is the same-layer transmission delay, the same-layer transmission delay is determined according to the first starting timestamp and the first ending timestamp corresponding to the first target protocol layer, and the first target protocol layer is any protocol layer among the multiple protocol layers; when the first target transmission delay is the cross-layer transmission delay, the cross-layer transmission delay is determined according to the second starting timestamp corresponding to the second target protocol layer and the second ending timestamp corresponding to the third target protocol layer, and the second target protocol layer is any protocol layer among the multiple protocol layers, and the third target protocol layer is any protocol layer that the data packet enters after leaving the second target protocol layer.

[0166] Optionally, the data processing module 1201 is specifically used to determine the identifier corresponding to the target data packet as the second identifier corresponding to the target data packet in each other protocol layer when the memory of the target data packet is less than a preset threshold; segment the target data packet through the other protocol layer to obtain multiple sub-data packets when the memory is greater than or equal to the preset threshold; and determine the identifier corresponding to each of the multiple sub-data packets as the second identifier corresponding to the target data packet in each other protocol layer.

[0167] Optionally, the data processing module 1201 is specifically configured to add a header to the data packet through the first protocol layer, where the header carries a serial number; and determine the serial number as a first identifier corresponding to the data packet at the first protocol layer.

[0168] Optionally, the data processing module 1201 is further configured to store the first timestamp, all the second timestamps, the first identifier, and all the second identifiers in the form of an asynchronous log.

[0169] like Figure 13As shown, it is a structural diagram of the base station provided by the present invention. The base station may include: a processor (processor) 1310, a communication interface (Communications Interface) 1320, a memory (memory) 1330 and a communication bus 1340, wherein the processor 1310, the communication interface 1320, and the memory 1330 communicate with each other through the communication bus 1340. The processor 1310 can call the logic instructions in the memory 1330 to execute a method for determining the transmission delay of a data packet. The method is applied to a wireless protocol stack, where the wireless protocol stack includes multiple protocol layers. An embeddable variable delay cursor is introduced into the wireless protocol stack. The method traverses the multiple protocol layers and, for the first protocol layer, uses the variable delay cursor to collect a first timestamp of a data packet entering the first protocol layer and determines a first identifier corresponding to the data packet at the first protocol layer; for each other protocol layer, uses the variable delay cursor to collect a second timestamp corresponding to a target data packet entering each other protocol layer and determines a second identifier corresponding to the target data packet at each other protocol layer, where the target data packet is a data packet carrying an identifier of an upper protocol layer; and sends the first timestamp, all second timestamps, the first identifier, and all second identifiers to a control platform. The control platform is configured to determine a first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier, and all second identifiers.

[0170] In addition, the logic instructions in the above-mentioned memory 1330 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0171] On the other hand, the present invention also provides a computer program product, which includes a computer program, which can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the data packet transmission delay determination method provided by the above methods. The method is applied to a wireless protocol stack, which includes multiple protocol layers. An embeddable variable delay cursor is introduced into the wireless protocol stack. The method traverses the multiple protocol layers. For the first protocol layer, the variable delay cursor is used to collect a first timestamp of a data packet entering the first protocol layer, and determine a first identifier corresponding to the data packet at the first protocol layer; for each other protocol layer, the variable delay cursor is used to collect a second timestamp corresponding to a target data packet entering each other protocol layer, and determine a second identifier corresponding to the target data packet at each other protocol layer, where the target data packet is a data packet carrying an identifier of the previous protocol layer; the first timestamp, all second timestamps, the first identifier, and all second identifiers are sent to a control platform, and the control platform is used to determine the first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier, and all second identifiers.

[0172] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the transmission delay determination method for the data packet provided by the above-mentioned methods, the method being applied to a wireless protocol stack, the wireless protocol stack including multiple protocol layers, the wireless protocol stack introducing an embeddable variable delay cursor, the method traversing the multiple protocol layers, for the first protocol layer, using the variable delay cursor, collecting a first timestamp of the data packet entering the first protocol layer, and determining a first identifier corresponding to the data packet at the first protocol layer; for each other protocol layer, using the variable delay cursor, collecting a second timestamp corresponding to the target data packet entering each other protocol layer, and determining a second identifier corresponding to the target data packet at each other protocol layer, the target data packet being a data packet carrying an identifier of the previous protocol layer; sending the first timestamp, all second timestamps, the first identifier, and all second identifiers to a control platform, the control platform being configured to determine the first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier, and all second identifiers.

[0173] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.

[0174] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or certain parts of the embodiments.

[0175] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.

Claims

1. A method for determining the transmission delay of a data packet, characterized in that: Applied to a wireless protocol stack, the wireless protocol stack includes multiple protocol layers, and an embeddable variable delay cursor is introduced into the wireless protocol stack. The method includes: Traversing the multiple protocol layers, for a first protocol layer, collecting a first timestamp of a data packet entering the first protocol layer through the variable delay cursor, and determining a first identifier corresponding to the data packet at the first protocol layer; For each other protocol layer, using the variable delay cursor, collect the second timestamp corresponding to the target data packet entering the other protocol layer, and determine the second identifier corresponding to the target data packet at the other protocol layer, where the target data packet is a data packet carrying the identifier of the previous protocol layer; Sending the first timestamp, all second timestamps, the first identifier, and all second identifiers to a control platform, wherein the control platform is configured to determine a first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier, and all second identifiers; The first target transmission delay is obtained by the control platform based on the following steps: When the first target transmission delay is a same-layer transmission delay, determining the same-layer transmission delay according to a first start timestamp and a first end timestamp corresponding to a first target protocol layer, where the first target protocol layer is any one of the multiple protocol layers; When the first target transmission delay is a cross-layer transmission delay, the cross-layer transmission delay is determined based on the second starting timestamp corresponding to the second target protocol layer and the second ending timestamp corresponding to the third target protocol layer, where the second target protocol layer is any protocol layer among the multiple protocol layers, and the third target protocol layer is any protocol layer that the data packet enters after leaving the second target protocol layer.

2. The method according to claim 1, characterized in that Determining the second identifier corresponding to the target data packet at each other protocol layer includes: Determine, according to the memory of the target data packet, a second identifier corresponding to the target data packet at each of the other protocol layers; or The identifier corresponding to the target data packet is determined as the second identifier corresponding to the target data packet in each of the other protocol layers.

3. The method according to claim 1 or 2, characterized in that The method further comprises: Collecting, in real time through a time window, a timestamp corresponding to the data packet and a target identifier of the data packet under the timestamp, wherein the timestamp belongs to the first timestamp and / or all the second timestamps; A second target transmission delay of the data packet in the protocol layer corresponding to the target identifier is determined according to the timestamp.

4. The method according to claim 1 or 2, characterized in that The sending the first timestamp, all second timestamps, the first identifier, and all second identifiers to the control platform includes: Constructing an identifier comparison table corresponding to the data packet according to the first identifier and all the second identifiers; The first timestamp, all the second timestamps and the identification comparison table are sent to a control platform.

5. The method according to claim 2, characterized in that The determining, based on the memory of the target data packet, the second identifier corresponding to the target data packet at each of the other protocol layers includes: When the memory of the target data packet is less than a preset threshold, determining the identifier corresponding to the target data packet as the second identifier corresponding to the target data packet at each other protocol layer; When the memory is greater than or equal to the preset threshold, the target data packet is segmented through the other protocol layers to obtain multiple sub-data packets; and the identifiers corresponding to each of the multiple sub-data packets are determined as the second identifier corresponding to the target data packet in each of the other protocol layers.

6. The method according to claim 1 or 2, characterized in that Determining the first identifier corresponding to the data packet at the first protocol layer includes: adding a header to the data packet through the first protocol layer, wherein the header carries a sequence number; The sequence number is determined as the first identifier corresponding to the data packet at the first protocol layer.

7. The method according to claim 1 or 2, characterized in that The method further comprises: The first timestamp, all the second timestamps, the first identifier, and all the second identifiers are stored in the form of an asynchronous log.

8. A device for determining transmission delay of a data packet, characterized in that: Applied to a wireless protocol stack, the wireless protocol stack includes multiple protocol layers, and an embeddable variable delay cursor is introduced into the wireless protocol stack. The device includes: A data processing module is configured to traverse the multiple protocol layers, and for a first protocol layer, collect a first timestamp of a data packet entering the first protocol layer through the variable delay cursor, and determine a first identifier corresponding to the data packet at the first protocol layer; for each other protocol layer, collect a second timestamp corresponding to a target data packet entering each other protocol layer through the variable delay cursor, and determine a second identifier corresponding to the target data packet at each other protocol layer, wherein the target data packet is a data packet carrying an identifier of a previous protocol layer; a delay determination module, configured to send the first timestamp, all second timestamps, the first identifier, and all second identifiers to a control platform, wherein the control platform is configured to determine a first target transmission delay of the data packet based on the first timestamp, all second timestamps, the first identifier, and all second identifiers; The first target transmission delay is obtained by the control platform based on the following steps: When the first target transmission delay is a same-layer transmission delay, determining the same-layer transmission delay according to a first start timestamp and a first end timestamp corresponding to a first target protocol layer, where the first target protocol layer is any one of the multiple protocol layers; When the first target transmission delay is a cross-layer transmission delay, the cross-layer transmission delay is determined based on the second starting timestamp corresponding to the second target protocol layer and the second ending timestamp corresponding to the third target protocol layer, where the second target protocol layer is any protocol layer among the multiple protocol layers, and the third target protocol layer is any protocol layer that the data packet enters after leaving the second target protocol layer.

9. A base station comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the method for determining the transmission delay of a data packet according to any one of claims 1 to 7 is implemented.

10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for determining the transmission delay of a data packet according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Network time delay determination method and device, electronic equipment and storage medium

    CN113992297A

  • Data transmission method, access network device, user plane function network element, and storage medium

    WO2022116939A1