Data packet processing method, device, terminal and storage medium

By constructing a simplified coding diagram and a large cluster collection, the target coded data packets are determined and retransmitted in a multi-unicast transmission scenario, the problem of low retransmission efficiency when transmission conditions are poor is solved, and lower completion delay and higher data transmission efficiency are achieved.

CN118540023BActive Publication Date: 2025-02-28UNIV OF SCI & TECH BEIJING
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410705362.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-03
Publication Date
2025-02-28
Estimated Expiration
2044-06-03

AI Technical Summary

Technical Problem

In multi-unicast transmission scenarios, when the transmission conditions are poor, the unicast retransmission efficiency is low, the graph scale is large, and the traversal complexity is high, resulting in data packets being easily lost or damaged, and the completion delay of the retransmission phase is high and the transmission efficiency is low.

Method used

By obtaining the feedback matrix corresponding to the sink, a simplified encoding diagram is constructed, and a huge cluster collection is constructed based on the degree and adjacency relationship of the vertex, and a huge cluster is determined as the target coded data packet, and a huge cluster is transmitted in the retransmission stage to improve data transmission efficiency.

Benefits of technology

It reduces the transmission completion delay in the retransmission phase in the multi-unicast transmission scenario, improves data transmission efficiency, and reduces the number of data packets that need to be retransmitted.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present application discloses a data packet processing method, device, terminal and storage medium, including obtaining a feedback matrix corresponding to a destination in a multi-unicast transmission scenario; constructing a simplified coding graph based on the feedback matrix, wherein the simplified coding graph includes at least one vertex; constructing a maximum clique set based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, wherein the maximum clique set includes at least one maximum clique, and each maximum clique includes at least one vertex; determining the maximum clique as a target coding data packet, and transmitting the target coding data packet in a retransmission phase. The present application aims to improve the data transmission efficiency in the retransmission phase in the multi-unicast transmission scenario and reduce the transmission completion delay.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing, and in particular to a data packet processing method, device, terminal and storage medium. Background Art

[0002] A multi-unicast network is a transmission scenario in which each destination in a broadcast environment expects to receive different information from each other, that is, a multi-unicast transmission scenario. Taking the common video streaming service as an example, when each destination in the source service area requires different video content, the source needs to send all the video content one by one, that is, different data packets, for multi-unicast.

[0003] Under existing technical conditions, when transmission conditions are poor, unicast retransmission efficiency is low; at the same time, the graph modeled by the existing scheme is large in scale and has high traversal complexity, which makes data packets in the retransmission phase easily lost or damaged, the completion delay of the retransmission phase is high, and the transmission efficiency is low. Summary of the invention

[0004] The main purpose of the present application is to provide a data packet processing method, device, terminal and storage medium, aiming to improve the data transmission efficiency in the retransmission phase in the multi-unicast transmission scenario.

[0005] To achieve the above object, the present application provides a data packet processing method, the method comprising:

[0006] Acquire a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to characterize a reception status of a data packet corresponding to the destination;

[0007] Based on the feedback matrix, construct a simplified coding graph, wherein the simplified coding graph includes at least one vertex, and the vertex in the simplified coding graph is used to represent a data packet that needs to be retransmitted;

[0008] Based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, a maximal clique set is constructed, wherein the maximal clique set includes at least one maximal clique, and each maximal clique includes at least one vertex;

[0009] The maximum clique is determined as a target coded data packet, and the target coded data packet is transmitted in a retransmission phase.

[0010] Specifically, constructing a maximal clique set based on the degrees corresponding to the vertices and the adjacency relationship between the vertices includes:

[0011] Filter out the first vertex with the smallest degree from the current vertices of the simplified coding graph;

[0012] Based on the degree corresponding to the first vertex, construct a vertex set corresponding to the first vertex, wherein the vertex set includes the first vertex;

[0013] Update the vertex set based on the degree of the adjacent vertex corresponding to the first vertex;

[0014] Removing vertices corresponding to the updated vertex set from the simplified coding graph, and determining the updated vertex set as the maximal clique;

[0015] Repeat the steps of screening out the first vertex with the smallest degree from the current vertices of the simplified coding graph to removing the vertices corresponding to the first vertex set from the simplified coding graph, and determining the updated vertex set as the maximal clique, until all the vertices in the simplified coding graph are removed to obtain the maximal clique collection.

[0016] Specifically, before updating the vertex set based on the degree of the adjacent vertex corresponding to the first vertex, the method further includes:

[0017] If the degree of the first vertex is 0, the vertex set corresponding to the first vertex is determined as the maximal clique, and the first vertex is removed from the simplified coding graph.

[0018] Specifically, updating the vertex set based on the degree of the adjacent vertex corresponding to the first vertex includes:

[0019] Based on the simplified coding graph, the adjacent vertices corresponding to the first vertex are arranged in descending order of degree to obtain an adjacent vertex sequence;

[0020] Based on the adjacent vertex sequence, the vertex set is updated.

[0021] Specifically, updating the vertex set based on the adjacent vertex sequence includes:

[0022] Determine the vertex with the largest degree among the current vertices in the adjacent vertex sequence as the second vertex;

[0023] Put the second vertex into the vertex set and update the first vertex set;

[0024] Parse the first vertex set, and if there is an edge between any two vertices in the first vertex set, determine the first vertex set as the updated vertex set; if there are two vertices in the first vertex set that are not connected by an edge, remove the second vertex from the first vertex set;

[0025] removing the second vertex from the adjacent vertex sequence;

[0026] Repeat the steps of determining the vertex with the largest degree among the current vertices in the adjacent vertex sequence as the second vertex to removing the second vertex from the adjacent vertex sequence until all vertices in the adjacent vertex sequence are removed.

[0027] Specifically, applied to a base station, before obtaining a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, the method further includes:

[0028] Send the data packet to the destination.

[0029] Specifically, the feedback matrix includes feedback elements, the feedback elements are used to characterize the receiving state corresponding to the data packet, the feedback elements correspond to the data packets one by one, and the simplified coding diagram is constructed based on the feedback matrix, including:

[0030] Filtering out a first element from the feedback elements, wherein the first element is used to represent a data packet that needs to be retransmitted;

[0031] Based on the first element, generating the vertex;

[0032] Based on the feedback matrix, traverse the vertices, and determine whether there is an edge between any vertex among the vertices and another vertex among the vertices, to obtain a determination result;

[0033] Based on the vertices and the judgment result, the simplified coding graph is generated.

[0034] To achieve the above object, the present application also provides a data packet processing device, the device comprising:

[0035] A first unit is used to obtain a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to represent a reception status of a data packet corresponding to the destination;

[0036] A second unit is configured to construct a simplified coding graph based on the feedback matrix, wherein the simplified coding graph includes at least one vertex, and the vertex in the simplified coding graph is used to represent a data packet that needs to be retransmitted;

[0037] A third unit is used to construct a maximum clique set based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, wherein the maximum clique set includes at least one maximum clique, and each maximum clique includes at least one vertex;

[0038] The fourth unit is used to determine the maximum clique as a target coded data packet, and to improve the data transmission efficiency in the retransmission phase in the multi-unicast transmission scenario by transmitting the target coded data packet.

[0039] To achieve the above-mentioned purpose, the present application also provides a terminal, including a memory storing multiple instructions; the processor loads instructions from the memory to execute the steps in any one of the methods provided in the present application.

[0040] To achieve the above objectives, the present application also provides a storage medium, which stores multiple instructions, and the instructions are suitable for a processor to load to execute the steps in any method provided in the present application.

[0041] The present application provides a data packet processing method, device, terminal and storage medium, which can first obtain a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to characterize the reception status of the data packet corresponding to the destination; then, based on the feedback matrix, a simplified coding graph is constructed, wherein the simplified coding graph includes at least one vertex, and the vertex in the simplified coding graph is used to characterize the data packet that needs to be retransmitted; based on the degree corresponding to the vertex and the adjacency relationship between the vertices, a maximal clique collection is constructed, wherein the maximal clique collection includes at least one maximal clique, the number of maximal cliques is less than the number of the data packets, and each maximal clique includes data information corresponding to at least one data packet, so that in the retransmission stage, the data packet does not need to be retransmitted, and the maximal clique is directly transmitted. Because the number of maximal cliques in the retransmission stage is less than that of the data packet, the transmission completion delay in the retransmission stage is lower than that of the retransmission of the data packet; finally, the maximal clique is determined as a target coded data packet, and the target coded data packet is transmitted in the retransmission stage to improve the data transmission efficiency in the retransmission stage.

[0042] The present application can reduce the transmission completion delay in the retransmission phase in the multi-unicast transmission scenario and improve the data transmission efficiency in the retransmission phase. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 A schematic diagram of a process flow provided for an embodiment of the present application;

[0044] Figure 2 A schematic diagram of a simplified coding diagram C provided in an embodiment of the present application;

[0045] Figure 3 A schematic diagram of the structure of a data packet processing device provided in an embodiment of the present application;

[0046] Figure 4 A schematic diagram of the structure of a terminal provided in an embodiment of the present application. DETAILED DESCRIPTION

[0047] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0048] Under the existing technical conditions, when the transmission conditions are poor, the unicast retransmission efficiency is low; at the same time, the graph modeled by the existing scheme is large in scale and has high traversal complexity, which makes the data packets in the retransmission stage easily lost or damaged, the completion delay of the retransmission stage is high and the transmission efficiency is low. Therefore, the embodiments of the present application provide a data packet processing method, device, terminal and storage medium to solve practical technical problems.

[0049] In some embodiments, the device may be specifically integrated into an electronic device, which may be a terminal, a server or other device.

[0050] In some embodiments, the server may also be implemented in the form of a terminal.

[0051] Among them, the server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.

[0052] The terminal may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal and the server may be directly or indirectly connected via wired or wireless communication, and this application does not limit this.

[0053] It should be noted that the serial numbers of the following embodiments are not intended to limit the preferred order of the embodiments.

[0054] An embodiment of the present application provides a data packet processing method, which can improve the data transmission efficiency in the retransmission phase in the multi-unicast transmission scenario.

[0055] like Figure 1 As shown, the specific process of the method can be as follows:

[0056] S110: Obtain a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to represent a reception status of a data packet corresponding to the destination.

[0057] In some embodiments, a multi-unicast transmission scenario refers to a situation where data is sent to multiple destination addresses simultaneously in a network. This scenario usually occurs in applications such as live video, multiplayer games, and real-time data synchronization. In a multi-unicast transmission scenario, the sender sends data to multiple receivers at the same time. In actual applications, multi-unicast transmission scenarios usually require the use of specialized network equipment and protocols to ensure that data can be accurately and efficiently transmitted to the destination. At the same time, the requirements for network bandwidth and transmission delay are also high, requiring reasonable network planning and optimization.

[0058] In some embodiments, a sink refers to a destination or terminal device that receives data in network communication. In a multi-unicast transmission scenario, each receiving end can be regarded as a sink that receives data from a sending end.

[0059] Specifically, the sink can be a computer, server, router, switch or other network device. They receive data packets sent by the sender and pass the data to the corresponding application or device according to the destination address information in the data packet. In a multi-unicast transmission scenario, the sender usually sends data packets to multiple sinks to achieve simultaneous transmission of data to multiple destinations. Each sink will independently receive the data packet and perform corresponding processing and response.

[0060] In some embodiments, the method may be applied to a base station. Before obtaining the feedback matrix corresponding to the destination in the multi-unicast transmission scenario, the method may further include the following steps:

[0061] Send the data packet to the destination.

[0062] In some embodiments, the base station prepares the data packet to be sent, including information such as data content and destination address; the base station encapsulates the data information into a data packet format that conforms to the communication protocol, usually including information such as data content, destination address, source address, and checksum; the base station selects a suitable transmission method to send the data packet to the destination, which can be transmitted by wire or wireless means, such as through transmission media such as radio frequency signals and optical fibers; the base station sends the encapsulated data packet to the destination through a network device or a communication link. During the transmission process, the appropriate transmission path and method will be selected according to the network structure and protocol to ensure that the data packet can accurately reach the destination; after receiving the data packet, the destination device will parse the data packet and extract valid information. According to the destination address information in the data packet, it is determined whether the received data packet is for itself.

[0063] Specifically, by analyzing the process of sending data packets, we can have a complete and clear understanding of the data transmission and data reception conditions in the multi-unicast transmission scenario.

[0064] S120. Construct a simplified coding graph based on the feedback matrix, wherein the simplified coding graph includes at least one vertex, and the vertex in the simplified coding graph is used to represent a data packet that needs to be retransmitted.

[0065] In some embodiments, the feedback matrix includes feedback elements, the feedback elements are used to characterize a receiving state corresponding to the data packet, and the feedback elements correspond to the data packet in a one-to-one manner.

[0066] In some embodiments, constructing a simplified coding graph based on the feedback matrix includes steps S121 to S124 as shown below:

[0067] S121. Filter out a first element from the feedback elements, wherein the first element is used to represent a data packet that needs to be retransmitted. In order to improve the data transmission efficiency in the retransmission phase, the embodiment of the present application needs to process the data packet that needs to be retransmitted.

[0068] S122. Generate the vertex based on the first element.

[0069] Specifically, the first elements correspond to the vertices one by one.

[0070] S123. Based on the feedback matrix, traverse the vertices, and determine whether there is an edge between any vertex among the vertices and another vertex among the vertices to obtain a determination result.

[0071] Specifically, two vertices among the vertices are vertex a1 and vertex b1, the destination corresponding to vertex a1 is destination A, the destination corresponding to vertex b1 is destination B, and a necessary and sufficient condition for the existence of an edge between vertex a1 and vertex b1 is that destination A receives the data packet corresponding to vertex b1 and destination B receives the data packet corresponding to vertex a1; the judgment result is obtained by judging whether there is an edge between any two vertices among the vertices.

[0072] S124. Generate the simplified coding graph based on the vertices and the judgment result.

[0073] Specifically, the simplified coding graph is drawn and generated based on the vertex and the edge between any two vertices. The simplified coding graph may include vertices with a degree of 0, that is, the vertex is an isolated point. The simplified coding graph may include vertices with a degree not equal to 0, that is, the vertex includes adjacent vertices with an adjacency relationship therewith, and the degree of the vertex is the number of edges associated with the vertex.

[0074] S130. Construct a maximal clique set based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, wherein the maximal clique set includes at least one maximal clique, and each maximal clique includes at least one vertex.

[0075] In some embodiments, the constructing of the maximal clique set based on the degrees corresponding to the vertices and the adjacency relationship between the vertices includes the following steps S131 to S135:

[0076] S131. Filter out the first vertex with the smallest degree from the current vertices of the simplified coding graph.

[0077] In some embodiments, by screening out the first vertex with the smallest degree, vertices with fewer adjacencies, that is, relatively isolated data packets, can be found as quickly as possible, thereby minimizing subsequent retransmission time and resource consumption.

[0078] S132. Construct a vertex set corresponding to the first vertex based on the degree corresponding to the first vertex, wherein the vertex set includes the first vertex.

[0079] In some embodiments, before updating the vertex set based on the degree of the adjacent vertex corresponding to the first vertex, the method further includes the following specific process:

[0080] If the degree of the first vertex is 0, the vertex set corresponding to the first vertex is determined as the maximal clique, and the first vertex is removed from the simplified coding graph.

[0081] S133. Update the vertex set based on the degree of the adjacent vertex corresponding to the first vertex.

[0082] In some embodiments, the updating of the vertex set based on the degree of the adjacent vertex corresponding to the first vertex includes the following steps S1331 to S1332:

[0083] S1331. Based on the simplified coding graph, arrange the adjacent vertices corresponding to the first vertex in descending order of degree to obtain an adjacent vertex sequence.

[0084] S1332. Update the vertex set based on the adjacent vertex sequence.

[0085] In some embodiments, the adjacent vertex sequence is traversed, and attempts are made to update the vertex set through the adjacent vertices in turn to observe whether the updated vertex set meets the conditions for forming a maximal clique. If so, the updated vertex set is determined to be the maximal clique.

[0086] In some embodiments, the updating of the vertex set based on the adjacent vertex sequence includes the following steps S13321 to S13325:

[0087] S13321. Determine the vertex with the largest degree among the current vertices in the adjacent vertex sequence as the second vertex.

[0088] In some embodiments, by screening out the vertices with the most current adjacency relationships, the foundation for the subsequent formation of a maximum cluster is laid. The data packets corresponding to the vertices with the most adjacency relationships can be used as the core part of each maximum cluster, ensuring that the original data of the data packets will not be lost or damaged.

[0089] S13322. Put the second vertex into the vertex set, and update the first vertex set.

[0090] S13323. parse the first vertex set. If there is an edge between any two vertices in the first vertex set, determine the first vertex set as the updated vertex set. If there are two vertices in the first vertex set that are not connected by an edge, remove the second vertex from the first vertex set.

[0091] In some embodiments, in order to ensure that the completion delay of the retransmission phase is reduced, it is necessary to ensure that the number of maximal clusters is less than the number of data packets, and also to ensure that the original data of the data packets is not lost or damaged. Therefore, the data packets corresponding to the vertices with a degree of 0 can be reused as the core part of another maximal cluster, thereby ensuring that subsequent maximal clusters meet the composition conditions.

[0092] S13324. Remove the second vertex from the adjacent vertex sequence.

[0093] In some embodiments, since it is necessary to try to update the vertex set through the second vertex in sequence, it is necessary to promptly remove the tried second vertex from the adjacent vertex sequence to avoid wasting computing resources caused by repeated operations.

[0094] S13325. Repeat the steps of determining the vertex with the largest degree among the current vertices in the adjacent vertex sequence as the second vertex to removing the second vertex from the adjacent vertex sequence until all vertices in the adjacent vertex sequence are removed.

[0095] S134. Remove the vertices corresponding to the updated vertex set from the simplified coding graph, and determine the updated vertex set as the maximal clique.

[0096] In some embodiments, the waste of computing resources caused by repeatedly obtaining the same vertex from the simplified coding graph is avoided.

[0097] S135. Repeat the steps of selecting the first vertex with the smallest degree from the current vertices of the simplified coding graph to removing the vertices corresponding to the first vertex set from the simplified coding graph, and determining the updated vertex set as the maximal clique, until all the vertices in the simplified coding graph are removed to obtain the maximal clique collection.

[0098] S140, determining the maximum clique as a target coded data packet, and transmitting the target coded data packet in a retransmission phase.

[0099] In some embodiments, the prior art can only transmit one data packet at a time by default, while a maximum blob may contain multiple data packets, so an encoding operation must be performed to encode the data of multiple data packets to obtain the target encoded data packet for final transmission.

[0100] In some embodiments, the number of the maximal clusters is less than the number of the data packets, and each maximal cluster includes data information corresponding to at least one data packet, so that in the retransmission stage, the data packets do not need to be retransmitted, and the maximal clusters can be directly transmitted. Because the number of maximal clusters that need to be retransmitted is less than that of the data packets, the transmission completion delay in the retransmission stage is lower than that of retransmitting the data packets.

[0101] In some embodiments, the maximal clique in the maximal clique set is determined as a target coded data packet, and in the retransmission phase, the data packet is replaced, and the target coded data packet is sent to the destination through the base station to reduce the data transmission completion delay in the multi-unicast transmission scenario, thereby improving the data transmission efficiency in the multi-unicast transmission scenario.

[0102] An embodiment of the present application first obtains a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to characterize the reception status of a data packet corresponding to the destination; then, based on the feedback matrix, a simplified coding graph is constructed, wherein the simplified coding graph includes at least one vertex, and the vertices in the simplified coding graph are used to characterize a data packet that needs to be retransmitted; based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, a maximal clique set is constructed, wherein the maximal clique set includes at least one maximal clique; finally, the maximal clique is determined as a target coded data packet, and the target coded data packet is transmitted in a retransmission phase, so as to improve the data transmission efficiency in the retransmission phase.

[0103] In order to further explain the present application, a specific embodiment is described below:

[0104] In order to reduce the data transmission completion delay in the multi-unicast transmission scenario and thereby improve the data transmission efficiency in the multi-unicast transmission scenario, this embodiment performs the following processing:

[0105] (i) The base station broadcasts data packets to a total of 8 destinations {A, B, C, D, E, F, G, H} within its coverage area. In the multi-unicast transmission scenario, the data packets that each destination needs to receive are independent and different.

[0106] In this embodiment, the number of data packets broadcast by the source is 16, and the number of data packets required by each destination is 2. Specifically, the data packets required by destination A are represented by {a1, a2}, the data packets required by destination B are represented by {b1, b2}, and so on.

[0107] (ii) After the broadcast is completed, the base station obtains feedback information from all destinations, understands the data packets received by each destination, and constructs a state feedback matrix SFM based on this information; in the SFM matrix, data packets that are not received and are needed are recorded as "1", data packets that are not received and are not needed are recorded as "-1", and data packets that are successfully received are recorded as "0".

[0108] In this embodiment, the base station constructs a state feedback matrix SFM according to the feedback information of all the sinks as shown in Table 1 below:

[0109]

[0110] Table 1 State feedback matrix SFM

[0111] Specifically, the destination A successfully receives 11 of the 16 data packets broadcast by the source, which are the data packets {a2,b1,c1,d1,d2,e1,e2,f2,g2,h1,h2} marked as "0" in the SFM matrix, where {a2} is what it needs; the 5 data packets {a1,b2,c2,f1,g1} that were not received, where {a1} is what it needs, marked as "1", and the rest are not needed, marked as "-1". Only the data packets marked as "1" need to be retransmitted by the source. After obtaining all the feedback information from the 8 destinations {A,B,C,D,E,F,G,H}, it is found that the set of data packets that need to be retransmitted is {a1,b1,b2,c1,d1,e1,g1,h1}.

[0112] (III) The base station constructs a simplified coding diagram C based on the SFM matrix.

[0113] Since the vertices in the simplified coding graph C correspond one-to-one to the data packets marked with "1" in the SFM matrix, there are 8 vertices in the simplified coding graph C in this embodiment, namely {a1, b1, b2, c1, d1, e1, g1, h1}, where the necessary and sufficient condition for the existence of an edge between two vertices xi and yj is that the destination x corresponding to the vertex xi successfully receives the j-th data packet yj required by y, and the destination y corresponding to the vertex yj successfully receives the i-th data packet xi required by x.

[0114] Specifically, the necessary and sufficient condition for the existence of an edge between two vertices a1 and b1 is that destination A receives the data packet corresponding to b1 and destination B receives the data packet corresponding to a1. From Table 1, we can see that although destination A receives the data packet corresponding to b1, destination B does not receive the data packet corresponding to a1, so there is no edge between the two. The necessary and sufficient condition for the existence of an edge between two vertices a1 and c1 is that destination A receives the data packet corresponding to c1 and destination C receives the data packet corresponding to a1. From Table 1, we can see that destination A receives the data packet corresponding to c1 and destination C receives the data packet corresponding to a1, so there is an edge between the two.

[0115] By combining the eight vertices in pairs and determining whether there is an edge between them based on the SFM matrix, the simplified coding graph C is constructed, as shown in Figure 2 shown.

[0116] (iv) Let Q represent a maximal clique set, in which each element is a vertex set, and the set Q is initially an empty set. In this embodiment, an iterative process is performed to update the simplified coding graph C until the graph C is empty, and the maximal clique set Q is obtained:

[0117] (1) The vertex with the lowest degree in the current simplified coding graph C is b1; b1 is an isolated point, update C = C\{v0} and add {v0} to the set Q, now Q = {{b1}}.

[0118] (2) The vertex with the lowest degree in the current simplified coding graph C is d1; d1 is not an isolated point and g1 is its only adjacent vertex. Define Q(d1) = {d1} and Q(d1) = {d1, g1} to form a maximal clique. Update C = C\{d1, g1} and add {d1, g1} to the set Q. Now Q = {{b1}, {d1, g1}};

[0119] (3) The vertex with the lowest degree in the current simplified coding graph C is b2; b2 is not an isolated point and e1 is its only adjacent vertex. Define Q(b2) = {b2} and Q(b2) = {b2, e1} to form a maximal clique. Update C = C\{b2, e1} and add {b2, e1} to the set Q. Now Q = {{b1}, {d1, g1}, {b2, e1}};

[0120] (4) The vertex with the lowest degree in the current simplified coding graph C is a1; a1 is not an isolated point and c1 and h1 are its adjacent vertices. Define Q(a1) = {a1} and Q(a1) = {a1, c1, h1} to form a maximal clique. Update C = C\{a1, ​​c1, h1} and add {a1, c1, h1} to the set Q. Now Q = {{b1}, {d1, g1}, {b2, e1}, {a1, c1, h1}};

[0121] (5) At this time, graph C is empty and the algorithm stops. The maximal clique set Q obtained at this time is an instantly decodable coding scheme that can enable all destinations to complete decoding and achieve a near-optimal completion delay with extremely low complexity.

[0122] (V) The coded data packets transmitted by the source of the maximum clique set Q during the retransmission phase are b1, d1

[0123] g1,b2⊕e2 and c1⊕a1⊕h1, ⊕ is an XOR operation, and the completion delay is 4. In this embodiment, the instant translatable network coding scheme based on the simplified graph model models the selection of the coding packet as a clique partitioning problem of finding a maximum clique, achieves the instant translatable property and high bandwidth utilization, and reduces the completion delay.

[0124] From the above, it can be seen that the embodiment of the present application can first obtain the feedback matrix corresponding to the destination in the multi-unicast transmission scenario, wherein the feedback matrix is ​​used to characterize the reception status of the data packet corresponding to the destination; then, based on the feedback matrix, a simplified coding graph is constructed, wherein the simplified coding graph includes at least one vertex, and the vertices in the simplified coding graph are used to characterize the data packets that need to be retransmitted; based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, a maximal clique set is constructed, and the maximal clique set includes at least one maximal clique; finally, the maximal clique is determined as the target coded data packet, and the target coded data packet is transmitted in the retransmission phase to achieve an improvement in the data transmission efficiency in the retransmission phase.

[0125] In summary, the present application provides a data packet processing method, which can reduce the transmission completion delay in the retransmission phase in the multi-unicast transmission scenario and improve the data transmission efficiency in the retransmission phase.

[0126] In order to better implement the above method, the embodiment of the present application also provides a data packet processing device, which can be integrated in an electronic device, and the electronic device can be a terminal, a server, etc. Among them, the terminal can be a mobile phone, a tablet computer, a smart Bluetooth device, a laptop, a personal computer, etc.; the server can be a single server or a server cluster composed of multiple servers.

[0127] For example, in this embodiment, the method of the embodiment of the present application is described in detail by taking the specific integration of the data packet processing device in the terminal as an example.

[0128] For example, Figure 3 As shown, the data packet processing device may include a first unit 301, a second unit 302, a third unit 303, and a fourth unit 304, as follows:

[0129] The first unit 301 is used to obtain a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to represent a reception status of a data packet corresponding to the destination;

[0130] The second unit 302 is configured to construct a simplified coding graph based on the feedback matrix, wherein the simplified coding graph includes at least one vertex, and the vertex in the simplified coding graph is used to represent a data packet that needs to be retransmitted;

[0131] The third unit 303 is used to construct a maximum clique set based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, wherein the maximum clique set includes at least one maximum clique, and each maximum clique includes at least one vertex;

[0132] The fourth unit 304 is used to determine the maximum clique as a target coded data packet, and improve the data transmission efficiency in the retransmission phase in the multi-unicast transmission scenario by transmitting the target coded data packet.

[0133] In specific implementation, the above units can be implemented as independent entities, or can be arbitrarily combined to be implemented as the same or several entities. The specific implementation of the above units can refer to the previous method embodiments, which will not be repeated here.

[0134] From the above, it can be seen that the embodiments of the present application can implement a more efficient and reliable signal data processing process through a device compared to the prior art, so as to reduce the transmission completion delay in the retransmission phase in the multi-unicast transmission scenario and improve the data transmission efficiency in the retransmission phase.

[0135] The embodiment of the present application also provides an electronic device, which can be a terminal, a server, etc. The terminal can be a mobile phone, a tablet computer, a smart Bluetooth device, a laptop, a personal computer, etc. The server can be a single server or a server cluster composed of multiple servers, etc.

[0136] In some embodiments, the data packet processing device may also be integrated into multiple electronic devices. For example, the data packet processing device may be integrated into multiple servers, and the data packet processing method of the present application may be implemented by multiple servers.

[0137] In this embodiment, the electronic device of this embodiment is a terminal as an example for detailed description, for example, Figure 4 As shown, it shows a schematic diagram of the structure of the terminal involved in the embodiment of the present application, specifically:

[0138] The terminal may include one or more processing core processors 401, one or more storage media memories 402, a power supply 403, an input module 404, and a communication module 405. Those skilled in the art will appreciate that Figure 4 The terminal structure shown in the figure does not constitute a limitation on the terminal, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0139] The processor 401 is the control center of the terminal, and uses various interfaces and lines to connect various parts of the entire terminal. By running or executing software programs and / or modules stored in the memory 402, and calling data stored in the memory 402, the processor 401 performs various functions of the terminal and processes data, thereby monitoring the terminal as a whole. In some embodiments, the processor 401 may include one or more processing cores; in some embodiments, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 401.

[0140] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area may store data created according to the use of the terminal, etc. In addition, the memory 402 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.

[0141] The terminal also includes a power supply 403 for supplying power to various components. In some embodiments, the power supply 403 can be logically connected to the processor 401 through a power management system, so as to manage charging, discharging, and power consumption through the power management system. The power supply 403 can also include any components such as one or more DC or AC power supplies, recharging systems, power failure detection circuits, power converters or inverters, and power status indicators.

[0142] The terminal may further include an input module 404, which may be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control.

[0143] The terminal may also include a communication module 405. In some embodiments, the communication module 405 may include a wireless module. The terminal may perform short-range wireless transmission through the wireless module of the communication module 405, thereby providing the user with wireless broadband Internet access. For example, the communication module 405 may be used to help the user send and receive emails, browse web pages, and access streaming media.

[0144] Although not shown, the terminal may also include a display unit, etc., which will not be described in detail here. Specifically in this embodiment, the processor 401 in the terminal will load the executable files corresponding to the processes of one or more applications into the memory 402 according to the following instructions, and the processor 401 will run the application stored in the memory 402 to achieve various functions, as follows:

[0145] Acquire a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to characterize a reception status of a data packet corresponding to the destination;

[0146] Based on the feedback matrix, construct a simplified coding graph, wherein the simplified coding graph includes at least one vertex, and the vertex in the simplified coding graph is used to represent a data packet that needs to be retransmitted;

[0147] Based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, a maximal clique set is constructed, wherein the maximal clique set includes at least one maximal clique, and each maximal clique includes at least one vertex;

[0148] The maximum clique is determined as a target coded data packet, and the target coded data packet is transmitted in a retransmission phase.

[0149] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.

[0150] It can be seen from the above that the embodiments of the present application can reduce the transmission completion delay in the retransmission phase in the multi-unicast transmission scenario and improve the data transmission efficiency in the retransmission phase.

[0151] A person skilled in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a storage medium and loaded and executed by a processor.

[0152] To this end, an embodiment of the present application provides a storage medium in which a plurality of instructions are stored, and the instructions can be loaded by a processor to execute the steps in any one of the data packet processing methods provided in the embodiments of the present application. For example, the instructions can execute the following steps:

[0153] Acquire a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to characterize a reception status of a data packet corresponding to the destination;

[0154] Based on the feedback matrix, construct a simplified coding graph, wherein the simplified coding graph includes at least one vertex, and the vertex in the simplified coding graph is used to represent a data packet that needs to be retransmitted;

[0155] Based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, a maximal clique set is constructed, wherein the maximal clique set includes at least one maximal clique, and each maximal clique includes at least one vertex;

[0156] The maximum clique is determined as a target coded data packet, and the target coded data packet is transmitted in a retransmission phase.

[0157] The storage medium may include: a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0158] According to one aspect of the present application, a computer program product or a computer program is provided, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a storage medium. A processor of a computer device reads the computer instructions from the storage medium, and the processor executes the computer instructions, so that the computer device executes the method provided in various optional implementations provided in the above embodiments.

[0159] Since the instructions stored in the storage medium can execute the steps in any one of the data packet processing methods provided in the embodiments of the present application, the beneficial effects that can be achieved by any one of the data packet processing methods provided in the embodiments of the present application can be achieved. Please refer to the previous embodiments for details and will not be repeated here.

[0160] The above is a detailed introduction to a data packet processing method, device, terminal and storage medium provided in an embodiment of the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A data packet processing method, characterized in that: include: Acquire a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to characterize a reception status of a data packet corresponding to the destination; Based on the feedback matrix, construct a simplified coding graph, wherein the simplified coding graph includes at least one vertex, and the vertex in the simplified coding graph is used to represent a data packet that needs to be retransmitted; Based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, a maximal clique set is constructed, wherein the maximal clique set includes at least one maximal clique, and each maximal clique includes at least one vertex; Determine the maximum blob as a target coded data packet, and transmit the target coded data packet in a retransmission phase; The step of constructing a maximum clique set based on the degrees corresponding to the vertices and the adjacency relationship between the vertices includes: Filter out the first vertex with the smallest degree from the current vertices of the simplified coding graph; Based on the degree corresponding to the first vertex, construct a vertex set corresponding to the first vertex, wherein the vertex set includes the first vertex; Update the vertex set based on the degree of the adjacent vertex corresponding to the first vertex; Removing vertices corresponding to the updated vertex set from the simplified coding graph, and determining the updated vertex set as the maximal clique; Repeat the steps of screening out the first vertex with the smallest degree from the current vertices of the simplified coding graph to removing the vertices corresponding to the first vertex set from the simplified coding graph, and determining the updated vertex set as the maximal clique, until all the vertices in the simplified coding graph are removed to obtain the maximal clique collection.

2. The method according to claim 1, characterized in that Before updating the vertex set based on the degree of the adjacent vertex corresponding to the first vertex, the method further includes: If the degree of the first vertex is 0, the vertex set corresponding to the first vertex is determined as the maximal clique, and the first vertex is removed from the simplified coding graph.

3. The method according to claim 1, characterized in that The updating of the vertex set based on the degree of the adjacent vertex corresponding to the first vertex includes: Based on the simplified coding graph, the adjacent vertices corresponding to the first vertex are arranged in descending order of degree to obtain an adjacent vertex sequence; Based on the adjacent vertex sequence, the vertex set is updated.

4. The method according to claim 3, characterized in that The updating of the vertex set based on the adjacent vertex sequence includes: Determine the vertex with the largest degree among the current vertices in the adjacent vertex sequence as the second vertex; Put the second vertex into the vertex set, and update the first vertex set; Parse the first vertex set, and if there is an edge between any two vertices in the first vertex set, determine the first vertex set as the updated vertex set; if there are two vertices in the first vertex set that are not connected by an edge, remove the second vertex from the first vertex set; removing the second vertex from the adjacent vertex sequence; Repeat the steps of determining the vertex with the largest degree among the current vertices in the adjacent vertex sequence as the second vertex to removing the second vertex from the adjacent vertex sequence until all vertices in the adjacent vertex sequence are removed.

5. The method according to claim 3, characterized in that Applied to a base station, before obtaining a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, the method further includes: Send the data packet to the destination.

6. The method according to claim 1, characterized in that The feedback matrix includes feedback elements, the feedback elements are used to represent the receiving state corresponding to the data packet, the feedback elements correspond to the data packet one by one, and the simplified coding diagram is constructed based on the feedback matrix, including: Filtering out a first element from the feedback elements, wherein the first element is used to represent a data packet that needs to be retransmitted; Based on the first element, generating the vertex; Based on the feedback matrix, traverse the vertices, and determine whether there is an edge between any vertex among the vertices and another vertex among the vertices, to obtain a determination result; Based on the vertices and the judgment result, the simplified coding graph is generated.

7. A data packet processing device, characterized in that: The device comprises: A first unit is used to obtain a feedback matrix corresponding to a destination in a multi-unicast transmission scenario, wherein the feedback matrix is ​​used to represent a reception status of a data packet corresponding to the destination; A second unit is configured to construct a simplified coding graph based on the feedback matrix, wherein the simplified coding graph includes at least one vertex, and the vertex in the simplified coding graph is used to represent a data packet that needs to be retransmitted; A third unit is used to construct a maximum clique set based on the degrees corresponding to the vertices and the adjacency relationship between the vertices, wherein the maximum clique set includes at least one maximum clique, and each maximum clique includes at least one vertex; The step of constructing a maximum clique set based on the degrees corresponding to the vertices and the adjacency relationship between the vertices includes: Filter out the first vertex with the smallest degree from the current vertices of the simplified coding graph; Based on the degree corresponding to the first vertex, construct a vertex set corresponding to the first vertex, wherein the vertex set includes the first vertex; Update the vertex set based on the degree of the adjacent vertex corresponding to the first vertex; Removing vertices corresponding to the updated vertex set from the simplified coding graph, and determining the updated vertex set as the maximal clique; Repeat the steps of selecting the first vertex with the smallest degree from the current vertices of the simplified coding graph to removing the vertices corresponding to the first vertex set from the simplified coding graph, and determining the updated vertex set as the maximal clique, until all vertices in the simplified coding graph are removed to obtain the maximal clique collection; The fourth unit is used to determine the maximum clique as a target coded data packet, and to improve the data transmission efficiency in the retransmission phase in the multi-unicast transmission scenario by transmitting the target coded data packet.

8. A terminal, characterized in that: The method comprises a processor and a memory, wherein the memory stores a plurality of instructions; the processor loads instructions from the memory to execute the steps in the method according to any one of claims 1 to 6.

9. A storage medium, characterized in that: The storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the steps in the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Maximum clique determination method suitable for large-scale sparse graph

    CN113902822A

  • Retransmission method based on immediate solvable network coding under imperfect feedback

    CN115967473A