A data processing method and device, electronic equipment and storage medium
Patent Information
- Application Number
- CN202310822965.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-05
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-07-05
AI Technical Summary
[0005]为了解决现有PON中在上行传输数据过程中浪费时隙资源和增加传输时延的问题,本申请实施例提供了一种数据处理方法、装置、电子设备及存储介质
[0035]本申请实施例提供的数据处理方法、装置、电子设备及存储介质,ONU接收各个待发送数据包,将接收的各个待发送数据包按照接收顺序依次存储至缓存队列中进行缓存,在基于OLT分配的时序资源信息的每一发送周期发送数据之前,执行如下处理:确定缓存队列中的每一待发送数据包与排列在其之前的待发送数据包的累计长度,依次将每一待发送数据包与排列在其之前的待发送数据包的累计长度与时序资源信息的Grantsize(授权大小)进行比较,当确定第一待发送数据包与排列在其之前的待发送数据包的第一累计长度大于Grantsize,且第一待发送数据包的前一待发送数据包与排列在其之前的待发送数据包的第二累计长度小于Grantsize时,确定Grantsize与第二累计长度的差值,将位于第一待发送数据包之后的长度小于或者等于该差值的至少一个第二待发送数据包排列在第一待发送数据包之前,以对当前缓存队列中的数据包进行重排序,以在当前发送周期对应的开始时间发送重排序后的第一待发送数据包之前的所有待发送数据包。本申请实施例中,当第一待发送数据包与排列在其之前的待发送数据包的第一累计长度大于Grantsize,且第一待发送数据包的前一待发送数据包与排列在其之前的待发送数据包的第二累计长度小于Grantsize时,则表明该第一待发送数据包位于当前发送周期的时序资源尾部,且当前发送周期的时序资源无法完整发送该第一待发送数据包,在这种情况下,通过将排列在第一待发送数据包之后的较小的第二待发送数据包的位置移动到该第一待发送数据包之前以在当前发送周期的开始时间到来时进行发送,将第一待发送数据包在下一发送周期进行完整发送,由于无需对该第一待发送数据包进行分片,并将本应在下一发送周期进行发送的第二待发送数据包在当前发送周期进行发送,从而,在避免浪费时隙资源的同时,降低了第二待发送数据包的时延(一个发送周期的长度即125μs),从而,可以充分利用整个上行数据发送过程中的时隙资源,提升了整体时延。
Smart Images

Figure CN116938833B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a data processing method, apparatus, electronic device and storage medium. Background Technology
[0002] PON (Passive Optical Network) includes an OLT (Optical Line Terminal) installed at the central control station, an ONU (Optical Network Unit) installed on the user side, and an ODN (Optical Distribution Network). The ODN is the network transmission channel between the OLT and the ONU. The OLT is used to complete the uplink access of PON and to send and distribute the acquired data to the ONU user terminal equipment through the ODN. The ONU is a user-side device used to receive the data sent by the OLT and can directly provide services to users.
[0003] When PON transmits data in the uplink direction, it uses time-division multiplexing technology. The ONU cannot continuously send data in the uplink direction, but instead sends data in a periodic pulse manner, with each transmission cycle typically lasting 125μs. The ONU waits for the OLT to allocate uplink time slot resources for it and sends data packets to the OLT within its respective uplink time slot. If it misses the current time slot, it usually needs to wait for another cycle (125μs) before it can send data packets again.
[0004] In scenarios where the data to be transmitted contains a mixture of large and small data packets, if a large data packet happens to be at the end of the allocated time slot, and the remaining transmittable data size at the end of the time slot is smaller than the length of that large data packet, the ONU cannot transmit the large data packet completely. For example, if the packet length is 1.5KB, and the remaining transmittable data size at the end of the time slot is 400 bytes, the ONU needs to fragment the large data packet into two fragments: a 400-byte fragment and a 1.1KB fragment. The 400-byte fragment is transmitted in the current time slot, while the 1.1KB fragment is appended with a header and buffered for transmission in the next cycle. Alternatively, the large data packet can be sent without fragmentation, waiting for transmission in the next cycle. The first method of fragmentation transmission increases additional packet fragmentation overhead and packet reassembly latency, while the second method of not fragmenting wastes time slot resources. Summary of the Invention
[0005] To address the issues of wasted time slot resources and increased transmission latency during uplink data transmission in existing PON systems, embodiments of this application provide a data processing method, apparatus, electronic device, and storage medium.
[0006] In a first aspect, embodiments of this application provide a data processing method, including:
[0007] Receive each data packet to be sent, and store each data packet to be sent into a buffer queue in the order of receipt for buffering;
[0008] Before transmitting data in each transmission cycle based on the time slot resource information allocated by the optical line terminal (OLT), the cumulative length of each data packet to be transmitted in the buffer queue and the data packets to be transmitted preceding it is determined.
[0009] The cumulative length of each data packet to be sent and the data packets to be sent preceding it are compared with the Grantsize of the time slot resource information.
[0010] When it is determined that the first cumulative length of the first data packet to be sent and the data packets preceding it is greater than the Grantsize, and the second cumulative length of the data packet preceding the first data packet to be sent and the data packets preceding it is less than the Grantsize, the difference between the Grantsize and the second cumulative length is determined.
[0011] At least one second data packet to be sent, whose length is less than or equal to the difference and is located after the first data packet to be sent, is arranged before the first data packet to be sent, so that all data packets to be sent before the reordered first data packet to be sent are sent at the start time corresponding to the current sending period.
[0012] In one possible implementation, at least one second data packet to be sent, whose length is less than or equal to the difference and located after the first data packet to be sent, is arranged before the first data packet to be sent. Specifically, this includes:
[0013] If it is determined that the sum of the lengths of n consecutive data packets to be sent after the first data packet to be sent is equal to the difference, then the n consecutive data packets to be sent are determined as n consecutive second data packets to be sent, and the n consecutive second data packets to be sent are arranged before the first data packet to be sent.
[0014] If it is determined that the sum of the lengths of the n consecutive data packets to be sent after the first data packet to be sent is less than the difference, and the sum of the lengths of the (n+1) consecutive data packets to be sent after the first data packet to be sent is greater than the difference, then the n consecutive data packets to be sent are determined as n second data packets to be sent. The n consecutive second data packets to be sent are arranged before the first data packet to be sent, and zeros are added after the nth second data packet to be sent, so that the sum of the lengths of all data packets to be sent before the reordered first data packet to be sent is equal to the Grantsize.
[0015] In one possible implementation, the method further includes:
[0016] If it is determined that the lengths of a preset number of data packets to be sent after the first data packet to be sent are all greater than the difference, then zeros are padded before the first data packet to be sent so that the length of all data packets to be sent before the first data packet to be sent is equal to the Grantsize.
[0017] In one possible implementation, before transmitting data in each transmission cycle based on the time slot resource information allocated by the OLT, the method further includes:
[0018] Receive the bandwidth mapping (BWMAP) message sent by the OLT;
[0019] Extract the time slot resource information allocated by the OLT from the BWMAP message. The time slot resource information includes the start time corresponding to the current transmission period and the Grantsize.
[0020] Secondly, embodiments of this application provide a data processing apparatus, including:
[0021] The first receiving unit is used to receive each data packet to be sent and to store each data packet to be sent into a buffer queue in the order of receipt for buffering.
[0022] The first determining unit is used to determine the cumulative length of each data packet to be sent in the buffer queue and the data packets to be sent before it in each transmission cycle based on the time slot resource information allocated by the optical line terminal (OLT).
[0023] The comparison unit is used to compare the cumulative length of each data packet to be sent with the data packets to be sent preceding it with the grant size of the time slot resource information in sequence.
[0024] The second determining unit is configured to determine the difference between Grantsize and the second cumulative length when it is determined that the first cumulative length of the first data packet to be sent and the data packets to be sent preceding it is greater than Grantsize, and the second cumulative length of the data packet to be sent preceding the first data packet to be sent and the data packets to be sent preceding it is less than Grantsize.
[0025] The rearrangement unit is configured to arrange at least one second data packet to be sent, located after the first data packet to be sent, with a length less than or equal to the difference, before the first data packet to be sent, so as to send all data packets to be sent before the rearranged first data packet to be sent at the start time corresponding to the current sending period.
[0026] In one possible implementation, the rearrangement unit is specifically configured to: if it is determined that the sum of the lengths of n consecutive data packets to be sent after the first data packet to be sent is equal to the difference, then determine the n consecutive data packets to be sent as n consecutive second data packets to be sent, and arrange the n consecutive second data packets to be sent before the first data packet to be sent; if it is determined that the sum of the lengths of n consecutive data packets to be sent after the first data packet to be sent is less than the difference, and the sum of the lengths of n+1 consecutive data packets to be sent after the first data packet to be sent is greater than the difference, then determine the n consecutive data packets to be sent as n second data packets to be sent, arrange the n consecutive second data packets to be sent before the first data packet to be sent, and pad with zeros after the nth second data packet to be sent, so that the sum of the lengths of all data packets to be sent before the rearranged first data packet to be sent is equal to the Grantsize.
[0027] In one possible implementation, the device further includes:
[0028] The processing unit is configured to, if it is determined that the lengths of a preset number of data packets to be sent following the first data packet to be sent are all greater than the difference, pad the first data packet to be sent with zeros so that the lengths of all data packets to be sent preceding the first data packet to be sent are equal to the Grantsize.
[0029] In one possible implementation, the device further includes:
[0030] The second receiving unit is used to receive the bandwidth mapping (BWMAP) message sent by the OLT before sending data in each transmission cycle based on the time slot resource information allocated by the OLT.
[0031] The extraction unit is used to extract the time slot resource information allocated by the OLT in the BWMAP message. The time slot resource information includes the start time corresponding to the current transmission period and the Grantsize.
[0032] Thirdly, embodiments of this application provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the data processing method described in this application.
[0033] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the data processing method described in this application.
[0034] The beneficial effects of this application are as follows:
[0035] The data processing method, apparatus, electronic device, and storage medium provided in this application embodiment include: An ONU receives various data packets to be sent and stores them sequentially in a buffer queue according to the receiving order. Before sending data in each transmission cycle based on the timing resource information allocated by the OLT, the following processing is performed: The cumulative length of each data packet to be sent in the buffer queue and the data packets preceding it is determined. The cumulative length of each data packet to be sent and the data packets preceding it are compared sequentially with the Grantsize (authorized size) of the timing resource information. When it is determined that the first cumulative length of the first data packet to be sent and the data packets preceding it is greater than the Grantsize, and the second cumulative length of the data packet preceding the first data packet to be sent and the data packets preceding it are less than the Grantsize, the difference between the Grantsize and the second cumulative length is determined. At least one second data packet to be sent with a length less than or equal to the difference, located after the first data packet to be sent, is arranged before the first data packet to be sent, to reorder the data packets in the current buffer queue, so that all data packets to be sent before the reordered first data packet to be sent at the start time corresponding to the current transmission cycle. In this embodiment, when the first cumulative length of the first data packet to be sent and the data packets preceding it is greater than Grantsize, and the second cumulative length of the data packet preceding the first data packet to be sent and the data packets preceding it is less than Grantsize, it indicates that the first data packet to be sent is located at the end of the timing resources of the current transmission cycle, and the timing resources of the current transmission cycle cannot completely send the first data packet to be sent. In this case, by moving the position of the smaller second data packet following the first data packet to be sent before the first data packet to be sent so that it can be sent when the start time of the current transmission cycle arrives, the first data packet to be sent will be completely sent in the next transmission cycle. Since there is no need to fragment the first data packet to be sent, and the second data packet to be sent, which should have been sent in the next transmission cycle, is sent in the current transmission cycle, the latency of the second data packet to be sent (the length of one transmission cycle is 125μs) is reduced while avoiding wasting time slot resources. Thus, the time slot resources in the entire uplink data transmission process can be fully utilized, and the overall latency is improved.
[0036] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings. Attached Figure Description
[0037] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0038] Figure 1 This is an example diagram of uplink time slot resources sent by the OLT to the ONU in an embodiment of this application;
[0039] Figure 2(a) is an example diagram of a cache queue provided in an embodiment of this application;
[0040] Figure 2(b) is an example of packet fragmentation processing in the prior art;
[0041] Figure 3 This application provides an illustration of an application scenario for the data processing method in the embodiments of this application.
[0042] Figure 4 A schematic diagram illustrating the implementation flow of the data processing method provided in the embodiments of this application;
[0043] Figure 5(a) is a schematic diagram of the cache queue after reordering the cache queue of Figure 2(a) according to an embodiment of this application;
[0044] Figure 5(b) is a schematic diagram of the transmission of reordered data packets provided in an embodiment of this application;
[0045] Figure 6 A schematic diagram of the processing flow of the cache reordering module provided in an embodiment of this application;
[0046] Figure 7 This is a schematic diagram of the structure of the data processing apparatus provided in the embodiments of this application;
[0047] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0048] When PON transmits data in the uplink direction, it uses time-division multiplexing technology. The ONU cannot continuously transmit data in the uplink direction; instead, it transmits data in periodic pulses, with each transmission cycle typically lasting 125 μs. The OLT allocates uplink time slot resources to each ONU, specifying a Starttime and a Grantsize for each time slot. Starttime identifies the start time for transmitting data packets within a transmission cycle, i.e., the starting position (start time) at which data packets can be transmitted within a transmission cycle. Grantsize defines the size in bytes of data packets that can be transmitted within a transmission cycle (i.e., the length of the data packets), and the duration of a transmission cycle is agreed to be 125 μs. An example diagram of the uplink time slot resources transmitted by the OLT to the ONU is shown below. Figure 1 As shown, the ONU waits to receive the uplink time slot resources allocated to it by the OLT, and sends data packets to the OLT within its respective uplink time slot. If it misses the current time slot, it usually needs to wait for another cycle (125μs) before it can send data packets again.
[0049] In scenarios where the data to be transmitted includes a mixture of large and small data packets, if a large data packet happens to be at the end of the allocated time slot, and the remaining transmittable data size at the end of the time slot is smaller than the length of that large data packet, the ONU cannot transmit the large data packet completely. For example, in a buffer queue example shown in Figure 2(a), the data packets currently buffered in the buffer queue are arranged in chronological order as follows: the first data packet is 300 bytes, the second data packet is 1KB, the third data packet is 300 bytes, the fourth data packet is 1.5KB, and the fifth to seventh data packets are all 128 bytes each. Assuming that the grantsize of the time slot resource allocated by the OLT to the ONU is 2KB, the total length of the first three data packets is 1.6KB, the length of the fourth data packet is 1.5KB, and the remaining transmittable data size at the end of the time slot is 400 bytes, the fourth large data packet cannot be transmitted completely in the current transmission cycle. At this point, in existing technologies, the ONU needs to fragment the fourth data packet, as shown in Figure 2(b). This large data packet is divided into two fragments: 400 bytes and 1.1KB, corresponding to fragment 1 and fragment 2 as shown in Figure 2(b). The 400-byte fragment (fragment 1) is sent in the current time slot, while the 1.1KB fragment (fragment 2) is appended with additional header overhead and buffered for transmission in the next cycle. Alternatively, the large data packet can be sent without fragmentation, waiting for the next cycle. The first method of fragmentation increases additional packet fragmentation overhead and packet reassembly latency, while the second method of not fragmenting wastes time slot resources.
[0050] Based on this, embodiments of this application provide a data processing method, apparatus, electronic device, and storage medium. The ONU receives each data packet to be sent and stores the received data packets to be sent sequentially into a buffer queue for caching according to the receiving order. Before sending data in each transmission cycle based on the timing resource information allocated by the OLT, the following processing is performed: determining the cumulative length of each data packet to be sent in the buffer queue and the data packets to be sent preceding it; comparing the cumulative length of each data packet to be sent and the data packets to be sent preceding it with the Grantsize of the timing resource information; when it is determined that the first cumulative length of the first data packet to be sent and the data packets to be sent preceding it is greater than the Grantsize, and the second cumulative length of the data packet to be sent preceding the first data packet to be sent and the data packets to be sent preceding it is less than the Grantsize; determining the difference between the Grantsize and the second cumulative length; and arranging at least one second data packet to be sent after the first data packet to be sent with a length less than or equal to the difference before the first data packet to be sent, so as to reorder the data packets in the current buffer queue, so as to send all the data packets to be sent before the reordered first data packet to be sent at the start time corresponding to the current transmission cycle. In this embodiment, when the first cumulative length of the first data packet to be sent and the data packets preceding it is greater than Grantsize, and the second cumulative length of the data packet preceding the first data packet to be sent and the data packets preceding it is less than Grantsize, it indicates that the first data packet to be sent is located at the end of the timing resources of the current transmission cycle, and the timing resources of the current transmission cycle cannot completely send the first data packet to be sent. In this case, by moving the position of the smaller second data packet following the first data packet to be sent before the first data packet to be sent so that it can be sent when the start time of the current transmission cycle arrives, the first data packet to be sent will be completely sent in the next transmission cycle. Since there is no need to fragment the first data packet to be sent, and the second data packet to be sent, which should have been sent in the next transmission cycle, is sent in the current transmission cycle, the latency of the second data packet to be sent (the length of one transmission cycle is 125μs) is reduced while avoiding wasting time slot resources. Thus, the time slot resources in the entire uplink data transmission process can be fully utilized, and the overall latency is improved.
[0051] The preferred embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit this application. Furthermore, the embodiments and features in the embodiments of this application can be combined with each other without conflict.
[0052] First refer to Figure 3This is a schematic diagram of an application scenario of the data processing method provided in this application embodiment. It may include an OLT100 and an ONU101. The OLT100 and ONU101 transmit data over the network via an ODN. The ONU101 includes an uplink inbound data packet processing module 1011, an uplink outbound data transmission module 1012, a BWMAP (Bandwidth map) parsing module 1013, and a cache reordering module 1014. The OLT100 allocates uplink time slot resource information to the ONU101 and sends the uplink time slot resource information to the ONU101 by sending a BWMAP message. The uplink resource information includes: the Starttime and Grantsize specified by the OLT100 for the ONU101. The Starttime identifies the start time of sending data packets in a transmission cycle, that is, the starting position (i.e., the start time) at which data packets can be sent in a transmission cycle. The Grantsize defines the size of the data packets that can be sent in bytes in a transmission cycle (i.e., the length of the data packets that can be sent), and the duration of a transmission cycle is agreed to be 125μs. in:
[0053] The uplink inbound data packet processing module 1011 is used to receive each data packet to be sent and store each data packet to be sent into a buffer queue in the order of receipt for buffering.
[0054] The uplink outgoing data transmission module 1012 is used to extract data packets sequentially from the buffer queue and send the extracted data packets to the OLT100 within a specified time slot according to the uplink time slot resources allocated by the OLT100 to the ONU101.
[0055] The BWMAP parsing module is used to receive BWMAP messages sent by OLT100, extract the uplink time slot resource information allocated by OLT in the BWMAP message, including Starttime and Grantsize, and pass Starttime and Grantsize to the cache reordering module 1014.
[0056] The cache reordering module 1014 is used to determine the cumulative length of each data packet to be sent in the cache queue and the data packets to be sent preceding it before sending data in each transmission cycle of the uplink time slot resource information allocated by the OLT; sequentially compare the cumulative length of each data packet to be sent and the data packets to be sent preceding it with the Grantsize of the time slot resource information; when it is determined that the first cumulative length of the first data packet to be sent and the data packets to be sent preceding it is greater than the Grantsize, and the second cumulative length of the data packet to be sent preceding the first data packet to be sent and the data packets to be sent preceding it is less than the Grantsize, determine the difference between the Grantsize and the second cumulative length; and arrange at least one second data packet to be sent whose length after the first data packet to be sent is less than or equal to the difference between the Grantsize and the second cumulative length before the first data packet to be sent, so as to reorder the data packets in the cache queue.
[0057] Based on the above application scenarios, the following will refer to the appendix. Figures 4-6 The exemplary embodiments of this application are described in more detail below. It should be noted that the above application scenarios are shown only to facilitate understanding of the spirit and principles of this application, and the implementation methods of this application are not limited in any way. On the contrary, the implementation methods of this application can be applied to any applicable scenario.
[0058] like Figure 4 The diagram shown illustrates the implementation flow of the data processing method provided in this application embodiment. This data processing method can be applied to the aforementioned ONU101 and may specifically include the following steps:
[0059] S21. Receive each data packet to be sent and store each data packet to be sent into the buffer queue in the order of receipt for buffering.
[0060] In practice, the uplink inbound data packet processing module in the ONU receives each data packet to be sent by the terminal and stores each data packet to be sent in the order of receipt into the buffer queue for buffering. It can also record the sequence number i of each data packet to be sent in the buffer queue and the corresponding data packet size (i.e., the length of the data packet) Si.
[0061] S22. Before sending data in each transmission cycle based on the time slot resource information allocated by the OLT, determine the cumulative length of each data packet to be sent in the buffer queue and the data packets to be sent preceding it.
[0062] In specific implementation, before transmitting data in each transmission cycle of the time slot resources based on OLT fragmentation, the following is also included:
[0063] Receive the BWMAP message sent by the OLT, extract the time slot resource information allocated by the OLT in the BWMAP message, including the start time and grantsize corresponding to the current transmission period.
[0064] In practice, when the BWAMP parsing module in the ONU receives the BWMAP message sent by the OLT, it extracts the uplink time slot resource information allocated by the OLT to the ONU in the BWMAP message, obtains the Starttime and Grantsize contained therein, and sends the Starttime and Grantsize to the cache reordering module in the ONU.
[0065] Before sending data in each transmission cycle based on the time slot resource information allocated by the OLT, the cache reordering module calculates the cumulative length of each data packet to be sent in the cache queue and the data packets to be sent before it. That is, the cumulative length of the cache queue for each data packet to be sent up to the current position.
[0066] Specifically, the cumulative length of the i-th data packet to be sent in the buffer queue and the data packets to be sent preceding it is calculated using the following formula:
[0067]
[0068] Among them, C i This represents the cumulative length of the i-th data packet to be sent in the buffer queue and the data packets to be sent preceding it.
[0069] S k This indicates the length of the k-th data packet to be sent.
[0070] S23. Compare each data packet to be sent with the cumulative length of the data packets to be sent preceding it and the Grantsize of the time slot resource information in turn.
[0071] In practice, the cache reordering module sequentially moves C from the head of the cache queue. i Compare with the value of Grantsize.
[0072] S24. When it is determined that the first cumulative length of the first data packet to be sent and the data packets to be sent preceding it is greater than Grantsize, and the second cumulative length of the data packet to be sent preceding the first data packet to be sent and the data packets to be sent preceding it is less than Grantsize, determine the difference between Grantsize and the second cumulative length.
[0073] In specific implementation, when C i ≥Grantsize and C i-1When C < Grantsize, the to-be-transmitted packet i (which can be recorded as the first to-be-transmitted packet) is the tail packet of the time slot in the current transmission period, C i can be recorded as a first cumulative length, C i-1 can be recorded as a second cumulative length. If this condition is still not satisfied when reaching the end of the buffer queue, the process continues to wait for receiving new packets until the condition is satisfied, or the Starttime of the current transmission period arrives.
[0074] When C i ≥Grantsize and C i-1 <Grantsize, the difference between Grantsize and C i-1 is calculated, and this difference is the remaining amount at the tail of the time slot when the current transmission period cannot completely transmit the to-be-transmitted packet i. Still taking the example in Figure 2(a) for illustration, assuming that Grantsize=2K bytes, there are 7 to-be-transmitted packets stored in the current buffer queue, C1=300 bytes, C2=300 bytes + 1K byte = 1.3K bytes, C3=300 bytes + 1K byte + 300 bytes = 1.6K bytes, C4=300 bytes + 1K byte + 300 bytes + 1.5K bytes = 3.1K bytes, C5=300 bytes + 1K byte + 300 bytes + 1.5K bytes + 128 bytes = 3228 bytes, C6=300 bytes + 1K byte + 300 bytes + 1.5K bytes + 128 bytes + 128 bytes = 3356 bytes, C7=300 bytes + 1K byte + 300 bytes + 1.5K bytes + 128 bytes + 128 bytes + 128 bytes =
[0075] 3484 bytes. It can be seen that C4 > 2K bytes and C3 < 2K bytes, which satisfies the reordering condition. Grantsize - C3 = 2K bytes - 1.6K bytes = 400 bytes, which is the remaining amount at the tail of the time slot.
[0076] In implementation, when C i = Grantsize, it indicates that the to-be-transmitted packet i can be completely transmitted in the current transmission period, so reordering is not required.
[0077] S25, arranging at least one second to-be-transmitted packet with a length less than or equal to the difference that is located after the first to-be-transmitted packet before the first to-be-transmitted packet, so as to transmit all to-be-transmitted packets before the reordered first to-be-transmitted packet at the start time corresponding to the current transmission period.
[0078] In specific implementation, if it is determined that the sum of the lengths of n consecutive to-be-transmitted data packets located after the first to-be-transmitted data packet is equal to the difference between Grantsize and the second cumulative length, the n consecutive to-be-transmitted data packets are determined as n consecutive second to-be-transmitted data packets, and the n consecutive second to-be-transmitted data packets are arranged before the first to-be-transmitted data packet.
[0079] If it is determined that the sum of the lengths of n consecutive to-be-transmitted data packets located after the first to-be-transmitted data packet is less than the difference between Grantsize and the second cumulative length, and the sum of the lengths of n+1 consecutive to-be-transmitted data packets located after the first to-be-transmitted data packet is greater than the difference between Grantsize and the second cumulative length, the n consecutive to-be-transmitted data packets are determined as n second to-be-transmitted data packets, the n consecutive second to-be-transmitted data packets are arranged before the first to-be-transmitted data packet, and zeros are padded after the n-th second to-be-transmitted data packet, so that the sum of the lengths of all to-be-transmitted data packets located before the reordered first to-be-transmitted data packet is equal to Grantsize.
[0080] Specifically, when C i ≥Grantsize and C i-1 <Grantsize, it is determined whether C i+1 -Si is less than Grantsize, where C i+1 -S i =S1+S2+…+S i-1 +S i+1 =C i-1 +S i+1 , which is the sum of the second cumulative length of the previous to-be-transmitted data packet i-1 of the first to-be-transmitted data packet i and the to-be-transmitted data packets arranged before it and the length of the next to-be-transmitted data packet i+1 of the first to-be-transmitted data packet i. If C i+1 -Si<Grantsize, it indicates that after swapping positions of the next to-be-transmitted data packet i+1 and the first to-be-transmitted data packet i, the data can be transmitted in the time slot of the current transmission period. When C i+1 -Si<Grantsize, it continues to determine whether C i+2 -S i is less than Grantsize, where C i+2 -S i =C i-1 +S i+1 +S i+2That is, the sum of the lengths of the preceding data packet i-1, the second cumulative length of the data packets preceding it, the length of the next data packet i+1, and the length of the second data packet i+2 after the first data packet i. This continues until the nth data packet after the first data packet i is found, satisfying C. i+n -S i ≤Grantsize<C i+n+1 -S i If the end of the buffer queue is reached, i.e., C i+n+1 =null is an empty value, so continue waiting for a new data packet to arrive until the condition is met, or Starttime arrives. If C is met... i+n -S i ≤Grantsize<C i+n+1 -S i This indicates the cumulative length C of the (i-1) data packets to be sent preceding the first data packet i. i-1 The n consecutive second data packets (i+1 to i+n) following the first data packet i can be sent together in the upcoming current sending cycle. These n consecutive second data packets are arranged before the first data packet i, and the sequence numbers of the first data packet i and the second data packets i+1 to i+n are updated. That is, the sequence numbers of the second data packets i+1 to i+n are all decremented by 1, and the sequence number of the first data packet i is updated to i+n.
[0081] In implementation, when C i+n -S i =Grantsize and Grantsize < C i+n+1 -S i When C is in the first position, simply arrange n consecutive second data packets before the first data packet to be sent; when C is in the second position... i+n -S i <Grantsize<C i+n+1 -S i When n consecutive second data packets to be sent are arranged before the first data packet to be sent, zeros need to be padded after the nth second data packet to be sent so that the sum of the lengths of all data packets to be sent before the reordered first data packet i is equal to Grantsize.
[0082] Taking the example in Figure 2(a) as an example, there are still 400 bytes of Grantsize remaining. i = 1.5K bytes, S i+1 = 128 bytes, S i+2= 128 bytes, S i+3 = 128 bytes, satisfying C i+1 -S i <Grantsize, which means removing S i , removing S i+1 and adding it in. At this time, Grantsize is not filled yet, and C continues to be determined i+2 -S i whether it is < Grantsize, and add S i+2 as well. At this time, 400 bytes - 128 bytes × 2 = 144 bytes > 0, Grantsize is still not filled, so C continues to be determined i+3 -S i whether it is < Grantsize, and add S i+3 as well. At this time, 400 bytes - 128 bytes × 3 = 16 bytes > 0. Since there are no new data packets to be sent behind, that is, the end of the buffer queue is reached. In this case, n = 3. If other data packets to be sent are received subsequently, comparison will continue and the value of n may change; if not, the value of n is determined as 3. The three subsequent 128-byte data packets are arranged before the 1.5K-byte data packet, and the reordered buffer queue is shown in Figure 5(a). Furthermore, 16 bytes of 0 are supplemented after the third 128-byte data packet. Figure 5(b) shows a schematic diagram of sending the reordered data packets, where T1 is the length of the transmission period: 125 μs, which is the time interval between the time slot of the current transmission period and the time slot of the next transmission period. When the Starttime of the current transmission period is reached, the upstream outbound data sending module of the ONU acquires the reordered data packets 1 to 4 and the 16 bytes of 0 supplemented at the tail from the buffer sequence for sending.
[0083] Assume that the lengths of other data packets to be sent remain unchanged, and S i+3 = 256 bytes, then 400 bytes - 128 bytes × 2 - 256 bytes < 0, C i+2 -S i <Grantsize<C i+3 -S i , in this case n = 2.
[0084] The following analyzes the data transmission delay of the fragmentation processing method in the prior art shown in Figure 2(b) and the reordering method of the present application shown in Figure 5(b):
[0085] In Figure 2(b), the delay of the large packet (1.5K-byte data packet) is: T 大 = T0+T1+Tr 分片1 +Tr 分片2 , and the delay of the small packet (128-byte data packet) is: T 小=T0 ′ +T1+Tr 分片1 +Tr 分片2 +Tr 小包 .
[0086] Where T0 is the time that the large packet has been waiting in the cache queue, T0 ′ T1 represents the waiting time of a small packet in the buffer queue, and T1 is the length of the transmission cycle: 125μs, which is the time interval between the current transmission cycle's time slot and the next transmission cycle's time slot. 分片1 For the transmission time of fragment 1 of the large packet, Tr 分片2 For the transmission time of fragment 2 of the large packet, Tr 小包 For small packet transmission time, taking the xgspon 10g line rate as an example, the transmission delay of each data packet is less than 0.1μs.
[0087] In the processing method provided in this application embodiment, as shown in Figure 5(b), the delay for a large packet (a 1.5K-byte data packet) is: T 大 =T0+T1+Tr 400 +Tr 大包 , where Tr 400 This corresponds to the transmission time of the 400 bytes (three 128-byte data packets + 16 bytes of zeros) at the end of the Grantsize, which is equivalent to the transmission time Tr of fragment 1 of a large packet in the existing technology. 分片1 The latency for a small packet (128-byte data packet) is: T 小 =T0 ′ +Tr 小包 .
[0088] Compared to existing technologies, the latency of large packets increases by: (T0+T1+Tr) 400 +Tr 大包 )-(T0+T1+Tr 分片1 +Tr 分片2 ) = Tr 大包 -Tr 分片2 Taking the XGSPON 10G line rate as an example, the difference in transmission delay is less than 0.1μs, which is negligible. In other words, the processing method in this application has a large packet delay that is comparable to that in the prior art.
[0089] Compared with existing technologies, small packet latency is reduced by: (T0) ′ +T1+Tr 分片1 +Tr 分片2 +Tr 小包 )-(T0 ′ +Tr 小包 )=T1+Tr 分片1 +Tr 分片2 , where Tr分片1 and Tr 分片2 the transmission delay is 0.1 μs, which is negligible. Then, the small packet delay is reduced by approximately the length of one transmission period: 125 μs. It can thus be seen that in the embodiments of the present application, the small packet delay is significantly better than that of the prior art.
[0090] In one implementation, when it is determined that the first cumulative length of the first to-be-transmitted data packet and the to-be-transmitted data packets arranged before it is equal to the Grantsize, it indicates that there is no remaining space at the end of the time slot of the current transmission period, so no reordering is required, and transmission can be performed directly when the Starttime arrives.
[0091] In one implementation, if it is determined that the lengths of a preset number of to-be-transmitted data packets located after the first to-be-transmitted data packet are all greater than the difference between the Grantsize and the second cumulative length, then zeros are padded before the first to-be-transmitted data packet, so that the total length of all to-be-transmitted data packets before the first to-be-transmitted data packet is equal to the Grantsize.
[0092] Specifically, when C i ≥ Grantsize and C i-1 <Grantsize, if C i+1 - Si > Grantsize, that is, the length of the (i+1)th data packet is greater than the difference obtained by Grantsize minus the second cumulative length of the previous to-be-transmitted data packet i-1 of the first to-be-transmitted packet i and the to-be-transmitted data packets arranged before it. Then, even if the position of the first to-be-transmitted data packet i and the subsequent data packet i+1 is swapped, the total length still exceeds the range of Grantsize. For example, the (i+1)th data packet is also a large packet or there is very little remaining space at the end of the time slot, so no adjustment is needed. Alternatively, if the first data packet i+1 after the first to-be-transmitted data packet i does not meet the condition, it may continue to determine whether the second data packet i+2 after the first to-be-transmitted data packet i satisfies C i+2 - S i - S i+1 < Grantsize. If none of the preset number of to-be-transmitted data packets after the first to-be-transmitted data packet i meets the above condition, no reordering is performed. Zeros are padded before the first to-be-transmitted data packet i, so that the total length of all to-be-transmitted data packets before the first to-be-transmitted data packet i is equal to the Grantsize, and the first to-be-transmitted data packet i is transmitted in the next transmission period. The preset number can be set by oneself according to requirements, for example, it can be set to 1, 2, 3 or the like. However, the larger the preset number is set, the more data packets are detected, the longer the waiting time is, and the greater the damage to the original data packet order. In implementation, one subsequent data packet or a small number of subsequent data packets can be considered, and if the condition is not met, no adjustment is performed.
[0093] In this embodiment, the complete processing flow of the cache reordering module can be found in [reference needed]. Figure 6 This will not be elaborated upon here.
[0094] This application provides a data processing method in which an ONU receives various data packets to be sent and stores them sequentially in a buffer queue according to the receiving order. Before sending data in each transmission cycle based on the timing resource information allocated by the OLT, the following processing is performed: determining the cumulative length of each data packet to be sent in the buffer queue and the data packets to be sent preceding it; comparing the cumulative length of each data packet to be sent and the data packets to be sent preceding it with the Grantsize of the timing resource information; when it is determined that the first cumulative length of the first data packet to be sent and the data packets to be sent preceding it is greater than the Grantsize, and the second cumulative length of the data packet to be sent preceding the first data packet to be sent and the data packets to be sent preceding it is less than the Grantsize; determining the difference between the Grantsize and the second cumulative length; and arranging at least one second data packet to be sent after the first data packet to be sent with a length less than or equal to the difference before the first data packet to be sent, so as to reorder the data packets in the current buffer queue, and sending all data packets to be sent before the reordered first data packet to be sent at the start time corresponding to the current transmission cycle. In this embodiment, when the first cumulative length of the first data packet to be sent and the data packets preceding it is greater than Grantsize, and the second cumulative length of the data packet preceding the first data packet to be sent and the data packets preceding it is less than Grantsize, it indicates that the first data packet to be sent is located at the end of the timing resources of the current transmission cycle, and the timing resources of the current transmission cycle cannot completely send the first data packet to be sent. In this case, by moving the position of the smaller second data packet following the first data packet to be sent before the first data packet to be sent so that it can be sent when the start time of the current transmission cycle arrives, the first data packet to be sent will be completely sent in the next transmission cycle. Since there is no need to fragment the first data packet to be sent, and the second data packet to be sent, which should have been sent in the next transmission cycle, is sent in the current transmission cycle, the latency of the second data packet to be sent (the length of one transmission cycle is 125μs) is reduced while avoiding wasting time slot resources. Thus, the time slot resources in the entire uplink data transmission process can be fully utilized, and the overall latency is improved.
[0095] Based on the same inventive concept, this application also provides a data processing device. Since the principle of the data processing device in solving the problem is similar to that of the data processing method, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.
[0096] like Figure 7 As shown, it is a schematic diagram of the structure of the data processing device provided in the embodiments of this application, which may include:
[0097] The first receiving unit 31 is used to receive each data packet to be sent and to store each data packet to be sent into a buffer queue in the order of receipt for buffering.
[0098] The first determining unit 32 is used to determine the cumulative length of each data packet to be sent in the buffer queue and the data packets to be sent before it in each transmission cycle based on the time slot resource information allocated by the optical line terminal (OLT).
[0099] Comparison unit 33 is used to sequentially compare the cumulative length of each data packet to be sent with the data packets to be sent preceding it with the grant size of the time slot resource information;
[0100] The second determining unit 34 is used to determine the difference between Grantsize and the second cumulative length when it is determined that the first cumulative length of the first data packet to be sent and the data packets to be sent preceding it is greater than Grantsize, and the second cumulative length of the data packet to be sent preceding the first data packet to be sent and the data packets to be sent preceding it is less than Grantsize.
[0101] The rearrangement unit 35 is configured to arrange at least one second data packet to be sent, located after the first data packet to be sent, with a length less than or equal to the difference, before the first data packet to be sent, so as to send all data packets to be sent before the rearranged first data packet to be sent at the start time corresponding to the current sending period.
[0102] In one possible implementation, the rearrangement unit 35 is specifically configured to: if it is determined that the sum of the lengths of n consecutive data packets to be sent after the first data packet to be sent is equal to the difference, then determine the n consecutive data packets to be sent as n consecutive second data packets to be sent, and arrange the n consecutive second data packets to be sent before the first data packet to be sent; if it is determined that the sum of the lengths of n consecutive data packets to be sent after the first data packet to be sent is less than the difference, and the sum of the lengths of n+1 consecutive data packets to be sent after the first data packet to be sent is greater than the difference, then determine the n consecutive data packets to be sent as n second data packets to be sent, arrange the n consecutive second data packets to be sent before the first data packet to be sent, and pad with zeros after the nth second data packet to be sent, so that the sum of the lengths of all data packets to be sent before the rearranged first data packet to be sent is equal to the Grantsize.
[0103] In one possible implementation, the device further includes:
[0104] The processing unit is configured to, if it is determined that the lengths of a preset number of data packets to be sent following the first data packet to be sent are all greater than the difference, pad the first data packet to be sent with zeros so that the lengths of all data packets to be sent preceding the first data packet to be sent are equal to the Grantsize.
[0105] In one possible implementation, the device further includes:
[0106] The second receiving unit is used to receive the bandwidth mapping (BWMAP) message sent by the OLT before sending data in each transmission cycle based on the time slot resource information allocated by the OLT.
[0107] The extraction unit is used to extract the time slot resource information allocated by the OLT in the BWMAP message. The time slot resource information includes the start time corresponding to the current transmission period and the Grantsize.
[0108] Based on the same technical concept, this application also provides an electronic device 400, referring to... Figure 8 As shown, the electronic device 400 is used to implement the data processing method described in the above-described method embodiments. The electronic device 400 in this embodiment may include: a memory 401, a processor 402, and a computer program, such as a data processing program, stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps in the various data processing method embodiments described above.
[0109] This application embodiment does not limit the specific connection medium between the memory 401 and the processor 402 described above. This application embodiment... Figure 8 The memory 401 and the processor 402 are connected via a bus 403, and the bus 403 is in Figure 8 The connections between other components are shown in bold lines only and are not intended to be limiting. The bus 403 can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 8 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0110] Memory 401 may be volatile memory, such as random-access memory (RAM); memory 401 may also be non-volatile memory, such as read-only memory, flash memory, hard disk drive (HDD), or solid-state drive (SSD); or memory 401 may be any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto. Memory 401 may be a combination of the above-described memories.
[0111] The processor 402 is used to implement the data processing method provided in the embodiments of this application.
[0112] This application also provides a computer-readable storage medium storing computer-executable instructions required to execute the processor, including a program required to execute the processor.
[0113] In some possible implementations, various aspects of the data processing method provided in this application may also be implemented as a program product comprising program code that, when the program product is run on an electronic device, causes the electronic device to perform the steps of the data processing method according to the various exemplary embodiments of this application described above.
[0114] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0115] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0116] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0117] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0118] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0119] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A data processing method, characterized in that, include: Receive each data packet to be sent, and store each data packet to be sent into a buffer queue in the order of receipt for buffering; Before transmitting data in each transmission cycle based on the time slot resource information allocated by the optical line terminal (OLT), the cumulative length of each data packet to be transmitted in the buffer queue and the data packets to be transmitted preceding it is determined. The cumulative length of each data packet to be sent and the data packets to be sent preceding it are compared with the Grantsize of the time slot resource information. When it is determined that the first cumulative length of the first data packet to be sent and the data packets preceding it is greater than the Grantsize, and the second cumulative length of the data packet preceding the first data packet to be sent and the data packets preceding it is less than the Grantsize, the difference between the Grantsize and the second cumulative length is determined. At least one second data packet to be sent, whose length is less than or equal to the difference and is located after the first data packet to be sent, is arranged before the first data packet to be sent, so that all data packets to be sent before the reordered first data packet to be sent are sent at the start time corresponding to the current sending period.
2. The method as described in claim 1, characterized in that, Arranging at least one second data packet to be sent, whose length is less than or equal to the difference, after the first data packet to be sent, before the first data packet to be sent, specifically includes: If it is determined that the sum of the lengths of n consecutive data packets to be sent after the first data packet to be sent is equal to the difference, then the n consecutive data packets to be sent are determined as n consecutive second data packets to be sent, and the n consecutive second data packets to be sent are arranged before the first data packet to be sent. If it is determined that the sum of the lengths of the n consecutive data packets to be sent after the first data packet to be sent is less than the difference, and the sum of the lengths of the (n+1) consecutive data packets to be sent after the first data packet to be sent is greater than the difference, then the n consecutive data packets to be sent are determined as n second data packets to be sent. The n consecutive second data packets to be sent are arranged before the first data packet to be sent, and zeros are added after the nth second data packet to be sent, so that the sum of the lengths of all data packets to be sent before the reordered first data packet to be sent is equal to the Grantsize.
3. The method as described in claim 1, characterized in that, Also includes: If it is determined that the lengths of a preset number of data packets to be sent after the first data packet to be sent are all greater than the difference, then zeros are padded before the first data packet to be sent so that the length of all data packets to be sent before the first data packet to be sent is equal to the Grantsize.
4. The method as described in claim 1, characterized in that, Before transmitting data in each transmission cycle based on the time slot resource information allocated by the OLT, the following is also included: Receive the bandwidth mapping (BWMAP) message sent by the OLT; Extract the time slot resource information allocated by the OLT from the BWMAP message. The time slot resource information includes the start time corresponding to the current transmission period and the Grantsize.
5. A data processing apparatus, characterized in that, include: The first receiving unit is used to receive each data packet to be sent and to store each data packet to be sent into a buffer queue in the order of receipt for buffering. The first determining unit is used to determine the cumulative length of each data packet to be sent in the buffer queue and the data packets to be sent before it in each transmission cycle based on the time slot resource information allocated by the optical line terminal (OLT). The comparison unit is used to compare the cumulative length of each data packet to be sent with the data packets to be sent preceding it with the grant size of the time slot resource information in sequence. The second determining unit is configured to determine the difference between Grantsize and the second cumulative length when it is determined that the first cumulative length of the first data packet to be sent and the data packets to be sent preceding it is greater than Grantsize, and the second cumulative length of the data packet to be sent preceding the first data packet to be sent and the data packets to be sent preceding it is less than Grantsize. The rearrangement unit is configured to arrange at least one second data packet to be sent, located after the first data packet to be sent, with a length less than or equal to the difference, before the first data packet to be sent, so as to send all data packets to be sent before the rearranged first data packet to be sent at the start time corresponding to the current sending period.
6. The apparatus as claimed in claim 5, characterized in that, The rearrangement unit is specifically configured to determine the n consecutive data packets to be sent as n consecutive second data packets to be sent if the sum of the lengths of the n consecutive data packets to be sent after the first data packet to be sent is equal to the difference, and arrange the n consecutive second data packets to be sent before the first data packet to be sent. If it is determined that the sum of the lengths of the n consecutive data packets to be sent after the first data packet to be sent is less than the difference, and the sum of the lengths of the (n+1) consecutive data packets to be sent after the first data packet to be sent is greater than the difference, then the n consecutive data packets to be sent are determined as n second data packets to be sent. The n consecutive second data packets to be sent are arranged before the first data packet to be sent, and zeros are added after the nth second data packet to be sent, so that the sum of the lengths of all data packets to be sent before the reordered first data packet to be sent is equal to the Grantsize.
7. The apparatus as claimed in claim 5, characterized in that, Also includes: The processing unit is configured to, if it is determined that the lengths of a preset number of data packets to be sent following the first data packet to be sent are all greater than the difference, pad the first data packet to be sent with zeros so that the lengths of all data packets to be sent preceding the first data packet to be sent are equal to the Grantsize.
8. The apparatus as claimed in claim 5, characterized in that, Also includes: The second receiving unit is used to receive the bandwidth mapping (BWMAP) message sent by the OLT before sending data in each transmission cycle based on the time slot resource information allocated by the OLT. The extraction unit is used to extract the time slot resource information allocated by the OLT in the BWMAP message. The time slot resource information includes the start time corresponding to the current transmission period and the Grantsize.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the data processing method as described in any one of claims 1 to 4.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the steps of the data processing method as described in any one of claims 1 to 4.
Citation Information
Patent Citations
Uplink and downlink small data transmission method and device
CN107241764A
Data packet forwarding method and device based on multi-level cache
CN113347112A