A data transmission method and apparatus

By using the transmission resources scheduled on the network side to filter service data from video surveillance equipment in the cellular network, and through collaborative optimization at the link layer and application layer, the latency and reliability issues caused by transmission rate variations in the cellular network transmission are resolved. This ensures the priority transmission of high-priority data and improves the data transmission quality and efficiency of video surveillance equipment.

CN116017567BActive Publication Date: 2026-02-03ZHEJIANG DAHUA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211623773.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-16
Publication Date
2026-02-03
Estimated Expiration
2042-12-16

AI Technical Summary

Technical Problem

In video streaming services, wireless transmission in cellular networks is affected by factors such as time variability, interference noise, and network congestion, leading to variations in transmission rates. This is especially true when multiple service data are transmitted simultaneously, which can easily cause transmission delays and reliability issues.

Method used

The network side filters the service data to be sent by the terminal by allocating transmission resources to the terminal. Based on preset rules and priority policies, the transmission quality of high-priority service data is ensured. By leveraging the collaborative optimization of the link layer and application layer, priority information of service data is filled in the PDCP layer and RLC layer to filter data and prioritize the scheduling of high-priority data.

Benefits of technology

It ensures the transmission quality and efficiency of high-priority business data when network conditions change, reduces transmission latency and packet loss, and improves the data transmission reliability of video surveillance equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116017567B_ABST
    Figure CN116017567B_ABST
Patent Text Reader

Abstract

The application discloses a data transmission method and device, which filters service data to be sent by a terminal according to the amount of transmission resources scheduled by a network side for the terminal, so as to change the transmission strategy of the service data of the terminal with the change of network conditions, and guarantee the transmission quality of high-priority service data. The data transmission method provided by the application comprises the following steps: determining service data to be sent by a terminal; when it is determined that a preset condition is met, filtering the service data to be sent according to a preset rule, and sending the filtered service data to be sent, wherein the preset condition is determined according to the amount of transmission resources scheduled by a network side for the terminal.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data transmission, and in particular to a data transmission method and device. BACKGROUND

[0002] The wireless transmission of a cellular network has the characteristic of time variation. The distance from the base station, interference noise, and network congestion caused by too many users can all affect the rate of data transmission. For video streaming services, which focus on uplink transmission, the change in transmission rate has a great impact. In video monitoring services, multiple service data are often transmitted simultaneously, such as video, voice, and pictures. This situation inevitably causes a sudden increase in transmission traffic. At this time, if the bandwidth is limited due to external environmental factors such as channel interference or network congestion, it will inevitably cause data transmission delay and even affect transmission reliability. SUMMARY

[0003] The embodiments of the present application provide a data transmission method and device, which filter service data to be sent by a terminal according to the amount of transmission resources scheduled by a network side for the terminal, so that the transmission strategy of the service data of the terminal changes with the change of network conditions, thereby guaranteeing the transmission quality of high-priority service data.

[0004] The embodiments of the present application provide a data transmission method, which comprises:

[0005] determining service data to be sent by a terminal;

[0006] when it is determined that a preset condition is met, filtering the service data to be sent according to a preset rule, and sending the filtered service data to be sent, wherein the preset condition is determined according to the amount of transmission resources scheduled by a network side for the terminal.

[0007] Through the method, the service data to be sent by a terminal is determined, when it is determined that a preset condition is met, the service data to be sent is filtered according to a preset rule, and the filtered service data to be sent is sent, wherein the preset condition is determined according to the amount of transmission resources scheduled by a network side for the terminal, so that the transmission strategy of the service data of the terminal changes with the change of network conditions, thereby guaranteeing the transmission quality of high-priority service data.

[0008] In some embodiments, the determination that a preset condition is met and the filtering of the service data to be sent according to a preset rule comprises:

[0009] determining the ratio of the amount of transmission resources scheduled by a network side for the terminal to the amount of resource requests sent by the terminal in the latest statistical period;

[0010] When the ratio is less than a preset threshold, filtering the to-be-sent service data according to a preset rule.

[0011] Through the method, the resource state is evaluated according to the ratio of the transmission resource quantity of the terminal scheduling to the resource request quantity sent.

[0012] In some embodiments, the filtering the to-be-sent service data according to the preset rule comprises:

[0013] According to the preset priority of the to-be-sent service data and a preset data filtering threshold, the to-be-sent service data is filtered.

[0014] In some embodiments, the filtering the to-be-sent service data according to the preset priority of the to-be-sent service data and the preset data filtering threshold comprises:

[0015] By comparing the ratio with a preset data filtering threshold, a current data filtering level is determined.

[0016] According to the current data filtering level and the preset priority of the to-be-sent service data, the to-be-sent service data is filtered.

[0017] In some embodiments, the six priorities are set in a descending order of priority, i.e., priority one, priority two, priority three, priority four, priority five, and priority six.

[0018] In some embodiments, the determining the current data filtering level by comparing the ratio with the preset data filtering threshold comprises: when the ratio is greater than a preset data filtering threshold four, the current data filtering level is determined as data filtering level five.

[0019] According to the current data filtering level and the preset priority of the to-be-sent service data, the to-be-sent service data is filtered, comprising: filtering out service data with a preset priority lower than priority five from the to-be-sent service data.

[0020] Through the method, it is determined that the service data with a preset priority lower than priority five needs to be filtered, so as to ensure the transmission quality and efficiency of service data with priority one, two, three, four, and five.

[0021] In some embodiments, the determining the current data filtering level by comparing the ratio with the preset data filtering threshold comprises: when the ratio is less than a preset data filtering threshold four and greater than a preset data filtering threshold three, the current data filtering level is determined as data filtering level four.

[0022] According to the current data filtering level and the preset priority of the to-be-sent service data, the to-be-sent service data is filtered, including filtering service data with a preset priority lower than priority four from the to-be-sent service data.

[0023] Through the method, service data with a preset priority lower than priority four is determined to be filtered, so that the transmission quality and efficiency of service data with priorities one, two, three and four are guaranteed.

[0024] In some embodiments, the current data filtering level is determined by comparing the ratio with preset data filtering thresholds, including: when the ratio is less than a preset data filtering threshold three and greater than a preset data filtering threshold two, the current data filtering level is determined to be data filtering level three.

[0025] According to the current data filtering level and the preset priority of the to-be-sent service data, the to-be-sent service data is filtered, including filtering service data with a preset priority lower than priority three from the to-be-sent service data.

[0026] Through the method, service data with a preset priority lower than priority three is determined to be filtered, so that the transmission quality and efficiency of service data with priorities one, two and three are guaranteed.

[0027] In some embodiments, the current data filtering level is determined by comparing the ratio with preset data filtering thresholds, including: when the ratio is less than a preset data filtering threshold two and greater than a preset data filtering threshold one, the current data filtering level is determined to be data filtering level two.

[0028] According to the current data filtering level and the preset priority of the to-be-sent service data, the to-be-sent service data is filtered, including filtering service data with a preset priority lower than priority two from the to-be-sent service data.

[0029] Through the method, service data with a preset priority lower than priority two is determined to be filtered, so that the transmission quality and efficiency of service data with priorities one and two are guaranteed.

[0030] In some embodiments, the current data filtering level is determined by comparing the ratio with preset data filtering thresholds, including: when the ratio is less than a preset data filtering threshold one, the current data filtering level is determined to be data filtering level one.

[0031] According to the current data filtering level and a preset priority of the to-be-sent service data, filtering the to-be-sent service data comprises filtering service data with a priority lower than the first priority from the to-be-sent service data.

[0032] By this method, it is determined that the service data with a priority lower than the first priority needs to be filtered, so as to ensure the transmission quality and efficiency of the service data with the first priority.

[0033] Another embodiment of the present application provides a data transmission device, comprising a memory and a processor, wherein the memory is used to store program instructions, and the processor is used to call the program instructions stored in the memory to perform any of the above methods according to the obtained program.

[0034] In addition, according to the embodiments, for example, a computer program product for a computer is provided, which comprises software code portions for performing the steps of the above-defined method when the product is running on the computer. The computer program product can comprise a computer-readable medium on which the software code portions are stored. Furthermore, the computer program product can be directly loadable into the internal memory of the computer and / or transmittable via a network by at least one of a upload process, a download process and a push process.

[0035] Another embodiment of the present application provides a computer-readable storage medium, which stores computer-executable instructions for causing the computer to perform any of the above methods. BRIEF DESCRIPTION OF DRAWINGS

[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.

[0037] Figure 1 A schematic diagram of a PDCP data packet format with a SN length of 12 bits is provided for the embodiments of the present application;

[0038] Figure 2 A schematic diagram of a PDCP data packet format with a SN length of 18 bits is provided for the embodiments of the present application;

[0039] Figure 3 A schematic diagram of a priority transmission process based on a scheduling resource state is provided for the embodiments of the present application;

[0040] Figure 4A schematic diagram illustrating a specific process for priority transmission based on resource status, provided in an embodiment of this application;

[0041] Figure 5 This is a schematic diagram of the overall process of a data transmission method provided in an embodiment of this application;

[0042] Figure 6 This is a schematic diagram of a data transmission device provided in an embodiment of this application. Detailed Implementation

[0043] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0044] This application provides a data transmission method and apparatus for filtering service data to be sent by the terminal by allocating transmission resources to the terminal on the network side. This allows the transmission strategy of the terminal's service data to change with network conditions, thereby ensuring the transmission quality of high-priority service data.

[0045] The method and apparatus are based on the same concept of the application. Since the methods and apparatus solve problems in similar ways, the implementation of the apparatus and methods can refer to each other, and the repeated parts will not be described again.

[0046] The terms "first," "second," etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0047] The following examples and embodiments are to be understood as illustrative only. While this specification may refer to "a," "an," or "some" examples or embodiments in several places, this does not mean that every such reference relates to the same example or embodiment, nor does it mean that the feature applies only to a single example or embodiment. Individual features of different embodiments may also be combined to provide other embodiments. Furthermore, terms such as "comprising" and "including" should be understood not to limit the described embodiments to consisting only of those features mentioned; such examples and embodiments may also include features, structures, units, modules, etc., not specifically mentioned.

[0048] The various embodiments of this application will now be described in detail with reference to the accompanying drawings. It should be noted that the order in which the embodiments are presented in this application represents only a chronological order and does not represent the superiority or inferiority of the technical solutions provided by the embodiments.

[0049] It should be noted that the technical solutions provided in this application are illustrated by taking the collaborative transmission optimization of video bitstream at the link layer and application layer as an example, but are not limited thereto.

[0050] The following are explanations of some of the terms that appear in the text:

[0051] 1. In the embodiments of this application, the term "TCP" refers to Transmission Control Protocol, which is a connection-oriented, reliable, byte-stream-based transport layer communication protocol;

[0052] 2. In the embodiments of this application, the terms "I-frame" stands for Intra picture, a key frame. I-frames occupy the most storage resources due to less compression, and one I-frame is a complete image. "P-frame" stands for Predictive frame, a forward predictive coded frame. It reconstructs a complete image based on the information of the preceding I-frames and occupies less storage resources than I-frames. "B-frame" stands for Bi-ditectional interpolated prediction frame. It needs to reconstruct a complete image based on the information of the preceding I-frames or P-frames and the following P-frames, and occupies the least storage resources.

[0053] 3. In the embodiments of this application, the term "PDCP" stands for Packet Data Convergence Protocol, which is mainly used to process packet data carried by the network layer on the air interface, such as IP data streams;

[0054] 4. In the embodiments of this application, the term "SDAP" stands for Service Data Adaptation Protocol, which is a sub-layer added to the 5G / NR user plane. One of the functions of this layer is to map QoS streams to DRBs.

[0055] 5. In the embodiments of this application, the term "RLC" stands for Radio Link Control, which is the radio link control layer protocol in wireless communication systems such as GPRS / WCDMA / TD-SCDMA / LTE.

[0056] 6. In the embodiments of this application, the term "MAC" stands for Multiple Access Channel, which is a channel with multiple channel input signals but only one channel output signal.

[0057] For video surveillance equipment, in addition to basic streaming video transmission, it also needs to have the capability to transmit other data services, such as image transmission, voice transmission, and other higher-priority customized services. For wireless video surveillance equipment using cellular networks, its transmission suffers from the inherent uncertainties and time-varying characteristics common to wireless networks. For example, too many users accessing the network, sudden surges in data volume, noise interference, or channel quality variations caused by base station coverage can all affect the transmission quality of video surveillance equipment.

[0058] When transmitting data in a cellular network, the terminal first requests resources from the base station. The base station then makes a comprehensive decision regarding the timing and amount of data sent by the terminal based on current resource availability, the terminal's request volume, and channel conditions. Therefore, the terminal lacks the ability to preempt transmission resources. When bandwidth is limited due to these factors, the service data must adapt to the increased bandwidth. However, for terminals capable of transmitting multiple service data simultaneously, the simultaneous surge of various service data inevitably increases bandwidth demand. If bandwidth is limited, this will only worsen transmission latency and packet loss. Therefore, ensuring the transmission and latency of critical service data using limited transmission resources becomes even more crucial.

[0059] To address the aforementioned issues, this application proposes a data transmission method applicable to any type of terminal device. This application uses a monitoring device as an example. This method optimizes data transmission collaboratively at both the link and application levels. The service layer pre-sets the priorities for various types of service data, and the link layer optimizes and adjusts data transmission control based on real-time resource allocation to ensure priority scheduling of high-priority critical data.

[0060] Add a service priority field to the service data packets of the service layer for use in conjunction with link layer optimization. Each service module in the service layer only needs to add the priority of the service data packets. It does not need to perform flow control on the transmission of service data, nor does it need to pay attention to the transmission status of other service data. It only needs to pay attention to the TCP socket cache and adjust its own transmission strategy in a timely manner based on the feedback from the cache.

[0061] In some embodiments, the priority of service data is pre-designed into three levels: highest priority, medium priority, and lowest priority. For each level of service data, it is further divided into key frames (i.e., critical data) and non-key frames (i.e., non-critical data). For example, in encoding video data, I-frames are considered indispensable key frames, while B-frames and / or P-frames are considered non-key frames. Therefore, a total of six priority levels can be designed for service data, namely 1, 2, 3, 4, 5, and 6, as shown in Table 1. For instance, if the reserved fields in the current data packet include a 000 bit, it indicates that the service data in that data packet is the highest priority critical data. Thus, when bandwidth resources are limited (e.g., too many terminal devices accessing the base station, noise interference, or poor signal coverage at the location of the terminal devices), the link layer can perform different filtering processes on different priority data according to the scarcity of bandwidth resources to ensure that high-priority service data is scheduled first.

[0062] Priority order BIT 1 BIT 2 BIT 3 Interpretation 1 0 0 0 Highest priority critical data 2 0 0 1 Highest priority non-critical data 3 0 1 0 Medium priority critical data 4 0 1 1 Medium priority non-critical data 5 1 0 0 Low priority critical data 6 1 0 1 Low priority non-critical data Undefined 1 1 0 Reserved Undefined 1 1 1 Reserved

[0063] Table 1 shows the population design for setting business data priority in reserved fields.

[0064] The camera of the monitoring equipment will collect the encoded service data and transmit it to the 5G network via USB. After receiving the service data, the 5G network will first send the service data to the PDCP layer, then through the RLC layer, and finally to the physical layer. The 3GPP protocol specifies the transmission format for each layer. Each layer's transmission will add corresponding control messages. Some fields (i.e., reserved fields) or bits in these control messages are not currently used. Therefore, the service data priority information can be filled based on the currently unused fields or bits.

[0065] Based on the aforementioned priority design rules for service data, priority information for service data is filled into reserved fields in the PDCP message format. This priority information field is used throughout the entire link layer, facilitating service data transmission control optimization between the PDCP and RLC layers. PDCP layer data packets have two formats based on SN (Serial Number) length: one is a 12-bit PDCP data packet format, for example... Figure 1As shown, one type of PDCP data packet format is 18-bit, for example... Figure 2 As shown, both formats have at least 3-bit reserved positions, for example... Figure 1 and Figure 2 The three R's within the rectangle shown are reserved positions, which can be used to fill in the priority information of the service data. For example, as shown in Table 1, the first and second bits are used to mark the priority of the service data, and the third bit is used to mark whether the service data is a keyframe. For example, if both bits 1 and 2 are filled with 0, it means the service data has the highest priority; if bit 1 is filled with 0 and bit 2 is filled with 1, it means the service data has a medium priority; if bit 1 is filled with 1 and bit 2 is filled with 0, it means the service data has a low priority; if bit 3 is filled with 0, it means the service data is a keyframe; if bit 3 is filled with 1, it means the service data is a non-keyframe.

[0066] After service data carrying priority information enters the PDCP layer's buffer via the SDAP layer, the PDCP layer first generates a PDCP header (starting and uniquely identifying the service segment of the packet) from this raw service data, and then fills the priority information it carries into the reserved positions according to the aforementioned padding design rules. In this way, the entire link layer (RLC layer and MAC layer) can optimize and control service data transmission based on the priority information of the marked service data. It should be noted that because the PDCP layer needs to filter service data based on subsequent resource scheduling status, to avoid invalid padding, the PDCP layer's SN field is not filled at this stage. The PDCP layer's SN field is only filled when it is determined that the service data should be sent to the RLC layer's buffer.

[0067] The PDCP, RLC, and MAC layers mentioned above are all protocol stacks of cellular networks. The PDCP layer is the top layer, the RLC layer is the middle layer, and the MAC layer is the bottom layer. The service data sent by the camera is first sent to the PDCP layer (responsible for receiving service data sent by the service layer and transmitting service data), then processed and sent to the RLC layer (responsible for segmenting and encrypting the service data), and finally sent to the MAC layer (responsible for sending the service data to the physical layer).

[0068] After the business data enters the PDCP layer's cache, the link layer optimizes transmission based on bandwidth resources, for example... Figure 3As shown. Upon receiving service data, the PDCP layer sends the data to the RLC layer's buffer in the order it entered the PDCP layer. The MAC layer, based on the amount of service data in the RLC layer's buffer, calculates the amount of service data to be transmitted and requests transmission resources from the base station. The base station allocates transmission resources to the link layer based on the terminal channel conditions and the number of network users. After receiving and parsing the allocated transmission resources, the link layer, through the terminal device's priority transmission decision module, calculates the ratio of the allocated transmission resources to the previously requested amount of service data (i.e., the amount of service data sent from the camera to the link layer). If this ratio is less than a pre-set priority transmission threshold, it indicates that the base station has allocated too few transmission resources for this scheduling, and a high-priority data priority transmission strategy is activated. At this time, the original service data in the RLC layer buffer is allocated transmission resources according to the service data's priority from high to low. This means that the service data is filled into the limited transmission resources according to its priority from high to low until all transmission resources are occupied. This ensures that the highest priority service data is scheduled first, guaranteeing transmission latency, while lower priority service data will be allocated transmission resources in the next scheduling. Otherwise, if the ratio is greater than or equal to the preset priority transmission start threshold, the high-priority data priority transmission strategy will not be started. The original service data in the RLC layer buffer will be allocated transmission resources and transmission scheduling will be performed according to the order in which the original service data entered the RLC layer buffer (i.e., the order in which they entered the RLC layer).

[0069] The base station schedules the transmission of service data by comprehensively considering the current resource request volume, the number of terminal devices connected, and the network environment. If the wireless communication quality between the terminal device and the base station is poor at any given moment, the amount of data allowed to be transmitted this time may be less, and therefore a single scheduling is not statistically significant.

[0070] To address the aforementioned issues, in some embodiments, a pre-defined statistical period (e.g., 500 milliseconds, 1 second, 2 seconds) is used. The terminal's resource allocation status statistics module accumulates the transmission scheduling resources allocated to the base station at the time slot level (millisecond level) in a single instance according to this statistical period. Within the statistical period, the cumulative sum of all time slot-level scheduling allocated transmission resources is calculated, along with the cumulative sum of all resource requests (i.e., service data transmission requests) within that period. For example, a time period T (e.g., T = 500ms) can be used as a segment, starting from 0:00, 0-500ms, 500ms-1000ms, 1000ms-1500ms, and so on, to statistically analyze the service data transmission requests and allocated transmission resources for each time segment. After a full statistical period, the resource allocation status statistics module calculates the ratio of all allocated transmission resources to all resource requests within that period. This ratio is defined as a resource metric. A lower ratio indicates less allocated transmission resources, reflecting a poorer channel environment or a busier network, resulting in insufficient transmission resources allocated by the base station to meet the transmission demands of service data. To prioritize the transmission of high-priority and critical service data, some low-priority and non-critical service data transmission must be sacrificed based on the scarcity of transmission resources.

[0071] In some embodiments, the flow control policy decision module of the terminal device evaluates the resource status based on resource metrics. When the resource metric is lower than a preset data filtering activation threshold, the data filtering function of the PDCP layer is enabled; otherwise, the data filtering function of the PDCP layer is disabled, thereby ensuring the transmission of high-priority and critical business data. For example... Figure 4As shown, the data filtering level of the PDCP layer is determined based on the resource metric value. The PDCP layer filters the business data in its cache according to the business data priority corresponding to the data filtering level. For example, data filtering level 1 corresponds to data priority 1. If the current data filtering level is 1, then business data with a data priority less than 1 needs to be deleted from the PDCP layer cache. For example, four data filtering thresholds are preset: data filtering thresholds 1, 2, 3, and 4; and five data filtering levels: 1, 2, 3, 4, and 5. When the resource metric is less than the data filtering activation threshold but greater than data filtering threshold 4, the current data filtering level of the PDCP layer is set to 5; when the resource metric is less than data filtering threshold 4 but greater than data filtering threshold 3, the current data filtering level of the PDCP layer is set to 4; when the resource metric is less than data filtering threshold 3 but greater than data filtering threshold 2, the current data filtering level of the PDCP layer is set to 3; when the resource metric is less than data filtering threshold 2 but greater than data filtering threshold 1, the current data filtering level of the PDCP layer is set to 2; and when the resource metric is less than data filtering threshold 1, the current data filtering level of the PDCP layer is set to 1.

[0072] After receiving the message from the flow control policy module to enable data filtering, the PDCP layer filters the service data according to the received data filtering level. The filtered service data includes raw service data already in the PDCP layer buffer and service data entering the PDCP layer but not yet fully in the buffer (i.e., service data currently being transmitted). Simultaneously, it needs to adjust the data filtering policy in real time based on newly received messages regarding changes in the data filtering level. For example, if the current data filtering level is 3, and the flow control policy module sends a new message indicating a data filtering level of 1, the PDCP layer needs to adjust the current data filtering level from 3 to 1 according to the new message's indication. This continues until a message indicating that data filtering is disabled is received, at which point filtering of service data stops. Thus, the link layer can perform different filtering processes on service data of different priorities based on resource scarcity, ensuring that high-priority service data receives priority transmission. For example... Figure 4As shown, for example, when the data filtering level is 5, the PDCP layer needs to discard all business data with a priority less than 5, that is, delete all low-priority non-critical data from the cache; when the data filtering level is 4, it needs to discard all business data with a priority less than 4, that is, delete all low-priority data from the cache; when the data filtering level is 3, it needs to discard all business data with a priority less than 3, that is, delete all low-priority data and medium-priority non-critical data from the cache; when the data filtering level is 2, it needs to discard all business data with a priority less than 2, that is, delete all low-priority data and medium-priority data from the cache; when the data filtering level is 1, it needs to discard all business data with a priority less than 1, that is, delete all low-priority data, medium-priority data and high-priority non-critical data from the cache.

[0073] In summary, see Figure 5 This application provides a data transmission method, including:

[0074] Step S101: Determine the service data to be sent by the terminal;

[0075] Wherein, the terminal can be any type of terminal device, such as the monitoring device mentioned above; the service data can be, for example, the images and voice mentioned above; the service data to be sent can be, for example, the original service data that has entered the PDCP layer cache and the service data that is entering but has not yet fully entered the PDCP layer cache.

[0076] Step S102: When it is determined that the preset conditions are met, the service data to be sent is filtered according to the preset rules (for example, filtered according to the priority of the service data), and the filtered service data to be sent is sent. The preset conditions are determined based on the amount of transmission resources scheduled for the terminal by the network side.

[0077] Wherein, the preset conditions, such as the resource quantity ratio mentioned above, are less than the preset data filtering start threshold and / or data filtering threshold;

[0078] Step S102 enables the link transmission strategy to keep pace with changes in network conditions in real time, thereby ensuring the transmission quality of high-priority service data.

[0079] To assess resource status based on the ratio of terminal-scheduled transmission resources to transmitted resource requests, in some embodiments, determining that preset conditions are met and filtering the service data to be transmitted according to preset rules includes:

[0080] Within the latest statistical period, determine the ratio (e.g., the resource metric mentioned above) between the amount of transmission resources scheduled by the terminal and the amount of resource requests sent by the terminal on the network side.

[0081] When the ratio is less than a preset threshold (such as the preset data filtering start threshold mentioned above), the service data to be sent is filtered according to the preset rules.

[0082] In some embodiments, filtering the service data to be sent according to preset rules includes:

[0083] The service data to be sent is filtered according to the preset priority (e.g., priority 1, 2, 3, 4, 5, 6) and the preset data filtering threshold (e.g., data filtering threshold 1, 2, 3, 4).

[0084] In some embodiments, filtering the service data to be sent is performed according to a preset priority and a preset data filtering threshold, including:

[0085] The current data filtering level (e.g., data filtering levels 1, 2, 3, 4, 5 mentioned above) is determined by comparing the ratio with a preset data filtering threshold.

[0086] The data to be sent is filtered according to the current data filtering level and the preset priority of the data to be sent.

[0087] In some embodiments, the following six priorities are pre-set for the business data in descending order of priority: priority one, priority two, priority three, priority four, priority five, and priority six.

[0088] To ensure the transmission quality and efficiency of service data with priorities of 1, 2, 3, 4, and 5, in some embodiments, the current data filtering level is determined by comparing the ratio with a preset data filtering threshold, including: when the ratio is greater than the preset data filtering threshold 4, the current data filtering level is determined to be data filtering level 5;

[0089] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority five from the service data to be sent.

[0090] To ensure the transmission quality and efficiency of service data with priorities of 1, 2, 3, and 4, in some embodiments, the current data filtering level is determined by comparing the ratio with a preset data filtering threshold, including: when the ratio is less than the preset data filtering threshold 4 and greater than the preset data filtering threshold 3, the current data filtering level is determined to be data filtering level 4.

[0091] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority four from the service data to be sent.

[0092] To ensure the transmission quality and efficiency of service data with priorities of 1, 2, and 3, in some embodiments, the current data filtering level is determined by comparing the ratio with a preset data filtering threshold, including: when the ratio is less than the preset data filtering threshold 3 and greater than the preset data filtering threshold 2, the current data filtering level is determined to be data filtering level 3.

[0093] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority three from the service data to be sent.

[0094] To ensure the transmission quality and efficiency of priority 1 and 2 service data, in some embodiments, the current data filtering level is determined by comparing the ratio with a preset data filtering threshold, including: when the ratio is less than the preset data filtering threshold 2 and greater than the preset data filtering threshold 1, the current data filtering level is determined to be data filtering level 2.

[0095] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority two from the service data to be sent.

[0096] To ensure the transmission quality and efficiency of priority-1 service data, in some embodiments, the current data filtering level is determined by comparing the ratio with a preset data filtering threshold, including: when the ratio is less than the preset data filtering threshold, the current data filtering level is determined to be data filtering level one;

[0097] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority one from the service data to be sent.

[0098] See Figure 6 The data transmission apparatus provided in this application embodiment can be any type of terminal device or a component within a terminal device. The apparatus includes:

[0099] Processor 600 is used to read the program from memory 620 and execute the following procedures:

[0100] Determine the service data to be sent by the terminal;

[0101] When the preset conditions are met, the service data to be sent is filtered according to the preset rules, and the filtered service data to be sent is sent. The preset conditions are determined based on the amount of transmission resources scheduled for the terminal by the network side.

[0102] In some embodiments, determining that a preset condition is met and filtering the service data to be sent according to a preset rule includes:

[0103] Within the latest statistical period, the ratio of the amount of transmission resources scheduled by the terminal to the amount of resource requests sent by the terminal is determined on the network side.

[0104] When the ratio is less than a preset threshold, the service data to be sent is filtered according to preset rules.

[0105] In some embodiments, filtering the service data to be sent according to preset rules includes:

[0106] The service data to be sent is filtered according to the preset priority and preset data filtering threshold.

[0107] In some embodiments, filtering the service data to be sent is performed according to a preset priority and a preset data filtering threshold, including:

[0108] The current data filtering level is determined by comparing the ratio with a preset data filtering threshold.

[0109] The data to be sent is filtered according to the current data filtering level and the preset priority of the data to be sent.

[0110] In some embodiments, the following six priorities are pre-set for the business data in descending order of priority: priority one, priority two, priority three, priority four, priority five, and priority six.

[0111] In some embodiments, determining the current data filtering level by comparing the ratio with a preset data filtering threshold includes: when the ratio is greater than the preset data filtering threshold four, determining the current data filtering level as data filtering level five;

[0112] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority five from the service data to be sent.

[0113] In some embodiments, the current data filtering level is determined by comparing the ratio with a preset data filtering threshold, including: when the ratio is less than a preset data filtering threshold four and greater than a preset data filtering threshold three, the current data filtering level is determined to be data filtering level four.

[0114] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority four from the service data to be sent.

[0115] In some embodiments, determining the current data filtering level by comparing the ratio with a preset data filtering threshold includes: when the ratio is less than a preset data filtering threshold three and greater than a preset data filtering threshold two, determining the current data filtering level as data filtering level three;

[0116] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority three from the service data to be sent.

[0117] In some embodiments, determining the current data filtering level by comparing the ratio with a preset data filtering threshold includes: when the ratio is less than a preset data filtering threshold two and greater than a preset data filtering threshold one, determining the current data filtering level as data filtering level two;

[0118] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority two from the service data to be sent.

[0119] In some embodiments, determining the current data filtering level by comparing the ratio with a preset data filtering threshold includes: when the ratio is less than the preset data filtering threshold one, determining the current data filtering level as data filtering level one;

[0120] According to the current data filtering level and the preset priority of the service data to be sent, the service data to be sent is filtered, including: filtering out service data with a preset priority lower than priority one from the service data to be sent.

[0121] In some embodiments, the data transmission apparatus provided in this application further includes a transceiver 610, used to receive and transmit data under the control of a processor 600.

[0122] Among them, Figure 6 In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits together, represented by one or more processors (processor 600) and memory (memory 620). The bus architecture can also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 610 can be multiple elements, including a transmitter and a receiver, providing a unit for communicating with various other devices over a transmission medium.

[0123] In some embodiments, the data transmission device provided in this application further includes a user interface 630. The user interface 630 may be an interface that can connect to external or internal devices, including but not limited to keypads, displays, speakers, microphones, joysticks, etc.

[0124] The processor 600 is responsible for managing the bus architecture and general processing, while the memory 620 can store the data used by the processor 600 when performing operations.

[0125] In some embodiments, the processor 600 may be a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a CPLD (Complex Programmable Logic Device).

[0126] This application provides a terminal device, which includes, for example, the priority transmission decision module, resource allocation status statistics module, and flow control strategy module provided in the above-described embodiments of this application.

[0127] This application provides a computing device, which may specifically be a desktop computer, portable computer, smartphone, tablet computer, personal digital assistant (PDA), etc. The computing device may include a central processing unit (CPU), memory, input / output devices, etc. Input devices may include a keyboard, mouse, touchscreen, etc., and output devices may include display devices, such as a liquid crystal display (LCD) or a cathode ray tube (CRT).

[0128] The memory may include read-only memory (ROM) and random access memory (RAM), and provides the processor with program instructions and data stored in the memory. In the embodiments of this application, the memory may be used to store the program of any of the methods provided in the embodiments of this application.

[0129] The processor executes any of the methods described in the embodiments of this application according to the program instructions stored in the memory.

[0130] This application also provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform any of the methods described in the above embodiments. The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.

[0131] This application provides a computer-readable storage medium for storing computer program instructions used in the apparatus provided in the above-described embodiments, including a program for performing any of the methods provided in the above-described embodiments. The computer-readable storage medium may be a non-transitory computer-readable medium.

[0132] The computer-readable storage medium can be any available medium or data storage device that a computer can access, including but not limited to magnetic storage (e.g., floppy disks, hard disks, magnetic tapes, magneto-optical disks (MOs), etc.), optical storage (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor storage (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND flash), solid-state drives (SSDs)).

[0133] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, 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.

[0134] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should 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 flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0135] 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.

[0136] 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.

[0137] 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 transmission method, characterized in that, This method is applied to a terminal, which includes an application layer and a link layer. The link layer includes a PDCP layer, a MAC layer, and an RLC layer. The application layer pre-sets the priorities for various service data, and the link layer optimizes data transmission based on the transmission resources allocated to the terminal by the network side, as follows: The terminal determines the service data to be sent; the service data to be sent carries priority information; the service data to be sent includes service data that has entered the PDCP layer cache; When the data filtering function of the PDCP layer is enabled, the service data cached in the PDCP layer is filtered according to the priority information of the service data to be sent and the current data filtering level of the PDCP layer, and the filtered service data is sent to the RLC layer cache. The MAC layer counts the amount of service data cached in the RLC layer to obtain the amount of service data to be sent this time, and requests transmission resources from the network side; and obtains the transmission resources allocated by the network side to the terminal this time. Calculate the ratio of the amount of transmission resources allocated this time to the amount of service data requested for transmission in the last time. When the ratio is less than the preset priority transmission start threshold, allocate transmission resources to the service data cached in the RLC layer in descending order of service data priority.

2. The method according to claim 1, characterized in that, The method further includes: When the ratio is greater than or equal to the preset priority transmission start threshold, the service data cached in the RLC layer is allocated transmission resources according to the cached order of the service data.

3. The method according to claim 1, characterized in that, The method further includes: Within the latest statistical period, the network side determines the ratio of the amount of transmission resources scheduled by the terminal to the amount of resource requests sent by the terminal, and uses this ratio as a resource metric to compare with a preset data filtering start threshold; When the resource metric value is less than the preset data filtering start threshold, the data filtering function of the PDCP layer is enabled; otherwise, the data filtering function of the PDCP layer is disabled.

4. The method according to claim 3, characterized in that, The method further includes: The resource metric is compared with at least one preset data filtering threshold to determine the current data filtering level of the PDCP layer.

5. The method according to claim 4, characterized in that, According to the order of priority from high to low, the following six priorities are set for the business data in advance: priority 1, priority 2, priority 3, priority 4, priority 5, and priority 6. The following data filtering levels are preset: Data Filtering Level 5, Data Filtering Level 4, Data Filtering Level 3, Data Filtering Level 2, and Data Filtering Level 1.

6. The method according to claim 5, characterized in that, The resource metric is compared with at least one preset data filtering threshold to determine the current data filtering level of the PDCP layer, including: when the resource metric is greater than the preset data filtering threshold four, the current data filtering level of the PDCP layer is determined to be data filtering level five. Based on the priority information of the service data to be sent and the current data filtering level of the PDCP layer, the service data cached by the PDCP layer is filtered, including: filtering out service data with a preset priority lower than priority five from the service data cached by the PDCP layer.

7. The method according to claim 5, characterized in that, The resource metric is compared with at least one preset data filtering threshold to determine the current data filtering level of the PDCP layer, including: when the resource metric is less than the preset data filtering threshold four and greater than the preset data filtering threshold three, the current data filtering level of the PDCP layer is determined to be data filtering level four. Based on the priority information of the service data to be sent and the current data filtering level of the PDCP layer, the service data cached by the PDCP layer is filtered, including: filtering out service data with a preset priority lower than priority four from the service data cached by the PDCP layer.

8. The method according to claim 5, characterized in that, The resource metric is compared with at least one preset data filtering threshold to determine the current data filtering level of the PDCP layer, including: when the resource metric is less than the preset data filtering threshold three and greater than the preset data filtering threshold two, the current data filtering level of the PDCP layer is determined to be data filtering level three. Based on the priority information of the service data to be sent and the current data filtering level of the PDCP layer, the service data cached by the PDCP layer is filtered, including: filtering out service data with a preset priority lower than priority three from the service data cached by the PDCP layer.

9. The method according to claim 5, characterized in that, The resource metric is compared with at least one preset data filtering threshold to determine the current data filtering level of the PDCP layer, including: when the resource metric is less than the preset data filtering threshold two and greater than the preset data filtering threshold one, the current data filtering level of the PDCP layer is determined to be data filtering level two. Based on the priority information of the service data to be sent and the current data filtering level of the PDCP layer, the service data cached by the PDCP layer is filtered, including: filtering out service data with a preset priority lower than priority two from the service data cached by the PDCP layer.

10. The method according to claim 5, characterized in that, The resource metric is compared with at least one preset data filtering threshold to determine the current data filtering level of the PDCP layer, including: when the resource metric is less than the preset data filtering threshold one, the current data filtering level of the PDCP layer is determined to be data filtering level one. Based on the priority information of the service data to be sent and the current data filtering level of the PDCP layer, the service data cached by the PDCP layer is filtered, including: filtering out service data with a preset priority lower than priority one from the service data cached by the PDCP layer.

11. A data transmission device, characterized in that, include: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the method according to any one of claims 1 to 10.

12. A terminal device, characterized in that, Includes the apparatus of claim 11.

13. A computer program product for use in a computer, characterized in that, Includes a software code portion that, when the product is run on the computer, is used to perform the method according to any one of claims 1 to 10.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing the computer to perform the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • A data processing method and communication device

    CN101267443A

  • Message sending method, message receiving method, device and equipment

    CN113132948A