Communication processing methods, devices, equipment, chips and media

By assigning priority levels to candidate data packets and prioritizing the scheduling of high-priority data packets, the problem of low transmission rates during data packet assembly in terminal application services is solved, achieving more efficient data packet scheduling and performance improvement.

CN120881656BActive Publication Date: 2026-03-06BEIJING X RING TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202511360578.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-22
Publication Date
2026-03-06
Estimated Expiration
2045-09-22

AI Technical Summary

Technical Problem

During the data path packet assembly process, when various application services of the terminal reuse the same bearer, it may lead to low data transmission rate or link drop, affecting the performance of application services.

Method used

By determining the candidate level of candidate data packets, target data packets are selected from the candidate data packets for priority scheduling based on the level, independent of the arrival order of data packets, thus improving the transmission efficiency of high-priority data packets.

Benefits of technology

It improves the efficiency and effectiveness of data packet scheduling for application services, enhances application service performance, and ensures the transmission of high-priority data packets, especially under network congestion conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120881656B_ABST
    Figure CN120881656B_ABST
Patent Text Reader

Abstract

This disclosure proposes a communication processing method, apparatus, device, chip, and medium. The communication processing method includes: determining a candidate level corresponding to a candidate data packet, wherein the candidate level represents the packetization priority of the candidate data packet relative to other candidate data packets, and different candidate data packets belong to different application services; determining a target data packet from at least one candidate data packet according to the candidate level; and sending the target data packet. This improves the scheduling efficiency and effectiveness of data packets for application services, thereby enhancing application service performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of communication technology, and in particular to a communication processing method, apparatus, device, chip, and medium. Background Technology

[0002] The data path packet assembly process of Medium Access Control (MAC) typically involves data frame encapsulation, transmission control, and media access management. In related technologies, various application services of a terminal may reuse the same bearer to send data packets. Summary of the Invention

[0003] This disclosure aims to at least partially address one of the technical problems in the related art.

[0004] Therefore, this disclosure proposes a communication processing method, apparatus, communication equipment, chip, computer-readable storage medium, and computer program product, which can improve the scheduling efficiency and effectiveness of data packets for application services and improve the performance of application services.

[0005] The first aspect of this disclosure proposes a communication processing method, including: determining a candidate level corresponding to a candidate data packet, wherein the candidate level is used to represent the packetization priority of the candidate data packet relative to other candidate data packets, and different candidate data packets belong to different application services; determining a target data packet from at least one candidate data packet according to the candidate level; and sending the target data packet; wherein determining the candidate level corresponding to the candidate data packet includes: determining whether the candidate level needs to be reset according to the scheduling period of the application service to which the candidate data packet belongs, and obtaining a determination result; and determining the candidate level corresponding to the candidate data packet according to the determination result.

[0006] A second aspect of this disclosure provides a communication processing apparatus, comprising: a first determining module, configured to determine a candidate level corresponding to a candidate data packet, wherein the candidate level represents the packetization priority of the candidate data packet relative to other candidate data packets, and different candidate data packets belong to different application services; a second determining module, configured to determine a target data packet from at least one candidate data packet according to the candidate level; and a transceiver module, configured to transmit the target data packet; wherein the first determining module is further configured to determine whether the candidate level needs to be reset according to the scheduling cycle of the application service to which the candidate data packet belongs, and obtain a determination result; and determine the candidate level corresponding to the candidate data packet according to the determination result.

[0007] A third aspect of this disclosure provides a communication device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the communication processing method as described in the above-described aspects of this disclosure.

[0008] A fourth aspect of this disclosure provides a chip including a processing circuit and an interface circuit; wherein the interface circuit is used to read instructions and send instructions to the processing circuit so that the processing circuit executes the communication processing method as proposed in the first aspect of this disclosure.

[0009] A fifth aspect of this disclosure provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the communication processing method described above.

[0010] The communication processing method, apparatus, communication equipment, chip, computer-readable storage medium, and computer program product provided in this disclosure determine candidate levels corresponding to candidate data packets. The candidate level represents the packetization priority of a candidate data packet relative to other candidate data packets. Different candidate data packets belong to different application services. Based on the candidate level, a target data packet is determined from at least one candidate data packet, and then the target data packet is sent. Since the target data packet to be sent is selected from at least one candidate data packet based on the candidate level of each candidate data packet, and the target data packet is sent regardless of the arrival order of the candidate data packets, priority scheduling of higher-priority target data packets is achieved. Therefore, the scheduling efficiency and effectiveness of application service data packets are improved, and the performance of application services is enhanced.

[0011] Additional aspects and advantages of this disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this disclosure. Attached Figure Description

[0012] The above and / or additional aspects and advantages of this disclosure will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, in which:

[0013] Figure 1 This is a schematic diagram of the architecture of a communication system according to an embodiment of the present disclosure;

[0014] Figure 2 This is a flowchart illustrating a communication processing method provided in an embodiment of the present disclosure;

[0015] Figure 3 This is a flowchart illustrating another communication processing method provided in an embodiment of the present disclosure;

[0016] Figure 4 A flowchart illustrating yet another communication processing method provided in an embodiment of this disclosure;

[0017] Figure 5 This is a schematic diagram of the adaptive packet assembly process in an embodiment of this disclosure;

[0018] Figure 6 This is a schematic diagram of the structure of a communication processing device provided in an embodiment of the present disclosure;

[0019] Figure 7 A block diagram of an exemplary communication device suitable for implementing embodiments of the present disclosure is shown;

[0020] Figure 8 This is a schematic diagram of the structure of a chip according to an embodiment of this disclosure;

[0021] Figure 9 This is a schematic diagram of another chip structure proposed in an embodiment of this disclosure. Detailed Implementation

[0022] Embodiments of this disclosure are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this disclosure, and should not be construed as limiting this disclosure.

[0023] In embodiments of this disclosure, the communication device may be, for example, a terminal or a chip, and there is no limitation thereto.

[0024] Figure 1 This is a schematic diagram of the architecture of a communication system according to embodiments of this disclosure. Figure 1 As shown, the communication system 100 may include a terminal 101 and a network device 102. The network device 102 may include at least one of an access network device and a core network device.

[0025] In some embodiments, terminal 101 includes, for example, at least one of the following: mobile phone, wearable device, Internet of Things device, car with communication function, smart car, tablet computer, computer with wireless transceiver function, virtual reality (VR) terminal, augmented reality (AR) terminal, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical surgery, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, and wireless terminal in smart home, but is not limited thereto.

[0026] In some embodiments, the access network device is, for example, a node or device that connects a terminal to a wireless network. The access network device may include, but is not limited to, at least one of the following in a 5G communication system: evolved Node B (eNB), next-generation eNB (ng-eNB), next-generation Node B (gNB), node B (NB), home node B (HNB), home evolved node B (HeNB), wireless backhaul device, radio network controller (RNC), base station controller (BSC), base transceiver station (BTS), base band unit (BBU), mobile switching center, base station in a 6G communication system, open RAN, cloud RAN, base station in other communication systems, and access node in a WiFi system.

[0027] In some embodiments, the technical solutions of this disclosure can be applied to the Open RAN architecture. In this case, the interfaces between or within access network devices involved in the embodiments of this disclosure can be transformed into internal interfaces of Open RAN. The processes and information interactions between these internal interfaces can be implemented by software or programs.

[0028] In some embodiments, the access network device may be composed of a central unit (CU) and a distributed unit (DU). The CU may also be called a control unit. The CU-DU structure can separate the protocol layer of the access network device. Some of the protocol layer functions are centrally controlled by the CU, while the remaining part or all of the protocol layer functions are distributed in the DU and centrally controlled by the CU. However, this is not the only possibility.

[0029] In some embodiments, a core network device may be a single device comprising one or more network elements, or it may be multiple devices or a group of devices, each comprising all or part of one or more network elements. Network elements may be virtual or physical. The core network may include, for example, at least one of an Evolved Packet Core (EPC), a 5G Core Network (5GCN), or a Next Generation Core (NGC).

[0030] It is understood that the communication system described in this disclosure is for the purpose of more clearly illustrating the technical solutions of this disclosure, and does not constitute a limitation on the technical solutions proposed in this disclosure. As those skilled in the art will know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions proposed in this disclosure are also applicable to similar technical problems.

[0031] The following embodiments of this disclosure can be applied to Figure 1 The communication system 100 shown, or a part thereof, but not limited to it. Figure 1 The entities shown are illustrative; a communication system may include... Figure 1 All or part of the main body, or may include Figure 1 Other entities besides the main body, the number and form of each entity are arbitrary, the connection relationship between the entities is illustrative, the entities may not be connected or may be connected, and the connection can be in any way, it can be a direct connection or an indirect connection, it can be a wired connection or a wireless connection.

[0032] The embodiments disclosed herein can be applied to Long Term Evolution (LTE), LTE-Advanced (LTE-A), LTE-Beyond (LTE-B), SUPER 3G, IMT-Advanced, 4th generation mobile communication system (4G), 5th generation mobile communication system (5G), 5G new radio (NR), 6th generation mobile communication system (6G), Future Radio Access (FRA), New-Radio Access Technology (RAT), New Radio (NR), New Radio Access (NX), Future generation radio access (FX), Global System for Mobile communications (GSM), CDMA2000, Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), and IEEE 802.20, Ultra-Wideband (UWB), Bluetooth (a registered trademark), Public Land Mobile Network (PLMN) networks, Device-to-Device (D2D) systems, Machine-to-Machine (M2M) systems, Internet of Things (IoT) systems, Vehicle-to-Everything (V2X) systems, systems utilizing other communication processing methods, and next-generation systems built upon them, etc. Furthermore, multiple systems can be combined (e.g., a combination of LTE or LTE-A with 5G).

[0033] In related technologies, various application services on a terminal may reuse the same bearer to send data packets. In this case, packets are assembled according to their arrival order during data path assembly. However, in the event of data congestion, if one application service generates too many data packets, it may cause other application services to experience excessively low data transmission rates or even connection drops, thus affecting application performance.

[0034] Optional, application services refer to the services offered at the terminal's application layer. There can be various application services. Examples include Voice over Internet Protocol (VoIP), gaming, live streaming, and web browsing.

[0035] The method disclosed herein determines a candidate level corresponding to a candidate data packet, where the candidate level represents the packetization priority of the candidate data packet relative to other candidate data packets. Different candidate data packets belong to different application services. Based on the candidate level, a target data packet is determined from at least one candidate data packet, and then the target data packet is sent. Since the target data packet to be sent with priority is selected from at least one candidate data packet based on the candidate level of each candidate data packet, and the target data packet is sent, it does not depend on the arrival order of the candidate data packets. This achieves priority scheduling and sending of higher-priority target data packets, thus improving the scheduling efficiency and effectiveness of application service data packets and enhancing application service performance.

[0036] The following description, with reference to the accompanying drawings, describes a communication processing method, apparatus, communication device, communication system, chip, and storage medium according to embodiments of the present disclosure.

[0037] Figure 2 This is a flowchart illustrating a communication processing method provided in an embodiment of the present disclosure.

[0038] The communication processing method provided in this embodiment can be applied in a terminal. Optionally, the execution subject of the communication processing method in this embodiment can be, for example, a terminal or a chip. The chip can be deployed in the terminal or in any other possible device, without limitation.

[0039] like Figure 2 As shown, the communication processing method includes:

[0040] Step S201: Determine the candidate level corresponding to the candidate data packet, wherein the candidate level is used to represent the packet grouping priority of the candidate data packet relative to other candidate data packets, and different candidate data packets belong to different application services.

[0041] Candidate data packets can refer to data packets received by the MAC layer, which can be sent from the application layer to the MAC layer.

[0042] Optionally, the number of candidate data packets can be one or more. Different candidate data packets can belong to different application services.

[0043] Optionally, after receiving at least one candidate data packet sent by the application layer, the MAC can determine the candidate level corresponding to the candidate data packet. The candidate level is used to represent the packet assembly priority of the candidate data packet relative to other candidate data packets.

[0044] For example, the candidate level indicates that the packet assembly priority of the corresponding candidate data packet is higher than that of other candidate data packets, or indicates that the packet assembly priority of the corresponding candidate data packet is lower than that of other candidate data packets, or indicates that the packet assembly priority of the corresponding candidate data packet is equal to that of other candidate data packets, without any restrictions.

[0045] In other words, after receiving at least one candidate data packet sent by an application service, the MAC layer can determine the candidate level corresponding to the candidate data packet. The MAC layer can refer to the candidate level of the candidate data packet and select the candidate data packet to be sent from at least one candidate data packet. This "candidate data packet to be sent" can be called the target data packet.

[0046] Optionally, in the process of determining the candidate level corresponding to the candidate data packet, the candidate level can be obtained by processing the priority factor corresponding to the candidate data packet based on some rules; or it can be obtained by predicting the candidate level corresponding to the candidate data packet based on an artificial intelligence (AI) model; or any other possible method can be used to determine the candidate level corresponding to the candidate data packet, without any restrictions.

[0047] Step S202: Determine the target data packet from at least one candidate data packet according to the candidate level.

[0048] Optionally, after receiving the candidate data packets for each application service and determining the candidate level corresponding to the candidate data packets, the target data packet can be determined from at least one candidate data packet based on the candidate level.

[0049] Optionally, in the process of determining the target data packet from at least one candidate data packet based on the candidate level, the highest candidate level can be selected from at least one candidate level, and the candidate data packet corresponding to the highest candidate level can be determined as the target data packet, without any restriction.

[0050] Optionally, in the process of determining the target data packet from at least one candidate data packet based on the candidate level, the candidate data packet that needs to be prioritized for scheduling can be determined based on at least one candidate level, and the candidate data packet can be determined as the target data packet, without any restriction.

[0051] Step S203: Send the target data packet.

[0052] Optionally, after determining the target data packet from at least one candidate data packet, the target data packet can be reassembled and the reassembled data packet can be sent.

[0053] In this embodiment, a candidate level corresponding to a candidate data packet is determined. The candidate level represents the packetization priority of a candidate data packet relative to other candidate data packets. Different candidate data packets belong to different application services. Based on the candidate level, a target data packet is determined from at least one candidate data packet and then sent. Since the target data packet to be sent is selected from at least one candidate data packet based on the candidate level of each candidate data packet, and the transmission of the target data packet is independent of the arrival order of the candidate data packets, the priority scheduling and transmission of higher-priority target data packets is achieved. Therefore, the scheduling efficiency and effectiveness of application service data packets are improved, and the performance of application services is enhanced.

[0054] Figure 3 This is a flowchart illustrating another communication processing method provided in an embodiment of this disclosure.

[0055] The communication processing method provided in this embodiment can be applied in a terminal. Optionally, the execution subject of the communication processing method in this embodiment can be, for example, a terminal or a chip. The chip can be deployed in the terminal or in any other possible device, without limitation.

[0056] like Figure 3 As shown, the communication processing method includes:

[0057] Step S301: Based on the scheduling cycle of the application service to which the candidate data packet belongs, determine whether the candidate level needs to be reset and obtain the determination result. Different candidate data packets belong to different application services.

[0058] The scheduling cycle of application services refers to the cycle in which the candidate levels of candidate data packets for application services are dynamically optimized and updated.

[0059] Optionally, different scheduling periods can be allocated to different application services. For example, if the duration of dynamic optimization of the candidate level reaches the scheduling period, the candidate level can be reset; if the duration of dynamic optimization of the candidate level does not reach the scheduling period, the candidate level does not need to be reset, and dynamic optimization of the candidate level can continue. Optionally, "dynamic optimization" refers to the process of dynamically updating the candidate level based on the application level, recommendation rate, and number of data packets sent.

[0060] Optionally, the determination result may be that the candidate level needs to be reset, or that the candidate level does not need to be reset. When the determination results are different, the method for determining the "candidate level corresponding to the candidate data packet" may be different, as detailed in the following description.

[0061] Step S302: Based on the judgment result, determine the candidate level corresponding to the candidate data packet, wherein the candidate level is used to represent the packet assembly priority of the candidate data packet relative to other candidate data packets.

[0062] Optionally, if the determination result is "candidate level needs to be reset", then the application level of the application service to which the candidate data packet belongs can be determined. The application level is the level initially configured for the application service to which it belongs, and the application level is determined as the candidate level corresponding to the candidate data packet. The "application level" can be customized based on the actual packet assembly requirements, and there are no restrictions on this.

[0063] Optionally, if the determination result is "no need to reset candidate level", then the application level and recommended rate of the relevant application service can be determined, and the candidate level can be calculated based on the application level, recommended rate, and scheduling cycle. The recommended rate is the data transmission rate recommended by the relevant application service, and there are no restrictions on it.

[0064] Therefore, by determining whether the candidate level needs to be reset based on the scheduling cycle of the application service to which the candidate data packet belongs, and obtaining the determination result, and then determining the candidate level corresponding to the candidate data packet based on the determination result, the accuracy of the candidate level calculation can be effectively improved, which is consistent with the actual scheduling situation and improves the stability of the scheduling of application service data packets.

[0065] Step S303: Determine the target data packet from at least one candidate data packet according to the candidate level.

[0066] Step S304: Send the target data packet.

[0067] For a detailed description of S303-S304, please refer to the above embodiments, which will not be repeated here.

[0068] In this embodiment, since the target data packet to be sent is selected from at least one candidate data packet based on the candidate level of each candidate data packet, and the target data packet is sent regardless of the arrival order of the candidate data packets, the scheduling of higher priority target data packets is prioritized. Therefore, the scheduling efficiency and effectiveness of application service data packets are improved, and the performance of application services is enhanced. By determining whether the candidate level needs to be reset according to the scheduling cycle of the application service to which the candidate data packet belongs, and obtaining the determination result, the candidate level corresponding to the candidate data packet is determined based on the determination result. This effectively improves the accuracy of candidate level calculation, conforms to the actual scheduling situation, and enhances the stability of application service data packet scheduling.

[0069] Figure 4 This is a flowchart illustrating another communication processing method provided in an embodiment of the present disclosure.

[0070] The communication processing method provided in this embodiment can be applied in a terminal. Optionally, the execution subject of the communication processing method in this embodiment can be, for example, a terminal or a chip. The chip can be deployed in the terminal or in any other possible device, without limitation.

[0071] like Figure 4 As shown, the communication processing method includes:

[0072] Step S401: Based on the scheduling cycle of the application service to which the candidate data packet belongs, determine whether it is necessary to reset the candidate level, and determine the application level and recommended rate of the application service to which it belongs.

[0073] The application level is the initial configuration level for the application service, and the recommended rate is the data transmission rate recommended for the application service.

[0074] Optionally, different recommendation rates and application levels can be customized based on the characteristics of the application services, and the baseband software can be notified.

[0075] Optional, application level, can be referred to as priority.

[0076] For example, if the application is a video service, the recommended rate can be determined based on the video's frame rate and resolution. If the application is a voice service, the recommended rate can be determined based on the voice's latency and Mean Opinion Score (MOS). If the application is a game service, the recommended rate can be determined based on the game's frame rate and latency.

[0077] For example, the application level can be determined based on the application's working mode, user profile, or user customization. For instance, for gamers or game enthusiasts, the application level for gaming services is relatively higher. For work-oriented or office users, commonly used office software has a higher application level. The application level for certain applications can also be customized based on individual user preferences.

[0078] Optionally, in determining the application level and recommended rate of the application service to which a candidate data packet belongs, at least one candidate feature can be determined. Each candidate feature has a corresponding candidate level and candidate rate. The candidate level represents the packet-assembly priority of the application service to which the data packet described by the candidate feature belongs relative to other application services. The candidate rate is the recommended data transmission rate of the application service to which the data packet described by the candidate feature belongs. Based on the data characteristics of the candidate data packet, a target feature is selected from at least one candidate feature, and the candidate level corresponding to the target feature is determined as the application level, and the candidate rate corresponding to the target feature is determined as the recommended rate. This significantly improves the efficiency and accuracy of determining the application level and recommended rate, enabling more efficient data packet assembly and improving the transmission efficiency of the target data packet.

[0079] Candidate features are used to describe data packets. Candidate features refer to the data characteristics of a data packet. Candidate features can be used to match the data characteristics of candidate data packets to determine the corresponding application level and recommendation rate for each candidate data packet.

[0080] Optionally, the system can receive at least one candidate feature, a corresponding candidate level, and a candidate rate sent by the application layer, and associate and store the at least one candidate feature, its corresponding candidate level, and candidate rate. This enables improvements in the efficiency of determining the application level and recommendation rate.

[0081] Optionally, data packets can be labeled based on the five-tuple data characteristics. The data path can store candidate characteristics of data packets from different application services separately, and record the candidate level and candidate rate corresponding to the candidate characteristics.

[0082] The candidate levels and candidate rates corresponding to the candidate features mentioned above, and the method for determining the candidate level, can be found in the method for determining the application level mentioned above, and the method for determining the candidate rate can be found in the method for determining the recommendation rate mentioned above. There are no restrictions on these methods.

[0083] Optionally, the data path of the MAC layer can receive one or more candidate features sent by the application layer. Each candidate feature is a data feature of a data packet of an application service. The application layer can also send the candidate rate and candidate level of the application service (the application service to which the data packet described by the candidate feature belongs) to the MAC layer. The MAC layer can associate and store at least one candidate feature, the corresponding candidate level, and the candidate rate.

[0084] Optionally, the MAC layer can determine a target feature from at least one candidate feature based on the data characteristics of the candidate data packets. This target feature refers to the candidate feature that matches the data characteristics of the candidate data packets. Then, the MAC layer can determine the candidate rate corresponding to the target feature as the recommended rate.

[0085] Step S402: Determine the number of sent data packets of the application service to which the candidate data packet belongs.

[0086] Optionally, the number of sent data packets of the application service to which the candidate data packet belongs can be determined. This number of sent data packets can be used to dynamically optimize the candidate level of the candidate data packet.

[0087] Step S403: Determine the candidate level based on the application level, recommended rate, scheduling period, and number of data packets sent.

[0088] Optionally, after determining the application level and recommended rate of the application service to which the candidate data packet belongs, and the number of data packets already sent by the application service to which the candidate data packet belongs, the candidate level can be determined based on the application level, recommended rate, scheduling period, and number of data packets already sent.

[0089] Optionally, in the process of determining candidate levels based on application level, recommended rate, scheduling period, and the number of sent data packets, the recommended rate, application level, and scheduling period can be multiplied to obtain the product result. The ratio of the product result to the number of sent data packets can then be determined, and this ratio becomes the candidate level. Therefore, in scenarios with insufficient network authorization, this ensures that candidate data packets with higher packet assembly priority are prioritized for scheduling and assembly. As the number of sent data packets for the application service accumulates, the candidate level of the candidate data packet gradually decreases. When the candidate level of a candidate data packet is lower than that of other candidate data packets, the other candidate data packets gain the opportunity to be scheduled for packet assembly.

[0090] Step S404: Based on the scheduling cycle of the application service to which the candidate data packet belongs, determine whether the candidate level needs to be reset, and determine the application level of the application service to which it belongs as the candidate level.

[0091] Step S405: Determine the target data packet from at least one candidate data packet according to the candidate level.

[0092] Step S406: Send the target data packet.

[0093] For a description of S404-S406, please refer to the above embodiments, and it will not be repeated here.

[0094] Optionally, after sending the target data packet, the actual sending rate of the target data packet can be determined, and the application level and recommended rate of the application service to which the target data packet belongs can be updated based on the actual rate. This improves the accuracy of the application level and recommended rate, adapting to the actual data packet sending situation.

[0095] Optionally, after the data path at the MAC layer assembles and sends the target data packet, it can determine the actual rate at which the target data packet is sent and instruct the application layer on the actual rate. The application layer can then refer to the actual rate to dynamically adjust the application level and recommended rate of the application service to which the target data packet belongs.

[0096] In this embodiment, since the target data packet to be sent is selected from at least one candidate data packet based on the candidate level of each candidate data packet, and the target data packet is sent regardless of the arrival order of the candidate data packets, the scheduling of higher priority target data packets is prioritized. Therefore, the scheduling efficiency and effectiveness of application service data packets are improved, and the performance of application services is enhanced. By determining whether the candidate level needs to be reset according to the scheduling cycle of the application service to which the candidate data packet belongs, and obtaining the determination result, the candidate level corresponding to the candidate data packet is determined based on the determination result. This effectively improves the accuracy of candidate level calculation, conforms to the actual scheduling situation, and improves the stability of application service data packet scheduling. In scenarios with insufficient network authorization, it ensures that candidate data packets with higher packet assembly priority can be scheduled for packet assembly first. As the number of sent data packets of the application service continues to accumulate and increase, the candidate level of its candidate data packets gradually decreases. When the candidate level of a candidate data packet is lower than the candidate levels of other candidate data packets, the other candidate data packets get the opportunity to be scheduled for packet assembly.

[0097] Examples of the above embodiments are illustrated below: Figure 5 As shown, Figure 5This is a schematic diagram of the adaptive packet assembly process in this embodiment of the disclosure. It includes an application layer and a data path. The application priority is an optional example of the aforementioned candidate levels, the recommended rate is an optional example of the aforementioned candidate rates, the data features are an optional example of the aforementioned candidate features, the uplink data is an optional example of the aforementioned candidate data packets, and the identified data packet is an optional example of the aforementioned target data packet. The actual rate of the application service is an optional example of the aforementioned "actual rate of sending the target data packet". The application layer can dynamically optimize the application service configuration based on the actual rate to update the application priority and recommended rate to the data path based on the application service configuration. The data path can use the new configuration (i.e., the updated application priority and recommended rate) for adaptive packet assembly.

[0098] Optionally, in the adaptive packet assembly mechanism of the data path, the token bucket packet assembly mechanism in the communication protocol or the proportional fair priority algorithm packet assembly mechanism can be used.

[0099] Optionally, the following is a description of the proportional fairness priority algorithm's packet assembly mechanism:

[0100] The priority order is dynamically adjusted based on the service rate (an optional example of the recommended rate mentioned above), the data transmission volume (an optional example of the number of data packets sent mentioned above), and the priority factor (an optional example of the application level mentioned above), as follows:

[0101]

[0102] in, This is the priority of the proportional fairness algorithm (an optional example of the candidate levels mentioned above). The priority factor (an optional example of the application level mentioned above) can be related to the priority and rate of the application business, ensuring that the initial proportional fairness algorithm priority order is consistent with the expected priority order. The service rate for application operations (an optional example of the recommended rates mentioned above) can be determined based on the actual business scenario. . The scheduling period is [number]. Sending data for application services

[0103] Quantity (an optional example of the number of data packets sent above), The default value is 1.

[0104] Optionally, the data path can notify the application layer of the actual rate of target data packets for different application services, allowing the application layer to dynamically optimize application service configurations. These configurations include, for example, the frame rate and resolution for video services, and the frame rate for gaming services. The application layer can then notify the data path of updated recommended rates and / or application-level settings.

[0105] Optionally, the data simulation results are as follows: Assuming three application services are activated simultaneously: gaming, voice, and live video streaming, generating 200kb, 100kb, and 10Mb of data per second respectively, and if the network has only one internet access bearer with a current uplink rate of only 6Mbps (megabits per second), using the adaptive packet assembly process in this embodiment, gaming and voice services, having higher priority than live video streaming, can be scheduled first. The gaming service rate can reach 200kbps (kilobits per second), an improvement of 66%, and the voice service rate can also reach 100kbps, an improvement of 66%, thus improving the user experience. In network congestion scenarios, the packet assembly rate of high-priority application services can be guaranteed, improving the user experience.

[0106] Figure 6 This is a schematic diagram of the structure of a communication processing device provided in an embodiment of the present disclosure.

[0107] like Figure 6 As shown, the communication processing device 60 includes:

[0108] The first determining module 601 is used to determine the candidate level corresponding to the candidate data packet, wherein the candidate level is used to represent the packet grouping priority of the candidate data packet relative to other candidate data packets, and different candidate data packets belong to different application services.

[0109] The second determining module 602 is used to determine the target data packet from at least one candidate data packet according to the candidate level.

[0110] The transceiver module 603 is used to send target data packets.

[0111] Optionally, in some embodiments of this disclosure, the first determining module 601 is configured to:

[0112] Based on the scheduling cycle of the application service to which the candidate data packet belongs, determine whether the candidate level needs to be reset, and obtain the determination result;

[0113] Based on the judgment results, the candidate level corresponding to the candidate data packet is determined.

[0114] Optionally, in some embodiments of this disclosure, the first determining module 601 is configured to:

[0115] If the determination result is that there is no need to reset the candidate level, the application level and recommended rate of the application service are determined, and the candidate level is determined based on the application level, recommended rate and scheduling cycle. The application level is the level initially configured for the application service, and the recommended rate is the data transmission rate recommended for the application service.

[0116] If the determination result indicates that the candidate level needs to be reset, the application level of the relevant application business will be determined as the candidate level.

[0117] Optionally, in some embodiments of this disclosure, the first determining module 601 is configured to:

[0118] Determine the number of data packets sent by the relevant application service;

[0119] Candidate levels are determined based on application level, recommended rate, scheduling period, and number of data packets sent.

[0120] Optionally, in some embodiments of this disclosure, the first determining module 601 is configured to:

[0121] Multiply the recommended rate, application level, and scheduling cycle to obtain the product result;

[0122] Determine the ratio of the product result to the number of data packets sent, and use this ratio as a candidate level.

[0123] Optionally, in some embodiments of this disclosure, the first determining module 601 is configured to:

[0124] Determine at least one candidate feature, wherein the candidate feature has a corresponding candidate level and a candidate rate. The candidate level represents the packet grouping priority of the application service to which the data packet described by the candidate feature belongs relative to other application services, and the candidate rate is the data transmission rate recommended by the application service to which the data packet described by the candidate feature belongs.

[0125] Based on the data characteristics of the candidate data packets, select the target feature from at least one candidate feature;

[0126] The candidate level corresponding to the target feature is determined as the application level, and the candidate rate corresponding to the target feature is determined as the recommendation rate.

[0127] Optionally, in some embodiments of this disclosure, the transceiver module 603 is used for:

[0128] Receive at least one candidate feature, the corresponding candidate level, and the candidate rate sent by the application layer;

[0129] Associate and store at least one candidate feature, the candidate level corresponding to the candidate feature, and the candidate rate.

[0130] Optionally, in some embodiments of this disclosure, the first determining module 601 is configured to:

[0131] Determine the actual rate at which the target data packets are sent;

[0132] Update the application level and recommended rate of the application service to which the target data packet belongs based on the actual rate.

[0133] It should be noted that the foregoing explanation of the communication processing method embodiment also applies to the communication processing device of this embodiment, and will not be repeated here.

[0134] In this embodiment, a candidate level corresponding to a candidate data packet is determined. The candidate level represents the packetization priority of a candidate data packet relative to other candidate data packets. Different candidate data packets belong to different application services. Based on the candidate level, a target data packet is determined from at least one candidate data packet and then sent. Since the target data packet to be sent is selected from at least one candidate data packet based on the candidate level of each candidate data packet, and the transmission of the target data packet is independent of the arrival order of the candidate data packets, the priority scheduling and transmission of higher-priority target data packets is achieved. Therefore, the scheduling efficiency and effectiveness of application service data packets are improved, and the performance of application services is enhanced.

[0135] To implement the above embodiments, this disclosure also proposes a communication device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method provided in the foregoing embodiments.

[0136] Alternatively, in some embodiments, the communication device may be, for example, a terminal or a chip, without limitation.

[0137] Figure 7 A block diagram of an exemplary communication device suitable for implementing embodiments of the present disclosure is shown. Figure 7 The communication device 12 shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein. The communication device may be, for example, a terminal, and there is no limitation thereto.

[0138] like Figure 7 As shown, the communication device 12 is presented in the form of a general-purpose computing device. The components of the communication device 12 may include, but are not limited to: one or more processors or processing units 16, memory 28, and bus 18 connecting different system components (including memory 28 and processing unit 16).

[0139] Bus 18 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. Examples of these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.

[0140] The communication device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the communication device 12, including volatile and non-volatile media, and removable and non-removable media.

[0141] Memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM) 30 and / or cache 32. Communication device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (… Figure 7 Not shown; usually referred to as a "hard drive".

[0142] although Figure 7 As not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disc drive for reading and writing to a removable non-volatile optical disc (e.g., a compact disc read-only memory (CD-ROM), a digital video disc read-only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this disclosure.

[0143] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of this disclosure.

[0144] The communication device 12 can also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), and with one or more devices that enable human interaction with the communication device 12, and / or with any device that enables the communication device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed via input / output (I / O) interface 22. Furthermore, the communication device 12 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 20. As shown, network adapter 20 communicates with other modules of the communication device 12 via bus 18. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with the communication device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0145] The processing unit 16 executes various functional applications and data processing by running programs stored in the memory 28, such as implementing the methods mentioned in the foregoing embodiments.

[0146] To implement the above embodiments, this disclosure also proposes a chip, including: the chip includes processing circuitry configured to perform the methods provided in the foregoing embodiments.

[0147] Figure 8 This is a schematic diagram of the structure of a chip according to an embodiment of this disclosure. See also... Figure 8 The diagram shown is a schematic representation of the structure of chip 800, but it is not limited to this.

[0148] Chip 800 includes processing circuit 801 and interface circuit 802. Interface circuit 802 is used to read instructions and send instructions to processing circuit 801 so that processing circuit 801 executes the method in the above embodiment.

[0149] Optionally, such as Figure 9 As shown, Figure 9This is a schematic diagram of another chip structure proposed in an embodiment of this disclosure. Chip 800 may further include: a memory 803 for storing instructions, and an interface circuit 802 for reading the instructions stored in the memory 803.

[0150] Optionally, the interface circuit 802 is connected to the memory 803. The interface circuit 802 can be used to receive signals from the memory 803 or other devices, and can also be used to send signals to the memory 803 or other devices. For example, the interface circuit 802 can read instructions stored in the memory 803 and send those instructions to the processing circuit 801.

[0151] Optionally, the number of memories 803 can be one or more. The number of interface circuits 802 can also be one or more.

[0152] In some embodiments, the interface circuit 802 performs at least one of the communication steps such as sending and / or receiving in the above method, and the processing circuit 801 performs other steps.

[0153] In some embodiments, the terms interface circuit, interface, transceiver pin, transceiver, etc., can be used interchangeably.

[0154] Alternatively, all or part of the memory 803 may be located outside of the chip 800.

[0155] To implement the above embodiments, this disclosure also proposes a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the methods proposed in the foregoing embodiments of this disclosure.

[0156] To implement the above embodiments, this disclosure also proposes a computer program product that, when instructions in the computer program product are executed by a processor, performs the method proposed in the foregoing embodiments of this disclosure.

[0157] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in this disclosure all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0158] It should be noted that personal information collected from users should be used for legitimate and reasonable purposes and should not be shared or sold outside of these legitimate uses. Furthermore, such collection / sharing should only be conducted after receiving the user's informed consent, including but not limited to notifying the user to read the user agreement / user notice and sign an agreement / authorization that includes authorization of relevant user information before the user uses the function. In addition, any necessary steps must be taken to protect and safeguard access to such personal information data and ensure that others with access to personal information data comply with their privacy policies and procedures.

[0159] This disclosure is intended to provide implementation schemes for users to selectively prevent the use or access to their personal information data. Specifically, this disclosure is intended to provide hardware and / or software to prevent or block access to such personal information data. Once personal information data is no longer needed, risks can be minimized by restricting data collection and deleting data. Furthermore, where applicable, such personal information is de-identified to protect user privacy.

[0160] In the foregoing descriptions of the embodiments, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this disclosure. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0161] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0162] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of preferred embodiments of this disclosure includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of this disclosure pertain.

[0163] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.

[0164] It should be understood that various parts of this disclosure can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0165] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

[0166] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.

[0167] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of the present disclosure have been shown and described above, it is to be understood that the above embodiments are exemplary and should not be construed as limiting the present disclosure. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present disclosure.

Claims

1. A communication processing method characterized by comprising: The method comprises: determining a candidate level corresponding to a candidate data packet, wherein the candidate level is used to represent a group packet priority of the candidate data packet relative to other candidate data packets, and different candidate data packets belong to different application services; determining a target data packet from at least one candidate data packet according to the candidate level; sending the target data packet; wherein the determination of the candidate level corresponding to the candidate data packet comprises: judging whether the candidate level needs to be reset according to a scheduling period of an application service to which the candidate data packet belongs, to obtain a judgment result; determining the candidate level corresponding to the candidate data packet according to the judgment result; the determination of the candidate level corresponding to the candidate data packet according to the judgment result comprises: in a case where the judgment result is that the candidate level does not need to be reset, determining an application level and a recommended rate of the application service, and determining the candidate level according to the application level, the recommended rate and the scheduling period, wherein the application level is a level initially configured for the application service, and the recommended rate is a data transmission rate recommended by the application service; in a case where the judgment result is that the candidate level needs to be reset, determining the application level of the application service as the candidate level.

2. The method of claim 1, wherein, the determination of the candidate level according to the application level, the recommended rate and the scheduling period comprises: determining a number of sent data packets of the application service; determining the candidate level according to the application level, the recommended rate, the scheduling period and the number of sent data packets.

3. The method of claim 2, wherein, the determination of the candidate level according to the application level, the recommended rate, the scheduling period and the number of sent data packets comprises: multiplying the recommended rate, the application level and the scheduling period to obtain a product result; determining a ratio of the product result to the number of sent data packets, and determining the ratio as the candidate level.

4. The method of claim 1, wherein, the determination of the application level and the recommended rate of the application service comprises: determining at least one candidate feature, wherein the candidate feature has a corresponding candidate level and a candidate rate, the candidate level represents a group packet priority of an application service to which a data packet described by the candidate feature relative to other application services, and the candidate rate is a data transmission rate recommended by the application service to which the data packet described by the candidate feature belongs; selecting a target feature from the at least one candidate feature according to a data feature of the candidate data packet; determining a candidate level corresponding to the target feature as the application level, and determining a candidate rate corresponding to the target feature as the recommended rate.

5. The method of claim 4, wherein, The method further comprises: receiving the at least one candidate feature, the candidate level and the candidate rate corresponding to the candidate feature sent by an application layer; associating and storing the at least one candidate feature, the candidate level and the candidate rate corresponding to the candidate feature.

6. The method of claim 5, wherein, The method further comprises: determining an actual rate at which the target data packet is sent; updating the application level and the recommended rate of the application service to which the target data packet belongs according to the actual rate.

7. A communication processing apparatus characterized by comprising: The method comprises: The first determining module is configured to determine a candidate level corresponding to the candidate data packet, wherein the candidate level is used to represent a group packet priority of the candidate data packet relative to other candidate data packets, and different candidate data packets belong to different application services; The second determining module is configured to determine a target data packet from at least one candidate data packet according to the candidate level; The transceiver module is configured to send the target data packet; The first determining module is further configured to determine whether the candidate level needs to be reset according to a scheduling period of the application service to which the candidate data packet belongs, to obtain a determination result, and determine the candidate level corresponding to the candidate data packet according to the determination result. The first determining module is further configured to: In a case where the determination result is that the candidate level does not need to be reset, determine an application level and a recommended rate of the application service, and determine the candidate level according to the application level, the recommended rate, and the scheduling period, wherein the application level is a level initially configured for the application service, and the recommended rate is a data transmission rate recommended by the application service; In a case where the determination result is that the candidate level needs to be reset, determine the application level of the application service as the candidate level.

8. A communication device, characterized by The processor and a memory connected to the processor in communication; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method of any one of claims 1-6. The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are executed by the processor to implement the method of any one of claims 1-6.

9. A computer-readable storage medium, characterized in that, The computer program is executed by the processor to implement the method of any one of claims 1-6.

10. A computer program product, characterised in that, The interface circuit is configured to read instructions, and the interface circuit sends the instructions to the processing circuit to enable the processing circuit to execute the method of any one of claims 1-6.

11. A chip comprising processing circuitry, interface circuitry; wherein, ​

Citation Information

Patent Citations

  • Method and device for scheduling data traffic

    CN102970760A